[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
13-sector Disk ][ boot code won't boot
- Subject: 13-sector Disk ][ boot code won't boot
- From: "Chris Mosher" <chris@mosher.mine.nu>
- Date: Thu, 11 Oct 2007 04:09:14 GMT
- Newsgroups: comp.sys.apple2
- Organization: SBC http://yahoo.sbc.com
- Xref: g2news2.google.com comp.sys.apple2:4272
I found the old Disk ][ ROMs that are for booting the 13-sector DOS 3.2 and
DOS 3.1 disks on asimov
ftp://ftp.apple.asimov.net/pub/apple_II/unsorted/13-sector-disk-ii-roms.zip
and I thought I try using them to boot the DOS 3.1 nib image
(such as DOS 3.1 Master-fixed.d13.gz in the same unsorted directory).
Long story short... it wouldn't boot; it just printed ERR. I disassembled
the boot code and I
am confused by it. It find the address header D5 AA B5 and sector 0 just
fine, and it reads in the
encoded bytes, but the denibblizing routine doesn't seem to be doing the
right thing. Why?
I compared it to the denibblizing routine in DOS 3.1 image, and to the
BOOT13 program
(on the DOS 3.3 System Master), which both work fine, and this routine is
different.
Does anybody have any idea what is going on here?
Disassembly of the data-read and denibblizing routines follows:
C6A1- A0 9A LDY #$9A <-- read first 154 enc'd bytes
C6A3- 84 3C STY $3C
C6A5- BC 8C C0 LDY $C08C,X
C6A8- 10 FB BPL $C6A5
C6AA- 59 00 08 EOR $0800,Y
C6AD- A4 3C LDY $3C
C6AF- 88 DEY
C6B0- 99 00 08 STA $0800,Y
C6B3- D0 EE BNE $C6A3
C6B5- 84 3C STY $3C <--- read remaining 256 enc'd bytes
C6B7- BC 8C C0 LDY $C08C,X
C6BA- 10 FB BPL $C6B7
C6BC- 59 00 08 EOR $0800,Y
C6BF- A4 3C LDY $3C
C6C1- 91 26 STA ($26),Y <-- note 26-27 contains $0300
C6C3- C8 INY
C6C4- D0 EF BNE $C6B5
C6C6- BC 8C C0 LDY $C08C,X
C6C9- 10 FB BPL $C6C6
C6CB- 59 00 08 EOR $0800,Y
C6CE- D0 8D BNE $C65D
C6D0- 60 RTS (actually RTSs to next instr C6D1):
C6D1- A8 TAY <-- start of denib routine that doesn't work
C6D2- A2 00 LDX #$00
C6D4- B9 00 08 LDA $0800,Y
C6D7- 4A LSR
C6D8- 3E CC 03 ROL $03CC,X
C6DB- 4A LSR
C6DC- 3E 99 03 ROL $0399,X
C6DF- 85 3C STA $3C
C6E1- B1 26 LDA ($26),Y
C6E3- 0A ASL
C6E4- 0A ASL
C6E5- 0A ASL
C6E6- 05 3C ORA $3C
C6E8- 91 26 STA ($26),Y
C6EA- C8 INY
C6EB- E8 INX
C6EC- E0 33 CPX #$33
C6EE- D0 E4 BNE $C6D4
C6F0- C6 2A DEC $2A
C6F2- D0 DE BNE $C6D2
C6F4- CC 00 03 CPY $0300
C6F7- D0 03 BNE $C6FC
C6F9- 4C 01 03 JMP $0301
C6FC- 4C 2D FF JMP $FF2D <-- print ERR
Chris Mosher