.setcpu "6502" .include "apple2.inc" .include "../inc/apple2.inc" .include "../inc/auxmem.inc" .include "../inc/prodos.inc" .include "../mgtk.inc" .include "../desktop.inc" .include "../macros.inc" ;;; ================================================== ;;; Overlay for Common Routines (Selector, File Copy/Delete) ;;; ================================================== .org $5000 dummy1234 := $1234 jmp L50B1 .byte $02 L5004: .byte $00,$17,$50,$03,$28,$50,$00,$10 L500C: .byte $00,$04 L500E: .byte $00,$00,$14,$00,$02,$00,$00,$01 L5016: .byte $00 L5017: .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 L5027: .byte $00 L5028: .byte $00 L5029: .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00,$00 .byte $00,$00,$00,$00,$00,$00,$00 L50A8: .byte $00 L50A9: .byte $00 L50AA: .byte $00 L50AB: .byte $00 L50AC: .byte $70,$00,$70,$00,$70 L50B1: sty L5102 stx L5101 tsx stx L50AA pha lda #$00 sta L5027 sta L50A8 sta $D8EB sta $D8EC sta $D8F0 sta $D8F1 sta $D8F2 sta L5606 sta L5104 sta L5103 sta L5105 lda #$14 sta $D8E9 lda #$FF sta $D920 pla asl a tax lda L50AB,x sta L50FF lda L50AC,x sta L5100 ldy L5102 ldx L5101 L50FF := * + 1 L5100 := * + 2 jmp dummy1234 L5101: brk L5102: brk L5103: brk L5104: brk L5105: brk L5106: bit $D8EC bpl L5118 dec $D8E9 bne L5118 jsr L6D24 lda #$14 sta $D8E9 L5118: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$01 bne L512E jsr L51AF jmp L5106 L512E: cmp #$03 bne L5135 jsr L59B9 L5135: ldy #$40 lda #$09 ldx #$D2 jsr MGTK_RELAY lda $D20D bne L5146 jmp L5106 L5146: lda $D20E cmp $D5B7 beq L5151 jmp L5106 L5151: lda $D5B7 jsr L62C8 lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY bit L51AE bmi L5183 ldy #$13 lda #$9E ldx #$DA jsr MGTK_RELAY cmp #$80 bne L5196 beq L5190 L5183: ldy #$13 lda #$AA ldx #$DA jsr MGTK_RELAY cmp #$80 bne L5196 L5190: jsr L55E0 jmp L5199 L5196: jsr L55BA L5199: ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY jmp L5106 L51AE: brk L51AF: ldy #$40 lda #$09 ldx #$D2 jsr MGTK_RELAY lda $D20D bne L51BE rts L51BE: cmp #$02 bne L51C6 jmp L51C7 rts L51C6: rts L51C7: lda $D20E cmp $D5B7 beq L51D2 jmp L531F L51D2: lda $D5B7 jsr L62C8 lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$E0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L5200 jmp L5239 L5200: bit L5105 bmi L520A lda $D920 bpl L520D L520A: jmp L5308 L520D: tax lda $1780,x bmi L5216 L5213: jmp L5308 L5216: lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY jsr L5888 bmi L5213 jsr L5607 jmp L5308 L5239: ldy #$13 lda #$F0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L5249 jmp L526B L5249: bit L5105 bmi L5268 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$F0 ldx #$D9 jsr MGTK_RELAY jsr L590E bmi L5268 jsr L565C L5268: jmp L5308 L526B: ldy #$13 lda #$D0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L527B jmp L529D L527B: bit L5105 bmi L529A ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D0 ldx #$D9 jsr MGTK_RELAY jsr L577C bmi L529A jsr L567F L529A: jmp L5308 L529D: ldy #$13 lda #$D8 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L52AD jmp L52CD L52AD: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY jsr L56F6 bmi L52CA jsr L6D42 jsr L6D1E L52CA: jmp L5308 L52CD: ldy #$13 lda #$E8 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L52DD jmp L52FA L52DD: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E8 ldx #$D9 jsr MGTK_RELAY jsr L5802 bmi L52F7 jsr L6D21 L52F7: jmp L5308 L52FA: bit L5103 bpl L5304 jsr L531B bmi L5308 L5304: jsr L6D45 rts L5308: ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$15 ldx #$D2 jsr MGTK_RELAY rts L531B: jsr L59B8 rts L531F: bit L5105 bmi L5340 ldy #$48 lda #$09 ldx #$D2 jsr MGTK_RELAY lda $D20D beq L5341 cmp #$01 bne L5340 lda $D5F6 and #$01 beq L5340 jmp L5469 L5340: rts L5341: lda $D5F1 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D20F clc adc $D60F sta $D20F lda $D210 adc $D610 sta $D210 lsr $D210 ror $D20F lsr $D210 ror $D20F lsr $D210 ror $D20F lda $D920 cmp $D20F beq L5380 jmp L542F L5380: jsr L5C4F beq L5386 rts L5386: ldx $D920 lda $1780,x bmi L53B5 lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY jsr L6D1E jmp L5340 L53B5: and #$7F pha lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY lda #$00 sta L542E lda #$00 sta $08 lda #$18 sta $09 pla asl a rol L542E asl a rol L542E asl a rol L542E asl a rol L542E clc adc $08 sta $08 lda L542E adc $09 sta $09 ldx $09 lda $08 jsr L5F0D jsr L5F5B jsr L6161 lda #$00 jsr L6227 jsr L61B1 jsr L606D ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$15 ldx #$D2 jsr MGTK_RELAY rts L542E: brk L542F: lda $D20F cmp $177F bcc L5438 rts L5438: lda $D920 bmi L5446 jsr L6D2A lda $D920 jsr L6274 L5446: lda $D20F sta $D920 bit $D8F0 bpl L5457 jsr L6D30 jsr L6D27 L5457: lda $D920 jsr L6274 jsr L6D2D jsr L5C4F bmi L5468 jmp L5386 L5468: rts L5469: lda $D20E cmp #$01 bne L5473 jmp L550A L5473: cmp #$02 bne L547A jmp L5533 L547A: cmp #$03 bne L5481 jmp L54BA L5481: cmp #$04 bne L5488 jmp L54DF L5488: lda #$01 sta $D208 ldy #$4A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D20E bne L549C rts L549C: lda $D20D sta $D209 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D20D jsr L6227 jsr L606D rts L54BA: lda $D5FA sec sbc #$09 bpl L54C4 lda #$00 L54C4: sta $D209 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D209 jsr L6227 jsr L606D rts L54DF: lda $D5FA clc adc #$09 cmp $177F beq L54EF bcc L54EF lda $177F L54EF: sta $D209 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D209 jsr L6227 jsr L606D rts L550A: lda $D5FA bne L5510 rts L5510: sec sbc #$01 sta $D209 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D209 jsr L6227 jsr L606D jsr L555F jmp L550A L5533: lda $D5FA cmp $D5F9 bne L553C rts L553C: clc adc #$01 sta $D209 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D209 jsr L6227 jsr L606D jsr L555F jmp L5533 L555F: ldy #$2C lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$01 beq L5576 cmp #$04 beq L5576 pla pla rts L5576: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$40 lda #$09 ldx #$D2 jsr MGTK_RELAY lda $D20E cmp $D5F1 beq L5593 pla pla rts L5593: lda $D20D cmp #$02 beq L559D pla pla rts L559D: ldy #$48 lda #$09 ldx #$D2 jsr MGTK_RELAY lda $D20D cmp #$01 beq L55B0 pla pla rts L55B0: lda $D20E cmp #$03 bcc L55B9 pla pla L55B9: rts L55BA: bit L5606 bpl L55DF ldy #$26 lda #$00 ldx #$00 jsr MGTK_RELAY ldy #$24 lda #$AD ldx #$D2 jsr MGTK_RELAY ldy #$25 lda #$00 ldx #$00 jsr MGTK_RELAY lda #$00 sta L5606 L55DF: rts L55E0: bit L5606 bmi L5605 ldy #$26 lda #$00 ldx #$00 jsr MGTK_RELAY ldy #$24 lda #$DF ldx #$D2 jsr MGTK_RELAY ldy #$25 lda #$00 ldx #$00 jsr MGTK_RELAY lda #$80 sta L5606 L5605: rts L5606: brk L5607: ldx $D920 lda $1780,x and #$7F pha bit $D8F0 bpl L5618 jsr L6D30 L5618: lda #$00 sta L565B lda #$00 sta $08 lda #$18 sta $09 pla asl a rol L565B asl a rol L565B asl a rol L565B asl a rol L565B clc adc $08 sta $08 lda L565B adc $09 sta $09 ldx $09 lda $08 jsr L5F0D jsr L5F5B jsr L6161 lda #$00 jsr L6227 jsr L61B1 jsr L606D rts L565B: brk L565C: lda #$FF sta $D920 jsr L5EB8 jsr L5E87 jsr L5F5B jsr L6161 lda #$00 jsr L6227 jsr L61B1 jsr L606D jsr L6D30 jsr L6D27 rts L567F: lda #$00 sta L56E2 ldx L5028 bne L568C jmp L56E1 L568C: lda L5028,x and #$7F cmp #$2F beq L569B dex bpl L568C jmp L56E1 L569B: cpx #$01 bne L56A2 jmp L56E1 L56A2: jsr L5F49 lda $D920 pha lda #$FF sta $D920 jsr L5F5B jsr L6161 lda #$00 jsr L6227 jsr L61B1 jsr L606D pla sta $D920 bit L56E2 bmi L56D6 jsr L6D2A lda $D920 bmi L56DC jsr L6D2A jmp L56DC L56D6: jsr L6D30 jsr L6D27 L56DC: lda #$FF sta $D920 L56E1: rts L56E2: brk L56E3: ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY rts L56F6: lda #$00 sta L577B L56FB: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$02 beq L575E lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$D8 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L5738 lda L577B beq L5740 jmp L56FB L5738: lda L577B bne L5740 jmp L56FB L5740: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY lda L577B clc adc #$80 sta L577B jmp L56FB L575E: lda L577B beq L5766 lda #$FF rts L5766: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY lda #$00 rts L577B: brk L577C: lda #$00 sta L5801 L5781: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$02 beq L57E4 lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$D0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L57BE lda L5801 beq L57C6 jmp L5781 L57BE: lda L5801 bne L57C6 jmp L5781 L57C6: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D0 ldx #$D9 jsr MGTK_RELAY lda L5801 clc adc #$80 sta L5801 jmp L5781 L57E4: lda L5801 beq L57EC lda #$FF rts L57EC: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D0 ldx #$D9 jsr MGTK_RELAY lda #$00 rts L5801: brk L5802: lda #$00 sta L5887 L5807: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$02 beq L586A lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$E8 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L5844 lda L5887 beq L584C jmp L5807 L5844: lda L5887 bne L584C jmp L5807 L584C: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E8 ldx #$D9 jsr MGTK_RELAY lda L5887 clc adc #$80 sta L5887 jmp L5807 L586A: lda L5887 beq L5872 lda #$FF rts L5872: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E8 ldx #$D9 jsr MGTK_RELAY lda #$01 rts L5887: brk L5888: lda #$00 sta L590D L588D: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$02 beq L58F0 lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$E0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L58CA lda L590D beq L58D2 jmp L588D L58CA: lda L590D bne L58D2 jmp L588D L58D2: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY lda L590D clc adc #$80 sta L590D jmp L588D L58F0: lda L590D beq L58F8 lda #$FF rts L58F8: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY lda #$00 rts L590D: brk L590E: lda #$00 sta L5993 L5913: ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D208 cmp #$02 beq L5976 lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$F0 ldx #$D9 jsr MGTK_RELAY cmp #$80 beq L5950 lda L5993 beq L5958 jmp L5913 L5950: lda L5993 bne L5958 jmp L5913 L5958: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$F0 ldx #$D9 jsr MGTK_RELAY lda L5993 clc adc #$80 sta L5993 jmp L5913 L5976: lda L5993 beq L597E lda #$FF rts L597E: ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$F0 ldx #$D9 jsr MGTK_RELAY lda #$01 rts L5993: brk L5994: sty L59A8 sta L59A9 stx L59AA php sei sta ALTZPOFF lda ROMIN2 jsr MLI L59A8: brk L59A9: brk L59AA: brk sta ALTZPON tax lda LCBANK1 lda LCBANK1 plp txa rts L59B8: rts L59B9: lda $D20A beq L59F7 lda $D209 and #$7F cmp #$08 bne L59CA jmp L6D3F L59CA: cmp #$15 bne L59D1 jmp L6D42 L59D1: bit L5105 bmi L59E4 cmp #$0A bne L59DD jmp L5C0E L59DD: cmp #$0B bne L59E4 jmp L5BF6 L59E4: cmp #$30 bcc L59EF cmp #$3A bcs L59EF jmp L5B23 L59EF: bit L5105 bmi L5A4F jmp L5B70 L59F7: lda $D209 and #$7F cmp #$08 bne L5A03 jmp L6D39 L5A03: cmp #$15 bne L5A0A jmp L6D3C L5A0A: cmp #$0D bne L5A11 jmp L5ACC L5A11: cmp #$1B bne L5A18 jmp L5AF7 L5A18: cmp #$7F bne L5A1F jmp L5B1F L5A1F: bit L5105 bpl L5A27 jmp L5AC4 L5A27: cmp #$09 bne L5A52 lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$F0 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$F0 ldx #$D9 jsr MGTK_RELAY jsr L565C L5A4F: jmp L5AC8 L5A52: cmp #$0F bne L5A8B lda $D920 bmi L5AC8 tax lda $1780,x bmi L5A64 jmp L5AC8 L5A64: lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$E0 ldx #$D9 jsr MGTK_RELAY jsr L5607 jmp L5AC8 L5A8B: cmp #$03 bne L5AB6 lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D0 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$D0 ldx #$D9 jsr MGTK_RELAY jsr L567F jmp L5AC8 L5AB6: cmp #$0A bne L5ABD jmp L5B26 L5ABD: cmp #$0B bne L5AC4 jmp L5B4C L5AC4: jsr L6D33 rts L5AC8: jsr L56E3 rts L5ACC: lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$D8 ldx #$D9 jsr MGTK_RELAY jsr L6D42 jsr L6D1E jsr L56E3 rts L5AF7: lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$E8 ldx #$D9 jsr MGTK_RELAY ldy #$11 lda #$E8 ldx #$D9 jsr MGTK_RELAY jsr L6D21 jsr L56E3 rts L5B1F: jsr L6D36 rts L5B23: jmp L59B8 L5B26: lda $177F beq L5B37 lda $D920 bmi L5B47 tax inx cpx $177F bcc L5B38 L5B37: rts L5B38: jsr L6274 jsr L6D2A inc $D920 lda $D920 jmp L5C2F L5B47: lda #$00 jmp L5C2F L5B4C: lda $177F beq L5B58 lda $D920 bmi L5B68 bne L5B59 L5B58: rts L5B59: jsr L6274 jsr L6D2A dec $D920 lda $D920 jmp L5C2F L5B68: ldx $177F dex txa jmp L5C2F L5B70: cmp #$41 bcs L5B75 L5B74: rts L5B75: cmp #$5B bcc L5B83 cmp #$61 bcc L5B74 cmp #$7B bcs L5B74 and #$5F L5B83: jsr L5B9D bmi L5B74 cmp $D920 beq L5B74 pha lda $D920 bmi L5B99 jsr L6274 jsr L6D2A L5B99: pla jmp L5C2F L5B9D: sta L5BF5 lda #$00 sta L5BF3 L5BA5: lda L5BF3 cmp $177F beq L5BC4 jsr L5BCB ldy #$01 lda ($06),y cmp L5BF5 bcc L5BBE beq L5BC7 jmp L5BC4 L5BBE: inc L5BF3 jmp L5BA5 L5BC4: lda #$FF rts L5BC7: lda L5BF3 rts L5BCB: tax lda $1780,x and #$7F ldx #$00 stx L5BF4 asl a rol L5BF4 asl a rol L5BF4 asl a rol L5BF4 asl a rol L5BF4 clc adc #$00 sta $06 lda L5BF4 adc #$18 sta $07 rts L5BF3: brk L5BF4: brk L5BF5: brk L5BF6: lda $177F beq L5C02 lda $D920 bmi L5C09 bne L5C03 L5C02: rts L5C03: jsr L6274 jsr L6D2A L5C09: lda #$00 jmp L5C2F L5C0E: lda $177F beq L5C1E ldx $D920 bmi L5C27 inx cpx $177F bne L5C1F L5C1E: rts L5C1F: dex txa jsr L6274 jsr L6D2A L5C27: ldx $177F dex txa jmp L5C2F L5C2F: sta $D920 jsr L6D2D lda $D920 jsr L6586 jsr L6163 jsr L606D lda #$01 sta $D484 lda #$20 sta $D485 jsr L6D27 rts L5C4F: ldx #$03 L5C51: lda $D209,x sta L5CF0,x dex bpl L5C51 lda $D2AB sta L5CEF L5C60: dec L5CEF beq L5CA6 ldy #$2C lda #$08 ldx #$D2 jsr MGTK_RELAY jsr L5CA9 bmi L5CA6 lda #$FF sta L5CF6 lda $D208 sta L5CF5 cmp #$00 beq L5C60 cmp #$04 beq L5C60 cmp #$02 bne L5C96 ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY jmp L5C60 L5C96: cmp #$01 bne L5CA6 ldy #$2A lda #$08 ldx #$D2 jsr MGTK_RELAY lda #$00 rts L5CA6: lda #$FF rts L5CA9: lda $D209 sec sbc L5CF0 sta L5CF4 lda $D20A sbc L5CF1 bpl L5CC5 lda L5CF4 cmp #$FB bcs L5CCC L5CC2: lda #$FF rts L5CC5: lda L5CF4 cmp #$05 bcs L5CC2 L5CCC: lda $D20B sec sbc L5CF2 sta L5CF4 lda $D20C sbc L5CF3 bpl L5CE5 lda L5CF4 cmp #$FC bcs L5CEC L5CE5: lda L5CF4 cmp #$04 bcs L5CC2 L5CEC: lda #$00 rts L5CEF: brk L5CF0: brk L5CF1: brk L5CF2: brk L5CF3: brk L5CF4: brk L5CF5: brk L5CF6: brk ldy #$38 lda #$B7 ldx #$D5 jsr MGTK_RELAY ldy #$38 lda #$F1 ldx #$D5 jsr MGTK_RELAY lda $D5B7 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$12 lda #$C0 ldx #$D9 jsr MGTK_RELAY ldy #$12 lda #$D8 ldx #$D9 jsr MGTK_RELAY ldy #$12 lda #$E0 ldx #$D9 jsr MGTK_RELAY ldy #$12 lda #$D0 ldx #$D9 jsr MGTK_RELAY ldy #$12 lda #$E8 ldx #$D9 jsr MGTK_RELAY ldy #$12 lda #$F0 ldx #$D9 jsr MGTK_RELAY jsr L5D82 jsr L5D93 jsr L5DA4 jsr L5DB5 jsr L5DC6 ldy #$0E lda #$F8 ldx #$D9 jsr MGTK_RELAY ldy #$10 lda #$FC ldx #$D9 jsr MGTK_RELAY ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY rts L5D82: ldy #$0E lda #$03 ldx #$DA jsr MGTK_RELAY lda #$07 ldx #$DA jsr L5DED rts L5D93: ldy #$0E lda #$21 ldx #$DA jsr MGTK_RELAY lda #$25 ldx #$DA jsr L5DED rts L5DA4: ldy #$0E lda #$17 ldx #$DA jsr MGTK_RELAY lda #$1B ldx #$DA jsr L5DED rts L5DB5: ldy #$0E lda #$2A ldx #$DA jsr MGTK_RELAY lda #$2E ldx #$DA jsr L5DED rts L5DC6: ldy #$0E lda #$40 ldx #$DA jsr MGTK_RELAY lda #$44 ldx #$DA jsr L5DED rts L5DD7: sta $06 stx $07 ldy #$00 lda ($06),y tay L5DE0: lda ($06),y sta $D380,y dey bpl L5DE0 lda #$80 ldx #$D3 rts L5DED: jsr L5DD7 sta $06 stx $07 ldy #$00 lda ($06),y sta $08 inc $06 bne L5E00 inc $07 L5E00: ldy #$19 lda #$06 ldx #$00 jsr MGTK_RELAY rts jsr L5DD7 sta $06 stx $07 ldy #$00 lda ($06),y sta $08 inc $06 bne L5E1D inc $07 L5E1D: ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY lsr $0A ror $09 lda #$01 sta L5E56 lda #$F4 lsr L5E56 ror a sec sbc $09 sta $D90B lda L5E56 sbc $0A sta $D90C ldy #$0E lda #$0B ldx #$D9 jsr MGTK_RELAY ldy #$19 lda #$06 ldx #$00 jsr MGTK_RELAY rts L5E56: brk jsr L5DD7 sta $06 stx $07 ldy #$0E lda #$55 ldx #$DA jsr MGTK_RELAY lda $06 ldx $07 jsr L5DED rts jsr L5DD7 sta $06 stx $07 ldy #$0E lda #$59 ldx #$DA jsr MGTK_RELAY lda $06 ldx $07 jsr L5DED rts L5E87: ldx L5027 lda $BF32,x and #$F0 sta L5004 ldy #$C5 lda #$03 ldx #$50 jsr L5994 lda L5017 and #$0F sta L5017 bne L5EAB jsr L5EB8 jmp L5E87 L5EAB: lda #$00 sta L5028 lda #$17 ldx #$50 jsr L5F0D rts L5EB8: inc L5027 lda L5027 cmp $BF31 beq L5ECA bcc L5ECA lda #$00 sta L5027 L5ECA: rts L5ECB: lda #$00 sta L5F0C L5ED0: ldy #$C8 lda #$07 ldx #$50 jsr L5994 beq L5EE9 jsr L5E87 lda #$FF sta $D920 sta L5F0C jmp L5ED0 L5EE9: lda L500C sta L500E sta L5016 ldy #$CA lda #$0D ldx #$50 jsr L5994 beq L5F0B jsr L5E87 lda #$FF sta $D920 sta L5F0C jmp L5ED0 L5F0B: rts L5F0C: brk L5F0D: jsr L5DD7 sta $06 stx $07 ldx L5028 lda #$2F sta L5029,x inc L5028 ldy #$00 lda ($06),y tay clc adc L5028 cmp #$41 bcc L5F2F lda #$FF rts L5F2F: pha tax L5F31: lda ($06),y sta L5028,x dey dex cpx L5028 bne L5F31 pla sta L5028 lda #$FF sta $D920 lda #$00 rts L5F49: ldx L5028 cpx #$00 beq L5F5A dec L5028 lda L5028,x cmp #$2F bne L5F49 L5F5A: rts L5F5B: jsr L5ECB lda #$00 sta L6067 sta L6068 sta L50A9 lda #$01 sta L6069 lda $1423 sta L606A lda $1424 sta L606B lda $1425 and #$7F sta $177F bne L5F87 jmp L6012 L5F87: lda #$2B sta $06 lda #$14 sta $07 L5F8F: ldy #$00 lda ($06),y and #$0F bne L5F9A jmp L6007 L5F9A: ldx L6067 txa sta $1780,x ldy #$00 lda ($06),y and #$F0 cmp #$D0 beq L5FB6 bit L50A8 bpl L5FC1 inc L6068 jmp L6007 L5FB6: lda $1780,x ora #$80 sta $1780,x inc L50A9 L5FC1: ldy #$00 lda ($06),y and #$0F sta ($06),y lda #$00 sta $08 lda #$18 sta $09 lda #$00 sta L606C lda L6067 asl a rol L606C asl a rol L606C asl a rol L606C asl a rol L606C clc adc $08 sta $08 lda L606C adc $09 sta $09 ldy #$00 lda ($06),y tay L5FFA: lda ($06),y sta ($08),y dey bpl L5FFA inc L6067 inc L6068 L6007: inc L6069 lda L6068 cmp $177F bne L6035 L6012: ldy #$CC lda #$15 ldx #$50 jsr L5994 bit L50A8 bpl L6026 lda L50A9 sta $177F L6026: jsr L62DE jsr L64E2 lda L5F0C bpl L6033 sec rts L6033: clc rts L6035: lda L6069 cmp L606B beq L604E lda $06 clc adc L606A sta $06 lda $07 adc #$00 sta $07 jmp L5F8F L604E: ldy #$CA lda #$0D ldx #$50 jsr L5994 lda #$04 sta $06 lda #$14 sta $07 lda #$00 sta L6069 jmp L5F8F L6067: brk L6068: brk L6069: brk L606A: brk L606B: brk L606C: brk L606D: lda $D5F1 jsr L62C8 ldy #$11 lda #$0D ldx #$D6 jsr MGTK_RELAY lda #$10 sta $D917 lda #$08 sta $D919 lda #$00 sta $D91A sta L6128 L608E: lda L6128 cmp $177F bne L60A9 ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY rts L60A9: ldy #$0E lda #$17 ldx #$D9 jsr MGTK_RELAY ldx L6128 lda $1780,x and #$7F ldx #$00 stx L6127 asl a rol L6127 asl a rol L6127 asl a rol L6127 asl a rol L6127 clc adc #$00 tay lda L6127 adc #$18 tax tya jsr L5DED ldx L6128 lda $1780,x bpl L60FF lda #$01 sta $D917 ldy #$0E lda #$17 ldx #$D9 jsr MGTK_RELAY lda #$1D ldx #$D9 jsr L5DED lda #$10 sta $D917 L60FF: lda L6128 cmp $D920 bne L6110 jsr L6274 lda $D5F1 jsr L62C8 L6110: inc L6128 lda $D919 clc adc #$08 sta $D919 lda $D91A adc #$00 sta $D91A jmp L608E L6127: brk L6128: brk L6129: stx $0B sta $0A ldy #$00 lda ($0A),y tay bne L6135 rts L6135: dey beq L613A bpl L613B L613A: rts L613B: lda ($0A),y and #$7F cmp #$2F beq L6147 cmp #$2E bne L614B L6147: dey jmp L6135 L614B: iny lda ($0A),y and #$7F cmp #$41 bcc L615D cmp #$5B bcs L615D clc adc #$20 sta ($0A),y L615D: dey jmp L6135 L6161: lda #$00 L6163: sta L61B0 lda $177F cmp #$0A bcs L6181 lda #$01 sta $D208 lda #$00 sta $D209 ldy #$4C lda #$08 ldx #$D2 jsr MGTK_RELAY rts L6181: lda $177F sta $D5F9 lda #$01 sta $D208 sta $D209 ldy #$4C lda #$08 ldx #$D2 jsr MGTK_RELAY lda L61B0 sta $D209 jsr L6227 lda #$01 sta $D208 ldy #$4B lda #$08 ldx #$D2 jsr MGTK_RELAY rts L61B0: brk L61B1: lda $D5B7 jsr L62C8 ldy #$11 lda #$C8 ldx #$D9 jsr MGTK_RELAY lda #$28 sta $06 lda #$50 sta $07 ldy #$00 lda ($06),y sta L6226 iny L61D0: iny lda ($06),y cmp #$2F beq L61DE cpy L6226 bne L61D0 beq L61E2 L61DE: dey sty L6226 L61E2: ldy #$00 ldx #$00 L61E6: inx iny lda ($06),y sta $0220,x cpy L6226 bne L61E6 stx $0220 lda #$20 ldx #$02 jsr L6129 ldy #$0E lda #$51 ldx #$DA jsr MGTK_RELAY lda #$5F ldx #$DA jsr L5DED lda #$20 ldx #$02 jsr L5DED ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY rts L6226: brk L6227: sta L6273 clc adc #$09 cmp $177F beq L6234 bcs L623A L6234: lda L6273 jmp L624A L623A: lda $177F cmp #$0A bcs L6247 lda L6273 jmp L624A L6247: sec sbc #$09 L624A: ldx #$00 stx L6273 asl a rol L6273 asl a rol L6273 asl a rol L6273 sta $D60F ldx L6273 stx $D610 clc adc #$46 sta $D613 lda L6273 adc #$00 sta $D614 rts L6273: brk L6274: ldx #$00 stx L62C7 asl a rol L62C7 asl a rol L62C7 asl a rol L62C7 sta $D911 ldx L62C7 stx $D912 clc adc #$07 sta $D915 lda L62C7 adc #$00 sta $D916 lda $D5F1 jsr L62C8 ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$11 lda #$0F ldx #$D9 jsr MGTK_RELAY ldy #$03 lda #$39 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$39 ldx #$D2 jsr MGTK_RELAY rts L62C7: brk L62C8: sta $D212 ldy #$3C lda #$12 ldx #$D2 jsr MGTK_RELAY ldy #$04 lda #$15 ldx #$D2 jsr MGTK_RELAY rts L62DE: lda #$5A ldx #$0F L62E2: sta L63C2,x dex bpl L62E2 lda #$00 sta L63BF sta L63BE L62F0: lda L63BF cmp $177F bne L62FB jmp L6377 L62FB: lda L63BE jsr L6451 ldy #$00 lda ($06),y bmi L633D and #$0F sta L63C1 ldy #$01 L630E: lda ($06),y cmp L63C1,y beq L631A bcs L633D jmp L6322 L631A: iny cpy #$10 bne L630E jmp L633D L6322: lda L63BE sta L63C0 ldx #$0F lda #$20 L632C: sta L63C2,x dex bpl L632C ldy L63C1 L6335: lda ($06),y sta L63C1,y dey bne L6335 L633D: inc L63BE lda L63BE cmp $177F beq L634B jmp L62FB L634B: lda L63C0 jsr L6451 ldy #$00 lda ($06),y ora #$80 sta ($06),y lda #$5A ldx #$0F L635D: sta L63C2,x dex bpl L635D ldx L63BF lda L63C0 sta L63D2,x lda #$00 sta L63BE inc L63BF jmp L62F0 L6377: ldx $177F dex stx L63BF L637E: lda L63BF bpl L63AD ldx $177F beq L63AC dex L6389: lda L63D2,x tay lda $1780,y bpl L639A lda L63D2,x ora #$80 sta L63D2,x L639A: dex bpl L6389 ldx $177F beq L63AC dex L63A3: lda L63D2,x sta $1780,x dex bpl L63A3 L63AC: rts L63AD: jsr L6451 ldy #$00 lda ($06),y and #$7F sta ($06),y dec L63BF jmp L637E L63BE: brk L63BF: brk L63C0: brk L63C1: brk L63C2: brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk L63D2: brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk L6451: ldx #$00 stx $06 ldx #$18 stx $07 ldx #$00 stx L647B asl a rol L647B asl a rol L647B asl a rol L647B asl a rol L647B clc adc $06 sta $06 lda L647B adc $07 sta $07 rts L647B: brk sta $06 stx $07 ldy #$01 lda ($06),y cmp #$2F bne L64DE dey lda ($06),y cmp #$02 bcc L64DE tay lda ($06),y cmp #$2F beq L64DE ldx #$00 stx L64E1 L649B: lda ($06),y cmp #$2F beq L64AB inx cpx #$10 beq L64DE dey bne L649B beq L64B3 L64AB: inc L64E1 ldx #$00 dey bne L649B L64B3: ldy #$00 lda ($06),y tay L64B8: lda ($06),y and #$7F cmp #$2E beq L64D8 cmp #$2F bcc L64DE cmp #$3A bcc L64D8 cmp #$41 bcc L64DE cmp #$5B bcc L64D8 cmp #$61 bcc L64DE cmp #$7B bcs L64DE L64D8: dey bne L64B8 lda #$00 rts L64DE: lda #$FF rts L64E1: brk L64E2: lda $177F bne L64E8 L64E7: rts L64E8: lda #$00 sta L6515 lda #$00 sta $06 lda #$18 sta $07 L64F5: lda L6515 cmp $177F beq L64E7 lda $06 ldx $07 jsr L6129 inc L6515 lda $06 clc adc #$10 sta $06 bcc L64F5 inc $07 jmp L64F5 L6515: brk sta $06 stx $07 ldy #$00 lda ($06),y tay L651F: lda ($06),y sta L6576,y dey bpl L651F lda #$00 sta L6575 lda #$00 sta $06 lda #$18 sta $07 L6534: lda L6575 cmp $177F beq L6564 ldy #$00 lda ($06),y cmp L6576 bne L6553 tay L6546: lda ($06),y cmp L6576,y bne L6553 dey bne L6546 jmp L6567 L6553: inc L6575 lda $06 clc adc #$10 sta $06 bcc L6534 inc $07 jmp L6534 L6564: lda #$FF rts L6567: ldx $177F lda L6575 L656D: dex cmp $1780,x bne L656D txa rts L6575: brk L6576: brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk brk L6586: bpl L658B L6588: lda #$00 rts L658B: cmp #$09 bcc L6588 sec sbc #$08 rts lda $D5B7 jsr L62C8 jsr L6E45 sta $06 stx $07 lda $DAA8 sta $08 lda $DAA9 sta $09 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY bit $D8EB bpl L65C8 ldy #$0C lda #$5D ldx #$DA jsr MGTK_RELAY lda #$00 sta $D8EB beq L65D6 L65C8: ldy #$0C lda #$5E ldx #$DA jsr MGTK_RELAY lda #$FF sta $D8EB L65D6: lda #$EF sta $06 lda #$D8 sta $07 lda $D8EE sta $08 ldy #$19 lda #$06 ldx #$00 jsr MGTK_RELAY jsr L56E3 rts lda $D5B7 jsr L62C8 jsr L6E72 sta $06 stx $07 lda $DAB4 sta $08 lda $DAB5 sta $09 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY bit $D8EB bpl L6626 ldy #$0C lda #$5D ldx #$DA jsr MGTK_RELAY lda #$00 sta $D8EB jmp L6634 L6626: ldy #$0C lda #$5E ldx #$DA jsr MGTK_RELAY lda #$FF sta $D8EB L6634: lda #$EF sta $06 lda #$D8 sta $07 lda $D8EE sta $08 ldy #$19 lda #$06 ldx #$00 jsr MGTK_RELAY jsr L56E3 rts lda $D5B7 jsr L62C8 ldy #$11 lda #$9E ldx #$DA jsr MGTK_RELAY ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$12 lda #$9E ldx #$DA jsr MGTK_RELAY ldy #$0E lda #$A6 ldx #$DA jsr MGTK_RELAY lda $D402 beq L6684 lda #$02 ldx #$D4 jsr L5DED L6684: lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED rts lda $D5B7 jsr L62C8 ldy #$11 lda #$AA ldx #$DA jsr MGTK_RELAY ldy #$07 lda #$02 ldx #$D2 jsr MGTK_RELAY ldy #$12 lda #$AA ldx #$DA jsr MGTK_RELAY ldy #$0E lda #$B2 ldx #$DA jsr MGTK_RELAY lda $D443 beq L66C9 lda #$43 ldx #$D4 jsr L5DED L66C9: lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED rts lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D5B7 jsr L62C8 ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$9E ldx #$DA jsr MGTK_RELAY cmp #$80 beq L6719 bit L5104 bpl L6718 ldy #$13 lda #$AA ldx #$DA jsr MGTK_RELAY cmp #$80 bne L6718 jmp L6D1E L6718: rts L6719: jsr L6E45 sta $06 stx $07 lda $D20D cmp $06 lda $D20E sbc $07 bcs L672F jmp L67C4 L672F: jsr L6E45 sta L684D stx L684E ldx $D484 inx lda #$20 sta $D484,x inc $D484 lda #$84 sta $06 lda #$D4 sta $07 lda $D484 sta $08 L6751: ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY lda $09 clc adc L684D sta $09 lda $0A adc L684E sta $0A lda $09 cmp $D20D lda $0A sbc $D20E bcc L6783 dec $08 lda $08 cmp #$01 bne L6751 dec $D484 jmp L6846 L6783: lda $08 cmp $D484 bcc L6790 dec $D484 jmp L6B44 L6790: ldx #$02 ldy $D402 iny L6796: lda $D484,x sta $D402,y cpx $08 beq L67A5 iny inx jmp L6796 L67A5: sty $D402 ldy #$02 ldx $08 inx L67AD: lda $D484,x sta $D484,y cpx $D484 beq L67BD iny inx jmp L67AD L67BD: dey sty $D484 jmp L6846 L67C4: lda #$02 sta $06 lda #$D4 sta $07 lda $D402 sta $08 L67D1: ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY lda $09 clc adc $DAA6 sta $09 lda $0A adc $DAA7 sta $0A lda $09 cmp $D20D lda $0A sbc $D20E bcc L6800 dec $08 lda $08 cmp #$01 bcs L67D1 jmp L6B01 L6800: inc $08 ldy #$00 ldx $08 L6806: cpx $D402 beq L6816 inx iny lda $D402,x sta $D3C2,y jmp L6806 L6816: iny sty $D3C1 ldx #$01 ldy $D3C1 L681F: cpx $D484 beq L682F inx iny lda $D484,x sta $D3C1,y jmp L681F L682F: sty $D3C1 lda $D8EF sta $D3C2 L6838: lda $D3C1,y sta $D484,y dey bpl L6838 lda $08 sta $D402 L6846: jsr L6D27 jsr L6EA3 rts L684D: brk L684E: brk lda $D5B7 sta $D208 ldy #$46 lda #$08 ldx #$D2 jsr MGTK_RELAY lda $D5B7 jsr L62C8 ldy #$0E lda #$0D ldx #$D2 jsr MGTK_RELAY ldy #$13 lda #$AA ldx #$DA jsr MGTK_RELAY cmp #$80 beq L6890 bit L5104 bpl L688F ldy #$13 lda #$9E ldx #$DA jsr MGTK_RELAY cmp #$80 bne L688F jmp L6D21 L688F: rts L6890: jsr L6E72 sta $06 stx $07 lda $D20D cmp $06 lda $D20E sbc $07 bcs L68A6 jmp L693B L68A6: jsr L6E72 sta L69C4 stx L69C5 ldx $D484 inx lda #$20 sta $D484,x inc $D484 lda #$84 sta $06 lda #$D4 sta $07 lda $D484 sta $08 L68C8: ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY lda $09 clc adc L69C4 sta $09 lda $0A adc L69C5 sta $0A lda $09 cmp $D20D lda $0A sbc $D20E bcc L68FA dec $08 lda $08 cmp #$01 bne L68C8 dec $D484 jmp L69BD L68FA: lda $08 cmp $D484 bcc L6907 dec $D484 jmp L6CF0 L6907: ldx #$02 ldy $D443 iny L690D: lda $D484,x sta $D443,y cpx $08 beq L691C iny inx jmp L690D L691C: sty $D443 ldy #$02 ldx $08 inx L6924: lda $D484,x sta $D484,y cpx $D484 beq L6934 iny inx jmp L6924 L6934: dey sty $D484 jmp L69BD L693B: lda #$43 sta $06 lda #$D4 sta $07 lda $D443 sta $08 L6948: ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY lda $09 clc adc $DAB2 sta $09 lda $0A adc $DAB3 sta $0A lda $09 cmp $D20D lda $0A sbc $D20E bcc L6977 dec $08 lda $08 cmp #$01 bcs L6948 jmp L6CAD L6977: inc $08 ldy #$00 ldx $08 L697D: cpx $D443 beq L698D inx iny lda $D443,x sta $D3C2,y jmp L697D L698D: iny sty $D3C1 ldx #$01 ldy $D3C1 L6996: cpx $D484 beq L69A6 inx iny lda $D484,x sta $D3C1,y jmp L6996 L69A6: sty $D3C1 lda $D8EF sta $D3C2 L69AF: lda $D3C1,y sta $D484,y dey bpl L69AF lda $08 sta $D443 L69BD: jsr L6D27 jsr L6E9F rts L69C4: brk L69C5: brk sta L6A17 lda $D402 clc adc $D484 cmp #$3F bcc L69D5 rts L69D5: lda L6A17 ldx $D402 inx sta $D402,x sta $D8F7 jsr L6E45 inc $D402 sta $06 stx $07 lda $DAA8 sta $08 lda $DAA9 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$F6 ldx #$D8 jsr L5DED lda #$84 ldx #$D4 jsr L5DED jsr L6EA3 rts L6A17: brk lda $D402 bne L6A1E rts L6A1E: dec $D402 jsr L6E45 sta $06 stx $07 lda $DAA8 sta $08 lda $DAA9 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6EA3 rts lda $D402 bne L6A59 rts L6A59: ldx $D484 cpx #$01 beq L6A6B L6A60: lda $D484,x sta $D485,x dex cpx #$01 bne L6A60 L6A6B: ldx $D402 lda $D402,x sta $D486 dec $D402 inc $D484 jsr L6E45 sta $06 stx $07 lda $DAA8 sta $08 lda $DAA9 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6EA3 rts lda $D484 cmp #$02 bcs L6AB4 rts L6AB4: ldx $D402 inx lda $D486 sta $D402,x inc $D402 ldx $D484 cpx #$03 bcc L6AD6 ldx #$02 L6ACA: lda $D485,x sta $D484,x inx cpx $D484 bne L6ACA L6AD6: dec $D484 lda $D5B7 jsr L62C8 ldy #$0E lda #$A6 ldx #$DA jsr MGTK_RELAY lda #$02 ldx #$D4 jsr L5DED lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6EA3 rts L6B01: lda $D402 bne L6B07 rts L6B07: ldy $D402 lda $D484 cmp #$02 bcc L6B20 ldx #$01 L6B13: iny inx lda $D484,x sta $D402,y cpx $D484 bne L6B13 L6B20: sty $D402 L6B23: lda $D402,y sta $D485,y dey bne L6B23 ldx $D402 inx stx $D484 lda #$06 sta $D485 lda #$00 sta $D402 jsr L6D27 jsr L6EA3 rts L6B44: lda $D484 cmp #$02 bcs L6B4C rts L6B4C: ldx #$01 ldy $D402 L6B51: inx iny lda $D484,x sta $D402,y cpx $D484 bne L6B51 sty $D402 lda #$01 sta $D484 lda #$06 sta $D485 jsr L6D27 jsr L6EA3 rts sta L6BC3 lda $D443 clc adc $D484 cmp #$3F bcc L6B81 rts L6B81: lda L6BC3 ldx $D443 inx sta $D443,x sta $D8F7 jsr L6E72 inc $D443 sta $06 stx $07 lda $DAB4 sta $08 lda $DAB5 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$F6 ldx #$D8 jsr L5DED lda #$84 ldx #$D4 jsr L5DED jsr L6E9F rts L6BC3: brk lda $D443 bne L6BCA rts L6BCA: dec $D443 jsr L6E72 sta $06 stx $07 lda $DAB4 sta $08 lda $DAB5 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6E9F rts lda $D443 bne L6C05 rts L6C05: ldx $D484 cpx #$01 beq L6C17 L6C0C: lda $D484,x sta $D485,x dex cpx #$01 bne L6C0C L6C17: ldx $D443 lda $D443,x sta $D486 dec $D443 inc $D484 jsr L6E72 sta $06 stx $07 lda $DAB4 sta $08 lda $DAB5 sta $09 lda $D5B7 jsr L62C8 ldy #$0E lda #$06 ldx #$00 jsr MGTK_RELAY lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6E9F rts lda $D484 cmp #$02 bcs L6C60 rts L6C60: ldx $D443 inx lda $D486 sta $D443,x inc $D443 ldx $D484 cpx #$03 bcc L6C82 ldx #$02 L6C76: lda $D485,x sta $D484,x inx cpx $D484 bne L6C76 L6C82: dec $D484 lda $D5B7 jsr L62C8 ldy #$0E lda #$B2 ldx #$DA jsr MGTK_RELAY lda #$43 ldx #$D4 jsr L5DED lda #$84 ldx #$D4 jsr L5DED lda #$F8 ldx #$D8 jsr L5DED jsr L6E9F rts L6CAD: lda $D443 bne L6CB3 rts L6CB3: ldy $D443 lda $D484 cmp #$02 bcc L6CCC ldx #$01 L6CBF: iny inx lda $D484,x sta $D443,y cpx $D484 bne L6CBF L6CCC: sty $D443 L6CCF: lda $D443,y sta $D485,y dey bne L6CCF ldx $D443 inx stx $D484 lda #$06 sta $D485 lda #$00 sta $D443 jsr L6D27 jsr L6E9F rts L6CF0: lda $D484 cmp #$02 bcs L6CF8 rts L6CF8: ldx #$01 ldy $D443 L6CFD: inx iny lda $D484,x sta $D443,y cpx $D484 bne L6CFD sty $D443 lda #$01 sta $D484 lda #$06 sta $D485 jsr L6D27 jsr L6E9F rts L6D1E: jmp 0 L6D21: jmp 0 L6D24: jmp 0 L6D27: jmp 0 L6D2A: jmp 0 L6D2D: jmp 0 L6D30: jmp 0 L6D33: jmp 0 L6D36: jmp 0 L6D39: jmp 0 L6D3C: jmp 0 L6D3F: jmp 0 L6D42: jmp 0 L6D45: jmp 0 L6D48: sta $06 stx $07 ldx $D402 lda #$2F sta $D403,x inc $D402 ldy #$00 lda ($06),y tay clc adc $D402 pha tax L6D62: lda ($06),y sta $D402,x dey dex cpx $D402 bne L6D62 pla sta $D402 rts L6D73: sta $06 stx $07 ldx $D443 lda #$2F sta $D444,x inc $D443 ldy #$00 lda ($06),y tay clc adc $D443 pha tax L6D8D: lda ($06),y sta $D443,x dey dex cpx $D443 bne L6D8D pla sta $D443 rts L6D9E: ldx $D402 cpx #$00 beq L6DAF dec $D402 lda $D402,x cmp #$2F bne L6D9E L6DAF: rts L6DB0: ldx $D443 cpx #$00 beq L6DC1 dec $D443 lda $D443,x cmp #$2F bne L6DB0 L6DC1: rts jsr L6D9E jsr L6D27 rts jsr L6DB0 jsr L6D27 rts lda #$00 beq L6DD6 lda #$80 L6DD6: sta L6E1C lda #$00 sta $06 lda #$18 sta $07 ldx $D920 lda $1780,x and #$7F ldx #$00 stx L6E1B asl a rol L6E1B asl a rol L6E1B asl a rol L6E1B asl a rol L6E1B clc adc $06 tay lda L6E1B adc $07 tax tya bit L6E1C bpl L6E14 jsr L6D73 jmp L6E17 L6E14: jsr L6D48 L6E17: jsr L6D27 rts L6E1B: brk L6E1C: brk ldx L5028 L6E20: lda L5028,x sta $D402,x dex bpl L6E20 lda #$02 ldx #$D4 jsr L6129 rts ldx L5028 L6E34: lda L5028,x sta $D443,x dex bpl L6E34 lda #$43 ldx #$D4 jsr L6129 rts L6E45: lda #$00 sta $09 sta $0A lda $D402 beq L6E63 sta $08 lda #$03 sta $06 lda #$D4 sta $07 ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY L6E63: lda $09 clc adc $DAA6 tay lda $0A adc $DAA7 tax tya rts L6E72: lda #$00 sta $09 sta $0A lda $D443 beq L6E90 sta $08 lda #$44 sta $06 lda #$D4 sta $07 ldy #$18 lda #$06 ldx #$00 jsr MGTK_RELAY L6E90: lda $09 clc adc $DAB2 tay lda $0A adc $DAB3 tax tya rts L6E9F: lda #$FF bmi L6EA5 L6EA3: lda #$00 L6EA5: bmi L6EB6 ldx $D402 L6EAA: lda $D402,x sta $D3C1,x dex bpl L6EAA jmp L6EC2 L6EB6: ldx $D443 L6EB9: lda $D443,x sta $D3C1,x dex bpl L6EB9 L6EC2: lda $D920 sta L6F3D bmi L6EFB ldx #$00 stx $06 ldx #$18 stx $07 ldx #$00 stx L6F3C tax lda $1780,x and #$7F asl a rol L6F3C asl a rol L6F3C asl a rol L6F3C asl a rol L6F3C clc adc $06 tay lda L6F3C adc $07 tax tya jsr L5F0D L6EFB: lda #$C1 ldx #$D3 jsr L6129 lda #$28 ldx #$50 jsr L6129 lda $D3C1 cmp L5028 bne L6F26 tax L6F12: lda $D3C1,x cmp L5028,x bne L6F26 dex bne L6F12 lda #$00 sta $D8F0 jsr L6F2F rts L6F26: lda #$FF sta $D8F0 jsr L6F2F rts L6F2F: lda L6F3D sta $D920 bpl L6F38 rts L6F38: jsr L5F49 rts L6F3C: brk L6F3D: brk PAD_TO $7000