User`s guide
Page 17
www.commodorefree.com
B*
PC SR AC XR YR SP
.;803E 32 00 83 00 F6
.
Now we will use the .D (disassemble) command to view the
RAM starting at $C000 (49152).
.D C000
., C000 A9 00 LDA #$00
Notice that RAM location $C000 (49152) to $C001 holds the
values ‘A9' and ‘00'? LDA #$00 means to Load the Accumulator
with the value 0 (zero), and it took two bytes of RAM to do it.
Use the cursor down to scroll to the next memory address.
The next RAM address is C002. Notice that there is something
stored here too. This will continue to be the case for a while.
Hold down the cursor down key until you get a bunch of lines
with 00 and BRK in them.
The last line I get is for RAM location $C647 (50759) and takes
up three bytes to $C649 (50761). I know this because the next
line displayed is C64A.
WHAM-O!! There it is! It is safe to assume that the EDITOR64
program ends at $C64A (50762). Since we placed a bunch of
zeroes in this area of RAM, loading the EDITOR64 program
changes the values in a certain segment. By checking to see
what has changed, we find out how much RAM has been
“disturbed”. So we can place our next program into the RAM
location starting at $C64B (50763).
Remember, always make sure that you count a BRK at the end.
This tells the computer that this is where the program ends (so
don’t overwrite it!). The BRK statement in Assembly/Machine
language is equivalent to the END statement in BASIC.
There ya go! Happy programming!
Rediscovering Commodore CP/M
by: Commodoreman ©
PART 2
Welcome to Part 2 – Rediscovering Commodore CP/M.
In this article I am dividing this into two sections: SETUP and
FIRING UP COMMODORE CP/M MODE.
Since I cannot guess what anyone else reading this article has
access to, I will try to use more than one type of system
configuration. However, I will start with what I have listed
below, and later use different combinations and hopefully
most readers will be able to follow along. I’ve also decided to
do more of a journal type entry and writing things down as I go.
Things could get a little messy without an “organized”
approach, but hopefully somebody out there can glean
something useful.
Section 1: SETUP
I have assembled the following:
System configuration:
128D
1701 Monitor (40 column mode)
Drive 8: Built-in 1571
Drive 9: 1541
Drive 10: 1581
Other available and resources:
1902 Monitor (80 column mode)
Another 1571 drive
1750 REU
Commodore CP/M 3.0 System Boot Disk
Program disk: the genealogy program mentioned
Misc. CP/M formatted disks I had stored and other blank disks.
Commodore 128D System Guide
Commodore 128 Programmer’s Reference Guide
Digital Research book (The one I bought from a former club
member)
The Internet
I will start with the initial setup and then use any of the other
items listed as the need arises. I have noticed that there are
some internet sites that have programs, but I have not as of
yet tried any of them. That might be a good start too. I have a
feeling that the internet will play an important role here as
well. Also, somewhere in my collection I have some
miscellaneous Z80 programming books – might be useful after
I run through the basics.
Firing up CP/M Mode
CP/M 3 is the version available to the Commodore 128. The
Commodore 64 did have a cartridge with version 2.2, but from
what I understand, it was not as functional. I'll stick with
version 3 on the 128 (yeah, somewhere I do have a cartridge
for the 64 – wonder where it is...). I will have to be sure any
programs I have now or in the future will be for version 3.
I inserted the System Disk into the drive and I fired up the 'ol
128. Here's what I got...