Tristan Mumford wrote:
sicklittlemonkey wrote:On Feb 20, 6:52 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:The slot ROM (256 bytes) clearly reads the disk to determine whether it is a 13-sector format or a 16-sector format, but the $C800 space deosn't appear to belong to the disk controller.In fact, it looks like it's the slot code that's bank switched via a store to $CX80. This should make it easier to dump. It detects the disk type, and then stores this code at $800: 800: LDA #$02 (#$03) ; bank number? 802: STA $CX80 ; select bank 805: LDA #$00 807: JMP $CX52 ($CX53) ; print "16 (13) SECTOR"? ... ;-) The values in parentheses are for 13 sector disks. Tristan, the slot ROM dump looks damaged. It isn't really all zeroes after offset EB is it? The code crashes as it is.I checked it in the monitor just now. it's all 00 after EB.
That's as it should be. The last thing that "bank 0" (the reset bank) does is switch to bank 1, with the PC at relative $EB, which is where bank 1 will continue execution. So it now appears that four banks (half of the 2716) are used: bank 0 = "reset" bank bank 1 = continuation of bank 0 code bank 2 = 16-sector boot ROM bank 3 = 13-sector boot ROM Since it appears that only two bits are latched for bank switching, that should do it. It would be fun to see bank 1, which can be dumped at $Csxx after a 1 is stored to $C0S0 (where S = slot + 8). -michael NadaNet networking for Apple II computers! Home page: http://members.aol.com/MJMahon/ "The wastebasket is our most important design tool--and it's seriously underused."