bird@cbnewsd.att.com (j.l.walters) (10/10/90)
I need the net's collective expertise/experience about a few questions. Question 1: I own an Apple //e (enhanced), RamWorks III (1 meg), Apple floppy drives (2), and a Laser UDC and 3.5 drive. I am about to get a second 3.5 drive. I have had no problems with my drive so I am considering getting another Laser 3.5, but I want to make sure I don't overlook any other options which may exist. The Applied Engineering 3.5 (with possible expansion to 1.44M) is an attractive possibility but I don't know whether it will work off the Laser UDC (or what one would use to initialize a disk to allow access to the added space). Similarly, the AMR 3.5 is a possibility, but can it work with the UDC? What degree of compatibility/interworkability is there between the three (Laser, AE, AMR) vendors' controller cards and 3.5 drives? A second question: Has anyone successfully disassembled the code on a controller card which has more than $100 bytes of code? The convention cards use to turn off other slot ROM space is to hit $CFFF, but I have yet to figure out a way to examine any ROM space on a card above $CsFF. Any help on this would be appreciated. I don't want to do anything to the code in the ROM space beyond understanding what it is doing. (This same curiosity drove me to disassemble ProDOS V1.6 thru V1.9 and Basic.System V1.2 thru V1.4.1.) Last question: My AppleWorks 3.0 will not format a 3.5 disk using the Laser UDC/3.5 combination. It just ejects the disk and mutters about the disk being write protected (even though it isn't). Are there any clues about what is happening or any patches to fix this annoying shortcoming? In the interest of brevity, I won't bore you with my outrage at Copy II+ V9.0's not being able to compare files on the same 3.5 disk, or even different disks with different volume names - what a pain! (This seems to be a function of version of 'util.system' - some will, some won't work.) (Matt D. @ Apple: I have a question about what looks like a bug in ProDOS (P8). If you can e-mail me an address of the form "name!name!..." I will correspond directly about this. No sense cluttering up the net with this. I am at "...!att!ihlpe!welsh".) Gary Welsh at AT&T Bell Labs in Naperville, Il (708) 713-7035 -- Joe Walters att!ihlpf!bird IH 2A-227 (708) 979-9527
ART100@psuvm.psu.edu (Andy Tefft) (10/11/90)
Re: Peripheral card expansion ROM space This is from my old ][+ ref manual: The 2k memory range from $c800 to $cfff is reserved for a 2k prom or rom on a peripheral card. ... A peripheral card's 256-byte PROM can access the expansion ROM space by referring to location $CFFF in its initialization subroutine. [This causes all peripheral cards to disable their expansion ROMs.] Of course, this will also disable the expansion ROM on the card which is trying to grab the ROM space, but the ROM will be enabled again when the microprocessor gets another instruction from the 256-byte driving prom. So, say you're looking at the card in slot 1. Look through $c100-$c1ff for an rts (hopefully there will be one). Assume there's one at $c143. Then just bit $cfff jmp $c143 and then you can disassemble from $c800-$cfff. If you can't find an rts, a break will work, or any other instruction that will cause a break and not a hang. I don't know which card's PROM will be enabled in that space if you hit reset.
toddpw@tybalt.caltech.edu (Todd P. Whitesel) (10/11/90)
To answer one of your questions: When the card's firmware tweaks $cfff, all cards turn off their C800-cfff space. Cards turn on their c800-cfff space whenever they are accessed in the range $CnXX -- normally this is the CPU reading the next instruction after the $cfff reference, but you can do it manually from the monitor. Notice that 80 columns uses the c800-cfff space so you will have to work in 40 with the 80 column firmware off (blinking checkerboard cursor, not solid square). Todd Whitesel toddpw @ tybalt.caltech.edu
flee@gnh-applesauce.cts.com (FRANK LEE) (10/13/90)
In reply to your second question: Say that the card is in slot s. Enter the monitor. Type Cs00<return> Then type C800L<return> It's that simple!! INET: flee@gnh-applesauce.cts.com UUCP: crash!pnet01!gnh-applesauce!flee ARPA: crash!pnet01!gnh-applesauce!flee@nosc.mil
flee@gnh-applesauce.cts.com (FRANK LEE) (10/16/90)
Even easier than that! Assume s is the slot with the expansion rom. Go into the Monitor (CALL-151 from AppleSoft) and type: CFFF<cr> Cs00<cr> C800LLLLLL<etc.><cr> And that's it!! No messy asm. The 6502 *doesn't* have to be executing the code on the expansion card for the expansin rom to be activated. All you have to do is get the addresses CFFF and Csxx on the 6502 address bus, in that order, for it to be toggled, and what more convenient way can you do that other than thru the Monitor? INET: flee@gnh-applesauce.cts.com UUCP: crash!pnet01!gnh-applesauce!flee ARPA: crash!pnet01!gnh-applesauce!flee@nosc.mil