[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Debugging an (unsuccessful) prodos boot



I'm in the midst of debugging a very hard problem.   Trying to
determine why Prodos is unwilling to start.  It relocates, then reads
the root volume.  No other MLI calls are made, and it spits out a
relocation error.  The filesystem is a large prodos volume with only a
few files in it; though it is most likely that the volume header block
was written incorrectly somehow.

The volume block is as follows:
00 00 00 00 e5 2e 4a 41 43 45 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 dc 00 01 19
19 00 03 27 0d 0b 00 06 00 ff ff 18 53 45 54 54
49 4e 47 53 00 00 00 00 00 00 00 06 00 00 01 00
10 00 00 b0 00 0a 13 19 00 ff 00 03 b0 00 0a 13
02 00 2e 53 59 53 55 54 49 4c 2e 53 59 53 54 45
4d 00 ff 01 00 01 00 0e 03 00 b0 00 09 25 19 00
ff 00 20 b0 00 09 25 02 00 24 55 54 49 4c 00 00
00 00 00 00 00 00 00 00 00 00 03 00 01 00 00 ab
00 b0 00 09 2c 19 00 ff 00 09 b0 00 09 2c 02 00
2c 42 41 53 49 43 2e 53 59 53 54 45 4d 00 00 00
ff 04 00 01 00 00 28 00 b7 00 10 30 19 00 ff 00
20 b7 00 10 30 02 00 2f 46 41 53 54 43 4f 50 59
2e 53 59 53 54 45 4d ff 05 00 01 00 56 4e 00 b8
01 0f 2a 19 00 ff 00 20 b8 01 0f 2a 02 00 2f 4c
41 55 4e 43 48 45 52 2e 53 59 53 54 45 4d ff 16
00 01 00 2c 1d 00 b8 00 0a 31 19 00 ff 00 20 b8
00 0a 31 02 00 26 55 54 49 4c 2e 31 00 00 00 00
00 00 00 00 00 06 17 00 01 00 b0 79 00 b0 00 0a
13 19 00 ff 00 0e b0 00 0a 13 02 00 24 55 54 49
4c 00 00 00 00 00 00 00 00 00 00 00 00 18 00 01
00 85 04 00 b0 00 09 2e 19 00 ff 00 04 b0 00 09
2e 02 00 25 43 4c 4f 43 4b 00 00 00 00 00 00 00
00 00 00 00 19 00 01 00 59 1e 00 ba 80 17 1f 19
00 ff 00 00 ba 80 17 1f 02 00 17 43 4f 50 59 2e
4d 45 00 00 00 00 00 00 00 00 fc 1a 00 01 00 24
00 00 ae 00 0e 33 19 00 ff 01 08 ae 00 0e 33 02
00 26 50 52 4f 44 4f 53 00 00 00 00 00 00 00 00
00 ff 1b 00 01 00 e8 42 00 ba 00 11 0a 19 00 ff
00 20 ba 00 11 0a 02 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

Here is the debug trace where the MLI service routine traps an error
-- this is some time after Block 2 (root volume) is read, but before
the error message display -- I think.
A  X  Y   S     STATS
2E 01 03 01F4 ..R..IZ.  e0d3 : BNE $e0da
2E 01 03 01F4 ..R..IZ.  e0d5 : INC $fec8
2E 01 03 01F4 ..R..I..  e0d8 : BNE $e0e6
2E 01 03 01F4 ..R..I..  e0e6 : CMP #$41
2E 01 03 01F4 N.R..I..  e0e8 : BCC $e0ee
2E 01 03 01F4 N.R..I..  e0ee : SEC
2E 01 03 01F4 N.R..I.C  e0ef : LDA #$40
40 01 03 01F4 ..R..I.C  e0f1 : RTS
40 01 03 01F6 ..R..I.C  e127 : BCC $e133
40 01 03 01F6 ..R..I.C  e129 : LDY $d700
40 01 FF 01F6 N.R..I.C  e12c : BNE $e17a
40 01 FF 01F6 N.R..I.C  e17a : SEC
40 01 FF 01F6 N.R..I.C  e17b : RTS
40 01 FF 01F8 N.R..I.C  e077 : BCC $e07c
40 01 FF 01F8 N.R..I.C  e079 : JSR $bf09
40 01 FF 01F6 N.R..I.C  bf09 : JMP $e004
40 01 FF 01F6 N.R..I.C  e004 : STA $bf0f
40 01 FF 01F6 N.R..I.C  e007 : PLX
40 7B FF 01F7 ..R..I.C  e008 : PLX
40 E0 FF 01F8 N.R..I.C  e009 : SEC
40 E0 FF 01F8 N.R..I.C  e00a : RTS
40 E0 FF 01FA N.R..I.C  de7f : STZ $bf95
40 E0 FF 01FA N.R..I.C  de82 : LDY $bf0f
40 E0 40 01FA ..R..I.C  de85 : CPY #$01
40 E0 40 01FA ..R..I.C  de87 : TYA
40 E0 40 01FA ..R..I.C  de88 : PHP
40 E0 40 01F9 ..R..I.C  de89 : SEI
40 E0 40 01F9 ..R..I.C  de8a : LSR $bf9b
40 E0 40 01F9 ..R..I..  de8d : PLX
40 25 40 01FA ..R..I..  de8e : LDA $bf9d
22 25 40 01FA ..R..I..  de91 : PHA
22 25 40 01F9 ..R..I..  de92 : LDA $bf9c
85 25 40 01F9 N.R..I..  de95 : PHA
85 25 40 01F8 N.R..I..  de96 : PHX
85 25 40 01F7 N.R..I..  de97 : TYA
40 25 40 01F7 ..R..I..  de98 : LDX $bf9e
40 C3 40 01F7 N.R..I..  de9b : LDY $bf9f
40 C3 FA 01F7 N.R..I..  de9e : PHA
40 C3 FA 01F6 N.R..I..  de9f : LDA $bff4
BF C3 FA 01F6 N.R..I..  dea2 : JMP $bfa0
BF C3 FA 01F6 N.R..I..  bfa0 : EOR $e000
00 C3 FA 01F6 ..R..IZ.  bfa3 : BEQ $bfaa
00 C3 FA 01F6 ..R..IZ.  bfaa : LDA $bff5
D8 C3 FA 01F6 N.R..I..  bfad : EOR $d000
00 C3 FA 01F6 ..R..IZ.  bfb0 : BEQ $bfb5
00 C3 FA 01F6 ..R..IZ.  bfb5 : PLA
40 C3 FA 01F7 ..R..I..  bfb6 : RTI
40 C3 FA 01FA ..R..I.C  2285 : BCS $22ba
40 C3 FA 01FA ..R..I.C  22ba : STA $c082
40 C3 FA 01FA ..R..I.C  22bd : JSR $fc58
40 C3 FA 01F8 ..R..I.C  fc58 : LDY #$05
40 C3 05 01F8 ..R..I.C  fc5a : JMP $fbb4
40 C3 05 01F8 ..R..I.C  fbb4 : BIT $c015
40 C3 05 01F8 ..R..IZC  fbb7 : PHP
40 C3 05 01F7 ..R..IZC  fbb8 : STA $c007
40 C3 05 01F7 ..R..IZC  fbbb : JMP $c100

Any advice or pointers to something I've obviously done wrong are
greatly appreciated.

-B