$D156/53590:   Get byte and read next block

Jump from $C899, $C89E, $D400, $D45C, $DCA9:

D156: 20 37 D1  JSR $D137       ; get byte from buffer
D159: D0 36     BNE $D191       ; not last character?
D15B: 85 85     STA $85         ; save data byte
D15D: B9 44 02  LDA $0244,Y     ; end pointer
D160: F0 08     BEQ $D16A       ; yes
D162: A9 80     LDA #$80
D164: 99 F2 00  STA $F2,Y       ; READ-flag
D167: A5 85     LDA $85         ; data byte
D169: 60        RTS

Jump from $D160:

D16A: 20 1E CF  JSR $CF1E       ; change buffer and read next block
D16D: A9 00     LDA #$00
D16F: 20 C8 D4  JSR $D4C8       ; set buffer pointer to zero
D172: 20 37 D1  JSR $D137       ; get first byte from buffer
D175: C9 00     CMP #$00        ; track number zero
D177: F0 19     BEQ $D192       ; yes, then last block
D179: 85 80     STA $80         ; save last track number
D17B: 20 37 D1  JSR $D137       ; get next byte
D17E: 85 81     STA $81         ; save as following track
D180: 20 1E CF  JSR $CF1E       ; change buffer and read next block
D183: 20 D3 D1  JSR $D1D3       ; save drive number
D186: 20 D0 D6  JSR $D6D0       ; parameter to disk controller
D189: 20 C3 D0  JSR $D0C3       ; transmit read command
D18C: 20 1E CF  JSR $CF1E       ; change buffer and read block
D18F: A5 85     LDA $85         ; get data byte

Jump from $D159:

D191: 60        RTS

Jump from $D177:

D192: 20 37 D1  JSR $D137       ; get next byte from buffer
D195: A4 82     LDY $82
D197: 99 44 02  STA $0244,Y     ; save as end pointer
D19A: A5 85     LDA $85         ; get data byte back
D19C: 60        RTS

    Previous Page / Next Page