Disk Drive CPUs

Started by nikoniko, January 27, 2007, 07:12 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

nikoniko

Having never delved much into disk drive details or programming, I'm rather ignorant about the low-level capabilities of the 1541/71/81s. My experience pretty much began and ended with burst mode programming, and I'm wondering if someone here could help me with some questions.

1) Is the 6502 used in the drives a standard 6502 or did Commodore use 6510s?
2) How much RAM is available in the 1571s and 81s? Is it 2K like the 1541?
3) Do the drives actually use their RAM or is it there entirely for user control?
4) Is there any way to expand the RAM?
5) How exactly does one get a program into drive RAM anyway?
6) Likewise, how does one read drive RAM and ROM?
7) Aside from fast loaders, bug fixes and copy programs, are there any other interesting uses people have found for the drive CPUs? Could one expand the RAM and use the drive as a RAM disk or co-processor?

Could've sworn I had a copy of 1571 Internals somewhere, but can't seem to find it now that I actually want to read it. :/

hydrophilic

1) The 1541 and 1571 use a real 6502 (I dunno about '81)
2) The 1571 has the same 2K RAM as 1541.  The 1581 has gobs of RAM :)
3) The '41 and '71 use all the RAM, become you can reserve some for yourself by opening a buffer channel:
OPEN 2,8,2,"#0" : REM reserve $300~$3FF; use #1, #2, #3 for $400, $500, $600
The other pages (0, 1, and 7) are pretty well monopolised by the DOS
4) Yes, or so I've heard... never did it myself
5) Use memory-write (M-W) command.  You can only transfer about 32 bytes at a time, so unless it is a really short program, you need to call it in a loop.  Another method is block-execute (B-E) that will load 1 sector into memory and execute.  Finally there is the special 'user command'.  This loads a special file into drive memory and execute it (that could be an entire topic!)
6) Use memory-read (M-R) command.
7) You've covered the typical.  I've heard of people using the drive as a coprocessor like you said but never tried it myself

I've got 1571 Internals in a closet.  Yours for the low, low price of US$200 + s/h :)
Seriously, you might find Inside Commodore DOS useful, although it does not cover 1571 or 1581.  Anatomy of the 1541 is another book which is on the net, but I can't find a link right now...

nikoniko

Thanks for all the great information and the link! I think I'll pass on the Internals book for now, but I appreciate the offer. :D

Did anyone publish a book that covers the 1581? I've looked around for 1581 programming information, but mainly I end up with Craig Bruce's burst library from C=Hacking Magazine. Oh, and I see Maurice Randall has some source for the 1581 disk driver from Wheels. Since he's not asking any money, guess I'll take a look. :)

RobertB

Quote from: nikoniko2) How much RAM is available in the 1571s and 81s? Is it 2K like the 1541?
In the 1571, it is 2K.
Quote from: nikoniko4) Is there any way to expand the RAM?
A RAMBoard will give a 1541 or 1571 an extra 6K for a total of 8K available.

Truly,
Robert Bernardo
Fresno Commodore User Group
http://videocam.net.au/fcug