$F423/62499:   Job optimisation

Jump from $F404:

F423: A9 7F     LDA #$7F
F425: 85 4C     STA $4C
F427: A5 19     LDA $19
F429: 18        CLC
F42A: 69 02     ADC #$02
F42C: C5 43     CMP $43
F42E: 90 02     BCC $F432
F430: E5 43     SBC $43

Jump from $F42E:

F432: 85 4D     STA $4D
F434: A2 05     LDX #$05
F436: 86 3F     STX $3F
F438: A2 FF     LDX #$FF

Jump from $F485:

F43A: 20 93 F3  JSR $F393       ; set buffer pointer for disk controller
F43D: 10 44     BPL $F483
F43F: 85 44     STA $44
F441: 29 01     AND #$01
F443: C5 3E     CMP $3E
F445: D0 3C     BNE $F483
F447: A0 00     LDY #$00
F449: B1 32     LDA ($32),Y
F44B: C5 40     CMP $40
F44D: D0 34     BNE $F483
F44F: A5 45     LDA $45         ; command code
F451: C9 60     CMP #$60
F453: F0 0C     BEQ $F461
F455: A0 01     LDY #$01
F457: 38        SEC
F458: B1 32     LDA ($32),Y
F45A: E5 4D     SBC $4D
F45C: 10 03     BPL $F461
F45E: 18        CLC
F45F: 65 43     ADC $43

Jump from $F453, $F45C:

F461: C5 4C     CMP $4C
F463: B0 1E     BCS $F483
F465: 48        PHA
F466: A5 45     LDA $45
F468: F0 14     BEQ $F47E
F46A: 68        PLA
F46B: C9 09     CMP #$09
F46D: 90 14     BCC $F483
F46F: C9 0C     CMP #$0C
F471: B0 10     BCS $F483

Jump from $F481:

F473: 85 4C     STA $4C
F475: A5 3F     LDA $3F
F477: AA        TAX
F478: 69 03     ADC #$03
F47A: 85 31     STA $31
F47C: D0 05     BNE $F483

Jump from $F468:

F47E: 68        PLA
F47F: C9 06     CMP #$06
F481: 90 F0     BCC $F473

Jump from $F43D, $F445, $F44D, $F463, $F46D, $F471, $F47C:

F483: C6 3F     DEC $3F
F485: 10 B3     BPL $F43A
F487: 8A        TXA
F488: 10 03     BPL $F48D
F48A: 4C 9C F9  JMP $F99C       ; to job loop

Jump from $F488:

F48D: 86 3F     STX $3F
F48F: 20 93 F3  JSR $F393       ; get buffer number
F492: A5 45     LDA $45         ; command code
F494: 4C CA F4  JMP $F4CA       ; continue checking

Jump from $F3D5:

F497: A5 30     LDA $30
F499: 48        PHA             ; save pointer $30/$31
F49A: A5 31     LDA $31
F49C: 48        PHA
F49D: A9 24     LDA #$24
F49F: 85 30     STA $30
F4A1: A9 00     LDA #$00        ; pointer $30/$31 to $24
F4A3: 85 31     STA $31
F4A5: A9 00     LDA #$00
F4A7: 85 34     STA $34
F4A9: 20 E6 F7  JSR $F7E6
F4AC: A5 55     LDA $55
F4AE: 85 18     STA $18
F4B0: A5 54     LDA $54
F4B2: 85 19     STA $19
F4B4: A5 53     LDA $53
F4B6: 85 1A     STA $1A
F4B8: 20 E6 F7  JSR $F7E6
F4BB: A5 52     LDA $52
F4BD: 85 17     STA $17
F4BF: A5 53     LDA $53
F4C1: 85 16     STA $16
F4C3: 68        PLA
F4C4: 85 31     STA $31
F4C6: 68        PLA             ; get pointer $30/$31 back
F4C7: 85 30     STA $30
F4C9: 60        RTS

    Previous Page / Next Page