$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