diff --git a/.DS_Store b/.DS_Store index 44e01f7..b97f41a 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/acbasic/.DS_Store b/acbasic/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/acbasic/.DS_Store differ diff --git a/acbasic/AC.S b/acbasic/AC.S new file mode 100644 index 0000000..874e6c7 --- /dev/null +++ b/acbasic/AC.S @@ -0,0 +1,23614 @@ +* +* WARNING: IT IS A WORK IN PROGRESS (ONLY $B000++ IS VERIFIED) +* +* AC/BASIC +* 16-Bit BASIC Compiler for Apple II GS +* +* (c) 1988, absoft +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + typ S16 + dsk AC2020.SYS16 + lst off + +*------------------------------- + +COPMGRV = $E10014 +GSOS = $E100A8 + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Line.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Scrap.Macs + use 4/Sound.Macs + use 4/Text.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + CLC + XCE + REP #$FF + STZ $00 + LDA #$023A + BPL L000E + BRL *-LA3FA +L000E STX $26 + STY $24 + STA $04 + STZ $06 + TXA + ORA $24 + BEQ L0059 + TDC + CLC + ADC #$002B + STA $28 + STZ $2A + LDY $00 + LDX #$0084 + SEP #$20 +L002B DEX + BMI L0057 + LDA [$24],Y + BEQ L0057 + INY + CMP #$20 + BNE L002B +L0037 DEX + BMI L0057 + LDA [$24],Y + BEQ L0057 + INY + CMP #$20 + BEQ L0037 + DEY + DEY +L0045 INY + DEX + BMI L0057 + INC $28 + BNE L004F + INC $29 +L004F LDA [$24],Y + STA [$28] + BNE L0045 + STY $06 +L0057 REP #$20 +L0059 PHK + PER L006C-1 + PER L00F8 + LDA $00 + LDY $06 + BEQ L0068 + INC + INC +L0068 INC + BRL *-L9BD0 +L006C STZ $F4 + DEC $F4 + TDC + STA $0C + LDA $FC + SEC + SBC $0C + TAX + STX $F6 + LDA $06,X + BNE L0086 + LDAL $00FFE6 ; LOGO BUG? + INC + BNE L008B +L0086 LDA #$8FF1 + STA $F4 +L008B PHK + PER L0091-1 + BRA L0094 +L0091 BRL L0503 +L0094 LDX $00 + LDY #$403C + LDA #$2BDA ; Z+ + PHK + PER L00A3-1 + BRL *-LA622 +L00A3 BCS L00C7 + LDX $00 + LDY #$80E0 + LDA #$7FF0 + PHK + PER L00B4-1 + BRL *-LA622 +L00B4 BCS L00C7 + LDX $00 + LDY #$80E4 + LDA #$3600 + PHK + PER L00C5-1 + BRL *-LA622 +L00C5 BCC L00CC +L00C7 PER L01C0 + BRA L00FC +L00CC PHK + PER L0298 + PEA $5C00 + PLB + PLA + STAL COPMGRV + PLA + STAL COPMGRV+2 + PHK + PHK + PER L02CE + PLY + STY $E8 + PLY + STY $EA + BIT $F4 + BVC L00F7 + LDA $00 + TAX + PHK + PER L00F7-1 + BRL *-LB6E0 +L00F7 RTL + +L00F8 ADRL $00000000 + +L00FC PLA + PHK + PHK + PHA + LDX $F4 + PHK + PER L0109-1 + BRL *-LAF42 +L0109 PHK + PHK + PER L01ED + LDX $F4 + PHK + PER L0114+2 +L0114 BRL *-LAF42 + PER L011C-1 + BRA L012F +L011C BRL L03F2 + PLA + PHK + PHK + PHA + LDX $F4 + PHK + PER L012C-1 + BRL *-LAF42 +L012C BRL L04C3 +L012F PEA $0000 + PEA $0000 + _ReadChar + PLA + AND #$007F + RTS + +L0141 STR 'Can not Open Source File' + DB $00 +L015B STR 'Can not Create List File' + DB $00 +L0175 STR ' or Temporary Files' + DB $00 +L018A STR 'Label/Symbol table' + DB $00 +L019E STR ' Overflow' + DB $00 +L01A9 STR 'Failure Creating File' + DB $00 +L01C0 ASC 'Not enough memory available.'0D00 +L01DE ASC 'Compiling %s.'0D00 +L01ED ASC 'Type any key to continue.'0D00 +L0208 ASC 'Fatal File number mix up. Id %d.'0D00 +L022A ASC 'MAIN'00 +L022F ASC 0C0D + ASC 'AC/BASIC Compiler Listing %s ' + ASC ' Page %d'0D0D + ASC ' Source File: %s%s%s'0D0D0D00 +L0285 ASC ' '00 +L0287 ASC '. Include file: '00 + +L0298 PLP + REP #$3C + PLA + DEC + PLB + PHB + PHA + PHY + LDY #$0000 + LDA ($03,S),Y + PLY + AND #$00FF + CMP #$0072 + BEQ L02C9 + CMP #$0073 + BEQ L02C1 + PEA $0081 + PHK + PER L02BE-1 + BRL L3CE4 +L02BE SEP #$41 + RTL + +L02C1 LDA #$0006 + STA $04 + SEP #$41 + RTL + +L02C9 PEI $FA + PEI $F8 + RTL + +L02CE PHB + PLB + PHA + PER L02DE-1 + PLA + PHP + CLC + ADC $04,S + STA $04,S + PLP + PLA + RTS + +L02DE BRL L0319 ; LOGO ADDRESSES + BRL L03AB + BRL L0580 + BRL L04C3 + BRL L04A7 + BRL L0492 + BRL L047B + BRL L04CA + BRL L08D6 + BRL L0845 + BRL *-LA005 + BRL L0565 + BRL L0094 + BRL L0516 + BRL L0560 + +L030B PEI $DC + PHX + PHY + LDY $38 + STY $44 + LDY $3A + STY $46 + BRA L032B + +L0319 PEI $DC + PHX + PHY + LDA #$00CA + CLC + ADC $3C + STA $44 + LDA $00 + ADC $3E + STA $46 +L032B LDY #$001C + LDA [$3C],Y + DEC + STA $48 + LDY #$001E + LDA [$3C],Y + STA $4A + LDY $00 + TYA + STA [$44] + INY + STZ $DC + SEP #$20 +L0344 LDA [$48],Y + STA [$44],Y + BEQ L0355 + INC $DC + CMP #$2F + BNE L0352 + STZ $DC +L0352 INY + BRA L0344 +L0355 LDX #$0005 + LDA $04,S + BNE L0372 + DEX + LDA $03,S + BNE L0372 + DEX + LDA $02,S + BNE L0372 + DEX + LDA $01,S + BNE L0372 + REP #$20 + PLA + PLA + INY + BRA L039C + MX %10 +L0372 TXA + CLC + ADC $DC +L0376 CMP #$10 + BCC L037E + DEY + DEC + BRA L0376 +L037E LDA #$2E + STA [$44],Y + INY + PLA + STA [$44],Y + INY + PLA + STA [$44],Y + BEQ L038D + INY +L038D PLA + STA [$44],Y + BEQ L0393 + INY +L0393 PLA + STA [$44],Y + BEQ L0399 + INY +L0399 INY + REP #$20 +L039C DEY + PLA + STA $DC + LDA $00 + STA [$44],Y + DEY + TYA + ORA [$44] + STA [$44] + RTL + +L03AB PHA + PHX + PHK + PHK + PER L054F + PLA + LDY #$001C + STA [$3C],Y + PLA + LDY #$001E + STA [$3C],Y + LDA #$0004 + STA $1C + LDA #$07AE + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A +L03D1 LDA $1C + ORA #$4630 + TAY + LDX $00 + PHK + PER L03DD+2 +L03DD BRL L030B + PEI $46 + PEI $44 + PHK + PER L03E8+2 +L03E8 BRL *-LA455 + DEC $1C + BNE L03D1 + PLX + PLA + RTL + +L03F2 PHK + PER L03F6+2 +L03F6 BRL L0565 + BIT $F4 + BVC L0403 + PHK + PER L0401+1 +L0401 BRA L03AB +L0403 BRL *-LA3FA +L0406 TAX + PHK + PHK + PER L054F + PLA + LDY #$001C + STA [$3C],Y + PLA + LDY #$001E + STA [$3C],Y + TXA +L0419 ORA #$4630 ; 0F + TAY + LDX $00 + PHK + PER L0423+2 +L0423 BRL L0319 + LDX $00 + LDA #$00B7 + BRA L0439 +L042D PHK + PER L0431+2 +L0431 BRL L0319 + LDA #$0004 + LDX $00 +L0439 PEI $46 + PEI $44 + PHK + PER L0441+2 +L0441 BRL *-LA354 + BCS L0447 + RTL + +L0447 PHK + PHK + PER L0175 + PHK + PHK + PER L015B + BRA L04B1 +L0453 TAX + BNE L045E + TYA + PHK + PER L045B+1 +L045B BRA L0419 + RTS + +L045E PHX + LDA $00 + PHA + PHA + PHX + PHA + PHA + PHX + PHK + PER L046B+2 +L046B BRL *-LA49E + BCS L0447 + PHK + PER L0474+2 +L0474 BRL *-LA487 + BCS L0447 + PLA + RTS + +L047B LDA $04,S + LDY #$0008 + CMP [$3C],Y + BEQ L0492 + INX + LDY #$0010 + LDA [$3C],Y + CMP #$ABCD + BNE L0492 + BRL *-LA580 +L0492 PEA $0000 + PHX + PER L0208 + BRL L00FC +L049C PEI $46 + PEI $44 + PHK + PHK + PER L01A9 + BRA L04B1 +L04A7 PHK + PHK + PER L019E + PHK + PHK + PER L018A +L04B1 PHK + PER L04BC + PEA $003C + PEI $EE + PEI $EC +L04BC RTL + + DEX + BEQ L04C3 + BRL L03F2 +L04C3 PHK + PER L04C7+2 +L04C7 BRL L0565 +L04CA LDA #$0004 + BIT $72 + BEQ L04E6 + PHK + PER L04D5+2 +L04D5 BRL L0565 + LDA $44 + LDX $46 + PHK + PER L04E0+2 +L04E0 BRL L03AB + BRL *-LA3F0 +L04E6 LDA #$001A + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDY #$0010 + LDA [$3C],Y + CMP #$ABCD + BEQ L050B + LDX #$0001 + BRA L0492 +L0503 LDY $3C + STY $2C + LDY $3E + STY $2E +L050B PHK + PER L050F+1 +L050F BRA L0516 + LDA $A2 + TCS + BRA L0558 +L0516 LDX #$00E0 + STZ $00 + LDA $A2 +L051D DEX + DEX + STZ $00,X + CPX #$0046 + BCS L051D + STA $A2 + LDA $00 + LDY #$01D4 +L052D STA [$2C],Y + DEY + DEY + BPL L052D + STA [$2C] + LDA #$ABCD + LDY #$0010 + STA [$3C],Y + PHK + PHK + PER L054F + PLA + LDY #$001C + STA [$3C],Y + PLA + LDY #$001E + STA [$3C],Y + RTL + +L054F ASC '6/Bprogr'00 + +L0558 PEA $0033 + PEI $EE + PEI $EC + RTL + +L0560 BCC L05A3 + BRL L03F2 +L0565 LDY #$000E +L0568 LDA [$3C],Y + BEQ L057B + PHY + PHA + PHK + PER L0572+2 +L0572 BRL *-LA472 + PLY + LDA #$0000 + STA [$3C],Y +L057B DEY + DEY + BPL L0568 + RTL + +L0580 BIT $F4 + BVC L059E + PEI $20 + STZ $20 + INC $20 + PHK + PER L0595 + PEA $0036 + PEI $EE + PEI $EC +L0595 RTL + + PLA + STA $20 + BCC L059E + BRL L03F2 +L059E RTL + +L059F STR '0/' + DB $00 + +L05A3 LDA [$3C] + BNE L05B8 + PHK + PHK + PER L059F + PEA $0006 + PHK + PER L05B3+2 +L05B3 BRL *-LA57B + LDA $00 +L05B8 LDY #$0001 + PER L05BE+2 +L05BE BRL L0453 + STA [$3C] + LDY #$0002 + LDA [$3C],Y + LDY #$0002 + PER L05CE+2 +L05CE BRL L0453 + LDY #$0002 + STA [$3C],Y + LDA #$072C + CLC + ADC $3C + STA $28 + LDA $00 + ADC $3E + STA $2A + LDA $28 + INC + LDY #$001C + STA [$3C],Y + LDA $2A + LDY #$001E + STA [$3C],Y + PEI $2A + PEI $28 + PHK + PER L05FB+2 +L05FB BRL *-LA2FC + BCC L062A + PEI $2A + PEI $28 + PHK + PHK + PER L0141 + PHK + PER L0614 + PEA $003C + PEI $EE + PEI $EC +L0614 RTL + + DEX + BNE L061B + BRL L04CA +L061B PHK + PER L0626 + PEA $003F + PEI $EE + PEI $EC +L0626 RTL + + BRL L04CA +L062A LDY #$0008 + STA [$3C],Y + PHA + PHK + PER L0634+2 +L0634 BRL *-LA537 + LDY #$01B4 + ASL + STA [$3C],Y + INY + INY + TXA + ROL + STA [$3C],Y + INC $28 + LDY #$0000 + TYX + SEP #$20 +L064B LDA [$28],Y + BEQ L065B + INY + CMP #$2F + BNE L064B + LDA [$28],Y + BEQ L065B + TYX + BRA L064B +L065B REP #$20 + PEI $2A + TXA + CLC + ADC $28 + PHA + PHK + PHK + PER L01DE + LDX $F4 + PHK + PER L066F+2 +L066F BRL *-LAF42 + LDA $A2 + TCS + LDA #$0152 + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + PEI $2E + PEI $2C + _ReadAsciiTime + LDY #$0000 +L0691 LDA [$2C],Y + AND #$7F7F + STA [$2C],Y + INY + INY + CPY #$0014 + BCC L0691 + LDA $00 + STA [$2C],Y + PHK + PHK + PER L022A + PER L06AB+2 +L06AB BRL L08A4 + LDA #$0C8C + CLC + ADC $3C + STA $BE + LDA $00 + ADC $3E + STA $C0 + LDA #$1298 + CLC + ADC $3C + STA $6E + LDA $00 + ADC $3E + STA $70 + LDA #$FF00 + TRB $70 + LDA $72 + LDY #$001A + STA [$3C],Y + BIT #$0020 + BEQ L06E0 + LDA #$0080 + TSB $71 +L06E0 LDA #$0046 + LDY #$016A + STA [$3C],Y + LDA #$179E + CLC + ADC $3C + STA $24 + LDA $00 + ADC $3E + STA $26 + LDA #$01EE + CLC + ADC $3C + LDX $3E + BCC L0701 + INX +L0701 LDY #$0020 + STA [$3C],Y + STA $28 + LDY #$0024 + STA [$3C],Y + TXA + STA $2A + LDY #$0026 + STA [$3C],Y + LDY #$0022 + STA [$3C],Y + LDY $24 + STY $AC + LDY $26 + STY $AE + LDA $00 + STA [$24] + INC $24 + INC $24 + STA [$24] + STA [$28] + LDY #$004A + STA [$3C],Y + INC + LDY #$0046 + STA [$3C],Y + LDY #$0038 + STA [$3C],Y + LDY #$0086 + STA [$3C],Y + LDY #$008F + STA [$3C],Y + INC + LDY #$0097 + STA [$3C],Y + INC + LDY #$009F + STA [$3C],Y + INC + LDY #$00C2 + STA [$3C],Y + LDY #$00A7 + STA [$3C],Y + LDA #$FFFF + LDY #$002E + STA [$3C],Y + PHK + PER L0772 + PEA $0000 + PEI $EE + PEI $EC +L0772 RTL + + LDA #$04F8 + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A + INC $38 + LDX $00 + TXY + PHK + PER L078A+2 +L078A BRL L030B + LDA [$38] + AND #$00FF + DEC $38 + STA [$38] + PHK + PER L07A1 + PEA $002D + PEI $EE + PEI $EC +L07A1 RTL + + LDA #$01D4 + CLC + ADC $3C + STA $28 + LDA $00 + ADC $3E + STA $2A + SEP #$20 + LDX $00 + INX + BIT $73 + BPL L07BA + INX +L07BA LDY #$0019 + TXA +L07BE STA [$28],Y + DEY + BPL L07BE + REP #$20 + TXA + LDY #$0050 + STA [$3C],Y + PHK + PER L07D3 + PHK + PER L3CEF +L07D3 RTL + + LDY #$000C + LDA [$3C],Y + BEQ L0838 + PER L07DE+2 +L07DE BRL L0865 + LDY #$003C + LDA [$3C],Y + BNE L07EA + BRA L0838 +L07EA LDY #$016A + LDA [$3C],Y + CMP #$0034 + BCC L07FB + PHK + PER L07F8+2 +L07F8 BRL L08D6 +L07FB PHK + PHK + PER L087C + PHK + PER L0804+1 +L0804 BRA L0845 + PLA + PLA + LDY #$000A + STZ $20 + TSC + STA $22 +L0810 INC $20 + LDX $20 + PER L0817+2 +L0817 BRL L097F + BCS L0833 + PHA + PHY + PEA $0000 + PEI $20 + PHK + PHK + PER L0873 + PHK + PER L082C+1 +L082C BRA L0845 + LDA $22 + TCS + BRA L0810 +L0833 PER L0836+1 +L0836 BRA L0865 +L0838 LDY #$0036 + LDA [$3C],Y + BNE L0842 + BRL L099D +L0842 BRL L0C73 +L0845 LDY #$016A + LDA [$3C],Y + TAX + INC + LDY #$016A + STA [$3C],Y + CPX #$003C + BCC L085C + PHK + PER L085A+1 +L085A BRA L08D6 +L085C LDY #$000C + LDA [$3C],Y + TAX + BRL *-LAF42 +L0865 PHK + PHK + PER L08A2 + PHK + PER L086E+1 +L086E BRA L0845 + PLA + PLA + RTS + +L0873 ASC ' %d %s'0D00 +L087C ASC 0D + ASC 'Source File and Include File list:'0D0D00 +L08A2 ASC 0D00 + +L08A4 PLY + PLX + PLA + XBA + PHA + PLB + PLB + PHY + PEI $26 + PEI $24 + PHX + LDA #$016C + CLC + ADC $3C + STA $24 + LDA $00 + ADC $3E + STA $26 + LDY $00 + SEP #$20 +L08C3 LDA ($01,S),Y + STA [$24],Y + BEQ L08CC + INY + BRA L08C3 +L08CC REP #$20 + PLA + PLA + STA $24 + PLA + STA $26 + RTS + +L08D6 PEI $20 + TSC + STA $20 + LDY #$0038 + LDA [$3C],Y + TAX + DEC + BEQ L08F5 + PER L08E7+2 +L08E7 BRL L097F + BCS L08F5 + PHA + PHY + PHK + PHK + PER L0287 + BRA L08FF +L08F5 PHK + PHK + PER L0285 + PHK + PHK + PER L0285 +L08FF LDX #$0001 + PER L0905+1 +L0905 BRA L097F + PHA + PHY + LDA $00 + PHA + LDA #$0006 + LDY #$016A + STA [$3C],Y + LDY #$0168 + LDA [$3C],Y + TAX + BNE L091D + INC +L091D PHA + INC + LDY #$0168 + STA [$3C],Y + LDA #$0152 + CLC + ADC $3C + LDY $3E + BCC L092F + INY +L092F PHY + PHA + PHK + PHK + PER L022F + TXA + BNE L093E + LDA $01,S + INC + STA $01,S +L093E LDY #$000C + LDA [$3C],Y + BNE L0970 + LDA #$072D + CLC + ADC $3C + LDY $3E + BCC L0950 + INY +L0950 PHY + PHA + PLA + LDY #$001C + STA [$3C],Y + PLA + LDY #$001E + STA [$3C],Y + LDY #$534C + LDX #$0054 + PHK + PER L0968+2 +L0968 BRL L042D + LDY #$000C + STA [$3C],Y +L0970 TAX + PHK + PER L0975+2 +L0975 BRL *-LAF42 + LDA $20 + TCS + PLA + STA $20 + RTL + +L097F INX + LDY #$000A +L0983 LDA [$E0],Y + BEQ L099B + TAY + DEX + BNE L0983 + TYA + CLC + ADC #$0004 + CLC + ADC $E0 + TAY + LDA $E2 + BCC L0999 + INC +L0999 CLC + RTS + +L099B SEC + RTS + +L099D TSC + STA $40 + LDY #$001A + LDA [$3C],Y + STA $72 + LDY #$0086 + LDA [$3C],Y + LDY #$0010 + STA [$E4],Y + LDA #$0001 + LDY #$0086 + STA [$3C],Y + ASL + ASL + TAY + LDA $00 + STA [$E4],Y + INY + INY + STA [$E4],Y + INY + INY + STA [$E4],Y + INY + INY + STA [$E4],Y + LDA #$1096 + CLC + ADC $3C + STA $C2 + LDA $00 + ADC $3E + STA $C4 + LDA #$07AE + CLC + ADC $3C + STA $C6 + LDA $00 + ADC $3E + STA $C8 + LDA #$1298 + CLC + ADC $3C + STA $CA + LDA $00 + ADC $3E + STA $CC + LDA #$0C8C + CLC + ADC $3C + STA $BE + LDA $00 + ADC $3E + STA $C0 + LDA #$1F9E + CLC + ADC $3C + STA $CE + LDA $00 + ADC $3E + STA $D0 + LDA #$149A + CLC + ADC $3C + STA $D2 + LDA $00 + ADC $3E + STA $D4 + LDA #$0004 + PHK + PER L0A27+2 +L0A27 BRL L0406 + LDY #$0006 + STA [$3C],Y + LDY #$0004 + LDA [$3C],Y + BEQ L0A43 + TAX + LDA $00 + PHA + PHA + PHX + PHK + PER L0A40+2 +L0A40 BRL *-LA49E +L0A43 LDY #$0042 + LDA [$3C],Y + TAX + DEY + DEY + LDA [$3C],Y + LDY #$01BA + PHA + TXA + STA [$3C],Y + DEY + DEY + PLA + STA [$3C],Y + DEY + DEY + ASL + PHA + TXA + ROL + STA [$3C],Y + PLA + DEY + DEY + STA [$3C],Y + PHK + PER L0A6A+2 +L0A6A BRL *-L8F9C + LDA $00 + LDY #$008A + STA [$3C],Y + LDY #$00C6 + STA [$3C],Y + LDY #$00C8 + STA [$3C],Y + LDY #$0084 + STA [$3C],Y + LDY #$0088 + STA [$3C],Y + LDY #$002C + STA [$3C],Y + STZ $5C + PHA + PHA + LDA [$3C] + PHA + LDA $00 + PHK + PER L0A9A+2 +L0A9A BRL *-LA49E + PER L0AA0+2 +L0AA0 BRL L3C9E + BCC L0AA8 + BRL L3B9B +L0AA8 PER L0AAB+2 +L0AAB BRL L3B48 + LDA [$28] + CMP #$0002 + BEQ L0AB8 + BRL L3B9B +L0AB8 PER L0ABB+2 +L0ABB BRL L0B62 + STZ $1C + STZ $1E + LDY $5C + LDX #$0900 + STX $08 + PHY + PER L0AED + PER L0AD0+2 +L0AD0 BRL L3B1E + STY $5C + PLA + PER L0AD9+2 +L0AD9 BRL L256B + LDA $5C + CLC + LDY #$0084 + ADC [$3C],Y + PLY + INY + STA [$CE],Y + STZ $90 + BRL L21FC +L0AED PEA $0000 + PEA $0002 + DB $FF ; LOGO BUG? +L0AF4 PER L0AF7+2 +L0AF7 BRL L2114 + PER L0AFD+2 +L0AFD BRL L3B48 + LDA #$00FF + TRB $92 + LDA [$28] + XBA + AND #$00FF + ASL + CMP #$0036 + BMI L0B1E + PEA $0045 + PHK + PER L0B18+2 +L0B18 BRL L3CE4 + BRL L21FC +L0B1E PER L0B2C + TAY + PHK + PLB + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + RTS + +L0B2C DB $26 + DB $01 + DB $67 + DB $12 + DB $C0 + DB $01 + DB $96 + DB $03 + DB $98 + DB $03 + DB $D2 + DB $03 + DB $3B + DB $12 + DB $3E + DB $13 + DB $B5 + DB $13 + DB $AB + DB $13 + DB $79 + DB $01 + DB $5B + DB $12 + DB $9D + DB $12 + DB $8B + DB $12 + DB $BA + DB $13 + DB $2A + DB $14 + DB $83 + DB $14 + DB $DB + DB $14 + DB $50 + DB $15 + DB $F3 + DB $01 + DB $E9 + DB $02 + DB $45 + DB $03 + DB $56 + DB $02 + DB $24 + DB $02 + DB $F2 + DB $02 + DB $3A + DB $06 + DB $83 + DB $06 +L0B62 LDY #$0086 + LDA [$3C],Y + PHA + ASL + ASL + ASL + ASL + TAX + CLC + ADC #$000A + TAY + LDA [$E4],Y + STA $16 + LDA #$0082 + LDY $5C + STA [$CE],Y + INY + STY $5E + INY + INY + LDA #$0007 + STA $04 + PER L0B8A+1 +L0B8A BRA L0BDB + LDA $01,S + DEC + BNE L0B9D + LDX $00 + LDA #$0003 + STA $04 + PER L0B9B+1 +L0B9B BRA L0BDB +L0B9D STY $5C + PER L0BA2+1 +L0BA2 BRA L0BF9 + LDA $5C + DEC + DEC + DEC + LDY $5E + STA [$CE],Y + LDY $5C + LDA #$FFA9 + STA [$CE],Y + INY + INY + LDA #$A0FF + STA [$CE],Y + INY + INY + LDA $16 + DEC + DEC + STA [$CE],Y + INY + INY + LDA #$0097 + STA [$CE],Y + INY + LDA #$005C + PLX + DEX + BEQ L0BD5 + LDA #$0064 +L0BD5 STA [$CE],Y + INY + STY $5C + RTS + +L0BDB PHY + TXY + LDA [$E4],Y + PLY + STA [$CE],Y + INY + INY + INX + INX + DEC $04 + BPL L0BDB + DEY + DEY + DEY + DEY + LDA $00 + STA [$CE],Y + INY + INY + STA [$CE],Y + INY + INY + RTS + +L0BF9 LDY #$0086 + LDA [$3C],Y + PHA + LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + LDA #$00F4 + STA [$CE],Y + INY + LDA #$0002 + STA [$CE],Y + INY + INY + STY $5C + LDA #$0800 + STA $08 + PER L0C23+2 +L0C23 BRL L256B + RTS + +L0C27 LDY #$0086 + LDA [$3C],Y + TAX + LDA #$0013 + DEX + BNE L0C36 + LDA #$001B +L0C36 SEC + LDY #$0084 + SBC [$3C],Y + SEC + SBC $5C + DEC + DEC + DEC + PHA + LDY $5C + LDA #$0082 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + STY $5C + RTS + + LDY $5C + LDA #$7602 + STA [$CE],Y + INY + INY + STY $5C + PER L0C61+1 +L0C61 BRA L0C87 +L0C63 LDA $A2 + TCS + STZ $08 + INC $08 + INC $08 + PHK + PER L0C70+2 +L0C70 BRL L6890 +L0C73 PHK + PER L0C77+2 +L0C77 BRL *-L8F68 + LDA $A2 + TCS + PHK + PER L0C81+2 +L0C81 BRL *-L9097 + BRL L04CA +L0C87 PER L0C8A+1 +L0C8A BRA L0C27 + PER L0C8F+2 +L0C8F BRL L2114 + LDY #$0086 + LDA [$3C],Y + ASL + ASL + ASL + INC + ASL + TAX + LDY #$0084 + LDA [$3C],Y + TXY + STA [$E4],Y + RTS + + LDA #$0080 + TRB $93 + LDY #$0002 + LDA [$28],Y + TAX + PER L0CB4+2 +L0CB4 BRL L1DFC + LDY #$0004 + PER L0CBD+2 +L0CBD BRL L2114 + LDA #$0080 + TSB $8C + LDY #$0002 + LDA [$BE],Y + CLC + ADC #$0004 + TAX + LDY #$0084 + LDA [$3C],Y + TXY + STA [$E0],Y + INX + INX + LDY #$0086 + LDA [$3C],Y + TXY + SEP #$20 + STA [$E0],Y + REP #$20 + LDA #$0008 + STA $2C + BRL L0F04 + LDY #$0002 + LDA [$28],Y + PHA + LDY #$0032 + LDA [$3C],Y + INC + LDY #$0032 + STA [$3C],Y + DEC + ASL + ASL + PHA + LDY #$0088 + LDA [$3C],Y + PLY + STA [$C6],Y + TAX + LDA #$8000 + INY + INY + STA [$C6],Y + PLA + CLC + STX $02 + ADC $02 + LDY #$0088 + STA [$3C],Y + BRL L0AF4 + LDA [$28] + AND #$00FF + DEC + DEC + PEA $0000 + PHA + CLC + LDY #$008A + ADC [$3C],Y + LDY #$008A + STA [$3C],Y + INC $28 + INC $28 + PEI $2A + PEI $28 + LDY #$0002 + LDA [$3C],Y + PHA + LDX #$0004 + PHK + PER L0D4B+2 +L0D4B BRL L047B + BRL L0AF4 + LDY #$0002 + LDA [$28],Y + LSR + LSR $72 + ROL + STA $72 + AND #$FCA7 + STA $1C + PER L0D72 + LDY $5C + PER L0D69+2 +L0D69 BRL L3B1E + PLA + STY $5C + BRL L21FC +L0D72 LDA $88 + AND #$0358 + ORA #$0000 + STA $88 + DB $FF ; LOGO BUG? +L0D7D LDA #$0000 + STA $8A + DB $FF ; LOGO BUG? + LDA #$04F8 + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A + LDY #$0002 + LDA [$28],Y + BEQ L0DE6 + CLC + ADC #$0009 + TAY + LDA [$E0],Y + AND #$00FF + STA [$38] + STA $04 + INY + LDX #$0002 + SEP #$20 +L0DAC LDA [$E0],Y + PHY + TXY + STA [$38],Y + PLY + INX + INY + DEC $04 + BNE L0DAC + TXY + LDA $00 + STA [$38],Y + REP #$20 + STZ $04 + DEC $04 + PHK + PER L0DCF + PEA $0006 + PEI $EE + PEI $EC +L0DCF RTL + + TYA + BEQ L0DF9 + CLC + ADC #$0009 + TAY + LDA [$E0],Y + AND #$00FF + INC + CLC + STY $02 + ADC $02 + TAY + LDA [$E0],Y +L0DE6 PER L0D7D + STA $1C + LDY $5C + PER L0DF0+2 +L0DF0 BRL L3B1E + PLA + STY $5C + BRL L21FC +L0DF9 LDY #$0002 + LDA [$28],Y + TAX + PHK + PER L0E0A + PEA $002A + PEI $EE + PEI $EC +L0E0A RTL + + LDA $00 + BRA L0DE6 + PEA $0000 + PEA $0002 + DB $FF ; LOGO BUG? + PER L0E19+2 +L0E19 BRL L0C27 + BRL L21FC + STZ $08 + LDX $08 + INC $08 + INC $08 + LDY #$0002 + LDA [$28],Y + BEQ L0E4F + INC $08 + INC + BEQ L0E4F + INC + INC + INC + PHA + INC $08 + LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + STY $5C + PLX + STZ $22 + PER L0E49+2 +L0E49 BRL L1DDC + LDX #$0002 +L0E4F PER L0E52+1 +L0E52 BRA L0E57 + BRL L21FC +L0E57 LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + TXA + STA [$CE],Y + INY + INY + STY $5C + LDA #$0900 + TSB $08 + PER L0E6E+2 +L0E6E BRL L256B + RTS + + STZ $08 + LDX $00 + INC $08 + LDY #$0002 + LDA [$28],Y + PHA + BEQ L0E85 + LDA #$0005 + STA $08 +L0E85 PER L0E88+1 +L0E88 BRA L0E57 + PLA + BNE L0E99 +L0E8D LDY $5C + LDA #$006B + STA [$CE],Y + INC $5C + BRL L21FC +L0E99 CLC + ADC #$0004 + TAX + LDY $5C + LDA #$688B + STA [$CE],Y + INY + INY + LDA #$4B68 + STA [$CE],Y + INY + INY + LDA #$0062 + STA [$CE],Y + INY + STY $5C + LDA #$FFFD + STA $22 + PER L0EBE+2 +L0EBE BRL L1E0B + BRA L0E8D + BRA L0ECC + LDA $00 + LDY #$0C8A + STA [$3C],Y +L0ECC LDY #$0C8A + LDA [$3C],Y + TAX + LDA [$28] + AND #$00FF + DEC + DEC + STA $04 + LDY #$0002 +L0EDE DEC $04 + DEC $04 + BMI L0EF4 + LDA [$28],Y + PHX + TYX + PLY + STA [$BE],Y + PHX + TYX + PLY + INX + INX + INY + INY + BRA L0EDE +L0EF4 TXA + LSR + LSR + LDY #$0C8A + STA [$3C],Y + BRL L0AF4 + LDA #$0002 + STA $2C +L0F04 LDA #$0014 + LDY #$1092 + STA [$3C],Y + LDA $00 + LDY #$1090 + STA [$3C],Y + STZ $12 + STZ $88 + STZ $8A +L0F19 STZ $B8 + STZ $8E + LDA #$007F + TRB $90 + LDX $2C + TXY + INX + STX $30 + INC $30 + LDA [$28],Y + XBA + STA $14 + LDA $14 + SEP #$20 + BPL L0F74 + AND #$FC + LSR + LSR + DEC + DEC + BEQ L0F4E + DEC + DEC + DEC + BEQ L0F4E + DEC + BEQ L0F74 + DEC + BEQ L0F74 + LDA #$80 + TSB $8E + BRA L0F74 +L0F4E LDY $30 +L0F50 LDA [$28],Y + BEQ L0F65 + INY + CMP #$13 + BNE L0F50 + STY $30 + LDA [$28],Y + CMP #$11 + BNE L0F74 + INC $30 + BRA L0F74 +L0F65 REP #$20 + PEA $0045 + PHK + PER L0F6E+2 +L0F6E BRL L3CE4 + BRL L21FC +L0F74 TXY +L0F75 INY + LDA [$28],Y + BNE L0F75 + INY + REP #$20 + STY $2E + LDA #$00C0 + TRB $8D + LDA #$0080 + TSB $8D + PER L0F8C+2 +L0F8C BRL L27B2 +L0F8F BIT $13 + BPL L0F9D + BVC L0F9D + PER L1D64 + PEA $0000 + BRA L0FA3 +L0F9D PER L1D4C + PEA $0000 +L0FA3 PLA + TAY + INC + INC + PHA + PHK + PLB + LDA ($03,S),Y + BMI L0FF6 + BIT $8C + BPL L0FC0 + CMP #$1919 + BNE L0FC0 + BVS L0FD3 + LDA #$00C0 + TRB $8D + LDA ($03,S),Y +L0FC0 PER L0FC3+2 +L0FC3 BRL L221B + BCS L0FCE + BIT $87 + BVS L0FA3 + BRA L0FF6 +L0FCE PLA + PLA + BRL L21FC +L0FD3 LDA #$00C0 + TRB $8D + PLA + PLA + BRA L0F8F + PEA $005D + PHK + PER L0FE3+2 +L0FE3 BRL L3CE4 + BRL L21FC +L0FE9 PEA $0045 + PHK + PER L0FF0+2 +L0FF0 BRL L3CE4 + BRL L21FC +L0FF6 PLA + PLA + LDA #$00FF + TRB $91 + LDA $14 + XBA + ASL + BCC L1008 + BMI L1048 + BRL L1B27 +L1008 BPL L100D + BRL L17AC +L100D BRA L101B +L100F LDA #$007F + TRB $90 + LDA $2E + STA $2C + BRL L0F19 +L101B LDA #$003F + AND $14 + LSR + LSR + DEC + BEQ L1048 + DEC + BNE L102B + BRL L13BA +L102B DEC + BNE L1031 + BRL L11C0 +L1031 DEC + BEQ L1095 + DEC + BNE L103A + BRL L13BA +L103A DEC + BNE L1040 + BRL L112D +L1040 DEC + BNE L1046 + BRL L11B8 +L1046 BRA L0FE9 +L1048 LDA #$00FF + TRB $91 + LDY $30 + INY + PER L1053+2 +L1053 BRL L2A60 + BCC L105B + BRL L21FC +L105B LDY $30 + LDA [$28],Y + TAX + INY + LDA [$28],Y + AND #$FF00 + BNE L0FE9 + LDA $14 + BPL L106F + BRL L0FE9 +L106F XBA + AND #$007F + DEC + ASL + TAY + TXA + STA [$C2],Y + BIT $8F + BVC L100F + LDA $12 + AND #$00FF + CMP #$0077 + BMI L108C + CMP #$007B + BMI L100F +L108C PER L108F+2 +L108F BRL L2A03 + BRL L100F +L1095 LDA $00 + LDY #$00BC + STA [$3C],Y + LDY #$00C0 + STA [$3C],Y + LDA [$BE] + AND #$003F + LSR + LSR + DEC + DEC + BEQ L10BC + DEC + BEQ L10BC + PEA $0002 + PHK + PER L10B6+2 +L10B6 BRL L3CE4 + BRL L21FC +L10BC LDY #$0002 + LDA [$BE],Y + CLC + ADC #$0003 + TAY + LDA [$E0],Y + AND #$00FF + TYX + LDY #$00C4 + STA [$3C],Y + STA $BC + TXY + INY + LDA [$E0],Y + BNE L10E6 + PEA $0023 + PHK + PER L10E0+2 +L10E0 BRL L3CE4 + BRL L21FC +L10E6 STA $06 + INY + INY + INY + INY + LDA [$E0],Y + STA $04 + INY + LDA [$E0],Y + AND #$00FF + INC + CLC + STY $02 + ADC $02 + STA $BA + LDY $5C + LDA #$00F4 + TAX + STA [$CE],Y + INY + LDA $06 + STA [$CE],Y + INY + INY + TXA + STA [$CE],Y + INY + LDA #$0002 + STA [$CE],Y + INY + INY + STY $5C + LDA #$0004 + AND $04 + ORA #$0740 + STA $08 + PER L1127+2 +L1127 BRL L256B + BRL L21FC +L112D LDA #$0080 + TSB $8C + INC $30 + INC $30 + BRL L13BA +L1139 LDA #$0003 + AND $14 + BEQ L1147 + LDY $5C + LDA #$06A5 + BRA L1159 +L1147 LDY $5C + DEY + DEY + BMI L1154 + LDA [$CE],Y + CMP #$0485 + BEQ L115D +L1154 LDA #$04A5 + INY + INY +L1159 STA [$CE],Y + INY + INY +L115D STY $5C + LDA #$0080 + TRB $8C + BRL L21FC + LDY #$0002 + LDA [$28],Y + STA [$BE],Y + CLC + ADC #$0008 + TAY + LDA [$E0],Y + AND #$0003 + STA [$BE] + STZ $36 + LDA #$0080 + TRB $92 + TRB $8F + LDY $00 + PER L1188+2 +L1188 BRL L2F1E + BCC L1190 + BRL L21FC +L1190 LDY $5C + LDA $34 + STA $1C + PER L11A5 + PER L119C+2 +L119C BRL L3B1E + PLA + STY $5C + BRL L21FC +L11A5 LDA [$00],Y + BPL L11AD + LDA $06 + STA $04 +L11AD LDA $04 + DB $FF ; LOGO BUG? + LDA #$0100 + TSB $72 + BRL L21FC +L11B8 LDA #$FFFC + AND $14 + INC + STA $14 +L11C0 LDY $30 + LDA [$28],Y + CMP #$8062 + BNE L11CC + BRL L21FC +L11CC LDY #$0100 + STY $B2 + LDA $00 + STA [$28],Y + LDY $30 +L11D7 LDA [$28],Y + AND #$00FF + BEQ L11E1 + INY + BRA L11D7 +L11E1 STY $AE + STZ $B8 + STZ $6E + STZ $70 +L11E9 LDY $AE + LDA $14 + LSR + BCS L1215 + LDX $00 + LDY $30 + INY + INY + LDA [$28],Y + AND #$00FF + CMP #$0064 + BNE L1212 + LDA [$28],Y + BPL L1212 + XBA + AND #$007F + BEQ L1212 + CMP #$0004 + BPL L1212 + ASL + ASL + TAX +L1212 BRL L12A2 +L1215 DEY + CPY $30 + BMI L1290 + BEQ L1290 + LDA [$28],Y + AND #$00FF + XBA + XBA + BMI L1231 +L1225 XBA + TYX + LDY $B2 + DEY + STA [$28],Y + STY $B2 + TXY + BRA L1215 +L1231 DEY + CPY $30 + BEQ L1290 + STY $AE + STZ $AC + LDA [$28],Y + AND #$00FF + STA $AC + CMP #$0064 + BEQ L1284 + LDA #$0080 + TSB $8F + TYA + INC $6E + LDX #$0400 + PER L1254+2 +L1254 BRL L157A + LDX $AC + TXA + AND #$00FF + CMP #$006C + BEQ L126D + CMP #$006D + BEQ L126D +L1267 TXA + XBA + LDY $AE + BRA L1225 +L126D TXA + XBA + TAX + AND #$00FF + CMP #$006F + BEQ L1267 + PEA $0074 + PHK + PER L127F+2 +L127F BRL L3CE4 + BRA L1267 +L1284 LDA [$28],Y + LDY $B2 + DEY + STA [$28],Y + STY $B2 + BRL L11E9 +L1290 LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + LDA $B8 + STA [$CE],Y + INY + INY + STY $5C + LDX $00 +L12A2 LDY $30 + LDA [$28],Y + BIT $90 + BVC L12BC + AND #$7F00 + STA $22 + CLC + ADC #$0000 + STA $08 + LDA #$0003 + AND $91 + BRA L12CE +L12BC AND #$FF00 + STA $22 + CLC + ADC #$0000 + STX $08 + TSB $08 + LDA #$0003 + AND $14 +L12CE BIT $8F + BPL L12D5 + ORA #$0040 +L12D5 TSB $08 + PER L12DA+2 +L12DA BRL L256B + LDA #$0080 + STA [$CE],Y + INY + LDA $14 + TYX + LSR + BCS L1300 + DEY + STY $5C +L12EC BIT $90 + BVS L12F3 + BRL L21FC +L12F3 STZ $08 + LDA $91 + LSR + ROR $08 + LSR + ROR $08 + BRL L1AC9 +L1300 STY $A0 + LDA $00 + STA [$CE],Y + INX + TXY + BIT $8F + BPL L1312 + PER L130F+2 +L130F BRL L1394 +L1312 LDX $B2 + INX + SEP #$20 + PHY + TXY + LDA [$28],Y + CMP #$2C + BNE L1320 + INX +L1320 PLY +L1321 PHY + TXY + LDA [$28],Y + BEQ L132E + PLY + STA [$CE],Y + INY + INX + BRA L1321 +L132E REP #$20 + PLY + LDA $22 + XBA + CMP #$009E + BNE L133E + PER L133C+1 +L133C BRA L135F +L133E LDA $00 + STA [$CE],Y + INY + STY $5C + LDX $70 + BEQ L1352 +L1349 STA [$CE],Y + INY + DEX + BNE L1349 + STY $5C + DEY +L1352 TYA + DEC + SEC + SBC $A0 + LDY $A0 + ORA [$CE],Y + STA [$CE],Y + BRA L12EC +L135F LDA $14 + BIT #$0002 + BNE L1386 +L1366 BIT $8F + BPL L1393 + LDA #$00FF + STA [$CE],Y + INY + LDA $00 + STA [$CE],Y + TYA + INY + INY + PHY + CLC + LDY #$0084 + ADC [$3C],Y + LDY #$01D4 + STA [$3C],Y + PLY + BRA L1393 +L1386 LDA #$0080 + BIT $8F + BMI L1391 + TSB $90 + BRA L1366 +L1391 TRB $90 +L1393 RTS + +L1394 PHY + LDY #$0086 + LDA [$3C],Y + STA $19 + LDA #$0003 + STA $16 + LDY #$01D4 + LDA [$3C],Y + STA $17 + LDA $01,S + CLC + LDY #$0084 + ADC [$3C],Y + STA $1A + PER L13B5+2 +L13B5 BRL L2173 + PLY + RTS + +L13BA LDA $12 + BEQ L13D2 + BIT $89 + BPL L13D2 + LDA #$0080 + TRB $8A + LDY $5C + LDA #$0485 + STA [$CE],Y + INC $5C + INC $5C +L13D2 LDY $2C + INY + INY + LDA [$28],Y + AND #$00FF + SEC + SBC #$0077 + BPL L13E4 + BRL L1496 +L13E4 CMP #$0004 + BCC L13EC + BRL L1496 +L13EC TAX + LDA $BC + DEC + STA $BC + BPL L1401 + PEA $0019 + PHK + PER L13FB+2 +L13FB BRL L3CE4 + BRL L21FC +L1401 CLC + ADC $BA + TAY + LDA [$E0],Y + AND #$0003 + SEC + STX $02 + SBC $02 + BEQ L141E + PEA $000D + PHK + PER L1418+2 +L1418 BRL L3CE4 + BRL L21FC +L141E LDY $30 + LDA [$28],Y + AND #$00FF + CMP #$006E + BEQ L1468 + CMP #$0068 + BNE L1496 + INY + PER L1433+2 +L1433 BRL L2A60 + LDY $30 + LDA [$28],Y + AND #$00FF + CMP #$0077 + BCC L1447 + CMP #$007B + BCC L1451 +L1447 PEA $0045 + PHK + PER L144E+2 +L144E BRL L3CE4 +L1451 STZ $12 + LDY $5C + LDA #$32D4 + STA [$CE],Y + INY + INY + LDA #$30D4 + STA [$CE],Y + INY + INY + STY $5C + BRL L21FC +L1468 LDY $30 + LDA [$28],Y + XBA + AND #$007F + DEC + ASL + ASL + TAY + LDA [$BE],Y + AND #$00FF + CMP #$00FF + BEQ L1496 + LDA #$0080 + TSB $8F + LDA $30 + LDX #$0400 + PER L148B+2 +L148B BRL L157A + LDA #$0080 + TRB $8F + BRL L21FC +L1496 LDY $30 + INY + PER L149C+2 +L149C BRL L2A60 + BIT $8A + BMI L14A6 + BRL L15B5 +L14A6 LDY $30 + LDA $12 + BNE L14AF + BRL L0FE9 +L14AF CMP [$28],Y + BEQ L14BE + LDA $12 + PER L14B8+2 +L14B8 BRL L2C19 + BRL L15B5 +L14BE LDA #$C000 + AND $08 + CLC + ROL + ROL + ROL + PHA + LDA #$0003 + AND $14 + CMP $01,S + BEQ L14E3 + PLA + ASL + ASL + STA $08 + PER L14D9+2 +L14D9 BRL L2A55 + LDA $5C + STA $5E + BRL L15C8 +L14E3 PLA +L14E4 BIT $8B + BPL L150C +L14E8 STZ $08 + DEC $08 + PER L14EF+2 +L14EF BRL L2A12 + LDA #$00FC + AND $14 + CMP #$0018 + BNE L14FF + BRL L1139 +L14FF LDY $5C + LDA #$0060 + STA [$CE],Y + INY + STY $5C + BRL L21FC +L150C LDA #$0003 + AND $14 + CMP #$0003 + BEQ L1545 + PER L1519+2 +L1519 BRL L1675 + BCC L1521 + BRL L21FC +L1521 BIT $89 + BPL L152E + PER L1528+2 +L1528 BRL L3145 + BRL L21FC +L152E LDA #$0003 + AND $14 + CLC + ROR + ROR + ROR + ORA #$0106 + STA $34 + PER L153F+2 +L153F BRL L3151 + BRL L21FC +L1545 LDA #$0080 + TSB $92 + LDA #$0400 + STA $36 + PER L1552+2 +L1552 BRL L1677 + LDA $36 + ORA #$C000 + STA $34 + LDA #$010A + STA $36 + PER L1564+2 +L1564 BRL L3151 + LDA #$0080 + TRB $92 + LDA #$050F + STA $08 + PER L1574+2 +L1574 BRL L256B + BRL L21FC +L157A INC + INC + STA $06 + LDA #$3F7F + TRB $8A + BRA L1593 +L1585 INC + INC + STA $06 + PHX + PER L158D+2 +L158D BRL L2A03 + PLX + STZ $8A +L1593 LDA #$0013 + STA $0A + LDA #$8000 + STA $08 + STZ $60 + STZ $64 + STZ $88 + LDA #$0040 + TRB $8C + LDA $5C + STA $5E + STX $36 + PER L15B1+2 +L15B1 BRL L28B7 + RTS + +L15B5 LDA $5C + STA $5E + LDA $30 + LDX #$0106 + PER L15C1+1 +L15C1 BRA L1585 + BCC L15C8 + BRL L21FC +L15C8 LDA #$0003 + AND $14 + PHA + LDA $08 + LSR + LSR + AND #$0003 + STA $08 + PLX + CMP #$0003 + BNE L15F3 + TXA + CPX #$0003 + BNE L15E6 + BRL L14E4 +L15E6 PEA $0002 + PHK + PER L15ED+2 +L15ED BRL L3CE4 + BRL L21FC +L15F3 CPX #$0003 + BEQ L15E6 + TXA + CMP $08 + BNE L1606 + BIT $8B + BPL L1604 + BRL L14E8 +L1604 BRA L1639 +L1606 CLC + ROR + ROR + ROR + TSB $08 + LDA #$000B + STA $0A + PER L1614+2 +L1614 BRL L2584 + PER L161A+2 +L161A BRL L2D64 + BCC L1622 + BRL L21FC +L1622 BIT $8B + BMI L165D + BVS L1639 + BIT $89 + BVC L162F + BRL L14E4 +L162F LDY $30 + STA [$28],Y + INY + INY + STY $06 + BRA L163F +L1639 LDY $30 + INY + INY + STY $06 +L163F LDA $5E + STA $5C + PER L1646+1 +L1646 BRA L1675 + BCC L164D + BRL L21FC +L164D STZ $64 + LDA #$8000 + STA $08 + PER L1657+2 +L1657 BRL L28B7 + BRL L21FC +L165D BIT $89 + BVC L1664 + BRL L14E8 +L1664 LDY $30 + STA [$28],Y + TYA + LDX #$0106 + PER L166F+2 +L166F BRL L1585 + BRL L14E8 +L1675 STZ $36 +L1677 LDY $2C + INY + INY + LDA [$28],Y + TAX + AND #$00FF + CMP #$006E + BNE L169F + TXA + XBA + AND #$007F + DEC + ASL + ASL + TAY + PER L1692+2 +L1692 BRL L2F1E + BCS L169E + LDA #$3FFF + AND $34 + STA $36 +L169E RTS + +L169F CMP #$0068 + BNE L16A7 + BRL L176B +L16A7 SEC + SBC #$0077 + BMI L16D0 + TAX + STA $16 + CMP #$0003 + BEQ L16DD + BCS L16D0 + LDY #$00BC + LDA [$3C],Y + STA $1C + LDY #$00BE + STA [$3C],Y + CPX #$0001 + BMI L16F4 + BEQ L16F8 + CLC + ADC #$0008 + BRA L16FC +L16D0 PEA $0045 + PHK + PER L16D7+2 +L16D7 BRL L3CE4 + SEC + BRA L169E +L16DD LDY #$00C0 + LDA [$3C],Y + STA $1C + LDY #$00C2 + STA [$3C],Y + INC + INC + INC + INC + LDY #$00C0 + STA [$3C],Y + BRA L1701 +L16F4 INC + INC + BRA L16FC +L16F8 INC + INC + INC + INC +L16FC LDY #$00BC + STA [$3C],Y +L1701 LDY $2C + INY + INY + LDA [$28],Y + XBA + AND #$007F + DEC + ASL + ASL + CLC + ADC #$0048 + STA $1E + ORA #$0200 + STA $36 + INC + INC + STA $1F + LDY $5C + STY $5E + LDA $1C + STA $20 + BNE L1731 + LDA $1E + XBA + STA $1C + PER L3879 + BRA L1734 +L1731 PER L386A +L1734 PER L1737+2 +L1737 BRL L3B1E + PLA + LDA #$00A0 + LDX $16 + CPX #$0003 + BNE L1748 + LDA #$00A9 +L1748 STA [$CE],Y + INY + LDA $20 + LSR $16 + BCC L1757 + LSR $16 + BCS L1761 + BRA L175F +L1757 LSR $16 + BCC L1761 + INC + INC + INC + INC +L175F INC + INC +L1761 STA [$CE],Y + INY + INY + STY $5C + CLC + BRL L169E +L176B LDY $5C + LDA #$00A9 + BIT $91 + BMI L177B + BIT $8E + BMI L177B + LDA #$00A0 +L177B STA [$CE],Y + INY + LDA $00 + BIT $8E + BMI L179D + BIT $91 + BMI L179D + LDA #$0003 + AND $14 + TAX + BEQ L179D + LDA #$0002 + DEX + BEQ L179D + DEX + BNE L179D + INC + INC + INC + INC +L179D STA [$CE],Y + INY + INY + STY $5C + LDA #$0230 + STA $36 + CLC + BRL L169E +L17AC STZ $B4 + LDA $14 + XBA + ASL + ASL + ASL + BCS L17B9 + BRL L19F7 +L17B9 BMI L17BE + BRL L1CE1 +L17BE BIT $92 + BPL L17D2 + LDA #$7702 + LDY $5C + STA [$CE],Y + INY + INY + STY $5C + LDA #$0080 + TRB $93 +L17D2 LDY $30 + LDA [$28],Y + TAX + AND #$00FF + CMP #$006E + BEQ L17E2 + BRL L0FE9 +L17E2 TXA + XBA + PER L17E7+2 +L17E7 BRL L8854 +L17EA PER L17ED+2 +L17ED BRL L19D0 + BCC L17F5 + BRL L18BB +L17F5 LDA [$28],Y + AND #$FF00 + BNE L17FF + BRL L18BB +L17FF STA [$28],Y + INY + STY $16 + INY + PER L1808+2 +L1808 BRL L2A60 + BIT $8A + BPL L1819 + LDA $12 + BEQ L1819 + PER L1816+2 +L1816 BRL L2C19 +L1819 LDA $5C + STA $5E + LDA $16 + LDX #$0106 + PER L1825+2 +L1825 BRL L1585 + BCC L182D + BRL L21FC +L182D LDY $B6 + LDA #$0003 + AND [$E0],Y + PHA + LDA $08 + LSR + LSR + AND #$0003 + CMP $01,S + BEQ L18A3 + CMP #$0003 + BNE L1852 +L1845 PEA $0002 + PHK + PER L184C+2 +L184C BRL L3CE4 + BRL L21FC +L1852 STA $08 + LDA $01,S + CMP #$0003 + BEQ L1845 + LDA $08 + ASL + ASL + ASL + ORA $01,S + CLC + ROR + ROR + ROR + STA $08 + LDA #$000B + STA $0A + PLA + PER L1871+2 +L1871 BRL L2584 + BIT $89 + BVS L1885 + PER L187B+2 +L187B BRL L2D64 + LDY $16 + STA [$28],Y + PHA + BRA L18A3 +L1885 LDA #$0400 + STA $36 + LDA #$C000 + AND $08 + ORA #$0106 + STA $34 + PER L1897+2 +L1897 BRL L3151 + STZ $12 + STZ $88 + STZ $8A + BRL L17EA +L18A3 PLA + LDA $5E + STA $5C + LDX #$0400 + LDA $16 + PER L18B0+2 +L18B0 BRL L1585 + BCC L18B8 + BRL L21FC +L18B8 BRL L17EA +L18BB LDY #$1092 + LDA [$3C],Y + LDY $5C + CMP #$0024 + BMI L18FD + CLC + ADC #$FFDC + PHA + LDA #$4400 + ORA #$00A5 + STA [$CE],Y + INY + INY + LDA #$6918 + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y + INY + INY + LDA #$4400 + ORA #$0085 + STA [$CE],Y + INY + INY + LDA #$0290 + STA [$CE],Y + INY + INY + LDA #$4600 + ORA #$00E6 + STA [$CE],Y + INY + INY +L18FD TYX + LDY $30 + LDA [$28],Y + XBA + AND #$007F + DEC + ASL + ASL + TAY + INY + INY + LDA [$BE],Y + CLC + ADC #$0004 + TAY + LDA [$E0],Y + SEC + STX $02 + SBC $02 + SEC + SBC #$0006 + SEC + LDY #$0084 + SBC [$3C],Y + PHA + TXY + LDA #$0262 + STA [$CE],Y + INY + INY + LDA #$8200 + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y + INY + INY + TYX + LDY #$1092 + LDA [$3C],Y + TXY + CMP #$0024 + BMI L197B + CLC + ADC #$FFDC + PHA + LDA #$4400 + ORA #$00A5 + STA [$CE],Y + INY + INY + LDA #$E938 + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y + INY + INY + LDA #$4400 + ORA #$0085 + STA [$CE],Y + INY + INY + LDA #$02B0 + STA [$CE],Y + INY + INY + LDA #$4600 + ORA #$00C6 + STA [$CE],Y + INY + INY +L197B PER L197E+1 +L197E BRA L19AE + PER L1983+2 +L1983 BRL L2114 + LDA #$0003 + AND $14 + CLC + ROR + ROR + ROR + STA $08 + LDA #$4000 + STA $88 + XBA + STA $8A + PER L199C+2 +L199C BRL L2D64 + LDY $30 + STA [$28],Y + STA $12 + LDA $00 + INY + INY + STA [$28],Y + BRL L1048 +L19AE LDA $B8 + BEQ L19CD + LDA #$183B + STA [$CE],Y + INY + INY + LDA #$0069 + STA [$CE],Y + INY + LDA $B8 + STA [$CE],Y + INY + INY + STZ $B8 + LDA #$001B + STA [$CE],Y + INY +L19CD STY $5C + RTS + +L19D0 LDY $B4 + DEY + STY $B6 + LDY $30 + LDX #$FFFF + SEP #$20 +L19DC LDA [$28],Y + BEQ L19ED + CMP #$2C + BNE L19EA + LDX $B6 + INX + STX $B6 + TYX +L19EA INY + BRA L19DC +L19ED SEC + INX + BEQ L19F3 + DEX + CLC +L19F3 TXY + REP #$20 + RTS + +L19F7 PER L19FA+1 +L19FA BRA L19D0 + BCS L1A43 + LDA [$28],Y + AND #$FF00 + BEQ L1A43 + STA [$28],Y + INY + STY $16 + INY + PER L1A0E+2 +L1A0E BRL L2A60 + LDA $5C + STA $5E + LDA #$0040 + TSB $8B + LDA $16 + LDX #$0106 + PER L1A22+2 +L1A22 BRL L157A + LDA #$0040 + TRB $8B + BCC L1A2F + BRL L21FC +L1A2F ASL $08 + LSR $08 + LSR $08 + LSR $08 + BIT $90 + BVC L1A4A +L1A3B PER L1A3E+2 +L1A3E BRL L2A55 + BRA L1A4A +L1A43 BIT $90 + BVS L1A3B + BRL L1B1A +L1A4A BIT $90 + BMI L1A8E + LDA #$000C + AND $14 + CMP #$000C + BEQ L1A84 + LDA #$0003 + AND $08 + CMP #$0003 + BNE L1A8E +L1A62 BIT $90 + BVC L1A77 + LDY $30 + LDA [$28],Y + AND #$7F00 + CMP #$1900 + BMI L1A77 + CMP #$1E00 + BMI L1A8E +L1A77 PEA $000D + PHK + PER L1A7E+2 +L1A7E BRL L3CE4 + BRL L21FC +L1A84 LDA #$0003 + AND $08 + CMP #$0003 + BNE L1A62 +L1A8E LDY $30 + LDA [$28],Y + AND #$00FF + CMP #$0063 + BEQ L1A9D + BRL L0FE9 +L1A9D PER L1AA0+2 +L1AA0 BRL L2A03 + LDY $30 + LDA [$28],Y + AND #$7F00 + BIT $90 + BVS L1AFF + CLC + ADC #$1800 + TSB $08 + LDA #$0003 + AND $14 + ASL $08 + ASL $08 + ROR + ROR $08 + ROR + ROR $08 + PER L1AC6+2 +L1AC6 BRL L2597 +L1AC9 LDA #$3FFF + TRB $08 + LDA #$4000 + STA $88 + LDA #$FFBF + BIT $90 + BVS L1ADC + TRB $8A +L1ADC PER L1ADF+2 +L1ADF BRL L2D64 + BCC L1AE7 + BRL L21FC +L1AE7 LDY $30 + STA [$28],Y + STA $12 + LDA $00 + INY + INY + STA [$28],Y + BIT $8A + BPL L1AFA + BRL L1048 +L1AFA STZ $12 + BRL L1048 +L1AFF TSB $08 + LDA #$0003 + AND $14 + ASL + ASL + TSB $08 + PER L1B0D+2 +L1B0D BRL L256B + LDA $14 + LSR + ROR $08 + LSR + ROR $08 + BRA L1AC9 +L1B1A PEA $0095 + PHK + PER L1B21+2 +L1B21 BRL L3CE4 + BRL L21FC +L1B27 STZ $B8 + LDA $30 + STA $16 +L1B2D PER L1B30+2 +L1B30 BRL L1CC7 + BCC L1B38 + BRL L1BCF +L1B38 LDA [$28],Y + AND #$FF00 + BNE L1B42 + BRL L1BCF +L1B42 STA [$28],Y + INY + STY $16 + INY + PER L1B4B+2 +L1B4B BRL L2A60 + BCC L1B53 + BRL L21FC +L1B53 LDA $5C + STA $5E + LDY $16 + PER L1B5C+2 +L1B5C BRL L29B2 + TXA + BNE L1B74 + LDA $16 + LDX #$0400 + PER L1B6A+2 +L1B6A BRL L157A + BCC L1B72 + BRL L21FC +L1B72 BRA L1B2D +L1B74 LDA $16 + LDX #$0106 + PER L1B7C+2 +L1B7C BRL L157A + BCC L1B84 + BRL L21FC +L1B84 ASL $08 + LSR $08 + LSR $08 + LSR $08 + LDA $08 + BNE L1B94 + LDY $5C + BRA L1BA7 +L1B94 STZ $64 + LDA #$0100 + TSB $08 + PER L1B9E+2 +L1B9E BRL L2597 + BIT $89 + BVC L1BB7 + LDY $5C +L1BA7 LDA #$04D4 + STA [$CE],Y + INY + INY + INC $B8 + INC $B8 + STY $5C + BRL L1B2D +L1BB7 LDA #$4000 + STA $88 + LDA #$FFBF + TRB $8A + PER L1BC4+2 +L1BC4 BRL L2D64 + STZ $12 + LDY $16 + STA [$28],Y + BRA L1B74 +L1BCF LDY $30 + LDA [$28],Y + XBA + AND #$007F + DEC + ASL + ASL + TAY + INY + INY + LDA [$BE],Y + INC + INC + STA $16 + INC + INC + TAY + LDA [$E0],Y + STA $1C + INY + INY + LDA [$E0],Y + XBA + TAX + DEC + ASL + ASL + CLC + ADC #$0050 + STA $1E + INC + INC + XBA + TSB $1E + CPX #$0007 + BNE L1C13 + INC $1C + INC $1C + LDA $1E + XBA + DEC + DEC + STA $1E + PER L387E + BRA L1C16 +L1C13 PER L386A +L1C16 LDY $5C + PER L1C1B+2 +L1C1B BRL L3B1E + PLA + LDA #$00F4 + STA [$CE],Y + INY + LDA $B8 + INC + INC + INC + INC + STA [$CE],Y + INY + INY + LDX #$0200 + LDA $14 + BIT #$0010 + BEQ L1C41 + BIT #$0020 + BNE L1C41 + LDX #$0110 +L1C41 STY $5C + STX $08 + AND #$002F + TSB $08 + LDY $16 + INY + INY + INY + INY + INY + INY + LDA [$E0],Y + TAX + AND #$0008 + ASL + ASL + ASL + TSB $08 + TXA + AND #$0004 + ASL + ASL + TSB $08 + PER L1C68+2 +L1C68 BRL L256B + STZ $08 + LDA $14 + LSR + ROR $08 + LSR + ROR $08 + PER L1C78+2 +L1C78 BRL L2114 + LDA #$0020 + BIT $14 + BEQ L1CA5 + LSR + BIT $14 + BEQ L1C9C + LDA #$0040 + TSB $90 + LDA $14 + ASL $08 + ASL $08 + LSR + LSR + LSR + ROR $08 + LSR + ROR $08 + BRA L1CAA +L1C9C STZ $88 + STZ $8A + STZ $12 + BRL L100F +L1CA5 LSR + BIT $14 + BNE L1C9C +L1CAA LDA #$4000 + STA $88 + XBA + STA $8A + PER L1CB5+2 +L1CB5 BRL L2D64 + LDY $30 + STA [$28],Y + STA $12 + LDA $00 + INY + INY + STA [$28],Y + BRL L1048 +L1CC7 LDY $16 + LDX $00 + SEP #$20 +L1CCD LDA [$28],Y + BEQ L1CD9 + CMP #$2C + BEQ L1CD8 + INY + BRA L1CCD +L1CD8 TYX +L1CD9 REP #$20 + SEC + TXY + BEQ L1CE0 + CLC +L1CE0 RTS + +L1CE1 STZ $08 + LDA #$00FF + TRB $91 + LDA #$0040 + TSB $91 + LDY $30 + LDA [$28],Y + AND #$7F00 + XBA + CMP #$000F + BPL L1D07 + PEA $0045 + PHK + PER L1D01+2 +L1D01 BRL L3CE4 + BRL L21FC +L1D07 CMP #$0019 + BMI L1D1E + BEQ L1D26 + CMP #$001E + BPL L1D16 + BRL L19F7 +L1D16 CMP #$0032 + BMI L1D40 + BRL L19F7 +L1D1E LDA #$0080 + TSB $91 + BRL L19F7 +L1D26 INY + INY + LDA [$28],Y + AND #$FF00 + BEQ L1D32 + BRL L19F7 +L1D32 PER L1D35+2 +L1D35 BRL L2A03 + LDA #$0003 + STA $08 + BRL L19F7 +L1D40 LDA #$0003 + TRB $91 + AND $14 + TSB $91 + BRL L11B8 +L1D4C DB $0C + DB $0C + DB $0E + DB $0D + DB $0F + DB $0F + DB $10 + DB $10 + DB $12 + DB $11 + DB $18 + DB $13 + DB $19 + DB $19 + DB $1A + DB $1A + DB $1C + DB $1B + DB $1D + DB $1D + DB $1E + DB $1E + DB $FF + DB $FF +L1D64 DB $2C + DB $2C + DB $FF + DB $FF + LDY #$0002 + LDA [$28],Y + TAX + LDY #$0086 + LDA [$3C],Y + PHA + LDY #$0084 + LDA [$3C],Y + TXY + STA [$E4],Y + INY + INY + PLA + SEP #$20 + STA [$E4],Y + REP #$20 + BRL L0AF4 + LDA #$0080 + TRB $8C + LDY #$0002 + LDA [$28],Y + BRA L1D9D + LDY #$0002 + LDA [$28],Y + CLC + ADC #$0004 +L1D9D TAX + LDY #$0086 + LDA [$3C],Y + PHA + LDY #$0084 + LDA [$3C],Y + TXY + STA [$E0],Y + INY + INY + PLA + SEP #$20 + STA [$E0],Y + REP #$20 + BRL L0AF4 + LDY #$0002 + LDA [$28],Y + CLC + ADC #$0004 + TAX + PER L1DC5+1 +L1DC5 BRA L1DEA + BRL L21FC + LDY #$0002 + LDA [$28],Y + CLC + ADC #$0004 + TAX + PER L1DD7+1 +L1DD7 BRA L1DFC + BRL L21FC +L1DDC LDY #$0086 + LDA [$3C],Y + STA $19 + LDA #$0002 + STA $16 + BRA L1E17 +L1DEA LDY $5C + LDA #$624B + STA [$CE],Y + INY + INY + LDA #$0002 + STA [$CE],Y + INY + INY + BRA L1DFE +L1DFC LDY $5C +L1DFE LDA #$0082 + STA [$CE],Y + INY + STY $5C + LDA #$FFFE + STA $22 +L1E0B LDY #$0086 + LDA [$3C],Y + STA $19 + LDA #$0001 + STA $16 +L1E17 STX $1A + TXY + LDA [$E0],Y + BEQ L1E3A + CLC + ADC $22 + DEC $16 + DEC $16 + BEQ L1E30 + SEC + LDY #$0084 + SBC [$3C],Y + SEC + SBC $5C +L1E30 LDY $5C + STA [$CE],Y + INY + INY + STY $5C + BRA L1E6A +L1E3A INY + INY + LDA [$E0],Y + AND #$FF00 + CMP #$7E00 + BEQ L1E50 + PEA $0012 + PHK + PER L1E4D+2 +L1E4D BRL L3CE4 +L1E50 LDA $5C + CLC + LDY #$0084 + ADC [$3C],Y + STA $17 + LDY $5C + LDA $22 + STA [$CE],Y + INY + INY + STY $5C + PER L1E67+2 +L1E67 BRL L2165 +L1E6A RTS + + LDY $00 +L1E6D LDA #$0082 + STA [$CE],Y + INY + TYX + LDY #$0086 + LDA [$3C],Y + STA $19 + LDA $00 + STA $16 + LDY #$0002 + LDA [$28],Y + STA $1A + TAY + LDA [$E4],Y + BEQ L1EBF + PHY + DEC + DEC + SEC + LDY #$0084 + SBC [$3C],Y + SEC + STX $02 + SBC $02 + TXY + STA [$CE],Y + INY + INY + STY $5C + PLY + INY + INY + LDA [$E4],Y + AND #$00FF + LDY #$0086 + CMP [$3C],Y + BNE L1EB2 + BRL L21FC +L1EB2 PEA $0045 + PHK + PER L1EB9+2 +L1EB9 BRL L3CE4 + BRL L21FC +L1EBF TXA + CLC + LDY #$0084 + ADC [$3C],Y + STA $17 + TXY + LDA #$FFFE + STA [$CE],Y + INY + INY + STY $5C + PER L21FA+1 + BRL L2165 + LDA #$03F0 +L1EDB STA [$CE] + LDY #$0002 + BRA L1E6D + LDA #$03D0 + BRA L1EDB + LDY #$0002 + LDA [$28],Y + TAY + INY + INY + INY + LDA #$00F4 + STA [$CE] + LDA [$E0],Y + AND #$00FF + TYX + LDY #$0001 + STA [$CE],Y + INY + INY + LDA #$00F4 + STA [$CE],Y + INY + PHY + TXY + INY + INY + INY + LDA [$E0],Y + TYX + PLY + STA [$CE],Y + INY + INY + LDA #$00F4 + STA [$CE],Y + INY + PHY + TXY + DEY + DEY + LDA [$E0],Y + PLY + STA [$CE],Y + INY + INY + LDA #$00F4 + STA [$CE],Y + INY + LDA #$0006 + STA [$CE],Y + INY + INY + STY $5C + TXY + INY + INY + LDA #$000B + AND [$E0],Y + ORA #$0100 + STA $08 + TXY + DEY + DEY + DEY + DEY + LDA #$0004 + AND [$E0],Y + TSB $08 + PER L1F51+2 +L1F51 BRL L256B + BRL L21FC + LDA $BC + BEQ L1F68 + PEA $0045 + PHK + PER L1F62+2 +L1F62 BRL L3CE4 + BRL L21FC +L1F68 LDY #$0002 + LDA [$28],Y + INC + INC + INC + INC + TAY + LDA [$E0],Y + PHA + INY + INY + INY + INY + LDA [$E0],Y + AND #$0004 + ORA #$0700 + STA $08 + LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + LDA #$00F4 + STA [$CE],Y + INY + TYX + LDY #$00C4 + LDA [$3C],Y + ASL + ASL + INC + INC + TXY + STA [$CE],Y + INY + INY + STY $5C + PER L1FAA+2 +L1FAA BRL L256B + BRL L21FC + PER L1FB3+2 +L1FB3 BRL L0C87 + LDY #$0086 + LDA [$3C],Y + INC + PHA + LDY #$0086 + STA [$3C],Y + ASL + ASL + ASL + ASL + TAX + LDY #$0004 + LDA [$28],Y + TAY + INY + INY + LDA [$E0],Y + AND #$FF00 + PHA + INY + INY + INY + INY + INY + INY + LDA [$E0],Y + AND #$0004 + LSR + LSR + XBA + LSR + ORA $03,S + ORA $01,S + PHY + TXY + STA [$E4],Y + TYA + CLC + ADC #$000C + TAY + PLA + INC + STA [$E4],Y + PLA + PLA + LDA $00 + LDY #$0084 + STA [$3C],Y + PER L2002+2 +L2002 BRL L0B62 + BRL L21FC + STZ $1C + LDY #$0002 + LDA [$28],Y + CMP #$0019 + BNE L202A + LDY $5C + LDA #$0048 + STA [$CE],Y + INY + LDA #$04D4 + STA [$CE],Y + INY + INY + STY $5C + LDA #$0004 + STA $1C +L202A LDA #$00F4 + LDY $5C + STA [$CE],Y + INY + STY $5C + LDY #$0004 + LDA [$28],Y + BNE L2045 + LDY $5C + STA [$CE],Y + INY + INY + STY $5C + BRA L2052 +L2045 CLC + ADC #$0004 + TAX + STZ $22 + PER L204F+2 +L204F BRL L1DDC +L2052 LDY $5C + LDA #$00F4 + STA [$CE],Y + INY + LDA $1C + INC + INC + STA [$CE],Y + INY + INY + STY $5C + LDY #$0002 + LDA [$28],Y + SEC + SBC #$0014 + ASL + ASL + ORA #$9000 + STA $08 + PER L2077+2 +L2077 BRL L256B + BRL L21FC + LDY #$0002 + LDA [$28],Y + ASL + STA $1C + BCS L20E0 + CLC + ADC #$000F + STA $1E + STZ $20 + PER L20C5 +L2092 LSR $1C + LDY $5C + PER L2099+2 +L2099 BRL L3B1E + STY $5C + LDY #$0004 + STY $20 + STZ $22 + DEC $22 +L20A7 LDY $20 + LDA [$28],Y + CLC + ADC #$0004 + TAX + PER L20B3+2 +L20B3 BRL L1E0B + INC $22 + INC $22 + INC $20 + INC $20 + DEC $1C + BNE L20A7 + BRL L21FC +L20C5 DEC + BMI L20CD + CMP #$0000 + BMI L20D0 +L20CD BRL L20D0 +L20D0 ASL + TAY + PHK + PLB + PER L20DF + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + RTS + +L20DF DB $FF +L20E0 CLC + ADC #$0013 + STA $1E + LDA $1C + CLC + ADC #$000E + STA $20 + STZ $22 + PER L20F5 + BRA L2092 +L20F5 DEC + BMI L20FD + CMP #$0000 + BMI L2100 +L20FD BRL L2100 +L2100 PHK + PER L2104 +L2104 ASL + TAY + PHK + PLB + PER L2113 + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + RTS + +L2113 DB $FF +L2114 LDY #$0036 + LDA [$3C],Y + BNE L2156 + LDA $5C + BEQ L2156 + CMP #$0801 + BCS L2159 + PEA $0000 + PHA + CLC + LDY #$0084 + ADC [$3C],Y + BCC L213D + PEA $005B + PHK + PER L2137+2 +L2137 BRL L3CE4 + BRL L0C63 +L213D LDY #$0084 + STA [$3C],Y + PEI $D0 + PEI $CE + LDY #$0006 + LDA [$3C],Y + PHA + LDX #$000A + PHK + PER L2153+2 +L2153 BRL L047B +L2156 STZ $5C + RTS + +L2159 PEA $008C + PHK + PER L2160+2 +L2160 BRL L3CE4 + BRA L2156 +L2165 BIT $8F + BPL L2173 + PEA $0091 + PHK + PER L2170+2 +L2170 BRL L3CE4 +L2173 LDY #$0036 + LDA [$3C],Y + BNE L21EF + PEI $2A + PEI $28 + LDA #$29D8 + CLC + ADC $3C + STA $28 + LDA $00 + ADC $3E + STA $2A + LDY #$00C6 + LDA [$3C],Y + TAY + LDA $16 + STA [$28],Y + INY + INY + LDA $18 + STA [$28],Y + INY + INY + LDA $1A + STA [$28],Y + INY + INY + TYA + CPY #$01FE + BCC L21E4 + BNE L21F0 + PEA $0000 + PEA $01FE + PEI $2A + PEI $28 + LDY #$0004 + LDA [$3C],Y + BNE L21CC + LDA #$0003 + PHK + PER L21C4+2 +L21C4 BRL L0406 + LDY #$0004 + STA [$3C],Y +L21CC PHA + LDX #$000C + PHK + PER L21D4+2 +L21D4 BRL L047B + LDY #$00C8 + LDA [$3C],Y + INC + LDY #$00C8 + STA [$3C],Y + LDA $00 +L21E4 LDY #$00C6 + STA [$3C],Y +L21E9 PLA + STA $28 + PLA + STA $2A +L21EF RTS + +L21F0 PEA $0045 + PHK + PER L21F7+2 +L21F7 BRL L3CE4 +L21FA BRA L21E9 +L21FC REP #$20 + LDA $40 + TCS + PER L2204+2 +L2204 BRL L2114 + LDA $00 + LDY #$0032 + STA [$3C],Y + LDY #$0C8A + STA [$3C],Y + LDA #$0080 + TSB $93 + BRL L0AF4 +L221B STA $0C + TSC + STA $42 + STZ $88 + LDY $30 + BRA L222E +L2226 LDA $88 + LSR + BCS L222E + BRL L22B3 +L222E LDA $00 + SEP #$20 + LDA #$01 + TRB $88 +L2236 LDA [$28],Y + BEQ L22B3 + CMP $0D + BCC L2244 + CMP $0C + BEQ L2253 + BCC L2253 +L2244 CMP #$0C + BCC L2250 + CMP #$1F + BCS L2250 + LDA #$40 + TSB $88 +L2250 INY + BRA L2236 +L2253 PHY + PHA + CMP #$12 + BNE L2270 + PER L225C+1 +L225C BRA L22BA + BCS L2289 + DEY + CPY $30 + BMI L227B + LDA [$28],Y + INY + CMP #$0C + BCC L2270 + CMP #$1F + BCC L2289 +L2270 DEY + CPY $30 + BMI L227B + LDA [$28],Y + CMP #$19 + BEQ L2289 +L227B INY + BIT $8D + BPL L228D +L2280 INY + LDA [$28],Y + BMI L228D + BEQ L228D + BRA L2280 +L2289 PLA + PLY + BRA L2250 +L228D PLA + PLY + PHY + PHA + INY + LDX $00 +L2294 LDA [$28],Y + BEQ L22A8 + CMP #$0C + BCC L22AD + CMP #$1F + BCS L22AD + TXA + TSB $88 + BNE L22A8 + INY + BRA L2294 +L22A8 PLA + PLY + BRL L264E +L22AD INY + LDX #$0001 + BRA L2294 +L22B3 CLC +L22B4 REP #$20 + LDA $42 + TCS + RTS + + MX %10 +L22BA PHY + PHX + LDX $00 + PHX + INY + LDA [$28],Y + CMP #$6C + BEQ L22CA + CMP #$6D + BNE L22CD +L22CA PLX + INX + PHX +L22CD DEY + DEY + DEY + LDA [$28],Y + CMP #$6C + BEQ L22DA + CMP #$6D + BNE L22DB +L22DA DEX +L22DB PHX + PLX + BEQ L22EC + PEA $007C + PHK + PER L22E6+2 +L22E6 BRL L3CE4 + SEC + BRA L22B4 +L22EC CLC + PLX + BEQ L22F1 + SEC +L22F1 PLX + PLY + RTS + +L22F4 BIT $88 + BPL L232F + LDA $08 + XBA + ASL + ASL + ASL + ASL + AND #$00 + CPY #$0885 + LDX $64 + BNE L230B + BRL L24AD + MX %00 +L230B CLC + ROL + ROL $64 + ROL + ROL $64 + LDA $64 + STZ $64 + EOR #$0040 + STA $08 + LDA #$000A + STA $0A + PER L2323+2 +L2323 BRL L25DE + PER L2329+2 +L2329 BRL L2584 + BRL L24AD +L232F LDA #$000F + AND $08 + PER L254B + PHK + PLB + ASL + TAY + LDA ($01,S),Y + PLY + TAY + BPL L2355 + INC + BNE L2347 + BRL L2434 +L2347 PEA $000D + PHK + PER L234E+2 +L234E BRL L3CE4 + SEC + BRL L22B4 +L2355 BEQ L235A + BRL L2483 +L235A LDA $0A + CMP #$0011 + BEQ L236B + CMP #$0012 + BEQ L236B + LDA $00 + BRL L2483 +L236B LDY $5C + LDA $64 + BEQ L2399 + ASL + LSR + STA $64 + AND #$0007 + BEQ L2390 + TRB $64 + TAX + STZ $62 +L237F DEX + BMI L2399 + LDA $64 + BNE L2390 + INC $64 + PER L238B+2 +L238B BRL L2420 + BRA L237F +L2390 STZ $64 + PER L2395+1 +L2395 BRA L23DC + BRA L237F +L2399 STZ $64 + LDA #$0011 + CMP $0A + BNE L23D0 + LDA #$04A5 + STA [$CE],Y + INY + INY + LDA #$6518 +L23AC STA [$CE],Y + INY + INY + LDA #$5008 + STA [$CE],Y + INY + INY + LDA #$0202 + STA [$CE],Y + INY + INY + LDA #$8573 + STA [$CE],Y + INY + INY + LDA #$0004 + STA [$CE],Y + INY + STY $5C + BRL L24AD +L23D0 LDA #$04A5 + STA [$CE],Y + INY + INY + LDA #$E538 + BRA L23AC +L23DC LDA #$00A9 + STA [$CE],Y + INY + INY + LDA #$3800 + STA [$CE],Y + INY + INY + LDA #$08E5 + STA [$CE],Y + INY + INY + LDA $62 + BNE L2407 + LDA #$0250 + STA [$CE],Y + INY + INY + LDA #$7302 + STA [$CE],Y + STY $62 + INY + INY + BRA L2418 +L2407 LDA #$0070 + STA [$CE],Y + INY + LDA $62 + DEC + SEC + STY $02 + SBC $02 + STA [$CE],Y + INY +L2418 LDA #$0885 + STA [$CE],Y + INY + INY + RTS + +L2420 LDA #$FFA9 + STA [$CE],Y + INY + INY + XBA + STA [$CE],Y + INY + LDA #$0845 + STA [$CE],Y + INY + INY + BRA L2418 +L2434 LDA #$000F + STA $08 + LDA $0A + SEC + SBC #$0011 + BEQ L246B + DEC + DEC + BMI L245D + CMP #$0006 + BPL L245D + ASL + ASL + LSR $08 + LSR $08 + ORA #$0600 + TSB $08 + PER L2458+2 +L2458 BRL L256B + BRA L24AD +L245D PEA $0045 + PHK + PER L2464+2 +L2464 BRL L3CE4 + SEC + BRL L22B4 +L246B PER L246E+2 +L246E BRL L25DE + LDA #$040F + STA $08 + PER L2479+2 +L2479 BRL L256B + LDA #$C000 + TSB $08 + BRA L24AD +L2483 CLC + ROR + ROR + ROR + TSB $08 + PHA + PLA + BNE L24A1 + LDA $0A + AND #$00FF + CMP #$000C + BEQ L249C + CMP #$000E + BNE L24A1 +L249C LDA #$4000 + TSB $08 +L24A1 PER L24A4+2 +L24A4 BRL L25DE + PER L24AA+2 +L24AA BRL L2584 +L24AD PER L24B0+2 +L24B0 BRL L2D64 + BCC L24B8 + BRL L22B4 +L24B8 LDY $10 + STA $12 + PHY + TYX + INX + INX + STX $10 + SEP #$20 +L24C4 LDA [$28],Y + BEQ L24CD + BMI L24DB + INY + BRA L24C4 +L24CD PEA $0002 + PHK + PER L24D4+2 +L24D4 BRL L3CE4 + SEC + BRL L22B4 +L24DB INY + BIT $89 + BMI L24E6 + LDA #$80 + TSB $89 + BRA L24C4 +L24E6 LDA [$28],Y + BEQ L24F6 + PHX + TYX + PLY + STA [$28],Y + PHX + TYX + PLY + INX + INY + BRA L24E6 +L24F6 TXY + STA [$28],Y + LDA #$80 + TRB $89 + REP #$20 + PLY + LDA $12 + STA [$28],Y + BIT $8A + BMI L250C + STZ $12 + BRA L2546 +L250C BIT $88 + BVS L2546 + LDA #$0080 + TSB $8A + LDX $5E + LDA $60 + BEQ L251D + BPL L252A +L251D PEA $0045 + PHK + PER L2524+2 +L2524 BRL L3CE4 + BRL L0C63 +L252A STA $04 + LDY $00 +L252E LDA [$D2],Y + PHX + TYX + PLY + STA [$CE],Y + PHX + TYX + PLY + INX + INY + DEC $04 + BEQ L2544 + INX + INY + DEC $04 + BNE L252E +L2544 STX $5C +L2546 LDY $10 + BRL L2226 +L254B DB $00 + DB $00 + DB $01 + DB $00 + DB $02 + DB $00 + DB $FE + DB $FF + DB $01 + DB $00 + DB $01 + DB $00 + DB $02 + DB $00 + DB $FE + DB $FF + DB $02 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $FE + DB $FF + DB $FE + DB $FF + DB $FE + DB $FF + DB $FE + DB $FF + DB $FF + DB $FF +L256B PER L256E+2 +L256E BRL L2A55 + LDA #$7002 + BIT $92 + BPL L2580 + LDA #$0080 + TRB $93 + LDA #$7102 +L2580 STA $1C + BRA L259C +L2584 LDA $0A + CMP #$002C + BNE L2590 + LDA #$1500 + BRA L2595 +L2590 SEC + SBC #$000A + XBA +L2595 TSB $08 +L2597 LDA #$7202 + STA $1C +L259C BIT $72 + BPL L25A5 + LDA #$0080 + TSB $08 +L25A5 LDY $5C + LDA #$00A2 + LDX $64 + BEQ L25B1 + AND #$00FD +L25B1 STA [$CE],Y + INY + LDA $08 + STA [$CE],Y + INY + INY + LDA $64 + BEQ L25CE + ASL + ASL + PHA + LDA #$00A2 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + STZ $64 +L25CE LDA $1C + STA [$CE],Y + INY + INY + LDA #$0080 + TSB $8B + TRB $8A + STY $5C + RTS + +L25DE LDX $00 + LDA $0A + CMP #$0011 + BNE L25F1 + LDA #$000F + AND $08 + CMP #$000F + BEQ L2621 +L25F1 LDA $0A + CMP #$002C + BEQ L2602 + CMP #$0013 + BCS L2603 + CMP #$000A + BEQ L2603 +L2602 TAX +L2603 LDA #$0041 + BIT $88 + BNE L2630 + BNE L2630 + BIT $8D + BMI L2630 + LDA #$0003 + AND $14 +L2615 CMP #$0003 + BEQ L262D + BIT $14 + BMI L2621 + TXY + BEQ L2633 +L2621 ASL $08 + ASL $08 + CLC + ROR + ROR $08 + ROR + ROR $08 +L262C RTS + +L262D TXY + BNE L262C +L2630 TXY + BNE L263A +L2633 LDA #$C000 + TRB $08 + BRA L262C +L263A LDA #$0003 + AND $14 + BIT $08 + BMI L262C + BVS L2647 + BRA L2615 +L2647 CMP #$0002 + BNE L262C + BRA L2621 +L264E REP #$20 + STA $0A + STY $06 + STZ $64 + LDA #$8000 + STA $08 + STZ $60 + LDA #$0040 + TRB $89 + TRB $8A + LDA $5C + STA $5E + LDA #$0011 + CMP $0A + BEQ L267A + INC + CMP $0A + BEQ L267A + PER L2677+2 +L2677 BRL L2A12 +L267A LDA $06 + STA $10 + DEC + CMP $30 + BMI L26A9 + LDA #$0019 + CMP $0A + BEQ L26A9 + PER L268D+2 +L268D BRL L27F3 + BCC L26A9 + DEC $10 + DEC $10 + LDA #$0106 + STA $36 + PER L269E+2 +L269E BRL L28B7 + BCC L26A6 + BRL L22B4 +L26A6 BRL L2781 +L26A9 LDA #$0080 + TSB $89 + LDA #$0012 + CMP $0A + BEQ L26BF + LDA #$0019 + CMP $0A + BEQ L26BF + BRL L22B4 +L26BF DEC $06 + PER L26C4+2 +L26C4 BRL L2819 + LDY $06 + INY + LDA [$28],Y + CMP $12 + BNE L2734 + AND #$00FF + SEC + SBC #$0072 + BEQ L2734 + CMP #$0003 + BNE L26E1 + BRL L2773 +L26E1 STA $08 + ASL + ASL + TSB $08 + LDY #$1094 + LDA [$3C],Y + LDY #$1092 + STA [$3C],Y + LDY #$1090 + LDA [$3C],Y + DEC + DEC + LDY #$1090 + STA [$3C],Y + STZ $12 + PER L2702+2 +L2702 BRL L2A12 + PER L2708+2 +L2708 BRL L2A55 + BIT $87 + BMI L2712 + BRL L22F4 +L2712 PER L272C + LDY $5C + LDA #$8000 + STA $1C + PER L271F+2 +L271F BRL L3B1E + STY $5C + PLA + ASL $87 + LSR $87 + BRL L22F4 +L272C LDA #$0000 + EOR $06 + STA $06 + DB $FF ; LOGO BUG? +L2734 LDA $12 + BEQ L2754 + PEI $64 + PEI $88 + LDA #$0080 + TRB $88 + STZ $64 + LDA $12 + PER L2748+2 +L2748 BRL L2C19 + PLA + AND #$0080 + TSB $88 + PLA + STA $64 +L2754 LDA #$0106 + STA $36 + INC $06 + INC $06 + INC $06 + PER L2762+2 +L2762 BRL L28B7 + DEC $06 + DEC $06 + DEC $06 + BCC L2770 + BRL L22B4 +L2770 BRL L22F4 +L2773 PEA $032D + PHK + PER L277A+2 +L277A BRL L3CE4 + SEC + BRL L22B4 +L2781 LDA $08 + BMI L2788 + BRL L22F4 +L2788 PER L278B+2 +L278B BRL L2819 + LDA $08 + ASL + LSR + LSR + LSR + STA $08 + DEC + DEC + BNE L279F + LDA #$010E + BRA L27A2 +L279F LDA #$010A +L27A2 STA $36 + PER L27A7+2 +L27A7 BRL L28B7 + BCC L27AF + BRL L22B4 +L27AF BRL L22F4 +L27B2 LDY $30 + PHP + SEP #$20 +L27B7 LDA [$28],Y + BEQ L27F1 + CMP #$11 + BNE L27DB + DEY + CPY $30 + BMI L27DE + BEQ L27DE + LDA [$28],Y + BPL L27DE + DEY + LDA [$28],Y + INY + CMP #$65 + BCC L27DE + CMP #$6D + BEQ L27DE + CMP #$6D + BEQ L27DE + INY +L27DB INY + BRA L27B7 +L27DE INY + PHY +L27E0 INY + LDA [$28],Y + BEQ L27EB + DEY + STA [$28],Y + INY + BRA L27E0 +L27EB DEY + STA [$28],Y + PLY + BRA L27B7 +L27F1 PLP + RTS + + MX %00 +L27F3 LDA #$0012 + CMP $0A + BNE L2812 + LDY $06 + DEY + CPY $30 + BMI L2816 + BEQ L2816 + SEP #$20 + LDA [$28],Y + BPL L2816 + DEY + LDA [$28],Y + BMI L2816 + CMP #$65 + BCC L2816 +L2812 SEC +L2813 REP #$20 + RTS + +L2816 CLC + BRA L2813 +L2819 LDY $06 + INY + STZ $62 + STZ $64 + SEP #$20 +L2822 LDA [$28],Y + BMI L2875 + CMP #$1F + BCS L2875 + CMP #$11 + BEQ L2842 + CMP #$12 + BEQ L2845 + CMP #$19 + BEQ L285F + PEA $0002 + PHK + PER L283D+2 +L283D BRL L3CE4 +L2840 SEP #$20 +L2842 INY + BRA L2822 +L2845 REP #$20 + BIT $62 + BVC L284D + BMI L2857 +L284D SEC + ROR $62 + SEC + ROR $62 + INC $64 + BRA L2840 +L2857 ASL $62 + ASL $62 + DEC $64 + BRA L2840 +L285F REP #$20 + LDA #$8000 + TSB $64 + BIT $62 + BVC L286C + BPL L2857 +L286C SEC + ROR $62 + LSR $62 + INC $64 + BRA L2840 +L2875 REP #$20 + DEY + STY $06 + LDA $64 + BEQ L28AC + ASL + LSR + CMP #$0008 + BMI L2893 + PEA $0066 + PHK + PER L288C+2 +L288C BRL L3CE4 + STZ $64 + BRA L28B6 +L2893 DEC + BNE L289A + BIT $62 + BMI L28A5 +L289A BIT $62 + BPL L28AC + LDA #$0008 + TSB $64 + BRA L28AC +L28A5 STZ $64 + LDA #$0080 + TSB $88 +L28AC LDA $64 + BEQ L28B6 + PER L28B3+2 +L28B3 BRL L2A12 +L28B6 RTS + +L28B7 STZ $04 + LDY $06 + BIT $08 + SEP #$20 + BMI L28EA + INY + LDA [$28],Y + BPL L28C9 + BRL L2B27 +L28C9 BNE L28CE + BRL L2B27 +L28CE INY + PER L28D2+2 +L28D2 BRL L2A60 + BCC L28DA + BRL L2B27 +L28DA LDA [$28],Y + BMI L28E1 + BRL L2B27 +L28E1 AND #$7F + DEC + STA $04 + DEY + BRL L2AB1 +L28EA DEY + PER L28EE+2 +L28EE BRL L2A60 + BCC L28F6 + BRL L2B27 +L28F6 LDA [$28],Y + BMI L28FD + BRL L2B27 +L28FD AND #$7F + DEC + STA $04 + DEY + TYA + BIT $8B + BMI L290B + BRL L2AA9 +L290B REP #$20 + LDA [$28],Y + CMP $12 + BEQ L2916 + BRL L2AA9 +L2916 PER L2919+2 +L2919 BRL L2A55 + AND #$00FF + SEC + SBC #$0072 + BNE L2929 + BIT $89 + BMI L292F +L2929 PER L292C+2 +L292C BRL L2A12 +L292F TAX + CMP #$0004 + BMI L2938 + LDA #$0001 +L2938 ASL + ASL + TSB $08 + LDY #$1094 + LDA [$3C],Y + LDY #$1092 + STA [$3C],Y + LDY #$1090 + LDA [$3C],Y + DEC + DEC + LDY #$1090 + STA [$3C],Y + LDA #$0106 + CMP $36 + BEQ L2982 + TXA + BMI L29A6 + BEQ L2965 + CMP #$0004 + BPL L2990 + BRA L2971 +L2965 BIT $89 + BPL L2971 + PER L296C+2 +L296C BRL L3145 + BRA L2982 +L2971 CLC + ROR + ROR + ROR + ORA #$0106 + STA $34 +L297A STZ $12 + PER L297F+2 +L297F BRL L3151 +L2982 STZ $12 + BIT $8A + BVC L298E + PER L298B+2 +L298B BRL L2A38 +L298E CLC + RTS + +L2990 SEC + SBC #$0005 + BMI L29A6 + CMP #$0004 + BPL L29A6 + CLC + ROR + ROR + ROR + ORA #$0132 + STA $34 + BRA L297A +L29A6 PEA $0045 + PHK + PER L29AD+2 +L29AD BRL L3CE4 + SEC + RTS + +L29B2 PHP + SEP #$20 + LDA $00 + XBA + LDA [$28],Y + BMI L29DD + SEC + SBC #$6E + BEQ L29E3 + BMI L29DD + CMP #$04 + BMI L29D9 + SEC + SBC #$04 + CMP #$04 + BMI L29D9 + SEC + SBC #$05 + BMI L29DD + CMP #$04 + BPL L29DD + LDA #$01 +L29D9 TAX + PLP + CLC + RTS + +L29DD LDX #$FFFF + PLP + SEC + RTS + +L29E3 INY + LDA [$28],Y + BPL L29DD + AND #$7F + DEC + REP #$20 + ASL + ASL + TAY + LDA [$BE],Y + AND #$00FF + CMP #$00FF + BEQ L29FF + AND #$0003 + BRA L29D9 +L29FF LDA $00 + BRA L29D9 +L2A03 PHP + REP #$20 + LDA $12 + BEQ L2A10 + PER L2A0D+2 +L2A0D BRL L2C19 +L2A10 PLP + RTS + +L2A12 PHP + REP #$20 + PHA + BIT $08 + BMI L2A20 + BIT $88 + BVC L2A28 + BRA L2A2D +L2A20 BIT $89 + BPL L2A2D + LDA $12 + BEQ L2A2D +L2A28 PER L2A2B+1 +L2A2B BRA L2A38 +L2A2D PLA + SEP #$20 + PHA + LDA #$40 + TSB $89 + PLA + PLP + RTS + + MX %00 +L2A38 PHA + PHY + BIT $8A + BPL L2A52 + BIT $89 + BPL L2A52 + LDY $5C + LDA #$0485 + STA [$CE],Y + INY + INY + STY $5C + LDA #$0080 + TRB $8A +L2A52 PLY + PLA + RTS + +L2A55 PHP + SEP #$20 + PHA + LDA #$40 + TSB $8A + PLA + PLP + RTS + +L2A60 PHP + SEP #$20 + LDA [$28],Y + BPL L2A8B + TAX + DEY + LDA [$28],Y + CMP #$63 + BEQ L2A98 + CMP #$6B + BEQ L2A98 + CMP #$69 + BEQ L2A98 + CMP #$6A + BEQ L2A98 + CMP #$6C + BEQ L2A98 + CMP #$6D + BEQ L2A98 + CMP #$68 + BEQ L2A98 +L2A87 INY + PLP + CLC + RTS + +L2A8B PEA $0045 + PHK + PER L2A92+2 +L2A92 BRL L3CE4 + PLP + SEC + RTS + +L2A98 REP #$20 + PHY + TXA + AND #$007F + DEC + ASL + TAY + LDA [$C2],Y + PLY + STA [$28],Y + BRA L2A87 +L2AA9 PER L2AAC+2 +L2AAC BRL L2A03 + SEP #$20 +L2AB1 LDA [$28],Y + CMP #$6E + BNE L2ABA + BRL L2BB4 +L2ABA CMP #$71 + BNE L2AC1 + BRL L2B41 +L2AC1 CMP #$6F + BNE L2AC8 + BRL L2B7D +L2AC8 CMP #$70 + BNE L2ACF + BRL L2B90 +L2ACF CMP #$63 + BEQ L2B1B + CMP #$6B + BEQ L2B1B + CMP #$6A + BEQ L2B1B + CMP #$69 + BEQ L2B1B + CMP #$6C + BEQ L2B0F + CMP #$6D + BEQ L2B0F + CMP #$77 + BMI L2B03 + PHA + SEC + SBC #$05 + STA $AD + PLA + CMP #$7A + BEQ L2AFA + BPL L2B1B + LDA #$78 +L2AFA PHA + LDA #$40 + TSB $90 + PLA + SEC + SBC #$05 +L2B03 SEC + SBC #$72 + BMI L2B1B + CMP #$04 + BPL L2B0F + BRL L2CDD +L2B0F PEA $007C + PHK + PER L2B16+2 +L2B16 BRL L3CE4 + BRA L2B3D +L2B1B PEA $0045 + PHK + PER L2B22+2 +L2B22 BRL L3CE4 + BRA L2B3D +L2B27 PEA $0002 + PHK + PER L2B2E+2 +L2B2E BRL L3CE4 + BRA L2B3D +L2B33 PEA $001F + PHK + PER L2B3A+2 +L2B3A BRL L3CE4 +L2B3D REP #$20 + SEC + RTS + + MX %10 +L2B41 PER L2B44+2 +L2B44 BRL L2A55 + LDA $0A + CMP #$11 + BEQ L2B55 + CMP #$13 + BMI L2B33 + CMP #$19 + BPL L2B33 +L2B55 LDA #$0C + TSB $08 + LDA #$40 + REP #$20 + LDA $04 + BIT $87 + BMI L2B33 + ASL + INC + ASL + CLC + ADC $C6 + STA $38 + LDA $00 + ADC $C8 + STA $3A + LDA #$C000 + STA $34 + PER L2B79+2 +L2B79 BRL L3151 + RTS + +L2B7D REP #$20 + LDA #$0004 + TSB $08 + LDA #$4000 + STA $34 + LDA $04 + ASL + INC + ASL + BRA L2BA2 +L2B90 REP #$20 + LDA #$0008 + TSB $08 + LDA #$8000 + STA $34 + LDA $04 + INC + ASL + INC + ASL +L2BA2 CLC + ADC $BE + STA $38 + LDA $00 + ADC $C0 + STA $3A + PER L2BB0+2 +L2BB0 BRL L3151 + RTS + +L2BB4 REP #$20 + LDA $04 + ASL + ASL + TAY + LDA [$BE],Y + AND #$00FF + CMP #$00FF + BEQ L2BD2 + AND #$0003 + BEQ L2BDB + DEC + DEC + BEQ L2BF1 + BMI L2BEA + BRA L2BF8 +L2BD2 LDA $00 + STA $34 + INY + INY + TYA + BRA L2BA2 +L2BDB PER L2BDE+2 +L2BDE BRL L2F1E + BCS L2BE9 + PER L2BE6+2 +L2BE6 BRL L3151 +L2BE9 RTS + +L2BEA LDA #$0004 + TSB $08 + BRA L2BDB +L2BF1 LDA #$0008 + TSB $08 + BRA L2BDB +L2BF8 LDA $0A + AND #$00FF + CMP #$0011 + BEQ L2C12 + CMP #$0013 + BPL L2C0A + BRL L2B33 +L2C0A CMP #$0019 + BMI L2C12 + BRL L2B33 +L2C12 LDA #$000C + TSB $08 + BRA L2BDB +L2C19 PHY + PEI $36 + PEI $34 + AND #$00FF + SEC + SBC #$0072 + BPL L2C2A + BRL L2CB2 +L2C2A CMP #$0004 + BMI L2C41 + SEC + SBC #$0005 + BMI L2CB2 + CMP #$0004 + BPL L2CB2 + LDA #$4132 + STA $34 + BRA L2C4B +L2C41 TAX + CLC + ROR + ROR + ROR + ORA #$0106 + STA $34 +L2C4B LDA $12 + XBA + AND #$007F + DEC + ASL + TAY + LDA [$CA],Y + CMP #$0024 + BPL L2CBF + BIT $34 + BMI L2C63 + BVS L2C63 + INC + INC +L2C63 ORA #$0100 + STA $36 +L2C68 LDA $60 + BEQ L2C72 + PER L2C6F+2 +L2C6F BRL L2A12 +L2C72 BIT $89 + BMI L2C95 + BVS L2C8D + PER L2C7B+2 +L2C7B BRL L3151 + BIT $89 + BVC L2C9B + BIT $08 + BPL L2C9B + LDA #$0040 + TRB $8A + BRA L2C9B +L2C8D PER L2C90+2 +L2C90 BRL L3151 + BRA L2C9B +L2C95 PER L2C98+2 +L2C98 BRL L3145 +L2C9B LDA $5C + STA $5E + STZ $12 + STZ $60 + LDA #$0080 + TRB $8B + TRB $8A + PLY + STY $34 + PLY + STY $36 + PLY + RTS + +L2CB2 PEA $0045 + PHK + PER L2CB9+2 +L2CB9 BRL L3CE4 + BRL L21FC +L2CBF CLC + ADC #$FFDC + PHA + LDY $5C + LDA #$00A0 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + LDA #$0044 + ORA #$0200 + STA $36 + STY $5C + BRA L2C68 +L2CDD REP #$20 + AND #$0003 + TAX + CLC + ROR + ROR + ROR + STA $34 + LDA $04 + ASL + TAY + TXA + AND #$00FF + TAX + ASL + ASL + TSB $08 + LDA [$CA],Y + CMP #$0024 + BPL L2D0E + DEX + BPL L2D02 + INC + INC +L2D02 ORA #$0100 + TSB $34 + PER L2D0A+2 +L2D0A BRL L3151 + RTS + +L2D0E LDA #$0044 + ORA #$0200 + TSB $34 + LDA [$CA],Y + CLC + ADC #$FFDC + PHA + LDY $5C + LDA #$00A0 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + BIT $88 + BVS L2D40 + PHY + PHA + LDY $60 + LDA #$00A0 + STA [$D2],Y + INY + PLA + STA [$D2],Y + INY + INY + STY $60 + PLY +L2D40 STY $5C + BIT $8E + BPL L2D5D + PER L2D49+2 +L2D49 BRL L33AC + LDA #$0080 + TRB $8F + PER L2D54+2 +L2D54 BRL L3151 + LDA #$0080 + TSB $8F + RTS + +L2D5D PER L2D60+2 +L2D60 BRL L3151 + RTS + +L2D64 LDA #$0080 + TSB $8B + LDA $5C + CMP $5E + BNE L2D74 + LDA #$0040 + TSB $8A +L2D74 BIT $89 + BVS L2D82 + PER L2D7B+2 +L2D7B BRL L2E33 + PHA + BRL L2E16 +L2D82 LDY #$1092 + LDA [$3C],Y + LDY #$1094 + STA [$3C],Y + TAX + CMP #$0024 + BPL L2DB5 + BIT $8B + BMI L2DA1 + BIT $08 + BMI L2DA7 + BVS L2DB0 + CMP #$0023 + BMI L2DB5 +L2DA1 LDA #$0024 + TAX + BRA L2DB5 +L2DA7 BVS L2DB0 + CMP #$001D + BMI L2DB5 + BRA L2DA1 +L2DB0 CMP #$0021 + BPL L2DA1 +L2DB5 LDY #$1090 + LDA [$3C],Y + PHA + INC + INC + LDY #$1090 + STA [$3C],Y + PLY + TXA + CMP #$0024 + BPL L2DD5 + BIT $8F + BVS L2DDF + BIT $08 + BMI L2DDF + BVS L2DDF + BRA L2DEB +L2DD5 BIT $8F + BVS L2DDF + BIT $08 + BMI L2DE3 + BVC L2DEB +L2DDF INC + INC + BRA L2DEB +L2DE3 BVS L2DDF + INC + INC + INC + INC + BRA L2DDF +L2DEB STA [$CA],Y + TYA + LSR + INC + BIT $8F + BVC L2DF9 + ORA #$7780 + BRA L2DFC +L2DF9 ORA #$7280 +L2DFC XBA + TAY + TXA + BIT $08 + BMI L2E1D + BVS L2E2E +L2E05 BIT $8F + BVC L2E0C + TXA + INC + INC +L2E0C INC + INC + PHY + LDY #$1092 + STA [$3C],Y + CLC + CLV +L2E16 LDA #$0080 + TRB $8A + PLA + RTS + +L2E1D BVS L2E27 + CLC + ADC #$0006 + INY + INY + BRA L2E05 +L2E27 INC + INC + INY + INY + INY + BRA L2E05 +L2E2E INC + INC + INY + BRA L2E05 +L2E33 LDY $5C + LDA #$006B + STA [$CE],Y + PHK + PLB + PER L2E69 + LDA $5E + STA $5C + CLC + ADC $CE + LDY #$0001 + STA ($01,S),Y + LDA $D0 + INY + INY + STA ($01,S),Y + PLA + PEI $06 + PEI $04 + PEI $0A + PEI $08 + PEI $08 + PEI $0E + PEI $0C + PEI $12 + PEI $10 + CLV + PHK + PER L2E6D +L2E69 JMPL $000000 + +L2E6D DB $00 + PLY + STY $10 + PLY + STY $12 + PLY + STY $0C + PLY + STY $0E + BVS L2ED2 + LDA $04 + STA $44 + LDA $06 + STA $46 + LDA $08 + STA $48 + LDA $0A + STA $4A + LDY #$0C8A + LDA [$3C],Y + TAX + ASL + ASL + TAY + PLA + AND #$C000 + BEQ L2F05 + BMI L2EE0 + LDA $04 + STA [$BE],Y + INY + INY + LDA $06 + STA [$BE],Y + TXA + INC + LDY #$0C8A + STA [$3C],Y + TXA + INC + ORA #$6F80 +L2EB3 XBA + TAX + CLC + CLV +L2EB7 PLY + STY $08 + PLY + STY $0A + PLY + STY $04 + PLY + STY $06 + LDA #$0080 + TRB $8B + TRB $8A + TXA + PER L2ECE+2 +L2ECE BRL L2A12 + RTS + +L2ED2 PEI $04 + PHK + PER L2ED8+2 +L2ED8 BRL L3CE4 + PLA + SEP #$41 + BRA L2EB7 +L2EE0 LDA $08 + STA [$BE],Y + INY + INY + LDA $0A + STA [$BE],Y + INY + INY + LDA $04 + STA [$BE],Y + INY + INY + LDA $06 + STA [$BE],Y + TXA + INC + INC + LDY #$0C8A + STA [$3C],Y + TXA + INC + ORA #$7080 + BRA L2EB3 +L2F05 LDA #$00FF + STA [$BE],Y + INY + INY + LDA $04 + STA [$BE],Y + TXA + INC + LDY #$0C8A + STA [$3C],Y + TXA + INC + ORA #$6E80 + BRA L2EB3 +L2F1E LDA [$BE],Y + AND #$00FF + CMP #$00FF + BNE L2F34 + PEA $0045 + PHK + PER L2F2F+2 +L2F2F BRL L3CE4 + BRA L2F4B +L2F34 AND #$0003 + CLC + ROR + ROR + ROR + STA $34 + STZ $1A + LDA #$FF00 + AND $36 + XBA + DEC + DEC + BNE L2F4B + DEC $1A +L2F4B INY + INY + LDA [$BE],Y + TAX + CLC + ADC #$0006 + TAY + LDA [$E0],Y + BPL L2F66 + PEA $0064 + PHK + PER L2F60+2 +L2F60 BRL L3CE4 + BRL L302C +L2F66 XBA + AND #$00FF + STA $0E + LDA [$E0],Y + DEY + DEY + AND #$00FF + PHA + BEQ L2F79 + BRL L302E +L2F79 LDA [$E0],Y + CMP #$FFF9 + BCC L2F83 + BRL L3030 +L2F83 STA $01,S + TXY + INY + INY + LDA [$E0],Y + AND #$0010 + BEQ L2F92 + BRL L30E4 +L2F92 LDA $0E + CMP #$007F + BNE L2FC5 + PLA + CLC + ADC $B8 + BIT $34 + BMI L2FA5 + BVC L2FAD + BRA L2FAB +L2FA5 BVS L2FAB + INC + INC + INC + INC +L2FAB INC + INC +L2FAD CMP #$0100 + BCC L2FBE + PEA $0065 + PHK + PER L2FB9+2 +L2FB9 BRL L3CE4 + BRA L302C +L2FBE ORA #$0300 + TSB $34 + BRA L302A +L2FC5 DEC + ASL + ASL + CLC + ADC #$0250 + TSB $34 + LDY $5C + BIT $1A + BPL L2FD9 + LDA #$00A2 + BRA L2FEE +L2FD9 LDA #$00A0 + BIT $91 + BMI L2FEB + BIT $8E + BPL L2FEE + LDX #$0400 + CPX $36 + BNE L2FEE +L2FEB LDA #$00A9 +L2FEE STA [$CE],Y + INY + PLA + BIT $91 + BMI L300E + BIT $8E + BPL L2FFE + CPX $36 + BEQ L300E +L2FFE BIT $34 + BMI L3006 + BVC L300E + BRA L300C +L3006 BVS L300C + INC + INC + INC + INC +L300C INC + INC +L300E STA [$CE],Y + INY + INY + BIT $88 + BVS L3028 + PHY + PHA + LDY $60 + LDA #$00A0 + STA [$D2],Y + INY + PLA + STA [$D2],Y + INY + INY + STY $60 + PLY +L3028 STY $5C +L302A CLC + RTS + +L302C SEC + RTS + +L302E LDA [$E0],Y +L3030 PER L3033+2 +L3033 BRL L2A12 + PHA + LDA #$0238 + CMP $36 + BNE L3041 + LDA #$0234 +L3041 TSB $34 + LDY $5C + LDA $0E + CMP #$007F + BCC L3058 + PEA $0065 + PHK + PER L3053+2 +L3053 BRL L3CE4 + BRA L302C +L3058 DEC + ASL + ASL + CLC + ADC #$A550 + XBA + STA [$CE],Y + INY + INY + LDA #$6918 + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y + INY + INY + LDA $34 + AND #$00FF + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + LDA $0E + DEC + ASL + ASL + CLC + ADC #$A552 + XBA + STA [$CE],Y + INY + INY + LDA #$0069 + STA [$CE],Y + INY + PLA + STA [$CE],Y +L3094 INY + INY + LDA $34 + AND #$00FF + INC + INC + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + LDA #$00A2 + BIT $1A + BMI L30C8 + LDA #$00A0 + BIT $91 + BMI L30BE + BIT $8E + BPL L30C8 + LDX #$0400 + CPX $36 + BNE L30C8 +L30BE LDA #$00A9 + STA [$CE],Y + LDA $00 + INY + BRA L30DD +L30C8 STA [$CE],Y + INY + LDA $00 + BIT $34 + BMI L30D5 + BVC L30DD + BRA L30DB +L30D5 BVS L30DB + INC + INC + INC + INC +L30DB INC + INC +L30DD STA [$CE],Y + INY + INY + BRL L3028 +L30E4 PER L30E7+2 +L30E7 BRL L2A12 + LDA #$0238 + CMP $36 + BNE L30F4 + LDA #$0234 +L30F4 TSB $34 + LDY $5C + BIT $1A + BPL L3102 + LDA #$005A + STA [$CE],Y + INY +L3102 LDA #$00A0 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + LDA $0E + DEC + ASL + ASL + CLC + ADC #$B750 + XBA + PHA + STA [$CE],Y + INY + INY + LDA $34 + AND #$00FF + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + LDA #$C8C8 + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y + BIT $1A + BMI L313A + BRL L3094 +L313A INY + INY + LDA #$007A + STA [$CE],Y + DEY + BRL L3094 +L3145 LDA #$0007 + AND $37 + ASL + TAY + PER L31A5 + BRA L3184 +L3151 LDA #$0007 + AND $35 + BEQ L315E + PER L315B+2 +L315B BRL L2A55 +L315E ASL + PHA + ASL + CLC + ADC $01,S + STA $01,S + LDA #$0007 + AND $37 + DEC + BEQ L317A + PER L3171+2 +L3171 BRL L2A12 + PER L3177+2 +L3177 BRL L2A55 +L317A INC + CLC + ADC $01,S + ASL + TAY + PLA + PER L31B1 +L3184 PHK + PLB + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + LDY $5C + LDA $36 + AND #$00FF + TAX + BIT $34 + BMI L319C + BVS L319C + RTS + +L319C PER L319F+2 +L319F BRL L2A12 + LDY $5C + RTS + +L31A5 DW $003B + DW $003E + DW $004B + DW $003B + DW $0052 + DW $003B +L31B1 DW $002F + DW $00AF + DW $015B + DW $002F + DW $01AC + DW $002F + DW $002F + DW $024C + DW $03B6 + DW $002F + DW $0446 + DW $002F + DW $002F + DW $0538 + DW $0611 + DW $002F + DW $06EE + DW $002F + DW $002F + DW $07A7 + DW $0855 + DW $002F + DW $08E2 + DW $002F + SEC + BRA L3217 + DEX + DEX + TXA + XBA + ORA #$0085 +L31EB STA [$CE],Y + INY + INY + BRA L3214 + TXA + XBA + ORA #$0097 + BRA L31EB + BIT $8E + BPL L3204 + STZ $34 + PER L3201+2 +L3201 BRL L33AC +L3204 LDA #$0048 + STA [$CE],Y + INY + INC $B8 + INC $B8 +L320E BRA L3214 + DEY +L3211 DEY +L3212 DEY +L3213 DEY +L3214 STY $5C + CLC +L3217 PHP + LDA #$0080 + TRB $88 + LSR + TRB $90 + PLP + RTS + +L3222 LDA #$8000 + BIT $87 + BMI L3243 + BIT $34 + BVS L3260 + BMI L3260 + CMP $64 + BEQ L323F + INC + CMP $64 + BNE L3260 + LDA [$38] + EOR #$FFFF + STA [$38] +L323F STZ $64 + BRA L3260 +L3243 TRB $87 + BIT $34 + BVS L325C + BMI L325C + LDA $00 + SEC + SBC [$38] + BVC L325E + PEA $0051 + PHK + PER L3259+2 +L3259 BRL L3CE4 +L325C EOR [$38] +L325E STA [$38] +L3260 RTS + + PER L3264+1 +L3264 BRA L3222 + BIT $34 + BVS L3273 + BMI L3273 + DEX + DEX + PER L3213 + BRA L329F +L3273 PER L3276+1 +L3276 BRA L329F + DEC $38 + DEC $38 + DEX + DEX + PER L3281+1 +L3281 BRA L329F + BIT $34 + BVS L3214 + DEC $38 + DEC $38 + TXA + CLC + ADC #$0006 + TAX + PER L3294+1 +L3294 BRA L329F + DEC $38 + DEC $38 + DEX + DEX + PER L3213 +L329F LDA #$00A9 + STA [$CE],Y + LDA [$38] + BEQ L3306 + INY + STA [$CE],Y + INY + INY + TXA + XBA + ORA #$0085 +L32B2 STA [$CE],Y + INY + INY + BIT $88 + BVC L32BB + RTS + +L32BB PHY + LDY $60 + BIT $08 + BMI L32F6 + LDA $0A + CMP #$0011 + BEQ L32D6 + CMP #$0012 + BEQ L32DD + PER L32D1+2 +L32D1 BRL L2A12 + BRA L3304 +L32D6 LDA #$6918 + STA [$D2],Y + BRA L32E2 +L32DD LDA #$E938 + STA [$D2],Y +L32E2 INY + INY + LDA [$38] + STA [$D2],Y + INY + INY + LDA #$0250 + STA [$D2],Y + INY + INY + LDA #$7302 + BRA L32FE +L32F6 LDA #$00A9 + STA [$D2],Y + INY + LDA [$38] +L32FE STA [$D2],Y + INY + INY + STY $60 +L3304 PLY + RTS + +L3306 TXA + XBA + ORA #$0064 + BRA L32B2 + PER L3310+2 +L3310 BRL L3222 + PER L3316+1 +L3316 BRA L3341 + BIT $34 + BVS L3321 + BMI L3321 + BRL L3212 +L3321 DEC $38 + DEC $38 + PER L3328+1 +L3328 BRA L3341 + BIT $34 + BVC L3331 + BRL L3212 +L3331 DEC $38 + DEC $38 + PER L3338+1 +L3338 BRA L3341 + DEC $38 + DEC $38 + PER L3211 +L3341 LDA #$00A9 + STA [$CE],Y + LDA [$38] + INY + STA [$CE],Y + INY + INY + TXA + XBA + ORA #$0097 + STA [$CE],Y + INY + INY + LDA #$8888 + STA [$CE],Y + INY + INY + RTS + + BIT $8E + BPL L3367 + PER L3365+1 +L3365 BRA L33AC +L3367 PER L336A+2 +L336A BRL L3222 + PER L3370+1 +L3370 BRA L339B + BIT $34 + BVS L337B + BMI L337B + BRL L3214 +L337B DEC $38 + DEC $38 + PER L3382+1 +L3382 BRA L339B + BIT $34 + BVC L338B + BRL L3214 +L338B DEC $38 + DEC $38 + PER L3392+1 +L3392 BRA L339B + DEC $38 + DEC $38 + PER L3213 +L339B LDA #$00F4 + STA [$CE],Y + INY + LDA [$38] + STA [$CE],Y + INY + INY + INC $B8 + INC $B8 + RTS + +L33AC BIT $8F + BVS L33D2 + LDA #$FF00 + TRB $AC + LDA #$6E00 + BIT $34 + BMI L33C6 + BVS L33C1 +L33BE TSB $AC + RTS + +L33C1 LDA #$6F00 + BRA L33BE +L33C6 BVS L33CD + LDA #$7000 + BRA L33BE +L33CD LDA #$7100 + BRA L33BE +L33D2 LDA #$0040 + TRB $8F + RTS + +L33D8 BIT $8F + BVS L33D2 + LDA #$FF00 + TRB $AC + LDA #$7200 + BIT $34 + BMI L33F2 + BVS L33ED +L33EA TSB $AC + RTS + +L33ED LDA #$7300 + BRA L33EA +L33F2 BVS L33F9 + LDA #$7400 + BRA L33EA +L33F9 LDA #$7500 + BRA L33EA + BIT $34 + BMI L344D + BVS L344D + DEX + DEX + DEC $34 + DEC $34 + PER L3213 + LDA #$8000 + CMP $64 + BEQ L3430 + INC + CMP $64 + BNE L3432 + PER L341C+2 +L341C BRL L3525 + LDA $34 + AND #$00FF + XBA + ORA #$0045 + PER L342B+2 +L342B BRL L3536 + BRA L3497 +L3430 STZ $64 +L3432 BIT $87 + BPL L3480 + PER L3439+2 +L3439 BRL L352A + LDA $34 + AND #$00FF + XBA + ORA #$00E5 + PER L3448+2 +L3448 BRL L353D + BRA L3497 +L344D PER L3450+1 +L3450 BRA L3480 + DEX + DEX + DEC $34 + DEC $34 + PER L345B+1 +L345B BRA L3480 + BIT $34 + BVC L3464 + BRL L3214 +L3464 TXA + CLC + ADC #$0006 + TAX + LDA $34 + CLC + ADC #$0006 + STA $34 + PER L3475+1 +L3475 BRA L3480 + DEX + DEX + DEC $34 + DEC $34 + PER L3213 +L3480 LDA $34 + AND #$00FF + XBA + ORA #$00A5 + STA [$CE],Y + INY + INY + BIT $87 + BPL L3497 + PER L3494+2 +L3494 BRL L3558 +L3497 TXA + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + BIT $88 + BVS L34B2 + LDA $34 + AND #$00FF + XBA + ORA #$0005 + PER L34B0+1 +L34B0 BRA L34B3 +L34B2 RTS + +L34B3 PHY + PHA + LDY $60 + BIT $08 + BPL L34CC + BIT $87 + BPL L350F + LDA #$00A9 + STA [$D2],Y + INY + INY + XBA + STA [$D2],Y + INY + BRA L34F5 +L34CC LDA #$0011 + CMP $0A + BEQ L34E1 + INC + CMP $0A + BEQ L34F1 + PER L34DB+2 +L34DB BRL L2A12 + PLA + PLY + RTS + +L34E1 BIT $87 + BMI L34F5 +L34E5 LDA #$0018 + STA [$D2],Y + INY + PLA + ORA #$0060 + BRA L34FF +L34F1 BIT $87 + BMI L34E5 +L34F5 LDA #$0038 + STA [$D2],Y + INY + PLA + ORA #$00E0 +L34FF STA [$D2],Y + INY + INY + LDA #$0250 + STA [$D2],Y + INY + INY + LDA #$7302 + BRA L3513 +L350F PLA + ORA #$00A0 +L3513 STA [$D2],Y + INY + INY + STY $60 + PLY + RTS + +L351B TXA + XBA + ORA #$00A5 + STA [$CE],Y + INY + INY + RTS + +L3525 LDA #$FFA9 + BRA L352D +L352A LDA #$00A9 +L352D STA [$CE],Y + INY + INY + XBA + STA [$CE],Y + INY + RTS + +L3536 STA [$CE],Y + INY + INY + STZ $64 + RTS + +L353D PHA + LDA #$0038 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + LDA #$0250 + STA [$CE],Y + INY + INY + LDA #$7302 + STA [$CE],Y + INY + INY + RTS + +L3558 LDA #$0049 + STA [$CE],Y + INY + LDA #$8000 + TRB $87 + STA [$CE],Y + INY + INY + RTS + + LDA $34 + AND #$00FF + TAX + BIT $34 + BMI L35AD + BVS L35AD + DEX + DEX + PER L3211 + LDA #$8000 + CMP $64 + BEQ L3596 + INC + CMP $64 + BNE L3598 + PER L3588+1 +L3588 BRA L3525 + TXA + XBA + ORA #$0045 + PER L3592+1 +L3592 BRA L3536 + BRA L35E3 +L3596 STZ $64 +L3598 BIT $87 + BPL L35D0 + PER L359F+1 +L359F BRA L352A + TXA + XBA + ORA #$00E5 + PER L35A9+1 +L35A9 BRA L353D + BRA L35E3 +L35AD PER L35B0+1 +L35B0 BRA L35D0 + DEX + DEX + PER L35B7+1 +L35B7 BRA L35D0 + BIT $34 + BVC L35C0 + BRL L3212 +L35C0 TXA + CLC + ADC #$0006 + TAX + PER L35C9+1 +L35C9 BRA L35D0 + DEX + DEX + PER L3211 +L35D0 TXA + XBA + ORA #$00A5 + STA [$CE],Y + INY + INY + BIT $87 + BPL L35E3 + PER L35E0+2 +L35E0 BRL L3558 +L35E3 LDA $36 + AND #$00FF + XBA + ORA #$0097 + STA [$CE],Y + INY + INY + LDA #$8888 + STA [$CE],Y + INY + INY + RTS + + BIT $8E + BPL L361C + LDA $34 + AND #$00FF + CMP #$0024 + BMI L3616 + BNE L360E + BIT $34 + BMI L360E + BVC L3616 +L360E PER L3611+2 +L3611 BRL L33D8 + BRA L361C +L3616 PER L3619+2 +L3619 BRL L33AC +L361C LDA $34 + AND #$00FF + CMP #$0024 + BMI L363A + BNE L362E + BIT $34 + BMI L362E + BVC L363A +L362E TAX + LDA $34 + AND #$3FFF + ORA #$4000 + STA $34 + TXA +L363A TAX + BIT $34 + BMI L3687 + BVS L3687 + DEX + DEX + PER L3213 + LDA #$8000 + CMP $64 + BEQ L3665 + INC + CMP $64 + BNE L3667 + PER L3655+2 +L3655 BRL L3525 + TXA + XBA + ORA #$0045 + PER L3660+2 +L3660 BRL L3536 + BRA L367C +L3665 STZ $64 +L3667 BIT $87 + BPL L36C6 + PER L366E+2 +L366E BRL L352A + TXA + XBA + ORA #$00E5 + PER L3679+2 +L3679 BRL L353D +L367C LDA #$0048 + STA [$CE],Y + INY + INC $B8 + INC $B8 + RTS + +L3687 BIT $87 + BPL L36A3 + PER L368E+2 +L368E BRL L351B + PER L3694+2 +L3694 BRL L3558 + LDA #$0048 + STA [$CE],Y + INY + INC $B8 + INC $B8 + BRA L36A8 +L36A3 PER L36A6+1 +L36A6 BRA L36C6 +L36A8 DEX + DEX + PER L36AD+1 +L36AD BRA L36C6 + BIT $34 + BVC L36B6 + BRL L3214 +L36B6 TXA + CLC + ADC #$0006 + TAX + PER L36BF+1 +L36BF BRA L36C6 + DEX + DEX + PER L3213 +L36C6 TXA + XBA + ORA #$00D4 + STA [$CE],Y + INY + INY + INC $B8 + INC $B8 + RTS + +L36D4 CLC + ADC $00 + STA $00 + LDA $00 + BCC L36DE + INC +L36DE STA $00 + DB $FF ; LOGO BUG? +L36E1 LDA $00 + STA $00 + LDA $00 + STA $00 + DB $FF ; LOGO BUG? + BIT $91 + BPL L371A + LDA $34 + AND #$00FF + STA $1C + INC + INC + DEX + DEX + STX $1D + STA $1E + INX + INX + STX $1F + PER L3704+2 +L3704 BRL L388A + PER L36D4 + BCS L3710 + PLA + PER L36E1 +L3710 PER L3713+2 +L3713 BRL L3B1E + PLA + BRL L3214 +L371A BIT $34 + BMI L3765 + BVS L3765 + DEX + DEX + PER L3211 + LDA #$8000 + CMP $64 + BEQ L3748 + INC + CMP $64 + BNE L374A + PER L3734+2 +L3734 BRL L3525 + LDA $34 + AND #$00FF + XBA + ORA #$0057 + PER L3743+2 +L3743 BRL L3536 + BRA L379F +L3748 STZ $64 +L374A BIT $87 + BPL L3788 + PER L3751+2 +L3751 BRL L352A + LDA $34 + AND #$00FF + XBA + ORA #$00F7 + PER L3760+2 +L3760 BRL L353D + BRA L379F +L3765 PER L3768+1 +L3768 BRA L3788 + DEX + DEX + PER L376F+1 +L376F BRA L3788 + BIT $34 + BVC L3778 + BRL L3212 +L3778 TXA + CLC + ADC #$0006 + TAX + PER L3781+1 +L3781 BRA L3788 + DEX + DEX + PER L3211 +L3788 LDA $34 + AND #$00FF + XBA + ORA #$00B7 + STA [$CE],Y + INY + INY + BIT $87 + BPL L379F + PER L379C+2 +L379C BRL L3558 +L379F TXA + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + LDA #$8888 + STA [$CE],Y + INY + INY + BIT $88 + BVS L37C2 + LDA $34 + AND #$00FF + XBA + ORA #$0017 + PER L37BF+2 +L37BF BRL L34B3 +L37C2 RTS + + PER L320E+1 + BIT $34 + BMI L381A + BVS L381A + LDA #$8000 + CMP $64 + BEQ L37F6 + INC + CMP $64 + BNE L37F8 + LDA #$9B5A + STA [$CE],Y + INY + INY + PER L37E2+2 +L37E2 BRL L3525 + LDA $34 + AND #$00FF + XBA + ORA #$0057 + PER L37F1+2 +L37F1 BRL L3536 + BRA L384C +L37F6 STZ $64 +L37F8 BIT $87 + BPL L382E + PER L37FF+2 +L37FF BRL L352A + LDA #$9B5A + STA [$CE],Y + INY + INY + LDA $34 + AND #$00FF + XBA + ORA #$00F7 + PER L3815+2 +L3815 BRL L353D + BRA L384C +L381A PER L381D+1 +L381D BRA L382E + BIT $34 + BVS L382E + PER L3826+1 +L3826 BRA L382E + PER L382B+1 +L382B BRA L382E + NOP +L382E LDA #$9B5A + STA [$CE],Y + INY + INY + LDA $34 + AND #$00FF + XBA + ORA #$00B7 + STA [$CE],Y + INY + INY + BIT $87 + BPL L384C + PER L3849+2 +L3849 BRL L3558 +L384C LDA #$007A + STA [$CE],Y + INY + TXA + XBA + ORA #$0097 + STA [$CE],Y + INY + INY + LDA #$8888 + STA [$CE],Y + INY + INY + LDA #$CACA + STA [$CE],Y + INY + INY + RTS + +L386A LDA #$0000 +L386D CLC + ADC $00 + TAY + LDA $00 + BCC L3876 + INC +L3876 PHA + PHY + DB $FF ; LOGO BUG? +L3879 PEI $00 + PEI $00 + DB $FF ; LOGO BUG? +L387E LDY #$0000 + LDA [$00],Y + PHA + DEY + DEY + LDA [$00],Y + PHA + DB $FF ; LOGO BUG? +L388A TYX + DEY + DEY + BMI L389D + LDA [$CE],Y + BNE L389D + DEY + LDA [$CE],Y + CMP #$00A9 + BNE L389D + CLC + RTS + +L389D TXY + SEC + RTS + + BIT $8E + BPL L38AA + PER L38A7+2 +L38A7 BRL L33D8 +L38AA LDA $34 + AND #$00FF + TAX + BIT $8E + BPL L38DF + STA $1C + INC + INC + STA $1D + PER L38BD+1 +L38BD BRA L388A + PER L386D + BCS L38CD + PLA + PER L3879 + LDA $1C + XBA + STA $1C +L38CD PER L38D0+2 +L38D0 BRL L3B1E + PLA + INC $B8 + INC $B8 + INC $B8 + INC $B8 + BRL L3214 +L38DF PER L3211 + BIT $34 + BMI L3920 + BVS L3920 + LDA #$8000 + CMP $64 + BEQ L3907 + INC + CMP $64 + BNE L3909 + PER L38F7+2 +L38F7 BRL L3525 + TXA + XBA + ORA #$0057 + PER L3902+2 +L3902 BRL L3536 + BRA L3947 +L3907 STZ $64 +L3909 BIT $87 + BPL L3934 + PER L3910+2 +L3910 BRL L352A + TXA + XBA + ORA #$00F7 + PER L391B+2 +L391B BRL L353D + BRA L3947 +L3920 PER L3923+1 +L3923 BRA L3934 + BIT $34 + BVS L3934 + PER L392C+1 +L392C BRA L3934 + PER L3931+1 +L3931 BRA L3934 + NOP +L3934 TXA + XBA + ORA #$00B7 + STA [$CE],Y + INY + INY + BIT $87 + BPL L3947 + PER L3944+2 +L3944 BRL L3558 +L3947 LDA #$0048 + STA [$CE],Y + INY + LDA #$8888 + STA [$CE],Y + INY + INY + INC $B8 + INC $B8 + RTS + + BIT $34 + BMI L39A4 + BVS L39A4 + DEX + DEX + PER L3213 + LDA #$8000 + CMP $64 + BEQ L3987 + INC + CMP $64 + BNE L3989 + PER L3973+2 +L3973 BRL L3525 + LDA $34 + AND #$00FF + XBA + ORA #$0043 + PER L3982+2 +L3982 BRL L3536 + BRA L39EA +L3987 STZ $64 +L3989 BIT $87 + BPL L39D3 + PER L3990+2 +L3990 BRL L352A + LDA $34 + AND #$00FF + XBA + ORA #$00E3 + PER L399F+2 +L399F BRL L353D + BRA L39EA +L39A4 PER L39A7+1 +L39A7 BRA L39D3 + DEX + DEX + DEC $34 + DEC $34 + PER L39B2+1 +L39B2 BRA L39D3 + BIT $34 + BVC L39BB + BRL L3214 +L39BB TXA + CLC + ADC #$0006 + TAX + DEC $34 + DEC $34 + PER L39C8+1 +L39C8 BRA L39D3 + DEC $34 + DEC $34 + DEX + DEX + PER L3213 +L39D3 LDA $34 + AND #$00FF + XBA + ORA #$00A3 + STA [$CE],Y + INY + INY + BIT $87 + BPL L39EA + PER L39E7+2 +L39E7 BRL L3558 +L39EA TXA + XBA + ORA #$0085 + STA [$CE],Y + INY + INY + BIT $88 + BVS L3A06 + LDA $34 + AND #$00FF + XBA + ORA #$0003 + PER L3A03+2 +L3A03 BRL L34B3 +L3A06 RTS + + LDA $34 + AND #$00FF + XBA + TAX + BIT $34 + BMI L3A51 + BVS L3A51 + LDA #$8000 + CMP $64 + BEQ L3A33 + INC + CMP $64 + BNE L3A35 + PER L3A23+2 +L3A23 BRL L3525 + TXA + XBA + ORA #$0043 + PER L3A2E+2 +L3A2E BRL L3536 + BRA L3A82 +L3A33 STZ $64 +L3A35 BIT $87 + BPL L3A4C + PER L3A3C+2 +L3A3C BRL L352A + TXA + XBA + ORA #$00E3 + PER L3A47+2 +L3A47 BRL L353D + BRA L3A82 +L3A4C PER L3211 + BRA L3A6F +L3A51 PER L3A54+1 +L3A54 BRA L3A6F + DEX + DEX + PER L3A5B+1 +L3A5B BRA L3A6F + BIT $34 + BVC L3A64 + BRL L3212 +L3A64 DEX + DEX + PER L3A69+1 +L3A69 BRA L3A6F + DEX + DEX + BRA L3A4C +L3A6F TXA + XBA + ORA #$00A3 + STA [$CE],Y + INY + INY + BIT $87 + BPL L3A82 + PER L3A7F+2 +L3A7F BRL L3558 +L3A82 LDA $36 + AND #$00FF + ORA #$0097 + STA [$CE],Y + LDA #$8888 + STA [$CE],Y + INY + INY + RTS + + BIT $8E + BPL L3A9E + PER L3A9B+2 +L3A9B BRL L33AC +L3A9E LDA $34 + AND #$00FF + TAX + BIT $34 + BMI L3AE8 + BVS L3AE8 + LDA #$8000 + CMP $64 + BEQ L3ACA + INC + CMP $64 + BNE L3ACC + PER L3AB9+2 +L3AB9 BRL L3525 + TXA + XBA + ORA #$0043 + PER L3AC4+2 +L3AC4 BRL L3536 + BRL L379F +L3ACA STZ $64 +L3ACC BIT $87 + BPL L3AE3 + PER L3AD3+2 +L3AD3 BRL L352A + TXA + XBA + ORA #$00E3 + PER L3ADE+2 +L3ADE BRL L353D + BRA L3B13 +L3AE3 PER L3213 + BRA L3B00 +L3AE8 PER L3AEB+1 +L3AEB BRA L3B00 + PER L3AF0+1 +L3AF0 BRA L3B00 + BIT $34 + BVC L3AF9 + BRL L3214 +L3AF9 PER L3AFC+1 +L3AFC BRA L3B00 + BRA L3AE3 +L3B00 TXA + XBA + ORA #$00A3 + STA [$CE],Y + INY + INY + BIT $87 + BPL L3B13 + PER L3B10+2 +L3B10 BRL L3558 +L3B13 LDA #$0048 + STA [$CE],Y + INY + INC $B8 + INC $B8 + RTS + +L3B1E PHP + LDX $00 + PHX + PHY + PHK + PLB + SEP #$20 + LDA $00 + XBA +L3B2A LDA $03,S + TAY + INC + STA $03,S + LDA ($08,S),Y + BNE L3B39 + LDA $1C,X + INX + BRA L3B3D +L3B39 INC + BEQ L3B44 + DEC +L3B3D PLY + STA [$CE],Y + INY + PHY + BRA L3B2A +L3B44 PLY + PLX + PLP + RTS + + MX %00 +L3B48 PHK + PER L3B4C+2 +L3B4C BRL L8DCE + LDA #$03F6 + CLC + ADC $3C + STA $28 + LDA $00 + ADC $3E + STA $2A + PER L3B60+2 +L3B60 BRL L3C54 + BCS L3B9B + STA [$28] + STZ $04 + DEC + STA $04 + TAX + BMI L3B9B + BEQ L3B9B + CMP #$0100 + BPL L3B9B + INC + LDY #$01B8 + CLC + ADC [$3C],Y + STA [$3C],Y + BCC L3B88 + INY + INY + LDA [$3C],Y + INC + STA [$3C],Y +L3B88 LDY $00 +L3B8A INY + DEC $04 + BMI L3BB6 + PHY + PER L3B93+2 +L3B93 BRL L3C54 + PLY + STA [$28],Y + BCC L3B8A +L3B9B PEA $0045 + PHK + PER L3BA2+2 +L3BA2 BRL L3CE4 + PHK + PHK + PER L3C6F + LDX $F4 + PHK + PER L3BB0+2 +L3BB0 BRL LAF42 + BRL L0C73 +L3BB6 LDA [$28] + XBA + AND #$00FF + CMP #$00FF + BNE L3BCC + LDY #$0002 + PER L3BC7+1 +L3BC7 BRA L3BCD + BRL L3B48 +L3BCC RTS + +L3BCD LDA [$28],Y + AND #$00FF + STA $B0 + INY + LDA [$28],Y + TAX + INY + INY + LDA [$28],Y + INY + INY + PHA + PHY + LDY #$004A + STA [$3C],Y + TXA + LDY #$0046 + STA [$3C],Y + PLY + LDA $72 + LSR + BCC L3BF3 + PLA + PHX +L3BF3 LDA [$28],Y + AND #$00FF + PLY + PHA + PHY + LDY #$0038 + STA [$3C],Y + LDA $72 + LSR + LSR + BCS L3C28 + LDA #$0100 + BIT $72 + BEQ L3C11 + TRB $72 + BRA L3C28 +L3C11 LDA #$0040 + BIT $72 + BNE L3C1C + PLA + PLA + BRA L3C46 +L3C1C LDA #$7602 + LDY $5C + STA [$CE],Y + INY + PLA + PLA + BRA L3C3E +L3C28 LDY $5C + LDA #$7402 + STA [$CE],Y + INY + INY + LDA $B0 + STA [$CE],Y + INY + PLA + STA [$CE],Y + INY + INY + PLA + STA [$CE],Y +L3C3E INY + STY $5C + LDA #$0080 + TRB $93 +L3C46 PER L3C49+2 +L3C49 BRL L2114 + PHK + PER L3C50+2 +L3C50 BRL L0580 + RTS + +L3C54 LDA $6A + LDY #$002C + CMP [$3C],Y + BMI L3C65 + PER L3C60+1 +L3C60 BRA L3C9E + BCC L3C54 + RTS + +L3C65 TAY + LDA [$24],Y + AND #$00FF + INC $6A + CLC + RTS + +L3C6F ASC 'Error on reading intermediate file (0F ' + ASC 'file).'0D00 +L3C9E LDA #$179E + CLC + ADC $3C + STA $24 + LDA $00 + ADC $3E + STA $26 + LDY #$002C + LDA [$3C],Y + BMI L3CE2 + PEA $0000 + PEA $0800 + PEI $26 + PEI $24 + LDA [$3C] + PHA + PHK + PER L3CC4+2 +L3CC4 BRL LA585 + BCC L3CCB + LDA $00 +L3CCB PHA + PLA + BMI L3CDA + BEQ L3CDA + LDY #$002C + STA [$3C],Y + STZ $6A + CLC + RTS + +L3CDA LDA #$FFFF + LDY #$002C + STA [$3C],Y +L3CE2 SEC + RTS + +L3CE4 PHP + PHB + REP #$20 + PEA $0003 + PEI $EE + PEI $EC +L3CEF RTL + + TSC + LDY #$0082 + STA [$3C],Y + PER L3CF9+2 +L3CF9 BRL L4CA9 + LDX #$0016 + PHK + PER L3D0A + PEA $0009 + PEI $EE + PEI $EC +L3D0A RTL + + LDA #$0020 + BIT $72 + BEQ L3D1F + PHK + PER L3D16+2 +L3D16 BRL L08D6 + PER L3D1C+2 +L3D1C BRL L71DF +L3D1F LDA #$0000 + STA [$24] + INC $24 + INC $24 +L3D28 REP #$20 + LDA $6C + BEQ L3D37 + STZ $6C + DEC + BEQ L3D37 + INC $6C + PHA + RTS + +L3D37 BIT $8F + BPL L3D3E + BRL L4426 +L3D3E BIT $8D + BVC L3D77 + BRL L5466 +L3D45 BIT $8B + BVS L3D6B + BIT $8F + BMI L3D6B + LDA $6C + BEQ L3D56 + STZ $6C + DEC + BNE L3D6B +L3D56 PHK + PER L3D5A+2 +L3D5A BRL L6C35 + PHP + PER L3D61+2 +L3D61 BRL L6B82 + LDA #$2000 + TRB $68 + BRA L3D86 +L3D6B PEA $0002 + PHK + PER L3D72+2 +L3D72 BRL L8D82 + BRA L3D99 +L3D77 PHK + PER L3D7B+2 +L3D7B BRL L0580 + PHK + PER L3D82+2 +L3D82 BRL L6C35 + PHP +L3D86 STZ $66 + LDA #$0001 + TSB $A4 + LDA #$DBFF + TRB $68 + LDA $B0 + STA $C2 + PLP + BRA L3DFA +L3D99 REP #$20 + LDY #$0082 + LDA [$3C],Y + TCS + STZ $90 + LDA #$00C0 + STZ $6C + AND $8E + BEQ L3D77 + TRB $8E + BRA L3D77 +L3DB0 PER L3DB3+2 +L3DB3 BRL L658A +L3DB6 STZ $10 + LDA [$28] + AND #$00FF + BNE L3DF9 + BIT $8F + BVS L3DF9 + PEA $0070 + PHK + PER L3DCA+2 +L3DCA BRL L8D82 + BRA L3D99 +L3DCF LDA #$00FF + TRB $8F + TRB $92 + LSR + TRB $A5 + TRB $93 + LDA $00 + LDY #$0BB2 + STA [$3C],Y + LDY #$0032 + STA [$3C],Y + LDY #$0C8A + STA [$3C],Y + LDA #$FFC0 + TRB $88 + STZ $8A + STZ $8C + DEC + STA $CA + RTS + +L3DF9 CLC +L3DFA PHP + BIT $8A + BVC L3E25 + LDX #$0000 + PHK + PER L3E0D + PEA $0012 + PEI $EE + PEI $EC +L3E0D RTL + + LDX #$000B + PHK + PER L3E1C + PEA $0009 + PEI $EE + PEI $EC +L3E1C RTL + + LDA $C8 + STA [$24] + INC $24 + INC $24 +L3E25 PLP + BCC L3E2B + BRL L6A0A +L3E2B PER L3E2E+1 +L3E2E BRA L3DCF + BIT $8F + BVC L3E37 + BRL L4092 +L3E37 BPL L3E3C + BRL L4053 +L3E3C LDA [$28] + AND #$00FF + CMP #$0027 + BNE L3E49 + BRL L49D4 +L3E49 BIT $92 + BPL L3E50 + BRL L3D28 +L3E50 LDY $28 + STY $6A + LDA $10 + BMI L3E81 + LDA [$28] + AND #$00FF + BNE L3E62 + BRL L3D28 +L3E62 CMP #$003F + BNE L3E6A + BRL L59D6 +L3E6A CMP #$0030 + BCS L3E72 + BRL L3F68 +L3E72 CMP #$003A + BCC L3E7A + BRL L3F68 +L3E7A BIT $8D + BVC L3E81 + BRL L3F68 +L3E81 PER L3E84+2 +L3E84 BRL L67DD + BCC L3E8C + BRL L3D99 +L3E8C PER L3E8F+2 +L3E8F BRL L3F24 + BCS L3E97 + BRL L3F68 +L3E97 STZ $04 + INC $04 + PHK + PER L3EA6 + PEA $0006 + PEI $EE + PEI $EC +L3EA6 RTL + + STY $08 + LDA $88 + LSR + BCC L3EED + LDY #$0002 + STZ $04 +L3EB3 LDA [$38],Y + INY + AND #$00FF + BEQ L3EE6 + SEC + SBC #$0030 + STA $06 + ASL $04 + BCS L3ED9 + LDA $04 + ASL + BCS L3ED9 + ASL + BCS L3ED9 + CLC + ADC $04 + BCS L3ED9 + CLC + ADC $06 + STA $04 + BCC L3EB3 +L3ED9 PEA $0002 + PHK + PER L3EE0+2 +L3EE0 BRL L8D82 + BRL L3D99 +L3EE6 LDA $04 + LDY #$004A + STA [$3C],Y +L3EED LDX #$0001 + PHK + PER L3EFB + PEA $0009 + PEI $EE + PEI $EC +L3EFB RTL + + LDA $08 + STA [$24] + INC $24 + INC $24 + PER L3F07+2 +L3F07 BRL L467E + PHA + PER L3F0E+2 +L3F0E BRL L4525 + PLA + BNE L3F17 + BRL L3D28 +L3F17 PEA $0045 + PHK + PER L3F1E+2 +L3F1E BRL L8D82 + BRL L3D28 +L3F24 PHK + PER L3F2F + PEA $000C + PEI $EE + PEI $EC +L3F2F RTL + + BCC L3F67 + PHK + PER L3F3D + PEA $001B + PEI $EE + PEI $EC +L3F3D RTL + + BCC L3F67 + LDY #$0008 + PHK + PER L3F4E + PEA $0015 + PEI $EE + PEI $EC +L3F4E RTL + + BCS L3F67 + TYA + CLC + ADC #$0008 + TAY + LDA [$E0],Y + AND #$003C + LSR + LSR + CLC + DEC + DEC + BEQ L3F67 + DEC + BEQ L3F67 + SEC +L3F67 RTS + +L3F68 PER L3F6B+2 +L3F6B BRL L4525 + LDY $6A + STY $28 +L3F72 LDY $28 + STY $6A + PER L3F79+2 +L3F79 BRL L67DD + BCC L3F81 + BRL L3D99 +L3F81 DEX + BPL L3F87 + BRL L4027 +L3F87 BEQ L3FD3 + PHK + PER L3F94 + PEA $000C + PEI $EE + PEI $EC +L3F94 RTL + + BCS L3F9A + BRL L4746 +L3F9A BIT $A5 + BVC L3FD3 + LDA [$38] + TAY + INY + LDA [$38],Y + PHA + LDA $00 + STA [$38],Y + PHY + PHK + PER L3FB5 + PEA $0018 + PEI $EE + PEI $EC +L3FB5 RTL + + PLY + PLA + STA [$38],Y + BCS L3FD3 + LDY $6A + STY $28 + PER L3FC3+2 +L3FC3 BRL L658A + PEA $0002 + PHK + PER L3FCD+2 +L3FCD BRL L8D82 + BRL L3D99 +L3FD3 LDA [$28] + AND #$00FF + BNE L3FF6 +L3FDA BIT $8D + BVS L3FE1 + BRL L4393 +L3FE1 PER L3FE4+2 +L3FE4 BRL L3F24 + BCS L3FEC + BRL L4393 +L3FEC LDA $64 + BEQ L3FF3 + BRL L55AD +L3FF3 BRL L4092 +L3FF6 TAX +L3FF7 PHA + PLA + BNE L3FFE + BRL L3D28 +L3FFE CMP #$0020 + BNE L4010 + INC $28 + INC $B0 + LDA [$28] + AND #$00FF + BEQ L3FDA + BRA L3FF7 +L4010 CMP #$0028 + BEQ L407B + CMP #$003D + BEQ L4053 + TXA + CMP #$0020 + BNE L403C + DEC $28 + DEC $B0 + BRL L4393 +L4027 LDA [$28] + AND #$00FF + BNE L4031 + BRL L3D28 +L4031 CMP #$0020 + BNE L403C + INC $28 + INC $B0 + BRA L4027 +L403C LDY $6A + STY $28 + PER L4043+2 +L4043 BRL L658A + PEA $001B + PHK + PER L404D+2 +L404D BRL L8D82 + BRL L3D99 +L4053 LDA #$0080 +L4056 TSB $89 + LDA #$000B +L405B STA $20 +L405D PHK + PER L4061+2 +L4061 BRL L73C8 + BCC L4069 + BRL L3D99 +L4069 BIT $90 + BPL L4070 + BRL L4F24 +L4070 BIT $8E + BPL L40BA + BIT $68 + BVC L40BA + BRL L3D28 +L407B LDY $00 + LDA #$003D + PER L4083+2 +L4083 BRL L46A1 + BCC L408B + BRL L4393 +L408B LDA #$0080 + TSB $8D + BRA L4056 +L4092 LDA #$4040 + TSB $88 + LDA #$0013 + BRA L405B + LDX $00 + BRA L40A3 +L40A0 LDX #$0001 +L40A3 TXA + ORA #$000C + STA $20 + LDA #$0040 + TSB $88 + BRA L405D +L40B0 LDA #$0040 + TSB $93 + LDA #$000D + BRA L405B +L40BA LDY #$0C8A + LDA [$3C],Y + BEQ L4112 + LDX #$0004 + PHK + PER L40CF + PEA $0009 + PEI $EE + PEI $EC +L40CF RTL + + LDY #$0C8A + LDA [$3C],Y + LDY $00 + TAX + DEX +L40D9 LDA #$0019 + STA $0C +L40DE DEC $0C + BPL L40FB + STY $0C + STX $0E + LDX #$0003 + PHK + PER L40F4 + PEA $0009 + PEI $EE + PEI $EC +L40F4 RTL + + LDY $0C + LDX $0E + BRA L40D9 +L40FB LDA [$BE],Y + STA [$24] + INC $24 + INC $24 + INY + INY + LDA [$BE],Y + STA [$24] + INC $24 + INC $24 + INY + INY + DEX + BPL L40DE +L4112 LDX #$0005 + BIT $8A + BVC L411C + LDX #$000A +L411C PHK + PER L4127 + PEA $0009 + PEI $EE + PEI $EC +L4127 RTL + + LDY $00 + BIT $8A + BVC L4152 + LDA $C8 + STA [$24] + INC $24 + INC $24 + LDA $C2 + STA [$24] + INC $24 + LDY #$0046 + LDA [$3C],Y + STA [$24] + INC $24 + INC $24 + LDY #$0038 + LDA [$3C],Y + STA [$24] + INC $24 + LDY $00 +L4152 STZ $0E + LDA #$0080 + TRB $8A + LDA [$2C],Y + TAX + AND #$FF00 + XBA + SEC + SBC #$0008 + STA $B0 + TXA + STZ $14 + AND #$00C0 + BNE L419E + LDA #$8080 + STA $14 + TXA + AND #$00FF + LSR + LSR + CMP #$0008 + BNE L418E + LDA #$0080 + TSB $8A + TXA + AND #$FFC3 + ORA #$0004 + TAX + LDA #$0001 +L418E DEC + BEQ L419E + SEC + ROR $0E + DEC + BEQ L419E + CMP #$0003 + BEQ L419E + STZ $14 +L419E INY + INY + LDA [$2C],Y + AND #$007F + BIT $8A + BVC L41CE + CMP #$0002 + BNE L41CE + SEP #$20 +L41B0 LDA [$2C],Y + BEQ L41B7 + INY + BRA L41B0 +L41B7 INY + LDA [$2C],Y + BNE L41C9 + PEA $0045 + PHK + PER L41C3+2 +L41C3 BRL L8D82 + BRL L3D99 +L41C9 INY + REP #$20 + BRA L4152 +L41CE XBA + TSB $0E + XBA + DEC + BNE L4245 + BIT $14 + BPL L4245 + TXA + AND #$00FC + TAX + LDA $CB + AND #$0003 + STX $02 + ORA $02 + TAX + BIT $8F + BMI L41EF + BRL L427F +L41EF PHY + TXA + ROR + ROR + BPL L420F + BCC L421B + LDA #$0003 + STA $06 + LDY #$00C0 + LDA [$3C],Y + CLC + ADC #$0004 + LDY #$00C0 + STA [$3C],Y + LDA #$0002 + BRA L4234 +L420F BCS L4216 + LDA #$0002 + BRA L421E +L4216 LDA #$0008 + BRA L421E +L421B LDA #$0004 +L421E STA $04 + LSR + LSR + STA $06 + LDY #$00BC + LDA [$3C],Y + CLC + ADC $04 + LDY #$00BC + STA [$3C],Y + LDA #$0001 +L4234 PLY + INY + INY + XBA + ORA #$8077 + CLC + ADC $06 + STA [$2C],Y + TXA + DEY + DEY + BRA L427F +L4245 TXA + AND #$00FF + TAX + BIT $14 + BMI L4268 + CMP #$0050 + BEQ L4275 + CMP #$0054 + BEQ L4275 + CMP #$0058 + BEQ L4275 + AND #$00F3 + CMP #$0040 + BEQ L4275 + TXA + BRA L427F +L4268 TXA + BIT $89 + BMI L427F + AND #$0003 + BEQ L4275 + TXA + BRA L427F +L4275 LDA $CA + AND #$0003 + STX $02 + ORA $02 + TAX +L427F ORA $0E + XBA + STA [$24] + INC $24 + INC $24 + INY + INY + LDA $00 + STZ $10 + BIT $8E + BPL L42A2 + BIT $0E + BPL L42A2 + LDA #$8062 + STA [$24] + INC $24 + INC $24 + BRL L3D28 +L42A2 SEP #$20 +L42A4 LDA [$2C],Y + CMP #$20 + BNE L42AD + BRL L4367 +L42AD CMP #$19 + BNE L42B8 + STA [$24] + STA $12 + BRL L4362 +L42B8 LDA [$2C],Y + BEQ L430A + BPL L42CF + BIT $10 + BMI L42CF + PHA + LDA #$6E + STA [$24] + STA $12 + LDX $24 + INX + STX $24 + PLA +L42CF CMP #$28 + BNE L42DE + BIT $10 + BVS L42DA + BRL L4367 +L42DA LDA #$2C + BRA L430A +L42DE CMP #$29 + BNE L42E5 + BRL L4367 +L42E5 CMP #$11 + BEQ L42ED + CMP #$12 + BNE L430A +L42ED PHA + LDA $12 + CMP #$11 + BEQ L42F8 + CMP #$12 + BNE L4309 +L42F8 CMP $01,S + BNE L4300 + LDA #$11 + BRA L4302 +L4300 LDA #$12 +L4302 STA $01,S + LDX $24 + DEX + STX $24 +L4309 PLA +L430A STA [$24] + STA $12 + LDA #$80 + TRB $10 + LDA $12 + BEQ L436D + BMI L4326 + CMP #$61 + BCC L4341 + CMP #$7B + BCS L4341 + LDA #$80 + TSB $10 + BRA L4362 +L4326 LDA #$40 + BIT $10 + TSB $10 + BVC L4362 + BIT $14 + BPL L4362 + DEC $B0 + PEA $005F + PHK + PER L433B+2 +L433B BRL L8D82 + BRL L3D99 +L4341 BIT $10 + BVS L435E + CMP #$12 + BEQ L4362 + CMP #$11 + BEQ L4362 + BIT $14 + BPL L4362 + PEA $0060 + PHK + PER L4358+2 +L4358 BRL L8D82 + BRL L3D99 +L435E LDA #$40 + TRB $10 +L4362 LDX $24 + INX + STX $24 +L4367 INY + INC $B0 + BRL L42A4 +L436D BIT $10 + BVS L437F + BIT $14 + BPL L437F + PEA $0061 + PHK + PER L437C+2 +L437C BRL L8D82 +L437F INY + LDA [$2C],Y + REP #$20 + BEQ L438C + INC $24 + INY + BRL L4152 +L438C STA [$24] + INC $24 + BRL L3D28 +L4393 PHK + PER L439E + PEA $001B + PEI $EE + PEI $EC +L439E RTL + + BCS L43FA + STA $10 + LDA #$0005 + STA [$38] + LDY #$0002 + LDA #$8D62 + STA [$38],Y + INY + INY + LDA $10 + AND #$00FF + ORA #$0080 + XBA + ORA #$0064 + STA [$38],Y + INY + INY + LDA #$0001 + STA [$38],Y + LDY $00 + STZ $12 +L43CB PER L43CE+2 +L43CE BRL L46A6 + BCS L43D8 + INC $12 + INY + BRA L43CB +L43D8 LDA $10 + XBA + AND #$00FF + DEC + BPL L43E3 + LDA $00 +L43E3 CMP $12 + BEQ L43F4 + PEA $0019 + PHK + PER L43EE+2 +L43EE BRL L8D82 + BRL L3D99 +L43F4 LDA #$000D + BRL L405B +L43FA LDA [$28] + AND #$00FF + BEQ L440E + CMP #$0020 + BEQ L440E + DEC $28 + XBA + ORA #$0020 + STA [$28] +L440E LDA $00 + LDY #$00BC + STA [$3C],Y + LDY #$00C0 + STA [$3C],Y + LDY $28 + STY $D4 + LDA #$00C0 + TSB $90 + BRL L3DB0 +L4426 BIT $8F + BVC L445B + LDA #$0040 + TRB $90 + LDY $D4 + STY $28 + LDA $D2 + BNE L444A + PER L443A+2 +L443A BRL L75AD + PEA $0002 + PHK + PER L4444+2 +L4444 BRL L8D82 + BRL L3D99 +L444A LDA [$28] + AND #$00FF + BEQ L44AC + LDA [$28] + AND #$FF00 + ORA #$002C + STA [$28] +L445B LDY $D4 + STY $28 + PER L4462+2 +L4462 BRL L44EA + BMI L44AC + CLC + ADC $28 + STA $28 + LDA #$04F8 + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A + LDA #$0002 + TAY + STA [$38] + SEP #$20 + LDA #$3D + STA [$28] + LDA #$7A + STA [$38],Y + INY + LDA #$81 + STA [$38],Y + LDA $00 + INY + STA [$38],Y + REP #$20 + LDY #$0001 + PER L449C+2 +L449C BRL L46D6 + BCC L44A4 + BRL L3DB0 +L44A4 LDA #$0080 + TSB $A5 + BRL L3DB0 +L44AC STZ $90 + LDY #$00BC + LDA [$3C],Y + LDY $C8 + CMP [$E0],Y + BCC L44BB + STA [$E0],Y +L44BB LDY #$00C0 + LDA [$3C],Y + CLC + ADC #$0004 + LDY $C8 + INY + INY + CMP [$E0],Y + BCC L44CE + STA [$E0],Y +L44CE LDX #$000F + PHK + PER L44DC + PEA $0009 + PEI $EE + PEI $EC +L44DC RTL + + LDA $D2 + STA [$24] + INC $24 + INC $24 + STZ $04 + BRL L3D28 +L44EA LDX $00 + TXY + STZ $04 + DEC $04 + SEP #$20 +L44F3 LDA [$28],Y + BEQ L4520 + CMP #$2C + BNE L4503 + PHX + PLX + BNE L451D + STY $04 + BRA L451D +L4503 CMP #$3D + BNE L4511 + PHX + PLX + BNE L451D + LDA $00 + STA [$28],Y + BRA L4520 +L4511 CMP #$28 + BNE L4518 + INX + BRA L451D +L4518 CMP #$29 + BNE L451D + DEX +L451D INY + BRA L44F3 +L4520 REP #$20 + LDA $04 + RTS + +L4525 LDA $6C + BNE L457D + BIT $92 + BMI L457D + BIT $8D + BVS L457D + LDA $A4 + LSR + BCC L457D + ASL + STA $A4 + LDA $C2 + XBA + AND #$FF00 + LDY #$0038 + ORA [$3C],Y + PHA + LDX #$FFFF + PHK + PER L4553 + PEA $0009 + PEI $EE + PEI $EC +L4553 RTL + + PLA + LDY #$003A + STA [$3C],Y + TAX + XBA + STA [$24] + BVS L457D + LDY #$0046 + LDA [$3C],Y + INC $24 + STA [$24] + INC $24 + INC $24 + LDY #$004A + LDA [$3C],Y + STA [$24] + INC $24 + INC $24 + TXA + STA [$24] + INC $24 +L457D RTS + +L457E PHP + SEP #$20 + PHX + PHK + PLB + LDX $00 + TXY +L4587 LDA ($01,S),Y + BEQ L459A + STA $04,X + INY + INX + CPX #$0008 + BMI L4587 + LDA #$00 + STA $04,X + DEX + DEC +L459A STA $04,X + PLX + BRA L45A2 +L459F PHP + SEP #$20 +L45A2 LDY $28 + STY $2C + LDY $2A + STY $2E + LDY $00 + PHY + TYA + XBA + STZ $21 +L45B1 PER L45B4+1 +L45B4 BRA L45F8 + BCS L45F4 + PLX + PHY + LDX $00 +L45BC LDA [$28],Y + BEQ L45C8 + CMP $04,X + BNE L45CE + INY + INX + BRA L45BC +L45C8 LDA $04,X + BEQ L45F0 + BRA L45F4 +L45CE PHY + PHA + PLA + BMI L45E3 + TAY + LDA $04,X + BNE L45E3 + LDA [$94],Y + BMI L45EF + BEQ L45EF + DEC + DEC + DEC + BEQ L45EF +L45E3 PLY + PER L45E7+1 +L45E7 BRA L4635 + BCS L45F4 + DEC $21 + BRA L45B1 +L45EF PLY +L45F0 PLX + PLP + CLC + RTS + +L45F4 PLX + PLP + SEC + RTS + +L45F8 LDA $00 + XBA +L45FB PHY + LDA [$28],Y + BEQ L4632 + BPL L4604 + PLY + RTS + +L4604 TAY + LDA [$94],Y + BPL L460D +L4609 PLY + INY + BRA L45FB +L460D BNE L4627 + TYA + CMP #$26 + BNE L4609 +L4614 PLY + PHX + LDX #$FFFF + PER L461C+2 +L461C BRL L8C28 + DEC $21 + PLX + LDA $00 + XBA + BRA L45FB +L4627 DEC + BEQ L4614 + TYA + CMP #$2E + BEQ L4614 + PLY + CLC + RTS + +L4632 PLY + SEC + RTS + +L4635 LDA $00 + XBA +L4638 PHY + LDA [$28],Y + BEQ L4656 + BMI L4659 + TAY + LDA [$94],Y + BNE L464D + TYA + PLY + CMP #$26 + BEQ L464B + INY +L464B CLC + RTS + +L464D BPL L4652 + PLY + CLC + RTS + +L4652 PLY + INY + BRA L4638 +L4656 PLY + SEC + RTS + +L4659 PLY + INY + CLC + RTS + +L465D PER L4660+2 +L4660 BRL L457E + BCC L4666 + RTS + +L4666 PHP + PHX + PHY + TXY + LDX $00 + SEP #$20 +L466E LDA $04,X + BEQ L467A + LDA #$20 + STA [$28],Y + INX + INY + BRA L466E +L467A PLY + PLX + PLP + RTS + + MX %00 +L467E LDA [$28] + AND #$00FF + CMP #$0020 + BNE L468C + INC $28 + BRA L467E +L468C PER L468F+2 +L468F BRL L658A + RTS + +L4693 LDA [$28],Y + AND #$00FF + CMP #$0020 + BNE L46A0 + INY + BRA L4693 +L46A0 RTS + +L46A1 PHP + SEP #$20 + BRA L46AB +L46A6 PHP + SEP #$20 + LDA #$2C +L46AB LDX $00 + PHY + PHA +L46AF LDA [$28],Y + BEQ L46D0 + INY + CMP #$28 + BNE L46BB + INX + BRA L46AF +L46BB CMP #$29 + BNE L46C2 + DEX + BMI L46D0 +L46C2 CMP $01,S + BNE L46AF + PHX + PLX + BNE L46AF + DEY + PLA + PLX + PLP + CLC + RTS + +L46D0 TYX + PLA + PLY + PLP + SEC + RTS + +L46D6 PHY + PHP + SEP #$20 + LDA $00 + XBA +L46DD LDA [$28],Y + BEQ L473C + INY + CMP #$20 + BEQ L46DD + TAX + PHY + TAY + LDA [$94],Y + PLY + DEC + DEC + BMI L4741 + TXA + CMP #$2E + BEQ L4741 + CMP #$46 + BNE L46FF + LDA [$28],Y + CMP #$4E + BEQ L4741 +L46FF LDA [$28],Y + BEQ L473C + BMI L4741 + PHY + TAY + LDA [$94],Y + BMI L470F + PLY + INY + BRA L46FF +L470F TYA + PLY + CMP #$28 + BNE L473C + LDX $00 +L4717 INY + LDA [$28],Y + BEQ L473C + CMP #$28 + BNE L4723 + INX + BRA L4717 +L4723 CMP #$29 + BNE L4717 + DEX + BPL L4717 +L472A INY + LDA [$28],Y + BEQ L4737 + CMP #$20 + BEQ L472A + CMP #$2C + BNE L473C +L4737 PLP + CLC + CLV + BRA L4744 +L473C PLP + CLV + SEC + BRA L4744 +L4741 PLP + SEP #$41 +L4744 PLY + RTS + + MX %00 +L4746 PHA + LDA #$0040 + TSB $8F + LDA #$0003 + STA [$38] + LDA $01,S + AND #$FF00 + LDY #$0002 + ORA #$8062 + STA [$38],Y + INY + INY + LDA #$0001 + STA [$38],Y + PLA + AND #$00FF + STA $66 + PER L477A + ASL + TAY + PHK + PLB + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + RTS + +L477A DW $009F + DW $00AC + DW $00D1 + DW $0157 + DW $015B + DW $0160 + DW $0165 + DW $01EF + DW $020F + DW $0259 + DW $0592 + DW $06C4 + DW $0808 + DW $081C + DW $089F + DW $089F + DW $089F + DW $089F + DW $089F + DW $089F + DW $089F + DW $08EE + DW $091A + DW $0946 + DW $0B6B + DW $0D7D + DW $0DA7 + DW $0DEB + DW $0E17 + DW $0E27 + DW $0E8B + DW $1111 + DW $1111 + DW $1181 + DW $11E0 + DW $11E6 + DW $122D + DW $1235 + DW $123B + DW $1241 + DW $1241 + DW $127F + DW $1456 + DW $14CA + DW $14CD + DW $14F2 + DW $1516 + DW $1642 + DW $1667 + DW $1686 + DW $1691 + DW $16D4 + DW $16F8 + DW $1726 + DW $17BC + DW $184A + DW $1860 + DW $1957 + DW $1996 + DW $19DE + DW $19E4 + DW $19E9 + DW $1A56 + DW $1A8D + DW $1ABD + DW $1AE5 + DW $1BBE + DW $1BEC + DW $1C24 + DW $1C4A + DW $1C6A + DW $1C8D + DW $1CA8 + DW $1CCD + DW $1CE6 + DW $1D0E + DW $1D2A + DW $1D69 + DW $1DA4 + DW $1DA4 + PEA $0002 + PHK + PER L4821+2 +L4821 BRL L8D82 + BRL L3D99 + LDA [$28] + BNE L4838 + PEA $004E + PHK + PER L4832+2 +L4832 BRL L8D82 + BRL L3D99 +L4838 PER L483B+2 +L483B BRL L67DD + PER L4841+2 +L4841 BRL L583F + BCC L4849 + BRL L3D99 +L4849 BRL L4393 + LDY $28 + STY $CE + INC $CE + LDA [$28] + BEQ L485C + BRA L486F +L4858 LDY $CE + STY $28 +L485C PER L485F+2 +L485F BRL L658A + PEA $0002 + PHK + PER L4869+2 +L4869 BRL L8D82 + BRL L3D99 +L486F PER L4872+2 +L4872 BRL L67DD +L4875 LDA [$28] + AND #$00FF + BEQ L485C + CMP #$0020 + BNE L4885 + INC $28 + BRA L4875 +L4885 CMP #$0028 + BEQ L4898 + CMP #$003D + BNE L485C + DEC $28 + DEC $28 + LDA #$2928 + STA [$28] +L4898 STZ $B8 + LDY #$04FA + LDA [$3C],Y + CMP #$4E46 + BNE L4858 + LDY #$0008 + PHK + PER L48B2 + PEA $0015 + PEI $EE + PEI $EC +L48B2 RTL + + BCS L48C2 + TYA + CLC + ADC #$000A + TAY + LDA [$E0],Y + ORA #$8000 + STA [$E0],Y +L48C2 LDA #$00C0 + TSB $8B + LDA #$8080 + TSB $88 + LDA #$0017 + BRL L405B + LDX $00 + BRA L48E3 + LDX $00 + INX + BRA L48E3 + LDX #$0002 + BRA L48E3 + LDX #$0003 +L48E3 STX $44 + LDA #$01D4 + CLC + ADC $3C + STA $34 + LDA $00 + ADC $3E + STA $36 + LDA $00 +L48F5 SEP #$20 + LDA [$28] + BEQ L4965 + REP #$20 + INC $28 +L48FF SEP #$20 + CMP #$20 + BEQ L48F5 + CMP #$2C + BEQ L48F5 + CMP #$5B + BCC L4920 +L490D PER L4910+2 +L4910 BRL L658A + PEA $0008 + PHK + PER L491A+2 +L491A BRL L8D82 + BRL L3D99 +L4920 SEC + SBC #$41 + BMI L490D + TAY + LDA $44 + STA [$34],Y +L492A LDA [$28] + BEQ L4965 + REP #$20 + INC $28 + SEP #$20 + CMP #$20 + BEQ L492A + CMP #$2D + BNE L48FF +L493C LDA [$28] + REP #$20 + INC $28 + SEP #$20 + CMP #$20 + BEQ L493C + CMP #$5B + BCS L490D + SEC + SBC #$41 + BMI L490D + SEC + STY $02 + SBC $02 + BEQ L48F5 + BMI L490D + TAX + LDA $44 +L495D INY + STA [$34],Y + DEX + BNE L495D + BRA L48F5 +L4965 REP #$20 + BRL L3D99 + PER L496D+2 +L496D BRL L4F53 + BCS L497F + LDA #$2020 + STA [$28],Y + INY + INY + STA [$28],Y + INY + INY + STA [$28],Y +L497F LDA #$0080 + TSB $8F + LDA #$000F + BRL L405B + PER L4994 + PLX + PER L4994+4 + BRL L457E +L4994 ASC 'BASE'00 + TYA + CLC + ADC $28 + STA $28 + PER L49A2+2 +L49A2 BRL L467E + LDY #$0400 + CMP #$0030 + BEQ L49C0 + CMP #$0031 + BNE L49C7 + TYA + TSB $72 + TSB $68 +L49B7 PER L49BA+2 +L49BA BRL L4CA9 + BRL L3D28 +L49C0 TYA + TRB $72 + TRB $68 + BRA L49B7 +L49C7 PEA $0002 + PHK + PER L49CE+2 +L49CE BRL L8D82 + BRL L3D99 +L49D4 INC $28 + PER L49D9+2 +L49D9 BRL L467E + CMP #$0024 + BEQ L49E4 + BRL L3D28 +L49E4 INC $28 + PER L49E9+2 +L49E9 BRL L67DD + BCC L49F1 + BRL L3D28 +L49F1 PER L49F4+2 +L49F4 BRL L4525 + PHK + PER L4A02 + PEA $001E + PEI $EE + PEI $EC +L4A02 RTL + + BCC L4A08 + BRL L3D99 +L4A08 DEC + ASL + TAY + PER L4A1A + PHK + PLB + LDA ($01,S),Y + CLC + ADC $01,S + STA $01,S + BIT $92 + RTS + +L4A1A DW $0009 + DW $0025 + DW $01EB + DW $02A6 ; A6 02 + DW $02B3 ; B3 02 + PER L4A2E + PLX + PER L4A2E+2 + BRL L457E +L4A2E ASC 'ON'00 + LDA #$0080 + BCC L4A3B + TRB $93 + BRL L3D28 +L4A3B TSB $93 + BRL L3D28 + BPL L4A45 + BRL L3D28 +L4A45 LDY #$000A + LDA [$3C],Y + BEQ L4A59 + PEA $007D + PHK + PER L4A53+2 +L4A53 BRL L8D82 + BRL L3D99 +L4A59 LDY $38 + STY $30 + LDY $3A + STY $32 + LDX #$00A2 + PER L4A67+2 +L4A67 BRL L4BBA + BCC L4A6F + BRL L3D99 +L4A6F XBA + STA [$38] + PEI $3A + INC $38 + PEI $38 + PHK + PER L4A7C+2 +L4A7C BRL LA2FC + TAX + DEC $38 + LDA [$38] + XBA + STA [$38] + TXA + BCC L4A97 + PEA $007E + PHK + PER L4A91+2 +L4A91 BRL L8D82 + BRL L3D99 +L4A97 TAX + LDY #$0008 + LDA [$3C],Y + LDY #$000A + STA [$3C],Y + TXA + LDY #$0008 + STA [$3C],Y + PHK + PER L4AB3 + PEA $002D + PEI $EE + PEI $EC +L4AB3 RTL + + LDY #$0038 + LDA [$3C],Y + LDY #$003C + STA [$3C],Y + TXA + DEC + LDY #$0038 + STA [$3C],Y + LDY #$0046 + LDA [$3C],Y + LDY #$004A + STA [$3C],Y + LDY #$014E + STA [$3C],Y + LDY #$004C + LDA [$3C],Y + LDY #$004E + STA [$3C],Y + LDY #$002C + LDA [$3C],Y + LDY #$002E + STA [$3C],Y + LDY #$0024 + LDA [$3C],Y + LDY #$0028 + STA [$3C],Y + LDY #$0026 + LDA [$3C],Y + LDY #$002A + STA [$3C],Y + LDA #$02F0 + CLC + ADC $3C + LDX $3E + BCC L4B07 + INX +L4B07 LDY #$0020 + STA [$3C],Y + LDY #$0024 + STA [$3C],Y + STA $2C + TXA + STA $2E + LDY #$0022 + STA [$3C],Y + LDY #$0026 + STA [$3C],Y + LDY #$01B4 + LDX #$01C4 +L4B26 LDA [$3C],Y + PHY + TXY + STA [$3C],Y + PLY + LDA $00 + STA [$3C],Y + INY + INY + INX + INX + CPY #$01C4 + BCC L4B26 + LDY #$0008 + LDA [$3C],Y + PHA + PHK + PER L4B44+2 +L4B44 BRL LA537 + LDY #$01B4 + STA [$3C],Y + INY + INY + TXA + STA [$3C],Y + LDA $00 + STA [$2C] + LDY #$002C + STA [$3C],Y + LDY #$0046 + STA [$3C],Y + INC + LDY #$004C + STA [$3C],Y + LDA $B2 + LDY #$0030 + STA [$3C],Y + STZ $B2 + LDA #$00FF + TRB $71 + INC $28 + PER L4B78+2 +L4B78 BRL L467E + LDX $00 + CMP #$002F + BNE L4B92 + INC $28 + PER L4B87+2 +L4B87 BRL L467E + LDX $00 + CMP #$004C + BNE L4B92 + DEX +L4B92 LDY #$001A + LDA [$3C],Y + BIT #$0010 + BEQ L4B9D + DEX +L4B9D BIT #$0020 + BNE L4BAA + TXA + BEQ L4BB5 + LDA #$0040 + BRA L4BB5 +L4BAA TXA + BMI L4BB2 + LDA #$00C0 + BRA L4BB5 +L4BB2 LDA #$0080 +L4BB5 TSB $71 + BRL L3D28 +L4BBA PHX + PER L4BBE+2 +L4BBE BRL L467E + CMP #$0022 + BNE L4BF9 + INC $28 + LDY #$0002 + LDA $00 + STA [$30],Y +L4BCF LDA [$28] + AND #$00FF + BEQ L4BF1 + CMP #$0022 + BEQ L4BF1 + STA [$30],Y + INC $28 + INY + TYA + CMP $01,S + BCC L4BCF + PEA $000F + PHK + PER L4BEC+2 +L4BEC BRL L8D82 + BRA L4C03 +L4BF1 DEY + DEY + TYA + STA [$30] + CLC +L4BF7 PLX + RTS + +L4BF9 PEA $0002 + PHK + PER L4C00+2 +L4C00 BRL L8D82 +L4C03 SEC + BRA L4BF7 + BPL L4C0B + BRL L3D28 +L4C0B STZ $14 + PER L4C87 +L4C10 PER L4C13+2 +L4C13 BRL L467E + STZ $04 + CMP #$002D + BEQ L4C26 + INC $04 + CMP #$002B + BEQ L4C26 + BRA L4C28 +L4C26 INC $28 +L4C28 PER L4C2B+2 +L4C2B BRL L467E + INC $28 + CMP #$002C + BEQ L4C10 + TAY + BEQ L4C7A + ORA #$0020 + LDY #$0000 + PHK + PLB + SEP #$20 +L4C42 CMP ($01,S),Y + BEQ L4C51 + BCC L4C4D + INY + INY + INY + BRA L4C42 +L4C4D REP #$20 + BRA L4C10 +L4C51 REP #$20 + INY + LDA ($01,S),Y + AND #$FFFB + CMP ($01,S),Y + BEQ L4C5F + INC $14 +L4C5F LDX $04 + BNE L4C67 + TRB $72 + BRA L4C10 +L4C67 TSB $72 + CMP #$0001 + BNE L4C10 + LDY #$001A + ORA [$3C],Y + LDY #$001A + STA [$3C],Y + BRA L4C10 +L4C7A PLA + LDA $14 + BEQ L4C84 + PER L4C82+1 +L4C82 BRA L4CA9 +L4C84 BRL L3D28 +L4C87 DB $38 + DB $04 + DB $20 + DB $61 + DB $01 + DB $00 + DB $62 + DB $04 + DB $04 + DB $63 + DB $44 + DB $00 + DB $64 + DB $04 + DB $80 + DB $65 + DB $08 + DB $00 + DB $69 + DB $10 + DB $00 + DB $6C + DB $20 + DB $00 + DB $72 + DB $80 + DB $00 + DB $73 + DB $00 + DB $01 + DB $75 + DB $04 + DB $40 + DB $FF +L4CA9 LDX #$0017 + PHK + PER L4CB7 + PEA $0009 + PEI $EE + PEI $EC +L4CB7 RTL + + LDA $72 + STA [$24] + INC $24 + INC $24 + RTS + + BPL L4CC6 + BRL L3D28 +L4CC6 LDA #$0020 + TSB $71 + BRL L3D28 + BPL L4CD3 + BRL L3D28 +L4CD3 LDY #$000A + LDA [$E0],Y + INC + INC + CLC + ADC $E0 + STA $30 + LDA $00 + ADC $E2 + STA $32 + LDA [$30] + XBA + STA $04 + LDX #$002F + PER L4CF0+2 +L4CF0 BRL L4BBA + BCC L4CF8 + BRL L3D99 +L4CF8 XBA + STA [$30] + XBA + SEC + SBC $04 + CLC + LDY #$0044 + ADC [$3C],Y + LDY #$0044 + STA [$3C],Y + BRL L3D28 + LDA #$2000 + BIT $68 + BNE L4D2E + PEA $002C + PHK + PER L4D1B+2 +L4D1B BRL L8D82 + BRL L3D99 +L4D21 PEA $0002 + PHK + PER L4D28+2 +L4D28 BRL L8D82 + BRL L3D99 +L4D2E PER L4D31+2 +L4D31 BRL L467E + TAX + BEQ L4D63 + LDY $00 + PER L4D3C+2 +L4D3C BRL L46D6 + BVS L4D21 + BCS L4D79 + LDY #$0008 + PER L4D49+1 +L4D49 BRA L4D94 + BCS L4D66 + LDA [$E0],Y + AND #$0030 + CMP #$0020 + BEQ L4D8A +L4D57 PEA $002D + PHK + PER L4D5E+2 +L4D5E BRL L8D82 + BRA L4D66 +L4D63 BRL L3D28 +L4D66 LDY $00 + PER L4D6B+2 +L4D6B BRL L46A6 + BCS L4D63 + TYA + INC + CLC + ADC $28 + STA $28 + BRA L4D2E +L4D79 LDY #$0006 + PER L4D7F+1 +L4D7F BRA L4D94 + BCS L4D66 + LDA [$E0],Y + AND #$003C + BNE L4D57 +L4D8A INY + LDA [$E0],Y + AND #$7FFF + STA [$E0],Y + BRA L4D66 +L4D94 PHY + PEI $B0 + PER L4D9A+2 +L4D9A BRL L67DD + LDA [$38] + STA $12 + PLA + STA $B0 + BCC L4DA9 + BRL L4E3C +L4DA9 TXA + BEQ L4E26 + PLY + PHY + PHK + PER L4DB9 + PEA $0015 + PEI $EE + PEI $EC +L4DB9 RTL + + BCC L4E32 + LDY #$04FA + LDA [$3C],Y + ORA #$0080 + LDY #$04FA + STA [$3C],Y + PLY + PHY + PHK + PER L4DD6 + PEA $0015 + PEI $EE + PEI $EC +L4DD6 RTL + + BCC L4E13 + LDY #$04FA + LDA [$3C],Y + AND #$FF7F + LDY #$04FA + STA [$3C],Y + PER L4DE9+2 +L4DE9 BRL L8976 + BEQ L4E26 + LDA #$0080 + LDY #$04FA + ORA [$3C],Y + LDY #$04FA + STA [$3C],Y + PLY + PHY + PHK + PER L4E08 + PEA $0015 + PEI $EE + PEI $EC +L4E08 RTL + + BCC L4E13 + PER L4E0E+2 +L4E0E BRL L8A04 + BRA L4E26 +L4E13 PLA + PHY + INY + LDA [$E0],Y + AND #$3800 + BNE L4E26 + PLA + CLC + ADC #$0008 + PHA + CLC + BRA L4E3D +L4E26 PEA $002D + PHK + PER L4E2D+2 +L4E2D BRL L8D82 + BRA L4E3C +L4E32 PEA $002E + PHK + PER L4E39+2 +L4E39 BRL L8D82 +L4E3C SEC +L4E3D PLY + RTS + + LDA #$2000 + BIT $68 + BEQ L4E50 + PEA $002F + PHK + PER L4E4D+2 +L4E4D BRL L8D82 +L4E50 LDY #$0086 + LDA [$3C],Y + DEC + BNE L4E5E + PER L4E5B+2 +L4E5B BRL L6B82 +L4E5E LDY #$0086 + LDA [$3C],Y + INC + LDY #$0086 + STA [$3C],Y + CMP #$007F + BCC L4E78 + PEA $0082 + PHK + PER L4E75+2 +L4E75 BRL L8D82 +L4E78 LDA #$00FF + TRB $91 + LDA #$00C0 + TSB $91 + PER L4E85+2 +L4E85 BRL L67DD + LDA #$0020 + BIT $72 + BEQ L4EAF + PEI $3A + LDA $38 + INC + INC + PHA + PER L4E99+2 +L4E99 BRL L08A4 + BIT $70 + BPL L4EAF + BVS L4EAF + PHK + PER L4EA6+2 +L4EA6 BRL L08D6 + PER L4EAC+2 +L4EAC BRL L71DF +L4EAF PER L4EB2+2 +L4EB2 BRL L4F53 + PER L4EBF + PLX + PER L4EBF+6 + BRL L465D +L4EBF ASC 'SHARED'00 + BCS L4ECE + PER L4ECB+2 +L4ECB BRL L8FF6 +L4ECE SEP #$20 +L4ED0 DEY + LDA [$28],Y + CMP #$20 + BEQ L4ED0 + INY + LDA $00 + STA [$28],Y +L4EDC LDA [$28] + BEQ L4EEE + SEP #$20 + CMP #$20 + BNE L4EEE + INC $28 + BNE L4EDC + INC $29 + BRA L4EDC +L4EEE REP #$20 + BNE L4EFE + LDA #$2928 + STA [$28] + LDA $00 + LDY #$0002 + STA [$28],Y +L4EFE LDA $00 + LDY #$00AC + STA [$3C],Y + LDY #$00AE + STA [$3C],Y + LDY #$00B0 + STA [$3C],Y + LDY #$00B2 + STA [$3C],Y + LDA #$0040 + TSB $89 + LDA #$1000 + TSB $68 + LDA #$0013 + BRL L405B +L4F24 STZ $90 + LDX #$0010 + PHK + PER L4F34 + PEA $0009 + PEI $EE + PEI $EC +L4F34 RTL + + LDY #$0086 + LDA [$3C],Y + STA [$24] + INC $24 + INC $24 + LDY #$0002 + LDA [$BE],Y + STA [$24] + INC $24 + INC $24 + LDA #$2000 + TSB $68 + BRL L3D28 +L4F53 PER L4F5D + PLX + PER L4F5D+6 + BRL L465D +L4F5D ASC 'STATIC'00 + BCS L4F6D + TXY + LDA #$0001 + TSB $91 + CLC +L4F6D RTS + +L4F6E LDA #$2000 + AND $68 + BEQ L4F82 + PEA $0027 + PHK + PER L4F7C+2 +L4F7C BRL L8D82 + BRL L3D99 +L4F82 RTS + + PER L4F86+1 +L4F86 BRA L4F6E + LDA #$0080 + TSB $8F + LSR + XBA + TSB $68 + LDA #$000F + BRL L405B + LDY $00 + SEP #$20 +L4F9B LDA [$28],Y + BEQ L4FA5 + INY + CMP #$20 + BEQ L4F9B + DEY +L4FA5 REP #$20 + TYA + CLC + ADC $28 + STA $28 + LDX #$0013 + PHK + PER L4FBB + PEA $0009 + PEI $EE + PEI $EC +L4FBB RTL + + LDX $00 + TXY + SEP #$20 +L4FC1 LDA [$28] + BEQ L4FFE + CMP #$2C + BNE L4FEA + PHX + PLX + BNE L4FF3 +L4FCD DEY + BMI L4FD6 + LDA [$24],Y + CMP #$20 + BEQ L4FCD +L4FD6 INY +L4FD7 INC $28 + BNE L4FDD + INC $29 +L4FDD LDA [$28] + CMP #$20 + BEQ L4FD7 + LDA #$2C + STA [$24],Y + INY + BRA L4FC1 +L4FEA CMP #$22 + BNE L4FF3 + DEX + BEQ L4FF3 + INX + INX +L4FF3 STA [$24],Y + INY + INC $28 + BNE L4FC1 + INC $29 + BRA L4FC1 +L4FFE LDA #$2C + STA [$24],Y + INY + REP #$20 + TYA + CLC + ADC $24 + STA $24 + TYA + CLC + LDY #$008A + ADC [$3C],Y + LDY #$008A + STA [$3C],Y + BRL L3D28 + PER L501D+2 +L501D BRL L6750 + LDA #$4649 + STA $04 + STZ $06 + PER L502A+2 +L502A BRL L459F + BCC L505C + LDA $00 + LDX #$7FFF + PER L5037+2 +L5037 BRL L6650 + BCS L504F + PER L503F+2 +L503F BRL L66E3 + LDA [$28] + AND #$00FF + BNE L504C + BRL L3D28 +L504C BRL L3DB0 +L504F PEA $006E + PHK + PER L5056+2 +L5056 BRL L8D82 + BRL L3D99 +L505C PEA $0002 + PHK + PER L5063+2 +L5063 BRL L8D82 + BRL L3D99 + PER L506C+2 +L506C BRL L6750 + LDX #$7FFF + LDA $00 + PER L5077+2 +L5077 BRL L6650 + BCS L504F + PER L507F+2 +L507F BRL L66E3 + DEC $28 + DEC $28 + LDA #$4649 + STA [$28] + STA $C4 + LDA #$0002 + TSB $8E + BRL L3DB0 +L5095 PER L5098+2 +L5098 BRL L66E3 + PER L509E+2 +L509E BRL L6749 + LDX #$0002 + PER L50A7+2 +L50A7 BRL L678F + LDA [$28] + AND #$00FF + BNE L50B4 + BRL L3D28 +L50B4 PEA $006F + PHK + PER L50BB+2 +L50BB BRL L8D82 + BRL L3D99 + LDY #$00B4 + LDA [$3C],Y + INC + INC + LDY #$00B4 + STA [$3C],Y + LDY $28 + STY $DA + PER L50D4+2 +L50D4 BRL L67DD + BCC L50DC + BRL L3D99 +L50DC STX $12 + LDX #$0002 + LDY $DA + STY $28 + PER L50E8+2 +L50E8 BRL L890F + STX $74 + LDA #$4F54 + STA $04 + STZ $06 + PER L50F7+2 +L50F7 BRL L459F + BCC L5109 + PEA $006D + PHK + PER L5103+2 +L5103 BRL L8D82 + BRL L3D99 +L5109 DEY + DEY + STY $60 + DEY + DEY + LDA [$28],Y + STA $5E + LDX $00 + PER L5118+2 +L5118 BRL L8D95 + LDA [$28],Y + AND #$FF00 + ORA #$003D + STA [$28],Y + STZ $10 + PER L5131 + PLX + PER L5136-1 + BRL L457E +L5131 ASC 'STEP'00 + +L5136 BCS L5143 + DEY + DEY + DEY + DEY + LDA #$0000 + STA [$28],Y + STY $10 +L5143 LDA $60 + DEC + DEC + CLC + ADC $28 + STA $28 + PER L515C + PLA + STA $6C + LDA $10 + LDY #$00BA + STA [$3C],Y + BRL L3DB0 +L515C LDA $D2 + LDY #$00B6 + STA [$3C],Y + LDY $DA + STY $28 + LDY #$00BA + LDA [$3C],Y + BEQ L5174 + TAY + LDA #$5453 + STA [$28],Y +L5174 LDY $60 + LDA #$4F54 + STA [$28],Y + DEY + DEY + LDA $5E + STA [$28],Y + PER L518B + PLX + PER L518B+4 + BRL L457E +L518B ASC 'STEP'00 + BCS L5196 + DEY + DEY + DEY + DEY +L5196 PHY + PHP + LDX #$0001 + PER L519E+2 +L519E BRL L8D95 + LDA [$28],Y + AND #$FF00 + ORA #$003D + STA [$28],Y + PLP + BCC L51B4 + INY + LDA #$0031 + STA [$28],Y +L51B4 PLA + CLC + ADC $28 + STA $28 + PER L51C3 + PLA + STA $6C + BRL L3DB0 +L51C3 LDA $D2 + LDY #$00B8 + STA [$3C],Y + LDY $DA + STY $28 + LDY $60 + LDA $00 + STA [$28],Y + STY $60 + PER L51EC + PLA + STA $6C + BRL L3DB0 +L51DF PEA $0002 + PHK + PER L51E6+2 +L51E6 BRL L8D82 + BRL L3D99 +L51EC LDX #$0001 + PER L51F2+2 +L51F2 BRL L676B + LDX #$0001 + TXA + DEC + PER L51FD+2 +L51FD BRL L6650 + BCS L51DF + PER L5205+2 +L5205 BRL L66E3 + LDY $DA + STY $28 + LDA #$29D8 + CLC + ADC $3C + STA $48 + LDA $00 + ADC $3E + STA $4A + LDY $00 + SEP #$20 +L521E LDA [$28],Y + BEQ L51DF + STA [$48],Y + INY + CMP #$3D + BNE L521E + STY $04 + LDX $00 +L522D PHY + TXY + LDA [$28],Y + PLY + CMP #$3D + BEQ L523C + STA [$48],Y + INY + INX + BRA L522D +L523C LDA #$2B + STA [$48],Y + INY + REP #$20 + PHY + PER L5247+2 +L5247 BRL L658A + PLY + LDX $48 + STX $28 + LDX #$0001 + PER L5255+2 +L5255 BRL L8D95 + LDA $00 + STA [$28],Y + PER L5265 + PLA + STA $6C + BRL L3DB6 +L5265 PER L5268+2 +L5268 BRL L66E3 + LDA $DA + STA $28 + LDA #$0003 + LDY #$04F8 + STA [$3C],Y + LDA #$8062 + LDY #$04FA + STA [$3C],Y + LDA #$0001 + LDY #$04FC + STA [$3C],Y + LDY $00 + SEP #$20 +L528B INY + LDA [$28],Y + CMP #$3D + BNE L528B + INY + LDA #$3C + STA [$28],Y + INY + REP #$20 + LDX $00 + PER L529F+2 +L529F BRL L8D95 + LDA $00 + STA [$28],Y + PER L52B8 + PLA + STA $6C + PER L52AF+2 +L52AF BRL L3DCF + LDA #$0018 + BRL L405B +L52B8 LDY #$00BA + LDA [$3C],Y + BEQ L52D9 + LDX #$0019 + PHK + PER L52CD + PEA $0009 + PEI $EE + PEI $EC +L52CD RTL + + LDY #$00B8 + LDA [$3C],Y + STA [$24] + INC $24 + INC $24 +L52D9 LDX $00 + TXA + INC + PER L52E0+2 +L52E0 BRL L6650 + BRL L3D28 + BIT $8D + BVS L534E + LDA #$4F47 + STA $04 + LDA #$4F54 + STA $06 + STZ $08 + PER L52F9+2 +L52F9 BRL L459F + BCC L5356 + LDA #$4854 + STA $04 + LDA #$4E45 + STA $06 + PER L530B+2 +L530B BRL L459F + BCS L5325 +L5310 LDA [$28],Y + AND #$00FF + BEQ L531F + INY + CMP #$0020 + BEQ L5310 + BRA L5356 +L531F DEY + DEY + DEY + DEY + STA [$28],Y +L5325 LDA #$0002 + TAX + BIT $8E + BEQ L5331 + TRB $8E + BRA L5340 +L5331 LDX #$0002 + PER L5337+2 +L5337 BRL L676B + PER L533D+2 +L533D BRL L673D +L5340 LDA #$FFFF + STA $64 + LDA #$0041 + TRB $8E + LSR + ASL + TSB $8E +L534E STZ $CA + LDA #$0018 + BRL L405B +L5356 LDA $62 + LDY #$108C + STA [$3C],Y + LDA #$4649 +L5360 STA $64 + DEC $28 + DEC $28 + LDA $00 + STA [$28] + LDA #$0041 + TRB $8E + LSR + ASL + TSB $8E +L5373 INC $28 + INC $28 + LDA $00 + DEC + DEC + STA $C4 + LSR + STA $0C + LDA #$4649 + STA $04 + STZ $06 + PER L538A+2 +L538A BRL L459F + BCS L5397 + INY + INY + STY $0C + LDA $04 + STA $C4 +L5397 STZ $08 + LDA $64 + CMP #$4649 + BNE L53BC + LDA #$4F47 + STA $04 + LDA #$4F54 + STA $06 + PER L53AD+2 +L53AD BRL L459F + BCS L53BC + CPY $0C + BPL L53BC + STY $0C + LDA $04 + STA $C4 +L53BC LDA #$4C45 + STA $04 + LDA #$4553 + STA $06 + PER L53C9+2 +L53C9 BRL L459F + BCS L53D8 + CPY $0C + BPL L53D8 + STY $0C + LDA $04 + STA $C4 +L53D8 LDA #$4649 + STA $08 + STZ $0A + PER L53E2+2 +L53E2 BRL L459F + BCS L53F3 + DEY + DEY + CPY $0C + BPL L53F3 + STY $0C + LDA $04 + STA $C4 +L53F3 LDA #$4854 + STA $04 + LDA #$4E45 + STA $06 + STZ $08 + PER L5402+2 +L5402 BRL L459F + BCS L541C + CPY $0C + BPL L541C + STY $0C + TYX + DEY + DEY + LDA #$2020 + STA $C4 + STA [$28],Y + DEY + DEY + STA [$28],Y + TXY +L541C LDX $C4 + BMI L5447 + LDA $0C + SEC + SBC #$0004 + TAY + CLC + ADC $28 + STA $5C + LDA $2A + STA $5E + LDA [$28],Y + STX $02 + CMP $02 + BEQ L5442 + PEA $0045 + PHK + PER L543F+2 +L543F BRL L8D82 +L5442 LDA #$0000 + STA [$28],Y +L5447 DEC $28 + DEC $28 + LDA $64 + STA [$28] + STA $C4 + STX $64 +L5453 LDA [$28] + AND #$00FF + BEQ L5466 + CMP #$0020 + BEQ L5462 + BRL L3DB0 +L5462 INC $28 + BRA L5453 +L5466 LDA $64 + BMI L549E + LDA $5C + STA $28 + LDA $5E + STA $2A + LDA $C4 + CMP #$4649 + BNE L549B + LDA #$0002 + BIT $8E + BEQ L5484 + TRB $8E + BRA L5491 +L5484 TAX + PER L5488+2 +L5488 BRL L676B + PER L548E+2 +L548E BRL L673D +L5491 LDX $00 + TXA + INC + PER L5498+2 +L5498 BRL L6650 +L549B BRL L5373 +L549E INC + BNE L54AD + LDX $00 + TXA + INC + PER L54A8+2 +L54A8 BRL L6650 + BRA L54EE +L54AD BIT $A6 + BVC L54C7 + PHK + PER L54B5+2 +L54B5 BRL L6C35 + LDA $B0 + STA $C2 + BCC L54C1 + BRL L6A0A +L54C1 LDA #$2020 + BRL L5360 +L54C7 INC + BNE L54EE + LDA $62 + SEC + LDY #$108C + SBC [$3C],Y +L54D2 DEC + BMI L54EE + PHA + PER L54D9+2 +L54D9 BRL L66E3 + PER L54DF+2 +L54DF BRL L6749 + LDX #$0002 + PER L54E8+2 +L54E8 BRL L678F + PLA + BRA L54D2 +L54EE STZ $64 + LDA #$0041 + TRB $8E + BRL L3D28 + LDX #$0000 + PER L54FE+2 +L54FE BRL L676B + PER L5504+2 +L5504 BRL L66E3 + PER L5515 + PLA + STA $6C + STZ $CA + LDA #$0018 + BRL L405B +L5515 LDX $00 + TXA + INC + PER L551C+2 +L551C BRL L6650 + BRL L3D28 + SEP #$20 + LDX $00 + TXY +L5527 LDA [$28],Y + BEQ L5533 + INY + CMP #$2C + BNE L5527 + INX + BRA L5527 +L5533 REP #$20 + PHX + LDX #$FFFE + LDA $00 + PER L553E+2 +L553E BRL L6650 + BCS L5559 + PER L5546+2 +L5546 BRL L66E3 + LDX #$0001 + PER L554F+2 +L554F BRL L678F + PLX + DEX + BPL L5533 + BRL L3D28 +L5559 PEA $004B + PHK + PER L5560+2 +L5560 BRL L8D82 + BRL L3D99 + LDX #$FFFF + LDA $00 + PER L556E+2 +L556E BRL L6650 + BCS L5585 + PER L5576+2 +L5576 BRL L66E3 + LDX #$0000 + PER L557F+2 +L557F BRL L678F + BRL L3D28 +L5585 PEA $004A + PHK + PER L558C+2 +L558C BRL L8D82 + BRL L3D99 + PER L5595+2 +L5595 BRL L67DD + BCC L559D + BRL L3D99 +L559D LDY #$000D + BRA L55C3 + PER L55A5+2 +L55A5 BRL L67DD + BCC L55AD + BRL L3D99 +L55AD LDA [$38] + TAX +L55B0 LDY #$000C + LDA [$28] + AND #$00FF + BEQ L55C3 + CMP #$0020 + BNE L55C6 + INC $28 + BRA L55B0 +L55C3 TXA + BNE L55D3 +L55C6 PEA $0002 + PHK + PER L55CD+2 +L55CD BRL L8D82 + BRL L3D99 +L55D3 PHY + STZ $04 + PHK + PER L55E1 + PEA $0006 + PEI $EE + PEI $EC +L55E1 RTL + + PLX + PHK + PER L55EE + PEA $0009 + PEI $EE + PEI $EC +L55EE RTL + + TYA + STA [$24] + INC $24 + INC $24 + BIT $8D + BVC L5603 + LDA $64 + INC + INC + BNE L5603 + INC + TSB $8E +L5603 BRL L3D28 + LDY $28 + STY $CE + LDY #$04FA + LDA [$3C],Y + STA $D0 + PER L5614+2 +L5614 BRL L67DD + BCC L561C + BRL L3D99 +L561C TXY + BNE L5622 + BRL L56FD +L5622 PHK + PER L562D + PEA $0018 + PEI $EE + PEI $EC +L562D RTL + + BCC L5633 + BRL L56FD +L5633 STX $10 + CPX #$0019 + BNE L563D + BRL L5809 +L563D LDA [$28] + AND #$00FF + CMP #$0020 + BEQ L564A + BRL L56FD +L564A CPX #$0014 + BMI L5654 + CPX #$0019 + BMI L566C +L5654 LDY $CE + INY + STY $28 + PER L565C+2 +L565C BRL L658A + PEA $0078 + PHK + PER L5666+2 +L5666 BRL L8D82 + BRL L3D99 +L566C LDY $28 + STY $CE + PER L5673+2 +L5673 BRL L658A + PER L5679+2 +L5679 BRL L67DD + BCC L5681 + BRL L3D99 +L5681 PHK + PER L568C + PEA $0018 + PEI $EE + PEI $EC +L568C RTL + + BCS L5654 + TXA + SEC + SBC #$000C + STA $12 + BEQ L56A4 + DEC + BNE L5654 + LDA $10 + CMP #$0016 + BNE L5654 + BRA L56AB +L56A4 LDA $10 + CMP #$0016 + BEQ L5654 +L56AB LDY $28 + STY $CE + PER L56B2+2 +L56B2 BRL L67DD + BCC L56BA + BRL L3D99 +L56BA LDY #$04FA + LDA [$3C],Y + LDY $00 + CMP #$0030 + BEQ L56D8 + STZ $04 + DEC $04 + DEC $04 + PHK + PER L56D7 + PEA $0006 + PEI $EE + PEI $EC +L56D7 RTL + +L56D8 LDX #$0011 + PHK + PER L56E6 + PEA $0009 + PEI $EE + PEI $EC +L56E6 RTL + + LDA $10 + ASL + LSR $12 + ROR + STA [$24] + INC $24 + INC $24 + TYA + STA [$24] + INC $24 + INC $24 + BRL L3D28 +L56FD LDY $CE + STY $28 + PER L5704+2 +L5704 BRL L658A + LDA #$4F47 + STA $04 + LDA #$4F54 + STA $06 + STZ $08 + STZ $D2 + PER L5718+2 +L5718 BRL L459F + TYX + BCC L5738 + LDA #$5553 + STA $06 + LDA #$0042 + STA $08 + PER L572B+2 +L572B BRL L459F + BCC L5733 + BRL L5654 +L5733 TYX + DEY + SEC + ROR $D2 +L5738 DEY + DEY + DEY + DEY + LDA $00 + STA [$28],Y + TXA + CLC + ADC $CE + STA $D4 + PER L5773 + STZ $CA +L574B PER L574E+2 +L574E BRL L658A + PLA + STA $6C + LDA #$0003 + LDY #$04F8 + STA [$3C],Y + LDA $D0 + LDY #$04FA + STA [$3C],Y + LDA #$0001 + LDY #$04FC + STA [$3C],Y + LDA $CA + ORA #$0018 + BRL L405B +L5773 LDY $D4 + STY $28 + LDY $00 + LDX $00 + SEP #$20 + LDA [$28],Y + BEQ L578D +L5781 LDA [$28],Y + BEQ L579C + INY + CMP #$2C + BNE L5781 + INX + BRA L5781 +L578D REP #$20 + PEA $0070 + PHK + PER L5796+2 +L5796 BRL L8D82 + BRL L3D99 +L579C REP #$20 + INX + STX $10 + PER L57A4+2 +L57A4 BRL L658A + LDX #$0012 + PHK + PER L57B5 + PEA $0009 + PEI $EE + PEI $EC +L57B5 RTL + + LDA $10 + ORA $D2 + STA [$24] + INC $24 + INC $24 +L57C0 PER L57C3+2 +L57C3 BRL L67DD + BCC L57CB + BRL L3D99 +L57CB LDA [$38] + BEQ L578D + STZ $04 + PHK + PER L57DC + PEA $0006 + PEI $EE + PEI $EC +L57DC RTL + + TYA + STA [$24] + INC $24 + INC $24 + DEC $10 + BEQ L5806 +L57E8 LDA [$28] + AND #$00FF + INC $28 + CMP #$0020 + BEQ L57E8 + CMP #$002C + BEQ L57C0 + PEA $0002 + PHK + PER L5800+2 +L5800 BRL L8D82 + BRL L3D99 +L5806 BRL L3D28 +L5809 PER L580C+1 +L580C BRA L583F + BCC L5813 + BRL L3D99 +L5813 TYA + BNE L5823 + PEA $0002 + PHK + PER L581D+2 +L581D BRL L8D82 + BRL L3D99 +L5823 INC + CLC + ADC $28 + STA $D4 + PER L5833 + STZ $CA + INC $CA + BRL L574B +L5833 LDY $D4 + STY $28 + LDA #$0019 + STA $10 + BRL L566C +L583F PHP + SEP #$20 + LDX $00 + TXY +L5845 LDA [$28] + BEQ L5889 + CMP #$28 + BEQ L586C + CMP #$20 + BNE L5859 + INC $28 + BNE L5845 + INC $29 + BRA L5845 +L5859 PER L585C+2 +L585C BRL L658A + PEA $0002 + PHK + PER L5866+2 +L5866 BRL L8D82 + PLP + SEC + RTS + +L586C LDA #$20 + STA [$28] + TXY +L5871 LDA [$28],Y + BEQ L5859 + INY + CMP #$28 + BNE L587D + INX + BRA L5871 +L587D CMP #$29 + BNE L5871 + DEX + BPL L5871 + DEY + LDA #$00 + STA [$28],Y +L5889 PLP + CLC + RTS + + MX %00 + PER L588F+2 +L588F BRL L467E + AND #$00FF + BNE L589A + BRL L59BC +L589A PER L58A4 + PLX + PER L58A4+3 + BRL L457E +L58A4 ASC 'SUB'00 + BCC L58D4 + PER L58B4 + PLX + PER L58B4+2 + BRL L457E +L58B4 EOR #$0046 + BCS L58C8 + TYA + CLC + ADC $28 + STA $28 + PER L58C2+2 +L58C2 BRL L658A + BRL L5095 +L58C8 PEA $0002 + PHK + PER L58CF+2 +L58CF BRL L8D82 + BRA L58EE +L58D4 BIT $20 + BMI L58C8 + LDA #$2000 + BIT $68 + BNE L58EB + PEA $0028 + PHK + PER L58E6+2 +L58E6 BRL L8D82 + BRA L58EE +L58EB BRL L3D45 +L58EE PER L58F1+2 +L58F1 BRL L6B82 + LDA #$2000 + TRB $68 + BRL L3D99 + LDX #$0015 + STZ $08 +L5901 PHK + PER L590C + PEA $0009 + PEI $EE + PEI $EC +L590C RTL + + LDY $08 + BNE L5944 + PER L5914+2 +L5914 BRL L467E + TAY + BEQ L5944 + PER L591D+2 +L591D BRL L67DD + BCC L5925 + BRL L3D99 +L5925 LDA [$38] + BEQ L594E + LDY #$0002 + LDA [$38],Y + LDY $00 + SEC + SBC #$0030 + BEQ L5944 + STZ $04 + PHK + PER L5943 + PEA $0006 + PEI $EE + PEI $EC +L5943 RTL + +L5944 TYA + STA [$24] + INC $24 + INC $24 + BRL L3D28 +L594E PEA $0002 + PHK + PER L5955+2 +L5955 BRL L8D82 + BRL L3D99 +L595B LDA #$001C + BRL L405B + LDA #$2000 + AND $68 + BNE L5975 + PEA $002C + PHK + PER L596F+2 +L596F BRL L8D82 + BRL L3D99 +L5975 PER L597F + PLX + PER L597F+3 + BRL L457E +L597F ASC 'SUB'00 + BCS L599B + BIT $20 + BMI L599B + LDX #$0014 + PHK + PER L5997 + PEA $0009 + PEI $EE + PEI $EC +L5997 RTL + + BRL L3D28 +L599B PEA $0078 + PHK + PER L59A2+2 +L59A2 BRL L8D82 + BRL L3D99 + STZ $08 + LDX #$0016 + BRL L5901 + LDA #$001F + BRL L405B + LDA #$001D + BRL L405B +L59BC LDA [$28] + AND #$00FF + BEQ L59D0 + PEA $0002 + PHK + PER L59CA+2 +L59CA BRL L8D82 + BRL L3D99 +L59D0 LDA #$000C + BRL L405B +L59D6 PER L59D9+2 +L59D9 BRL L4525 + INC $28 + PER L59E1+2 +L59E1 BRL L467E + LDA #$8162 + LDY #$04FA + STA [$3C],Y + LDA $00 + LDY #$04FC + STA [$3C],Y + INC + INC + LDY #$04F8 + STA [$3C],Y + LDY $00 + PER L59FF+2 +L59FF BRL L4693 + CMP #$0023 + BNE L5A1B + LDA [$28],Y + CLC + ADC #$FFFD + STA [$28],Y + LDY #$04FB + LDA [$3C],Y + INC + INC + LDY #$04FB + STA [$3C],Y +L5A1B PER L5A25 + PLX + PER L5A25+5 + BRL L457E +L5A25 ASC 'USING'00 + BCS L5A91 + PHY + LDY #$04FA + LDA [$3C],Y + PLY + CMP #$8162 + BNE L5A3F +L5A39 BIT $20 + BMI L5A84 + BRA L5A4E +L5A3F CMP #$8262 + BEQ L5A39 + LDA $21 + AND #$00FF + CMP #$00FF + BNE L5A84 +L5A4E LDA #$003B + PER L5A54+2 +L5A54 BRL L46A1 + BCC L5A8B + SEP #$20 + PER L5A5E+2 +L5A5E BRL L45F8 + BCS L5A69 + PER L5A66+2 +L5A66 BRL L4635 +L5A69 REP #$20 + TYA +L5A6C CLC + ADC $28 + STA $28 + PER L5A74+2 +L5A74 BRL L658A + PEA $0002 + PHK + PER L5A7E+2 +L5A7E BRL L8D82 + BRL L3D99 +L5A84 TYA + SEC + SBC #$0005 + BRA L5A6C +L5A8B LDA #$000D + BRL L405B +L5A91 LDY #$0000 + SEP #$20 + TYX + DEX + BRA L5AF2 +L5A9A LDA [$28],Y + BNE L5AA1 + BRL L5B2B +L5AA1 INY + CMP #$20 + BNE L5AA9 + INX + BRA L5A9A +L5AA9 XBA + LDA $00 + XBA + BMI L5AC1 + PHY + TAY + LDA [$94],Y + BPL L5ABF + TYA + PLY + CMP #$28 + BEQ L5B0F + LDX $00 + BRA L5AF2 +L5ABF TYA + PLY +L5AC1 PHX + PLX + BEQ L5AEC + PER L5AC8+2 +L5AC8 BRL L5B8C + BCS L5AE1 +L5ACD LDA [$28],Y + INY + CMP #$20 + BEQ L5ACD + PER L5AD7+2 +L5AD7 BRL L5B8C + BCC L5ACD + DEY + LDX $00 + BRA L5A9A +L5AE1 DEY + DEY + LDA #$3B + STA [$28],Y + LDX $00 + INY + BRA L5A9A +L5AEC CMP #$28 + BEQ L5B0F + BRA L5A9A +L5AF2 LDA [$28],Y + BEQ L5B2B + INY + CMP #$28 + BEQ L5B0F + CMP #$20 + BEQ L5AF2 + INX + BNE L5B0A + PER L5B05+2 +L5B05 BRL L5B8C + BCC L5ACD +L5B0A DEY + LDX $00 + BRA L5A9A +L5B0F STZ $CE +L5B11 LDA [$28],Y + BEQ L5B2B + INY + CMP #$29 + BNE L5B23 + DEC $CE + BPL L5B11 + LDX $00 + BRL L5A9A +L5B23 CMP #$28 + BNE L5B11 + INC $CE + BRA L5B11 +L5B2B REP #$20 + LDY $28 + STY $CE + LDY $2A + STY $D0 + LDA #$4154 + STA $04 + LDA #$0042 + STA $06 + LDA #$0002 + STA $1E +L5B44 PER L5B47+2 +L5B47 BRL L459F + BCS L5B5C + TYA + CLC + ADC $28 + STA $28 + STZ $08 + PER L5B57+2 +L5B57 BRL L65EF + BRA L5B44 +L5B5C LDY $CE + STY $28 + LDY $D0 + STY $2A + DEC $1E + BMI L5B84 + BEQ L5B78 + LDA #$5450 + STA $04 + LDA #$4241 + STA $06 + STZ $08 + BRA L5B44 +L5B78 LDA #$5053 + STA $04 + LDA #$0043 + STA $06 + BRA L5B44 +L5B84 LDA #$0040 + TSB $8D + BRL L40A0 +L5B8C PHP + PHY + DEY + REP #$20 + LDA [$28],Y + PHK + PLB + LDY #$0000 + PER L8B47 +L5B9B CMP ($01,S),Y + BEQ L5BAD + INY + INY + INY + INY + CPY #$001C + BCC L5B9B + PLY +L5BA9 PLY + PLP + SEC + RTS + +L5BAD INY + INY + SEP #$20 + LDA ($01,S),Y + BNE L5BC7 + PLY + PLY + PHY +L5BB8 INY + LDA [$28],Y + CMP #$41 + BCC L5BC3 + CMP #$5B + BCC L5BA9 +L5BC3 PLX + PLP + CLC + RTS + + MX %00 +L5BC7 PLY + PLY + PHY + INY + CMP [$28],Y + BNE L5BA9 + BRA L5BB8 +L5BD1 LDY #$0002 + LDA [$38],Y + STA $20 + PER L5BDB+2 +L5BDB BRL L67DD + BCC L5BE3 + BRL L3D99 +L5BE3 LDA [$28] + AND #$00FF + BNE L5BF8 + PHK + PER L5BF5 + PEA $0018 + PEI $EE + PEI $EC +L5BF5 RTL + + BCC L5C05 +L5BF8 PEA $0078 + PHK + PER L5BFF+2 +L5BFF BRL L8D82 + BRL L3D99 +L5C05 STA $22 + DEC + BEQ L5C10 + DEC + BEQ L5C10 + DEC + BNE L5BF8 +L5C10 LDX #$0005 + PHK + PER L5C1E + PEA $0009 + PEI $EE + PEI $EC +L5C1E RTL + + LDA #$0C81 + STA [$24] + INC $24 + INC $24 + LDA $20 + STA [$24] + INC $24 + INC $24 + LDA $22 + XBA + ORA #$8064 + STA [$24] + INC $24 + INC $24 + LDA $00 + STA [$24] + INC $24 + BRL L3D28 + BRL L40A0 + PER L5C4B+2 +L5C4B BRL L4F6E + SEP #$20 +L5C50 LDA [$28] + BEQ L5C68 + CMP #$2C + BEQ L5C64 + CMP #$20 + BNE L5C68 + INC $28 + BNE L5C50 + INC $29 + BRA L5C50 +L5C64 LDA #$20 + STA [$28] +L5C68 REP #$20 + BRL L40A0 + LDY $00 +L5C6F PER L5C72+2 +L5C72 BRL L4693 + CMP #$0023 + BNE L5C82 + LDA [$28],Y + SEC + SBC #$0003 + STA [$28],Y +L5C82 PER L5C85+2 +L5C85 BRL L46A6 + INY + BCC L5C6F + LDA #$000D + BRL L405B + LDY #$04FA + LDA [$3C],Y + CMP #$9F62 + BEQ L5CBD + LDY $00 + PER L5CA0+2 +L5CA0 BRL L4693 + CMP #$0023 + BNE L5CC9 + LDA [$28],Y + AND #$FF00 + ORA #$0020 + STA [$28],Y + LDY #$04FB + LDA [$3C],Y + INC + LDY #$04FB + STA [$3C],Y +L5CBD LDY $00 + PER L5CC2+2 +L5CC2 BRL L46A6 + BCS L5D01 + BRA L5CF8 +L5CC9 CMP #$0071 + BNE L5CE2 + INY + INY + PER L5CD3+2 +L5CD3 BRL L4693 + CMP #$002C + BEQ L5CF5 + CMP #$003B + BEQ L5CF5 + BRA L5D01 +L5CE2 CMP #$003B + BNE L5D10 + INY + PER L5CEB+2 +L5CEB BRL L4693 + CMP #$0071 + BEQ L5CC9 + BRA L5D10 +L5CF5 INY + BRA L5D10 +L5CF8 INY + PER L5CFC+2 +L5CFC BRL L46D6 + BVC L5D0E +L5D01 PEA $0080 + PHK + PER L5D08+2 +L5D08 BRL L8D82 + BRL L3D99 +L5D0E BCC L5D1D +L5D10 PER L5D13+2 +L5D13 BRL L46A6 + BCC L5CF8 + LDX #$000D + BRA L5D4A +L5D1D PHY + LDY #$04FA + LDA [$3C],Y + LDX #$000F + PLY + CMP #$9E62 + BEQ L5D2F + LDX #$000D +L5D2F PER L5D63 + PLA + STA $6C + DEY + LDA [$28],Y + AND #$FF00 + STA [$28],Y + STY $D4 + LDA $28 + STA $D2 + LDY #$04FA + LDA [$3C],Y + STA $CE +L5D4A PHX + PER L5D4E+2 +L5D4E BRL L3DCF + PER L5D54+2 +L5D54 BRL L658A + PLX + LDA #$0040 + TSB $8F + TSB $93 + TXA + BRL L405B +L5D63 LDA #$0003 + LDY #$04F8 + STA [$3C],Y + LDA $CE + LDY #$04FA + STA [$3C],Y + LDA #$0020 + LDY #$04FC + STA [$3C],Y + LDY $D2 + STY $28 + LDY $D4 + ORA [$28],Y + STA [$28],Y + TYA + CLC + ADC $28 + STA $28 + LDY $00 +L5D8C PER L5D8F+2 +L5D8F BRL L46A6 + LDX #$000F + BCS L5D4A + INY + PER L5D9B+2 +L5D9B BRL L46D6 + BVC L5DA3 + BRL L5D01 +L5DA3 BCS L5D8C + PHY + LDY #$04FA + LDA [$3C],Y + LDX #$000D + PLY + CMP #$9E62 + BNE L5DB7 + BRL L5D2F +L5DB7 LDX #$000F + BRL L5D2F + PER L5DC0+2 +L5DC0 BRL L467E + CMP #$003D + BNE L5DD5 + EOR [$28] + ORA #$0020 + STA [$28] + LDA #$001F + BRL L405B +L5DD5 PEA $0002 + PHK + PER L5DDC+2 +L5DDC BRL L8D82 + BRL L3D99 + PER L5DEC + PLX + PER L5DEC+5 + BRL L465D +L5DEC ASC 'FIELD'00 + BCC L5DF7 + BRL L599B +L5DF7 BIT $20 + BMI L5DFE + BRL L40A0 +L5DFE BRL L599B + LDA #$0040 + TSB $92 + LDA #$000D + BRL L405B + LDY $00 + PER L5E11+2 +L5E11 BRL L46A6 + BCS L5E49 + PHY + PER L5E1A+2 +L5E1A BRL L4693 + CMP #$0052 + BEQ L5E3B +L5E22 PLA + CLC + ADC $28 + STA $28 + PER L5E2B+2 +L5E2B BRL L658A + PEA $0002 + PHK + PER L5E35+2 +L5E35 BRL L8D82 + BRL L3D99 +L5E3B INY + LDA [$28],Y + AND #$00FF + BNE L5E22 + PLY + INY + LDA $00 + STA [$28],Y +L5E49 LDA #$000D + BRL L405B + PER L5E52+2 +L5E52 BRL L467E + BRL L3F72 +L5E58 LDY $00 + PER L5E5D+2 +L5E5D BRL L4693 + CMP #$0023 + BNE L5E6D + LDA [$28],Y + SEC + SBC #$0003 + STA [$28],Y +L5E6D LDA #$000D + BRL L405B + PER L5E76+2 +L5E76 BRL L652C + BCS L5E58 + STZ $1C +L5E7D LDY $00 + PER L5E82+2 +L5E82 BRL L46A6 + BCS L5E92 + LDA [$28],Y + CLC + ADC #$0052 + STA [$28],Y + BRL L40B0 +L5E92 REP #$20 + PEA $0002 + PHK + PER L5E9B+2 +L5E9B BRL L8D82 + BRL L3D99 + PER L5EA4+2 +L5EA4 BRL L652C + BCS L5E58 + LDY $00 + PER L5EAE+2 +L5EAE BRL L46A6 + BCS L5E92 + INY + PER L5EB7+2 +L5EB7 BRL L46A6 + BCS L5E7D + STZ $0C + LDY $00 + PER L5ECA + PLX + PER L5ECA+4 + BRL L465D +L5ECA ASC 'PSET'00 + BCC L5F2A + INC $0C + LDY $00 + PER L5EDF + PLX + PER L5EDF+6 + BRL L465D +L5EDF ASC 'PRESET'00 + BCC L5F2A + ASL $0C + LDY $00 + PER L5EF6 + PLX + PER L5EF6+3 + BRL L465D +L5EF6 ASC 'AND'00 + BCC L5F2A + ASL $0C + INC $0C + LDY $00 + PER L5F0C + PLX + PER L5F0C+3 + BRL L465D +L5F0C ASC 'XOR'00 + BCC L5F2A + INC $0C + INC $0C + LDY $00 + PER L5F22 + PLX + PER L5F22+2 + BRL L465D +L5F22 ASC 'OR'00 + BCC L5F2A + BRL L5E92 +L5F2A LDA $0C + XBA + ORA #$8064 + DEY + DEY + STA [$28],Y + BRL L5E7D + PER L5F41 + PLX + PER L5F41+2 + BRL L457E +L5F41 ASC 'AS'00 + BCS L5F7B + PHY + LDY $00 + PER L5F53 + PLX + PER L5F53+5 + BRL L457E +L5F53 ASC 'INPUT'00 + BCS L5F63 + DEY + LDA [$28],Y + ORA #$0020 + STA [$28],Y +L5F63 PLY +L5F64 PER L5F67+2 +L5F67 BRL L4693 + CMP #$0023 + BNE L5F86 + LDA [$28],Y + AND #$FF00 + ORA #$0020 + STA [$28],Y + BRA L5F86 +L5F7B LDY $00 + PER L5F80+2 +L5F80 BRL L46A6 + INY + BCC L5F64 +L5F86 PER L5F90 + PLX + PER L5F93 + BRL L457E +L5F90 JMP $4E45 + +L5F93 DB $00 + BCS L5FB2 + TYX + DEY + DEY + LDA #$4E65 ; eN + STA [$28],Y + TXY + PER L5FA2+2 +L5FA2 BRL L4693 + CMP #$003D + BNE L5FB8 + LDA [$28],Y + CLC + ADC #$FFE3 + STA [$28],Y +L5FB2 LDA #$000D + BRL L405B +L5FB8 PEA $0002 + PHK + PER L5FBF+2 +L5FBF BRL L8D82 + BRL L3D99 + LDY $00 + SEP #$20 +L5FC9 INY + LDA [$28],Y + BEQ L5FC9 + CMP #$3D + BNE L5FC9 + LDA #$3B + STA [$28],Y + REP #$20 + BRL L40B0 + LDY $00 + PER L5FE0+2 +L5FE0 BRL L4693 + CMP #$002D + BNE L5FFB + PER L5FEB+2 +L5FEB BRL L6097 + PER L5FF1+2 +L5FF1 BRL L652C + BCC L5FF9 + BRL L608A +L5FF9 BRA L6003 +L5FFB PER L5FFE+2 +L5FFE BRL L652C + BCS L605C +L6003 LDY $00 + PER L6008+2 +L6008 BRL L46A6 + BCS L6059 + INY + PER L6011+2 +L6011 BRL L46A6 + BCS L6059 + INY + PER L601A+2 +L601A BRL L4693 + CMP #$0042 + BEQ L6036 + PER L6025+2 +L6025 BRL L46A6 + BCS L6059 + INY + PER L602E+2 +L602E BRL L4693 + CMP #$0042 + BNE L608A +L6036 STY $14 + INY + PER L603C+2 +L603C BRL L4693 + LDX #$6480 + INX + CMP #$0046 + BEQ L604C + DEX + TAY + BNE L608A +L604C LDY $14 + TXA + XBA + STA [$28],Y + XBA + AND #$00FF + INY + STA [$28],Y +L6059 BRL L40A0 +L605C PER L6066 + PLX + PER L6066+6 + BRL L465D +L6066 ASC 'INPUT#'00 + BCS L6078 + LDA #$2023 ; '# ' + DEY + DEY + STA [$28],Y + BRA L60A2 +L6078 PER L6082 + PLX + PER L6082+5 + BRL L465D +L6082 ASC 'INPUT'00 + BCC L60A2 +L608A PEA $0002 + PHK + PER L6091+2 +L6091 BRL L8D82 + BRL L3D99 +L6097 LDA [$28],Y + AND #$FF00 + ORA #$0020 + STA [$28],Y + RTS + +L60A2 LDY #$04FB + LDA [$3C],Y + INC + LDY #$04FB + STA [$3C],Y + LDY $00 + PER L60B2+2 +L60B2 BRL L4693 + CMP #$0023 + BNE L60CF + LDA [$28],Y + AND #$FF00 + ORA #$0020 + STA [$28],Y + LDY #$04FB + LDA [$3C],Y + INC + LDY #$04FB + STA [$3C],Y +L60CF BRL L40B0 + PER L60DC + PLX + PER L60DC+2 + BRL L457E +L60DC ASC 'ON'00 + BCS L60E4 + BRL L5BD1 +L60E4 PER L60EE + PLX + PER L60EE+3 + BRL L457E +L60EE ASC 'OFF'00 + BCS L60F7 + BRL L5BD1 +L60F7 PER L6101 + PLX + PER L6101+4 + BRL L457E +L6101 ASC 'STOP'00 + BCS L610B + BRL L5BD1 +L610B LDA #$000D + BRL L405B + PER L6114+2 +L6114 BRL L467E + LDY $28 + STY $CE + STZ $08 + DEC $08 + PER L6122+2 +L6122 BRL L65EF + BCC L612A + BRL L3D99 +L612A INC $28 + PER L612F+2 +L612F BRL L467E + CMP #$003D + BNE L614C + SEP #$20 + LDA #$3B + STA [$28] + REP #$20 + LDY $CE + STY $28 + PER L6146+2 +L6146 BRL L658A + BRL L40B0 +L614C PEA $0002 + PHK + PER L6153+2 +L6153 BRL L8D82 + BRL L3D99 +L6159 LDA #$000D + BRL L405B + LDY $00 + BRL L5D10 + PER L616E + PLX + PER L616E+4 + BRL L457E +L616E ASC 'NEXT'00 + LDY $00 + BCS L617A + DEY + BRA L61B5 +L617A STY $10 +L617C LDA [$28] + AND #$00FF + BEQ L61B7 + CMP #$0020 + BNE L618C + INC $28 + BRA L617C +L618C PER L618F+2 +L618F BRL L67DD + BCC L6197 + BRL L3D99 +L6197 LDY #$04FA + LDA [$3C],Y + LDY $00 + CMP #$0030 + BEQ L61B5 + STZ $04 + DEC $04 + DEC $04 + PHK + PER L61B4 + PEA $0006 + PEI $EE + PEI $EC +L61B4 RTL + +L61B5 STY $10 +L61B7 LDX #$0018 + PHK + PER L61C5 + PEA $0009 + PEI $EE + PEI $EC +L61C5 RTL + + LDA $10 + STA [$24] + INC $24 + INC $24 + BRL L3D28 + LDY $00 + PER L61D6+2 +L61D6 BRL L46A6 + BCS L61F5 + INY + PER L61DF+2 +L61DF BRL L4693 + CMP #$0052 + BNE L61FB + PHY + INY + PER L61EC+2 +L61EC BRL L4693 + PLY + TAX + BNE L61FB + STA [$28],Y +L61F5 LDA #$000D + BRL L405B +L61FB PEA $0002 + PHK + PER L6202+2 +L6202 BRL L8D82 + BRL L3D99 + PER L6212 + PLX + PER L6212+4 + BRL L457E +L6212 ASC 'STEP'00 + BCS L621D + BIT $20 + BMI L622B +L621D PER L6220+2 +L6220 BRL L652C + BCS L622B + LDA #$000D + BRL L405B +L622B PEA $0002 + PHK + PER L6232+2 +L6232 BRL L8D82 + BRL L3D99 + PER L6242 + PLX + PER L6242+5 + BRL L457E +L6242 ASC 'BYTES'00 + BCC L6270 + LDY $00 + PER L624F+2 +L624F BRL L46A6 + BCS L622B + INY + PER L6258+2 +L6258 BRL L46A6 + BCC L622B + BRL L40B0 + PER L626A + PLX + PER L626A+3 + BRL L457E +L626A ASC 'GET'00 + BCS L62B7 +L6270 DEY + DEY + LDA #$7845 ; Ex + STA [$28],Y + INY + INY +L6279 PER L627C+2 +L627C BRL L46A6 + BCS L6289 + LDA [$28],Y + CLC + ADC #$0052 + BRA L62B2 +L6289 LDA [$28],Y + AND #$00FF + CMP #$0020 + BEQ L62AC + TYA + CLC + ADC $28 + STA $28 + PER L629C+2 +L629C BRL L658A + PEA $0002 + PHK + PER L62A6+2 +L62A6 BRL L8D82 + BRL L3D99 +L62AC LDA [$28],Y + CLC + ADC #$005E +L62B2 STA [$28],Y + BRL L40B0 +L62B7 LDY $00 + PER L62BC+2 +L62BC BRL L46A6 + BCS L6336 + INY + STY $14 + PER L62CE + PLX + PER L62CE+3 + BRL L457E +L62CE ASC 'SIN'00 + BCS L62DF +L62D4 DEY + LDA [$28],Y + CLC + ADC #$0020 + STA [$28],Y + BRA L6313 +L62DF LDY $14 + PER L62EB + PLX + PER L62EB+3 + BRL L457E +L62EB ASC 'SQR'00 + BCC L62D4 + LDY $14 + PER L62FD + PLX + PER L62FD+3 + BRL L457E +L62FD ASC 'TRI'00 + BCC L62D4 + LDY $00 + PER L6308+2 +L6308 BRL L46A6 + LDA [$28],Y + CLC + ADC #$0052 + STA [$28],Y +L6313 INY + PER L6317+2 +L6317 BRL L46A6 + BCS L6336 + INY + PER L6320+2 +L6320 BRL L46A6 + BCS L6336 + INY + PER L6329+2 +L6329 BRL L46A6 + BCS L6336 + LDA [$28],Y + CLC + ADC #$0052 + STA [$28],Y +L6336 BRL L40B0 + LDY #$04FB + LDA [$3C],Y + PHA + LDY $00 + PER L6344+2 +L6344 BRL L4693 + PLX + CMP #$0023 + BNE L635C + LDA [$28],Y + CLC + ADC #$FFFD + STA [$28],Y + INX + TXA + LDY #$04FB + STA [$3C],Y +L635C CPX #$01B9 + BNE L6364 + BRL L6489 +L6364 BRL L6159 + PER L6371 + PLX + PER L6371+6 + BRL L457E +L6371 ASC 'OUTPUT'00 + BCS L6399 + STY $14 + PER L637F+2 +L637F BRL L4693 + CMP #$0023 + BNE L63DD + LDA [$28],Y + CLC + ADC #$FFFD + STA [$28],Y + LDY $14 + DEY + LDA [$28],Y + ORA #$0020 + STA [$28],Y +L6399 LDA #$000D + BRL L405B + LDY $00 + PER L63A4+2 +L63A4 BRL L4693 + CMP #$0023 + BNE L6402 + LDA [$28],Y + SEC + SBC #$0003 + STA [$28],Y + LDY #$04FB + LDA [$3C],Y + INC + LDY #$04FB + STA [$3C],Y + LDA #$000D + BRL L405B + LDY #$0000 + PER L63CB+2 +L63CB BRL L4693 + CMP #$0023 + BNE L63DD + LDA [$28],Y + AND #$FF00 + ORA #$0020 + STA [$28],Y +L63DD LDA #$0040 + TSB $A5 + BRL L40B0 + LDY #$0000 + PER L63F2 + PLX + PER L63F2+5 + BRL L457E +L63F2 ASC 'TIMER'00 + BCS L6402 + DEY + LDA #$0020 + ORA [$28],Y + STA [$28],Y +L6402 LDA #$001C + BRL L405B + LDY $00 + PER L640D+2 +L640D BRL L4693 + CMP #$002C + BEQ L6418 + BRL L595B +L6418 LDA [$28],Y + CLC + ADC #$000F + STA [$28],Y + BRL L595B + LDY #$0000 + PER L6430 + PLX + PER L6430+6 + BRL L457E +L6430 ASC 'REPEAT'00 + BCS L6442 + DEY + LDA [$28],Y + CLC + ADC #$0020 + STA [$28],Y +L6442 LDA #$000D + BRL L405B + LDA #$0002 + BIT $72 + BNE L645E + LDX #$001A + PHK + PER L645D + PEA $0009 + PEI $EE + PEI $EC +L645D RTL + +L645E BRL L59BC + PER L646B + PLX + PER L646B+3 + BRL L457E +L646B ASC 'GET'00 + BCS L6474 + BRL L6270 +L6474 PER L647E + PLX + PER L647E+5 + BRL L457E +L647E ASC 'USING'00 + BCS L6489 + BRL L6279 +L6489 LDY #$0000 + PER L648F+2 +L648F BRL L4693 + CMP #$002C + BEQ L649A + BRL L6159 +L649A LDA [$28],Y + CLC + ADC #$000F + STA [$28],Y + BRL L6159 + PER L64A8+1 +L64A8 BRA L64CD + LDY #$0000 + PER L64B0+2 +L64B0 BRL L46A6 + BCC L64C2 + PEA $0002 + PHK + PER L64BC+2 +L64BC BRL L8D82 + BRL L3D99 +L64C2 LDA [$28],Y + CLC + ADC #$0052 + STA [$28],Y + BRL L40B0 +L64CD LDY #$0000 + PER L64D3+2 +L64D3 BRL L4693 + CMP #$0023 + BNE L64E3 + LDA [$28],Y + SEC + SBC #$0003 + STA [$28],Y +L64E3 RTS + + LDY #$0000 + PER L64EA+2 +L64EA BRL L4693 + DEY + BMI L6512 + LDA [$28],Y + CLC + ADC #$005E + STA [$28],Y + LDA #$0005 + STA $04 +L64FD PER L6500+2 +L6500 BRL L46A6 + BCS L651C + LDA [$28],Y + CLC + ADC #$0052 + STA [$28],Y + INY + DEC $04 + BNE L64FD +L6512 PEA $0002 + PHK + PER L6519+2 +L6519 BRL L8D82 +L651C BRL L40B0 + LDY $00 + DEY + SEP #$20 +L6524 INY + LDA [$28],Y + BNE L6524 + REP #$20 + RTS + +L652C LDX $00 + TXY + STZ $20 + SEP #$20 +L6533 LDA [$28],Y + INY + CMP #$20 + BEQ L6533 + CMP #$28 + BEQ L6562 + CMP #$53 + BNE L657A + LDA [$28],Y + INY + CMP #$54 + BNE L657A + LDA [$28],Y + INY + CMP #$45 + BNE L657A + LDA [$28],Y + INY + CMP #$50 + BNE L657A +L6557 LDA [$28],Y + INY + CMP #$20 + BEQ L6557 + CMP #$28 + BNE L657A +L6562 LDA [$28],Y + BEQ L657A + INY + CMP #$28 + BNE L656E + INX + BRA L6562 +L656E CMP #$29 + BNE L657E + DEX + BPL L6562 + CLC + DEC $20 + BEQ L657B +L657A SEC +L657B REP #$20 + RTS + + MX %10 +L657E CMP #$2C + BNE L6562 + PHX + PLX + BNE L6562 + INC $20 + BRA L6562 +L658A PHP + REP #$20 + PHA + LDA $28 + SEC + SBC #$03F6 + SEC + SBC $3C + CLC + ADC $C2 + CMP #$0100 + BCS L65A1 + STA $B0 +L65A1 PLA + PLP + RTS + +L65A4 LDA #$2000 + AND $68 + BNE L65D1 + LDY #$0090 + LDA [$3C],Y + STA [$E4] + LDY #$0098 + LDA [$3C],Y + LDY #$0002 + STA [$E4],Y + LDY #$00A0 + LDA [$3C],Y + LDY #$0014 + STA [$E4],Y + LDY #$00A8 + LDA [$3C],Y + LDY #$0016 + STA [$E4],Y + RTS + +L65D1 LDY #$0086 + LDA [$3C],Y + ASL + ASL + INC + ASL + ASL + TAX + LDY #$00AC + LDA [$3C],Y + TXY + STA [$E4],Y + INX + INX + LDY #$00B0 + LDA [$3C],Y + TXY + STA [$E4],Y + RTS + +L65EF CLC + PHP + LDY $00 + SEP #$20 + TYX + LDA [$28] + CMP #$28 + BNE L662F + LDA #$2C + STA [$28] +L6600 INX +L6601 INY + LDA [$28],Y + BEQ L6634 + CMP #$28 + BEQ L6600 + CMP #$2C + BNE L6618 + BIT $08 + BMI L6618 + DEX + BEQ L662F + INX + BRA L6601 +L6618 CMP #$29 + BNE L6601 + DEX + BNE L6601 + LDA #$2C + STA [$28],Y + TYA + CLC + ADC $28 + STA $28 + BCC L662D + INC $29 +L662D PLP + RTS + +L662F PEA $0002 + BRA L6638 +L6634 DEY + PEA $0015 +L6638 REP #$20 + TYA + CLC + ADC $28 + STA $28 + PER L6643+2 +L6643 BRL L658A + PHK + PER L664A+2 +L664A BRL L8D82 + PLP + SEC + RTS + +L6650 PEI $20 + STZ $20 + INX + PHX + LDX #$0007 + PHA + PLA + BEQ L6661 + BPL L6660 + INX +L6660 INX +L6661 PHK + PER L666C + PEA $0009 + PEI $EE + PEI $EC +L666C RTL + + LDA $62 + ASL + CLC + ADC #$0050 + TAY +L6675 LDA $62 + BMI L66DD + BEQ L6691 + CMP #$0010 + BCS L6691 + CMP #$0005 + BMI L6694 + DEC + DEC + DEC + DEC + XBA + LSR + CLC + ADC #$0800 + BRA L6696 +L6691 SEC + BRA L66DE +L6694 XBA + ASL +L6696 CLC + ADC [$3C],Y + PLX + PHX + CPX #$8000 + BNE L66C2 + ASL + ASL + TAY +L66A3 LDA [$E4],Y + INC + BEQ L66BF + DEY + DEY + DEY + DEY + CPY #$0800 + BCS L66A3 + PEA $006C + PHK + PER L66B8+2 +L66B8 BRL L8D82 + INY + INY + INY + INY +L66BF TYA + BRA L66CB +L66C2 CLC + ADC $01,S + ASL + ASL + BIT $20 + BMI L66D1 +L66CB STA [$24] + INC $24 + INC $24 +L66D1 TAY + LDA $00 + BIT $20 + BVC L66DD + BPL L66DB + DEC +L66DB STA [$E4],Y +L66DD CLC +L66DE PLX + PLY + STY $20 + RTS + +L66E3 PEI $20 + PEA $0000 +L66E8 LDX #$4000 + STX $20 + LDX #$0006 + PHK + PER L66FB + PEA $0009 + PEI $EE + PEI $EC +L66FB RTL + +L66FC LDA $62 + BMI L66DD + TAX + ASL + CLC + ADC #$0050 + TAY + PLA + PHA + CMP #$8000 + BEQ L6713 + LDA [$3C],Y + INC + STA [$3C],Y +L6713 LDA [$3C],Y + CPX #$0004 + BMI L6733 + CMP #$0080 + BPL L6722 + BRL L6675 +L6722 PEA $006C + PHK + PER L6729+2 +L6729 BRL L8D82 + LSR + LSR + STA [$3C],Y + BRL L6675 +L6733 CMP #$0200 + BPL L673B + BRL L6675 +L673B BRA L6722 +L673D PEI $20 + LDX #$C000 + STX $20 + PEA $0000 + BRA L66FC +L6749 PEI $20 + PEA $8000 + BRA L66E8 +L6750 LDA $62 + BMI L678E + DEC + BMI L6766 + CLC + ADC #$0072 + TAY + LDA [$3C],Y + AND #$00FF + DEC + DEC + BNE L6766 + RTS + +L6766 PEA $006E + BRA L6783 +L676B LDA $62 + BMI L678E + CLC + ADC #$0072 + TAY + TXA + STA [$3C],Y + INC $62 + LDX $62 + CPX #$0010 + BMI L678E + PEA $0068 +L6783 PHK + PER L6787+2 +L6787 BRL L8D82 + STZ $62 + DEC $62 +L678E RTS + +L678F LDA $62 + BMI L678E + DEC + BMI L67C7 + STA $62 + CLC + ADC #$0072 + TAY + LDA [$3C],Y + ROR + ROR + BMI L67B1 + BCS L67BB + TXA + ROR + ROR + BMI L67AC + BCC L678E +L67AC PEA $0069 + BRA L6783 +L67B1 TXA + ROR + ROR + BMI L678E + PEA $006A + BRA L6783 +L67BB TXA + ROR + ROR + BMI L67C2 + BCS L678E +L67C2 PEA $006B + BRA L6783 +L67C7 TXA + ROR + ROR + BMI L67D8 + BCS L67D3 + PEA $004A + BRA L6783 +L67D3 PEA $006E + BRA L6783 +L67D8 PEA $004B + BRA L6783 +L67DD PER L67E0+2 +L67E0 BRL L658A + LDA #$04F8 + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A + LDX $00 + LDY $00 + LDA #$0040 + TRB $A6 + TXA + STX $0A + SEP #$20 +L67FF LDA [$28],Y + BEQ L6876 + BMI L680B + INY + CMP #$20 + BEQ L67FF + DEY +L680B TYA + CLC + ADC $B0 + STA $B0 +L6811 STY $0C + LDA [$28],Y + BEQ L6866 + BMI L685B + TAY + LDA [$94],Y + BMI L6866 + BNE L6830 + TYA + CMP #$26 + BEQ L682C + LDA #$40 + TSB $A6 + TYA + BRA L685B +L682C PHX + PLX + BNE L6866 +L6830 PHX + PLX + BEQ L6839 + DEC + DEC + DEC + BEQ L6866 +L6839 TYA + TXY + INY + INY + STA [$38],Y + LDY $0C + INY + INX + CPX #$0029 + BMI L6811 + BEQ L684D + DEX + BRA L6811 +L684D PEA $000F + PHK + PER L6854+2 +L6854 BRL L8D82 + INC $0A + BRA L6811 +L685B LDY $0C + INY + STY $0C + TXY + INY + INY + STA [$38],Y + INX +L6866 LDY $0C + LDA [$28],Y + CMP #$20 + BNE L6876 +L686E INY + LDA [$28],Y + CMP #$20 + BEQ L686E + DEY +L6876 REP #$20 + TYA + CLC + ADC $28 + STA $28 + TXY + LDA $00 + INY + INY + STA [$38],Y + TXA + STA [$38] + LDA $0A + BNE L688E + CLC + RTS + +L688E SEC + RTS + +L6890 CLC + LDY #$0036 + LDA [$3C],Y + BNE L689B + BRL L69DF +L689B BPL L68A0 + BRL L69DF +L68A0 TAX + CMP #$0032 + BCC L68AE + LDA #$0031 + LDY #$0036 + STA [$3C],Y +L68AE STA $1E + PEA $0000 + PHX + PEA $0000 + PEI $08 + PHK + PHK + PER L6BDA + PHK + PER L68C2+2 +L68C2 BRL L8F68 + LDX $F4 + PHK + PER L68CB+2 +L68CB BRL LAF42 + TSC + CLC + ADC #$000C + TCS + STZ $20 + LDA #$0028 + BIT $72 + BEQ L68E0 + BRL L69DF +L68E0 PER L68E3+2 +L68E3 BRL L69E0 + BCC L68EB + BRL L69C0 +L68EB LDA $1E + STA $22 + LDA #$059C + CLC + ADC $3C + STA $44 + LDA $00 + ADC $3E + STA $46 + INC $20 + LDX $20 + INX + LDY #$000A +L6905 LDA [$E0],Y + BNE L690C + BRL L69C0 +L690C TAY + DEX + BNE L6905 + TYA + CLC + ADC #$0004 + CLC + ADC $E0 + TAY + LDA $E2 + BCC L691E + INC +L691E PHA + PHY + PHK + PHK + PER L6C0C + LDX $F4 + PHK + PER L692B+2 +L692B BRL LAF42 + TSC + CLC + ADC #$0008 + TCS +L6934 PER L6937+2 +L6937 BRL L69E0 + BCC L693F + BRL L69C0 +L693F LDA [$44] + XBA + AND #$00FF + CMP $20 + BNE L69AA + LDY #$0004 + LDA [$44],Y + AND #$00FF + PEA $0000 + PHA + DEY + DEY + LDA [$44],Y + PEA $0000 + PHA + LDA [$44] + AND #$00FF + STA [$44] + PEA $0000 + PHA + PHK + PHK + STA $0C + LDA $08 + DEC + BEQ L6976 + PER L6C01 + BRA L6979 +L6976 PER L6BF1 +L6979 LDX $F4 + PHK + PER L697F+2 +L697F BRL LAF42 + TSC + CLC + ADC #$0010 + TCS + LDA $0C + PHK + PER L6995 + PEA $0039 + PEI $EE + PEI $EC +L6995 RTL + + PHX + PHA + PHK + PHK + PER L6C30 + LDX $F4 + PHK + PER L69A3+2 +L69A3 BRL LAF42 + PLA + PLA + PLA + PLA +L69AA LDA #$0005 + CLC + ADC $44 + STA $44 + BCC L69B6 + INC $46 +L69B6 DEC $22 + BEQ L69BD + BRL L6934 +L69BD BRL L68E0 +L69C0 PHK + PHK + PER L6BC4 + LDX $F4 + PHK + PER L69CB+2 +L69CB BRL LAF42 + PLA + PLA + PEA $0000 + PEA $0000 + _ReadChar + PLA + SEC +L69DF RTL + +L69E0 STZ $04 + BIT $F4 + BVC L6A04 + PEI $00 + TDC + CLC + ADC #$0004 + PHA + _GetPen + PEI $00 + TDC + CLC + ADC #$0004 + PHA + _LocalToGlobal +L6A04 LDA $04 + CMP #$00BF + RTS + +L6A0A LDY #$000A + LDA [$3C],Y + BNE L6A14 + BRL L6ACA +L6A14 PHY + PHK + PER L6A19+2 +L6A19 BRL L8F68 + PLY + LDA [$3C],Y + TAX + LDA $00 + STA [$3C],Y + DEY + DEY + LDA [$3C],Y + PHA + TXA + STA [$3C],Y + PHK + PER L6A30+2 +L6A30 BRL LA472 + LDY #$01C4 + LDX #$01B4 +L6A39 LDA [$3C],Y + PHY + TXY + STA [$3C],Y + PLY + STA [$3C],Y + INY + INY + INX + INX + CPY #$01D4 + BCC L6A39 + LDY #$004A + LDA [$3C],Y + LDY #$0046 + STA [$3C],Y + LDY #$004E + LDA [$3C],Y + LDY #$004C + STA [$3C],Y + LDY #$002E + LDA [$3C],Y + LDY #$002C + STA [$3C],Y + LDY #$0028 + LDA [$3C],Y + LDY #$0024 + STA [$3C],Y + LDY #$002A + LDA [$3C],Y + LDY #$0026 + STA [$3C],Y + LDA #$01EE + CLC + ADC $3C + LDX $3E + BCC L6A88 + INX +L6A88 LDY #$0020 + STA [$3C],Y + TXA + LDY #$0022 + STA [$3C],Y + LDY #$003C + LDA [$3C],Y + LDY #$0038 + STA [$3C],Y + LDA $00 + LDY #$000A + STA [$3C],Y + LDX $70 + LDA #$00FF + TRB $71 + LDA $72 + BIT #$0020 + BNE L6ABA + TXA + BPL L6AC7 + LDA #$00C0 + BRA L6AC5 +L6ABA TXA + BMI L6AC2 + LDA #$0040 + BRA L6AC5 +L6AC2 LDA #$0080 +L6AC5 TSB $71 +L6AC7 BRL L3D28 +L6ACA LDA $62 + BEQ L6ADB + INC + BEQ L6ADB + PEA $0071 + PHK + PER L6AD8+2 +L6AD8 BRL L8D82 +L6ADB LDA #$2000 + BIT $68 + BEQ L6AEC + PEA $002B + PHK + PER L6AE9+2 +L6AE9 BRL L8D82 +L6AEC LDY #$0086 + LDA [$3C],Y + DEC + BNE L6AFA + PER L6AF7+2 +L6AF7 BRL L6B82 +L6AFA LDY #$01A4 + LDA [$3C],Y + BEQ L6B07 + PER L6B04+2 +L6B04 BRL L72B7 +L6B07 PHK + PER L6B12 + PEA $0030 + PEI $EE + PEI $EC +L6B12 RTL + + STZ $20 + DEC $20 + PHK + PER L6B22 + PEA $0027 + PEI $EE + PEI $EC +L6B22 RTL + + LDX $00 + PHK + PER L6B30 + PEA $0009 + PEI $EE + PEI $EC +L6B30 RTL + + LDA $00 + INC + INC + STA [$AC] + CLC + LDY #$003E + ADC [$3C],Y + LDY #$003E + STA [$3C],Y + PHK + PER L6B4D + PEA $0024 + PEI $EE + PEI $EC +L6B4D RTL + + LDY #$0008 + LDA [$3C],Y + PHA + LDA $00 + LDY #$0008 + STA [$3C],Y + PHK + PER L6B5F+2 +L6B5F BRL LA472 + STZ $08 + INC $08 + PHK + PER L6B6A+2 +L6B6A BRL L6890 + LDY #$001A + LDA [$3C],Y + ORA #$4000 + BIT $72 + BVS L6B7C + AND #$BFFF +L6B7C LDY #$001A + STA [$3C],Y + RTL + +L6B82 STZ $20 + PHK + PER L6B8F + PEA $0027 + PEI $EE + PEI $EC +L6B8F RTL + + PER L6B93+2 +L6B93 BRL L65A4 + LDY #$0036 + LDA [$3C],Y + TAX + PEI $72 + LDA #$0020 + TXY + BEQ L6BA6 + TRB $72 +L6BA6 BIT $72 + BEQ L6BB1 + PHK + PER L6BAE+2 +L6BAE BRL L08D6 +L6BB1 LDX #$FFFF + PHK + PER L6BBF + PEA $0012 + PEI $EE + PEI $EC +L6BBF RTL + + PLA + STA $72 + RTS + +L6BC4 ASC 'Type any key to exit.'00 +L6BDA ASC 'Pass %d: %d error(s).'0D00 +L6BF1 ASC 'E%d, L%d, C%d: '00 +L6C01 ASC 'E%d, L%d: '00 +L6C0C ASC 'File %s:'0D00 +L6C16 ASC ' Program Unit: %s'0D0D00 +L6C30 ASC '%s.'0D00 +L6C35 PHK + PER L6C39+2 +L6C39 BRL L8DCE + LDY #$01B8 + LDA [$3C],Y + STA $D6 + INY + INY + LDA [$3C],Y + STA $D8 + LDA #$03F6 + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + LDY $30 + STY $28 + LDY $32 + STY $2A + LDA $00 + STA [$30] + STA [$6E] + LDA #$0040 + TRB $A7 + LDY #$004C + LDA [$3C],Y + BNE L6C74 + BRL L6D27 +L6C74 LDX $6E + LDA #$1298 + CLC + ADC $3C + STA $6E + BIT $70 + BMI L6C92 + BVS L6C87 + BRL L6D1A +L6C87 LDA #$0040 + TRB $71 + ASL + TSB $71 + BRL L6D1A +L6C92 TXA + SEC + SBC $6E + LDY #$014C + STA [$3C],Y + TAY + BEQ L6D11 + BIT $92 + BMI L6D11 + TAX + LDY #$002C + LDA [$3C],Y + BPL L6CB1 + LDA [$6E] + CMP #$000D + BEQ L6D11 +L6CB1 PEA $0000 + PHX + LDA $3E + AND #$00FF + PHA + PEI $6E + PER L6CC0+2 +L6CC0 BRL L733B + PHA + PER L6CC7+2 +L6CC7 BRL L7186 + LDA #$0020 + AND $71 + BEQ L6D01 + TRB $71 + LDY #$01A4 + LDA [$3C],Y + BEQ L6CF3 + LDA #$0006 + PHK + PER L6CE1+2 +L6CE1 BRL L047B + PER L6CE7+2 +L6CE7 BRL L720F + PHK + PER L6CEE+2 +L6CEE BRL L08D6 + BRA L6D11 +L6CF3 PHK + PER L6CF7+2 +L6CF7 BRL L08D6 + PLA + PLA + PLA + PLA + PLA + BRA L6D11 +L6D01 LDX #$0006 + PHK + PER L6D08+2 +L6D08 BRL L047B + PER L6D0E+2 +L6D0E BRL L720F +L6D11 BIT $70 + BVC L6D1A + LDA #$00C0 + TRB $71 +L6D1A LDA #$0028 + BIT $72 + BEQ L6D27 + PER L6D24+2 +L6D24 BRL L720F +L6D27 LDY #$002C + LDA [$3C],Y + BPL L6D30 + SEC + RTL + +L6D30 LDA $00 + STA [$6E] + LDY #$004C + LDA [$3C],Y + CLC + LDY #$0046 + ADC [$3C],Y + LDY #$0046 + STA [$3C],Y + LDA $00 + LDY #$004C + STA [$3C],Y + LDA $B2 + STA $10 + LDY #$0024 + LDA [$3C],Y + STA $34 + LDY #$0026 + LDA [$3C],Y + STA $36 +L6D5D LDA [$34] + INC $34 + AND #$00FF + BNE L6D78 + PER L6D69+2 +L6D69 BRL L7359 + BCC L6D5D + LDA #$000D + STA [$6E] + INC $6E + BRL L7114 +L6D78 STA [$6E] + INC $6E + INC $B2 + CMP #$0009 + BNE L6D88 + LDA #$0020 + BRA L6D90 +L6D88 CMP #$000A + BNE L6D90 + LDA #$000D +L6D90 INC $D6 + BNE L6D96 + INC $D8 +L6D96 CMP #$0020 + BEQ L6D5D + TAY + LDA $B2 + STA $B0 + LDX $88 + STZ $88 + LDA #$0080 + TSB $88 + LDA $10 + BEQ L6DB5 + TXA + LSR + BCC L6DC4 + STZ $10 + BRA L6DC4 +L6DB5 CPY #$0030 + BCC L6DC4 + CPY #$003A + BCS L6DC4 + LDA #$8001 + TSB $88 +L6DC4 TYA + BRA L6E1C +L6DC7 CMP #$0061 + BCC L6DD4 + CMP #$007B + BCS L6DD4 + AND #$FFDF +L6DD4 STA [$30] + LDY $B2 + CPY #$0100 + BCC L6DE1 + DEC $6E + BRA L6DE3 +L6DE1 INC $30 +L6DE3 LDA [$34] + INC $34 + AND #$00FF + BNE L6DFE + PER L6DEF+2 +L6DEF BRL L7359 + BCC L6DE3 + LDA #$000D + STA [$6E] + INC $6E + BRL L7111 +L6DFE STA [$6E] + INC $6E + INC $B2 + CMP #$0009 + BNE L6E0E + LDA #$0020 + BRA L6E16 +L6E0E CMP #$000A + BNE L6E16 + LDA #$000D +L6E16 INC $D6 + BNE L6E1C + INC $D8 +L6E1C CMP #$000D + BNE L6E24 + BRL L7114 +L6E24 STA $12 + TAY + CMP #$003A + BNE L6E2F + BRL L6EF6 +L6E2F BIT $88 + BPL L6E43 + CMP #$0030 + BCS L6E3B + BRL L6EF2 +L6E3B CMP #$003A + BCC L6E43 + BRL L6EF2 +L6E43 BIT $87 + BVC L6E60 + TAY + LDA $88 + LSR + LSR + TYA + BCS L6DD4 + CPY #$0022 + BEQ L6E57 + BRL L6DC7 +L6E57 LDA #$0002 + TSB $88 + TYA + BRL L6DD4 +L6E60 LDA [$94],Y + XBA + XBA + BMI L6E70 + LDA $12 + CMP #$0040 + BEQ L6E77 + BRL L6DC7 +L6E70 ORA #$FF00 + INC + INC + BPL L6E8F +L6E77 PEI $B0 + LDA $B2 + STA $B0 + PEA $0002 + PHK + PER L6E84+2 +L6E84 BRL L8D82 + PLA + STA $B0 + LDA #$0020 + STA $12 +L6E8F LDA $12 + BIT $87 + BPL L6EB4 + LDA #$0080 + TRB $88 + PER L6EA4 + PLX + PER L6EA4+3 + BRL L465D +L6EA4 ASC 'REM'00 + BCS L6EC8 + LDA #$2027 ; ' '' + STA [$28] + LDA #$0040 + TSB $88 +L6EB4 LDA $12 + CMP #$0022 + BEQ L6F0E + CMP #$0027 + BEQ L6EDE + BRL L6DC7 +L6EC3 LDA $12 + BRL L6DC7 +L6EC8 PER L6ED2 + PLX + PER L6ED2+4 + BRL L457E +L6ED2 ASC 'DATA'00 + BCS L6EDC + BRL L7094 +L6EDC BRA L6EB4 +L6EDE LDA [$28] + BNE L6EE9 + LDA #$0040 + TSB $88 + BRA L6EC3 +L6EE9 DEC $34 + DEC $B2 + DEC $6E + BRL L7114 +L6EF2 DEC $10 + BRA L6EE9 +L6EF6 BIT $87 + BVC L6EFD + BRL L6DC7 +L6EFD BMI L6F02 + BRL L7114 +L6F02 LDY $10 + BEQ L6F09 + BRL L7114 +L6F09 DEC $10 + BRL L7114 +L6F0E LDX $B2 + STX $14 + BIT $92 + BMI L6F1A + BIT $87 + BVC L6F85 +L6F1A STA [$30] + LDY $B2 + CPY #$0100 + BCC L6F27 + DEC $6E + BRA L6F29 +L6F27 INC $30 +L6F29 LDA [$34] + INC $34 + AND #$00FF + BNE L6F43 + PER L6F35+2 +L6F35 BRL L7359 + BCC L6F29 + LDA #$000D + STA [$6E] + INC $6E + BRA L6F6E +L6F43 STA [$6E] + INC $6E + INC $B2 + CMP #$0009 + BNE L6F53 + LDA #$0020 + BRA L6F5B +L6F53 CMP #$000A + BNE L6F5B + LDA #$000D +L6F5B INC $D6 + BNE L6F61 + INC $D8 +L6F61 CMP #$000D + BEQ L6F6E + CMP #$0022 + BNE L6F1A + BRL L6DC7 +L6F6E PHA + LDA #$0022 + STA [$30] + LDY $B2 + CPY #$0100 + BCC L6F7F + DEC $6E + BRA L6F81 +L6F7F INC $30 +L6F81 PLA + BRL L7111 +L6F85 LDX #$0002 + PHK + PER L6F93 + PEA $0009 + PEI $EE + PEI $EC +L6F93 RTL + + LDA #$0BDE + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDY #$0032 + LDA [$3C],Y + INC + ASL + TAY + TYA + CLC + ADC $2C + STA $2C + LDA $00 + ADC $2E + STA $2E + LDY #$0034 + LDA [$3C],Y + STA [$2C] + INC $2C + INC $2C + LDA #$169C + CLC + ADC $3C + STA $98 + LDA $00 + ADC $3E + STA $9A + STZ $08 + BRA L6FEB +L6FD3 STA [$98] + LDA #$2020 + STA [$30] + LDY $B2 + CPY #$0100 + BCC L6FE5 + DEC $6E + BRA L6FEB +L6FE5 INC $30 + INC $98 + INC $08 +L6FEB LDA [$34] + INC $34 + AND #$00FF + BNE L7005 + PER L6FF7+2 +L6FF7 BRL L7359 + BCC L6FEB + LDA #$000D + STA [$6E] + INC $6E + BRA L7031 +L7005 STA [$6E] + INC $6E + INC $B2 + CMP #$0009 + BNE L7015 + LDA #$0020 + BRA L701D +L7015 CMP #$000A + BNE L701D + LDA #$000D +L701D INC $D6 + BNE L7023 + INC $D8 +L7023 CMP #$000D + BEQ L7031 + CMP #$0022 + BNE L6FD3 + LDX $00 + BRA L7032 +L7031 TAX +L7032 LDA #$0071 + STA [$30] + INC $30 + LDY #$0032 + LDA [$3C],Y + INC + LDY #$0032 + STA [$3C],Y + ORA #$0080 + STA [$30] + INC $30 + LDY #$0034 + LDA [$3C],Y + CLC + ADC $08 + LDY #$0034 + STA [$3C],Y + STA [$2C] + PHX + PEI $98 + LDA #$169A + CLC + ADC $3C + STA $98 + PLA + SEC + SBC $98 + STA [$24] + INC $24 + INC $24 + TAX + DEC + DEC + STA [$98] + PEA $0000 + PHX + PEI $9A + PEI $98 + LDY #$0002 + LDA [$3C],Y + PHA + LDX #$0008 + PHK + PER L7089+2 +L7089 BRL L047B + PLA + BNE L7092 + BRL L6DE3 +L7092 BRA L7111 +L7094 LDA $12 + STA [$30] + INC $30 + STZ $04 +L709C LDA [$34] + INC $34 + AND #$00FF + BNE L70B6 + PER L70A8+2 +L70A8 BRL L7359 + BCC L709C + LDA #$000D + STA [$6E] + INC $6E + BRA L7111 +L70B6 STA [$6E] + INC $6E + INC $B2 + CMP #$0009 + BNE L70C6 + LDA #$0020 + BRA L70CE +L70C6 CMP #$000A + BNE L70CE + LDA #$000D +L70CE INC $D6 + BNE L70D4 + INC $D8 +L70D4 STA [$30] + LDY $B2 + CPY #$0100 + BCC L70E1 + DEC $6E + BRA L70E3 +L70E1 INC $30 +L70E3 TAX + LDA $04 + LSR + TXA + BCS L70EF + CMP #$003A + BEQ L70FB +L70EF CMP #$0022 + BNE L70F6 + INC $04 +L70F6 CMP #$000D + BNE L709C +L70FB DEC $30 + PHA + LSR $04 + BCC L7109 + LDA #$0022 + STA [$30] + INC $30 +L7109 LDA #$0000 + STA [$30] + PLA + BRA L7114 +L7111 LDA #$000D +L7114 LDY $B2 + CPY #$0100 + BCC L7125 + PEA $0017 + PHK + PER L7122+2 +L7122 BRL L8D82 +L7125 CMP #$000D + BEQ L7136 + CMP #$003A + BNE L714A + LDA #$0040 + TSB $A7 + BRA L714A +L7136 LDY #$004C + LDA [$3C],Y + INC + LDY #$004C + STA [$3C],Y + STZ $B2 + LDA $00 + LDY #$014E + STA [$3C],Y +L714A LDY #$01B8 + LDA $D6 + STA [$3C],Y + INY + INY + LDA $D8 + STA [$3C],Y + LDY #$0024 + LDA $34 + STA [$3C],Y + LDA $36 + INY + INY + STA [$3C],Y + LDA [$28] + BNE L716B + BRL L6C35 +L716B DEC $30 + LDA [$30] + AND #$00FF + CMP #$0020 + BEQ L716B + INC $30 + LDA $00 + STA [$30] + LDA [$28] + BNE L7184 + BRL L6C35 +L7184 CLC + RTL + +L7186 LDY #$000A + LDA [$3C],Y + BNE L7194 + PHK + PHK + PER L71D3 + BRA L7199 +L7194 PHK + PHK + PER L71D6 +L7199 LDY #$014E + LDA [$3C],Y + BNE L71A5 + LDY #$0046 + LDA [$3C],Y +L71A5 PEA $0000 + PHA + PHK + PHK + PER L71D9 + LDY #$016A + LDA [$3C],Y + CMP #$003C + BCC L71BF + PHK + PER L71BC+2 +L71BC BRL L08D6 +L71BF LDY #$000C + LDA [$3C],Y + TAX + PHK + PER L71C9+2 +L71C9 BRL LAF42 + TSC + CLC + ADC #$000C + TCS + RTS + +L71D3 ASC ' '00 +L71D6 ASC '+ '00 +L71D9 ASC '%5d%s'00 +L71DF LDA #$016C + CLC + ADC $3C + LDY $3E + BCC L71EA + INY +L71EA PHY + PHA + PHK + PHK + PER L6C16 + LDY #$000C + LDA [$3C],Y + TAX + PHK + PER L71FB+2 +L71FB BRL LAF42 + LDY #$016A + LDA [$3C],Y + INC + INC + LDY #$016A + STA [$3C],Y + PLA + PLA + PLA + PLA + RTS + +L720F LDY #$004C + LDA [$3C],Y + BNE L7217 +L7216 RTS + +L7217 LDY #$01A4 + LDA [$3C],Y + BEQ L7216 + TSC + STA $DC + LDY #$016A + LDA [$3C],Y + CMP #$0037 + BCC L7234 + PHK + PER L722F+2 +L722F BRL L08D6 + BRA L723A +L7234 PER L7237+2 +L7237 BRL L0865 +L723A PER L723D+2 +L723D BRL L7186 + LDY #$014C + LDA [$3C],Y + PEA $0000 + PHA + PEI $3E + PEI $6E + PHK + PHK + PER L732D + PHK + PER L7256+2 +L7256 BRL L0845 + LDA $DC + TCS + PHK + PHK + PER L7330 + LDY #$000C + LDA [$3C],Y + TAX + PHK + PER L726B+2 +L726B BRL LAF42 + PLA + PLA + LDA #$01A4 + CLC + ADC $3C + STA $DC + LDA $00 + ADC $3E + STA $DE + LDA [$DC] + TAX + DEX + LDA #$FFFF + PHA +L7286 PHX + INC $DC + INC $DC + LDA [$DC] + XBA + AND #$00FF + TAX + SEC + SBC $03,S + PEA $0000 + PHA + TXA + STA $07,S + PHK + PHK + PER L7337 + LDY #$000C + LDA [$3C],Y + TAX + PHK + PER L72AB+2 +L72AB BRL LAF42 + PLA + PLA + PLA + PLA + PLX + DEX + BPL L7286 + PLA +L72B7 PER L72BA+2 +L72BA BRL L0865 + LDA #$01A4 + CLC + ADC $3C + STA $DC + LDA $00 + ADC $3E + STA $DE + LDA [$DC] + TAX + DEX +L72CF PHX + INC $DC + INC $DC + LDA [$DC] + AND #$00FF + PHK + PER L72E4 + PEA $0039 + PEI $EE + PEI $EC +L72E4 RTL + + PHX + PHA + LDA [$DC] + TAX + XBA + AND #$00FF + PEA $0000 + PHA + TXA + AND #$00FF + PEA $0000 + PHA + PHK + PHK + PER L731E + PHK + PER L7303+2 +L7303 BRL L0845 + TSC + CLC + ADC #$0010 + TCS + PLX + DEX + BPL L72CF + LDA $00 + LDY #$01A4 + STA [$3C],Y + PER L731A+2 +L731A BRL L0865 + RTS + +L731E ASC 'E%d, c %d: %s'0D00 +L732D ASC '%s'00 +L7330 ASC '*****>'00 +L7337 ASC '%c^'00 +L733B LDY #$016A + LDA [$3C],Y + TAX + INC + LDY #$016A + STA [$3C],Y + CPX #$003C + BCC L7353 + PHK + PER L7350+2 +L7350 BRL L08D6 +L7353 LDY #$000C + LDA [$3C],Y + RTS + +L7359 LDY #$0020 + LDA [$3C],Y + LDY #$0024 + STA [$3C],Y + LDY #$0022 + LDA [$3C],Y + LDY #$0026 + STA [$3C],Y + LDY #$002C + LDA [$3C],Y + BMI L73C6 + PEA $0000 + PEA $0100 + LDY #$0022 + LDA [$3C],Y + PHA + DEY + DEY + LDA [$3C],Y + PHA + LDY #$0008 + LDA [$3C],Y + PHA + PHK + PER L738F+2 +L738F BRL LA585 + BCC L7396 + LDA $00 +L7396 DEC + LDY #$002C + STA [$3C],Y + PHA + PLA + BMI L73C6 + INC + CLC + LDY #$0020 + ADC [$3C],Y + STA $34 + LDA $00 + LDY #$0022 + ADC [$3C],Y + STA $36 + LDA $00 + STA [$34] + LDY #$0024 + LDA [$3C],Y + STA $34 + LDY #$0026 + LDA [$3C],Y + STA $36 + CLC + RTS + +L73C6 SEC + RTS + +L73C8 PER L73CB+2 +L73CB BRL L658A + BIT $A4 + BPL L73DC + LDA #$0040 + TSB $8F + TSB $93 + ASL + TRB $A5 +L73DC LDA #$2000 + AND $68 + BNE L73F9 + LDY #$0086 + LDA [$3C],Y + DEC + BEQ L73F9 + BIT $90 + BMI L73F9 + PEA $0029 + PHK + PER L73F6+2 +L73F6 BRL L8D82 +L73F9 TSC + STA $1C + LDA #$04F8 + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + LDY $30 + STY $38 + LDY $32 + STY $3A + LDA [$30] + TAX + LDA #$07AE + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA $B0 + BIT $8E + BMI L7430 + SEC + SBC [$30] + INC $30 + INC $30 +L7430 STA $C6 + CLC + ADC #$0008 + XBA + AND #$FF00 + ORA $20 + STA [$2C] + INC $2C + INC $2C + LDY #$0BB2 + LDA [$3C],Y + INC + LDY #$0BB2 + STA [$3C],Y + ORA #$3D00 + STA [$2C] + INC $2C + INC $2C + LDA $2C + STA $6A + LDA $00 + STZ $1A + TAY + STZ $12 + SEP #$20 +L7463 DEX + BMI L746F + LDA [$30],Y + BEQ L746F + STA [$2C],Y + INY + BRA L7463 +L746F LDX $00 + BIT $88 + BVC L748F + DEY + LDA [$2C],Y + CMP #$20 + BNE L7483 + LDA #$28 + STA [$2C],Y + INY + BRA L748F +L7483 INY + LDA #$28 + STA [$2C],Y + LDA [$28] + CMP #$20 + BEQ L74F2 + INY +L748F LDA [$28] + BNE L7496 + BRL L753A +L7496 CMP #$7E + BNE L74AE + PHX + LDX $12 + BEQ L74A2 + STA [$2C],Y + INY +L74A2 LDX $28 + INX + STX $12 + PLX + LDA #$2C + STA [$2C],Y + BRA L74C9 +L74AE STA [$2C],Y + CMP #$2C + BNE L74C9 + PHX + LDX $12 + BEQ L74C6 + LDA #$7E + STA [$2C],Y + LDA #$2C + INY + STA [$2C],Y + STZ $12 + STZ $13 +L74C6 PLX + BRA L74F2 +L74C9 CMP #$28 + BNE L74D6 + PER L74D0+2 +L74D0 BRL L7577 + INX + BRA L74F2 +L74D6 CMP #$29 + BNE L7524 + DEX + BEQ L74EC + BPL L74F2 + PEA $0092 + PHK + PER L74E6+2 +L74E6 BRL L8D82 + BRL L75C5 +L74EC BIT $89 + BPL L74F2 + BRA L7519 +L74F2 REP #$20 + INC $28 + INY + INC $B0 + SEP #$20 + BRA L748F +L74FD LDA [$28] + BEQ L753A + STA [$2C],Y + CMP #$20 + BEQ L7519 + CMP #$3D + BEQ L7524 + PEA $0046 + PHK + PER L7512+2 +L7512 BRL L8D82 + LDA #$3D + BRA L7524 +L7519 REP #$20 + INC $28 + INY + INC $B0 + SEP #$20 + BRA L74FD +L7524 CMP #$3D + BNE L74F2 + PHX + PLX + BNE L74F2 + LDA #$80 + TRB $89 + BIT $8B + BVC L74F2 + LDA #$28 + STA [$2C],Y + BRA L74F2 +L753A DEY + BEQ L7543 + LDA [$2C],Y + CMP #$20 + BEQ L753A +L7543 INY + PHX + PLX + BEQ L756C + BMI L755B + PER L754D+1 +L754D BRA L75A9 + PEA $0015 + PHK + PER L7556+2 +L7556 BRL L8D82 + BRA L75C5 +L755B PER L755E+1 +L755E BRA L75A9 + PEA $0092 + PHK + PER L7567+2 +L7567 BRL L8D82 + BRA L75C5 +L756C LDX $12 + BEQ L75CC + LDA #$7E + STA [$2C],Y + INY + BRA L75CC +L7577 PHX + LDX $12 + BEQ L758C + PEI $28 + STX $28 + PER L7583+1 +L7583 BRA L758E + PLX + STX $28 + STZ $12 + STZ $13 +L758C PLX + RTS + +L758E STA $10 + LDA #$7E + STA [$2C],Y +L7594 LDA [$28] + CMP $10 + BEQ L75A5 + INY + STA [$2C],Y + INC $28 + BNE L7594 + INC $29 + BRA L7594 +L75A5 INY + STA [$2C],Y + RTS + +L75A9 PHP + PHY + BRA L75B2 +L75AD PHP + PHY + LDY #$0000 +L75B2 REP #$20 + PHA + TYA + CLC + ADC $2C + SEC + SBC $6A + CLC + ADC $C6 + STA $B0 + PLA + PLY + PLP + RTS + +L75C5 REP #$20 + LDA $1C + TCS + SEC + RTL + + MX %10 +L75CC BIT $89 + BPL L75E1 + PER L75D3+1 +L75D3 BRA L75A9 + PEA $0046 + PHK + PER L75DC+2 +L75DC BRL L8D82 + BRA L75C5 +L75E1 BIT $8B + BVS L75E9 + BIT $88 + BVC L75EE +L75E9 LDA #$29 + STA [$2C],Y + INY +L75EE LDA $00 + STA [$2C],Y +L75F2 DEY + BMI L75FB + LDA [$2C],Y + CMP #$20 + BEQ L75F2 +L75FB INY + REP #$20 + LDA $00 + STA [$2C],Y + LDA $B0 + STA $10 + LDA #$07AE + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA #$09B0 + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + LDA #$04FA + CLC + ADC $3C + STA $44 + LDA $00 + ADC $3E + STA $46 + STZ $0C + LDY $2C + STY $14 + LDY $2E + STY $16 + BIT $88 + BVC L7643 + LDA #$0040 + TSB $88 +L7643 LDA #$0080 + TRB $A6 + LDA [$2C] + TAX + XBA + SEC + SBC #$0008 + AND #$00FF + STA $B0 + STA $C6 + INC $2C + INC $2C + LDA [$2C] + BPL L7669 + AND #$7FFF + STA [$2C] + LDA #$0080 + TSB $A7 +L7669 INC $2C + INC $2C + LDY $2C + STY $6A + STZ $18 + LDA #$00C0 + TRB $8A + TXA + XBA + ASL + BCC L7686 + BMI L76C7 + LDA #$0080 + TSB $8A + BRA L76C7 +L7686 BPL L76C7 + TXA + AND #$00F0 + CMP #$0070 + BNE L76C7 + LDA #$0040 + TSB $8A + BIT $8A + BVC L76A8 + LDA $B8 + BNE L76A8 + LDA #$0003 + STA $B8 + LDA #$0080 + TSB $8B +L76A8 LDA [$2C] + XBA + XBA + BMI L76C1 + PER L76B1+2 +L76B1 BRL L75AD + PEA $0045 + PHK + PER L76BB+2 +L76BB BRL L8D82 + BRL L75C5 +L76C1 PER L76C4+2 +L76C4 BRL L8854 +L76C7 TXA + AND #$00C0 + BNE L76D9 + BIT $87 + BVS L76D4 + BRL L777D +L76D4 LDA #$0040 + TRB $88 +L76D9 INC $18 + LDA [$2C] + CMP #$A163 + BCC L76FA + CMP #$A863 + BCC L76F0 + BNE L76FA + LDA #$0080 + TSB $A7 + BRA L76FA +L76F0 CMP #$A264 + BCS L76FA + LDA #$0080 + TSB $A6 +L76FA BIT $88 + BVC L7745 + LDY #$04F8 + LDA [$3C],Y + STA $12 + TAY + PER L7709+2 +L7709 BRL L8A2B + LDY $12 + PER L7711+2 +L7711 BRL L7FEE + BCC L7719 + BRL L75C5 +L7719 BIT $8F + BVC L772E + LDA #$2928 + STA [$2C],Y + INY + INY + LDA $00 + STA [$2C],Y + INY + INY + LDA $00 + STA [$2C],Y +L772E BIT $88 + BVC L7745 + PER L7735+2 +L7735 BRL L75AD + PEA $004C + PHK + PER L773F+2 +L773F BRL L8D82 + BRL L75C5 +L7745 LDA [$2C] + AND #$00FF + BNE L775F + PER L774F+2 +L774F BRL L75AD + PEA $0092 + PHK + PER L7759+2 +L7759 BRL L8D82 + BRL L75C5 +L775F CMP #$0001 + BNE L776C + LDA #$001F + CLC + ADC [$2C] + STA [$2C] +L776C CMP #$0028 + BEQ L7777 + INC $2C + INC $B0 + BRA L7745 +L7777 INC $2C + INC $B0 + STA $0E +L777D STZ $12 + STZ $20 +L7781 LDA [$2C] + AND #$00FF + CMP #$0020 + BNE L7791 + INC $2C + INC $B0 + BRA L7781 +L7791 SEP #$20 + LDY $00 + LDA #$13 + STA $0E +L7799 LDA $00 + XBA + LDA [$2C],Y + BNE L77A3 + BRL L7906 +L77A3 PHY + BMI L7802 + TAY + LDA [$94],Y + BPL L77AE + BRL L7872 +L77AE BNE L781E + LDX $12 + BNE L77DD + TYA + CMP #$26 + BEQ L782A + BIT $92 + BPL L77C9 + LDA #$80 + TRB $92 + PLY + LDA #$20 + STA [$2C],Y + INY + BRA L7799 +L77C9 PLY + PER L77CD+2 +L77CD BRL L75A9 + PEA $0002 + PHK + PER L77D7+2 +L77D7 BRL L8D82 + BRL L75C5 +L77DD TYA + CMP #$26 + BNE L77E7 + LDY $00 + BRL L7872 +L77E7 PER L77EA+2 +L77EA BRL L7FD4 + BCS L7802 + PER L77F2+2 +L77F2 BRL L75A9 + PEA $0047 + PHK + PER L77FC+2 +L77FC BRL L8D82 + BRL L75C5 +L7802 LDY $12 + STA [$44],Y + INY + LDA $00 + STA [$44],Y + STY $12 + PLY + INY + PHY + LDA $00 + XBA + LDA [$2C],Y + TAY + LDA [$94],Y + BMI L7872 + LDY $00 + BRA L7872 +L781E LDX $12 + BNE L7853 + DEC + BEQ L782A + TYA + CMP #$2E + BNE L7854 +L782A PLY + LDX $12 + PER L7830+2 +L7830 BRL L8C28 + STX $12 + BVS L783A + BRL L7799 +L783A LDX $18 + BEQ L784E + PHA + DEY + LDA [$2C],Y + CMP #$20 + BEQ L784A + INY + PLA + BRA L784E +L784A PLA + BRL L7799 +L784E PHY + LDY $00 + BRA L7872 +L7853 TYA +L7854 PLY + INY + PHY + LDY $12 + CPY #$0029 + BMI L7865 + BIT $8F + BMI L7865 + LDY #$0029 +L7865 STA [$44],Y + INY + LDA $00 + STA [$44],Y + STY $12 + PLY + BRL L7799 +L7872 LDA #$C0 + TRB $8C + TYA + PLY + CMP #$20 + BNE L7881 + PER L787F+1 +L787F BRA L78B3 +L7881 CMP #$01 + BNE L7887 + LDA #$20 +L7887 CMP #$2B + BNE L789D + PER L788E+2 +L788E BRL L8A96 + BCC L7896 + BRL L7A9F +L7896 LDA #$70 +L7898 STA [$2C],Y + PHY + BRA L7854 +L789D CMP #$2D + BEQ L78A4 + BRL L7A9F +L78A4 PER L78A7+2 +L78A7 BRL L8A96 + BCC L78AF + BRL L7A9F +L78AF LDA #$6D + BRA L7898 +L78B3 PHA + PHY + XBA + LDA $00 + XBA +L78B9 CMP #$20 + BNE L78C6 + INY + LDA [$2C],Y + BEQ L7903 + BPL L78B9 + BRA L7903 +L78C6 TYX + TAY + LDA [$94],Y + BPL L78D4 + TYA + PLY + PHX + PLY + PLA + LDA [$2C],Y + RTS + +L78D4 BNE L7903 + PHX + TYA + LDY $12 + STA [$44],Y + LDA $00 + INY + STA [$44],Y + REP #$20 + PHK + PER L78EE + PEA $000F + PEI $EE + PEI $EC +L78EE RTL + + PLX + LDA $00 + SEP #$20 + BCS L78FF + TXY + LDA #$20 + STA [$2C],Y + INC $12 + BRA L78B9 +L78FF LDY $12 + STA [$44],Y +L7903 PLY + PLA + RTS + +L7906 STZ $20 + LDA $12 + BEQ L7928 + LDA #$C0 + TRB $8C + LDA #$40 + TRB $8D + PHY + PER L7918+2 +L7918 BRL L7FEE + PLY + BCC L7921 + BRL L75C5 +L7921 BIT $8C + BPL L7928 + BRL L7D09 +L7928 BIT $A6 + BPL L793C + PER L792F+2 +L792F BRL L75AD + PEA $008D + PHK + PER L7939+2 +L7939 BRL L8D82 +L793C LDA #$80 + TRB $8B + LSR + TRB $8F + INY + LDA [$2C],Y + BEQ L794B + BRL L7A3B +L794B REP #$20 + DEY + LDA $1A + BNE L7999 + LDA $0C + BEQ L7974 + LDA #$09B0 + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA #$07AE + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + BRA L7990 +L7974 LDA #$07AE + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA #$09B0 + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 +L7990 LDA $10 + STA $B0 + LDA $1C + TCS + CLC + RTL + +L7999 LDA #$0100 + STA [$30] + INC $30 + INC $30 + LDA [$14] + STA [$30] + INC $14 + INC $14 + INC $30 + INC $30 + LDA [$14] + STA [$30] + INC + INC + INC $30 + INC $30 + INC $14 + INC $14 + LDY $00 + SEP #$20 +L79C0 LDA [$14],Y + STA [$30],Y + BEQ L79C9 +L79C6 INY + BRA L79C0 +L79C9 INY + LDA [$14],Y + BEQ L79D9 + LDA #$01 + STA [$30],Y + INY + LDA [$14],Y + STA [$30],Y + BRA L79C6 +L79D9 DEY + REP #$20 + LDA $00 + STA [$30],Y + STA $1A + LDA $0C + BNE L7A10 + INC + STA $0C + LDA #$09B0 + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA #$07AE + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + LDY $2C + STY $14 + LDY $2E + STY $16 + BRL L7643 +L7A10 LDA $00 + STA $0C + LDA #$07AE + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + LDA #$09B0 + CLC + ADC $3C + STA $30 + LDA $00 + ADC $3E + STA $32 + LDY $2C + STY $14 + LDY $2E + STY $16 + BRL L7643 +L7A3B DEC + BNE L7A4D + INY +L7A3F INY + LDA [$2C],Y + BNE L7A3F + INY + LDA [$2C],Y + BNE L7A3B + DEY + BRL L7928 + MX %10 +L7A4D LDA #$01 + STA [$2C],Y + INY + REP #$20 + TYA + CLC + ADC $2C + STA $2C + LDA $00 + ADC $2E + STA $2E + BRL L7643 + MX %10 +L7A63 PHA + PLA + BEQ L7A6A + STA [$2C],Y + INY +L7A6A DEY + CMP #$2C + BNE L7A75 + BIT $8A + BVC L7A75 + INC $B6 +L7A75 INY + LDA [$2C],Y + CMP #$20 + BEQ L7A75 + REP #$20 + STZ $20 + TYA + CLC + ADC $B0 + STA $B0 + TYA + CLC + ADC $2C + STA $2C + LDA $00 + ADC $2E + STA $2E + STZ $12 + LDY $00 + SEP #$20 + LDA #$40 + TRB $8C + BRL L7799 +L7A9F CMP #$7E + BNE L7AA9 + PHA + LDA #$40 + TSB $8C + PLA +L7AA9 LDX $18 + BNE L7AB0 + BRL L7BCD +L7AB0 LDX $00 +L7AB2 CMP #$20 + BNE L7ABE + INY + TYX + LDA [$2C],Y + BNE L7AB2 + BRA L7B1A +L7ABE BIT $8D + BVC L7AC6 + CMP #$3B + BEQ L7ACE +L7AC6 PHA + PLA + BEQ L7ACE + CMP #$2C + BNE L7AE5 +L7ACE STZ $20 + PER L7AD3+2 +L7AD3 BRL L7FEE + BCC L7ADB + BRL L75C5 +L7ADB BIT $8C + BPL L7AE2 + BRL L7D09 +L7AE2 BRL L7A63 +L7AE5 CMP #$29 + BNE L7B2D +L7AE9 INY + LDA [$2C],Y + BEQ L7B01 + PER L7AF1+2 +L7AF1 BRL L75A9 + PEA $005E + PHK + PER L7AFB+2 +L7AFB BRL L8D82 + BRL L75C5 +L7B01 DEY + STZ $20 + PER L7B07+2 +L7B07 BRL L7FEE + BCC L7B0F + BRL L75C5 +L7B0F INY + BIT $8C + BPL L7B17 + BRL L7D09 +L7B17 BRL L7928 +L7B1A PER L7B1D+2 +L7B1D BRL L75AD + PEA $0045 + PHK + PER L7B27+2 +L7B27 BRL L8D82 + BRL L75C5 +L7B2D PHX + PLX + BEQ L7B45 + PER L7B34+2 +L7B34 BRL L7FD4 + BCS L7B45 + CPX #$0005 + BEQ L7B45 + LDA #$2C + DEY + STA [$2C],Y + BRA L7ACE +L7B45 CMP #$28 + BEQ L7B4F + LDX #$0004 + BRL L7D0B +L7B4F BIT $91 + BPL L7B92 +L7B53 INY + LDA [$2C],Y + CMP #$20 + BEQ L7B53 + CMP #$29 + BEQ L7B79 + CMP #$30 + BCC L7B66 + CMP #$3A + BCC L7B53 +L7B66 PER L7B69+2 +L7B69 BRL L75A9 + PEA $0079 + PHK + PER L7B73+2 +L7B73 BRL L8D82 + BRL L75C5 +L7B79 LDA #$40 + TSB $8C +L7B7D INY + LDA [$2C],Y + BEQ L7B66 + CMP #$2C + BNE L7B89 + BRL L7ACE +L7B89 CMP #$29 + BNE L7B90 + BRL L7AE9 +L7B90 BRA L7B7D +L7B92 LDX #$0004 + LDA $12 + BEQ L7BB8 + CMP #$02 + BEQ L7BA4 + CMP #$04 + BEQ L7BA4 + BRL L7D0B +L7BA4 PER L7BA7+2 +L7BA7 BRL L7F83 + LDX #$0004 + BCC L7BB2 + BRL L7D0B +L7BB2 LDX #$00C5 + BRL L7D0B +L7BB8 PER L7BBB+2 +L7BBB BRL L8A2B + LDA #$02 + CMP $20 + BEQ L7BC7 + BRL L7D0B +L7BC7 LDX #$00C1 + BRL L7D0B +L7BCD LDX $12 + CPX #$0002 + BMI L7BE7 + CPX #$0004 + BPL L7BE7 + PER L7BDC+2 +L7BDC BRL L8ABE + BCS L7BE7 + DEY + LDA [$2C],Y + BRL L7A63 +L7BE7 STZ $20 + STZ $21 + PER L7BEE+2 +L7BEE BRL L7F83 + BCC L7C39 + CMP #$28 + BEQ L7C29 + PER L7BFA+2 +L7BFA BRL L7FEE + BCC L7C02 + BRL L75C5 +L7C02 BIT $8C + BPL L7C09 + BRL L7D09 +L7C09 CMP #$2F + BEQ L7C11 + CMP #$5E + BNE L7C20 +L7C11 PHA + REP #$20 + LDA #$0001 + PER L7C1A+2 +L7C1A BRL L8874 + SEP #$20 + PLA +L7C20 PER L7C23+2 +L7C23 BRL L8BA0 + BRL L7A63 +L7C29 PER L7C2C+2 +L7C2C BRL L8A2B + LDA #$02 + CMP $20 + BNE L7C59 + LDA $12 + BNE L7C59 +L7C39 LDX #$00C1 + LDA $12 + BEQ L7C43 + LDX #$00C5 +L7C43 BRL L7D0B +L7C46 PER L7C49+2 +L7C49 BRL L75AD + PEA $0012 + PHK + PER L7C53+2 +L7C53 BRL L8D82 + BRL L75C5 +L7C59 LDA $12 + BNE L7C9F + LDX #$0004 + XBA + BIT $8B + BPL L7C70 + LDA #$03 + AND $8B + ORA #$04 + TAX + LDA #$80 + TRB $8B +L7C70 LDA $20 + BEQ L7C7A + DEC $20 + BEQ L7C7A + BRA L7C46 +L7C7A LDA #$28 + PHY +L7C7D CMP [$2C],Y + BEQ L7C98 + DEY + BPL L7C7D + PLY + PER L7C88+2 +L7C88 BRL L75AD + PEA $0045 + PHK + PER L7C92+2 +L7C92 BRL L8D82 + BRL L75C5 +L7C98 LDA #$20 + STA [$2C],Y + PLY + BRA L7D0B +L7C9F PER L7CA2+2 +L7CA2 BRL L7FEE + BCC L7CAA + BRL L75C5 +L7CAA BIT $1E + BPL L7D09 + BVS L7D09 + BIT $90 + BPL L7CC3 + BVS L7CC3 + LDA $20 + BNE L7CC3 + STA [$2C],Y + INY + STA [$2C],Y + DEY + BRL L7906 +L7CC3 LDA #$3C + TRB $1E + LDA #$03 + AND $1E + ASL + ASL + TSB $1E + BIT $8F + BPL L7CD9 + LDA #$10 + TSB $1E + BRA L7D09 +L7CD9 BIT $93 + BVC L7CE1 + BIT $8F + BVS L7CE9 +L7CE1 BIT $A7 + BMI L7CE9 + BIT $8D + BPL L7D09 +L7CE9 LDA #$03 + AND $1E + TRB $1E + CMP #$03 + BEQ L7CF5 + LDA #$01 +L7CF5 BIT $A7 + BMI L7CFD + BIT $93 + BVC L7CFF +L7CFD ORA #$10 +L7CFF ORA #$20 + TSB $1E + LDA #$80 + TRB $8D + TRB $A7 +L7D09 LDX $1E +L7D0B REP #$20 + BIT $89 + BPL L7D22 + TXA + AND #$00FC + CMP #$0004 + BNE L7D22 + TXA + AND #$FFC0 + ORA #$0020 + TAX +L7D22 BIT $89 + BVC L7D3C + LDA $B4 + CLC + ADC $B6 + TAY + LDA [$E0],Y + BIT $62 + BPL L7D34 + LDA $00 +L7D34 ORA #$FFFC + STX $02 + AND $02 + TAX +L7D3C STX $1E + LDA $00 + STA $12 + LDY $2C + STY $48 + LDY $2E + STY $4A + LDA #$0200 + STA [$30] + LDA $1A + BEQ L7D57 + INC $30 + INC $30 +L7D57 LDA [$2C] + AND #$00FF + INC $2C + CMP #$0020 + BEQ L7D57 + DEC $2C + INC $1A + TXA + XBA + AND #$FF00 + ORA #$0008 + PER L7D72+2 +L7D72 BRL L75AD + CLC + ADC $B0 + XBA + STA [$30] + INC $30 + INC $30 + LDY #$0BB2 + LDA [$3C],Y + INC + LDY #$0BB2 + STA [$3C],Y + ORA #$3D00 + BIT $A6 + BPL L7D94 + ORA #$8000 +L7D94 STA [$30] + INC $30 + INC $30 + STZ $20 + LDA $18 + BNE L7DAD + LDA $1E + AND #$00C0 + BNE L7DAD + BIT $8B + BMI L7DAD + INC $20 +L7DAD LDY $00 + TYX + SEP #$20 +L7DB2 LDA [$2C],Y + BNE L7DC9 + PER L7DB9+2 +L7DB9 BRL L75AD + PEA $0045 + PHK + PER L7DC3+2 +L7DC3 BRL L8D82 + BRL L75C5 +L7DC9 PHY + TXY + STA [$30],Y + PLY + BIT $8C + BPL L7DEC + PHA + PLA + BPL L7DEC + PHY + TXY + INY + LDA #$28 + STA [$30],Y + INY + LDA #$29 + STA [$30],Y + TYX + PLY + LDA #$20 + STA [$2C],Y + INX + INY + BRA L7E52 +L7DEC BIT $8D + BVC L7DF4 + CMP #$3B + BEQ L7E3E +L7DF4 CMP #$2D + BEQ L7E2C + BCS L7E00 + CMP #$28 + BNE L7E08 + INC $20 +L7E00 LDA #$20 + STA [$2C],Y + INX + INY + BRA L7DB2 +L7E08 CMP #$29 + BNE L7E26 + DEC $20 + BEQ L7E14 + BPL L7E00 + BRA L7E52 +L7E14 LDA $18 + BNE L7E00 + LDA #$20 + STA [$2C],Y + INY + LDA $1E + AND #$C0 + BEQ L7E52 + INX + BRA L7E52 +L7E26 CMP #$2C + BNE L7E00 + BRA L7E3E +L7E2C BIT $1E + BPL L7E00 + BVC L7E00 + LDA $20 + BNE L7E00 + LDA $18 + BEQ L7E00 + LDA #$12 + STA [$2C],Y +L7E3E LDA $20 + BNE L7E00 + LDA $18 + BEQ L7E00 + INY +L7E47 LDA [$2C],Y + CMP #$20 + BNE L7E52 + STA [$30],Y + INY + BRA L7E47 +L7E52 PHY + LDY #$0BB2 + LDA [$3C],Y + ORA #$80 + XBA + BIT $1E + BPL L7E81 + BVC L7E73 + LDA #$3C + AND $1E + BEQ L7E6B + LDA #$6D + BRA L7E85 +L7E6B LDA #$6C + BRA L7E85 +L7E6F LDA #$6B + BRA L7E85 +L7E73 LDA $1E + BIT #$20 + BEQ L7E7D + LDA #$68 + BRA L7E85 +L7E7D LDA #$6A + BRA L7E85 +L7E81 BVS L7E6F + LDA #$69 +L7E85 PLY + REP #$20 + STA [$48] + PHY + BIT $8A + BPL L7E9F + LDY $B8 + BNE L7E9F + XBA + AND #$00FF + ORA #$1300 + LDY #$0001 + STA [$48],Y +L7E9F PLY + TYA + CLC + ADC $B0 + STA $B0 + TYA + CLC + ADC $2C + STA $2C + LDA $00 + ADC $2E + STA $2E + PHX + TYX + PLY +L7EB5 DEY + BMI L7EC2 + LDA [$30],Y + AND #$00FF + CMP #$0020 + BEQ L7EB5 +L7EC2 LDA #$00C0 + AND $1E + BNE L7EF5 + PHK + PER L7ECD+1 +L7ECD BRA L7F0F + PHY + PLY + BPL L7EF5 + DEC $1A + BEQ L7EDB + DEC $30 + DEC $30 +L7EDB DEC $30 + DEC $30 + DEC $30 + DEC $30 + LDA #$2020 + STA [$48] + LDY #$0BB2 + LDA [$3C],Y + DEC + LDY #$0BB2 + STA [$3C],Y + BRA L7F02 +L7EF5 INY + TYA + CLC + ADC $30 + STA $30 + LDA $00 + ADC $32 + STA $32 +L7F02 LDA $00 + STA [$30] + STZ $20 + SEP #$20 + LDY $00 + BRL L7799 +L7F0F PHY + SEP #$20 +L7F12 PHY + PLY + BMI L7F7F + LDA [$30] + CMP #$20 + BNE L7F20 + PLX + INX + BRA L7F50 +L7F20 LDA [$30],Y + CMP #$29 + BNE L7F7F + LDA [$30] + CMP #$28 + BNE L7F7F + TYX + LDY $00 + STZ $20 + DEX + BNE L7F39 + PLY + DEY + DEY + BRA L7F69 +L7F39 LDA [$30],Y + CMP #$28 + BNE L7F43 + INC $20 + BRA L7F4B +L7F43 CMP #$29 + BNE L7F4B + DEC $20 + BEQ L7F7F +L7F4B INY + DEX + BPL L7F39 + PLX +L7F50 PHX + LDY #$0001 +L7F54 LDA [$30],Y + DEY + STA [$30],Y + INY + INY + DEX + BNE L7F54 + PLY + DEY +L7F60 DEY + BMI L7F69 + LDA [$30],Y + CMP #$20 + BEQ L7F60 +L7F69 PHY + LDX $30 + DEX + DEX + DEX + STX $30 + LDA [$30] + INC + STA [$30] + LDX $30 + INX + INX + INX + STX $30 + BRA L7F12 +L7F7F REP #$20 + PLY + RTL + +L7F83 PHA + PHY + CPY #$0004 + BMI L7FCE + REP #$20 + LDA [$44] + CMP #$8564 + BEQ L7FA2 + CMP #$5453 + BNE L7FCE + LDY #$0002 + LDA [$44],Y + CMP #$5045 + BNE L7FCE +L7FA2 PLY + DEY + PHY + SEP #$20 +L7FA7 INY + LDA [$2C],Y + CMP #$20 + BEQ L7FA7 + CMP #$28 + BNE L7FCE + PER L7FB5+2 +L7FB5 BRL L8A2B + LDA #$02 + CMP $20 + BNE L7FCE + PLX + PHY + TXY + LDA #$20 +L7FC3 STA [$2C],Y + DEY + BPL L7FC3 + PLY + PLA + LDA #$28 + CLC + RTS + +L7FCE SEP #$20 + PLY + PLA + SEC + RTS + +L7FD4 LDX $12 + BNE L7FF0 + SEC + RTS + +L7FDA PHK + PER L7FE5 + PEA $0018 + PEI $EE + PEI $EC +L7FE5 RTL + + BCC L7FEB + BRL L884D +L7FEB BRL L8837 +L7FEE LDX $00 +L7FF0 PHP + REP #$20 + PHA + PHY + LDA #$04F8 + CLC + ADC $3C + STA $38 + LDA $00 + ADC $3E + STA $3A + LDA $12 + BNE L800A + BRL L8837 +L800A CMP #$0029 + BMI L801F + PER L8012+2 +L8012 BRL L75AD + PEA $000F + PHK + PER L801C+2 +L801C BRL L8D82 +L801F STA [$38] + INC + INC + TAY + LDA $00 + STA [$38],Y + LDY #$0002 + TXA + BNE L7FDA + SEP #$20 +L8030 LDA [$38],Y + BMI L8067 + BEQ L8067 + TYX + TAY + LDA [$94],Y + BNE L8060 + TYA + CMP #$26 + BNE L8048 + CPX #$0002 + BNE L804E + BRA L8060 +L8048 TXY + INY + LDA [$38],Y + BEQ L8067 +L804E PER L8051+2 +L8051 BRL L75AD + PEA $0002 + PHK + PER L805B+2 +L805B BRL L8D82 + BRA L8067 +L8060 TXY + INY + CPY #$0029 + BMI L8030 +L8067 REP #$20 + LDY #$0001 + LDA [$38],Y + BPL L8073 + BRL L8837 +L8073 XBA + AND #$00FF + TAY + CMP #$002E + BEQ L808D + CMP #$0026 + BEQ L808D + LDA [$94],Y + AND #$00FF + DEC + BEQ L808D + BRL L8147 +L808D BIT $8B + BVS L8095 + LDA $20 + BEQ L80A8 +L8095 PER L8098+2 +L8098 BRL L75AD + PEA $0049 + PHK + PER L80A2+2 +L80A2 BRL L8D82 + BRL L884D +L80A8 BIT $8A + BPL L80BC + PER L80AF+2 +L80AF BRL L75AD + PEA $0062 + PHK + PER L80B9+2 +L80B9 BRL L8D82 +L80BC PEI $3A + PEI $38 + LDA $00 + BIT $72 + BPL L80C9 + LDA #$0080 +L80C9 ORA #$0113 + TAX + PHK + PER L80D5 + PEI $FA + PEI $F8 +L80D5 RTL + + PLY + PLY + BCC L80DD + BRL L883E +L80DD BIT $72 + BPL L80EA + TXA + DEC + BNE L80EA + STZ $08 + STZ $0A + INX +L80EA TXA + PER L80EE+2 +L80EE BRL L8874 + TXA + BNE L80FD + LDX #$00FF + PEI $04 + PHX + BRL L8363 +L80FD CLC + ADC #$816E + PHA + LDY #$0C8A + LDA [$3C],Y + ASL + ASL + TAY + DEX + BEQ L8119 + LDA $08 + STA [$BE],Y + INY + INY + LDA $0A + STA [$BE],Y + INY + INY +L8119 LDA $04 + STA [$BE],Y + INY + INY + LDA $06 + STA [$BE],Y + LDY #$0C8A + LDA [$3C],Y + PHA + INC + DEX + BMI L812E + INC +L812E LDY #$0C8A + STA [$3C],Y + PLA + XBA + CLC + ADC $01,S + PLY + LDY #$0002 + STA [$38],Y + PLY + PHY + DEY + DEY + STA [$2C],Y + BRL L820D +L8147 DEC + DEC + BNE L814E + BRL L8837 +L814E BIT $91 + BVC L8155 + BRL L8437 +L8155 PHK + PER L8160 + PEA $000F + PEI $EE + PEI $EC +L8160 RTL + + BCC L8166 + BRL L821F +L8166 TAY + AND #$00FF + CMP #$001F + BEQ L8183 + CMP #$0028 + BNE L817E + BIT $72 + BPL L8188 + LDX #$0A28 + TXY + BRA L8188 +L817E CMP #$002A + BNE L8188 +L8183 LDA #$0080 + TSB $92 +L8188 BIT $8A + BPL L818F + BRL L8252 +L818F BIT $8B + BVS L8198 + LDA #$0080 + TSB $8C +L8198 TYA + LDX #$8063 + AND #$0F00 + XBA + ASL + ASL + ORA #$0040 + STA $1E + CMP #$0050 + BEQ L81E8 + CMP #$0054 + BEQ L81F8 + CMP #$0058 + BEQ L81F8 + LDA #$000F + TRB $1E + TYA + XBA + AND #$0003 + CMP #$0003 + BNE L81C7 + TSB $1E +L81C7 PER L81CA+2 +L81CA BRL L8874 + TYA + AND #$3000 + XBA + LSR + LSR + TSB $1E + TYA + AND #$0C00 + CMP #$0800 + BNE L81F8 + TYA + XBA + AND #$0003 + TSB $1E + BRA L81F8 +L81E8 PHY + LDA #$0001 + BIT $72 + BPL L81F1 + INC +L81F1 PER L81F4+2 +L81F4 BRL L8874 + PLY +L81F8 TYA + AND #$00FF + LDY #$0002 + XBA + CLC + STX $02 + ADC $02 + STA [$38],Y + PLY + PHY + DEY + DEY + STA [$2C],Y +L820D SEP #$20 + LDA #$20 +L8211 DEY + BMI L8218 + STA [$2C],Y + BRA L8211 +L8218 LDA #$02 + STA $12 + BRL L8837 + MX %00 +L821F PHK + PER L822A + PEA $0018 + PEI $EE + PEI $EC +L822A RTL + + BCS L8240 + TAY + BIT $8E + BVS L823A + LDA $20 + BNE L8252 + BIT $8A + BMI L8252 +L823A TYA + LDX #$8064 + BRA L81F8 +L8240 BIT $A5 + BMI L8282 + PHK + PER L824F + PEA $000C + PEI $EE + PEI $EC +L824F RTL + + BCS L8265 +L8252 PER L8255+2 +L8255 BRL L75AD + PEA $0047 + PHK + PER L825F+2 +L825F BRL L8D82 + BRL L884D +L8265 BIT $8B + BVC L826C + BRL L8437 +L826C LDY #$0002 + LDA [$38],Y + CMP #$4E46 ; FN + BNE L8279 + BRL L8437 +L8279 BIT $88 + BVC L8280 + BRL L8437 +L8280 BRA L82C2 +L8282 LDY #$0008 + PHK + PER L8290 + PEA $0015 + PEI $EE + PEI $EC +L8290 RTL + + BCC L82BA + PER L8296+2 +L8296 BRL L8976 + BEQ L82B2 + LDY #$0008 + PHK + PER L82A9 + PEA $0015 + PEI $EE + PEI $EC +L82A9 RTL + + BCC L82BA + PER L82AF+2 +L82AF BRL L8A04 +L82B2 LDA #$0040 + TSB $8C + BRL L8437 +L82BA LDA #$0080 + TRB $A6 + BRL L834A +L82C2 BIT $8A + BVC L8315 + LDY #$0002 + LDA [$38],Y + ORA #$0020 + STA [$38],Y + LDY #$0006 + PHK + PER L82DE + PEA $0015 + PEI $EE + PEI $EC +L82DE RTL + + PHY + LDY #$0002 + LDA [$38],Y + AND #$FFDF + STA [$38],Y + PLY + BCC L82FE + BIT $8A + BPL L8315 + PHY + LDY #$0002 + ORA #$0020 + STA [$38],Y + PLY + BRL L83B2 +L82FE BIT $8A + BPL L834A + PER L8305+2 +L8305 BRL L75AD + PEA $0063 + PHK + PER L830F+2 +L830F BRL L8D82 + BRL L884D +L8315 LDY #$0006 + PHK + PER L8323 + PEA $0015 + PEI $EE + PEI $EC +L8323 RTL + + BCC L834A + PER L8329+2 +L8329 BRL L8976 + BNE L8331 + BRL L83B2 +L8331 LDY #$0006 + PHK + PER L833F + PEA $0015 + PEI $EE + PEI $EC +L833F RTL + + BCC L834A + PER L8345+2 +L8345 BRL L8A04 + BRA L83B2 +L834A LDA #$1000 + BIT $68 + BEQ L8361 + PER L8354+2 +L8354 BRL L75AD + PEA $0079 + PHK + PER L835E+2 +L835E BRL L8D82 +L8361 PHY + PHX +L8363 LDA $01,S + ASL + ASL + STA $1E + LSR + LSR + AND #$0003 + PER L8371+2 +L8371 BRL L8874 + TSB $1E + LDY #$0C8A + LDA [$3C],Y + ASL + ASL + TAY + PLA + STA [$BE],Y + INY + INY + PLA + STA [$BE],Y + BIT $8F + BVS L838E + BIT $8D + BPL L8395 +L838E STA $D2 + LDA #$0080 + TRB $8E +L8395 LDY #$0C8A + LDA [$3C],Y + INC + LDY #$0C8A + STA [$3C],Y + ORA #$0080 + LDY #$0002 + STA [$38],Y + PLY + PHY + DEY + SEP #$20 + STA [$2C],Y + BRL L820D + MX %00 +L83B2 LDA $12 + CLC + ADC #$000A + TAX + PHK + PER L83C4 + PEA $0021 + PEI $EE + PEI $EC +L83C4 RTL + + PHY + LDX #$0002 + PER L83CC+2 +L83CC BRL L890F + PHX + INY + INY + PHY + LDA $68 + XBA + PLY + STA [$E0],Y + LDA $00 + PER L83DE+2 +L83DE BRL L888B + INY + INY + STA [$E0],Y + INY + INY + TXA + STA [$E0],Y + PLX + INY + INY + PHY + BIT $90 + BMI L83F6 + BIT $8A + BPL L840D +L83F6 LDA $B4 + BIT $62 + BMI L840B + CLC + ADC $B6 + TAY + LDA [$E0],Y + AND #$FF00 + STX $02 + ORA $02 + STA [$E0],Y +L840B PLY + PHY +L840D LDY $38 + STY $48 + LDY $3A + STY $4A + PLY + TXA + PHX + STA [$E0],Y + INY + LDA $12 + TAX + STA [$E0],Y + INY + LDA #$0001 + STA [$48] + INC $48 + INC $48 +L842A LDA [$48] + STA [$E0],Y + INY + INC $48 + DEX + BNE L842A + BRL L8363 +L8437 BIT $8A + BPL L8442 + LDY $B8 + BEQ L8442 + BRL L8252 +L8442 BIT $8B + BVS L846A + LDY #$0006 + PHK + PER L8454 + PEA $0015 + PEI $EE + PEI $EC +L8454 RTL + + BCS L846A + PER L845A+2 +L845A BRL L75AD + PEA $004D + PHK + PER L8464+2 +L8464 BRL L8D82 + BRL L884D +L846A LDY #$0008 + PHK + PER L8478 + PEA $0015 + PEI $EE + PEI $EC +L8478 RTL + + BCC L84A7 + BIT $8F + BVC L8482 + BRL L86A5 +L8482 PER L8485+2 +L8485 BRL L8976 + BNE L848D + BRL L86A5 +L848D LDY #$0008 + PHK + PER L849B + PEA $0015 + PEI $EE + PEI $EC +L849B RTL + + BCC L84A7 + PER L84A1+2 +L84A1 BRL L8A04 + BRL L86A5 +L84A7 LDA #$1000 + BIT $68 + BEQ L84C2 + BIT $90 + BVS L84C2 + PER L84B5+2 +L84B5 BRL L75AD + PEA $0079 + PHK + PER L84BF+2 +L84BF BRL L8D82 +L84C2 PHY + PHX + BIT $88 + BVS L84CB + BRL L8577 +L84CB INY + INY + INY + LDA [$E0],Y + AND #$00FF + CMP $20 + BEQ L84E7 + PER L84DA+2 +L84DA BRL L75AD + PEA $0019 + PHK + PER L84E4+2 +L84E4 BRL L8D82 +L84E7 CLC + STY $02 + ADC $02 + CLC + ADC #$0007 + PHA + INY + INY + INY + INY + INY + INY + LDA [$E0],Y + AND #$00FF + CLC + ADC $01,S + STA $C8 + PLA + LDA #$4000 + TRB $88 + DEY + LDA [$E0],Y + AND #$003C + LSR + LSR + DEC + DEC + BEQ L8529 + DEC + BEQ L8529 + PER L8519+2 +L8519 BRL L75AD + PEA $004D + PHK + PER L8523+2 +L8523 BRL L8D82 + BRL L8363 +L8529 BIT $90 + BVC L8584 + LDA $91 + AND #$0001 + ASL + ASL + ORA $01,S + STA $01,S + AND #$0004 + ORA [$E0],Y + STA [$E0],Y + DEY + DEY + DEY + DEY + LDA [$E0],Y + BEQ L8557 + PER L854A+2 +L854A BRL L75AD + PEA $0021 + PHK + PER L8554+2 +L8554 BRL L8D82 +L8557 PHY + LDY #$0086 + LDA [$3C],Y + PLY + STA [$E0],Y + LDA #$0040 + TRB $91 + TSB $8A + LDA $03,S + CLC + ADC #$000A + CLC + ADC $12 + STA $B4 + STZ $B6 + BRL L8363 +L8577 BIT $8B + BVS L8584 + BIT $91 + BVS L8584 + LDA #$0080 + TSB $8C +L8584 LDA $03,S + TAY + INY + INY + INY + BIT $91 + BVC L8591 + BRL L8661 +L8591 LDA [$E0],Y + AND #$00FF + BIT $8E + BPL L85E8 + LDA [$E0],Y + AND #$00FF + BEQ L85CB + CMP #$00FF + BNE L85D6 + BIT $68 + BVS L85E5 + PHY + INY + INY + INY + INY + INY + LDA [$E0],Y + AND #$FFF3 + STA [$E0],Y + LDA #$0024 + LSR $91 + BCS L85C1 + ORA #$0004 +L85C1 ROR $91 + ORA [$E0],Y + STA [$E0],Y + PLY + BRL L864E +L85CB BIT $68 + BVS L85D6 + LDA $91 + LSR + BCS L85E5 + BRA L864E +L85D6 BIT $68 + BVC L85E5 + LDA #$0040 + DEY + ORA [$E0],Y + STA [$E0],Y + BRL L8363 +L85E5 BRL L8363 +L85E8 LDA [$E0],Y + AND #$00FF + BEQ L864E + CMP #$00FF + BEQ L864E + SEC + SBC $20 + BNE L85FC + BRL L8363 +L85FC DEY + LDA [$E0],Y + AND #$0002 + BEQ L8607 + BRL L8363 +L8607 INY + INY + INY + INY + INY + INY + LDA [$E0],Y + AND #$003C + LSR + LSR + DEC + DEC + BEQ L863B + DEC + BEQ L863B + LDY #$0002 + LDA [$38],Y + CMP #$4E46 + BNE L8638 + PER L8628+2 +L8628 BRL L75AD + PEA $0095 + PHK + PER L8632+2 +L8632 BRL L8D82 + BRL L8363 +L8638 BRL L8363 +L863B PER L863E+2 +L863E BRL L75AD + PEA $0019 + PHK + PER L8648+2 +L8648 BRL L8D82 + BRL L8363 +L864E BIT $8B + BPL L8655 + BRL L8363 +L8655 LDA #$FF00 + AND [$E0],Y + ORA $20 + STA [$E0],Y + BRL L8363 +L8661 PHY + DEY + LDA [$E0],Y + BIT #$0020 + BNE L8674 + PHY + LDY #$0086 + LDA [$3C],Y + PLY + DEC + BNE L868A +L8674 INY + INY + INY + INY + INY + INY + LDA [$E0],Y + LSR + LSR + AND #$000F + SEC + SBC #$000A + BEQ L869A + DEC + BEQ L869A +L868A PER L868D+2 +L868D BRL L75AD + PEA $007B + PHK + PER L8697+2 +L8697 BRL L8D82 +L869A PLY + LDA [$E0],Y + AND #$FF00 + STA [$E0],Y + BRL L8363 +L86A5 BIT $91 + BVC L86AB + INC $20 +L86AB TYX + LDY #$0002 + LDA [$38],Y + CMP #$4E46 + BNE L86CD + BIT $8A + BMI L86CD + PER L86BD+2 +L86BD BRL L75AD + PEA $0048 + PHK + PER L86C7+2 +L86C7 BRL L8D82 + BRL L884D +L86CD TXY + LDA $20 + INC + INC + INC + INC + BIT $8A + BMI L86DE + BIT $88 + BVS L86DE + LDA $00 +L86DE CLC + ADC $12 + CLC + ADC #$000A + STA $C8 + TAX + PHK + PER L86F3 + PEA $0021 + PEI $EE + PEI $EC +L86F3 RTL + + PHY + LDX $00 + BIT $88 + BVS L870A + LDX #$0002 + BIT $8A + BPL L8704 + INX + INX +L8704 PER L8707+2 +L8707 BRL L890F +L870A LDA $01,S + TAY + CLC + ADC $C8 + DEC + DEC + DEC + DEC + STA $C8 + BIT $88 + BVC L8728 + PHY + TAY + LDA $00 + STA [$E0],Y + INY + INY + LDA #$0004 + STA [$E0],Y + PLY +L8728 LDA $68 + PHX + BIT $90 + BVS L873C + BMI L8739 + BIT $8E + BPL L873C + BIT $68 + BVC L873C +L8739 ORA #$00FF +L873C INY + INY + ORA $20 + XBA + STA [$E0],Y + INY + INY + LDA $00 + BIT $90 + BVC L8752 + PHY + LDY #$0086 + LDA [$3C],Y + PLY +L8752 LDX #$FF00 + BIT $88 + BVS L876A + LDA $00 + LDX #$7E00 + BIT $8A + BMI L876A + LDA $20 + PER L8767+2 +L8767 BRL L888B +L876A STA [$E0],Y + INY + INY + TXA + STA [$E0],Y + PLX + INY + INY + PHY + BIT $8A + BPL L877C + BRL L8810 +L877C BIT $88 + BVC L87B2 + LDA #$4000 + TRB $88 + LDX #$0008 + BIT $90 + BVS L878F + BRL L840D +L878F LDA #$0001 + AND $91 + ASL + ASL + STX $02 + ORA $02 + TAX + LDA #$0040 + TRB $91 + TSB $8A + LDA $03,S + CLC + ADC #$000A + CLC + ADC $12 + STA $B4 + STZ $B6 + BRL L840D +L87B2 LDA $20 + BNE L87C7 + BIT $90 + BMI L87C7 + BIT $68 + BVS L87C7 + BIT $A5 + BPL L87C7 + LDA #$0080 + TRB $A6 +L87C7 TXA + ORA #$0020 + TAX + BIT $8E + BPL L8809 + BIT $68 + BVS L8809 + ORA #$0004 + TAX + LDA $91 + LSR + BCS L87E2 + TXA + ORA #$0008 + TAX +L87E2 BIT $90 + BMI L87E9 + BRL L840D +L87E9 BIT $62 + BPL L87F0 + BRL L840D +L87F0 PHY + LDA $B4 + CLC + ADC $B6 + TAY + LDA [$E0],Y + AND #$FF00 + STX $02 + ORA $02 + AND #$FF03 + STA [$E0],Y + PLY + BRL L840D +L8809 TXA + ORA #$0008 + TAX + BRA L87E2 +L8810 TXA + ORA #$001C + TAX + LDA #$0003 + TRB $8B + STX $02 + AND $02 + TSB $8B + LDY $C8 + LDA $00 + STA [$E0],Y + INY + INY + PHY + LDY #$0086 + LDA [$3C],Y + ORA #$7E00 + PLY + STA [$E0],Y + BRL L840D +L8837 REP #$20 + PLY + PLA + PLP + CLC + RTS + +L883E PER L8841+2 +L8841 BRL L75AD + PEI $04 + PHK + PER L884A+2 +L884A BRL L8D82 +L884D REP #$20 + PLY + PLA + PLP + SEC + RTS + +L8854 PHY + AND #$007F + ASL + DEC + ASL + TAY + LDA [$BE],Y + CLC + ADC #$0009 + TAY + LDA [$E0],Y + AND #$00FF + INC + CLC + STY $02 + ADC $02 + STA $B4 + STZ $B6 + PLY + RTS + +L8874 BIT $CA + BPL L887C + XBA + STA $CA + XBA +L887C SEP #$20 + CMP $CA + BCC L8888 + CMP #$03 + BEQ L8888 + STA $CA +L8888 REP #$20 + RTS + +L888B PHY + BIT $8A + BPL L88B1 + LDA $B8 + INC $B8 + INC $B8 + DEX + BNE L88A2 +L8899 INC $B8 + INC $B8 +L889D LDX #$7F00 + BRA L88F0 +L88A2 BMI L889D + DEX + BNE L8899 + INC $B8 + INC $B8 + INC $B8 + INC $B8 + BRA L8899 +L88B1 BIT $90 + BPL L88C2 + LDA $B6 + ASL + ASL + CLC + ADC #$000B + LDX #$0700 + BRA L88F0 +L88C2 DEX + BNE L88CA + LDX #$0004 + BRA L88DC +L88CA BPL L88D1 + LDX #$0002 + BRA L88DC +L88D1 DEX + BEQ L88D9 + LDX #$0004 + BRA L88F8 +L88D9 LDX #$0008 +L88DC PHA + PLA + BEQ L88E5 + LDX #$0004 + BRA L88F8 +L88E5 LDA #$2000 + AND $68 + BNE L88F2 + TXA + LDX #$0800 +L88F0 PLY + RTS + +L88F2 TXA + LDX #$0A00 + BRA L88F0 +L88F8 LDA #$2000 + AND $68 + BNE L8905 + TXA + LDX #$0900 + BRA L88F0 +L8905 TXA + LDX #$0B00 + BRA L88F0 +L890B PHY + TXY + BRA L893C +L890F PHY + PHX + LDA #$0080 + TRB $8E + LDX $00 + LDY $12 + INY + LDA [$38],Y + AND #$00FF + STA [$38],Y + CMP #$0025 + BEQ L8955 + BPL L893B + INX + CMP #$0021 + BEQ L8955 + INX + CMP #$0023 + BEQ L8955 + INX + CMP #$0024 + BEQ L8955 +L893B PLY +L893C LDA [$38],Y + AND #$00DF + SEC + SBC #$0041 + BMI L8959 + CLC + ADC #$01D4 + TAY + LDA [$3C],Y + AND #$00FF + TAX + PLY + SEC + RTS + +L8955 PLY + PLY + CLC + RTS + +L8959 INC + BEQ L896C + PER L895F+2 +L895F BRL L75AD + PEA $0002 + PHK + PER L8969+2 +L8969 BRL L8D82 +L896C LDA #$0080 + TSB $8E + PLY + LDX $74 + SEC + RTS + +L8976 PHY + STZ $76 + LDY #$0002 + TYX + LDA [$38],Y + CMP #$4E46 + BNE L899A + CPX $12 + BNE L8998 + PER L898B+2 +L898B BRL L75AD + PEA $0002 + PHK + PER L8995+2 +L8995 BRL L8D82 +L8998 INX + INX +L899A AND #$00FF + CMP #$0041 + BCC L89D8 + CMP #$005B + BCS L89D8 + PEI $8E + TXY + PER L89AD+2 +L89AD BRL L890F + BCC L89DC + LDA [$38] + INC + STA [$38] + TAY + INY + LDA #$0025 + DEX + BMI L89CF + BEQ L89CC + LDA #$0023 + DEX + BEQ L89CF + LDA #$0024 + BRA L89CF +L89CC LDA #$0021 +L89CF STA [$38],Y + INC $12 + STA $76 +L89D5 PLA + STA $8E +L89D8 PLY + LDA $76 + RTS + +L89DC PHX + TYX + PER L89E1+2 +L89E1 BRL L890B + TXA + CMP $01,S + BEQ L89EC + PLA + BRA L89D5 +L89EC PLA + LDA [$38] + INC + TAY + LDA [$38],Y + ORA #$8000 + STA $76 + ASL + STA [$38],Y + TYA + DEC + DEC + STA [$38] + DEC $12 + BRA L89D5 +L8A04 PHY + LDA $76 + BEQ L8A18 + BMI L8A1A + LDA [$38] + TAY + DEC + STA [$38] + INY + LDA $00 + STA [$38],Y + DEC $12 +L8A18 PLY + RTS + +L8A1A ASL + LSR + TAX + LDA [$38] + INC + STA [$38] + TAY + INY + TXA + STA [$38],Y + INC $12 + BRA L8A18 +L8A2B PHP + PHY + SEP #$20 + STZ $20 + STZ $22 + LDA #$40 + TRB $8C +L8A37 INY + LDA [$2C],Y + BEQ L8A83 + CMP #$20 + BEQ L8A4A + CMP #$29 + BEQ L8A6D + LDA #$40 + TSB $8C + LDA [$2C],Y +L8A4A CMP #$28 + BEQ L8A56 + CMP #$2C + BNE L8A37 + INC $20 + BRA L8A37 +L8A56 INC $22 +L8A58 INY + LDA [$2C],Y + CMP #$28 + BEQ L8A69 + CMP #$29 + BNE L8A58 + DEC $22 + BEQ L8A37 + BRA L8A58 +L8A69 INC $22 + BRA L8A58 +L8A6D LDA $20 + BNE L8A77 + BIT $8C + BVS L8A77 + DEC $20 +L8A77 INC $20 + LDA #$40 + TSB $8C + INY + LDA [$2C],Y + PLY + PLP + RTS + +L8A83 PER L8A86+2 +L8A86 BRL L75AD + PEA $0015 + PHK + PER L8A90+2 +L8A90 BRL L8D82 + BRL L75C5 +L8A96 PHY + PHA + LDA [$44] + BMI L8ABB + CMP #$2E + BEQ L8AA8 + CMP #$30 + BCC L8ABB + CMP #$3A + BCS L8ABB +L8AA8 LDY $12 + BEQ L8ABB + DEY + LDA [$44],Y + CMP #$45 + BEQ L8AB7 + CMP #$44 + BNE L8ABB +L8AB7 CLC +L8AB8 PLA + PLY + RTS + +L8ABB SEC + BRA L8AB8 +L8ABE PHP + SEP #$20 + PHA + PHY + LDA [$44] + CMP #$41 + BCC L8B0C + REP #$20 + PHK + PHK + PER L8B47 + PLY + STY $48 + PLY + STY $4A + LDY $00 + SEP #$20 + LDA #$03 + STA $20 +L8ADE LDX $00 + PHK + PER L8AE4+1 +L8AE4 BRA L8B65 + BEQ L8AF0 + BMI L8B0C + INY + INY + INY + INY + BRA L8ADE +L8AF0 INY + INY + INY + LDA [$48],Y + PLX + PHX + LDY $00 +L8AF9 STA [$2C],Y + INY + LDA #$20 + DEX + BNE L8AF9 + LDA $00 + STA [$44] + STA $12 + PLY + PLA + PLP + CLC + RTS + +L8B0C PLY + PLA + PLP + SEC + RTS + + MX %00 + PHX + TAX + SEC + SBC #$0064 + BMI L8B3F + TAX + LDA #$0031 + STA [$2C],Y + INY +L8B20 TXA + LDX #$0030 +L8B24 CMP #$000A + BMI L8B30 + SEC + SBC #$000A + INX + BRA L8B24 +L8B30 PHA + TXA + STA [$2C],Y + INY + PLA +L8B36 CLC + ADC #$0030 + STA [$2C],Y + INY + PLX + RTS + +L8B3F TXA + CMP #$000A + BPL L8B20 + BRA L8B36 +L8B47 ASC 'AND' + DB $1A + ASC 'EQV' + DB $1D + ASC 'IMP' + DB $1E + ASC 'MOD' + DB $10 + ASC 'NOT' + DB $19 + ASC 'OR' + DB $00 + DB $1B + ASC 'XOR' + DB $1C + DB $7F + DB $7F +L8B65 PHP + PHX + PHY + SEP #$20 + LDA $20 + STA $22 +L8B6E PHX + TYX + PLY + LDA [$44],Y + PHX + TYX + PLY + CMP [$48],Y + BEQ L8B90 + BPL L8B88 + LDA #$80 + ORA $05,S + AND #$FD + STA $05,S +L8B84 PLY + PLX + PLP + RTL + +L8B88 LDA #$7D + AND $05,S + STA $05,S + BRA L8B84 +L8B90 INX + INY + DEC $22 + BNE L8B6E + LDA #$02 + ORA $05,S + AND #$7F + STA $05,S + BRA L8B84 +L8BA0 PHP + REP #$20 + PHY + PHK + PHK + PER L8C01 + PLX + STX $48 + PLX + STX $4A + AND #$00FF + TAX + SEP #$20 +L8BB5 INY + LDA [$2C],Y + CMP #$20 + BEQ L8BB5 + REP #$20 + PHY + AND #$00FF + XBA + STX $02 + ORA $02 + LDY $00 +L8BC9 CMP [$48],Y + BEQ L8BD4 + BCC L8BE5 + INY + INY + INY + BRA L8BC9 +L8BD4 INY + INY + LDA [$48],Y + TAX + PLY + SEP #$20 + LDA #$20 + STA [$2C],Y + TXA + REP #$20 + BRA L8BFE +L8BE5 PLY + PER L8C15 + PLA + STA $48 + TXA + LDY $00 + SEP #$20 +L8BF1 CMP [$48],Y + BEQ L8BFB + BCC L8BFE + INY + INY + BRA L8BF1 +L8BFB INY + LDA [$48],Y +L8BFE PLY + PLP + RTS + +L8C01 ASC '=<' + DB $17 + ASC '><' + DB $14 + ASC '<=' + DB $17 + ASC '>=' + DB $18 + ASC '<>' + DB $14 + ASC '=>' + DB $18 + DB $FF + DB $FF +L8C15 ASC '*'0D + ASC '+'11 + ASC '-'12 + ASC '/'0E + ASC '<'15 + ASC '='13 + ASC '>'16 + ASC '\'0F + ASC '^'0C + DB $FF +L8C28 PHP + REP #$20 + PEI $04 + STZ $04 + SEP #$20 + PER L8C34+2 +L8C34 BRL L8D57 + BCS L8C43 + BVC L8CA1 + CMP #$26 + BEQ L8C4B + CMP #$2E + BEQ L8C9B +L8C43 REP #$20 + PLA + STA $04 + PLP + SEC + RTS + + MX %10 +L8C4B INY + PER L8C4F+2 +L8C4F BRL L8D4D + BCC L8C57 + BRL L8D27 +L8C57 BVC L8C64 + CMP #$4F + BEQ L8C64 + CMP #$48 + BEQ L8C7C + BRL L8D27 +L8C64 INY + PER L8C68+2 +L8C68 BRL L8D4D + BCC L8C70 + BRL L8D27 +L8C70 BVC L8C75 + BRL L8D27 +L8C75 CMP #$38 + BCC L8C64 + BRL L8D38 +L8C7C SEC + ROL $04 +L8C7F INY + PER L8C83+2 +L8C83 BRL L8D4D + BCC L8C8B + BRL L8D27 +L8C8B BVC L8C7F + CMP #$41 + BCS L8C94 + BRL L8D27 +L8C94 CMP #$47 + BCC L8C7F + BRL L8D27 +L8C9B PHA + LDA #$80 + TSB $04 + PLA +L8CA1 INY + PER L8CA5+2 +L8CA5 BRL L8D4D + BCS L8D11 + BVC L8CA1 + CMP #$2E + BNE L8CB8 + BIT $04 + BVS L8D11 + BPL L8C9B + BRA L8D11 +L8CB8 CMP #$45 + BNE L8CF0 +L8CBC BIT $04 + BVS L8D11 + PHA + LDA #$40 + TSB $04 + PHY + PHX + LDX #$FFFF + INY + PER L8CCE+1 +L8CCE BRA L8D4D + BCS L8CDC + BVC L8CEB + CMP #$2B + BEQ L8CE1 + CMP #$2D + BEQ L8CE1 +L8CDC PLX + PLY + PLA + BRA L8D11 +L8CE1 INY + PER L8CE5+1 +L8CE5 BRA L8D4D + BCS L8CDC + BVS L8CDC +L8CEB PLX + PLY + PLA + BRA L8CA1 +L8CF0 CMP #$44 + BEQ L8CBC + CMP #$2B + BEQ L8CFC + CMP #$2D + BNE L8D11 +L8CFC BIT $04 + BVC L8D11 + PHA + LDA $05 + CMP #$45 + BEQ L8D0E + CMP #$44 + BEQ L8D0E + PLA + BRA L8D11 +L8D0E PLA + BRA L8CA1 +L8D11 CMP #$21 + BEQ L8D1D + CMP #$25 + BEQ L8D1D + CMP #$23 + BNE L8D27 +L8D1D INY + PER L8D21+1 +L8D21 BRA L8D4D + BCS L8D44 + BVC L8D38 +L8D27 CLV + CMP #$26 + BEQ L8D38 + CMP #$2E + BEQ L8D38 + CMP #$41 + BCC L8D44 + CMP #$5B + BCS L8D44 +L8D38 SEP #$40 + REP #$20 + PLA + STA $04 + PLP + SEP #$40 + CLC + RTS + +L8D44 REP #$20 + PLA + STA $04 + PLP + CLC + CLV + RTS + + MX %10 +L8D4D STA $05 + PHY + TXY + BMI L8D56 + STA [$44],Y + INX +L8D56 PLY +L8D57 LDA [$2C],Y + BEQ L8D80 + CMP #$09 + BEQ L8D65 + CMP #$20 + BCC L8D80 + BNE L8D6D +L8D65 LDA $04 + LSR + BCS L8D80 + INY + BRA L8D57 +L8D6D CMP #$61 + BCC L8D73 + AND #$DF +L8D73 SEP #$40 + CMP #$30 + BCC L8D7E + CMP #$3A + BCS L8D7E + CLV +L8D7E CLC + RTS + +L8D80 SEC + RTS + +L8D82 PHP + PHB + REP #$20 + PHA + LDA $00 + DEC + STA $62 + PLA + PEA $0003 + PEI $EE + PEI $EC + RTL + +L8D95 LDA #$0040 + STA [$28],Y + INY + PHY + TXA + CLC + LDY #$00B4 + ADC [$3C],Y + TAX + PLY + XBA + AND #$000F + CLC + ADC #$0041 + STA [$28],Y + INY + TXA + AND #$000F + CLC + ADC #$0041 + XBA + PHA + TXA + LSR + LSR + LSR + LSR + AND #$000F + CLC + ADC #$0041 + ORA $01,S + STA [$28],Y + INY + INY + PLA + RTS + +L8DCE BIT $F4 + BVS L8DD3 + RTL + +L8DD3 PEI $0A + PEI $08 + PEI $0E + PEI $0C + PEI $10 + PER L8DE0+2 +L8DE0 BRL L8FD4 + PHA + PHX +L8DE5 LDY #$01BE + LDA [$3C],Y + STA $10 + BNE L8DF6 + PER L8DF1+2 +L8DF1 BRL L8ECD + BRA L8DE5 +L8DF6 LDY #$01B4 + LDX #$0000 +L8DFC LDA [$3C],Y + STA $04,X + INX + INX + INY + INY + CPX #$0008 + BCC L8DFC + INX + STZ $0C + STZ $0E +L8E0E LDA $08 + SEC + SBC $04 + TAY + LDA $0A + SBC $06 + BCC L8E1E + STA $0A + STY $08 +L8E1E ROL $0C + ROL $0E + DEX + BEQ L8E2B + LSR $06 + ROR $04 + BRA L8E0E +L8E2B LSR $0C + LDX $10 + LDY #$01BC + LDA [$3C],Y + STA $10 + CMP #$0048 + BCC L8E3D + LSR $0C +L8E3D LDA #$0096 + SEC + SBC $0C + STA $0E + STX $0C +L8E47 LDA $0E + CMP $0C + BCS L8E8E + LDA $10 + CMP $0C + BCS L8E8E + LDA #$0238 + STA $06 + LDA #$0246 + STA $0A + LDA $10 + CMP #$0048 + BCC L8E74 + LDA $06 + SEC + SBC #$0028 + STA $06 + LDA $0A + SEC + SBC #$0028 + STA $0A +L8E74 LDA $0C + STA $08 + DEC + STA $04 + STA $0C + PEI $00 + TDC + CLC + ADC #$0004 + PHA + _PaintRect + BRA L8E47 +L8E8E LDA $0C + LDY #$01BE + STA [$3C],Y + PLX + PLA + PER L8E9A+2 +L8E9A BRL L8FEC + PLA + STA $10 + PLA + STA $0C + PLA + STA $0E + PLA + STA $08 + PLA + STA $0A + RTL + +L8EAD DB $94 + DB $00 + DB $2E + DB $02 + DB $A2 + DB $00 + DB $50 + DB $02 +L8EB5 DB $94 + DB $00 + DB $06 + DB $02 + DB $A2 + DB $00 + DB $28 + DB $02 +L8EBD DB $16 + DB $00 + DB $35 + DB $02 + DB $96 + DB $00 + DB $49 + DB $02 +L8EC5 DB $56 + DB $00 + DB $0D + DB $02 + DB $96 + DB $00 + DB $21 + DB $02 +L8ECD LDY #$000A + LDA [$3C],Y + STA $04 + BEQ L8EE2 + LDA #$0049 + STA $06 + PHK + PHK + PER L8EB5 + BRA L8EF4 +L8EE2 LDX #$0031 + LDY #$0008 + LDA [$3C],Y + BNE L8EED + INX +L8EED STX $06 + PHK + PHK + PER L8EAD +L8EF4 PEA $0014 + PEA $0140 + _FrameArc + LDA #$023B + LDX $06 + CPX #$0049 + BNE L8F0F + SEC + SBC #$0028 +L8F0F LDX #$009F + PER L8F15+2 +L8F15 BRL L8FEC + PEI $06 + _DrawChar + LDA $06 + CMP #$0049 + BNE L8F32 + PHK + PHK + PER L8EC5 + LDA #$0056 + BRA L8F53 +L8F32 LDX #$0055 + LDA #$0231 + PER L8F3B+2 +L8F3B BRL L8FEC + PEA $001C + PEA $0000 + _Line + PHK + PHK + PER L8EBD + LDA #$0016 +L8F53 LDY #$01BC + STA [$3C],Y + _FrameRect + LDA #$0096 + LDY #$01BE + STA [$3C],Y + RTS + +L8F68 BIT $F4 + BVC L8F9B + LDY #$01BE + LDA [$3C],Y + BEQ L8F9B + LDY #$0008 + LDA [$3C],Y + BEQ L8F88 + LDY #$000A + LDA [$3C],Y + BEQ L8F88 + PHK + PHK + PER L8FC4 + BRA L8F8D +L8F88 PHK + PHK + PER L8FCC +L8F8D _EraseRect + LDA $00 + LDY #$01BE + STA [$3C],Y +L8F9B RTL + +L8F9C BIT $F4 + BVC L8FC3 + PER L8FA3+1 +L8FA3 BRA L8FD4 + PHA + PHX + LDA #$023B + LDX #$009F + PER L8FB0+1 +L8FB0 BRA L8FEC + PEA $0032 + _DrawChar + PLX + PLA + PER L8FC1+1 +L8FC1 BRA L8FEC +L8FC3 RTL + +L8FC4 DB $56 + DB $00 + DB $03 + DB $02 + DB $A3 + DB $00 + DB $2B + DB $02 +L8FCC DB $16 + DB $00 + DB $2B + DB $02 + DB $A3 + DB $00 + DB $53 + DB $02 +L8FD4 LDX #$0000 + PHX + PHX + TSC + INC + PHX + PHA + _GetPen + PLX + BCS L8FE9 + PLA + RTS + +L8FE9 PLX + SEC + RTS + +L8FEC PHA + PHX + _MoveTo + RTS + +L8FF6 LDY #$0008 + PER L8FFC+1 +L8FFC BRA L9007 + LDY #$0006 + PER L9004+1 +L9004 BRA L9007 + RTS + +L9007 PHY +L9008 PLY + LDA [$E0],Y + BEQ L903D + TAY + PHA + INY + LDA [$E0],Y + AND #$3800 + BNE L9008 + TYA + CLC + ADC #$0008 + TAY + LDA [$E0],Y + BPL L9008 + DEY + LDA [$E0],Y + AND #$003C + BEQ L9033 + BIT #$0020 + BEQ L9008 + BIT #$0010 + BNE L9008 +L9033 INY + LDA [$E0],Y + AND #$7FFF + STA [$E0],Y + BRA L9008 +L903D RTS + + BRA L9097 +L9040 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0A + DB $04 + DB $01 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $2C + DB $00 + DB $40 + DB $00 + DB $20 + DB $20 + DB $00 + DB $00 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 + DB $20 +L9080 DB $F2 + DB $00 + DB $00 + DB $00 + DB $00 +L9085 NOP + CLC + XCE + REP #$38 + LDA #$0000 + PER L9093 + BRL L9093 +L9093 DB $00 + DB $00 + DB $00 + DB $00 +L9097 TSC + STA $40 + LDY #$000C + LDA [$3C],Y + BEQ L90CA + PHA + TAX + LDY #$0036 + LDA [$3C],Y + PEA $0000 + PHA + PHK + PHK + PER L9A97 + PHK + PER L90B5+2 +L90B5 BRL LAF42 + PLA + PLA + PLA + PLA + PHK + PER L90C0+2 +L90C0 BRL LA472 + LDA $00 + LDY #$000C + STA [$3C],Y +L90CA LDY #$0036 + LDA [$3C],Y + BEQ L90D4 + BRL L94F6 +L90D4 BIT $F4 + BVC L90EC + PEI $00 + TDC + CLC + ADC #$00D6 + PHA + _GetPen + LDA #$0003 + STA $D8 +L90EC PHK + PHK + PER L9AC6 + PER L90F4+2 +L90F4 BRL L99B8 + PHK + PER L90FB+2 +L90FB BRL *-L0580 + LDA #$01D4 + CLC + ADC $3C + STA $CE + LDA $00 + ADC $3E + STA $D0 + STZ $0A + LDA $CE + STA $28 + CLC + ADC #$1402 + STA $5C + LDA $D0 + STA $2A + BCC L911F + INC +L911F STA $5E + STZ $60 + STZ $0C + STZ $0E + LDA #$29D8 + CLC + ADC $3C + STA $2C + LDA $00 + ADC $3E + STA $2E + STZ $10 + STZ $12 + STZ $1C + STZ $1E + STZ $20 + PEA $0000 + PEA $0000 + LDY #$0006 + LDA [$3C],Y + PHA + LDA $00 + PHK + PER L9151+2 +L9151 BRL LA49E + PEA $0000 + PEA $0000 + LDY #$0002 + LDA [$3C],Y + PHA + LDA $00 + PHK + PER L9166+2 +L9166 BRL LA49E + LDY #$00C8 + LDA [$3C],Y + BNE L9181 + LDY #$00C6 + LDA [$3C],Y + STA $0E + LDA #$0000 + LDY #$00C6 + STA [$3C],Y + BRA L91B2 +L9181 LDY #$00C6 + LDA [$3C],Y + BEQ L919D + PEA $0000 + PHA + PEI $2E + PEI $2C + LDY #$0004 + LDA [$3C],Y + PHA + PHK + PER L919A+2 +L919A BRL LA580 +L919D PEA $0000 + PEA $0000 + LDY #$0004 + LDA [$3C],Y + PHA + LDA $00 + PHK + PER L91AF+2 +L91AF BRL LA49E +L91B2 LDA #$072D + CLC + ADC $3C + STA $44 + LDA $00 + ADC $3E + STA $46 + LDA $44 + LDY #$001C + STA [$3C],Y + LDA $46 + LDY #$001E + STA [$3C],Y + LDY #$5552 + LDX #$004E + PHK + PER L91D8+2 +L91D8 BRL *-L0319 + PEI $46 + PEI $44 + LDA #$00B3 + LDX #$0100 + PHK + PER L91E9+2 +L91E9 BRL LA354 + BCC L91F1 + BRL *-L049C +L91F1 LDY #$000E + STA [$3C],Y + LDY $28 + STY $38 + LDY $2A + STY $3A + PER L9201+2 +L9201 BRL L9510 + PHK + PHK + PER L9080 + PLY + STY $34 + PLY + STY $36 + LDA #$1372 + CLC + ADC #$0012 + CLC + LDY #$0044 + ADC [$3C],Y + LDY #$0008 + STA [$38],Y + LDY #$0041 + STA [$38],Y + CLC + ADC #$0245 + AND #$FE00 + XBA + LSR + STA [$38] + LDA #$4E49 ; IN + LDY #$0036 + STA [$38],Y + LDA #$5449 ; IT + LDY #$0038 + STA [$38],Y + LDA #$0045 + STA $0A + STA $1C + PHK + PHK + PER L9085 + PLY + STY $34 + PLY + STY $36 + LDY #$0044 + LDA [$3C],Y + INC + INC + INC + INC + LDY #$000C + STA [$34],Y + LDA #$0012 + PER L9267+2 +L9267 BRL L9886 + PER L926D+2 +L926D BRL L952D + PHK + PHK + PER L9BD0 + PLA + STA $34 + PLA + STA $36 + TDC + CLC + ADC #$0100 + PHA + LDX $00 + TXY + PHK + PER L9288+2 +L9288 BRL LAA4C + LDX #$0001 + LDY #$001A + LDA [$3C],Y + TAY + ASL + BPL L929A + LDX #$4001 +L929A TYA + BIT #$0100 + BEQ L92A5 + TXA + ORA #$0008 + TAX +L92A5 TYA + BIT #$0200 + BEQ L92B0 + TXA + ORA #$8000 + TAX +L92B0 TYA + BIT #$0080 + BEQ L92B8 + INX + INX +L92B8 STY $72 + LDY #$0088 + LDA [$3C],Y + CLC + LDY #$008A + ADC [$3C],Y + BEQ L92CC + TXA + ORA #$0004 + TAX +L92CC TXA + PHK + PER L92D1+2 +L92D1 BRL LA875 + LDA #$1372 + PER L92DA+2 +L92DA BRL L9886 + PLA + LDX $00 + TXY + DEY + PHK + PER L92E6+2 +L92E6 BRL LAA4C + PER L92EC+2 +L92EC BRL L983E + PER L92F2+2 +L92F2 BRL L95F7 +L92F5 PHK + PER L92F9+2 +L92F9 BRL *-L0580 + LDY $28 + STY $38 + LDY $2A + STY $3A + LDA $20 + ASL + ASL + ASL + ASL + TAY + CLC + ADC #$000C + TAX + INY + INY + LDA [$E4],Y + STA $24 + TXY + LDA [$E4],Y + STA $26 + PER L931E+2 +L931E BRL L9510 + LDX $20 + DEX + DEX + BNE L9334 + PHK + PHK + PER L9ADD + PER L932F+2 +L932F BRL L99B8 + BRA L935D +L9334 LDY $26 + LDA [$E0],Y + AND #$00FF + INC + CLC + STY $02 + ADC $02 + TAY + LDA [$E0],Y + PHA + PHY + LDA $00 + STA [$E0],Y + LDA $26 + INC + CLC + ADC $E0 + PEI $E2 + PHA + PER L9356+2 +L9356 BRL L99B8 + PLY + PLA + STA [$E0],Y +L935D LDA $24 + LDY #$0008 + STA [$38],Y + LDY #$0041 + STA [$38],Y + CLC + ADC #$0245 + AND #$FE00 + XBA + LSR + STA [$38] + LDA $20 + DEC + DEC + BEQ L9380 + PER L937D+2 +L937D BRL L9559 +L9380 LDA #$0045 + STA $0A + CLC + ADC $1C + STA $1C + BCC L938E + INC $1E +L938E STZ $14 + LDA #$0005 + PER L9396+2 +L9396 BRL L96AE + BCC L939E + BRL L9B18 +L939E PER L93A1+2 +L93A1 BRL L959C + BCC L93A9 + BRL L9B1D +L93A9 LDA $24 + STA $42 + PER L93B0+2 +L93B0 BRL L95E0 + LDA $20 + DEC + DEC + BNE L93F7 + LDA #$0010 + PER L93BF+2 +L93BF BRL L96AE + BCC L93C7 + BRL L9B22 +L93C7 PER L93CA+2 +L93CA BRL L959C + BCC L93D2 + BRL L9B27 +L93D2 LDY #$0088 + LDA [$3C],Y + STA $42 + PER L93DC+2 +L93DC BRL L95E0 + PER L93E2+2 +L93E2 BRL L959C + BCC L93EA + BRL L9B2C +L93EA LDY #$008A + LDA [$3C],Y + STA $42 + PER L93F4+2 +L93F4 BRL L95E0 +L93F7 LDA $20 + CMP $70 + BEQ L9430 + BCC L9402 + BRL L9B68 +L9402 LDA $24 + SEC + SBC $14 + PER L940A+2 +L940A BRL L96AE + BCC L9412 + BRL L9B31 +L9412 PER L9415+2 +L9415 BRL L983E + LDY #$0086 + LDA [$3C],Y + DEC + LDY #$0086 + STA [$3C],Y + TAX + BPL L9429 + BRL L9B36 +L9429 BEQ L942E + BRL L92F5 +L942E BRA L9479 +L9430 LDA $6E + SEC + SBC $14 + PER L9438+2 +L9438 BRL L96AE + PER L943E+2 +L943E BRL L959C + LDY $6C + LDA $66 + BEQ L946F + DEC + BEQ L946B + DEC + BEQ L9459 + DEC + BEQ L9453 + BRL L9B6D +L9453 TYA + SEC + SBC $6E + BRA L945B +L9459 LDA [$E0],Y +L945B STA $42 + PER L9460+2 +L9460 BRL L95E0 + PER L9466+2 +L9466 BRL L95F7 + BRA L93F7 +L946B LDA [$E0],Y + BRA L9471 +L946F LDA [$E4],Y +L9471 SEC + SBC $14 + CLC + ADC $42 + BRA L945B +L9479 LDY #$0088 + LDA [$3C],Y + CLC + LDY #$008A + ADC [$3C],Y + STA $24 + TAX + BEQ L94A3 + PHK + PHK + PER L9AEA + PER L9491+2 +L9491 BRL L99B8 + LDY #$0002 + LDA [$3C],Y + STA $6A + STZ $66 + PER L94A0+2 +L94A0 BRL L995D +L94A3 LDA #$0080 + BIT $72 + BEQ L94C7 + PHK + PHK + PER L9B02 + PER L94B2+2 +L94B2 BRL L99B8 + PER L99E7 + PER L94BB+2 +L94BB BRL L9918 + PER L99F3 + PER L94C4+2 +L94C4 BRL L9918 +L94C7 LDA $40 + TCS +L94CA PER L94CD+2 +L94CD BRL L990D + PHK + PHK + PER L9B16 + LDX $F4 + PHK + PER L94DB+2 +L94DB BRL LAF42 + PLA + PLA + LDY #$000E + LDA [$3C],Y + BEQ L94F6 + PHA + LDA $00 + LDY #$000E + STA [$3C],Y + PHK + PER L94F3+2 +L94F3 BRL LA472 +L94F6 LDY #$0006 + LDA [$3C],Y + BEQ L950C + PHA + LDA $00 + LDY #$0006 + STA [$3C],Y + PHK + PER L9509+2 +L9509 BRL LA472 +L950C LDA $40 + TCS + RTL + +L9510 PER L9040 + LDY $00 + LDX #$0045 + PHK + PLB +L951A LDA ($01,S),Y + STA [$38],Y + INY + INY + DEX + DEX + BMI L9526 + BNE L951A +L9526 PLX + PER L952A+1 +L952A BRA L9560 + RTS + +L952D LDY #$000A + PHY +L9531 PLY + LDA [$E0],Y + BEQ L9558 + PHA + INC + INC + INC + TAY + LDA [$E0],Y + AND #$00FF + TAX + TYA + CLC + ADC $E0 + STA $34 + LDA $00 + ADC $E2 + STA $36 + TXA + INC + INC + PER L9553+2 +L9553 BRL L9886 + BRA L9531 +L9558 RTS + +L9559 LDX #$0036 + LDY $26 + BRA L9578 +L9560 INC $20 + LDA $20 + LDY #$0022 + STA [$38],Y + LDY #$000A + LDX #$002C + LDA [$E0],Y + TAY + LDA [$E0],Y + TAY + INY + INY + INY +L9578 LDA [$E0],Y + AND #$00FF + CMP #$000A + BMI L9585 + LDA #$000A +L9585 STA $04 + INY + SEP #$20 +L958A DEC $04 + BMI L9599 + LDA [$E0],Y + PHY + TXY + STA [$38],Y + PLY + INY + INX + BRA L958A +L9599 REP #$20 + RTS + +L959C LDA $12 + BMI L95DE + SEC + SBC $10 + BPL L95A8 + BRL L9B3B +L95A8 BNE L95B2 + PER L95AD+2 +L95AD BRL L973D + BRA L959C +L95B2 LDY $10 + LDA [$30],Y + STA $42 + INY + TYA + CMP $12 + BMI L95D9 + PER L95C1+2 +L95C1 BRL L973D + LDA $12 + BMI L95DE + BEQ L95DE + INC $10 + LDA #$FF00 + TRB $42 + XBA + AND [$30] + XBA + TSB $42 + BRA L95DC +L95D9 INY + STY $10 +L95DC CLC + RTS + +L95DE SEC + RTS + +L95E0 TDC + CLC + ADC #$0042 + STA $34 + STZ $36 + LDA #$0002 + INC $14 + INC $14 + PER L95F3+2 +L95F3 BRL L9886 + RTS + +L95F7 PER L95FA+1 +L95FA BRA L9638 + BCS L9630 + STA $66 + PER L9603+1 +L9603 BRA L9638 + BCS L9635 + STA $6E + PER L960C+1 +L960C BRA L9638 + BCS L9635 + STA $6F + PER L9615+1 +L9615 BRA L9638 + BCS L9635 + INC + STA $70 + PER L961F+1 +L961F BRA L9638 + BCS L9635 + STA $6C + PER L9628+1 +L9628 BRA L9638 + BCS L9635 + XBA + TSB $6C + RTS + +L9630 STZ $70 + DEC $70 + RTS + +L9635 BRL L9B40 +L9638 LDA $0E + BMI L9658 + SEC + SBC $0C + BPL L9644 + BRL L9B45 +L9644 BNE L964D + PER L9649+1 +L9649 BRA L965A + BRA L9638 +L964D LDY $0C + LDA #$00FF + AND [$2C],Y + INC $0C + CLC + RTS + +L9658 SEC + RTS + +L965A LDA $0E + BMI L96AD + STZ $0C + LDY #$00C8 + LDA [$3C],Y + BEQ L9672 + DEC + LDY #$00C8 + STA [$3C],Y + LDX #$01FE + BRA L9685 +L9672 LDY #$00C6 + LDA [$3C],Y + BNE L967D + STZ $0E + BRA L96AB +L967D TAX + LDA $00 + LDY #$00C6 + STA [$3C],Y +L9685 PEA $0000 + STX $0E + PHX + PEI $2E + PEI $2C + LDY #$0004 + LDA [$3C],Y + PHA + PHK + PER L9699+2 +L9699 BRL LA585 + BCC L96A1 + BRL L9B4A +L96A1 CMP $0E + BEQ L96A8 + BRL L9B4A +L96A8 TAX + BNE L96AD +L96AB DEC $0E +L96AD RTS + +L96AE STA $1A + TAX + BEQ L970D + CLC + ADC $14 + STA $14 +L96B8 LDA $12 + BMI L970B + SEC + SBC $10 + BPL L96C4 + BRL L9B4F +L96C4 BNE L96CD + PER L96C9+1 +L96C9 BRA L973D + BRA L96B8 +L96CD CMP $1A + BCC L96D3 + LDA $1A +L96D3 PHA + LDA $1A + SEC + SBC $01,S + STA $1A + LDA $10 + TAX + CLC + ADC $01,S + STA $10 + TXA + CLC + ADC $30 + STA $34 + LDA $32 + STA $36 + PLA + PER L96F1+2 +L96F1 BRL L9886 + LDA $1A + BEQ L970D + STZ $10 + STZ $12 + LDY #$0006 + LDA [$3C],Y + PER L9704+1 +L9704 BRA L977F + SEC + SBC $18 + BEQ L970D +L970B SEC + RTS + +L970D CLC + RTS + +L970F PEA $0000 + PEA $1400 + PEI $5E + PEI $5C + LDY #$0006 + LDA [$3C],Y + PHA + PHK + PER L9723+2 +L9723 BRL LA585 + BCC L972B + BRL L9B54 +L972B STA $60 + TAX + BNE L9732 + DEC $60 +L9732 STZ $62 + LDY $5C + STY $30 + LDY $5E + STY $32 + RTS + +L973D LDA $12 + BMI L977C +L9741 LDA $60 + BPL L9749 + STA $12 + BRA L977C +L9749 BNE L9752 + PER L974E+1 +L974E BRA L970F + BRA L9741 +L9752 LDA $62 + STZ $62 + CLC + ADC $30 + STA $30 + BCC L975F + INC $32 +L975F LDA $60 + CMP #$0200 + BPL L976E + STZ $60 + DEC $60 + STZ $62 + BRA L9773 +L976E LDA #$0200 + STA $62 +L9773 STA $12 + LDA $60 + SEC + SBC $62 + STA $60 +L977C STZ $10 + RTS + +L977F STZ $18 + PHA +L9782 LDA #$0200 + SEC + SBC $0A + BMI L97E9 + BNE L9794 +L978C PER L978F+2 +L978F BRL L98CE + BRA L9782 +L9794 PEA $0000 + PHA + LDA $1A + SEC + SBC $18 + BEQ L97E5 + CMP $01,S + BCS L97A5 + STA $01,S +L97A5 LDA $0A + CLC + ADC $28 + TAY + LDA $00 + ADC $2A + PHA + PHY + LDA $09,S + LDY #$0006 + CMP [$3C],Y + BEQ L97EF + PHA + PHK + PER L97BF+2 +L97BF BRL LA585 + BCS L97EC +L97C4 TAX + CLC + ADC $1C + STA $1C + BCC L97CE + INC $1E +L97CE TXA + CLC + ADC $18 + STA $18 + TXA + BEQ L97E1 + CLC + ADC $0A + STA $0A + CMP #$0200 + BEQ L978C +L97E1 LDA $18 + PLX + RTS + +L97E5 PLA + PLA + BRA L97E1 +L97E9 BRL L9B59 +L97EC BRL L9B7C +L97EF PLA + STA $B4 + PLA + STA $B6 + LDX $00 +L97F7 PLY + DEY + PHY + BMI L9839 +L97FC LDA $12 + BMI L9839 + SEC + SBC $10 + BNE L9811 + PHY + PHX + PER L980A+2 +L980A BRL L973D + PLX + PLY + BRA L97FC +L9811 DEC + BEQ L9829 + DEY + BMI L9829 + PLY + DEY + PHY + LDY $10 + INC $10 + INC $10 + LDA [$30],Y + TXY + STA [$B4],Y + INX + INX + BRA L97F7 +L9829 SEP #$20 + LDY $10 + LDA [$30],Y + TXY + STA [$B4],Y + INX + REP #$20 + INC $10 + BRA L97F7 +L9839 PLA + PLA + TXA + BRA L97C4 +L983E TDC + CLC + ADC #$0042 + STA $34 + STZ $36 + STZ $42 + LDA #$0001 + PER L984F+1 +L984F BRA L9886 + LDX #$6161 + LDY $0A + BEQ L9885 + TYA + LSR + BCC L9866 + TXA + STA [$28],Y + INY + INC $1C + BNE L9866 + INC $1E +L9866 TXA +L9867 CPY #$0200 + BPL L987E + STA [$28],Y + INY + INY + INC $1C + BNE L9876 + INC $1E +L9876 INC $1C + BNE L9867 + INC $1C + BRA L9867 +L987E STY $0A + PER L9883+1 +L9883 BRA L98CE +L9885 RTS + +L9886 STA $08 + CLC + ADC $1C + STA $1C + BCC L9891 + INC $1E +L9891 LDY $0A + LDX $00 + TYA + LSR + BCC L98A3 + LDA [$34] + STA [$28],Y + INY + INX + DEC $08 + BEQ L98CB +L98A3 CPY #$0200 + BMI L98B8 + BEQ L98AD + BRL L9B5E +L98AD STY $0A + PER L98B2+1 +L98B2 BRA L98CE + LDY $0A + BRA L98A3 +L98B8 PHY + TXY + LDA [$34],Y + PLY + STA [$28],Y + INX + INX + INY + DEC $08 + BEQ L98CB + INY + DEC $08 + BNE L98A3 +L98CB STY $0A + RTS + +L98CE PHY + PHX + CLC + LDA $0A + BEQ L9908 + CLC + ADC $28 + STA $28 + BCC L98DE + INC $2A +L98DE SEC + SBC $CE + CMP #$1200 + BCC L9908 +L98E6 PEA $0000 + PHA + PEI $D0 + PEI $CE + LDY #$000E + LDA [$3C],Y + PHA + PHK + PER L98F8+2 +L98F8 BRL LA580 + BCC L9900 + BRL L9B63 +L9900 LDY $CE + STY $28 + LDY $D0 + STY $2A +L9908 STZ $0A + PLX + PLY + RTS + +L990D PHY + PHX + LDA $28 + SEC + SBC $CE + BEQ L9908 + BRA L98E6 +L9918 PLX + PLA + PHX + STA $24 + PHK + PHK + PLA + STA $26 + PHK + PER L9926+2 +L9926 BRL LA005 + BCS L9956 + STA $6A + PHA + PHK + PER L9932+2 +L9932 BRL LA537 + BCS L994D + STA $24 + LDA #$0080 + STA $66 + PER L9941+1 +L9941 BRA L995D + PEI $6A + PHK + PER L9949+2 +L9949 BRL LA472 + RTS + +L994D PEI $6A + PHK + PER L9953+2 +L9953 BRL LA472 +L9956 PLA + PER L99FF + BRL L9B8D +L995D LDY $28 + STY $38 + LDY $2A + STY $3A + PER L9968+2 +L9968 BRL L9510 + LDA $66 + LDY #$000C + ORA [$38],Y + LDY #$000C + STA [$38],Y + LDA $24 + LDY #$0008 + STA [$38],Y + LDY #$0041 + STA [$38],Y + CLC + ADC #$0244 + AND #$FE00 + XBA + LSR + STA [$38] + LDA #$0045 + STA $0A + CLC + ADC $1C + STA $1C + BCC L999C + INC $1E +L999C LDA $24 + STA $1A + LDA $6A + PER L99A5+2 +L99A5 BRL L977F + SEC + SBC $1A + BEQ L99B1 + PLA + BRL L9B72 +L99B1 PER L99B4+2 +L99B4 BRL L983E + RTS + +L99B8 PLX + PLY + PLA + PHX + PHA + PHY + BIT $F4 + BVS L99C9 + PHK + PHK + PER L9ABA + BRA L99D9 +L99C9 PHK + PHK + PER L9AAD + PEI $D8 + PEI $D6 + _MoveTo +L99D9 LDX $F4 + PHK + PER L99DF+2 +L99DF BRL LAF42 + PLA + PLA + PLA + PLA + RTS + +L99E7 STR '0/BASIC.1L' + DB $00 +L99F3 STR '0/BASIC.2L' + DB $00 +L99FF ASC 'Could not load Library files.'0D00 +L9A1E ASC 'Volume full writing final file.'0D00 +L9A3F ASC 'Prodos error %x writing final file.'0D00 + ASC 'Compilation completed. File %s, length ' + ASC '%d blocks.'0D00 +L9A97 ASC 0D + ASC '***** %d error(s).'0D00 +L9AAD ASC 'Writing'1A + ASC ' %s.'00 +L9ABA ASC 'Writing %s'0D00 +L9AC6 ASC 'Initialization Segment'00 +L9ADD ASC 'Main Program'00 +L9AEA ASC 'String and Data Segment'00 +L9B02 ASC 'Run Time Libraries.'00 +L9B16 ASC 0D00 +L9B18 PEA $0001 + BRA L9B7F +L9B1D PEA $0002 + BRA L9B7F +L9B22 PEA $0003 + BRA L9B7F +L9B27 PEA $0004 + BRA L9B7F +L9B2C PEA $0005 + BRA L9B7F +L9B31 PEA $0006 + BRA L9B7F +L9B36 PEA $0007 + BRA L9B7F +L9B3B PEA $0008 + BRA L9B7F +L9B40 PEA $0009 + BRA L9B7F +L9B45 PEA $000A + BRA L9B7F +L9B4A PEA $000B + BRA L9B7F +L9B4F PEA $000C + BRA L9B7F +L9B54 PEA $000D + BRA L9B7F +L9B59 PEA $000E + BRA L9B7F +L9B5E PEA $000F + BRA L9B7F +L9B63 PEA $0010 + BRA L9B7F +L9B68 PEA $0011 + BRA L9B7F +L9B6D PEA $0012 + BRA L9B7F +L9B72 PEA $0013 + BRA L9B7F + PEA $0015 + BRA L9B7F +L9B7C PEA $0016 +L9B7F CMP #$0048 + BNE L9B89 + PER L9A1E + BRA L9B8D +L9B89 PHA + PER L9A3F +L9B8D PLA + PHK + PHK + PHA + LDX $F4 + PHK + PER L9B97+2 +L9B97 BRL LAF42 + PEA $0000 + PEA $0000 + _ReadChar + PLA + BRL LA3FA + LDA $40 + TCS + LDA #$0004 + TRB $72 + LDY #$000E + LDA [$3C],Y + BEQ L9BCC + PEA $0000 + PEA $0000 + PHA + PHK + PER L9BC8-1 + BRL LA487 +L9BC8 LDA $CE + STA $28 +L9BCC BRL L94CA + DB $00 +L9BD0 PER L9BD6-1 + BRL L9F37 +L9BD6 STZ $00 + PHA + LDA $01,S + BPL L9C15 + PHK + PER L9BE4-1 + BRL LA89B +L9BE4 AND #$8000 + PHA + LDX $00 + TDC + CLC + ADC #$0100 + TXY + DEY + PHK + PER L9BF5+2 +L9BF5 BRL LAA4C + PHK + PER L9BFC+2 +L9BFC BRL LA89B + TAX + AND #$8000 + CMP $01,S + BNE L9C0B + PLA + BRL L9CA0 +L9C0B PLA + PHK + PER L9C10+2 +L9C10 BRL LACE1 + BRA L9C75 + MX %00 +L9C15 TDC + PHA + LDA #$1B00 + LDX $00 + LDY $00 + PHK + PER L9C22+2 +L9C22 BRL LA622 + BCC L9C2A + BRL L9F59 +L9C2A PHA + PEA $0000 + PLB + PLB + LDY #$0000 + TYA + LDX #$0D80 +L9C37 STA ($01,S),Y + INY + INY + DEX + BEQ L9C40 + BPL L9C37 +L9C40 PLA + PLY + TCD + STZ $00 + STY $FC + PLX + STX $26 + PLA + STA $28 + LDA $26 + BEQ L9C59 + PLA + STA $1C + PHK + PLA + XBA + STA $1E +L9C59 TSC + STA $FE + TDC + CLC + ADC #$0F7E + TCS + PEA $0000 + PEA $0000 + TSC + STA $94 + PEI $28 + PEI $26 + LDA $26 + LSR + LSR + BCS L9CA0 +L9C75 PHK + PER L9C79+2 +L9C79 BRL LAA83 + BCC L9C81 + BRL L9F65 +L9C81 PHK + PER L9C85+2 +L9C85 BRL LA89B + LDY #$0100 + BIT #$0008 + BEQ L9C93 + LDY #$0500 +L9C93 ASL + TAX + TYA + TXY + BPL L9C9C + ORA #$0200 +L9C9C ORA $01,S + STA $01,S +L9CA0 PER L9CA3+2 +L9CA3 BRL LA008 + PHK + PER L9CAA+2 +L9CAA BRL LA8A5 + STA $BC + STZ $BA + PLA + XBA + STA $EC + BIT $EB + BPL L9CC6 + PEA $0000 + _MMStartUp + PLX + STX $BA +L9CC6 PHK + PLB + LDY #$0000 + TDC + STA ($01,S),Y + INY + INY + TSC + INC + INC + STA ($01,S),Y + PLA + STA $6C + PHK + PHK + PER LA1C7 + PLA + STA $F0 + PLA + STA $F2 + STA $6E + STA $26 + BIT $EB + BPL L9CEE + BRL L9DE3 +L9CEE LDA $ED + LSR + BCS L9D5D + PHK + PER L9CF7+2 +L9CF7 BRL LA89B + LSR + LSR + BCC L9D5D + STZ $B4 + LSR + BCC L9D05 + INC $B4 +L9D05 LDX #$0002 + PER L9D0B+2 +L9D0B BRL LA19D + BCC L9D13 + BRL L9F59 +L9D13 LDY #$0003 + LDA [$34],Y + INC + INC + CLC + ADC $B4 + STA $A4 + AND #$FF00 + BEQ L9D27 + BRL L9F5F +L9D27 PER L9D2A+1 +L9D2A BRA L9D3E + STA $F8 + STX $FA + INC $A4 + PER L9D35+1 +L9D35 BRA L9D3E + STA $F4 + STX $F6 + BRL L9DCB +L9D3E PEA $0000 + PEA $0000 + PEI $BC + PEA $0001 + PEI $A4 + _LoadSegNum + PLA + PLX + BCS L9D57 + RTS + +L9D57 PER LA0A8 + BRL LA160 +L9D5D PER L9FDB + PLY + STY $24 + PER L9D66+2 +L9D66 BRL LA05F + LDY $28 + STY $F8 + LDY $2A + STY $FA + PER L9FE7 + PLX + LDA $ED + LSR + BCC L9DBB + PER L9FCF + PLX + STX $24 + PER L9D83+2 +L9D83 BRL LA05F + LDY $28 + STY $EC + LDY $2A + STY $EE + PHK + PHK + PER LA001 + PLY + STY $28 + PLY + STY $2A + LDY #$0001 + LDA [$24],Y + STA [$28],Y + PEI $2A + PEI $28 + PEA $0007 + PHK + PER L9DAB+2 +L9DAB BRL LA57B + PEI $1D + PLB + PEI $1C + TDC + CLC + ADC #$0F7E + STA $A2 + RTL + +L9DBB STX $24 + PER L9DC0+2 +L9DC0 BRL LA05F + LDY $28 + STY $F4 + LDY $2A + STY $F6 +L9DCB LDX #$1700 + PHK + PER L9DD6 + PEI $FA + PEI $F8 +L9DD6 RTL + + LDX #$0E00 + PHK + PER L9DE2 + PEI $F6 + PEI $F4 +L9DE2 RTL + +L9DE3 LDX #$0002 + PER L9DE9+2 +L9DE9 BRL LA19D + BCC L9DF1 + BRL L9F59 +L9DF1 LDY $34 + STY $B6 + LDY $36 + STY $B8 + LDY #$0003 + LDA [$34],Y + STA $A4 + AND #$FF00 + BEQ L9E08 + BRL L9F5F +L9E08 LDA $AA + STA $14 + LDA $AC + STA $16 + LDA $BA + BNE L9E18 + STZ $14 + STZ $16 +L9E18 INY + INY + INY + INY + LDA [$34],Y + STA $AE + INY + INY + LDA [$34],Y + STA $B0 + LDY #$0013 + LDA [$34],Y + STA $AA + INY + INY + LDA [$34],Y + STA $AC + INY + INY + LDA [$34],Y + STA $B2 + INY + INY + LDA [$34],Y + STA $B4 + CLC + ADC $B2 + BEQ L9E68 + LDX $A4 + INX + INX + PER L9E4B+2 +L9E4B BRL LA19D + BCC L9E53 + BRL L9F5F +L9E53 LDY $34 + STY $80 + LDY $36 + STY $82 + LDA $34 + CLC + ADC $B2 + STA $84 + LDA $00 + ADC $36 + STA $86 +L9E68 LDX $00 + LDA $AC + LDY #$8054 + PHK + PER L9E73+2 +L9E73 BRL L9F6B + BCC L9E7B + BRL L9F59 +L9E7B LDA $16 + CLC + ADC $54 + STA $24 + LDA $56 + BCC L9E87 + INC +L9E87 STA $26 + LDA $AC + SEC + SBC $16 + BCC L9E96 + PER L9E93+2 +L9E93 BRL L9F7A +L9E96 LDX $00 + LDA $AA + LDY #$8050 + PHK + PER L9EA1+2 +L9EA1 BRL L9F6B + BCC L9EA9 + BRL L9F59 +L9EA9 LDA $14 + CLC + ADC $50 + STA $24 + LDA $52 + BCC L9EB5 + INC +L9EB5 STA $26 + LDA $AA + SEC + SBC $16 + BCC L9EC4 + PER L9EC1+2 +L9EC1 BRL L9F7A +L9EC4 LDX $00 + LDA $B0 + LDY #$805C + PER L9ECE+2 +L9ECE BRL L9F6B + BCC L9ED6 + BRL L9F59 +L9ED6 LDY $5C + STY $24 + LDY $5E + STY $26 + LDA $B0 + PER L9EE3+2 +L9EE3 BRL L9F7A + LDX $00 + LDA $AE + LDY #$8058 + PER L9EF0+1 +L9EF0 BRA L9F6B + BCS L9F59 + LDY $58 + STY $24 + LDY $5A + STY $26 + LDA $AE + PER L9F01+1 +L9F01 BRA L9F7A + LDX $BA + BNE L9F2A + PEA $0000 + PEA $0000 + _MaxBlock + PLY + PLA + LSR + TAX + TYA + ROR + STX $A8 + STA $A6 + LDY #$803C + PHK + PER L9F25+2 +L9F25 BRL LA622 + BCS L9F59 +L9F2A LDA $94 + TCS + PHK + PER L9F56+2 + PEI $F6 + PEI $F4 + BRA L9F38 +L9F37 RTS + +L9F38 LDA $F4 + CLC + ADC #$6D60 + BCS L9F4C + LDA $F8 + CLC + ADC #$61A8 + BCS L9F4C + LDX #$0B00 + RTL + +L9F4C PHK + PER L9F50+2 +L9F50 BRL LACE1 + PER LA0CC +L9F56 BRL LA160 +L9F59 PER LA0F0 + BRL LA160 +L9F5F PER LA10D + BRL LA160 +L9F65 PER LA142 + BRL LA160 +L9F6B PHA + PLA + BNE L9F72 + LDA #$0100 +L9F72 PHK + PER L9F76+2 +L9F76 BRL LA622 + RTS + +L9F7A TAX + BEQ L9F9D + LDY #$0000 + LSR + BCC L9F92 + TYA + DEX + BNE L9F8F + SEP #$20 + STA [$24] + REP #$20 + BRA L9F9D +L9F8F STA [$24],Y + INY +L9F92 LDA #$0000 +L9F95 STA [$24],Y + INY + INY + DEX + DEX + BNE L9F95 +L9F9D RTS + +L9F9E STR '4/BASIC.OVERLAYS/' + DB $00 +L9FB1 STR '*/SYSTEM/' + DB $00 +L9FBC STR '1/BASIC.OVERLAYS/' + DB $00 +L9FCF STR '0/BASIC.0L' + DB $00 +L9FDB STR '0/BASIC.1L' + DB $00 +L9FE7 STR '0/BASIC.2L' + DB $00 +L9FF3 ASC '0/' + ASC '1/' + ASC '3/' + ASC '4/' + ASC '5/' + ASC '*/' + DB $00 + DB $00 +LA001 STR '0/' + DB $00 +LA005 PER LA036 +LA008 PHK + PHK + PER L9FBC + PEA $0003 + PHK + PER LA014+2 +LA014 BRL LA57B + PHK + PHK + PER L9FB1 + PEA $0004 + PHK + PER LA023+2 +LA023 BRL LA57B + PHK + PHK + PER L9F9E + PEA $0005 + PHK + PER LA032+2 +LA032 BRL LA57B + RTS + +LA036 NOP +LA037 LDY #$0000 +LA03A PER L9FF3 + PHK + PLB + LDA ($01,S),Y + BEQ LA05C + PLX + PHY + LDY #$0001 + STA [$24],Y + PEI $26 + PEI $24 + PHK + PER LA052+2 +LA052 BRL LA2FC + PLY + BCC LA05E + INY + INY + BRA LA03A +LA05C PLX + SEC +LA05E RTL + +LA05F PHK + PER LA063+1 +LA063 BRA LA037 + STA $04 + BCC LA06F +LA069 PER LA0A8 + BRL LA160 +LA06F PHA + PHK + PER LA074+2 +LA074 BRL LA537 + BCS LA069 + PHX + PHA + LDY #$4000 + PHK + PER LA082+2 +LA082 BRL LA622 + BCC LA08D + PER LA0F0 + BRL LA160 +LA08D STA $28 + STX $2A + PHX + PHA + PEI $04 + PHK + PER LA099+2 +LA099 BRL LA585 + BCS LA069 + PEI $04 + PHK + PER LA0A4+2 +LA0A4 BRL LA472 + RTS + +LA0A8 ASC 'Failing read of run-time libraries.'00 +LA0CC ASC 'Run-time lib crosses bank boundary.'00 +LA0F0 ASC 'Not enough memory available.'00 +LA10D ASC 'Chained file has wrong format.'00 +LA12C ASC 'Type any key to exit.'00 +LA142 ASC 'Failing load of system tools.'00 +LA160 LDA #$0014 + TAY +LA164 PLX + PHA + PHK + PHK + PHX + PER LA16C+1 +LA16C BRA LA193 + _DrawCString + PLA + TAY + CMP #$0014 + BNE LA182 + ASL + PER LA12C + BRA LA164 +LA182 PEA $0000 + PEA $0000 + _ReadChar + PLA + BRL LA3FA +LA193 PHY + PHA + _MoveTo + RTS + +LA19D LDA $BA + BNE LA1A3 + LDA $BC +LA1A3 PHA + PEA $0001 + PHX + PEI $00 + TDC + CLC + ADC #$0032 + PHA + _GetLoadSegInfo + BCS LA1C6 + LDY #$0002 + LDA [$34] + TAX + LDA [$34],Y + STA $36 + TXA + STA $34 +LA1C6 RTS + +LA1C7 PHB + PLB + PHA + PER LA1D4 + PLA + CLC + ADC $03,S + STA $03,S + PLA +LA1D4 RTS + + BRL LA2FC + BRL LA354 + BRL LA455 + BRL LA472 + BRL LA487 + BRL LA49E + BRL LA580 + BRL LA585 + BRL LA622 + BRL LA8A5 + BRL LAF44 + BRL LAF42 + BRL LA3FA + BRL LA3F0 + BRL LA537 + BRL LA8B6 + BRL LAA4C + BRL LA23B + BRL LA9CF + BRL LA98C + BRL LA966 + BRL LAA83 + BRL LACE1 + BRL LB6E0 + BRL LA8A0 + BRL LB803 + BRL LA875 + BRL LA89B + BRL LA850 + BRL LADE3 + BRL LA565 + BRL LA57B + BRL LAA7E + BRL LAC38 +LA23B PHP + REP #$20 + PHY + PHX + PHA + PHB + LDA $0A,S + PHA + LDA $02,S + LDX #$3D42 + PER LA24D+1 +LA24D BRA LA2B0 + PLA + LDA $09,S + LDX #$3D50 + PER LA258+1 +LA258 BRA LA2B0 + TDC + LDX #$3D44 + PER LA261+1 +LA261 BRA LA2B0 + TSC + CLC + ADC #$000B + LDX #$3D53 + PER LA26E+1 +LA26E BRA LA2B0 + LDA $06,S + LDX #$3D59 + PER LA278+1 +LA278 BRA LA2B0 + LDA $04,S + LDX #$3D58 + PER LA282+1 +LA282 BRA LA2B0 + LDA $02,S + LDX #$3D41 + PER LA28C+1 +LA28C BRA LA2B0 + LDA #$0A0D + PER LA294+1 +LA294 BRA LA2A2 + XBA + PER LA29A+1 +LA29A BRA LA2A2 + PLB + PLA + PLX + PLY + PLP + RTL + +LA2A2 PHA + AND #$007F + PHA + _WriteChar + PLA + RTS + +LA2B0 PHA + TXA + PER LA2B5+1 +LA2B5 BRA LA2A2 + XBA + PER LA2BB+1 +LA2BB BRA LA2A2 + LDA $01,S + XBA + LSR + LSR + LSR + LSR + PER LA2C7+1 +LA2C7 BRA LA2E9 + LDA $01,S + XBA + PER LA2CF+1 +LA2CF BRA LA2E9 + LDA $01,S + LSR + LSR + LSR + LSR + PER LA2DA+1 +LA2DA BRA LA2E9 + LDA $01,S + PER LA2E1+1 +LA2E1 BRA LA2E9 + PLA + LDA #$0020 + BRA LA2A2 +LA2E9 AND #$000F + CMP #$000A + BPL LA2F6 + ORA #$0030 + BRA LA2FA +LA2F6 CLC + ADC #$0037 +LA2FA BRA LA2A2 +LA2FC LDA $06,S + AND #$00FF + STA $06,S + LDY #$0000 + PHY + PLB + PHK + PHK + PLB + PER LA34A + PER LA338 + LDA $03,S + STA ($01,S),Y + INY + INY + LDA $05,S + STA ($01,S),Y + PLA + LDA $08,S + STA ($01,S),Y + INY + INY + LDA $0A,S + STA ($01,S),Y + LDA $06,S + STA $0A,S + LDA $04,S + STA $08,S + PLA + PLA + PLA + PLA + JSL GSOS + DW $0010 +LA338 ADRL $00000000 + BCS LA349 + PER LA34A + PHK + PLB + LDY #$0000 + LDA ($01,S),Y + PLY +LA349 RTL + +LA34A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LA354 TAY + LDA $06,S + AND #$00FF + STA $06,S + TYA + LDY #$0002 + PHY + PLB + PHK + PHK + PLB + PER LA3DE + PHA + PER LA3D9 + LDA $07,S + STA ($01,S),Y + DEY + DEY + LDA $05,S + STA ($01,S),Y + PLA + LDA $0A,S + STA ($03,S),Y + INY + INY + LDA $0C,S + AND #$00FF + STA ($03,S),Y + INY + INY + INY + INY + PLA + STA ($01,S),Y + INY + INY + TXA + STA ($01,S),Y + PLA + PLA + LDA #$0001 + PER LA398+1 +LA398 BRA LA3C9 + BCS LA39F + BRL LA2FC +LA39F CMP #$0047 + SEC + BNE LA3BC + LDA #$0002 + PER LA3AB+1 +LA3AB BRA LA3C9 + BCS LA3BC + LDA #$0001 + PER LA3B5+1 +LA3B5 BRA LA3C9 + BCS LA3BC + BRL LA2FC +LA3BC TAX + LDA $01,S + STA $05,S + LDA $02,S + STA $06,S + PLA + PLA + TXA + RTL + +LA3C9 PHK + PLB + PER LA3D7 + LDY $00 + STA ($01,S),Y + PLA + JSL GSOS +LA3D7 DW $0001 +LA3D9 ADRL $00000000 + RTS + +LA3DE DB $00 + DB $00 + DB $00 + DB $00 + DB $C3 + DB $00 + DB $B0 + DB $00 + DB $03 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LA3F0 STA $08 + TXA + AND #$00FF + STA $0A + BRA LA3FE +LA3FA STZ $08 + STZ $0A +LA3FE PHK + PER LA402+2 +LA402 BRL LACE1 + PEA $0000 + _MMStartUp + PLA + PEA $0000 + PHA + PEA $0000 + PHA + PHA + PER LA41F-1 + BRL LA942 +LA41F _DisposeAll + _MMShutDown + _UserShutDown + PLA + _TLShutDown + LDA #$0000 + PHA + PHA + PEA $0000 + PEI $0A + PEI $08 + PHK + PHA + LDA #$0029 + PER LA453-1 + BRL LA5CB +LA453 BRK $F0 +LA455 LDA $06,S + AND #$00FF + STA $06,S + LDA #$0002 + PER LA465-1 +LA465 BRL LA5CB + TAY + LDA $02,S + STA $06,S + LDA $01,S + STA $05,S + PLA + PLA + TYA + RTL + +LA472 LDA #$0014 + PER LA47B-1 + BRL LA5CB +LA47B TAY + LDA $02,S + STA $04,S + LDA $01,S + STA $03,S + PLA + TYA + RTL + +LA487 LDA #$0018 + PER LA490-1 + BRL LA5CB +LA490 TAY + LDA $02,S + STA $08,S + LDA $01,S + STA $07,S + PLA + PLA + PLA + TYA + RTL + +LA49E TAX + BMI LA500 + DEC + BEQ LA4B1 + BPL LA4DF + LDA #$0016 + PER LA4AC+2 +LA4AC BRL LA5CB + BRA LA4EA +LA4B1 LDA #$0017 + PER LA4B7+2 +LA4B7 BRL LA5CB + BCS LA4EA +LA4BC PER LA616 + PHK + PLB + LDY #$0000 + LDA ($01,S),Y + CLC + ADC $08,S + STA $08,S + INY + INY + LDA ($01,S),Y + ADC $0A,S + STA $0A,S + PLA + LDA #$0016 + PER LA4DA+2 +LA4DA BRL LA5CB + BRA LA4EA +LA4DF LDA #$0019 + PER LA4E5+2 +LA4E5 BRL LA5CB + BCC LA4BC +LA4EA BCS LA4F2 + PER LA4EF+1 +LA4EF BRA LA554 + CLC +LA4F2 TAY + LDA $02,S + STA $08,S + LDA $01,S + STA $07,S + PLA + PLA + PLA + TYA + RTL + +LA500 LDA #$0017 + PER LA506+2 +LA506 BRL LA5CB + BCS LA4F2 + PER LA50E+1 +LA50E BRA LA554 + STA $06,S + TXA + STA $08,S + LDA #$0019 + PER LA51B+2 +LA51B BRL LA5CB + BCS LA4F2 + PER LA523+1 +LA523 BRA LA554 + LDY #$0000 + SEC + SBC $06,S + BNE LA533 + TXA + SBC $08,S + BNE LA533 + DEY +LA533 TYA + CLC + BRA LA4F2 +LA537 LDA #$0019 + PER LA53D+2 +LA53D BRL LA5CB + TAY + LDA $02,S + STA $04,S + LDA $01,S + STA $03,S + PLA + TYA + BCC LA54E + RTL + +LA54E PER LA551+1 +LA551 BRA LA554 + RTL + +LA554 PER LA616 + PHK + PLB + LDY #$0002 + LDA ($01,S),Y + TAX + DEY + DEY + LDA ($01,S),Y + PLY + RTS + +LA565 LDA #$000A +LA568 PER LA56B+1 +LA56B BRA LA5CB + TAY + LDA $02,S + STA $08,S + LDA $01,S + STA $07,S + TYA + PLY + PLY + PLY + RTL + +LA57B LDA #$0009 + BRA LA568 +LA580 LDX #$0013 + BRA LA588 +LA585 LDX #$0012 +LA588 LDA $08,S + AND #$00FF + STA $08,S + TXA + PER LA593+1 +LA593 BRA LA5CB + TAX + LDA $02,S + STA $0C,S + LDA $01,S + STA $0B,S + BCS LA5B8 + TSC + CLC + ADC #$000A + TCS + LDY #$0002 + PER LA61E + PHK + PLB + LDA ($01,S),Y + TAX + DEY + DEY + LDA ($01,S),Y + PLY + CLC + RTL + +LA5B8 TSC + CLC + ADC #$000A + TCS + TXA + CMP #$004C + SEC + BNE LA5CA + CLC + LDA #$0000 + TAX +LA5CA RTL + +LA5CB LDY #$0000 + PHY + PLB + PHK + PHK + PLB + PER LA614 + PER LA60D + STA ($01,S),Y + INY + INY + LDA $03,S + STA ($01,S),Y + INY + INY + LDA $05,S + STA ($01,S),Y + PLA + LDY #$0000 + LDA $0A,S + STA ($01,S),Y + INY + INY + LDA $0C,S + STA ($01,S),Y + INY + INY + LDA $0E,S + STA ($01,S),Y + INY + INY + LDA $10,S + STA ($01,S),Y + INY + INY + LDA $12,S + STA ($01,S),Y + PLA + PLA + JSL GSOS +LA60D DW $0000 + ADRL $00000000 + RTS + +LA614 DB $00 + DB $00 +LA616 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LA61E DB $00 + DB $00 + DB $00 + DB $00 +LA622 PEI $04 + PHA + TSC + STA $04 + TYA + AND #$00FF + BEQ LA66B + PHX + PHY + PER LA633+2 +LA633 BRL LA909 + BCS LA669 + PHY + PER LA63C+2 +LA63C BRL LA7D6 + PLY + INY + INY + PLA + PLX + PLA + PHX + PHA + PER LA794 + PHK + PLB + LDA ($01,S),Y + TAX + INY + INY + LDA ($01,S),Y + PLY + PHA + PHX + _SetHandleSize + PHP + PHA + PER LA662+2 +LA662 BRL LA7DF + PLX + PLP + BRA LA6B0 +LA669 PLY + PLX +LA66B PLA + PEA $0000 + PEA $0000 + PHX + PHA + TYA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PER LA794 + PHK + PLB + LDY #$0000 + STA ($01,S),Y + INY + INY + LDA ($01,S),Y + BNE LA6B9 + _TLStartUp + PEA $0000 + _MMStartUp + TAX + PLA + BCS LA6AF + LDY #$0004 + PHK + PLB + STA ($01,S),Y + BRA LA6C7 +LA6AF SEC +LA6B0 LDA $04 + TCS + PLA + PLA + STA $04 + TXA + RTL + +LA6B9 CMP #$003C + BMI LA6C3 + LDX #$0201 + BRA LA6AF +LA6C3 INY + INY + LDA ($01,S),Y +LA6C7 STA $09,S + LDY #$0000 + LDA ($01,S),Y + LDX #$C000 + AND #$00FF + BEQ LA6D9 + LDX #$8000 +LA6D9 LDA ($01,S),Y + BMI LA6E6 + ASL + BMI LA6E9 + TXA + ORA #$0005 + BRA LA6ED +LA6E6 TXA + BRA LA6ED +LA6E9 TXA + ORA #$0010 +LA6ED STA $07,S + LDY #$0002 + TAX + LDA #$0006 + CLC + ADC ($01,S),Y + TAY + TXA + AND #$FF00 + STA ($01,S),Y + TYX + LDY #$0000 + LDA ($01,S),Y + AND #$00FF + TXY + ORA ($01,S),Y + STA ($01,S),Y + PLA + PER LA712+2 +LA712 BRL LA7D6 + LDY #$AAA0 + LDA $05,S + TAX + _NewHandle + PHP + PHA + PER LA727+2 +LA727 BRL LA7DF + PLX + PLP + PER LA794 + BCC LA734 + BRL LA6AF +LA734 PHK + PLB + LDA #$0006 + LDY #$0002 + CLC + ADC ($01,S),Y + TAX + LDA #$0006 + CLC + ADC ($01,S),Y + STA ($01,S),Y + TXY + INY + INY + LDA $03,S + STA ($01,S),Y + INY + INY + LDA $05,S + STA ($01,S),Y + XBA + STA $01,S + PLB + PLB + LDY #$0002 + LDA ($01,S),Y + STA $03,S + DEY + DEY + LDA ($01,S),Y + STA $01,S + PER LA794 + PHK + PLB + LDA #$00FF + AND ($01,S),Y + BEQ LA77F + TAX + LDA $03,S + STA $00,X + LDA $05,S + AND #$00FF + STA $02,X +LA77F PLA + LDA $03,S + LDA $01,S + PLA + PLX + PLY + STY $04 + RTL + +LA78A DB $00 + DB $00 + DB $00 + DB $00 +LA78E DB $00 + DB $00 +LA790 DB $00 + DB $00 + DB $00 + DB $00 +LA794 DB $00 + DB $00 + DB $00 + DB $00 +LA798 DB $00 + DB $00 +LA79A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LA7D6 LDX #$2202 + PER LA7DC+1 +LA7DC BRA LA7F0 + RTS + +LA7DF LDX #$2002 + PER LA7E5+1 +LA7E5 BRA LA7F0 + LDX #$0000 + PER LA7ED+1 +LA7ED BRA LA7F0 + RTS + +LA7F0 PHX + PER LA794 + PHK + PLB + LDY #$0002 + LDA ($01,S),Y + PER LA79A + TAY +LA7FF DEY + DEY + BMI LA828 + LDA ($01,S),Y + PHA + DEY + DEY + LDA ($03,S),Y + PHA + DEY + DEY + LDA ($05,S),Y + TAX + ASL + BMI LA824 + TYA + STA $07,S + LDA $09,S + BEQ LA82C + TAX + JSL $E10000 + LDA $03,S + TAY + BRA LA7FF +LA824 PLA + PLA + BRA LA7FF +LA828 PLA + PLA + PLA + RTS + +LA82C TXA + AND #$00FF + BEQ LA824 + TAX + LDA $03,S + XBA + PHA + PLB + PLB + LDY #$0000 + LDA ($01,S),Y + STA $00,X + INY + INY + LDA ($01,S),Y + AND #$00FF + STA $02,X + PHK + PLB + LDA $07,S + TAY + BRA LA824 +LA850 PER LA78E + PEA $0000 + _GetMasterSCB + PHK + PLB + LDY #$0000 + PLX + BEQ LA86C + LDA #$7FFF + AND ($01,S),Y + BRA LA871 +LA86C LDA #$8000 + ORA ($01,S),Y +LA871 STA ($01,S),Y + PLY + RTL + +LA875 PER LA78E + PHK + PLB + LDY #$0000 + STA ($01,S),Y + PLY + RTL + +LA881 PHY + PHA + PER LA78E + PHK + PLB + LDY #$0000 + CLV + LDA ($01,S),Y + LSR + BCC LA893 + SEP #$40 +LA893 ASL + ASL + STA $05,S + PLY + PLA + PLY + RTS + +LA89B PER LA78E + BRA LA8A8 +LA8A0 PER LA790 + BRA LA8A8 +LA8A5 PER LA798 +LA8A8 LDY #$0002 + PHK + PLB + LDA ($01,S),Y + TAX + DEY + DEY + LDA ($01,S),Y + PLY + RTL + +LA8B6 PER LA8B9+1 +LA8B9 BRA LA909 + BCC LA8BE + RTL + +LA8BE PHA + PER LA794 + PHK + PLB + INY + INY + LDA ($01,S),Y + PHX + TAX + INY + INY + LDA ($03,S),Y + PHY + PHA + PHX + _DisposeHandle + PLY + PLX + PER LA78E + INY + INY +LA8DF DEX + DEX + DEX + BEQ LA8FA + BMI LA8FA + LDA ($03,S),Y + STA ($01,S),Y + INY + INY + LDA ($03,S),Y + STA ($01,S),Y + INY + INY + LDA ($03,S),Y + STA ($01,S),Y + INY + INY + BRA LA8DF +LA8FA PLY + LDY #$0002 + LDA ($01,S),Y + SEC + SBC #$0006 + STA ($01,S),Y + PLY + PLY + RTL + +LA909 PHA + PER LA794 + PHK + PLB + LDY #$0002 + LDA ($01,S),Y + BEQ LA93F + BMI LA93F + CMP #$003D + BPL LA93F + LSR + TAX + INY + INY + INY + INY +LA923 LDA ($01,S),Y + AND #$00FF + CMP $03,S + BEQ LA93B + INY + INY + INY + INY + INY + INY + DEX + DEX + DEX + BEQ LA93F + BMI LA93F + BRA LA923 +LA93B CLC +LA93C PLA + PLA + RTS + +LA93F SEC + BRA LA93C +LA942 PER LA794 + PHK + PLB + LDY #$0004 + CMP ($01,S),Y + BEQ LA964 + LDA ($01,S),Y + STA $01,S + BEQ LA964 + PHA + PHA + _DisposeAll + _MMShutDown +LA964 PLA + RTS + +LA966 LDA $06,S + AND #$00FF + STA $06,S + LDA $0A,S + AND #$00FF + STA $0A,S + LDA #$0004 + PER LA97A+2 +LA97A BRL LA5CB + TAX + LDA $02,S + STA $0A,S + LDA $01,S + STA $09,S + PLA + PLA + PLA + PLA + TXA + RTL + +LA98C LDA $06,S + PHA + LDA $06,S + PHA + LDA $06,S + STA $0A,S + LDA $05,S + STA $09,S + TXA + STA $07,S + TYA + STA $05,S + PHK + PER LA9A4+1 +LA9A4 BRA LA9CF + PLY + PLX + BCS LA9CE + PER LAA32 + PHK + PLB + TYA + INY + BEQ LA9B8 + LDY #$0008 + STA ($01,S),Y +LA9B8 LDY #$0006 + TXA + INX + BEQ LA9C1 + STA ($01,S),Y +LA9C1 PLA + PER LAA2B + LDA #$0005 + PER LA9CB+1 +LA9CB BRA LAA22 + PLX +LA9CE RTL + +LA9CF PER LAA32 + PHK + PLB + LDY #$0000 + LDA $06,S + STA ($01,S),Y + LDA $08,S + AND #$00FF + INY + INY + STA ($01,S),Y + PLA + PER LAA2B + LDY #$0002 + STA ($01,S),Y + INY + INY + PHK + PHK + PLA + AND #$00FF + STA ($01,S),Y + LDA #$0006 + PER LA9FD+1 +LA9FD BRA LAA22 + PLX + BCS LAA13 + PER LAA32 + PHK + PLB + LDY #$0006 + LDA ($01,S),Y + TAX + INY + INY + LDA ($01,S),Y + TAY + PLA +LAA13 PHA + LDA $04,S + STA $08,S + LDA $03,S + STA $07,S + PLA + STA $03,S + PLA + PLA + RTL + +LAA22 LDY #$0000 + STA ($03,S),Y + JSL GSOS +LAA2B DW $0006 + ADRL $00000000 + RTS + +LAA32 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LAA4C PEI $3E + PEI $3C + STA $3C + STX $3E + PHK + PLB + PER LA78A + TYX + LDY #$0000 +LAA5D TXA + BPL LAA66 + LDA [$3C],Y + STA ($01,S),Y + BRA LAA6F +LAA66 LDA ($01,S),Y + STA [$3C],Y + TXA + BNE LAA6F + STA ($01,S),Y +LAA6F INY + INY + CPY #$004C + BMI LAA5D + PLA + PLA + STA $3C + PLA + STA $3E + RTL + +LAA7E LDA #$8000 + BRA LAA86 +LAA83 LDA #$0000 +LAA86 PEI $06 + PEI $04 + STZ $04 + STA $06 + PER LA78A + PHK + PLB + LDY #$000E + LDA ($01,S),Y + STA $01,S + _MTStartUp + BCC LAAA6 + BRL LAC27 +LAAA6 LDA #$0008 + TSB $04 + _QDShutDown + _CtlShutDown + LDA $01,S + TAX + TDC + CLC + ADC #$1000 + PHA + LDA #$0080 + PER LAAC8+2 +LAAC8 BRL LA881 + BCC LAAD0 + LDA #$0000 +LAAD0 PHA + PEA $00A0 + PHX + _QDStartUp + BCC LAAE1 + BRL LAC27 +LAAE1 LDA $01,S + TAX + LDA #$0010 + TSB $04 + TDC + CLC + ADC #$1300 + PHA + PEA $0014 + PEA $0000 + LDA #$0280 + PER LAAFB+2 +LAAFB BRL LA881 + BCC LAB01 + LSR +LAB01 PHA + PEA $0000 + PEA $00C8 + PHX + _EMStartUp + BCC LAB15 + BRL LAC27 +LAB15 LDA #$0040 + TSB $04 + BIT $06 + BMI LAB2F + PHK + PHK + PER LAC9F + _LoadTools + BCC LAB2F + BRL LAC27 +LAB2F PLX + PHX + PHX + _WindStartUp + LDA #$4000 + TSB $04 + PEA $0000 + PEA $0000 + _RefreshDesktop + PLX + PHX + PHX + TDC + CLC + ADC #$1400 + PHA + _CtlStartUp + BCC LAB60 + BRL LAC27 +LAB60 PLX + PHX + PHX + LDA #$0001 + TSB $06 + TDC + CLC + ADC #$1600 + PHA + _MenuStartUp + BCC LAB7A + BRL LAC27 +LAB7A LDA #$8000 + TSB $04 + PLX + PHX + PHX + TDC + CLC + ADC #$1500 + PHA + _LEStartUp + BCC LAB94 + BRL LAC27 +LAB94 LDA #$0010 + TSB $06 + PEA $0100 + _LESetScrapLen + PLX + PHX + PHX + _DialogStartUp + BCS LAC27 + LDA #$0020 + TSB $06 + _ScrapStartUp + BCS LAC27 + LDA #$0040 + TSB $06 + _DeskStartUp + BCS LAC27 + LDA #$0020 + TSB $04 + _QDAuxStartUp + BCS LAC27 + LDA #$0004 + TSB $06 + TDC + CLC + ADC #$1800 + PHA + _SoundStartUp + BCS LAC27 + LDA #$0100 + TSB $04 + LDA #$0200 + TSB $06 + _ShowCursor + PEA $0014 + PEA $0014 + _MoveTo + PEA $0000 + _SetBackColor + PEA $0007 + _SetForeColor + PLY + PER LAC23+1 +LAC23 BRA LAC81 + CLC + RTL + +LAC27 PLY + PHA + PER LAC2C+1 +LAC2C BRA LAC81 + PHK + PER LAC32+2 +LAC32 BRL LACE1 + PLA + SEC + RTL + +LAC38 PER LA78A + LDY #$0002 + PHK + PLB + LDA ($01,S),Y + BIT #$0800 + CLC + BNE LAC7C + PHK + PER LAC4C+2 +LAC4C BRL LA8A5 + PHA + PHA + TDC + CLC + ADC #$1700 + PHA + _FMStartUp + BCS LAC7E + TDC + CLC + ADC #$1A00 + PHA + _PMStartUp + BCS LAC7C + PHK + PLB + LDY #$0002 + LDA ($01,S),Y + ORA #$0808 + STA ($01,S),Y + CLC +LAC7C PLY + RTL + +LAC7E PLY + BRA LAC7C +LAC81 PER LA78A + PHK + PLB + LDY #$0000 + LDA $04 + STA ($01,S),Y + INY + INY + LDA $06 + ASL + LSR + STA ($01,S),Y + PLX + PLX + PLA + STA $04 + PLA + STA $06 + PHX + RTS + +LAC9F DB $10 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 + DB $05 + DB $00 + DB $00 + DB $00 + DB $06 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $00 + DB $0E + DB $00 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $0F + DB $00 + DB $00 + DB $00 + DB $12 + DB $00 + DB $00 + DB $00 + DB $13 + DB $00 + DB $00 + DB $00 + DB $14 + DB $00 + DB $00 + DB $00 + DB $15 + DB $00 + DB $00 + DB $00 + DB $16 + DB $00 + DB $00 + DB $00 + DB $17 + DB $00 + DB $00 + DB $00 + DB $19 + DB $00 + DB $00 + DB $00 + DB $1B + DB $00 + DB $00 + DB $00 + DB $1C + DB $00 + DB $00 + DB $00 +LACE1 PEI $04 + STZ $04 + PHK + PLB + PER LA78A + LDY #$0002 + LDX #$000F + LDA ($01,S),Y + LSR + BCC LACF7 + INC $04 +LACF7 ASL + PHA + LDA #$0000 + STA ($03,S),Y + PLA +LACFF BEQ LAD17 + INX + LSR + BCC LACFF + PHA + CPX #$0011 + BEQ LAD14 + PHX + TXA + PHK + PER LAD11+1 +LAD11 BRA LAD68 + PLX +LAD14 PLA + BRA LACFF +LAD17 PHK + PLB + LDY #$0000 + LDA ($01,S),Y + AND #$FFF8 + TSB $04 + TYA + STA ($01,S),Y + PLA + PER LAD4A +LAD2A LDA ($01,S),Y + BEQ LAD44 + INY + INY + AND $04 + BEQ LAD40 + LDA ($01,S),Y + PHY + PHK + PER LAD3B+1 +LAD3B BRA LAD68 + PLY + PHK + PLB +LAD40 INY + INY + BRA LAD2A +LAD44 PLA + PLA + STA $04 + CLC + RTL + +LAD4A DB $00 + DB $01 + DB $08 + DB $00 + DB $20 + DB $00 + DB $05 + DB $00 + DB $00 + DB $80 + DB $0F + DB $00 + DB $00 + DB $40 + DB $0E + DB $00 + DB $01 + DB $00 + DB $10 + DB $00 + DB $40 + DB $00 + DB $06 + DB $00 + DB $10 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 +LAD68 ASC 'b>'00 + PHK + PLB + ASL + TAY + LDA ($01,S),Y + BEQ LADA6 + PLY + TAX + INC + BEQ LAD80 + INC + BEQ LAD90 + JSL $E10000 + RTL + +LAD80 PHK + PER LAD84+2 +LAD84 BRL LA8A5 + PHA + _MMShutDown + RTL + +LAD90 PHK + PER LAD94+2 +LAD94 BRL LA8A5 + PEA $0000 + PHA + PEA $0000 + _LoaderShutDown + RTL + +LADA6 PLA + CLC + RTL + + DB $00 + DB $00 + DB $01 + DB $03 + DB $FF + DB $FF + DB $00 + DB $00 + DB $04 + DB $03 + DB $05 + DB $03 + DB $06 + DB $03 + DB $00 + DB $00 + DB $08 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0E + DB $03 + DB $0F + DB $03 + DB $10 + DB $03 + DB $FE + DB $FF + DB $12 + DB $03 + DB $13 + DB $03 + DB $14 + DB $03 + DB $15 + DB $03 + DB $16 + DB $03 + DB $17 + DB $03 + DB $00 + DB $00 + DB $19 + DB $03 + DB $00 + DB $00 + DB $1B + DB $03 + DB $1C + DB $03 +LADE3 PHD + PHY + PHX + PHA + TSC + SEC + SBC #$001B + TCD + DEC + TCS + STZ $00 + PEA $0000 + PEA $0000 + _GetPort + PLY + PLX + BCC LAE05 + BRL LAEC6 +LAE05 STY $04 + STX $06 + PHK + PER LAE0D+2 +LAE0D BRL LA850 + STA $1A + PHK + PLB + PER LAECF + PER LAEF6 + LDY #$0000 + LDA ($03,S),Y + STA ($01,S),Y + PLA + PER LAF2E+2 + INY + INY + TYX +LAE28 LDA ($03,S),Y + STA ($01,S),Y + INY + INY + LDA ($03,S),Y + BIT $1A + BPL LAE35 + LSR +LAE35 STA ($01,S),Y + INY + INY + DEX + BNE LAE28 + PLA + PER LAF2E + TXY + TXA + STA ($01,S),Y + INY + INY + STA ($01,S),Y + STA $01,S + STA $03,S + PHK + PHK + PER LAEF4 + _NewWindow + BCS LAEBB + PLA + PLX + PHX + PHA + PHX + PHA + _SetPort + LDA #$0028 + BIT $1A + BPL LAE70 + LSR + LSR +LAE70 PHA + LDY $20 + BNE LAE7A + LDX #$0017 + BRA LAE93 +LAE7A PHA + PEA $000F + _MoveTo + PEI $1E + PEI $1C + _DrawString + LDX #$001E +LAE93 PHX + _MoveTo + LDA $1C + CLC + ADC $20 + TAX + LDA $1E + BCC LAEA6 + INC +LAEA6 PHA + PHX + _DrawString + PER LAEB2+1 +LAEB2 BRA LAED9 + _CloseWindow +LAEBB PEI $06 + PEI $04 + _SetPort +LAEC6 TDC + CLC + ADC #$0021 + TCS + PLD + CLC + RTL + +LAECF DW $0020 + DW $003C + DW $0064 + DW $0064 + DW $0208 +LAED9 PEA $0000 + PEA $000A + PEI $00 + TDC + CLC + ADC #$000C + PHA + _GetNextEvent + PLA + LDA $0C + BEQ LAED9 + RTS + +LAEF4 DW $004E +LAEF6 DW $D4A0 ; frame bits + ADRL $00000000 ; title ptr + ADRL $00000101 ; refcon + DW $0000 ; zoom rect + DW $0000 + DW $0000 + DW $0000 + ADRL $00000000 ; color table ptr + DW $0000 ; origin + DW $0000 + DW $00AE ; data size + DW $0280 + DW $00AE ; max size + DW $0280 + DW $0000 ; scroll size + DW $0000 + DW $0000 ; page size + DW $0000 + ADRL $00000000 ; info bar refcon + DW $0000 ; info bar hite + ADRL $00000000 ; window defproc + ADRL $00000000 ; info bar defproc +LAF2E ADRL $00000000 ; content defproc + DW $0019 ; content rect + DW $0002 + DW $00C7 + DW $026A + ADRL $FFFFFFFF ; starting plane + ADRL $00000000 ; storage ptr +LAF42 BRA LAF47 +LAF44 LDX #$8FF1 +LAF47 TSC + TAY + SEC + SBC #$00BA + TCS + PEI $26 + PEI $24 + PEI $04 + PHD + INC + INC + TCD + PLA + STA $26 + PLA + STA $50 + INC + STA $52 + PLA + STA $4C + PLA + STA $4E + STY $24 + STX $44 + INY + INY + INY + INY + STY $18 + STZ $1A + LDA [$18] + STA $14 + INC $18 + INC $18 + LDA [$18] + STA $16 + INC $18 + INC $18 + TDC + CLC + ADC #$0054 + STA $20 + STZ $22 + LDA #$0050 + CLC + ADC $20 + STA $04 + STZ $00 + STZ $48 +LAF98 LDA $04 + CMP $20 + BCS LAFA4 + PER LAFA1+2 +LAFA1 BRL LB166 +LAFA4 LDA [$14] + INC $14 + BNE LAFAC + INC $16 +LAFAC AND #$00FF + CMP #$0025 + BEQ LAFF9 + STA [$20] + PHA + PLA + BMI LAFC9 + BEQ LAFC9 + INC $20 + INC $48 + CMP #$000D + BNE LAF98 + STZ $48 + BRA LAF98 +LAFC9 LDA $00 + STA [$20] + PER LAFD0+2 +LAFD0 BRL LB166 + LDX $44 + CPX #$FFF6 + BNE LAFF2 + LDY $52 + LDA $00 + STA [$4C],Y + TYA + SEC + SBC $50 + DEC + STA $04 + LDY $50 + LDA #$FF00 + AND [$4C],Y + ORA $04 + STA [$4C],Y +LAFF2 LDA $24 + TCS + LDA $26 + TCD + RTL + +LAFF9 STZ $10 + STZ $12 +LAFFD LDA [$14] + INC $14 + BNE LB005 + INC $16 +LB005 AND #$00FF + SEP #$20 + CMP #$44 + BEQ LB07F + CMP #$63 + BNE LB015 + BRL LB0DE +LB015 CMP #$64 + BEQ LB086 + CMP #$58 + BNE LB020 + BRL LB0B3 +LB020 CMP #$30 + BNE LB02C + TAX + LDA [$14] + CMP #$78 + BEQ LB0A9 + TXA +LB02C CMP #$53 + BNE LB033 + BRL LB115 +LB033 CMP #$43 + BNE LB03A + BRL LB0F6 +LB03A CMP #$73 + BNE LB041 + BRL LB130 +LB041 CMP #$78 + BEQ LB0C2 + CMP #$62 + BNE LB04C + BRL LB14B +LB04C CMP #$3A + BPL LB06B + CMP #$30 + BMI LB06B + SEC + SBC #$30 + REP #$20 + PHA + ASL $10 + LDA $10 + ASL + ASL + CLC + ADC $10 + CLC + ADC $01,S + STA $10 + PLA + BRA LAFFD +LB06B XBA + SEP #$20 + LDA #$25 + REP #$20 + STA [$20] + INC $20 + INC $20 + INC $48 + INC $48 + BRL LAF98 +LB07F REP #$20 + LDA #$0020 + BRA LB08D +LB086 REP #$20 + LDA #$0030 + STA $0C +LB08D STA $0C + LDA [$18] + STA $08 + INC $18 + INC $18 + LDA [$18] + STA $0A + INC $18 + INC $18 + PHK + PER LB0A6-1 + BRL LB5A7 +LB0A6 BRL LAF98 +LB0A9 REP #$20 + STA $12 + INC $14 + BNE LB0B3 + INC $16 +LB0B3 REP #$20 + LDA #$7830 + STA [$20] + INC $20 + INC $20 + INC $48 + INC $48 +LB0C2 REP #$20 + LDA [$18] + STA $08 + INC $18 + INC $18 + LDA [$18] + STA $0A + INC $18 + INC $18 + PHK + PER LB0DB-1 + BRL LB458 +LB0DB BRL LAF98 +LB0DE REP #$20 + LDA [$18] + INC $18 + INC $18 + INC $18 + INC $18 + LDX $10 + BEQ LB0FA + CMP $10 + BCC LB0FA + LDA $10 + BRA LB0FA +LB0F6 REP #$20 + LDA $10 +LB0FA SEC + SBC $48 + DEC + BPL LB103 + BRL LAF98 +LB103 BNE LB108 + BRL LAF98 +LB108 STA $08 + STZ $0A + PER LB112-1 + BRL LB4C8 +LB112 BRL LAF98 +LB115 REP #$20 + LDA [$18] + STA $08 + INC $18 + INC $18 + LDA [$18] + STA $0A + INC $18 + INC $18 + PER LB12D-1 + BRL LB4C8 +LB12D BRL LAF98 +LB130 REP #$20 + LDA [$18] + STA $1C + INC $18 + INC $18 + LDA [$18] + STA $1E + INC $18 + INC $18 + PER LB148-1 + BRL LB4F7 +LB148 BRL LAF98 +LB14B REP #$20 + LDA [$18] + STA $1C + INC $18 + INC $18 + LDA [$18] + STA $1E + INC $18 + INC $18 + PER LB163-1 + BRL LB538 +LB163 BRL LAF98 +LB166 LDA $20 + STA $46 + TDC + CLC + ADC #$0054 + STA $20 + STZ $22 + LDA $46 + SEC + SBC $20 + STA $04 + STZ $06 + LDX $44 + BPL LB1A0 + CPX #$FFF6 + BNE LB1A0 + LDY $52 +LB187 DEC $04 + BMI LB19C + LDA [$20] + AND #$007F + CMP #$000D + BEQ LB198 + STA [$4C],Y + INY +LB198 INC $20 + BRA LB187 +LB19C STY $52 + BRA LB1E1 +LB1A0 CPX #$8FF1 + BNE LB1C9 +LB1A5 DEC $04 + BMI LB1E1 + LDA [$20] + AND #$007F + PHA + CMP #$000D + BNE LB1BE + PEA $000A + _WriteChar +LB1BE _WriteChar + INC $20 + BRA LB1A5 +LB1C9 INX + BEQ LB1F3 + DEX + PEI $06 + PEI $04 + PEI $00 + TDC + CLC + ADC #$0054 + PHA + PHX + PHK + PER LB1E1-1 + BRL LA580 +LB1E1 TDC + CLC + ADC #$0054 + STA $20 + STZ $22 + LDA #$0050 + CLC + ADC $20 + STA $04 + RTS + +LB1F3 LDAL $00FFE6 ; LOGO BUG? + INC + BEQ LB1A5 + PEA $0000 + _WindVersion + PLA + BCS LB1A5 +LB207 DEC $04 + BMI LB1E1 + LDA [$20] + AND #$00FF + CMP #$000D + BNE LB21F + PER LB21A-1 + BRA LB22B +LB21A BCS LB1A5 + LDA #$000A +LB21F PER LB224-1 + BRA LB22B +LB224 INC $20 + BCC LB207 + BRL LB1A5 +LB22B STA $42 + PER LB233-1 + BRL LB40E +LB233 LDA $42 + INC + BEQ LB264 + DEC + AND #$007F + CMP #$007F + BNE LB264 + LDA #$0008 + STA $42 + PER LB24B-1 + BRA LB264 +LB24B BCC LB250 + BRL LB40C +LB250 LDA #$0020 + STA $42 + PER LB25A-1 + BRA LB264 +LB25A BCC LB25F + BRL LB40C +LB25F LDA #$0008 + STA $42 +LB264 PEI $00 + TDC + CLC + ADC #$0028 + PHA + _GetFontInfo + BCC LB278 + BRL LB40C +LB278 LDA $28 + CLC + ADC $2A + CLC + ADC $2E + STA $2E + PEI $00 + TDC + CLC + ADC #$0030 + PHA + _GetPen + BCC LB296 + BRL LB40C +LB296 LDA #$001A + CMP $42 + BNE LB2C4 + LDA $32 + STA $2A + LDA $30 + SEC + SBC $28 + STA $28 + CLC + ADC $2E + STA $2C + LDA #$0280 + STA $2E + PEI $00 + TDC + CLC + ADC #$0028 + PHA + _EraseRect + BRL LB3FD +LB2C4 LDA $32 + BNE LB2E1 + LDA #$0003 + STA $32 + LDA $28 + STA $30 + PEI $32 + PEI $30 + _MoveTo + BCC LB2E1 + BRL LB40C +LB2E1 PEI $00 + TDC + CLC + ADC #$0034 + PHA + _GetPortRect + BCC LB2F5 + BRL LB40C +LB2F5 LDA $38 + SEC + SBC $34 + STA $38 + LDA $3A + SEC + SBC $36 + STA $3A + LDA $42 + INC + BNE LB30B + BRL LB3F4 +LB30B DEC + AND #$007F + CMP #$000A + BNE LB37A + LDA $38 + SEC + SBC $30 + SEC + SBC $2E + SEC + SBC $2A + BPL LB370 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _GetPort + _GetWControls + PLA + PLX + BNE LB343 + TAY + BEQ LB347 +LB343 PLA + BRL LB40A +LB347 PLX + PEI $00 + TDC + CLC + ADC #$0034 + PHA + PEA $0000 + PHX + PEA $0000 + PEA $0000 + _ScrollRect + BCC LB366 + BRL LB40C +LB366 LDA $38 + SEC + SBC $2A + STA $30 + BRL LB3FD +LB370 LDA $30 + CLC + ADC $2E + STA $30 + BRL LB3FD +LB37A CMP #$0008 + BNE LB3A0 + PEA $0000 + PEA $0030 + _CharWidth + BCS LB40C + LDA $32 + SEC + SBC $01,S + CMP #$0003 + BPL LB39B + LDA #$0003 +LB39B STA $32 + PLA + BRA LB3FD +LB3A0 CMP #$000D + BNE LB3AC + LDA #$0003 + STA $32 + BRA LB3FD +LB3AC CMP #$0007 + BNE LB3BD + PHA + _WriteChar + BCS LB40C + BRA LB40A +LB3BD LDX $32 + CPX $3A + BCS LB40A + STZ $34 + CMP #$0020 + BCS LB3D0 + CLC + ADC #$0040 + DEC $34 +LB3D0 STA $38 + BIT $34 + BPL LB3DB + PEA $8000 + BRA LB3DE +LB3DB PEA $0000 +LB3DE _SetTextMode + BCS LB40C + PEI $38 + _DrawChar + BCS LB40C + BRA LB40A +LB3F4 LDA #$0003 + STA $32 + LDA $28 + STA $30 +LB3FD PEI $32 + PEI $30 + _MoveTo + BCS LB40C +LB40A CLC + RTS + +LB40C SEC + RTS + +LB40E PEA $0000 + PEA $0008 + PEI $00 + TDC + CLC + ADC #$0028 + PHA + _EventAvail + PLA + LDA $28 + BEQ LB43C + LDA $2A + AND #$00FF + CMP #$0013 + BNE LB43C + PER LB437-1 + BRA LB43D +LB437 PER LB43C-1 + BRA LB43D +LB43C RTS + +LB43D PEA $0000 + PEA $0008 + PEI $00 + TDC + CLC + ADC #$0028 + PHA + _GetNextEvent + PLA + LDA $28 + BEQ LB43D + RTS + +LB458 PHK + PHK + PER LB4B8 + PLY + STY $1C + PLY + STY $1E + LDA #$0008 + STA $0C + LDA $10 + BEQ LB474 + BMI LB474 + CMP $0C + BPL LB474 + STA $0C +LB474 LDX #$0003 + LDA #$00FF + STA $0E +LB47C LDA $0E + XBA + STA $0E + LDA $08,X + DEX + LDY $0E + BPL LB48D + LSR + LSR + LSR + LSR + INX +LB48D AND #$000F + BNE LB4A4 + LDY $12 + BEQ LB4A4 + DEC $0C + BNE LB47C + LDA #$0030 + STA [$20] + INC $20 + INC $48 + RTL + +LB4A4 STZ $12 + TAY + LDA [$1C],Y + STA [$20] + INC $20 + INC $48 + DEC $0C + BNE LB47C + LDA $00 + STA [$20] + RTL + +LB4B8 ASC '0123456789ABCDEF' + +LB4C8 LDA $10 + BMI LB4CE + BNE LB4D1 +LB4CE LDA #$09C4 +LB4D1 CMP $08 + BCS LB4D7 + STA $08 +LB4D7 LDA $04 + CMP $20 + BPL LB4E3 + PER LB4E3-1 +LB4E0 BRL LB166 +LB4E3 DEC $08 + BMI LB4F2 + LDA #$0020 + STA [$20] + INC $20 + INC $48 + BRA LB4D7 +LB4F2 LDA $00 + STA [$20] + RTS + +LB4F7 LDA $10 + BMI LB4FD + BNE LB502 +LB4FD LDA #$09C4 + STA $10 +LB502 LDA $04 + CMP $20 + BPL LB50E + PER LB50E-1 + BRL LB166 +LB50E DEC $10 + BMI LB533 + LDA [$1C] + INC $1C + BNE LB51A + INC $1E +LB51A AND #$00FF + STA [$20] + BEQ LB533 + INC $20 + INC $48 + CMP #$000D + BNE LB52C + STZ $48 +LB52C XBA + BPL LB502 + DEC $20 + DEC $48 +LB533 LDA $00 + STA [$20] + RTS + +LB538 PHK + PHK + PER LB4B8 + PLY + STY $08 + PLY + STY $0A + LDA $10 + BEQ LB549 + BPL LB54A +LB549 RTS + +LB54A CMP #$0050 + BCC LB554 + LDA #$0050 + STA $10 +LB554 LDA #$FF00 + STA $0E +LB559 LDA $04 + CMP $20 + BPL LB565 + PER LB565-1 + BRL LB166 +LB565 LDA #$0004 + STA $0C +LB56A LDA $0E + XBA + STA $0E + BPL LB579 + LDA [$1C] + LSR + LSR + LSR + LSR + BRA LB581 +LB579 LDA [$1C] + INC $1C + BNE LB581 + INC $1E +LB581 AND #$000F + TAY + LDA [$08],Y + STA [$20] + INC $20 + INC $48 + DEC $0C + BNE LB56A + LDA #$2020 + STA [$20] + INC $20 + INC $48 + DEC $10 + DEC $10 + BEQ LB5A2 + BPL LB559 +LB5A2 LDA $00 + STA [$20] + RTS + +LB5A7 REP #$71 + PHK + PHK + PER LB691 + PLY + STY $1C + PLY + STY $1E +LB5B4 LDY #$000E + LDA $0A + BEQ LB5FC + BPL LB620 + LDA #$2D2D + STA [$20] + INC $20 + INC $48 + LDA $08 + EOR #$FFFF + CLC + ADC #$0001 + STA $08 + LDA $0A + EOR #$FFFF + ADC #$0000 + STA $0A + BPL LB5B4 + LDA #$6E69 + STA [$20] + INC $20 + INC $20 + LDA #$2D66 + STA [$20] + INC $20 + INC $20 + INC $48 + INC $48 + INC $48 + INC $48 +LB5F7 LDA $00 + STA [$20] + RTL + +LB5FC LDA $08 + CMP #$000A + BCS LB623 + ORA #$3030 + LDX $10 + DEX + TAY + LDA $0C +LB60C DEX + BMI LB617 + STA [$20] + INC $20 + INC $48 + BRA LB60C +LB617 TYA + STA [$20] + INC $20 + INC $48 + BRA LB5F7 +LB620 LDY #$0022 +LB623 LDA [$1C],Y + DEY + DEY + CMP $0A + BEQ LB631 + BCC LB63D + DEY + DEY + BRA LB623 +LB631 LDA [$1C],Y + CMP $08 + BEQ LB63D + BCC LB63D + DEY + DEY + BRA LB623 +LB63D TYA + LSR + LSR + INC + INC + CMP $10 + BCS LB654 + TAX + LDA $0C +LB649 STA [$20] + INC $20 + INX + INC $48 + CPX $10 + BCC LB649 +LB654 LDX #$0003 + CPY #$0020 + BEQ LB65F + LDX #$0004 +LB65F PHY + LDA [$1C],Y + STA $10 + INY + INY + LDA [$1C],Y + STA $12 + PER LB66F-1 + BRA LB6B5 +LB66F TYA + ORA #$3030 + STA [$20] + INC $20 + INC $48 + LDX #$0004 + PLY + DEY + DEY + DEY + DEY + BPL LB65F + LDA $08 + ORA #$3030 + STA [$20] + INC $20 + INC $48 + BRL LB5F7 + +LB691 DB $0A + DB $00 + DB $00 + DB $00 + DB $64 + DB $00 + DB $00 + DB $00 + DB $E8 + DB $03 + DB $00 + DB $00 + DB $10 + DB $27 + DB $00 + DB $00 + DB $A0 + DB $86 + DB $01 + DB $00 + DB $40 + DB $42 + DB $0F + DB $00 + DB $80 + DB $96 + DB $98 + DB $00 + DB $00 + DB $E1 + DB $F5 + DB $05 + DB $00 + + DEX + TXS + TSC +LB6B5 LDY #$0000 + STX $02 + DEX +LB6BB ASL $10 + ROL $12 + DEX + BNE LB6BB +LB6C2 LDA $08 + SEC + SBC $10 + TAX + LDA $0A + SBC $12 + BCC LB6D2 + STA $0A + STX $08 +LB6D2 TYA + ROL + TAY + DEC $02 + BEQ LB6DF + LSR $12 + ROR $10 + BRA LB6C2 +LB6DF RTS + +LB6E0 PER LAEF4 + PHK + PLB + LDY #$0004 + STA ($01,S),Y + INY + INY + TXA + AND #$00FF + STA ($01,S),Y + DEY + DEY + ORA ($01,S),Y + PHA + PHK + PER LB6FE-1 + BRL LA850 +LB6FE LDA #$94A4 ; )$ + PER LB707-1 + BRL LA881 +LB707 BVS LB715 + BPL LB710 + LDA #$8080 + BRA LB71A +LB710 LDA #$80A0 + BRA LB71A +LB715 BPL LB71A + LDA #$9484 +LB71A PLX + BNE LB720 + AND #$7FFF +LB720 LDY #$0002 + STA ($01,S),Y + LDA #$0266 + PER LB72E-1 + BRL LA881 +LB72E BVS LB738 + LDA #$027E + BCC LB73F + LSR + BRA LB73F +LB738 BCC LB73F + LSR + DEC + DEC + DEC + DEC +LB73F PHX + LDY #$0019 + PLX + BNE LB749 + LDY #$000D +LB749 PHY + LDY #$003E + TAX + PLA + STA ($01,S),Y + INY + INY + LDA #$0002 + CPX #$0190 + BCS LB75C + LSR +LB75C STA ($01,S),Y + INY + INY + LDA #$00C7 + STA ($01,S),Y + INY + INY + TXA + STA ($01,S),Y + LDY #$001E + STA ($01,S),Y + INY + INY + INY + INY + STA ($01,S),Y + PHK + PHK + PER LB7CD + PLA + PLX + LDY #$003A + STA ($01,S),Y + INY + INY + TXA + AND #$00FF + STA ($01,S),Y + PLA + PHA + PHA + PHK + PHK + PER LAEF4 + _NewWindow + BCS LB7CA + PLA + PLX + PHX + PHA + PHX + PHA + _SetPort + BCS LB7CA + PEA $0000 + PEA $000A + _MoveTo + PHK + PLB + PER LA790 + LDY #$0000 + LDA $03,S + STA ($01,S),Y + INY + INY + LDA $05,S + STA ($01,S),Y + PLA + CLC +LB7CA PLA + PLX + RTL + +LB7CD LDA #$0000 + PHA + PHA + PHA + PHA + _GetPort + _GetWControls + PLA + PLX + BCS LB802 + BNE LB7EB + TAX + BEQ LB802 +LB7EB INX + BEQ LB802 + PEA $0000 + PEA $0000 + _GetPort + _DrawControls +LB802 RTL + +LB803 PHX + PHA + PER LA790 + LDY #$0002 + PHK + PLB + LDA ($01,S),Y + TAX + DEY + DEY + LDA ($01,S),Y + BNE LB819 + TXY + BEQ LB823 +LB819 PLY + PHX + PHA + _SetWTitle +LB823 RTL + diff --git a/c2p4/.DS_Store b/c2p4/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/c2p4/.DS_Store differ diff --git a/c2p4/c2p4.s b/c2p4/c2p4.s new file mode 100644 index 0000000..dcbf276 --- /dev/null +++ b/c2p4/c2p4.s @@ -0,0 +1,4874 @@ +* +* Copy II Plus v4.4c +* +* (c) 1984, Central Point Software +* (s) 2019, Brutal Deluxe Software +* +* + + typ bin + org $800 + mx %11 + lst off + +*---------------------------- + +*--- Copy II Plus equates +* see at code end + +*fgOUTPUT = $02fe +*SLOT16 = $02ff +fgCOMMAND = $0358 ; 00=edit, 01=copy + +*--- Firmware equates + +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +KVERSION EQU $BFFF +KBD EQU $C000 +KBDSTROBE EQU $C010 +PRNTAX EQU $F941 +PRBL2 EQU $F94A +UP EQU $FC1A +VTAB EQU $FC22 +VTABZ EQU $FC24 +HOME EQU $FC58 +CLREOL EQU $FC9C +WAIT EQU $FCA8 +RDKEY EQU $FD0C +KEYIN EQU $FD1B +GETLN1 EQU $FD6F +CROUT EQU $FD8E +PRBYTE EQU $FDDA +PRHEX EQU $FDE3 +COUT EQU $FDED +COUT1 EQU $FDF0 +SETINV EQU $FE80 +SETNORM EQU $FE84 +MONZ EQU $FF69 +GETNUM EQU $FFA7 + +*---------------------------- + +* DB $B1 +* DB $B2 +* DB $B3 + jmp L0808 + +L0803 DB $B4 +L0804 DB $B5 +L0805 DB $B6 +L0806 DB $B7 + DB $B8 + +L0808 LDA #$60 + STA SLOT16 + JMP L0900 + +L0810 DB $01 +L0811 DB $03 +L0812 DB $1A +L0813 DB $10 +L0814 DB $FE +L0815 DB $FF +L0816 DB $01 +L0817 DB $7F +L0818 DB $00 +L0819 DB $00 +L081A DB $0B +L081B DB $01 +L081C DB $00 +L081D DB $00 +L081E DB $D5 +L081F DB $AA + DB $96 + DB $00 + DB $00 + DB $00 + DB $00 + DB $AA + DB $AA + DB $00 + DB $00 + DB $DE + DB $AA + DB $00 +L082C DB $D5 +L082D DB $AA + DB $AD + DB $DE + DB $AA + DB $00 +L0832 DB $D5 + DB $AA + DB $96 + DB $00 + DB $00 + DB $00 + DB $00 + DB $AA + DB $AA + DB $00 + DB $00 + DB $DE + DB $AA + DB $00 +L0840 DB $0B +L0841 DB $01 +L0842 DB $02 +L0843 DB $01 +L0844 DB $00 +L0845 DB $DE +L0846 DB $AA +L0847 DB $6B +L0848 DB $00 +L0849 DB $00 +L084A DB $04 +L084B DB $10 +L084C DB $02 +L084D DB $0C +L084E DB $01 +L084F DB $00 +L0850 DB $40 +L0851 DB $01 +L0852 DB $0B +L0853 DB $00 +L0854 DB $00 +L0855 DB $08 +L0856 DB $1F +L0857 DB $01 +L0858 DB $01 +L0859 DB $00 +L085A DB $3B +L085B DB $00 +L085C DB $01 +L085D DB $01 +L085E DB $00 +L085F DB $00 +L0860 DB $10 +L0861 DB $00 +L0862 DB $07 +L0863 DB $08 +L0864 DB $01 +L0865 DB $01 +L0866 DB $00 + DB $B7 + DB $B9 + DB $BA + DB $BB + DB $BC + DB $BD + DB $BE + DB $BF + DB $CB + DB $CD + DB $CE + DB $CF + DB $D3 + DB $D6 + DB $D7 + DB $D9 + DB $DA + DB $DB + DB $DC + DB $DD + DB $DE + DB $DF + DB $E5 + DB $E6 + DB $E7 + DB $E9 + DB $EA + DB $EB + DB $EC + DB $ED + DB $EE + DB $EF + DB $F2 + DB $F3 + DB $F4 + DB $F5 + DB $F6 + DB $F7 + DB $F9 + DB $FA + DB $FB + DB $FC + DB $FD + DB $FE + DB $FF + DB $FF + DB $FF + +*--- Denibblize table + +L0896 DB $00 + DB $01 + DB $FF + DB $FF + DB $02 + DB $03 + DB $FF + DB $04 + DB $05 + DB $06 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $07 + DB $08 + DB $FF + DB $FF + DB $FF + DB $09 + DB $0A + DB $0B + DB $0C + DB $0D + DB $FF + DB $FF + DB $0E + DB $0F + DB $10 + DB $11 + DB $12 + DB $13 + DB $FF + DB $14 + DB $15 + DB $16 + DB $17 + DB $18 + DB $19 + DB $1A + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $1B + DB $FF + DB $1C + DB $1D + DB $1E + DB $FF + DB $FF + DB $FF + DB $1F + DB $FF + DB $FF + DB $20 + DB $21 + DB $FF + DB $22 + DB $23 + DB $24 + DB $25 + DB $26 + DB $27 + DB $28 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $29 + DB $2A + DB $2B + DB $FF + DB $2C + DB $2D + DB $2E + DB $2F + DB $30 + DB $31 + DB $32 + DB $FF + DB $FF + DB $33 + DB $34 + DB $35 + DB $36 + DB $37 + DB $38 + DB $FF + DB $39 + DB $3A + DB $3B + DB $3C + DB $3D + DB $3E + DB $3F + +L0900 JMP L2874 + +L0903 DB $D5 + DB $AA + DB $96 + DB $00 + DB $00 + DB $00 + DB $00 + DB $AA + DB $AA + DB $00 + DB $00 + DB $DE + DB $AA + DB $00 + DB $D5 + DB $AA + DB $AD + DB $DE + DB $AA + DB $00 + DB $D5 + DB $AA + DB $96 + DB $00 + DB $00 + DB $00 + DB $00 + DB $AA + DB $AA + DB $00 + DB $00 + DB $DE + DB $AA + DB $00 +L0925 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L092B LDA L0811 + STA $037C + LDA #$00 + STA $034B + JSR L0AEF +L0939 LDA $037D + STA $04 + JSR L1D9F + LDA #$D7 + STA $0354 + JSR L1091 + LDA $037D + AND #$F0 + TAX + LDA $C08D,X + LDA $C08E,X + BPL L0961 + LDY $08 + LDA #$04 + STA L0925,Y + JMP L0ACB + +L0961 LDY $17 + LDA $C08D,X + LDA $C08E,X + LDA #$FF + STA $C08F,X + CMP $C08C,X + JSR L0AEE + LDA ($00),Y + ORA #$80 + NOP + NOP +L097A STA $C08D,X + CMP $C08C,X + CPY $00 +L0982 INY + BNE L09A6 + INC $01 + LDA ($00),Y + NOP + BEQ L09CD + ORA #$80 + STA $C08D,X + CMP $C08C,X + JMP L0982 + +L0997 ORA #$80 ; not called? + STA $C08D,X + CMP $C08C,X + NOP + NOP +L09A1 JMP L0982 + +L09A4 NOP +L09A5 NOP +L09A6 LDA ($00),Y + BEQ L09CD + BPL L09B1 + CPY $00 + JMP L097A + +L09B1 ORA #$80 + BIT $00 + STA $C08D,X + CMP $C08C,X + NOP + NOP +L09BD JMP L0982 + +L09C0 NOP +L09C1 NOP + BIT $00 + STA $C08D,X + CMP $C08C,X + JMP L0982 + +L09CD LDA $C08E,X + LDA $C08C,X + LDA #$00 + STA $034C + LDA $C088,X + LDA KBD + CMP #$9B ; escape + BNE L09F2 + LDA KBDSTROBE + PLA + PLA + LDA #$00 + STA $0357 + JSR L2A23 + JMP L2874 + +L09F2 LDY $08 + LDA L0925,Y + CMP #$02 + BEQ L0A00 + LDA L0857 + BNE L0A03 +L0A00 JMP L0B36 + +L0A03 LDA #$D6 + STA $0354 + JSR L1C63 + LDA L084C + CMP #$01 + BNE L0A63 + JSR L0B3F + BCS L0A28 + LDY $08 + LDA L0925,Y + CMP #$05 + BCC L0A60 + LDA #$00 + STA L0925,Y + JMP L0A60 + +L0A28 LDA L085B + BEQ L0A51 + LDA L0925 + BNE L0A37 + LDA #$06 + STA L0925 +L0A37 LDA $034C + CMP #$FF + BNE L0A46 + LDA #$00 + STA $037C + JMP L0AD4 + +L0A46 LDA $037C + BPL L0A4E + JMP L0B36 +L0A4E JMP L0939 + +L0A51 LDY $08 + LDA L0925,Y + BNE L0AD4 + LDA #$05 + STA L0925 + JMP L0AD4 +L0A60 JMP L0B36 + +L0A63 LDA $0F + STA $14 + LDA $0E + SEC + SBC #$01 + STA $13 + BCS L0A72 + DEC $14 +L0A72 LDY #$00 + LDA ($13),Y + EOR ($0E),Y + AND #$7F + BNE L0A82 + INC $0E + BNE L0A82 + INC $0F +L0A82 DEC $13 + LDA $13 + CMP #$FF + BNE L0A8C + DEC $14 +L0A8C LDA ($13),Y + EOR ($0E),Y + AND #$7F + BNE L0A9A + INC $0E + BNE L0A9A + INC $0F +L0A9A LDA L081A + STA $19 + LDA #$00 + STA $17 + LDA #$20 + STA $13 +L0AA7 LDY #$00 +L0AA9 LDA $C08C,X + BPL L0AA9 + DEC $17 + BNE L0AB6 + DEC $13 + BEQ L0ADF +L0AB6 EOR ($0E),Y + AND #$7F + BNE L0AA7 + INY + CPY $19 + BNE L0AA9 + LDY $08 + LDA #$00 + STA L0925,Y + JMP L0B36 + +L0ACB LDY $08 + LDA L0925,Y + CMP #$05 + BNE L0B36 +L0AD4 DEC $037C + BMI L0B36 + JSR L11EC + JMP L0939 + +L0ADF LDY $08 + LDA L0925,Y + BNE L0ACB + LDA #$05 + STA L0925,Y + JMP L0ACB +L0AEE RTS + +L0AEF LDA L084E + CMP #$02 + BEQ L0B0F + LDA #$4C + STA L09A1 + STA L09BD + LDA #L0982 + STA L09A1+2 + STA L09BD+2 + RTS + +L0B0F LDA #$EA + STA L09A1 + STA L09BD + STA L09A1+1 + STA L09BD+1 + LDA #$4C + STA L09A1+2 + STA L09BD+2 + LDA #L0982 + STA L09A5 + STA L09C1 + RTS + +L0B36 LDA #$00 + STA $0354 + JSR L1C63 + RTS + +L0B3F LDA L0925 + CMP #$02 + BNE L0B48 + CLC + RTS + +L0B48 LDA #$7A + STA $16 + STA $03 + LDA #$00 + STA $02 + LDA #$45 + STA $0378 + LDA $037D + STA $04 + JSR L0DAA + LDA L0803 + STA $00 + LDA L0804 + STA $01 + LDA L0806 + STA $17 +L0B6E LDY #$00 + LDX #$00 +L0B72 LDA ($00),Y + EOR ($02),Y + AND #$7F + BEQ L0B98 + INC $02 + BNE L0B6E + INC $03 + LDA $03 + CMP #$99 + BCS L0B88 + BCC L0B6E +L0B88 SEC + LDA L0925 + CMP #$01 + BEQ L0B95 + LDA #$05 + STA L0925 +L0B95 JMP L0BAA + +L0B98 INX + INY + CPX L0860 + BNE L0B72 + LDA $02 + STA $0350 + LDA $03 + STA $0351 + CLC +L0BAA LDA #$8B + STA $0378 + LDA #$34 + STA $16 + PHP + JSR L0BCE + BCS L0BC8 + LDA $034F + BNE L0BC8 + LDA $034E + CMP L085C + BCS L0BC8 + PLP + RTS + +L0BC8 PLP + DEC $037C + SEC + RTS + +L0BCE BCS L0C0D + LDY #$00 + LDX #$00 + LDA L0803 + STA $00 + LDA L0804 + STA $01 + LDA $03 + CLC + ADC L0813 + STA $03 + CMP #$BF + BCC L0BED + JMP L0D46 + +L0BED LDA ($00),Y + EOR ($02),Y + AND #$7F + BEQ L0C24 + INC $02 + BNE L0C06 + INC $03 + LDA $03 + SEC + SBC $0351 + CMP L0812 + BCS L0C0D +L0C06 LDY #$00 + LDX #$00 + JMP L0BED + +L0C0D LDA #$00 + STA $034F + LDA #$20 + STA $034E + LDA #$FF + STA $034B + LDA #$CF + STA $034D + JMP L0CF3 + +L0C24 INX + INY + CPX L0860 + BCC L0BED + LDA $02 + SEC + SBC $0350 + STA $0350 + LDA $03 + SBC $0351 + STA $0351 + LDA L081B + BEQ L0C70 + LDA #$04 + STA $22 + LDA #$00 + STA $24 + LDA #$0E + STA $25 + JSR VTABZ + LDA #$1A + STA $24 + LDA $0351 + LDX $0350 + JSR PRNTAX + LDA L0925 + CMP #$05 + BNE L0C70 + LDA #$00 + STA L0925 + LDA #$FF + STA $034C + CLC + RTS + +L0C70 LDA L085B + BEQ L0C78 + JMP L0C7A + +L0C78 CLC + RTS + +L0C7A LDA $034B + BEQ L0C86 + LDA #$FF + STA $037C + SEC + RTS + +L0C86 LDA $08 + CLC + ROL + TAY + LDA $0350 + SEC + SBC $0341,Y + STA $034E + LDA $0351 + SBC $0342,Y + STA $034F + BCS L0CB9 + LDA #$00 + SEC + SBC $034E + STA $034E + LDA #$00 + SBC $034F + STA $034F + LDA #$CF + STA $034D + JMP L0CBE + +L0CB9 LDA #$C4 + STA $034D +L0CBE LDA $034E + CMP L085C + BCS L0CCE + LDA $034F + BNE L0CCE + JMP L0C78 + +L0CCE LDA L084E + CMP #$02 + BEQ L0CD9 + LDY #$02 + BNE L0CDB +L0CD9 LDY #$01 +L0CDB LDA $034E + ASL + STA $034E + LDA $034F + ROL + STA $034F + BCC L0CF0 + ORA #$80 + STA $034F +L0CF0 DEY + BNE L0CDB +L0CF3 LDA L0803 + STA $00 + LDA L0804 + STA $01 + LDA L0805 + STA $02 + LDA L0806 + STA $03 + LDA $034D + CMP #$C4 + BNE L0D54 + LDY #$00 +L0D10 LDA ($02),Y + AND #$83 + CMP #$81 + BCC L0D35 + LDA ($02),Y + AND #$7F + STA ($02),Y + DEC $034E + LDA $034E + CMP #$FF + BNE L0D35 + DEC $034F + LDA $034F + CMP #$FF + BNE L0D35 + JMP L0D4D + +L0D35 LDA $02 + SEC + SBC #$08 + STA $02 + BCS L0D10 + DEC $03 + LDA $03 + CMP $01 + BCS L0D10 +L0D46 LDA #$FF + STA $034B + SEC + RTS + +L0D4D LDA #$00 + STA $034C + CLC + RTS + +L0D54 LDY #$00 +L0D56 LDA ($02),Y + AND #$80 + BNE L0D77 + ORA #$80 + STA ($02),Y + DEC $034E + LDA $034E + CMP #$FF + BNE L0D77 + DEC $034F + LDA $034F + CMP #$FF + BNE L0D77 + JMP L0D4D + +L0D77 DEY + CPY #$FF + BNE L0D56 + DEC $03 + LDA $03 + CMP $01 + BCS L0D56 + BCC L0D46 +L0D86 LDA #$02 + STA $00 + LDA $16 + STA $01 +L0D8E LDY #$FD + LDA ($00),Y + BPL L0DA1 + INY + INY + LDA ($00),Y + BPL L0DA1 + DEY + LDA ($00),Y + ORA #$80 + STA ($00),Y +L0DA1 INC $01 + LDA $01 + CMP $0D + BNE L0D8E + RTS + +L0DAA LDA $0354 + CMP #$D6 + BEQ L0DB6 + LDA #$D2 + STA $0354 +L0DB6 JSR L1D9F + LDA $04 + AND #$F0 + TAX + LDA $16 + STA $01 + CLC + ADC $0378 + STA $0D + LDA #$00 + STA $00 + LDA $0354 + CMP #$D6 + BEQ L0DD6 + JSR L18E0 +L0DD6 LDA L0866 + BEQ L0E00 + LDY #$00 +L0DDD LDA $C08C,X + BPL L0DDD + STA ($00),Y + INY + BNE L0DDD + INC $01 + LDA $01 + CMP $0D + BNE L0DDD + LDA $C088,X + JMP L0EED + + ds \ + +L0E00 LDY #$00 +L0E02 BIT $00 + LDA $C08C,X + BMI L0E53 + LDA $C08C,X + BMI L0E53 +L0E0E LDA $C08C,X + BMI L0E53 + LDA $C08C,X + BMI L0E42 + LDA $C08C,X + BMI L0E42 + LDA $C08C,X + BMI L0E42 + LDA $C08C,X + BMI L0E42 +L0E27 NOP + NOP + LDA $C08C,X + BMI L0E53 +L0E2E LDA $C08C,X + BMI L0E53 + LDA $C08C,X + BMI L0E42 + LDA $C08C,X + BMI L0E42 + LDA $C08C,X + BMI L0E42 +L0E42 AND #$7F + STA ($00),Y + INY + BNE L0E27 + INC $01 + LDA $01 + CMP $0D + BCC L0E2E + BCS L0E61 +L0E53 STA ($00),Y + INY + BNE L0E02 + NOP + INC $01 + LDA $01 + CMP $0D + BCC L0E0E +L0E61 LDA $C088,X + JSR L0D86 + JSR L1242 + JMP L0EED + +L0E6D HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + HEX FFFF000000000000FF00000000000000 + HEX FFFFFFFF00000000FF00000000000000 + HEX FFFF000000000000FF00000000000000 + HEX FFFFFFFFFFFFFFFFFF00000000000000 + HEX FFFF000000000000FF00000000000000 + HEX FFFFFFFF00000000FF00000000000000 + HEX FFFF000000000000FF00000000000000 + +L0EED LDA $0354 + CMP #$D6 + BEQ L0EFC + LDA #$C1 + STA $0354 + JSR L1C63 +L0EFC LDY #$00 + STY $00 + LDA $16 + STA $01 +L0F04 LDA ($00),Y + AND #$7F + BNE L0F0F + LDA L0817 + STA ($00),Y +L0F0F INY + BNE L0F04 + INC $01 + LDA $01 + CMP $0D + BNE L0F04 + JMP L0F1D + +L0F1D LDA L0819 + BNE L0F25 + JMP L0FC2 + +L0F25 LDY #$00 + STY $00 + LDA $16 + STA $01 +L0F2D LDX #$0B +L0F2F LDA L081E,X + BEQ L0F3D + LDA ($00),Y + ORA #$80 + CMP L081E,X + BNE L0F4F +L0F3D INY + BNE L0F48 + INC $01 + LDA $01 + CMP $0D + BCS L0FBD +L0F48 INX + CPX #$0E + BEQ L0F60 + BNE L0F2F +L0F4F CPX #$0B + BNE L0F2D + INY + BNE L0F2D + INC $01 + LDA $01 + CMP $0D + BCS L0FBD + BCC L0F2D +L0F60 INY + BNE L0F6B + INC $01 + LDA $01 + CMP $0D + BCS L0FBD +L0F6B LDA L0817 + STA ($00),Y + INY + BNE L0F7B + INC $01 + LDA $01 + CMP $0D + BCS L0FBD +L0F7B LDA ($00),Y + ORA #$80 + CMP L081E + BNE L0F99 + INY + BNE L0F89 + INC $01 +L0F89 LDA ($00),Y + ORA #$80 + CMP L081F + BEQ L0F2D + DEY + CPY #$FF + BNE L0F99 + DEC $01 +L0F99 LDA ($00),Y + ORA #$80 + CMP L082C + BNE L0F6B + INY + BNE L0FA7 + INC $01 +L0FA7 LDA ($00),Y + ORA #$80 + CMP L082D + BNE L0FB3 + JMP L0F2D + +L0FB3 DEY + CPY #$FF + BNE L0F6B + DEC $01 + JMP L0F6B +L0FBD JMP L0FC2 + +L0FC0 PLA + RTS + +L0FC2 LDA L0818 + BNE L0FC8 + RTS + +L0FC8 LDY #$00 + STY $00 + LDA $16 + STA $01 +L0FD0 LDA L0842 + STA $036E + LDA #$00 + STA $17 + STA $13 + STY $15 + LDA $01 + STA $14 +L0FE2 LDA ($00),Y + PHA + INY + BNE L0FF2 + INC $01 + LDA $01 + CMP $0D + BEQ L0FC0 + BCS L0FC0 +L0FF2 PLA + BMI L1000 +L0FF5 INC $17 + BNE L0FE2 + LDA #$FF + STA $13 + JMP L0FE2 + +L1000 LDA $17 + SEC + SBC #$03 + BCC L1045 + LDA ($00),Y + INY + PHA + BNE L1015 + INC $01 + LDA $01 + CMP $0D + BEQ L0FC0 +L1015 DEC $036E + PLA + BPL L101E + JMP L1033 + +L101E SEC + LDA L0842 + SBC $036E + CLC + ADC $17 + STA $17 + LDA L0842 + STA $036E + JMP L0FF5 + +L1033 LDA $036E + BNE L1000 + LDX L0842 +L103B DEY + CPY #$FF + BNE L1042 + DEC $01 +L1042 DEX + BNE L103B +L1045 LDA $13 + BEQ L104C + JMP L0FD0 + +L104C LDA $17 + CMP L0816 + BCS L1056 + JMP L0FD0 + +L1056 LDA $15 + STA $00 + LDA $01 + PHA + LDA $14 + STA $01 + TYA + PHA + LDY #$00 +L1065 LDA ($00),Y + BMI L1071 + LDA L0817 + STA ($00),Y + JMP L107B + +L1071 LDA L0843 + BEQ L107B + LDA L0817 + STA ($00),Y +L107B INY + BNE L1081 + JMP L0DAA + +L1081 CPY $17 + BCC L1065 + PLA + TAY + PLA + STA $01 + LDA #$00 + STA $00 + JMP L0FD0 + +L1091 JSR L11A2 + LDA #$00 + STA KVERSION + LDA #$C0 + STA $0355 + LDA $08 + ASL + ASL + PHA + TAX + LDA L0803,X + STA $0E + STA $00 + LDA L0804,X + STA $0F + STA $01 + LDA $0E + SEC + SBC #$7F + BCS L10BB + DEC $01 +L10BB STA $00 + LDA L081D + BEQ L10DB + LDA #$00 + TAY + STA ($00),Y + LDA #$34 + LDY $08 +L10CB DEY + BMI L10D5 + CLC + ADC $0378 + JMP L10CB + +L10D5 STA $01 + LDA #$00 + STA $00 +L10DB PLA + TAX + LDA L0805,X + STA $14 + STA $02 + LDA L0806,X + STA $17 + STA $03 + LDA $03 + CMP #$BF + BCC L10FC + LDA #$03 + LDY $08 + STA L0925,Y + LDA #$BF + STA $03 +L10FC LDA #$00 + TAY + STA ($02),Y + LDA L081B + BEQ L112D + LDY $08 + LDA L0925,Y + BNE L112D + LDA L084C + CMP #$01 + BNE L111B + LDA L081B + CMP #$02 + BNE L112D +L111B LDA L081B + STA $84 + LDA #$01 + STA L081B + JSR L1999 + LDA $84 + STA L081B +L112D JSR L18E0 + LDA L081D + BNE L113E + LDA $00 + STA $17 + LDA #$00 + STA $00 + RTS + +L113E LDY #$00 + LDA ($00),Y + ORA #$80 + NOP + NOP +L1146 STA $0200,X + CMP $0200,X + CPY $00 +L114E INY + BNE L1172 + INC $01 + LDA ($00),Y + NOP + BEQ L119A + ORA #$80 + STA $0200,X + CMP $0200,X + JMP L114E + + ORA #$80 + STA $0200,X + CMP $0200,X + NOP + NOP + JMP L114E + + NOP + NOP +L1172 LDA ($00),Y + BEQ L119A + BPL L117D + CPY $00 + JMP L1146 + +L117D ORA #$80 + BIT $00 + STA $0200,X + CMP $0200,X + NOP + NOP + JMP L114E + + NOP + NOP + BIT $00 + STA $0200,X + CMP $0200,X + JMP L114E + RTS + +L119A INY + STY $17 + BNE L11A1 + INC $01 +L11A1 RTS + +L11A2 LDA L085D + BEQ L11EB + LDA L084F + BNE L11EB + LDA #$1F + STA $14 + LDY #$00 + LDA $037D + AND #$F0 + TAX + LDA $C08D,X + LDA $C08E,X + BMI L11EB + LDA #$FF + STA $C08F,X + CMP $C08C,X + PHA + PLA + BIT $00 +L11CC PHA + PLA +L11CE LDA L0815 + ORA #$80 + STA $C08D,X + CMP $C08C,X + NOP + BIT $00 + DEY + BNE L11CC + DEC $14 + BNE L11CE + PHA + PLA + LDA $C08E,X + LDA $C08C,X +L11EB RTS + +L11EC JSR L1091 + LDA $0E + STA $02 + STA $00 + STA $17 + LDA $0F + STA $03 + STA $01 + STA $14 + LDX #$00 + LDY #$00 +L1203 LDA ($00),Y + BEQ L122B + BMI L1218 + INX + CPX L084D + BCC L121A + INC $00 + BNE L1203 + INC $01 + JMP L1203 + +L1218 LDX #$00 +L121A STA ($02),Y + INC $02 + BNE L1222 + INC $03 +L1222 INC $00 + BNE L1203 + INC $01 + JMP L1203 + +L122B LDA #$00 + STA ($02),Y + LDA $17 + STA $00 + LDA $14 + STA $01 + LDA $03 + STA L0806 + LDA $02 + STA L0805 + RTS + +L1242 DEC $01 + DEY + LDA #$80 + STA $17 +L1249 LDA ($00),Y + BIT $17 + STA $17 + BMI L1255 + AND #$7F + BPL L1257 +L1255 ORA #$80 +L1257 STA ($00),Y + DEY + CPY #$FF + BNE L1249 + DEC $01 + LDX $16 + DEX + CPX $01 + BNE L1249 + RTS + +L1268 LDA L0810 + STA $037C +L126E LDX $07 + LDA #$00 + STA L0925,X + TXA + ASL + ASL + STA $10 + LDY #$00 + STY $00 + LDA $16 + CLC + ADC #$02 + STA $01 + LDA L084C + CMP #$01 + BNE L1294 + LDA #$68 + STA $0364 + JMP L129C + +L1294 LDA $0D + SEC + SBC #$1D + STA $0364 +L129C LDA #$C8 + STA $0374 + LDA L0861 + BNE L12B7 + LDA L0865 + CMP #$03 + BEQ L12B7 + CMP #$01 + BEQ L12B4 + JMP L1745 +L12B4 JMP L1356 + +L12B7 LDX #$00 +L12B9 STY $15 + LDA $01 + STA $14 +L12BF LDA L081E,X + BEQ L12CD + LDA ($00),Y + ORA #$80 + CMP L081E,X + BNE L12E5 +L12CD INX + CPX L081A + BCC L12DA + JSR L14B5 + BCC L1318 + BCS L129C +L12DA INY + BNE L12BF + JSR L14A8 + BCS L12F3 + JMP L12BF + +L12E5 TXA + BNE L12B7 + INY + BNE L12B9 + JSR L14A8 + BCS L12F3 + JMP L12B9 + +L12F3 LDA L084F + BEQ L1356 + DEC $037C + BMI L1303 + JSR L0DAA + JMP L126E + +L1303 LDA $16 + STA $14 + LDA #$00 + STA $15 + LDY $07 + LDA #$02 + STA L0925,Y + JSR L158C + JMP L15EF + +L1318 LDA L0861 + BEQ L1342 + LDA $15 + CLC + ADC L0862 + STA $00 + LDA $14 + ADC L0863 + STA $01 + LDA L0864 + BEQ L1348 + LDX #$00 + LDY L081A +L1336 DEY + BMI L1342 + LDA ($00),Y + STA L081E,X + INX + JMP L1336 + +L1342 JSR L158C + JMP L15EF + +L1348 LDY L081A +L134B DEY + BMI L1342 + LDA ($00),Y + STA L081E,Y + JMP L134B + +L1356 LDA #$D3 + STA $0374 + LDY $07 + LDA #$02 + STA L0925,Y + LDY #$00 + STY $00 + STY $0362 + STY $0360 + LDA $16 + CLC + ADC #$02 + STA $01 + STA $0361 +L1376 LDA #$AA + STA $15 + LDX #$00 +L137C LDA ($00),Y + PHA + INY + BNE L138B + JSR L14A8 + BCC L138B + PLA + JMP L1470 + +L138B PLA + AND #$80 + BNE L137C +L1390 INX + BNE L1397 + LDA #$FF + STA $15 +L1397 LDA ($00),Y + PHA + INY + BNE L13A6 + JSR L14A8 + BCC L13A6 + PLA + JMP L1470 + +L13A6 PLA + AND #$80 + BEQ L1390 + LDA L0853 + BNE L13BA + LDA $15 + CMP #$FF + BNE L13BA + TAX + JMP L140E + +L13BA LDA $15 + CMP #$FF + BEQ L1376 + CPX L0816 + BCS L13C8 + JMP L1376 + +L13C8 CPX $0362 + BCC L1376 + BEQ L1376 + CPX #$01 + BNE L140E + TXA + PHA + TYA + PHA + LDA $01 + PHA + LDX #$20 + LDA #$00 + STA $1D +L13E0 LDA ($00),Y + AND #$80 + BNE L13E8 + INC $1D +L13E8 DEX + BEQ L13F3 + INY + BNE L13E0 + JSR L14A8 + BCC L13E0 +L13F3 PLA + STA $01 + PLA + TAY + PLA + LDX $1D + BEQ L1404 + CPX #$10 + BCS L140D + JMP L1443 + +L1404 LDX $0362 + BEQ L1447 + TAX + JMP L1376 + +L140D TAX +L140E TXA + PHA + TYA + PHA + LDA $01 + PHA + LDA #$08 + STA $1D +L1419 LDA ($00),Y + AND #$80 + BEQ L1435 + LDA ($00),Y + AND #$7F + TAX + LDA L0E6D,X + BNE L1435 + DEC $1D + BEQ L1435 + INY + BNE L1419 + JSR L14A8 + BCC L1419 +L1435 PLA + STA $01 + PLA + TAY + PLA + LDX $1D + BEQ L1443 + TAX + JMP L1376 + +L1443 TAX + STX $0362 +L1447 TYA + BNE L144C + DEC $01 +L144C DEY + STY $0360 + LDA $01 + STA $0361 + LDY $07 + LDA #$00 + STA L0925,Y + LDA L084C + CMP #$04 + BEQ L1470 + LDA L085F + BNE L1470 + JSR L14A8 + BCS L1470 + JMP L1376 + +L1470 LDY $07 + LDA L0925,Y + BEQ L147A + JMP L1742 + +L147A JSR L14B5 + BCC L1494 + LDA $037C + BMI L148D + LDA L0816 + STA $0362 + JMP L1376 + +L148D LDY $07 + LDA #$02 + STA L0925,Y +L1494 LDA $0360 + STA $15 + STA $00 + LDA $0361 + STA $14 + STA $01 + JSR L158C + JMP L15EF + +L14A8 INC $01 + LDA $01 + CMP $0364 + BEQ L14B3 + BCC L14B4 +L14B3 SEC +L14B4 RTS + +L14B5 LDA L085F + BNE L14BC + CLC + RTS + +L14BC LDA $0374 + CMP #$C8 + BEQ L14E1 + LDA $0360 + CLC + ADC #$0F + STA $00 + LDA $0361 + ADC #$00 + STA $01 + LDA $0360 + CLC + ADC L0856 + STA $02 + LDA $0361 + JMP L14F8 + +L14E1 LDA $15 + CLC + ADC #$0F + STA $00 + LDA $14 + ADC #$00 + STA $01 + LDA $15 + CLC + ADC L0856 + STA $02 + LDA $14 +L14F8 ADC L0855 + STA $03 + LDA $02 + SEC + SBC #$2F + STA $02 + BCS L1508 + DEC $03 +L1508 LDY #$00 +L150A LDA ($00),Y + AND #$F0 + ORA #$80 + CMP #$80 + BEQ L1553 + CMP #$90 + BEQ L1553 + CMP #$C0 + BEQ L1553 + LDA L0841 + BNE L152B + LDA ($00),Y + AND #$7F + TAX + LDA L0E6D,X + BNE L1553 +L152B LDA $01 + CMP $03 + BEQ L1542 + INC $00 + BNE L150A + INC $01 + LDA $01 + CMP $03 + BCC L150A + BEQ L1544 + JMP L154A + +L1542 INC $00 +L1544 LDA $00 + CMP $02 + BCC L150A +L154A LDY $07 + LDA #$00 + STA L0925,Y + CLC + RTS + +L1553 DEC $037C + LDA $0374 + CMP #$C8 + BNE L1571 + LDA $15 + CLC + ADC #$03 + TAY + BCC L1567 + INC $14 +L1567 LDA $14 + STA $01 + LDA #$00 + STA $00 + SEC + RTS + +L1571 LDA #$00 + STA $00 + LDA $0361 + CLC + ADC #$01 + STA $01 + CMP $0364 + BCC L1587 + PLA + PLA + JMP L148D + +L1587 LDY $0360 + SEC + RTS + +L158C LDA fgCOMMAND + BEQ L15D9 + LDA $16 + STA $03 + LDA $15 + STA $00 + LDA $14 + STA $01 + DEC $00 + LDA $00 + CMP #$FF + BNE L15A7 + DEC $01 +L15A7 LDY #$00 +L15A9 LDA ($00),Y + BMI L15BA + TAX + LDA L0E6D,X + BEQ L15C6 + LDA #$7F + STA ($00),Y + JMP L15C6 + +L15BA AND #$7F + TAX + LDA L0E6D,X + BEQ L15C6 + LDA #$FF + STA ($00),Y +L15C6 DEC $00 + LDA $00 + CMP #$FF + BNE L15A9 + DEC $01 + LDA $01 + CMP $03 + BCC L15D9 + JMP L15A9 + +L15D9 LDA $15 + STA $00 + STA $09 + STA $0349 + LDA $14 + STA $01 + STA $0A + STA $034A + JSR L16EF + RTS + +L15EF LDA L0854 + BEQ L160D + LDA $00 + CLC + ADC L0856 + STA $15 + LDA $01 + ADC L0855 + CMP #$C0 + BCS L166B + STA $14 + JSR L16EF + JMP L1729 + +L160D LDA $01 + CLC + ADC L0813 + STA $03 + CMP $0D + BEQ L1647 + BCS L1647 + LDY #$00 + LDX #$00 + STY $02 + SEC + LDA $00 + SBC $033E + STA $00 + BCS L162D + DEC $01 +L162D LDA ($00),Y + EOR ($02),Y + AND #$7F + BEQ L1675 + INC $02 + BNE L166E + INC $03 + LDA $03 + CMP #$C0 + BCS L1647 + CMP $0D + BEQ L1647 + BCC L166E +L1647 DEC $037C + BMI L166B + LDA L0810 + SEC + SBC #$01 + CMP $037C + BNE L1665 + LDA L0860 + SEC + SBC #$04 + STA L0860 + LDA #$00 + STA $033E +L1665 JSR L0DAA + JMP L126E +L166B JMP L1742 + +L166E LDY #$00 + LDX #$00 + JMP L162D + +L1675 INX + INY + CPX L0860 + BCC L162D + CLC + LDA $033E + ADC $02 + STA $02 + BCC L1688 + INC $03 +L1688 LDA $07 + CLC + ROL + TAY + LDA $02 + SEC + SBC $09 + STA $0341,Y + LDA $03 + SBC $0A + STA $0342,Y + LDY #$00 + LDA #$FF + STA $0376 +L16A3 LDA L084A + STA $036E + INC $0376 +L16AC DEC $02 + LDA $02 + CMP #$FF + BNE L16B6 + DEC $03 +L16B6 LDA ($02),Y + BPL L16A3 + AND #$7F + TAX + LDA L0E6D,X + BNE L16A3 + DEC $036E + BNE L16AC + LDA L084A + CLC + ADC $02 + STA $02 + BCC L16D3 + INC $03 +L16D3 LDY $0376 + BEQ L16E1 + LDA $02 + CLC + ADC #$03 + BCC L16E1 + INC $03 +L16E1 STA $02 + STA $15 + LDA $03 + STA $14 + JSR L16EF + JMP L1705 + +L16EF LDX $10 + LDA $15 + STA L0803,X + STA $17 + INX + LDA $14 + STA L0803,X + STA $0375 + INX + STX $10 + RTS + +L1705 DEX + LDA L0803,X + SEC + SBC $0A + CMP L0812 + BCC L1729 + DEC $10 + DEC $10 + LDY $07 + LDA L0925,Y + BNE L1721 + LDA #$03 + STA L0925,Y +L1721 LDA $037C + BMI L1729 + JMP L1647 + +L1729 JSR L1873 + LDA fgCOMMAND + BNE L1733 + CLC + RTS + +L1733 LDA L081B + JSR L193C + CLC + LDA $0D + STA $16 + RTS + JMP L1647 + +L1742 JSR L0DAA +L1745 LDA $07 + ASL + ASL + STA $10 + LDA #$C7 + STA $0374 + LDA $16 + STA $01 + STA $03 + LDY #$00 + STY $00 + STY $02 + STY $0362 +L175F LDA ($00),Y + AND #$7F + TAX + INY + BNE L1770 + INC $01 + LDA $01 + CMP $0364 + BEQ L17CB +L1770 LDA L0E6D,X + BEQ L175F + STY $09 + LDA $01 + STA $0A +L177B LDA #$80 + STA $13 +L177F DEC $13 + BEQ L17A2 + LDA ($00),Y + AND #$7F + TAX + INY + BNE L1794 + INC $01 + LDA $01 + CMP $0364 + BEQ L17CB +L1794 LDA L0E6D,X + BEQ L177F + STY $15 + LDA $01 + STA $14 + JMP L177B + +L17A2 LDA $15 + SEC + SBC $09 + STA $1D + LDA $14 + SBC $0A + STA $19 + BNE L17D3 + LDA $1D + CMP $0362 + BCS L17BB + JMP L175F + +L17BB LDA $1D + STA $0362 + LDA $15 + STA $02 + LDA $14 + STA $03 + JMP L175F + +L17CB LDA $02 + STA $15 + LDA $03 + STA $14 +L17D3 JSR L158C + LDA $00 + CLC + ADC #$02 + STA $00 + BCC L17E1 + INC $01 +L17E1 LDA $01 + CLC + ADC L0813 + STA $03 + CMP $0D + BEQ L1815 + BCS L1815 + LDA #$00 + STA $02 +L17F3 LDY #$00 + LDX #$00 +L17F7 LDA ($00),Y + EOR ($02),Y + AND #$7F + BEQ L180E + INC $02 + BNE L17F3 + INC $03 + LDA $03 + CMP $0D + BEQ L1815 + JMP L17F3 + +L180E INX + INY + CPX L0860 + BCC L17F7 +L1815 SEC + LDA $02 + SBC $00 + STA $02 + LDA $03 + SBC $01 + STA $03 + SEC + LDA $02 + SBC $1D + STA $02 + LDA $03 + SBC $19 + STA $03 + CMP L0812 + BCC L183C + LDA #$18 + STA $03 + LDA #$86 + STA $02 +L183C LDA $07 + ASL + TAY + LDA $02 + STA $0341,Y + LDA $03 + STA $0342,Y + CLC + LDA $15 + ADC $02 + STA $02 + STA $15 + LDA $14 + ADC $03 + STA $03 + STA $14 + LDA #$20 + CLC + ADC $15 + STA $15 + BCC L1866 + INC $14 +L1866 JSR L16EF + LDY $07 + LDA #$00 + STA L0925,Y + JMP L1729 + +L1873 LDA L0844 + BEQ L18DE + LDA $07 + ASL + ASL + TAY + LDA L0803,Y + STA $00 + INY + LDA L0803,Y + STA $01 + CLC + ADC #$19 + CMP #$BF + BCC L1891 + LDA #$BF +L1891 STA $03 + LDY #$00 + LDX #$00 +L1897 LDA L0845,X + BEQ L18A2 + EOR ($00),Y + AND #$7F + BNE L18D9 +L18A2 INX + CPX #$05 + BEQ L18B6 +L18A7 INY + BNE L1897 + INC $01 + LDA $01 + CMP $03 + BEQ L18DE + BCS L18DE + BCC L1897 +L18B6 DEX +L18B7 LDA L0845,X + BEQ L18C0 + BMI L18C0 + STA ($00),Y +L18C0 DEY + CPY #$FF + BNE L18C7 + DEC $01 +L18C7 DEX + BPL L18B7 + TYA + CLC + ADC #$06 + BCC L18D2 + INC $01 +L18D2 TAY + LDA $01 + CMP $03 + BCS L18DE +L18D9 LDX #$00 + JMP L18A7 + +L18DE CLC + RTS + +L18E0 LDA L081D + BEQ L1929 + LDA $05 + CMP L081C + BEQ L1929 + STA $17 + LDA $0354 + PHA + LDA #$D3 + STA $0354 + JSR L1C63 + PLA + STA $0354 + LDA L081C + STA $06 + JSR L1CC1 + LDA #$9F + JSR WAIT +L190B LDY #$00 +L190D LDA L0832,Y + BEQ L192E +L1912 LDA $C08C,X + BPL L1912 + CMP L0832,Y + BNE L190B + INY + CPY L0840 + BNE L190D +L1922 LDA $17 + STA $06 + JSR L1CC1 +L1929 JSR L1C63 + CLC + RTS + +L192E LDA $C08C,X + BPL L192E + INY + CPY L0840 + BMI L190D + JMP L1922 + +L193C LDA #$00 + STA $0359 + LDA KBD + CMP #$9B ; escape + BNE L1958 + LDA KBDSTROBE + PLA + PLA + LDA #$00 + STA $0357 + JSR L2A23 + JMP L2874 + +L1958 LDX $10 + DEX + LDA L0803,X + STA $17 + DEX + LDA L0803,X + STA $14 + DEX + LDA L0803,X + STA $0F + STA $01 + DEX + LDA L0803,X + STA $0E + STA $00 +L1976 LDA L081B + BNE L197D + CLC + RTS + +L197D LDA fgCOMMAND + BNE L1999 + LDA $0359 + BNE L1999 +L1987 LDA $16 + STA $0F + LDA $0D + STA $17 + DEC $17 + LDA #$00 + STA $0E + LDA #$FF + STA $14 +L1999 LDA #$04 + STA $22 + LDA #$0F + STA $23 + JSR HOME + LDY $07 + LDA L0925,Y + CMP #$02 + BCC L19B0 + JMP L1AEF + +L19B0 LDY #$00 + JSR L1B73 + TYA + PHA + LDA #$00 + STA $033C + STA $0371 + LDA $05 + CLC + ROR + BCC L19CA + LDY #$25 + STY $033C +L19CA CLC + ROR + BCC L19D3 + LDY #$50 + STY $0371 +L19D3 JSR PRBYTE + LDA $033C + CLC + ADC $0371 + BEQ L19E9 + PHA + LDA #$AE + JSR COUT1 + PLA + JSR PRBYTE +L19E9 PLA + TAY + JSR L1B73 + TYA + PHA + LDX $0E + LDA $0F + JSR PRNTAX + PLA + TAY + JSR L1B73 + SEC + LDA $14 + SBC $0E + STA $0375 + LDA $17 + SBC $0F + JSR PRBYTE + LDA $0375 + JSR PRBYTE + LDA $0359 + BEQ L1A19 + JMP L2AC3 + +L1A19 LDA fgCOMMAND + BNE L1A22 + JSR L2AC3 + RTS + +L1A22 JSR CROUT + JSR CROUT + LDA L081B + CMP #$02 + BNE L1A32 + JMP L1AD1 + +L1A32 LDA #$07 + STA $036F + LDX #$07 + JSR PRBL2 + LDA $0F + STA $1F + LDA $0E + SEC + SBC #$08 + BCS L1A49 + DEC $1F +L1A49 STA $1E + LDY #$00 +L1A4D LDX #$08 +L1A4F LDA ($1E),Y + STY $15 + BMI L1A5C + PHA + JSR SETINV + PLA + ORA #$80 +L1A5C JSR PRBYTE + JSR SETNORM + LDA #$A0 + JSR COUT1 + LDY $15 + INY + DEX + BNE L1A4F + JSR CROUT + DEC $036F + BEQ L1A7D + LDX #$07 + JSR PRBL2 + JMP L1A4D + +L1A7D LDY #$00 +L1A7F LDA L1B92,Y + INY + CMP #$A6 + BEQ L1A8D + JSR COUT1 + JMP L1A7F + +L1A8D LDA #$21 + STA $24 + LDY #$00 + LDA $0374 + CMP #$C8 + BEQ L1AA5 + CMP #$C7 + BNE L1AA3 + LDY #$0C + JMP L1AA5 + +L1AA3 LDY #$07 +L1AA5 LDA L1B82,Y + INY + CMP #$A6 + BEQ L1AB3 + JSR COUT1 + JMP L1AA5 + +L1AB3 LDA L0854 + BNE L1ACA + LDA #$0A + STA $24 + LDA $07 + CLC + ROL + TAY + LDA $0342,Y + LDX $0341,Y + JSR PRNTAX +L1ACA LDA L081B + CMP #$02 + BNE L1AEE +L1AD1 JSR L2AC3 + LDX $10 + DEX + LDA $17 + STA L0803,X + DEX + LDA $14 + STA L0803,X + DEX + LDA $0F + STA L0803,X + DEX + LDA $0E + STA L0803,X +L1AEE RTS + +L1AEF LDY #$00 +L1AF1 LDA L1BB6,Y + INY + CMP #$A6 + BEQ L1AFF + JSR COUT1 + JMP L1AF1 + +L1AFF LDA fgCOMMAND + BNE L1B16 + LDY #$14 +L1B06 LDA #$00 + JSR WAIT + DEY + BNE L1B06 + LDA #$00 + STA L0925 + JMP L1987 + +L1B16 LDA L081B + CMP #$02 + BNE L1AEE + JSR CROUT + LDY #$00 +L1B22 LDA L1BD1,Y + BEQ L1B2E + INY + JSR COUT1 + JMP L1B22 + +L1B2E JSR RDKEY + CMP #$9B + BNE L1B3A + PLA + PLA + JMP (SOFTEV) + +L1B3A CMP #$D2 + BNE L1B46 + PLA + PLA + JSR L0DAA + JMP L1268 + +L1B46 CMP #$C5 ; E + BNE L1B4C + BEQ L1B5A +L1B4C CMP #$CE ; N + BNE L1B70 + JSR L0DAA + LDY $07 + LDA #$02 + STA L0925,Y +L1B5A LDA $16 + STA $0F + LDA #$00 + STA $0E + LDA $0D + SEC + SBC #$01 + STA $17 + LDA #$FF + STA $14 + JMP L1AD1 +L1B70 JMP L1AEE + +L1B73 LDA L1C46,Y + INY + CMP #$A6 + BEQ L1B81 + JSR COUT1 + JMP L1B73 +L1B81 RTS + +L1B82 inv 'HEADER' + ASC "&" + inv 'SYNC' + ASC "&" + inv 'GAP' + ASC "&" +L1B92 ASC 8D" " + inv 'SOURCE:' + ASC " " + inv 'OBJECT:' + ASC " &" + +L1BB6 ASC 8D + ASC " UNABLE TO ANALYZE TRACK &" +L1BD1 ASC 8D + ASC " PRESS:"8D8D + ASC " "12 + ASC " TO RETRY"8D + ASC " "05 + ASC " TO EDIT AS IS"8D + ASC " "0E + ASC " TO RE-READ & EDIT W/O ANALYSIS"8D + ASC " " + inv 'RETURN' + ASC " TO SKIP THIS TRACK "00 + +L1C46 inv 'TRACK:' + ASC " &" + ASC " " + inv 'START:' + ASC " &" + ASC " " + inv 'LENGTH:' + ASC " &" + +L1C63 LDA fgCOMMAND + BNE L1C69 + RTS + +L1C69 LDA $23 + STA $0373 + LDA $22 + STA $0376 + LDA #$12 + STA $22 + LDA #$18 + STA $23 + LDA $05 + LSR + AND #$01 + CLC + ADC #$15 + STA $25 + JSR VTAB + LDA $05 + LSR + LSR + CLC + ADC #$04 + STA $24 + LDA $0354 + CMP #$10 + BCC L1CAB + CMP #$A0 + BEQ L1C9F + JSR SETINV +L1C9F LDA $0354 + JSR COUT1 + JSR SETNORM + JMP L1CB6 + +L1CAB LDY $08 + LDA L0925,Y + CLC + ADC #$B0 + JSR COUT1 +L1CB6 LDA $0376 + STA $22 + LDA $0373 + STA $23 + RTS + +L1CC1 JSR L1D9F + LDA $04 + AND #$F0 + TAX + STX $2B + LDA $06 + CMP $05 + BNE L1CD4 + JMP L1D48 + +L1CD4 LSR + STA $033D + LDA $05 + AND #$01 + BEQ L1CF0 + LDA $05 + LSR + PHA + SEC + JSR L1D3D + LDA #$FF + JSR L1D49 + PLA + CLC + JSR L1D3D +L1CF0 LSR $05 + LDA #$00 + STA $26 +L1CF6 LDA $05 + STA $27 + SEC + SBC $033D + BEQ L1D31 + BCS L1D08 + EOR #$FF + INC $05 + BCC L1D0C +L1D08 ADC #$FE + DEC $05 +L1D0C CMP $26 + BCC L1D12 + LDA $26 +L1D12 CMP #$0C + BCS L1D17 + TAY +L1D17 SEC + JSR L1D3B + LDA L1D87,Y + JSR L1D49 + LDA $27 + CLC + JSR L1D3D + LDA L1D93,Y + JSR L1D49 + INC $26 + BNE L1CF6 +L1D31 JSR L1D49 + CLC + JSR L1D3B + JMP L1D5A + +L1D3B LDA $05 +L1D3D AND #$03 + ROL + ORA $2B + TAX + LDA $C080,X + LDX $2B +L1D48 RTS + +L1D49 LDX #$11 +L1D4B DEX + BNE L1D4B + INC $46 + BNE L1D54 + INC $47 +L1D54 SEC + SBC #$01 + BNE L1D49 + RTS + +L1D5A LDA $06 + STA $05 + AND #$01 + BEQ L1D86 + LDA $06 + LSR + SEC + PHA + JSR L1D3D + PLA + CLC + ADC #$01 + SEC + PHA + JSR L1D3D + LDA #$FF + JSR L1D49 + PLA + CLC + PHA + JSR L1D3D + PLA + SEC + SBC #$01 + CLC + JSR L1D3D +L1D86 RTS + +L1D87 HEX 01302824201E1D1C1C1C1C1C +L1D93 HEX 702C26221F1E1D1C1C1C1C1C +L1D9F PHP + LDA $04 + CLC + ADC #$09 + TAX + LDA $C080,X + LDA $04 + AND #$F0 + CLC + ADC #$09 + TAX + LDA $C080,X + LDA $04 + AND #$F0 + TAX + LDA $C080,X + LDA $C082,X + LDA $C084,X + LDA $C086,X + LDY #$03 + JSR L1DCC + PLP + RTS + +L1DCC LDA #$00 + JSR WAIT + DEY + BNE L1DCC + RTS + +L1DD5 LDA $04 + AND #$F0 + TAX + LDA $C080,X + LDA $C082,X + LDA $C084,X + LDA $C086,X + LDA #$C0 + STA $05 + LDA #$00 + STA $06 + JSR L1CC1 + RTS + +L1DF2 LDA fgOUTPUT + CMP #$F0 + BNE L1DFC + JMP L1F3D + +L1DFC LDA #$F0 + STA $36 + STA fgOUTPUT + LDA #>L0900 + STA SOFTEV+1 + EOR #$A5 + STA PWREDUP + LDA #KEYIN + STA $37 + STA $39 +L1F3D LDA $0357 + BEQ L1F45 + JMP L1FAC + +L1F45 LDA #$00 + STA $0359 + STA $22 + LDA #$18 + STA $23 + LDA #$00 + STA $0372 +L1F55 JSR HOME + LDY #$00 +L1F5A LDA L238B,Y + INY + CMP #$A6 + BEQ L1F68 + JSR COUT1 + JMP L1F5A + +L1F68 LDY #$00 +L1F6A LDA L2364,Y + INY + CMP #$A6 + BEQ L1F78 + JSR COUT1 + JMP L1F6A + +L1F78 JSR RDKEY + CMP #$D1 + BNE L1F85 + STA $0357 + JMP L1FAC + +L1F85 CMP #$C3 ; Copy + BEQ L1FA3 + CMP #$8D ; Return + BEQ L1FA3 + CMP #$C5 ; Edit + BNE L1F55 + LDA #$00 + STA fgCOMMAND + LDA #$01 + STA L081B + LDA #$11 + STA $037D + JMP L1FA8 + +L1FA3 LDA #$01 + STA fgCOMMAND + +L1FA8 LDA #$04 + STA $22 +L1FAC LDA #$16 + STA $82 + LDA $0357 + BEQ L1FBF + CMP #$D1 ; Q + BNE L1FBC + JMP L217B +L1FBC JMP L21CF + +L1FBF LDA #$04 + STA $22 + LDA #$18 + STA $23 + JSR HOME + LDX #$00 + LDA SLOT16 + AND #$F0 + STA $17 + CLC + ROR + ROR + ROR + ROR + ORA #$B0 + STA $1C + LDA #$B1 + STA $1A + JSR L2301 + CMP #$B3 + BCC L1FEF + LDA #$87 + JSR COUT1 + JMP L1FAC + +L1FEF AND #$0F + CLC + ADC $17 + STA $037E + LDA fgCOMMAND + BEQ L2017 + LDA #$B2 + STA $1A + JSR L2301 + CMP #$B3 + BCC L200F + LDA #$87 + JSR COUT1 + JMP L1FAC + +L200F AND #$0F + CLC + ADC $17 + STA $037D +L2017 LDX #$00 + STX $0371 +L201C LDA L2444,X + INX + CMP #$A6 + BEQ L202A + JSR COUT1 + JMP L201C + +L202A LDA #$21 + STA $0376 + LDA #$47 + STA $035D + LDA #$00 + JSR L2719 + LDA $19 + CLC + ROL + ORA $0371 + ROL + ORA $033C + STA $037B + LDX #$00 +L2049 LDA L2468,X + INX + CMP #$A6 + BEQ L2057 + JSR COUT1 + JMP L2049 + +L2057 LDA #$23 + STA $035D + LDA #$22 + JSR L2719 + LDA $19 + CLC + ROL + ORA $0371 + ROL + ORA $033C + STA $11 + LDA $11 + CMP $037B + BCS L2078 + JMP L1FAC + +L2078 LDX #$00 +L207A LDA L2614+$37,X + INX + CMP #$A6 + BEQ L2088 + JSR COUT1 + JMP L207A + +L2088 LDA $037B + CMP $11 + BNE L20A7 + LDA #$01 + STA $037A + STA $19 + LDA #$00 + STA $0371 + STA $033C + JSR CROUT + JSR L2818 + JMP L20C6 + +L20A7 LDA #$23 + STA $035D + LDA #$01 + JSR L2719 + LDA $19 + CLC + ROL + ORA $0371 + ROL + ORA $033C + STA $037A + CMP #$01 + BNE L20C6 + STA L084F +L20C6 LDX #$00 +L20C8 LDA L248B,X + INX + CMP #$A6 + BEQ L20D6 + JSR COUT1 + JMP L20C8 + +L20D6 LDA #$CE + STA $1A + JSR L230F + CMP #$CE + BEQ L20EE + LDA #$01 + STA L081D + LDA #$03 + STA L0865 + JMP L20F3 + +L20EE LDA #$00 + STA L081D +L20F3 LDA fgCOMMAND + BEQ L213C + + LDX #$00 +L20FA LDA L24AB,X + INX + CMP #$A6 + BEQ L2108 + JSR COUT1 + JMP L20FA + +L2108 LDA #$CE + STA $1A + JSR L230F + CMP #$CE + BEQ L2128 + LDA #$01 + STA L085B + STA L084C + LDA #$8B + STA $0378 + LDA #$10 + STA L0811 + JMP L213C + +L2128 LDA #$00 + STA L085B + LDA #$02 + STA L084C + LDA #$45 + STA $0378 + LDA #$03 + STA L0811 + +L213C LDA #$FF + STA $035D + LDA #$10 + STA $22 + LDA #$18 + STA $23 + JSR HOME + LDX #$00 +L214E LDA L266E,X + INX + CMP #$A6 + BEQ L215C + JSR COUT1 + JMP L214E + +L215C LDA #$87 + JSR COUT1 + LDA KBDSTROBE +L2164 LDA KBD + BPL L2164 + PHA + LDA #$00 + STA KBDSTROBE + PLA + CMP #$9B ; escape + BNE L2177 + JMP L1DF2 + +L2177 CMP #$D1 ; Q + BNE L21C4 +L217B LDA #$04 + STA $22 + JSR CROUT + JSR HOME + LDY #$00 + STY $0357 +L218A LDA L2566,Y + INY + CMP #$A6 + BEQ L2198 + JSR COUT1 + JMP L218A + +L2198 JSR RDKEY + CMP #$A0 ; space + BNE L21A2 + JMP L0900 + +L21A2 CMP #$8D ; return + BEQ L21AD + CMP #$CD ; M + BNE L2198 + JMP MONZ + +L21AD LDA #$00 + STA fgOUTPUT + LDA SLOT16 + LSR + LSR + LSR + LSR + ORA #$C0 + STA $01 + LDA #$00 + STA $00 + JMP ($0000) + +L21C4 CMP #$8D ; return + BNE L21CB + JMP L2272 + +L21CB CMP #$AF ; / + BNE L215C +L21CF LDA #$11 + STA $22 + LDA #$18 + STA $23 +L21D7 JSR HOME + LDY #$00 +L21DC LDA L22A4,Y + INY + CMP #$A6 + BEQ L21EA + JSR COUT1 + JMP L21DC + +L21EA STY $09 + LDA #$1D + STA $0376 + LDA #$1D + STA $82 + LDA #$FF + STA $0372 + JSR L2719 + LDA $19 + CMP #$FF + BNE L220E + LDA fgCOMMAND + BEQ L220B + JMP L213C +L220B JMP L2272 + +L220E CLC + ADC #$10 + STA $00 + LDA #$08 + STA $01 +L2217 LDY $09 +L2219 LDA L22A4,Y + INY + CMP #$A6 + BEQ L2227 + JSR COUT1 + JMP L2219 + +L2227 LDY #$00 + LDA ($00),Y + JSR PRBYTE + LDY #$00 + LDA ($00),Y + JSR L2719 + LDA $00 + CMP #$4C + BNE L2257 + LDA $19 + BEQ L2243 + CMP #$03 + BCC L2257 +L2243 LDA #$87 + JSR COUT1 + JSR COUT1 + JSR COUT1 + JSR UP + JSR CLREOL + JMP L2217 + +L2257 LDA $19 + LDY #$00 + STA ($00),Y + JSR CROUT + LDA L084C + CMP #$01 + BNE L226C + LDA #$8B + STA $0378 +L226C JMP L21D7 + JMP L213C + +L2272 LDA #$11 + STA $22 + JSR HOME + LDA fgCOMMAND + BEQ L228E + LDX #$00 +L2280 LDA L24CB,X + INX + CMP #$A6 + BEQ L229E + JSR COUT1 + JMP L2280 + +L228E LDX #$00 +L2290 LDA L25D6,X + INX + CMP #$A5 + BEQ L229E + JSR COUT1 + JMP L2290 + +L229E LDA #$00 + STA $0357 + RTS + +L22A4 ASC 8D + ASC " - PARAMETER CHANGE -"8D8D + ASC " CHANGE WHAT PARAMETER: &" + ASC " TO WHAT VALUE: &" + +L2301 LDA L2403,X + INX + CMP #$A6 + BEQ L2313 + JSR COUT1 + JMP L2301 + +L230F LDA #$0B + STA $22 +L2313 LDA $1A + AND #$3F + JSR COUT1 + LDA #$A0 + JSR COUT1 + JSR COUT1 + JSR COUT1 + JSR RDKEY + CMP #$9B + BNE L2331 +L232C PLA + PLA + JMP L1DF2 + +L2331 CMP #$8D + BNE L233A + LDA $1A + JMP L234E + +L233A CMP #$D1 ; Q + BEQ L235E + CMP #$D9 ; Y + BEQ L234E + CMP #$CE ; N + BEQ L234E + CMP #$B8 + BPL L232C + CMP #$B1 + BMI L232C +L234E PHA + LDY #$16 + STY $24 + JSR COUT1 + JSR CLREOL + JSR CROUT + PLA + RTS + +L235E PHA + JSR CROUT + PLA + RTS + +L2364 ASC " COPY OR EDIT (C OR E) " + inv 'DEFAULT' + ASC '=' + inv 'COPY' + ASC " &" +L238B ASC " COPY ][ PLUS BIT COPY PROGRAM 4.4C BD"8D + ASC "(C) 1982-4 CENTRAL POINT SOFTWARE, INC."8D + ASC "----------------------------------------"8D + ASC "&" +L2403 ASC " ORIGINAL DRIVE: " + inv 'DEFAULT' + ASC '=' + ASC "&" + ASC " DUPLICATE DRIVE: " + inv 'DEFAULT' + ASC '=' + ASC "&" +L2444 ASC 8D + ASC " ENTER START TRACK: " + inv 'DEFAULT' + ASC '=00' + ASC " &" +L2468 ASC " ENTER END TRACK: " + inv 'DEFAULT' + ASC '=22' + ASC " &" +L248B ASC 8D + ASC " SYNCHRONIZE TRACKS? " + inv 'DEFAULT' + ASC '=' + ASC "&" +L24AB ASC 8D + ASC " KEEP TRACK LENGTH? " + inv 'DEFAULT' + ASC '=' + ASC "&" +L24CB ASC " COPY STATUS"8D + ASC "HEX 000000000000000011111111111111112222" + ASC "TRK 0123456789ABCDEF0123456789ABCDEF0123" + ASC "----------------------------------------" + ASC "ERR"8D + ASC "+.5&" +L2566 ASC 8D8D + ASC " INSERT COPY ][ PLUS DISKETTE"8D8D + ASC " AND PRESS " + inv 'RETURN' + ASC " FOR MAIN MENU"8D8D8D8D + ASC " PRESS " + inv 'SPACE' + ASC " TO RE-ENTER BIT COPY &" +L25D6 ASC 8D + ASC " " + inv 'A' + ASC " TO ANALYZE DATA " + inv 'ESC' + ASC " TO QUIT"8D8D + ASC " " + ASC '?' + ASC " FOR HELP SCREEN " + ASC '/' +L2614 ASC " CHANGE PARMS"8D8D + ASC " " + inv 'Q' + ASC " FOR NEXT TRACK " + inv 'SPC' + ASC " TO RE-READ%"8D + ASC " TRACK INCREMENT: " + inv 'DEFAULT' + ASC '=01' + ASC " &" +L266E ASC "----------------------------------------"8D + ASC " -- INSERT DISKETTES -- "8D8D + ASC " " + inv 'RETURN' + ASC " TO BEGIN " + inv 'Q' + ASC " TO QUIT"8D + ASC " " + inv 'ESC' + ASC " TO RESTART " + ASC '/' + ASC " TO MODIFY "8D + ASC " &" + +L2719 STA $17 + TXA + PHA + LDA $25 + STA $0373 + LDA #$00 + STA $19 + STA $0371 + STA $033C + STA $14 +L272E LDA $0376 + STA $24 + LDX #$00 +L2735 JSR RDKEY + CMP #$9B + BNE L274A + LDA $0357 + BNE L272E + PLA + PLA + PLA + JSR HOME + JMP L1DF2 + +L274A CMP #$8D + BEQ L2760 + CMP #$88 + BNE L2756 + DEX + JMP L275A + +L2756 STA $0200,X + INX +L275A JSR COUT1 + JMP L2735 + +L2760 STA $0200,X + JSR COUT1 + CPX #$00 + BNE L276D + JMP L2865 + +L276D LDY #$00 + STY $0371 + JMP L2776 + + PHA +L2776 LDA $0200,Y + CMP #$AE ; . + BEQ L27A3 + CMP #$B0 ; 0 + BMI L27FC + CMP #$BA ; 9+1 + BMI L2790 + CMP #$C1 ; A + BMI L27FC + CMP #$C7 ; F+1 + BPL L27FC + CLC + ADC #$09 +L2790 AND #$0F + STA $19 + DEX + BEQ L27E2 + INY + LDA $0200,Y + CMP #$AB ; + + BEQ L27A3 + CMP #$AE ; . + BNE L27CE +L27A3 INY + LDA $0200,Y + CMP #$B0 ; 0 + BEQ L27C9 + CMP #$B5 ; 5 + BCC L27C2 + BEQ L27BD + CMP #$B7 ; 7 + BNE L27C9 + INC $0371 + INC $033C + BNE L27C9 +L27BD INC $0371 + BNE L27C9 +L27C2 CMP #$B2 ; 2 + BNE L27C9 + INC $033C +L27C9 DEY + DEY + JMP L27E2 + +L27CE CMP #$A0 + BNE L27D5 + JMP L27E2 + +L27D5 LDA $19 + CLC + ROL + ROL + ROL + ROL + STA $14 + NOP + JMP L2776 + +L27E2 TYA + BEQ L27F5 + LDA $14 + ORA $19 + STA $19 + CMP $035D + BEQ L27F5 + BCC L27F5 + JMP L27FC + +L27F5 JSR L2818 + PLA + TAX + INY + RTS + +L27FC JSR CROUT + LDA #$87 + JSR COUT1 + JSR COUT1 + JSR COUT1 + LDA $0373 + SEC + SBC #$01 + STA $25 + JSR CROUT + JMP L272E + +L2818 TYA + PHA + LDA $82 + STA $24 + JSR UP + LDA $19 + CMP #$10 + BCS L282D + JSR PRHEX + JMP L2830 + +L282D JSR PRBYTE +L2830 LDA #$00 + STA $17 + STA $14 + LDA $0371 + BEQ L283F + LDA #$50 + STA $17 +L283F LDA $033C + BEQ L2848 + LDA #$25 + STA $14 +L2848 LDA $17 + CLC + ADC $14 + BEQ L2859 + PHA + LDA #$AE + JSR COUT1 + PLA + JSR PRBYTE +L2859 JSR SETNORM + JSR CLREOL + JSR CROUT + PLA + TAY + RTS + +L2865 PLA + TAX + LDA $17 + STA $19 + JSR L2818 + LDA #$00 + STA $0371 + RTS + +*---------------------------- +* Entry point + +L2874 LDA #L2A0B + STA SOFTEV+1 + EOR #$A5 + STA PWREDUP + JSR L1DF2 + LDA $037E + STA $04 + JSR L1D9F + JSR L1DD5 + LDA $037B + STA $06 + JSR L1CC1 +L2899 LDA #$00 + STA $10 + STA $07 + LDA #$34 + STA $16 + LDA $037E + CMP $037D + BNE L28E6 + LDA $037D + AND #$F0 + TAX + LDA $C088,X + LDA $037E + AND #$F0 + TAX + LDA $C088,X + LDA #$04 + STA $22 + LDA #$0F + STA $23 + JSR HOME + LDY #$00 +L28CA LDA L2A54,Y + INY + CMP #$A6 + BEQ L28D8 + JSR COUT1 + JMP L28CA + +L28D8 JSR RDKEY + CMP #$9B + BNE L28E2 + JMP L2A0B + +L28E2 CMP #$8D + BNE L28D8 +L28E6 LDA #$00 + LDY $07 + STA L0925,Y + LDA KBD + CMP #$9B + BNE L28F7 + JMP L2A0B + +L28F7 LDA #$04 + STA $033E + LDA #$10 + STA L0860 + JSR L0DAA + LDA fgCOMMAND + BEQ L290F + JSR L1268 + JMP L2912 + +L290F JSR L193C +L2912 LDA #$A0 + STA $0354 + JSR L1C63 + LDX $037A +L291D INC $06 + DEX + BNE L291D + JSR L1CC1 + LDA fgCOMMAND + BNE L293C + LDA $11 + CMP $05 + BCS L2939 + LDA $037E + STA $037D + JMP L2A0B +L2939 JMP L2899 + +L293C INC $07 + LDA $07 + CMP L084C + BEQ L294E + LDA $11 + CMP $05 + BCC L294E + JMP L28E6 + +L294E LDA $037E + EOR $037D + AND #$F0 + BNE L2995 + LDA $037E + AND #$F0 + TAX + LDA $C088,X + LDA $037E + CMP $037D + BNE L2995 + LDA #$04 + STA $22 + LDA #$0F + STA $23 + JSR HOME + LDY #$00 +L2976 LDA L2A7A,Y + INY + CMP #$A6 + BEQ L2984 + JSR COUT1 + JMP L2976 + +L2984 JSR RDKEY + CMP #$9B + BNE L2991 + JSR HOME + JMP L1DF2 + +L2991 CMP #$8D + BNE L2984 +L2995 LDA #$00 + STA $08 + STA $10 + LDA $037D + STA $04 + DEC $07 + LDX $07 + LDA #$00 + CLC +L29A7 ADC $037A + DEX + BPL L29A7 + STA $07 + SEC + LDA $05 + SBC $07 + STA $06 + CMP $037B + BNE L29C6 + JSR L1DD5 + LDA $037B + STA $06 + JSR L1CC1 +L29C6 LDA $037E + CMP $037D + BEQ L29D5 + LDA $06 + STA $05 + JMP L29D8 + +L29D5 JSR L1CC1 +L29D8 LDA KBD + CMP #$9B + BEQ L2A0B + LDA $08 + STA $07 + JSR L092B + LDX $037A +L29E9 INC $06 + DEX + BNE L29E9 + JSR L1CC1 + LDA $11 + CMP $05 + BCC L2A0B + INC $08 + LDA $08 + CMP L084C + BEQ L2A03 + JMP L29D8 + +L2A03 LDA $037E + STA $04 + JMP L2899 + +L2A0B LDA $037E + AND #$F0 + TAX + LDA $C088,X + LDA $037D + AND #$F0 + TAX + LDA $C088,X + JSR L2A23 + JMP L2874 + +L2A23 LDA #$87 + JSR COUT1 + LDA #$16 + STA $25 + JSR VTAB + LDA #$11 + STA $22 + LDA #$18 + STA $23 + LDY #$00 +L2A39 LDA L2AA4,Y + INY + CMP #$A6 + BEQ L2A47 + JSR COUT1 + JMP L2A39 + +L2A47 LDA #$00 + STA $0363 + JSR RDKEY + STA $0363 + CLC + RTS + +L2A54 ASC 8D8D8D + ASC " INSERT " + inv 'ORIGINAL' + ASC " DISK IN DRIVE &" +L2A7A ASC 8D8D8D8D8D8D + ASC " INSERT " + inv 'DUPLICATE' + ASC " DISK IN DRIVE &" +L2AA4 ASC 8D + ASC " " + inv 'PRESS RETURN' + ASC "... &" + +L2AC3 LDA #$05 + STA $22 + JSR HOME + +*---------------------------- +* EDITOR / GOTO BEGIN TRACK +*---------------------------- + +doBEGINNING LDY #$00 + STY $83 + STY $89 + LDA #$08 + STA $8A + LDA $0359 + BNE L2AE1 + LDA $0E + STA $86 + LDA $0F + STA $87 +L2AE1 LDA #$00 + STA $0359 + JMP L2B2A + +L2AE9 PHA + AND #$80 + STA $18 + PLA + ORA #$80 +L2AF1 PHA + LSR + LSR + LSR + LSR + JSR L2AFA + PLA +L2AFA AND #$0F + ORA #$B0 + CMP #$BA + BCC L2B04 + ADC #$06 +L2B04 STY $34 + BIT $83 + BMI L2B10 + LDY $18 + BEQ L2B19 + BNE L2B1D +L2B10 STA $88 + AND #$3F + ORA #$40 + JMP L2B1D + +L2B19 STA $88 + AND #$3F +L2B1D LDY $24 + STA ($28),Y + INC $24 + LDY $34 + LDA #$00 + STA $83 + RTS + +L2B2A LDA #$18 + STA $8C + LDA $86 + STA $80 + LDA $87 + STA $81 + LDX #$04 +L2B38 LDA $80 + SEC + SBC $8A + STA $80 + BCS L2B43 + DEC $81 +L2B43 DEX + BNE L2B38 + LDA $8A + SEC + SBC #$01 + PHA + EOR #$FF + AND $80 + TAY + PLA + AND $80 + STA $82 + STY $80 + LDX #$06 +L2B5A TXA + JSR VTABZ + LDY #$00 + STY $24 + LDA #$01 + STA $18 + LDA $81 + JSR L2AF1 + LDA $80 + JSR L2AF1 + LDA #$BA + CPX #$0A + BNE L2B78 + AND #$3F +L2B78 JSR L2B04 + LDA #$A0 + STA $18 + JSR L2B04 +L2B82 LDA ($80),Y + CPX #$0A + BNE L2B94 + CPY $82 + BNE L2B94 + PHA + LDA $24 + STA $8B + PLA + DEC $83 +L2B94 JSR L2AE9 + LDA #$01 + STA $18 + LDA #$A0 + JSR L2B04 + INY + CPY $8A + BCC L2B82 + LDA $80 + CLC + ADC $8A + STA $80 + BCC L2BB0 + INC $81 +L2BB0 CPX #$0A + BNE L2BCE + LDA #$01 + STA $18 + INC $24 + LDA #$BC ; < + JSR L2B04 + LDA #$AD ; - + JSR L2B04 + LDA $87 + JSR L2AF1 + LDA $86 + JSR L2AF1 +L2BCE INX + CPX #$0F + BCS L2BFB + CPX #$07 + BNE L2BF1 + JSR SETINV + LDA #$1F + STA $24 + LDY #$00 +L2BE0 LDA L2BF4,Y + INY + CMP #$A6 + BEQ L2BEE + JSR COUT1 + JMP L2BE0 + +L2BEE JSR SETNORM +L2BF1 JMP L2B5A + +L2BF4 ASC " VIEW &" + +*---------------------------- +* EDITOR / WAIT FOR COMMAND +*---------------------------- + +L2BFB jsr show44 ; new command + + JSR L322D + LDY #$14 +L2C00 CMP L2C2A,Y + BEQ L2C0B + DEY + BPL L2C00 + JMP L2B2A + +L2C0B TYA + ASL + TAX + LDA tblCOMMANDS,X + STA $00 + LDA tblCOMMANDS+1,X + STA $01 + LDA #$01 + DEY + DEY + BMI L2C26 + LDA $8A + DEY + DEY + BMI L2C26 + ASL + ASL +L2C26 TAX + JMP ($0000) + +L2C2A ASC "JKIMTVQBES?CFRA/P"9B8285 + ASC " " + +*---------------------------- +* EDITOR / GOTO NEXT TRACK +*---------------------------- + +doNEXTTRACK JSR HOME + LDA #$00 + STA $0359 + LDA #$04 + STA $22 + JSR HOME + RTS + +*---------------------------- +* EDITOR / COMMANDS +*---------------------------- + +tblCOMMANDS DA doLEUP ; J + DA doRIDO ; K + DA doLEUP ; I + DA doRIDO ; M + DA doLEUP ; T + DA doRIDO ; V + DA doNEXTTRACK ; Q + DA doBEGINNING ; B + DA doEND ; E + DA doTOGGLESYNC ; S + DA doHELP ; ? + DA doCHANGENIBBLE ; C + DA doFIND ; F + DA doREPEATFIND ; R + DA doANALYZE ; A + DA doCHANGEPARMS ; / + DA doPRINTTRACK ; P + DA doQUITEDITOR ; ESCAPE + DA doRESETBEGIN ; CTRL-B + DA doRESETEND ; CTRL-E + DA doREREAD ; SPACE + +*---------------------------- +* EDITOR / PRINT TRACK +*---------------------------- + +doPRINTTRACK LDA KBDSTROBE + JSR HOME + LDY #$00 +L2C81 LDA L2D91,Y + INY + CMP #$A6 + BEQ L2C8F + JSR COUT1 + JMP L2C81 + +L2C8F CPY #$30 + BCS L2C9F + INY + LDA L0858 + ORA #$B0 + JSR COUT1 + JMP L2C81 + +L2C9F JSR RDKEY + CMP #$9B + BNE L2CA9 + JMP L2D7C + +L2CA9 CMP #$8D + BNE L2C9F + LDA L0858 + ORA #$C0 + STA $37 + LDA #$00 + STA $36 + LDA $87 + STA $01 + LDA $86 + AND #$F0 + STA $00 + LDA L085A + STA $09 + LDY #$00 + STY $0A + LDA #$04 + STA $0356 + LDY #$03 + JMP L2CFB + +L2CD5 LDA ($00),Y + ORA #$80 + JSR PRBYTE + DEC $0356 + BNE L2CEB + LDA #$A0 + JSR COUT + LDA #$04 + STA $0356 +L2CEB INY + CPY $0A + BNE L2CF2 + INC $01 +L2CF2 DEX + BNE L2D6A + DEC $09 + BPL L2D47 + LDY #$06 +L2CFB JSR CROUT + LDA L0859 + JSR COUT + CPY #$02 + BNE L2D3F + TYA + PHA + LDY #$00 +L2D0C LDA L2DDD,Y + INY + CMP #$A6 + BEQ L2D1A + JSR COUT + JMP L2D0C + +L2D1A LDA $05 + CLC + ROR + ROR + PHP + JSR PRBYTE + PLP + BCC L2D30 + LDA #$AE + JSR COUT + LDA #$B5 + JSR COUT +L2D30 JSR CROUT + LDY #$28 +L2D35 LDA #$AD + JSR COUT + DEY + BNE L2D35 + PLA + TAY +L2D3F DEY + BNE L2CFB + LDA L085A + STA $09 +L2D47 LDA KBD + CMP #$9B + BEQ L2D7C + JSR CROUT + LDA L0859 + JSR COUT + TYA + CLC + ADC $00 + TAX + LDA $01 + ADC #$00 + JSR PRNTAX + LDA #$AD + JSR COUT + LDX #$10 +L2D6A LDA $01 + CMP $17 + BEQ L2D75 + BCS L2D7C + JMP L2CD5 + +L2D75 LDA $14 + STA $0A + JMP L2CD5 + +L2D7C LDA #COUT1 + STA $37 + LDA KBDSTROBE + LDA #$00 + STA $8C + JSR HOME + JMP L2B2A + +L2D91 ASC 8D8D + ASC " PRINTER CARD IN SLOT &" + ASC 8D8D8D + ASC " TURN ON PRINTER"8D8D + ASC " PRESS " + inv 'RETURN' + ASC " WHEN READY &" +L2DDD ASC "----------------------------------------"8D + ASC "NIBBLE EDITOR TRACK DUMP TRACK &" + +*---------------------------- +* EDITOR / RE-READ TRACK +*---------------------------- + +doREREAD LDA fgCOMMAND + BNE L2E3B + JSR L0DAA + LDA #$01 + STA $0359 + JMP L1987 +L2E3B JMP L2B2A + +*---------------------------- +* EDITOR / ANALYZE DATA +*---------------------------- + +doANALYZE LDA fgCOMMAND + BNE L2E58 + JSR L1268 + LDA #$01 + STA $0359 + LDA $0349 + STA $86 + LDA $034A + STA $87 + JMP L1958 +L2E58 JMP L2B2A + +*---------------------------- +* EDITOR / CHANGE PARMS +*---------------------------- + +doCHANGEPARMS LDA fgCOMMAND + BNE L2E89 + LDA #$01 + STA $0357 + LDA $17 + STA $0360 + LDA $14 + STA $0361 + JSR L1DF2 + LDA $0360 + STA $17 + LDA $0361 + STA $14 + LDA #$05 + STA $22 + LDA #$10 + STA $23 + LDA #$00 + STA $0357 +L2E89 JMP L2B2A + +*---------------------------- +* EDITOR / SHOW 4*4 +*---------------------------- + +show44 lda #8 ; gotoxy(31,8) + sta $25 + jsr VTABZ + lda #31 + sta $24 + + lda #"4" + jsr COUT1 + lda #"*" + jsr COUT1 + lda #"4" + jsr COUT1 + lda #":" + jsr COUT1 + + ldy #0 ; print 4*4 value + lda ($86),y ; under cursor + sec + rol + sta myVALUE + + iny + lda ($86),y + and myVALUE + jmp PRBYTE + +*--- + +myVALUE ds 1 + +*---------------------------- +* EDITOR / FIND +*---------------------------- + +doFIND LDA #$0D + STA $25 + JSR VTABZ + LDA #$1F + STA $24 + LDY #$00 +L2E99 LDA L2F18,Y + INY + CMP #$A6 + BEQ L2EA7 + JSR COUT1 + JMP L2E99 + +L2EA7 LDA #$0E + STA $25 + JSR VTABZ + LDA #$1F + STA $24 + LDX #$02 ; nb of chars +L2EB4 JSR RDKEY + CMP #$8D + BEQ L2EEF + JSR COUT1 + CMP #$A0 + BEQ L2EB4 + JSR L2EFF + BCC L2ED6 +L2EC7 LDA #$87 + JSR COUT1 + LDA #$05 + STA $22 + JSR HOME + JMP L2B2A + +L2ED6 ROL + ROL + ROL + ROL + STA $19 + JSR RDKEY + JSR COUT1 + JSR L2EFF + BCS L2EC7 + ORA $19 + STA $035A,X + DEX + BPL L2EB4 +L2EEF JSR CLREOL + DEC $86 + LDA $86 + CMP #$FF + BNE L2EFC + DEC $87 +L2EFC JMP L2F20 + +L2EFF CMP #$B0 + BMI L2F16 + CMP #$BA + BMI L2F12 + CMP #$C1 + BMI L2F16 + CMP #$C7 + BPL L2F16 + CLC + ADC #$09 +L2F12 AND #$0F + CLC + RTS +L2F16 SEC + RTS + +L2F18 inv 'FIND:' + ASC "&" + +*---------------------------- +* EDITOR / REPEAT FIND +*---------------------------- + +doREPEATFIND LDX #$FF +L2F20 INC $86 + BNE L2F34 + INC $87 + SEC + LDA $14 + SBC $86 + LDA $17 + SBC $87 + BCS L2F34 + JMP doEND + +L2F34 TXA + BMI L2F3F + LDA #$00 +L2F39 STA $035A,X + DEX + BPL L2F39 +L2F3F LDX #$02 + LDY #$00 +L2F43 LDA #$BF + CMP $87 + BCS L2F4C + JMP doEND + +L2F4C LDA $035A,X + BEQ L2F8C + EOR ($86),Y + AND #$7F + BNE L2F5C + DEX + BMI L2F6D + BPL L2F5E +L2F5C LDX #$02 +L2F5E INC $86 + BNE L2F43 + INC $87 + SEC + LDA $17 + SBC $87 + BCC doEND + BCS L2F43 +L2F6D LDA $86 + LDY $035B + BEQ L2F80 + SEC + SBC #$02 + BCS L2F7B + DEC $87 +L2F7B STA $86 + JMP L2B2A + +L2F80 SEC + SBC #$01 + BCS L2F87 + DEC $87 +L2F87 STA $86 + JMP L2B2A + +L2F8C DEX + BMI L2F6D + BPL L2F43 + +*---------------------------- +* EDITOR / GOTO END TRACK +*---------------------------- + +doEND LDA $14 + STA $86 + LDA $17 + CMP #$C0 + BCC L2F9D + LDA #$BF +L2F9D STA $87 + JMP L2B2A + +*---------------------------- +* EDITOR / QUIT EDITOR +*---------------------------- + +doQUITEDITOR PLA + PLA + PLA + PLA + LDA #$00 + STA $0359 + JMP L0900 + +*---------------------------- +* EDITOR / HELP +*---------------------------- + +doHELP LDA #$04 + STA $22 + LDA #$10 + STA $23 + JSR HOME + LDY #$00 +L2FBB LDA L2FF0,Y + INY + CMP #$A6 + BEQ L2FC9 + JSR COUT1 + JMP L2FBB + +L2FC9 LDY #$00 +L2FCB LDA L30C0,Y + INY + CMP #$A6 + BEQ L2FD9 + JSR COUT1 + JMP L2FCB + +L2FD9 LDA KBDSTROBE +L2FDC LDA KBD + BPL L2FDC + CMP #$8D + BNE L2FD9 + JSR HOME + LDA #$01 + STA $0359 + JMP L1976 + +L2FF0 ASC " NIBBLE EDITOR COMMANDS"8D8D + ASC " BEGINING "02 + ASC " "03 + ASC " CHANGE NIBBLE"8D + ASC " UP 32 "14 + ASC " "06 + ASC " FIND NIBBLES"8D + ASC " UP "09 + ASC " "12 + ASC " REPEAT FIND"8D + ASC " LEFT "0A + ASC " "0B + ASC " RIGHT"8D + ASC " DOWN "0D + ASC " "13 + ASC " TOGGLE SYNC&" +L30C0 ASC 8D + ASC " DOWN 32 "16 + ASC " "11 + ASC " NEXT TRACK"8D + ASC " END "05 + ASC " " + ASC '?' + ASC " HELP"8D + ASC " RESET BEG "0314120C + ASC '-'02 + ASC " "10 + ASC " PRINT TRACK"8D + ASC " RESET END "0314120C + ASC '-'05 + ASC " "12140E + ASC " RETURN TO EDIT&" + +*---------------------------- +* EDITOR / TOGGLE SYNC +*---------------------------- + +doTOGGLESYNC TYA + PHA + LDY #$00 + LDA ($86),Y + EOR #$80 + STA ($86),Y + PLA + TAY + JSR L323B + JMP L2B2A + +*---------------------------- +* EDITOR / MOVE RIGHT DOWN +*---------------------------- + +doRIDO TXA + CLC + ADC $86 + STA $86 + BCC L316F + INC $87 +L316F SEC + LDA $87 + SBC $0D + BCC L3186 + LDA #$87 + JSR COUT1 + LDA $0D + SEC + SBC #$01 + STA $87 + LDA #$FF + STA $86 +L3186 JMP L2B2A + +*---------------------------- +* EDITOR / MOVE LEFT UP +*---------------------------- + +doLEUP STX $00 + LDA $86 + SEC + SBC $00 + STA $86 + BCS L3196 + DEC $87 +L3196 LDA $0D + SEC + SBC $0378 + SBC $87 + BEQ L31B3 + BCC L31B3 + LDA #$87 + JSR COUT1 + LDA $0D + SEC + SBC $0378 + STA $87 + LDA #$00 + STA $86 +L31B3 JMP L2B2A + +*---------------------------- +* EDITOR / CHANGE NIBBLE +*---------------------------- + +doCHANGENIBBLE JSR SETINV + LDA #$06 + STA $25 + JSR VTABZ + LDA #$1F + STA $24 + LDY #$00 +L31C6 LDA L31F4,Y + INY + CMP #$A6 + BEQ L31D4 + JSR COUT1 + JMP L31C6 + +L31D4 JSR SETNORM + LDA #$06 + STA $20 + LDA $8C + STA $21 + LDA $8B + SEC + SBC #$06 + STA $24 + TAY + LDA #$0A + STA $25 + JSR VTABZ + JSR GETLN1 + JMP L31FB + +L31F4 ASC "CHANGE&" + +L31FB LDY #$00 + STY $34 +L31FF LDY $34 + JSR GETNUM + STY $34 + TXA + BEQ L3227 + DEY + LDA $0200,Y + CMP #$A0 + BEQ L3216 + CMP #$8D + BNE L3227 + CLC +L3216 LDA $3E + LDY #$00 + STA ($86),Y + BCC L3227 + INC $86 + BNE L31FF + INC $87 + JMP L31FF + +L3227 JSR L323B + JMP L2B2A + +L322D LDA KBD + BPL L322D + LDY #$06 +L3234 DEY + BNE L3234 + STA KBDSTROBE + RTS + +L323B LDA #$00 + STA $20 + LDA #$28 + STA $21 + RTS + +*---------------------------- +* EDITOR / RESET BEGIN TRACK +*---------------------------- + +doRESETBEGIN LDA $87 + STA $0F + LDA $86 + STA $0E + LDA #$01 + STA $0359 + JMP L1976 + +*---------------------------- +* EDITOR / RESET END TRACK +*---------------------------- + +doRESETEND LDA $86 + STA $14 + LDA $87 + STA $17 + LDA #$01 + STA $0359 + JMP L1976 + +*---------------------------- +* VARIABLES +*---------------------------- + +fgOUTPUT ds 1 +SLOT16 ds 1 + + ds \ diff --git a/centipede/.DS_Store b/centipede/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/centipede/.DS_Store differ diff --git a/centipede/CENTIPEDE.DSK b/centipede/CENTIPEDE.DSK new file mode 100644 index 0000000..ea7af0e Binary files /dev/null and b/centipede/CENTIPEDE.DSK differ diff --git a/centipede/centipede b/centipede/centipede new file mode 100644 index 0000000..70a7751 Binary files /dev/null and b/centipede/centipede differ diff --git a/centipede/centipede informations.txt b/centipede/centipede informations.txt new file mode 100644 index 0000000..ae2eebb --- /dev/null +++ b/centipede/centipede informations.txt @@ -0,0 +1,101 @@ +803 PLAYER SCORE +811 HIGHEST SCORE + +A78A CENTIPEDE +AA7A PRESS "2" FOR TWO PLAYER GAME +AA9E (C)1983 ATARI +AAAF ALL RIGHTS RESERVED + +AADA PRESS "1" FOR ONE PLAYER GAME +AAFE (C)1983 ATARI +AB0F ALL RIGHTS RESERVED + +AC50 TWO PLAYER GAME +AC66 RETURN TO PLAY +AC82 GAME OVER + +SPC 00 + 01 A DUCK? +" 02 +# 03 +$ 04 +% 05 +& 06 +' 07 +( 08 +) 09 +* 0A ++ 0B +, 0C +- 0D +. 0E +/ 0F +0 10 +1 11 +2 12 +3 13 +4 14 +5 15 +6 16 +7 17 +8 18 +9 19 +: 1A +; 1B +< 1C += 1D +> 1E +? 1F +@ 20 +A 21 +B 22 +C 23 +D 24 +E 25 +F 26 +G 27 +H 28 +I 29 +J 2A +K 2B +L 2C +M 2D +N 2E +O 2F +P 30 +Q 31 +R 32 +S 33 +T 34 +U 35 +V 36 +W 37 +X 38 +Y 39 +Z 3A +SPC 3B..3F + +CACTUS 40..44 GREEN (COMPLETE TO EMPTY) +CACTUS 45..49 PINK (COMPLETE TO EMPTY) +PEDE 4A TAIL LEGS LEFT + 4B HEAD LEFT LEFT + 4C TAIL + 4D HEAD + 4E TAIL LEGS RIGHT + 4F HEAD LEGS RIGHT + 50 TAIL LEGS LEFT AGAIN + 51 HEAD LEGS LEFT AGAIN +0 52 SCORE NUMBERS +1 53 .. bold +2 54 .. figures +3 55 .. +4 56 .. +5 57 .. +6 58 .. +7 59 .. +8 5A .. +9 5B .. + 5C PLAYER IN BLUE + 5D PLAYER IN PINK + 5E PLAYER IN BLUE +SPC 5F diff --git a/centipede/centipede.2mg b/centipede/centipede.2mg new file mode 100644 index 0000000..ca0b99e Binary files /dev/null and b/centipede/centipede.2mg differ diff --git a/centipede/centipede.s b/centipede/centipede.s new file mode 100644 index 0000000..bb73306 --- /dev/null +++ b/centipede/centipede.s @@ -0,0 +1,5467 @@ +* +* Centipede +* +* (c) 1982, Atari +* (s) 2020, Antoine Vignau +* +* Made from LoGo's crack +* + + mx %11 + org $9000 + lst off + +*---------------------------- + +L02FC = $02FC +L05F0 = $05F0 +L0600 = L05F0+$10 +L0610 = L0600+$10 +L0800 = $0800 +L1020 = $1020 +L1560 = $1560 +HGR1 = $2000 +HGR2 = $4000 +L6000 = $6000 +L7800 = $7800 +L8000 = $8000 +L8080 = L8000+$80 +L8B00 = $8B00 +L8F00 = $8F00 + +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +MIXCLR EQU $C052 +TXTPAGE1 EQU $C054 +TXTPAGE2 EQU $C055 +HIRES EQU $C057 +BUTN0 EQU $C061 +BUTN1 EQU $C062 +ROMIN2 EQU $C081 +RDROM2 EQU $C082 +LCBANK2 EQU $C083 +PREAD EQU $FB1E +INIT EQU $FB2F +VTAB EQU $FC22 +CRLEOP EQU $FC42 +HOME EQU $FC58 +WAIT EQU $FCA8 +RDKEY EQU $FD0C +PRBYTE EQU $FDDA +COUT EQU $FDED +SETKBD EQU $FE89 +SETVID EQU $FE93 +RESETV EQU $FFFC + +*---------------------------- +* KEYS +* +* Up : A +* Down : Z +* Left : left arrow +* Right : right arrow +* J : joystick +* K : keyboard +* Butns : shoot +* +*---------------------------- + +*---------------------------- +* ZERO PAGE +* +* $A0..$A1 : pointer +* $A2..$A3 : pointer +* $A4 : length +* $A5..$A5 : offset within buffer area $0800 + +*---------------------------- + +fgINPUT = $f8 ; 0: joystick, 1: keyboard +whichDIR = $fc ; 0: none, 1: up, 2: down, 4: left, 8: right + +*---------------------------- + +*--- Font and friends + +L9000 hex 0000000000000000 + hex 02BB5A305FEE3DA8 + hex 0A0A0A0000000000 + hex 0A0A1F0A1F0A0A00 + hex 041E050E140F0400 + hex 00130B041A190000 + hex 02050502150F1600 + hex 0404040000000000 + hex 0402010101020400 + hex 0408101010080400 + hex 04150E040E150400 + hex 0004041F04040000 + hex 0000000006040200 + hex 0000001F00000000 + hex 0000000000060600 + hex 1010080402010100 + hex 040A11110A040000 + hex 04060404040E0000 + hex 0E11100C061F0000 + hex 0E11100C110E0000 + hex 0109091F08080000 + hex 1F010F10100F0000 + hex 0E01010F110E0000 + hex 1F10080402010000 + hex 0E110E11110E0000 + hex 1E111E10100E0000 + hex 0006060006060000 + hex 0006060006040200 + hex 0804020102040800 + hex 00001F001F000000 + hex 0204081008040200 + hex 0E11100C04000400 + hex 0E111D0D05011E00 + hex 040A111F11110000 + hex 0F110F11110F0000 + hex 0E110101110E0000 + hex 0F111111110F0000 + hex 1F010701011F0000 + hex 1F01070101010000 + hex 0F11011D111E0000 + hex 11111F1F11110000 + hex 1F040404041F0000 + hex 10101010110E0000 + hex 1109070509110000 + hex 01010101011F0000 + hex 111B151111110000 + hex 1113151911110000 + hex 0E111111110E0000 + hex 0F11110F01010000 + hex 0E11111509160000 + hex 0F11110F09110000 + hex 1F011F10101F0000 + hex 1F04040404040000 + hex 11111111110E0000 + hex 111111111A040000 + hex 111111151B110000 + hex 110A040A11110000 + hex 11110A0404040000 + hex 1F080402011F0000 + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 082A2A2A08080800 + hex 082A2A2A08000000 + hex 082A2A2200000000 + hex 082A280000000000 + hex 0000000000000000 + hex 1054545410101000 + hex 1054545410000000 + hex 1054544400000000 + hex 1054500000000000 + hex 0000000000000000 + hex 8184A8AAAAA88481 + hex 838C9EBFBF9E8C83 + hex 90848AAAAA8A8490 + hex E098BAFEFEBA98E0 + hex 9084A9AAAAA88490 + hex B08C9EBFBF9E8CB0 + hex 81848AAAAA8A8481 + hex 8698BAFEFEBA9886 + hex 7E66666666667E00 + hex 1818181818181800 + hex 7E60607E06067E00 + hex 7E60607E60607E00 + hex 6666667E60606000 + hex 7E06067E60607E00 + hex 0606067E66667E00 + hex 7E60606060606000 + hex 7E66667E66667E00 + hex 7E66667E60606000 + hex 888888AAAAAAAAAA + hex 888888AAAAAAAAAA + hex 888888AAAAAAAAAA + hex 0000000000000000 + + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0001020304050607 + hex 08090A0B0C0D0E0F + hex 1011121314151617 + hex 18191A1B1C1D1E1F + hex 2021222324252627 + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 0000000000000000 + hex 0808080808080808 + hex 0808080808080808 + hex 0808080808080808 + hex 0808080808080808 + hex 0808080808080808 + hex 1010101010101010 + hex 1010101010101010 + hex 1010101010101010 + hex 1010101010101010 + hex 1010101010101010 + hex 1818181818181818 + hex 1818181818181818 + hex 1818181818181818 + hex 1818181818181818 + hex 1818181818181818 + hex 2020202020202020 + hex 2020202020202020 + hex 2020202020202020 + hex 2020202020202020 + hex 2020202020202020 + hex 2828282828282828 + hex 2828282828282828 + hex 2828282828282828 + hex 2828282828282828 + hex 2828282828282828 + hex 3030303030303030 + hex 3030303030303030 + hex 3030303030303030 + hex 3030303030303030 + hex 3030303030303030 + hex 3838383838383838 + hex 3838383838383838 + hex 3838383838383838 + hex 3838383838383838 + hex 3838383838383838 + hex 4040404040404040 + hex 4040404040404040 + hex 4040404040404040 + hex 4040404040404040 + hex 4040404040404040 + hex 4848484848484848 + hex 4848484848484848 + hex 4848484848484848 + hex 4848484848484848 + hex 4848484848484848 + hex 5050505050505050 + hex 5050505050505050 + hex 5050505050505050 + hex 5050505050505050 + hex 5050505050505050 + hex 5858585858585858 + hex 5858585858585858 + hex 5858585858585858 + hex 5858585858585858 + hex 5858585858585858 + hex 6060606060606060 + hex 6060606060606060 + hex 6060606060606060 + hex 6060606060606060 + hex 6060606060606060 + hex 6868686868686868 + hex 6868686868686868 + hex 6868686868686868 + hex 6868686868686868 + hex 6868686868686868 + hex 7070707070707070 + hex 7070707070707070 + hex 7070707070707070 + hex 7070707070707070 + hex 7070707070707070 + hex 7878787878787878 + hex 7878787878787878 + hex 7878787878787878 + hex 7878787878787878 + hex 7878787878787878 + hex 8080808080808080 + hex 8080808080808080 + hex 8080808080808080 + hex 8080808080808080 + hex 8080808080808080 + hex 8888888888888888 + hex 8888888888888888 + hex 8888888888888888 + hex 8888888888888888 + hex 8888888888888888 + hex 9090909090909090 + hex 9090909090909090 + hex 9090909090909090 + hex 9090909090909090 + hex 9090909090909090 + hex 9898989898989898 + hex 9898989898989898 + hex 9898989898989898 + hex 9898989898989898 + hex 9898989898989898 + hex A0A0A0A0A0A0A0A0 + hex A0A0A0A0A0A0A0A0 + hex A0A0A0A0A0A0A0A0 + hex A0A0A0A0A0A0A0A0 + hex A0A0A0A0A0A0A0A0 + hex A8A8A8A8A8A8A8A8 + hex A8A8A8A8A8A8A8A8 + hex A8A8A8A8A8A8A8A8 + hex A8A8A8A8A8A8A8A8 + hex A8A8A8A8A8A8A8A8 + hex B0B0B0B0B0B0B0B0 + hex B0B0B0B0B0B0B0B0 + hex B0B0B0B0B0B0B0B0 + hex B0B0B0B0B0B0B0B0 + hex B0B0B0B0B0B0B0B0 + hex B8B8B8B8B8B8B8B8 + hex B8B8B8B8B8B8B8B8 + hex B8B8B8B8B8B8B8B8 + hex B8B8B8B8B8B8B8B8 + hex B8B8B8B8B8B8B8B8 + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + hex 0000FFFF0000FFFF + +L9B00 hex 00000000000000008080808080808080 + hex 00000000000000008080808080808080 + hex 00000000000000008080808080808080 + hex 00000000000000008080808080808080 + hex 2828282828282828A8A8A8A8A8A8A8A8 + hex 2828282828282828A8A8A8A8A8A8A8A8 + hex 2828282828282828A8A8A8A8A8A8A8A8 + hex 2828282828282828A8A8A8A8A8A8A8A8 + hex 5050505050505050D0D0D0D0D0D0D0D0 + hex 5050505050505050D0D0D0D0D0D0D0D0 + hex 5050505050505050D0D0D0D0D0D0D0D0 + hex 5050505050505050D0D0D0D0D0D0D0D0 +L9BC0 hex 2024282C3034383C2024282C3034383C + hex 2125292D3135393D2125292D3135393D + hex 22262A2E32363A3E22262A2E32363A3E + hex 23272B2F33373B3F23272B2F33373B3F + hex 2024282C3034383C2024282C3034383C + hex 2125292D3135393D2125292D3135393D + hex 22262A2E32363A3E22262A2E32363A3E + hex 23272B2F33373B3F23272B2F33373B3F + hex 2024282C3034383C2024282C3034383C + hex 2125292D3135393D2125292D3135393D + hex 22262A2E32363A3E22262A2E32363A3E + hex 23272B2F33373B3F23272B2F33373B3F +L9C80 hex 00000000000000010101010101010202 + hex 02020202020303030303030304040404 + hex 04040405050505050505060606060606 + hex 06070707070707070808080808080809 + hex 0909090909090A0A0A0A0A0A0A0B0B0B + hex 0B0B0B0B0C0C0C0C0C0C0C0D0D0D0D0D + hex 0D0D0E0E0E0E0E0E0E0F0F0F0F0F0F0F + hex 10101010101010111111111111111212 + hex 12121212121313131313131314141414 + hex 14141415151515151515161616161616 + hex 16171717171717171818181818181819 + hex 1919191919191A1A1A1A1A1A1A1B1B1B + hex 1B1B1B1B1C1C1C1C1C1C1C1D1D1D1D1D + hex 1D1D1E1E1E1E1E1E1E1F1F1F1F1F1F1F + hex 20202020202020212121212121212222 + hex 22222222222323232323232324242424 +L9D80 hex 24242425252525252525262626262626 + hex 26272727272727270000000000000000 +L9DA0 hex 8182848890A0C08182848890A0C08182 + hex 848890A0C08182848890A0C081828488 + hex 90A0C08182848890A0C08182848890A0 + hex C08182848890A0C08182848890A0C081 + hex 82848890A0C08182848890A0C0818284 + hex 8890A0C08182848890A0C08182848890 + hex A0C08182848890A0C08182848890A0C0 + hex 8182848890A0C08182848890A0C08182 + hex 848890A0C08182848890A0C081828488 + hex 90A0C08182848890A0C08182848890A0 + hex C08182848890A0C08182848890A0C081 + hex 82848890A0C08182848890A0C0818284 + hex 8890A0C08182848890A0C08182848890 + hex A0C08182848890A0C08182848890A0C0 + hex 8182848890A0C08182848890A0C08182 + hex 848890A0C08182848890A0C081828488 +L9EA0 hex 90A0C08182848890A0C08182848890A0 + hex C08182848890A0C00000000000000000 +L9EC0 hex 00010203040506000102030405060001 + hex 02030405060001020304050600010203 + hex 04050600010203040506000102030405 + hex 06000102030405060001020304050600 + hex 01020304050600010203040506000102 + hex 03040506000102030405060001020304 + hex 05060001020304050600010203040506 + hex 00010203040506000102030405060001 + hex 02030405060001020304050600010203 + hex 04050600010203040506000102030405 + hex 06000102030405060001020304050600 + hex 01020304050600010203040506000102 + hex 03040506000102030405060001020304 + hex 05060001020304050600010203040506 + hex 00010203040506000102030405060001 + hex 02030405060001020304050600010203 +L9FC0 hex 04050600010203040506000102030405 + hex 06000102030405060000000000000000 + + DS \ + +*--- Entry point + +LA000 LDA #$00 ; A000 + STA fgINPUT + STA $60 + STA $61 + STA $62 + STA $63 + JSR LBF37 + JSR LADE1 + JSR LBF61 + LDA #HGR1 + STA $58+1 + LDX #$40 + LDY #$00 + TYA +LA022 STA ($58),Y + INY + BNE LA022 + INC $58+1 + DEX + BNE LA022 + LDA TXTCLR + LDA HIRES + LDA MIXCLR + LDA TXTPAGE1 + LDA #$00 + STA $B7 + STA $0A + STA $0C + LDA #$A0 + STA $0B + STA $0D + LDA #$C0 + STA $10 + LDA #$10 + STA $6A + JSR LB3C0 + + LDX #$F8 ; Copy sprites +LA053 LDA LA65F,X +* STA L91FF,X + lda $91FF,X ; patch patch + DEX + BNE LA053 + + LDA #$00 + STA $D6 + LDA #$38 ; LOGO? + STA $D7 + LDY #$20 +LA066 LDA LA769,Y + STA L7800-1,Y + DEY + BNE LA066 + LSR LA76E + LDA LA76E + NOP + NOP + LDY #$AB + STY $FF + LDY #$D8 + STY $FE + NOP + NOP + LDY #$B6 + STY $FF + LDY #$41 + STY $FE + NOP + NOP +LA08B JSR LA447 + LDA #$00 + STA $86 + STA $80 + STA $90 + STA $91 + STA $92 + STA $93 + STA $94 + STA $95 + STA $96 + STA $8C + STA $81 + STA $85 + STA $83 + STA $84 + STA $D201 ; souvenir + STA $D203 ; from + STA $D205 ; another + STA $D207 ; 8-bit + STA $D208 ; computer... POKEY + LDA #$07 + STA $99 + LDY #$04 + LDA L7800,Y + STA $58 + STA $64 + INY + LDA L7800,Y + STA $58+1 + STA $64+1 + JSR LB3C0 + LDA $60 + STA $E0 + LDA $61 + STA $E1 + LDA $62 + STA $E2 + LDA $63 + STA $E3 + JSR LA536 + JSR LA4A1 + JSR LAEC9 + JSR LBC22 + LDX #$0C + LDY #$00 +LA0F3 DEY + BNE LA0F3 + DEX + BNE LA0F3 + JSR LAEC9 + LDA #$06 + STA $99 + JSR LA198 + LDA #$00 + STA $8F + STA $BC + STA $BD + STA $BE + STA $BF + +LA10F JSR LAEC9 + JSR LBC22 + LDX #$06 + LDY #$00 +LA119 DEY + BNE LA119 + DEX + BNE LA119 + JSR LAEC9 + LDA KBD + BIT KBDSTROBE + CMP #$8D ; RET = play + BEQ LA13E + LDX $BC + BEQ LA137 + CMP #"1" ; 1 player mode + BEQ LA145 +* JMP (L0408) + jmp LA10F + +LA137 CMP #"2" ; 2 player mode + BEQ LA145 +* JMP (L040A) + jmp LA10F + +LA13E LDA #$06 + STA $99 +* JMP (L040C) + jmp LA1D3 + +LA145 LDA #$05 ; Switch player mode + STA $99 + LDA $8F + EOR #$01 + STA $BD + STA $8F + STA $BC + JSR LA159 +* JMP (L040E) + jmp LA10F + +LA159 LDA $BC + BEQ LA198 + LDY #$24 + STY $A4 + LDA #>LAC50 + STA $A0+1 + LDA #LAAD0 + STA $A0+1 + LDA #LAC20 + STA $A0+1 + LDA #LAA70 + STA $A0+1 + LDA #LAC80 + STA $A0+1 + LDA #LA8EA ; PLAYER TWO UP + STA $A0+1 + LDA #LA8F9 ; PLAYER ONE UP + STA $A0+1 + LDA #LA8DC ; EMPTY STRING + STA $A0+1 + LDA #LA78A ; CENTIPEDE + STA $A0+1 + LDA #LA7D3 + STA $A0+1 + LDA #L0800 + STA $A0+1 + LDA #L1020 + STA $A2+1 + LDX #$03 +LA5BE INC $A0+1 ; 8_9_A_B + INC $A2+1 ; 10_11_12_13 + DEX + BNE LA5BE + LDX #$03 + LDY #$C0 +LA5C9 LDA ($A0),Y ; BC0 + PHA + LDA ($A2),Y ; 13E0 + STA ($A0),Y + PLA + STA ($A2),Y + DEY + BNE LA5C9 + DEC $A2+1 + DEC $A0+1 + DEX + BNE LA5C9 + RTS + +LA5DE LDY #$00 + STY $CB +LA5E2 LDX #$00 +LA5E4 STX $CA + LDY $CB + JSR LB3D8 + LDY $CA + LDA ($64),Y + LDX #$64 + JSR LBE71 + LDX $CA + INX + CPX #$28 + BNE LA5E4 + LDY $CB + INY + STY $CB + CPY #$18 + BNE LA5E2 + RTS + +LA605 LDA L02FC + CMP #$21 + BNE LA635 + INC $8C + LDA #$00 + STA $D207 + STA $D205 + STA $D203 + STA $D201 + STA $96 + LDA #$FF + STA L02FC + STA $81 +LA625 LDA L02FC + CMP #$21 + BNE LA625 + LDA #$FF + STA L02FC + INC $81 + DEC $8C +LA635 RTS + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $26 + DB $84 + DB $3A + DB $A6 +LA654 DB $44 ; A bug +LA655 DB $D4 ; The real address + DB $64 + DB $E8 + DB $26 + DB $84 + DB $3A + DB $A6 + DB $44 + DB $D4 + DB $64 +LA65F DB $E8 + +*--- Sprites + + DB $08 + DB $2A + DB $2A + DB $2A + DB $08 + DB $08 + DB $08 + DB $00 + DB $08 + DB $2A + DB $2A + DB $2A + DB $08 + DB $00 + DB $00 + DB $00 + DB $08 + DB $2A + DB $2A + DB $22 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $2A + DB $28 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $54 + DB $54 + DB $54 + DB $10 + DB $10 + DB $10 + DB $00 + DB $10 + DB $54 + DB $54 + DB $54 + DB $10 + DB $00 + DB $00 + DB $00 + DB $10 + DB $54 + DB $54 + DB $44 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $54 + DB $50 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $81 + DB $84 + DB $A8 + DB $AA + DB $AA + DB $A8 + DB $84 + DB $81 + DB $83 + DB $8C + DB $9E + DB $BF + DB $BF + DB $9E + DB $8C + DB $83 + DB $90 + DB $84 + DB $8A + DB $AA + DB $AA + DB $8A + DB $84 + DB $90 + DB $E0 + DB $98 + DB $BA + DB $FE + DB $FE + DB $BA + DB $98 + DB $E0 + DB $90 + DB $84 + DB $A9 + DB $AA + DB $AA + DB $A8 + DB $84 + DB $90 + DB $B0 + DB $8C + DB $9E + DB $BF + DB $BF + DB $9E + DB $8C + DB $B0 + DB $81 + DB $84 + DB $8A + DB $AA + DB $AA + DB $8A + DB $84 + DB $81 + DB $86 + DB $98 + DB $BA + DB $FE + DB $FE + DB $BA + DB $98 + DB $86 + DB $7E + DB $66 + DB $66 + DB $66 + DB $66 + DB $66 + DB $7E + DB $00 + DB $18 + DB $18 + DB $18 + DB $18 + DB $18 + DB $18 + DB $18 + DB $00 + DB $7E + DB $60 + DB $60 + DB $7E + DB $06 + DB $06 + DB $7E + DB $00 + DB $7E + DB $60 + DB $60 + DB $7E + DB $60 + DB $60 + DB $7E + DB $00 + DB $66 + DB $66 + DB $66 + DB $7E + DB $60 + DB $60 + DB $60 + DB $00 + DB $7E + DB $06 + DB $06 + DB $7E + DB $60 + DB $60 + DB $7E + DB $00 + DB $06 + DB $06 + DB $06 + DB $7E + DB $66 + DB $66 + DB $7E + DB $00 + DB $7E + DB $60 + DB $60 + DB $60 + DB $60 + DB $60 + DB $60 + DB $00 + DB $7E + DB $66 + DB $66 + DB $7E + DB $66 + DB $66 + DB $7E + DB $00 + DB $7E + DB $66 + DB $66 + DB $7E + DB $60 + DB $60 + DB $60 + DB $00 + DB $88 + DB $88 + DB $88 + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + DB $88 + DB $88 + DB $88 + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + DB $88 + DB $88 + DB $88 + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + +*--- From $A660 to $A200 until $A2F7 + +LA758 DB $10 + DB $10 + DB $10 + DB $10 + DB $7C + DB $7C + DB $38 + DB $38 +LA760 DB $52 + DB $53 + DB $54 + DB $55 +LA764 DB $56 + DB $57 + DB $58 + DB $59 + DB $5A +LA769 DB $5B + DB $70 + DB $70 + DB $70 + DB $44 +LA76E DB $00 + DB $08 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $04 + DB $41 + DB $00 + DB $38 + +LA78A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $23 ; CENTIPEDE + DB $25 + DB $2E + DB $34 + DB $29 + DB $30 + DB $25 + DB $24 + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $82 + DB $88 + DB $D4 + DB $D5 + DB $D5 + DB $D4 + DB $88 + DB $82 + DB $83 + DB $8C + DB $9E + DB $BF + DB $BF + DB $9E + DB $8C + DB $83 + DB $A0 + DB $88 + DB $95 + DB $D5 + DB $D5 + DB $95 + DB $88 + DB $A0 + DB $E0 + DB $98 + DB $BA + DB $FE + DB $FE + DB $BA + DB $98 + DB $E0 + DB $A0 + DB $88 + DB $D4 +LA7D3 DB $D5 + DB $D5 + DB $D4 + DB $88 + DB $A0 + DB $B0 + DB $8C + DB $9E + DB $BF + DB $BF + DB $9E + DB $8C + DB $B0 + DB $82 + DB $88 + DB $95 + DB $D5 + DB $D5 + DB $95 + DB $88 + DB $82 + DB $86 + DB $98 + DB $BA + DB $FE + DB $FE + DB $BA + DB $98 + DB $86 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $33 ; SPACE + DB $30 + DB $21 + DB $23 + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $2F ; ONE + DB $2E + DB $25 + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $02 ; "2" + DB $12 + DB $02 + DB $00 + DB $00 + DB $26 ; FOR + DB $2F + DB $32 + DB $00 + DB $34 ; TWO + DB $37 + DB $2F + DB $00 + DB $30 ; PLAYERS + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $33 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $32 ; RETURN + DB $25 + DB $34 + DB $35 + DB $32 + DB $2E + DB $00 + DB $34 ; TO + DB $2F + DB $00 + DB $30 ; PLAY + DB $2C + DB $21 + DB $39 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $34 ; TWO + DB $37 + DB $2F + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $02 ; "1" + DB $11 + DB $02 + DB $00 + DB $00 + DB $26 ; FOR + DB $2F + DB $32 + DB $00 + DB $2F ; ONE + DB $2E + DB $25 + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $32 ; RETURN + DB $25 + DB $34 + DB $35 + DB $32 + DB $2E + DB $00 + DB $34 ; TO + DB $2F + DB $00 + DB $30 ; PLAY + DB $2C + DB $21 + DB $39 + +LA8DC DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LA8EA DB $30 ; PLAYER TWO UP + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $34 + DB $37 + DB $2F + DB $00 + DB $35 + DB $30 + DB $00 + DB $00 + +LA8F9 DB $30 ; PLAYER UP ONE + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $2F + DB $2E + DB $25 + DB $00 + DB $35 + DB $30 + DB $00 + DB $00 + DB $3C + DB $7E + DB $7E + DB $FF + DB $FF + DB $7E + DB $7E + +LA90F DB $3C + DB $0A + DB $05 + DB $0F + DB $0F + DB $0E + DB $0E + DB $06 +LA917 DB $00 + DB $42 + DB $DB + DB $66 + DB $3C + DB $D8 + DB $58 + DB $78 +LA91F DB $30 + DB $21 + DB $DB + DB $66 + DB $3C + DB $1B + DB $1A + DB $1E +LA927 DB $0C + DB $22 + DB $5D + DB $1C + DB $08 + DB $1C + DB $36 + DB $5D + DB $00 +LA930 DB $E0 + DB $A0 + DB $A0 + DB $A0 + DB $E0 + DB $00 + DB $7F + DB $54 + DB $57 + DB $54 + DB $7F + DB $00 + DB $7D + DB $55 + DB $57 + DB $55 + DB $7F + DB $00 + DB $7F + DB $55 + DB $57 + DB $54 + DB $7C + DB $00 + DB $02 + DB $BB + DB $5A + DB $30 + DB $5F + DB $EE + DB $3D + DB $A8 + + ASC 'COPYRIGHT 1982 ATARI, INC.' + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LA970 DB $20 + DB $00 + DB $20 + DB $00 + DB $20 + DB $00 + DB $20 + DB $00 + DB $20 + DB $00 + DB $20 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LA980 LDA fgINPUT + BEQ LA987 + JMP LAA09 + +LA987 LDA KBD + CMP #"K" + BNE LA991 + JMP LAA09 + +LA991 LDX $FA + BNE LA9CF + LDA $FB + EOR whichDIR + STA $FB + JSR PREAD + LDA $FB + CPY #$A0 + BCS LA9B4 + CPY #$40 + BCC LA9BE + LDA $FB + AND #$F3 + STA $FB + LDA #$00 + STA whichDIR + BEQ LA9C6 +LA9B4 ORA #$08 + STA $FB + LDA #$08 + STA whichDIR + BNE LA9C6 +LA9BE ORA #$04 + STA $FB + LDA #$04 + STA whichDIR +LA9C6 LDA $FA + EOR #$01 + STA $FA + LDA $FB + RTS + +LA9CF LDA $FB + EOR $FD + STA $FB + JSR PREAD + LDA $FB + CPY #$A0 + BCS LA9F8 + CPY #$40 + BCC LA9EE + LDA $FB + AND #$FC + STA $FB + LDA #$00 + STA $FD + BEQ LAA00 +LA9EE ORA #$01 + STA $FB + LDA #$01 + STA $FD + BNE LAA00 +LA9F8 ORA #$02 + STA $FB + LDA #$02 + STA $FD +LAA00 LDA $FA + EOR #$01 + STA $FA + LDA $FB + RTS + +LAA09 LDA KBD + CMP #"K" ; K + BEQ LAA3D + CMP #"J" ; J + BEQ LAA44 + CMP #"A" + BEQ LAA33 + CMP #"Z" + BEQ LAA38 + CMP #$88 ; LEFT ARROW + BEQ LAA2E + CMP #$95 ; RIGHT ARROW + BEQ LAA29 + LDA #$00 + STA whichDIR + RTS + +LAA29 LDA #$08 ; go right + STA whichDIR + RTS + +LAA2E LDA #$04 ; go left + STA whichDIR + RTS + +LAA33 LDA #$01 ; go up + STA whichDIR + RTS + +LAA38 LDA #$02 ; go down + STA whichDIR + RTS + +LAA3D LDA #$01 + STA fgINPUT + LDA #$00 + RTS + +LAA44 LDA #$00 + STA fgINPUT + RTS + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LAA70 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $02 ; "2" + DB $12 + DB $02 + DB $00 + DB $26 ; FOR + DB $2F + DB $32 + DB $00 + DB $34 ; TWO + DB $37 + DB $2F + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 ; (C) + DB $23 + DB $09 + DB $11 ; 1983 + DB $19 + DB $18 + DB $13 + DB $00 + DB $21 ; ATARI + DB $34 + DB $21 + DB $32 + DB $29 + DB $00 + DB $00 + DB $00 + DB $00 + DB $21 ; ALL + DB $2C + DB $2C + DB $00 + DB $32 ; RIGHTS + DB $29 + DB $27 + DB $28 + DB $34 + DB $33 + DB $00 + DB $32 ; RESERVED + DB $25 + DB $33 + DB $25 + DB $32 + DB $36 + DB $25 + DB $24 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LAAD0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $30 ; PRESS + DB $32 + DB $25 + DB $33 + DB $33 + DB $00 + DB $02 ; "1" + DB $11 + DB $02 + DB $00 + DB $26 ; FOR + DB $2F + DB $32 + DB $00 + DB $2F ; ONE + DB $2E + DB $25 + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 ; (C) + DB $23 + DB $09 + DB $11 ; 1983 + DB $19 + DB $18 + DB $13 + DB $00 + DB $21 ; ATARI + DB $34 + DB $21 + DB $32 + DB $29 + DB $00 + DB $00 + DB $00 + DB $00 + DB $21 ; ALL + DB $2C + DB $2C + DB $00 + DB $32 ; RIGHTS + DB $29 + DB $27 + DB $28 + DB $34 + DB $33 + DB $00 + DB $32 ; RESERVED + DB $25 + DB $33 + DB $25 + DB $32 + DB $36 + DB $25 + DB $24 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $09 + DB $0A + DB $0B + DB $0C + DB $0D + DB $0E + DB $0F + DB $10 + DB $11 + DB $12 + DB $13 + DB $14 + DB $15 + DB $16 + DB $17 + DB $18 + DB $19 + DB $1A + DB $1B + DB $1C + DB $1D + DB $1E + DB $1F + DB $20 + DB $21 + DB $22 + DB $23 + DB $24 + DB $25 + DB $26 + DB $27 + DB $00 + DB $01 + DB $02 + DB $03 + DB $04 + DB $05 + DB $06 + DB $07 + DB $08 + DB $09 + DB $0A + DB $0B + DB $0C + DB $0D + DB $0E + DB $0F + +LAB60 DB $70 + DB $07 + DB $7C + DB $1F + DB $7E + DB $3F + DB $7F + DB $7F + DB $7F + DB $7F + DB $7E + DB $3F + DB $7C + DB $1F + DB $70 + DB $07 +LAB70 DB $7C + DB $00 + DB $7E + DB $01 + DB $7B + DB $03 + DB $5F + DB $03 + DB $22 + DB $01 + DB $11 + DB $01 + DB $49 + DB $00 + DB $00 + DB $00 +LAB80 DB $0C + DB $18 + DB $4F + DB $79 + DB $3C + DB $1E + DB $7C + DB $0F + DB $47 + DB $03 + DB $4C + DB $03 + DB $78 + DB $01 + DB $70 + DB $00 +LAB90 DB $0C + DB $18 + DB $4F + DB $79 + DB $3C + DB $1E + DB $78 + DB $07 + DB $60 + DB $71 + DB $60 + DB $19 + DB $40 + DB $0F + DB $00 + DB $07 +LABA0 DB $00 + DB $00 + DB $00 + DB $00 + DB $02 + DB $20 + DB $45 + DB $51 + DB $68 + DB $0B + DB $70 + DB $07 + DB $56 + DB $35 + DB $68 + DB $4B +LABB0 DB $46 + DB $31 + DB $29 + DB $4A + DB $28 + DB $4A + DB $24 + DB $4A + DB $28 + DB $4A + DB $29 + DB $4A + DB $46 + DB $31 + DB $00 + DB $00 +LABC0 DB $46 + DB $31 + DB $29 + DB $4A + DB $21 + DB $4A + DB $27 + DB $4A + DB $29 + DB $4A + DB $29 + DB $4A + DB $46 + DB $31 + DB $00 + DB $00 +LABD0 DB $46 + DB $31 + DB $29 + DB $4A + DB $29 + DB $4A + DB $2E + DB $4A + DB $28 + DB $4A + DB $24 + DB $4A + DB $43 + DB $31 + DB $00 + DB $00 +LABE0 DB $20 + DB $00 + DB $70 + DB $00 + DB $2C + DB $03 + DB $7E + DB $07 + DB $04 + DB $02 + DB $78 + DB $01 + DB $78 + DB $01 + DB $20 + DB $00 +LABF0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LAC00 DB $06 + DB $30 + DB $09 + DB $48 + DB $10 + DB $04 + DB $52 + DB $25 + DB $65 + DB $53 + DB $74 + DB $17 + DB $58 + DB $0D + DB $60 + DB $03 +LAC10 DB $7C + DB $00 + DB $7E + DB $01 + DB $7B + DB $03 + DB $5F + DB $03 + DB $22 + DB $01 + DB $24 + DB $01 + DB $48 + DB $02 + DB $00 + DB $00 +LAC20 DB $2F + DB $2E + DB $25 + DB $00 + DB $30 + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $32 + DB $25 + DB $34 + DB $35 + DB $32 + DB $2E + DB $00 + DB $34 + DB $2F + DB $00 + DB $30 + DB $2C + DB $21 + DB $39 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LAC50 DB $34 ; TWO + DB $37 + DB $2F + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $25 + DB $32 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $32 ; RETURN + DB $25 + DB $34 + DB $35 + DB $32 + DB $2E + DB $00 + DB $34 ; TO + DB $2F + DB $00 + DB $30 ; PLAYER + DB $2C + DB $21 + DB $39 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LAC80 DB $00 + DB $00 + DB $27 ; GAME + DB $21 + DB $2D + DB $25 + DB $00 + DB $2F ; OVER + DB $35 + DB $25 + DB $32 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +LAC90 LDA $58 + PHA + LDA $58+1 + PHA + LDA #HGR1 ; LOGO + STA $58+1 + LDX #$40 + LDY #$00 + TYA +LACA3 STA ($58),Y + INY + BNE LACA3 + INC $58+1 + DEX + BNE LACA3 + PLA + STA $58+1 + PLA + STA $58 + RTS + +LACB4 LDA TXTPAGE2 + LDA #HGR1 ; LOGO + STA $02+1 + LDA #>HGR2 ; LOGO + STA $04+1 + LDX #$20 + LDY #$00 +LACC9 LDA ($04),Y + STA ($02),Y + INY + BNE LACC9 + INC $02+1 + INC $04+1 + DEX + BNE LACC9 + LDA TXTPAGE1 + RTS + RTS + +LACDC LDA $08 + PHA + TXA + PHA + TYA + PHA + LDA #$00 + STA $07 + LDX $06 + LDA L8F00,X + SEC + SBC #$26 + ASL + STA $06 + ROL $07 + LDA $08 + SEC + SBC #$20 + STA $08 + LDA $07 + BEQ LAD0B + LDY $06 + LDA L9D80,Y + STA $14 + LDA L9FC0,Y + BPL LAD15 +LAD0B LDY $06 + LDA L9C80,Y + STA $14 + LDA L9EC0,Y +LAD15 CLC + ADC #>L8000 ; LOGO + STA LAD58+2 + STA LAD5F+2 + LDA $13 + ASL + TAY + LDA LADB5,Y + STA LAD52+1 + LDA LADB5+1,Y + STA LAD52+2 + LDA #$08 + STA $17 + LDA $15 + BEQ LAD89 + LDA #$00 + STA $16 +LAD3A LDY $08 + LDA L9B00,Y + STA $02 + LDA L9BC0,Y + STA $02+1 + LDA #$02 + STA $1A + LDA #$00 + STA $18 + LDX $16 + LDY $14 +LAD52 LDA L6000,X +LAD55 AND #$7F + TAX +LAD58 LDA L6000,X + ORA $18 + STA $19 +LAD5F LDA L6000+$80,X + STA $18 + LDA ($02),Y + ORA $19 + STA ($02),Y + INY + INC $16 + LDX $16 + DEC $1A + BMI LAD7B + BNE LAD52 + DEC $16 + LDA #$00 + BEQ LAD55 +LAD7B INC $08 + DEC $17 + BNE LAD3A + PLA + TAY + PLA + TAX + PLA + STA $08 + RTS + +LAD89 LDX #$03 + LDY $08 + LDA L9B00,Y + STA $02 + STA $04 + LDA L9BC0,Y + STA $02+1 + EOR #$60 + STA $04+1 + LDY $14 +LAD9F LDA ($04),Y + STA ($02),Y + INY + DEX + BNE LAD9F + INC $08 + DEC $17 + BNE LAD89 + PLA + TAY + PLA + TAX + PLA + STA $08 + RTS + +LADB5 DA LABE0 + DA LAB70 + DA LABA0 + DA LAB80 + DA LA970 + DA LAB90 + DA LABB0 + DA LABF0 + DA LABB0 + DA LABB0 + DA LABB0 + DA LABB0 + DA LABC0 + DA LABC0 + DA LABC0 + DA LABC0 + DA LABC0 + DA LABC0 + DA LABD0 + DA LABD0 + DA LAC00 + DA LAC10 + +LADE1 LDA #L8000 + STA $02+1 + STA $04+1 + LDA #$01 + STA $09 +LADF3 LDY #$00 +LADF5 TYA + STA $06 + LDA #$00 + STA $07 + LDX $09 +LADFE ASL $06 + ROL $07 + DEX + BNE LADFE + LSR $06 + LDA $06 + STA ($02),Y + LDA $07 + STA ($04),Y + INY + CPY #$80 + BNE LADF5 + INC $02+1 + INC $04+1 + INC $09 + LDA $09 + CMP #$09 + BNE LADF3 + + LDA #L8F00 ; LOGO + STA $02+1 + LDY #$00 + STY $09 +LAE2C LDX #$00 +LAE2E LDA $09 + STA ($02),Y + INY + BEQ LAE3E + INX + CPX #$07 + BEQ LAE2C + INC $09 + BNE LAE2E +LAE3E RTS + + LDA $BB + SEC + SBC #$10 + STA $BB + BCC LAE4C + CMP #$04 + BCS LAE50 +LAE4C LDA #$04 + STA $BB +LAE50 RTS + +*------------------------------- +* +* $A0: source pointer +* $A2: dest pointer (storage area) +* $A4: length +* $A5..$A6: offset +* + +LAE51 LDA #>L0800 + CLC + ADC $A6 + STA $A2+1 + LDA #L8B00 ; LOGO + STA $11+1 + LDA #$00 + STA $09 + LDA ($11),Y + STA $06 + LDA $11+1 + PHA + CLC + ADC #$04 ; 8B+4 = 8F + STA $11+1 + LDA ($11),Y + STA $08 + PLA + STA $11+1 + PLA + PHA + ASL + ROL $09 + ASL + ROL $09 + ASL + ROL $09 + STA LBF08+1 + LDA $09 + CLC + ADC #>L9000 ; LOGO + STA LBF08+2 + PLA + CMP #$40 ; ALL CHARS + BCC LBEED + CMP #$45 ; GREEN CACTUS + BCC LBEE5 + CMP #$4A ; PINK CACTUS + BCC LBEDC + CMP #$52 ; CENTIPEDE SPRITES + BCS LBEED + + LDA $06 + LSR + BCC LBEED + LDA LBF08+1 + CLC + ADC #L1560 ; LOGO + STA LBF08+2 + BNE LBEED + +LBEDC LDA $06 + LSR + BCC LBEED + LDA #$4A ; LSR + BNE LBEEF +LBEE5 LDA $06 + LSR + BCC LBEED + LDA #$0A ; ASL + DB $2C +LBEED LDA #$EA ; NOP +LBEEF STA LBF0B + LDX #$00 +LBEF4 LDY $08 + LDA L9B00,Y + STA $02 + STA $04 + LDA L9BC0,Y + STA $02+1 + EOR #$60 + STA $04+1 + LDY $06 +LBF08 LDA $1000,X +LBF0B LSR + STA ($02),Y + STA ($04),Y + INC $08 + INX + CPX #$08 + BNE LBEF4 + LDY $0F ; RESTORE Y + RTS + +LBF1A INC $F6 + DEC $F7 + LDA $F6 + ROL + ROL + ROL + ROL + STA $00 + LDA $F7 + ROR + ROR + ROR + ROR + EOR $00 + ADC $F7 + ADC $00 + BCC LBF36 + DEC $F7 +LBF36 RTS + +LBF37 LDA #$00 + STA $C8 + STA $C9 + LDX #$60 + LDA #$00 +LBF41 STA $00,X + INX + BNE LBF41 + LDX #$0F +LBF48 LDA LBF51,X + STA $70,X + DEX + BPL LBF48 + RTS + +LBF51 DA L9B00 + DA L9BC0 + DA L9C80 + DA L9DA0 + DA L9EC0 + DA L9D80 + DA L9EA0 + DA L9FC0 + +LBF61 LDA #$00 + STA $FA + STA $FB + STA whichDIR + STA $FD + STA $D0 + STA $D1 + RTS + + DB $58 + DB $0D + DB $03 + DB $AD + DB $00 + DB $0D + DB $03 + DB $A2 + DB $00 + DB $0D + DB $03 + DB $AC + DB $00 + DB $0D + DB $03 + DB $B1 + +LBF80 STA LBF9A + STY LBF99 + STX LBF98 + LDA #$00 + STA LBF9B + SEC + INC LBF99 + LDX LBF9A + JMP LBFC7 + +LBF98 DB $00 +LBF99 DB $00 +LBF9A DB $00 +LBF9B DB $00 +LBF9C DB $00 +LBF9D DB $00 + +LBF9E PHP + LDA LBF9B + BEQ LBFBB + DEY + BNE LBFBB + TAY + BMI LBFB5 + LDA LBF9A + BEQ LBFBB + DEC LBF9A + TYA + BNE LBFBB +LBFB5 INC LBF9A + AND #$7F + TAY +LBFBB PLP + DEC LBF98 + BNE LBFC7 + DEC LBF99 + BNE LBFC7 + RTS + +LBFC7 ROL LBF9C + ROL LBF9D + TXA + BEQ LBFD1 + DEX +LBFD1 BNE LBFDB + BCC LBFDB + LDA SPKR + LDX LBF9A +LBFDB ROR + ROR + ROR + EOR LBF9D + ASL + ASL + ASL + JMP LBF9E + RTS + + DB $00 + DB $00 + DB $4C + DB $39 + DB $41 + DB $0D + DB $08 + DB $CB + DB $01 + DB $4C + DB $42 + DB $33 + DB $44 + DB $38 + DB $0D + DB $08 + DB $87 + DB $01 + DB $4C + DB $41 + DB $46 + DB $34 + DB $37 + DB $0D diff --git a/donkey/.DS_Store b/donkey/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/donkey/.DS_Store differ diff --git a/donkey/DONKEY.0800.S b/donkey/DONKEY.0800.S new file mode 100644 index 0000000..1d27674 --- /dev/null +++ b/donkey/DONKEY.0800.S @@ -0,0 +1,6161 @@ +* +* Donkey Kong +* +* (c) 1982, Nintendo +* (c) 1984, Atari +* (s) 2020, Antoine Vignau +* + +*----------------------- + + MX %11 + ORG $0800 + LST OFF + +*----------------------- + +L0800 DB $A8 + DB $81 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D8 + DB $8A + DB $80 + DB $DE + DB $8A + DB $80 + DB $FF + DB $87 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A0 + DB $EA + DB $80 + DB $A8 + DB $EA + DB $80 + DB $A8 + DB $95 + DB $80 + DB $A8 + DB $F5 + DB $81 + DB $A0 + DB $D5 + DB $81 + DB $A0 + DB $C0 + DB $81 + DB $F0 + DB $80 + DB $80 + DB $F8 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D4 + DB $8A + DB $80 + DB $B0 + DB $95 + DB $80 + DB $BC + DB $95 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $C0 + DB $D4 + DB $81 + DB $D0 + DB $D4 + DB $81 + DB $D0 + DB $AA + DB $80 + DB $D0 + DB $EA + DB $83 + DB $C0 + DB $AA + DB $83 + DB $C0 + DB $80 + DB $83 + DB $E0 + DB $81 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $E0 + DB $AA + DB $80 + DB $F8 + DB $AA + DB $80 + DB $FC + DB $9F + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $95 + DB $80 + DB $D8 + DB $AA + DB $80 + DB $D8 + DB $CA + DB $80 + DB $80 + DB $D5 + DB $80 + DB $AC + DB $D5 + DB $80 + DB $BC + DB $D5 + DB $80 + DB $BC + DB $D0 + DB $80 + DB $80 + DB $F0 + DB $80 + DB $80 + DB $F8 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $C0 + DB $AA + DB $80 + DB $D0 + DB $AA + DB $80 + DB $C0 + DB $D5 + DB $80 + DB $F0 + DB $D5 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $AA + DB $80 + DB $B0 + DB $D5 + DB $80 + DB $B0 + DB $95 + DB $81 + DB $80 + DB $AA + DB $81 + DB $D8 + DB $AA + DB $81 + DB $F8 + DB $AA + DB $81 + DB $F8 + DB $A0 + DB $81 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $95 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $AB + DB $81 + DB $E0 + DB $AB + DB $81 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $A4 + DB $8D + DB $80 + DB $A5 + DB $8D + DB $80 + DB $D5 + DB $82 + DB $80 + DB $D5 + DB $9E + DB $80 + DB $D4 + DB $9A + DB $80 + DB $84 + DB $98 + DB $80 + DB $8E + DB $80 + DB $80 + DB $8F + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $81 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $D6 + DB $82 + DB $C0 + DB $D7 + DB $82 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $BE + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $C8 + DB $9A + DB $80 + DB $CA + DB $9A + DB $80 + DB $AA + DB $85 + DB $80 + DB $AA + DB $BD + DB $80 + DB $A8 + DB $B5 + DB $80 + DB $88 + DB $B0 + DB $80 + DB $9C + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $AC + DB $85 + DB $80 + DB $AF + DB $85 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $FC + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $AB + DB $85 + DB $80 + DB $AB + DB $89 + DB $80 + DB $D0 + DB $8A + DB $C0 + DB $D5 + DB $8A + DB $C0 + DB $D7 + DB $8A + DB $C0 + DB $87 + DB $8A + DB $80 + DB $80 + DB $8E + DB $80 + DB $80 + DB $8F + DB $80 + DB $95 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $D0 + DB $9A + DB $80 + DB $D0 + DB $FA + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $9F + DB $80 + DB $A0 + DB $85 + DB $80 + DB $D6 + DB $84 + DB $80 + DB $D6 + DB $94 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $AF + DB $95 + DB $80 + DB $AB + DB $85 + DB $80 + DB $83 + DB $84 + DB $80 + DB $80 + DB $8E + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $81 + DB $A0 + DB $B5 + DB $80 + DB $A0 + DB $F5 + DB $81 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $BE + DB $80 + DB $C0 + DB $8A + DB $80 + DB $AC + DB $89 + DB $80 + DB $AC + DB $A9 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $DE + DB $AA + DB $80 + DB $D6 + DB $8A + DB $80 + DB $86 + DB $88 + DB $80 + DB $80 + DB $9C + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $C0 + DB $EA + DB $80 + DB $C0 + DB $EA + DB $83 + DB $80 + DB $FF + DB $87 + DB $80 + DB $FC + DB $80 + DB $80 + DB $95 + DB $80 + DB $C0 + DB $AA + DB $83 + DB $A0 + DB $AA + DB $83 + DB $A0 + DB $95 + DB $80 + DB $A0 + DB $D5 + DB $86 + DB $A0 + DB $D5 + DB $87 + DB $A0 + DB $C1 + DB $87 + DB $E0 + DB $81 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $AA + DB $81 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D5 + DB $81 + DB $80 + DB $D5 + DB $87 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F8 + DB $81 + DB $80 + DB $AA + DB $80 + DB $80 + DB $D5 + DB $86 + DB $C0 + DB $D4 + DB $86 + DB $C0 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $8D + DB $C0 + DB $AA + DB $8F + DB $C0 + DB $82 + DB $8F + DB $C0 + DB $83 + DB $80 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $AA + DB $83 + DB $80 + DB $AA + DB $8F + DB $80 + DB $FC + DB $9F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $D4 + DB $80 + DB $E0 + DB $CA + DB $80 + DB $E0 + DB $CA + DB $82 + DB $80 + DB $D5 + DB $82 + DB $F0 + DB $D5 + DB $82 + DB $B0 + DB $D5 + DB $80 + DB $B0 + DB $C0 + DB $80 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $D4 + DB $86 + DB $80 + DB $D4 + DB $9E + DB $80 + DB $F8 + DB $BF + DB $80 + DB $E0 + DB $87 + DB $80 + DB $A8 + DB $81 + DB $C0 + DB $95 + DB $81 + DB $C0 + DB $95 + DB $85 + DB $80 + DB $AA + DB $85 + DB $E0 + DB $AB + DB $85 + DB $E0 + DB $AA + DB $81 + DB $E0 + DB $80 + DB $81 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $C0 + DB $87 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D0 + DB $AA + DB $80 + DB $A8 + DB $8D + DB $80 + DB $A8 + DB $BD + DB $80 + DB $F0 + DB $FF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $D0 + DB $82 + DB $80 + DB $A8 + DB $B5 + DB $80 + DB $A4 + DB $B5 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D4 + DB $EA + DB $80 + DB $D4 + DB $FA + DB $80 + DB $94 + DB $F8 + DB $80 + DB $9C + DB $80 + DB $80 + DB $BC + DB $80 + DB $A8 + DB $81 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D8 + DB $8A + DB $80 + DB $DE + DB $8A + DB $80 + DB $FF + DB $87 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $A0 + DB $81 + DB $80 + DB $A0 + DB $82 + DB $80 + DB $A8 + DB $8A + DB $80 + DB $A8 + DB $8A + DB $80 + DB $E8 + DB $93 + DB $80 + DB $E0 + DB $93 + DB $80 + DB $A0 + DB $94 + DB $80 + DB $F0 + DB $9C + DB $80 + DB $F8 + DB $9E + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D4 + DB $8A + DB $80 + DB $B0 + DB $95 + DB $80 + DB $BC + DB $95 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $C0 + DB $82 + DB $80 + DB $C0 + DB $84 + DB $80 + DB $D0 + DB $94 + DB $80 + DB $D0 + DB $94 + DB $80 + DB $D0 + DB $A7 + DB $80 + DB $C0 + DB $A7 + DB $80 + DB $C0 + DB $A8 + DB $80 + DB $E0 + DB $B9 + DB $80 + DB $F0 + DB $BD + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $E0 + DB $AA + DB $80 + DB $F8 + DB $AA + DB $80 + DB $FC + DB $9F + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $85 + DB $80 + DB $80 + DB $89 + DB $80 + DB $A0 + DB $A9 + DB $80 + DB $A0 + DB $A9 + DB $80 + DB $A0 + DB $CF + DB $80 + DB $80 + DB $CF + DB $80 + DB $80 + DB $D1 + DB $80 + DB $C0 + DB $F3 + DB $80 + DB $E0 + DB $FB + DB $80 + DB $C0 + DB $8A + DB $80 + DB $C0 + DB $AA + DB $80 + DB $D0 + DB $AA + DB $80 + DB $C0 + DB $D5 + DB $80 + DB $F0 + DB $D5 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $8A + DB $80 + DB $80 + DB $92 + DB $80 + DB $C0 + DB $D2 + DB $80 + DB $C0 + DB $D2 + DB $80 + DB $C0 + DB $9E + DB $81 + DB $80 + DB $9E + DB $81 + DB $80 + DB $A2 + DB $81 + DB $80 + DB $E7 + DB $81 + DB $C0 + DB $F7 + DB $81 + DB $80 + DB $95 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $AB + DB $81 + DB $E0 + DB $AB + DB $81 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $94 + DB $80 + DB $80 + DB $A4 + DB $80 + DB $80 + DB $A5 + DB $81 + DB $80 + DB $A5 + DB $81 + DB $80 + DB $BD + DB $82 + DB $80 + DB $BC + DB $82 + DB $80 + DB $C4 + DB $82 + DB $80 + DB $CE + DB $83 + DB $80 + DB $EF + DB $83 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $81 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $D6 + DB $82 + DB $C0 + DB $D7 + DB $82 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $BE + DB $80 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $C8 + DB $80 + DB $80 + DB $CA + DB $82 + DB $80 + DB $CA + DB $82 + DB $80 + DB $FA + DB $84 + DB $80 + DB $F8 + DB $84 + DB $80 + DB $88 + DB $85 + DB $80 + DB $9C + DB $87 + DB $80 + DB $DE + DB $87 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $AC + DB $85 + DB $80 + DB $AF + DB $85 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $FC + DB $80 + DB $80 + DB $D0 + DB $80 + DB $80 + DB $90 + DB $81 + DB $80 + DB $94 + DB $85 + DB $80 + DB $94 + DB $85 + DB $80 + DB $F4 + DB $89 + DB $80 + DB $F0 + DB $89 + DB $80 + DB $90 + DB $8A + DB $80 + DB $B8 + DB $8E + DB $80 + DB $BC + DB $8F + DB $A0 + DB $85 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $D4 + DB $86 + DB $80 + DB $D4 + DB $9E + DB $80 + DB $F8 + DB $BF + DB $80 + DB $E0 + DB $87 + DB $80 + DB $A0 + DB $81 + DB $80 + DB $90 + DB $81 + DB $80 + DB $94 + DB $85 + DB $80 + DB $94 + DB $85 + DB $80 + DB $F2 + DB $85 + DB $80 + DB $F2 + DB $81 + DB $80 + DB $8A + DB $81 + DB $80 + DB $CE + DB $83 + DB $80 + DB $DE + DB $87 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D0 + DB $AA + DB $80 + DB $A8 + DB $8D + DB $80 + DB $A8 + DB $BD + DB $80 + DB $F0 + DB $FF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $C0 + DB $82 + DB $80 + DB $A0 + DB $82 + DB $80 + DB $A8 + DB $8A + DB $80 + DB $A8 + DB $8A + DB $80 + DB $E4 + DB $8B + DB $80 + DB $E4 + DB $83 + DB $80 + DB $94 + DB $82 + DB $80 + DB $9C + DB $87 + DB $80 + DB $BC + DB $8F + DB $80 + DB $80 + DB $95 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $D0 + DB $9A + DB $80 + DB $D0 + DB $FA + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $9F + DB $80 + DB $80 + DB $85 + DB $80 + DB $C0 + DB $84 + DB $80 + DB $D0 + DB $94 + DB $80 + DB $D0 + DB $94 + DB $80 + DB $C8 + DB $97 + DB $80 + DB $C8 + DB $87 + DB $80 + DB $A8 + DB $84 + DB $80 + DB $B8 + DB $8E + DB $80 + DB $F8 + DB $9E + DB $80 + DB $80 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $81 + DB $A0 + DB $B5 + DB $80 + DB $A0 + DB $F5 + DB $81 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $BE + DB $80 + DB $80 + DB $8A + DB $80 + DB $80 + DB $89 + DB $80 + DB $A0 + DB $A9 + DB $80 + DB $A0 + DB $A9 + DB $80 + DB $90 + DB $AF + DB $80 + DB $90 + DB $8F + DB $80 + DB $D0 + DB $88 + DB $80 + DB $F0 + DB $9C + DB $80 + DB $F0 + DB $BD + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $C0 + DB $EA + DB $80 + DB $C0 + DB $EA + DB $83 + DB $80 + DB $FF + DB $87 + DB $80 + DB $FC + DB $80 + DB $80 + DB $94 + DB $80 + DB $80 + DB $92 + DB $80 + DB $C0 + DB $D2 + DB $80 + DB $C0 + DB $D2 + DB $80 + DB $A0 + DB $DE + DB $80 + DB $A0 + DB $9E + DB $80 + DB $A0 + DB $91 + DB $80 + DB $E0 + DB $B9 + DB $80 + DB $E0 + DB $FB + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $AA + DB $81 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D5 + DB $81 + DB $80 + DB $D5 + DB $87 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F8 + DB $81 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $A4 + DB $80 + DB $80 + DB $A5 + DB $81 + DB $80 + DB $A5 + DB $81 + DB $C0 + DB $BC + DB $81 + DB $C0 + DB $BC + DB $80 + DB $C0 + DB $A2 + DB $80 + DB $C0 + DB $F3 + DB $80 + DB $C0 + DB $F7 + DB $81 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $AA + DB $83 + DB $80 + DB $AA + DB $8F + DB $80 + DB $FC + DB $9F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $D0 + DB $80 + DB $80 + DB $C8 + DB $80 + DB $80 + DB $CA + DB $82 + DB $80 + DB $CA + DB $82 + DB $80 + DB $F9 + DB $82 + DB $80 + DB $F9 + DB $80 + DB $80 + DB $C5 + DB $80 + DB $80 + DB $E7 + DB $81 + DB $80 + DB $EF + DB $83 + DB $A8 + DB $81 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D8 + DB $8A + DB $80 + DB $DE + DB $8A + DB $80 + DB $FF + DB $87 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $B6 + DB $E9 + DB $80 + DB $B6 + DB $E9 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A6 + DB $F5 + DB $81 + DB $AE + DB $D4 + DB $81 + DB $8E + DB $C0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D4 + DB $8A + DB $80 + DB $B0 + DB $95 + DB $80 + DB $BC + DB $95 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $EC + DB $D2 + DB $81 + DB $EC + DB $D2 + DB $81 + DB $C0 + DB $AA + DB $80 + DB $CC + DB $EA + DB $83 + DB $DC + DB $A8 + DB $83 + DB $9C + DB $80 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $E0 + DB $AA + DB $80 + DB $F8 + DB $AA + DB $80 + DB $FC + DB $9F + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $95 + DB $80 + DB $D8 + DB $A5 + DB $83 + DB $D8 + DB $A5 + DB $83 + DB $80 + DB $D5 + DB $80 + DB $98 + DB $D5 + DB $87 + DB $B8 + DB $D1 + DB $86 + DB $B8 + DB $80 + DB $86 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $C0 + DB $AA + DB $80 + DB $D0 + DB $AA + DB $80 + DB $C0 + DB $D5 + DB $80 + DB $F0 + DB $D5 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $AA + DB $80 + DB $B0 + DB $CB + DB $86 + DB $B0 + DB $CB + DB $86 + DB $80 + DB $AA + DB $81 + DB $B0 + DB $AA + DB $8F + DB $F0 + DB $A2 + DB $8D + DB $F0 + DB $80 + DB $8C + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $AB + DB $81 + DB $E0 + DB $AB + DB $81 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $D4 + DB $80 + DB $E0 + DB $96 + DB $8D + DB $E0 + DB $96 + DB $8D + DB $80 + DB $D4 + DB $82 + DB $E0 + DB $D4 + DB $9E + DB $E0 + DB $C5 + DB $9A + DB $E0 + DB $81 + DB $98 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $81 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $D6 + DB $82 + DB $C0 + DB $D7 + DB $82 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $BE + DB $80 + DB $80 + DB $A8 + DB $81 + DB $C0 + DB $AD + DB $9A + DB $C0 + DB $AD + DB $9A + DB $80 + DB $A8 + DB $85 + DB $C0 + DB $A9 + DB $BD + DB $C0 + DB $8B + DB $B5 + DB $C0 + DB $83 + DB $B0 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $AC + DB $85 + DB $80 + DB $AF + DB $85 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $FC + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $DB + DB $B4 + DB $80 + DB $DB + DB $B4 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D3 + DB $FA + DB $80 + DB $97 + DB $EA + DB $80 + DB $87 + DB $E0 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $D0 + DB $9A + DB $80 + DB $D0 + DB $FA + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $9F + DB $80 + DB $A0 + DB $85 + DB $80 + DB $96 + DB $ED + DB $80 + DB $96 + DB $ED + DB $80 + DB $A8 + DB $85 + DB $80 + DB $AF + DB $E5 + DB $80 + DB $AB + DB $F4 + DB $80 + DB $83 + DB $F0 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $80 + DB $C0 + DB $AA + DB $81 + DB $A0 + DB $B5 + DB $80 + DB $A0 + DB $F5 + DB $81 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $BE + DB $80 + DB $C0 + DB $8A + DB $80 + DB $AC + DB $DA + DB $81 + DB $AC + DB $DA + DB $81 + DB $D0 + DB $8A + DB $80 + DB $DE + DB $CA + DB $81 + DB $D6 + DB $E8 + DB $81 + DB $86 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $C0 + DB $EA + DB $80 + DB $C0 + DB $EA + DB $83 + DB $80 + DB $FF + DB $87 + DB $80 + DB $FC + DB $80 + DB $80 + DB $95 + DB $80 + DB $D8 + DB $B4 + DB $83 + DB $D8 + DB $B4 + DB $83 + DB $A0 + DB $95 + DB $80 + DB $BC + DB $95 + DB $83 + DB $AC + DB $D1 + DB $83 + DB $8C + DB $C0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $AA + DB $81 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D5 + DB $81 + DB $80 + DB $D5 + DB $87 + DB $80 + DB $FE + DB $8F + DB $80 + DB $F8 + DB $81 + DB $80 + DB $AA + DB $80 + DB $B0 + DB $E9 + DB $86 + DB $B0 + DB $E9 + DB $86 + DB $C0 + DB $AA + DB $80 + DB $F8 + DB $AA + DB $86 + DB $D8 + DB $A2 + DB $87 + DB $98 + DB $80 + DB $87 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $AA + DB $83 + DB $80 + DB $AA + DB $8F + DB $80 + DB $FC + DB $9F + DB $80 + DB $F0 + DB $83 + DB $80 + DB $D4 + DB $80 + DB $E0 + DB $D2 + DB $8D + DB $E0 + DB $D2 + DB $8D + DB $80 + DB $D5 + DB $80 + DB $F0 + DB $D5 + DB $8C + DB $B0 + DB $C5 + DB $8E + DB $B0 + DB $80 + DB $8E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $D4 + DB $86 + DB $80 + DB $D4 + DB $9E + DB $80 + DB $F8 + DB $BF + DB $80 + DB $E0 + DB $87 + DB $80 + DB $A8 + DB $81 + DB $C0 + DB $A5 + DB $9B + DB $C0 + DB $A5 + DB $9B + DB $80 + DB $AA + DB $81 + DB $E0 + DB $AB + DB $99 + DB $E0 + DB $8A + DB $9D + DB $E0 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $D0 + DB $8A + DB $80 + DB $D0 + DB $AA + DB $80 + DB $A8 + DB $8D + DB $80 + DB $A8 + DB $BD + DB $80 + DB $F0 + DB $FF + DB $80 + DB $C0 + DB $8F + DB $80 + DB $D0 + DB $82 + DB $80 + DB $CB + DB $B6 + DB $80 + DB $CB + DB $B6 + DB $80 + DB $D4 + DB $82 + DB $C0 + DB $D7 + DB $B2 + DB $C0 + DB $95 + DB $BA + DB $C0 + DB $81 + DB $B8 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $CC + DB $AA + DB $80 + DB $CC + DB $AA + DB $80 + DB $84 + DB $8A + DB $80 + DB $C4 + DB $AE + DB $80 + DB $90 + DB $95 + DB $81 + DB $90 + DB $95 + DB $85 + DB $80 + DB $95 + DB $84 + DB $80 + DB $95 + +L1000 DB $86 + DB $80 + DB $95 + DB $86 + DB $C0 + DB $91 + DB $80 + DB $E0 + DB $91 + DB $80 + DB $80 + DB $98 + DB $80 + DB $80 + DB $B8 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $98 + DB $D5 + DB $80 + DB $98 + DB $D5 + DB $80 + DB $88 + DB $94 + DB $80 + DB $88 + DB $DD + DB $80 + DB $A0 + DB $AA + DB $82 + DB $A0 + DB $AA + DB $8A + DB $80 + DB $AA + DB $88 + DB $80 + DB $AA + DB $8C + DB $80 + DB $AA + DB $8C + DB $80 + DB $A3 + DB $80 + DB $C0 + DB $A3 + DB $80 + DB $80 + DB $B0 + DB $80 + DB $80 + DB $F0 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $CC + DB $AA + DB $80 + DB $CC + DB $AA + DB $80 + DB $84 + DB $8A + DB $80 + DB $C4 + DB $AE + DB $80 + DB $90 + DB $95 + DB $81 + DB $90 + DB $95 + DB $85 + DB $80 + DB $95 + DB $84 + DB $80 + DB $95 + DB $86 + DB $80 + DB $95 + DB $86 + DB $C0 + DB $91 + DB $80 + DB $E0 + DB $91 + DB $80 + DB $80 + DB $98 + DB $80 + DB $80 + DB $B8 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $98 + DB $D5 + DB $80 + DB $98 + DB $D5 + DB $80 + DB $88 + DB $94 + DB $80 + DB $88 + DB $DD + DB $80 + DB $A0 + DB $AA + DB $82 + DB $A0 + DB $AA + DB $8A + DB $80 + DB $AA + DB $88 + DB $80 + DB $AA + DB $8C + DB $80 + DB $AA + DB $8C + DB $80 + DB $A3 + DB $80 + DB $C0 + DB $A3 + DB $80 + DB $80 + DB $B0 + DB $80 + DB $80 + DB $F0 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $CC + DB $AA + DB $80 + DB $CC + DB $AA + DB $80 + DB $84 + DB $8A + DB $80 + DB $C4 + DB $AE + DB $80 + DB $90 + DB $95 + DB $81 + DB $90 + DB $95 + DB $85 + DB $80 + DB $95 + DB $84 + DB $80 + DB $95 + DB $86 + DB $80 + DB $95 + DB $86 + DB $C0 + DB $91 + DB $80 + DB $E0 + DB $91 + DB $80 + DB $80 + DB $98 + DB $80 + DB $80 + DB $B8 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $98 + DB $D5 + DB $80 + DB $98 + DB $D5 + DB $80 + DB $88 + DB $94 + DB $80 + DB $88 + DB $DD + DB $80 + DB $A0 + DB $AA + DB $82 + DB $A0 + DB $AA + DB $8A + DB $80 + DB $AA + DB $88 + DB $80 + DB $AA + DB $8C + DB $80 + DB $AA + DB $8C + DB $80 + DB $A3 + DB $80 + DB $C0 + DB $A3 + DB $80 + DB $80 + DB $B0 + DB $80 + DB $80 + DB $F0 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $CC + DB $AA + DB $80 + DB $CC + DB $AA + DB $80 + DB $84 + DB $8A + DB $80 + DB $C4 + DB $AE + DB $80 + DB $90 + DB $95 + DB $81 + DB $90 + DB $95 + DB $85 + DB $80 + DB $95 + DB $84 + DB $80 + DB $95 + DB $86 + DB $80 + DB $95 + DB $86 + DB $C0 + DB $91 + DB $80 + DB $E0 + DB $91 + DB $80 + DB $80 + DB $98 + DB $80 + DB $80 + DB $B8 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $C0 + DB $AA + DB $86 + DB $C0 + DB $AA + DB $86 + DB $80 + DB $8A + DB $84 + DB $C0 + DB $AE + DB $84 + DB $90 + DB $95 + DB $81 + DB $94 + DB $95 + DB $81 + DB $84 + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $80 + DB $B1 + DB $80 + DB $80 + DB $F1 + DB $80 + DB $80 + DB $83 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $D5 + DB $8C + DB $80 + DB $D5 + DB $8C + DB $80 + DB $94 + DB $88 + DB $80 + DB $DD + DB $88 + DB $A0 + DB $AA + DB $82 + DB $A8 + DB $AA + DB $82 + DB $88 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $80 + DB $E2 + DB $80 + DB $80 + DB $E2 + DB $81 + DB $80 + DB $86 + DB $80 + DB $80 + DB $87 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $C0 + DB $AA + DB $86 + DB $C0 + DB $AA + DB $86 + DB $80 + DB $8A + DB $84 + DB $C0 + DB $AE + DB $84 + DB $90 + DB $95 + DB $81 + DB $94 + DB $95 + DB $81 + DB $84 + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $80 + DB $B1 + DB $80 + DB $80 + DB $F1 + DB $80 + DB $80 + DB $83 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $D5 + DB $8C + DB $80 + DB $D5 + DB $8C + DB $80 + DB $94 + DB $88 + DB $80 + DB $DD + DB $88 + DB $A0 + DB $AA + DB $82 + DB $A8 + DB $AA + DB $82 + DB $88 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $80 + DB $E2 + DB $80 + DB $80 + DB $E2 + DB $81 + DB $80 + DB $86 + DB $80 + DB $80 + DB $87 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $C0 + DB $AA + DB $86 + DB $C0 + DB $AA + DB $86 + DB $80 + DB $8A + DB $84 + DB $C0 + DB $AE + DB $84 + DB $90 + DB $95 + DB $81 + DB $94 + DB $95 + DB $81 + DB $84 + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $80 + DB $B1 + DB $80 + DB $80 + DB $F1 + DB $80 + DB $80 + DB $83 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $D5 + DB $8C + DB $80 + DB $D5 + DB $8C + DB $80 + DB $94 + DB $88 + DB $80 + DB $DD + DB $88 + DB $A0 + DB $AA + DB $82 + DB $A8 + DB $AA + DB $82 + DB $88 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $98 + DB $AA + DB $80 + DB $80 + DB $E2 + DB $80 + DB $80 + DB $E2 + DB $81 + DB $80 + DB $86 + DB $80 + DB $80 + DB $87 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $95 + DB $80 + DB $C0 + DB $AA + DB $86 + DB $C0 + DB $AA + DB $86 + DB $80 + DB $8A + DB $84 + DB $C0 + DB $AE + DB $84 + DB $90 + DB $95 + DB $81 + DB $94 + DB $95 + DB $81 + DB $84 + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $8C + DB $95 + DB $80 + DB $80 + DB $B1 + DB $80 + DB $80 + DB $F1 + DB $80 + DB $80 + DB $83 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $F0 + DB $AA + DB $80 + DB $80 + DB $F0 + DB $AA + DB $80 + DB $80 + DB $F0 + DB $AA + DB $80 + DB $80 + DB $80 + DB $82 + DB $80 + DB $80 + DB $80 + DB $82 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $B0 + DB $97 + DB $80 + DB $80 + DB $BC + DB $97 + DB $80 + DB $80 + DB $BE + DB $85 + DB $80 + DB $80 + DB $B0 + DB $85 + DB $80 + DB $80 + DB $80 + DB $85 + DB $80 + DB $80 + DB $90 + DB $85 + DB $80 + DB $80 + DB $90 + DB $A5 + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $D0 + DB $EA + DB $83 + DB $80 + DB $C0 + DB $AA + DB $83 + DB $80 + DB $C0 + DB $80 + DB $83 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $E0 + DB $D5 + DB $80 + DB $80 + DB $E0 + DB $D5 + DB $80 + DB $80 + DB $E0 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $84 + DB $80 + DB $80 + DB $80 + DB $84 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $E0 + DB $AE + DB $80 + DB $80 + DB $F8 + DB $AE + DB $80 + DB $80 + DB $FC + DB $8A + DB $80 + DB $80 + DB $E0 + DB $8A + DB $80 + DB $80 + DB $80 + DB $8A + DB $80 + DB $80 + DB $A0 + DB $8A + DB $80 + DB $80 + DB $A0 + DB $CA + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $87 + DB $80 + DB $80 + DB $D5 + DB $86 + DB $80 + DB $80 + DB $81 + DB $86 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $AB + DB $81 + DB $80 + DB $C0 + DB $AB + DB $81 + DB $80 + DB $C0 + DB $AB + DB $81 + DB $80 + DB $80 + DB $88 + DB $80 + DB $80 + DB $80 + DB $88 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $DD + DB $80 + DB $80 + DB $F0 + DB $DD + DB $80 + DB $80 + DB $F8 + DB $95 + DB $80 + DB $80 + DB $C0 + DB $95 + DB $80 + DB $80 + DB $80 + DB $94 + DB $80 + DB $80 + DB $C0 + DB $94 + DB $80 + DB $80 + DB $C0 + DB $A4 + DB $81 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $D8 + DB $AA + DB $81 + DB $80 + DB $F8 + DB $AA + DB $81 + DB $80 + DB $F8 + DB $A0 + DB $81 + DB $80 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $D7 + DB $82 + DB $80 + DB $80 + DB $D7 + DB $82 + DB $80 + DB $80 + DB $D7 + DB $82 + DB $80 + DB $80 + DB $90 + DB $80 + DB $80 + DB $80 + DB $90 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $BB + DB $81 + DB $80 + DB $E0 + DB $BB + DB $81 + DB $80 + DB $F0 + DB $AB + DB $80 + DB $80 + DB $80 + DB $AB + DB $80 + DB $80 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $80 + DB $A9 + DB $80 + DB $80 + DB $80 + DB $C9 + DB $82 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $B0 + DB $D5 + DB $82 + DB $80 + DB $F0 + DB $D5 + DB $82 + DB $80 + DB $F0 + DB $C1 + DB $82 + DB $80 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $AE + DB $85 + DB $80 + DB $80 + DB $AE + DB $85 + DB $80 + DB $80 + DB $AE + DB $85 + DB $80 + DB $80 + DB $A0 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $80 + DB $F6 + DB $82 + DB $80 + DB $C0 + DB $F7 + DB $82 + DB $80 + DB $E0 + DB $D7 + DB $80 + DB $80 + DB $80 + DB $D6 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $80 + DB $80 + DB $80 + DB $D2 + DB $80 + DB $80 + DB $80 + DB $D2 + DB $84 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $AA + DB $BD + DB $80 + DB $80 + DB $A8 + DB $B5 + DB $80 + DB $80 + DB $88 + DB $B0 + DB $80 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $DC + DB $8A + DB $80 + DB $80 + DB $DC + DB $8A + DB $80 + DB $80 + DB $DC + DB $8A + DB $80 + DB $80 + DB $C0 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $80 + DB $EC + DB $85 + DB $80 + DB $80 + DB $EF + DB $85 + DB $80 + DB $C0 + DB $AF + DB $81 + DB $80 + DB $80 + DB $AC + DB $81 + DB $80 + DB $80 + DB $A0 + DB $81 + DB $80 + DB $80 + DB $A4 + DB $81 + DB $80 + DB $80 + DB $A4 + DB $89 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $D4 + DB $FA + DB $80 + DB $80 + DB $D0 + DB $EA + DB $80 + DB $80 + DB $90 + DB $E0 + DB $80 + DB $80 + DB $B8 + DB $80 + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $B8 + DB $95 + DB $80 + DB $80 + DB $B8 + DB $95 + DB $80 + DB $80 + DB $B8 + DB $95 + DB $80 + DB $80 + DB $80 + DB $81 + DB $80 + DB $80 + DB $80 + DB $81 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D8 + DB $8B + DB $80 + DB $80 + DB $DE + DB $8B + DB $80 + DB $80 + DB $DF + DB $82 + DB $80 + DB $80 + DB $D8 + DB $82 + DB $80 + DB $80 + DB $C0 + DB $82 + DB $80 + DB $80 + DB $C8 + DB $82 + DB $80 + DB $80 + DB $C8 + DB $94 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $AB + DB $95 + DB $80 + DB $80 + DB $AF + DB $95 + DB $80 + DB $80 + DB $8F + DB $94 + DB $80 + DB $80 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $A8 + DB $9D + DB $80 + DB $80 + DB $A8 + DB $9D + DB $80 + DB $80 + DB $A8 + DB $9D + DB $80 + DB $80 + DB $80 + DB $81 + DB $80 + DB $80 + DB $80 + DB $81 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $D0 + DB $9B + DB $80 + DB $80 + DB $D0 + DB $FB + DB $80 + DB $80 + DB $C0 + DB $FA + DB $81 + DB $80 + DB $C0 + DB $9A + DB $80 + DB $80 + DB $C0 + DB $82 + DB $80 + DB $80 + DB $C0 + DB $92 + DB $80 + DB $80 + DB $C8 + DB $92 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $AF + DB $95 + DB $80 + DB $80 + DB $AB + DB $85 + DB $80 + DB $80 + DB $83 + DB $84 + DB $80 + DB $80 + DB $80 + DB $8E + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $D0 + DB $BA + DB $80 + DB $80 + DB $D0 + DB $BA + DB $80 + DB $80 + DB $D0 + DB $BA + DB $80 + DB $80 + DB $80 + DB $82 + DB $80 + DB $80 + DB $80 + DB $82 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $A0 + DB $B7 + DB $80 + DB $80 + DB $A0 + DB $F7 + DB $81 + DB $80 + DB $80 + DB $F5 + DB $83 + DB $80 + DB $80 + DB $B5 + DB $80 + DB $80 + DB $80 + DB $85 + DB $80 + DB $80 + DB $80 + DB $A5 + DB $80 + DB $80 + DB $90 + DB $A5 + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $DE + DB $AA + DB $80 + DB $80 + DB $D6 + DB $8A + DB $80 + DB $80 + DB $86 + DB $88 + DB $80 + DB $80 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $A0 + DB $F5 + DB $80 + DB $80 + DB $A0 + DB $F5 + DB $80 + DB $80 + DB $A0 + DB $F5 + DB $80 + DB $80 + DB $80 + DB $84 + DB $80 + DB $80 + DB $80 + DB $84 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $C0 + DB $EE + DB $80 + DB $80 + DB $C0 + DB $EE + DB $83 + DB $80 + DB $80 + DB $EA + DB $87 + DB $80 + DB $80 + DB $EA + DB $80 + DB $80 + DB $80 + DB $8A + DB $80 + DB $80 + DB $80 + DB $CA + DB $80 + DB $80 + DB $A0 + DB $C9 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $86 + DB $80 + DB $A0 + DB $D5 + DB $87 + DB $80 + DB $A0 + DB $C1 + DB $87 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $EA + DB $81 + DB $80 + DB $C0 + DB $EA + DB $81 + DB $80 + DB $C0 + DB $EA + DB $81 + DB $80 + DB $80 + DB $88 + DB $80 + DB $80 + DB $80 + DB $88 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $DD + DB $81 + DB $80 + DB $80 + DB $DD + DB $87 + DB $80 + DB $80 + DB $D4 + DB $8F + DB $80 + DB $80 + DB $D4 + DB $81 + DB $80 + DB $80 + DB $94 + DB $80 + DB $80 + DB $80 + DB $94 + DB $81 + DB $80 + DB $C0 + DB $92 + DB $81 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $C0 + DB $AA + DB $8D + DB $80 + DB $C0 + DB $AA + DB $8F + DB $80 + DB $C0 + DB $82 + DB $8F + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $83 + DB $80 + DB $80 + DB $D5 + DB $83 + DB $80 + DB $80 + DB $D5 + DB $83 + DB $80 + DB $80 + DB $90 + DB $80 + DB $80 + DB $80 + DB $90 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $BA + DB $83 + DB $80 + DB $80 + DB $BA + DB $8F + DB $80 + DB $80 + DB $A8 + DB $9F + DB $80 + DB $80 + DB $A8 + DB $83 + DB $80 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $82 + DB $80 + DB $80 + DB $A9 + DB $82 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $F0 + DB $D5 + DB $82 + DB $80 + DB $B0 + DB $D5 + DB $80 + DB $80 + DB $B0 + DB $C0 + DB $80 + DB $80 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $AA + DB $87 + DB $80 + DB $80 + DB $AA + DB $87 + DB $80 + DB $80 + DB $AA + DB $87 + DB $80 + DB $80 + DB $A0 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $F4 + DB $86 + DB $80 + DB $80 + DB $F4 + DB $9E + DB $80 + DB $80 + DB $D0 + DB $BE + DB $80 + DB $80 + DB $D0 + DB $86 + DB $80 + DB $80 + DB $D0 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $84 + DB $80 + DB $80 + DB $D2 + DB $84 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $E0 + DB $AB + DB $85 + DB $80 + DB $E0 + DB $AA + DB $81 + DB $80 + DB $E0 + DB $80 + DB $81 + DB $80 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $D4 + DB $8E + DB $80 + DB $80 + DB $D4 + DB $8E + DB $80 + DB $80 + DB $D4 + DB $8E + DB $80 + DB $80 + DB $C0 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $E8 + DB $8D + DB $80 + DB $80 + DB $E8 + DB $BD + DB $80 + DB $80 + DB $A0 + DB $FD + DB $80 + DB $80 + DB $A0 + DB $8D + DB $80 + DB $80 + DB $A0 + DB $81 + DB $80 + DB $80 + DB $A0 + DB $89 + DB $80 + DB $80 + DB $94 + DB $89 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $D4 + DB $EA + DB $80 + DB $80 + DB $D4 + DB $FA + DB $80 + DB $80 + DB $94 + DB $F8 + DB $80 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $B0 + DB $95 + DB $80 + DB $80 + DB $BC + DB $95 + DB $80 + DB $80 + DB $FE + DB $8F + DB $80 + DB $80 + DB $F0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $8A + DB $80 + DB $89 + DB $80 + DB $8A + DB $A0 + DB $89 + DB $80 + DB $AA + DB $AD + DB $A9 + DB $80 + DB $AA + DB $AD + DB $EA + DB $83 + DB $8A + DB $C0 + DB $AA + DB $83 + DB $8A + DB $C0 + DB $80 + DB $83 + DB $8E + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $E0 + DB $AA + DB $80 + DB $80 + DB $F8 + DB $AA + DB $80 + DB $80 + DB $FC + DB $9F + DB $80 + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $94 + DB $80 + DB $92 + DB $80 + DB $94 + DB $C0 + DB $92 + DB $80 + DB $D4 + DB $DA + DB $D2 + DB $80 + DB $D4 + DB $DA + DB $D4 + DB $87 + DB $94 + DB $80 + DB $D5 + DB $86 + DB $94 + DB $80 + DB $81 + DB $86 + DB $9C + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $C0 + DB $AA + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $D5 + DB $80 + DB $80 + DB $F0 + DB $D5 + DB $80 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $A8 + DB $80 + DB $A4 + DB $80 + DB $A8 + DB $80 + DB $A5 + DB $80 + DB $A8 + DB $B5 + DB $A5 + DB $81 + DB $A8 + DB $B5 + DB $A9 + DB $81 + DB $A8 + DB $F0 + DB $AA + DB $81 + DB $A8 + DB $F0 + DB $A0 + DB $81 + DB $B8 + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $AB + DB $81 + DB $80 + DB $E0 + DB $AB + DB $81 + DB $80 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 +L1800 DB $D0 + DB $80 + DB $C8 + DB $80 + DB $D0 + DB $80 + DB $CA + DB $80 + DB $D0 + DB $EA + DB $CA + DB $82 + DB $D0 + DB $EA + DB $D2 + DB $82 + DB $D0 + DB $E0 + DB $D5 + DB $82 + DB $D0 + DB $E0 + DB $C1 + DB $82 + DB $F0 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $80 + DB $AA + DB $81 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $80 + DB $D6 + DB $82 + DB $80 + DB $C0 + DB $D7 + DB $82 + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $80 + DB $BE + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $A0 + DB $81 + DB $90 + DB $81 + DB $A0 + DB $81 + DB $94 + DB $81 + DB $A0 + DB $D5 + DB $95 + DB $85 + DB $A0 + DB $D5 + DB $A5 + DB $BD + DB $A0 + DB $81 + DB $A8 + DB $B5 + DB $A0 + DB $81 + DB $88 + DB $B0 + DB $E0 + DB $81 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $80 + DB $AC + DB $85 + DB $80 + DB $80 + DB $AF + DB $85 + DB $80 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $80 + DB $FC + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $C0 + DB $82 + DB $A0 + DB $82 + DB $C0 + DB $82 + DB $A8 + DB $82 + DB $C0 + DB $AA + DB $AB + DB $8A + DB $C0 + DB $AA + DB $CB + DB $FA + DB $C0 + DB $82 + DB $D0 + DB $EA + DB $C0 + DB $82 + DB $90 + DB $E0 + DB $C0 + DB $83 + DB $B8 + DB $80 + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D8 + DB $8A + DB $80 + DB $80 + DB $DE + DB $8A + DB $80 + DB $80 + DB $FF + DB $87 + DB $80 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $85 + DB $C0 + DB $84 + DB $80 + DB $85 + DB $D0 + DB $84 + DB $80 + DB $D5 + DB $D6 + DB $94 + DB $80 + DB $D5 + DB $96 + DB $95 + DB $80 + DB $85 + DB $AE + DB $95 + DB $80 + DB $85 + DB $8E + DB $94 + DB $80 + DB $87 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $94 + DB $82 + DB $80 + DB $80 + DB $80 + DB $8E + DB $C1 + DB $B8 + DB $80 + DB $80 + DB $C0 + DB $E9 + DB $F7 + DB $CB + DB $85 + DB $80 + DB $90 + DB $A1 + DB $94 + DB $C2 + DB $84 + DB $80 + DB $C4 + DB $A1 + DB $D5 + DB $C2 + DB $91 + DB $80 + DB $90 + DB $AE + DB $C1 + DB $BA + DB $84 + DB $80 + DB $C4 + DB $AC + DB $C1 + DB $9A + DB $91 + DB $80 + DB $91 + DB $A8 + DB $D5 + DB $8B + DB $C4 + DB $80 + DB $C4 + DB $A8 + DB $F5 + DB $8F + DB $91 + DB $80 + DB $91 + DB $A8 + DB $BD + DB $8E + DB $C4 + DB $80 + DB $84 + DB $E8 + DB $E7 + DB $8B + DB $90 + DB $80 + DB $91 + DB $E8 + DB $FF + DB $8A + DB $C4 + DB $80 + DB $84 + DB $A2 + DB $D5 + DB $A2 + DB $90 + DB $80 + DB $91 + DB $82 + DB $80 + DB $A0 + DB $C4 + DB $80 + DB $84 + DB $82 + DB $91 + DB $A2 + DB $90 + DB $80 + DB $91 + DB $AA + DB $D4 + DB $A8 + DB $C4 + DB $80 + DB $84 + DB $82 + DB $91 + DB $A2 + DB $90 + DB $80 + DB $91 + DB $AA + DB $D4 + DB $A8 + DB $C4 + DB $80 + DB $84 + DB $A8 + DB $D5 + DB $8A + DB $90 + DB $80 + DB $91 + DB $A2 + DB $D5 + DB $A2 + DB $C4 + DB $80 + DB $C4 + DB $A2 + DB $D5 + DB $A2 + DB $91 + DB $80 + DB $D0 + DB $A0 + DB $C4 + DB $88 + DB $95 + DB $80 + DB $D0 + DB $80 + DB $91 + DB $82 + DB $85 + DB $80 + DB $D0 + DB $82 + DB $C5 + DB $A2 + DB $85 + DB $80 + DB $C0 + DB $92 + DB $91 + DB $A2 + DB $81 + DB $80 + DB $80 + DB $88 + DB $D4 + DB $80 + DB $84 + DB $80 + DB $90 + DB $82 + DB $80 + DB $88 + DB $81 + DB $80 + DB $C0 + DB $88 + DB $80 + DB $A0 + DB $84 + DB $80 + DB $90 + DB $82 + DB $80 + DB $88 + DB $91 + DB $80 + DB $C4 + DB $88 + DB $80 + DB $A0 + DB $C4 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $A8 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $AA + DB $81 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $A8 + DB $84 + DB $80 + DB $80 + DB $80 + DB $9C + DB $82 + DB $F1 + DB $80 + DB $80 + DB $80 + DB $D3 + DB $EF + DB $97 + DB $8B + DB $80 + DB $A0 + DB $C2 + DB $A8 + DB $84 + DB $89 + DB $80 + DB $88 + DB $C3 + DB $AA + DB $85 + DB $A3 + DB $80 + DB $A0 + DB $DC + DB $82 + DB $F5 + DB $88 + DB $80 + DB $88 + DB $D9 + DB $82 + DB $B5 + DB $A2 + DB $80 + DB $A2 + DB $D0 + DB $AA + DB $97 + DB $88 + DB $81 + DB $88 + DB $D1 + DB $EA + DB $9F + DB $A2 + DB $80 + DB $A2 + DB $D0 + DB $FA + DB $9C + DB $88 + DB $81 + DB $88 + DB $D0 + DB $CF + DB $97 + DB $A0 + DB $80 + DB $A2 + DB $D0 + DB $FF + DB $95 + DB $88 + DB $81 + DB $88 + DB $C4 + DB $AA + DB $C5 + DB $A0 + DB $80 + DB $A2 + DB $84 + DB $80 + DB $C0 + DB $88 + DB $81 + DB $88 + DB $84 + DB $A2 + DB $C4 + DB $A0 + DB $80 + DB $A2 + DB $D4 + DB $A8 + DB $D1 + DB $88 + DB $81 + DB $88 + DB $84 + DB $A2 + DB $C4 + DB $A0 + DB $80 + DB $A2 + DB $D4 + DB $A8 + DB $D1 + DB $88 + DB $81 + DB $88 + DB $D0 + DB $AA + DB $95 + DB $A0 + DB $80 + DB $A2 + DB $C4 + DB $AA + DB $C5 + DB $88 + DB $81 + DB $88 + DB $C5 + DB $AA + DB $C5 + DB $A2 + DB $80 + DB $A0 + DB $C1 + DB $88 + DB $91 + DB $AA + DB $80 + DB $A0 + DB $81 + DB $A2 + DB $84 + DB $8A + DB $80 + DB $A0 + DB $85 + DB $8A + DB $C5 + DB $8A + DB $80 + DB $80 + DB $A5 + DB $A2 + DB $C4 + DB $82 + DB $80 + DB $80 + DB $90 + DB $A8 + DB $81 + DB $88 + DB $80 + DB $A0 + DB $84 + DB $80 + DB $90 + DB $82 + DB $80 + DB $80 + DB $91 + DB $80 + DB $C0 + DB $88 + DB $80 + DB $A0 + DB $84 + DB $80 + DB $90 + DB $A2 + DB $80 + DB $88 + DB $91 + DB $80 + DB $C0 + DB $88 + DB $81 + DB $A8 + DB $95 + DB $80 + DB $D0 + DB $AA + DB $81 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D1 + DB $88 + DB $80 + DB $80 + DB $80 + DB $B8 + DB $84 + DB $E2 + DB $81 + DB $80 + DB $80 + DB $A6 + DB $DF + DB $AF + DB $96 + DB $80 + DB $C0 + DB $84 + DB $D1 + DB $88 + DB $92 + DB $80 + DB $90 + DB $86 + DB $D5 + DB $8A + DB $C6 + DB $80 + DB $C0 + DB $B8 + DB $85 + DB $EA + DB $91 + DB $80 + DB $90 + DB $B2 + DB $85 + DB $EA + DB $C4 + DB $80 + DB $C4 + DB $A0 + DB $D5 + DB $AE + DB $90 + DB $82 + DB $90 + DB $A2 + DB $D5 + DB $BF + DB $C4 + DB $80 + DB $C4 + DB $A0 + DB $F5 + DB $B9 + DB $90 + DB $82 + DB $90 + DB $A0 + DB $9F + DB $AF + DB $C0 + DB $80 + DB $C4 + DB $A0 + DB $FF + DB $AB + DB $90 + DB $82 + DB $90 + DB $88 + DB $D5 + DB $8A + DB $C1 + DB $80 + DB $C4 + DB $88 + DB $80 + DB $80 + DB $91 + DB $82 + DB $90 + DB $88 + DB $C4 + DB $88 + DB $C1 + DB $80 + DB $C4 + DB $A8 + DB $D1 + DB $A2 + DB $91 + DB $82 + DB $90 + DB $88 + DB $C4 + DB $88 + DB $C1 + DB $80 + DB $C4 + DB $A8 + DB $D1 + DB $A2 + DB $91 + DB $82 + DB $90 + DB $A0 + DB $D5 + DB $AA + DB $C0 + DB $80 + DB $C4 + DB $88 + DB $D5 + DB $8A + DB $91 + DB $82 + DB $90 + DB $8A + DB $D5 + DB $8A + DB $C5 + DB $80 + DB $C0 + DB $82 + DB $91 + DB $A2 + DB $D4 + DB $80 + DB $C0 + DB $82 + DB $C4 + DB $88 + DB $94 + DB $80 + DB $C0 + DB $8A + DB $94 + DB $8A + DB $95 + DB $80 + DB $80 + DB $CA + DB $C4 + DB $88 + DB $85 + DB $80 + DB $80 + DB $A0 + DB $D0 + DB $82 + DB $90 + DB $80 + DB $C0 + DB $88 + DB $80 + DB $A0 + DB $84 + DB $80 + DB $80 + DB $A2 + DB $80 + DB $80 + DB $91 + DB $80 + DB $C0 + DB $88 + DB $80 + DB $A0 + DB $C4 + DB $80 + DB $90 + DB $A2 + DB $80 + DB $80 + DB $91 + DB $82 + DB $D0 + DB $AA + DB $80 + DB $A0 + DB $D5 + DB $82 + DB $80 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A2 + DB $91 + DB $80 + DB $80 + DB $80 + DB $F0 + DB $88 + DB $C4 + DB $83 + DB $80 + DB $80 + DB $CC + DB $BE + DB $DF + DB $AC + DB $80 + DB $80 + DB $89 + DB $A2 + DB $91 + DB $A4 + DB $80 + DB $A0 + DB $8C + DB $AA + DB $95 + DB $8C + DB $81 + DB $80 + DB $F1 + DB $8A + DB $D4 + DB $A3 + DB $80 + DB $A0 + DB $E4 + DB $8A + DB $D4 + DB $89 + DB $81 + DB $88 + DB $C1 + DB $AA + DB $DD + DB $A0 + DB $84 + DB $A0 + DB $C4 + DB $AA + DB $FF + DB $88 + DB $81 + DB $88 + DB $C1 + DB $EA + DB $F3 + DB $A0 + DB $84 + DB $A0 + DB $C0 + DB $BE + DB $DE + DB $80 + DB $81 + DB $88 + DB $C1 + DB $FE + DB $D7 + DB $A0 + DB $84 + DB $A0 + DB $90 + DB $AA + DB $95 + DB $82 + DB $81 + DB $88 + DB $91 + DB $80 + DB $80 + DB $A2 + DB $84 + DB $A0 + DB $90 + DB $88 + DB $91 + DB $82 + DB $81 + DB $88 + DB $D1 + DB $A2 + DB $C5 + DB $A2 + DB $84 + DB $A0 + DB $90 + DB $88 + DB $91 + DB $82 + DB $81 + DB $88 + DB $D1 + DB $A2 + DB $C5 + DB $A2 + DB $84 + DB $A0 + DB $C0 + DB $AA + DB $D5 + DB $80 + DB $81 + DB $88 + DB $91 + DB $AA + DB $95 + DB $A2 + DB $84 + DB $A0 + DB $94 + DB $AA + DB $95 + DB $8A + DB $81 + DB $80 + DB $85 + DB $A2 + DB $C4 + DB $A8 + DB $81 + DB $80 + DB $85 + DB $88 + DB $91 + DB $A8 + DB $80 + DB $80 + DB $95 + DB $A8 + DB $94 + DB $AA + DB $80 + DB $80 + DB $94 + DB $89 + DB $91 + DB $8A + DB $80 + DB $80 + DB $C0 + DB $A0 + DB $85 + DB $A0 + DB $80 + DB $80 + DB $91 + DB $80 + DB $C0 + DB $88 + DB $80 + DB $80 + DB $C4 + DB $80 + DB $80 + DB $A2 + DB $80 + DB $80 + DB $91 + DB $80 + DB $C0 + DB $88 + DB $81 + DB $A0 + DB $C4 + DB $80 + DB $80 + DB $A2 + DB $84 + DB $A0 + DB $D5 + DB $80 + DB $C0 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $80 + DB $80 + DB $80 + DB $C4 + DB $A2 + DB $80 + DB $80 + DB $80 + DB $E0 + DB $91 + DB $88 + DB $87 + DB $80 + DB $80 + DB $98 + DB $FD + DB $BE + DB $D9 + DB $80 + DB $80 + DB $92 + DB $C4 + DB $A2 + DB $C8 + DB $80 + DB $C0 + DB $98 + DB $D4 + DB $AA + DB $98 + DB $82 + DB $80 + DB $E2 + DB $95 + DB $A8 + DB $C7 + DB $80 + DB $C0 + DB $C8 + DB $95 + DB $A8 + DB $93 + DB $82 + DB $90 + DB $82 + DB $D5 + DB $BA + DB $C1 + DB $88 + DB $C0 + DB $88 + DB $D5 + DB $FE + DB $91 + DB $82 + DB $90 + DB $82 + DB $D5 + DB $E7 + DB $C1 + DB $88 + DB $C0 + DB $80 + DB $FD + DB $BC + DB $81 + DB $82 + DB $90 + DB $82 + DB $FD + DB $AF + DB $C1 + DB $88 + DB $C0 + DB $A0 + DB $D4 + DB $AA + DB $84 + DB $82 + DB $90 + DB $A2 + DB $80 + DB $80 + DB $C4 + DB $88 + DB $C0 + DB $A0 + DB $90 + DB $A2 + DB $84 + DB $82 + DB $90 + DB $A2 + DB $C5 + DB $8A + DB $C5 + DB $88 + DB $C0 + DB $A0 + DB $90 + DB $A2 + DB $84 + DB $82 + DB $90 + DB $A2 + DB $C5 + DB $8A + DB $C5 + DB $88 + DB $C0 + DB $80 + DB $D5 + DB $AA + DB $81 + DB $82 + DB $90 + DB $A2 + DB $D4 + DB $AA + DB $C4 + DB $88 + DB $C0 + DB $A8 + DB $D4 + DB $AA + DB $94 + DB $82 + DB $80 + DB $8A + DB $C4 + DB $88 + DB $D1 + DB $82 + DB $80 + DB $8A + DB $90 + DB $A2 + DB $D0 + DB $80 + DB $80 + DB $AA + DB $D0 + DB $A8 + DB $D4 + DB $80 + DB $80 + DB $A8 + DB $92 + DB $A2 + DB $94 + DB $80 + DB $80 + DB $80 + DB $C1 + DB $8A + DB $C0 + DB $80 + DB $80 + DB $A2 + DB $80 + DB $80 + DB $91 + DB $80 + DB $80 + DB $88 + DB $81 + DB $80 + DB $C4 + DB $80 + DB $80 + DB $A2 + DB $80 + DB $80 + DB $91 + DB $82 + DB $C0 + DB $88 + DB $81 + DB $80 + DB $C4 + DB $88 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $D5 + DB $8A + DB $80 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $80 + DB $80 + DB $80 + DB $88 + DB $C5 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $A3 + DB $90 + DB $8E + DB $80 + DB $80 + DB $B0 + DB $FA + DB $FD + DB $B2 + DB $81 + DB $80 + DB $A4 + DB $88 + DB $C5 + DB $90 + DB $81 + DB $80 + DB $B1 + DB $A8 + DB $D5 + DB $B0 + DB $84 + DB $80 + DB $C4 + DB $AB + DB $D0 + DB $8E + DB $81 + DB $80 + DB $91 + DB $AB + DB $D0 + DB $A6 + DB $84 + DB $A0 + DB $84 + DB $AA + DB $F5 + DB $82 + DB $91 + DB $80 + DB $91 + DB $AA + DB $FD + DB $A3 + DB $84 + DB $A0 + DB $84 + DB $AA + DB $CF + DB $83 + DB $91 + DB $80 + DB $81 + DB $FA + DB $F9 + DB $82 + DB $84 + DB $A0 + DB $84 + DB $FA + DB $DF + DB $82 + DB $91 + DB $80 + DB $C1 + DB $A8 + DB $D5 + DB $88 + DB $84 + DB $A0 + DB $C4 + DB $80 + DB $80 + DB $88 + DB $91 + DB $80 + DB $C1 + DB $A0 + DB $C4 + DB $88 + DB $84 + DB $A0 + DB $C4 + DB $8A + DB $95 + DB $8A + DB $91 + DB $80 + DB $C1 + DB $A0 + DB $C4 + DB $88 + DB $84 + DB $A0 + DB $C4 + DB $8A + DB $95 + DB $8A + DB $91 + DB $80 + DB $81 + DB $AA + DB $D5 + DB $82 + DB $84 + DB $A0 + DB $C4 + DB $A8 + DB $D5 + DB $88 + DB $91 + DB $80 + DB $D1 + DB $A8 + DB $D5 + DB $A8 + DB $84 + DB $80 + DB $94 + DB $88 + DB $91 + DB $A2 + DB $85 + DB $80 + DB $94 + DB $A0 + DB $C4 + DB $A0 + DB $81 + DB $80 + DB $D4 + DB $A0 + DB $D1 + DB $A8 + DB $81 + DB $80 + DB $D0 + DB $A4 + DB $C4 + DB $A8 + DB $80 + DB $80 + DB $80 + DB $82 + DB $95 + DB $80 + DB $81 + DB $80 + DB $C4 + DB $80 + DB $80 + DB $A2 + DB $80 + DB $80 + DB $90 + DB $82 + DB $80 + DB $88 + DB $81 + DB $80 + DB $C4 + DB $80 + DB $80 + DB $A2 + DB $84 + DB $80 + DB $91 + DB $82 + DB $80 + DB $88 + DB $91 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $AA + DB $95 + DB $80 + DB $80 + DB $C0 + DB $AA + DB $80 + DB $80 + DB $80 + DB $80 + DB $90 + DB $8A + DB $81 + DB $80 + DB $80 + DB $80 + DB $C7 + DB $A0 + DB $9C + DB $80 + DB $80 + DB $E0 + DB $F4 + DB $FB + DB $E5 + DB $82 + DB $80 + DB $C8 + DB $90 + DB $8A + DB $A1 + DB $82 + DB $80 + DB $E2 + DB $D0 + DB $AA + DB $E1 + DB $88 + DB $80 + DB $88 + DB $D7 + DB $A0 + DB $9D + DB $82 + DB $80 + DB $A2 + DB $D6 + DB $A0 + DB $CD + DB $88 + DB $C0 + DB $88 + DB $D4 + DB $EA + DB $85 + DB $A2 + DB $80 + DB $A2 + DB $D4 + DB $FA + DB $C7 + DB $88 + DB $C0 + DB $88 + DB $D4 + DB $9E + DB $87 + DB $A2 + DB $80 + DB $82 + DB $F4 + DB $F3 + DB $85 + DB $88 + DB $C0 + DB $88 + DB $F4 + DB $BF + DB $85 + DB $A2 + DB $80 + DB $82 + DB $D1 + DB $AA + DB $91 + DB $88 + DB $C0 + DB $88 + DB $81 + DB $80 + DB $90 + DB $A2 + DB $80 + DB $82 + DB $C1 + DB $88 + DB $91 + DB $88 + DB $C0 + DB $88 + DB $95 + DB $AA + DB $94 + DB $A2 + DB $80 + DB $82 + DB $C1 + DB $88 + DB $91 + DB $88 + DB $C0 + DB $88 + DB $95 + DB $AA + DB $94 + DB $A2 + DB $80 + DB $82 + DB $D4 + DB $AA + DB $85 + DB $88 + DB $C0 + DB $88 + DB $D1 + DB $AA + DB $91 + DB $A2 + DB $80 + DB $A2 + DB $D1 + DB $AA + DB $D1 + DB $88 + DB $80 + DB $A8 + DB $90 + DB $A2 + DB $C4 + DB $8A + DB $80 + DB $A8 + DB $C0 + DB $88 + DB $C1 + DB $82 + DB $80 + DB $A8 + DB $C1 + DB $A2 + DB $D1 + DB $82 + DB $80 + DB $A0 + DB $C9 + DB $88 + DB $D1 + DB $80 + DB $80 + DB $80 + DB $84 + DB $AA + DB $80 + DB $82 + DB $80 + DB $88 + DB $81 + DB $80 + DB $C4 + DB $80 + DB $80 + DB $A0 + DB $84 + DB $80 + DB $90 + DB $82 + DB $80 + DB $88 + DB $81 + DB $80 + DB $C4 + DB $88 + DB $80 + DB $A2 + DB $84 + DB $80 + DB $90 + DB $A2 + DB $80 + DB $AA + DB $85 + DB $80 + DB $D4 + DB $AA + DB $00 + DB $28 + DB $55 + DB $00 + DB $28 + DB $55 + DB $00 + DB $20 + DB $54 + DB $00 + DB $00 + DB $14 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $D0 + DB $00 + DB $00 + DB $D4 + DB $82 + DB $00 + DB $D5 + DB $82 + DB $04 + DB $91 + DB $82 + DB $00 + DB $91 + DB $82 + DB $10 + DB $D5 + DB $82 + DB $00 + DB $D4 + DB $80 + DB $10 + DB $2A + DB $00 + DB $50 + DB $2A + DB $01 + DB $50 + DB $2A + DB $01 + DB $40 + DB $28 + DB $01 + DB $00 + DB $28 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $A0 + DB $81 + DB $00 + DB $A8 + DB $85 + DB $80 + DB $AA + DB $85 + DB $00 + DB $A2 + DB $84 + DB $84 + DB $A2 + DB $84 + DB $90 + DB $AA + DB $85 + DB $00 + DB $A8 + DB $81 + DB $22 + DB $54 + DB $00 + DB $20 + DB $55 + DB $02 + DB $20 + DB $55 + DB $02 + DB $20 + DB $55 + DB $02 + DB $00 + DB $51 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $C0 + DB $82 + DB $00 + DB $D0 + DB $8A + DB $88 + DB $D4 + DB $8A + DB $00 + DB $C4 + DB $88 + DB $80 + DB $C4 + DB $88 + DB $A0 + DB $D4 + DB $8A + DB $00 + DB $D0 + DB $82 + DB $44 + DB $28 + DB $01 + DB $40 + DB $2A + DB $05 + DB $40 + DB $2A + DB $05 + DB $40 + DB $2A + DB $05 + DB $00 + DB $22 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $80 + DB $85 + DB $00 + DB $A0 + DB $95 + DB $20 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $C0 + DB $BE + DB $81 + DB $80 + DB $EB + DB $80 + DB $80 + DB $FF + DB $80 + DB $80 + DB $E3 + DB $80 + DB $80 + DB $BE + DB $80 + DB $C0 + DB $AA + DB $81 + DB $C0 + DB $94 + DB $81 + DB $D0 + DB $94 + DB $85 + DB $90 + DB $D5 + DB $84 + DB $98 + DB $D5 + DB $8C + DB $98 + DB $C1 + DB $8C + DB $80 + DB $C1 + DB $80 + DB $C0 + DB $A2 + DB $81 + DB $D0 + DB $A2 + DB $85 + DB $D0 + DB $A2 + DB $85 + DB $C0 + DB $A2 + DB $81 + DB $80 + DB $C1 + DB $80 + DB $98 + DB $C1 + DB $8C + DB $98 + DB $D5 + DB $8C + DB $90 + DB $D5 + DB $84 + DB $D0 + DB $94 + DB $85 + DB $C0 + DB $94 + DB $81 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $BE + DB $80 + DB $80 + DB $E3 + DB $80 + DB $80 + DB $FF + DB $80 + DB $80 + DB $EB + DB $80 + DB $C0 + DB $BE + DB $81 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $83 + DB $80 + DB $A8 + DB $83 + DB $82 + DB $88 + DB $C0 + DB $FA + DB $C9 + DB $D2 + DB $EA + DB $D5 + DB $D2 + DB $FA + DB $D5 + DB $8A + DB $EA + DB $D5 + DB $D2 + DB $FA + DB $C9 + DB $D2 + DB $82 + DB $88 + DB $C0 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $A0 + DB $83 + DB $80 + DB $80 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $E0 + DB $82 + DB $80 + DB $E0 + DB $8A + DB $80 + DB $81 + DB $88 + DB $A0 + DB $A5 + DB $C9 + DB $AF + DB $A5 + DB $D5 + DB $AB + DB $A8 + DB $D5 + DB $AF + DB $A5 + DB $D5 + DB $AB + DB $A5 + DB $C9 + DB $AF + DB $81 + DB $88 + DB $A0 + DB $80 + DB $8A + DB $80 + DB $E0 + DB $82 + DB $80 + DB $E0 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $00 + DB $00 + DB $00 + DB $78 + DB $03 + DB $00 + DB $0C + DB $06 + DB $00 + DB $86 + DB $8C + DB $94 + DB $8C + DB $86 + DB $95 + DB $F8 + DB $83 + DB $A0 + DB $80 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $A8 + DB $80 + DB $80 + DB $A8 + DB $C0 + DB $81 + DB $A8 + DB $C8 + DB $81 + DB $AA + DB $EA + DB $C7 + DB $AA + DB $AA + DB $AE + DB $A9 + DB $EA + DB $AF + DB $F5 + DB $EA + DB $AF + DB $F5 + DB $80 + DB $80 + DB $80 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 diff --git a/donkey/DONKEY.2000.S b/donkey/DONKEY.2000.S new file mode 100644 index 0000000..1f57bd9 --- /dev/null +++ b/donkey/DONKEY.2000.S @@ -0,0 +1,529 @@ +* +* Donkey Kong +* +* (c) 1982, Nintendo +* (c) 1984, Atari +* (s) 2020, Antoine Vignau +* + +*----------------------- + + MX %11 + ORG $2000 + LST OFF + +*----------------------- + + +L2000 HEX 0000FEFFFFFF818080C0FF9F8080FF81 + HEX 80F8FF83FEFF81FFFF83FFFFFFFFFF80 + HEX FFFF81F8FF8F00000000000000000000 + HEX B0D5EA808080DBAAD5AAED80ABDBAAE3 + HEX EA80AB83FCFFFF800000000000000000 + HEX 000000000200000000000000000000D0 + HEX D6AAD5FF000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580DCEA83E0D5DAD5BA80ABD5 + HEX 81E0EA80B0B5E0D58380B0B580808080 + HEX E0F580F0BA8000000000000000000000 + HEX B0B5AE9D8080ABABD5EAEA80AB83B8D5 + HEX EA80AB8780D89A800000000000000000 + HEX 00000000020000000000000000A8A9D5 + HEX 82D4AA85D00000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87FCFFD5FAFF83ABD5 + HEX EAE0EA80B0D5EA818080B0B580D68180 + HEX 80F0FAF5808000000000000000000000 + HEX B0B580DCBA80E0D5AAD58380AB8380DC + HEX EA80E0D5FFD59A800000000000000000 + HEX 00000000020000000000000000A80000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACB5D5EAAA83AB83 + HEX AED5EA80B0F5AB878080B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000002E + HEX 552A0D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580D6EA81E0DFAAD5BF80AB83 + HEX 80D6EA80B0B580D78E80B0B580E0FF80 + HEX 8080AB8D80800000000000002A552A55 + HEX 2A552A552A552A552A552A552A552A55 + HEX 2A552A552A552A552A552A0100000000 + HEX 0000000002000000000000000000402B + HEX 552A3500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 000000000000000000AAA5D582000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000060 + HEX 577A0000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000AED581D7AA8380DF + HEX AAFD8080AB8780D8AA8380DFAAFD8080 + HEX 00000000000000000000000002000000 + HEX 0000000000000000A0FF7F1F00000000 + HEX 00000000000000000000000100000000 + HEX 600006000C1E1E3F000C3F0C1F1E0000 + HEX 1E331C00000C0F0F001F1E1E333F1E00 + HEX 1F3F1E3F1F333F1F0000000000000000 + HEX 0000000000000000B0B5B8F58080ACD5 + HEX F7D59A80ABD586E0EA80AC8D80808080 + HEX 00000000000000000000000002000000 + HEX 00000000000000C8D6D2800000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000300003000C1E1E0C00 + HEX 000C1E1E3F0000331E333F3F331F1E00 + HEX 00000000000000000000000000000000 + HEX 0000AED5AAF5878080F0ABFD8080AB83 + HEX 80D8AA83AED581D7AA83ABD5AAD5EA80 + HEX ABD581D8AA8D00000000000000000000 + HEX B0D5EA808080FBAAD5AAEF80ABF3AAE3 + HEX EA80AB83ACD5EA800000000000000000 + HEX 000000000200000000000000000000D0 + HEX DAAAD5FF000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580F8EA83F0D5DAD5EA80ABD5 + HEX 83E0EA80B0B5F0D58180B0B580808080 + HEX C0D581D89A8000000000000000000000 + HEX B0B5ACBD8080AEABDDEABA80AB83B0D5 + HEX EA80AE8780D89A800000000000000000 + HEX 00000000020000000000000000A8A9D5 + HEX 00C0AAD5D40000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87DCAAD5AAD583ABDF + HEX EAE1EA80B0D5EA818080B0F5FFD78180 + HEX 80E0AAB5808000000000000000000000 + HEX BEF581DEFA83E0D5AAD58380AB8F80D8 + HEX EA80E0D5AAD59A800000000000000000 + HEX 00000000020000000000000000800000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACB5D5EAAA83AB83 + HEX ACD5EA80B0B5AB8F8080B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000002E + HEX 552A0D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580D7EA80C0D5AAD59A80AB83 + HEX 80D6EA80B0B580D69E80B0B580E0EA80 + HEX 8080AB8D808000000000000002000000 + HEX 00000000000000000000000000800000 + HEX 00008000000000000000000100000000 + HEX 0000000002000000000000000000402B + HEX 552A3500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 0000000000000000C0AA95D500000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000000 + HEX 7E0F0000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000AED581D7AA83C0D7 + HEX AAF58180AB8D80D8AA83C0D7AAF58180 + HEX 00000000000000000000000002000000 + HEX 0000000000000000A8FDD51F00000000 + HEX 00000000000000000000000100000000 + HEX 307C0C000E333330001E3F1E330C0000 + HEX 0C333600001E060600330C33333F3300 + HEX 33363336333336360000000000000000 + HEX 0000000000000000B0B5BCB58080AED5 + HEX D5D5BA80ABD586E0EA80AE8D80808080 + HEX 00000000000000000000000002000000 + HEX 000000000000C0CAD6D2800000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000183E06000E33330E00 + HEX 000E3333300000330C333F3633363300 + HEX 00000000000000000000000000000000 + HEX 0000AED5AAD58F8080FCAAF58380AB87 + HEX 80D8AA83AED581D7AA83ABD5AAD5EA80 + HEX ABD581D8AA8D00000000000000000000 + HEX B0D5EA808080EBABD5EAEB80ABE3AAE7 + HEX EA80AB83ACD5EA800000000000000000 + HEX 000000000200000000000000000000D0 + HEX EAAAD5FF000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580F0AA87B0D5DED7EA80ABD5 + HEX 86E0EA80B0B5B8F58080B0B580808080 + HEX C0D581D89A8000000000000000000000 + HEX B0B5B8F58080AEABFFEABA80AB83B0D5 + HEX EA80AE8D80D89A800000000000000000 + HEX 00000000020000000000000000A8A995 + HEX 0000A8D5D40000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ECAAD5AAB583ABDB + HEX AAE3EA80B0D5EA808080B0D5AAD58180 + HEX 80E0AAB5808000000000000000000000 + HEX AED581D6EA83C0D7AAF58180AB8D80D8 + HEX EA81C0D7AAF59B800000000000000000 + HEX 00000000020000000000000000800000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACADD5AAAB83AB83 + HEX B8D5EA80B0B5AE9D8080B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000002F + HEX 552A1D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B5E0D5FA8080D7AAD58E80AB83 + HEX 80DCEA80B0B580DCBA80B0F5FFFFEA80 + HEX 8080AB8D808000000000000002000000 + HEX 00000000000000000000A88100000000 + HEX 00000000000000000000000100000000 + HEX 0000000002000000000000000000402B + HEX 552A3500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 0000000000000000D4EAD7D400000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000BEF581D7FA83E0D5 + HEX AAF58380AB9D80F8EA83E0D5AAF58380 + HEX 00000000000000000000000002000000 + HEX 0000000000000080D8FCD71E00000000 + HEX 00000000000000000000000100000000 + HEX 30660C000C33331800330C33330C0000 + HEX 0C3703000033060600330C03330C0300 + HEX 33060306333306360000000000000000 + HEX 0000000000000000B0B5AE9D8080AED5 + HEX D5D5BA80ABD58EE0EA80AE8780808080 + HEX 00000000000000000000000002000000 + HEX 000000000000FCD2D6D2800000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000183306000C33330C00 + HEX 000C3333180000370C370C0637363300 + HEX 00000000000000000000000000000000 + HEX 0000AED5AAD59E8080DEAAD58780AB8D + HEX 80D8AA83AED581D7AA83ABD5AAD5EA80 + HEX ABD581D8AA8D00000000000000000000 + HEX B0D5EA818080ABABD5EAEA80ABC3ABED + HEX EA80AB83ACD5EA800000000000000000 + HEX 000000000200000000000000000000D0 + HEX AAD5D5FF000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580E0AA87B8D5D6D6EA81ABD5 + HEX 86E0EA80B0B5BCB58080B0B580808080 + HEX 80D783DC8E8000000000000000000000 + HEX B0B5B0F58180ACEBEBEB9A80AB83E0D5 + HEX EA80AC8D80D89A800000000000000000 + HEX 00000000020000000000000000A8A985 + HEX 0000A0D5D40000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ECABD5AABD83ABF3 + HEX AAE3EA80B0D5EA808080B0D5AAD58180 + HEX 80C0AB9D808000000000000000000000 + HEX AED581D6AA8380DFAAFD8080AB8D80F0 + HEX AA8380DFAAFD9B800000000000000000 + HEX 00000000020000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580E0AB87B8ADF5AAEB81AB83 + HEX B0D5EA80B0B5ACBD8080B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000402B + HEX 55203500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000BEF5BFD5BA8080D7AAD58E80AB8F + HEX 80D8EA80BEF581DEFA83BFD5AAD5EA80 + HEX 80E0ABBD808000000000000002000000 + HEX 00000000000000000000AA9500000000 + HEX 00000000000000000000000100000000 + HEX 0000000002000000000000000000002F + HEX 552A1D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 0000000000000000D4EAD7D700000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000B0B580D69A80E0D5 + HEX AAD58380ABB580E0EA80E0D5FFD58380 + HEX 00000000000000000000000002000000 + HEX 0000000000000080DAF2DF1E00000000 + HEX 00000000000000000000000100000000 + HEX 30060C000C3E1E1C00330C331F0C0000 + HEX 0C3F030000330606001F0C033F0C1E00 + HEX 1F0E1E0E1F1E0E360000000000000000 + HEX 0000000000000000B0B5AB8D8080ABF5 + HEX D5D7EA80ABD59AE0EA80AB8380808080 + HEX 00000000000000000000000002000000 + HEX 000000000000FFD2D6D2820000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000180306000C3E1E0C00 + HEX 000C3E1E1C00003F0C3F0C0E3F363300 + HEX 00000000000000000000000000000000 + HEX 0000BEF5BFD5BE8080D7AAD58F80AB9D + HEX 80F8EA83BEF581D7FA83BFD5AAD5EA80 + HEX ABD581D8AA8D00000000000000000000 + HEX B0D5EA818080ABADD5DAEA80AB83ABFD + HEX EA80AB83ACD5EA800000000000000000 + HEX 000000000200000000000000000000D4 + HEX AAD5D29F000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580E0AB87B8D5D6D6EA81ABD5 + HEX 8EE0EA80B0B5AE9D8080B0B580808080 + HEX 80D686D6868000000000000000000000 + HEX B0B5E0D58380ECEBAAEB9B80AB83C0D5 + HEX EA80AC9D80D89A800000000000000000 + HEX 00000000020000000000000000A8A980 + HEX 000080D5D40000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACAFD5AAAF83ABE3 + HEX AAE7EA80B0D5EA808080B0D5AAD58180 + HEX 80C0AB9D808000000000000000000000 + HEX AED581D6AA8380FCAA9F8080AB8D80E0 + HEX AA8780FCAADF9B800000000000000000 + HEX 00000000020000000000000000000000 + HEX 7E0F0000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580E0AA87B8ADFDABEB81AB83 + HEX B0D5EA80B0B5B8F58080B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000402B + HEX 55203500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000AED5AAD59E8080DEAAD58780AB8D + HEX 80D8EA81AED581D6EA83ABD5AAD5EA80 + HEX 80E0AAB5808000000000000002000000 + HEX 00000000000000000000AAD500000000 + HEX 00000000000000000000000100000000 + HEX 0000000002000000000000000000002E + HEX 552A0D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 0000000000000000D4EAD7DF82000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000B0B580D78E80F0D5 + HEX BED58780ABB580E0EA80F0D581D78780 + HEX 00000000000000000000000002000000 + HEX 0000000000000080D6F23F0000000000 + HEX 00000000000000000000000100000000 + HEX 30660C000C303330003F0C3F0F0C0E00 + HEX 0C3B0300003F0606000F0C3B330C3000 + HEX 0F0630060F1E06360000000000000000 + HEX 0000000000000000B0F5AB878080ABB5 + HEX D5D7EA80ABD5BAE0EA80AB8380808080 + HEX 00000000000000000000000002000000 + HEX 000000000000FFD2D6D2820000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000183306000C30330C0E + HEX 000C30333000003B0C3B0C063B363300 + HEX 00000000000000000000000000000000 + HEX 0000B8B5E0D5FA8080D7AAD58E80ABB5 + HEX 80E0EA80B0B580D69A80B0F5FFFFEA80 + HEX BFFD81F8EB8F00000000000000000000 + HEX B0D5AA838080ABADD5DAEA80AB83ABD5 + HEX EA80AB83ACD5EA800000000000000000 + HEX 000000000200000000000000000000D4 + HEX AAD58200000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACD5D7DEAA83ABD5 + HEX 9AE0EA80B0B5AB8D8080B0B580808080 + HEX 80DC86D6838000000000000000000000 + HEX B0B5C0D58780E8DAAAAD8B80AB8380D7 + HEX EA80B89D80DC9A800000000000000000 + HEX 00000000020000000000000000A88180 + HEX 000000D0D40000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACADD5AAAB83ABC3 + HEX ABEDEA80B0D5EA818080B0F5FFD78180 + HEX 8080AB8D808000000000000000000000 + HEX FEFF81FEFF8380F0FF878080FF8F80C0 + HEX FF8F80F0FFC79F800000000000000000 + HEX 00000000020000000000000000000060 + HEX 577A0000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580F0EA83B0ADAFAFEB80AB83 + HEX E0D5EA80B0B5B0F58180B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000402B + HEX 55203500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000AED5AAD58F8080FCAAF58380AB8D + HEX 80F0AA83AED581D6AA83ABD5AAD5EA80 + HEX 80E0AAB5808000000000000002000000 + HEX 000000000000000000C0AAD582000000 + HEX 00000000000000000000000100000000 + HEX 0000000002000000000000000000002E + HEX 552A0D00000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000002000000 + HEX 0000000000000000D0FAF79A8A000000 + HEX 00000000000000000000000100000000 + HEX 000000002A552A552A552A552A552A55 + HEX 2A552A552A552A552A552A552A552A55 + HEX 2A552A01000000000000000000000000 + HEX 0000000000000000B0B5C0D78680B8D5 + HEX B6D58E80ABF580E0EA80B8F580D68E80 + HEX 00000000000000000000000002000000 + HEX 0000000000000080D6D23F0000000000 + HEX 00000000000000000000000100000000 + HEX 307C0C000C18333300330C331B0C0E00 + HEX 0C33360E00333636001B0C33330C3300 + HEX 1B3633361B0C36360000000000000000 + HEX 0000000000000000B0D5AA838080ABB5 + HEX D5D7EA80ABD5EAE0EA80AB8380808080 + HEX 00000000000000000000000002000000 + HEX 000000000000FFD2D6D2820000000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000183E06000C18330C0E + HEX 000C1833330000330C330C3633363300 + HEX 00000000000000000000000000000000 + HEX 0000B8B580D7FA81C0D7FAD59E80ABB5 + HEX 80E0EA80B0B580D78E80B0B580E0EA80 + HEX B09D80C0EB8000000000000000000000 + HEX B0F5AB878080ABADD5DAEA80AB83AED5 + HEX EA80AB83FCDFFA800000000000000000 + HEX 000000000200000000000000000080D4 + HEX AAD58A00D00000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACD5D5DEAA83ABD5 + HEX BAE0EA80B0F5AB878080B0B580808080 + HEX 80D88ED7818000000000000000000000 + HEX B0B580D78E80F8D7AAF58F80AB8380D6 + HEX EA80B8B580D69A800000000000000000 + HEX 00000000020000000000000000A80080 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACB5D5EAAA83AB83 + HEX ABFDEA80B0D5EA818080B0B580D68180 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000020000000000000000000070 + HEX 556A0100000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580D8EA83B0AFABADEF80AB83 + HEX C0D5EA80B0B5E0D58380B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000402B + HEX 552A3500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000AED5AAF5838080F0ABFD8080AB8D + HEX 80E0AA87AED581D6AA83ABD5AAD5EA80 + HEX 80E0AAB5808000000000000002000000 + HEX 000000000000000000D0AAD582000000 + HEX 00000000000000000000000100000000 + HEX 0000000002000000000000000000003C + HEX 552A0700000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000FEFF81FFFF8380F0 + HEX FF878080FF8180F8FF8380F0FF878080 + HEX 00000000000000000000000002000000 + HEX 0000000000000000C0FAB51E80000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000000000000B0B5E0D58380B8D5 + HEX B6D58E80ABD581E0EA80B8B580DC8E80 + HEX 00000000000000000000000002000000 + HEX 00000000000000C0D6D2800000000000 + HEX 00000000000000000000000100000000 + HEX 600006001E0F1E1E00331E33331E0C00 + HEX 1E331C0E00333F3F00331E3E331E1E00 + HEX 333F1E3F330C3F1F0000000000000000 + HEX 0000000000000000B0D5EA818080FFBF + HEX D5FEFF80ABD5EAE0EA80AB8380808080 + HEX 00000000000000000000000002000000 + HEX 000000000000FFD0D6AA820600000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000300003001E0F1E1E0C + HEX 001E0F1E1E0000331E331E3F331F1E00 + HEX 00000000000000000000000000000000 + HEX 0000B8B580D6EA81E0D5DAD5BA80ABF5 + HEX 80E0EA80B0B5C0D78680B0B580E0FF80 + HEX B0B580E0EA8000000000000000000000 + HEX B0B5AB8F8080ABADD5DAEA80AB83ACD5 + HEX EA80AB8380D89A800000000000000000 + HEX 00000000020000000000000000A8A9D5 + HEX AAD5AA81D00000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACD5D5DEAA83ABD5 + HEX EAE0EA80B0D5AA838080B0B580FE8180 + HEX 80D8DAD5818000000000000000000000 + HEX B0B580D69E80B0D5AAD58680AB8380D6 + HEX EA80B0F580D79A800000000000000000 + HEX 00000000020000000000000000A80000 + HEX 00000000000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580C0AB87ACB5D5EAAA83AB83 + HEX ABD5EA80B0D5AA838080B0B580FE8180 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000003C + HEX 552A0700000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000B8B580DCEA81A0EBAAB5AD80AB83 + HEX 80D7EA80B0B5C0D58780B0B580808080 + HEX 8080AB8D808000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000002000000000000000000402B + HEX 552A3500000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000FEFFFFFF808080C0FF9F8080FF8F + HEX 80C0FF8FFEFF81FEFF83FFFFFFFFFF80 + HEX 80E0FFBF808000000000000002000000 + HEX 000000000000000000D0AAD582000000 + HEX 00000000000000000000000100000000 + HEX 00000000020000000000000000000070 + HEX 556A0100000000000000000000000000 + HEX 00000001000000000000000000000000 + HEX 0000000000000000AED581D7AA8380FC + HEX AA9F8080AB8380D8AA8380FCAA9F8080 + HEX 00000000000000000000000002000000 + HEX 0000000000000000007E7F0700000000 + HEX 00000000000000000000000100000000 + HEX 407F0300000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000000000000B0B5F0D58180BCD5 + HEX B6D59A80ABD583E0EA80BC9D80FC8F80 + HEX 00000000000000000000000002000000 + HEX 00000000000000C0D6D2800000000000 + HEX 00000000000000000000000100000000 + HEX 407F0300000000607F01000000000600 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + HEX 0000000000000000B0D5EA818080D7AA + HEX D5AAF580ABDFEAE1EA80AB8380808080 + HEX 00000000000000000000000002000000 + HEX 00000000000000D0D6AAD50100000000 + HEX 00000000000000000000000100000000 + HEX 00000000000000607F01000000000006 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 diff --git a/donkey/DONKEY.CODE.S b/donkey/DONKEY.CODE.S new file mode 100644 index 0000000..f5632cc --- /dev/null +++ b/donkey/DONKEY.CODE.S @@ -0,0 +1,8188 @@ +* +* Donkey Kong +* +* (c) 1982, Nintendo +* (c) 1984, Atari +* (s) 2020, Antoine Vignau +* + +*----------------------- + + MX %11 + ORG $4000 + LST OFF + +*----------------------- + +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +HIRES EQU $C057 +BUTN0 EQU $C061 +BUTN1 EQU $C062 +PADDL0 EQU $C064 +PADDL1 EQU $C065 +PTRIG EQU $C070 +HOME EQU $FC58 +WAIT EQU $FCA8 + +*----------------------- + +L4000 JMP L4103 + +L4003 DB $00 + DB $00 + DB $00 +L4006 DB $00 + DB $00 + DB $00 +L4009 DB $00 + DB $00 + DB $00 +L400C DB $00 + DB $00 + DB $00 +L400F DB $00 + DB $00 + DB $00 +L4012 DB $00 + DB $00 + DB $00 +L4015 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L401D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4023 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4029 DB $00 + DB $00 +L402B DB $00 +L402C DB $00 +L402D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4039 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4043 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L404D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4057 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4061 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L406B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4070 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4075 DB $00 +L4076 DB $00 + DB $00 + DB $00 + DB $00 +L407A DB $00 +L407B DB $00 + DB $00 + DB $00 + DB $00 +L407F DB $00 +L4080 DB $00 + DB $00 + DB $00 + DB $00 +L4084 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4089 DB $00 +L408A DB $00 + DB $00 + DB $00 + DB $00 +L408E DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4093 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L4098 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L409D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40A2 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40A7 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40AC DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40B1 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40B6 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40BB DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40C0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40C5 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40CA DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40CF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40DF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40E7 DB $00 + DB $00 +L40E9 DB $00 + DB $00 +L40EB DB $00 +L40EC DB $00 +L40ED DB $00 + DB $00 + DB $00 + DB $00 +L40F1 DB $00 +L40F2 DB $00 +L40F3 DB $00 +L40F4 DB $00 +L40F5 DB $00 +L40F6 DB $00 +L40F7 DB $00 +L40F8 DB $00 +L40F9 DB $00 +L40FA DB $00 +L40FB DB $00 +L40FC DB $00 +L40FD DB $00 + DB $00 + DB $00 + DB $00 + DB $A2 + DB $00 + +*----------------------- + +L4103 LDX #$00 +L4105 LDA #$00 + STA L40FD,X + INX + CPX #$06 + BNE L4105 + + LDA #$00 + STA $B8 + STA SOFTEV + LDA #$C6 + STA SOFTEV+1 + EOR #$A5 + STA PWREDUP + JSR HOME + LDA #$32 + STA $AE + BIT KBDSTROBE +L412A LDA KBD + BMI L4136 + JSR L6B8A + DEC $AE + BNE L412A +L4136 BIT KBDSTROBE + JMP L7C59 + +L413C LDA #$00 + STA L40F7 + STA L40F8 + STA L40F3 + STA L40F4 + STA $AB + STA $AA + LDX $A9 + LDA L805A,X + STA L40F9 + STA L40FA + STA L40FB + STA L40FC + LDA L805D,X + STA L40F5 + STA L40F6 + LDA $B1 + BEQ L4170 + LDA #$01 + STA $AC +L4170 LDX #$00 +L4172 LDA #$00 + STA L4029,X + INX + CPX #$10 + BNE L4172 + LDA #$02 + STA L40F1 + STA L40F2 +L4184 LDA #$00 + STA $02 + STA $10 + STA $12 + STA $11 + STA $13 + STA $18 + STA $57 + STA $5A + STA $5B + STA $5E + STA $64 + STA $6B + STA $5F + STA $60 + STA $6D + STA $BD + STA $75 + STA $77 + STA $82 + STA $83 + STA $84 + STA $88 + STA $8B + STA $8C + STA $B4 + STA $8D + STA $8E + STA $9C + STA $97 + STA $9E + STA $9D + STA $A0 + STA $A1 + STA $A2 + STA $A3 + STA $A8 + STA $A7 + STA $B3 + STA $B5 + STA $B6 + STA $B7 + STA $B9 + STA $BB + LDX $AB + LDA L40F5,X + TAX + LDA L80E1,X + STA $5C + LDA #$FF + STA $BE + BIT TXTCLR + BIT MIXCLR + BIT HIRES + JSR L7B92 + BIT TXTSET + JSR L6BDB + BIT TXTCLR + BIT MIXCLR + BIT HIRES + LDA #$40 + STA $B2 + LDX #$00 +L420C LDA #$00 + LDA L8151,X + STA L401D,X + STA L4023,X + INX + CPX #$06 + BNE L420C + LDX #$00 +L421E LDA #$00 + STA L40CF,X + INX + CPX #$10 + BNE L421E + LDX #$00 +L422A LDA #$FF + STA L4043,X + STA L4039,X + LDA #$00 + STA L40E7,X + INX + CPX #$0A + BNE L422A + LDX #$00 +L423E LDA #$00 + STA L4015,X + STA L40DF,X + INX + CPX #$08 + BNE L423E + LDX #$00 +L424D LDA #$FF + STA L4075,X + STA L407A,X + STA L4084,X + STA L40A7,X + STA L40A2,X + STA L40B1,X + STA L40C0,X + STA L40C5,X + LDA #$00 + STA L4093,X + STA L4098,X + STA L408E,X + STA L40B6,X + STA L406B,X + STA L4070,X + INX + CPX #$05 + BNE L424D + LDX #$00 +L4282 LDA #$FF + STA L4003,X + STA L4009,X + INX + CPX #$03 + BNE L4282 + LDA #$FF + STA $16 + LDX $AB + LDA L40F9,X + TAX + LDA L7F7D,X + STA $A6 + JSR L7A12 + JSR L7A5F + JSR L6FC6 + JSR L71CB + JSR L7BFF + JSR L701E + LDX $5C + LDA L7F9C,X + STA $0D + STA $04 + LDA #$01 + STA $07 + LDA #$03 + STA $0E + LDX $5C + LDA L7F98,X + STA $05 + STA $0A + LDA #$10 + STA $08 + LDA #$F0 + STA $19 + STA $1D + LDA #$0B + STA $1A + STA $1E + JSR L5828 + LDX $5C + LDA #$20 + STA $08 + LDA #$10 + STA $19 + LDA #$19 + STA $1A + LDA #$06 + STA $0E + LDA L7F90,X + STA $0D + STA $98 + LDA L7F94,X + STA $0A + STA $99 + LDA $5C + BNE L4314 + LDX #$03 + STX $97 + LDA L82D5,X + CLC + ADC #$10 + STA $19 + LDA L82DC,X + ADC #$19 + STA $1A +L4314 JSR L5828 + JSR L640F + LDA $5C + ASL + ASL + TAX + LDY #$00 + STX $AD + STY $56 +L4325 LDA L8181,X + CMP #$FF + BEQ L4356 + STA $0D + INC $0D + LDA L8191,X + STA $0A + LDA #$10 + STA $08 + LDA #$02 + STA $0E + CPY #$02 + BNE L4349 + LDA $5C + CMP #$02 + BNE L4349 + LDY #$04 +L4349 LDA L81A1,Y + STA $19 + LDA L81A6,Y + STA $1A + JSR L5828 +L4356 INC $AD + INC $56 + LDX $AD + LDY $56 + CPY #$04 + BNE L4325 + LDX $5C + LDA #$01 + STA $0E + LDA L7F39,X + CMP #$FF + BEQ L43B8 + STA $0D + INC $0D + LDA L7F25,X + CLC + ADC #$0F + STA $0A + LDA #$B2 + STA $19 + LDA #$82 + STA $1A + LDA #$08 + STA $08 + JSR L5828 + LDX $5C + LDA #$01 + STA $0E + LDA L7F35,X + CMP #$FF + BEQ L43B8 + STA $0D + INC $0D + LDA L7F2D,X + CLC + ADC #$0F + STA $0A + LDA #$B2 + STA $19 + LDA #$82 + STA $1A + LDA #$08 + STA $08 + JSR L5828 + JMP L43B8 +L43B5 JMP L448C + +L43B8 LDX $5C + LDA L7FE8,X + CMP #$FF + BEQ L43DB + STA $0D + LDA L7FEC,X + STA $0A + LDA #$0D + STA $08 + LDA #$02 + STA $0E + LDA #$CC + STA $19 + LDA #$83 + STA $1A + JSR L5828 +L43DB LDA $5C + CMP #$02 + BNE L43B5 + LDA #$00 + STA $56 +L43E5 LDX $56 + LDA L4023,X + STA $0A + LDA #$C6 + STA $19 + LDA #$82 + STA $1A + LDA L8157,X + STA $0D + LDA #$03 + STA $0E + LDA #$05 + STA $08 + JSR L5828 + INC $56 + LDA $56 + CMP #$06 + BNE L43E5 + LDA #$00 + STA $56 +L4410 LDX $56 + LDA L8280,X + STA $0A + LDA L8258,X + STA $19 + LDA L825C,X + STA $1A + LDA #$03 + STA $0E + LDA L8284,X + STA $0D + LDA #$0A + STA $08 + JSR L5828 + INC $56 + LDA $56 + CMP #$04 + BNE L4410 + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA #$02 + STA $75 + LDA #$3D + STA $0A + STA L407F + LDA #$0A + STA $0D + STA L407A + LDA #$00 + STA L4089 + STA L4075 + STA L4076 + STA L408A + LDA #$00 + STA $19 + LDA #$A7 + STA $1A + JSR L5828 + LDA #$10 + STA $08 + LDA #$43 + STA $0A + STA L4080 + LDA #$22 + STA $0D + STA L407B + LDA #$00 + STA $19 + LDA #$A7 + STA $1A + JSR L5828 + JMP L44BB + +L448C CMP #$01 + BNE L44BB + LDA #$00 + STA $56 +L4494 LDX $56 + LDA L8149,X + STA $0A + LDA #$BA + STA $19 + LDA #$82 + STA $1A + LDA L8141,X + STA $0D + LDA #$02 + STA $0E + LDA #$06 + STA $08 + JSR L5828 + INC $56 + LDA $56 + CMP #$08 + BNE L4494 +L44BB LDA $5C + CMP #$03 + BNE L44C4 + JSR L7D47 +L44C4 LDA $5C + CMP #$02 + BNE L44CD + JSR L5778 +L44CD LDA $5C + BNE L44D4 + JSR L5002 +L44D4 INC $5F + BNE L44DA + INC $8D +L44DA INC $6B + LDA $6B + CMP #$02 + BNE L44E6 + LDA #$00 + STA $6B +L44E6 LDA $5C + BEQ L44F1 + CMP #$03 + BEQ L44F1 + JSR L5376 +L44F1 LDA $5C + CMP #$01 + BEQ L4502 + CMP #$02 + BEQ L4502 + LDA $6B + BNE L4502 + JSR L585B +L4502 LDA $5C + CMP #$02 + BNE L450B + JSR L5C6A +L450B INC $8C + LDA $8C + CMP #$03 + BCC L452A + LDA #$00 + STA $8C + LDA $5C + CMP #$03 + BNE L452A + JSR L5ECE + JSR L6268 + LDA $6B + BNE L452A + JSR L7D72 +L452A LDA $6B + BNE L4535 + LDA $5C + BNE L4535 + JSR L6100 +L4535 LDA $5C + CMP #$03 + BNE L455A + LDA $8C + BNE L455A + LDA $16 + CMP #$FF + BNE L455A + LDA $10 + BNE L455A + LDA $05 + CMP #$9A + BCS L455A + CMP #$5A + BCC L4557 + CMP #$78 + BCC L455A +L4557 JMP L6340 + +L455A LDA $6C + CLC + ADC $5F + CLC + ADC $6D + STA $6C + AND #$07 + CMP #$07 + BNE L4579 + LDX $5C + LDA L7FE8,X + CMP #$FF + BEQ L4580 + JSR L63BB + JMP L4580 + +L4579 CMP #$06 + BNE L4580 + JSR L6437 +L4580 LDA $5C + BEQ L458B + CMP #$03 + BEQ L458B + JSR L6550 +L458B JSR L7A95 + INC $B4 + LDA $B4 + CMP #$04 + BCC L459A + LDA #$00 + STA $B4 +L459A LDA $BB + BEQ L45A0 + DEC $BB +L45A0 JSR L6DF2 + JSR L7128 + JSR L71A3 + JSR L730B + LDA $10 + BEQ L45B3 + JMP L4EBC + +L45B3 LDA $57 + BEQ L45CE + INC $5A + LDA $5A + CMP #$0A + BNE L45CE + LDA #$00 + STA $5A + INC $5B + LDA $5B + CMP #$23 + BNE L45CE + JMP L4BD6 + +L45CE LDA $B8 + BEQ L45EE + LDX $B5 + LDA L8065,X + STA $15 + LDX $B6 + LDA L8065,X + STA $14 + LDA $5C + CMP #$02 + BEQ L45EB + LDA #$24 + JSR WAIT +L45EB JMP L462A + +L45EE LDX #$00 + STX $14 + STX $15 + LDX #$7F + LDA PTRIG +L45F9 LDA PADDL0 + AND #$80 + ASL + ROL + ADC $15 + STA $15 + LDA PADDL1 + AND #$80 + ASL + ROL + ADC $14 + STA $14 + CLC + ADC $6C + STA $6C + DEX + BNE L45F9 + LDA #$7F + SEC + SBC $15 + STA $15 + LDA #$7F + SEC + SBC $14 + STA $14 + CLC + ADC $6C + STA $6C +L462A LDA $16 + CMP #$FF + BNE L463E + LDY $15 + CPY #$6E + BCS L4687 + CPY #$50 + BCC L469A + LDA $57 + BNE L466F +L463E LDA $14 + CMP #$6E + BCS L46AD + CMP #$50 + BCC L46BB +L4648 LDA $B8 + BEQ L4657 + LDA $B7 + BEQ L466F + LDA #$00 + STA $B7 + JMP L465C + +L4657 LDA BUTN0 + BPL L466F +L465C LDA $16 + CMP #$FF + BNE L466F + LDA $BB + BNE L466F + LDA #$01 + STA $10 + STA $12 + JMP L4EBC + +L466F LDA $57 + BNE L467D + LDA $07 + BNE L467A + JMP L4794 +L467A JMP L47BA + +L467D LDA $07 + BNE L4684 + JMP L4E6A +L4684 JMP L4E96 + +L4687 LDA $16 + CMP #$FF + BEQ L4690 + JMP L4CB1 + +L4690 LDA $57 + BEQ L4697 + JMP L4D8B +L4697 JMP L46CB + +L469A LDA $16 + CMP #$FF + BEQ L46A3 + JMP L4CB1 + +L46A3 LDA $57 + BEQ L46AA + JMP L4E01 +L46AA JMP L4736 + +L46AD LDA $16 + CMP #$FF + BEQ L46B6 + JMP L4C48 + +L46B6 LDA #$01 + JMP L46C6 + +L46BB LDA $16 + CMP #$FF + BEQ L46C4 + JMP L4C8C + +L46C4 LDA #$00 +L46C6 STA $17 + JMP L4D24 + +L46CB LDA #$00 + STA $07 + LDA $B8 + BEQ L46DE + LDA $B7 + BEQ L46EE + LDA #$00 + STA $B7 + JMP L46E3 + +L46DE LDA BUTN0 + BPL L46EE +L46E3 LDA $BB + BNE L46EE + LDA #$01 + STA $10 + JMP L4EBC + +L46EE LDA $B4 + BNE L46F5 + JSR L7D96 +L46F5 LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $02 + CMP #$04 + BEQ L4712 + CMP #$00 + BNE L4714 + LDA $03 + BNE L470E + JMP L479B + +L470E LDA #$07 + STA $02 +L4712 DEC $03 +L4714 DEC $02 +L4716 LDX $02 + LDA #L0800 +L4724 ADC L7FB0,X + STA $EC + STA $0F + LDA #$10 + STA $08 + LDA #$03 + STA $58 + JMP L4813 + +L4736 LDA #$01 + STA $07 + LDA $B8 + BEQ L4749 + LDA $B7 + BEQ L4759 + LDA #$00 + STA $B7 + JMP L474E + +L4749 LDA BUTN0 + BPL L4759 +L474E LDA $BB + BNE L4759 + LDA #$01 + STA $10 + JMP L4EBC + +L4759 LDA $B4 + BNE L4760 + JSR L7D96 +L4760 LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $02 + CMP #$03 + BEQ L477F + CMP #$06 + BNE L4781 + LDA $03 + CMP #$25 + BCC L477B + JMP L47C1 + +L477B LDA #$FF + STA $02 +L477F INC $03 +L4781 INC $02 +L4783 LDX $02 + LDA #$50 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$09 + JMP L4724 + +L4794 LDA $B4 + BNE L479B + JSR L7DF6 +L479B LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $16 + CMP #$FF + BNE L47EB + LDX $02 + LDA #$A0 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$0A + JMP L4724 + +L47BA LDA $B4 + BNE L47C1 + JSR L7DF6 +L47C1 LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $16 + CMP #$FF + BNE L47EB + LDX $02 + LDA #$F0 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$0B + JMP L4724 + +L47E0 LDA $04 + STA $03 + LDA $B4 + BNE L47EB + JSR L7D96 +L47EB LDA $18 + CMP #$03 + BCC L4802 + LDX $02 + LDA #$E0 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$0F + JMP L4724 + +L4802 LDX $02 + LDA #$30 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$11 + JMP L4724 + +L4813 LDX #$00 + LDA $05 + STA $0A + LDA $06 + STA $0B + LDA $08 + STA $9F +L4821 LDY $0A + LDA L871B,Y + CLC + ADC $04 + STA $1B + LDA L87DB,Y + STA $1C + LDA $58 + STA $09 + LDY $0B + LDA L871B,Y + CLC + ADC $03 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 +L4845 LDA ($1D,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($EB,X) + EOR ($19),Y + STA ($19),Y + INC $1D + BNE L4857 + INC $1E +L4857 INC $EB + BNE L485D + INC $EC +L485D INY + DEC $09 + BNE L4845 + INC $0A + INC $0B + DEC $08 + BNE L4821 + LDA $06 + STA $05 + LDA $0C + STA $1D + LDA $0F + STA $1E + LDA $03 + STA $04 + LDA $10 + BNE L4894 + LDA #$FF + STA $BE + JSR L696C + JSR L56A9 + LDA $A3 + CMP #$08 + BNE L4891 + JMP L664E + +L4891 JSR L6444 +L4894 LDA $9D + BNE L48DE + LDA $5C + BNE L48A4 + LDX $60 + LDA L812F,X + JMP L48D7 + +L48A4 CMP #$03 + BEQ L48D5 + CMP #$02 + BEQ L48CD + LDX $75 + LDA L8137,X + STA $0E + LDA $AF00 + BEQ L48C8 + LDA #$00 + STA $AF00 + LDA $0E + CMP #$11 + BCC L48DE + SEC + SBC #$10 + STA $0E +L48C8 LDA $0E + JMP L48D7 + +L48CD LDX $83 + LDA L813D,X + JMP L48D7 + +L48D5 LDA #$28 +L48D7 CMP #$01 + BEQ L48DE + JSR WAIT +L48DE LDA #$00 + STA $9D + LDA $16 + CMP #$FF + BNE L4932 + LDX $58 + LDA L7F8B,X + STA $59 + LDA $10 + BNE L4945 + JSR L4A80 + LDA $13 + BEQ L4906 + LDA $06 + SEC + SBC #$04 + STA $06 + INC $9D + JMP L4911 + +L4906 JSR L4A34 + LDA $13 + BEQ L4924 + DEC $06 + INC $9D +L4911 LDA $0C + STA $1D + STA $EB + LDA $0F + STA $1E + STA $EC + LDA $9F + STA $08 + JMP L4813 + +L4924 JSR L498A + LDA $13 + BEQ L4932 + INC $06 + INC $9E + JMP L4911 + +L4932 JSR L56DB + LDA $9E + CMP #$03 + BCC L493E + JMP L720B + +L493E LDA #$00 + STA $9E + JMP L44C4 + +L4945 JSR L4A34 + LDA $13 + BEQ L4967 + LDA $11 + CMP #$04 + BCC L4967 + LDA #$00 + STA $11 + STA $10 + STA $12 + STA $B5 + DEC $06 + INC $9D + LDA #$05 + STA $BB + JMP L4911 + +L4967 JSR L4A0D + LDA $13 + BEQ L4981 + LDA #$00 + STA $11 + STA $10 + STA $12 + STA $B5 + INC $9D + LDA #$05 + STA $BB + JMP L4911 + +L4981 JSR L4AF0 + JSR L56DB + JMP L44C4 + +L498A LDX #$00 + STX $13 + LDA $9E + CMP #$03 + BCS L49CD + LDA $05 + CLC + ADC $9F + TAY + LDA $04 + STA $0D + INC $0D + JSR L5847 + LDA ($1B),Y + AND #$6F + BNE L49AF + INC $13 + LDA $57 + BNE L49B0 +L49AF RTS + +L49B0 LDA $05 + CLC + ADC $9F + TAY + LDA $04 + STA $0D + INC $0D + INC $0D + JSR L5847 + LDA ($1B),Y + AND #$6F + BNE L49C8 + RTS + +L49C8 LDA #$00 + STA $13 + RTS + +L49CD JSR L4A6D + LDA $05 + CLC + ADC $9F + TAY + LDA $04 + STA $0D + INC $0D + JSR L5847 + LDA ($1B),Y + AND #$7F + CMP $AD + BEQ L49ED + INC $13 + LDA $57 + BNE L49EE +L49ED RTS + +L49EE LDA $05 + CLC + ADC $9F + TAY + LDA $04 + STA $0D + INC $0D + INC $0D + JSR L5847 + LDA ($1B),Y + AND #$7F + CMP $AD + BEQ L4A08 + RTS + +L4A08 LDA #$00 + STA $13 + RTS + +L4A0D LDX #$00 + STX $13 + LDA $11 + CMP #$04 + BCC L4A33 + LDA $05 + CLC + ADC $9F + TAY + LDA $04 + STA $0D + INC $0D + JSR L4A6D + JSR L5847 + LDA ($1B),Y + AND #$7F + CMP $AD + BNE L4A33 + INC $13 +L4A33 RTS + +L4A34 LDX #$00 + STX $13 + JSR L4A6D + LDA $05 + CLC + ADC $9F + TAY + DEY + LDA $1D + STA $19 + LDA $1E + STA $1A + LDA $19 + CLC + ADC $59 + STA $19 + BCC L4A55 + INC $1A +L4A55 LDA $04 + STA $0D + INC $0D + JSR L5847 + LDX #$00 + LDA ($19,X) + EOR ($1B),Y + AND #$7F + CMP $AD + BNE L4A6C + INC $13 +L4A6C RTS + +L4A6D LDA $5C + ASL + STA $0E + LDA $04 + AND #$01 + CLC + ADC $0E + TAX + LDA L7FE0,X + STA $AD + RTS + +L4A80 LDA #$00 + STA $13 + LDA $57 + BNE L4ABC + JSR L4A6D + LDA $05 + CLC + ADC #$0C + TAY + LDA $1D + STA $19 + LDA $1E + STA $1A + LDA $19 + CLC + ADC #$25 + STA $19 + BCC L4AA4 + INC $1A +L4AA4 LDA $04 + STA $0D + INC $0D + JSR L5847 + LDX #$00 + LDA ($19,X) + EOR ($1B),Y + AND #$7F + CMP $AD + BNE L4ABB + INC $13 +L4ABB RTS + +L4ABC JSR L4A6D + LDA $05 + CLC + ADC #$10 + TAY + LDA $1D + STA $19 + LDA $1E + STA $1A + LDA $19 + CLC + ADC #$41 + STA $19 + BCC L4AD8 + INC $1A +L4AD8 LDA $04 + STA $0D + INC $0D + JSR L5847 + LDX #$00 + LDA ($19,X) + EOR ($1B),Y + AND #$7F + CMP $AD + BNE L4AEF + INC $13 +L4AEF RTS + +L4AF0 LDX $5C + LDA L7F39,X + CMP $04 + BEQ L4AFC +L4AF9 JMP L4BA2 + +L4AFC LDA $05 + CMP L7F25,X + BCC L4AF9 + CMP L7F29,X + BCS L4AF9 + LDA L406B,X + BNE L4AF9 + INC L406B,X + LDA #$01 + STA $57 + LDA L7F39,X + STA $0D + INC $0D + LDA L7F25,X + CLC + ADC #$0F + STA $0A +L4B23 LDA #$B2 + STA $19 + LDA #$82 + STA $1A + LDA #$01 + STA $0E + LDA #$08 + STA $08 + JSR L5828 + LDA $1D + STA $19 + LDA $1E + STA $1A + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA $05 + STA $0A + LDA $04 + STA $0D + JSR L5828 + LDA #$14 + STA $08 + STA $9F + LDA #$04 + STA $0E + STA $58 + LDA $05 + SEC + SBC #$04 + STA $05 + STA $0A + LDA $04 + STA $0D + LDA #$00 + STA $5A + LDX $02 + LDA $07 + BNE L4B8B + LDA #$80 + CLC + ADC L7FBC,X + STA $19 + STA $1D + LDA #$12 + ADC L7FC3,X + STA $1A + STA $1E + JSR L5828 + RTS + +L4B8B LDA #$B0 + CLC + ADC L7FBC,X + STA $19 + STA $1D + LDA #$14 + ADC L7FC3,X + STA $1A + STA $1E + JSR L5828 + RTS + +L4BA2 LDX $5C + LDA L7F35,X + CMP $04 + BEQ L4BAC +L4BAB RTS + +L4BAC LDA $05 + CMP L7F2D,X + BCC L4BAB + CMP L7F31,X + BCS L4BAB + LDA L4070,X + BNE L4BAB + INC L4070,X + LDA #$01 + STA $57 + LDA L7F35,X + STA $0D + INC $0D + LDA L7F2D,X + CLC + ADC #$0F + STA $0A + JMP L4B23 + +L4BD6 LDA $1D + STA $19 + LDA $1E + STA $1A + LDA #$04 + STA $0E + LDA #$14 + STA $08 + LDA $04 + STA $0D + LDA $05 + STA $0A + JSR L5828 + LDA #$03 + STA $0E + LDA #$10 + STA $08 + LDA $04 + STA $0D + LDA $05 + CLC + ADC #$04 + STA $05 + STA $0A + LDA #$00 + STA $57 + STA $5A + STA $5B + LDA $07 + BNE L4C2D + LDX $02 + LDA #$00 + CLC + ADC L7FA9,X + STA $19 + STA $1D + LDA #$08 + ADC L7FB0,X + STA $1A + STA $1E + JSR L5828 + JMP L44C4 + +L4C2D LDX $02 + LDA #$50 + CLC + ADC L7FA9,X + STA $19 + STA $1D + LDA #$09 + ADC L7FB0,X + STA $1A + STA $1E + JSR L5828 + JMP L44C4 + +L4C48 LDX $16 + LDA L7EA5,X + CMP $05 + BNE L4C67 + CPX #$03 + BEQ L4C64 + CPX #$06 + BEQ L4C64 + CPX #$09 + BEQ L4C64 + LDA #$FF + STA $16 + JMP L44C4 +L4C64 JMP L4CD4 + +L4C67 LDA $05 + STA $06 + LDA $16 + CMP #$30 + BCC L4C87 + CMP #$32 + BCS L4C87 + LDA $B2 + CMP #$44 + BCC L4C87 + LDA $05 + CMP #$3F + BCC L4C87 + CMP $B2 + BEQ L4C89 + BCC L4C89 +L4C87 DEC $06 +L4C89 JMP L4CA2 + +L4C8C LDX $16 + LDA L7EE5,X + CMP $05 + BNE L4C9C + LDA #$FF + STA $16 + JMP L44C4 + +L4C9C LDA $05 + STA $06 + INC $06 +L4CA2 LDA $18 + CMP #$06 + BCC L4CAC + LDA #$FF + STA $18 +L4CAC INC $18 + JMP L47E0 + +L4CB1 LDX $16 + LDA L7EA5,X + CMP $05 + BEQ L4CC4 + LDA L7EE5,X + CMP $05 + BEQ L4CD0 + JMP L4CD4 + +L4CC4 CPX #$03 + BEQ L4CD4 + CPX #$06 + BEQ L4CD4 + CPX #$09 + BEQ L4CD4 +L4CD0 LDA #$FF + STA $16 +L4CD4 LDA $5C + BNE L4CE0 + LDX $60 + LDA L812F,X + JMP L4D13 + +L4CE0 CMP #$03 + BEQ L4D11 + CMP #$02 + BEQ L4D09 + LDX $75 + LDA L8137,X + STA $0E + LDA $AF00 + BEQ L4D04 + LDA #$00 + STA $AF00 + LDA $0E + CMP #$11 + BCC L4D1A + SEC + SBC #$10 + STA $0E +L4D04 LDA $0E + JMP L4D13 + +L4D09 LDX $83 + LDA L813D,X + JMP L4D13 + +L4D11 LDA #$28 +L4D13 CMP #$01 + BEQ L4D1A + JSR WAIT +L4D1A LDA $B4 + BNE L4D21 + JSR L7DF6 +L4D21 JMP L44C4 + +L4D24 LDX $5C + LDA L7FA0,X + TAY + LDX #$00 +L4D2C LDA L7F3D,Y + CMP $04 + BEQ L4D3C +L4D33 INX + INY + CPX #$10 + BNE L4D2C +L4D39 JMP L4648 + +L4D3C LDA L7EA5,Y + STA $0E + SEC + SBC #$01 + STA $AD + CLC + ADC #$02 + STA $56 + LDA $05 + CMP $0E + BEQ L4D82 + CMP $AD + BEQ L4D82 + CMP $56 + BEQ L4D82 + LDA L7EE5,Y + STA $0E + SEC + SBC #$01 + STA $AD + CLC + ADC #$02 + STA $56 + LDA $05 + CMP $0E + BEQ L4D79 + CMP $AD + BEQ L4D79 + CMP $56 + BEQ L4D79 + JMP L4D33 + +L4D79 LDA $17 + BEQ L4D39 + STY $16 + JMP L4C48 + +L4D82 LDA $17 + BNE L4D39 + STY $16 + JMP L4C8C + +L4D8B LDA #$00 + STA $07 + LDA $B4 + BNE L4D96 + JSR L7D96 +L4D96 LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $02 + CMP #$04 + BEQ L4DB3 + CMP #$00 + BNE L4DB5 + LDA $03 + BNE L4DAF + JMP L4E71 + +L4DAF LDA #$07 + STA $02 +L4DB3 DEC $03 +L4DB5 DEC $02 +L4DB7 LDX $02 + LDA $5A + CMP #$05 + BCS L4DDD + LDA #L1280 +L4DCB ADC L7FC3,X + STA $EC + STA $0F + LDA #$14 + STA $08 + LDA #$04 + STA $58 + JMP L4813 + +L4DDD LDA $5B + CMP #$19 + BCS L4DF2 + LDA #$E0 + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$16 + JMP L4DCB + +L4DF2 LDA #$1F + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$8D + JMP L4DCB + +L4E01 LDA #$01 + STA $07 + LDA $B4 + BNE L4E0C + JSR L7D96 +L4E0C LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $02 + CMP #$03 + BEQ L4E2B + CMP #$06 + BNE L4E2D + LDA $03 + CMP #$23 + BCC L4E27 + JMP L4E9D + +L4E27 LDA #$FF + STA $02 +L4E2B INC $03 +L4E2D INC $02 +L4E2F LDX $02 + LDA $5A + CMP #$05 + BCS L4E46 + LDA #$B0 + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$14 + JMP L4DCB + +L4E46 LDA $5B + CMP #$19 + BCS L4E5B + LDA #$9B + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$88 + JMP L4DCB + +L4E5B LDA #$4F + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$8F + JMP L4DCB + +L4E6A LDA $B4 + BNE L4E71 + JSR L7DF6 +L4E71 LDA $04 + STA $03 + LDA $05 + STA $06 + LDX $02 + LDA $5A + CMP #$05 + BCS L4E90 + LDA #$80 + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$12 + JMP L4DCB +L4E90 JMP L4DDD +L4E93 JMP L4E46 + +L4E96 LDA $B4 + BNE L4E9D + JSR L7DF6 +L4E9D LDA $04 + STA $03 + LDA $05 + STA $06 + LDX $02 + LDA $5A + CMP #$05 + BCS L4E93 + LDA #$B0 + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$14 + JMP L4DCB + +L4EBC LDX $11 + LDA L80F5,X + STA $0E + LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $1D + STA $EB + LDA $1E + STA $EC + LDA $07 + BNE L4EE1 + JSR L4F85 + LDA $12 + BEQ L4EEB + JMP L4F03 + +L4EE1 JSR L4FCC + LDA $12 + BEQ L4EF7 + JMP L4F03 + +L4EEB LDA $0E + BEQ L4F03 + JSR L4F6C + DEC $0E + JMP L4EEB + +L4EF7 LDA $0E + BEQ L4F03 + JSR L4FB1 + DEC $0E + JMP L4EF7 + +L4F03 LDX $11 + LDA L8110,X + STA $0E + CPX #$0B + BCS L4F19 +L4F0E LDA $0E + BEQ L4F24 + DEC $06 + DEC $0E + JMP L4F0E + +L4F19 LDA $0E + BEQ L4F24 + INC $06 + DEC $0E + JMP L4F19 + +L4F24 LDA #$10 + STA $08 + LDA #$03 + STA $58 + LDA $57 + BEQ L4F36 + INC $58 + LDA #$14 + STA $08 +L4F36 INC $11 + LDA $11 + CMP #$1B + BNE L4F51 + LDA #$00 + STA $11 + STA $10 + STA $12 + STA $B5 + LDA #$03 + STA $9E + STA $BB + JMP L4813 + +L4F51 LDX $11 + LDA L8701,X + STA $00 + LDA #$03 + STA $01 + JSR L7DC4 + LDX #$00 + LDY #$03 +L4F63 INX + BNE L4F63 + DEY + BNE L4F63 + JMP L4813 + +L4F6C LDA $02 + CMP #$04 + BEQ L4F81 + CMP #$00 + BNE L4F83 + LDA $03 + BNE L4F7D + INC $07 + RTS + +L4F7D LDA #$07 + STA $02 +L4F81 DEC $03 +L4F83 DEC $02 +L4F85 LDX $02 + LDA $57 + BNE L4F9F + LDA #L0D40 +L4F97 ADC L7FB0,X +L4F9A STA $EC + STA $0F + RTS + +L4F9F LDA #L1280 + ADC L7FC3,X + JMP L4F9A + +L4FB1 LDA $02 + CMP #$03 + BEQ L4FC8 + CMP #$06 + BNE L4FCA + LDA $03 + CMP #$24 + BCC L4FC4 + DEC $07 + RTS + +L4FC4 LDA #$FF + STA $02 +L4FC8 INC $03 +L4FCA INC $02 +L4FCC LDX $02 + LDA $57 + BNE L4FE1 + LDA #$90 + CLC + ADC L7FA9,X + STA $EB + STA $0C + LDA #$0E + JMP L4F97 + +L4FE1 LDA #$B0 + CLC + ADC L7FBC,X + STA $EB + STA $0C + LDA #$14 + ADC L7FC3,X + JMP L4F9A + + BIT KBDSTROBE +L4FF6 LDA KBD + BMI L4FFE + JMP L4FF6 + +L4FFE BIT KBDSTROBE + RTS + +L5002 LDA #$00 + STA $65 + STA $64 + LDA $5F + BNE L502E + LDA $A2 + BNE L5059 + LDA $8D + AND #$01 + BNE L502E + LDX $AB + LDA L40F9,X + TAX + LDA L802F,X + STA $92 + LDA $8D + BEQ L502B + LDA $92 + EOR #$01 + STA $92 +L502B JSR L609D +L502E LDX $AB + LDA L40F9,X + TAX + LDA $60 + CMP L7FFF,X + BCS L50AE + LDA L7FFF,X + STA $AD + LDA $6B + BNE L50B1 + LDA $6D + CMP L8005,X + BCC L504E + JMP L5059 + +L504E LDA $5F + CLC + ADC $6C + STA $6C + AND #$1F + BNE L50B1 +L5059 JMP L64DE + +L505C LDX #$00 +L505E LDA L4043,X + CMP #$FF + BEQ L506D + INX + CPX $AD + BNE L505E + JMP L50B1 + +L506D LDA $5F + EOR $14 + CLC + ADC $6C + STA $6C + AND #$07 + BNE L507F + LDA #$13 + JMP L5081 + +L507F LDA #$14 +L5081 STA L4043,X + STA $0D + LDA #$1F + STA L404D,X + STA $0A + LDA #$00 + STA L4039,X + STA L4057,X + LDA #$08 + STA $08 + LDA #$03 + STA $0E + LDA #$20 + STA $19 + LDA #$AB + STA $1A + JSR L5828 + INC $60 + LDA #$00 + STA $6D +L50AE JMP L5337 + +L50B1 INC $6D + JMP L5337 + +L50B6 LDX $65 + LDA L404D,X + STA $0E + LDX #$00 +L50BF LDA $0E + CMP L815D,X + BCC L50CB + INX + CPX #$04 + BNE L50BF +L50CB LDA L7FA4,X + STA $66 + LDX $65 + LDA L404D,X + CLC + ADC #$08 + TAY + LDA L4043,X + CLC + ADC #$01 + STA $0D + JSR L5847 + LDA ($1B),Y + AND #$7F + BNE L5104 +L50EA LDX $65 + LDA L404D,X + CLC + ADC #$01 + STA $61 +L50F4 INC L4057,X + LDA L4043,X + STA $62 + LDA L4039,X + STA $63 + JMP L5259 + +L5104 STA $0E + LDX $65 + LDA L4057,X + BEQ L5124 + LDA L4043,X + AND #$01 + TAX + LDA L7FE0,X + CMP $0E + BNE L50EA + LDX $65 + LDA #$00 + STA L4057,X +L5121 JMP L51B0 + +L5124 LDX $65 + LDA L404D,X + STA $0E + LDX #$00 +L512D LDA $0E + CMP L815D,X + BCC L5139 + INX + CPX #$04 + BNE L512D +L5139 STX $AD + LDX $65 + LDA L4043,X + CMP #$03 + BCC L5121 + STA $0E + LDX $AD + LDA L82AD,X + TAX + LDY #$00 +L514E LDA L829E,X + CMP #$28 + BCS L5159 + CMP $0E + BEQ L5162 +L5159 INX + INY + CPY #$03 + BNE L514E + JMP L51B0 + +L5162 LDA $5F + AND #$0F + CLC + ADC $6C + CLC + ADC $6D + STA $6C + AND #$1F + STA $A9 + LDX $AB + LDA L40F9,X + TAX + LDA $A9 + CMP L8029,X + BCS L51B0 + LDA $66 + BEQ L518F + LDA $04 + LDX $65 + CMP L4043,X + BCS L51B0 + JMP L5198 + +L518F LDA $04 + LDX $65 + CMP L4043,X + BCC L51B0 +L5198 LDX $65 + LDA L4043,X + CMP #$03 + BCC L51B0 + CMP #$28 + BCS L51B0 + LDA L404D,X + CLC + ADC #$05 + STA $61 + JMP L50F4 + +L51B0 LDX $65 + LDA L4039,X + STA $63 + LDA L404D,X + STA $61 + LDA L4043,X + STA $62 + LDX $AB + LDA L40F9,X + TAX + LDA L7FFF,X + STA $0E + LDX #$00 +L51CE CPX $65 + BEQ L51EC + LDA L4043,X + CMP #$FE + BCS L51EC + STA $AD + DEC $AD + LDY #$00 +L51DF LDA $62 + CMP $AD + BEQ L51F4 + INC $AD + INY + CPY #$03 + BNE L51DF +L51EC INX + CPX $0E + BNE L51CE + JMP L520E + +L51F4 LDA $61 + CLC + ADC #$03 + CMP L404D,X + BCS L51EC + CLC + ADC #$06 + CMP L404D,X + BCC L51EC + LDA L404D,X + SEC + SBC #$01 + STA $61 +L520E LDA $66 + BNE L5234 + DEC $63 + LDA $63 + CMP #$FF + BNE L522D + LDA #$06 + STA $63 +L521E DEC $62 + LDA $62 + CMP #$D0 + BCC L522A + LDA #$00 + STA $62 +L522A JMP L5259 + +L522D CMP #$03 + BEQ L521E + JMP L5259 + +L5234 INC $63 + LDA $63 + CMP #$07 + BNE L524F + LDA #$00 + STA $63 +L5240 INC $62 + LDA $62 + CMP #$27 + BCC L524C + LDA #$25 + STA $62 +L524C JMP L5259 + +L524F CMP #$04 + BEQ L5240 + JMP L5259 +L5256 JMP L5335 + +L5259 LDX $65 + LDA L4043,X + CMP #$FE + BEQ L5256 + LDA L4039,X + CMP #$FF + BEQ L5256 + TAX + LDA L7FD2,X + CLC + ADC #$20 + STA $ED + LDA #$00 + ADC #$AB + STA $EE + LDX $63 + LDA L7FD2,X + CLC + ADC #$20 + STA $F9 + LDA #$00 + ADC #$AB + STA $FA + LDA #$08 + STA $08 + LDX $65 + LDA L404D,X + STA $0A + LDA $61 + STA $0B + LDX #$00 +L5299 LDY $0A + LDA L871B,Y + CLC + LDX $65 + ADC L4043,X + STA $1B + LDA L87DB,Y + STA $1C + LDA #$03 + STA $09 + LDX #$00 + LDY $0B + LDA L871B,Y + CLC + ADC $62 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 +L52C2 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L52D4 + INC $EE +L52D4 INC $F9 + BNE L52DA + INC $FA +L52DA INY + DEC $09 + BNE L52C2 + INC $0A + INC $0B + DEC $08 + BNE L5299 + LDA $61 + LDX $65 + STA L404D,X + LDA $63 + STA L4039,X + LDA $62 + STA L4043,X + LDA L404D,X + CMP #$96 + BCC L5335 + LDA $62 + CMP #$03 + BCS L5335 + STA $0D + LDX $65 + LDA #$FF + STA L4043,X + STA L404D,X + STA L4039,X + LDA #$08 + STA $08 + LDA #$03 + STA $0E + LDA $61 + STA $0A + LDX $63 + LDA L7FD2,X + CLC + ADC #$20 + STA $19 + LDA #$00 + ADC #$AB + STA $1A + JSR L5828 + DEC $60 +L5335 INC $65 +L5337 LDX $65 + LDY $AB + LDA L40F9,Y + TAY + LDA L7FFF,Y + STA $0E + INC $0E + CPX $0E + BEQ L5358 + LDA L4043,X + CMP #$FF + BEQ L5335 + CMP #$FE + BEQ L5335 + JMP L50B6 + +L5358 LDA #$00 + STA $65 + INC $5F + LDA $6B + BNE L5375 + INC $64 + LDA $64 + CMP #$02 + BEQ L5375 + LDX $60 + LDA L812F,X + JSR WAIT + JMP L50B6 +L5375 RTS + +L5376 LDA #$00 + STA $74 + LDX $5C + LDA $75 + CMP L8165,X + BEQ L539C + LDA $6D + CMP L800B,X + BCC L539C + LDA #$00 + STA $6D + LDX #$00 +L5390 LDA L407A,X + CMP #$FF + BEQ L539F + INX + CPX #$05 + BNE L5390 +L539C JMP L5403 + +L539F LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA #$FF + STA L4084,X + LDA $04 + CMP #$13 + BCC L53C9 + LDA #$00 + STA L4075,X + STA L4093,X + STA L408E,X + LDA #$06 + STA L407A,X + STA $0D + LDA #$01 + JMP L53DB + +L53C9 LDA #$20 + STA L407A,X + STA $0D + LDA #$00 + STA L4075,X + STA L4093,X + STA L408E,X +L53DB STA L4089,X + ASL + CLC + ADC #$A7 + STA $1A + LDA #$00 + STA $19 + LDA $5F + CLC + ADC $6C + STA $6C + AND #$03 + TAY + LDA L8161,Y + STA L407F,X + STA $0A + TYA + STA L4061,X + INC $75 + JSR L5828 +L5403 INC $6D + JMP L54CD +L5408 JMP L54CB + +L540B LDX $74 + LDA L4093,X + TAY + LDA L4075,X + CMP #$FF + BEQ L5408 + TAX + LDA L7FA9,X + CLC + ADC L81AB,Y + STA $ED + LDA L81AD,Y + STA $EE + LDY $74 + LDA L4089,Y + ADC $EE + CLC + ADC L4089,Y + CLC + ADC L7FB0,X + STA $EE + LDX $72 + LDY $57 + LDA L7FA9,X + CLC + ADC L81AB,Y + STA $F9 + LDA $6E + ADC L81AD,Y + CLC + ADC $6E + CLC + ADC L7FB0,X + STA $FA + LDA #$10 + STA $08 + LDX $74 + LDA L407F,X + STA $0A + LDA $71 + STA $0B +L5462 LDY $0A + LDA L871B,Y + CLC + LDX $74 + ADC L407A,X + STA $1B + LDA L87DB,Y + STA $1C + LDA #$03 + STA $09 + LDX #$00 + LDY $0B + LDA L871B,Y + CLC + ADC $73 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 +L548B LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L549D + INC $EE +L549D INC $F9 + BNE L54A3 + INC $FA +L54A3 INY + DEC $09 + BNE L548B + INC $0A + INC $0B + DEC $08 + BNE L5462 + LDA $71 + LDX $74 + STA L407F,X + LDA $72 + STA L4075,X + LDA $73 + STA L407A,X + LDA $6E + STA L4089,X + LDA $57 + STA L4093,X +L54CB INC $74 +L54CD LDA $74 + LDX $5C + CMP L8165,X + BEQ L54E1 + TAX + LDA L407A,X + CMP #$FF + BEQ L54CB + JMP L54E2 +L54E1 RTS + +L54E2 LDX $74 + LDA L407F,X + STA $71 + LDA L4075,X + STA $72 + LDA L407A,X + STA $73 + LDA L4089,X + STA $6E + LDA L4084,X + CMP #$FF + BEQ L554B + LDA L408E,X + BEQ L554B + CMP #$02 + BEQ L552D + DEC $71 + LDA L4084,X + LDX $5C + CLC + ADC L7FA0,X + TAX + LDA $71 + CMP L7EA5,X + BNE L552A + LDX $74 + DEC L4061,X +L5520 LDA #$FF + STA L4084,X + LDA #$00 + STA L408E,X +L552A JMP L540B + +L552D INC $71 + LDA L4084,X + LDX $5C + CLC + ADC L7FA0,X + TAX + LDA $71 + CMP L7EE5,X + BNE L552A + LDX $74 + INC L4061,X + JMP L5520 +L5548 JMP L55F4 + +L554B LDA $5F + CLC + ADC $6C + CLC + ADC $6D + STA $6C + AND #$03 + BNE L5548 + LDX $74 + LDA L407A,X + STA $0E + LDX $5C + LDA L7FA0,X + TAX + LDY #$00 +L5568 LDA L7F3D,X + CMP $0E + BEQ L5578 +L556F INX + INY + CPY #$10 + BNE L5568 + JMP L55F4 + +L5578 STX $AD + LDX $74 + LDA L407F,X + LDX $AD + CMP L7EA5,X + BEQ L558E + CMP L7EE5,X + BEQ L55C1 + JMP L556F + +L558E LDA $5F + CLC + ADC $6C + CLC + ADC $6D + CLC + ADC #$17 + STA $6C + AND #$1F + CMP #$10 + BCS L55F4 + CMP #$04 + BCS L55B1 + LDX $74 + LDA L407F,X + CMP $05 + BCC L55B1 + JMP L55F4 + +L55B1 LDX $74 + TYA + STA L4084,X + LDA #$02 + STA L408E,X + INC $71 + JMP L540B + +L55C1 LDA $5F + CLC + ADC $6C + CLC + ADC $6D + CLC + ADC #$17 + STA $6C + AND #$1F + CMP #$10 + BCS L55F4 + CMP #$04 + BCS L55E4 + LDX $74 + LDA L407F,X + CMP $05 + BCS L55E4 + JMP L55F4 + +L55E4 LDX $74 + TYA + STA L4084,X + LDA #$01 + STA L408E,X + DEC $71 + JMP L540B + +L55F4 LDA $5F + CLC + ADC $6C + CLC + ADC #$11 + STA $6C + LSR + AND #$1F + BNE L561C + LDX $74 + LDA L407F,X + CMP $05 + BNE L561C + LDA L407A,X + CMP $04 + BCS L5618 +L5613 LDA #$01 + JMP L561A + +L5618 LDA #$00 +L561A STA $6E +L561C LDA $6E + BEQ L5650 + LDA $72 + CMP #$03 + BNE L5637 +L5626 JSR L56A2 + BCC L562E + JMP L5618 + +L562E LDA $73 + CMP #$25 + BEQ L5618 + JMP L563B + +L5637 CMP #$06 + BEQ L5626 +L563B INC $72 + LDA $72 + CMP #$04 + BEQ L564B + CMP #$07 + BNE L564D + LDA #$00 + STA $72 +L564B INC $73 +L564D JMP L540B + +L5650 LDA $72 + CMP #$00 + BNE L5667 +L5656 JSR L5680 + BCC L565E + JMP L5613 + +L565E LDA $73 + CMP #$00 + BEQ L5613 + JMP L566B + +L5667 CMP #$04 + BEQ L5656 +L566B DEC $72 + LDA $72 + CMP #$03 + BEQ L567B + CMP #$FF + BNE L567D + LDA #$06 + STA $72 +L567B DEC $73 +L567D JMP L540B + +L5680 LDA #$00 + STA $AD +L5684 LDX $74 + LDA L407F,X + CLC + ADC #$10 + TAY + LDA L407A,X + CLC + ADC $AD + STA $0D + JSR L5847 + LDA ($1B),Y + AND #$7F + BNE L56A0 + SEC + RTS + +L56A0 CLC + RTS + +L56A2 LDA #$02 + STA $AD + JMP L5684 + +L56A9 LDA $5C + CMP #$01 + BNE L56D7 + LDX #$00 + LDA $05 + STA $0E + LDA $57 + BEQ L56C0 + LDA $05 + CLC + ADC #$04 + STA $0E +L56C0 LDA L812B,X + CMP $0E + BEQ L56D8 + SEC + SBC #$01 + CMP $0E + BEQ L56D8 + INX + CPX #$04 + BNE L56C0 + LDA #$FF + STA $BE +L56D7 RTS + +L56D8 STX $BE + RTS + +L56DB LDA $BE + CMP #$FF + BEQ L56F3 + LDA $04 + CMP #$1D + BEQ L574F + CMP #$07 + BEQ L56F6 + CMP #$08 + BEQ L5707 + CMP #$1E + BEQ L5707 +L56F3 JMP L5758 + +L56F6 LDX $BE +L56F8 LDA L4015,X + BNE L5707 + LDA L40DF,X + BNE L5707 + LDA #$01 + STA L40DF,X +L5707 RTS + +L5708 LDA L8149,X + STA $0A + LDA L8141,X + STA $0D + LDA #$02 + STA $0E + LDA #$06 + STA $08 + LDA #$BA + STA $19 + LDA #$82 + STA $1A + STX $A4 + JSR L5828 + LDX $A4 + LDA L8149,X + CLC + ADC #$07 + STA $0A + LDA L8141,X + STA $0D + LDA #$01 + STA $0E + JSR L70F7 + LDA $AB + ASL + ASL + ASL + TAX + INC L402B,X + JSR L6FA1 + JSR L6FC6 + INC $A3 + RTS + +L574F LDA $BE + CLC + ADC #$04 + TAX + JMP L56F8 + +L5758 LDX #$00 + LDA $5C + CMP #$01 + BNE L5777 +L5760 LDA L40DF,X + BEQ L5772 + LDA #$00 + STA L40DF,X + LDA #$FF + STA L4015,X + JMP L5708 + +L5772 INX + CPX #$08 + BNE L5760 +L5777 RTS + +L5778 INC $5E + LDA $5E + CMP #$02 + BEQ L5781 + RTS + +L5781 LDX #$00 + STX $5E +L5785 DEC L401D,X + LDA L401D,X + CMP #$37 + BNE L5794 + LDA #$A0 + STA L401D,X +L5794 INX + CPX #$03 + BNE L5785 +L5799 INC L401D,X + LDA L401D,X + CMP #$A0 + BNE L57A8 + LDA #$37 + STA L401D,X +L57A8 INX + CPX #$06 + BNE L5799 + LDA #$00 + STA $0E +L57B1 LDX $0E + LDA L4023,X + STA $0A + LDA L401D,X + STA $0B + LDA #$C6 + STA $ED + LDA #$82 + STA $EE + LDA #$05 + STA $08 +L57C9 LDY $0A + LDA L871B,Y + LDX $0E + CLC + ADC L8157,X + STA $1B + LDA L87DB,Y + STA $1C + LDY $0B + LDA L871B,Y + CLC + ADC L8157,X + STA $19 + LDA L87DB,Y + STA $1A + LDX #$00 + LDY #$00 + LDA #$03 + STA $09 +L57F3 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($ED,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L5805 + INC $EE +L5805 INY + DEC $09 + BNE L57F3 + INC $0A + INC $0B + DEC $08 + BNE L57C9 + INC $0E + LDA $0E + CMP #$06 + BNE L57B1 + LDX #$00 +L581C LDA L401D,X + STA L4023,X + INX + CPX #$06 + BNE L581C + RTS + +L5828 LDX #$00 +L582A LDY $0A + JSR L5847 +L582F LDA ($19,X) + EOR ($1B),Y + STA ($1B),Y + INC $19 + BNE L583B + INC $1A +L583B INY + DEC $09 + BNE L582F + INC $0A + DEC $08 + BNE L582A + RTS + +L5847 LDA L871B,Y + CLC + ADC $0D + STA $1B + LDA L87DB,Y + STA $1C + LDA $0E + STA $09 + LDY #$00 + RTS + +L585B LDA #$00 + STA $76 + LDA $5C + BNE L5879 + LDA $77 + CMP #$02 + BCS L58A5 + LDX $AB + LDA L40F9,X + TAX + LDA $BD + CMP L8011,X + BCC L58A5 + JMP L5893 + +L5879 LDX $AB + LDA L40F9,X + TAX + LDA $77 + CMP L8169,X + BCS L58A5 + LDX $AB + LDA L40F9,X + TAX + LDA $BD + CMP L8017,X + BCC L58A5 +L5893 LDA #$00 + STA $BD + LDX #$00 +L5899 LDA L40A2,X + CMP #$FF + BEQ L58A8 + INX + CPX #$05 + BNE L5899 +L58A5 JMP L5910 + +L58A8 LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA $5C + BNE L58C0 + LDA #$02 + STA L40A2,X + STA $0D + LDA #$01 + JMP L58DB + +L58C0 LDA $04 + CMP #$13 + BCC L58D2 + LDA #$16 + STA L40A2,X + STA $0D + LDA #$01 + JMP L58DB + +L58D2 LDA #$10 + STA L40A2,X + STA $0D + LDA #$00 +L58DB STA L40AC,X + LDA #$A7 + STA $1A + LDA #$00 + STA $19 + LDA #$00 + STA L40A7,X + STA L4098,X + STA L40B6,X + LDA $5C + BNE L58FF + LDA #$8F + STA L409D,X + STA $0A + JMP L5906 + +L58FF LDA #$44 + STA L409D,X + STA $0A +L5906 LDA #$FF + STA L40B1,X + INC $77 + JSR L5828 +L5910 INC $BD + JMP L59C6 +L5915 JMP L59C4 + +L5918 LDX $76 + LDA L4098,X + TAY + LDA L40A7,X + CMP #$FF + BEQ L5915 + TAX + LDA L7FA9,X + CLC + ADC L81AF,Y + STA $ED + LDA L81B1,Y + ADC L7FB0,X + STA $EE + LDX $7A + LDY $57 + LDA L7FA9,X + CLC + ADC L81AF,Y + STA $F9 + LDA L81B1,Y + ADC L7FB0,X + STA $FA + LDA #$10 + STA $08 + LDX $76 + LDA L409D,X + STA $0A + LDA $78 + STA $0B +L595B LDY $0A + LDA L871B,Y + CLC + LDX $76 + ADC L40A2,X + STA $1B + LDA L87DB,Y + STA $1C + LDA #$03 + STA $09 + LDY $0B + LDA L871B,Y + CLC + ADC $79 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 + LDX #$00 +L5984 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L5996 + INC $EE +L5996 INC $F9 + BNE L599C + INC $FA +L599C INY + DEC $09 + BNE L5984 + INC $0A + INC $0B + DEC $08 + BNE L595B + LDA $78 + LDX $76 + STA L409D,X + LDA $7A + STA L40A7,X + LDA $79 + STA L40A2,X + LDA $7B + STA L40AC,X + LDA $57 + STA L4098,X +L59C4 INC $76 +L59C6 LDA $76 + LDX $5C + CPX #$00 + BEQ L59E7 + LDX $AB + LDA L40F9,X + TAX + LDA $76 + CMP L8169,X + BEQ L59E6 +L59DB TAX + LDA L40A2,X + CMP #$FF + BEQ L59C4 + JMP L59EE +L59E6 RTS + +L59E7 CMP #$02 + BEQ L59E6 + JMP L59DB + +L59EE LDX $76 + LDA L409D,X + STA $78 + LDA L40A7,X + STA $7A + LDA L40A2,X + STA $79 + LDA L40AC,X + STA $7B + LDA L40B1,X + CMP #$FF + BEQ L5A4C + LDA L40B6,X + BEQ L5A4C + CMP #$02 + BEQ L5A36 + DEC $78 + LDA L40B1,X + LDX $5C + CLC + ADC L7FA0,X + TAX + LDA $78 + CMP L7EA5,X + BNE L5A33 +L5A27 LDX $76 + LDA #$FF + STA L40B1,X + LDA #$00 + STA L40B6,X +L5A33 JMP L5918 + +L5A36 INC $78 + LDA L40B1,X + LDX $5C + CLC + ADC L7FA0,X + TAX + LDA $78 + CMP L7EE5,X + BNE L5A33 + JMP L5A27 + +L5A4C LDA $5F + CLC + ADC $6C + CLC + ADC #$17 + STA $6C + AND #$07 + CMP #$03 + BCS L5A78 + LDX $76 + LDA L40A2,X + STA $0E + LDX $5C + LDA L7FA0,X + TAX + LDY #$00 +L5A6B LDA L7F3D,X + CMP $0E + BEQ L5A7B +L5A72 INX + INY + CPY #$0C + BNE L5A6B +L5A78 JMP L5AEB + +L5A7B STX $AD + LDX $76 + LDA L409D,X + LDX $AD + CMP L7EA5,X + BEQ L5A91 + CMP L7EE5,X + BEQ L5ABB + JMP L5A72 + +L5A91 LDA $5F + CLC + ADC $6C + CLC + ADC $BD + STA $6C + AND #$1F + CMP #$10 + BCS L5AEB + CMP #$0A + BCS L5AAB + LDA $78 + CMP $05 + BCS L5A78 +L5AAB LDX $76 + TYA + STA L40B1,X + LDA #$02 + STA L40B6,X + INC $78 + JMP L5918 + +L5ABB LDA $5F + CLC + ADC $6C + CLC + ADC $BD + STA $6C + AND #$1F + CMP #$10 + BCS L5AEB + CMP #$0A + BCS L5AD5 + LDA $78 + CMP $05 + BCC L5AEB +L5AD5 LDA $78 + CMP #$1B + BCC L5AEB + LDX $76 + TYA + STA L40B1,X + LDA #$01 + STA L40B6,X + DEC $78 + JMP L5918 + +L5AEB LDA $5C + ASL + STA $0E + LDA $79 + AND #$01 + CLC + ADC $0E + TAX + LDA L7FE0,X + STA $56 + LDA #$00 + STA $1A + LDY $76 + LDA L40A7,Y + TAX + LDA L7FA9,X + CLC + ADC #$00 + BCC L5B11 + INC $1A +L5B11 CLC + ADC #$25 + STA $19 + LDA #$A7 + ADC L7FB0,X + CLC + ADC $1A + STA $1A + LDA L409D,Y + CLC + ADC #$0C + TAX + LDA L40A2,Y + CLC + ADC #$01 + STA $0D + TXA + TAY + JSR L5847 + LDX #$00 + LDA ($1B),Y + EOR ($19,X) + AND #$7F + CMP $56 + BNE L5B4A + LDA $78 + SEC + SBC #$04 + STA $78 + JMP L5918 + +L5B4A LDA $19 + CLC + ADC #$09 + STA $19 + BCC L5B55 + INC $1A +L5B55 LDX $76 + LDA L409D,X + CLC + ADC #$0F + TAY + LDA L40A2,X + CLC + ADC #$01 + STA $0D + JSR L5847 + LDX #$00 + LDA ($1B),Y + EOR ($19,X) + AND #$7F + CMP $56 + BNE L5B7A + DEC $78 + JMP L5918 + +L5B7A LDX $76 + LDA L409D,X + CLC + ADC #$10 + TAY + LDA L40A2,X + CLC + ADC #$01 + STA $0D + JSR L5847 + LDA ($1B),Y + AND #$7F + CMP $56 + BEQ L5B9B + INC $78 + JMP L5918 + +L5B9B LDA $5F + CLC + ADC $6C + CLC + ADC $BD + STA $6C + LSR + AND #$3F + BNE L5BBA + LDA $79 + CMP #$0E + BCC L5BB4 + CMP #$18 + BCC L5BBA +L5BB4 LDA $7B + EOR #$01 + STA $7B +L5BBA LDA $7B + BEQ L5C15 + LDA $7A + CMP #$03 + BNE L5C02 +L5BC4 LDA $79 + CMP #$23 + BEQ L5BB4 + CMP #$0E + BCC L5BE0 + CMP #$12 + BCS L5BE0 + LDA $5C + BEQ L5BFD + LDA $78 + CMP #$3F + BCC L5BE0 + CMP #$50 + BCC L5BFA +L5BE0 LDA $79 + CMP #$08 + BEQ L5BEA + CMP #$1A + BNE L5BFD +L5BEA LDA $78 + CMP #$5B + BCC L5BFD + CMP #$6B + BCS L5BFD + LDA $7A + CMP #$02 + BCC L5BFD +L5BFA JMP L5BB4 + +L5BFD INC $79 + JMP L5C06 + +L5C02 CMP #$06 + BEQ L5BC4 +L5C06 INC $7A + LDA $7A + CMP #$07 + BNE L5C12 + LDA #$00 + STA $7A +L5C12 JMP L5918 + +L5C15 LDA $7A + BNE L5C57 +L5C19 LDA $79 + CMP #$01 + BEQ L5BB4 + CMP #$18 + BCS L5C35 + CMP #$13 + BCC L5C35 + LDA $5C + BEQ L5C52 + LDA $78 + CMP #$3F + BCC L5C35 + CMP #$50 + BCC L5C4F +L5C35 LDA $79 + CMP #$0C + BEQ L5C3F + CMP #$1E + BNE L5C52 +L5C3F LDA $78 + CMP #$5B + BCC L5C52 + CMP #$6B + BCS L5C52 + LDA $7A + CMP #$02 + BCS L5C52 +L5C4F JMP L5BB4 + +L5C52 DEC $79 + JMP L5C5B + +L5C57 CMP #$04 + BEQ L5C19 +L5C5B DEC $7A + LDA $7A + CMP #$FF + BNE L5C67 + LDA #$06 + STA $7A +L5C67 JMP L5918 + +L5C6A LDA #$00 + STA $7C + STA $64 + LDX $AB + LDA L40F9,X + TAX + LDA $6D + CMP L801D,X + BCC L5CE3 + LDA $83 + CMP #$03 + BEQ L5CE3 + LDA #$00 + STA $6D + LDX #$00 +L5C89 LDA L4003,X + CMP #$FF + BEQ L5C98 + INX + CPX #$03 + BNE L5C89 + JMP L5CE3 + +L5C98 LDA $5F + CLC + ADC $6C + CLC + ADC #$17 + STA $6C + AND #$03 + CMP #$03 + BNE L5CAA + LDA #$00 +L5CAA STA L4012,X + TAY + LDA #$00 + STA L4009,X + STA L400F,X + LDA L7FCA,Y + STA L4003,X + STA $0D + LDA $84 + STA L400C,X + LDA #$1A + STA L4006,X + STA $0A + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA #$00 + STA $19 + LDA $84 + ASL + CLC + ADC #$B3 + STA $1A + JSR L5828 + INC $83 +L5CE3 INC $6D + JMP L5D9A +L5CE8 JMP L5D98 + +L5CEB LDX $7C + LDA L4009,X + CMP #$FF + BEQ L5CE8 + TAX + LDA L7FA9,X + STA $ED + LDY $7C + LDA L400C,Y + ASL + CLC + ADC #$B3 + CLC + ADC L7FB0,X + STA $EE + LDX $7F + LDA L7FA9,X + STA $F9 + LDA $84 + ASL + CLC + ADC #$B3 + CLC + ADC L7FB0,X + STA $FA + LDA #$10 + STA $08 + LDX $7C + LDA L4006,X + STA $0A + LDA $7E + STA $0B +L5D2B LDY $0A + LDX $7C + LDA L4003,X + AND #$7F + CLC + ADC L871B,Y + STA $1B + LDA L87DB,Y + STA $1C + LDY $0B + LDA $7D + AND #$7F + CLC + ADC L871B,Y + STA $19 + LDA L87DB,Y + STA $1A + LDX #$00 + LDY #$00 + LDA #$03 + STA $09 +L5D58 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L5D6A + INC $EE +L5D6A INC $F9 + BNE L5D70 + INC $FA +L5D70 INY + DEC $09 + BNE L5D58 + INC $0A + INC $0B + DEC $08 + BNE L5D2B + LDA $7E + LDX $7C + STA L4006,X + LDA $7F + STA L4009,X + LDA $7D + STA L4003,X + LDA $84 + STA L400C,X + LDA $80 + STA L400F,X +L5D98 INC $7C +L5D9A LDA $7C + CMP #$03 + BEQ L5DAB + TAX + LDA L4003,X + CMP #$FF + BEQ L5D98 + JMP L5DC5 + +L5DAB LDA #$00 + STA $7C + INC $5F + INC $64 + LDA $64 + CMP #$02 + BEQ L5DC4 + LDX $83 + LDA L813D,X + JSR WAIT + JMP L5D9A +L5DC4 RTS + +L5DC5 LDX $7C + LDA L4006,X + STA $7E + LDA L4003,X + STA $7D + LDA L4009,X + STA $7F + LDA L400F,X + STA $80 + LDA L4012,X + STA $81 + LDA $7D + BMI L5DFF + LDA $5F + CLC + ADC $82 + CLC + ADC $6C + STA $6C + AND #$01 + CLC + ADC #$1E + STA $0E + LDA $7D + CMP $0E + BCC L5E02 + ORA #$80 + STA $7D +L5DFF JMP L5E5C + +L5E02 INC $80 + LDA $80 + CMP #$1B + BNE L5E11 + JSR L7E77 + LDA #$00 + STA $80 +L5E11 LDX $81 + CLC + ADC L8255,X + TAX + LDA L8204,X + STA $85 + LDA L81B3,X + STA $86 +L5E22 LDA $85 + AND #$7F + BEQ L5E2E + JSR L5E3B + JMP L5E22 + +L5E2E LDA $86 + BEQ L5E38 + JSR L5E47 + JMP L5E2E +L5E38 JMP L5EB3 + +L5E3B DEC $85 + LDA $85 + BMI L5E44 + DEC $7E + RTS + +L5E44 INC $7E + RTS + +L5E47 INC $7F + LDA $7F + CMP #$04 + BEQ L5E57 + CMP #$07 + BNE L5E59 + LDA #$00 + STA $7F +L5E57 INC $7D +L5E59 DEC $86 + RTS + +L5E5C LDA $7E + CMP #$A7 + BCC L5E9A + STA $0A + LDA $7D + AND #$7F + STA $0D + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDX $7F + LDA L7FA9,X + STA $19 + LDY $7C + LDA L400C,Y + ASL + CLC + ADC L7FB0,X + CLC + ADC #$B3 + STA $1A + JSR L5828 + DEC $83 + LDX $7C + LDA #$FF + STA L4003,X + STA L4009,X + JMP L5D98 + +L5E9A INC $7E + INC $7E + INC $82 + LDA $82 + CMP #$18 + BNE L5EB0 + LDA #$00 + STA $82 + LDA #$01 + EOR $84 + STA $84 +L5EB0 JMP L5CEB + +L5EB3 LDA $80 + CMP #$07 + BCC L5EC4 + CMP #$13 + BCS L5EC4 + LDA #$01 + STA $84 + JMP L5CEB + +L5EC4 LDA #$00 + STA $84 + JMP L5CEB +L5ECB JMP L5F69 + +L5ECE LDA #$00 + STA $87 + LDX $AB + LDA L40F9,X + TAX + LDA $82 + CMP L8023,X + BCC L5ECB + LDA $88 + CMP #$05 + BEQ L5ECB + LDA #$00 + STA $82 + LDX #$00 +L5EEB LDA L40C0,X + CMP #$FF + BEQ L5EFA + INX + CPX #$05 + BNE L5EEB + JMP L5F69 + +L5EFA LDA $5F + CLC + ADC $6C + CLC + ADC #$17 + STA $6C + STA $0E + AND #$01 + BNE L5F13 + LDA $0E + LSR + AND #$01 + TAY + JMP L5F1C + +L5F13 LDA $0E + LSR + AND #$01 + CLC + ADC #$02 + TAY +L5F1C LDA L817B,Y + CPY #$02 + BCC L5F25 + EOR $8B +L5F25 CMP #$00 + BNE L5F33 + INY + CPY #$04 + BNE L5F1C + LDY #$00 + JMP L5F1C + +L5F33 LDA L8177,Y + STA L40BB,X + STA $0A + LDA L8173,Y + STA L40C0,X + STA $0D + LDA #$08 + STA $08 + LDA #$04 + STA $0E + LDA #$00 + STA $19 + LDA #$AA + STA $1A + LDA #$00 + STA L40C5,X + LDA L816F,Y + CPY #$02 + BCC L5F61 + EOR $8B +L5F61 STA L40CA,X + JSR L5828 + INC $88 +L5F69 INC $82 + JMP L5FED +L5F6E JMP L5FEB + +L5F71 LDX $87 + LDA L40C5,X + CMP #$FF + BEQ L5F6E + TAX + LDA L7FD9,X + STA $ED + LDA #$AA + STA $EE + STA $FA + LDX $8A + LDA L7FD9,X + STA $F9 + LDA #$08 + STA $08 + LDX $87 + LDA L40BB,X + STA $0A +L5F98 LDY $0A + LDA L871B,Y + CLC + LDX $87 + ADC L40C0,X + STA $1B + LDA L87DB,Y + STA $1C + STA $1A + LDA L871B,Y + CLC + ADC $89 + STA $19 + LDX #$00 + LDY #$00 + LDA #$04 + STA $09 +L5FBC LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L5FCE + INC $EE +L5FCE INC $F9 + BNE L5FD4 + INC $FA +L5FD4 INY + DEC $09 + BNE L5FBC + INC $0A + DEC $08 + BNE L5F98 + LDX $87 + LDA $89 + STA L40C0,X + LDA $8A + STA L40C5,X +L5FEB INC $87 +L5FED LDA $87 + CMP #$05 + BEQ L5FFE + TAX + LDA L40C0,X + CMP #$FF + BEQ L5FEB + JMP L5FFF +L5FFE RTS + +L5FFF LDX $87 + LDA L40C0,X + STA $89 + LDA L40C5,X + STA $8A + LDA L40CA,X + BNE L603E + DEC $8A + LDA $8A + CMP #$03 + BEQ L6020 + CMP #$FF + BNE L603B + LDA #$06 + STA $8A +L6020 DEC $89 + LDA $89 + CMP #$FF + BNE L602B + JMP L606C + +L602B LDA L40BB,X + CMP #$4F + BNE L603B + LDA $89 + CMP #$12 + BNE L603B + JMP L606C +L603B JMP L5F71 + +L603E INC $8A + LDA $8A + CMP #$04 + BEQ L604E + CMP #$07 + BNE L6069 + LDA #$00 + STA $8A +L604E INC $89 + LDA $89 + CMP #$25 + BNE L6059 + JMP L606C + +L6059 LDA L40BB,X + CMP #$4F + BNE L6069 + LDA $89 + CMP #$12 + BNE L6069 + JMP L606C +L6069 JMP L5F71 + +L606C LDX $87 + LDA L40C5,X + TAY + LDA L7FD9,Y + STA $19 + LDA #$AA + STA $1A + LDA #$08 + STA $08 + LDA #$04 + STA $0E + LDA L40BB,X + STA $0A + LDA L40C0,X + STA $0D + LDA #$FF + STA L40C0,X + STA L40C5,X + DEC $88 + JSR L5828 + JMP L5FEB + +L609D INC $5F + LDA $8E + BEQ L60A4 + RTS + +L60A4 LDX $AB + LDA L40F9,X + TAX + LDA L7FFF,X + STA $0E + INC $0E + LDX #$00 +L60B3 LDA L4043,X + CMP #$FF + BEQ L60C0 + INX + CPX $0E + BNE L60B3 + RTS + +L60C0 LDA #$FE + STA L4043,X + INC $8E + LDA #$1F + STA $8F + STA $0A + LDA #$08 + STA $08 + LDA #$03 + STA $0E + LDA #$00 + STA $93 + STA $91 + LDA #$20 + STA $19 + LDA #$AC + STA $1A + LDA #$19 + STA $90 + STA $0D + LDA $60 + BEQ L60FA + LDA $6C + CLC + ADC $14 + AND #$07 + BEQ L60FA + INC $90 + INC $0D +L60FA JSR L5828 + INC $60 + RTS + +L6100 LDA $8E + BNE L6105 + RTS + +L6105 LDA $91 + STA $96 + LDA $90 + STA $94 + LDA $8F + STA $95 + LDX $92 + CMP L7FF0,X + BCC L611B + JMP L61D3 + +L611B INC $93 + LDA $93 + CMP #$29 + BNE L6126 + JMP L61D3 + +L6126 LDX $92 + LDA L8387,X + CLC + ADC $93 + TAX + LDA L82E3,X + STA $86 + LDA L8335,X + STA $85 +L6139 LDA $86 + AND #$7F + BEQ L6145 + JSR L6235 + JMP L6139 + +L6145 LDA $85 + BEQ L614F + JSR L6261 + JMP L6145 + +L614F LDX $91 + LDA L8389,X + CLC + ADC #$20 + STA $ED + LDA #$AC + ADC #$00 + STA $EE + LDX $96 + LDA L8389,X + CLC + ADC #$20 + STA $F9 + LDA #$AC + ADC #$00 + STA $FA + LDA #$08 + STA $08 + LDA $8F + STA $0A + LDA $95 + STA $0B + LDX #$00 +L617D LDY $0A + LDA L871B,Y + CLC + ADC $90 + STA $1B + LDA L87DB,Y + STA $1C + LDY $0B + LDA L871B,Y + CLC + ADC $94 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 + LDA #$03 + STA $09 +L61A1 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L61B3 + INC $EE +L61B3 INC $F9 + BNE L61B9 + INC $FA +L61B9 INY + DEC $09 + BNE L61A1 + INC $0A + INC $0B + DEC $08 + BNE L617D + LDA $95 + STA $8F + LDA $94 + STA $90 + LDA $96 + STA $91 + RTS + +L61D3 LDA $8F + STA $0A + LDA $90 + STA $0D + LDA #$08 + STA $08 + LDA #$03 + STA $0E + LDX $91 + LDA L8389,X + CLC + ADC #$20 + STA $19 + LDA #$AC + ADC #$00 + STA $1A + JSR L5828 + DEC $8E + LDX #$00 +L61FA LDA L4043,X + CMP #$FE + BEQ L6207 + INX + CPX #$06 + BNE L61FA + RTS + +L6207 LDA $8F + STA L404D,X + STA $0A + LDA $90 + STA L4043,X + STA $0D + LDA $91 + STA L4039,X + TAX + LDA L7FD2,X + CLC + ADC #$20 + STA $19 + LDA #$00 + ADC #$AB + STA $1A + LDA #$03 + STA $0E + LDA #$08 + STA $08 + JSR L5828 + RTS + +L6235 DEC $86 + LDA $86 + BMI L624E + DEC $96 + LDA $96 + CMP #$03 + BEQ L624B + CMP #$FF + BNE L624D + LDA #$06 + STA $96 +L624B DEC $94 +L624D RTS + +L624E INC $96 + LDA $96 + CMP #$04 + BEQ L625E + CMP #$07 + BNE L6260 + LDA #$00 + STA $96 +L625E INC $94 +L6260 RTS + +L6261 DEC $85 + INC $95 + INC $95 + RTS + +L6268 LDA $98 + STA $9A + LDA $97 + STA $9B + LDA $9C + BNE L62AD + DEC $9B + LDA $9B + CMP #$03 + BEQ L6284 + CMP #$FF + BNE L62AA + LDA #$06 + STA $9B +L6284 DEC $9A + LDA $9A + CMP #$04 + BNE L62C9 + LDA #$01 + STA $9C + EOR $8B + STA $8B + LDX #$00 +L6296 LDA L40BB,X + CMP #$80 + BCC L62A5 + LDA L40CA,X + EOR #$01 + STA L40CA,X +L62A5 INX + CPX #$05 + BNE L6296 +L62AA JMP L62C9 + +L62AD INC $9B + LDA $9B + CMP #$04 + BEQ L62BD + CMP #$07 + BNE L62C9 + LDA #$00 + STA $9B +L62BD INC $9A + LDA $9A + CMP #$1E + BNE L62C9 + LDA #$00 + STA $9C +L62C9 LDX $97 + LDA L82D5,X + CLC + ADC #$10 + STA $ED + LDA L82DC,X + ADC #$19 + STA $EE + LDX $9B + LDA L82D5,X + CLC + ADC #$10 + STA $F9 + LDA L82DC,X + ADC #$19 + STA $FA + LDA $99 + STA $0A + LDA #$20 + STA $08 + LDX #$00 +L62F5 LDY $0A + LDA L871B,Y + CLC + ADC $98 + STA $1B + LDA L87DB,Y + STA $1C + STA $1A + LDA L871B,Y + CLC + ADC $9A + STA $19 + LDY #$00 + LDA #$06 + STA $09 +L6314 LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L6326 + INC $EE +L6326 INC $F9 + BNE L632C + INC $FA +L632C INY + DEC $09 + BNE L6314 + INC $0A + DEC $08 + BNE L62F5 + LDA $9A + STA $98 + LDA $9B + STA $97 + RTS + +L6340 LDA $04 + STA $03 + LDA $05 + STA $06 + LDA $8B + STA $0E + LDA $05 + CMP #$47 + BNE L6362 + LDA #$01 + STA $0E + LDA $03 + CMP #$12 + BCC L6362 + LDA #$01 + EOR $0E + STA $0E +L6362 LDA $0E + BNE L6385 + LDA $02 + CMP #$04 + BEQ L6370 + CMP #$00 + BNE L6380 +L6370 LDA $03 + BEQ L63A3 + LDA $02 + CMP #$04 + BEQ L637E + LDA #$07 + STA $02 +L637E DEC $03 +L6380 DEC $02 + JMP L63A3 + +L6385 LDA $02 + CMP #$03 + BEQ L638F + CMP #$06 + BNE L63A1 +L638F LDA $03 + CMP #$24 + BCS L63A3 + LDA $02 + CMP #$03 + BEQ L639F + LDA #$FF + STA $02 +L639F INC $03 +L63A1 INC $02 +L63A3 LDA $57 + BNE L63B1 + LDA $07 + BNE L63AE + JMP L4716 +L63AE JMP L4783 + +L63B1 LDA $07 + BNE L63B8 + JMP L4DB7 +L63B8 JMP L4E2F + +L63BB LDX $A0 + LDA L817F,X + CLC + ADC #$CC + STA $19 + LDA #$83 + ADC #$00 + STA $1A + LDX $5C + LDA L7FE8,X + STA $0D + LDA L7FEC,X + STA $0A + LDA #$02 + STA $0E + LDA #$0D + STA $08 + JSR L5828 + LDA #$01 + EOR $A0 + STA $A0 + TAX + LDA L817F,X + CLC + ADC #$CC + STA $19 + LDA #$83 + ADC #$00 + STA $1A + LDX $5C + LDA L7FE8,X + STA $0D + LDA L7FEC,X + STA $0A + LDA #$02 + STA $0E + LDA #$0D + STA $08 + JSR L5828 + RTS + +L640F LDX $5C + LDA L84DE,X + STA $0D + LDA L84E2,X + STA $0A + LDA #$0F + STA $08 + LDA #$02 + STA $0E + LDX $A1 + LDA L84DC,X + CLC + ADC #$A0 + STA $19 + LDA #$84 + ADC #$00 + STA $1A + JSR L5828 + RTS + +L6437 JSR L640F + LDA #$01 + EOR $A1 + STA $A1 + JSR L640F + RTS + +L6444 LDA $5C + ASL + ASL + TAX + LDY #$00 + LDA $05 + STA $0E + LDA $57 + BEQ L645A + LDA $05 + CLC + ADC #$04 + STA $0E +L645A LDA L8181,X + CMP $04 + BEQ L646F + CLC + ADC #$01 + CMP $04 + BEQ L646F +L6468 INX + INY + CPY #$04 + BNE L645A + RTS + +L646F LDA L8191,X + CMP $0E + BNE L6468 + LDA L40CF,X + BNE L6468 + INC L40CF,X + LDA L8181,X + STA $0D + INC $0D + LDA L8191,X + STA $0A + LDA #$10 + STA $08 + LDA #$02 + STA $0E + CPY #$02 + BNE L649E + LDA $5C + CMP #$02 + BNE L649E + LDY #$04 +L649E LDA L81A1,Y + STA $19 + LDA L81A6,Y + STA $1A + STX $A4 + JSR L5828 + LDX $A4 + LDA L8191,X + CLC + ADC #$04 + STA $0A + LDA L8181,X + STA $0D + LDX $AB + LDA L40F9,X + TAX + LDA $AB + ASL + ASL + ASL + TAY + LDA L8051,X + STA $0E + CLC + ADC L402B,Y + STA L402B,Y + JSR L70F7 + JSR L6FA1 + JSR L6FC6 + RTS + +L64DE INC $A2 + LDA $A2 + CMP #$01 + BNE L64F3 + JSR L651B + LDA #$C0 + STA $19 + JSR L6540 + JMP L5337 + +L64F3 CMP #$05 + BNE L6508 + LDA #$C0 + STA $19 + JSR L6540 + LDA #$00 + STA $19 + JSR L6540 +L6505 JMP L5337 + +L6508 CMP #$09 + BNE L6505 + LDA #$00 + STA $19 + STA $A2 + JSR L6540 + JSR L651B + JMP L505C + +L651B LDX #$03 + LDA L82D5,X + CLC + ADC #$10 + STA $19 + LDA L82DC,X + ADC #$19 + STA $1A +L652C LDA #$06 + STA $0E + LDA #$20 + STA $08 + LDA #$17 + STA $0D + LDA #$06 + STA $0A + JSR L5828 + RTS + +L6540 LDA #$A0 + CLC + ADC $19 + STA $19 + LDA #$A9 + ADC #$00 + STA $1A + JMP L652C + +L6550 LDA $A2 + BNE L6562 + LDA $5F + CLC + ADC $6C + STA $6C + AND #$3F + CMP #$3F + BEQ L6562 + RTS + +L6562 INC $A2 + LDA $A2 + CMP #$01 + BNE L6595 + JSR L65EE + LDA $19 + STA $ED + LDA $1A + STA $EE + LDA #$00 + STA $19 + JSR L6607 + LDA $19 + STA $F9 + LDA $1A + STA $FA + JSR L6617 + INC $B9 + LDA #$08 + STA $01 + LDA #$DC + STA $00 + JSR L7DC4 + RTS + +L6595 CMP #$0C + BNE L65C8 + LDA #$00 + STA $19 + JSR L6607 + LDA $19 + STA $ED + LDA $1A + STA $EE + LDA #$C0 + STA $19 + JSR L6607 + LDA $19 + STA $F9 + LDA $1A + STA $FA + JSR L6617 + INC $B9 + LDA #$08 + STA $01 + LDA #$FA + STA $00 + JSR L7DC4 + RTS + +L65C8 CMP #$17 + BNE L65ED + LDA #$C0 + STA $19 + JSR L6607 + LDA $19 + STA $ED + LDA $1A + STA $EE + JSR L65EE + LDA $19 + STA $F9 + LDA $1A + STA $FA + JSR L6617 + LDA #$00 + STA $A2 +L65ED RTS + +L65EE LDA #$10 + STA $19 + LDA #$19 + STA $1A +L65F6 LDA #$20 + STA $08 + LDX $5C + LDA L7F90,X + STA $0D + LDA L7F94,X + STA $0A + RTS + +L6607 LDA #$00 + CLC + ADC $19 + STA $19 + LDA #$AF + ADC #$00 + STA $1A + JMP L65F6 + +L6617 LDY $0A + LDA L871B,Y + CLC + ADC $0D + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 + LDX #$00 +L662A LDA ($ED,X) + EOR ($19),Y + STA ($19),Y + LDA ($F9,X) + EOR ($19),Y + STA ($19),Y + INC $ED + BNE L663C + INC $EE +L663C INC $F9 + BNE L6642 + INC $FA +L6642 INY + CPY #$06 + BNE L662A + INC $0A + DEC $08 + BNE L6617 + RTS + +L664E LDA $05 + STA $0A + LDA $58 + STA $0E + LDA $9F + STA $08 + LDA $04 + STA $0D + LDA $1D + STA $19 + LDA $1E + STA $1A + JSR L5828 + LDA #$00 + STA $74 +L666D LDX $74 + LDA L407F,X + STA $0A + LDA L407A,X + STA $0D + CMP #$FF + BEQ L66B3 + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA L4093,X + TAY + LDA L4075,X + CMP #$FF + BEQ L66B3 + TAX + LDA L7FA9,X + CLC + ADC L81AB,Y + STA $19 + LDA L81AD,Y + STA $1A + LDY $74 + LDA L4089,Y + ADC $1A + CLC + ADC L4089,Y + CLC + ADC L7FB0,X + STA $1A + JSR L5828 +L66B3 INC $74 + LDA $74 + CMP #$05 + BNE L666D +L66BB LDA $A2 + BEQ L66C5 + JSR L6562 + JMP L66BB + +L66C5 JSR L7128 + LDA L40EB + BNE L66C5 + LDA L40EC + BNE L66C5 + LDA #$35 + STA $0A + LDA #$AC + STA $0B + JSR L68EC + LDA #$A8 + JSR L690F + LDA #$A3 + JSR L690F + LDA #$9E + JSR L690F + LDA #$99 + JSR L690F + JSR L6B8A + LDA #$00 + STA $A2 + STA $AD +L66FA JSR L6562 + JSR L694B + LDA $A2 + BNE L66FA + INC $AD + LDA $AD + CMP #$08 + BNE L66FA + JSR L6B8A + JSR L6B8A + JSR L6B8A + JSR L65EE + LDA #$06 + STA $0E + JSR L6C64 + LDA #$1A + STA $AD + STA $0A + LDX $5C + LDA L7F90,X + STA $0D + LDA #$05 + STA $0E + LDA #$20 + STA $08 + LDA #$90 + STA $19 + LDA #$B0 + STA $1A + JSR L5828 + JSR L694B +L6742 LDA $AD + STA $0A + CLC + ADC #$01 + STA $0B + LDA #$20 + STA $08 + LDA #$90 + STA $ED + LDA #$B0 + STA $EE +L6757 LDY $0A + LDA L871B,Y + CLC + ADC $0D + STA $19 + LDA L87DB,Y + STA $1A + LDY $0B + LDA L871B,Y + CLC + ADC $0D + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 + LDX #$00 +L6779 LDA ($ED,X) + EOR ($19),Y + ORA #$80 + STA ($19),Y + LDA ($ED,X) + EOR ($1B),Y + STA ($1B),Y + INC $ED + BNE L678D + INC $EE +L678D INY + CPY #$05 + BNE L6779 + INC $0A + INC $0B + DEC $08 + BNE L6757 + JSR L694B + INC $AD + LDA $AD + STA $00 + LDA #$06 + STA $01 + JSR L7DC4 + LDA $AD + CMP #$79 + BNE L6742 + LDA #$96 + STA $01 + LDA #$FF + STA $00 + JSR L7DC4 + LDA #$06 + STA $AE +L67BF JSR L6B8A + DEC $AE + BNE L67BF + LDA #$00 + STA $0A + LDA #$35 + STA $0B + JSR L68EC + LDA #$AD + STA $0A + LDA #$35 + STA $0B + LDX #$05 +L67DB LDY $0A + LDA L871B,Y + CLC + ADC #$08 + STA $19 + LDA L87DB,Y + STA $1A + LDY $0B + LDA L871B,Y + CLC + ADC #$08 + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 +L67FB LDA ($19),Y + STA ($1B),Y + INY + CPY #$18 + BNE L67FB + INC $0A + INC $0B + DEX + BNE L67DB + LDA #$0F + STA $08 + LDA #$0E + STA $0D + LDA #$02 + STA $0E + LDA #$26 + STA $0A + LDA #$A0 + STA $19 + LDA #$84 + STA $1A + JSR L5828 + LDA #$25 + STA $0A + LDA #$16 + STA $0D + LDA #$03 + STA $0E + LDA #$10 + STA $08 + LDA #$A0 + STA $19 + LDA #$0A + STA $1A + JSR L5828 + LDA #$16 + STA $0A + LDA #$04 + STA $0E + LDA #$11 + STA $0D + LDA #$10 + STA $08 + LDA #$16 + STA $19 + LDA #$85 + STA $1A + JSR L5828 + LDX $AB + INC L40F5,X + INC L40F9,X + LDA L40FB,X + CMP #$63 + BCS L686E + INC L40FB,X +L686E LDA #$00 + STA L40F7,X + LDA L7DB1+2 + CMP #$C0 + BNE L68A0 + LDA #$00 + STA $AE +L687E LDX $AE + LDA L80B3,X + STA $00 + LDA L80C8,X + STA $01 + JSR L7DC4 + LDA #$01 + STA $00 + LDA #$08 + STA $01 + JSR L7DC4 + INC $AE + LDA $AE + CMP #$15 + BNE L687E +L68A0 JSR L6B8A + JSR L6B8A +L68A6 JSR L6B8A + JSR L6B8A + LDA $AB + ASL + ASL + ASL + TAX + LDA $A6 + CLC + ADC L402C,X + STA L402C,X + LDA $A7 + CLC + ADC L402B,X + STA L402B,X + JSR L6FA1 + JSR L6B8A + JSR L6B8A + LDX $AB + LDA L40F9,X + CMP #$06 + BCC L68DB + LDA #$05 + STA L40F9,X +L68DB LDX $AB + LDA L40F5,X + CMP #$14 + BCC L68E9 + LDA #$0E + STA L40F5,X +L68E9 JMP L4184 + +L68EC LDY $0A + LDA L871B,Y + CLC + ADC #$09 + STA $19 + LDA L87DB,Y + STA $1A + LDY #$00 +L68FD LDA #$00 + STA ($19),Y + INY + CPY #$16 + BNE L68FD + INC $0A + LDA $0A + CMP $0B + BNE L68EC + RTS + +L690F STA $0B + LDA #$AD + STA $0A + LDA #$05 + STA $08 +L6919 LDY $0A + LDA L871B,Y + CLC + ADC #$0A + STA $19 + LDA L87DB,Y + STA $1A + LDY $0B + LDA L871B,Y + CLC + ADC #$0A + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 +L6939 LDA ($19),Y + STA ($1B),Y + INY + CPY #$14 + BNE L6939 + INC $0A + INC $0B + DEC $08 + BNE L6919 + RTS + +L694B LDX #$00 + LDY #$0A +L694F INX + BNE L694F + DEY + BNE L694F + RTS + +L6956 LDX #$00 + LDY #$6E +L695A INX + BNE L695A + DEY + BNE L695A + RTS + +L6961 LDX #$00 + LDY #$46 +L6965 INX + BNE L6965 + DEY + BNE L6965 + RTS + +L696C LDX $5C + CPX #$01 + BNE L6973 +L6972 RTS + +L6973 LDA $05 + CMP L829A,X + BNE L6972 + LDA $05 + STA $0A + LDA $04 + STA $0D + LDA #$03 + STA $0E + LDA #$10 + STA $08 + LDA $1D + STA $19 + LDA $1E + STA $1A + JSR L5828 + LDA #$03 + STA $0E + LDA #$10 + STA $08 + LDA $05 + STA $0A + LDX $02 + LDA $5C + BEQ L69B9 + LDA #$A0 + CLC + ADC L7FA9,X + STA $19 + LDA #$0A + ADC L7FB0,X + STA $1A + JMP L69C8 + +L69B9 LDA #$F0 + CLC + ADC L7FA9,X + STA $19 + LDA #$0B + ADC L7FB0,X + STA $1A +L69C8 JSR L5828 + LDX $5C + LDA L8288,X + STA $0A + LDA L828C,X + STA $0D + LDA #$10 + STA $08 + LDA #$04 + STA $0E + LDA #$16 + STA $19 + LDA #$85 + STA $1A + JSR L5828 + JSR L6B8A + JSR L6B8A + LDA #$20 + STA $08 + LDA $98 + STA $0D + LDA $99 + STA $0A + LDA #$06 + STA $0E + LDA $5C + CMP #$03 + BNE L6A1D + LDX $97 + LDA L82D5,X + CLC + ADC #$10 + STA $19 + LDA L82DC,X + ADC #$19 + STA $1A + JSR L5828 + JMP L6A20 + +L6A1D JSR L6C64 +L6A20 LDX $5C + LDA L8292,X + STA $0A + STA $AD + LDA L8296,X + STA $0D + STA $98 + LDA #$00 + STA $97 + STA $56 + LDA #$05 + STA $0E + LDA #$20 + STA $08 + LDA #$90 + STA $19 + LDA #$B0 + STA $1A + JSR L5828 +L6A49 LDA $AD + STA $0A + BEQ L6A52 + SEC + SBC #$01 +L6A52 STA $0B + LDA #$20 + SEC + SBC $56 + STA $08 + LDA $97 + LSR + LSR + TAX + LDA L8290,X + CLC + ADC #$90 + STA $ED + LDA #$B0 + ADC #$00 + STA $EE + LDX $56 + CPX #$00 + BEQ L6A81 + DEX + LDA $ED + CLC + ADC L8260,X + STA $ED + BCC L6A81 + INC $EE +L6A81 INC $97 + LDA $97 + CMP #$08 + BNE L6A8D + LDA #$00 + STA $97 +L6A8D LDA $97 + LSR + LSR + TAX + LDA L8290,X + CLC + ADC #$90 + STA $F9 + LDA #$B0 + ADC #$00 + STA $FA + LDX $56 + LDA $F9 + CLC + ADC L8260,X + STA $F9 + BCC L6AAE + INC $FA +L6AAE LDY $0A + LDA L871B,Y + CLC + ADC $98 + STA $19 + LDA L87DB,Y + STA $1A + LDY $0B + LDA L871B,Y + CLC + ADC $98 + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 + LDX #$00 +L6AD0 LDA ($ED,X) + EOR ($19),Y + ORA #$80 + STA ($19),Y + LDA ($F9,X) + EOR ($1B),Y + ORA #$80 + STA ($1B),Y + INC $ED + BNE L6AE6 + INC $EE +L6AE6 INC $F9 + BNE L6AEC + INC $FA +L6AEC INY + CPY #$05 + BNE L6AD0 + INC $0A + INC $0B + DEC $08 + BNE L6AAE + LDA $56 + BEQ L6B1D + LDA $98 + STA $0D + LDY $0A + JSR L5847 + LDY #$00 + LDX #$00 +L6B0A LDA ($ED,X) + EOR ($1B),Y + ORA #$80 + STA ($1B),Y + INC $ED + BNE L6B18 + INC $EE +L6B18 INY + CPY #$05 + BNE L6B0A +L6B1D JSR L6961 + LDA $AD + BNE L6B33 + INC $56 + LDA $56 + CMP #$01 + BEQ L6B43 + CMP #$20 + BEQ L6B38 + JMP L6A49 + +L6B33 DEC $AD + JMP L6A49 + +L6B38 LDX $AB + INC L40F5,X + INC L40F7,X + JMP L68A6 + +L6B43 LDX $5C + LDA L8288,X + STA $0A + LDA L828C,X + STA $0D + LDA #$10 + STA $08 + LDA #$04 + STA $0E + LDA #$16 + STA $19 + LDA #$85 + STA $1A + JSR L5828 + LDX $5C + LDA L8288,X + STA $0A + LDA L828C,X + STA $0D + LDA #$10 + STA $08 + LDA #$04 + STA $0E + LDA #$56 + STA $19 + LDA #$85 + STA $1A + JSR L5828 + JSR L640F + JSR L7E24 + JMP L6A49 + +L6B8A LDY #$A0 + LDX #$00 +L6B8E INX + BNE L6B8E + DEY + BNE L6B8E + RTS + +L6B95 BIT KBDSTROBE + LDA #$00 + STA $AE + STA $BA +L6B9E LDA KBD + BMI L6BB6 + JSR L694B + INC $AE + BNE L6B9E + LDA $BA + EOR #$01 + STA $BA + JSR L6BC1 + JMP L6B9E + +L6BB6 BIT KBDSTROBE + LDA $BA + BEQ L6BC0 + JSR L6BC1 +L6BC0 RTS + +L6BC1 LDY #$00 + STY $19 + LDA #$20 + STA $1A + STA $08 +L6BCB LDA ($19),Y + EOR #$FF + STA ($19),Y + INY + BNE L6BCB + INC $1A + DEC $08 + BNE L6BCB + RTS + +L6BDB LDA #$01 + STA $B7F4 + STA $B7EA + STA $B7E8 + LDA #$00 + BIT $B7EB + STA $AD + LDX $5C + LDA L7F83,X + STA $B7EC + LDA #$0F + STA $B7ED + LDA #$00 + STA $B7F0 + LDA #$20 + STA $B7F1 +L6C04 LDA #$B7 + LDY #$E8 + JSR $B7B5 + INC $B7F1 + DEC $B7ED + LDA $B7ED + CMP #$FF + BNE L6C20 + LDA #$0F + STA $B7ED + DEC $B7EC +L6C20 INC $AD + LDA $AD + CMP #$20 + BNE L6C04 + LDA #$01 + STA $B7F4 + STA $B7EA + STA $B7E8 + LDA #$00 + BIT $B7EB + LDX $5C ; LOGO: LEVEL + LDA L7F87,X + STA $B7EC + LDA #$0F + STA $B7ED + LDA #$00 + STA $B7F0 + LDA #$A7 + STA $B7F1 +L6C4F LDA #$B7 + LDY #$E8 + JSR $B7B5 + INC $B7F1 + DEC $B7ED + LDA $B7ED + CMP #$FF + BNE L6C4F + RTS + +L6C64 LDY $0A + LDA L871B,Y + CLC + ADC $0D + STA $19 + LDA L87DB,Y + STA $1A + LDA $0E + STA $09 + LDY #$00 +L6C79 LDA #$00 + STA ($19),Y + INY + DEC $09 + BNE L6C79 + INC $0A + DEC $08 + BNE L6C64 + RTS + +L6C89 LDX #$20 + STX $1A + LDY #$00 + STY $19 +L6C91 LDA #$00 + STA ($19),Y + INY + BNE L6C91 + INC $1A + DEX + BNE L6C91 + LDA #$00 + STA $AD +L6CA1 LDA #$10 + STA $19 + LDA #$19 + STA $1A + LDA #$06 + STA $0E + LDA #$20 + STA $08 + LDA #$1B + STA $0D + LDX $AD + LDA L8047,X + STA $0A + JSR L5828 + LDA $AD + LDX $AB + CMP L40F7,X + BEQ L6CCD + INC $AD + JMP L6CA1 + +L6CCD LDA #$00 + STA $AD +L6CD1 LDX $AD + LDA L8047,X + CLC + ADC #$18 + STA $0A + STA $56 + LDA #$16 + STA $0D + LDA L8035,X + BEQ L6CE9 + JSR L6DC1 +L6CE9 INC $0D + LDX $AD + LDA $56 + STA $0A + LDA L803B,X + JSR L6DC1 + INC $0D + LDX $AD + LDA $56 + STA $0A + LDA L8041,X + JSR L6DC1 + INC $0D + LDA $56 + STA $0A + LDA #$0A + JSR L6DC1 + LDA $AD + LDX $AB + CMP L40F7,X + BEQ L6D1E + INC $AD + JMP L6CD1 + +L6D1E LDA #$16 + STA $19 + LDA #$86 + STA $1A + LDA #$B8 + STA $0A + LDA #$00 + STA $0D + LDA #$06 + STA $0E + LDA #$07 + STA $08 + JSR L5828 + LDA #$40 + STA $19 + LDA #$86 + STA $1A + LDA #$B8 + STA $0A + LDA #$06 + STA $0D + LDA #$07 + STA $08 + JSR L5828 + LDA #$6A + STA $19 + LDA #$86 + STA $1A + LDA #$B8 + STA $0A + LDA #$0C + STA $0D + LDA #$07 + STA $08 + JSR L5828 + LDA #$94 + STA $19 + LDA #$86 + STA $1A + LDA #$B8 + STA $0A + LDA #$03 + STA $0E + LDA #$07 + STA $08 + LDA #$12 + STA $0D + JSR L5828 + JSR L6FF3 + JSR L7C02 + LDA L7DB1+2 + CMP #$C0 + BNE L6DB5 + LDA #$00 + STA $A9 +L6D93 LDX $A9 + LDA L8099,X + STA $00 + LDA L80A6,X + STA $01 + JSR L7DC4 + LDA #$01 + STA $00 + LDA #$04 + STA $01 + JSR L7DDF + INC $A9 + LDA $A9 + CMP #$0D + BNE L6D93 +L6DB5 LDA #$05 + STA $A4 +L6DB9 JSR L6B8A + DEC $A4 + BNE L6DB9 + RTS + +L6DC1 ASL + ASL + ASL + CLC + ADC #$96 + STA $19 + LDA #$85 + ADC #$00 + STA $1A + LDX #$08 +L6DD1 LDY $0A + LDA L871B,Y + CLC + ADC $0D + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 + LDA ($19),Y + STA ($1B),Y + INC $19 + BNE L6DEC + INC $1A +L6DEC INC $0A + DEX + BNE L6DD1 + RTS + +L6DF2 LDA $10 + BEQ L6DFC + LDA $11 + CMP #$0B + BEQ L6DFD +L6DFC RTS + +L6DFD LDA #$00 + STA $A5 + LDA $5C + BNE L6E0B + JSR L6E4F + JMP L6E12 + +L6E0B CMP #$03 + BNE L6E18 + JSR L6F56 +L6E12 JSR L6EF8 + JMP L6E1B + +L6E18 JSR L6EA6 +L6E1B LDA $A5 + CMP #$04 + BCC L6E23 + LDA #$03 +L6E23 TAX + LDA L804D,X + BEQ L6E4E + STA $0E + LDA $AB + ASL + ASL + ASL + TAX + LDA $0E + CLC + ADC L402B,X + STA L402B,X + LDA $05 + CLC + ADC #$18 + STA $0A + LDA $04 + STA $0D + JSR L70F7 + JSR L6FA1 + JSR L6FC6 +L6E4E RTS + +L6E4F LDX $AB + LDA L40F9,X + TAX + LDA L7FFF,X + STA $65 + LDA #$00 + STA $56 +L6E5E LDX $56 + CPX $65 + BEQ L6E70 + LDA L4043,X + CMP #$FF + BNE L6E71 +L6E6B INC $56 + JMP L6E5E +L6E70 RTS + +L6E71 LDA $05 + CLC + ADC #$0C + STA $0E + LDA L404D,X + CMP $0E + BCC L6E6B + LDA $0E + CLC + ADC #$0C + CMP L404D,X + BCC L6E6B + LDA $04 + SEC + SBC #$03 + STA $0E + LDY #$07 +L6E92 LDA L4043,X + CMP $0E + BEQ L6EA1 + INC $0E + DEY + BNE L6E92 + JMP L6E6B + +L6EA1 INC $A5 + JMP L6E6B + +L6EA6 LDX $5C + LDA L8165,X + STA $74 + LDA #$00 + STA $56 +L6EB1 LDX $56 + CPX $74 + BEQ L6EC3 + LDA L407A,X + CMP #$FF + BNE L6EC4 +L6EBE INC $56 + JMP L6EB1 +L6EC3 RTS + +L6EC4 LDA $05 + CLC + ADC #$0C + STA $0E + LDA L407F,X + CMP $0E + BCC L6EBE + LDA $0E + CLC + ADC #$0A + CMP L407F,X + BCC L6EBE + LDY #$03 + LDA $04 + STA $0E + DEC $0E +L6EE4 LDA L407A,X + CMP $0E + BEQ L6EF3 + INC $0E + DEY + BNE L6EE4 + JMP L6EBE + +L6EF3 INC $A5 + JMP L6EBE + +L6EF8 LDA #$01 + STA $76 + LDA $5C + BEQ L6F0B + LDX $AB + LDA L40F9,X + TAX + LDA L8169,X + STA $76 +L6F0B LDA #$00 + STA $56 +L6F0F LDX $56 + CPX $76 + BEQ L6F21 + LDA L40A2,X + CMP #$FF + BNE L6F22 +L6F1C INC $56 + JMP L6F0F +L6F21 RTS + +L6F22 LDA $05 + CLC + ADC #$0C + STA $0E + LDA L409D,X + CMP $0E + BCC L6F1C + LDA $0E + CLC + ADC #$0A + CMP L409D,X + BCC L6F1C + LDA $04 + STA $0E + DEC $0E + LDY #$03 +L6F42 LDA L40A2,X + CMP $0E + BEQ L6F51 + INC $0E + DEY + BNE L6F42 + JMP L6F1C + +L6F51 INC $A5 + JMP L6F1C + +L6F56 LDA #$00 + STA $56 +L6F5A LDX $56 + CPX #$05 + BEQ L6F6C + LDA L40C0,X + CMP #$FF + BNE L6F6D +L6F67 INC $56 + JMP L6F5A +L6F6C RTS + +L6F6D LDA $05 + CLC + ADC #$0C + STA $0E + LDA L40BB,X + CMP $0E + BCC L6F67 + LDA $0E + CLC + ADC #$0C + CMP L40BB,X + BCC L6F67 + LDA $04 + STA $0E + DEC $0E + LDY #$03 +L6F8D LDA L40C0,X + CMP $0E + BEQ L6F9C + INC $0E + DEY + BNE L6F8D + JMP L6F67 + +L6F9C INC $A5 + JMP L6F67 + +L6FA1 LDY #$00 + LDA $AB + ASL + ASL + ASL + TAX +L6FA9 LDA L4029,X + CMP #$0A + BCC L6FBF + SEC + SBC #$0A + STA L4029,X + CPY #$05 + BEQ L6FC5 + INX + INC L4029,X + DEX +L6FBF INX + INY + CPY #$06 + BNE L6FA9 +L6FC5 RTS + +L6FC6 LDA $AB + ASL + ASL + ASL + TAY + LDA L402D,Y + BNE L6FDB + LDA L402C,Y + CMP #$07 + BCS L6FDB + JMP L6FF0 + +L6FDB LDX $AB + LDA L40F3,X + BNE L6FF0 + INC L40F3,X + JSR L7A5F + LDX $AB + INC L40F1,X + JSR L7A5F +L6FF0 JSR L7C29 +L6FF3 LDA $AB + ASL + ASL + ASL + CLC + ADC #$05 + STA $56 + LDA #$05 + STA $5D + LDA #$00 + STA $0D +L7005 LDA #$00 + STA $0A + LDX $56 + LDA L4029,X + JSR L6DC1 + INC $0D + DEC $56 + DEC $5D + LDA $5D + CMP #$FF + BNE L7005 + RTS + +L701E LDA #$05 + STA $56 + LDA #$12 + STA $0D +L7026 LDA #$B4 + STA $0A + LDX $56 + LDA L40FD,X + JSR L6DC1 + INC $0D + DEC $56 + LDA $56 + CMP #$FF + BNE L7026 + RTS + +L703D LDA $B1 + BNE L7044 + JMP L70A8 + +L7044 LDA $AB + EOR #$01 + ASL + ASL + ASL + CLC + ADC #$05 + STA $56 + LDA #$05 + STA $5D + LDA #$22 + STA $0D +L7058 LDA #$B4 + STA $0A + LDX $56 + LDA L4029,X + JSR L6DC1 + INC $0D + DEC $56 + DEC $5D + LDA $5D + CMP #$FF + BNE L7058 + LDA #$1A + STA $0D + LDA #$B4 + STA $0A + LDA #$06 + STA $0E + LDA #$07 + STA $08 + LDA #$A9 + STA $19 + LDA #$86 + STA $1A + JSR L5828 + LDA #$B4 + STA $0A + LDA #$20 + STA $0D + LDA $AB + EOR #$01 + CLC + ADC #$01 + JSR L6DC1 + INC $0D + LDA #$B4 + STA $0A + LDA #$0F + JSR L6DC1 +L70A8 LDA #$0D + STA $0D + LDA #$B4 + STA $0A + LDA #$05 + STA $0E + LDA #$07 + STA $08 + LDA #$D3 + STA $19 + LDA #$86 + STA $1A + JSR L5828 + RTS + +L70C4 ASL + ASL + ASL + CLC + ADC #$96 + STA $19 + LDA #$85 + ADC #$00 + STA $1A + LDX #$08 +L70D4 LDY $0A + LDA L871B,Y + CLC + ADC $0D + STA $1B + LDA L87DB,Y + STA $1C + LDY #$00 + LDA ($19),Y + EOR ($1B),Y + STA ($1B),Y + INC $19 + BNE L70F1 + INC $1A +L70F1 INC $0A + DEX + BNE L70D4 + RTS + +L70F7 LDX #$00 +L70F9 LDA L40E7,X + BNE L7122 + LDA $0D + CMP #$FF + BNE L7109 + LDA #$00 + JMP L710F + +L7109 CMP #$26 + BCC L710F + LDA #$25 +L710F STA L40E7,X + LDA $0A + STA L40E9,X + LDA #$14 + STA L40EB,X + LDA $0E + STA L40ED,X + RTS + +L7122 INX + CPX #$02 + BNE L70F9 + RTS + +L7128 LDX #$00 +L712A LDA L40EB,X + BEQ L7170 + DEC L40EB,X + LDA L40EB,X + CMP #$13 + BNE L7143 + STX $A4 + JSR L7176 + LDX $A4 + JMP L7153 + +L7143 CMP #$00 + BNE L7153 + STX $A4 + JSR L7176 + LDX $A4 + LDA #$00 + STA L40E7,X +L7153 LDA L40EB,X + AND #$03 + BNE L7170 + STX $A4 + LDA L40EB,X + LSR + LSR + TAX + LDA L8072,X + STA $00 + LDA #$04 + STA $01 + JSR L7DC4 + LDX $A4 +L7170 INX + CPX #$02 + BNE L712A + RTS + +L7176 LDA L40E9,X + STA $0A + LDA L40E7,X + STA $0D + LDA L40ED,X + JSR L70C4 + LDX $A4 + INC $0D + LDA L40E9,X + STA $0A + LDA #$00 + JSR L70C4 + LDX $A4 + INC $0D + LDA L40E9,X + STA $0A + LDA #$00 + JSR L70C4 + RTS + +L71A3 INC $A8 + LDA $A8 + CMP #$2D + BEQ L71AC + RTS + +L71AC LDA #$00 + STA $A8 + LDA $A7 + BEQ L71B9 + DEC $A7 + JMP L71C3 + +L71B9 LDA $A6 + BEQ L71C6 + LDA #$09 + STA $A7 + DEC $A6 +L71C3 JMP L71CB + +L71C6 PLA + PLA + JMP L720B + +L71CB LDA #$22 + STA $0D + LDA #$0D + STA $0A + LDA $A6 + JSR L6DC1 + INC $0D + LDA #$0D + STA $0A + LDA $A7 + JSR L6DC1 + INC $0D + LDA #$0D + STA $0A + LDA #$00 + JSR L6DC1 + INC $0D + LDA #$0D + STA $0A + LDA #$00 + JSR L6DC1 + LDA $A6 + BNE L720A + LDA #$06 + STA $01 + LDA #$50 + STA $00 + JSR L7DC4 + INC $B9 +L720A RTS + +L720B LDA $AA + BEQ L7212 + JMP L44C4 + +L7212 LDA $9F + STA $08 + LDA $58 + STA $0E + LDA $04 + STA $0D + LDA $05 + STA $0A + LDA $1D + STA $19 + LDA $1E + STA $1A + JSR L5828 + LDA $57 + BEQ L7238 + LDA $05 + CLC + ADC #$04 + STA $05 +L7238 LDA #$00 + STA $AD + STA $56 + STA $AE +L7240 JSR L72E1 + LDX #$00 + LDY #$0A +L7247 DEX + BNE L7247 + DEY + BNE L7247 + LDX $AE + LDA L8077,X + STA $00 + LDA #$14 + STA $01 + JSR L7DC4 + INC $AE + JSR L72E1 + INC $AD + LDA $AD + CMP #$04 + BNE L7240 + LDA #$00 + STA $AD + INC $56 + LDA $56 + CMP #$03 + BNE L7240 + LDA #$04 + STA $AD + JSR L72E1 + LDA #$00 + STA $AE +L727F LDX $AE + LDA L8084,X + STA $00 + LDA L8088,X + STA $01 + JSR L7DC4 + INC $AE + LDA $AE + CMP #$04 + BNE L727F + JSR L6B8A + LDX $AB + DEC L40F1,X + LDA #$00 + STA $AE +L72A2 LDX $AB + LDA L40F1,X + CMP #$FE + BEQ L72BD + INC $AC + CMP #$FF + BNE L72BF + DEC L40F1,X + LDA #$5A + JSR L7B2E + LDA $B1 + BEQ L72DB +L72BD INC $AE +L72BF LDA $AE + CMP #$02 + BEQ L72DB + LDA $B1 + BEQ L72CF + LDA $AB + EOR #$01 + STA $AB +L72CF LDX $AB + LDA L40F1,X + CMP #$FE + BCC L72DE + JMP L72A2 +L72DB JMP L7C56 +L72DE JMP L4184 + +L72E1 LDX $AD + LDA L7FB7,X + CLC + ADC #$00 + STA $19 + LDA #$00 + ADC #$1F + STA $1A + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA $05 + STA $0A + LDA $04 + STA $0D + AND #$01 + BEQ L7307 + INC $0D +L7307 JSR L5828 + RTS + +L730B LDA $57 + BEQ L7312 + JMP L75A3 + +L7312 LDA $AA + BEQ L7317 + RTS + +L7317 LDA #$00 + STA $A5 + LDA $5C + BNE L7328 + JSR L7352 + JSR L74D4 + JMP L732F + +L7328 CMP #$03 + BNE L7335 + JSR L73D6 +L732F JSR L740F + JMP L7342 + +L7335 CMP #$02 + BNE L733F + JSR L745B + JSR L7537 +L733F JSR L7494 +L7342 JSR L7506 + JSR L757A + LDA $A5 + BEQ L7351 + PLA + PLA + JMP L720B +L7351 RTS + +L7352 LDX $AB + LDA L40F9,X + TAX + LDA L7FFF,X + STA $65 + JSR L7396 +L7360 LDX $56 + CPX $65 + BEQ L7372 + LDA L4043,X + CMP #$FF + BNE L7373 +L736D INC $56 + JMP L7360 +L7372 RTS + +L7373 LDA L404D,X + CMP $0E + BCC L736D + CMP $AD + BCS L736D + LDA L4043,X + STA $A4 + LDY #$03 +L7385 LDA $A4 + CMP $0D + BEQ L7393 + INC $A4 + DEY + BNE L7385 + JMP L736D + +L7393 INC $A5 + RTS + +L7396 LDA #$00 + STA $56 + LDA $04 + STA $0D + INC $0D + LDX $10 + LDA $05 + SEC + SBC L7FF3,X + BCS L73AC + LDA #$00 +L73AC STA $0E + LDA $05 + CLC + ADC #$0C + STA $AD + RTS + +L73B6 LDA #$00 + STA $56 + LDA $04 + STA $0D + INC $0D + LDX $10 + LDA $05 + SEC + SBC L7FF5,X + BCS L73CC + LDA #$00 +L73CC STA $0E + LDA $05 + CLC + ADC #$0C + STA $AD + RTS + +L73D6 JSR L7396 +L73D9 LDX $56 + CPX #$05 + BEQ L73EB + LDA L40C0,X + CMP #$FF + BNE L73EC +L73E6 INC $56 + JMP L73D9 +L73EB RTS + +L73EC LDA L40BB,X + CMP $0E + BCC L73E6 + CMP $AD + BCS L73E6 + LDA L40C0,X + STA $A4 + LDY #$04 +L73FE LDA $A4 + CMP $0D + BEQ L740C + INC $A4 + DEY + BNE L73FE + JMP L73E6 + +L740C INC $A5 + RTS + +L740F JSR L73B6 + LDA #$02 + STA $76 + LDA $5C + BEQ L7425 + LDX $AB + LDA L40F9,X + TAX + LDA L8169,X + STA $76 +L7425 LDX $56 + CPX $76 + BEQ L7437 + LDA L40A2,X + CMP #$FF + BNE L7438 +L7432 INC $56 + JMP L7425 +L7437 RTS + +L7438 LDA L409D,X + CMP $0E + BCC L7432 + CMP $AD + BCS L7432 + LDA L40A2,X + STA $A4 + LDY #$03 +L744A LDA $A4 + CMP $0D + BEQ L7458 + INC $A4 + DEY + BNE L744A + JMP L7432 + +L7458 INC $A5 + RTS + +L745B JSR L73B6 +L745E LDX $56 + CPX #$03 + BEQ L7470 + LDA L4003,X + CMP #$FF + BNE L7471 +L746B INC $56 + JMP L745E +L7470 RTS + +L7471 LDA L4006,X + CMP $0E + BCC L746B + CMP $AD + BCS L746B + LDA L4003,X + STA $A4 + LDY #$03 +L7483 LDA $A4 + CMP $0D + BEQ L7491 + INC $A4 + DEY + BNE L7483 + JMP L746B + +L7491 INC $A5 + RTS + +L7494 LDX $5C + LDA L8165,X + STA $74 + JSR L73B6 +L749E LDX $56 + CPX $74 + BEQ L74B0 + LDA L407A,X + CMP #$FF + BNE L74B1 +L74AB INC $56 + JMP L749E +L74B0 RTS + +L74B1 LDA L407F,X + CMP $0E + BCC L74AB + CMP $AD + BCS L74AB + LDA L407A,X + STA $A4 + LDY #$03 +L74C3 LDA $A4 + CMP $0D + BEQ L74D1 + INC $A4 + DEY + BNE L74C3 + JMP L74AB + +L74D1 INC $A5 + RTS + +L74D4 JSR L7396 + LDX $56 + CPX $8E + BEQ L74E4 + LDA $90 + CMP #$FF + BNE L74E5 +L74E3 RTS +L74E4 RTS + +L74E5 LDA $8F + CMP $0E + BCC L74E3 + CMP $AD + BCS L74E3 + LDA $90 + STA $A4 + LDY #$03 +L74F5 LDA $A4 + CMP $0D + BEQ L7503 + INC $A4 + DEY + BNE L74F5 + JMP L74E3 + +L7503 INC $A5 + RTS + +L7506 JSR L7396 + LDA $05 + SEC + SBC #$1B + BCS L7512 + LDA #$00 +L7512 STA $0E + JMP L7518 +L7517 RTS + +L7518 LDA $99 + CMP $0E + BCC L7517 + CMP $AD + BCS L7517 + LDA $98 + STA $A4 + LDY #$06 +L7528 LDA $A4 + CMP $0D + BEQ L7534 + INC $A4 + DEY + BNE L7528 + RTS + +L7534 INC $A5 + RTS + +L7537 JSR L7396 + LDA $0E + CLC + ADC #$05 + STA $0E + LDA $AD + CLC + ADC #$03 + STA $AD +L7548 LDX $56 + CPX #$04 + BEQ L7556 + JMP L7557 + +L7551 INC $56 + JMP L7548 +L7556 RTS + +L7557 LDA L8280,X + CMP $0E + BCC L7551 + CMP $AD + BCS L7551 + LDA L8284,X + STA $A4 + LDY #$03 +L7569 LDA $A4 + CMP $0D + BEQ L7577 + INC $A4 + DEY + BNE L7569 + JMP L7551 + +L7577 INC $A5 + RTS + +L757A LDX $5C + LDA L7FE8,X + CMP #$FF + BEQ L759B + CMP $04 + BNE L759B +L7587 LDA L7FEC,X + SEC + SBC #$0F + CMP $05 + BCS L75A2 + CLC + ADC #$16 + CMP $05 + BCC L75A2 + INC $A5 + RTS + +L759B SEC + SBC #$01 + CMP $04 + BEQ L7587 +L75A2 RTS + +L75A3 LDA #$00 + STA $A5 + STA $BC + LDA $5C + BNE L75C4 + JSR L763D + LDA $05 + CLC + ADC #$04 + STA $05 + JSR L74D4 + LDA $05 + SEC + SBC #$04 + STA $05 + JMP L75CB + +L75C4 CMP #$03 + BNE L75D1 + JSR L7710 +L75CB JSR L77BC + JMP L75D4 + +L75D1 JSR L7885 +L75D4 LDA $A5 + BEQ L75DD + PLA + PLA + JMP L720B +L75DD RTS + +L75DE LDA #$00 + STA $59 + LDA $04 + STA $0D + INC $0D + LDX #$00 + LDA $5A + CMP #$05 + BCC L75F1 + INX +L75F1 LDA $05 + SEC + SBC L8068,X + BCS L75FB + LDA #$00 +L75FB STA $0E + LDA $05 + STA $AD + INC $AD + LDA $05 + CLC + ADC #$14 + STA $56 + RTS + +L760B LDA #$00 + STA $59 + LDA $04 + STA $0D + INC $0D + LDX #$00 + LDA $5A + CMP #$05 + BCC L761E + INX +L761E LDA $05 + SEC + SBC L806A,X + BCS L7628 + LDA #$00 +L7628 STA $0E + LDA $05 + SEC + SBC #$06 + BCS L7633 + LDA #$00 +L7633 STA $AD + LDA $05 + CLC + ADC #$14 + STA $56 + RTS + +L763D LDX $AB + LDA L40F9,X + TAX + LDA L7FFF,X + STA $65 + JSR L75DE +L764B LDX $59 + CPX $65 + BEQ L765D + LDA L4043,X + CMP #$FF + BNE L765E +L7658 INC $59 + JMP L764B +L765D RTS + +L765E LDA L404D,X + CMP $0E + BCC L7658 + CMP $56 + BCS L7658 + LDA L4043,X + STA $A4 + LDY #$03 +L7670 LDA $A4 + CMP $0D + BEQ L767E + INC $A4 + DEY + BNE L7670 + JMP L768C + +L767E LDA $07 + BEQ L76B3 + LDA L404D,X + CMP $AD + BCC L76B3 + INC $A5 + RTS + +L768C LDA L4043,X + STA $A4 + INC $0D + LDY #$03 +L7695 LDA $A4 + CMP $0D + BEQ L76A3 + INC $A4 + DEY + BNE L7695 + JMP L7658 + +L76A3 LDA $07 + CMP #$01 + BEQ L76B3 + LDA L404D,X + CMP $AD + BCC L76B3 + INC $A5 + RTS + +L76B3 LDA L404D,X + STA $0A + LDA L4043,X + STA $0D + AND #$01 + BNE L76CD + LDA L4039,X + CMP #$04 + BCC L76D6 + INC $BC + JMP L76D6 + +L76CD LDA L4039,X + CMP #$04 + BCS L76D6 + INC $BC +L76D6 LDA #$08 + STA $08 + LDA #$03 + STA $0E + LDA L4039,X + TAX + LDA L7FD2,X + CLC + ADC #$20 + STA $19 + LDA #$00 + ADC #$AB + STA $1A + JSR L5828 + LDX $59 + LDA L404D,X + SEC + SBC #$02 + STA $A4 + LDA L4043,X + STA $A9 + LDA #$FF + STA L4043,X + STA L4039,X + DEC $60 + JSR L7946 + RTS + +L7710 JSR L75DE +L7713 LDX $59 + CPX #$05 + BEQ L7725 + LDA L40C0,X + CMP #$FF + BNE L7726 +L7720 INC $59 + JMP L7713 +L7725 RTS + +L7726 LDA L40BB,X + CMP $0E + BCC L7720 + CMP $56 + BCS L7720 + LDA L40C0,X + STA $A4 + LDY #$04 +L7738 LDA $A4 + CMP $0D + BEQ L7746 + INC $A4 + DEY + BNE L7738 + JMP L7754 + +L7746 LDA $07 + BEQ L777B + LDA L40BB,X + CMP $AD + BCC L777B + INC $A5 + RTS + +L7754 LDA L40C0,X + STA $A4 + INC $0D + LDY #$04 +L775D LDA $A4 + CMP $0D + BEQ L776B + INC $A4 + DEY + BNE L775D + JMP L7720 + +L776B LDA $07 + CMP #$01 + BEQ L777B + LDA L40BB,X + CMP $AD + BCC L777B + INC $A5 + RTS + +L777B LDA L40BB,X + STA $0A + LDA L40C0,X + STA $0D + LDA #$08 + STA $08 + LDA #$04 + STA $0E + LDA L40C5,X + TAX + LDA L7FD9,X + STA $19 + LDA #$AA + STA $1A + JSR L5828 + LDX $59 + LDA L40BB,X + SEC + SBC #$02 + STA $A4 + LDA L40C0,X + STA $A9 + LDA #$FF + STA L40C0,X + STA L40C5,X + DEC $88 + INC $BC + JSR L7946 + RTS + +L77BC JSR L760B + LDA #$02 + STA $76 + LDA $5C + BEQ L77D2 + LDX $AB + LDA L40F9,X + TAX + LDA L8169,X + STA $76 +L77D2 LDX $59 + CPX $76 + BEQ L77E4 + LDA L40A2,X + CMP #$FF + BNE L77E5 +L77DF INC $59 + JMP L77D2 +L77E4 RTS + +L77E5 LDA L409D,X + CMP $0E + BCC L77DF + CMP $56 + BCS L77DF + LDA L40A2,X + STA $A4 + LDY #$03 +L77F7 LDA $A4 + CMP $0D + BEQ L7805 + INC $A4 + DEY + BNE L77F7 + JMP L7813 + +L7805 LDA $07 + BEQ L783A + LDA L409D,X + CMP $AD + BCC L783A + INC $A5 + RTS + +L7813 LDA L40A2,X + STA $A4 + INC $0D + LDY #$03 +L781C LDA $A4 + CMP $0D + BEQ L782A + INC $A4 + DEY + BNE L781C + JMP L77DF + +L782A LDA $07 + CMP #$01 + BEQ L783A + LDA L409D,X + CMP $AD + BCC L783A + INC $A5 + RTS + +L783A LDA L409D,X + STA $0A + LDA L40A2,X + STA $0D + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA L4098,X + TAY + LDA L40A7,X + TAX + LDA L7FA9,X + CLC + ADC L81AF,Y + STA $19 + LDA L81B1,Y + ADC L7FB0,X + STA $1A + JSR L5828 + LDX $59 + LDA L409D,X + CLC + ADC #$03 + STA $A4 + LDA L40A2,X + STA $A9 + LDA #$FF + STA L40A2,X + STA L40A7,X + DEC $77 + JSR L7946 + RTS + +L7885 JSR L760B +L7888 LDX $59 + CPX #$05 + BEQ L789A + LDA L407A,X + CMP #$FF + BNE L789B +L7895 INC $59 + JMP L7888 +L789A RTS + +L789B LDA L407F,X + CMP $0E + BCC L7895 + CMP $56 + BCS L7895 + LDA L407A,X + STA $A4 + LDY #$03 +L78AD LDA $A4 + CMP $0D + BEQ L78BB + INC $A4 + DEY + BNE L78AD + JMP L78C9 + +L78BB LDA $07 + BEQ L78F0 + LDA L407F,X + CMP $AD + BCC L78F0 + INC $A5 + RTS + +L78C9 LDA L407A,X + STA $A4 + INC $0D + LDY #$03 +L78D2 LDA $A4 + CMP $0D + BEQ L78E0 + INC $A4 + DEY + BNE L78D2 + JMP L7895 + +L78E0 LDA $07 + CMP #$01 + BEQ L78F0 + LDA L407F,X + CMP $AD + BCC L78F0 + INC $A5 + RTS + +L78F0 LDA L407F,X + STA $0A + LDA L407A,X + STA $0D + LDA #$10 + STA $08 + LDA #$03 + STA $0E + LDA L4075,X + TAX + LDA L7FA9,X + CLC + ADC #$00 + STA $19 + LDA #$AB + ADC #$00 + STA $1A + LDY $59 + LDA L4089,Y + CLC + ADC $1A + CLC + ADC L4089,Y + CLC + ADC L7FB0,X + STA $1A + JSR L5828 + LDX $59 + LDA L407F,X + CLC + ADC #$03 + STA $A4 + LDA L407A,X + STA $A9 + LDA #$FF + STA L407A,X + STA L4075,X + DEC $75 + JSR L7946 + RTS + +L7946 LDA #$00 + STA $AD +L794A JSR L79D5 + JSR L6956 + LDX $AD + LDA L808C,X + STA $00 + LDA #$08 + STA $01 + JSR L7DC4 + JSR L79D5 + INC $AD + LDA $AD + CMP #$05 + BNE L794A + LDA $A4 + STA $0A + LDA $A9 + STA $0D + LDA $07 + BNE L797A + DEC $0D + JMP L797C + +L797A INC $0D +L797C LDA #$03 + STA $0E + STA $BA + LDA $BC + BEQ L799A + LDA $5F + CLC + ADC $6C + CLC + ADC $6D + STA $6C + AND #$03 + TAX + LDA L7FFB,X + STA $0E + STA $BA +L799A JSR L70F7 + JSR L7128 + LDA $AB + ASL + ASL + ASL + TAX + LDA L402B,X + CLC + ADC $BA + STA L402B,X + JSR L6FA1 + JSR L6FC6 + JSR L6B8A + LDA L40EB + CMP #$13 + BNE L79C4 + LDA #$01 + STA L40EB +L79C4 LDA L40EC + CMP #$13 + BNE L79D0 + LDA #$01 + STA L40EC +L79D0 LDA #$00 + STA $BC + RTS + +L79D5 LDA $A9 + AND #$01 + BNE L79EE + LDX $AD + LDA L7FCD,X + CLC + ADC #$CB + STA $19 + LDA #$8A + ADC #$00 + STA $1A + JMP L79FE + +L79EE LDX $AD + LDA L7FCD,X + CLC + ADC #$61 + STA $19 + LDA #$8B + ADC #$00 + STA $1A +L79FE LDA #$03 + STA $0E + LDA #$0A + STA $08 + LDA $A4 + STA $0A + LDA $A9 + STA $0D + JSR L5828 + RTS + +L7A12 LDA #$00 + STA $A9 + LDA #$23 + STA $0D +L7A1A LDX $A9 + LDA #$1C + STA $0A + LDA L8057,X + JSR L6DC1 + INC $0D + INC $A9 + LDA $A9 + CMP #$02 + BNE L7A1A + LDA #$1C + STA $0A + LDA #$00 + STA $0E + LDX $AB + LDA L40FB,X + CLC + ADC #$01 +L7A40 CMP #$0A + BCC L7A4C + SEC + SBC #$0A + INC $0E + JMP L7A40 + +L7A4C STA $BF + LDA $0E + JSR L6DC1 + INC $0D + LDA #$1C + STA $0A + LDA $BF + JSR L6DC1 + RTS + +L7A5F LDX $AB + LDA L40F1,X + CMP #$07 + BCC L7A6A + LDA #$06 +L7A6A STA $A9 + LDA #$00 + STA $0D +L7A70 LDA $A9 + BEQ L7A94 + DEC $A9 + LDA #$B4 + STA $0A + LDA #$01 + STA $0E + LDA #$0B + STA $08 + LDA #$F6 + STA $19 + LDA #$86 + STA $1A + JSR L5828 + INC $0D + INC $0D + JMP L7A70 +L7A94 RTS + +L7A95 LDA KBD + BPL L7AA1 + CMP #$9B ; escape + BNE L7AA4 + JSR L6B95 +L7AA1 JMP L7B28 + +L7AA4 CMP #$92 ; ctrl-r + BNE L7AB0 + PLA + PLA + BIT KBDSTROBE + JMP L7C56 + +L7AB0 CMP #$93 ; ctrl-s + BNE L7ACB + LDA L7DB1+2 + EOR #$E0 ; 1100_0000 eor 1110_0000 = 0010_0000 => $C030 => $2030 + STA L7DB1+2 + STA L7DCC+2 + STA L7E41+2 + STA L7E92+2 + STA L7E49+2 + JMP L7B28 + +L7ACB CMP #$8A ; down + BNE L7AD6 + LDA #$00 + STA $B8 + JMP L7B28 + +L7AD6 CMP #$8B ; up + BNE L7AE1 + LDA #$01 + STA $B8 + JMP L7B28 + +L7AE1 STA $0E + LDA $B8 + BEQ L7B28 + LDA $0E + CMP #$88 ; left arrow + BNE L7AF4 + LDA #$01 + STA $B5 + JMP L7B28 + +L7AF4 CMP #$95 ; right arrow + BNE L7AFF + LDA #$02 + STA $B5 + JMP L7B28 + +L7AFF CMP #"A" ; A + BNE L7B0E + LDA #$01 + STA $B6 + LDA #$00 + STA $B5 + JMP L7B28 + +L7B0E CMP #"Z" ; Z + BNE L7B1D + LDA #$02 + STA $B6 + LDA #$00 + STA $B5 + JMP L7B28 + +L7B1D CMP #" " ; space + BNE L7B28 + LDA #$01 + STA $B7 + JMP L7B28 + +L7B28 BIT KBDSTROBE + RTS + + LDA #$50 +L7B2E STA $0A + STA $A9 + LDA #$06 + STA $0E + LDA #$18 + STA $08 + LDA #$0E + STA $0D + LDA #$F7 + STA $19 + LDA #$8B + STA $1A + JSR L7B75 + LDA $A9 + STA $0A + LDA #$18 + STA $08 + LDA #$14 + STA $0D + LDA #$87 + STA $19 + LDA #$8C + STA $1A + JSR L7B75 + LDA #$14 + STA $5D +L7B64 JSR L6B8A + DEC $5D + BNE L7B64 + LDA $A9 + CMP #$5A + BEQ L7B74 + JMP L7C56 +L7B74 RTS + +L7B75 LDY $0A + JSR L5847 + LDX #$00 +L7B7C LDA ($19,X) + STA ($1B),Y + INC $19 + BNE L7B86 + INC $1A +L7B86 INY + DEC $09 + BNE L7B7C + INC $0A + DEC $08 + BNE L7B75 + RTS + +L7B92 LDA #$00 + STA $AD + LDA $AC + BEQ L7BEF + LDA #$00 + STA $AC + LDY #$00 + STY $19 + LDA #$20 ; LOGO: HGR + STA $1A + LDA $B1 + BEQ L7BE4 +L7BAA LDA #$00 + STA ($19),Y + INY + BNE L7BAA + INC $1A + LDA $1A + CMP #$40 + BNE L7BAA + LDA #$10 + STA $0D + LDA #$50 + STA $0A + LDA #$06 + STA $0E + LDA #$07 + STA $08 + LDA #$A9 + STA $19 + LDA #$86 + STA $1A + JSR L5828 + LDA #$17 + STA $0D + LDA #$50 + STA $0A + LDA $AB + CLC + ADC #$01 + JSR L6DC1 +L7BE4 LDA $AD + BNE L7BFE + LDA $B1 + BEQ L7BEF + JSR L7BF2 +L7BEF JMP L6C89 + +L7BF2 LDA #$08 + STA $A9 +L7BF6 JSR L6B8A + DEC $A9 + BNE L7BF6 + RTS +L7BFE RTS + +L7BFF JSR L703D +L7C02 LDA #$07 + STA $0D + LDA #$00 + STA $0A + LDA $AB + CLC + ADC #$01 + JSR L6DC1 + INC $0D + LDA #$00 + STA $0A + LDA #$0D + JSR L6DC1 + LDA #$00 + STA $0A + INC $0D + LDA #$0E + JSR L6DC1 + RTS + +L7C29 LDA $AB + ASL + ASL + ASL + CLC + ADC #$05 + TAX + LDY #$05 +L7C34 LDA L40FD,Y + CMP L4029,X + BEQ L7C3F + BCC L7C46 + RTS + +L7C3F DEX + DEY + CPY #$FF + BNE L7C34 + RTS + +L7C46 LDA L4029,X + STA L40FD,Y + DEX + DEY + CPY #$FF + BNE L7C46 + JSR L701E + RTS + +L7C56 BIT TXTSET +L7C59 LDA #$01 + STA $B7F4 + STA $B7EA + STA $B7E8 + LDA #$00 + BIT $B7EB + STA $AD + LDA #$10 + STA $B7EC + LDA #$0F + STA $B7ED + LDA #$00 + STA $B7F0 + LDA #$20 + STA $B7F1 +L7C7F LDA #$B7 + LDY #$E8 + JSR $B7B5 + INC $B7F1 + DEC $B7ED + LDA $B7ED + CMP #$FF + BNE L7C9B + LDA #$0F + STA $B7ED + DEC $B7EC +L7C9B INC $AD + LDA $AD + CMP #$20 + BNE L7C7F + BIT TXTCLR + BIT MIXCLR + BIT HIRES + LDA #$00 + STA $A9 + BIT KBDSTROBE + JSR L7D28 + LDA #$00 + STA $BA + STA $B8 + LDA BUTN0 + BPL L7CCA + LDA BUTN1 + BPL L7CCA + INC $BA + INC $B8 +L7CCA LDA KBD + BPL L7CE6 + BIT KBDSTROBE + CMP #"1" + BEQ L7D14 + CMP #"2" + BEQ L7D1E + CMP #"N" + BEQ L7CF7 + CMP #"H" + BEQ L7CFF + CMP #"E" + BEQ L7D07 +L7CE6 LDA $BA + BNE L7CCA + LDA BUTN0 + BMI L7D14 + LDA BUTN1 + BMI L7D1E + JMP L7CCA + +L7CF7 JSR L7D28 + LDA #$00 + JMP L7D0C + +L7CFF JSR L7D28 + LDA #$01 + JMP L7D0C + +L7D07 JSR L7D28 + LDA #$02 +L7D0C STA $A9 + JSR L7D28 + JMP L7CCA + +L7D14 LDA #$00 + STA $B1 + BIT KBDSTROBE + JMP L413C + +L7D1E LDA #$01 + STA $B1 + BIT KBDSTROBE + JMP L413C + +L7D28 LDA #$08 + STA $0D + LDA #$0B + STA $08 + LDA #$01 + STA $0E + LDX $A9 + LDA L8060,X + STA $0A + LDA #$F6 + STA $19 + LDA #$86 + STA $1A + JSR L5828 + RTS + +L7D47 LDA #$00 + STA $A9 +L7D4B LDX $A9 + LDA $B2 + STA $0A + LDA L8063,X + STA $0D + LDA #$03 + STA $0E + LDA #$E6 + STA $19 + LDA #$84 + STA $1A + LDA #$0B + STA $08 + JSR L5828 + INC $A9 + LDA $A9 + CMP #$02 + BNE L7D4B + RTS + +L7D72 JSR L7D47 + LDA $B3 + BNE L7D8A + INC $B2 + LDA $B2 + CMP #$4C + BCC L7D92 +L7D81 LDA $B3 + EOR #$01 + STA $B3 + JMP L7D92 + +L7D8A DEC $B2 + LDA $B2 + CMP #$42 + BCC L7D81 +L7D92 JSR L7D47 + RTS + +L7D96 LDA #$00 + STA $0E + JMP L7D9F + +L7D9D INC $0E +L7D9F LDX $0E + CPX #$05 + BEQ L7DC3 + LDA L806C,X + STA $00 + TAX + LDY #$00 + LDA #$02 + STA $01 +L7DB1 LDA SPKR +L7DB4 DEY + BNE L7DBB + DEC $01 + BEQ L7D9D +L7DBB DEX + BNE L7DB4 + LDX $00 + JMP L7DB1 +L7DC3 RTS + +L7DC4 LDX $00 + CPX #$01 + BEQ L7DDF + LDY #$00 +L7DCC LDA SPKR +L7DCF DEY + BNE L7DD6 + DEC $01 + BEQ L7DDE +L7DD6 DEX + BNE L7DCF + LDX $00 + JMP L7DCC +L7DDE RTS + +L7DDF LDX #$01 + LDY #$00 +L7DE3 LDA L2000 +L7DE6 DEY + BNE L7DED + DEC $01 + BEQ L7DF5 +L7DED DEX + BNE L7DE6 + LDX $00 + JMP L7DE3 +L7DF5 RTS + +L7DF6 LDA #$00 + STA $0E + JMP L7DFF + +L7DFD INC $0E +L7DFF LDX $0E + CPX #$05 + BEQ L7E23 + LDA L806C,X + STA $00 + TAX + LDY #$00 + LDA #$02 + STA $01 +L7E11 LDA L2000 +L7E14 DEY + BNE L7E1B + DEC $01 + BEQ L7DFD +L7E1B DEX + BNE L7E14 + LDX $00 + JMP L7E11 +L7E23 RTS + +L7E24 JSR L7E5B + JSR L694B + JSR L7E5B + JSR L6B8A + JSR L6B8A + JSR L7E3D + JSR L6B8A + JSR L7E3D + RTS + +L7E3D LDA #$16 + STA $0E +L7E41 LDA SPKR + LDX #$70 +L7E46 DEX + BNE L7E46 +L7E49 LDA SPKR + LDX #$00 + LDY #$12 +L7E50 DEX + BNE L7E50 + DEY + BNE L7E50 + DEC $0E + BNE L7E41 + RTS + +L7E5B LDA #$00 + STA $A9 +L7E5F LDX $A9 + LDA L8091,X + STA $00 + LDA L8095,X + STA $01 + JSR L7DC4 + INC $A9 + LDA $A9 + CMP #$04 + BNE L7E5F + RTS + +L7E77 LDA #$00 + STA $0E + JMP L7E80 + +L7E7E INC $0E +L7E80 LDX $0E + CPX #$04 + BEQ L7EA4 + LDA L80DD,X + STA $00 + TAX + LDY #$00 + LDA #$02 + STA $01 +L7E92 LDA SPKR +L7E95 DEY + BNE L7E9C + DEC $01 + BEQ L7E7E +L7E9C DEX + BNE L7E95 + LDX $00 + JMP L7E92 +L7EA4 RTS + +*----------------------- + + PUT DONKEY.DATA.S diff --git a/donkey/DONKEY.DATA.S b/donkey/DONKEY.DATA.S new file mode 100644 index 0000000..8996868 --- /dev/null +++ b/donkey/DONKEY.DATA.S @@ -0,0 +1,8196 @@ +* +* Donkey Kong +* +* (c) 1982, Nintendo +* (c) 1984, Atari +* (s) 2020, Antoine Vignau +* + +*----------------------- + + MX %11 + LST OFF + +*----------------------- + +L7EA5 DB $00 + DB $FF + DB $1C + DB $2C + DB $3B + DB $37 + DB $4B + DB $5B + DB $57 + DB $8F + DB $7C + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $25 + DB $25 + DB $25 + DB $25 + DB $43 + DB $43 + DB $43 + DB $61 + DB $61 + DB $61 + DB $61 + DB $7F + DB $7F + DB $7F + DB $FF + DB $FF + DB $FF + DB $00 + DB $1A + DB $28 + DB $38 + DB $43 + DB $63 + DB $3D + DB $3D + DB $73 + DB $3D + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $2B + DB $2B + DB $47 + DB $47 + DB $47 + DB $47 + DB $63 + DB $63 + DB $80 + DB $80 + DB $80 + DB $80 + DB $FF + DB $FF + DB $FF + DB $FF +L7EE5 DB $18 + DB $18 + DB $33 + DB $3A + DB $51 + DB $55 + DB $58 + DB $73 + DB $76 + DB $9E + DB $96 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $43 + DB $43 + DB $43 + DB $43 + DB $61 + DB $61 + DB $61 + DB $7F + DB $7F + DB $7F + DB $7F + DB $9D + DB $9D + DB $9D + DB $FF + DB $FF + DB $1A + DB $1A + DB $34 + DB $43 + DB $4F + DB $5A + DB $7E + DB $80 + DB $80 + DB $92 + DB $73 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $47 + DB $47 + DB $63 + DB $63 + DB $63 + DB $63 + DB $80 + DB $80 + DB $9D + DB $9D + DB $9D + DB $9D + DB $FF + DB $FF + DB $FF + DB $FF +L7F25 DB $41 + DB $2C + DB $FF + DB $6A +L7F29 DB $57 + DB $42 + DB $FF + DB $80 +L7F2D DB $60 + DB $4B + DB $FF + DB $4E +L7F31 DB $76 + DB $61 + DB $FF + DB $6C +L7F35 DB $22 + DB $02 + DB $FF + DB $00 +L7F39 DB $00 + DB $12 + DB $FF + DB $14 +L7F3D DB $0D + DB $FF + DB $05 + DB $1B + DB $21 + DB $13 + DB $0B + DB $03 + DB $0D + DB $0B + DB $21 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $05 + DB $0A + DB $1B + DB $20 + DB $03 + DB $13 + DB $22 + DB $02 + DB $0C + DB $19 + DB $23 + DB $00 + DB $13 + DB $25 + DB $FF + DB $FF + DB $FF + DB $16 + DB $1B + DB $24 + DB $16 + DB $21 + DB $24 + DB $0C + DB $0A + DB $01 + DB $02 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $01 + DB $23 + DB $03 + DB $0D + DB $17 + DB $21 + DB $0B + DB $19 + DB $03 + DB $0D + DB $17 + DB $21 + DB $FF + DB $FF + DB $FF + DB $FF +L7F7D DB $05 + DB $06 + DB $07 + DB $08 + DB $08 + DB $08 + +* TRACK FOR LEVEL DATA + +L7F83 HEX 1316191C +L7F87 HEX 1114171A + +L7F8B DB $00 + DB $00 + DB $00 + DB $2E + DB $4D +L7F90 DB $17 + DB $11 + DB $03 + DB $11 +L7F94 DB $06 + DB $15 + DB $0A + DB $1B +L7F98 DB $9E + DB $9D + DB $92 + DB $9D +L7F9C DB $04 + DB $04 + DB $00 + DB $06 +L7FA0 DB $00 + DB $10 + DB $20 + DB $30 +L7FA4 DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + +* SPRITE INDEX + +L7FA9 DB $00 + DB $60 + DB $C0 + DB $20 + DB $30 + DB $90 + DB $F0 +L7FB0 DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + +L7FB7 DB $00 + DB $90 + DB $30 + DB $60 + DB $C0 +L7FBC DB $00 + DB $A0 + DB $40 + DB $E0 + DB $50 + DB $F0 + DB $90 +L7FC3 DB $00 + DB $00 + DB $01 + DB $01 + DB $00 + DB $00 + DB $01 +L7FCA DB $00 + DB $00 + DB $02 +L7FCD DB $00 + DB $1E + DB $3C + DB $5A + DB $78 +L7FD2 DB $00 + DB $30 + DB $60 + DB $90 + DB $18 + DB $48 + DB $78 +L7FD9 DB $00 + DB $40 + DB $80 + DB $C0 + DB $20 + DB $60 + DB $A0 +L7FE0 DB $2A + DB $55 + DB $2A + DB $55 + DB $2A + DB $55 + DB $55 + DB $2A +L7FE8 DB $01 + DB $FF + DB $FF + DB $13 +L7FEC DB $90 + DB $FF + DB $FF + DB $4A +L7FF0 DB $A5 + DB $9E + DB $A5 +L7FF3 DB $07 + DB $02 +L7FF5 DB $0E + DB $09 + DB $05 + DB $05 + DB $02 + DB $05 +L7FFB DB $03 + DB $03 + DB $05 + DB $08 +L7FFF DB $04 + DB $05 + DB $06 + DB $06 + DB $06 + DB $06 +L8005 DB $50 + DB $3C + DB $28 + DB $28 + DB $28 + DB $28 +L800B DB $A0 + DB $90 + DB $80 + DB $70 + DB $60 + DB $50 +L8011 DB $70 + DB $60 + DB $50 + DB $40 + DB $30 + DB $20 +L8017 DB $28 + DB $28 + DB $28 + DB $1E + DB $14 + DB $14 +L801D DB $64 + DB $64 + DB $50 + DB $46 + DB $3C + DB $3C +L8023 DB $1F + DB $1F + DB $1F + DB $1D + DB $1B + DB $19 +L8029 DB $02 + DB $03 + DB $04 + DB $05 + DB $05 + DB $05 +L802F DB $00 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 +L8035 DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 +L803B DB $02 + DB $05 + DB $07 + DB $00 + DB $02 + DB $05 +L8041 DB $05 + DB $00 + DB $05 + DB $00 + DB $05 + DB $00 +L8047 DB $A0 + DB $80 + DB $60 + DB $40 + DB $20 + DB $00 +L804D DB $00 + DB $01 + DB $03 + DB $08 +L8051 DB $03 + DB $05 + DB $08 + DB $08 + DB $08 + DB $08 +L8057 DB $0B + DB $0C + DB $00 +L805A DB $00 + DB $02 + DB $04 +L805D DB $00 + DB $05 + DB $0E +L8060 DB $65 + DB $75 + DB $85 +L8063 DB $01 + DB $23 +L8065 DB $64 + DB $78 + DB $40 +L8068 DB $07 + DB $03 +L806A DB $0E + DB $0A +L806C DB $60 + DB $5C + DB $58 + DB $30 + DB $2C + DB $28 +L8072 DB $60 + DB $30 + DB $E0 + DB $B0 + DB $80 +L8077 DB $10 + DB $18 + DB $20 + DB $28 + DB $30 + DB $38 + DB $40 + DB $48 + DB $50 + DB $58 + DB $60 + DB $68 + DB $70 +L8084 DB $D0 + DB $80 + DB $E0 + DB $A0 +L8088 DB $80 + DB $A0 + DB $80 + DB $E0 +L808C DB $E0 + DB $B0 + DB $90 + DB $60 + DB $30 +L8091 DB $5F + DB $46 + DB $37 + DB $46 +L8095 DB $38 + DB $38 + DB $6A + DB $60 +L8099 DB $62 + DB $58 + DB $4A + DB $01 + DB $52 + DB $5A + DB $55 + DB $69 + DB $01 + DB $C8 + DB $AA + DB $8C + DB $68 +L80A6 DB $5A + DB $6E + DB $82 + DB $04 + DB $32 + DB $41 + DB $28 + DB $78 + DB $0A + DB $14 + DB $1E + DB $28 + DB $32 +L80B3 DB $96 + DB $8C + DB $82 + DB $01 + DB $50 + DB $01 + DB $5A + DB $50 + DB $01 + DB $4C + DB $01 + DB $50 + DB $64 + DB $01 + DB $6C + DB $01 + DB $6A + DB $50 + DB $60 + DB $5A + DB $64 +L80C8 DB $64 + DB $64 + DB $A0 + DB $1E + DB $50 + DB $04 + DB $32 + DB $A0 + DB $32 + DB $64 + DB $01 + DB $32 + DB $78 + DB $0A + DB $50 + DB $08 + DB $6E + DB $32 + DB $28 + DB $3C + DB $96 +L80DD DB $8C + DB $90 + DB $94 + DB $98 +L80E1 DB $00 + DB $01 + DB $00 + DB $02 + DB $01 + DB $00 + DB $03 + DB $02 + DB $01 + DB $00 + DB $03 + DB $00 + DB $02 + DB $01 + DB $00 + DB $03 + DB $00 + DB $02 + DB $00 + DB $01 +L80F5 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L8110 DB $01 + DB $01 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $01 + DB $01 + DB $00 + DB $01 + DB $01 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $01 + DB $01 + DB $03 + DB $02 + DB $02 + DB $01 + DB $01 + DB $01 +L812B DB $25 + DB $43 + DB $61 + DB $7F +L812F DB $54 + DB $3B + DB $2A + DB $18 + DB $10 + DB $02 + DB $02 + DB $01 +L8137 DB $48 + DB $40 + DB $39 + DB $28 + DB $16 + DB $0D +L813D DB $0C + DB $01 + DB $01 + DB $01 +L8141 DB $08 + DB $08 + DB $08 + DB $08 + DB $1E + DB $1E + DB $1E + DB $1E +L8149 DB $34 + DB $52 + DB $70 + DB $8E + DB $34 + DB $52 + DB $70 + DB $8E +L8151 DB $46 + DB $69 + DB $8C + DB $46 + DB $69 + DB $8C +L8157 DB $05 + DB $05 + DB $05 + DB $0F + DB $0F + DB $0F +L815D DB $2A + DB $4B + DB $6B + DB $8E +L8161 DB $43 + DB $61 + DB $7F + DB $9D +L8165 DB $00 + DB $05 + DB $02 + DB $00 +L8169 DB $03 + DB $00 + DB $03 + DB $04 + DB $05 + DB $05 +L816F DB $01 + DB $00 + DB $00 + DB $00 +L8173 DB $00 + DB $24 + DB $00 + DB $24 +L8177 DB $4F + DB $4F + DB $88 + DB $88 +L817B DB $01 + DB $01 + DB $00 + DB $01 +L817F DB $00 + DB $1A +L8181 DB $FF + DB $FF + DB $FF + DB $FF + DB $17 + DB $04 + DB $1F + DB $FF + DB $FF + DB $00 + DB $0B + DB $25 + DB $13 + DB $22 + DB $0B + DB $FF +L8191 DB $FF + DB $FF + DB $FF + DB $FF + DB $9D + DB $25 + DB $7F + DB $FF + DB $FF + DB $3D + DB $80 + DB $28 + DB $9D + DB $63 + DB $63 + DB $FF +L81A1 DB $00 + DB $20 + DB $40 + DB $60 + DB $80 +L81A6 DB $84 + DB $84 + DB $84 + DB $84 + DB $84 +L81AB DB $00 + DB $00 +L81AD DB $A7 + DB $AB +L81AF DB $00 + DB $50 +L81B1 DB $A7 + DB $A8 +L81B3 DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $02 + DB $03 + DB $02 + DB $01 + DB $02 + DB $03 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 + DB $01 + DB $02 + DB $01 + DB $02 + DB $03 + DB $01 + DB $01 + DB $01 + DB $03 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 + DB $01 + DB $02 + DB $02 + DB $01 + DB $01 + DB $03 + DB $03 + DB $01 + DB $03 + DB $03 + DB $01 + DB $01 + DB $02 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 +L8204 DB $01 + DB $01 + DB $03 + DB $03 + DB $03 + DB $02 + DB $02 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 + DB $81 + DB $81 + DB $81 + DB $81 + DB $82 + DB $82 + DB $82 + DB $83 + DB $83 + DB $83 + DB $81 + DB $81 + DB $01 + DB $01 + DB $02 + DB $03 + DB $03 + DB $03 + DB $03 + DB $03 + DB $02 + DB $01 + DB $01 + DB $01 + DB $00 + DB $00 + DB $00 + DB $81 + DB $81 + DB $81 + DB $82 + DB $83 + DB $83 + DB $83 + DB $83 + DB $83 + DB $82 + DB $81 + DB $81 + DB $01 + DB $01 + DB $02 + DB $03 + DB $03 + DB $02 + DB $02 + DB $02 + DB $02 + DB $01 + DB $01 + DB $01 + DB $01 + DB $00 + DB $81 + DB $81 + DB $81 + DB $81 + DB $82 + DB $82 + DB $82 + DB $82 + DB $83 + DB $83 + DB $82 + DB $81 + DB $81 +L8255 DB $00 + DB $1B + DB $36 +L8258 DB $90 + DB $90 + DB $AE + DB $AE +L825C DB $83 + DB $83 + DB $83 + DB $83 +L8260 DB $00 + DB $05 + DB $0A + DB $0F + DB $14 + DB $19 + DB $1E + DB $23 + DB $28 + DB $2D + DB $32 + DB $37 + DB $3C + DB $41 + DB $46 + DB $4B + DB $50 + DB $55 + DB $5A + DB $5F + DB $64 + DB $69 + DB $6E + DB $73 + DB $78 + DB $7D + DB $82 + DB $87 + DB $8C + DB $91 + DB $96 + DB $9B +L8280 DB $2B + DB $2B + DB $A8 + DB $A8 +L8284 DB $05 + DB $0F + DB $05 + DB $0F +L8288 DB $00 + DB $FF + DB $00 + DB $00 +L828C DB $09 + DB $FF + DB $1B + DB $15 +L8290 DB $00 + DB $A0 +L8292 DB $07 + DB $FF + DB $0A + DB $1B +L8296 DB $13 + DB $FF + DB $0B + DB $0B +L829A DB $00 + DB $FF + DB $00 + DB $2B +L829E DB $05 + DB $F0 + DB $F0 + DB $0B + DB $13 + DB $21 + DB $0D + DB $03 + DB $F0 + DB $0B + DB $21 + DB $F0 + DB $F0 + DB $F0 + DB $F0 +L82AD DB $00 + DB $03 + DB $06 + DB $09 + DB $0C + DB $B5 + DB $B5 + DB $B5 + DB $84 + DB $84 + DB $84 + DB $84 + DB $84 + DB $D5 + DB $AA + DB $20 + DB $05 + DB $24 + DB $25 + DB $04 + DB $20 + DB $54 + DB $2A + DB $54 + DB $2A + DB $2A + DB $45 + DB $2A + DB $0A + DB $00 + DB $20 + DB $22 + DB $54 + DB $28 + DB $02 + DB $11 + DB $22 + DB $2A + DB $45 + DB $2A +L82D5 DB $00 + DB $80 + DB $00 + DB $80 + DB $C0 + DB $40 + DB $C0 +L82DC DB $00 + DB $01 + DB $03 + DB $04 + DB $00 + DB $02 + DB $03 +L82E3 DB $00 + DB $02 + DB $02 + DB $00 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $04 + DB $81 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $81 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $81 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $81 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 + DB $81 + DB $00 +L8335 DB $03 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $03 + DB $01 + DB $02 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $03 + DB $03 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $03 + DB $01 + DB $03 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $02 + DB $02 + DB $01 + DB $02 + DB $02 + DB $02 + DB $01 + DB $02 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $02 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $01 + DB $02 + DB $02 + DB $01 + DB $01 + DB $02 + DB $01 + DB $02 + DB $02 + DB $01 + DB $02 + DB $02 + DB $01 +L8387 DB $00 + DB $29 +L8389 DB $00 + DB $30 + DB $60 + DB $90 + DB $18 + DB $48 + DB $78 + DB $D4 + DB $AA + DB $95 + DB $D4 + DB $BE + DB $95 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $AA + DB $85 + DB $D4 + DB $AA + DB $95 + DB $F4 + DB $FF + DB $97 + DB $F4 + DB $FF + DB $97 + DB $D4 + DB $AA + DB $95 + DB $D0 + DB $AA + DB $85 + DB $D0 + DB $AA + DB $85 + DB $D4 + DB $AA + DB $95 + DB $F4 + DB $FF + DB $97 + DB $F4 + DB $FF + DB $97 + DB $D4 + DB $AA + DB $95 + DB $D0 + DB $AA + DB $85 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $D4 + DB $BE + DB $95 + DB $D4 + DB $AA + DB $95 + DB $08 + DB $01 + DB $08 + DB $00 + DB $02 + DB $06 + DB $22 + DB $04 + DB $02 + DB $11 + DB $94 + DB $88 + DB $94 + DB $80 + DB $C4 + DB $A0 + DB $C6 + DB $A0 + DB $D6 + DB $A0 + DB $F1 + DB $B0 + DB $F1 + DB $98 + DB $D7 + DB $98 + DB $20 + DB $10 + DB $08 + DB $00 + DB $08 + DB $11 + DB $02 + DB $10 + DB $02 + DB $01 + DB $D1 + DB $A0 + DB $D4 + DB $88 + DB $94 + DB $88 + DB $96 + DB $A0 + DB $F6 + DB $A0 + DB $D1 + DB $B0 + DB $D1 + DB $99 + DB $C1 + DB $B1 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $50 + DB $02 + DB $04 + DB $08 + DB $01 + DB $20 + DB $01 + DB $20 + DB $51 + DB $22 + DB $75 + DB $2B + DB $74 + DB $0B + DB $51 + DB $22 + DB $45 + DB $28 + DB $1D + DB $2E + DB $75 + DB $2B + DB $54 + DB $0A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $20 + DB $05 + DB $28 + DB $15 + DB $38 + DB $1D + DB $3A + DB $5D + DB $3A + DB $5D + DB $3A + DB $5D + DB $32 + DB $4D + DB $12 + DB $49 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $11 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $C0 + DB $88 + DB $D0 + DB $82 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $FF + DB $BF + DB $F5 + DB $AB + DB $C4 + DB $88 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $88 + DB $85 + DB $48 + DB $04 + DB $48 + DB $04 + DB $00 + DB $00 + DB $54 + DB $0A + DB $54 + DB $0A + DB $54 + DB $0A + DB $00 + DB $00 + DB $54 + DB $0A + DB $54 + DB $0A + DB $54 + DB $0A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $08 + DB $50 + DB $00 + DB $00 + DB $08 + DB $40 + DB $0A + DB $10 + DB $08 + DB $44 + DB $02 + DB $2F + DB $35 + DB $65 + DB $23 + DB $54 + DB $00 + DB $10 + DB $08 + DB $A0 + DB $85 + DB $A0 + DB $87 + DB $A8 + DB $8F + DB $A8 + DB $87 + DB $A8 + DB $83 + DB $E8 + DB $83 + DB $D2 + DB $86 + DB $92 + DB $8A + DB $D0 + DB $80 + DB $C0 + DB $8E + DB $94 + DB $82 + DB $D5 + DB $82 + DB $D4 + DB $8E + DB $D0 + DB $8E + DB $9C + DB $80 + DB $A0 + DB $85 + DB $A0 + DB $87 + DB $A8 + DB $8F + DB $A8 + DB $87 + DB $A8 + DB $83 + DB $E8 + DB $83 + DB $D2 + DB $86 + DB $92 + DB $8A + DB $D0 + DB $A8 + DB $C0 + DB $E2 + DB $D4 + DB $83 + DB $D5 + DB $82 + DB $DC + DB $82 + DB $C0 + DB $8E + DB $80 + DB $8E +L84DC DB $00 + DB $1E +L84DE DB $10 + DB $12 + DB $10 + DB $12 +L84E2 DB $02 + DB $00 + DB $02 + DB $06 + DB $30 + DB $00 + DB $0C + DB $70 + DB $7F + DB $0F + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $70 + DB $7F + DB $0F + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $70 + DB $7F + DB $0F + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $70 + DB $7F + DB $0F + DB $30 + DB $00 + DB $0C + DB $30 + DB $00 + DB $0C + DB $00 + DB $05 + DB $28 + DB $00 + DB $20 + DB $15 + DB $2A + DB $01 + DB $20 + DB $55 + DB $2A + DB $01 + DB $28 + DB $55 + DB $2A + DB $05 + DB $28 + DB $55 + DB $2A + DB $05 + DB $28 + DB $55 + DB $2A + DB $05 + DB $28 + DB $55 + DB $2A + DB $05 + DB $20 + DB $55 + DB $2A + DB $01 + DB $20 + DB $55 + DB $2A + DB $01 + DB $20 + DB $55 + DB $2A + DB $01 + DB $00 + DB $55 + DB $2A + DB $00 + DB $00 + DB $55 + DB $2A + DB $00 + DB $00 + DB $54 + DB $0A + DB $00 + DB $00 + DB $54 + DB $0A + DB $00 + DB $00 + DB $50 + DB $02 + DB $00 + DB $00 + DB $40 + DB $00 + DB $00 + DB $00 + DB $05 + DB $28 + DB $00 + DB $20 + DB $15 + DB $28 + DB $01 + DB $20 + DB $05 + DB $2A + DB $01 + DB $28 + DB $01 + DB $2A + DB $05 + DB $28 + DB $41 + DB $2A + DB $05 + DB $28 + DB $01 + DB $2A + DB $05 + DB $28 + DB $05 + DB $28 + DB $05 + DB $20 + DB $15 + DB $20 + DB $01 + DB $20 + DB $55 + DB $20 + DB $01 + DB $20 + DB $15 + DB $28 + DB $01 + DB $00 + DB $05 + DB $2A + DB $00 + DB $00 + DB $45 + DB $2A + DB $00 + DB $00 + DB $04 + DB $0A + DB $00 + DB $00 + DB $14 + DB $08 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $40 + DB $00 + DB $00 + DB $1E + DB $33 + DB $33 + DB $33 + DB $33 + DB $33 + DB $1E + DB $00 + DB $0C + DB $0E + DB $0C + DB $0C + DB $0C + DB $0C + DB $1E + DB $00 + DB $1E + DB $33 + DB $30 + DB $1C + DB $06 + DB $03 + DB $3F + DB $00 + DB $3F + DB $30 + DB $18 + DB $1C + DB $30 + DB $33 + DB $1E + DB $00 + DB $18 + DB $1C + DB $1E + DB $1B + DB $3F + DB $18 + DB $18 + DB $00 + DB $3F + DB $03 + DB $1F + DB $30 + DB $30 + DB $33 + DB $1E + DB $00 + DB $3C + DB $06 + DB $03 + DB $1F + DB $33 + DB $33 + DB $1E + DB $00 + DB $3F + DB $30 + DB $18 + DB $0C + DB $06 + DB $06 + DB $06 + DB $00 + DB $1E + DB $33 + DB $33 + DB $1E + DB $33 + DB $33 + DB $1E + DB $00 + DB $1E + DB $33 + DB $33 + DB $3E + DB $30 + DB $18 + DB $0F + DB $00 + DB $00 + DB $00 + DB $36 + DB $6B + DB $6B + DB $6B + DB $63 + DB $00 + DB $06 + DB $06 + DB $06 + DB $06 + DB $06 + DB $06 + DB $7E + DB $00 + DB $00 + DB $00 + DB $1E + DB $00 + DB $1E + DB $00 + DB $00 + DB $00 + DB $33 + DB $33 + DB $33 + DB $33 + DB $33 + DB $33 + DB $1E + DB $00 + DB $1F + DB $33 + DB $33 + DB $33 + DB $1F + DB $03 + DB $03 + DB $00 + DB $00 + DB $0C + DB $0C + DB $00 + DB $0C + DB $0C + DB $00 + DB $00 + DB $33 + DB $1E + DB $63 + DB $00 + DB $33 + DB $1E + DB $33 + DB $33 + DB $63 + DB $00 + DB $33 + DB $0C + DB $33 + DB $33 + DB $63 + DB $00 + DB $33 + DB $0C + DB $3F + DB $33 + DB $63 + DB $00 + DB $3F + DB $0C + DB $33 + DB $33 + DB $6B + DB $00 + DB $33 + DB $0C + DB $33 + DB $33 + DB $7F + DB $00 + DB $33 + DB $0C + DB $33 + DB $1E + DB $36 + DB $00 + DB $33 + DB $1E + DB $1E + DB $33 + DB $00 + DB $1E + DB $0C + DB $33 + DB $33 + DB $33 + DB $00 + DB $33 + DB $1E + DB $33 + DB $03 + DB $33 + DB $00 + DB $03 + DB $33 + DB $37 + DB $3B + DB $3F + DB $00 + DB $03 + DB $33 + DB $3F + DB $33 + DB $33 + DB $00 + DB $03 + DB $3F + DB $3B + DB $33 + DB $33 + DB $00 + DB $33 + DB $33 + DB $33 + DB $3E + DB $33 + DB $00 + DB $1E + DB $33 + DB $33 + DB $00 + DB $33 + DB $1E + DB $33 + DB $00 + DB $1E + DB $00 + DB $33 + DB $33 + DB $33 + DB $00 + DB $33 + DB $00 + DB $33 + DB $33 + DB $33 + DB $00 + DB $03 + DB $00 + DB $1E + DB $33 + DB $33 + DB $00 + DB $3B + DB $00 + DB $0C + DB $33 + DB $33 + DB $00 + DB $33 + DB $00 + DB $0C + DB $33 + DB $33 + DB $00 + DB $33 + DB $00 + DB $0C + DB $1E + DB $1E + DB $00 + DB $1E + DB $3F + DB $3F + DB $1E + DB $33 + DB $0C + DB $33 + DB $03 + DB $0C + DB $30 + DB $0F + DB $0C + DB $1C + DB $03 + DB $0C + DB $0C + DB $33 + DB $0C + DB $00 + DB $3F + DB $0C + DB $0C + DB $1F + DB $03 + DB $0C + DB $33 + DB $3F + DB $1F + DB $33 + DB $03 + DB $1E + DB $33 + DB $03 + DB $33 + DB $33 + DB $03 + DB $33 + DB $33 + DB $03 + DB $33 + DB $33 + DB $03 + DB $33 + DB $33 + DB $1F + DB $33 + DB $1F + DB $03 + DB $3F + DB $1E + DB $03 + DB $1F + DB $03 + DB $03 + DB $33 + DB $0C + DB $03 + DB $1B + DB $03 + DB $3F + DB $33 + DB $0C + DB $3F + DB $33 + DB $33 + DB $0C + DB $0F + DB $33 + DB $00 + DB $33 + DB $4C + DB $19 + DB $33 + DB $0C + DB $33 + DB $4C + DB $01 + DB $33 + DB $0C + DB $3F + DB $4C + DB $1D + DB $3F + DB $00 + DB $33 + DB $4C + DB $19 + DB $33 + DB $0C + DB $33 + DB $4C + DB $19 + DB $33 + DB $0C + DB $33 + DB $0C + DB $0F + DB $33 + DB $00 + DB $8A + DB $AA + DB $95 + DB $FF + DB $9E + DB $89 + DB $A5 + DB $A5 + DB $A7 + DB $AA + DB $E7 +L8701 DB $D0 + DB $D0 + DB $D0 + DB $D0 + DB $B0 + DB $A0 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $B0 + DB $D0 + DB $D0 + DB $D0 + DB $D0 +L871B HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 +L87DB HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $D0 + DB $9A + DB $80 + DB $80 + DB $D0 + DB $FA + DB $80 + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A0 + DB $82 + DB $A0 + DB $81 + DB $A0 + DB $8A + DB $A0 + DB $81 + DB $A8 + DB $EA + DB $AA + DB $81 + DB $AF + DB $E9 + DB $AA + DB $81 + DB $AB + DB $85 + DB $A0 + DB $81 + DB $83 + DB $84 + DB $A0 + DB $81 + DB $80 + DB $8E + DB $E0 + DB $81 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $A0 + DB $B5 + DB $80 + DB $80 + DB $A0 + DB $F5 + DB $81 + DB $80 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $80 + DB $BE + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $C0 + DB $84 + DB $C0 + DB $82 + DB $C0 + DB $94 + DB $C0 + DB $82 + DB $D0 + DB $D4 + DB $D5 + DB $82 + DB $DE + DB $D2 + DB $D5 + DB $82 + DB $D6 + DB $8A + DB $C0 + DB $82 + DB $86 + DB $88 + DB $C0 + DB $82 + DB $80 + DB $9C + DB $C0 + DB $83 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $C0 + DB $EA + DB $80 + DB $80 + DB $C0 + DB $EA + DB $83 + DB $80 + DB $80 + DB $FF + DB $87 + DB $80 + DB $80 + DB $FC + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $80 + DB $89 + DB $80 + DB $85 + DB $80 + DB $A9 + DB $80 + DB $85 + DB $A0 + DB $A9 + DB $AB + DB $85 + DB $A0 + DB $A5 + DB $AB + DB $85 + DB $A0 + DB $D5 + DB $83 + DB $85 + DB $A0 + DB $C1 + DB $83 + DB $85 + DB $E0 + DB $81 + DB $80 + DB $87 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $81 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D5 + DB $81 + DB $80 + DB $80 + DB $D5 + DB $87 + DB $80 + DB $80 + DB $FE + DB $8F + DB $80 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $80 + DB $92 + DB $80 + DB $8A + DB $80 + DB $D2 + DB $80 + DB $8A + DB $C0 + DB $D2 + DB $D6 + DB $8A + DB $C0 + DB $CA + DB $D6 + DB $8A + DB $C0 + DB $AA + DB $87 + DB $8A + DB $C0 + DB $82 + DB $87 + DB $8A + DB $C0 + DB $83 + DB $80 + DB $8E + DB $C0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $AA + DB $83 + DB $80 + DB $80 + DB $AA + DB $8F + DB $80 + DB $80 + DB $FC + DB $9F + DB $80 + DB $80 + DB $F0 + DB $83 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $A4 + DB $80 + DB $94 + DB $80 + DB $A4 + DB $81 + DB $94 + DB $80 + DB $A5 + DB $AD + DB $95 + DB $F0 + DB $95 + DB $AD + DB $95 + DB $B0 + DB $D5 + DB $80 + DB $94 + DB $B0 + DB $C0 + DB $80 + DB $94 + DB $80 + DB $E0 + DB $81 + DB $9C + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $D4 + DB $86 + DB $80 + DB $80 + DB $D4 + DB $9E + DB $80 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $C8 + DB $80 + DB $A8 + DB $80 + DB $C8 + DB $82 + DB $A8 + DB $80 + DB $CA + DB $DA + DB $AA + DB $E0 + DB $AB + DB $DA + DB $AA + DB $E0 + DB $AA + DB $81 + DB $A8 + DB $E0 + DB $80 + DB $81 + DB $A8 + DB $80 + DB $C0 + DB $83 + DB $B8 + DB $80 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $A8 + DB $8D + DB $80 + DB $80 + DB $A8 + DB $BD + DB $80 + DB $80 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $90 + DB $81 + DB $D0 + DB $80 + DB $90 + DB $85 + DB $D0 + DB $80 + DB $94 + DB $B5 + DB $D5 + DB $80 + DB $D4 + DB $B4 + DB $D5 + DB $80 + DB $D4 + DB $BA + DB $D0 + DB $80 + DB $94 + DB $B8 + DB $D0 + DB $80 + DB $9C + DB $80 + DB $F0 + DB $80 + DB $BC + DB $80 + DB $80 + DB $00 + DB $2A + DB $00 + DB $00 + DB $3E + DB $00 + DB $40 + DB $36 + DB $01 + DB $00 + DB $41 + DB $00 + DB $50 + DB $41 + DB $05 + DB $50 + DB $41 + DB $05 + DB $00 + DB $41 + DB $00 + DB $40 + DB $36 + DB $01 + DB $00 + DB $3E + DB $00 + DB $00 + DB $2A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $2A + DB $00 + DB $00 + DB $36 + DB $00 + DB $00 + DB $63 + DB $00 + DB $50 + DB $41 + DB $05 + DB $50 + DB $41 + DB $05 + DB $00 + DB $63 + DB $00 + DB $00 + DB $36 + DB $00 + DB $00 + DB $2A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $36 + DB $00 + DB $00 + DB $36 + DB $00 + DB $40 + DB $22 + DB $01 + DB $40 + DB $22 + DB $01 + DB $00 + DB $36 + DB $00 + DB $00 + DB $36 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $22 + DB $00 + DB $00 + DB $3E + DB $00 + DB $00 + DB $3E + DB $00 + DB $00 + DB $22 + DB $00 + DB $00 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $40 + DB $08 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $1C + DB $00 + DB $14 + DB $36 + DB $14 + DB $00 + DB $36 + DB $00 + DB $00 + DB $1C + DB $00 + DB $00 + DB $00 + DB $00 + DB $40 + DB $08 + DB $01 + DB $00 + DB $08 + DB $00 + DB $00 + DB $54 + DB $00 + DB $00 + DB $7C + DB $00 + DB $00 + DB $6D + DB $02 + DB $00 + DB $02 + DB $01 + DB $20 + DB $03 + DB $0B + DB $20 + DB $03 + DB $0B + DB $00 + DB $02 + DB $01 + DB $00 + DB $6D + DB $02 + DB $00 + DB $7C + DB $00 + DB $00 + DB $54 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $54 + DB $00 + DB $00 + DB $6C + DB $00 + DB $00 + DB $46 + DB $01 + DB $20 + DB $03 + DB $0B + DB $20 + DB $03 + DB $0B + DB $00 + DB $46 + DB $01 + DB $00 + DB $6C + DB $00 + DB $00 + DB $54 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $6C + DB $00 + DB $00 + DB $6C + DB $00 + DB $00 + DB $45 + DB $02 + DB $00 + DB $45 + DB $02 + DB $00 + DB $6C + DB $00 + DB $00 + DB $6C + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $44 + DB $00 + DB $00 + DB $7C + DB $00 + DB $00 + DB $7C + DB $00 + DB $00 + DB $44 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $11 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $38 + DB $00 + DB $28 + DB $6C + DB $28 + DB $00 + DB $6C + DB $00 + DB $00 + DB $38 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $11 + DB $02 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $40 + DB $0F + DB $18 + DB $0C + DB $6C + DB $0F + DB $60 + DB $18 + DB $3C + DB $1C + DB $6E + DB $00 + DB $60 + DB $00 + DB $66 + DB $6C + DB $6D + DB $00 + DB $60 + DB $00 + DB $43 + DB $4D + DB $6C + DB $07 + DB $60 + DB $3C + DB $7F + DB $0D + DB $6C + DB $00 + DB $60 + DB $18 + DB $43 + DB $0D + DB $6C + DB $00 + DB $60 + DB $18 + DB $43 + DB $0D + DB $6C + DB $00 + DB $40 + DB $0F + DB $43 + DB $0D + DB $6C + DB $0F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $70 + DB $33 + DB $30 + DB $3F + DB $3F + DB $00 + DB $18 + DB $36 + DB $30 + DB $03 + DB $63 + DB $00 + DB $18 + DB $66 + DB $18 + DB $03 + DB $63 + DB $00 + DB $18 + DB $66 + DB $18 + DB $1F + DB $3F + DB $00 + DB $18 + DB $66 + DB $18 + DB $03 + DB $1B + DB $00 + DB $18 + DB $46 + DB $0D + DB $03 + DB $33 + DB $00 + DB $18 + DB $46 + DB $0D + DB $03 + DB $63 + DB $00 + DB $70 + DB $03 + DB $07 + DB $3F + DB $63 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $02 + DB $BB + DB $5A + DB $30 + DB $5F + DB $EE + DB $3D + DB $A8 + DB $00 + DB $00 + DB $00 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $B0 + DB $95 + DB $80 + DB $80 + DB $BC + DB $95 + DB $80 + DB $80 + DB $FE + DB $8F + DB $80 + DB $80 + DB $F0 + DB $83 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $85 + DB $80 + DB $89 + DB $80 + DB $85 + DB $A0 + DB $89 + DB $80 + DB $D5 + DB $AC + DB $A9 + DB $80 + DB $D5 + DB $AC + DB $EA + DB $83 + DB $85 + DB $C0 + DB $AA + DB $83 + DB $85 + DB $C0 + DB $80 + DB $83 + DB $87 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $E0 + DB $AA + DB $80 + DB $80 + DB $F8 + DB $AA + DB $80 + DB $80 + DB $FC + DB $9F + DB $80 + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $8A + DB $80 + DB $92 + DB $80 + DB $8A + DB $C0 + DB $92 + DB $80 + DB $AA + DB $D9 + DB $D2 + DB $80 + DB $AA + DB $D9 + DB $D4 + DB $87 + DB $8A + DB $80 + DB $D5 + DB $86 + DB $8A + DB $80 + DB $81 + DB $86 + DB $8E + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $C0 + DB $AA + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $D5 + DB $80 + DB $80 + DB $F0 + DB $D5 + DB $80 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $94 + DB $80 + DB $A4 + DB $80 + DB $94 + DB $80 + DB $A5 + DB $80 + DB $D4 + DB $B2 + DB $A5 + DB $81 + DB $D4 + DB $B2 + DB $A9 + DB $81 + DB $94 + DB $F0 + DB $AA + DB $81 + DB $94 + DB $F0 + DB $A0 + DB $81 + DB $9C + DB $80 + DB $E0 + DB $81 + DB $80 + DB $80 + DB $F0 + DB $81 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $AB + DB $81 + DB $80 + DB $E0 + DB $AB + DB $81 + DB $80 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $A8 + DB $80 + DB $C8 + DB $80 + DB $A8 + DB $80 + DB $CA + DB $80 + DB $A8 + DB $E5 + DB $CA + DB $82 + DB $A8 + DB $E5 + DB $D2 + DB $82 + DB $A8 + DB $E0 + DB $D5 + DB $82 + DB $A8 + DB $E0 + DB $C1 + DB $82 + DB $B8 + DB $80 + DB $C0 + DB $83 + DB $80 + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $80 + DB $AA + DB $81 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $80 + DB $D6 + DB $82 + DB $80 + DB $C0 + DB $D7 + DB $82 + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $80 + DB $BE + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $D0 + DB $80 + DB $90 + DB $81 + DB $D0 + DB $80 + DB $94 + DB $81 + DB $D0 + DB $CA + DB $95 + DB $85 + DB $D0 + DB $CA + DB $A5 + DB $BD + DB $D0 + DB $80 + DB $A8 + DB $B5 + DB $D0 + DB $80 + DB $88 + DB $B0 + DB $F0 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $80 + DB $AC + DB $85 + DB $80 + DB $80 + DB $AF + DB $85 + DB $80 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $80 + DB $FC + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $A0 + DB $81 + DB $A0 + DB $82 + DB $A0 + DB $81 + DB $A8 + DB $82 + DB $A0 + DB $95 + DB $AB + DB $8A + DB $A0 + DB $95 + DB $CB + DB $FA + DB $A0 + DB $81 + DB $D0 + DB $EA + DB $A0 + DB $81 + DB $90 + DB $E0 + DB $E0 + DB $81 + DB $B8 + DB $80 + DB $80 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D8 + DB $8A + DB $80 + DB $80 + DB $DE + DB $8A + DB $80 + DB $80 + DB $FF + DB $87 + DB $80 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $C0 + DB $82 + DB $C0 + DB $84 + DB $C0 + DB $82 + DB $D0 + DB $84 + DB $C0 + DB $AA + DB $D6 + DB $94 + DB $C0 + DB $AA + DB $96 + DB $95 + DB $C0 + DB $82 + DB $AE + DB $95 + DB $C0 + DB $82 + DB $8E + DB $94 + DB $C0 + DB $83 + DB $80 + DB $9C + DB $80 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $95 + DB $80 + DB $80 + DB $A0 + DB $D5 + DB $80 + DB $80 + DB $D0 + DB $9A + DB $80 + DB $80 + DB $D0 + DB $FA + DB $80 + DB $80 + DB $E0 + DB $FF + DB $81 + DB $80 + DB $80 + DB $9F + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A0 + DB $82 + DB $D0 + DB $80 + DB $A0 + DB $8A + DB $D0 + DB $80 + DB $A8 + DB $EA + DB $D4 + DB $80 + DB $AF + DB $E9 + DB $D4 + DB $80 + DB $AB + DB $85 + DB $D0 + DB $80 + DB $83 + DB $84 + DB $D0 + DB $80 + DB $80 + DB $8E + DB $F0 + DB $80 + DB $80 + DB $9E + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $80 + DB $80 + DB $C0 + DB $AA + DB $81 + DB $80 + DB $A0 + DB $B5 + DB $80 + DB $80 + DB $A0 + DB $F5 + DB $81 + DB $80 + DB $C0 + DB $FF + DB $83 + DB $80 + DB $80 + DB $BE + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $C0 + DB $84 + DB $A0 + DB $81 + DB $C0 + DB $94 + DB $A0 + DB $81 + DB $D0 + DB $D4 + DB $A9 + DB $81 + DB $DE + DB $D2 + DB $A9 + DB $81 + DB $D6 + DB $8A + DB $A0 + DB $81 + DB $86 + DB $88 + DB $A0 + DB $81 + DB $80 + DB $9C + DB $E0 + DB $81 + DB $80 + DB $BC + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $80 + DB $80 + DB $80 + DB $D5 + DB $82 + DB $80 + DB $C0 + DB $EA + DB $80 + DB $80 + DB $C0 + DB $EA + DB $83 + DB $80 + DB $80 + DB $FF + DB $87 + DB $80 + DB $80 + DB $FC + DB $80 + DB $80 + DB $80 + DB $95 + DB $80 + DB $80 + DB $80 + DB $89 + DB $C0 + DB $82 + DB $80 + DB $A9 + DB $C0 + DB $82 + DB $A0 + DB $A9 + DB $D3 + DB $82 + DB $A0 + DB $A5 + DB $D3 + DB $82 + DB $A0 + DB $D5 + DB $C3 + DB $82 + DB $A0 + DB $C1 + DB $C3 + DB $82 + DB $E0 + DB $81 + DB $C0 + DB $83 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $81 + DB $80 + DB $80 + DB $AA + DB $85 + DB $80 + DB $80 + DB $D5 + DB $81 + DB $80 + DB $80 + DB $D5 + DB $87 + DB $80 + DB $80 + DB $FE + DB $8F + DB $80 + DB $80 + DB $F8 + DB $81 + DB $80 + DB $80 + DB $AA + DB $80 + DB $80 + DB $80 + DB $92 + DB $80 + DB $85 + DB $80 + DB $D2 + DB $80 + DB $85 + DB $C0 + DB $D2 + DB $A6 + DB $85 + DB $C0 + DB $CA + DB $A6 + DB $85 + DB $C0 + DB $AA + DB $87 + DB $85 + DB $C0 + DB $82 + DB $87 + DB $85 + DB $C0 + DB $83 + DB $80 + DB $87 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $82 + DB $80 + DB $80 + DB $D4 + DB $8A + DB $80 + DB $80 + DB $AA + DB $83 + DB $80 + DB $80 + DB $AA + DB $8F + DB $80 + DB $80 + DB $FC + DB $9F + DB $80 + DB $80 + DB $F0 + DB $83 + DB $80 + DB $80 + DB $D4 + DB $80 + DB $80 + DB $80 + DB $A4 + DB $80 + DB $8A + DB $80 + DB $A4 + DB $81 + DB $8A + DB $80 + DB $A5 + DB $CD + DB $8A + DB $F0 + DB $95 + DB $CD + DB $8A + DB $B0 + DB $D5 + DB $80 + DB $8A + DB $B0 + DB $C0 + DB $80 + DB $8A + DB $80 + DB $E0 + DB $81 + DB $8E + DB $80 + DB $E0 + DB $83 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $A0 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $85 + DB $80 + DB $80 + DB $A8 + DB $95 + DB $80 + DB $80 + DB $D4 + DB $86 + DB $80 + DB $80 + DB $D4 + DB $9E + DB $80 + DB $80 + DB $F8 + DB $BF + DB $80 + DB $80 + DB $E0 + DB $87 + DB $80 + DB $80 + DB $A8 + DB $81 + DB $80 + DB $80 + DB $C8 + DB $80 + DB $94 + DB $80 + DB $C8 + DB $82 + DB $94 + DB $80 + DB $CA + DB $9A + DB $95 + DB $E0 + DB $AB + DB $9A + DB $95 + DB $E0 + DB $AA + DB $81 + DB $94 + DB $E0 + DB $80 + DB $81 + DB $94 + DB $80 + DB $C0 + DB $83 + DB $9C + DB $80 + DB $C0 + DB $87 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $80 + DB $C0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $8A + DB $80 + DB $80 + DB $D0 + DB $AA + DB $80 + DB $80 + DB $A8 + DB $8D + DB $80 + DB $80 + DB $A8 + DB $BD + DB $80 + DB $80 + DB $F0 + DB $FF + DB $80 + DB $80 + DB $C0 + DB $8F + DB $80 + DB $80 + DB $D0 + DB $82 + DB $80 + DB $80 + DB $90 + DB $81 + DB $A8 + DB $80 + DB $90 + DB $85 + DB $A8 + DB $80 + DB $94 + DB $B5 + DB $AA + DB $80 + DB $D4 + DB $B4 + DB $AA + DB $80 + DB $D4 + DB $BA + DB $A8 + DB $80 + DB $94 + DB $B8 + DB $A8 + DB $80 + DB $9C + DB $80 + DB $B8 + DB $80 + DB $BC + DB $80 + DB $80 + DB $60 + DB $1E + DB $A0 + DB $00 + DB $A9 + DB $00 + DB $99 + DB $31 + DB $34 + DB $99 + DB $B1 + DB $3C + DB $B9 + DB $00 + DB $40 + DB $99 + DB $31 + DB $38 + DB $B9 + DB $13 + DB $40 + DB $99 + DB $31 + DB $3C + DB $B9 + DB $26 + DB $40 + DB $99 + DB $B1 + DB $20 + DB $B9 + DB $39 + DB $40 + DB $99 + DB $B1 + DB $24 + DB $B9 + DB $4C + DB $40 + DB $99 + DB $B1 + DB $28 + DB $B9 + DB $5F + DB $40 + DB $99 + DB $B1 + DB $2C + DB $B9 + DB $72 + DB $40 + DB $99 + DB $B1 + DB $30 + DB $B9 + DB $85 + DB $40 + DB $99 + DB $B1 + DB $34 + DB $B9 + DB $98 + DB $40 + DB $99 + DB $B1 + DB $38 + DB $C8 + DB $C0 + DB $13 + DB $D0 + DB $BD + DB $60 + DB $20 + DB $E4 + DB $11 + DB $A5 + DB $6C + DB $85 + DB $B2 + DB $A5 + DB $6D + DB $85 + DB $62 + DB $A0 + DB $00 + DB $84 + DB $6C + DB $20 + DB $19 + DB $0E + DB $20 + DB $9A + DB $13 + DB $A0 + DB $1F + DB $20 + DB $19 + DB $0E + DB $4C + DB $A0 + DB $0E + DB $A0 + DB $00 + DB $BE + DB $00 + DB $4B + DB $86 + DB $56 + DB $F0 + DB $AB + DB $B9 + DB $00 + DB $4A + DB $85 + DB $57 + DB $B9 + DB $00 + DB $48 + DB $85 + DB $02 + DB $38 + DB $E5 + DB $6C + DB $20 + DB $22 + DB $47 + DB $A6 + DB $6E + DB $F0 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $86 + DB $58 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $86 + DB $02 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $CA + DB $86 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $4C + DB $60 + DB $1E + DB $98 + DB $C9 + DB $E0 + DB $90 + DB $02 + DB $E9 + DB $40 + DB $C9 + DB $C0 + DB $90 + DB $02 + DB $E9 + DB $C0 + DB $85 + DB $03 + DB $A8 + DB $A5 + DB $07 + DB $D0 + DB $03 + DB $4C + DB $36 + DB $00 + DB $4C + DB $20 + DB $00 + DB $84 + DB $03 + DB $86 + DB $02 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $88 + DB $A6 + DB $02 + DB $20 + DB $50 + DB $1E + DB $A4 + DB $03 + DB $88 + DB $20 + DB $50 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $C8 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $4C + DB $60 + DB $1E + DB $CA + DB $86 + DB $02 + DB $88 + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $02 + DB $E8 + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A5 + DB $03 + DB $38 + DB $E9 + DB $14 + DB $A8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $E8 + DB $20 + DB $50 + DB $1E + DB $A4 + DB $03 + DB $CA + DB $CA + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $CA + DB $20 + DB $50 + DB $1E + DB $E8 + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $86 + DB $58 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $20 + DB $51 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $CA + DB $20 + DB $50 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $CA + DB $A4 + DB $03 + DB $4C + DB $60 + DB $1E + DB $8A + DB $18 + DB $69 + DB $07 + DB $85 + DB $02 + DB $AA + DB $84 + DB $03 + DB $20 + DB $60 + DB $1E + DB $8A + DB $38 + DB $E9 + DB $10 + DB $85 + DB $58 + DB $AA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A4 + DB $03 + DB $A6 + DB $58 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $E8 + DB $86 + DB $58 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $86 + DB $02 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $86 + DB $58 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $8A + DB $38 + DB $E9 + DB $08 + DB $AA + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $4C + DB $58 + DB $1C + DB $C9 + DB $02 + DB $D0 + DB $03 + DB $4C + DB $78 + DB $1B + DB $E8 + DB $E8 + DB $86 + DB $02 + DB $84 + DB $03 + DB $20 + DB $60 + DB $1E + DB $8A + DB $38 + DB $E9 + DB $05 + DB $AA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $86 + DB $58 + DB $20 + DB $50 + DB $1E + DB $A4 + DB $03 + DB $A6 + DB $02 + DB $E8 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $CA + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A5 + DB $03 + DB $38 + DB $E9 + DB $06 + DB $20 + DB $51 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $A4 + DB $03 + DB $4C + DB $60 + DB $1E + DB $E8 + DB $E8 + DB $E8 + DB $86 + DB $02 + DB $84 + DB $03 + DB $20 + DB $60 + DB $1E + DB $8A + DB $38 + DB $E9 + DB $07 + DB $AA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A4 + DB $03 + DB $C8 + DB $86 + DB $58 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $02 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $86 + DB $58 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $A6 + DB $02 + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $CA + DB $CA + DB $86 + DB $02 + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $CA + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $58 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $C8 + DB $20 + DB $50 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A6 + DB $02 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $E8 + DB $A4 + DB $03 + DB $20 + DB $60 + DB $1E + DB $A5 + DB $03 + DB $38 + DB $E9 + DB $0A + DB $00 + DB $03 + DB $6F + DB $00 + DB $A9 + DB $00 + DB $85 + DB $1A + DB $A9 + DB $08 + DB $85 + DB $1B + DB $A9 + DB $02 + DB $85 + DB $04 + DB $A9 + DB $0E + DB $85 + DB $02 + DB $A9 + DB $0F + DB $85 + DB $03 + DB $A9 + DB $00 + DB $85 + DB $FA + DB $A5 + DB $FA + DB $C9 + DB $38 + DB $90 + DB $03 + DB $20 + DB $3A + DB $03 + DB $C6 + DB $03 + DB $A5 + DB $03 + DB $C9 + DB $FF + DB $D0 + DB $06 + DB $A9 + DB $0F + DB $85 + DB $03 + DB $C6 + DB $02 + DB $E6 + DB $FA + DB $E6 + DB $1B + DB $A5 + DB $FA + DB $C9 + DB $98 + DB $D0 + DB $DF + DB $60 + DB $20 + DB $E3 + DB $03 + DB $84 + DB $00 + DB $85 + DB $01 + DB $A5 + DB $02 + DB $A0 + DB $04 + DB $91 + DB $00 + DB $A5 + DB $03 + DB $A0 + DB $05 + DB $91 + DB $00 + DB $A0 + DB $08 + DB $A5 + DB $1A + DB $91 + DB $00 + DB $C8 + DB $A5 + DB $1B + DB $91 + DB $00 + DB $A5 + DB $04 + DB $A0 + DB $0C + DB $91 + DB $00 + DB $A9 + DB $00 + DB $A0 + DB $03 + DB $91 + DB $00 + DB $20 + DB $E3 + DB $03 + DB $20 + DB $D9 + DB $03 + DB $A9 + DB $00 + DB $85 + DB $48 + DB $60 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $1F + DB $0D + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $1F + DB $0E + DB $1F + DB $0E + DB $00 + DB $1F + DB $0D + DB $01 + DB $8C + DB $7A + DB $00 + DB $00 + DB $00 + DB $7A + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $73 + DB $00 + DB $01 + DB $00 + DB $73 + DB $00 + DB $00 + DB $00 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $04 + DB $60 + DB $01 + DB $FF + DB $11 + DB $00 + DB $00 + DB $00 + DB $00 + DB $CF + DB $CE + DB $C7 + DB $D3 + DB $C1 + DB $D6 + DB $C5 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $00 + DB $98 + DB $00 + DB $97 + DB $00 + DB $96 + DB $00 + DB $00 + DB $00 + DB $40 + DB $7F + DB $51 + DB $4C + DB $03 + DB $41 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $07 + DB $0F + DB $07 + DB $0E + DB $07 + DB $0D + DB $07 + DB $0C + DB $07 + DB $0B + DB $07 + DB $0A + DB $07 + DB $09 + DB $07 + DB $08 + DB $07 + DB $07 + DB $07 + DB $06 + DB $07 + DB $05 + DB $07 + DB $04 + DB $07 + DB $03 + DB $07 + DB $02 + DB $07 + DB $01 + DB $07 + DB $00 + DB $06 + DB $0F + DB $06 + DB $0E + DB $06 + DB $0D + DB $06 + DB $0C + DB $06 + DB $0B + DB $06 + DB $0A + DB $06 + DB $09 + DB $06 + DB $08 + DB $06 + DB $07 + DB $06 + DB $06 + DB $06 + DB $05 + DB $06 + DB $04 + DB $06 + DB $03 + DB $06 + DB $02 + DB $06 + DB $01 + DB $06 + DB $00 + DB $05 + DB $0F + DB $05 + DB $0E + DB $05 + DB $0D + DB $05 + DB $0C + DB $05 + DB $0B + DB $05 + DB $0A + DB $05 + DB $09 + DB $05 + DB $08 + DB $05 + DB $07 + DB $05 + DB $06 + DB $05 + DB $05 + DB $05 + DB $04 + DB $05 + DB $03 + DB $05 + DB $02 + DB $05 + DB $01 + DB $05 + DB $00 + DB $04 + DB $0F + DB $04 + DB $0E + DB $04 + DB $0D + DB $04 + DB $0C + DB $04 + DB $0B + DB $04 + DB $0A + DB $04 + DB $09 + DB $04 + DB $08 + DB $04 + DB $07 + DB $04 + DB $06 + DB $04 + DB $05 + DB $04 + DB $04 + DB $04 + DB $03 + DB $04 + DB $02 + DB $04 + DB $01 + DB $04 + DB $00 + DB $03 + DB $0F + DB $03 + DB $0E + DB $03 + DB $0D + DB $03 + DB $0C + DB $03 + DB $0B + DB $03 + DB $0A + DB $03 + DB $09 + DB $03 + DB $08 + DB $03 + DB $07 + DB $03 + DB $06 + DB $03 + DB $05 + DB $03 + DB $04 + DB $03 + DB $03 + DB $03 + DB $02 + DB $03 + DB $01 + DB $03 + DB $00 + DB $02 + DB $0F + DB $02 + DB $0E + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $00 + DB $08 + DB $00 + DB $02 + DB $07 + DB $0F + DB $00 + DB $23 + DB $7A + DB $00 + DB $00 + DB $00 + DB $7A + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $04 + DB $00 + DB $7F + DB $51 + DB $00 + DB $00 + DB $04 + DB $00 + DB $53 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $04 + DB $60 + DB $02 + DB $FF + DB $11 + DB $00 + DB $00 + DB $00 + DB $00 + DB $CF + DB $CE + DB $C7 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $53 + DB $9A + DB $53 + DB $99 + DB $53 + DB $98 + DB $2D + DB $98 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $C3 + DB $B0 + DB $B8 + DB $C1 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $C4 + DB $B0 + DB $B8 + DB $C1 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $C4 + DB $B0 + DB $C1 + DB $C1 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $C1 + DB $B8 + DB $B8 + DB $C4 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $C1 + DB $B8 + DB $C2 + DB $C4 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $C6 + DB $B0 + DB $C6 + DB $C6 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $C3 + DB $B0 + DB $B8 + DB $C6 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $C4 + DB $B0 + DB $B8 + DB $B2 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $B9 + DB $B0 + DB $B8 + DB $B1 + DB $C1 + DB $B8 + DB $B8 + DB $B0 + DB $B9 + DB $B0 + DB $B8 + DB $B5 + DB $C1 + DB $B8 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $B9 + DB $B4 + DB $C2 + DB $B5 + DB $C1 + DB $C1 + DB $B8 + DB $B0 + DB $C4 + DB $B4 + DB $C2 + DB $B4 + DB $C1 + DB $C1 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $C4 + DB $B4 + DB $C2 + DB $C1 + DB $C1 + DB $B8 + DB $B8 + DB $B0 + DB $B9 + DB $B4 + DB $C2 + DB $B8 + DB $C1 + DB $B8 + DB $8D + DB $A0 + DB $C8 + DB $C5 + DB $D8 + DB $A0 + DB $B8 + DB $B0 + DB $B9 + DB $C3 + DB $B8 + DB $B0 + DB $C2 + DB $B8 + DB $B8 + DB $B0 + DB $C2 + DB $C3 + DB $B8 + DB $B0 + DB $B8 + DB $B0 + DB $8D + DB $A0 + DB $CC + DB $D3 + DB $D4 + DB $A0 + DB $CF + DB $C6 + DB $C6 + DB $8D + DB $00 + DB $A0 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0B + DB $0A + DB $0B + DB $09 + DB $0B + DB $08 + DB $0B + DB $07 + DB $0B + DB $06 + DB $0B + DB $05 + DB $0B + DB $04 + DB $0B + DB $03 + DB $0B + DB $02 + DB $0B + DB $01 + DB $0B + DB $00 + DB $0A + DB $0F + DB $0A + DB $0E + DB $0A + DB $0D + DB $0A + DB $0C + DB $0A + DB $0B + DB $0A + DB $0A + DB $0A + DB $09 + DB $0A + DB $08 + DB $0A + DB $07 + DB $0A + DB $06 + DB $0A + DB $05 + DB $0A + DB $04 + DB $0A + DB $03 + DB $0A + DB $02 + DB $0A + DB $01 + DB $0A + DB $00 + DB $09 + DB $0F + DB $09 + DB $0E + DB $09 + DB $0D + DB $09 + DB $0C + DB $09 + DB $0B + DB $09 + DB $0A + DB $09 + DB $09 + DB $09 + DB $08 + DB $09 + DB $07 + DB $09 + DB $06 + DB $09 + DB $05 + DB $09 + DB $04 + DB $09 + DB $03 + DB $09 + DB $02 + DB $09 + DB $01 + DB $09 + DB $00 + DB $08 + DB $0F + DB $08 + DB $0E + DB $08 + DB $0D + DB $08 + DB $0C + DB $08 + DB $0B + DB $08 + DB $0A + DB $08 + DB $09 + DB $08 + DB $08 + DB $08 + DB $07 + DB $08 + DB $06 + DB $08 + DB $05 + DB $08 + DB $04 + DB $08 + DB $03 + DB $08 + DB $02 + DB $08 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $0B + DB $0B + DB $0B + DB $0B + DB $00 + DB $08 + DB $01 + DB $02 + DB $00 + DB $7A + DB $00 + DB $00 + DB $00 + DB $7A + DB $00 + DB $39 + DB $00 + DB $00 + DB $01 + DB $39 + DB $00 + DB $E4 + DB $00 + DB $01 + DB $00 + DB $E4 + DB $39 + DB $00 + DB $00 + DB $3B + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $60 + DB $02 + DB $FF + DB $11 + DB $00 + DB $00 + DB $00 + DB $00 + DB $AE + DB $CB + DB $CF + DB $CE + DB $C7 + DB $B7 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A6 + DB $9C + DB $A6 + DB $9B + DB $A6 + DB $9A + DB $80 + DB $9A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $D3 + DB $9C + DB $81 + DB $9E + DB $BD + DB $9E + DB $75 + DB $AA + DB $93 + DB $AA + DB $60 + DB $AA + DB $00 + DB $9D + DB $BB + DB $B5 + DB $EA + DB $9E + DB $11 + DB $9F + DB $22 + DB $9F + DB $2E + DB $9F + DB $51 + DB $9F + DB $60 + DB $9F + DB $70 + DB $9F + DB $4E + DB $A5 + DB $12 + DB $A4 + DB $96 + DB $A3 + DB $D0 + DB $A4 + DB $EF + DB $A4 + DB $62 + DB $A2 + DB $70 + DB $A2 + DB $74 + DB $A2 + DB $E9 + DB $A2 + DB $1A + DB $A5 + DB $C5 + DB $A5 + DB $0F + DB $A5 + DB $DC + DB $A5 + DB $A2 + DB $A2 + DB $97 + DB $A2 + DB $80 + DB $A2 + DB $6D + DB $A5 + DB $32 + DB $A2 + DB $3C + DB $A2 + DB $28 + DB $A2 + DB $2D + DB $A2 + DB $50 + DB $A2 + DB $79 + DB $A5 + DB $9D + DB $A5 + DB $30 + DB $A3 + DB $5C + DB $A3 + DB $8D + DB $A3 + DB $7C + DB $A2 + DB $FC + DB $A4 + DB $FC + DB $A4 + DB $65 + DB $D8 + DB $00 + DB $E0 + DB $3C + DB $D4 + DB $F2 + DB $D4 + DB $36 + DB $E8 + DB $E5 + DB $A4 + DB $E3 + DB $E3 + DB $00 + DB $E0 + DB $03 + DB $E0 + DB $FC + DB $A4 + DB $FC + DB $A4 + DB $65 + DB $D8 + DB $00 + DB $E0 + DB $3C + DB $D4 + DB $F2 + DB $D4 + DB $06 + DB $A5 + DB $06 + DB $A5 + DB $67 + DB $10 + DB $84 + DB $9D + DB $3C + DB $0C + DB $F2 + DB $0C + DB $AD + DB $E9 + DB $B7 + DB $4A + DB $4A + DB $4A + DB $4A + DB $8D + DB $6A + DB $AA + DB $AD + DB $EA + DB $B7 + DB $8D + DB $68 + DB $AA + DB $AD + DB $00 + DB $E0 + DB $49 + DB $20 + DB $D0 + DB $11 + DB $8D + DB $B6 + DB $AA + DB $A2 + DB $0A + DB $BD + DB $61 + DB $9D + DB $9D + DB $55 + DB $9D + DB $CA + DB $D0 + DB $F7 + DB $4C + DB $BC + DB $9D + DB $A9 + DB $40 + DB $8D + DB $B6 + DB $AA + DB $A2 + DB $0C + DB $BD + DB $6B + DB $9D + DB $9D + DB $55 + DB $9D + DB $CA + DB $D0 + DB $F7 + DB $38 + DB $B0 + DB $12 + DB $AD + DB $B6 + DB $AA + DB $D0 + DB $04 + DB $A9 + DB $20 + DB $D0 + DB $05 + DB $0A + DB $10 + DB $05 + DB $A9 + DB $4C + DB $20 + DB $B2 + DB $A5 + DB $18 + DB $08 + DB $20 + DB $51 + DB $A8 + DB $A9 + DB $00 + DB $8D + DB $5E + DB $AA + DB $8D + DB $52 + DB $AA + DB $28 + DB $6A + DB $8D + DB $51 + DB $AA + DB $30 + DB $03 + DB $6C + DB $5E + DB $9D + DB $6C + DB $5C + DB $9D + DB $0A + DB $10 + DB $19 + DB $8D + DB $B6 + DB $AA + DB $A2 + DB $0C + DB $BD + DB $77 + DB $9D + DB $9D + DB $55 + DB $9D + DB $CA + DB $D0 + DB $F7 + DB $A2 + DB $1D + DB $BD + DB $93 + DB $AA + DB $9D + DB $75 + DB $AA + DB $CA + DB $10 + DB $F7 + DB $AD + DB $B1 + DB $AA + DB $8D + DB $57 + DB $AA + DB $20 + DB $D4 + DB $A7 + DB $AD + DB $B3 + DB $AA + DB $F0 + DB $09 + DB $48 + DB $20 + DB $9D + DB $A6 + DB $68 + DB $A0 + DB $00 + DB $91 + DB $40 + DB $20 + DB $5B + DB $A7 + DB $AD + DB $5F + DB $AA + DB $D0 + DB $20 + DB $A2 + DB $25 + DB $BD + DB $51 + DB $9E + DB $9D + DB $D0 + DB $03 + DB $CA + DB $10 + DB $F7 + DB $AD + DB $53 + DB $9E + DB $8D + DB $F3 + DB $03 + DB $49 + DB $A5 + DB $8D + DB $F4 + DB $03 + DB $AD + DB $52 + DB $9E + DB $8D + DB $F2 + DB $03 + DB $A9 + DB $00 + DB $D0 + DB $05 + DB $AD + DB $62 + DB $AA + DB $F0 + DB $06 + DB $8D + DB $5F + DB $AA + DB $4C + DB $80 + DB $A1 + DB $60 + DB $4C + DB $BF + DB $9D + DB $4C + DB $84 + DB $9D + DB $4C + DB $FD + DB $AA + DB $4C + DB $B5 + DB $B7 + DB $AD + DB $0F + DB $9D + DB $AC + DB $0E + DB $9D + DB $60 + DB $AD + DB $C2 + DB $AA + DB $AC + DB $C1 + DB $AA + DB $60 + DB $4C + DB $51 + DB $A8 + DB $EA + DB $EA + DB $4C + DB $59 + DB $FA + DB $4C + DB $65 + DB $FF + DB $4C + DB $58 + DB $FF + DB $4C + DB $65 + DB $FF + DB $4C + DB $65 + DB $FF + DB $65 + DB $FF + DB $20 + DB $D1 + DB $9E + DB $AD + DB $51 + DB $AA + DB $F0 + DB $15 + DB $48 + DB $AD + DB $5C + DB $AA + DB $91 + DB $28 + DB $68 + DB $30 + DB $03 + DB $4C + DB $26 + DB $A6 + DB $20 + DB $EA + DB $9D + DB $A4 + DB $24 + DB $A9 + DB $60 + DB $91 + DB $28 + DB $AD + DB $B3 + DB $AA + DB $F0 + DB $03 + DB $20 + DB $82 + DB $A6 + DB $A9 + DB $03 + DB $8D + DB $52 + DB $AA + DB $20 + DB $BA + DB $9F + DB $20 + DB $BA + DB $9E + DB $8D + DB $5C + DB $AA + DB $8E + DB $5A + DB $AA + DB $4C + DB $B3 + DB $9F + DB $6C + DB $38 + DB $00 + DB $20 + DB $D1 + DB $9E + DB $AD + DB $52 + DB $AA + DB $0A + DB $AA + DB $BD + DB $11 + DB $9D + DB $48 + DB $BD + DB $10 + DB $9D + DB $48 + DB $AD + DB $5C + DB $AA + DB $60 + DB $8D + DB $5C + DB $AA + DB $8E + DB $5A + DB $AA + DB $8C + DB $5B + DB $AA + DB $BA + DB $E8 + DB $E8 + DB $8E + DB $59 + DB $AA + DB $A2 + DB $03 + DB $BD + DB $53 + DB $AA + DB $95 + DB $36 + DB $CA + DB $10 + DB $F8 + DB $60 + DB $AE + DB $B7 + DB $AA + DB $F0 + DB $03 + DB $4C + DB $78 + DB $9F + DB $AE + DB $51 + DB $AA + DB $F0 + DB $08 + DB $C9 + DB $BF + DB $F0 + DB $75 + DB $C5 + DB $33 + DB $F0 + DB $27 + DB $A2 + DB $02 + DB $8E + DB $52 + DB $AA + DB $CD + DB $B2 + DB $AA + DB $D0 + DB $19 + DB $CA + DB $8E + DB $52 + DB $AA + DB $CA + DB $8E + DB $5D + DB $AA + DB $AE + DB $5D + DB $AA + DB $9D + DB $00 + DB $02 + DB $E8 + DB $8E + DB $5D + DB $AA + DB $C9 + DB $8D + DB $D0 + DB $75 + DB $4C + DB $CD + DB $9F + DB $C9 + DB $8D + DB $D0 + DB $7D + DB $A2 + DB $00 + DB $8E + DB $52 + DB $AA + DB $4C + DB $A4 + DB $9F + DB $A2 + DB $00 + DB $8E + DB $52 + DB $AA + DB $C9 + DB $8D + DB $F0 + DB $07 + DB $AD + DB $B3 + DB $AA + DB $F0 + DB $67 + DB $D0 + DB $5E + DB $48 + DB $38 + DB $AD + DB $B3 + DB $AA + DB $D0 + DB $03 + DB $20 + DB $5E + DB $A6 + DB $68 + DB $90 + DB $EC + DB $AE + DB $5A + DB $AA + DB $4C + DB $15 + DB $9F + DB $C9 + DB $8D + DB $D0 + DB $05 + DB $A9 + DB $05 + DB $8D + DB $52 + DB $AA + DB $20 + DB $0E + DB $A6 + DB $4C + DB $99 + DB $9F + DB $CD + DB $B2 + DB $AA + DB $F0 + DB $85 + DB $C9 + DB $8A + DB $F0 + DB $F1 + DB $A2 + DB $04 + DB $8E + DB $52 + DB $AA + DB $D0 + DB $E1 + DB $A9 + DB $00 + DB $8D + DB $52 + DB $AA + DB $F0 + DB $25 + DB $A9 + DB $00 + DB $8D + DB $B7 + DB $AA + DB $20 + DB $51 + DB $A8 + DB $4C + DB $DC + DB $A4 + DB $AD + DB $00 + DB $02 + DB $CD + DB $B2 + DB $AA + DB $F0 + DB $0A + DB $A9 + DB $8D + DB $8D + DB $00 + DB $02 + DB $A2 + DB $00 + DB $8E + DB $5A + DB $AA + DB $A9 + DB $40 + DB $D0 + DB $06 + DB $A9 + DB $10 + DB $D0 + DB $02 + DB $A9 + DB $20 + DB $2D + DB $5E + DB $AA + DB $F0 + DB $0F + DB $20 + DB $BA + DB $9F + DB $20 + DB $C5 + DB $9F + DB $8D + DB $5C + DB $AA + DB $8C + DB $5B + DB $AA + DB $8E + DB $5A + DB $AA + DB $20 + DB $51 + DB $A8 + DB $AE + DB $59 + DB $AA + DB $9A + DB $AD + DB $5C + DB $AA + DB $AC + DB $5B + DB $AA + DB $AE + DB $5A + DB $AA + DB $38 + DB $60 + DB $6C + DB $36 + DB $00 + DB $A9 + DB $8D + DB $4C + DB $C5 + DB $9F + DB $A0 + DB $FF + DB $8C + DB $5F + DB $AA + DB $C8 + DB $8C + DB $62 + DB $AA + DB $EE + DB $5F + DB $AA + DB $A2 + DB $00 + DB $08 + DB $BD + DB $00 + DB $02 + DB $CD + DB $B2 + DB $AA + DB $D0 + DB $01 + DB $E8 + DB $8E + DB $5D + DB $AA + DB $20 + DB $A4 + DB $A1 + DB $29 + DB $7F + DB $59 + DB $84 + DB $A8 + DB $C8 + DB $0A + DB $F0 + DB $02 + DB $68 + DB $08 + DB $90 + DB $F0 + DB $28 + DB $F0 + DB $20 + DB $B9 + DB $84 + DB $A8 + DB $D0 + DB $D6 diff --git a/donkey/DONKEY.E.S b/donkey/DONKEY.E.S new file mode 100644 index 0000000..333aa95 --- /dev/null +++ b/donkey/DONKEY.E.S @@ -0,0 +1,21 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +HIRES EQU $C057 +BUTN0 EQU $C061 +BUTN1 EQU $C062 +PADDL0 EQU $C064 +PADDL1 EQU $C065 +PTRIG EQU $C070 +HOME EQU $FC58 +WAIT EQU $FCA8 diff --git a/donkey/DONKEYKONG.DSK b/donkey/DONKEYKONG.DSK new file mode 100644 index 0000000..9eb6c9f Binary files /dev/null and b/donkey/DONKEYKONG.DSK differ diff --git a/donkey/donkey kong info.txt b/donkey/donkey kong info.txt new file mode 100644 index 0000000..817b52a --- /dev/null +++ b/donkey/donkey kong info.txt @@ -0,0 +1,73 @@ +DONKEY KONG + +------------- DISK SEARCH -------------- + +$07/$0B-$CA $07/$0D-$95 $08/$0C-$9E +$0A/$08-$F6 $0B/$06-$2A + +Zero page +A9 difficulty (0: normal, 1: hard, 2: expert) +B1 nb players (0: 1 player, 1: 2 players) + +Keys +B1 1 +B2 2 +CE N +C8 H +C5 E +9B ESC +92 CTRL-R +93 CTRL-S +8A UP ARROW +8B DOWN ARROW +88 <= +95 => +C1 A +DA Z +A0 SPACE + +STD RWTS 3.3 +LOADS FROM TE/SF AT $0800 +RAM++, S--, T-- +READS $38 SECTORS THEN SHOWS HGR1 +THEN GOES ON WITH READING UNTIL $98 SECTORS +AND THEN JUMPS TO $4000 + +THERE IS DATA UNTIL T1D + +NB RAM T/S +00 0800 E/F +10 1800 D/F +20 2800 C/F +30 3800 B/F +40 4800 A/F +50 5800 9/F +60 6800 8/F +70 7800 7/F +80 8800 5/F +90 9800 4/F +98 A000 3/F + +7F83 + +BANK 0F +10-0F 2000 + +BANK 10 +11 A700 $10 SECTORS +13-12 2000 + +BANK 11 +14 A700 +16-15 2000 + +BANK 12 +17 A700 +19-18 2000 + +BANK 13 +1A A700 +1C-1B 2000 + +sprites at $0800, $0d40, $1280 +7FA9 + 7FB0 for sprite index diff --git a/graforth/GRAFORTH_IIC.dsk b/graforth/GRAFORTH_IIC.dsk new file mode 100755 index 0000000..96d21d4 Binary files /dev/null and b/graforth/GRAFORTH_IIC.dsk differ diff --git a/graforth/editor.s b/graforth/editor.s new file mode 100644 index 0000000..563af60 --- /dev/null +++ b/graforth/editor.s @@ -0,0 +1,1100 @@ +* +* GraForth - Editor +* +* (c) 1981, Paul Lutus +* (s) 2020, LoGo +* + + xc + xc + mx %11 + typ bin + org $9000 + lst off + +*---------------------------- + +VTAB EQU $FC22 +RDCHAR EQU $FD35 +COUT EQU $FDED + +L6000 = $6000 ; return to Forth +L6006 = L6000+6 ; read line of chars +L8600 = $8600 ; buffer +L8800 = $8800 ; buffer + +*---------------------------- + +L9000 LDA #$4C + LDA $03D2 + CLC + ADC #$09 + STA L9018+2 + STA L901D+2 + STA L9022+2 + ADC #$03 + STA L9052+2 + LDA #$4C +L9018 STA $A6E1 + LDA #L9056 +L9022 STA $A6E3 + LDA L909D + STA $80 + LDA L909D+1 + STA $81 + BIT L990C + BMI L909F + LDA #L8800 + STA L909D+1 + STA $81 + JSR L92A0 + LDA #$FF + STA L990C + LDA #$23 + JSR L9052 + JMP L909F + +L9052 STA $A923 + RTS + +L9056 JSR $03EA + LDA #$23 + JSR L9052 + LDY #$00 + BIT L943E + BPL L906E + STY L943E + JSR L9257 + JMP L90E1 + +L906E LDA L907F,Y + BEQ L9079 + JSR COUT + INY + BNE L906E +L9079 JSR L6006 + JMP L909F + +L907F ASC 878D8D + ASC "Disk Error (Press Return) "00 + +L909D DA L8600 ; buffer + +L909F JSR L98C3 + JSR L97FA + JSR $03EA + JSR L97AD + JSR L97D7 + LDY #$00 +L90B0 LDA L90BB,Y + BEQ L90E1 + JSR COUT + INY + BNE L90B0 + +L90BB ASC "GraFORTH ][ Editor (C) P. Lutus 1981"8D00 + +L90E1 LDA #$FF + STA $33 + LDA #$80 + STA $D9 + STA $76 + JSR L9656 + LDA #$00 + STA $10 + LDA #$8D + JSR COUT + BIT L943E + BPL L9105 +L90FC JSR L6006 + JSR L9832 + JMP L90FC + +L9105 BIT $10 + BPL L9111 + JSR L96E6 + LDA #$A0 + JSR COUT +L9111 JSR L6006 + LDA $0200 + CMP #$8C + BEQ L9105 + BIT $10 + BMI L912A + CMP #$C1 + BNE L912A + LDA #$FF + STA $10 + JMP L9105 + +L912A CMP #$8D + BNE L9134 + LDY #$00 + STY $10 + BEQ L9105 +L9134 BIT $10 + BMI L9140 + CMP #$B0 + BCC L9177 + CMP #$BA + BCS L9177 +L9140 BIT $10 + BMI L9171 + LDY #$00 + JSR L9759 + BIT $8F + BPL L9177 + LDA $8A + STA $86 + LDA $8B + STA $87 + TYA + PHA + JSR L96A3 + LDA $84 + CMP $86 + BNE L9169 + LDA $85 + CMP $87 + BNE L9169 + JSR L9688 +L9169 PLA + TAX + JSR L9834 + JMP L9105 + +L9171 JSR L9832 + JMP L9105 + +L9177 CMP #$E0 + BCC L917D + SBC #$20 +L917D STA $8E + JSR L91A9 + JMP L90E1 + +L9185 LDY #$00 +L9187 LDA #$8D + JSR COUT +L918C LDA L91EB,Y + CMP #$84 + BEQ L91A0 + CMP #$00 + BMI L919D + CMP #$01 + BEQ L91A7 + BNE L91A0 +L919D JSR COUT +L91A0 INY + CMP #$A0 + BEQ L9187 + BNE L918C +L91A7 RTS + + DB $00 +L91A9 CMP #$BF + BNE L91B0 + JMP L9185 + +L91B0 JSR L98C3 + JSR L97FA + LDA $8E + LDX #$00 + LDY #$00 +L91BC LDA L91EB,Y + BEQ L91D0 + CMP $8E + BEQ L91D5 + INX +L91C6 LDA L91EB,Y + INY + CMP #$A0 + BNE L91C6 + BEQ L91BC +L91D0 LDA #$BF + JMP COUT + +L91D5 TXA + ASL + TAX + LDA L923F,X + STA $8A + LDA L923F+1,X + STA $8B + JSR L91E8 + JMP L9257 +L91E8 JMP ($008A) + +L91EB ASC "Save " + ASC "Get " + ASC "Insert " + ASC "Delete " + ASC "Program " + ASC "Memory " + ASC "List " + ASC "Write " + ASC "Erase " + ASC "Autonum " + ASC "Bye " + ASC 8400 + ASC "ConTRoL-D=DOS " + HEX 01 + +L923F DA L9372 + DA L93B1 + DA L961A + DA L944F + DA L94CF + DA L9598 + DA L95C9 + DA L95C6 + DA L9271 + DA L9401 + DA L94CC + DA L92BE + +L9257 BIT L943E + BMI L9269 + LDY #$00 +L925E LDA L926A,Y + BEQ L9269 + JSR COUT + INY + BNE L925E +L9269 RTS + +L926A ASC 8D + ASC "Done"8D00 + +L9271 LDY #$00 +L9273 LDA L928B,Y + BEQ L927E + JSR COUT + INY + BNE L9273 +L927E JSR L6006 + LDA $0200 + CMP #$D9 + BEQ L92A0 + PLA + PLA + RTS + +L928B ASC 8D + ASC "Erase File (Y/N) : "00 + +L92A0 LDA L909D + STA $80 + LDA L909D+1 + STA $81 + LDA #$FF + STA $82 + LDA #$8F + STA $83 + LDA #$00 + LDY #$01 + STA ($80),Y + STA $8FFE + JMP L98C3 + +L92BE LDA #$02 + STA $8E +L92C2 LDY #$00 +L92C4 LDA L9303,Y + BEQ L92CF + JSR COUT + INY + BNE L92C4 +L92CF JSR L6006 + LDA $0200 + CMP #$8D + BNE L92DE + DEC $8E + BNE L92C2 + RTS + +L92DE LDY #$00 +L92E0 LDA $0200,Y + STA $0300,Y + INY + CMP #$8D + BNE L92E0 + JSR COUT + LDA #$84 + JSR COUT + LDY #$00 +L92F5 LDA $0300,Y + JSR COUT + INY + CMP #$8D + BNE L92F5 + JMP L92BE + +L9303 ASC 8D + ASC "Enter DOS Command : "00 + +L9319 LDY #$00 +L931B LDA L9364,Y + BEQ L9326 + JSR COUT + INY + BNE L931B +L9326 LDA $24 + PHA + LDY #$00 +L932B LDA L990D,Y + CMP #$8D + BEQ L9338 + JSR COUT + INY + BNE L932B +L9338 PLA + STA $24 + JSR L6006 + LDY #$00 + LDA $0200 + CMP #$8D + BNE L934A + PLA + PLA + RTS + +L934A LDY #$FF +L934C INY + LDA $0200,Y + STA L990D,Y + CMP #$AF + BEQ L935C + CMP #$8D + BNE L934C + RTS + +L935C PHA + LDA #$8D + STA L990D,Y + PLA + RTS + +L9364 ASC "(Filename) : "00 + +L9372 LDY #$FF + STY $88 + STY $89 + INY + STY $86 + STY $87 + JSR L9319 + CMP #$AF ; / + BNE L9388 + INY + JSR L948F +L9388 JSR L93C8 + JSR L965C +L938E JSR L9645 + CMP #$00 + BEQ L93A9 + JSR L987B + LDA $84 + SEC + SBC $88 + STA $8E + LDA $85 + SBC $89 + ORA $8E + BEQ L938E + BCC L938E +L93A9 LDA #$00 + JSR COUT + JMP L97AD + +L93B1 LDA #$00 + STA $86 + STA $87 + JSR L9319 + CMP #$AF ; / + BNE L93C5 + INY + JSR L948F + JSR L96A3 +L93C5 JMP L9413 + +L93C8 LDA #$8D + STA $8E + LDY #$FF +L93CE INY + LDA L9402,Y + BEQ L93E7 + CMP #$A0 + BNE L93E1 + JSR L93E8 + LDA #$AC + STA $8E + BNE L93CE +L93E1 JSR COUT + JMP L93CE +L93E7 RTS + +L93E8 TYA + PHA + LDY #$00 +L93EC LDA L990D,Y + BEQ L93FF + CMP #$8D + BEQ L93FF + CMP $8E + BEQ L93FF + JSR COUT + INY + BNE L93EC +L93FF PLA + TAY +L9401 RTS + +L9402 ASC 8D + ASC 84 + ASC "OPEN "8D + ASC 84 + ASC "WRITE "8D00 + +L9413 LDA #$8D + STA $8E + LDA #$22 + JSR L9052 + LDY #$FF +L941E INY + LDA L943F,Y + BEQ L9435 + JSR COUT + CMP #$A0 + BNE L941E + JSR L93E8 + LDA #$AC + STA $8E + JMP L941E + +L9435 LDA #$23 + JSR L9052 + DEC L943E + RTS + +L943E HEX 00 +L943F ASC 8D + ASC 84 + ASC "OPEN "8D + ASC 84 + ASC "READ "8D00 + +L944F JSR L948C + BIT $8E + BPL L9486 + JSR L96A3 + LDA $88 + ORA $89 + BNE L946B + LDA $84 + CMP $86 + BNE L9486 + LDA $85 + CMP $87 + BNE L9486 +L946B JSR L9688 + CMP #$FF + BEQ L9486 + JSR L987B + LDA $84 + SEC + SBC $88 + STA $8E + LDA $85 + SBC $89 + ORA $8E + BEQ L946B + BCC L946B +L9486 JSR L98C3 + JMP L97FA + +L948C JSR L9742 +L948F LDA #$00 + STA $8E + STA $86 + STA $87 + STA $88 + STA $89 + JSR L9722 + BIT $8F + BPL L94AC + DEC $8E + LDA $8A + STA $86 + LDA $8B + STA $87 +L94AC LDA $0200,Y + CMP #$8D + BEQ L94CB + LDA #$FF + STA $88 + STA $89 + INY + JSR L9722 + BIT $8F + BPL L94CB + DEC $8E + LDA $8A + STA $88 + LDA $8B + STA $89 +L94CB RTS +L94CC JMP L6000 + +L94CF LDY #$FF + STY $8E + JSR L9536 + LDA $80 + CLC + SBC L909D + STA $8A + LDA $81 + SBC L909D+1 + STA $8B + JSR L96EE + JSR L9536 + CLC + LDA L909D + ADC #$01 + STA $8A + LDA L909D+1 + ADC #$00 + STA $8B + JSR L96EE + JSR L9598 + JSR L9536 + JSR L6006 + LDA $0200 + CMP #$D9 + BNE L9544 + JSR L9536 + JSR L6006 + LDY #$00 + JSR L9759 + BIT $8F + BPL L9544 + JSR L97DC + LDA $8A + STA L909D + STA $80 + LDA $8B + STA L909D+1 + STA $81 + LDY #$01 + LDA #$00 + STA ($80),Y + JMP L98C3 + +L9536 LDY $8E +L9538 INY + LDA L9547,Y + BEQ L9544 + JSR COUT + JMP L9538 + +L9544 STY $8E + RTS + +L9547 ASC 8D8D + ASC "Program Length "00 + ASC 8D + ASC "Position "00 + ASC 8D + ASC "Change Position (Y/N) : "00 + ASC 8D + ASC "Enter New Position : "00 + +L9598 LDY #$00 +L959A LDA L95B8,Y + BEQ L95A5 + JSR COUT + INY + BNE L959A +L95A5 LDA $82 + SEC + SBC $80 + STA $8A + LDA $83 + SBC $81 + STA $8B + JSR L96EE + LDA #$FF + RTS + +L95B8 ASC 8D + ASC "Free Memory "00 + +L95C6 LDA #$00 + DB $2C +L95C9 LDA #$FF + STA L9619 + JSR L948C + BIT $8E + BMI L95DB + LDA #$FF + STA $88 + STA $89 +L95DB JSR L965C +L95DE LDA #$10 + STA $8E +L95E2 LDY #$00 + LDA ($8C),Y + BEQ L9604 + INY + LDA ($8C),Y + BEQ L9604 + JSR L9635 + JSR L987B + LDA $84 + SEC + SBC $88 + STA $10 + LDA $85 + SBC $89 + ORA $10 + BEQ L9607 + BCC L9607 +L9604 JMP L9656 + +L9607 DEC $8E + BNE L95E2 + BIT L9619 + BPL L95DE + JSR RDCHAR + CMP #$83 + BEQ L9604 + BNE L95DE +L9619 DB $00 +L961A LDA #$FF + STA $86 + STA $87 + JSR L9742 + JSR L9759 + BIT $8F + BPL L9632 + LDA $8A + STA $86 + LDA $8B + STA $87 +L9632 JMP L96A3 + +L9635 JSR L96E6 + LDY #$01 + LDA ($8C),Y + CMP #$A0 + BEQ L9645 + LDA #$A0 + JSR COUT +L9645 LDY #$00 + JSR L98A1 + LDA ($8C),Y + BEQ L9655 + JSR COUT + CMP #$8D + BNE L9645 +L9655 RTS + +L9656 LDA #$FF + STA $86 + STA $87 +L965C LDA L909D + STA $8C + LDA L909D+1 + STA $8D + JSR L9872 + LDY #$00 +L966B LDA $84 + SEC + SBC $86 + LDA $85 + SBC $87 + BCS L9687 +L9676 JSR L98A1 + LDA ($8C),Y + BEQ L9687 + CMP #$8D + BNE L9676 + JSR L987B + JMP L966B +L9687 RTS + +L9688 LDY #$00 +L968A JSR L989A + LDA ($82),Y + CMP #$FF + BEQ L969D + PHA + TYA + STA ($82),Y + PLA + CMP #$8D + BNE L968A + RTS + +L969D JSR L98B1 + LDA #$FF + RTS + +L96A3 JSR L97DC + JSR L9872 +L96A9 SEC + LDA $84 + SBC $86 + LDA $85 + SBC $87 + BCS L96C5 +L96B4 JSR L96C6 + CMP #$FF + BEQ L96C5 + CMP #$8D + BNE L96B4 + JSR L987B + JMP L96A9 +L96C5 RTS + +L96C6 JSR L989A + LDY #$00 + LDA ($82),Y + CMP #$FF + BEQ L96DE + STA ($80),Y + JSR L9893 +L96D6 PHA + TYA + STA ($80),Y + STA ($82),Y + PLA + RTS + +L96DE JSR L98B1 + LDA #$FF + JMP L96D6 + +L96E6 LDA $84 + STA $8A + LDA $85 + STA $8B +L96EE JSR L96FB +L96F1 LDA $02F0,Y + JSR COUT + DEY + BPL L96F1 + RTS + +L96FB LDY #$FF +L96FD INY + JSR L970D + EOR #$B0 + STA $02F0,Y + LDA $8A + ORA $8B + BNE L96FD + RTS + +L970D LDX #$10 + LDA #$00 +L9711 ASL $8A + ROL $8B + ROL + CMP #$0A + BCC L971E + SBC #$0A + INC $8A +L971E DEX + BNE L9711 + RTS + +L9722 LDA #$00 + STA $8F + STA $8A + STA $8B + DEY +L972B INY + LDA $0200,Y + CMP #$A0 + BEQ L972B + CMP #$B0 + BCC L9741 + CMP #$BA + BCS L9741 + JSR L977E + JMP L972B +L9741 RTS + +L9742 LDY #$FF +L9744 INY + LDA $0200,Y + CMP #$8D + BEQ L9758 + CMP #$A0 + BEQ L9758 + CMP #$B0 + BCC L9744 + CMP #$BA + BCS L9744 +L9758 RTS + +L9759 LDA #$00 + STA $8F + STA $8A + STA $8B + DEY +L9762 INY + LDA $0200,Y + CMP #$A0 + BEQ L9762 + DEY +L976B INY + LDA $0200,Y + CMP #$B0 + BCC L977D + CMP #$BA + BCS L977D + JSR L977E + JMP L976B +L977D RTS + +L977E DEC $8F + PHA + JSR L97A8 + LDA $8B + PHA + LDA $8A + PHA + JSR L97A8 + JSR L97A8 + PLA + CLC + ADC $8A + STA $8A + PLA + ADC $8B + STA $8B + PLA + EOR #$B0 + CLC + ADC $8A + STA $8A + BCC L97AC + INC $8B + RTS + +L97A8 ASL $8A + ROL $8B +L97AC RTS + +L97AD LDA $25 + PHA + LDY #$00 +L97B2 LDA L97C3,Y + BEQ L97BD + JSR COUT + INY + BNE L97B2 +L97BD PLA + STA $25 + JMP VTAB + +L97C3 ASC 8D + ASC 84 + ASC "CLOSE"8D + ASC 84 + ASC "MAXFILES1"8D00 + +L97D7 LDA #$8C + JMP COUT + +L97DC LDY #$00 + JSR L98A8 +L97E1 LDA ($80),Y + CMP #$FF + BNE L97ED + JSR L9893 + JMP L9816 + +L97ED STA ($82),Y + TYA + BNE L97F6 + DEC $83 + DEC $81 +L97F6 DEY + JMP L97E1 + +L97FA LDY #$00 + JSR L989A +L97FF LDA ($82),Y + CMP #$FF + BNE L980B + JSR L98B1 + JMP L9816 + +L980B STA ($80),Y + INY + BNE L97FF + INC $81 + INC $83 + BNE L97FF +L9816 TYA + CLC + ADC $80 + STA $80 + BCC L9820 + INC $81 +L9820 TYA + CLC + ADC $82 + STA $82 + BCC L982A + INC $83 +L982A LDY #$00 + TYA + STA ($80),Y + STA ($82),Y + RTS + +L9832 LDX #$00 +L9834 LDA $0200,X + JSR L9846 + CMP #$FF + BEQ L9843 + INX + CMP #$8D + BNE L9834 +L9843 JMP L987B + +L9846 LDY $81 + CPY $83 + BNE L9855 + LDY $80 + CPY $82 + BNE L9855 + JMP L9598 + +L9855 LDY #$00 + CMP #$00 + BEQ L9871 + CMP #$FF + BEQ L9871 + CMP #$8D + BEQ L9867 + CMP #$A0 + BCC L9871 +L9867 STA ($80),Y + JSR L9893 + PHA + TYA + STA ($80),Y + PLA +L9871 RTS + +L9872 LDA #$0A + STA $84 + LDA #$00 + STA $85 + RTS + +L987B LDA $84 + CLC + ADC #$0A + STA $84 + BCC L9886 + INC $85 +L9886 RTS + + LDA $84 + SEC + SBC #$0A + STA $84 + BCS L9892 + DEC $85 +L9892 RTS + +L9893 INC $80 + BNE L9899 + INC $81 +L9899 RTS + +L989A INC $82 + BNE L98A0 + INC $83 +L98A0 RTS + +L98A1 INC $8C + BNE L98A7 + INC $8D +L98A7 RTS + +L98A8 LDA $80 + BNE L98AE + DEC $81 +L98AE DEC $80 + RTS + +L98B1 LDA $82 + BNE L98B7 + DEC $83 +L98B7 DEC $82 + RTS + + LDA $8C + BNE L98C0 + DEC $8D +L98C0 DEC $8C + RTS + +L98C3 LDA L909D + STA $80 + LDA L909D+1 + STA $81 + LDA #$FF + STA $82 + LDA #$8F + STA $83 + LDY #$00 + LDA #$FF + STA ($80),Y + STA ($82),Y +L98DD LDA ($82),Y + BEQ L98EA + TYA + BNE L98E6 + DEC $83 +L98E6 DEY + JMP L98DD + +L98EA TYA + CLC + ADC $82 + STA $82 + BCC L98F4 + INC $83 +L98F4 LDY #$00 +L98F6 LDA ($80),Y + BEQ L9901 + INY + BNE L98F6 + INC $81 + BNE L98F6 +L9901 TYA + CLC + ADC $80 + STA $80 + BCC L990B + INC $81 +L990B RTS + +L990C DB $00 + +L990D ASC 8D + ASC " " + ASC " " diff --git a/graforth/graforth.s b/graforth/graforth.s new file mode 100644 index 0000000..1a0de4f --- /dev/null +++ b/graforth/graforth.s @@ -0,0 +1,4452 @@ +* +* GraForth +* +* (c) 1981, Paul Lutus +* (s) 2020, LoGo +* + + xc + xc + mx %11 + typ bin + org $6000 + lst off + +*---------------------------- + +WNDLFT = $20 +WNDWDTH = $21 +WNDTOP = $22 +WNDBTM = $23 +CH = $24 +CV = $25 +INVFLG = $32 +CSWL = $36 +CSWH = $37 +KSWL = $38 +KSWH = $39 +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +AMPERV EQU $03F5 +IRQLOC EQU $03FE +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +TXTPAGE1 EQU $C054 +HIRES EQU $C057 +BUTN2 EQU $C063 +LCBANK2 EQU $C083 +INIT EQU $FB2F +VTABZ EQU $FC24 +HOME EQU $FC58 +RDKEY EQU $FD0C +RDCHAR EQU $FD35 +PRBYTE EQU $FDDA +COUT EQU $FDED +SETKBD EQU $FE89 +SETVID EQU $FE93 +MON EQU $FF65 + +*---------------------------- + +L0800 = $0800 +L2000 = $2000 ; This is HGR1 +L9000 = $9000 ; EDITOR 1 LOAD ADDRESS +LB600 = $B600 ; EDITOR 2 LOAD ADDRESS +L9A00 = $9A00 ; HIMEM 48K +LC000 = $C000 ; HIMEM 64K + +*---------------------------- + +L6000 JMP L609C + JMP L6421 + JMP L6A9B + +L6009 STA $B7 + LDX $CA + BMI L602A + BNE L601A + LSR +L6012 STA $B8 + STA $B9 +L6016 LDY #$00 + BEQ L6036 +L601A DEX + BNE L6022 + LSR $92 + JMP L6012 + +L6022 STA $B9 + LSR + STA $B8 + JMP L6016 + +L602A STA $B8 + LSR $92 +L602E LSR + INX + BNE L602E + STA $B9 + LDY #$02 +L6036 LDA L6082,Y + STA L606C + LDA L6082+1,Y + STA L606D + LDX #$FF + TYA + BEQ L6048 + INX +L6048 STX $BB + LDY $B7 +L604C LDX $92 +L604E CPY $B9 + BNE L6057 + BVS L6057 + LDA SPKR +L6057 DEY + BNE L605F + LDA SPKR + LDY $B7 +L605F SEC + DEX + BNE L607A + LDA $BA + SBC $B7 + STA $BA + CLV + BCS L604C +L606C NOP +L606D NOP + BIT KBD + BMI L6079 + BIT $BB + DEC $B8 + BNE L604C +L6079 RTS + +L607A LDA #$03 +L607C SBC #$01 + BNE L607C + BEQ L604E +L6082 DEC $B9 + NOP + NOP +L6086 LDA $03D2 + CMP #>LC000 + BCC L6097 + LDA LCBANK2 + LDA LCBANK2 + LDA #>LC000 + BNE L6099 +L6097 LDA #>L9A00 +L6099 STA $AD + RTS + +L609C LDX $03EA + LDA $03D2 + CLC + ADC #$09 + STA L60F9+2 + ADC #$03 + STA L6105+2 + STA L617F+2 + ADC #$01 + STA L617C+2 + STA L610D+2 + LDY #$00 + STY $D8 + LDA #$4C + STA AMPERV + JSR L60F4 + LDA #L6000 + STA SOFTEV+1 + STA AMPERV+2 + STA $03F1 + STA IRQLOC+1 + EOR #$A5 + STA PWREDUP + LDA #$0B + INY + JSR L60F4 + LDA #$61 + INY + JSR L60F4 + JMP L6248 + +L60F4 CPX #$60 + BNE L60F9 + RTS + +L60F9 STA $DEE1,Y ; LOGO + RTS + +L60FD LDX $03EA + CPX #$60 + BNE L6105 + RTS + +L6105 STA $E123 + RTS + +L6109 DB $10 +L610A DB $05 + +L610B LDY #$10 +L610D LDA $E25C +L6110 STA L610A + STY L6109 + JSR L6086 + LDA #$23 + JSR L60FD + LDA $A6 + PHA + JSR L6421 + LDA #$00 + STA $C7 + PLA + BPL L613C + LDA L6109 + CMP #$10 + BNE L613C + LDA L610A + CMP #$05 + BNE L613C + JMP L62AE + +L613C LDA #$87 + STA $A8 + JSR COUT + LDY #$00 + BIT $A3 + BPL L614B + LDY #$04 +L614B LDA L6195,Y + BEQ L615B + BMI L6155 + TAY + BNE L614B +L6155 JSR COUT + INY + BNE L614B +L615B INY + LDA L6195,Y + BEQ L6172 + CMP L6109 + BNE L615B +L6166 INY + LDA L6195,Y + BPL L6172 + JSR COUT + JMP L6166 + +L6172 LDA L6109 + CMP #$10 + BNE L618C + LDX L610A +L617C LDY $E23F,X +L617F LDA $E171,Y + INY + PHA + ORA #$80 + JSR COUT + PLA + BPL L617F +L618C JSR L7F2C + JSR L6A9B + JMP L6248 + +L6195 ASC 8D + ASC "Run" + HEX 0D + ASC 8D + ASC "Compile Error: " + DB $00 + DB $10 + ASC "DOS: " + DB $11 + ASC "Program Too Long" + DB $12 + ASC "If-Then, While-Repeat" + DB $13 + ASC ""A2":"A2" Not Equal To "A2";"A2"" + DB $00 + +L61EE LDY #$00 +L61F0 LDA L61FC,Y + BEQ L61FB + JSR COUT + INY + BNE L61F0 +L61FB RTS + +L61FC ASC "GraFORTH ][ (C) P. Lutus 1981"8D00 +L621B BIT L6247 + BMI L6230 + DEC L6247 + LDY #$00 +L6225 LDA L6231,Y + BEQ L6230 + JSR COUT + INY + BNE L6225 +L6230 RTS + +L6231 ASC 8D + ASC 84 + ASC "BLOADCHR.SYS,A$800"8D00 +L6247 DB $00 + +L6248 JSR L6086 + JSR L7ADF + JSR L621B + LDA #$FF + JSR L7785 + LDA #$00 + JSR L788F + LDA #$00 + STA $AC + STA L754D + STA $CA + STA L7C50 + STA $C7 + STA L7705 + STA $C0 + STA $A6 + STA $9C + STA $9D + STA L6B77 + STA CH + STA L7FBC + STA $A4 + TAX + JSR L7F53 + JSR L79BB + JSR L7FB0 + LDA #$23 + JSR L60FD + LDA #$03 + JSR L76BC + JSR L7348 + JSR L7867 + JSR L7ACE + JSR L61EE + JSR L6F81 + LDX #$FF + TXS + LDA #$FF + STA $33 + LDA #$80 + STA $D9 + STA $76 +L62AE BIT $A6 + BMI L62B5 + JSR L6510 +L62B5 JSR L6303 + LDA $A2 + BEQ L62C4 + LDY #$13 + JSR L610D + JMP L62AE + +L62C4 BIT $A8 + BMI L62AE + JSR L634C + JMP L62AE + +L62CE LDA L7C50 + BEQ L6302 + LDY #$00 + STY $A5 +L62D7 LDY $A5 + CPY $9C + BEQ L6302 + LDA #$8D + JSR COUT + LDA #$DB ; [ + JSR COUT + JSR L7F2C + LDA $1E00,Y + INY + LDX $1E00,Y + INY + STY $A5 + JSR L7BF3 + JSR L7F2C + LDA #$DD ; ] + JSR COUT + JMP L62D7 +L6302 RTS + +L6303 LDA #$00 + STA $A2 + STA $A1 + STA $A8 + JSR L636F + JSR L62CE +L6311 JSR L6545 + LDY #$FF +L6316 INY + LDA $0200,Y + CMP #$A0 + BEQ L6316 + CMP #$8D + BEQ L6311 + STY $A7 + LDA #$00 + STA $A0 + JSR L6334 + BIT $A8 + BMI L6333 + LDA $A2 + BNE L6311 +L6333 RTS + +L6334 BIT $A0 + BMI L6342 + BIT $A8 + BMI L6342 + JSR L63CB + JMP L6334 + +L6342 LDA $A2 + BEQ L6347 + RTS + +L6347 LDA #$60 + JMP L6A8B + +L634C LDA #$00 + STA $A3 + JSR L6356 + JMP ($008E) + +L6356 LDA L6FC9 + CLC + ADC #$02 + STA $8E + LDA L6FC9+1 + ADC #$00 + STA $8F +L6365 CMP $AD + BCC L636E + LDY #$11 + JMP L610D +L636E RTS + +L636F JSR L6356 + LDY #$00 + TYA + STA ($8E),Y + RTS + +L6378 LDY $A7 + LDA $0200,Y + CMP #$8D + BEQ L6385 + CMP #$A0 + BNE L6388 +L6385 JSR L63FB +L6388 LDA L6FC9 + STA $9A + LDA L6FC9+1 + STA $9B + BNE L63A5 +L6394 LDY #$00 + LDA ($9A),Y + TAX + INY + LDA ($9A),Y + INY + CMP #$00 + BEQ L63CA + STA $9B + STX $9A +L63A5 LDY #$02 + LDX $A7 +L63A9 LDA ($9A),Y + BPL L63B6 + CMP $0200,X + BNE L6394 + INX + INY + BNE L63A9 +L63B6 CPY #$02 + BEQ L6394 + LDA $0200,X + CMP #$8D + BEQ L63C7 + CMP #$A0 + BNE L6394 + BEQ L63C9 +L63C7 DEC $A0 +L63C9 CLC +L63CA RTS + +L63CB JSR L6378 + LDA ($9A),Y + PHA + TYA + CLC + ADC $9A + STA $9A + BCC L63DB + INC $9B +L63DB PLA + CMP #$0A + BNE L63F4 + JSR L63E6 + JMP L63FB + +L63E6 LDA #$FF + STA $A3 + JMP ($009A) + +L63ED LDA $9A + LDX $9B + JMP L6A80 + +L63F4 LDA #$00 + STA $A3 + JSR L63ED +L63FB LDY $A7 + BIT $A0 + BMI L641E + DEY +L6402 INY + LDA $0200,Y + CMP #$8D + BEQ L641C + CMP #$A0 + BNE L6402 +L640E INY + LDA $0200,Y + CMP #$8D + BEQ L641C + CMP #$A0 + BEQ L640E + BNE L641E +L641C DEC $A0 +L641E STY $A7 + RTS + +*---------------------------- + +L6421 JSR L6427 + JMP L6560 + +L6427 LDA #L6C0C + STA CSWH + LDA #L6AD5 + STA KSWH + JMP $03EA + +L643A JSR L636F + JSR L6A8F + JSR L6A8F + JSR L7233 + LDY #$00 + STY $94 + STY L7224 +L644D LDA L64C6,Y + JSR COUT + INY + CMP #$BA ; : + BNE L644D + JSR L7065 + LDY #$00 +L645D LDA L64D7,Y + JSR COUT + INY + CMP #$BA ; : + BNE L645D + JSR L6A9B + LDA #$00 + STA L6247 + LDA $0200 + CMP #$D9 ; Y + BNE L647A + DEC L7224 +L647A LDY #$FF +L647C INY + LDA L64E7,Y + CMP #$BF ; ? + BNE L648A + JSR L64F7 + JMP L647C + +L648A CMP #$BE ; > + BEQ L64A5 + CMP #$BC ; < + BNE L649F + LDA #$60 + JSR PRBYTE + LDA #$00 + JSR PRBYTE + JMP L647C + +L649F JSR COUT + JMP L647C + +L64A5 SEC + LDA $8E + SBC #$00 + TAY + LDA $8F + SBC #$60 + JSR PRBYTE + TYA + JSR PRBYTE + LDA #$8D + JSR COUT + LDA #$00 + STA L7224 + DEC L6247 + JMP L636F + +L64C6 ASC 8D + ASC "Save File Name :" +L64D7 ASC 8D + ASC "Autorun (Y/N) :" +L64E7 ASC 8D84 + ASC "BSAVE?,A$<,L$>" +L64F7 TYA + PHA + LDY #$00 +L64FB LDA ($8C),Y + BEQ L650D + CMP #$8D + BEQ L650D + CMP $94 + BEQ L650D + JSR COUT + INY + BNE L64FB +L650D PLA + TAY + RTS + +L6510 LDA L7224 + BNE L6516 + RTS + +L6516 LDA L6FC9 + STA $8C + LDA L6FC9+1 + STA $8D + LDY #$00 + STY $A3 + LDA ($8C),Y + PHA + INY + LDA ($8C),Y + STA $8D + PLA + STA $8C +L652F INY + LDA ($8C),Y + BMI L652F + TYA + CLC + ADC $8C + STA $8C + BCC L653E + INC $8D +L653E LDA #$00 + STA $AC + JMP ($008C) + +L6545 BIT $A6 + BMI L6556 + LDY #$00 +L654B LDA L6559,Y + JSR COUT + INY + CMP #$A0 + BNE L654B +L6556 JMP L6A9B + +L6559 ASC 8D + ASC "Ready " +L6560 LDA $03EA + CMP #$60 + BNE L6568 + RTS + +L6568 LDY #$00 + STY $A6 + LDA CV + PHA +L656F LDA L6580,Y + BEQ L657A + JSR COUT + INY + BNE L656F +L657A PLA + STA CV + JMP L6CC3 + +L6580 ASC 8D + ASC 84 + ASC "CLOSE"8D00 +L6589 LDA $8E + SEC + SBC #$05 + STA $8C + LDA $8F + SBC #$00 + STA $8D + LDA $8C + SEC + SBC L6FC9 + LDA $8D + SBC L6FC9+1 + BCC L65BC + LDY #$02 + LDA ($8C),Y + CMP #$72 + BNE L65BC + LDA $8C + STA $8E + LDA $8D + STA $8F + INY + INY + LDA ($8C),Y + TAX + DEY + LDA ($8C),Y + RTS + +L65BC LDA #$00 + LDX #$00 + RTS + +L65C1 LDX #$FF + BNE L65C7 +L65C5 LDX #$00 +L65C7 LDA #$8D + JSR COUT + LDY $A7 +L65CE LDA $0200,Y + CMP #$8D + BEQ L65DF + CMP #$A0 + BEQ L65DF + JSR COUT + INY + BNE L65CE +L65DF LDY #$00 +L65E1 LDA L661C,Y + CPX #$00 + BEQ L65EB + LDA L6629,Y +L65EB JSR COUT + INY + CMP #$A8 + BNE L65E1 + LDY #$00 +L65F5 LDA L6635,Y + JSR COUT + INY + CMP #$A0 + BNE L65F5 + BIT $C7 + BMI L6608 + BIT $A6 + BPL L6619 +L6608 DEC $A8 + LDY #$00 + STY $A6 + STY $C7 + LDA CH + PHA + JSR L6560 + PLA + STA CH +L6619 JMP L6A9B + +L661C ASC " Not Unique (" +L6629 ASC " Not Found (" +L6635 ASC "Return) " + +L663D INC $8C ; not called? + BNE L6643 + INC $8D +L6643 RTS + +L6644 LDA $F1 + LSR + TAX + LDA L68C8,X + STA $0314 + LDA L6908,X + STA $0311 + LDA L68E8,X + STA $0310 + STA $0315 + LDA $F2 + LSR + TAX + LDA L68C8,X + STA $031E + LDA L6908,X + STA $0318 + LDA L68E8,X + STA $0316 + STA $0320 + LDA $F3 + LSR + TAX + LDA L68C8,X + STA $0325 + LDA L6908,X + STA $0322 + LDA L68E8,X + STA $0321 + STA $0326 + RTS + +L6690 LDA $C6 + BIT L77A6 + BPL L6699 + EOR #$01 +L6699 JSR L789A + LDA #$00 +L669E STA $B4 + TAY +L66A1 LDA $1700,Y + CMP #$01 + BEQ L66AD + LDA $1900,Y + BEQ L66E6 +L66AD LDA #$FF + JSR L66F6 + LDY $B4 + LDA $1900,Y + CMP #$01 + BEQ L66CB + LDX #$F0 +L66BD LDA $1900,Y + STA $00,X + INY + INX + BNE L66BD + LDA #$00 + JSR L6714 +L66CB LDY $B4 + LDX #$10 +L66CF LDA $1800,Y + STA $1700,Y + LDA $1900,Y + STA $1800,Y + INY + DEX + BNE L66CF + LDY $B4 + LDA #$00 + STA $1900,Y +L66E6 LDA $B4 + CLC + ADC #$10 + BCS L66F0 + JMP L669E + +L66F0 LDX $C6 + LDA $C054,X + RTS + +L66F6 LDX $1700,Y + BNE L66FC + RTS + +L66FC PHA + LDA #$00 +L66FF STA $1700,Y + LDX #$F0 +L6704 LDA $1700,Y + STA $00,X + INY + INX + BNE L6704 + PLA + BIT L754D + BPL L6714 + RTS + +L6714 LDX $BF + CPX #$51 + BEQ L6744 + EOR INVFLG + BPL L6744 + JSR L672B + JSR L6744 + LDA $BF + LDX $C3 + JMP L79BF + +L672B LDA #$49 + STA L7A7C + STA L7843 + LDA #$FF + STA L7A7D + STA L7844 + LDA #$31 + STA L7A7E + STA L7845 + RTS + +L6744 JSR L6644 + LDX #$0A + LDA #$00 +L674B STA $DA,X + DEX + BPL L674B + LDA $F9 + ASL + ASL + STA $DA + LDA $FA + ASL + ASL + STA $DF + LDA $FB + ASL + ASL + STA $E4 + LDA #$0B ; All are low buffer pointer + STA L686D+1 + JSR L6822 + LDA #$16 + STA L686D+1 + JSR L681F + LDA #$21 + STA L686D+1 + JSR L681F + JSR L6813 + LDA $FC + JSR L76BC + LDA #$00 + STA L686D+1 + LDY $B4 + LDA $FD + STA $B5 + LDA $FE + BNE L6792 +L6791 RTS + +L6792 STA $B6 +L6794 LDY #$00 + LDA ($B5),Y + CMP #$FF + BEQ L6791 + STA $9F + AND #$07 + BEQ L67A5 + JSR L76BC +L67A5 LDY #$03 +L67A7 LDA ($B5),Y + CLC + ADC |$00F3,Y + STA $02FF,Y + DEY + BNE L67A7 + LDA #$00 + STA $BC + LDY #$02 + LDA $FB + BNE L67BE + DEY +L67BE STY $BB + JSR L682A + LDA $E5 + LDY $E7 + BEQ L67CC + JSR L68AC +L67CC CLC + ADC $F7 + STA $80 + LDA $E6 + LDY $E7 + BEQ L67DA + JSR L68AC +L67DA CLC + ADC $F8 + STA $82 + BIT L754D + BPL L67F4 + BIT $9F + BPL L67EE + JSR L7492 + JMP L6806 + +L67EE JSR L748F + JMP L6806 + +L67F4 BIT $9F + BPL L67FE + JSR L78FD + JMP L6806 + +L67FE LDA $80 + STA $84 + LDA $82 + STA $86 +L6806 LDA $B5 + CLC + ADC #$04 + STA $B5 + BCC L6794 + INC $B6 + BNE L6794 +L6813 LDY #$0A +L6815 LDA |$00E5,Y + STA |$00DA,Y + DEY + BPL L6815 + RTS + +L681F JSR L6813 +L6822 LDA #$08 + STA $BC +L6826 LDA #$02 + STA $BB +L682A LDA #$02 + STA $BE + LDA #$00 + STA $B9 +L6832 JSR L6850 + DEC $BE + BPL L6832 + LDA $BC + ORA $BB + TAX + LDA $B9 + STA $E5,X + DEC $BB + BPL L682A + LDA $BC + SEC + SBC #$04 + STA $BC + BPL L6826 +L684F RTS + +L6850 LDX #$00 + LDA $BE + ASL + ASL + ORA $BB + TAY + LDA |$00DA,Y + BEQ L684F + BPL L6866 + EOR #$FF + CLC + ADC #$01 + INX +L6866 STA $B7 + LDA $BC + ORA $BE + TAY +L686D LDA $0300,Y + BEQ L684F + BPL L687A + EOR #$FF + CLC + ADC #$01 + INX +L687A STA $B8 + CMP #$7F + BNE L6884 + LDA $B7 + BNE L689E +L6884 LDA $B7 + CMP #$7F + BNE L688E + LDA $B8 + BNE L689E +L688E DEC $B8 + LDY #$07 + LDA #$00 +L6894 LSR $B7 + BCC L689A + ADC $B8 +L689A LSR + DEY + BNE L6894 +L689E DEX + BNE L68A6 + EOR #$FF + CLC + ADC #$01 +L68A6 CLC + ADC $B9 + STA $B9 + RTS + +L68AC LDX #$00 + STA $B9 + JSR L68BE + STA $B7 + TYA + JSR L68BE + STA $B8 + JMP L688E + +L68BE CMP #$80 + BCC L68C7 + INX + EOR #$FF + ADC #$00 +L68C7 RTS + +L68C8 HEX 00060C13191F252B31363C41474C5155 + HEX 5A5E62666A6D707375787A7B7D7E7E7F +L68E8 HEX 7F7F7E7E7D7B7A787573706D6A66625E + HEX 5A55514C47413C36312B251F19130C06 +L6908 HEX 00FAF4EDE7E1DBD5CFCAC4BFB9B4AFAB + HEX A6A29E9A9693908D8B88868583828281 + HEX 81818282838586888B8D9093969A9EA2 + HEX A6ABAFB4B9BFC4CACFD5DBE1E7EDF4FA + HEX FF060C12181F252B30363C41474C5155 + HEX 5A5E62666A6D707376787A7C7D7E7F7F + HEX 7F7F7F7E7D7C7A787673706D6A66625E + HEX 5A55514C47413C36302B251F18120C06 + +L6988 LDY #$02 + LDX #$00 +L698C LDA |$0095,Y + BPL L69A3 + INX + SEC + LDA #$00 + SBC |$0094,Y + STA |$0094,Y + LDA #$00 + SBC |$0095,Y + STA |$0095,Y +L69A3 DEY + DEY + BPL L698C + STX $9E + RTS + +L69AA DEC $9E + BNE L69BB + SEC + LDA #$00 + SBC $96 + STA $96 + LDA #$00 + SBC $97 + STA $97 +L69BB RTS + +L69BC LDY #$10 + LDA #$00 + STA $98 + STA $99 +L69C4 ASL $98 + ROL $99 + ASL $94 + ROL $95 + BCC L69DB + CLC + LDA $98 + ADC $96 + STA $98 + LDA $99 + ADC $97 + STA $99 +L69DB DEY + BNE L69C4 + LDA $98 + STA $96 + LDA $99 + STA $97 + RTS + +L69E7 LDY #$10 + LDA #$00 + STA $98 + STA $99 +L69EF ASL $96 + ROL $97 + ROL $98 + ROL $99 + SEC + LDA $98 + SBC $94 + TAX + LDA $99 + SBC $95 + BCC L6A09 + STA $99 + STX $98 + INC $96 +L6A09 DEY + BNE L69EF + RTS + +L6A0D LDY $A4 + STA $032C,Y + TXA + INY + STA $032C,Y + INY + STY $A4 + RTS + +L6A1B LDY $A4 + DEY + LDX $032C,Y + STX $8D + DEY + LDA $032C,Y + STA $8C + STY $A4 + RTS + +L6A2C LDY $9C + BNE L6A32 + INY + INY +L6A32 DEY + LDX $1E00,Y + DEY + LDA $1E00,Y + STY $9C + RTS + +L6A3D LDY $9C + STA $1E00,Y + INY + TXA + STA $1E00,Y + INY + BNE L6A4C + DEY + DEY +L6A4C STY $9C + RTS + +L6A4F LDY $9D + BNE L6A55 + INY + INY +L6A55 DEY + LDX $1F00,Y + DEY + LDA $1F00,Y + STY $9D + RTS + +L6A60 LDY $9D + STA $1F00,Y + INY + TXA + STA $1F00,Y + INY + BNE L6A6F + DEY + DEY +L6A6F STY $9D + RTS + +L6A72 PHA + LDA #$4C + JSR L6A8B + PLA + JSR L6A8B + TXA + JMP L6A8B + +L6A80 PHA + LDA #$20 + JSR L6A8B + PLA + JSR L6A8B + TXA +L6A8B LDY #$00 + STA ($8E),Y +L6A8F INC $8E + BNE L6A9A + INC $8F + LDA $8F + JMP L6365 +L6A9A RTS + +*---------------------------- + +L6A9B LDX #$01 +L6A9D TXA + BEQ L6AA1 + DEX +L6AA1 JSR RDCHAR + CMP #$95 + BNE L6AAC + LDA ($28),Y + ORA #$80 +L6AAC STA $0200,X + CMP #$8D + BNE L6AC3 + BIT $A6 + BMI L6AC0 + BIT $C7 + BMI L6AC0 + PHA + JSR L6D6E + PLA +L6AC0 JMP L6ACD + +L6AC3 JSR L6ACD + CMP #$88 + BEQ L6A9D + INX + BNE L6AA1 +L6ACD BIT $C7 + BMI L6AD4 + JMP COUT +L6AD4 RTS + +*---------------------------- + +L6AD5 STY $5B + STX $5A + STA $C4 + STA ($28),Y + LDA INVFLG + STA $B2 + JSR L6CC3 + JSR L6AF9 + STA $A9 + LDA $B2 + STA INVFLG + LDA $C4 + JSR L6D8A + LDA $A9 + LDX $5A + LDY $5B + RTS + +L6AF9 JSR L6BDD + CMP #$89 + BNE L6B06 + JSR L6BB5 + JMP L6AF9 + +L6B06 CMP #$8F + BNE L6B23 + JSR L6BDD + JSR L6B79 + LDX #$04 +L6B12 CMP L6B6D,X + BEQ L6B1A + DEX + BNE L6B12 +L6B1A LDA L6B72,X + STA L6B77 + JMP L6AF9 + +L6B23 LDX L6B77 + CPX #$80 + BNE L6B39 + CMP #$9B + BNE L6B39 + BIT L6B78 + BMI L6B3C + DEC L6B78 + JMP L6AF9 + +L6B39 JSR L6B42 +L6B3C LDY #$00 + STY L6B78 + RTS + +L6B42 CPX #$00 + BPL L6B49 + JSR L6BA0 +L6B49 JSR L6B8B + CPX #$20 + BNE L6B53 + JMP L6B79 + +L6B53 CPX #$40 + BNE L6B5A + JMP L6B80 + +L6B5A CPX #$C0 + BNE L6B63 + BIT BUTN2 + BMI L6B80 +L6B63 CPX #$80 + BNE L6B6C + BIT L6B78 + BPL L6B80 +L6B6C RTS + +L6B6D ASC 00 + ASC "ULSE" +L6B72 HEX 002040C080 + +L6B77 DB $00 +L6B78 DB $00 + +L6B79 CMP #$E0 + BCC L6B7F + SBC #$20 +L6B7F RTS + +L6B80 CMP #$C0 + BCC L6B8A + CMP #$E0 + BCS L6B8A + ADC #$20 +L6B8A RTS + +L6B8B LDY #$02 +L6B8D CMP L6B9A,Y + BEQ L6B96 + DEY + BPL L6B8D + RTS + +L6B96 LDA L6B9D,Y + RTS + +L6B9A HEX 9E9D80 +L6B9D ASC "[_\" + +L6BA0 LDY #$02 +L6BA2 CMP L6BAF,Y + BEQ L6BAB + DEY + BPL L6BA2 + RTS + +L6BAB LDA L6BB2,Y + RTS + +L6BAF ASC "^]@" +L6BB2 ASC "NMP" + +L6BB5 LDA $B2 + STA INVFLG + LDA CH + PHA + LDA WNDWDTH + STA CH + DEC CH +L6BC2 DEC CH + JSR L6DFB + INC CH + JSR L6D8A + DEC CH + PLA + CMP CH + BEQ L6BD6 + PHA + BNE L6BC2 +L6BD6 LDA #$A0 + STA $C4 + JMP L6D8A + +L6BDD BIT $C7 + BPL L6BF2 + JMP L718A + +L6BE4 LDA #$40 +L6BE6 BIT KBD + BMI L6BF9 + SBC #$01 + BCS L6BE6 + DEY + BNE L6BE4 +L6BF2 JSR L6C00 + LDY #$00 + BEQ L6BE4 +L6BF9 LDA KBD + BIT KBDSTROBE + RTS + +L6C00 LDA INVFLG + EOR #$FF + STA INVFLG + JSR L6DFB + JMP L6D8A + +L6C0C PHA + STY $5B + STX $5A + BIT L7AC8 + BMI L6C19 + JSR L6B79 +L6C19 JSR L6C22 + LDX $5A + LDY $5B + PLA + RTS + +L6C22 CMP #$A0 + BCS L6C5D + CMP #$80 + BCC L6C5D + CMP #$8C + BNE L6C31 + JMP L6D41 + +L6C31 CMP #$8D + BNE L6C4B + LDA KBD + BPL L6C80 + CMP #$93 + BNE L6C80 + BIT KBDSTROBE +L6C41 LDA KBD + BPL L6C41 + STA KBDSTROBE + BMI L6C80 +L6C4B CMP #$88 + BEQ L6C69 + CMP #$87 + BNE L6C56 + JMP L73F2 + +L6C56 CMP #$8B + BNE L6C68 + JMP L6CE9 + +L6C5D JSR L6D8A + INC CH + LDA CH + CMP WNDWDTH + BCS L6C80 +L6C68 RTS + +L6C69 DEC CH + BMI L6C6E + RTS + +L6C6E LDA WNDWDTH + STA CH + DEC CH + LDA WNDTOP + CMP CV + BCS L6C7F + DEC CV + JMP L6CC3 +L6C7F RTS + +L6C80 LDA #$00 + STA CH + INC CV + LDA CV + CMP WNDBTM + BCC L6CC5 + LDA WNDTOP + PHA +L6C8F PLA + PHA + CLC + ADC #$01 + JSR L6CC5 + LDA $28 + STA $26 + LDA $29 + STA $27 + PLA + PHA + STA CV + JSR L6CC5 + PLA + CLC + ADC #$01 + CMP WNDBTM + BCS L6CBC + PHA + LDY WNDWDTH + DEY +L6CB2 LDA ($26),Y + JSR L6D8C + DEY + BPL L6CB2 + BMI L6C8F +L6CBC LDA #$00 + STA CH + JMP L6D6E + +L6CC3 LDA CV +L6CC5 PHA + JSR VTABZ + PLA + BIT L7AC8 + BPL L6CE8 + ASL + ASL + ASL + TAY + CLC + LDA $1A00,Y + ADC $20 + STA $50 + STA $52 + LDA $1B00,Y + ORA #$20 + STA $51 + EOR #$60 + STA $53 +L6CE8 RTS + +L6CE9 DEC CV + LDA CV + BMI L6CF4 + CMP WNDTOP + BCC L6CF4 + RTS + +L6CF4 LDY WNDBTM + DEY + TYA + PHA +L6CF9 PLA + PHA + SEC + SBC #$01 + JSR L6CC5 + LDA $28 + STA $26 + LDA $29 + STA $27 + PLA + PHA + STA CV + JSR L6CC5 + PLA + CMP WNDTOP + BEQ L6D26 + SEC + SBC #$01 + PHA + LDY WNDWDTH + DEY +L6D1C LDA ($26),Y + JSR L6D8C + DEY + BPL L6D1C + BMI L6CF9 +L6D26 LDA #$00 + STA CH + JMP L6D6E + +L6D2D LDX #$0F +L6D2F TXA + ASL + ASL + ASL + ASL + TAY + LDA #$00 + STA $1700,Y + STA $1800,Y + DEX + BPL L6D2F + RTS + +L6D41 JSR L6D2D + LDA WNDTOP + STA CV + LDA #$00 + STA CH +L6D4C LDA CH + PHA + LDA CV + PHA +L6D52 JSR L6CC5 + JSR L6D78 + LDA #$00 + STA CH + INC CV + LDA CV + CMP WNDBTM + BCC L6D52 + PLA + STA CV + JSR L6CC5 + PLA + STA CH + RTS + +L6D6E LDA CH + PHA + JSR L6D78 + PLA + STA CH + RTS + +L6D78 LDA CH + CMP WNDWDTH + BCS L6D89 + LDA #$A0 + LDY CH + JSR L6D9B + INC CH + BNE L6D78 +L6D89 RTS + +L6D8A LDY CH +L6D8C BIT INVFLG + BMI L6D94 + ORA #$80 + BMI L6D96 +L6D94 AND #$7F +L6D96 CMP ($28),Y + BNE L6D9B + RTS + +L6D9B STA ($28),Y + BIT L7AC8 + BMI L6DA3 +L6DA2 RTS + +L6DA3 AND #$7F + SEC + SBC #$20 + BCC L6DA2 + STA $58 + LDA #$00 + ASL $58 + ROL + ASL $58 + ROL + ASL $58 + ROL + TAX + LDA $C1 + CLC + ADC $58 + STA L6DDA+1 + STA L6E48+1 + TXA + ADC $C2 + STA L6DDA+2 + STA L6E48+2 + LDA L7FBC + BNE L6E00 + LDA $51 + PHA + LDA $53 + PHA + LDX #$00 + CLC +L6DDA LDA L0800,X + EOR INVFLG + STA ($50),Y + STA ($52),Y + LDA $51 + ADC #$04 + STA $51 + LDA $53 + ADC #$04 + STA $53 + INX + CPX #$08 + BCC L6DDA + PLA + STA $53 + PLA + STA $51 + RTS + +L6DFB LDY CH + LDA ($28),Y + RTS + +L6E00 TYA + PHA + LDA $84 + PHA + LDA $86 + PHA + LDA $80 + PHA + LDA $82 + PHA + TYA + JSR L6E20 + LDA $96 + STA $BB + LDA CV + JSR L6E20 + LDA $96 + JMP L6E30 + +L6E20 STA $96 + LDA L7FBC + STA $94 + LDA #$00 + STA $97 + STA $95 + JMP L69BC + +L6E30 ASL + ASL + ASL + STA $BC + LDA $BB + ASL + STA $58 + ASL + CLC + ADC $58 + ADC $BB + STA $BB + STA $58 + LDX #$00 +L6E46 STX $B7 +L6E48 LDA L0800,X + EOR INVFLG + STA $B9 + LDA #$07 + STA $B8 +L6E53 LDA #$C0 + LSR $B9 + BCS L6E5B + LDA #$40 +L6E5B STA $C0 + LDA $BC + STA $86 + CLC + ADC L7FBC + STA $82 + LDA $58 + STA $84 + CLC + ADC L7FBC + STA $80 + LDA $BF + CMP #$11 + BEQ L6E7B + BIT $C0 + BPL L6E7E +L6E7B JSR L77D8 +L6E7E CLC + LDA $58 + ADC L7FBC + STA $58 + DEC $B8 + BNE L6E53 + LDA $BB + STA $58 + CLC + LDA $BC + ADC L7FBC + STA $BC + LDX $B7 + INX + CPX #$08 + BNE L6E46 + LDA #$00 + STA $C0 + PLA + STA $82 + PLA + STA $80 + PLA + STA $86 + PLA + STA $84 + PLA + TAY + RTS + +L6EB0 DA $0000 ; END OF FORTH CMDS + ASL + JMP L6F22 + +L6EB6 LDY #$00 + STY $96 + STY $97 + STY $9E + STY L6FD5 + DEY +L6EC2 INY + LDA ($8C),Y + CMP #$AD ; - + BNE L6ECD + DEC $9E + BNE L6EC2 +L6ECD CMP #$A4 ; $ + BEQ L6EC2 + CMP #$B0 + BCC L6F08 + CMP #$BA + BCC L6EDF + SBC #$07 + CMP #$BA + BCC L6F08 +L6EDF SEC + SBC #$B0 + CMP L6F6B + BCS L6F08 + DEC L6FD5 + PHA + LDA L6F6B + STA $94 + LDA #$00 + STA $95 + TYA + PHA + JSR L69BC + PLA + TAY + PLA + CLC + ADC $96 + STA $96 + BCC L6F05 + INC $97 +L6F05 JMP L6EC2 + +L6F08 BIT $9E + BPL L6F19 + SEC + LDA #$00 + SBC $96 + STA $96 + LDA #$00 + SBC $97 + STA $97 +L6F19 LDA $96 + STA $94 + LDA $97 + STA $95 + RTS + +L6F22 LDA #$00 + CLC + ADC $A7 + STA $8C + LDA #$02 + ADC #$00 + STA $8D + JSR L6EB6 + BIT L6FD5 + BMI L6F3A + JMP L65C1 + +L6F3A LDA #$02 + STA $92 + LDA #$00 + STA $93 + LDA #$02 + STA $A1 + JMP L725F + +L6F49 DA L6EB0 + ASC "GETNUM" + JSR L6A2C + STX $8D + STA $8C + JSR L6EB6 + LDA $94 + LDX $95 + JMP L6A3D + +L6F62 DA L6F49 + ASC "BASE" + JSR L7289 +L6F6B DA $000A + +L6F6D DA L6F62 + ASC "DECIMAL" + ASL + JSR L6F81 + LDA #L6F81 + JMP L6A80 + +L6F81 LDA #$0A +L6F83 STA L6F6B + RTS + +L6F87 DA L6F6D + ASC "BINARY" + ASL + JSR L6F9A + LDA #L6F9A + JMP L6A80 + +L6F9A LDA #$02 + BNE L6F83 + +L6F9E DA L6F87 + ASC "HEX" + ASL + JSR L6FAE + LDA #L6FAE + JMP L6A80 + +L6FAE LDA #$10 + BNE L6F83 + +L6FB2 DA L6F9E + ASC "SAVEPRG" +L6FBB JMP L643A + +L6FBE DA L6FB2 + ASC "PRGTOP" + JSR L7289 +L6FC9 DA L832F + +L6FCB DA L6FBE + ASC "VALID" + JSR L7289 +L6FD5 DA $00FD + +L6FD7 DA L6FCB + ASC "EDIT" + CLC + LDA $AD + LDY #"1" + LDX #>L9000 + CMP #$C0 + BCC L6FEC + LDY #"2" ; EDITOR 2 + LDX #>LB600 ; AT $B600 +L6FEC STX $89 + STY L7025+$10 + LDA #LC000 + STA CSWH + LDA #L2000 + STA L7872+2 + LDX #$40 + LDA INVFLG + LDY #$00 +L7872 STA L6000,Y + INY + BNE L7872 + INC L7872+2 + DEX + BNE L7872 + JSR HOME + JMP L6D2D + +L7884 DA L785F + ASC "SCREEN" + JSR L6A2C +L788F JSR L789A + LDA $C054,X + RTS + +L7896 LDA $C6 + EOR #$01 +L789A AND #$01 + STA $C6 + TAX + LDA L78A5,X + STA $C5 + RTS + +L78A5 HEX 2040 + +L78A7 DA L7884 + ASC "UNLINE" + CLC + LDA #$FF + BNE L78BD + +L78B4 DA L78A7 + ASC "LINE" + CLC + LDA #$00 +L78BD PHA + JSR L6A2C + STA $82 + JSR L6A2C + STA $80 + PLA + BIT L754D + BPL L78D1 + JMP L7492 + +L78D1 LDX $BF + CPX #$51 + BEQ L78E8 + EOR INVFLG + BPL L78E8 + JSR L672B + JSR L78E8 + LDA $BF + LDX $C3 + JMP L79BF + +L78E8 JSR L7896 + LDA $86 + PHA + LDA $84 + PHA + JSR L78FD + PLA + STA $84 + PLA + STA $86 + JSR L7896 +L78FD LDY #$E6 ; INC ZP + SEC + LDA $82 + SBC $86 + BCS L790C + EOR #$FF + ADC #$01 + LDY #$C6 ; DEC ZP +L790C STA $8A + LDX #$E8 ; INX + SEC + LDA $80 + SBC $84 + BCS L791D + EOR #$FF + ADC #$01 + LDX #$CA ; DEX +L791D STA $88 + CMP $8A + BCC L796E + CMP #$00 + BNE L7928 + RTS + +L7928 STY L7943 + STX L7955 + JSR L7A56 + LDX $84 + STX $AA + LDA $88 + LSR +L7938 SEC + SBC $8A + STA $A9 + BCS L7955 + ADC $88 + STA $A9 +L7943 INC $86 + LDY $86 + LDA $1A00,Y + STA $54 + LDA $1B00,Y + ORA $C5 + STA $55 + STX $AA +L7955 INX + LDA $AE + AND $C3 + BPL L7962 + TXA + EOR $AA + ROR + BCC L7965 +L7962 JSR L7A6A +L7965 LDA $A9 + CPX $80 + BNE L7938 + STX $84 + RTS + +L796E STY L7985 + STX L7984 + LDX $84 + LDA $8A + LSR +L7979 SEC + SBC $88 + STA $A9 + BCS L7985 + ADC $8A + STA $A9 +L7984 DEX +L7985 INC $86 + LDY $86 + LDA $1A00,Y + STA $54 + LDA $1B00,Y + ORA $C5 + STA $55 + JSR L7A6A + LDA $A9 + LDY $82 + CPY $86 + BNE L7979 + STX $84 + RTS + +L79A3 DA L78B4 + ASC "EXMODE" + CLC + LDA #$51 + LDX #$FF + BNE L79BF + +L79B2 DA L79A3 + ASC "ORMODE" + CLC +L79BB LDA #$11 + LDX #$00 +L79BF STX $C3 + STA $BF + STA L7A7E + STA L7845 + LDA #$EA ; NOP + STA L7A7C + STA L7A7D + STA L7843 + STA L7844 + RTS + +L79D8 DA L79B2 + ASC "GPEEK" + JSR L7A48 + LDX $84 + LDY $1C00,X + LDA $1D00,X + AND ($54),Y + LDX #$00 + JMP L6A3D + +L79F1 DA L79D8 + ASC "UNPLOT" + CLC + LDA #$FF + BNE L7A07 + +L79FE DA L79F1 + ASC "PLOT" + CLC + LDA #$00 +L7A07 BIT L754D +L7A0A BPL L7A0F + JMP L7485 + +L7A0F PHA + JSR L6A2C + STA $86 + STA $82 + JSR L6A2C + STA $84 + STA $80 + PLA + LDX $BF + CPX #$51 + BEQ L7A36 + EOR INVFLG + BPL L7A36 + JSR L672B + JSR L7A36 + LDA $BF + LDX $C3 + JMP L79BF + +L7A36 JSR L7896 + JSR L7A65 + JSR L7896 + JMP L7A65 + +L7A42 DA L79FE + ASC "POSN" +L7A48 JSR L6A2C + STA $82 + STA $86 + JSR L6A2C + STA $80 + STA $84 +L7A56 LDX $86 + LDA $1A00,X + STA $54 + LDA $1B00,X + ORA $C5 + STA $55 + RTS + +L7A65 JSR L7A56 + LDX $84 +L7A6A CLC + LDY $1C00,X + LDA $1D00,X + BIT $AE + BPL L7A79 + ASL + ORA $1D00,X +L7A79 AND $03A8,Y +L7A7C NOP +L7A7D NOP +L7A7E ORA ($54),Y + AND #$7F + ORA $B1 + STA ($54),Y + BCC L7A8E + CLC + INY + LDA #$01 + BNE L7A79 +L7A8E RTS + +L7A8F DA L7A42 + ASC "WINDOW" + JSR L6A2C + STA WNDBTM + JSR L6A2C + STA WNDTOP + STA CV + JSR L6A2C + STA WNDWDTH + JSR L6A2C + STA WNDLFT + JMP L6CC3 + +L7AB0 DA L7A8F + ASC "TEXT" + CLC + LDA TXTSET + LDA TXTPAGE1 + LDA #$00 + STA L7AC8 + JSR L6421 + JMP L7FB0 + +L7AC8 DB $FF + +L7AC9 DA L7AB0 + ASC "GR" + CLC +L7ACE LDA HIRES + LDA MIXCLR + LDA TXTCLR + LDA #$FF + STA L7AC8 + JMP L6421 + +L7ADF CLC + LDX #$00 +L7AE2 JSR L7B0A + JSR L7AEC + INX + BNE L7AE2 + RTS + +L7AEC LDY #$FF + TXA + SEC +L7AF0 INY + SBC #$07 + BCS L7AF0 + PHA + TYA + STA $1C00,X + PLA + TAY + LDA L7B03-$F9,Y ; or $7A0A+$F9 because 7 above + STA $1D00,X + RTS + +L7B03 HEX 010204081020C0 + +L7B0A TXA + CMP #$C0 + BCC L7B11 + SBC #$C0 +L7B11 TAY + AND #$C0 + STA $1A00,X + LSR + LSR + ORA $1A00,X + STA $1A00,X + TYA + LSR + LSR + LSR + LSR + AND #$03 + STA $1B00,X + ROR $1A00,X + TYA + AND #$07 + ASL + ASL + ORA $1B00,X + STA $1B00,X + RTS + +L7B38 DA L7AC9 + ASC "FORGET" + ASL + JSR L63FB + BIT $A0 + BMI L7B64 + JSR L6378 + BCS L7B64 + LDA $9A + STA L7B65+1 + LDA $9B + STA L7B67+1 + LDX #$00 +L7B59 LDA L7B65,X + JSR L6A8B + INX + CPX #$0D + BNE L7B59 +L7B64 RTS + +L7B65 LDA #L82CB + STA L6FC9 + STX L6FC9+1 + JSR L636F + +L7B72 DA L7B38 + ASC "LIST" + CLC + LDA #$00 + BEQ L7B87 + +L7B7D DA L7B72 + ASC "$LIST" + CLC + LDA #$FF +L7B87 STA $9F + LDA L6FC9 + STA $8C + LDA L6FC9+1 + STA $8D +L7B93 LDA #$14 + STA $BA +L7B97 LDY #$00 + LDA ($8C),Y + TAX + INY + LDA ($8C),Y + BEQ L7BDC + STA $8D + TXA + STA $8C + LDY #$02 + LDA #$8D + JSR COUT + BIT $9F + BPL L7BC3 + LDA #$A4 ; $ + JSR COUT + LDA $8D + JSR PRBYTE + LDA $8C + JSR PRBYTE + JSR L7F2C +L7BC3 LDA ($8C),Y + BPL L7BCD + JSR COUT + INY + BNE L7BC3 +L7BCD DEC $BA + BNE L7B97 + LDY CH + LDA ($28),Y + JSR L6AD5 + CMP #$83 + BNE L7B93 +L7BDC RTS + +L7BDD DA L7B7D + ASC "ABS." + JSR L6A2C + STX $95 + STA $94 + JMP L7C06 + +L7BED DA L7BDD + ASC "." + JSR L6A2C +L7BF3 PHA + TXA + PHA + BPL L7BFD + LDA #$AD ; - + JSR COUT +L7BFD PLA + STA $95 + PLA + STA $94 + JSR L6988 +L7C06 LDX #$00 +L7C08 JSR L7C28 + CLC + ADC #$B0 + CMP #$BA + BCC L7C14 + ADC #$06 +L7C14 STA $02F0,X + INX + LDA $94 + ORA $95 + BNE L7C08 +L7C1E LDA $02EF,X + JSR COUT + DEX + BNE L7C1E + RTS + +L7C28 LDY #$10 + LDA #$00 +L7C2C ASL $94 + ROL $95 + ROL + CMP L6F6B + BCC L7C3B + SBC L6F6B + INC $94 +L7C3B DEY + BNE L7C2C + RTS + +L7C3F DA L7BED + ASC "STACK" + CLC + LDA L7C50 + EOR #$FF + STA L7C50 + RTS + +L7C50 DB $00 + +L7C51 DA L7C3F + ASC "+" + JSR L7EFA + LDY $9C + CLC + LDA $1DFE,Y + ADC $1E00,Y + STA $1DFE,Y + LDA $1DFF,Y + ADC $1E01,Y + STA $1DFF,Y + RTS + +L7C6D DA L7C51 + ASC "-" + JSR L7EFA + LDY $9C + SEC + LDA $1DFE,Y + SBC $1E00,Y + STA $1DFE,Y + LDA $1DFF,Y + SBC $1E01,Y + STA $1DFF,Y + RTS + +L7C89 DA L7C6D + ASC "*" + JSR L7C9F + JSR L6988 + JSR L69BC + JSR L69AA + LDX $97 + LDA $96 + JMP L6A3D + +L7C9F LDA $9C + SEC + SBC #$04 + STA $9C + TAY + LDA $1E00,Y + STA $96 + LDA $1E01,Y + STA $97 + LDA $1E02,Y + STA $94 + LDA $1E03,Y + STA $95 + RTS + +L7CBC DA L7C89 + ASC "/" + JSR L7CC5 + JMP L6A3D + +L7CC5 JSR L7C9F + JSR L6988 + JSR L69E7 + JSR L69AA + LDX $97 + LDA $96 + RTS + +L7CD6 DA L7CBC + ASC "MOD" + JSR L7CC5 + LDX $99 + LDA $98 + JMP L6A3D + +L7CE5 DA L7CD6 + ASC "BYE" + JSR INIT + JSR SETVID + JSR SETKBD + JSR $03EA + LDA #MON + STA SOFTEV+1 + STA INVFLG + EOR #$A5 + STA PWREDUP + JMP MON + +L7D0A DA L7CE5 + ASC "PICK" + JSR L6A2C + SEC + SBC #$01 + ASL + STA $94 + LDA $9C + STA $96 + SEC + SBC $94 + STA $9C + JSR L6A2C + LDY $96 + STY $9C + JMP L6A3D + +L7D2C DA L7D0A + ASC "OVER" + CLC + LDY $9C + LDA $1DFC,Y + LDX $1DFD,Y + JMP L6A3D + +L7D3E DA L7D2C + ASC "DUP" + CLC + LDY $9C + LDA $1DFE,Y + STA $1E00,Y + LDA $1DFF,Y + STA $1E01,Y + INY + INY + STY $9C + RTS + +L7D57 DA L7D3E + ASC "IF" + ASL +L7D5C LDA #L7DE1 + JSR L6A80 + LDA #$4C + JSR L6A8B + LDA $8E + LDX $8F + JSR L6A0D +L7D6F LDA #$79 + JSR L6A8B + LDA #$7D + JMP L6A8B + + LDY #$12 + JMP L610D + +L7D7E DA L7D57 + ASC "ELSE" + ASL + LDA #$4C + JSR L6A8B + LDA $8E + PHA + LDA $8F + PHA + JSR L7D6F + JSR L6A1B + LDY #$00 + LDA $8E + STA ($8C),Y + INY + LDA $8F + STA ($8C),Y + PLA + TAX + PLA + JMP L6A0D + +L7DA7 DA L7D7E + ASC "THEN" + ASL + JSR L6A1B + LDY #$00 + LDA $8E + STA ($8C),Y + INY + LDA $8F + STA ($8C),Y + RTS + +L7DBD DA L7DA7 + ASC "BEGIN" + ASL +L7DC5 LDA $8E + LDX $8F + JMP L6A0D + +L7DCC DA L7DBD + ASC "UNTIL" + ASL + LDA #L7DE1 + JSR L6A80 +L7DDB JSR L6A1B + JMP L6A72 + +L7DE1 JSR L7EFA + LDA $1E01,Y + ORA $1E00,Y + BEQ L7DFB +L7DEC TSX + LDA $0101,X + CLC + ADC #$03 + STA $0101,X + BCC L7DFB + INC $0102,X +L7DFB RTS + +L7DFC DA L7DCC + ASC "WHILE" + ASL + JMP L7D5C + +L7E07 DA L7DFC + ASC "REPEAT" + ASL + JSR L6A1B + LDY #$00 + LDA $8E + CLC + ADC #$03 + STA ($8C),Y + INY + LDA $8F + ADC #$00 + STA ($8C),Y + JSR L6A1B + JMP L6A72 + +L7E29 DA L7E07 + ASC "DO" + ASL + LDA #L7E38 + JSR L6A80 + JMP L7DC5 + +L7E38 JSR L7F08 + JSR L7EAE + JMP L7EAE + +L7E41 DA L7E29 + ASC "LOOP" + ASL + LDA #L7E52 + JSR L6A80 + JMP L7DDB + +L7E52 LDA #$01 + LDX #$00 + BEQ L7E5B +L7E58 JSR L6A2C +L7E5B STX $92 + LDY $9D + CLC + ADC $1EFE,Y + STA $1EFE,Y + TXA + ADC $1EFF,Y + STA $1EFF,Y + SEC + LDA $1EFE,Y + SBC $1EFC,Y + STA $88 + LDA $1EFF,Y + SBC $1EFD,Y + ORA $88 + BEQ L7E8C + ROR + EOR $1EFF,Y + EOR $1EFD,Y + EOR $92 + BMI L7E8C + RTS + +L7E8C LDA $9D + SEC + SBC #$04 + STA $9D + JMP L7DEC + +L7E96 DA L7E41 + ASC "+LOOP" + ASL + LDA #L7E58 + JSR L6A80 + JMP L7DDB + +L7EA8 DA L7E96 + ASC "PUSH" +L7EAE JSR L6A2C + JMP L6A60 + +L7EB4 DA L7EA8 + ASC "PULL" + JSR L6A4F + JMP L6A3D + +L7EC0 DA L7EB4 + ASC "K" + CLC + LDA $9D + SBC #$07 + JMP L7EDC + +L7ECB DA L7EC0 + ASC "J" + CLC + LDA $9D + SBC #$03 + JMP L7EDC + +L7ED6 DA L7ECB + ASC "I" + CLC + LDA $9D +L7EDC TAY + LDX $1EFF,Y + LDA $1EFE,Y + JMP L6A3D + +L7EE6 DA L7ED6 + ASC "POP" + CLC + LDY $9D + DEY + DEY + STY $9D + RTS + +L7EF3 DA L7EE6 + ASC "DROP" + CLC +L7EFA LDY $9C + DEY + DEY + STY $9C + RTS + +L7F01 DA L7EF3 + ASC "SWAP" + CLC +L7F08 LDY $9C + LDX $1DFD,Y + LDA $1DFF,Y + STA $1DFD,Y + TXA + STA $1DFF,Y + LDX $1DFC,Y + LDA $1DFE,Y + STA $1DFC,Y + TXA + STA $1DFE,Y + RTS + +L7F25 DA L7F01 + ASC "SPCE" + CLC +L7F2C LDA #$A0 + JMP COUT + +L7F31 DA L7F25 + ASC "CR" +L7F35 CLC + LDA #$8D + JMP COUT + +L7F3B DA L7F31 + ASC "CHRSET" + JSR L7289 + DA L0800 + +L7F48 DA L7F3B + ASC "CHRADR" + JSR L6A2C +L7F53 CPX #$00 + BNE L7F5B + LDA #L0800 +L7F5B STA $C1 + STX $C2 + RTS + +L7F60 DA L7F48 + ASC "BLKSIZE" + JSR L6A2C + STA L7F77 + JSR L6A2C + STA L7F76 + RTS + +L7F76 DB $01 +L7F77 DB $01 + +L7F78 DA L7F60 + ASC "CHRSIZE" + JSR L6A2C + PHA + STA L7FBC + JSR L7FB0 + PLA + BEQ L7FAF + LDA #$24 + JSR L7F9D + STA WNDWDTH + LDA #$18 + JSR L7F9D + STA WNDBTM + RTS + +L7F9D STA $96 + LDA L7FBC + STA $94 + LDA #$00 + STA $97 + STA $95 + JSR L69E7 + LDA $96 +L7FAF RTS + +L7FB0 JSR $FB3C + LDA #$00 + STA CV + STA CH + JMP L6CC3 + +L7FBC DB $00 + +L7FBD DA L7F78 + ASC "PUTBLK" + JSR L6A2C + CLC + ADC #$A0 + STA L8004 + LDA CV + PHA + LDA CH + STA L8005 + PHA + LDA L7F77 + STA L8006 +L7FDD LDX L7F76 + LDA L8005 + STA CH +L7FE5 LDA L8004 + JSR L6C0C + INC L8004 + DEX + BNE L7FE5 + INC CV + JSR L6CC3 + DEC L8006 + BNE L7FDD + PLA + STA CH + PLA + STA CV + JMP L6CC3 + +L8004 DB $00 +L8005 DB $00 +L8006 DB $00 + +L8007 DA L7FBD + ASC "PUTC" + JSR L6A2C + JMP COUT + +L8013 DA L8007 + ASC "CLRKEY" + CLC + STA KBDSTROBE + RTS + +L8020 DA L8013 + ASC "GETKEY" + CLC + LDA KBD + LDX #$00 + JMP L6A3D + +L8031 DA L8020 + ASC "GETC" +L8037 JSR RDKEY + LDX #$00 + JMP L6A3D + +L803F DA L8031 + ASC "HTAB" + JSR L6A2C + STA CH + RTS + +L804B DA L803F + ASC "VTAB" + JSR L6A2C + STA CV + JMP L6CC3 + +L8059 DA L804B + ASC "PEEK" + JSR L6A2C + STA L8068+1 + STX L8068+2 +L8068 LDA L8068 + LDX #$00 + JMP L6A3D + +L8070 DA L8059 + ASC "'" + PLA + CLC + ADC #$03 + TAY + PLA + ADC #$00 + TAX + PHA + TYA + PHA + BNE L8082 + DEX +L8082 DEY + STY $8C + STX $8D + LDY #$01 + LDA ($8C),Y + TAX + DEY + LDA ($8C),Y + JMP L6A3D + +L8092 DA L8070 + ASC "," + ASL + JSR L6589 + JMP L6A8B + +L809C DA L8092 + ASC "PEEKW" + JSR L6A2C + STA $8C + STX $8D + LDY #$01 + LDA ($8C),Y + TAX + DEY + LDA ($8C),Y + JMP L6A3D + +L80B5 DA L809C + ASC "AND" + CLC + LDX #$02 + LDY $9C +L80BF LDA $1DFD,Y + AND $1DFF,Y + STA $1DFD,Y + DEY + DEX + BNE L80BF + STY $9C + RTS + +L80CF DA L80B5 + ASC "OR" + CLC + LDX #$02 + LDY $9C +L80D8 LDA $1DFD,Y + ORA $1DFF,Y + STA $1DFD,Y + DEY + DEX + BNE L80D8 + STY $9C + RTS + +L80E8 DA L80CF + ASC "CLEOL" + JMP L6D6E + +L80F2 DA L80E8 + ASC "CLEOP" + JMP L6D4C + +L80FC DA L80F2 + ASC "HOME" + CLC + LDA #$8C + JMP COUT + +L8108 DA L80FC + ASC "<=" + JSR L811E + BCC L8119 + ORA $9E + BEQ L8119 +L8115 TXA + JMP L6A3D + +L8119 LDA #$01 + JMP L6A3D + +L811E JSR L6A2C + JSR L6A2C + LDY $9C + LDA $1E01,Y + EOR $1E03,Y + AND #$80 + STA $88 + SEC + LDA $1E00,Y + SBC $1E02,Y + STA $9E + LDA $1E01,Y + SBC $1E03,Y + ROR + EOR $88 + ROL + LDX #$00 + RTS + +L8146 DA L8108 + ASC ">=" + JSR L811E + BCS L8152 + JMP L8115 +L8152 JMP L8119 + +L8155 DA L8146 + ASC "<" + JSR L811E + BCC L8160 + JMP L8115 +L8160 JMP L8119 + +L8163 DA L8155 + ASC ">" + JSR L811E + ORA $9E + BEQ L816F + BCS L8172 +L816F JMP L8115 +L8172 JMP L8119 + +L8175 DA L8163 + ASC "=" +L8178 JSR L811E + ORA $9E + BNE L8182 + JMP L8119 +L8182 JMP L8115 + +L8185 DA L8175 + ASC "<>" + JSR L811E + ORA $9E + BEQ L8193 + JMP L8119 +L8193 JMP L8115 + +L8196 DA L8185 + ASC "POKE" + CLC + JSR L6A2C + STA L81A9+1 + STX L81A9+2 + JSR L6A2C +L81A9 STA L6908+$3F + RTS + +L81AD DA L8196 + ASC "->" + CLC + DEC $AC + RTS + +L81B5 DA L81AD + ASC "POKEW" + CLC + JSR L6A2C + STA $8C + STX $8D + JSR L6A2C + LDY #$00 + STA ($8C),Y + INY + TXA + STA ($8C),Y + RTS + +L81D0 DA L81B5 + ASC "MAX" + JSR L811E + ROR + EOR #$80 + ROL + JMP L81E7 + +L81DF DA L81D0 + ASC "MIN" + JSR L811E +L81E7 BCC L81EB + INY + INY +L81EB LDA $1E00,Y + LDX $1E01,Y + JMP L6A3D + +L81F4 DA L81DF + ASC "RNDB" + JSR L820E + LDX #$00 + JMP L6A3D + +L8202 DA L81F4 + ASC "RND" + CLC + JSR L820E + JMP L6A3D + +L820E LDA L8223 + PHA + CLC + ADC L8224 + STA L8223 + TAX + PLA + ADC L8222 + STA L8222 + RTS + +L8222 DB $E9 +L8223 DB $0F +L8224 DB $DB + +L8225 DA L8202 + ASC "AREG" + JSR L7289 +L822E DA $0000 + +L8230 DA L8225 + ASC "XREG" + JSR L7289 +L8239 DA $0000 + +L823B DA L8230 + ASC "YREG" + JSR L7289 +L8244 DA $0000 + +L8246 DA L823B + ASC "PREG" + JSR L7289 +L824F DA $0000 + +L8251 DA L8246 + ASC "CALL" + JSR L6A2C + STA $8C + STX $8D + LDA L824F + PHA + LDA L822E + LDX L8239 + LDY L8244 + PLP + JSR L827E + PHP + STA L822E + STX L8239 + STY L8244 + PLA + STA L824F + RTS +L827E JMP ($008C) + +L8281 DA L8251 + ASC "SGN" + JSR L6A2C + CPX #$00 + BMI L829D + STX $94 + ORA $94 + BNE L8296 + JMP L6A3D + +L8296 LDA #$01 + LDX #$00 + JMP L6A3D + +L829D LDA #$FF + TAX + JMP L6A3D + +L82A3 DA L8281 + ASC "ABS" + CLC + LDY $9C + LDA $1DFF,Y + BMI L82B7 + RTS + +L82B1 DA L82A3 + ASC "CHS" + CLC +L82B7 LDY $9C + LDA #$00 + SEC + SBC $1DFE,Y + STA $1DFE,Y + LDA #$00 + SBC $1DFF,Y + STA $1DFF,Y + RTS + +L82CB DA L82B1 + ASC "IT" + JSR L7232 + JSR L7322 + ASC "FORGET IT ABORT"00 + JSR L72CD + DA $0000 + JSR L7217 + JSR L7F35 + JSR L7363 + ASC "Demonstration (Y/N) : "00 + JSR L8037 + JSR L72CD + DA $00D9 + JSR L8178 + JSR L7DE1 + JMP L8328 + +L831B JSR L71A4 + ASC "HEADER"00 + JMP L832E + +L8328 JSR L7232 + JSR L717C +L832E RTS + +L832F DA L82CB + DB $00 + DA L6FBB + DB $00 + + DS \ + +*---------------------------- diff --git a/graforth/insoft_graforth_manual.pdf b/graforth/insoft_graforth_manual.pdf new file mode 100755 index 0000000..e950413 Binary files /dev/null and b/graforth/insoft_graforth_manual.pdf differ diff --git a/gspaint/.DS_Store b/gspaint/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/gspaint/.DS_Store differ diff --git a/gspaint/ANIMATION.E.S b/gspaint/ANIMATION.E.S new file mode 100644 index 0000000..0a06022 --- /dev/null +++ b/gspaint/ANIMATION.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 diff --git a/gspaint/ANIMATION.S b/gspaint/ANIMATION.S new file mode 100644 index 0000000..5132025 --- /dev/null +++ b/gspaint/ANIMATION.S @@ -0,0 +1,1663 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use ANIMATION.E + use ANIMATION.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L080004 + LDA $A5 +L080004 PHB + PHK + PLB + _HideCursor + PEA $0000 + PEA ^L080F23 + PEA L080F23 + _GetColorTable + LDA $DE + PHA + LDA $DC + PHA + _HUnlock + LDA $DE + PHA + LDA $DC + PHA + _DisposeHandle + LDA $E2 + PHA + LDA $E0 + PHA + _HUnlock + LDA $E2 + PHA + LDA $E0 + PHA + _DisposeHandle + LDA $E6 + PHA + LDA $E4 + PHA + _HUnlock + LDA $E6 + PHA + LDA $E4 + PHA + _DisposeHandle + LDAL L0196CB + CMP #$011C + BNE L080078 + BRL L0800C0 +L080078 LDA $EE + PHA + LDA $EC + PHA + _HUnlock + LDA $EE + PHA + LDA $EC + PHA + _DisposeHandle + JSR L0808D4 + LDAL L019699 + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L0800A7 + BRK $A1 +L0800A7 LDA $0A + STA $EC + LDA $0C + STA $EE + LDA [$0A] + STAL L019976 + LDY #$0002 + LDA [$0A],Y + STAL L019978 + BRA L0800C3 +L0800C0 JSR L080162 +L0800C3 PEA $0000 + PEA ^L080F23 + PEA L080F23 + _SetColorTable + _InitPalette + _DrawMenuBar + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L0800F2 + BRK $A2 +L0800F2 LDA $0A + STA $DC + LDA $0C + STA $DE + LDA [$0A] + STAL L0199AC + LDY #$0002 + LDA [$0A],Y + STAL L0199AE + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L08011A + BRK $A3 +L08011A LDA $0A + STA $E0 + LDA $0C + STA $E2 + LDA [$0A] + STAL L019970 + LDY #$0002 + LDA [$0A],Y + STAL L019972 + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L080142 + BRK $A4 +L080142 LDA $0A + STA $E4 + LDA $0C + STA $E6 + LDA [$0A] + STAL L019984 + LDY #$0002 + LDA [$0A],Y + STAL L019986 + _ShowCursor + PLB + RTL + +L080162 PEA $0000 + PEA ^L080F23 + PEA L080F23 + _GetColorTable + _ShowCursor + LDAL L019976 + STA $C4 + LDAL L019978 + STA $C6 + PEA $001E + PEA $001E + PEA ^L01068A + PEA L01068A +* PEA ^L080683 +* PEA L080683 + pea $0000 + pea $0000 + PEA ^L080F1D + PEA L080F1D + PEA ^L0198D9 + PEA L0198D9 + _SFGetFile + JSL L010D82 + LDAL L0198D9 + BNE L0801B5 +L0801B4 RTS + +L0801B5 LDAL L0198EF + AND #$003F + PHA + TAX +L0801BE LDAL L0198EF,X + AND #$007F + CMP #$002F + BEQ L0801CD + DEX + BNE L0801BE +L0801CD PHX + LDY #$FFFF + DEX +L0801D2 INX + INX + INY + INY + LDAL L0198EF,X + STA L080DA5,Y + TXA + CMP $03,S + BCC L0801D2 + LDA $03,S + SEC + SBC $01,S + PHA + LDA L080DA5 + AND #$FF00 + ORA $01,S + STA L080DA5 + PLA + PLA + PLA + LDA L080DA5 + AND #$000F + TAX +L0801FD LDA L080DA5,X + AND #$007F + CMP #$0030 + BCC L080210 + CMP #$003A + BCS L080210 + DEX + BNE L0801FD +L080210 CPX #$0000 + BEQ L0801B4 + PHX + LDA L080DA5 + AND #$FF00 + ORA $01,S + STA L080DA5 + PLA + _HideCursor + LDA #$2000 + STA $C8 + LDA #$00E1 + STA $CA + PEA $0000 + PEA $0000 + PHA + PHA + _MaxBlock + PLA + PLX + SEC + SBC #$1000 + BCS L08024B + DEX +L08024B PHX + PHA + STA L080DC5 + STX L080DC5+2 + LDAL L01967F + PHA + PEA $8000 + PEA $0000 + PEA $0000 + _NewHandle + BCC L08026C + BRK $02 +L08026C PLA + STA $B8 + PLA + STA $BA + LDA [$B8] + STA $BC + LDY #$0002 + LDA [$B8],Y + STA $BE + LDA #$0004 + STA L080DBF + STA [$BC] + LDY #$0002 + LDA #$0000 + STA L080DBF+2 + STA [$BC],Y + JSR L080B52 + LDA L080F13 + CMP #$0002 + BCS L08029E + JMP L0804EC + +L08029E JSR L080D95 + LDA #$0000 + STA L080DBD + LDA [$AC] + AND #$FF0F + STA [$AC] + LDY #$000E +L0802B1 LDA [$AC],Y + STA L080E45,Y + TYX + STAL L0198EF,X + DEY + DEY + BPL L0802B1 + LDY #$0010 + LDA [$AC],Y + AND #$00FF + STA L080F1B + JSR L08058F + CLC + LDA #$0012 + ADC $AC + STA $AC + LDA $AE + ADC #$0000 + STA $AE + INC L080DBD +L0802DF LDA [$AC] + AND #$FF0F + STA [$AC] + LDY #$000E +L0802E9 LDA [$AC],Y + TYX + STAL L0198EF,X + DEY + DEY + BPL L0802E9 + LDY #$0010 + LDA [$AC],Y + AND #$00FF + JSR L08059E + JSR L0805BC + BCC L080307 + BRL L08054C +L080307 LDA L080DBF + TAY + LDA #$0000 + STA [$BC],Y + JSR L0805E8 + BCC L080318 + BRL L08054C +L080318 LDA #$0012 + CLC + ADC $AC + STA $AC + LDA $AE + ADC #$0000 + STA $AE + INC L080DBD + LDA L080DBD + CMP L080F13 + BNE L0802DF + LDX #$000E +L080335 LDA L080E45,X + STAL L0198EF,X + DEX + DEX + BPL L080335 + LDA L080F1B + JSR L08059E + JSR L0805BC + BCC L08034E + BRL L08054C +L08034E LDA L080DBF + TAY + LDA #$0000 + STA [$BC],Y + JSR L0805E8 + BCC L08035F + BRL L08054C +L08035F PEA $0000 + PEA ^L080F23 + PEA L080F23 + _SetColorTable + PEA $0000 + PEA $0000 + _RefreshDesktop + _InitPalette + _DrawMenuBar + _ShowCursor + JSL L010D82 + LDA L080DB7 + AND #$000F + PHA + LDA L080DA5 + AND #$000F + CMP #$000A + BCC L0803AA + LDA #$000A +L0803AA TAX + CLC + ADC $01,S + PHA + LDA L080DA5 + AND #$FF00 + ORA $01,S + STA L080DA5 + PLA + LDY #$0001 +L0803BE LDA L080DB7,Y + STA L080DA6,X + INX + INX + INY + INY + TYA + CMP $01,S + BCC L0803BE + BEQ L0803BE + PLA + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + JSR L0806D5 + PEA $0014 + PEA $001E + PEA ^L0106A9 + PEA L0106A9 + PEA ^L080DA5 + PEA L080DA5 + PEA $000F + PEA ^L0198D9 + PEA L0198D9 + _SFPutFile + JSL L010D82 + _ShowCursor + LDAL L0198D9 + BNE L08041A + BRL L0804EC +L08041A PEA ^L01A458 + PEA L01A458 + _SetCursor + JSL GSOS + DW $0001 ; Create + ADRL L080E69 + JSL GSOS + DW $0005 ; SetFileInfo + ADRL L080E69 + JSL GSOS + DW $0010 ; Open + ADRL L080E7F + LDA L080E7F + STA L080E89 + STA L080E8F + STA L080E9D + STA L080EAB + STA L080EB9 + JSL GSOS + DW $0018 ; SetEOF + ADRL L080E89 + LDA L080DBF + STA L080F0F + LDA L080DBF+2 + STA L080F0F+2 + LDA [$B8] + STA L080EBB + STA $BC + LDY #$0002 + LDA [$B8],Y + STA L080EBB+2 + STA $BE + LDA L080DBF + STA [$BC] + LDA L080DBF+2 + STA [$BC],Y + LDA $C4 + STA L080E91 + LDA $C6 + STA L080E91+2 + JSL GSOS + DW $0013 ; Write + ADRL L080E8F + BCC L0804A1 + BRL L080521 +L0804A1 JSL GSOS + DW $0013 ; Write + ADRL L080E9D + BCS L080521 + JSL GSOS + DW $0013 ; Write + ADRL L080EAB + BCS L080521 + LDA L080F0F + STA L080EBF + LDA L080F0F+2 + STA L080EBF+2 + JSL GSOS + DW $0013 ; Write + ADRL L080EB9 + BCS L080521 + JSL GSOS + DW $0014 ; Close + ADRL L080E7F + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor +L0804EC LDA $BA + PHA + LDA $B8 + PHA + _HUnlock + LDA $BA + PHA + LDA $B8 + PHA + _DisposeHandle + LDA $AA + PHA + LDA $A8 + PHA + _HUnlock + LDA $AA + PHA + LDA $A8 + PHA + _DisposeHandle + RTS + +L080521 STA L0808D2 + JSL GSOS + DW $0014 ; Close + ADRL L080E7F + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + LDX #$0000 + LDA L0808D2 + JSL L017D37 + BRL L0804EC +L08054C PEA $0000 + PEA ^L080F23 + PEA L080F23 + _SetColorTable + PEA $0000 + PEA $0000 + _RefreshDesktop + _InitPalette + _DrawMenuBar + _ShowCursor + JSL L010D82 + LDX #$0002 + LDA L0808D2 + JSL L017D37 + BRL L0804EC +L08058F JSR L08059E + LDY #$7E1E +L080595 LDA [$C4],Y + STA [$C8],Y + DEY + DEY + BPL L080595 + RTS + +L08059E STA L080E67 + CMP #$0006 + BEQ L0805B7 + CMP #$00C1 + BEQ L0805B7 + CMP #$00C0 + BEQ L0805B2 + BRK $FF +L0805B2 JSL L012828 + RTS + +L0805B7 JSL L01273C + RTS + +L0805BC LDY #$0000 +L0805BF LDA [$C4],Y + CMP [$C8],Y + BEQ L0805DF + STA [$C8],Y + TAX + PHY + LDA L080DBF + TAY + LDA $01,S + STA [$BC],Y + INY + INY + TXA + STA [$BC],Y + JSR L0805E8 + BCC L0805DE + PLA + SEC + RTS + +L0805DE PLY +L0805DF INY + INY + CPY #$7E20 + BNE L0805BF + CLC + RTS + +L0805E8 LDA L080DBF + CLC + ADC #$0004 + STA L080DBF + BCC L0805F9 + INC L080DBF+2 + INC $BE +L0805F9 LDA L080DBF+2 + CMP L080DC5+2 + BCC L08065A + BNE L08060B + LDA L080DBF + CMP L080DC5 + BCC L08065A +L08060B LDA $BA + PHA + LDA $B8 + PHA + _HUnlock + LDA L080DC5 + CLC + ADC #$2000 + STA L080DC5 + BCC L080627 + INC L080DC5+2 +L080627 LDA L080DC5+2 + PHA + LDA L080DC5 + PHA + LDA $BA + PHA + LDA $B8 + PHA + _SetHandleSize + BCS L08065C + LDA $BA + PHA + LDA $B8 + PHA + _HLock + LDA [$B8] + STA $BC + LDY #$0002 + LDA [$B8],Y + CLC + ADC L080DBF+2 + STA $BE +L08065A CLC + RTS + +L08065C STA L0808D2 + LDA $BA + PHA + LDA $B8 + PHA + _HLock + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + JSL L010D82 + SEC + RTS + +*--- filterProc + +L080683 PHB + PHD + PHK + PLB + LDAL L01968D + TCD + LDA $07,S + STA $0A + LDA $09,S + STA $0C + LDY #$0010 + LDA [$0A],Y + AND #$00FF + CMP #$0006 + BEQ L0806B9 + CMP #$00C0 + BEQ L0806B0 + CMP #$00C1 + BEQ L0806B9 +L0806AB LDA #$0000 + BRA L0806C6 +L0806B0 LDY #$001F + LDA [$0A],Y + BNE L0806AB + BRA L0806C3 +L0806B9 LDY #$0013 + LDA [$0A],Y + CMP #$0041 + BNE L0806AB +L0806C3 LDA #$0002 +L0806C6 STA $0B,S + PLD + PLB + LDA $00,S + STA $04,S + LDA $02,S + STA $06,S + PLA + PLA + RTL + +L0806D5 PHA + PHA + PEA ^L0808AD + PEA L0808AD + PEA $0001 + PEA $0000 + PEA $0000 + _NewModalDialog + PLA + STA $A0 + PLA + STA $A2 + LDA $A2 + PHA + LDA $A0 + PHA + _SetPort + PEA $0000 + PEA $0000 + _SetOrigin + PEA $0055 + LDA L0808C9 + DEC + PHA + _MoveTo + PEA ^L010681 + PEA L010681 + _DrawString + LDA $A2 + PHA + LDA $A0 + PHA + PEA $0001 + PEA ^L0808B5 + PEA L0808B5 + PEA $000A + PEA ^L01046F + PEA L01046F + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _NewDItem + LDA $A2 + PHA + LDA $A0 + PHA + PEA $0002 + PEA ^L0808BD + PEA L0808BD + PEA $000D + PEA ^L0807A4 + PEA L0807A4 + PEA $0000 + PEA $001C + PEA $0000 + PEA $0000 + _NewDItem +L08077F LDA #$0000 + PHA + PHA + PHA + _ModalDialog + PLA + CMP #$0001 + BNE L08077F + LDA $A2 + PHA + LDA $A0 + PHA + _CloseDialog + JSL L010D82 + RTS + +L0807A4 NOP + PHD + PHB + PHK + PLB + LDAL L01968D + TCD + LDA $0D,S + DEC + ASL + TAX + JMP (L08089D,X) + +L0807B6 LDA #$0000 + STA $0F,S + BRL L08083F +L0807BE LDA #$007F + STA $0F,S + BRL L08083F +L0807C6 LDA #$0002 + STA L080F19 + STA $0F,S + JSR L08084E + BRL L08083F +L0807D4 LDA L080F19 + BNE L0807DC + BRL L08083A +L0807DC DEC + JSR L08084E + BRL L08083A +L0807E3 LDA L080F19 + CMP #$007F + BCC L0807EE + BRL L08083A +L0807EE INC + JSR L08084E + BRL L08083A +L0807F5 SEC + LDA L080F19 + SBC #$0005 + BPL L080804 + STZ L080F19 + LDA #$0000 +L080804 JSR L08084E + BRL L08083A +L08080A CLC + LDA L080F19 + ADC #$0005 + CMP #$007F + BCC L08081C + LDA #$007F + STA L080F19 +L08081C JSR L08084E + BRL L08083A +L080822 PHA + LDA $A2 + PHA + LDA $A0 + PHA + PEA $0002 + _GetDItemValue + PLA + STA L080F19 + JSR L08084E +L08083A LDA L080F19 + STA $0F,S +L08083F PLB + PLD + LDA $00,S + STA $08,S + LDA $02,S + STA $0A,S + PLA + PLA + PLA + PLA + RTL + +L08084E STA L080F19 + PEA ^L0808C5 + PEA L0808C5 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + LDA L080F19 + PHA + PEA ^L0808CD+1 + PEA L0808CD+1 + LDA L0808CD + AND #$00FF + PHA + PEA $0000 + _Int2Dec + LDA L0808C7 + PHA + LDA L0808C9 + DEC + PHA + _MoveTo + PEA ^L0808CD + PEA L0808CD + _DrawString + RTS + +L08089D DA L0807B6 + DA L0807BE + DA L0807C6 + DA L0807D4 + DA L0807E3 + DA L0807F5 + DA L08080A + DA L080822 +L0808AD DW $0028 + DW $0037 + DW $0064 + DW $0131 +L0808B5 DW $0028 + DW $005A + DW $0036 + DW $00A0 +L0808BD DW $0015 + DW $0019 + DW $0022 + DW $00E1 +L0808C5 DW $0005 +L0808C7 DW $008E +L0808C9 DW $000F + DW $00B4 +L0808CD STR ' ' +L0808D2 DW $0000 + +L0808D4 _ShowCursor + PEA $001E + PEA $001E + PEA ^L0106BE + PEA L0106BE + LDA #$0000 + PHA + PHA + PEA ^L08090A + PEA L08090A + PEA ^L0198D9 + PEA L0198D9 + _SFGetFile + JSL L010D82 + LDAL L0198D9 + BNE L08090C +L080909 RTS + +L08090A DB $01 + DB $C2 + +L08090C PHA + PEA $FFFF + PEA $0000 + _FlushEvents + PLA + LDAL L0198EF + AND #$003F + PHA + TAX +L080924 LDAL L0198EF,X + AND #$007F + CMP #$002F + BEQ L080933 + DEX + BNE L080924 +L080933 PHX + LDY #$FFFF + DEX +L080938 INX + INX + INY + INY + LDAL L0198EF,X + STA L080E45,Y + TXA + CMP $03,S + BCC L080938 + LDA $03,S + SEC + SBC $01,S + PHA + LDA L080E45 + AND #$FF00 + ORA $01,S + STA L080E45 + PLA + PLA + PLA + _HideCursor + JSL GSOS + DW $0010 ; Open + ADRL L080DC9 + BCS L080909 + LDA L080DC9 + BEQ L080909 + STA L080DFF + STA L080E0D + STA L080E29 + STA L080E1B + JSL GSOS + DW $0012 ; Read + ADRL L080DFF + BCS L0809CE + JSL GSOS + DW $0012 ; Read + ADRL L080E0D + BCS L0809CE + JSL GSOS + DW $0012 ; Read + ADRL L080E1B + BCS L0809CE + PEA $0000 + PEA $0000 + LDA L080F0F+2 + PHA + LDA L080F0F + PHA + LDAL L01967F + PHA + PEA $8000 + PEA $0000 + PEA $0000 + _NewHandle + STA L080B50 + BCC L0809DB + PLA + PLA +L0809CE JSL GSOS + DW $0014 ; Close + ADRL L080DC9 + BRL L080AE4 +L0809DB PLA + STA $B8 + PLA + STA $BA + LDA [$B8] + STA $BC + STA L080E2B + LDY #$0002 + LDA [$B8],Y + STA $BE + STA L080E2B+2 + LDA #$0000 + STA L080E2F+2 +L0809F8 LDA L080F0F+2 + BEQ L080A36 + LDA #$FFFF + STA L080E2F + JSL GSOS + DW $0012 ; Read + ADRL L080E29 + LDA #$FFFF + CLC + ADC L080E2B + STA L080E2B + LDA #$0000 + ADC L080E2B+2 + STA L080E2B+2 + LDA L080F0F + SEC + SBC #$FFFF + STA L080F0F + LDA L080F0F+2 + SBC #$0000 + STA L080F0F+2 + JMP L0809F8 + +L080A36 LDA L080F0F + BEQ L080A48 + STA L080E2F + JSL GSOS + DW $0012 ; Read + ADRL L080E29 +L080A48 JSL GSOS + DW $0014 ; Close + ADRL L080DC9 + BCC L080A56 + BRK $10 +L080A56 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196C1 + STA L080DC3 +L080A71 LDA [$B8] + STA $BC + LDY #$0002 + LDA [$B8],Y + STA $BE + LDA #$0004 + STA L080DBF + STZ L080DBF+2 + LDA #$2000 + STA $C8 + LDA #$00E1 + STA $CA + LDA [$BC] + STA L080DC5 + LDY #$0002 + LDA [$BC],Y + STA L080DC5+2 +L080A9C LDY L080DBF + LDA [$BC],Y + BEQ L080B10 + PHA + INY + INY + LDA [$BC],Y + INY + INY + STY L080DBF + BNE L080AB4 + INC $BE + INC L080DBF+2 +L080AB4 PLY + STA [$C8],Y +L080AB7 LDA L080DBF+2 + CMP L080DC5+2 + BCC L080A9C + LDA L080DBF + CMP L080DC5 + BCC L080A9C + JMP L080A71 + +L080ACA LDA $BA + PHA + LDA $B8 + PHA + _HUnlock + LDA $BA + PHA + LDA $B8 + PHA + _DisposeHandle +L080AE4 PEA $0000 + PEA $0000 + _RefreshDesktop + JSL L010D82 + _DrawMenuBar + _ShowCursor + LDA L080B50 + BEQ L080B0F + LDX #$0002 + JSL L017D37 +L080B0F RTS + +L080B10 INC L080DBF + INC L080DBF + INC L080DBF + INC L080DBF +L080B1C PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BEQ L080ACA + LDAL L0196C1 + SEC + SBC L080DC3 + CMP L080F19 + BCC L080B1C + LDAL L0196C1 + STA L080DC3 + JMP L080AB7 + +L080B50 DW $0000 + +L080B52 PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + LDAL L01967F + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCC L080B78 + BRL L080DA1 +L080B78 PLA + STA $A8 + PLA + STA $AA + LDA #$0001 + STA L080F17 + STZ L080F13 + JSL GSOS + DW $000A ; GetPrefix + ADRL L080BF2 + JSL GSOS + DW $0010 ; Open + ADRL L080BE2 + BCC L080B9F + BRK $10 +L080B9F LDA L080BE2 + STA L080F15 + STA L080BEC + JSL GSOS + DW $0016 ; SetMark + ADRL L080BEC + BCC L080BB6 + BRK $16 +L080BB6 JSR L080BF8 + BCS L080BC5 + JSR L080C59 + BEQ L080BB6 + JSR L080C9F + BRA L080BB6 +L080BC5 CMP #$004C + BEQ L080BCC + BRK $12 +L080BCC JSL GSOS + DW $0014 ; Close + ADRL L080BE2 + LDA L080F13 + BNE L080BE1 + LDA #$FFFF + STA L080F21 +L080BE1 RTS + +L080BE2 DW $0000 ; ref num + ADRL L080EC7 ; path name + ADRL $00000000 ; reserved +L080BEC DW $0000 ; ref num + ADRL $0000002B ; position +L080BF2 DW $0000 ; prefix num + ADRL L080EC7 ; prefix ptr + +L080BF8 LDA #L080F43 + STA $B4 + STA L080C4D + LDA #^L080F43 + STA $B6 + STA L080C4D+2 + LDA L080F15 + STA L080C4B +L080C0E LDA L080F17 + CMP #$000D + BCC L080C31 + STZ L080F17 + LDA #$0005 + STA L080C51 + JSL GSOS + DW $0012 ; Read + ADRL L080C4B + LDX #$0027 + STX L080C51 + BCS L080C4A +L080C31 JSL GSOS + DW $0012 ; Read + ADRL L080C4B + BCS L080C4A + INC L080F17 + LDA [$B4] + AND #$000F + BEQ L080C0E + LDA #$0000 +L080C4A RTS + +L080C4B DW $0000 ; ref num +L080C4D ADRL $00000000 ; buffer ptr +L080C51 ADRL $00000027 ; request count + ADRL $00000000 ; transfer count + +L080C59 SEP #$30 + LDY L080DA5 +L080C5E LDA L080DA5,Y + AND #$7F + CMP #$61 + BCC L080C69 + AND #$5F +L080C69 CMP L080F43,Y + BNE L080C99 + DEY + BNE L080C5E + LDY #$10 + LDA L080F43,Y + CMP #$06 + BEQ L080C82 + CMP #$C0 + BEQ L080C82 + CMP #$C1 + BNE L080C99 +L080C82 LDY L080DA5 + INY + LDA L080F43,Y + AND #$7F + CMP #$30 + BCC L080C99 + CMP #$3A + BCS L080C99 + REP #$30 + LDA #$FFFF + RTS + +L080C99 REP #$30 + LDA #$0000 + RTS + +L080C9F JSR L080D95 + LDA L080F43 + AND #$FF0F + STA L080F43 + LDA $AC + STA $B0 + LDA $AE + STA $B2 + LDX #$0000 +L080CB6 CPX L080F13 + BCS L080CFA + SEP #$30 + LDA [$B0] + CMP L080F43 + BCC L080CE9 + BNE L080CFA + LDA L080F43 + INC + STA $B4 + LDY #$01 +L080CCE LDA [$B0],Y + CMP #$61 + BCC L080CD6 + AND #$DF +L080CD6 CMP L080F43,Y + BCC L080CE9 + BNE L080CFA + INY + CPY $B4 + BCC L080CCE + LDA [$B0] + CMP L080F43 + BCS L080CFA +L080CE9 REP #$30 + LDA $B0 + CLC + ADC #$0012 + STA $B0 + BCC L080CF7 + INC $B2 +L080CF7 INX + BRA L080CB6 +L080CFA REP #$30 + INC L080F13 + LDA $B0 + SEC + SBC $AC + STA $B0 + LDA $B2 + SBC $AE + STA $B2 + PEA $0000 + PEA $0000 + LDA $AA + PHA + LDA $A8 + PHA + _GetHandleSize + PLA + STA $B4 + PLX + STX $B6 + CLC + ADC #$0012 + BCC L080D2C + INX +L080D2C PHX + PHA + LDA $AA + PHA + LDA $A8 + PHA + _SetHandleSize + BCC L080D40 + BRL L080DA3 +L080D40 JSR L080D95 + LDA $AC + CLC + ADC $B0 + PHA + LDA $AE + ADC $B2 + TAX + PLA + PHX + PHA + PHX + PHA + CLC + ADC #$0012 + BCC L080D5A + INX +L080D5A PHX + PHA + LDA $B4 + SEC + SBC $B0 + TAX + LDA $B6 + SBC $B2 + BNE L080D6D + CPX #$0000 + BEQ L080D78 +L080D6D PHA + PHX + _BlockMove + BRA L080D7C +L080D78 PLA + PLA + PLA + PLA +L080D7C LDA #L080F43 + LDY #^L080F43 + PLA + STA $B0 + PLX + STX $B2 + LDY #$0010 +L080D8B LDA L080F43,Y + STA [$B0],Y + DEY + DEY + BPL L080D8B + RTS + +L080D95 LDY #$0002 + LDA [$A8] + STA $AC + LDA [$A8],Y + STA $AE + RTS + +L080DA1 PLA + PLA +L080DA3 SEC + RTS + +L080DA5 DB $00 +L080DA6 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080DB7 STR '.show' +L080DBD DW $0000 +L080DBF ADRL $00000000 +L080DC3 DW $0000 +L080DC5 ADRL $00000000 +L080DC9 DW $0000 ; ref num + ADRL L080E45 ; path name + ADRL $00000000 ; reserved + BRK $00 + ADRL L080E56 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + ADRL $00E19E00 + DB $20 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080DFF DW $0000 ; ref num + ADRL $00E12000 ; buffer ptr + ADRL $00008000 ; request count + ADRL $00000000 ; transfer count +L080E0D DW $0000 ; ref num + ADRL L080F0F ; buffer ptr + ADRL $00000004 ; request count + ADRL $00000000 ; transfer count +L080E1B DW $0000 ; ref num + ADRL L080F19 ; buffer ptr + ADRL $00000004 ; request count + ADRL $00000000 ; transfer count +L080E29 DW $0000 ; ref num +L080E2B ADRL $00E12000 ; buffer ptr +L080E2F ADRL $00008000 ; request count + ADRL $00000000 ; transfer count + DB $00 + DB $00 + DB $00 + DB $20 + DB $E1 + DB $00 + DB $00 + DB $80 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080E45 DB $0D + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080E56 DB $0D + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080E67 DW $0000 ; which file type is loaded? + +L080E69 ADRL L0198EF ; file name + DW $00C3 ; access + DW $00C2 ; file type + ADRL $00000000 ; aux type + DS 2 ; (null field) + DS 4 ; creation date + DS 4 ; modification date +L080E7F DW $0000 ; ref num + ADRL L0198EF ; path name + ADRL $00000000 ; reserved +L080E89 DW $0000 ; ref num + ADRL $00000000 ; end of file +L080E8F DW $0000 ; ref num +L080E91 ADRL $00000000 ; buffer ptr + ADRL $00008000 ; request count + ADRL $00000000 ; transfer count +L080E9D DW $0000 ; ref num + ADRL L080F0F ; buffer ptr + ADRL $00000004 ; request count + ADRL $00000000 ; transfer count +L080EAB DW $0000 ; ref num + ADRL L080F19 ; buffer ptr + ADRL $00000004 ; request count + ADRL $00000000 ; transfer count +L080EB9 DW $0000 ; ref num +L080EBB ADRL $00000000 ; buffer ptr +L080EBF ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L080EC7 STR '/Pro/anime' + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L080F0F ADRL $00000000 +L080F13 DW $0000 +L080F15 DW $0000 +L080F17 DW $0000 +L080F19 DW $0000 +L080F1B DW $0000 +L080F1D DB $03 + HEX C0C106 ; PNT, PIC, BIN + +L080F21 DW $0000 +L080F23 DS 32 +L080F43 DS 40 diff --git a/gspaint/ANIMATION.X.S b/gspaint/ANIMATION.X.S new file mode 100644 index 0000000..847b82e --- /dev/null +++ b/gspaint/ANIMATION.X.S @@ -0,0 +1,34 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L01967F + EXT L0196BB + EXT L0196CB + EXT L01968D + EXT L017D37 + EXT L010D82 + EXT L01A458 + EXT L019EE0 + EXT L019976 + EXT L019978 + EXT L0199F4 + EXT L019970 + EXT L019972 + EXT L01046F + EXT L0198D9 + EXT L019984 + EXT L019986 + EXT L019699 + EXT L0198EF + EXT L0199AC + EXT L0199AE + EXT L0196C1 + EXT L018717 + EXT L01068A + EXT L0106A9 + EXT L012828 + EXT L01273C + EXT L010681 + EXT L0106BE diff --git a/gspaint/EDITBRUSH.E.S b/gspaint/EDITBRUSH.E.S new file mode 100644 index 0000000..6bcf864 --- /dev/null +++ b/gspaint/EDITBRUSH.E.S @@ -0,0 +1,5 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + diff --git a/gspaint/EDITBRUSH.S b/gspaint/EDITBRUSH.S new file mode 100644 index 0000000..c222567 --- /dev/null +++ b/gspaint/EDITBRUSH.S @@ -0,0 +1,413 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use EDITBRUSH.E + use EDITBRUSH.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L040004 + LDA $A5 +L040004 PHB + PHK + PLB + PEA $0043 + PEA $0028 + PEA $00E1 + PEA $005C + JSL L018223 + JSR L040132 + PEA $0002 + PEA $0001 + _SetPenSize + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA $0002 + _SetPenMode + JSR L0400D1 +L040041 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BNE L040041 + PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + JSR L0400A8 + BCC L040041 + PHA + JSR L0400D1 + PLA + STA $7A + JSR L0400D1 +L04007A PEA $0000 + PEA $0000 + _StillDown + PLA + BNE L04007A + LDA $76 + CMP #$0004 + BNE L040095 + JSL L016FC2 +L040095 LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + JSL L010D82 + PLB + RTL + +L0400A8 LDA #$001F +L0400AB PHA + JSR L0400E4 + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L040112 + PEA L040112 + _PtInRect + PLA + BNE L0400CE + PLA + DEC + BPL L0400AB + CLC + RTS + +L0400CE PLA + SEC + RTS + +L0400D1 LDA $7A + JSR L0400E4 + PEA ^L040112 + PEA L040112 + _FrameRect + RTS + +L0400E4 PHA + AND #$0003 + ASL + TAX + LDA L04011A,X + SEC + SBC #$0008 + STA L040112 + CLC + ADC #$0010 + STA L040116 + PLA + LSR + LSR + ASL + TAX + LDA L040122,X + SEC + SBC #$000A + STA L040114 + CLC + ADC #$0014 + STA L040118 + RTS + +L040112 DW $0000 +L040114 DW $0000 +L040116 DW $0000 +L040118 DW $0000 +L04011A DW $0013 + DW $0025 + DW $0037 + DW $0049 +L040122 DW $0019 + DW $0032 + DW $004B + DW $0064 + DW $007D + DW $0096 + DW $00AF + DW $00C8 +L040132 PEA ^L040232 + PEA L040232 + _PaintRect + PEA ^L04023A + PEA L04023A + _PaintRect + PEA ^L040242 + PEA L040242 + _PaintRect + PEA ^L04024A + PEA L04024A + _PaintRect + PEA ^L040252 + PEA L040252 + _PaintOval + PEA ^L04025A + PEA L04025A + _PaintOval + PEA ^L040262 + PEA L040262 + _PaintOval + PEA ^L04026A + PEA L04026A + _PaintOval + PEA $0002 + PEA $0001 + _SetPenSize + LDA #$0000 +L0401AA PHA + ASL + ASL + ASL + TAX + LDA L040272,X + PHA + LDA L040274,X + PHA + LDA L040276,X + PHA + LDA L040278,X + PHA + _MoveTo + _LineTo + PLA + INC + CMP #$000A + BNE L0401AA + LDA #$0001 + PHA + PHA + _SetPenSize + LDA #$0000 +L0401E3 PHA + ASL + ASL + ASL + TAX + LDA L0402C2,X + PHA + LDA L0402C4,X + PHA + LDA L0402C6,X + PHA + LDA L0402C8,X + PHA + _MoveTo + _LineTo + PLA + INC + CMP #$0006 + BNE L0401E3 + LDA #$001E +L040210 PHA + ASL + ASL + TAX + LDA L0402F2,X + TAY + LDA L0402F4,X + PHA + PHY + PHA + PHY + _MoveTo + _LineTo + PLA + DEC + BPL L040210 + RTS + +L040232 DW $000F + DW $0014 + DW $0017 + DW $001E +L04023A DW $0023 + DW $0016 + DW $0028 + DW $001D +L040242 DW $0036 + DW $0017 + DW $0039 + DW $001B +L04024A DW $0048 + DW $0018 + DW $004A + DW $001A +L040252 DW $000F + DW $002D + DW $0017 + DW $0037 +L04025A DW $0022 + DW $002E + DW $0029 + DW $0036 +L040262 DW $0035 + DW $002F + DW $003A + DW $0035 +L04026A DW $0047 + DW $0030 + DW $004B + DW $0034 +L040272 DW $004E +L040274 DW $000F +L040276 DW $0047 +L040278 DW $0016 + DW $004D + DW $0022 + DW $0048 + DW $0027 + DW $004C + DW $0035 + DW $0048 + DW $0039 + DW $004B + DW $0048 + DW $0049 + DW $004A + DW $0067 + DW $0016 + DW $0060 + DW $000F + DW $0065 + DW $0027 + DW $0060 + DW $0022 + DW $0065 + DW $0039 + DW $0061 + DW $0035 + DW $0064 + DW $004A + DW $0062 + DW $0048 + DW $007C + DW $0016 + DW $007C + DW $000F + DW $007C + DW $0027 + DW $007C + DW $0022 +L0402C2 DW $007C +L0402C4 DW $0039 +L0402C6 DW $007C +L0402C8 DW $0035 + DW $007C + DW $004A + DW $007C + DW $0048 + DW $009A + DW $0013 + DW $0091 + DW $0013 + DW $0099 + DW $0025 + DW $0092 + DW $0025 + DW $0098 + DW $0037 + DW $0093 + DW $0037 + DW $0097 + DW $0049 + DW $0094 + DW $0049 +L0402F2 DW $0016 +L0402F4 DW $00AB + DW $0014 + DW $00AD + DW $0012 + DW $00AF + DW $0010 + DW $00B1 + DW $0026 + DW $00AD + DW $0024 + DW $00AF + DW $0033 + DW $00AB + DW $0035 + DW $00AD + DW $0037 + DW $00AF + DW $0039 + DW $00B1 + DW $0047 + DW $00AD + DW $0049 + DW $00AF + DW $0010 + DW $00C8 + DW $0012 + DW $00C8 + DW $0014 + DW $00C8 + DW $0016 + DW $00C8 + DW $0025 + DW $00C5 + DW $0025 + DW $00C7 + DW $0025 + DW $00C9 + DW $0025 + DW $00CB + DW $0034 + DW $00C7 + DW $0034 + DW $00CB + DW $0035 + DW $00C4 + DW $0036 + DW $00C7 + DW $0036 + DW $00CB + DW $0037 + DW $00C5 + DW $0038 + DW $00C8 + DW $0039 + DW $00C4 + DW $0039 + DW $00CB + DW $003A + DW $00C7 + DW $0049 + DW $00C8 diff --git a/gspaint/EDITBRUSH.X.S b/gspaint/EDITBRUSH.X.S new file mode 100644 index 0000000..bd83f66 --- /dev/null +++ b/gspaint/EDITBRUSH.X.S @@ -0,0 +1,11 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L010D82 + EXT L0196C5 + EXT L0199F4 + EXT L018223 + EXT L016FC2 diff --git a/gspaint/EDITCOLOR.E.S b/gspaint/EDITCOLOR.E.S new file mode 100644 index 0000000..6bcf864 --- /dev/null +++ b/gspaint/EDITCOLOR.E.S @@ -0,0 +1,5 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + diff --git a/gspaint/EDITCOLOR.S b/gspaint/EDITCOLOR.S new file mode 100644 index 0000000..a70b868 --- /dev/null +++ b/gspaint/EDITCOLOR.S @@ -0,0 +1,2450 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use EDITCOLOR.E + use EDITCOLOR.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L030004 + LDA $A5 +L030004 PHB + PHK + PLB + JSL L0149A7 + STA $0A + STX $0C + LDA [$0A] + AND #$000F + STA L03177B + STA L031763 + LDA $56 + STA L0318DF + LDA $58 + STA L0318E1 + LDA $5A + STA L0318E3 + LDA $5C + STA L0318E5 + CLC + LDA L0318DF + ADC #$0036 + STA L0318E3 + CLC + LDA L0318E1 + ADC #$00DA + STA L0318E5 + STZ L031759 + STZ L031777 + STZ L031779 + LDA #$00FF + STA L031767 + STA L031769 + STA L03176B + STA L03176D + STA L03176F + PEA $0000 + PEA $0000 + LDA L03177B + PHA + _GetColorEntry + PLA + STA L031765 + PEA $0000 + PEA ^L03179D + PEA L03179D + _GetColorTable + JSR L030570 + JSR L030EF4 + JSR L0300F0 + JSR L03063F + LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + _InitPalette + JSL L010D82 + PLB + RTL + +L0300A8 LDA L031763 + JSR L0300CF + PEA ^L0317DB + PEA L0317DB + PEA ^L03177D + PEA L03177D + _FillRect + PEA ^L0317DB + PEA L0317DB + _FrameRect + RTS + +L0300CF AND #$000F + STA L0300ED+1 + ASL + ASL + ASL + ASL + ORA L0300ED+1 + STA L0300ED+1 + ORA L0300ED + LDX #$001E +L0300E5 STA L03177D,X + DEX + DEX + BPL L0300E5 + RTS + +L0300ED HEX 000000 +L0300F0 PEA $0000 + PEA $FFFF + PEA ^L0317EB + PEA L0317EB + _GetNextEvent + PLA + PEA ^L0317F5 + PEA L0317F5 + _GlobalToLocal + JSR L030EAB + LDA L0317EB + CMP #$0001 + BNE L03011F + JSR L0301C2 +L03011F LDA L0317EB + CMP #$0003 + BEQ L03012F + CMP #$0005 + BEQ L03012F + BRL L0301B9 +L03012F LDA L0317ED + CMP #$001B + BNE L03016D + LDA L0317F9 + AND #$0100 + BEQ L03016D + LDA L0317F9 + AND #$0800 + BEQ L03016D + LDA $A6 + PHA + LDA $A4 + PHA + _InitColorTable + PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable + _InitPalette + BRA L0301B9 +L03016D LDA L0317ED + CMP #$000D + BNE L03018F + PEA ^L031998 + PEA L031998 + PEA $000F + PEA $000D + _InvertRRect + LDA #$0001 + STA $3C + BRA L0301C1 +L03018F CMP #$001B + BNE L0301B9 + PEA $0000 + PEA ^L03179D + PEA L03179D + _SetColorTable + PEA ^L0319A0 + PEA L0319A0 + PEA $000F + PEA $000D + _InvertRRect + BRA L0301C1 +L0301B9 LDA L031759 + BNE L0301C1 + BRL L0300F0 +L0301C1 RTS + +L0301C2 LDA L031763 + JSR L0300CF + PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L0317DB + PEA L0317DB + _PtInRect + PLA + BEQ L0301FC + LDA L0317DB + STA L03175B + LDA L0317DD + STA L03175B+2 + LDA L0317DF + STA L03175B+4 + LDA L0317E1 + STA L03175B+6 + BRL L030CA9 +L0301FC PHA + PEA ^L0317F5 + PEA L0317F5 + PEA ^L031988 + PEA L031988 + _PtInRect + PLA + BEQ L03021E + LDA #$0001 + STA $3C + LDA #$0001 +L03021B BRL L030BFD +L03021E PHA + PEA ^L0317F5 + PEA L0317F5 + PEA ^L031990 + PEA L031990 + _PtInRect + LDA #$0002 + PLX + BNE L03021B + LDA L0317F5 + CMP #$003C + BCC L030296 + CMP #$004D + BCC L030248 + BRL L030676 +L030248 LDA L0317F7 + CMP #$0030 + BCC L030296 + CMP #$0130 + BCS L030296 + SBC #$002F + LSR + LSR + LSR + LSR + EOR #$000F + STA L031763 + JSR L0300A8 + LDA L031763 + EOR #$000F + ASL + ASL + ASL + ASL + ADC #$0030 + STA L03175B+2 + ADC #$0010 + STA L03175B+6 + LDA #$003D + STA L03175B + LDA #$004C + STA L03175B+4 + LDA L0317F9 + AND #$0100 + BNE L030292 + BRL L030CA9 +L030292 JSR L0313E8 + RTS + +L030296 PHA + PEA ^L0317F5 + PEA L0317F5 + PEA ^L0317CB + PEA L0317CB + _PtInRect + PLA + BNE L0302AE + RTS + +L0302AE PEA ^L0317CB + PEA L0317CB + _ClipRect + LDA #$0005 + PHA + PHA + _SetPenSize + PEA ^L03177D + PEA L03177D + _SetPenPat + LDA L0317F7 + PHA + LDA L0317F5 + PHA + _MoveTo +L0302E3 LDA #$0000 + PHA + PHA + _StillDown + PLA + BEQ L030310 + PEA ^L0317F5 + PEA L0317F5 + _GetMouse + LDA L0317F7 + PHA + LDA L0317F5 + PHA + _LineTo + BRA L0302E3 +L030310 _PenNormal + PEA ^L0317D3 + PEA L0317D3 + _ClipRect + RTS + +L030325 LDX #$000F +L030328 PHX + TXA + LSR + PHP + CLC + ADC #$0008 + STA L0304A0 + PLP + LDA #$0005 + BCC L03033C + LDA #$0009 +L03033C STA L0304A2 + LDA L031765 + AND #$00FF + STA L0304A4 + PLA + PHA + XBA + ORA L0304A4 + TAY + LDA L0304A0 + PHA + LDA L0304A2 + PHA + PHY + _SetColorEntry + INC L0304A2 + LDA L031765 + AND #$0F0F + STA L0304A4 + PLA + PHA + ASL + ASL + ASL + ASL + ORA L0304A4 + TAY + LDA L0304A0 + PHA + LDA L0304A2 + PHA + PHY + _SetColorEntry + INC L0304A2 + LDA L031765 + AND #$0FF0 + STA L0304A4 + PLA + PHA + ORA L0304A4 + TAY + LDA L0304A0 + PHA + LDA L0304A2 + PHA + PHY + _SetColorEntry + PLX + DEX + BMI L0303AE + BRL L030328 +L0303AE LDX #$000F +L0303B1 PHX + PHX + PEA $000D + LDA L031765 + PHA + _SetColorEntry + PLX + DEX + CPX #$0008 + BCS L0303B1 + LDA #$000F + STA L031773 + STZ L031775 + LDA L031765 + JSR L03048C + LDA L031765 + LSR + LSR + LSR + LSR + JSR L03048C + LDA L031765 + XBA + JSR L03048C + LDA L031777 + CMP #$0004 + BEQ L030408 + LDA #$0008 + STA L0304A6 + LDA #$0004 + STA L0304A8 + JSR L03042A + JSR L03045B + LDA L031777 + CMP #$0004 +L030408 LDA #$0001 + STA L0304A6 + LDA #$000F + STA L0304A8 + LDA L031777 + CMP #$0005 + BEQ L030422 + JSR L030425 + JSR L030456 +L030422 BRL L030929 +L030425 LDX L031775 + BRA L03042D +L03042A LDX L031773 +L03042D LDA L031765 +L030430 PHA + PHX + TAY + TXA + LSR + PHP + CLC + ADC #$0008 + PLP + PHA + LDA L0304A6 + BCC L030444 + EOR L0304A8 +L030444 PHA + PHY + _SetColorEntry + PLX + PLA + JSR L030562 + DEX + BPL L030430 + RTS + +L030456 LDX L031775 + BRA L03045E +L03045B LDX L031773 +L03045E LDA L031765 +L030461 INX + CPX #$0010 + BCS L03048B + JSR L030554 + PHA + PHX + TAY + TXA + LSR + PHP + CLC + ADC #$0008 + PLP + PHA + LDA L0304A6 + BCC L03047E + EOR L0304A8 +L03047E PHA + PHY + _SetColorEntry + PLX + PLA + BRA L030461 +L03048B RTS + +L03048C AND #$000F + CMP L031773 + BCS L030497 + STA L031773 +L030497 CMP L031775 + BCC L03049F + STA L031775 +L03049F RTS + +L0304A0 DW $0000 +L0304A2 DW $0000 +L0304A4 DW $0000 +L0304A6 DW $0000 +L0304A8 DW $0000 +L0304AA STA L0304FE + CPX #$0001 + BNE L0304C4 + XBA + JSR L0304F1 + XBA + STA L030500 + LDA L0304FE + AND #$00FF + ORA L030500 + RTS + +L0304C4 CPX #$0002 + BNE L0304E1 + LSR + LSR + LSR + LSR + JSR L0304F1 + ASL + ASL + ASL + ASL + STA L030500 + LDA L0304FE + AND #$0F0F + ORA L030500 + RTS + +L0304E1 JSR L0304F1 + STA L030500 + LDA L0304FE + AND #$0FF0 + ORA L030500 + RTS + +L0304F1 AND #$000F + INC + AND #$000F + BNE L0304FD + LDA #$000F +L0304FD RTS + +L0304FE DW $0000 +L030500 DW $0000 +L030502 STA L030550 + CPX #$0001 + BNE L03051C + XBA + JSR L030549 + XBA + STA L030552 + LDA L030550 + AND #$00FF + ORA L030552 + RTS + +L03051C CPX #$0002 + BNE L030539 + LSR + LSR + LSR + LSR + JSR L030549 + ASL + ASL + ASL + ASL + STA L030552 + LDA L030550 + AND #$0F0F + ORA L030552 + RTS + +L030539 JSR L030549 + STA L030552 + LDA L030550 + AND #$0FF0 + ORA L030552 + RTS + +L030549 AND #$000F + BEQ L03054F + DEC +L03054F RTS + +L030550 DW $0000 +L030552 DW $0000 +L030554 PHX + PHY + LDX #$0003 +L030559 JSR L0304AA + DEX + BNE L030559 + PLY + PLX + RTS + +L030562 PHX + PHY + LDX #$0003 +L030567 JSR L030502 + DEX + BNE L030567 + PLY + PLX + RTS + +L030570 PEA ^L030656 + PEA L030656 + _InitColorTable + PEA $0007 + PEA ^L030656 + PEA L030656 + _SetColorTable + LDA #$0F00 + STA L030656+4 + LDA #$00F0 + STA L030656+6 + LDA #$000F + STA L030656+8 + LDA #$0FFF + STA L030656+$1C + LDX #$000F +L0305A8 PHX + PHX + PEA ^L030656 + PEA L030656 + _SetColorTable + LDA L030656+4 + SEC + SBC #$0200 + STA L030656+4 + LDA L030656+6 + SEC + SBC #$0020 + STA L030656+6 + LDA L030656+8 + SEC + SBC #$0002 + STA L030656+8 + LDA L030656+$1C + SEC + SBC #$0222 + STA L030656+$1C + PLX + DEX + CPX #$0008 + BCS L0305A8 +L0305E6 PEA $0000 + PEA $0000 + PEA $0000 + _GetColorEntry + PLA + STA L030656 + PEA $0000 + PEA $0000 + PEA $000F + _GetColorEntry + PLA + STA L030656+2 + LDX #$0007 +L030611 PHX + PHX + PHX + PEA $0000 + LDA L030656 + PHA + _SetColorEntry + PEA $000F + LDA L030656+2 + PHA + _SetColorEntry + PLX + INX + CPX #$0010 + BCC L030611 + _InitPalette + RTS + +L03063F LDA #$00C7 +L030642 PHA + PHA + PEA $0000 + _SetSCB + PLA + DEC + CMP #$000A + BCS L030642 + RTS + +L030656 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L030676 STZ L0307F0 + STZ L0307E8 + STZ L0307EE +L03067F STZ L0307E4 + LDA L0317F5 + LDY L0317F7 + CMP #$0050 + BCC L0306D9 + CMP #$005D + BCC L0306A0 + SEC + ROR L0307E4 + CMP #$009D + BCC L0306EA + CMP #$00AA + BCS L0306D9 +L0306A0 LDX #$0001 + CPY #$0028 + BCC L0306D9 + CPY #$0038 + BCC L0306F5 + INX + CPY #$004B + BCC L0306D9 + CPY #$005B + BCC L0306F5 + INX + CPY #$006E + BCC L0306D9 + CPY #$007E + BCC L0306F5 + INX + CPY #$00A0 + BCC L0306D9 + CPY #$00B0 + BCC L0306F5 + INX + CPY #$00C3 + BCC L0306D9 + CPY #$00D3 + BCC L0306F5 +L0306D9 BIT L0307E8 + BPL L0306E7 + LDA #$0000 + JSR L03079B + BRL L03076E +L0306E7 BRL L0307F2 +L0306EA BIT L0307E8 + BMI L0306D9 + SEC + ROR L0307EE + BRA L0306A0 +L0306F5 STX L031777 + BIT L0307EE + BPL L030700 + BRL L030AB4 +L030700 STX L0307E6 + BIT L0307E8 + BPL L030715 + CPX L0307EA + BNE L03076E + LDA L0307E4 + CMP L0307EC + BNE L03076E +L030715 LDA L0307E4 + STA L0307EC + STX L0307EA + LDA #$0001 + JSR L03079B + LDX L0307EA + LDA L0307EC + BPL L030753 + LDA L031765 + CPX #$0004 + BCC L030748 + TXA + ASL + TAY + LDA L031765,Y + INC + CMP #$0010 + BCC L030743 + LDA #$000F +L030743 JSR L030BAA + BRA L03074B +L030748 JSR L0304AA +L03074B STA L031765 + JSR L030325 + BRA L03076E +L030753 LDA L031765 + CPX #$0004 + BCC L030769 + TXA + ASL + TAY + LDA L031765,Y + BEQ L030764 + DEC +L030764 JSR L030BAA + BRA L03074B +L030769 JSR L030502 + BRA L03074B +L03076E SEC + ROR L0307E8 + LDA #$000A + JSR L0308EF + PEA $0000 + PEA $0000 + _StillDown + PLA + BEQ L030798 + PEA ^L0317F5 + PEA L0317F5 + _GetMouse + BRL L03067F +L030798 LDA #$0000 +L03079B CMP L0307F0 + BEQ L0307DB + STA L0307F0 + LDA L0307EA + ASL + ASL + ASL + TAX + LDA L031841,X + INC + STA L03175B+2 + LDA L031845,X + DEC + STA L03175B+6 + LDX #$0000 + LDA L0307EC + BPL L0307C2 + INX + INX +L0307C2 LDA L0307DC,X + STA L03175B + LDA L0307E0,X + STA L03175B+4 + PEA ^L03175B + PEA L03175B + _InvertRect +L0307DB RTS + +L0307DC DW $0051 + DW $009E +L0307E0 DW $005C + DW $00A9 +L0307E4 DW $0000 +L0307E6 DW $0000 +L0307E8 DW $0000 +L0307EA DW $0000 +L0307EC DW $0000 +L0307EE DW $0000 +L0307F0 DW $0000 +L0307F2 PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L03186F + PEA L03186F + _PtInRect + PLA + BEQ L030838 + LDA L0317F5 + LDX L0317F7 + CMP #$007C + BCC L030819 + LDA #$007C +L030819 CPX #$0108 + BCC L030821 + LDX #$0108 +L030821 STA L03175B + CLC + ADC #$0010 + STA L03175B+4 + TXA + STA L03175B+2 + ADC #$0010 + STA L03175B+6 + BRL L030CA9 +L030838 LDA #$009D + STA L03175B + CLC + ADC #$0010 + STA L03175B+4 + LDA #$00DA + STA L03175B+2 + ADC #$0040 + STA L03175B+6 + PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L03175B + PEA L03175B + _PtInRect + PLA + BEQ L03089C + LDA L0317F5 + SEC + SBC #$009D + AND #$FFF8 + CLC + ADC #$009D + STA L03175B + ADC #$0008 + STA L03175B+4 + LDA L0317F7 + SEC + SBC #$00DA + AND #$FFF8 + INC + CLC + ADC #$00DA + STA L03175B+2 + ADC #$0008 + STA L03175B+6 + BRL L030CA9 +L03089C LDA #$0002 +L03089F PHA + PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + ASL + ASL + ASL + LDX #^L03182F + PHX + CLC + ADC #L03182F + PHA + _PtInRect + PLA + BNE L0308C4 + PLA + DEC + BPL L03089F + RTS + +L0308C4 PLA + ASL + ASL + ASL + TAX + LDA L0317F5 + SEC + SBC L03182F,X + AND #$FFF8 + CLC + ADC L03182F,X + STA L03175B + ADC #$0008 + STA L03175B+4 + LDA L031831,X + STA L03175B+2 + LDA L031835,X + STA L03175B+6 + BRL L030CA9 +L0308EF STA L030925 + PEA $0000 + PEA $0000 + _GetTick + PLA + CLC + ADC L030925 + STA L030925 + PLA + STA L030927 +L03090B PEA $0000 + PEA $0000 + _GetTick + PLA + PLY + CMP L030925 + BNE L03090B + CPY L030927 + BNE L03090B + RTS + +L030925 DW $0000 +L030927 DW $0000 +L030929 LDA L031765 + XBA + AND #$000F + LDX #$0001 + JSR L030964 + LDA L031765 + LSR + LSR + LSR + LSR + AND #$000F + LDX #$0002 + JSR L030964 + LDA L031765 + AND #$000F + LDX #$0003 + JSR L030964 + LDA L031773 + LDX #$0004 + JSR L030964 + LDA L031775 + LDX #$0005 + BRL L030964 +L030964 STA L030AAA + STX L030AAC + TXA + ASL + TAX + LDA L031765,X + STA L030AAE + CMP L030AAA + BNE L030979 + RTS + +L030979 LDX L030AAC + JSR L030A97 + STX L030AB0 + STY L030AB2 + LDA L030AAE + LDX L030AAC + CPX #$0005 + BNE L03099B + LSR + LDA #$0001 + BCC L0309A6 + LDA #$000E + BRA L0309A6 +L03099B LSR + LDA #$0004 + BCC L0309A2 + ASL +L0309A2 CLC + ADC L030AAC +L0309A6 JSR L0300CF + PEA ^L03177D + PEA L03177D + _SetPenPat + LDY L030AB2 + LDX L030AAC + TYA + CLC + ADC #$0004 + TAY + LDA L030AB2 + LDX L030AB0 + SEC + JSR L030A09 + LDA L030AAC + ASL + TAX + LDA L030AAA + STA L031765,X + LDA #$0000 + JSR L0300CF + PEA ^L03177D + PEA L03177D + _SetPenPat + LDA L030AAA + LDX L030AAC + JSR L030A97 + STX L030AB0 + STY L030AB2 + LDX L030AAC + TYA + CLC + ADC #$0004 + TAY + LDA L030AB2 + LDX L030AB0 + CLC +L030A09 STA L030A8F + STY L030A93 + STX L030A91 + TXA + BCS L030A30 + SBC #$0001 + STA L030A91 + CLC + ADC #$0013 + STA L030A95 + PEA ^L030A8F + PEA L030A8F + _FrameRect + RTS + +L030A30 ADC #$000D + STA L030A95 + PEA ^L030A8F + PEA L030A8F + PEA ^L03177D + PEA L03177D + _FillRect + LDA L030A91 + SEC + SBC #$0003 + STA L030A91 + CLC + ADC #$0002 + STA L030A95 + PEA ^L030A8F + PEA L030A8F + PEA ^L0199F4 + PEA L0199F4 + _FillRect + LDA L030A91 + CLC + ADC #$0013 + STA L030A91 + INC + STA L030A95 + PEA ^L030A8F + PEA L030A8F + PEA ^L0199F4 + PEA L0199F4 + _FillRect + RTS + +L030A8F DW $0000 +L030A91 DW $0000 +L030A93 DW $0000 +L030A95 DW $0000 +L030A97 ASL + ASL + CLC + ADC #$005D + PHA + TXA + ASL + ASL + ASL + TAX + LDA L031841,X + TAX + INX + PLY + RTS + +L030AAA DW $0000 +L030AAC DW $0000 +L030AAE DW $0000 +L030AB0 DW $0000 +L030AB2 DW $0000 +L030AB4 STX L030B63 + TXA + ASL + TAY + LDA L031765,Y + STA L030B69 + STA L030B6B + JSR L030A97 + TXA + SEC + SBC #$000A + STA L030B65 + ADC #$0024 + STA L030B67 + TYA + CMP L0317F5 + BEQ L030B12 + BCS L030AEB + LDX L030B63 + CPX #$0004 + CLC + ADC #$0003 + CMP L0317F5 + BCS L030B12 +L030AEB LDA L0317F5 + SEC + SBC #$005D + LSR + LSR + LDX L030B63 + JSR L030A97 + STX L03175B+2 + TXA + CLC + ADC #$000F + STA L03175B+6 + STY L03175B + TYA + ADC #$0004 + STA L03175B+4 + BRL L030CA9 +L030B12 PEA $0000 + PEA $0000 + _StillDown + PLA + BEQ L030B60 + PEA ^L0317F5 + PEA L0317F5 + _GetMouse + LDA L0317F7 + CMP L030B65 + BCC L030B5A + CMP L030B67 + BCS L030B5A + LDA L0317F5 + SEC + SBC #$005D + LSR + LSR +L030B45 CMP #$00FF + BCC L030B4D + LDA #$0000 +L030B4D CMP #$0010 + BCC L030B55 + LDA #$000F +L030B55 JSR L030B6D + BRA L030B12 +L030B5A LDA L030B69 + BRA L030B45 + RTS + +L030B60 BRL L030325 +L030B63 DW $0000 +L030B65 DW $0000 +L030B67 DW $0000 +L030B69 DW $0000 +L030B6B DW $0000 +L030B6D STA L030B6B + LDX L030B63 + CPX #$0004 + BCS L030BAE+1 + PHA + TXA + ASL + TAX + LDA L030B6B + LDA L03179D+$1E,X + AND L031765 + STA L031765 + LDA L030B6B + LDX L030B63 + CPX #$0001 + BNE L030B94 + XBA +L030B94 CPX #$0002 + BNE L030B9D + ASL + ASL + ASL + ASL +L030B9D ORA L031765 + STA L031765 + PLA +L030BA4 LDY L031775 + BRL L030964 +L030BAA STA L030B6B + SEC +L030BAE BCC L030BC8 + PHP + TXA + INC + AND #$0006 + TAY + LDA L030BEB+2,Y + STA L030BF9 + LDA L030BF1,Y + STA L030BFB + LDA L030B6B + LSR + PHP +L030BC8 CLC + ADC #$0008 + PLP + PEA $0000 + PHA + LDA L030BF9 + BCC L030BD9 + EOR L030BFB +L030BD9 PHA + _GetColorEntry + PLA + STA L031765 + PLP + BCS L030BF0 + LDX L030B63 +L030BEB LDA L030B6B + BRA L030BA4 +L030BF0 RTS + +L030BF1 DW $0008 + DW $0001 + DW $0004 + DW $000F +L030BF9 DW $0000 +L030BFB DW $0000 +L030BFD STZ L030CA5 + STA L030CA7 + LDA #$0001 + JSR L030C79 +L030C09 PEA $0000 + PEA $0000 + _StillDown + PLA + BEQ L030C57 + PEA ^L0317F5 + PEA L0317F5 + _GetMouse + PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + LDA L030CA7 + CMP #$0001 + BNE L030C3F + PEA ^L031998 + PEA L031998 + BRA L030C45 +L030C3F PEA ^L0319A0 + PEA L0319A0 +L030C45 _PtInRect + PLA + BEQ L030C52 + LDA #$0001 +L030C52 JSR L030C79 + BRA L030C09 +L030C57 LDA L030CA5 + BEQ L030C78 + LDA L030CA7 + CMP #$0001 + BEQ L030C74 + PEA $0000 + PEA ^L03179D + PEA L03179D + _SetColorTable +L030C74 SEC + ROR L031759 +L030C78 RTS + +L030C79 CMP L030CA5 + BEQ L030CA4 + STA L030CA5 + LDA L030CA7 + CMP #$0001 + BNE L030C91 + PEA ^L031998 + PEA L031998 + BRA L030C97 +L030C91 PEA ^L0319A0 + PEA L0319A0 +L030C97 PEA $000F + PEA $000D + _InvertRRect +L030CA4 RTS + +L030CA5 DW $0000 +L030CA7 DW $0000 + +L030CA9 _HideCursor + PEA $0000 + PEA $0000 + LDA L03175B + CLC + ADC #$0015 + PHA + _GetSCB + PLA + AND #$000F + PHA + PEA $0000 + LDA L03175B+2 + INC + PHA + LDA L03175B + INC + PHA + _GetPixel + _GetColorEntry + PLA + STA L030E89 + _ShowCursor +L030CF0 LDA L0317F1 + STA L030E85 + PEA ^L030E8B + PEA L030E8B + _SetPenPat + PEA $0002 + _SetPenMode + STZ L030E87 + PEA ^L03175B + PEA L03175B + _FrameRect + LDA L0317F5 + STA L030E81 + LDA L0317F7 + STA L030E83 +L030D29 PEA $0000 + PEA $0000 + _GetTick + PLA + STA L0317F1 + PLA + PEA $0000 + PEA $0000 + _StillDown + PLA + BEQ L030DBC + PEA ^L0317F5 + PEA L0317F5 + _GetMouse + LDA L0317F7 + SEC + SBC L030E83 + TAX + LDA L0317F5 + SEC + SBC L030E81 + TAY + BNE L030D6D + TXA + BEQ L030D82 +L030D6D PEA ^L03175B + PEA L03175B + PHX + PHY + JSR L030E54 + _OffsetRect + BRL L030CF0 +L030D82 LDA L030E85 + CLC + ADC #$000A + BCS L030D90 + CMP L0317F1 + BCS L030D29 +L030D90 PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA ^L03175B + PEA L03175B + _FrameRect + LDA L0317F1 + STA L030E85 + LDA #$FFFF + EOR L030E87 + STA L030E87 + BRL L030D29 +L030DBC JSR L030E54 + PEA $0000 + _SetPenMode + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L03186F + PEA L03186F + _PtInRect + PLA + BEQ L030E00 + STZ L031777 + LDA L030E89 + CMP L031765 + BEQ L030E36 + STA L031765 + BRL L030325 +L030E00 LDA L0317F5 + CMP #$003C + BCC L030E36 + CMP #$004D + BCS L030E36 + LDA L0317F7 + CMP #$0030 + BCC L030E36 + CMP #$0130 + BCS L030E36 + SBC #$002F + LSR + LSR + LSR + LSR + EOR #$000F +L030E24 PEA $0000 + PHA + LDA L030E89 + PHA + _SetColorEntry + BRL L0305E6 +L030E36 PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L0317DB + PEA L0317DB + _PtInRect + PLA + BEQ L030E80 + LDA L031763 + BRA L030E24 +L030E54 BIT L030E87 + BPL L030E66 + PEA ^L03175B + PEA L03175B + _FrameRect +L030E66 PEA ^L030E8B + PEA L030E8B + _SetPenPat + PEA ^L03175B + PEA L03175B + _FrameRect +L030E80 RTS + +L030E81 DW $0000 +L030E83 DW $0000 +L030E85 DW $0000 +L030E87 DW $0000 +L030E89 DW $0000 +L030E8B HEX 00FF00FFFF00FF0000FF00FFFF00FF00 + HEX 00FF00FFFF00FF0000FF00FFFF00FF00 +L030EAB PEA $0000 + PEA ^L0317F5 + PEA L0317F5 + PEA ^L0317CB + PEA L0317CB + _PtInRect + PLA + BEQ L030EC7 + LDA #$0001 +L030EC7 CMP L031779 + BEQ L030EE5 + STA L031779 + ORA #$0000 + BNE L030EE6 + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor +L030EE5 RTS + +L030EE6 PEA ^L0317FF + PEA L0317FF + _SetCursor + RTS + +L030EF4 PEA $0000 + PEA $000C + PEA $0140 + PEA $00BC + JSL L018223 + LDA $A0 + STA L0318B7 + LDA $A2 + STA L0318B7+2 + LDA $A0 + STA L0318CD + LDA $A2 + STA L0318CD+2 + PEA $0000 + PEA $FFF8 + _SetOrigin + PEA ^L0317E3 + PEA L0317E3 + _FrameRect + PEA $0004 + PEA $004E + _MoveTo + PEA $0137 + PEA $0000 + _Line + PEA ^L0317C3 + PEA L0317C3 + _FrameRect + LDA $3E + BNE L030F6A + PEA ^L0318C9 + PEA L0318C9 + _PaintPixels +L030F6A LDX #$000F +L030F6D PHX + LDA #$003C + STA L03175B + LDA #$004D + STA L03175B+4 + TXA + ASL + ASL + ASL + ASL + CLC + ADC #$0030 + STA L03175B+2 + ADC #$0010 + STA L03175B+6 + PEA ^L03175B + PEA L03175B + _FrameRect + INC L03175B + INC L03175B+2 + DEC L03175B+4 + DEC L03175B+6 + PLA + PHA + EOR #$000F + JSR L0300CF + PEA ^L03175B + PEA L03175B + PEA ^L03177D + PEA L03177D + _FillRect + PLX + DEX + BPL L030F6D + JSR L0300A8 + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA ^L031988 + PEA L031988 + PEA $000F + PEA $000D + _FrameRRect + PEA ^L031990 + PEA L031990 + PEA $000F + PEA $000D + _FrameRRect + PEA $0021 + PEA $0014 + _MoveTo + PEA ^L01046F + PEA L01046F + _DrawString + PEA $0011 + PEA $0028 + _MoveTo + PEA ^L010472 + PEA L010472 + _DrawString + LDA #$0002 +L031031 PHA + ASL + ASL + ASL + CLC + ADC #L03182F + STA L0313E4 + LDA #^L03182F + STA L0313E4+2 + PLA + PHA + INC + INC + CMP #$0005 + BNE L03104E + LDA #$000E +L03104E JSR L0300CF + LDA L0313E4+2 + PHA + LDA L0313E4 + PHA + PEA ^L03177D + PEA L03177D + _FillRect + LDA L0313E4+2 + PHA + LDA L0313E4 + PHA + _FrameRect + PLA + DEC + BMI L03107C + BRL L031031 +L03107C LDA #$009D + STA L03175B + CLC + ADC #$0009 + STA L03175B+4 + LDA #$00DA + STA L03175B+2 + ADC #$0009 + STA L03175B+6 + LDA #$000F +L031098 PHA + JSR L0300CF + PEA ^L03175B + PEA L03175B + PEA ^L03177D + PEA L03177D + _FillRect + PEA ^L03175B + PEA L03175B + _FrameRect + PLA + PHA + AND #$0007 + BNE L0310DC + LDA #$00A5 + STA L03175B + CLC + ADC #$0009 + STA L03175B+4 + LDA #$00D2 + STA L03175B+2 + ADC #$0009 + STA L03175B+6 +L0310DC PEA ^L03175B + PEA L03175B + PEA $0008 + PEA $0000 + _OffsetRect + PLA + DEC + BPL L031098 + PEA ^L031847 + PEA L031847 + _FrameRect + PEA ^L03184F + PEA L03184F + _FrameRect + PEA ^L031857 + PEA L031857 + _FrameRect + PEA ^L03185F + PEA L03185F + _FrameRect + PEA ^L031867 + PEA L031867 + _FrameRect + LDA #$0004 +L031137 PHA + ASL + ASL + ASL + TAX + LDA L03184D,X + PHA + PEA $0051 + _MoveTo + PEA $0000 + PEA $0059 + _Line + PEA $FFF1 + PEA $0000 + _Line + PLA + DEC + BPL L031137 + LDA #$0028 + JSR L031359 + LDA #$004B + JSR L031359 + LDA #$006E + JSR L031359 + LDA #$00A0 + JSR L031359 + LDA #$00C3 + JSR L031359 + LDA #$000D + JSR L0300CF + PEA ^L03186F + PEA L03186F + PEA ^L03177D + PEA L03177D + _FillRect + PEA ^L03186F + PEA L03186F + _FrameRect + LDA #$005D + STA L031877 + STA L03187F + STA L031887 + STA L03188F + STA L031897 + LDA #$0061 + STA L03187B + STA L031883 + STA L03188B + STA L031893 + STA L03189B + LDA #$0029 + STA L031879 + LDA #$0037 + STA L03187D + LDA #$004C + STA L031881 + LDA #$005A + STA L031885 + LDA #$006F + STA L031889 + LDA #$007D + STA L03188D + LDA #$00A1 + STA L031891 + LDA #$00AF + STA L031895 + LDA #$00C4 + STA L031899 + LDA #$00D2 + STA L03189D + LDA #$0000 +L03120F PHA + LSR + LDA #$0000 + BCC L031219 + LDA #$0004 +L031219 CLC + ADC #$0005 + STA L0313E2 + JSR L0300CF + PEA ^L031877 + PEA L031877 + PEA ^L03177D + PEA L03177D + _FillRect + INC L0313E2 + LDA L0313E2 + JSR L0300CF + PEA ^L03187F + PEA L03187F + PEA ^L03177D + PEA L03177D + _FillRect + INC L0313E2 + LDA L0313E2 + JSR L0300CF + PEA ^L031887 + PEA L031887 + PEA ^L03177D + PEA L03177D + _FillRect + INC L0313E2 + LDA L0313E2 + JSR L0300CF + PEA ^L03188F + PEA L03188F + PEA ^L03177D + PEA L03177D + _FillRect + LDX L0313E2 + LDA #$0001 + CPX #$0009 + BCC L031298 + LDA #$000E +L031298 JSR L0300CF + PEA ^L031897 + PEA L031897 + PEA ^L03177D + PEA L03177D + _FillRect + LDX #$0005 + LDA #L031877 + STA $0A +L0312B6 PHX + PEA ^L031877 + LDA $0A + PHA + PEA $0000 + PEA $0004 + _OffsetRect + CLC + LDA $0A + ADC #$0008 + STA $0A + PLX + DEX + BNE L0312B6 + PLA + INC + CMP #$0010 + BCS L0312E0 + BRL L03120F +L0312E0 LDA #$0071 + STA L0313E2 + LDX #$0000 +L0312E9 LDY #$0008 +L0312EC PHX + PHY + LDA L0313E2 + PHA + TXA + CLC + ADC #$0008 + PHA + _SetSCB + INC L0313E2 + PLY + PLX + DEY + BNE L0312EC + INX + CPX #$0008 + BCC L0312E9 + LDX #$0020 + LDA #$00B1 +L031313 PHX + PHA + PHA + PEA $0007 + _SetSCB + PLA + INC + PLX + DEX + BNE L031313 + LDA #$0009 +L031329 PHA + ASL + ASL + TAX + LDA L031392,X + STA L0318A1 + LDA L031392+2,X + STA L0318A1+2 + LDA L0313BA,X + STA L0318AF + LDA L0313BC,X + STA L0318B1 + PEA ^L0318B3 + PEA L0318B3 + _PaintPixels + PLA + DEC + BPL L031329 + BRL L030325 +L031359 STA L031390 + PHA + PEA $005C + _MoveTo + PEA $000F + PEA $0000 + _Line + LDA L031390 + PHA + PEA $009D + _MoveTo + PEA $000F + PEA $0000 + _Line + RTS + +L031390 DW $0000 +L031392 ADRL L0318E7 + ADRL L0318E7 + ADRL L0318E7 + ADRL L0318E7 + ADRL L0318E7 + ADRL L031934 + ADRL L031934 + ADRL L031934 + ADRL L031934 + ADRL L031934 +L0313BA DW $0051 +L0313BC DW $0029 + DW $0051 + DW $004C + DW $0051 + DW $006F + DW $0051 + DW $00A1 + DW $0051 + DW $00C4 + DW $009E + DW $0029 + DW $009E + DW $004C + DW $009E + DW $006F + DW $009E + DW $00A1 + DW $009E + DW $00C4 +L0313E2 DW $0000 +L0313E4 ADRL $00000000 + +L0313E8 LDA L031763 + STA L031731 + LDX #$0006 +L0313F1 LDA L03175B,X + STA L031711,X + STA L031719,X + DEX + DEX + BPL L0313F1 + PEA ^L031711 + PEA L031711 + PEA $0001 + PEA $0000 + _InsetRect + PEA ^L031719 + PEA L031719 + PEA $0002 + PEA $0001 + _InsetRect + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA ^L031711 + PEA L031711 + _FrameRect + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA ^L031719 + PEA L031719 + _FrameRect +L031458 _SystemTask + PEA $0000 + PEA $FFFF + PEA ^L0317EB + PEA L0317EB + _GetNextEvent + PLA + PEA ^L0317F5 + PEA L0317F5 + _GlobalToLocal + LDA L0317EB + CMP #$0001 + BNE L031458 + LDA L0317F5 + CMP #$003C + BCC L031458 + CMP #$004D + BCS L031458 + LDA L0317F7 + CMP #$0030 + BCC L031458 + CMP #$0130 + BCS L031458 + SBC #$002F + LSR + LSR + LSR + LSR + EOR #$000F + STA L031733 + EOR #$000F + ASL + ASL + ASL + ASL + ADC #$0030 + STA L031723 + STA L03172B + ADC #$0010 + STA L031727 + STA L03172F + LDA #$003D + STA L031721 + STA L031729 + LDA #$004C + STA L031725 + STA L03172D + PEA ^L031721 + PEA L031721 + PEA $0001 + PEA $0000 + _InsetRect + PEA ^L031729 + PEA L031729 + PEA $0002 + PEA $0001 + _InsetRect + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA ^L031721 + PEA L031721 + _FrameRect + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA ^L031729 + PEA L031729 + _FrameRect + LDA L031731 + STA L031735 + LDA L031733 + STA L031737 + LDA L031735 + CMP L031737 + BCC L031553 + PHA + LDA L031737 + STA L031735 + PLA + STA L031737 +L031553 SEC + LDA L031737 + SBC L031735 + BNE L03155F + BRL L03168F +L03155F CMP #$0001 + BNE L031567 + BRL L03168F +L031567 STA L0316FD + PEA $0000 + PEA ^L031739 + PEA L031739 + _GetColorTable + LDA L031735 + ASL + TAX + LDA L031739,X + AND #$0F00 + XBA + STA L031701 + STZ L0316FF + LDA L031739,X + AND #$00F0 + LSR + LSR + LSR + LSR + STA L031707 + STZ L031705 + LDA L031739,X + AND #$000F + STA L03170D + STZ L03170B + LDA L031737 + ASL + TAX + LDA L031739,X + AND #$0F00 + XBA + STA L031703 + LDA L031739,X + AND #$00F0 + LSR + LSR + LSR + LSR + STA L031709 + LDA L031739,X + AND #$000F + STA L03170F + PHA + PHA + SEC + LDA L031703 + SBC L031701 + PHA + LDA L0316FD + PHA + _FixRatio + PLA + STA L0316F1 + PLA + STA L0316F1+2 + PHA + PHA + SEC + LDA L031709 + SBC L031707 + PHA + LDA L0316FD + PHA + _FixRatio + PLA + STA L0316F5 + PLA + STA L0316F5+2 + PHA + PHA + SEC + LDA L03170F + SBC L03170D + PHA + LDA L0316FD + PHA + _FixRatio + PLA + STA L0316F9 + PLA + STA L0316F9+2 + LDA L031735 + INC +L031628 PHA + ASL + TAX + CLC + LDA L0316FF + ADC L0316F1 + STA L0316FF + LDA L031701 + ADC L0316F1+2 + STA L031701 + XBA + STA L031739,X + CLC + LDA L031705 + ADC L0316F5 + STA L031705 + LDA L031707 + ADC L0316F5+2 + STA L031707 + ASL + ASL + ASL + ASL + ORA L031739,X + STA L031739,X + CLC + LDA L03170B + ADC L0316F9 + STA L03170B + LDA L03170D + ADC L0316F9+2 + STA L03170D + ORA L031739,X + STA L031739,X + PLA + INC + CMP L031737 + BNE L031628 + PEA $0000 + PEA ^L031739 + PEA L031739 + _SetColorTable +L03168F LDA L031731 + JSR L0300CF + PEA ^L03177D + PEA L03177D + _SetPenPat + PEA ^L031711 + PEA L031711 + _FrameRect + PEA ^L031719 + PEA L031719 + _FrameRect + LDA L031733 + JSR L0300CF + PEA ^L03177D + PEA L03177D + _SetPenPat + PEA ^L031721 + PEA L031721 + _FrameRect + PEA ^L031729 + PEA L031729 + _FrameRect + _PenNormal + RTS + +L0316F1 ADRL $00000000 +L0316F5 ADRL $00000000 +L0316F9 ADRL $00000000 +L0316FD DW $0000 +L0316FF DW $0000 +L031701 DW $0000 +L031703 DW $0000 +L031705 DW $0000 +L031707 DW $0000 +L031709 DW $0000 +L03170B DW $0000 +L03170D DW $0000 +L03170F DW $0000 +L031711 HEX 0000000000000000 +L031719 HEX 0000000000000000 +L031721 DW $0000 +L031723 DW $0000 +L031725 DW $0000 +L031727 DW $0000 +L031729 DW $0000 +L03172B DW $0000 +L03172D DW $0000 +L03172F DW $0000 +L031731 DW $0000 +L031733 DW $0000 +L031735 DW $0000 +L031737 DW $0000 +L031739 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L031759 DW $0000 +L03175B HEX 0000000000000000 +L031763 DW $0000 +L031765 DW $0000 +L031767 DW $0000 +L031769 DW $0000 +L03176B DW $0000 +L03176D DW $0000 +L03176F DW $0000 + DW $0000 +L031773 DW $0000 +L031775 DW $0000 +L031777 DW $0000 +L031779 DW $0000 +L03177B DW $0000 +L03177D HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L03179D HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 + DW $00FF + DW $0F0F + DW $0FF0 +L0317C3 DW $0000 + DW $0055 + DW $0038 + DW $0131 +L0317CB DW $0001 + DW $0056 + DW $0037 + DW $0130 +L0317D3 DW $0000 + DW $0000 + DW $00B4 + DW $0140 +L0317DB DW $003F +L0317DD DW $0019 +L0317DF DW $004A +L0317E1 DW $002C +L0317E3 DW $003C + DW $0014 + DW $004D + DW $0130 +L0317EB DW $0000 ; event code +L0317ED ADRL $00000000 ; event message +L0317F1 ADRL $00000000 ; tick count +L0317F5 DW $0000 ; mouse location +L0317F7 DW $0000 +L0317F9 DW $0000 ; modifiers + DW $0000 + DW $0000 +L0317FF DW $0005 ; cursor height + DW $0002 ; cursor width + HEX FFFFF000 ; cursor image + HEX FFFFF000 + HEX FFFFF000 + HEX FFFFF000 + HEX FFFFF000 + HEX FFFFF000 ; cursor mask + HEX FFFFF000 + HEX FFFFF000 + HEX FFFFF000 + HEX FFFFF000 + DW $0000 ; hot spot + DW $0000 +L03182F DW $005D +L031831 DW $001E + DW $009D +L031835 DW $0024 + DW $005D + DW $0041 + DW $009D + DW $0047 + DW $005D +L031841 DW $0064 + DW $009D +L031845 DW $006A +L031847 DW $0050 + DW $0028 + DW $00AA +L03184D DW $0038 +L03184F DW $0050 + DW $004B + DW $00AA + DW $005B +L031857 DW $0050 + DW $006E + DW $00AA + DW $007E +L03185F DW $0050 + DW $00A0 + DW $00AA + DW $00B0 +L031867 DW $0050 + DW $00C3 + DW $00AA + DW $00D3 +L03186F DW $0078 + DW $00DC + DW $008C + DW $0118 +L031877 DW $0000 +L031879 DW $0000 +L03187B DW $0000 +L03187D DW $0000 +L03187F DW $0000 +L031881 DW $0000 +L031883 DW $0000 +L031885 DW $0000 +L031887 DW $0000 +L031889 DW $0000 +L03188B DW $0000 +L03188D DW $0000 +L03188F DW $0000 +L031891 DW $0000 +L031893 DW $0000 +L031895 DW $0000 +L031897 DW $0000 +L031899 DW $0000 +L03189B DW $0000 +L03189D DW $0000 +L03189F DW $0000 +L0318A1 ADRL L0318E7 + DW $0007 +L0318A7 DW $0000 + DW $0000 + DW $000B + DW $000E +L0318AF DW $0051 +L0318B1 DW $0029 +L0318B3 ADRL L03189F +L0318B7 DW $0000 +L0318B9 DW $0000 + ADRL L0318A7 + ADRL L0318AF + DW $0000 + DW $0000 + DW $0000 +L0318C9 ADRL L019825 +L0318CD DW $0000 +L0318CF DW $0000 + ADRL L0318DF + ADRL L0317CB + DW $0000 + DW $0000 + DW $0000 +L0318DF DW $0000 +L0318E1 DW $0000 +L0318E3 DW $0000 +L0318E5 DW $0000 +L0318E7 HEX FFFFFF0FFFFFFF + HEX FFFFF0F0FFFFFF + HEX FFFF0FFF0FFFFF + HEX FFF0FFFFF0FFFF + HEX FF0FFFFFFF0FFF + HEX FF000FFF0000FF + HEX FFFF0FFF0000FF + HEX FFFF0FFF00FFFF + HEX FFFF000000FFFF + HEX FFFFF00000FFFF + HEX FFFFFFFFFFFFFF +L031934 HEX FFFFFFFFFFFFFF + HEX FFFF00000FFFFF + HEX FFFF0FFF00FFFF + HEX FFFF0FFF00FFFF + HEX FF000FFF0000FF + HEX FF0FFFFFFF00FF + HEX FFF0FFFFF000FF + HEX FFFF0FFF000FFF + HEX FFFFF0F000FFFF + HEX FFFFFF000FFFFF + HEX FFFFFFF0FFFFFF + HEX FFFFFFFFFFFFFF + +L031988 DW $000A + DW $000B + DW $0017 + DW $004A +L031990 DW $001E + DW $000B + DW $002B + DW $004A +L031998 DW $000B + DW $000C + DW $0016 + DW $0049 +L0319A0 DW $001F + DW $000C + DW $002A + DW $0049 diff --git a/gspaint/EDITCOLOR.X.S b/gspaint/EDITCOLOR.X.S new file mode 100644 index 0000000..b0c401c --- /dev/null +++ b/gspaint/EDITCOLOR.X.S @@ -0,0 +1,14 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L010D82 + EXT L019EE0 + EXT L019A14 + EXT L0199F4 + EXT L0149A7 + EXT L018223 + EXT L01046F + EXT L010472 + EXT L019825 diff --git a/gspaint/EDITMIROR.E.S b/gspaint/EDITMIROR.E.S new file mode 100644 index 0000000..6bcf864 --- /dev/null +++ b/gspaint/EDITMIROR.E.S @@ -0,0 +1,5 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + diff --git a/gspaint/EDITMIROR.S b/gspaint/EDITMIROR.S new file mode 100644 index 0000000..0af14f9 --- /dev/null +++ b/gspaint/EDITMIROR.S @@ -0,0 +1,431 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use EDITMIROR.E + use EDITMIROR.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L050004 + LDA $A5 +L050004 PHB + PHK + PLB + PEA $0050 + PEA $0028 + PEA $00B9 + PEA $0064 + JSL L018223 + PHA + PHA + LDA $A2 + PHA + LDA $A0 + PHA + PEA ^L0503C2 + PEA L0503C2 + PEA ^L01046F + PEA L01046F + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + PHA + PEA $0001 + PHA + PHA + _NewControl + PLA + STA L050430 + PLA + STA L050430+2 + PHA + PHA + LDA $A2 + PHA + LDA $A0 + PHA + PEA ^L0503CA + PEA L0503CA + PEA ^L010482 + PEA L010482 + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + PHA + PEA $0002 + PHA + PHA + _NewControl + PLA + STA L050434 + PLA + STA L050434+2 + LDA $A2 + PHA + LDA $A0 + PHA + _DrawControls + LDA $8A + STA L0503E2 + PEA ^L0503D2 + PEA L0503D2 + _FrameRect + JSR L0501E6 +L05009D PHA + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BEQ L0500D1 + CMP #$0003 + BNE L05009D + LDAL L0196BD + CMP #$000D + BNE L0500C9 + BRL L050164 +L0500C9 CMP #$001B + BNE L05009D + BRL L05016B +L0500D1 LDAL L0196C5 + STAL L019751 + LDAL L0196C7 + STAL L019753 + PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0503D2 + PEA L0503D2 + _PtInRect + PLA + BEQ L050108 + BRL L05018D +L050108 PHA + PEA ^L050438 + PEA L050438 + LDAL L019753 + PHA + LDAL L019751 + PHA + LDA $A2 + PHA + LDA $A0 + PHA + _FindControl + PLA + BNE L05012C + BRL L05009D +L05012C PHA + LDAL L019753 + PHA + LDAL L019751 + PHA + LDA #$0000 + PHA + PHA + LDA L050438+2 + PHA + LDA L050438 + PHA + _TrackControl + PLA + CMP #$0002 + BEQ L050154 + BRL L05009D +L050154 LDA L050438 + CMP L050430 + BNE L05016B + LDA L050438+2 + CMP L050430+2 + BNE L05016B +L050164 LDA L0503E2 + STA $8A + BRA L05016D +L05016B STZ $8A +L05016D LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + LDA $8A + PHA + PEA $011A + _CheckMItem + JSL L010D82 + PLB + RTL + +L05018D LDX #$0001 + LDA #L0503E8 + STA L0503E4 + LDA #^L0503E8 + STA L0503E6 +L05019C PHX + PHA + PEA ^L0196C5 + PEA L0196C5 + LDA L0503E6 + PHA + LDA L0503E4 + PHA + _PtInRect + PLA + BNE L0501C9 + CLC + LDA L0503E4 + ADC #$0008 + STA L0503E4 + PLX + INX + CPX #$000A + BNE L05019C + BRK $02 ; BUG +L0501C9 PLA + DEC + ASL + TAX + LDA L05043C,X + PHA + AND L0503E2 + BEQ L0501DC + PLA + TRB L0503E2 + BRA L0501E0 +L0501DC PLA + TSB L0503E2 +L0501E0 JSR L0501E6 + BRL L05009D +L0501E6 PEA ^L0503DA + PEA L0503DA + PEA ^L0199F4 + PEA L0199F4 + _FillRect + LDA L0503E2 + AND #$0001 + BNE L050237 + PEA $0001 + PEA $0001 + _SetPenSize + PEA ^L05046E + PEA L05046E + _SetPenPat + PEA $0010 + PEA $000B + _MoveTo + PEA $005C + PEA $0057 + _LineTo + BRA L05026B +L050237 PEA $0002 + PEA $0002 + _SetPenSize + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA $0010 + PEA $000B + _MoveTo + PEA $005B + PEA $0056 + _LineTo +L05026B LDA L0503E2 + AND #$0002 + BNE L0502A9 + PEA $0001 + PEA $0001 + _SetPenSize + PEA ^L05044E + PEA L05044E + _SetPenPat + PEA $0036 + PEA $000B + _MoveTo + PEA $0036 + PEA $0057 + _LineTo + BRA L0502DD +L0502A9 PEA $0003 + PEA $0001 + _SetPenSize + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA $0035 + PEA $000B + _MoveTo + PEA $0035 + PEA $0057 + _LineTo +L0502DD LDA L0503E2 + AND #$0004 + BNE L05031B + PEA $0001 + PEA $0001 + _SetPenSize + PEA ^L05046E + PEA L05046E + _SetPenPat + PEA $0010 + PEA $0057 + _MoveTo + PEA $005C + PEA $000B + _LineTo + BRA L05034F +L05031B PEA $0002 + PEA $0002 + _SetPenSize + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA $0010 + PEA $0056 + _MoveTo + PEA $005B + PEA $000B + _LineTo +L05034F LDA L0503E2 + AND #$0008 + BNE L05038D + PEA $0001 + PEA $0001 + _SetPenSize + PEA ^L05044E + PEA L05044E + _SetPenPat + PEA $0010 + PEA $0031 + _MoveTo + PEA $005C + PEA $0031 + _LineTo + BRA L0503C1 +L05038D PEA $0001 + PEA $0002 + _SetPenSize + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA $0010 + PEA $0030 + _MoveTo + PEA $005C + PEA $0030 + _LineTo +L0503C1 RTS + +L0503C2 DW $0014 + DW $006E + DW $0021 + DW $00AA +L0503CA DW $0041 + DW $006E + DW $004E + DW $00AA +L0503D2 DW $000A + DW $000F + DW $0059 + DW $005E +L0503DA DW $000B + DW $0010 + DW $0058 + DW $005D +L0503E2 DW $0000 +L0503E4 DW $0000 +L0503E6 DW $0000 +L0503E8 DW $000A + DW $000F + DW $002C + DW $0031 + DW $000A + DW $0031 + DW $002C + DW $003B + DW $000A + DW $003B + DW $002C + DW $005E + DW $002C + DW $003B + DW $0036 + DW $005E + DW $0036 + DW $003B + DW $0059 + DW $005E + DW $0036 + DW $0031 + DW $0059 + DW $003B + DW $0036 + DW $000F + DW $0059 + DW $0031 + DW $002C + DW $000F + DW $0036 + DW $0031 + DW $002C + DW $0031 + DW $0036 + DW $003B +L050430 ADRL $00000000 +L050434 ADRL $00000000 +L050438 ADRL $00000000 +L05043C DW $0001 + DW $0002 + DW $0004 + DW $0008 + DW $0001 + DW $0002 + DW $0004 + DW $0008 + DW $000F +L05044E HEX F0F0F0F00F0F0F0FF0F0F0F00F0F0F0F + HEX F0F0F0F00F0F0F0FF0F0F0F00F0F0F0F +L05046E HEX F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 + HEX F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 diff --git a/gspaint/EDITMIROR.X.S b/gspaint/EDITMIROR.X.S new file mode 100644 index 0000000..dda9793 --- /dev/null +++ b/gspaint/EDITMIROR.X.S @@ -0,0 +1,17 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L0196BD + EXT L010D82 + EXT L0196C7 + EXT L0196C5 + EXT L019A14 + EXT L0199F4 + EXT L018223 + EXT L01046F + EXT L019751 + EXT L019753 + EXT L010482 diff --git a/gspaint/EDITPAT.E.S b/gspaint/EDITPAT.E.S new file mode 100644 index 0000000..6bcf864 --- /dev/null +++ b/gspaint/EDITPAT.E.S @@ -0,0 +1,5 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + diff --git a/gspaint/EDITPAT.S b/gspaint/EDITPAT.S new file mode 100644 index 0000000..b9ae808 --- /dev/null +++ b/gspaint/EDITPAT.S @@ -0,0 +1,658 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use EDITPAT.E + use EDITPAT.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L060004 + LDA $A5 +L060004 PHB + PHK + PLB + PEA $0064 + PEA $0028 + PEA $0095 + PEA $0066 + JSL L018223 + LDX $70 + JSL L0149AE + PHX + PHA + PEA ^L0605AB + PEA L0605AB + PEA $0000 + PEA $0020 + _BlockMove + PEA ^L0605AB + PEA L0605AB + PEA ^L0605CB + PEA L0605CB + PEA $0000 + PEA $0020 + _BlockMove + _PenNormal + PEA ^L060553 + PEA L060553 + _FrameRect + PEA ^L06055B + PEA L06055B + _FrameRect + JSR L060401 + PHA + PHA + LDA $A2 + PHA + LDA $A0 + PHA + PEA ^L06056B + PEA L06056B + PEA ^L01046F + PEA L01046F + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + PHA + PEA $0001 + PHA + PHA + _NewControl + PLA + STA L060633 + PLA + STA L060633+2 + PHA + PHA + LDA $A2 + PHA + LDA $A0 + PHA + PEA ^L060573 + PEA L060573 + PEA ^L010472 + PEA L010472 + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + PHA + PEA $0002 + PHA + PHA + _NewControl + PLA + STA L060637 + PLA + STA L060637+2 + LDA $A2 + PHA + LDA $A0 + PHA + _DrawControls + PEA ^L060563 + PEA L060563 + PEA ^L0605AB + PEA L0605AB + _FillRect + STZ L06062F + LDA #$0010 + STA L0605F3 + PEA ^L060605 + PEA L060605 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + LDY #$0007 +L060112 LDX #$0007 +L060115 PHX + PHY + LDA #L0605AB + JSR L060524 + STA L06062D + PLY + PLX + PHX + PHY + JSR L0603AC + JSR L060487 + PEA ^L0605EB + PEA L0605EB + PEA ^L06058B + PEA L06058B + _FillRect + PLY + PLX + DEX + BPL L060115 + DEY + BPL L060112 +L060145 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA #$0001 + STA L060631 + LDAL L0196BB + CMP #$0001 + BEQ L0601A5 + CMP #$0003 + BNE L060145 + LDAL L0196BD + CMP #$000D + BNE L06018B + PEA $0002 + LDA L060633+2 + PHA + LDA L060633 + PHA + _HiliteControl + BRL L0602B2 +L06018B CMP #$001B + BNE L060145 + PEA $0002 + LDA L060637+2 + PHA + LDA L060637 + PHA + _HiliteControl + BRL L0602D2 +L0601A5 LDAL L0196C5 + STAL L019751 + LDAL L0196C7 + STAL L019753 + PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L06057B + PEA L06057B + _PtInRect + PLA + BNE L0601DE + BRL L060145 +L0601DE JSR L06049B + BCC L06021B + STX L0605F3 + STX L06062D + JSR L060487 + PEA ^L060605 + PEA L060605 + PEA ^L06058B + PEA L06058B + _FillRect + PEA ^L0605AB + PEA L0605AB + PEA ^L0605CB + PEA L0605CB + PEA $0000 + PEA $0020 + _BlockMove + BRL L060145 +L06021B PHA + PEA ^L06063B + PEA L06063B + LDAL L019753 + PHA + LDAL L019751 + PHA + LDA $A2 + PHA + LDA $A0 + PHA + _FindControl + PLA + BNE L06027A +L06023C PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L060553 + PEA L060553 + _PtInRect + PLA + BEQ L060256 + JSR L0602F2 +L060256 LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L060268 + BRL L060145 +L060268 STZ L060631 + PEA ^L0196C5 + PEA L0196C5 + _GetMouse + BRA L06023C +L06027A PHA + LDAL L019753 + PHA + LDAL L019751 + PHA + LDA #$0000 + PHA + PHA + LDA L06063B+2 + PHA + LDA L06063B + PHA + _TrackControl + PLA + CMP #$0002 + BEQ L0602A2 + BRL L060145 +L0602A2 LDA L06063B + CMP L060633 + BNE L0602D2 + LDA L06063B+2 + CMP L060633+2 + BNE L0602D2 +L0602B2 PEA ^L0605AB + PEA L0605AB + LDX $70 + JSL L0149AE + PHX + PHA + PEA $0000 + PEA $0020 + _BlockMove + LDA #$0001 + STA $3C +L0602D2 LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + JSL L010D82 + LDA $8E + PHA + LDA $8C + PHA + _SetPort + PLB + RTL + +L0602F2 PHA + PHA + LDAL L0196C5 + SEC + SBC #$0007 + PHA + PEA $0005 + _UDivide + PLA + STA L06063F + PLX + CMP #$0008 + BCS L060333 + PHA + PHA + LDAL L0196C7 + SEC + SBC #$000C + PHA + PEA $0007 + _UDivide + PLX + PLA + CPX #$0008 + BCS L060333 + LDY L06063F + JSR L060334 +L060333 RTS + +L060334 LDA L0605F3 + STA L06062D + PHX + PHY + LDA L060631 + BNE L060355 + LDA L06062F + BEQ L060376 + LDA #L0605CB + PLY + PLX + PHX + PHY + JSR L060524 + STA L06062D + BRA L060376 +L060355 STZ L06062F + LDA #L0605AB + JSR L060524 + CMP L0605F3 + BNE L060376 + LDA #$0001 + STA L06062F + LDA #L0605CB + PLY + PLX + PHX + PHY + JSR L060524 + STA L06062D +L060376 PLY + PLX + PHX + PHY + JSR L0603AC + JSR L060487 + PEA ^L0605EB + PEA L0605EB + PEA ^L06058B + PEA L06058B + _FillRect + PLY + PLX + JSR L0604F5 + PEA ^L060563 + PEA L060563 + PEA ^L0605AB + PEA L0605AB + _FillRect + RTS + +L0603AC CLC + LDA L060555 + ADC #$0002 + STA L0605ED + CLC + ADC #$0006 + STA L0605F1 + CPX #$0000 + BEQ L0603D6 + LDA L0605ED +L0603C5 CLC + ADC #$0007 + DEX + BNE L0603C5 + STA L0605ED + CLC + ADC #$0006 + STA L0605F1 +L0603D6 CLC + LDA L060553 + ADC #$0002 + STA L0605EB + CLC + ADC #$0004 + STA L0605EF + CPY #$0000 + BEQ L060400 + LDA L0605EB +L0603EF CLC + ADC #$0005 + DEY + BNE L0603EF + STA L0605EB + CLC + ADC #$0004 + STA L0605EF +L060400 RTS + +L060401 PEA ^L0605FD + PEA L0605FD + _FrameRect + LDX #$0001 + STX L06062D +L060414 PHX + JSR L060487 + JSR L0604C5 + PEA ^L0605F5 + PEA L0605F5 + PEA ^L06058B + PEA L06058B + _FillRect + INC L06062D + PLX + INX + CPX #$0011 + BNE L060414 + PEA $0022 + PEA $0041 + _MoveTo + PEA $0089 + PEA $0041 + _LineTo + LDX #$0008 + LDA #$0022 +L060458 PHX + PHA + PHA + PHA + PEA $0036 + _MoveTo + PEA $004D + _LineTo + CLC + PLA + ADC #$000D + PLX + DEX + BNE L060458 + PEA ^L060583 + PEA L060583 + _FrameRect + RTS + +L060487 LDA L06062D + DEC + ASL + TAY + LDA L06060D,Y + LDY #$001E +L060493 STA L06058B,Y + DEY + DEY + BPL L060493 + RTS + +L06049B LDX #$0001 +L06049E PHX + JSR L0604C5 + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0605F5 + PEA L0605F5 + _PtInRect + PLA + BNE L0604C2 + PLX + INX + CPX #$0011 + BNE L06049E + CLC + RTS + +L0604C2 SEC + PLX + RTS + +L0604C5 LDA #$0037 + CPX #$0009 + BCC L0604D6 + TXA + SEC + SBC #$0008 + TAX + LDA #$0042 +L0604D6 STA L0605F5 + CLC + ADC #$000B + STA L0605F9 + LDA #$0015 +L0604E3 CLC + ADC #$000D + DEX + BNE L0604E3 + STA L0605F7 + CLC + ADC #$000D + STA L0605FB + RTS + +L0604F5 JSR L060546 + LDA L06062D + DEC + BCS L060513 + ASL + ASL + ASL + ASL + SEP #$30 + PHA + LDA L0605AB,X + AND #$0F + ORA $01,S + STA L0605AB,X + PLA + REP #$30 + RTS + +L060513 SEP #$30 + PHA + LDA L0605AB,X + AND #$F0 + ORA $01,S + STA L0605AB,X + PLA + REP #$30 + RTS + +L060524 STA $0A + LDA #^L0605AB + STA $0C + JSR L060546 + TXY + LDA #$0000 + BCS L06053F + LDA [$0A],Y + AND #$00F0 + LSR + LSR + LSR + LSR + INC + RTS + +L06053F LDA [$0A],Y + AND #$000F + INC + RTS + +L060546 TYA + ASL + ASL + ASL + PHA + TXA + CLC + ADC $01,S + LSR + TAX + PLA + RTS + +L060553 DW $0006 +L060555 DW $000B + DW $0031 + DW $0046 +L06055B DW $0006 + DW $0050 + DW $0031 + DW $008A +L060563 DW $0007 + DW $0051 + DW $0030 + DW $0089 +L06056B DW $0052 + DW $000B + DW $005F + DW $0046 +L060573 DW $0052 + DW $0050 + DW $005F + DW $008A +L06057B DW $0000 + DW $0000 + DW $0066 + DW $0095 +L060583 DW $0036 + DW $000B + DW $004E + DW $008A +L06058B HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0605AB HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0605CB HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0605EB DW $0000 +L0605ED DW $0000 +L0605EF DW $0000 +L0605F1 DW $0000 +L0605F3 DW $0000 +L0605F5 DW $0000 +L0605F7 DW $0000 +L0605F9 DW $0000 +L0605FB DW $0000 +L0605FD DW $003B + DW $000F + DW $004A + DW $001E +L060605 DW $003C + DW $0010 + DW $0049 + DW $001D +L06060D HEX 00001111222233334444555566667777 + HEX 88889999AAAABBBBCCCCDDDDEEEEFFFF +L06062D DW $0000 +L06062F DW $0000 +L060631 DW $0000 +L060633 ADRL $00000000 +L060637 ADRL $00000000 +L06063B ADRL $00000000 +L06063F DW $0000 diff --git a/gspaint/EDITPAT.X.S b/gspaint/EDITPAT.X.S new file mode 100644 index 0000000..dd3bf4d --- /dev/null +++ b/gspaint/EDITPAT.X.S @@ -0,0 +1,17 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L0196BD + EXT L010D82 + EXT L0196C7 + EXT L0196C5 + EXT L0199F4 + EXT L0149AE + EXT L018223 + EXT L01046F + EXT L010472 + EXT L019751 + EXT L019753 diff --git a/gspaint/FULLSCREEN.S b/gspaint/FULLSCREEN.S new file mode 100644 index 0000000..e56c5ba --- /dev/null +++ b/gspaint/FULLSCREEN.S @@ -0,0 +1,175 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use FULLSCREEN.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L0A0004 + LDA $A5 +L0A0004 PHB + PHK + PLB + LDA $3E + BEQ L0A000D + PLB + RTL + +L0A000D STZ L0A016F + STZ L0A0171 + LDA #$00C7 + STA L0A0173 + LDA #$013F + STA L0A0175 + JSL L018744 + PEA $0000 + _SetAllSCBs + LDA $8E + PHA + LDA $8C + PHA + _SetPort + LDAL L019976 + STA $0A + LDAL L019978 + STA $0C + JSR L0A00B4 + PEA ^L01A500 + PEA L01A500 + _SetCursor +L0A0056 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BNE L0A0076 + BRL L0A00EE +L0A0076 CMP #$0003 + BNE L0A0056 + JSL L01351E + BCS L0A0056 + _HideCursor + _DrawMenuBar + _InitPalette + PEA $0000 + PEA $0000 + _RefreshDesktop + JSL L010D82 + _ShowCursor + JSL L018752 + PLB + RTL + +L0A00B4 _HideCursor + LDA #$2000 + STA $0E + LDA #$00E1 + STA $10 + LDX #$00C8 +L0A00C8 LDY #$009E +L0A00CB LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L0A00CB + CLC + LDA $0A + ADC #$00A0 + STA $0A + CLC + LDA $0E + ADC #$00A0 + STA $0E + DEX + BNE L0A00C8 + _ShowCursor + RTS + +L0A00EE LDAL L0196C5 + STA L0A016D +L0A00F5 LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L0A0107 + BRL L0A0056 +L0A0107 PEA ^L0196C5 + PEA L0196C5 + _GetMouse + SEC + LDA L0A016D + SBCL L0196C5 + STA L0A0177 + BEQ L0A00F5 + CLC + LDA L0A016F + ADC L0A0177 + STA L0A016F + BPL L0A0138 + STZ L0A016F + LDA #$00C7 + STA L0A0173 + BRA L0A0153 +L0A0138 CLC + LDA L0A0173 + ADC L0A0177 + STA L0A0173 + CMP $F0 + BCC L0A0153 + LDA $F0 + DEC + STA L0A0173 + SEC + SBC #$00C7 + STA L0A016F +L0A0153 LDA L0A016F + JSL L0182D0 + CLC + ADCL L019976 + STA $0A + LDAL L019978 + STA $0C + JSR L0A00B4 + BRL L0A00EE + +L0A016D DW $0000 +L0A016F DW $0000 +L0A0171 DW $0000 +L0A0173 DW $0000 +L0A0175 DW $0000 +L0A0177 DW $0000 diff --git a/gspaint/FULLSCREEN.X.S b/gspaint/FULLSCREEN.X.S new file mode 100644 index 0000000..5d0e044 --- /dev/null +++ b/gspaint/FULLSCREEN.X.S @@ -0,0 +1,15 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L01351E + EXT L018744 + EXT L010D82 + EXT L019976 + EXT L019978 + EXT L018752 + EXT L0196C5 + EXT L01A500 + EXT L0182D0 diff --git a/gspaint/GSPAINT.FR.S b/gspaint/GSPAINT.FR.S new file mode 100644 index 0000000..b1e330a --- /dev/null +++ b/gspaint/GSPAINT.FR.S @@ -0,0 +1,175 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + +*------------------------------- + +L01012B ENT + ASC '>L@\XN1'0D + ASC ' LA propos de' + ASC "I" + ASC '\N256'0D + ASC ' LAide' + ASC "I" + ASC '\VN257'0D +L010155 ENT + ASC '>L Fichier \N2'0D + ASC ' LNouveau\*NnN258'0D + ASC ' LOuvrir' + ASC "I" + ASC '\*OoN259'0D + ASC ' LFermer\N260'0D + ASC ' LEnregistrer' + ASC "I" + ASC '\*EeN261'0D + ASC ' LEnregistrer sous' + ASC "I" + ASC '\N262'0D + ASC ' LVersion enregistr'8E + ASC 'e' + ASC "I" + ASC '\VN263'0D + ASC ' LType d'27'imprimante' + ASC "I" + ASC '\N264'0D + ASC ' LFormat d'27'impression' + ASC "I" + ASC '\N265'0D + ASC ' LImprimer' + ASC "I" + ASC '\V*IiN266'0D + ASC ' LQuitter\*QqN267'0D +L01023E ENT + ASC '>L Edition \N3'0D + ASC ' LAnnuler\V*ZzN268'0D + ASC ' LCouper\*XxDN269'0D + ASC ' LCopier\*CcDN270'0D + ASC ' LColler\*VvDN271'0D + ASC ' LEffacer\VDN272'0D + ASC ' LInverser\DN273'0D + ASC ' LRetourner horiz.\DN274'0D + ASC ' LRetourner vert.\DN275'0D + ASC ' LFaire pivoter\DN276'0D +L0102FE ENT + ASC '>L Outils \N4'0D + ASC ' LGrille\N277'0D + ASC ' LLoupe\N278'0D + ASC ' LPleine page\N279'0D + ASC ' LPlein '8E + ASC 'cran\N280'0D + ASC ' LPinceaux' + ASC "I" + ASC '\N281'0D + ASC ' LMiroirs' + ASC "I" + ASC '\N282'0D + ASC ' LEditer motif' + ASC "I" + ASC '\DVN283'0D + ASC ' LCompresser' + ASC "I" + ASC '\DN284'0D + ASC ' LAnimer' + ASC "I" + ASC '\DN285'0D +L0103A8 ENT + ASC '>L Couleur \N5'0D + ASC ' LChercher\N286'0D + ASC ' LLib'8E + ASC 'rer\VN287'0D + ASC ' LEditer palette' + ASC "I" + ASC '\N288'0D + ASC ' LChanger palette' + ASC "I" + ASC '\N289'0D +L010405 ENT + ASC '>L Texte \N6'0D + ASC ' LCaract'8F + ASC 'res' + ASC "I" + ASC '\VN290'0D + ASC ' LCadrer '88 + ASC ' gauche\C'12 + ASC '*Gg\N291'0D + ASC ' LCentrer\*TtN292'0D + ASC ' LCadrer '88 + ASC ' droite\*DdN293'0D + ASC '.' + +L01046F ENT + STR 'OK' +L010472 ENT + STR 'Annuler' +L01047A STR 'Oui' +L01047E STR 'Non' +L010482 ENT + STR 'Aucun' +L010488 STR 'Lecteur' +L010490 STR 'Fermer' +L010497 STR 'fermer' +L01049E STR 'Ouvrir' +L0104A5 STR 'Sauver' +L0104AC STR 'Libre : ^0/^1 K'0D +L0104BD STR 'Dossier' +L0104C5 STR 'quitter' +L0104CD DW $0004 +L0104CF DW $0005 +L0104D1 DW $001C +L0104D3 DW $00FA +L0104D5 STR 'Voulez-vous enregistrer les '0D'modifications avant de ^0 ?'0D +L01050F DW $000A +L010511 DW $0005 +L010513 DW $001E +L010515 DW $00FA +L010517 STR 'Voulez-vous revenir '88' la'0D'derni'8F're version enregistr'8E'e ?'0D +L010550 STR 'Ins'8E'rez le disque syst'8F'me' +L01056A STR 'Ins'8E'rez le disque programme' +L010586 STR 'Impossible d'27'imprimer.' +L01059D DW $0014 +L01059F DW $000A +L0105A1 DW $0022 +L0105A3 DW $00FA +L0105A5 STR 'GS/Paint ne pourra pas annuler!' +L0105C5 STR 'Avez-vous un ruban couleur ?' +L0105E2 STR 'Enregistrer sous :' +L0105F5 STR 'Ouvrir :' +L0105FE STR ' Format '8E'cran' +L01060C STR ' Format paint' +L01061A STR ' Format Apple ' +L010629 STR 'Erreur E/S No $^0'0D +L01063C STR 'Erreur m'8E'moire No $^0'0D +L010653 STR 'Erreur No $^0'0D +L010662 STR 'Erreur Systeme No $' +L010676 ENT + STR 'Sans.titre' +L010681 ENT + STR 'Tempo : ' +L01068A ENT + STR 'S'8E'lectionnez une des images : ' +L0106A9 ENT + STR 'Sauver l'27'animation :' +L0106BE ENT + STR 'Lancer l'27'animation :' +L0106D3 STR 'Ecran0' +L0106DA ENT + STR 'Recuperation' +L0106E7 STR '?' +L0106E9 STR 'GS/Paint V1.2' +L0106F7 STR 'par' +L0106FB STR 'H. Lamiraux' +L010707 STR 'et' +L01070A STR 'B. Gallet, L. Barthelet' +L010722 STR 'R. Danais, S. Cavril' +L010737 STR 'Copyright 1986, Version Soft.' +L010755 STR 'Disque prot'8E'g'8E' en '8E'criture.' +L010771 STR 'Fichier non trouv'8E'.' +L010785 STR 'Nom de fichier en double.' +L01079F STR 'Volume plein.' +L0107AD STR 'Catalogue plein.' +L0107BE STR 'Acc'8F's r'8E'serv'8E'.' +L0107CD STR 'Pas assez de m'8E'moire.' diff --git a/gspaint/GSPAINT.US.S b/gspaint/GSPAINT.US.S new file mode 100644 index 0000000..02363fd --- /dev/null +++ b/gspaint/GSPAINT.US.S @@ -0,0 +1,171 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + +*------------------------------- + +L01012B ENT + ASC '>L@\XN1'0D + ASC ' LAbout' + ASC "I" + ASC '\N256'0D + ASC ' LHelp' + ASC "I" + ASC '\VN257'0D +L010155 ENT + ASC '>L File \N2'0D + ASC ' LNew\*NnN258'0D + ASC ' LOpen' + ASC "I" + ASC '\*OoN259'0D + ASC ' LClose\N260'0D + ASC ' LSave' + ASC "I" + ASC '\*EeN261'0D + ASC ' LSave as' + ASC "I" + ASC '\N262'0D + ASC ' LRevert to saved' + ASC "I" + ASC '\VN263'0D + ASC ' LPrinter type' + ASC "I" + ASC '\N264'0D + ASC ' LPrint setup' + ASC "I" + ASC '\N265'0D + ASC ' LPrint' + ASC "I" + ASC '\V*IiN266'0D + ASC ' LQuit\*QqN267'0D +L01023E ENT + ASC '>L Edit \N3'0D + ASC ' LCancel\V*ZzN268'0D + ASC ' LCut\*XxDN269'0D + ASC ' LCopy\*CcDN270'0D + ASC ' LPaste\*VvDN271'0D + ASC ' LClear\VDN272'0D + ASC ' LInvert\DN273'0D + ASC ' LHorizontal flip\DN274'0D + ASC ' LVertical flip\DN275'0D + ASC ' LRotate\DN276'0D +L0102FE ENT + ASC '>L Tools \N4'0D + ASC ' LGrid\N277'0D + ASC ' LMagnify\N278'0D + ASC ' LFull page\N279'0D + ASC ' LFull screen\N280'0D + ASC ' LPencils' + ASC "I" + ASC '\N281'0D + ASC ' LMirrors' + ASC "I" + ASC '\N282'0D + ASC ' LEdit pattern' + ASC "I" + ASC '\DVN283'0D + ASC ' LCompress' + ASC "I" + ASC '\DN284'0D + ASC ' LAnimate' + ASC "I" + ASC '\DN285'0D +L0103A8 ENT + ASC '>L Color \N5'0D + ASC ' LFind\N286'0D + ASC ' LFree\VN287'0D + ASC ' LEdit palette' + ASC "I" + ASC '\N288'0D + ASC ' LChange palette' + ASC "I" + ASC '\N289'0D +L010405 ENT + ASC '>L Text \N6'0D + ASC ' LFont' + ASC "I" + ASC '\VN290'0D + ASC ' LLeft justify\C'12 + ASC '*Gg\N291'0D + ASC ' LCenter\*TtN292'0D + ASC ' LRight justify\*DdN293'0D + ASC '.' + +L01046F ENT + STR 'OK' +L010472 ENT + STR 'Cancel' +L01047A STR 'Yes' +L01047E STR 'No' +L010482 ENT + STR 'None' +L010488 STR 'Drive' +L010490 STR 'Close' +L010497 STR 'closing' +L01049E STR 'Open' +L0104A5 STR 'Save' +L0104AC STR 'Free : ^0/^1 K'0D +L0104BD STR 'Folder' +L0104C5 STR 'quitting' +L0104CD DW $0004 +L0104CF DW $0005 +L0104D1 DW $001C +L0104D3 DW $00FA +L0104D5 STR 'Do you want to save changes'0D'before ^0 ?' +L01050F DW $000A +L010511 DW $0005 +L010513 DW $001E +L010515 DW $00FA +L010517 STR 'Do you want to revert to the saved version ?'0D +L010550 STR 'Insert system disk' +L01056A STR 'Insert program disk' +L010586 STR 'Cannot print.' +L01059D DW $0014 +L01059F DW $000A +L0105A1 DW $0022 +L0105A3 DW $00FA +L0105A5 STR 'GS/Paint will not cancel!' +L0105C5 STR 'Do you have a color ribbon?' +L0105E2 STR 'Save as:' +L0105F5 STR 'Open:' +L0105FE STR ' Screen format' +L01060C STR ' Paint format ' +L01061A STR ' Apple format ' +L010629 STR 'I/O Error No $^0'0D +L01063C STR 'Memory Error No $^0'0D +L010653 STR 'Error No $^0'0D +L010662 STR 'System Error No $' +L010676 ENT + STR 'Untitled' +L010681 ENT + STR 'Tempo: ' +L01068A ENT + STR 'Select one image: ' +L0106A9 ENT + STR 'Save animation:' +L0106BE ENT + STR 'Play animation:' +L0106D3 STR 'Ecran0' +L0106DA ENT + STR 'Recuperation' + +L0106E7 STR '?' +L0106E9 STR 'GS/Paint V1.2' +L0106F7 STR 'by' +L0106FB STR 'H. Lamiraux' +L010707 STR 'and' +L01070A STR 'B. Gallet, L. Barthelet' +L010722 STR 'R. Danais, S. Cavril' +L010737 STR 'Copyright 1986, Version Soft.' + +L010755 STR 'Disk is read only.' +L010771 STR 'File not found.' +L010785 STR 'Duplicate file name.' +L01079F STR 'Volume full.' +L0107AD STR 'Catalog full.' +L0107BE STR 'Reserved access.' +L0107CD STR 'Not enough memory.' diff --git a/gspaint/INIT.E.S b/gspaint/INIT.E.S new file mode 100644 index 0000000..8eec272 --- /dev/null +++ b/gspaint/INIT.E.S @@ -0,0 +1,8 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +BUTN0 EQU $C061 +CLRROM EQU $CFFF +GSOS EQU $E100A8 diff --git a/gspaint/INIT.S b/gspaint/INIT.S new file mode 100644 index 0000000..cadcd8f --- /dev/null +++ b/gspaint/INIT.S @@ -0,0 +1,1534 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use INIT.E + use INIT.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L020004 + LDA $A5 +L020004 PHB + PHK + PLB + LDA #$0000 + STAL L019693 + SEP #$20 + LDAL BUTN0 + BPL L02001F + REP #$20 + LDA #$0001 + STAL L019693 +L02001F REP #$20 + _TLStartUp + PEA $0000 + _MMStartUp + BCC L020036 + BRK $F1 +L020036 PLA + _MTStartUp + BCC L020042 + BRK $F2 +L020042 LDA $0A + PHA + LDA $0C + PHA + PHA + PHA + PEA $0000 + PEA $0C00 + LDAL L01967F + PHA + PEA $C005 + PEA $0000 + PEA $0000 + _NewHandle + BCC L020069 + BRK $F3 +L020069 PLA + STA $0A + PLA + STA $0C + LDA [$0A] + TAX + LDY #$0002 + LDA [$0A],Y + STA $0C + STX $0A + LDY #$00FE + LDA #$0000 +L020081 STA [$0A],Y + DEY + DEY + BPL L020081 + LDA $0A + PLX + STX $0C + PLX + STX $0A + TCD + STAL L01968D + PEA ^L020DD0 + PEA L020DD0 + _LoadTools + BCC L0200A9 + LDA #$0004 + BRL L020715 +L0200A9 LDX #$000A +L0200AC LDA L020DC4,X + STA $7E,X + DEX + DEX + BPL L0200AC + LDA #$3197 + STA $06 + LDA #$00E1 + STA $08 + LDA #$000E + STA $76 + STAL L01969D + STA $78 + STZ $6E + LDA #$0010 + STA $70 + STA $72 + LDA #$0001 + STA $74 + LDA #$0003 + STA $7A + LDAL L01968D + CLC + ADC #$0100 + PHA + PEA $0000 + PEA $00A0 + LDAL L01967F + PHA + _QDStartUp + BCC L020100 + LDA #$0005 + BRL L020715 +L020100 PHD + LDAL L01968D + CLC + ADC #$0200 + TCD + PHA + PHA + PHA + PHA + PEI $B2 + PEI $B0 + _GetHandleSize + PEI $B2 + PEI $B0 + _DisposeHandle + LDAL L01967F + PHA + PEA $8010 + PHA + PHA + _NewHandle + PLA + STA $B0 + PLA + STA $B2 + PHA + PHA + _GetCursorAdr + _SetCursor + PLD + LDAL L01968D + CLC + ADC #$0400 + PHA + PEA $0014 + PEA $0000 + PEA $013F + PEA $0000 + PEA $00C7 + LDAL L01967F + PHA + _EMStartUp + BCC L020178 + LDA #$0006 + BRL L020715 +L020178 JSR L02072B + LDA #$018C + STA $F0 + STAL L019980 + LDA #$F780 + STAL L019699 + LDA #$0000 + STAL L01969B + LDAL L019699 + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L0201A8 + LDA #$0014 + BRL L020715 +L0201A8 LDA $0A + STA $EC + LDA $0C + STA $EE + LDA [$0A] + STAL L019976 + LDY #$0002 + LDA [$0A],Y + STAL L019978 + LDA #$459E + LDX #$0000 + LDY #$8011 + JSL L018717 + BCC L0201D4 + LDA #$0014 + BRL L020715 +L0201D4 LDA $0A + STA $E8 + LDA $0C + STA $EA + LDA [$0A] + STAL L019998 + LDY #$0002 + LDA [$0A],Y + STAL L01999A + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L020200 + LDA #$0014 + BRL L020715 +L020200 LDA $0A + STA $E4 + LDA $0C + STA $E6 + LDA [$0A] + STAL L019984 + LDY #$0002 + LDA [$0A],Y + STAL L019986 + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L02022C + LDA #$0014 + BRL L020715 +L02022C LDA $0A + STA $DC + LDA $0C + STA $DE + LDA [$0A] + STAL L0199AC + LDY #$0002 + LDA [$0A],Y + STAL L0199AE + LDA #$459E + LDX #$0000 + LDY #$8010 + JSL L018717 + BCC L020258 + LDA #$0014 + BRL L020715 +L020258 LDA $0A + STA $E0 + LDA $0C + STA $E2 + LDA [$0A] + STAL L019970 + LDY #$0002 + LDA [$0A],Y + STAL L019972 + PEA ^L020DDA + PEA L020DDA + _LoadTools + BCC L020284 + LDA #$0004 + BRL L020715 +L020284 _QDAuxStartUp + BCC L020293 + LDX #$0011 + BRL L020715 +L020293 LDAL L01967F + ORA #$0800 + PHA + CLC + LDAL L01968D + ADC #$0500 + PHA + _FMStartUp + BCC L0202B3 + LDX #$000F + BRL L020715 +L0202B3 LDAL L01967F + PHA + CLC + LDAL L01968D + ADC #$0600 + PHA + _PMStartUp + BCC L0202D0 + LDA #$0010 + BRL L020715 +L0202D0 LDA #$008C + LDX #$0000 + LDY #$8010 + JSL L018717 + LDA $0C + STA $F6 + PHA + LDA $0A + STA $F4 + PHA + _PrDefault + LDAL L01967F + PHA + _WindStartUp + BCC L020302 + LDA #$0007 + BRL L020715 +L020302 LDAL L01967F + PHA + CLC + LDAL L01968D + ADC #$0800 + PHA + _CtlStartUp + BCC L02031F + LDA #$0008 + BRL L020715 +L02031F LDAL L01967F + PHA + CLC + LDAL L01968D + ADC #$0900 + PHA + _LEStartUp + BCC L02033C + LDA #$0009 + BRL L020715 +L02033C LDAL L01967F + PHA + _DialogStartUp + BCC L020350 + LDA #$000A + BRL L020715 +L020350 LDAL L01967F + PHA + CLC + LDAL L01968D + ADC #$0A00 + PHA + _MenuStartUp + BCC L02036D + LDA #$000B + BRL L020715 +L02036D _DeskStartUp + BCC L02037C + LDA #$000C + BRL L020715 +L02037C LDAL L01967F + PHA + CLC + LDAL L01968D + ADC #$0B00 + PHA + _SFStartUp + BCC L020399 + LDA #$000D + BRL L020715 +L020399 _ListStartUp + BCC L0203A8 + LDA #$0012 + BRL L020715 +L0203A8 PEA $0005 + PEA ^L0107E3 + PEA L0107E3 + _Desktop + LDA #$0086 + STAL L019683 + LDA #$0042 + STAL L019681 + PEA $0000 + PEA $0000 + _GetCursorAdr + PLA + STAL L019EE0 + PLA + STAL L019EE0+2 + LDA #L01A3CC + STAL L019EDC + LDA #^L01A3CC + STAL L019EDC+2 + LDA #$0001 + STA $54 + PEA ^L01A458 + PEA L01A458 + _SetCursor + _ShowCursor + PHA + PHA + _GetPort + PLA + STA $8C + PLA + STA $8E + LDA #$010C + LDX #$0000 + LDY #$8010 + JSL L018717 + LDA [$0A] + STA $A4 + LDY #$0002 + LDA [$0A],Y + STA $A6 + LDA $A4 + STA L020E16 + LDA $A6 + STA L020E16+2 + JSL GSOS + DW $0010 ; Open + ADRL L020E0A + BCS L02046A + LDA L020E0A + STA L020E14 + JSL GSOS + DW $0012 ; Read + ADRL L020E14 + BCS L02046A + PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable + _InitPalette +L02046A JSL GSOS + DW $0014 ; Close + ADRL L020E08 + LDY #$0014 +L020477 PHY + PHA + PHA + LDA L020E7B+2,Y + PHA + LDA L020E7B,Y + PHA + _NewMenu + PEA $0000 + _InsertMenu + PLY + DEY + DEY + DEY + DEY + BPL L020477 + PEA $0001 + _FixAppleMenu + PHA + _FixMenuBar + PLA + _DrawMenuBar + PEA ^L019825 + PEA L019825 + _OpenPort + PEA ^L019974 + PEA L019974 + _SetPortLoc + PEA ^L01997C + PEA L01997C + _SetPortRect + PEA ^L01997C + PEA L01997C + _ClipRect + PHA + PHA + _GetClipHandle + _SetVisRgn + PHA + PHA + PEA $0000 + PEA $0100 + LDAL L01967F + PHA + PEA $0008 + LDA #$0000 + PHA + PHA + _NewHandle + PLA + STAL L0199CC + PLA + STAL L0199CE + PEA $0000 + PEA $0000 + _GetDblTime + PLA + STAL L01973D + PLA + STAL L01973F + PHA + PEA $0029 ; Display language + _ReadBParam + PLA + STAL L019691 + + SEP #$30 +L020547 LDAL CLRROM + LDY #$03 + LDX #$BA +L02054F LDAL $00C100 +L020553 LDAL $00C800,X + DEX + DEY + BMI L020568 + CMP L020D7D,Y + BEQ L020553 + INC L02054F+2 + LDA L02054F+2 + CMP #$C8 +L020568 LDA L02054F+2 + STAL L019686 + BCC L020547 + REP #$30 + LDAL L019685 + CMP #$C800 + BEQ L020580 + JSL L0192CA + +L020580 LDA #L010676 + STA L020E97 + LDA #^L010676 + STA L020E97+2 + PHA + PHA + PEA ^L020E93 + PEA L020E93 + _NewWindow + LDA $03,S + PHA + LDA $03,S + PHA + _SetPort + PLA + STA $90 + PLA + STA $92 + PEA $0000 + PEA $0000 + _SetOrigin + PEA ^L0196A3 + PEA L0196A3 + LDA $92 + PHA + LDA $90 + PHA + _SetFrameColor + LDA $92 + PHA + LDA $90 + PHA + _ShowWindow + LDA #$0085 + STAL L0199C0 + STA $5A + LDA #$0084 + STAL L0199C2 + STZ $56 + STZ $58 + LDA #$010C + STA $5C + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + PEA $0004 + _SetTextMode + PHA + PHA + _FMGetSysFID + PLA + STAL L0196AF + PLA + STAL L0196B1 + _LoadSysFont + PEA ^L0196B3 + PEA L0196B3 + _GetFontInfo + CLC + LDAL L0196B3 + ADCL L0196B5 + CLC + ADCL L0196B9 + STAL L0196AD + LDAL L019693 + BEQ L020667 + PEA ^L0106DA + PEA L0106DA + LDA $92 + PHA + LDA $90 + PHA + _SetWTitle + LDA #$0001 + STA $3C + BRA L020687 +L020667 PEA ^L019825 + PEA L019825 + _SetPort + PEA ^L01997C + PEA L01997C + PEA ^L0199F4 + PEA L0199F4 + _FillRect +L020687 LDA #$0000 + STAL L019693 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSL L0118C4 + PHA + PHA + LDA $92 + PHA + LDA $90 + PHA + _GetWTitle + PEA ^L0198DF + PEA L0198DF + PEA $0000 + PEA $0010 + _BlockMove + JSL L010D82 + LDA #$0100 + STA $D8 + STZ $DA + PHA + PHA + LDA $DA + PHA + LDA $D8 + PHA + LDAL L01967F + PHA + PEA $0008 + PEA $0000 + PEA $0000 + _NewHandle + PLA + STA $CC + PLA + STA $CE + LDA #$0001 + STAL L019687 + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + JSL GSOS + DW $0014 ; Close + ADRL L020713 + PLB + RTL + +L020713 DW $0000 ; ref num +L020715 PHA + DEC + ASL + ASL + TAY + LDA L020B0A+2,Y + PHA + LDA L020B0A,Y + PHA + _SysFailMgr + BRK $FE +L02072B PEA $0000 + PEA ^L020ACA + PEA L020ACA + _SetColorTable + STZ L02083C + STZ L02083C+2 + JSL GSOS + DW $0010 ; Open + ADRL L020836 + BCC L020750 + BRL L02081B +L020750 LDA L020836 + STA L020854 + STA L020864 + LDA #L020AEA + STA L020856 + LDA #^L020AEA + STA L020856+2 + LDA #$0020 + STA L02085A + JSL GSOS + DW $0012 ; Read + ADRL L020854 + BCC L02077A + BRL L02081B +L02077A LDA #L02086A + STA L020856 + LDA #^L02086A + STA L020856+2 + LDA #$0202 + STA L02085A + JSL GSOS + DW $0012 ; Read + ADRL L020854 + BCC L02079B + BRL L02081B +L02079B LDA #L02086A + STA L020856 + LDA #^L02086A + STA L020856+2 + LDA #$2000 + STA L020AC2 + LDA #$00E1 + STA L020AC2+2 + LDA #$7D00 + STA L020AC6 + LDA #$00A0 + STA L02085A + JSL GSOS + DW $0017 ; GetMark + ADRL L020864 +L0207C9 JSL GSOS + DW $0016 ; SetMark + ADRL L020864 + BCC L0207DD + CMP #$004D + BEQ L02081B + BRL L02081B +L0207DD JSL GSOS + DW $0012 ; Read + ADRL L020854 + BCC L0207F1 + CMP #$004C + BEQ L02081B + BRL L02081B +L0207F1 PHA + PEA ^L02086A + PEA L02086A + PEA $00A0 + PEA ^L020AC2 + PEA L020AC2 + PEA ^L020AC6 + PEA L020AC6 + _UnPackBytes + PLA + CLC + ADC L020866 + STA L020866 + LDA L020AC6 + BNE L0207C9 +L02081B JSL GSOS + DW $0014 ; Close + ADRL L020862 + PEA $0000 + PEA ^L020AEA + PEA L020AEA + _SetColorTable + RTS + +L020836 DW $0000 ; ref num + ADRL L020840 ; path name +L02083C ADRL $00000000 ; reserved +L020840 STR '1/PaintTools/Screen' +L020854 DW $0000 ; ref num +L020856 ADRL $00000000 ; buffer ptr +L02085A ADRL $00007D00 ; request count + ADRL $00000000 ; transfer count +L020862 DW $0000 ; ref num +L020864 DW $0000 ; ref num +L020866 ADRL $00000000 ; position +L02086A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L020AC2 ADRL $00000000 +L020AC6 DW $0000 + DW $0000 +L020ACA DS $20 +L020AEA DS $20 +L020B0A ADRL L020B5A + ADRL L020B74 + ADRL L020B8E + ADRL L020BA7 + ADRL L020BBD + ADRL L020BD8 + ADRL L020BF7 + ADRL L020C17 + ADRL L020C38 + ADRL L020C54 + ADRL L020C74 + ADRL L020C91 + ADRL L020CAF + ADRL L020CCE + ADRL L020CED + ADRL L020D0B + ADRL L020D2C + ADRL L020D46 + ADRL L020D64 + ADRL L020D6B +L020B5A STR 'Could not Memory manager.' +L020B74 STR 'Could not init Msc Tools.' +L020B8E STR 'Could not get zero page.' +L020BA7 STR 'Could not load Tools.' +L020BBD STR 'Could not Start QuickDraw.' +L020BD8 STR 'Could not Start Event Manager.' +L020BF7 STR 'Could not start Window Manager.' +L020C17 STR 'Could not start Control Manager.' +L020C38 STR 'Could not start LE Manager.' +L020C54 STR 'Could not start Dialog Manager.' +L020C74 STR 'Could not start Menu Manager' +L020C91 STR 'Could not start Desk Manager.' +L020CAF STR 'Could not start Standard File.' +L020CCE STR 'Could not start Scrap Manager.' +L020CED STR 'Could not start Font Manager.' +L020D0B STR 'Could not start Printer Manager.' +L020D2C STR 'Could not start Pictures.' +L020D46 STR 'Could not start List Manager.' +L020D64 STR 'Unused' +L020D6B STR 'No enough memory.' +L020D7D HEX 206ACA0000 + STR '1/PaintTools/Paint018' + STR '1/PaintTools/Paint027' + STR '1/Painttools/Paint019' + +L020DC4 PHB + PHK + PLB + JSR $CBB9 + JSR $CB70 + PLB + RTL + + HEX 00 + +L020DD0 DW $0002 ; number of tools + DW $0004 ; quickdraw II + DW $0100 + DW $0005 ; desk manager + DW $0100 + +L020DDA DW $000B ; number of tools + DW $0006 ; event manager + DW $0100 + DW $000E ; window manager + DW $0000 + DW $000F ; menu manager + DW $0100 + DW $0010 ; control manager + DW $0000 + DW $0012 ; quickdraw II aux + DW $0000 + DW $0013 ; print manager + DW $0000 + DW $0014 ; lineedit tool set + DW $0000 + DW $0015 ; dialog manager + DW $0000 + DW $0017 ; std file tool set + DW $0000 + DW $001B ; font manager + DW $0000 + DW $001C ; list manager + DW $0000 + +L020E08 DW $0000 ; ref num +L020E0A DW $0000 ; ref num + ADRL L020E22 ; path name + ADRL $00000000 ; reserved +L020E14 DW $0000 ; ref num +L020E16 ADRL $00000000 ; buffer ptr + ADRL $00000020 ; request count + ADRL $00000000 ; transfer count +L020E22 STR '1/PaintTools/Palette' + ADRL L020E51 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 +L020E51 STR '1/PaintTools/Fonts' + STR '*/System/Tools/Tool019' + +L020E7B ADRL L01012B + ADRL L010155 + ADRL L01023E + ADRL L0102FE + ADRL L0103A8 + ADRL L010405 + +L020E93 DW $004E + DW $C004 ; frame bits +L020E97 ADRL $00000000 ; title ptr + ADRL $00000001 ; refcon + DW $0000 ; zoom rect + DW $0000 + DW $0000 + DW $0000 + ADRL $00000000 ; color table ptr + DW $0000 ; origin + DW $01F4 + DW $0000 ; data size + DW $03E8 + DW $0000 ; max size + DW $0000 + DW $0000 ; scroll size + DW $0000 + DW $0000 ; page size + DW $0000 + ADRL $00000000 ; info bar refcon + DW $0000 ; info bar hite + ADRL $00000000 ; window defproc + ADRL $00000000 ; info bar defproc + ADRL $00000000 ; content defproc + DW $001C ; content rect + DW $002E + DW $00A1 + DW $013A + ADRL $FFFFFFFF ; starting plane + ADRL $00000000 ; storage ptr diff --git a/gspaint/INIT.X.S b/gspaint/INIT.X.S new file mode 100644 index 0000000..e61455d --- /dev/null +++ b/gspaint/INIT.X.S @@ -0,0 +1,63 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L01967F + EXT L01968D + EXT L010D82 + EXT L01A458 + EXT L019EE0 + EXT L019976 + EXT L019978 + EXT L019EDC + EXT L01969D + EXT L019998 + EXT L01999A + EXT L0199F4 + EXT L0199C0 + EXT L0199C2 + EXT L019970 + EXT L019972 + EXT L0196B1 + EXT L0196AF + EXT L0196B3 + EXT L0196B5 + EXT L0196B9 + EXT L0196AD + EXT L019687 + EXT L019984 + EXT L019986 + EXT L019699 + EXT L0198DF + EXT L019825 + EXT L01997C + EXT L0199AC + EXT L0199AE + EXT L019683 + EXT L019681 + EXT L010676 + EXT L0199CE + EXT L0199CC + EXT L019974 + EXT L01A3CC + EXT L019691 + EXT L01973F + EXT L01973D + EXT L019980 + EXT L019685 + EXT L019686 + EXT L019693 + EXT L01969B + EXT L018717 + EXT L0107E3 + EXT L0192CA + EXT L0196A3 + EXT L0106DA + EXT L0118C4 + EXT L01012B + EXT L010155 + EXT L01023E + EXT L0102FE + EXT L0103A8 + EXT L010405 diff --git a/gspaint/MAIN.E.S b/gspaint/MAIN.E.S new file mode 100644 index 0000000..3ce9dfd --- /dev/null +++ b/gspaint/MAIN.E.S @@ -0,0 +1,10 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +MSLOT EQU $07F8 +KEYMODREG EQU $C025 +BUTN1 EQU $C062 +CLRROM EQU $CFFF +GSOS EQU $E100A8 diff --git a/gspaint/MAIN.S b/gspaint/MAIN.S new file mode 100644 index 0000000..777f3f0 --- /dev/null +++ b/gspaint/MAIN.S @@ -0,0 +1,15386 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use MAIN.E + lst off + +*------------------------------- + +LANGUAGE = 2 ; 1 for FR, 2 for US, ... + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRL L010003 +L010003 PHK + PLB + STA L01967F + PHA + PEA ^L01001F + PEA L01001F + PEA $0000 + PEA $0004 + _GetFontLore + PLA + BRA L010023 +L01001F HEX 00000000 +L010023 LDA #$0002 + JSR L01080A + PHA + PEA $FFFF + PEA $0000 + _FlushEvents + PLA +L010038 _SystemTask + PHA + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA $52 + BEQ L010066 + JSL L01876B + AND #$FFFF + BMI L010073 + LDA #$0008 + JSR L0190DA + STZ $52 +L010066 JSR L010B8E + JSR L018E75 + LDA $48 + BEQ L010073 + JSR L015E21 +L010073 LDA L0196BB + ASL + TAX + JSR (L0100AA,X) + LDA L019747 + BEQ L010038 + LDA #$000B + JSR L01080A + LDA L01967F + PHA + _MMShutDown + LDA #$0000 + STAL $E100FF + JSL GSOS + DW $0029 ; Quit + ADRL L0100A2 +L0100A2 ADRL $00000000 ; path name + DW $0000 ; flags + DW $0000 + +L0100AA DA L0100CA + DA L010AAB + DA L0100CA + DA L0100CB + DA L0100CA + DA L0100CB + DA L010C70 + DA L0100CA + DA L010A5D + DA L0100CA + DA L0100CA + DA L0100CA + DA L0100CA + DA L0100CA + DA L0100CA + DA L0100CA + +L0100CA RTS + +L0100CB JSL L0185C2 + BCC L0100D4 + BRL L010038 +L0100D4 PEA ^L0196BB + PEA L0196BB + LDA #$0000 + PHA + PHA + _MenuKey + LDA L0196CB + BEQ L0100F0 + JSR L013A62 + BRA L01012A +L0100F0 LDA $48 + BEQ L0100F9 + JSR L0159B7 + BRA L01012A +L0100F9 LDA L0196BD + CMP #$007F + BNE L01010C + LDA $36 + BEQ L01012A + BMI L01012A + JSR L0143F4 + BRA L01012A +L01010C CMP #$001B + BNE L010116 + JSR L013B93 + BRA L01012A +L010116 LDA L0196BD + CMP #$0020 + BNE L010126 + LDA #$000A + JSR L01080A + BRA L01012A +L010126 JSL L01351E +L01012A RTS + +*------------------------------- + + do LANGUAGE=1 + put GSPAINT.FR.S + else + do LANGUAGE=2 + put GSPAINT.US.S + fin + fin + +*------------------------------- + +L0107E3 ENT + PHD + PHB + PHK + PLB + LDA L01968D + TCD + PEA ^L0199EC + PEA L0199EC + PEA ^L019A54 + PEA L019A54 + _FillRect + JSR L0116FE + JSR L0117DA + JSR L010DA6 + PLB + PLD + RTL + +L01080A STA L0108E7 + CMP #$0002 + BEQ L010816 + JSL L018744 +L010816 LDA L01967F + PHA + PEA $0001 + LDA L0108E7 + PHA + PEA ^L0108F1 + PEA L0108F1 + _GetLoadSegInfo + CMP #$0000 + BEQ L01084B +L010833 JSL GSOS + DW $0006 ; GetFileInfo + ADRL L0108ED + BCC L01084B + LDA #$0001 + LDX #$0001 + JSL L017D37 + BRA L010833 +L01084B JSL L010D82 + PEA ^L01A458 + PEA L01A458 + _SetCursor + PHA + PHA + LDA L01967F + PHA + PEA $0001 + LDA L0108E7 + PHA + _LoadSegNum + CMP #$0000 + BEQ L010879 + PLX + PLX + BRA L0108C9 +L010879 PLA + STA L0108E9 + PLA + STA L0108EB + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + LDA L0108E7 + PHA + JSL L0108BA + PLA + STA L0108E7 + LDA L01967F + PHA + PEA $0001 + LDA L0108E7 + PHA + _UnloadSegNum + CMP #$0000 + BEQ L0108B8 + BRL L0108C9 +L0108B8 CLC + RTS + +L0108BA LDA L0108E9+1 + PHA + PHB + PLA + LDA L0108E9 + SEC + SBC #$0001 + PHA + RTL + +L0108C9 CMP #$0201 + BNE L0108D7 + LDX #$0002 + JSL L017D37 + SEC + RTS + +L0108D7 PHA + PEA ^L010662 + PEA L010662 + _SysFailMgr + BRK $0A +L0108E7 DW $0000 +L0108E9 DW $0000 +L0108EB DW $0000 +L0108ED ADRL L010907 ; file name +L0108F1 DW $0000 ; access + DW $0000 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 4 ; creation date + DS 4 ; modification date + ADRL $00000000 ; blocks used +L010907 STR '1' + +L010909 JSL L018744 + PHA + PHA + _GetCursorAdr + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + LDA L01059D + STA L01971F + LDA L01059F + STA L019721 + LDA L0105A1 + STA L019723 + LDA L0105A3 + STA L019725 + LDA #L0105A5 + STA L019729 + LDA #^L0105A5 + STA L019729+2 + PHA + PEA ^L0196CF + PEA L0196CF + PEA $0000 + PEA $0000 + _Alert + JSL L010D82 + PLA + CMP #$0001 + BEQ L01096A + BRL L010A41 +L01096A PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA #$0001 + STA $3C + LDA $74 + DEC + EOR #$000F + STA L010A49 + ASL + ASL + ASL + ASL + STA L010A4B + XBA + STA L010A4F + LDA L010A49 + XBA + STA L010A4D + LDA $70 + DEC + EOR #$000F + STA L010A51 + ASL + ASL + ASL + ASL + STA L010A53 + XBA + STA L010A57 + LDA L010A51 + XBA + STA L010A55 + LDA L019976 + STA $0A + LDA L019978 + STA $0C + LDX $F0 +L0109BE LDY #$009E +L0109C1 STZ L010A59 + LDA [$0A],Y + XBA + STA L010A5B + PHA + AND #$000F + CMP L010A51 + BNE L0109DF + LDA #$000F + TRB L010A5B + LDA L010A49 + TSB L010A59 +L0109DF LDA $01,S + AND #$00F0 + CMP L010A53 + BNE L0109F5 + LDA #$00F0 + TRB L010A5B + LDA L010A4B + TSB L010A59 +L0109F5 LDA $01,S + AND #$0F00 + CMP L010A55 + BNE L010A0B + LDA #$0F00 + TRB L010A5B + LDA L010A4D + TSB L010A59 +L010A0B PLA + AND #$F000 + CMP L010A57 + BNE L010A20 + LDA #$F000 + TRB L010A5B + LDA L010A4F + TSB L010A59 +L010A20 LDA L010A59 + ORA L010A5B + XBA + STA [$0A],Y + DEY + DEY + BPL L0109C1 + CLC + LDA $0A + ADC #$00A0 + STA $0A + DEX + BNE L0109BE + JSR L011953 + JSR L0118CC + JSR L014117 +L010A41 _SetCursor + RTS + +L010A49 DW $0000 +L010A4B DW $0000 +L010A4D DW $0000 +L010A4F DW $0000 +L010A51 DW $0000 +L010A53 DW $0000 +L010A55 DW $0000 +L010A57 DW $0000 +L010A59 DW $0000 +L010A5B DW $0000 +L010A5D PHA + LDA L0196BD+2 + PHA + LDA L0196BD + PHA + _GetWKind + PLA + BPL L010A7B + JSL L01876B + AND #$FFFF + BPL L010AA2 + BRA L010A8D +L010A7B LDA L0196C9 + BIT #$0001 + BNE L010A9D + JSL L01876B + AND #$FFFF + BMI L010A8D + RTS + +L010A8D LDA #$0007 + JSR L0190DA + LDA #$0001 + STA $52 + JSL L018752 + RTS + +L010A9D LDA $52 + BNE L010AA2 + RTS + +L010AA2 LDA #$0008 + JSR L0190DA + STZ $52 + RTS + +L010AAB JSR L017F05 + PHA + PEA ^L019689 + PEA L019689 + LDA L0196C7 + PHA + LDA L0196C5 + PHA + _FindWindow + PLA + BEQ L010AE0 + BPL L010AE1 + TAX + PEA ^L0196BB + PEA L0196BB + LDA L01968B + PHA + LDA L019689 + PHA + PHX + _SystemClick +L010AE0 RTS + +L010AE1 SEC + SBC #$0010 + ASL + TAX + JMP (L010AEA,X) + +L010AEA DA L010B03 + DA L013A0E + DA L010B02 + DA L010B79 + DA L010B02 + DA L010B02 + DA L010B56 + DA L010B02 + DA L010B02 + DA L010B02 + DA L010B02 + DA L010B02 +L010B02 RTS + +L010B03 LDA $52 + BNE L010B55 + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0199DC + PEA L0199DC + _PtInRect + PLA + BEQ L010B21 + JMP L0147C5 + +L010B21 PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0199D4 + PEA L0199D4 + _PtInRect + PLA + BEQ L010B3B + JMP L0149C7 + +L010B3B PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0199E4 + PEA L0199E4 + _PtInRect + PLA + BEQ L010B55 + JMP L0162B4 +L010B55 RTS + +L010B56 PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA $92 + PHA + LDA $90 + PHA + _TrackGoAway + PLA + BEQ L010B78 + LDA #$0104 + STA L0196CB + JSR L013DC6 +L010B78 RTS + +L010B79 LDA $52 + BEQ L010B7E + RTS + +L010B7E LDA $92 + PHA + LDA $90 + PHA + _SetPort + JMP L01647C + +L010B8E LDA $3E + BNE L010B9B + JSR L010C12 + JSR L010B9C + JSR L013976 +L010B9B RTS + +L010B9C PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L019E74 + PEA L019E74 + _PtInRect + PLA + BEQ L010BF9 + JSR L018A9D + LDA $44 + BEQ L010BD3 + LDA $54 + BNE L010BD2 + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + LDA #$0001 + STA $54 +L010BD2 RTS + +L010BD3 LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L013950 + LDA $54 + BEQ L010BF8 + LDA L019EDC+2 + PHA + LDA L019EDC + PHA + _SetCursor + STZ $54 +L010BF8 RTS + +L010BF9 LDA $54 + BNE L010C11 + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + LDA #$0001 + STA $54 +L010C11 RTS + +L010C12 SEP #$20 + LDAL BUTN1 + REP #$20 + BPL L010C4B + LDA $76 + CMP #$0002 + BEQ L010C6F + LDA $76 + STA L01969D + LDA #$0002 + STA $76 + LDA L019EDC + STA L01969F + LDA L019EDC+2 + STA L0196A1 + LDA #L01A500 + STA L019EDC + LDA #^L01A500 + STA L019EDC+2 + LDA #$0001 + STA $54 + RTS + +L010C4B LDA L01969D + CMP $76 + BEQ L010C6F + LDA $76 + CMP #$0002 + BNE L010C6F + LDA L01969D + STA $76 + LDA L01969F + STA L019EDC + LDA L0196A1 + STA L019EDC+2 + LDA #$0001 + STA $54 +L010C6F RTS + +L010C70 LDA L0196BD+2 + PHA + LDA L0196BD + PHA + _SetPort + LDA L0196BD+2 + PHA + LDA L0196BD + PHA + _BeginUpdate + PHA + LDA L0196BD+2 + PHA + LDA L0196BD + PHA + _GetWKind + PLA + CMP #$0000 + BCS L010CA7 + BRL L010D44 +L010CA7 LDA $3E + BEQ L010CAE + BRL L010D44 +L010CAE LDA $52 + BNE L010D05 + LDA $34 + BEQ L010CEF + LDA $8E + PHA + LDA $8C + PHA + _SetPort + _PenNormal + LDA L019697 + BEQ L010CE2 + PEA ^L019E74 + PEA L019E74 + PEA ^L019A14 + PEA L019A14 + _FillRect +L010CE2 PEA ^L019E8C + PEA L019E8C + _FrameRect +L010CEF LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L011953 + JSR L014117 + BRL L010D44 +L010D05 LDA L019998 + STA L01999E + LDA L01999A + STA L0199A0 + CLC + TDC + ADC #$0056 + STA L010D70 + STZ L010D72 + LDA $90 + STA L010D68 + LDA $92 + STA L010D6A + PHA + PHA + _GetVisHandle + PLA + STA L010D76 + PLA + STA L010D76+2 + PEA ^L010D64 + PEA L010D64 + _PaintPixels +L010D44 LDA L0196BD+2 + PHA + LDA L0196BD + PHA + _EndUpdate + PHA + PHA + _FrontWindow + _SetPort + RTS + +L010D64 ADRL L01999C +L010D68 DW $0000 +L010D6A DW $0000 + ADRL L010D7A +L010D70 DW $0000 +L010D72 DW $0000 + DW $0000 +L010D76 ADRL $00000000 +L010D7A DW $0000 + DW $0000 + DW $0085 + DW $010C + +L010D82 ENT + PHB + PHK + PLB +L010D85 PHA + PEA $0040 + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA L0196BB + CMP #$0000 + BNE L010DA1 + PLB + RTL + +L010DA1 JSR L010C70 + BRA L010D85 +L010DA6 _PenNormal + PEA ^L0199E4 + PEA L0199E4 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + PEA ^L0199E4 + PEA L0199E4 + _FrameRect + LDA #L010E8E + STA L010E7C + LDA #^L010E8E + STA L010E7C+2 + LDA #$0005 + STA L010E8C + LDA #$0010 + STA L010E8A + LDX #$0002 +L010DE8 PHX + LDX #$000A +L010DEC PHX + PEA ^L010E7A + PEA L010E7A + PEA ^L010E82 + PEA L010E82 + LDA L010E8C + PHA + LDA L010E8A + PHA + PEA $0000 + _PPToPort + CLC + LDA L010E7C + ADC #$006C + STA L010E7C + CLC + LDA L010E8A + ADC #$000D + STA L010E8A + PLX + DEX + BNE L010DEC + LDA #$0010 + STA L010E8A + LDA #$0016 + STA L010E8C + PLX + DEX + BNE L010DE8 + LDX #$0009 + LDA #$001C +L010E39 PHX + PHA + PEA $0005 + PHA + _MoveTo + PLA + PHA + PEA $0027 + PHA + _LineTo + CLC + PLA + ADC #$000D + PLX + DEX + BNE L010E39 + PEA $0016 + PEA $0010 + _MoveTo + PEA $0016 + PEA $0092 + _LineTo + JSR L01635D + RTS + +L010E7A DW $0000 ; SCB byte +L010E7C ADRL $00000000 ; Pointer to pixel image + DW $0009 ; Width +L010E82 DW $0000 ; Bounds rect + DW $0000 + DW $000C + DW $0012 +L010E8A DW $0000 +L010E8C DW $0000 +L010E8E HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFF00000FFFFFF + HEX FFFF000FFFFF00FFFF + HEX FF0FFFFFFFFFFF0FFF + HEX F0FFFFFFFFFFF0FFFF + HEX F0FFFFFFFFF00FFFFF + HEX FF000FFF000FFFFFFF + HEX F00F0000FFFFFFFFFF + HEX F0F00FFFFFFFFFFFFF + HEX FF00FFFFFFFFFFFFFF + HEX FFF0FFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFF0FFFFFFFFF + HEX FFFFFF00F00FFFFFFF + HEX FFFFF0F0F0F0FFFFFF + HEX FFFF00F0F0F00FFFFF + HEX FFF0F0FFFFF0F0FFFF + HEX FFF0FF0FFFFFF0FFFF + HEX FFFF0FFFFFFF0FFFFF + HEX FFFFF0FFFFFF0FFFFF + HEX FFFFFF0FFFF0FFFFFF + HEX FFFFFF0FFFF0FFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFF0FFFFFFFFFF + HEX FFFFFF0F0FFFFFFFFF + HEX FFFFF0FFF00FFFFFFF + HEX FFFF0FFFFF000FFFFF + HEX FFF0FFF0FFF000FFFF + HEX FF0FFF000F0F00FFFF + HEX FFF0FFF000FF00FFFF + HEX FFFF0FFF0FFF00FFFF + HEX FFFFF0F0FFFF00FFFF + HEX FFFFFF0FFFFF0FFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFF000FFFFFFFF + HEX FFFFFFF0F0FFFFFFFF + HEX FFFFFFF000FFFFFFFF + HEX FFFFFFF000FFFFFFFF + HEX FFFF000000000FFFFF + HEX FFFF0FFFFFFF0FFFFF + HEX FFFF0FFFFFFF0FFFFF + HEX FFFF0F0F0F0F0FFFFF + HEX FFF0F0F0F0F00FFFFF + HEX FF0000000000FFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF00FFFFFFFFFFFF + HEX FFFFF00FFFFFFFFFFF + HEX FFFFFF00FFFFFFFFFF + HEX FFFFFFF00FFFFFFFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFFFF00FFFFFFF + HEX FFFFFFFFFF00FFFFFF + HEX FFFFFFFFFFF00FFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FF00000000000000FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF00000000000000FF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF0000000000FFFF + HEX FFF0FFFFFFFFFF0FFF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FFF0FFFFFFFFFF0FFF + HEX FFFF0000000000FFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFF000000FFFFFF + HEX FFFF000FFFF000FFFF + HEX FFF00FFFFFFFF00FFF + HEX FF00FFFFFFFFFF00FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FF00FFFFFFFFFF00FF + HEX FFF00FFFFFFFF00FFF + HEX FFFF000FFFF000FFFF + HEX FFFFFF000000FFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF00FFFFFF00FFFF + HEX FFF0FF00FFF0FF0FFF + HEX FF0FFFFF000FFF0FFF + HEX FF0FFFFFFFFFFF0FFF + HEX FFF0FFFFFFFFF0FFFF + HEX FFF0FFFFFFFF0FFFFF + HEX FFFF00FFFF00FFFFFF + HEX FFFFFF0000FFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFF00000000FFFF + HEX FFFFF00FFFFF00FFFF + HEX FFFF00FFFFF00FFFFF + HEX FFF00FFFFF00FFFFFF + HEX FFF0FFFFFF00FFFFFF + HEX FFF0FFFFFFFF00FFFF + HEX FFF0FFFFFFFFF00FFF + HEX FFF000000000000FFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + + HEX FFFFFFFFFFFFFFFFFF ; Second colmun + HEX FFFFFFFFFFFFFFFFFF + HEX FF000FF0000FF000FF + HEX FF0FFFFFFFFFFFF0FF + HEX FFFFFFFFFFFFFFFFFF + HEX FF0FFFFFFFFFFFF0FF + HEX FF0FFFFFFFFFFFF0FF + HEX FFFFFFFFFFFFFFFFFF + HEX FF0FFFFFFFFFFFF0FF + HEX FF000FF0000FF000FF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF0000000000FFFF + HEX FFFF0FFF00FFF0FFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFFF00FFFFFFFF + HEX FFFFFFF0000FFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFF0F0FFFFFFFFFFFF + HEX FFFF0F0F0F00FFFFFF + HEX FFF0F0FFF0000FFFFF + HEX FFFFFFFF000000FFFF + HEX FFFFFFFF0FFFF0FFFF + HEX FFFFFFFF0F0000FFFF + HEX FFFFFFFF0F0FF0FFFF + HEX FFFFFFFF0F0000FFFF + HEX FFFFFFFF0FFFF0FFFF + HEX FFFFFFFF000000FFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFF000FFFFFF + HEX FFFFFFFFF0FF0FFFFF + HEX FFFFFFFF00FF0FFFFF + HEX FFFFFFFF0F00FFFFFF + HEX FFFFFFF0FFF0FFFFFF + HEX FFFFFFF0FF0FFFFFFF + HEX FFFFFF0FFF0FFFFFFF + HEX FFFFFF0FF0FFFFFFFF + HEX FFFFFF000FFFFFFFFF + HEX FFFFFF00FFFFFFFFFF + HEX FFFFFF0FFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFF0000000FFFF + HEX FFFFFF0FFFFF00FFFF + HEX FFFFF0FFFFF0F0FFFF + HEX FFFF0FFFFF0F0FFFFF + HEX FFF0000000F0FFFFFF + HEX FFF0FFFFF00FFFFFFF + HEX FFF0000000FFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FF00000000000000FF + HEX FF0F0F0F0F0F0F00FF + HEX FF00F0F0F0F0F0F0FF + HEX FF0F0F0F0F0F0F00FF + HEX FF00F0F0F0F0F0F0FF + HEX FF0F0F0F0F0F0F00FF + HEX FF00F0F0F0F0F0F0FF + HEX FF00000000000000FF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF0000000000FFFF + HEX FFF00F0F0F0F0F0FFF + HEX FF00F0F0F0F0F0F0FF + HEX FF0F0F0F0F0F0F00FF + HEX FF00F0F0F0F0F0F0FF + HEX FF0F0F0F0F0F0F00FF + HEX FFF0F0F0F0F0F00FFF + HEX FFFF0000000000FFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFF000000FFFFFF + HEX FFFF000F0F0000FFFF + HEX FFF000F0F0F0F00FFF + HEX FF000F0F0F0F0F00FF + HEX FF00F0F0F0F0F0F0FF + HEX FF0F0F0F0F0F0F00FF + HEX FF00F0F0F0F0F000FF + HEX FFF00F0F0F0F000FFF + HEX FFFF0000F0F000FFFF + HEX FFFFFF000000FFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFF00FFFFFF00FFFF + HEX FFF0F000FFF00F0FFF + HEX FF00F0F00000F00FFF + HEX FF0F0F0F0F0F0F0FFF + HEX FFF0F0F0F0F0F0FFFF + HEX FFF00F0F0F0F0FFFFF + HEX FFFF00F0F000FFFFFF + HEX FFFFFF0000FFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFF00000000FFFF + HEX FFFFF00F0F0F00FFFF + HEX FFFF00F0F0F00FFFFF + HEX FFF00F0F0F00FFFFFF + HEX FFF0F0F0F000FFFFFF + HEX FFF00F0F0F0F00FFFF + HEX FFF0F0F0F0F0F00FFF + HEX FFF000000000000FFF + HEX FFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFF + +L0116FE _PenNormal + PEA ^L0199D4 + PEA L0199D4 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + PEA ^L0199D4 + PEA L0199D4 + _FrameRect + JSR L01172C + JSR L011773 + RTS + +L01172C JSR L017EDD + LDX #$0000 +L011732 PHX + PEA $0001 + LDA L0117BA,X + PHA + _SetPenSize + PLX + INX + INX + PHX + PEA $000E + LDA L0117BA,X + PHA + _MoveTo + PLX + PHX + PEA $0025 + LDA L0117BA,X + PHA + _LineTo + PLX + INX + INX + CPX #$0010 + BNE L011732 + _PenNormal + RTS + +L011773 PEA $0006 + _SetTextMode + PEA $00FF + _SetForeColor + LDA $6E + ASL + ASL + TAY + LDA L0117CC,Y + PHA + LDA L0117CA,Y + PHA + _MoveTo + PEA $0012 + _DrawChar + PEA $0004 + _SetTextMode + PEA $0000 + _SetForeColor + RTS + +L0117BA DW $0001 + DW $009E + DW $0002 + DW $00A6 + DW $0003 + DW $00AF + DW $0004 + DW $00B9 +L0117CA DW $00A1 +L0117CC DW $0006 + DW $00A9 + DW $0006 + DW $00B3 + DW $0006 + DW $00BD + DW $0006 +L0117DA _PenNormal + PEA ^L0199DC + PEA L0199DC + PEA ^L0199F4 + PEA L0199F4 + _FillRect + PEA ^L0199DC + PEA L0199DC + _FrameRect + PEA $004A + PEA $00B3 + _MoveTo + PEA $013A + PEA $00B3 + _LineTo + LDY #$0010 + LDA #$004A +L011821 PHY + PHA + PHA + PHA + PEA $00A5 + _MoveTo + PEA $00C1 + _LineTo + PLA + CLC + ADC #$000F + PLY + DEY + BNE L011821 + LDX #$0001 + LDA #L019A74 +L011848 PHX + PHA + PHA + PEA ^L019749 + PEA L019749 + JSL L01493B + PLA + PEA ^L019749 + PEA L019749 + PEA ^L019A74 + PHA + _FillRect + PLA + CLC + ADC #$0020 + PLX + INX + CPX #$0021 + BNE L011848 + JSR L011884 + PEA $0000 + PEA $0000 + _SetOrigin + RTS + +L011884 PEA ^L019EC4 + PEA L019EC4 + LDX $74 + JSL L0149AE + PHX + PHA + _FillRect + JSR L017EDD + PEA ^L019EB4 + PEA L019EB4 + _FrameRect + PEA ^L019EBC + PEA L019EBC + JSL L0149A7 + PHX + PHA + _FillRect + _PenNormal + RTS + +L0118C4 ENT + PHB + PHK + PLB + JSR L0118CC + PLB + RTL + +L0118CC JSR L011A25 + LDA $34 + BNE L0118E3 + LDA $06 + STA $0E + LDA $08 + STA $10 + LDY L0199C0 + LDX L0199C2 + BRA L0118F3 +L0118E3 JSR L01192F + LDY $5E + LDX $60 + JSR L011A0C + LDY #$0085 + LDX #$0084 +L0118F3 STX L011A0A + PHY + LDA L019970 + STA $0A + LDA L019972 + STA $0C + _HideCursor + PLX +L011909 LDY L011A0A +L01190C LDA [$0E],Y + STA [$0A],Y + DEY + DEY + BPL L01190C + CLC + LDA $0E + ADC #$00A0 + STA $0E + CLC + LDA #$0086 + ADC $0A + STA $0A + DEX + BNE L011909 + _ShowCursor + RTS + +L01192F JSR L011A25 + LDY $56 + LDX $58 + JSR L011A0C + LDA $0E + STA $0A + LDA $10 + STA $0C + LDA $06 + STA $0E + LDA $08 + STA $10 + BRA L011965 +L01194B ENT + PHB + PHK + PLB + JSR L011953 + PLB + RTL + +L011953 JSR L011A25 + LDY $56 + LDX $58 + JSR L011A0C + LDA $06 + STA $0A + LDA $08 + STA $0C +L011965 _HideCursor + LDX L0199C0 +L01196F LDY L0199C2 +L011972 LDA [$0E],Y + STA [$0A],Y + DEY + DEY + BPL L011972 + CLC + LDA $0E + ADC #$00A0 + STA $0E + CLC + LDA $0A + ADC #$00A0 + STA $0A + DEX + BNE L01196F + _ShowCursor + RTS + +L011995 JSR L011A25 + LDA $34 + BNE L0119AE + LDA $06 + STA $0E + LDA $08 + STA $10 + LDY L0199C0 + LDX L0199C2 + JSR L0119C8 + RTS + +L0119AE JSR L01192F + LDY $5E + LDX $60 + JSR L011A0C + LDY #$0085 + LDX #$0084 + JSR L0119C8 + JSR L011953 + JSR L014117 + RTS + +L0119C8 STX L011A0A + PHY + _HideCursor + LDA L019970 + STA $0A + LDA L019972 + STA $0C + PLX +L0119DE LDY L011A0A +L0119E1 LDA [$0A],Y + PHA + LDA [$0E],Y + STA [$0A],Y + PLA + STA [$0E],Y + DEY + DEY + BPL L0119E1 + CLC + LDA $0E + ADC #$00A0 + STA $0E + CLC + LDA #$0086 + ADC $0A + STA $0A + DEX + BNE L0119DE + _ShowCursor + RTS + +L011A0A DW $0000 +L011A0C PHX + TYA + JSL L0182D0 + CLC + ADC L019976 + STA $0E + LDA L019978 + STA $10 + PLA + LSR + CLC + ADC $0E + STA $0E + RTS + +L011A25 LDA $3E + BEQ L011A2A + PLA +L011A2A RTS + RTS + +L011A2C JSR L013C36 + JSR L015981 + JSR L01192F + PEA $0037 + PEA $0028 + PEA $00FA + PEA $0056 + JSL L018223 + LDA #L0106E9 + LDX #^L0106E9 + LDY #$000F + JSR L011AC3 + LDA #L0106F7 + LDX #^L0106F7 + LDY #$0019 + JSR L011AC3 + LDA #L0106FB + LDX #^L0106FB + LDY #$0023 + JSR L011AC3 + LDA #L010707 + LDX #^L010707 + LDY #$002D + JSR L011AC3 + LDA #L01070A + LDX #^L01070A + LDY #$0037 + JSR L011AC3 + LDA #L010722 + LDX #^L010722 + LDY #$0041 + JSR L011AC3 + LDA #L010737 + LDX #^L010737 + LDY #$004E + JSR L011AC3 +L011A99 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA L0196BB + CMP #$0001 + BNE L011A99 + LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + RTS + +L011AC3 PHX + PHA + STY L011AEE + PHA + PHX + PHA + _StringWidth + SEC + LDA #$00FA + SBC $01,S + LSR + STA $01,S + LDA L011AEE + PHA + _MoveTo + _DrawString + RTS + +L011AEE DW $0000 +L011AF0 LDA $52 + BNE L011B39 + JSL L018744 + LDA $06 + STA $0E + LDA $08 + STA $10 + LDA L019998 + STA $0A + LDA L01999A + STA $0C + _HideCursor + LDX #$0085 +L011B14 LDY #$0084 +L011B17 LDA [$0E],Y + STA [$0A],Y + DEY + DEY + BPL L011B17 + CLC + LDA $0E + ADC #$00A0 + STA $0E + CLC + LDA #$0086 + ADC $0A + STA $0A + DEX + BNE L011B14 + _ShowCursor +L011B39 PHA + LDA L0196CB + PHA + _OpenNDA + PLA + PEA $0000 + LDA L0196CD + PHA + _HiliteMenu + RTS + +L011B55 JSR L013C36 + JSL L018752 + LDA $48 + BNE L011B63 + JSR L01192F +L011B63 PHA + PHA + PEA $0000 + PEA $3000 + LDA L01967F + PHA + PEA $8000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L011B8A + _DisposeHandle + PHA + PHA +L011B8A PLA + PLA + PHA + PHA + _MaxBlock + PLA + PLX + STX L011CC4 + BNE L011BEB + CMP #$3000 + BCS L011BEB + LDA L0196B1 + PHA + LDA L0196AF + PHA + PEA $0010 + _SetPurgeStat + LDA L0196AF + CMP #$FFFE + BEQ L011BCA + LDA #$FFFE + STA L0196AF + LDA #$0800 + STA L0196B1 + BRL L011B63 +L011BCA LDX #$0002 + LDA #$0201 + JSL L017D37 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + _LoadSysFont + BRL L011C87 +L011BEB JSR L011C8F + LDA L0196B1 + PHA + LDA L0196AF + PHA + PEA $0010 + _SetPurgeStat + PHA + PHA + LDA L0196B1 + PHA + LDA L0196AF + PHA + PEA $0020 + LDA L011CC4 + BNE L011C18 + JSL L011CC6 + BRA L011C1F +L011C18 _ChooseFont +L011C1F PLA + STA L0196AF + PLA + STA L0196B1 + ORA L0196AF + BNE L011C2F + BRL L011C87 +L011C2F JSR L011C8F + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA L0196B1 + PHA + LDA L0196AF + PHA + LDA L011CC4 + BEQ L011C51 + PEA $0000 + BRA L011C54 +L011C51 PEA $0001 +L011C54 _InstallFont + PHA + PHA + _FMGetCurFID + PLA + STA L0196AF + PLA + STA L0196B1 + PEA ^L0196B3 + PEA L0196B3 + _GetFontInfo + CLC + LDA L0196B3 + ADC L0196B5 + CLC + ADC L0196B9 + STA L0196AD +L011C87 JSL L010D82 + JSR L015CB0 + RTS + +L011C8F JSL GSOS + DW $0006 ; GetFileInfo + ADRL L011CA8 + BCC L011CA7 + LDA #$0000 + LDX #$0001 + JSL L017D37 + BRA L011C8F +L011CA7 RTS + +L011CA8 ADRL L011CC2 ; file name + DW $0000 ; access + DW $0000 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 4 ; creation date + DS 4 ; modification date + ADRL $00000000 ; blocks used +L011CC2 STR '*' +L011CC4 DW $0000 +L011CC6 PHB + PHK + PLB + LDA #$0000 + STA $0B,S + STA $0D,S + PHA + PHA + PEA ^L011FB8 + PEA L011FB8 + _GetNewModalDialog + PLA + STA L011FB4 + PLA + STA L011FB4+2 + LDA $07,S + LDX #$000A +L011CEC CMP L01210D,X + BEQ L011CF8 + DEX + DEX + BPL L011CEC + LDX #$0000 +L011CF8 TXA + LSR + STA L0122A2 + CLC + ADC #$0003 + TAX + PEA $FFFF + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _SetDItemValue + LDA $09,S + XBA + AND #$00FF + LDX #$0006 +L011D1E CMP L012184,X + BEQ L011D2A + DEX + DEX + BPL L011D1E + LDX #$0000 +L011D2A TXA + LSR + STA L0122A4 + CLC + ADC #$0009 + TAX + PEA $FFFF + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _SetDItemValue + LDA $09,S + AND #$00FF + STA L0122A6 + LDX #$0000 + CMP #$0000 + BNE L011D5A + LDX #$FFFF +L011D5A PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000D + _SetDItemValue + LDA L0122A6 + LDX #$0000 + AND #$0001 + BEQ L011D7B + LDX #$FFFF +L011D7B PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000E + _SetDItemValue + LDA L0122A6 + LDX #$0000 + AND #$0002 + BEQ L011D9C + LDX #$FFFF +L011D9C PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000F + _SetDItemValue + LDA L0122A6 + LDX #$0000 + AND #$0004 + BEQ L011DBD + LDX #$FFFF +L011DBD PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0010 + _SetDItemValue + LDA L0122A6 + LDX #$0000 + AND #$0008 + BEQ L011DDE + LDX #$FFFF +L011DDE PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0011 + _SetDItemValue + LDA L0122A6 + LDX #$0000 + AND #$0010 + BEQ L011DFF + LDX #$FFFF +L011DFF PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0012 + _SetDItemValue +L011E12 PHA + PEA $8000 + PEA $0000 + _ModalDialog + PLA + BEQ L011E12 + DEC + ASL + TAX + JSR (L011E68,X) + BRA L011E12 +L011E2B LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + _CloseDialog + LDA $03,S + STA $09,S + LDA $01,S + STA $07,S + PLA + PLA + PLA + LDA #$0000 + PLB + RTL + +L011E4A PLA + LDA L0122A2 + ASL + TAX + LDA L01210D,X + STA $0B,S + LDA L0122A4 + ASL + TAX + LDA L012184,X + XBA + ORA L0122A6 + STA $0D,S + BRA L011E2B +L011E65 PLA + BRA L011E2B +L011E68 DA L011E4A + DA L011E65 + DA L011F96 + DA L011F96 + DA L011F96 + DA L011F96 + DA L011F96 + DA L011F96 + DA L011F78 + DA L011F78 + DA L011F78 + DA L011F78 + DA L011EF6 + DA L011E93 + DA L011E93 + DA L011E93 + DA L011E93 + DA L011E93 + DA L011E92 + DA L011E92 + DA L011E92 +L011E92 RTS + +L011E93 LSR + INC + PHA + SEC + SBC #$000E + TAX + LDA #$0001 +L011E9E CPX #$0000 + BEQ L011EA7 + ASL + DEX + BRA L011E9E +L011EA7 EOR L0122A6 + STA L0122A6 + LDA $01,S + TAX + PHA + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _GetDItemValue + PLA + PLX + EOR #$FFFF + PHA + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _SetDItemValue + LDX #$0000 + LDA L0122A6 + BNE L011EE2 + LDX #$FFFF +L011EE2 PHX + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000D + _SetDItemValue + RTS + +L011EF6 STZ L0122A6 + PEA $FFFF + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000D + _SetDItemValue + PEA $0000 + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000E + _SetDItemValue + PEA $0000 + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $000F + _SetDItemValue + PEA $0000 + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0010 + _SetDItemValue + PEA $0000 + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0011 + _SetDItemValue + PEA $0000 + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PEA $0012 + _SetDItemValue + RTS + +L011F78 LSR + INC + TAX + SEC + SBC #$0009 + STA L0122A4 + PEA $FFFF + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _SetDItemValue + RTS + +L011F96 LSR + INC + TAX + SEC + SBC #$0003 + STA L0122A2 + PEA $FFFF + LDA L011FB4+2 + PHA + LDA L011FB4 + PHA + PHX + _SetDItemValue + RTS + +L011FB4 ADRL $00000000 +L011FB8 DW $0032 ; dtBoundsRect + DW $0023 + DW $00A0 + DW $011D + DW $FFFF ; dtVisible + ADRL $00000000 ; dtRefCon + ADRL L01201E ; itemPtr + ADRL L012036 ; itemPtr + ADRL L01204E ; itemPtr + ADRL L012066 ; itemPtr + ADRL L01207E ; itemPtr + ADRL L012096 ; itemPtr + ADRL L0120AE ; itemPtr + ADRL L0120C6 ; itemPtr + ADRL L012119 ; itemPtr + ADRL L012131 ; itemPtr + ADRL L012149 ; itemPtr + ADRL L012161 ; itemPtr + ADRL L01218C ; itemPtr + ADRL L0121A4 ; itemPtr + ADRL L0121BC ; itemPtr + ADRL L0121D4 ; itemPtr + ADRL L0121EC ; itemPtr + ADRL L012204 ; itemPtr + ADRL L012247 ; itemPtr + ADRL L01225F ; itemPtr + ADRL L012277 ; itemPtr + ADRL $00000000 ; Terminator +L01201E DW $0001 ; Item ID + DW $005B ; Item rect + DW $0087 + DW $0068 + DW $00C3 + DW $000A ; Std button + ADRL L01046F ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012036 DW $0002 ; Item ID + DW $005B ; Item rect + DW $0037 + DW $0068 + DW $0073 + DW $000A ; Std button + ADRL L010472 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01204E DW $0003 ; Item ID + DW $0014 ; Item rect + DW $000D + DW $001F + DW $0064 + DW $000C ; Std radio button + ADRL L0120DE ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012066 DW $0004 ; Item ID + DW $001F ; Item rect + DW $000D + DW $002A + DW $0064 + DW $000C ; Std radio button + ADRL L0120E6 ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01207E DW $0005 ; Item ID + DW $002A ; Item rect + DW $000D + DW $0035 + DW $0064 + DW $000C ; Std radio button + ADRL L0120ED ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012096 DW $0006 ; Item ID + DW $0035 ; Item rect + DW $000D + DW $0040 + DW $0064 + DW $000C ; Std radio button + ADRL L0120F3 ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0120AE DW $0007 ; Item ID + DW $0040 ; Item rect + DW $000D + DW $004B + DW $0064 + DW $000C ; Std radio button + ADRL L0120FD ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0120C6 DW $0008 ; Item ID + DW $004B ; Item rect + DW $000D + DW $0056 + DW $0064 + DW $000C ; Std radio button + ADRL L012107 ; Item descriptor + DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0120DE STR 'Shaston' +L0120E6 STR 'Venice' +L0120ED STR 'Times' +L0120F3 STR 'Helvetica' +L0120FD STR 'Hollywood' +L012107 STR 'Cairo' +L01210D DW $FFFE + DW $0005 + DW $0014 + DW $0015 + DW $0097 + DW $000B +L012119 DW $0009 ; Item ID + DW $0014 ; Item rect + DW $006E + DW $001F + DW $008C + DW $000C ; Std radio button + ADRL L012179 ; Item descriptor + DW $0000 ; Item value + DW $0002 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012131 DW $000A ; Item ID + DW $0026 ; Item rect + DW $006E + DW $0031 + DW $008C + DW $000C ; Std radio button + ADRL L01217B ; Item descriptor + DW $0000 ; Item value + DW $0002 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012149 DW $000B ; Item ID + DW $0038 ; Item rect + DW $006E + DW $0043 + DW $008C + DW $000C ; Std radio button + ADRL L01217E ; Item descriptor + DW $0000 ; Item value + DW $0002 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012161 DW $000C ; Item ID + DW $004A ; Item rect + DW $006E + DW $0055 + DW $008C + DW $000C ; Std radio button + ADRL L012181 ; Item descriptor + DW $0000 ; Item value + DW $0002 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012179 STR '8' +L01217B STR '12' +L01217E STR '14' +L012181 STR '16' +L012184 DW $0008 + DW $000C + DW $000E + DW $0010 +L01218C DW $000D ; Item ID + DW $0014 ; Item rect + DW $009B + DW $001F + DW $00F0 + DW $000B ; Std check box + ADRL L01221C ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0121A4 DW $000E ; Item ID + DW $001F ; Item rect + DW $009B + DW $002A + DW $00F0 + DW $000B ; Std check box + ADRL L012222 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0121BC DW $000F ; Item ID + DW $002A ; Item rect + DW $009B + DW $0035 + DW $00F0 + DW $000B ; Std check box + ADRL L012227 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0121D4 DW $0010 ; Item ID + DW $0035 ; Item rect + DW $009B + DW $0040 + DW $00F0 + DW $000B ; Std check box + ADRL L01222E ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0121EC DW $0011 ; Item ID + DW $0040 ; Item rect + DW $009B + DW $004B + DW $00F0 + DW $000B ; Std check box + ADRL L012238 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012204 DW $0012 ; Item ID + DW $004B ; Item rect + DW $009B + DW $0056 + DW $00F0 + DW $000B ; Std check box + ADRL L012240 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01221C STR 'Plain' +L012222 STR 'Bold' +L012227 STR 'Italic' +L01222E STR 'Underline' +L012238 STR 'OutLine' +L012240 STR 'Shadow' +L012247 DW $0013 ; Item ID + DW $0003 ; Item rect + DW $0014 + DW $000E + DW $0032 + DW $800F ; Static text + ADRL L01228F ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01225F DW $0013 ; Item ID + DW $0003 ; Item rect + DW $006E + DW $000E + DW $0096 + DW $800F ; Static text + ADRL L012295 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L012277 DW $0013 ; Item ID + DW $0003 ; Item rect + DW $009B + DW $000E + DW $00F0 + DW $800F ; Static text + ADRL L01229B ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01228F STR 'Font:' +L012295 STR 'Size:' +L01229B STR 'Style:' +L0122A2 DW $0000 +L0122A4 DW $0000 +L0122A6 DW $0000 + +L0122A8 JSR L013C36 + JSR L015981 + JSR L01192F + STZ L012403 + STZ L012403+2 + JSL GSOS + DW $0010 ; Open + ADRL L0123FD + BCC L0122C6 + BRL L01230F +L0122C6 LDA L0123FD + STA L012407 + STA L012417 + LDA #L01241D + STA L012409 + LDA #^L01241D + STA L012409+2 + LDA #$0002 + STA L01240D + JSL GSOS + DW $0012 ; Read + ADRL L012407 + JSR L012354 + JSR L012339 + LDA L01241D + STA L012419 + STZ L012419+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L012417 + BCC L012309 + BRL L0123DC +L012309 JSR L012354 + JSR L012339 +L01230F JSL GSOS + DW $0014 ; Close + ADRL L012415 + _InitPalette + PEA $0000 + PEA $0000 + _RefreshDesktop + _DrawMenuBar + JSL L010D82 + RTS + +L012339 PHA + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA L0196BB + CMP #$0001 + BNE L012339 + RTS + +L012354 _HideCursor + LDA $A4 + STA L012409 + LDA $A6 + STA L012409+2 + LDA #$2000 + STA L012423 + LDA #$00E1 + STA L012423+2 + LDA #$7D00 + STA L01241F + LDA #$00A0 + STA L01240D + JSL GSOS + DW $0017 ; GetMark + ADRL L012417 + BCC L01238C + BRL L0123DC +L01238C JSL GSOS + DW $0016 ; SetMark + ADRL L012417 + BCC L01239B + BRL L0123DC +L01239B JSL GSOS + DW $0012 ; Read + ADRL L012407 + BCC L0123AA + BRL L0123DC +L0123AA PHA + LDA $A6 + PHA + LDA $A4 + PHA + PEA $00A0 + PEA ^L012423 + PEA L012423 + PEA ^L01241F + PEA L01241F + _UnPackBytes + PLA + CLC + ADC L012419 + STA L012419 + LDA L01241F + BNE L01238C + _ShowCursor + RTS + +L0123DC PLA + _ShowCursor + BRL L01230F + +L0123E7 STR '1/PaintTools/HelpFile' +L0123FD DW $0000 ; ref num + ADRL L0123E7 ; path name +L012403 ADRL $00000000 ; reserved +L012407 DW $0000 ; ref num +L012409 ADRL $00000000 ; buffer ptr +L01240D ADRL $00000002 ; request count + ADRL $00000000 ; transfer count +L012415 DW $0000 ; ref num +L012417 DW $0000 ; ref num +L012419 ADRL $00000000 ; position +L01241D DW $0000 +L01241F DW $0000 + DW $0000 +L012423 ADRL $00000000 + +L012427 LDA $3E + BNE L012439 + LDA #$0104 + STA L0196CB + JSR L013DC6 + LDA $3E + BNE L012439 + RTS + +L012439 PEA $001E ; X/Y + PEA $001E + PEA ^L0105F5 ; promptPtr + PEA L0105F5 + PEA ^L0129C6 ; filterProcPtr + PEA L0129C6 + PEA ^L012A29 ; typeListPtr + PEA L012A29 + PEA ^L0198D9 ; replyPtr + PEA L0198D9 + _SFGetFile + JSL L010D82 + LDA L0198D9 ; true for open + BNE L012468 + RTS + +L012468 LDA L0198DB + CMP #$00C0 + BEQ L012487 + CMP #$0006 + BEQ L01247E + LDA #$0002 ; filetype is C1 => 2 + STA L019687 + BRL L01274A +L01247E LDA #$0003 ; filetype is 06 => 3 + STA L019687 + BRL L01274A + +L012487 LDA L0198DD + BEQ L012495 +* cmp #$8005 ; AV 202004 +* beq L012490 + LDA #$0000 ; C0/0002 => 0 + STA L019687 + BRL L0124E0 + +*L012490 lda #4 ; AV 202004 +* sta L019687 +* brl handleDG + +L012495 LDA #$0001 ; C0/0000 => 1 + STA L019687 + BRL L012836 +L01249E LDA L012A6D + BMI L0124B4 + JSR L011953 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + +L0124B4 LDA L019976 + STA $0A + LDA L019978 + STA $0C + LDX #$0080 + LDY #$7DFE + LDA #$0000 +L0124C7 STA [$0A],Y + DEY + DEY + DEX + BNE L0124C7 + LDX #$001E + LDY #$7E1E +L0124D4 LDA L012A4D,X + STA [$0A],Y + DEY + DEY + DEX + DEX + BPL L0124D4 + RTS + +L0124E0 LDA #$0001 + STA $74 + JSR L01296D + BCC L0124ED + BRL L012999 + +L0124ED LDA #L01271B + STA L012A39 + LDA #^L01271B + STA L012A39+2 + LDA #$000F + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L01250E + BRL L012999 +L01250E LDA L012728 + BEQ L012549 + LDA $A4 + STA L012A39 + LDA $A6 + STA L012A39+2 + LDA #$0020 + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L012532 + BRL L012999 +L012532 PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable + _InitPalette +L012549 LDA L012728 + ASL + ASL + ASL + ASL + ASL + CLC + ADC #$000F + STA L012A49 + JSL GSOS + DW $0016 ; SetMark + ADRL L012A47 + BCC L012567 + BRL L012999 +L012567 LDA #L01272A + STA L012A39 + LDA #^L01272A + STA L012A39+2 + LDA #$0002 + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L012588 + BRL L012999 +L012588 LDA L01272A + STA L012732 + LDA $F0 + CMP L01272A + BCS L012598 + STA L012732 +L012598 LDA L019984 + STA L012A39 + LDA L019986 + STA L012A39+2 + LDA L012732 + ASL + ASL + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L0125BB + BRL L012999 +L0125BB LDA L01272A + ASL + ASL + CLC + ADC #$0002 + CLC + ADC L012A49 + STA L012A49 + JSL GSOS + DW $0016 ; SetMark + ADRL L012A47 + BCC L0125DA + BRL L012999 +L0125DA JSR L0129AF + LDA $A4 + STA L012A39 + LDA $A6 + STA L012A39+2 + LDA L019976 + STA L012A23 + LDA L019978 + STA L012A23+2 + LDA L019984 + STA $0A + LDA L019986 + STA $0C + STZ L012730 +L012600 LDA #$00A0 + STA L01272C + LDY L012730 + LDA [$0A],Y + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L012622 + CMP #$004C + BEQ L012652 + BRL L012999 +L012622 PHA + LDA $A6 + PHA + LDA $A4 + PHA + LDY L012730 + LDA [$0A],Y + PHA + PEA ^L012A23 + PEA L012A23 + PEA ^L01272C + PEA L01272C + _UnPackBytes + PLA + CLC + LDA L012730 + ADC #$0004 + STA L012730 + DEC L012732 + BNE L012600 +L012652 STZ L012738 + STZ L012738+2 +L012658 CLC + LDA L012738 + ADC L01271B + STA L012738 + STA L012A49 + LDA L012738+2 + ADC L01271D + STA L012738+2 + STA L012A49+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L012A47 + BCC L012680 + BRL L012999 +L012680 LDA #L01271B + STA L012A39 + LDA #^L01271B + STA L012A39+2 + LDA #$000B + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L0126A9 + CMP #$004C + BNE L0126A6 + BRL L012707 +L0126A6 BRL L012999 +L0126A9 LDA L012720 + CMP L012734 + BNE L012658 + LDA L012722 + CMP L012734+2 + BNE L012658 + LDA #$0010 + CMP L012724 + BCS L0126C4 + STA L012724 +L0126C4 LDA L012724 + ASL + ASL + ASL + ASL + ASL + STA L012A3D + LDA #L019C74 + STA L012A39 + LDA #^L019C74 + STA L012A39+2 + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L0126EA + BRL L012999 +L0126EA LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L0117DA + LDA $92 + PHA + LDA $90 + PHA + _SetPort +L012707 JSL GSOS + DW $0014 ; Close + ADRL L012A45 + LDA #$0001 + STA $40 + STZ $3C + BRL L01249E + +L01271B DW $0000 +L01271D DB $00 + DB $00 + DB $00 +L012720 DW $0000 +L012722 DW $0000 +L012724 DW $0000 + DW $0000 +L012728 DW $0000 +L01272A DW $0000 +L01272C DW $0000 + DW $0000 +L012730 DW $0000 +L012732 DW $0000 +L012734 ASC 'PATS' +L012738 ADRL $00000000 + +L01273C ENT + PHB + PHK + PLB + LDA #$FFFF + STA L012A6D + JSR L01274D + PLB + RTL + +*--- Handle C1/06 files + +L01274A STZ L012A6D +L01274D JSR L01296D ; open file + BCC L012755 + BRL L012999 +L012755 LDA L019976 ; read $7D00 bytes + STA L012A39 + LDA L019978 + STA L012A39+2 + LDA #$7D00 + STA L012A3D + BIT L012A6D + BMI L01276F + JSR L0129AF ; show file name + +L01276F JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L01277E + BRL L012999 + +*--- now, read ONE palette only! + +L01277E LDA #$7E00 + STA L012A49 + STZ L012A49+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L012A47 + BCC L012796 + BRL L012999 +L012796 LDA #$0020 + STA L012A3D + LDA $A4 + STA L012A39 + LDA $A6 + STA L012A39+2 + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L0127B5 + BRL L012999 + +L0127B5 JSL GSOS + DW $0014 ; Close + ADRL L012A45 + + LDA L012A6D + BPL L0127D2 + + LDY #$001E +L0127C7 LDA [$A4],Y + STA L012A4D,Y + DEY + DEY + BPL L0127C7 + BRA L012825 + +L0127D2 LDA L019687 + CMP #$0002 + BEQ L0127E5 + JSR L018F57 + LDA #$0002 + STA L019687 + BRA L0127F5 +L0127E5 PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable +L0127F5 _InitPalette + LDA #$0001 + STA $40 + STZ $3C + LDA #$0001 + STA $74 + LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L0117DA + LDA $92 + PHA + LDA $90 + PHA + _SetPort + +L012825 BRL L01249E + +L012828 ENT + PHB + PHK + PLB + LDA #$FFFF + STA L012A6D + JSR L012839 + PLB + RTL + +L012836 STZ L012A6D +L012839 JSR L01296D + BCC L012841 + BRL L012999 +L012841 LDA $A4 + STA L012A39 + LDA $A6 + STA L012A39+2 + LDA #$0022 + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L012860 + BRL L012999 +L012860 LDY #$0020 + LDA [$A4],Y + EOR #$000F + INC + STA $74 + LDA #L019C74 + STA L012A39 + LDA #^L019C74 + STA L012A39+2 + LDA #$0200 + STA L012A3D + JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L01288C + BRL L012999 +L01288C BIT L012A6D + BMI L0128CA + PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable + _InitPalette + LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L0117DA + LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L0129AF + BRA L0128D6 +L0128CA LDY #$001E +L0128CD LDA [$A4],Y + STA L012A4D,Y + DEY + DEY + BPL L0128CD +L0128D6 LDA $A4 + STA L012A39 + LDA $A6 + STA L012A39+2 + LDA L019976 + STA L012A23 + LDA L019978 + STA L012A23+2 + LDA L019699 + STA L012A27 + LDA #$00A0 + STA L012A3D + JSL GSOS + DW $0017 ; GetMark + ADRL L012A47 +L012902 JSL GSOS + DW $0016 ; SetMark + ADRL L012A47 + BCC L012916 + CMP #$004D + BEQ L012954 + BRL L012999 +L012916 JSL GSOS + DW $0012 ; Read + ADRL L012A37 + BCC L01292A + CMP #$004C + BEQ L012954 + BRL L012999 +L01292A PHA + LDA $A6 + PHA + LDA $A4 + PHA + PEA $00A0 + PEA ^L012A23 + PEA L012A23 + PEA ^L012A27 + PEA L012A27 + _UnPackBytes + PLA + CLC + ADC L012A49 + STA L012A49 + LDA L012A27 + BNE L012902 +L012954 JSL GSOS + DW $0014 ; Close + ADRL L012A45 + BIT L012A6D + BMI L01296A + LDA #$0001 + STA $40 + STZ $3C +L01296A BRL L01249E + +L01296D STZ L012A33 + STZ L012A33+2 + JSL GSOS + DW $0010 ; Open + ADRL L012A2D + BCS L012997 + PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L012A2D + STA L012A37 + STA L012A47 + CLC + RTS + +L012997 SEC + RTS + +L012999 PHA + JSL GSOS + DW $0014 ; Close + ADRL L012A45 + PLA + LDX #$0000 + JSL L017D37 + BRL L01249E + +L0129AF PEA ^L0198DF + PEA L0198DF + LDA $92 + PHA + LDA $90 + PHA + _SetWTitle + JSR L013D4D + RTS + +*--- filterProcPtr +* Stack: +* word space for result +* long pointer to DirEntry + +* It opens BIN/PIC of $8000 +* It opens PNT/0000 and PNT/0002 +* It could handle DG files, no? + +L0129C6 PHB + PHD + PHK + PLB + LDA L01968D ; get my DP + TCD + LDA $07,S ; get DirEntry ptr + STA $0A + LDA $09,S + STA $0C + LDY #$0010 ; file_type + LDA [$0A],Y + AND #$00FF + CMP #$0006 + BEQ L012A03 + CMP #$00C0 + BEQ L0129F2 + CMP #$00C1 + BEQ L012A03 +L0129ED LDA #$0000 ; return noDisplay + BRA L012A14 + +*--- check ayx file type of $C0 + +L0129F2 LDY #$001F ; aux_type + LDA [$0A],Y ; 0000 + BEQ L0129FE + cmp #$8005 ; AV 202004 - for DreamGrafix + beq L0129FE + CMP #$0002 + BNE L0129ED +L0129FE LDA #$0002 ; return displaySelect + BRA L012A14 + +L012A03 LDY #$0013 ; blocks_used + LDA [$0A],Y + CMP #$0041 + BEQ L0129FE + CMP #$007F + BNE L0129ED + BRA L0129FE + +L012A14 STA $0B,S ; put result + PLD + PLB + LDA $00,S ; move stack 4 bytes + STA $04,S + LDA $02,S + STA $06,S + PLA + PLA + RTL + +L012A23 ADRL $00000000 +L012A27 DW $0000 + +L012A29 DB $03 ; the three filetypes that GS/Paint can read + HEX 06C0C1 + +L012A2D DW $0000 ; ref num + ADRL L0198EF ; path name +L012A33 ADRL $00000000 ; reserved + +L012A37 DW $0000 ; ref num +L012A39 ADRL $00000000 ; buffer ptr +L012A3D ADRL $00007D00 ; request count + ADRL $00000000 ; transfer count + +L012A45 DW $0000 ; ref num + +L012A47 DW $0000 ; ref num +L012A49 ADRL $00000000 ; position + +L012A4D HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L012A6D DW $0000 + +L012A6F JSL L018744 +L012A73 LDA $40 + BEQ L012A87 + JSR L013172 + LDA L019687 + STA L01319B + BRL L012B03 +L012A83 JSL L018744 +L012A87 JSR L013172 + STZ L013121 + STZ L013139 + STZ L013151 + LDA L019687 + CMP #$0000 + BEQ L012AAB + CMP #$0001 + BEQ L012AB6 + STA L01319B + LDA #$0001 + STA L013151 + BRA L012ABF +L012AAB STA L01319B + LDA #$0001 + STA L013121 + BRA L012ABF +L012AB6 STA L01319B + LDA #$0001 + STA L013139 +L012ABF JSL L018752 + PEA $0019 + PEA $001E + PEA ^L0105E2 + PEA L0105E2 + PEA ^L0198DF + PEA L0198DF + PEA $000F + PEA ^L012FA3 + PEA L012FA3 + PEA ^L012F2B + PEA L012F2B + PEA ^L0198D9 + PEA L0198D9 + _SFPPutFile + JSL L010D82 + _ShowCursor + LDA L0198D9 + BNE L012B03 + CLC + RTS + +L012B03 PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L01319B + STA L019687 + ASL + TAX + JMP (L012B1B,X) + +L012B1B DA L012B21 + DA L012B33 + DA L012B42 +L012B21 LDA #$00C0 + STA L0131AB + STZ L0131AD + LDA #$0002 + STA L0131AD + BRL L012B99 +L012B33 LDA #$00C0 + STA L0131AB + STZ L0131AD + STZ L0131AD+2 + BRL L012DDD +L012B42 LDA #$00C1 + STA L0131AB + STZ L0131AD + STZ L0131AD+2 + BRL L012D7C +L012B51 JSL GSOS + DW $0017 ; GetMark + ADRL L0131D1 + BCC L012B60 + BRL L013159 +L012B60 JSL GSOS + DW $0018 ; SetEOF + ADRL L0131D1 + BCC L012B6F + BRL L013159 +L012B6F JSL GSOS + DW $0014 ; Close + ADRL L0131CF + LDA #$0001 + STA $40 + STZ $3C + JSL L018752 + PEA ^L0198DF + PEA L0198DF + LDA $92 + PHA + LDA $90 + PHA + _SetWTitle + SEC + RTS + +L012B99 JSR L012EB2 + BCC L012BA1 + BRL L013159 +L012BA1 JSR L012D1A + BCC L012BA9 + BRL L013159 +L012BA9 LDA #$9E00 + STA L0131C3 + LDA #$00E1 + STA L0131C3+2 + LDA #$0200 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012BCA + BRL L013159 +L012BCA JSR L012D3C + BCC L012BD2 + BRL L013159 +L012BD2 LDA L019984 + STA $0A + LDA L019986 + STA $0C + LDA #$018C + STA [$0A] + STA L012D78 + LDA #$0002 + STA L012D7A + LDA $A4 + STA L0131C3 + LDA $A6 + STA L0131C3+2 + LDA L019976 + STA L01319D + LDA L019978 + STA L01319F +L012C00 LDA #$00A0 + STA L013199 + LDA L01319D + STA L013195 + LDA L01319F + STA L013197 + PHA + PEA ^L013195 + PEA L013195 + PEA ^L013199 + PEA L013199 + LDA $A6 + PHA + LDA $A4 + PHA + PEA $FFFF + _PackBytes + PLA + STA L0131C7 + LDY L012D7A + STA [$0A],Y + INY + INY + LDA #$0000 + STA [$0A],Y + INY + INY + STY L012D7A + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012C53 + BRL L013159 +L012C53 CLC + LDA L01319D + ADC #$00A0 + STA L01319D + DEC L012D78 + BNE L012C00 + JSL GSOS + DW $0017 ; GetMark + ADRL L0131D1 + BCC L012C71 + BRL L013159 +L012C71 LDA L0131D3 + STA L012D5E + LDA L0131D3+2 + STA L012D5E+2 + STZ L0131D3 + STZ L0131D3+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L0131D1 + BCC L012C92 + BRL L013159 +L012C92 JSR L012D1A + BCC L012C9A + BRL L013159 +L012C9A LDA #$020F + STA L0131D3 + STZ L0131D3+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L0131D1 + BCC L012CB2 + BRL L013159 +L012CB2 JSR L012D3C + BCC L012CBA + BRL L013159 +L012CBA LDA L012D5E + STA L0131D3 + LDA L012D5E+2 + STA L0131D3+2 + JSL GSOS + DW $0016 ; SetMark + ADRL L0131D1 + BCC L012CD5 + BRL L013159 +L012CD5 LDA #L012D6D + STA L0131C3 + LDA #^L012D6D + STA L0131C3+2 + LDA #$000B + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012CF6 + BRL L013159 +L012CF6 LDA #L019C74 + STA L0131C3 + LDA #^L019C74 + STA L0131C3+2 + LDA #$0200 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012D17 + BRL L013159 +L012D17 BRL L012B51 +L012D1A LDA #L012D5E + STA L0131C3 + LDA #^L012D5E + STA L0131C3+2 + LDA #$000F + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCS L012D3A + CLC + RTS + +L012D3A SEC + RTS + +L012D3C LDA L019984 + STA L0131C3 + LDA L019986 + STA L0131C3+2 + LDA #$0632 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCS L012D5C + CLC + RTS + +L012D5C SEC + RTS + +L012D5E ADRL $00000000 + STR 'MAIN' + DB $00 + DB $00 + DB $40 + DB $01 + DB $10 + DB $00 +L012D6D DB $0B + DB $02 + DB $00 + DB $00 + STR 'PATS' + DB $10 + DB $00 +L012D78 DW $0000 +L012D7A DW $0000 +L012D7C JSR L012EB2 + BCC L012D84 + BRL L013159 +L012D84 LDA L019976 + STA L0131C3 + LDA L019978 + STA L0131C3+2 + LDA #$7D00 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012DA5 + BRL L013159 +L012DA5 PEA $0000 + _SetAllSCBs + LDA #$0300 + STA L0131C7 + STZ L0131C7+2 + LDA #$9D00 + STA L0131C3 + LDA #$00E1 + STA L0131C3+2 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012DD3 + BRL L013159 +L012DD3 _InitPalette + BRL L012B51 +L012DDD JSR L012EB2 + BCC L012DE5 + BRL L013159 +L012DE5 PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _GetColorTable + LDA $74 + DEC + EOR #$000F + LDY #$0020 + STA [$A4],Y + LDA $A4 + STA L0131C3 + LDA $A6 + STA L0131C3+2 + LDA #$0022 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012E1F + BRL L013159 +L012E1F LDA #L019C74 + STA L0131C3 + LDA #^L019C74 + STA L0131C3+2 + LDA #$0200 + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012E40 + BRL L013159 +L012E40 LDA $A4 + STA L0131C3 + LDA $A6 + STA L0131C3+2 + LDA L019976 + STA L01319D + LDA L019978 + STA L01319F + LDY $F0 +L012E58 PHY + LDA #$00A0 + STA L013199 + LDA L01319D + STA L013195 + LDA L01319F + STA L013197 +L012E6B PHA + PEA ^L013195 + PEA L013195 + PEA ^L013199 + PEA L013199 + LDA $A6 + PHA + LDA $A4 + PHA + PEA $00A0 + _PackBytes + PLA + STA L0131C7 + JSL GSOS + DW $0013 ; Write + ADRL L0131C1 + BCC L012E9C + PLY + BRL L013159 +L012E9C LDA L013199 + BNE L012E6B + CLC + LDA L01319D + ADC #$00A0 + STA L01319D + PLY + DEY + BNE L012E58 + BRL L012B51 +L012EB2 JSL GSOS + DW $0001 ; Create + ADRL L0131A5 + BCC L012EC6 + CMP #$0047 + BEQ L012EC6 + BRL L012F29 +L012EC6 JSL GSOS + DW $0006 ; GetFileInfo + ADRL L0131D7 + BCC L012ED5 + BRL L012F29 +L012ED5 LDA L0131AB + STA L0131DD + LDA L0131AD + STA L0131DF + LDA L0131AD+2 + STA L0131DF+2 + LDA #$00C3 + STA L0131DB + JSL GSOS + DW $0005 ; SetFileInfo + ADRL L0131D7 + BCC L012EFC + BRL L012F29 +L012EFC STZ L0131BD + STZ L0131BD+2 + JSL GSOS + DW $0010 ; Open + ADRL L0131B7 + BCS L012F29 + PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L0131B7 + STA L0131C1 + STA L0131D1 + STA L0131D1 + CLC + RTS + +L012F29 SEC + RTS + +*--- dialogHookPtr + +L012F2B PHB + PHD + PHK + PLB + LDA L01968D + TCD + LDA $0B,S + STA $0A + LDA $0D,S + STA $0C + LDA $07,S + STA $0E + LDA $09,S + STA $10 + LDA [$0E] + STA L0131A1 + CMP #$000D + BCC L012F94 + LDX #$000E + LDA L0131A1 + CMP #$000D + BEQ L012F59 + DEX +L012F59 STX L0131A3 + PHA + LDA $0C + PHA + LDA $0A + PHA + LDA L0131A1 + PHA + _GetDItemValue + PLA + BNE L012F8F + SEC + LDA L0131A1 + SBC #$000D + STA L01319B + PEA $0001 + LDA $0C + PHA + LDA $0A + PHA + LDA L0131A1 + PHA + _SetDItemValue +L012F8F LDA #$0000 + STA [$0E] +L012F94 PLD + PLB + LDA $00,S + STA $08,S + LDA $02,S + STA $0A,S + PLA + PLA + PLA + PLA + RTL + +*--- Dialog Template + +L012FA3 DW $0000 ; dtBoundsRect + DW $0000 + DW $0098 + DW $010E + DW $FFFF ; dtVisible + ADRL $00000000 ; dtRefCon + ADRL L012FF1 ; itemPtr + ADRL L013009 ; itemPtr + ADRL L013021 ; itemPtr + ADRL L013039 ; itemPtr + ADRL L013051 ; itemPtr + ADRL L013069 ; itemPtr + ADRL L013081 ; itemPtr + ADRL L013099 ; itemPtr + ADRL L0130B1 ; itemPtr + ADRL L0130C9 ; itemPtr + ADRL L0130E1 ; itemPtr + ADRL L0130F9 ; itemPtr + ADRL L013111 ; itemPtr + ADRL L013129 ; itemPtr + ADRL L013141 ; itemPtr + ADRL $00000000 ; Terminator +L012FF1 DW $0001 ; Item ID + DW $005D ; Item rect + DW $00A5 + DW $0069 + DW $0109 + DW $000A ; Std button + ADRL L0104A5 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013009 DW $0002 ; Item ID + DW $0036 ; Item rect + DW $00A5 + DW $0042 + DW $0109 + DW $000A ; Std button + ADRL L01049E ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013021 DW $0003 ; Item ID + DW $0048 ; Item rect + DW $00A5 + DW $0054 + DW $0109 + DW $000A ; Std button + ADRL L010490 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013039 DW $0004 ; Item ID + DW $000F ; Item rect + DW $00A5 + DW $001B + DW $0109 + DW $000A ; Std button + ADRL L010488 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013051 DW $0005 ; Item ID + DW $006F ; Item rect + DW $00A5 + DW $007B + DW $0109 + DW $000A ; Std button + ADRL L010472 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013069 DW $0006 ; Item ID + DW $001A ; Item rect + DW $0090 + DW $0058 + DW $009D + DW $000D ; Dialog scroll bar + ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0003 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013081 DW $0007 ; Item ID + DW $0000 ; Item rect + DW $000A + DW $000C + DW $0109 + DW $0014 ; User item + ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013099 DW $0008 ; Item ID + DW $001A ; Item rect + DW $000A + DW $0058 + DW $0091 + DW $0014 ; User item + ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0130B1 DW $0009 ; Item ID + DW $0058 ; Item rect + DW $000A + DW $0064 + DW $00AA + DW $8014 ; User item + ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0130C9 DW $000A ; Item ID + DW $0064 ; Item rect + DW $000A + DW $0076 + DW $009D + DW $0011 ; Editable text + ADRL L0198DF ; Item descriptor + DW $000F ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0130E1 DW $000B ; Item ID + DW $000C ; Item rect + DW $000A + DW $0016 + DW $00A0 + DW $800F ; Static text + ADRL L0104AC ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0130F9 DW $000C ; Item ID + DW $0021 ; Item rect + DW $00A5 + DW $002D + DW $0109 + DW $000A ; Std button + ADRL L0104BD ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013111 DW $000D ; Item ID + DW $008B ; Item rect + DW $000A + DW $0095 + DW $006E + DW $000C ; Std radio button + ADRL L01061A ; Item descriptor +L013121 DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013129 DW $000E ; Item ID + DW $007F ; Item rect + DW $004B + DW $0089 + DW $00B9 + DW $000C ; Std radio button + ADRL L01060C ; Item descriptor +L013139 DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013141 DW $000F ; Item ID + DW $008B ; Item rect + DW $0091 + DW $0095 + DW $0109 + DW $000C ; Std radio button + ADRL L0105FE ; Item descriptor +L013151 DW $0000 ; Item value + DW $0001 ; Bit flag + ADRL $00000000 ; Ptr to color table + +L013159 PHA + JSL GSOS + DW $0014 ; Close + ADRL L0131CF + PLA + LDX #$0000 + JSL L017D37 + JSL L018752 + CLC + RTS + +L013172 PHA + PHA + LDA $92 + PHA + LDA $90 + PHA + _GetWTitle + PEA ^L0198DF + PEA L0198DF + PEA $0000 + PEA $0010 + _BlockMove + RTS + +L013195 DW $0000 +L013197 DW $0000 +L013199 DW $0000 +L01319B DW $0000 +L01319D DW $0000 +L01319F DW $0000 +L0131A1 DW $0000 +L0131A3 DW $0000 +L0131A5 ADRL L0198DF ; file name + DW $00C3 ; access +L0131AB DW $0000 ; file type +L0131AD ADRL $00000000 ; aux type + DW $0000 ; storage + DS 4 ; creation date +L0131B7 DW $0000 ; ref num + ADRL L0198DF ; path name +L0131BD ADRL $00000000 ; reserved +L0131C1 DW $0000 ; ref num +L0131C3 ADRL $00000000 ; buffer ptr +L0131C7 ADRL $00007D00 ; request count + ADRL $00000000 ; transfer count +L0131CF DW $0000 ; ref num +L0131D1 DW $0000 ; ref num +L0131D3 ADRL $00000000 ; position +L0131D7 ADRL L0198DF ; file name +L0131DB DW $0000 ; access +L0131DD DW $0000 ; file type +L0131DF ADRL $00000000 ; aux type + DS 2 ; (null field) + DS 4 ; creation date + DS 4 ; modification date + ADRL $00000000 ; blocks used + +L0131F1 JSL L018744 + JSL L018752 + LDA $F6 + PHA + LDA $F4 + PHA + _HLock + LDY #$0000 + LDA [$F4],Y + STA $0A + INY + INY + LDA [$F4],Y + STA $0C + LDY #$0002 + LDA [$0A],Y + PHA + LDA $F6 + PHA + LDA $F4 + PHA + _HUnlock + PLA + STA L01341D + CMP #$0001 + BEQ L013232 + BRL L0132B2 +L013232 PHA + PHA + _MaxBlock + PLA + PLA + CMP #$0001 + BCS L0132B2 + PHA + PEA ^L01341F + PEA L01341F + PEA $0000 + PEA $0000 + _Alert + JSL L010D82 + PLA + CMP #$0003 + BNE L013261 + RTS + +L013261 STA L01341B + LDA $F6 + PHA + LDA $F4 + PHA + _PrDefault + LDA $F6 + PHA + LDA $F4 + PHA + _HLock + LDA [$F4] + STA $0A + LDY #$0002 + LDA [$F4],Y + STA $0C + LDY #$0056 + LDA #$0000 + STA [$0A],Y + LDA L01341B + CMP #$0001 + BNE L0132A3 + LDY #$0018 + LDA [$0A],Y + ORA #$0020 + STA [$0A],Y +L0132A3 LDA $F6 + PHA + LDA $F4 + PHA + _HUnlock + BRA L0132C8 +L0132B2 PHA + LDA $F6 + PHA + LDA $F4 + PHA + _PrJobDialog + JSL L010D82 + PLA + BNE L0132C8 + RTS + +L0132C8 LDA L01341D + CMP #$0001 + BNE L013310 + LDA $F6 + PHA + LDA $F4 + PHA + _HLock + LDY #$0000 + LDA [$F4],Y + STA $0A + INY + INY + LDA [$F4],Y + STA $0C + LDY #$0018 + LDA [$0A],Y + AND #$FFBE + STA [$0A],Y + LDA $F6 + PHA + LDA $F4 + PHA + _HUnlock + PHA + LDA $F6 + PHA + LDA $F4 + PHA + _PrValidate + PLA +L013310 PEA ^L01A458 + PEA L01A458 + _SetCursor + PHA + PHA + LDA $F6 + PHA + LDA $F4 + PHA + LDA #$0000 + PHA + PHA + _PrOpenDoc + CMP #$0000 + BEQ L013345 + PLA + PLA + LDA #$0002 + LDX #$0001 + JSL L017D37 + BRL L0133AD +L013345 LDA $01,S + STA L0133C5 + LDA $03,S + STA L0133C7 + LDA #$0000 + PHA + PHA + _PrOpenPage + PEA ^L019825 + PEA L019825 + PEA ^L01997C + PEA L01997C + LDA #$0000 + PHA + PHA + PEA $0000 + _PPToPort + LDA L0133C7 + PHA + LDA L0133C5 + PHA + _PrClosePage + LDA L0133C7 + PHA + LDA L0133C5 + PHA + _PrCloseDoc + LDA $F6 + PHA + LDA $F4 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _PrPicFile +L0133AD PHA + PEA $000A + PEA $0000 + _FlushEvents + PLA + JSL L010D82 + JSL L018752 + RTS + +L0133C5 DW $0000 +L0133C7 DW $0000 + +L0133C9 JSL L018744 + PHA + PHA + _MaxBlock + PLA + PLA + CMP #$0001 + BCS L0133E8 + LDX #$0002 + LDA #$0201 + JSL L017D37 + RTS + +L0133E8 PHA + _PrChoosePrinter + PLA + LDA $F6 + PHA + LDA $F4 + PHA + _PrDefault + JSL L010D82 + RTS + +L013403 JSL L018744 + PHA + LDA $F6 + PHA + LDA $F4 + PHA + _PrStlDialog + PLA + JSL L010D82 + RTS + +L01341B DW $0000 +L01341D DW $0000 +L01341F DW $0028 ; Alert rect + DW $003C + DW $006E + DW $012C + DW $0001 ; Alert ID + HEX 80 ; First stage byte + HEX 80 ; Second stage byte + HEX 80 ; Third stage byte + HEX 80 ; fourth stage byte + ADRL L013441 ; Ptr to item template + ADRL L013459 ; Ptr to item template + ADRL L013471 ; Ptr to item template + ADRL L013489 ; Ptr to item template + ADRL $00000000 +L013441 DW $0001 ; Item ID + DW $002E ; Item rect + DW $0007 + DW $003C + DW $004D + DW $000A ; Std button + ADRL L01047A ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013459 DW $0002 ; Item ID + DW $002E ; Item rect + DW $0055 + DW $003C + DW $009B + DW $000A ; Std button + ADRL L01047E ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013471 DW $0003 ; Item ID + DW $002E ; Item rect + DW $00A3 + DW $003C + DW $00E9 + DW $000A ; Std button + ADRL L010472 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013489 DW $0004 ; Item ID + DW $0014 ; Item rect + DW $0005 + DW $0022 + DW $00FA + DW $800F ; Static text + ADRL L0105C5 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L0134A1 RTS +L0134A2 RTS + +L0134A3 SEP #$30 + LDX L0106D3 +L0134A8 LDA L0106D3,X + STA L0135ED,X + DEX + BPL L0134A8 + BRA L0134CC +L0134B3 SEP #$30 + LDY L0135ED + LDA L0135ED,Y + INC + STA L0135ED,Y + CMP #$3A + BNE L0134CC + LDA #$30 + STA L0135ED,Y + REP #$30 + BRA L0134E0 +L0134CC REP #$30 + JSL GSOS + DW $0001 ; Create + ADRL L01360C + BCC L0134E0 + CMP #$0047 + BEQ L0134B3 + RTS + +L0134E0 STZ L013622 + STZ L013622+2 + JSL GSOS + DW $0010 ; Open + ADRL L01361C + BCC L0134F5 + BRL L013513 +L0134F5 _HideCursor + LDA L01361C + STA L013626 + JSL GSOS + DW $0013 ; Write + ADRL L013626 + _ShowCursor +L013513 JSL GSOS + DW $0014 ; Close + ADRL L013634 + RTS + +L01351E ENT + PHB + PHK + PLB + LDA L0196C9 + AND #$0100 + BNE L01352C + PLB + CLC + RTL + +L01352C PHA + PEA $002A + _ReadBParam + PLA + CMP #$0008 + BCC L013540 + LDA #$0000 +L013540 ASL + ASL + TAX + LDA L01356D,X + STA $0A + LDA L01356D+2,X + STA $0C + LDY #$0008 +L013550 LDA [$0A],Y + CMP L0196BD + BEQ L013560 + DEY + DEY + DEY + DEY + BPL L013550 + PLB + CLC + RTL + +L013560 INY + INY + LDA [$0A],Y + STA L013567+1 +L013567 JSR $1000 + PLB + SEC + RTL + +L01356D ADRL L01358D + ADRL L013599 + ADRL L0135A5 + ADRL L0135B1 + ADRL L0135BD + ADRL L0135C9 + ADRL L0135D5 + ADRL L0135E1 +L01358D DA $0033 ; DW EVERY 2 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L013599 DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135A5 DA $0033 + DA L0134A3 + DA $0027 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135B1 DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135BD DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135C9 DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135D5 DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135E1 DA $0033 + DA L0134A3 + DA $0024 + DA L0134A1 + DA $0034 + DA L0134A2 +L0135ED DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L01360C ADRL L0135ED ; file name + DW $00C3 ; access + DW $00C1 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 2 ; creation date +L01361C DW $0000 ; ref num + ADRL L0135ED ; path name +L013622 ADRL $00000000 ; reserved +L013626 DW $0000 ; ref num + ADRL $00E12000 ; buffer ptr + ADRL $00008000 ; request count + ADRL $00000000 ; transfer count +L013634 DW $0000 ; ref num +L013636 LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDY #$459C + LDA #$FFFF +L013650 STA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L013650 + LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDY #$459C +L01366F LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L01366F + LDA $66 + STA L013938 + LDA $68 + STA L01393A + LDA $6A + STA L01393C + LDA $6C + STA L01393E + SEC + LDA $6A + SBC $66 + STA L013940 + SEC + LDA $6C + SBC $68 + STA L013942 + SEC + LDA $6A + SBC $66 + LSR + CLC + ADC $66 + STA L01394C + SEC + LDA $6C + SBC $68 + LSR + CLC + ADC $68 + STA L01394E + SEC + LDA $6C + SBC L01394E + PHA + SEC + LDA L01394C + SBC $01,S + STA $01,S + SEC + LDA $66 + SBC L01394C + EOR #$FFFF + INC + PHA + SEC + LDA L01394E + SBC $01,S + STA $68 + PLA + PLA + STA $66 + LDA #$0085 + CMP L013942 + BCS L0136E4 + STA L013942 +L0136E4 LDA #$010C + CMP L013940 + BCS L0136EF + STA L013940 +L0136EF CLC + LDA $66 + ADC L013942 + STA $6A + CLC + LDA $68 + ADC L013940 + STA $6C + LDA $66 + SEC + SBC $56 + BVS L013709 + EOR #$8000 +L013709 BMI L013715 + LDA $56 + STA $66 + CLC + ADC L013942 + STA $6A +L013715 LDA $68 + SEC + SBC $58 + BVS L01371F + EOR #$8000 +L01371F BMI L01372B + LDA $58 + STA $68 + CLC + ADC L013940 + STA $6C +L01372B LDA $6A + SEC + SBC $5A + BEQ L013743 + BVS L013737 + EOR #$8000 +L013737 BPL L013743 + LDA $5A + STA $6A + SEC + SBC L013942 + STA $66 +L013743 LDA $6C + SEC + SBC $5C + BEQ L01375B + BVS L01374F + EOR #$8000 +L01374F BPL L01375B + LDA $5C + STA $6C + SEC + SBC L013940 + STA $68 +L01375B DEC L013940 + DEC L013942 + LDY L013940 +L013764 LDX L013942 +L013767 PHY + PHX + JSR L0138CC + LDA $03,S + TAX + SEC + LDA L013942 + SBC $01,S + TAY + JSR L0138F7 + PLX + PLY + DEX + BPL L013767 + DEY + BPL L013764 + JSR L013896 + JSR L013C57 + JSR L011953 + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + JSR L014117 + JSR L013C4D + LDA #$0009 + STA $46 + LDA $66 + STA L019761 + LDA $68 + STA L019763 + LDA $6A + STA L019765 + LDA $6C + STA L019767 + RTS + +L0137B7 LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDY #$459C +L0137CE LDA [$0E],Y + PHA + LDA [$0A],Y + STA [$0E],Y + PLA + STA [$0A],Y + DEY + DEY + BPL L0137CE + LDA L013938 + STA L013944 + LDA L01393A + STA L013946 + LDA L01393C + STA L013948 + LDA L01393E + STA L01394A + LDA $66 + STA L013938 + LDA $68 + STA L01393A + LDA $6A + STA L01393C + LDA $6C + STA L01393E + LDA L013944 + STA $66 + LDA L013946 + STA $68 + LDA L013948 + STA $6A + LDA L01394A + STA $6C + JSR L013C57 + JSR L011953 + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + JSR L013C4D + RTS + +L013833 LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDY #$459C + LDA #$FFFF +L01384D STA [$0E],Y + DEY + DEY + BPL L01384D + SEC + LDA $6C + SBC $68 + DEC + STA L013942 + SEC + LDA $6A + SBC $66 + DEC + TAY +L013863 LDX L013942 +L013866 PHY + PHX + JSR L0138CC + LDA $03,S + TAY + SEC + LDA L013942 + SBC $01,S + TAX + JSR L0138F7 + PLX + PLY + DEX + BPL L013866 + DEY + BPL L013863 + JSR L013896 + LDA #$0007 + STA $46 + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + RTS + +L013896 LDA L019984 + STA $0A + LDA L019986 + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDY #$459C +L0138AD LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L0138AD + LDA L019984 + STA $0A + LDA L019986 + STA $0C + LDY #$459C + LDA #$0000 +L0138C5 STA [$0A],Y + DEY + DEY + BPL L0138C5 + RTS + +L0138CC TYA + JSR L018607 + CLC + ADC L019998 + STA $0A + LDA L01999A + STA $0C + TXA + LSR + TAY + LDA [$0A],Y + XBA + PHA + TXA + LSR + PLA + BCS L0138EC + AND #$F000 + BRA L0138F3 +L0138EC AND #$0F00 + ASL + ASL + ASL + ASL +L0138F3 STA L013936 + RTS + +L0138F7 TYA + JSR L018607 + CLC + ADC L019984 + STA $0A + LDA L019986 + STA $0C + TXA + LSR + TAY + LDA [$0A],Y + XBA + STA L013934 + PHY + TXA + LSR + BCS L01391F + LDA #$F000 + TRB L013934 + LDA L013936 + BRA L01392C +L01391F LDA #$0F00 + TRB L013934 + LDA L013936 + LSR + LSR + LSR + LSR +L01392C ORA L013934 + PLY + XBA + STA [$0A],Y + RTS + +L013934 DW $0000 +L013936 DW $0000 +L013938 DW $0000 +L01393A DW $0000 +L01393C DW $0000 +L01393E DW $0000 +L013940 DW $0000 +L013942 DW $0000 +L013944 DW $0000 +L013946 DW $0000 +L013948 DW $0000 +L01394A DW $0000 +L01394C DW $0000 +L01394E DW $0000 +L013950 LDA L0196C5 + STA L0139E2 + LDA L0196C7 + STA L0139E4 + PEA ^L0139E2 + PEA L0139E2 + _GlobalToLocal + LDA L0139E2 + STA L0139DE + LDA L0139E4 + STA L0139E0 + RTS + +L013976 JSR L0139CE + SEC + LDA L0196C7 + SBC #$002E + CLC + ADC $58 + CLC + ADC #$0004 + AND #$FFF8 + SEC + SBC $58 + CLC + ADC #$002E + STA L0196C7 + SEC + LDA L0196C5 + SBC #$001C + CLC + ADC $56 + CLC + ADC #$0004 + AND #$FFF8 + SEC + SBC $56 + CLC + ADC #$001C + STA L0196C5 + RTS + +L0139B0 JSR L0139CE + CLC + LDA L0196C7 + ADC #$0004 + AND #$FFF8 + STA L0196C7 + CLC + LDA L0196C5 + ADC #$0004 + AND #$FFF8 + STA L0196C5 + RTS + +L0139CE LDA $4A + BNE L0139D4 + PLA + RTS + +L0139D4 LDA $76 + DEC + ASL + TAX + JMP (L0139E6,X) + +L0139DC PLA +L0139DD RTS + +L0139DE DW $0000 +L0139E0 DW $0000 +L0139E2 DW $0000 +L0139E4 DW $0000 +L0139E6 DA L0139DD + DA L0139DC + DA L0139DC + DA L0139DC + DA L0139DD + DA L0139DD + DA L0139DD + DA L0139DD + DA L0139DC + DA L0139DD + DA L0139DD + DA L0139DD + DA L0139DC + DA L0139DC + DA L0139DC + DA L0139DD + DA L0139DD + DA L0139DD + DA L0139DC + DA L0139DD +L013A0E STZ L019741 + LDA $36 + CMP #$0002 + BNE L013A3D + PEA $0114 + SEC + LDA $5A + SBC $56 + STA L013B91 + SEC + LDA $6C + SBC $68 + CMP L013B91 + BCS L013A36 + _EnableMItem + BRA L013A3D +L013A36 _DisableMItem +L013A3D PEA ^L0196BB + PEA L0196BB + LDA #$0000 + PHA + PHA + _MenuSelect + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA L0196CB + BNE L013A62 + RTS + +L013A62 LDA L0196CB + CMP #$0100 + BCS L013A6E + JSR L011AF0 + RTS + +L013A6E AND #$00FF + ASL + TAX + JSR (L013A85,X) + PEA $0000 + LDA L0196CD + PHA + _HiliteMenu + RTS + +L013A85 DA L011A2C + DA L0122A8 + DA L013D25 + DA L012427 + DA L013DC6 + DA L012A6F + DA L012A83 + DA L013C61 + DA L0133C9 + DA L013403 + DA L0131F1 + DA L013DC6 + DA L013B66 + DA L013B66 + DA L013B66 + DA L013B66 + DA L013B66 + DA L018922 + DA L013833 + DA L01898C + DA L013636 + DA L013B17 + DA L013F7B + DA L013B11 + DA L013B0B + DA L013AD7 + DA L013ADD + DA L013AEF + DA L013AE9 + DA L013AE9 + DA L013B05 + DA L010909 + DA L013AD1 + DA L013AE3 + DA L011B55 + DA L013B2A + DA L013B2A + DA L013B2A +L013AD1 LDA #$0003 + JMP L01080A + +L013AD7 LDA #$0004 + JMP L01080A + +L013ADD LDA #$0005 + JMP L01080A + +L013AE3 LDA #$0007 + JMP L01080A + +L013AE9 LDA #$0008 + JMP L01080A + +L013AEF LDA #$0006 + JSR L01080A + LDA $8E + PHA + LDA $8C + PHA + _SetPort + JMP L014897 + +L013B05 LDA #$0009 + JMP L01080A + +L013B0B LDA #$000A + JMP L01080A + +L013B11 LDA #$000C + JMP L01080A + +L013B17 LDA $4A + EOR #$FFFF + STA $4A + PHA + PEA $0115 + _CheckMItem + RTS + +L013B2A SEC + LDA L0196CB + SBC #$0123 + CMP $7C + BNE L013B36 + RTS + +L013B36 PEA $0000 + CLC + LDA $7C + ADC #$0123 + PHA + _CheckMItem + SEC + LDA L0196CB + SBC #$0123 + STA $7C + LDA $48 + BEQ L013B57 + JSR L015CB0 +L013B57 PEA $0001 + LDA L0196CB + PHA + _CheckMItem + RTS + +L013B66 PHA + SEC + LDA L0196CB + SBC #$010C + INC + PHA + _SystemEdit + PLA + BEQ L013B7B + RTS + +L013B7B SEC + LDA L0196CB + SBC #$010C + ASL + TAX + JMP (L013B87,X) + +L013B87 DA L013B93 + DA L01439B + DA L01439B + DA L014480 + DA L0143F4 +L013B91 DW $0000 +L013B93 LDA $36 + BEQ L013B9B + BMI L013BF1 + BRA L013BA6 +L013B9B LDA $48 + BEQ L013BA2 + JSR L015981 +L013BA2 JMPL L011995 + +L013BA6 LDA $46 + CMP #$0001 + BNE L013BB1 + JMPL L013C12 + +L013BB1 CMP #$0004 + BNE L013BBA + JMPL L018922 + +L013BBA CMP #$0007 + BNE L013BC3 + JMPL L013833 + +L013BC3 CMP #$0008 + BNE L013BCC + JMPL L01898C + +L013BCC CMP #$0009 + BNE L013BD5 + JMPL L0137B7 + +L013BD5 CMP #$000B + BNE L013BDE + JMPL L017BBA + +L013BDE JSR L013C57 + LDA $46 + CMP #$0002 + BEQ L013BED + CMP #$0003 + BNE L013BF0 +L013BED JSR L011953 +L013BF0 RTS + +L013BF1 LDA $46 + CMP #$0002 + BNE L013C01 + JMPL L014480 + + CMP #$0003 + BEQ L013C0E +L013C01 LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F +L013C0E JMPL L013C4D + +L013C12 LDA L019769 + STA L0196C5 + LDA L01976B + STA L0196C7 + LDA $66 + STA L019769 + LDA $68 + STA L01976B + LDA $6A + STA L01976D + LDA $6C + STA L01976F + JSR L01618F + RTS + +L013C36 LDA $3E + BNE L013C4C + LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L013C57 + STZ $36 +L013C4C RTS + +L013C4D LDA #$0001 + JSR L018A48 + JSR L018E07 + RTS + +L013C57 JSR L018E21 + LDA #$0000 + JSR L018A48 + RTS + +L013C61 JSL L018744 + LDA L01050F + STA L01971F + LDA L010511 + STA L019721 + LDA L010513 + STA L019723 + LDA L010515 + STA L019725 + LDA #L010517 + STA L019729 + LDA #^L010517 + STA L019729+2 + PHA + PEA ^L0196CF + PEA L0196CF + PEA $0000 + PEA $0000 + _Alert + JSL L010D82 + PLA + CMP #$0001 + BEQ L013CAA + BRL L013D1E +L013CAA LDA $40 + BNE L013CB1 + BRL L013D1E +L013CB1 PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA $34 + BEQ L013CC5 + JSR L013F7B +L013CC5 LDA L019687 + ASL + TAX + JSR (L013D1F,X) + STZ $3C + STZ $56 + STZ $58 + LDA #$0085 + STA L0199C0 + STA $5A + LDA #$0084 + STA L0199C2 + LDA #$010C + STA $5C + LDA #$0086 + STA L019683 + LDA #$0042 + STA L019681 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA #$0000 + PHA + PHA + _SetOrigin + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + JSR L011953 +L013D1E RTS + +L013D1F DA L0124E0 ; 0 + DA L012836 ; 1 + DA L01274A ; 2 + +L013D25 LDA $3E + BNE L013D37 + LDA #$0104 + STA L0196CB + JSR L013DC6 + LDA $3E + BNE L013D37 + RTS + +L013D37 PEA ^L010676 + PEA L010676 + LDA $92 + PHA + LDA $90 + PHA + _SetWTitle + STZ L0198DF +L013D4D LDA $92 + PHA + LDA $90 + PHA + _ShowWindow + LDA $92 + PHA + LDA $90 + PHA + _SelectWindow + STZ $3E + LDA $92 + PHA + LDA $90 + PHA + _SetPort + PEA $0000 + PEA $0000 + _SetOrigin + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + PEA ^L019825 + PEA L019825 + _SetPort + PEA ^L01997C + PEA L01997C + LDX $74 + JSL L0149AE + PHX + PHA + _FillRect + JSR L011953 + JSR L0118CC + LDA #$0005 + JSR L0190DA + JSL L010D82 + RTS + +L013DC6 JSL L018744 + LDA $3C + BEQ L013DE9 + JSR L013E81 + LDA L013F79 + CMP #$0001 + BNE L013DDF + JSR L012A73 + BCS L013DE9 + RTS + +L013DDF CMP #$0002 + BEQ L013DE9 + JSL L010D82 + RTS + +L013DE9 LDA L0196CB + CMP #$010B + BNE L013DF8 + LDA #$0001 + STA L019747 + RTS + +L013DF8 LDA $34 + BEQ L013DFF + JSR L013F7B +L013DFF LDA $92 + PHA + LDA $90 + PHA + _HideWindow + JSL L018752 + STZ $40 + STZ $3C + LDA #$0001 + STA $3E + LDA #$0001 + STA L019687 + STZ $56 + STZ $58 + LDA #$0085 + STA L0199C0 + STA $5A + LDA #$0084 + STA L0199C2 + LDA #$010C + STA $5C + LDA #$0086 + STA L019683 + LDA #$0042 + STA L019681 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA #$0000 + PHA + PHA + _SetOrigin + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + LDA #$0006 + JSR L0190DA + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + RTS + +L013E81 PHA + PHA + _GetCursorAdr + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + LDA L0104CD + STA L013F63 + LDA L0104CF + STA L013F65 + LDA L0104D1 + STA L013F67 + LDA L0104D3 + STA L013F69 + LDA L0196CB + CMP #$0104 + BEQ L013EC1 + PEA ^L0104C5 + PEA L0104C5 + BRA L013EC7 +L013EC1 PEA ^L010497 + PEA L010497 +L013EC7 LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + _ParamText + PHA + PEA ^L013EF7 + PEA L013EF7 + PEA $0000 + PEA $0000 + _Alert + PLA + STA L013F79 + _SetCursor + RTS + +L013EF7 DW $0028 ; Alert rect + DW $003C + DW $006E + DW $012C + DW $0001 ; Alert ID + HEX 80 ; First stage byte + HEX 80 ; Second stage byte + HEX 80 ; Third stage byte + HEX 80 ; fourth stage byte + ADRL L013F19 ; Ptr to item template + ADRL L013F31 ; Ptr to item template + ADRL L013F49 ; Ptr to item template + ADRL L013F61 ; Ptr to item template + ADRL $00000000 +L013F19 DW $0001 ; Item ID + DW $001E ; Item rect + DW $0014 + DW $002C + DW $005A + DW $000A ; Std button + ADRL L01047A ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013F31 DW $0002 ; Item ID + DW $0032 ; Item rect + DW $0014 + DW $0040 + DW $005A + DW $000A ; Std button + ADRL L01047E ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013F49 DW $0003 ; Item ID + DW $0032 ; Item rect + DW $0096 + DW $0040 + DW $00DC + DW $000A ; Std button + ADRL L010472 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013F61 DW $0004 ; Item ID +L013F63 DW $0000 ; Item rect +L013F65 DW $0000 +L013F67 DW $0000 +L013F69 DW $0000 + DW $800F ; Static text + ADRL L0104D5 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L013F79 DW $0000 +L013F7B JSR L013C36 + JSR L015981 + LDA $34 + BEQ L013F88 + BRL L014091 +L013F88 LDA $3E + BEQ L013F8D + RTS + +L013F8D LDA #$0001 + STA $34 + PHA + PEA $0116 + _CheckMItem + JSR L01192F + LDA L0196C9 + AND #$0400 + STA L019697 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + PEA ^L019749 + PEA L019749 + _GetPortRect + PEA ^L019749 + PEA L019749 + LDA L019697 + BNE L013FDC + PEA ^L0199F4 + PEA L0199F4 + LDA #$000F + STA L014399 + BRA L013FE5 +L013FDC PEA ^L019A14 + PEA L019A14 + STZ L014399 +L013FE5 _FillRect + LDA $56 + STA $5E + LDA $58 + STA $60 + LDA $5A + STA $62 + LDA $5C + STA $64 + LDA #$0016 + STA L0199C0 + LDA #$0014 + STA L0199C2 + SEC + LDA L019681 + SBC #$000C + STA $56 + CLC + ADC #$0016 + STA $5A + SEC + LDA L019683 + SBC #$0016 + STA $58 + CLC + ADC #$002C + STA $5C + LDX #$0000 + LDY #$0000 + JSR L0182E5 + LDA $58 + PHA + LDA $56 + PHA + _SetOrigin + LDA $8E + PHA + LDA $8C + PHA + _SetPort + PEA ^L019E8C + PEA L019E8C + _FrameRect + LDA $92 + PHA + LDA $90 + PHA + _SetPort + PEA $002C + PEA $0016 + _SetPortSize + PEA ^L019749 + PEA L019749 + _GetPortRect + PEA ^L019749 + PEA L019749 + _ClipRect + JSR L011953 + JSR L014117 + RTS + +L014091 STZ $34 + PEA $0000 + PEA $0116 + _CheckMItem + JSR L01192F + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA #$0085 + STA L0199C0 + LDA #$0084 + STA L0199C2 + LDA $5E + STA $56 + LDA $60 + STA $58 + LDA $62 + STA $5A + LDA $64 + STA $5C + LDA $58 + PHA + LDA $56 + PHA + _SetOrigin + PEA $010C + PEA $0085 + _SetPortSize + PEA ^L019749 + PEA L019749 + _GetPortRect + PEA ^L019749 + PEA L019749 + _ClipRect + PEA ^L019749 + PEA L019749 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + JSR L011953 + RTS + +L014117 LDA $34 + BNE L01411C + RTS + +L01411C LDA #$0000 + STA L014393 + LDA #$0015 + STA L014395 + BRA L01413B +L01412A LDA $34 + BNE L01412F + RTS + +L01412F JSR L0142EC + LDA L014393 + CMP #$0016 + BCC L01413B + RTS + +L01413B _HideCursor + LDA L014393 + JSL L0182D0 + STA L014375 + LDA #$0000 + PHA + PHA + PEA $03C0 + LDA L014393 + PHA + _Multiply + PLA + CLC + ADC #$00A1 + STA L014379 + PLX + CLC + ADC #$00A0 + STA L01437B + CLC + ADC #$00A0 + STA L01437D + CLC + ADC #$00A0 + STA L01437F + CLC + ADC #$00A0 + STA L014381 + LDA L014395 + INC + JSL L0182D0 + STA L014377 +L01418F LDX #$000B +L014192 LDY L014375 + CPY #$0280 + BCS L0141D5 + CPX #$000B + BNE L0141D5 + LDX #$0009 + LDA L014375 + CLC + ADC #$0004 + STA L014375 + LDA L014379 + CLC + ADC #$0018 + STA L014379 + CLC + ADC #$00A0 + STA L01437B + CLC + ADC #$00A0 + STA L01437D + CLC + ADC #$00A0 + STA L01437F + CLC + ADC #$00A0 + STA L014381 + LDY L014375 +L0141D5 LDA [$06],Y + INC L014375 + INC L014375 + STA L014397 + AND #$00F0 + STA L014391 + XBA + ORA L014391 + STA L01438F + LSR + LSR + LSR + LSR + ORA L01438F + STA L014383 + LDA L014397 + AND #$000F + XBA + STA L01438F + ASL + ASL + ASL + ASL + PHA + ORA L01438F + ORA L014391 + ORA L014399 + STA L014385 + XBA + AND #$0FFF + ORA $01,S + STA L014387 + PLA + LDA L014397 + AND #$F000 + STA L01438F + XBA + STA L014391 + ORA L01438F + STA L01438F + LSR + LSR + LSR + LSR + ORA L01438F + STA L014389 + LDA L014397 + AND #$0F00 + STA L01438F + ASL + ASL + ASL + ASL + PHA + ORA L01438F + ORA L014391 + ORA L014399 + STA L01438B + XBA + AND #$0FFF + ORA $01,S + STA L01438D + PLA + PHX + LDX #$0000 +L014261 LDA L014383,X + LDY L014379 + STA [$06],Y + INC L014379 + INC L014379 + LDY L01437B + STA [$06],Y + INC L01437B + INC L01437B + LDY L01437D + STA [$06],Y + INC L01437D + INC L01437D + LDY L01437F + STA [$06],Y + INC L01437F + INC L01437F + LDY L014381 + STA [$06],Y + INC L014381 + INC L014381 + INX + INX + CPX #$000C + BNE L014261 + PLX + DEX + BEQ L0142A9 + BRL L014192 +L0142A9 LDA L014375 + CLC + ADC #$008A + STA L014375 + LDA L014379 + CLC + ADC #$033C + STA L014379 + CLC + ADC #$00A0 + STA L01437B + CLC + ADC #$00A0 + STA L01437D + CLC + ADC #$00A0 + STA L01437F + CLC + ADC #$00A0 + STA L014381 + LDA L014375 + CMP L014377 + BCS L0142E4 + BRL L01418F +L0142E4 _ShowCursor + RTS + +L0142EC SEC + TXA + SBC $56 + STA L014393 + SEC + TYA + SBC $56 + STA L014395 + LDA L014393 + SEC + SBC L014395 + BVS L014306 + EOR #$8000 +L014306 BPL L014314 + LDX L014393 + LDA L014395 + STA L014393 + STX L014395 +L014314 CLC + LDA L014395 + ADC L01975F + STA L014395 + LDA L014393 + SEC + SBC #$0000 + BVS L01432A + EOR #$8000 +L01432A BMI L014331 + STZ L014393 + BRA L014345 +L014331 LDA L014393 + SEC + SBC #$0016 + BVS L01433D + EOR #$8000 +L01433D BPL L014345 + LDA #$0015 + STA L014393 +L014345 LDA L014395 + SEC + SBC #$0000 + BVS L014351 + EOR #$8000 +L014351 BMI L014358 + STZ L014395 + BRA L01436C +L014358 LDA L014395 + SEC + SBC #$0016 + BVS L014364 + EOR #$8000 +L014364 BPL L01436C + LDA #$0015 + STA L014395 +L01436C RTS + +L01436D ENT + PHB + PHK + PLB + JSR L013F7B + PLB + RTL + +L014375 DW $0000 +L014377 DW $0000 +L014379 DW $0000 +L01437B DW $0000 +L01437D DW $0000 +L01437F DW $0000 +L014381 DW $0000 +L014383 DW $0000 +L014385 DW $0000 +L014387 DW $0000 +L014389 DW $0000 +L01438B DW $0000 +L01438D DW $0000 +L01438F DW $0000 +L014391 DW $0000 +L014393 DW $0000 +L014395 DW $0000 +L014397 DW $0000 +L014399 DW $0000 +L01439B PHA + PHA + SEC + LDA $6C + SBC $68 + STA L0147AB + DEC + LSR + AND #$FFFE + INC + INC + STA L0147AD + PHA + SEC + LDA $6A + SBC $66 + STA L0147A9 + PHA + _Multiply + PLA + STA L0147A5 + PLA + STA L0147A5+2 + JSR L014403 + BCC L0143D8 + LDX #$0002 + JSL L017D37 + JSR L01618F + RTS + +L0143D8 LDA $36 + STA $D0 + LDA #$0001 + STA $42 + PEA $010F + _EnableMItem + LDA L0196CB + CMP #$010D + BEQ L0143F4 + RTS + +L0143F4 LDA #$0003 + STA $46 + JSR L013C57 + JSR L011953 + JSR L014117 + RTS + +L014403 LDA L0147A5 + CMP $D8 + BNE L014411 + LDA L0147A5+2 + CMP $DA + BEQ L014429 +L014411 LDA L0147A5+2 + PHA + LDA L0147A5 + PHA + LDA $CE + PHA + LDA $CC + PHA + _SetHandleSize + BCC L014429 + RTS + +L014429 LDA L0147A5 + STA $D8 + LDA L0147A5+2 + STA $DA + LDA L0147AB + STA $D6 + LDA L0147A9 + STA $D4 + LDA L0147AD + STA $D2 + LDA $CE + PHA + LDA $CC + PHA + _HLock + LDA [$CC] + STA $0E + LDY #$0002 + LDA [$CC],Y + STA $10 + LDA L01999E + STA $0A + LDA L0199A0 + STA $0C + LDA #$0086 + STA L0147A1 + LDA $D2 + STA L0147A3 + JSR L01477E + LDA $CE + PHA + LDA $CC + PHA + _HUnlock + RTS + +L014480 LDA $42 + BNE L014485 + RTS + +L014485 LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L013C36 + JSR L015981 + JSR L01192F + JSR L0118CC + LDA $34 + BEQ L0144B3 + LDA $D4 + CMP #$0017 + BCS L0144B0 + LDA $D6 + CMP #$002D + BCC L0144B3 +L0144B0 JSR L013F7B +L0144B3 SEC + LDA L0199C0 + SBC $D4 + LSR + CLC + ADC $56 + STA $66 + LDA $4A + BEQ L0144C8 + LDA #$0007 + TRB $66 +L0144C8 CLC + LDA $66 + ADC $D4 + STA $6A + LDA L0199C2 + INC + INC + ASL + SEC + SBC $D6 + LSR + CLC + ADC $58 + STA $68 + LDA $4A + BEQ L0144E7 + LDA #$0007 + TRB $68 +L0144E7 CLC + LDA $68 + ADC $D6 + STA $6C + LDA $66 + SEC + SBC $56 + BVS L0144F8 + EOR #$8000 +L0144F8 BMI L014503 + LDA $56 + STA $66 + CLC + ADC $D4 + STA $6A +L014503 LDA $68 + SEC + SBC $58 + BVS L01450D + EOR #$8000 +L01450D BMI L014518 + LDA $58 + STA $68 + CLC + ADC $D6 + STA $6C +L014518 LDA $6A + SEC + SBC $5A + BEQ L01452F + BVS L014524 + EOR #$8000 +L014524 BPL L01452F + LDA $5A + STA $6A + SEC + SBC $D4 + STA $66 +L01452F LDA $6C + SEC + SBC $5C + BEQ L014546 + BVS L01453B + EOR #$8000 +L01453B BPL L014546 + LDA $5C + STA $6C + SEC + SBC $D6 + STA $68 +L014546 LDA $66 + STA L019761 + LDA $68 + STA L019763 + LDA $6A + STA L019765 + LDA $6C + STA L019767 + LDA $D0 + STA $36 + LDA #$0002 + STA $46 + LDA L019998 + STA L01999E + LDA L01999A + STA L0199A0 + LDA L019984 + STA L01998A + LDA L019986 + STA L01998C + LDA L0199AC + STA L0199B2 + LDA L0199AE + STA L0199B4 + LDA $CE + PHA + LDA $CC + PHA + _HLock + LDA $CC + STA $0E + LDA $CE + STA $10 + LDA [$0E] + STA $0A + LDY #$0002 + LDA [$0E],Y + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDA $D2 + STA L0147A1 + LDA #$0086 + STA L0147A3 + JSR L01477E + LDA $CE + PHA + LDA $CC + PHA + _HUnlock + LDA $D0 + CMP #$0002 + BNE L0145F8 + LDA L019984 + STA $12 + LDA L019986 + STA $14 + LDA #$0000 + LDY #$459C +L0145E3 STA [$12],Y + DEY + DEY + BPL L0145E3 + JSR L018DDB + LDA #$0003 + JSR L0190DA + LDY #$000B + BRL L01472B +L0145F8 LDA L019984 + STA $12 + LDA L019986 + STA $14 + LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA #$FFFF + LDY #$459C +L014612 STA [$12],Y + STA [$0A],Y + DEY + DEY + BPL L014612 + LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDA $74 + CMP #$0001 + BNE L014644 + LDA #$0086 + STA L0147A1 + STA L0147A3 + JSR L01477E + BRL L0146DE +L014644 LDA $74 + DEC + EOR #$000F + STA L0147B7 + XBA + STA L0147BB + LSR + LSR + LSR + LSR + STA L0147B9 + XBA + STA L0147BD + LDA L0147B7 + ORA L0147B9 + ORA L0147BB + ORA L0147BD + STA L0147BF + LDX $D4 +L01466D LDY $D6 +L01466F LDA #$FFFF + STA L0147C3 + LDA [$0A],Y + STA L0147C1 + CMP L0147BF + BNE L014681 + BRA L0146C2 +L014681 AND #$000F + CMP L0147B7 + BEQ L01468F + LDA #$000F + TRB L0147C3 +L01468F LDA L0147C1 + AND #$00F0 + CMP L0147B9 + BEQ L0146A0 + LDA #$00F0 + TRB L0147C3 +L0146A0 LDA L0147C1 + AND #$0F00 + CMP L0147BB + BEQ L0146B1 + LDA #$0F00 + TRB L0147C3 +L0146B1 LDA L0147C1 + AND #$F000 + CMP L0147BD + BEQ L0146C2 + LDA #$F000 + TRB L0147C3 +L0146C2 LDA L0147C3 + STA [$0E],Y + DEY + DEY + BPL L01466F + CLC + LDA $0E + ADC #$0086 + STA $0E + CLC + LDA $0A + ADC #$0086 + STA $0A + DEX + BNE L01466D +L0146DE STZ L0147AF + STZ L0147B1 + LDA $D4 + STA L0147B3 + LDA $D6 + DEC + AND #$FFFC + CLC + ADC #$0004 + STA L0147B5 + PEA ^L019988 + PEA L019988 + PEA ^L0147AF + PEA L0147AF + PEA ^L019A14 + PEA L019A14 + PEA $000F + JSR L016906 + LDA L019986 + PHA + LDA L019984 + PHA + PEA ^L0147AF + PEA L0147AF + JSR L019480 + JSR L018EF6 + LDA #$0001 + JSR L0190DA + LDY #$0001 +L01472B JSR L016313 + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + RTS + +L01473C LDA #$010E + STA L0196CB + JSR L01439B + LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L013C57 + JSR L01192F + JSR L0118CC + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + PLA + STA L0196C5 + PLA + STA L0196C7 + JSR L013C4D + STZ $4C + RTS + +L01477E LDX $D4 +L014780 LDA $D2 + DEC + DEC + TAY +L014785 LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L014785 + CLC + LDA $0A + ADC L0147A1 + STA $0A + CLC + LDA $0E + ADC L0147A3 + STA $0E + DEX + BNE L014780 + RTS + +L0147A1 DW $0000 +L0147A3 DW $0000 +L0147A5 ADRL $00000000 +L0147A9 DW $0000 +L0147AB DW $0000 +L0147AD DW $0000 +L0147AF DW $0000 +L0147B1 DW $0000 +L0147B3 DW $0000 +L0147B5 DW $0000 +L0147B7 DW $0000 +L0147B9 DW $0000 +L0147BB DW $0000 +L0147BD DW $0000 +L0147BF DW $0000 +L0147C1 DW $0000 +L0147C3 DW $0000 +L0147C5 LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSL L014903 + BCS L0147DB + BRL L0148ED +L0147DB LDA L0196C9 + AND #$0100 + BEQ L01480D + STZ L019741 + STX $72 + JSR L01172C + JSR L011884 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $72 + DEC + EOR #$000F + PHA + _SetForeColor + JSR L015CB0 + RTS + +L01480D LDA L0196C9 + AND #$0800 + BEQ L014825 + STZ L019741 + CPX #$0011 + BCS L014822 + STX $74 + JSR L011884 +L014822 BRL L0148ED +L014825 STX $70 + LDA L019741 + BNE L01482F + BRL L0148B6 +L01482F STZ L019741 + LDA $70 + CMP #$0011 + BCS L01486A + PEA $FFFF + PEA $0005 + _HiliteMenu + LDA #$0003 + JSR L01080A + PEA $0000 + PEA $0005 + _HiliteMenu + LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L0117DA + RTS + +L01486A PEA $FFFF + PEA $0004 + _HiliteMenu + LDA #$0006 + JSR L01080A + PEA $0000 + PEA $0004 + _HiliteMenu + LDA $8E + PHA + LDA $8C + PHA + _SetPort +L014897 LDX $70 + PEA ^L0148FB + PEA L0148FB + JSL L01493B + PEA ^L0148FB + PEA L0148FB + JSL L0149A7 + PHX + PHA + _FillRect +L0148B6 JSR L011884 + PEA $011F + LDY $70 + CPY #$0011 + BCS L0148CC + _EnableMItem + BRA L0148D3 +L0148CC _DisableMItem +L0148D3 PEA $011B + LDY $70 + CPY #$0011 + BCS L0148E6 + _DisableMItem + BRA L0148ED +L0148E6 _EnableMItem +L0148ED LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + +L0148FB DW $0000 + DW $0000 + DW $0000 + DW $0000 +L014903 ENT + PHB + PHK + PLB + LDX #$0001 +L014909 PHX + PEA ^L0148FB + PEA L0148FB + JSL L01493B + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0148FB + PEA L0148FB + _PtInRect + PLA + BNE L014937 + PLX + INX + CPX #$0021 + BNE L014909 + PLB + CLC + RTL + +L014937 PLX + PLB + SEC + RTL + +L01493B ENT + PHB + PHK + PLB + LDA #$0000 + CPX #$0011 + BCC L01494F + TXA + SEC + SBC #$0010 + TAX + LDA #$000F +L01494F CLC + ADC #$00A5 + STA L01499F + CLC + ADC #$000E + STA L0149A3 + LDA #$003C +L014960 CLC + ADC #$000F + DEX + BNE L014960 + STA L0149A1 + CLC + ADC #$000E + STA L0149A5 + LDA $06,S + PHA + PLB + PLB + LDY #$0000 + LDAL L01499F + STA ($05,S),Y + INY + INY + LDAL L0149A1 + STA ($05,S),Y + INY + INY + LDAL L0149A3 + STA ($05,S),Y + INY + INY + LDAL L0149A5 + STA ($05,S),Y + PLX + PLY + PLA + PLA + PHY + PHX + PLB + RTL + +L01499F DW $0000 +L0149A1 DW $0000 +L0149A3 DW $0000 +L0149A5 DW $0000 +L0149A7 ENT + PHB + PHK + PLB + LDX $70 + BRA L0149B1 +L0149AE ENT + PHB + PHK + PLB +L0149B1 TXA + DEC + ASL + ASL + ASL + ASL + ASL + CLC + ADC #L019A74 + PHA + LDA #^L019A74 + ADC #$0000 + TAX + PLA + PLB + RTL + +L0149C7 STZ L019741 + LDA $8E + PHA + LDA $8C + PHA + _SetPort + LDY #$0000 + LDA L0196C5 +L0149DD CMP L014A0E,Y + BCC L0149EB + CPY #$0006 + BEQ L014A00 + INY + INY + BRA L0149DD +L0149EB TYA + LSR + PHA + LDA $6E + CMP $01,S + BNE L0149F7 + PLA + BRA L014A00 +L0149F7 JSR L011773 + PLA + STA $6E + JSR L011773 +L014A00 LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + +L014A0E DW $00A1 + DW $00AC + DW $00B8 + DW $00C4 +L014A16 JSR L01192F + PHA + PHA + _NewRgn + PLA + STA L014FF5 + PLA + STA L014FF7 + _OpenRgn + _PenNormal + _ShowPen + LDA #$0001 + STA L01975F + JSR L018126 + JSL L0181CE + JSR L018168 + LDX L0196C7 + STX $68 + STX $6C + STX L014FC1 + STX L014FBD + LDA L0196C5 + STA L014FBB + STA L014FBF + STA $66 + STA $6A + PHA + PHX + PHA + PHX + PHA + _MoveTo + _LineTo + PLX + TXY + JSR L01412A +L014A81 LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L014A93 + BRL L014AFE +L014A93 PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + JSR L018168 + LDA L0196C7 + CMP L014FBD + BNE L014AB7 + LDA L0196C5 + CMP L014FBB + BEQ L014A81 +L014AB7 LDA L014FBB + PHA + LDA L0196C7 + PHA + STA L014FBD + LDA L0196C5 + PHA + STA L014FBB + _LineTo + PLX + LDY L014FBB + JSR L01412A + LDA L014FBD + CMP $68 + BCS L014AE0 + STA $68 +L014AE0 LDA L014FBB + CMP $66 + BCS L014AE9 + STA $66 +L014AE9 LDA L014FBD + CMP $6C + BCC L014AF2 + STA $6C +L014AF2 LDA L014FBB + CMP $6A + BCC L014AFB + STA $6A +L014AFB BRL L014A81 +L014AFE LDA L014FC1 + PHA + LDA L014FBF + PHA + _LineTo + _HidePen + LDA L014FF7 + PHA + LDA L014FF5 + PHA + _CloseRgn + SEC + LDA $6A + SBC $66 + CMP #$0002 + BCS L014B3E + SEC + LDA $6C + SBC $68 + CMP #$0002 + BCS L014B3E +L014B37 JSR L011953 + JSR L014117 + RTS + +L014B3E PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA $74 + DEC + EOR #$000F + STA L014FCF + XBA + STA L014FD3 + LSR + LSR + LSR + LSR + STA L014FD1 + XBA + STA L014FD5 + LDA L014FCF + ORA L014FD1 + STA L014FCD + ORA L014FD3 + ORA L014FD5 + STA L014FCB + LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDY #$459C + LDA L014FCB +L014B85 STA [$0A],Y + DEY + DEY + BPL L014B85 + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDA L0199AC + STA $12 + LDA L0199AE + STA $14 + LDY #$459C + LDA #$FFFF +L014BA5 STA [$0E],Y + STA [$12],Y + DEY + DEY + BPL L014BA5 + LDA $66 + STA L019749 + LDA $68 + STA L01974B + LDA $6A + STA L01974D + LDA $6C + STA L01974F + INC $6A + INC $6C + LDA L014FF7 + PHA + LDA L014FF5 + PHA + PEA ^L019749 + PEA L019749 + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + _MapRgn + LDA $A4 + STA $0A + LDA $A6 + STA $0C + LDA #$F0F0 + JSR L014F72 + LDA #$0F0F + JSR L014F72 + STZ $38 + STZ L014FDB + STZ L014FDD + SEC + LDA $6A + SBC $66 + STA L014FDF + SEC + LDA $6C + SBC $68 + STA L014FE1 + JSR L011953 + JSR L014117 + PEA ^L019825 + PEA L019825 + _SetPort + LDA L014FF7 + PHA + LDA L014FF5 + PHA + LDX $74 + JSL L0149AE + PHX + PHA + _FillRgn + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA L019998 + STA L01999E + LDA L01999A + STA L0199A0 + LDA L019984 + STA L01998A + LDA L019986 + STA L01998C + LDA L014FF7 + PHA + LDA L014FF5 + PHA + LDA $68 + DEC + EOR #$FFFF + PHA + LDA $66 + DEC + EOR #$FFFF + PHA + _OffsetRgn + CLC + TDC + ADC #$0066 + STA L014FEB + LDA $90 + STA L014FE3 + LDA $92 + STA L014FE5 + _HideCursor + PEA ^L014FE3 + PEA L014FE3 + _PaintPixels + _ShowCursor + LDA L014FF7 + PHA + LDA L014FF5 + PHA + _DisposeRgn + LDA L014FE1 + AND #$FFFC + LSR + DEC + DEC + STA L014FC5 + LDA L019998 + STA $12 + LDA L01999A + STA $14 + LDX #$0000 +L014CD0 LDY L014FC5 +L014CD3 LDA [$12],Y + CMP L014FCB + BNE L014CEF + DEY + DEY + BPL L014CD3 + CLC + LDA $12 + ADC #$0086 + STA $12 + INX + CPX L014FDF + BNE L014CD0 + BRL L014F62 +L014CEF STX L014FC7 + PHA + PHA + PHX + LDA #$0086 + PHA + _Multiply + CLC + LDA $01,S + ADC L019984 + STA L01998A + LDA L019986 + STA L01998C + CLC + LDA $01,S + ADC L0199AC + STA L0199B2 + LDA L0199AE + STA L0199B4 + PLA + CLC + ADC L019998 + STA L01999E + PLA + LDA L01999A + STA L0199A0 + CLC + LDA $66 + ADC L014FC7 + STA $66 + PHA + PHA + LDA L014FDF + DEC + PHA + LDA #$0086 + PHA + _Multiply + PLA + CLC + ADC L019998 + STA $12 + PLA + LDA L01999A + STA $14 + LDX L014FDF + DEX +L014D58 LDY L014FC5 +L014D5B LDA [$12],Y + CMP L014FCB + BNE L014D74 + DEY + DEY + BPL L014D5B + SEC + LDA $12 + SBC #$0086 + STA $12 + DEX + BPL L014D58 + BRL L014F62 +L014D74 INX + SEC + TXA + SBC L014FC7 + STA L014FC3 + CLC + ADC $66 + STA $6A + LDA L014FE1 + CMP #$010C + BNE L014D8D + BRL L014E1F +L014D8D LDY #$0000 +L014D90 LDA L01999E + STA $12 + LDA L0199A0 + STA $14 + LDX L014FC3 +L014D9D LDA [$12],Y + AND #$00FF + CMP L014FCD + BNE L014DB5 + CLC + LDA $12 + ADC #$0086 + STA $12 + DEX + BPL L014D9D + INY + BRA L014D90 +L014DB5 TYA + ASL + STA L014FC9 + CLC + TYA + ADC L01999E + STA L01999E + CLC + TYA + ADC L01998A + STA L01998A + CLC + TYA + ADC L0199B2 + STA L0199B2 + CLC + LDA $68 + ADC L014FC9 + STA $68 + STZ L014FB9 + LDA L014FE1 + ROR + BCC L014DE9 + LDA #$0001 + STA L014FB9 +L014DE9 SEC + LDA L014FE1 + SBC L014FC9 + LSR + TAY +L014DF2 LDA L01999E + STA $12 + LDA L0199A0 + STA $14 + LDX L014FC3 +L014DFF LDA [$12],Y + AND #$00FF + CMP L014FCD + BNE L014E17 + CLC + LDA $12 + ADC #$0086 + STA $12 + DEX + BPL L014DFF + DEY + BRA L014DF2 +L014E17 TYA + INC + ASL + CLC + ADC $68 + STA $6C +L014E1F LDA $66 + STA L019761 + LDA $68 + STA L019763 + LDA $6A + STA L019765 + LDA $6C + STA L019767 + CLC + LDA $66 + ADC $6A + LSR + STA L019681 + CLC + LDA $68 + ADC $6C + LSR + STA L019683 + LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDA $74 + CMP #$0001 + BEQ L014ED7 + LDX L0199C0 +L014E63 LDY L0199C2 +L014E66 LDA #$FFFF + STA L014FD9 + LDA [$0A],Y + STA L014FD7 + CMP L014FCB + BNE L014E78 + BRA L014EB9 +L014E78 AND #$000F + CMP L014FCF + BEQ L014E86 + LDA #$000F + TRB L014FD9 +L014E86 LDA L014FD7 + AND #$00F0 + CMP L014FD1 + BEQ L014E97 + LDA #$00F0 + TRB L014FD9 +L014E97 LDA L014FD7 + AND #$0F00 + CMP L014FD3 + BEQ L014EA8 + LDA #$0F00 + TRB L014FD9 +L014EA8 LDA L014FD7 + AND #$F000 + CMP L014FD5 + BEQ L014EB9 + LDA #$F000 + TRB L014FD9 +L014EB9 LDA L014FD9 + STA [$0E],Y + DEY + DEY + BPL L014E66 + CLC + LDA $0E + ADC #$0086 + STA $0E + CLC + LDA $0A + ADC #$0086 + STA $0A + DEX + BNE L014E63 + BRA L014EF8 +L014ED7 LDX L0199C0 +L014EDA LDY L0199C2 +L014EDD LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L014EDD + CLC + LDA $0E + ADC #$0086 + STA $0E + CLC + LDA $0A + ADC #$0086 + STA $0A + DEX + BNE L014EDA +L014EF8 LDA L01998C + PHA + LDA L01998A + PHA + LDA L019984 + STA L01998A + LDA L019986 + STA L01998C + LDA L014FE1 + DEC + AND #$FFFC + CLC + ADC #$0004 + STA L014FE1 + PEA ^L019988 + PEA L019988 + PEA ^L014FDB + PEA L014FDB + PEA ^L019A14 + PEA L019A14 + PEA $000F + JSR L016906 + PLA + STA L01998A + PLA + STA L01998C + BCC L014F3F + JMP L014B37 + +L014F3F LDA L019986 + PHA + LDA L019984 + PHA + PEA ^L014FDB + PEA L014FDB + JSR L019480 + LDA #$0001 + STA $36 + STZ $46 + STZ $44 + LDA #$0001 + JSR L0190DA + JSR L018EF6 +L014F62 LDA L019EDC+2 + PHA + LDA L019EDC + PHA + _SetCursor + RTS + +L014F72 LDY #$0084 +L014F75 STA [$0A],Y + DEY + DEY + BPL L014F75 + CLC + LDA $0A + ADC #$0086 + STA $0A + RTS + + LDA L019984 + STA $0E + LDA L019986 + STA $10 + LDA $06 + STA $0A + LDA $08 + STA $0C + LDX #$0085 +L014F99 LDY #$0084 +L014F9C LDA [$0E],Y + STA [$0A],Y + DEY + DEY + BPL L014F9C + CLC + LDA $0E + ADC #$0086 + STA $0E + CLC + LDA $0A + ADC #$00A0 + STA $0A + DEX + BNE L014F99 + BRK $FF + +L014FB9 DW $0000 +L014FBB DW $0000 +L014FBD DW $0000 +L014FBF DW $0000 +L014FC1 DW $0000 +L014FC3 DW $0000 +L014FC5 DW $0000 +L014FC7 DW $0000 +L014FC9 DW $0000 +L014FCB DW $0000 +L014FCD DW $0000 +L014FCF DW $0000 +L014FD1 DW $0000 +L014FD3 DW $0000 +L014FD5 DW $0000 +L014FD7 DW $0000 +L014FD9 DW $0000 +L014FDB DW $0000 +L014FDD DW $0000 +L014FDF DW $0000 +L014FE1 DW $0000 +L014FE3 DW $0000 +L014FE5 DW $0000 + ADRL L01999C +L014FEB DW $0000 + DW $0000 + ADRL L014FDB + DW $0000 +L014FF5 DW $0000 +L014FF7 DW $0000 +L014FF9 STZ L019741 + JSR L015476 + LDA L0196C9 + AND #$0200 + STA $50 + STZ L0154E3 + LDA #$002E + STA L0154E3+$28 + LDA L0199C2 + INC + INC + ASL + ADC L0154E3+$28 + STA L0154E3+$2C + LDA #$001C + STA L0154E3+$26 + CLC + ADC L0199C0 + STA L0154E3+$2A + SEC + LDA $5C + SBC $58 + LSR + CLC + ADC $58 + STA L0154E3+$30 + SEC + LDA $5A + SBC $56 + LSR + CLC + ADC $56 + STA L0154E3+$2E + LDA $5A + STA L0154E3+$32 + LDA L0199C0 + LSR + CLC + ADC L0154E3+$30 + STA L0154E3+$34 + LDA $56 + STA L0154E3+$36 + LDA L0154E3+$34 + SEC + SBC L0199C0 + STA L0154E3+$38 + JSL L0181CE + LDA L0196C7 + STA L0154E3+8 + STA L0154E3+$C + LDA L0196C5 + STA L0154E3+6 + STA L0154E3+$A + JSR L0151E8 + BRA L01508A +L01507B JSR L0150F9 + LDA L0196C7 + STA L0154E3+8 + LDA L0196C5 + STA L0154E3+6 +L01508A LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L01509A + RTS + +L01509A PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + LDA L0196C7 + CMP L0154E3+8 + BNE L0150BB + LDA L0196C5 + CMP L0154E3+6 + BEQ L01508A +L0150BB LDA $50 + BEQ L01507B + SEC + LDA L0196C7 + SBC L0154E3+8 + PHA + SEC + LDA L0196C5 + SBC L0154E3+6 + PHA + LDA L0154E3+8 + PHA + LDA L0154E3+6 + PHA + LDA L0154E3 + PHA + JSL L01855E + PLA + PLA + LDA #$0001 + STA L0154E3 + LDA L0196C7 + CMP L0154E3+8 + BNE L01507B + LDA L0196C5 + CMP L0154E3+6 + BEQ L01508A + BRA L01507B +L0150F9 LDA L0154E3+6 + STA L0154E3+$A + LDA L0154E3+8 + STA L0154E3+$C + LDA #$0001 + STA L0154E3+$1A + STA L0154E3+$18 + SEC + LDA L0196C7 + SBC L0154E3+8 + STA L0154E3+$10 + BEQ L01512B + BPL L01512E + LDA #$FFFF + STA L0154E3+$1A + EOR L0154E3+$10 + INC + STA L0154E3+$10 + BRA L01512E +L01512B STZ L0154E3+$1A +L01512E SEC + LDA L0196C5 + SBC L0154E3+6 + STA L0154E3+$E + BEQ L01514B + BPL L01514E + LDA #$FFFF + STA L0154E3+$18 + EOR L0154E3+$E + INC + STA L0154E3+$E + BRA L01514E +L01514B STZ L0154E3+$18 +L01514E STZ L0154E3+$1C + LDA L0154E3+$10 + CMP L0154E3+$E + BCS L01516D + LDA L0154E3+$10 + PHA + LDA L0154E3+$E + STA L0154E3+$10 + PLA + STA L0154E3+$E + LDA #$0001 + STA L0154E3+$1C +L01516D LDA L0154E3+$10 + ASL + STA L0154E3+$14 + LDA L0154E3+$E + ASL + STA L0154E3+$12 + SEC + LDA L0154E3+$12 + SBC L0154E3+$10 + STA L0154E3+$16 + LDX #$0001 +L015188 PHX + JSR L0151E8 +L01518C LDA L0154E3+$16 + ASL + BCS L0151B9 + LDA L0154E3+$1C + BEQ L0151A3 + CLC + LDA L0154E3+$C + ADC L0154E3+$1A + STA L0154E3+$C + BRA L0151AD +L0151A3 CLC + LDA L0154E3+$A + ADC L0154E3+$18 + STA L0154E3+$A +L0151AD SEC + LDA L0154E3+$16 + SBC L0154E3+$14 + STA L0154E3+$16 + BRA L01518C +L0151B9 LDA L0154E3+$1C + BEQ L0151CA + CLC + LDA L0154E3+$A + ADC L0154E3+$18 + STA L0154E3+$A + BRA L0151D4 +L0151CA CLC + LDA L0154E3+$C + ADC L0154E3+$1A + STA L0154E3+$C +L0151D4 CLC + LDA L0154E3+$16 + ADC L0154E3+$12 + STA L0154E3+$16 + PLX + INX + CPX L0154E3+$10 + BEQ L015188 + BCC L015188 + RTS + +L0151E8 LDA L0154E3+$A + STA L0154E3+2 + LDA L0154E3+$C + STA L0154E3+4 + JSR L015328 + LDA $8A + ASL + TAX + JMP (L01563F,X) +L0151FE RTS + +L0151FF BRL L015283 +L015202 BRL L0152A2 +L015205 JSR L015283 + JSR L0152A2 + BRL L0152C1 +L01520E BRL L015232 +L015211 BRL L01524A +L015214 JSR L015232 + JSR L01524A + BRL L015262 +L01521D JSR L015232 + JSR L01524A + JSR L015262 + JSR L015283 + JSR L0152A2 + JSR L0152E0 + BRL L015304 +L015232 SEC + LDA L0154E3+$30 + SBC L0154E3+$C + ASL + CLC + ADC L0154E3+$C + STA L0154E3+4 + LDA L0154E3+$A + STA L0154E3+2 + BRL L015328 +L01524A SEC + LDA L0154E3+$2E + SBC L0154E3+$A + ASL + CLC + ADC L0154E3+$A + STA L0154E3+2 + LDA L0154E3+$C + STA L0154E3+4 + BRL L015328 +L015262 SEC + LDA L0154E3+$30 + SBC L0154E3+$C + ASL + CLC + ADC L0154E3+$C + STA L0154E3+4 + SEC + LDA L0154E3+$2E + SBC L0154E3+$A + ASL + CLC + ADC L0154E3+$A + STA L0154E3+2 + BRL L015328 +L015283 SEC + LDA L0154E3+$C + SBC L0154E3+$38 + CLC + ADC L0154E3+$36 + STA L0154E3+2 + SEC + LDA L0154E3+$A + SBC L0154E3+$36 + CLC + ADC L0154E3+$38 + STA L0154E3+4 + BRL L015328 +L0152A2 SEC + LDA L0154E3+$32 + SBC L0154E3+$C + CLC + ADC L0154E3+$38 + STA L0154E3+2 + SEC + LDA L0154E3+$34 + SBC L0154E3+$A + CLC + ADC L0154E3+$36 + STA L0154E3+4 + BRL L015328 +L0152C1 SEC + LDA L0154E3+$34 + SBC L0154E3+$C + CLC + ADC L0154E3+$38 + STA L0154E3+4 + SEC + LDA L0154E3+$32 + SBC L0154E3+$A + CLC + ADC L0154E3+$36 + STA L0154E3+2 + BRL L015328 +L0152E0 LDA L0154E3+$30 + ASL + SEC + SBC L0154E3+$A + CLC + ADC L0154E3+$36 + SEC + SBC L0154E3+$38 + STA L0154E3+4 + SEC + LDA L0154E3+$C + SBC L0154E3+$38 + CLC + ADC L0154E3+$36 + STA L0154E3+2 + BRL L015328 +L015304 LDA L0154E3+$30 + ASL + SEC + SBC L0154E3+$34 + CLC + ADC L0154E3+$A + SEC + SBC L0154E3+$36 + STA L0154E3+4 + LDA L0154E3+$32 + SEC + SBC L0154E3+$C + CLC + ADC L0154E3+$38 + STA L0154E3+2 + BRL L015328 +L015328 LDA L0154E3+4 + AND #$0001 + BEQ L015333 + DEC L0154E3+4 +L015333 ASL + ASL + TAX + LDA L01551F,X + STA $0E + LDA L01551F+2,X + STA $10 + SEC + LDA L0154E3+4 + SBC $58 + CLC + ADC #$002E + STA L0154E3+$20 + BPL L015352 + STZ L0154E3+$20 +L015352 CLC + ADC #$0010 + STA L0154E3+$24 + BPL L01535E + STZ L0154E3+$24 +L01535E SEC + LDA L0154E3+2 + SBC $56 + CLC + ADC #$001C + STA L0154E3+$1E + BPL L015370 + STZ L0154E3+$1E +L015370 CLC + ADC #$0008 + STA L0154E3+$22 + BPL L01537C + STZ L0154E3+$22 +L01537C LDA L0154E3+2 + AND #$0007 + ASL + TAX + LDA L0154E3+4 + LSR + AND #$0003 + CLC + ADC L01562F,X + CLC + ADC $A4 + STA $0A + LDA $A6 + STA $0C + LDA L0154E3+$1E + JSL L0182D0 + CLC + ADC #$2000 + STA $12 + LDA L0154E3+$20 + LSR + CLC + ADC $12 + STA $12 + LDA #$00E1 + STA $14 + LDA #L015527 + STA $28 + LDA #^L015527 + STA $2A + LDA L0154E3+$20 + CMP L0154E3+$28 + BCS L0153E7 + LDX #$0078 + SEC + LDA L0154E3+$28 + SBC L0154E3+$20 + CMP #$0010 + BCS L0153D9 + DEC + ASL + ASL + ASL + TAX +L0153D9 TXA + CLC + ADC #L01552F + STA $28 + LDA #^L01552F + STA $2A + BRA L01540F +L0153E7 LDA L0154E3+$2C + CMP L0154E3+$24 + BCS L01540F + LDX #$0078 + SEC + LDA L0154E3+$24 + SBC L0154E3+$2C + CMP #$0010 + BCS L015403 + DEC + ASL + ASL + ASL + TAX +L015403 TXA + CLC + ADC #L0155AF + STA $28 + LDA #^L0155AF + STA $2A +L01540F _HideCursor + LDX L0154E3+$1E +L015419 CPX L0154E3+$26 + BCC L015444 + CPX L0154E3+$2A + BCS L015444 + LDY #$0000 +L015426 LDA [$0E],Y + AND [$28],Y + STA L0154E3+$3A + AND [$0A],Y + PHA + LDA L0154E3+$3A + EOR #$FFFF + AND [$12],Y + ORA $01,S + STA [$12],Y + PLA + INY + INY + CPY #$0008 + BCC L015426 +L015444 CLC + LDA $12 + ADC #$00A0 + STA $12 + CLC + LDA $0A + ADC #$000C + STA $0A + CLC + LDA $0E + ADC #$0008 + STA $0E + INX + CPX L0154E3+$22 + BCC L015419 + _ShowCursor + LDX L0154E3+2 + TXA + CLC + ADC #$0008 + TAY + JSR L01412A + RTS + +L015476 JSL L0149A7 + STA $0A + STX $0C + LDA $A4 + STA $0E + CLC + ADC #$0004 + STA $12 + CLC + ADC #$0004 + STA $28 + LDA $A6 + STA $10 + STA $14 + STA $2A + LDX #$0008 +L015499 LDY #$0002 +L01549C LDA [$0A],Y + STA [$0E],Y + STA [$12],Y + STA [$28],Y + DEY + DEY + BPL L01549C + CLC + LDA $0A + ADC #$0004 + STA $0A + CLC + LDA $0E + ADC #$000C + STA $0E + CLC + ADC #$0004 + STA $12 + CLC + ADC #$0004 + STA $28 + DEX + BNE L015499 + LDA $A4 + STA $0A + CLC + ADC #$0060 + STA $0E + LDA $A6 + STA $0C + STA $10 + LDY #$005E +L0154DA LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L0154DA + RTS + +L0154E3 DW $0000 +L0154E5 DW $0000 +L0154E7 DW $0000 +L0154E9 DW $0000 +L0154EB DW $0000 +L0154ED DW $0000 +L0154EF DW $0000 +L0154F1 DW $0000 +L0154F3 DW $0000 +L0154F5 DW $0000 +L0154F7 DW $0000 +L0154F9 DW $0000 +L0154FB DW $0000 +L0154FD DW $0000 +L0154FF DW $0000 +L015501 DW $0000 +L015503 DW $0000 +L015505 DW $0000 +L015507 DW $0000 +L015509 DW $0000 +L01550B DW $0000 +L01550D DW $0000 +L01550F DW $0000 +L015511 DW $0000 +L015513 DW $0000 +L015515 DW $0000 +L015517 DW $0000 +L015519 DW $0000 +L01551B DW $0000 +L01551D DW $0000 +L01551F ADRL L019F6C + ADRL L019FAC +L015527 HEX FFFFFFFFFFFFFFFF +L01552F HEX 0FFFFFFFFFFFFFFF + HEX 00FFFFFFFFFFFFFF + HEX 000FFFFFFFFFFFFF + HEX 0000FFFFFFFFFFFF + HEX 00000FFFFFFFFFFF + HEX 000000FFFFFFFFFF + HEX 0000000FFFFFFFFF + HEX 00000000FFFFFFFF + HEX 000000000FFFFFFF + HEX 0000000000FFFFFF + HEX 00000000000FFFFF + HEX 000000000000FFFF + HEX 0000000000000FFF + HEX 00000000000000FF + HEX 000000000000000F + HEX 0000000000000000 +L0155AF HEX FFFFFFFFFFFFFFF0 + HEX FFFFFFFFFFFFFF00 + HEX FFFFFFFFFFFFF000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFF00000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFF00000000 + HEX FFFFFFF000000000 + HEX FFFFFF0000000000 + HEX FFFFF00000000000 + HEX FFFF000000000000 + HEX FFF0000000000000 + HEX FF00000000000000 + HEX F000000000000000 + HEX 0000000000000000 +L01562F DW $0000 + DW $000C + DW $0018 + DW $0024 + DW $0030 + DW $003C + DW $0048 + DW $0054 +L01563F DA L0151FE + DA L0151FF + DA L01520E + DA L01521D + DA L015202 + DA L015205 + DA L01521D + DA L01521D + DA L015211 + DA L01521D + DA L015214 + DA L01521D + DA L01521D + DA L01521D + DA L01521D + DA L01521D +L01565F LDA L0196C9 + AND #$0100 + BEQ L01567F + LDA $34 + BNE L01567B + LDA L0196C5 + STA L019681 + LDA L0196C7 + STA L019683 + JMPL L013F7B +L01567B JMPL L013F7B + +L01567F LDA L0196C9 + AND #$0200 + STA $50 + STZ L0158B5 + _PenNormal + LDA #$0001 + STA L01975F + LDA L0196C7 + PHA + LDA L0196C5 + PHA + JSL L0181CE + _HideCursor + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + _GetPixel + PLA + EOR #$000F + INC + CMP $70 + BEQ L0156C8 + JSR L017ECF + BRA L0156D7 +L0156C8 LDX $74 + JSL L0149AE + PHX + PHA + _SetPenPat +L0156D7 PLA + STA L0196C5 + PLA + STA L0196C7 + _ShowCursor + BRL L015803 +L0156E9 LDA L0196C9 + AND #$0200 + STA $50 + STZ L0158B5 + PEA $0000 + _SetPenMode + LDX $74 + JSL L0149AE + PHX + PHA + _SetPenPat + LDA $34 + BEQ L01571A + LDA #$0003 + PHA + LDA #$0002 + BRA L015720 +L01571A PEA $000C + LDA #$000A +L015720 STA L01975F + PHA + _SetPenSize + BRL L015803 +L01572E STZ $50 + STZ L0158B5 + PEA $0000 + _SetPenMode + JSR L017EDD + JSR L017EED + JSR L015803 + LDA L0158BD + PHA + LDA L0158BB + PHA + _LineTo + JSR L014117 + RTS + +L015759 STZ $50 + STZ L0158B5 + PEA $0000 + _SetPenMode + JSR L017EDD + JSR L017EED + PHA + PHA + _OpenPoly + PLA + STA L0157FF + PLA + STA L0157FF+2 + _ShowPen + JSR L015803 + LDA L0158BD + PHA + LDA L0158BB + PHA + _LineTo + _HidePen + _ClosePoly + PHA + PHA + _GetCursorAdr + PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L0157FF+2 + PHA + LDA L0157FF + PHA + LDX $70 + JSL L0149AE + PHX + PHA + _FillPoly + JSR L017EDD + LDA L0157FF+2 + PHA + LDA L0157FF + PHA + _FramePoly + JSR L014117 + LDA L0157FF+2 + PHA + LDA L0157FF + PHA + _KillPoly + _SetCursor + RTS + +L0157FF ADRL $00000000 +L015803 JSR L018126 + JSL L0181CE + LDA L0196C5 + STA L0158B7 + STA L0158BB + LDA L0196C7 + STA L0158B9 + STA L0158BD +L01581C LDA L0158B9 + PHA + LDA L0158B7 + PHA + _MoveTo + LDA L0196C7 + PHA + LDA L0196C5 + PHA + _LineTo + LDX L0158B7 + LDY L0196C5 + JSR L01412A + LDA L0196C5 + STA L0158B7 + LDA L0196C7 + STA L0158B9 +L01584F LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L01585F + RTS + +L01585F PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + JSR L018168 + JSR L0139B0 + LDA L0196C7 + CMP L0158B9 + BNE L015886 + LDA L0196C5 + CMP L0158B7 + BEQ L01584F +L015886 LDA $50 + BEQ L01581C + SEC + LDA L0196C7 + SBC L0158B9 + PHA + SEC + LDA L0196C5 + SBC L0158B7 + PHA + LDA L0158B9 + PHA + LDA L0158B7 + PHA + LDA L0158B5 + PHA + JSL L01855E + PLA + PLA + LDA #$0001 + STA L0158B5 + BRL L01581C +L0158B5 DW $0000 +L0158B7 DW $0000 +L0158B9 DW $0000 +L0158BB DW $0000 +L0158BD DW $0000 +L0158BF LDA $48 + BEQ L0158C6 + JSR L015981 +L0158C6 LDA $72 + DEC + EOR #$000F + PHA + _SetForeColor + JSL L0181CE + STZ L015EAA + LDA L0196C7 + STA L015E94 + STA L015E98 + STA L015F22 + PHA + LDA L0196C5 + STA L015E92 + STA L015E96 + PHA + SEC + SBC L0196B3 + SEC + SBC L0196B9 + STA L015F20 + _MoveTo + LDA L0196AD + STA L015EEC + PHA + PHA + _GetVisHandle + PLA + STA L015EDC + PLA + STA L015EDE + PHA + PHA + _GetClipHandle + PLA + STA L015EC0 + PLA + STA L015EC2 + LDA $90 + STA L015ECE + LDA $92 + STA L015ED0 + LDA $90 + STA L015EB2 + LDA $92 + STA L015EB4 +L015940 STZ L015EC8 + LDA #$0001 + STA $48 + STA L015EAC + JSR L01192F + PEA $0000 + PEA $0000 + _GetCaretTime + PLA + STA L019743 + PLA + STA L019745 + JSR L015DCC + LDA $2C + STA $30 + LDA $2E + STA $32 + STZ L015E8C + LDA #$0100 + STA L015E8E + STZ L015E90 + STZ L015EA6 + STZ L015EA8 + RTS + +L015981 LDA $48 + BEQ L0159B6 + STZ $48 + JSR L015E54 + LDA L0199CE + PHA + LDA L0199CC + PHA + _HUnlock + LDA L015E8E + CMP #$0100 + BEQ L0159B6 + PEA $0000 + PEA $0100 + LDA L0199CE + PHA + LDA L0199CC + PHA + _SetHandleSize +L0159B6 RTS + +L0159B7 LDA L0196AD + STA L015EEC + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA L0196BD + JSR L017C7F + CMP #$007F + BNE L0159D8 + BRL L015B2A +L0159D8 LDY L015E8C + CPY L015E8E + BEQ L015A1D + BCC L015A1D + PHA + PHY + LDA L0199CE + PHA + LDA L0199CC + PHA + _HUnlock + CLC + LDA L015E8E + ADC #$0100 + STA L015E8E + LDA L015E90 + PHA + LDA L015E8E + PHA + LDA L0199CE + PHA + LDA L0199CC + PHA + _SetHandleSize + BCC L015A18 + BRK $EA +L015A18 JSR L015DCC + PLY + PLA +L015A1D SEP #$20 + STA [$2C],Y + REP #$20 + INC L015E8C + INC L015EA8 + CMP #$000D + BNE L015A31 + BRL L015ACE +L015A31 PHA + JSR L015E54 + LDA $01,S + PHA + PHA + _CharWidth + PLA + CLC + ADC L015EA6 + STA L015EA6 + LDA $7C + BNE L015A56 + _DrawChar + BRL L015A81 +L015A56 CMP #$0001 + BNE L015A63 + LDA L015EA6 + LSR + STA $01,S + BRA L015A68 +L015A63 LDA L015EA6 + STA $01,S +L015A68 SEC + LDA L015E94 + SBC $01,S + STA $01,S + STA L015E98 + LDA L015E96 + PHA + _MoveTo + JSR L015A88 +L015A81 JSR L015E6D + JSR L01412A + RTS + +L015A88 LDA $32 + PHA + LDA $30 + PHA + LDA L015EA8 + PHA + PEA ^L015E9C + PEA L015E9C + _TextBounds + LDA L015E98 + STA L015E9E + CLC + ADC L015EA6 + STA L015EA2 + JSR L015DF2 + PEA ^L015EAE + PEA L015EAE + _PaintPixels + LDA $32 + PHA + LDA $30 + PHA + LDA L015EA8 + PHA + _DrawText + RTS + +L015ACE LDA L0196C9 + AND #$2000 + BNE L015B04 + CLC + LDA $30 + ADC L015EA8 + STA $30 + STZ L015EA8 + STZ L015EA6 + STZ L015EAC + LDA L015E94 + STA L015E98 + PHA + CLC + LDA L015E96 + ADC L0196AD + STA L015E96 + PHA + _MoveTo + JSR L015E6D + RTS + +L015B04 JSR L015981 + JSR L0118CC + PEA ^L015E96 + PEA L015E96 + _GetPen + SEC + LDA L015E98 + SBC L015E94 + STA L015EAA + LDA L015E96 + STA L015E92 + JMP L015940 + +L015B2A LDY L015E8C + DEY + BPL L015B31 + RTS + +L015B31 SEP #$20 + LDA [$2C],Y + REP #$20 + AND #$00FF + STA L015EA4 + CMP #$000D + BNE L015B45 + BRL L015C1E +L015B45 LDA $32 + PHA + LDA $30 + PHA + LDA L015EA8 + PHA + PEA ^L015E9C + PEA L015E9C + _TextBounds + LDA L015E98 + STA L015E9E + CLC + ADC L015EA6 + STA L015EA2 + JSR L015DF2 + DEC L015E8C + DEC L015EA8 + PEA $0000 + LDA L015EA4 + PHA + _CharWidth + PLA + EOR #$FFFF + INC + STA L015E9A + CLC + LDA L015EA6 + ADC L015E9A + STA L015EA6 + LDA $7C + BEQ L015BE1 + CMP #$0001 + BNE L015BA2 + LDA L015EA6 + LSR + PHA + BRA L015BA6 +L015BA2 LDA L015EA6 + PHA +L015BA6 SEC + LDA L015E94 + SBC $01,S + STA $01,S + STA L015E98 + LDA L015E96 + PHA + _MoveTo + JSR L015E54 + PEA ^L015EAE + PEA L015EAE + _PaintPixels + LDA $32 + PHA + LDA $30 + PHA + LDA L015EA8 + PHA + _DrawText + JSR L015E6D + RTS + +L015BE1 LDA L015E9A + PHA + PEA $0000 + _Move + LDA L015EA4 + PHA + PEA ^L015E9C + PEA L015E9C + _CharBounds + JSR L015E54 + PEA ^L015EAE + PEA L015EAE + _PaintPixels + JSR L015E54 + CLC + LDA L015F22 + ADC L015E9A + STA L015F22 + RTS + +L015C1E DEC L015E8C + DEC $30 + STZ L015EA6 + STZ L015EA8 +L015C29 DEY + PHY + BPL L015C35 + LDA #$0001 + STA L015EAC + BRA L015C5C +L015C35 SEP #$20 + LDA [$2C],Y + REP #$20 + AND #$00FF + CMP #$000D + BEQ L015C5C + PHA + PHA + _CharWidth + PLA + CLC + ADC L015EA6 + STA L015EA6 + INC L015EA8 + DEC $30 + PLY + BRA L015C29 +L015C5C PLY + LDA L015EA6 + PHA + LDX $7C + BEQ L015C76 + CPX #$0001 + BEQ L015C71 + LDA #$0000 + STA $01,S + BRA L015C76 +L015C71 LDA $01,S + LSR + STA $01,S +L015C76 SEC + LDA L015E94 + SBC $01,S + STA L015E98 + CLC + LDA L015E94 + ADC $01,S + STA $01,S + SEC + LDA L015E96 + SBC L0196AD + STA L015E96 + PHA + _MoveTo + LDA L015EAC + BEQ L015CAC + LDA L015EAA + PHA + PEA $0000 + _Move +L015CAC JSR L015E6D + RTS + +L015CB0 LDA $48 + BNE L015CB5 + RTS + +L015CB5 LDA #$0001 + STA L015EAC + JSR L015E54 + LDA L0196AD + STA L015EEC + LDA L015E94 + PHA + LDA L015E92 + PHA + _MoveTo + LDA L015EAA + PHA + PEA $0000 + _Move + JSR L011953 + LDA $2C + STA $0A + LDA $2E + STA $0C + LDY #$0000 + PHY + LDA L015E92 + STA L015E96 + LDA L015E94 + STA L015E98 +L015CFC PLY + CPY L015E8C + BNE L015D05 + BRL L015DA5 +L015D05 JSR L015DA9 + PHY + CPX #$0000 + BNE L015D11 + BRL L015DA5 +L015D11 PHX + LDA $7C + BEQ L015D5C + PHA + LDA $0C + PHA + LDA $0A + PHA + PHX + SEC + LDA $01,S + SBC L015EC4 + STA $01,S + _TextWidth + LDA $7C + CMP #$0002 + BEQ L015D44 + LDA L015EAC + BEQ L015D41 + SEC + LDA $01,S + SBC L015EAA + STA $01,S +L015D41 PLA + LSR + PHA +L015D44 SEC + LDA L015E94 + SBC $01,S + STA $01,S + STA L015E98 + LDA L015E96 + PHA + _MoveTo + PLX + PHX +L015D5C LDA $0C + PHA + LDA $0A + PHA + PHX + SEC + LDA $01,S + SBC L015EC4 + STA $01,S + _DrawText + STZ L015EAC + CLC + LDA $0A + ADC $01,S + STA $0A + PLX + LDA L015EC4 + BNE L015D85 + BRL L015CFC +L015D85 CLC + LDA L015E96 + ADC L0196AD + STA L015E96 + LDA $7C + BNE L015DA2 + LDA L015E98 + PHA + LDA L015E96 + PHA + _MoveTo +L015DA2 BRL L015CFC +L015DA5 JSR L015E6D + RTS + +L015DA9 STZ L015EC4 + LDX #$0000 +L015DAF SEP #$20 + LDA [$2C],Y + REP #$20 + AND #$00FF + INX + INY + CMP #$000D + BNE L015DC6 + LDA #$0001 + STA L015EC4 + RTS + +L015DC6 CPY L015E8C + BCC L015DAF + RTS + +L015DCC LDA L0199CE + PHA + LDA L0199CC + PHA + _HLock + LDA L0199CC + STA $2C + LDA L0199CE + STA $2E + LDA [$2C] + TAX + LDY #$0002 + LDA [$2C],Y + STA $2E + STX $2C + RTS + +L015DF2 LDA L015E9C + BPL L015DFA + STZ L015E9C +L015DFA LDA L015E9E + BPL L015E02 + STZ L015E9E +L015E02 LDA L015EA0 + CMP $F0 + BEQ L015E10 + BCC L015E10 + LDA $F0 + STA L015EA0 +L015E10 LDA L015EA2 + CMP #$0140 + BEQ L015E20 + BCC L015E20 + LDA #$0140 + STA L015EA2 +L015E20 RTS + +L015E21 SEC + LDA L0196C1 + SBC L015EC6 + CMP L019743 + BCC L015E53 + LDA L0196C1 + STA L015EC6 + PEA ^L015ECA + PEA L015ECA + _PaintPixels + JSR L014117 + LDA L015EC8 + BEQ L015E4D + STZ L015EC8 + BRA L015E53 +L015E4D LDA #$0001 + STA L015EC8 +L015E53 RTS + +L015E54 LDA L015EC8 + BEQ L015E6C + STZ L015EC8 + PEA ^L015ECA + PEA L015ECA + _PaintPixels + JSR L014117 +L015E6C RTS + +L015E6D JSR L015E54 + PEA ^L015F20 + PEA L015F20 + _GetPen + SEC + LDA L015F20 + SBC L0196B3 + SEC + SBC L0196B9 + STA L015F20 + RTS + +L015E8C DB $00 + DB $00 +L015E8E DB $00 + DB $00 +L015E90 DB $00 + DB $00 +L015E92 DB $00 + DB $00 +L015E94 DB $00 + DB $00 +L015E96 DB $00 + DB $00 +L015E98 DB $00 + DB $00 +L015E9A DB $00 + DB $00 +L015E9C DB $00 + DB $00 +L015E9E DB $00 + DB $00 +L015EA0 DB $00 + DB $00 +L015EA2 DB $00 + DB $00 +L015EA4 DB $00 + DB $00 +L015EA6 DB $00 + DB $00 +L015EA8 DB $00 + DB $00 +L015EAA DB $00 + DB $00 +L015EAC DB $00 + DB $00 +L015EAE ADRL L019974 +L015EB2 DW $0000 +L015EB4 DW $0000 + ADRL L015E9C + ADRL L015E9C + DW $0000 +L015EC0 DW $0000 +L015EC2 DW $0000 +L015EC4 DW $0000 +L015EC6 DW $0000 +L015EC8 DW $0000 +L015ECA ADRL L015EE0 +L015ECE DW $0000 +L015ED0 DW $0000 + ADRL L015EE8 + ADRL L015F20 + DW $0002 +L015EDC DW $0000 +L015EDE DW $0000 +L015EE0 DW $0000 + ADRL L015EF0 + DW $0001 +L015EE8 DW $0000 + DW $0000 +L015EEC DW $0008 + DW $0001 +L015EF0 HEX F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 + HEX F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 + HEX F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0F0 +L015F20 DW $0000 +L015F22 DW $0000 +L015F24 JSR L01192F + JSL L0181CE + LDA #$0000 + PHA + LDA L0196C9 + AND #$0200 + PHA + PEA $0001 + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + JSR L017F84 + SEC + LDA $6A + SBC $66 + CMP #$0002 + BCS L015F79 + SEC + LDA $6C + SBC $68 + CMP #$0002 + BCS L015F79 + STZ $36 + LDA #$0004 + JSR L0190DA + RTS + +L015F79 LDA L019998 + STA $0A + LDA L01999A + STA $0C + LDY #$459C + LDA #$FFFF +L015F89 STA [$0A],Y + DEY + DEY + BPL L015F89 + LDA L019984 + STA $0A + LDA L019986 + STA $0C + LDY #$459C + LDA #$0000 +L015F9F STA [$0A],Y + DEY + DEY + BPL L015F9F + LDA #$0002 + STA $36 + STZ $46 + STZ $44 + LDA #$0003 + JSR L0190DA + CLC + LDA $66 + ADC $6A + LSR + STA L019681 + CLC + LDA $68 + ADC $6C + LSR + STA L019683 + PHA + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _EqualRect + PLA + STA $38 + LDA L019998 + STA L01999E + LDA L01999A + STA L0199A0 + LDA L019984 + STA L01998A + LDA L019986 + STA L01998C + STZ L01608B + STZ L01608D + SEC + LDA $6A + SBC $66 + STA L01608F + SEC + LDA $6C + SBC $68 + STA L016091 + CLC + TDC + ADC #$0066 + STA L01609B + LDA $90 + STA L016093 + LDA $92 + STA L016095 + _HideCursor + JSR L018E21 + PEA ^L016093 + PEA L016093 + _PaintPixels + JSR L018E07 + _ShowCursor + PEA ^L019825 + PEA L019825 + _SetPort + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + LDX $74 + JSL L0149AE + PHX + PHA + _FillRect + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $66 + STA L019761 + LDA $68 + STA L019763 + LDA $6A + STA L019765 + LDA $6C + STA L019767 + RTS + +L01608B DW $0000 +L01608D DW $0000 +L01608F DW $0000 +L016091 DW $0000 +L016093 DW $0000 +L016095 DW $0000 + ADRL L01999C +L01609B DW $0000 + DW $0000 + ADRL L01608B + DW $0000 + DW $0000 + DW $0000 +L0160A9 JSL L0181CE + LDA L0196C9 + AND #$0800 + STA $4C + BEQ L0160BC + JSR L01473C + BRA L0160CA +L0160BC LDA L0196C9 + AND #$0100 + STA $4E + BEQ L0160CA + JMPL L017876 + +L0160CA LDA L0196C9 + AND #$0200 + STA $50 + LDA L0196C7 + STA L0162B0 + LDA L0196C5 + STA L0162AE + STZ L0162B2 + LDA L019761 + STA L019769 + LDA L019763 + STA L01976B + LDA L019765 + STA L01976D + LDA L019767 + STA L01976F +L0160F9 LDA L0196C5 + STA L0162AA + LDA L0196C7 + STA L0162AC + LDA #$0000 + PHA + PHA + _StillDown + PLA + BEQ L01617C + PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + JSR L0139B0 + SEC + LDA L0196C7 + SBC L0162AC + STA L0162A8 + SEC + LDA L0196C5 + SBC L0162AA + STA L0162A6 + BNE L016143 + LDA L0162A8 + BEQ L0160F9 +L016143 LDA $38 + BNE L0160F9 + LDA $50 + BEQ L01616B + LDA L0162A8 + PHA + LDA L0162A6 + PHA + LDA L0162AC + PHA + LDA L0162AA + PHA + LDA L0162B2 + PHA + JSL L01855E + PLA + STA L0162A6 + PLA + STA L0162A8 +L01616B JSR L01619F + LDA #$0001 + STA L0162B2 + LDA #$0001 + STA $46 + BRL L0160F9 +L01617C CLC + LDA $66 + ADC $6A + LSR + STA L019681 + CLC + LDA $68 + ADC $6C + LSR + STA L019683 + RTS + +L01618F LDA $66 + STA L0162AE + LDA $68 + STA L0162B0 + STZ L0162A8 + STZ L0162A6 +L01619F LDA $66 + STA L01629E + LDA $68 + STA L0162A0 + LDA $6A + STA L0162A2 + LDA $6C + STA L0162A4 + LDA L0162A8 + PHA + LDA L0162A6 + PHA + LDA L0162B0 + PHA + LDA L0162AE + PHA + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + JSL L0183EE + PLA + STA L0162AE + PLA + STA L0162B0 + PLA + STA L0162A6 + PLA + STA L0162A8 + LDA $66 + CMP L01629E + BCS L0161F3 + STA L01629E +L0161F3 LDA $68 + CMP L0162A0 + BCS L0161FD + STA L0162A0 +L0161FD LDA $6A + CMP L0162A2 + BCC L016207 + STA L0162A2 +L016207 LDA $6C + CMP L0162A4 + BCC L016211 + STA L0162A4 +L016211 SEC + LDA L0162A0 + SBC $58 + AND #$FFFC + LSR + STA L0162A0 + SEC + LDA L0162A4 + DEC + SBC $58 + AND #$FFFC + LSR + INC + INC + STA L0162A4 + LDA L01629E + JSL L0182D0 + CLC + ADC L019976 + STA $0A + LDA L019978 + STA $0C + LDA $58 + LSR + CLC + ADC $0A + STA $0A + SEC + LDA L01629E + SBC $56 + JSL L0182D0 + CLC + ADC #$3197 + STA $0E + LDA #$00E1 + STA $10 + LDA L01999E + STA $12 + LDA L0199A0 + STA $14 + LDA L01998A + STA $28 + LDA L01998C + STA $2A + LDA L0162A0 + PHA + LDA L01629E + PHA + LDA L0162A4 + PHA + LDA L0162A2 + PHA + PEA $FFFF + PEA $FFFF + JSR L018B29 + LDA $36 + CMP #$0002 + BNE L016294 + JSR L018E2E +L016294 LDX L01629E + LDY L0162A2 + JSR L01412A + RTS + +L01629E DW $0000 +L0162A0 DW $0000 +L0162A2 DW $0000 +L0162A4 DW $0000 +L0162A6 DW $0000 +L0162A8 DW $0000 +L0162AA DW $0000 +L0162AC DW $0000 +L0162AE DW $0000 +L0162B0 DW $0000 +L0162B2 DW $0000 +L0162B4 JSR L013C36 + JSR L015981 + LDA $8E + PHA + LDA $8C + PHA + _SetPort + LDY #$0001 + LDA #L0163D4 + STA L016380 + LDA #^L0163D4 + STA L016382 +L0162D6 PHY + CLC + LDA L016380 + ADC #$0008 + STA L016380 + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + LDA L016382 + PHA + LDA L016380 + PHA + _PtInRect + PLA + BNE L016305 + PLY + INY + CPY #$0015 + BNE L0162D6 + BRA L01634F +L016305 PLY + CPY L01969D + BNE L016322 + LDA L019741 + BEQ L01634F + JMP L0187F8 + +L016313 PHY + LDA $8E + PHA + LDA $8C + PHA + _SetPort + PLY +L016322 PHY + JSR L01635D + LDA $76 + STA $78 + PLY + STY $76 + STY L01969D + JSR L01635D +L016333 LDA $76 + CMP #$0004 + BNE L01633F + JSL L016FC2 + RTS + +L01633F DEC + ASL + ASL + TAY + LDA L016384,Y + STA L019EDC + LDA L016384+2,Y + STA L019EDC+2 +L01634F LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + +L01635D LDA L01969D + ASL + ASL + ASL + CLC + ADC #L0163D4 + STA L016380 + LDA #^L0163D4 + STA L016382 + LDA L016382 + PHA + LDA L016380 + PHA + _InvertRect + RTS + +L016380 DW $0000 +L016382 DW $0000 +L016384 ADRL L01A198 + ADRL L01A500 + ADRL L01A0F0 + ADRL $00000000 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A320 + ADRL L01A37C + ADRL L019FEC + ADRL L01A3CC + ADRL L01A048 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 + ADRL L01A268 +L0163D4 DW $0010 + DW $0005 + DW $0010 + DW $0005 + DW $0010 + DW $0005 + DW $001C + DW $0016 + DW $001D + DW $0005 + DW $0029 + DW $0016 + DW $002A + DW $0005 + DW $0036 + DW $0016 + DW $0037 + DW $0005 + DW $0043 + DW $0016 + DW $0044 + DW $0005 + DW $0050 + DW $0016 + DW $0051 + DW $0005 + DW $005D + DW $0016 + DW $005E + DW $0005 + DW $006A + DW $0016 + DW $006B + DW $0005 + DW $0077 + DW $0016 + DW $0078 + DW $0005 + DW $0084 + DW $0016 + DW $0085 + DW $0005 + DW $0091 + DW $0016 + DW $0010 + DW $0017 + DW $001C + DW $0028 + DW $001D + DW $0017 + DW $0029 + DW $0028 + DW $002A + DW $0017 + DW $0036 + DW $0028 + DW $0037 + DW $0017 + DW $0043 + DW $0028 + DW $0044 + DW $0017 + DW $0050 + DW $0028 + DW $0051 + DW $0017 + DW $005D + DW $0028 + DW $005E + DW $0017 + DW $006A + DW $0028 + DW $006B + DW $0017 + DW $0077 + DW $0028 + DW $0078 + DW $0017 + DW $0084 + DW $0028 + DW $0085 + DW $0017 + DW $0091 + DW $0028 +L01647C STZ L019741 + LDA $3E + BEQ L016484 + RTS + +L016484 LDA $34 + BEQ L0164A3 + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L019E7C + PEA L019E7C + _PtInRect + PLA + BEQ L0164A3 + JSR L013F7B + RTS + +L0164A3 LDA $76 + CMP #$0002 + BEQ L0164AF + LDA #$0001 + STA $3C +L0164AF LDA $92 + PHA + LDA $90 + PHA + _SetPort + PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + LDA $36 + BEQ L0164D7 + BMI L0164D7 + LDA $44 + BEQ L0164D7 + JMPL L0160A9 + +L0164D7 JSR L013C36 + JSR L015981 + JSR L0118CC + LDA $34 + BNE L0164F0 + LDA L0196C5 + STA L019681 + LDA L0196C7 + STA L019683 +L0164F0 LDA $76 + DEC + ASL + TAX + JSR (L0164F9,X) + RTS + +L0164F9 DA L014A16 + DA L0167C4 + DA L01688D + DA L014FF9 + DA L01666C + DA L016522 + DA L016522 + DA L016522 + DA L01572E + DA L0174FD + DA L015F24 + DA L0158BF + DA L01744A + DA L01565F + DA L0156E9 + DA L016582 + DA L016582 + DA L016582 + DA L015759 + DA L01755F + RTS + +L016522 PEA $0002 + _SetPenMode + JSR L0182C2 + JSL L0181CE + SEC + LDA $76 + SBC #$0006 + PHA + LDA L0196C9 + AND #$0200 + PHA + PEA $0000 + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + JSR L017F84 + JSR L017EED + PEA $0000 + _SetPenMode + LDA #$0006 + JSR L016620 + LDX $66 + LDY $6A + JSR L01412A + RTS + +L016582 PEA $0002 + _SetPenMode + JSR L0182C2 + JSL L0181CE + SEC + LDA $76 + SBC #$0010 + PHA + LDA L0196C9 + AND #$0200 + PHA + PEA $0000 + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + JSR L017F84 + JSR L017EED + PEA $0000 + _SetPenMode + JSR L017ECF + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + SEC + LDA $76 + SBC #$0010 + ASL + TAX + JMP (L016660,X) + +L0165EB _PaintRect + BRA L016612 +L0165F4 SEC + LDA $6C + SBC $68 + LSR + PHA + SEC + LDA $6A + SBC $66 + LSR + PHA + _PaintRRect + BRA L016612 +L01660B _PaintOval +L016612 LDA #$0010 + JSR L016620 + LDX $66 + LDY $6A + JSR L01412A + RTS + +L016620 PHA + JSR L017EDD + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + SEC + LDA $76 + SBC $05,S + ASL + TAX + JMP (L016666,X) + +L016637 _FrameRect + BRA L01665E +L016640 SEC + LDA $6C + SBC $68 + LSR + PHA + SEC + LDA $6A + SBC $66 + LSR + PHA + _FrameRRect + BRA L01665E +L016657 _FrameOval +L01665E PLA + RTS + +L016660 DA L0165EB + DA L0165F4 + DA L01660B +L016666 DA L016637 + DA L016640 + DA L016657 +L01666C LDA L0196C9 + AND #$0200 + STA L0167B8 + JSR L017EED + JSL L0181CE + LDA L0196C5 + STA L0167B0 + LDA L0196C7 + STA L0167B2 + LDA L0196C5 + STA L0167B4 + LDA L0196C7 + STA L0167B6 + PEA $0002 + _SetPenMode + JSR L0182C2 + JSR L018126 + JSR L016714 +L0166A7 LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L0166D2 + PEA $0000 + _SetPenMode + LDX $72 + JSL L0149AE + PHX + PHA + _SetPenPat + BRL L016714 +L0166D2 PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + JSR L018168 + JSR L0139B0 + JSR L01673C + LDA L0196C7 + CMP L0167B6 + BNE L0166FF + LDA L0196C5 + CMP L0167B4 + BNE L0166FF + BRL L0166A7 +L0166FF JSR L016714 + LDA L0196C7 + STA L0167B6 + LDA L0196C5 + STA L0167B4 + JSR L016714 + BRL L0166A7 +L016714 LDA L0167B2 + PHA + LDA L0167B0 + PHA + _MoveTo + LDA L0167B6 + PHA + LDA L0167B4 + PHA + _LineTo + LDX L0167B0 + LDY L0167B4 + JSR L01412A + RTS + +L01673C LDA L0167B8 + BNE L016742 + RTS + +L016742 SEC + LDA L0167B2 + SBC L0196C7 + BNE L01674E + BRL L0167A9 +L01674E BPL L016754 + EOR #$FFFF + INC +L016754 STA L0167BC + LSR + STA L0167C0 + SEC + LDA L0167B0 + SBC L0196C5 + STA L0167C2 + BNE L01676A + BRL L016789 +L01676A BPL L016770 + EOR #$FFFF + INC +L016770 STA L0167BA + LSR + STA L0167BE + LDA L0167BA + CMP L0167C0 + BCC L016789 + LDA L0167BC + CMP L0167BE + BCC L0167A9 + BRA L016790 +L016789 LDA L0167B0 + STA L0196C5 + RTS + +L016790 LDA L0167C2 + BMI L01679E + SEC + LDA L0167B0 + SBC L0167BC + BRA L0167A5 +L01679E CLC + LDA L0167BC + ADC L0167B0 +L0167A5 STA L0196C5 + RTS + +L0167A9 LDA L0167B2 + STA L0196C7 + RTS + +L0167B0 DW $0000 +L0167B2 DW $0000 +L0167B4 DW $0000 +L0167B6 DW $0000 +L0167B8 DW $0000 +L0167BA DW $0000 +L0167BC DW $0000 +L0167BE DW $0000 +L0167C0 DW $0000 +L0167C2 DW $0000 +L0167C4 JSR L01192F + STZ L01688B + LDA L0196C9 + AND #$0200 + STA $50 +L0167D2 LDA L0196C7 + STA L016885 + LDA L0196C5 + STA L016883 +L0167DE LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L01681B + JSR L0118CC + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $58 + PHA + LDA $56 + PHA + _SetOrigin + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + RTS + +L01681B PEA ^L0196C5 + PEA L0196C5 + _GetMouse + SEC + LDA L016885 + SBC L0196C7 + STA L016889 + SEC + LDA L016883 + SBC L0196C5 + STA L016887 + BNE L016843 + LDA L016889 + BEQ L0167DE +L016843 LDA $50 + BEQ L016867 + LDA L016889 + PHA + LDA L016887 + PHA + LDA L016885 + PHA + LDA L016883 + PHA + LDA L01688B + PHA + JSL L01855E + PLA + STA L016887 + PLA + STA L016889 +L016867 LDX L016889 + LDY L016887 + JSR L0182E5 + JSR L011953 + LDA #$0001 + STA L01688B + LDA $34 + BEQ L016880 + JSR L014117 +L016880 BRL L0167D2 +L016883 DW $0000 +L016885 DW $0000 +L016887 DW $0000 +L016889 DW $0000 +L01688B DW $0000 +L01688D JSL L0181CE + _HideCursor + PEA $0000 + LDA L0196C7 + PHA + LDA L0196C5 + PHA + _GetPixel + PLA + STA L0168F0 + _ShowCursor + LDA $92 + PHA + LDA $90 + PHA + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + JSL L0149A7 + PHX + PHA + LDA L0168F0 + PHA + LDA L0196C7 + PHA + LDA L0196C5 + PHA + _HideCursor + JSR L0168F2 + BCC L0168E5 + JSR L011953 +L0168E5 _ShowCursor + JSR L014117 + RTS + +L0168F0 DW $0000 +L0168F2 PLA + STA L016FB0 + PLA + STA L016F70 + PLA + STA L016F6E + LDA #$FFFF + STA L016F72 + BRA L016922 +L016906 PLA + STA L016FB0 + STZ L016F70 + STZ L016F86 + STZ L016F8C + STZ L016F88 + STZ L016F6E + STZ L016F8E + STZ L016F92 + STZ L016F72 +L016922 PLA + AND #$000F + STA L016E6A + STA L016E72 + XBA + STA L016E6E + TSB L016E72 + LSR + LSR + LSR + LSR + STA L016E6C + TSB L016E72 + XBA + STA L016E70 + TSB L016E72 + PLA + STA $16 + PLA + STA $18 + PLA + STA $28 + PLA + STA $2A + SEC + LDY #$0004 + LDA [$28],Y + SBC [$28] + DEC + STA L016F68 + SEC + LDY #$0006 + LDA [$28],Y + LDY #$0002 + SBC [$28],Y + LSR + LSR + STA L016F6A + ASL + STA L016F84 + PLA + STA $2C + PLA + STA $2E + LDA #$0000 + PHA + PHA + LDY #$0006 + LDA [$2C],Y + PHA + STA L016F66 + SEC + LDA [$28] + LDY #$0008 + SBC [$2C],Y + PHA + _Multiply + PLA + STA L016FA6 + PLA + STA L016FA8 + SEC + LDY #$0002 + LDA [$28],Y + LDY #$000A + SBC [$2C],Y + LSR + CLC + ADC L016FA6 + STA L016FA6 + LDA L016FA8 + ADC #$0000 + STA L016FA8 + CLC + LDA L016FA6 + LDY #$0002 + ADC [$2C],Y + STA L016F62 + LDA L016FA8 + LDY #$0004 + ADC [$2C],Y + STA L016F64 + LDA L016FB0 + PHA + LDA L016F6A + BPL L0169DB + BRL L016C53 +L0169DB LDA L016F68 + BPL L0169E3 + BRL L016C53 +L0169E3 PHA + PHA + LDA L016F6A + DEC + LSR + LSR + INC + STA L016F6C + ASL + STA L016FAA + PHA + DEC + DEC + STA L016F82 + LDA L016F68 + INC + PHA + _Multiply + PLA + STA L016FA6 + PLA + STA L016FA8 + PHA + PHA + LDA L016FA6 + ASL + PHA + LDA L016FA8 + ROL + TAX + PLA + CLC + ADC L016FAA + TAY + TXA + ADC #$0000 + PHA + PHY + LDA L01967F + PHA + PEA $8010 + LDA #$0000 + PHA + PHA + _NewHandle + BCC L016A48 + PLA + PLA + LDX #$0002 + LDA #$0201 + JSL L017D37 + SEC + RTS + +L016A48 PLA + STA $0A + STA L016F96 + PLA + STA $0C + STA L016F98 + LDA [$0A] + STA L016FA2 + LDY #$0002 + LDA [$0A],Y + STA L016FA4 + CLC + LDA L016FA2 + ADC L016FAA + STA L016F9A + LDA L016FA4 + ADC #$0000 + STA L016F9C + CLC + LDA L016F9A + ADC L016FA6 + STA L016F9E + LDA L016F9C + ADC L016FA8 + STA L016FA0 + LDA L016F9E + STA $0E + LDA L016FA0 + STA $10 + LDY L016F68 +L016A94 PHY + LDY L016F82 + LDA #$FFFF +L016A9B STA [$0E],Y + DEY + DEY + BPL L016A9B + CLC + LDA $0E + ADC L016FAA + STA $0E + LDA $10 + ADC #$0000 + STA $10 + PLY + DEY + BPL L016A94 + JSR L016DA8 + LDA L016F9A + STA $0A + LDA L016F9C + STA $0C + LDA L016F9E + STA $0E + LDA L016FA0 + STA $10 + LDA L016F72 + BNE L016AE2 + LDA L016F68 + STA L016F8A + LDA L016F6C + STA L016F90 + STA L016F94 + BRL L016B5C +L016AE2 SEC + LDA L016F70 + SBC [$28] + STA L016F70 + SEC + LDA L016F6E + LDY #$0002 + SBC [$28],Y + STA L016F6E + PHA + PHA + LDA L016F70 + PHA + LDA L016FAA + PHA + _Multiply + PLA + TAX + CLC + ADC L016F9E + STA $0E + PLA + TAY + ADC L016FA0 + STA $10 + CLC + TXA + ADC L016F9A + STA $0A + TYA + ADC L016F9C + STA $0C + LDA L016F6E + LSR + LSR + LSR + TAY + LDA L016F6E + AND #$0007 + ASL + TAX + LDA L016FB2,X + AND [$0E],Y + STA [$0E],Y + TYA + AND #$FFFE + STA L016F6E + STA L016F8E + STA L016F90 + STA L016F92 + STA L016F94 + LDA L016F70 + STA L016F86 + STA L016F88 + STA L016F8A + STA L016F8C +L016B5C LDA L016FA2 + STA $12 + LDA L016FA4 + STA $14 + LDY L016F82 + LDA L016F72 +L016B6C STA [$12],Y + DEY + DEY + BPL L016B6C + STZ L016F76 +L016B75 STZ L016F7E + LDA L016F76 + BMI L016BBD + LDY L016F88 + BNE L016B8C + LDA L016FA2 + STA $12 + LDA L016FA4 + STA $14 +L016B8C STZ L016F80 + JSR L016C6D + LDA L016F80 + BNE L016BA0 + CPY L016F8A + BEQ L016BA3 + BCC L016BA3 + BRA L016BAE +L016BA0 STY L016F88 +L016BA3 JSR L016D5A + INY + CPY L016F68 + BEQ L016B8C + BCC L016B8C +L016BAE DEY + STY L016F86 + LDA L016F88 + STA L016F8A + JSR L016D81 + BRA L016BF7 +L016BBD LDY L016F86 + CPY L016F68 + BNE L016BCF + LDA L016FA2 + STA $12 + LDA L016FA4 + STA $14 +L016BCF STZ L016F80 + JSR L016C6D + LDA L016F80 + BNE L016BE1 + CPY L016F8C + BCS L016BE4 + BRA L016BEA +L016BE1 STY L016F86 +L016BE4 JSR L016D81 + DEY + BPL L016BCF +L016BEA INY + STY L016F88 + JSR L016D5A + LDA L016F86 + STA L016F8C +L016BF7 LDA L016F8E + STA L016F92 + LDA L016F90 + STA L016F94 + LDA #$0000 + STA L016F90 + DEC + STA L016F8E + LDA L016F76 + EOR #$FFFF + STA L016F76 + LDA L016F7E + BPL L016C1E + BRL L016B75 +L016C1E LDA L016F72 + BNE L016C50 + LDA L016F9E + STA $0E + LDA L016FA0 + STA $10 + LDX L016F68 +L016C30 LDY L016F82 +L016C33 LDA [$0E],Y + EOR #$FFFF + STA [$0E],Y + DEY + DEY + BPL L016C33 + CLC + LDA $0E + ADC L016FAA + STA $0E + LDA $10 + ADC #$0000 + STA $10 + DEX + BPL L016C30 +L016C50 JSR L016E74 +L016C53 LDA L016F96 + LDX L016F98 + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + CLC + RTS + +L016C6D PHY + LDX L016F72 + LDY L016F92 + BEQ L016C7E + PHY + DEY + DEY + LDA [$0E],Y + XBA + TAX + PLY +L016C7E LDA [$0E],Y + BEQ L016CB0 + STA L016F7A + LDA [$0A],Y + EOR #$FFFF + STA L016F78 + LDA [$12],Y + AND L016F7A + ORA L016F78 +L016C95 STX L016F74 + STA L016F7A + XBA + LSR L016F74 + ROR + XBA + AND L016F7A + ORA L016F78 + CMP L016F7A + BNE L016C95 + CMP [$0E],Y + BNE L016CB9 +L016CB0 CPY L016F94 + BEQ L016CDB + BCC L016CDB + BRA L016CE4 +L016CB9 SEC + ROR L016F7E + SEC + ROR L016F80 + STA [$0E],Y + CPY L016F94 + BCC L016CCB + STY L016F94 +L016CCB CPY L016F8E + BCS L016CD3 + STY L016F8E +L016CD3 CPY L016F90 + BCC L016CDB + STY L016F90 +L016CDB XBA + TAX + INY + INY + CPY L016FAA + BCC L016C7E +L016CE4 LDX L016F72 + LDY L016F94 + CPY L016F82 + BEQ L016CF7 + PHY + INY + INY + LDA [$0E],Y + XBA + TAX + PLY +L016CF7 LDA [$0E],Y + BEQ L016D29 + STA L016F7A + LDA [$0A],Y + EOR #$FFFF + STA L016F78 + LDA [$12],Y + AND L016F7A + ORA L016F78 +L016D0E STX L016F74 + STA L016F7A + XBA + ASL L016F74 + ROL + XBA + AND L016F7A + ORA L016F78 + CMP L016F7A + BNE L016D0E + CMP [$0E],Y + BNE L016D30 +L016D29 CPY L016F92 + BCS L016D52 + BRA L016D58 +L016D30 SEC + ROR L016F7E + SEC + ROR L016F80 + STA [$0E],Y + CPY L016F92 + BCS L016D42 + STY L016F92 +L016D42 CPY L016F8E + BCS L016D4A + STY L016F8E +L016D4A CPY L016F90 + BCC L016D52 + STY L016F90 +L016D52 XBA + TAX + DEY + DEY + BPL L016CF7 +L016D58 PLY + RTS + +L016D5A CLC + LDA $0A + ADC L016FAA + STA $0A + LDA $0C + ADC #$0000 + STA $0C + LDA $0E + STA $12 + LDA $10 + STA $14 + CLC + LDA $0E + ADC L016FAA + STA $0E + LDA $10 + ADC #$0000 + STA $10 + RTS + +L016D81 SEC + LDA $0A + SBC L016FAA + STA $0A + LDA $0C + SBC #$0000 + STA $0C + LDA $0E + STA $12 + LDA $10 + STA $14 + SEC + LDA $0E + SBC L016FAA + STA $0E + LDA $10 + SBC #$0000 + STA $10 + RTS + +L016DA8 LDA L016F62 + STA $0A + LDA L016F64 + STA $0C + LDA L016F9A + STA $0E + LDA L016F9C + STA $10 + LDY #$0000 +L016DBF PHY + LDA L016F6C + ASL + ASL + DEC + ASL + TAY +L016DC8 PHY + LDA L016F72 + EOR #$FFFF + CPY L016F84 + BCS L016DD7 + LDA [$0A],Y + XBA +L016DD7 CMP L016E72 + BNE L016DEC + LDA L016F7A + SEC + ROR + SEC + ROR + SEC + ROR + SEC + ROR + STA L016F7A + BRA L016E20 +L016DEC TAX + AND L016E62 + CMP L016E6A + BEQ L016DF6 + CLC +L016DF6 ROR L016F7A + TXA + AND L016E64 + CMP L016E6C + BEQ L016E03 + CLC +L016E03 ROR L016F7A + TXA + AND L016E66 + CMP L016E6E + BEQ L016E10 + CLC +L016E10 ROR L016F7A + TXA + AND L016E68 + CMP L016E70 + BEQ L016E1D + CLC +L016E1D ROR L016F7A +L016E20 LDA $01,S + AND #$0007 + BNE L016E32 + LDA $01,S + LSR + LSR + TAY + LDA L016F7A + XBA + STA [$0E],Y +L016E32 PLY + DEY + DEY + BPL L016DC8 + CLC + LDA $0A + ADC L016F66 + STA $0A + LDA $0C + ADC #$0000 + STA $0C + CLC + LDA $0E + ADC L016FAA + STA $0E + LDA $10 + ADC #$0000 + STA $10 + PLY + INY + CPY L016F68 + BEQ L016E5E + BCS L016E61 +L016E5E BRL L016DBF +L016E61 RTS + +L016E62 DW $000F +L016E64 DW $00F0 +L016E66 DW $0F00 +L016E68 DW $F000 +L016E6A DW $000F +L016E6C DW $00F0 +L016E6E DW $0F00 +L016E70 DW $F000 +L016E72 DW $FFFF +L016E74 LDA L016F9E + STA $0A + LDA L016FA0 + STA $0C + LDA L016F62 + STA $0E + LDA L016F64 + STA $10 + LDY #$0000 +L016E8B PHY + TYA + CLC + ADC [$28] + AND #$0007 + ASL + ASL + STA L016FAC + LDA L016F6C + ASL + ASL + DEC + ASL + TAY +L016EA0 PHY + TYA + AND #$0007 + CMP #$0006 + BNE L016EC5 + LDA $01,S + LSR + LSR + DEC + TAY + LDA [$0A],Y + CMP #$FFFF + BNE L016EBF + PLA + SEC + SBC #$0006 + TAY + BRA L016F30 +L016EBF XBA + STA L016F7A + BRA L016ED0 +L016EC5 SEC + LDA L016F7A + ROR + ROR + ROR + ROR + STA L016F7A +L016ED0 STZ L016F7C + LDA L016F7A + LSR + PHA + BCC L016EE0 + LDA #$000F + TSB L016F7C +L016EE0 PLA + LSR + PHA + BCC L016EEB + LDA #$00F0 + TSB L016F7C +L016EEB PLA + LSR + PHA + BCC L016EF6 + LDA #$0F00 + TSB L016F7C +L016EF6 PLA + LSR + PHA + BCC L016F01 + LDA #$F000 + TSB L016F7C +L016F01 PLA + PLY + CPY L016F84 + BCS L016F30 + LDA L016F7C + XBA + PHY + PHA + AND [$0E],Y + STA L016FAE + LDY #$0002 + LDA [$28],Y + LSR + CLC + ADC $03,S + AND #$0002 + CLC + ADC L016FAC + TAY + PLA + EOR #$FFFF + AND [$16],Y + ORA L016FAE + PLY + STA [$0E],Y +L016F30 DEY + DEY + BMI L016F37 + BRL L016EA0 +L016F37 CLC + LDA $0A + ADC L016FAA + STA $0A + LDA $0C + ADC #$0000 + STA $0C + CLC + LDA $0E + ADC L016F66 + STA $0E + LDA $10 + ADC #$0000 + STA $10 + PLY + INY + CPY L016F68 + BCS L016F5F +L016F5C BRL L016E8B +L016F5F BEQ L016F5C + RTS + +L016F62 DW $0000 +L016F64 DW $0000 +L016F66 DW $0000 +L016F68 DW $0000 +L016F6A DW $0000 +L016F6C DW $0000 +L016F6E DW $0000 +L016F70 DW $0000 +L016F72 DW $0000 +L016F74 DW $0000 +L016F76 DW $0000 +L016F78 DW $0000 +L016F7A DW $0000 +L016F7C DW $0000 +L016F7E DW $0000 +L016F80 DW $0000 +L016F82 DW $0000 +L016F84 DW $0000 +L016F86 DW $0000 +L016F88 DW $0000 +L016F8A DW $0000 +L016F8C DW $0000 +L016F8E DW $0000 +L016F90 DW $0000 +L016F92 DW $0000 +L016F94 DW $0000 +L016F96 DW $0000 +L016F98 DW $0000 +L016F9A DW $0000 +L016F9C DW $0000 +L016F9E DW $0000 +L016FA0 DW $0000 +L016FA2 DW $0000 +L016FA4 DW $0000 +L016FA6 DW $0000 +L016FA8 DW $0000 +L016FAA DW $0000 +L016FAC DW $0000 +L016FAE DW $0000 +L016FB0 DW $0000 +L016FB2 DW $FF7F + DW $FFBF + DW $FFDF + DW $FFEF + DW $FFF7 + DW $FFFB + DW $FFFD + DW $FFFE +L016FC2 ENT + PHB + PHK + PLB + PEA ^L019771 + PEA L019771 + _OpenPort + PEA ^L017338 + PEA L017338 + _SetPortLoc + PEA ^L017340 + PEA L017340 + _PaintRect + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + LDA $7A + ASL + TAX + JSR (L0172F0,X) + PEA ^L019771 + PEA L019771 + _ClosePort + LDA #L019EE4 + STA L019EDC + LDA #^L019EE4 + STA L019EDC+2 + LDX #$003E +L01701C LDA L019EE8,X + STA L019F6C,X + DEX + DEX + BPL L01701C + LDA #L019F6C + STA $0A + LDA #^L019F6C + STA $0C + LDA #L019FAC + STA $0E + LDA #^L019FAC + STA $10 + LDX #$0008 +L01703D LDY #$0000 + STZ L017348 +L017043 LDA [$0A],Y + XBA + PHA + LSR L017348 + ROR + LSR L017348 + ROR + LSR L017348 + ROR + LSR L017348 + ROR + XBA + STA [$0E],Y + PLA + STA L017348 + INY + INY + CPY #$0008 + BCC L017043 + CLC + LDA $0E + ADC #$0008 + STA $0E + CLC + LDA $0A + ADC #$0008 + STA $0A + DEX + BNE L01703D + PEA $0000 + PEA $0090 + _SetPort + PLB + RTL + +L017087 LDX #$000A + LDY #$0008 + BRA L0170A5 +L01708F LDX #$0007 + LDY #$0005 + BRA L0170A5 +L017097 LDX #$0004 + LDY #$0003 + BRA L0170A5 +L01709F LDX #$0002 + LDY #$0002 +L0170A5 STX L017336 + STY L017334 + PHX + PHY + _SetPenSize + PEA ^L017330 + PEA L017330 + _PaintRect + RTS + +L0170C2 LDA #L01734A + BRA L0170D4 +L0170C7 LDA #L01738A + BRA L0170D4 +L0170CC LDA #L0173CA + BRA L0170D4 +L0170D1 LDA #L01740A +L0170D4 STA $0A + LDA #L019EE8 + STA $0E + LDA #^L019EE8 + STA $10 + LDY #$003E +L0170E3 LDA ($0A),Y + STA [$0E],Y + DEY + DEY + BPL L0170E3 + RTS + +L0170EC LDA #$0007 + BRA L0170FE +L0170F1 LDA #$0005 + BRA L0170FE +L0170F6 LDA #$0004 + BRA L0170FE +L0170FB LDA #$0002 +L0170FE PHA + PEA $0000 + PEA $0000 + PHA + PEA $0002 + PEA $0001 + _SetPenSize + _MoveTo + _LineTo + RTS + +L017122 LDA #$0007 + BRA L017134 +L017127 LDA #$0005 + BRA L017134 +L01712C LDA #$0004 + BRA L017134 +L017131 LDA #$0002 +L017134 PHA + PHA + LDA #$0000 + PHA + PHA + PEA $0002 + PEA $0001 + _SetPenSize + _MoveTo + _LineTo + RTS + +L017157 PEA $0002 + PEA $0001 + _SetPenSize + LDA #$0007 + BRA L01719B +L017169 PEA $0002 + PEA $0001 + _SetPenSize + LDA #$0006 + BRA L01719B +L01717B LDA #$0001 + PHA + PHA + _SetPenSize + LDA #$0004 + BRA L01719B +L01718C LDA #$0001 + PHA + PHA + _SetPenSize + LDA #$0002 +L01719B PEA $0000 + PHA + LDA #$0000 + PHA + PHA + _MoveTo + _LineTo + RTS + +L0171B3 LDA #$0009 + BRA L0171C5 +L0171B8 LDA #$0007 + BRA L0171C5 +L0171BD LDA #$0005 + BRA L0171C5 +L0171C2 LDA #$0003 +L0171C5 PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0001 + PEA $0001 + _SetPenSize + _MoveTo + _LineTo + RTS + +L0171EB LDX #$0000 + LDY #$0006 + JSR L018210 + LDX #$0002 + LDY #$0004 + JSR L018210 + LDX #$0004 + LDY #$0002 + JSR L018210 + LDX #$0006 + LDY #$0000 + JMP L018210 + +L01720F LDX #$0000 + LDY #$0002 + JSR L018210 + LDX #$0002 + LDY #$0000 + JMP L018210 + +L017221 LDX #$0000 + TXY + JSR L018210 + LDX #$0002 + TXY + JSR L018210 + LDX #$0004 + TXY + JSR L018210 + LDX #$0006 + TXY + JMP L018210 + +L01723D LDX #$0000 + TXY + JSR L018210 + LDX #$0002 + TXY + JMP L018210 + +L01724B LDX #$0000 + TXY + JSR L018210 + LDX #$0000 + LDY #$0002 + JSR L018210 + LDX #$0000 + LDY #$0004 + JSR L018210 + LDX #$0000 + LDY #$0006 + JMP L018210 + +L01726D LDX #$0000 + TXY + JSR L018210 + LDX #$0002 + LDY #$0000 + JSR L018210 + LDX #$0004 + LDY #$0000 + JSR L018210 + LDX #$0006 + LDY #$0000 + JMP L018210 + +L01728F LDX #$0003 + LDY #$0000 + JSR L018210 + LDX #$0007 + LDY #$0000 + JSR L018210 + LDX #$0000 + LDY #$0001 + JSR L018210 + LDX #$0003 + LDY #$0002 + JSR L018210 + LDX #$0007 + LDY #$0002 + JSR L018210 + LDX #$0001 + LDY #$0003 + JSR L018210 + LDX #$0004 + LDY #$0004 + JSR L018210 + LDX #$0000 + LDY #$0005 + JSR L018210 + LDX #$0007 + LDY #$0005 + JSR L018210 + LDX #$0003 + LDY #$0006 + JMP L018210 + +L0172E9 LDX #$0000 + TXY + JMP L018210 + +L0172F0 DA L017087 + DA L01708F + DA L017097 + DA L01709F + DA L0170C2 + DA L0170C7 + DA L0170CC + DA L0170D1 + DA L0170EC + DA L0170F1 + DA L0170F6 + DA L0170FB + DA L017122 + DA L017127 + DA L01712C + DA L017131 + DA L017157 + DA L017169 + DA L01717B + DA L01718C + DA L0171B3 + DA L0171B8 + DA L0171BD + DA L0171C2 + DA L0171EB + DA L01720F + DA L017221 + DA L01723D + DA L01724B + DA L01726D + DA L01728F + DA L0172E9 +L017330 DW $0000 + DW $0000 +L017334 DW $0000 +L017336 DW $0000 +L017338 DW $0000 + ADRL L019EE8 + DW $0008 +L017340 DW $0000 + DW $0000 + DW $0008 + DW $0010 +L017348 DW $0000 +L01734A HEX 00FFFFFF00000000 + HEX 0FFFFFFFF0000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFFF000000 + HEX 0FFFFFFFF0000000 + HEX 00FFFFFF00000000 +L01738A HEX 00FFFF0000000000 + HEX 0FFFFFF000000000 + HEX FFFFFFFF00000000 + HEX FFFFFFFF00000000 + HEX FFFFFFFF00000000 + HEX 0FFFFFF000000000 + HEX 00FFFF0000000000 + HEX 0000000000000000 +L0173CA HEX 0FFFF00000000000 + HEX FFFFFF0000000000 + HEX FFFFFF0000000000 + HEX FFFFFF0000000000 + HEX 0FFFF00000000000 + HEX 0000000000000000 + HEX 0000000000000000 + HEX 0000000000000000 +L01740A HEX 0FF0000000000000 + HEX FFFF000000000000 + HEX FFFF000000000000 + HEX 0FF0000000000000 + HEX 0000000000000000 + HEX 0000000000000000 + HEX 0000000000000000 + HEX 0000000000000000 +L01744A _PenNormal + LDA #$0007 + STA L01975F + JSR L017ECF + JSL L0181CE + LDA L0196C5 + STA L0174AF +L017464 JSR L0174B3 + LDX L0174AF + LDY L0196C5 + JSR L01412A + LDX L0196C7 + STX L0174B1 + LDA L0196C5 + STA L0174AF +L01747C LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L01748C + RTS + +L01748C PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + LDA L0196C7 + CMP L0174B1 + BNE L017464 + LDA L0196C5 + CMP L0174AF + BEQ L01747C + BRA L017464 +L0174AF DW $0000 +L0174B1 DW $0000 +L0174B3 LDA #$0000 +L0174B6 PHA + ASL + ASL + TAX + CLC + LDA L0196C5 + ADC L0174D5,X + TAY + CLC + LDA L0196C7 + ADC L0174D7,X + TAX + JSR L018210 + PLA + INC + CMP #$000A + BNE L0174B6 + RTS + +L0174D5 DW $0000 +L0174D7 DW $0003 + DW $0000 + DW $0007 + DW $0001 + DW $0000 + DW $0002 + DW $0003 + DW $0002 + DW $0006 + DW $0003 + DW $0001 + DW $0004 + DW $0004 + DW $0005 + DW $0000 + DW $0005 + DW $0007 + DW $0006 + DW $0003 +L0174FD STZ L019741 + LDA L0196C9 + AND #$0200 + STA L017866 + JSR L017EED + JSL L0181CE + JSR L018126 + LDA L0196C5 + STA L01785A + STA L01785E + STA L017872 + LDA L0196C7 + STA L01785C + STA L017860 + STA L017874 +L01752B JSR L017691 + BCC L01752B + PEA $0000 + _SetPenMode + JSR L017EDD + LDA L017874 + PHA + LDA L017872 + PHA + _MoveTo + LDA L017860 + PHA + LDA L01785E + PHA + _LineTo + JSR L014117 + RTS + +L01755F STZ L019741 + LDA L0196C9 + AND #$0200 + STA L017866 + JSR L017EED + JSL L0181CE + JSR L018126 + LDA L0196C5 + STA L01785A + STA L01785E + LDA L0196C7 + STA L01785C + STA L017860 + LDA #$FFFF + STA L017858 +L01758D INC L017858 + LDA L017858 + ASL + ASL + TAX + LDA L01785A + STA L017808,X + LDA L01785C + STA L01780A,X + LDA L017858 + CMP #$0013 + BEQ L0175F8 + JSR L017691 + BCC L01758D + LDA L017858 + CMP #$0002 + BCS L0175F8 + PEA $0000 + _SetPenMode + JSR L017EDD + LDA L01780A + PHA + LDA L017808 + PHA + _MoveTo + LDA L017858 + BEQ L0175E8 + LDA L01780E + PHA + LDA L01780C + PHA + _LineTo + RTS + +L0175E8 LDA L01780A + PHA + LDA L017808 + PHA + _LineTo + RTS + +L0175F8 PHA + PHA + _OpenPoly + PLA + STA L017862 + PLA + STA L017864 + LDA L01780A + PHA + LDA L017808 + PHA + _MoveTo + LDA #$0001 +L01761B PHA + ASL + ASL + TAX + LDA L01780A,X + PHA + LDA L017808,X + PHA + _LineTo + PLA + INC + CMP L017858 + BEQ L01761B + BCC L01761B + LDA L01780A + PHA + LDA L017808 + PHA + _LineTo + _ClosePoly + LDA L017864 + PHA + LDA L017862 + PHA + JSL L0149A7 + PHX + PHA + _FillPoly + PEA $0000 + _SetPenMode + JSR L017EDD + LDA L017864 + PHA + LDA L017862 + PHA + _FramePoly + LDA L017864 + PHA + LDA L017862 + PHA + _KillPoly + JSR L014117 + RTS + +L017691 PEA $0002 + _SetPenMode + JSR L0182C2 + JSR L01776C +L0176A1 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA L0196BB + CMP #$0001 + BNE L01772A + JSR L017F05 + LDA L019741 + BEQ L0176CA + STZ L019741 + SEC + RTS + +L0176CA JSR L01776C + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L019E74 + PEA L019E74 + _PtInRect + PLA + BNE L0176E8 + SEC + RTS + +L0176E8 PEA $0000 + _SetPenMode + JSR L017EDD + LDA L017860 + PHA + LDA L01785E + PHA + _MoveTo + LDA L01785C + PHA + LDA L01785A + PHA + _LineTo + LDX L01785A + LDY L01785E + JSR L01412A + LDA L01785A + STA L01785E + LDA L01785C + STA L017860 + CLC + RTS + +L01772A PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + JSL L0181CE + JSR L018168 + JSR L0139B0 + JSR L017794 + LDA L0196C7 + CMP L01785C + BNE L017757 + LDA L0196C5 + CMP L01785A + BNE L017757 + BRL L0176A1 +L017757 JSR L01776C + LDA L0196C7 + STA L01785C + LDA L0196C5 + STA L01785A + JSR L01776C + BRL L0176A1 +L01776C LDA L017860 + PHA + LDA L01785E + PHA + _MoveTo + LDA L01785C + PHA + LDA L01785A + PHA + _LineTo + LDX L01785E + LDY L01785A + JSR L01412A + RTS + +L017794 LDA L017866 + BNE L01779A + RTS + +L01779A SEC + LDA L017860 + SBC L0196C7 + BNE L0177A6 + BRL L017801 +L0177A6 BPL L0177AC + EOR #$FFFF + INC +L0177AC STA L01786A + LSR + STA L01786E + SEC + LDA L01785E + SBC L0196C5 + STA L017870 + BNE L0177C2 + BRL L0177E1 +L0177C2 BPL L0177C8 + EOR #$FFFF + INC +L0177C8 STA L017868 + LSR + STA L01786C + LDA L017868 + CMP L01786E + BCC L0177E1 + LDA L01786A + CMP L01786C + BCC L017801 + BRA L0177E8 +L0177E1 LDA L01785E + STA L0196C5 + RTS + +L0177E8 LDA L017870 + BMI L0177F6 + SEC + LDA L01785E + SBC L01786A + BRA L0177FD +L0177F6 CLC + LDA L01786A + ADC L01785E +L0177FD STA L0196C5 + RTS + +L017801 LDA L017860 + STA L0196C7 + RTS + +L017808 DW $0000 ; LONG NOT WORD +L01780A DW $0000 +L01780C DW $0000 +L01780E DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 + DW $0000 +L017858 DW $0000 +L01785A DW $0000 +L01785C DW $0000 +L01785E DW $0000 +L017860 DW $0000 +L017862 DW $0000 +L017864 DW $0000 +L017866 DW $0000 +L017868 DW $0000 +L01786A DW $0000 +L01786C DW $0000 +L01786E DW $0000 +L017870 DW $0000 +L017872 DW $0000 +L017874 DW $0000 +L017876 LDA $36 + CMP #$0002 + BEQ L01787E + RTS + +L01787E STZ L017C2D + LDA L0199AC + STA L0199B2 + LDA L0199AE + STA L0199B4 + LDA L019998 + STA L01999E + LDA L01999A + STA L0199A0 + LDA L0196C5 + STA L017C37 + LDA L0196C7 + STA L017C39 + LDA $66 + STA L017C41 + LDA $68 + STA L017C43 + LDA $6A + STA L017C45 + LDA $6C + STA L017C47 + LDA $66 + STA L017C49 + LDA $68 + STA L017C4B + LDA $6A + STA L017C4D + LDA $6C + STA L017C4F + SEC + LDA $6A + SBC $66 + STA L017C73 + SEC + LDA $6C + SBC $68 + STA L017C75 + LDA L017C73 + LSR + CLC + ADC $66 + STA L017C3D + LDA L017C75 + LSR + CLC + ADC $68 + STA L017C3F + LDA L0196C7 + CMP L017C3F + BCC L01790B + LDA L0196C5 + CMP L017C3D + BCC L017906 + LDA #$0004 + BRA L01791B +L017906 LDA #$0002 + BRA L01791B +L01790B LDA L0196C5 + CMP L017C3D + BCC L017918 + LDA #$0006 + BRA L01791B +L017918 LDA #$0000 +L01791B STA L017C3B +L01791E LDA L0196C5 + STA L017C33 + LDA L0196C7 + STA L017C35 + PHA + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDA L0196BB + CMP #$0002 + BNE L017947 + BRL L017A47 +L017947 PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + JSL L0181CE + JSR L0139B0 + SEC + LDA L0196C7 + SBC L017C35 + STA L017C31 + SEC + LDA L0196C5 + SBC L017C33 + STA L017C2F + BNE L017979 + LDA L017C31 + BNE L017979 + BRL L01791E +L017979 JSR L018E2E + LDX L017C3B + JSR (L017A9D,X) + LDA $66 + STA L017C51 + LDA $68 + STA L017C53 + LDA $6A + STA L017C55 + LDA $6C + STA L017C57 + LDA L017C41 + STA $66 + LDA L017C43 + STA $68 + LDA L017C45 + STA $6A + LDA L017C47 + STA $6C + LDA $6A + SEC + SBC $66 + BVS L0179B4 + EOR #$8000 +L0179B4 BMI L0179BE + LDX $66 + LDA $6A + STA $66 + STX $6A +L0179BE LDA $6C + SEC + SBC $68 + BVS L0179C8 + EOR #$8000 +L0179C8 BMI L0179D2 + LDX $68 + LDA $6C + STA $68 + STX $6C +L0179D2 LDA $66 + SEC + SBC $56 + BVS L0179DC + EOR #$8000 +L0179DC BMI L0179E2 + LDA $56 + STA $66 +L0179E2 LDA $68 + SEC + SBC $58 + BVS L0179EC + EOR #$8000 +L0179EC BMI L0179F2 + LDA $58 + STA $68 +L0179F2 LDA $6A + SEC + SBC $5A + BEQ L017A04 + BVS L0179FE + EOR #$8000 +L0179FE BPL L017A04 + LDA $5A + STA $6A +L017A04 LDA $6C + SEC + SBC $5C + BEQ L017A16 + BVS L017A10 + EOR #$8000 +L017A10 BPL L017A16 + LDA $5C + STA $6C +L017A16 LDA $66 + CMP L017C51 + BCS L017A20 + STA L017C51 +L017A20 LDA $68 + CMP L017C53 + BCS L017A2A + STA L017C53 +L017A2A LDA $6A + CMP L017C55 + BCC L017A34 + STA L017C55 +L017A34 LDA $6C + CMP L017C57 + BCC L017A3E + STA L017C57 +L017A3E JSR L017AF9 + JSR L018E2E + BRL L01791E +L017A47 LDA L017C2D + BEQ L017A9C + LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDY #$459C +L017A63 LDA [$0A],Y + PHA + LDA [$0E],Y + STA [$0A],Y + PLA + STA [$0E],Y + DEY + DEY + BPL L017A63 + CLC + LDA $66 + ADC $6A + LSR + STA L019681 + CLC + LDA $68 + ADC $6C + LSR + STA L019683 + LDA #$000B + STA $46 + LDA $66 + STA L019761 + LDA $68 + STA L019763 + LDA $6A + STA L019765 + LDA $6C + STA L019767 +L017A9C RTS + +L017A9D DA L017AA5 + DA L017ABA + DA L017ACF + DA L017AE4 +L017AA5 CLC + LDA L017C41 + ADC L017C2F + STA L017C41 + CLC + LDA L017C43 + ADC L017C31 + STA L017C43 + RTS + +L017ABA CLC + LDA L017C41 + ADC L017C2F + STA L017C41 + CLC + LDA L017C47 + ADC L017C31 + STA L017C47 + RTS + +L017ACF CLC + LDA L017C45 + ADC L017C2F + STA L017C45 + CLC + LDA L017C47 + ADC L017C31 + STA L017C47 + RTS + +L017AE4 CLC + LDA L017C45 + ADC L017C2F + STA L017C45 + CLC + LDA L017C43 + ADC L017C31 + STA L017C43 + RTS + +L017AF9 LDA #$0001 + STA L017C2D + SEC + LDA $6A + SBC $66 + STA L017C7B + SEC + LDA $6C + SBC $68 + STA L017C7D + PEA ^L01999C + PEA L01999C + PEA ^L0199B0 + PEA L0199B0 + PEA ^L017C6F + PEA L017C6F + PEA ^L017C77 + PEA L017C77 + PEA $0000 + PEA $0000 + PEA $0000 + _CopyPixels + SEC + LDA L017C53 + SBC $58 + AND #$FFFC + LSR + STA L017C53 + SEC + LDA L017C57 + DEC + SBC $58 + AND #$FFFC + LSR + INC + INC + STA L017C57 + LDA L017C51 + JSL L0182D0 + CLC + ADC L019976 + STA $0A + LDA L019978 + STA $0C + LDA $58 + LSR + CLC + ADC $0A + STA $0A + SEC + LDA L017C51 + SBC $56 + JSL L0182D0 + CLC + ADC #$3197 + STA $0E + LDA #$00E1 + STA $10 + LDA L0199AC + STA $12 + LDA L0199AE + STA $14 + LDA L019984 + STA $28 + LDA L019986 + STA $2A + LDA L017C53 + PHA + LDA L017C51 + PHA + LDA L017C57 + PHA + LDA L017C55 + PHA + PEA $FFFF + PEA $FFFF + JSR L018B29 + LDX L017C51 + LDY L017C55 + JSR L01412A + RTS + +L017BBA LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDY #$459C +L017BD1 LDA [$0E],Y + PHA + LDA [$0A],Y + STA [$0E],Y + PLA + STA [$0A],Y + DEY + DEY + BPL L017BD1 + LDX L017C49 + LDA $66 + STA L017C49 + STX L017C41 + STX $66 + LDX L017C4B + LDA $68 + STA L017C4B + STX L017C43 + STX $68 + LDX L017C4D + LDA $6A + STA L017C4D + STX L017C45 + STX $6A + LDX L017C4F + LDA $6C + STA L017C4F + STX L017C47 + STX $6C + JSR L013C57 + JSR L011953 + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + JSR L014117 + JSR L013C4D + RTS + +L017C2D DW $0000 +L017C2F DW $0000 +L017C31 DW $0000 +L017C33 DW $0000 +L017C35 DW $0000 +L017C37 DW $0000 +L017C39 DW $0000 +L017C3B DW $0000 +L017C3D DW $0000 +L017C3F DW $0000 +L017C41 DW $0000 +L017C43 DW $0000 +L017C45 DW $0000 +L017C47 DW $0000 +L017C49 DW $0000 +L017C4B DW $0000 +L017C4D DW $0000 +L017C4F DW $0000 +L017C51 DW $0000 +L017C53 DW $0000 +L017C55 DW $0000 +L017C57 DW $0000 + ADRL L01999C + ADRL L0199B0 + ADRL L017C6F + ADRL L017C77 + DW $0000 + DW $0000 + DW $0000 +L017C6F DW $0000 + DW $0000 +L017C73 DW $0000 +L017C75 DW $0000 +L017C77 DW $0000 + DW $0000 +L017C7B DW $0000 +L017C7D DW $0000 + +L017C7F LDY #$0014 +L017C82 CMP L017CB3,Y + BEQ L017C8C + DEY + DEY + BPL L017C82 + RTS + +L017C8C PHY + LDA L019691 + ASL + TAY + LDA L017C9B,Y + STA $28 + PLY + LDA ($28),Y + RTS + +L017C9B DA L017CB3 + DA L017CC9 + DA L017CDF + DA L017CB3 + DA L017D0B + DA L017D21 + DA L017CF5 + DA L017CB3 + DA L017CB3 + DA L017CB3 + DA L017CB3 + DA L017CB3 +L017CB3 DW $0023 + DW $0040 + DW $005B + DW $005C + DW $005D + DW $005E + DW $0060 + DW $007B + DW $007C + DW $007D + DW $007E +L017CC9 DW $00A3 + DW $0040 + DW $005B + DW $005C + DW $005D + DW $005E + DW $0060 + DW $007B + DW $007C + DW $007D + DW $007E +L017CDF DW $00A3 + DW $0088 + DW $00A1 + DW $008D + DW $00A4 + DW $005E + DW $0060 + DW $008E + DW $009D + DW $008F + DW $00AC +L017CF5 DW $0023 + DW $00A4 + DW $0080 + DW $0085 + DW $0086 + DW $005E + DW $0060 + DW $008A + DW $009A + DW $009F + DW $00A7 +L017D0B DW $00A3 + DW $00A4 + DW $00C1 + DW $0084 + DW $00C0 + DW $005E + DW $0060 + DW $00A1 + DW $0096 + DW $0082 + DW $007E +L017D21 DW $00A3 + DW $00A4 + DW $00A1 + DW $0082 + DW $008E + DW $005E + DW $009D + DW $0088 + DW $0098 + DW $008F + DW $0093 + +L017D37 ENT + PHB + PHK + PLB + STA L017E3E + STX L017E40 + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + _ShowCursor + LDA L017E40 + CMP #$0001 + BNE L017D61 + BRL L017DAE +L017D61 LDA L017E3E + PHA + PEA ^L017E42+1 + PEA L017E42+1 + PEA $0004 + _Int2Hex + PEA ^L017E42 + PEA L017E42 + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PHA + _ParamText + LDA L017E40 + BNE L017D93 + BRL L017DF4 +L017D93 CMP #$0002 + BNE L017D9B + BRL L017DD0 +L017D9B CMP #$0100 + BNE L017DC2 + LDA #L0106E7 + STA L017EC3 + LDA #^L0106E7 + STA L017EC3+2 + BRA L017E23 +L017DAE LDA L017E3E + ASL + ASL + TAX + LDA L017E79,X + STA L017EC3 + LDA L017E79+2,X + STA L017EC3+2 + BRA L017E23 +L017DC2 LDA #L010653 + STA L017EC3 + LDA #^L010653 + STA L017EC3+2 + BRA L017E23 +L017DD0 LDA L017E3E + CMP #$0201 + BEQ L017DE6 + LDA #L01063C + STA L017EC3 + LDA #^L01063C + STA L017EC3+2 + BRA L017E23 +L017DE6 LDA #L0107CD + STA L017EC3 + LDA #^L0107CD + STA L017EC3+2 + BRA L017E23 +L017DF4 LDA #L010629 + STA L017EC3 + LDA #^L010629 + STA L017EC3+2 + LDX L017E47 + LDA L017E3E +L017E06 CMP L017E49,X + BEQ L017E15 + DEX + DEX + DEX + DEX + DEX + DEX + BPL L017E06 + BRA L017E23 +L017E15 INX + INX + LDA L017E4B,X + STA L017EC3+2 + LDA L017E49,X + STA L017EC3 +L017E23 PHA + PEA ^L017E85 + PEA L017E85 + PEA $0000 + PEA $0000 + _Alert + PLA + JSL L010D82 + PLB + RTL + +L017E3E DW $0000 +L017E40 DW $0000 +L017E42 STR ' ' +L017E47 DW $002A +L017E49 DW $002B +L017E4B ADRL L010755 + DW $0044 + ADRL L010771 + DW $0045 + ADRL L010771 + DW $0046 + ADRL L010771 + DW $0047 + ADRL L010785 + DW $0048 + ADRL L01079F + DW $0049 + ADRL L0107AD + DW $004E + ADRL L0107BE +L017E79 ADRL L010550 + ADRL L01056A + ADRL L010586 +L017E85 DW $0028 ; Alert rect + DW $003C + DW $0064 + DW $012C + DW $0001 ; Alert ID + HEX 80 ; First stage byte + HEX 80 ; Second stage byte + HEX 80 ; Third stage byte + HEX 80 ; fourth stage byte + ADRL L017E9F ; Ptr to item template + ADRL L017EB7 ; Ptr to item template + ADRL $00000000 +L017E9F DW $0001 ; Item ID + DW $0024 ; Item rect + DW $005A + DW $0032 + DW $00A0 + DW $000A ; Std button + ADRL L01046F ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L017EB7 DW $0004 ; Item ID + DW $0011 ; Item rect + DW $001E + DW $001F + DW $0122 + DW $000F ; Static text +L017EC3 ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L017ECF JSL L0149A7 + PHX + PHA + _SetPenPat + RTS + +L017EDD LDX $72 + JSL L0149AE + PHX + PHA + _SetPenPat + RTS + +L017EED LDA $6E + ASL + ASL + TAY + LDA L019ECE,Y + PHA + LDA L019ECC,Y + PHA + STA L01975F + _SetPenSize + RTS + +L017F05 SEC + LDA L0196C1 + SBC L019735 + STA L019757 + LDA L0196C1+2 + SBC L019737 + CMP L01973F + BNE L017F20 + LDA L019757 + CMP L01973D +L017F20 BEQ L017F24 + BCS L017F54 +L017F24 SEC + LDA L0196C7 + SBC L01973B + BPL L017F34 + EOR #$FFFF + CLC + ADC #$0001 +L017F34 CMP #$0006 + BCS L017F54 + SEC + LDA L0196C5 + SBC L019739 + BPL L017F49 + EOR #$FFFF + CLC + ADC #$0001 +L017F49 CMP #$0006 + BCS L017F54 + LDA #$0001 + STA L019741 +L017F54 LDA L0196C1 + STA L019735 + LDA L0196C1+2 + STA L019737 + LDA L0196C7 + STA L01973B + LDA L0196C5 + STA L019739 + RTS + +L017F6D INC + STA L019755 + SEP #$20 + STA L017F7A+1 + REP #$20 + LDA $01,S +L017F7A STA $05,S + CLC + TSC + ADC L019755 + DEC + TCS + RTS + +L017F84 LDA $03,S + STA L0180B5 + LDA $05,S + STA L0180B7 + LDA $07,S + STA L0180B1 + LDA $09,S + STA L0180B3 + LDA $0B,S + STA $6A + LDA $0D,S + STA $6C + LDA $0F,S + STA $66 + LDA $11,S + STA $68 + LDA #$0001 + STA L01975F + PHA + PHA + _SetPenSize + JSR L018126 + LDA $13,S + BEQ L017FC1 + JSR L018DDB +L017FC1 LDA $13,S + BEQ L017FC8 + JSR L018E75 +L017FC8 LDA #$0000 + PHA + PHA + _WaitMouseUp + PLA + BNE L017FE4 + LDA $13,S + BNE L017FDE + JSR L01806A +L017FDE LDA #$0016 + JMP L017F6D + +L017FE4 PEA ^L0196C5 + PEA L0196C5 + _GetMouse + JSL L0181CE + JSR L018168 + JSR L0139B0 + JSR L0180C5 + LDA L0196C7 + CMP L0180B7 + BNE L018011 + LDA L0196C5 + CMP L0180B5 + BNE L018011 + BRL L017FC1 +L018011 LDA L0196C7 + STA L0180B7 + LDA L0196C5 + STA L0180B5 + JSR L01806A + LDA L0180B1 + STA $66 + LDA L0180B3 + STA $68 + LDA L0180B5 + STA $6A + LDA L0180B7 + STA $6C + LDA $6A + SEC + SBC $66 + BVS L01803E + EOR #$8000 +L01803E BMI L018048 + LDX $66 + LDA $6A + STA $66 + STX $6A +L018048 LDA $6C + SEC + SBC $68 + BVS L018052 + EOR #$8000 +L018052 BMI L01805C + LDX $68 + LDA $6C + STA $68 + STX $6C +L01805C LDA $15,S + BNE L018064 + INC $6A + INC $6C +L018064 JSR L01806A + BRL L017FC1 +L01806A LDA $15,S + BEQ L018072 + JSR L018E2E + RTS + +L018072 PEA $0000 + CLC + TDC + ADC #$0066 + PHA + LDA $1D,S + ASL + TAX + JMP (L0180BF,X) + +L018082 _FrameRect + BRA L0180A9 +L01808B _FrameOval + BRA L0180A9 +L018094 SEC + LDA $6C + SBC $68 + LSR + PHA + SEC + LDA $6A + SBC $66 + LSR + PHA + _FrameRRect +L0180A9 LDX $66 + LDY $6A + JSR L01412A + RTS + +L0180B1 DW $0000 +L0180B3 DW $0000 +L0180B5 DW $0000 +L0180B7 DW $0000 +L0180B9 DW $0000 +L0180BB DW $0000 +L0180BD DW $0000 +L0180BF DA L018082 + DA L018094 + DA L01808B +L0180C5 LDA $17,S + BNE L0180CA + RTS + +L0180CA SEC + LDA L0196C7 + SBC L0180B3 + STA L0180B9 + BPL L0180DA + EOR #$FFFF + INC +L0180DA PHA + SEC + LDA L0196C5 + SBC L0180B1 + STA L0180BB + BPL L0180EB + EOR #$FFFF + INC +L0180EB CMP $01,S + BCC L0180F1 + LDA $01,S +L0180F1 STA L0180BD + PLA + LDA L0180B9 + BMI L018103 + CLC + LDA L0180B3 + ADC L0180BD + BRA L01810A +L018103 SEC + LDA L0180B3 + SBC L0180BD +L01810A STA L0196C7 + LDA L0180BB + BMI L01811B + CLC + LDA L0180B1 + ADC L0180BD + BRA L018122 +L01811B SEC + LDA L0180B1 + SBC L0180BD +L018122 STA L0196C5 + RTS + +L018126 PEA ^L0199C4 + PEA L0199C4 + _GetPortRect + PEA ^L019751 + PEA L019751 + _GetPenSize + SEC + LDA L0199C8 + SBC L019751 + STA L0199C8 + SEC + LDA L0199CA + SBC L019753 + STA L0199CA + LDA $76 + CMP #$0001 + BNE L018167 + INC L0199C4 + INC L0199C6 + DEC L0199C8 + DEC L0199CA +L018167 RTS + +L018168 PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0199C4 + PEA L0199C4 + _PtInRect + PLA + BNE L0181CD + LDA L0196C7 + SEC + SBC L0199C6 + BVS L01818B + EOR #$8000 +L01818B BPL L0181A0 + LDA L0199CA + SEC + SBC L0196C7 + BVS L018199 + EOR #$8000 +L018199 BMI L0181A6 + LDA L0199CA + BRA L0181A3 +L0181A0 LDA L0199C6 +L0181A3 STA L0196C7 +L0181A6 LDA L0196C5 + SEC + SBC L0199C4 + BVS L0181B2 + EOR #$8000 +L0181B2 BPL L0181C7 + LDA L0199C8 + SEC + SBC L0196C5 + BVS L0181C0 + EOR #$8000 +L0181C0 BMI L0181CD + LDA L0199C8 + BRA L0181CA +L0181C7 LDA L0199C4 +L0181CA STA L0196C5 +L0181CD RTS + +L0181CE ENT + PHB + PHK + PLB + LDA $34 + BEQ L01820E + PHA + PHA + SEC + LDA L0196C7 + SBC $58 + DEC + DEC + PHA + PEA $0006 + _SDivide + PLA + CLC + ADC $58 + STA L0196C7 + PLA + PHA + PHA + SEC + LDA L0196C5 + SBC $56 + DEC + PHA + PEA $0006 + _SDivide + PLA + CLC + ADC $56 + STA L0196C5 + PLA +L01820E PLB + RTL + +L018210 PHX + PHY + PHX + PHY + _MoveTo + _LineTo + RTS + +L018223 ENT + PHB + PHK + PLB + LDA $09,S + STA L0187E8 + CLC + ADC $05,S + STA L0187EC + LDA $0B,S + STA L0187EA + CLC + ADC $07,S + STA L0187EE + PHA + PHA + PEA ^L0187AA + PEA L0187AA + _NewWindow + LDA $01,S + STA $A0 + LDA $03,S + STA $A2 + _SetPort + LDA #$0000 + PHA + PHA + _SetOrigin + PEA ^L019749 + PEA L019749 + _GetPortRect + PEA ^L019749 + PEA L019749 + LDA #$0002 + PHA + PHA + _InsetRect + LDA #$0002 + PHA + PHA + _SetPenSize + PEA ^L019749 + PEA L019749 + _FrameRect + LDA #$0001 + PHA + PHA + _SetPenSize + PLX + PLY + PLA + PLA + PLA + PLA + PHY + PHX + PLB + RTL + + PEA ^L019A14 + PEA L019A14 + _SetPenPat + RTS + +L0182C2 PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + RTS + +L0182D0 ENT + PHB + PHK + PLB + ASL + STA L0182E3 + ASL + ASL + CLC + ADC L0182E3 + ASL + ASL + ASL + ASL + PLB + RTL + +L0182E3 DW $0000 +L0182E5 STX L0183E2 + STY L0183E4 + LDA $34 + BNE L018309 + LDA L01997C + STA L0183E6 + LDA L01997E + STA L0183E8 + LDA L019980 + STA L0183EA + LDA L019982 + STA L0183EC + BRA L01831D +L018309 LDA $5E + STA L0183E6 + LDA $60 + STA L0183E8 + LDA $62 + STA L0183EA + LDA $64 + STA L0183EC +L01831D LDA $56 + STA L019749 + LDA $58 + STA L01974B + LDA $5A + STA L01974D + LDA $5C + STA L01974F + PEA ^L019749 + PEA L019749 + LDA L0183E2 + PHA + LDA L0183E4 + PHA + _OffsetRect + LDA L019749 + SEC + SBC L0183E6 + BVS L018352 + EOR #$8000 +L018352 BMI L01835F + SEC + LDA L0183E6 + SBC $56 + STA L0183E4 + BRA L01831D +L01835F LDA L01974B + SEC + SBC L0183E8 + BVS L01836B + EOR #$8000 +L01836B BMI L018378 + SEC + LDA L0183E8 + SBC $58 + STA L0183E2 + BRA L01831D +L018378 LDA L01974D + SEC + SBC L0183EA + BEQ L018394 + BVS L018386 + EOR #$8000 +L018386 BPL L018394 + SEC + LDA L0183EA + SBC $5A + STA L0183E4 + BRL L01831D +L018394 LDA L01974F + SEC + SBC L0183EC + BEQ L0183B0 + BVS L0183A2 + EOR #$8000 +L0183A2 BPL L0183B0 + SEC + LDA L0183EC + SBC $5C + STA L0183E2 + BRL L01831D +L0183B0 LDA #$0001 + TRB L01974B + TRB L01974F + LDA L019749 + STA $56 + LDA L01974B + STA $58 + LDA L01974D + STA $5A + LDA L01974F + STA $5C + CLC + LDA L0183E4 + ADC L019681 + STA L019681 + CLC + LDA L0183E2 + ADC L019683 + STA L019683 + RTS + +L0183E2 DW $0000 +L0183E4 DW $0000 +L0183E6 DW $0000 +L0183E8 DW $0000 +L0183EA DW $0000 +L0183EC DW $0000 +L0183EE ENT + PHB + PHK + PLB + PLA + STA L01855A + PLA + STA L01855C + PLA + STA $0A + STA L018546 + PLA + STA $0C + STA L018548 + LDA [$0A] + STA L01854A + LDY #$0002 + LDA [$0A],Y + STA L01854C + LDY #$0004 + LDA [$0A],Y + STA L01854E + LDY #$0006 + LDA [$0A],Y + STA L018550 + PLA + STA $0A + PLA + STA $0C + LDA [$0A] + STA L018552 + LDY #$0002 + LDA [$0A],Y + STA L018554 + LDY #$0004 + LDA [$0A],Y + STA L018556 + LDY #$0006 + LDA [$0A],Y + STA L018558 + CLC + LDA $01,S + ADC $05,S + CMP L0196C5 + BEQ L018457 + SEC + LDA L0196C5 + SBC $01,S + STA $05,S +L018457 CLC + LDA $03,S + ADC $0B,S + CMP L0196C7 + BEQ L018469 + SEC + LDA L0196C7 + SBC $03,S + STA $07,S +L018469 CLC + LDA L01854A + ADC $05,S + STA L019749 + LDA L019749 + SEC + SBC L018552 + BVS L01847E + EOR #$8000 +L01847E BMI L01848C + SEC + LDA L018552 + STA L019749 + SBC L01854A + STA $05,S +L01848C CLC + LDA L01854C + ADC $07,S + STA L01974B + LDA L01974B + SEC + SBC L018554 + BVS L0184A1 + EOR #$8000 +L0184A1 BMI L0184AF + SEC + LDA L018554 + STA L01974B + SBC L01854C + STA $07,S +L0184AF CLC + LDA L01854E + ADC $05,S + STA L01974D + LDA L01974D + SEC + SBC L018556 + BEQ L0184DB + BVS L0184C6 + EOR #$8000 +L0184C6 BPL L0184DB + SEC + LDA L018556 + STA L01974D + SBC L01854E + STA $05,S + CLC + ADC L01854A + STA L019749 +L0184DB CLC + LDA L018550 + ADC $07,S + STA L01974F + LDA L01974F + SEC + SBC L018558 + BEQ L018507 + BVS L0184F2 + EOR #$8000 +L0184F2 BPL L018507 + SEC + LDA L018558 + STA L01974F + SBC L018550 + STA $07,S + CLC + ADC L01854C + STA L01974B +L018507 LDA L018546 + STA $0A + LDA L018548 + STA $0C + LDA L019749 + STA [$0A] + LDY #$0002 + LDA L01974B + STA [$0A],Y + LDY #$0004 + LDA L01974D + STA [$0A],Y + LDY #$0006 + LDA L01974F + STA [$0A],Y + CLC + LDA $01,S + ADC $05,S + STA $01,S + CLC + LDA $03,S + ADC $07,S + STA $03,S + LDA L01855C + PHA + LDA L01855A + PHA + PLB + RTL + +L018546 DW $0000 +L018548 DW $0000 +L01854A DW $0000 +L01854C DW $0000 +L01854E DW $0000 +L018550 DW $0000 +L018552 DW $0000 +L018554 DW $0000 +L018556 DW $0000 +L018558 DW $0000 +L01855A DW $0000 +L01855C DW $0000 + MX %00 +L01855E ENT + PHB + PHK + PLB + LDA $05,S + BNE L018595 + LDA $0D,S + STA L0185BE + BPL L018573 + EOR #$FFFF + INC + STA L0185BE +L018573 LDA $0B,S + STA L0185BC + BPL L018581 + EOR #$FFFF + INC + STA L0185BC +L018581 LDA #$0001 + STA L0185C0 + LDA L0185BC + CMP L0185BE + BCS L018595 + LDA #$0002 + STA L0185C0 +L018595 LDA L0185C0 + CMP #$0001 + BEQ L0185A9 + LDA #$0000 + STA $0B,S + LDA $07,S + STA L0196C5 + BRA L0185B3 +L0185A9 LDA #$0000 + STA $0D,S + LDA $09,S + STA L0196C7 +L0185B3 PLX + PLY + PLA + PLA + PLA + PHY + PHX + PLB + RTL + +L0185BC DW $0000 +L0185BE DW $0000 +L0185C0 DW $0000 +L0185C2 ENT + PHB + PHK + PLB + LDA L0196BD + CMP #$001B + BNE L018604 + LDA L0196C9 + AND #$0100 + BEQ L018604 + LDA L0196C9 + AND #$0800 + BEQ L018604 + LDA $A6 + PHA + LDA $A4 + PHA + _InitColorTable + PEA $0000 + LDA $A6 + PHA + LDA $A4 + PHA + _SetColorTable + _InitPalette + PLB + SEC + RTL + +L018604 PLB + CLC + RTL + +L018607 ASL + TAY + LDA L01860D,Y + RTS + +L01860D DW $0000 + DW $0086 + DW $010C + DW $0192 + DW $0218 + DW $029E + DW $0324 + DW $03AA + DW $0430 + DW $04B6 + DW $053C + DW $05C2 + DW $0648 + DW $06CE + DW $0754 + DW $07DA + DW $0860 + DW $08E6 + DW $096C + DW $09F2 + DW $0A78 + DW $0AFE + DW $0B84 + DW $0C0A + DW $0C90 + DW $0D16 + DW $0D9C + DW $0E22 + DW $0EA8 + DW $0F2E + DW $0FB4 + DW $103A + DW $10C0 + DW $1146 + DW $11CC + DW $1252 + DW $12D8 + DW $135E + DW $13E4 + DW $146A + DW $14F0 + DW $1576 + DW $15FC + DW $1682 + DW $1708 + DW $178E + DW $1814 + DW $189A + DW $1920 + DW $19A6 + DW $1A2C + DW $1AB2 + DW $1B38 + DW $1BBE + DW $1C44 + DW $1CCA + DW $1D50 + DW $1DD6 + DW $1E5C + DW $1EE2 + DW $1F68 + DW $1FEE + DW $2074 + DW $20FA + DW $2180 + DW $2206 + DW $228C + DW $2312 + DW $2398 + DW $241E + DW $24A4 + DW $252A + DW $25B0 + DW $2636 + DW $26BC + DW $2742 + DW $27C8 + DW $284E + DW $28D4 + DW $295A + DW $29E0 + DW $2A66 + DW $2AEC + DW $2B72 + DW $2BF8 + DW $2C7E + DW $2D04 + DW $2D8A + DW $2E10 + DW $2E96 + DW $2F1C + DW $2FA2 + DW $3028 + DW $30AE + DW $3134 + DW $31BA + DW $3240 + DW $32C6 + DW $334C + DW $33D2 + DW $3458 + DW $34DE + DW $3564 + DW $35EA + DW $3670 + DW $36F6 + DW $377C + DW $3802 + DW $3888 + DW $390E + DW $3994 + DW $3A1A + DW $3AA0 + DW $3B26 + DW $3BAC + DW $3C32 + DW $3CB8 + DW $3D3E + DW $3DC4 + DW $3E4A + DW $3ED0 + DW $3F56 + DW $3FDC + DW $4062 + DW $40E8 + DW $416E + DW $41F4 + DW $427A + DW $4300 + DW $4386 + DW $440C + DW $4492 + DW $4518 + +*--- Request memory +* +* X: size high +* A: size low +* Y: attributes +* + +L018717 ENT + PHB + PHK + PLB + PEA $0000 + PEA $0000 + PHX + PHA + LDA L01967F + PHA + PHY + PEA $0000 + PEA $0000 + _NewHandle + BCC L01873B + PLA + PLA + PLB + SEC + RTL + +L01873B PLA + STA $0A + PLA + STA $0C + PLB + CLC + RTL + +L018744 ENT + PHB + PHK + PLB + JSR L013C36 + JSR L015981 + JSR L01192F + PLB + RTL + +L018752 ENT + PHB + PHK + PLB + LDA L019EE0+2 + PHA + LDA L019EE0 + PHA + _SetCursor + LDA #$0001 + STA $54 + PLB + RTL + +L01876B PHB + PHK + PLB + PHA + PHA + _FrontWindow + PLA + STA L0187A6 + PLA + STA L0187A6+2 + ORA L0187A6 + BEQ L0187A1 + PHA + LDA L0187A6+2 + PHA + LDA L0187A6 + PHA + _GetWKind + PLA + BMI L01879C + LDA #$0001 + PLB + RTL + +L01879C LDA #$FFFF + PLB + RTL + +L0187A1 LDA #$0000 + PLB + RTL + +L0187A6 ADRL $00000000 +L0187AA DW $004E + DW $0020 ; frame bits + ADRL $00000000 ; title ptr + ADRL $00000005 ; refcon + DW $0000 ; zoom rect + DW $0000 + DW $0000 + DW $0000 + ADRL $00000000 ; color table ptr + DW $0000 ; origin + DW $01F4 + DW $0000 ; data size + DW $03E8 + DW $0000 ; max size + DW $0000 + DW $0000 ; scroll size + DW $0000 + DW $0000 ; page size + DW $0000 + ADRL $00000000 ; info bar refcon + DW $0000 ; info bar hite + ADRL $00000000 ; window defproc + ADRL $00000000 ; info bar defproc + ADRL $00000000 ; content defproc +L0187E8 DW $0000 ; content rect +L0187EA DW $0000 +L0187EC DW $0000 +L0187EE DW $0000 + ADRL $FFFFFFFF ; starting plane + ADRL $00000000 ; storage ptr +L0187F8 STZ L019741 + LDA $76 + DEC + ASL + TAX + JMP (L01883D,X) + +L018803 LDA $76 + CMP #$000B + BEQ L01883C + LDA $3E + BNE L01883C + LDA $76 + CMP #$000F + BEQ L01881F + CMP #$0002 + BEQ L01881F + CMP #$000C + BNE L01883C +L01881F LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L01635D + LDA $78 + STA $76 + STA L01969D + JSR L01635D + JMP L016333 +L01883C RTS + +L01883D DA L018803 + DA L0188CE + DA L018803 + DA L0188F5 + DA L018803 + DA L018803 + DA L018803 + DA L018803 + DA L018803 + DA L018803 + DA L0188A1 + DA L011B55 + DA L018803 + DA L018918 + DA L018865 + DA L018803 + DA L018803 + DA L018803 + DA L018803 + DA L018803 +L018865 LDA $3E + BNE L01889E + JSR L0118CC + LDA $92 + PHA + LDA $90 + PHA + _SetPort + PEA ^L019749 + PEA L019749 + _GetPortRect + PEA ^L019749 + PEA L019749 + LDX $74 + JSL L0149AE + PHX + PHA + _FillRect + JSR L014117 +L01889E BRL L018803 +L0188A1 LDA $3E + BNE L0188CB + JSR L01192F + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $56 + STA $66 + LDA $58 + STA $68 + LDA $5A + STA $6A + LDA $5C + STA $6C + JSR L018DDB + JSR L015F79 +L0188CB BRL L018803 +L0188CE LDA $3E + BNE L0188F2 + PEA $FFFF + PEA $0004 + _HiliteMenu + LDA #$000C + JSR L01080A + PEA $0000 + PEA $0004 + _HiliteMenu +L0188F2 BRL L018803 +L0188F5 PEA $FFFF + PEA $0004 + _HiliteMenu + LDA #$0004 + JSR L01080A + PEA $0000 + PEA $0004 + _HiliteMenu + BRL L018803 +L018918 LDA $3E + BNE L01891F + JSR L013F7B +L01891F BRL L018803 +L018922 LDA #$0004 + STA $46 + PEA ^L019771 + PEA L019771 + _OpenPort + PEA ^L01999C + PEA L01999C + _SetPortLoc + STZ L019749 + STZ L01974B + SEC + LDA $6A + SBC $66 + STA L01974D + SEC + LDA $6C + SBC $68 + STA L01974F + PEA ^L019749 + PEA L019749 + _InvertRect + PEA ^L019771 + PEA L019771 + _ClosePort + LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + RTS + +L01898C SEC + LDA $6A + SBC $66 + STA L018A44 + SEC + LDA $6C + SBC $68 + STA L018A46 + LDA L018A46 + LSR + AND #$FFFC + STA L018A46 + LDA L019998 + STA $0A + LDA L01999A + STA $0C + PHA + PHA + LDA L018A44 + DEC + PHA + PEA $0086 + _Multiply + CLC + PLA + ADC L0199AC + STA $0E + PLA + ADC L0199AE + STA $10 + LDX L018A44 +L0189D1 LDY L018A46 +L0189D4 LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L0189D4 + CLC + LDA $0A + ADC #$0086 + STA $0A + SEC + LDA $0E + SBC #$0086 + STA $0E + DEX + BNE L0189D1 + LDA #$0008 + STA $46 + LDA L0199AC + STA $0A + LDA L0199AE + STA $0C + LDA L019998 + STA $0E + LDA L01999A + STA $10 + LDX L018A44 +L018A0B LDY L018A46 +L018A0E LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L018A0E + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L018A0B + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + + MX %00 +L018A44 DW $0000 +L018A46 DW $0000 +L018A48 TAX + LDA $36 + PHA + EOR #$FFFF + INC + STA $36 + PLA + CPX #$0000 + BNE L018A88 + CMP #$0001 + BEQ L018A64 + LDA #$0004 + JMPL L0190DA + +L018A64 LDA L0196C7 + PHA + LDA L0196C5 + PHA + LDA $66 + STA L0196C5 + LDA $68 + STA L0196C7 + JSR L01618F + PLA + STA L0196C5 + PLA + STA L0196C7 + LDA #$0002 + JMPL L0190DA + +L018A88 LDA $36 + CMP #$0001 + BEQ L018A96 + LDA #$0003 + JMPL L0190DA + +L018A96 LDA #$0001 + JMPL L0190DA + +L018A9D STZ $44 + LDA $36 + BEQ L018AA5 + BPL L018AA6 +L018AA5 RTS + +L018AA6 LDA L0196C7 + PHA + LDA L0196C5 + PHA + PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + JSL L0181CE + LDA L0196C5 + STA L019751 + LDA L0196C7 + STA L019753 + PLA + STA L0196C5 + PLA + STA L0196C7 + PHA + PEA ^L019751 + PEA L019751 + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + _PtInRect + PLA + BEQ L018B28 + PHA + PHA + SEC + LDA L019751 + SBC $66 + PHA + PEA $0086 + _Multiply + PLA + CLC + ADC L01998A + STA $0A + PLA + ADC L01998C + STA $0C + SEC + LDA L019753 + SBC $68 + LSR + TAY + LDA [$0A],Y + BCC L018B1E + AND #$000F + BRA L018B21 +L018B1E AND #$00F0 +L018B21 BNE L018B28 + LDA #$0001 + STA $44 +L018B28 RTS + +L018B29 PLX + PLA + STA L018DD7 + PLA + STA L018DD9 + PLA + STA L018DBF + PLA + STA L018DC1 + PLA + STA L018DBB + PLA + STA L018DBD + PHX + LDA $12 + STA L018DD3 + LDA $14 + STA L018DD5 + SEC + LDA $68 + SBC $58 + STA L018DC3 + SEC + LDA $6C + SBC $58 + STA L018DC5 + _HideCursor + LDX L018DBB +L018B67 PHX + STZ L018DC7 + CPX $66 + BCC L018B79 + CPX $6A + BCS L018B79 + LDA #$0001 + STA L018DC7 +L018B79 STZ L018DCF + STZ L018DD1 + LDY L018DBD +L018B82 PHY + LDA [$0A],Y + LDX L018DC7 + BNE L018B8D + BRL L018D4D +L018B8D STA L018DC9 + TYA + ASL + TAX + PHX + CPX L018DC3 + BCS L018B9C + BRL L018C0D +L018B9C INX + INX + INX + CPX L018DC5 + BCC L018BA7 + BRL L018C0D +L018BA7 PLX + LDY L018DCF + TYA + INC + INC + STA L018DCF + BIT L018DD1 + BMI L018BC3 + LDA [$28],Y + EOR #$FFFF + STA L018DCD + AND [$12],Y + BRL L018D42 +L018BC3 PHY + LDY L018DCF + LDA [$28],Y + XBA + STA L018DCB + PLY + LDA [$28],Y + XBA + ASL L018DCB + ROL + ASL L018DCB + ROL + ASL L018DCB + ROL + ASL L018DCB + ROL + XBA + EOR #$FFFF + STA L018DCD + PHY + LDY L018DCF + LDA [$12],Y + XBA + STA L018DCB + PLY + LDA [$12],Y + XBA + ASL L018DCB + ROL + ASL L018DCB + ROL + ASL L018DCB + ROL + ASL L018DCB + ROL + XBA + AND L018DCD + BRL L018D42 +L018C0D PLX + STZ L018DCB + STZ L018DCD + CPX L018DC5 + BCC L018C1C + BRL L018D3C +L018C1C CPX L018DC3 + BCC L018C5C + LDY L018DCF + LDA [$28],Y + EOR #$FFFF + BIT L018DD1 + BMI L018C33 + AND #$00F0 + BRA L018C3A +L018C33 AND #$000F + ASL + ASL + ASL + ASL +L018C3A TSB L018DCD + LDA [$12],Y + BIT L018DD1 + BMI L018C4C + DEC L018DD1 + AND #$00F0 + BRA L018C59 +L018C4C INC L018DD1 + INC L018DCF + AND #$000F + ASL + ASL + ASL + ASL +L018C59 TSB L018DCB +L018C5C INX + CPX L018DC5 + BCC L018C65 + BRL L018D3C +L018C65 CPX L018DC3 + BCC L018CA5 + LDY L018DCF + LDA [$28],Y + EOR #$FFFF + BIT L018DD1 + BMI L018C80 + AND #$00F0 + LSR + LSR + LSR + LSR + BRA L018C83 +L018C80 AND #$000F +L018C83 TSB L018DCD + LDA [$12],Y + BIT L018DD1 + BMI L018C99 + DEC L018DD1 + AND #$00F0 + LSR + LSR + LSR + LSR + BRA L018CA2 +L018C99 INC L018DD1 + INC L018DCF + AND #$000F +L018CA2 TSB L018DCB +L018CA5 INX + CPX L018DC5 + BCC L018CAE + BRL L018D3C +L018CAE CPX L018DC3 + BCC L018CF2 + LDY L018DCF + LDA [$28],Y + EOR #$FFFF + BIT L018DD1 + BMI L018CC6 + AND #$00F0 + XBA + BRA L018CCE +L018CC6 AND #$000F + XBA + ASL + ASL + ASL + ASL +L018CCE TSB L018DCD + LDA [$12],Y + BIT L018DD1 + BMI L018CE1 + DEC L018DD1 + AND #$00F0 + XBA + BRA L018CEF +L018CE1 INC L018DD1 + INC L018DCF + AND #$000F + XBA + ASL + ASL + ASL + ASL +L018CEF TSB L018DCB +L018CF2 INX + CPX L018DC5 + BCS L018D3C + CPX L018DC3 + BCC L018D3C + LDY L018DCF + LDA [$28],Y + EOR #$FFFF + BIT L018DD1 + BMI L018D14 + AND #$00F0 + XBA + LSR + LSR + LSR + LSR + BRA L018D18 +L018D14 AND #$000F + XBA +L018D18 TSB L018DCD + LDA [$12],Y + BIT L018DD1 + BMI L018D2F + DEC L018DD1 + AND #$00F0 + XBA + LSR + LSR + LSR + LSR + BRA L018D39 +L018D2F INC L018DD1 + INC L018DCF + AND #$000F + XBA +L018D39 TSB L018DCB +L018D3C LDA L018DCB + AND L018DCD +L018D42 PHA + LDA L018DCD + TRB L018DC9 + PLA + ORA L018DC9 +L018D4D PLY + STA [$0E],Y + INY + INY + CPY L018DC1 + BCS L018D5A + BRL L018B82 +L018D5A CLC + LDA $0E + ADC #$00A0 + STA $0E + CLC + LDA $0A + ADC #$00A0 + STA $0A + LDA L018DC7 + BEQ L018D87 + CLC + LDA $12 + ADC #$0086 + CMP L018DD7 + BNE L018D7D + LDA L018DD3 +L018D7D STA $12 + CLC + LDA $28 + ADC #$0086 + STA $28 +L018D87 PLX + INX + CPX L018DBF + BCS L018D91 + BRL L018B67 +L018D91 _ShowCursor + PHA + PHA + _GetTick + LDA $01,S + STA L018DC9 +L018DA6 _GetTick + SEC + LDA $01,S + SBC L018DC9 + CMP #$0005 + BCC L018DA6 + PLA + PLA + RTS + +L018DBB DW $0000 +L018DBD DW $0000 +L018DBF DW $0000 +L018DC1 DW $0000 +L018DC3 DW $0000 +L018DC5 DW $0000 +L018DC7 DW $0000 +L018DC9 DW $0000 +L018DCB DW $0000 +L018DCD DW $0000 +L018DCF DW $0000 +L018DD1 DW $0000 +L018DD3 DW $0000 +L018DD5 DW $0000 +L018DD7 DW $0000 +L018DD9 DW $0000 +L018DDB STZ L018F55 + PEA ^L019A34 + PEA L019A34 + _SetPenPat + PEA $0002 + _SetPenMode + LDA #$0001 + STA L01975F + PHA + PHA + _SetPenSize + BRL L018E2E +L018E07 LDA $36 + BMI L018E20 + CMP #$0002 + BNE L018E20 + LDA $92 + PHA + LDA $90 + PHA + _SetPort + BRL L018DDB +L018E20 RTS + +L018E21 LDA $36 + BMI L018E2D + CMP #$0002 + BNE L018E2D + JSR L018E2E +L018E2D RTS + +L018E2E LDA L018F55 + BPL L018E5D + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + _FrameRect + PEA ^L019A34 + PEA L019A34 + _SetPenPat +L018E5D PEA $0000 + CLC + TDC + ADC #$0066 + PHA + _FrameRect + LDX $66 + LDY $6A + JSR L01412A + RTS + +L018E75 LDA $36 + CMP #$0002 + BEQ L018EA8 + CMP #$0001 + BEQ L018E82 + RTS + +L018E82 SEC + LDA L0196C1 + SBC L018F53 + CMP #$000A + BCS L018E8F + RTS + +L018E8F LDA L0196C1 + STA L018F53 + LDY #$010A +L018E98 LDA [$A4],Y + EOR #$FFFF + STA [$A4],Y + DEY + DEY + BPL L018E98 + JSR L018EF6 + BRA L018EEE +L018EA8 SEC + LDA L0196C1 + SBC L018F53 + CMP #$000A + BCS L018EB5 + RTS + +L018EB5 LDA L0196C1 + STA L018F53 + LDA L018F55 + EOR #$FFFF + STA L018F55 + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA $0000 + CLC + TDC + ADC #$0066 + PHA + _FrameRect + PEA ^L019A34 + PEA L019A34 + _SetPenPat +L018EEE LDX $66 + LDY $6A + JSR L01412A + RTS + +L018EF6 LDA $68 + PHA + LDA $66 + PHA + LDA $6C + PHA + LDA $6A + PHA + SEC + LDA $07,S + SBC $58 + AND #$FFFC + LSR + STA $07,S + SEC + LDA $03,S + DEC + SBC $58 + AND #$FFFC + LSR + INC + INC + STA $03,S + SEC + LDA $05,S + SBC $56 + JSL L0182D0 + CLC + ADC #$3197 + STA $0E + STA $0A + LDA #$00E1 + STA $10 + STA $0C + LDA L0199B2 + STA $28 + LDA L0199B4 + STA $2A + LDA $A4 + STA $12 + LDA $A6 + STA $14 + LDA $14 + PHA + CLC + LDA $12 + ADC #$010C + PHA + JSR L018B29 + RTS + +L018F53 DW $0000 +L018F55 DW $0000 + +L018F57 LDA L019976 + STA $0A + LDA L019978 + STA $0C + LDA $A4 + STA $0E + LDA $A6 + STA $10 + LDY #$0000 +L018F6C LDA [$0E],Y + JSR L01902E + STA L0190B4,Y + LDA #$0000 + STA L019074,Y + INY + INY + INX + INX + CPY #$0020 + BNE L018F6C + LDY #$0000 +L018F86 TYX +L018F87 INX + INX + LDA L0190B4,X + CMP L0190B4,Y + BCC L018F96 + INC L019074,X + BRA L018F9C +L018F96 PHX + TYX + INC L019074,X + PLX +L018F9C CPX #$001E + BNE L018F87 + INY + INY + CPY #$001E + BNE L018F86 + LDY #$0000 + STY L0190D8 +L018FAE LDA L019074,Y + ASL + ASL + ASL + ASL + STA L019094,Y + TYA + CMP L019074,Y + BEQ L018FC1 + INC L0190D8 +L018FC1 INY + INY + CPY #$0020 + BNE L018FAE + LDA L0190D8 + BNE L018FCE + RTS + +L018FCE LDY #$0000 +L018FD1 LDA [$0A],Y + JSR L019009 + XBA + JSR L019009 + XBA + STA [$0A],Y + INY + INY + CPY #$F800 + BNE L018FD1 + LDY #$0000 +L018FE7 LDA L019074,Y + ASL + TAX + LDA [$0E],Y + STA L019054,X + INY + INY + CPY #$0020 + BNE L018FE7 + PEA $0000 + PEA ^L019054 + PEA L019054 + _SetColorTable + RTS + +L019009 STA L0190D4 + AND #$000F + ASL + TAX + LDA L0190D4 + AND #$FFF0 + ORA L019074,X + STA L0190D4 + AND #$00F0 + LSR + LSR + LSR + TAX + LDA L0190D4 + AND #$FF0F + ORA L019094,X + RTS + +L01902E STA L0190D6 + AND #$000F + STA L0190D4 + LDA L0190D6 + AND #$00F0 + LSR + LSR + LSR + LSR + CLC + ADC L0190D4 + STA L0190D4 + LDA L0190D6 + AND #$0F00 + XBA + CLC + ADC L0190D4 + RTS + +L019054 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L019074 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L019094 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0190B4 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0190D4 DW $0000 +L0190D6 DW $0000 +L0190D8 DW $0000 + +L0190DA DEC + ASL + TAX + JMP (L0190E0,X) + +L0190E0 DA L0190F0 + DA L019105 + DA L01911A + DA L01912F + DA L019144 + DA L01917B + DA L0191AE + DA L019221 + +L0190F0 LDX L01929A +L0190F3 PHX + LDA L01929A,X + PHA + _EnableMItem + PLX + DEX + DEX + BNE L0190F3 + RTS + +L019105 LDX L01929A +L019108 PHX + LDA L01929A,X + PHA + _DisableMItem + PLX + DEX + DEX + BNE L019108 + RTS + +L01911A LDX L0192A2 +L01911D PHX + LDA L0192A2,X + PHA + _EnableMItem + PLX + DEX + DEX + BNE L01911D + RTS + +L01912F LDX L0192A2 +L019132 PHX + LDA L0192A2,X + PHA + _DisableMItem + PLX + DEX + DEX + BNE L019132 + RTS + +L019144 PEA $011C + _DisableMItem + PEA $011D + _DisableMItem + LDA $42 + BEQ L019166 + PEA $010F + _EnableMItem +L019166 LDX L0192B2 +L019169 PHX + LDA L0192B2,X + PHA + _EnableMItem + PLX + DEX + DEX + BNE L019169 + RTS + +L01917B PEA $011C + _EnableMItem + PEA $011D + _EnableMItem + PEA $010F + _DisableMItem + LDX L0192B2 +L01919C PHX + LDA L0192B2,X + PHA + _DisableMItem + PLX + DEX + DEX + BNE L01919C + RTS + +L0191AE PEA $0100 + _DisableMItem + PEA $0101 + _DisableMItem + PEA $010D + _EnableMItem + PEA $010E + _EnableMItem + PEA $010F + _EnableMItem + PEA $0110 + _EnableMItem + LDA #$0080 + PHA + PHA + PHA + PHA + PEA $0004 + _SetMenuFlag + PEA $0005 + _SetMenuFlag + PEA $0006 + _SetMenuFlag + PEA $0002 + _SetMenuFlag + _DrawMenuBar + RTS + +L019221 PEA $0100 + _EnableMItem + PEA $0101 + _EnableMItem + PEA $010D + _DisableMItem + PEA $010E + _DisableMItem + LDA $42 + BNE L019257 + PEA $010F + _DisableMItem +L019257 PEA $0110 + _DisableMItem + LDA #$FF7F + PHA + PHA + PHA + PHA + PEA $0004 + _SetMenuFlag + PEA $0005 + _SetMenuFlag + PEA $0006 + _SetMenuFlag + PEA $0002 + _SetMenuFlag + _DrawMenuBar + RTS + + DW $0000 +L01929A DW $0006 + DW $010D + DW $010E + DW $0110 +L0192A2 DW $000E + DW $010D + DW $010E + DW $0110 + DW $0111 + DW $0112 + DW $0113 + DW $0114 +L0192B2 DW $0016 + DW $0117 + DW $010C + DW $0118 + DW $0116 + DW $011E + DW $011F + DW $0104 + DW $0105 + DW $0106 + DW $0107 + DW $010A + +L0192CA ENT + PHB + PHK + PLB + LDA L019685 + STA L0192ED+1 + STA L019379+1 + LDA #$0022 + STA L019384 + STZ L019384+2 + TDC + CLC + ADC #$007E + STA L019384+1 + SEP #$30 + LDAL CLRROM +L0192ED LDAL $00C100 + LDA L019686 + STAL MSLOT + LDAL MSLOT + TAX + LDA #$00 + STAL $0003B8,X + EOR #$25 + ORA #$80 + STAL $000438,X + LDA #$00 + STAL $0005B8,X + STAL $0006B8,X + STAL $000538,X + LDA #$10 + STAL $0004B8,X + LDA #$03 + STAL $000638,X + LDA #$08 + STAL $000738,X + REP #$30 + PEA ^L01933C + PEA L01933C + _SetHeartBeat + PLB + RTL + +L01933C ADRL $00000000 +L019340 DW $0002 + DW $A55A + PHB + PHK + PLB + REP #$30 + LDA L019470 + BNE L019369 + INC L019470 + PEA $0000 + PEA $0000 + PEA $000D + _GetAddr + PLA + STA L019472 + PLA + STA L019472+2 +L019369 LDA #$0002 + STA L019340 + TSC + STA L01947E + SEC + XCE + LDAL CLRROM +L019379 LDAL $00C100 + LDA L019686 + STAL MSLOT +L019384 JSL $FFFFFF + CLC + XCE + REP #$30 + LDA L01947E + TCS + STZ L019476 + LDA L019478 + PHA + LDA L01947A + PHA + LDAL $000285 + STA L019478 + LDAL $000287 + STA L01947A + PHD + LDA L019472+2 + PHA + LDA L019472 + PHA + TSC + TCD + LDA L019478 + BMI L0193BD + CMP [$01] + BCS L0193C2 +L0193BD LDA [$01] + STA L019478 +L0193C2 LDY #$0004 + CMP [$01],Y + BCC L0193CE + LDA [$01],Y + STA L019478 +L0193CE LDY #$0002 + LDA L01947A + BMI L0193DA + CMP [$01],Y + BCS L0193DF +L0193DA LDA [$01],Y + STA L01947A +L0193DF LDY #$0006 + CMP [$01],Y + BCC L0193EB + LDA [$01],Y + STA L01947A +L0193EB PLA + PLA + PLD + PLA + CMP L01947A + BEQ L0193FA + LDA #$0002 + STA L019476 +L0193FA PLA + CMP L019478 + BEQ L019406 + LDA #$0002 + STA L019476 +L019406 LDA L01947C + AND #$9000 + TAX + STZ L01947C + LDAL $000280 + ROR + BCS L01941D + LDA #$8000 + STA L01947C +L01941D TXA + CMP L01947C + BEQ L01942C + LDA L019476 + ORA #$0004 + STA L019476 +L01942C TXA + AND #$8000 + BEQ L01943B + LDA L01947C + ORA #$4000 + STA L01947C +L01943B LDA L019476 + BEQ L01946B + PHA + SEP #$30 + LDAL KEYMODREG + PHA + LDA #$00 + PHA + REP #$30 + LDA L019478 + PHA + LDA L01947A + PHA + LDA L01947C + PHA + _FakeMouse + BCC L01946B + STZ L019478 + STZ L01947A + STZ L01947C +L01946B SEP #$30 + PLB + CLC + RTL + +L019470 DW $0000 +L019472 ADRL $00000000 +L019476 DW $0000 +L019478 DW $0000 +L01947A DW $0000 +L01947C DW $0000 +L01947E DW $0000 + + MX %00 +L019480 PLA + STA L019679 + PLA + STA $0A + PLA + STA $0C + SEC + LDY #$0004 + LDA [$0A],Y + SBC [$0A] + STA L01966B + SEC + LDY #$0006 + LDA [$0A],Y + LDY #$0002 + SBC [$0A],Y + STA L019677 + LSR + DEC + DEC + STA L01966D + PLA + STA L01966F + PLA + STA L019671 + LDA L019679 + PHA + LDA L01966F + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDX L01966B +L0194CC LDY L01966D +L0194CF LDA [$0A],Y + STA [$0E],Y + DEY + DEY + BPL L0194CF + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L0194CC + CLC + LDA L01966F + ADC #$0086 + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDA L01966B + DEC + STA L019673 + LDA L01966D + STA L019675 + JSR L019647 + LDY L019675 + LDA #$FFFF +L019518 STA [$0E],Y + DEY + DEY + BPL L019518 + LDA L01966F + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDY L019675 + LDA #$FFFF +L019538 STA [$0E],Y + DEY + DEY + BPL L019538 + CLC + LDA L0199AC + ADC #$0086 + STA $0E + JSR L019647 + LDA L01966F + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDX L01966B +L019561 LDY #$0000 +L019564 PHY + INY + INY + LDA [$0A],Y + XBA + CPY L01966D + BEQ L019574 + BCC L019574 + LDA #$FFFF +L019574 STA L01967B + PLY + LDA [$0A],Y + XBA + ASL L01967B + ROL + ASL L01967B + ROL + ASL L01967B + ROL + ASL L01967B + ROL + XBA + ORA [$0E],Y + STA [$0E],Y + INY + INY + CPY L01966D + BEQ L019564 + BCC L019564 + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L019561 + LDA L01966F + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDX L01966B +L0195C3 LDY #$0000 + LDA #$FFFF + STA L01967B +L0195CC LDA [$0A],Y + XBA + STA L01967D + LSR L01967B + ROR + LSR L01967B + ROR + LSR L01967B + ROR + LSR L01967B + ROR + XBA + ORA [$0E],Y + STA [$0E],Y + LDA L01967D + STA L01967B + INY + INY + CPY L01966D + BEQ L0195CC + BCC L0195CC + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L0195C3 + LDA L01966F + STA $0A + LDA L019671 + STA $0C + LDA L0199AC + STA $0E + LDA L0199AE + STA $10 + LDX L01966B +L019620 LDY L01966D +L019623 LDA [$0A],Y + EOR [$0E],Y + EOR #$FFFF + STA [$0E],Y + DEY + DEY + BPL L019623 + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L019620 + JMPL L018EF6 + +L019647 LDX L019673 +L01964A LDY L019675 +L01964D LDA [$0A],Y + ORA [$0E],Y + STA [$0E],Y + DEY + DEY + BPL L01964D + CLC + LDA $0A + ADC #$0086 + STA $0A + CLC + LDA $0E + ADC #$0086 + STA $0E + DEX + BNE L01964A + RTS + +L01966B DW $0000 +L01966D DW $0000 +L01966F DW $0000 +L019671 DW $0000 +L019673 DW $0000 +L019675 DW $0000 +L019677 DW $0000 +L019679 DW $0000 +L01967B DW $0000 +L01967D DW $0000 +L01967F ENT + DW $0000 +L019681 ENT + DW $0000 +L019683 ENT + DW $0000 +L019685 ENT + DB $00 +L019686 ENT + DB $00 +L019687 ENT ; type of loaded picture (BIN/PNT/PIC) + DW $0000 +L019689 DW $0000 +L01968B DW $0000 +L01968D ENT + DW $0000 + DW $0000 +L019691 ENT + DW $0000 +L019693 ENT + DW $0000 + DW $0000 +L019697 DW $0000 +L019699 ENT + DW $0000 +L01969B ENT + DW $0000 +L01969D ENT + DW $0000 +L01969F DW $0000 +L0196A1 DW $0000 +L0196A3 ENT + DB $00 + DB $00 + DB $00 + DB $0F + DB $0F + DB $02 + DB $F0 + DB $F0 + DB $F0 + DB $00 +L0196AD ENT + DW $0000 +L0196AF ENT + DW $0000 +L0196B1 ENT + DW $0000 +L0196B3 ENT + DW $0000 +L0196B5 ENT + DW $0000 + DW $0000 +L0196B9 ENT + DW $0000 +L0196BB ENT + DW $0000 ; event code +L0196BD ENT + ADRL $00000000 ; event message +L0196C1 ENT + ADRL $00000000 ; tick count +L0196C5 ENT + DW $0000 ; mouse location +L0196C7 ENT + DW $0000 +L0196C9 ENT + DW $0000 ; modifiers +L0196CB ENT + DW $0000 +L0196CD DW $0000 +L0196CF DW $0028 ; Alert rect + DW $003C + DW $006E + DW $012C + DW $0001 ; Alert ID + HEX 80 ; First stage byte + HEX 80 ; Second stage byte + HEX 80 ; Third stage byte + HEX 80 ; fourth stage byte + ADRL L0196ED ; Ptr to item template + ADRL L019705 ; Ptr to item template + ADRL L01971D ; Ptr to item template + ADRL $00000000 +L0196ED DW $0001 ; Item ID + DW $002E ; Item rect + DW $0014 + DW $003C + DW $005A + DW $000A ; Std button + ADRL L01046F ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L019705 DW $0002 ; Item ID + DW $002E ; Item rect + DW $0096 + DW $003C + DW $00DC + DW $000A ; Std button + ADRL L010472 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L01971D DW $0003 ; Item ID +L01971F DW $0014 ; Item rect +L019721 DW $0000 +L019723 DW $0022 +L019725 DW $0000 + DW $800F ; Static text +L019729 ADRL $00000000 ; Item descriptor + DW $0000 ; Item value + DW $0000 ; Bit flag + ADRL $00000000 ; Ptr to color table +L019735 DW $0000 +L019737 DW $0000 +L019739 DW $0000 +L01973B DW $0000 +L01973D ENT + DW $0000 +L01973F ENT + DW $0000 +L019741 DW $0000 +L019743 DW $0000 +L019745 DW $0000 +L019747 DW $0000 +L019749 DW $0000 +L01974B DW $0000 +L01974D DW $0000 +L01974F DW $0000 +L019751 ENT + DW $0000 +L019753 ENT + DW $0000 +L019755 DW $0000 +L019757 DW $0000 + DW $0000 + DW $0000 + DW $0000 +L01975F DW $0000 +L019761 DW $0000 +L019763 DW $0000 +L019765 DW $0000 +L019767 DW $0000 +L019769 DW $0000 +L01976B DW $0000 +L01976D DW $0000 +L01976F DW $0000 +L019771 DS $B4 ; a port +L019825 ENT ; a port + DS $B4 + +*--- replyPtr + +L0198D9 ENT + DW $0000 ; good +L0198DB DW $0000 ; fileType +L0198DD DW $0000 ; auxFileType +L0198DF ENT + DS 16 ; fileName +L0198EF ENT + DS 129 ; fullPathname + +*--- + +L019970 ENT + DB $00 + DB $00 +L019972 ENT + DB $00 + DB $00 +L019974 ENT + DB $00 + DB $00 +L019976 ENT + DB $00 + DB $00 +L019978 ENT + DB $00 + DB $00 + DB $A0 + DB $00 +L01997C ENT + DB $00 + DB $00 +L01997E DB $00 + DB $00 +L019980 ENT + DB $00 + DB $00 +L019982 DB $40 + DB $01 +L019984 ENT + DB $00 + DB $00 +L019986 ENT + DB $00 + DB $00 +L019988 DB $00 + DB $00 +L01998A DB $00 + DB $00 +L01998C DB $00 + DB $00 + DB $86 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $85 + DB $00 + DB $0C + DB $01 +L019998 ENT + DW $0000 +L01999A ENT + DW $0000 +L01999C DW $0000 +L01999E DW $0000 +L0199A0 DW $0000 + DW $0086 + DW $0000 + DW $0000 + DW $0085 + DW $010C +L0199AC ENT + DW $0000 +L0199AE ENT + DW $0000 +L0199B0 DW $0000 +L0199B2 DW $0000 +L0199B4 DW $0000 + DW $0086 + DW $0000 + DW $0000 + DW $0085 + DW $010C +L0199C0 ENT + DW $0000 +L0199C2 ENT + DW $0000 +L0199C4 DW $0000 +L0199C6 DW $0000 +L0199C8 DW $0000 +L0199CA DW $0000 +L0199CC ENT + DW $0000 +L0199CE ENT + DW $0000 + DW $0000 + DW $0000 +L0199D4 DW $0096 + DW $0004 + DW $00C3 + DW $0029 +L0199DC DW $00A4 + DW $002D + DW $00C3 + DW $013B +L0199E4 DW $000F + DW $0004 + DW $0092 + DW $0029 +L0199EC DW $0000 + DW $0000 + DW $00C8 + DW $0140 +L0199F4 ENT + HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF +L019A14 ENT + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L019A34 HEX FFFF0000FFFF00000000FFFF0000FFFF + HEX FFFF0000FFFF00000000FFFF0000FFFF +L019A54 HEX 0F0F0F0FF0F0F0F00F0F0F0FF0F0F0F0 + HEX 0F0F0F0FF0F0F0F00F0F0F0FF0F0F0F0 +L019A74 HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + HEX FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + HEX EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE + HEX EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE + HEX DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + HEX DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + HEX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC + HEX CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC + HEX BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + HEX BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB + HEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + HEX AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + HEX 99999999999999999999999999999999 + HEX 99999999999999999999999999999999 + HEX 88888888888888888888888888888888 + HEX 88888888888888888888888888888888 + HEX 77777777777777777777777777777777 + HEX 77777777777777777777777777777777 + HEX 66666666666666666666666666666666 + HEX 66666666666666666666666666666666 + HEX 55555555555555555555555555555555 + HEX 55555555555555555555555555555555 + HEX 44444444444444444444444444444444 + HEX 44444444444444444444444444444444 + HEX 33333333333333333333333333333333 + HEX 33333333333333333333333333333333 + HEX 22222222222222222222222222222222 + HEX 22222222222222222222222222222222 + HEX 11111111111111111111111111111111 + HEX 11111111111111111111111111111111 + HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L019C74 HEX 0FFFFFFFFFFFFFFF + HEX FFFF0FFFFFFFFFFF + HEX 0FFFFFFFFFFFFFFF + HEX FFFF0FFFFFFFFFFF + HEX 0FFF0FFFFF0FFF0F + HEX 0FFF0FFFFF0FFF0F + HEX 0FFF0FFFFF0FFF0F + HEX 0FFF0FFFFF0FFF0F + HEX 0F0F0F0FF0F0F0F0 + HEX 0F0F0F0FF0F0F0F0 + HEX 0F0F0F0FF0F0F0F0 + HEX 0F0F0F0FF0F0F0F0 + HEX F000000000000000 + HEX 0000F00000000000 + HEX F000000000000000 + HEX 0000F00000000000 + HEX F000F00000F000F0 + HEX F000F00000F000F0 + HEX F000F00000F000F0 + HEX F000F00000F000F0 + HEX FFF0FFF0FF0FFF0F + HEX F0FFF0FF0FFF0FFF + HEX FFF0FFF0FF0FFF0F + HEX F0FFF0FF0FFF0FFF + HEX FFFFFFF0FFFFFF0F + HEX FFFFF0FFFFFF0FFF + HEX FFF0FFFFFF0FFFFF + HEX F0FFFFFF0FFFFFFF + HEX 0FFFFFFFF0FFFFFF + HEX FF0FFFFFFFFFFFFF + HEX FFFFFF0FFFFFF0FF + HEX FFFF0FFFFFFFFFFF + HEX 00000000FFFFFFFF + HEX 00000000FFFFFFFF + HEX 00000000FFFFFFFF + HEX 00000000FFFFFFFF + HEX FFFF0FFFFFF000FF + HEX FF0FFF0F00FFFFF0 + HEX 0FFFFFFFFFFFFFF0 + HEX FFFFFF0FFFFFF0FF + HEX F000F0000FFF0FF0 + HEX 0FFF00000FFF0000 + HEX F000F0000FF00FFF + HEX 00000FFF00000FFF + HEX 000000000FFFFFFF + HEX 0FFFFFFF0FFFFFFF + HEX 00000000FFFF0FFF + HEX FFFF0FFFFFFF0FFF + HEX 00000FFFF000F0FF + HEX FF0FFF0FF0FFF000 + HEX 0FFF0000FFF0F000 + HEX FF0FFF0FF000FFF0 + HEX 0FFFFF0FF0FFF0FF + HEX FF000FF0F0FFF0FF + HEX 0FFFFF0FFFFFFFF0 + HEX FFFFFFF0FFFFFFF0 + HEX FFFFFFFFFFFF0FFF + HEX FFF0F0FFFF0F0F0F + HEX F0F0F0F0FF0F0F0F + HEX FFF0F0FFFFFF0FFF + HEX 0F00FFF0FF00FFFF + HEX FFFFFF00FFF00F00 + HEX 00F00FFF00FFFFFF + HEX FFFF00FF0FFF00F0 + +L019E74 ENT + DW $001C + DW $002E + DW $00A1 + DW $013A +L019E7C DW $001C + DW $002E + DW $0032 + DW $005A + DW $001B + DW $002D + DW $00A2 + DW $013B +L019E8C DW $001B + DW $002D + DW $0033 + DW $005B + DW $000F + DW $0004 + DW $0093 + DW $0029 + DW $0096 + DW $0004 + DW $00C4 + DW $0029 + DW $00A5 + DW $002D + DW $00C4 + DW $013B + DW $000F + DW $002D + DW $001C + DW $013B +L019EB4 DW $00AA + DW $0030 + DW $00BC + DW $0048 +L019EBC DW $00AB + DW $0031 + DW $00BB + DW $0047 +L019EC4 DW $00A5 + DW $002E + DW $00C2 + DW $004A +L019ECC DW $0001 +L019ECE DW $0001 + DW $0002 + DW $0003 + DW $0003 + DW $0004 + DW $0004 + DW $0005 +L019EDC ENT + ADRL $00000000 +L019EE0 ENT + ADRL $00000000 +L019EE4 DW $0008 + DW $0004 +L019EE8 DS $84 +L019F6C DS $40 +L019FAC DS $40 + +L019FEC DW $0007 ; cursor height + DW $0003 ; cursor width + HEX 000F000F0000 ; cursor image + HEX F00000000000 + HEX 000F00F00000 + HEX 0F0000000000 + HEX 0000F0000000 + HEX F000000F0000 + HEX 000F00000000 + HEX 000000000000 ; cursor mask + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + DW $0000 ; hot spot + DW $0000 +L01A048 DW $000A ; cursor height + DW $0004 ; cursor width + HEX FFFFFFFFFFFF0000 ; cursor image + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX F0000000000F0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 ; cursor mask + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + HEX FFFFFFFFFFFF0000 + DW $0000 ; hot spot + DW $0000 +L01A0F0 DW $000A ; cursor height + DW $0004 ; cursor width + HEX 00000F0000000000 ; cursor image + HEX 0000F0F000000000 + HEX 000F000FF0000000 + HEX 00F00000FFF00000 + HEX 0F000F000FFF0000 + HEX F000FFF0F0FF0000 + HEX 0F000FFF00FF0000 + HEX 00F000F000FF0000 + HEX 000F0F0000FF0000 + HEX 0000F00000F00000 + HEX 00000F0000000000 ; cursor mask + HEX 0000FFF000000000 + HEX 000FFFFFF0000000 + HEX 00FFFFFFFFF00000 + HEX 0FFFFFFFFFFF0000 + HEX FFFFFFFFF0FF0000 + HEX 0FFFFFFF00FF0000 + HEX 00FFFFF000FF0000 + HEX 000FFF0000FF0000 + HEX 0000F00000000000 + DW $0009 ; hot spot + DW $000A +L01A198 DW $000A ; cursor height + DW $0005 ; cursor width + HEX 0000000FFFFF00000000 ; cursor image + HEX 0000FFF00000FF000000 + HEX 00F00000000000F00000 + HEX 0F00000000000F000000 + HEX 0F000000000FF0000000 + HEX 00FFF000FFF000000000 + HEX 0FF0FFFF000000000000 + HEX 0F0FF000000000000000 + HEX 00FF0000000000000000 + HEX 000F0000000000000000 + HEX 00000000000000000000 ; cursor mask + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + HEX 00000000000000000000 + DW $0009 ; hot spot + DW $0003 +L01A268 DW $0007 ; cursor height + DW $0003 ; cursor width + HEX 000F00000000 ; cursor image + HEX 000F00000000 + HEX 000F00000000 + HEX FFFFFFF00000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000000000000 ; cursor mask + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + DW $0003 ; hot spot + DW $0003 +L01A2C4 ENT + DW $0007 ; cursor height + DW $0003 ; cursor width + HEX 0000F0000000 ; cursor image + HEX 000FFF000000 + HEX 00FFFFF00000 + HEX FFFF0FFFF000 + HEX 00FFFFF00000 + HEX 000FFF000000 + HEX 0000F0000000 + HEX 000000000000 ; cursor mask + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + DW $0003 ; hot spot + DW $0004 +L01A320 DW $0007 ; cursor height + DW $0003 ; cursor width + HEX 000F00000000 ; cursor image + HEX 000F00000000 + HEX 000000000000 + HEX FF0F0FF00000 + HEX 000000000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000000000000 ; cursor mask + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + DW $0003 ; hot spot + DW $0003 +L01A37C DW $0009 ; cursor height + DW $0002 ; cursor width + HEX FF0FF000 ; cursor image + HEX 00F00000 + HEX 00F00000 + HEX 00F00000 + HEX 00F00000 + HEX 00F00000 + HEX 0FFF0000 + HEX 00F00000 + HEX FF0FF000 + HEX 00000000 ; cursor mask + HEX 00000000 + HEX 00000000 + HEX 00000000 + HEX 00000000 + HEX 00000000 + HEX 00000000 + HEX 00000000 + HEX 00000000 + DW $0007 ; hot spot + DW $0002 +L01A3CC ENT + DW $000B ; cursor height + DW $0003 ; cursor width + HEX 000FFF000000 ; cursor image + HEX 000F00F00000 + HEX 00FF00F00000 + HEX 00F0FF000000 + HEX 0F000F000000 + HEX 0F00F0000000 + HEX F000F0000000 + HEX F00F00000000 + HEX FFF000000000 + HEX FF0000000000 + HEX F00000000000 + HEX 000FFF000000 ; cursor mask + HEX 000FFFF00000 + HEX 00FFFFF00000 + HEX 00FFFF000000 + HEX 0FFFFF000000 + HEX 0FFFF0000000 + HEX FFFFF0000000 + HEX FFFF00000000 + HEX 000000000000 + HEX 000000000000 + HEX 000000000000 + DW $000A ; hot spot + DW $0000 +L01A458 ENT + DW $000A ; cursor height + DW $0004 ; cursor width + HEX 00FFFFF000000000 ; cursor image + HEX 00FFFFF000000000 + HEX 0F00000F00000000 + HEX F000F000F0000000 + HEX F000F000FF000000 + HEX F00FF000FF000000 + HEX F0000000F0000000 + HEX 0F00000F00000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 ; cursor mask + HEX 00FFFFF000000000 + HEX 0FFFFFFF00000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFF0000000 + HEX 0FFFFFFF00000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + DW $0001 ; hot spot + DW $0001 +L01A500 ENT + DW $000A ; cursor height + DW $0004 ; cursor width + HEX 000000F000000000 ; cursor image + HEX 0000FF0FF0000000 + HEX 000F0F0F0F000000 + HEX 00FF0F0F0FF00000 + HEX 0F0F00000F0F0000 + HEX 0F00F000000F0000 + HEX 00F0000000F00000 + HEX 000F000000F00000 + HEX 0000F0000F000000 + HEX 0000F0000F000000 + HEX 000000F000000000 ; cursor mask + HEX 0000FFFFF0000000 + HEX 000FFFFFFF000000 + HEX 00FFFFFFFFF00000 + HEX 0FFFFFFFFFFF0000 + HEX 0FFFFFFFFFFF0000 + HEX 00FFFFFFFFF00000 + HEX 000FFFFFFFF00000 + HEX 0000FFFFFF000000 + HEX 0000FFFFFF000000 + DW $0001 ; hot spot + DW $0006 diff --git a/gspaint/MAKE.S b/gspaint/MAKE.S new file mode 100644 index 0000000..053e3b2 --- /dev/null +++ b/gspaint/MAKE.S @@ -0,0 +1,57 @@ + +* Expansion linker file + + DSK PAINT2.SYS16 + TYP $B3 + +* Assemble files + + ASM MAIN.S + KND $0000 + SNA MAIN + + ASM INIT.S + KND $8000 + SNA INIT + + ASM EDITCOLOR.S + KND $8000 + SNA EDITCOLOR + + ASM EDITBRUSH.S + KND $8000 + SNA EDITBRUSH + + ASM EDITMIROR.S + KND $8000 + SNA EDITMIROR + + ASM EDITPAT.S + KND $8000 + SNA EDITPAT + + ASM PALETTE.S + KND $8000 + SNA PALETTE + + ASM ANIMATION.S + KND $8000 + SNA ANIMATION + + ASM SEARCHC.S + KND $8000 + SNA SEARCHC + + ASM FULLSCREEN.S + KND $8000 + SNA FULLSCREEN + + ASM SHUTDOWN.S + KND $8000 + SNA SHUTDOWN + + ASM SHOWPAGE.S + KND $8000 + SNA SHOWPAGE + +* END diff --git a/gspaint/PAINT2.SYS16 b/gspaint/PAINT2.SYS16 new file mode 100644 index 0000000..7fb0bca Binary files /dev/null and b/gspaint/PAINT2.SYS16 differ diff --git a/gspaint/PALETTE.E.S b/gspaint/PALETTE.E.S new file mode 100644 index 0000000..0a06022 --- /dev/null +++ b/gspaint/PALETTE.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 diff --git a/gspaint/PALETTE.S b/gspaint/PALETTE.S new file mode 100644 index 0000000..1428407 --- /dev/null +++ b/gspaint/PALETTE.S @@ -0,0 +1,1023 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use PALETTE.E + use PALETTE.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + REL + + BRA L070004 + LDA $A5 +L070004 PHB + PHK + PLB + JSR L070896 + BCS L07000F + BRL L0700B8 +L07000F BRL L070278 +L070012 STZ L0708F0 + STZ L0709DA + STZ L0709DC + PEA $0000 + PEA ^L0709B6 + PEA L0709B6 + _GetColorTable + STZ L0708F2 + JSR L0700BA +L070031 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BNE L070051 + JSR L070519 +L070051 CMP #$0003 + BNE L07005F + JSL L0185C2 + BCC L07005F + BRL L070031 +L07005F LDA L0708F2 + BEQ L070031 + LDA $A2 + PHA + LDA $A0 + PHA + _CloseWindow + PEA $0000 + _SetAllSCBs + _InitPalette + JSL L010D82 + LDA L0709DA + BEQ L070093 + JSR L070896 + BCC L070093 + JSR L070341 +L070093 LDA L070918+2 + PHA + LDA L070918 + PHA + _HUnlock + LDA L070918+2 + PHA + LDA L070918 + PHA + _DisposeHandle + LDA L0709DC + BEQ L0700B8 + STA $3C +L0700B8 PLB + RTL + +L0700BA PEA $0000 + PEA $000C + PEA $013F + PEA $00BB + JSL L018223 + PEA ^L070984 + PEA L070984 + PEA ^L019A14 + PEA L019A14 + _FillRect + JSR L0703A8 + LDY #$0008 +L0700E3 PHY + LDA L07097A,Y + STA L0708FC + CLC + ADC #$000E + STA L070900 + DEC + STA L070904 + ADC #$000E + STA L070908 + LDA #$007C + STA L0708FE + STA L070906 + ADC #$0015 + STA L070902 + STA L07090A + LDX #$0001 +L070110 PHX + LDA $03,S + CMP #$0008 + BNE L07011F + DEX + TXA + EOR #$000F + TAX + DEX +L07011F TXA + INC + JSR L070257 + PEA ^L0708FC + PEA L0708FC + PEA ^L070922 + PEA L070922 + _FillRect + PEA ^L0708FC + PEA L0708FC + _FrameRect + LDA $03,S + CMP #$0008 + BNE L070156 + LDA $01,S + ADC #$0006 + EOR #$000F + JSR L070257 +L070156 PEA ^L070904 + PEA L070904 + PEA ^L070922 + PEA L070922 + _FillRect + PEA ^L070904 + PEA L070904 + _FrameRect + PEA ^L0708FC + PEA L0708FC + PEA $0014 + PEA $0000 + _OffsetRect + PEA ^L070904 + PEA L070904 + PEA $0014 + PEA $0000 + _OffsetRect + PLX + INX + CPX #$0009 + BCS L0701A6 + BRL L070110 +L0701A6 PLY + DEY + DEY + BMI L0701AE + BRL L0700E3 +L0701AE PEA $0000 + PEA $0000 + LDA $A2 + PHA + LDA $A0 + PHA + PEA ^L07098C + PEA L07098C + PEA ^L070994 + PEA L070994 + PEA $0003 + PEA $0000 + PEA $0004 + PEA $0080 + PEA $0600 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _NewControl + PLA + STA L07090C + PLA + STA L07090C+2 + LDX #$0004 +L0701F6 PHX + PEA $0000 + PEA $0000 + LDA $A2 + PHA + LDA $A0 + PHA + LDA L0709A6+2,X + PHA + LDA L0709A6,X + PHA + LDA L0709AE+2,X + PHA + LDA L0709AE,X + PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + PHX + PEA $0000 + PEA $0000 + _NewControl + LDA $05,S + TAX + PLA + STA L070910,X + PLA + STA L070910+2,X + PLA + SEC + SBC #$0004 + TAX + BEQ L0701F6 + LDA $A2 + PHA + LDA $A0 + PHA + _DrawControls + RTS + +L070257 AND #$000F + STA L070275+1 + ASL + ASL + ASL + ASL + ORA L070275+1 + STA L070275+1 + ORA L070275 + LDX #$001E +L07026D STA L070922,X + DEX + DEX + BPL L07026D + RTS + +L070275 HEX 000000 +L070278 PEA $0000 + PEA $0000 + PEA $0000 + PEA $1000 + LDAL L01967F + PHA + PEA $8018 + PEA $0000 + PEA $0000 + _NewHandle + BCC L07029D + BRK $AB +L07029D PLA + STA $0A + STA L070918 + PLA + STA $0C + STA L070918+2 + LDA [$0A] + STA L0709FA + STA L0709EC + STA L0708EC + LDY #$0002 + LDA [$0A],Y + STA L0708EC+2 + STA L0709FA+2 + STA L0709EC+2 + JSL GSOS + DW $0010 ; Open + ADRL L0709E0 + CMP #$0046 + BEQ L070319 + CMP #$0000 + BEQ L0702D9 + BRL L07032B +L0702D9 PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L0709E0 + STA L0709F8 + JSL GSOS + DW $0012 ; Read + ADRL L0709F8 + BCC L0702FB + BRL L07032B +L0702FB JSL GSOS + DW $0014 ; Close + ADRL L0709DE + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + BRL L070012 +L070319 JSL GSOS + DW $0001 ; Create + ADRL L070A06 + BCC L070328 + BRL L07032B +L070328 BRL L070012 +L07032B PHA + JSL GSOS + DW $0014 ; Close + ADRL L0709DE + PLA + LDX #$0000 + JSL L017D37 + BRL L070093 +L070341 STZ L0709E6 + STZ L0709E6+2 + JSL GSOS + DW $0010 ; Open + ADRL L0709E0 + BCC L070356 + BRL L070394 +L070356 PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA L0709E0 + STA L0709EA + JSL GSOS + DW $0013 ; Write + ADRL L0709EA + BCC L070378 + BRL L070394 +L070378 JSL GSOS + DW $0014 ; Close + ADRL L0709DE + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + RTS + +L070394 PHA + JSL GSOS + DW $0014 ; Close + ADRL L0709DE + PLA + LDX #$0000 + JSL L017D37 + RTS + +L0703A8 JSR L0704C7 + LDY #$0006 +L0703AE PHY + LDA L07097A,Y + CLC + ADC #$000C + STA L0708E8 + ADC #$000E + STA L0708EA + TYA + INC + STA L0708E4 + INC + STA L0708E6 + LDX #$000E +L0703CB PHX + LDA L0708E8 + PHA + LDA L0708E4 + PHA + _SetSCB + LDA L0708EA + PHA + LDA L0708E6 + PHA + _SetSCB + INC L0708E8 + INC L0708EA + PLX + DEX + BNE L0703CB + PLY + DEY + DEY + BPL L0703AE +L0703F9 LDA L0708EC + STA $0A + LDA L0708EC+2 + STA $0C + LDA L0708F0 + ASL + ASL + ASL + ASL + ASL + TAY + LDX #$0000 + STX L0708E4 +L070412 LDX #$0000 +L070415 PHY + PHX + LDA L0708E4 + ASL + INC + CPX #$0008 + BCS L070422 + INC +L070422 PHA + TXA + AND #$0007 + EOR #$0007 + INC + INC + PHA + LDA [$0A],Y + PHA + _SetColorEntry + PLX + PLY + INY + INY + INX + CPX #$0010 + BCC L070415 + INC L0708E4 + LDA L0708E4 + CLC + ADC L0708F0 + CMP #$0080 + BCS L070458 + LDA L0708E4 + CMP #$0004 + BCC L070412 +L070458 PEA $000F + _SetForeColor + PEA $0000 + _SetBackColor + PEA $0000 + _SetTextMode + LDX #$0006 + LDA L0708F0 + CLC + ADC #$0003 +L070480 PHA + PHX + JSR L070635 + PLX + PHX + TXA + ASL + TAX + LDA L07096A+2,X + PHA + LDA L07096A,X + PHA + PEA ^L019A14 + PEA L019A14 + _FillRect + PLX + PHX + PEA $0063 + LDA L070942,X + PHA + _MoveTo + PEA ^L07091C + PEA L07091C + _DrawString + PLX + PLA + DEC + DEX + DEX + BMI L0704C6 + BRL L070480 +L0704C6 RTS + +L0704C7 PEA $0000 + PEA $0000 + PEA $0000 + _GetColorEntry + PLA + STA L0708E4 + PEA $0000 + PEA $0000 + PEA $000F + _GetColorEntry + PLA + STA L0708E6 + LDX #$0001 +L0704F2 PHX + PHX + PHX + PEA $0000 + LDA L0708E4 + PHA + _SetColorEntry + PEA $000F + LDA L0708E6 + PHA + _SetColorEntry + PLX + INX + CPX #$000A + BCC L0704F2 + RTS + +L070519 PHA + PEA ^L0709D6 + PEA L0709D6 + LDAL L0196C7 + PHA + LDAL L0196C5 + PHA + LDA $A2 + PHA + LDA $A0 + PHA + _FindControl + PLA + BNE L07053D + BRL L07066E +L07053D PHA + LDAL L0196C7 + PHA + LDAL L0196C5 + PHA + PEA ^L070594 + PEA L070594 + LDA L0709D6+2 + PHA + LDA L0709D6 + PHA + _TrackControl + PLA + CMP #$0002 + BEQ L070564 + RTS + +L070564 LDA L0709D6 + CMP L070910 + BNE L070574 + LDA L0709D6+2 + CMP L070910+2 + BEQ L07058D +L070574 STZ L0709DC + STZ L0709DA + PEA $0000 + PEA ^L0709B6 + PEA L0709B6 + _SetColorTable + JSR L0704C7 +L07058D LDA #$FFFF + STA L0708F2 + RTS + +L070594 NOP + PHD + PHB + PHK + PLB + LDAL L01968D + TCD + LDA $0B,S + AND #$007F + ASL + TAX + JMP (L070623,X) + +L0705A8 LDA L0708F0 + BEQ L0705FD + DEC + STA L0708F0 + BRA L0705E7 +L0705B3 LDA L0708F0 + BEQ L0705FD + SEC + SBC #$0004 + BPL L0705D1 + LDA #$0000 + BRA L0705D1 +L0705C3 LDA L0708F0 + ADC #$0004 + CMP #$007C + BCC L0705D1 + LDA #$007C +L0705D1 CMP L0708F0 + BEQ L0705FD + STA L0708F0 + BRA L0705E7 +L0705DB LDA L0708F0 + CMP #$007C + BCS L0705FD + INC + STA L0708F0 +L0705E7 LDA L0708F0 + PHA + LDA L07090C+2 + PHA + LDA L07090C + PHA + _SetCtlValue +L0705FA JSR L0703F9 +L0705FD PLB + PLD + LDA $00,S + STA $06,S + LDA $02,S + STA $08,S + PLA + PLA + PLA + RTL + +L07060B PEA $0000 + LDA L07090C+2 + PHA + LDA L07090C + PHA + _GetCtlValue + PLA + STA L0708F0 + BRA L0705FA +L070623 DA L0705FD + DA L07060B + DA L0705FD + DA L0705FD + DA L0705FD + DA L0705A8 + DA L0705DB + DA L0705B3 + DA L0705C3 +L070635 LDX #$0001 + SEC + SBC #$0064 + BMI L070647 + LDY #$0031 + STY L07091D + INX + BRA L07064B +L070647 CLC + ADC #$0064 +L07064B PHA + LDA #$0030 + STA L07091C,X + PLA +L070653 SEC + SBC #$000A + BMI L07065E + INC L07091C,X + BRA L070653 +L07065E CLC + ADC #$003A + STA L07091D,X + INX + SEP #$30 + STX L07091C + REP #$30 + RTS + +L07066E PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + LDX #$0004 +L07067E PHX + JSR L0706A4 + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0708F4 + PEA L0708F4 + _PtInRect + PLA + BNE L0706A0 + PLX + DEX + BPL L07067E + RTS + +L0706A0 PLX + BRL L0706C1 +L0706A4 TXA + ASL + TAY + LDA L07097A,Y + STA L0708F4 + CLC + ADC #$001B + STA L0708F8 + LDA #$007C + STA L0708F6 + LDA #$011D + STA L0708FA + RTS + +L0706C1 STX L0708C0 +L0706C4 LDAL L0196C1 + STA L0708BC + PEA ^L0708C4 + PEA L0708C4 + _SetPenPat + PEA $0002 + _SetPenMode + STZ L0708BE + PEA ^L0708F4 + PEA L0708F4 + _FrameRect + LDAL L0196C5 + STA L0708B8 + LDAL L0196C7 + STA L0708BA +L070700 PEA $0000 + PEA $0000 + _GetTick + PLA + STAL L0196C1 + PLA + PEA $0000 + PEA $0000 + _StillDown + PLA + BEQ L070798 + PEA ^L0196C5 + PEA L0196C5 + _GetMouse + LDAL L0196C7 + SEC + SBC L0708BA + TAX + LDAL L0196C5 + SEC + SBC L0708B8 + TAY + BNE L070747 + TXA + BEQ L07075C +L070747 PEA ^L0708F4 + PEA L0708F4 + PHX + PHY + JSR L070869 + _OffsetRect + BRL L0706C4 +L07075C LDA L0708BC + CLC + ADC #$000A + BCS L07076B + CMPL L0196C1 + BCS L070700 +L07076B PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA ^L0708F4 + PEA L0708F4 + _FrameRect + LDAL L0196C1 + STA L0708BC + LDA #$FFFF + EOR L0708BE + STA L0708BE + BRL L070700 +L070798 JSR L070869 + PEA $0000 + _SetPenMode + PEA ^L019A14 + PEA L019A14 + _SetPenPat + LDX #$0004 +L0707B5 PHX + JSR L0706A4 + PEA $0000 + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0708F4 + PEA L0708F4 + _PtInRect + PLA + BNE L0707D7 + PLX + DEX + BPL L0707B5 +L0707D6 RTS + +L0707D7 PLA + CMP L0708C0 + BEQ L0707D6 + STA L0708C2 + CMP #$0004 + BNE L0707ED + LDX #$0001 + STX L0709DC + BRA L0707FB +L0707ED LDX L0708C0 + CPX #$0004 + BNE L0707D6 + LDA #$0001 + STA L0709DA +L0707FB CMP #$0004 + BEQ L07082A + PEA $0000 + PEA ^L070922 + PEA L070922 + _GetColorTable + LDA L0708C2 + JSR L070854 + LDX #$0000 +L070819 LDA L070922,X + STA [$0A],Y + INX + INX + INY + INY + CPX #$0020 + BCC L070819 + BRL L0703F9 +L07082A LDA L0708C0 + JSR L070854 + LDX #$0000 +L070833 LDA [$0A],Y + STA L070922,X + INX + INX + INY + INY + CPX #$0020 + BCC L070833 + PEA $0000 + PEA ^L070922 + PEA L070922 + _SetColorTable + BRL L0704C7 +L070854 CLC + ADC L0708F0 + ASL + ASL + ASL + ASL + ASL + TAY + LDA L0708EC + STA $0A + LDA L0708EC+2 + STA $0C + RTS + +L070869 BIT L0708BE + BPL L07087B + PEA ^L0708F4 + PEA L0708F4 + _FrameRect +L07087B PEA ^L0708C4 + PEA L0708C4 + _SetPenPat + PEA ^L0708F4 + PEA L0708F4 + _FrameRect + RTS + +L070896 JSL L018752 +L07089A JSL GSOS + DW $0006 ; GetFileInfo + ADRL L070A16 + BCS L0708A8 + SEC + RTS + +L0708A8 LDX #$0001 + LDA #$0001 + JSL L017D37 + JSL L010D82 + BRA L07089A +L0708B8 DW $0000 +L0708BA DW $0000 +L0708BC DW $0000 +L0708BE DW $0000 +L0708C0 DW $0000 +L0708C2 DW $0000 +L0708C4 HEX 00FF00FFFF00FF0000FF00FFFF00FF00 + HEX 00FF00FFFF00FF0000FF00FFFF00FF00 +L0708E4 DW $0000 +L0708E6 DW $0000 +L0708E8 DW $0000 +L0708EA DW $0000 +L0708EC ADRL $00000000 +L0708F0 DW $0000 +L0708F2 DW $0000 +L0708F4 DW $0000 +L0708F6 DW $0000 +L0708F8 DW $0000 +L0708FA DW $0000 +L0708FC DW $0000 +L0708FE DW $0000 +L070900 DW $0000 +L070902 DW $0000 +L070904 DW $0000 +L070906 DW $0000 +L070908 DW $0000 +L07090A DW $0000 +L07090C ADRL $00000000 +L070910 ADRL $00000000 + ADRL $00000000 +L070918 ADRL $00000000 +L07091C DB $00 +L07091D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L070922 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L070942 DW $0025 + DW $0045 + DW $0065 + DW $0085 +L07094A DW $0014 + DW $0072 + DW $0025 + DW $007A +L070952 DW $0034 + DW $0072 + DW $0045 + DW $007A +L07095A DW $0054 + DW $0072 + DW $0065 + DW $007A +L070962 DW $0074 + DW $0072 + DW $0085 + DW $007A +L07096A ADRL L07094A + ADRL L070952 + ADRL L07095A + ADRL L070962 +L07097A DW $0014 + DW $0034 + DW $0054 + DW $0074 + DW $009A +L070984 DW $000E + DW $0060 + DW $0095 + DW $0125 +L07098C DW $000E + DW $0124 + DW $0095 + DW $0134 +L070994 DW $0000 +L070996 DW $0050 + DW $0014 + DW $005E + DW $005A +L07099E DW $0078 + DW $0014 + DW $0086 + DW $005A +L0709A6 ADRL L070996 + ADRL L07099E +L0709AE ADRL L01046F + ADRL L010472 +L0709B6 HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L0709D6 ADRL $00000000 +L0709DA DW $0000 +L0709DC DW $0000 +L0709DE DW $0000 ; ref num +L0709E0 DW $0000 ; ref num + ADRL L070A30 ; path name +L0709E6 ADRL $00000000 ; reserved +L0709EA DW $0000 ; ref num +L0709EC ADRL $00000000 ; buffer ptr + ADRL $00001000 ; request count + ADRL $00000000 ; transfer count +L0709F8 DW $0000 ; ref num +L0709FA ADRL $00000000 ; buffer ptr + ADRL $00001000 ; request count + ADRL $00000000 ; transfer count +L070A06 ADRL L070A30 ; file name + DW $00C3 ; access + DW $00C3 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 2 ; creation date +L070A16 ADRL L070A45 ; file name + DW $0000 ; access + DW $0000 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 4 ; creation date + DS 4 ; modification date + ADRL $00000000 ; blocks used +L070A30 STR '1/PaintTools/Palette' +L070A45 STR '1' diff --git a/gspaint/PALETTE.X.S b/gspaint/PALETTE.X.S new file mode 100644 index 0000000..ce77737 --- /dev/null +++ b/gspaint/PALETTE.X.S @@ -0,0 +1,22 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L01967F + EXT L0196BB + EXT L0185C2 + EXT L01968D + EXT L017D37 + EXT L010D82 + EXT L01A458 + EXT L019EE0 + EXT L018752 + EXT L0196C7 + EXT L0196C5 + EXT L019A14 + EXT L0199F4 + EXT L018223 + EXT L01046F + EXT L010472 + EXT L0196C1 diff --git a/gspaint/SEARCHC.S b/gspaint/SEARCHC.S new file mode 100644 index 0000000..efbe17c --- /dev/null +++ b/gspaint/SEARCHC.S @@ -0,0 +1,370 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use SEARCHC.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L090004 + LDA $A5 +L090004 PHB + PHK + PLB + PEA $0000 + PEA ^L09036E + PEA L09036E + _GetColorTable + PEA ^L01A2C4 + PEA L01A2C4 + _SetCursor + STZ L090362 + STZ L090366 + STZ L090364 + STZ L090368 + STZ L090398 + STZ L09039A +L090036 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + SEC + LDAL L0196C1 + SBC L090398 + CMP #$000A + BCC L090082 + LDAL L0196C1 + STA L090398 + LDA L090366 + BEQ L090082 + LDA L09039A + EOR #$FFFF + STA L09039A + BMI L090079 + LDX L090366 + LDA L090396 + JSR L090201 + BRA L090082 +L090079 LDX L090366 + LDA #$FFFF + JSR L090201 +L090082 LDAL L0196BB + CMP #$0001 + BNE L09008E + BRL L0902C9 +L09008E PHA + PHA + _GetCursorAdr + PLA + STA L09036A + PLA + STA L09036A+2 + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L019E74 + PEA L019E74 + _PtInRect + PLA + BEQ L0900B9 + BRL L090147 +L0900B9 PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L09038E + PEA L09038E + _PtInRect + PLA + BNE L090108 + LDA L09036A + CMPL L019EE0 + BNE L0900E2 + LDA L09036A+2 + CMPL L019EE0+2 + BEQ L090105 +L0900E2 LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + JSR L09018A + STZ L090362 + STZ L090366 + STZ L09039A + JSR L09021E + JSR L0901D0 +L090105 BRL L090036 +L090108 LDA L09036A + CMP #L01A2C4 + BNE L090118 + LDA L09036A+2 + CMP #^L01A2C4 + BEQ L09012E +L090118 STZ L090368 + STZ L090364 + STZ L09039A + PEA ^L01A2C4 + PEA L01A2C4 + _SetCursor +L09012E JSL L014903 + BCC L090144 + CPX #$0010 + BCS L090144 + CPX #$0001 + BEQ L090144 + STX L090366 + JSR L0901D0 +L090144 BRL L090036 +L090147 LDA L09036A + CMP #L01A2C4 + BNE L090157 + LDA L09036A+2 + CMP #^L01A2C4 + BEQ L090170 +L090157 JSR L09018A + STZ L090364 + STZ L090368 + STZ L09039A + PEA ^L01A2C4 + PEA L01A2C4 + _SetCursor +L090170 PEA ^L0196C5 + PEA L0196C5 + _GlobalToLocal + JSL L0181CE + JSR L090199 + JSR L09021E + BRL L090036 +L09018A LDA L090366 + BEQ L090198 + LDX L090368 + LDA L090396 + JSR L090201 +L090198 RTS + +L090199 LDAL L0196C5 + JSL L0182D0 + CLC + ADCL L019976 + STA $0A + LDAL L019978 + STA $0C + LDAL L0196C7 + LSR + TAY + LDA [$0A],Y + XBA + PHA + LDAL L0196C7 + LSR + PLA + BCS L0901C4 + LSR + LSR + LSR + LSR +L0901C4 AND #$0F00 + XBA + EOR #$000F + INC + STA L090362 + RTS + +L0901D0 LDA L090368 + BEQ L0901E2 + CMP L090366 + BNE L0901DB + RTS + +L0901DB TAX + LDA L090396 + JSR L090201 +L0901E2 LDA L090366 + BNE L0901E8 + RTS + +L0901E8 STA L090368 + DEC + EOR #$000F + ASL + TAX + LDA L09036E,X + STA L090396 + LDA #$FFFF + LDX L090368 + JSR L090201 + RTS + +L090201 PHA + TXA + DEC + EOR #$000F + ASL + TAX + PLA + STA L09036E,X + PEA $0000 + PEA ^L09036E + PEA L09036E + _SetColorTable + RTS + +L09021E LDA L090364 + BEQ L090229 + CMP L090362 + BNE L090229 + RTS + +L090229 LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L090325 + LDX L090362 + STX L090364 + BEQ L0902BB + PEA ^L090352 + PEA L090352 + JSL L01493B + LDA L090352 + STA L09035A + LDA L090354 + STA L09035C + LDA L090356 + STA L09035E + LDA L090358 + STA L090360 + PEA ^L090352 + PEA L090352 + LDA #$0001 + PHA + PHA + _InsetRect + PEA ^L09035A + PEA L09035A + LDA #$0002 + PHA + PHA + _InsetRect + PEA ^L0199F4 + PEA L0199F4 + _SetPenPat + PEA ^L090352 + PEA L090352 + _FrameRect + PEA ^L019A14 + PEA L019A14 + _SetPenPat + PEA ^L09035A + PEA L09035A + _FrameRect +L0902BB LDA $92 + PHA + LDA $90 + PHA + _SetPort + RTS + +L0902C9 LDA $8E + PHA + LDA $8C + PHA + _SetPort + JSR L090325 + PEA ^L019A14 + PEA L019A14 + _SetPenPat + LDA $92 + PHA + LDA $90 + PHA + _SetPort + JSR L09018A + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L019E74 + PEA L019E74 + _PtInRect + PLA + BNE L090323 + PHA + PEA $0001 + LDAL L0196BD+2 + PHA + LDAL L0196BD + PHA + _PostEvent + PLA +L090323 PLB + RTL + +L090325 LDX L090364 + BEQ L090351 + JSL L0149AE + PHX + PHA + _SetPenPat + PEA ^L090352 + PEA L090352 + _FrameRect + PEA ^L09035A + PEA L09035A + _FrameRect +L090351 RTS + +L090352 DW $0000 +L090354 DW $0000 +L090356 DW $0000 +L090358 DW $0000 +L09035A DW $0000 +L09035C DW $0000 +L09035E DW $0000 +L090360 DW $0000 +L090362 DW $0000 +L090364 DW $0000 +L090366 DW $0000 +L090368 DW $0000 +L09036A ADRL $00000000 +L09036E HEX 00000000000000000000000000000000 + HEX 00000000000000000000000000000000 +L09038E DW $00A5 + DW $0059 + DW $00B3 + DW $012F +L090396 DW $0000 +L090398 DW $0000 +L09039A DW $0000 diff --git a/gspaint/SEARCHC.X.S b/gspaint/SEARCHC.X.S new file mode 100644 index 0000000..59f6977 --- /dev/null +++ b/gspaint/SEARCHC.X.S @@ -0,0 +1,22 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L0196BD + EXT L019EE0 + EXT L019976 + EXT L019978 + EXT L0196C7 + EXT L0196C5 + EXT L019E74 + EXT L019A14 + EXT L0199F4 + EXT L01493B + EXT L0149AE + EXT L0182D0 + EXT L014903 + EXT L0181CE + EXT L0196C1 + EXT L01A2C4 diff --git a/gspaint/SHOWPAGE.S b/gspaint/SHOWPAGE.S new file mode 100644 index 0000000..bc1c722 --- /dev/null +++ b/gspaint/SHOWPAGE.S @@ -0,0 +1,745 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use SHOWPAGE.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L0C0004 + LDA $A5 +L0C0004 PHB + PHK + PLB + JSL L018744 + LDA $34 + BEQ L0C0013 + JSL L01436D +L0C0013 JSL L0118C4 + LDA #$0084 + STA L0C073A + LDA $F0 + CMP #$00C9 + BNE L0C002A + LDA #$0043 + STA L0C073A +L0C002A CLC + LDA L0C073A + ADC #$001C + STA L0C06B6 + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor + LDA $8E + PHA + LDA $8C + PHA + _SetPort + PEA ^L019E74 + PEA L019E74 + PEA ^L0C06C2 + PEA L0C06C2 + _FillRect + _PenNormal + PEA ^L0C06AA + PEA L0C06AA + _FrameRect + LDA L0C06B4 + PHA + LDA L0C06B6 + PHA + _MoveTo + LDA L0C06B8 + PHA + LDA L0C06B6 + PHA + _LineTo + PEA ^L0C06B2 + PEA L0C06B2 + LDX $74 + JSL L0149AE + PHX + PHA + _FillRect + LDA $F0 + CMP #$00C9 + BNE L0C00E0 + LDA L0C06B4 + STA L0C06BC + LDA L0C06B8 + STA L0C06C0 + LDA L0C06B6 + INC + STA L0C06BA + LDA L0C06AE + DEC + STA L0C06BE + PEA ^L0C06BA + PEA L0C06BA + PEA ^L0C06E6 + PEA L0C06E6 + _FillRect +L0C00E0 PEA ^L0C0706 + PEA L0C0706 + PEA ^L0199F4 + PEA L0199F4 + _FillRect + PEA ^L0C0706 + PEA L0C0706 + PEA $0010 + PEA $000D + _FrameRRect + CLC + LDA L0C0708 + ADC #$0019 + PHA + CLC + LDA L0C0706 + ADC #$000A + PHA + _MoveTo + PEA ^L01046F + PEA L01046F + _DrawString + PEA ^L0C070E + PEA L0C070E + PEA ^L0199F4 + PEA L0199F4 + _FillRect + PEA ^L0C070E + PEA L0C070E + PEA $0010 + PEA $000D + _FrameRRect + CLC + LDA L0C0710 + ADC #$0009 + PHA + CLC + LDA L0C070E + ADC #$000A + PHA + _MoveTo + PEA ^L010472 + PEA L010472 + _DrawString + _HideCursor + LDX $74 + JSL L0149AE + STX $0C + STA $0A + LDA [$0A] + STA L0C069A + STZ L0C069E + STZ L0C06A0 + LDA L0C073A + STA L0C06A2 + LDA #$00A0 + STA L0C06A4 + JSR L0C0583 + JSR L0C0662 + PHA + PHA + LDA $56 + PHA + PEA $0003 + _UDivide + PLA + CLC + ADC #$001C + STA L0C0724 + CLC + ADC #$002D + STA L0C0728 + PLA + LDA $58 + LSR + CLC + ADC #$003C + STA L0C0726 + CLC + ADC #$0086 + STA L0C072A + PEA $0002 + _SetPenMode + PEA ^L0C06E6 + PEA L0C06E6 + _SetPenPat + JSR L0C0575 + _ShowCursor +L0C01F3 PEA $0000 + PEA $FFFF + PEA ^L0196BB + PEA L0196BB + _GetNextEvent + PLA + LDAL L0196BB + CMP #$0001 + BNE L0C01F3 + PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0C0706 + PEA L0C0706 + _PtInRect + PLA + BEQ L0C022A + BRL L0C0284 +L0C022A PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0C070E + PEA L0C070E + _PtInRect + PLA + BEQ L0C0244 + BRL L0C0380 +L0C0244 PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0C0724 + PEA L0C0724 + _PtInRect + PLA + BEQ L0C0261 + STZ L0C069C + BRL L0C03AD +L0C0261 PHA + PEA ^L0196C5 + PEA L0196C5 + PEA ^L0C06B2 + PEA L0C06B2 + _PtInRect + PLA + BNE L0C027B + BRL L0C01F3 +L0C027B LDA #$0001 + STA L0C069C + BRL L0C03AD +L0C0284 PEA ^L0C0706 + PEA L0C0706 + PEA $0010 + PEA $000D + _InvertRRect + PHA + PHA + SEC + LDA L0C0724 + SBC #$001C + PHA + PEA $0003 + _Multiply + PLA + STA $56 + CLC + ADC #$0085 + STA $5A + CMP $F0 + BEQ L0C02C4 + BCC L0C02C4 + LDA $F0 + STA $5A + SEC + SBC #$0085 + STA $56 +L0C02C4 PLA + SEC + LDA L0C0726 + SBC #$003C + ASL + STA $58 + CLC + ADC #$010C + STA $5C + _PenNormal + LDA L0C069E + BNE L0C02E6 + LDA L0C06A0 + BEQ L0C0340 +L0C02E6 PEA ^L01A458 + PEA L01A458 + _SetCursor + PEA ^L019825 + PEA L019825 + _SetPort + LDA $74 + DEC + EOR #$000F + PHA + _SetSolidBackPat + PEA ^L01997C + PEA L01997C + LDA L0C06A0 + ASL + PHA + LDA L0C069E + ASL + CLC + ADC L0C069E + PHA + PEA $0000 + PEA $0000 + _ScrollRect + LDAL L019EE0+2 + PHA + LDAL L019EE0 + PHA + _SetCursor +L0C0340 LDA $92 + PHA + LDA $90 + PHA + _SetPort + LDA $58 + PHA + LDA $56 + PHA + _SetOrigin + PEA $0000 + CLC + TDC + ADC #$0056 + PHA + _ClipRect + CLC + LDA $56 + ADC $5A + LSR + STAL L019681 + CLC + LDA $58 + ADC $5C + LSR + STAL L019683 + BRA L0C03A7 +L0C0380 PEA ^L0C070E + PEA L0C070E + PEA $0010 + PEA $000D + _InvertRRect + _PenNormal + LDA $92 + PHA + LDA $90 + PHA + _SetPort +L0C03A7 JSL L01194B + PLB + RTL + +L0C03AD LDAL L0196C9 + AND #$0200 + STA $50 + STZ L0C0738 + LDAL L0196C7 + STA L0C072E + LDAL L0196C5 + STA L0C072C +L0C03C7 LDAL L0196C5 + STA L0C0730 + LDAL L0196C7 + STA L0C0732 + LDA #$0000 + PHA + PHA + _StillDown + PLA + BNE L0C03E7 + BRL L0C04B1 +L0C03E7 PEA ^L0196C5 + PEA L0196C5 + _GetMouse + SEC + LDAL L0196C7 + SBC L0C0732 + STA L0C0736 + SEC + LDAL L0196C5 + SBC L0C0730 + STA L0C0734 + BNE L0C0411 + LDA L0C0736 + BEQ L0C03C7 +L0C0411 LDA $50 + BEQ L0C0435 + LDA L0C0736 + PHA + LDA L0C0734 + PHA + LDA L0C0732 + PHA + LDA L0C0730 + PHA + LDA L0C0738 + PHA + JSL L01855E + PLA + STA L0C0734 + PLA + STA L0C0736 +L0C0435 LDA #$0001 + STA L0C0738 + LDA L0C069C + BEQ L0C047E + LDA #$0001 + TRB L0C0736 + CLC + LDA L0C069E + ADC L0C0734 + STA L0C069E + CLC + ADC L0C073A + STA L0C06A2 + CLC + LDA L0C06A0 + ADC L0C0736 + STA L0C06A0 + CLC + ADC #$00A0 + STA L0C06A4 + CLC + BPL L0C046C + SEC +L0C046C ROR + STA L0C06A8 + LDA L0C06A0 + CLC + BPL L0C0477 + SEC +L0C0477 ROR + STA L0C06A6 + BRL L0C04B4 +L0C047E JSR L0C0575 + LDA L0C0736 + PHA + LDA L0C0734 + PHA + LDA L0C072E + PHA + LDA L0C072C + PHA + PEA ^L0C06B2 + PEA L0C06B2 + PEA ^L0C0724 + PEA L0C0724 + JSL L0183EE + PLA + STA L0C072C + PLA + STA L0C072E + PLA + PLA + JSR L0C0575 + BRL L0C03C7 +L0C04B1 BRL L0C01F3 +L0C04B4 LDA #$319E + STA $28 + LDA #$00E1 + STA $2A + LDAL L019998 + STA $0A + LDAL L01999A + STA $0C + LDA L0C069E + BPL L0C04EA + PHA + PHA + SEC + LDA #$0000 + SBC L0C069E + PHA + PEA $0050 + _Multiply + PLA + CLC + ADC $0A + STA $0A + PLA +L0C04EA _HideCursor + LDY #$0000 +L0C04F4 PHY + TYA + SEC + SBC L0C06A2 + BVS L0C04FF + EOR #$8000 +L0C04FF BMI L0C0567 + TYA + SEC + SBC L0C069E + BVS L0C050B + EOR #$8000 +L0C050B BPL L0C0567 + LDY #$0000 +L0C0510 PHY + TYA + SEC + SBC L0C06A6 + BVS L0C051B + EOR #$8000 +L0C051B BPL L0C0533 + TYA + SEC + SBC L0C06A8 + BVS L0C0527 + EOR #$8000 +L0C0527 BMI L0C0533 + TYA + SEC + SBC L0C06A6 + TAY + LDA [$0A],Y + BRA L0C0536 +L0C0533 LDA L0C069A +L0C0536 PLY + SEP #$20 + STA [$28],Y + REP #$20 + INY + CPY #$0050 + BNE L0C0510 + CLC + LDA $0A + ADC #$0050 + STA $0A +L0C054B CLC + LDA $28 + ADC #$00A0 + STA $28 + PLY + INY + CPY L0C073A + BNE L0C04F4 + _ShowCursor + JSR L0C0575 + BRL L0C03C7 +L0C0567 LDA L0C069A + LDY #$004E +L0C056D STA [$28],Y + DEY + DEY + BPL L0C056D + BRA L0C054B +L0C0575 PEA ^L0C0724 + PEA L0C0724 + _FrameRect + RTS + +L0C0583 LDAL L019998 + STA $28 + LDAL L01999A + STA $2A + LDAL L019976 + STA $0A + CLC + ADC #$00A0 + STA $0E + CLC + ADC #$00A0 + STA $12 + LDAL L019978 + STA $0C + STA $10 + STA $14 + LDX L0C073A +L0C05AE PHX + STZ L0C071E + LDY #$0000 +L0C05B5 PHY + LDA [$0A],Y + AND #$00F0 + STA L0C0720 + LDA [$0E],Y + AND #$00F0 + CMP L0C0720 + BCS L0C05CB + STA L0C0720 +L0C05CB LDA [$12],Y + AND #$00F0 + CMP L0C0720 + BCS L0C05D8 + STA L0C0720 +L0C05D8 LDA [$0A],Y + AND #$000F + STA L0C0722 + LDA [$0E],Y + AND #$000F + CMP L0C0722 + BCS L0C05ED + STA L0C0722 +L0C05ED LDA [$12],Y + AND #$000F + CMP L0C0722 + BCS L0C05FA + STA L0C0722 +L0C05FA LDA L0C0720 + LSR + LSR + LSR + LSR + CMP L0C0722 + BCC L0C0609 + LDA L0C0722 +L0C0609 PHA + TYA + AND #$0003 + ASL + TAX + PLA + JMP (L0C0716,X) + +L0C0614 XBA +L0C0615 ASL + ASL + ASL + ASL +L0C0619 BRA L0C061C +L0C061B XBA +L0C061C TSB L0C071E + CPX #$0006 + BNE L0C0634 + LDA $01,S + SEC + SBC #$0003 + LSR + TAY + LDA L0C071E + STA [$28],Y + STZ L0C071E +L0C0634 PLY + INY + CPY #$00A0 + BEQ L0C063E + BRL L0C05B5 +L0C063E CLC + LDA $0A + ADC #$01E0 + STA $0A + CLC + ADC #$00A0 + STA $0E + CLC + ADC #$00A0 + STA $12 + CLC + LDA $28 + ADC #$0050 + STA $28 + PLX + DEX + BEQ L0C0661 + BRL L0C05AE +L0C0661 RTS + +L0C0662 LDAL L019998 + STA $0A + LDAL L01999A + STA $0C + LDA #$319E + STA $28 + LDA #$00E1 + STA $2A + LDX L0C073A +L0C067B LDY #$004E +L0C067E LDA [$0A],Y + STA [$28],Y + DEY + DEY + BPL L0C067E + CLC + LDA $28 + ADC #$00A0 + STA $28 + CLC + LDA $0A + ADC #$0050 + STA $0A + DEX + BNE L0C067B + RTS + +L0C069A DW $0000 +L0C069C DW $0000 +L0C069E DW $0000 +L0C06A0 DW $0000 +L0C06A2 DW $0000 +L0C06A4 DW $0000 +L0C06A6 DW $0000 +L0C06A8 DW $0000 +L0C06AA DW $001B + DW $003B +L0C06AE DW $00A1 + DW $00DD +L0C06B2 DW $001C +L0C06B4 DW $003C +L0C06B6 DW $0000 +L0C06B8 DW $00DC +L0C06BA DW $0000 +L0C06BC DW $0000 +L0C06BE DW $0000 +L0C06C0 DW $0000 +L0C06C2 HEX 0FFF0FFFFFFFFFFFFF0FFF0FFFFFFFFF + HEX 0FFF0FFFFFFFFFFFFF0FFF0FFFFFFFFF + DW $FF0F + DW $FF0F +L0C06E6 HEX 0F0F0F0FF0F0F0F00F0F0F0FF0F0F0F0 + HEX 0F0F0F0FF0F0F0F00F0F0F0FF0F0F0F0 +L0C0706 DW $007B +L0C0708 DW $00EA + DW $0088 + DW $012D +L0C070E DW $008D +L0C0710 DW $00EA + DW $009A + DW $012D +L0C0716 DA L0C0615 + DA L0C0619 + DA L0C0614 + DA L0C061B +L0C071E DW $0000 +L0C0720 DW $0000 +L0C0722 DW $0000 +L0C0724 DW $0000 +L0C0726 DW $0000 +L0C0728 DW $0000 +L0C072A DW $0000 +L0C072C DW $0000 +L0C072E DW $0000 +L0C0730 DW $0000 +L0C0732 DW $0000 +L0C0734 DW $0000 +L0C0736 DW $0000 +L0C0738 DW $0000 +L0C073A DW $0000 diff --git a/gspaint/SHOWPAGE.X.S b/gspaint/SHOWPAGE.X.S new file mode 100644 index 0000000..794e6d0 --- /dev/null +++ b/gspaint/SHOWPAGE.X.S @@ -0,0 +1,30 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0196BB + EXT L018744 + EXT L01A458 + EXT L019EE0 + EXT L019976 + EXT L019978 + EXT L0196C9 + EXT L0196C7 + EXT L0196C5 + EXT L019E74 + EXT L019998 + EXT L01999A + EXT L0199F4 + EXT L0149AE + EXT L01046F + EXT L010472 + EXT L019825 + EXT L01997C + EXT L019683 + EXT L019681 + EXT L01855E + EXT L0183EE + EXT L0118C4 + EXT L01436D + EXT L01194B diff --git a/gspaint/SHUTDOWN.S b/gspaint/SHUTDOWN.S new file mode 100644 index 0000000..b058963 --- /dev/null +++ b/gspaint/SHUTDOWN.S @@ -0,0 +1,112 @@ +* +* GS/Paint +* version 1.2 +* +* (c) 1986-1987, Version Soft +* (s) 2020, Brutal Deluxe Software +* + + mx %00 + rel + use SHUTDOWN.X + lst off + +*------------------------------- + + use 4/Ctl.Macs + use 4/Desk.Macs + use 4/Dialog.Macs + use 4/Event.Macs + use 4/Font.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/List.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/Misc.Macs + use 4/Print.Macs + use 4/Qd.Macs + use 4/QdAux.Macs + use 4/Std.Macs + use 4/Util.Macs + use 4/Window.Macs + +*------------------------------- + + BRA L0B0004 + LDA $A5 +L0B0004 PHB + PHK + PLB + PEA ^L01A458 + PEA L01A458 + _SetCursor + LDA $DC + LDX $DE + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + LDA $E0 + LDX $E2 + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + LDA $E4 + LDX $E6 + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + LDA $E8 + LDX $EA + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + LDA $EC + LDX $EE + PHX + PHA + PHX + PHA + _HUnlock + _DisposeHandle + LDA $92 + PHA + LDA $90 + PHA + _CloseWindow + _DialogShutDown + _LEShutDown + _CtlShutDown + _FMShutDown + _DeskShutDown + _MenuShutDown + _WindShutDown + _QDAuxShutDown + _PMShutDown + _EMShutDown + _QDShutDown + _MTShutDown + _TLShutDown + LDAL L01967F + PHA + PHA + _HUnlockAll + _DisposeAll + PLB + RTL + diff --git a/gspaint/SHUTDOWN.X.S b/gspaint/SHUTDOWN.X.S new file mode 100644 index 0000000..1dce25a --- /dev/null +++ b/gspaint/SHUTDOWN.X.S @@ -0,0 +1,7 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L01967F + EXT L01A458 diff --git a/gspaint/gspaint.po b/gspaint/gspaint.po new file mode 100644 index 0000000..c4aad3c Binary files /dev/null and b/gspaint/gspaint.po differ diff --git a/gspaint/infos.txt b/gspaint/infos.txt new file mode 100644 index 0000000..06eed43 --- /dev/null +++ b/gspaint/infos.txt @@ -0,0 +1,20 @@ +GS/PAINT +V1.2 +(C) 1987 + + +1* 0000 MAIN +2* 8000 INIT +3* 8000 EDITCOLOR +4* 8000 EDITBRUSH +5* 8000 EDITMIROR +6* 8000 EDITPAT +7* 8000 PALETTE +8* 8000 ANIMATION +9* 8000 SEARCHC +A* 8000 FULLSCREEN +B* 8000 SHUTDOWN +C* 8000 SHOWPAGE + +DONE +18:39:11 diff --git a/mdt/FW1.S b/mdt/FW1.S new file mode 100644 index 0000000..044e5ba --- /dev/null +++ b/mdt/FW1.S @@ -0,0 +1,1195 @@ +* +* MicroDrive Turbo +* (c) 1996-2006, Joachim Lange +* (s) 2019, Brutal Deluxe Software +* + + mx %11 + org $c800 + dsk FW1.NEW + lst off + +*---------------------------- + +SLOT161 = $C1 ; This is for slot 1 + +MSLOT EQU $07F8 +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +DMAREG EQU $C037 +SLOOP EQU $FABA +INIT EQU $FB2F +SETTXT EQU $FB39 +HOME EQU $FC58 +SETKBD EQU $FE89 +SETVID EQU $FE93 + +*---------------------------- + + LDY #$20 + LDY #$00 + LDY #$03 + LDY #$00 + CLD + JSR SETKBD + JSR SETVID + JSR INIT + JSR HOME + LDA #SLOT161 + STA MSLOT +LC81A LDA LCFFF + STZ $C092 + JMP LCC58 + +LC823 CLV + BVC LC828 +LC826 SEP #$40 +LC828 LDA #SLOT161 + STA MSLOT + LDA LCFFF + STZ $C092 + LDA LC980 + EOR #$82 + CMP LC981 + BEQ LC842 + PHP + JSR LCD13 + PLP +LC842 BVS LC847 + JMP LCA16 + +LC847 LDA #$01 + STA $C092 + CLC + XCE + REP #$30 + LDA $42 + STA LC9E0 + LDA $44 + STA LC9E0+2 + LDA $46 + STA LC9E4 + LDA $48 + STA LC9E5+1 + LDA $4A + STA LC9E5+3 + LDA $4C + STA LC9EA + LDA $4E + STA LC9EA+2 + LDA $50 + STA LC9EE + SEP #$30 + LDY #$01 +LC87C LDA ($01,S),Y +LC87E STA LC925 + BIT LC925 + BVC LC889 + JMP LCA01 + +LC889 INY + REP #$20 + LDA ($01,S),Y + STA $4C + TSX + LDA $0101,X + CLC + ADC #$0003 + STA $0101,X + SEP #$20 + LDY #$01 + LDA ($4C),Y + STA LC927 + CMP LC81A + BCC LC8AD + BEQ LC8AD + BCS LC8DC +LC8AD INY + REP #$20 + LDA ($4C),Y + STA $44 + SEP #$20 + INY + LDA LC925 + CMP #$04 + BEQ LC8E5 + CMP #$03 + BEQ LC8E5 + BCS LC8E2 + CMP #$01 + BCC LC8D2 + INY + REP #$20 + LDA ($4C),Y + STA $46 + SEP #$20 + INY +LC8D2 INY + LDA ($4C),Y + STA $48 + BCC LC8DF + JMP LCA01 +LC8DC JMP LCA01 +LC8DF JMP LCA01 +LC8E2 JMP LCA01 + +LC8E5 CLC + STZ LC92B +LC8E9 JMP LCA01 + + DB $01 + DB $03 + DB $07 + DB $0F + DB $FF + DB $FF + ASC "IDU" + DB $10 + DB $00 +LC8F7 ASC "MT" +LC8F9 ASC "JL" +LC8FB DB $80 + DB $00 + DB $00 +LC8FE DB $3F +LC8FF DB LC823 ; Smartport ID (add 3 for entry point) + +*---------------------------- + +LC900 ASC "JL" + DB $64 + DB $02 + DB $64 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $05 + DB $00 + DB $05 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $05 + DB $00 + DB $03 + DB $00 + DB $08 + DB $00 + DB $01 + DB $00 + DB $03 + DB $00 +LC920 DB $04 + DB $00 + DB $00 +LC923 DB $00 +LC924 DB $01 +LC925 DB $00 + DB $40 +LC927 DB $00 + DB $01 + DB $00 + DB $01 +LC92B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC931 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC980 DB $00 +LC981 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC9E0 JSL $000000 +LC9E4 RTS + +LC9E5 JSL $000000 + RTS + +LC9EA JSL $000000 +LC9EE RTS + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LCA00 DB $00 +LCA01 DB $00 + DB $00 +LCA03 JMP LCB29 + +LCA06 LDA #$CE ; Switch bank + STA LC980 + STA LC981 + LDA #$28 + JMP LCAEE +LCA13 JMP LCB18 + +LCA16 LDA #$03 + STA LC920 + CLC + XCE + LDA $42 + BMI LCA03 + LDA LC980 + CMP #$CA + BNE LCA06 +LCA28 LDX #$01 + LDY $43 + CPY #$10 + BEQ LCA35 + INX + CPY #$90 + BNE LCA13 +LCA35 STX LC927 +LCA38 LDA $C09F + BMI LCA38 + LDA $42 + CMP #$02 + BEQ LCA4A + CMP #$01 + BEQ LCA9A + JMP LCAF2 + +LCA4A LDA $48 + PHA + STZ $48 + JSR LC8E9+1 ; LOGO (see FW4) + PLA + STA $48 + JSR LCD62 + LDA #$01 + STA $C09A + LDA #$30 + STA $C09F + REP #$30 + LDA $44 + STA $C094 + SEP #$30 + STZ DMAREG + LDA $C096 +LCA71 LDA $C09F + BMI LCA71 + AND #$FD + CMP #$58 + BEQ LCA82 + AND #$21 + BEQ LCA71 + BNE LCA97 +LCA82 STA $C093 + JSR LCDB7 +LCA88 LDA $C09F + BMI LCA88 + AND #$FD + CMP #$50 + BEQ LCAD5 + AND #$21 + BEQ LCA88 +LCA97 JMP LCADE + +LCA9A LDA $48 + PHA + STZ $48 + JSR LC8E9+1 ; LOGO (see FW4) + PLA + STA $48 + LDA #$01 + STA $C09A + JSR LCD62 + LDA #$20 + STA $C09F + REP #$30 + LDA $44 + STA $C094 + SEP #$30 + STZ DMAREG + LDA $C097 + JSR LCDB7 +LCAC4 LDA $C09F + BMI LCAC4 + AND #$F9 + LSR + BCS LCADE + CMP #$2C + BNE LCAC4 + STA $C093 +LCAD5 LDA #$00 + TAX + LDY #$02 +LCADA SEC + XCE + CLC + RTS + +LCADE JSR LCEF7 + JSR LCD55 + DEC LC920 + BEQ LCAEC + JMP LCA28 + +LCAEC LDA #$27 +LCAEE SEC + XCE + SEC + RTS + +LCAF2 CMP #$00 + BNE LCB1D + LDA LC927 + ASL + ASL + TAX + LDY LC87E,X + BNE LCB13 + LDY LC87C+1,X + LDA LC87C,X + BNE LCB0D + CPY #$00 + BEQ LCB18 +LCB0D TAX + LDA #$00 +LCB10 JMP LCADA + +LCB13 LDA #$FF + TAY + BRA LCB0D +LCB18 LDA #$28 + JMP LCAEE + +LCB1D CMP #$03 + BEQ LCB23 + BNE LCB29 +LCB23 LDA #$00 + TAX + TAY + BEQ LCB10 +LCB29 CMP #$81 + BEQ LCB36 + CMP #$82 + BEQ LCB6A + LDA #$01 + JMP LCAEE + +LCB36 JSR LCBB7 + LDA #$20 + STA $C09F + JSR LCDB7 +LCB41 LDA $C09F + BMI LCB41 + AND #$F9 + CMP #$58 + BEQ LCB51 + LSR + BCS LCBB0 + BRA LCB41 +LCB51 REP #$30 + LDY $44 +LCB55 LDA $C090 + STA |$0000,Y + INY + INY + CPY LC923 + BCC LCB55 + SEP #$30 + LDA $C09F + JMP LCBAA + +LCB6A JSR LCBB7 + LDA #$30 + STA $C09F +LCB72 LDA $C09F + BMI LCB72 + AND #$FD + CMP #$58 + BEQ LCB83 + AND #$21 + BNE LCBB0 + BEQ LCB72 +LCB83 REP #$30 + LDY $44 +LCB87 LDA |$0000,Y + STA $C090 + INY + INY + CPY LC923 + BCC LCB87 + SEP #$30 + JSR LCDB7 +LCB99 LDA $C09F + BMI LCB99 + AND #$FD + CMP #$50 + BEQ LCBAA + AND #$21 + BNE LCBB0 + BEQ LCB99 +LCBAA SEC + XCE + LDA #$00 + CLC + RTS + +LCBB0 SEC + XCE + LDA $C09F + SEC + RTS + +LCBB7 LDA $43 + LSR + LSR + LSR + AND #$F0 + ORA #$A0 + STA $C09E + JSR LCD62 + LDA #$01 + STA $C09A + LDA $46 + STA $C09B + LDA #$00 + STA $C09C + STA $C09D + LDA $44 + STA LC923 + LDA $45 + INC + INC + STA LC924 + RTS + +LCBE5 LDY #$00 +LCBE7 LDA LCBF3,Y + BEQ LCBF2 + STA $04AD,Y + INY + BNE LCBE7 +LCBF2 RTS + +LCBF3 ASC "Waiting for hard drive..."00 + +*---------------------------- + +LCC0D SEC + XCE + STZ $00 + LDA #SLOT161 + STA $01 + JMP SLOOP + +LCC18 LDA #$08 + STA LC8FB + STZ LC8F9+1 + STZ LC8F9 +LCC23 LDA $C09F + CMP #$FE + BCS LCC45 + CMP #$EF + BEQ LCC45 + AND #$F0 + CMP #$50 + BNE LCC36 + CLC + RTS + +LCC36 INC LC8F9 + BNE LCC23 + INC LC8F9+1 + BNE LCC23 + DEC LC8FB + BNE LCC23 +LCC45 SEC + RTS + +LCC47 LDA #$01 + STA LC8FE + JSR HOME + JSR LCDE7 + JSR LCDF4 + JMP LCD02 + +LCC58 CLC + XCE + LDA #$BB + STA LC8F7+1 + LDA KBD + BPL LCC6F + LDY KBDSTROBE + CMP #$B0 + BEQ LCC0D + CMP #$9B + BEQ LCC0D +LCC6F JSR LCBE5 + JSR LCDDB + LDA #$B0 + STA $07F7 + JSR LCC18 + BCS LCC47 + JSR HOME + LDA #$B1 + STA $07F7 + JSR LCD30 + LDA #$B2 + STA $07F7 + BCC LCC94 + JMP LCD02 + +LCC94 LDA #$B3 + STA $07F7 + LDA #$03 + STA LC920 +LCC9E LDA #$A0 + STA $C09E + JSR LCD62 + LDA #$02 + STA $C09B + STZ $C09C + STZ $C09D + LDA #$01 + STA $C09A + LDA #$20 + STA $C09F + JSR LCDB7 + JSR LCD89 + BCC LCCCA + DEC LC920 + BNE LCC9E + BEQ LCCFD +LCCCA CLC + XCE + REP #$30 + LDY #$0000 +LCCD1 LDA $C090 + STA $8000,Y + INY + INY + CPY #$0200 + BNE LCCD1 + SEC + XCE + MX %11 + LDA $C09F + LDA #$B3 + STA $07F7 + LDA $8000 + BEQ LCCFD + CMP #$FF + BEQ LCCFD + LDA #$B5 + STA $07F7 + SEC + XCE + LDX #$10 + JMP $8000 + +LCCFD LDA #$07 + STA LC8FE +LCD02 SEC + XCE + JSR HOME + JSR LCDE7 + JSR LCDF4 + JSR SETTXT + JMP $E000 + +LCD13 LDX #$07 +LCD15 LDA $42,X + STA LC9EA+2,X + DEX + BPL LCD15 + LDA #$EE + STA LC8F7+1 + JSR LCD30 + LDX #$07 +LCD27 LDA LC9EA+2,X + STA $42,X + DEX + BPL LCD27 + RTS + +LCD30 JSR LCDE1 + STZ $C096 + JSR LCDDB + STZ $C096 + LDX #$03 + JSR LCFA0 + BCS LCD4B + PHP + LDX #$02 + JSR LCFA0 + PLP + RTS + +LCD4B LDA #$CE + STA LC980 + STA LC981 + SEC + RTS + +LCD55 LDA $C09F + AND #$08 + BEQ LCD61 + LDA $C090 + BRA LCD55 +LCD61 RTS + +LCD62 LDA #$02 + STA LC8FB + STZ LC8F9 + STZ LC8F9+1 +LCD6D LDA $C09F + BMI LCD78 + AND #$F0 + CMP #$50 + BEQ LCDA2 +LCD78 INC LC8F9 + BNE LCD6D + INC LC8F9+1 + BNE LCD6D + DEC LC8FB + BNE LCD6D + SEC + RTS + +LCD89 STZ LC8F9 + STZ LC8F9+1 + LDA #$02 + STA LC8FB +LCD94 LDA $C09F + BMI LCDA6 + LSR + BCS LCDA4 + AND #$7C + CMP #$2C + BNE LCDA4 +LCDA2 CLC + RTS + +LCDA4 SEC + RTS + +LCDA6 INC LC8F9 + BNE LCD94 + INC LC8F9+1 + BNE LCD94 + DEC LC8FB + BNE LCD94 + SEC + RTS + +LCDB7 LDA #$02 + STA LC8FB + STZ LC8F9+1 + STZ LC8F9 +LCDC2 LDA $C098 + BPL LCDCB + LDA $C09F + RTS + +LCDCB INC LC8F9 + BNE LCDC2 + INC LC8F9+1 + BNE LCDC2 + DEC LC8FB + BNE LCDC2 + RTS + +LCDDB LDA #$A0 + STA $C09E + RTS + +LCDE1 LDA #$B0 + STA $C09E + RTS + +LCDE7 LDY #$00 +LCDE9 LDA LCEE0,Y + BEQ LCE11 + STA $0750,Y + INY + BNE LCDE9 +LCDF4 LDA LC8FE + BEQ LCE11 + ASL + TAY + LDA LCE12,Y + STA $1E + LDA LCE13,Y + STA $1F + LDY #$00 +LCE07 LDA ($1E),Y + BEQ LCE11 + STA $07D0,Y + INY + BNE LCE07 +LCE11 RTS + +*---------------------------- + +LCE12 DB $00 +LCE13 DB $00 + DA LCE22 + DA LCE30 + DA LCE43 + DA LCE61 + DA LCE82 + DA LCEA4 + DA LCECA + +LCE22 ASC "drive 1 error"00 +LCE30 ASC "drive 1 init error"00 +LCE43 ASC "configuration data is missing"00 +LCE61 ASC "configuration drive 2 is missing"00 +LCE82 ASC "service call, turn power off & on"00 +LCEA4 ASC "read error when loading configuration"00 +LCECA ASC "boot block is missing"00 +LCEE0 ASC "MicroDrive/Turbo Card:"00 + +LCEF7 LDX #$20 + STX LC931 + LDY #$40 +LCEFE LDA SPKR + LDX LC931 +LCF04 DEX + BNE LCF04 + DEY + BNE LCEFE + LDX #$50 +LCF0C DEY + BNE LCF0C + DEX + BNE LCF0C + RTS + +*---------------------------- + + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + +*---------------------------- + +LCFA0 LDA LCA00 + STA LC8FF + STX $C092 + JMP LCA01 + + LDA LC8FF + STA $C092 + RTS + +*---------------------------- + + DB $00 + DB $01 + DB $02 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LCFFF DB $00 + +*---------------------------- diff --git a/mdt/FW2.S b/mdt/FW2.S new file mode 100644 index 0000000..b97d197 --- /dev/null +++ b/mdt/FW2.S @@ -0,0 +1,1377 @@ +* +* MicroDrive Turbo +* (c) 1996-2006, Joachim Lange +* (s) 2019, Brutal Deluxe Software +* + + mx %11 + org $c800 + dsk FW2.NEW + lst off + +*---------------------------- + +SLOT161 = $C1 ; This is for slot 1 + +MSLOT EQU $07F8 +SPKR EQU $C030 +DMAREG EQU $C037 +INIT EQU $FB2F +HOME EQU $FC58 +SETKBD EQU $FE89 +SETVID EQU $FE93 + +*---------------------------- + + LDY #$20 + LDY #$00 + LDY #$03 + LDY #$00 + CLD + JSR SETKBD + JSR SETVID + JSR INIT + JSR HOME + LDA #SLOT161 + STA MSLOT +LC81A LDA LCFFF + STZ $C092 + JMP LCA01 + +LC823 CLV + BVC LC828 +LC826 SEP #$40 +LC828 LDA #SLOT161 + STA MSLOT + LDA LCFFF + STZ $C092 + LDA LC980 + EOR #$82 + CMP LC981 + BEQ LC842 + PHP + JSR LCA01 + PLP +LC842 BVS LC847 + JMP LCA01 + +LC847 LDA #$01 + STA $C092 + CLC + XCE + REP #$30 + LDA $42 + STA LC9E0 + LDA $44 + STA LC9E0+2 + LDA $46 + STA LC9E4 + LDA $48 + STA LC9E5+1 + LDA $4A + STA LC9E5+3 + LDA $4C + STA LC9EA + LDA $4E + STA LC9EA+2 + LDA $50 + STA LC9EE + SEP #$30 + LDY #$01 +LC87C LDA ($01,S),Y +LC87E STA LC925 + BIT LC925 + BVC LC889 + JMP LCB6F + +LC889 INY + REP #$20 + LDA ($01,S),Y + STA $4C + TSX + LDA $0101,X + CLC + ADC #$0003 + STA $0101,X + SEP #$20 + LDY #$01 + LDA ($4C),Y + STA LC927 + CMP LC81A + BCC LC8AD + BEQ LC8AD + BCS LC8DC +LC8AD INY + REP #$20 + LDA ($4C),Y + STA $44 + SEP #$20 + INY + LDA LC925 + CMP #$04 + BEQ LC8E5 + CMP #$03 + BEQ LC8E5 + BCS LC8E2 + CMP #$01 + BCC LC8D2 + INY + REP #$20 + LDA ($4C),Y + STA $46 + SEP #$20 + INY +LC8D2 INY + LDA ($4C),Y + STA $48 + BCC LC8DF + JMP LCAB0 +LC8DC JMP LCA0B +LC8DF JMP LCA29 +LC8E2 JMP LCA13 + +LC8E5 CLC + STZ LC92B +LC8E9 JMP LCA26 + + DB $01 + DB $03 + DB $07 + DB $0F + DB $FF + DB $FF + DB $C9 + DB $C4 + DB $D5 + DB $10 + DB $00 + DB $CD + DB $D4 +LC8F9 DB $CA +LC8FA DB $CC +LC8FB DB $80 + DB $00 + DB $00 + DB $3F +LC8FF DB LC823 + +*---------------------------- + + DB $CA + DB $CC + DB $64 + DB $02 + DB $64 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $05 + DB $00 + DB $05 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $05 + DB $00 + DB $03 + DB $00 + DB $08 + DB $00 + DB $01 + DB $00 + DB $03 + DB $00 +LC920 DB $04 + DB $00 + DB $00 + DB $00 + DB $01 +LC925 DB $00 + DB $40 +LC927 DB $00 + DB $01 +LC929 DB $00 +LC92A DB $01 +LC92B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC931 DB $00 +LC932 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC980 DB $00 +LC981 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LC9E0 JSL $000000 +LC9E4 RTS + +LC9E5 JSL $000000 + RTS + +LC9EA JSL $000000 +LC9EE RTS + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LCA00 DB $01 +LCA01 DB $00 + DB $01 + +LCA03 LDA #$21 + BNE LCA15 +LCA07 LDA #$27 + BNE LCA15 +LCA0B LDA #$28 + BNE LCA15 +LCA0F LDA #$2F + BNE LCA15 +LCA13 LDA #$01 +LCA15 SEC + STA LC92B + JMP LCCD3 + +LCA1C STX LC929 + STZ LC92A + STZ LC92B + CLC +LCA26 JMP LCCD3 + +LCA29 LDA LC980 + CMP #$CA + BNE LCA0B + LDA $48 + BEQ LCA3B + CMP #$03 + BNE LCA03 + BRL LCA7A +LCA3B LDX #$02 + JSR LCFA0 + LDY LC81A + BEQ LCA0F + CPY #$11 + BCS LCA0F + LDA LC927 + BEQ LCA99 + CMP LC81A + BCC LCA58 + BEQ LCA58 + JMP LCA0B + +LCA58 JSR LCA60 + LDX #$04 + JMP LCA1C + +LCA60 LDA LC927 + ASL + ASL + TAX + LDY #$00 + LDA LCDF8 + STA ($44),Y + INY +LCA6E LDA LC87C,X + STA ($44),Y + INX + INY + CPY #$04 + BNE LCA6E + RTS + +LCA7A LDA LC927 + CMP LC81A + BCC LCA87 + BEQ LCA87 + JMP LCA0B + +LCA87 JSR LCA60 +LCA8A LDA LCDF9,Y + STA ($44),Y + INY + CPY #$19 + BNE LCA8A + LDX #$19 + JMP LCA1C + +LCA99 LDY #$07 +LCA9B LDA LCDC2,Y + STA ($44),Y + DEY + BNE LCA9B + LDA LC81A + STA ($44),Y + LDX #$08 + JMP LCA1C +LCAAD JMP LCA0F + +LCAB0 LDA #$03 + STA LC920 +LCAB5 JSR LC8E9+1 ; LOGO (see FW4) + LDA $C09F + AND #$40 + BEQ LCAAD + LDA LC925 + CMP #$02 + BEQ LCACC + JMP LCB1D + JMP LCA0B + +LCACC LDA #$01 + STA $C09A + LDA #$30 + STA $C09F + LDA $C096 + STZ DMAREG + REP #$30 + LDA $44 + STA $C094 + SEP #$30 +LCAE5 LDA $C09F + BMI LCAE5 + AND #$FD + CMP #$58 + BEQ LCAF6 + AND #$21 + BEQ LCAE5 + BNE LCB0B +LCAF6 STA $C093 + JSR LCD19 +LCAFC LDA $C09F + BMI LCAFC + AND #$FD + CMP #$50 + BEQ LCB0E + AND #$21 + BEQ LCAFC +LCB0B BRL LCB5E +LCB0E STZ LC92B + CLC + REP #$30 + LDA #$0200 + STA LC929 + JMP LCCD5 + +*---------------------------- + + MX %11 +LCB1D LDA #$01 + STA $C09A + LDA #$20 + STA $C09F + LDA $C097 + STZ DMAREG + REP #$30 + LDA $44 + STA $C094 + SEP #$30 + JSR LCD19 +LCB39 LDA $C09F + BMI LCB39 + AND #$F9 + CMP #$58 + BEQ LCB49 + LSR + BCS LCB5E + BRA LCB39 +LCB49 STA $C093 + LDA $C09F + STZ LC92B + CLC + REP #$30 + LDA #$0200 + STA LC929 + JMP LCCD5 + +LCB5E JSR LCE27 + JSR LCD0D + DEC LC920 + BEQ LCB6C + JMP LCAB5 +LCB6C JMP LCA07 + +LCB6F REP #$20 + MX %01 + LDY #$02 + LDA ($01,S),Y + STA $4C + LDY #$04 + LDA ($01,S),Y + STA $4E + TSX + LDA $0101,X + CLC + ADC #$0005 + STA $0101,X + LDY #$02 + LDA [$4C],Y + STA $4F + LDY #$04 + LDA [$4C],Y + STA $51 + LDY #$06 + LDA [$4C],Y + STA $46 + LDY #$08 + LDA [$4C],Y + STA $48 + SEP #$30 + LDY #$01 + LDA [$4C],Y + STA LC927 + LDA #$03 + STA LC920 +LCBAE LDA LC925 + CMP #$41 + BNE LCBB8 + JMP LCC51 + +LCBB8 CMP #$42 + BEQ LCBDA + CMP #$40 + BNE LCBC3 + JMP LCD63 + +LCBC3 CMP #$43 + BEQ LCBCE + CMP #$44 + BEQ LCBCE + JMP LCD4D + +LCBCE CLC + STZ LC92B + REP #$30 + STZ LC929 + JMP LCCD3 + + MX %11 +LCBDA JSR LC8E9+1 ; LOGO (see FW4) + LDA $C09F + AND #$40 + BEQ LCC4E + LDA #$01 + STA $C09A + LDA #$30 + STA $C09F +LCBEE LDA $C09F + BMI LCBEE + AND #$FD + CMP #$58 + BEQ LCC00 + AND #$21 + BEQ LCBEE + BRL LCCBF +LCC00 REP #$30 + LDA $4F + STA $44 + CMP #$FE01 + BCC LCC17 + SEP #$30 + LDA $51 +LCC0F STA LC932 + JSR LC8E5 + BRA LCC3B +LCC17 STA $C094 + SEP #$30 + LDA $51 + CMP #$90 + BCS LCC27 + CMP LC826 + BCS LCC0F +LCC27 CMP #$E0 + BEQ LCC0F + CMP #$E1 + BEQ LCC0F + STA DMAREG + LDA $C096 + STA $C093 + JSR LCD19 +LCC3B LDA $C09F + BMI LCC3B + AND #$FD + CMP #$50 + BEQ LCC4C + AND #$21 + BEQ LCC3B + BNE LCCBF +LCC4C BRA LCCB1 +LCC4E JMP LCD45 + +LCC51 JSR LC8E9+1 ; LOGO (see FW4) + LDA $C09F + AND #$40 + BEQ LCC4E + LDA #$01 + STA $C09A + LDA #$20 + STA $C09F + LDY $51 + STY DMAREG + JSR LCD19 +LCC6D LDA $C09F + BMI LCC6D + AND #$F9 + CMP #$58 + BEQ LCC7D + LSR + BCS LCCBF + BRA LCC6D +LCC7D REP #$30 + LDA $4F + STA $44 + CMP #$FE01 + BCC LCC92 + SEP #$30 +LCC8A STY LC932 + JSR LC8DF+1 ; LOGO (see FW4) + BRA LCCAE +LCC92 STA $C094 + SEP #$30 + CPY #$90 + BCS LCCA0 + CPY LC826 + BCS LCC8A +LCCA0 CPY #$E0 + BEQ LCC8A + CPY #$E1 + BEQ LCC8A + LDA $C097 + STA $C093 +LCCAE LDA $C09F +LCCB1 STZ LC92B + REP #$30 + LDA #$0200 + STA LC929 + CLC + BRA LCCD5 +LCCBF JSR LCE27 + JSR LCD0D + DEC LC920 + BEQ LCCCD + JMP LCBAE + + MX %11 +LCCCD LDA #$27 + STA LC92B + SEC +LCCD3 REP #$30 +LCCD5 LDA LC9E0 + STA $42 + LDA LC9E0+2 + STA $44 + LDA LC9E4 + STA $46 + LDA LC9E5+1 + STA $48 + LDA LC9E5+3 + STA $4A + LDA LC9EA + STA $4C + LDA LC9EA+2 + STA $4E + LDA LC9EE + STA $50 + SEP #$30 + LDA LC92B + LDX LC929 + LDY LC92A + PHP + SEC + XCE + PLP +LCD0C RTS + +LCD0D LDA $C09F + AND #$08 + BEQ LCD0C + LDA $C090 + BRA LCD0D +LCD19 LDA #$03 + STA LC8FB + STZ LC8FA + STZ LC8F9 +LCD24 LDA $C098 + BPL LCD2D + LDA $C09F + RTS + +LCD2D INC LC8F9 + BNE LCD24 + INC LC8FA + BNE LCD24 + DEC LC8FB + BNE LCD24 + RTS + + LDA #$27 ; LOGO - LCD3D + BNE LCD4F +LCD41 LDA #$28 + BNE LCD4F +LCD45 LDA #$2F + BNE LCD4F +LCD49 LDA #$21 + BNE LCD4F +LCD4D LDA #$01 +LCD4F SEC + STA LC92B + JMP LCCD3 + +LCD56 STX LC929 + STZ LC92A + STZ LC92B + CLC + JMP LCCD3 + +LCD63 LDA LC980 + CMP #$CA + BEQ LCD6D + JMP LCD41 + +LCD6D LDA $46 + CMP #$04 + BCS LCD49 + ASL + TAX + JMP (LCD78,X) + +LCD78 DA LCD80 + DA LCD49 + DA LCD49 + DA LCD9C + +LCD80 LDX #$02 + JSR LCFA0 + LDA LC927 + BEQ LCDAF + CMP LC81A + BCC LCD93 + BEQ LCD93 + BCS LCD41 +LCD93 LDY #$04 + JSR LCDCA + LDX #$05 + BNE LCD56 +LCD9C LDA LC927 + CMP LC81A + BCC LCDA8 + BEQ LCDA8 + BCS LCD41 +LCDA8 JSR LCDCA + LDX #$1A + BNE LCD56 +LCDAF LDY #$07 +LCDB1 LDA LCDC2,Y + STA [$4F],Y + DEY + BNE LCDB1 + LDA LC81A + STA [$4F],Y + LDX #$08 + BRA LCD56 + +LCDC2 DB $00 + DB $40 + DB $02 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + +LCDCA LDY #$00 + LDA LCDF8 + STA [$4F],Y + INY + LDA LC927 + ASL + ASL + TAX + REP #$20 + LDA LC87C,X + STA [$4F],Y + LDY #$03 + LDA LC87E,X + AND #$00FF + STA [$4F],Y + SEP #$20 + LDY #$05 +LCDED LDA LCDF8,Y + STA [$4F],Y + INY + CPY #$1A + BNE LCDED + RTS + +LCDF8 SED +LCDF9 DB $00 + DB $00 + DB $00 + DB $00 + STR 'MicroDrive/Turbo' + DB $02 + +*---------------------------- + + LDY #$00 + BPL LCE13 +LCE13 LDX #$FF + BNE LCE33 + LDX #$80 + BNE LCE33 + LDX #$70 + BNE LCE33 + LDX #$60 + BNE LCE33 + LDX #$30 + BNE LCE33 +LCE27 LDX #$20 + BNE LCE33 + LDX #$1C + BNE LCE33 + LDX #$18 + BNE LCE33 +LCE33 STX LC931 + LDY #$20 +LCE38 LDA SPKR + LDX LC931 +LCE3E DEX + BNE LCE3E + DEY + BNE LCE38 + LDX #$20 +LCE46 DEY + BNE LCE46 + DEX + BNE LCE46 + RTS + +*---------------------------- + + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + +*---------------------------- + +LCFA0 LDA LCA00 + STA LC8FF + STX $C092 + JMP LCA01 + + LDA LC8FF + STA $C092 + RTS + +*---------------------------- + + DB $00 + DB $01 + DB $02 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LCFFF DB $00 diff --git a/mdt/FW3.S b/mdt/FW3.S new file mode 100644 index 0000000..2c097df --- /dev/null +++ b/mdt/FW3.S @@ -0,0 +1,1161 @@ +* +* MicroDrive Turbo +* (c) 1996-2006, Joachim Lange +* (s) 2019, Brutal Deluxe Software +* + + mx %11 + org $c800 + dsk FW3.NEW + lst off + +*---------------------------- + + use 4/Mem.Macs + use 4/Util.Macs + +*---------------------------- + +SLOT161 = $C1 ; This is for slot 1 + +MSLOT EQU $07F8 +SPKR EQU $C030 +INIT EQU $FB2F +SETTXT EQU $FB39 +HOME EQU $FC58 +COUT1 EQU $FDF0 +SETKBD EQU $FE89 +SETVID EQU $FE93 + +*---------------------------- + +LC800 LDY #$20 + LDY #$00 + LDY #$03 + LDY #$00 + CLD +LC809 JSR SETKBD +LC80C JSR SETVID + JSR INIT + JSR HOME + LDA #SLOT161 + STA MSLOT +LC81A LDA LCFFF + STZ $C092 + JMP LCA01 + +LC823 CLV + BVC LC828 + SEP #$40 +LC828 LDA #SLOT161 + STA MSLOT + LDA LCFFF + STZ $C092 + LDA LC980 + EOR #$82 + CMP LC981 +LC83B BEQ LC842 + PHP +LC83E JSR LCA01 + PLP +LC842 BVS LC847 + JMP LCA01 + +LC847 LDA #$01 + STA $C092 + CLC + XCE + REP #$30 + LDA $42 + STA LC9E0 + LDA $44 + STA LC9E0+2 + LDA $46 + STA LC9E4 + LDA $48 + STA LC9E5+1 + LDA $4A + STA LC9E5+3 + LDA $4C + STA LC9EA + LDA $4E + STA LC9EA+2 + LDA $50 + STA LC9EE + SEP #$30 + LDY #$01 + LDA ($01,S),Y +LC87E STA LC925 + BIT LC925 + BVC LC889 + JMP LCA01 + +LC889 INY + REP #$20 + LDA ($01,S),Y + STA $4C + TSX + LDA $0101,X + CLC + ADC #$0003 + STA $0101,X + SEP #$20 + LDY #$01 + LDA ($4C),Y + STA LC927 + CMP LC81A + BCC LC8AD + BEQ LC8AD + BCS LC8DC +LC8AD INY + REP #$20 + LDA ($4C),Y + STA $44 + SEP #$20 + INY + LDA LC925 + CMP #$04 + BEQ LC8E5 + CMP #$03 + BEQ LC8E5 + BCS LC8E2 + CMP #$01 + BCC LC8D2 + INY + REP #$20 + LDA ($4C),Y + STA $46 + SEP #$20 + INY +LC8D2 INY + LDA ($4C),Y + STA $48 + BCC LC8DF + JMP LCA01 +LC8DC JMP LCA01 +LC8DF JMP LCA01 +LC8E2 JMP LCA01 + +LC8E5 CLC +LC8E6 STZ LC92B +LC8E9 JMP LCA01 + + DB $01 +LC8ED DB $03 +LC8EE DB $07 + DB $0F +LC8F0 DB $FF + DB $FF +LC8F2 DB $C9 + DB $C4 +LC8F4 DB $D5 + DB $10 +LC8F6 DB $00 +LC8F7 DB $CD + DB $D4 + DB $CA + DB $CC + DB $80 + DB $00 + DB $00 + DB $3F +LC8FF DB LC823 + +*---------------------------- + +LC900 DB $CA + DB $CC + DB $64 + DB $02 + DB $64 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 + DB $05 + DB $00 + DB $05 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC912 DB $01 + DB $00 +LC914 DB $01 + DB $00 +LC916 DB $05 + DB $00 + DB $03 + DB $00 + DB $08 + DB $00 +LC91C DB $01 + DB $00 +LC91E DB $03 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 + DB $01 +LC925 DB $00 + DB $40 +LC927 DB $00 + DB $01 + DB $00 + DB $01 +LC92B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC931 DB $00 +LC932 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC980 DB $00 +LC981 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC9C1 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LC9E0 JSL $000000 +LC9E4 RTS + +LC9E5 JSL $000000 + RTS + +LC9EA JSL $000000 +LC9EE RTS + +*---------------------------- + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LCA00 DB $02 +LCA01 DB $00 + DB $02 + +LCA03 CLC + XCE + PHK + PLB + REP #$30 + LDX #$000E +LCA0C LDA $18,X + STA LC900,X + DEX + DEX + BPL LCA0C + LDA LC8F7 + AND #$00FF + BNE LCA66 + LDA LC8F6 + CMP #$0002 + BCC LCA66 + CMP #$00E0 + BEQ LCA34 + CMP #$00E1 + BEQ LCA34 + CMP #$0080 + BCS LCA66 +LCA34 LDA LC8F6 + PHA + LDA LC8F4 + PHA + _CheckHandle + BCS LCA66 + LDA LC8F6 + STA $1A + LDA LC8F4 + STA $18 + LDY #$0000 + LDA [$18],Y + CMP LC8F0 + BNE LCA66 + LDY #$0002 + LDA [$18],Y + CMP LC8F2 + BNE LCA66 + JMP LCBDE + +LCA66 JSR LCF71 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0D90 + PEA $0003 + PEA $C01C + PEA $0000 + PEA $0000 + _NewHandle + PLX + PLY + BCS LCAA8 + STX $18 + STY $1A + STX LC8F4 + STY LC8F6 + LDY #$0000 + LDA [$18],Y + STA LC8F0 + INY + INY + LDA [$18],Y + STA LC8F2 + JMP LCADD + +LCAA8 SEC + XCE + MX %11 + JSR HOME + JSR SETTXT + LDY #$00 +LCAB2 LDA LCABE,Y + BEQ LCABD + JSR COUT1 + INY + BNE LCAB2 +LCABD DB $00 + +LCABE ASC "IDE Card Memory Request Error"8D00 + +*---------------------------- + + MX %00 + +LCADD LDA LC8F0 + LDY LC8F2 + STA $1C + STY $1E + LDY #$0000 + SEP #$20 +LCAEC LDA LCC4D,Y + STA [$1C],Y + INY + CPY #$000B + BCC LCAEC + REP #$20 + JSR LCC37 + SEP #$20 + LDX #$0000 + LDY #$0000 +LCB04 LDA LCC58,X + STA [$1C],Y + INX + INY + CPX #$0010 + BCC LCB04 + REP #$20 + JSR LCC37 + LDA LCC43 + LDY #$0000 + JSR LCC29 + STZ LC912 + LDX #$0100 + LDY #$0001 +LCB27 LDA LC912 + STA [$1C],Y + INY + INY + INY + INY + INY + INC LC912 + INC LC912 + DEX + BNE LCB27 + LDY #$0003 + LDA LCC46 + JSR LCC29 + DEY + DEY + DEY + JSR LCC37 + SEP #$20 + LDX #$0000 + TXY +LCB4F LDA LCC68,X + STA [$1C],Y + INX + INY + CPX #$0008 + BCC LCB4F + REP #$20 + JSR LCC37 + SEP #$20 + LDX #$0000 + LDY #$0000 +LCB68 LDA LCC70,X + STA [$1C],Y + INX + INY + CPX #$0010 + BCC LCB68 + REP #$20 + JSR LCC37 + LDY #$0000 + LDA LCC48 + JSR LCC29 + LDY #$0002 + LDA LCC4A + JSR LCC29 + STZ LC912 + LDX #$0100 + LDY #$0003 +LCB94 LDA LC912 + STA [$1C],Y + INY + INY + INY + INY + INY + INC LC912 + INC LC912 + DEX + BNE LCB94 + DEY + DEY + DEY + JSR LCC37 + SEP #$20 + LDX #$0000 + TXY +LCBB3 LDA LCC80,X + STA [$1C],Y + INX + INY + CPX #$0008 + BCC LCBB3 + REP #$20 + JSR LCC37 + LDY #$0000 +LCBC7 LDA LCC89,Y + STA [$1C],Y + INY + INY + CPY #$02E8 + BCC LCBC7 + JSR LCC37 + LDY #$0000 + LDA #$FFFF + STA [$1C],Y +LCBDE LDA LC8F0 + STA LC8DF+2 + CLC + ADC #$0003 + STA LC8E6 + CLC + ADC #$0003 + STA LC8E9+2 + SEP #$30 + LDA LC8F2 + STA LC8E2+1 + STA LC8E6+2 + STA LC8ED + LDA #$22 + STA LC8DF+1 + STA LC8E5 + STA LC8E9+1 + LDA #$60 + STA LC8E2+2 + STA LC8E9 + STA LC8EE + REP #$30 + LDX #$000E +LCC1B LDA LC900,X + STA $18,X + DEX + DEX + BPL LCC1B + SEP #$30 + JMP LCFAC + +*---------------------------- + + MX %00 + +LCC29 LDX #$0100 +LCC2C STA [$1C],Y + INY + INY + INY + INY + INY + DEX + BNE LCC2C + RTS + +LCC37 STY LC914 + LDA $1C + CLC + ADC LC914 + STA $1C + RTS + +*---------------------------- +* Generated code + +LCC43 LDA |$0000,Y +LCC46 STA $90 +LCC48 LDA $90 +LCC4A STA |$0000,Y + +LCC4D HEX 822005 + HEX 820500 + HEX 82320A + DB $00 + DB $00 + +LCC58 REP #$10 + LDY $44 + PHB + LDA LC932 + PHA + PLB + REP #$20 + LDA #$C000 + TCD + +LCC68 LDA #$0000 + TCD + SEP #$30 + PLB + RTL + +LCC70 REP #$10 + LDY $44 + PHB + LDA LC932 + PHA + PLB + REP #$20 + LDA #$C000 + TCD +LCC80 LDA #$0000 + TCD + SEP #$30 + PLB + RTL + RTL + +LCC89 LDA LC927 + ASL + ASL + TAX + CLC + REP #$20 + LDA $46 + ADC LC83B+1,X + STA LC91C + SEP #$20 + LDA $48 + ADC LC83E,X + STA LC91E + LDA LC83E+1,X + STA LC9C1 + LDA LC87E+1,X + TAX + REP #$20 + CLC + LDA LC91E + AND #$003F + BEQ LCCBC + BRL LCD42 +LCCBC ASL LC91C + BCC LCCC4 + BRL LCD45 +LCCC4 ASL LC91C + BCC LCCCC + BRL LCD51 +LCCCC ASL LC91C + BCC LCCD4 + BRL LCD5D +LCCD4 ASL LC91C + BCC LCCDC + BRL LCD69 +LCCDC ASL LC91C + BCC LCCE4 + BRL LCD75 +LCCE4 ASL LC91C + BCC LCCEC + BRL LCD81 +LCCEC ASL LC91C + BCC LCCF4 + BRL LCD8D +LCCF4 ASL LC91C + BCC LCCFC + BRL LCD99 +LCCFC ASL LC91C + BCC LCD04 + BRL LCDA5 +LCD04 ASL LC91C + BCC LCD0C + BRL LCDB1 +LCD0C ASL LC91C + BCC LCD14 + BRL LCDBD +LCD14 ASL LC91C + BCC LCD1C + BRL LCDC9 +LCD1C ASL LC91C + BCC LCD24 + BRL LCDD5 +LCD24 ASL LC91C + BCC LCD2C + BRL LCDE1 +LCD2C ASL LC91C + BCC LCD34 + BRL LCDED +LCD34 ASL LC91C + BCC LCD3C + BRL LCDF9 +LCD3C ASL LC91C + BRL LCE05 +LCD42 ASL LC91C +LCD45 ROL + CMP LC80C+2,X + BCC LCD4E + SBC LC80C+2,X +LCD4E ROL LC91C +LCD51 ROL + CMP LC80C+2,X + BCC LCD5A + SBC LC80C+2,X +LCD5A ROL LC91C +LCD5D ROL + CMP LC80C+2,X + BCC LCD66 + SBC LC80C+2,X +LCD66 ROL LC91C +LCD69 ROL + CMP LC80C+2,X + BCC LCD72 + SBC LC80C+2,X +LCD72 ROL LC91C +LCD75 ROL + CMP LC80C+2,X + BCC LCD7E + SBC LC80C+2,X +LCD7E ROL LC91C +LCD81 ROL + CMP LC80C+2,X + BCC LCD8A + SBC LC80C+2,X +LCD8A ROL LC91C +LCD8D ROL + CMP LC80C+2,X + BCC LCD96 + SBC LC80C+2,X +LCD96 ROL LC91C +LCD99 ROL + CMP LC80C+2,X + BCC LCDA2 + SBC LC80C+2,X +LCDA2 ROL LC91C +LCDA5 ROL + CMP LC80C+2,X + BCC LCDAE + SBC LC80C+2,X +LCDAE ROL LC91C +LCDB1 ROL + CMP LC80C+2,X + BCC LCDBA + SBC LC80C+2,X +LCDBA ROL LC91C +LCDBD ROL + CMP LC80C+2,X + BCC LCDC6 + SBC LC80C+2,X +LCDC6 ROL LC91C +LCDC9 ROL + CMP LC80C+2,X + BCC LCDD2 + SBC LC80C+2,X +LCDD2 ROL LC91C +LCDD5 ROL + CMP LC80C+2,X + BCC LCDDE + SBC LC80C+2,X +LCDDE ROL LC91C +LCDE1 ROL + CMP LC80C+2,X + BCC LCDEA + SBC LC80C+2,X +LCDEA ROL LC91C +LCDED ROL + CMP LC80C+2,X + BCC LCDF6 + SBC LC80C+2,X +LCDF6 ROL LC91C +LCDF9 ROL + CMP LC80C+2,X + BCC LCE02 + SBC LC80C+2,X +LCE02 ROL LC91C +LCE05 SEP #$20 + INC + STA $C09B + REP #$20 + LDA LC91C + STA LC916 + REP #$20 + LDA #$0000 + ASL LC916 + BCC LCE20 + BRL LCE9E +LCE20 ASL LC916 + BCC LCE28 + BRL LCEAA +LCE28 ASL LC916 + BCC LCE30 + BRL LCEB6 +LCE30 ASL LC916 + BCC LCE38 + BRL LCEC2 +LCE38 ASL LC916 + BCC LCE40 + BRL LCECE +LCE40 ASL LC916 + BCC LCE48 + BRL LCEDA +LCE48 ASL LC916 + BCC LCE50 + BRL LCEE6 +LCE50 ASL LC916 + BCC LCE58 + BRL LCEF2 +LCE58 ASL LC916 + BCC LCE60 + BRL LCEFE +LCE60 ASL LC916 + BCC LCE68 + BRL LCF0A +LCE68 ASL LC916 + BCC LCE70 + BRL LCF16 +LCE70 ASL LC916 + BCC LCE78 + BRL LCF22 +LCE78 ASL LC916 + BCC LCE80 + BRL LCF2E +LCE80 ASL LC916 + BCC LCE88 + BRL LCF3A +LCE88 ASL LC916 + BCC LCE90 + BRL LCF46 +LCE90 ASL LC916 + BCC LCE98 + BRL LCF52 +LCE98 ASL LC916 + BRL LCF5E +LCE9E ROL + CMP LC809+1,X + BCC LCEA7 + SBC LC809+1,X +LCEA7 ROL LC916 +LCEAA ROL + CMP LC809+1,X + BCC LCEB3 + SBC LC809+1,X +LCEB3 ROL LC916 +LCEB6 ROL + CMP LC809+1,X + BCC LCEBF + SBC LC809+1,X +LCEBF ROL LC916 +LCEC2 ROL + CMP LC809+1,X + BCC LCECB + SBC LC809+1,X +LCECB ROL LC916 +LCECE ROL + CMP LC809+1,X + BCC LCED7 + SBC LC809+1,X +LCED7 ROL LC916 +LCEDA ROL + CMP LC809+1,X + BCC LCEE3 + SBC LC809+1,X +LCEE3 ROL LC916 +LCEE6 ROL + CMP LC809+1,X + BCC LCEEF + SBC LC809+1,X +LCEEF ROL LC916 +LCEF2 ROL + CMP LC809+1,X + BCC LCEFB + SBC LC809+1,X +LCEFB ROL LC916 +LCEFE ROL + CMP LC809+1,X + BCC LCF07 + SBC LC809+1,X +LCF07 ROL LC916 +LCF0A ROL + CMP LC809+1,X + BCC LCF13 + SBC LC809+1,X +LCF13 ROL LC916 +LCF16 ROL + CMP LC809+1,X + BCC LCF1F + SBC LC809+1,X +LCF1F ROL LC916 +LCF22 ROL + CMP LC809+1,X + BCC LCF2B + SBC LC809+1,X +LCF2B ROL LC916 +LCF2E ROL + CMP LC809+1,X + BCC LCF37 + SBC LC809+1,X +LCF37 ROL LC916 +LCF3A ROL + CMP LC809+1,X + BCC LCF43 + SBC LC809+1,X +LCF43 ROL LC916 +LCF46 ROL + CMP LC809+1,X + BCC LCF4F + SBC LC809+1,X +LCF4F ROL LC916 +LCF52 ROL + CMP LC809+1,X + BCC LCF5B + SBC LC809+1,X +LCF5B ROL LC916 +LCF5E SEP #$20 + ORA LC9C1 + STA $C09E + REP #$20 + LDA LC916 + STA $C09C + SEP #$30 + RTL + +LCF71 PHP + SEP #$30 + LDX #$10 + STX LC931 + LDY #$20 +LCF7B LDA SPKR + LDX LC931 +LCF81 DEX + BNE LCF81 + DEY + BNE LCF7B + PLP + RTS + +*---------------------------- + + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + +*---------------------------- + +LCFA0 LDA LCA00 + STA LC8FF + STX $C092 + JMP LCA03 + +LCFAC LDA LC8FF + STA $C092 + RTS + +*---------------------------- + + DB $00 + DB $01 + DB $02 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LCFFF DB $00 diff --git a/mdt/FW4.S b/mdt/FW4.S new file mode 100644 index 0000000..3db5ed1 --- /dev/null +++ b/mdt/FW4.S @@ -0,0 +1,1398 @@ +* +* MicroDrive Turbo +* (c) 1996-2006, Joachim Lange +* (s) 2019, Brutal Deluxe Software +* + + mx %11 + org $c800 + dsk FW4.NEW + lst off + +*---------------------------- + +SLOT161 = $C1 ; This is for slot 1 + +MSLOT EQU $07F8 +SPKR EQU $C030 +BUTN0 EQU $C061 +BUTN1 EQU $C062 +INIT EQU $FB2F +HOME EQU $FC58 +SETKBD EQU $FE89 +SETVID EQU $FE93 + +*---------------------------- + +LC800 LDY #$20 +LC802 LDY #$00 + LDY #$03 + LDY #$00 + CLD + JSR SETKBD + JSR SETVID + JSR INIT + JSR HOME +LC815 LDA #SLOT161 +LC817 STA MSLOT +LC81A LDA LCFFF + STZ $C092 +LC820 JMP LCA01 + +LC823 CLV +LC824 BVC LC828 + SEP #$40 +LC828 LDA #SLOT161 +LC82A STA MSLOT + LDA LCFFF +LC830 STZ $C092 + LDA LC980 + EOR #$82 + CMP LC981 + BEQ LC842 + PHP +LC83E JSR LCA01 + PLP +LC842 BVS LC847 + JMP LCA01 + +LC847 LDA #$01 + STA $C092 + CLC + XCE + REP #$30 + LDA $42 + STA LC9E0 + LDA $44 + STA LC9E0+2 + LDA $46 + STA LC9E4 + LDA $48 + STA LC9E5+1 + LDA $4A + STA LC9E5+3 + LDA $4C + STA LC9EA + LDA $4E + STA LC9EA+2 + LDA $50 + STA LC9EE + SEP #$30 + LDY #$01 + LDA ($01,S),Y +LC87E STA LC925 +LC881 BIT LC925 + BVC LC889 + JMP LCA01 + +LC889 INY + REP #$20 + LDA ($01,S),Y + STA $4C + TSX + LDA $0101,X + CLC + ADC #$0003 + STA $0101,X + SEP #$20 + LDY #$01 + LDA ($4C),Y + STA LC927 + CMP LC81A + BCC LC8AD + BEQ LC8AD + BCS LC8DC +LC8AD INY + REP #$20 + LDA ($4C),Y + STA $44 + SEP #$20 + INY + LDA LC925 + CMP #$04 + BEQ LC8E5 + CMP #$03 + BEQ LC8E5 + BCS LC8E2 + CMP #$01 + BCC LC8D2 + INY + REP #$20 + LDA ($4C),Y + STA $46 + SEP #$20 + INY +LC8D2 INY + LDA ($4C),Y + STA $48 + BCC LC8DF + JMP LCA01 +LC8DC JMP LCA01 +LC8DF JMP LCA01 +LC8E2 JMP LCA01 + +LC8E5 CLC + STZ LC92B +LC8EA JMP LCA01 ; called from FW1 and FW2 + +*---------------------------- + + DB $01 + DB $03 + DB $07 + DB $0F + DB $FF + DB $FF + DB $C9 + DB $C4 + DB $D5 + DB $10 + DB $00 + DB $CD +LC8F8 DB $D4 +LC8F9 DB $CA +LC8FA DB $CC +LC8FB DB $80 +LC8FC DB $00 + DB $00 +LC8FE DB $3F +LC8FF DB LC823 + +*---------------------------- + +LC900 DB $CA +LC901 DB $CC +LC902 DB $64 + DB $02 + DB $64 + DB $02 +LC906 DB $00 + DB $00 +LC908 DB $00 + DB $00 + DB $05 + DB $00 +LC90C DB $05 +LC90D DB $00 +LC90E DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 +LC914 DB $01 + DB $00 + DB $05 + DB $00 + DB $03 + DB $00 + DB $08 + DB $00 +LC91C DB $01 + DB $00 +LC91E DB $03 +LC91F DB $00 +LC920 DB $04 + DB $00 + DB $00 + DB $00 + DB $01 +LC925 DB $00 + DB $40 +LC927 DB $00 + DB $01 + DB $00 + DB $01 +LC92B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC931 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC940 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC980 DB $00 +LC981 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC9A0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LC9C0 DB $00 +LC9C1 DB $00 + DB $00 +LC9C3 DB $00 + DB $00 +LC9C5 DB $00 + DB $00 +LC9C7 DB $00 + DB $00 +LC9C9 DB $00 + DB $00 +LC9CB DB $00 + DB $00 +LC9CD DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LC9E0 JSL $000000 +LC9E4 RTS + +LC9E5 JSL $000000 + RTS + +LC9EA JSL $000000 +LC9EE RTS + +*---------------------------- + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*---------------------------- + +LCA00 DB $03 +LCA01 DB $00 + DB $03 + + MX %11 + +LCA03 LDA #$05 + BNE LCA19 + LDA #$04 + BNE LCA19 +LCA0B LDA #$03 + BNE LCA19 +LCA0F LDA #$02 + BNE LCA19 +LCA13 LDA #$01 + BNE LCA19 + LDA #$00 +LCA19 STA LC8FE + SEC + JMP LCFAC + +LCA20 CLC + XCE + REP #$20 + LDA #$0000 + TAY +LCA28 STA LC800,Y + STA LC900,Y + INY + INY + CPY #$E0 + BNE LCA28 + SEP #$30 + LDA #$CE + STA LC980 + STA LC981 + STA LC800 + LDA $42 + CMP #$81 + BEQ LCA03 + CMP #$82 + BEQ LCA03 + JSR LCDA4 + LDA #$00 + STA LC9C3 + JSR LCDD7 + LDA LC8F8 + CMP #$BB + BEQ LCA6D + JSR LCDA4 + LDA #$3D + STA LC8FC + JSR LCCA5 + BCC LCA6D + JMP LCA13 + +LCA6D LDA #$01 + STA LC9C0 + JSR LCDAA + LDA #$02 + STA LC8FC + JSR LCCA5 + BCS LCA8D + INC LC9C0 + JSR LCDAA + LDA #$01 + STA LC9C3 + JSR LCDD7 +LCA8D JSR LCDA4 + JSR LCC9D + BCC LCA98 + JMP LCA0F + +LCA98 LDY #$00 + STY LC9C5 + STY LC9C3 + JSR LCC3C + BCC LCAA8 + JMP LCA0B + +LCAA8 JSR LCDEB + JSR LCB60 + LDY #$05 +LCAB0 LDA LC90E,Y + STA LC81A+2,Y + DEY + BPL LCAB0 + LDY #$07 +LCABB LDA LC914,Y + STA LC824,Y + DEY + BPL LCABB + LDA LC82A + BEQ LCB0D + DEC + BEQ LCB0D + ASL + ASL + TAY + STY LC9CB + LDX #$00 +LCAD4 LDA LC87E+2,Y + PHA + LDA LC87E+2,X + STA LC9C9 + PLA + STA LC87E+2,X + LDA LC9C9 + STA LC87E+2,Y + INY + INX + CPX #$04 + BCC LCAD4 + LDY LC9CB + LDX #$00 +LCAF3 LDA LC83E+2,Y + PHA + LDA LC83E+2,X + STA LC9C9 + PLA + STA LC83E+2,X + LDA LC9C9 + STA LC83E+2,Y + INY + INX + CPX #$04 + BCC LCAF3 +LCB0D LDA LC90D + BEQ LCB1E + JSR LCBEA + LDA LC90D + STA LC817+1 + JMP LCB35 + +LCB1E LDA LC9C0 + CMP #$02 + BCC LCB35 + LDY #$01 + STY LC9C3 + JSR LCC3C + BCS LCB35 + JSR LCDEB + JSR LCB60 +LCB35 CLC + LDA LC815+1 + ADC LC817+1 + STA LC81A + LDA LC9C0 + STA LC820+2 + LDA #$CC + STA LC800+1 + LDA #$CA + STA LC800 + STA LC980 + EOR #$82 + STA LC981 + CLC + LDA #$00 + STA LC8FE + JMP LCFAC + +LCB60 REP #$20 + LDA LC9C3 + AND #$00FF + ASL + TAY + LDX #$00 +LCB6C LDA LC902,X + STA LC802,Y + INX + INX + INY + INY + INY + INY + CPX #$0C + BCC LCB6C + SEP #$20 + LDY LC9C5 + LDX #$00 + LDA LC90C + ASL + STA LC9C7 + REP #$20 +LCB8C LDA LC920,X + STA LC83E+2,Y + LDA LC940,X + STA LC87E+2,Y + INX + INX + INY + INY + DEC LC9C7 + BNE LCB8C + SEP #$20 + LDY LC9C3 + LDA LCC9B,Y + STA LC9C1 + TYA + ASL + STA LC9CD + LDY LC9C5 + LDX LC90C +LCBB7 LDA LC9C1 + STA LC842+1,Y + LDA LC9CD + STA LC881+2,Y + INY + INY + INY + INY + DEX + BNE LCBB7 + STY LC9C5 + SEP #$30 + LDA LC9C3 + AND #$FF + TAX + ASL + TAY + LDA LC91C + STA LC82A+2,Y + LDA LC91E + STA LC830,X + LDA LC91F + STA LC830+2,X + RTS + +LCBEA LDY LC9C5 + LDX #$00 + LDA LC90D + ASL + STA LC9C7 + REP #$20 +LCBF8 LDA LC980,X + STA LC83E+2,Y + LDA LC9A0,X + STA LC87E+2,Y + INX + INX + INY + INY + DEC LC9C7 + BNE LCBF8 + SEP #$20 + LDY LC9C3 + LDA LCC9B,Y + STA LC9C1 + TYA + ASL + STA LC9CD + LDY LC9C5 + LDX LC90D +LCC23 LDA LC9C1 + STA LC842+1,Y + LDA LC9CD + STA LC881+2,Y + INY + INY + INY + INY + DEX + BNE LCC23 + STY LC9C5 + SEP #$30 + RTS + +LCC3C LDA LCC9B,Y + STA LC9C1 + STA $C09E + JSR LCCD1 + BCS LCC99 + LDA #$01 + STA $C09B + LDA #$01 + STA $C09A + LDA #$00 + STA $C09C + STA $C09D + LDA #$20 + STA $C09F + JSR LCD31 + BCS LCC99 + JSR LCCF8 + BCS LCC99 + REP #$20 + LDX #$01 + LDY #$00 +LCC71 LDA $C090 + STA LC900,Y + INY + INY + CPY #$C0 + BCC LCC71 +LCC7D LDA $C090 + INY + INY + BNE LCC7D + DEX + BPL LCC7D + SEP #$30 + LDA LC900 + CMP #$CA + BNE LCC99 + LDA LC901 + CMP #$CC + BNE LCC99 + CLC + RTS + +LCC99 SEC + RTS + +LCC9B LDY #$B0 +LCC9D LDA #$10 + STA $C09F + JMP LCD2D + +LCCA5 LDA $C09F + AND #$F0 + CMP #$F0 + BEQ LCCC2 + CMP #$00 + BEQ LCCC2 + CMP #$50 + BNE LCCB8 + CLC + RTS + +LCCB8 LDA #$32 + JSR LCDB0 + DEC LC8FC + BNE LCCA5 +LCCC2 SEC + RTS + +LCCC4 LDA $C09F + AND #$08 + BEQ LCCD0 + LDA $C090 + BRA LCCC4 +LCCD0 RTS + +LCCD1 LDA #$02 + STA LC8FB + STZ LC8F9 + STZ LC8FA +LCCDC LDA $C09F + BMI LCCE7 + AND #$F0 + CMP #$50 + BEQ LCD11 +LCCE7 INC LC8F9 + BNE LCCDC + INC LC8FA + BNE LCCDC + DEC LC8FB + BNE LCCDC + SEC + RTS + +LCCF8 STZ LC8F9 + STZ LC8FA + LDA #$02 + STA LC8FB +LCD03 LDA $C09F + BMI LCD1C + LSR + BCS LCD13 + AND #$7C + CMP #$2C + BNE LCD13 +LCD11 CLC + RTS + +LCD13 AND #$04 + BEQ LCD1A + JSR LCCC4 +LCD1A SEC + RTS + +LCD1C INC LC8F9 + BNE LCD03 + INC LC8FA + BNE LCD03 + DEC LC8FB + BNE LCD03 + SEC + RTS + +LCD2D LDA #$14 + BNE LCD33 +LCD31 LDA #$02 +LCD33 STA LC8FB + STZ LC8FA + STZ LC8F9 +LCD3C LDA $C098 + BPL LCD46 + LDA $C09F + CLC + RTS + +LCD46 INC LC8F9 + BNE LCD3C + INC LC8FA + BNE LCD3C + DEC LC8FB + PHP + LDY LC8FB + LDA LCD68,Y + STA $07F2 + LDA LCD86,Y + STA $07F3 + PLP + BNE LCD3C + SEC + RTS + +*---------------------------- + +LCD68 ASC " " + ASC "1111111111" + ASC "2222222222" +LCD86 ASC "0123456789" + ASC "0123456789" + ASC "0123456789" + +*---------------------------- + + MX %11 + +LCDA4 LDA #$A0 + STA $C09E + RTS + +LCDAA LDA #$B0 + STA $C09E + RTS + +LCDB0 LDX #$C9 +LCDB2 DEX + BNE LCDB2 + SEC + SBC #$01 + BNE LCDB0 + RTS + + LDX #$20 + STX LC931 + LDY #$40 +LCDC2 LDA SPKR + LDX LC931 +LCDC8 DEX + BNE LCDC8 + DEY + BNE LCDC2 + LDX #$50 +LCDD0 DEY + BNE LCDD0 + DEX + BNE LCDD0 +LCDD6 RTS + +LCDD7 LDA BUTN0 + BPL LCDD6 + LDA BUTN1 + BPL LCDD6 + LDA #$11 + STA LC908 + LDA #$04 + STA LC906 +LCDEB LDY LC9C3 + LDA LC906 + DEC + ORA LCC9B,Y + STA LC9C1 + STA $C09E + JSR LCCD1 + LDA LC908 + STA $C09A + LDA #$11 + STA $C09B + LDA #$91 + STA $C09F + JMP LCD31 + +*---------------------------- + + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + +*---------------------------- + +LCFA0 LDA LCA00 + STA LC8FF + STX $C092 + JMP LCA20 + +LCFAC LDA LC8FF + STA $C092 + RTS + +*---------------------------- + + DB $00 + DB $01 + DB $02 + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +LCFFF DB $00 diff --git a/mdt/gsosdriver.s b/mdt/gsosdriver.s new file mode 100644 index 0000000..d2165f0 --- /dev/null +++ b/mdt/gsosdriver.s @@ -0,0 +1,3652 @@ +* +* Microdrive Turbo GS/OS driver +* +* (c) 1996-2006, Joachim Lange +* (s) 2019, Brutal Deluxe Software +* + + mx %00 + rel + typ DRV ; auxtype MUST be $0110 + dsk MDT.l + lst off + +*---------------------------- + +* Device driver direct page + +deviceNum = $00 ; 00 +callNum = deviceNum+2 ; 02 +bufferPtr = callNum+2 ; 04 +requestCount = bufferPtr+4 ; 06 +transferCount = requestCount+4 ; 0A +blockNum = transferCount+4 ; 0E +blockSize = blockNum+4 ; 12 +fstID = blockSize+2 ; 16requestCount+2 +statusCode = blockSize+2 ; 16 +controlCode = blockSize+2 ; 16 +volumeID = statusCode+2 ; 18 +cachePriority = volumeID+2 ; 1A +cachePointer = cachePriority+2 ; 1C +dibPointer = cachePointer+4 ; 1E + +* Device Information Block = DIB + +linkPtr = $00 ; 00 +entryPtr = linkPtr+4 ; 04 +characteristics = entryPointer+4 ; 08 +blockCount = characteristics+2 ; 0A +length = blockCount+4 ; 0E +devName = length+1 ; 0F +slotNum = devName+31 ; 2E +unitNum = slotNum+2 ; 30 +version = unitNum+2 ; 32 +deviceID = version+2 ; 34 +headLink = deviceID+2 ; 36 +forwardLink = headLink+2 ; 38 +extendedDIBPtr = forwardLink+2 ; 3A +DIBDevNum = extendedDIBPtr+4 ; 3E + +SPKR EQU $C030 +DMAREG EQU $C037 +RDBANK2 EQU $C080 +RDROM2 EQU $C082 +LCBANK2 EQU $C083 +RDBANK1 EQU $C088 +RDROM1 EQU $C08A +LCBANK1 EQU $C08B +CLRROM EQU $CFFF + +CACHE_FIND_BLK EQU $01FC04 +CACHE_ADD_BLK EQU $01FC08 + +*---------------------------- + +L0000 DW L027A-L0000 ; offset to 1st DIB + DW $0010 ; number of devices + DA L0090-L0000 ; offset to configuration list + DA L0094-L0000 ; offset to configuration list + DA L0098-L0000 ; offset to configuration list + DA L009C-L0000 ; offset to configuration list + DA L00A0-L0000 ; offset to configuration list + DA L00A4-L0000 ; offset to configuration list + DA L00A8-L0000 ; offset to configuration list + DA L00AC-L0000 ; offset to configuration list + DA L00B0-L0000 ; offset to configuration list + DA L00B4-L0000 ; offset to configuration list + DA L00B8-L0000 ; offset to configuration list + DA L00BC-L0000 ; offset to configuration list + DA L00C0-L0000 ; offset to configuration list + DA L00C4-L0000 ; offset to configuration list + DA L00C8-L0000 ; offset to configuration list + DA L00CC-L0000 ; offset to configuration list + +*--- Copyright check (see Driver_Startup) + +L0024 ASC " MicroDrv/Turbo GS/OS - HD Driver v1.00 " +L0061 ASC "Copyright 1996 by " +L0073 ASC "Joachim " +L007B ASC "Lange " + +* Table for SetConfigParameters + +L0090 ADRL $00000000 +L0094 ADRL $00000000 +L0098 ADRL $00000000 +L009C ADRL $00000000 +L00A0 ADRL $00000000 +L00A4 ADRL $00000000 +L00A8 ADRL $00000000 +L00AC ADRL $00000000 +L00B0 ADRL $00000000 +L00B4 ADRL $00000000 +L00B8 ADRL $00000000 +L00BC ADRL $00000000 +L00C0 ADRL $00000000 +L00C4 ADRL $00000000 +L00C8 ADRL $00000000 +L00CC ADRL $00000000 + +* Driver_Status / GetFormatOptions + +L00D0 DA $0000 + DA L00F2 ; device 1 + DA L010A + DA L0122 + DA L013A + DA L0152 + DA L016A + DA L0182 + DA L019A + DA L01B2 + DA L01CA + DA L01E2 + DA L01FA + DA L0212 + DA L022A + DA L0242 ; device F + DA L025A ; device 10 + +* See GS/OS Driver Reference, page 236+ + +L00F2 DW $0001 ; numOptions + DW $0001 ; numDisplayed + DW $0001 ; recommendedOption + DW $0001 ; currentOption + + DW $0001 ; formatOptionNum + DW $0000 ; linkRefNum + DW $0000 ; flags (mediaSize in bytes, Universal Format) + ADRL $00000000 ; blockCount + DW $0200 ; blockSize + DW $0001 ; interleaveFactor (1:1) + DW $0000 ; mediaSize ($0000 blocks) + +L010A HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L0122 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L013A HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L0152 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L016A HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L0182 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L019A HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L01B2 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L01CA HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L01E2 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L01FA HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L0212 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L022A HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L0242 HEX 01000100010001000100000000000000 + HEX 0000000201000000 +L025A HEX 01000100010001000100000000000000 + HEX 0000000201000000 + + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + +*---------------------------- +* DIBs +*---------------------------- + +L027A ADRL L02BE ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.1' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0001 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0001 + DW $0000 +L02BE ADRL L0302 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.2' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0302 ADRL L0346 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.3' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0346 ADRL L038A ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.4' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L038A ADRL L03CE ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.5' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L03CE ADRL L0412 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.6' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0412 ADRL L0456 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.7' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0456 ADRL L049A ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.8' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L049A ADRL L04DE ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.9' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L04DE ADRL L0522 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.A' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0522 ADRL L0566 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.B' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0566 ADRL L05AA ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.C' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L05AA ADRL L05EE ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.D' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L05EE ADRL L0632 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.E' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 +L0632 ADRL L0676 ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.F' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 + +* The pointer to the next DIB should be 0 + +L0676 ADRL tblDRIVER ; pointer to the next DIB + ADRL entryPoint ; driver entry point + DW $23E8 ; characteristics + ADRL $00000000 ; block count + STR 'MICRODRIVE.TURBO.G' ; device name + ASC ' ' + DW $0000 ; slot number + DW $0002 ; unit number + DW $1000 ; version + DW $0013 ; device ID + DW $0000 ; first linked device + DW $0000 ; next linked device + ADRL $00000000 ; extended DIB ptr + DW $0000 ; device number + DW $0002 + DW $0000 + +*---------------------------- +* GS/OS driver entry points +*---------------------------- + +tblDRIVER + DA Driver_Startup + DA Driver_Open + DA Driver_Read + DA Driver_Write + DA Driver_Close + DA Driver_Status + DA Driver_Control + DA Driver_Flush + DA Driver_Shutdown + +* Driver_Status entry points + +tblSTATUS + DA GetDeviceStatus-1 + DA GetConfigParameters-1 + DA GetWaitStatus-1 + DA GetFormatOptions-1 + DA GetPartitionMap-1 + +tblCONTROL + DA ResetDevice-1 + DA FormatDevice-1 + DA EjectMedium-1 + DA SetConfigParameters-1 + DA SetWaitStatus-1 + DA SetFormatOptions-1 + DA AssignPartitionOwner-1 + DA ArmSignal-1 + DA DisarmSignal-1 + DA SetPartitionMap-1 + + DB $A9 ; LDA + DB $00 ; #$00 + DB $38 ; SEC + DB $60 ; RTS + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +*--- Table for GetDeviceStatus + +L072E DA $0000 + DA L0750 ; device 1 + DA L0756 + DA L075C + DA L0762 + DA L0768 + DA L076E + DA L0774 + DA L077A + DA L0780 + DA L0786 + DA L078C + DA L0792 + DA L0798 + DA L079E + DA L07A4 ; device F + DA L07AA ; device 10 + +* $4010 means: linked device + diskInDrive + +L0750 HEX 104000000000 ; statusWord (word) + numBlocks (long) +L0756 HEX 104000000000 +L075C HEX 104000000000 +L0762 HEX 104000000000 +L0768 HEX 104000000000 +L076E HEX 104000000000 +L0774 HEX 104000000000 +L077A HEX 104000000000 +L0780 HEX 104000000000 +L0786 HEX 104000000000 +L078C HEX 104000000000 +L0792 HEX 104000000000 +L0798 HEX 104000000000 +L079E HEX 104000000000 +L07A4 HEX 104000000000 +L07AA HEX 104000000000 + +* Driver_Control / SetConfigParameters pointers + +L07B0 DA L0090 + DA L0094 + DA L0098 + DA L009C + DA L00A0 + DA L00A4 + DA L00A8 + DA L00AC + DA L00B0 + DA L00B4 + DA L00B8 + DA L00BC + DA L00C0 + DA L00C4 + DA L00C8 + DA L00CC + + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +* Driver_Control / SetFormatOptions table + +L07F0 DW $0001 ; format option table is always 1 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $0001 + DW $000F + DW $0001 + DW $0000 + +theUNIT DW $0000 + + DB $00 ; useless? + DB $00 + DB $30 + DB $31 + DB $32 + DB $37 + DB $FF + DB $FF + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $A0 + DB $AD ; = + DB $AD ; = + DB $AD ; = + DB $AD ; = + DB $BE ; > + +*---------------------------- +* Driver +*---------------------------- + + MX %00 + +entryPoint + PHB ; Dispatch + PHK + PLB + CMP #$0009 + BCC L083B + BRL L0849 +L083B ASL + TAX + JSR (tblDRIVER,X) + TAY + PLB + BCS L0847 + LDY #$0000 +L0847 TYA + RTL + +L0849 PLB + LDA #$0001 + SEC + RTL +L084F JMP L0932 + +*---------------------------- + +Driver_Startup + +* Check unmodified GS/OS driver + + STZ L1478 + LDA L0073 ; Jo (achim) = EFCA 1110_1111_1100_1010 + EOR #$D3C8 ; D3C8 1101_0011_1100_1000 + CMP #$3C02 ; 3C02 0011_1100_0000_0010 + BNE L084F + LDA L007B ; La (nge) = E1CC 1110_0001_1100_1100 + EOR #$D3C8 ; D3C8 1101_0011_1100_1000 + CMP #$3204 ; 3204 0011_0010_0000_0100 + BNE L084F + LDA L0061 ; Co (pyright) = EFC3 1110_1111_1100_0011 + EOR #$D3C8 ; D3C8 1101_0011_1100_1000 + CMP #$3C0B ; 3C0B 0011_1100_0000_1011 + BNE L084F + +* Find card + + LDA #$C7F2 + STA theCARD +L087C LDX theCARD + LDAL $000000,X + CMP #$C4C9 ; ID + BNE L08B4 + LDAL $000001,X + CMP #$D5C4 ; DU + BNE L08B4 + LDAL $000005,X + CMP #$D4CD ; MT + BNE L08B4 + LDAL $000007,X + CMP #$CCCA ; JL + BNE L08B4 + LDAL $000003,X + AND #$00FF + CMP #$0010 + BEQ L08C6 + CMP #$0011 + BEQ L08C6 +L08B4 LDA theCARD + SEC + SBC #$0100 + STA theCARD + CMP #$C100 + BCS L087C + JMP L0932 + +L08C6 LDA theCARD ; We have the card in slot X + AND #$0F00 + LSR + LSR + LSR + LSR + STA theSLOT16 + LSR + LSR + LSR + LSR + STA theSLOT + JSR initPointers ; patch all addresses + + LDA theUNIT ; is driver busy? + BNE L0920 + + SEI ; no, copy ROM + SEP #$30 + LDA #$00 +L08E7 STAL RDROM2 + LDAL CLRROM + REP #$30 + LDX theCARD ; make the card active + LDAL $000000,X + PHK + PLB + LDX #$00FE ; Copy the $C800 page +L08FD LDAL $00C800,X + STA L1340,X + DEX + DEX + BPL L08FD + + LDAL $00C980 ; seems to be 0000 when ROM is on (but code must be moved one page down) + STA L1474 + CLI + LDA L1340 + CMP #$CCCA ; JL + BNE L0932 + LDA L1474 + CMP #$48CA ; + BNE L0932 + +L0920 SEP #$30 + INC theUNIT ; which unit? + LDA L135A + CMP theUNIT + BCS L093D ; we can continue + REP #$30 + DEC theUNIT ; I would have voted for the busy flag + +L0932 REP #$30 + LDAL CLRROM ; bye bye card + LDA #$0027 ; I/O error + SEC + RTS + +L093D REP #$30 + LDA theUNIT ; my unit + ASL + ASL + TAX + LDA L13BC,X ; get number of blocks + LDY #$000A ; blockCount + STA [dibPointer],Y + LDY #$000C ; blockCount+2 + LDA L13BE,X + AND #$00FF + STA [dibPointer],Y + LDY #$002E ; the slot + LDA theSLOT + ORA #$0008 ; external slot set on bit 3 + STA [dibPointer],Y + LDY #$0030 ; unitNum (thought it was busy flag) + LDA theUNIT + STA [dibPointer],Y + + LDAL CLRROM ; bye bye card + LDA #$0000 ; return OK + CLC + RTS + +*---------------------------- + +Driver_Open + LDA #$0000 + CLC + RTS + +*---------------------------- + +Driver_Read + LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + ASL + STA L146C + STZ L1468 + LDA requestCount ; requestCount + STA theRequest + LDA requestCount+2 + STA theRequest+2 + +L0990 LDAL $00C087 + +L0994 LDA L1468 + BNE L09E2 + BIT fstID ; fstID + BMI L09BF ; bit 15 = 1 means force read, do not use cache + CLC + JSL CACHE_FIND_BLK + BCC L09BC + LDA cachePriority + BEQ L09BF ; do not read from the cache + JSL CACHE_ADD_BLK ; add in the cache + BCS L09BF + JSR L0EB7 ; calc all + JMP L0A9B + +L09B4 BCS L09B9 + JMP L0A2F +L09B9 JMP L0A7F +L09BC JMP L0C33 + +L09BF LDA L1468 ; already entered? + BNE L09E2 + + JSR L0EB7 ; nope, calc all + LDA theRequest+1 + AND #$01FF + LSR + SEP #$30 +L09D0 STAL RDROM1 + STA L1466 + LDA #$20 +L09D9 STAL $00C08F + STA L1468 + REP #$30 + +L09E2 LDA bufferPtr ; BUG? I would have put requestCount instead + CMP #$FE01 + BCC L09EC +L09E9 JMP readFROMCARD ; read 512 bytes from card + +L09EC STAL $00C084 + + SEP #$30 ; check slow RAM request + LDA bufferPtr+2 + CMP #$E0 + BEQ L09E9 + CMP #$E1 + BEQ L09E9 + CMP #$90 ; or memory bank over 5MB + BCS L0A05 + CMP L1366 + BCS L09E9 + +L0A05 STAL DMAREG + +L0A09 LDAL RDBANK1 + BPL L0A09 +L0A0F LDAL $00C08F + BMI L0A0F + AND #$F9 + CMP #$58 + BEQ L0A21 + LSR + BCC L0A0F + JMP L0A7F + +L0A21 STAL LCBANK2 +L0A25 DEC L1466 + BNE L0A2D + STZ L1468 + +L0A2D REP #$30 ; how many bytes left to read? +L0A2F LDA theRequest + SEC + SBC blockSize + STA theRequest + BCS L0A3D + DEC theRequest+2 +L0A3D LDA theRequest + BNE L0A54 + LDA theRequest+2 + BNE L0A54 + LDA requestCount + STA transferCount + LDA requestCount+2 + STA transferCount+2 + LDA #$0000 ; we're done! + CLC + RTS + +* We still have data to read from disk + +L0A54 CLC ; next pointer in RAM + LDA blockSize ; and next block + ADC bufferPtr + STA bufferPtr + BCC L0A5F + INC bufferPtr+2 +L0A5F INC blockNum + BNE L0A65 + INC blockNum+2 + +L0A65 LDY #$000C ; did we reach the end of disk? + LDA [dibPointer],Y + CMP blockNum+2 + BCS L0A7C + LDY #$000A + LDA [dibPointer],Y + CMP blockNum + BCS L0A7C + SEC + LDA #$0027 ; I/O err + RTS + +L0A7C JMP L0994 ; loop + +*---------------------------- + +L0A7F SEP #$30 + PHK + PLB + JSR L11B9 ; beep + JSR L0EA6 + REP #$30 + LDA #$0027 ; I/O err + SEC + RTS + +L0A90 PHK + PLB + JSR L0EA6 + REP #$30 + SEC + JMP L09B4 + +L0A9B SEP #$30 + LDA #$01 +L0A9F STAL RDROM1 + LDA #$20 +L0AA5 STAL $00C08F + LDA #$00 ; we want bank 0 + PHA + PLB +L0AAD LDAL RDBANK1 ; so it could have been LDA RDBANK1 + BPL L0AAD +L0AB3 LDAL $00C08F + BMI L0AB3 + AND #$F9 ; 1111_1001 + CMP #$58 ; 0101_1000 + BEQ L0AC4 + LSR ; 2C means 0010_1100 + BCS L0A90 ; not ready? + BRA L0AB3 ; busy + +L0AC4 REP #$30 ; A 16-bit pseudo-bus or what? + LDY #$0000 +L0AC9 LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0AD2 LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0ADB LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0AE4 LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0AED LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0AF6 LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0AFF LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY +L0B08 LDA RDBANK2 + STA [bufferPtr],Y + STA [cachePointer],Y + INY + INY + CPY #$0200 ; copy 512 bytes even if the blocksize is 256 ;-) + BCC L0AC9 + PHK + PLB + CLC + JMP L09B4 + +*---------------------------- + +Driver_Write + LDY #$0030 + LDA [dibPointer],Y + ASL + ASL + STA L146C + STZ L1468 + LDA requestCount + STA theRequest + LDA requestCount+2 + STA theRequest+2 +L0B33 LDA L1468 + BNE L0B76 + CLC + JSL CACHE_FIND_BLK + BCC L0B49 + LDA cachePriority + BEQ L0B53 + JSL CACHE_ADD_BLK + BCS L0B53 +L0B49 JMP L0C9B + +L0B4C BIT cachePriority + BPL L0B53 + JMP L0BD5 + +L0B53 LDA L1468 + BNE L0B76 + JSR L0EB7 + REP #$30 + LDA theRequest+1 + AND #$01FF + LSR + SEP #$30 +L0B66 STAL RDROM1 + STA L1466 + LDA #$30 +L0B6F STAL $00C08F + STA L1468 +L0B76 REP #$30 + LDA bufferPtr ; BUG? I would have put requestCount instead + CMP #$FE01 + BCC L0B82 +L0B7F JMP writeTOCARD ; write 512 bytes onto card + +L0B82 STAL $00C084 + SEP #$30 + LDA bufferPtr+2 + CMP #$E0 + BEQ L0B7F + CMP #$E1 + BEQ L0B7F + CMP #$90 + BCS L0B9B + CMP L1366 + BCS L0B7F +L0B9B STAL DMAREG +L0B9F LDAL $00C086 +L0BA3 LDAL $00C08F + BMI L0BA3 + AND #$FD + CMP #$58 + BEQ L0BB6 + AND #$21 + BEQ L0BA3 + JMP L0C27 + +L0BB6 STAL LCBANK2 +L0BBA LDAL $00C08F + BMI L0BBA + AND #$F5 + CMP #$50 + BEQ L0BCD + AND #$21 + BEQ L0BBA + JMP L0C27 + +L0BCD DEC L1466 + BNE L0BD5 + STZ L1468 +L0BD5 REP #$30 + LDA theRequest + SEC + SBC blockSize + STA theRequest + BCS L0BE5 + DEC theRequest+2 +L0BE5 LDA theRequest + BNE L0BFC + LDA theRequest+2 + BNE L0BFC + LDA requestCount + STA transferCount + LDA requestCount+2 + STA transferCount+2 + LDA #$0000 + CLC + RTS + +L0BFC CLC + LDA blockSize + ADC bufferPtr + STA bufferPtr + BCC L0C07 + INC bufferPtr+2 +L0C07 INC blockNum + BNE L0C0D + INC blockNum+2 +L0C0D LDY #$000C + LDA [dibPointer],Y + CMP blockNum+2 + BCS L0C24 + LDY #$000A + LDA [dibPointer],Y + CMP blockNum + BCS L0C24 + LDA #$0027 ; I/O err + SEC + RTS +L0C24 JMP L0B33 + +L0C27 SEP #$30 + JSR L11B9 + REP #$30 + LDA #$0027 + SEC + RTS + +L0C33 LDY #$01FE +L0C36 LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + LDA [cachePointer],Y + STA [bufferPtr],Y + DEY + DEY + BPL L0C36 + JMP L0A2F + +L0C9B LDY #$01FE +L0C9E LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + LDA [bufferPtr],Y + STA [cachePointer],Y + DEY + DEY + BPL L0C9E + JMP L0B4C + +*---------------------------- + +Driver_Close + LDA #$0000 + CLC + RTS + +*---------------------------- + +Driver_Status + LDA L1478 + BNE L0D10 + JSR L1228 +L0D10 LDA statusCode + CMP #$0004 + BCC L0D1C + LDA #$0021 + SEC + RTS + +L0D1C ASL + TAX + LDA tblSTATUS,X + PHA + RTS + +*---------------------------- +* Driver_Status subcall +*---------------------------- + +GetDeviceStatus + LDX requestCount+2 + BNE L0D33 + LDX requestCount + CPX #$0002 + BCC L0D33 + CPX #$0007 + BCC L0D38 +L0D33 LDA #$0022 ; drvrBadParm + SEC + RTS + +L0D38 LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + ASL + TAX + LDA L13BE,X ; get number of blocks + AND #$00FF + PHA + LDA L13BC,X + PHA + LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + TAX + LDA L072E,X ; get table for device X + TAX + PLA + STA |$0002,X + PLA + STA |$0004,X + + LDY #$0000 ; copy device status info + SEP #$20 ; statusWord (see GS/OS driver call reference page 231+) +L0D63 LDA |$0000,X ; numBlocks + STA [bufferPtr],Y + INX + INY + CPY requestCount + BNE L0D63 + + REP #$20 + LDA requestCount ; transferCount = requestCount + STA transferCount + STZ transferCount+2 + LDA #$0000 ; return OK + CLC + RTS + +*---------------------------- +* Driver_Status subcall +*---------------------------- + +GetConfigParameters +GetWaitStatus + LDA #$0026 + SEC + RTS + +*---------------------------- +* Driver_Status subcall +*---------------------------- + +GetFormatOptions + LDA #$0022 ; drvrBadParm + LDX requestCount+2 + BNE L0D8E + LDX requestCount + CPX #$0002 + BCS L0D90 +L0D8E SEC + RTS + +L0D90 LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + ASL + TAX + LDA L13BE,X ; number of blocks + AND #$00FF + PHA + LDA L13BC,X + PHA + LDA [dibPointer],Y + ASL + TAX + LDA L00D0,X + TAX + PLA ; save to blockCount + STA |$000E,X + PLA + STA |$0010,X + LDA #$0001 ; interleaveFactor is 1:1 + AND #$00FF + STA |$0014,X + + LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + TAX + LDA L00D0,X ; table to formatOptions list + TAX + LDA |$0000,X + ASL + ASL + ASL + ASL + CLC + ADC #$0008 + CMP requestCount + BCS L0DD8 + STA requestCount + +L0DD8 LDY #$0000 ; copy table + SEP #$20 +L0DDD LDA |$0000,X + STA [bufferPtr],Y + INX + INY + CPY requestCount + BNE L0DDD + + REP #$20 ; transferCount = requestCount + LDA requestCount + STA transferCount + LDA requestCount+2 + STA transferCount+2 + LDA #$0000 + CLC + RTS + +*---------------------------- + +Driver_Control + LDA controlCode + CMP #$000A + BCC L0E03 + LDA #$0021 + SEC + RTS + +L0E03 ASL + TAX + LDA tblCONTROL,X + PHA + RTS + +*---------------------------- + +GetPartitionMap ; Driver_Status subcall + LDA #$0026 ; drvrNoResrc + SEC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +ResetDevice + LDA #$0000 + CLC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +FormatDevice + LDA #$0000 + CLC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +EjectMedium + LDA #$0000 + CLC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +SetConfigParameters + LDA #$0022 ; drvrBadParm + LDX requestCount+2 + BNE L0E2C + LDX requestCount + CPX #$0002 + BCS L0E2E +L0E2C SEC + RTS + +L0E2E LDY #$0030 ; unitNum + LDA [dibPointer],Y + ASL + TAX + LDA L07B0,X ; table for SetConfigParameters + TAX + LDA |$0000,X ; lengths must be equal + CMP [bufferPtr] + BEQ L0E45 + LDA #$0022 ; drvrBadParm + SEC + RTS + +L0E45 LDY #$0000 ; copy configuration list + SEP #$20 +L0E4A LDA [bufferPtr],Y + STA |$0000,X + INX + INY + TYA + CMP [bufferPtr],Y + BNE L0E4A + + REP #$20 ; transferCount = requestCount + LDA requestCount + STA transferCount + LDA requestCount+2 + STA transferCount+2 + LDA #$0000 + CLC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +SetFormatOptions + LDA #$0022 ; drvrBadParm + LDX requestCount+2 + BNE L0E73 + LDX requestCount + CPX #$0002 + BEQ L0E75 +L0E73 SEC + RTS + +L0E75 LDY #$0030 ; unitNum + LDA [dibPointer],Y + TAX + LDA [bufferPtr] ; get formatOptionNum + STA L07F0,X ; save it in list + + LDA requestCount ; transferCount = requestCount + STA transferCount + LDA requestCount+2 + STA transferCount+2 + LDA #$0000 + CLC + RTS + +*---------------------------- +* Driver_Control subcall +*---------------------------- + +SetWaitStatus +AssignPartitionOwner +ArmSignal +DisarmSignal +SetPartitionMap + LDA #$0026 ; drvrNoResrc + SEC + RTS + +*---------------------------- + +Driver_Flush + LDA #$0020 ; drvrBadReq + SEC + RTS + +*---------------------------- + +Driver_Shutdown + DEC theUNIT ; hum, should really be fgBUSY instead + BNE L0EA1 + LDA #$0000 + CLC + RTS + +L0EA1 LDA #$0029 ; drvrBusy + SEC + RTS + +*---------------------------- +* Wait for card to finish its work? + + MX %11 + +L0EA6 PHP +L0EA7 LDAL $00C08F + AND #$08 ; 0000_1000 + BEQ L0EB5 +L0EAF LDAL RDBANK2 + BRA L0EA7 +L0EB5 PLP + RTS + +*---------------------------- +* Calculate offsets and friends? + +L0EB7 SEP #$30 +L0EB9 LDAL $00C08F + BMI L0EB9 + LDX L146C + CLC + REP #$20 + LDA blockNum + ADC L137C,X + STA L145E + SEP #$20 + LDA blockNum+2 + ADC L137E,X + STA L1460 + LDA L137F,X + STA L1476 + LDA L13BF,X + TAX + REP #$20 + CLC + LDA L1460 + AND #$003F + BEQ L0EEF + JMP L0F75 + +L0EEF ASL L145E + BCC L0EF7 + JMP L0F78 + +L0EF7 ASL L145E + BCC L0EFF + JMP L0F84 + +L0EFF ASL L145E + BCC L0F07 + JMP L0F90 + +L0F07 ASL L145E + BCC L0F0F + JMP L0F9C + +L0F0F ASL L145E + BCC L0F17 + JMP L0FA8 + +L0F17 ASL L145E + BCC L0F1F + JMP L0FB4 + +L0F1F ASL L145E + BCC L0F27 + JMP L0FC0 + +L0F27 ASL L145E + BCC L0F2F + JMP L0FCC + +L0F2F ASL L145E + BCC L0F37 + JMP L0FD8 + +L0F37 ASL L145E + BCC L0F3F + JMP L0FE4 + +L0F3F ASL L145E + BCC L0F47 + JMP L0FF0 + +L0F47 ASL L145E + BCC L0F4F + JMP L0FFC + +L0F4F ASL L145E + BCC L0F57 + JMP L1008 + +L0F57 ASL L145E + BCC L0F5F + JMP L1014 + +L0F5F ASL L145E + BCC L0F67 + JMP L1020 + +L0F67 ASL L145E + BCC L0F6F + JMP L102C + +L0F6F ASL L145E + JMP L1038 + +L0F75 ASL L145E +L0F78 ROL + CMP L134E,X + BCC L0F81 + SBC L134E,X +L0F81 ROL L145E +L0F84 ROL + CMP L134E,X + BCC L0F8D + SBC L134E,X +L0F8D ROL L145E +L0F90 ROL + CMP L134E,X + BCC L0F99 + SBC L134E,X +L0F99 ROL L145E +L0F9C ROL + CMP L134E,X + BCC L0FA5 + SBC L134E,X +L0FA5 ROL L145E +L0FA8 ROL + CMP L134E,X + BCC L0FB1 + SBC L134E,X +L0FB1 ROL L145E +L0FB4 ROL + CMP L134E,X + BCC L0FBD + SBC L134E,X +L0FBD ROL L145E +L0FC0 ROL + CMP L134E,X + BCC L0FC9 + SBC L134E,X +L0FC9 ROL L145E +L0FCC ROL + CMP L134E,X + BCC L0FD5 + SBC L134E,X +L0FD5 ROL L145E +L0FD8 ROL + CMP L134E,X + BCC L0FE1 + SBC L134E,X +L0FE1 ROL L145E +L0FE4 ROL + CMP L134E,X + BCC L0FED + SBC L134E,X +L0FED ROL L145E +L0FF0 ROL + CMP L134E,X + BCC L0FF9 + SBC L134E,X +L0FF9 ROL L145E +L0FFC ROL + CMP L134E,X + BCC L1005 + SBC L134E,X +L1005 ROL L145E +L1008 ROL + CMP L134E,X + BCC L1011 + SBC L134E,X +L1011 ROL L145E +L1014 ROL + CMP L134E,X + BCC L101D + SBC L134E,X +L101D ROL L145E +L1020 ROL + CMP L134E,X + BCC L1029 + SBC L134E,X +L1029 ROL L145E +L102C ROL + CMP L134E,X + BCC L1035 + SBC L134E,X +L1035 ROL L145E +L1038 SEP #$20 + INC +L103B STAL LCBANK1 + REP #$20 + LDA L145E + STA L1450 + LDA #$0000 + ASL L1450 + BCC L1052 + JMP L10D0 + +L1052 ASL L1450 + BCC L105A + JMP L10DC + +L105A ASL L1450 + BCC L1062 + JMP L10E8 + +L1062 ASL L1450 + BCC L106A + JMP L10F4 + +L106A ASL L1450 + BCC L1072 + JMP L1100 + +L1072 ASL L1450 + BCC L107A + JMP L110C + +L107A ASL L1450 + BCC L1082 + JMP L1118 + +L1082 ASL L1450 + BCC L108A + JMP L1124 + +L108A ASL L1450 + BCC L1092 + JMP L1130 + +L1092 ASL L1450 + BCC L109A + JMP L113C + +L109A ASL L1450 + BCC L10A2 + JMP L1148 + +L10A2 ASL L1450 + BCC L10AA + JMP L1154 + +L10AA ASL L1450 + BCC L10B2 + JMP L1160 + +L10B2 ASL L1450 + BCC L10BA + JMP L116C + +L10BA ASL L1450 + BCC L10C2 + JMP L1178 + +L10C2 ASL L1450 + BCC L10CA + JMP L1184 + +L10CA ASL L1450 + JMP L1190 + +L10D0 ROL + CMP L134A,X + BCC L10D9 + SBC L134A,X +L10D9 ROL L1450 +L10DC ROL + CMP L134A,X + BCC L10E5 + SBC L134A,X +L10E5 ROL L1450 +L10E8 ROL + CMP L134A,X + BCC L10F1 + SBC L134A,X +L10F1 ROL L1450 +L10F4 ROL + CMP L134A,X + BCC L10FD + SBC L134A,X +L10FD ROL L1450 +L1100 ROL + CMP L134A,X + BCC L1109 + SBC L134A,X +L1109 ROL L1450 +L110C ROL + CMP L134A,X + BCC L1115 + SBC L134A,X +L1115 ROL L1450 +L1118 ROL + CMP L134A,X + BCC L1121 + SBC L134A,X +L1121 ROL L1450 +L1124 ROL + CMP L134A,X + BCC L112D + SBC L134A,X +L112D ROL L1450 +L1130 ROL + CMP L134A,X + BCC L1139 + SBC L134A,X +L1139 ROL L1450 +L113C ROL + CMP L134A,X + BCC L1145 + SBC L134A,X +L1145 ROL L1450 +L1148 ROL + CMP L134A,X + BCC L1151 + SBC L134A,X +L1151 ROL L1450 +L1154 ROL + CMP L134A,X + BCC L115D + SBC L134A,X +L115D ROL L1450 +L1160 ROL + CMP L134A,X + BCC L1169 + SBC L134A,X +L1169 ROL L1450 +L116C ROL + CMP L134A,X + BCC L1175 + SBC L134A,X +L1175 ROL L1450 +L1178 ROL + CMP L134A,X + BCC L1181 + SBC L134A,X +L1181 ROL L1450 +L1184 ROL + CMP L134A,X + BCC L118D + SBC L134A,X +L118D ROL L1450 +L1190 SEP #$20 + ORA L1476 +L1195 STAL $00C08E + REP #$20 + LDA L1450 +L119E STAL $00C08C + REP #$30 + RTS + +*---------------------------- + + MX %11 + LDX #$FF + BNE L11C9 + LDX #$E0 + BNE L11C9 + LDX #$C0 + BNE L11C9 + LDX #$A0 + BNE L11C9 + LDX #$80 + BNE L11C9 +L11B9 LDX #$60 + BNE L11C9 + LDX #$50 + BNE L11C9 + LDX #$40 + BNE L11C9 + LDX #$20 + BNE L11C9 +L11C9 STX L1470 + LDY #$60 +L11CE LDAL SPKR + LDX L1470 +L11D5 DEX + BNE L11D5 + DEY + BNE L11CE + LDX #$FF +L11DD DEY + BNE L11DD + DEX + BNE L11DD + RTS + + LDA #$14 + STA L1480 + STZ L147F + STZ L147E +L11EF LDAL RDBANK1 + BPL L11F7 + CLC + RTS + +L11F7 INC L147E + BNE L11EF + INC L147F + BNE L11EF + DEC L1480 + BNE L11EF +L1206 SEC + RTS + +*---------------------------- + +L1208 DA L027A + DA L02BE + DA L0302 + DA L0346 + DA L038A + DA L03CE + DA L0412 + DA L0456 + DA L049A + DA L04DE + DA L0522 + DA L0566 + DA L05AA + DA L05EE + DA L0632 + DA L0676 + +*---------------------------- + + MX %00 +L1228 LDY L1208 + LDA |$003E,Y + STA L147A + LDA #$0001 + STA L147C +L1237 LDA L147C + CMP L135A + BCC L1243 + BEQ L1243 + BRA L1254 +L1243 ASL + TAY + LDA L1206,Y + TAY + LDA L147A + STA |$0036,Y + INC L147C + BNE L1237 +L1254 LDA #$0001 + STA L147C +L125A LDA L147C + CMP L135A + BCC L1264 + BRA L127D +L1264 ASL + TAY + TAX + LDA L1208,Y + TAY + LDA |$003E,Y + PHA + TXY + LDA L1206,Y + TAY + PLA + STA |$0038,Y + INC L147C + BNE L125A +L127D INC L1478 + RTS + +*---------------------------- +* Init s/w addresses +*---------------------------- + +initPointers + REP #$30 + LDA fgINIT ; was it init'ed? + BNE L12E6 ; yes, exit + + INC fgINIT + + LDY #$0000 ; patch s/w addresses +L128E LDX L12EB,Y + LDA |$0000,X + AND #$FF00 + CMP #$C000 + BNE L12E7 ; crash on error + LDA |$0000,X + CLC + ADC theSLOT16 + STA |$0000,X + INY + INY + CPY #$004E + BCC L128E + + SEP #$30 ; patch fast read/write from direct page + REP #$10 + LDX #$0100 + LDY #$0000 +L12B7 LDA L19E5+1,Y + AND #$F0 + CMP #$80 + BNE L12E9 ; crash on error + CLC + ADC theSLOT16 + STA L19E5+1,Y + LDA L14B7+1,Y + AND #$F0 + CMP #$80 + BNE L12E9 + CLC + ADC theSLOT16 + STA L14B7+1,Y + REP #$20 + TYA + CLC + ADC #$0005 + TAY + SEP #$20 + DEX + BNE L12B7 + REP #$30 +L12E6 RTS + +L12E7 BRK $01 ; Hum, a BNE goes here +L12E9 DRK $02 ; Hum, a BNE goes here + +*---------------------------- +* Patch $C0xy table +*---------------------------- + +L12EB DA L0A0F+1 + DA L0AB3+1 + DA L0BA3+1 + DA L0BBA+1 + DA L0EA7+1 + DA L0EB9+1 + DA L1498+1 + DA L19C1+1 + DA L1EEC+1 + DA L0A09+1 + DA L0AAD+1 + DA L11EF+1 + DA L1492+1 + DA L1EE6+1 + DA L09D0+1 + DA L0A9F+1 + DA L0B66+1 + DA L103B+1 + DA L119E+1 + DA L1195+1 + DA L0AC9+1 + DA L0AD2+1 + DA L0ADB+1 + DA L0AE4+1 + DA L0EAF+1 + DA L0AED+1 + DA L0AF6+1 + DA L0AFF+1 + DA L0B08+1 + DA L08E7+1 + DA L09EC+1 + DA L0B82+1 + DA L0B9F+1 + DA L0990+1 + DA L0A21+1 + DA L0BB6+1 + DA L09D9+1 + DA L0AA5+1 + DA L0B6F+1 + +*---------------------------- + + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + DB $AA + +*--- This is a copy of the $C800..$C8FF page (the real one) + +L1340 DB $CA + DB $CC + DB $64 + DB $02 + DB $64 + DB $02 + DB $00 + DB $00 + DB $00 + DB $00 +L134A DB $05 + DB $00 + DB $05 + DB $00 +L134E DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $05 + DB $00 + DB $03 + DB $00 +L135A DB $08 + DB $00 + DB $01 + DB $00 + DB $03 + DB $00 + DB $04 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 +L1366 DB $40 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L137C DW $0000 +L137E DB $00 +L137F DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L13BC DW $0000 ; number of blocks per device (16*4 bytes) +L13BE DB $00 +L13BF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L1450 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L145E DW $0000 +L1460 DW $0000 +theRequest ADRL $00000000 +L1466 DW $0000 +L1468 DW $0000 + DB $00 + DB $00 +L146C DW $0000 + DB $00 + DB $00 +L1470 DW $0000 + DB $00 + DB $00 +L1474 DW $0000 +L1476 DW $0000 +L1478 DW $0000 +L147A DW $0000 +L147C DW $0000 +L147E DB $00 +L147F DB $00 +L1480 DW $0000 +theCARD DW $0000 + DB $00 + DB $00 +theSLOT DW $0000 +theSLOT16 DW $0000 +fgINIT DW $0000 + DB $EE + DB $EE + DB $EE + DB $EE + +*---------------------------- +* Read data from card +*---------------------------- + +readFROMCARD + SEP #$30 +L1492 LDAL RDBANK1 + BPL L1492 +L1498 LDAL $00C08F + BMI L1498 + AND #$F9 + CMP #$58 + BEQ L14AA + LSR + BCC L1498 + JMP L0A7F + +L14AA LDA bufferPtr+2 + PHA + PLB + REP #$30 + LDY bufferPtr + PHD + LDA #$C000 + TCD +L14B7 LDA $80 ; $C0s0 returns a 16-bit value from the disk + STA |$0000,Y + LDA $80 + STA |$0002,Y + LDA $80 + STA |$0004,Y + LDA $80 + STA |$0006,Y + LDA $80 + STA |$0008,Y + LDA $80 + STA |$000A,Y + LDA $80 + STA |$000C,Y + LDA $80 + STA |$000E,Y + LDA $80 + STA |$0010,Y + LDA $80 + STA |$0012,Y + LDA $80 + STA |$0014,Y + LDA $80 + STA |$0016,Y + LDA $80 + STA |$0018,Y + LDA $80 + STA |$001A,Y + LDA $80 + STA |$001C,Y + LDA $80 + STA |$001E,Y + LDA $80 + STA |$0020,Y + LDA $80 + STA |$0022,Y + LDA $80 + STA |$0024,Y + LDA $80 + STA |$0026,Y + LDA $80 + STA |$0028,Y + LDA $80 + STA |$002A,Y + LDA $80 + STA |$002C,Y + LDA $80 + STA |$002E,Y + LDA $80 + STA |$0030,Y + LDA $80 + STA |$0032,Y + LDA $80 + STA |$0034,Y + LDA $80 + STA |$0036,Y + LDA $80 + STA |$0038,Y + LDA $80 + STA |$003A,Y + LDA $80 + STA |$003C,Y + LDA $80 + STA |$003E,Y + LDA $80 + STA |$0040,Y + LDA $80 + STA |$0042,Y + LDA $80 + STA |$0044,Y + LDA $80 + STA |$0046,Y + LDA $80 + STA |$0048,Y + LDA $80 + STA |$004A,Y + LDA $80 + STA |$004C,Y + LDA $80 + STA |$004E,Y + LDA $80 + STA |$0050,Y + LDA $80 + STA |$0052,Y + LDA $80 + STA |$0054,Y + LDA $80 + STA |$0056,Y + LDA $80 + STA |$0058,Y + LDA $80 + STA |$005A,Y + LDA $80 + STA |$005C,Y + LDA $80 + STA |$005E,Y + LDA $80 + STA |$0060,Y + LDA $80 + STA |$0062,Y + LDA $80 + STA |$0064,Y + LDA $80 + STA |$0066,Y + LDA $80 + STA |$0068,Y + LDA $80 + STA |$006A,Y + LDA $80 + STA |$006C,Y + LDA $80 + STA |$006E,Y + LDA $80 + STA |$0070,Y + LDA $80 + STA |$0072,Y + LDA $80 + STA |$0074,Y + LDA $80 + STA |$0076,Y + LDA $80 + STA |$0078,Y + LDA $80 + STA |$007A,Y + LDA $80 + STA |$007C,Y + LDA $80 + STA |$007E,Y + LDA $80 + STA |$0080,Y + LDA $80 + STA |$0082,Y + LDA $80 + STA |$0084,Y + LDA $80 + STA |$0086,Y + LDA $80 + STA |$0088,Y + LDA $80 + STA |$008A,Y + LDA $80 + STA |$008C,Y + LDA $80 + STA |$008E,Y + LDA $80 + STA |$0090,Y + LDA $80 + STA |$0092,Y + LDA $80 + STA |$0094,Y + LDA $80 + STA |$0096,Y + LDA $80 + STA |$0098,Y + LDA $80 + STA |$009A,Y + LDA $80 + STA |$009C,Y + LDA $80 + STA |$009E,Y + LDA $80 + STA |$00A0,Y + LDA $80 + STA |$00A2,Y + LDA $80 + STA |$00A4,Y + LDA $80 + STA |$00A6,Y + LDA $80 + STA |$00A8,Y + LDA $80 + STA |$00AA,Y + LDA $80 + STA |$00AC,Y + LDA $80 + STA |$00AE,Y + LDA $80 + STA |$00B0,Y + LDA $80 + STA |$00B2,Y + LDA $80 + STA |$00B4,Y + LDA $80 + STA |$00B6,Y + LDA $80 + STA |$00B8,Y + LDA $80 + STA |$00BA,Y + LDA $80 + STA |$00BC,Y + LDA $80 + STA |$00BE,Y + LDA $80 + STA |$00C0,Y + LDA $80 + STA |$00C2,Y + LDA $80 + STA |$00C4,Y + LDA $80 + STA |$00C6,Y + LDA $80 + STA |$00C8,Y + LDA $80 + STA |$00CA,Y + LDA $80 + STA |$00CC,Y + LDA $80 + STA |$00CE,Y + LDA $80 + STA |$00D0,Y + LDA $80 + STA |$00D2,Y + LDA $80 + STA |$00D4,Y + LDA $80 + STA |$00D6,Y + LDA $80 + STA |$00D8,Y + LDA $80 + STA |$00DA,Y + LDA $80 + STA |$00DC,Y + LDA $80 + STA |$00DE,Y + LDA $80 + STA |$00E0,Y + LDA $80 + STA |$00E2,Y + LDA $80 + STA |$00E4,Y + LDA $80 + STA |$00E6,Y + LDA $80 + STA |$00E8,Y + LDA $80 + STA |$00EA,Y + LDA $80 + STA |$00EC,Y + LDA $80 + STA |$00EE,Y + LDA $80 + STA |$00F0,Y + LDA $80 + STA |$00F2,Y + LDA $80 + STA |$00F4,Y + LDA $80 + STA |$00F6,Y + LDA $80 + STA |$00F8,Y + LDA $80 + STA |$00FA,Y + LDA $80 + STA |$00FC,Y + LDA $80 + STA |$00FE,Y + LDA $80 + STA $0100,Y + LDA $80 + STA $0102,Y + LDA $80 + STA $0104,Y + LDA $80 + STA $0106,Y + LDA $80 + STA $0108,Y + LDA $80 + STA $010A,Y + LDA $80 + STA $010C,Y + LDA $80 + STA $010E,Y + LDA $80 + STA $0110,Y + LDA $80 + STA $0112,Y + LDA $80 + STA $0114,Y + LDA $80 + STA $0116,Y + LDA $80 + STA $0118,Y + LDA $80 + STA $011A,Y + LDA $80 + STA $011C,Y + LDA $80 + STA $011E,Y + LDA $80 + STA $0120,Y + LDA $80 + STA $0122,Y + LDA $80 + STA $0124,Y + LDA $80 + STA $0126,Y + LDA $80 + STA $0128,Y + LDA $80 + STA $012A,Y + LDA $80 + STA $012C,Y + LDA $80 + STA $012E,Y + LDA $80 + STA $0130,Y + LDA $80 + STA $0132,Y + LDA $80 + STA $0134,Y + LDA $80 + STA $0136,Y + LDA $80 + STA $0138,Y + LDA $80 + STA $013A,Y + LDA $80 + STA $013C,Y + LDA $80 + STA $013E,Y + LDA $80 + STA $0140,Y + LDA $80 + STA $0142,Y + LDA $80 + STA $0144,Y + LDA $80 + STA $0146,Y + LDA $80 + STA $0148,Y + LDA $80 + STA $014A,Y + LDA $80 + STA $014C,Y + LDA $80 + STA $014E,Y + LDA $80 + STA $0150,Y + LDA $80 + STA $0152,Y + LDA $80 + STA $0154,Y + LDA $80 + STA $0156,Y + LDA $80 + STA $0158,Y + LDA $80 + STA $015A,Y + LDA $80 + STA $015C,Y + LDA $80 + STA $015E,Y + LDA $80 + STA $0160,Y + LDA $80 + STA $0162,Y + LDA $80 + STA $0164,Y + LDA $80 + STA $0166,Y + LDA $80 + STA $0168,Y + LDA $80 + STA $016A,Y + LDA $80 + STA $016C,Y + LDA $80 + STA $016E,Y + LDA $80 + STA $0170,Y + LDA $80 + STA $0172,Y + LDA $80 + STA $0174,Y + LDA $80 + STA $0176,Y + LDA $80 + STA $0178,Y + LDA $80 + STA $017A,Y + LDA $80 + STA $017C,Y + LDA $80 + STA $017E,Y + LDA $80 + STA $0180,Y + LDA $80 + STA $0182,Y + LDA $80 + STA $0184,Y + LDA $80 + STA $0186,Y + LDA $80 + STA $0188,Y + LDA $80 + STA $018A,Y + LDA $80 + STA $018C,Y + LDA $80 + STA $018E,Y + LDA $80 + STA $0190,Y + LDA $80 + STA $0192,Y + LDA $80 + STA $0194,Y + LDA $80 + STA $0196,Y + LDA $80 + STA $0198,Y + LDA $80 + STA $019A,Y + LDA $80 + STA $019C,Y + LDA $80 + STA $019E,Y + LDA $80 + STA $01A0,Y + LDA $80 + STA $01A2,Y + LDA $80 + STA $01A4,Y + LDA $80 + STA $01A6,Y + LDA $80 + STA $01A8,Y + LDA $80 + STA $01AA,Y + LDA $80 + STA $01AC,Y + LDA $80 + STA $01AE,Y + LDA $80 + STA $01B0,Y + LDA $80 + STA $01B2,Y + LDA $80 + STA $01B4,Y + LDA $80 + STA $01B6,Y + LDA $80 + STA $01B8,Y + LDA $80 + STA $01BA,Y + LDA $80 + STA $01BC,Y + LDA $80 + STA $01BE,Y + LDA $80 + STA $01C0,Y + LDA $80 + STA $01C2,Y + LDA $80 + STA $01C4,Y + LDA $80 + STA $01C6,Y + LDA $80 + STA $01C8,Y + LDA $80 + STA $01CA,Y + LDA $80 + STA $01CC,Y + LDA $80 + STA $01CE,Y + LDA $80 + STA $01D0,Y + LDA $80 + STA $01D2,Y + LDA $80 + STA $01D4,Y + LDA $80 + STA $01D6,Y + LDA $80 + STA $01D8,Y + LDA $80 + STA $01DA,Y + LDA $80 + STA $01DC,Y + LDA $80 + STA $01DE,Y + LDA $80 + STA $01E0,Y + LDA $80 + STA $01E2,Y + LDA $80 + STA $01E4,Y + LDA $80 + STA $01E6,Y + LDA $80 + STA $01E8,Y + LDA $80 + STA $01EA,Y + LDA $80 + STA $01EC,Y + LDA $80 + STA $01EE,Y + LDA $80 + STA $01F0,Y + LDA $80 + STA $01F2,Y + LDA $80 + STA $01F4,Y + LDA $80 + STA $01F6,Y + LDA $80 + STA $01F8,Y + LDA $80 + STA $01FA,Y + LDA $80 + STA $01FC,Y + LDA $80 + STA $01FE,Y + PLD + SEP #$30 + PHK + PLB + JMP L0A25 + +*---------------------------- +* Write data to card +*---------------------------- + +writeTOCARD + SEP #$30 +L19C1 LDAL $00C08F + BMI L19C1 + AND #$FD ; 1111_1101 + CMP #$58 ; 0101_1000 + BEQ L19D4 + AND #$21 ; 0010_0001 + BEQ L19C1 + JMP L0C27 + +L19D4 PHB + LDA bufferPtr+2 + PHA + PLB + REP #$30 + LDY bufferPtr + PHD + LDA #$C000 + TCD + LDA |$0000,Y +L19E5 STA $80 + LDA |$0002,Y + STA $80 + LDA |$0004,Y + STA $80 + LDA |$0006,Y + STA $80 + LDA |$0008,Y + STA $80 + LDA |$000A,Y + STA $80 + LDA |$000C,Y + STA $80 + LDA |$000E,Y + STA $80 + LDA |$0010,Y + STA $80 + LDA |$0012,Y + STA $80 + LDA |$0014,Y + STA $80 + LDA |$0016,Y + STA $80 + LDA |$0018,Y + STA $80 + LDA |$001A,Y + STA $80 + LDA |$001C,Y + STA $80 + LDA |$001E,Y + STA $80 + LDA |$0020,Y + STA $80 + LDA |$0022,Y + STA $80 + LDA |$0024,Y + STA $80 + LDA |$0026,Y + STA $80 + LDA |$0028,Y + STA $80 + LDA |$002A,Y + STA $80 + LDA |$002C,Y + STA $80 + LDA |$002E,Y + STA $80 + LDA |$0030,Y + STA $80 + LDA |$0032,Y + STA $80 + LDA |$0034,Y + STA $80 + LDA |$0036,Y + STA $80 + LDA |$0038,Y + STA $80 + LDA |$003A,Y + STA $80 + LDA |$003C,Y + STA $80 + LDA |$003E,Y + STA $80 + LDA |$0040,Y + STA $80 + LDA |$0042,Y + STA $80 + LDA |$0044,Y + STA $80 + LDA |$0046,Y + STA $80 + LDA |$0048,Y + STA $80 + LDA |$004A,Y + STA $80 + LDA |$004C,Y + STA $80 + LDA |$004E,Y + STA $80 + LDA |$0050,Y + STA $80 + LDA |$0052,Y + STA $80 + LDA |$0054,Y + STA $80 + LDA |$0056,Y + STA $80 + LDA |$0058,Y + STA $80 + LDA |$005A,Y + STA $80 + LDA |$005C,Y + STA $80 + LDA |$005E,Y + STA $80 + LDA |$0060,Y + STA $80 + LDA |$0062,Y + STA $80 + LDA |$0064,Y + STA $80 + LDA |$0066,Y + STA $80 + LDA |$0068,Y + STA $80 + LDA |$006A,Y + STA $80 + LDA |$006C,Y + STA $80 + LDA |$006E,Y + STA $80 + LDA |$0070,Y + STA $80 + LDA |$0072,Y + STA $80 + LDA |$0074,Y + STA $80 + LDA |$0076,Y + STA $80 + LDA |$0078,Y + STA $80 + LDA |$007A,Y + STA $80 + LDA |$007C,Y + STA $80 + LDA |$007E,Y + STA $80 + LDA |$0080,Y + STA $80 + LDA |$0082,Y + STA $80 + LDA |$0084,Y + STA $80 + LDA |$0086,Y + STA $80 + LDA |$0088,Y + STA $80 + LDA |$008A,Y + STA $80 + LDA |$008C,Y + STA $80 + LDA |$008E,Y + STA $80 + LDA |$0090,Y + STA $80 + LDA |$0092,Y + STA $80 + LDA |$0094,Y + STA $80 + LDA |$0096,Y + STA $80 + LDA |$0098,Y + STA $80 + LDA |$009A,Y + STA $80 + LDA |$009C,Y + STA $80 + LDA |$009E,Y + STA $80 + LDA |$00A0,Y + STA $80 + LDA |$00A2,Y + STA $80 + LDA |$00A4,Y + STA $80 + LDA |$00A6,Y + STA $80 + LDA |$00A8,Y + STA $80 + LDA |$00AA,Y + STA $80 + LDA |$00AC,Y + STA $80 + LDA |$00AE,Y + STA $80 + LDA |$00B0,Y + STA $80 + LDA |$00B2,Y + STA $80 + LDA |$00B4,Y + STA $80 + LDA |$00B6,Y + STA $80 + LDA |$00B8,Y + STA $80 + LDA |$00BA,Y + STA $80 + LDA |$00BC,Y + STA $80 + LDA |$00BE,Y + STA $80 + LDA |$00C0,Y + STA $80 + LDA |$00C2,Y + STA $80 + LDA |$00C4,Y + STA $80 + LDA |$00C6,Y + STA $80 + LDA |$00C8,Y + STA $80 + LDA |$00CA,Y + STA $80 + LDA |$00CC,Y + STA $80 + LDA |$00CE,Y + STA $80 + LDA |$00D0,Y + STA $80 + LDA |$00D2,Y + STA $80 + LDA |$00D4,Y + STA $80 + LDA |$00D6,Y + STA $80 + LDA |$00D8,Y + STA $80 + LDA |$00DA,Y + STA $80 + LDA |$00DC,Y + STA $80 + LDA |$00DE,Y + STA $80 + LDA |$00E0,Y + STA $80 + LDA |$00E2,Y + STA $80 + LDA |$00E4,Y + STA $80 + LDA |$00E6,Y + STA $80 + LDA |$00E8,Y + STA $80 + LDA |$00EA,Y + STA $80 + LDA |$00EC,Y + STA $80 + LDA |$00EE,Y + STA $80 + LDA |$00F0,Y + STA $80 + LDA |$00F2,Y + STA $80 + LDA |$00F4,Y + STA $80 + LDA |$00F6,Y + STA $80 + LDA |$00F8,Y + STA $80 + LDA |$00FA,Y + STA $80 + LDA |$00FC,Y + STA $80 + LDA |$00FE,Y + STA $80 + LDA $0100,Y + STA $80 + LDA $0102,Y + STA $80 + LDA $0104,Y + STA $80 + LDA $0106,Y + STA $80 + LDA $0108,Y + STA $80 + LDA $010A,Y + STA $80 + LDA $010C,Y + STA $80 + LDA $010E,Y + STA $80 + LDA $0110,Y + STA $80 + LDA $0112,Y + STA $80 + LDA $0114,Y + STA $80 + LDA $0116,Y + STA $80 + LDA $0118,Y + STA $80 + LDA $011A,Y + STA $80 + LDA $011C,Y + STA $80 + LDA $011E,Y + STA $80 + LDA $0120,Y + STA $80 + LDA $0122,Y + STA $80 + LDA $0124,Y + STA $80 + LDA $0126,Y + STA $80 + LDA $0128,Y + STA $80 + LDA $012A,Y + STA $80 + LDA $012C,Y + STA $80 + LDA $012E,Y + STA $80 + LDA $0130,Y + STA $80 + LDA $0132,Y + STA $80 + LDA $0134,Y + STA $80 + LDA $0136,Y + STA $80 + LDA $0138,Y + STA $80 + LDA $013A,Y + STA $80 + LDA $013C,Y + STA $80 + LDA $013E,Y + STA $80 + LDA $0140,Y + STA $80 + LDA $0142,Y + STA $80 + LDA $0144,Y + STA $80 + LDA $0146,Y + STA $80 + LDA $0148,Y + STA $80 + LDA $014A,Y + STA $80 + LDA $014C,Y + STA $80 + LDA $014E,Y + STA $80 + LDA $0150,Y + STA $80 + LDA $0152,Y + STA $80 + LDA $0154,Y + STA $80 + LDA $0156,Y + STA $80 + LDA $0158,Y + STA $80 + LDA $015A,Y + STA $80 + LDA $015C,Y + STA $80 + LDA $015E,Y + STA $80 + LDA $0160,Y + STA $80 + LDA $0162,Y + STA $80 + LDA $0164,Y + STA $80 + LDA $0166,Y + STA $80 + LDA $0168,Y + STA $80 + LDA $016A,Y + STA $80 + LDA $016C,Y + STA $80 + LDA $016E,Y + STA $80 + LDA $0170,Y + STA $80 + LDA $0172,Y + STA $80 + LDA $0174,Y + STA $80 + LDA $0176,Y + STA $80 + LDA $0178,Y + STA $80 + LDA $017A,Y + STA $80 + LDA $017C,Y + STA $80 + LDA $017E,Y + STA $80 + LDA $0180,Y + STA $80 + LDA $0182,Y + STA $80 + LDA $0184,Y + STA $80 + LDA $0186,Y + STA $80 + LDA $0188,Y + STA $80 + LDA $018A,Y + STA $80 + LDA $018C,Y + STA $80 + LDA $018E,Y + STA $80 + LDA $0190,Y + STA $80 + LDA $0192,Y + STA $80 + LDA $0194,Y + STA $80 + LDA $0196,Y + STA $80 + LDA $0198,Y + STA $80 + LDA $019A,Y + STA $80 + LDA $019C,Y + STA $80 + LDA $019E,Y + STA $80 + LDA $01A0,Y + STA $80 + LDA $01A2,Y + STA $80 + LDA $01A4,Y + STA $80 + LDA $01A6,Y + STA $80 + LDA $01A8,Y + STA $80 + LDA $01AA,Y + STA $80 + LDA $01AC,Y + STA $80 + LDA $01AE,Y + STA $80 + LDA $01B0,Y + STA $80 + LDA $01B2,Y + STA $80 + LDA $01B4,Y + STA $80 + LDA $01B6,Y + STA $80 + LDA $01B8,Y + STA $80 + LDA $01BA,Y + STA $80 + LDA $01BC,Y + STA $80 + LDA $01BE,Y + STA $80 + LDA $01C0,Y + STA $80 + LDA $01C2,Y + STA $80 + LDA $01C4,Y + STA $80 + LDA $01C6,Y + STA $80 + LDA $01C8,Y + STA $80 + LDA $01CA,Y + STA $80 + LDA $01CC,Y + STA $80 + LDA $01CE,Y + STA $80 + LDA $01D0,Y + STA $80 + LDA $01D2,Y + STA $80 + LDA $01D4,Y + STA $80 + LDA $01D6,Y + STA $80 + LDA $01D8,Y + STA $80 + LDA $01DA,Y + STA $80 + LDA $01DC,Y + STA $80 + LDA $01DE,Y + STA $80 + LDA $01E0,Y + STA $80 + LDA $01E2,Y + STA $80 + LDA $01E4,Y + STA $80 + LDA $01E6,Y + STA $80 + LDA $01E8,Y + STA $80 + LDA $01EA,Y + STA $80 + LDA $01EC,Y + STA $80 + LDA $01EE,Y + STA $80 + LDA $01F0,Y + STA $80 + LDA $01F2,Y + STA $80 + LDA $01F4,Y + STA $80 + LDA $01F6,Y + STA $80 + LDA $01F8,Y + STA $80 + LDA $01FA,Y + STA $80 + LDA $01FC,Y + STA $80 + LDA $01FE,Y + STA $80 + PLD + SEP #$30 + PLB +L1EE6 LDAL RDBANK1 + BPL L1EE6 +L1EEC LDAL $00C08F + BMI L1EEC + JMP L0BBA diff --git a/swashbuckler/.DS_Store b/swashbuckler/.DS_Store new file mode 100644 index 0000000..4b32719 Binary files /dev/null and b/swashbuckler/.DS_Store differ diff --git a/swashbuckler/SB.0300.S b/swashbuckler/SB.0300.S new file mode 100644 index 0000000..c200306 --- /dev/null +++ b/swashbuckler/SB.0300.S @@ -0,0 +1,124 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is FIRSTFILE +* Launched by HELLO +* + + mx %11 + lst off + +*---------------------------- + +L03D9 = $03D9 ; call RWTS + +*---------------------------- + +L0300 JSR $E746 +L0303 STX $51 + LDY $50 +L0307 TYA + TAX +L0309 DEX + BNE L0309 + BIT SPKR + EOR $51 + TAX +L0312 DEX + BNE L0312 + BIT SPKR + DEY + BNE L0307 + RTS + +*---------- + +L031C DB $00 ; NB SEC +L031D DB $10 ; T +L031E DB $10 ; S +L031F DB $00 + +*---------- The IOB table + +L0320 DB $01 + DB $60 + DB $01 + DB $FE +L0324 DB $10 +L0325 DB $0F + DA L0331 +L0328 DA $1400 + DB $00 + DB $00 +L032C DB $01 ; command + DB $D6 + DB $FE + DB $60 + DB $01 +L0331 HEX 0001EFD8 + +*---------- + +L0335 LDA #>L0320 ; call RWTS + LDY #L1000 + STA L0328+1 + JSR L0352 ; READ TRACK + JMP L1B00 ; NEXT STAGE + +*---------- End of code diff --git a/swashbuckler/SB.0800.S b/swashbuckler/SB.0800.S new file mode 100644 index 0000000..200db87 --- /dev/null +++ b/swashbuckler/SB.0800.S @@ -0,0 +1,2805 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is the $0800..$1FFF area +* Called from T3 & T4 by previous stage +* A lot of unused areas here! +* + + mx %11 + org $0800 + lst off + dsk swashbuckler + +*---------------------------- + +* Zero page +* $4E: random value +* $E3: bit 7 - 0: HGR1, 1: HGR2 +* bit 6 - 0: left, 1: right (direction of player) +* $E9: +* $EB: sprite index +* $EC: which HGR page is active +* bit 7 - 0: HGR1, 1: HGR2 +* $ED: X-position (in bytes) of the player +* $F9: X start +* $FA: ?offset +* $FB: sprite width in bytes +* $FC: Y start +* $FD: Y end +* $FE: key pressed + +zpRANDOM = $4E +zpHPLAYER = $E3 +zpHGRACTIVE = $EC +zpXPLAYER = $ED +zpXSCREEN = $F9 +zpSPRWIDTH = $FB +zpYBEGIN = $FC +zpYEND = $FD +zpKEY = $FE + +*---------------------------- + +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +TXTPAGE1 EQU $C054 +TXTPAGE2 EQU $C055 +HIRES EQU $C057 +VTAB EQU $FC22 +HOME EQU $FC58 +WAIT EQU $FCA8 +CROUT EQU $FD8E +COUT EQU $FDED + +*---------------------------- + +ptrLINEH HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + +*---------- + +saveX DB $FF ; save X +saveY DB $FF ; save Y +sprWIDTH DB $00 ; width of a sprite in bytes +pageHGR DB $40 ; 20 or 40: HGR page +charFONT DB $33 ; this is the char index we have to print + +*--- X of sprites on screen + +L08D0 DB $1D ; player +L08D1 DB $02 ; foe 1 +L08D2 DB $1E ; foe 2 +L08D3 DB $00 ; foe 3 +L08D4 DB $09 ; foe 4 +L08D7 DB $0B +L08D8 DB $10 +L08D9 DB $0C +L08DA DB $12 +L08DE DB $12 + +*---------- + +ptrLINEL HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + +*---------- + +theSCORE HEX 1A00 ; score +theLIVES DB $03 ; lives + +L09C3 DB $80 +L09C4 DB $C0 +L09C5 DB $0C +L09C7 DB $00 +L09C8 DB $D2 +L09C9 DB $01 +L09CA DB $00 +L09CB DB $00 +L09CD DB $80 +L09CE DB $00 +L09CF DB $00 +L09D0 DB $00 +L09D1 DB $19 +L09D2 DB $1F +L09D3 DB $21 +L09D4 DB $FE ; index of sprite 5 +L09D5 DB $0E +L09D6 DB $C0 +L09D7 DB $35 +L09D8 DB $19 +L09D9 DB $06 +L09DA DB $00 +L09DB DB $84 +saveHPLAYER DB $C0 +L09DD DB $0C +fgPLAY DB $FF ; true: game on, false: game over +L09DF DB $00 + +*---------- + +drawSPRITE1 LDA #$20 ; draw HGR1 + STA pageHGR + bne L0A0D + +drawSPRITE2 LDA #$40 ; draw HGR2 + STA pageHGR + +L0A0D STX saveX + STY saveY + + LDY zpYBEGIN ; from line Y +L0A15 LDA ptrLINEH,Y + CLC + ADC pageHGR + STA L0A35+2 + STA L0A38+2 + LDA ptrLINEL,Y + STA L0A35+1 + STA L0A38+1 + LDA zpSPRWIDTH + STA sprWIDTH + LDX zpXSCREEN +L0A32 LDA $6CD7 +L0A35 ORA $5DA8,X +L0A38 STA $5DA8,X + INC L0A32+1 + BNE L0A43 + INC L0A32+2 +L0A43 INX + DEC sprWIDTH + BNE L0A32 + INY + CPY zpYEND ; to end line + BNE L0A15 + LDX saveX + LDY saveY + RTS + +*---------- Draw a sprite on screen + +drawSPRITE STA $EB ; sprite index + ASL + TAY + LDA tblSPRITES,Y + STA L0A71+1 ; get the pointer to its structure + CLC + ADC #$04 + STA L0A32+1 ; and to its data + INY + LDA tblSPRITES,Y + STA L0A71+2 + STA L0A32+2 + LDY #$03 ; copy its structure +L0A71 LDA $6C5B,Y + STA |$00FA,Y + DEY + BPL L0A71 + SEC + LDA zpXSCREEN ; offset on screen + SBC $FA ; width in bytes + STA zpXSCREEN ; save it + BIT zpHPLAYER ; which HGR page? + BPL L0A8B + jmp drawSPRITE2 +L0A8B jmp drawSPRITE1 + +*---------- + +L0A8F STA $EF ; save sprite + JSR L0B43 + + BIT zpHGRACTIVE ; which page is active? + BMI L0AB3 ; page 2, so draw on page 1 + + LDA #$80 ; we're on page 1 + ORA zpHGRACTIVE ; next is page 2 + STA zpHGRACTIVE + LDA TXTPAGE1 ; show HGR1 + LDA #$80 ; draw on HGR2 + ORA zpHPLAYER + STA zpHPLAYER + JSR clearHGR2 ; clear HGR2 + JSR L0ACC ; redraw sprites + LDA TXTPAGE2 ; and show the page + rts + +L0AB3 LDA zpHGRACTIVE ; we're on page 2 + AND #$7F ; next is page 1 + STA zpHGRACTIVE + LDA TXTPAGE2 ; show HGR2 + LDA zpHPLAYER ; draw on HGR1 + AND #$7F + STA zpHPLAYER + JSR clearHGR1 ; clear HGR1 + JSR L0ACC ; redraw sprites + LDA TXTPAGE1 ; and show the page +L0ACB RTS + +*---------- Draw all sprites? + +L0ACC JSR L0C0C + JSR L1000 ; draw sprite 1 + JSR L1013 ; draw sprite 2 + JSR L1026 ; draw sprite 3 + JSR L1039 ; draw sprite 4 + jmp L104C ; draw sprite 5 + +*---------- Init game + +initALL LDA #$03 + STA theLIVES + LDA #$00 + STA theSCORE + STA theSCORE+1 + STA L09CB + STA L09DF + STA L09C5 + STA L09D5 + STA L09C4 + STA L09D6 + STA L08D1 + STA L08D3 + STA |$00E9 + STA L09CD + STA L09CE + STA L09CF + STA L09D0 + LDA #$1F + STA L08D0 + STA L08D2 + LDA #$FF + STA L09C3 + LDA TXTCLR + LDA MIXCLR + LDA HIRES + LDA TXTPAGE1 + LDA #$40 ; player looks right + STA zpHPLAYER + LDA #$08 ; sprite for player + STA $E8 + LDA #$11 ; x-offset for player + STA zpXPLAYER + LDA #$1F + STA L09D2 + LDA #$21 + STA L09D3 + RTS + +*---------- Check x-position of player + +L0B43 LDA #$04 + CMP zpXPLAYER + BCC L0B4F + LDA #$05 + STA zpXPLAYER + BNE L0B59 +L0B4F LDA #$1C + CMP zpXPLAYER + BCS L0B59 + LDA #$1C + STA zpXPLAYER +L0B59 SEC + LDA L08D0 + SBC zpXPLAYER + STA L08D7 + SEC + LDA zpXPLAYER + SBC L08D1 + STA L08D8 + SEC + LDA L08D2 + SBC zpXPLAYER + STA L08D9 + SEC + LDA zpXPLAYER + SBC L08D3 + STA L08DA + LDA #$02 + CMP L08D7 + BCC L0B90 + INC L08D0 + LDA L08D0 + CMP #$1E + BCC L0B90 + DEC zpXPLAYER +L0B90 LDA L08D0 + CMP #$07 + BCS L0B9F + LDA #$07 + STA L08D0 + JMP L0BAB + +L0B9F LDA L08D0 + CMP #$1E + BCC L0BAB + LDA #$1E + STA L08D0 +L0BAB LDA #$02 + CMP L08D8 + BCC L0BB9 + DEC L08D1 + BNE L0BB9 + INC zpXPLAYER +L0BB9 LDA L08D1 + BMI L0BC2 + CMP #$01 + BCS L0BC5 +L0BC2 INC L08D1 +L0BC5 LDA L08D1 + BMI L0BC2 + JMP L0BD1 + +L0BD1 LDA #$02 + CMP L08D9 + BCC L0BE4 + INC L08D2 + LDA L08D2 + CMP #$1E + BCC L0BE4 + DEC zpXPLAYER +L0BE4 LDA L08D2 + CMP #$07 + BCS L0BF3 + LDA #$07 + STA L08D2 + JMP L0BFF + +L0BF3 LDA L08D2 + CMP #$1E + BCC L0BFF + LDA #$1E + STA L08D2 +L0BFF LDA L08D3 + CMP #$21 + BCC L0C0B + LDA #$21 + STA L08D3 +L0C0B RTS + +L0C0C LDA zpXPLAYER + STA zpXSCREEN + LDA $E8 + jmp drawSPRITE + +*---------- Handle keypress + +doKEYPRESS BIT KBD + BPL L0C69 +L0C1B LDA KBD + STA zpKEY + LDA #$00 + STA KBDSTROBE + STA L09CB + LDA zpKEY + CMP #"S" ; Switch direction + BNE L0C4A + BIT zpHPLAYER ; bit 6? + BVC L0C3D ; is left turned? + LDA zpHPLAYER ; no, turned right + AND #$BF ; %1011_1111 + STA zpHPLAYER ; now looks left + LDA #$01 ; sprite 1 + JMP L0C45 + +L0C3D LDA zpHPLAYER ; force bit 6 + ORA #$40 ; now looks right + STA zpHPLAYER + LDA #$08 ; sprite 8 +L0C45 STA $E8 + JSR L0A8F ; draw next frame + +* BUG: keyboard value is not restored + + lda zpKEY + +L0C4A CMP #$C1 ; A + BEQ L0CAE + CMP #$C4 ; D + BEQ L0C7C + CMP #$C9 ; I + BEQ L0C72 + CMP #$CA ; J + BEQ L0C75 + CMP #$CB ; K + BEQ L0C78 + CMP #$CC ; L + BEQ L0C6C + CMP #$CD ; M + BEQ L0C6F +L0C66 JSR L0A8F +L0C69 INC zpRANDOM ; randomize + RTS + +L0C6C JMP L0D16 +L0C6F JMP L0D45 +L0C72 JMP L0CE0 +L0C75 JMP L0CF2 +L0C78 JMP L0D04 + +L0C7C BIT zpHPLAYER ; bit 6? + BVC L0C97 ; player looks left? + LDA #$09 ; right + STA $E8 + JSR L0A8F + INC zpXPLAYER + LDA #$0D + STA $E8 + JSR L0A8F + LDA #$08 + STA $E8 + JMP L0C66 + +L0C97 LDA #$07 ; left + STA $E8 + JSR L0A8F + INC zpXPLAYER + LDA #$06 + STA $E8 + JSR L0A8F + LDA #$01 + STA $E8 + JMP L0C66 + +*--- A - Move player to the left + +L0CAE BIT zpHPLAYER ; bit 6? + BVC L0CC9 ; not set + LDA #$0D + STA $E8 + JSR L0A8F ; au repos + DEC zpXPLAYER ; x-- + LDA #$09 + STA $E8 + JSR L0A8F ; + LDA #$08 + STA $E8 + JMP L0C66 + +L0CC9 LDA #$06 + STA $E8 + JSR L0A8F + DEC zpXPLAYER + LDA #$07 + STA $E8 + JSR L0A8F + LDA #$01 + STA $E8 + JMP L0C66 + +L0CE0 BIT zpHPLAYER ; bit 6? + BVC L0CEB ; not set + LDA #$0E + STA $E8 + JMP L0C66 + +L0CEB LDA #$02 + STA $E8 + JMP L0C66 + +L0CF2 BIT zpHPLAYER + BVC L0CFD + LDA #$0C + STA $E8 + JMP L0C66 + +L0CFD LDA #$03 + STA $E8 + JMP L0C66 + +L0D04 BIT zpHPLAYER + BVC L0D0F + LDA #$08 + STA $E8 + JMP L0C66 + +L0D0F LDA #$01 + STA $E8 + JMP L0C66 + +*---------- + +L0D16 LDA L09C3 + BNE L0D25 + LDY #$5A + STY $50 + JSR L0303 ; beep + JMP L0CF2 + +L0D25 BIT zpHPLAYER + BVC L0D37 + LDA #$09 + STA $E8 + JSR L0A8F + LDA #$0A + STA $E8 + JMP L0C66 + +L0D37 LDA #$07 + STA $E8 + JSR L0A8F + LDA #$04 + STA $E8 + JMP L0C66 + +L0D45 BIT zpHPLAYER + BVC L0D50 + LDA #$0B + STA $E8 + JMP L0C66 + +L0D50 LDA #$05 + STA $E8 + JMP L0C66 + +*---------- Clear HGR1 + +clearHGR1 LDA #$00 + LDX #$27 +L0E04 STA $2028,X + STA $2428,X + STA $2828,X + STA $2C28,X + STA $3028,X + STA $3428,X + STA $3828,X + STA $3C28,X + STA $20A8,X + STA $24A8,X + STA $28A8,X + STA $2CA8,X + STA $30A8,X + STA $34A8,X + STA $38A8,X + STA $3CA8,X + STA $2128,X + STA $2528,X + STA $2928,X + STA $2D28,X + STA $3128,X + STA $3528,X + STA $3928,X + STA $3D28,X + STA $21A8,X + STA $25A8,X + STA $29A8,X + STA $2DA8,X + STA $31A8,X + STA $35A8,X + STA $39A8,X + STA $3DA8,X + STA $2228,X + STA $2628,X + STA $2A28,X + STA $2E28,X + STA $3228,X + STA $3628,X + STA $3A28,X + STA $3E28,X + STA $22A8,X + STA $26A8,X + STA $2AA8,X + STA $2EA8,X + STA $32A8,X + STA $36A8,X + STA $3AA8,X + STA $3EA8,X + STA $2328,X + STA $2728,X + STA $2B28,X + STA $2F28,X + STA $3328,X + STA $3728,X + STA $3B28,X + STA $3F28,X + STA $23A8,X + STA $27A8,X + STA $2BA8,X + STA $2FA8,X + STA $33A8,X + STA $37A8,X + STA $3BA8,X + STA $3FA8,X + DEX + BPL L0EC8 + RTS +L0EC8 JMP L0E04 + +*---------- Clear HGR2 + +clearHGR2 LDA #$00 + LDX #$27 +L0F04 STA $4028,X + STA $4428,X + STA $4828,X + STA $4C28,X + STA $5028,X + STA $5428,X + STA $5828,X + STA $5C28,X + STA $40A8,X + STA $44A8,X + STA $48A8,X + STA $4CA8,X + STA $50A8,X + STA $54A8,X + STA $58A8,X + STA $5CA8,X + STA $4128,X + STA $4528,X + STA $4928,X + STA $4D28,X + STA $5128,X + STA $5528,X + STA $5928,X + STA $5D28,X + STA $41A8,X + STA $45A8,X + STA $49A8,X + STA $4DA8,X + STA $51A8,X + STA $55A8,X + STA $59A8,X + STA $5DA8,X + STA $4228,X + STA $4628,X + STA $4A28,X + STA $4E28,X + STA $5228,X + STA $5628,X + STA $5A28,X + STA $5E28,X + STA $42A8,X + STA $46A8,X + STA $4AA8,X + STA $4EA8,X + STA $52A8,X + STA $56A8,X + STA $5AA8,X + STA $5EA8,X + STA $4328,X + STA $4728,X + STA $4B28,X + STA $4F28,X + STA $5328,X + STA $5728,X + STA $5B28,X + STA $5F28,X + STA $43A8,X + STA $47A8,X + STA $4BA8,X + STA $4FA8,X + STA $53A8,X + STA $57A8,X + STA $5BA8,X + STA $5FA8,X + DEX + BPL L0FC8 + RTS +L0FC8 JMP L0F04 + +*---------- Draw all sprites + +L1000 LDA L08D0 +L1003 STA zpXSCREEN + LDA L08DE + BIT |$00E9 + BMI L100F + LDA #$10 +L100F jmp drawSPRITE + +L1013 LDA L08D1 + STA zpXSCREEN + LDA L09D1 + BIT L09CD + BMI L1022 + LDA #$10 +L1022 jmp drawSPRITE + +L1026 LDA L08D2 + STA zpXSCREEN + LDA L09D2 + BIT L09CE + BMI L1035 + LDA #$10 +L1035 jmp drawSPRITE + +L1039 LDA L08D3 + STA zpXSCREEN + LDA L09D3 + BIT L09CF + BMI L1048 + LDA #$10 +L1048 jmp drawSPRITE + +L104C LDA L08D4 + STA zpXSCREEN + LDA L09D4 + BIT L09D0 + BMI L105B + LDA #$10 +L105B jmp drawSPRITE + +*---------- + +L105F BIT |$00E9 + BPL L10E1 + BVC L106E + LDA #$17 + STA L08DE + JMP L10E1 +L106E JMP L15DA + +L1071 BIT L09C4 + BMI L10AB + LDA L09C5 + CMP #$05 + BCS L1091 + LDY zpRANDOM + LDA L1D00,Y + CMP #$30 + BCS L10AE +L1086 LDA #$80 + ORA L09C4 + STA L09C4 + JMP L10A1 + +L1091 LDY zpRANDOM + LDA L1D00,Y + CMP #$20 + BCC L10AE + CMP #$40 + BCC L1086 + JMP L10AE + +L10A1 BIT |$00E9 + BPL L10E1 + BIT L09C4 + BPL L10AE +L10AB JMP L1209 + +L10AE LDY zpRANDOM + LDA L1D00,Y + STA $EB ; sprite + AND #$07 + TAY + LDA L1E00,Y + STA L08DE + LDA $EB + CMP #$E6 + BCS L10CB + CMP #$64 + BCC L10D6 + JMP L10DE + +L10CB INC L08D0 + LDA #$11 + STA L08DE + JMP L10DE + +L10D6 DEC L08D0 + LDA #$11 + STA L08DE +L10DE jmp L0A8F + +L10E1 RTS + +*---------- + +L10E2 BIT zpHPLAYER + BVC L10F9 + JSR L165D + LDA $E8 + CMP #$0A + BEQ L10FF + CMP #$0C + BEQ L10F6 + rts ; JMP L1208 +L10F6 JMP L1167 + +L10F9 JSR L1680 + JMP L138B + +L10FF BIT |$00E9 + BPL L114C + BVS L114C + LDA L08D7 + CMP #$0D + BCS L114C + LDA L08DE + CMP #$11 + BEQ L1164 + LDA #$09 + CMP L08D7 + BCC L114C +L111B LDA #$16 + STA L08DE + INC L09C5 + JSR L0A8F + JSR L11C7 + JSR L11D1 + JSR L11F1 ; check next level + LDA #$17 + STA L08DE + LDA #$0E + STA $E8 + JSR L0A8F + LDA |$00E9 + ORA #$40 + STA |$00E9 + JSR L11FE + JSR L11E1 + jmp L114F +L114C rts ; JMP L1208 + +L114F NOP + NOP + NOP + NOP + LDA theSCORE + CMP #$17 + BNE L115D + INC theLIVES ; new lives +L115D jmp L1854 + +L1164 JMP L1186 + +L1167 BIT |$00E9 + BPL L114C + BVS L114C + LDA L08D7 + CMP #$0A + BCS L114C + LDA L08DE + CMP #$11 + BEQ L1186 + LDA #$05 + CMP L08D7 + BCC L114C + JMP L111B + +L1186 LDX #$3C + STX $50 + JSR L0303 + INC zpRANDOM + INC L09CB + INC L08D0 + LDA L09CB + CMP #$01 + BEQ L11C4 + LDA #$08 + CMP L09C5 + BCS L11C4 + DEC L08D0 + JSR L1261 + JSR L0A8F +L11AC BIT KBD + BMI L11C1 + JSR L143B + INC zpRANDOM + BNE L11AC + DEC L08D0 + JSR L1261 + JSR L0A8F +L11C1 JMP L0C1B +L11C4 rts ; JMP L1208 + +*---------- Ennemy is killed + +L11C7 LDA #$96 + STA $50 + LDX #$64 + jmp L0303 + +*---------- Wait + +L11D1 LDA #$05 + STA L09CA +L11D6 LDA #$FF + JSR WAIT + DEC L09CA + BNE L11D6 + RTS + +*---------- Wait + +L11E1 LDA #$02 + STA L09CA +L11E6 LDA #$FF + JSR WAIT + DEC L09CA + BNE L11E6 + RTS + +L11F1 CLC + INC theSCORE + BCC L11FA + INC theSCORE+1 +L11FA JMP L1B76 ; next level + +*---------- Play sound + +L11FE LDA #$1E + STA $50 + LDY #$1E + jmp L0303 + +L1209 BIT L09C4 + BVS L121E + LDA #$40 + ORA L09C4 + STA L09C4 + JSR L1252 + LDA #$08 + STA L09C9 +L121E DEC L09C9 + BNE L122E + LDA #$BF + AND L09C4 + STA L09C4 + JMP L10AE + +L122E LDY L09C7 + LDA L1E80,Y + STA L09C8 + AND #$1F + STA L08DE + BIT L09C8 + BPL L124C + BVC L1249 + DEC L08D0 + JMP L124C + +L1249 INC L08D0 +L124C DEC L09C7 + JMP L10DE + +L1252 LDY zpRANDOM + LDA L1D00,Y + AND #$07 + TAY + LDA L1E40,Y + STA L09C7 + RTS + +*---------- + +L1261 BIT |$00E9 + BPL L1280 + BVS L1280 + LDA L08DE + CMP #$11 + BNE L1272 + JMP L1281 + +L1272 CMP #$13 + BNE L1279 + JMP L12D6 ; is player hit? + +L1279 CMP #$14 + BNE L1280 + JMP L131D +L1280 RTS + +L1281 LDA L08D7 + CMP #$04 + BCC L12D0 + CMP #$06 + BCS L129A + LDA $E8 + CMP #$0A + BEQ L12D0 ; I'm hit! + CMP #$08 + BEQ L12D3 + CMP #$0C + BEQ L12D3 +L129A LDA L08D7 + CMP #$07 + BCS L12AF + LDA $E8 + CMP #$08 + BEQ L12D3 + CMP #$0A + BEQ L12D3 + CMP #$0C + BEQ L12D3 +L12AF LDA L08D7 + CMP #$0A + BCS L12C0 + LDA $E8 + CMP #$0A + BEQ L1333 + CMP #$0C + BEQ L1333 +L12C0 LDA L08D7 + CMP #$0E + BCS L1280 + LDA $E8 + CMP #$0A + BNE L1280 + JMP L1333 + +L12D0 JMP playerHIT ; player is hit! +L12D3 JMP L1333 + +L12D6 LDA L08D7 + CMP #$03 + BCS L12E6 + LDA $E8 + CMP #$0E + BEQ L12E6 + JMP playerHIT ; player is hit! + +L12E6 LDA L08D7 + CMP #$04 + BCS L12FA + LDA $E8 + CMP #$08 + BCS L12FA + CMP #$04 + BEQ L12FA + JMP playerHIT + +L12FA LDA L08D7 + CMP #$05 + BCS L130A + LDA $E8 + CMP #$0E + BNE L130A + JMP L1333 + +L130A LDA L08D7 + CMP #$06 + BCS L131A + LDA $E8 + CMP #$0A + BNE L131A + JMP playerHIT +L131A JMP L1280 + +L131D LDA L08D7 + CMP #$05 + BCS L1330 + LDA #$00 + STA L09C3 + LDX #$5A + STX $50 + JSR L0303 +L1330 JMP L1280 + +L1333 LDX #$3C + STX $50 + JSR L0303 + INC L08D0 + JMP L1280 + +*---------- Player is hit + +playerHIT LDA #$0F ; show sprite HIT + STA $E8 + JSR L0A8F + JSR L1381 ; play sound + JSR L11D1 ; wait + LDA #$00 ; show sprite DEAD + STA $E8 + STA L09DF + JSR L0A8F + JSR L11FE ; play sound + LDA #$80 + STA L09C3 + JSR L11E1 ; wait + JSR L136B ; go die + JSR showALL + JMP L180D + +L136B DEC theLIVES ; lives-- + BEQ L1374 + NOP + NOP + NOP + RTS + +L1374 LDX #$FF ; i'm dead + STX $50 + JSR L0303 + LDA #$00 ; game over + STA fgPLAY + RTS + +L1381 LDA #$28 ; ouch sound + STA $50 + LDX #$C8 + JSR L0303 + RTS + +L138B BIT L09CD + BPL L13FC + BVS L13FC + LDA $E8 + CMP #$04 + BNE L13A9 + LDA L08D8 + CMP #$09 + BCS L13A2 + JMP L1402 + +L13A2 CMP #$0C + BCS L13FC + JMP L13BB + +L13A9 CMP #$03 + BNE L13FC + LDA L08D8 + CMP #$06 + BCS L13B7 + JMP L1402 + +L13B7 CMP #$07 + BCS L1433 +L13BB LDX #$3C + STX $50 + JSR L0303 + INC zpRANDOM + INC L09CB + DEC L08D1 + LDA L09CB + CMP #$01 + BEQ L13FF + LDA #$08 + CMP L09C5 + BCS L13FF + INC L08D1 + JSR L14E4 + JSR L0A8F +L13E1 BIT KBD + BMI L13F6 + JSR L143B + INC zpRANDOM + BNE L13E1 + INC L08D1 + JSR L14E4 + JSR L0A8F +L13F6 JMP L0C1B + JMP L1437 +L13FC JMP L1433 +L13FF JMP L1433 + +L1402 LDA #$1D + STA L09D1 + INC L09D5 + JSR L0A8F + JSR L11C7 + JSR L11D1 + JSR L11F1 ; check next level + LDA #$1E + STA L09D1 + LDA #$02 + STA $E8 + JSR L0A8F + LDA L09CD + ORA #$40 + STA L09CD + JSR L11FE + JSR L11E1 + jmp L114F +L1433 RTS + +L1437 NOP + NOP + NOP + RTS + +L143B JSR L1454 + JSR L14E4 + JSR L14A5 + JSR L1537 + NOP + NOP + NOP + JSR L154A + JSR L14E0 + jmp L157B + +*---------- + +L1454 BIT L09CD + BPL L14A4 + BVC L1463 + LDA #$1E + STA L09D1 + JMP L14A4 +L1463 JMP L161C + +L1466 BIT L09D6 + BPL L146E + JMP L157F + +L146E LDY zpRANDOM + LDA L1D00,Y + STA $EB + AND #$07 + ORA #$08 + TAY + LDA L1E00,Y + STA L09D1 + LDA $EB + CMP #$5A + BCS L148D + LDA #$80 + STA L09D6 + LDA $EB +L148D CMP #$E6 + BCS L1498 + CMP #$50 + BCS L149E + JMP L14A1 + +L1498 INC L08D1 + JMP L14A1 + +L149E DEC L08D1 +L14A1 jmp L0A8F + +L14A4 RTS + +*---------- + +L14A5 BIT L09CE + BPL L14C1 + LDA L09D2 + CMP #$1F + BEQ L14B9 + LDA #$1F + STA L09D2 + JMP L14C1 + +L14B9 LDA #$20 + STA L09D2 + DEC L08D2 +L14C1 RTS + +L14C2 BIT L09CF + BPL L14DE + LDA L09D3 + CMP #$21 + BEQ L14D6 + LDA #$21 + STA L09D3 + JMP L14DE + +L14D6 LDA #$22 + STA L09D3 + INC L08D3 +L14DE RTS + +L14E0 NOP + NOP + NOP + RTS + +*---------- + +L14E4 BIT L09CD + BPL L1519 + BVS L1519 + LDA L09D1 + CMP #$1B + BNE L14F5 + JMP L151A + +L14F5 CMP #$1C + BEQ L1524 + LDA L08D8 + CMP #$04 + BCC L1534 +L1500 CMP #$09 ; difficulty? + BCS L1519 + LDA $E8 + CMP #$08 + BCS L1519 + CMP #$02 + BEQ L1519 + CMP #$05 + BEQ L1519 +L1512 LDX #$3C + STX $50 + jmp L0303 + +L1519 RTS + +L151A LDA L08D8 + CMP #$05 + BCC L1534 + JMP L1519 + +L1524 LDA L08D8 + CMP #$05 + BCS L1519 + LDA $E8 + CMP #$05 + BEQ L1512 + JMP L1534 +L1534 JMP playerHIT + +*---------- + +L1537 BIT L09CE + BPL L1546 + LDA #$05 + CMP L08D9 + BCC L1546 + JMP playerHIT +L1546 RTS + +*---------- + +L154A BIT L09CF + BPL L1577 + LDA #$04 + CMP L08DA + BCC L1577 + LDA #$00 + STA L09C3 + LDX #$5A + STX $50 + JSR L0303 + LDA #$00 + STA L09CF + STA L08D3 + INC L09DF + LDA L09DF + CMP #$04 + BCC L1577 + JMP playerHIT + +L1577 RTS + +L157B NOP + NOP + NOP + RTS + +L157F NOP + NOP + NOP + BIT L09D6 + BVS L1597 + LDA #$40 + ORA L09D6 + STA L09D6 + JSR L15CB + LDA #$08 + STA L09D9 +L1597 DEC L09D9 + BNE L15A7 + LDA #$BF + AND L09D6 + STA L09D6 + JMP L146E + +L15A7 LDY L09D7 + LDA L1E80,Y + STA L09D8 + AND #$1F + STA L09D1 + BIT L09D8 + BPL L15C5 + BVC L15C2 + INC L08D1 + JMP L15C5 + +L15C2 DEC L08D1 +L15C5 DEC L09D7 + JMP L14A1 + +L15CB LDY zpRANDOM + LDA L1D00,Y + AND #$07 + TAY + LDA L1E48,Y + STA L09D7 + RTS + +L15DA BIT L09DA + BMI L1606 + LDA L09C5 + CMP #$20 + BCS L1615 + CMP #$0C + BCS L15FE + CMP #$02 + BCS L15F6 + LDA #$86 + STA L09DA + JMP L1618 + +L15F6 LDA #$84 + STA L09DA + JMP L1618 + +L15FE LDA #$82 + STA L09DA + JMP L1618 + +L1606 DEC L09DA + LDA #$80 + CMP L09DA + BNE L1618 + LDA #$00 + STA L09DA +L1615 JMP L1071 +L1618 JMP L10DE + +L161C BIT L09DB + BMI L1648 + LDA L09D5 + CMP #$19 + BCS L1657 + CMP #$08 + BCS L1638 + CMP #$02 + BCS L1640 + LDA #$86 + STA L09DB + JMP L165A + +L1638 LDA #$84 + STA L09DB + JMP L165A + +L1640 LDA #$82 + STA L09DB + JMP L165A + +L1648 DEC L09DB + LDA #$80 + CMP L09DB + BNE L165A + LDA #$00 + STA L09DB +L1657 JMP L1466 +L165A JMP L14A1 + +L165D BIT L09CE + BPL L167F + LDA $E8 + CMP #$0B + BNE L167F + LDA #$06 + CMP L08D9 + BCC L167F + JSR L11C7 + JSR L11F1 ; check next level + LDA #$00 + STA L09CE + LDA #$23 + STA L08D2 +L167F RTS + +L1680 BIT L09CF + BPL L169D + LDA $E8 + CMP #$05 + BNE L169D + LDA #$05 + CMP L08DA + BCC L169D + JSR L11C7 + LDA #$00 + STA L09CF + STA L08D3 +L169D RTS + +*---------- Pointer to sprites +* The first 4 bytes are copied to $FA..$FD + +tblSPRITES DA $7B06 ; 00 player is dead + DA $6000 ; 01 player left + DA $6184 ; 02 " + DA $6348 ; 03 " + DA $655B ; 04 " + DA $67CF ; 05 " + DA $6953 ; 06 " + DA $6AD7 ; 07 " + DA $6C5B ; 08 player right + DA $6DEE ; 09 " + DA $6F72 ; 0A " + DA $7246 ; 0B " + DA $73CA ; 0C " + DA $763E ; 0D " + DA $77BE ; 0E " + DA $7982 ; 0F " is wounded + DA $7C10 ; 10 empty + DA $8000 ; 11 foe right + DA $81E4 ; 12 " + DA $8418 ; 13 " + DA $864C ; 14 " + DA $8830 ; 15 " + DA $8A14 ; 16 " + DA $8C48 ; 17 " is dead + DA $8D3D ; 18 foe left + DA $8F0E ; 19 " + DA $90DF ; 1A " + DA $92B0 ; 1B " + DA $9480 ; 1C " + DA $9666 ; 1D " + DA $97DB ; 1E " is dead + DA $9858 ; 1F animal right + DA $98EC ; 20 " + DA $9980 ; 21 animal left + DA $9A14 ; 22 " + DA $9AA8 ; The rest is... nothing + +*---------- + +playGAME JSR initALL ; init all + LDA #$FF + STA fgPLAY ; game is active + LDA #$80 + STA |$00E9 + +L180D LDA #$00 + STA L08D1 + STA L09CE + STA L09CF + STA L08D3 + LDA #$20 + STA L08D0 + STA L08D2 + LDA #$10 ; x-pos of player + STA zpXPLAYER + +*--- The main game loop + +L1827 JSR doKEYPRESS + JSR L105F + JSR L19D5 + JSR L1454 ; + JSR L14A5 ; + JSR L14C2 ; + JSR L10E2 ; + JSR L1261 ; + JSR L14E4 ; + JSR L1537 ; + JSR L154A ; + LDA fgPLAY ; am I dead + BNE L1827 ; for real? + RTS ; yes! + +*---------- + +L1854 NOP + LDA theSCORE+1 + BEQ L185D + JMP L18C8 + +L185D LDA theSCORE + CMP #$02 + BCS L188A + AND #$01 + BEQ L1878 + LDA #$00 + STA L08D1 + STA |$00E9 + LDA #$80 + STA L09CD + JMP L18C3 + +L1878 LDA #$20 + STA L08D0 + LDA #$00 + STA L09CD + LDA #$80 + STA |$00E9 + JMP L18C3 + +L188A BIT |$00E9 + BPL L1891 + BVC L18C4 +L1891 BIT L09CD + BPL L1898 + BVC L18C4 +L1898 LDA #$80 + STA |$00E9 + STA L09CD + JMP L1A78 + +*---------- + +L18B3 LDA #$00 + STA L08D1 + LDA #$20 + STA L08D0 + JMP L18C3 + JMP L18C8 + +L18C3 NOP +L18C4 jmp L0A8F + +L18C8 LDA #$3C + STA L09DD + jmp L1A04 + +*---------- Calculate offset of font char + +calcFOFFSET STX saveX + STY saveY + + LDA #theFONT + STA L1939+2 + LDX #$20 ; space +L18EC CPX charFONT ; the char + BEQ L1904 + INX + CLC + LDA #$08 ; offset+8 + ADC L1939+1 + STA L1939+1 + BCC L1900 + INC L1939+2 +L1900 CPX #$7E ; last char + BNE L18EC +L1904 LDX saveX + LDY saveY + RTS + +*---------- Draw a char + +printCHAR1 LDA #$20 ; on HGR1 + STA pageHGR + bne L1918 + +printCHAR2 LDA #$40 ; or HGR2 + STA pageHGR + +*---------- Draw a char on screen + +L1918 STX saveX + STY saveY + LDY zpYBEGIN ; Y start + CLC + LDA #$08 + ADC zpYBEGIN + STA zpYEND ; Y end + LDX zpXSCREEN +L1929 LDA ptrLINEH,Y + CLC + ADC pageHGR + STA L193C+2 + LDA ptrLINEL,Y + STA L193C+1 +L1939 LDA theFONT +L193C STA $5E50,X + INC L1939+1 + BNE L1947 + INC L1939+2 +L1947 INY + CPY zpYEND ; the end? + BNE L1929 + LDX saveX ; restore + LDY saveY + RTS + +*---------- Print C string + +printCSTR STA L195B+1 + STY L195B+2 + + LDX #$00 +L195B LDA |$009F,X ; get a char + BEQ L1988 + STA charFONT ; the char + JSR calcFOFFSET ; calc offset in font + BIT zpHPLAYER ; which page to draw? + BPL L1970 + JSR printCHAR2 ; HGR2 + JMP L1973 +L1970 JSR printCHAR1 ; HGR1 + +L1973 INC zpXSCREEN ; next X + LDA zpXSCREEN + CMP #$28 + BNE L1985 + LDA #$00 ; next Y + STA zpXSCREEN + LDA #$08 + ADC zpYBEGIN + STA zpYBEGIN +L1985 INX + BNE L195B +L1988 RTS + +*---------- Show score and lives + +showALL LDA zpHPLAYER + STA saveHPLAYER + AND #$7F + STA zpHPLAYER + JSR showSCORE + JSR showLIVES + LDA zpHPLAYER + ORA #$80 + STA zpHPLAYER + JSR showSCORE + JSR showLIVES + LDA saveHPLAYER + STA zpHPLAYER + RTS + +*---------- + +showSCORE LDA #$0E + STA zpXSCREEN + LDA #$A0 + STA zpYBEGIN + LDA theSCORE + STA $9F + LDA theSCORE+1 + STA $9E + LDA #$90 + STA $9D + LDA #$00 + STA $A0 + STA $A1 + STA $A2 + JSR $ED34 ; convert fac + jmp printCSTR ; print score + +*---------- + +L19CF JMP L1A68 +L19D2 JMP L1A6E + +*---------- + +L19D5 LDA L09C5 + CMP #$05 + BEQ L19CF + CMP #$0D + BEQ L19CF + CMP #$16 + BEQ L19CF + LDA L09D5 + CMP #$06 + BEQ L19D2 + CMP #$0B + BEQ L19D2 + CMP #$13 + BEQ L19D2 + CMP #$17 + BEQ L19D2 + LDA theSCORE + CMP #$13 + BCC L1A47 + AND #$01 + BNE L1A47 + LDA #$0C +L1A04 STA L09DD + LDY zpRANDOM + LDA L1D00,Y + CMP L09DD + BNE L1A14 + JMP L1A22 + +L1A14 CMP #$27 + BNE L1A1B + JMP L1A36 + +L1A1B CMP #$54 + BNE L1A47 + JMP L1A36 + +L1A22 LDA #$80 + STA L09CE + LDA #$21 + STA L08D2 + LDX #$6E + STX $50 + JSR L0303 + JMP L1A47 + +L1A36 LDA #$80 + STA L09CF + LDA #$00 + STA L08D3 + LDX #$B4 + STX $50 + JSR L0303 +L1A47 RTS + +*---------- + +showLIVES CLC + LDA theLIVES + BPL L1A50 + LDA #$00 +L1A50 ADC #$30 + STA $9F + LDA #$22 + STA zpXSCREEN + LDA #$A0 + STA zpYBEGIN + LDA #$00 + STA $A0 + LDA #$9F + LDY #$00 + jmp printCSTR ; print lives + +L1A68 INC L09C5 + JMP L1A36 + +L1A6E INC L09D5 + JMP L1A22 + +*---------- + +L1A78 LDA L09C5 + CMP #$05 + BCC L1AB9 + CMP #$08 + BCC L1A92 + CMP #$0C + BCC L1A98 + CMP #$10 + BCC L1A9E + CMP #$14 + BCC L1AA4 + JMP L1AAA + +L1A92 INC L08D0 + DEC L08D1 +L1A98 INC L08D0 + DEC L08D1 +L1A9E INC L08D0 + DEC L08D1 +L1AA4 INC L08D0 + DEC L08D1 +L1AAA INC L08D0 + DEC L08D1 + INC L08D0 + DEC L08D1 + JMP L1ABC +L1AB9 JMP L18B3 + +L1ABC JSR L0B43 + JMP L18C3 + +*---------- Entry point + +L1B00 LDA #$00 + STA L0328 + STA L031E ; S0 + LDA #$03 + STA L031D ; T3 + LDA #$08 + STA L0328+1 ; $0800..$0FFF + LDA #$07 + STA L031F ; until S7 +L1B17 JSR L033D ; read TS + INC L031E + INC L0328+1 + LDA L031E + CMP L031F + BNE L1B17 + JSR L033D ; read T3/S7 + + LDA #$09 ; Load T9-A + LDX #$00 ; $6000..$7FFF + LDY #$60 + JSR L0366 + +*---------- Main loop + +L1B34 LDA #$0F ; Load TF-10 + LDX #$00 ; $8000..$8FFF + LDY #$80 + JSR L0366 + + LDA #$15 ; Load T15-16 + LDX #$00 ; $2000..$3FFF + LDY #$20 + JSR L0366 + + JSR L1CAC ; clear text line 23 + +L1B49 BIT KBD + BPL L1B49 + LDA #$00 + STA KBDSTROBE + JSR L1CB7 ; show score + JSR playGAME ; play + +* if we're back here, the player is dead + + JSR HOME ; clear text + + LDA #$03 ; Load T3/SC + STA L031D ; $4000..$40FF + LDA #$0C + STA L031E + LDA #L4000 + STA L0328+1 + JSR L033D + JMP L4000 ; and jump + +*---------- + +L1B76 LDA theSCORE + CMP #$15 ; harder, new foes + BEQ L1B9C + CMP #$21 ; new image, new foes + BEQ L1BA6 + CMP #$2B ; new foes + BEQ L1BB0 + CMP #$36 ; new image, new foes + BEQ L1BB5 + CMP #$3E ; new foes + BEQ L1BBF + CMP #$4A ; new foes + BEQ L1BC4 + CMP #$53 ; new foes + BEQ L1BC9 + CMP #$62 ; new foes + BEQ L1BCE + JMP showALL + +L1B9C LDA #$09 + STA L1500+1 ; more difficult + LDA #$0B + JMP loadSPRFOE + +L1BA6 LDA #$13 + JSR loadIMAGE + LDA #$1F + JMP loadSPRFOE + +L1BB0 LDA #$1B + JMP loadSPRFOE + +L1BB5 LDA #$05 + JSR loadIMAGE + LDA #$0B + JMP loadSPRFOE + +L1BBF LDA #$17 + JMP loadSPRFOE + +L1BC4 LDA #$21 + JMP loadSPRFOE + +L1BC9 LDA #$19 + JMP loadSPRFOE + +L1BCE LDA #$0D + JMP loadSPRFOE + +*---------- Load foe sprite data + +loadSPRFOE LDX #$00 + LDY #$80 + JSR L0366 + JMP L180D + +*---------- Load new background image + +loadIMAGE STA TXTPAGE2 + LDX #$00 + LDY #$20 + JSR L0366 + JSR blitHGR + jmp showALL + +*---------- Copy HGR1 onto HGR2 + +blitHGR CLC +L1C81 LDX #$00 +L1C83 LDA $2000,X +L1C86 STA $4000,X + INX + BNE L1C83 + INC L1C83+2 + INC L1C86+2 + LDA L1C83+2 + CMP #$40 + BNE L1C81 + LDA #$20 + STA L1C83+2 + LDA #$40 + STA L1C86+2 + LDA #$00 + STA L1C83+1 + STA L1C86+1 + RTS + +*---------- Clear last line of text + +L1CAC LDX #$27 + LDA #$A0 +L1CB0 STA $07D0,X + DEX + BPL L1CB0 + RTS + +*---------- Init game + +L1CB7 LDA #$00 ; Max score is 3 + STA theSCORE + STA theSCORE+1 + LDA #$03 + STA theLIVES + JSR showALL ; show it + JSR blitHGR ; copy HGR + LDA #$05 + STA L1500+1 ; difficulty + RTS + +*---------- Table to sprite index + +L1D00 DB $41 + DB $2B + DB $9A + DB $A1 + DB $43 + DB $37 + DB $F7 + DB $86 + DB $3A + DB $5E + DB $C8 + DB $A5 + DB $8E + DB $A2 + DB $C1 + DB $1C + DB $B9 + DB $14 + DB $33 + DB $BF + DB $A9 + DB $75 + DB $13 + DB $72 + DB $42 + DB $1D + DB $C7 + DB $CF + DB $C4 + DB $3D + DB $95 + DB $27 + DB $80 + DB $84 + DB $F2 + DB $CE + DB $99 + DB $A6 + DB $FB + DB $7C + DB $2A + DB $CA + DB $AF + DB $16 + DB $FA + DB $AD + DB $40 + DB $4E + DB $35 + DB $68 + DB $E2 + DB $46 + DB $AC + DB $07 + DB $23 + DB $02 + DB $6E + DB $B6 + DB $F3 + DB $85 + DB $63 + DB $0A + DB $52 + DB $D0 + DB $9D + DB $74 + DB $C2 + DB $DA + DB $2D + DB $71 + DB $0B + DB $88 + DB $D9 + DB $9C + DB $8C + DB $20 + DB $67 + DB $83 + DB $79 + DB $2C + DB $5B + DB $B3 + DB $4C + DB $62 + DB $DD + DB $F4 + DB $6D + DB $87 + DB $59 + DB $C5 + DB $F1 + DB $F5 + DB $81 + DB $7F + DB $3B + DB $C9 + DB $66 + DB $BC + DB $12 + DB $57 + DB $10 + DB $53 + DB $E8 + DB $09 + DB $AA + DB $21 + DB $49 + DB $C0 + DB $8B + DB $2E + DB $9E + DB $6B + DB $45 + DB $A3 + DB $82 + DB $00 + DB $6F + DB $C6 + DB $6A + DB $AB + DB $03 + DB $15 + DB $58 + DB $06 + DB $08 + DB $E4 + DB $DC + DB $78 + DB $ED + DB $D5 + DB $FE + DB $9F + DB $A7 + DB $0E + DB $FC + DB $BD + DB $FF + DB $0C + DB $B0 + DB $B7 + DB $4D + DB $D6 + DB $0D + DB $D8 + DB $B2 + DB $32 + DB $EF + DB $DE + DB $5F + DB $F8 + DB $69 + DB $7D + DB $7B + DB $BA + DB $B4 + DB $6C + DB $48 + DB $92 + DB $EC + DB $E9 + DB $BE + DB $28 + DB $E7 + DB $FD + DB $17 + DB $7A + DB $11 + DB $8A + DB $56 + DB $22 + DB $04 + DB $C3 + DB $8D + DB $34 + DB $F6 + DB $2F + DB $01 + DB $26 + DB $29 + DB $24 + DB $7E + DB $30 + DB $5A + DB $76 + DB $EB + DB $E1 + DB $60 + DB $61 + DB $96 + DB $3F + DB $4B + DB $77 + DB $B1 + DB $F9 + DB $D4 + DB $E6 + DB $D1 + DB $90 + DB $3C + DB $94 + DB $97 + DB $E3 + DB $93 + DB $50 + DB $05 + DB $5C + DB $89 + DB $EE + DB $DF + DB $51 + DB $73 + DB $D3 + DB $36 + DB $1F + DB $D2 + DB $39 + DB $F0 + DB $E0 + DB $B8 + DB $25 + DB $BB + DB $8F + DB $B5 + DB $DB + DB $0F + DB $38 + DB $D7 + DB $3E + DB $4A + DB $64 + DB $CB + DB $91 + DB $A8 + DB $55 + DB $54 + DB $CC + DB $A4 + DB $65 + DB $1E + DB $4F + DB $1A + DB $5D + DB $47 + DB $A0 + DB $1B + DB $9B + DB $98 + DB $CD + DB $31 + DB $E5 + DB $70 + DB $18 + DB $AE + DB $EA + DB $44 + DB $00 + +*---------- + +L1E00 DB $11 + DB $12 + DB $13 + DB $14 + DB $15 + DB $11 + DB $12 + DB $11 + DB $18 + DB $19 + DB $1A + DB $1B + DB $18 + DB $1A + DB $19 + DB $1B + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1D + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1D + DB $1F + DB $B5 + DB $00 + DB $85 + DB $00 + DB $B5 + DB $01 + DB $85 + DB $01 + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $95 + DB $00 + DB $A5 + DB $01 + DB $95 + DB $01 + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $81 + DB $00 + DB $A0 + DB $00 + DB $84 + +L1E40 DB $07 ; 00-2F + DB $0F + DB $17 + DB $1F + DB $27 + DB $2F + DB $07 + DB $1F + +L1E48 DB $37 ; 37-5F + DB $3F + DB $47 + DB $4F + DB $57 + DB $5F + DB $37 + DB $3F + +*--- + +L1E80 DB $D3 ; The table + DB $D2 ; ends at $1E80+$5F + DB $D1 ; ...$1EDF + DB $D1 + DB $D2 + DB $D1 + DB $D1 + DB $D1 + DB $93 + DB $94 + DB $93 + DB $92 + DB $91 + DB $91 + DB $91 + DB $91 + DB $11 + DB $D1 + DB $D1 + DB $D1 + DB $92 + DB $94 + DB $93 + DB $91 + DB $11 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $12 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D1 + DB $D1 + DB $92 + DB $91 + DB $91 + DB $D1 + DB $D2 + DB $D1 + DB $19 + DB $18 + DB $DA + DB $19 + DB $18 + DB $DA + DB $19 + DB $DB + DB $98 + DB $18 + DB $19 + DB $9A + DB $DB + DB $DB + DB $DB + DB $DB + DB $DA + DB $18 + DB $DA + DB $19 + DB $18 + DB $18 + DB $DB + DB $DB + DB $18 + DB $D8 + DB $1A + DB $19 + DB $D8 + DB $DB + DB $19 + DB $DB + DB $DB + DB $DB + DB $DB + DB $DB + DB $DB + DB $D8 + DB $1A + DB $19 + DB $9B + DB $1C + DB $9B + DB $19 + DB $1A + DB $18 + DB $99 + DB $18 + DB $01 + DB $F5 + DB $01 + DB $99 + DB $01 + DB $00 + DB $98 + DB $69 + DB $00 + DB $85 + DB $1D + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $75 + DB $00 + DB $85 + DB $00 + DB $A5 + DB $01 + DB $75 + DB $01 + DB $A0 + DB $00 + DB $99 + DB $01 + DB $00 + DB $98 + DB $69 + DB $7F + +*---------- The font + +theFONT DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $08 + DB $00 + DB $14 + DB $14 + DB $14 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $28 + DB $94 + DB $7E + DB $14 + DB $BF + DB $8A + DB $0A + DB $00 + DB $08 + DB $3C + DB $0A + DB $1C + DB $28 + DB $1E + DB $08 + DB $00 + DB $06 + DB $26 + DB $10 + DB $08 + DB $04 + DB $32 + DB $30 + DB $00 + DB $04 + DB $0A + DB $0A + DB $04 + DB $2A + DB $12 + DB $2C + DB $00 + DB $08 + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $04 + DB $02 + DB $02 + DB $02 + DB $04 + DB $08 + DB $00 + DB $08 + DB $10 + DB $20 + DB $20 + DB $20 + DB $10 + DB $08 + DB $00 + DB $08 + DB $2A + DB $1C + DB $08 + DB $1C + DB $2A + DB $08 + DB $00 + DB $00 + DB $08 + DB $08 + DB $3E + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $88 + DB $84 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $20 + DB $10 + DB $08 + DB $04 + DB $02 + DB $00 + DB $00 + DB $8C + DB $92 + DB $22 + DB $22 + DB $22 + DB $92 + DB $8C + DB $00 + DB $08 + DB $0C + DB $08 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $1C + DB $22 + DB $20 + DB $10 + DB $84 + DB $82 + DB $3E + DB $00 + DB $3E + DB $90 + DB $10 + DB $18 + DB $20 + DB $22 + DB $1C + DB $00 + DB $10 + DB $18 + DB $14 + DB $12 + DB $3E + DB $10 + DB $10 + DB $00 + DB $3E + DB $02 + DB $1E + DB $20 + DB $20 + DB $22 + DB $1C + DB $00 + DB $18 + DB $04 + DB $82 + DB $1E + DB $22 + DB $22 + DB $1C + DB $00 + DB $3E + DB $90 + DB $10 + DB $88 + DB $08 + DB $84 + DB $04 + DB $00 + DB $1C + DB $22 + DB $22 + DB $1C + DB $22 + DB $22 + DB $1C + DB $00 + DB $1C + DB $22 + DB $22 + DB $3C + DB $90 + DB $10 + DB $0C + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $8C + DB $88 + DB $84 + DB $10 + DB $08 + DB $04 + DB $02 + DB $04 + DB $08 + DB $10 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $04 + DB $08 + DB $10 + DB $20 + DB $10 + DB $08 + DB $04 + DB $00 + DB $1C + DB $22 + DB $90 + DB $88 + DB $08 + DB $00 + DB $08 + DB $00 + +*---------------------------- + + put SB.0300 + put SB.4000 + +*---------- End of code diff --git a/swashbuckler/SB.4000.S b/swashbuckler/SB.4000.S new file mode 100644 index 0000000..e948eb8 --- /dev/null +++ b/swashbuckler/SB.4000.S @@ -0,0 +1,92 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is the $4000..$40FF area +* It handles the high score and +* stores it onto disk at T3/SC +* + + mx %11 + lst off + +*---------------------------- + +L4000 LDA TXTPAGE1 + LDA TXTSET + JSR HOME + JSR CROUT + JSR CROUT + LDA #L40D8 + JSR $DB3A ; PRINT STRING + JSR L4035 + JSR L4055 ; new high? + LDA #L40E8 + JSR $DB3A ; PRINT STRING + + LDA L40D0 ; put high score + STA theSCORE + LDA L40D0+1 + STA theSCORE+1 + JSR L4035 + JMP L4090 + +L4035 LDA theSCORE ; PRINT VALUE + STA $9F + LDA theSCORE+1 + STA $9E + LDA #$90 + STA $9D + LDA #$00 + STA $A0 + STA $A1 + STA $A2 + JSR $ED2E ; PRINTFAC + JSR CROUT + jmp CROUT + +*---------- New high score? + +L4055 LDA L40D0+1 ; NEW HIGH SCORE? + CMP theSCORE+1 + BCC L4068 + BNE L4067 + LDA L40D0 + CMP theSCORE + BCC L4068 +L4067 RTS + +*--- Yes! + +L4068 LDA theSCORE+1 ; YES + STA L40D0+1 ; SAVE SCORE + LDA theSCORE + STA L40D0 + LDA #$03 ; T3 + STA L031D + LDA #$0C ; SC + STA L031E + LDA #L4000 + STA L0328+1 + LDA #$02 ; write + JSR L033F ; call RWTS + JMP L4067 ; return + +L4090 BIT KBD + BPL L4090 + LDA #$00 + STA KBDSTROBE + JMP L1B34 ; NEXT STAGE + +*---------- + +L40D0 HEX B100 ; HIGH SCORE +L40D8 ASC "YOUR SCORE = "00 +L40E8 ASC "HIGH SCORE TO DATE = "00 + +*---------- End of code diff --git a/swashbuckler/Swashbuckler Sprite 1.rtf b/swashbuckler/Swashbuckler Sprite 1.rtf new file mode 100644 index 0000000..498343b --- /dev/null +++ b/swashbuckler/Swashbuckler Sprite 1.rtf @@ -0,0 +1,64 @@ +{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf600 +{\fonttbl\f0\fmodern\fcharset0 CourierNewPSMT;} +{\colortbl;\red255\green255\blue255;} +{\*\expandedcolortbl;;} +\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh13400\viewkind0 +\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0 + +\f0\fs18 \cf0 The Flaming Bird Disassembler Written by Ferox - (c) 1994 Phoenix corporation\ +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS\ +00/6000: ORG $006000 \ +00/6000: 00 DB $00 \ +00/6001: 08 DB $08 \ +00/6002: 50 DB $50 \ +00/6003: 80 DB $80 \ +00/6004: 0000000000 HEX 0000000000000000 \ +00/600C: 0000000000 HEX 0000000000000000 \ +00/6014: 0000000000 HEX 0000000000000000 \ +00/601C: 0000000000 HEX 0000000000700000 \ +00/6024: 010000800F HEX 010000800F780000 \ +00/602C: 020000C01F HEX 020000C01F780000 \ +00/6034: 040000C03F HEX 040000C03F600000 \ +00/603C: 080000803D HEX 080000803D400000 \ +00/6044: 100000E03F HEX 100000E03F600100 \ +00/604C: 200000C03F HEX 200000C03F600100 \ +00/6054: 400000C00F HEX 400000C00FC00100 \ +00/605C: 000100000E HEX 000100000E600100 \ +00/6064: 000200602F HEX 000200602F100100 \ +00/606C: 0004007E7E HEX 0004007E7E750100 \ +00/6074: 0008807F2F HEX 0008807F2F770100 \ +00/607C: 0070807F6E HEX 0070807F6E7F0000 \ +00/6084: 007881795A HEX 007881795A6F0000 \ +00/608C: 0038417B7D HEX 0038417B7D000000 \ +00/6094: 00E8CB7D7D HEX 00E8CB7D7D000000 \ +00/609C: 00006F7F3E HEX 00006F7F3E000000 \ +00/60A4: 00007E793E HEX 00007E793E000000 \ +00/60AC: 000078783E HEX 000078783E000000 \ +00/60B4: 0000006013 HEX 0000006013000000 \ +00/60BC: 000000183B HEX 000000183B000000 \ +00/60C4: 000000787F HEX 000000787F000000 \ +00/60CC: 0000007E7F HEX 0000007E7F010000 \ +00/60D4: 0000007F7F HEX 0000007F7F030000 \ +00/60DC: 0000601F77 HEX 0000601F77030000 \ +00/60E4: 0000703F70 HEX 0000703F70070000 \ +00/60EC: 0000780FC0 HEX 0000780FC00F0000 \ +00/60F4: 0000780380 HEX 00007803800F0000 \ +00/60FC: 00007C0000 HEX 00007C00000F0000 \ +00/6104: 00002E0040 HEX 00002E00400E0000 \ +00/610C: 00000F0020 HEX 00000F0020140000 \ +00/6114: 00001E0040 HEX 00001E0040110000 \ +00/611C: 0000730040 HEX 00007300401F0000 \ +00/6124: 00403F0000 HEX 00403F00000F0000 \ +00/612C: 00003C0000 HEX 00003C0000070000 \ +00/6134: 0000380000 HEX 0000380000060000 \ +00/613C: 0000380000 HEX 0000380000060000 \ +00/6144: 0000300000 HEX 00003000000E0000 \ +00/614C: 0000780000 HEX 00007800003E0000 \ +00/6154: 00007F0000 HEX 00007F00003E0000 \ +00/615C: 00406F0000 HEX 00406F0000180000 \ +00/6164: 0000000000 HEX 0000000000000000 \ +00/616C: 0000000000 HEX 0000000000000000 \ +00/6174: 0000000000 HEX 0000000000000000 \ +00/617C: 0000000000 HEX 0000000000000000 \ +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS\ +} \ No newline at end of file diff --git a/swashbuckler/Swashbuckler information.txt b/swashbuckler/Swashbuckler information.txt new file mode 100755 index 0000000..bcc965f --- /dev/null +++ b/swashbuckler/Swashbuckler information.txt @@ -0,0 +1,104 @@ +Swashbuckler memory map +v2 +20180924 + +Memory map + + S 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F +T +00 ; 0- DOS 3.3 +01 ; ... +02 ; ... +03 08 09 0A 0B 0C 0D 0E 0F 04 05 06 07 40 ; 2- CODE, TEXT, LOADER* +04 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ; 1- CODE* +05 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F ; 3- BACKGROUND PICTURE* +06 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ; ... +07 40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F ; 1- TITLE PICTURE* +08 50 51 52 53 54 55 56 57 58 59 5A 5B 5C 5D 5E 5F ; ... +09 60 61 62 63 64 65 66 67 68 69 6A 6B 6C 6D 6E 6F ; 2- DATA (SPRITES PLAYER)* +0A 70 71 72 73 74 75 76 77 78 79 7A 7B 7C 7D 7E 7F ; ... +0B 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +0C 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +0D 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +0E 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +0F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 2- DATA (SPRITES ENNEMIES)* +10 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +11 ; 0- VTOC +12 ; 0- DOS FILES (HELLO, FIRSTFILE, WANG) +13 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F ; 3- BACKGROUND PICTURE* +14 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ; ... +15 20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F ; 2- BACKGROUND PICTURE* +16 30 31 32 33 34 35 36 37 38 39 3A 3B 3C 3D 3E 3F ; ... +17 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +18 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +19 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +1A 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +1B 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +1C 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +1D 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES - UNUSED)* +1E 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +1F 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +20 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... +21 80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F ; 3- DATA (SPRITES ENNEMIES)* +22 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E 9F ; ... + +Keys +A- go left +S- turn around +D- go right + +I- en haut +J- au milieu +K- en garde +L- attaque +M- en bas + +Sprites +00- player is dead +01- player looks left +02- épée en l'air (I) +03- attaque courte (K) +04- attaque longue (L) +05- attaque en bas (M) +06- pied en avant +07- pied en arrière +08- player looks right +09- pied en avant +0A- attaque longue +0B- attaque en bas +0C- attaque courte +0D- en garde +0E- épée en l'air +0F- joueur touché +10- empty +11- gros méchant avec pieu de droite +12- " +13- " +14- " +15- " +16- " +17- " - au sol +18- gros méchant de gauche +19- " +1A- " +1B- " +1C- " +1D- " +1E- " - au sol +1F- snake de droite +20- " +21- animal à quatre pattes de gauche +22- " + +Scores (in hex) +15- game becomes harder, new foes (T0B) +21- new image (T13), new foes (T1F) +2B- new foes (T1B) +36- new image (T05), new foes (T0B) +3E- new foes (T17) +4A- new foes (T21) +53- new foes (T19) +62- new foes (T0D) +A new live when score = $17 + +From 6656 bytes to 5484 bytes = 1172 bytes saved \ No newline at end of file diff --git a/swashbuckler/Swashbuckler loader.txt b/swashbuckler/Swashbuckler loader.txt new file mode 100755 index 0000000..ab569a0 --- /dev/null +++ b/swashbuckler/Swashbuckler loader.txt @@ -0,0 +1,175 @@ +The Flaming Bird Disassembler Written by Ferox - (c) 1994 Phoenix corporation +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +00/0335: A903 LDA #$03 +00/0337: A020 LDY #$20 +00/0339: 20D903 JSR $03D9 +00/033C: 60 RTS +00/033D: A901 LDA #$01 ; READ +00/033F: 8D2C03 STA $032C +00/0342: AD1E03 LDA $031E ; S +00/0345: 8D2503 STA $0325 +00/0348: AD1D03 LDA $031D ; T +00/034B: 8D2403 STA $0324 +00/034E: 203503 JSR $0335 +00/0351: 60 RTS +00/0352: A910 LDA #$10 ; NB SEC +00/0354: 8D1C03 STA $031C +00/0357: 203D03 JSR $033D ; READ TS +00/035A: EE1E03 INC $031E ; S++ +00/035D: EE2903 INC $0329 ; PTR HIGH++ +00/0360: CE1C03 DEC $031C ; NB SEC-- +00/0363: D0F2 BNE $0357 +00/0365: 60 RTS +00/0366: 8D1D03 STA $031D ; TRACK +00/0369: 8E2803 STX $0328 ; PTR LOW +00/036C: 8C2903 STY $0329 ; PTR HIGH +00/036F: A900 LDA #$00 +00/0371: 8D1E03 STA $031E ; S=0 +00/0374: 205203 JSR $0352 ; READ TRACK +00/0377: EE1D03 INC $031D ; T++ +00/037A: A900 LDA #$00 +00/037C: 8D1E03 STA $031E ; S=0 +00/037F: 205203 JSR $0352 ; READ TRACK +00/0382: 60 RTS + +; ENTRY POINT + +00/0383: A907 LDA #$07 ; ENTRY POINT +00/0385: A200 LDX #$00 +00/0387: A040 LDY #$40 +00/0389: 206603 JSR $0366 +00/038C: AD57C0 LDA HIRES +00/038F: AD55C0 LDA TXTPAGE2 +00/0392: AD50C0 LDA TXTCLR +00/0395: AD52C0 LDA MIXCLR +00/0398: A900 LDA #$00 ; $1000 +00/039A: 8D2803 STA $0328 +00/039D: 8D1E03 STA $031E +00/03A0: A904 LDA #$04 ; T=4 +00/03A2: 8D1D03 STA $031D +00/03A5: A910 LDA #$10 +00/03A7: 8D2903 STA $0329 +00/03AA: 205203 JSR $0352 ; READ TRACK +00/03AD: 4C001B JMP $1B00 ; NEXT STAGE +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS + + +The Flaming Bird Disassembler Written by Ferox - (c) 1994 Phoenix corporation +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +00/1B00: A900 LDA #$00 ; ENTRY POINT +00/1B02: 8D2803 STA $0328 ; PTR LOW +00/1B05: 8D1E03 STA $031E ; S0 +00/1B08: A903 LDA #$03 +00/1B0A: 8D1D03 STA $031D ; T3 +00/1B0D: A908 LDA #$08 +00/1B0F: 8D2903 STA $0329 ; PTR HIGH +00/1B12: A907 LDA #$07 +00/1B14: 8D1F03 STA $031F ; LAST SEC = 7 +00/1B17: 203D03 JSR $033D ; READ 1TS AT 0800 +00/1B1A: EE1E03 INC $031E ; S++ +00/1B1D: EE2903 INC $0329 ; PTR HIGH++ +00/1B20: AD1E03 LDA $031E ; S +00/1B23: CD1F03 CMP $031F ; = LAST SEC? +00/1B26: D0EF BNE $1B17 ; NOPE +00/1B28: 203D03 JSR $033D ; READ LAST +00/1B2B: A909 LDA #$09 ; T9-A +00/1B2D: A200 LDX #$00 ; 6000..7FFF +00/1B2F: A060 LDY #$60 +00/1B31: 206603 JSR $0366 + +00/1B34: A90F LDA #$0F ; TF-10 +00/1B36: A200 LDX #$00 ; 8000..9FFF +00/1B38: A080 LDY #$80 +00/1B3A: 206603 JSR $0366 +00/1B3D: A915 LDA #$15 ; T15-16 +00/1B3F: A200 LDX #$00 ; 2000..3FFF +00/1B41: A020 LDY #$20 +00/1B43: 206603 JSR $0366 +00/1B46: 20AC1C JSR $1CAC ; DO SOMETHING +00/1B49: 2C00C0 BIT KBD +00/1B4C: 10FB BPL $1B49 +00/1B4E: A900 LDA #$00 +00/1B50: 8D10C0 STA KBDSTROBE +00/1B53: 20B71C JSR $1CB7 ; DO SOMETHING +00/1B56: 200018 JSR $1800 ; DO SOMETHING +00/1B59: 2058FC JSR HOME +00/1B5C: A903 LDA #$03 +00/1B5E: 8D1D03 STA $031D ; T3 +00/1B61: A90C LDA #$0C +00/1B63: 8D1E03 STA $031E ; SC +00/1B66: A900 LDA #$00 +00/1B68: 8D2803 STA $0328 +00/1B6B: A940 LDA #$40 +00/1B6D: 8D2903 STA $0329 ; PTR HIGH +00/1B70: 203D03 JSR $033D ; READ 1TS AT $4000 +00/1B73: 4C0040 JMP $4000 ; NEXT STAGE +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS + +LOAD GAME DATA + +The Flaming Bird Disassembler Written by Ferox - (c) 1994 Phoenix corporation +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +00/1B76: ADC009 LDA $09C0 +00/1B79: C915 CMP #$15 +00/1B7B: F01F BEQ $1B9C +00/1B7D: C921 CMP #$21 +00/1B7F: F025 BEQ $1BA6 +00/1B81: C92B CMP #$2B +00/1B83: F02B BEQ $1BB0 +00/1B85: C936 CMP #$36 +00/1B87: F02C BEQ $1BB5 +00/1B89: C93E CMP #$3E +00/1B8B: F032 BEQ $1BBF +00/1B8D: C94A CMP #$4A +00/1B8F: F033 BEQ $1BC4 +00/1B91: C953 CMP #$53 +00/1B93: F034 BEQ $1BC9 +00/1B95: C962 CMP #$62 +00/1B97: F035 BEQ $1BCE +00/1B99: 4C8919 JMP $1989 + +00/1B9C: A909 LDA #$09 +00/1B9E: 8D0115 STA $1501 +00/1BA1: A90B LDA #$0B +00/1BA3: 4CD41B JMP $1BD4 +00/1BA6: A913 LDA #$13 +00/1BA8: 20DE1B JSR $1BDE +00/1BAB: A91F LDA #$1F +00/1BAD: 4CD41B JMP $1BD4 +00/1BB0: A91B LDA #$1B +00/1BB2: 4CD41B JMP $1BD4 +00/1BB5: A905 LDA #$05 +00/1BB7: 20DE1B JSR $1BDE +00/1BBA: A90B LDA #$0B +00/1BBC: 4CD41B JMP $1BD4 +00/1BBF: A917 LDA #$17 +00/1BC1: 4CD41B JMP $1BD4 +00/1BC4: A921 LDA #$21 +00/1BC6: 4CD41B JMP $1BD4 +00/1BC9: A919 LDA #$19 +00/1BCB: 4CD41B JMP $1BD4 +00/1BCE: A90D LDA #$0D +00/1BD0: 4CD41B JMP $1BD4 +00/1BD3: 60 RTS +00/1BD4: A200 LDX #$00 +00/1BD6: A080 LDY #$80 +00/1BD8: 206603 JSR $0366 +00/1BDB: 4C0D18 JMP $180D +00/1BDE: 8D55C0 STA TXTPAGE2 +00/1BE1: A200 LDX #$00 +00/1BE3: A020 LDY #$20 +00/1BE5: 206603 JSR $0366 +00/1BE8: 20801C JSR $1C80 +00/1BEB: 208919 JSR $1989 +00/1BEE: 60 RTS +00/1BEF: 4149 EOR ($49,X) +00/1BF1: 4E203F LSR $3F20 +00/1BF4: 202859 JSR $5928 +00/1BF7: 2F4E2920 ANDL $20294E +00/1BFB: 223B3ABE JSL $BE3A3B +00/1BFF: 4124 EOR ($24,X) +00/1C01: 3A DEC +00/1C02: AD4124 LDA $2441 +SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS +:_ + diff --git a/swashbuckler/Swashbuckler.dsk b/swashbuckler/Swashbuckler.dsk new file mode 100755 index 0000000..06dea2d Binary files /dev/null and b/swashbuckler/Swashbuckler.dsk differ diff --git a/swashbuckler/sprites unusued/a11.png b/swashbuckler/sprites unusued/a11.png new file mode 100644 index 0000000..29acb78 Binary files /dev/null and b/swashbuckler/sprites unusued/a11.png differ diff --git a/swashbuckler/sprites unusued/a12.png b/swashbuckler/sprites unusued/a12.png new file mode 100644 index 0000000..7607b29 Binary files /dev/null and b/swashbuckler/sprites unusued/a12.png differ diff --git a/swashbuckler/sprites unusued/a13.png b/swashbuckler/sprites unusued/a13.png new file mode 100644 index 0000000..ae132b0 Binary files /dev/null and b/swashbuckler/sprites unusued/a13.png differ diff --git a/swashbuckler/sprites unusued/a14.png b/swashbuckler/sprites unusued/a14.png new file mode 100644 index 0000000..8f90d35 Binary files /dev/null and b/swashbuckler/sprites unusued/a14.png differ diff --git a/swashbuckler/sprites unusued/a15.png b/swashbuckler/sprites unusued/a15.png new file mode 100644 index 0000000..80c80f1 Binary files /dev/null and b/swashbuckler/sprites unusued/a15.png differ diff --git a/swashbuckler/sprites unusued/a16.png b/swashbuckler/sprites unusued/a16.png new file mode 100644 index 0000000..5761a67 Binary files /dev/null and b/swashbuckler/sprites unusued/a16.png differ diff --git a/swashbuckler/sprites unusued/a17.png b/swashbuckler/sprites unusued/a17.png new file mode 100644 index 0000000..3a4ab13 Binary files /dev/null and b/swashbuckler/sprites unusued/a17.png differ diff --git a/swashbuckler/sprites unusued/a18.png b/swashbuckler/sprites unusued/a18.png new file mode 100644 index 0000000..1ced681 Binary files /dev/null and b/swashbuckler/sprites unusued/a18.png differ diff --git a/swashbuckler/sprites unusued/a19.png b/swashbuckler/sprites unusued/a19.png new file mode 100644 index 0000000..3051780 Binary files /dev/null and b/swashbuckler/sprites unusued/a19.png differ diff --git a/swashbuckler/sprites unusued/a1a.png b/swashbuckler/sprites unusued/a1a.png new file mode 100644 index 0000000..51500b2 Binary files /dev/null and b/swashbuckler/sprites unusued/a1a.png differ diff --git a/swashbuckler/sprites unusued/a1b.png b/swashbuckler/sprites unusued/a1b.png new file mode 100644 index 0000000..9b18a3c Binary files /dev/null and b/swashbuckler/sprites unusued/a1b.png differ diff --git a/swashbuckler/sprites unusued/a1c.png b/swashbuckler/sprites unusued/a1c.png new file mode 100644 index 0000000..9b18a3c Binary files /dev/null and b/swashbuckler/sprites unusued/a1c.png differ diff --git a/swashbuckler/sprites unusued/a1d.png b/swashbuckler/sprites unusued/a1d.png new file mode 100644 index 0000000..0a417f0 Binary files /dev/null and b/swashbuckler/sprites unusued/a1d.png differ diff --git a/swashbuckler/sprites unusued/a1e.png b/swashbuckler/sprites unusued/a1e.png new file mode 100644 index 0000000..8c59cbc Binary files /dev/null and b/swashbuckler/sprites unusued/a1e.png differ diff --git a/swashbuckler/sprites unusued/a1f.png b/swashbuckler/sprites unusued/a1f.png new file mode 100644 index 0000000..6e244c3 Binary files /dev/null and b/swashbuckler/sprites unusued/a1f.png differ diff --git a/swashbuckler/sprites unusued/a20.png b/swashbuckler/sprites unusued/a20.png new file mode 100644 index 0000000..1805fb9 Binary files /dev/null and b/swashbuckler/sprites unusued/a20.png differ diff --git a/swashbuckler/sprites unusued/a21.png b/swashbuckler/sprites unusued/a21.png new file mode 100644 index 0000000..08204e5 Binary files /dev/null and b/swashbuckler/sprites unusued/a21.png differ diff --git a/swashbuckler/sprites unusued/a22.png b/swashbuckler/sprites unusued/a22.png new file mode 100644 index 0000000..c131fbe Binary files /dev/null and b/swashbuckler/sprites unusued/a22.png differ diff --git a/swashbuckler/sprites/sprite 00.png b/swashbuckler/sprites/sprite 00.png new file mode 100755 index 0000000..30c231a Binary files /dev/null and b/swashbuckler/sprites/sprite 00.png differ diff --git a/swashbuckler/sprites/sprite 01.png b/swashbuckler/sprites/sprite 01.png new file mode 100755 index 0000000..93d3b51 Binary files /dev/null and b/swashbuckler/sprites/sprite 01.png differ diff --git a/swashbuckler/sprites/sprite 02.png b/swashbuckler/sprites/sprite 02.png new file mode 100755 index 0000000..2b14388 Binary files /dev/null and b/swashbuckler/sprites/sprite 02.png differ diff --git a/swashbuckler/sprites/sprite 03.png b/swashbuckler/sprites/sprite 03.png new file mode 100755 index 0000000..91cf9ff Binary files /dev/null and b/swashbuckler/sprites/sprite 03.png differ diff --git a/swashbuckler/sprites/sprite 04.png b/swashbuckler/sprites/sprite 04.png new file mode 100755 index 0000000..3c71987 Binary files /dev/null and b/swashbuckler/sprites/sprite 04.png differ diff --git a/swashbuckler/sprites/sprite 05.png b/swashbuckler/sprites/sprite 05.png new file mode 100755 index 0000000..fa488a8 Binary files /dev/null and b/swashbuckler/sprites/sprite 05.png differ diff --git a/swashbuckler/sprites/sprite 06.png b/swashbuckler/sprites/sprite 06.png new file mode 100755 index 0000000..641878d Binary files /dev/null and b/swashbuckler/sprites/sprite 06.png differ diff --git a/swashbuckler/sprites/sprite 07.png b/swashbuckler/sprites/sprite 07.png new file mode 100755 index 0000000..67141f9 Binary files /dev/null and b/swashbuckler/sprites/sprite 07.png differ diff --git a/swashbuckler/sprites/sprite 08.png b/swashbuckler/sprites/sprite 08.png new file mode 100755 index 0000000..f4d2c94 Binary files /dev/null and b/swashbuckler/sprites/sprite 08.png differ diff --git a/swashbuckler/sprites/sprite 09.png b/swashbuckler/sprites/sprite 09.png new file mode 100755 index 0000000..45b57c6 Binary files /dev/null and b/swashbuckler/sprites/sprite 09.png differ diff --git a/swashbuckler/sprites/sprite 0A.png b/swashbuckler/sprites/sprite 0A.png new file mode 100755 index 0000000..6f37f18 Binary files /dev/null and b/swashbuckler/sprites/sprite 0A.png differ diff --git a/swashbuckler/sprites/sprite 0B.png b/swashbuckler/sprites/sprite 0B.png new file mode 100755 index 0000000..3800021 Binary files /dev/null and b/swashbuckler/sprites/sprite 0B.png differ diff --git a/swashbuckler/sprites/sprite 0C.png b/swashbuckler/sprites/sprite 0C.png new file mode 100755 index 0000000..5b83e2b Binary files /dev/null and b/swashbuckler/sprites/sprite 0C.png differ diff --git a/swashbuckler/sprites/sprite 0D.png b/swashbuckler/sprites/sprite 0D.png new file mode 100755 index 0000000..baac905 Binary files /dev/null and b/swashbuckler/sprites/sprite 0D.png differ diff --git a/swashbuckler/sprites/sprite 0E.png b/swashbuckler/sprites/sprite 0E.png new file mode 100755 index 0000000..14e8bff Binary files /dev/null and b/swashbuckler/sprites/sprite 0E.png differ diff --git a/swashbuckler/sprites/sprite 0F.png b/swashbuckler/sprites/sprite 0F.png new file mode 100755 index 0000000..1e88102 Binary files /dev/null and b/swashbuckler/sprites/sprite 0F.png differ diff --git a/swashbuckler/sprites/sprite 10.png b/swashbuckler/sprites/sprite 10.png new file mode 100755 index 0000000..aa7c029 Binary files /dev/null and b/swashbuckler/sprites/sprite 10.png differ diff --git a/swashbuckler/sprites/sprite 11.png b/swashbuckler/sprites/sprite 11.png new file mode 100755 index 0000000..de7d678 Binary files /dev/null and b/swashbuckler/sprites/sprite 11.png differ diff --git a/swashbuckler/sprites/sprite 12.png b/swashbuckler/sprites/sprite 12.png new file mode 100755 index 0000000..2eef204 Binary files /dev/null and b/swashbuckler/sprites/sprite 12.png differ diff --git a/swashbuckler/sprites/sprite 13.png b/swashbuckler/sprites/sprite 13.png new file mode 100755 index 0000000..f4a2983 Binary files /dev/null and b/swashbuckler/sprites/sprite 13.png differ diff --git a/swashbuckler/sprites/sprite 14.png b/swashbuckler/sprites/sprite 14.png new file mode 100755 index 0000000..5be582f Binary files /dev/null and b/swashbuckler/sprites/sprite 14.png differ diff --git a/swashbuckler/sprites/sprite 15.png b/swashbuckler/sprites/sprite 15.png new file mode 100755 index 0000000..60aa866 Binary files /dev/null and b/swashbuckler/sprites/sprite 15.png differ diff --git a/swashbuckler/sprites/sprite 16.png b/swashbuckler/sprites/sprite 16.png new file mode 100755 index 0000000..e585509 Binary files /dev/null and b/swashbuckler/sprites/sprite 16.png differ diff --git a/swashbuckler/sprites/sprite 17.png b/swashbuckler/sprites/sprite 17.png new file mode 100755 index 0000000..0cbafc2 Binary files /dev/null and b/swashbuckler/sprites/sprite 17.png differ diff --git a/swashbuckler/sprites/sprite 18.png b/swashbuckler/sprites/sprite 18.png new file mode 100755 index 0000000..0217aa4 Binary files /dev/null and b/swashbuckler/sprites/sprite 18.png differ diff --git a/swashbuckler/sprites/sprite 19.png b/swashbuckler/sprites/sprite 19.png new file mode 100755 index 0000000..d57698d Binary files /dev/null and b/swashbuckler/sprites/sprite 19.png differ diff --git a/swashbuckler/sprites/sprite 1A.png b/swashbuckler/sprites/sprite 1A.png new file mode 100755 index 0000000..a489b0f Binary files /dev/null and b/swashbuckler/sprites/sprite 1A.png differ diff --git a/swashbuckler/sprites/sprite 1B.png b/swashbuckler/sprites/sprite 1B.png new file mode 100755 index 0000000..56182ef Binary files /dev/null and b/swashbuckler/sprites/sprite 1B.png differ diff --git a/swashbuckler/sprites/sprite 1C.png b/swashbuckler/sprites/sprite 1C.png new file mode 100755 index 0000000..f5892c2 Binary files /dev/null and b/swashbuckler/sprites/sprite 1C.png differ diff --git a/swashbuckler/sprites/sprite 1D.png b/swashbuckler/sprites/sprite 1D.png new file mode 100755 index 0000000..9e3d6d6 Binary files /dev/null and b/swashbuckler/sprites/sprite 1D.png differ diff --git a/swashbuckler/sprites/sprite 1E.png b/swashbuckler/sprites/sprite 1E.png new file mode 100755 index 0000000..427c01c Binary files /dev/null and b/swashbuckler/sprites/sprite 1E.png differ diff --git a/swashbuckler/sprites/sprite 1F.png b/swashbuckler/sprites/sprite 1F.png new file mode 100755 index 0000000..fbd629d Binary files /dev/null and b/swashbuckler/sprites/sprite 1F.png differ diff --git a/swashbuckler/sprites/sprite 20.png b/swashbuckler/sprites/sprite 20.png new file mode 100755 index 0000000..bfce106 Binary files /dev/null and b/swashbuckler/sprites/sprite 20.png differ diff --git a/swashbuckler/sprites/sprite 21.png b/swashbuckler/sprites/sprite 21.png new file mode 100755 index 0000000..d76b4b1 Binary files /dev/null and b/swashbuckler/sprites/sprite 21.png differ diff --git a/swashbuckler/sprites/sprite 22.png b/swashbuckler/sprites/sprite 22.png new file mode 100755 index 0000000..a3101dd Binary files /dev/null and b/swashbuckler/sprites/sprite 22.png differ diff --git a/swashbuckler/swashbuckler b/swashbuckler/swashbuckler new file mode 100644 index 0000000..cb786d7 Binary files /dev/null and b/swashbuckler/swashbuckler differ diff --git a/swashbuckler/swashbuckler.po b/swashbuckler/swashbuckler.po new file mode 100755 index 0000000..f49a339 Binary files /dev/null and b/swashbuckler/swashbuckler.po differ diff --git a/swashbuckler/v0.1/SB.0300.S b/swashbuckler/v0.1/SB.0300.S new file mode 100644 index 0000000..4391bcf --- /dev/null +++ b/swashbuckler/v0.1/SB.0300.S @@ -0,0 +1,160 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is FIRSTFILE +* Launched by HELLO +* + + mx %11 + lst off + +*---------------------------- + +L03D9 = $03D9 ; call RWTS + +*---------------------------- + +L0300 JSR $E746 +L0303 STX $51 + LDY $50 +L0307 TYA + TAX +L0309 DEX + BNE L0309 + BIT SPKR + EOR $51 + TAX +L0312 DEX + BNE L0312 + BIT SPKR + DEY + BNE L0307 + RTS + +*---------- + +L031C DB $00 ; NB SEC +L031D DB $10 ; T +L031E DB $10 ; S +L031F DB $00 + +*---------- The IOB table + +L0320 DB $01 + DB $60 + DB $01 + DB $FE +L0324 DB $10 +L0325 DB $0F + DA L0331 +L0328 DA $1400 + DB $00 + DB $00 +L032C DB $01 ; command + DB $D6 + DB $FE + DB $60 + DB $01 +L0331 HEX 0001EFD8 + +*---------- + +L0335 LDA #>L0320 ; call RWTS + LDY #L1000 + STA L0328+1 + JSR L0352 ; READ TRACK + JMP L1B00 ; NEXT STAGE + +*---------- End of code + + DB $1E + DB $03 + DB $20 + DB $67 + DB $03 + DB $EE + DB $1D + DB $03 + DB $A9 + DB $00 + DB $8D + DB $1E + DB $03 + DB $20 + DB $67 + DB $03 + DB $60 + DB $A9 + DB $07 + DB $A2 + DB $00 + DB $A0 + DB $40 + DB $4C + DB $A4 + DB $03 + DB $35 + DB $36 + DB $37 + DB $38 + DB $FF + DB $39 + DS $30 diff --git a/swashbuckler/v0.1/SB.0800.S b/swashbuckler/v0.1/SB.0800.S new file mode 100644 index 0000000..50880f3 --- /dev/null +++ b/swashbuckler/v0.1/SB.0800.S @@ -0,0 +1,3695 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is the $0800..$1FFF area +* Called from T3 & T4 by previous stage +* A lot of unused areas here! +* + + mx %11 + org $0800 + lst off + dsk swashbuckler + +*---------------------------- + +* Zero page +* $4E: random value +* $E3: bit 7 - 0: HGR1, 1: HGR2 +* bit 6 - 0: left, 1: right (direction of player) +* $E9: +* $EB: sprite index +* $EC: which HGR page is active +* bit 7 - 0: HGR1, 1: HGR2 +* $ED: X-position (in bytes) of the player +* $F9: X start +* $FA: ?offset +* $FB: sprite width in bytes +* $FC: Y start +* $FD: Y end +* $FE: key pressed + +zpRANDOM = $4E +zpHPLAYER = $E3 +zpHGRACTIVE = $EC +zpXPLAYER = $ED +zpXSCREEN = $F9 +zpSPRWIDTH = $FB +zpYBEGIN = $FC +zpYEND = $FD +zpKEY = $FE + +*---------------------------- + +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +TXTPAGE1 EQU $C054 +TXTPAGE2 EQU $C055 +HIRES EQU $C057 +VTAB EQU $FC22 +HOME EQU $FC58 +WAIT EQU $FCA8 +CROUT EQU $FD8E +COUT EQU $FDED + +*---------------------------- + +ptrLINEH HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + HEX 0004080C1014181C0004080C1014181C + HEX 0105090D1115191D0105090D1115191D + HEX 02060A0E12161A1E02060A0E12161A1E + HEX 03070B0F13171B1F03070B0F13171B1F + +*---------- + +saveX DB $FF ; save X +saveY DB $FF ; save Y + DB $08 +sprWIDTH DB $00 ; width of a sprite in bytes +pageHGR DB $40 ; 20 or 40: HGR page + DB $0B + DB $8D +charFONT DB $33 ; this is the char index we have to print + DB $08 + DB $B9 + DB $00 + DB $08 + DB $8D + DB $E4 + DB $08 + DB $8D + +*--- X of sprites on screen + +L08D0 DB $1D ; player +L08D1 DB $02 ; foe 1 +L08D2 DB $1E ; foe 2 +L08D3 DB $00 ; foe 3 +L08D4 DB $09 ; foe 4 + DB $8D + DB $E3 +L08D7 DB $0B +L08D8 DB $10 +L08D9 DB $0C +L08DA DB $12 + DB $BD + DB $00 + DB $0A +L08DE DB $12 + DB $AD + DB $FF + DB $08 + DB $5D + DB $A8 + DB $23 + DB $9D + DB $A8 + DB $23 + DB $AE + DB $FE + DB $08 + DB $60 + DB $A2 + DB $00 + DB $BC + DB $00 + DB $40 + DB $20 + DB $C0 + DB $08 + DB $E8 + DB $F0 + DB $03 + DB $4C + DB $02 + DB $08 + DB $60 + DB $00 + DB $00 + DB $00 + DB $A0 + DB $40 + +*---------- + +ptrLINEL HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + +*---------- + +theSCORE HEX 1A00 ; score +theLIVES DB $03 ; lives + +L09C3 DB $80 +L09C4 DB $C0 +L09C5 DB $0C + DB $6D +L09C7 DB $00 +L09C8 DB $D2 +L09C9 DB $01 +L09CA DB $00 +L09CB DB $00 + DB $04 +L09CD DB $80 +L09CE DB $00 +L09CF DB $00 +L09D0 DB $00 +L09D1 DB $19 +L09D2 DB $1F +L09D3 DB $21 +L09D4 DB $FE ; index of sprite 5 +L09D5 DB $0E +L09D6 DB $C0 +L09D7 DB $35 +L09D8 DB $19 +L09D9 DB $06 +L09DA DB $00 +L09DB DB $84 +saveHPLAYER DB $C0 +L09DD DB $0C +fgPLAY DB $FF ; true: game on, false: game over +L09DF DB $00 + DB $AC + DB $EE + DB $09 + DB $20 + DB $C0 + DB $08 + DB $60 + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $EE + DB $FE + DB $09 + DB $4C + DB $DD + DB $09 + DB $BF + DB $F8 + +*---------- + +drawSPRITE1 LDA #$20 ; draw HGR1 + STA pageHGR + JMP L0A0D + +drawSPRITE2 LDA #$40 ; draw HGR2 + STA pageHGR + +L0A0D STX saveX + STY saveY + + LDY zpYBEGIN ; from line Y +L0A15 LDA ptrLINEH,Y + CLC + ADC pageHGR + STA L0A35+2 + STA L0A38+2 + LDA ptrLINEL,Y + STA L0A35+1 + STA L0A38+1 + LDA zpSPRWIDTH + STA sprWIDTH + LDX zpXSCREEN +L0A32 LDA $6CD7 +L0A35 ORA $5DA8,X +L0A38 STA $5DA8,X + INC L0A32+1 + BNE L0A43 + INC L0A32+2 +L0A43 INX + DEC sprWIDTH + BNE L0A32 + INY + CPY zpYEND ; to end line + BNE L0A15 + LDX saveX + LDY saveY + RTS + +*---------- Draw a sprite on screen + +drawSPRITE STA $EB ; sprite index + ASL + TAY + LDA tblSPRITES,Y + STA L0A71+1 ; get the pointer to its structure + CLC + ADC #$04 + STA L0A32+1 ; and to its data + INY + LDA tblSPRITES,Y + STA L0A71+2 + STA L0A32+2 + LDY #$03 ; copy its structure +L0A71 LDA $6C5B,Y + STA |$00FA,Y + DEY + BPL L0A71 + SEC + LDA zpXSCREEN ; offset on screen + SBC $FA ; width in bytes + STA zpXSCREEN ; save it + BIT zpHPLAYER ; which HGR page? + BPL L0A8B + JSR drawSPRITE2 + JMP L0A8E +L0A8B JSR drawSPRITE1 +L0A8E RTS + +*---------- + +L0A8F STA $EF ; save sprite + JSR L0B43 + + BIT zpHGRACTIVE ; which page is active? + BMI L0AB3 ; page 2, so draw on page 1 + + LDA #$80 ; we're on page 1 + ORA zpHGRACTIVE ; next is page 2 + STA zpHGRACTIVE + LDA TXTPAGE1 ; show HGR1 + LDA #$80 ; draw on HGR2 + ORA zpHPLAYER + STA zpHPLAYER + JSR clearHGR2 ; clear HGR2 + JSR L0ACC ; redraw sprites + LDA TXTPAGE2 ; and show the page + JMP L0ACB + +L0AB3 LDA zpHGRACTIVE ; we're on page 2 + AND #$7F ; next is page 1 + STA zpHGRACTIVE + LDA TXTPAGE2 ; show HGR2 + LDA zpHPLAYER ; draw on HGR1 + AND #$7F + STA zpHPLAYER + JSR clearHGR1 ; clear HGR1 + JSR L0ACC ; redraw sprites + LDA TXTPAGE1 ; and show the page +L0ACB RTS + +*---------- Draw all sprites? + +L0ACC JSR L0C0C + JSR L1000 ; draw sprite 1 + JSR L1013 ; draw sprite 2 + JSR L1026 ; draw sprite 3 + JSR L1039 ; draw sprite 4 + JSR L104C ; draw sprite 5 + RTS + +*---------- Init game + +initALL LDA #$03 + STA theLIVES + LDA #$00 + STA theSCORE + STA theSCORE+1 + STA L09CB + STA L09DF + STA L09C5 + STA L09D5 + STA L09C4 + STA L09D6 + STA L08D1 + STA L08D3 + STA |$00E9 + STA L09CD + STA L09CE + STA L09CF + STA L09D0 + LDA #$1F + STA L08D0 + STA L08D2 + LDA #$FF + STA L09C3 + LDA TXTCLR + LDA MIXCLR + LDA HIRES + LDA TXTPAGE1 + LDA #$40 ; player looks right + STA zpHPLAYER + LDA #$08 ; sprite for player + STA $E8 + LDA #$11 ; x-offset for player + STA zpXPLAYER + LDA #$1F + STA L09D2 + LDA #$21 + STA L09D3 + RTS + +*---------- Check x-position of player + +L0B43 LDA #$04 + CMP zpXPLAYER + BCC L0B4F + LDA #$05 + STA zpXPLAYER + BNE L0B59 +L0B4F LDA #$1C + CMP zpXPLAYER + BCS L0B59 + LDA #$1C + STA zpXPLAYER +L0B59 SEC + LDA L08D0 + SBC zpXPLAYER + STA L08D7 + SEC + LDA zpXPLAYER + SBC L08D1 + STA L08D8 + SEC + LDA L08D2 + SBC zpXPLAYER + STA L08D9 + SEC + LDA zpXPLAYER + SBC L08D3 + STA L08DA + LDA #$02 + CMP L08D7 + BCC L0B90 + INC L08D0 + LDA L08D0 + CMP #$1E + BCC L0B90 + DEC zpXPLAYER +L0B90 LDA L08D0 + CMP #$07 + BCS L0B9F + LDA #$07 + STA L08D0 + JMP L0BAB + +L0B9F LDA L08D0 + CMP #$1E + BCC L0BAB + LDA #$1E + STA L08D0 +L0BAB LDA #$02 + CMP L08D8 + BCC L0BB9 + DEC L08D1 + BNE L0BB9 + INC zpXPLAYER +L0BB9 LDA L08D1 + BMI L0BC2 + CMP #$01 + BCS L0BC5 +L0BC2 INC L08D1 +L0BC5 LDA L08D1 + BMI L0BC2 + JMP L0BD1 + + INC ; dead + STA L08D1 ; dead + +L0BD1 LDA #$02 + CMP L08D9 + BCC L0BE4 + INC L08D2 + LDA L08D2 + CMP #$1E + BCC L0BE4 + DEC zpXPLAYER +L0BE4 LDA L08D2 + CMP #$07 + BCS L0BF3 + LDA #$07 + STA L08D2 + JMP L0BFF + +L0BF3 LDA L08D2 + CMP #$1E + BCC L0BFF + LDA #$1E + STA L08D2 +L0BFF LDA L08D3 + CMP #$21 + BCC L0C0B + LDA #$21 + STA L08D3 +L0C0B RTS + +L0C0C LDA zpXPLAYER + STA zpXSCREEN + LDA $E8 + JSR drawSPRITE + RTS + +*---------- Handle keypress + +doKEYPRESS BIT KBD + BPL L0C69 +L0C1B LDA KBD + STA zpKEY + LDA #$00 + STA KBDSTROBE + STA L09CB + LDA zpKEY + CMP #"S" ; Switch direction + BNE L0C4A + BIT zpHPLAYER ; bit 6? + BVC L0C3D ; is left turned? + LDA zpHPLAYER ; no, turned right + AND #$BF ; %1011_1111 + STA zpHPLAYER ; now looks left + LDA #$01 ; sprite 1 + JMP L0C45 + +L0C3D LDA zpHPLAYER ; force bit 6 + ORA #$40 ; now looks right + STA zpHPLAYER + LDA #$08 ; sprite 8 +L0C45 STA $E8 + JSR L0A8F ; draw next frame + +* BUG: keyboard value is not restored + +L0C4A CMP #$C1 ; A + BEQ L0CAE + CMP #$C4 ; D + BEQ L0C7C + CMP #$C9 ; I + BEQ L0C72 + CMP #$CA ; J + BEQ L0C75 + CMP #$CB ; K + BEQ L0C78 + CMP #$CC ; L + BEQ L0C6C + CMP #$CD ; M + BEQ L0C6F +L0C66 JSR L0A8F +L0C69 INC zpRANDOM ; randomize + RTS + +L0C6C JMP L0D16 +L0C6F JMP L0D45 +L0C72 JMP L0CE0 +L0C75 JMP L0CF2 +L0C78 JMP L0D04 + RTS + +L0C7C BIT zpHPLAYER ; bit 6? + BVC L0C97 ; player looks left? + LDA #$09 ; right + STA $E8 + JSR L0A8F + INC zpXPLAYER + LDA #$0D + STA $E8 + JSR L0A8F + LDA #$08 + STA $E8 + JMP L0C66 + +L0C97 LDA #$07 ; left + STA $E8 + JSR L0A8F + INC zpXPLAYER + LDA #$06 + STA $E8 + JSR L0A8F + LDA #$01 + STA $E8 + JMP L0C66 + +*--- A - Move player to the left + +L0CAE BIT zpHPLAYER ; bit 6? + BVC L0CC9 ; not set + LDA #$0D + STA $E8 + JSR L0A8F ; au repos + DEC zpXPLAYER ; x-- + LDA #$09 + STA $E8 + JSR L0A8F ; + LDA #$08 + STA $E8 + JMP L0C66 + +L0CC9 LDA #$06 + STA $E8 + JSR L0A8F + DEC zpXPLAYER + LDA #$07 + STA $E8 + JSR L0A8F + LDA #$01 + STA $E8 + JMP L0C66 + +L0CE0 BIT zpHPLAYER ; bit 6? + BVC L0CEB ; not set + LDA #$0E + STA $E8 + JMP L0C66 + +L0CEB LDA #$02 + STA $E8 + JMP L0C66 + +L0CF2 BIT zpHPLAYER + BVC L0CFD + LDA #$0C + STA $E8 + JMP L0C66 + +L0CFD LDA #$03 + STA $E8 + JMP L0C66 + +L0D04 BIT zpHPLAYER + BVC L0D0F + LDA #$08 + STA $E8 + JMP L0C66 + +L0D0F LDA #$01 + STA $E8 + JMP L0C66 + +*---------- + +L0D16 LDA L09C3 + BNE L0D25 + LDY #$5A + STY $50 + JSR L0303 ; beep + JMP L0CF2 + +L0D25 BIT zpHPLAYER + BVC L0D37 + LDA #$09 + STA $E8 + JSR L0A8F + LDA #$0A + STA $E8 + JMP L0C66 + +L0D37 LDA #$07 + STA $E8 + JSR L0A8F + LDA #$04 + STA $E8 + JMP L0C66 + +L0D45 BIT zpHPLAYER + BVC L0D50 + LDA #$0B + STA $E8 + JMP L0C66 + +L0D50 LDA #$05 + STA $E8 + JMP L0C66 + + DB $0C + DB $50 + DB $07 + DB $A9 + DB $0B + DB $85 + DB $E8 + DB $4C + DB $77 + DB $0C + DB $A9 + DB $05 + DB $85 + DB $E8 + DB $4C + DB $77 + DB $0C + DB $9D + DB $28 + DB $3F + DB $9D + DB $A8 + DB $23 + DB $9D + DB $A8 + DB $27 + DB $9D + DB $A8 + DB $2B + DB $9D + DB $A8 + DB $2F + DB $9D + DB $A8 + DB $33 + DB $9D + DB $A8 + DB $37 + DB $9D + DB $A8 + DB $3B + DB $9D + DB $A8 + DB $3F + DB $9D + DB $50 + DB $20 + DB $9D + DB $50 + DB $24 + DB $9D + DB $50 + DB $28 + DB $9D + DB $50 + DB $2C + DB $9D + DB $50 + DB $30 + DB $9D + DB $50 + DB $34 + DB $9D + DB $50 + DB $38 + DB $9D + DB $50 + DB $3C + DB $9D + DB $D0 + DB $20 + DB $9D + DB $D0 + DB $24 + DB $9D + DB $D0 + DB $28 + DB $9D + DB $D0 + DB $2C + DB $9D + DB $D0 + DB $30 + DB $9D + DB $D0 + DB $34 + DB $9D + DB $D0 + DB $38 + DB $9D + DB $D0 + DB $3C + DB $9D + DB $50 + DB $21 + DB $9D + DB $50 + DB $25 + DB $9D + DB $50 + DB $29 + DB $9D + DB $50 + DB $2D + DB $9D + DB $50 + DB $31 + DB $9D + DB $50 + DB $35 + DB $9D + DB $50 + DB $39 + DB $9D + DB $50 + DB $3D + DB $9D + DB $D0 + DB $21 + DB $9D + DB $D0 + DB $25 + DB $9D + DB $D0 + DB $29 + DB $9D + DB $D0 + DB $2D + DB $9D + DB $D0 + DB $31 + DB $9D + DB $D0 + DB $35 + DB $9D + DB $D0 + DB $39 + DB $9D + DB $D0 + DB $3D + DB $9D + DB $50 + DB $22 + DB $9D + DB $50 + DB $26 + DB $9D + DB $50 + DB $2A + DB $9D + DB $50 + DB $2E + DB $50 + DB $2E + DB $9D + DB $50 + DB $32 + DB $9D + DB $50 + DB $36 + DB $9D + DB $50 + DB $3A + DB $9D + DB $50 + DB $3E + DB $9D + DB $D0 + DB $22 + +*---------- Clear HGR1 + +clearHGR1 LDA #$00 + LDX #$27 +L0E04 STA $2028,X + STA $2428,X + STA $2828,X + STA $2C28,X + STA $3028,X + STA $3428,X + STA $3828,X + STA $3C28,X + STA $20A8,X + STA $24A8,X + STA $28A8,X + STA $2CA8,X + STA $30A8,X + STA $34A8,X + STA $38A8,X + STA $3CA8,X + STA $2128,X + STA $2528,X + STA $2928,X + STA $2D28,X + STA $3128,X + STA $3528,X + STA $3928,X + STA $3D28,X + STA $21A8,X + STA $25A8,X + STA $29A8,X + STA $2DA8,X + STA $31A8,X + STA $35A8,X + STA $39A8,X + STA $3DA8,X + STA $2228,X + STA $2628,X + STA $2A28,X + STA $2E28,X + STA $3228,X + STA $3628,X + STA $3A28,X + STA $3E28,X + STA $22A8,X + STA $26A8,X + STA $2AA8,X + STA $2EA8,X + STA $32A8,X + STA $36A8,X + STA $3AA8,X + STA $3EA8,X + STA $2328,X + STA $2728,X + STA $2B28,X + STA $2F28,X + STA $3328,X + STA $3728,X + STA $3B28,X + STA $3F28,X + STA $23A8,X + STA $27A8,X + STA $2BA8,X + STA $2FA8,X + STA $33A8,X + STA $37A8,X + STA $3BA8,X + STA $3FA8,X + DEX + BPL L0EC8 + RTS +L0EC8 JMP L0E04 + + DB $00 + DB $2A + DB $9D + DB $28 + DB $2E + DB $9D + DB $28 + DB $32 + DB $9D + DB $28 + DB $36 + DB $9D + DB $28 + DB $3A + DB $9D + DB $28 + DB $3E + DB $9D + DB $A8 + DB $22 + DB $9D + DB $A8 + DB $26 + DB $9D + DB $A8 + DB $2A + DB $9D + DB $A8 + DB $2E + DB $9D + DB $A8 + DB $32 + DB $9D + DB $A8 + DB $36 + DB $9D + DB $A8 + DB $3A + DB $9D + DB $A8 + DB $3E + DB $9D + DB $28 + DB $22 + DB $9D + DB $28 + DB $26 + DB $9D + DB $28 + DB $2A + DB $9D + DB $28 + DB $2C + +*---------- Clear HGR2 + +clearHGR2 LDA #$00 + LDX #$27 +L0F04 STA $4028,X + STA $4428,X + STA $4828,X + STA $4C28,X + STA $5028,X + STA $5428,X + STA $5828,X + STA $5C28,X + STA $40A8,X + STA $44A8,X + STA $48A8,X + STA $4CA8,X + STA $50A8,X + STA $54A8,X + STA $58A8,X + STA $5CA8,X + STA $4128,X + STA $4528,X + STA $4928,X + STA $4D28,X + STA $5128,X + STA $5528,X + STA $5928,X + STA $5D28,X + STA $41A8,X + STA $45A8,X + STA $49A8,X + STA $4DA8,X + STA $51A8,X + STA $55A8,X + STA $59A8,X + STA $5DA8,X + STA $4228,X + STA $4628,X + STA $4A28,X + STA $4E28,X + STA $5228,X + STA $5628,X + STA $5A28,X + STA $5E28,X + STA $42A8,X + STA $46A8,X + STA $4AA8,X + STA $4EA8,X + STA $52A8,X + STA $56A8,X + STA $5AA8,X + STA $5EA8,X + STA $4328,X + STA $4728,X + STA $4B28,X + STA $4F28,X + STA $5328,X + STA $5728,X + STA $5B28,X + STA $5F28,X + STA $43A8,X + STA $47A8,X + STA $4BA8,X + STA $4FA8,X + STA $53A8,X + STA $57A8,X + STA $5BA8,X + STA $5FA8,X + DEX + BPL L0FC8 + RTS +L0FC8 JMP L0F04 + + DB $9D + DB $04 + DB $10 + DB $CA + DB $CA + DB $CA + DB $CA + DB $E0 + DB $FC + DB $D0 + DB $F2 + DB $AD + DB $FF + DB $0F + DB $8D + DB $00 + DB $10 + DB $60 + DB $20 + DB $10 + DB $0F + DB $20 + DB $20 + DB $0F + DB $20 + DB $30 + DB $0F + DB $20 + DB $C0 + DB $0F + DB $20 + DB $70 + DB $0F + DB $20 + DB $90 + DB $0F + DB $20 + DB $10 + DB $0F + DB $20 + DB $20 + DB $0F + DB $20 + DB $30 + DB $0F + DB $60 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $71 + +*---------- Draw all sprites + +L1000 LDA L08D0 ; 1000 +L1003 STA zpXSCREEN + LDA L08DE + BIT |$00E9 + BMI L100F + LDA #$10 +L100F JSR drawSPRITE + RTS + +L1013 LDA L08D1 + STA zpXSCREEN + LDA L09D1 + BIT L09CD + BMI L1022 + LDA #$10 +L1022 JSR drawSPRITE + RTS + +L1026 LDA L08D2 + STA zpXSCREEN + LDA L09D2 + BIT L09CE + BMI L1035 + LDA #$10 +L1035 JSR drawSPRITE + RTS + +L1039 LDA L08D3 + STA zpXSCREEN + LDA L09D3 + BIT L09CF + BMI L1048 + LDA #$10 +L1048 JSR drawSPRITE + RTS + +L104C LDA L08D4 + STA zpXSCREEN + LDA L09D4 + BIT L09D0 + BMI L105B + LDA #$10 +L105B JSR drawSPRITE + RTS + +*---------- + +L105F BIT |$00E9 + BPL L10E1 + BVC L106E + LDA #$17 + STA L08DE + JMP L10E1 +L106E JMP L15DA + +L1071 BIT L09C4 + BMI L10AB + LDA L09C5 + CMP #$05 + BCS L1091 + LDY zpRANDOM + LDA L1D00,Y + CMP #$30 + BCS L10AE +L1086 LDA #$80 + ORA L09C4 + STA L09C4 + JMP L10A1 + +L1091 LDY zpRANDOM + LDA L1D00,Y + CMP #$20 + BCC L10AE + CMP #$40 + BCC L1086 + JMP L10AE + +L10A1 BIT |$00E9 + BPL L10E1 + BIT L09C4 + BPL L10AE +L10AB JMP L1209 + +L10AE LDY zpRANDOM + LDA L1D00,Y + STA $EB ; sprite + AND #$07 + TAY + LDA L1E00,Y + STA L08DE + LDA $EB + CMP #$E6 + BCS L10CB + CMP #$64 + BCC L10D6 + JMP L10DE + +L10CB INC L08D0 + LDA #$11 + STA L08DE + JMP L10DE + +L10D6 DEC L08D0 + LDA #$11 + STA L08DE +L10DE JSR L0A8F +L10E1 RTS + +*---------- + +L10E2 BIT zpHPLAYER + BVC L10F9 + JSR L165D + LDA $E8 + CMP #$0A + BEQ L10FF + CMP #$0C + BEQ L10F6 + JMP L1208 +L10F6 JMP L1167 + +L10F9 JSR L1680 + JMP L138B + +L10FF BIT |$00E9 + BPL L114C + BVS L114C + LDA L08D7 + CMP #$0D + BCS L114C + LDA L08DE + CMP #$11 + BEQ L1164 + LDA #$09 + CMP L08D7 + BCC L114C +L111B LDA #$16 + STA L08DE + INC L09C5 + JSR L0A8F + JSR L11C7 + JSR L11D1 + JSR L11F1 + LDA #$17 + STA L08DE + LDA #$0E + STA $E8 + JSR L0A8F + LDA |$00E9 + ORA #$40 + STA |$00E9 + JSR L11FE + JSR L11E1 + JSR L114F +L114C JMP L1208 + +L114F NOP + NOP + NOP + NOP + LDA theSCORE + CMP #$17 + BNE L115D + INC theLIVES ; new lives +L115D JSR L1854 + RTS + + NOP + NOP + RTS +L1164 JMP L1186 + +L1167 BIT |$00E9 + BPL L114C + BVS L114C + LDA L08D7 + CMP #$0A + BCS L114C + LDA L08DE + CMP #$11 + BEQ L1186 + LDA #$05 + CMP L08D7 + BCC L114C + JMP L111B + +L1186 LDX #$3C + STX $50 + JSR L0303 + INC zpRANDOM + INC L09CB + INC L08D0 + LDA L09CB + CMP #$01 + BEQ L11C4 + LDA #$08 + CMP L09C5 + BCS L11C4 + DEC L08D0 + JSR L1261 + JSR L0A8F +L11AC BIT KBD + BMI L11C1 + JSR L143B + INC zpRANDOM + BNE L11AC + DEC L08D0 + JSR L1261 + JSR L0A8F +L11C1 JMP L0C1B +L11C4 JMP L1208 + +L11C7 LDA #$96 + STA $50 + LDX #$64 + JSR L0303 + RTS + +*---------- Wait + +L11D1 LDA #$05 + STA L09CA +L11D6 LDA #$FF + JSR WAIT + DEC L09CA + BNE L11D6 + RTS + +*---------- Wait + +L11E1 LDA #$02 + STA L09CA +L11E6 LDA #$FF + JSR WAIT + DEC L09CA + BNE L11E6 + RTS + +L11F1 CLC + INC theSCORE + BCC L11FA + INC theSCORE+1 +L11FA JMP L1B76 ; next level + RTS + +*---------- Play sound + +L11FE LDA #$1E + STA $50 + LDY #$1E + JSR L0303 + RTS +L1208 RTS + +L1209 BIT L09C4 + BVS L121E + LDA #$40 + ORA L09C4 + STA L09C4 + JSR L1252 + LDA #$08 + STA L09C9 +L121E DEC L09C9 + BNE L122E + LDA #$BF + AND L09C4 + STA L09C4 + JMP L10AE + +L122E LDY L09C7 + LDA L1E80,Y + STA L09C8 + AND #$1F + STA L08DE + BIT L09C8 + BPL L124C + BVC L1249 + DEC L08D0 + JMP L124C + +L1249 INC L08D0 +L124C DEC L09C7 + JMP L10DE + +L1252 LDY zpRANDOM + LDA L1D00,Y + AND #$07 + TAY + LDA L1E40,Y + STA L09C7 + RTS + +*---------- + +L1261 BIT |$00E9 + BPL L1280 + BVS L1280 + LDA L08DE + CMP #$11 + BNE L1272 + JMP L1281 + +L1272 CMP #$13 + BNE L1279 + JMP L12D6 ; is player hit? + +L1279 CMP #$14 + BNE L1280 + JMP L131D +L1280 RTS + +L1281 LDA L08D7 + CMP #$04 + BCC L12D0 + CMP #$06 + BCS L129A + LDA $E8 + CMP #$0A + BEQ L12D0 ; I'm hit! + CMP #$08 + BEQ L12D3 + CMP #$0C + BEQ L12D3 +L129A LDA L08D7 + CMP #$07 + BCS L12AF + LDA $E8 + CMP #$08 + BEQ L12D3 + CMP #$0A + BEQ L12D3 + CMP #$0C + BEQ L12D3 +L12AF LDA L08D7 + CMP #$0A + BCS L12C0 + LDA $E8 + CMP #$0A + BEQ L1333 + CMP #$0C + BEQ L1333 +L12C0 LDA L08D7 + CMP #$0E + BCS L1280 + LDA $E8 + CMP #$0A + BNE L1280 + JMP L1333 + +L12D0 JMP playerHIT ; player is hit! +L12D3 JMP L1333 + +L12D6 LDA L08D7 + CMP #$03 + BCS L12E6 + LDA $E8 + CMP #$0E + BEQ L12E6 + JMP playerHIT ; player is hit! + +L12E6 LDA L08D7 + CMP #$04 + BCS L12FA + LDA $E8 + CMP #$08 + BCS L12FA + CMP #$04 + BEQ L12FA + JMP playerHIT + +L12FA LDA L08D7 + CMP #$05 + BCS L130A + LDA $E8 + CMP #$0E + BNE L130A + JMP L1333 + +L130A LDA L08D7 + CMP #$06 + BCS L131A + LDA $E8 + CMP #$0A + BNE L131A + JMP playerHIT +L131A JMP L1280 + +L131D LDA L08D7 + CMP #$05 + BCS L1330 + LDA #$00 + STA L09C3 + LDX #$5A + STX $50 + JSR L0303 +L1330 JMP L1280 + +L1333 LDX #$3C + STX $50 + JSR L0303 + INC L08D0 + JMP L1280 + +*---------- Player is hit + +playerHIT LDA #$0F ; show sprite HIT + STA $E8 + JSR L0A8F + JSR L1381 ; play sound + JSR L11D1 ; wait + LDA #$00 ; show sprite DEAD + STA $E8 + STA L09DF + JSR L0A8F + JSR L11FE ; play sound + LDA #$80 + STA L09C3 + JSR L11E1 ; wait + JSR L136B ; go die + JSR showALL + JMP L180D + +L136B DEC theLIVES ; lives-- + BEQ L1374 + NOP + NOP + NOP + RTS + +L1374 LDX #$FF ; i'm dead + STX $50 + JSR L0303 + LDA #$00 ; game over + STA fgPLAY + RTS + +L1381 LDA #$28 ; ouch sound + STA $50 + LDX #$C8 + JSR L0303 + RTS + +L138B BIT L09CD + BPL L13FC + BVS L13FC + LDA $E8 + CMP #$04 + BNE L13A9 + LDA L08D8 + CMP #$09 + BCS L13A2 + JMP L1402 + +L13A2 CMP #$0C + BCS L13FC + JMP L13BB + +L13A9 CMP #$03 + BNE L13FC + LDA L08D8 + CMP #$06 + BCS L13B7 + JMP L1402 + +L13B7 CMP #$07 + BCS L1433 +L13BB LDX #$3C + STX $50 + JSR L0303 + INC zpRANDOM + INC L09CB + DEC L08D1 + LDA L09CB + CMP #$01 + BEQ L13FF + LDA #$08 + CMP L09C5 + BCS L13FF + INC L08D1 + JSR L14E4 + JSR L0A8F +L13E1 BIT KBD + BMI L13F6 + JSR L143B + INC zpRANDOM + BNE L13E1 + INC L08D1 + JSR L14E4 + JSR L0A8F +L13F6 JMP L0C1B + JMP L1437 +L13FC JMP L1433 +L13FF JMP L1433 + +L1402 LDA #$1D + STA L09D1 + INC L09D5 + JSR L0A8F + JSR L11C7 + JSR L11D1 + JSR L11F1 + LDA #$1E + STA L09D1 + LDA #$02 + STA $E8 + JSR L0A8F + LDA L09CD + ORA #$40 + STA L09CD + JSR L11FE + JSR L11E1 + JSR L114F +L1433 RTS + + NOP + NOP + NOP +L1437 NOP + NOP + NOP + RTS + +L143B JSR L1454 + JSR L14E4 + JSR L14A5 + JSR L1537 + NOP + NOP + NOP + JSR L154A + JSR L14E0 + JSR L157B + RTS + +*---------- + +L1454 BIT L09CD + BPL L14A4 + BVC L1463 + LDA #$1E + STA L09D1 + JMP L14A4 +L1463 JMP L161C + +L1466 BIT L09D6 + BPL L146E + JMP L157F + +L146E LDY zpRANDOM + LDA L1D00,Y + STA $EB + AND #$07 + ORA #$08 + TAY + LDA L1E00,Y + STA L09D1 + LDA $EB + CMP #$5A + BCS L148D + LDA #$80 + STA L09D6 + LDA $EB +L148D CMP #$E6 + BCS L1498 + CMP #$50 + BCS L149E + JMP L14A1 + +L1498 INC L08D1 + JMP L14A1 + +L149E DEC L08D1 +L14A1 JSR L0A8F +L14A4 RTS + +*---------- + +L14A5 BIT L09CE + BPL L14C1 + LDA L09D2 + CMP #$1F + BEQ L14B9 + LDA #$1F + STA L09D2 + JMP L14C1 + +L14B9 LDA #$20 + STA L09D2 + DEC L08D2 +L14C1 RTS + +L14C2 BIT L09CF + BPL L14DE + LDA L09D3 + CMP #$21 + BEQ L14D6 + LDA #$21 + STA L09D3 + JMP L14DE + +L14D6 LDA #$22 + STA L09D3 + INC L08D3 +L14DE RTS + RTS + +L14E0 NOP + NOP + NOP + RTS + +*---------- + +L14E4 BIT L09CD + BPL L1519 + BVS L1519 + LDA L09D1 + CMP #$1B + BNE L14F5 + JMP L151A + +L14F5 CMP #$1C + BEQ L1524 + LDA L08D8 + CMP #$04 + BCC L1534 +L1500 CMP #$09 ; difficulty? + BCS L1519 + LDA $E8 + CMP #$08 + BCS L1519 + CMP #$02 + BEQ L1519 + CMP #$05 + BEQ L1519 +L1512 LDX #$3C + STX $50 + JSR L0303 +L1519 RTS + +L151A LDA L08D8 + CMP #$05 + BCC L1534 + JMP L1519 + +L1524 LDA L08D8 + CMP #$05 + BCS L1519 + LDA $E8 + CMP #$05 + BEQ L1512 + JMP L1534 +L1534 JMP playerHIT + +*---------- + +L1537 BIT L09CE + BPL L1546 + LDA #$05 + CMP L08D9 + BCC L1546 + JMP playerHIT +L1546 RTS + + NOP + NOP + RTS + +*---------- + +L154A BIT L09CF + BPL L1577 + LDA #$04 + CMP L08DA + BCC L1577 + LDA #$00 + STA L09C3 + LDX #$5A + STX $50 + JSR L0303 + LDA #$00 + STA L09CF + STA L08D3 + INC L09DF + LDA L09DF + CMP #$04 + BCC L1577 + JMP playerHIT +L1577 RTS + + NOP + NOP + RTS + +L157B NOP + NOP + NOP + RTS + +L157F NOP + NOP + NOP + BIT L09D6 + BVS L1597 + LDA #$40 + ORA L09D6 + STA L09D6 + JSR L15CB + LDA #$08 + STA L09D9 +L1597 DEC L09D9 + BNE L15A7 + LDA #$BF + AND L09D6 + STA L09D6 + JMP L146E + +L15A7 LDY L09D7 + LDA L1E80,Y + STA L09D8 + AND #$1F + STA L09D1 + BIT L09D8 + BPL L15C5 + BVC L15C2 + INC L08D1 + JMP L15C5 + +L15C2 DEC L08D1 +L15C5 DEC L09D7 + JMP L14A1 + +L15CB LDY zpRANDOM + LDA L1D00,Y + AND #$07 + TAY + LDA L1E48,Y + STA L09D7 + RTS + +L15DA BIT L09DA + BMI L1606 + LDA L09C5 + CMP #$20 + BCS L1615 + CMP #$0C + BCS L15FE + CMP #$02 + BCS L15F6 + LDA #$86 + STA L09DA + JMP L1618 + +L15F6 LDA #$84 + STA L09DA + JMP L1618 + +L15FE LDA #$82 + STA L09DA + JMP L1618 + +L1606 DEC L09DA + LDA #$80 + CMP L09DA + BNE L1618 + LDA #$00 + STA L09DA +L1615 JMP L1071 +L1618 JMP L10DE + RTS + +L161C BIT L09DB + BMI L1648 + LDA L09D5 + CMP #$19 + BCS L1657 + CMP #$08 + BCS L1638 + CMP #$02 + BCS L1640 + LDA #$86 + STA L09DB + JMP L165A + +L1638 LDA #$84 + STA L09DB + JMP L165A + +L1640 LDA #$82 + STA L09DB + JMP L165A + +L1648 DEC L09DB + LDA #$80 + CMP L09DB + BNE L165A + LDA #$00 + STA L09DB +L1657 JMP L1466 +L165A JMP L14A1 + +L165D BIT L09CE + BPL L167F + LDA $E8 + CMP #$0B + BNE L167F + LDA #$06 + CMP L08D9 + BCC L167F + JSR L11C7 + JSR L11F1 + LDA #$00 + STA L09CE + LDA #$23 + STA L08D2 +L167F RTS + +L1680 BIT L09CF + BPL L169D + LDA $E8 + CMP #$05 + BNE L169D + LDA #$05 + CMP L08DA + BCC L169D + JSR L11C7 + LDA #$00 + STA L09CF + STA L08D3 +L169D RTS + +*--- Dead data + + DB $D4 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $D3 + DB $D3 + DB $D3 + DB $D1 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D3 + DB $D1 + DB $D3 + DB $A9 + DB $11 + DB $8D + DB $DE + DB $08 + DB $A9 + DB $24 + DB $8D + DB $D0 + DB $08 + DB $A9 + DB $80 + DB $85 + DB $E9 + DB $4C + DB $03 + DB $18 + DB $8D + DB $10 + DB $C0 + DB $8D + DB $CB + DB $09 + DB $60 + DB $15 + DB $15 + DB $12 + DB $12 + DB $12 + DB $13 + DB $15 + DB $13 + DB $13 + DB $11 + DB $14 + DB $15 + DB $15 + DB $12 + DB $11 + DB $12 + DB $13 + DB $12 + DB $15 + DB $11 + DB $13 + DB $13 + DB $11 + DB $14 + DB $14 + DB $14 + DB $13 + DB $14 + DB $12 + DB $13 + DB $12 + DB $13 + DB $12 + DB $15 + DB $12 + DB $13 + DB $15 + DB $13 + DB $12 + DB $13 + DB $A9 + DB $24 + DB $8D + DB $D0 + DB $08 + DB $A9 + DB $80 + DB $85 + DB $E9 + DB $4C + DB $03 + DB $18 + DB $15 + DB $13 + DB $12 + DB $12 + +*---------- Pointer to sprites +* The first 4 bytes are copied to $FA..$FD + +tblSPRITES DA $7B06 ; 00 player is dead + DA $6000 ; 01 player left + DA $6184 ; 02 " + DA $6348 ; 03 " + DA $655B ; 04 " + DA $67CF ; 05 " + DA $6953 ; 06 " + DA $6AD7 ; 07 " + DA $6C5B ; 08 player right + DA $6DEE ; 09 " + DA $6F72 ; 0A " + DA $7246 ; 0B " + DA $73CA ; 0C " + DA $763E ; 0D " + DA $77BE ; 0E " + DA $7982 ; 0F " is wounded + DA $7C10 ; 10 empty + DA $8000 ; 11 foe right + DA $81E4 ; 12 " + DA $8418 ; 13 " + DA $864C ; 14 " + DA $8830 ; 15 " + DA $8A14 ; 16 " + DA $8C48 ; 17 " is dead + DA $8D3D ; 18 foe left + DA $8F0E ; 19 " + DA $90DF ; 1A " + DA $92B0 ; 1B " + DA $9480 ; 1C " + DA $9666 ; 1D " + DA $97DB ; 1E " is dead + DA $9858 ; 1F animal right + DA $98EC ; 20 " + DA $9980 ; 21 animal left + DA $9A14 ; 22 " + DA $9AA8 ; The rest is... nothing + DA $0424 + DA $0919 + DA $110E + DA $1904 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $0115 + DA $080A + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $0424 + DA $0919 + DA $110E + DA $1904 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $0115 + DA $080A + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + DA $8C50 + +*---------- + +playGAME JSR initALL ; init all + LDA #$FF + STA fgPLAY ; game is active + LDA #$80 + STA |$00E9 + +L180D LDA #$00 + STA L08D1 + STA L09CE + STA L09CF + STA L08D3 + LDA #$20 + STA L08D0 + STA L08D2 + LDA #$10 ; x-pos of player + STA zpXPLAYER + +*--- The main game loop + +L1827 JSR doKEYPRESS + JSR L105F + JSR L19D5 + JSR L1454 ; + JSR L14A5 ; + JSR L14C2 ; + JSR L10E2 ; + JSR L1261 ; + JSR L14E4 ; + JSR L1537 ; + JSR L154A ; + LDA fgPLAY ; am I dead + BNE L1827 ; for real? + RTS ; yes! + +*--- Dead code + + JMP L1827 + + NOP + NOP + NOP +L1854 NOP + LDA theSCORE+1 + BEQ L185D + JMP L18C8 + +L185D LDA theSCORE + CMP #$02 + BCS L188A + AND #$01 + BEQ L1878 + LDA #$00 + STA L08D1 + STA |$00E9 + LDA #$80 + STA L09CD + JMP L18C3 + +L1878 LDA #$20 + STA L08D0 + LDA #$00 + STA L09CD + LDA #$80 + STA |$00E9 + JMP L18C3 + +L188A BIT |$00E9 + BPL L1891 + BVC L18C4 +L1891 BIT L09CD + BPL L1898 + BVC L18C4 +L1898 LDA #$80 + STA |$00E9 + STA L09CD + JMP L1A78 + +*--- Dead code + + INC L08D0 + DEC L08D1 + DEC L08D1 + LDA L09C5 + CMP #$17 + BCS L18C3 +L18B3 LDA #$00 + STA L08D1 + LDA #$20 + STA L08D0 + JMP L18C3 + JMP L18C8 + +L18C3 NOP +L18C4 JSR L0A8F + RTS + +L18C8 LDA #$3C + STA L09DD + JSR L1A04 + RTS + + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + NOP + +*---------- Calculate offset of font char + +calcFOFFSET STX saveX + STY saveY + + LDA #theFONT + STA L1939+2 + LDX #$20 ; space +L18EC CPX charFONT ; the char + BEQ L1904 + INX + CLC + LDA #$08 ; offset+8 + ADC L1939+1 + STA L1939+1 + BCC L1900 + INC L1939+2 +L1900 CPX #$7E ; last char + BNE L18EC +L1904 LDX saveX + LDY saveY + RTS + +*---------- Draw a char + +printCHAR1 LDA #$20 ; on HGR1 + STA pageHGR + JMP L1918 + +printCHAR2 LDA #$40 ; or HGR2 + STA pageHGR + +*---------- Draw a char on screen + +L1918 STX saveX + STY saveY + LDY zpYBEGIN ; Y start + CLC + LDA #$08 + ADC zpYBEGIN + STA zpYEND ; Y end + LDX zpXSCREEN +L1929 LDA ptrLINEH,Y + CLC + ADC pageHGR + STA L193C+2 + LDA ptrLINEL,Y + STA L193C+1 +L1939 LDA theFONT +L193C STA $5E50,X + INC L1939+1 + BNE L1947 + INC L1939+2 +L1947 INY + CPY zpYEND ; the end? + BNE L1929 + LDX saveX ; restore + LDY saveY + RTS + +*---------- Print C string + +printCSTR STA L195B+1 + STY L195B+2 + + LDX #$00 +L195B LDA |$009F,X ; get a char + BEQ L1988 + STA charFONT ; the char + JSR calcFOFFSET ; calc offset in font + BIT zpHPLAYER ; which page to draw? + BPL L1970 + JSR printCHAR2 ; HGR2 + JMP L1973 +L1970 JSR printCHAR1 ; HGR1 + +L1973 INC zpXSCREEN ; next X + LDA zpXSCREEN + CMP #$28 + BNE L1985 + LDA #$00 ; next Y + STA zpXSCREEN + LDA #$08 + ADC zpYBEGIN + STA zpYBEGIN +L1985 INX + BNE L195B +L1988 RTS + +*---------- Show score and lives + +showALL LDA zpHPLAYER + STA saveHPLAYER + AND #$7F + STA zpHPLAYER + JSR showSCORE + JSR showLIVES + LDA zpHPLAYER + ORA #$80 + STA zpHPLAYER + JSR showSCORE + JSR showLIVES + LDA saveHPLAYER + STA zpHPLAYER + RTS + +*---------- + +showSCORE LDA #$0E + STA zpXSCREEN + LDA #$A0 + STA zpYBEGIN + LDA theSCORE + STA $9F + LDA theSCORE+1 + STA $9E + LDA #$90 + STA $9D + LDA #$00 + STA $A0 + STA $A1 + STA $A2 + JSR $ED34 ; convert fac + JSR printCSTR ; print score + RTS + +*---------- + +L19CF JMP L1A68 +L19D2 JMP L1A6E + +*---------- + +L19D5 LDA L09C5 + CMP #$05 + BEQ L19CF + CMP #$0D + BEQ L19CF + CMP #$16 + BEQ L19CF + LDA L09D5 + CMP #$06 + BEQ L19D2 + CMP #$0B + BEQ L19D2 + CMP #$13 + BEQ L19D2 + CMP #$17 + BEQ L19D2 + LDA theSCORE + CMP #$13 + BCC L1A47 + AND #$01 + BNE L1A47 + LDA #$0C +L1A04 STA L09DD + LDY zpRANDOM + LDA L1D00,Y + CMP L09DD + BNE L1A14 + JMP L1A22 + +L1A14 CMP #$27 + BNE L1A1B + JMP L1A36 + +L1A1B CMP #$54 + BNE L1A47 + JMP L1A36 + +L1A22 LDA #$80 + STA L09CE + LDA #$21 + STA L08D2 + LDX #$6E + STX $50 + JSR L0303 + JMP L1A47 + +L1A36 LDA #$80 + STA L09CF + LDA #$00 + STA L08D3 + LDX #$B4 + STX $50 + JSR L0303 +L1A47 RTS + +*---------- + +showLIVES CLC + LDA theLIVES + BPL L1A50 + LDA #$00 +L1A50 ADC #$30 + STA $9F + LDA #$22 + STA zpXSCREEN + LDA #$A0 + STA zpYBEGIN + LDA #$00 + STA $A0 + LDA #$9F + LDY #$00 + JSR printCSTR ; print lives + RTS + +L1A68 INC L09C5 + JMP L1A36 + +L1A6E INC L09D5 + JMP L1A22 + +*--- Dead code + + BCS showLIVES + LDA #$00 +L1A78 LDA L09C5 + CMP #$05 + BCC L1AB9 + CMP #$08 + BCC L1A92 + CMP #$0C + BCC L1A98 + CMP #$10 + BCC L1A9E + CMP #$14 + BCC L1AA4 + JMP L1AAA + +L1A92 INC L08D0 + DEC L08D1 +L1A98 INC L08D0 + DEC L08D1 +L1A9E INC L08D0 + DEC L08D1 +L1AA4 INC L08D0 + DEC L08D1 +L1AAA INC L08D0 + DEC L08D1 + INC L08D0 + DEC L08D1 + JMP L1ABC +L1AB9 JMP L18B3 + +L1ABC JSR L0B43 + JMP L18C3 + + JSR HOME + LDA #$08 + JSR VTAB + LDA #$80 + LDY #$40 + JSR $DB3A + LDA theSCORE + STA $9F + LDA theSCORE+1 + STA $9E + LDA #$90 + STA $9D + LDA #$00 + STA $A0 + STA $A1 + STA $A2 + JSR $ED2E + JSR CROUT + JSR CROUT +L1AF0 BIT KBD + BPL L1AF0 + LDA #$00 + STA KBDSTROBE + JMP L1B34 + DB $30 + DB $03 + DB $8D + +*---------- Entry point + +L1B00 LDA #$00 + STA L0328 + STA L031E ; S0 + LDA #$03 + STA L031D ; T3 + LDA #$08 + STA L0328+1 ; $0800..$0FFF + LDA #$07 + STA L031F ; until S7 +L1B17 JSR L033D ; read TS + INC L031E + INC L0328+1 + LDA L031E + CMP L031F + BNE L1B17 + JSR L033D ; read T3/S7 + + LDA #$09 ; Load T9-A + LDX #$00 ; $6000..$7FFF + LDY #$60 + JSR L0366 + +*---------- Main loop + +L1B34 LDA #$0F ; Load TF-10 + LDX #$00 ; $8000..$8FFF + LDY #$80 + JSR L0366 + + LDA #$15 ; Load T15-16 + LDX #$00 ; $2000..$3FFF + LDY #$20 + JSR L0366 + + JSR L1CAC ; clear text line 23 + +L1B49 BIT KBD + BPL L1B49 + LDA #$00 + STA KBDSTROBE + JSR L1CB7 ; show score + JSR playGAME ; play + +* if we're back here, the player is dead + + JSR HOME ; clear text + + LDA #$03 ; Load T3/SC + STA L031D ; $4000..$40FF + LDA #$0C + STA L031E + LDA #L4000 + STA L0328+1 + JSR L033D + JMP L4000 ; and jump + +*---------- + +L1B76 LDA theSCORE + CMP #$15 ; harder, new foes + BEQ L1B9C + CMP #$21 ; new image, new foes + BEQ L1BA6 + CMP #$2B ; new foes + BEQ L1BB0 + CMP #$36 ; new image, new foes + BEQ L1BB5 + CMP #$3E ; new foes + BEQ L1BBF + CMP #$4A ; new foes + BEQ L1BC4 + CMP #$53 ; new foes + BEQ L1BC9 + CMP #$62 ; new foes + BEQ L1BCE + JMP showALL + +L1B9C LDA #$09 + STA L1500+1 ; more difficult + LDA #$0B + JMP loadSPRFOE + +L1BA6 LDA #$13 + JSR loadIMAGE + LDA #$1F + JMP loadSPRFOE + +L1BB0 LDA #$1B + JMP loadSPRFOE + +L1BB5 LDA #$05 + JSR loadIMAGE + LDA #$0B + JMP loadSPRFOE + +L1BBF LDA #$17 + JMP loadSPRFOE + +L1BC4 LDA #$21 + JMP loadSPRFOE + +L1BC9 LDA #$19 + JMP loadSPRFOE + +L1BCE LDA #$0D + JMP loadSPRFOE + RTS + +*---------- Load foe sprite data + +loadSPRFOE LDX #$00 + LDY #$80 + JSR L0366 + JMP L180D + +*---------- Load new background image + +loadIMAGE STA TXTPAGE2 + LDX #$00 + LDY #$20 + JSR L0366 + JSR blitHGR + JSR showALL + RTS + +*--- Dead code + + DB $41 + DB $49 + DB $4E + DB $20 + DB $3F + DB $20 + DB $28 + DB $59 + DB $2F + DB $4E + DB $29 + DB $20 + DB $22 + DB $3B + DB $3A + DB $BE + DB $41 + +*---------- + + DB $24 + DB $3A + DB $AD + DB $41 + DB $24 + DB $D1 + DB $CF + DB $22 + DB $4E + DB $22 + DB $C4 + DB $35 + DB $00 + DB $13 + DB $1C + DB $06 + DB $00 + DB $80 + DB $00 + DB $00 + DB $00 + DB $00 + DB $41 + DB $80 + DB $01 + DB $A3 + DB $9A + DB $00 + DB $00 + DB $41 + DB $00 + DB $87 + DB $7E + DB $00 + DB $00 + DB $00 + DB $43 + DB $30 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $C0 + DB $08 + DB $AC + DB $C1 + DB $08 + DB $60 + DB $A9 + DB $20 + DB $8D + DB $C4 + DB $08 + DB $4C + DB $3E + DB $1C + DB $A9 + DB $40 + DB $8D + DB $C4 + DB $08 + DB $8E + DB $C0 + DB $08 + DB $8C + DB $C1 + DB $08 + DB $A4 + DB $FC + DB $18 + DB $A9 + DB $08 + DB $65 + DB $FC + DB $85 + DB $FD + DB $A6 + DB $F9 + DB $B9 + DB $00 + DB $08 + DB $18 + DB $6D + DB $C4 + DB $08 + DB $8D + DB $64 + DB $1C + DB $B9 + DB $00 + DB $09 + DB $8D + DB $63 + DB $1C + DB $AD + DB $90 + DB $1F + DB $9D + DB $50 + DB $3E + DB $EE + DB $60 + DB $1C + DB $D0 + DB $03 + DB $EE + DB $61 + DB $1C + DB $C8 + DB $C4 + DB $FD + DB $D0 + DB $DD + DB $AE + DB $C0 + DB $08 + DB $AC + DB $C1 + DB $08 + DB $60 + DB $8D + DB $82 + DB $1C + DB $8C + DB $83 + DB $1C + DB $A2 + +*---------- Copy HGR1 onto HGR2 + +blitHGR CLC +L1C81 LDX #$00 +L1C83 LDA $2000,X +L1C86 STA $4000,X + INX + BNE L1C83 + INC L1C83+2 + INC L1C86+2 + LDA L1C83+2 + CMP #$40 + BNE L1C81 + LDA #$20 + STA L1C83+2 + LDA #$40 + STA L1C86+2 + LDA #$00 + STA L1C83+1 + STA L1C86+1 + RTS + +*---------- Clear last line of text + +L1CAC LDX #$27 + LDA #$A0 +L1CB0 STA $07D0,X + DEX + BPL L1CB0 + RTS + +*---------- Init game + +L1CB7 LDA #$00 ; Max score is 3 + STA theSCORE + STA theSCORE+1 + LDA #$03 + STA theLIVES + JSR showALL ; show it + JSR blitHGR ; copy HGR + LDA #$05 + STA L1500+1 ; difficulty + RTS + + DB $1C + DB $A0 + DB $FF + DB $C8 + DB $B1 + DB $00 + DB $F0 + DB $37 + DB $10 + DB $0C + DB $C9 + DB $E0 + DB $90 + DB $02 + DB $29 + DB $1F + DB $20 + DB $ED + DB $FD + DB $4C + DB $D3 + DB $1C + DB $C9 + DB $18 + DB $D0 + DB $05 + DB $68 + DB $68 + DB $4C + DB $42 + DB $13 + DB $AA + DB $BD + DB $0B + DB $1C + DB $85 + DB $02 + DB $BD + DB $0C + DB $1C + DB $85 + DB $03 + DB $98 + DB $48 + DB $A0 + DB $00 + DB $B1 + DB $A0 + +*---------- Table to sprite index + +L1D00 DB $41 + DB $2B + DB $9A + DB $A1 + DB $43 + DB $37 + DB $F7 + DB $86 + DB $3A + DB $5E + DB $C8 + DB $A5 + DB $8E + DB $A2 + DB $C1 +L1D0F DB $1C + DB $B9 + DB $14 + DB $33 + DB $BF + DB $A9 + DB $75 + DB $13 + DB $72 + DB $42 + DB $1D + DB $C7 + DB $CF + DB $C4 + DB $3D + DB $95 + DB $27 + DB $80 + DB $84 + DB $F2 + DB $CE + DB $99 + DB $A6 + DB $FB + DB $7C + DB $2A + DB $CA + DB $AF + DB $16 + DB $FA + DB $AD + DB $40 + DB $4E + DB $35 + DB $68 + DB $E2 + DB $46 + DB $AC + DB $07 + DB $23 + DB $02 + DB $6E + DB $B6 + DB $F3 + DB $85 + DB $63 + DB $0A + DB $52 + DB $D0 + DB $9D + DB $74 + DB $C2 + DB $DA + DB $2D + DB $71 + DB $0B + DB $88 + DB $D9 + DB $9C + DB $8C + DB $20 + DB $67 + DB $83 + DB $79 + DB $2C + DB $5B + DB $B3 + DB $4C + DB $62 + DB $DD + DB $F4 + DB $6D + DB $87 + DB $59 + DB $C5 + DB $F1 + DB $F5 + DB $81 + DB $7F + DB $3B + DB $C9 + DB $66 + DB $BC + DB $12 + DB $57 + DB $10 + DB $53 + DB $E8 + DB $09 + DB $AA + DB $21 + DB $49 + DB $C0 + DB $8B + DB $2E + DB $9E + DB $6B + DB $45 + DB $A3 + DB $82 + DB $00 + DB $6F + DB $C6 + DB $6A + DB $AB + DB $03 + DB $15 + DB $58 + DB $06 + DB $08 + DB $E4 + DB $DC + DB $78 + DB $ED + DB $D5 + DB $FE + DB $9F + DB $A7 + DB $0E + DB $FC + DB $BD + DB $FF + DB $0C + DB $B0 + DB $B7 + DB $4D + DB $D6 + DB $0D + DB $D8 + DB $B2 + DB $32 + DB $EF + DB $DE + DB $5F + DB $F8 + DB $69 + DB $7D + DB $7B + DB $BA + DB $B4 + DB $6C + DB $48 + DB $92 + DB $EC + DB $E9 + DB $BE + DB $28 + DB $E7 + DB $FD + DB $17 + DB $7A + DB $11 + DB $8A + DB $56 + DB $22 + DB $04 + DB $C3 + DB $8D + DB $34 + DB $F6 + DB $2F + DB $01 + DB $26 + DB $29 + DB $24 + DB $7E + DB $30 + DB $5A + DB $76 + DB $EB + DB $E1 + DB $60 + DB $61 + DB $96 + DB $3F + DB $4B + DB $77 + DB $B1 + DB $F9 + DB $D4 + DB $E6 + DB $D1 + DB $90 + DB $3C + DB $94 + DB $97 + DB $E3 + DB $93 + DB $50 + DB $05 + DB $5C + DB $89 + DB $EE + DB $DF + DB $51 + DB $73 + DB $D3 + DB $36 + DB $1F + DB $D2 + DB $39 + DB $F0 + DB $E0 + DB $B8 + DB $25 + DB $BB + DB $8F + DB $B5 + DB $DB + DB $0F + DB $38 + DB $D7 + DB $3E + DB $4A + DB $64 + DB $CB + DB $91 + DB $A8 + DB $55 + DB $54 + DB $CC + DB $A4 + DB $65 + DB $1E + DB $4F + DB $1A + DB $5D + DB $47 + DB $A0 + DB $1B + DB $9B + DB $98 + DB $CD + DB $31 + DB $E5 + DB $70 + DB $18 + DB $AE + DB $EA + DB $44 + DB $00 + +*---------- + +L1E00 DB $11 + DB $12 + DB $13 + DB $14 + DB $15 + DB $11 + DB $12 + DB $11 + DB $18 + DB $19 + DB $1A + DB $1B + DB $18 + DB $1A + DB $19 + DB $1B + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1D + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1E + DB $1F + DB $1D + DB $1F + DB $B5 + DB $00 + DB $85 + DB $00 + DB $B5 + DB $01 + DB $85 + DB $01 + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $95 + DB $00 + DB $A5 + DB $01 + DB $95 + DB $01 + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $81 + DB $00 + DB $A0 + DB $00 + DB $84 + +L1E40 DB $07 ; 00-2F + DB $0F + DB $17 + DB $1F + DB $27 + DB $2F + DB $07 + DB $1F + +L1E48 DB $37 ; 37-5F + DB $3F + DB $47 + DB $4F + DB $57 + DB $5F + DB $37 + DB $3F + +*--- Dead data + + DB $84 + DB $01 + DB $84 + DB $1D + DB $F6 + DB $00 + DB $D0 + DB $02 + DB $F6 + DB $01 + DB $4C + DB $91 + DB $1D + DB $B5 + DB $00 + DB $D0 + DB $02 + DB $D6 + DB $01 + DB $D6 + DB $00 + DB $A1 + DB $00 + DB $A8 + DB $D0 + DB $02 + DB $A0 + DB $00 + DB $B5 + DB $00 + DB $D0 + DB $02 + DB $D6 + DB $01 + DB $D6 + DB $00 + DB $A1 + DB $00 + DB $85 + DB $00 + DB $84 + DB $01 + DB $A0 + DB $00 + DB $84 + DB $1D + DB $4C + DB $91 + +*--- + +L1E80 DB $D3 ; The table + DB $D2 ; ends at $1E80+$5F + DB $D1 ; ...$1EDF + DB $D1 + DB $D2 + DB $D1 + DB $D1 + DB $D1 + DB $93 + DB $94 + DB $93 + DB $92 + DB $91 + DB $91 + DB $91 + DB $91 + DB $11 + DB $D1 + DB $D1 + DB $D1 + DB $92 + DB $94 + DB $93 + DB $91 + DB $11 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $D1 + DB $12 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D2 + DB $D1 + DB $D1 + DB $D1 + DB $92 + DB $91 + DB $91 + DB $D1 + DB $D2 + DB $D1 + DB $19 + DB $18 + DB $DA + DB $19 + DB $18 + DB $DA + DB $19 + DB $DB + DB $98 + DB $18 + DB $19 + DB $9A + DB $DB + DB $DB + DB $DB + DB $DB + DB $DA + DB $18 + DB $DA + DB $19 + DB $18 + DB $18 + DB $DB + DB $DB + DB $18 + DB $D8 + DB $1A + DB $19 + DB $D8 + DB $DB + DB $19 + DB $DB + DB $DB + DB $DB + DB $DB + DB $DB + DB $DB + DB $D8 + DB $1A + DB $19 + DB $9B + DB $1C + DB $9B + DB $19 + DB $1A + DB $18 + DB $99 + DB $18 + DB $01 + DB $F5 + DB $01 + DB $99 + DB $01 + DB $00 + DB $98 + DB $69 + DB $00 + DB $85 + DB $1D + DB $4C + DB $91 + DB $1D + DB $A5 + DB $00 + DB $75 + DB $00 + DB $85 + DB $00 + DB $A5 + DB $01 + DB $75 + DB $01 + DB $A0 + DB $00 + DB $99 + DB $01 + DB $00 + DB $98 + DB $69 + DB $7F + +*---------- The font + +theFONT DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $08 + DB $08 + DB $08 + DB $08 + DB $00 + DB $08 + DB $00 + DB $14 + DB $14 + DB $14 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $28 + DB $94 + DB $7E + DB $14 + DB $BF + DB $8A + DB $0A + DB $00 + DB $08 + DB $3C + DB $0A + DB $1C + DB $28 + DB $1E + DB $08 + DB $00 + DB $06 + DB $26 + DB $10 + DB $08 + DB $04 + DB $32 + DB $30 + DB $00 + DB $04 + DB $0A + DB $0A + DB $04 + DB $2A + DB $12 + DB $2C + DB $00 + DB $08 + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $08 + DB $04 + DB $02 + DB $02 + DB $02 + DB $04 + DB $08 + DB $00 + DB $08 + DB $10 + DB $20 + DB $20 + DB $20 + DB $10 + DB $08 + DB $00 + DB $08 + DB $2A + DB $1C + DB $08 + DB $1C + DB $2A + DB $08 + DB $00 + DB $00 + DB $08 + DB $08 + DB $3E + DB $08 + DB $08 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $88 + DB $84 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $20 + DB $10 + DB $08 + DB $04 + DB $02 + DB $00 + DB $00 + DB $8C + DB $92 + DB $22 + DB $22 + DB $22 + DB $92 + DB $8C + DB $00 + DB $08 + DB $0C + DB $08 + DB $08 + DB $08 + DB $08 + DB $1C + DB $00 + DB $1C + DB $22 + DB $20 + DB $10 + DB $84 + DB $82 + DB $3E + DB $00 + DB $3E + DB $90 + DB $10 + DB $18 + DB $20 + DB $22 + DB $1C + DB $00 + DB $10 + DB $18 + DB $14 + DB $12 + DB $3E + DB $10 + DB $10 + DB $00 + DB $3E + DB $02 + DB $1E + DB $20 + DB $20 + DB $22 + DB $1C + DB $00 + DB $18 + DB $04 + DB $82 + DB $1E + DB $22 + DB $22 + DB $1C + DB $00 + DB $3E + DB $90 + DB $10 + DB $88 + DB $08 + DB $84 + DB $04 + DB $00 + DB $1C + DB $22 + DB $22 + DB $1C + DB $22 + DB $22 + DB $1C + DB $00 + DB $1C + DB $22 + DB $22 + DB $3C + DB $90 + DB $10 + DB $0C + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $00 + DB $00 + DB $8C + DB $00 + DB $00 + DB $8C + DB $88 + DB $84 + DB $10 + DB $08 + DB $04 + DB $02 + DB $04 + DB $08 + DB $10 + DB $00 + DB $00 + DB $00 + DB $3E + DB $00 + DB $3E + DB $00 + DB $00 + DB $00 + DB $04 + DB $08 + DB $10 + DB $20 + DB $10 + DB $08 + DB $04 + DB $00 + DB $1C + DB $22 + DB $90 + DB $88 + DB $08 + DB $00 + DB $08 + DB $00 + +*---------------------------- + + put SB.0300 + put SB.4000 + +*---------------------------- + diff --git a/swashbuckler/v0.1/SB.4000.S b/swashbuckler/v0.1/SB.4000.S new file mode 100644 index 0000000..b835f19 --- /dev/null +++ b/swashbuckler/v0.1/SB.4000.S @@ -0,0 +1,154 @@ +* +* Swashbuckler +* (c) Stephenson +* (s) 2018, Brutal Deluxe Software +* +* This is the $4000..$40FF area +* It handles the high score and +* stores it onto disk at T3/SC +* + + mx %11 + lst off + +*---------------------------- + +L4000 LDA TXTPAGE1 + LDA TXTSET + JSR HOME + JSR CROUT + JSR CROUT + LDA #L40D8 + JSR $DB3A ; PRINT STRING + JSR L4035 + JSR L4055 ; new high? + LDA #L40E8 + JSR $DB3A ; PRINT STRING + + LDA L40D0 ; put high score + STA $09C0 + LDA L40D1 + STA $09C1 + JSR L4035 + JMP L4090 + +L4035 LDA $09C0 ; PRINT VALUE + STA $9F + LDA $09C1 + STA $9E + LDA #$90 + STA $9D + LDA #$00 + STA $A0 + STA $A1 + STA $A2 + JSR $ED2E ; PRINTFAC + JSR CROUT + JSR CROUT + RTS + +*---------- New high score? + +L4055 LDA L40D1 ; NEW HIGH SCORE? + CMP $09C1 + BCC L4068 + BNE L4067 + LDA L40D0 + CMP $09C0 + BCC L4068 +L4067 RTS + +*--- Yes! + +L4068 LDA $09C1 ; YES + STA L40D1 ; SAVE SCORE + LDA $09C0 + STA L40D0 + LDA #$03 ; T3 + STA $031D + LDA #$0C ; SC + STA $031E + LDA #L4000 + STA $0329 + LDA #$02 ; write + JSR $033F ; call RWTS + JMP L4067 ; return + +L4090 BIT KBD + BPL L4090 + LDA #$00 + STA KBDSTROBE + JMP L1B34 ; NEXT STAGE + +*---------- + + DB $00 + DB $1C + DB $08 + DB $07 + DB $60 + DB $00 + DB $C8 + DB $AE + DB $D5 + DB $AA + DB $D4 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $10 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L40D0 DB $B1 ; HIGH SCORE +L40D1 DB $00 ; HIGH SCORE + DB $03 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L40D8 ASC "YOUR SCORE = "00 + DB $00 + DB $00 +L40E8 ASC "HIGH SCORE TO DATE = "00 + DB $00 + DB $00 diff --git a/tfbd/.DS_Store b/tfbd/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/tfbd/.DS_Store differ diff --git a/tfbd/DISASM.E.S b/tfbd/DISASM.E.S new file mode 100644 index 0000000..e1fd273 --- /dev/null +++ b/tfbd/DISASM.E.S @@ -0,0 +1,7 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 +GSOS2 EQU $E100B0 diff --git a/tfbd/DISASM.S b/tfbd/DISASM.S new file mode 100644 index 0000000..e9a76c2 --- /dev/null +++ b/tfbd/DISASM.S @@ -0,0 +1,17195 @@ + +*---------------------------------------------------------* +* Disassembled with The Flaming Bird Disassembler * +* (c) Phoenix corp. 1992,93 - All rights reserved * +*---------------------------------------------------------* + + mx %00 + rel + lst off + +*----------------------- + + use 4/Desk.Macs + use 4/Event.Macs + use 4/Int.Macs + use 4/Load.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Resource.Macs + use 4/SANE.Macs + use 4/Util.Macs + use 4/Window.Macs + + use DISASM.E + use DISASM.X + +*----------------------- + + BRL L020D45 + +L020003 DW $0000 +L020005 DW $0000 +L020007 DW $0000 +L020009 DB $00 +L02000A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L020059 DB $00 + DB $01 +L02005B DB $00 +L02005C DB $00 +L02005D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L02015B DB $01 + DB $10 +L02015D DB $00 + DB $00 + DB $02 + DB $10 + DB $00 + DB $00 + DB $03 + DB $10 + DB $00 + DB $00 + DB $04 + DB $10 + DB $00 + DB $00 + DB $05 + DB $10 + DB $00 + DB $00 + DB $06 + DB $10 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L020177 DB $00 +L020178 DB $00 +L020179 DB $00 + DB $00 +L02017B DB $00 +L02017C DB $00 +L02017D DB $00 + DB $00 +L02017F DB $00 +L020180 DB $00 +L020181 DB $00 + DB $00 +L020183 DB $00 +L020184 DB $00 +L020185 DB $00 + DB $00 +L020187 DB $00 +L020188 DB $00 +L020189 DB $00 + DB $00 +L02018B DB $00 +L02018C DB $00 +L02018D DB $00 + DB $00 + +L02018F STRL '9:Expand:' +L02019A STRL '9:Configs:' + +L0201A6 STR "The Flaming Bird Disassembler Written by Ferox - (c) 1994 Phoenix corporation" +L0201F7 STR 87">ERR: " + +L0201FF DA L020239 ; 0 Not enough memory + DA L02024C ; 1 Syntax + DA L020254 ; 2 Duplicate label + DA L020265 ; 3 Parameter out of range + DA L02027D ; 4 Invalid label + DA L02028C ; 5 Label not found + DA L02029D ; 6 Label expected + DA L0202AD ; 7 No such constant + DA L0202BF ; 8 File/Segment longer than 64K + DA L0202DD ; 9 File should be in OMF 1 or 2 + DA L0202FB ; 10 No file in memory + DA L02030E ; 11 Not an OMF load file + DA L020324 ; 12 Invalid segment number + DA L02033C ; 13 Invalid file type + DA L02034F ; 14 No resource fork + DA L020361 ; 15 Specified resource not found + DA L02037F ; 16 Not a code resource + DA L020394 ; 17 File is empty + DA L0203A3 ; 18 Not a TFBD expansion file + DA L0203BE ; 19 This expansion can't be runned with this version of TFBD + DA L0203F8 ; 20 This expansion can't process that file + DA L020420 ; 21 Not a configuration file + DA L02043A ; 22 Not enough bank zero memory + DA L020457 ; 23 Structure too complex + DA L02046E ; 24 Resource fork is empty + DA L020486 ; 25 No string in memory + DA L02049B ; 26 Needs System v6.0 or higher + DA L0204B8 ; 27 Misformatted OMF segment + DA L0204D2 ; 28 Not a valid LNK file + +L020239 STR "Not enough memory " +L02024C STR "Syntax " +L020254 STR "Duplicate label " +L020265 STR "Parameter out of range " +L02027D STR "Invalid label " +L02028C STR "Label not found " +L02029D STR "Label expected " +L0202AD STR "No such constant " +L0202BF STR "File/Segment longer than 64K " +L0202DD STR "File should be in OMF 1 or 2 " +L0202FB STR "No file in memory " +L02030E STR "Not an OMF load file " +L020324 STR "Invalid segment number " +L02033C STR "Invalid file type " +L02034F STR "No resource fork " +L020361 STR "Specified resource not found " +L02037F STR "Not a code resource " +L020394 STR "File is empty " +L0203A3 STR "Not a TFBD expansion file " +L0203BE STR "This expansion can't be runned with this version of TFBD " +L0203F8 STR "This expansion can't process that file " +L020420 STR "Not a configuration file " +L02043A STR "Not enough bank zero memory " +L020457 STR "Structure too complex " +L02046E STR "Resource fork is empty " +L020486 STR "No string in memory " +L02049B STR "Needs System v6.0 or higher " +L0204B8 STR "Misformatted OMF segment " +L0204D2 STR "Not a valid LNK file " +L0204E8 STR "GS/OS MLI $" +L0204F4 STR "Loader error $" + +L020503 ASC "LOA" ; 0 + ASC 'D' + ASC "TCL" ; 1 + ASC 'R' + ASC "TLOA" ; 2 + ASC 'D' + ASC "TSAV" ; 3 + ASC 'E' + ASC "GENLA" ; 4 + ASC 'B' + ASC "LIS" ; 5 + ASC 'T' + ASC "RE" ; 6 + ASC 'M' + ASC '?' ; 7 + ASC "INFO" ; 8 + ASC 'S' + ASC "QUI" ; 9 + ASC 'T' + ASC "BY" ; 10 + ASC 'E' + ASC "PF" ; 11 + ASC 'X' + ASC "OF" ; 12 + ASC 'F' + ASC "SE" ; 13 + ASC 'G' + ASC "SLOA" ; 14 + ASC 'D' + ASC '\' ; 15 + ASC "PH" ; 16 + ASC 'L' + ASC "RPH" ; 17 + ASC 'L' + ASC "PHL" ; 18 + ASC '2' + ASC "MATC" ; 19 + ASC 'H' + ASC "SR" ; 20 + ASC 'C' + ASC "CO" ; 21 + ASC 'M' + ASC "TAB" ; 22 + ASC 'S' + ASC "CA" ; 23 + ASC 'T' + ASC "RO" ; 24 + ASC 'M' + ASC "STOO" ; 25 + ASC 'L' + ASC "MLAB" ; 26 + ASC 'S' + ASC "MRE" ; 27 + ASC 'L' + ASC "REL" ; 28 + ASC '8' + ASC "RREL" ; 29 + ASC '8' + ASC "RE" ; 30 + ASC 'L' + ASC "T" ; 31 + ASC 'C' + ASC "TRO" ; 32 + ASC 'N' + ASC "TROF" ; 33 + ASC 'F' + ASC "BU" ; 34 + ASC 'G' + ASC "RLOA" ; 35 + ASC 'D' + ASC '$' ; 36 + ASC "SEDI" ; 37 + ASC 'T' + ASC "PO" ; 38 + ASC 'P' + ASC "DS" ; 39 + ASC 'K' + ASC "SSAV" ; 40 + ASC 'E' + ASC "HIS" ; 41 + ASC 'T' + ASC '-' ; 42 + ASC "CF" ; 43 + ASC 'G' + ASC "C" ; 44 + ASC 'S' + ASC "C" ; 45 + ASC '1' + ASC '[' ; 46 + ASC "M" ; 47 + ASC 'D' + ASC "TS" ; 48 + ASC 'T' + ASC "FIN" ; 49 + ASC 'D' + ASC "SCA" ; 50 + ASC 'N' + +* AV 202010 - Two new commands + + asc "CHO" ; 51 + asc 'N' + asc "CHOF" ; 52 + asc 'F' + + ASC 00 + +*--- The commands + +L0205B7 ADRL L020503 ; COMMANDS... + ADRL L040326 ; DB... + ADRL L040358 ; LAB... + ADRL L04036A ; ORG... + ADRL $00000000 + +*--- The routines + +L0205CB ADRL L021AC8 ; COMMANDS... + ADRL L021758 ; DB... + ADRL L021F0A ; LAB... + ADRL L0220D2 ; ORG... + +*--- The flags + +L0205DB ADRL L021B94 ; COMMANDS... + ADRL L02179C ; DB... + ADRL L021F22 ; LAB... + ADRL L0220EA ; ORG... + +L0205EB BRL L0205F8 + DW $7771 + STR 'InitAll' + +L0205F8 PHP + REP #$30 + JSR L02076E + _TLStartUp + PHA + _MMStartUp + PLA + STA $FE + STA L0209B1 + ORA #$0100 + STA $FC + JSR L020736 + JSR L02067C + BCC L02066B + JSR L02084C + JSR L02095E + JSR L0208B1 + JSR L0207C2 + JSR L02077C + JSL L041D74 + BCS L02066F + JSR L020694 + JSR L0206CA + JSR L02071D + PEA ^L020678 + PEA L020678 + PEA $200F ; GetSysPrefs + JSL GSOS2 + LDA L02067A + PHA + ORA #$8000 + STA L02067A + PEA ^L020678 + PEA L020678 + PEA $200C ; SetSysPrefs + JSL GSOS2 + PLA + STA L02067A + JSR L026659 + PLP + RTS + +L02066B LDA #$001A + DB $CF +L02066F LDA #$0000 + JSR L020AB8 + BRL L020A10 + +L020678 DW $0001 ; Parms for SetSysPrefs +L02067A DW $0000 ; preferences + +L02067C JSL GSOS + DW $202A ; GetVersion + ADRL L020690 + LDA L020692 + AND #$7FFF + CMP #$0400 + RTS + +L020690 DW $0001 ; Parms for GetVersion +L020692 DW $0000 ; version number + +L020694 LDA L020007 + BEQ L0206C9 + LDX #$0000 +L02069C LDA L02015B,X + TAY + ORA L02015D,X + BEQ L0206C9 + PHX + PHA + PHA + PEA $8022 + LDA L02015D,X + PHA + PHY + _LoadResource + PLA + PLY + PLX + BCS L0206C3 + STA L020177,X + TYA + STA L020179,X +L0206C3 INX + INX + INX + INX + BRA L02069C +L0206C9 RTS + +L0206CA LDA L020178 + BEQ L0206DE + LDX L020177 + LDY L020179 + JSR L023EF2 + STX L020719 + STY L020719+2 +L0206DE LDA L02017C + BEQ L0206F2 + LDX L02017B + LDY L02017D + JSR L023EF2 + STX L020711 + STY L020711+2 +L0206F2 PEA ^L02070D + PEA L02070D + PEA $2009 ; SetPrefix + JSL GSOS2 + PEA ^L020715 + PEA L020715 + PEA $2009 ; SetPrefix + JSL GSOS2 + RTS + +L02070D DW $0002 ; Parms for SetPrefix + DW $0002 ; prefix num +L020711 ADRL L02018F ; prefix ptr +L020715 DW $0002 ; Parms for SetPrefix + DW $0003 ; prefix num +L020719 ADRL L02019A ; prefix ptr + +L02071D LDA L020180 + BEQ L02072D + LDX L02017F + LDY L020181 + JSR L023EF2 + BRA L020731 +L02072D LDX #$0000 + TXY +L020731 JSL L044B1B + RTS + +L020736 PHP + SEP #$30 + JSL L030006 + JSL L030314 + ADR L0201A6 + JSR L020A56 + LDA #$16 + JSL L03006F + JSR L020A56 + LDX #$00 + LDY #$02 + JSL L0300E2 + JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F + LDX #$24 + STX $44 + LDX #$2A + STX $45 + LDX #$3A + STX $46 + PLP + RTS + + MX %00 + +L02076E PHP + REP #$30 + LDX #$00FE +L020774 STZ $00,X + DEX + DEX + BPL L020774 + PLP + RTS + +L02077C PHP + REP #$30 + LDA L0207BD + BEQ L020793 + LDA L0207BE + PHA + LDA L0207BC + PHA + _DisposeHandle +L020793 PHA + PHA + PEA $0000 + PEA $0FA0 + PEI $FC + PEA $0008 + PHA + PHA + _NewHandle + PLX + PLY + BCS L0207B9 + STX L0207BC + STY L0207BE + STZ L0207C0 + PLP + CLC + RTS + +L0207B9 PLP + SEC + RTS + +L0207BC DB $00 +L0207BD DB $00 +L0207BE DB $00 + DB $00 +L0207C0 DB $00 + DB $00 + +L0207C2 JSR L020836 + PHA + PHA + PEA $0000 + PEA $0100 + LDA $FE + PHA + PEA $C015 + PEA $0000 + PEA $0000 + _NewHandle + PLX + PLY + BCC L0207E5 + RTS + +L0207E5 STY L02080D+2 + STX L02080D + PHB + PHY + PLB + LDA |$0000,X + PLB + PLB + PHA + PEA $0800 + PEA $0000 + PEA $027F + PEA $0000 + PEA $00C7 + PEI $FE + _EMStartUp + RTS + +L02080D ADRL $00000000 + +L020811 PHA + _EMStatus + PLA + BEQ L020835 + _EMShutDown + LDA L02080D+2 + PHA + LDA L02080D + PHA + _DisposeHandle + JSR L020836 +L020835 RTS + +L020836 PHP + SEP #$30 + LDX #$10 +L02083B LDAL $E0C019 + BPL L02083B +L020841 LDAL $E0C019 + BMI L020841 + DEX + BNE L02083B + PLP + RTS + + MX %00 + +L02084C PEA ^L020898 + PEA L020898 + PEA $2027 ; GetName + JSL GSOS2 + LDX L021658 +L02085C LDA L021658,X + STA L021656+4,X + DEX + BNE L02085C + LDA #$39 + DEC + STA L021656+4 + INC L021658 + INC L021658 + PEI $FE + _ResourceStartUp + PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA ^L021658 + PEA L021658 + _OpenResourceFile + PLA + BCS L020897 + STA L020007 +L020897 RTS + +L020898 DW $0001 ; Parms for GetName + ADRL L021656 ; buffer ptr +L02089E LDA L020007 + PHA + _CloseResourceFile + _ResourceShutDown + RTS + +L0208B1 PHA + _SANEStatus + PLA + BNE L0208F2 + PHA + PHA + PEA $0000 + PEA $0100 + LDA $FE + PHA + PEA $C015 + PEA $0000 + PEA $0000 + _NewHandle + PLX + PLY + BCC L0208DC + RTS + +L0208DC STY L0208F5 + STX L0208F3 + PHB + PHY + PLB + LDA |$0000,X + PLB + PLB + PHA + _SANEStartUp +L0208F2 RTS + +L0208F3 DB $00 + DB $00 +L0208F5 DB $00 + DB $00 + +L0208F7 PHA + _SANEStatus + PLA + BEQ L020918 + _SANEShutDown + LDA L0208F5 + PHA + LDA L0208F3 + PHA + _DisposeHandle +L020918 RTS + +L020919 STR 'Phoenix~QuitCDA~' +L02092A ADR L0209AD + DB $00 +L02092E DB $00 + DB $00 +L020930 DB $00 + DB $00 + +L020932 STZ L020930 + PEA $C300 + PEA $8001 + PEA ^L020919 + PEA L020919 + PEA $0000 + PEA $0000 + PEA ^L02092E + PEA L02092E + _SendRequest + BCS L02095C + LDA L020930 + BEQ L02095C + RTS + +L02095C SEC + RTS + +L02095E LDA L020930 + BNE L020987 + JSR L020932 + BCS L020987 + PEA $C303 + PEA $8001 + PEA ^L020919 + PEA L020919 + PEA ^L02092A + PEA L02092A + PEA ^L02092E + PEA L02092E + _SendRequest +L020987 RTS + +L020988 JSR L020932 + BCS L0209AC + PEA $C304 + PEA $8001 + PEA ^L020919 + PEA L020919 + PEA ^L02092A + PEA L02092A + PEA ^L02092E + PEA L02092E + _SendRequest +L0209AC RTS + +L0209AD DB $00 + DB $00 + DB $00 + DB $00 +L0209B1 DW $0000 + DW $A55A + REP #$30 + PHK + PLB + PHD + LDA L020005 + TCD + JSR L020988 + SEP #$20 + LDAL $E0C025 + REP #$20 + BMI L0209EF + LDA $82 + BEQ L0209EF + JSL L044EAB + LDA L02018C + BEQ L0209E5 + LDX L02018B + LDY L02018D + JSR L023EF2 + PHY + PHX + BRA L0209EB +L0209E5 PEA ^L020A05 + PEA L020A05 +L0209EB JSL L042166 +L0209EF LDA L0267A9 + BEQ L0209F7 + JSR L0267B9 +L0209F7 PLD + LDA $02,S + STA $08,S + LDA $01,S + STA $07,S + PLA + PLA + PLA + CLC + RTL + +L020A05 STRL '0:TMP.BAK' +L020A10 REP #$30 + JSL L050537 + JSL L041DDC + JSL L040FF1 + JSR L020988 + JSR L020811 + JSR L0208F7 + JSR L02089E + LDA $FC + PHA + _DisposeAll + LDA $FE + PHA + _MMShutDown + JSL GSOS + DW $200C ; SetSysPrefs + ADRL L020678 + JSL GSOS + DW $2029 ; Quit + ADRL L020A54 + BRK $00 +L020A54 DW $0000 ; Parms for Quit +L020A56 PHP + SEP #$30 + LDX #$50 +L020A5B PHX + LDA #$53 + JSL L03022D + PLX + DEX + BNE L020A5B + PLP + RTS + +L020A68 PHP + REP #$30 + JSL L0300EE + PHX + PHY +L020A71 REP #$30 + LDA #$0017 + JSL L03006F + LDA #$FFFF + STA L020F6A + PEA ^L020F6C + PEA L020F6C + PEA ^L020009 + PEA L020009 + PEA $00BA + JSL L03050A + SEP #$30 + LDX L020009 + BEQ L020A71 +L020A9A LDA L020009,X + CMP #$A0 + BNE L020AA6 + DEX + BNE L020A9A + BRA L020A71 +L020AA6 REP #$30 + PLY + PLX + JSL L0300E2 + PLP + RTS + + PHB + PHK + PLB + JSR L020AB8 + PLB + RTL + +L020AB8 PHP + REP #$20 + SEP #$10 + AND #$007F + ASL + TAX + LDAL L0201FF,X + STAL L020AE8 + SEP #$20 + JSL L0300EE + PHX + PHY + LDX #$00 + LDY #$17 + JSL L0300E2 + JSR L020CED + JSL L030314 + ADR L0201F7 + JSL L030314 +L020AE8 ADR L0201FF + JSL L03034A + PLY + PLX + JSL L0300E2 + PLP + RTS + +L020AF7 PHP + REP #$30 + PHA + JSL L0300EE + PHX + PHY + LDX #$0000 + LDY #$0017 + JSL L0300E2 + JSR L020CED + JSL L030314 + ADR L0201F7 + JSL L030314 + ADR L0204E8 + LDA $05,S + PHA + JSL L030670 + LDA $05,S + LDX #$0000 +L020B28 LDY L020B61,X + BEQ L020B4E + CMP L020B61,X + BEQ L020B38 + INX + INX + INX + INX + BRA L020B28 +L020B38 INX + INX + LDA L020B61,X + STA L020B4B + JSL L0302E1 + STR ": " + JSL L030314 +L020B4B ADR L020BB0 +L020B4E JSL L0302E1 + STR " " + JSL L03034A + PLY + PLX + JSL L0300E2 + PLA + PLP + RTS + +L020B61 DW $0010 + DA L020B9F + DW $0027 + DA L020BB0 + DW $002B + DA L020BBA + DW $0040 + DA L020BD2 + DW $0044 + DA L020BEA + DW $0045 + DA L020BF9 + DW $0046 + DA L020C0A + DW $0048 + DA L020C19 + DW $0049 + DA L020C25 + DW $004A + DA L020C34 + DW $004C + DA L020C4D + DW $004D + DA L020C64 + DW $0050 + DA L020C7A + DW $0051 + DA L020C91 + DW $0058 + DA L020CA1 + DW $0000 + +L020B9F STR "Device not found" +L020BB0 STR "I/O Error" +L020BBA STR "Disk is write-protected" +L020BD2 STR "Invalid pathname syntax" +L020BEA STR "Path not found" +L020BF9 STR "Volume not found" +L020C0A STR "File not found" +L020C19 STR "Volume full" +L020C25 STR "Directory full" +L020C34 STR "Incompatible file format" +L020C4D STR "Unexpected end of file" +L020C64 STR "Position out of range" +L020C7A STR "File is already opened" +L020C91 STR "Directory error" +L020CA1 STR "Not a block device" + +L020CB4 PHP + REP #$30 + PHA + JSL L0300EE + PHX + PHY + LDX #$0000 + LDY #$0017 + JSL L0300E2 + JSR L020CED + JSL L030314 + ADR L0201F7 + JSL L030314 + ADR L0204F4 + LDA $05,S + PHA + JSL L030670 + JSL L03034A + PLY + PLX + JSL L0300E2 + PLA + PLP + RTS + +L020CED PHP + SEP #$30 + LDA #$A0 + STAL $E0C055 + JSR L020CFE + STAL $E0C054 + PLP +L020CFE PHP + SEP #$30 + LDX #$27 +L020D03 STAL $E007D0,X + DEX + BPL L020D03 + PLP + RTS + +L020D0C PHP + SEP #$30 + JSL L03074E + DB $0A + DB $0E + DB $1E + DB $31 + LDX #$21 + LDY #$0C + JSL L0300E2 + JSL L0302E1 + STR "Please wait..." + PLP + RTS + +L020D34 PHP + SEP #$30 + JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F + JSL L0300D1 + PLP + RTS + +L020D45 PHK + PLB + CLC + XCE + REP #$30 + TSC + STA L020003 + TDC + STA L020005 + JSR L0205EB + JSR L02728C + LDY #$0014 + LDX #$0015 + JSL L0300E2 + JSL L0302E1 + STR "Type ? for help, $ for shareware page." +L020D8E JSR L020A68 + JSR L020DE5 + BCC L020D9B + BVC L020D9B + BRL L020A10 +L020D9B LDA L0207BD + BNE L020DA5 + JSR L02077C + BCS L020D8E +L020DA5 LDX L0207BC + LDY L0207BE + JSR L023EF2 + STX $00 + STY $02 + CLC + LDA #$0050 + ADC $00 + STA $04 + LDA #$0000 + ADC $02 + STA $06 + LDY #$0F4E +L020DC4 LDA [$00],Y + STA [$04],Y + DEY + DEY + BPL L020DC4 + LDY #$004E +L020DCF LDA L020009,Y + STA [$00],Y + DEY + DEY + BPL L020DCF + LDA L0207C0 + CMP #$0032 + BCS L020D8E + INC L0207C0 + BRA L020D8E + +L020DE5 BRL L020DF6 + DW $7771 + STR 'ExecCommand' +L020DF6 PHP + REP #$30 + LDA L02000A + AND #$00FF + BNE L020E04 + BRL L020EBD +L020E04 LDX #$0000 +L020E07 LDA L0205B7+2,X + TAY + ORA L0205B7,X + BEQ L020E20 + LDA L0205B7,X + PHX + JSR L020EE1 + PLX + BCC L020E52 + INX + INX + INX + INX + BRA L020E07 +L020E20 LDA #L02000A + STA $F8 + LDA #^L020009 + STA $FA + JSR L020F52 + JSR L027040 + BCC L020E44 + JSR L021586 + JSR L026740 + BCS L020EAA + LDA L0283C2 + BEQ L020E71 + JSR L0267F3 + BRA L020E4C +L020E44 LDA L0283C2 + BEQ L020E71 + JSR L027076 +L020E4C JSR L021E04 + BRL L020EDC +L020E52 LDY L0205DB,X + STY $00 + LDY L0205DB+2,X + STY $02 + PHA + TAY + LDA [$00],Y + AND #$00FF + STA L020EDF + BIT #$0080 + BEQ L020E7A + LDA L0283C2 + BNE L020E7A + PLA +L020E71 LDA #$000A + JSR L020AB8 + PLP + CLC + RTS + +L020E7A PLA + LDY L0205CB,X + STY $00 + LDY L0205CB+2,X + STY $02 + ASL + ASL + TAY + LDA [$00],Y + BEQ L020EBD + DEC + PER L020EB4-1 + PHA + LDA #$0000 + TAX + TAY + PHP + SEP #$20 + PHA + LDAL $E0C025 + LSR + BCS L020EA5 + PLA + PLP + BRA L020EA9 +L020EA5 PLA + PLP + BRK $00 +L020EA9 RTS + + MX %00 + +L020EAA LDA #$0001 + JSR L020AB8 + PLP + SEC + CLV + RTS + +L020EB4 REP #$30 + BCC L020EC7 + BVS L020EC1 + JSR L020EC6 +L020EBD PLP + SEC + CLV + RTS + +L020EC1 PLP + SEC + SEP #$40 + RTS + +L020EC6 PHP +L020EC7 LDA L020EDF + BIT #$0020 + BEQ L020ED4 + PHA + JSR L020736 + PLA +L020ED4 BIT #$0040 + BEQ L020EDC + JSR L021E04 +L020EDC PLP + CLC + RTS + +L020EDF DB $00 + DB $00 + +L020EE1 PHP + REP #$30 + STA $00 + STY $02 + STZ $04 + SEP #$30 +L020EEC LDY #$00 + LDX #$00 +L020EF0 LDA [$00],Y + BEQ L020F4F + ORA #$80 + CMP L02000A,X + BEQ L020F22 + CMP #$C1 + BCC L020F0A + CMP #$DB + BCS L020F0A + ORA #$20 + CMP L02000A,X + BEQ L020F22 +L020F0A LDA [$00],Y + BPL L020F11 + INY + BRA L020F0A +L020F11 INY + TYA + CLC + ADC $00 + STA $00 + LDA #$00 + ADC $01 + STA $01 + INC $04 + BRA L020EEC +L020F22 LDA [$00],Y + BPL L020F2A + INX + INY + BRA L020EF0 +L020F2A INX + CPX #$01 + BEQ L020F38 + LDA L02000A,X + BEQ L020F38 + CMP #$A0 + BNE L020F0A +L020F38 REP #$30 + INX + TXA + CLC + ADC #L020009 + STA $F8 + LDA #^L020009 + STA $FA + JSR L020F52 + LDA $04 + PLP + CLC + RTS + +L020F4F PLP + SEC + RTS + +L020F52 PHP + SEP #$30 + LDY #$FF +L020F57 INY + LDA [$F8],Y + CMP #$A0 + BEQ L020F57 + REP #$30 + TYA + CLC + ADC $F8 + STA $F8 + PLP + RTS + +L020F68 DB $00 + DB $00 +L020F6A DB $00 + DB $00 + +L020F6C PLA + PHK + PLB + SEP #$30 + XBA + STA L020F98 + XBA + LDX L020F9A +L020F79 CMP L020F9A,X + BEQ L020F83 + DEX + BNE L020F79 + SEC + RTL + +L020F83 DEX + BIT L0283C2 + BMI L020F8E + LDA L020FBC,X + BMI L020F96 +L020F8E REP #$30 + TXA + ASL + TAX + JSR (L020FA6,X) +L020F96 CLC + RTL + +L020F98 DB $00 + DB $00 +L020F9A DB $0B + DB $0A + DB $0B + DB $08 + DB $02 + DB $0E + DB $12 + DB $03 + DB $13 + DB $2B + DB $2D + DB $2A + +L020FA6 DA L020FC7 + DA L02104E + DA L021166 + DA L021179 + DA L02118D + DA L0211C2 + DA L0211CE + DA L0211E0 + DA L0211EA + DA L021208 + DA L021251 + +L020FBC DB $00 + DB $00 + DB $80 + DB $80 + DB $80 + DB $00 + DB $00 + DB $00 + DB $80 + DB $80 + DB $00 + +L020FC7 LDA L020F98 + AND #$0010 + BEQ L020FD2 + BRL L02125A +L020FD2 BIT L0283C2 + BPL L020FDE + LDA $58 + BIT L020F68 + BPL L020FDF +L020FDE RTS + +L020FDF BIT $5C + BMI L020FE7 + CMP $3E + BCS L020FDE +L020FE7 LDA L020F98 + AND #$0001 + BEQ L021007 + LDX #$0000 + LDY #$0002 + JSL L0300E2 + LDA $5A + STA $56 + LDA $58 + STA $54 + LDY #$0014 + BRL L021034 +L021007 JSL L030139 + BIT $48 + BPL L021019 + LDA $54 + CLC + ADC #$0010 + STA $54 + BRA L021025 +L021019 PEI $54 + PEI $56 + JSL L0415A4 + STA $54 + STX $56 +L021025 LDX #$0000 + LDY #$0015 + JSL L0300E2 + LDA $58 + LDY #$0001 +L021034 JSL L0405F4 + STA $58 + STZ L020F68 + CPY #$00EF + BNE L02104D + CPX #$6502 + BNE L02104D + LDA #$FFFF + STA L020F68 +L02104D RTS + +L02104E LDA L020F98 + AND #$0010 + BEQ L021059 + BRL L021278 +L021059 BIT L0283C2 + BMI L02105F + RTS + +L02105F LDA $54 + BNE L02106C + PHA + JSL L04155D + CPX $56 + BEQ L0210DF +L02106C LDA L020F98 + AND #$0001 + BEQ L0210E0 +L021074 BIT $48 + BPL L0210A3 + LDA $54 + CMP #$0140 + BCC L021085 + SEC + SBC #$0140 + BRA L021088 +L021085 LDA #$0000 +L021088 STA $54 + LDX #$0000 + LDY #$0002 + JSL L0300E2 + LDA $54 + LDY #$0014 + JSL L0405F4 + STA $58 + STZ L020F68 + RTS + +L0210A3 PEI $54 + PEI $56 + JSL L04163A + PHA + PHX + PEA $0013 + JSL L041462 + STA $54 + STX $56 + LDX #$0000 + LDY #$0002 + JSL L0300E2 + LDA $56 + STA $5A + LDA $54 + LDY #$0014 + JSL L0405F4 + STA $58 + STZ L020F68 + CPY #$00EF + BNE L0210DF + LDA #$FFFF + STA L020F68 +L0210DF RTS + +L0210E0 BIT L020F68 + BPL L021100 + DEC $58 + BPL L021100 + STZ L020F68 + LDA $3E + STA $58 + BIT $48 + BPL L0210FC + CLC + LDA $54 + ADC #$0140 + BRA L0210FE +L0210FC LDA $3E +L0210FE STA $58 +L021100 BIT $48 + BPL L021125 + LDA $54 + CMP #$0010 + BCC L0210DF + SEC + SBC #$0010 + BRA L021114 + LDA #$0000 +L021114 STA $54 + LDA $58 + BIT L020F68 + BMI L021145 + SEC + SBC #$0010 + STA $58 + BRA L021145 +L021125 PEI $54 + PEI $56 + JSL L04163A + STA $54 + STX $56 + BIT L020F68 + BMI L021145 + PEI $58 + PEI $5A + JSL L04163A + STA $58 + STX $5A + STZ L020F68 +L021145 JSL L030193 + LDY #$0002 + LDX #$0000 + JSL L0300E2 + PEI $5A + LDA $56 + STA $5A + LDA $54 + LDY #$0001 + JSL L0405F4 + PLA + STA $5A + RTS + +L021166 LDA #$FFFF + EOR $48 + STA $48 + PEI $54 + JSL L04155D + STX $56 + JSR L021E04 + RTS + +L021179 PHP + REP #$30 + LDA #$0000 + STA $54 + PHA + JSL L04155D + STX $56 + JSR L021E04 + PLP + RTS + +L02118D STZ $56 + LDA $3E + BIT $48 + BPL L0211BD + BIT $5C + BMI L0211B4 + AND #$000F + PHA + LDA $3E + AND #$FFF0 + PLY + BEQ L0211A9 + CLC + ADC #$0010 +L0211A9 SEC + SBC #$0140 + BCS L0211B7 + LDA #$0000 + BRA L0211B7 +L0211B4 LDA #$FEC0 +L0211B7 STA $54 + JSR L021E04 + RTS + +L0211BD STA $54 + BRL L021074 +L0211C2 LDA #$8000 + EOR $5E + AND #$BFFF + STA $5E + BRA L0211D8 +L0211CE LDA #$4000 + EOR $5E + AND #$7FFF + STA $5E +L0211D8 BIT $48 + BPL L0211DF + BRL L021E04 +L0211DF RTS + +L0211E0 LDA #$2000 + EOR $5E + STA $5E + BRL L021E04 +L0211EA LDX #$001C +L0211ED LDA L021231,X + STA L021233,X + DEX + DEX + BPL L0211ED + LDA $54 + STA L021231 + LDA L02122F + CMP #$0010 + BCS L021207 + INC L02122F +L021207 RTS + +L021208 LDA L02122F + BEQ L021207 + DEC L02122F + LDY L021231 + STY $54 + LDX #$0000 +L021218 LDA L021233,X + STA L021231,X + INX + INX + CPX #$001E + BCC L021218 + PHY + JSL L04155D + STX $56 + BRL L021E04 +L02122F DB $00 + DB $00 +L021231 DB $00 + DB $00 +L021233 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L021251 JSR L025DD4 + JSR L020736 + BRL L021E04 +L02125A LDA L0207BD + BEQ L021277 + LDA L0207C0 + BEQ L021277 + LDA L020F6A + DEC + CMP L0207C0 + BCC L021271 + LDA L0207C0 + DEC +L021271 STA L020F6A + JSR L021295 +L021277 RTS + +L021278 LDA L0207BD + BEQ L021277 + LDA L0207C0 + BEQ L021277 + LDA L020F6A + INC + CMP L0207C0 + BCC L02128E + LDA #$0000 +L02128E STA L020F6A + JSR L021295 + RTS + +L021295 LDX L0207BC + LDY L0207BE + JSR L023EF2 + PHY + PHX + LDA L020F6A + ASL + ASL + ASL + ASL + PHA + ASL + ASL + ADC $01,S + TAY + PLA + LDX #$0000 + LDA $03,S + XBA + PHA + PLB + PLB +L0212B7 LDA ($01,S),Y + STAL L020009,X + INY + INX + CPX #$0050 + BCC L0212B7 + PHK + PLB + PLA + PLA + RTS + +L0212C9 PHP + REP #$30 + AND #$007F + CMP #$0030 + BCC L0212E6 + CMP #$0047 + BCS L0212E6 + CMP #$003A + BCC L0212E3 + CMP #$0041 + BCC L0212E6 +L0212E3 PLP + CLC + RTS + +L0212E6 PLP + SEC + RTS + +L0212E9 PHP + REP #$30 + AND #$007F + CMP #$0041 + BCC L021306 + CMP #$007B + BCS L021306 + CMP #$005B + BCC L021303 + CMP #$0061 + BCC L021306 +L021303 PLP + CLC + RTS + +L021306 PLP + SEC + RTS + +L021309 PHP + REP #$30 +L02130C LDA [$F8] + AND #$00FF + BEQ L02131D + INC $F8 + CMP #$00A0 + BEQ L02130C + PLP + CLC + RTS + +L02131D PLP + SEC + RTS + +L021320 PHP + REP #$30 +L021323 LDA [$F8] + AND #$00FF + BEQ L021336 + CMP #$00A0 + BNE L021333 + INC $F8 + BRA L021323 +L021333 PLP + CLC + RTS + +L021336 PLP + SEC + RTS + +L021339 PHP + REP #$30 + JSR L021367 + BCC L021344 + PLP + SEC + RTS + +L021344 BVS L021364 + BIT $F6 + BPL L021353 + CPY #$0000 + BNE L021353 + LDY $42 + BRA L021364 +L021353 PHY + PHA + JSL L042ABB + BCC L021364 + LDA #$0003 + JSR L020AB8 + PLP + SEC + RTS + +L021364 PLP + CLC + RTS + +L021367 PHP + REP #$30 + LDA [$F8] + AND #$00FF + CMP #$00A4 + BEQ L0213A6 + CMP #$00B0 + BCC L0213BB + CMP #$00BA + BCC L0213A8 + LDA #L0213D1 + JSR L021F2A + BCS L0213C1 + LDA L0213D1 + AND #$00FF + BEQ L0213C4 + PEA ^L0213D1 + PEA L0213D1 + JSL L0426C7 + BCS L0213A1 + CPX #$0004 + BNE L0213C8 + BRA L0213CD +L0213A1 LDA #$0005 + BRA L0213BE +L0213A6 INC $F8 +L0213A8 PEI $FA + PEI $F8 + LDX #$0006 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCC L0213CD +L0213BB LDA #$0001 +L0213BE JSR L020AB8 +L0213C1 PLP + SEC + RTS + +L0213C4 LDA #$0000 + TAY +L0213C8 PLP + CLC + SEP #$40 + RTS + +L0213CD PLP + CLC + CLV + RTS + +L0213D1 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L02141A CLC + HEX B0 +L02141C SEC + PHP + REP #$30 + BCS L02142C + STZ L021496 + JSR L021309 + BCS L021479 + BRA L021442 +L02142C JSR L021339 + BCS L02148E + CPY $42 + BNE L021488 + STA L021496 + JSR L021309 + BCS L021479 + CMP #$00AE + BEQ L021465 +L021442 CMP #$00AC + BNE L021491 + JSR L021564 + BCS L02148E + CMP #$0000 + BEQ L021488 + STA L021498 + DEC +L021455 CLC + ADC L021496 + BCS L021488 + BIT $5C + BMI L02147F + CMP $3E + BCS L021488 + BRA L02147F +L021465 JSR L021339 + BCS L02148E + CMP L021496 + BCC L021488 + SEC + SBC L021496 + INC + STA L021498 + BRA L02147F +L021479 LDA #$0001 + STA L021498 +L02147F LDA L021496 + LDY L021498 + PLP + CLC + RTS + +L021488 LDA #$0003 +L02148B JSR L020AB8 +L02148E PLP + SEC + RTS + +L021491 LDA #$0001 + BRA L02148B +L021496 DB $00 + DB $00 +L021498 DB $00 + DB $00 +L02149A PHP + REP #$30 + JSR L021309 + BCS L021511 + CMP #$00DB + BNE L021511 + STZ L02151F + LDA $3E + DEC + STA L021521 + LDA $42 + STA L021523 + LDA [$F8] + AND #$00FF + CMP #$00AE + BNE L0214C3 + INC $F8 + BRA L0214E6 +L0214C3 JSR L021339 + BCS L02151C + STA L02151F + STY L021523 + JSR L021309 + BCS L021511 + CMP #$00AE + BNE L02151C + LDA [$F8] + AND #$00FF + CMP #$00DD + BNE L0214E6 + INC $F8 + BRA L021502 +L0214E6 JSR L021339 + BCS L02151C + STA L021521 + CPY L021523 + BNE L021516 + CMP L02151F + BCC L021516 + JSR L021309 + BCS L021511 + CMP #$00DD + BNE L021511 +L021502 JSR L020F52 + LDA L02151F + LDX L021521 + LDY L021523 + PLP + CLC + RTS + +L021511 LDA #$0001 + BRA L021519 +L021516 LDA #$0003 +L021519 JSR L020AB8 +L02151C PLP + SEC + RTS + +L02151F DB $00 + DB $00 +L021521 DB $00 + DB $00 +L021523 DB $00 + DB $00 +L021525 PHP + REP #$30 + JSR L02149A + BCS L02153A + CPY $42 + BNE L021534 + PLP + CLC + RTS + +L021534 LDA #$0003 + JSR L020AB8 +L02153A PLP + SEC + RTS + +L02153D LDA L021542 + BRA L021542+2 +L021542 BIT $0800 + SEP #$20 + REP #$10 + AND #$7F + STA L021563 + JSR L021309 + AND #$7F + CMP L021563 + BNE L02155B + PLP + CLC + RTS + +L02155B LDA #$01 + JSR L020AB8 + PLP + SEC + RTS + +L021563 DB $00 + +L021564 PHP + REP #$30 + PEI $FA + PEI $F8 + LDX #$0004 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCS L02157D + PLP + CLC + RTS + +L02157D LDA #$0001 + JSR L020AB8 + PLP + SEC + RTS + +L021586 PHP + SEP #$20 + REP #$10 + LDY #$0000 +L02158E JSR L021309 + BCS L0215C2 + AND #$7F + CMP #$27 + BEQ L02159D + CMP #$22 + BNE L0215A5 +L02159D TYX + BNE L0215B9 + STA L0215CC + BRA L02158E +L0215A5 CMP #$2C + BEQ L0215C0 + CMP #$20 + BEQ L0215C0 + CMP #$2F + BNE L0215B3 + LDA #$3A +L0215B3 STA L0215CF,Y + INY + BRA L02158E +L0215B9 CMP L0215CC + BNE L0215B3 + BRA L0215C2 +L0215C0 DEC $F8 +L0215C2 LDA #$00 + STA L0215CF,Y + STY L0215CD + PLP + RTS + +L0215CC DB $00 +L0215CD DB $00 +L0215CE DB $00 +L0215CF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L021631 PHP + REP #$30 + JSR L021586 + JSL GSOS + DW $200E ; ExpandPath + ADRL L02164C + BCC L021649 + JSR L020AF7 + PLP + SEC + RTS + +L021649 PLP + CLC + RTS + +L02164C DW $0002 ; Parms for ExpandPath + ADRL L0215CD ; path name + ADRL L021656 ; new pathname + +L021656 DW $0100 +L021658 DS $0002 +L02165A DS $00FE + +L021758 ADRL L0217D6 ; 0 + ADRL L0217D5 ; 1 + ADRL L0217D4 ; 2 + ADRL L0217D3 ; 3 + ADRL L0217D2 ; 4 + ADRL L0217D1 ; 5 + ADRL L0217D0 ; 6 + ADRL L021858 ; 7 + ADRL L02186B ; 8 + ADRL L0218B5 ; 9 + ADRL L0219C7 ; 10 + ADRL L0218B0 ; 11 + ADRL L0217AD ; 12 + ADRL L0217AD ; 13 + ADRL L021A4A ; 14 + ADRL L021A45 ; 15 + ADRL L0217C6 ; 16 + +L02179C DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + DB $C0 + +L0217AD CLC + RTS + + PHP + REP #$30 + PHA + PHX + PEA $E030 + PHA + PHX + PEA $E020 + JSL L0435FB + JSL L0435FB + PLP + RTS + +L0217C6 INY + INY + INY + INY + INY + INY + INY + INY + INY + INY +L0217D0 INY +L0217D1 INY +L0217D2 INY +L0217D3 INY +L0217D4 INY +L0217D5 INY +L0217D6 LDA L021847,Y + AND #$00FF + STA L021843 + STY L021841 + JSR L021339 + BCS L0217F7 + STA L02183F + STY L02183D + JSR L02141A + BCS L0217F7 + STY L021845 + BRA L0217F9 +L0217F7 CLC + RTS + +L0217F9 LDX L021845 + DEX + BEQ L021819 + LDA L021841 + CMP #$0006 + BCS L021819 + INX + CLC + LDA #$0000 +L02180C ADC L021843 + DEX + BNE L02180C + STA L021843 + INX + STX L021845 +L021819 LDA L02183D + PHA + LDA L02183F + PHA + LDA L021843 + PHA + LDA L021841 + PHA + JSL L043069 + LDA L02183F + ADC L021843 + STA L02183F + DEC L021845 + BNE L021819 + CLC + RTS + +L02183D DB $00 + DB $00 +L02183F DB $00 + DB $00 +L021841 DB $00 + DB $00 +L021843 DB $00 + DB $00 +L021845 DB $00 + DB $00 +L021847 DB $01 + DB $02 + DB $02 + DB $02 + DB $04 + DB $03 + DB $0A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 +L021858 JSR L02141C + BCS L021869 + PEI $42 + PHA + PHY + PEA $0007 + JSL L043069 + CLC +L021869 CLV + RTS + +L02186B JSR L02141C + BCS L0218A9 + STA L0218AB + STY L0218AD + TYX + TAY + SEP #$20 + LDA [$3A],Y + STA L0218AF +L02187F INY + DEX + BEQ L021895 + LDA [$3A],Y + EOR L0218AF + BEQ L02187F + REP #$20 + LDA #$0007 + JSR L020AB8 + SEC + CLV + RTS + +L021895 REP #$20 + PEI $42 + LDA L0218AB + PHA + LDA L0218AD + PHA + PEA $0008 + JSL L043069 + CLC +L0218A9 CLV + RTS + +L0218AB DB $00 + DB $00 +L0218AD DB $00 + DB $00 +L0218AF DB $00 +L0218B0 LDA #$000B + BRA L0218B8 +L0218B5 LDA #$0009 +L0218B8 STA L0219C4 + CMP #$0009 + BEQ L0218CB + JSR L02141C + BCS L021902 + STA L0219BE + TYA + BRA L021920 +L0218CB JSR L021339 + BCS L021902 + STA L0219BE + CPY $42 + BNE L0218FC + JSR L021309 + BCS L021956 + CMP #$00AC + BEQ L021905 + CMP #$00AE + BNE L0218F6 + JSR L021339 + BCS L021902 + CMP L0219BE + BCC L0218FC + SBC L0219BE + INC + BRA L021920 +L0218F6 LDA #$0001 + BRA L0218FF +L0218FB PLA +L0218FC LDA #$0003 +L0218FF JSR L020AB8 +L021902 REP #$31 + RTS + +L021905 JSR L021564 + BCS L021902 + CMP #$0000 + BEQ L021902 + PHA + DEC + CLC + ADC L0219BE + BCS L0218FB + BIT $5C + BMI L02191F + CMP $3E + BCS L0218FB +L02191F PLA +L021920 STA L0219C2 + CLC + ADC L0219BE + STA L0219C0 +L02192A SEP #$20 + LDY L0219BE + JSR L021978 + LDX #$0001 +L021935 LDA [$3A],Y + AND #$7F + CMP #$20 + BCC L02194D + LDA [$3A],Y + EOR L0219C6 + BPL L02194D + DEX +L021945 JSR L02198D + BCS L021902 + JSR L021978 +L02194D CPX L0219C2 + BCS L021945 + INY + INX + BRA L021935 +L021956 SEP #$20 + LDY L0219BE + LDX #$0001 +L02195E LDA [$3A],Y + BEQ L021969 + INX + INY + CPY $3E + BNE L02195E + DEX +L021969 STX L0219C2 + REP #$20 + TXA + CLC + ADC L0219BE + STA L0219C0 + BRA L02192A + + MX %10 + +L021978 PHY +L021979 LDA [$3A],Y + PHA + AND #$80 + STA L0219C6 + PLA + AND #$7F + CMP #$20 + BCS L02198B + INY + BNE L021979 +L02198B PLY + RTS + + MX %00 + +L02198D REP #$20 + PEI $42 + LDA L0219BE + PHA + PHX + LDA L0219C4 + PHA + TXA + CLC + ADC L0219BE + STA L0219BE + TXA + SEC + SBC L0219C2 + EOR #$FFFF + INC + STA L0219C2 + JSL L043069 + LDX #$0001 + LDY L0219BE + CPY L0219C0 + SEP #$20 + RTS + +L0219BE DB $00 + DB $00 +L0219C0 DB $00 + DB $00 +L0219C2 DB $00 + DB $00 +L0219C4 DB $00 + DB $00 +L0219C6 DB $00 + +L0219C7 PHP + REP #$30 + JSR L021339 + BCS L021A35 + STA L021A41 + LDA #$0001 + STA L021A43 + JSR L021309 + BCS L0219EF + CMP #$00AC + BEQ L0219E7 + LDA #$0001 + BRA L021A3B +L0219E7 JSR L021564 + BCS L021A35 + STA L021A43 +L0219EF SEP #$20 + LDY L021A41 + LDA [$3A],Y + AND #$80 + STA L021A40 +L0219FB SEP #$20 + LDY L021A41 + LDX #$0001 + BRA L021A11 +L021A05 INX + INY + BEQ L021A38 + BIT $5D + BMI L021A11 + CPY $3E + BCS L021A38 +L021A11 LDA [$3A],Y + EOR L021A40 + BPL L021A05 + REP #$20 + PEI $42 + LDA L021A41 + PHA + PHX + TXA + CLC + ADC L021A41 + STA L021A41 + PEA $000A + JSL L043069 + DEC L021A43 + BNE L0219FB +L021A35 PLP + CLC + RTS + +L021A38 LDA #$0007 +L021A3B JSR L020AB8 + BRA L021A35 +L021A40 DB $00 +L021A41 DB $00 + DB $00 +L021A43 DB $00 + DB $00 +L021A45 LDA #$000F + BRA L021A4D +L021A4A LDA #$000E +L021A4D STA L021AC4 + JSR L021339 + BCS L021ABF + CPY $42 + BNE L021AB9 + STA L021AC2 + JSR L021309 + TAX + LDA #$0001 + BCS L021A6F + CPX #$00AC + BNE L021AB4 + JSR L021564 + BCS L021ABF +L021A6F STA L021AC6 +L021A72 LDY L021AC2 + LDA [$3A],Y + LDX L021AC4 + CPX #$000E + BEQ L021A82 + AND #$00FF +L021A82 INC + CPX #$000E + BNE L021A89 + INC +L021A89 PEI $42 + PHY + PHA + CLC + ADC L021AC2 + BCC L021AA0 + BEQ L021AA0 + PLA + PLA + PLA + LDA L021AC6 + DEC + BNE L021AAD + BRA L021AAF +L021AA0 STA L021AC2 + PHX + JSL L043069 + DEC L021AC6 + BNE L021A72 +L021AAD CLC + RTS + +L021AAF LDA #$0007 + BRA L021ABC +L021AB4 LDA #$0001 + BRA L021ABC +L021AB9 LDA #$0003 +L021ABC JSR L020AB8 +L021ABF SEC + CLV + RTS + +L021AC2 DB $00 + DB $00 +L021AC4 DB $00 + DB $00 +L021AC6 DB $00 + DB $00 + +L021AC8 ADRL L028C04 ; 0 LOAD + ADRL L021BC7 ; 1 TCLR + ADRL L021BF3 ; 2 TLOAD + ADRL L021C54 ; 3 TSAVE + ADRL L021CA6 ; 4 GENLAB + ADRL L021D90 ; 5 LIST + ADRL L021CAC ; 6 REM + ADRL L02438E ; 7 ? + ADRL L029C1B ; 8 INFOS + ADRL L021D8C ; 9 QUIT + ADRL L021D8C ; 10 BYE + ADRL L021E48 ; 11 PFX + ADRL L021E80 ; 12 OFF + ADRL L028F53 ; 13 SEG + ADRL L025C74 ; 14 SLOAD + ADRL L025CF4 ; 15 \ + ADRL L02238A ; 16 PHL + ADRL L02242B ; 17 RPHL + ADRL L0224CE ; 18 PHL2 + ADRL L022578 ; 19 MATCH + ADRL L022D08 ; 20 SRC + ADRL L0225D9 ; 21 COM + ADRL L025AFE ; 22 TABS + ADRL L02269B ; 23 CAT + ADRL L023D1C ; 24 ROM + ADRL L023DD3 ; 25 STOOL + ADRL L023D77 ; 26 MLABS + ADRL L023B82 ; 27 MREL + ADRL L023CC4 ; 28 REL8 + ADRL L023CC7 ; 29 RREL8 + ADRL L0221D9 ; 30 RELL + ADRL L023F00 ; 31 TC + ADRL L023F10 ; 32 TRON + ADRL L023F13 ; 33 TROFF + ADRL L023F19 ; 34 BUG + ADRL L029066 ; 35 RLOAD + ADRL L025543 ; 36 $ + ADRL L025D7E ; 37 SEDIT + ADRL L027365 ; 38 POP + ADRL L025DD4 ; 39 DSK + ADRL L025CC2 ; 40 SSAVE + ADRL L025B75 ; 41 HIST + ADRL L0267F2 ; 42 - + ADRL L0260AF ; 43 CFG + ADRL L024271 ; 44 CS + ADRL L0241FF ; 45 C1 + ADRL L026F79 ; 46 [ + ADRL L027330 ; 47 MD + ADRL L027798 ; 48 TST + ADRL L02779B ; 49 FIND + ADRL L027EB0 ; 50 SCAN + +* AV 202010 - Two new commands + + adrl doCHON ; 51 ONEON + adrl doCHOFF ; 52 ONEOFF + +*--- + +L021B94 DB $00 ; 0 LOAD + DB $C0 ; 1 TCLR + DB $C0 ; 2 TLOAD + DB $80 ; 3 TSAVE + DB $C0 ; 4 GENLAB + DB $80 ; 5 LIST + DB $C0 ; 6 REM + DB $00 ; 7 ? + DB $C0 ; 8 INFOS + DB $00 ; 9 QUIT + DB $00 ; 10 BYE + DB $00 ; 11 PFX + DB $C0 ; 12 OFF + DB $80 ; 13 SEG + DB $00 ; 14 SLOAD + DB $C0 ; 15 \ + DB $C0 ; 16 PHL + DB $C0 ; 17 RPHL + DB $C0 ; 18 PHL2 + DB $C0 ; 19 MATCH + DB $C0 ; 20 SRC + DB $C0 ; 21 COM + DB $C0 ; 22 TABS + DB $00 ; 23 CAT + DB $40 ; 24 ROM + DB $C0 ; 25 STOOL + DB $C0 ; 26 MLABS + DB $C0 ; 27 MREL + DB $C0 ; 28 REL8 + DB $C0 ; 29 RREL8 + DB $C0 ; 30 RELL + DB $C0 ; 31 TC + DB $80 ; 32 TRON + DB $80 ; 33 TROFF + DB $80 ; 34 BUG + DB $00 ; 35 RLOAD + DB $00 ; 36 $ + DB $60 ; 37 SEDIT + DB $00 ; 38 POP + DB $60 ; 39 DSK + DB $00 ; 40 SSAVE + DB $40 ; 41 HIST + DB $E0 ; 42 - + DB $00 ; 43 CFG + DB $C0 ; 44 CS + DB $C0 ; 45 C1 + DB $00 ; 46 [ + DB $00 ; 47 MD + DB $C0 ; 48 TST + DB $80 ; 49 FIND + DB $C0 ; 50 SCAN + +* AV 202010 - Two new commands + + db $00 ; 51 ONEON + db $00 ; 52 ONEOFF + +*--- end of AV 202010 + +L021BC7 JSL L041D74 + JSL L040F9B + LDA L0283CE + PHA + LDA L0283CC + PHA + JSL L0437E4 + JSR L020D0C + PEA $0000 + PEI $3E + PEA $FFFF + JSL L041015 + JSL L0410DD + JSR L020D34 + CLC + RTS + +L021BF3 PHP + REP #$30 + JSR L020D0C + LDA [$F8] + AND #$00FF + BEQ L021C0B + JSR L021586 + PEA ^L0215CD + PEA L0215CD + BRA L021C31 +L021C0B LDAL L041ACE + BNE L021C2B + LDA L020188 + BNE L021C1E + PEA ^L021C9B + PEA L021C9B + BRA L021C31 +L021C1E LDX L020187 + LDY L020189 + JSR L023EF2 + PHY + PHX + BRA L021C31 +L021C2B PEA $0000 + PEA $0000 +L021C31 JSL L041F95 + BCC L021C3C + JSR L020AF7 + BRA L021C4E +L021C3C REP #$20 + LDA L0283CE + PHA + LDA L0283CC + PHA + JSL L0437E4 + JSL L042328 +L021C4E JSR L020D34 + PLP + CLC + RTS + +L021C54 PHP + REP #$30 + LDA [$F8] + AND #$00FF + BEQ L021C69 + JSR L021586 + PEA ^L0215CD + PEA L0215CD + BRA L021C8F +L021C69 LDAL L041ACE + BNE L021C89 + LDA L020188 + BNE L021C7C + PEA ^L021C9B + PEA L021C9B + BRA L021C8F +L021C7C LDX L020187 + LDY L020189 + JSR L023EF2 + PHY + PHX + BRA L021C8F +L021C89 PEA $0000 + PEA $0000 +L021C8F JSL L042166 + BCC L021C98 + JSR L020AF7 +L021C98 PLP + CLC + RTS + +L021C9B STRL '0:Temps.T' +L021CA6 JSL L0443B3 + CLC + RTS + +L021CAC PHP + REP #$30 + STZ L021D33 +L021CB2 JSR L021309 + BCC L021CC3 + LDA L021D33 + BEQ L021CCD + LDA #$0000 + LDY $3E + BRA L021D04 +L021CC3 CMP #$00AC + BEQ L021CFF + JSR L021CD6 + BCC L021CB2 +L021CCD LDA #$0001 + JSR L020AB8 +L021CD3 PLP + CLC + RTS + +L021CD6 CMP #$00C3 + BNE L021CE3 + LDA #$0001 + TSB L021D33 + CLC + RTS + +L021CE3 CMP #$00CC + BNE L021CF0 + LDA #$0002 + TSB L021D33 + CLC + RTS + +L021CF0 CMP #$00C4 + BNE L021CFD + LDA #$0004 + TSB L021D33 + CLC + RTS + +L021CFD SEC + RTS + +L021CFF JSR L02141C + BCS L021CD3 +L021D04 STA L021D2D + TYA + BNE L021D0B + DEC +L021D0B ADC L021D2D + STA L021D2F + LDA L021D33 + LSR + PHA + BCC L021D1B + JSR L021D35 +L021D1B PLA + LSR + PHA + BCC L021D23 + JSR L021D57 +L021D23 PLA + LSR + BCC L021D2A + JSR L021D79 +L021D2A PLP + CLC + RTS + +L021D2D DB $00 + DB $00 +L021D2F DB $00 + DB $00 + DB $00 + DB $00 +L021D33 DB $00 + DB $00 +L021D35 LDA L021D2D + JSL L0416F3 + TAY +L021D3D LDA #$8000 + JSL L04172C + BCS L021D56 + CPY L021D2F + BCS L021D56 + PHY + PEI $42 + PHY + JSL L043563 + PLY + BRA L021D3D +L021D56 RTS + +L021D57 LDA L021D2D + JSL L0416F3 +L021D5E TAY + LDA #$4000 + JSL L04172C + BCS L021D78 + CPY L021D2F + BCS L021D78 + PHY + PEI $42 + PHY + JSL L0429D3 + PLA + BRA L021D5E +L021D78 RTS + +L021D79 PEI $42 + LDA L021D2D + PHA + LDA L021D2F + SEC + SBC $01,S + INC + PHA + JSL L044E36 + RTS + +L021D8C SEP #$40 + SEC + RTS + +L021D90 PHP + REP #$30 + JSR L021339 + BCC L021D9B +L021D98 PLP + CLC + RTS + +L021D9B CPY $42 + BEQ L021DA7 + LDA #$0003 + JSR L020AB8 + BRA L021D98 +L021DA7 TAY + LDA [$F8] + AND #$00FF + CMP #$00AA + PHP + TYA + PLP + BEQ L021DBA + PHA + JSL L0416D7 +L021DBA PLP +L021DBB PHP + REP #$30 + BIT L0283C2 + BPL L021E01 + PHA + JSL L0300EE + PLA + PHY + PHX + PHA + LDY #$0002 + LDX #$0000 + JSL L0300E2 + PLA + STA $54 + PHA + PHA + JSL L04155D + STX $56 + STX $5A + PLA + LDY #$0014 + JSL L0405F4 + STA $58 + STZ L020F68 + CPY #$00EF + BNE L021DFB + LDA #$FFFF + STA L020F68 +L021DFB PLX + PLY + JSL L0300E2 +L021E01 PLP + CLC + RTS + +L021E04 PHP + REP #$30 + BIT L0283C2 + BPL L021E42 + JSL L0300EE + PHY + PHX + LDX #$0000 + LDY #$0002 + JSL L0300E2 + LDA $56 + STA $5A + LDA $54 + LDY #$0014 + JSL L0405F4 + STA $58 + STZ L020F68 + CPY #$00EF + BNE L021E39 + LDA #$FFFF + STA L020F68 +L021E39 PLX + PLY + JSL L0300E2 + PLP + CLC + RTS + +L021E42 JSR L020D34 + PLP + CLC + RTS + +L021E48 SEP #$20 + LDA [$F8] + BNE L021E51 + JMP L0273A6 + +L021E51 LDX #$0000 +L021E54 JSR L021309 + BCS L021E61 + AND #$7F + STA L02005D,X + INX + BRA L021E54 +L021E61 REP #$20 + STX L02005B + JSL GSOS + DW $2009 ; SetPrefix + ADRL L021E78 + BCC L021E75 + JSR L020AF7 +L021E75 CLC + CLV + RTS + +L021E78 DW $0002 ; Parms for SetPrefix + DW $0000 ; prefix num + ADRL L02005B ; prefix ptr +L021E80 PHP + REP #$30 + JSR L021339 + BCC L021E8B + BRL L021F01 +L021E8B STA L021F04 + STY L021F06 + JSR L021309 + BCC L021EDF + LDA L021F04 + LDY L021F06 + CPY $42 + BNE L021EFB + JSL L0410BB + BIT #$8000 + BNE L021ED0 + LDY L021F04 + LDA [$3A],Y + JSL L04037A + TYX + INC L021F04 +L021EB6 LDY L021F04 + LDA [$3A],Y + CPX #$0002 + BCS L021ECB + AND #$00FF + CMP #$0080 + BCC L021ECB + ORA #$FF00 +L021ECB STA L021F08 + BRA L021EE1 +L021ED0 LDY L021F06 + PHY + LDA L021F04 + PHA + JSL L04349E + TYX + BRA L021EB6 +L021EDF BRA L021EF6 +L021EE1 LDA L021F06 + PHA + LDA L021F04 + PHA + LDA L021F08 + PHA + PEA $0000 + JSL L043813 + BRA L021F01 +L021EF6 LDA #$0001 + BRA L021EFE +L021EFB LDA #$0003 +L021EFE JSR L020AB8 +L021F01 PLP + CLC + RTS + +L021F04 DB $00 + DB $00 +L021F06 DB $00 + DB $00 +L021F08 DB $00 + DB $00 + +L021F0A ADRL L021FA1 ; 0 LAB + ADRL L021F9A ; 1 ENT + ADRL L021F28 ; 2 EXT + ADRL L021F28 ; 3 EXD + ADRL L021F93 ; 4 EQU + ADRL L021F28 ; 5 DP + +L021F22 DB $C0 ; 0 LAB + DB $C0 ; 1 ENT + DB $C0 ; 2 EXT + DB $C0 ; 3 EXD + DB $C0 ; 4 EQU + DB $C0 ; 5 DP + +L021F28 CLC + RTS + +L021F2A PHP + REP #$30 + STA $04 + JSR L020F52 + SEP #$30 + LDY #$00 +L021F36 LDA [$F8],Y + BEQ L021F85 + CMP #$A0 + BEQ L021F85 + CMP #$AC + BEQ L021F85 + CMP #$AE + BEQ L021F85 + CMP #$BA + BEQ L021F7C + CMP #$B0 + BCC L021F6E + CMP #$BA + BCC L021F76 + CMP #$FE + BEQ L021F80 + CMP #$C1 + BCC L021F6E + CMP #$FB + BCS L021F6E + CMP #$DD + BEQ L021F7C + CMP #$DF + BEQ L021F80 + CMP #$DB + BCC L021F80 + CMP #$E1 + BCS L021F80 +L021F6E LDA #$04 + JSR L020AB8 + PLP + SEC + RTS + +L021F76 CPY #$00 + BNE L021F80 + BRA L021F6E +L021F7C CPY #$00 + BNE L021F6E +L021F80 INY + STA ($04),Y + BRA L021F36 +L021F85 TYA + STA ($04) + REP #$20 + TYA + CLC + ADC $F8 + STA $F8 + PLP + CLC + RTS + +L021F93 PHP + SEP #$30 + LDA #$04 + BRA L021FA6 +L021F9A PHP + SEP #$30 + LDA #$01 + BRA L021FA6 +L021FA1 PHP + SEP #$30 + LDA #$00 +L021FA6 STA L022085 + REP #$30 + JSR L021367 + BCS L022013 + BVS L021FCD + STA L022081 + STY L022083 + LDX L022085 + CPX #$0004 + BCS L021FD3 + PHY + PHA + JSL L042ABB + BCC L021FCD + LDA #$0003 + BRA L022010 +L021FCD STA L022081 + STY L022083 +L021FD3 JSR L021309 + BCS L022035 + CMP #$00AC + BEQ L021FE6 + LDA #$0001 + JSR L020AB8 + PLP + CLC + RTS + +L021FE6 LDA #L022089 + JSR L021F2A + BCS L022013 + LDA L022089 + AND #$00FF + BEQ L022064 + LDA L02208A + AND #$00FF + CMP #$00BA + BEQ L022016 + PEA ^L022089 + PEA L022089 + JSL L0426C7 + BCS L022016 + LDA #$0002 +L022010 JSR L020AB8 +L022013 PLP + CLC + RTS + +L022016 JSR L022063 + LDA L022083 + PHA + LDA L022081 + PHA + PEA $0000 + LDA L022085 + PHA + PEA ^L022089 + PEA L022089 + JSL L042748 +L022032 PLP + CLC + RTS + +L022035 LDA L022085 + CMP #$0001 + BNE L022064 + STZ L022089 + LDA L022083 + PHA + LDA L022081 + PHA + PEA ^L022089 + PEA L022089 + JSL L0428B4 + BCS L022032 + LDA L022089 + AND #$00FF + BEQ L02205E + BRA L022016 +L02205E LDA #$0006 + BRA L022010 +L022063 PHP +L022064 LDA L022083 + PHA + LDA L022081 + PHA + LDA L022085 + CMP #$0004 + BCC L02207A + JSL L0429B6 + BRA L02207E +L02207A JSL L0429D3 +L02207E PLP + CLC + RTS + +L022081 DB $00 + DB $00 +L022083 DB $00 + DB $00 +L022085 DB $00 + DB $00 + DB $00 + DB $00 +L022089 DB $00 +L02208A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L0220D2 ADRL L02218E ; 0 ORG + ADRL L0220F0 ; 1 MX + ADRL $00000000 ; 2 ORG + ADRL $00000000 ; 3 " " + ADRL L02233C ; 4 DBR + ADRL $00000000 ; 5 B=K + +L0220EA DB $C0 ; 0 ORG + DB $C0 ; 1 MX + DB $00 ; 2 ORG + DB $00 ; 3 " " + DB $C0 ; 4 DBR + DB $00 ; 5 B=K + +L0220F0 PHP + REP #$30 + LDA [$F8] + AND #$00FF + CMP #$00A5 + BEQ L022139 + JSR L021339 + BCC L022105 + BRL L022187 +L022105 STA L02218A + JSR L021309 + BCS L022114 + CMP #$00AC + BNE L022181 + BRA L022124 +L022114 JSR L022119 + BRA L022187 +L022119 PEI $42 + LDA L02218A + PHA + JSL L042D9E + RTS + +L022124 JSR L022150 + BCS L022181 + PEI $42 + LDA L02218A + PHA + LDA L02218C + PHA + JSL L042D43 + BRA L022187 +L022139 JSR L022150 + BCS L022181 + SEP #$20 + PHA + AND #$0F + STA $31 + PLA + LSR + LSR + LSR + LSR + STA $30 + REP #$20 + BRA L022187 +L022150 SEP #$20 + JSR L021309 + BCS L022174 + CMP #$A5 + BNE L022174 + JSR L022178 + BCS L022174 + ASL + ASL + ASL + ASL + STA L02218C + JSR L022178 + BCS L022174 + ORA L02218C + STA L02218C + CLC + HEX B0 +L022174 SEC + REP #$20 + RTS + + MX %10 +L022178 JSR L021309 + SEC + SBC #$B0 + CMP #$02 + RTS + + MX %00 +L022181 LDA #$0001 + JSR L020AB8 +L022187 PLP + CLC + RTS + +L02218A DB $00 + DB $00 +L02218C DB $00 + DB $00 +L02218E PHP + REP #$30 + JSR L021339 + BCC L022199 +L022196 PLP + CLC + RTS + +L022199 STA L0221D7 + JSR L021309 + BCS L0221CB + CMP #$00AC + BEQ L0221AE + LDA #$0001 + JSR L020AB8 +L0221AC BRA L022196 +L0221AE JSR L021367 + BCS L022196 + LDX L0221D7 + PEI $42 + PHX + PEA $0000 + PHY + PHA + PEI $42 + PHX + JSL L042C85 + JSL L042BC0 + BRA L022196 +L0221CB PEI $42 + LDA L0221D7 + PHA + JSL L042C85 + BRA L022196 +L0221D7 DB $00 + DB $00 +L0221D9 PHP + REP #$30 + JSR L021339 + BCC L0221E4 +L0221E1 PLP + CLC + RTS + +L0221E4 STA L022330 + STZ L022334 + STZ L022336 + JSR L021309 + BCC L02221B + LDA L022330 + JSL L040586 + STA L022332 + CPY #$0000 + BNE L02220F + DEC + STA L022332 + INC L022330 + CMP #$0002 + BCC L0221E1 + BRA L022244 +L02220F CMP #$0005 + BCS L0221E1 + CMP #$0002 + BCC L0221E1 + BRA L022244 +L02221B CMP #$00AC + BEQ L022223 + BRL L022323 +L022223 JSR L021309 + SEC + SBC #$00B0 + BNE L02222F + BRL L022328 +L02222F CMP #$0005 + BCC L022237 + BRL L022328 +L022237 STA L022332 + STZ L022334 + LDA [$F8] + AND #$00FF + BNE L022280 +L022244 LDY L022330 + LDA [$3A],Y + STA L022338 + INY + INY + LDA [$3A],Y + AND #$00FF + STA L02233A + LDA L022332 + CMP #$0003 + BCS L02226B + PEI $42 + LDA L022330 + PHA + JSL L042A5C + STY L02233A +L02226B LDA L02233A + PHA + LDA L022338 + PHA + JSL L042ABB + STA L022338 + STY L02233A + BRL L0222FE +L022280 JSR L02153D + BCC L022288 + BRL L022320 +L022288 LDA [$F8] + AND #$00FF + CMP #$00AD + BNE L02229B + JSR L021309 + LDA #$FFFF + STA L022334 +L02229B PEI $FA + PEI $F8 + LDX #$0002 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCS L022323 + BIT L022334 + BPL L0222B7 + EOR #$FFFF + INC +L0222B7 STA L022334 + JSR L02153D + BCS L022320 + JSR L021339 + BCS L022320 + STA L022338 + STY L02233A + JSR L021309 + BCS L0222FE + CMP #$00AB + BEQ L0222DF + CMP #$00AD + BNE L022323 + LDA #$FFFF + STA L022336 +L0222DF PEI $FA + PEI $F8 + LDX #$0002 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCS L022323 + BIT L022336 + BPL L0222FB + EOR #$FFFF + INC +L0222FB STA L022336 +L0222FE PEI $42 + LDA L022330 + PHA + LDA L022332 + PHA + SEP #$20 + LDA L022336 + PHA + LDA L022334 + PHA + REP #$20 + LDY L02233A + PHY + LDA L022338 + PHA + JSL L043774 +L022320 PLP + CLC + RTS + +L022323 LDA #$0001 + BRA L02232B +L022328 LDA #$0003 +L02232B JSR L020AB8 + BRA L022320 +L022330 DB $00 + DB $00 +L022332 DB $00 + DB $00 +L022334 DB $00 + DB $00 +L022336 DB $00 + DB $00 +L022338 DB $00 + DB $00 +L02233A DB $00 + DB $00 +L02233C PHP + REP #$30 + JSR L021339 + BCS L022385 + STA L022388 + JSR L021309 + BCS L022373 + CMP #$00AC + BNE L02237F + PEI $FA + PEI $F8 + LDX #$0002 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + AND #$00FF + TAX + PEI $42 + LDA L022388 + PHA + PHX + JSL L042E01 + BRA L022385 +L022373 PEI $42 + LDA L022388 + PHA + JSL L042ED4 + BRA L022385 +L02237F LDA #$0001 + JSR L020AB8 +L022385 PLP + CLC + RTS + +L022388 DB $00 + DB $00 +L02238A PHP + REP #$30 + JSR L021339 + BCS L0223EB + STA L022425 + CPY $42 + BNE L0223EB + TAY + INY + LDA [$3A],Y + STA L022429 + PHA + INY + INY + INY + LDA [$3A],Y + STA L022427 + PHA + JSL L042ABB + BCS L0223EE + STA L022427 + STY L022429 + PEI $42 + LDA L022425 + INC + PHA + PEA $0002 + PEA $00F0 + LDA L022429 + PHA + LDA L022427 + PHA + JSL L043774 + PEI $42 + LDA L022425 + CLC + ADC #$0004 + PHA + PEA $0002 + PEA $0000 + LDA L022429 + PHA + LDA L022427 + PHA + JSL L043774 +L0223EB PLP + CLC + RTS + +L0223EE PEI $42 + LDA L022425 + INC + PHA + PEA $0002 + PEA $00F0 + LDA L022429 + PHA + LDA L022427 + PHA + JSL L043772 + PEI $42 + LDA L022425 + CLC + ADC #$0004 + PHA + PEA $0002 + PEA $0000 + LDA L022429 + PHA + LDA L022427 + PHA + JSL L043772 + BRA L0223EB +L022425 DB $00 + DB $00 +L022427 DB $00 + DB $00 +L022429 DB $00 + DB $00 +L02242B PHP + REP #$30 + JSR L021339 + BCS L02248E + CPY $42 + BNE L02248E + STA L0224C8 + TAY + INY + LDA [$3A],Y + STA L0224CA + PHA + INY + INY + INY + LDA [$3A],Y + STA L0224CC + PLX + PHA + PHX + JSL L042ABB + BCS L022491 + STA L0224CA + STY L0224CC + PEI $42 + LDA L0224C8 + INC + PHA + PEA $0002 + PEA $0000 + LDA L0224CC + PHA + LDA L0224CA + PHA + JSL L043774 + PEI $42 + LDA L0224C8 + CLC + ADC #$0004 + PHA + PEA $0002 + PEA $00F0 + LDA L0224CC + PHA + LDA L0224CA + PHA + JSL L043774 +L02248E PLP + CLC + RTS + +L022491 PEI $42 + LDA L0224C8 + INC + PHA + PEA $0002 + PEA $0000 + LDA L0224CC + PHA + LDA L0224CA + PHA + JSL L043772 + PEI $42 + LDA L0224C8 + CLC + ADC #$0004 + PHA + PEA $0002 + PEA $00F0 + LDA L0224CC + PHA + LDA L0224CA + PHA + JSL L043772 + BRA L02248E +L0224C8 DB $00 + DB $00 +L0224CA DB $00 + DB $00 +L0224CC DB $00 + DB $00 +L0224CE PHP + REP #$30 + JSR L021339 + BCS L02253B + CPY $42 + BNE L02253B + STA L022570 + TAY + LDA [$3A],Y + STA L022576 + JSR L02153D + BCS L02253B + JSR L021339 + BCS L02253B + CPY $42 + BNE L02253B + STA L022572 + TAY + LDA [$3A],Y + STA L022574 + LDY L022576 + PHY + PHA + JSL L042ABB + BCS L02253E + STA L022574 + STY L022576 + PEI $42 + LDA L022570 + PHA + PEA $0002 + PEA $00F0 + LDA L022576 + PHA + LDA L022574 + PHA + JSL L043774 + PEI $42 + LDA L022572 + PHA + PEA $0002 + PEA $0000 + LDA L022576 + PHA + LDA L022574 + PHA + JSL L043774 +L02253B PLP + CLC + RTS + +L02253E PEI $42 + LDA L022570 + PHA + PEA $0002 + PEA $00F0 + LDA L022576 + PHA + LDA L022574 + PHA + JSL L043772 + PEI $42 + LDA L022572 + PHA + PEA $0002 + PEA $0000 + LDA L022576 + PHA + LDA L022574 + PHA + JSL L043772 + BRA L02253B +L022570 DB $00 + DB $00 +L022572 DB $00 + DB $00 +L022574 DB $00 + DB $00 +L022576 DB $00 + DB $00 +L022578 PHP + REP #$30 + STZ L0225D7 +L02257E JSR L021309 + BCS L0225BA + JSR L022591 + BCC L02257E +L022588 LDA #$0001 + JSR L020AB8 + PLP + CLC + RTS + +L022591 CMP #$00C3 + BNE L02259E + LDA #$0001 + TSB L0225D7 + CLC + RTS + +L02259E CMP #$00CC + BNE L0225AB + LDA #$0002 + TSB L0225D7 + CLC + RTS + +L0225AB CMP #$00C4 + BNE L0225B8 + LDA #$0004 + TSB L0225D7 + CLC + RTS + +L0225B8 SEC + RTS + +L0225BA LDA L0225D7 + BEQ L022588 + LSR + PHA + BCC L0225C3 +L0225C3 PLA + LSR + PHA + BCC L0225D0 + JSL L044A2D + JSL L044A71 +L0225D0 PLA + LSR + BCC L0225D4 +L0225D4 PLP + CLC + RTS + +L0225D7 DB $00 + DB $00 +L0225D9 JSR L021339 + BCS L02261B + STA L022650 + STY L02264E + JSR L021309 + BCS L022625 + CMP #$00AC + BNE L02261D + SEP #$20 + LDY #$0000 +L0225F3 LDA [$F8],Y + BEQ L0225FD + STA L022653,Y + INY + BRA L0225F3 +L0225FD SEP #$10 + STY L022652 + REP #$30 + CPY #$0000 + BEQ L02261D + LDA L02264E + PHA + LDA L022650 + PHA + PEA ^L022652 + PEA L022652 + JSL L04386A +L02261B CLC + RTS + +L02261D LDA #$0000 + JSR L020AB8 + CLC + RTS + +L022625 LDA L02264E + EOR $42 + BNE L02263A + LDA L022650 + PHA + PEA $0001 + PEA $0400 + JSL L041015 +L02263A LDA L02264E + PHA + LDA L022650 + PHA + PEA $0001 + PEA $FF66 + JSL L0435FB + CLC + RTS + +L02264E DB $00 + DB $00 +L022650 DB $00 + DB $00 +L022652 DB $00 +L022653 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L02269B JSR L020D34 + JSL L030314 + ADR L0228A4 + JSL L030314 + ADR L0228F5 + JSL L030035 + DB $04 + DB $15 + DB $00 + DB $4F + JSR L021586 + LDA L0215CD + BNE L0226C5 + INC L0215CD + LDA #$0030 + STA L0215CF + +L0226C5 PEA ^L022838 + PEA L022838 + PEA $2010 ; Open + JSL GSOS2 + BCC L0226D7 + BRL L02275C +L0226D7 LDA L02283A + STA L022846 + STA L022842 + STZ L02284A + STZ L02284C + PEA ^L022844 + PEA L022844 + PEA $201C ; GetDirEntry + JSL GSOS2 + BCS L022759 + LDA #$0001 + STA L022832 + LDA L022852 + STA L022836 + BEQ L02272F + CMP #$0012 + BCC L02270B + LDA #$0012 +L02270B STA L022834 + LDA L022832 +L022711 STA L02284C + JSR L022824 + BCS L022759 + JSR L022946 + LDA L02284C + INC + CMP L022834 + BEQ L022727 + BCS L02272F +L022727 PHA + JSL L0302D4 + PLA + BRA L022711 +L02272F SEP #$20 +L022731 JSL L03059F + BCS L022731 + XBA + TAY + XBA + REP #$20 + AND #$00FF + CMP #$008D + BEQ L022769 + CMP #$009B + BEQ L022769 + CMP #$008A + BEQ L022786 + CMP #$008B + BNE L02272F + BRL L0227DA + JSR L020AF7 +L022759 JSR L022774 +L02275C SEP #$20 + STAL $E0C001 + REP #$20 + JSR L020AF7 + BRA L02276C +L022769 JSR L022774 +L02276C JSR L020D34 + JSR L021E04 + CLC + RTS + +L022774 PHP + PHA + PEA ^L022840 + PEA L022840 + PEA $2014 ; Close + JSL GSOS2 + PLA + PLP + RTS + +L022786 LDA L022834 + CMP L022836 + BCS L02272F + TYA + LSR + BCC L0227B4 + JSL L0300D1 + LDA L022834 + CLC + ADC #$0012 + CMP L022836 + BCC L0227A7 + LDA L022836 + BRA L0227A7 +L0227A7 STA L022834 + SEC + SBC #$0011 + STA L022832 + BRL L022711 +L0227B4 LDA L022834 + INC + STA L022834 + STA L02284C + INC L022832 + JSR L022824 + BCS L022759 + JSL L030139 + LDX #$0000 + LDY #$0015 +L0227D0 JSL L0300E2 + JSR L022946 + BRL L02272F +L0227DA LDA L022832 + DEC + BNE L0227E3 + BRL L02272F +L0227E3 TYA + LSR + BCC L022803 + JSL L0300D1 + LDA L022832 + SEC + SBC #$0012 + BMI L0227F6 + BNE L0227F9 +L0227F6 LDA #$0001 +L0227F9 STA L022832 + CLC + ADC #$0011 + BRL L02270B +L022803 LDA L022832 + DEC + STA L022832 + STA L02284C + DEC L022834 + JSR L022824 + BCC L022818 + BRL L022759 +L022818 JSL L030193 + LDX #$0000 + LDY #$0004 + BRA L0227D0 +L022824 PEA ^L022844 + PEA L022844 + PEA $201C ; GetDirEntry + JSL GSOS2 + RTS + +L022832 DB $00 + DB $00 +L022834 DB $00 + DB $00 +L022836 DB $00 + DB $00 + +L022838 DW $0002 ; Parms for Open +L02283A DW $0000 ; ref num + ADRL L0215CD ; path name + +L022840 DW $0001 ; Parms for Close +L022842 DW $0000 ; ref num + +L022844 DW $0011 ; Parms for GetDirEntry +L022846 DW $0000 ; ref num + DW $0000 ; flags +L02284A DW $0000 ; base +L02284C DW $0000 ; displacement + ADRL L022882 ; file name +L022852 DW $0000 ; entry num +L022854 DW $0000 ; file type +L022856 ADRL $00000000 ; end of file +L02285A ADRL $00000000 ; blocks used + DS 8 ; creation date +L022866 DS 8 ; modification date + DW $0000 ; access +L022870 ADRL $00000000 ; aux type + DW $0000 ; file system + ADRL $00000000 ; option list +L02287A ADRL $00000000 ; resource eof +L02287E ADRL $00000000 ; resource blocks + +L022882 DW $0020 +L022884 DB $00 +L022885 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L0228A4 STR " Name Type Blocks| Rez Last modif Length| Rez Auxtype"8D +*L0228F5 STR " LLLL LLLL LLLLLLLLLLLL LLLLLLLLLL LLLLLLLLLLLLLL LLLLLLL " +L0228F5 DB $50 + HEX A04C4C4C4CA0A0A0A0A0A0A0A0A0A0A0 + HEX A04C4C4C4CA0A04C4C4C4C4C4C4C4C4C + HEX 4C4C4CA0A0A0A0A04C4C4C4C4C4C4C4C + HEX 4C4CA0A0A0A0A0A04C4C4C4C4C4C4C4C + HEX 4C4C4C4C4C4C4CA0A04C4C4C4C4C4CA0 + +L022946 PHP + SEP #$30 + LDX L022884 + STX L022885 +L02294F LDA L022885,X + ORA #$80 + STA L022885,X + DEX + BNE L02294F + JSL L0300EE + LDX #$01 + JSL L0300E2 + JSL L030314 + ADR L022885 + STZ L022885 + JSL L0300EE + LDX #$12 + JSL L0300E2 + LDX L022C57 + LDA L022854 +L02297E CMP L022C57,X + BEQ L0229A0 + DEX + BNE L02297E + PHA + LDA #$A4 + JSL L03022D + PLA + JSL L030837 + XBA + PHA + XBA + JSL L03022D + PLA + JSL L03022D + BRA L0229C2 +L0229A0 REP #$30 + DEX + TXA + PHA + ASL + ADC $01,S + STA $01,S + PLA + TAX + SEP #$20 + LDY #$0003 +L0229B1 LDA L022C84,X + PHY + PHX + JSL L03022D + PLX + PLY + INX + DEY + BNE L0229B1 + SEP #$10 +L0229C2 JSL L0300EE + LDX #$18 + JSL L0300E2 + REP #$30 + LDA L02285A + JSR L022B58 + LDX #$0005 + JSR L022AE5 + LDA #$00A0 + JSL L0301F9 + LDA L02287E + JSR L022B58 + LDX #$0005 + JSR L022AE5 + SEP #$30 + JSL L0300EE + LDX #$26 + JSL L0300E2 + LDX #$07 +L0229FB LDA L022866,X + STA L022AAC,X + DEX + BPL L0229FB + JSR L022A4D + JSL L0300EE + LDX #$37 + JSL L0300E2 + REP #$30 + LDY L022856+2 + LDA L022856 + LDX #$0006 + JSR L022BD4 + JSL L0302E1 + STR " " + LDY L02287A+2 + LDA L02287A + LDX #$0006 + JSR L022BD4 + JSL L0300EE + LDX #$004A + JSL L0300E2 + LDA #$00A4 + JSL L03022D + LDA L022870 + PHA + JSL L030670 + PLP + RTS + +L022A4D PHP + REP #$30 + LDA L022AB0 + INC + JSR L022AD8 + SEP #$30 + LDA #$AD + JSL L03022D + LDA L022AB1 + PHA + ASL + ADC $01,S + STA $01,S + PLX + LDY #$03 +L022A6B LDA L022AB4,X + PHY + PHX + JSL L03022D + PLX + PLY + INX + DEY + BNE L022A6B + LDA #$AD + JSL L03022D + REP #$30 + LDA L022AAF + JSR L022AD8 + LDA #$00A0 + JSL L03022D + LDA L022AAE + JSR L022AD8 + LDA #$00BA + JSL L03022D + LDA L022AAD + AND #$00FF + JSR L022B58 + PHA + JSL L03065A + PLP + RTS + +L022AAC DB $00 +L022AAD DB $00 +L022AAE DB $00 +L022AAF DB $00 +L022AB0 DB $00 +L022AB1 DB $00 + DB $00 + DB $00 +L022AB4 ASC "JAN" + ASC "FEB" + ASC "MAR" + ASC "APR" + ASC "MAY" + ASC "JUN" + ASC "JUL" + ASC "AUG" + ASC "SEP" + ASC "OCT" + ASC "NOV" + ASC "DEC" +L022AD8 AND #$00FF + JSR L022B58 + LDX #$0002 + JSR L022AFC + RTS + +L022AE5 CMP #$0000 + BNE L022AFC + CPY #$0000 + BNE L022AFC +L022AEF PHX + LDA #$00A0 + JSL L03022D + PLX + DEX + BNE L022AEF + RTS + +L022AFC PHA + LSR L022B54 + DEX + STX L022B52 + CPX #$0004 + BCS L022B17 +L022B09 CPX #$0003 + BEQ L022B1E + PLA + ASL + ASL + ASL + ASL + PHA + INX + BRA L022B09 +L022B17 TYA +L022B18 JSL L030823 + BRA L022B2F +L022B1E PLA + LDX #$0004 +L022B22 ASL + ROL L022B56 + DEX + BNE L022B22 + PHA + LDA L022B56 + BRA L022B18 +L022B2F DEC L022B52 + BMI L022B47 + BIT L022B54 + BMI L022B47 + CMP #$00B0 + BNE L022B43 + LDA #$00A0 + BRA L022B47 +L022B43 SEC + ROR L022B54 +L022B47 JSL L03022D + BIT L022B52 + BPL L022B1E + PLA + RTS + +L022B52 DB $00 + DB $00 +L022B54 DB $00 + DB $00 +L022B56 DB $00 + DB $00 +L022B58 STA L022B8E + STZ L022B92 + STZ L022B90 + LDX #$0000 +L022B64 LSR L022B8E + BCC L022B7E + SED + CLC + LDA L022B94,X + ADC L022B90 + STA L022B90 + LDA L022B94+2,X + ADC L022B92 + STA L022B92 + CLD +L022B7E INX + INX + INX + INX + CPX #$0040 + BCC L022B64 + LDY L022B92 + LDA L022B90 + RTS + +L022B8E DB $00 + DB $00 +L022B90 DB $00 + DB $00 +L022B92 DB $00 + DB $00 +L022B94 ADRL $00000001 + ADRL $00000002 + ADRL $00000004 + ADRL $00000008 + ADRL $00000016 + ADRL $00000032 + ADRL $00000064 + ADRL $00000128 + ADRL $00000256 + ADRL $00000512 + ADRL $00001024 + ADRL $00002048 + ADRL $00004096 + ADRL $00008192 + ADRL $00016384 + ADRL $00032768 + MX %00 +L022BD4 CMP #$0000 + BNE L022BEB + CPY #$0000 + BNE L022BEB +L022BDE PHX + LDA #$00A0 + JSL L03022D + PLX + DEX + BPL L022BDE + RTS + +L022BEB DEX + STX L022C4F + STY L022C55 + STA L022C53 +L022BF5 CPX #$0007 + BEQ L022C10 + ASL + ROL L022C55 + ASL + ROL L022C55 + ASL + ROL L022C55 + ASL + ROL L022C55 + STA L022C53 + INX + BRA L022BF5 +L022C10 LSR L022C51 +L022C13 LDX #$0004 +L022C16 ASL L022C53 + ROL L022C55 + ROL + DEX + BNE L022C16 + JSL L030823 + BIT L022C51 + BMI L022C45 + CMP #$00B0 + BNE L022C38 + LDY L022C4F + BEQ L022C38 + LDA #$00A0 + BRA L022C45 +L022C38 PHA + LDA #$00A4 + JSL L03022D + PLA + SEC + ROR L022C51 +L022C45 JSL L03022D + DEC L022C4F + BPL L022C13 + RTS + +L022C4F DB $00 + DB $00 +L022C51 DB $00 + DB $00 +L022C53 DB $00 + DB $00 +L022C55 DB $00 + DB $00 +L022C57 DB $2C + DB $00 + DB $04 + DB $06 + DB $0F + DB $B3 + DB $FF + DB $F8 + DB $FC + DB $C9 + DB $CA + DB $B0 + DB $B1 + DB $B2 + DB $B4 + DB $B5 + DB $B6 + DB $B7 + DB $B8 + DB $B9 + DB $BA + DB $BB + DB $BC + DB $BD + DB $C7 + DB $F9 + DB $FA + DB $FB + DB $FD + DB $FE + DB $C0 + DB $C1 + DB $E0 + DB $01 + DB $5A + DB $19 + DB $1A + DB $1B + DB $FE + DB $07 + DB $D5 + DB $D6 + DB $D7 + DB $D8 + DB $5E + +L022C84 ASC "UNKTXTBINDIRS16SYSLNKBASFNDICNSRCOBJLIBR" + ASC "TLEXEPIFTIFNDACDATOLDRVTLKFSTCDVOS INTIV" + ASC "RVARRELPNTPICLBRBADCFGADBAWPASPRELFNTMUS" + ASC "INSMDISNDDVU" + +*--- Command SRC (20) + +L022D08 PHP ; 20 SRC + SEP #$20 + REP #$10 + JSR L022F65 + BCC L022D15 + BRL L022DB7 +L022D15 LDX #$0000 +L022D18 JSR L021309 + BCS L022D25 + AND #$7F + STA L02331D+2,X + INX + BNE L022D18 +L022D25 REP #$20 + CPX #$0000 + BEQ L022D37 + LDA #$532E ; .S + STA L02331D+2,X + INX + INX + STX L02331D + +L022D37 JSR L022E10 ; create file + BCC L022D3F + BRL L022DB7 + +L022D3F JSR L0233DD + LDX #$0024 + LDY #$000D + JSL L0300E2 + LDA L0230B5 + PHA + JSL L030670 + LDA L0230C5 + XBA + STA L0230C5 + CLC + ADC L02338F + STA L02338F + PEA ^L0230C5 + PEA L0230C5 + LDA L0230B1 + PHA + LDA L0230AF + PHA + JSL L030852 + STZ L0230C5 + CLC + LDA L0230BD + ADC L0230B5 + STA L0230B5 + BCS L022D9A + BIT L0230B9 + BMI L022D8D + CMP L0230B7 + BCS L022D9A +L022D8D LDA L02338F ; length of source + CMP #$BF00 + BCC L022D98 + BRL L022F28 ; must create another file because it is a big source file +L022D98 BRA L022D3F + +L022D9A JSL GSOS + DW $2013 ; Write + ADRL L023387 + BCS L022DBD + JSR L022DC5 ; GetMark + Close + BCC L022DAE + BRL L022E34 +L022DAE JSR L0239B0 + JSR L02308D ; disposehandle + JSR L023AF9 +L022DB7 JSR L023079 + PLP + CLC + RTS + +L022DBD JSR L022DE7 + JSR L020AF7 + BRA L022DB7 + +L022DC5 JSL GSOS + DW $2017 ; GetMark + ADRL L0233C7 + BCS L022DE7 + + LDA L0233CB ; position + STA L0233D5 ; eof + LDA L0233CB+2 ; position+2 + STA L0233D5+2 ; eof+2 + JSL GSOS + DW $2018 ; SetEOF + ADRL L0233CF + +L022DE7 PHP + PHA + +* AV 202010 - Output one or more source files? + + lda fgOUTPUT + bne L022DE8 + + JSL GSOS + DW $2014 ; Close + ADRL L0233D9 + +L022DE8 PLA + PLP + RTS + +L022DF6 JSL GSOS + DW $2006 ; GetFileInfo + ADRL L023375 + BCS L022E0F + + LDA L02337D + SEC + SBC #$0004 + CMP #$0001 + LDA #$0000 +L022E0F RTS + +*--- Create file + +L022E10 JSL GSOS + DW $2001 ; Create + ADRL L023367 + BCC L022E39 + CMP #$0047 + BNE L022E34 + JSR L022DF6 + BCC L022E39 + CMP #$0000 + BNE L022E34 + LDA #$000D + JSR L020AB8 + BRL L022DB7 +L022E34 JSR L020AF7 + SEC + RTS + +L022E39 JSL GSOS + DW $2010 ; Open + ADRL L02337F + BCS L022E34 + LDA L023381 + STA L023389 + STA L023399 + STA L0233A9 + STA L0233B9 + STA L0233C9 + STA L0233D1 + STA L0233DB + LDA L0230B3 ; first pass? + BNE L022E65 ; no + JSR L022E67 ; yes, write header +L022E65 CLC + RTS + +*--- Output Disassembled with the Flaming Bird Disassembler + +L022E67 JSL GSOS + DW $2013 ; Write + ADRL L023397 + STZ L0230C5 + LDA L0283CA + BEQ L022E8B + PEA ^L022F16 + PEA L022F16 + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD + BRA L022EE6 +L022E8B LDA #$B0A4 + STA L022F1C+6 + LDA L028451 + AND #$00FF + PHA + PHA + PHA + PHA + _HexIt + PLA + PLA + ORA #$8080 + STA L022F1C+7 + LDA L022C57 + AND #$00FF + TAX + PLA + SEP #$20 +L022EB4 CMP L022C57,X + BEQ L022EBE + DEX + BNE L022EB4 + BRA L022ED4 +L022EBE REP #$20 + DEX + TXA + PHA + ASL + ADC $01,S + PLX + TAX + LDA L022C84,X + STA L022F1C+6 + LDA L022C84+1,X + STA L022F1C+7 +L022ED4 REP #$20 + PEA ^L022F1C + PEA L022F1C + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD +L022EE6 PEA ^L022F26 + PEA L022F26 + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD + LDA L0230C5 + XBA + STA L0230C5 + STA L02338F + PEA ^L0230C5 + PEA L0230C5 + LDA L0230B1 + PHA + LDA L0230AF + PHA + JSL L030852 + STZ L0230C5 + RTS + +L022F16 STR " REL"8D +L022F1C STR " TYP $00"8D +L022F26 STR 8D + +*--- Write + +L022F28 JSL GSOS + DW $2013 ; Write + ADRL L023387 + BCC L022F37 + BRL L022DBD +L022F37 JSR L022DC5 ; GetMark + close + BCC L022F3F + BRL L022E34 + +* AV 202010 - Shall we output one or more files? + +L022F3F lda fgOUTPUT ; one file? + beq L022F40 ; no, multiple + + jsr L023064 ; yes, deref + brl L022D3F ; loop there if one file + +L022F40 LDX L02331D + LDA L0230B3 ; is that first pass? + BNE L022F4C + LDA #$312E ; .1 + INX + INX +L022F4C CLC + ADC #$0100 + STA L0230B3 + STA L0232E9+$32,X + LDA #$532E ; .S + STA L02331D,X + STX L02331D ; save counter + JSR L023064 ; deref + BRL L022D37 ; loop + +L022F65 PHP + SEP #$20 + REP #$10 + LDX #$0157 +L022F6D LDA L0231C5,X + CMP #$A0 + BNE L022F79 + AND #$7F + STA L0231C5,X +L022F79 DEX + BNE L022F6D + REP #$30 + STZ L0230B5 + LDA $3E + STA L0230B7 + LDA $5C + STA L0230B9 + LDA [$F8] + AND #$007F + CMP #$005B + BNE L022FB5 + STZ L0230B9 + JSR L021525 + BCC L022FA0 + BRL L023061 +L022FA0 PHX + JSL L0416F3 + STA L0230B5 + PLX + STX L0230B7 + BNE L022FB2 + DEX + STX L0230B9 +L022FB2 JSR L020F52 +L022FB5 JSL L03074E + DB $09 + DB $0F + DB $18 + DB $37 + LDX #$001E + LDY #$000B + JSL L0300E2 + JSL L0302E1 + STR "Generating source..." + LDX #$0023 + LDY #$000D + JSL L0300E2 + JSL L0302E1 + STR "$0000/$" + SEC + LDA L0230B7 + SBC L0230B5 + INC + PHA + JSL L030670 + JSL L0424A8 + LDA #$0000 + PHA + PHA + PEA $0000 + PEA $C000 + PEI $FC + PEA $8008 + PHA + PHA + _NewHandle + PLX + PLY + BCS L02305B + STY L0230AD + STX L0230AB + TYA + XBA + PHB + PHA + PLB + PLB + LDA |$0000,X + STAL L0230AF + LDA |$0002,X + STAL L0230B1 + PLB + CLC + LDA L0230AF + ADC #$0002 + STA L02338B + LDA L0230B1 + ADC #$0000 + STA L02338B+2 + JSR L023064 + STZ L0230B3 + PLP + CLC + RTS + +L02305B LDA #$0000 + JSR L020AB8 +L023061 PLP + SEC + RTS + +L023064 LDA L0230B1 + LDX L0230AF + PHB + PHA + PLB + LDA #$0000 + STA |$0000,X + PLB + PLB + STZ L02338F + RTS + +L023079 PHP + REP #$30 + JSR L02308D + JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F + JSL L0300D1 + PLP + RTS + +L02308D LDA L0230AD + ORA L0230AB + BEQ L0230AA + LDA L0230AD + PHA + LDA L0230AB + PHA + _DisposeHandle + STZ L0230AD + STZ L0230AB +L0230AA RTS + +L0230AB DB $00 + DB $00 +L0230AD DB $00 + DB $00 +L0230AF DB $00 + DB $00 +L0230B1 DB $00 + DB $00 +L0230B3 DB $00 + DB $00 +L0230B5 DB $00 + DB $00 +L0230B7 DB $00 + DB $00 +L0230B9 DB $00 + DB $00 +L0230BB DB $00 + DB $00 +L0230BD DB $00 + DB $00 +L0230BF DB $00 + DB $00 +L0230C1 DB $00 + DB $00 +L0230C3 DB $00 + DB $00 +L0230C5 DB $00 +L0230C6 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0231C5 DB $00 +L0231C6 ASC 8D + ASC "*---------------------------------------------------------*"8D + ASC "* Disassembled with The Flaming Bird Disassembler *"8D + ASC "* (c) Phoenix corp. 1992,93 - All rights reserved *"8D + ASC "*---------------------------------------------------------*"8D8D +L0232B8 ASC 8D + ASC "* TFBD generated equates"8D + ASC "* (c) PHC 1992,93"8D8D8D +L0232E9 ASC 8D + ASC "* TFBD generated externals"8D + ASC "* (c) PHC 1992,93"8D8D8D +L02331D STRL '0:Source.S' + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L023367 DW $0004 ; Parms for Create + ADRL L02331D ; file name + DW $00E3 ; access + DW $0004 ; file type + ADRL $00000000 ; aux type + +L023375 DW $0003 ; Parms for GetFileInfo + ADRL L02331D ; file name + DW $0000 ; access +L02337D DW $0000 ; file type + +L02337F DW $0002 ; Parms for Open +L023381 DW $0000 ; ref num + ADRL L02331D ; path name + +L023387 DW $0004 ; Parms for Write +L023389 DW $0000 ; ref num +L02338B ADRL $00000000 ; buffer ptr +L02338F ADRL $00000000 ; request count + ADRL $00000000 ; transfer count + +L023397 DW $0004 ; Parms for Write +L023399 DW $0000 ; ref num + ADRL L0231C6 ; buffer ptr + ADRL $000000F2 ; request count + ADRL $00000000 ; transfer count + +L0233A7 DW $0004 ; Parms for Write +L0233A9 DW $0000 ; ref num + ADRL L0232B8 ; buffer ptr + ADRL $00000031 ; request count + ADRL $00000000 ; transfer count + +L0233B7 DW $0004 ; Parms for Write +L0233B9 DW $0000 ; ref num + ADRL L0232E9 ; buffer ptr + ADRL $00000034 ; request count + ADRL $00000000 ; transfer count + +L0233C7 DW $0002 ; Parms for GetMark +L0233C9 DW $0000 ; ref num +L0233CB ADRL $00000000 ; position + +L0233CF DW $0003 ; Parms for SetEOF +L0233D1 DW $0000 ; ref num + DW $0000 ; base +L0233D5 ADRL $00000000 ; displacement + +L0233D9 DW $0001 ; Parms for Close +L0233DB DW $0000 ; ref num + +L0233DD STZ L0230C6 + LDA L0230B5 + PHA + JSL L041719 + LDA $01,S + JSL L0410BB + STA L0230BB + PLA + JSL L040586 + STY L0230BF + STA L0230BD + LDA #$8080 + AND L0230BB + CMP #$8000 + BEQ L023413 + JSR L0234CF + JSR L023527 + JSR L02356B + JSR L0235A0 +L023413 JSR L0235BC + JSR L023671 + JSR L023465 + JSR L023423 + JSR L02348D + RTS + +L023423 PHP + REP #$30 + LDA L0230BB + BMI L02344C + LDY L0230B5 + SEP #$20 + LDA [$3A],Y + JSR L02344E + BCS L02344C + REP #$20 + TYA + ADC L0230BD + TAY + SEP #$20 + LDA [$3A],Y + JSR L02344E + BCC L02344C + REP #$20 + JSR L0234A9 +L02344C PLP + RTS + +L02344E LDX #$0007 +L023451 CMP L02345D,X + BEQ L02345B + DEX + BPL L023451 + SEC + RTS + +L02345B CLC + RTS + +L02345D DB $60 + DB $40 + DB $6B + DB $4C + DB $5C + DB $6C + DB $7C + DB $DC + +L023465 LDA L0230BB + BIT #$0400 + BEQ L023489 + JSR L0234A4 + LDA #$00BB + JSR L0234BE + JSR L0234A4 + PEI $42 + LDA L0230B5 + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L04392C +L023489 JSR L0234A9 + RTS + +L02348D SEP #$30 + LDX L0230C6 +L023492 LDA L0230C6,X + ORA #$80 + CMP #$A0 + BEQ L02349E + STA L0230C6,X +L02349E DEX + BNE L023492 + REP #$30 + RTS + +L0234A4 LDA #$00A0 + BRA L0234BE +L0234A9 LDA #$008D + BRA L0234BE +L0234AE PHY + PHP + JSL L030837 + REP #$30 + PHA + JSR L0234BE + PLA + XBA + PLP + PLY +L0234BE PHY + PHP + SEP #$30 + LDX L0230C6 + INX + STA L0230C6,X + STX L0230C6 + PLP + PLY + RTS + + MX %00 +L0234CF LDA L0230BB +L0234D2 BIT #$0018 + BEQ L023521 + PHA + PEA ^L023522 + PEA L023522 + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD + PLA + BIT #$0008 + BEQ L023502 + AND #$FFF7 + PHA + JSR L0234A9 + PLA + BIT #$0010 + BEQ L023521 + PHA + JSR L0234A4 + PLA + BRA L0234D2 +L023502 JSR L0234A4 + PEI $42 + LDA L0230B5 + PHA + JSL L042D12 + PHY + PHA + PEA $0003 + PEA ^L0230C6 + PEA L0230C6 + JSL L044315 + JSR L0234A9 +L023521 RTS + +L023522 STR " ORG" + +L023527 LDA L0230BB + BIT #$0001 + BEQ L023543 + LDY L0230B5 + LDA [$3A],Y + AND #$00DF + CMP #$00C2 + BNE L023544 + LDA [$3A],Y + AND #$3000 + BEQ L023544 +L023543 RTS + +L023544 PEA ^L023565 + PEA L023565 + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD + PEI $42 + LDA L0230B5 + PHA + JSL L042DD9 + JSR L0234AE + JSR L0234A9 + RTS + +L023565 STR " MX %" + +L02356B LDA L0230BB + BIT #$2000 + BEQ L023599 + PEI $42 + LDA L0230B5 + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L0428B4 + PEA ^L02359A + PEA L02359A + PEA ^L0230C6 + PEA L0230C6 + JSL L0307DD + LDA #$6000 + TRB L0230BB +L023599 RTS + +L02359A STR " ENT"8D + +L0235A0 LDA L0230BB + BIT #$4000 + BEQ L0235B8 + PEI $42 + LDA L0230B5 + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L0428B4 +L0235B8 JSR L0234A4 + RTS + +L0235BC LSR L0230C1 + LSR L0230C3 + LDA L0230BB + BMI L023620 + LDY L0230B5 + LDA [$3A],Y + AND #$00FF + CMP #$00A2 + BNE L023607 + INY + INY + INY + LDA [$3A],Y + CMP #$0022 + BNE L0235FF + INY + INY + LDA [$3A],Y + CMP #$E100 + BNE L0235FF + LDY L0230B5 + INY + LDA [$3A],Y + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L044C72 + BCS L0235FF + SEC + ROR L0230C1 + RTS + +L0235FF LDY L0230B5 + LDA [$3A],Y + AND #$00FF +L023607 PHA + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L0403B6 + PLA + AND #$00EF + CMP #$0044 + BNE L02361F + ROR L0230C3 +L02361F RTS + +L023620 LDA L0230BB + BIT #$0080 + BNE L02362B + JSR L0234A4 +L02362B LDA L0230BF + AND #$001F + TAY + LDX #$0000 + SEP #$20 +L023637 DEY + BMI L023644 +L02363A INX + LDAL L040326,X + BMI L02363A + INX + BRA L023637 +L023644 LDAL L040326,X + PHA + PHX + JSR L023658 + JSR L0234BE + PLX + INX + PLA + BMI L023644 + REP #$20 + RTS + + MX %10 +L023658 PHA + LDA $5F + AND #$20 + BEQ L02366F + LDA $01,S + AND #$7F + CMP #$41 + BCC L02366F + CMP #$5B + BCS L02366F + PLA + ORA #$20 + RTS + +L02366F PLA + RTS + + MX %00 +L023671 LDA L0230BB + BMI L0236D7 + BIT L0230C1 + BMI L0236C2 + LDA L0230BD + DEC + BEQ L0236C2 + JSR L0234A4 + PEI $42 + LDY L0230B5 + INY + PHY + BIT L0230C3 + BPL L02369B + PEA ^L0230C6 + PEA L0230C6 + JSL L045887 + RTS + +L02369B PHA + STZ L0236C3 + PEA ^L0236C3 + PEA L0236C3 + JSL L04397A + LDY L0230B5 + LDA [$3A],Y + AND #$00FF + PHA + PEA ^L0236C3 + PEA L0236C3 + PEA ^L0230C6 + PEA L0230C6 + JSL L040456 +L0236C2 RTS + +L0236C3 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L0236D7 LDA L0230BD + BEQ L0236C2 + JSR L0234A4 + LDA L0230BF + AND #$001F + ASL + TAX + JMP (L0236EA,X) + +L0236EA DA L023711 + DA L023726 + DA L02372D + DA L023711 + DA L023711 + DA L023711 + DA L023745 + DA L02379C + DA L0237C4 + DA L023947 + DA L023839 + DA L023822 + DA L02370C + DA L02370C + DA L02385B + DA L02386B + DA L02370D + +L02370C RTS + +L02370D DEC L0230C6 + RTS + +L023711 PEI $42 + LDA L0230B5 + PHA + LDA L0230BD + PHA + PEA ^L0230C6 + PEA L0230C6 + JSL L04397A + RTS + +L023726 LDY L0230B5 + LDA [$3A],Y + BRA L023733 +L02372D LDY L0230B5 + LDA [$3A],Y + XBA +L023733 PEA $0000 + PHA + PEA $0002 + PEA ^L0230C6 + PEA L0230C6 + JSL L044315 + RTS + +L023745 CLC + LDA L0230B5 + ADC $3A + PHA + PHA + LDA #$0000 + ADC $3C + STA $03,S + PEA ^L02377D + PEA L02377D + JSL L040D34 + SEP #$30 + LDA #$A2 + JSR L0234BE + LDX #$00 +L023767 LDA L02377E,X + PHX + JSR L0234BE + PLX + INX + CPX L02377D + BCC L023767 + LDA #$A2 + JSR L0234BE + REP #$30 + RTS + +L02377D DB $00 +L02377E DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L02379C LDA L0230BD + CMP #$0011 + BCC L0237AA + LDA #$0010 + STA L0230BD +L0237AA STA L0237C2 + LDY L0230B5 +L0237B0 SEP #$20 + LDA [$3A],Y + PHY + JSR L0234AE + PLY + INY + REP #$20 + DEC L0237C2 + BNE L0237B0 + RTS + +L0237C2 DW $0000 + +L0237C4 LDA L0230BD + PHA + CMP #$000A + BCC L0237D3 + LDA #$00A4 + JSR L0234BE +L0237D3 LSR L023820 + PLA + LDX #$0004 +L0237DA PHX + LDX #$0004 +L0237DE ASL + ROL L02381E + DEX + BNE L0237DE + PHA + LDA L02381E + JSL L030823 + BIT L023820 + BMI L0237FA + CMP #$00B0 + BEQ L0237FD + ROR L023820 +L0237FA JSR L0234BE +L0237FD PLA + PLX + DEX + BNE L0237DA + LDY L0230B5 + LDA [$3A],Y + AND #$00FF + BEQ L02381D + PHA + LDA #$00AC + JSR L0234BE + LDA #$00A4 + JSR L0234BE + PLA + JSR L0234AE +L02381D RTS + +L02381E DB $00 + DB $00 +L023820 DB $00 + DB $00 + +L023822 LDA #$FFFF + STA L0238B3 + CLC + LDA L0230B5 + ADC L0230BD + DEC + TAY + LDA L0230BD + STA L0238B5 + BRA L02387C +L023839 LDY L0230B5 + LDA L0230BD + STA L0238B5 + STZ L0238B3 + CMP #$0001 + BNE L02387C + LDA [$3A],Y + PHA + EOR #$0080 + STA [$3A],Y + PHY + JSR L023893 + PLY + PLA + STA [$3A],Y + RTS + +L02385B LDY L0230B5 + LDA [$3A],Y + STA L0238B5 + BEQ L023880 + INY + STZ L0238B3 + BRA L02387B +L02386B LDY L0230B5 + LDA [$3A],Y + AND #$00FF + STA L0238B5 + BEQ L023880 + STZ L0238B3 +L02387B INY +L02387C JSR L023893 + RTS + +L023880 SEP #$10 + LDX L0230C6 + INX + LDA #$A7A7 + STA L0230C6,X + INX + STX L0230C6 + REP #$10 + RTS + +L023893 SEP #$20 + JSR L0238D2 + BCS L0238B0 + JSR L0238BA + STA L0238B9 + JSR L0234BE + JSR L0238F6 + PHP + LDA L0238B9 + JSR L0234BE + PLP + BCC L023893 +L0238B0 REP #$20 + RTS + +L0238B3 DB $00 + DB $00 +L0238B5 DB $00 + DB $00 +L0238B7 DB $00 + DB $00 +L0238B9 DB $00 + + MX %10 + +L0238BA PHY +L0238BB LDA [$3A],Y + AND #$7F + CMP #$20 + BCS L0238C6 + INY + BNE L0238BB +L0238C6 LDA [$3A],Y + BPL L0238CE + LDA #$A2 + PLY + RTS + +L0238CE LDA #$A7 + PLY + RTS + +L0238D2 LDA [$3A],Y + AND #$7F + CMP #$20 + BCC L0238DC + CLC + RTS +L0238DC LDA [$3A],Y + PHY + JSR L0234AE + PLY + INY + BIT L0238B3 + BPL L0238EB + DEY + DEY +L0238EB REP #$20 + DEC L0238B5 + SEP #$20 + BNE L0238D2 + SEC + RTS + +L0238F6 REP #$20 + LDA #$FFFF + STA L0238B7 +L0238FE SEP #$20 + LDA [$3A],Y + ORA #$80 + CMP #$A0 + BCS L023909 + RTS + +L023909 BNE L02390F + AND #$7F + BRA L023926 +L02390F CMP L0238B9 + BNE L023926 + PHY + PHA + JSR L0234BE + PLA + PHA + CMP #$A7 + BNE L023921 + AND #$7F +L023921 JSR L0234AE + PLA + PLY +L023926 PHY + JSR L0234BE + PLY + INY + BIT L0238B3 + BPL L023933 + DEY + DEY +L023933 REP #$20 + DEC L0238B5 + BEQ L023943 + DEC L0238B7 + BNE L0238FE + SEP #$20 + CLC + RTS + +L023943 SEP #$20 + SEC + RTS + +L023947 STZ L0238B3 + LDA L0230BD + STA L0238B5 + SEP #$20 + LDY L0230B5 + JSR L0238D2 + BCS L023984 + CPY L0230B5 + BNE L023987 + JSR L0238BA + STA L0238B9 + JSR L0234BE + REP #$20 + LDA #$0028 + STA L0238B7 + SEP #$20 + JSR L0238FE + PHP + LDA L0238B9 + JSR L0234BE + PLP + BCS L023984 + JSR L0238D2 + BCC L023987 +L023984 REP #$20 + RTS + +L023987 REP #$20 + TYA + SEC + SBC L0230B5 + STA L0230BD + RTS + +L023992 DB $00 + DB $00 +L023994 DB $00 + DB $00 +L023996 DB $00 + DB $00 +L023998 DB $00 + DB $00 +L02399A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $E1 + DB $00 + DB $E0 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 +L0239A8 STRL " EQU $" +L0239B0 JSL L044C3E + BCC L0239B7 + RTS + +L0239B7 JSL L0300D1 + LDX #$001B + LDY #$000C + JSL L0300E2 + JSL L0302E1 + STR "Generating Equates file..." + JSR L023064 + LDY #$000C +L0239EA STY L023992 + PHY + JSL L044C3E + PLY + LDA [$CA],Y + CLC + ADC $CA + STA $CA + BCC L0239FE + INC $CC +L0239FE LDY #$0000 +L023A01 LDA [$CA],Y + BNE L023A08 + BRL L023AAC +L023A08 STA L023994 + INY + INY + LDA [$CA],Y + BIT #$8000 + BNE L023A17 + BRL L023A9C +L023A17 INY + LDA [$CA],Y + PHY + PHA + XBA + AND #$00FF + STA [$CA],Y + CLC + ADC #$000B + ADC L02338F + STA L02338F + STY L023998 + PEA ^L0239A8 + PEA L0239A8 + LDY L0230B1 + PHY + LDX L0230AF + PHX + PEI $CC + LDY L023998 + TYA + CLC + ADC $CA + PHA + BCC L023A4E + LDA $03,S + INC + STA $03,S +L023A4E LDY L0230B1 + PHY + PHX + JSL L030852 + JSL L030852 + LDX L023992 + LDA L02399A,X + BEQ L023A73 + LDY L0230B1 + LDX L0230AF + JSL L0308AF + INC L02338F + INC L02338F +L023A73 LDY L0230B1 + LDX L0230AF + PHY + PHX + LDA L023994 + JSL L0308D1 + PHD + TSC + TCD + LDA [$03] + INC + STA [$03] + INC + TAY + LDA #$008D + STA [$03],Y + PLD + PLX + PLY + PLA + PLY + STA [$CA],Y + INC L023996 + DEY +L023A9C INY + INY + LDA [$CA],Y + AND #$00FF + PHY + SEC + ADC $01,S + PLY + TAY + BRL L023A01 +L023AAC LDY L023992 + DEY + DEY + CPY #$0006 + BCC L023AB9 + BRL L0239EA +L023AB9 LDA L023996 + BNE L023ABF + RTS + +L023ABF LDX L02331D + LDA L0230B3 + BNE L023AC9 + INX + INX +L023AC9 LDA #$452E ; .E + STA L0232E9+$32,X + LDA #$532E ; .S + STA L02331D,X + STX L02331D + INC L0230B3 + JSR L022E10 ; create file + BCC L023AE1 + RTS + +L023AE1 JSL GSOS + DW $2013 ; Write + ADRL L0233A7 + JSL GSOS + DW $2013 ; Write + ADRL L023387 + JSR L022DC5 + RTS + +L023AF9 JSL L0300D1 + LDX #$001C + LDY #$000C + JSL L0300E2 + JSL L0302E1 + STR "Generating Externals..." + PEI $42 + JSL L0456A6 + BCC L023B2C + RTS + +L023B2C CMP #$0000 + BEQ L023B81 + STA L02338F + STZ L02338F+2 + PHY + PHX + JSR L023EF2 + STX L02338B + STY L02338B+2 + LDX L02331D + LDA L0230B3 + BNE L023B4C + INX + INX +L023B4C LDA #$582E ; .X + STA L0232E9+$32,X + LDA #$532E + STA L02331D,X + STX L02331D + INC L0230B3 + JSR L022E10 ; create file + BCS L023B7A + JSL GSOS + DW $2013 ; Write + ADRL L0233B7 + JSL GSOS + DW $2013 ; Write + ADRL L023387 + JSR L022DC5 +L023B7A _DisposeHandle +L023B81 RTS + +L023B82 STZ L023CC2 + LDA [$F8] + AND #$00FF + CMP #$00AB + BNE L023B9E + INC $F8 + JSR L021564 + CMP #$0080 + BCS L023BEC + STA L023CC2 + BRA L023BB4 +L023B9E CMP #$00AD + BNE L023BB9 + INC $F8 + JSR L021564 + CMP #$0081 + BCS L023BEC + EOR #$FFFF + INC + STA L023CC2 +L023BB4 JSR L02153D + BCS L023BF2 +L023BB9 JSR L021339 + BCS L023BF2 + STA L023CBA + CPY $42 + BNE L023BEC + JSR L02153D + BCS L023BF2 + JSR L021564 + STA L023CC0 + LDA [$F8] + AND #$00FF + BNE L023BF4 + LDA #$FFFF + STA L023CB8 + PEI $42 + LDA L023CBA + PHA + JSL L042A5C + STY L023CB2 + BRA L023C07 +L023BEC LDA #$0003 + JSR L020AB8 +L023BF2 CLC + RTS + +L023BF4 JSR L02153D + BCS L023BF2 + STZ L023CB8 + JSR L021367 + BCS L023BF2 + STA L023CB0 + STY L023CB2 +L023C07 LDA L023CBA + JSL L041993 + STA L023CBC + CMP #$0004 + BCC L023C19 + LDA #$0003 +L023C19 STA L023CBE + LDX #$0000 + LDY L023CBA + SEP #$20 +L023C24 LDA [$3A],Y + STA L023CB4,X + INY + INX + CPX L023CBE + BNE L023C24 +L023C30 STZ L023CB4,X + INX + CPX #$0004 + BNE L023C30 + REP #$20 + BIT L023CB8 + BPL L023C52 + LDA L023CBE + CMP #$0002 + BCC L023C9A + BNE L023C65 + LDA L023CB2 + STA L023CB6 + BRA L023C65 +L023C52 SEP #$20 + LDX L023CBE +L023C57 CPX #$0003 + BEQ L023C65 + LDA L023CB0,X + STA L023CB4,X + INX + BRA L023C57 +L023C65 REP #$30 + PEI $42 + LDA L023CBA + PHA + LDA L023CBE + PHA + SEP #$20 + LDA L023CC2 + PHA + LDA #$00 + PHA + REP #$20 + LDA L023CB6 + PHA +L023C80 LDA L023CB4 + SEC + SBC L023CC2 + PHA + JSL L042ABB + PHY + PHA + BCS L023C96 + JSL L043774 + BRA L023C9A +L023C96 JSL L043772 +L023C9A CLC + LDA L023CBA + ADC L023CBC + STA L023CBA + BCS L023CAE + DEC L023CC0 + BEQ L023CAE + BRL L023C07 +L023CAE CLC + RTS + +L023CB0 DB $00 + DB $00 +L023CB2 DB $00 + DB $00 +L023CB4 DB $00 + DB $00 +L023CB6 DB $00 + DB $00 +L023CB8 DB $00 + DB $00 +L023CBA DB $00 + DB $00 +L023CBC DB $00 + DB $00 +L023CBE DB $00 + DB $00 +L023CC0 DB $00 + DB $00 +L023CC2 DB $00 + DB $00 + +L023CC4 SEP #$40 + HEX 50 +L023CC7 CLV + JSR L021339 + BCS L023D1A + TAY + LDX #$0001 + SEP #$20 + INY + PEI $42 + PHY + PHX + PHX + PHX + PHX + LDA [$3A],Y + XBA + INY + INY + PEI $42 + PHY + PHX + LDA [$3A],Y + REP #$20 + BVS L023CEB + XBA +L023CEB TAX + LDA #$00F8 + BVS L023CF4 + LDA #$0000 +L023CF4 STA $0B,S + EOR #$00F8 + PHA + PHX + PEI $42 + PHY + JSL L042A5C + PLA + PHY + PHA + JSL L042ABB + PHA + PHA + STA $0D,S + TYA + STA $03,S + STA $0F,S + JSL L043774 + JSL L043774 +L023D1A CLC + RTS + +L023D1C BIT L0283C2 + BPL L023D4A + PEI $38 + PEI $36 + _DisposeHandle + STZ $38 + STZ $36 + BIT L0283CA + BPL L023D4A + LDA L0283CE + PHA + LDA L0283CC + PHA + _DisposeHandle + STZ L0283CE + STZ L0283CC +L023D4A STZ $3E + SEC + ROR $5C + STZ $3A + STZ $32 + LDA #$FE00 + STA $3B + STA $33 + LDA #$0001 + STA $42 + INC + STA $40 + STZ L0283CA + LDA #$FFFF + STA L0283C2 + STA $F6 + STZ $54 + LDA #$0004 + STA $56 + BRL L021BC7 +L023D77 BIT $F6 + BMI L023D7D +L023D7B CLC + RTS + +L023D7D JSL L044C3E + BCS L023D7B + LDY #$000C + LDA [$CA],Y + ADC $CA + STA $CA + BCC L023D90 + INC $CC +L023D90 LDY #$0000 +L023D93 LDA [$CA],Y + BEQ L023D7B + CMP #$C100 + BCC L023DC3 + PHY + PEA $0002 + PHA + INY + INY + LDA [$CA],Y + AND #$00FF + PHA + PEA $0000 + INY + PEI $CC + PEI $CA + TYA + CLC + ADC $01,S + STA $01,S + BCC L023DBE + LDA $03,S + INC + STA $03,S +L023DBE JSL L042748 + PLY +L023DC3 INY + INY + INY + LDA [$CA],Y + AND #$00FF + PHY + SEC + ADC $01,S + TAY + PLA + BRA L023D93 +L023DD3 JSR L021339 + CPY $42 + BNE L023DFD + STA L023EAC + TAY + LDA [$3A],Y + STA L023EAE + CMP #$0101 + BCS L023E03 + INY + INY + LDA [$3A],Y + BNE L023E03 + JSR L02153D + BCS L023E03 + JSR L021564 + BCS L023E03 + STA L023EB0 + BRA L023E21 +L023DFD LDA #$0003 + JSR L020AB8 +L023E03 CLC + RTS + +L023E05 PEI $42 + LDA L023EAC + PHA + PEA $0004 + PEA $0004 + JSL L043069 + RTS + +L023E16 CLC + LDA #$0004 + ADC L023EAC + STA L023EAC + RTS + +L023E21 JSR L023E05 +L023E24 JSR L023E16 + DEC L023EAE + BEQ L023E03 + LDA L023EB0 + CLC + ADC #$0100 + STA L023EB0 + JSR L023E05 + LDY L023EAC + LDA [$3A],Y + TAX + INY + INY + LDA [$3A],Y + PHA + PHX + ORA $01,S + BNE L023E4D + PLA + PLA + BRA L023E24 +L023E4D JSL L042ABB + STY L023EB4 + INC + STA L023EB2 + PEI $42 + LDX L023EAC + PHX + PEA $0004 + PEA $FF00 + PHY + PHA + JSL L043774 + LDA L023EB0 + PHA + STZ L023EB6 + PEA ^L023EB6 + PEA L023EB6 + JSL L044C72 + LDA L023EB7 + AND #$00FF + CMP #$00DF + BNE L023E24 + SEP #$20 + LDA L023EB6 + DEC + STA L023EB7 + REP #$30 + LDA L023EB4 + PHA + LDA L023EB2 + PHA + PEA $0000 + PEA $0000 + PEA ^L023EB7 + PEA L023EB7 + JSL L042748 + BRL L023E24 +L023EAC DB $00 + DB $00 +L023EAE DB $00 + DB $00 +L023EB0 DB $00 + DB $00 +L023EB2 DB $00 + DB $00 +L023EB4 DB $00 + DB $00 +L023EB6 DB $00 +L023EB7 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L023ED6 PHA + PHA + PHY + PHX + PEI $FC + PHA + PHA + PHA + _NewHandle + PLX + PLY + BCC L023EF1 + LDA #$0000 + JSR L020AB8 + SEC +L023EF1 RTS + +L023EF2 PHB + PHY + PLB + LDA |$0002,X + TAY + LDA |$0000,X + TAX + PLB + PLB + RTS + +L023F00 JSR L020D0C + JSL L044EAB + JSL L042328 + JSR L020D34 + CLC + RTS + +L023F10 EOR #$FFFF ; 32 TRON +L023F13 JSL L04507E ; 33 TROFF + CLC + RTS + +* AV 202010 - Two new commands + +doCHON stz fgOUTPUT ; we want multiple files (default) + clc + rts + +doCHOFF lda #-1 ; we want one file only + sta fgOUTPUT + clc + rts + +fgOUTPUT ds 2 + +*--- end of AV 202010 + +L023F19 LDA [$F8] + AND #$00FF + BEQ L023F72 + JSR L023F44 + BCC L023F72 + JSR L021339 + BCS L023F42 + STA L023F68 + STA L023F6A + STZ L023F6C + CPY $42 + BNE L023F3C + JSR L023F44 + BRA L023F72 +L023F3C LDA #$0003 + JSR L020AB8 +L023F42 CLC + RTS + +L023F44 LDA [$F8] + AND #$00FF + BEQ L023F61 + CMP #$00AF + BNE L023F61 + INC $F8 + JSR L021309 + SEC + SBC #$00B0 + CMP #$0003 + BCC L023F63 + JSR L023F3C +L023F61 SEC + RTS + +L023F63 STA L023F6C + CLC + RTS + +L023F68 DB $00 + DB $00 +L023F6A DB $00 + DB $00 +L023F6C DB $00 + DB $00 +L023F6E DB $00 + DB $00 +L023F70 DB $00 + DB $00 + +L023F72 LDA L023F6A + JSL L0416F3 + STA L023F6A + STZ L0240B1 +L023F7F LDA L023F6A + PHA + JSL L0410BB + STA L023F6E + PLA + JSL L041993 + STA L023F70 + BIT L023F6E + BMI L023FA6 + LDA L023F6C + ASL + TAX + LDY L023F6A + JSR (L023FD7,X) + BCC L023FA6 + CLC + RTS + +L023FA6 LDA L023F6A + CLC + ADC L023F70 + BCS L023FBA + STA L023F6A + BIT $5C + BMI L023F7F + CMP $3E + BCC L023F7F +L023FBA LDA L023F68 + STA L023F6A + LDA L023F6C + INC + STA L023F6C + CMP #$0003 + BCC L023F7F + STZ L023F6C + LDA #$0000 + JSR L023FDD + CLC + RTS + +L023FD7 DA L02408D + DA L0240B3 + DA L02411E + +L023FDD PHA + JSR L020CED + PLA + ASL + TAX + LDA L02401C,X + STA L023FFF + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> " + JSL L030314 +L023FFF ADR L023FFF + JSL L03034A + PHA + JSR L020CED + PLA + AND #$00FF + CMP #$008D + SEC + BEQ L02401B + CMP #$009B + SEC + BEQ L02401B + CLC +L02401B RTS + +L02401C DA L024026 + DA L02403B + DA L024042 + DA L024063 + DA L024079 + +L024026 STR "No more bugs found. " +L02403B STR "Break " +L024042 STR "Branch on middle of instruction " +L024063 STR "Branch on a constant " +L024079 STR "Never taken branch " + +L02408D LDA [$3A],Y + AND #$00FF + BEQ L024099 + STZ L0240B1 + CLC + RTS + +L024099 LDA L0240B1 + BEQ L0240A0 + CLC + RTS + +L0240A0 LDA #$0001 + STA L0240B1 +L0240A6 PHA + LDA L023F6A + JSR L021DBB + PLA + BRL L023FDD +L0240B1 DB $00 + DB $00 +L0240B3 LDA [$3A],Y + AND #$00FF + CMP #$004C + BEQ L0240D1 + CMP #$0020 + BEQ L0240D1 + CMP #$0082 + BEQ L024100 + AND #$001F + CMP #$0010 + BEQ L02410D +L0240CF CLC + RTS + +L0240D1 PHY + PEI $42 + PHY + JSL L042A5C + PLA + PHY + TAY + INY + LDA [$3A],Y + PHA + JSL L042ABB + BCS L0240CF +L0240E6 JSL L0410BB + BCS L0240CF + BIT #$8000 + BNE L0240FB + BIT #$0080 + BNE L0240CF + LDA #$0002 + BRA L0240A6 +L0240FB LDA #$0003 + BRA L0240A6 +L024100 INY + LDA [$3A],Y +L024103 CLC + ADC L023F6A + CLC + ADC #$0003 + BRA L0240E6 +L02410D INY + LDA [$3A],Y + AND #$00FF + BIT #$0080 + BEQ L02411B + ORA #$FF00 +L02411B DEC + BRA L024103 +L02411E LDA [$3A],Y + CMP #$40E2 + BEQ L024136 + CMP #$B018 + BEQ L02413E + CMP #$9038 + BEQ L02413E + CMP #$70B8 + BEQ L02413E +L024134 CLC + RTS + +L024136 INY + LDA [$3A],Y + CMP #$5040 + BNE L024134 +L02413E LDA #$0004 + BRL L0240A6 +L024144 PHP + REP #$30 + LDY #$0000 +L02414A SEP #$20 + PHY + LDA [$3A],Y + CMP #$82 + BNE L02417E + INY + REP #$20 + LDA [$3A],Y + INY + INY + PHY + CLC + ADC $01,S + STA L0241B3 + PLY + LDA [$3A],Y + AND #$FFF0 + CMP #$7770 + BNE L02417E + INY + INY + LDA [$3A],Y + AND #$00FF + INC + PHY + CLC + ADC $01,S + PLY + CMP L0241B3 + BEQ L024187 +L02417E PLY + INY + CPY $3E + BNE L02414A + PLP + CLC + RTS + +L024187 PLY + INY + INY + INY + PHY + PEI $42 + PHY + PEA $0002 + PEA $0001 + JSL L043069 + PLY + INY + INY + PEI $42 + PHY + LDA [$3A],Y + AND #$00FF + INC + PHA + PEA $000F + JSL L043069 + LDY L0241B3 + BRL L02414A + +L0241B3 DW $0000 + +L0241B5 JSR L020D34 + JSL L040FF1 + JSL L041D74 + JSR L02A229 + LDA $37 + BEQ L0241D6 + PEI $38 + PEI $36 + _DisposeHandle + STZ $36 + STZ $38 +L0241D6 LDA L0283CD + BEQ L0241F0 + LDA L0283CE + PHA + LDA L0283CC + PHA + _DisposeHandle + STZ L0283CC + STZ L0283CE +L0241F0 STZ L0283C2 + STZ $40 + STZ $42 + STZ $5C + STZ $F6 + STZ L0283C8 + RTS + +L0241FF JSR L021339 + BCC L024206 + CLV + RTS + +L024206 STA L02426D + LDA #$0001 + STA L02426F + JSR L021309 + BCS L024226 + CMP #$00AC + BNE L02425F + JSR L021564 + BCS L02426A + STA L02426F + CMP #$0000 + BEQ L02425D +L024226 LDY L02426D +L024229 LDA [$3A],Y + TAX + CLC + ADC L02426D + BCS L024264 + BIT $5C + BMI L02423A + CMP $3E + BCS L024264 +L02423A PHX + PHY + PEI $42 + PHY + PEA $0002 + PEA $0001 + JSL L043069 + PLY + INY + INY + PLA + JSR L0242DC + BIT $5C + BMI L024258 + CPY $3E + BCS L02425D +L024258 DEC L02426F + BNE L024229 +L02425D CLC + RTS + +L02425F LDA #$0001 + BRA L024267 +L024264 LDA #$0007 +L024267 JSR L020AB8 +L02426A SEC + CLV + RTS + +L02426D DB $00 + DB $00 +L02426F DB $00 + DB $00 +L024271 JSR L021339 + BCC L024278 +L024276 CLV + RTS + +L024278 STA L0242D8 + LDA #$0001 + STA L0242DA + JSR L021309 + BCS L024298 + CMP #$00AC + BNE L0242CF + JSR L021564 + BCS L024276 + STA L0242DA + CMP #$0000 + BEQ L0242CD +L024298 LDY L0242D8 +L02429B LDX #$0000 +L02429E INX + LDA [$3A],Y + AND #$00FF + BEQ L0242B1 + INY + BEQ L0242B1 + BIT $5C + BMI L02429E + CPY $3E + BCC L02429E +L0242B1 TXA + LDY L0242D8 + JSR L0242DC + STY L0242D8 + CPY #$0000 + BEQ L0242CD + BIT $5C + BMI L0242C8 + CPY $3E + BCS L0242CD +L0242C8 DEC L0242DA + BNE L02429B +L0242CD CLC + RTS + +L0242CF LDA #$0001 + JSR L020AB8 + SEC + BRA L024276 +L0242D8 DB $00 + DB $00 +L0242DA DB $00 + DB $00 +L0242DC STY L02438A + CLC + ADC L02438A + STA L02438C +L0242E6 JSR L0242ED + BNE L0242E6 + CLC + RTS + +L0242ED SEP #$20 + STY L02438A + LDX #$0001 + LDA [$3A],Y + AND #$7F + CMP #$20 + BCS L02432C +L0242FD LDA [$3A],Y + JSR L024374 + BCS L02434D + INX + CPX #$0028 + BCS L02434D + AND #$7F + CMP #$0D + BEQ L02431E + CMP #$0A + BEQ L02431E + LDA [$3A],Y + AND #$7F + CMP #$20 + BCC L0242FD + BRA L02432C +L02431E LDA [$3A],Y + AND #$7F + CMP #$0D + BEQ L0242FD + CMP #$0A + BEQ L0242FD + BRA L02434D +L02432C LDA [$3A],Y + AND #$80 + STA L024373 +L024333 JSR L024374 + BCS L02434D + INX + LDA [$3A],Y + AND #$7F + CMP #$20 + BCC L0242FD + CPX #$0028 + BCS L02434D + LDA [$3A],Y + EOR L024373 + BPL L024333 +L02434D REP #$20 + PHY + PEI $42 + LDA L02438A + PHA + PHX + PEA $0009 + JSL L043069 + PLY + STY L02438A + DEY + JSR L024374 + BCC L02436D + LDA #$0000 + BRA L024372 +L02436D LDA [$3A],Y + AND #$00FF +L024372 RTS + +L024373 DB $00 + +L024374 INY + BEQ L024388 + PHY + LDY L02438C + BEQ L024385 + PLY + CPY L02438C + BCS L024388 + CLC + RTS + +L024385 PLY + CLC + RTS + +L024388 SEC + RTS + +L02438A DB $00 + DB $00 +L02438C DB $00 + DB $00 + +L02438E LDX #$0000 +L024391 LDA L0243C9+1,X + STA L0243AF+1 + LDA L0243C9,X + STA L0243AF + BEQ L0243C0 + PHX + JSL L0300D1 + PLX + PHX + BNE L0243AB + JSR L02728C +L0243AB JSL L030719 +L0243AF ADR $000000 + JSR L025A40 + PLX + BCS L0243C0 + TXA + CLC + ADC #$0004 + TAX + BRA L024391 +L0243C0 JSL L0300D1 + JSR L021E04 + CLC + RTS + +L0243C9 ADRL L0243E9 + ADRL L0245B9 + ADRL L02483E + ADRL L024B44 + ADRL L024DC1 + ADRL L024FE3 + ADRL L025254 + ADRL $00000000 + +L0243E9 DW L0245B9-L0243EB +L0243EB ASC 8D + ASC " Phoenix wings: Ferox, Bandit II, Nibble, Perfect Bug."8D8D8D8D + ASC "Single-key ops:"8D8D + ASC " " + ASC 'J' + ASC " one line down ^* access desktop " + ASC " ^+ stack position"8D + ASC " " + ASC 'K' + ASC " one line up " + ASC " ^- unstack position"8D + ASC " ^S lower/upper" + ASC "case opcodes"8D + ASC " " + ASC 'AJ' + ASC " one page down"8D + ASC " " + ASC 'AK' + ASC " one page up ^H hex dump mode"8D8D + ASC " ^" + ASC 'J' + ASC " line history down ^R hilite relocs i" + ASC "n hex"8D + ASC " ^" + ASC 'K' + ASC " line history up ^C hilite constant" + ASC "s in hex"8D + +L0245B9 DW L02483E-L0245BB +L0245BB ASC 8D + ASC "Disk commands:"8D8D + ASC " PFX [Path] ................ Set/choose prefix 0"8D + ASC " CAT [Path] ................ Catalog a directory or prefix 0"8D + ASC " MD DirName ............... Create directory"8D8D + ASC " LOAD FileName .............. Load the file to disassemble"8D + ASC " RLOAD Filename[,rType,ID] ... Load and disassemble a resource"8D + ASC 8D" SEG [SegNum] .............. Load specified segment"8D + ASC 8D" SLOAD [FileName] ............ Load a scripts file"8D + ASC " SSAVE [FileName] ............ Save script file"8D + ASC 8D" TLOAD [FileName] ............ Load a template file"8D + ASC " TSAVE [FileName] ............ Save a template file"8D + ASC 8D" QUIT or BYE .................. Quit TFBD back to launcher" + +L02483E DW L024B44-L024840 +L024840 ASC 8D + ASC "Constants (followed by address [,num]):"8D8D + ASC " DB/DW ........................ Byte/Word"8D + ASC " DDB .......................... Double byte"8D + ASC " DA/ADR/ADRL .................. 2/3/4 bytes address"8D + ASC " DCI .......................... Hi-bit ended string"8D + ASC " STR .......................... Pascal string"8D + ASC " STRL ......................... C1 (GS/OS) string"8D + ASC " FLO .......................... 80-bits IEEE number"8D + ASC " CHK .......................... CheckSum byte"8D + ASC " OFF .......................... Offset (xxxx-*)"8D + ASC " C1 ........................... Word-lengthed text (DW + ASC)"8D + ASC " CS ........................... CString"8D + ASC 8D" ASC adr,len | adr1.adr2 ...... ASCII zone"8D + ASC " REV (Idem) .................. Reversed ASCII"8D + ASC " HEX (Idem) .................. Hexa datas"8D + ASC " DS (Idem) .................. Reserved space"8D + +L024B44 DW L024DC1-L024B46 +L024B46 ASC 8D + ASC "Labels:"8D8D + ASC " LAB adr,Label ................ Define label"8D + ASC " LAB adr ...................... Delete label at adr"8D + ASC " LAB Label .................... Delete label "A2"Label"A2""8D + ASC " ENT adr,Label ................ Define entry label"8D + ASC " EQU adr,Label ................ Define Equate label"8D + ASC " TRON / TROFF ................. 16/24-bits labels for GENLAB"8D + ASC " CHON / CHOFF ................. Multiple or one file for SRC"8D + ASC " GENLAB ....................... Generate labels"8D + ASC 8D"Directives:"8D8D + ASC " MX adr,%xx .................. Registers size"8D + ASC " ORG adr,orgadr ............... Re-org code"8D + ASC " ORG adr ...................... Reset org"8D + ASC " DBR adr,xx ................... Assume Data Bank Reg"8D + ASC " DBR adr ...................... DBR = Program bank" + +L024DC1 DW L024FE3-L024DC3 +L024DC3 ASC 8D + ASC "Relocations:"8D8D + ASC " REL adr [,size,shift,refadr,disp] .. Set reloc record"8D + ASC " MREL [+/-disp,] adr,n [,refadr] ..... Multiple REL"8D + ASC " PHL adr ............................ 2xPEA relocation"8D + ASC " PHL2 adr1,adr2 ...................... HiWord,LoWord"8D + ASC " RPHL adr ............................ PHL with LoWord first"8D + ASC " REL8 ................................ 2x8 bits relocation"8D + ASC " RREL8 ............................... Idem, reversed"8D + ASC 8D8D"Comments:"8D8D + ASC " COM adr,text ........................ Set comment text at adr"8D + ASC " COM adr ............................. Remove comment" + +L024FE3 DW L025254-L024FE5 +L024FE5 ASC 8D + ASC "Miscellaneous:"8D8D + ASC " LIST adr ..................... List from adr"8D + ASC " TABS x,y,z ................... Set tabs"8D8D + ASC " INFOS ........................ Infos about segment"8D8D + ASC " \ ScrName [adr] .............. Execute script"8D + ASC " \ * [adr] .................... Choose & exec script"8D + ASC " SEDIT ........................ Edit script file"8D8D + ASC " SRC [range] Name ............. Generate Name.S source file"8D8D + ASC " ROM .......................... Disassemble ROMs"8D + ASC " STOOL adr,toolnum ............ Disasm toolset header with routines names"8D + ASC " MLABS ........................ Generate monitor labels (when in ROM)"8D8D + ASC " [Const list] Name ............ Define structure"8D + +L025254 DW L025543-L025256 +L025256 ASC 8D + ASC "Miscellaneous:"8D8D + ASC " MATCH [C][L][D] .............. Align or Purge Consts, Labs & Directives"8D + ASC " REM [C][L][D][,Range] ...... Remove Consts, Labs & Directives"8D + ASC " TCLR ......................... Clear all templates"8D + ASC " TC ........................... Templates correction"8D8D + ASC " DOS .......................... Search for OS calls & disasm parms tables"8D + ASC " BUG [adr][/n] ................ Search for bugs in disassembly"8D8D + ASC " DSK .......................... Access desktop"8D + ASC " HIST ......................... Commands history"8D8D + ASC " -FileName .................... Call an expansion file"8D + ASC " CFG [/S or /D] Name .......... Save, Delete or load configuration"8D8D + ASC " FIND [range] [objects] ....... Locate a string in object code"8D + ASC " SCAN [range] [kinds] ......... Scan for a kind of data" + +L025543 JSR L025566 + JSL L030719 + ADR L0255A7 + JSR L025A40 + JSR L025566 + JSL L030719 + ADR L025822 + JSR L025A40 + JSR L020D34 + JSR L021E04 + CLC + CLV + RTS + +L025566 JSR L020D34 + JSL L030719 + ADR L025571 + RTS + +L025571 dw L0255A7-L025573 +L025573 asc 8D" - Shareware info -"8D8D + +L0255A7 dw L025822-L0255A9 +L0255A9 asc 8D"TFB-Disasm is a usefull and a powerfull utility. But it's also a very long and" + asc 8D"hard-to-think program. It's been thousands hours of programming and testing. By." + asc 8D"the way, it should cost thousands of dollars. But who -except governments- wouldpay such a fee for a soft ? You ?" + asc 8D8D8D" TFB-Disasm is a Shareware. But an unusual shareware." + asc 8D8D" There's no evaluation period. I don't ask you to delete or to stop using TFBD" + asc 8D"within 15 or 30 days. There's no hidden option that some voodoo magic, using a" + asc 8D"shareware fee, will make accessible, and the version I send is up-to-date." + asc 8D8D8D" So, what am I asking you ?" + +L025822 dw L025A40-L025824 +L025824 asc " Whatever you want." + asc 8D8D" You feel it's worth sending any fee ? - Do it." + asc 8D" How much ? $1 ? $5 ? $10 ? $30 ? - As you see." + asc 8D" And why not your last production ? - I may need it." + asc 8D8D8D" Just remember that everything I can receive is only used for the" + asc 8D" expansion of my Apple II developpement configuration - for YOU." + asc 8D8D8D8D" Send anything to: Philippe Savitch" + asc 8D" 19, rue de la Duee" + asc 8D" 75020 Paris - France" + +L025A40 JSR L020CED + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> Press any key " + JSL L03034A + PHA + JSR L020CED + PLA + AND #$00FF + CMP #$009B + BEQ L025A74 + CLC +L025A74 RTS + +L025A75 PHP + SEP #$20 + REP #$10 + LDY #$0000 +L025A7D LDX #$0000 +L025A80 LDA [$3A],Y + CMP L025AF7,X + BEQ L025A8A + BRL L025AB6 +L025A8A INY + INX + CPX #$0004 + BCC L025A80 + PHY + PEI $42 + PHY + PEA $0002 + PEA $0001 + JSL L043069 + PLY + INY + INY + PHY + PEI $42 + PHY + PEA $0004 + PEA $0004 + JSL L043069 + PLY + INY + INY + INY + BRA L025AE7 +L025AB6 LDX #$0000 +L025AB9 LDA [$3A],Y + CMP L025AFB,X + BNE L025AE7 + INY + INX + CPX #$0003 + BCC L025AB9 + PHY + PEI $42 + PHY + PEA $0001 + PEA $0000 + JSL L043069 + PLY + INY + PHY + PEI $42 + PHY + PEA $0002 + PEA $0003 + JSL L043069 + PLY + INY +L025AE7 INY + BEQ L025AF5 + BIT $5C + BMI L025A7D + CPY $3E + BCS L025AF5 + BRL L025A7D +L025AF5 PLP + RTS + +L025AF7 HEX 22A800E1 +L025AFB HEX 2000BF + +L025AFE SEP #$30 + LDA [$F8] + BNE L025B15 + LDX #$0E + STX L025B72 + LDX #$06 + STX L025B73 + LDX #$10 + STX L025B74 + BRA L025B4B +L025B15 LDX #$00 +L025B17 PHX + JSR L025B2F + PLX + BCS L025B2D + STA L025B72,X + INX + CPX #$03 + BEQ L025B4B + PHX + JSR L02153D + PLX + BCC L025B17 +L025B2D CLC + RTS +L025B2F PEI $FA + PEI $F8 + LDX #$02 + JSL L0306BD + REP #$10 + PLX + STX $F8 + PLX + STX $FA + SEP #$10 + RTS + +L025B44 LDA #$03 + JSR L020AB8 + CLC + RTS + +L025B4B CLC + LDA #$16 + ADC L025B72 + ADC L025B73 + CMP #$2F + BCS L025B44 + ADC L025B74 + CMP #$50 + BCS L025B44 + LDA #$16 + ADC L025B72 + STA $44 + ADC L025B73 + STA $45 + ADC L025B74 + STA $46 + CLC + RTS + +L025B72 DB $00 +L025B73 DB $00 +L025B74 DB $00 + + MX %00 +L025B75 JSR L020D34 + LDA L0207BD + BNE L025BBE + LDX #$0001 + LDY #$0014 + JSL L0300E2 + JSL L0302E1 + STR "Sorry, not enough memory for history buffer." +L025BB8 JSR L02A0C1 + SEC + CLV + RTS + +L025BBE JSL L0302E1 + STR " Command-line history from latest:"8D8D + LDX L0207BC + LDY L0207BE + JSR L023EF2 + STX $0A + STY $0C + LDX L0207C0 + BNE L025C24 + JSL L0302E1 + STR " --- History buffer is empty ---" + BRA L025BB8 +L025C24 STZ L025C72 + CPX #$0013 + BCC L025C2F + LDX #$0012 +L025C2F PHX + LDA #$00A0 + JSL L03022D + CLC + LDA L025C72 + ADC $0A + STA L025C50 + LDA #$0000 + ADC $0C + SEP #$20 + STA L025C52 + REP #$20 + JSL L030314 +L025C50 DB $00 + DB $00 +L025C52 DB $00 + PLX + CPX #$0001 + BEQ L025C6C + PHX + JSL L0302C3 + PLX + CLC + LDA L025C72 + ADC #$0050 + STA L025C72 + DEX + BNE L025C2F +L025C6C JSR L02A0C1 + SEC + CLV + RTS + +L025C72 DB $00 + DB $00 +L025C74 PHP + REP #$30 + LDA [$F8] + AND #$00FF + BEQ L025C89 + JSR L021586 + LDY #^L0215CD + LDA #L0215CD + BRA L025CAC +L025C89 LDAL L050143 + BNE L025CA8 + LDA L020184 + BNE L025C9C + LDA #L025CE4 + LDY #^L025CE4 + BRA L025CAC +L025C9C LDX L020183 + LDY L020185 + JSR L023EF2 + TXA + BRA L025CAC +L025CA8 LDA #$0000 + TAY +L025CAC JSL L05054C + BCC L025CBF + CMP #$0000 + BNE L025CBC + JSR L020AB8 + BRA L025CBF +L025CBC JSR L020AF7 +L025CBF PLP + CLC + RTS + +L025CC2 PHP + REP #$30 + LDA [$F8] + AND #$00FF + BEQ L025CD7 + JSR L021586 + LDY #^L0215CD + LDA #L0215CD + BRA L025CD8 +L025CD7 TAY +L025CD8 JSL L0523AA + BCC L025CE1 + JSR L020AF7 +L025CE1 PLP + CLC + RTS + +L025CE4 STRL '9:ScriptFile.S' +L025CF4 PHP + REP #$30 + LDX #$0000 +L025CFA LDA [$F8] + INC $F8 + AND #$00FF + BEQ L025D11 + AND #$007F + CMP #$0020 + BEQ L025D11 + STA L025D36,X + INX + BRA L025CFA +L025D11 SEP #$10 + STX L025D35 + REP #$10 + PEA ^L025D35 + PEA L025D35 + CMP #$0000 + BEQ L025D2A + JSR L021339 + PHY + PHA + BRA L025D2E +L025D2A PEI $42 + PEI $54 +L025D2E JSL L05063A + PLP + CLC + RTS + +L025D35 DB $00 +L025D36 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L025D7E JSL L051902 + CLC + RTS + +L025D84 DB $00 + DB $00 +L025D86 DB $80 + DB $C0 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DW $0011 ; number of tools + DW $0004 ; quickdraw II + DW $0301 + DW $0005 ; desk manager + DW $0302 + DW $0006 ; event manager + DW $0300 + DW $000B ; int math tool set + DW $0200 + DW $000E ; window manager + DW $0301 + DW $000F ; menu manager + DW $0301 + DW $0010 ; control manager + DW $0301 + DW $0012 ; quickdraw II aux + DW $0301 + DW $0013 ; print manager + DW $0300 + DW $0014 ; lineedit tool set + DW $0301 + DW $0015 ; dialog manager + DW $0301 + DW $0016 ; scrap manager + DW $0300 + DW $0017 ; std file tool set + DW $0301 + DW $001B ; font manager + DW $0301 + DW $001C ; list manager + DW $0301 + DW $001E + DW $0100 + DW $0022 + DW $0101 +L025DD4 JSR L02089E + JSR L020811 + SEP #$20 + LDAL $E0C025 + REP #$20 + AND #$0080 + EOR #$0080 + PHA + LDA L025D86 + AND #$FF7F + ORA $01,S + STA L025D86 + PHA + LDA $FE + PHA + PEA $0000 + PEA ^L025D84 + PEA L025D84 + _StartUpTools + PLA + STA L025E5C + PLA + STA L025E5E + LDA #$0000 + PHA + PHA + PHA + PHA + PHA + PEA $8000 + _UseColorTable + _DisposeHandle + JSR L025E60 + JSR L025FE3 + PHP + PHA + PEA $FFFF + PEA $0000 + _FlushEvents + PLA + PEA $0004 + PEA ^L025D84 + PEA L025D84 + _ShutDownTools + JSR L0207C2 + JSR L02084C + PLP + BVS L025E5A + CLC + RTS + +L025E5A SEC + RTS + +L025E5C DB $00 + DB $00 +L025E5E DB $00 + DB $00 +L025E60 PEA $0000 + PEA $0000 + PEA ^L025F57 + PEA L025F57 + _NewMenu + PEA $0000 + _InsertMenu + PEA $0000 + PEA $0000 + PEA ^L025F15 + PEA L025F15 + _NewMenu + PEA $0000 + _InsertMenu + PEA $0000 + PEA $0000 + PEA ^L025EE6 + PEA L025EE6 + _NewMenu + PEA $0000 + _InsertMenu + PEA $0001 + _FixAppleMenu + PEA $0000 + _FixMenuBar + PLA + PEA $000A + _SetMTitleStart + _DrawMenuBar + _InitCursor + CLC + RTS + +L025EE6 ASC '>>@\XH'01000D + ASC '==About TFB-Disasm' + ASC "I" + ASC '\BH'00010D + ASC '==-\N500D\0'0D + ASC '.' +L025F15 ASC '>> File \H'02000D + ASC '==Return\BV*RrH'01010D + ASC '==Quit\BV*QqH'02010D + ASC '==Close\D*WwH'03010D + ASC '.' +L025F57 ASC '>> Edit \H'03000D + ASC '==Undo\*ZzH' + ASC "z"000D + ASC '==-\N500D'0D + ASC '==Cut\*XxH' + ASC "{"000D + ASC '==Copy\*CcH' + ASC "|"000D + ASC '==Paste\*VvH' + ASC "}"000D + ASC '==Clear\H' + ASC "~"000D + ASC '.' +L025FB5 DW $0000 ; event code + ADRL $00000000 ; event message + ADRL $00000000 ; tick count + DW $0000 ; mouse location + DW $0000 + DW $0000 ; modifiers +L025FC5 ADRL $00000000 ; task data + ADRL $001FFFFF ; task mask + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + MX %00 +L025FE3 PHA + PHA + _FrontWindow + PLA + ORA $01,S + STA $01,S + PLA + BEQ L02600B + BIT L026063 + BMI L02601D + PEA $0103 + _EnableMItem + LDA #$FFFF + STA L026063 + BRA L02601D +L02600B BIT L026063 + BPL L02601D + PEA $0103 + _DisableMItem + STZ L026063 +L02601D PEA $0000 + PEA $FFFF + PEA ^L025FB5 + PEA L025FB5 + _TaskMaster + PLA + BEQ L025FE3 + CMP #$0011 + BEQ L02603F + CMP #$0019 + BNE L025FE3 + BRA L026052 +L02603F LDA L025FC5 + CMP #$0104 + BCS L026052 + SEC + SBC #$00FA + ASL + TAX + JSR (L026065,X) + BCS L026062 +L026052 PEA $0000 + LDA L025FC5+2 + PHA + _HiliteMenu + BRA L025FE3 +L026062 RTS + +L026063 DB $00 + DB $00 + +L026065 DA L026062 + DA L026062 + DA L026062 + DA L026062 + DA L026062 + DA L026062 + DA L026079 + DA L02607B + DA L02607E + DA L026095 + +L026079 CLC + RTS + +L02607B SEC + CLV + RTS + +L02607E PEA $0004 + PEA ^L025D84 + PEA L025D84 + _ShutDownTools + LDA L020003 + TCS + JMP L020A10 + +L026095 PHA + PHA + _FrontWindow + LDA $02,S + BEQ L0260AB + _CloseNDAbyWinPtr + CLC + RTS + +L0260AB PLA + PLA + CLC + RTS + +L0260AF JSR L021309 + BCC L0260BE + JSR L026659 + PHP + JSR L021E04 + PLP + CLV + RTS + +L0260BE CMP #$00AF + BEQ L0260C8 + DEC $F8 + BRL L0264AD +L0260C8 JSR L021309 + CMP #$00C4 + BNE L0260E6 + JSR L02635B + BCC L0260D6 + RTS + +L0260D6 PEA ^L0263B1 + PEA L0263B1 + PEA $2002 ; Destroy + JSL GSOS2 + BCS L026112 + RTS + +L0260E6 CMP #$00D3 + BEQ L0260EE + BRL L026352 +L0260EE JSR L021320 + BCC L0260F8 + JSR L026698 + CLV + RTS + +L0260F8 JSR L02635B + BCC L0260FE + RTS + +L0260FE PEA ^L026395 + PEA L026395 + PEA $2006 ; GetFileInfo + JSL GSOS2 + BCC L026126 + CMP #$0046 + BEQ L026115 +L026112 BRL L026348 +L026115 PEA ^L0263A3 + PEA L0263A3 + PEA $2001 ; Create + JSL GSOS2 + BCS L026112 + BRA L0260FE +L026126 LDA L02639D + CMP #$005A + BEQ L026131 +L02612E BRL L02634D +L026131 LDA L02639F + CMP #$8040 + BNE L02612E + JSR L02629F + BCS L026112 + LDA L0263DD + STA L0263F1 + STA L026417 + STZ L026417+2 + PEA ^L026411 + PEA L026411 + PEA $2018 ; SetEOF + JSL GSOS2 + BCC L02615C +L026159 BRL L026345 +L02615C PEA ^L026411 + PEA L026411 + PEA $2016 ; SetMark + JSL GSOS2 + BCS L026159 + LDA #$C6D4 + STA L0263E5 + LDA #$C4C2 + STA L0263E5+2 + LDA #$0100 + STA L0263E9 + LDA $F6 + ASL + LDA #$0000 + ROL + ORA $5E + STA L0263EB + LDA $44 + STA L0263ED + LDA $46 + AND #$00FF + STA L0263EF + LDA $54 + STA L0263FB + LDA $56 + STA L0263FD + LDA L02845D + STA L0263FF + LDA L02845F + STA L026401 + LDA L028461 + STA L026403 + LDA L028463 + STA L026405 + LDA $42 + STA L0263F9 + PEA ^L026385 + PEA L026385 + PEA $200A ; GetPrefix + JSL GSOS2 + BCS L026159 + LDA L021658 + INC + INC + STA L026435 + CLC + ADC L0263F1 + STA L0263F3 + PEA ^L02642D + PEA L02642D + PEA $2013 ; Write + JSL GSOS2 + BCC L0261ED + BRL L026345 +L0261ED BIT $F6 + BMI L0261F6 + BIT L0283C2 + BMI L026201 +L0261F6 LDA L0263F3 + STA L0263F5 + STZ L0263F3 + BRA L02621F +L026201 LDA L0282C2 + INC + INC + STA L026445 + CLC + ADC L0263F3 + STA L0263F5 + PEA ^L02643D + PEA L02643D + PEA $2013 ; Write + JSL GSOS2 + BCS L026270 +L02621F LDAL L041ACA + BNE L026230 + STZ L0263F5 + JSR L026302 + STA L0263F7 + BRA L02624F +L026230 LDAL L041ACE + INC + INC + STA L026455 + CLC + ADC L0263F5 + STA L0263F7 + PEA ^L02644D + PEA L02644D + PEA $2013 ; Write + JSL GSOS2 + BCS L026270 +L02624F LDA $D8 + BNE L026258 + STZ L0263F7 + BRA L026273 +L026258 LDAL L050143 + INC + INC + STA L026465 + PEA ^L02645D + PEA L02645D + PEA $2013 ; Write + JSL GSOS2 + BCC L026273 +L026270 BRL L026345 +L026273 JSR L026313 + BCS L026270 + LDA #$0000 + JSR L0262F1 + PEA ^L0263D5 + PEA L0263D5 + PEA $2013 ; Write + JSL GSOS2 + BCS L026270 + PEA ^L026407 + PEA L026407 + PEA $2018 ; SetEOF + JSL GSOS2 + JSR L0262DF + CLC + RTS + +L02629F PEA ^L0263B7 + PEA L0263B7 + PEA $2010 ; Open + JSL GSOS2 + BCS L0262DE + LDA L0263B9 + STA L0263C1 + STA L0263C5 + STA L0263D7 + STA L026409 + STA L026413 + STA L02641D + STA L026425 + STA L02642F + STA L02643F + STA L02644F + STA L02645F + STA L02646F + STA L02647F + STA L02648F + STA L02649F +L0262DE RTS + +L0262DF PHP + PHA + PEA ^L0263BF + PEA L0263BF + PEA $2014 ; Close + JSL GSOS2 + PLA + PLP + RTS + +L0262F1 STA L026429 + PEA ^L026423 + PEA L026423 + PEA $2016 ; SetMark + JSL GSOS2 + RTS + +L026302 PEA ^L02641B + PEA L02641B + PEA $2017 ; GetMark + JSL GSOS2 + LDA L02641F + RTS + +L026313 PEA ^L02641B + PEA L02641B + PEA $2017 ; GetMark + JSL GSOS2 + PHA + LDA L02641F + LDA L02641F+2 + STA L02640D+2 + LDA L02641F + STA L02640D + PLA + RTS + +L026332 PEA ^L0263C3 + PEA L0263C3 + PEA $2012 ; Read + JSL GSOS2 + BCS L026344 + LDA L0263D3 +L026344 RTS + +L026345 JSR L0262DF +L026348 JSR L020AF7 + BRA L026358 +L02634D LDA #$0015 + BRA L026355 +L026352 LDA #$0001 +L026355 JSR L020AB8 +L026358 SEC + CLV + RTS + +L02635B JSR L021586 + LDA L0215CD + BEQ L026352 + LDA #$3A33 + STA L021656+4 + SEP #$20 + LDX #$0002 + LDY #$0000 +L026371 LDA L0215CF,Y + INY + STA L021656+4,X + INX + CPY L0215CD + BCC L026371 + STX L021658 + REP #$20 + CLC + RTS + +L026385 DW $0002 ; Parms for GetPrefix + DW $0000 ; prefix num + ADRL L021656 ; prefix ptr +L02638D DW $0002 ; Parms for SetPrefix + DW $0000 ; prefix num + ADRL L021658 ; prefix ptr +L026395 DW $0004 ; Parms for GetFileInfo + ADRL L021658 ; file name + DW $0000 ; access +L02639D DW $0000 ; file type +L02639F ADRL $00000000 ; aux type +L0263A3 DW $0004 ; Parms for Create + ADRL L021658 ; file name + DW $00C3 ; access + DW $005A ; file type + ADRL $00008040 ; aux type +L0263B1 DW $0001 ; Parms for Destroy + ADRL L021658 ; file name +L0263B7 DW $0002 ; Parms for Open +L0263B9 DW $0000 ; ref num + ADRL L021658 ; path name +L0263BF DW $0001 ; Parms for Close +L0263C1 DW $0000 ; ref num +L0263C3 DW $0004 ; Parms for Read +L0263C5 DW $0000 ; ref num + ADRL L0263D3 ; buffer ptr + ADRL $00000002 ; request count + ADRL $00000000 ; transfer count +L0263D3 DW $0000 +L0263D5 DW $0004 ; Parms for Read +L0263D7 DW $0000 ; ref num + ADRL L0263E5 ; buffer ptr +L0263DD ADRL $00000022 ; request count + ADRL $00000000 ; transfer count +L0263E5 ASC "TFBD" +L0263E9 DB $00 + DB $01 +L0263EB DB $00 + DB $00 +L0263ED DB $00 +L0263EE DB $00 +L0263EF DB $00 + DB $00 +L0263F1 DB $22 + DB $00 +L0263F3 DB $00 + DB $00 +L0263F5 DB $00 + DB $00 +L0263F7 DB $00 + DB $00 +L0263F9 DB $00 + DB $00 +L0263FB DB $00 + DB $00 +L0263FD DB $00 + DB $00 +L0263FF DB $00 + DB $00 +L026401 DB $00 + DB $00 +L026403 DB $00 + DB $00 +L026405 DB $00 + DB $00 +L026407 DW $0003 ; Parms for SetEOF +L026409 DW $0000 ; ref num + DW $0000 ; base +L02640D ADRL $00000000 ; displacement +L026411 DW $0003 ; Parms for SetMark +L026413 DW $0000 ; ref num + DW $0000 ; base +L026417 ADRL $00000000 ; displacement +L02641B DW $0002 ; Parms for GetMark +L02641D DW $0000 ; ref num +L02641F ADRL $00000000 ; position +L026423 DW $0003 ; Parms for SetMark +L026425 DW $0000 ; ref num + DW $0000 ; base +L026429 ADRL $00000000 ; displacement +L02642D DW $0004 ; Parms for Write +L02642F DW $0000 ; ref num + ADRL L021658 ; buffer ptr +L026435 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02643D DW $0004 ; Parms for Write +L02643F DW $0000 ; ref num + ADRL L0282C2 ; buffer ptr +L026445 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02644D DW $0004 ; Parms for Write +L02644F DW $0000 ; ref num + ADRL L041ACE ; buffer ptr +L026455 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02645D DW $0004 ; Parms for Write +L02645F DW $0000 ; ref num + ADRL L050143 ; buffer ptr +L026465 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02646D DW $0004 ; Parms for Read +L02646F DW $0000 ; ref num + ADRL L021656+4 ; buffer ptr +L026475 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02647D DW $0004 ; Parms for Read +L02647F DW $0000 ; ref num + ADRL L0282C4 ; buffer ptr +L026485 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02648D DW $0004 ; Parms for Read +L02648F DW $0000 ; ref num + ADRL L041AD0 ; buffer ptr +L026495 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02649D DW $0004 ; Parms for Read +L02649F DW $0000 ; ref num + ADRL L050145 ; buffer ptr +L0264A5 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L0264AD JSR L02635B + BCC L0264B3 + RTS + +L0264B3 PEA ^L026395 + PEA L026395 + PEA $2006 ; GetFileInfo + JSL GSOS2 +L0264C0 BCC L0264C5 + BRL L026348 +L0264C5 LDA L02639D + CMP #$005A + BEQ L0264D0 +L0264CD BRL L02634D +L0264D0 LDA L02639F + CMP #$8040 + BNE L0264CD + JSR L02629F + BCS L0264C0 + PEA ^L0263D5 + PEA L0263D5 + PEA $2012 ; Read + JSL GSOS2 + BCC L0264EF +L0264EC BRL L026345 +L0264EF LDA L0263F1 + JSR L0262F1 + JSR L026332 + BCS L0264EC + STA L021658 + STA L026475 + PEA ^L02646D + PEA L02646D + PEA $2012 ; Read + JSL GSOS2 + BCS L0264EC + PEA ^L02638D + PEA L02638D + PEA $2009 ; SetPrefix + JSL GSOS2 + BCS L0264EC + LDA L0263F3 + BEQ L026540 + JSR L0262F1 + JSR L026332 + BCS L0264EC + STA L0282C2 + STA L026485 + PEA ^L02647D + PEA L02647D + PEA $2012 ; Read + JSL GSOS2 +L02653E BCS L0264EC +L026540 LDA L0263F5 + BEQ L026563 + JSR L0262F1 + JSR L026332 + BCS L0264EC + STAL L041ACE + STA L026495 + PEA ^L02648D + PEA L02648D + PEA $2012 ; Read + JSL GSOS2 + BCS L02653E +L026563 LDA L0263F7 + BEQ L026586 + JSR L0262F1 + JSR L026332 + BCS L02653E + STAL L050143 + STA L0264A5 + PEA ^L02649D + PEA L02649D + PEA $2012 ; Read + JSL GSOS2 + BCS L02653E +L026586 LDA L0263EB + PHA + AND #$FFFE + STA $5E + STZ $F6 + PLA + AND #$0001 + BEQ L02659C + LDA #$FFFF + STA $F6 +L02659C LDA L0263ED + STA $44 + LDA L0263EE + STA $45 + LDA L0263FB + STA $54 + LDA L0263FD + STA $56 + LDA L0263FF + STA L02845D + LDA L026401 + STA L02845F + LDA L026403 + STA L028461 + LDA L026405 + STA L028463 + JSR L0262DF + LDA L0263F3 + BNE L0265F7 + BIT $F6 + BPL L0265DC + JSR L023D1C + JSR L021E04 + BRA L02660B +L0265DC JSR L020D34 + JSL L040FF1 + JSL L041D74 + JSR L02A229 + STZ L0283C2 + STZ $40 + STZ $42 + STZ $5C + STZ $F6 + BRA L02663D +L0265F7 LDA L0263F9 + BIT L02845D + BPL L026604 + JSR L0290DD + BRA L026607 +L026604 JSR L028C22 +L026607 BCC L02660B + CLV + RTS + +L02660B LDA L0263F5 + BEQ L02663D + JSR L020D0C + PEA $0000 + PEA $0000 + JSL L041F95 + BCC L026625 + JSR L021E04 +L026622 BRL L026348 +L026625 REP #$20 + LDA L0283CE + PHA + LDA L0283CC + PHA + JSL L0437E4 + JSL L042328 + JSR L020D34 + JSR L021E04 +L02663D LDA L0263F7 + BEQ L02664C + LDA #$0000 + TAY + JSL L05054C + BCS L02664E +L02664C CLC + RTS + +L02664E CMP #$0000 + BNE L026622 + JSR L020AB8 + SEC + CLV + RTS + +L026659 SEC + LDA L020007 + BEQ L026697 + PHA + PHA + PEA $0001 + PEA $0000 + PEA $0001 + _LoadResource + PLX + PLY + BCS L026697 + JSR L023EF2 + STX $10 + STY $12 + LDA [$10] + STA $5E + SEP #$30 + LDY #$02 + CLC + LDA #$16 + ADC [$10],Y + INY + STA $44 + ADC [$10],Y + INY + STA $45 + ADC [$10],Y + STA $46 + REP #$31 +L026697 RTS + +L026698 SEC + LDA L020007 + BEQ L0266ED + PHA + PHA + PEA $0001 + PEA $0000 + PEA $0001 + _LoadResource + PLX + PLY + BCS L0266ED + JSR L023EF2 + STX $10 + STY $12 + LDA $5E + STA [$10] + SEP #$30 + LDY #$02 + LDA $44 + SEC + SBC #$16 + STA [$10],Y + INY + LDA $45 + SBC $44 + STA [$10],Y + INY + LDA $46 + SBC $45 + STA [$10],Y + REP #$30 + PEA $0001 + PEA $0001 + PEA $0000 + PEA $0001 + _MarkResourceChange +L0266ED RTS + +L0266EE DB $00 +L0266EF DB $00 +L0266F0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L026740 LDA L0215CD + BEQ L02678A + TAX + INC + INC + TAY + SEP #$20 + LDA L0215CF + CMP #$3A + BNE L026754 + DEY + DEY +L026754 STY L0266EE +L026757 LDA L0215CE,X + STA L0266EF,Y + DEY + DEX + BNE L026757 + REP #$20 + AND #$007F + CMP #$003A + BEQ L026771 + LDA #$3A32 + STA L0266F0 +L026771 PEA ^L026797 + PEA L026797 + PEA $2006 ; GetFileInfo + JSL GSOS2 + BCS L026795 + LDA L02679F + CMP #$00BC + BNE L02678F + CLC + RTS + +L02678A LDX #$0001 + BRA L026792 +L02678F LDX #$0012 +L026792 LDA #$0000 +L026795 SEC + RTS + +L026797 DW $0004 ; Parms for GetFileInfo + ADRL L0266EE ; file name + DW $0000 ; access +L02679F DW $0000 ; file type +L0267A1 ADRL $00000000 ; aux type +L0267A5 DB $00 + DB $00 +L0267A7 DB $00 + DB $00 +L0267A9 DB $00 + DB $00 +L0267AB DB $00 + DB $00 +L0267AD DB $00 +L0267AE DB $00 +L0267AF PHK + PLB + LDA L0267A5 + TCS + LDA L0267A7 + TCD +L0267B9 LDA L0267AD + BEQ L0267D2 + PHA + PHA + PEA $0000 + PHA + _FindHandle + _DisposeHandle +L0267D2 LDA L0267A9 + BEQ L0267F0 + PHA + LDA L0267A9 + PHA + PEA $0000 + _UserShutDown + _DeleteID + STZ L0267A9 +L0267F0 CLC + RTS + +L0267F2 HEX 2C +L0267F3 BRA L026809 + JSR L021586 + JSR L026740 + BCC L026809 + CMP #$0000 + BEQ L026805 + BRL L026958 +L026805 TXA + BRL L026979 +L026809 LDA L0267A1 + BEQ L026825 + BPL L026818 + BIT L0283CA + BMI L026818 + BRL L026976 +L026818 AND #$7FFF + BEQ L026825 + CMP L028451 + BEQ L026825 + BRL L026976 +L026825 STZ L0267AB + STZ L0267AD + PHA + PHA + PHA + PHA + PHA + PHA + PEI $FE + _GetNewID + PEA ^L0266EE + PEA L0266EE + PEA $0000 + PEA $0001 + _InitialLoad2 + STA L026986 + PLA + STA L0267A9 + PLA + STA L026982 + STA $00 + PLA + STA L026984 + STA $02 + PLA + STA L0267AB + CLC + ADC $01,S + STA L0267AD + PLA + LDA L026986 + BEQ L026873 + BRL L02695D +L026873 LDA L0267AD + BNE L0268A9 + PHA + PHA + PEA $0000 + PEA $0800 + LDA L0267A9 + PHA + PEA $C015 + PEA $0000 + PEA $0000 + _NewHandle + PLX + PLY + BCC L02689B + BRL L026962 +L02689B JSR L023EF2 + STX L0267AB + TXA + CLC + ADC #$0800 + STA L0267AD +L0268A9 LDA [$00] + CMP #$C6D4 + BEQ L0268B3 + BRL L02696C +L0268B3 LDY #$0002 + LDA [$00],Y + CMP #$C4C2 + BEQ L0268C0 + BRL L02696C +L0268C0 INY + INY + LDA [$00],Y + CMP #$0101 + BCC L0268CC + BRL L026971 +L0268CC INY + INY + INY + INY + LDA #$005C + STA [$00],Y + INY + LDA #L0269D2 + STA [$00],Y + INY + LDA #>L0269D2 + STA [$00],Y + TSC + STA L0267A5 + TDC + STA L0267A7 + LDA L0267AD + DEC + TCS + LDA $42 + PHA + LDA $3A + PHA + LDA $3C + PHA + LDA $3E + PHA + LDA #$0000 + BIT $5C + BPL L026902 + INC +L026902 PHA + LDA L0267AB + TCD + PLA + STA $86 + PLA + STA $84 + PLA + STA $82 + PLA + STA $80 + PLA + STA $88 + LDA L0283CC + STA $94 + LDA L0283CE + STA $96 + LDA L0267A9 + STA $98 + LDA L028451 + STA $8A + LDA L028453 + STA $8C + LDA L028455 + STA $8E + LDA #L0283D0 + STA $90 + LDA #^L0283D0 + STA $92 + PHK + PEA L0267AE + SEP #$20 + LDA L026984 + PHA + REP #$21 + LDA L026982 + ADC #$000B + PHA + LDA L026983 + PHA + PLB + PLB + RTL + +L026958 JSR L020AF7 + BRA L02697C +L02695D JSR L020CB4 + BRA L02697C +L026962 LDA #$0000 + BRA L026979 + LDA #$0001 + BRA L026979 +L02696C LDA #$0012 + BRA L026979 +L026971 LDA #$0013 + BRA L026979 +L026976 LDA #$0014 +L026979 JSR L020AB8 +L02697C JSR L0267B9 + SEC + CLV + RTS + +L026982 DB $00 +L026983 DB $00 +L026984 DB $00 + DB $00 +L026986 DB $00 + DB $00 +L026988 DB $00 + DB $00 +L02698A DB $00 + DB $00 +L02698C DB $00 + DB $00 +L02698E DB $00 +L02698F JSR L020CED + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> Abort expansion execution ? " + JSL L03034A + PHA + JSR L020CED + PLA + AND #$005F + CMP #$0059 + BEQ L0269D1 + CLC +L0269D1 RTS + +L0269D2 PHB + PHP + REP #$30 + PHK + PLB + LDA L0267A7 + TCD + PLA + AND #$FFFE + STA L02698A + STX L026988 + PLA + STA L02698C + SEP #$20 + PLA + STA L02698E + LDAL $E0C025 + BPL L026A0A + LDAL $E0C000 + AND #$7F + CMP #$2E + BNE L026A0A + REP #$20 + JSR L02698F + BCC L026A0A + BRL L0267AF +L026A0A REP #$20 + LDA L026988 + AND #$00FF + CMP #$0002 + BCS L026A53 + ASL + TAX + LDA L026A59,X + PHA + LDA L026988 + XBA + AND #$00FF + RTS + +L026A25 LDA #$0000 +L026A28 STA L026A51 + SEP #$20 + LDA L02698E + PHA + REP #$20 + LDA L02698C + PHA + LDA L026A51 + BEQ L026A42 + LDA #$0001 + TSB L02698A +L026A42 LDA L02698A + PHA + LDA L0267AB + PHA + LDA L026A51 + PLD + PLP + PLB + RTL + +L026A51 DB $00 + DB $00 +L026A53 LDA #$0001 + BRL L026A28 + +L026A59 DA L026A5D-1 + DA L026B36-1 + +L026A5D CMP #$0003 + BCS L026A53 + ASL + TAX + JMP (L026A67,X) + +L026A67 DA L026A6D + DA L026AAA + DA L026A70 + +L026A6D BRL L026A25 +L026A70 PLA + STA L026A9B + SEP #$20 + PLA + STA L026A9B+2 + PLA + REP #$20 + JSL L0300EE + PHX + PHY + LDX #$0000 + LDY #$0017 + JSL L0300E2 + JSR L020CED + JSL L030314 + ADR L0201F7 + JSL L030314 +L026A9B ADR $000000 + JSL L03034A + PLY + PLX + JSL L0300E2 + BRA L026A6D +L026AAA PLA + STA L026AD5 + SEP #$20 + PLA + STA L026AD5+2 + PLA + REP #$20 + JSL L0300EE + PHX + PHY + LDX #$0000 + LDY #$0017 + JSL L0300E2 + JSR L020CED + JSL L0302E1 + STR "> " + JSL L030314 +L026AD5 ADR $000000 + PLY + PLX + JSL L0300E2 + BRA L026A6D +L026AE0 DB $06 + DB $00 + DB $11 + DB $00 + DB $05 + DB $00 + DB $07 + DB $00 +L026AE8 DA L026AF0 + DA L026AFC + DA L026B1E + DA L026B28 +L026AF0 DA L026B70 + DA L026B81 + DA L026B92 + DA L026BA1 + DA L026BAC + DA L026BB9 +L026AFC DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 + DA L026BC2 +L026B1E DA L026C53 + DA L026C53 + DA $0000 + DA $0000 + DA L026C53 +L026B28 DA L026C62 + DA L026C78 + DA L026C86 + DA L026CA7 + DA L026CAE + DA L026CC8 + DA L026CDF + +L026B36 PHA + AND #$001F + STA L026B6E + PLA + AND #$00E0 + LSR + LSR + LSR + LSR + CMP #$0008 + BCC L026B4D + BRL L026A53 +L026B4D TAX + LDA L026B6E + CMP L026AE0,X + BCC L026B59 + BRL L026A53 +L026B59 ASL + PHA + LDA L026AE8,X + CLC + ADC $01,S + PLY + TAX + LDA |$0000,X + BNE L026B6B + BRL L026A53 +L026B6B DEC + PHA + RTS + +L026B6E DB $00 + DB $00 +L026B70 JSL L042ABB + PHY + PHA + BCS L026B7B + BRL L026A6D +L026B7B LDA #$0102 + BRL L026A28 +L026B81 JSL L042A5C + PHY + PHA + BCS L026B8C + BRL L026A6D +L026B8C LDA #$0101 + BRL L026A28 +L026B92 JSL L045089 + BCS L026B9B + BRL L026A6D +L026B9B LDA #$0103 + BRL L026A28 +L026BA1 PEA $0001 + JSL L0413FC + PHA + BRL L026A6D +L026BAC PLY + INY + LDA #$0080 + JSL L04172C + PHY + BRL L026A6D +L026BB9 PLA + JSL L0416F3 + PHA + BRL L026A6D +L026BC2 LDX L026B6E + PHX + CPX #$0006 + BCC L026BED + LDA L026BDC,X + AND #$00FF + BEQ L026BD5 + STA $03,S +L026BD5 JSL L043069 + BRL L026A25 +L026BDC DB $01 + DB $02 + DB $02 + DB $02 + DB $04 + DB $03 + DB $0A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 +L026BED TXA + ASL + TAX + LDA $03,S + JSR (L026BF9,X) + STA $03,S + BRA L026BD5 + +L026BF9 DA L026C05 + DA L026C06 + DA L026C06 + DA L026C06 + DA L026C0D + DA L026C15 + +L026C05 RTS + +L026C06 BIT #$0001 + BEQ L026C05 + INC + RTS + +L026C0D BIT #$0003 + BEQ L026C05 + INC + BRA L026C0D +L026C15 PHA + JSR L026C1F + PLA + BCC L026C05 + INC + BRA L026C15 +L026C1F STA L026C4F + STZ L026C51 + LDX #$0008 +L026C28 LDA #$0000 + ASL L026C4F + ROL + ASL L026C4F + ROL + ADC L026C51 + STA L026C51 + DEX + BNE L026C28 + LDA L026C51 + BEQ L026C4A + CMP #$0003 + BEQ L026C4A + BCS L026C1F + SEC + RTS + +L026C4A LDA #$0000 + CLC + RTS + +L026C4F DB $00 + DB $00 +L026C51 DB $00 + DB $00 +L026C53 PLX + PLY + LDA L026B6E + PHA + PHY + PHX + JSL L042748 + BRL L026A25 +L026C62 LDA $01,S + ORA $03,S + BNE L026C71 + PLA + PLA + JSL L042C85 + BRL L026A25 +L026C71 JSL L042BC0 + BRL L026A25 +L026C78 LDA $01,S + AND #$FEFE + STA $01,S + JSL L042D43 + BRL L026A25 +L026C86 LDA $07,S + XBA + AND #$FF00 + STA $07,S + LDA $05,S + AND #$00FF + ORA $07,S + STA $07,S + LDA $03,S + STA $05,S + LDA $01,S + STA $03,S + PLA + JSL L043774 + BRL L026A25 +L026CA7 JSL L043772 + BRL L026A25 +L026CAE LDA $01,S + CMP #$8000 + BNE L026CBE + PLA + PLA + JSL L042ED4 + BRL L026A25 +L026CBE STA $03,S + PLA + JSL L042E01 + BRL L026A25 +L026CC8 LDA $07,S + EOR $42 + BEQ L026CD1 + BRL L026B8C +L026CD1 LDA $05,S + TAY + LDA [$3A],Y + STA $03,S + JSL L043813 + BRL L026A25 +L026CDF LDA $01,S + ORA $03,S + BNE L026CF4 + PLA + PLA + PEA $0001 + PEA $FF66 + JSL L0435FB + BRL L026A25 +L026CF4 JSL L04386A + BRL L026A25 +L026CFB DB $00 +L026CFC DB $00 +L026CFD DB $00 + DB $00 +L026CFF DB $00 +L026D00 DB $00 +L026D01 DB $00 + DB $00 +L026D03 DB $00 +L026D04 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L026D13 DB $00 + DB $00 +L026D15 DB $00 + DB $00 +L026D17 LDA L026CFC + BEQ L026D60 + LDY L026CFD + LDX L026CFB +L026D22 STY L026D01 + STX L026CFF + PHB + PHY + PLB + LDA |$0002,X + STA $12 + LDA |$0000,X + STA $10 + PLB + PLB + SEP #$30 + LDY #$04 + LDX #$00 +L026D3D LDA [$10],Y + CMP L026D03,X + BNE L026D51 + INY + INX + CPX L026D03 + BEQ L026D3D + BCC L026D3D + REP #$30 + CLC + RTS + +L026D51 REP #$30 + LDA [$10] + TAX + LDY #$0002 + LDA [$10],Y + TAY + ORA [$10] + BNE L026D22 +L026D60 SEC + RTS + +L026D62 LDA L026CFC + BEQ L026DA1 + LDA L026D00 + BEQ L026DA1 + LDY L026CFD + LDX L026CFB + CPX L026CFF + BNE L026DA3 + CPY L026D01 + BNE L026DA3 + PHB + PHY + PLB + LDA |$0002,X + STA $12 + LDA |$0000,X + STA $10 + PLB + PLB + PHY + PHX + LDY #$0002 + LDA [$10] + STA L026CFB + LDA [$10],Y + STA L026CFD +L026D9A _DisposeHandle +L026DA1 CLC + RTS + +L026DA3 PHB + PHY + PLB + LDA |$0002,X + STA $12 + LDA |$0000,X + STA $10 + PLB + PLB + LDY #$0002 + LDA [$10] + TAX + LDA [$10],Y + TAY + ORA [$10] + BEQ L026DA1 + CPX L026CFF + BNE L026DA3 + CPY L026D01 + BNE L026DA3 + PHY + PHX + PHB + PHY + PLB + LDA |$0002,X + STA $16 + LDA |$0000,X + STA $14 + PLB + PLB + LDY #$0002 + LDA [$14] + STA [$10] + LDA [$14],Y + STA [$10],Y + BRA L026D9A +L026DE7 LDA $F8 + STA L026E62 + LDA #$0006 + STA L026D13 + STZ L026D15 +L026DF5 JSR L021320 + BCS L026E28 + CMP #$00DD + BEQ L026E30 + JSR L026E64 + BCS L026E28 + LDA #$0006 + ADC L026D13 + STA L026D13 + INC L026D15 + SEP #$30 + LDY #$FF +L026E14 INY + LDA [$F8],Y + CMP #$A0 + BEQ L026E1F + CMP #$DD + BNE L026E14 +L026E1F REP #$31 + TYA + ADC $F8 + STA $F8 + BRA L026DF5 +L026E28 LDA #$0001 +L026E2B JSR L020AB8 + SEC + RTS + +L026E30 INC $F8 + LDX #$FFFF +L026E35 INX + JSR L021309 + SEP #$20 + STA L026D04,X + REP #$20 + BCC L026E35 + CPX #$0000 + BEQ L026E28 + LDA L026E62 + STA $F8 + TXA + SEP #$21 + STA L026D03 + REP #$20 + ADC L026D13 + STA L026D13 + BCC L026E61 + LDA #$0017 + BRA L026E2B +L026E61 RTS + +L026E62 DB $00 + DB $00 +L026E64 LDX #$0000 + STX L026F5A + SEP #$20 +L026E6C LDY #$0000 +L026E6F JSR L026F4B + EORL L040326,X + AND #$7F + BNE L026E84 + LDAL L040326,X + BPL L026E98 + INX + INY + BNE L026E6F +L026E84 INX + LDAL L040326-1,X + BMI L026E84 + INC L026F5A + LDAL L040326,X + BNE L026E6C + REP #$20 + BRA L026EB4 +L026E98 REP #$21 + INY + TYA + ADC $F8 + STA $F8 + LDA #$0001 + STA L026F5E + LDX L026F5A + LDA L026F60,X + AND #$00FF + STA L026F5C + BRA L026EFC +L026EB4 LDA #$8000 + STA L026F5A + SEP #$20 + LDX #$0000 +L026EBF LDY #$0000 +L026EC2 JSR L026F4B + EORL L026F71,X + AND #$7F + BNE L026ED7 + LDAL L026F71,X + BPL L026EEB + INX + INY + BNE L026EC2 +L026ED7 INX + LDAL L026F70,X + BMI L026ED7 + INC L026F5A + LDAL L026F71,X + BNE L026EBF + REP #$20 +L026EE9 SEC + RTS + +L026EEB REP #$21 + INY + TYA + ADC $F8 + STA $F8 + STZ L026F5C + LDA #$0001 + STA L026F5E +L026EFC LDA [$F8] + AND #$00FF + BEQ L026F40 + CMP #$00DD + BEQ L026F40 + CMP #$00A0 + BEQ L026F40 + CMP #$00A8 + BEQ L026F23 + CMP #$00AA + BNE L026EE9 + INC $F8 + JSR L021564 + BCS L026EE9 + STA L026F5E + BRA L026EFC +L026F23 INC $F8 + JSR L021564 + BCS L026EE9 + LDX L026F5C + BNE L026F32 + STA L026F5C +L026F32 LDA [$F8] + AND #$00FF + CMP #$00A9 + BNE L026EE9 + INC $F8 + BRA L026EFC +L026F40 LDA L026F5A + LDX L026F5E + LDY L026F5C + CLC + RTS + + MX %10 +L026F4B LDA [$F8],Y + CMP #$E1 + BCC L026F59 + CMP #$FB + BCS L026F59 + AND #$DF + STA [$F8],Y +L026F59 RTS + +L026F5A DB $00 + DB $00 +L026F5C DB $00 + DB $00 +L026F5E DB $00 + DB $00 +L026F60 DB $01 + DB $02 + DB $02 + DB $02 + DB $04 + DB $03 + DB $0A + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L026F70 DB $01 +L026F71 ASC "SK" + ASC 'P' + ASC "C" + ASC 'S' + ASC "C" + DB $31 + DB $00 + MX %00 +L026F79 JSR L026DE7 + BCC L026F81 +L026F7E BRL L02703E +L026F81 JSR L026D17 + BCS L026F89 + JSR L026D62 +L026F89 LDX L026D13 + LDY #$0000 + LDA $08 + JSR L023ED6 + BCS L026F7E + PHY + PHX + LDA L026D03 + PHA + STZ L026D03 + JSR L026D17 + PLA + STA L026D03 + LDA L026CFC + BNE L026FB5 + PLX + PLY + STY L026CFD + STX L026CFB + BRA L026FC2 +L026FB5 LDY #$0002 + LDA $01,S + STA [$10] + LDA $03,S + STA [$10],Y + PLX + PLY +L026FC2 STY L026D01 + STX L026CFF + PHB + PHY + PLB + LDA |$0000,X + STA $10 + LDA |$0002,X + STA $12 + PLB + PLB + LDY #$0002 + LDA #$0000 + STA [$10] + STA [$10],Y + INY + INY + SEP #$30 + LDX #$00 +L026FE7 LDA L026D03,X + INX + STA [$10],Y + INY + CPX L026D03 + BEQ L026FE7 + BCC L026FE7 + REP #$30 + LDA L026D15 + STA [$10],Y + INY + INY +L026FFE PHY + JSR L021320 + PLY + CMP #$00DD + BEQ L02703D + PHY + PHY + PHY + JSR L026E64 + STA $03,S + TYA + STA $05,S + PLY + PLA + STA [$10],Y + INY + INY + PLA + STA [$10],Y + INY + INY + TXA + STA [$10],Y + INY + INY + PHY + SEP #$30 + LDY #$FF +L027028 INY + LDA [$F8],Y + CMP #$A0 + BEQ L027033 + CMP #$DD + BNE L027028 +L027033 REP #$31 + TYA + ADC $F8 + STA $F8 + PLY + BRA L026FFE +L02703D CLC +L02703E CLV + RTS + +L027040 SEP #$30 + LDY #$00 +L027044 LDA [$F8],Y + BEQ L02705C + CMP #$A0 + BEQ L027060 + CMP #$E1 + BCC L027056 + CMP #$FB + BCS L027056 + AND #$DF +L027056 STA L026D04,Y + INY + BRA L027044 +L02705C REP #$30 + SEC + RTS + +L027060 STY L026D03 + REP #$30 + CPY #$0000 + BEQ L02705C + TYA + ADC $F8 + STA $F8 + JSR L020F52 + JSR L026D17 + RTS + +L027076 JSR L021339 + BCC L02707D +L02707B SEC + RTS + +L02707D STA L027121 + LDA #$0001 + STA L027123 + JSR L021309 + BCS L02709D + CMP #$00AC + BNE L02707B + JSR L021564 + BCS L02707B + CMP #$0000 + BEQ L02709D + STA L027123 +L02709D LDX L026CFF + LDY L026D01 + JSR L023EF2 + STX $10 + STY $12 + LDY #$0004 + LDA [$10],Y + AND #$00FF + CLC + ADC #$0005 + ADC $10 + STA $10 + BCC L0270BE + INC $12 +L0270BE LDA [$10] + STA L026D15 + LDY #$0002 +L0270C6 LDA [$10],Y + INY + INY + STA L027125 + PHA + LDA [$10],Y + INY + INY + STA L027127 + LDA [$10],Y + INY + INY + STA L027129 + PLA + PHY + ASL + TAX + BCC L0270E7 + JSR (L02711B,X) + BRA L0270EA +L0270E7 JSR (L0270F9,X) +L0270EA PLY + BCS L0270F7 + DEC L026D15 + BNE L0270C6 + DEC L027123 + BNE L0270BE +L0270F7 CLC + RTS + +L0270F9 DA L027152 + DA L027152 + DA L027152 + DA L027152 + DA L027152 + DA L027152 + DA L027164 + DA L027170 + DA L02717A + DA L027170 + DA L0271BB + DA L027170 + DA L02718B + DA L02718B + DA L02718D + DA L0271A3 + DA L027164 + +L02711B DA L0271EF + DA L027250 + DA L027219 + +L027121 DB $00 + DB $00 +L027123 DB $00 + DB $00 +L027125 DB $00 + DB $00 +L027127 DB $00 + DB $00 +L027129 DB $00 + DB $00 +L02712B PEI $42 + LDA L027121 + PHA + LDA L027127 + PHA + JSR L0271EF + BCC L02713F + PLA + PLA + PLA +L02713D SEC + RTS + +L02713F LDA L027125 + PHA + JSL L043069 + LDA L027121 + BEQ L02713D + CMP $3E + BEQ L02713D + CLC + RTS + +L027152 CLC + LDA #$0000 +L027156 ADC L027127 + DEC L027129 + BNE L027156 + INC L027129 + STA L027127 +L027164 JSR L02712B + BCS L02716F + DEC L027129 + BNE L027164 +L02716E CLC +L02716F RTS + +L027170 LDA L027127 + BNE L027164 +L027175 INC L027127 + BRA L027164 +L02717A LDA L027127 + BNE L027164 + LDY L027121 + LDA [$3A],Y + AND #$00FF + BNE L02716E + BRA L027175 +L02718B CLC + RTS + +L02718D LDY L027121 + LDA [$3A],Y + INC + INC + STA L027127 + JSR L02712B + BCS L02716F + DEC L027129 + BNE L02718D + CLC + RTS + +L0271A3 LDY L027121 + LDA [$3A],Y + AND #$00FF + INC + STA L027127 + JSR L02712B + BCS L02716F + DEC L027129 + BNE L0271A3 + CLC + RTS + +L0271BB SEP #$20 + LDY L027121 + LDA [$3A],Y + STA L0271EE + LDX #$0001 +L0271C8 INX + INY + BEQ L0271EC + BIT $5D + BMI L0271D4 + CPY $3E + BCS L0271EC +L0271D4 LDA [$3A],Y + EOR L0271EE + BPL L0271C8 + STX L027127 + REP #$20 + JSR L02712B + BCS L0271EC + DEC L027129 + BNE L0271BB + CLC + RTS + +L0271EC SEC + RTS + +L0271EE DB $00 +L0271EF LDA L027121 + CMP $3E + BEQ L02720B + CLC + ADC L027127 + BIT $5C + BMI L027210 + BCS L02720B + CMP $3E + BEQ L027206 + BCS L02720B +L027206 STA L027121 + CLC + RTS + +L02720B STZ L027121 + SEC +L02720F RTS + +L027210 BCC L027206 + CMP #$0001 + BCS L02720B + BRA L027206 +L027219 LDY L027121 + LDA [$3A],Y + STA L027127 + PHY + PEI $42 + PHY + PEA $0002 + PEA $0001 + JSL L043069 + PLY + INY + INY + STY L027121 + PHY + JSR L0271EF + PLY + BCS L02720F + LDA L027127 + JSR L0242DC + LDY L027121 + BEQ L02724E + DEC L027129 + BNE L027219 + CLC + RTS + +L02724E SEC + RTS + +L027250 LDY L027121 + LDX #$0001 +L027256 LDA [$3A],Y + AND #$00FF + BEQ L027269 + INX + INY + BEQ L027269 + BIT $5C + BMI L027256 + CPY $3E + BCC L027256 +L027269 TXA + LDY L027121 + JSR L0242DC + STY L027121 + CPY #$0000 + BEQ L027287 + BIT $5C + BMI L027280 + CPY $3E + BCS L027287 +L027280 DEC L027129 + BNE L027250 + CLC + RTS + +L027287 STZ L027121 + SEC + RTS + +L02728C LDA L020007 + BEQ L0272C5 + PHA + PHA + PEA $8029 + PEA $0000 + PEA $0001 + _LoadResource + PLX + PLY + BCS L0272C5 + JSR L023EF2 + STX $10 + STY $12 + LDY #$0004 +L0272B1 LDA [$10],Y + PHA + DEY + DEY + BPL L0272B1 + PEA ^L027318 + PEA L027318 + _VersionString +L0272C5 SEP #$30 + LDX L027318 +L0272CA LDA L027318,X + ORA #$80 + STA L027318,X + DEX + BNE L0272CA + CLC + LDA L027318 + ADC L02730B + ADC L027322 + REP #$30 + AND #$00FF + PHA + LDA #$0050 + SEC + SBC $01,S + PLX + LSR + TAX + LDY #$0003 + JSL L0300E2 + JSL L030314 + ADR L02730B + JSL L030314 + ADR L027318 + JSL L030314 + ADR L027322 + RTS + +L02730B STR "TFB-Disasm v" +L027318 STR "1.0.4" ; was "1.0.2" + DB $00 + DB $00 + DB $00 + DB $00 +L027322 STR " 19-SEP-2020"8D ; was "10-MAY-94" + +L027330 JSR L021586 + LDA L0215CD + BEQ L02734D + PEA ^L027355 + PEA L027355 + PEA $2001 ; Create + JSL GSOS2 + BCS L027348 + RTS + +L027348 JSR L020AF7 + BRA L027353 +L02734D LDA #$0001 + JSR L020AB8 +L027353 SEC + RTS + +L027355 DW $0005 ; Parms for Create + ADRL L0215CD ; file name + DW $00E3 ; access + DW $000F ; file type + ADRL $00000000 ; aux type + DW $000D ; storage + +L027365 JSL GSOS + DW $200A ; GetPrefix + ADRL L02739E + SEP #$20 + LDX L02005B + BEQ L027392 +L027376 DEX + BEQ L027392 + LDA L02005C,X + CMP #$3A + BNE L027376 + CPX #$0001 + BEQ L027392 + STX L02005B + JSL GSOS + DW $2009 ; SetPrefix + ADRL L027396 +L027392 REP #$30 + CLC + RTS + +L027396 DW $0002 ; Parms for SetPrefix + DW $0000 ; prefix num + ADRL L02005B ; prefix ptr + +L02739E DW $0002 ; Parms for GetPrefix + DW $0000 ; prefix num + ADRL L020059 ; prefix ptr + +L0273A6 REP #$30 + + BRL L0273B2 + DW $7771 + STR 'CPFX' +L0273B2 PEA ^L0276FE + PEA L0276FE + PEA $200A ; GetPrefix + JSL GSOS2 + BCS L0273FD + PEA ^L027706 + PEA L027706 + PEA $200E ; ExpandPath + JSL GSOS2 + BCS L0273FD + JSR L02765E + BCS L027400 + JSR L027535 +L0273D8 JSR L0276B0 +L0273DB JSL L03059F + BCS L0273DB + AND #$007F + CMP #$000D + BEQ L0273F5 + CMP #$001B + BEQ L0273F8 + JSR L027458 + BCS L027400 + BRA L0273D8 +L0273F5 JSR L027437 +L0273F8 JSR L027447 + CLC + RTS + +L0273FD JSR L020AF7 +L027400 JSR L027447 + SEC + CLV + RTS + +L027406 LDA L02771A + BEQ L02740E + JSR L027447 +L02740E PEA ^L027718 + PEA L027718 + PEA $2010 ; Open + JSL GSOS2 + BCS L0273FD + LDA L02771A + STA L027738 + STA L027722 + RTS + +L027427 PEA ^L027736 + PEA L027736 + PEA $201C ; GetDirEntry + JSL GSOS2 + BCS L0273FD + RTS + +L027437 PEA ^L027710 + PEA L027710 + PEA $2009 ; SetPrefix + JSL GSOS2 + BCS L0273FD + RTS + +L027447 PEA ^L027720 + PEA L027720 + PEA $2014 ; Close + JSL GSOS2 + STZ L02771A + RTS + +L027458 LDX #$0000 +L02745B CMP L027472,X + BEQ L02746F + INX + INX + CPX #$0008 + BCC L02745B + _SysBeep + RTS +L02746F JMP (L02747A,X) + +L027472 DW $000A + DW $000B + DW $0008 + DW $0015 + +L02747A DA L0274D5 + DA L0274E4 + DA L027699 + DA L02766A + +L027482 LDA #$0001 + BNE L02748A +L027487 LDA #$FFFF +L02748A STA L0274D3 + LDA L02771A + BNE L02749A + JSR L027591 + CPX #$0002 + BCC L0274F6 +L02749A LDX L027748 +L02749D CLC + LDA L02773E + ADC L0274D3 + STA L02773E + DEC + CMP L027748 + BCC L0274BB + LDA #$0001 + BIT L0274D3 + BPL L0274B8 + LDA L027748 +L0274B8 STA L02773E +L0274BB PHX + JSR L027427 + PLX + BCC L0274C3 + RTS + +L0274C3 CLV + LDA L027746 + CMP #$000F + BEQ L0274D1 + DEX + BNE L02749D + SEP #$40 +L0274D1 CLC + RTS + +L0274D3 DB $00 + DB $00 +L0274D5 LDA L02005B + BEQ L0274D1 + JSR L027482 + JSR L027588 + JSR L027535 + RTS + +L0274E4 LDA L02005B + BEQ L0274D1 + JSR L027487 + JSR L027588 + JSR L027535 + RTS + +L0274F3 STZ L027726 +L0274F6 INC L027726 + PEA ^L027724 + PEA L027724 + PEA $202C ; DInfo + JSL GSOS2 + BCS L0274F3 + PEA ^L02772C + PEA L02772C + PEA $2008 ; Volume + JSL GSOS2 + BCS L0274F6 + LDX #$0010 +L02751A LDA L02005B,X + STA L02774C,X + DEX + DEX + BPL L02751A + RTS + +L027525 STZ L02773E + JSR L027427 + BCS L027534 + LDA L027744 + STA L027748 + CLC +L027534 RTS + +L027535 LDA L02774C + STA L027787 + BEQ L02756E + SEP #$20 + LDX L02005B + LDY #$0000 + LDA L02774E + CMP #$3A + BEQ L027559 + LDA L02005C,X + CMP #$3A + BEQ L027559 + LDA #$3A + STA L02005D,X + INX +L027559 LDA L02774E,Y + STA L027789,Y + STA L02005D,X + INY + INX + DEC L02774C + BNE L027559 + REP #$20 + STX L02005B +L02756E CLC + RTS + + SEP #$20 + LDX L02005B + BEQ L027585 + INX + LDA #$3A + CMP L02005B,X + BEQ L027585 + STA L02005C,X + STX L02005B +L027585 REP #$20 + RTS + +L027588 JSR L027591 + DEX + STX L02005B + CLC + RTS + +L027591 SEP #$20 + LDX L02005B +L027596 DEX + LDA L02005C,X + CMP #$3A + BNE L027596 + REP #$20 + RTS + +L0275A1 JSR L027591 + PHX + CPX #$0001 + BEQ L0275AB + INX +L0275AB LDY #$0000 + SEP #$20 +L0275B0 LDA L02005C,X + STA L027789,Y + INY + INX + CPX L02005B + BCC L0275B0 + BNE L0275CA + LDA L02005C,X + CMP #$3A + BEQ L0275CA + STA L027789,Y + INY +L0275CA STY L027787 + REP #$20 + PLX + DEX + STX L02005B + CLC + RTS + +L0275D6 LDA L02005B + BNE L0275E7 +L0275DB JSR L0274F6 + JSR L027624 + STZ L02005B + BCS L0275DB + RTS + +L0275E7 JSR L027406 + BCC L0275ED +L0275EC RTS + +L0275ED JSR L027525 + BCS L0275EC + LDA L027748 + STA L02764D + BEQ L02761E +L0275FA INC L02773E + JSR L027427 + BCS L0275EC + LDA L027746 + CMP #$000F + BNE L027617 + JSR L027624 + BCS L027617 + LDA L027744 + STA L027785 + CLC + RTS + +L027617 REP #$20 + DEC L02764D + BNE L0275FA +L02761E LDA #$0044 + BRL L0273FD +L027624 LDA L02774C + TAX + CMP L027787 + BNE L027649 + SEP #$20 +L02762F LDA L02774D,X + JSR L027651 + STA L02764F + LDA L027788,X + JSR L027651 + CMP L02764F + BNE L027649 + DEX + BNE L02762F + REP #$21 + RTS + +L027649 REP #$20 + SEC + RTS + +L02764D DB $00 + DB $00 +L02764F DB $00 + DB $00 + MX %11 +L027651 AND #$7F + CMP #$61 + BCC L02765D + CMP #$7B + BCS L02765D + AND #$5F +L02765D RTS + + MX %00 +L02765E LDA L02005B + BEQ L027669 + JSR L0275A1 + JSR L0275D6 +L027669 RTS + +L02766A LDA L02005B + BNE L027672 + BRL L0274F3 +L027672 JSR L027406 + BCS L027694 + JSR L027525 + BCS L027694 + LDA L027748 + BEQ L027688 + JSR L027482 + BCS L027694 + BVC L027690 +L027688 JSR L027447 + JSR L02765E + BCS L027694 +L027690 JSR L027535 + RTS + +L027694 JSR L027447 + SEC + RTS + +L027699 LDA L02005B + BEQ L0276AE + JSR L027447 + JSR L027588 + BEQ L0276AE + JSR L02765E + BCS L0276AF + JSR L027535 +L0276AE CLC +L0276AF RTS + +L0276B0 JSR L020CED + LDX #$0000 + LDY #$0017 + JSL L0300E2 + LDA #$00BE + JSR L0276F7 + LDX #$0000 + LDA L02005B + BNE L0276D8 + JSL L0302E1 + STR "[clear]" + RTS + +L0276D8 CMP #$004F + BCC L0276E7 + SBC #$004D + TAX + LDA #$0049 + JSR L0276F7 +L0276E7 LDA L02005D,X + ORA #$0080 + JSR L0276F7 + INX + CPX L02005B + BCC L0276E7 + RTS + +L0276F7 PHX + JSL L0301F9 + PLX + RTS + +L0276FE DW $0002 ; Parms for GetPrefix + DW $0000 ; prefix num + ADRL L021656 ; prefix ptr +L027706 DW $0002 ; Parms for ExpandPath + ADRL L021658 ; path name + ADRL L020059 ; new pathname +L027710 DW $0002 ; Parms for SetPrefix + DW $0000 ; prefix num + ADRL L02005B ; prefix ptr +L027718 DW $0003 ; Parms for Open +L02771A DW $0000 ; ref num + ADRL L02005B ; path name +L027720 DW $0001 ; Parms for Close +L027722 DW $0000 ; ref num +L027724 DW $0002 ; Parms for DInfo +L027726 DW $0000 ; device num + ADRL L02775E ; device name +L02772C DW $0002 ; Parms for Volume + ADRL L027760 ; device name + ADRL L020059 ; volume name +L027736 DW $0007 ; Parms for GetDirEntry +L027738 DW $0000 ; ref num + DW $0000 ; flags + DW $0000 ; base +L02773E DW $0000 ; displacement + ADRL L02774A ; file name +L027744 DW $0000 ; entry num +L027746 DW $0000 ; file type +L027748 DB $00 + DB $00 +L02774A DB $13 + DB $00 +L02774C DB $00 +L02774D DB $00 +L02774E DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L02775E DB $27 + DB $00 +L027760 DB $23 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L027785 DB $00 + DB $00 +L027787 DB $00 +L027788 DB $00 +L027789 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L027798 SEC + CLV + RTS + +L02779B LDA [$F8] + AND #$007F + BNE L0277A5 + BRL L027957 +L0277A5 STZ L027D43 + LDA $3E + STA L027D47 + LDA $5C + STA L027D49 + LDA [$F8] + AND #$007F + CMP #$005B + BNE L0277D6 + STZ L027D49 + JSR L021525 + BCC L0277C7 + BRL L0278CC +L0277C7 STA L027D43 + INX + STX L027D47 + BNE L0277D6 + LDA #$FFFF + STA L027D49 +L0277D6 STZ L027D82 + STZ L027D4B + SEP #$20 +L0277DE LDA [$F8] + BEQ L027830 + AND #$7F + CMP #$20 + BEQ L027830 + CMP #$3F + BEQ L02782B + CMP #$22 + BNE L0277F3 + BRL L02788C +L0277F3 CMP #$3E + BNE L0277FA + BRL L0278D6 +L0277FA CMP #$5E + BNE L027801 + BRL L0278CF +L027801 CMP #$3A + BNE L027808 + BRL L027903 +L027808 JSR L0212C9 + BCS L027888 + SEC + SBC #$30 + CMP #$0A + BCC L027816 + SBC #$07 +L027816 PHA + JSR L027ADF + PLA + TSB L027D78 + LDA #$0F + TSB L027D7C +L027823 INC L027D77 +L027826 JSR L027AF6 + BRA L0277DE +L02782B JSR L027ADF + BRA L027823 +L027830 LDA L027D77 + BEQ L02787B + CMP #$09 + BCC L02783E + LDA #$08 + STA L027D77 +L02783E BIT #$01 + BEQ L027859 + INC + STA L027D77 + LSR + DEC + TAX + LDA #$0F + AND L027D78,X + STA L027D78,X + LDA #$F0 + ORA L027D7C,X + STA L027D7C,X +L027859 LSR L027D77 + LDY #$0000 + LDX L027D82 +L027862 LDA L027D78,Y + STA L027D84,X + LDA L027D7C,Y + STA L027DE8,X + STZ L027E4C,X + INY + INX + DEC L027D77 + BNE L027862 + STX L027D82 +L02787B JSR L020F52 + LDA [$F8] + BEQ L027885 + BRL L0277DE +L027885 BRL L027957 +L027888 LDA #$01 + BRA L0278C9 +L02788C JSR L027AF6 + LDA [$F8] + BEQ L027885 + AND #$7F + CMP #$22 + BEQ L027826 + LDX L027D82 + STA L027D84,X + PHA + LDA #$7F + STA L027DE8,X + STZ L027E4C,X + PLA + CMP #$3F + BNE L0278B2 + STZ L027DE8,X + BRA L0278C4 +L0278B2 JSR L0212E9 + BCS L0278C4 + AND #$5F + STA L027D84,X + LDA #$5F + STA L027DE8,X + STZ L027E4C,X +L0278C4 INC L027D82 + BRA L02788C +L0278C9 JSR L020AB8 +L0278CC CLV + SEC + RTS + +L0278CF REP #$20 + LDA #$0101 + BRA L0278EF +L0278D6 REP #$20 + LDY #$0001 + LDA [$F8],Y + AND #$007F + CMP #$003E + BEQ L0278EA + LDA #$0202 + BRA L0278EF +L0278EA INC $F8 + LDA #$0303 +L0278EF JSR L027ABD + BCS L0278CC + SEP #$20 + LDA [$F8] + AND #$7F + BEQ L027957 + CMP #$20 + BNE L027888 + BRL L0277DE +L027903 REP #$20 + INC $F8 + JSR L026E64 + BCS L0278CC + ASL + XBA + ROR + XBA + PHX + PHY + LDX L027D82 + STA L027D84,X + CMP #$0080 + BEQ L027922 + CMP #$0006 + BCS L027936 +L027922 LDA $03,S + TAY + LDA $01,S +L027927 DEY + BEQ L02792F + CLC + ADC $01,S + BRA L027927 +L02792F STA $01,S + LDA #$0001 + STA $03,S +L027936 LDA #$0004 + STA L027E4C,X + INX + PLA + STA L027D84,X + INX + INX + PLA + STA L027D84,X + INX + INX + STX L027D82 + LDA #$FFFF + STA L027D4B + SEP #$20 + BRL L02787B +L027957 REP #$20 + LDA L027D82 + BNE L027964 + LDA #$0019 + BRL L0278C9 +L027964 LDAL $E0BFFF + BPL L02797B + STAL $E0C010 + AND #$7F00 + CMP #$1B00 + BEQ L027998 + CMP #$0300 + BEQ L027998 +L02797B JSR L027AFD + BCC L02799B +L027980 INC L027D43 + BEQ L027998 + BIT L027D49 + BMI L027964 + LDA L027D43 + CMP L027D47 + BCC L027964 + LDA L027D45 + STA L027D43 +L027998 CLC + CLV + RTS + +L02799B BIT $48 + BPL L0279B6 + LDX #$0000 + LDA L027D43 + AND #$FFF0 + CMP #$00A0 + BCS L0279B0 + LDA #$00A0 +L0279B0 SEC + SBC #$00A0 + BRA L0279C8 +L0279B6 LDA L027D43 + JSL L0416F3 + PHA + PEA $0000 + PEA $0008 + JSL L041462 +L0279C8 STA $54 + STX $56 + JSR L021E04 + JSR L027CCA + BCS L027A2B + AND #$005F + CMP #$0059 + BNE L027A19 + BIT L027D4B + BPL L027A19 + LDX #$0000 +L0279E4 LDA L027E4C,X + AND #$00FF + CMP #$0004 + BNE L027A10 + LDA L027E4D,X + STA L027D6F + LDA L027D85,X + STA L027D73 + LDA L027D87,X + STA L027D75 + LDA L027D84,X + AND #$00FF + PHX + JSR L027A2E + PLX + INX + INX + INX + INX +L027A10 INX + CPX L027D82 + BCC L0279E4 + JSR L021E04 +L027A19 CLC + LDA L027D80 + ADC L027D43 + BCS L027A2B + DEC + STA L027D43 + BCS L027A2B + BRL L027980 +L027A2B CLC + CLV +L027A2D RTS + +L027A2E CMP #$0080 + BEQ L027A2D + BCS L027A6D +L027A35 PHA + PEI $42 + LDY L027D6F + PHY + LDX L027D73 + BNE L027A56 + PHA + ASL + TAX + LDA L027C5C,X + BEQ L027A4E + JSR (L027C5C,X) + BRA L027A51 +L027A4E LDA #$0001 +L027A51 STA L027D73 + TAX + PLA +L027A56 PHX + PHA + JSL L043069 + CLC + LDA L027D73 + ADC L027D6F + STA L027D6F + PLA + DEC L027D75 + BNE L027A35 + RTS + +L027A6D AND #$007F + ASL + TAX + JMP (L027A75,X) + +L027A75 DA $0000 + DA L027A7B + DA L027A90 + +L027A7B LDY L027D6F + PHY + JSR L027C90 + INY + STY L027D6F + PLY + JSR L0242DC + DEC L027D75 + BNE L027A7B + RTS + +L027A90 LDY L027D6F + PHY + JSR L027C8B + PHA + CLC + ADC L027D6F + STA L027D6F + LDA $03,S + PEI $42 + PHA + PEA $0002 + PEA $0001 + JSL L043069 + PLA + DEC + DEC + PLY + INY + INY + JSR L0242DC + DEC L027D75 + BNE L027A90 + RTS + +L027ABD LDX L027D82 + STA L027E4C,X + STA L027E4E,X + INC $F8 + JSR L021339 + BCS L027ADE + LDX L027D82 + STA L027D84,X + TYA + STA L027D86,X + INX + INX + INX + INX + STX L027D82 +L027ADE RTS + +L027ADF PHP + REP #$30 + LDX #$0004 +L027AE5 ASL L027D78 + ROL L027D7A + ASL L027D7C + ROL L027D7E + DEX + BNE L027AE5 + PLP + RTS + +L027AF6 REP #$20 + INC $F8 + SEP #$20 + RTS + +L027AFD SEP #$20 + LDY L027D43 + LDX #$0000 +L027B05 LDA L027E4C,X + BNE L027B0D + BRL L027BF1 +L027B0D DEC + BNE L027B13 + BRL L027BA6 +L027B13 PHX + PHY + LDX #$0005 + STX L027CBA + DEC + BEQ L027B7F + LDX #$000E + STX L027CBA + DEC + BEQ L027B7F + PLY + PLX + PHY + INX + REP #$21 + TYA + STA L027E4C,X + LDA L027D86,X + STA L027D75 + LDA L027D83,X + AND #$00FF + CMP #$0080 + BCS L027B4E + PHX + ASL + TAX + LDA L027D4D,X + PLX + CMP #$0000 + BEQ L027B5E +L027B4E LDA L027D84,X + BEQ L027B5E +L027B53 DEC L027D75 + BEQ L027B6C + CLC + ADC L027D84,X + BRA L027B53 +L027B5E LDA L027D83,X + AND #$00FF + PHX + JSR L027C15 + PLX + STA L027D84,X +L027B6C INX + INX + INX + CLC + ADC $01,S + STA $01,S + PLY + SEP #$20 + BCS L027B7C + BRL L027BFC +L027B7C BRL L027C11 +L027B7F REP #$20 + TYA + JSL L0410BB + SEP #$20 + PLY + ASL + BCC L027B9F + XBA + BMI L027B9F + LDA [$3A],Y + LDX #$0000 +L027B94 CMP L027CBC,X + BEQ L027BA2 + INX + CPX L027CBA + BCC L027B94 +L027B9F PLX + BRA L027C11 +L027BA2 PLX + INY + BRA L027BB7 +L027BA6 REP #$20 + PHY + TYA + JSL L0410BB + PLY + AND #$9880 + CMP #$0080 + BEQ L027C11 +L027BB7 REP #$20 + PHY + PHX + PEI $42 + PHY + PEA ^L027D39 + PEA L027D39 + JSL L045089 + PLX + PLY + BCS L027C11 + LDA L027D39 + CMP #$0004 + BCS L027C11 + LDA L027D84,X + CMP L027D3F + BNE L027C11 + LDA L027D86,X + CMP L027D41 + BNE L027C11 + TYA + CLC + ADC L027D3B + TAY + SEP #$20 + INX + INX + INX + BRA L027BFC +L027BF1 LDA [$3A],Y + AND L027DE8,X + CMP L027D84,X + BNE L027C11 + INY +L027BFC INX + CPX L027D82 + BCS L027C05 + BRL L027B05 +L027C05 REP #$20 + SEC + TYA + SBC L027D43 + STA L027D80 + CLC + RTS + +L027C11 REP #$20 + SEC + RTS + +L027C15 STZ L027D73 + STY L027D6F + STA L027D71 +L027C1E LDA L027D71 + XBA + ASL + XBA + TAX + BCS L027C53 + LDA L027D4D,X + BNE L027C31 + BPL L027C4A +L027C2E LDA #$0001 +L027C31 CLC + PHA + ADC L027D73 + STA L027D73 + PLA + ADC L027D6F + STA L027D6F + TAY + DEC L027D75 + BNE L027C1E + LDA L027D73 + RTS + +L027C4A LDA L027C5C,X + BEQ L027C2E + JSR (L027C5C,X) + RTS + +L027C53 LDA L027C7E,X + BEQ L027C2E + JSR (L027C7E,X) + RTS + +L027C5C DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + DA L027CA2 + DA $0000 + DA $0000 + DA $0000 + DA L027C8B + DA L027C84 + DA $0000 +L027C7E DA $0000 + DA L027C90 + DA L027C8B + +L027C84 LDA [$3A],Y + AND #$00FF + INC + RTS + +L027C8B LDA [$3A],Y + INC + INC + RTS + +L027C90 LDX #$0001 + SEP #$20 +L027C95 LDA [$3A],Y + BEQ L027CB5 + INX + INY + CPY L027D47 + BNE L027C95 + BRA L027CB5 +L027CA2 LDX #$0001 + SEP #$20 + LDA [$3A],Y + STA L027CB9 +L027CAC INY + INX + LDA [$3A],Y + EOR L027CB9 + BPL L027CAC +L027CB5 REP #$20 + TXA + RTS + +L027CB9 DB $00 +L027CBA DB $05 + DB $00 +L027CBC DB $20 + DB $22 + DB $4C + DB $5C + DB $82 + DB $80 + DB $90 + DB $B0 + DB $10 + DB $30 + DB $D0 + DB $F0 + DB $50 + DB $70 +L027CCA JSR L020CED + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> Found at: " + PEI $42 + LDA L027D43 + PHA + JSL L042A5C + PHA + PHY + JSL L03065A + LDA #$00AF + JSL L03022D + JSL L030670 + JSL L0302E1 + STR ". " + BIT L027D4B + BPL L027D1F + JSL L0302E1 + STR "Set csts ? " +L027D1F JSL L03034A + PHA + JSR L020CED + PLA + AND #$007F + CMP #$000D + SEC + BEQ L027D38 + CMP #$001B + SEC + BEQ L027D38 + CLC +L027D38 RTS + +L027D39 DB $00 + DB $00 +L027D3B DB $00 + DB $00 + DB $00 + DB $00 +L027D3F DB $00 + DB $00 +L027D41 DB $00 + DB $00 +L027D43 DB $00 + DB $00 +L027D45 DB $00 + DB $00 +L027D47 DB $00 + DB $00 +L027D49 DB $00 + DB $00 +L027D4B DB $00 + DB $00 +L027D4D DB $01 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $04 + DB $00 + DB $03 + DB $00 + DB $0A + DB $00 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $00 + DB $00 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $00 +L027D6F DB $00 + DB $00 +L027D71 DB $00 + DB $00 +L027D73 DB $00 + DB $00 +L027D75 DB $00 + DB $00 +L027D77 DB $00 +L027D78 DB $00 + DB $00 +L027D7A DB $00 + DB $00 +L027D7C DB $00 + DB $00 +L027D7E DB $00 + DB $00 +L027D80 DB $00 + DB $00 +L027D82 DB $00 +L027D83 DB $00 +L027D84 DB $00 +L027D85 DB $00 +L027D86 DB $00 +L027D87 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L027DE8 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L027E4C DB $00 +L027E4D DB $00 +L027E4E DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L027EB0 LDA $5E + STA L027F2B + STZ L027F23 + LDA $3E + STA L027F25 + LDA $5C + STA L027F27 + LDA [$F8] + AND #$007F + CMP #$005B + BNE L027EE3 + STZ L027F27 + JSR L021525 + CLV + BCC L027ED6 + RTS + +L027ED6 STA L027F23 + STX L027F25 + TXA + BNE L027EE3 + DEC + STA L027F27 +L027EE3 LDA #$0003 + STA L027F21 + LDA [$F8] + AND #$00FF + BEQ L027F2D + STZ L027F21 +L027EF3 JSR L021309 + BCS L027F2D + CMP #$00C1 + BNE L027F08 + LDA #$0001 + ORA L027F21 + STA L027F21 + BRA L027EF3 +L027F08 CMP #$00D3 + BNE L027F18 + LDA #$0002 + ORA L027F21 + STA L027F21 + BRA L027EF3 +L027F18 LDA #$0001 + JSR L020AB8 + CLV + SEC + RTS + +L027F21 DB $00 + DB $00 +L027F23 DB $00 + DB $00 +L027F25 DB $00 + DB $00 +L027F27 DB $00 + DB $00 +L027F29 DB $00 + DB $00 +L027F2B DB $00 + DB $00 +L027F2D LSR L027F21 + BCC L027F3C + JSR L027F80 + LDA L027F2B + STA $5E + BCS L027F49 +L027F3C LSR L027F21 + BCC L027F49 + JSR L0281DD + LDA L027F2B + STA $5E +L027F49 CLC + RTS + +L027F4B LDA L027F29 + INC + BEQ L027F5B +L027F51 BIT L027F27 + BMI L027F5D + CMP L027F25 + BCC L027F5D +L027F5B SEC + RTS + +L027F5D STA L027F29 + CLC + RTS + +L027F62 CLC + ADC L027F29 + BCS L027F5B + BRA L027F51 +L027F6A LDY #$FFFF + STY $48 + SEC + SBC #$0030 + BCS L027F78 + LDA #$0000 +L027F78 STA $54 + STZ $56 + JSR L021E04 + RTS + +L027F80 LDA L027F23 + STA L027F29 + LDA $5E + AND #$3FFF + ORA #$8000 + STA $5E +L027F90 LDY L027F29 + LDA #$1800 + JSL L041764 + BCS L027FB4 + STY L027F29 + BIT L027F27 + BMI L027FA9 + CPY L027F25 + BCS L027FB4 +L027FA9 JSR L0280B9 + BCS L027FB6 + JSR L027FC0 + BCC L027F90 + RTS + +L027FB4 CLC + RTS + +L027FB6 LDA L028096 + JSR L027F62 + BCC L027F90 + CLC + RTS + +L027FC0 LDA L028092 + JSR L027F6A + LDA L028096 + DEC + ASL + ASL + TAX + LDA L02809A,X + STA L027FEA+$D + LDA L02809A+2,X + STA L027FEA+$F + JSR L020CED + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 +L027FEA STR "> adresses: ....x" + LDA L028098 + PHA + JSL L030670 + JSL L0302E1 + STR " in [" + LDA L028092 + JSR L02806B + LDA #$00AE + JSL L03022D + LDA L028094 + DEC + JSR L02806B + JSL L0302E1 + STR "]. Set ? " + JSR L02807D + BCS L028065 + AND #$00DF + CMP #$00D9 + BNE L02805E + JSL L03022D + PEI $42 + LDA L028092 + PHA + SEC + LDA L028094 + SBC L028092 + PHA + LDX L028096 + LDA L0280AA,X + AND #$00FF + PHA + JSL L043069 +L02805E LDA L028094 + STA L027F29 + CLC +L028065 PHP + JSR L020CED + PLP + RTS + +L02806B PEI $42 + PHA + JSL L042A5C + PHA + PHY + JSL L03065A + JSL L030670 + RTS + +L02807D JSL L03034A + AND #$00FF + CMP #$008D + SEC + BEQ L028091 + CMP #$009B + SEC + BEQ L028091 + CLC +L028091 RTS + +L028092 DB $00 + DB $00 +L028094 DB $00 + DB $00 +L028096 DB $00 + DB $00 +L028098 DB $00 + DB $00 +L02809A ASC " DB" + ASC " DA" + ASC " ADR" + ASC "ADRL" +L0280AA DB $00 + DB $00 + DB $03 + DB $05 + DB $04 +L0280AF DB $00 + DB $00 +L0280B1 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0280B9 LDA L027F29 + STA L028092 + LDA #$0001 + STA L028096 + JSL L0410BB + BIT #$8000 + BNE L028145 + PEI $42 + LDA L027F29 + PHA + PEA ^L0280AF + PEA L0280AF + JSL L045089 + BCS L028145 + LDA L0280AF + CMP #$0004 + BCS L028145 + LDA #$0001 + STA L028098 + JSR L0281BA + LDA L0280B1 + STA L028096 +L0280F7 CLC + LDA L028096 + ADC L027F29 + BCS L02814D + BIT L027F27 + BMI L02810A + CMP L027F25 + BCS L02814D +L02810A STA L027F29 + JSL L0410BB + BIT #$8000 + BNE L02814D + BIT #$1800 + BEQ L02814D + PEI $42 + LDA L027F29 + PHA + PEA ^L0280AF + PEA L0280AF + JSL L045089 + BCS L02814D + LDA L0280AF + CMP #$0004 + BCS L02814D + JSR L0281BA + LDA L0280B1 + CMP L028096 + BNE L02814D + INC L028098 + BRA L0280F7 +L028145 LDA L028092 + STA L027F29 + SEC + RTS + +L02814D LDA L028098 + CMP #$0001 + BEQ L028145 + LDA L027F29 + STA L028094 + LDX L028096 + CPX #$0001 + BEQ L0281B8 + CPX #$0004 + BEQ L0281B8 + LDA L028092 + BEQ L0281B8 + DEC + PHA + JSL L0410BB + PLY + BIT #$9800 + BNE L0281B8 + LDA [$3A],Y + AND #$00FF + CPX #$0002 + BEQ L0281A4 + CMP #$005C + BEQ L028195 + CMP #$0022 + BNE L0281B8 + LDA L028098 + CMP #$0002 + BEQ L028145 +L028195 CLC + LDA L028096 + ADC L028092 + STA L028092 + DEC L028098 + BRA L0281B8 +L0281A4 CMP #$007C + BEQ L028195 + CMP #$006C + BEQ L028195 + CMP #$00DC + BEQ L028195 + CMP #$004C + BEQ L028195 +L0281B8 CLC + RTS + +L0281BA LDA L0280B1 + CMP #$0003 + BNE L0281DC + LDY L027F29 + INY + INY + INY + LDA [$3A],Y + AND #$00FF + BNE L0281DC + TYA + JSL L0410BB + BIT #$1800 + BNE L0281DC + INC L0280B1 +L0281DC RTS + +L0281DD LDA L027F23 + STA L027F29 + LDA $5E + AND #$3FFF + ORA #$4000 + STA $5E +L0281ED LDY L027F29 + JSR L02820E + BCS L028207 + LDA L027F29 + JSL L0410BB + AND #$8000 + BNE L028207 + JSR L02824D + BCC L0281ED + RTS + +L028207 JSR L027F4B + BCC L0281ED + CLC + RTS + +L02820E LDA [$3A],Y + AND #$00FF + CMP #$0005 + BCC L028249 + CMP #$0051 + BCS L028249 + TAX + SEP #$20 +L028220 INY + LDA [$3A],Y + AND #$7F + CMP #$07 + BEQ L028243 + CMP #$0A + BEQ L028243 + CMP #$0D + BEQ L028243 + CMP #$20 + BCC L028249 + LDA [$3A],Y + CMP #$40 + BCC L028249 + CMP #$A0 + BCS L028243 + CMP #$60 + BCS L028249 +L028243 DEX + BNE L028220 + REP #$21 + RTS + +L028249 REP #$20 + SEC + RTS + +L02824D LDA L027F29 + JSR L027F6A + JSR L020CED + LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> string: STR at $" + LDA L027F29 + JSR L02806B + JSL L0302E1 + STR ". Set ? " + JSR L02807D + BCS L0282BC + AND #$00DF + CMP #$00D9 + BNE L0282B9 + JSL L03022D + PEI $42 + LDY L027F29 + PHY + LDA [$3A],Y + AND #$00FF + INC + PHA + CLC + ADC L027F29 + DEC + STA L027F29 + PEA $000F + JSL L043069 +L0282B9 JSR L027F4B +L0282BC PHP + JSR L020CED + PLP + RTS + +L0282C2 DB $00 + DB $00 +L0282C4 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0283C2 DB $00 + DB $00 +L0283C4 DB $00 + DB $00 +L0283C6 ENT + DB $00 + DB $00 +L0283C8 DB $00 + DB $00 +L0283CA ENT + DB $00 + DB $00 +L0283CC DB $00 +L0283CD DB $00 +L0283CE DB $00 + DB $00 +L0283D0 DB $00 +L0283D1 DB $00 +L0283D2 DB $00 + DB $00 +L0283D4 DB $00 + DB $00 +L0283D6 DB $00 + DB $00 +L0283D8 DB $00 + DB $00 +L0283DA DB $00 + DB $00 +L0283DC DB $00 +L0283DD DB $00 +L0283DE DB $00 +L0283DF DB $00 +L0283E0 DB $00 + DB $00 +L0283E2 DB $00 + DB $00 +L0283E4 ENT + DB $00 + DB $00 +L0283E6 DB $00 + DB $00 +L0283E8 DB $00 + DB $00 +L0283EA DB $00 + DB $00 +L0283EC DB $00 + DB $00 +L0283EE DB $00 + DB $00 +L0283F0 DB $00 +L0283F1 DB $00 +L0283F2 DB $00 +L0283F3 DB $00 +L0283F4 DB $00 + DB $00 +L0283F6 DB $00 + DB $00 +L0283F8 DB $00 + DB $00 +L0283FA DB $00 + DB $00 +L0283FC DB $0A +L0283FD DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L028407 DB $00 +L028408 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L028428 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L028449 DB $00 + DB $00 +L02844B DB $00 + DB $00 +L02844D DB $00 + DB $00 +L02844F DB $00 + DB $00 +L028451 DB $00 + DB $00 +L028453 DB $00 + DB $00 +L028455 DB $00 + DB $00 +L028457 DB $00 + DB $00 +L028459 DB $00 + DB $00 +L02845B DB $00 + DB $00 +L02845D DB $00 + DB $00 +L02845F DB $00 + DB $00 +L028461 DB $00 + DB $00 +L028463 DB $00 + DB $00 +L028465 DB $00 + DB $00 +L028467 DB $00 + DB $00 +L028469 DB $00 + DB $00 +L02846B DB $00 + DB $00 +L02846D DB $00 + DB $00 +L02846F DB $00 + DB $00 +L028471 STZ L02844D + LDA L028457 + STA L028671 + STA L028679 + STA L028683 + STA L028695 + STA L0286A7 + PEA ^L02866F + PEA L02866F + PEA $2017 ; GetMark + JSL GSOS2 + BCC L028498 + BRL L0285D3 +L028498 PEA ^L028681 + PEA L028681 + PEA $2012 ; Read + JSL GSOS2 + BCC L0284AA + BRL L0285D3 +L0284AA JSR L02862C + BCC L0284B0 + RTS + +L0284B0 LDA L0283F8 + CLC + ADC L028673 + STA L02867D + LDA #$0000 + ADC L028673+2 + STA L02867D+2 + PEA ^L028677 + PEA L028677 + PEA $2016 ; SetMark + JSL GSOS2 + BCC L0284D5 + BRL L0285D3 +L0284D5 LDA #$000A + STA L02869B + LDA L0283DD + AND #$00FF + STA L028407 + BNE L0284E9 + INC L02869B +L0284E9 PEA ^L028693 + PEA L028693 + PEA $2012 ; Read + JSL GSOS2 + BCC L0284FB + BRL L0285D3 +L0284FB LDA L028407 + AND #$00FF + CMP #$0020 + BCC L02850C + LDA #$0020 + STA L028407 +L02850C STA L0286AD + PEA ^L0286A5 + PEA L0286A5 + PEA $2012 ; Read + JSL GSOS2 + BCC L028521 + BRL L0285D3 +L028521 SEP #$20 + LDX #$000A +L028526 LDA L0283FC,X + JSR L0285D8 + STA L0283FC,X + DEX + BNE L028526 + LDX #$0020 +L028535 LDA L028407,X + JSR L0285D8 + STA L028407,X + STA L028428,X + DEX + BNE L028535 + LDA L028407 + STA L028428 + TAX + BEQ L02856B +L02854D LDA L028428,X + CMP #$A0 + BNE L028568 + DEX + DEC L028428 + BNE L02854D + BRA L02856B +L02855C LDA L028428,X + CMP #$A0 + BNE L028568 + LDA #$DF + STA L028428,X +L028568 DEX + BNE L02855C +L02856B JSR L0285EC + REP #$20 + LDA #$002D + STA L0283F8 + LDA L0283FA + CLC + ADC L028673 + STA L02867D + LDA #$0000 + ADC L028673+2 + STA L02867D+2 + PEA ^L028677 + PEA L028677 + PEA $2016 ; SetMark + JSL GSOS2 + BCS L0285D3 + LDA L0283DF + AND #$00FF + DEC + BNE L0285D1 + JSR L0286B7 + CLC + LDA L028673 + ADC L0283D0 + TAX + LDA L028673+2 + ADC L0283D2 + CMP L02845B + BCC L0285D1 + BNE L0285BE + CPX L028459 + BCC L0285D1 +L0285BE SEC + LDA L028459 + SBC L028673 + STA L0283D0 + LDA L02845B + SBC L028673+2 + STA L0283D2 +L0285D1 CLC + RTS + +L0285D3 JSR L020AF7 + SEC + RTS + + MX %11 +L0285D8 ORA #$80 + CMP #$A0 + BCS L0285E0 + LDA #$A0 +L0285E0 RTS + +L0285E1 CMP #$E1 + BCC L0285EB + CMP #$FB + BCS L0285EB + AND #$DF +L0285EB RTS + +L0285EC PHP + SEP #$30 + LDX L028407 + CPX L028656 + BCC L0285FA + LDX L028656 +L0285FA LDA L028407,X + JSR L0285E1 + CMP L028656,X + BNE L02860A + DEX + BNE L0285FA + BEQ L028623 +L02860A LDX L028407 + CPX L028662 + BCC L028615 + LDX L028662 +L028615 LDA L028407,X + JSR L0285E1 + CMP L028662,X + BNE L02862A + DEX + BNE L028615 +L028623 REP #$30 + DEC L02844D + PLP + RTS + +L02862A PLP + RTS + +L02862C LDA L0283D2 + CMP #$0100 + BCS L02864E + ORA L0283D0 + BEQ L02864E + LDA L0283D6 + ORA L0283DA + AND #$FF00 + BNE L02864E + LDA L0283F8 + CMP L0283FA + BCS L02864E + CLC + RTS + +L02864E LDA #$001B + JSR L020AB8 + SEC + RTS + +L028656 STR "EXPRESSLOAD" +L028662 STR "~EXPRESSLOAD" +L02866F DW $0002 ; Parms for GetMark +L028671 DW $0000 ; ref num +L028673 ADRL $00000000 ; position +L028677 DW $0003 ; Parms for SetMark +L028679 DW $0000 ; ref num + DW $0000 ; base +L02867D ADRL $00000000 ; displacement +L028681 DW $0005 ; Parms for Read +L028683 DW $0000 ; ref num + ADRL L0283D0 ; buffer ptr + ADRL $0000002C ; request count + ADRL $00000000 ; transfer count + DW $0001 ; cache priority +L028693 DW $0005 ; Parms for Read +L028695 DW $0000 ; ref num + ADRL L0283FD ; buffer ptr +L02869B ADRL $00000000 ; request count + ADRL $00000000 ; transfer count + DW $0001 ; cache priority +L0286A5 DW $0005 ; Parms for Read +L0286A7 DW $0000 ; ref num + ADRL L028408 ; buffer ptr +L0286AD ADRL $00000000 ; request count + ADRL $00000000 ; transfer count + DW $0001 ; cache priority +L0286B7 LDA L0283DF + AND #$00FF + CMP #$0001 + BNE L0286E0 + LDA L0283D0 + STZ L0283D0 + STA L0283D1 + ASL L0283D0 + ROL L0283D2 + LDA L0283DC + AND #$00FF + SEP #$20 + ASL + REP #$20 + ROR + STA L0283E4 +L0286E0 CLC + RTS + +L0286E2 LDA L028457 + STA L028765 + STA L02876D + LDA L028469 + STA L028767 + LDA L02846B + STA L028767+2 + BIT L02845D + BMI L02870B + PEA ^L028763 + PEA L028763 + PEA $2019 ; GetEOF + JSL GSOS2 + BCS L02875E +L02870B STZ L02844F + STZ L028771+2 + STZ L028771 + BIT L02845D + BPL L028725 + LDA L028467 + STA L028771+2 + LDA L028465 + STA L028771 +L028725 PEA ^L02876B + PEA L02876B + PEA $2016 ; SetMark + JSL GSOS2 + BCS L02875E + JSR L028471 + BCS L02875D + INC L02844F + CLC + LDA L0283D0 + ADC L028771 + STA L028771 + LDA L0283D2 + ADC L028771+2 + STA L028771+2 + CMP L028767+2 + BNE L028725 + LDA L028771 + CMP L028767 + BNE L028725 + CLC +L02875D RTS + +L02875E JSR L020AF7 + SEC + RTS + +L028763 DW $0002 ; Parms for GetEOF +L028765 DW $0000 ; ref num +L028767 ADRL $00000000 ; end of file +L02876B DW $0003 ; Parms for SetMark +L02876D DW $0000 ; ref num + DW $0000 ; base +L028771 ADRL $00000000 ; displacement +L028775 STA L02887A + STA L028878 + LDA L028457 + STA L028890 + STA L02887E + STA L028886 + LDA L028469 + STA L028892 + LDA L02846B + STA L028892+2 + LDA L028465 + STA L02888A + LDA L028467 + STA L02888A+2 + BIT L02845D + BMI L0287B9 + PEA ^L02888E + PEA L02888E + PEA $2019 ; GetEOF + JSL GSOS2 + BCS L0287F4 + STZ L02888A+2 + STZ L02888A +L0287B9 PEA ^L028884 + PEA L028884 + PEA $2016 ; SetMark + JSL GSOS2 + BCS L0287F4 + JSR L028471 + BCS L0287F3 + DEC L028878 + BEQ L0287F9 + CLC + LDA L0283D0 + ADC L02888A + STA L02888A + LDA L0283D2 + ADC L02888A+2 + STA L02888A+2 + CMP L028892+2 + BNE L0287B9 + LDA L02888A + CMP L028892 + BNE L0287B9 + CLC +L0287F3 RTS + +L0287F4 JSR L020AF7 + SEC + RTS + +L0287F9 PEA ^L02887C + PEA L02887C + PEA $2017 ; GetMark + JSL GSOS2 + BCS L0287F4 + + LDA L0283D8 + LDY L0283DA + CPY #$0000 + BEQ L028823 + DEY + BNE L02881B + CMP #$0000 + BEQ L028823 + +L02881B LDA #$0008 ; File/Segment longer than 64K + JSR L020AB8 + SEC + RTS + +L028823 LDA L0283F2 + BNE L02882B + LDA L02887A +L02882B STA $42 + STA L0283F2 + JSR L02A241 + BCS L0287F3 + LDA L0283CE + PHA + LDA L0283CC + PHA + _DisposeHandle + PEI $38 + PEI $36 + _DisposeHandle + PLX + PLY + STX $36 + STY $38 + PHB + PHY + PLB + LDA |$0000,X + STA $3A + LDA |$0002,X + STA $3C + PLB + PLB + PLA + STA L028449 + PLA + STA L02844B + PLX + PLY + STX L0283CC + STY L0283CE + PLA + PLA + CLC + RTS + +L028878 DB $00 + DB $00 +L02887A DB $00 + DB $00 +L02887C DW $0002 ; Parms for GetMark +L02887E DW $0000 ; ref num + ADRL $00000000 ; position +L028884 DW $0003 ; Parms for SetMark +L028886 DW $0000 ; ref num + DW $0000 ; base +L02888A ADRL $00000000 ; displacement +L02888E DW $0002 ; Parms for GetEOF +L028890 DW $0000 ; ref num +L028892 ADRL $00000000 ; end of file +L028896 STA L028918 + STY L028918+2 + PHA + PHA + PEA $0001 + PEA $0000 + PEI $FC + PEA $8008 + PHA + PHA + _NewHandle + PLX + PLY + BCC L0288BE + LDA #$0000 + JSR L020AB8 + SEC + RTS + +L0288BE PHB + PHY + PLB + LDA |$0000,X + STA $00 + STAL L028914 + LDA |$0002,X + STA $02 + PLB + PLB + STA L028914+2 + PHY + PHX + LDY #$0000 + TYA +L0288DA STA [$00],Y + INY + INY + BNE L0288DA + LDA L028457 + STA L028912 + PEA ^L028910 + PEA L028910 + PEA $2012 ; Read + JSL GSOS2 + BCS L028904 + LDA L028918 + STA L028449 + LDA L028918+2 + STA L02844B + PLX + PLY + RTS + +L028904 JSR L020AF7 + _DisposeHandle + SEC + RTS + +L028910 DW $0004 ; Parms for Read +L028912 DW $0000 ; ref num +L028914 ADRL $00000000 ; buffer ptr +L028918 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L028920 LDA L028459 + SEC + SBC $3E + STA L028BF2 + LDA L02845B + SBC #$0000 + BIT $5C + BPL L028934 + DEC +L028934 BNE L02894C + LDY #$0000 + LDX L028BF2 + STX L028BFC + LDA #$8008 + JSR L023ED6 + BCC L028954 + LDA #$0000 + BRA L02894F +L02894C LDA #$001C +L02894F JSR L020AB8 + SEC + RTS + +L028954 STX L028BEE + STY L028BF0 + PHB + PHY + PLB + LDA |$0002,X + TAY + LDA |$0000,X + TAX + PLB + PLB + STX $AE + STY $B0 + STX L028BF8 + STY L028BF8+2 + LDA L028457 + STA L028BF6 + PEA ^L028BF4 + PEA L028BF4 + PEA $2012 ; Read + JSL GSOS2 + BCC L02898C + JSR L020AF7 + SEC + BRA L028994 +L02898C JSR L0289A6 + BCS L028994 + JSR L028B56 +L028994 PHP + LDA L028BF0 + PHA + LDA L028BEE + PHA + _DisposeHandle + PLP + RTS + +L0289A6 LDY #$0000 +L0289A9 LDA [$AE],Y + INY + AND #$00FF + BEQ L0289CA + LDX #$0000 +L0289B4 CMP L0289CC,X + BEQ L0289C3 + INX + INX + CPX #$0010 + BCC L0289B4 +L0289C0 BRL L02894C +L0289C3 JSR (L0289DC,X) + BCS L0289C0 + BRA L0289A9 +L0289CA CLC + RTS + +L0289CC DW $000F + DW $001F + DW $002F + DW $003F + DW $004F + DW $008F + DW $009F + DW $00FF + +L0289DC DA L0289EC + DA L0289F1 + DA L028A4A + DA L028A1B + DA L0289EC + DA L028A4F + DA L028A20 + DA L028A6D + +L0289EC INY + INY + INY + CLC + RTS + +L0289F1 LDA #$0001 + STA L028AB5 + PHY + LDA [$AE],Y + STA L028AB3 + TAX + INY + INY + LDA [$AE],Y + AND #$00FF + STA L028ABF + STZ L028AB9 + TXY + LDA [$3A],Y + AND #$00FF + BIT #$0080 + BEQ L028A19 + ORA #$FF00 +L028A19 BRA L028A41 +L028A1B LDA #$0003 + BRA L028A23 +L028A20 LDA #$0002 +L028A23 PHY + STA L028AB5 + LDA [$AE],Y + STA L028AB3 + TAX + INY + INY + LDA [$AE],Y + AND #$00FF + STA L028ABF + STZ L028AB9 + TXY + SEC + LDA [$3A],Y + SBC #$8000 +L028A41 STA L028AB7 + JSR L028B03 + PLY +L028A48 BRA L0289EC +L028A4A LDX #$0003 + BRA L028A52 +L028A4F LDX #$0002 +L028A52 PHY + PEI $42 + LDA [$AE],Y + PHA + PHX + PEA $0000 + TAY + LDA [$3A],Y + PEI $42 + SEC + SBC #$8000 + PHA + JSL L043774 + PLY + BRA L028A48 +L028A6D LDA [$AE],Y + STA L028AB3 + INY + INY + LDA [$AE],Y + AND #$00FF + STA L028ABF + INY + LDA [$AE],Y + AND #$00FF + TAX + INY + SEC + LDA [$AE],Y + SBC #$8000 + STA L028ABB + INY + INY + LDA [$AE],Y + AND #$00FF + SBC #$0000 + STA L028ABD + INY + PHY + TXA + SEC + SBC #$00D0 + CMP #$0008 + BCC L028AAA +L028AA6 PLY + BRL L02894C +L028AAA ASL + TAX + JSR (L028AC1,X) + BCS L028AA6 + PLY + RTS + +L028AB3 DB $00 + DB $00 +L028AB5 DB $00 + DB $00 +L028AB7 DB $00 + DB $00 +L028AB9 DB $00 + DB $00 +L028ABB DB $00 + DB $00 +L028ABD DB $00 + DB $00 +L028ABF DB $00 + DB $00 + +L028AC1 DA L028AD3 + DA L028B45 + DA L028AD1 + DA L028AD1 + DA L028AF7 + DA L028AE4 + DA L028AD1 + DA L028AEF + +L028AD1 SEC + RTS + +L028AD3 LDA #$0001 + STA L028AB5 + LDA #$FFF0 + STA L028AB9 + STZ L028AB7 + BRA L028B12 +L028AE4 LDA #$FFF8 + STA L028AB9 + LDA #$0002 + BRA L028B00 +L028AEF LDA #$FFF8 + STA L028AB9 + BRA L028AFD +L028AF7 LDA #$FFF0 + STA L028AB9 +L028AFD LDA #$0001 +L028B00 STA L028AB5 +L028B03 CLC + LDA L028ABF + STA L028ABB + LDA $42 + ADC #$0080 + STA L028ABD +L028B12 CLC + LDA L028AB7 + ADC #$0080 + CMP #$0100 + BCS L028B43 + PEI $42 + LDA L028AB3 + PHA + LDA L028AB5 + PHA + SEP #$20 + LDA L028AB7 + PHA + LDA L028AB9 + PHA + REP #$20 + CLC + LDA L028ABD + ADC $42 + PHA + LDA L028ABB + PHA + JSL L043774 +L028B43 CLC + RTS + +L028B45 LDA #$0002 + STA L028AB5 + LDA #$FFF8 + STA L028AB9 + STZ L028AB7 + BRA L028B12 +L028B56 TYA + CLC + ADC $AE + STA L028BEA + LDA #$0000 + ADC $B0 + STA L028BEC + LDA [$AE],Y + PHA + AND #$00FF + BEQ L028BE7 + PLA + PHA + AND #$FF1F + STA [$AE],Y + AND #$001F + PHA + TYA + SEC + ADC $01,S + TAY + PLA + PLA + AND #$00E0 + CMP #$0040 + BEQ L028BC4 + CMP #$0060 + BEQ L028BBF + CMP #$0080 + BNE L028BE4 + SEC + LDA [$AE],Y + SBC #$8000 + TAX + INY + INY + LDA [$AE],Y + INY + PHY + AND #$00FF + SBC #$0000 + CLC + ADC #$0080 + PHA + PHX + PEA $0000 + PEA $0000 +L028BB0 LDA L028BEC + PHA + LDA L028BEA + PHA + JSL L042748 + PLY + BRA L028B56 +L028BBF INY + INY + INY + BRA L028B56 +L028BC4 SEC + LDA [$AE],Y + SBC #$8000 + TAX + INY + INY + LDA [$AE],Y + INY + PHY + AND #$00FF + SBC #$0000 + CLC + ADC $42 + PHA + PHX + PEA $0000 + PEA $0001 + BRA L028BB0 +L028BE4 BRL L02894C +L028BE7 PLA + CLC + RTS + +L028BEA DB $00 + DB $00 +L028BEC DB $00 + DB $00 +L028BEE DB $00 + DB $00 +L028BF0 DB $00 + DB $00 +L028BF2 DB $00 + DB $00 +L028BF4 DW $0004 ; Parms for Read +L028BF6 DW $0000 ; ref num +L028BF8 ADRL $00000000 ; buffer ptr +L028BFC ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L028C04 LDA [$F8] + AND #$00FF + BEQ L028C1F + JSR L021631 + BCC L028C12 + CLC + RTS + +L028C12 LDX #$00FE +L028C15 LDA L021658,X + STA L0282C2,X + DEX + DEX + BPL L028C15 +L028C1F LDA #$0001 +L028C22 STA L028F0D + PEA ^L028F13 + PEA L028F13 + PEA $2006 ; GetFileInfo + JSL GSOS2 + BCC L028C37 + BRL L028D1A +L028C37 LDA L028F37 + ORA L028F37+2 + BNE L028C47 + LDA #$0011 + JSR L020AB8 + CLC + RTS + +L028C47 LDA L028F37 + STA L028459 + LDA L028F37+2 + STA L02845B + STZ L028F09 + STZ L028F0B + LDA L02845D + STA L028F07 + STZ L02845D + LDA L028F1B + STA L028451 + STZ L0283C8 + CMP #$00B1 + BCC L028C7D + CMP #$00BF + BCS L028C7D + LDA #$FFFF + STA L028F09 + BRA L028C88 +L028C7D CMP #$00F8 + BNE L028C88 + LDA #$FFFF + STA L028F0B +L028C88 PEA ^L028F47 + PEA L028F47 + PEA $2010 ; Open + JSL GSOS2 + BCC L028C9A + BRL L028D1A +L028C9A LDA L028F49 + STA L028F11 + STA L028457 + LDAL $E0C025 + AND #$0080 + BEQ L028CBC + BIT L028F0B + BPL L028CB9 + LDA #$0000 + STA L028F0B + BRA L028CBC +L028CB9 LDA #$FFFF +L028CBC EOR L028F09 + STA L028F09 + BNE L028CC7 + BRL L028E8C +L028CC7 JSR L028471 + BCS L028D1D + LDA L0283DF + AND #$00FF + DEC + CMP #$0002 + BCC L028CE0 + LDA #$0009 + JSR L020AB8 + BRA L028D1D +L028CE0 BIT L02844D + BPL L028CEE + LDA L028F0D + DEC + BNE L028CEE + INC L028F0D +L028CEE JSR L0286E2 + BCS L028D1D + JSR L02A0EA + BCS L028D1D + LDA L028451 + CMP #$00B1 + BEQ L028D33 + CMP #$00B2 + BEQ L028D33 + LDA L028F0D + CMP L02844F + BEQ L028D13 + BCC L028D13 + DEC L028F0D + DEC +L028D13 JSR L028775 + BCS L028D1D + BRA L028D33 +L028D1A JSR L020AF7 +L028D1D PEA ^L028F0F + PEA L028F0F + PEA $2014 ; Close + JSL GSOS2 + LDA L028F07 + STA L02845D + SEC + CLV + RTS + +L028D33 LDA #$FFFF + STA L0283C2 + STZ L0283C8 + STZ L0283C6 + STZ $F6 + STZ L02845D + LDA L028F09 + STA L0283CA + BPL L028D6F + STZ $32 + LDA L02844F + STA $40 + LDA $42 + XBA + STA $33 + LDA L0283E4 + AND #$0100 + BNE L028D6A + LDA L0283EE + CMP #$0001 + BEQ L028D6A + BRA L028D7D +L028D6A DEC L0283C6 + BRA L028D7D +L028D6F LDA L028F1D + STA $32 + LDA L028F1D+1 + STA $33 + STZ $40 + STZ $42 +L028D7D JSL L041D74 + LDA L0283CA + BEQ L028DB3 + LDA L028451 + CMP #$00B1 + BEQ L028D93 + CMP #$00B2 + BNE L028DB3 +L028D93 JSR L020D34 + LDA #$FFFF + STA L0283C8 + INC + STA $42 + INC + JSR L028775 + BCC L028DB3 +L028DA5 STZ L0283C2 + JSL L040FF1 + JSL L041DDC + BRL L028D1D +L028DB3 STZ $5C + LDA L028449 + STA $3E + BNE L028DBF + SEC + ROR $5C +L028DBF JSR L020D34 + JSL L040F9B + BCS L028DA5 + LDA L0283CA + BEQ L028DD9 + LDA L0283CE + PHA + LDA L0283CC + PHA + JSL L0437E4 +L028DD9 JSR L020D0C + JSR L029A36 + JSL L042328 + LDA L0283CA + BNE L028E04 + LDA #$0000 + JSL L0410BB + AND #$0010 + BNE L028E04 + PEI $42 + PEA $0000 + PEI $3E + JSR L028E53 + PHY + PHX + JSL L042BC0 +L028E04 JSR L028E33 + JSR L025A75 + JSR L024144 + BIT L0283C4 + BPL L028E15 + JSR L028920 +L028E15 JSR L020D34 + LDA #$0000 + JSR L021DBB + LDA L028F1D + STA L028453 + PEA ^L028F0F + PEA L028F0F + PEA $2014 ; Close + JSL GSOS2 + CLC + RTS + +L028E33 LDA L0283CA + BEQ L028E4B + LDA $40 + BIT L02844D + BPL L028E40 + DEC +L028E40 CMP #$0002 + LDA #$0000 + SBC #$0000 + BRA L028E4E +L028E4B EOR #$FFFF +L028E4E JSL L04507E + RTS + +L028E53 LDA L028F1B + CMP #$0006 + BEQ L028E6C + LDX L028E7E +L028E5E CMP L028E80,X + BEQ L028E73 + DEX + DEX + BPL L028E5E + LDY #$0000 + TYX + RTS + +L028E6C LDY L028F1D+2 + LDX L028F1D + RTS + +L028E73 TXA + ASL + TAX + LDY L028E86,X + LDA L028E84,X + TAX + RTS + +L028E7E DB $02 + DB $00 +L028E80 DB $F8 + DB $00 + DB $FF + DB $00 +L028E84 DB $00 + DB $80 +L028E86 DB $00 + DB $00 + DB $00 + DB $20 + DB $00 + DB $00 + +L028E8C LDA L028F0B + STA L0283C4 + BEQ L028EA2 + STZ L028F37+2 + LDA L028F1D + STA L028F37 + BNE L028EA2 + INC L028F37+2 +L028EA2 LDY L028F37+2 + BEQ L028EB9 + DEY + BNE L028EB0 + INY + LDA L028F37 + BEQ L028EB9 + +L028EB0 LDA #$0008 ; File/Segment longer than 64K + JSR L020AB8 + BRL L028D1D +L028EB9 LDA L028F37 + JSR L028896 + BCC L028EC4 + BRL L028D1D +L028EC4 LDA #$0001 + STA L02844F + PHY + PHX + PEI $38 + PEI $36 + _DisposeHandle + LDA L0283CE + PHA + LDA L0283CC + PHA + _DisposeHandle + STZ L0283CE + STZ L0283CC + PLX + PLY + STY $38 + STX $36 + PHB + PHY + PLB + LDA |$0000,X + STA $3A + LDA |$0002,X + STA $3C + PLB + PLB + JSR L02A229 + BRL L028D33 +L028F07 DB $00 + DB $00 +L028F09 DB $00 + DB $00 +L028F0B DB $00 + DB $00 +L028F0D DB $00 + DB $00 + +L028F0F DW $0001 ; Parms for Close +L028F11 DW $0000 ; ref num + +L028F13 DW $000C ; Parms for GetFileInfo + ADRL L0282C2 ; file name + DW $0000 ; access +L028F1B DW $0000 ; file type +L028F1D ADRL $00000000 ; aux type + DW $0000 ; storage + DS 8 ; creation date + DS 8 ; modification date + ADRL $00000000 ; option list +L028F37 ADRL $00000000 ; end of file + ADRL $00000000 ; blocks used + ADRL $00000000 ; resource eof + ADRL $00000000 ; resource blocks + +L028F47 DW $0003 ; Parms for Open +L028F49 DW $0000 ; ref num + ADRL L0282C2 ; path name + DW $0000 ; req access + DW $0000 + +L028F53 BIT $F6 + BPL L028FAB + JSR L021309 + BCS L028F8F + SEC + SBC #$00B1 + CMP #$0002 + BCS L028F94 + INC + STA $42 + SEP #$20 + CLC + ADC #$FD + STA $3C + STA $34 + REP #$20 + JSR L020D0C + JSL L040F9B + JSL L042328 + JSR L025A75 + JSR L024144 + JSR L020D34 + LDA #$0000 + JSR L021DBB + CLC + RTS + +L028F8F LDA #$0001 + BRA L028FA1 +L028F94 LDA #$0003 + BRA L028FA1 +L028F99 LDA #$000C + BRA L028FA1 +L028F9E LDA #$000B +L028FA1 JSR L020AB8 +L028FA4 CLC + RTS + +L028FA6 JSR L020AF7 + BRA L028FA4 +L028FAB BIT L0283CA + BPL L028F9E + LDA [$F8] + AND #$00FF + BNE L028FC1 + JSR L02A20D + BCC L028FDB + JSR L021E04 + CLC + RTS + +L028FC1 PEI $FA + PEI $F8 + LDX #$0002 + JSL L0306BD + PLX + PLX + BCS L028F8F + TYX + BNE L028F94 + DEC + BMI L028F94 + CMP $40 + BCS L028F99 + INC +L028FDB PHA + LDA L02845D + AND #$0001 + STA L029060 + PEA ^L029056 + PEA L029056 + PEA $2010 ; Open + JSL GSOS2 + PLX + BCS L028FA6 + LDA L029058 + STA L029064 + STA L028457 + TXA + JSR L028775 + PHP + PEA ^L029062 + PEA L029062 + PEA $2014 ; Close + JSL GSOS2 + PLP + BCS L028FA4 + STZ $32 + LDA $42 + XBA + STA $33 + LDA L028449 + STA $3E + STZ $5C + CMP #$0000 + BNE L029029 + SEC + ROR $5C +L029029 JSL L040F9B + BCS L02904B + LDA L0283CE + PHA + LDA L0283CC + PHA + JSL L0437E4 + JSR L020D0C + JSR L029A36 + JSL L042328 + JSR L025A75 + JSR L024144 +L02904B JSR L020D34 + LDA #$0000 + JSR L021DBB + CLC + RTS + +L029056 DW $0004 ; Parms for Open +L029058 DW $0000 ; ref num + ADRL L0282C2 ; path name + DW $0000 ; req access +L029060 DW $0000 ; res num + +L029062 DW $0001 ; Parms for Close +L029064 DW $0000 ; ref num + +L029066 STZ L0293DA + LDA [$F8] + AND #$00FF + BNE L02907D + LDA L0283C2 + BEQ L0290C5 + DEC L0293DA + LDA #$0001 + BRA L0290DD +L02907D JSR L021631 + BCS L0290B3 + LDA [$F8] + AND #$00FF + BNE L02908E + DEC L0293DA + BRA L0290CD +L02908E JSR L02153D + BCS L0290B3 + LDX #$0004 + JSR L0290B5 + BCS L0290B3 + STA L02845F + JSR L02153D + BCS L0290B3 + LDX #$0008 + JSR L0290B5 + BCS L0290B3 + STA L028461 + STY L028463 + BRA L0290CD +L0290B3 CLV + RTS + +L0290B5 PEI $FA + PEI $F8 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCC L0290CC +L0290C5 LDA #$0001 + JSR L020AB8 + SEC +L0290CC RTS + +L0290CD LDX #$00FE +L0290D0 LDA L021658,X + STA L0282C2,X + DEX + DEX + BPL L0290D0 + LDA #$0001 +L0290DD STA L02934E + JSL GSOS + DW $2006 ; GetFileInfo + ADRL L029364 + BCC L0290EF +L0290EC BRL L029251 +L0290EF LDA L029372 + CMP #$0005 + BEQ L029100 + LDA #$000E + JSR L020AB8 + BRL L029245 +L029100 JSL GSOS + DW $2010 ; Open + ADRL L029358 + BCS L0290EC + LDA L02935A + STA L028457 + STA L02939A + STA L0293A4 + STA L0293B4 + STA L0293D8 + LDA L0293DA + BEQ L02912B + JSR L02949A + BCC L02912B + BRL L029245 +L02912B STZ L029352 + LDAL $E0C025 + AND #$0080 + BEQ L02913A + DEC L029352 +L02913A LDA #$0004 + STA L02939E + STZ L02939E+2 + JSR L029308 + BCS L0290EC + LDA #$0004 + STA L0293BA + STZ L0293BA+2 + JSR L029313 + BCS L0290EC + LDA L0293C2 + STA L02939E + LDA L0293C4 + STA L02939E+2 + JSR L029308 + BCS L0290EC + LDA #$0010 + STA L0293BA + JSR L029313 + BCS L029194 + LDA L0293D0 + ADC L02939E + STA L02939E + LDA #$0000 + ADC L02939E+2 + STA L02939E+2 + JSR L029308 + BCS L029194 + LDA #$0014 + STA L0293BA +L02918F JSR L029313 + BCC L029197 +L029194 BRL L029251 +L029197 LDA L0293C2 + BEQ L0291C4 + CMP L02845F + BNE L02918F + LDA L0293C4 + CMP L028461 + BNE L02918F + LDA L0293C6 + CMP L028463 + BNE L02918F + LDA L0293CC + BIT #$0800 + BEQ L0291CD + LDA #$FFFF + EOR L029352 + STA L029352 + BRA L0291CD +L0291C4 LDA #$000F + JSR L020AB8 + BRL L029245 +L0291CD LDA L0293C8 + STA L02939E + STA L028465 + CLC + ADC L0293CE + STA L028469 + LDA L0293CA + STA L02939E+2 + STA L028467 + ADC L0293D0 + STA L02846B + JSR L029308 + BCS L029194 + JSR L0241B5 + LDA #$FFFF + STA L02845D + LDA L029352 + BEQ L029259 + JSR L028471 + BCC L029207 + BRL L029245 +L029207 LDA L0283DF + AND #$00FF + DEC + CMP #$0002 + BCC L029218 + STZ L029352 + BRA L029259 +L029218 BIT L02844D + BPL L029220 + INC L02934E +L029220 JSR L0286E2 + BCS L029245 + JSR L02A0EA + BCS L029245 + LDA L02934E + CMP L02844F + BEQ L029238 + BCC L029238 + DEC L02934E + DEC +L029238 JSR L028775 + BCS L029245 + JSR L02929F +L029240 JSR L029329 + CLC + RTS + +L029245 JSR L029329 + JSR L020D34 + JSR L021E04 + SEC + CLV + RTS + +L029251 JSR L029329 + JSR L020AF7 + BRA L029245 +L029259 LDA L0293CE + LDY L0293D0 + BEQ L029271 + CPY #$0002 + BCS L029269 + TAX + BEQ L029271 + +L029269 LDA #$0008 ; File/Segment longer than 64K + JSR L020AB8 + BRA L029245 + +L029271 STA $3E + TYX + BEQ L02927B + LDX #$FFFF + STX $5C +L02927B JSR L028896 + BCS L029245 + LDA #$0001 + STA L02844F + STY $38 + STX $36 + JSR L023EF2 + STY $3C + STX $3A + STZ $40 + STZ $42 + STZ $33 + STZ $32 + JSR L0292BE + BRL L029240 +L02929F LDA L02844F + STA $40 + LDA L02934E + STA $42 + AND #$00FF + XBA + STA $33 + STZ $32 + STZ $5C + CLC + LDA L028449 + STA $3E + BNE L0292BE + SEC + ROR $5C +L0292BE LDA #$FFFF + STA L0283C2 + LDA L029352 + STA L0283CA + JSL L040F9B + BCS L0292F2 + LDA L0283CC + TAX + ORA L0283CE + BEQ L0292E2 + LDY L0283CE + PHY + PHX + JSL L0437E4 +L0292E2 JSR L020D0C + JSR L029A36 + JSL L042328 + JSR L025A75 + JSR L024144 +L0292F2 JSR L020D34 + LDA #$0000 + JSR L021DBB + LDA L02936C + STA L028451 + LDA L02936E + STA L028453 + RTS + +L029308 JSL GSOS + DW $2016 ; SetMark + ADRL L029398 + RTS + +L029313 JSL GSOS + DW $2012 ; Read + ADRL L0293B2 + RTS + + JSL GSOS + DW $2012 ; Read + ADRL L0293A2 + RTS + +L029329 PHA + JSL GSOS + DW $2014 ; Close + ADRL L0293D6 + PLA + RTS + + PEI $FA + PEI $F8 + JSL L0306BD + PLX + STX $F8 + PLX + STX $FA + BCC L02934D + LDA #$0001 + JSR L020AB8 + SEC +L02934D RTS + +L02934E DW $0000 + DW $0000 +L029352 DW $0000 + DW $0000 + DW $0000 + +L029358 DW $0004 ; Parms for Open +L02935A DW $0000 ; ref num + ADRL L0282C2 ; path name + DW $0000 ; req access + DW $0001 ; res num + +L029364 DW $000C ; Parms for GetFileInfo + ADRL L0282C2 ; file name + DW $0000 ; access +L02936C DW $0000 ; file type +L02936E ADRL $00000000 ; aux type +L029372 DW $0000 ; storage + DS 8 ; creation date + DS 8 ; modification date + ADRL $00000000 ; option list + ADRL $00000000 ; end of file + ADRL $00000000 ; blocks used + ADRL $00000000 ; resource eof + ADRL $00000000 ; resource blocks + +L029398 DW $0003 ; Parms for SetMark +L02939A DW $0000 ; ref num + DW $0000 ; base +L02939E ADRL $00000000 ; displacement + +L0293A2 DW $0004 ; Parms for Read +L0293A4 DW $0000 ; ref num + ADRL $00000000 ; buffer ptr + ADRL $00000000 ; request count + ADRL $00000000 ; transfer count + +L0293B2 DW $0004 ; Parms for Read +L0293B4 DW $0000 ; ref num + ADRL L0293C2 ; buffer ptr +L0293BA ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L0293C2 DB $00 + DB $00 +L0293C4 DB $00 + DB $00 +L0293C6 DB $00 + DB $00 +L0293C8 DB $00 + DB $00 +L0293CA DB $00 + DB $00 +L0293CC DB $00 + DB $00 +L0293CE DB $00 + DB $00 +L0293D0 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L0293D6 DW $0001 ; Parms for Close +L0293D8 DW $0000 ; ref num +L0293DA DB $00 + DB $00 +L0293DC LDA L028457 + STA L029492 + STA L029466 + STA L029480 + LDA #$0004 + STA L029496 + STZ L029496+2 + JSR L029456 + BCS L029449 + PEA ^L029464 + PEA L029464 + PEA $2012 ; Read + JSL GSOS2 + BCS L029449 + LDA L029476 + STA L029496 + LDA L029478 + STA L029496+2 + JSR L029456 + BCS L029449 + LDX L02947A + LDY L02947C + STX L029486 + STY L029486+2 + LDA #$8008 + JSR L023ED6 + BCS L02944E + STX L02846D + STY L02846F + JSR L023EF2 + STX L029482 + STY L029482+2 + PEA ^L02947E + PEA L02947E + PEA $2012 ; Read + JSL GSOS2 + BCS L029449 + RTS + +L029449 JSR L020AF7 + SEC + RTS + +L02944E LDA #$0000 + JSR L020AB8 + SEC + RTS + +L029456 PEA ^L029490 + PEA L029490 + PEA $2016 ; SetMark + JSL GSOS2 + RTS + +L029464 DW $0005 ; Parms for Read +L029466 DW $0000 ; ref num + ADRL L029476 ; buffer ptr + ADRL $00000008 ; request count + ADRL $00000000 ; transfer count + DW $0001 ; cache priority +L029476 DB $00 + DB $00 +L029478 DB $00 + DB $00 +L02947A DB $00 + DB $00 +L02947C DB $00 + DB $00 +L02947E DW $0005 ; Parms for Read +L029480 DW $0000 ; ref num +L029482 ADRL $00000000 ; buffer ptr +L029486 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count + DW $0001 ; cache priority +L029490 DW $0003 ; Parms for SetMark +L029492 DW $0000 ; ref num + DW $0000 ; base +L029496 ADRL $00000000 ; displacement +L02949A JSR L0293DC + BCC L0294A0 + RTS + +L0294A0 LDX L02846D + LDY L02846F + JSR L023EF2 + STX $10 + STY $12 + LDY #$0018 + LDA [$10],Y + STA L02953C + BEQ L029507 + LDY #$000E + LDA [$10],Y + CLC + ADC $10 + STA $10 + BCC L0294C5 + INC $12 +L0294C5 JSL L030B27 + DB $05 + DB $12 + DB $14 + DB $3B + ADR L02950F + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + BCS L0294F5 + ASL + ASL + PHA + ASL + ASL + ADC $01,S + STA $01,S + PLY + LDA [$10],Y + STA L02845F + INY + INY + LDA [$10],Y + STA L028461 + INY + INY + LDA [$10],Y + STA L028463 + CLC +L0294F5 PHP + LDA L02846F + PHA + LDA L02846D + PHA + _DisposeHandle + PLP + RTS + +L029507 LDA #$0018 + JSR L020AB8 + SEC + RTS + +L02950F LDA $04,S + CMP #$FFFF + BNE L02951D + LDAL L02953C + STA $06,S + RTL + +L02951D CMPL L02953C + BCC L02952E + LDA #^L02953E + STA $08,S + LDA #L02953E + STA $06,S + RTL + +L02952E JSR L029568 + LDA #^L02953F + STA $08,S + LDA #L02953F + STA $06,S + RTL + +L02953C DB $00 + DB $00 +L02953E DB $00 +L02953F DB $24 +L029540 ASC " 0000 " +L029548 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L02955C ASC "00000000" +L029564 DB $00 + DB $00 +L029566 DB $00 + DB $00 +L029568 PHB + PHK + PLB + JSR L02962F + TAY + LDA [$10],Y + STA L029566 + PHA + PHA + PHA + INY + INY + LDA [$10],Y + PHA + PHA + PHA + INY + INY + LDA [$10],Y + PHA + PHA + PHA + INY + INY + INY + INY + INY + INY + LDA [$10],Y + STA L029564 + _HexIt + PLA + ORA #$8080 + STA L02955C + PLA + ORA #$8080 + STA L02955C+2 + _HexIt + PLA + ORA #$8080 + STA L02955C+4 + PLA + ORA #$8080 + STA L02955C+6 + _HexIt + PLA + ORA #$8080 + STA L029540+2 + PLA + ORA #$8080 + STA L029540+4 + LDA #$A0A0 + STA L029540 + LDA L029564 + BIT #$0800 + BEQ L0295E3 + LDA #$A0E3 + STA L029540 +L0295E3 LDA L029566 + PHA + AND #$3FFF + TAY + PLA + AND #$C000 + CMP #$C000 + BEQ L029608 + CMP #$8000 + BNE L02962A + TYA + CMP #$0030 + BCS L02962A + DEC + JSR L02962F + ADC #L02964E + BRA L029615 +L029608 TYA + CMP #$0003 + BCS L02962A + DEC + JSR L02962F + ADC #L0299FA +L029615 TAX + LDY #$0000 +L029619 LDA |$0000,X + STA L029548,Y + INX + INX + INY + INY + CPY #$0014 + BCC L029619 + PLB + RTS + +L02962A LDA #L02963A + BRA L029615 +L02962F ASL + ASL + PHA + ASL + ASL + ADC $01,S + STA $01,S + PLA + RTS + +L02963A ASC "? " +L02964E ASC "rIcon " + ASC "rPicture " + ASC "rControlList " + ASC "rControlTemplate " + ASC "rC1InputString " + ASC "rPString " + ASC "rStringList " + ASC "rMenuBar " + ASC "rMenu " + ASC "rMenuItem " + ASC "rTextForLETextBox2 " + ASC "rCtlDefProc " + ASC "rCtlColorTbl " + ASC "rWindParam1 " + ASC "rWindParam2 " + ASC "rWindColor " + ASC "rTextBlock " + ASC "rStyleBlock " + ASC "rToolStartUp " + ASC "rResName " + ASC "rAlertString " + ASC "rText " + ASC "rCodeResource " + ASC "rCDEVCode " + ASC "rCDEVFlags " + ASC "rTwoRects " + ASC "rFileType " + ASC "rListRef " + ASC "rCString " + ASC "rXCMD " +L0298A6 ASC "rXFCN " + ASC "rErrorString " + ASC "rKTransTable " + ASC "rWString " + ASC "rC1OutputString " + ASC "rSoundSample " + ASC "rTERuler " + ASC "rFSequence " + ASC "rCursor " + ASC "rItemStruct " + ASC "rVersion " + ASC "rComment " + ASC "rBundle " + ASC "rFinderPath " + ASC "rPaletteWindow " + ASC "rTaggedString " + ASC "rPatternList " +L0299FA ASC "rRectList " + ASC "rPrintRecord " + ASC "rFont " + +L029A36 PHP + REP #$30 + LDA $AA + ORA $AC + BNE L029A41 +L029A3F PLP + RTS + +L029A41 LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + TAY + BNE L029A4F + TXA + BEQ L029A3F +L029A4F STX $AE + STY $B0 +L029A53 LDA [$AE] + INC $AE + BNE L029A5B + INC $B0 +L029A5B AND #$00FF + BEQ L029A3F + CMP #$00E0 + BCS L029A70 + CLC + ADC $AE + STA $AE + BCC L029A53 + INC $B0 + BRA L029A53 +L029A70 ASL + TAX + JMP (L029A75-$1C0,X) + +L029A75 DA L029AB5 + DA L029AB5 + DA L029AC3 + DA L029AF3 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029B48 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029B5C + DA L029B5C + DA L029B5C + DA L029B50 + DA L029AB5 + DA L029B48 + DA L029AB5 + DA L029AB5 + DA L029B5C + DA L029AB5 + DA L029ADB + DA L029B0E + DA L029B2B + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029AB5 + DA L029AB5 +L029AB5 PLP + RTS + +L029AB7 CLC + ADC $AE + STA $AE + BCC L029AC0 + INC $B0 +L029AC0 BRL L029A53 +L029AC3 JSR L029BB8 + LDY #$0006 + LDA [$AE],Y + STA L029BDB + LDA $42 + STA L029BDD + JSR L029BE3 + LDA #$000A + BRA L029AB7 +L029ADB JSR L029BB8 + LDY #$0004 + LDA [$AE],Y + STA L029BDB + LDA $42 + STA L029BDD + JSR L029BE3 + LDA #$0006 + BRA L029AB7 +L029AF3 JSR L029BB8 + LDY #$0008 + LDA [$AE],Y + STA L029BDD + INY + INY + LDA [$AE],Y + STA L029BDB + JSR L029BE3 + LDA #$000E + BRL L029AB7 +L029B0E JSR L029BB8 + LDY #$0004 + LDA [$AE],Y + AND #$00FF + STA L029BDD + INY + LDA [$AE],Y + STA L029BDB + JSR L029BE3 + LDA #$0007 + BRL L029AB7 +L029B2B LDY #$0002 + LDA [$AE],Y + BEQ L029B35 + BRL L029A3F +L029B35 LDA [$AE] + PHA + LDA #$0004 + CLC + ADC $AE + STA $AE + BCC L029B44 + INC $B0 +L029B44 PLA + BRL L029AB7 +L029B48 JSR L029BA8 + LDA #$0004 + BRA L029B5F +L029B50 CLC + LDA #$0004 + ADC $AE + STA $AE + BCC L029B5C + INC $B0 +L029B5C LDA #$0003 +L029B5F CLC + ADC $AE + STA $AE + BCC L029B68 + INC $B0 +L029B68 LDA [$AE] + INC $AE + BNE L029B70 + INC $B0 +L029B70 AND #$00FF + BEQ L029B86 + CMP #$0080 + BCC L029B68 + AND #$007F + BEQ L029B68 + CMP #$0008 + BCC L029B89 + PLP + RTS + +L029B86 BRL L029A53 +L029B89 ASL + TAX + JMP (L029B8E,X) + +L029B8E DA $0000 + DA L029B9E + DA L029BA3 + DA L029BA3 + DA L029BA3 + DA L029BA3 + DA L029BA3 + DA L029B9E + +L029B9E LDA #$0004 + BRA L029B5F +L029BA3 JSR L029BA8 + BRA L029B68 +L029BA8 LDA [$AE] + AND #$00FF + INC + CLC + ADC $AE + STA $AE + BCC L029BB7 + INC $B0 +L029BB7 RTS + +L029BB8 LDA [$AE] + AND #$00FF + STA L029BDF + LDY #$0001 + LDA [$AE],Y + AND #$00FF + STA L029BE1 + INY + LDA [$AE],Y + STA L029BD7 + LDA $42 + STA L029BD9 + RTS + +L029BD7 DB $00 + DB $00 +L029BD9 DB $00 + DB $00 +L029BDB DB $00 + DB $00 +L029BDD DB $00 + DB $00 +L029BDF DB $00 + DB $00 +L029BE1 DB $00 + DB $00 +L029BE3 LDA L029BE1 + BEQ L029C04 + BIT #$0080 + BEQ L029BFB + ORA #$FF00 +L029BF0 LSR L029BDD + ROR L029BDB + INC + BNE L029BF0 + BRA L029C04 +L029BFB ASL L029BDB + ROL L029BDD + DEC + BNE L029BFB +L029C04 SEP #$20 + LDX #$0000 + LDY L029BD7 +L029C0C LDA L029BDB,X + STA [$3A],Y + INX + INY + CPX L029BDF + BCC L029C0C + REP #$20 + RTS + +L029C1B BIT L0283C2 + BMI L029C23 + SEC + CLV + RTS + +L029C23 JSR L020D34 + LDA L0283CA + BNE L029C2E + BRL L029F92 +L029C2E LDY #$0002 + LDX #$001C + BIT L02845D + BMI L029C5C + JSL L0300E2 + JSL L0302E1 + STR "Infos on current segment" + BRA L029C7F +L029C5C DEX + JSL L0300E2 + JSL L0302E1 + STR "Infos on resource segment" +L029C7F JSR L02A0B4 + JSR L02A0B4 + JSL L0302E1 + STR "Byte count ....... $" + LDA L0283D2 + PHA + JSL L03065A + LDA L0283D0 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Reserved space ... $" + LDA L0283D6 + PHA + JSL L03065A + LDA L0283D4 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Segment length ... $" + LDA L0283DA + PHA + JSL L03065A + LDA L0283D8 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR " Unused .......... $" + LDA L0283DC + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR "Label length ..... $" + LDA L0283DD + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR "Number length .... $" + LDA L0283DE + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR "OMF version ...... $" + LDA L0283DF + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR "Bank size ........ $" + LDA L0283E2 + PHA + JSL L03065A + LDA L0283E0 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Kind ............. $" + LDA L0283E4 + PHA + PHA + JSL L030670 + JSL L0302E1 + STR " " + PLA + AND #$001F + ASL + TAX + LDA L02A024,X + STA L029E34 + JSL L0302E1 + STR "(" + BIT L0283E4 + BPL L029E16 + JSL L0302E1 + STR "Dynamic, " +L029E16 LDA #$1000 + AND L0283E4 + BEQ L029E30 + JSL L0302E1 + STR "No spec mem, " +L029E30 JSL L030314 +L029E34 ADR L02A064 + JSR L02A0B4 + JSL L0302E1 + STR " Unused .......... $" + LDA L0283E6 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Origin ........... $" + LDA L0283EA + PHA + JSL L03065A + LDA L0283E8 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Align ............ $" + LDA L0283EE + PHA + JSL L03065A + LDA L0283EC + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Number sex ....... $" + LDA L0283F0 + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR " Unused .......... $" + LDA L0283F1 + PHA + JSL L03065A + JSR L02A0B4 + JSL L0302E1 + STR "Segment number.... $" + LDA L0283F2 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Entry ............ $" + LDA L0283F6 + PHA + JSL L03065A + LDA L0283F4 + PHA + JSL L030670 + JSR L02A0B4 + JSL L0302E1 + STR "Load name ........ " + JSL L030314 + ADR L0283FC + JSR L02A0B4 + JSL L0302E1 + STR "Segment name ..... " + JSL L030314 + ADR L028407 + BRL L02A0C1 +L029F92 LDY #$0002 + LDX #$0019 + JSL L0300E2 + JSL L0302E1 + STR "Infos on non-relocatable file" + JSR L02A0B4 + JSR L02A0B4 + JSL L0302E1 + STR "File length ...... $" + LDA #$0000 + BIT $5C + BPL L029FE5 + INC +L029FE5 PHA + JSL L03065A + PEI $3E + JSL L030670 + JSR L02A0B4 + JSR L02A0B4 + JSL L0302E1 + STR "(Sorry, nothing more for the moment..)" + BRL L02A0C1 + +L02A024 DA L02A06A + DA L02A064 + DA L02A070 + DA L02A064 + DA L02A07C + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A086 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A09A + DA L02A064 + DA L02A0AA + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + DA L02A064 + +L02A064 STR "Data)" +L02A06A STR "Code)" +L02A070 STR "Jump Table)" +L02A07C STR "Pathname)" +L02A086 STR "Library dictionary)" +L02A09A STR "Initialization)" +L02A0AA STR "DP/Stack)" + +L02A0B4 JSL L0300EE + INY + LDX #$0014 + JSL L0300E2 + RTS + +L02A0C1 LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR "> Press any key " + JSL L03034A + CLC + RTS + +L02A0E6 DB $00 +L02A0E7 DB $00 +L02A0E8 DB $00 + DB $00 +L02A0EA JSR L02A229 + LDA L02844F + STA L02A1FF + ASL + PHA + ASL + PHA + ASL + PHA + ASL + ADC $01,S + ADC $03,S + ADC $05,S + INC + PLX + PEA $0000 + PHA + PEI $FC + PEA $8008 + PHA + PHA + _NewHandle + PLX + PLY + BCC L02A120 + LDA #$0000 + JSR L020AB8 + SEC + RTS + +L02A120 STX L02A0E6 + STY L02A0E8 + PHB + PHY + PLB + LDA |$0000,X + STA $10 + STAL L02A21C + LDA |$0002,X + STA $12 + PLB + PLB + STA L02A21E + STZ L02A201 + LDA L028457 + STA L02A205 + STZ L02A209 + STZ L02A209+2 + BIT L02845D + BPL L02A15C + LDA L028465 + STA L02A209 + LDA L028467 + STA L02A209+2 +L02A15C JSL GSOS + DW $2016 ; SetMark + ADRL L02A203 + BCS L02A181 + JSR L028471 + BCS L02A184 + LDA L0283D0 + ADC L02A209 + STA L02A209 + LDA L0283D2 + ADC L02A209+2 + STA L02A209+2 + BRA L02A189 +L02A181 JSR L020AF7 +L02A184 JSR L02A229 + SEC + RTS + +L02A189 SEP #$20 + LDY L02A201 + LDA L028407 + CMP #$19 + BCC L02A19B + LDA #$18 + STA L028407 + CLC +L02A19B ADC #$05 + STA [$10],Y + INY + REP #$20 + PHY + LDA L0283F3 + JSL L030837 + PLY + STA [$10],Y + INY + INY + PHY + LDA L0283F2 + BNE L02A1BD + SEC + LDA L02844F + SBC L02A1FF + INC +L02A1BD JSL L030837 + PLY + STA [$10],Y + INY + INY + SEP #$20 + LDA #$A0 + STA [$10],Y + INY + LDA L028407 + BEQ L02A1E9 + LDX #$0001 +L02A1D5 LDA L028407,X + INX + ORA #$80 + CMP #$A0 + BCS L02A1E1 + LDA #$A0 +L02A1E1 STA [$10],Y + INY + DEC L028407 + BNE L02A1D5 +L02A1E9 STY L02A201 + REP #$20 + DEC L02A1FF + BEQ L02A1F6 + BRL L02A15C +L02A1F6 SEP #$20 + LDA #$00 + STA [$10],Y + REP #$21 + RTS + +L02A1FF DB $00 + DB $00 +L02A201 DB $00 + DB $00 +L02A203 DW $0003 ; Parms for SetMark +L02A205 DW $0000 ; ref num + DW $0000 ; base +L02A209 ADRL $00000000 ; displacement + +L02A20D LDA L02A0E7 + BNE L02A214 + SEC + RTS + +L02A214 JSL L0308F3 + DB $06 + DB $12 + DB $18 + DB $37 +L02A21C DB $00 + DB $00 +L02A21E DB $00 + DB $00 + PHP + INC + PHA + JSR L020D34 + PLA + PLP + RTS + +L02A229 LDA L02A0E7 + BEQ L02A240 + LDA L02A0E8 + PHA + LDA L02A0E6 + PHA + _DisposeHandle + STZ L02A0E7 +L02A240 RTS + +L02A241 LDY #$0001 + TYX + DEX + LDA #$8008 + JSR L023ED6 + BCC L02A24F + RTS + +L02A24F PHB + PHY + PLB + LDA |$0000,X + STA $00 + STAL L02A831 + LDA |$0002,X + STA $02 + PLB + PLB + STA L02A831+2 + STX L02A89B + STY L02A89D + LDY #$0000 + TYA +L02A26F STA [$00],Y + INY + INY + BNE L02A26F + LDY #$0001 + TYX + DEX + LDA #$8008 + JSR L023ED6 + BCC L02A283 + RTS + +L02A283 PHB + PHY + PLB + LDA |$0000,X + STA $00 + STAL L02A80E + LDA |$0002,X + STA $02 + PLB + PLB + STA L02A80E+2 + STX L02A89F + STY L02A8A1 + LDA L028457 + STA L02A82F + STA L02A80C + STA L02A7C0 + STA L02A7E5 + STA L02A865 + STA L02A7A3 + STZ L02A893 + STZ L02A897 + STZ L02A895 + STZ L02A899 +L02A2C0 JSR L02A7AB + BNE L02A327 + STA [$00] + INC L02A897 + BNE L02A2CF + INC L02A899 +L02A2CF LDA L0283D4 + STA L02A7F3 + LDA L0283D6 + STA L02A7F5 + JSR L02A6DD + BCS L02A339 + JSR L02A33E + LDA L02A899 + PHA + LDA L02A897 + PHA + LDY L02A8A1 + PHY + LDX L02A89F + PHX + PHY + PHX + _HUnlock + _SetHandleSize + PLX + LDA L02A899 + PHA + LDA L02A897 + PHA + LDA L02A8A1 + PHA + LDA L02A89F + PHA + LDA L02A895 + PHA + LDA L02A893 + PHA + LDA L02A89D + PHA + LDA L02A89B + PHA + PHX + CLC + RTS + +L02A327 CMP #$00E0 + BCS L02A331 + JSR L02A71E + BRA L02A337 +L02A331 ASL + TAX + LSR + JSR (L02A36E-$1C0,X) +L02A337 BCC L02A2C0 +L02A339 JSR L02A761 + SEC + RTS + +L02A33E LDA L0283C8 + BEQ L02A36D + LDA L0283E4 + AND #$00FF + CMP #$0008 + BEQ L02A36D + LDA L028428 + AND #$00FF + BEQ L02A36D + LDA L0283F2 + PHA + PEA $0000 + PEA $0001 + PEA $0001 + PEA ^L028428 + PEA L028428 + JSL L042748 +L02A36D RTS + +L02A36E DA L02A3AE + DA L02A3AE + DA L02A622 + DA L02A622 + DA L02A3B4 + DA L02A3B4 + DA L02A40F + DA L02A583 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A4A2 + DA L02A4A2 + DA L02A4A2 + DA L02A43F + DA L02A40A + DA L02A583 + DA L02A6C4 + DA L02A726 + DA L02A4A2 + DA L02A3B7 + DA L02A622 + DA L02A622 + DA L02A5E8 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 + DA L02A3C0 +L02A3AE LDA #$0004 + BRL L02A78E +L02A3B4 BRL L02A780 +L02A3B7 LDA #$0006 + JSR L02A78E + BRL L02A780 +L02A3C0 PHA + JSR L02A5CA + JSL L0302E1 + STR "Unsupported OMF type $" + JSL L03065A + JSL L0302E1 + STR " " + JSL L03034A + JSR L020CED + SEC + RTS + +L02A3F2 LDA L0283DD + AND #$00FF + BNE L02A400 + JSR L02A7AB + BCC L02A400 + RTS + +L02A400 STA L02A86B + STA L02A873 + JSR L02A83D + RTS + +L02A40A LDA #$0000 + BRA L02A412 +L02A40F LDA #$0001 +L02A412 STA L02A43D + JSR L02A3F2 + BCC L02A41B + RTS + +L02A41B LDA L0283F2 + PHA + LDA L02A893 + PHA + PEA $0001 + LDA L02A43D + PHA + PEA ^L02A873 + PEA L02A873 + JSL L042748 + LDA L0283DF + INC + INC + JSR L02A78E + RTS + +L02A43D DB $00 + DB $00 +L02A43F STZ L02A581 + STA [$00] + INC $00 + BNE L02A44A + INC $02 +L02A44A INC L02A581 + JSR L02A7AB + BCC L02A453 + RTS + +L02A453 PHA + STA [$00] + INC $00 + BNE L02A45C + INC $02 +L02A45C INC L02A581 + JSR L02A7D0 + PLA + BCC L02A466 + RTS + +L02A466 PHA + LDA L02A7F3 + STA [$00] + LDY #$0002 + LDA L02A7F5 + STA [$00],Y + CLC + LDA #$0004 + PHA + ADC $00 + STA $00 + BCC L02A481 + INC $02 +L02A481 PLA + ADC L02A581 + STA L02A581 + LDA L02A893 + STA [$00] + INC $00 + BNE L02A493 + INC $02 +L02A493 INC $00 + BNE L02A499 + INC $02 +L02A499 INC L02A581 + INC L02A581 + PLA + BRA L02A4D8 +L02A4A2 STZ L02A581 + STA [$00] + INC $00 + BNE L02A4AD + INC $02 +L02A4AD INC L02A581 + LDA L02A893 + STA [$00] + INC $00 + BNE L02A4BB + INC $02 +L02A4BB INC $00 + BNE L02A4C1 + INC $02 +L02A4C1 INC L02A581 + INC L02A581 + JSR L02A7AB + BCC L02A4CD + RTS + +L02A4CD STA [$00] + INC $00 + BNE L02A4D5 + INC $02 +L02A4D5 INC L02A581 +L02A4D8 PHA + CLC + ADC L02A893 + STA L02A893 + BCC L02A4E5 + INC L02A895 +L02A4E5 PLA + CLC + ADC L02A831 + STA L02A831 + BCC L02A4F2 + INC L02A831+2 +L02A4F2 JSR L02A7AB + BCC L02A4F8 + RTS + +L02A4F8 STA [$00] + INC $00 + BNE L02A500 + INC $02 +L02A500 INC L02A581 + CMP #$0000 + BEQ L02A517 + CMP #$0080 + BCC L02A4F2 + AND #$007F + BEQ L02A4F2 + ASL + TAX + JMP (L02A521,X) + +L02A517 LDY #$0000 + LDX L02A581 + JSR L02A66F + RTS + +L02A521 DA $0000 + DA L02A531 + DA L02A55D + DA L02A55D + DA L02A55D + DA L02A55D + DA L02A55D + DA L02A531 + +L02A531 JSR L02A7D0 + BCC L02A537 + RTS + +L02A537 LDA L02A7F3 + STA [$00] + LDY #$0002 + LDA L02A7F5 + STA [$00],Y + LDA #$0004 +L02A547 CLC + PHA + ADC $00 + STA $00 + LDA #$0000 + ADC $02 + STA $02 + PLA + ADC L02A581 + STA L02A581 + BRA L02A4F2 +L02A55D JSR L02A3F2 + BCC L02A563 + RTS + +L02A563 LDA L02A873 + AND #$00FF + INC + PHA + SEP #$30 + LDX #$00 + TXY +L02A570 LDA L02A873,X + STA [$00],Y + INX + INY + DEC L02A873 + BPL L02A570 + REP #$30 + PLA + BRA L02A547 +L02A581 DB $00 + DB $00 +L02A583 STZ L02A581 + STA [$00] + INC $00 + BNE L02A58E + INC $02 +L02A58E INC L02A581 + JSR L02A3F2 + BCC L02A597 + RTS + +L02A597 LDA L02A873 + AND #$00FF + INC + PHA + SEP #$30 + LDX #$00 + TXY +L02A5A4 LDA L02A873,X + STA [$00],Y + INX + INY + DEC L02A873 + BPL L02A5A4 + REP #$30 + PLA + CLC + PHA + ADC $00 + STA $00 + LDA #$0000 + ADC $02 + STA $02 + PLA + ADC L02A581 + STA L02A581 + BRL L02A531 +L02A5CA JSR L020CED +L02A5CD LDY #$0017 + LDX #$0000 + JSL L0300E2 + JSL L0302E1 + STR 87"> Loader: " + RTS + +L02A5E8 STA [$00] + INC $00 + BNE L02A5F0 + INC $02 +L02A5F0 JSR L02A7D0 + BCC L02A5F6 + RTS + +L02A5F6 LDA L02A7F3 + STA [$00] + LDY #$0002 + LDA L02A7F5 + BEQ L02A606 + BRL L02A68A +L02A606 STA [$00],Y + CLC + LDA #$0004 + ADC $00 + STA $00 + LDA #$0000 + ADC $02 + STA $02 + LDX #$0005 + LDY #$0000 + JSR L02A66F + BRA L02A63F +L02A622 STA [$00] + INC $00 + BNE L02A62A + INC $02 +L02A62A INC L02A897 + BNE L02A632 + INC L02A899 +L02A632 TAX + LDA L02A5CD,X + AND #$00FF + STA L02A7F3 + STZ L02A7F5 +L02A63F LDA L02A7F3 + STA L02A812 + STZ L02A812+2 + LDA $00 + STA L02A80E + LDA $02 + STA L02A80E+2 + LDX L02A7F3 + LDY #$0000 + JSR L02A66F + BCC L02A65E + RTS + +L02A65E LDA L02A7F3 + ADC $00 + STA $00 + LDA #$0000 + ADC $02 + STA $02 + BRL L02A7F7 +L02A66F CLC + TXA + ADC L02A897 + STA L02A897 + TYA + ADC L02A899 + STA L02A899 + BEQ L02A688 + DEC + BNE L02A68A + LDA L02A897 + BNE L02A68A +L02A688 CLC + RTS + +L02A68A JSR L02A5CA + JSL L0302E1 + STR "Too many OMF records " +L02A6A7 JSL L03034A + SEC + RTS + + DB $00 + DB $00 + DB $0A + DB $0E + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $06 + DB $07 + +L02A6C4 JSR L02A7D0 + BCC L02A6CA + RTS + +L02A6CA CLC + LDA L02A7F3 + ADC L02A831 + STA L02A831 + LDA L02A7F5 + ADC L02A831+2 + STA L02A831+2 +L02A6DD LDA L02A7F3 + ADC L02A893 + STA L02A893 + LDA L02A7F5 + ADC L02A895 + STA L02A895 + BEQ L02A6F9 + DEC + BNE L02A6FB + LDA L02A893 + BNE L02A6FB +L02A6F9 CLC + RTS + +L02A6FB JSR L02A5CA + JSL L0302E1 + STR "Segment longer than 64K " + BRL L02A6A7 + +L02A71E STA L02A7F3 + STZ L02A7F5 + BRA L02A72C +L02A726 JSR L02A7D0 + BCC L02A72C + RTS + +L02A72C CLC + LDA L02A7F3 + STA L02A835 + LDA L02A7F5 + STA L02A835+2 + JSR L02A6DD + BCC L02A73F + RTS + +L02A73F JSR L02A81A + BCC L02A745 + RTS + +L02A745 LDA L02A7F3 + ADC L02A831 + STA L02A831 + LDA L02A7F5 + ADC L02A831+2 + STA L02A831+2 + CLC + RTS + +L02A759 JSR L020AF7 + JSR L02A761 + SEC + RTS + +L02A761 LDA L02A89D + PHA + LDA L02A89B + PHA + _DisposeHandle + LDA L02A8A1 + PHA + LDA L02A89F + PHA + _DisposeHandle + RTS + +L02A780 LDA L0283DD + AND #$00FF + BNE L02A78E + JSR L02A7AB + BCC L02A78E + RTS + +L02A78E STA L02A7A7 + PEA ^L02A7A1 + PEA L02A7A1 + PEA $2016 ; SetMark + JSL GSOS2 + BCS L02A759 + RTS + +L02A7A1 DW $0003 ; Parms for SetMark +L02A7A3 DW $0000 ; ref num + DW $0002 ; base +L02A7A7 ADRL $00000000 ; displacement +L02A7AB PEA ^L02A7BE + PEA L02A7BE + PEA $2012 ; Read + JSL GSOS2 + BCS L02A759 + LDA L02A7CE + RTS + +L02A7BE DW $0004 ; Parms for Read +L02A7C0 DW $0000 ; ref num + ADRL L02A7CE ; buffer ptr + ADRL $00000001 ; request count + ADRL $00000000 ; transfer count +L02A7CE DW $0000 + +L02A7D0 PEA ^L02A7E3 + PEA L02A7E3 + PEA $2012 ; Read + JSL GSOS2 + BCC L02A7E2 + BRL L02A759 +L02A7E2 RTS + +L02A7E3 DW $0004 ; Parms for Read +L02A7E5 DW $0000 ; ref num + ADRL L02A7F3 ; buffer ptr + ADRL $00000004 ; request count + ADRL $00000000 ; transfer count +L02A7F3 DW $0000 +L02A7F5 DW $0000 + +L02A7F7 PEA ^L02A80A + PEA L02A80A + PEA $2012 ; Read + JSL GSOS2 + BCC L02A809 + BRL L02A759 +L02A809 RTS + +L02A80A DW $0004 ; Parms for Read +L02A80C DW $0000 ; ref num +L02A80E ADRL $00000000 ; buffer ptr +L02A812 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02A81A PEA ^L02A82D + PEA L02A82D + PEA $2012 ; Read + JSL GSOS2 + BCC L02A82C + BRL L02A759 +L02A82C RTS + +L02A82D DW $0004 ; Parms for Read +L02A82F DW $0000 ; ref num +L02A831 ADRL $00000000 ; buffer ptr +L02A835 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02A83D PEA ^L02A863 + PEA L02A863 + PEA $2012 ; Read + JSL GSOS2 + BCC L02A84F + BRL L02A759 +L02A84F SEP #$30 + LDX L02A873 +L02A854 LDA L02A873,X + ORA #$80 + STA L02A873,X + DEX + BNE L02A854 + REP #$30 + CLC + RTS + +L02A863 DW $0004 ; Parms for Read +L02A865 DW $0000 ; ref num + ADRL L02A874 ; buffer ptr +L02A86B ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L02A873 DB $00 +L02A874 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L02A893 DB $00 + DB $00 +L02A895 DB $00 + DB $00 +L02A897 DB $00 + DB $00 +L02A899 DB $00 + DB $00 +L02A89B DB $00 + DB $00 +L02A89D DB $00 + DB $00 +L02A89F DB $00 + DB $00 +L02A8A1 DB $00 + DB $00 diff --git a/tfbd/DISASM.X.S b/tfbd/DISASM.X.S new file mode 100644 index 0000000..9f507b1 --- /dev/null +++ b/tfbd/DISASM.X.S @@ -0,0 +1,116 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0302E1 + EXT L03034A + EXT L0300E2 + EXT L042748 + EXT L03065A + EXT L0308F3 + EXT L030837 + EXT L0300EE + EXT L030670 + EXT L030314 + EXT L030B27 + EXT L0306BD + EXT L042328 + EXT L0437E4 + EXT L040F9B + EXT L04507E + EXT L042BC0 + EXT L0410BB + EXT L041DDC + EXT L040FF1 + EXT L041D74 + EXT L043774 + EXT L043069 + EXT L03022D + EXT L045089 + EXT L042A5C + EXT L041764 + EXT L041462 + EXT L0416F3 + EXT L0301F9 + EXT L03059F + EXT L040326 + EXT L040325 + EXT L04386A + EXT L0435FB + EXT L043813 + EXT L042E01 + EXT L042ED4 + EXT L043772 + EXT L042D43 + EXT L042C85 + EXT L04172C + EXT L0413FC + EXT L042ABB + EXT L05054C + EXT L041F95 + EXT L050143 + EXT L041ACE + EXT L050145 + EXT L041AD0 + EXT L041ACA + EXT L051902 + EXT L05063A + EXT L0523AA + EXT L0302C3 + EXT L030719 + EXT L0300D1 + EXT L041993 + EXT L044EAB + EXT L044C72 + EXT L044C3E + EXT L0456A6 + EXT L0308D1 + EXT L0308AF + EXT L030852 + EXT L030823 + EXT L040D34 + EXT L044315 + EXT L04397A + EXT L040456 + EXT L045887 + EXT L0403B6 + EXT L0428B4 + EXT L0307DD + EXT L042DD9 + EXT L042D12 + EXT L04392C + EXT L040586 + EXT L041719 + EXT L030035 + EXT L0424A8 + EXT L03074E + EXT L030193 + EXT L030139 + EXT L0302D4 + EXT L041015 + EXT L044A71 + EXT L044A2D + EXT L042D9E + EXT L0429D3 + EXT L0429B6 + EXT L0426C7 + EXT L04349E + EXT L04037A + EXT L0405F4 + EXT L04155D + EXT L0416D7 + EXT L044E36 + EXT L043563 + EXT L0443B3 + EXT L042166 + EXT L0410DD + EXT L04163A + EXT L0415A4 + EXT L03050A + EXT L03006F + EXT L050537 + EXT L030006 + EXT L044B1B + EXT L04036A + EXT L040358 diff --git a/tfbd/EXPRESS.S b/tfbd/EXPRESS.S new file mode 100644 index 0000000..77741cb --- /dev/null +++ b/tfbd/EXPRESS.S @@ -0,0 +1,107 @@ + +*---------------------------------------------------------* +* Disassembled with The Flaming Bird Disassembler * +* (c) Phoenix corp. 1992,93 - All rights reserved * +*---------------------------------------------------------* + + REL + + DS 2 ; File ref num + DS 2 + DW $0003 ; # of segments -1 + DA L01002E-* ; Offset to seg header + DW $0000 ; Flags + DS 4 ; Handle to segment + DA L010072-* + DW $0000 + DS 4 + DA L0100B6-* + DW $0000 + DS 4 + DA L0100FA-* + DW $0000 + DS 4 + DW $0002 ; Segments numbers + DW $0003 + DW $0004 + DW $0005 +L01002E ADRL $000001CC ; Segments headers + ADRL $0000A8A3 + ADRL $0000AA6F + ADRL $000027D4 + DS 1 + DB $0A + DB $04 + DB $02 + ADRL $00010000 + DW $1000 + ADRL $00000000 + ADRL $00000000 + DB $00 + DS 3 + DW $0002 + ADRL $00000000 + DW $002C + DW $0040 + ASC 'Disasm ' + ASC 'Disasm ' +L010072 ADRL $0000D288 + ADRL $00000DF3 + ADRL $0000E07B + ADRL $0000036E + DS 1 + DB $0A + DB $04 + DB $02 + ADRL $00010000 + DW $1000 + ADRL $00000000 + ADRL $00000000 + DB $00 + DS 3 + DW $0003 + ADRL $00000000 + DW $002C + DW $0040 + ASC 'Disasm ' + ASC 'Text ' +L0100B6 ADRL $0000E42E + ADRL $00005A85 + ADRL $00013EB3 + ADRL $0000111A + DS 1 + DB $0A + DB $04 + DB $02 + ADRL $00010000 + DW $1000 + ADRL $00000000 + ADRL $00000000 + DB $00 + DS 3 + DW $0004 + ADRL $00000000 + DW $002C + DW $0040 + ASC 'Disasm ' + ASC 'Kernel ' +L0100FA ADRL $00015012 + ADRL $000024AF + ADRL $000174C1 + ADRL $0000074B + DS 1 + DB $0A + DB $04 + DB $02 + ADRL $00010000 + DW $1000 + ADRL $00000000 + ADRL $00000000 + DB $00 + DS 3 + DW $0005 + ADRL $00000000 + DW $002C + DW $0040 + ASC 'Disasm ' + ASC 'Scripts ' diff --git a/tfbd/KERNEL.E.S b/tfbd/KERNEL.E.S new file mode 100644 index 0000000..0a06022 --- /dev/null +++ b/tfbd/KERNEL.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 diff --git a/tfbd/KERNEL.S b/tfbd/KERNEL.S new file mode 100644 index 0000000..8f4d90c --- /dev/null +++ b/tfbd/KERNEL.S @@ -0,0 +1,11949 @@ + +*---------------------------------------------------------* +* Disassembled with The Flaming Bird Disassembler * +* (c) Phoenix corp. 1992,93 - All rights reserved * +*---------------------------------------------------------* + + mx %00 + rel + lst off + +*----------------------- + + use 4/Int.Macs + use 4/Mem.Macs + use 4/SANE.Macs + use 4/Util.Macs + + use KERNEL.E + use KERNEL.X + +*----------------------- + +L040000 HEX 10111213141516170001020304050607 + HEX 18191A1B1C0D1D1E0001020304050607 + HEX 1F202122231516170001020304050607 + HEX 08090A0B0C0D0E0F0001020304050607 + HEX 2425262728292A2B0001020320050607 + HEX 08090A0B2C2D2E2F3031323334353637 + HEX 1F203838231516170001020304050607 + HEX 08090A0B0C0D0E0F0001020304050607 + HEX 393A3B3C3D3E3F400001020304050607 + HEX 00010203040506070001020304050607 + HEX 41204222231543440001020304050607 + HEX 08090A0B0C0D0E0F0001020304050607 + HEX 45464748494A4B4C0001020304050607 + HEX 4D4E4F505152535455565758595A5B5C + HEX 4120383822155D110001020304050607 + HEX 08090A0B220D0E0F0001020304050607 + +L040100 HEX 40800000706868685252525252525252 + HEX 40C040B0B06864644444444444444444 + HEX 40408040404040404040404040404040 + HEX 40404040404040404141414141414141 + HEX 00000000000000006060606060606060 + HEX 00000000000000000000000000000000 + HEX 80808082808080808080808080808080 + HEX 8080808080808080C0C0C0C0C0C0C0C0 + HEX 70707070707070704A4A4A4A4A4A4A4A + HEX 42424242424242424E4E4E4E4E4E4E4E + HEX 40508050505040805050505050505050 + HEX 50505050484850504949494949494949 + HEX 00000000000000008888888888888888 + HEX 00000000000000000000000000000000 + HEX 8090C092809082929090909090909090 + HEX 9090909090889090D0D0D0D0D0D0D0D0 + +L040200 ASC "ORAANDEORADCSTALDACMPSBCASLROLLSRRORSTXL" + ASC "DXDECINCBRKJSRRTIRTSBRALDYCPYCPXCOPJSLWD" + ASC "MPERBRLREPSEPTSBBITMVPSTZSTYPHPPLPPHAPLA" + ASC "DEYTAYINYINXTXATAXDEXNOPPHDPLDPHKRTLPHBP" + ASC "LBWAIXBAJMPBPLBMIBVCBVSBCCBCSBNEBEQTRBMV" + ASC "NPEIPEACLCSECCLISEITYACLVCLDSEDINCDECPHY" + ASC "PLYTXSTSXPHXPLXTCSTSCTCDTDCTXYTYXSTPXCEJ" + ASC "ML" + +L04031A ADRL L040326 + ADRL L040358 + ADRL L04036A + +L040326 ENT + ASC "D" ; 0 + ASC 'B' + ASC "D" ; 1 + ASC 'W' + ASC "DD" ; 2 + ASC 'B' + ASC "D" ; 3 + ASC 'A' + ASC "ADR" ; 4 + ASC 'L' + ASC "AD" ; 5 + ASC 'R' + ASC "FL" ; 6 + ASC 'O' + ASC "HE" ; 7 + ASC 'X' + ASC "D" ; 8 + ASC 'S' + ASC "AS" ; 9 + ASC 'C' + ASC "DC" ; 10 + ASC 'I' + ASC "RE" ; 11 + ASC 'V' + ASC "IN" ; 12 + ASC 'V' + ASC "FL" ; 13 + ASC 'S' + ASC "STR" ; 14 + ASC 'L' + ASC "ST" ; 15 + ASC 'R' + ASC "CH" ; 16 + ASC 'K'00 + +L040358 ENT + ASC "LA" ; 0 + ASC 'B' + ASC "EN" ; 1 + ASC 'T' + ASC "EX" ; 2 + ASC 'T' + ASC "EX" ; 3 + ASC 'D' + ASC "EQ" ; 4 + ASC 'U' + ASC "D" ; 5 + ASC 'P'00 + +L04036A ENT + ASC "OR" ; 0 + ASC 'G' + ASC "M" ; 1 + ASC 'X' + ASC "OR" ; 2 + ASC 'G' + ASC ' ' ; 3 + ASC "DB" ; 4 + ASC 'R' + ASC "B=" ; 5 + ASC 'K'00 + +L04037A ENT + PHP + SEP #$30 + LDX #$03 +L04037F ASL + PHP + LSR + PLP + ROL + DEX + BNE L04037F + TAX + LDAL L040100,X + PHA + LSR + LSR + LSR + LSR + LSR + LSR + TAY + PLA + PHA + BIT #$C0 + BEQ L0403B3 + BIT #$20 + BEQ L0403B3 + BIT #$10 + BNE L0403B3 + BIT #$04 + BNE L0403B3 + BIT #$08 + BNE L0403AE + LDA $30 + BRA L0403B0 +L0403AE LDA $31 +L0403B0 BNE L0403B3 + INY +L0403B3 PLA + PLP + RTL + +L0403B6 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $06,S + STA $00 + LDA $08,S + STA $02 + LDA $0A,S + TAX + LDA $04,S + STA $0A,S + LDA $02,S + STA $08,S + LDA $01,S + STA $07,S + TSC + CLC + ADC #$0006 + TCS + TXA + SEP #$30 + LDX #$03 +L0403DE ASL + PHP + LSR + PLP + ROL + DEX + BNE L0403DE + TAX + LDA L040000,X + REP #$30 + PHX + AND #$00FF + STA $04 + ASL + ADC $04 + TAX + LDA [$00] + AND #$00FF + INC + TAY + SEP #$20 + LDA #$03 + STA $04 +L040403 LDA L040200,X + JSR L04043D + INX + STA [$00],Y + INY + DEC $04 + BNE L040403 + PLX + LDA L040100,X + AND #$C0 + BEQ L040436 + CMP #$C0 + BNE L04042F + CPX #$00E6 + BEQ L04042F + CPX #$0011 + BEQ L04042F + LDA #$CC + JSR L04043D + STA [$00],Y + INY +L04042F TYA + DEC + STA [$00] + PLP + PLB + RTL + +L040436 TYA + DEC + STA [$00] + PLP + PLB + RTL + +L04043D PHA + LDA $5F + AND #$20 + BEQ L040454 + LDA $01,S + AND #$7F + CMP #$41 + BCC L040454 + CMP #$5B + BCS L040454 + PLA + ORA #$20 + RTS + +L040454 PLA + RTS + +L040456 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $06,S + STA $00 + LDA $08,S + STA $02 + LDA $0A,S + STA $04 + LDA $0C,S + STA $06 + LDA $0E,S + TAX + LDA $04,S + STA $0E,S + LDA $02,S + STA $0C,S + LDA $01,S + STA $0B,S + TSC + CLC + ADC #$000A + TCS + TXA + SEP #$30 + LDX #$03 +L040486 ASL + PHP + LSR + PLP + ROL + DEX + BNE L040486 + TAX + LDA L040100,X + TAX + AND #$C0 + BEQ L040501 + LDA [$00] + INC + TAY + TXA + BIT #$01 + BEQ L0404B4 + PHA + LDA #$DB + STA [$00],Y + INY + JSR L040504 + LDA #$DD + STA [$00],Y + INY +L0404AE PLA + JSR L040535 + BRA L0404FD +L0404B4 BIT #$02 + BEQ L0404E0 + PHA + PHY + JSR L040504 + TYX + PLY + LDA [$00],Y + CMP #$FC + BNE L0404CC + LDA #$A8 + STA [$00],Y + TXY + BRA L0404D4 +L0404CC LDA #$A8 + STA [$00],Y + INY + JSR L040504 +L0404D4 PLA + PHA + JSR L04051A + LDA #$A9 + STA [$00],Y + INY + BRA L0404AE +L0404E0 BIT #$20 + BEQ L0404F2 + BIT #$10 + BNE L0404ED + LDA #$A3 + STA [$00],Y + INY +L0404ED JSR L040504 + BRA L0404FD +L0404F2 PHA + JSR L040504 + PLA + JSR L04051A + JSR L040535 +L0404FD TYA + DEC + STA [$00] +L040501 PLP + PLB + RTL + +L040504 LDA [$04] + BEQ L040519 + STA $08 + LDX #$01 +L04050C PHY + TXY + LDA [$04],Y + INX + PLY + STA [$00],Y + INY + DEC $08 + BNE L04050C +L040519 RTS + +L04051A BIT #$14 + BEQ L040534 + PHA + LDA #$AC + STA [$00],Y + INY + PLA + PHA + BIT #$10 + BNE L04052E + LDA #$D3 + BRA L040530 +L04052E LDA #$D8 +L040530 STA [$00],Y + INY + PLA +L040534 RTS + +L040535 BIT #$08 + BEQ L040534 + PHA + LDA #$AC + STA [$00],Y + INY + LDA #$D9 + STA [$00],Y + INY + PLA + RTS + + PHP + SEP #$30 + LDA [$00] + TAY +L04054C INY + TYA + STA [$00] + LDA #$A0 + STA [$00],Y + TYA + CMP $44,X + BCC L04054C + PLP + RTS + +L04055B PHP + SEP #$30 + LDX #$FF + CMP #$E2 + BEQ L040577 + CMP #$C2 + BNE L040575 + XBA + BIT #$20 + BEQ L04056F + STZ $30 +L04056F BIT #$10 + BEQ L040575 + STZ $31 +L040575 PLP + RTL + +L040577 XBA + BIT #$20 + BEQ L04057E + STX $30 +L04057E BIT #$10 + BEQ L040575 + STX $31 + BRA L040575 +L040586 ENT + PHP + REP #$30 + STAL L0405F0 + PHA + PEI $42 + PHA + JSL L04349E + BCS L0405B1 + SEC + SBCL L0405F0 + STAL L0405F2 + TYA + CLC + ADCL L0405F2 + TAY + TXA + ORA #$0020 + TAX + TYA + TXY + PLX + BRA L0405ED +L0405B1 PLY + LDA [$3A],Y + PHA + AND #$00FF + CMP #$00A2 + BNE L0405DB + INY + INY + INY + LDA [$3A],Y + CMP #$0022 + BNE L0405D9 + INY + INY + LDA [$3A],Y + CMP #$E100 + BNE L0405D9 + PLA + LDY #$0000 + LDA #$0007 + BRA L0405EA +L0405D9 PLA + PHA +L0405DB JSL L04037A + INY + PLA + PHY + JSL L04055B + PLA + LDY #$0000 +L0405EA PLP + CLC + RTL + +L0405ED PLP + SEC + RTL + +L0405F0 DB $00 + DB $00 +L0405F2 DB $00 + DB $00 +L0405F4 ENT + PHB + PHK + PLB + PHP + REP #$30 + STA $4A + STY $52 + JSL L0300EE + LDX #$0000 + JSL L0300E2 +L040609 JSL L0300F7 + PEI $42 + PEI $4A + JSL L042A5C + PHA + PHY + JSL L03065A + LDA #$00AF + JSL L03022D + JSL L030670 + JSL L0302E1 + STR ": " + BIT $48 + BMI L040634 + BRL L0406C1 +L040634 LDY $4A + LDX #$0010 + STX $50 +L04063B LDA [$3A],Y + PHY + PHX + PHA + TYA + BIT $5E + BVS L040652 + BPL L040669 + JSL L0410BB + BIT #$1800 + BEQ L040669 + BRA L04065B +L040652 JSL L0410BB + BIT #$8000 + BEQ L040669 +L04065B JSL L030579 + JSL L03065A + JSL L030585 + BRA L04066D +L040669 JSL L03065A +L04066D LDA #$00A0 + JSL L03022D + PLX + PLY + INY + BEQ L040684 + BIT $5C + BMI L040681 + CPY $3E + BCS L040684 +L040681 DEX + BNE L04063B +L040684 JSL L0300EE + LDX #$003C + JSL L0300E2 + LDY $4A + LDX #$0010 +L040694 LDA [$3A],Y + PHY + PHX + PHA + AND #$007F + CMP #$0020 + BCS L0406A6 + LDA #$00AE + STA $01,S +L0406A6 PLA + ORA #$0080 + JSL L03022D + PLX + PLY + INY + BEQ L0406BE + BIT $5C + BMI L0406BB + CPY $3E + BCS L0406BE +L0406BB DEX + BNE L040694 +L0406BE BRL L0409DD +L0406C1 LDA $5A + CMP #$0004 + BCC L0406CB + BRL L040776 +L0406CB ASL + TAX + JSR (L0406EF,X) + PHP + PEI $4A + PEI $5A + JSL L0415A4 + STX $5A + PLP + BCS L0406C1 + DEC $52 + BNE L0406E5 + BRL L040A1D +L0406E5 LDA #$008D + JSL L03022D + BRL L040609 + +L0406EF DA L0406F7 + DA L04071C + DA L04072F + DA L040747 + +L0406F7 PEI $42 + PEI $4A + JSL L042D12 + BVS L040715 + LDX #$0060 + STX $4C + STA $4E + SEP #$10 + STY $50 + REP #$10 +L04070E JSR L0407E5 + CLC + RTS + +L040713 SEC + RTS + +L040715 LDX #$0062 + STX $4C + BRA L04070E +L04071C PEI $42 + PEI $4A + JSL L042DD9 + BCS L040713 + STA $4E + LDX #$0061 + STX $4C + BRA L04070E +L04072F PEI $42 + PEI $4A + JSL L042F5B + BVS L040740 + STA $4E + LDX #$0064 + BRA L040743 +L040740 LDX #$0065 +L040743 STX $4C + BRA L04070E +L040747 PEI $42 + PEI $4A + STZ L040A25 + PEA ^L040A25 + PEA L040A25 + JSL L0428B4 + CPX #$0001 + BNE L040713 + JSL L0300EE + LDX #$0016 + JSL L0300E2 + JSL L030314 + ADR L040A25 + LDA #$0041 + STA $4C + BRA L04070E +L040776 LDA $4A + JSL L041719 + LDA $4A + JSL L040586 + STY $4C + STA $50 + CMP #$0000 + BEQ L0407A5 + CMP #$0006 + BCC L040793 + LDA #$0005 +L040793 TAX + LDY $4A +L040796 LDA [$3A],Y + INY + PHY + PHX + PHA + JSL L03065A + PLX + PLY + DEX + BNE L040796 +L0407A5 JSL L0300EE + LDX #$0016 + JSL L0300E2 + STZ L040A25 + LDA $4A + JSL L0410BB + BIT #$6000 + BEQ L0407E2 + BIT #$2000 + BNE L0407E2 + BIT #$0080 + BEQ L0407E2 + PEI $42 + PEI $4A + STZ L040A25 + PEA ^L040A25 + PEA L040A25 + JSL L0428B4 + BVS L0407E2 + JSL L030314 + ADR L040A25 +L0407E2 PER L040976-1 +L0407E5 SEP #$30 + LDA #$A0 + JSL L03022D + JSL L0300EE + CPX $44 + BCS L0407FB + LDX $44 + JSL L0300E2 +L0407FB REP #$30 + LDA $4C + AND #$00FF + BEQ L040807 + BRL L0408D3 +L040807 LDY $4A + LDA [$3A],Y + AND #$00FF + CMP #$00A2 + BNE L04084A + INY + INY + INY + LDA [$3A],Y + CMP #$0022 + BNE L040843 + INY + INY + LDA [$3A],Y + CMP #$E100 + BNE L040843 + LDY $4A + INY + LDA [$3A],Y + PHA + STZ L040A25 + PEA ^L040A25 + PEA L040A25 + JSL L044C72 + BCS L040843 + JSL L030314 + ADR L040A25 + RTS + +L040843 LDY $4A + LDA [$3A],Y + AND #$00FF +L04084A STZ L040A25 + PHA + PEA ^L040A25 + PEA L040A25 + JSL L0403B6 + JSL L030314 + ADR L040A25 + LDA $50 + DEC + BNE L040865 + RTS + +L040865 LDA #$00A0 + JSL L03022D + STZ L040A25 + STZ L040A55 + SEP #$10 + JSL L0300EE + CPX $45 + BCS L040882 + LDX $45 + JSL L0300E2 +L040882 REP #$10 + LDY $4A + LDA [$3A],Y + AND #$00EF + CMP #$0044 + BNE L0408A0 + PEI $42 + INY + PHY + PEA ^L040A55 + PEA L040A55 + JSL L045887 + BRA L0408CB +L0408A0 TYA + INC + LDY $50 + DEY + PEI $42 + PHA + PHY + PEA ^L040A25 + PEA L040A25 + JSL L04397A + LDY $4A + LDA [$3A],Y + AND #$00FF + PHA + PEA ^L040A25 + PEA L040A25 + PEA ^L040A55 + PEA L040A55 + JSL L040456 +L0408CB JSL L030314 + ADR L040A55 + RTS + +L0408D3 LDA $4C + AND #$00FF + PHA + SEC + SBC #$0020 + LSR + LSR + LSR + AND #$000C + TAY + LDA L04031A+1,Y + STA $01 + LDA L04031A,Y + STA $00 + PLA + AND #$001F + TAX + LDY #$0000 + SEP #$20 +L0408F8 DEX + BMI L040905 +L0408FB LDA [$00],Y + BPL L040902 + INY + BRA L0408FB +L040902 INY + BRA L0408F8 +L040905 LDX #$0001 +L040908 LDA [$00],Y + BPL L040916 + JSR L04043D + STA L040A25,X + INY + INX + BRA L040908 +L040916 ORA #$80 + JSR L04043D + STA L040A25,X + TXA + STA L040A25 + REP #$30 + JSL L030314 + ADR L040A25 + LDA #$00A0 + JSL L03022D + SEP #$10 + JSL L0300EE + CPX $45 + BCS L040942 + LDX $45 + JSL L0300E2 +L040942 REP #$10 + LDA $4C + AND #$00FF + PHA + SEC + SBC #$0020 + LSR + LSR + LSR + AND #$000C + TAY + LDA L040A85+1,Y + STA $01 + LDA L040A85,Y + STA $00 + PLA + AND #$001F + ASL + TAY + PEI $4A + STZ L040A25 + PER L040972-1 + LDA [$00],Y + DEC + PHA + RTS + +L040972 PLA + STA $4A + RTS + +L040976 LDA $4A + JSL L0410BB + BIT #$0400 + BEQ L0409DD + SEP #$30 + LDA #$A0 + JSL L03022D + JSL L0300EE + STX L040A23 + CPX $46 + BCS L04099D + LDX $46 + STX L040A23 + JSL L0300E2 +L04099D REP #$30 + LDA #$004F + SEC + SBC L040A23 + DEC + DEC + BMI L0409DD + STA L040A23 + JSL L0302E1 + STR "; " + PEI $42 + PEI $4A + STZ L040A25 + PEA ^L040A25 + PEA L040A25 + JSL L04392C + BCS L0409DD + SEP #$20 + LDA L040A23 + CMP L040A25 + BCS L0409D4 + STA L040A25 +L0409D4 REP #$20 + JSL L030314 + ADR L040A25 +L0409DD STZ $5A + LDA $50 + CLC + ADC $4A + BCS L040A05 + STA $4A + BIT $5C + BMI L0409F0 + CMP $3E + BCS L040A05 +L0409F0 PHA + JSL L04155D + STX $5A + LDY #$0000 + DEC $52 + BEQ L040A1D + JSL L0302C3 + BRL L040609 +L040A05 STZ $4A +L040A07 DEC $52 + BEQ L040A13 + INC $4A + JSL L0302C3 + BRA L040A07 +L040A13 JSL L0300F7 + LDY #$00EF + LDX #$6502 +L040A1D LDA $4A + PLP + PLB + CLC + RTL + +L040A23 DB $00 + DB $00 +L040A25 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L040A55 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L040A85 ADR L040A91 + DB $00 + ADR L040AB3 + DB $00 + ADR L040ABD + DB $00 +L040A91 DA L040B1C + DA L040B34 + DA L040B50 + DA L040B1C + DA L040B1C + DA L040B1C + DA L040B57 + DA L040BA4 + DA L040BCB + DA L040C14 + DA L040BEE + DA L040C20 + DA L040AC9 + DA L040AC9 + DA L040C46 + DA L040C2C + DA L040C60 +L040AB3 DA L040ACA + DA L040ACA + DA L040ACA + DA L040ACA + DA L040ACA +L040ABD DA L040AEC + DA L040ACC + DA L040ACB + DW $0000 + DA L040B0B + DA L040ACB +L040AC9 RTS +L040ACA RTS +L040ACB RTS + +L040ACC LDA #$00A5 + JSL L03022D + PEI $4E + JSL L03065A + SEP #$20 + LDA $4E + PHA + AND #$0F + STA $31 + PLA + LSR + LSR + LSR + LSR + STA $30 + REP #$20 + RTS + +L040AEC LDA $50 + AND #$00FF + PHA + PEI $4E + PEA $0003 + PEA ^L040A25 + PEA L040A25 + JSL L044315 + JSL L030314 + ADR L040A25 + STZ $50 + RTS + +L040B0B LDA #$00A4 + JSL L03022D + LDA $4E + PHA + JSL L03065A + STZ $50 + RTS + +L040B1C PEI $42 + PEI $4A + PEI $50 + PEA ^L040A25 + PEA L040A25 + JSL L04397A + JSL L030314 + ADR L040A25 + RTS + +L040B34 LDY $4A + LDA [$3A],Y +L040B38 PEA $0000 + PHA + PEI $50 + PEA ^L040A25 + PEA L040A25 + JSL L044315 + JSL L030314 + ADR L040A25 + RTS + +L040B50 LDY $4A + LDA [$3A],Y + XBA + BRA L040B38 +L040B57 CLC + LDA $4A + ADC $3A + PHA + PHA + LDA #$0000 + ADC $3C + STA $03,S + PEA ^L040B85 + PEA L040B85 + JSL L040D34 + LDA #$00A2 + JSL L03022D + JSL L030314 + ADR L040B85 + LDA #$00A2 + JSL L03022D + RTS + +L040B85 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L040BA4 LDX $50 + CPX #$0011 + BCC L040BB1 + PER L040BC3-1 + LDX #$000F +L040BB1 LDY $4A +L040BB3 LDA [$3A],Y + PHY + PHX + PHA + JSL L03065A + PLX + PLY + INY + DEX + BNE L040BB3 + RTS + +L040BC3 LDA #$0049 + JSL L03022D + RTS + +L040BCB LDA #$00A4 + JSL L03022D + PEI $50 + JSL L030670 + LDY $4A + LDA [$3A],Y + AND #$00FF + BEQ L040BED + PHA + JSL L0302E1 + STR ",$" + JSL L03065A +L040BED RTS + +L040BEE PHP + REP #$30 + LDY $4A + LDA $50 + CMP #$0001 + BEQ L040BFF + JSR L040C7F + PLP + RTS + +L040BFF LDA [$3A],Y + PHA + EOR #$0080 + STA [$3A],Y + PHY + LDA #$0001 + JSR L040C7F + PLY + PLA + STA [$3A],Y + PLP + RTS + +L040C14 PHP + REP #$30 + LDY $4A + LDA $50 + JSR L040C7F + PLP + RTS + +L040C20 PHP + REP #$30 + LDY $4A + LDA $50 + JSR L040C61 + PLP + RTS + +L040C2C PHP + REP #$30 + LDY $4A + LDA [$3A],Y + AND #$00FF + INC + CMP $50 + PHP + LDA $50 + PLP + BNE L040C41 + INY + DEC +L040C41 JSR L040C7F + PLP + RTS + +L040C46 PHP + REP #$30 + LDY $4A + LDA [$3A],Y + INC + INC + CMP $50 + PHP + LDA $50 + PLP + BNE L040C5B + INY + INY + DEC + DEC +L040C5B JSR L040C7F + PLP + RTS +L040C60 RTS + +L040C61 PHP + REP #$30 + TAX + PHA + TYA + CLC + ADC $01,S + DEC + STA $01,S + PLY + SEP #$20 + LDA #$1F + STA L040D2F + STZ L040D31 + LDA #$FF + STA L040D32 + BRA L040CA0 +L040C7F PHP + REP #$30 + TAX + SEP #$20 + LDA #$1F + STA L040D2F + STZ L040D31 + STZ L040D32 + CPX #$0000 + BNE L040CA0 + JSL L0302E1 + STR "''" + LDA #$02 + PLP + RTS + +L040CA0 LDA [$3A],Y + AND #$7F + CMP #$20 + BCC L040CBF + LDA [$3A],Y + BPL L040CBB + LDA #$A2 +L040CAE STA L040D30 + PHX + PHY + JSL L03022D + PLY + PLX + BRA L040CEB +L040CBB LDA #$A7 + BRA L040CAE +L040CBF LDA [$3A],Y + PHX + PHY + PHA + PHA + JSL L03065A + PLY + PLX + INC L040D31 + INY + BIT L040D32 + BPL L040CD6 + DEY + DEY +L040CD6 DEX + BEQ L040D15 + DEC L040D2F + DEC L040D2F + BEQ L040CE3 + BPL L040CA0 +L040CE3 LDA #$49 + JSL L03022D + BRA L040D15 +L040CEB DEC L040D2F + BEQ L040CE3 + LDA [$3A],Y + ORA #$80 + CMP #$A0 + BCC L040D1D + PHX + PHY + JSL L03022D + PLY + PLX + INC L040D31 + INY + BIT L040D32 + BPL L040D0B + DEY + DEY +L040D0B DEX + BNE L040CEB + LDA L040D30 + JSL L03022D +L040D15 LDA #$00 + XBA + LDA L040D31 + PLP + RTS + +L040D1D LDA L040D30 + PHX + PHY + JSL L03022D + PLY + PLX + DEC L040D2F + BEQ L040CE3 + BRA L040CBF +L040D2F DB $00 +L040D30 DB $00 +L040D31 DB $00 +L040D32 DB $00 + DB $00 +L040D34 ENT + PHB + PHK + PLB + PHP + REP #$30 + TSC + PHD + CLC + ADC #$0006 + TCD + STZ L040E46 + LDA #$0014 + STA L040E48 + PEA ^L040E46 + PEA L040E46 + PEI $06 + PEI $04 + PEA ^L040E4A + PEA L040E4A + PEA $000B + _SANEFP816 + CLC + LDA L040E4C + ADC #$0013 + CMP #$0014 + BCS L040D73 + INC L040E46 +L040D73 SEP #$30 + LDX L040E4E +L040D78 LDA L040E4E,X + CMP #$30 + BNE L040D82 + DEX + BNE L040D78 +L040D82 REP #$31 + STX L040E48 + LDA L040E46 + BNE L040DB1 + LDA L040E4F + AND #$007F + CMP #$0030 + BEQ L040DAC + LDA L040E4C + ADC #$0013 + EOR #$FFFF + INC + BMI L040DC2 + CLC + ADC L040E48 + CMP #$0014 + BCS L040DC2 +L040DAC INC L040E46 + BRA L040DC2 +L040DB1 LDA L040E4C + ADC #$0014 + SEC + SBC L040E48 + EOR #$FFFF + INC + STA L040E48 +L040DC2 PEA ^L040E46 + PEA L040E46 + PEI $06 + PEI $04 + PEA ^L040E4A + PEA L040E4A + PEA $000B + _SANEFP816 + PEA ^L040E46 + PEA L040E46 + PEA ^L040E4A + PEA L040E4A + PEA ^L040E63 + PEA L040E63 + PEA $0001 + _SANEDecStr816 + LDX #$0001 +L040DFB LDA L040E63,X + ORA #$8080 + STA L040E63,X + INX + INX + CPX #$001E + BCC L040DFB + SEP #$30 + LDA L040E64 + CMP #$A0 + BNE L040E24 + LDX #$01 +L040E16 LDA L040E64,X + STA L040E63,X + INX + CPX #$1E + BCC L040E16 + DEC L040E63 +L040E24 LDY L040E63 +L040E27 LDA L040E63,Y + STA [$00],Y + DEY + BPL L040E27 + REP #$30 + PLD + LDA $04,S + STA $0C,S + LDA $02,S + STA $0A,S + LDA $01,S + STA $09,S + PLA + PLA + PLA + PLA + PLP + PLB + CLC + RTL + +L040E46 DB $00 + DB $00 +L040E48 DB $14 + DB $00 +L040E4A DB $00 + DB $00 +L040E4C DB $00 + DB $00 +L040E4E DB $00 +L040E4F DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L040E63 DB $00 +L040E64 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L040E82 DB $00 + DB $00 +L040E84 DB $00 + DB $00 +L040E86 DB $00 +L040E87 DB $00 +L040E88 DB $00 +L040E89 DB $00 + DB $00 +L040E8B DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L040E95 DB $00 + DB $00 +L040E97 REP #$30 + CPX #$0000 + BEQ L040ED3 + PLA + STA L040ED4 + PLA + STA L040E82 + PLA + STA L040E84 + SEP #$20 + PLA + STA L040E86 + CPX #$0000 + BEQ L040EC1 + TXY + LDX #$0000 +L040EB9 PLA + STA L040E87,X + INX + DEY + BNE L040EB9 +L040EC1 LDA L040E86 + PHA + REP #$20 + LDA L040E84 + PHA + LDA L040E82 + PHA + LDA L040ED4 + PHA +L040ED3 RTS + +L040ED4 BRK $00 +L040ED6 PHP + REP #$30 + LDA $05,S + STA L040EEE+1 + LDA $06,S + STA L040EEE+2 + LDA $03,S + STA $07,S + LDA $01,S + STA $05,S + PLA + PLA + PLP +L040EEE JMPL $000000 + +L040EF2 PHP + REP #$20 + STA L040F12 + SEP #$20 + PLA + AND #$CF + STA L040F11 + LDA $01,S + AND #$30 + ORA L040F11 + STA $01,S + REP #$20 + LDA L040F12 + PLP + PLB + RTL + +L040F11 DB $00 +L040F12 DB $00 + DB $00 +L040F14 BIT L040E95 + BPL L040F1B + CLC + RTS + +L040F1B PHP + REP #$30 + LDA $70 + ORA $72 + BEQ L040F4A + LDY #$0002 + LDA [$70] + STA $74 + LDA [$70],Y + STA $76 + ORA $74 + BEQ L040F4A + SEC + LDA $3E + ADC $74 + STA $78 + LDA #$0000 + ADC $76 + STA $7A + BIT $5C + BPL L040F47 + INC $7A +L040F47 PLP + CLC + RTS + +L040F4A PLP + SEC + RTS + +L040F4D PHB + PHK + PLB + PHP + REP #$30 + JSR L040F1B + BCS L040F6F + LDA L040E95 + BNE L040F68 + PEI $72 + PEI $70 + _HLock +L040F68 DEC L040E95 + PLP + PLB + CLC + RTL + +L040F6F PLP + PLB + SEC + RTL + +L040F73 PHB + PHK + PLB + PHP + REP #$30 + JSR L040F1B + BCS L040F97 + LDA L040E95 + BEQ L040F93 + INC L040E95 + BNE L040F93 + PEI $72 + PEI $70 + _HUnlock +L040F93 PLP + PLB + CLC + RTL + +L040F97 PLP + PLB + SEC + RTL + +L040F9B ENT + PHB + PHK + PLB + PHP + REP #$30 + JSL L040FF1 + LDY #$0000 + LDX $3E + BNE L040FAD + INY +L040FAD INX + BNE L040FB1 + INY +L040FB1 TXA + ASL + TAX + TYA + ROL + TAY + PHA + PHA + PHY + PHX + LDA $FE + ORA #$0300 + PHA + PEA $0008 + PHA + PHA + _NewHandle + PLX + PLY + BCS L040FED + STX $70 + STY $72 + JSR L040F14 + BCS L040FED + PEA $0000 + PEI $3E + PEA $FFFF + JSL L041015 + STZ L040E95 + PLP + PLB + CLC + RTL + +L040FED PLP + PLB + SEC + RTL + +L040FF1 ENT + PHP + REP #$30 + JSR L040F14 + BCS L041012 + LDA $FE + ORA #$0300 + PHA + _DisposeAll + STZ $70 + STZ $72 + STZ $74 + STZ $76 + STZ $78 + STZ $7A +L041012 PLP + CLC + RTL + +L041015 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L040E97 + JSR L040F14 + BCS L041055 + LDA #$FFFF + EOR L040E87 + STA L040E87 + LDY L040E8B +L041032 SEP #$20 + BIT $5D + BMI L04103C + CPY $3E + BCS L041054 +L04103C LDA [$74],Y + AND L040E87 + STA [$74],Y + LDA [$78],Y + AND L040E88 + STA [$78],Y + INY + BEQ L041054 + REP #$20 + DEC L040E89 + BNE L041032 +L041054 CLC +L041055 JMP L040EF2 + +L041058 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L040E97 + JSR L040F14 + BCS L04108F + LDY L040E8B +L04106C SEP #$20 + BIT $5D + BMI L041076 + CPY $3E + BCS L04108E +L041076 LDA [$74],Y + ORA L040E87 + STA [$74],Y + LDA [$78],Y + ORA L040E88 + STA [$78],Y + INY + BEQ L04108E + REP #$20 + DEC L040E89 + BNE L04106C +L04108E CLC +L04108F JMP L040EF2 + + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCS L0410B8 + LDY L040E87 + BIT $5C + BMI L0410AE + CPY $3E + BCS L0410B8 +L0410AE SEP #$20 + LDA [$78],Y + XBA + LDA [$74],Y + REP #$20 + CLC +L0410B8 JMP L040EF2 + +L0410BB ENT + PHP + REP #$30 + PHA + JSR L040F14 + PLY + BCC L0410C8 + PLP + SEC + RTL + +L0410C8 BIT $5C + BMI L0410D0 + CPY $3E + BCS L0410DA +L0410D0 SEP #$20 + LDA [$78],Y + XBA + LDA [$74],Y + PLP + CLC + RTL + +L0410DA PLP + SEC + RTL + +L0410DD ENT + PHB + PHK + PLB + PHP + REP #$30 + JSR L040F14 + BCS L0410FC + LDY #$0000 +L0410EB JSR L041118 + BCS L0410F8 + BIT $5C + BMI L0410EB + CPY $3E + BCC L0410EB +L0410F8 PLP + CLC + PLB + RTL + +L0410FC PLP + SEC + PLB + RTL + + PHB + PHK + PLB + PHP + REP #$30 + PHY + JSR L040F14 + PLY + BCS L041114 + JSR L041118 + PLP + CLC + PLB + RTL + +L041114 PLP + SEC + PLB + RTL + +L041118 PHP + REP #$30 + STY $7C + LDA [$3A],Y + AND #$00FF + CMP #$00A2 + BNE L041146 + INY + INY + INY + LDA [$3A],Y + CMP #$0022 + BNE L04113F + INY + INY + LDA [$3A],Y + CMP #$E100 + BNE L04113F + LDY #$0007 + BRA L04114B +L04113F LDY $7C + LDA [$3A],Y + AND #$00FF +L041146 JSL L04037A + INY +L04114B TYX + TYA + LDY $7C + CLC + ADC $7C + STA $7C + SEP #$20 + LDA $30 + LSR + LDA #$00 + ROR + LSR + STA L0411CF + LDA $31 + LSR + LDA #$00 + ROR + LSR + LSR + ORA L0411CF + STA L0411CF + LDA [$74],Y + AND #$1E + ORA #$80 + ORA L0411CF + STA [$74],Y + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0411C3 + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L0411C3 + ASL + PHA + LDA [$3A],Y + CMP #$C2 + BEQ L041197 + PLA + TSB L0411CF + BRA L04119B +L041197 PLA + TRB L0411CF +L04119B LDA L0411CF + ASL + ASL + PHA + LDA #$00 + ROL + STA $30 + PLA + ASL + LDA #$00 + ROL + STA $31 + LDA [$74],Y + AND #$9E + ORA #$01 + ORA L0411CF + STA [$74],Y + BRA L0411C3 +L0411BA LDA [$74],Y + AND #$1E + ORA L0411CF + STA [$74],Y +L0411C3 INY + BEQ L0411CC + DEX + BNE L0411BA + PLP + CLC + RTS + +L0411CC PLP + SEC + RTS + +L0411CF DB $00 +L0411D0 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCS L041216 + SEP #$20 + LDY L040E87 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BEQ L041215 + LDA [$74],Y + BPL L041215 + AND #$FE + STA [$74],Y + DEY + CPY #$FFFF + BNE L041201 + STZ L041219 + BRA L041208 +L041201 LDA [$74],Y + AND #$60 + STA L041219 +L041208 INY + LDA [$74],Y + AND #$9F + ORA L041219 + STA [$74],Y + JMP L0412D0 + +L041215 CLC +L041216 JMP L040EF2 + +L041219 DB $00 +L04121A PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L040E97 + JSR L040F14 + BCS L041268 + LDA L040E87 + AND #$0011 + ASL + ASL + PHA + ASL + ASL + ASL + ORA $01,S + PLX + AND #$0060 + SEP #$20 + STA L04126B + LDY L040E89 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L041257 + INY + LDA [$3A],Y + DEY + AND #$30 + CMP #$30 + BEQ L041267 +L041257 LDA [$74],Y + BPL L041267 + AND #$9E + ORA #$01 + ORA L04126B + STA [$74],Y + JMP L0412D0 + +L041267 CLC +L041268 JMP L040EF2 + +L04126B DB $00 +L04126C PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L040E97 + JSR L040F14 + BCS L0412B5 + LDA L040E87 + AND #$0011 + ASL + ASL + PHA + ASL + ASL + ASL + ORA $01,S + PLX + AND #$0060 + SEP #$20 + STA L0412B8 + LDY L040E89 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0412A9 + INY + LDA [$3A],Y + DEY + AND #$30 + CMP #$30 + BEQ L0412B4 +L0412A9 LDA [$74],Y + AND #$9E + ORA #$01 + ORA L0412B8 + STA [$74],Y +L0412B4 CLC +L0412B5 JMP L040EF2 + +L0412B8 DB $00 +L0412B9 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCC L0412CD + BRL L040EF2 +L0412CD LDY L040E87 +L0412D0 SEP #$20 + STY $7C + STY $7E + LDA [$74],Y + AND #$60 + STA L0413FA + JSR L0413E7 +L0412E0 REP #$20 + TYA + BIT $5C + BMI L0412EE + CMP $3E + BCC L0412EE + BRL L0413E3 +L0412EE CMP $7E + BCS L0412F5 + BRL L0413E3 +L0412F5 SEP #$20 + LDA [$78],Y + AND #$63 + STA L0413FB + REP #$20 + TYA + JSL L040586 + TAX + SEP #$20 + CPY #$0000 + BEQ L041312 + LDA #$80 + TSB L0413FB +L041312 LDY $7C + LDA [$78],Y + EOR L0413FB + AND #$7F + EOR L0413FB + STA [$78],Y + REP #$20 + TXA + STY $7E + CLC + ADC $7C + STA $7C + BCC L041331 + CMP #$0000 + BNE L04133B +L041331 BIT $5C + BMI L041340 + CMP $3E + BEQ L041340 + BCC L041340 +L04133B LDA $3E + SBC $7E + TAX +L041340 SEP #$20 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L04136D + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L04136D + ASL + PHA + LDA [$74],Y + ORA #$01 + STA [$74],Y + LDA [$3A],Y + CMP #$C2 + BEQ L041366 + PLA + TSB L0413FA + BRA L04136A +L041366 PLA + TRB L0413FA +L04136A JSR L0413E7 +L04136D LDA [$74],Y + AND #$1F + ORA #$80 + ORA L0413FA + STA [$74],Y + BRA L04138C +L04137A LDA [$74],Y + AND #$1F + ORA L0413FA + STA [$74],Y + LDA [$78],Y + AND #$9C + ORA L0413FB + STA [$78],Y +L04138C INY + DEX + BNE L04137A + CPY #$0000 + BEQ L0413E3 + BIT $5D + BMI L04139D + CPY $3E + BCS L0413E3 +L04139D LDA [$74],Y + BMI L0413A4 + BRL L0412E0 +L0413A4 REP #$20 + PHY + TYA + JSL L040586 + CLC + ADC $01,S + TAY + SEP #$20 + LDA [$74],Y + PLY + AND #$80 + BNE L0413BC + BRL L0412E0 +L0413BC LDA [$74],Y + AND #$60 + CMP L0413FA + BEQ L0413E3 + LDA [$74],Y + BIT #$01 + BNE L0413CE + BRL L0412E0 +L0413CE LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0413E3 + INY + LDA [$3A],Y + DEY + AND #$30 + CMP #$30 + BEQ L0413E3 + BRL L0412E0 +L0413E3 CLC + JMP L040EF2 + +L0413E7 LDA L0413FA + ASL + ASL + PHA + LDA #$00 + ROL + STA $30 + PLA + ASL + LDA #$00 + ROL + STA $31 + RTS + +L0413FA DB $00 +L0413FB DB $00 +L0413FC ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L040E97 + JSR L040F14 + BCS L04145F + SEP #$20 + LDX #$0000 + LDY L040E89 +L041415 LDA [$74],Y + BMI L04144F + DEY + CPY #$FFFF + BEQ L04145A + BRA L041415 +L041421 LDA [$74],Y + BMI L04142D + DEY + CPY #$FFFF + BEQ L04145A + BRA L041421 +L04142D BIT #$01 + BEQ L041442 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L041441 + INY + LDA [$3A],Y + DEY + AND #$30 + BNE L041442 +L041441 INX +L041442 LDA [$74],Y + BIT #$18 + BEQ L041449 + INX +L041449 BIT #$04 + BEQ L04144E + INX +L04144E INX +L04144F DEY + CPY #$FFFF + BEQ L04145A + DEC L040E87 + BPL L041421 +L04145A INY + REP #$20 + TYA + CLC +L04145F JMP L040EF2 + +L041462 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L040E97 + JSR L040F14 + BCC L041476 + BRL L040EF2 +L041476 LDA L040E87 + STA L041511 + LDA L040E89 + STA L04150F + LDA L040E8B + STA L04150D +L041488 LDA L04150F + ASL + TAX + LDA L04149D,X + DEC + PHA + LDX L04150F + LDY L04150D + SEP #$20 + LDA [$74],Y + RTS + +L04149D DA L0414D1 + DA L0414CA + DA L0414B5 + DA L0414AE + DA L0414A7 +L0414A7 DEX + LDA [$78],Y + BIT #$20 + BNE L0414F8 +L0414AE DEX + LDA [$74],Y + BIT #$04 + BNE L0414F8 +L0414B5 DEX + BIT #$01 + BEQ L0414CA + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0414F8 + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L0414F8 +L0414CA DEX + LDA [$74],Y + BIT #$18 + BNE L0414F8 +L0414D1 SEP #$20 + LDX #$0004 + LDY L04150D +L0414D9 DEY + CPY #$FFFF + BEQ L0414E5 + LDA [$74],Y + BPL L0414D9 + BRA L0414F8 +L0414E5 PEA $0000 + PEA ^L04155D + PEA L04155D + LDX #$0002 + JSL L040ED6 + LDY L04150D +L0414F8 REP #$20 + STY L04150D + STX L04150F + DEC L041511 + BEQ L041508 + BRL L041488 +L041508 TYA + CLC + JMP L040EF2 + +L04150D DB $00 + DB $00 +L04150F DB $00 + DB $00 +L041511 DB $00 + DB $00 + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCS L04155A + SEP #$20 + LDY L040E87 + LDA [$74],Y + LDX #$0001 + BIT #$01 + BEQ L041543 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L041542 + INY + LDA [$3A],Y + DEY + AND #$30 + BNE L041543 +L041542 INX +L041543 LDA [$74],Y + BIT #$18 + BEQ L04154A + INX +L04154A BIT #$04 + BEQ L04154F + INX +L04154F LDA [$78],Y + BIT #$20 + BEQ L041556 + INX +L041556 REP #$20 + TXA + CLC +L04155A JMP L040EF2 + +L04155D ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCS L0415A1 + SEP #$20 + LDX #$0000 + LDY L040E87 + LDA [$74],Y + BIT #$18 + BNE L0415A0 + INX + BIT #$01 + BEQ L041591 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0415A0 + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L0415A0 +L041591 INX + LDA [$74],Y + BIT #$04 + BNE L0415A0 + INX + LDA [$78],Y + BIT #$20 + BNE L0415A0 + INX +L0415A0 CLC +L0415A1 JMP L040EF2 + +L0415A4 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L040E97 + JSR L040F14 + BCS L041609 + LDA L040E87 + ASL + TAX + LDA L0415CA,X + DEC + PHA + LDX L040E87 + SEP #$20 + LDY L040E89 + LDA [$74],Y + RTS + +L0415CA DA L0415DF + DA L0415F4 + DA L0415FB + DA L041602 + DA L04160C +L0415D4 LDX #$0000 + SEP #$20 + LDA [$74],Y + BIT #$18 + BNE L041603 +L0415DF INX + BIT #$01 + BEQ L0415F4 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L041603 + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L041603 +L0415F4 INX + LDA [$74],Y + BIT #$04 + BNE L041603 +L0415FB INX + LDA [$78],Y + BIT #$20 + BNE L041603 +L041602 INX +L041603 REP #$20 + LDA L040E89 + CLC +L041609 JMP L040EF2 + +L04160C JSR L041622 + REP #$20 + LDA L040E89 + JSL L040586 + CLC + ADC L040E89 + STA L040E89 + TAY +L041620 BRA L0415D4 +L041622 PHP + SEP #$20 + LDA [$74],Y + AND #$60 + ASL + ASL + PHA + LDA #$00 + ROL + STA $30 + PLA + ASL + LDA #$00 + ROL + STA $31 + PLP + RTS + +L04163A ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L040E97 + JSR L040F14 + BCC L04164E + BRL L040EF2 +L04164E LDA L040E89 + STA L0416D3 + LDA L040E87 + STA L0416D5 + ASL + TAX + LDA L04166C,X + DEC + PHA + LDX L0416D5 + LDY L0416D3 + SEP #$20 + LDA [$74],Y + RTS + +L04166C DA L0416A0 + DA L041699 + DA L041684 + DA L04167D + DA L041676 +L041676 DEX + LDA [$78],Y + BIT #$20 + BNE L0416CC +L04167D DEX + LDA [$74],Y + BIT #$04 + BNE L0416CC +L041684 DEX + BIT #$01 + BEQ L041699 + LDA [$3A],Y + AND #$DF + CMP #$C2 + BNE L0416CC + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L0416CC +L041699 DEX + LDA [$74],Y + BIT #$18 + BNE L0416CC +L0416A0 SEP #$20 + LDX #$0004 + LDY L0416D3 +L0416A8 DEY + CPY #$FFFF + BNE L0416B3 + LDY $3E + BNE L0416B9 + DEY +L0416B3 LDA [$74],Y + BPL L0416A8 + BRA L0416CC +L0416B9 PEA $0000 + PEA ^L04155D + PEA L04155D + LDX #$0002 + JSL L040ED6 + LDY L0416D3 +L0416CC REP #$20 + TYA + CLC + JMP L040EF2 + +L0416D3 DB $00 + DB $00 +L0416D5 DB $00 + DB $00 +L0416D7 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L040E97 + JSR L040F14 + BCS L0416F0 + LDY L040E87 + JSR L041707 + CLC + TYA +L0416F0 JMP L040EF2 + +L0416F3 ENT + PHP + REP #$30 + PHA + JSR L040F14 + PLY + BCS L041704 + JSR L041707 + TYA + PLP + CLC + RTL + +L041704 PLP + SEC + RTL + +L041707 PHP + SEP #$20 + REP #$10 +L04170C LDA [$74],Y + BMI L041717 + DEY + CPY #$FFFF + BNE L04170C + INY +L041717 PLP + RTS + +L041719 ENT + PHP + REP #$30 + PHA + JSR L040F14 + PLY + BCS L041729 + JSR L041622 + PLP + CLC + RTL + +L041729 PLP + SEC + RTL + +L04172C ENT + PHB + PHK + PLB + PHP + REP #$30 + STA L041762 + STY $7C + JSR L040F14 + BCS L04175A + LDY $7C +L04173E SEP #$20 + LDA [$78],Y + XBA + LDA [$74],Y + REP #$20 + AND L041762 + CMP L041762 + BEQ L04175E + INY + BEQ L04175A + BIT $5C + BMI L04173E + CPY $3E + BCC L04173E +L04175A PLP + SEC + PLB + RTL + +L04175E PLP + CLC + PLB + RTL + +L041762 DB $00 + DB $00 +L041764 ENT + PHB + PHK + PLB + PHP + REP #$30 + STA L041797 + STY $7C + JSR L040F14 + BCS L04178F + LDY $7C +L041776 SEP #$20 + LDA [$78],Y + XBA + LDA [$74],Y + REP #$20 + AND L041797 + BNE L041793 + INY + BEQ L04178F + BIT $5C + BMI L041776 + CPY $3E + BCC L041776 +L04178F PLP + SEC + PLB + RTL + +L041793 PLP + CLC + PLB + RTL + +L041797 DB $00 + DB $00 +L041799 PHB + PHK + PLB + PHP + REP #$30 + LDA $AA + ORA $AC + BNE L0417A8 +L0417A5 PLP + PLB + RTL + +L0417A8 LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + TAY + BNE L0417B6 + TXA + BEQ L0417A5 +L0417B6 STX $AE + STY $B0 + JSR L040F14 + BCS L0417A5 +L0417BF LDA [$AE] + INC $AE + BNE L0417C7 + INC $B0 +L0417C7 AND #$00FF + BEQ L0417A5 + CMP #$00E0 + BCS L0417DC + CLC + ADC $AE + STA $AE + BCC L0417BF + INC $B0 + BRA L0417BF +L0417DC ASL + TAX + JMP (L0417E1-$1C0,X) + +L0417E1 DA L041821 + DA L041821 + DA L041832 + DA L041842 + DA L041821 + DA L041821 + DA L041821 + DA L0418F9 + DA L041821 + DA L041821 + DA L041821 + DA L041916 + DA L041916 + DA L041916 + DA L041901 + DA L041821 + DA L0418F9 + DA L041821 + DA L041821 + DA L041916 + DA L041821 + DA L04183A + DA L04184A + DA L041853 + DA L041821 + DA L041821 + DA L041821 + DA L041821 + DA L041821 + DA L041821 + DA L041821 + DA L041821 + +L041821 PLP + RTS + + PLP + CLC + RTS + +L041826 CLC + ADC $AE + STA $AE + BCC L04182F + INC $B0 +L04182F BRL L0417BF +L041832 JSR L0418DB + LDA #$000A + BRA L041826 +L04183A JSR L0418DB + LDA #$0006 + BRA L041826 +L041842 JSR L0418DB + LDA #$000E + BRA L041826 +L04184A JSR L0418DB + LDA #$0007 + BRL L041826 +L041853 LDA [$AE] + DEC + STA L0418F5 + LDA #$FF00 + STA L0418F7 + LDY #$0002 + LDA [$AE],Y + BEQ L041869 + BRL L0417A5 +L041869 LDY #$0004 + LDA [$AE],Y + AND #$00FF + STA L0418F3 + LDA #$0005 + CLC + ADC $AE + STA $AE + BCC L041880 + INC $B0 +L041880 DEC L0418F5 + BPL L041888 + BRL L0417BF +L041888 LDA [$AE] + INC $AE + BNE L041890 + INC $B0 +L041890 AND #$00FF + CMP #$0080 + BCC L0418A5 + AND #$007F + XBA + CLC + ADC L0418F7 + STA L0418F7 + BRA L041880 +L0418A5 SEP #$20 + INC L0418F8 + REP #$20 + TAX +L0418AD DEC L0418F5 + LDA [$AE] + INC $AE + BNE L0418B8 + INC $B0 +L0418B8 AND #$00FF + CLC + ADC L0418F7 + PHX + LDX #$0002 + LDY L0418F3 + CPY #$0001 + BNE L0418CC + INX +L0418CC CPY #$0002 + BNE L0418D2 + INX +L0418D2 JSR L0418E6 + PLX + DEX + BPL L0418AD + BRA L041880 +L0418DB LDA [$AE] + AND #$00FF + TAX + LDY #$0002 + LDA [$AE],Y +L0418E6 TAY +L0418E7 LDA [$78],Y + ORA #$0008 + STA [$78],Y + INY + DEX + BNE L0418E7 + RTS + +L0418F3 DB $00 + DB $00 +L0418F5 DB $00 + DB $00 +L0418F7 DB $00 +L0418F8 DB $00 +L0418F9 JSR L041971 + LDA #$0004 + BRA L041928 +L041901 LDA [$AE] + AND #$00FF + TAX + LDY #$0005 + LDA [$AE],Y + TAY + JSR L0418E7 + CLC + LDA #$0007 + BRA L041928 +L041916 LDY #$0002 + LDA [$AE],Y + AND #$00FF + TAX + LDA [$AE] + TAY + JSR L0418E7 + LDA #$0003 +L041928 CLC + ADC $AE + STA $AE + BCC L041931 + INC $B0 +L041931 LDA [$AE] + INC $AE + BNE L041939 + INC $B0 +L041939 AND #$00FF + BEQ L04194F + CMP #$0080 + BCC L041931 + AND #$007F + BEQ L041931 + CMP #$0008 + BCC L041952 + PLP + RTS + +L04194F BRL L0417BF +L041952 ASL + TAX + JMP (L041957,X) + +L041957 DA $0000 + DA L041967 + DA L04196C + DA L04196C + DA L04196C + DA L04196C + DA L04196C + DA L041967 + +L041967 LDA #$0004 + BRA L041928 +L04196C JSR L041971 + BRA L041931 +L041971 LDA [$AE] + AND #$00FF + INC + ADC $AE + STA $AE + BCC L04197F + INC $B0 +L04197F RTS + + PHP + REP #$30 + PHA + JSR L040F14 + PLY + BCS L041990 + JSR L041707 + BRL L0410C8 +L041990 PLP + SEC + RTL + +L041993 ENT + PHP + REP #$30 + PHA + JSR L040F14 + PLY + BCS L0419BA + LDX #$0000 + SEP #$20 +L0419A2 INX + INY + BEQ L0419B4 + BIT $5D + BMI L0419AE + CPY $3E + BCS L0419B4 +L0419AE LDA [$74],Y + BMI L0419B4 + BRA L0419A2 +L0419B4 REP #$20 + TXA + PLP + CLC + RTL + +L0419BA PLP + SEC + RTL + +L0419BD PHB + PHK + PLB + PHP + REP #$30 + JSR L040F14 + BCC L0419CC + PLP + PLB + SEC + RTL + +L0419CC SEP #$20 + STZ $30 + STZ $31 + STZ L041AB4 + LDY #$0000 +L0419D8 SEP #$20 + STY $7C + LDA [$78],Y + BMI L041A49 + LDA [$74],Y + BIT #$01 + BNE L041A59 +L0419E6 LDY $7C + STZ L041AB3 + LDA [$3A],Y + CMP #$A2 + BNE L041A12 + REP #$20 + INY + INY + INY + LDA [$3A],Y + CMP #$0022 + BNE L041A0F + INY + INY + LDA [$3A],Y + CMP #$E100 + BNE L041A0D + SEP #$20 + LDY #$0007 + BRA L041A44 +L041A0D DEY + DEY +L041A0F DEY + DEY + DEY +L041A12 SEP #$20 + LDA [$3A],Y + PHA + AND #$DF + CMP #$C2 + BNE L041A3E + INY + LDA [$3A],Y + DEY + AND #$30 + BEQ L041A3E + ASL + XBA + PLA + CMP #$C2 + BEQ L041A32 + XBA + TSB L041AB4 + BRA L041A36 +L041A32 XBA + TRB L041AB4 +L041A36 JSR L041A63 + LDY #$0002 + BRA L041A44 +L041A3E PLA + JSL L04037A + INY +L041A44 STY L041AB5 + BRA L041A76 +L041A49 PEI $42 + PHY + LDA #$80 + STA L041AB3 + JSL L04349E + BCC L041A44 + BCS L0419E6 +L041A59 AND #$60 + STA L041AB4 + JSR L041A63 + BRA L0419E6 +L041A63 LDA L041AB4 + ASL + ASL + STZ $30 + BCC L041A6E + ROL $30 +L041A6E ASL + STZ $31 + BCC L041A75 + ROL $31 +L041A75 RTS + +L041A76 LDY $7C + LDA [$74],Y + AND #$1F + ORA #$80 + ORA L041AB4 + STA [$74],Y +L041A83 INY + BEQ L041AAF + REP #$20 + DEC L041AB5 + SEP #$20 + BEQ L041AA1 + LDA [$78],Y + ORA L041AB3 + STA [$78],Y + LDA [$74],Y + AND #$1E + ORA L041AB4 + STA [$74],Y + BRA L041A83 +L041AA1 BIT $5D + BPL L041AA8 + BRL L0419D8 +L041AA8 CPY $3E + BCS L041AAF + BRL L0419D8 +L041AAF PLP + PLB + CLC + RTL + +L041AB3 DB $00 +L041AB4 DB $00 +L041AB5 DB $00 + DB $00 +L041AB7 DB $00 + DB $00 +L041AB9 DB $00 + DB $00 +L041ABB DB $00 +L041ABC DB $00 + DB $00 +L041ABE DB $00 + DB $00 +L041AC0 DB $00 + DB $00 +L041AC2 DB $00 + DB $00 +L041AC4 DB $00 + DB $00 +L041AC6 DB $00 + DB $00 + DB $00 + DB $00 +L041ACA ENT + DB $00 + DB $00 +L041ACC DB $00 + DB $01 +L041ACE ENT + DB $00 + DB $00 +L041AD0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L041BD0 DW $0002 ; Parms for ExpandPath +L041BD2 ADRL $00000000 ; path name + ADRL L041ACC ; new pathname +L041BDA DW $0004 ; Parms for Create + ADRL L041ACE ; file name + DW $00E3 ; access + DW $005E ; file type + ADRL $00008002 ; aux type +L041BE8 DW $0002 ; Parms for Open +L041BEA DW $0000 ; ref num + ADRL L041ACE ; path name +L041BF0 DW $0004 ; Parms for Write +L041BF2 DW $0000 ; ref num +L041BF4 ADRL $00000000 ; buffer ptr +L041BF8 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L041C00 DW $0004 ; Parms for Write +L041C02 DW $0000 ; ref num + ADRL L041C10 ; buffer ptr + ADRL $00000002 ; request count + ADRL $00000000 ; transfer count +L041C10 DB $00 + DB $00 +L041C12 DW $0001 ; Parms for Close +L041C14 DW $0000 ; ref num +L041C16 DW $0009 ; Parms for GetFileInfo + ADRL L041ACE ; file name + DW $0000 ; access +L041C1E DW $0000 ; file type +L041C20 ADRL $00000000 ; aux type + DW $0000 ; storage + DS 8 ; creation date + DS 8 ; modification date + ADRL $00000000 ; option list +L041C3A ADRL $00000000 ; end of file +L041C3E DW $0002 ; Parms for GetMark +L041C40 DW $0000 ; ref num +L041C42 ADRL $00000000 ; position +L041C46 DW $0003 ; Parms for SetEOF +L041C48 DW $0000 ; ref num + DW $0000 ; base +L041C4C ADRL $00000000 ; displacement +L041C50 PHP + REP #$30 + PHA + PHA + PHY + PHX + PEI $80 + PHA + PHA + PHA + JSR L041C73 + _NewHandle + JSR L041CC1 + PLX + PLY + BCS L041C70 + PLP + CLC + RTS + +L041C70 PLP + SEC + RTS + +L041C73 PHP + REP #$30 + LDY #$0004 + LDA $8A + BNE L041C81 + LDA $8C + BEQ L041C8B +L041C81 LDA [$8A],Y + STA L041D00 + ORA #$8000 + STA [$8A],Y +L041C8B LDA $9E + BNE L041C93 + LDA $A0 + BEQ L041C9D +L041C93 LDA [$9E],Y + STA L041D02 + ORA #$8000 + STA [$8A],Y +L041C9D LDA $B2 + BNE L041CA5 + LDA $B4 + BEQ L041CAF +L041CA5 LDA [$B2],Y + STA L041D04 + ORA #$8000 + STA [$B2],Y +L041CAF PLP + CLC + RTS + +L041CB2 PHP + REP #$30 + PEI $80 + _HLockAll + PLP + CLC + RTS + +L041CC1 PHP + REP #$30 + LDY #$0004 + LDA $8A + BNE L041CCF + LDA $8C + BEQ L041CD4 +L041CCF LDA L041D00 + STA [$8A],Y +L041CD4 LDA $9E + BNE L041CDC + LDA $A0 + BEQ L041CE1 +L041CDC LDA L041D02 + STA [$9E],Y +L041CE1 LDA $B2 + BNE L041CE9 + LDA $B4 + BEQ L041CEE +L041CE9 LDA L041D04 + STA [$B2],Y +L041CEE PLP + CLC + RTS + +L041CF1 PHP + REP #$30 + PEI $80 + _HUnlockAll + PLP + CLC + RTS + +L041D00 DB $00 + DB $00 +L041D02 DB $00 + DB $00 +L041D04 DB $00 + DB $00 +L041D06 PHP + REP #$30 + LDA $BA + AND #$00E0 + LSR + LSR + LSR + TAX + LDA $8A,X + STA $8A + LDA $8C,X + STA $8C + LDY #$0002 + LDA [$8A] + TAX + LDA [$8A],Y + TAY + BNE L041D28 + TXA + BEQ L041D3C +L041D28 STX $9A + STY $9C + STY $A4 + TXA + CLC + ADC #$0010 + STA $A2 + BCC L041D39 + INC $A4 +L041D39 PLP + CLC + RTS + +L041D3C PLP + SEC + RTS + +L041D3F PHP + REP #$30 + LDY #$0008 + LDA [$9A],Y + TAX + INY + INY + LDA [$9A],Y + TAY + BNE L041D52 + TXA + BEQ L041D71 +L041D52 STY $A0 + STX $9E + LDY #$0002 + LDA [$9E],Y + TAX + LDA [$9E] + STA $9A + STX $9C + STX $A4 + CLC + ADC #$0010 + STA $A2 + BCC L041D6E + INC $A4 +L041D6E PLP + CLC + RTS + +L041D71 PLP + SEC + RTS + +L041D74 ENT + PHB + PHK + PLB + PHP + REP #$30 + JSL L041DDC + LDA $FE + AND #$F0FF + ORA #$0200 + STA $80 + STZ $BA + LDA #$0020 +L041D8D STA L041DDA + LDY #$0000 + LDX #$0800 + LDA #$0008 + JSR L041C50 + BCS L041DD6 + STX $8A + STY $8C + JSR L041D06 + LDY #$07FE + LDA #$0000 +L041DAB STA [$9A],Y + DEY + DEY + BPL L041DAB + LDA L041DDA + PHA + LSR + LSR + LSR + TAX + LDA $8A + STA $8A,X + LDA $8C + STA $8C,X + TXA + LSR + TAX + STZ $82,X + PLA + CLC + ADC #$0020 + CMP #$0080 + BCC L041D8D + STZ $82 + PLP + PLB + CLC + RTL + +L041DD6 PLP + PLB + SEC + RTL + +L041DDA BRK $00 +L041DDC ENT + PHP + REP #$30 + LDA $80 + BEQ L041E04 + PHA + _DisposeAll + LDA #$0006 +L041DEE TAX + STZ $82,X + ASL + TAX + LSR + STZ $8A,X + STZ $8C,X + DEC + DEC + BPL L041DEE + STZ $9E + STZ $A0 + STZ $AA + STZ $AC +L041E04 LDA #$0000 + STAL L041ACA + PLP + RTL + +L041E0D PHP + REP #$30 + LDY #$0000 + LDX #$0800 + LDA #$0008 + JSR L041C50 + BCS L041E5D + PHY + PHX + JSR L041D06 +L041E23 JSR L041D3F + BCC L041E23 + PLA + LDY #$0008 + STA [$9A],Y + STA $9E + INY + INY + PLA + STA [$9A],Y + STA $A0 + LDY #$0002 + LDA [$9E],Y + STA $9C + STA $A4 + LDA [$9E] + STA $9A + CLC + ADC #$0010 + STA $A2 + BCC L041E4E + INC $A4 +L041E4E LDY #$07FE + LDA #$0000 +L041E54 STA [$9A],Y + DEY + DEY + BPL L041E54 + PLP + CLC + RTS + +L041E5D PLP + SEC + RTS + +L041E60 PHP + REP #$30 + JSR L041D06 + BCS L041E85 +L041E68 LDX #$007F + LDY #$0000 +L041E6E LDA [$A2],Y + BEQ L041E88 + TYA + CLC + ADC #$0010 + TAY + DEX + BNE L041E6E + JSR L041D3F + BCC L041E68 + JSR L041E0D + BCC L041E68 +L041E85 PLP + SEC + RTS + +L041E88 TYA + CLC + ADC $A2 + STA $A2 + LDA #$0000 + ADC $A4 + STA $A4 + LDY #$000E + LDA #$0000 +L041E9B STA [$A2],Y + DEY + DEY + BPL L041E9B + PLP + CLC + RTS + +L041EA4 PHP + REP #$30 + PHY + PHA + LDY #$000C + LDA [$A2],Y + TAX + INY + INY + LDA [$A2],Y + TAY + BNE L041EB9 + TXA + BEQ L041ED4 +L041EB9 STX $B2 + STY $B4 + LDY #$0002 + LDA [$B2] + TAX + LDA [$B2],Y + TAY + BNE L041ECB + TXA + BEQ L041ED4 +L041ECB STX $B6 + STY $B8 + PLA + PLY + PLP + CLC + RTS + +L041ED4 PLA + PLY + PLP + SEC + RTS + +L041ED9 REP #$30 + CPX #$0000 + BEQ L041F15 + PLA + STA L041F16 + PLA + STA L041AB7 + PLA + STA L041AB9 + SEP #$20 + PLA + STA L041ABB + CPX #$0000 + BEQ L041F03 + TXY + LDX #$0000 +L041EFB PLA + STA L041ABC,X + INX + DEY + BNE L041EFB +L041F03 LDA L041ABB + PHA + REP #$20 + LDA L041AB9 + PHA + LDA L041AB7 + PHA + LDA L041F16 + PHA +L041F15 RTS + +L041F16 DW $0000 + +L041F18 PHP + REP #$30 + LDA $05,S + STA L041F30+1 + LDA $06,S + STA L041F30+2 + LDA $03,S + STA $07,S + LDA $01,S + STA $05,S + PLA + PLA + PLP +L041F30 JMPL $000000 + +L041F34 PHP + REP #$20 + STA L041F54 + SEP #$20 + PLA + AND #$CF + STA L041F53 + LDA $01,S + AND #$30 + ORA L041F53 + STA $01,S + REP #$20 + LDA L041F54 + PLP + PLB + RTL + +L041F53 DB $00 +L041F54 DB $00 + DB $00 +L041F56 PHP + REP #$30 + LDA L041BEA + STA L041BF2 + STA L041C02 + STA L041C40 + STA L041C48 + STA L041C14 + PLP + RTS + +L041F6D PHP + REP #$30 + JSL GSOS + DW $2006 ; GetFileInfo + ADRL L041C16 + BCS L041F92 + LDA L041C1E + CMP #$005E + BNE L041F8F + LDA L041C20 + CMP #$8002 + BNE L041F8F + PLP + CLC + RTS + +L041F8F LDA #$0000 +L041F92 PLP + SEC + RTS + +L041F95 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA L041BD2 + LDA L041ABE + STA L041BD2+2 + ORA L041ABC + BEQ L041FC1 + JSL GSOS + DW $200E ; ExpandPath + ADRL L041BD0 + BCC L041FC1 + BRL L042125 +L041FC1 JSL L041D74 + BCC L041FCA + BRL L04211C +L041FCA JSR L041F6D + BCC L041FD2 + BRL L042125 +L041FD2 JSL GSOS + DW $2010 ; Open + ADRL L041BE8 + BCC L041FE1 + BRL L042125 +L041FE1 JSR L041F56 + LDY L041C3A+2 + LDX L041C3A + TXA + ORA L041C3A+2 + BNE L041FF3 + BRL L042121 +L041FF3 STY L041BF8+2 + STX L041BF8 + LDA #$0008 + JSR L041C50 + BCC L042004 + BRL L04211C +L042004 STY L04215A + STX L042158 + PHB + PHY + PLB + LDA |$0000,X + STA $00 + STAL L041BF4 + LDA |$0002,X + STA $02 + STAL L041BF4+2 + PLB + PLB + JSL GSOS + DW $2012 ; Read + ADRL L041BF0 + BCC L042030 + BRL L04211F +L042030 LDA #$0020 + STA $BA + LDA [$00] + STA $82 + BNE L04203E + BRL L042121 +L04203E LDY #$0002 +L042041 PHY + JSR L041D06 + PLY + LDA $BA + LSR + LSR + LSR + LSR + TAX + LDA L04215E,X + INC + INC + STA L04215C + LDA [$00],Y + PHP + INY + INY + PLP + STA $82,X + STA L041C10 +L042060 BNE L042065 + BRL L042104 +L042065 CMP #$007F + BCC L04206D + LDA #$007F +L04206D STA L042154 +L042070 LDA #$FFFF + STA [$A2] + CLC + TYA + ADC $00 + STA $00 + BCC L04207F + INC $02 +L04207F LDY #$0000 + LDX #$0002 +L042085 LDA [$00],Y + INY + INY + PHY + TXY + STA [$A2],Y + PLY + INX + INX + CPX L04215C + BCC L042085 + PHY + LDY #$0003 + LDA [$A2],Y + PLY + AND #$00FF + BEQ L0420E0 + INC + STA L042156 + PHY + LDY #$0000 + TAX + LDA #$0008 + JSR L041C50 + PHB + PHY + PLB + LDA |$0000,X + STA $B6 + LDA |$0002,X + STA $B8 + PLB + PLB + TYA + LDY #$000E + STA [$A2],Y + DEY + DEY + TXA + STA [$A2],Y + PLY + SEP #$20 + LDX #$0000 +L0420D0 LDA [$00],Y + INY + PHY + TXY + STA [$B6],Y + PLY + INX + DEC L042156 + BNE L0420D0 + REP #$20 +L0420E0 LDA $A2 + CLC + ADC #$0010 + STA $A2 + BCC L0420EC + INC $A4 +L0420EC DEC L041C10 + BEQ L042104 + DEC L042154 + BEQ L0420F9 + BRL L042070 +L0420F9 PHY + JSR L041E0D + PLY + LDA L041C10 + BRL L042060 +L042104 LDA $BA + CLC + ADC #$0020 + STA $BA + CMP #$0080 + BCS L042114 + BRL L042041 +L042114 LDA #$FFFF + STA L041ACA + BRA L042121 +L04211C LDA #$0000 +L04211F SEC + HEX 90 +L042121 CLC + JSR L042128 +L042125 JMP L041F34 + +L042128 PHP + PHA + JSL GSOS + DW $2014 ; Close + ADRL L041C12 + LDA L04215A + ORA L042158 +L04213A BEQ L042151 + LDA L04215A + PHA + LDA L042158 + PHA + _DisposeHandle + STZ L04215A + STZ L042158 +L042151 PLA + PLP + RTS + +L042154 DB $00 + DB $00 +L042156 DB $00 + DB $00 +L042158 DB $00 + DB $00 +L04215A DB $00 + DB $00 +L04215C DB $00 + DB $00 +L04215E DB $00 + DB $00 + DB $08 + DB $00 + DB $08 + DB $00 + DB $0E + DB $00 +L042166 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA L041BD2 + STA $00 + LDA L041ABE + STA L041BD2+2 + STA $02 + ORA $00 + BEQ L0421B8 + JSL GSOS + DW $200E ; ExpandPath + ADRL L041BD0 + BCC L042195 + BRL L0422FF +L042195 LDA [$00] + TAY + INY + LDX L041ACE + INX + SEP #$20 +L04219F LDA [$00],Y + AND #$7F + JSR L04231D + CMP L041ACE,X + BNE L0421B6 + LDA [$00],Y + AND #$7F + STA L041ACE,X + DEX + DEY + BNE L04219F +L0421B6 REP #$20 +L0421B8 JSL GSOS + DW $2001 ; Create + ADRL L041BDA + BCC L0421D4 + CMP #$0047 + BEQ L0421CC + BRL L0422FF +L0421CC JSR L041F6D + BCC L0421D4 + BRL L0422FC +L0421D4 JSL GSOS + DW $2010 ; Open + ADRL L041BE8 + BCC L0421E3 + BRL L0422FF +L0421E3 JSR L041F56 + JSR L041CB2 + LDA $82 + STA L041C10 + JSL GSOS + DW $2013 ; Write + ADRL L041C00 + BCC L0421FD + BRL L042305 +L0421FD LDA #$0020 + STA $BA +L042202 JSR L041D06 + LDA $BA + LSR + LSR + LSR + LSR + TAX + LDA $82,X + STA L041C10 + JSL GSOS + DW $2013 ; Write + ADRL L041C00 + BCC L042220 + BRL L042305 +L042220 LDA L041C10 + BNE L042228 + BRL L0422AF +L042228 LDA #$007F + STA L04231B +L04222E LDA [$A2] + BEQ L04228E + DEC L041C10 + BMI L0422AF + LDA $A2 + CLC + ADC #$0002 + STA L041BF4 + LDA $A4 + ADC #$0000 + STA L041BF4+2 + LDA $BA + LSR + LSR + LSR + LSR + TAX + STZ L041BF8+2 + LDA L042313,X + STA L041BF8 + JSL GSOS + DW $2013 ; Write + ADRL L041BF0 + BCC L042267 + BRL L042305 +L042267 LDY #$0003 + LDA [$A2],Y + AND #$00FF + BEQ L04228E + INC + STA L041BF8 + JSR L041EA4 + LDA $B6 + STA L041BF4 + LDA $B8 + STA L041BF4+2 + JSL GSOS + DW $2013 ; Write + ADRL L041BF0 + BCS L042305 +L04228E CLC + LDA L041C10 + BEQ L0422AF + LDA $A2 + ADC #$0010 + STA $A2 + LDA #$0000 + ADC $A4 + STA $A4 + DEC L04231B + BNE L04222E + JSR L041D3F + BCS L042302 + BRL L042228 +L0422AF LDA $BA + CLC + ADC #$0020 + STA $BA + CMP #$0080 + BCS L0422BF + BRL L042202 +L0422BF JSL GSOS + DW $2017 ; GetMark + ADRL L041C3E + LDA L041C42 + STA L041C4C + LDA L041C42+2 + STA L041C4C+2 + JSL GSOS + DW $2018 ; SetEOF + ADRL L041C46 + BCS L042305 + JSL GSOS + DW $2014 ; Close + ADRL L041C12 + LDA #$FFFF + STA L041ACA + CLC +L0422F2 PHP + PHA + JSR L041CF1 + PLA + PLP + JMP L041F34 + +L0422FC LDA #$0000 +L0422FF SEC + BRA L0422F2 +L042302 LDA #$0000 +L042305 PHA + JSL GSOS + DW $2014 ; Close + ADRL L041C12 + PLA + BRA L0422FF +L042313 DB $00 + DB $00 + DB $08 + DB $00 + DB $08 + DB $00 + DB $0E + DB $00 +L04231B DB $00 + DB $00 + MX %11 +L04231D CMP #$61 + BCC L042327 + CMP #$7B + BCS L042327 + AND #$5F +L042327 RTS + + MX %00 +L042328 ENT + PHB + PHK + PLB + PHP + REP #$30 + PEA $0000 + PEI $3E + PEA $FFFF + JSL L041015 + JSL L041799 + LDA #$E020 +L042341 STA $BA + JSR L041D06 + LDA $9A + STA $A2 + LDA $9C + STA $A4 +L04234E JSR L0424F2 + BCC L042369 + LDA $BA + CLC + ADC #$0020 + CMP #$E080 + BCC L042341 + JSL L0419BD + JSL L0424A8 + PLP + PLB + RTL + +L042369 LDY #$0004 + LDA [$A2],Y + STA $BC + INY + INY + LDA [$A2],Y + STA $BE + EOR $42 + BNE L04234E + INY + INY + LDA [$A2],Y + STA $C2 + PEI $9C + PEI $9A + PEI $A4 + PEI $A2 + PEI $BA + LDY #$0002 + LDA [$A2],Y + PHA + AND #$00E0 + SEC + SBC #$0020 + LSR + LSR + LSR + LSR + TAX + LDA L0423C4,X + TAX + PLA + AND #$001F + ASL + PHX + ADC $01,S + PLX + TAX + LDA |$0000,X + DEC + PER L0423B3-1 + PHA + RTS + +L0423B3 PLA + STA $BA + PLA + STA $A2 + PLA + STA $A4 + PLA + STA $9A + PLA + STA $9C + BRA L04234E + +L0423C4 DA L0423CA + DA L0423EC + DA L0423F8 + +L0423CA DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + DA L042427 + +L0423EC DA L042407 + DA L042417 + DA L042406 + DA L042406 + DA L042406 + DA L042406 + +L0423F8 DA L042433 + DA L042450 + DA L042467 + DA L042467 + DA L042473 + DA L04245D + DA L04249B + +L042406 RTS + +L042407 PEI $BC + LDA $C2 + BNE L04240E + INC +L04240E PHA + PEA $4000 + JSL L041058 + RTS + +L042417 PEI $BC + LDA $C2 + BNE L04241E + INC +L04241E PHA + PEA $6000 + JSL L041058 + RTS + +L042427 PEI $BC + PEI $C2 + PEA $8000 + JSL L041058 + RTS + +L042433 PEI $BC + PEA $0001 + PEA $0010 + JSL L041058 + LDA $BC + CLC + ADC $C2 + PHA + PEA $0001 + PEA $0008 + JSL L041058 + RTS + +L042450 LDY #$000C + LDA [$A2],Y + PEI $BC + PHA + JSL L04126C + RTS + +L04245D PEI $BC + LDA $C2 + BNE L042464 + INC +L042464 PHA + BRA L04246B +L042467 PEI $BC + PEI $C2 +L04246B PEA $1000 + JSL L041058 + RTS + +L042473 PEI $BC + PEA $0001 + PEA $0004 + JSL L041058 + LDA $BC + CLC + ADC $C2 + PHA + PEA $0001 + PEA $0004 + JSL L041058 + PEI $BC + PEI $C2 + PEA $0002 + JSL L041058 + RTS + +L04249B PEI $BC + PEA $0001 + PEA $0400 + JSL L041058 + RTS + +L0424A8 ENT + JSR L044DE1 + JSR L045685 + RTL + +L0424AF PHP + REP #$30 + JSR L041D06 +L0424B5 LDX #$0080 + LDY #$0000 +L0424BB TYA + CLC + ADC #$0010 + TAY + DEX + BNE L0424CC + JSR L041D3F + BCC L0424B5 + PLP + SEC + RTS + +L0424CC LDA [$9A],Y + BPL L0424BB + INY + INY + SEP #$20 + LDA [$9A],Y + AND $BB + CMP $BA + REP #$20 + PHP + DEY + DEY + PLP + BNE L0424BB + TYA + CLC + ADC $9A + STA $A2 + LDA #$0000 + ADC $9C + STA $A4 + PLP + CLC + RTS + +L0424F2 PHP + REP #$30 + SEC + LDA $A4 + SBC $9C + LDA $A2 + SBC $9A + TAY + LSR + LSR + LSR + LSR + SEC + SBC #$0080 + EOR #$FFFF + INC + TAX + BRA L0424BB +L04250E PHP + REP #$30 + JSR L041D06 +L042514 LDX #$0080 + LDY #$0000 +L04251A TYA + CLC + ADC #$0010 + TAY + DEX + BNE L042533 + JSR L041D3F + BCC L042514 + LDA #$0000 + PLP + SEP #$40 + SEC + RTS + +L042530 PLY + BRA L04251A +L042533 CLC + ADC $9A + STA $A2 + LDA #$0000 + ADC $9C + STA $A4 + PHY + LDY #$0000 + LDA [$A2],Y + BPL L042530 + INY + INY + SEP #$20 + LDA [$A2],Y + AND $BB + CMP $BA + REP #$20 + BNE L042530 + LDY #$0006 + LDA [$A2],Y + CMP $BE + BNE L042530 + DEY + DEY + LDA [$A2],Y + CMP $BC + CLV + BEQ L04257B + BCS L042530 + LDY #$0008 + CLC + ADC [$A2],Y + BCS L042579 + BEQ L042579 + CMP $BC + BEQ L042530 + BCC L042530 +L042579 SEP #$40 +L04257B LDY #$0002 + LDA [$A2],Y + AND #$001F + TAX + INY + INY + LDA [$A2],Y + PLY + BVS L04258F + PLP + CLV + CLC + RTS + +L04258F PLP + SEP #$40 + CLC + RTS + +L042594 PHP + REP #$30 + JSR L041D06 + BCC L04259F + PLP + SEC + RTS + +L04259F CLC + LDA $BC + ADC $C2 + DEC + STA $C0 +L0425A7 LDX #$0080 + LDA $9A + STA $A2 + LDA $9C + STA $A4 +L0425B2 LDA $A2 + CLC + ADC #$0010 + STA $A2 + BCC L0425BE + INC $A4 +L0425BE DEX + BNE L0425C9 + JSR L041D3F + BCC L0425A7 + PLP + SEC + RTS + +L0425C9 LDA [$A2] + BEQ L0425B2 + LDY #$0002 + SEP #$20 + LDA [$A2],Y + AND $BB + CMP $BA + REP #$20 + BNE L0425B2 + LDY #$0006 + LDA [$A2],Y + CMP $BE + BNE L0425B2 + DEY + DEY + LDA [$A2],Y + STA L04264F + LDY #$0008 + CLC + ADC [$A2],Y + DEC + STA L042651 + CMP $BC + BCC L0425B2 + CMP $C0 + BCC L042619 + LDA L04264F + CMP $BC + BEQ L04260D + BCC L042628 + CMP $C0 + BEQ L04260D + BCS L0425B2 +L04260D LDA L042651 + SEC + SBC $C0 + TAY + LDX #$0000 + BRA L042642 +L042619 LDA L04264F + CMP $BC + BCC L042638 + LDX #$0000 + LDY #$0000 + BRA L042642 +L042628 LDA $BC + SEC + SBC L04264F + TAX + LDA L042651 + SEC + SBC $C0 + TAY + BRA L042642 +L042638 LDY #$0000 + LDA $BC + SEC + SBC L04264F + TAX +L042642 PHY + LDY #$0002 + LDA [$A2],Y + AND #$001F + PLY + PLP + CLC + RTS + +L04264F BRK $00 +L042651 BRK $00 +L042653 PHP + REP #$30 + SEC + LDA $A4 + SBC $9C + LDA $A2 + SBC $9A + LSR + LSR + LSR + LSR + SEC + SBC #$0080 + EOR #$FFFF + INC + TAX + BRL L0425B2 +L04266F PHP + REP #$30 + LDA $82 + INC + BEQ L042688 + STA $82 + LDA $BA + AND #$00E0 + LSR + LSR + LSR + LSR + TAX + INC $82,X + PLP + CLC + RTS + +L042688 PLP + SEC + RTS + +L04268B PHP + REP #$30 + LDA $82 + BEQ L0426A4 + DEC + STA $82 + LDA $BA + AND #$00E0 + LSR + LSR + LSR + LSR + TAX + DEC $82,X + PLP + CLC + RTS + +L0426A4 PLP + SEC + RTS + +L0426A7 PHP + REP #$30 + LDY #$0000 + LDA #$FFFF + STA [$A2],Y + LDY #$0004 + LDA $BC + STA [$A2],Y + INY + INY + LDA $BE + STA [$A2],Y + INY + INY + LDA $C2 + STA [$A2],Y + PLP + RTS + +L0426C7 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA #$E040 + STA $BA + JSR L041D06 + LDA $9A + STA $A2 + LDA $9C + STA $A4 +L0426ED REP #$20 + JSR L0424F2 + BCS L042740 + LDY #$000C + LDA [$A2],Y + STA $B2 + INY + INY + LDA [$A2],Y + STA $B4 + LDY #$0002 + LDA [$B2] + STA $B6 + LDA [$B2],Y + STA $B8 + LDA #$0000 + TAY + LDA [$A6] + AND #$00FF + INC + TAX + SEP #$20 +L042719 LDA [$A6],Y + CMP [$B6],Y + BNE L0426ED + INY + DEX + BNE L042719 + LDY #$0002 + LDA [$A2],Y + AND #$1F + TAX + REP #$20 + INY + INY + LDA [$A2],Y + PHA + INY + INY + LDA [$A2],Y + TAY + PLA + CLC +L042739 STZ $B2 + STZ $B4 + JMP L041F34 + +L042740 LDA #$0000 + TAX + TAY + SEC + BRA L042739 +L042748 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$000C + JSR L041ED9 + LDA L041AC0 + CMP #$0004 + BEQ L0427AF + LDA L041AC6 + STA $BE + EOR $42 + BNE L0427AF + LDA L041AC4 + STA $BC + JSL L0410BB + BIT #$6000 + BEQ L042776 + BRL L04286C +L042776 LDX L041AC0 + CPX #$0004 + BCS L0427AF + LDX L041AC2 + BNE L0427AF + BIT #$8000 + BNE L042797 + LDY L041AC4 + LDA [$3A],Y + JSL L04037A + INY + STY L041AC2 + BRA L0427AF +L042797 LDA #$E020 + STA $BA + JSR L04250E + LDA $BC + JSR L042FF8 + SEC + SBC $BC + PHY + CLC + ADC $01,S + STA L041AC2 + PLA +L0427AF LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA [$A6] + AND #$00FF + BNE L0427C3 + BRL L04286C +L0427C3 PHA + INC + TAX + LDY #$0000 + LDA #$0008 + JSR L041C50 + BCC L0427D4 + BRL L042870 +L0427D4 STX $B2 + STY $B4 + LDY #$0002 + LDA [$B2] + STA $B6 + LDA [$B2],Y + STA $B8 + PLY + PHY + SEP #$20 +L0427E7 LDA [$A6],Y + ORA #$80 + STA [$B6],Y + DEY + BNE L0427E7 + LDA [$A6] + STA [$B6] + REP #$20 + LDA #$0040 + STA $BA + JSR L041E60 + PLA + BCS L042873 + XBA + ORA L041AC0 + ORA #$0040 + LDY #$0002 + STA [$A2],Y + DEY + DEY + JSR L04266F + BCS L042873 + LDA #$FFFF + STA [$A2],Y + LDY #$0004 + LDA L041AC4 + STA [$A2],Y + INY + INY + LDA L041AC6 + STA [$A2],Y + INY + INY + LDA L041AC2 + BNE L042830 + INC +L042830 STA [$A2],Y + LDY #$000C + LDA $B2 + STA [$A2],Y + INY + INY + LDA $B4 + STA [$A2],Y + LDA L041AC0 + CMP #$0004 + BEQ L04286C + LDA L041AC6 + EOR $42 + BNE L04286C + LDA L041AC4 + PHA + LDA L041AC2 + BNE L042858 + INC +L042858 PHA + LDX #$4000 + LDA L041AC0 + CMP #$0001 + BNE L042867 + LDX #$6000 +L042867 PHX + JSL L041058 +L04286C CLC +L04286D JMP L041F34 + +L042870 PLA + BRA L04286D +L042873 PEI $B4 + PEI $B2 + _DisposeHandle + STZ $B2 + STZ $B4 + SEC + BRA L042870 +L042885 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA #$FF44 + STA $BA + LDA L041AC2 + STA $BE + LDA L041AC0 + STA $BC + LDA L041ABE + STA $A8 + LDA L041ABC + STA $A6 + JSR L044D31 + LDA $BE + BCS L0428DE + JMP L041F34 + +L0428B4 ENT + BRL L0428C3 + DW $7771 + STR 'TGetLabel' +L0428C3 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA #$FC40 + STA $BA + LDA L041AC0 + STA $BC + LDA L041AC2 + STA $BE +L0428DE EOR $42 + BNE L0428F7 + LDA $BA + AND #$001F + CMP #$0004 + BEQ L0428F7 + LDA $BC + JSL L0410BB + BIT #$4000 + BEQ L04294E +L0428F7 JSR L04250E + BCS L04294E + PHX + PHA + JSR L041EA4 + BCS L04294C + LDY #$000E + LDA [$A2],Y + ORA #$8000 + STA [$A2],Y + PEI $B8 + PEI $B6 + LDA L041ABE + STA $A8 + PHA + LDA L041ABC + STA $A6 + PHA + JSL L0307DD + PLA + PHA + SEC + SBC $BC + BEQ L04293F + EOR #$FFFF + INC + PHA + SEP #$30 + LDA [$A6] + INC + STA [$A6] + TAY + LDA #$AB + STA [$A6],Y + REP #$30 + PLA + JSR L042953 +L04293F PLA + CLV + CMP $BC + BEQ L042947 + SEP #$40 +L042947 PLX + CLC +L042949 JMP L041F34 + +L04294C PLA + PLX +L04294E SEC + SEP #$40 + BRA L042949 +L042953 PHP + REP #$30 + PHA + LSR L0429B4 + LDA [$A6] + AND #$00FF + TAY + SEP #$20 + LDA $01,S + ORA $02,S + CMP #$0A + BCC L04296F + INY + LDA #$A4 + STA [$A6],Y +L04296F INY + REP #$20 + PLA + PHA + JSR L04298D + PLA + PHA + JSR L042991 + PLA + PHA + JSR L042995 + PLA + JSR L042999 + SEP #$20 + DEY + TYA + STA [$A6] + PLP + RTS + + MX %00 +L04298D LSR + LSR + LSR + LSR +L042991 LSR + LSR + LSR + LSR +L042995 LSR + LSR + LSR + LSR +L042999 PHY + JSL L030823 + PLY + BIT L0429B4 + BMI L0429AC + CMP #$00B0 + BEQ L0429B3 + ROR L0429B4 +L0429AC SEP #$20 + STA [$A6],Y + REP #$20 + INY +L0429B3 RTS + +L0429B4 DB $00 + DB $00 +L0429B6 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA #$FF44 + STA $BA + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + BRA L0429EE +L0429D3 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA #$FC40 + STA $BA + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE +L0429EE JSR L04250E + BCS L042A23 + BVS L042A26 + LDA $BA + AND #$001F + CMP #$0004 + BEQ L042A1B + LDA $BE + EOR $42 + BNE L042A1B + LDY #$0004 + LDA [$A2],Y + PHA + LDY #$0008 + LDA [$A2],Y + BNE L042A13 + INC +L042A13 PHA + PEA $6000 + JSL L041015 +L042A1B LDA #$0000 + STA [$A2] + JSR L04268B +L042A23 JMP L041F34 + +L042A26 SEC + LDY #$0004 + LDA $BC + SBC [$A2],Y + PHA + LDY #$0008 + LDA [$A2],Y + TAX + LDA $01,S + STA [$A2],Y + TXA + SEC + SBC $01,S + TAX + PLA + LDA $BA + AND #$001F + CMP #$0004 + BEQ L042A59 + LDA $BE + EOR $42 + BNE L042A59 + PEI $BC + PHX + PEA $6000 + JSL L041015 +L042A59 CLC + BRA L042A23 +L042A5C ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + BIT $F6 + BMI L042A9C + LDA #$FF60 + STA $BA + JSR L04250E + BCS L042AA5 + LDY #$0004 + LDA $BC + SEC + SBC [$A2],Y + LDY #$000C + CLC + ADC [$A2],Y + PHA + INY + INY + LDA #$0000 + ADC [$A2],Y + TAY + PLA +L042A98 CLC + JMP L041F34 + +L042A9C CLC + ADC #$00FD + TAY + LDA $BC + BRA L042A98 +L042AA5 LDA $BC + LDY $BE + BNE L042A98 + CLC + ADC $32 + PHA + TYA + CLC + SEP #$20 + ADC $34 + REP #$20 + TAY + PLA + BRA L042A98 +L042ABB ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + BIT $F6 + BPL L042ACE + BRL L042B48 +L042ACE LDA #$FF60 + STA $BA + JSR L0424AF + BRA L042ADB +L042AD8 JSR L0424F2 +L042ADB BCC L042AE0 + BRL L042B69 +L042AE0 LDY #$000E + LDA [$A2],Y + CMP L041ABE + BEQ L042AEC + BCS L042AD8 +L042AEC DEY + DEY + LDA [$A2],Y + BCC L042AF9 + CMP L041ABC + BEQ L042AF9 + BCS L042AD8 +L042AF9 LDY #$0008 + CLC + ADC [$A2],Y + PHA + LDY #$000E + LDA #$0000 + ADC [$A2],Y + TAX + PLA + SEC + SBC #$0001 + BCS L042B11 + DEX +L042B11 CPX L041ABE + BEQ L042B18 + BCS L042B1F +L042B18 BCC L042AD8 + CMP L041ABC + BCC L042AD8 +L042B1F DEY + DEY + LDA L041ABC + SEC + SBC [$A2],Y + TAX + INY + INY + LDA L041ABE + SBC [$A2],Y + BNE L042AD8 + PHX + TAX + PLA + LDY #$0004 + CLC + ADC [$A2],Y + BCS L042B97 + PHA + TXA + INY + INY + ADC [$A2],Y + TAY + PLA +L042B44 CLC +L042B45 JMP L041F34 + +L042B48 LDA L041ABE + BNE L042B5A + LDY #$0002 + LDA L041ABC + CMP #$C100 + BCC L042B97 + BRA L042B44 +L042B5A CMP #$00FE + BCC L042B97 + AND #$0001 + INC + TAY + LDA L041ABC + BRA L042B44 +L042B69 LDA $42 + BNE L042BA0 + SEC + LDA L041ABC + SBC $32 + PHA + LDA L041ABE + SEP #$20 + SBC $34 + REP #$20 + TAY + PLA + TYX + BNE L042B97 + BIT $5C + BMI L042B8A + CMP $3E + BCS L042B97 +L042B8A STY $BE + STA $BC + JSR L04250E + LDY $BE + LDA $BC + BCS L042B44 +L042B97 LDA L041ABC + LDY L041ABE + SEC + BRA L042B45 +L042BA0 LDY L041ABE + BEQ L042BAD + CPY $40 + BEQ L042BAF + BCC L042BAF + BRA L042B97 +L042BAD LDY $42 +L042BAF LDA L041ABC + CPY $42 + BNE L042B44 + BIT $5C + BMI L042B44 + CMP $3E + BCS L042B97 + BRA L042B44 +L042BC0 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$000A + JSR L041ED9 + LDA L041AC4 + STA $BE + LDA L041AC2 + STA $BC + LDA L041AC0 + STA $C2 + BNE L042BE4 + LDA $3E + SEC + SBC $BC + STA $C2 +L042BE4 LDA #$FF60 + STA $BA + JSR L041D06 + LDA $9A + STA $A2 + LDA $9C + STA $A4 +L042BF4 JSR L0424F2 + BCS L042C53 + LDY #$0004 + LDA [$A2],Y + SEC + SBC $BC + BEQ L042C40 + BPL L042C3C + EOR #$FFFF + INC + LDY #$0008 + CMP [$A2],Y + BCS L042BF4 + PHA + LDA [$A2],Y + CLC + LDY #$0004 + ADC [$A2],Y + PHA + PEA $0001 + PEA $0008 + JSL L041015 + PLA + PHA + CLC + LDY #$0004 + ADC [$A2],Y + PHA + PEA $0001 + PEA $0008 + JSL L041058 + PLA + STA [$A2],Y + BRA L042BF4 +L042C3C STA $C2 + BRA L042BF4 +L042C40 LDY #$000C + LDA L041ABC + STA [$A2],Y + INY + INY + LDA L041ABE + STA [$A2],Y + CLC +L042C50 JMP L041F34 + +L042C53 JSR L041E60 + BCS L042C50 + JSR L04266F + BCS L042C50 + JSR L0426A7 + LDY #$0002 + LDA #$0060 + STA [$A2],Y + PEI $BC + PEA $0001 + PEA $0010 + JSL L041058 + LDA $BC + ADC $C2 + PHA + PEA $0001 + PEA $0008 + JSL L041058 + BRA L042C40 +L042C85 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + LDA #$FF60 + STA $BA + JSR L04250E + BCS L042CDB + BVS L042CDE + LDA #$0000 + STA [$A2] + JSR L04268B + BCS L042CDB + LDA $42 + CMP $BE + BNE L042CDA + PEI $BC + PEA $0001 + PEA $0010 + JSL L041015 + LDY #$0008 + LDA [$A2],Y + CLC + ADC $BC + CMP $3E + BEQ L042CDA + PHA + PEA $0001 + PEA $0008 + JSL L041015 +L042CDA CLC +L042CDB JMP L041F34 + +L042CDE LDY #$0008 + LDA [$A2],Y + CLC + ADC $BC + CMP $3E + BEQ L042CF5 + PHA + PEA $0001 + PEA $0008 + JSL L041015 +L042CF5 LDY #$0004 + LDA $BC + SEC + SBC [$A2],Y + LDY #$0008 + STA [$A2],Y + CLC + ADC $BC + PHA + PEA $0001 + PEA $0008 + JSL L041058 + BRA L042CDA +L042D12 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + LDA #$FF60 + STA $BA + JSR L04250E + BCS L042D40 + TAX + LDY #$000C + LDA [$A2],Y + PHA + INY + INY + LDA [$A2],Y + TAY + PLA + CLC +L042D40 JMP L041F34 + +L042D43 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L041ED9 + LDA L041ABE + STA $BC + LDA L041AC0 + STA $BE + LDA #$FF61 + STA $BA + JSR L04250E + BVS L042D8A +L042D63 LDY #$000C + LDA L041ABC + STA [$A2],Y + LDY #$0002 + LDA #$0061 + STA [$A2],Y + PEI $BC + LDA L041ABC + PHA + PEA ^L04121A + PEA L04121A + LDX #$0004 + JSL L041F18 + CLC +L042D87 JMP L041F34 + +L042D8A JSR L041E60 + BCS L042D87 + JSR L04266F + BCS L042D87 + LDA #$0001 + STA $C2 + JSR L0426A7 + BRA L042D63 +L042D9E ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + LDA #$FF61 + STA $BA + JSR L04250E + BCS L042DD5 + LDA #$0000 + STA [$A2] + JSR L04268B + PEI $BC + PEA ^L0411D0 + PEA L0411D0 + LDX #$0002 + JSL L041F18 +L042DD5 CLC + JMP L041F34 + +L042DD9 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + LDA #$FF61 + STA $BA + JSR L04250E + BCS L042DFE + LDY #$000C + LDA [$A2],Y +L042DFE JMP L041F34 + +L042E01 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L041ED9 + LDA #$FF64 + STA $BA + JSR L041D06 + BCS L042E89 + LDA L041ABE + STA $BC + LDA L041AC0 + STA $BE + LDA $3E + SEC + SBC $BC + STA $C2 + JSR L0424AF + BRA L042E30 +L042E2D JSR L0424F2 +L042E30 BCS L042E8C + LDY #$0006 + LDA [$A2],Y + EOR $BE + BNE L042E2D + DEY + DEY + LDA [$A2],Y + CMP $BC + BEQ L042E80 + BCS L042E75 + LDY #$0008 + CLC + ADC [$A2],Y + BEQ L042E55 + BCS L042E55 + CMP $BC + BEQ L042E2D + BCC L042E2D +L042E55 TAX + LDY #$0004 + LDA $BC + SBC [$A2],Y + LDY #$0008 + STA [$A2],Y + LDA $BE + EOR $42 + BNE L042E2D + PHX + PEA $0001 + PEA $0004 + JSL L041015 + BRA L042E2D +L042E75 SEC + SBC $BC + CMP $C2 + BCS L042E2D + STA $C2 + BRA L042E2D +L042E80 LDA L041ABC + LDY #$000A + STA [$A2],Y + CLC +L042E89 JMP L041F34 + +L042E8C JSR L041E60 + BCS L042E89 + JSR L04266F + BCS L042E89 + LDA $BE + EOR $42 + BNE L042EC7 + PEI $BC + PEA $0001 + PEA $0004 + JSL L041058 + LDA $BC + CLC + ADC $C2 + BEQ L042EBC + BCS L042EBC + PHA + PEA $0001 + PEA $0004 + JSL L041058 +L042EBC PEI $BC + PEI $C2 + PEA $0002 + JSL L041058 +L042EC7 JSR L0426A7 + LDA #$0064 + LDY #$0002 + STA [$A2],Y + BRA L042E80 +L042ED4 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA #$FF64 + STA $BA + JSR L041D06 + BCS L042F33 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + JSR L04250E + BCS L042F32 + BVC L042F36 + LDA $BE + EOR $42 + BNE L042F25 + LDY #$0004 + LDA [$A2],Y + CLC + LDY #$0008 + ADC [$A2],Y + SEC + SBC $BC + PEI $BC + PHA + PEA $0006 + JSL L041015 + PEI $BC + PEA $0001 + PEA $0004 + JSL L041058 +L042F25 SEC + LDY #$0004 + LDA $BC + SBC [$A2],Y + LDY #$0008 + STA [$A2],Y +L042F32 CLC +L042F33 JMP L041F34 + +L042F36 LDA #$0000 + STA [$A2] + JSR L04268B + BCS L042F33 + LDA $BE + EOR $42 + BNE L042F32 + LDY #$0004 + LDA [$A2],Y + PHA + LDY #$0008 + LDA [$A2],Y + PHA + PEA $0006 + JSL L041015 + BRA L042F33 +L042F5B PHB + PHK + PLB + PHP + REP #$30 + LDA $06,S + STA $BC + LDA $08,S + STA $BE + TAX + LDA $04,S + STA $08,S + LDA $02,S + STA $06,S + LDA $01,S + STA $05,S + TSC + CLC + ADC #$0004 + TCS + CPX $42 + BNE L042F8B + LDA $BC + JSL L0410BB + BIT #$0002 + BEQ L042FB7 +L042F8B LDA #$FF64 + STA $BA + JSR L04250E + BCS L042FB7 + LDY #$000A + LDA [$A2],Y +L042F9A PHP + AND #$00FF + SEP #$20 + PHA + LDA $02,S + AND #$CF + STA L042FB6 + LDA $03,S + AND #$30 + ORA L042FB6 + STA $03,S + PLA + PLP + PLP + PLB + RTL + +L042FB6 DB $00 +L042FB7 PEI $BE + PEI $BC + JSL L042A5C + TYA + SEP #$40 + BRA L042F9A + MX %00 +L042FC4 STA L042FF4 + STZ L042FF6 + LDX #$0008 +L042FCD LDA #$0000 + ASL L042FF4 + ROL + ASL L042FF4 + ROL + ADC L042FF6 + STA L042FF6 + DEX + BNE L042FCD + LDA L042FF6 + BEQ L042FEF + CMP #$0003 + BEQ L042FEF + BCS L042FC4 + SEC + RTS + +L042FEF LDA #$0000 + CLC + RTS + +L042FF4 DB $00 + DB $00 +L042FF6 DB $00 + DB $00 +L042FF8 STA L043063 + SEC + LDY #$0004 + SBC [$A2],Y + STA L043065 + LDY #$0008 + LDA [$A2],Y + STA L043067 + CPX #$0006 + BCS L043023 + LDA L04305D,X + AND #$00FF + STA L043067 + TXA + ASL + TAX + LDA L043065 + JMP (L043037,X) + +L043023 LDY #$0004 + LDA [$A2],Y + LDY L043067 + CLC + RTS + +L04302D CLC + LDY #$0004 + ADC [$A2],Y + LDY L043067 + RTS + +L043037 DA L04302D + DA L043043 + DA L043043 + DA L043043 + DA L04304B + DA L043053 + +L043043 BIT #$0001 + BEQ L04302D + DEC + BRA L04302D +L04304B BIT #$0003 + BEQ L04302D + DEC + BRA L04304B +L043053 PHA + JSR L042FC4 + PLA + BCC L04302D + DEC + BRA L043053 +L04305D DB $01 + DB $02 + DB $02 + DB $02 + DB $04 + DB $03 +L043063 DB $00 + DB $00 +L043065 DB $00 + DB $00 +L043067 DB $00 + DB $00 +L043069 ENT + BRL L043078 + DW $7771 + STR 'TSetConst' +L043078 PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041ABE + BNE L04308A + INC +L04308A STA $C2 + STA L0433DB + LDA L041AC0 + STA $BC + STA L0433D9 + STA L0433D7 + CLC + ADC $C2 + DEC + STA $C0 + LDA L041AC2 + STA $BE + LDX #$E020 + STX $BA + EOR $42 + BNE L0430C3 + LDA $BC +L0430B0 PHA + JSL L0410BB + BIT #$8000 + BNE L0430C2 + PLA + INC + CMP $C0 + BCC L0430B0 + BRA L0430DC +L0430C2 PLA +L0430C3 JSR L042594 + BRA L0430CB +L0430C8 JSR L042653 +L0430CB BCS L0430DC + PEI $A4 + PEI $A2 + JSR L043147 + PLA + STA $A2 + PLA + STA $A4 + BRA L0430C8 +L0430DC JSR L041E60 + BCS L043144 + JSR L0426A7 + LDY #$0002 + LDA L041ABC + AND #$001F + ORA #$0020 + STA [$A2],Y + JSR L04266F + BCS L043144 + LDA $BE + EOR $42 + BNE L04312C + PEI $BC + PEI $C2 + PEA $8000 + JSL L041058 + PEI $BC + PEI $C2 + PEA $0080 + JSL L041015 + BCS L043144 + LDA L0433D7 + JSL L0416F3 + PHA + PEA ^L0412B9 + PEA L0412B9 + LDX #$0002 + JSL L041F18 + BCS L043144 +L04312C LDA L0433D9 + STA $BC + LDA #$FC40 + STA $BA + JSR L04250E + BVS L043143 + LDY #$0008 + LDA L0433DB + STA [$A2],Y +L043143 CLC +L043144 JMP L041F34 + +L043147 STX L0433DD + STY L0433DF + STA L0433E1 + LDY #$000E +L043153 LDA [$A2],Y + STA L0433E7,Y + STA L0433F7,Y + STA L043407,Y + DEY + DEY + BPL L043153 + STZ L0433F7 + STZ L043407 + LDA #$0000 + STA [$A2] + JSR L04268B + LDX L0433EF + BEQ L043193 + LDA $BE + EOR $42 + BNE L043193 + LDA L0433EB + PHA + PHX + LDX #$8000 + LDA L0433E1 + CMP #$0006 + BCC L04318E + LDX #$8080 +L04318E PHX + JSL L041015 +L043193 LDA L0433DD + ORA L0433DF + BNE L04319C + RTS + +L04319C LDA L0433E1 + ASL + TAX + CMP #$000C + BCS L0431B1 + LDA L0433EF + CMP L043460,X + BEQ L0431B1 + BRL L043299 +L0431B1 LDA L0433DD + BEQ L0431F3 + DEC + CMP L043417,X + BCS L0431F3 + LDA L0433DD + STA L0433FF + STA L0433DB + LDA L0433FB + STA L0433D7 + STA L0433D9 + DEC L0433F7 + LDA L043417,X + BPL L0431DC + LDA #$0001 + STA L0433DD +L0431DC CLC + LDA L04346C,X + BEQ L0431F3 + ADC L0433DD + DEC + TAX + LDA |$0000,X + AND #$001F + ORA #$0020 + STA L0433F9 +L0431F3 LDA L0433E1 + ASL + TAX + LDA L0433DF + BEQ L04323C + DEC + CMP L043439,X + BCS L04323C + CLC + LDA L04340B + ADC L04340F + SEC + SBC L0433DF + STA L04340B + LDA L0433DF + STA L04340F + DEC L043407 + LDA L043439,X + BPL L043225 + LDA #$0001 + STA L0433DF +L043225 CLC + LDA L04346C,X + BEQ L04323C + ADC L0433DF + DEC + TAX + LDA |$0000,X + AND #$001F + ORA #$0020 + STA L043409 +L04323C LDA L0433F7 + BPL L04326A + JSR L041E60 + LDY #$000E +L043247 LDA L0433F7,Y + STA [$A2],Y + DEY + DEY + BPL L043247 + JSR L04266F + LDA $BE + EOR $42 + BNE L04326A + LDX L0433FF + BEQ L04326A + LDA L0433FB + PHA + PHX + PEA $8000 + JSL L041058 +L04326A LDA L043407 + BPL L043298 + JSR L041E60 + LDY #$000E +L043275 LDA L043407,Y + STA [$A2],Y + DEY + DEY + BPL L043275 + JSR L04266F + LDA $BE + EOR $42 + BNE L043298 + LDX L04340F + BEQ L043298 + LDA L04340B + PHA + PHX + PEA $8000 + JSL L041058 +L043298 RTS + +L043299 STZ L0433E3 + STZ L0433E5 + JMP (L0432A2,X) + +L0432A2 DA L0432AE + DA L043326 + DA L043326 + DA L043326 + DA L043357 + DA L043387 + +L0432AE LDA L0433DD + BEQ L0432C2 + STA L0433FF + STA L0433DB + LDA L0433FB + STA L0433D9 + DEC L0433F7 +L0432C2 CLC + LDA L04340B + ADC L04340F + SEC + SBC L0433DF + STA L04340B + LDA L0433DF + BEQ L0432DB + STA L04340F + DEC L043407 +L0432DB JSR L04323C + STZ L0433F7 + STZ L043407 + LDX L0433E3 + BEQ L043305 + STX L0433FF + CLC + LDA L0433FB + ADC L0433DD + STA L0433FB + STA L0433D7 + LDA L04345B,X + AND #$00FF + STA L0433F9 + DEC L0433F7 +L043305 LDX L0433E5 + BEQ L043323 + STX L04340F + SEC + LDA L04340B + SBC L0433E5 + STA L04340B + LDA L04345B,X + AND #$00FF + STA L043409 + DEC L043407 +L043323 BRL L04323C +L043326 LDA L0433DD + JSR L0433B7 + PHA + SEC + SBC L0433DD + EOR #$FFFF + INC + STA L0433E3 + PLA + STA L0433DD + LDA L0433DF + BEQ L043354 + JSR L0433B7 + PHA + SEC + SBC L0433DF + EOR #$FFFF + INC + STA L0433E5 + PLA + STA L0433DF +L043354 BRL L0432AE +L043357 LDA L0433DD + JSR L0433BE + PHA + SEC + SBC L0433DD + EOR #$FFFF + INC + STA L0433E3 + PLA + STA L0433DD + LDA L0433DF + BEQ L043354 + JSR L0433BE + PHA + SEC + SBC L0433DF + EOR #$FFFF + INC + STA L0433E5 + PLA + STA L0433DF + BRA L043354 +L043387 LDA L0433DD + JSR L0433C7 + PHA + SEC + SBC L0433DD + EOR #$FFFF + INC + STA L0433E3 + PLA + STA L0433DD + LDA L0433DF + BEQ L043354 + JSR L0433C7 + PHA + SEC + SBC L0433DF + EOR #$FFFF + INC + STA L0433E5 + PLA + STA L0433DF + BRA L043354 +L0433B7 BIT #$0001 + BEQ L0433BD + DEC +L0433BD RTS + +L0433BE BIT #$0003 + BEQ L0433C6 + DEC + BRA L0433BE +L0433C6 RTS + +L0433C7 PHA + JSR L042FC4 + BCC L0433D5 + SBC $01,S + EOR #$FFFF + INC + STA $01,S +L0433D5 PLA + RTS + +L0433D7 DB $00 + DB $00 +L0433D9 DB $00 + DB $00 +L0433DB DB $00 + DB $00 +L0433DD DB $00 + DB $00 +L0433DF DB $00 + DB $00 +L0433E1 DB $00 + DB $00 +L0433E3 DB $00 + DB $00 +L0433E5 DB $00 + DB $00 +L0433E7 DB $00 + DB $00 + DB $00 + DB $00 +L0433EB DB $00 + DB $00 + DB $00 + DB $00 +L0433EF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0433F7 DB $00 + DB $00 +L0433F9 DB $00 + DB $00 +L0433FB DB $00 + DB $00 + DB $00 + DB $00 +L0433FF DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L043407 DB $00 + DB $00 +L043409 DB $00 + DB $00 +L04340B DB $00 + DB $00 + DB $00 + DB $00 +L04340F DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L043417 DB $00 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $03 + DB $00 + DB $02 + DB $00 + DB $00 + DB $00 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L043439 DB $00 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $01 + DB $00 + DB $03 + DB $00 + DB $02 + DB $00 + DB $00 + DB $00 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $00 + DB $00 + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $FF + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L04345B DB $00 + DB $20 + DB $23 + DB $25 + DB $24 +L043460 DB $01 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $04 + DB $00 + DB $03 + DB $00 +L04346C DB $00 + DB $00 + DA L04348E + DA L04348F + DA L043490 + DA L043491 + DA L043494 + DA L043496 + DA L043497 + DA L043498 + DA L043499 + DA L04349A + DA L04349B + DA L04349C + DA L04349D + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L04348E DB $00 +L04348F DB $00 +L043490 DB $00 +L043491 DB $00 + DB $03 + DB $05 +L043494 DB $00 + DB $03 +L043496 DB $07 +L043497 DB $07 +L043498 DB $08 +L043499 DB $09 +L04349A DB $0A +L04349B DB $0B +L04349C DB $0C +L04349D DB $0D +L04349E ENT + BRL L0434AD + DW $7771 + STR 'TGetConst' +L0434AD PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + EOR $42 + BNE L0434D2 + LDA $BC + JSL L0410BB + BIT #$8000 + BEQ L0434ED +L0434D2 LDA #$E020 + STA $BA + JSR L04250E + BCS L0434EA + CPX #$0006 + BCC L0434F0 + PHA + LDY #$0008 + LDA [$A2],Y + TAY + PLA + CLC +L0434EA JMP L041F34 + +L0434ED SEC + BRA L0434EA +L0434F0 STA L04354F + STX L043553 + TXA + ASL + TAX + LDA L043557,X + STA L043555 + BVC L043510 + LDY #$0004 + LDA [$A2],Y + SEC + SBC $BC + EOR #$FFFF + INC + JMP (L04351C,X) + +L043510 LDX L043553 + LDA $BC + LDY L043555 + CLC + CLV + BRA L0434EA + +L04351C DA L043510 + DA L043528 + DA L043528 + DA L043528 + DA L043541 + DA L043548 + +L043528 AND #$0001 + BEQ L043510 +L04352D STA L043551 + LDY L043555 + LDX L043553 + LDA $BC + SEC + SBC L043551 + SEP #$40 + CLC + BRA L0434EA +L043541 AND #$0003 + BEQ L043510 + BRA L04352D +L043548 JSR L042FC4 + BCC L043510 + BRA L04352D +L04354F DB $00 + DB $00 +L043551 DB $00 + DB $00 +L043553 DB $00 + DB $00 +L043555 DB $00 + DB $00 +L043557 DB $01 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $02 + DB $00 + DB $04 + DB $00 + DB $03 + DB $00 +L043563 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $BC + LDA L041ABE + STA $BE + LDA #$E020 + STA $BA + JSR L04250E + BCS L0435B8 + LDA #$0000 + STA [$A2] + JSR L04268B + LDA $BE + EOR $42 + BNE L0435B8 + LDY #$0004 + LDA [$A2],Y + PHA + PHA + LDY #$0008 + LDA [$A2],Y + PHA + PEA $8000 + JSL L041015 + PLA + JSL L0416F3 + PHA + PEA ^L0412B9 + PEA L0412B9 + LDX #$0002 + JSL L041F18 +L0435B8 CLC + JMP L041F34 + + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $B6 + LDA L041ABE + STA $B8 + LDY #$0002 + LDA [$B6],Y + AND #$00E0 + STA $BA + JSR L041E60 + BCS L0435F8 + LDA #$FFFF + STA [$A2] + LDX #$0007 + LDY #$0000 +L0435EC LDA [$B6],Y + INY + INY + STA [$A2],Y + DEX + BNE L0435EC + JSR L04266F +L0435F8 JMP L041F34 + +L0435FB ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041ABC + STA $BA + LDA L041ABE + STA $C2 + LDA L041AC0 + STA $BC + LDA L041AC2 + STA $BE + JSR L041D06 + LDA $9A + STA $A2 + LDA $9C + STA $A4 +L043626 JSR L042653 + BCS L043632 + JSR L043636 + BCS L043633 + BRA L043626 +L043632 CLC +L043633 JMP L041F34 + +L043636 PHP + REP #$30 + LDY #$0003 + LDA [$A2],Y + AND #$00FF + BEQ L043657 + JSR L041EA4 + BCS L043657 + PEI $B4 + PEI $B2 + _DisposeHandle + STZ $B4 + STZ $B2 +L043657 LDA #$0000 + STA [$A2] + JSR L04268B + BCS L043664 + PLP + CLC + RTS + +L043664 PLP + SEC + RTS + +L043667 LDA [$A2] + BEQ L0436A6 + LDY #$0008 + LDA [$A2],Y + BNE L043673 + INC +L043673 STA $C2 + DEY + DEY + LDA [$A2],Y + STA $BE + DEY + DEY + LDA [$A2],Y + STA $BC + DEY + DEY + LDA [$A2],Y + TAX + AND #$001F + ASL + PHA + TXA + AND #$00E0 + LSR + LSR + LSR + LSR + TAX + LDA L0436AC,X + BEQ L0436A7 + CLC + ADC $01,S + PLX + TAX + LDA |$0000,X + BEQ L0436A8 + JSR ($0000,X) +L0436A6 RTS + +L0436A7 PLA +L0436A8 JSR L043636 + RTS + +L0436AC DA $0000 + DA L0436B4 + DA L0436D6 + DA L0436E2 + +L0436B4 DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + DA L0436F0 + +L0436D6 DA L043702 + DA L043702 + DA $0000 + DA $0000 + DA $0000 + DA $0000 + +L0436E2 DA L043714 + DA L043738 + DA L04375F + DA L04375F + DA L043726 + DA L04375F + DA L04374A + + MX %00 +L0436F0 PEI $BE + PEI $BC + PEA ^L043563 + PEA L043563 + LDX #$0004 + JSL L041F18 + RTS + +L043702 PEI $BE + PEI $BC + PEA ^L0429D3 + PEA L0429D3 + LDX #$0004 + JSL L041F18 + RTS + +L043714 PEI $BE + PEI $BC + PEA ^L042C85 + PEA L042C85 + LDX #$0004 + JSL L041F18 + RTS + +L043726 PEI $BE + PEI $BC + PEA ^L042ED4 + PEA L042ED4 + LDX #$0004 + JSL L041F18 + RTS + +L043738 PEI $BE + PEI $BC + PEA ^L042D9E + PEA L042D9E + LDX #$0004 + JSL L041F18 + RTS + +L04374A LDA $BE + EOR $42 + BNE L04375B + PEI $BC + PEI $C2 + PEA $0400 + JSL L041015 +L04375B JSR L043636 + RTS + +L04375F LDA $BE + EOR $42 + BNE L04375B + PEI $BC + PEI $C2 + PEA $1000 + JSL L041015 + BRA L04375B +L043772 ENT + CLC + HEX B0 +L043774 ENT + SEC + PHB + PHK + PLB + PHP + REP #$30 + LDA #$FF62 + BCS L043781 + INC +L043781 STA $BA + LDX #$000C + JSR L041ED9 + LDA L041AC2 + STA $C2 + LDA L041AC4 + STA $BC + LDA L041AC6 + STA $BE + JSR L04250E + BCC L0437A7 + JSR L041E60 + BCS L0437CE + JSR L04266F + BCS L0437CE +L0437A7 JSR L0426A7 + LDY #$0002 +L0437AD LDA $BA + AND #$00FF + STA [$A2],Y + LDY #$000A + LDA L041AC0 + STA [$A2],Y + INY + INY + LDA L041ABC + STA [$A2],Y + INY + INY + LDA L041ABE + STA [$A2],Y + JSR L0437D1 + CLC +L0437CE JMP L041F34 + +L0437D1 LDA $BE + EOR $42 + BNE L0437E2 + PEI $BC + PEI $C2 + PEA $1000 + JSL L041058 +L0437E2 CLC + RTS + +L0437E4 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0004 + JSR L041ED9 + LDA L041ABC + STA $AA + LDA L041ABE + STA $AC + ORA $AA + BEQ L04380F + LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + BNE L04380F + TXA + BNE L04380F + STZ $AA + STZ $AC +L04380F CLC + JMP L041F34 + +L043813 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA #$0065 + STA $BA + JSR L041E60 + BCS L043867 + JSR L04266F + BCS L043867 + LDA #$FFFF + STA [$A2] + LDY #$0002 + LDA #$0065 + STA [$A2],Y + INY + INY + LDA L041AC0 + STA $BC + STA [$A2],Y + INY + INY + LDA L041AC2 + STA $BE + STA [$A2],Y + INY + INY + LDA #$0002 + STA $C2 + STA [$A2],Y + INY + INY + LDA L041ABC + STA [$A2],Y + INY + INY + LDA L041ABE + STA [$A2],Y + JSR L0437D1 +L043867 JMP L041F34 + +L04386A ENT + BRL L04387B + DW $7771 + STR 'TAddComment' +L04387B PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA L041AC0 + STA $BC + LDA L041AC2 + STA $BE + LDA #$0001 + STA $C2 + LDA #$FF66 + STA $BA + LDA $BE + EOR $42 + BNE L0438B6 + LDA $BC + JSL L0410BB + BIT #$0400 + BEQ L0438BE +L0438B6 JSR L04250E + BCS L0438BE + JSR L043636 +L0438BE JSR L041E60 + BCS L04391B + JSR L04266F + BCS L04391B + LDA [$A6] + AND #$00FF + TAX + INX + LDY #$0000 + LDA #$0008 + JSR L041C50 + BCS L04391B + TYA + LDY #$000E + STA [$A2],Y + DEY + DEY + TXA + STA [$A2],Y + JSR L041EA4 + BCS L04391E + JSR L0426A7 + LDA [$A6] + AND #$00FF + PHA + XBA + ORA #$0066 + LDY #$0002 + STA [$A2],Y + PLY + SEP #$20 +L0438FF LDA [$A6],Y + STA [$B6],Y + DEY + BPL L0438FF + REP #$20 + LDA $BE + EOR $42 + BNE L04391A + PEI $BC + PEA $0001 + PEA $0400 + JSL L041058 +L04391A CLC +L04391B JMP L041F34 + +L04391E PEI $B4 + PEI $B2 + _DisposeHandle + SEC + BRA L04391B +L04392C ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041AC0 + STA $BC + LDA #$0001 + STA $C2 + LDA #$FF66 + STA $BA + LDA L041AC2 + STA $BE + EOR $42 + BNE L04395C + LDA $BC + JSL L0410BB + SEC + BIT #$0400 + BEQ L043977 +L04395C JSR L04250E + BCS L043977 + JSR L041EA4 + BCS L043977 + PEI $B8 + PEI $B6 + LDA L041ABE + PHA + LDA L041ABC + PHA + JSL L0307DD + CLC +L043977 JMP L041F34 + +L04397A ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$000A + JSR L041ED9 + LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA L041AC0 + STA $C2 + LDA L041AC2 + STA $BC + LDY L041AC4 + STY $BE + STZ $C4 + JSL L0410BB + STA L0439DD + BIT #$1000 + BEQ L0439C5 + JSR L044019 + BCS L0439B5 + BRL L043A2F +L0439B5 JSR L044017 + BCS L0439BD + BRL L043A51 +L0439BD JSR L04404D + BCC L0439DF + LDA L0439DD +L0439C5 BIT #$0800 + BEQ L0439D7 + JSR L043B44 + BCS L0439D7 +L0439CF BVS L0439D4 + BRL L043A4A +L0439D4 BRL L043A2F +L0439D7 JSR L044071 + BRL L043A4A +L0439DD BRK $00 +L0439DF LDX #$0002 + STX $C2 + STA L043AFB + STY L043AFD + BIT #$8000 + BNE L043A06 + TYA + CLC + ADC $BC + LDY $BE + JSR L043AFF + LDA #$00AD + JSR L043AEC + LDA #$00AA + JSR L043AEC + BRA L043A4D +L043A06 LDA #$00AA + JSR L043AEC + LDA #$00AB + BIT L043AFD + BPL L043A21 + LDA L043AFD + EOR #$FFFF + INC + STA L043AFD + LDA #$00AD +L043A21 JSR L043AEC + LDA L043AFD + LDY #$0000 + JSR L04433D + BRA L043A4D +L043A2F PHY + PHA + LDX #$0002 + CPY $42 + BEQ L043A39 + INX +L043A39 CPX $C2 + BCC L043A3F + STX $C2 +L043A3F JSR L043A77 + PLA + PLY + JSR L043AFF +L043A47 JSR L043ACC +L043A4A JSR L043A9A +L043A4D CLC + JMP L041F34 + +L043A51 PHY + PHA + PHY + PHA + JSR L043A77 + PEI $A8 + PEI $A6 + PEA ^L042885 + PEA L042885 + LDX #$0008 + JSL L041F18 + PLA + PLY + BCC L043A47 + LDX #$0003 + STX $C2 + JSR L04433D + BRA L043A47 +L043A77 SEP #$30 + LDA $C4 + BEQ L043A97 + LDY #$DE + CMP #$F0 + BEQ L043A89 + LDY #$BE + CMP #$F8 + BNE L043A97 +L043A89 SEP #$30 + PHY + LDA [$A6] + INC + STA [$A6] + TAY + PLA + STA [$A6],Y + STZ $C4 +L043A97 REP #$30 + RTS + +L043A9A SEP #$30 + LDY #$AA + LDA $C4 + BEQ L043A97 + BPL L043AA9 + LDY #$AF + AND #$FF + INC +L043AA9 PHA + JSR L043A89 + SEP #$10 + PLY + PHY + CPY #$04 + BCC L043ABC + LDY #$A4 + JSR L043A89 + SEP #$10 +L043ABC PLY + LDA #$00 + BRK $38 + ROL +L043AC2 ASL + DEY + BNE L043AC2 + JSR L042953 +L043AC9 REP #$30 + RTS + +L043ACC SEP #$30 + LDY #$AB + LDA $C5 + BEQ L043AC9 + BPL L043ADD + LDY #$AD + EOR #$FF + INC + STA $C5 +L043ADD TYA + JSR L043AEC + REP #$20 + LDA $C5 + AND #$00FF + JSR L042953 + RTS + +L043AEC PHP + SEP #$30 + PHA + LDA [$A6] + INC + STA [$A6] + TAY + PLA + STA [$A6],Y + PLP + RTS + +L043AFB DB $00 + DB $00 +L043AFD DB $00 + DB $00 +L043AFF PHP + REP #$30 + PHY + PHA + PHY + PHA + CPY $42 + BNE L043B19 + JSL L0410BB + BIT #$6000 + BNE L043B19 + PLA + PLY + PLA + PLY + BRA L043B30 +L043B19 PEI $A8 + PEI $A6 + PEA ^L0428B4 + PEA L0428B4 + LDX #$0008 + JSL L041F18 + PLA + PLY + BCS L043B30 + PLP + RTS + +L043B30 PHY + PHA + PEA ^L042A5C + PEA L042A5C + LDX #$0004 + JSL L041F18 + JSR L04433D + PLP + RTS + +L043B44 PHP + REP #$30 + LDA $AB + BNE L043B50 +L043B4B PLP + SEP #$40 + SEC + RTS + +L043B50 LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + TAY + BNE L043B5E + TXA + BEQ L043B4B +L043B5E STX $AE + STY $B0 + STZ $C0 +L043B64 LDA [$AE] + INC $AE + BNE L043B6C + INC $B0 +L043B6C AND #$00FF + BEQ L043B4B + CMP #$00E0 + BCS L043B8A + PHA + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + PLA + ADC $C0 + STA $C0 + BRA L043B64 +L043B8A ASL + TAX + JMP (L043B8F-$1C0,X) + +L043B8F DA L043BCF + DA L043BCF + DA L043BE8 + DA L043C38 + DA L043BCF + DA L043BCF + DA L043BCF + DA L043DA2 + DA L043BCF + DA L043BCF + DA L043BCF + DA L043DBB + DA L043DBB + DA L043DBB + DA L043DAA + DA L043BCF + DA L043DA2 + DA L043BCF + DA L043BCF + DA L043DBB + DA L043BCF + DA L043C10 + DA L043C66 + DA L043C97 + DA L043BCF + DA L043BCF + DA L043BCF + DA L043BCF + DA L043BCF + DA L043BCF + DA L043BCF + DA L043BCF +L043BCF PLP + SEP #$40 + SEC + RTS + +L043BD4 PLP + SEP #$40 + CLC + RTS + +L043BD9 CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + BRL L043B64 +L043BE8 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L043BF6 + LDA #$000A + BRA L043BD9 +L043BF6 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0006 + LDA [$AE],Y + LDY $BE + BRA L043BD4 +L043C10 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L043C1E + LDA #$0006 + BRA L043BD9 +L043C1E SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0004 + LDA [$AE],Y + LDY $BE + BRA L043BD4 +L043C38 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L043C46 + LDA #$000E + BRA L043BD9 +L043C46 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$000A + LDA [$AE],Y + PHA + DEY + DEY + LDA [$AE],Y + TAY + PLA + BRL L043BD4 +L043C66 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L043C75 + LDA #$0007 + BRL L043BD9 +L043C75 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0005 + LDA [$AE],Y + PHA + DEY + LDA [$AE],Y + AND #$00FF + TAY + PLA + BRL L043BD4 +L043C97 LDA [$AE] + DEC + STA L043D8D + LDA #$FF00 + STA L043D8F + LDY #$0002 + LDA [$AE],Y + BEQ L043CAD + BRL L043B4B +L043CAD LDY #$0004 + LDA [$AE],Y + AND #$00FF + STA L043D91 + LDA #$0005 + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 +L043CC7 DEC L043D8D + BPL L043CCF + BRL L043B64 +L043CCF LDA [$AE] + INC $AE + BNE L043CD7 + INC $B0 +L043CD7 AND #$00FF + CMP #$0080 + BCC L043CEC + AND #$007F + XBA + CLC + ADC L043D8F + STA L043D8F + BRA L043CC7 +L043CEC SEP #$20 + INC L043D90 + REP #$20 + TAX +L043CF4 DEC L043D8D + LDA [$AE] + INC $AE + BNE L043CFF + INC $B0 +L043CFF AND #$00FF + CLC + ADC L043D8F + CMP $BC + BEQ L043D0F + DEX + BPL L043CF4 + BRA L043CC7 +L043D0F LDX #$0002 + STX $C2 + TAY + LDA L043D91 + CMP #$001A + BCS L043D75 + CMP #$000E + BCS L043D5F + CMP #$0002 + BCS L043D48 + CMP #$0001 + BEQ L043D39 + SEP #$20 + STZ $C4 + REP #$20 + LDA [$3A],Y + LDY $BE + BRL L043BD4 +L043D39 SEP #$20 + STZ $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + LDY $BE + BRL L043BD4 +L043D48 SEP #$20 + STZ $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + PHA + INY + INY + LDA [$3A],Y + AND #$00FF + TAY + PLA + BRL L043BD4 +L043D5F SBC #$000D + PHA + CMP $42 + BEQ L043D69 + INC $C2 +L043D69 SEP #$20 + STZ $C4 + REP #$20 + LDA [$3A],Y + PLY + BRL L043BD4 +L043D75 SBC #$0019 + PHA + CMP $42 + BEQ L043D7F + INC $C2 +L043D7F SEP #$20 + LDA #$F0 + STA $C4 + REP #$20 + LDA [$3A],Y + PLY + BRL L043BD4 +L043D8D DB $00 + DB $00 +L043D8F DB $00 +L043D90 DB $00 +L043D91 DB $00 + DB $00 +L043D93 LDA [$AE] + AND #$00FF + INC + ADC $AE + STA $AE + BCC L043DA1 + INC $B0 +L043DA1 RTS + +L043DA2 JSR L043D93 + LDA #$0004 + BRA L043DD6 +L043DAA LDY #$0005 + LDA [$AE],Y + CMP $BC + BNE L043DCB + JSR L045923 + BVS L043DC8 +L043DB8 BRL L043BD4 +L043DBB LDA [$AE] + CMP $BC + BNE L043DD3 + JSR L04591F + BVS L043DD0 + BRA L043DB8 +L043DC8 BRL L043E22 +L043DCB LDA #$0007 + BRA L043DD6 +L043DD0 BRL L043E3E +L043DD3 LDA #$0003 +L043DD6 CLC + ADC $AE + STA $AE + BCC L043DDF + INC $B0 +L043DDF LDA [$AE] + INC $AE + BNE L043DE7 + INC $B0 +L043DE7 AND #$00FF + BEQ L043DFE + CMP #$0080 + BCC L043DDF + AND #$007F + BEQ L043DDF + CMP #$0008 + BCC L043E01 + PLP + SEC + RTS + +L043DFE BRL L043B64 +L043E01 ASL + TAX + JMP (L043E06,X) + +L043E06 DA $0000 + DA L043E16 + DA L043E1B + DA L043E1B + DA L043E1B + DA L043E1B + DA L043E1B + DA L043E16 + +L043E16 LDA #$0004 + BRA L043DD6 +L043E1B JSR L043D93 + BRA L043DDF +L043E20 DW $0000 +L043E22 BRL L043E31 + DW $7771 + STR ':RExpr_EA' +L043E31 LDA [$AE] + AND #$00FF + STA L043E20 + LDA #$0007 + BRA L043E5A +L043E3E BRL L043E4C + DW $7771 + STR ':Expr_EA' +L043E4C LDY #$0002 + LDA [$AE],Y + AND #$00FF + STA L043E20 + LDA #$0003 +L043E5A CLC + ADC $AE + STA $AE + BCC L043E63 + INC $B0 +L043E63 LDA [$AE] + AND #$00FF + BEQ L043E77 + CMP #$0080 + BCS L043E7B + INC $AE + BNE L043E75 + INC $B0 +L043E75 BRA L043E63 +L043E77 PLP + CLV + CLC + RTS + +L043E7B JSR L043F36 + BCC L043E83 + PLP + SEC + RTS + +L043E83 LDA [$AE] + INC $AE + BNE L043E8B + INC $B0 +L043E8B AND #$007F + ASL + TAX + JMP (L043E93,X) + +L043E93 DA L043EA3 + DA L043EB1 + DA L043F21 + DA L043F21 + DA L043F21 + DA L043F21 + DA L043F21 + DA L043F0B + +L043EA3 LDA #$0003 + STA $C2 + LDY $42 + LDA $BC + JSR L043AFF + BRA L043E63 +L043EB1 LDA L043FD3 + CMP #$0007 + BEQ L043F01 + LDA [$AE] + STA L043F07 + LDY #$0002 + LDA [$AE],Y + STA L043F09 + BPL L043EE3 + EOR #$FFFF + STA L043F09 + LDA #$FFFF + EOR L043F07 + INC + STA L043F07 + BNE L043EDD + INC L043F09 +L043EDD LDA #$00AD + JSR L043FEE +L043EE3 LDA #$0004 + STA $C2 + SEP #$30 + LDX #$03 +L043EEC LDA L043F07,X + BNE L043EF6 + DEC $C2 + DEX + BNE L043EEC +L043EF6 REP #$30 + LDY L043F09 + LDA L043F07 + JSR L04433D +L043F01 LDA #$0004 + BRL L043E5A +L043F07 BRK $00 +L043F09 BRK $00 +L043F0B LDA #$0002 + STA $C2 + LDY #$0002 + LDA [$AE],Y + TAY + LDA [$AE] + JSR L043AFF + LDA #$0004 + BRL L043E5A +L043F21 PEI $B0 + PEI $AE + PEI $A8 + PEI $A6 + JSL L0307DD + LDA [$AE] + AND #$00FF + INC + BRL L043E5A +L043F36 AND #$007F + CMP #$0008 + BCC L043F3F + RTS + +L043F3F ASL + TAX + JMP (L043F44,X) + +L043F44 DA L043F54 + DA L043F59 + DA L043F5E + DA L043F5E + DA L043F5E + DA L043F5E + DA L043F5E + DA L043F59 + +L043F54 LDY #$0001 + BRA L043F69 +L043F59 LDY #$0005 + BRA L043F69 +L043F5E LDY #$0001 + LDA [$AE],Y + AND #$00FF + INC + INC + TAY +L043F69 LDA [$AE],Y + AND #$00FF + BEQ L043F89 + CMP #$0080 + BCC L043F77 + CLC + RTS + +L043F77 STA L043FD3 + CMP #$0007 + BEQ L043F8B + TAX + LDA L043FD8,X + AND #$00FF + JSR L043FEE +L043F89 CLC + RTS + +L043F8B LDY #$0001 + LDA [$AE],Y + CMP #$FFF0 + BEQ L043FCB + CMP #$FFF8 + BEQ L043FC7 + STZ L043FD7 + STA L043FD5 + LDA [$AE],Y + BPL L043FA8 + EOR #$FFFF + INC +L043FA8 SEC +L043FA9 DEC + BMI L043FB1 + ROL L043FD7 + BRA L043FA9 +L043FB1 LDA #$00AA + BIT L043FD5 + BPL L043FBC + LDA #$00AF +L043FBC JSR L043FEE + LDA L043FD7 + JSR L042953 + CLC + RTS + +L043FC7 LDA #$00BE + HEX CF +L043FCB LDA #$00DE + JSR L043FFD + CLC + RTS + +L043FD3 DB $00 + DB $00 +L043FD5 DB $00 + DB $00 +L043FD7 DB $00 +L043FD8 DB $00 + ASC "+-*/?-|&.!????<>=&.!?" +L043FEE PHP + SEP #$30 + PHA + LDA [$A6] + INC + STA [$A6] + TAY + PLA + STA [$A6],Y + PLP + RTS + +L043FFD PHP + SEP #$30 + PHA + LDA [$A6] + INC + STA [$A6] + TAY + DEY +L044008 LDA [$A6],Y + INY + STA [$A6],Y + DEY + DEY + BNE L044008 + INY + PLA + STA [$A6],Y + PLP + RTS + +L044017 CLC + HEX B0 +L044019 SEC + PHP + REP #$30 + LDA #$FF62 + BCS L044023 + INC +L044023 STA $BA + JSR L04250E + BCS L04404A + BVS L04404A + LDY #$0008 + LDA [$A2],Y + AND #$00FF + STA $C2 + INY + INY + LDA [$A2],Y + STA $C4 + INY + INY + LDA [$A2],Y + PHA + INY + INY + LDA [$A2],Y + TAY + PLA + PLP + CLC + RTS + +L04404A PLP + SEC + RTS + +L04404D PHP + REP #$30 +L044050 LDA #$FF65 + STA $BA + JSR L04250E + BCS L04406E + SEP #$20 + STZ $C4 + REP #$20 + LDY #$000C + LDA [$A2],Y + PHA + DEY + DEY + LDA [$A2],Y + PLY + PLP + CLC + RTS + +L04406E PLP + SEC + RTS + +L044071 PHP + REP #$30 + LDA $BC + JSL L041993 + STA $C2 + LDA $BC + JSL L0410BB + ASL + BCS L0440A1 + LDY $BC + DEY + LDA [$3A],Y + AND #$001F + STA L0440AF + ASL + TAX + LDA [$3A],Y + LSR + LSR + LSR + LSR + LSR + AND #$0007 + JSR (L0440B1,X) + PLP + RTS + +L0440A1 JSR L0442E7 + STA L0442E3 + STY L0442E5 + JSR L0442C8 + PLP + RTS + +L0440AF DB $00 + DB $00 +L0440B1 DA L044156 + DA L04413D + DA L04416E + DA L04413D + DA L044112 + DA L04413D + DA L04413D + DA L04413D + DA L044111 + DA L04413D + DA L044111 + DA L044111 + DA L04418A + DA L0441C5 + DA L0441C5 + DA L044208 + DA L04421A + DA L04413D + DA L04413D + DA L04413D + DA L044112 + DA L04413D + DA L04413D + DA L04413D + DA L044111 + DA L0441C5 + DA L044111 + DA L044111 + DA L0441B1 + DA L0441C5 + DA L0441C5 + DA L044208 +L0440F1 DB $00 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $00 + DB $00 + DB $01 + DB $00 + DB $00 + DB $00 + DB $01 + DB $01 + DB $01 +L044111 RTS + +L044112 CMP #$0002 + BNE L04413D + LDA #$0003 + STA $C2 + STZ L0442E3 + INY + LDA [$3A],Y + PHA + XBA + AND #$00FF + STA L0442E5 + JSR L0442C8 + LDA #$00AC + JSR L0442D2 + PLA + AND #$00FF + STA L0442E5 + BRL L0442C8 +L04413D INY + LDA [$3A],Y + STA L0442E3 + STZ L0442E5 + LDA $C2 + CMP #$0002 + BNE L044150 + BRL L0442C8 +L044150 STZ L0442E4 + BRL L0442C8 +L044156 CMP #$0005 + BCS L04413D + CMP #$0001 + BEQ L044194 + CMP #$0000 + BEQ L04413D + CMP #$0004 + BNE L04416D + BRL L04421A +L04416D RTS + +L04416E CMP #$0000 + BEQ L04413D + CMP #$0001 + BNE L04417B + BRL L044208 +L04417B CMP #$0002 + BEQ L04413D + CMP #$0005 + BCS L044188 + BRL L04424E +L044188 BCS L04413D +L04418A CMP #$0002 + BEQ L044194 + CMP #$0003 + BNE L0441C5 +L044194 INY + LDA [$3A],Y + STA L0442E3 + PEI $42 + DEY + PHY + PEA ^L042A5C + PEA L042A5C + LDX #$0004 + JSL L041F18 + STY L0442E5 + BRL L044257 +L0441B1 CMP #$0002 + BEQ L044208 + CMP #$0003 + BEQ L044194 + CMP #$0006 + BEQ L044194 + CMP #$0007 + BEQ L044194 +L0441C5 INY + LDA [$3A],Y + STA L0442E3 + AND #$FF00 + BNE L0441D6 + LDA #$00FC + JSR L0442D2 +L0441D6 PEI $42 + DEY + PHY + PEA ^L042F5B + PEA L042F5B + LDX #$0004 + JSL L041F18 + STA L0442E5 + TAY + LDA L0442E3 + CMP #$C100 + BCS L044257 + CMP #$C000 + BCC L044257 + TYA + AND #$00FE + BEQ L044203 + EOR #$00E0 + BNE L044257 +L044203 STZ L0442E5 + BRA L044257 +L044208 INY + LDA [$3A],Y + STA L0442E3 + INY + INY + LDA [$3A],Y + AND #$00FF + STA L0442E5 + BRA L044257 +L04421A LDA #$0002 + STA $C2 + INY + LDA #$0000 + SEP #$20 + LDA [$3A],Y + REP #$20 + BPL L04422E + ORA #$FF00 +L04422E SEC + ADC $BC +L044231 LDY $42 + PHY + PHA + PHY + PHA + PEA ^L042A5C + PEA L042A5C + LDX #$0004 + JSL L041F18 + STA L0442E3 + STY L0442E5 + PLA + PLY + BRA L0442A1 +L04424E INY + LDA [$3A],Y + INC + SEC + ADC $BC + BRA L044231 +L044257 LDAL L0283C6 + BMI L044263 + LDAL L0283CA + BMI L044285 +L044263 LDA L0442E5 + PHA + LDA L0442E3 + PHA + PEA ^L042ABB + PEA L042ABB + LDX #$0004 + JSL L041F18 + BCC L0442A1 + LDX L0440AF + LDA L0440F1,X + AND #$00FF + BNE L0442C8 +L044285 LDA L0442E5 + PHA + LDA L0442E3 + PHA + PEI $A8 + PEI $A6 + PEA ^L042885 + PEA L042885 + LDX #$0008 + JSL L041F18 + BCS L0442C8 + RTS + +L0442A1 CPY $42 + BNE L0442B3 + PHY + PHA + JSL L0410BB + PLX + PLY + BIT #$6000 + BEQ L0442C8 + TXA +L0442B3 PHY + PHA + PEI $A8 + PEI $A6 + PEA ^L0428B4 + PEA L0428B4 + LDX #$0008 + JSL L041F18 + BCC L0442D1 +L0442C8 LDY L0442E5 + LDA L0442E3 + JSR L04433D +L0442D1 RTS + +L0442D2 PHY + PHP + SEP #$30 + PHA + LDA [$A6] + INC + STA [$A6] + TAY + PLA + STA [$A6],Y + PLP + PLY + RTS + +L0442E3 DB $00 +L0442E4 DB $00 +L0442E5 DB $00 + DB $00 +L0442E7 PHP + REP #$30 + LDY $BC + LDA [$3A],Y + PHA + INY + INY + LDA [$3A],Y + TAY + LDA $C2 + DEC + ASL + TAX + PLA + CPX #$0006 + BCS L044312 + JMP (L044302,X) + +L044302 DA L044308 + DA L04430B + DA L04430E + +L044308 AND #$00FF +L04430B LDY #$0000 +L04430E SEP #$10 + REP #$10 +L044312 PLP + CLC + RTS + +L044315 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$000A + JSR L041ED9 + LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA L041AC0 + STA $C2 + LDA L041AC2 + LDY L041AC4 + JSR L04433D + CLC + JMP L041F34 + +L04433D PHP + REP #$30 + LDX $C2 + BEQ L04439C + PHX + PHY + PHA + SEP #$30 + LDA [$A6] + INC + TAY + LDA #$A4 + STA [$A6],Y + TYA + STA [$A6] + REP #$30 + PLA + PLY + PLX + CPX #$0005 + BCC L044361 + LDX #$0004 +L044361 PHA + TXA + DEC + ASL + TAX + PLA + JMP (L04436A,X) + +L04436A DA L044395 + DA L04438B + DA L04437F + DA L044372 + +L044372 PHA + PHY + TYA + XBA + JSL L030837 + JSR L04439F + PLY + PLA +L04437F PHA + PHY + TYA + JSL L030837 + JSR L04439F + PLY + PLA +L04438B PHA + XBA + JSL L030837 + JSR L04439F + PLA +L044395 JSL L030837 + JSR L04439F +L04439C PLP + CLC + RTS + +L04439F PHA + LDA [$A6] + AND #$00FF + INC + TAY + PLA + STA [$A6],Y + TYA + INC + SEP #$20 + STA [$A6] + REP #$20 + RTS + +L0443B3 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $42 + STA $BE + STZ $BC + LDA #L0443E2 + STA $A6 + LDA #^L0443E2 + STA $A8 + STZ L044980 + JSR L04442B + JSR L044483 + LDA #$1000 + STA L044980 + JSR L044638 + JSR L0444DA + PLP + CLC + PLB + RTL + +L0443E2 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L04442B PHP + REP #$30 + LDA #$FF62 + STA $BA + JSR L0424AF + BRA L04444C +L044438 PLA + STA $A2 + PLA + STA $A4 + PLA + STA $9A + PLA + STA $9C + LDA #$FF62 + STA $BA + JSR L0424F2 +L04444C BCC L044450 + PLP + RTS + +L044450 PEI $9C + PEI $9A + PEI $A4 + PEI $A2 + LDY #$0004 + LDA [$A2],Y + STA $BC + INY + INY + LDY #$0006 + LDA [$A2],Y + EOR $42 + BNE L044438 + LDY #$000E + LDA [$A2],Y + PHA + DEY + DEY + LDA [$A2],Y + PLY + CPY $42 + BNE L04447E + JSR L044982 + BRA L044438 +L04447E JSR L044987 + BRA L044438 +L044483 PHP + REP #$30 + LDA #$FF65 + STA $BA + JSR L0424AF + BRA L0444A2 +L044490 PLA + STA $A2 + PLA + STA $A4 + PLA + STA $9A + PLA + STA $9C + PLA + STA $BA + JSR L0424F2 +L0444A2 BCS L0444D8 + PEI $BA + PEI $9C + PEI $9A + PEI $A4 + PEI $A2 + LDY #$0006 + LDA [$A2],Y + CMP $42 + BNE L044490 + DEY + DEY + LDA [$A2],Y + STA $BC + CLC + LDY #$000C + ADC [$A2],Y + PHA +L0444C4 JSL L0410BB + BIT #$6000 + BNE L0444D5 + PLA + LDY $42 + JSR L044982 + BRA L044490 +L0444D5 PLA + BRA L044490 +L0444D8 PLP + RTS + +L0444DA PHP + REP #$30 + JSL L040F4D + LDA #$0000 +L0444E4 STA L044577 + PHA + JSL L041719 + PLA + JSL L040586 + STA L044579 + CPY #$0000 + BNE L044520 + LDA L044577 + INC + JSL L0410BB + AND #$1800 + BNE L044520 + LDY L044577 + LDA [$3A],Y + AND #$001F + ASL + TAX + LDA [$3A],Y + LSR + LSR + LSR + LSR + LSR + AND #$0007 + INY + STY $BC + JSR (L044537,X) +L044520 LDA L044577 + CLC + ADC L044579 + BCS L044531 + BIT $5C + BMI L0444E4 + CMP $3E + BCC L0444E4 +L044531 JSL L040F73 + PLP + RTS + +L044537 DA L044580 + DA L04457F + DA L04458B + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04459B + DA L0445CB + DA L0445CB + DA L0445DD + DA L0445EE + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L04457F + DA L0445CB + DA L04457F + DA L04457F + DA L0445B7 + DA L0445CB + DA L0445CB + DA L0445DD +L044577 DB $00 + DB $00 +L044579 DB $00 + DB $00 +L04457B DB $00 + DB $00 +L04457D DB $00 + DB $00 +L04457F RTS + +L044580 CMP #$0001 + BEQ L0445A5 + CMP #$0004 + BEQ L0445EE + RTS + +L04458B CMP #$0001 + BEQ L0445DD + CMP #$0003 + BEQ L044606 + CMP #$0004 + BEQ L044606 + RTS + +L04459B CMP #$0002 + BEQ L0445A5 + CMP #$0003 + BNE L0445CB +L0445A5 LDA [$3A],Y + STA L04457B + PEI $42 + DEY + PHY + JSL L042A5C + STY L04457D + BRA L044611 +L0445B7 CMP #$0002 + BEQ L0445DD + CMP #$0003 + BEQ L0445A5 + CMP #$0006 + BEQ L0445A5 + CMP #$0007 + BEQ L0445A5 +L0445CB LDA [$3A],Y + STA L04457B + PEI $42 + DEY + PHY + JSL L042F5B + STA L04457D + BRA L044611 +L0445DD LDA [$3A],Y + STA L04457B + INY + INY + LDA [$3A],Y + AND #$00FF + STA L04457D + BRA L044611 +L0445EE LDA #$0000 + SEP #$20 + LDA [$3A],Y + REP #$20 + BPL L0445FC + ORA #$FF00 +L0445FC INC + INC + CLC + ADC L044577 +L044602 LDY $42 + BRA L04462D +L044606 LDA [$3A],Y + INC + INC + INC + CLC + ADC L044577 + BRA L044602 +L044611 LDAL L0283C6 + BMI L04461E + LDAL L0283CA + BPL L04461E + RTS + +L04461E LDA L04457D + PHA + LDA L04457B + PHA + JSL L042ABB + BCC L04462D + RTS + +L04462D PHY + PHA + JSL L0416D7 + PLY + JSR L044982 + RTS + +L044638 PHP + REP #$30 + LDA $AA + ORA $AC + BNE L044643 +L044641 PLP + RTS + +L044643 LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + TAY + BNE L044651 + TXA + BEQ L044641 +L044651 STX $AE + STY $B0 + STZ $C0 + LDA #$0003 + STA $C2 +L04465C LDA [$AE] + INC $AE + BNE L044664 + INC $B0 +L044664 AND #$00FF + BEQ L044641 + CMP #$00E0 + BCS L044682 + PHA + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + PLA + ADC $C0 + STA $C0 + BRA L04465C +L044682 ASL + TAX + JMP (L044687-$1C0,X) + +L044687 DA L0446C7 + DA L0446C7 + DA L0446DB + DA L044707 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L04481E + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L04482E + DA L04482E + DA L04482E + DA L044826 + DA L0446C7 + DA L04481E + DA L0446C7 + DA L0446C7 + DA L04482E + DA L0446C7 + DA L0446F1 + DA L044722 + DA L044740 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L0446C7 + DA L0446C7 + +L0446C7 PLP + RTS + + PLP + CLC + RTS + +L0446CC CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + BRL L04465C +L0446DB LDY #$0002 + LDA [$AE],Y + STA $BC + LDY #$0006 + LDA [$AE],Y + LDY $42 + JSR L044982 + LDA #$000A + BRA L0446CC +L0446F1 LDY #$0002 + LDA [$AE],Y + STA $BC + LDY #$0004 + LDA [$AE],Y + LDY $42 + JSR L044982 + LDA #$0006 + BRA L0446CC +L044707 LDY #$0002 + LDA [$AE],Y + STA $BC + LDY #$000A + LDA [$AE],Y + PHA + DEY + DEY + LDA [$AE],Y + TAY + PLA + JSR L044987 + LDA #$000E + BRA L0446CC +L044722 LDY #$0002 + LDA [$AE],Y + STA $BC + LDY #$0005 + LDA [$AE],Y + PHA + DEY + LDA [$AE],Y + AND #$00FF + TAY + PLA + JSR L044987 + LDA #$0007 + BRL L0446CC +L044740 LDA [$AE] + DEC + STA L044809 + LDA #$FF00 + STA L04480B + LDY #$0002 + LDA [$AE],Y + BEQ L044756 + BRL L044641 +L044756 LDY #$0004 + LDA [$AE],Y + AND #$00FF + STA L04480D + LDA #$0005 + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 +L044770 DEC L044809 + BPL L044778 + BRL L04465C +L044778 LDA [$AE] + INC $AE + BNE L044780 + INC $B0 +L044780 AND #$00FF + CMP #$0080 + BCC L044795 + AND #$007F + XBA + CLC + ADC L04480B + STA L04480B + BRA L044770 +L044795 SEP #$20 + INC L04480C + REP #$20 + TAX +L04479D DEC L044809 + LDA [$AE] + INC $AE + BNE L0447A8 + INC $B0 +L0447A8 AND #$00FF + CLC + ADC L04480B + STA $BC + PHX + JSR L0447BB + PLX + DEX + BPL L04479D + BRA L044770 +L0447BB TAY + LDA L04480D + CMP #$001A + BCS L0447FE + CMP #$000E + BCS L0447F3 + CMP #$0002 + BCS L0447E3 + CMP #$0001 + BEQ L0447DB + LDA [$3A],Y + LDY $42 + JSR L044982 + RTS + +L0447DB LDA [$3A],Y + LDY $BE + JSR L044982 + RTS + +L0447E3 LDA [$3A],Y + PHA + INY + INY + LDA [$3A],Y + AND #$00FF + TAY + PLA + JSR L044987 + RTS + +L0447F3 SBC #$000D + PHA + LDA [$3A],Y + PLY + JSR L044987 + RTS + +L0447FE SBC #$0019 + PHA + LDA [$3A],Y + PLY + JSR L044987 + RTS + +L044809 DB $00 + DB $00 +L04480B DB $00 +L04480C DB $00 +L04480D DB $00 + DB $00 +L04480F LDA [$AE] + AND #$00FF + INC + ADC $AE + STA $AE + BCC L04481D + INC $B0 +L04481D RTS + +L04481E JSR L04480F + LDA #$0004 + BRA L044836 +L044826 LDY #$0005 + LDX #$0007 + BRA L044893 +L04482E LDY #$0000 + LDX #$0003 + BRA L044893 +L044836 CLC + ADC $AE + STA $AE + BCC L04483F + INC $B0 +L04483F LDA [$AE] + INC $AE + BNE L044847 + INC $B0 +L044847 AND #$00FF + BEQ L04485D + CMP #$0080 + BCC L04483F + AND #$007F + BEQ L04483F + CMP #$0008 + BCC L044860 + PLP + RTS + +L04485D BRL L04465C +L044860 ASL + TAX + JMP (L044865,X) + +L044865 DA $0000 + DA L044875 + DA L04487A + DA L04487A + DA L04487A + DA L04487A + DA L04487A + DA L044875 + +L044875 LDA #$0004 + BRA L044836 +L04487A JSR L04480F + BRA L04483F +L04487F BIT L04496E + BPL L04485D + LDA L044978 + BNE L04485D + LDA L044976 + LDY $42 + JSR L044982 + BRA L04485D +L044893 LDA [$AE],Y + STA L044970 + STZ L044972 + STZ L04496E + STZ L044974 + STZ L04497A + TXA +L0448A5 CLC + ADC $AE + STA $AE + BCC L0448AE + INC $B0 +L0448AE LDA [$AE] + INC $AE + BNE L0448B6 + INC $B0 +L0448B6 AND #$00FF + BEQ L04487F + CMP #$0080 + BCC L044929 + AND #$007F + CMP #$0008 + BCC L0448CA + PLP + RTS + +L0448CA ASL + TAX + JMP (L0448CF,X) + +L0448CF DA L0448DF + DA L0448F6 + DA L04487A + DA L04487A + DA L04487A + DA L04487A + DA L04487A + DA L0448F0 + +L0448DF LDX L044970 + LDY L044972 + STZ L04496C + LDA #$FFFF + STA L04496E + BRA L044905 +L0448F0 LDA #$FFFF + STA L04496E +L0448F6 LDA [$AE] + TAX + LDY #$0002 + LDA [$AE],Y + TAY + LDA #$0004 + STA L04496C +L044905 BIT L044974 + BPL L04491B + STX L04497C + STY L04497E + LDA #$FFFF + STA L04497A +L044916 LDA L04496C + BRA L0448A5 +L04491B STX L044976 + STY L044978 + LDA #$FFFF + STA L044974 + BRA L044916 +L044929 BIT L04497A + BMI L044931 +L04492E BRL L04483F +L044931 CMP #$0007 + BEQ L044966 + CMP #$0001 + BEQ L044953 + CMP #$0002 + BNE L04492E + SEC + LDA #$0000 + SBC L04497C + STA L04497C + LDA #$0000 + SBC L04497E + STA L04497E +L044953 CLC + LDA L04497C + ADC L044976 + STA L044976 + LDA L04497E + ADC L044978 + STA L044978 +L044966 STZ L04497A + BRL L0448AE +L04496C DB $00 + DB $00 +L04496E DB $00 + DB $00 +L044970 DB $00 + DB $00 +L044972 DB $00 + DB $00 +L044974 DB $00 + DB $00 +L044976 DB $00 + DB $00 +L044978 DB $00 + DB $00 +L04497A DB $00 + DB $00 +L04497C DB $00 + DB $00 +L04497E DB $00 + DB $00 +L044980 DB $00 + DB $00 +L044982 LDX #$0000 + BRA L04498A +L044987 LDX #$0001 +L04498A STX L044A2B + PHY + PHA + PHY + PHA + LDA $BC + JSL L0410BB + BIT L044980 + BEQ L04499F + BRL L044A26 +L04499F PLA + PLY + PHY + PHA + CPY $42 + BEQ L0449CC + PHY + PHA + LDA #$0000 + STA [$A6] + PEI $A8 + PEI $A6 + JSL L0428B4 + BCS L0449DD + CPX L044A2B + BEQ L044A26 + LDY #$0002 + LDA [$A2],Y + AND #$FFE0 + ORA L044A2B + STA [$A2],Y + BRA L044A26 +L0449CC JSL L0416F3 + STA $01,S + STA $05,S + JSL L0410BB + BIT #$6000 + BNE L044A26 +L0449DD LDA #$0000 + STA [$A6] + JSL L042A5C + LDX #$0002 + BIT $CE + BMI L0449F0 + INX + BRA L0449F8 +L0449F0 PHA + TXA + CLC + ADC L044A2B + TAX + PLA +L0449F8 STX $C2 + JSR L04433D + SEP #$30 + LDA #$CC + LDY #$01 + STA [$A6],Y + REP #$30 + LDA $03,S + CMP $42 + BEQ L044A12 + LDA #$0001 + BRA L044A18 +L044A12 PLA + PHA + JSL L041993 +L044A18 PHA + LDA L044A2B + PHA + PEI $A8 + PEI $A6 + JSL L042748 + RTS + +L044A26 PLA + PLY + PLA + PLY + RTS + +L044A2B DB $00 + DB $00 +L044A2D ENT + PHP + REP #$30 + LDA #$FE40 + STA $BA + JSR L0424AF + BRA L044A3D +L044A3A JSR L0424F2 +L044A3D BCS L044A6E + LDY #$0006 + LDA [$A2],Y + EOR $42 + BNE L044A3A + DEY + DEY + LDA [$A2],Y + PHY + JSL L0416F3 + PLY + EOR [$A2],Y + BEQ L044A3A + LDA [$A2],Y + PHA + LDY #$0008 + LDA [$A2],Y + BNE L044A61 + INC +L044A61 PHA + PEA $6000 + JSL L041015 + JSR L043636 + BCC L044A3A +L044A6E PLP + CLC + RTL + +L044A71 ENT + PHB + PHK + PLB + PHP + REP #$30 + PEA $0000 + PEI $3E + PEA $6000 + JSL L041015 + LDA #$FE40 + STA $BA + JSR L0424AF + BRA L044A9F +L044A8D PLA + STA $A2 + PLA + STA $A4 + PLA + STA $9A + PLA + STA $9C + PLA + STA $BA +L044A9C JSR L0424F2 +L044A9F BCS L044B17 + LDY #$0006 + LDA [$A2],Y + STA $BE + EOR $42 + BNE L044A9C + PEI $BA + PEI $9C + PEI $9A + PEI $A4 + PEI $A2 + DEY + DEY + LDA [$A2],Y + STA $BC + JSL L0410BB + BIT #$8000 + BEQ L044AE0 + LDA #$E020 + STA $BA + JSR L04250E + BCS L044AD4 + LDA $BC + JSR L042FF8 +L044AD4 PHY + LDA $03,S + STA $A2 + LDA $05,S + STA $A4 + PLA + BCC L044AF7 +L044AE0 LDA $BC + JSL L041719 + LDY #$0004 + LDA [$A2],Y + TAY + LDA [$3A],Y + AND #$00FF + JSL L04037A + INY + TYA +L044AF7 LDY #$0008 + STA [$A2],Y + PEI $BC + PHA + LDX #$4000 + LDY #$0002 + LDA [$A2],Y + AND #$001F + BEQ L044B0F + LDX #$6000 +L044B0F PHX + JSL L041058 + BRL L044A8D +L044B17 PLP + PLB + CLC + RTL + +L044B1B ENT + PHB + PHK + PLB + PHP + REP #$30 + PHY + PHX + LDA $C7 + BEQ L044B41 + LDA $01,S + ORA $03,S + BNE L044B32 + PLX + PLY + BRL L044BCA +L044B32 LDA $C8 + PHA + LDA $C6 + PHA + _DisposeHandle + STZ $C7 +L044B41 LDA $01,S + ORA $03,S + BNE L044B4B + PLX + PLY + BRA L044B59 +L044B4B PLX + PLY + STX L044BFC + STY L044BFC+2 + STX L044C26 + STY L044C26+2 +L044B59 JSL GSOS + DW $2006 ; GetFileInfo + ADRL L044BFA + BCS L044BCA + LDY L044C1E+2 + STY L044C32+2 + LDX L044C1E + STX L044C32 + PHA + PHA + PHY + PHX + PEI $FC + PEA $8008 + PHA + PHA + _NewHandle + PLX + PLY + BCS L044BCA + STY $C8 + STX $C6 + PHB + PHY + PLB + LDA |$0000,X + STAL L044C2E + LDA |$0002,X + STAL L044C2E+2 + PLB + PLB + JSL GSOS + DW $2010 ; Open + ADRL L044C22 + BCS L044BDC + LDA L044C24 + STA L044C2C + STA L044C3C + JSL GSOS + DW $2012 ; Read + ADRL L044C2A + BCS L044BD9 + LDA #$0008 + LDY #$0004 + STA [$C6],Y + JSR L044BCE +L044BCA PLP + PLB + CLC + RTL + +L044BCE JSL GSOS + DW $2014 ; Close + ADRL L044C3A + RTS + +L044BD9 JSR L044BCE +L044BDC PEI $C8 + PEI $C6 + _DisposeHandle + STZ $C8 + STZ $C6 + BRA L044BCA +L044BED STRL '9:TFBD.Data' +L044BFA DW $0009 ; Parms for GetFileInfo +L044BFC ADRL L044BED ; file name + DW $0000 ; access + DW $0000 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 8 ; creation date + DS 8 ; modification date + ADRL $00000000 ; option list +L044C1E ADRL $00000000 ; end of file +L044C22 DW $0002 ; Parms for Open +L044C24 DW $0000 ; ref num +L044C26 ADRL L044BED ; path name +L044C2A DW $0004 ; Parms for Read +L044C2C DW $0000 ; ref num +L044C2E ADRL $00000000 ; buffer ptr +L044C32 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L044C3A DW $0001 ; Parms for Close +L044C3C DW $0000 ; ref num +L044C3E ENT + PHP + REP #$30 + JSR L044C50 + BCS L044C4D + LDY $CC + LDA $CA + PLP + CLC + RTL + +L044C4D PLP + SEC + RTL + +L044C50 PHP + REP #$30 + LDA $C8 + ORA $C6 + BEQ L044C6F + LDY #$0002 + LDA [$C6],Y + STA $CC + LDA [$C6] + STA $CA + ORA $CC + BEQ L044C6B + PLP + CLC + RTS + +L044C6B STZ $C6 + STZ $C8 +L044C6F PLP + SEC + RTS + +L044C72 ENT + PHP + REP #$30 + JSR L044C50 + BCC L044C7D + BRL L044CB4 +L044C7D PEI $CC + PEI $CA + TSC + INC + PHD + TCD + LDY #$0004 + LDA [$00],Y + CLC + ADC $00 + STA $00 + BCC L044C93 + INC $02 +L044C93 LDY #$0000 +L044C96 LDA [$00],Y + BEQ L044CB1 + CMP $0C + BNE L044CA1 + BRL L044CF0 +L044CA1 INY + INY + LDA [$00],Y + AND #$00FF + INC + PHY + CLC + ADC $01,S + PLY + TAY + BRA L044C96 +L044CB1 PLD + PLA + PLA +L044CB4 PEA ^L044D2A + PEA L044D2A + LDA $0B,S + STA $A8 + PHA + LDA $0B,S + STA $A6 + PHA + JSL L0307DD + LDA [$A6] + AND #$00FF + TAY + LDA $09,S + PHA + PHY + XBA + JSL L030837 + PLY + INY + STA [$A6],Y + INY + PLA + PHY + JSL L030837 + PLY + INY + STA [$A6],Y + INY + SEP #$30 + TYA + STA [$A6] + REP #$30 + BRA L044D19 +L044CF0 INY + INY + TYA + CLC + ADC $00 + STA $00 + BCC L044CFC + INC $02 +L044CFC PLD + LDA $0B,S + STA $A8 + PHA + LDA $0B,S + STA $A6 + PHA + SEP #$30 + LDA [$A6] + INC + STA [$A6] + TAY + LDA #$DF + STA [$A6],Y + REP #$30 + JSL L0307DD +L044D19 LDA $03,S + STA $09,S + LDA $01,S + STA $07,S + TSC + CLC + ADC #$0006 + TCS + PLP + CLC + RTL + +L044D2A STR "Tool $" +L044D31 PHP + REP #$30 + JSR L044C50 + BCS L044D55 + LDY $BE + LDA #$0003 + CPY #$00E1 + BEQ L044D58 + INC + CPY #$00E0 + BEQ L044D58 + INC + CPY #$0001 + BEQ L044D58 + INC + CPY #$0000 + BEQ L044D58 +L044D55 PLP + SEC + RTS + +L044D58 ASL + TAY + LDA [$CA],Y + ADC $CA + STA $CA + BCC L044D64 + INC $CC +L044D64 LDY #$0000 +L044D67 LDA [$CA],Y + BEQ L044D55 + CMP $BC + BEQ L044D94 + BCS L044D82 + INY + INY + LDA [$CA],Y + AND #$7FFF + DEY + DEY + CLC + ADC [$CA],Y + DEC + CMP $BC + BCS L044D94 +L044D82 INY + INY + INY + INY + LDA [$CA],Y + AND #$00FF + INC + PHY + CLC + ADC $01,S + PLY + TAY + BRA L044D67 +L044D94 TYA + CLC + ADC $CA + STA $CA + BCC L044D9E + INC $CC +L044D9E PEI $CC + CLC + LDA $CA + ADC #$0004 + PHA + BCC L044DAE + LDA $03,S + INC + STA $03,S +L044DAE PEI $A8 + PEI $A6 + JSL L0307DD + LDY #$0002 + LDA [$CA],Y + ORA #$8000 + STA [$CA],Y + LDA [$CA] + SEC + SBC $BC + BEQ L044DDE + EOR #$FFFF + INC + PHA + SEP #$30 + LDA [$A6] + INC + STA [$A6] + TAY + LDA #$AB + STA [$A6],Y + REP #$30 + PLA + JSR L042953 +L044DDE PLP + CLC + RTS + +L044DE1 PHP + REP #$30 + JSR L044C50 + BCC L044DEB + PLP + RTS + +L044DEB LDA #$0003 +L044DEE STA L044E34 + ASL + ADC #$0006 + TAY + PHD + PEI $CC + LDA [$CA],Y + ADC $CA + PHA + BCC L044E05 + LDA $03,S + INC + STA $03,S +L044E05 TSC + INC + TCD + LDY #$0000 +L044E0B LDA [$00],Y + BEQ L044E29 + INY + INY + LDA [$00],Y + AND #$7FFF + STA [$00],Y + INY + INY + LDA [$00],Y + AND #$00FF + INC + PHA + TYA + CLC + ADC $01,S + PLY + TAY + BRA L044E0B +L044E29 PLA + PLA + PLD + LDA L044E34 + DEC + BPL L044DEE + PLP + RTS + +L044E34 DB $00 + DB $00 +L044E36 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0006 + JSR L041ED9 + LDA L041ABC + STA $C2 + LDA L041ABE + STA $BC + CLC + ADC $C2 + DEC + STA $C0 + LDA L041AC0 + STA $BE + LDA #$E060 + STA $BA + JSR L0424AF + BRA L044E64 +L044E61 JSR L0424F2 +L044E64 BCS L044E96 + LDY #$0006 + LDA [$A2],Y + EOR $BE + BNE L044E61 + DEY + DEY + LDA [$A2],Y + CMP $C0 + BEQ L044E79 + BCS L044E61 +L044E79 CMP $BC + BCC L044E61 + PEI $BE + PEI $BC + PEI $C2 + PEI $C0 + JSR L043667 + PLA + STA $C0 + PLA + STA $C2 + PLA + STA $BC + PLA + STA $BE + BRA L044E61 +L044E96 LDA $BE + CMP $42 + BNE L044EA7 + PEI $BC + PEI $C2 + PEA $141F + JSL L041015 +L044EA7 CLC + BRL L041F34 +L044EAB ENT + PHB + PHK + PLB + PHP + REP #$30 + STZ L044F83 + LDA #$E020 +L044EB7 STA $BA + STZ L044F85 + JSR L0424AF + BRA L044EC4 +L044EC1 JSR L0424F2 +L044EC4 BCS L044F38 + LDA [$A2] + CMP #$FFFF + BNE L044F33 + LDY #$0002 + LDA [$A2],Y + EOR $BA + AND #$00E0 + BNE L044F33 + LDA $BA + AND #$00FF + LSR + LSR + LSR + LSR + TAX + LDA [$A2],Y + AND #$001F + CMP L044F87,X + BCS L044F33 + INY + LDA [$A2],Y + AND #$00FF + BEQ L044F29 + LDY #$000C + LDA [$A2],Y + TAX + INY + INY + LDA [$A2],Y + TAY + BNE L044F05 + TXA + BEQ L044F33 +L044F05 PHB + PHY + PLB + LDA |$0002,X + TAY + LDA |$0000,X + PLB + PLB + TAX + BNE L044F17 + TYA + BEQ L044F33 +L044F17 PHB + PHY + PLB + LDA |$0000,X + PLB + PLB + LDY #$0003 + EOR [$A2],Y + AND #$00FF + BNE L044F33 +L044F29 JSR L044F64 + BCS L044F33 + INC L044F85 + BRA L044EC1 +L044F33 JSR L043636 + BRA L044EC1 +L044F38 LDA $BA + PHA + AND #$00FF + LSR + LSR + LSR + LSR + TAX + LDA L044F85 + STA $82,X + CLC + ADC L044F83 + STA L044F83 + PLA + ADC #$0020 + CMP #$E080 + BCS L044F5B + BRL L044EB7 +L044F5B LDA L044F83 + STA $82 + PLP + PLB + CLC + RTL + +L044F64 LDY #$0002 + LDA [$A2],Y + PHA + AND #$00E0 + LSR + LSR + LSR + LSR + TAX + LDA L044F8F,X + TAX + PLA + AND #$001F + ASL + PHX + ADC $01,S + PLX + TAX + JMP ($0000,X) + +L044F83 DB $00 + DB $00 +L044F85 DB $00 + DB $00 +L044F87 DB $00 + DB $00 + DB $11 + DB $00 + DB $06 + DB $00 + DB $07 + DB $00 + +L044F8F DA $0000 + DA L044F97 + DA L044FB9 + DA L044FC5 + +L044F97 DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + DA L044FF2 + +L044FB9 DA L044FF9 + DA L044FF9 + DA L044FF9 + DA L04500A + DA L04501F + DA L04500A + +L044FC5 DA L04505C + DA L045048 + DA L045062 + DA L044FFE + DA L04506B + DA L045021 + DA L04505C + +L044FD3 LDY #$000E + LDA [$A2],Y + DEY + DEY + ORA [$A2],Y + CMP #$0001 + RTS + +L044FE0 JSR L044FD3 + BCS L045046 + JSR L044FE9 + RTS + +L044FE9 LDY #$000A + LDA [$A2],Y + CMP #$0001 + RTS + +L044FF2 JSR L044FE0 + BCS L045046 + BRA L045028 +L044FF9 JSR L044FE9 +L044FFC BCS L045046 +L044FFE LDY #$0008 + LDA [$A2],Y + BNE L045028 + INC + STA [$A2],Y + BRA L045028 +L04500A LDY #$0004 + LDA [$A2],Y + BNE L045046 + DEY + DEY + LDA [$A2],Y + AND #$FF00 + BNE L045046 + JSR L044FE9 + BCS L045046 +L04501F CLC + RTS + +L045021 LDY #$000E + LDA [$A2],Y + BNE L045046 +L045028 LDY #$0004 +L04502B LDA [$A2],Y + TAX + INY + INY + LDA [$A2],Y + TAY + CPY $40 + BEQ L045039 + BCS L045046 +L045039 TYA + EOR $42 + BNE L04501F + BIT $5C + BMI L04501F + CPX $3E + BCC L04501F +L045046 SEC + RTS + +L045048 LDY #$000C + LDA [$A2],Y + AND #$FFEE + INY + INY + ORA [$A2],Y + BNE L045046 + JSR L044FE9 + BCC L045028 + RTS + +L04505C JSR L044FE9 + BCC L045028 + RTS + +L045062 LDY #$000C + JSR L04502B + BCC L044FFE + RTS + +L04506B JSR L044FD3 + BCS L045046 + LDY #$000A + LDA [$A2],Y + AND #$FF00 + CMP #$0001 + BCC L045028 + RTS + +L04507E ENT + PHP + REP #$20 + CMP #$0001 + ROR $CE + PLP + CLC + RTL + +L045089 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041ABE + STA L045170 + LDA L041ABC + STA L04516E + LDX L041AC2 + STX $BE + LDA L041AC0 + STA $BC + STZ $C4 + CPX $42 + BEQ L0450B5 + SEC + BRL L041F34 +L0450B5 JSL L0410BB + STA L04516C + BIT #$1800 + BNE L0450CE + TAX + AND #$8080 + CMP #$0080 + BNE L0450CE +L0450CA SEC + BRL L041F34 +L0450CE TXA + BIT #$1000 + BEQ L0450E3 + JSR L044019 + BCC L0450F7 + JSR L044017 + BCC L04512B + JSR L04404D + BCC L045130 +L0450E3 LDA L04516C + BIT #$0800 + BEQ L0450F0 + JSR L04517C + BCC L0450F7 +L0450F0 JSR L0454D9 + BCS L0450CA + BRA L0450FA +L0450F7 LDX #$0000 +L0450FA STX L045172 + STA L045178 + STY L04517A + LDA $C4 + SEP #$30 + STA L045176 + REP #$30 + XBA + AND #$00FF + BIT #$0080 + BEQ L045118 + ORA #$FF00 +L045118 CLC + ADC L045178 + STA L045178 + LDA $C2 + STA L045174 + JSR L04513B + CLC + BRL L041F34 +L04512B LDX #$0003 + BRA L0450FA +L045130 CLC + TYA + ADC $BC + LDY $42 + LDX #$0002 + BRA L0450FA +L04513B PHD + LDA L045170 + PHA + LDA L04516E + PHA + TSC + TCD + LDA L045172 + STA [$01] + LDY #$0002 + LDA L045174 + STA [$01],Y + INY + INY + LDA L045176 + STA [$01],Y + INY + INY + LDA L045178 + STA [$01],Y + INY + INY + LDA L04517A + STA [$01],Y + PLA + PLA + PLD + RTS + +L04516C DB $00 + DB $00 +L04516E DB $00 + DB $00 +L045170 DB $00 + DB $00 +L045172 DB $00 + DB $00 +L045174 DB $00 + DB $00 +L045176 DB $00 + DB $00 +L045178 DB $00 + DB $00 +L04517A DB $00 + DB $00 +L04517C PHP + REP #$30 + LDA $AB + BNE L045186 +L045183 PLP + SEC + RTS + +L045186 LDY #$0002 + LDA [$AA] + TAX + LDA [$AA],Y + TAY + BNE L045194 + TXA + BEQ L045183 +L045194 STX $AE + STY $B0 +L045198 LDA [$AE] + INC $AE + BNE L0451A0 + INC $B0 +L0451A0 AND #$00FF + BEQ L045183 + CMP #$00E0 + BCS L0451B8 + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + BRA L045198 +L0451B8 ASL + TAX + JMP (L0451BD-$1C0,X) + +L0451BD DA L0451FD + DA L0451FD + DA L045212 + DA L045262 + DA L0451FD + DA L0451FD + DA L0451FD + DA L0453FD + DA L0451FD + DA L0451FD + DA L0451FD + DA L0453CF + DA L0453CF + DA L0453CF + DA L0453B5 + DA L0451FD + DA L0453FD + DA L0451FD + DA L0451FD + DA L0453CF + DA L0451FD + DA L04523A + DA L045290 + DA L0452C1 + DA L0451FD + DA L0451FD + DA L0451FD + DA L0451FD + DA L0451FD + DA L0451FD + DA L0451FD + DA L0451FD + +L0451FD PLP + SEC + RTS + +L045200 PLP + CLC + RTS + +L045203 CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 + BRL L045198 +L045212 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L045220 + LDA #$000A + BRA L045203 +L045220 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0006 + LDA [$AE],Y + LDY $BE + BRA L045200 +L04523A LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L045248 + LDA #$0006 + BRA L045203 +L045248 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0004 + LDA [$AE],Y + LDY $BE + BRA L045200 +L045262 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L045270 + LDA #$000E + BRA L045203 +L045270 SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$000A + LDA [$AE],Y + PHA + DEY + DEY + LDA [$AE],Y + TAY + PLA + BRL L045200 +L045290 LDY #$0002 + LDA [$AE],Y + CMP $BC + BEQ L04529F + LDA #$0007 + BRL L045203 +L04529F SEP #$20 + DEY + LDA [$AE],Y + STA $C4 + REP #$20 + DEY + LDA [$AE],Y + AND #$00FF + STA $C2 + LDY #$0005 + LDA [$AE],Y + PHA + DEY + LDA [$AE],Y + AND #$00FF + TAY + PLA + BRL L045200 +L0452C1 LDA [$AE] + DEC + STA L0453AF + LDA #$FF00 + STA L0453B1 + LDY #$0002 + LDA [$AE],Y + BEQ L0452D7 + BRL L045183 +L0452D7 LDY #$0004 + LDA [$AE],Y + AND #$00FF + STA L0453B3 + LDA #$0005 + CLC + ADC $AE + STA $AE + LDA #$0000 + ADC $B0 + STA $B0 +L0452F1 DEC L0453AF + BPL L0452F9 + BRL L045198 +L0452F9 LDA [$AE] + INC $AE + BNE L045301 + INC $B0 +L045301 AND #$00FF + CMP #$0080 + BCC L045316 + AND #$007F + XBA + CLC + ADC L0453B1 + STA L0453B1 + BRA L0452F1 +L045316 SEP #$20 + INC L0453B2 + REP #$20 + TAX +L04531E DEC L0453AF + LDA [$AE] + INC $AE + BNE L045329 + INC $B0 +L045329 AND #$00FF + CLC + ADC L0453B1 + CMP $BC + BEQ L045339 + DEX + BPL L04531E + BRA L0452F1 +L045339 LDX #$0002 + STX $C2 + TAY + LDA L0453B3 + CMP #$001A + BCS L04539B + CMP #$000E + BCS L045389 + CMP #$0002 + BCS L045372 + CMP #$0001 + BEQ L045363 + SEP #$20 + STZ $C4 + REP #$20 + LDA [$3A],Y + LDY $BE + BRL L045200 +L045363 SEP #$20 + STZ $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + LDY $BE + BRL L045200 +L045372 SEP #$20 + STZ $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + PHA + INY + INY + LDA [$3A],Y + AND #$00FF + TAY + PLA + BRL L045200 +L045389 SBC #$000D + PHA + SEP #$20 + STZ $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + PLY + BRL L045200 +L04539B SBC #$0019 + PHA + SEP #$20 + LDA #$F0 + STA $C4 + REP #$20 + INC $C2 + LDA [$3A],Y + PLY + BRL L045200 +L0453AF DB $00 + DB $00 +L0453B1 DB $00 +L0453B2 DB $00 +L0453B3 DB $00 + DB $00 +L0453B5 LDA [$AE] + AND #$00FF + STA $C2 + LDY #$0005 + LDA [$AE],Y + PHA + LDA #$0007 + JSR L0453F3 + PLA + CMP $BC + BEQ L04543D + BRA L04541B +L0453CF LDA [$AE] + PHA + LDY #$0002 + LDA [$AE],Y + AND #$00FF + STA $C2 + TYA + INC + JSR L0453F3 + PLA + CMP $BC + BEQ L04543D + BRA L04541B +L0453E8 LDA #$0004 + BRA L0453F3 +L0453ED LDA [$AE] + AND #$00FF + INC +L0453F3 CLC + ADC $AE + STA $AE + BCC L0453FC + INC $B0 +L0453FC RTS + +L0453FD JSR L0453ED + JSR L0453E8 + BRA L04541B + +L045405 DA L0453E8 + DA L0453ED + DA L0453ED + DA L0453ED + DA L0453ED + DA L0453ED + DA L0453E8 + +L045413 LDA L0454D5 + LDY $42 + PLP + CLC + RTS + +L04541B LDA [$AE] + INC $AE + BNE L045423 + INC $B0 +L045423 AND #$00FF + BNE L04542B + BRL L045198 +L04542B CMP #$0080 + BCC L04541B + AND #$007F + BEQ L04541B + DEC + ASL + TAX + JSR (L045405,X) + BRA L04541B +L04543D LDA [$AE] + AND #$00FF + CMP #$0080 + BCC L04541B + INC $AE + BNE L04544D + INC $B0 +L04544D AND #$007F + BEQ L045461 + DEC + BEQ L04545A + CMP #$0006 + BNE L045485 +L04545A LDA [$AE] + STA L0454D5 + BRA L045493 +L045461 LDA $BC + STA L0454D5 +L045466 LDA [$AE] + INC $AE + BNE L04546E + INC $B0 +L04546E AND #$00FF + BEQ L045413 + CMP #$0080 + BCC L045498 + AND #$007F + BEQ L04548E + DEC + BEQ L04548A + CMP #$0006 + BEQ L04548A +L045485 JSR L0453ED +L045488 BRA L04541B +L04548A LDA [$AE] + BRA L045490 +L04548E LDA $BC +L045490 STA L0454D7 +L045493 JSR L0453E8 + BRA L045466 +L045498 CMP #$0008 + BCS L045488 + DEC + ASL + TAX + JMP (L0454C7,X) + +L0454A3 SEP #$20 + LDA L0454D7 + STA $C5 + REP #$20 + BRA L045466 +L0454AE SEP #$20 + LDA L0454D7 + EOR #$FF + INC + STA $C5 + REP #$20 + BRA L045466 +L0454BC SEP #$20 + LDA L0454D7 + STA $C4 + REP #$20 + BRA L045466 + +L0454C7 DA L0454A3 + DA L0454AE + DA L04541B + DA L04541B + DA L04541B + DA L04541B + DA L0454BC + +L0454D5 DB $00 + DB $00 +L0454D7 DB $00 + DB $00 + +L0454D9 LDA $BC + JSL L041993 + STA $C2 + LDA $BC + JSL L0410BB + ASL + BCS L045508 + LDA $BC + JSL L0416F3 + TAY + LDA [$3A],Y + AND #$001F + STA L045527 + ASL + TAX + LDA [$3A],Y + LSR + LSR + LSR + LSR + LSR + AND #$0007 + JMP (L045529,X) + +L045508 JSR L0442E7 + STY L045683 + STA L045681 + LDX $C2 + CPX #$0002 + BCC L045522 + JSR L0455F8 + CPX #$0000 + BNE L045522 + CLC + RTS + +L045522 LDX #$0005 + CLC + RTS + +L045527 DB $00 + DB $00 +L045529 DA L04559F + DA L04559D + DA L0455B8 + DA L04559D + DA L04556B + DA L04559D + DA L04559D + DA L04559D + DA L045569 + DA L04559D + DA L045569 + DA L045569 + DA L0455D4 + DA L045633 + DA L045633 + DA L04564F + DA L045668 + DA L04559D + DA L04559D + DA L04559D + DA L04556B + DA L04559D + DA L04559D + DA L04559D + DA L045569 + DA L045633 + DA L045569 + DA L045569 + DA L04561F + DA L045633 + DA L045633 + DA L04564F + +L045569 SEC + RTS + +L04556B CMP #$0002 + BNE L04558F + SEP #$20 + LDA #$F0 + STA $C4 + STZ $C5 + REP #$20 + LDA #$0001 + STA $C2 + LDY $BC + LDA [$3A],Y + AND #$00FF + TAY + LDA #$0000 + LDX #$0003 + CLC + RTS + +L04558F INY + LDA [$3A],Y + AND #$00FF + LDY #$0000 + LDX #$0004 + CLC + RTS + +L04559D SEC + RTS + +L04559F CMP #$0005 + BCS L04559D + CMP #$0001 + BEQ L0455DE + CMP #$0000 + BEQ L04558F + CMP #$0004 + BNE L0455B6 + BRL L045668 +L0455B6 SEC + RTS + +L0455B8 CMP #$0000 + BEQ L04558F + CMP #$0001 + BNE L0455C5 + BRL L04564F +L0455C5 CMP #$0002 + BEQ L04558F + CMP #$0005 + BCS L0455D2 + BRL L045662 +L0455D2 BCS L04559D +L0455D4 CMP #$0002 + BEQ L0455DE + CMP #$0003 + BNE L045633 +L0455DE INY + LDA [$3A],Y + STA L045681 + PEI $42 + DEY + PHY + PEA ^L042A5C + PEA L042A5C + LDX #$0004 + JSL L041F18 + STY L045683 +L0455F8 LDY L045683 + LDA L045681 + PHY + PHA + PEA ^L042ABB + PEA L042ABB + LDX #$0004 + JSL L041F18 + BCS L045614 + LDX #$0001 + CLC + RTS + +L045614 LDY L045683 + LDA L045681 + LDX #$0003 + CLC + RTS + +L04561F CMP #$0002 + BEQ L04564F + CMP #$0003 + BEQ L0455DE + CMP #$0006 + BEQ L0455DE + CMP #$0007 + BEQ L0455DE +L045633 INY + LDA [$3A],Y + STA L045681 + PEI $42 + DEY + PHY + PEA ^L042F5B + PEA L042F5B + LDX #$0004 + JSL L041F18 + STA L045683 + BRA L0455F8 +L04564F INY + LDA [$3A],Y + STA L045681 + INY + INY + LDA [$3A],Y + AND #$00FF + STA L045683 + BRL L0455F8 +L045662 INY + LDA [$3A],Y + INC + BRA L045677 +L045668 INY + LDA #$0000 + SEP #$20 + LDA [$3A],Y + REP #$20 + BPL L045677 + ORA #$FF00 +L045677 SEC + ADC $BC + LDY $42 + LDX #$0001 + CLC + RTS + +L045681 DB $00 + DB $00 +L045683 DB $00 + DB $00 +L045685 PHP + REP #$30 + LDA #$E040 + STA $BA + JSR L0424AF + BRA L045695 +L045692 JSR L0424F2 +L045695 BCS L0456A3 + LDY #$000E + LDA [$A2],Y + AND #$7FFF + STA [$A2],Y + BRA L045692 +L0456A3 PLP + CLC + RTS + +L0456A6 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0002 + JSR L041ED9 + LDA L041ABC + STA $BE + STZ L045863 + LDA #$E040 + STA $BA + JSR L0424AF + BRA L0456C7 +L0456C4 JSR L0424F2 +L0456C7 BCS L04572F + LDY #$000E + LDA [$A2],Y + BPL L0456C4 + LDY #$0002 + LDA [$A2],Y + AND #$001F + BEQ L045723 + CMP #$0003 + BCS L0456EA + LDY #$0006 + LDA [$A2],Y + CMP $BE + BEQ L045723 + BRA L045707 +L0456EA LDX L045863 + INX + INX + INX + LDY #$0006 + LDA [$A2],Y + BEQ L0456F9 + INX + INX +L0456F9 DEY + DEY + LDA [$A2],Y + AND #$FF00 + BEQ L045704 + INX + INX +L045704 STX L045863 +L045707 LDY #$0003 + LDA [$A2],Y + AND #$00FF + BEQ L045723 + ADC #$0007 + ADC L045863 + CMP #$FF00 + BCS L04572F + STA L045863 + BCC L0456C4 + BRA L04572F +L045723 LDY #$000E + LDA [$A2],Y + AND #$7FFF + STA [$A2],Y + BRA L0456C4 +L04572F STZ L045867 + STZ L045869 + STZ L045865 + LDY #$0000 + LDX L045863 + BNE L045743 + BRL L0457C8 +L045743 LDA #$8008 + JSR L041C50 + BCC L04574E + BRL L0457CC +L04574E STX L045867 + STY L045869 + PHB + PHY + PLB + LDA |$0000,X + STA $A6 + LDA |$0002,X + STA $A8 + PLB + PLB + JSR L0424AF + BRA L04576B +L045768 JSR L0424F2 +L04576B BCS L0457AE + LDY #$000E + LDA [$A2],Y + BPL L045768 + JSR L041EA4 + BCS L045768 + LDY #$0002 + LDA [$A2],Y + AND #$001F + DEC + ASL + ASL + TAX + LDY L045865 + CMP #$000C + BCC L04579A + PHX + JSR L0457E4 + PLX + JSR L0457CF + JSR L0457FF + BRA L0457A0 +L04579A JSR L0457CF + JSR L0457E4 +L0457A0 SEP #$20 + LDA #$8D + STA [$A6],Y + INY + REP #$20 + STY L045865 + BRA L045768 +L0457AE LDX L045867 + LDY L045869 + PHY + PHX + PEA $0000 + LDA L045865 + PHA + PHY + PHX + _SetHandleSize + PLX + PLY +L0457C8 CLC + LDA L045865 +L0457CC JMP L041F34 + +L0457CF LDA #$00A0 + STA [$A6],Y + INY + LDA L04586B,X + STA [$A6],Y + INY + INY + LDA L04586B+2,X + STA [$A6],Y + INY + INY + RTS + +L0457E4 SEP #$20 + LDA [$B6] + STA L045861 + LDX #$0001 +L0457EE PHY + TXY + LDA [$B6],Y + PLY + STA [$A6],Y + INX + INY + DEC L045861 + BNE L0457EE + REP #$20 + RTS + +L0457FF PHY + LDY #$0006 + LDA [$A2],Y + PHA + PHA + PHA + _HexIt + PLA + PLA + ORA #$8080 + STA L04585B + LDY #$0004 + LDA [$A2],Y + PHA + PHA + PHA + _HexIt + PLA + ORA #$8080 + STA L04585D + PLA + ORA #$8080 + STA L04585F + PLY + LDA #$00A4 + STA [$A6],Y + INY + LDA L04585B + CMP #$B0B0 + BEQ L045847 + STA [$A6],Y + INY + INY +L045847 LDA L04585D + CMP #$B0B0 + BEQ L045853 + STA [$A6],Y + INY + INY +L045853 LDA L04585F + STA [$A6],Y + INY + INY + RTS + +L04585B DB $00 + DB $00 +L04585D DB $00 + DB $00 +L04585F DB $00 + DB $00 +L045861 DB $00 + DB $00 +L045863 DB $00 + DB $00 +L045865 DB $00 + DB $00 +L045867 DB $00 + DB $00 +L045869 DB $00 + DB $00 +L04586B ASC "EXT " + ASC "EXT " + ASC "EXD " + ASC "EQU " + ASC "EQU " + ASC "EQU " + ASC "EQU " +L045887 ENT + PHB + PHK + PLB + PHP + REP #$30 + LDX #$0008 + JSR L041ED9 + LDA L041ABC + STA $A6 + LDA L041ABE + STA $A8 + LDA L041AC0 + STA L045913 + LDY L041AC2 + STY L045911 + PHY + INC + PHA + PEA ^L045915 + PEA L045915 + PEA ^L045089 + PEA L045089 + LDX #$0008 + JSL L041F18 + JSR L0458F4 + LDY L045911 + PHY + LDA L045913 + PHA + PEA ^L045915 + PEA L045915 + PEA ^L045089 + PEA L045089 + LDX #$0008 + JSL L041F18 + JSR L0458E4 + CLC + JMP L041F34 + +L0458E4 LDA [$A6] + AND #$00FF + TAY + SEP #$20 + LDA #$AC + INY + STA [$A6],Y + TYA + STA [$A6] +L0458F4 REP #$20 + LDA #$0003 + STA $C2 + LDY L04591D + LDA L04591B + LDX L045915 + CPX #$0003 + BCS L04590D + JSR L043AFF + RTS + +L04590D JSR L04433D + RTS + +L045911 DB $00 + DB $00 +L045913 DB $00 + DB $00 +L045915 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L04591B DB $00 + DB $00 +L04591D DB $00 + DB $00 + +L04591F LDX #$0000 + HEX CF +L045923 LDX #$0006 + LDA $AE + STA L045A67 + LDA $B0 + STA L045A69 + LDA L04594D,X + TAY + LDA [$AE],Y + STA L045A73 + STZ L045A75 + LDA L04594F,X + TAY + LDA [$AE],Y + AND #$00FF + STA L045A71 + LDA L045951,X + BRA L045989 +L04594D DB $00 + DB $00 +L04594F DB $01 + DB $00 +L045951 DB $03 + DB $00 + DB $05 + DB $00 + DB $00 + DB $00 + DB $07 + DB $00 +L045959 LDA L045A67 + STA $AE + LDA L045A69 + STA $B0 + SEP #$40 + CLC + RTS + +L045967 BIT L045A6D + BPL L045959 + LDA L045A7D + BNE L045959 + SEP #$20 + LDA L045A6F + STA $C4 + STZ $C5 + REP #$20 + LDA L045A71 + STA $C2 + LDA L045A7B + LDY $42 + CLV + CLC + RTS + +L045989 STZ L045A6D + STZ L045A6F + STZ L045A79 + STZ L045A7F +L045995 CLC + ADC $AE + STA $AE + BCC L04599E + INC $B0 +L04599E LDA [$AE] + INC $AE + BNE L0459A6 + INC $B0 +L0459A6 AND #$00FF + BEQ L045967 + CMP #$0080 + BCC L045A1C + AND #$007F + CMP #$0008 + BCC L0459BD + JSR L045959 + SEC + RTS + +L0459BD ASL + TAX + JMP (L0459C2,X) + +L0459C2 DA L0459D2 + DA L0459E9 + DA L045959 + DA L045959 + DA L045959 + DA L045959 + DA L045959 + DA L0459E3 + +L0459D2 LDX L045A73 + LDY L045A75 + STZ L045A6B + LDA #$FFFF + STA L045A6D + BRA L0459F8 +L0459E3 LDA #$FFFF + STA L045A6D +L0459E9 LDA [$AE] + TAX + LDY #$0002 + LDA [$AE],Y + TAY + LDA #$0004 + STA L045A6B +L0459F8 BIT L045A79 + BPL L045A0E + STX L045A81 + STY L045A83 + LDA #$FFFF + STA L045A7F +L045A09 LDA L045A6B + BRA L045995 +L045A0E STX L045A7B + STY L045A7D + LDA #$FFFF + STA L045A79 + BRA L045A09 +L045A1C BIT L045A7F + BMI L045A24 +L045A21 BRL L045959 +L045A24 CMP #$0007 + BEQ L045A5F + CMP #$0001 + BEQ L045A46 + CMP #$0002 + BNE L045A21 + SEC + LDA #$0000 + SBC L045A81 + STA L045A81 + LDA #$0000 + SBC L045A83 + STA L045A83 +L045A46 CLC + LDA L045A81 + ADC L045A7B + STA L045A7B + LDA L045A83 + ADC L045A7D + STA L045A7D +L045A59 STZ L045A7F + BRL L04599E +L045A5F LDA L045A81 + STA L045A6F + BRA L045A59 +L045A67 DB $00 + DB $00 +L045A69 DB $00 + DB $00 +L045A6B DB $00 + DB $00 +L045A6D DB $00 + DB $00 +L045A6F DB $00 + DB $00 +L045A71 DB $00 + DB $00 +L045A73 DB $00 + DB $00 +L045A75 DB $00 + DB $00 + DB $00 + DB $00 +L045A79 DB $00 + DB $00 +L045A7B DB $00 + DB $00 +L045A7D DB $00 + DB $00 +L045A7F DB $00 + DB $00 +L045A81 DB $00 + DB $00 +L045A83 DB $00 + DB $00 + diff --git a/tfbd/KERNEL.X.S b/tfbd/KERNEL.X.S new file mode 100644 index 0000000..a131018 --- /dev/null +++ b/tfbd/KERNEL.X.S @@ -0,0 +1,21 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0283CA + EXT L0283C6 + EXT L0302E1 + EXT L0300E2 + EXT L03065A + EXT L030837 + EXT L0300EE + EXT L030670 + EXT L030314 + EXT L03022D + EXT L0302C3 + EXT L030823 + EXT L0307DD + EXT L030585 + EXT L030579 + EXT L0300F7 diff --git a/tfbd/MAKE.S b/tfbd/MAKE.S new file mode 100644 index 0000000..7e0b5ab --- /dev/null +++ b/tfbd/MAKE.S @@ -0,0 +1,27 @@ + +* Expansion linker file + + DSK TFBD + TYP S16 + +* Assemble files + + XPL + + ASM DISASM.S + KND $1000 + SNA Disasm + + ASM TEXT.S + KND $1000 + SNA Text + + ASM KERNEL.S + KND $1000 + SNA Kernel + + ASM SCRIPTS.S + KND $1000 + SNA Scripts + +* END diff --git a/tfbd/SCRIPTS.E.S b/tfbd/SCRIPTS.E.S new file mode 100644 index 0000000..e1fd273 --- /dev/null +++ b/tfbd/SCRIPTS.E.S @@ -0,0 +1,7 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 +GSOS2 EQU $E100B0 diff --git a/tfbd/SCRIPTS.S b/tfbd/SCRIPTS.S new file mode 100644 index 0000000..15592f0 --- /dev/null +++ b/tfbd/SCRIPTS.S @@ -0,0 +1,5083 @@ + +*---------------------------------------------------------* +* Disassembled with The Flaming Bird Disassembler * +* (c) Phoenix corp. 1992,93 - All rights reserved * +*---------------------------------------------------------* + + mx %00 + rel + lst off + +*----------------------- + + use 4/Mem.Macs + use 4/Util.Macs + + use SCRIPTS.E + use SCRIPTS.X + +*----------------------- + +L050000 DB $00 + DB $00 +L050002 DB $00 + DB $00 +L050004 DB $00 + DB $00 +L050006 DB $00 + DB $00 +L050008 DB $00 + DB $00 +L05000A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L050028 DB $00 + DB $00 +L05002A DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L050090 DB $00 +L050091 DB $00 +L050092 DB $00 +L050093 DB $00 +L050094 DB $00 + DB $00 +L050096 DB $00 + DB $00 +L050098 DB $00 + DB $00 +L05009A ADRL L0500AA + ADRL L040326 + ADRL L0500D3 + ADRL $00000000 + +L0500AA ASC "END" + ASC 'S' + ASC "I" + ASC 'F' + ASC "ELS" + ASC 'E' + ASC "FI" + ASC 'N' + ASC "G" + ASC 'O' + ASC "SCRIP" + ASC 'T' + ASC "EXE" + ASC 'C' + ASC "O" + ASC 'N' + ASC "REC" + ASC 'T' + ASC "CLEA" + ASC 'R' + ASC "ECH" + ASC 'O'00 + +L0500D3 ASC "M" + ASC 'X' + ASC "OR" + ASC 'G' + ASC "RE" + ASC 'L' + ASC "ERE" + ASC 'L' + ASC "DB" + ASC 'R' + ASC "OF" + ASC 'F' + ASC "CO" + ASC 'M'00 + +L0500E9 DB $00 + DB $00 +L0500EB DB $00 + DB $00 +L0500ED DB $00 + DB $00 +L0500EF DB $00 + DB $00 +L0500F1 DB $00 +L0500F2 DB $00 + +L0500F3 DW $0002 ; Parms for ExpandPath +L0500F5 ADRL $00000000 ; path name + ADRL L050141 ; new pathname + +L0500FD DW $0009 ; Parms for GetFileInfo + ADRL L050143 ; file name + DW $0000 ; access + DW $0000 ; file type + ADRL $00000000 ; aux type + DW $0000 ; storage + DS 8 ; creation date + DS 8 ; modification date + ADRL $00000000 ; option list +L050121 ADRL $00000000 ; end of file + +L050125 DW $0002 ; Parms for Open +L050127 DW $0000 ; ref num + ADRL L050143 ; path name + +L05012D DW $0004 ; Parms for Read +L05012F DW $0000 ; ref num +L050131 ADRL $00000000 ; buffer ptr +L050135 ADRL $00000000 ; request count +L050139 ADRL $00000000 ; transfer count + +L05013D DW $0001 ; Parms for Close +L05013F DW $0000 ; ref num +L050141 DB $00 + DB $01 +L050143 ENT + DB $00 + DB $00 +L050145 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L050245 PHP + REP #$30 + LDA $D0 + ORA $D2 + BEQ L050260 + LDY #$0002 + LDA [$D0] + STA $D4 + LDA [$D0],Y + STA $D6 + ORA $D4 + BEQ L050260 + PLP + CLC + RTS + +L050260 PLP + SEC + RTS + +L050263 PHP + REP #$30 + LDA $E0 + ORA $E2 + BEQ L05027E + LDY #$0002 + LDA [$E0] + STA $E4 + LDA [$E0],Y + STA $E6 + ORA $E4 + BEQ L05027E + PLP + CLC + RTS + +L05027E PLP + SEC + RTS + +L050281 BRK $00 +L050283 PHP + REP #$30 + LDA $D0 + ORA $D2 + BEQ L050299 + LDY #$0004 + LDA [$D0],Y + ORA #$8000 + STA [$D0],Y + DEC L050281 +L050299 PLP + RTS + + PHP + REP #$30 + LDA $D0 + ORA $D2 + BEQ L0502B3 + INC L050281 + BNE L0502B3 + LDY #$0004 + LDA [$D0],Y + AND #$7FFF + STA [$D0],Y +L0502B3 PLP + RTS + +L0502B5 PHP + REP #$30 + LDA $E2 + ORA $E0 + BEQ L0502D0 + PEI $E2 + PEI $E0 + _DisposeHandle + STZ $E2 + STZ $E0 + STZ L0500E9 +L0502D0 PLP + CLC + RTS + +L0502D3 PHP + SEP #$20 + REP #$10 + LDY #$FFFF +L0502DB INY + LDA [$DC],Y + BEQ L050309 + AND #$7F + CMP #$0D + BNE L0502DB +L0502E6 INY + LDA [$DC],Y + AND #$7F + CMP #$0D + BEQ L0502E6 + CMP #$2A + BEQ L0502DB + CMP #$3B + BEQ L0502DB + REP #$20 + TYA + CLC + ADC $DC + STA $DC + LDA #$0000 + ADC $DE + STA $DE + PLP + CLC + RTS + +L050309 PLP + SEC + RTS + +L05030C PHP + REP #$30 + LDA $E2 + ORA $E0 + BNE L05031E + JSR L050379 + BCS L050376 + STX $E0 + STY $E2 +L05031E LDY #$0002 + LDA [$E0] + STA $E4 + LDA [$E0],Y + STA $E6 +L050329 LDX #$00FF + LDY #$0002 +L05032F LDA [$E4] + ORA [$E4],Y + BEQ L050363 + CLC + LDA #$0004 + ADC $E4 + STA $E4 + LDA #$0000 + ADC $E6 + STA $E6 + DEX + BNE L05032F + LDA [$E4] + ORA [$E4],Y + BEQ L050366 +L05034D LDA [$E4] + PHA + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + LDA [$E4] + PHA + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + BRA L050329 +L050363 PLP + CLC + RTS + +L050366 JSR L050379 + BCS L050376 + TXA + STA [$E4] + TYA + LDY #$0002 + STA [$E4],Y + BRA L05034D +L050376 PLP + SEC + RTS + +L050379 PHA + PHA + PEA $0000 + PEA $0400 + LDA $FE + ORA #$0400 + PHA + PEA $0008 + PHA + PHA + _NewHandle + PLX + PLY + BCS L0503C4 + PHP + PHY + PHX + PEI $00 + PEI $02 + STX $00 + STY $02 + LDY #$0002 + LDA [$00] + PHA + LDA [$00],Y + STA $02 + PLA + STA $00 + LDY #$03FE + LDA #$0000 +L0503B5 STA [$00],Y + DEY + DEY + BPL L0503B5 + PLA + STA $02 + PLA + STA $00 + PLX + PLY + PLP +L0503C4 RTS + +L0503C5 PHP + REP #$30 + JSR L0502B5 + JSR L050245 + LDA $D6 + STA $DE + LDA $D4 + STA $DC +L0503D6 LDY #$0000 + SEP #$20 + LDA [$DC],Y + AND #$5F + CMP #$41 + BCC L0503E7 + CMP #$5B + BCC L0503EE +L0503E7 JSR L0502D3 + BCC L0503D6 + PLP + RTS + +L0503EE INY + LDA [$DC],Y + AND #$7F + CMP #$20 + BEQ L05040F + CMP #$5F + BEQ L0503EE + CMP #$30 + BCC L0503E7 + CMP #$3A + BCC L0503EE + AND #$5F + CMP #$41 + BCC L0503E7 + CMP #$5B + BCC L0503EE + BRA L0503E7 +L05040F STY L050492 + INY + LDX #$0000 +L050416 LDA [$DC],Y + AND #$5F + CMP L05048C,X + BNE L0503E7 + INY + INX + CPX #$0006 + BCC L050416 + JSR L05030C + REP #$20 + PHA + PHA + PEA $0000 + LDA L050492 + INC + PHA + LDA $FE + ORA #$0400 + PHA + PEA $0008 + PHA + PHA + _NewHandle + PLA + STA $00 + STA [$E4] + LDY #$0002 + PLA + STA $02 + STA [$E4],Y + LDA [$00] + PHA + LDA [$00],Y + STA $02 + PLA + STA $00 + SEP #$20 + LDY #$0000 +L050463 LDA [$DC],Y + AND #$7F + INY + STA [$00],Y + DEC L050492 + BNE L050463 + TYA + STA [$00] + REP #$20 + LDY #$0004 + SEC + LDA $DC + SBC $D4 + STA [$E4],Y + INY + INY + LDA $DE + SBC $D6 + STA [$E4],Y + INC L0500E9 + BRL L0503E7 + +L05048C ASC 'SCRIPT' + +L050492 DW $0000 + +L050494 PHP + REP #$30 + JSR L050263 + BCS L050513 +L05049C LDX #$00FF +L05049F LDY #$0002 + LDA [$E4] + STA $00 + LDA [$E4],Y + STA $02 + ORA $00 + BEQ L050513 + LDA [$00] + PHA + LDA [$00],Y + STA $02 + PLA + STA $00 + LDA [$DC] + AND #$00FF + TAY + SEP #$20 +L0504C0 LDA [$DC],Y + EOR [$00],Y + AND #$7F + BNE L0504E5 + DEY + BPL L0504C0 + REP #$20 + JSR L050245 + CLC + LDY #$0004 + LDA [$E4],Y + ADC $D4 + STA $D4 + INY + INY + LDA [$E4],Y + ADC $D6 + STA $D6 + PLP + CLC + RTS + +L0504E5 REP #$20 + CLC + LDA #$0008 + ADC $E4 + STA $E4 + BCC L0504F3 + INC $E5 +L0504F3 DEX + BNE L05049F + LDY #$0002 + LDA [$E4] + PHA + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + ORA $E6 + BEQ L050513 + LDA [$E4] + PHA + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + BRA L05049C +L050513 PLP + SEC + RTS + +L050516 PHP + REP #$30 + LDA $D2 + ORA $D0 + BEQ L05052E + PEI $D2 + PEI $D0 + _DisposeHandle + STZ $D2 + STZ $D0 +L05052E JSR L0502B5 + STZ L050281 + PLP + CLC + RTS + +L050537 ENT + PHP + REP #$30 + LDA $FE + ORA #$0400 + PHA + _DisposeAll + STZ $D8 + PLP + CLC + RTL + +L05054C ENT + PHB + PHK + PLB + PHP + REP #$30 + STA L0500F5 + STY L0500F5+2 + ORA L0500F5+2 + BEQ L05056C + JSL GSOS + DW $200E ; ExpandPath + ADRL L0500F3 + BCC L05056C + BRL L050636 +L05056C JSL GSOS + DW $2006 ; GetFileInfo + ADRL L0500FD + BCC L05057B + BRL L050636 +L05057B LDA L050121 + ORA L050121+2 + BNE L050586 + BRL L050623 +L050586 LDX L050121 + STX L050135 + LDY L050121+2 + BEQ L050594 + STY L050135+2 +L050594 JSR L050516 + JSR L0518AD + BCC L05059F + BRL L050633 +L05059F STX $D0 + STY $D2 + JSR L050245 + BCC L0505AB + BRL L050633 +L0505AB LDA $D4 + STA L050131 + LDA $D6 + STA L050131+2 + JSL GSOS + DW $2010 ; Open + ADRL L050125 + BCC L0505C4 + BRL L050636 +L0505C4 LDA L050127 + STA L05012F + STA L05013F + JSL GSOS + DW $2012 ; Read + ADRL L05012D + BCC L0505DE + CMP #$004C + BNE L050627 +L0505DE JSL GSOS + DW $2014 ; Close + ADRL L05013D + LDA L050139 + STA L050121 + LDA L050139+2 + STA L050121+2 + LDY L050121+2 + LDX L050121 + INX + STX $D8 + STY $DA + JSR L050245 + LDY #$0000 +L050605 LDA [$D4],Y + AND #$7F7F + STA [$D4],Y + INY + INY + BNE L050605 + LDY $D8 + DEY + LDA #$0000 + STA [$D4],Y + JSR L0503C5 + LDY #$0004 + LDA #$0008 + STA [$D0],Y +L050623 PLP + CLC + PLB + RTL + +L050627 PHA + JSL GSOS + DW $2014 ; Close + ADRL L05013D + PLA +L050633 LDA #$0000 +L050636 PLP + SEC + PLB + RTL + +L05063A ENT + PHB + PHK + PLB + PHP + REP #$30 + STZ L0500F1 + LDAL $E0C025 + AND #$0002 + BEQ L050654 + SEC + ROR L0500F1 + JSL L0300D1 +L050654 STZ L050006 + LDA $3E + STA L050004 + BNE L050661 + INC L050006 +L050661 STZ L050000 + LDA $42 + STA L050002 + STZ L05000A + LDAL L0283E4 + STA L050008 + LDA $06,S + STA L050028 + LDA $08,S + STA L05002A + LDA $0A,S + STA $DC + LDA $0C,S + STA $DE + LDA $04,S + STA $0C,S + LDA $02,S + STA $0A,S + LDA $01,S + STA $09,S + TSC + CLC + ADC #$0008 + TCS + JSR L050283 + LDA [$DC] + CMP #$2A01 + BNE L0506BA + JSL L05171C + BCS L0506DF + PHX + JSR L050245 + PLA + CLC + ADC $D4 + STA $D4 + LDA #$0000 + ADC $D6 + STA $D6 + BRA L0506BF +L0506BA JSR L050494 + BCS L0506E3 +L0506BF LDA $D6 + STA $DE + LDA $D4 + STA $DC + STZ L0500ED +L0506CA JSR L050B55 + BCS L0506E3 + BVS L0506DF + JSL L03059F + BCS L0506CA + AND #$00FF + CMP #$0083 + BNE L0506CA +L0506DF PLP + CLC + PLB + RTL + +L0506E3 PLP + SEC + PLB + RTL + +L0506E7 PHP + REP #$30 + STZ L05079A + LDA [$DC] + AND #$007F + CMP #$002D + BNE L050705 + STZ L050094 + STZ L050096 + LDA #$0002 + STA L05079A + BRA L050781 +L050705 LDA L05079A + PHA + JSR L05097D + PLA + STA L05079A + BCS L05078D + BNE L050790 +L050714 LDA L050092 + STA L050096 + LDA L050090 + STA L050094 + SEP #$20 + LDA [$DC] + AND #$7F + BEQ L05078A + CMP #$0D + BEQ L05078A + CMP #$2C + BEQ L05078A + CMP #$2E + BEQ L05078A + CMP #$20 + BEQ L05078A + CMP #$3B + BEQ L05078A + CMP #$5D + BNE L050743 + BRL L050920 +L050743 CMP #$5E + BNE L05074A + BRL L05093F +L05074A STA L050799 + CMP #$3C + BNE L05076B + LDY #$0001 + LDA [$DC],Y + AND #$7F + CMP #$3E + BNE L05076B + LDA #$0B + STA L05079A + REP #$20 + INC $DC + BNE L050769 + INC $DE +L050769 BRA L050781 +L05076B LDX #$0000 +L05076E LDA L05079C,X + BEQ L05078D + CMP L050799 + BEQ L05077B + INX + BRA L05076E +L05077B INX + STX L05079A + REP #$20 +L050781 INC $DC + BNE L050787 + INC $DE +L050787 BRL L050705 +L05078A PLP + CLC + RTS + +L05078D PLP + SEC + RTS + +L050790 DEC + ASL + TAX + STZ L05079A + JMP (L0507A8,X) + +L050799 DB $00 +L05079A DB $00 + DB $00 + +L05079C ASC '+-*/_&!<>=~'00 + +L0507A8 DA L050821 ; + + DA L050837 ; - + DA L05084D ; * + DA L05088B ; / + DA L0508E1 ; _ + DA L0508F6 ; & + DA L05090B ; ! + DA L0507BE ; < + DA L0507E3 ; > + DA L0507F5 ; = + DA L05080B ; ~ + +L0507BE LDA L050096 + CMP L050092 + BCC L0507DB + LDA L050094 + CMP L050090 + BCC L0507DB +L0507CE LDA #$0000 + TAY +L0507D2 STA L050090 + STY L050092 + BRL L050714 +L0507DB LDA #$0001 + LDY #$0000 + BRA L0507D2 +L0507E3 LDA L050092 + CMP L050096 + BCC L0507DB + LDA L050090 + CMP L050094 + BCC L0507DB + BRA L0507CE +L0507F5 LDA L050092 + EOR L050096 + PHA + LDA L050090 + EOR L050094 + ORA $01,S + STA $01,S + PLA + BEQ L0507DB + BRA L0507CE +L05080B LDA L050092 + EOR L050096 + PHA + LDA L050090 + EOR L050094 + ORA $01,S + STA $01,S + PLA + BEQ L0507CE + BRA L0507DB +L050821 CLC + LDA L050090 + ADC L050094 + STA L050090 + LDA L050092 + ADC L050096 + STA L050092 + BRL L050714 +L050837 SEC + LDA L050094 + SBC L050090 + STA L050090 + LDA L050096 + SBC L050092 + STA L050092 + BRL L050714 +L05084D LDA L050092 + STA L0508DB + LDA L050090 + STA L0508D9 + STZ L050092 + STZ L050090 + LDX #$0020 +L050862 DEX + BPL L050868 + BRL L050714 +L050868 ASL L050090 + ROL L050092 + ASL L050094 + ROL L050096 + BCC L050862 + CLC + LDA L0508D9 + ADC L050090 + STA L050090 + LDA #$0000 + ADC L050092 + STA L050092 + BRA L050862 +L05088B LDA L050090 + STA L0508D9 + LDA L050092 + STA L0508DB + STZ L0508DD + STZ L0508DF + LDX #$0020 +L0508A0 DEX + BPL L0508A6 + BRL L050714 +L0508A6 ASL L050094 + ROL L050096 + ROL L0508DD + ROL L0508DF + LDA L0508DF + CMP L0508DB + BCC L0508D1 + LDA L0508DD + CMP L0508D9 + BCC L0508D1 + SBC L0508D9 + STA L0508DD + LDA L0508DF + SBC L0508DB + STA L0508DF +L0508D1 ROL L050090 + ROL L050092 + BRA L0508A0 +L0508D9 DB $00 + DB $00 +L0508DB DB $00 + DB $00 +L0508DD DB $00 + DB $00 +L0508DF DB $00 + DB $00 +L0508E1 LDA L050090 + ORA L050094 + STA L050090 + LDA L050092 + ORA L050096 + STA L050092 + BRL L050714 +L0508F6 LDA L050090 + AND L050094 + STA L050090 + LDA L050092 + AND L050096 + STA L050092 + BRL L050714 +L05090B LDA L050090 + EOR L050094 + STA L050090 + LDA L050092 + EOR L050096 + STA L050092 + BRL L050714 +L050920 REP #$20 + LDA L0500EB + BNE L05092A + BRL L05078D +L05092A LDY L050090 + LDA [$3A],Y + STA L050090 + INY + INY + LDA [$3A],Y + STA L050092 + PLP + CLC + RTS + + PLP + SEC + RTS + +L05093F REP #$30 + PEI $42 + LDA L050090 + PHA + PEA ^L050973 + PEA L050973 + JSL L045089 + BCS L05096A + LDA L050973 + CMP #$0003 + BCS L05096A + LDA L050979 + STA L050090 + LDA L05097B + STA L050092 + PLP + CLC + RTS + +L05096A STZ L050090 + STZ L050092 + PLP + CLC + RTS + +L050973 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L050979 DB $00 + DB $00 +L05097B DB $00 + DB $00 +L05097D PHP + REP #$30 + JSR L050A27 + BCC L050988 + BRL L050A24 +L050988 SEP #$20 + LDA [$DC] + AND #$7F + CMP #$7C + BEQ L050995 + PLP + CLC + RTS + +L050995 REP #$20 + INC $DC + BNE L05099D + INC $DE +L05099D LDA [$DC] + AND #$007F + CMP #$0042 + BNE L0509AF + INC $DC + BNE L0509AD + INC $DE +L0509AD BRA L050A0B +L0509AF CMP #$0057 + BNE L0509BC + INC $DC + BNE L0509BA + INC $DE +L0509BA BRA L050A13 +L0509BC CMP #$0041 + BNE L0509DB + INC $DC + BNE L0509C7 + INC $DE +L0509C7 LDA L050092 + PHA + LDA L050090 + PHA + JSL L042ABB + STY L050092 + STA L050090 + BRA L050988 +L0509DB LDA L050092 + PHA + LDA L050090 + PHA + JSR L050A27 + BCS L050A24 + LDX L050090 + PLA + STA L050090 + PLA + STA L050092 + BCS L050A24 + TXA + BEQ L050A24 + CMP #$0005 + BCS L050A24 + DEC + ASL + TAX + JMP (L050A03,X) + +L050A03 DA L050A0B + DA L050A13 + DA L050A1C + DA L050988 +L050A0B LDX #$0000 + STX L050091 + BRA L050A16 +L050A13 LDX #$0000 +L050A16 STX L050092 + BRL L050988 +L050A1C SEP #$20 + STZ L050093 + BRL L050988 +L050A24 PLP + SEC + RTS + +L050A27 PHP + SEP #$20 + REP #$10 + LDA [$DC] + AND #$7F + CMP #$30 + BCC L050A40 + CMP #$47 + BCS L050A40 + CMP #$41 + BCS L050A71 + CMP #$3A + BCC L050A71 +L050A40 PHA + REP #$20 + LDA L050A67 + AND #$00FF + TAX + SEP #$20 + PLA +L050A4D CMP L050A67,X + BEQ L050A58 + DEX + BNE L050A4D + PLP + SEC + RTS + +L050A58 REP #$20 + INC $DC + BNE L050A60 + INC $DE +L050A60 DEX + TXA + ASL + TAX + JMP (L050A6B,X) + +L050A67 DB $03 + DB $40 + DB $24 + DB $5B +L050A6B DA L050AC9 + DA L050A71 + DA L050B33 +L050A71 REP #$20 + JSR L050A9A + BCS L050AB3 + STA L050090 + STZ L050092 +L050A7E JSR L050A9A + BCS L050A97 + XBA + ASL + ASL + ASL + ASL + LDX #$0004 +L050A8B ASL + ROL L050090 + ROL L050092 + DEX + BNE L050A8B + BRA L050A7E +L050A97 PLP + CLC + RTS + +L050A9A PHP + SEP #$20 + REP #$10 + LDA [$DC] + AND #$7F + CMP #$30 + BCC L050AB3 + CMP #$47 + BCS L050AB3 + CMP #$3A + BCC L050ABB + CMP #$41 + BCS L050AB6 +L050AB3 PLP + SEC + RTS + +L050AB6 SEC + SBC #$37 + BRA L050ABE +L050ABB SEC + SBC #$30 +L050ABE REP #$20 + INC $DC + BNE L050AC6 + INC $DE +L050AC6 PLP + CLC + RTS + +L050AC9 LDA [$DC] + AND #$007F + CMP #$0030 + BCC L050AB3 + CMP #$005B + BCS L050AB3 + CMP #$003A + BCC L050AF7 + CMP #$0041 + BCC L050AB3 + SEC + SBC #$0041 + ASL + ASL + TAX + LDA L050028,X + STA L050090 + LDA L05002A,X + STA L050092 + BRA L050B0A +L050AF7 SEC + SBC #$0030 + ASL + ASL + TAX + LDA L050000,X + STA L050090 + LDA L050002,X + STA L050092 +L050B0A SEP #$20 + LDY #$0000 +L050B0F INY + LDA [$DC],Y + AND #$5F + CMP #$30 + BCC L050B24 + CMP #$5B + BCS L050B24 + CMP #$41 + BCS L050B0F + CMP #$3A + BCC L050B0F +L050B24 REP #$20 + TYA + CLC + ADC $DC + STA $DC + BCC L050B30 + INC $DD +L050B30 PLP + CLC + RTS + +L050B33 INC L0500EB + LDA L050096 + PHA + LDA L050094 + PHA + JSR L0506E7 + PLA + STA L050094 + PLA + STA L050096 + INC $DC + BNE L050B4F + INC $DE +L050B4F DEC L0500EB + PLP + CLC + RTS + +L050B55 PHP + SEP #$20 + REP #$10 + BIT L0500F2 + BPL L050B71 + JSR L0513FA +L050B62 JSL L03059F + BCS L050B62 + CMP #$83 + BNE L050B71 + PLP + CLC + SEP #$40 + RTS + +L050B71 JSR L050D7B + CMP #$00 + BEQ L050BAA + CMP #$0D + BEQ L050B9E + CMP #$3A + BEQ L050B94 + CMP #$5F + BEQ L050B94 + CMP #$20 + BEQ L050B94 + CMP #$40 + BEQ L050BAF + CMP #$41 + BCC L050BA7 + CMP #$5B + BCS L050BA7 +L050B94 JSR L050D4A + JSR L050C66 + BCS L050BA7 + BVS L050BA3 +L050B9E JSR L0502D3 + BCS L050BAA +L050BA3 PLP + CLC + CLV + RTS + +L050BA7 PLP + SEC + RTS + +L050BAA PLP + CLC + SEP #$40 + RTS + +L050BAF LDA L0500ED + BEQ L050BBC + LDA L0500EF + BNE L050BBC + BRL L050B9E +L050BBC JSR L050D7B + CMP #$41 + BCC L050BF0 + CMP #$5B + BCS L050BF0 + SEC + SBC #$41 + ASL + ASL + STA L050098 + JSR L050D4A + JSR L050D7B + CMP #$3D + BNE L050BF0 + JSR L050D4A + JSR L0506E7 + BCS L050BF0 + JSR L050D7B + CMP #$00 + BEQ L050BF3 + CMP #$0D + BEQ L050BF3 + CMP #$20 + BEQ L050BF3 +L050BF0 PLP + SEC + RTS + +L050BF3 REP #$20 + LDX L050098 + LDA L050092 + STA L05002A,X + LDA L050090 + STA L050028,X + BRL L050B9E +L050C07 LDA L0500ED + BEQ L050C14 + LDA L0500EF + BNE L050C14 + BRL L050C7B + MX %11 +L050C14 JSR L050D7B + JSR L050D7B + CMP #$41 + BCC L050BF0 + CMP #$5B + BCS L050BF0 + SEC + SBC #$41 + ASL + ASL + STA L050098 + JSR L050D7B + CMP #$3D + BNE L050BF0 + LDA [$DC] + AND #$7F + CMP #$20 + BNE L050C3C + JSR L050D4A +L050C3C JSR L0506E7 + BCS L050BF0 + JSR L050D7B + CMP #$00 + BEQ L050BF3 + CMP #$0D + BEQ L050C53 + CMP #$20 + BEQ L050C53 + PLP + SEC + RTS + +L050C53 REP #$20 + LDX L050098 + LDA L050092 + STA L05002A,X + LDA L050090 + STA L050028,X + BRA L050C7B +L050C66 PHP + SEP #$20 + LDA [$DC] + AND #$7F + BEQ L050C7B + CMP #$40 + BEQ L050C07 + CMP #$0D + BEQ L050C7B + CMP #$3B + BNE L050C7F +L050C7B PLP + CLC + CLV + RTS + +L050C7F REP #$30 + LDX #$0000 +L050C84 LDA L05009A+2,X + STA $02 + LDA L05009A,X + STA $00 + ORA $02 + BEQ L050CB4 + PHX + JSR L050CB7 + PLX + BCC L050C9F + INX + INX + INX + INX + BRA L050C84 +L050C9F LDA L050CF8+2,X + STA $02 + LDA L050CF8,X + STA $00 + TYA + ASL + TAY + LDA [$00],Y + DEC + PHA + JSR L050D4A + RTS + +L050CB4 PLP + SEC + RTS + +L050CB7 PHP + SEP #$20 + STZ L050CF6 + LDX #$0000 +L050CC0 LDY #$0000 +L050CC3 PHY + TXY + LDA [$00],Y + PLY + EOR [$DC],Y + AND #$7F + BEQ L050CE4 + TXY +L050CCF LDA [$00],Y + BPL L050CD6 + INY + BRA L050CCF +L050CD6 INY + LDA [$00],Y + BEQ L050CE1 + TYX + INC L050CF6 + BRA L050CC0 +L050CE1 PLP + SEC + RTS + +L050CE4 PHY + TXY + LDA [$00],Y + BPL L050CEF + PLY + INY + INX + BRA L050CC3 +L050CEF PLY + LDY L050CF6 + PLP + CLC + RTS + +L050CF6 DW $0000 +L050CF8 ADRL L050D04 + ADRL L050D1A + ADRL L050D3C + +L050D04 DA L050DB5 + DA L050DC1 + DA L050DFE + DA L050E12 + DA L050E20 + DA L050EDC + DA L051564 + DA L051623 + DA L05166C + DA L05169F + DA L0516A2 + +L050D1A DA L050EE5 + DA L050F06 + DA L050F22 + DA L050F3E + DA L050F5B + DA L050F7B + DA L050F9B + DA L051014 + DA L051035 + DA L051056 + DA L051077 + DA L0510B4 + DA L0510BA + DA L0510C0 + DA L0510C6 + DA L0510E8 + DA L05110C +L050D3C DA L05112C + DA L051132 + DA L051269 + DA L051186 + DA L05118C + DA L051192 + DA L0511B2 +L050D4A PHP + SEP #$20 + REP #$10 + LDY #$0000 +L050D52 LDA [$DC],Y + AND #$7F + BEQ L050D6C + CMP #$20 + BEQ L050D63 + CMP #$0D + BEQ L050D6C + INY + BRA L050D52 +L050D63 INY + LDA [$DC],Y + AND #$7F + CMP #$20 + BEQ L050D63 +L050D6C REP #$20 + TYA + CLC + ADC $DC + STA $DC + BCC L050D78 + INC $DD +L050D78 PLP + CLC + RTS + +L050D7B PHP + REP #$30 + LDA [$DC] + AND #$007F + BEQ L050DA2 + CMP #$000D + BEQ L050DA2 + CMP #$0020 + BEQ L050DA2 + CMP #$0061 + BCC L050D9C + CMP #$007B + BCS L050D9C + AND #$005F +L050D9C INC $DC + BNE L050DA2 + INC $DE +L050DA2 PLP + CLC + RTS + +L050DA5 LDA L0500ED + BEQ L050DB4 + LDA L0500EF + BNE L050DB4 + PLA + PLP + CLC + CLV + RTS +L050DB4 RTS + +L050DB5 REP #$20 + SEP #$10 + PLX + PLA + PLX + PLA + PLP + CLC + PLB + RTL + +L050DC1 JSR L0506E7 + BCC L050DC9 + PLP + SEC + RTS + +L050DC9 LDA L050090 + ORA L050092 + BEQ L050DD4 + LDA #$FFFF +L050DD4 STA L0500EF + LDA #$FFFF + STA L0500ED + LDA [$DC] + AND #$007F + CMP #$002C + BEQ L050DEA + BRL L050EFF +L050DEA INC $DC + BNE L050DF0 + INC $DE +L050DF0 STZ L0500ED + BIT L0500EF + BMI L050DFB + BRL L050EFF +L050DFB BRL L050E20 +L050DFE LDA L0500ED + BNE L050E06 + PLP + SEC + RTS + +L050E06 LDA #$FFFF + EOR L0500EF + STA L0500EF + BRL L050EFF +L050E12 LDA L0500ED + BNE L050E1A + PLP + SEC + RTS + +L050E1A STZ L0500ED + BRL L050EFF +L050E20 JSR L050DA5 + LDA $DE + STA $02 + LDA $DC + STA $00 + LDA $D6 + STA $DE + LDA $D4 + STA $DC + SEP #$20 + LDA [$00] + AND #$7F + CMP #$3A + BEQ L050E67 + REP #$20 + JSR L050245 + LDA $D6 + STA $DE + LDA $D4 + STA $DC + SEP #$20 +L050E4C JSR L0502D3 + LDA [$DC] + BEQ L050E83 + JSR L050EA6 + BCS L050E4C + REP #$20 + LDA $DE + STA $D6 + LDA $DC + STA $D4 + PLP + CLC + SEP #$40 + RTS + + MX %11 +L050E67 JSR L0502D3 + LDA [$DC] + AND #$7F + CMP #$3A + BEQ L050E86 + CMP #$0D + BEQ L050E67 + CMP #$40 + BEQ L050E67 + CMP #$20 + BNE L050E83 + JSR L050E90 + BCS L050E67 +L050E83 PLP + SEC + RTS + +L050E86 JSR L050EA6 + BCS L050E67 + PLP + CLC + SEP #$40 + RTS + + MX %10 +L050E90 JSR L050D4A + LDY #$0003 +L050E96 LDA [$DC],Y + AND #$7F + CMP L050ED8,Y + BNE L050EA4 + DEY + BPL L050E96 + CLC + RTS + +L050EA4 SEC + RTS + +L050EA6 LDY #$0000 +L050EA9 LDA [$00],Y + JSR L050EC4 + BCC L050EB9 + EOR [$DC],Y + AND #$7F + BNE L050EC0 + INY + BRA L050EA9 +L050EB9 LDA [$DC],Y + JSR L050EC4 + BCC L050EC2 +L050EC0 SEC + RTS + +L050EC2 CLC + RTS + +L050EC4 AND #$7F + BEQ L050ED6 + CMP #$20 + BEQ L050ED6 + CMP #$0D + BEQ L050ED6 + CMP #$2C + BEQ L050ED6 + SEC + RTS + +L050ED6 CLC + RTS + +L050ED8 ASC 'ENDS' + + MX %00 + +L050EDC BRL L050EFF + +L050EDF DB $00 + DB $00 +L050EE1 DB $00 + DB $00 +L050EE3 DB $00 + DB $00 + +L050EE5 JSR L050DA5 + JSR L0506E7 + BCS L050F03 + LDA L050092 + PHA + LDA L050090 + PHA + PEA $0001 + PEA $0000 + JSL L043069 +L050EFF PLP + CLC + CLV + RTS + +L050F03 PLP + SEC + RTS + +L050F06 JSR L050DA5 + JSR L0506E7 + BCS L050F03 + LDA L050092 + PHA + LDA L050090 + PHA + PEA $0002 + PEA $0001 + JSL L043069 + BRA L050EFF +L050F22 JSR L050DA5 + JSR L0506E7 + BCS L050F03 + LDA L050092 + PHA + LDA L050090 + PHA + PEA $0002 + PEA $0002 + JSL L043069 + BRA L050EFF +L050F3E JSR L050DA5 + JSR L0506E7 + BCS L050F03 + LDA L050092 + PHA + LDA L050090 + PHA + PEA $0002 + PEA $0003 + JSL L043069 + BRL L050EFF +L050F5B JSR L050DA5 + JSR L0506E7 + BCC L050F66 + BRL L050F03 +L050F66 LDA L050092 + PHA + LDA L050090 + PHA + PEA $0004 + PEA $0004 + JSL L043069 + BRL L050EFF +L050F7B JSR L050DA5 + JSR L0506E7 + BCC L050F86 + BRL L050F03 +L050F86 LDA L050092 + PHA + LDA L050090 + PHA + PEA $0003 + PEA $0005 + JSL L043069 + BRL L050EFF +L050F9B JSR L050DA5 + JSR L0506E7 + BCC L050FA6 + BRL L050F03 +L050FA6 LDA L050092 + PHA + LDA L050090 + PHA + PEA $000A + PEA $0006 + JSL L043069 + BRL L050EFF +L050FBB JSR L0506E7 + BCS L051012 + LDA L050092 + STA L050EE1 + LDA L050090 + STA L050EDF + JSR L050D7B + CMP #$002C + BEQ L051000 + CMP #$000D + BEQ L05100A + CMP #$0000 + BEQ L05100A + CMP #$002E + BNE L051012 + JSR L0506E7 + LDA L050092 + CMP L050EE1 + BEQ L050FF1 + BRL L050F03 +L050FF1 LDA L050090 + SEC + SBC L050EDF + BMI L051012 + INC + STA L050EE3 + CLC + RTS + +L051000 JSR L0506E7 + LDA L050090 + STA L050EE3 + RTS + +L05100A LDA #$0001 + STA L050EE3 + CLC + RTS + +L051012 SEC + RTS + +L051014 JSR L050DA5 + JSR L050FBB + BCC L05101F + BRL L050F03 +L05101F LDA L050EE1 + PHA + LDA L050EDF + PHA + LDA L050EE3 + PHA + PEA $0007 + JSL L043069 + BRL L050EFF +L051035 JSR L050DA5 + JSR L050FBB + BCC L051040 + BRL L050F03 +L051040 LDA L050EE1 + PHA + LDA L050EDF + PHA + LDA L050EE3 + PHA + PEA $0008 + JSL L043069 + BRL L050EFF +L051056 JSR L050DA5 + JSR L050FBB + BCC L051061 + BRL L050F03 +L051061 LDA L050EE1 + PHA + LDA L050EDF + PHA + LDA L050EE3 + PHA + PEA $0009 + JSL L043069 + BRL L050EFF +L051077 JSR L050DA5 + JSR L0506E7 + BCC L051082 + BRL L050F03 +L051082 LDY L050090 + SEP #$20 + LDA [$3A],Y + AND #$80 + STA L0510B3 +L05108E INY + LDA [$3A],Y + AND #$80 + EOR L0510B3 + BEQ L05108E + REP #$20 + INY + SEC + SBC L050090 + TAY + LDA L050092 + PHA + LDA L050090 + PHA + PHY + PEA $000A + JSL L043069 + BRL L050EFF +L0510B3 DB $00 +L0510B4 JSR L050DA5 + BRL L050EFF +L0510BA JSR L050DA5 + BRL L050EFF +L0510C0 JSR L050DA5 + BRL L050EFF +L0510C6 JSR L050DA5 + JSR L0506E7 + BCC L0510D1 + BRL L050F03 +L0510D1 LDA L050092 + PHA + LDY L050090 + PHY + LDA [$3A],Y + INC + INC + PHA + PEA $000E + JSL L043069 + BRL L050EFF +L0510E8 JSR L050DA5 + JSR L0506E7 + BCC L0510F3 + BRL L050F03 +L0510F3 LDA L050092 + PHA + LDY L050090 + PHY + LDA [$3A],Y + AND #$00FF + INC + PHA + PEA $000F + JSL L043069 + BRL L050EFF +L05110C JSR L050DA5 + JSR L0506E7 + BCC L051117 + BRL L050F03 +L051117 LDA L050092 + PHA + LDA L050090 + PHA + PEA $0001 + PEA $0010 + JSL L043069 + BRL L050EFF +L05112C JSR L050DA5 + BRL L050EFF +L051132 JSR L050DA5 + JSR L0506E7 + BCC L05113D + BRL L050F03 +L05113D JSR L050D7B + CMP #$002C + BNE L051173 + LDA L050090 + STA L051182 + LDA L050092 + STA L051184 + JSR L0506E7 + BCC L051159 + BRL L050F03 +L051159 LDA L051184 + PHA + LDA L051182 + PHA + PEA $0000 + LDA L050092 + PHA + LDA L050090 + PHA + JSL L042BC0 + BRL L050EFF +L051173 LDA L050092 + PHA + LDA L050090 + PHA + JSL L042C85 + BRL L050EFF +L051182 DB $00 + DB $00 +L051184 DB $00 + DB $00 +L051186 JSR L050DA5 + BRL L050EFF +L05118C JSR L050DA5 + BRL L050EFF +L051192 JSR L050DA5 + JSR L0506E7 + BCC L05119D + BRL L050F03 +L05119D LDA L050092 + PHA + LDY L050090 + PHY + LDA [$3A],Y + PHA + PEA $0000 + JSL L043813 + BRL L050EFF +L0511B2 JSR L050DA5 + JSR L0506E7 + BCC L0511BD + BRL L050F03 +L0511BD STZ L05121F + JSR L050D7B + CMP #$002C + BEQ L0511CB + BRL L050F03 +L0511CB SEP #$20 + LDA [$DC] + CMP #$22 + BEQ L0511D7 + CMP #$27 + BNE L0511DF +L0511D7 JSR L050D7B + ORA #$80 + STA L05121F +L0511DF LDY #$0000 +L0511E2 LDA [$DC],Y + BEQ L0511F6 + ORA #$80 + CMP #$8D + BEQ L0511F6 + STA L051221,Y + INY + CPY #$0049 + BCC L0511E2 + DEY +L0511F6 LDA L051220,Y + CMP L05121F + BNE L0511FF + DEY +L0511FF TYA + STA L051220 + BNE L051208 + BRL L050EFF +L051208 REP #$20 + LDA L050092 + PHA + LDA L050090 + PHA + PEA ^L051220 + PEA L051220 + JSL L04386A + BRL L050EFF +L05121F DB $00 +L051220 DB $00 +L051221 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L051269 JSR L050DA5 + STZ L0513BD + STZ L0513BF + JSR L0506E7 + BCC L05127A + BRL L050F03 +L05127A LDA L050090 + STA L0513B7 + LDA L050092 + STA L0513B9 + JSR L0513DA + BCC L05128E + BRL L050F03 +L05128E BVC L051293 + BRL L051316 +L051293 JSR L0506E7 + BCC L05129B + BRL L050F03 +L05129B LDA L050092 + BEQ L0512A3 + BRL L050EFF +L0512A3 LDA L050090 + CMP #$0005 + BCC L0512AE + BRL L050EFF +L0512AE CMP #$0002 + BCS L0512B6 + BRL L050EFF +L0512B6 STA L0513BB + JSR L0513DA + BCC L0512C1 + BRL L050F03 +L0512C1 BVC L0512C6 + BRL L05135E +L0512C6 JSR L0506E7 + BCC L0512CE + BRL L050F03 +L0512CE LDA L050090 + STA L0513BD + JSR L0513DA + BCC L0512DC + BRL L050F03 +L0512DC BVC L0512E1 + BRL L05135E +L0512E1 JSR L0506E7 + BCC L0512E9 + BRL L050F03 +L0512E9 LDA L050090 + STA L0513C1 + LDA L050092 + STA L0513C3 + JSR L0513C5 + BCC L0512FD + BRL L050F03 +L0512FD JSR L0513DA + BCC L051305 + BRL L050F03 +L051305 JSR L0506E7 + BCC L05130D + BRL L050F03 +L05130D LDA L050090 + STA L0513BF + BRL L051390 +L051316 LDA L0513B9 + EOR $42 + BEQ L051320 + BRL L050F03 +L051320 LDA L0513B7 + JSL L0410BB + BCC L05132C + BRL L050F03 +L05132C BIT #$8000 + BNE L051348 + LDA L0513B7 + INC L0513B7 + JSL L04037A +L05133B CPY #$0002 + BCS L051343 + BRL L050F03 +L051343 STY L0513BB + BRA L05135E +L051348 LDA L0513B9 + PHA + LDA L0513B7 + PHA + JSL L04349E + CPY #$0005 + BCC L05135C + BRL L050F03 +L05135C BRA L05133B +L05135E LDA L0513B9 + EOR $42 + BEQ L051368 + BRL L050F03 +L051368 LDY L0513B7 + LDA [$3A],Y + STA L0513C1 + INY + LDA [$3A],Y + STA L0513C2 + LDY L0513BB + CPY #$0002 + BNE L05138D + LDA L0513B9 + PHA + LDA L0513B7 + PHA + JSL L042A5C + STY L0513C3 +L05138D JSR L0513C5 +L051390 LDA L0513B9 + PHA + LDA L0513B7 + PHA + LDA L0513BB + PHA + SEP #$20 + LDA L0513BF + PHA + LDA L0513BD + PHA + REP #$20 + LDA L0513C3 + PHA + LDA L0513C1 + PHA + JSL L043774 + BRL L050EFF +L0513B7 DB $00 + DB $00 +L0513B9 DB $00 + DB $00 +L0513BB DB $00 + DB $00 +L0513BD DB $00 + DB $00 +L0513BF DB $00 + DB $00 +L0513C1 DB $00 +L0513C2 DB $00 +L0513C3 DB $00 + DB $00 +L0513C5 LDA L0513C3 + PHA + LDA L0513C1 + PHA + JSL L042ABB + BCS L0513D9 + STY L0513C3 + STA L0513C1 +L0513D9 RTS + +L0513DA JSR L050D7B + CMP #$002C + BEQ L0513F5 + CMP #$0000 + BEQ L0513F1 + CMP #$0020 + BEQ L0513F1 + CMP #$000D + BNE L0513F8 +L0513F1 SEP #$40 + CLC + RTS + +L0513F5 CLV + CLC + RTS + +L0513F8 SEC + RTS + +L0513FA PHP + REP #$30 + JSR L051408 + JSR L05145A + JSR L051501 + PLP + RTS + +L051408 LDA #$0000 +L05140B PHA + PHA + LDX #$0006 + CMP #$000D + BCC L05141B + SBC #$000D + LDX #$0014 +L05141B CLC + ADC #$0003 + TAY + JSL L0300E2 + LDA #$00C0 + JSL L03022D + PLA + PHA + CLC + ADC #$00C1 + JSL L03022D + JSL L0302E1 + STR "= " + PLA + ASL + ASL + PHA + TAX + LDA L05002A,X + PHA + JSL L030670 + PLX + LDA L050028,X + PHA + JSL L030670 + PLA + INC + CMP #$001A + BCC L05140B + RTS + +L05145A LDA #$0000 +L05145D PHA + PHA + CLC + ADC #$0003 + TAY + LDX #$0028 + JSL L0300E2 + LDA #$00C0 + JSL L03022D + PLA + PHA + CLC + ADC #$00B0 + JSL L03022D + JSL L0302E1 + STR "= " + PLA + ASL + ASL + PHA + TAX + LDA L050002,X + PHA + JSL L030670 + PLX + PHX + LDA L050000,X + PHA + JSL L030670 + PLA + LSR + TAX + LDA L0514C3,X + BEQ L0514BB + STA L0514B1 + JSL L0302E1 + STR " (" + JSL L030314 +L0514B1 ADR L0514B1 + LDA #$00A9 + JSL L03022D +L0514BB PLA + INC + CMP #$000A + BCC L05145D + RTS + +L0514C3 DA L0514D7 + DA L0514E5 + DA L0514F4 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0514D7 STR "Segment start" +L0514E5 STR "Segment length" +L0514F4 STR "Segment kind" +L051501 SEP #$30 + JSL L030035 + DB $11 + DB $14 + DB $00 + DB $4F + JSL L030139 + JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F + LDX #$00 + LDY #$14 + JSL L0300E2 + LDY #$00 +L051521 LDA [$DC],Y + BEQ L051559 + ORA #$80 + CMP #$8D + BEQ L051559 + PHY + PHX + PHA + JSL L03022D + PLA + PLX + PLY + CMP #$A0 + BNE L051554 + CPX #$02 + BCS L051554 + INX + STY L051560 + LDA L051560,X + CMP L051560 + BCC L051554 + PHY + PHX + TAX + LDY #$14 + JSL L0300E2 + PLX + PLY +L051554 INY + CPY #$4F + BCC L051521 +L051559 JSL L0300F7 + REP #$30 + RTS + +L051560 DB $00 + DB $0C + DB $16 + DB $20 +L051564 JSR L050DA5 + SEP #$20 + LDY #$0000 +L05156C LDA [$DC],Y + AND #$7F + BEQ L051580 + CMP #$0D + BEQ L051580 + CMP #$20 + BEQ L051580 + STA L05160F,Y + INY + BRA L05156C +L051580 TYA + STA L05160E + BNE L051589 + BRL L050F03 +L051589 REP #$30 + JSR L050D4A + JSR L0506E7 + BCC L05159F + LDA L050028 + STA L050090 + LDA L05002A + STA L050092 +L05159F SEP #$30 + LDX #$17 +L0515A3 LDA $D0,X + PHA + DEX + BPL L0515A3 + LDX #$67 +L0515AB LDA L050028,X + PHA + DEX + BPL L0515AB + REP #$30 + LDA L0500ED + PHA + LDA L0500F1 + PHA + PEA ^L05160E + PEA L05160E + LDA L050092 + PHA + LDA L050090 + PHA + JSL L05063A + PHP + SEP #$20 + PLA + STA L05160D + REP #$20 + PLA + STA L0500F1 + PLA + STA L0500ED + BEQ L0515E7 + LDA #$FFFF + STA L0500EF +L0515E7 SEP #$30 + LDY #$68 + LDX #$00 +L0515ED PLA + STA L050028,X + INX + DEY + BNE L0515ED + LDY #$18 + LDX #$00 +L0515F9 PLA + STA $D0,X + INX + DEY + BNE L0515F9 + LDA L05160D + PHA + PLP + BCC L05160A + BRL L050F03 +L05160A BRL L050EFF +L05160D DB $00 +L05160E DB $00 +L05160F DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L051623 JSR L050DA5 + JSR L0506E7 + BCC L05162E + BRL L050F03 +L05162E SEP #$30 +L051630 JSR L051642 + BCS L05163F + DEC L050090 + BPL L051630 + REP #$30 + BRL L050E20 +L05163F BRL L050EFF + MX %11 +L051642 LDY #$00 +L051644 LDA [$DC],Y + AND #$7F + BEQ L051659 + CMP #$0D + BEQ L051659 + CMP #$20 + BEQ L051659 + CMP #$2C + BEQ L05165B + INY + BNE L051644 +L051659 SEC + RTS + +L05165B REP #$30 + INY + TYA + CLC + ADC $DC + STA $DC + BCC L051668 + INC $DE +L051668 SEP #$30 + CLC + RTS + + MX %00 +L05166C JSR L050DA5 + JSR L0506E7 + BCC L051677 + BRL L050F03 +L051677 LDA #$0004 + STA L05169D +L05167D LDA L050092 + PHA + LDA L050090 + PHA + PEA $0002 + PEA $0001 + JSL L043069 + INC L050090 + INC L050090 + DEC L05169D + BNE L05167D + BRL L050EFF +L05169D DB $00 + DB $00 +L05169F BRL L050EFF +L0516A2 JSR L050DA5 + BIT L0500F1 + BMI L051717 + SEP #$20 + LDY #$0001 + LDA [$DC] + STA L05171A + STZ L05171B +L0516B7 LDA [$DC],Y + BEQ L0516CA + CMP L05171A + BEQ L0516CA + CMP #$0D + BEQ L0516CA + INC L05171B + INY + BNE L0516B7 +L0516CA LDA L05171B + BEQ L051717 + JSL L03074E + DB $09 + DB $0D + DB $14 + DB $3B + LDA L05171B + CMP #$27 + BCC L0516E3 + LDA #$26 + STA L05171B +L0516E3 SEC + LDA #$50 + SBC L05171B + LSR + XBA + LDA #$00 + XBA + TAX + LDY #$000B + JSL L0300E2 + LDY #$0001 +L0516F9 LDA [$DC],Y + PHY + ORA #$80 + CMP #$A0 + BCS L051704 + LDA #$A0 +L051704 JSL L0301F9 + PLY + INY + DEC L05171B + BNE L0516F9 + JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F +L051717 BRL L050EFF +L05171A DB $00 +L05171B DB $00 +L05171C PHB + PHK + PLB + PHP + REP #$30 + JSR L050263 + BCS L05175C + JSL L03074E + DB $08 + DB $14 + DB $1C + DB $33 + STZ L05188E + STZ L051890 + BRL L0517B5 +L051738 SEP #$20 +L05173A JSL L03059F + BCS L05173A + REP #$20 + AND #$00FF + CMP #$008A + BEQ L051770 + CMP #$008B + BEQ L051797 + CMP #$008D + BEQ L051760 + CMP #$009B + BNE L05173A + JSR L05187F +L05175C PLP + SEC + PLB + RTL + +L051760 JSR L05187F + LDA L051892 + LDY L051894 + LDX L051896 + PLP + CLC + PLB + RTL + +L051770 CLC + LDA L051890 + ADC L05188E + INC + CMP L0500E9 + BEQ L051738 + CMP #$0006 + BCC L051792 + LDA L05188E + ADC #$000A + CMP L0500E9 + BCS L051792 + INC L05188E + BRA L0517B5 +L051792 INC L051890 + BRA L0517B5 +L051797 CLC + LDA L051890 + ADC L05188E + BEQ L051738 + ADC #$0005 + CMP L0500E9 + BCS L0517B2 + LDA L05188E + BEQ L0517B2 + DEC L05188E + BRA L0517B5 +L0517B2 DEC L051890 +L0517B5 LDA L05188E + STA L05188C + JSR L050263 +L0517BE LDA L05188C + CMP #$007F + BCC L0517EB + SEC + SBC #$007F + STA L05188C + LDY #$03F8 + LDA [$E4],Y + PHA + INY + INY + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + LDY #$0002 + LDA [$E4] + PHA + LDA [$E4],Y + STA $E6 + PLA + STA $E4 + BRA L0517BE +L0517EB LDX #$0000 +L0517EE ASL + ASL + ASL + TAY + LDA [$E4],Y + STA $00 + INY + INY + LDA [$E4],Y + STA $02 + ORA $00 + BNE L051803 + BRL L051738 +L051803 LDY #$0002 + LDA [$00] + PHA + LDA [$00],Y + STA $02 + PLA + STA $00 + SEP #$30 + LDA [$00] + PHA + TAY +L051816 LDA [$00],Y + ORA #$80 + STA L051898,Y + DEY + BNE L051816 + PLY + INY + LDA #$A0 +L051824 CPY #$15 + BCS L05182E + STA L051898,Y + INY + BRA L051824 +L05182E REP #$30 + PHX + CPX L051890 + BNE L051853 + JSL L030579 + LDA $00 + STA L051892 + LDA $02 + STA L051894 + LDA L05188C + ASL + ASL + ASL + ADC #$0004 + TAY + LDA [$E4],Y + STA L051896 +L051853 LDX #$001E + LDA #$0009 + CLC + ADC $01,S + TAY + JSL L0300E2 + JSL L030314 + ADR L051898 + JSL L030585 + PLX + INC L05188C + LDA L05188C + INX + CPX #$000B + BCS L05187C + BRL L0517EE +L05187C BRL L051738 +L05187F JSL L030035 + DB $02 + DB $15 + DB $00 + DB $4F + JSL L0300D1 + RTS + +L05188C DB $00 + DB $00 +L05188E DB $00 + DB $00 +L051890 DB $00 + DB $00 +L051892 DB $00 + DB $00 +L051894 DB $00 + DB $00 +L051896 DB $00 + DB $00 +L051898 DB $14 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + +L0518AD PHP + REP #$30 + JSR L050245 + LDX $D0 + LDY $D2 + BCC L0518FF + PHA + PHA + PEA $0001 + PEA $0000 + LDA $FE + ORA #$0400 + PHA + PEA $8008 + PHA + PHA + _NewHandle + PLX + PLY + BCC L0518DA + PLP + SEC + RTS + +L0518DA PHB + PHY + PLB + LDA |$0000,X + STA $D4 + LDA |$0002,X + STA $D6 + PLB + PLB + PHY + LDA #$0000 + TAY +L0518EE STA [$D4],Y + INY + INY + BNE L0518EE + LDA #$0D20 + STA [$D4] + LDA #$0002 + STA $D8 + PLY +L0518FF PLP + CLC + RTS + +L051902 ENT + PHB + PHK + PLB + PHP + REP #$30 + JSR L0518AD + BCC L051911 + PLP + PLB + SEC + RTL + +L051911 STX $D0 + STY $D2 + JSL L030035 + DB $00 + DB $17 + DB $00 + DB $4F + JSL L0300D1 + JSR L051C88 + STZ L051978 + LDA #$000A + CMP L051CA4 + BCC L051933 + LDA L051CA4 + DEC +L051933 STA L05197A + PHA + SEC + SBC L051978 + STA L051980 + STZ L05197E + PLX + JSR L051ABC + STY L051B82 + JSR L051984 +L05194B JSR L0519A4 + LDY L051B82 + JSR L051AF1 +L051954 JSR L051AD5 + AND #$007F + PHA + LDAL $E0C025 + AND #$0080 + ORA $01,S + STA $01,S + PLA + JSR L051CD1 + REP #$30 + BCS L051972 + BVS L05194B + BCC L051954 +L051972 JSR L0503C5 + PLP + PLB + RTL + +L051978 DB $00 + DB $00 +L05197A DB $00 + DB $00 +L05197C DB $00 + DB $00 +L05197E DB $00 + DB $00 +L051980 DB $00 + DB $00 +L051982 DB $00 + DB $00 + +L051984 LDA #$0009 + STA L05197C + LDA #$FFFF + STA L051982 + RTS + +L051991 LDA L05197C + EOR #$0029 + STA L05197C + LDA #$FFFF + EOR L051982 + STA L051982 + RTS + +L0519A4 SEP #$20 +L0519A6 LDAL $E0C019 + BPL L0519A6 + REP #$20 + LDY L051B82 + SEC + LDA L05197A + SBC L051978 + TAX + BEQ L0519C1 +L0519BB JSR L051CB9 + DEX + BNE L0519BB +L0519C1 LDA #$0000 +L0519C4 PHA + JSR L0519D0 + PLA + INC + CMP #$0018 + BCC L0519C4 + RTS + +L0519D0 PHY + JSL L03006F + JSR L051AA1 + PLY + SEP #$20 + LDA #$00 + XBA + STZ L051A9A + STZ L051AA0 + LDX #$0000 + LDA [$D4],Y + CMP #$3B + BNE L0519F3 + LDA L051A9D + TAX + LDA #$2A +L0519F3 STA L051A9F +L0519F6 LDA [$D4],Y + BNE L0519FD + BRL L051A92 +L0519FD CMP #$0D + BNE L051A04 + BRL L051A92 +L051A04 CMP #$20 + BNE L051A4F + LDA L051A9F + CMP #$2A + BEQ L051A4D + LDA L051AA0 + BNE L051A4D + INY + LDA [$D4],Y + DEY + CMP #$3B + BEQ L051A29 + LDA L051A9A + BEQ L051A3F + CMP #$03 + BCS L051A4D + CMP #$02 + BCC L051A34 +L051A29 TXA + CMP L051A9D + BCS L051A4D + LDA L051A9D + BRA L051A48 +L051A34 TXA + CMP L051A9C + BCS L051A4D + LDA L051A9C + BRA L051A48 +L051A3F TXA + CMP L051A9B + BCS L051A4D + LDA L051A9B +L051A48 TAX + DEX + INC L051A9A +L051A4D LDA #$A0 +L051A4F PHY + PHX + PHA + REP #$20 + TXA + LSR + TAY + SEP #$20 + STAL $E0C054 + BCS L051A63 + STAL $E0C055 +L051A63 PLA + ORA #$80 + STA [$28],Y + STAL $E0C054 + EOR L051AA0 + BEQ L051A7E + BPL L051A81 + EOR L051AA0 + CMP #$A7 + BEQ L051A7E + CMP #$A2 + BNE L051A81 +L051A7E STA L051AA0 +L051A81 PLX + PLY + INX + CPX #$0050 + BCS L051A8F + INY + BEQ L051A8F + BRL L0519F6 +L051A8F JSR L051CA6 +L051A92 CMP #$01 + BCC L051A97 + INY +L051A97 REP #$20 + RTS + +L051A9A DB $00 +L051A9B DB $11 +L051A9C DB $19 +L051A9D DB $23 + DB $50 +L051A9F DB $00 +L051AA0 DB $00 + +L051AA1 PHP + SEP #$20 + REP #$10 + LDA #$A0 + LDY #$0027 +L051AAB STA [$28],Y + STAL $E0C055 + STA [$28],Y + STAL $E0C054 + DEY + BPL L051AAB + PLP + RTS + +L051ABC SEP #$20 + LDY #$0000 + CPX #$0000 + BEQ L051AD2 +L051AC6 LDA [$D4],Y + BEQ L051AD2 + INY + CMP #$0D + BNE L051AC6 + DEX + BNE L051AC6 +L051AD2 REP #$20 + RTS + +L051AD5 LDX L05197E + LDY L051980 + JSL L0300E2 + LDA L05197C + JSL L030593 + JSL L03034A + RTS + + LDX L05197A + JSR L051ABC +L051AF1 STY L051B82 + LDA L051980 + JSL L03006F + SEP #$20 + LDX #$0000 +L051B00 LDA [$D4],Y + STA L051B86,X + INY + INX + CMP #$00 + BEQ L051B0F + CMP #$0D + BNE L051B00 +L051B0F TXA + STA L051B85 + STA L051B84 + JSR L051B62 + REP #$20 + JSR L052093 + RTS + +L051B1F JSR L05210A + SEP #$21 + LDY L051B82 + LDA L051B85 + SBC L051B84 + BEQ L051B48 + BPL L051B3E + EOR #$FF + INC + REP #$20 + AND #$00FF + JSR L052358 + BRA L051B46 +L051B3E REP #$20 + AND #$00FF + JSR L052317 +L051B46 BCS L051B61 +L051B48 SEP #$20 + LDA L051B85 + LDY L051B82 + LDX #$0000 +L051B53 PHA + LDA L051B86,X + STA [$D4],Y + INX + INY + PLA + DEC + BNE L051B53 + REP #$20 +L051B61 RTS + +L051B62 PHP + SEP #$20 + STZ L051C86 + STZ L051C87 + LDA L051B86 + CMP #$3B + BNE L051B74 + LDA #$2A +L051B74 CMP #$2A + BNE L051B80 + LDA #$FF + STA L051C86 + STA L051C87 +L051B80 PLP + RTS + +L051B82 DB $00 + DB $00 +L051B84 DB $00 +L051B85 DB $00 +L051B86 DB $00 +L051B87 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L051C83 DB $00 +L051C84 DB $00 +L051C85 DB $00 +L051C86 DB $00 +L051C87 DB $00 + +L051C88 SEP #$20 + LDX #$0000 + TXY +L051C8E LDA [$D4],Y + INY + CMP #$00 + BEQ L051C9C + CMP #$0D + BNE L051C8E + INX + BNE L051C8E +L051C9C REP #$20 + INX + STX L051CA4 + TXA + RTS + +L051CA4 DW $0000 + +L051CA6 SEP #$20 +L051CA8 LDA [$D4],Y + BEQ L051CB1 + INY + CMP #$0D + BNE L051CA8 +L051CB1 LDA [$D4],Y + REP #$20 + AND #$007F + RTS + +L051CB9 SEP #$20 + CPY #$0000 + BEQ L051CCE + DEY +L051CC1 CPY #$0000 + BEQ L051CCE + DEY + LDA [$D4],Y + CMP #$0D + BNE L051CC1 + INY +L051CCE REP #$20 + RTS + +L051CD1 SEP #$20 + CMP #$80 + BCC L051CDA + BRL L051CE7 +L051CDA CMP #$20 + BCS L051CE1 + BRL L051F16 +L051CE1 JSR L0521BC + CLC + CLV + RTS + +L051CE7 LDX L051CFD +L051CEA CMP L051CFF-1,X + BEQ L051CF5 + DEX + BNE L051CEA + CLC + CLV + RTS + +L051CF5 REP #$20 + TXA + ASL + TAX + JMP (L051D13-2,X) + +L051CFD DW L051D13-L051CFF ; was $14 (= 20) + +L051CFF DB $D1 ; Q + db $f1 ; q + DB $8A ; DOWN-ARROW + DB $8B ; UP-ARROW + DB $95 ; RIGHT-ARROW + DB $88 ; LEFT-ARROW + DB $DA ; Z + db $fa ; z + DB $C2 ; B + db $e2 ; b + DB $CE ; N + db $ee ; n + DB $D4 ; T + db $f4 ; t + DB $89 ; CTRL-I + DB $C4 ; D + db $e4 ; d + DB $C9 ; I + db $e9 ; i + DB $FF ; DEL + DB $D8 ; X - Not implemented + DB $C3 ; C - Not implemented + DB $D6 ; V - Not implemented + DB $C6 ; F - Not implemented + DB $D7 ; W - Not implemented + DB $C5 ; E - Not implemented + DB $CF ; O - Not implemented + +L051D13 DA L051DFA ; Q + da L051DFA ; q + DA L051D73 ; DOWN-ARROW + DA L051D6E ; UP-ARROW + DA L051D7D ; RIGHT-ARROW + DA L051D78 ; LEFT-ARROW + DA L051D69 ; Z + da L051D69 ; z + DA L051D3E ; B + da L051D3E ; b + DA L051D51 ; N + da L051D51 ; n + DA L051DFF ; T + da L051DFF ; t + DA L051E11 ; CTRL-I + DA L051E6D ; D + da L051E6D ; d + DA L051E96 ; I + da L051E96 ; i + DA L051E3D ; DEL + DA L051EC6 ; X + DA L051EC6 ; C + DA L051EC6 ; V + DA L051EC6 ; F + DA L051EC6 ; W + DA L051EC6 ; E + DA L051EC6 ; O + + CLC + CLV + RTS + +L051D3E JSR L051B1F + STZ L051978 + STZ L05197A + STZ L051B82 + STZ L051980 + SEP #$40 + CLC + RTS + +L051D51 JSR L051B1F + LDA $D8 + DEC + STA L051B82 + LDA L051CA4 + DEC + STA L05197A +L051D61 LDA #$0000 + STA L051DF8 + BRA L051D86 +L051D69 LDA #$0000 + BRA L051D80 +L051D6E LDA #$FFF6 + BRA L051D80 +L051D73 LDA #$000A + BRA L051D80 +L051D78 LDA #$FFE9 + BRA L051D80 +L051D7D LDA #$0017 +L051D80 STA L051DF8 + JSR L051B1F +L051D86 LDA L05197A + CLC + ADC L051DF8 + BPL L051D9C + BIT L051DF8 + BPL L051D9C + BIT L05197A + BMI L051D9C + LDA #$0000 +L051D9C CMP L051CA4 + BCC L051DA5 + LDA L051CA4 + DEC +L051DA5 TAY + SEC + SBC L05197A + BPL L051DB0 + EOR #$FFFF + INC +L051DB0 TAX + TYA + STA L05197A + SEC + SBC #$000A + BPL L051DC3 + BIT L05197A + BMI L051DC3 + LDA #$0000 +L051DC3 STA L051978 + LDY L051B82 + TXA + BEQ L051DDC +L051DCC BIT L051DF8 + BPL L051DD6 + JSR L051CB9 + BRA L051DD9 +L051DD6 JSR L051CA6 +L051DD9 DEX + BNE L051DCC +L051DDC JSR L051AF1 + SEC + LDA L05197A + SBC L051978 + CMP #$000A + BCC L051DEE + LDA #$000A +L051DEE STA L051980 + STZ L05197E + SEP #$40 + CLC + RTS + +L051DF8 DB $00 + DB $00 + +L051DFA JSR L051B1F + SEC + RTS + +L051DFF JSR L051B1F + LDA L051FCE + STA L051B82 + LDA L051FD0 + STA L05197A + BRL L051D61 +L051E11 PHP + SEP #$30 + LDX L051C85 +L051E17 CPX #$00 + BEQ L051E33 + DEX + LDA L051B86,X + CMP #$20 + BEQ L051E17 + CPX #$00 + BEQ L051E33 +L051E27 DEX + LDA L051B86,X + INX + CMP #$20 + BEQ L051E33 + DEX + BNE L051E27 +L051E33 STX L051C85 + JSR L051FF8 + PLP + CLC + CLV + RTS + + MX %00 +L051E3D JSR L051B1F + LDA L05197A + BEQ L051E92 + LDA L051980 + AND #$00FF + BEQ L051E92 + DEC L05197A + DEC L051980 + LDY L051B82 + JSR L051CB9 + JSR L051AF1 + JSR L051E6D + PHP + LDA L051978 + BEQ L051E6B + DEC L051978 + INC L051980 +L051E6B PLP + RTS + +L051E6D PHP + SEP #$30 + STZ L05197E + REP #$30 + JSR L05210A + LDA L051B86 + AND #$00FF + BEQ L051E91 + LDA L051B84 + AND #$00FF + LDY L051B82 + JSR L052358 + BCS L051E91 + DEC L051CA4 +L051E91 PLP +L051E92 SEP #$40 + CLC + RTS + +L051E96 JSR L051B1F + STZ L05197E + JSR L051EA3 + SEP #$40 + CLC + RTS + +L051EA3 PHP + SEP #$20 + REP #$20 + LDA #$0001 + LDY L051B82 + PHY + JSR L052317 + PLY + BCS L051EC3 + SEP #$20 + LDA #$0D + STA [$D4],Y + REP #$20 + INC L051CA4 + PLP + CLC + RTS + +L051EC3 PLP + SEC + RTS + +L051EC6 JSR L051B1F + JSL L03074E + DB $06 + DB $0C + DB $24 + DB $4F + LDY #$0008 + LDX #$0028 + JSL L0300E2 + JSL L0302E1 + STR "Not yet implemented." + LDA #$00DF + JSL L030593 + LDY #$000A + LDX #$0026 + JSL L0300E2 + JSL L03034A + JSL L030035 + DB $00 + DB $17 + DB $00 + DB $4F + JSR L0519A4 + CLC + RTS + +L051F16 LDX L051F2C +L051F19 CMP L051F2D,X + BEQ L051F24 + DEX + BNE L051F19 + CLC + CLV + RTS + +L051F24 REP #$20 + TXA + ASL + TAX + JMP (L051F39,X) + +L051F2C DB $0D +L051F2D DB $00 + DB $0A + DB $0B + DB $15 + DB $08 + DB $05 + DB $14 + DB $09 + DB $02 + DB $0E + DB $04 + DB $19 +L051F39 DB $0D + DB $1B + DA L051F58 + DA L051F93 + DA L051FD2 + DA L051FE6 + DA L051FB9 + DA L051FBF + DA L052132 + DA L052167 + DA L052170 + DA L052183 + DA L052189 + DA L0521A3 + DA L051F58 + CLC + CLV + RTS + +L051F58 JSR L051B1F + LDA L05197A + INC + CMP L051CA4 + BCC L051F72 + LDY L051B82 + JSR L051CA6 + STY L051B82 + JSR L051EA3 + BCS L051F89 +L051F72 INC L05197A + LDY L051B82 + JSR L051CA6 + JSR L051AF1 + LDA L051980 + CMP #$0017 + BEQ L051F8C + INC L051980 +L051F89 CLC + CLV + RTS + +L051F8C INC L051978 + SEP #$40 + CLC + RTS + +L051F93 LDA L05197A + BEQ L051FAF + JSR L051B1F + DEC L05197A + LDY L051B82 + JSR L051CB9 + JSR L051AF1 + LDA L051980 + BEQ L051FB2 + DEC L051980 +L051FAF CLC + CLV + RTS + +L051FB2 DEC L051978 + SEP #$40 + CLC + RTS + +L051FB9 JSR L051991 + CLC + CLV + RTS + +L051FBF LDA L051B82 + STA L051FCE + LDA L05197A + STA L051FD0 + CLC + CLV + RTS + +L051FCE DB $00 + DB $00 +L051FD0 DB $00 + DB $00 +L051FD2 SEP #$30 + LDA L05197E + CMP #$4F + BCS L051FDE + INC L051C85 +L051FDE REP #$30 + JSR L051FF8 + CLC + CLV + RTS + +L051FE6 SEP #$30 + LDA L051C85 + BEQ L051FDE + DEC L051C85 + REP #$30 + JSR L051FF8 + CLC + CLV + RTS + +L051FF8 PHP + SEP #$30 + JSR L051B62 + STZ L051AA0 + LDX L051C85 + CPX L051B85 + BCC L052024 + LDX L051B85 + DEX + LDA L051B86,X + PHA + LDA #$20 +L052013 STA L051B86,X + INX + CPX L051C85 + BCC L052013 + PLA + STA L051B86,X + INX + STX L051B85 +L052024 LDY #$00 + TYX + STX L051A9A + LDA L051B86 + CMP #$3B + BNE L052034 + LDY L051A9D +L052034 CPX L051C85 + BEQ L05208E + LDA L051B86,X + CMP #$20 + BNE L052070 + BIT L051C86 + BMI L052070 + BIT L051AA0 + BMI L052070 + LDA L051A9A + CMP #$03 + BCS L052070 + LDA L051B87,X + CMP #$3B + BNE L05205E + LDY L051A9D + DEY + BRA L052070 +L05205E PHX + LDX L051A9A + TYA + CMP L051A9B,X + BCS L05206C + LDY L051A9B,X + DEY +L05206C INC L051A9A + PLX +L052070 LDA L051B86,X + ORA #$80 + EOR L051AA0 + BEQ L052087 + BPL L05208A + EOR L051AA0 + CMP #$A2 + BEQ L052087 + CMP #$A7 + BNE L05208A +L052087 STA L051AA0 +L05208A INY + INX + BRA L052034 +L05208E STY L05197E + PLP + RTS + +L052093 PHP + SEP #$30 + STZ L051AA0 + STZ L051A9A + LDY #$00 + TYX +L05209F LDA L051B86,X + BEQ L0520A8 + CMP #$0D + BNE L0520B3 +L0520A8 STA L051B87,X + LDA #$20 + STA L051B86,X + INC L051B85 +L0520B3 CPY L05197E + BCS L0520FA + CMP #$20 + BNE L0520DC + BIT L051C86 + BMI L0520DC + BIT L051AA0 + BMI L0520DC + PHX + LDX L051A9A + CPX #$03 + BCS L0520D8 + TYA + CMP L051A9B,X + BCS L0520D8 + LDY L051A9B,X + DEY +L0520D8 PLX + INC L051A9A +L0520DC LDA L051B86,X + ORA #$80 + EOR L051AA0 + BEQ L0520F3 + BPL L0520F6 + EOR L051AA0 + CMP #$A2 + BEQ L0520F3 + CMP #$A7 + BNE L0520F6 +L0520F3 STA L051AA0 +L0520F6 INY + INX + BRA L05209F +L0520FA BEQ L0520FD + DEX +L0520FD STX L051C85 + REP #$30 + JSR L05210A + JSR L051FF8 + PLP + RTS + +L05210A PHP + SEP #$30 + LDX L051B85 + LDA L051B85,X + PHA +L052114 DEX + BEQ L05211E + LDA L051B85,X + CMP #$20 + BEQ L052114 +L05211E INX + PLA + STA L051B85,X + CMP #$0D + BEQ L05212D + LDA #$0D + STA L051B86,X + INX +L05212D STX L051B85 + PLP + RTS + +L052132 PHP + SEP #$30 + LDA L05197E + CMP #$4F + BCS L052156 + LDX L051C85 +L05213F LDA L051B86,X + BEQ L05215A + CMP #$0D + BEQ L05215A + CMP #$20 + BEQ L05214F + INX + BNE L05213F +L05214F INX + STX L051C85 + JSR L051FF8 +L052156 PLP + CLC + CLV + RTS + +L05215A STA L051B87,X + LDA #$20 + STA L051B86,X + INC L051B85 + BRA L05214F +L052167 STZ L051C85 + JSR L051FF8 + CLV + CLC + RTS + + MX %00 +L052170 JSR L05210A + LDA L051B85 + AND #$00FF + DEC + STA L051C85 + JSR L051FF8 + CLV + CLC + RTS + +L052183 JSR L0522F0 + CLV + CLC + RTS + +L052189 PHP + SEP #$30 + LDX L051B85 + LDA L051B85,X + LDX L051C85 + INX + STA L051B85,X + STX L051B85 + JSR L052214 + PLP + CLV + CLC + RTS + +L0521A3 STZ L05197E + LDA L05197A + INC + CMP L051CA4 + BCC L0521B2 + BRL L051F58 +L0521B2 JSR L051F58 + JSR L051EA3 + SEP #$40 + CLC + RTS + +L0521BC SEP #$30 + CMP #$7F + BNE L0521C5 + BRL L0522CE +L0521C5 PHA + LDX L051B85 + BIT L051982 + BMI L0521DF + DEX + CPX L051C85 + BNE L0521ED + LDA L051B86,X + STA L051B87,X + INC L051B85 + BRA L0521ED +L0521DF LDA L051B85,X + STA L051B86,X + DEX + BEQ L0521ED + CPX L051C85 + BCS L0521DF +L0521ED LDX L051C85 + PLA + STA L051B86,X + BIT L051982 + BPL L05220B + LDA L051B85 + CMP #$FE + BNE L052208 + LDA L051C84 + STA L051C83 + BRA L05220B +L052208 INC L051B85 +L05220B REP #$30 + JSR L051FD2 + JSR L052214 + RTS + +L052214 JSR L051FF8 + JSR L051AA1 + JSR L051B62 + SEP #$30 + STZ L051AA0 + LDY #$00 + LDA #$00 + XBA + STZ L051A9A + LDX #$00 + LDA L051B86 + CMP #$3B + BNE L052238 + LDX L051A9D + LDA #$2A +L052238 STA L051A9F +L05223B LDA L051B86,Y + BNE L052243 + BRL L0522CB +L052243 CMP #$0D + BNE L05224A + BRL L0522CB +L05224A CMP #$20 + BNE L052290 + LDA L051A9F + CMP #$2A + BEQ L05228E + LDA L051AA0 + BNE L05228E + LDA L051B87,Y + CMP #$3B + BEQ L05226E + LDA L051A9A + BEQ L052282 + CMP #$03 + BCS L05228E + CMP #$02 + BCC L052278 +L05226E CPX L051A9D + BCS L05228E + LDX L051A9D + BRA L05228A +L052278 CPX L051A9C + BCS L05228E + LDX L051A9C + BRA L05228A +L052282 CPX L051A9B + BCS L05228E + LDX L051A9B +L05228A INC L051A9A + DEX +L05228E LDA #$A0 +L052290 PHY + PHX + PHA + TXA + LSR + TAY + STAL $E0C054 + BCS L0522A0 + STAL $E0C055 +L0522A0 PLA + ORA #$80 + STA [$28],Y + STAL $E0C054 + EOR L051AA0 + BEQ L0522BB + BPL L0522BE + EOR L051AA0 + CMP #$A2 + BEQ L0522BB + CMP #$A7 + BNE L0522BE +L0522BB STA L051AA0 +L0522BE PLX + PLY + INX + CPX #$50 + BCS L0522CB + INY + BEQ L0522CB + BRL L05223B +L0522CB REP #$30 + RTS + +L0522CE SEP #$30 + LDX L051C85 + BEQ L0522E7 +L0522D5 LDA L051B86,X + STA L051B85,X + BEQ L0522E4 + CMP #$0D + BEQ L0522E4 + INX + BNE L0522D5 +L0522E4 STX L051B85 +L0522E7 REP #$30 + JSR L051FE6 + JSR L052214 + RTS + +L0522F0 SEP #$30 + LDX L051C85 + INX + CPX L051B85 + BEQ L052311 + DEX +L0522FC LDA L051B86,X + BEQ L05230E + CMP #$0D + BEQ L05230E + LDA L051B87,X + STA L051B86,X + INX + BNE L0522FC +L05230E DEC L051B85 +L052311 REP #$30 + JSR L052214 + RTS + +L052317 PHP + REP #$30 + CMP #$0000 + BEQ L052355 + STA L0523A8 + STY $00 + CLC + ADC $D8 + BCC L05232C + PLP + SEC + RTS + +L05232C LDY $D8 + INY + STA $D8 + TYA + EOR $00 + LSR + BCC L052338 + INY +L052338 CLC + LDA L0523A8 + ADC $D4 + STA $E4 + LDA #$0000 + ADC $D6 + STA $E6 +L052347 LDA [$D4],Y + STA [$E4],Y + DEY + DEY + CPY $00 + BNE L052347 + LDA [$D4],Y + STA [$E4],Y +L052355 PLP + CLC + RTS + +L052358 PHP + REP #$30 + CMP #$0000 + BEQ L0523A3 + STA L0523A8 + SEC + LDA $D8 + SBC L0523A8 + BCS L05236E + PLP + SEC + RTS + +L05236E PHA + CLC + LDA L0523A8 + ADC $D4 + STA $E4 + LDA #$0000 + ADC $D6 + STA $E6 + SEP #$20 + LDA [$E4],Y + STA [$D4],Y + REP #$20 + TYA + EOR $D8 + LSR + BCC L05238D + INY +L05238D BRA L052395 +L05238F LDA [$E4],Y + STA [$D4],Y + INY + INY +L052395 CPY $D8 + BEQ L05238F + BCC L05238F + PLY + STY $D8 + LDA #$0000 + STA [$D4],Y +L0523A3 PLP + CLC + RTS + + DB $00 + DB $00 +L0523A8 DB $00 + DB $00 +L0523AA ENT + PHB + PHK + PLB + PHP + REP #$30 + STA L0500F5 + STY L0500F5+2 + STA $00 + STY $02 + ORA $02 + BEQ L0523F0 + PEA ^L0500F3 + PEA L0500F3 + PEA $200E ; ExpandPath + JSL GSOS2 + BCS L05241D + LDA [$00] + TAY + INY + LDX L050143 + INX + SEP #$20 +L0523D7 LDA [$00],Y + AND #$7F + JSR L052478 + CMP L050143,X + BNE L0523EE + LDA [$00],Y + AND #$7F + STA L050143,X + DEX + DEY + BNE L0523D7 +L0523EE REP #$20 +L0523F0 JSR L050245 + BCC L0523F9 + PLP + PLB + CLC + RTL + +L0523F9 PEA ^L052483 + PEA L052483 + PEA $2001 ; Create + JSL GSOS2 + BCC L05241F + CMP #$0047 + BEQ L052410 + BRL L05245F +L052410 PEA ^L052483 + PEA L052483 + PEA $2005 ; SetFileInfo + JSL GSOS2 +L05241D BCS L05245F +L05241F PEA ^L052493 + PEA L052493 + PEA $2010 ; Open + JSL GSOS2 + BCS L05245F + LDA L052495 + STA L05249D + STA L0524AD + JSR L050245 + LDA $D4 + STA L05249F + LDA $D6 + STA L05249F+2 + LDA $D8 + STA L0524A3 + PEA ^L05249B + PEA L05249B + PEA $2013 ; Write + JSL GSOS2 + BCS L05245F + JSR L052466 + PLP + PLB + CLC + RTL + +L05245F JSR L052466 + PLP + PLB + SEC + RTL + +L052466 PHP + PHA + PEA ^L0524AB + PEA L0524AB + PEA $2014 ; Close + JSL GSOS2 + PLA + PLP + RTS + + MX %11 +L052478 CMP #$61 + BCC L052482 + CMP #$7B + BCS L052482 + AND #$5F +L052482 RTS + +L052483 DW $0005 ; Parms for SetFileInfo + ADRL L050143 ; file name + DW $00C3 ; access + DW $0004 ; file type + ADRL $00000000 ; aux type + DS 2 ; (null field) +L052493 DW $0002 ; Parms for Open +L052495 DW $0000 ; ref num + ADRL L050143 ; path name +L05249B DW $0004 ; Parms for Write +L05249D DW $0000 ; ref num +L05249F ADRL $00000000 ; buffer ptr +L0524A3 ADRL $00000000 ; request count + ADRL $00000000 ; transfer count +L0524AB DW $0001 ; Parms for Close +L0524AD DW $0000 ; ref num diff --git a/tfbd/SCRIPTS.X.S b/tfbd/SCRIPTS.X.S new file mode 100644 index 0000000..faa32a2 --- /dev/null +++ b/tfbd/SCRIPTS.X.S @@ -0,0 +1,36 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0283E4 + EXT L0302E1 + EXT L03034A + EXT L0300E2 + EXT L030670 + EXT L030314 + EXT L042BC0 + EXT L0410BB + EXT L043774 + EXT L043069 + EXT L03022D + EXT L045089 + EXT L042A5C + EXT L0301F9 + EXT L03059F + EXT L040326 + EXT L04386A + EXT L043813 + EXT L042C85 + EXT L042ABB + EXT L0300D1 + EXT L030035 + EXT L03074E + EXT L030139 + EXT L04349E + EXT L04037A + EXT L03006F + EXT L030585 + EXT L030579 + EXT L0300F7 + EXT L030593 diff --git a/tfbd/TEXT.E.S b/tfbd/TEXT.E.S new file mode 100644 index 0000000..6bcf864 --- /dev/null +++ b/tfbd/TEXT.E.S @@ -0,0 +1,5 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + diff --git a/tfbd/TEXT.S b/tfbd/TEXT.S new file mode 100644 index 0000000..3cdf1a0 --- /dev/null +++ b/tfbd/TEXT.S @@ -0,0 +1,1968 @@ + +*---------------------------------------------------------* +* Disassembled with The Flaming Bird Disassembler * +* (c) Phoenix corp. 1992,93 - All rights reserved * +*---------------------------------------------------------* + + mx %00 + rel + lst off + +*----------------------- + + use 4/Event.Macs + use 4/Misc.Macs + use 4/Util.Macs + + use TEXT.E + +*----------------------- + +L030000 DW $0000 +L030002 DW $0000 +L030004 DW $0000 + +L030006 ENT + PHB + PEA $0000 + PLB + PLB + PHP + SEP #$30 + LDA #$80 + TRB $C029 + STA $C001 + STA $C054 + STA $C051 + STA $C00D + JSL L030035 + DB $00 + DB $17 + DB $00 + DB $4F + JSL L0300D1 + LDA #$DF + STAL L030000 + PLP + PLB + RTL + +L030035 ENT + PHP + REP #$30 + LDA $03,S + STA $01 + LDA $02,S + INC + STA $00 + SEP #$30 + LDY #$01 + LDA [$00] + STA $20 + LDA [$00],Y + INC + STA $21 + SEC + SBC $20 + STA $24 + INY + LDA [$00],Y + STA $22 + INY + LDA [$00],Y + INC + STA $23 + SEC + SBC $22 + STA $25 + REP #$30 + LDA $00 + CLC + ADC #$0003 + STA $02,S + PLP + RTL + +L03006F ENT + PHP + SEP #$20 + REP #$10 + STA $26 + REP #$30 + AND #$00FF + PHA + AND #$0007 + ASL + ASL + ASL + ASL + ASL + ASL + ASL + STA $2E + PLA + LSR + LSR + LSR + TAX + LDA #$0000 + CLC +L030091 DEX + BMI L030099 + ADC #$0028 + BCC L030091 +L030099 ADC $2E + ADC #$0400 + LDX #$0000 ; AV 20XX - was #$00E0 originally + STX $29 + STA $28 + PLP +L0300A6 RTL + +L0300A7 PHP + SEP #$30 + PEI $27 + LDA $20 + STA $26 + LDA $22 + STA $27 + LDX $24 +L0300B6 PHX + LDA $26 + JSL L03006F + JSL L0300F7 + INC $26 + PLX + DEX + BNE L0300B6 + PLA + STA $27 + PLA + JSL L03006F + PLP + RTL + +L0300D1 ENT + PHP + SEP #$30 + JSL L0300A7 + LDX $22 + LDY $20 + JSL L0300E2 + PLP + RTL + +L0300E2 ENT + PHP + SEP #$30 + STX $27 + TYA + JSL L03006F + PLP + RTL + +L0300EE ENT + PHP + SEP #$30 + LDX $27 + LDY $26 + PLP + RTL + +L0300F7 ENT + PHP + SEP #$30 + LDY $27 + LDA #$A0 +L0300FE JSL L030109 + INY + CPY $23 + BCC L0300FE + PLP + RTL + +L030109 PHP + SEP #$30 + PHY + PHA + TYA + STAL $E0C054 + LSR + BCS L03011A + STAL $E0C055 +L03011A TAY + LDAL L030591 + BEQ L03012F + PLA + AND #$7F + CMP #$40 + BCC L030130 + CMP #$60 + BCS L030130 + AND #$1F + PHA +L03012F PLA +L030130 STA [$28],Y + STAL $E0C054 + PLY + PLP + RTL + +L030139 ENT + PHP + SEP #$30 + PEI $26 + LDA $20 +L030140 STA $26 + JSL L03006F + LDA $28 + STA $2B + LDA $29 + STA $2C + LDA $2A + STA $2D + LDA $26 + INC + JSL L03006F + LDY $22 +L03015B PHY + TYA + LSR + TAY + STAL $E0C054 + BCS L030169 + STAL $E0C055 +L030169 LDA [$28],Y + STA [$2B],Y + STAL $E0C054 + PLY + INY + CPY $23 + BCC L03015B + LDA $26 + INC + CMP $21 + PHP + DEC + PLP + BCC L030140 + LDA $22 + STA $27 + JSL L0300F7 + PLA + JSL L03006F + PLA + STA $27 + PLP + RTL + +L030193 ENT + PHP + SEP #$30 + PEI $26 + LDA $20 + STA $26 + LDA $21 + DEC + BPL L0301A4 + BRL L0301E7 +L0301A4 STA $26 + JSL L03006F + LDA $28 + STA $2B + LDA $29 + STA $2C + LDA $2A + STA $2D + LDA $26 + DEC + JSL L03006F + LDY $22 +L0301BF PHY + TYA + LSR + TAY + STAL $E0C054 + BCS L0301CD + STAL $E0C055 +L0301CD LDA [$28],Y + STA [$2B],Y + STAL $E0C054 + PLY + INY + CPY $23 + BCC L0301BF + LDA $26 + DEC + BMI L0301E7 + CMP $20 + PHP + INC + PLP + BCS L0301A4 +L0301E7 LDA $22 + STA $27 + JSL L0300F7 + PLA + JSL L03006F + PLA + STA $27 + PLP + RTL + +L0301F9 ENT + PHP + SEP #$30 + LDY $27 + JSL L030109 + PLP +L030203 PHP + SEP #$30 + LDY $27 + INY + STY $27 + CPY $23 + BCS L030211 + PLP + RTL + +L030211 LDA $22 + STA $27 +L030215 PLP +L030216 PHP + SEP #$30 + LDA $26 + INC + CMP $21 + BCC L030227 + DEC + PHA + JSL L030139 + PLA +L030227 JSL L03006F + PLP + RTL + +L03022D ENT + PHB + PHK + PLB + PHP + SEP #$30 + TAX + AND #$7F + CMP #$20 + BCS L030248 + LDX #$07 +L03023C CMPL L030261,X + BEQ L030250 + DEX + BPL L03023C + PLP + PLB + RTL + +L030248 TXA + JSL L0301F9 +L03024D PLP + PLB + RTL + +L030250 TXA + ASL + TAX + PHK + PER L03024D-1 + PHK + LDA L030269+1,X + PHA + LDA L030269,X + PHA + RTL + +L030261 DB $07 + DB $08 + DB $0A + DB $0B + DB $0C + DB $0D + DB $15 + DB $18 +L030269 DA L030279-1 + DA L030294-1 + DA L030216-1 + DA L0302AD-1 + DA L0300A7-1 + DA L0302C3-1 + DA L030203-1 + DA L030285-1 + +L030279 PHP + REP #$30 + _SysBeep + PLP + RTL + +L030285 PHP + SEP #$30 + LDA #$DC + JSL L03022D + JSL L0302C3 + PLP + RTL + +L030294 PHP + SEP #$30 + LDA $27 + CMP $22 + BEQ L0302A2 + DEC + STA $27 + PLP + RTL + +L0302A2 LDA $23 + DEC + STA $27 + JSL L0302AD + PLP + RTL + +L0302AD PHP + SEP #$30 + LDA $26 + CMP $20 + BEQ L0302BD + DEC + JSL L03006F + PLP + RTL + +L0302BD JSL L030193 + PLP + RTL + +L0302C3 ENT + PHP + SEP #$30 + JSL L0300F7 + JSL L030216 + LDA $22 + STA $27 + PLP + RTL + +L0302D4 ENT + PHP + SEP #$30 + JSL L030216 + LDA $22 + STA $27 + PLP + RTL + +L0302E1 ENT + PHP + REP #$30 + LDA $03,S + STA $01 + LDA $02,S + STA $00 + SEP #$30 + LDY #$01 + LDA [$00],Y + BEQ L030303 + TAX +L0302F5 INY + LDA [$00],Y + PHY + PHX + JSL L03022D + PLX + PLY + DEX + BNE L0302F5 +L030303 LDY #$01 + LDA [$00],Y + REP #$20 + AND #$00FF + INC + CLC + ADC $00 + STA $02,S + PLP + RTL + +L030314 ENT + PHP + REP #$30 + LDA $03,S + STA $01 + LDA $02,S + STA $00 + CLC + ADC #$0003 + STA $02,S + LDY #$0002 + LDA [$00],Y + TAX + DEY + LDA [$00],Y + STX $01 + STA $00 + SEP #$30 + DEY + LDA [$00] + BEQ L030348 + TAX +L03033A INY + LDA [$00],Y + PHY + PHX + JSL L03022D + PLX + PLY + DEX + BNE L03033A +L030348 PLP + RTL + +L03034A ENT + PHP + SEP #$30 + PEI $2E + LDA $27 + STAL $E0C054 + LSR + BCS L03035C + STAL $E0C055 +L03035C TAY + LDA [$28],Y + REP #$10 + STA $2E +L030363 LDAL L030000 + STA [$28],Y + LDX #$0014 +L03036C PHX + PHY + JSL L03059F + PLY + PLX + BCC L030395 + JSR L0303AA + DEX + BNE L03036C + LDA $2E + STA [$28],Y + LDX #$0014 +L030383 PHX + PHY + JSL L03059F + PLY + PLX + BCC L030395 + JSR L0303AA + DEX + BNE L030383 + BRA L030363 +L030395 PHA + LDA $2E + STA [$28],Y + PLA + STAL $E0C010 + STAL $E0C054 + REP #$30 + PLX + STX $2E + PLP + RTL + +L0303AA LDAL $E0C019 + BMI L0303AA +L0303B0 LDAL $E0C019 + BPL L0303B0 + RTS + + PHB + PHK + PLB + PHP + REP #$30 + STZ L030002 + STZ L030004 +L0303C3 STA $2B + SEP #$30 + STY $2D + LDA #$01 + STA $2E + DEC + STA [$2B] + STX L030418 + LDY #$00 + STY $27 + INC $27 + JSR L0304F9 +L0303DC JSR L03041A + JSL L03034A + CMP #$8D + BEQ L03040B + JSR L030445 + BCS L0303DC + TAX + LDY $27 + CPY $2E + BCS L030402 + LDY $2E + DEY +L0303F6 LDA [$2B],Y + INY + STA [$2B],Y + DEY + DEY + CPY $27 + BCS L0303F6 + INY +L030402 TXA + STA [$2B],Y + INC $2E + INC $27 + BRA L0303DC +L03040B LDA $2E + TAY + DEC + STA [$2B] + LDA #$00 + STA [$2B],Y + PLP + PLB + RTL + +L030418 DW $0000 + +L03041A LDY #$01 + STY $2F + INY + STAL $E0C055 + LDA L030418 + STA [$28] + LDX #$01 +L03042A LDA [$2B],Y + PHY + TXY + STA [$28],Y + PLY + INY + INY + INX + CPY #$4F + BCC L03042A + LDY #$01 + LDX #$00 + STAL $E0C054 + DEC $2F + BPL L03042A + RTS + +L030445 XBA + PHA + AND #$10 + TAX + PLA + XBA + CPX #$10 + BEQ L030468 + LDX #$04 +L030452 CMP L0304B0,X + BEQ L0304AA + DEX + BPL L030452 + CMP #$A0 + BCC L030468 + LDX $2E + CPX #$4F + BCS L030466 + CLC + RTS + +L030466 SEC + RTS + +L030468 REP #$30 + PHA + JSL L03053D + PLA + PHB + TAY + LDA L030002 + ORA L030004 + BEQ L030491 + PHK + PER L030491-1 + TYA + AND #$FF7F + PHA + SEP #$10 + LDX L030004 + PHX + REP #$10 + LDA L030002 + DEC + PHA + RTL + +L030491 SEP #$30 + PLB + JSL L030553 + LDA [$2B] + BEQ L0304A8 + INC + STA $2E + STA $27 + LDA #$00 + STA [$2B] + JSR L0304F9 +L0304A8 SEC + RTS + +L0304AA TXA + ASL + TAX + JMP (L0304B5,X) + +L0304B0 DB $88 + DB $95 + DB $98 + DB $FF + DB $99 + +L0304B5 DA L0304BF + DA L0304C8 + DA L0304D3 + DA L0304DC + DA L0304F9 + +L0304BF LDA $27 + DEC + BEQ L0304C6 + STA $27 +L0304C6 SEC + RTS + +L0304C8 LDA $27 + CMP $2E + BEQ L0304D1 + INC + STA $27 +L0304D1 SEC + RTS + +L0304D3 LDA #$01 + STA $27 + STA $2E + JMP L0304F9 + +L0304DC LDY $27 + CPY #$01 + BEQ L0304D1 +L0304E2 LDA [$2B],Y + DEY + STA [$2B],Y + INY + INY + CPY $2E + BCC L0304E2 + BEQ L0304E2 + DEY + LDA #$A0 + STA [$2B],Y + DEC $2E + JMP L0304BF + +L0304F9 LDY $27 + LDA #$A0 +L0304FD STA [$2B],Y + INY + CPY #$4F + BCC L0304FD + LDY $27 + STY $2E + SEC + RTS + +L03050A ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $0C,S + STA L030002 + LDA $0E,S + STA L030004 + LDA $0A,S + TAY + LDA $06,S + TAX + LDA $08,S + PHA + LDA $06,S + STA $10,S + LDA $04,S + STA $0E,S + LDA $02,S + STA $0C,S + LDA $01,S + STA $0B,S + TSC + CLC + ADC #$000A + TCS + PLA + JMP L0303C3 + +L03053D PHB + PHK + PLB + PHP + REP #$20 + SEP #$10 + LDX #$0E +L030547 LDA $20,X + STA L030569,X + DEX + DEX + BPL L030547 + PLP + PLB + RTL + +L030553 PHB + PHK + PLB + PHP + REP #$20 + SEP #$10 + LDX #$0E +L03055D LDA L030569,X + STA $20,X + DEX + DEX + BPL L03055D + PLP + PLB + RTL + +L030569 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L030579 ENT + PHP + REP #$30 + LDA #$FFFF + STAL L030591 + PLP + RTL + +L030585 ENT + PHP + REP #$30 + LDA #$0000 + STAL L030591 + PLP + RTL + +L030591 DW $0000 +L030593 ENT + PHP + REP #$30 + AND #$00FF + STAL L030000 + PLP + RTL + +L03059F ENT + PHB + PHK + PLB + PHP + REP #$30 + PHA + _EMStatus + PLA + BEQ L0305E2 + PHA + PEA $FFFF + PEA ^L030624 + PEA L030624 + _GetNextEvent + PLA + LDA L030624 + CMP #$0003 + BEQ L0305CF + CMP #$0005 + BNE L0305DE +L0305CF SEP #$20 + LDA L030632+1 + XBA + LDA L030626 + ORA #$80 + PLP + PLB + CLC + RTL + +L0305DE PLP + PLB + SEC + RTL + +L0305E2 SEP #$30 + LDAL $E0C000 + BPL L0305DE + STAL $E0C010 + PHA + LDAL $E0C025 + STZ L030632+1 + LDX #$07 +L0305F8 PHA + AND L030614,X + BEQ L030607 + LDA L03061C,X + ORA L030632+1 + STA L030632+1 +L030607 PLA + DEX + BPL L0305F8 + LDA L030632+1 + XBA + PLA + PLP + PLB + CLC + RTL + +L030614 DB $01 + DB $02 + DB $04 + DB $08 + DB $10 + DB $20 + DB $40 + DB $80 +L03061C DB $02 + DB $10 + DB $04 + DB $00 + DB $20 + DB $00 + DB $08 + DB $01 +L030624 DW $0000 ; event code +L030626 ADRL $00000000 ; event message + ADRL $00000000 ; tick count + DW $0000 ; mouse location + DW $0000 +L030632 DW $0000 ; modifiers +L030634 PHP + REP #$30 + LDA $05,S + AND #$000F + CLC + ADC #$00B0 + CMP #$00BA + BCC L030648 + ADC #$0006 +L030648 JSL L03022D +L03064C LDA $03,S + STA $05,S + LDA $01,S + STA $03,S + TSC + INC + INC + TCS + PLP + RTL + +L03065A ENT + PHP + REP #$30 + LDA $05,S + PHA + LSR + LSR + LSR + LSR + PHA + JSL L030634 + JSL L030634 + JMP L03064C + +L030670 ENT + PHP + REP #$30 + LDA $05,S + PHA + XBA + PHA + JSL L03065A + JSL L03065A + JMP L03064C + +L030683 PHP + REP #$30 + PHD + TSC + CLC + ADC #$0007 + TCD + LDA [$00] + AND #$007F + CMP #$0030 + BCC L0306A6 + CMP #$0047 + BCS L0306A6 + CMP #$003A + BCC L0306AD + CMP #$0041 + BCS L0306B3 +L0306A6 LDA #$0000 + PLD + PLP + SEC + RTL + +L0306AD SEC + SBC #$0030 + BRA L0306B7 +L0306B3 SEC + SBC #$0037 +L0306B7 INC $00 + PLD + PLP + CLC + RTL + +L0306BD ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $08,S + PHA + LDA $08,S + PHA + STZ L030715 + STZ L030717 + STX $2E + JSL L030683 + LDX $2E + BCS L0306FB + BCC L0306E3 +L0306DB STX $2E + JSL L030683 + BCS L0306FA +L0306E3 LDX #$0004 +L0306E6 ASL L030715 + ROL L030717 + DEX + BNE L0306E6 + ORA L030715 + STA L030715 + LDX $2E + DEX + BNE L0306DB +L0306FA CLC +L0306FB PLA + STA $08,S + PLA + STA $08,S + BCS L03070D + LDY L030717 + LDA L030715 + PLP + CLC + PLB + RTL + +L03070D LDA #$0000 + TAY + PLP + SEC + PLB + RTL + +L030715 DW $0000 +L030717 DW $0000 +L030719 ENT + PHP + REP #$30 + LDA $03,S + STA $01 + LDA $02,S + STA $00 + CLC + ADC #$0003 + STA $02,S + LDY #$0002 + LDA [$00],Y + TAX + DEY + LDA [$00],Y + STX $01 + STA $00 + LDA [$00] + BEQ L03074C + TAX + SEP #$20 +L03073E INY + LDA [$00],Y + PHY + PHX + JSL L03022D + PLX + PLY + DEX + BNE L03073E +L03074C PLP + RTL + +L03074E ENT + PHB + PHK + PLB + PHP + REP #$30 + LDA $04,S + STA $01 + LDA $03,S + INC + STA $00 + CLC + ADC #$0003 + STA $03,S + LDA [$00] + STA L0307D0 + LDY #$0002 + LDA [$00],Y + STA L0307D2 + SEP #$30 + INC L0307D1 + JSR L0307CC + LDX $25 +L03077A LDA #$DF + PHX + JSL L03022D + PLX + DEX + BNE L03077A + LDX $24 + DEX + DEX + DEX +L03078A PHX + LDA #$5F + JSL L03022D + LDX $25 + DEX + DEX +L030795 LDA #$A0 + PHX + JSL L03022D + PLX + DEX + BNE L030795 + LDA #$5A + JSL L03022D + PLX + DEX + BNE L03078A + LDX $25 +L0307AC LDA #$4C + PHX + JSL L03022D + PLX + DEX + BNE L0307AC + INC L0307D0 + DEC L0307D1 + DEC L0307D1 + INC L0307D2 + DEC L0307D3 + JSR L0307CC + PLP + PLB + RTL + +L0307CC JSL L030035 +L0307D0 DB $00 +L0307D1 DB $00 +L0307D2 DB $00 +L0307D3 DB $00 + LDX $22 + LDY $20 + JSL L0300E2 + RTS + +L0307DD ENT + PHP + REP #$30 + LDA $09,S + STA $00 + LDA $0B,S + STA $02 + LDA $05,S + STA $04 + LDA $07,S + STA $06 + LDA $03,S + STA $0B,S + LDA $01,S + STA $09,S + TSC + CLC + ADC #$0008 + TCS + LDA #$0000 + SEP #$30 + LDA [$00] + STA $08 + BEQ L030820 + LDA [$04] + INC + TAY + LDX #$01 +L03080F PHY + TXY + LDA [$00],Y + PLY + INX + STA [$04],Y + INY + DEC $08 + BNE L03080F + DEY + TYA + STA [$04] +L030820 PLP + CLC + RTL + +L030823 ENT + PHP + REP #$30 + AND #$000F + CLC + ADC #$00B0 + CMP #$00BA + BCC L030835 + ADC #$0006 +L030835 PLP + RTL + +L030837 ENT + PHP + REP #$30 + PHA + JSL L030823 + TAY + PLA + PHY + LSR + LSR + LSR + LSR + JSL L030823 + SEP #$30 + XBA + PLA + XBA + PLY + PLP + RTL + +L030852 ENT + PHB + PHK + PLB + PHP + REP #$30 + TSC + PHD + CLC + ADC #$0006 + TCD + LDA [$04] + STA L0308AD + BEQ L030887 + LDA [$00] + TAX + CLC + ADC L0308AD + BCS L03088A + STA [$00] + LDY #$0001 + INX +L030875 SEP #$20 + INY + INX + LDA [$04],Y + PHY + TXY + STA [$00],Y + PLY + REP #$20 + DEC L0308AD + BNE L030875 +L030887 CLV + BRA L03088C +L03088A SEP #$40 +L03088C PLD + LDA $04,S + STA $0C,S + LDA $02,S + STA $0A,S + LDA $01,S + STA $09,S + TSC + CLC + BVC L0308A5 + ADC #$0008 + TCS + PLP + SEC + PLB + RTL + +L0308A5 ADC #$0008 + TCS + PLP + CLC + PLB + RTL + +L0308AD DW $0000 +L0308AF ENT + PHP + REP #$30 + PHD + PHY + PHX + TAX + TSC + TCD + TXA + JSL L030837 + JSR L0308C5 + PLX + PLY + PLD + PLP + RTL + +L0308C5 PHA + LDA [$01] + INC + INC + TAY + STA [$01] + PLA + STA [$01],Y + RTS + +L0308D1 ENT + PHP + REP #$30 + PHD + PHA + PHY + PHX + TSC + TCD + LDA $05 + XBA + JSL L030837 + JSR L0308C5 + LDA $05 + JSL L030837 + JSR L0308C5 + PLX + PLY + PLA + PLD + PLP + RTL + +L0308F3 ENT + PHP + REP #$30 + LDA $04,S + XBA + PHA + PLB + PLB + LDY #$0001 + LDA ($02,S),Y + STAL L030914 + INY + INY + LDA ($02,S),Y + STAL L030916 + PHB + PHK + PLB + JSL L03074E +L030914 DB $00 +L030915 DB $00 +L030916 DB $00 +L030917 DB $00 + JSL L030035 + DB $00 + DB $17 + DB $00 + DB $4F + LDA $03,S + STA $10 + LDA $04,S + STA $11 + LDY #$0005 + LDA [$10],Y + STA $14 + INY + INY + LDA [$10],Y + STA $16 + CLC + LDA $10 + ADC #$0008 + STA $03,S + LDY #$0000 + STZ L03095B + STZ L030959 +L030946 LDA [$14],Y + AND #$00FF + BEQ L0309BD + INC L03095B + PHA + TYA + SEC + ADC $01,S + TAY + PLA + BRA L030946 +L030959 DB $00 + DB $00 +L03095B DB $00 + DB $00 +L03095D DB $00 + DB $00 +L03095F DB $00 + DB $00 +L030961 DB $00 + DB $00 +L030963 DB $00 + DB $00 +L030965 DB $00 + DB $00 +L030967 DB $00 + DB $00 +L030969 DB $00 + DB $00 +L03096B DB $00 +L03096C ASC " " + ASC " " + ASC " " +L0309BD DEC L03095B + SEP #$20 + SEC + LDA L030915 + SBC L030914 + DEC + STA L03095D + DEC + STA L030961 + STZ L03095F + SEC + LDA L030917 + SBC L030916 + DEC + STA L03096B + DEC + DEC + STA L030969 + REP #$20 + LDA L03095B + STA L030965 + STA L030967 + LDA L03095D + CMP L03095B + BEQ L0309F9 + BCS L030A10 +L0309F9 LSR + BCC L0309FD + INC +L0309FD DEC + STA L030965 + LDA L03095B + SEC + SBC L03095D + INC + CLC + ADC L030965 + STA L030967 +L030A10 STZ L030963 +L030A13 JSR L030A88 +L030A16 SEP #$20 +L030A18 JSL L03059F + BCS L030A18 + REP #$20 + AND #$007F + CMP #$000B + BEQ L030A3B + CMP #$000A + BEQ L030A5C + CMP #$000D + BEQ L030A81 + CMP #$001B + BNE L030A16 + PLB + PLP + SEC + RTL + +L030A3B LDA L030959 + BEQ L030A16 + DEC L030959 + LDX L03095F + BEQ L030A57 + CMP L030967 + BEQ L030A4F + BCS L030A57 +L030A4F DEC L03095F + DEC L030961 + BRA L030A13 +L030A57 DEC L030963 + BRA L030A13 +L030A5C LDA L030959 + CMP L03095B + BEQ L030A16 + INC L030959 + LDX L030961 + CPX L03095B + BEQ L030A7C + CMP L030965 + BCC L030A7C + INC L03095F + INC L030961 + BRA L030A13 +L030A7C INC L030963 + BRA L030A13 +L030A81 LDA L030959 + PLB + PLP + CLC + RTL + +L030A88 LDY #$0000 + LDX #$0000 +L030A8E CPX L03095F + BEQ L030AA7 + LDA [$14],Y + AND #$00FF + PHA + TYA + CLC + ADC $01,S + INC + TAY + PLA + INX + BRA L030A8E +L030AA3 DW $0000 +L030AA5 DW $0000 +L030AA7 TYA + CLC + ADC $14 + STA $18 + LDA $16 + STA $1A + STZ L030AA5 +L030AB4 LDA [$18] + AND #$00FF + BNE L030ABC + RTS + +L030ABC PHA + CMP L030969 + BCC L030AC5 + LDA L030969 +L030AC5 STA L030AA3 + LDY #$0000 +L030ACB INY + LDA [$18],Y + STA L03096C,Y + CPY L030AA3 + BNE L030ACB + LDA #$00A0 +L030AD9 INY + STA L03096C,Y + CPY L030969 + BCC L030AD9 + STA L03096C+1,Y + LDA L030914 + AND #$00FF + INC + CLC + ADC L030AA5 + TAY + LDA L030916 + AND #$00FF + INC + TAX + JSL L0300E2 + LDA L030AA5 + CMP L030963 + BNE L030B09 + JSL L030579 +L030B09 JSL L030314 + ADR L03096B + JSL L030585 + PLA + INC + CLC + ADC $18 + STA $18 + INC L030AA5 + LDA L030AA5 + CMP L03095D + BCC L030AB4 + RTS + +L030B27 ENT + PHP + REP #$30 + LDA $04,S + XBA + PHA + PLB + PLB + LDY #$0001 + LDA ($02,S),Y + STAL L030B67 + INY + INY + LDA ($02,S),Y + STAL L030B69 + LDX #$0000 + SEP #$20 + INY +L030B47 INY + INX + LDA ($02,S),Y + STAL L030BE1,X + CPY #$000B + BCC L030B47 + LDA #$5C + STAL L030BE1 + STAL L030BE5 + REP #$20 + PHB + PHK + PLB + JSL L03074E +L030B67 DB $00 +L030B68 DB $00 +L030B69 DB $00 +L030B6A DB $00 + JSL L030035 + DB $00 + DB $17 + DB $00 + DB $4F + CLC + LDA $03,S + ADC #$000C + STA $03,S + BRA L030BE9 +L030B7D DB $00 + DB $00 +L030B7F DB $00 + DB $00 +L030B81 DB $00 + DB $00 +L030B83 DB $00 + DB $00 +L030B85 DB $00 + DB $00 +L030B87 DB $00 + DB $00 +L030B89 DB $00 + DB $00 +L030B8B DB $00 + DB $00 +L030B8D DB $00 + DB $00 +L030B8F DB $00 +L030B90 ASC " " + ASC " " + ASC " " +L030BE1 DB $00 + DB $00 + DB $00 + DB $00 +L030BE5 DB $00 +L030BE6 DB $00 +L030BE7 DB $00 + DB $00 +L030BE9 SEP #$20 + SEC + LDA L030B68 + SBC L030B67 + DEC + STA L030B81 + SEC + LDA L030B6A + SBC L030B69 + DEC + STA L030B8F + DEC + DEC + STA L030B8D +L030C06 REP #$20 + LDA #$0000 + PHA + PHA + DEC + PHA + JSL L030BE1 + PLA + PLA + PLX + STX L030B7D + DEC + STA L030B7F + STA L030B89 + STA L030B8B + LDA L030B81 + CMP L030B7F + BEQ L030C2D + BCS L030C44 +L030C2D LSR + BCC L030C31 + INC +L030C31 DEC + STA L030B89 + LDA L030B7F + SEC + SBC L030B81 + INC + CLC + ADC L030B89 + STA L030B8B +L030C44 STZ L030B87 + STZ L030B83 + LDA L030B81 + DEC + STA L030B85 + LDA L030B7D + CMP L030B7F + BEQ L030C5E + BCC L030C5E + STZ L030B7D +L030C5E JSR L030D16 +L030C61 JSR L030D70 +L030C64 SEP #$20 +L030C66 JSL L03059F + BCS L030C66 + REP #$20 + AND #$007F + CMP #$000B + BEQ L030C8C + CMP #$000A + BEQ L030CAD + CMP #$000D + BEQ L030CE1 + CMP #$001B + BEQ L030C88 + BRL L030CE8 +L030C88 PLB + PLP + SEC + RTL + +L030C8C LDA L030B7D + BEQ L030C64 + DEC L030B7D + LDX L030B83 + BEQ L030CA8 + CMP L030B8B + BEQ L030CA0 + BCS L030CA8 +L030CA0 DEC L030B83 + DEC L030B85 + BRA L030C61 +L030CA8 DEC L030B87 + BRA L030C61 +L030CAD LDA L030B7D + CMP L030B7F + BEQ L030C64 + INC L030B7D + LDX L030B85 + CPX L030B7F + BEQ L030CCD + CMP L030B89 + BCC L030CCD + INC L030B83 + INC L030B85 + BRA L030C61 +L030CCD INC L030B87 + BRA L030C61 +L030CD2 CMP L030B7F + BEQ L030CD9 + BCS L030C64 +L030CD9 STA L030B7D + JSR L030D16 + BRA L030C61 +L030CE1 LDA L030B7D + PLB + PLP + CLC + RTL + +L030CE8 TAY + LDA L030BE6 + ORA L030BE7 + BEQ L030D03 + LDA #$0000 + PHA + PHA + PHY + JSL L030BE5 + PLA + PLY + PLA + CMP #$0005 + BCC L030D06 +L030D03 BRL L030C64 +L030D06 ASL + TAX + TYA + JMP (L030D0C,X) + +L030D0C DA L030C64 + DA L030C06 + DA L030CD2 + DA L030C88 + DA L030CE1 + +L030D16 STZ L030B83 + LDA L030B81 + DEC + STA L030B85 + LDA L030B7D + STA L030B87 + CMP L030B89 + BEQ L030D6B + BCC L030D6B + LDA L030B81 + DEC + LSR + STA L030B87 + SEC + SBC L030B7D + EOR #$FFFF + INC + STA L030B83 + CLC + ADC L030B81 + DEC + STA L030B85 + LDA L030B7D + CMP L030B8B + BEQ L030D6B + BCC L030D6B + LDA L030B7F + STA L030B85 + SEC + SBC L030B81 + INC + STA L030B83 + SEC + SBC L030B7D + EOR #$FFFF + INC + STA L030B87 +L030D6B RTS + +L030D6C DW $0000 +L030D6E DW $0000 +L030D70 LDA #$0000 + STA L030D6E +L030D76 CLC + ADC L030B83 + PHA + PHA + PHA + JSL L030BE1 + PLA + PLA + STA $18 + PLA + STA $1A + LDA [$18] + AND #$00FF + CMP L030B8D + BCC L030D95 + LDA L030B8D +L030D95 STA L030D6C + LDY #$0000 +L030D9B INY + LDA [$18],Y + STA L030B90,Y + CPY L030D6C + BCC L030D9B + LDY L030D6C + LDA #$00A0 +L030DAC INY + STA L030B90,Y + CPY L030B8D + BCC L030DAC + STA L030B90+1,Y + LDA L030B67 + AND #$00FF + INC + CLC + ADC L030D6E + TAY + LDA L030B69 + AND #$00FF + INC + TAX + JSL L0300E2 + LDA L030D6E + CMP L030B87 + BNE L030DDC + JSL L030579 +L030DDC JSL L030314 + ADR L030B8F + JSL L030585 + INC L030D6E + LDA L030D6E + CMP L030B81 + BCC L030D76 + RTS + diff --git a/tfbd/tfbd informations.txt b/tfbd/tfbd informations.txt new file mode 100644 index 0000000..ac12329 --- /dev/null +++ b/tfbd/tfbd informations.txt @@ -0,0 +1,13 @@ +TFBD + +0001 ~ExpressLoad 8001 +0002 Disasm 1000 +0003 Text 1000 +0004 Kernel 1000 +0005 Scripts 1000 + +v1.0.3 - AV 20XX +Changed the text buffer pointer because Sweet 16 does not refresh E0/0400 indirectly (see AV 20XX of TEXT.S) + +v1.0.4 - AV 202009 +Scripts: lowercase commands added, now oa-q works :-) diff --git a/tfbd/tfbd_v104.2mg b/tfbd/tfbd_v104.2mg new file mode 100644 index 0000000..158ac09 Binary files /dev/null and b/tfbd/tfbd_v104.2mg differ diff --git a/ultima2/.DS_Store b/ultima2/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/ultima2/.DS_Store differ diff --git a/ultima2/CREATE.S b/ultima2/CREATE.S new file mode 100644 index 0000000..ef49960 --- /dev/null +++ b/ultima2/CREATE.S @@ -0,0 +1,489 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $6000 + MX %11 + LST OFF + +*---------------------------- + +KBD EQU $C000 +KBDSTROBE EQU $C010 +VTAB EQU $FC22 +HOME EQU $FC58 +RDKEY EQU $FD0C +PRBYTE EQU $FDDA +COUT EQU $FDED +SETINV EQU $FE80 +SETNORM EQU $FE84 + +*---------------------------- + + JSR HOME + LDX #$06 + LDY #$0C + JSR L6665 + JSR L65BA + ASC "(INSERT A BLANK PLAYER DISK)"0D00 +L602B LDA KBD + CMP #$9B + BNE L602B + BIT KBDSTROBE + JSR L65BA + ASC 0D + ASC 04 + ASC "NOMONIOC"0D + ASC 04 + ASC "BLOAD PLAYER"0D00 + LDA $4E00 + BEQ L6089 + JSR HOME + LDY #$0B + LDX #$0E + JSR L6665 + JSR L65BA + ASC "NOT A BLANK"00 + LDY #$0D + LDX #$0E + JSR L6665 + JSR L65BA + ASC "PLAYER DISK"00 + JMP L65B7 + +L6089 JSR HOME + JSR L65BA + ASC " PLAYER GENERATION :"00 + JSR L65BA + ASC 0D0A + ASC " POINTS LEFT TO DISTRIBUTE : "00 + JSR SETINV + LDA #$90 + STA $FA + JSR PRBYTE + JSR SETNORM + JSR L65BA + ASC 0D0A + ASC " STRENGTH......."0D + ASC " AGILITY........"0D + ASC " STAMINA........"0D + ASC " CHARISMA......."0D + ASC " WISDOM........."0D + ASC " INTELLIGENCE..."0D0A + ASC " M/F-"0D + ASC " RACE-"0D + ASC " TYPE-"0D + ASC " NAME-"0D0A + ASC " SATISFACTORY (Y/N)-"0D0A + ASC " RACES: TYPES:"0D + ASC " 1-HUMAN 1-FIGHTER"0D + ASC " 2-ELF 2-CLERIC"0D + ASC " 3-DWARF 3-WIZARD"0D + ASC " 4-HOBBIT 4-THIEF"00 + LDY #$04 + LDX #$1A + JSR L6665 + JSR L65E7 + STA $4E15 + JSR L6635 + LDY #$05 + LDX #$1A + JSR L6665 + JSR L65E7 + STA $4E16 + JSR L6635 + LDX #$1A + LDY #$06 + JSR L6665 + JSR L65E7 + STA $4E17 + JSR L6635 + LDY #$07 + LDX #$1A + JSR L6665 + JSR L65E7 + STA $4E18 + JSR L6635 + LDX #$1A + LDY #$08 + JSR L6665 + JSR L65E7 + STA $4E19 + JSR L6635 + LDX #$1A + LDY #$09 + JSR L6665 + JSR L65E7 + STA $4E1A + JSR L6635 + LDX #$14 + LDY #$0B + JSR L6665 +L6306 JSR RDKEY + STA $4E10 + CMP #$CD ; M + BNE L6333 + JSR L65BA + ASC "MALE"00 + LDA $4E15 + SED + CLC + ADC #$05 + CLD + STA $4E15 + LDX #$1A + LDY #$04 + JSR L6665 + LDA $4E15 + JSR PRBYTE + JMP L6359 + +L6333 CMP #$C6 ; F + BNE L6306 + JSR L65BA + ASC "FEMALE"00 + LDA $4E18 + SED + CLC + ADC #$10 + CLD + STA $4E18 + LDX #$1A + LDY #$07 + JSR L6665 + LDA $4E18 + JSR PRBYTE +L6359 LDX #$14 + LDY #$0C + JSR L6665 + JSR RDKEY + STA $4E12 + CMP #$B1 + BNE L638E + JSR L65BA + ASC "HUMAN"00 + LDA $4E1A + SED + CLC + ADC #$05 + CLD + STA $4E1A + LDX #$1A + LDY #$09 + JSR L6665 + LDA $4E1A + JSR PRBYTE + JMP L6405 + +L638E CMP #$B2 + BNE L63B4 + JSR L65BA + ASC "ELF"00 + LDA $4E16 + SED + CLC + ADC #$05 + CLD + STA $4E16 + LDX #$1A + LDY #$05 + JSR L6665 + LDA $4E16 + JSR PRBYTE + JMP L6405 + +L63B4 CMP #$B3 + BNE L63DC + JSR L65BA + ASC "DWARF"00 + LDA $4E15 + SED + CLC + ADC #$05 + CLD + STA $4E15 + LDX #$1A + LDY #$04 + JSR L6665 + LDA $4E15 + JSR PRBYTE + JMP L6405 + +L63DC CMP #$B4 + BEQ L63E3 + JMP L6359 + +L63E3 JSR L65BA + ASC "HOBBIT"00 + LDA $4E19 + SED + CLC + ADC #$10 + CLD + STA $4E19 + LDX #$1A + LDY #$08 + JSR L6665 + LDA $4E19 + JSR PRBYTE +L6405 CLC + LDA $4E12 + SBC #$B0 + STA $4E12 + LDY #$0D + LDX #$14 + JSR L6665 + JSR RDKEY + STA $4E11 + CMP #$B1 + BNE L6445 + JSR L65BA + ASC "FIGHTER"00 + LDA $4E15 + SED + CLC + ADC #$15 + CLD + STA $4E15 + LDX #$1A + LDY #$04 + JSR L6665 + LDA $4E15 + JSR PRBYTE + JMP L64BF + +L6445 CMP #$B2 + BNE L646E + JSR L65BA + ASC "CLERIC"00 + LDA $4E19 + SED + CLC + ADC #$10 + CLD + STA $4E19 + LDX #$1A + LDY #$08 + JSR L6665 + LDA $4E19 + JSR PRBYTE + JMP L64BF + +L646E CMP #$B3 + BNE L6497 + JSR L65BA + ASC "WIZARD"00 + LDA $4E1A + SED + CLC + ADC #$10 + CLD + STA $4E1A + LDX #$1A + LDY #$09 + JSR L6665 + LDA $4E1A + JSR PRBYTE + JMP L64BF + +L6497 CMP #$B4 + BEQ L649E + JMP L6405 + +L649E JSR L65BA + ASC "THIEF"00 + LDA $4E16 + SED + CLC + ADC #$10 + CLD + STA $4E16 + LDX #$1A + LDY #$05 + JSR L6665 + LDA $4E16 + JSR PRBYTE +L64BF CLC + LDA $4E11 + SBC #$B0 + STA $4E11 +L64C8 LDY #$0E + LDX #$14 + JSR L6665 + JSR L65BA + ASC " "00 + LDX #$14 + LDY #$0E + JSR L6665 + LDX #$0E + LDA #$00 +L64ED STA $4E00,X + DEX + BNE L64ED + LDX #$00 +L64F5 JSR RDKEY + CMP #$88 + BEQ L64C8 + CMP #$8D + BEQ L650B + JSR COUT + STA $4E00,X + INX + CPX #$0C + BCC L64F5 +L650B LDY #$10 + LDX #$1D + JSR L6665 + JSR RDKEY + JSR COUT + CMP #$CE ; N + BNE L651F + JMP L6089 + +L651F CMP #$D9 ; Y + BNE L650B + LDA #$14 + STA $4E24 + LDA #$14 + STA $4E25 + LDA #$02 + STA $4E13 + LDA #$04 + STA $4E1B + STA $4E1D + STA $4E22 + JSR L65BA + ASC 0D + ASC 04 + ASC "BSAVE PLAYER,A$4E00,L$100"0D00 + JSR HOME + LDY #$0B + LDX #$0B + JSR L6665 + JSR L65BA + ASC "TO PLAY ULTIMA ]["00 + LDY #$0D + LDX #$09 + JSR L6665 + JSR L65BA + ASC "INSERT PROGRAM MASTER"00 +L659C LDA KBD + CMP #$9B + BNE L659C + BIT KBDSTROBE + JSR L65BA + ASC 8D + ASC 04 + ASC "BRUN HELLO"8D00 +L65B7 JMP L65B7 + +L65BA PLA + STA $FE + PLA + STA $FF + LDY #$00 +L65C2 INC $FE + BNE L65C8 + INC $FF +L65C8 LDA ($FE),Y + BEQ L65D4 + ORA #$80 + JSR COUT + JMP L65C2 + +L65D4 LDA $FF + PHA + LDA $FE + PHA + RTS + + CMP #$00 + BEQ L65E6 + BPL L65E4 + LDA #$FF + RTS + +L65E4 LDA #$01 +L65E6 RTS + +L65E7 JSR RDKEY + CMP #$B0 + BCC L65E7 + CMP #$BA + BCS L65E7 + JSR COUT + SEC + SBC #$B0 + ASL + ASL + ASL + ASL + STA $FC +L65FE JSR RDKEY + CMP #$88 + BNE L660B + JSR COUT + JMP L65E7 + +L660B CMP #$B0 + BCC L65FE + CMP #$BA + BCS L65FE + JSR COUT + SEC + SBC #$B0 + CLC + ADC $FC + STA $FC +L661E JSR RDKEY + CMP #$88 + BNE L662E + JSR COUT + JSR COUT + JMP L65E7 + +L662E CMP #$8D + BNE L661E + LDA $FC + RTS + +L6635 STA $FB + CMP #$0A + BCC L6659 + LDA $FA + SEC + SED + SBC $FB + CLD + BCC L6659 + JSR SETINV + STA $FA + LDY #$02 + LDX #$21 + JSR L6665 + LDA $FA + JSR PRBYTE + JSR SETNORM + RTS + +L6659 JSR L65BA + ASC 07070700 + PLA + PLA + JMP L6089 + +L6665 STX $24 + STY $25 + JSR VTAB + RTS + + LDA $4E + ADC $4F + LDX $4F + STX $4E + STA $4F + RTS diff --git a/ultima2/DNGDRAW.S b/ultima2/DNGDRAW.S new file mode 100644 index 0000000..d8eabc9 --- /dev/null +++ b/ultima2/DNGDRAW.S @@ -0,0 +1,954 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $8900 + MX %11 + LST OFF + +*---------------------------- + +TXTCLR EQU $C050 +HIRES EQU $C057 + +*---------------------------- + +L8900 LDA $02 + STA $6A + LDA $03 + STA $6B + LDA $FB + BEQ L8915 + JSR L8951 + JSR L89D7 + JSR L8F58 +L8915 LDA $02 + STA $6A + LDA $03 + STA $6B + LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR L8F42 + STA $12 + LDA $00 + CLC + ADC $6A + STA $F4 + LDA $01 + CLC + ADC $6B + STA $F5 + JSR L8F42 + STA $13 + LDA $00 + SEC + SBC $6A + STA $F4 + LDA $01 + SEC + SBC $6B + STA $F5 + JSR L8F42 + STA $14 + RTS + +L8951 CLC + LDA $00 + STA $5C + ADC $6B + STA $5A + SEC + LDA $01 + STA $5D + SBC $6A + STA $5B + SEC + LDA $00 + SBC $6B + STA $5E + CLC + LDA $01 + ADC $6A + STA $5F + LDX #$00 +L8973 LDA $5A + AND #$3F + STA $F4 + CLC + ADC $6A + STA $5A + LDA $5B + AND #$3F + STA $F5 + CLC + ADC $6B + STA $5B + JSR L8F42 + AND #$F0 + STA $70,X + LDA $5C + AND #$3F + STA $F4 + CLC + ADC $6A + STA $5C + LDA $5D + AND #$3F + STA $F5 + CLC + ADC $6B + STA $5D + JSR L8F42 + AND #$F0 + STA $78,X + JSR L8F42 + AND #$07 + STA $90,X + LDA $5E + AND #$3F + STA $F4 + CLC + ADC $6A + STA $5E + LDA $5F + AND #$3F + STA $F5 + CLC + ADC $6B + STA $5F + JSR L8F42 + AND #$F0 + STA $80,X + INX + CPX #$08 + BCC L8973 + RTS + +L89D7 JSR L8FF4 + BIT HIRES + BIT TXTCLR + LDA #$00 + STA $69 + JSR L8BD0 +L89E7 LDX $69 + LDA $78,X + BPL L8A0E + JSR L8BD0 + LDA $78,X + AND #$40 + BEQ L8A6F + LDA $78,X + AND #$20 + BNE L8A6F + JSR L8C07 + LDA $69 + BNE L8A6F + INC $69 + LDA $69 + CMP #$08 + BCS L8A6F + JMP L89E7 + +L8A0E LDA $78,X + AND #$20 + BEQ L8A17 + JSR L8C96 +L8A17 LDA $78,X + AND #$10 + BEQ L8A23 + JSR L8CD8 + JMP L8A2C + +L8A23 LDA $78,X + AND #$40 + BEQ L8A2C + JSR L8D45 +L8A2C LDA $70,X + BPL L8A45 + JSR L8B70 + LDA $70,X + AND #$40 + BEQ L8A48 + LDA $70,X + AND #$20 + BNE L8A48 + JSR L8C34 + JMP L8A48 + +L8A45 JSR L8AF4 +L8A48 LDA $80,X + BPL L8A61 + JSR L8BA0 + LDA $80,X + AND #$40 + BEQ L8A64 + LDA $80,X + AND #$20 + BNE L8A64 + JSR L8C66 + JMP L8A64 + +L8A61 JSR L8B32 +L8A64 INC $69 + LDA $69 + CMP #$07 + BCS L8A6F + JMP L89E7 +L8A6F RTS + +L8A70 DB $00 +L8A71 DB $40 +L8A72 DB $60 +L8A73 DB $70 + DB $78 + DB $7C + DB $7E + DB $7F + DB $7F + DB $7F +L8A7A DB $FF +L8A7B DB $BF +L8A7C DB $9F +L8A7D DB $8F + DB $87 + DB $83 + DB $81 + DB $80 + DB $80 + DB $80 +L8A84 DB $00 +L8A85 DB $20 + DB $30 + DB $38 + DB $3C + DB $3E + DB $3F + DB $3F +L8A8C DB $7F +L8A8D DB $5F + DB $4F + DB $47 + DB $43 + DB $41 + DB $40 + DB $40 +L8A94 DB $10 +L8A95 DB $48 + DB $64 + DB $72 + DB $79 + DB $7C + DB $7F + DB $7F +L8A9C DB $30 +L8A9D DB $58 + DB $6C + DB $76 + DB $7B + DB $7C + DB $7F + DB $7F +L8AA4 DB $EF +L8AA5 DB $B7 + DB $9B + DB $8D + DB $86 + DB $83 + DB $80 + DB $80 +L8AAC DB $CF +L8AAD DB $A7 + DB $93 + DB $89 + DB $84 + DB $83 + DB $80 + DB $80 +L8AB4 DB $77 + DB $5B + DB $4D + DB $46 + DB $42 + DB $40 + DB $40 + DB $40 +L8ABC DB $67 + DB $53 + DB $49 + DB $44 + DB $42 + DB $40 + DB $40 + DB $40 +L8AC4 DB $2A + DB $35 + DB $3B + DB $3D + DB $3E + DB $3F + DB $3F + DB $3F +L8ACC DB $08 + DB $24 + DB $32 + DB $39 + DB $3C + DB $3E + DB $3F + DB $3F +L8AD4 DB $18 + DB $2C + DB $36 + DB $3A + DB $3D + DB $3E + DB $3F + DB $3F +L8ADC DB $77 + DB $5B + DB $4D + DB $46 + DB $43 + DB $41 + DB $40 + DB $40 +L8AE4 DB $67 + DB $53 + DB $49 + DB $45 + DB $42 + DB $41 + DB $40 + DB $40 +L8AEC DB $6F + DB $57 + DB $4B + DB $45 + DB $42 + DB $40 + DB $40 + DB $40 + +L8AF4 LDX $69 + LDA L8A70,X + STA $60 + STA $62 + LDA L8A84,X + STA $61 + LDA L8A8C,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A85,X + STA $61 + STA $63 + LDA L8A71,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8A8D,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A70,X + STA $62 + JSR L8DC5 + LDX $69 + RTS + +L8B32 LDX $69 + LDA L8A7A,X + STA $60 + STA $62 + LDA L8A84,X + STA $61 + LDA L8A8C,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A85,X + STA $61 + STA $63 + LDA L8A7B,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8A8D,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7A,X + STA $62 + JSR L8DC5 + LDX $69 + RTS + +L8B70 LDX $69 + LDA L8A70,X + STA $60 + LDA L8A71,X + STA $62 + LDA L8A84,X + STA $61 + LDA L8A85,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A70,X + STA $62 + LDA L8A8C,X + STA $63 + LDA L8A8D,X + STA $61 + JSR L8DC5 + LDX $69 + RTS + +L8BA0 LDX $69 + LDA L8A7A,X + STA $60 + LDA L8A7B,X + STA $62 + LDA L8A84,X + STA $61 + LDA L8A85,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7A,X + STA $62 + LDA L8A8C,X + STA $63 + LDA L8A8D,X + STA $61 + JSR L8DC5 + LDX $69 + RTS + +L8BD0 LDX $69 + LDA L8A70,X + STA $60 + LDA L8A84,X + STA $61 + STA $63 + LDA L8A7A,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8A8C,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A70,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8A84,X + STA $63 + JSR L8DC5 + LDX $69 + RTS + +L8C07 LDX $69 + LDA L8A71,X + STA $60 + STA $62 + LDA L8A8C,X + STA $61 + LDA L8A85,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7B,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8A8C,X + STA $63 + JSR L8DC5 + LDX $69 + RTS + +L8C34 LDX $69 + LDA L8A94,X + STA $60 + STA $62 + LDA L8AB4,X + STA $61 + LDA L8A85,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A9C,X + STA $62 + LDA L8AC4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8ABC,X + STA $63 + JSR L8DC5 + LDX $69 + RTS + +L8C66 LDX $69 + LDA L8AA4,X + STA $60 + STA $62 + LDA L8AB4,X + STA $61 + LDA L8A85,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8AAC,X + STA $62 + LDA L8AC4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8ABC,X + STA $63 + JSR L8DC5 + RTS + +L8C96 LDX $69 + LDA L8A95,X + STA $60 + LDA L8A9D,X + STA $62 + LDA L8ADC,X + STA $61 + LDA L8AE4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8AAD,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8AA5,X + STA $62 + LDA L8ADC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A95,X + STA $62 + JSR L8DC5 + JSR L8D1A + LDX $69 + RTS + +L8CD8 LDX $69 + LDA L8A95,X + STA $60 + LDA L8A9D,X + STA $62 + LDA L8ACC,X + STA $61 + LDA L8AD4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8AAD,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8AA5,X + STA $62 + LDA L8ACC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A95,X + STA $62 + JSR L8DC5 + JSR L8D1A + LDX $69 + RTS + +L8D1A LDX $69 + LDA #$7F + STA $60 + STA $62 + LDA L8ACC,X + STA $61 + LDA L8ADC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA #$80 + STA $60 + STA $62 + LDA L8ACC,X + STA $61 + LDA L8ADC,X + STA $63 + JSR L8DC5 + RTS + +L8D45 LDA L8A72,X + STA $60 + LDA L8AEC,X + STA $61 + STA $63 + LDA L8A7D,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8AB4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A72,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8AEC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A73,X + STA $62 + LDA L8ABC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7C,X + STA $62 + JSR L8DC5 + LDX $69 + LDA L8AEC,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7D,X + STA $62 + LDA L8AB4,X + STA $63 + JSR L8DC5 + LDX $69 + LDA L8A7D,X + STA $60 + LDA L8AEC,X + STA $61 + LDA L8A7C,X + STA $62 + LDA L8ABC,X + STA $63 + JSR L8DC5 + LDX $69 + RTS + +L8DC5 LDA $62 + CMP $60 + BNE L8DD2 + LDA $63 + CMP $61 + BNE L8DD2 + RTS + +L8DD2 SEC + LDA $62 + SBC $60 + STA $6A + BCS L8DE8 + EOR #$FF + STA $6A + INC $6A + LDA #$FF + STA $64 + JMP L8DEC + +L8DE8 LDA #$01 + STA $64 +L8DEC SEC + LDA $63 + SBC $61 + STA $6B + BCS L8E02 + EOR #$FF + STA $6B + INC $6B + LDA #$FF + STA $65 + JMP L8E06 + +L8E02 LDA #$01 + STA $65 +L8E06 LDA $6A + CMP $6B + BCS L8E0F + JMP L8E3A + +L8E0F LDA $6A + STA $66 + LSR + STA $67 +L8E16 CLC + LDA $67 + ADC $6B + STA $67 + SEC + SBC $6A + BCC L8E2B + STA $67 + CLC + LDA $61 + ADC $65 + STA $61 +L8E2B CLC + LDA $60 + ADC $64 + STA $60 + JSR L8FB6 + DEC $66 + BNE L8E16 + RTS + +L8E3A LDA $6B + STA $66 + LSR + STA $67 +L8E41 CLC + LDA $67 + ADC $6A + STA $67 + SEC + SBC $6B + BCC L8E56 + STA $67 + CLC + LDA $60 + ADC $64 + STA $60 +L8E56 CLC + LDA $61 + ADC $65 + STA $61 + JSR L8FB6 + DEC $66 + BNE L8E41 + RTS + +L8E65 LDA $61 + CLC + ADC #$10 + TAY + LDA $472C,Y + STA $FE + LDA $47EC,Y + STA $FF + LDX $60 + LDY $48AC,X + INY + LDA $1F + BEQ L8E92 + CMP #$01 + BEQ L8EA4 + CMP #$02 + BEQ L8EB1 + CMP #$03 + BEQ L8ED0 + CMP #$04 + BEQ L8EDD + JMP L8E9A + +L8E92 LDA $49CB,X + ORA ($FE),Y + STA ($FE),Y + RTS + +L8E9A LDA $49CB,X + EOR #$7F + AND ($FE),Y + STA ($FE),Y + RTS + +L8EA4 LDA L8EE8,Y + EOR #$7F + AND $49CB,X + BNE L8E92 + JMP L8FD4 + +L8EB1 LDA L8EE8,Y + AND $49CB,X + BNE L8E92 + JMP L8FD4 + +L8EBC LDA $49CB,X + ORA #$80 + ORA ($FE),Y + STA ($FE),Y + RTS + +L8EC6 LDA $49CB,X + EOR #$FF + AND ($FE),Y + STA ($FE),Y + RTS + +L8ED0 LDA L8EE8,Y + EOR #$7F + AND $49CB,X + BEQ L8EC6 + JMP L8EBC + +L8EDD LDA L8EE8,Y + AND $49CB,X + BEQ L8EC6 + JMP L8EBC + +L8EE8 HEX 552A552A552A552A552A552A552A552A + HEX 552A552A552A552A552A552A552A552A + HEX 552A552A552A552A + +L8F10 LDA $04 + CLC + ASL + ASL + STA $62 + STA $60 + ADC #$04 + STA $64 + LDA $05 + CLC + ASL + ASL + STA $63 + STA $61 + ADC #$04 + STA $65 +L8F2A JSR L8E65 + INC $60 + LDA $60 + CMP $64 + BCC L8F2A + LDA $62 + STA $60 + INC $61 + LDA $61 + CMP $65 + BCC L8F2A + RTS + +L8F42 LDA $F6 + CLC + ADC #$10 + STA $FD + LDA $F5 + ASL + ASL + ASL + ASL + ADC $F4 + STA $FC + LDY #$00 + LDA ($FC),Y + RTS + +L8F58 INC $69 + LDX #$00 +L8F5C INX + CPX $69 + BCC L8F62 + RTS + +L8F62 LDA $90,X + BEQ L8F5C + CPX #$01 + BEQ L8F7A + LDA #$08 + STA $FD + LDA L8FAE,X + STA $FC + LDA $FD + LDX $FC + JMP L8F83 + +L8F7A CLC + ADC #$08 + STA $FD + LDA #$00 + STA $FC +L8F83 LDY #$00 + LDA ($FC),Y + BNE L8F8A + RTS + +L8F8A STA $04 + JSR L8FA7 + LDA ($FC),Y + AND #$1F + STA $05 + LDA ($FC),Y + LSR + LSR + LSR + LSR + LSR + STA $1F + JSR L8FA7 + JSR L8F10 + JMP L8F83 + +L8FA7 INC $FC + BNE L8FAD + INC $FD +L8FAD RTS + +L8FAE HEX 000080C0E0F0F8FC + +L8FB6 LDA $61 + CLC + ADC #$10 + TAY + LDA $472C,Y + STA $FE + LDA $47EC,Y + STA $FF + LDX $60 + LDY $48AC,X + INY + LDA $49CB,X + ORA ($FE),Y + STA ($FE),Y + RTS + +L8FD4 LDA $61 + CLC + ADC #$10 + TAY + LDA $472C,Y + STA $FE + LDA $47EC,Y + STA $FF + LDX $60 + LDY $48AC,X + INY + LDA $49CB,X + EOR #$FF + AND ($FE),Y + STA ($FE),Y + RTS + +L8FF4 LDA #$20 + STA $FB + LDA #$00 + TAY + STA $FA +L8FFD STA ($FA),Y + INY + BNE L8FFD + INC $FB + LDX $FB + CPX #$40 + BCC L8FFD + RTS diff --git a/ultima2/END.S b/ultima2/END.S new file mode 100644 index 0000000..bb535c1 --- /dev/null +++ b/ultima2/END.S @@ -0,0 +1,86 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $8900 + MX %11 + LST OFF + +*---------------------------- + +UPDATE = $0240 +PRINTSTR = $402C + +*---------------------------- + +L8900 JSR PRINTSTR + ASC 8D8D + ASC " MINAX IS DEAD!!"8D + ASC "ALL HER WORKS SHALL DIE!"8D00 + LDA #$40 + STA $F0 +L8938 JSR $4408 + LDA #$40 + STA $F1 +L893F JSR $4592 + AND #$3F + STA $F4 + JSR $4592 + AND #$3F + STA $F5 + JSR $437B + LDA #$74 + STA ($06),Y + INC $4E + INC $4E + INC $4E + DEC $F1 + BNE L893F + JSR UPDATE + LDA $4F + ADC #$09 + STA $4F + DEC $F0 + BNE L8938 + JSR PRINTSTR + ASC 8D + ASC "YOU FEEL A STRANGE FORCE!"00 + JSR $442A + JSR PRINTSTR + ASC 8D + ASC 04 + ASC "BLOAD MAP 30"8D00 + JSR $442A + JSR PRINTSTR + ASC 8D8D + ASC "YOU HAVE SAVED THE UNIVERSE,"8D + ASC "AND COMPLETED ULTIMA ][! SEEK"8D + ASC "NOW TO CONQUER WICKED EXODUS,"8D00 + JSR PRINTSTR + ASC "FOUND IN ULTIMA ]I[-D ]II[-P!"00 + LDA #$FF + STA $10 + LDA #$28 + STA $11 + LDA #$00 + STA $00 + STA $01 +L8A30 CLC + LDA $01 + ADC #$01 + AND #$3F + STA $01 + LSR + BCS L8A47 + LSR + BCS L8A47 + LDA $00 + ADC #$01 + AND #$3F + STA $00 +L8A47 JSR UPDATE + JMP L8A30 diff --git a/ultima2/HELLO.S b/ultima2/HELLO.S new file mode 100644 index 0000000..32ed189 --- /dev/null +++ b/ultima2/HELLO.S @@ -0,0 +1,1102 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $6000 + MX %11 + LST OFF + +*---------------------------- + +L0800 = $0800 +L1000 = $1000 ; UL +L1A00 = $1A00 ; II - Pointer at $1A00, file at $1A40? +L7800 = $7800 +L8000 = $8000 ; FL +L8C00 = $8C00 ; WII + +SOFTEV EQU $03F2 +PWREDUP EQU $03F4 +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXCLR EQU $C052 +MIXSET EQU $C053 +HIRES EQU $C057 +VTAB EQU $FC22 +HOME EQU $FC58 +WAIT EQU $FCA8 +RDKEY EQU $FD0C +COUT EQU $FDED +RESETV EQU $FFFC + +*---------------------------- + + JSR HOME + JSR L7280 ; PROTECTION + ASC 04 + ASC "NOMON I,O,C"8D00 + JSR HOME + LDX #$0F + LDY #$0C + JSR L678A + JSR L66F8 + ASC "ULTIMA ]["0D00 + JSR L7280 ; PROTECTION + ASC 04 + ASC "BLOAD UPDATE.OBJ"0D + ASC 04 + ASC "BLOAD SHAPES"0D + ASC 04 + ASC "BLOAD TABLES.903C.OBJ"0D00 + LDA KBD + CMP #$D0 ; P + BNE L608B + LDX #$0D + LDY #$0C + JSR L678A + JSR L73F7 ; PROTECTION + ASC "PLAY ULTIMA ]["0D00 + JMP L63D4 + +L608B JSR L7280 ; PROTECTION + ASC 04 + ASC "BLOAD UL,A$1000"0D + ASC 04 + ASC "BLOAD II,A$1A40"0D + ASC 04 + ASC "BLOAD FL,A$8000"0D + ASC 04 + ASC "BLOAD WII,A$8C00"0D00 + LDA #$00 + STA $EF +L60D8 JSR HOME + BIT TXTSET + LDA KBD + CMP #$9B + BNE L60E8 + JMP L627F + +L60E8 LDA #$11 + STA $4E + LDA #$27 + STA $4F + LDX #$0C + LDY #$0A + JSR L678A + JSR L73F7 + ASC "ON-LINE SYSTEMS"00 + LDX #$0C + LDY #$0C + JSR L678A + JSR L66F8 + ASC "PROUDLY PRESENTS"0D00 + LDA #$EF + STA $FC + LDA #$50 + STA $FD + JSR L679D + LDA KBD + CMP #$9B + BNE L613C + JMP L627F + +L613C JSR HOME + LDX #$10 + LDY #$08 + JSR L678A + JSR L66F8 + ASC "PART " + ASC ']['00 + LDX #$09 + LDY #$0A + JSR L678A + JSR L73F7 + ASC "OF THE #1 BEST SELLING"00 + LDX #$07 + LDY #$0C + JSR L678A + JSR L66F8 + ASC "FANTASY ROLE-PLAYING GAME"00 + LDX #$0C + LDY #$0E + JSR L678A + JSR L66F8 + ASC "BY LORD BRITISH"0D00 + LDA #$DF + STA $FC + LDA #$58 + STA $FD + JSR L679D + LDA KBD + CMP #$9B + BNE L61C6 + JMP L627F + +L61C6 JSR L6719 + JSR L71AB + LDA HIRES + LDA MIXCLR + LDA TXTCLR + LDA #$CF + STA $FC + LDA #$60 + STA $FD + JSR L679D + LDA KBD + CMP #$9B + BNE L61EA + JMP L627F + +L61EA LDA #$20 + STA $FD + LDA #$40 + STA $FB + LDA #$00 + STA $FC + STA $FA + LDY #$00 +L61FA LDA ($FC),Y + STA ($FA),Y + INC $FC + INC $FA + BNE L61FA + INC $FD + INC $FB + LDA $FD + CMP #$40 + BCC L61FA + LDA HIRES + LDA MIXCLR + LDA TXTCLR + JSR L6806 + LDA KBD + CMP #$9B + BNE L6224 + JMP L627F + +L6224 JSR L71D1 + LDY #$FF +L6229 LDX #$FF +L622B STX $F0 + JSR L6792 + CMP #$20 + BCS L6237 + BIT SPKR +L6237 LDX $F0 + DEX + BNE L622B + DEY + BNE L6229 + JSR L71BD + JSR L71D1 + LDA #$0A + STA $F0 +L6249 LDA #$FF + JSR WAIT + LDA #$FF + JSR WAIT + LDA #$FF + JSR WAIT + LDA #$FF + JSR WAIT + LDA #$FF + JSR WAIT + JSR L71E3 + LDA #$40 + JSR WAIT + JSR L71E3 + DEC $F0 + BNE L6249 + LDA $EF + BEQ L627F + LDA KBD + CMP #$9B + BEQ L627F + JMP L6414 + +L627F JSR HOME + BIT KBDSTROBE + LDA #$0F + STA $24 + JSR L73F7 + ASC "ULTIMA ]["0A0A00 + LDA #$10 + STA $24 + JSR L66F8 + ASC "REVENGE"0A0A00 + LDA #$10 + STA $24 + JSR L66F8 + ASC "OF THE"0A0A00 + LDA #$0E + STA $24 + JSR L66F8 + ASC "ENCHANTRESS"00 + LDA #$15 + STA $25 + LDA #$08 + STA $24 + JSR L66F8 + ASC 0A + ASC "(C)-1982 BY LORD BRITISH"00 + LDA #$0B + STA $24 + JSR L66F8 + ASC 0A + ASC "AND ON-LINE SYSTEMS"00 + LDA #$0A + STA $25 + LDA #$05 + STA $24 + JSR L66F8 + ASC 0A + ASC "TYPE -"00 + LDA #$06 + STA $24 + JSR L66F8 + ASC 0A0A + ASC "'D' - FOR A DEMONSTRATION"00 + LDA #$06 + STA $24 + JSR L66F8 + ASC 0A0A + ASC "'P' - PLAY A GAME OF ULTIMA ]["00 + LDA #$06 + STA $24 + JSR L66F8 + ASC 0A0A + ASC "'C' - CREATE A NEW CHARACTER"00 + BIT TXTSET + LDA #$05 + STA $24 + JSR L73F7 + ASC 0A0A + ASC "CHOICE:"00 + LDX #$30 +L63A8 LDA KBD + BPL L63A8 + JSR COUT + CMP #$C4 ; D + BNE L63B7 + JMP L6414 + +L63B7 CMP #$D0 ; P + BEQ L63D4 + CMP #$C3 ; C + BEQ L63C2 + JMP L627F + +L63C2 JSR L7280 ; PROTECTION + ASC 0D + ASC 04 + ASC "BRUN CREATE"0D00 +L63D4 JSR L66F8 + ASC 0D + ASC 04 + ASC "BLOAD STD SUBS.OBJ"0D + ASC 04 + ASC "BLOAD DNGDRAW.OBJ"0D + ASC 04 + ASC "BRUN ULTIMA II.OBJ"0D00 +L6414 JSR HOME + LDA #$01 + STA $EF + LDX #$0F + LDY #$0C + JSR L678A + JSR L66F8 + ASC "ULTIMA ]["8D00 + BIT TXTSET + JSR L66F8 + ASC 04 + ASC "BLOAD PIC.OUT"8D00 + BIT MIXSET + BIT HIRES + BIT TXTCLR + JSR L66F8 + ASC 8D8D8D8D8D8D8D8D8D8D8D8D + ASC " BATTLE STRANGE CREATURES"8D + ASC " ACROSS THE FACE OF THE EARTH"8D00 + LDA KBD + CMP #$9B + BNE L64AD + JMP L627F + +L64AD JSR L66F8 + ASC 04 + ASC "BLOAD PIC.TWN,A$4000"8D8D8D + ASC " SEARCH FOR CLUES IN CARELESS WORDS"8D + ASC " SPOKEN AT THE LOCAL PUB"8D00 + JSR L66D6 + LDA KBD + CMP #$9B + BNE L651C + JMP L627F + +L651C JSR L66F8 + ASC 04 + ASC "BLOAD PIC.CAS,A$4000"8D8D8D + ASC " PLEAD WITH MEDIEVAL KINGS"8D + ASC " FOR ASSISTANCE"8D00 + JSR L66D6 + LDA KBD + CMP #$9B + BNE L6583 + JMP L627F + +L6583 JSR L66F8 + ASC 04 + ASC "BLOAD PIC.DNG,A$4000"8D8D8D + ASC " TRAVERSE DEEP DARK DEADLY DUNGEONS"8D + ASC " AND TALL TERRIFYING TOWERS"8D00 + JSR L66D6 + LDA KBD + CMP #$9B + BNE L65F4 + JMP L627F + +L65F4 JSR L66F8 + ASC 04 + ASC "BLOAD PIC.SPA,A$4000"8D8D8D + ASC " TRAVEL THROUGHOUT THE GALAXY"8D + ASC " TO THE PLANETS OF OUR SOLAR SYSTEM"8D00 + JSR L66D6 + LDA KBD + CMP #$9B + BNE L6666 + JMP L627F + +L6666 JSR L66F8 + ASC 04 + ASC "BLOAD PIC.MIN,A$4000"8D8D8D + ASC " AND CONQUER TIME ITSELF TO BATTLE"8D + ASC " MINAX THE ENCHANTRESS"8D00 + JSR L66D6 + LDY #$20 +L66CB LDA #$FF + JSR WAIT + DEY + BNE L66CB + JMP L60D8 + +L66D6 LDA #$5F + STA $FD + LDA #$3F + STA $FF + LDA #$00 + STA $FC + STA $FE + LDY #$00 +L66E6 LDA ($FC),Y + STA ($FE),Y + DEY + BNE L66E6 + DEC $FF + DEC $FD + LDA $FD + CMP #$40 + BCS L66E6 + RTS + +L66F8 PLA + STA $FE + PLA + STA $FF + LDY #$00 +L6700 INC $FE + BNE L6706 + INC $FF +L6706 LDA ($FE),Y + BEQ L6712 + ORA #$80 + JSR COUT + JMP L6700 + +L6712 LDA $FF + PHA + LDA $FE + PHA + RTS + +L6719 LDA #$20 + STA $FD + LDA #$00 + STA $FC + TAY +L6722 STA ($FC),Y + INY + BNE L6722 + INC $FD + LDX $FD + CPX #$40 + BCC L6722 + RTS + + CMP #$00 + BEQ L673B + BPL L6739 + LDA #$FF + RTS + +L6739 LDA #$01 +L673B RTS + +L673C JSR RDKEY + CMP #$B0 + BCC L673C + CMP #$BA + BCS L673C + JSR COUT + SEC + SBC #$B0 + ASL + ASL + ASL + ASL + STA $FC +L6753 JSR RDKEY + CMP #$88 + BNE L6760 + JSR COUT + JMP L673C + +L6760 CMP #$B0 + BCC L6753 + CMP #$BA + BCS L6753 + JSR COUT + SEC + SBC #$B0 + CLC + ADC $FC + STA $FC +L6773 JSR RDKEY + CMP #$88 + BNE L6783 + JSR COUT + JSR COUT + JMP L673C + +L6783 CMP #$8D + BNE L6773 + LDA $FC + RTS + +L678A STX $24 + STY $25 + JSR VTAB + RTS + +L6792 LDA $4E + ADC $4F + LDX $4F + STX $4E + STA $4F + RTS + +L679D LDA $FC + STA L6804 + LDA #$01 + STA L6803 +L67A7 LDA $FD +L67A9 PHA + LDX L6804 +L67AD DEX + BNE L67AD + BIT SPKR + LDX L6803 +L67B6 DEX + BNE L67B6 + BIT SPKR + PLA + TAX + DEX + TXA + BNE L67A9 + LDA L6803 + CLC + ADC #$01 + CMP #$1B + BEQ L67D5 + STA L6803 + DEC L6804 + JMP L67A7 + +L67D5 LDA $FD +L67D7 PHA + LDX L6804 +L67DB DEX + BNE L67DB + BIT SPKR + LDX L6803 +L67E4 DEX + BNE L67E4 + BIT SPKR + PLA + TAX + DEX + TXA + BNE L67D7 + LDA L6803 + SEC + SBC #$01 + CMP #$01 + BEQ L6805 + STA L6803 + INC L6804 + JMP L67D5 + +L6803 HEX 35 +L6804 HEX 32 +L6805 RTS + +L6806 LDA #$00 + STA $0F + LDA #$00 + STA $00 + LDA #$00 + STA $01 + LDA #$01 + STA $02 + STA $10 + JSR L6854 + LDA $0F + EOR #$01 + STA $0F + LDA $10 + CLC + ADC #$02 + STA $11 +L6828 LDA $11 + STA $02 + JSR L6854 + LDX $0F + LDA $C054,X + LDA $0F + EOR #$01 + STA $0F + LDA $10 + STA $02 + LDA $11 + STA $10 + JSR L6854 + LDA $02 + CLC + ADC #$02 + CMP #$6C + BCC L684F + RTS + +L684F STA $11 + JMP L6828 + +L6854 STA $0B + STX $0C + STY $0D + LDA $02 + PHA + LDY #$00 + STY $0A + LDA #L68CD + STA $06 + LDX #$6C + STX $08 +L686D LDY $02 + CPY #$FF + BEQ L68C3 + LDA $927D,Y + STA $03 + LDA $933D,Y + STA $04 + LDA $0F + BEQ L6887 + LDA $04 + EOR #$60 + STA $04 +L6887 LDX #$13 + STX $09 + LDX #$00 + LDY $0A +L688F LDA ($05,X) + BEQ L68B2 + BMI L68AC + EOR ($03),Y + AND #$7F + STA ($03),Y + STX $F0 + JSR L6792 + CMP #$04 + BCS L68A7 + BIT SPKR +L68A7 LDX $F0 + JMP L68B2 + +L68AC EOR ($03),Y + ORA #$80 + STA ($03),Y +L68B2 INY + INC $05 + BNE L68B9 + INC $06 +L68B9 DEC $09 + BPL L688F + DEC $02 + DEC $08 + BNE L686D +L68C3 PLA + STA $02 + LDA $0B + LDX $0C + LDY $0D + RTS + +L68CD HEX 000000000000000020552A0500000000 + HEX 0000000000000000000000402A552A55 + HEX 0A000000000000000000000000502A51 + HEX 2A552A552A552A010000000000000000 + HEX 2A552A542A552A552A552A1500000000 + HEX 000000502A550A552A552A552A552A55 + HEX 00000000000020552A5522550A000000 + HEX 000020550000000000402A552A552801 + HEX 20552A552A5502540200000000542A55 + HEX 2A1500542A552A552A552A010A000000 + HEX 20552A552A452A552A552A552A552A15 + HEX 0A00000028552A552A512A552A552A55 + HEX 2A552A55280000002A552A0500542A55 + HEX 2A552A552A552A55280000002A550200 + HEX 00552A552A552A552A552A5522010000 + HEX 2A01000000552A552A552A552A552A40 + HEX 220100000200000020552A0500552A55 + HEX 2A552A40220500000000000028552A41 + HEX 03502A1500502A000A05000000000000 + HEX 2A552A78434302402A452A010A050000 + HEX 000000002A552A7843432A552A152A15 + HEX 2A040000000000402A052A7843432A55 + HEX 2A552A1528040000000000502A452879 + HEX 43512A552A552A552805000000000000 + HEX 0040226103542A552A552A5528050000 + HEX 000028552A450A0500552A552A552A55 + HEX 2805000000502A552A452A542A552A55 + HEX 2A552A152801000000552A552A452A55 + HEX 2A552A552A552A010000000028552A55 + HEX 2A012A552A552A150000000000000000 + HEX 2A552A552A5428552A552A0100000000 + HEX 000000002A552A552A5428552A550A00 + HEX 00000000000000002A552A550A552855 + HEX 2A55000000000000000000002A552A55 + HEX 085528552A1500000000000000000000 + HEX 000000000A5528552A00000000000000 + HEX 0000000000002A150A55285500000000 + HEX 000000000000000000002A450A552855 + HEX 00000000000000000000000000402A45 + HEX 0A552805000000000000000000000000 + HEX 00402A450A5528010000000000000000 + HEX 0000000000502A450A150A0100000000 + HEX 000000000000000000502A552A440204 + HEX 00000000000000000000000000542A55 + HEX 2A400004000000000000000000000000 + HEX 00542A552A5500100000000000000000 + HEX 0000000000552A552A55541000000000 + HEX 000000000000000000552A552A55502A + HEX 05000000000000000000000020552A55 + HEX 2A55522A550000000000000000000000 + HEX 20552A552A55522A5502000000000000 + HEX 0000000028552A552A554A2A552A0000 + HEX 000000000000000028552A552A554A2A + HEX 552A050000000000000000002A552A55 + HEX 2A552A2A552A55000000000000000000 + HEX 2A552A550A552A2A552A550200000000 + HEX 000000002A552A552A542A29552A550A + HEX 00000000000000002A552A552A542A21 + HEX 552A552A00000000000000002A552A55 + HEX 2A512A25552A552A0100000000000000 + HEX 2A552A552A512A05552A552A05000000 + HEX 000000002A552A552A452A15542A552A + HEX 15000000000000002A552A552A452A55 + HEX 002A552A55000000000000002A552A55 + HEX 2A152A550000552A5502000000000000 + HEX 2A552A552A1528550200522A550A0000 + HEX 000000002A552A552A5520550A00082A + HEX 552A0000000000002A552A552A550255 + HEX 2A002028552A0100000000002A552A55 + HEX 2A550A542A012001552A050000000000 + HEX 2A552A552A552A542A050001542A1500 + HEX 000000002A552A552A552A502A150004 + HEX 402A5500000000002A552A552A552A41 + HEX 2A550010002A5502000000002A552A55 + HEX 2A552A012A5502500028550A00000000 + HEX 2A552A552A552A0028550A400000552A + HEX 000000002A552A552A552A0020552A00 + HEX 0200542A050000002A552A552A552A00 + HEX 00552A010800402A550000002A552A55 + HEX 2A552A0000542A0528000028552A0100 + HEX 2A552A552A552A0000502A1520000000 + HEX 552A15002A552A552A550A0000402A55 + HEX 00010000000000002A552A552A550A00 + HEX 00002A5502040000000000002A552A55 + HEX 2A550A00000028550A50000000000000 + HEX 2A552A552A550A00000020552A000200 + HEX 000000002A552A552A550A0000000055 + HEX 2A410200000000002A552A552A550200 + HEX 000000542A550000000000002A552A55 + HEX 2A550200000000542A55000000000000 + HEX 2A552A552A550200000000502A150000 + HEX 000000002A552A552A55020000000040 + HEX 2A050000000000002A552A552A550200 + HEX 0000000028010000000000002A552A55 + HEX 2A550200000000000000000000000000 + HEX 2A552A552A5500000000000000000000 + HEX 000000002A552A552A55000000000000 + HEX 00000000000000002A552A552A550000 + HEX 0000000000000000000000002A552A55 + HEX 2A550000000000000000000000000000 + HEX 2A552A552A5500000000000000000000 + HEX 000000002A552A552A15000000000000 + HEX 00000000000000002A552A552A150000 + HEX 0000000000000000000000002A552A55 + HEX 2A150000000000000000000000000000 + HEX 2A552A552A1500000000000000000000 + HEX 000000002A552A552A15000000000000 + HEX 00000000000000002A552A552A150000 + HEX 0000000000000000000000002A552A55 + HEX 2A050000000000000000000000000000 + HEX 2A552A552A0500000000000000000000 + HEX 000000002A552A552A05000000000000 + HEX 00000000000000002A552A552A050000 + HEX 0000000000000000000000002A552A55 + HEX 2A050000000000000000000000000000 + HEX 2A552A552A0500000000000000000000 + HEX 000000002A552A552A01000000000000 + HEX 00000000000000002A552A552A010000 + HEX 0000000000000000000000002A552A55 + HEX 2A010000000000000000000000000000 + HEX 2A552A552A0100000000000000000000 + HEX 000000002A552A552A01000000000000 + HEX 00000000000000002A552A552A010000 + HEX 0000000000000000000000002A552A55 + HEX 2A000000000000000000000000000000 + HEX 2A552A552A0000000000000000000000 + HEX 000000002A552A552A00000000000000 + HEX 00000000000000002A552A552A000000 + HEX 0000000000000000000000002A552A55 + HEX 2A000000000000000000000000000000 + HEX 2A552A552A0000000000000000000000 + HEX 000000002A552A550A00000000000000 + HEX 00000000000000002A552A550A000000 + HEX 0000000000000000000000002A552A55 + HEX 0A000000000000000000000000000000 + +L713D LDA #L0800 + STA $01 + JMP L7150 + +L7148 LDA #L7800 + STA $01 + +L7150 LDY #$00 +L7152 LDA ($00),Y + JSR L71A5 + CMP #$00 + BEQ L7188 + CMP #$FF + BEQ L716D + STA L719F+1 + LDA ($00),Y + JSR L71A5 + STA L719F+2 + JMP L719D + +L716D LDA ($00),Y + JSR L71A5 + CMP #$FF + BNE L7180 + LDA ($00),Y + JSR L71A5 + STA $02 + JMP L7152 + +L7180 STA L719F+2 + LDA #$FF + STA L719F+1 +L7188 LDA ($00),Y + JSR L71A5 + CMP #$00 + BNE L7192 + RTS + +L7192 STA L719F+2 + LDA #$00 + STA L719F+1 + JMP L7152 + +L719D LDA $02 +L719F STA $4132 + JMP L7152 + +L71A5 INY + BNE L71AA + INC $01 +L71AA RTS + +L71AB LDA #$20 ; UL + STA $08 + LDA #>L1000 + STA $06 + LDA #L1A00 + STA $06 + LDA #L8000 + STA $06 + LDA #L8C00 + STA $06 + LDA #L40D3 + STA $FD + LDX #$00 +L40A7 LDA ($FC,X) + BEQ L40B1 +L40AB JSR L40C5 + JMP L40A7 + +L40B1 DEY + BEQ L40B7 + JMP L40AB + +L40B7 JSR L40C5 + LDA ($FC,X) + BEQ L40C4 + JSR COUT + JMP L40B7 +L40C4 RTS + +L40C5 LDA $FC + CLC + ADC #$01 + STA $FC + LDA $FD + ADC #$00 + STA $FD + RTS + +L40D3 ASC 00 + ASC "IN THE WATER."00 + ASC "IN A MARSH."00 + ASC "ON GRASS."00 + ASC "IN WOODS."00 + ASC "IN THE MTS."00 + ASC "NEAR A VILLAGE."00 + ASC "NEAR A TOWNE."00 + ASC "NEAR A TOWER."00 + ASC "NEAR A CASTLE."00 + ASC "NEAR A DUNGEON."00 + ASC "NEAR A SIGN."00 + ASC "NEAR A HORSE."00 + ASC "NEAR A FRIGATE."00 + ASC "NEAR A PLANE."00 + ASC "NEAR A ROCKET."00 + ASC "NEAR ARMOUR."00 + ASC "NEAR A HOLE."00 + ASC "ON COBBLE."00 + ASC "HANDS"00 + ASC "DAGGER"00 + ASC "MACE"00 + ASC "AXE"00 + ASC "BOW"00 + ASC "SWORD"00 + ASC "GREAT SWORD"00 + ASC "LIGHT SWORD"00 + ASC "PHASER"00 + ASC "QUICK SWORD"00 + ASC "SKIN"00 + ASC "CLOTH"00 + ASC "LEATHER"00 + ASC "CHAIN"00 + ASC "PLATE"00 + ASC "REFLECT"00 + ASC "POWER"00 + ASC "NONE"00 + ASC "LIGHT"00 + ASC "DOWN LADDER"00 + ASC "UP LADDER"00 + ASC "PASSWALL"00 + ASC "SURFACE"00 + ASC "PRAYER"00 + ASC "MAGIC MISSILE"00 + ASC "BLINK"00 + ASC "KILL"00 + ASC "RING"00 + ASC "WAND"00 + ASC "STAFF"00 + ASC "BOOT"8000 + ASC "CLOAK"00 + ASC "HELM"00 + ASC "GEM"00 + ASC "ANKH"00 + ASC "RED GEM"00 + ASC "SKULL KEY"00 + ASC "GREEN GEM"00 + ASC "BRASS BUTTON"00 + ASC "BLUE TASSLE"00 + ASC "STRANGE COIN"00 + ASC "GREEN IDOL"00 + ASC "TRI-LITHIUM"00 + ASC "STRENGTH"00 + ASC "AGILITY"00 + ASC "STAMINA"00 + ASC "CHARISMA"00 + ASC "WISDOM"00 + ASC " INTEL."00 + ASC "HUMAN"00 + ASC "ELF"00 + ASC "DWARF"00 + ASC "HOBBIT"00 + ASC "FIGHTER"00 + ASC "CLERIC"00 + ASC "WIZARD"00 + ASC "THIEF"00 + MX %11 +L437B LDY #$00 + LDA $F5 + STA $07 + LDA #$00 + TAY + LSR $07 + ROR + LSR $07 + ROR + ADC $F4 + STA $06 + CLC + LDA $07 + ADC #$10 + STA $07 + LDA ($06),Y + RTS + +L4398 HEX FF +L4399 LDA L4398 + BNE L439F + RTS + +L439F LDX #$A0 + TXA + TAY +L43A3 DEX + BNE L43A3 + BIT SPKR + DEY + TYA + TAX + BNE L43A3 + RTS + +L43AF LDA L4398 + BNE L43B5 + RTS + +L43B5 LDA #$40 + STA $FC + LDA #$E0 + STA $FD +L43BD JSR L4592 + ORA $FD + TAX +L43C3 DEX + BNE L43C3 + BIT SPKR + DEC $FD + LDA $FD + CMP $FC + BCS L43BD + RTS + +L43D2 LDA L4398 + BNE L43D8 + RTS + +L43D8 LDX #$00 + STA $FC +L43DC INX + BNE L43DC + BIT SPKR + DEC $FC + LDX $FC + BNE L43DC + RTS + +L43E9 LDA L4398 + BNE L43EF + RTS + +L43EF LDA #$08 + STA $FC + LDA #$00 + STA $FD +L43F7 JSR L4592 + ORA $FD + TAX +L43FD DEX + BNE L43FD + BIT SPKR + DEC $FC + BNE L43F7 + RTS + +L4408 LDA L4398 + BNE L440E + RTS + +L440E LDA #$FF + STA $FC + LDA #$00 + STA $FD + JMP L43F7 + +L4419 LDA L4398 + BNE L441F + RTS + +L441F LDA #$FF + STA $FC + LDA #$C0 + STA $FD + JMP L43F7 + +L442A LDA #$80 + STA $FC + LDA #$40 + STA $FD + JMP L4435 + +L4435 LDA L4398 + BNE L443B + RTS + +L443B LDA |$00FC ; NOT ZP + STA $44A5 + LDA #$01 + STA L44A4 +L4446 LDA |$00FD +L4449 PHA + LDX $44A5 +L444D DEX + BNE L444D + BIT SPKR + LDX L44A4 +L4456 DEX + BNE L4456 + BIT SPKR + PLA + TAX + DEX + TXA + BNE L4449 + LDA L44A4 + CLC + ADC #$01 + CMP #$1B + BEQ L4475 + STA L44A4 + DEC $44A5 + JMP L4446 + +L4475 LDA |$00FD +L4478 PHA + LDX $44A5 +L447C DEX + BNE L447C + BIT SPKR + LDX L44A4 +L4485 DEX + BNE L4485 + BIT SPKR + PLA + TAX + DEX + TXA + BNE L4478 + LDA L44A4 + SEC + SBC #$01 + CMP #$01 + BEQ $44A6 + STA L44A4 + INC $44A5 + JMP L4475 + +L44A4 HEX 20 + HEX 31 + RTS + +L44A7 LDA #$C0 + STA $FC + LDA #$18 + STA $FD + JMP L4435 + + LDA #$FF + STA $FC + LDA #$06 + STA $FD + JMP L4435 + +L44BD CMP #$00 + BEQ L44C8 + BPL L44C6 + LDA #$FF + RTS + +L44C6 LDA #$01 +L44C8 RTS + +L44C9 CMP #$00 + BEQ L44C8 + CMP #$20 + BCC L44C6 + LDA #$FF + RTS + +L44D4 CMP #$80 + BCC L44C8 + EOR #$FF + CLC + ADC #$01 + RTS + +L44DE LDA #$28 + STA $21 + LDA #$1E + STA $24 + LDA #$13 + STA $25 + JSR L402C + ASC 0A + ASC "H.P.="00 + LDX $4E1C + LDA $4E1B + BNE L44FF + JSR SETINV +L44FF JSR PRNTAX + JSR SETNORM + LDA #$1E + STA $24 + JSR L402C + ASC 0A + ASC "FOOD="00 + LDX $4E1E + LDA $4E1D + BNE L451E + JSR SETINV +L451E JSR PRNTAX + JSR SETNORM + LDA #$1E + STA $24 + JSR L402C + ASC 0A + ASC "EXP.="00 + LDA $4E20 + LDX $4E21 + JSR PRNTAX + LDA #$1E + STA $24 + JSR L402C + ASC 0A + ASC "GOLD="00 + LDA $4E22 + LDX $4E23 + JSR PRNTAX + LDA #$1E + STA $21 + LDX #$00 + LDY #$17 + JSR L458A + RTS + +L455E JSR RDKEY + CMP #$B0 + BCC L455E + CMP #$BA + BCS L455E + JSR COUT + SEC + SBC #$B0 + ASL + ASL + ASL + ASL + STA $FC +L4575 JSR RDKEY + CMP #$B0 + BCC L4575 + CMP #$BA + BCS L4575 + JSR COUT + SEC + SBC #$B0 + CLC + ADC $FC + RTS + +L458A STX $24 + STY $25 + JSR VTAB + RTS + +L4592 LDA $4E + ADC $4F + LDX $4F + STX $4E + STA $4F + RTS + +L459D LDA #$6F + STA $A2 + LDA #$7E + STA $A0 + LDA #$00 + STA $A1 + LDA $18 + CMP #$01 + BEQ L45C1 + CMP #$FF + BEQ L45C9 + LDA $17 + CMP #$01 + BEQ L45D1 + CMP #$FF + BEQ L45D9 + JSR L45E1 + RTS + +L45C1 LDA #$5F + STA $A2 + JSR L45E1 + RTS + +L45C9 LDA #$7F + STA $A2 + JSR L45E1 + RTS + +L45D1 LDA #$8C + STA $A0 + JSR L45E1 + RTS + +L45D9 LDA #$70 + STA $A0 + JSR L45E1 + RTS + +L45E1 STA $AB + STX $AC + STY $AD + LDA $A2 + PHA + LDX $A0 + LDY $9154,X + STY $AA + LDA $93FD,X + ASL + TAX + LDA L463B,X + STA $A5 + LDA L463B+1,X + STA $A6 + LDX #$10 + STX $A8 +L4604 LDY $A2 + LDA $927D,Y + STA $A3 + LDA $933D,Y + STA $A4 + LDX #$02 + STX $A9 + LDX #$00 + LDY $AA +L4618 LDA ($A5,X) + BEQ L4620 + EOR ($A3),Y + STA ($A3),Y +L4620 INY + INC $A5 + BNE L4627 + INC $A6 +L4627 DEC $A9 + BPL L4618 + DEC $A2 + DEC $A8 + BNE L4604 + PLA + STA $A2 + LDA $AB + LDX $AC + LDY $AD + RTS + +L463B DA L4649 + DA L4649 + DA L4649 + DA L4649 + DA L4649 + DA L4649 + DA L4649 + +L4649 HEX 600300780F007C1F007E3F007E3F007F + HEX 7F007F7F007F7F007F7F007F7F007F7F + HEX 007E3F007E3F007C1F00780F00600300 + +L4679 EOR #$FF + STA $F6 + INC $F6 + LDA #$38 + LDA $F4 + SBC $F2 + STA $F6 + BCS L4696 + +L4689 EOR #$FF + STA $F6 + INC $F6 + LDA #$FF + STA $F8 + JMP L469A + +L4696 LDA #$01 + STA $F8 +L469A SEC + LDA $F5 + SBC $F3 + STA $F7 + BCS L46B0 + EOR #$FF + STA $F7 + INC $F7 + LDA #$FF + STA $F9 + JMP L46B4 + +L46B0 LDA #$01 + STA $F9 +L46B4 LDA $F6 + CMP $F7 + BCS L46BD + JMP L46E8 + +L46BD LDA $F6 + STA $FA + LSR + STA $FB +L46C4 CLC + LDA $FB + ADC $F7 + STA $FB + SEC + SBC $F6 + BCC L46D9 + STA $FB + CLC + LDA $F3 + ADC $F9 + STA $F3 +L46D9 CLC + LDA $F2 + ADC $F8 + STA $F2 + JSR L4713 + DEC $FA + BNE L46C4 + RTS + +L46E8 LDA $F7 + STA $FA + LSR + STA $FB +L46EF CLC + LDA $FB + ADC $F6 + STA $FB + SEC + SBC $F7 + BCC L4704 + STA $FB + CLC + LDA $F2 + ADC $F8 + STA $F2 +L4704 CLC + LDA $F3 + ADC $F9 + STA $F3 + JSR L4713 + DEC $FA + BNE L46EF + RTS + +L4713 LDY $F1 + LDA L472C,Y + STA $FE + LDA L47EC,Y + STA $FF + LDX $F0 + LDY L48AC,X + LDA L49CB,X + ORA ($FE),Y + STA ($FE),Y + RTS + +* HGR table + +L472C HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 00000000000000008080808080808080 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 2828282828282828A8A8A8A8A8A8A8A8 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + HEX 5050505050505050D0D0D0D0D0D0D0D0 + +L47EC HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + HEX 2024282C3034383C2024282C3034383C + HEX 2125292D3135393D2125292D3135393D + HEX 22262A2E32363A3E22262A2E32363A3E + HEX 23272B2F33373B3F23272B2F33373B3F + +* Pointer tables of more than 256 entries... + +L48AC HEX 00000000000000010101010101010202 + HEX 02020202020303030303030304040404 + HEX 04040405050505050505060606060606 + HEX 06070707070707070808080808080809 + HEX 0909090909090A0A0A0A0A0A0A0B0B0B + HEX 0B0B0B0B0C0C0C0C0C0C0C0D0D0D0D0D + HEX 0D0D0E0E0E0E0E0E0E0F0F0F0F0F0F0F + HEX 10101010101010111111111111111212 + HEX 12121212121313131313131314141414 + HEX 14141415151515151515161616161616 + HEX 16171717171717171818181818181819 + HEX 1919191919191A1A1A1A1A1A1A1B1B1B + HEX 1B1B1B1B1C1C1C1C1C1C1C1D1D1D1D1D + HEX 1D1D1E1E1E1E1E1E1E1F1F1F1F1F1F1F + HEX 20202020202020212121212121212222 + HEX 22222222222323232323232324242424 + HEX 24242425252525252525262626262626 + HEX 262727272727272728282828282828 + +L49CB HEX 01020408102040010204081020400102 + HEX 04081020400102040810204001020408 + HEX 10204001020408102040010204081020 + HEX 40010204081020400102040810204001 + HEX 02040810204001020408102040010204 + HEX 08102040010204081020400102040810 + HEX 20400102040810204001020408102040 + HEX 01020408102040010204081020400102 + HEX 04081020400102040810204001020408 + HEX 10204001020408102040010204081020 + HEX 40010204081020400102040810204001 + HEX 02040810204001020408102040010204 + HEX 08102040010204081020400102040810 + HEX 20400102040810204001020408102040 + HEX 01020408102040010204081020400102 + HEX 04081020400102040810204001020408 + HEX 10204001020408102040010204081020 + HEX 4001020408102040 diff --git a/ultima2/ULTIMA.II.S b/ultima2/ULTIMA.II.S new file mode 100644 index 0000000..e97d4a5 --- /dev/null +++ b/ultima2/ULTIMA.II.S @@ -0,0 +1,4980 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $5000 + MX %11 + LST OFF + +*---------------------------- + +UPDATE = $0240 ; CALL UPDATE +PRINTSTR = $402C ; PRINT C STRING + +KBD EQU $C000 +KBDSTROBE EQU $C010 +SPKR EQU $C030 +TXTCLR EQU $C050 +TXTSET EQU $C051 +MIXSET EQU $C053 +HIRES EQU $C057 +PRNTAX EQU $F941 +HOME EQU $FC58 +PRBYTE EQU $FDDA +COUT EQU $FDED + +*---------------------------- + +L5000 JSR HOME + LDY #$0C + LDX #$0A + JSR $458A + JSR PRINTSTR + ASC "(INSERT PLAYER DISK)"00 + BIT KBDSTROBE +L5025 LDA KBD + CMP #$9B + BNE L5025 + BIT KBDSTROBE + JSR PRINTSTR + ASC 0D + ASC 04 + ASC "BLOAD PLAYER"0D00 + LDA $4E00 + BNE L5076 + JSR HOME + LDY #$0C + LDX #$0A + JSR $458A + JSR PRINTSTR + ASC "NO CHARACTER ON DISK"00 +L5069 LDA KBD + CMP #$9B + BNE L5069 + BIT KBDSTROBE + JMP L5000 + +L5076 JSR L6706 + BIT KBDSTROBE + LDA $4E11 + ASL + CLC + ADC #$78 + STA $11 + LDA #$00 + STA $D9 + STA $DA + STA $DB + STA $DC + LDA $4E24 + STA $00 + LDA $4E25 + STA $01 + LDA $4E33 + BEQ L50AF + LDA $4E34 + STA $F4 + LDA $4E35 + STA $F5 + JSR $437B + LDA #$50 + STA ($06),Y +L50AF LDX #$FF + LDA #$FF +L50B3 DEX + STA $4B00,X + STA $4C00,X + BNE L50B3 + JSR UPDATE + LDA MIXSET + LDA HIRES + LDA TXTCLR + JSR HOME + LDA #$FF + STA $10 + JSR $44DE +L50D2 LDA $4E14 + CMP #$04 + BCC L50DC + JMP L6CCE + +L50DC JSR PRINTSTR + ASC "CMD: "00 + JSR L6900 + JSR L6900 + JSR L6900 + JSR L6900 + JSR L6855 + LDA #$00 + STA $F2 + LDA #$E8 + STA $F3 + LDA $DC + BEQ L511A + LDA #$14 + STA $FC +L5104 JSR PRINTSTR + ASC "Z"00 + LDX #$FF +L510B DEX + NOP + NOP + NOP + NOP + NOP + BNE L510B + DEC $FC + BNE L5104 + JMP L528B + +L511A LDA KBD + BMI L5175 + INC $F2 + BNE L511A + LDA $11 + CMP #$26 + BNE L512C + JSR $43E9 +L512C JSR UPDATE + JSR L6900 + JSR L6900 + JSR L6900 + JSR L6900 + JSR L6855 + INC $4E + INC $F3 + BNE L511A + INC $4F + LDA #$00 + STA $FB + JSR PRINTSTR + ASC "PASS"00 +L5152 SED + SEC + LDA $4E1F + SBC #$0A + STA $4E1F + LDA $4E1E + SBC #$00 + STA $4E1E + LDA $4E1D + SBC #$00 + STA $4E1D + CLD + BCS L5172 + JMP L6703 +L5172 JMP L528B + +L5175 STA $4E27 + STA KBDSTROBE + LDA $4E27 + CMP #$A0 + BNE L5191 + LDA #$00 + STA $FB + JSR PRINTSTR + ASC "PASS"00 + JMP L5152 + +L5191 CMP #$8D + BNE L51B1 + DEC $01 + JSR PRINTSTR + ASC "NORTH"00 + LDA $13 + JSR L69D3 + CMP #$00 + BEQ L51AE + INC $01 + JMP L5225 +L51AE JMP L520F + +L51B1 CMP #$AF ; / + BNE L51D1 + INC $01 + JSR PRINTSTR + ASC "SOUTH"00 + LDA $14 + JSR L69D3 + CMP #$00 + BEQ L51CE + DEC $01 + JMP L5225 +L51CE JMP L520F + +L51D1 CMP #$88 + BNE L51F0 + DEC $00 + JSR PRINTSTR + ASC "WEST"00 + LDA $16 + JSR L69D3 + CMP #$00 + BEQ L51ED + INC $00 + JMP L5225 +L51ED JMP L520F + +L51F0 CMP #$95 + BNE L5218 + INC $00 + JSR PRINTSTR + ASC "EAST"00 + LDA $15 + JSR L69D3 + CMP #$00 + BEQ L520C + DEC $00 + JMP L5225 +L520C JMP L520F + +L520F LDA $FB + EOR #$FF + STA $FB + JMP L528B + +L5218 PHA + LDA #$00 + STA $FB + PLA +L521E CMP #$C1 + BCS L523C + JMP L66EA + +L5225 JSR PRINTSTR + ASC "--INVALID MOVE!"8700 + JMP L528B + +L523C CMP #$DB + BCC L5243 + JMP L66EA + +L5243 SEC + SBC #$C1 + ASL + TAY + LDA L5257,Y + STA L5254+1 + LDA L5257+1,Y + STA L5254+2 +L5254 JMP $FFFF + +L5257 DA L6F8B ; A + DA L729D ; B + DA L7407 ; C + DA L75B5 ; D + DA L75EE ; E + DA L7816 ; F + DA L7884 ; G + DA L79A1 ; H + DA L79B3 ; I + DA L79F8 ; J + DA L7A0D ; K + DA L7ACE ; L + DA L7D75 ; M + DA L7DB1 ; N + DA L7E0D ; O + DA L7F69 ; P + DA L7F74 ; Q + DA L7FFB ; R + DA L80BE ; S + DA L81C7 ; T + DA L8426 ; U + DA L849F ; V + DA L850C ; W + DA L85D8 ; X + DA L8634 ; Y + DA L865E ; Z + +L528B LDA #$8D + JSR COUT + LDA #$00 + STA $F3 + STA $F1 + STA $F2 + LDA $4E14 + BEQ L52C0 + CMP #$01 + BNE L52A4 + JMP L5723 + +L52A4 CMP #$02 + BNE L52AB + JMP L5723 + +L52AB CMP #$03 + BNE L52B2 + JMP L5723 + +L52B2 CMP #$04 + BNE L52B9 + JMP L5809 + +L52B9 CMP #$05 + BNE L52C0 + JMP L5809 + +L52C0 LDX #$1F +L52C2 LDA $4D60,X + BEQ L52E6 + LDA $11 + CMP #$22 + BNE L52EC + LDA $FB + BPL L52EC + LDA $4D60,X + CMP #$48 + BEQ L52EC + CMP #$3C + BEQ L52EC + CMP #$2C + BEQ L52EC + LDA $11 + CMP #$22 + BNE L52EC +L52E6 DEX + BNE L52C2 + JMP L5472 + +L52EC JSR $401B + STX $FA + LDA $17 + JSR $44D4 + CMP #$03 + BCS L5334 + LDA $18 + JSR $44D4 + CMP #$03 + BCS L5334 + JSR $4592 + LDX $FA + CMP #$20 + BCS L5334 + LDA $4D60,X + CMP #$34 + BNE L5319 + JSR L55A1 + JMP L5334 + +L5319 CMP #$38 + BNE L5323 + JSR L55EF + JMP L5334 + +L5323 CMP #$F8 + BNE L532D + JSR L563C + JMP L5334 + +L532D CMP #$3C + BNE L5334 + JSR L5668 +L5334 LDX $FA + JSR $4000 + LDA $4D40,X + CMP #$0F + BCS L534E + SEC + LDA #$00 + SBC $17 + STA $17 + SEC + LDA #$00 + SBC $18 + STA $18 +L534E CLC + LDA $4D00,X + ADC $17 + AND #$3F + CMP $00 + BEQ L535D + JMP L65E9 + +L535D CLC + LDA $4D20,X + ADC $18 + AND #$3F + CMP $01 + BEQ L536C + JMP L65E9 + +L536C INC $F1 + STX $FC + LDA $4D60,X + CMP #$FC + BNE L537A + JSR L56E7 +L537A JSR $4592 + LDX $FC + CMP #$00 + BMI L539D + AND #$07 + CMP $4E2C + BCC L539D + INC $F2 + LDA $4D40,X + LSR + LSR + SEC + ADC $F3 + LDY $12 + CPY #$06 + BNE L539B + ASL +L539B STA $F3 +L539D LDA $4E14 + BEQ L53A5 + JMP L573E +L53A5 JMP L52E6 + +L53A8 JSR UPDATE +L53AB LDA $F1 + BEQ L53D0 + LDA #$7E + STA $A0 + LDA #$00 + STA $A1 + LDA #$6F + STA $A2 + JSR $43AF + DEC $F1 + DEC $F2 + BMI L53AB + JSR $45E1 + JSR $4419 + JSR $45E1 + JMP L53AB + +L53D0 LDA $F3 + BEQ L5409 + JSR $4592 + AND $F3 + AND #$77 + CLC + ADC #$01 + STA $F3 + SED + SEC + LDA $4E1C + SBC $F3 + STA $4E1C + LDA $4E1B + SBC #$00 + STA $4E1B + CLD + BCC L5437 + LDA $4E14 + BEQ L5409 + STA $F3 + SED + SEC + LDA $4E1B + SBC $F3 + STA $4E1B + CLD + BCC L5437 +L5409 JSR $44DE + LDA #$04 + STA $10 + LDA $4E14 + BNE L541C + LDA #$FF + STA $10 + JSR L6C3C +L541C LDA $DA + BEQ L5422 + DEC $DA +L5422 LDA $DB + BEQ L5428 + DEC $DB +L5428 LDA $DC + BEQ L542E + DEC $DC +L542E LDA $D9 + BEQ L5434 + DEC $D9 +L5434 JMP L50D2 + +L5437 LDA #$00 + STA $4E1B + STA $4E1C + STA $4E1D + STA $4E1E + STA $4E1F + STA $4E20 + STA $4E21 + STA $4E22 + STA $4E23 + JSR $44DE + JSR PRINTSTR + ASC 8D8D8D00 + JSR $4084 + JSR PRINTSTR + ASC " IS DEAD!"8D00 +L546F JMP L546F + +L5472 LDX #$1F +L5474 LDA $4D60,X + BEQ L547F + DEX + BNE L5474 + JMP L53A8 + +L547F STX $F0 + JSR $4592 + CMP #$3F + BCC L548B + JMP L53A8 + +L548B LDX $F0 + STA $4D00,X + STA $F4 + JSR $4592 + AND #$3F + BCC L549C + JMP L53A8 + +L549C LDX $F0 + STA $4D20,X + STA $F5 + JSR $437B + LDX $F0 + STA $4D80,X + INC $4E2A + LDA $4E2A + LSR + BCS L54CC + LSR + BCS L54E2 + LSR + BCS L54F8 + LSR + BCS L550E + LSR + BCS L5533 + LSR + BCS L552A + LSR + BCS L552D + LSR + BCS L5530 + JMP L558B + +L54CC LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$30 + STA ($06),Y + STA $4D60,X + LDA #$10 + STA $4D40,X + JMP L53A8 + +L54E2 LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$FC + STA ($06),Y + STA $4D60,X + LDA #$20 + STA $4D40,X + JMP L53A8 + +L54F8 LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$34 + STA ($06),Y + STA $4D60,X + LDA #$40 + STA $4D40,X + JMP L53A8 + +L550E LDA $4D80,X + CMP #$00 + BNE L5524 + LDA #$2C + STA ($06),Y + STA $4D60,X + LDA #$40 + STA $4D40,X + JMP L53A8 + +L5524 DEC $4E2A + JMP L53A8 +L552A JMP L5549 +L552D JMP L555F +L5530 JMP L5575 + +L5533 LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$F0 + STA ($06),Y + STA $4D60,X + LDA #$80 + STA $4D40,X + JMP L53A8 + +L5549 LDA $4D80,X + CMP #$00 + BNE L5524 + LDA #$48 + STA ($06),Y + STA $4D60,X + LDA #$A0 + STA $4D40,X + JMP L53A8 + +L555F LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$38 + STA ($06),Y + STA $4D60,X + LDA #$C0 + STA $4D40,X + JMP L53A8 + +L5575 LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$F8 + STA ($06),Y + STA $4D60,X + LDA #$E0 + STA $4D40,X + JMP L53A8 + +L558B LDA $4D80,X + CMP #$08 + BNE L5524 + LDA #$3C + STA ($06),Y + STA $4D60,X + LDA #$FF + STA $4D40,X + JMP L53A8 + +L55A1 JSR PRINTSTR + ASC "LEGS PARALIZED!"0D00 + JSR $404D + JSR $44A7 + JSR $404D + LDA $4EA3 + BEQ L55E7 + JSR $4592 + CMP #$40 + BCC L55E7 + JSR PRINTSTR + ASC "SAVED BY MAGICAL BOOTS!"8D00 + RTS + +L55E7 JSR $4592 + AND #$0F + STA $DA + RTS + +L55EF JSR PRINTSTR + ASC "ARMS PARALIZED!"0D00 + JSR $404D + JSR $44A7 + JSR $404D + LDA $4EA4 + BEQ L5634 + JSR $4592 + CMP #$40 + BCC L5634 + JSR PRINTSTR + ASC "SAVED BY MAGICAL CLOAK"8D00 + RTS + +L5634 JSR $4592 + AND #$0F + STA $DB + RTS + +L563C JSR PRINTSTR + ASC "MAGIC MISSILE!"0D00 + JSR $404D + JSR $44A7 + JSR $404D + INC $F1 + INC $F1 + INC $F2 + INC $F2 + CLC + LDA $F3 + ADC #$40 + STA $F3 + RTS + +L5668 JSR PRINTSTR + ASC "SLEEP SPELL!"0D00 + JSR $404D + JSR $44A7 + JSR $404D + LDA $4EAE + BEQ L56A2 + JSR $4592 + CMP #$40 + BCC L56A2 + JSR PRINTSTR + ASC "SAVED BY IDOL!"8D00 + RTS + +L56A2 JSR $4592 + AND #$0F + STA $DC + RTS + +L56AA JSR PRINTSTR + ASC "MINAX CRIES: DIE FOOL!"8D00 + LDA #$00 + STA $17 + STA $18 + JSR $459D + JSR $4419 + JSR $459D + SED + SEC + LDA $4E1B + SBC #$01 + STA $4E1B + CLD + BCS L56E6 + BCS L56E6 + JMP L5437 +L56E6 RTS + +L56E7 JSR $4592 + CMP #$40 + BCC L56EF + RTS + +L56EF JSR $4592 + AND #$0F + TAX + LDA $4EA0,X + BEQ L5722 + SED + SEC + LDA $4EA0,X + SBC #$01 + STA $4EA0,X + CLD + JSR PRINTSTR + ASC "A THIEF STOLE SOMETHING!"8D00 +L5722 RTS + +L5723 LDX #$1F +L5725 STX $F6 + LDA $4D60,X + BEQ L573E + LDA $4DA0,X + BEQ L573E + BMI L573E + CMP #$03 + BCS L5773 + CMP #$02 + BEQ L576A + JMP L5770 + +L573E LDA $4D60,X + CMP #$40 + BNE L5762 + LDA $4D00,X + SEC + SBC $00 + JSR $44D4 + CMP #$04 + BCS L5762 + LDA $4D20,X + SEC + SBC $01 + JSR $44D4 + CMP #$04 + BCS L5762 + JSR L56AA +L5762 LDX $F6 + DEX + BPL L5725 + JMP L53A8 + +L576A JSR $4000 + JMP L65E9 +L5770 JMP L52EC + +L5773 LDX $F6 + LDA $4DC0,X + STA $17 + LDA $4DE0,X + STA $18 + JSR $4592 + CMP #$40 + BCS L57A0 + JSR $4592 + JSR $44BD + LDX $F6 + STA $4DC0,X + STA $17 + JSR $4592 + JSR $44BD + LDX $F6 + STA $4DE0,X + STA $18 +L57A0 LDX $F6 + CLC + LDA $4D00,X + ADC $17 + AND #$3F + STA $F4 + CMP #$04 + BCS L57B3 + JMP L573E + +L57B3 CMP #$3C + BCC L57BA + JMP L573E + +L57BA CMP $00 + BNE L57C1 + JMP L573E + +L57C1 CLC + LDA $4D20,X + ADC $18 + AND #$3F + STA $F5 + CMP #$04 + BCS L57D2 + JMP L573E + +L57D2 CMP #$3C + BCC L57D9 + JMP L573E + +L57D9 CMP $01 + BNE L57E0 + JMP L573E + +L57E0 JSR $437B + CMP #$70 + BEQ L57EE + CMP #$08 + BEQ L57EE + JMP L573E + +L57EE LDX $F6 + JMP L669B + +L57F3 LDA $4E14 + BNE L57F9 + RTS + +L57F9 LDX #$07 + LDA #$01 +L57FD STA $4DA0,X + DEX + BPL L57FD + LDX $F1 + STA $4DA0,X + RTS + +L5809 JSR L5A74 + LDX #$1F + STX $F0 +L5810 LDA $4D60,X + BNE L581E +L5815 DEC $F0 + LDX $F0 + BNE L5810 + JMP L58D5 + +L581E LDX $F0 + JSR L5AE0 + LDA $4D40,X + CMP #$0F + BCS L5838 + SEC + LDA #$00 + SBC $17 + STA $17 + SEC + LDA #$00 + SBC $18 + STA $18 +L5838 LDA $17 + BEQ L5863 + CLC + ADC $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + LDA $F4 + CMP $00 + BNE L5856 + LDA $F5 + CMP $01 + BNE L5856 + JMP L5951 + +L5856 JSR L5A53 + BEQ L5891 + CMP #$FF + BEQ L5863 + AND #$7F + BNE L5891 +L5863 LDA $18 + BEQ L588E + CLC + ADC $4D20,X + STA $F5 + LDA $4D00,X + STA $F4 + LDA $F4 + CMP $00 + BNE L5881 + LDA $F5 + CMP $01 + BNE L5881 + JMP L5951 + +L5881 JSR L5A53 + BEQ L5891 + CMP #$FF + BEQ L588E + AND #$7F + BNE L5891 +L588E JMP L5815 + +L5891 JSR L5A5D + AND #$07 + BEQ L589B + JMP L5815 + +L589B LDA $F4 + STA $4DC0,X + LDA $F5 + STA $4DE0,X + LDA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + JSR L5A5D + LDA ($06),Y + AND #$F0 + STA ($06),Y + LDA $4DC0,X + STA $F4 + STA $4D00,X + LDA $4DE0,X + STA $F5 + STA $4D20,X + JSR L5A5D + LDA ($06),Y + ORA $4D60,X + STA ($06),Y + JMP L5815 + +L58D5 LDA $FB + BNE L58EE + JSR L5917 + JSR PRINTSTR + ASC "IT'S DARK!"8D00 + JMP L5909 + +L58EE DEC $FB + BNE L5909 + JSR PRINTSTR + ASC "TORCH BURNED OUT!"878D00 +L5909 JSR $8900 + LDA #$10 + JSR L592E + JSR $44DE + JMP L50D2 + +L5917 LDA #$3F ; DARKNESS + STA $07 + LDA #$00 + STA $06 + TAY +L5920 STA ($06),Y + DEY + BNE L5920 + DEC $07 + LDX $07 + CPX #$20 + BCS L5920 + RTS + +L592E STA $F1 + SED + SEC + LDA $4E1F + SBC $F1 + STA $4E1F + LDA $4E1E + SBC #$00 + STA $4E1E + LDA $4E1D + SBC #$00 + STA $4E1D + CLD + BCS L5950 + JMP L5437 +L5950 RTS + +L5951 JSR $4592 + CMP #$40 + BCS L597C + LDX $F0 + LDA $F6 + CMP $4D80,X + BEQ L5964 + JMP L5815 + +L5964 LDA $4D60,X + CMP #$02 + BNE L596E + JMP L59CF + +L596E CMP #$05 + BNE L5975 + JMP L59F8 + +L5975 CMP #$07 + BNE L597C + JMP L5A2B + +L597C LDX $F0 + LDA $F6 + CMP $4D80,X + BEQ L5988 + JMP L5815 + +L5988 JSR $43AF + JSR $4592 + BMI L5997 + AND #$07 + CMP $4E2C + BCS L599A +L5997 JMP L5815 + +L599A JSR $404D + JSR $4419 + JSR $404D + JSR $4592 + AND #$77 + STA $F1 + LDA $F6 + ASL + ASL + AND #$77 + SED + ADC $F1 + STA $F1 + SEC + LDA $4E1C + SBC $F1 + STA $4E1C + LDA $4E1B + SBC #$00 + STA $4E1B + CLD + BCS L59CC + JMP L5437 +L59CC JMP L5815 + +L59CF LDA $FB + BEQ L59F5 + JSR PRINTSTR + ASC "YOUR TORCH IS BLOWN OUT!"878D00 + LDA #$00 + STA $FB +L59F5 JMP L5815 + +L59F8 JSR PRINTSTR + ASC "A GREMLIN STOLE SOME FOOD!"878D00 + SED + SEC + LDA $4E1D + SBC #$01 + STA $4E1D + CLD + BCC L5A28 + JMP L5815 +L5A28 JMP L5437 + +L5A2B JSR PRINTSTR + ASC "YOU FEEL A STRONG MAGIC!"878D00 + JSR $4592 + AND #$07 + STA $DC + JMP L5815 + +L5A53 LDA $F6 + CMP $4D80,X + BEQ L5A5D + LDA #$FF + RTS + +L5A5D LDA $4D80,X +L5A60 CLC + ADC #$10 + STA $07 + LDA $F5 + ASL + ASL + ASL + ASL + ADC $F4 + STA $06 + LDY #$00 + LDA ($06),Y + RTS + +L5A74 LDX #$1F +L5A76 STX $F0 + LDA $4D60,X + BEQ L5A83 +L5A7D LDX $F0 + DEX + BNE L5A76 + RTS + +L5A83 JSR $4592 + LDX $F0 + AND #$07 + ASL + ORA #$01 + STA $4D00,X + STA $F4 + JSR $4592 + LDX $F0 + AND #$07 + ASL + ORA #$01 + STA $4D20,X + STA $F5 + TXA + LSR + STA $4D80,X + JSR L5A5D + BNE L5A7D + JSR $4592 + LDX $F0 + AND #$07 + CMP #$07 + BEQ L5ABE + ASL + CMP $4D80,X + BEQ L5AC1 + BCC L5AC1 +L5ABE JMP L5A7D + +L5AC1 LSR + ADC #$01 + STA $4D60,X + ASL + ADC $4D80,X + ASL + ASL + ASL + ORA #$10 + STA $4D40,X + JSR L5A5D + LDA ($06),Y + ORA $4D60,X + STA ($06),Y + JMP L5A7D + +L5AE0 LDA $00 + SEC + SBC $4D00,X + JSR $44BD + STA $17 + LDA $01 + SEC + SBC $4D20,X + JSR $44BD + STA $18 + RTS + +L5AF7 TAY + LDA #$00 + STA $FC + LDA #$4F + STA $FD + LDX #$00 +L5B02 LDA ($FC,X) + BEQ L5B0C +L5B06 JSR L5B20 + JMP L5B02 + +L5B0C DEY + BEQ L5B12 + JMP L5B06 + +L5B12 JSR L5B20 + LDA ($FC,X) + BEQ L5B1F + JSR COUT + JMP L5B12 +L5B1F RTS + +L5B20 LDA $FC + CLC + ADC #$01 + STA $FC + LDA $FD + ADC #$00 + STA $FD + RTS + +L5B2E LDA $00 + CMP #$20 + BCC L5B3D + LDA $01 + CMP #$20 + BCC L5B46 + JMP L5B60 + +L5B3D LDA $01 + CMP #$20 + BCC L5B53 + JMP L5B6D + +L5B46 LDA $4E14 + CMP #$02 + BNE L5B50 + JMP L6268 +L5B50 JMP L5D1B + +L5B53 LDA $4E14 + CMP #$02 + BNE L5B5D + JMP L6384 +L5B5D JMP L6036 + +L5B60 LDA $4E14 + CMP #$02 + BNE L5B6A + JMP L6495 +L5B6A JMP L5DBC + +L5B6D LDA $4E14 + CMP #$02 + BNE L5B77 + JMP L5B7A +L5B77 JMP L5F17 + +L5B7A JSR PRINTSTR + ASC "WELCOME TO THE PUB!"0D + ASC "1-BUY, 2-TIP --- "00 + JSR L653E + CMP #$01 + BEQ L5BB1 + CMP #$02 + BEQ L5BE3 + JMP L528B + +L5BB1 LDA #$05 + STA $FD + LDA #$00 + STA $FC + JSR L655D + JSR PRINTSTR + ASC "HERE, HAVE A STRONG ONE!"0D00 + JSR $4592 + AND #$03 + LDA #$01 + JMP L5C12 + +L5BE3 JSR PRINTSTR + ASC "TIP HOW MUCH? "00 + JSR L653E + STA $F6 + STA $FD + LDA #$00 + STA $FC + JSR L655D + JSR $4592 + JSR $44BD + CLC + ADC $F6 + CMP #$0A + BCC L5C12 + LDA #$00 +L5C12 STA $F6 + JSR PRINTSTR + ASC "THE BARKEEP SAYS:"0D00 + LDA $F6 + TAY + INY + LDA #L5C3E + STA $FD + LDX #$00 + JSR L5B02 + JMP L528B + +L5C3E ASC 00 + ASC "CAUGH..."00 + ASC "ISN'T THIS A GREAT GAME?"00 + ASC "HHMMM..."00 + ASC "SOME FIGHTERS WEAR MAGIC HELMS!"00 + ASC "AVIATORS USE SKULL KEYS!"00 + ASC "SAYLORS WEAR BLUE TASSLES!"00 + ASC "MAGES CARRY WANDS OR STAFFS!"00 + ASC "GUARDS CARRY KEYS!"00 + ASC "ANKHS OPEN SPACE!"00 + ASC "PLANES NEED BRASS BUTTONS!"00 +L5D1B JSR PRINTSTR + ASC "THE FOOD HERE COSTS "00 + LDA #$03 + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 8D + ASC "PER 100, WANT ONE? "00 +L5D57 LDA KBD + BPL L5D57 + BIT KBDSTROBE + CMP #$D9 + BEQ L5D6C + JSR PRINTSTR + ASC "NO"00 + JMP L528B + +L5D6C JSR PRINTSTR + ASC "YES,"8D + ASC "NO ONIONS AND TO GO PLEASE!"8D00 + JSR L655D + SED + CLC + LDA $4E1D + ADC #$01 + STA $4E1D + CLD + JSR PRINTSTR + ASC "THANK YOU, COME AGAIN!"00 + JMP L528B + +L5DBC LDA $4E11 + CMP #$01 + BEQ L5DE3 + JSR $4084 + JSR PRINTSTR + ASC " YOU ARE NOT A CLERIC!"00 + JMP L528B + +L5DE3 JSR PRINTSTR + ASC "WELCOME "00 + LDA $4E10 + CMP #$01 + BEQ L5E05 + JSR PRINTSTR + ASC "BROTHER "00 + JMP L5E10 + +L5E05 JSR PRINTSTR + ASC "SISTER "00 +L5E10 JSR $4084 + JSR PRINTSTR + ASC 8D + ASC "1-LIGHT, 2-L.D., 3-L.U.,"8D + ASC "4-PASS 5-SURFACE, 6-PRAYER."8D + ASC "YOUR INTEREST? "00 + JSR L653E + BEQ L5E68 + CMP #$07 + BCS L5E68 + JMP L5E88 + +L5E68 JSR PRINTSTR + ASC "FOLLOW THE LIGHT, FRIEND!"00 + JMP L528B + +L5E88 STA $F0 + JSR PRINTSTR + ASC "FIVE "00 + LDA $F0 + CLC + ADC #$24 + JSR $409C + JSR PRINTSTR + ASC "S FOR "00 + LDA $F0 + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 8D + ASC "YES, FRIEND? "00 +L5EC3 LDA KBD + BPL L5EC3 + BIT KBDSTROBE + CMP #$D9 + BEQ L5EED + JSR PRINTSTR + ASC "NO"8D + ASC "I'M SORRY, GOOD DAY."00 + JMP L528B + +L5EED JSR PRINTSTR + ASC "YES,"8D + ASC "I WILL TAKE 5!"00 + JSR L655D + LDX $F0 + LDA $4E80,X + CLC + SED + ADC #$05 + CLD + STA $4E80,X + JMP L528B + +L5F17 JSR $4084 + LDA $4E11 + CMP #$02 + BEQ L5F3E + JSR PRINTSTR + ASC " YOU ARE NOT A WIZARD!"00 + JMP L528B + +L5F3E JSR PRINTSTR + ASC " MUSERREF OLDUM!"8D + ASC "1-LIGHT, 2-L.D., 3-L.U.,"8D + ASC "4-M.M., 5-BLINK, 6-KILL,"8D + ASC "BIR IKI UC...? "00 + JSR L653E + BEQ L5FA0 + CMP #$07 + BCS L5FA0 + JMP L5FB5 + +L5FA0 JSR PRINTSTR + ASC 8D + ASC "UGURLA OLSUN!"00 + JMP L528B + +L5FB5 CMP #$04 + BCC L5FBC + CLC + ADC #$03 +L5FBC STA $F0 + JSR PRINTSTR + ASC "FIVE "00 + LDA $F0 + CLC + ADC #$24 + JSR $409C + JSR PRINTSTR + ASC "S FOR "00 + LDA $F0 + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 8D + ASC "LUTFEN EVET? "00 +L5FF7 LDA KBD + BPL L5FF7 + BIT KBDSTROBE + CMP #$D9 ; Y + BEQ L600D + JSR PRINTSTR + ASC "NO!"00 + JMP L5FA0 + +L600D JSR PRINTSTR + ASC "YES"8D00 + JSR L655D + SED + CLC + LDX $F0 + LDA $4E80,X + ADC #$05 + STA $4E80,X + CLD + JSR PRINTSTR + ASC "GULE GULE!"00 + JMP L528B + +L6036 JSR PRINTSTR + ASC "TIME AND TRAVEL MADE ME WISE,"0D + ASC "PRECIOUS GOLD, A CLUE IT BUYS!HOW MUCH " + ASC "WILL YOU PAY *100?"00 + JSR L653E + STA $F0 + STA $FC + LDA #$00 + STA $FD + JSR L655D + LDY $F0 + INY + LDA #L60B5 + STA $FD + LDX #$00 + JSR L5B02 + JMP L528B + JMP L528B + +L60B5 ASC 00 + ASC "ASK ME NO QUESTIONS,"8D + ASC "I'LL TELL YOU NO LIES."00 + ASC "THE QUEEN IS THE KING"8D + ASC "AND THE KING IS A SPY."00 + ASC "THE EVIL MEN DO"8D + ASC "IS A HORRABLE THING."00 + ASC "BUT DISPELLING MEANS"8D + ASC "THAT YOU MUST HAVE THE RING."00 + ASC "JUST WHERE IT IS,"8D + ASC "I CANNOT SAY."00 + ASC "BUT I'LL TELL YOU RIGHT NOW,"8D + ASC "THERE IS NO OTHER WAY."00 + ASC "I HEAR IN A TOWN"8D + ASC "WHERE THE WATER RUNS FREE."00 + ASC "THERE IS AN OLD MAN"8D + ASC "LIVING UNDER A TREE."00 + ASC "HE HAS NOT A NAME"8D + ASC "BUT HE DOES HAVE A CLUE"00 + ASC "MAYHAPS IF YOU FIND HIM,"8D + ASC "HE'LL TELL IT TO YOU!"00 +L6268 JSR PRINTSTR + ASC " THE ARMOUR SHOPPE:"0D + ASC "1-CLOTH, 2-LEATHER, 3-CHAIN,"0D + ASC "4-PLATE, 5-REFLECT, 6-POWER,"0D + ASC "YOUR INTEREST? "00 + JSR L653E + BEQ L62D9 + CMP #$07 + BCS L62D9 + JMP L62F7 + +L62D9 JSR PRINTSTR + ASC "THANKS FOR COMING BY..."00 + JMP L528B + +L62F7 STA $F0 + JSR PRINTSTR + ASC "AH! YES! "00 + LDA $F0 + CLC + ADC #$1D + JSR $409C + JSR PRINTSTR + ASC 0D + ASC "FOR YOU ONLY "00 + LDA $F0 + ASL + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 0D + ASC "HOW 'BOUT IT? "00 +L6340 LDA KBD + BPL L6340 + BIT KBDSTROBE + STA $F2 + JSR COUT + LDA #$8D + JSR COUT + LDA $F2 + CMP #$D9 + BEQ L6368 + JSR PRINTSTR + ASC "OH, WELL."00 + JMP L528B + +L6368 JSR L655D + JSR PRINTSTR + ASC "SOLD!"00 + LDX $F0 + LDA $4E60,X + SED + CLC + ADC #$01 + CLD + STA $4E60,X + JMP L528B + +L6384 JSR PRINTSTR + ASC " THE WEAPONS SHOPPE:"0D + ASC "1-DA, 2-MA, 3-AX, 4-BO,"0D + ASC "5-SW, 6-GR, 7-LI, 8-PH."0D + ASC "YOUR INTEREST? "00 + JSR L653E + BEQ L63E9 + CMP #$09 + BEQ L63E9 + JMP L6407 + +L63E9 JSR PRINTSTR + ASC "THANKS FOR COMING BY..."00 + JMP L528B + +L6407 STA $F0 + JSR PRINTSTR + ASC "AH! YES! A "00 + LDA $F0 + CLC + ADC #$13 + JSR $409C + JSR PRINTSTR + ASC 0D + ASC "FOR YOU ONLY "00 + LDA $F0 + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 0D + ASC "HOW 'BOUT IT? "00 +L6451 LDA KBD + BPL L6451 + BIT KBDSTROBE + STA $F2 + JSR COUT + LDA #$8D + JSR COUT + LDA $F2 + CMP #$D9 ; Y + BEQ L6479 + JSR PRINTSTR + ASC "OH, WELL."00 + JMP L528B + +L6479 JSR L655D + JSR PRINTSTR + ASC "SOLD!"00 + LDX $F0 + LDA $4E40,X + SED + CLC + ADC #$01 + CLD + STA $4E40,X + JMP L528B + +L6495 JSR PRINTSTR + ASC "WELCOME, TO THE TRANSPORT"0D + ASC "SHOPPE. I SELL YOU HORSE "00 + LDA #$04 + JSR L65A9 + LDA $FC + LDX $FD + JSR PRNTAX + JSR PRINTSTR + ASC 0D + ASC "GOLD, DEAL, OK? --- "00 +L64F1 LDA KBD + BPL L64F1 + PHA + JSR COUT + LDA #$8D + JSR COUT + PLA + BIT KBDSTROBE + CMP #$D9 ; Y + BEQ L651F + JSR PRINTSTR + ASC 0D + ASC "O.K. BYE THEN..."00 + JMP L528B + +L651F JSR L655D + JSR PRINTSTR + ASC 8D + ASC "RIDE SWIFTLY!"00 + LDA #$22 + STA $11 + JMP L528B + JMP L528B + +L653E LDA KBD + CMP #$B0 + BCC L653E + CMP #$BA + BCS L653E + SEC + SBC #$B0 + TAX + CLC + ADC #$B0 + JSR COUT + LDA #$8D + JSR COUT + BIT KBDSTROBE + TXA + RTS + +L655D SED + SEC + LDA $4E23 + SBC $FD + STA $4E23 + LDA $4E22 + SBC $FC + STA $4E22 + BCS L65A5 + CLC + LDA $4E23 + ADC $FD + STA $4E23 + LDA $4E22 + ADC $FC + STA $4E22 + CLD + PLA + PLA + JSR PRINTSTR + ASC "YOU DONT HAVE THAT MUCH!"8700 + JMP L528B + +L65A5 CLD + LDA #$00 + RTS + +L65A9 CLC + ADC #$08 + STA $F1 + LDA #$00 + STA $FC + STA $FA + LDA #$04 + STA $FD + STA $FB + LDA $4E1A + ADC $4E18 + LDY #$00 +L65C2 INY + LSR + BNE L65C2 + LDA $F1 + STY $F1 + SEC + SBC $F1 + TAX + SED +L65CF CLC + LDA $FB + ADC $FD + LDY $FD + STY $FB + STA $FD + LDA $FA + ADC $FC + LDY $FC + STY $FA + STA $FC + DEX + BNE L65CF + CLD + RTS + +L65E9 LDA $4D40,X + CMP #$10 + BCS L65F3 + INC $4D40,X +L65F3 CLC + LDA $4D00,X + ADC $17 + AND #$3F + STA $F4 + CLC + LDA $4D20,X + ADC $18 + AND #$3F + STA $F5 + JSR $437B + JSR L6648 + BNE L6612 + JMP L669B + +L6612 LDA $18 + BEQ L6626 + LDA $4D00,X + STA $F4 + JSR $437B + JSR L6648 + BNE L6626 + JMP L669B + +L6626 CLC + LDA $4D00,X + ADC $17 + AND #$3F + STA $F4 + LDA $4D20,X + STA $F5 + JSR $437B + JSR L6648 + BEQ L669B +L663D LDA $4E14 + BEQ L6645 + JMP L573E +L6645 JMP L52E6 + +L6648 STA $F0 + LDA $D9 + BEQ L6651 + JMP L6698 + +L6651 LDA $4D60,X + CMP #$2C + BEQ L667F + CMP #$48 + BEQ L667F + CMP #$78 + BCS L6666 + LDA $F0 + CMP #$5C + BEQ L6688 +L6666 LDA $F0 + CMP #$10 + BEQ L6698 + CMP #$04 + BEQ L6698 + CMP #$00 + BEQ L6698 + CMP #$14 + BCC L6688 + CMP #$70 + BEQ L6688 + JMP L6698 + +L667F LDA $F0 + CMP #$00 + BNE L6698 + JMP L6688 + +L6688 LDA $4E14 + BEQ L6695 + LDA $F4 + BEQ L6698 + LDA $F5 + BEQ L6698 +L6695 LDA #$00 + RTS + +L6698 LDA #$FF + RTS + +L669B LDA $00 + CMP $F4 + BNE L66AA + LDA $01 + CMP $F5 + BNE L66AA + JMP L663D + +L66AA LDA $F4 + STA $FC + LDA $F5 + STA $FD + LDA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + JSR $437B + LDA $4D80,X + LDY #$00 + STA ($06),Y + LDA $FC + STA $F4 + STA $4D00,X + LDA $FD + STA $F5 + STA $4D20,X + JSR $437B + STA $4D80,X + LDA $4D60,X + STA ($06),Y + LDA $4E14 + BEQ L66E7 + JMP L573E +L66E7 JMP L52E6 + +L66EA JSR PRINTSTR + ASC 87 + ASC "-ILLEGAL COMMAND!"00 + JMP L528B +L6703 JMP L5437 + +L6706 CLC + LDA $4E13 + ADC #$B0 + STA L6721+$B + STA L672F+$B + LDA $4E14 + ADC #$B0 + STA L6721+$C + STA L672F+$C + JSR PRINTSTR + ASC 0D +L6721 ASC 04 + ASC "BLOAD MAP FF"0D +L672F ASC 04 + ASC "BLOAD MON FF"0D00 + RTS + +L673F CLC + LDA $4E13 + ADC #$B0 + STA L6754+$B + LDA $4E14 + ADC #$B0 + STA L6754+$C + JSR PRINTSTR + ASC 0D +L6754 ASC 04 + ASC "BLOAD TLK FF"0D00 + RTS + +L6764 LDA $4E37 + BEQ L676A + RTS + +L676A CLC + LDA $4E13 + ADC #$B0 + STA L678F+$B + STA L67AB+$B + LDA $4E14 + ADC #$B0 + STA L678F+$C + STA L67AB+$C + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR PRINTSTR + ASC 0D +L678F ASC 04 + ASC "BSAVE MAP FF,A$1000,L$1000"0D +L67AB ASC 04 + ASC "BSAVE MON FF,A$4D00,L$100"0D00 + JSR PRINTSTR + ASC 04 + ASC "BSAVE PLAYER,A$4E00,L$100"0D00 + RTS + +L67E7 LDA #$00 + STA $F0 + STA $F1 + STA $17 + STA $18 +L67F1 LDA KBD + BMI L6811 + NOP + NOP + NOP + NOP + NOP + INC $F0 + BNE L67F1 + INC $F1 + BNE L67F1 + PLA + PLA + JSR PRINTSTR + ASC 87 + ASC "PASS"00 + JMP L528B + +L6811 BIT KBDSTROBE + CMP #$8D + BEQ L6827 + CMP #$AF + BEQ L6833 + CMP #$95 + BEQ L683F + CMP #$88 + BEQ L684A + JMP L67F1 + +L6827 JSR PRINTSTR + ASC "NORTH"00 + DEC $18 + RTS + +L6833 JSR PRINTSTR + ASC "SOUTH"00 + INC $18 + RTS + +L683F JSR PRINTSTR + ASC "EAST"00 + INC $17 + RTS + +L684A JSR PRINTSTR + ASC "WEST"00 + DEC $17 + RTS + +L6855 LDX #$2E +L6857 LDA $0800,X + STA $F1 + LDA $0880,X + STA $F0 + LDA $F1 + STA $0880,X + LDA $0900,X + STA $F1 + LDA $F0 + STA $0900,X + LDA $0980,X + STA $F0 + LDA $F1 + STA $0980,X + LDA $0A00,X + STA $F1 + LDA $F0 + STA $0A00,X + LDA $0A80,X + STA $F0 + LDA $F1 + STA $0A80,X + LDA $0B00,X + STA $F1 + LDA $F0 + STA $0B00,X + LDA $0B80,X + STA $F0 + LDA $F1 + STA $0B80,X + LDA $0C00,X + STA $F1 + LDA $F0 + STA $0C00,X + LDA $0C80,X + STA $F0 + LDA $F1 + STA $0C80,X + LDA $0D00,X + STA $F1 + LDA $F0 + STA $0D00,X + LDA $0D80,X + STA $F0 + LDA $F1 + STA $0D80,X + LDA $0E00,X + STA $F1 + LDA $F0 + STA $0E00,X + LDA $0E80,X + STA $F0 + LDA $F1 + STA $0E80,X + LDA $0F00,X + STA $F1 + LDA $F0 + STA $0F00,X + LDA $0F80,X + STA $F0 + LDA $F1 + STA $0F80,X + LDA $F0 + STA $0800,X + INX + CPX #$30 + BCS L68FF + JMP L6857 +L68FF RTS + +L6900 LDX #$00 +L6902 LDA $0800,X + STA $F1 + LDA $0880,X + STA $F0 + LDA $F1 + STA $0880,X + LDA $0900,X + STA $F1 + LDA $F0 + STA $0900,X + LDA $0980,X + STA $F0 + LDA $F1 + STA $0980,X + LDA $0A00,X + STA $F1 + LDA $F0 + STA $0A00,X + LDA $0A80,X + STA $F0 + LDA $F1 + STA $0A80,X + LDA $0B00,X + STA $F1 + LDA $F0 + STA $0B00,X + LDA $0B80,X + STA $F0 + LDA $F1 + STA $0B80,X + LDA $0C00,X + STA $F1 + LDA $F0 + STA $0C00,X + LDA $0C80,X + STA $F0 + LDA $F1 + STA $0C80,X + LDA $0D00,X + STA $F1 + LDA $F0 + STA $0D00,X + LDA $0D80,X + STA $F0 + LDA $F1 + STA $0D80,X + LDA $0E00,X + STA $F1 + LDA $F0 + STA $0E00,X + LDA $0E80,X + STA $F0 + LDA $F1 + STA $0E80,X + LDA $0F00,X + STA $F1 + LDA $F0 + STA $0F00,X + LDA $0F80,X + STA $F0 + LDA $F1 + STA $0F80,X + LDA $F0 + STA $0800,X + INX + CPX #$02 + BCS L69AA + JMP L6902 +L69AA RTS + +L69AB CLC + LDA $00 + ADC $17 + STA $F4 + CLC + LDA $01 + ADC $18 + STA $F5 + LDX #$1F +L69BB LDA $4D60,X + BEQ L69CF + LDA $4D00,X + CMP $F4 + BNE L69CF + LDA $4D20,X + CMP $F5 + BNE L69CF + RTS + +L69CF DEX + BNE L69BB + RTS + +L69D3 STA $FA + LDA $4E14 + BEQ L6A36 + LDA $00 + CMP #$40 + BCS L69E9 + LDA $01 + CMP #$40 + BCS L69E9 + JMP L6A36 + +L69E9 LDA $4E24 + STA $00 + LDA $4E25 + STA $01 + LDA #$00 + STA $4E14 + JSR L6706 + LDA $4E37 + BEQ L6A14 + LDA $4E34 + STA $F4 + LDA $4E35 + STA $F5 + JSR $437B + LDA #$50 + STA ($06),Y + JMP L528B + +L6A14 JSR PRINTSTR + ASC 04 + ASC "BSAVE PLAYER,A$4E00,L$100"8D00 + JMP L528B + +L6A36 LDA $FA + AND #$7F + CMP #$02 + BNE L6A56 + SED + SEC + LDA $4E1C + SBC #$05 + STA $4E1C + LDA $4E1B + SBC #$00 + STA $4E1B + CLD + BCS L6A56 + JMP L5437 + +L6A56 CMP #$2E + BNE L6ABF + LDA $4EA0 + BEQ L6A83 + JSR PRINTSTR + ASC 8D + ASC "RING PROTECTS FROM FIELD!"00 + JSR $4419 + JMP L6ABF + +L6A83 JSR PRINTSTR + ASC 8D + ASC "FIELD CAUSES 1000 DAMAGE!"00 + LDA #$00 + STA $17 + STA $18 + JSR $459D + JSR $4419 + JSR $459D + SED + LDA $4E1B + SBC #$10 + STA $4E1B + CLD + BCS L6ABF + JMP L5437 + +L6ABF LDA $DA + BEQ L6AD7 + JSR PRINTSTR + ASC "--PARALIZED!"0D00 + LDA #$FF + RTS + +L6AD7 LDA $11 + CMP #$28 + BNE L6AE0 + JMP L6B6C + +L6AE0 CMP #$26 + BNE L6AE7 + JMP L6B76 + +L6AE7 CMP #$24 + BNE L6AEE + JMP L6B88 + +L6AEE CMP #$22 + BNE L6B02 + JSR $43E9 + LDX #$FF +L6AF7 LDY #$20 +L6AF9 DEY + BNE L6AF9 + DEX + BNE L6AF7 + JMP L6B95 + +L6B02 JSR $43E9 + LDX #$FF +L6B07 LDY #$20 +L6B09 DEY + BNE L6B09 + DEX + BNE L6B07 + JSR $43E9 + SED + SEC + LDA $4E1F + SBC #$19 + STA $4E1F + LDA $4E1E + SBC #$00 + STA $4E1E + LDA $4E1D + SBC #$00 + STA $4E1D + CLD + BCS L6B32 + JMP L6703 + +L6B32 LDA $FA + AND #$7F + CMP #$60 + BNE L6B3D + JMP L6BDA + +L6B3D CMP #$00 + BEQ L6B70 + CMP #$08 + BEQ L6B70 + CMP #$22 + BEQ L6B73 + CMP #$24 + BEQ L6B73 + CMP #$26 + BEQ L6B73 + CMP #$28 + BEQ L6B73 + CMP #$2A + BEQ L6B73 + CMP #$2C + BEQ L6B73 + CMP #$2E + BEQ L6B73 + CMP #$38 + BEQ L6B73 + CMP #$16 + BCS L6B70 + JMP L6B73 + +L6B6C JSR L6B70 + RTS + +L6B70 LDA #$FF + RTS +L6B73 JMP L6BCB + +L6B76 JSR L6B95 + CMP #$FF + BEQ L6B70 + LDA $FA + AND #$7F + CMP #$06 + BEQ L6B70 + JMP L6B73 + +L6B88 LDA $FA + CMP #$00 + BEQ L6B73 + CMP #$80 + BEQ L6B73 + JMP L6B70 + +L6B95 SED + SEC + LDA $4E1F + SBC #$19 + STA $4E1F + LDA $4E1E + SBC #$00 + STA $4E1E + LDA $4E1D + SBC #$00 + STA $4E1D + CLD + BCS L6BB5 + JMP L6703 + +L6BB5 JSR L6B02 + CMP #$FF + BEQ L6B70 + LDA $FA + AND #$7F + CMP #$02 + BEQ L6B70 + CMP #$60 + BEQ L6B70 + JMP L6B73 + +L6BCB LDA $00 + AND #$3F + STA $00 + LDA $01 + AND #$3F + STA $01 + LDA #$00 + RTS + +L6BDA LDA $11 + STA $F0 + LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + LDA $4E3A + STA ($06),Y + CLC + LSR + STA $11 + JSR UPDATE + LDA $F0 + STA $11 + JSR $442A + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA $4E38 + LSR + CMP $4E13 + BCC L6C15 + CLC + ADC #$01 +L6C15 STA $4E13 + JSR L6706 + CLC + LDA $4E13 + ASL + ASL + ASL + ADC $4E38 + TAX + LDA L6CA6,X + STA $00 + INX + LDA L6CA6,X + STA $01 + JSR UPDATE + JSR $442A + PLA + PLA + JMP L528B + +L6C3C LDA $4E37 + BEQ L6C42 + RTS + +L6C42 DEC $4E39 + BEQ L6C48 + RTS + +L6C48 CLC + LDA $4E13 + ASL + ASL + ASL + STA $F0 + ADC $4E38 + TAX + LDA L6CA6,X + STA $F4 + INX + LDA L6CA6,X + STA $F5 + JSR $437B + CMP #$C0 + BNE L6C6E + LDY #$00 + LDA $4E3A + STA ($06),Y +L6C6E LDA #$08 + STA $4E39 + INC $4E38 + INC $4E38 + LDA $4E38 + AND #$07 + STA $4E38 + CLC + ADC $F0 + TAX + LDA L6CA6,X + STA $F4 + INX + LDA L6CA6,X + STA $F5 + JSR $437B + CMP #$14 + BCC L6C98 + RTS + +L6C98 STA $4E3A + LDY #$00 + LDA #$C0 + STA ($06),Y + LDA $F4 + LDX $F5 + RTS + +L6CA6 DA $381D + DA $381F + DA $3821 + DA $3823 + DA $0822 + DA $1C2F + DA $3824 + DA $2514 + DA $1010 + DA $1830 + DA $182A + DA $3413 + DA $3438 + DA $0C1C + DA $1721 + DA $3414 + DA $1712 + DA $2232 + DA $1834 + DA $0B08 +L6CCE LDA $DC + BEQ L6CF2 + JSR PRINTSTR + ASC "CMD: "00 + LDA #$14 + STA $FC +L6CDF JSR PRINTSTR + ASC "Z"00 + LDX #$FF +L6CE6 DEX + BNE L6CE6 + DEC $FC + BNE L6CDF + DEC $DC + JMP L528B + +L6CF2 JSR PRINTSTR + ASC "CMD: "00 + LDX #$FF + LDY #$FF +L6CFF LDA KBD + BMI L6D21 + PHA + PLA + PHA + PLA + PHA + PLA + PHA + PLA + PHA + PLA + PHA + PLA + DEX + BNE L6CFF + DEY + BNE L6CFF + JSR PRINTSTR + ASC "PASS"00 + JMP L528B + +L6D21 BIT KBDSTROBE + CMP #$8D + BNE L6D2B + JMP L6D4A + +L6D2B CMP #$88 + BNE L6D32 + JMP L6DFC + +L6D32 CMP #$95 + BNE L6D39 + JMP L6E22 + +L6D39 CMP #$AF + BNE L6D40 + JMP L6E49 + +L6D40 CMP #$A0 + BNE L6D47 + JMP L6E80 +L6D47 JMP L521E + +L6D4A JSR PRINTSTR + ASC "ADVANCE"00 + LDA $13 + AND #$0F + BEQ L6D6C +L6D5B JSR PRINTSTR + ASC "-BLOCKED!"8700 + JMP L528B + +L6D6C LDA $13 + CMP #$80 + BEQ L6D5B + CLC + LDA $00 + ADC $02 + AND #$3F + STA $00 + CLC + LDA $01 + ADC $03 + AND #$3F + STA $01 + JSR $4592 + CMP $F6 + BCC L6D8E + JMP L528B + +L6D8E JSR L5917 + LDA #$00 + STA $FB + JSR PRINTSTR + ASC 8D + ASC "ARGH! A TRAP!"8D00 + LDA #$10 + STA $F0 +L6DAC LDY #$10 +L6DAE BIT SPKR + LDX $F0 +L6DB3 DEX + BNE L6DB3 + DEY + BNE L6DAE + INC $F0 + BNE L6DAC + JSR $4419 + JSR $4419 + JSR $4419 + JSR $4419 + LDA $4E30 + BNE L6DD1 + JMP L5437 + +L6DD1 JSR PRINTSTR + ASC "ESCAPED! BY USE OF TOOLS!"00 + SED + SEC + LDA $4E30 + SBC #$01 + STA $4E30 + CLD + JMP L528B + +L6DFC JSR PRINTSTR + ASC "TURN LEFT"00 + LDA $03 + BEQ L6E16 + STA $02 + LDA #$00 + STA $03 + JMP L528B + +L6E16 SEC + SBC $02 + STA $03 + LDA #$00 + STA $02 + JMP L528B + +L6E22 JSR PRINTSTR + ASC "TURN RIGHT"00 + LDA $02 + BEQ L6E3D + STA $03 + LDA #$00 + STA $02 + JMP L528B + +L6E3D SEC + SBC $03 + STA $02 + LDA #$00 + STA $03 + JMP L528B + +L6E49 JSR PRINTSTR + ASC "RETREAT"00 + LDA $14 + AND #$8F + BEQ L6E6B + JSR PRINTSTR + ASC "-BLOCKED!"8700 + JMP L528B + +L6E6B LDA $00 + SEC + SBC $02 + AND #$3F + STA $00 + LDA $01 + SEC + SBC $03 + AND #$3F + STA $01 + JMP L528B + +L6E80 JSR PRINTSTR + ASC "PASS"00 + JMP L528B + +L6E8B LDA #$00 + STA L6F89 + STA L6F8A + STA $17 + STA $18 + JSR L5917 +L6E9A LDA L6F89 + CLC + ADC $17 + AND #$3F + STA $F4 + LDA L6F8A + CLC + ADC $18 + AND #$3F + STA $F5 + JSR $437B + BNE L6EB6 + JMP L6F5C + +L6EB6 CMP #$10 + BEQ L6ED5 + CMP #$78 + BCC L6EC2 + CMP #$F0 + BCC L6ED5 +L6EC2 CMP #$08 + BEQ L6EFF + CMP #$0C + BEQ L6EF1 + CMP #$04 + BEQ L6F10 + CMP #$70 + BEQ L6F21 + JMP L6F40 + +L6ED5 LDX #$00 + LDY #$00 + JSR L6F72 + LDX #$00 + LDY #$01 + JSR L6F72 + LDX #$02 + LDY #$01 + JSR L6F72 + LDX #$02 + LDY #$00 + JSR L6F72 +L6EF1 LDX #$01 + LDY #$01 + JSR L6F72 + LDX #$03 + LDY #$00 + JSR L6F72 +L6EFF LDX #$01 + LDY #$00 + JSR L6F72 + LDX #$03 + LDY #$01 + JSR L6F72 + JMP L6F5C + +L6F10 LDX #$01 + LDY #$00 + JSR L6F72 + LDX #$03 + LDY #$00 + JSR L6F72 + JMP L6F5C + +L6F21 LDX #$00 + LDY #$00 + JSR L6F72 + LDX #$00 + LDY #$01 + JSR L6F72 + LDX #$02 + LDY #$00 + JSR L6F72 + LDX #$02 + LDY #$01 + JSR L6F72 + JMP L6F5C + +L6F40 LDX #$01 + LDY #$00 + JSR L6F72 + LDX #$02 + LDY #$00 + JSR L6F72 + LDX #$02 + LDY #$01 + JSR L6F72 + LDX #$01 + LDY #$01 + JSR L6F72 +L6F5C INC $17 + LDA $17 + AND #$3F + STA $17 + BEQ L6F69 +L6F66 JMP L6E9A + +L6F69 INC $18 + LDA $18 + CMP #$40 + BCC L6F66 + RTS + +L6F72 STX $02 + STY $03 + LDA $17 + ASL + ASL + ADC $02 + STA $F0 + LDA $18 + ASL + ADC $03 + STA $F1 + JSR $4713 + RTS + +L6F89 HEX 53 +L6F8A HEX 4E + +L6F8B JSR PRINTSTR + ASC "ATTACK--"00 + LDA $4E14 + CMP #$04 + BCC L6FA1 + JMP L719A + +L6FA1 LDA $DB + BEQ L6FB7 + JSR PRINTSTR + ASC "PARALIZED!"8700 + JMP L528B + +L6FB7 JSR L67E7 + JSR $44B2 + JSR L69AB + STX $F1 + CPX #$00 + BNE L6FC9 + JMP L718D + +L6FC9 JSR $4592 + LSR + CMP $4E16 + BCC L6FD5 + JMP L718D + +L6FD5 JSR $459D + JSR L57F3 + JSR PRINTSTR + ASC "--HIT!!!"00 + JSR $4408 + LDA $4E2B + ASL + ASL + ASL + ADC $4E15 + LSR + LSR + STA $F0 + LDX $F1 +L6FF9 SEC + LDA $4D40,X + SBC $F0 + BCC L7061 + STA $4D40,X + JSR $459D + LDA $4D60,X + CMP #$40 + BEQ L7011 + JMP L528B + +L7011 JSR $404D + JSR $442A + JSR $404D + LDX $F1 + LDA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + JSR $437B + LDA $4D80,X + STA ($06),Y + LDA $F4 + STA $4D20,X + LDA $F5 + STA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + JSR $437B + LDA $4D60,X + STA ($06),Y + LDA #$84 + STA $4DA0,X + JSR PRINTSTR + ASC 8D + ASC "SHE'S GONE!!!"00 + JMP L528B + +L7061 LDA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + JSR $437B + LDY #$00 + LDA $4D80,X + STA ($06),Y + LDA $4D60,X + CMP #$40 + BNE L708D + JSR PRINTSTR + ASC 8D04 + ASC "BRUN END"8D + JMP L528B + +L708D CMP #$60 + BNE L709F + SED + CLC + LDA $4E2F + ADC #$02 + STA $4E2F + CLD + JMP L711B + +L709F CMP #$FC + BNE L70CF + STX $F0 + JSR $4592 + CMP #$40 + BCS L70B7 + SED + CLC + LDA $4E30 + ADC #$01 + STA $4E30 + CLD +L70B7 JSR $4592 + AND #$0F + BEQ L70CA + TAX + SED + CLC + LDA $4EA0,X + ADC #$01 + STA $4EA0,X + CLD +L70CA LDX $F0 + JMP L711B + +L70CF CMP #$F0 + BNE L70FE + STX $F0 + JSR $4592 + CMP #$40 + BCS L70E7 + SED + CLC + LDA $4EA5 + ADC #$01 + STA $4EA5 + CLD +L70E7 LDX $F0 + JSR $4592 + AND #$03 + ADC #$01 + SED + CLC + ADC $4E2E + STA $4E2E + CLD + LDX $F0 + JMP L711B + +L70FE CMP #$F8 + BNE L711B + STX $F0 + JSR $4592 + AND #$01 + TAX + INX + SED + CLC + LDA $4EA0,X + ADC #$01 + STA $4EA0,X + CLD + LDX $F0 + JMP L711B + +L711B LDA #$00 + STA $4D80,X + STA $4D40,X + STA $4D00,X + STA $4D20,X + STA $4D60,X + JSR PRINTSTR + ASC 0D + ASC "KILLED--GOLD+"00 + JSR $4592 + AND #$17 + ORA #$01 + STA $F0 + JSR PRBYTE + SED + CLC + LDA $4E23 + ADC $F0 + STA $4E23 + LDA $4E22 + ADC #$00 + STA $4E22 + CLD + JSR PRINTSTR + ASC "--EXP.+"00 + JSR $4592 + AND #$03 + ADC #$01 + STA $F0 + JSR PRBYTE + SED + CLC + LDA $4E21 + ADC $F0 + STA $4E21 + LDA $4E20 + ADC #$00 + STA $4E20 + CLD + JSR $459D + JMP L528B + +L718D JSR PRINTSTR + ASC "--MISS"00 + JMP L528B + +L719A JSR $44B2 + LDA $00 + CLC + ADC $02 + STA $F4 + LDA $01 + CLC + ADC $03 + STA $F5 + LDA $F6 + JSR L5A60 + AND #$07 + BNE L71B7 + JMP L7292 + +L71B7 LDX #$1F + STX $F0 +L71BB LDA $4D00,X + CMP $F4 + BNE L71D3 + LDA $4D20,X + CMP $F5 + BNE L71D3 + LDA $4D80,X + CMP $F6 + BNE L71D3 + JMP L71DC + +L71D3 DEC $F0 + LDX $F0 + BNE L71BB + JMP L7292 + +L71DC JSR $4592 + LSR + CMP $4E16 + BCC L71E8 + JMP L7292 + +L71E8 JSR PRINTSTR + ASC "HIT!"00 + JSR $459D + JSR $4408 + JSR $459D + LDA $4E2B + ASL + ASL + ASL + ADC $4E15 + LSR + LSR + LDX $F0 + STA $F1 + LDA $4D40,X + SEC + SBC $F1 + BCC L7216 + STA $4D40,X + JMP L528B + +L7216 LDA #$00 + STA $4D40,X + STA $4D60,X + STA $4D80,X + LDA $4D00,X + STA $F4 + LDA $4D20,X + STA $F5 + LDA $F6 + JSR L5A60 + LDA ($06),Y + AND #$F0 + STA ($06),Y + JSR PRINTSTR + ASC 8D + ASC "KILLED--GOLD+"00 + JSR $4592 + AND #$17 + ORA #$01 + STA $F1 + JSR PRBYTE + SED + CLC + LDA $4E23 + ADC $F1 + STA $4E23 + LDA $4E22 + ADC #$00 + STA $4E22 + CLD + JSR PRINTSTR + ASC "--EXP.+"00 + JSR $4592 + AND #$07 + STA $F1 + JSR PRBYTE + SED + CLC + LDA $4E21 + ADC $F1 + STA $4E21 + LDA $4E20 + ADC #$00 + STA $4E20 + CLD + JMP L528B + +L7292 JSR PRINTSTR + ASC "MISS"00 + JMP L528B + +L729D JSR PRINTSTR + ASC "BOARD"00 + LDA $4E14 + CMP #$04 + BCC L72C5 +L72AD JSR PRINTSTR + ASC 8D + ASC 87 + ASC "THINK AGAIN "00 + JSR $4084 + JMP L528B + +L72C5 LDA $11 + CMP #$78 + BCC L72AD + LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + LDA $12 + CMP #$22 + BEQ L72FF + CMP #$24 + BEQ L72F6 + CMP #$26 + BEQ L72F9 + CMP #$28 + BEQ L72FC + JSR PRINTSTR + ASC " WHAT?"8700 + JMP L528B +L72F6 JMP L7316 +L72F9 JMP L736E +L72FC JMP L73B2 + +L72FF JSR PRINTSTR + ASC " HORSE"00 + LDA #$08 + LDX #$00 + STA ($06,X) + LDA #$22 + STA $11 + JMP L528B + +L7316 LDA $4EAC + BNE L7356 + JSR PRINTSTR + ASC " SHIP"8D + ASC "THE CREW OF THIS SHIP"8D + ASC "WILL NOT LET YOU BOARD!"8700 + JMP L528B + +L7356 JSR PRINTSTR + ASC " FRIGATE"00 + LDA #$00 + TAY + STA ($06),Y + LDA #$24 + STA $11 + JMP L528B + +L736E LDA $4EA9 + BNE L739B + JSR PRINTSTR + ASC " PLANE"8D + ASC "STRANGE YOU CAN'T GET IN!"8700 + JMP L528B + +L739B JSR PRINTSTR + ASC " PLANE"00 + LDA #$08 + LDY #$00 + STA ($06),Y + LDA #$26 + STA $11 + JMP L528B + +L73B2 JSR PRINTSTR + ASC " ROCKET"00 + LDA $4EA7 + BNE L73FA + JSR PRINTSTR + ASC "A METALIC VOICE COMMANDS:"8D + ASC "YOU MUST HAVE AN ANKH!"8700 + JMP L528B + +L73FA LDA #$08 + LDY #$00 + STA ($06),Y + LDA #$28 + STA $11 + JMP L528B + +L7407 JSR PRINTSTR + ASC "CAST-"00 + LDA $4E2D + CLC + ADC #$24 + JSR $409C + LDA $4EA1 + CLC + ADC $4EA2 + BNE L7440 + JSR PRINTSTR + ASC 8D + ASC "NEED WAND OR STAFF!"00 + JSR $4399 + JMP L528B + +L7440 LDA $4E2D + BNE L7448 + JMP L528B + +L7448 TAX + LDA $4E80,X + BNE L7462 + JSR PRINTSTR + ASC 8D + ASC "NO SPELL!"00 + JSR $4399 + JMP L528B + +L7462 JSR $44A7 + LDX $4E2D + SED + SEC + LDA $4E80,X + SBC #$01 + STA $4E80,X + CLD + LDA $4E14 + CMP #$04 + BCS L748C + JSR PRINTSTR + ASC "-FAILED!"00 + JSR $4399 + JMP L528B + +L748C LDA $4E2D + BNE L7494 + JMP L528B + +L7494 CMP #$01 + BEQ L74C3 + CMP #$02 + BEQ L74CA + CMP #$03 + BEQ L74F6 + CMP #$04 + BEQ L750E + CMP #$05 + BEQ L74B7 + CMP #$06 + BEQ L74BA + CMP #$07 + BEQ L74BD + CMP #$08 + BNE L74C0 + JMP L7559 +L74B7 JMP L7531 +L74BA JMP L7534 +L74BD JMP L753C +L74C0 JMP L7580 + +L74C3 LDA #$96 + STA $FB + JMP L528B + +L74CA LDA $4E14 + CMP #$04 + BEQ L74FD +L74D1 LDA $F6 + CMP #$0F + BCC L74E9 +L74D7 JSR PRINTSTR + ASC "-FAILED!"00 + JSR $4399 + JMP L528B + +L74E9 CLC + ADC #$01 + JSR L5A60 + BNE L74D7 + INC $F6 + JMP L7A42 + +L74F6 LDA $4E14 + CMP #$04 + BEQ L74D1 +L74FD LDA $F6 + BEQ L7531 + SEC + SBC #$01 + JSR L5A60 + BNE L74D7 + DEC $F6 + JMP L7A42 + +L750E CLC + LDA $00 + ADC $02 + AND #$0F + BEQ L74D7 + STA $F4 + LDA $01 + ADC $03 + AND #$0F + BEQ L74D7 + STA $F5 + LDA $F6 + JSR L5A60 + BPL L74D7 + LDA #$00 + STA ($06),Y + JMP L528B +L7531 JMP L7A58 + +L7534 JSR $4592 + BMI L74D7 + JMP L7580 + +L753C JSR L758B + BEQ L74D7 + LDA $4E20 + ASL + ADC #$1E + STA $F1 + LDA $4D40,X + SBC $F1 + STA $4D40,X + BCS L7556 + JMP L7216 +L7556 JMP L528B + +L7559 JSR $4592 + AND #$0F + ORA #$01 + STA $F4 + JSR $4592 + AND #$0F + ORA #$01 + STA $F5 + LDA $F6 + JSR L5A60 + BEQ L7575 + JMP L74D7 + +L7575 LDA $F4 + STA $00 + LDA $F5 + STA $01 + JMP L528B + +L7580 JSR L758B + BNE L7588 + JMP L74D7 +L7588 JMP L7216 + +L758B LDX #$1F +L758D LDA $4D60,X + BNE L7598 +L7592 DEX + BNE L758D + LDA #$00 + RTS + +L7598 LDA $4D80,X + CMP $F6 + BNE L7592 + LDA $00 + CLC + ADC $02 + CMP $4D00,X + BNE L7592 + LDA $01 + CLC + ADC $03 + CMP $4D20,X + BNE L7592 + TXA + RTS + +L75B5 JSR PRINTSTR + ASC "DESCEND"00 + LDA $4E14 + CMP #$05 + BEQ L75D9 + CMP #$04 + BEQ L75D9 +L75CB JSR PRINTSTR + ASC "-WHAT?"8700 + JMP L528B + +L75D9 LDA $12 + AND #$20 + BEQ L75CB + LDA $4E14 + CMP #$04 + BNE L75E9 + JMP L7A3E + +L75E9 INC $F6 + JMP L7A42 + +L75EE JSR PRINTSTR + ASC "ENTER"00 + LDA $4E14 + BEQ L7609 + JSR PRINTSTR + ASC " WHAT?"00 + JMP L528B + +L7609 LDA $11 + CMP #$78 + BCS L7625 + JSR PRINTSTR + ASC "-ONLY ON FOOT!"8700 + JMP L528B + +L7625 LDA $12 + LSR + SEC + SBC #$05 + BNE L7630 + JMP L7660 + +L7630 SBC #$01 + BNE L7637 + JMP L7693 + +L7637 SBC #$01 + BNE L763E + JMP L76C3 + +L763E SBC #$01 + BNE L7645 + JMP L7709 + +L7645 SBC #$01 + BNE L764C + JMP L773B + +L764C SBC #$01 + BNE L7653 + JMP L7781 + +L7653 JSR PRINTSTR + ASC " WHAT?"00 + JMP L528B + +L7660 JSR PRINTSTR + ASC "-VILLAGE"00 + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA #$1F + STA $00 + LDA #$3E + STA $01 + LDA #$01 + STA $4E14 + JSR L6706 + JSR L673F + LDA #$04 + STA $10 + JMP L528B + +L7693 JSR PRINTSTR + ASC "-TOWN"00 + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA #$1F + STA $00 + LDA #$3E + STA $01 + LDA #$02 + STA $4E14 + JSR L6706 + JSR L673F + LDA #$04 + STA $10 + JMP L528B + +L76C3 JSR PRINTSTR + ASC "-TOWER"00 + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA #$00 + STA $F6 + STA $03 + LDA #$01 + STA $02 + LDA #$05 + STA $00 + STA $01 + LDA #$04 + STA $4E14 + JSR L6706 + JSR PRINTSTR + ASC 04 + ASC "BLOAD MONSTERS!"00 + JMP L528B + +L7709 JSR PRINTSTR + ASC "-CASTLE"00 + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA #$1F + STA $00 + LDA #$3E + STA $01 + LDA #$03 + STA $4E14 + JSR L6706 + JSR L673F + LDA #$04 + STA $10 + JMP L528B + +L773B JSR PRINTSTR + ASC "-DUNGEON"00 + LDA $00 + STA $4E24 + LDA $01 + STA $4E25 + JSR L6764 + LDA #$00 + STA $F6 + STA $03 + LDA #$01 + STA $02 + LDA #$05 + STA $00 + STA $01 + STA $4E14 + JSR L6706 + JSR PRINTSTR + ASC 04 + ASC "BLOAD MONSTERS!"00 + JMP L528B + +L7781 JSR PRINTSTR + ASC "-THE SIGN READS:"0D00 + LDX $4E13 + BEQ L77BA + DEX + BEQ L77CF + DEX + BEQ L77EA + DEX + BEQ L7800 + JSR PRINTSTR + ASC "ANOS: 2112 A.D."00 + JMP L528B + +L77BA JSR PRINTSTR + ASC "ANOS: LEGENDS!"00 + JMP L528B + +L77CF JSR PRINTSTR + ASC "ANOS: 9,000,000 B.C."00 + JMP L528B + +L77EA JSR PRINTSTR + ASC "ANOS: 1423 B.C."00 + JMP L528B + +L7800 JSR PRINTSTR + ASC "ANOS: 1990 A.D."00 + JMP L528B + +L7816 JSR PRINTSTR + ASC "FIRE"00 + LDA $11 + CMP #$24 + BEQ L7832 + JSR PRINTSTR + ASC " WHAT?"8700 + JMP L528B + +L7832 JSR PRINTSTR + ASC " DIRECT-"00 + JSR L67E7 + JSR L7862 + JSR L69AB + STX $F1 + CPX #$00 + BNE L7850 + JMP L718D + +L7850 JSR $4592 + ORA #$20 + STA $F0 + JSR $459D + JSR $4408 + LDX $F1 + JMP L6FF9 + +L7862 LDX #$01 +L7864 TXA + TAY +L7866 DEY + NOP + NOP + NOP + NOP + BNE L7866 + BIT SPKR + INX + BNE L7864 + RTS + +L7874 LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + LDA #$08 + STA ($06),Y + RTS + +L7884 JSR PRINTSTR + ASC "GET"00 + LDA $4E14 + CMP #$04 + BCC L7895 + JMP L7902 + +L7895 LDA $12 + CMP #$2A + BEQ L78DE + CMP #$2C + BEQ L78AC + JSR PRINTSTR + ASC " WHAT?"00 + JMP L528B + +L78AC JSR PRINTSTR + ASC " WEAPON"00 + JSR L7874 + JSR $4592 + AND #$07 + BEQ L78D0 + TAX + SED + CLC + LDA $4E40,X + ADC #$01 + STA $4E40,X + CLD + JMP L528B + +L78D0 JSR PRINTSTR + ASC " EMPTY!"00 + JMP L528B + +L78DE JSR PRINTSTR + ASC " ARMOUR"00 + JSR L7874 + JSR $4592 + AND #$03 + BEQ L78D0 + TAX + SED + CLC + LDA $4E60,X + ADC #$01 + STA $4E60,X + CLD + JMP L528B + +L7902 LDA $12 + CMP #$40 + BEQ L7915 + JSR PRINTSTR + ASC " WHAT?"00 + JMP L528B + +L7915 JSR PRINTSTR + ASC "CHEST!"8D + ASC "IT CONTAINS "00 + LDA $00 + STA $F4 + LDA $01 + STA $F5 + LDA $F6 + JSR L5A60 + LDA #$00 + STA ($06),Y + LDA $F6 + CMP #$0F + BEQ L7983 + JSR $4592 + CMP #$40 + BCC L7972 + JSR PRINTSTR + ASC "GOLD!"00 + JSR $4592 + AND #$1F + ADC $F6 + ADC $F6 + AND #$77 + SED + CLC + ADC $4E23 + STA $4E23 + LDA $4E22 + ADC #$00 + STA $4E22 + CLD + JMP L528B + +L7972 LDA $F6 + LSR + BCC L797A + JMP L78DE + +L797A JSR PRINTSTR + ASC "A "00 + JMP L78AC + +L7983 JSR PRINTSTR + ASC "TRI-LITHIUM!"00 + SED + CLC + LDA $4EAF + ADC #$01 + STA $4EAF + CLD + JMP L528B + +L79A1 JSR PRINTSTR + ASC "HYPER WHAT?"00 + JMP L528B + +L79B3 JSR PRINTSTR + ASC "IGNITE TORCH"00 + LDA $4E14 + CMP #$04 + BCS L79CD + JMP L528B + +L79CD LDA $4E2E + BNE L79E6 + JSR PRINTSTR + ASC 8D + ASC "NONE OWNED!"8700 + JMP L528B + +L79E6 SED + SEC + LDA $4E2E + SBC #$01 + STA $4E2E + CLD + LDA #$96 + STA $FB + JMP L528B + +L79F8 JSR PRINTSTR + ASC "JUMP...WHEE..."00 + JMP L528B + +L7A0D JSR PRINTSTR + ASC "KLIMB"00 + LDA $4E14 + CMP #$05 + BEQ L7A2E + CMP #$04 + BEQ L7A2E +L7A21 JSR PRINTSTR + ASC "-WHAT?"00 + JMP L528B + +L7A2E LDA $12 + AND #$10 + BEQ L7A21 + LDA $4E14 + CMP #$04 + BNE L7A3E + JMP L75E9 + +L7A3E DEC $F6 + BMI L7A58 +L7A42 JSR PRINTSTR + ASC 8D + ASC "TO LEVEL "00 + LDA $F6 + JSR PRBYTE + JMP L528B + +L7A58 LDA $4E24 + STA $00 + LDA $4E25 + STA $01 + LDX #$00 + LDA #$FF +L7A66 STA $4B00,X + STA $4C00,X + DEX + BNE L7A66 + LDA #$00 + STA $4E14 + JSR L6706 + JSR PRINTSTR + ASC 04 + ASC "BLOAD SHAPES"8D00 + LDA $4E24 + STA $00 + LDA $4E25 + STA $01 + LDA $4E37 + BEQ L7AAC + LDA $4E34 + STA $F4 + LDA $4E35 + STA $F5 + JSR $437B + LDA #$50 + STA ($06),Y + JMP L528B + +L7AAC JSR PRINTSTR + ASC 04 + ASC "BSAVE PLAYER,A$4E00,L$100"8D00 + JMP L528B + +L7ACE LDA $11 + CMP #$26 + BNE L7AD7 + JMP L7C1B + +L7AD7 CMP #$28 + BEQ L7AEE + JSR PRINTSTR + ASC "LAUNCH WHAT?"00 + JMP L528B + +L7AEE JSR PRINTSTR + ASC "LAUNCH--ROCKET"00 + LDA $4EAF + BNE L7B3D + JSR PRINTSTR + ASC 8D + ASC "A METALLIC VOICE SAYS:"8D + ASC "SHIP INCAPABLE OF LAUNCH!"00 + JMP L528B + +L7B3D JSR PRINTSTR + ASC 8D + ASC "PREPARE FOR LAUNCH!"8D + ASC 04 + ASC "BLOAD STARS.OBJ"8D00 + LDA $4E37 + BNE L7B83 + LDA $4E14 + BNE L7B83 + LDA $00 + STA $4E34 + LDA $01 + STA $4E35 + LDA #$01 + STA $4E33 + JSR L6764 +L7B83 JSR $8900 + JSR L6706 + JSR PRINTSTR + ASC 04 + ASC "BLOAD DNGDRAW.OBJ"0D00 + LDX #$00 + LDA #$FF +L7BA4 STA $4B00,X + STA $4C00,X + DEX + BNE L7BA4 + STX $00 + STX $01 + STA $10 + JSR PRINTSTR + ASC "(PRESS ANY KEY)"00 + LDA KBDSTROBE +L7BC9 LDA $01 + CLC + ADC #$02 + AND #$3F + STA $01 + AND #$07 + BNE L7BDD + LDA $00 + CLC + ADC #$01 + STA $00 +L7BDD JSR UPDATE + LDA KBD + BPL L7BC9 + BIT KBDSTROBE + LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + AND #$7F + CMP #$08 + BEQ L7BFC + JMP L5437 + +L7BFC LDA $4E37 + BNE L7C09 + LDA #$00 + STA $4E33 + JMP L528B + +L7C09 LDA $00 + STA $4E34 + LDA $01 + STA $4E35 + LDA #$01 + STA $4E33 + JMP L528B + +L7C1B JSR PRINTSTR + ASC "LAUNCH--PLANE"00 + LDA $4EAB + BNE L7C65 + JSR PRINTSTR + ASC 8D + ASC "FUNNY THIS PLANE IS"8D + ASC "MISSING A BRASS BUTTON!"8700 + JMP L528B + +L7C65 LDA #$00 + STA $F2 + LDA #$FF + STA $F3 + JSR PRINTSTR + ASC 0D + ASC "CMD: "00 +L7C77 JSR $43E9 + LDA KBD + BIT KBDSTROBE + CMP #$8D + BNE L7C87 + JMP L7CCE + +L7C87 CMP #$AF + BNE L7C8E + JMP L7CE8 + +L7C8E CMP #$95 + BNE L7C95 + JMP L7D02 + +L7C95 CMP #$88 + BNE L7C9C + JMP L7D1B + +L7C9C CMP #$CC ; L + BNE L7CA3 + JMP L7D34 + +L7CA3 CLC + LDA $00 + ADC $F2 + AND #$3F + STA $00 + CLC + LDA $01 + ADC $F3 + AND #$3F + STA $01 + LDA $4E14 + BEQ L7CC8 + LDA $00 + BEQ L7CC5 + LDA $01 + BEQ L7CC5 + JMP L7CC8 +L7CC5 JMP L69E9 + +L7CC8 JSR UPDATE + JMP L7C77 + +L7CCE LDA #$00 + STA $F2 + LDA #$FF + STA $F3 + JSR PRINTSTR + ASC "NORTH"0D + ASC "CMD: "00 + JMP L7CA3 + +L7CE8 LDA #$00 + STA $F2 + LDA #$01 + STA $F3 + JSR PRINTSTR + ASC "SOUTH"0D + ASC "CMD: "00 + JMP L7CA3 + +L7D02 LDA #$01 + STA $F2 + LDA #$00 + STA $F3 + JSR PRINTSTR + ASC "EAST"0D + ASC "CMD: "00 + JMP L7CA3 + +L7D1B LDA #$FF + STA $F2 + LDA #$00 + STA $F3 + JSR PRINTSTR + ASC "WEST"0D + ASC "CMD: "00 + JMP L7CA3 + +L7D34 LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + CMP #$08 + BNE L7D55 + JSR PRINTSTR + ASC "LAND PLANE."00 + JMP L528B + +L7D55 JSR PRINTSTR + ASC "LAND--NOT HERE!!!!!"0D + ASC "CMD: "00 + JMP L7CA3 + +L7D75 JSR PRINTSTR + ASC "MAGIC SPELL READY #"00 + JSR L653E + STA $4E2D + JSR PRINTSTR + ASC "SPELL READY => "00 + LDA $4E2D + CLC + ADC #$24 + JSR $409C + JMP L528B + +L7DB1 JSR PRINTSTR + ASC "NEGATE TIME"00 + LDA $4EAD + BNE L7DE5 + JSR PRINTSTR + ASC " HOW?"8D + ASC "YOU'RE NOT EINSTEIN"00 + JMP L528B + +L7DE5 SED + SEC + LDA $4EAD + SBC #$01 + STA $4EAD + CLD + JSR PRINTSTR + ASC 8D + ASC "YOU RUB A COIN..."00 + LDA #$14 + STA $D9 + JMP L528B + +L7E0D JSR PRINTSTR + ASC "OFFER GOLD DIRECT-"00 + JSR L67E7 + JSR L69AB + STX $F0 + LDA #$8D + JSR COUT + CPX #$00 + BNE L7E49 + JSR PRINTSTR + ASC "OFFER TO WHOM?"00 + JMP L528B + +L7E49 JSR PRINTSTR + ASC "HOW MUCH (*100) ? "00 + JSR L653E + STA $FC + LDA #$00 + STA $FD + JSR L655D + LDX $F0 + LDA $4DA0,X + BPL L7E83 + LDA $4E14 + CMP #$02 + BNE L7E83 + LDA $4E13 + CMP #$03 + BNE L7E83 + JMP L7E9E + +L7E83 JSR PRINTSTR + ASC "THANK YOU VERY MUCH!"00 + JMP L528B + +L7E9E LDX $F0 + LDA $4DA0,X + CMP #$81 + BEQ L7EB2 + CMP #$82 + BEQ L7ED4 + CMP #$83 + BEQ L7F12 + JMP L7F3A + +L7EB2 LDA $FC + CMP #$05 + BCC L7E83 + JSR PRINTSTR + ASC "ENILNO IS YOURS!"00 + LDA #$01 + STA $4E49 + JMP L528B + +L7ED4 LDA $FC + CMP #$05 + BCC L7E83 + LDA $4E36 + BNE L7EF4 + JSR PRINTSTR + ASC "EARN THE RING!"00 + JMP L528B + +L7EF4 JSR PRINTSTR + ASC "THE RING IS YOURS!"00 + LDA #$01 + STA $4EA0 + JMP L528B + +L7F12 JSR $4592 + AND #$07 + SED + CLC + TAX + INX + LDA $4E40,X + ADC #$01 + STA $4E40,X + CLD + JSR PRINTSTR + ASC "HERE TAKE THIS!"00 + JMP L528B + +L7F3A JSR $4592 + AND #$07 + CMP #$06 + BCC L7F46 + JMP L7E83 + +L7F46 TAX + INX + SED + CLC + LDA $4E15,X + ADC $FC + ADC $FC + ADC $FC + ADC $FC + STA $4E15,X + CLD + JSR PRINTSTR + ASC "ALAKAZAM!"00 + JMP L528B + +L7F69 JSR PRINTSTR + ASC "PASS"00 + JMP L528B + +L7F74 JSR PRINTSTR + ASC "QUIT OR SAVE GAME."00 + LDA $4E14 + BEQ L7FA6 + JSR PRINTSTR + ASC 8D + ASC "ONLY OUTDOORS!"8700 + JMP L528B + +L7FA6 LDA $4E37 + BEQ L7FC2 + JSR PRINTSTR + ASC 8D + ASC "ONLY ON EARTH!"8700 + JMP L528B + +L7FC2 LDA $11 + CMP #$78 + BCS L7FDE + JSR PRINTSTR + ASC 8D + ASC "ONLY ON FOOT!"8700 + JMP L528B + +L7FDE JSR PRINTSTR + ASC 8D + ASC "ONE MOMENT PLEASE!"00 + JSR L6764 + JMP L528B + +L7FFB JSR PRINTSTR + ASC "READY WEAPON:"0D + ASC "1-DA, 2-MA, 3-AX, 4-BO,"0D + ASC "5-SW, 6-GR, 7-LI, 8-PH."0D + ASC "9-QU, WHICH? "00 + JSR L653E + STA $F0 + CLC + ADC #$13 + JSR $409C + LDX $F0 + LDA $4E40,X + BNE L8073 + LDA $F0 + BEQ L8073 + JSR PRINTSTR + ASC " NOT OWNED!"8700 + JMP L528B + +L8073 LDA $F0 + ASL + ASL + ASL + CMP $4E16 + BCC L80AB + JSR PRINTSTR + ASC " <-THOU ART NOT "8D + ASC "AGILE ENOUGH TO WIELD!"00 + JMP L528B + +L80AB JSR PRINTSTR + ASC " READY."00 + LDA $F0 + STA $4E2B + JMP L528B + +L80BE JSR PRINTSTR + ASC "STEAL DIRECT-"00 + JSR L67E7 + CLC + LDA $00 + ADC $17 + STA $F4 + CLC + LDA $01 + ADC $18 + STA $F5 + LDA #$8D + JSR COUT + JSR $437B + BMI L80EE + CMP #$7C + BNE L8106 +L80EE CLC + LDA $F4 + ADC $17 + STA $F4 + CLC + LDA $F5 + ADC $18 + STA $F5 + JSR $437B + CMP #$68 + BNE L8106 + JMP L811F + +L8106 JSR PRINTSTR + ASC "NO LUCK!"00 + JSR $4592 + AND #$07 + BNE L811C + JSR L57F3 +L811C JMP L528B + +L811F LDA $4E11 + CMP #$03 + BEQ L812B + JSR $4592 + BMI L8106 +L812B JSR $4592 + BMI L8106 + LDA $4DA0 + CMP #$01 + BEQ L8106 + LDA $4E14 + CMP #$01 + BEQ L8151 + CMP #$02 + BNE L8106 + LDA $01 + CMP #$20 + BCS L8106 + LDA $00 + CMP #$20 + BCS L817A + JMP L81A0 + +L8151 LDA $01 + CMP #$20 + BCS L8106 + LDA $00 + CMP #$20 + BCC L8106 + JSR PRINTSTR + ASC "STEAL FOOD!"00 + SED + CLC + LDA $4E1D + ADC #$01 + STA $4E1D + CLD + JMP L528B + +L817A JSR PRINTSTR + ASC "STEAL ARMOUR!"00 + JSR $4592 + AND #$03 + TAX + INX + SED + CLC + LDA $4E60,X + ADC #$01 + STA $4E60,X + CLD + JMP L528B + +L81A0 JSR PRINTSTR + ASC "STEAL WEAPONS!"00 + JSR $4592 + AND #$07 + TAX + INX + SED + CLC + LDA $4E40,X + ADC #$01 + STA $4E40,X + CLD + JMP L528B + +L81C7 JSR PRINTSTR + ASC "TRANSACT-"00 + JSR L67E7 + JSR L69AB + STX $F1 + LDA #$8D + JSR COUT + LDA $4E14 + BEQ L820B + CPX #$00 + BNE L8225 + JSR $437B + BMI L81F3 + CMP #$7C + BNE L820B +L81F3 CLC + LDA $F4 + ADC $17 + STA $F4 + CLC + LDA $F5 + ADC $18 + STA $F5 + JSR $437B + CMP #$68 + BNE L820B + JMP L5B2E + +L820B JSR PRINTSTR + ASC "FUNNY, NO RESPONSE!"00 + JMP L528B + +L8225 LDA $4DA0,X + CMP #$80 + BCC L822F + JMP L8369 + +L822F LDA $4D60,X + CMP #$6C + BNE L8239 + JMP L839B + +L8239 LDA $4D60,X + CMP #$60 + BNE L8264 + JSR PRINTSTR + ASC "A GUARD SAYS:"0D + ASC "PAY YOUR TAXES!"00 + JMP L528B + +L8264 CMP #$64 + BNE L8288 + JSR PRINTSTR + ASC "A JESTER SINGS:"0D + ASC "HO HO HO!"00 + JMP L528B + +L8288 CMP #$68 + BNE L82BB + JSR PRINTSTR + ASC "A MERCHANT SAYS:"0D + ASC "WILL YOU BUY MY APPLES?"00 + JMP L528B + +L82BB CMP #$F0 + BNE L82E4 + JSR PRINTSTR + ASC "A FIGHTER SAYS:"0D + ASC "UGH, ME TOUGH!"00 + JMP L528B + +L82E4 CMP #$F4 + BNE L8306 + JSR PRINTSTR + ASC "A CLERIC SAYS:"0D + ASC "BELIEVE!"00 + JMP L528B + +L8306 CMP #$F8 + BNE L8335 + JSR PRINTSTR + ASC "A WIZARD SAYS:"0D + ASC "HEX-E-POO-HEX-ON-YOU!"00 + JMP L528B + +L8335 CMP #$FC + BNE L8366 + JSR PRINTSTR + ASC "A THIEF SAYS:"0D + ASC "PSST, WANNA BUY A WATCH?"00 + JMP L528B +L8366 JMP L820B + +L8369 SEC + SBC #$80 + JSR L5AF7 + LDY #$07 +L8371 INC $4E + BNE L8371 + INC $4F + BNE L8371 + DEY + BNE L8371 + LDX $F1 + LDA $4E37 + CMP #$09 + BNE L8398 + LDA $4E14 + CMP #$03 + BNE L8398 + LDA $4DA0,X + CMP #$81 + BNE L8398 + LDA #$01 + STA $4E36 +L8398 JMP L528B + +L839B JSR PRINTSTR + ASC "WELCOME MY CHILD "00 + JSR $4084 + JSR PRINTSTR + ASC 8D + ASC "FIRST MY 50 G.P. TRIBUTE!"8D00 + LDA #$50 + STA $FD + LDA #$00 + STA $FC + JSR L655D + JSR PRINTSTR + ASC "AND FOR IT I RAISE THEE "00 + LDA $4E1B + LDX #$03 + CMP #$50 + BCC L8410 + LDX #$02 + CMP #$75 + BCC L8410 + LDX #$01 + CMP #$99 + BCC L8410 + LDX #$00 +L8410 STX $F0 + TXA + LDX #$00 + JSR PRNTAX + SED + CLC + LDA $4E1B + ADC $F0 + STA $4E1B + CLD + JMP L528B +L8426 JSR PRINTSTR + ASC "UNLOCK DIRECTION-"00 + JSR L67E7 + LDA $17 + BNE L8459 +L8442 JSR PRINTSTR + ASC 8D + ASC "NO DOOR THERE!"8700 + JMP L528B + +L8459 LDA $01 + STA $F5 + LDA $00 + CLC + ADC $17 + STA $F4 + JSR $437B + CMP #$A0 + BNE L8442 + LDA $4E2F + BNE L848A + JSR PRINTSTR + ASC 8D + ASC "NO KEYS THAT FIT!"8700 + JMP L528B + +L848A SED + SEC + LDA $4E2F + SBC #$01 + STA $4E2F + CLD + LDA $12 + ASL + LDX #$00 + STA ($06,X) + JMP L528B + +L849F LDA $4EA5 + BNE L84B5 +L84A4 JSR PRINTSTR + ASC "VIEW WHAT?"00 + JMP L528B + +L84B5 LDA $4E14 + CMP #$04 + BCS L84A4 + JSR PRINTSTR + ASC "VIEW"8D + ASC "WITH MAGICAL HELM!"00 + SED + SEC + LDA $4EA5 + SBC #$01 + STA $4EA5 + CLD + LDA #$20 + STA $F4 + STA $F5 + JSR L6E8B + BIT KBDSTROBE +L84EE LDA KBD + BPL L84EE + BIT KBDSTROBE + LDX #$FF + LDA #$FF +L84FA STA $4B00,X + STA $4C00,X + DEX + BNE L84FA + STA $4B00 + STA $4C00 + JMP L528B + +L850C JSR PRINTSTR + ASC "WEAR ARMOUR:"0D + ASC "1-CLOTH, 2-LEATHER, 3-CHAIN,"0D + ASC "4-PLATE, 5-REFLECT, 6-POWER,"0D + ASC "WHICH? "00 + JSR L653E + STA $F0 + CMP #$07 + BCC L856B + LDA #$00 + STA $F0 +L856B CLC + ADC #$1D + JSR $409C + LDX $F0 + LDA $4E60,X + BNE L858E + LDA $F0 + BEQ L858E + JSR PRINTSTR + ASC " NOT OWNED!"00 + JMP L528B + +L858E LDA $F0 + ASL + ASL + ASL + CMP $4E15 + BCC L85C5 + JSR PRINTSTR + ASC " <-THOU ART NOT"0D + ASC "STRONG ENOUGH TO WEAR!"00 + JMP L528B + +L85C5 JSR PRINTSTR + ASC " READY."00 + LDA $F0 + STA $4E2C + JMP L528B + +L85D8 JSR PRINTSTR + ASC "X-IT"00 + LDA $11 + CMP #$78 + BCC L85F4 + JSR PRINTSTR + ASC " WHAT?"8700 + JMP L528B + +L85F4 LDA $00 + STA $F4 + LDA $01 + STA $F5 + JSR $437B + LDA $12 + CMP #$04 + BEQ L8621 + CMP #$00 + BNE L860F + LDA $11 + CMP #$24 + BEQ L8621 +L860F JSR PRINTSTR + ASC "-NOT HERE!"8700 + JMP L528B + +L8621 LDA $11 + ASL + LDY #$00 + STA ($06),Y + LDA $4E11 + ASL + CLC + ADC #$78 + STA $11 + JMP L528B + +L8634 JSR PRINTSTR + ASC "YELL WHAT?"8D00 +L8643 LDA KBD + BPL L8643 + CMP #$8D + BEQ L8655 + JSR COUT + BIT KBDSTROBE + JMP L8643 + +L8655 JSR COUT + BIT KBDSTROBE + JMP L528B + +L865E LDA #$28 + STA $21 + JSR HOME + LDA TXTSET + JSR $4084 + JSR PRINTSTR + ASC 8D + ASC "A LEVEL "00 + LDA $4E20 + JSR PRBYTE + LDA #$A0 + JSR COUT + LDA $4E10 + JSR $4069 + LDA #$A0 + JSR COUT + LDA $4E12 + CLC + ADC #$44 + JSR $409C + LDA #$A0 + JSR COUT + LDA $4E11 + CLC + ADC #$48 + JSR $409C + LDA #$8D + JSR COUT + LDA #$8D + JSR COUT + JSR PRINTSTR + ASC "WEAPON: "00 + LDA $4E2B + CLC + ADC #$13 + JSR $409C + LDX #$1B + LDY #$03 + JSR $458A + JSR PRINTSTR + ASC "TORCHES-"00 + LDA $4E2E + JSR PRBYTE + LDX #$00 + LDY #$04 + JSR $458A + JSR PRINTSTR + ASC "ARMOUR: "00 + LDA $4E2C + CLC + ADC #$1D + JSR $409C + LDX #$1E + LDY #$04 + JSR $458A + JSR PRINTSTR + ASC "KEYS-"00 + LDA $4E2F + JSR PRBYTE + LDX #$01 + LDY #$05 + JSR $458A + JSR PRINTSTR + ASC "SPELL: "00 + LDA $4E2D + CLC + ADC #$24 + JSR $409C + LDX #$1D + LDY #$05 + JSR $458A + JSR PRINTSTR + ASC "TOOLS-"00 + LDA $4E30 + JSR PRBYTE + LDX #$00 + LDY #$07 + JSR $458A + LDA #$3E + JSR $409C + LDA #$AD + JSR COUT + LDA $4E15 + JSR PRBYTE + LDX #$01 + LDY #$08 + JSR $458A + LDA #$3F + JSR $409C + LDA #$AD + JSR COUT + LDA $4E16 + JSR PRBYTE + LDX #$0E + LDY #$07 + JSR $458A + LDA #$40 + JSR $409C + LDA #$AD + JSR COUT + LDA $4E17 + JSR PRBYTE + LDX #$0D + LDY #$08 + JSR $458A + LDA #$41 + JSR $409C + LDA #$AD + JSR COUT + LDA $4E18 + JSR PRBYTE + LDX #$1F + LDY #$07 + JSR $458A + LDA #$42 + JSR $409C + LDA #$AD + JSR COUT + LDA $4E19 + JSR PRBYTE + LDX #$1A + LDY #$08 + JSR $458A + LDA #$43 + JSR $409C + LDA #$AD + JSR COUT + LDA $4E1A + JSR PRBYTE + LDX #$00 + LDY #$0A + JSR $458A + JSR PRINTSTR + ASC "WEAPONS: "00 + LDX #$01 +L87E1 LDA $4E40,X + BEQ L8802 + STX $F0 + TXA + CLC + ADC #$13 + JSR $409C + JSR PRINTSTR + ASC "S-"00 + LDX $F0 + LDA $4E40,X + JSR PRBYTE + LDA #$A0 + JSR COUT +L8802 INX + CPX #$0A + BCC L87E1 + LDX #$00 + LDY #$0D + JSR $458A + JSR PRINTSTR + ASC "ARMOUR: "00 + LDX #$01 +L881C LDA $4E60,X + BEQ L883C + STX $F0 + TXA + CLC + ADC #$1D + JSR $409C + JSR PRINTSTR + ASC "-"00 + LDX $F0 + LDA $4E60,X + JSR PRBYTE + LDA #$A0 + JSR COUT +L883C INX + CPX #$07 + BCC L881C + LDX #$00 + LDY #$0F + JSR $458A + JSR PRINTSTR + ASC "SPELLS: "00 + LDX #$01 +L8856 LDA $4E80,X + BEQ L8877 + STX $F0 + TXA + CLC + ADC #$24 + JSR $409C + JSR PRINTSTR + ASC "S-"00 + LDX $F0 + LDA $4E80,X + JSR PRBYTE + LDA #$A0 + JSR COUT +L8877 INX + CPX #$0A + BCC L8856 + LDX #$00 + LDY #$11 + JSR $458A + JSR PRINTSTR + ASC "ITEMS: "00 + LDX #$00 +L8890 LDA $4EA0,X + BEQ L88B1 + STX $F0 + TXA + CLC + ADC #$2E + JSR $409C + JSR PRINTSTR + ASC "S-"00 + LDX $F0 + LDA $4EA0,X + JSR PRBYTE + LDA #$A0 + JSR COUT +L88B1 INX + CPX #$10 + BCC L8890 + LDX #$00 +L88B8 LDA KBD + BPL L88B8 + BIT KBDSTROBE + JSR HOME + LDA TXTCLR + LDA HIRES + JSR $44DE + JMP L528B diff --git a/ultima2/UPDATE.S b/ultima2/UPDATE.S new file mode 100644 index 0000000..c77f7ae --- /dev/null +++ b/ultima2/UPDATE.S @@ -0,0 +1,221 @@ +* +* Ultima II: The Revenge of the Enchanteress +* +* (c) 1982, Sierra On-Line +* (s) 2020, John Disam +* + + TYP BIN + ORG $0240 + MX %11 + LST OFF + +*---------------------------- + +L0240 LDA $10 + CMP #$FF + BNE L0249 + JMP L02D7 + +L0249 SEC + LDA $01 + SBC #$05 + STA $03 + SEC + LDA $00 + SBC #$09 + STA $02 + LDA #$00 + STA $05 + STA $04 + TAY + TAX +L025F CLC + LDA $04 + ADC $02 + CMP #$40 + BCS L0270 + LDA $05 + ADC $03 + CMP #$40 + BCC L0275 +L0270 LDA $10 + JMP L0291 + +L0275 STA $07 + LDA #$00 + LSR $07 + ROR + LSR $07 + ROR + ADC $04 + ADC $02 + STA $06 + CLC + LDA $07 + ADC #$10 + STA $07 + LDA ($06),Y + LSR + AND #$FE +L0291 CMP $4C00,X + BNE L02A0 + CMP #$00 + BEQ L02A0 + CMP #$2E + BEQ L02A0 + ORA #$80 +L02A0 STA $4B00,X + INX + INC $04 + LDA $04 + CMP #$14 + BNE L025F + STY $04 + INC $05 + LDA $05 + CMP #$0A + BNE L025F + LDA $4B6D + STA $12 + LDA $4B59 + STA $13 + LDA $4B81 + STA $14 + LDA $4B6C + STA $16 + LDA $4B6E + STA $15 + LDA $11 + STA $4B6D + JMP L035E + +L02D7 SEC + LDA $01 + SBC #$05 + AND #$3F + STA $03 + SEC + LDA $00 + SBC #$09 + AND #$3F + STA $02 + LDA #$00 + STA $05 + STA $04 + TAY + TAX +L02F1 CLC + LDA $04 + ADC $02 + AND #$3F + STA $17 + CLC + LDA $05 + ADC $03 + AND #$3F + STA $07 + LDA #$00 + LSR $07 + ROR + LSR $07 + ROR + ADC $17 + STA $06 + CLC + LDA $07 + ADC #$10 + STA $07 + LDA ($06),Y + LSR + AND #$FE + CMP $4C00,X + BNE L032A + CMP #$00 + BEQ L032A + CMP #$2E + BEQ L032A + ORA #$80 +L032A STA $4B00,X + INX + INC $04 + LDA $04 + CMP #$14 + BNE L02F1 + STY $04 + INC $05 + LDA $05 + CMP #$0A + BNE L02F1 + LDA $4B6D + STA $12 + LDA $4B59 + STA $13 + LDA $4B81 + STA $14 + LDA $4B6C + STA $16 + LDA $4B6E + STA $15 + LDA $11 + STA $4B6D +L035E LDX #$00 + STX $0C +L0362 LDY $0C + LDA $472C,Y + STA L0399+1 + STA L03A5+1 + LDA $47EC,Y + STA L0399+2 + STA L03A5+2 + TYA + AND #$0F + LSR + ORA #$08 + STA L0394+2 + STA L039F+2 + LDA #$00 + STA $0D + ROR + STA L0394+1 + ADC #$01 + STA L039F+1 +L038F LDY $4B00,X + BMI L03A8 +L0394 LDA $FFFF,Y + LDY $0D +L0399 STA $FFFF,Y + LDY $4B00,X +L039F LDA $FFFF,Y + LDY $0D + INY +L03A5 STA $FFFF,Y +L03A8 INX + LDA $0D + CLC + ADC #$02 + STA $0D + CMP #$28 + BNE L038F + INC $0C + LDA $0C + CMP #$A0 + BEQ L03C7 + AND #$0F + BEQ L0362 + TXA + SBC #$13 + TAX + JMP L0362 + +L03C7 LDX #$00 +L03C9 LDA $4B00,X + AND #$7F + STA $4C00,X + INX + CPX #$F0 + BNE L03C9 + RTS + + HEX A0 + HEX D3 diff --git a/ultima2/Ultima II Memory Map.txt b/ultima2/Ultima II Memory Map.txt new file mode 100644 index 0000000..de0558f --- /dev/null +++ b/ultima2/Ultima II Memory Map.txt @@ -0,0 +1,21 @@ +Ultima II : The Revenge of the Enchanteress + +(c) 1982, Sierra On-Line +(s) 2020, John Disasm + +Memory map + +From To Description +0000 00FF Zero page +0240 03FF UPDATE OBJ +0800 0FFF Shapes or Monsters sprites +1000 1FFF MAP XX +2000 3FFF HGR screen +4000 4AFF STD SUBS OBJ +4D00 4DFF MON XX +4E00 4EFF PLAYER data file +4F00 4FFF TLK XX +5000 88FF ULTIMA II OBJ +6000 71FF CREATE / HELLO OBJ +8900 903B DNGDRAW / END / STARS OBJ +903C 94FF TABLES 903C OBJ \ No newline at end of file diff --git a/yourtour/.DS_Store b/yourtour/.DS_Store new file mode 100644 index 0000000..5008ddf Binary files /dev/null and b/yourtour/.DS_Store differ diff --git a/yourtour/ARRAYS.S b/yourtour/ARRAYS.S new file mode 100644 index 0000000..c82fd0e --- /dev/null +++ b/yourtour/ARRAYS.S @@ -0,0 +1,9783 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + +L0C0000 ENT + ASC 'Can'27't allocate SANE direct page'00 +L0C0020 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0028 ENT + DB $00 + DB $00 +L0C002A ENT + DB $00 + DB $00 +L0C002C ENT + DB $00 + DB $00 +L0C002E ENT + DW $000B ; cursor height + DW $0004 ; cursor width + HEX 0000000000000000 ; cursor image + HEX 0000000000000000 + HEX 0000000000000000 + HEX 0055555000000000 + HEX 0555555500000000 + HEX 0555000500000000 + HEX 0555055500000000 + HEX 0055555000000000 + HEX 0000000000000000 + HEX 0000000000000000 + HEX 0000000000000000 + HEX 00FFFFF000000000 ; cursor mask + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 0FFFFFFF00000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFF0000000 + HEX 0FFFFFFF00000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + DW $0006 ; hot spot + DW $0008 +L0C00E6 ENT + DW $000B ; cursor height + DW $0004 ; cursor width + HEX 5500000000000000 ; cursor image + HEX 5050000000000000 + HEX 5005000000000000 + HEX 5000500000000000 + HEX 5000050000000000 + HEX 5000005000000000 + HEX 5000000500000000 + HEX 5000000050000000 + HEX 5005005500000000 + HEX 5550500500000000 + HEX 0000055500000000 + HEX FF00000000000000 ; cursor mask + HEX FFF0000000000000 + HEX FFFF000000000000 + HEX FFFFF00000000000 + HEX FFFFFF0000000000 + HEX FFFFFFF000000000 + HEX FFFFFFFF00000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFF00000000 + HEX FFF0FFFF00000000 + HEX 00000FFF00000000 + DW $0001 ; hot spot + DW $0001 +L0C019E ENT + DW $000B ; cursor height + DW $0004 ; cursor width + HEX 00FFFFF000000000 ; cursor image + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 0F00000F00000000 + HEX F0000000F0000000 + HEX F000FFF0FF000000 + HEX F000F000F0000000 + HEX 0F00000F00000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 ; cursor mask + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 0FFFFFFF00000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFFFF000000 + HEX FFFFFFFFF0000000 + HEX 0FFFFFFF00000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + HEX 00FFFFF000000000 + DW $0006 ; hot spot + DW $0008 +L0C0256 ENT + DW $000B ; cursor height + DW $0004 ; cursor width + HEX 0000000000000000 ; cursor image + HEX 0F00000000000000 + HEX 0FF0000000000000 + HEX 0FFF000000000000 + HEX 0FFFF00000000000 + HEX 0FFFFF0000000000 + HEX 0FFFFFF000000000 + HEX 0FFFFFFF00000000 + HEX 0FF0FF0000000000 + HEX 00000FF000000000 + HEX 0000000000000000 + HEX FF00000000000000 ; cursor mask + HEX FFF0000000000000 + HEX FFFF000000000000 + HEX FFFFF00000000000 + HEX FFFFFF0000000000 + HEX FFFFFFF000000000 + HEX FFFFFFFF00000000 + HEX FFFFFFFFF0000000 + HEX FFFFFFFF00000000 + HEX FFF0FFFF00000000 + HEX 00000FFF00000000 + DW $0001 ; hot spot + DW $0001 +L0C030E ENT + DW $000D ; cursor height + DW $0003 ; cursor width + HEX FF000FF00000 ; cursor image + HEX 00F0F0000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 00F0F0000000 + HEX FF000FF00000 + HEX FF000FF00000 ; cursor mask + HEX 00F0F0000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 000F00000000 + HEX 00F0F0000000 + HEX FF000FF00000 + DW $0006 ; hot spot + DW $0003 +L0C03B2 ENT + DB $00 + DB $01 + DB $03 + DB $07 + DB $0F + DB $1F + DB $3F + DB $7F + DB $FF +L0C03BB ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C072F ENT + DB $00 + DB $00 +L0C0731 ENT + DB $00 + DB $00 +L0C0733 ENT + DB $00 + DB $00 +L0C0735 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C073D ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0743 ENT + DB $00 + DB $00 +L0C0745 ENT + DB $00 + DB $00 +L0C0747 ENT + DB $00 + DB $00 +L0C0749 ENT + DB $00 + DB $00 +L0C074B ENT + DB $00 + DB $00 +L0C074D ENT + DB $00 + DB $00 +L0C074F ENT + DB $00 + DB $00 +L0C0751 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0C0755 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0C0759 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C078C ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C07BF ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C09F0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0B88 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0B8E ENT + DB $00 + DB $00 +L0C0B90 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0C32 ENT + DB $00 + DB $00 +L0C0C34 ENT + DB $00 + DB $00 +L0C0C36 ENT + DB $00 + DB $00 +L0C0C38 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0CDC ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0CE2 ENT + DB $00 + DB $00 +L0C0CE4 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0CEC ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0CF4 ENT + DB $00 + DB $00 +L0C0CF6 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0D1C ENT + DB $00 + DB $00 +L0C0D1E ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0D86 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0E30 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0E36 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0EDA ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0EE2 ENT + DB $00 + DB $00 +L0C0EE4 ENT + DB $00 + DB $00 +L0C0EE6 ENT + DB $00 + DB $00 +L0C0EE8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0EF2 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0EFA ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F02 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F0A ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F7A ENT + DB $00 + DB $00 +L0C0F7C ENT + DB $00 + DB $00 +L0C0F7E ENT + DB $00 + DB $00 +L0C0F80 ENT + DB $00 + DB $00 +L0C0F82 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F8A ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F92 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0F9A ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0FA2 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0FD0 ENT + DB $00 + DB $00 +L0C0FD2 ENT + DB $00 + DB $00 +L0C0FD4 ENT + DB $00 + DB $00 +L0C0FD6 ENT + DB $00 + DB $00 +L0C0FD8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0FEE ENT + DB $00 + DB $00 +L0C0FF0 ENT + DB $00 + DB $00 +L0C0FF2 ENT + DB $00 + DB $00 +L0C0FF4 ENT + DB $00 + DB $00 +L0C0FF6 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C0FFC ENT + DB $00 + DB $00 +L0C0FFE ENT + DB $00 + DB $00 +L0C1000 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1006 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C10BA ENT + DB $00 + DB $00 +L0C10BC ENT + DB $00 + DB $00 +L0C10BE ENT + DB $00 +L0C10BF ENT + DB $00 +L0C10C0 ENT + DB $00 +L0C10C1 ENT + DB $00 +L0C10C2 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C10F1 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1124 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1188 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C11BB ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C11EE ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1220 ENT + DB $00 +L0C1221 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1252 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1A52 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1A7A ENT + DB $00 + DB $00 +L0C1A7C ENT + DB $00 + DB $00 +L0C1A7E ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1A84 ENT + DB $00 + DB $00 +L0C1A86 ENT + DB $00 + DB $00 +L0C1A88 ENT + DB $00 + DB $00 +L0C1A8A ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C1A9A ENT + DB $00 + DB $00 +L0C1A9C ENT + DB $00 + DB $00 +L0C1A9E ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0C1AA2 ENT + DB $00 + DB $00 +L0C1AA4 ENT + DB $00 + DB $00 +L0C1AA6 ENT + DB $00 + DB $00 +L0C1AA8 ENT + DB $00 + DB $00 +L0C1AAA ENT + DB $00 + DB $00 +L0C1AAC ENT + DB $00 + DB $00 +L0C1AAE ENT + DB $00 + DB $00 +L0C1AB0 ENT + DB $00 + DB $00 +L0C1AB2 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2156 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2356 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2416 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2466 ENT + DB $00 + DB $00 +L0C2468 ENT + DB $00 + DB $00 +L0C246A ENT + DB $00 + DB $00 +L0C246C ENT + DB $00 + DB $00 +L0C246E ENT + DB $00 + DB $00 +L0C2470 ENT + DB $00 + DB $00 +L0C2472 ENT + DB $00 + DB $00 +L0C2474 ENT + DB $00 + DB $00 +L0C2476 ENT + DB $00 + DB $00 +L0C2478 ENT + DB $00 + DB $00 +L0C247A ENT + DB $00 + DB $00 +L0C247C ENT + DB $00 + DB $00 +L0C247E ENT + DB $00 + DB $00 +L0C2480 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C24EE ENT + DB $00 + DB $00 +L0C24F0 ENT + DB $00 + DB $00 +L0C24F2 ENT + DB $00 + DB $00 +L0C24F4 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2500 ENT + ASC 'gfx/cues'00 +L0C2509 ENT + ASC 'gfx/altcues'00 +L0C2515 ENT + ASC '0'00 +L0C2517 ENT + ASC '0'00 +L0C2519 ENT + ASC '1'00 +L0C251B ENT + ASC '0'00 +L0C251D ENT + ASC '0'00 +L0C251F ENT + ASC 'data/'00 +L0C2525 ENT + ASC 'sys'00 +L0C2529 ENT + ASC 'system'00 +L0C2530 ENT + ASC 'shaston'00 +L0C2538 ENT + ASC 'data/'00 +L0C253E ENT + ASC ' )=<>+-*/'00 +L0C2548 ENT + ASC 'any'00 +L0C254C ENT + ASC 'key'00 +L0C2550 ENT + ASC 'click'00 +L0C2556 ENT + ASC 'act'00 +L0C255A ENT + ASC 'menu'00 +L0C255F ENT + ASC 'off'00 +L0C2563 ENT + ASC 'on'00 +L0C2566 ENT + ASC 'get'00 +L0C256A ENT + ASC 00 +L0C256B ENT + ASC 'point'00 +L0C2571 ENT + ASC 'back'00 +L0C2576 ENT + ASC 'any'00 +L0C257A ENT + ASC 'key'00 +L0C257E ENT + ASC 'click'00 +L0C2584 ENT + ASC 'act'00 +L0C2588 ENT + ASC 'off'00 +L0C258C ENT + ASC 'act'00 +L0C2590 ENT + ASC 'key'00 +L0C2594 ENT + ASC 'click'00 +L0C259A ENT + ASC 'menu'00 +L0C259F ENT + ASC 'inp'00 +L0C25A3 ENT + ASC 'gfx/'00 +L0C25A8 ENT + ASC 'gfx/'00 +L0C25AD ENT + ASC '0'00 +L0C25AF ENT + ASC '1'00 +L0C25B1 ENT + ASC 'sfx/'00 +L0C25B6 ENT + ASC '.song'00 +L0C25BC ENT + ASC '.WAVE'00 +L0C25C2 ENT + ASC 'sfx/'00 +L0C25C7 ENT + ASC 'drum'00 +L0C25CC ENT + ASC '2NDHALF'00 +L0C25D4 ENT + ASC '2NDHALF'00 +L0C25DC ENT + ASC '2NDHALF'00 +L0C25E4 ENT + ASC 00 +L0C25E5 ENT + ASC 'sfx/'00 +L0C25EA ENT + ASC '.INST'00 +L0C25F0 ENT + ASC 00 +L0C25F1 ENT + ASC 'back'00 +L0C25F6 ENT + ASC 'ans'00 +L0C25FA ENT + ASC 'key'00 +L0C25FE ENT + ASC 'act'00 +L0C2602 ENT + ASC 'raw'00 +L0C2606 ENT + ASC 'mnu'00 +L0C260A ENT + ASC 'sel'00 +L0C260E ENT + ASC 'time'00 +L0C2613 ENT + ASC 'on'00 +L0C2616 ENT + ASC 'off'00 +L0C261A ENT + ASC 'area'00 +L0C261F ENT + ASC 00 +L0C2620 ENT + ASC 00 +L0C2621 ENT + ASC 'scripts/'00 +L0C262A ENT + ASC 00 +L0C262B ENT + ASC 00 +L0C262C ENT + ASC 'tunnel'00 +L0C2633 ENT + ASC 'menu'00 +L0C2638 ENT + ASC '.SCP'00 +L0C263D ENT + ASC '.SC'00 +L0C2641 ENT + ASC 'gfx/'00 +L0C2646 ENT + ASC 'sfx/'00 +L0C264B ENT + ASC 'data/'00 +L0C2651 ENT + ASC '.grpz'00 +L0C2657 ENT + ASC '.grp'00 +L0C265C ENT + ASC 00 +L0C265D ENT + ASC '.wavez'00 +L0C2664 ENT + ASC '.wave'00 +L0C266A ENT + ASC 00 +L0C266B ENT + ASC '.song'00 +L0C2671 ENT + ASC '.inst'00 +L0C2677 ENT + ASC '.menu'00 +L0C267D ENT + ASC 00 +L0C267E ENT + ASC '.font'00 +L0C2684 ENT + DB $00 +L0C2685 ENT + DB $00 +L0C2686 ENT + DB $00 +L0C2687 ENT + DB $00 +L0C2688 ENT + DB $00 +L0C2689 ENT + ASC 'm'00 +L0C268B ENT + ASC 'w'00 +L0C268D ENT + ASC 'm'00 +L0C268F ENT + ASC 'menu'00 +L0C2694 ENT + ASC 'menu'00 +L0C2699 ENT + ASC 0A0A0A0A0A0A0A0A0A + ASC 00 +L0C26A3 ENT + ASC 'This tour'27's run-time commands are:'0A + ASC 00 +L0C26C7 ENT + ASC 'Open Apple-Shift-D Run in demo m' + ASC 'ode.'0A + ASC 00 +L0C26F4 ENT + ASC ' (Restart after 3 minu' + ASC 'tes without user activity.)'0A0A + ASC 00 +L0C2739 ENT + ASC 'Open Apple-Shift-T Run in traini' + ASC 'ng mode.'0A + ASC 00 +L0C276A ENT + ASC ' (Wait for user indefi' + ASC 'nitely.)'0A0A + ASC 00 +L0C279C ENT + ASC 'Current mode is: '00 +L0C27AF ENT + ASC 'Demo.'00 +L0C27B5 ENT + ASC 'Training.'00 +L0C27BF ENT + ASC 0A0A0A0A0A0A0A0A0A + ASC 00 +L0C27C9 ENT + ASC 'MENU'00 +L0C27CE ENT + ASC '%e'00 +L0C27D1 ENT + ASC '0'00 +L0C27D3 ENT + ASC '1'00 +L0C27D5 ENT + ASC '1'00 +L0C27D7 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C27DF ENT + ASC '0'00 +L0C27E1 ENT + ASC 00 +L0C27E2 ENT + ASC '1'00 +L0C27E4 ENT + ASC '0'00 +L0C27E6 ENT + ASC '0'00 +L0C27E8 ENT + ASC 00 +L0C27E9 ENT + ASC 'all'00 +L0C27ED ENT + ASC 'only'00 +L0C27F2 ENT + ASC 'except'00 +L0C27F9 ENT + ASC 00 +L0C27FA ENT + ASC 'gfx/m3.04a'00 +L0C2805 ENT + ASC 'm3.04.grp'00 +L0C280F ENT + ASC '0'00 +L0C2811 ENT + ASC '1'00 +L0C2813 ENT + ASC 'gfx/m1.27ani'00 +L0C2820 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2828 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2830 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2848 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2850 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2858 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2868 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2870 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2878 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2880 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2888 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2890 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2898 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28A0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28A8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28B0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28B8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28C0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28C8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28D0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28D8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28E0 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C28F8 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2900 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2908 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2920 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2928 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2930 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2938 ENT + ASC '1'00 +L0C293A ENT + ASC '0'00 +L0C293C ENT + ASC 'gfx/m0.08a'00 +L0C2947 ENT + ASC 'gfx/m0.08b'00 +L0C2952 ENT + ASC 'gfx/m0.08c'00 +L0C295D ENT + ASC 'gfx/m0.08d'00 +L0C2968 ENT + ASC '0'00 +L0C296A ENT + ASC '1'00 +L0C296C ENT + ASC 'gfx/m0.08d'00 +L0C2977 ENT + ASC '1'00 +L0C2979 ENT + ASC '0'00 +L0C297B ENT + ASC 'gfx/m0.15.pb'00 +L0C2988 ENT + ASC 'gfx/m0.11a'00 +L0C2993 ENT + DB $00 +L0C2994 ENT + DB $00 +L0C2995 ENT + DB $00 +L0C2996 ENT + DB $00 +L0C2997 ENT + DB $00 +L0C2998 ENT + DB $00 +L0C2999 ENT + ASC 'data/gs.menu'00 +L0C29A6 ENT + ASC '*/'00 +L0C29A9 ENT + ASC 'data/gs.menu'00 +L0C29B6 ENT + ASC '/D'00 +L0C29B9 ENT + ASC 'rems'00 +L0C29BE ENT + ASC 'MENU'00 +L0C29C3 ENT + ASC 0A0A0A0A0A0A0A0A0A0A + ASC 00 +L0C29CE ENT + ASC ' One moment,' + ASC ' please...'0A0A0A0A0A0A0A0A0A0A0A0A0A + ASC 00 +L0C2A0D ENT + ASC 0A0A0A0A0A0A0A0A00 +L0C2A16 ENT + ASC ' This tour disk requires at le' + ASC 'ast 512K of memory. To run the'0A00 +L0C2A5E ENT + ASC ' tour on this computer, you'27'll' + ASC ' need to add an Apple IIGS Memory'0A00 +L0C2AA8 ENT + ASC ' Expansion Card, which you can' + ASC ' purchase from your Apple dealer.'0A0A00 +L0C2AF3 ENT + ASC ' Press the button on the disk ' + ASC 'drive to eject the disk. Then'0A00 +L0C2B3A ENT + ASC ' turn the Apple IIGS off.'0A0A0A0A0A + ASC 0A0A0A0A0A0A00 +L0C2B68 ENT + ASC 'Can'27't initialize from file '00 +L0C2B84 ENT + ASC 'animate'00 +L0C2B8C ENT + ASC 'buffer'00 +L0C2B93 ENT + ASC 'j'00 +L0C2B95 ENT + ASC 'x'00 +L0C2B97 ENT + ASC 's'00 +L0C2B99 ENT + ASC 'm'00 +L0C2B9B ENT + ASC 'e'00 +L0C2B9D ENT + ASC 'lc'00 +L0C2BA0 ENT + ASC 'if'00 +L0C2BA3 ENT + ASC 'box'00 +L0C2BA7 ENT + ASC 'unbox'00 +L0C2BAD ENT + ASC 'hilite'00 +L0C2BB4 ENT + ASC 'window'00 +L0C2BBB ENT + ASC 'cues'00 +L0C2BC0 ENT + ASC 'dbl'00 +L0C2BC4 ENT + ASC 'bold'00 +L0C2BC9 ENT + ASC 'wrap'00 +L0C2BCE ENT + ASC 'auto'00 +L0C2BD3 ENT + ASC 'autoexit'00 +L0C2BDC ENT + ASC 'center'00 +L0C2BE3 ENT + ASC 'point'00 +L0C2BE9 ENT + ASC 'skip'00 +L0C2BEE ENT + ASC 'strip'00 +L0C2BF4 ENT + ASC 'time'00 +L0C2BF9 ENT + ASC 'escreen'00 +L0C2C01 ENT + ASC 'wait'00 +L0C2C06 ENT + ASC 'btn'00 +L0C2C0A ENT + ASC 'beep'00 +L0C2C0F ENT + ASC 'post'00 +L0C2C14 ENT + ASC '@a'00 +L0C2C17 ENT + ASC '@wt'00 +L0C2C1B ENT + ASC 'code'00 +L0C2C20 ENT + ASC 'get'00 +L0C2C24 ENT + ASC 'rem'00 +L0C2C28 ENT + ASC 'link'00 +L0C2C2D ENT + ASC 'w'00 +L0C2C2F ENT + ASC 'gfx'00 +L0C2C33 ENT + ASC 'newmenu'00 +L0C2C3B ENT + ASC 'font'00 +L0C2C40 ENT + ASC 'sfx'00 +L0C2C44 ENT + ASC 'debug'00 +L0C2C4A ENT + ASC 'bcolor'00 +L0C2C51 ENT + ASC 'fcolor'00 +L0C2C58 ENT + ASC 'preload'00 +L0C2C60 ENT + ASC 'unload'00 +L0C2C67 ENT + ASC 'palette'00 +L0C2C6F ENT + ASC 'gfxpart'00 +L0C2C77 ENT + ASC 'move'00 +L0C2C7C ENT + ASC 'moveto'00 +L0C2C83 ENT + ASC 'line'00 +L0C2C88 ENT + ASC 'lineto'00 +L0C2C8F ENT + ASC 'setpensize'00 +L0C2C9A ENT + ASC 'framerect'00 +L0C2CA4 ENT + ASC 'paintrect'00 +L0C2CAE ENT + ASC 'eraserect'00 +L0C2CB8 ENT + ASC 'framerrect'00 +L0C2CC3 ENT + ASC 'loadinst'00 +L0C2CCC ENT + ASC 'border'00 +L0C2CD3 ENT + ASC 'quit'00 + ASC 'HS' +L0C2CDA ENT + DB $00 + DB $00 +L0C2CDC ENT + ADRL L0C2D11 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2CEA ENT + ADRL L0C2D1D + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2D08 ENT + ASC 'BYTEWRKS' + DB $00 +L0C2D11 DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2D1D DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2D45 ENT + DB $00 +L0C2D46 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0C2D55 ENT + DB $00 + DB $00 +L0C2D57 ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 diff --git a/yourtour/CTRICKS.S b/yourtour/CTRICKS.S new file mode 100644 index 0000000..e475e84 --- /dev/null +++ b/yourtour/CTRICKS.S @@ -0,0 +1,6617 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use CTRICKS.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Util.Macs + +*------------------------------- + +L080000 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$FEBE + TCS + LDA #$0001 + STA L0B00AA + LDA $FF + BRL L081F5A +L080016 JSL L0311DD + JSL L06063A + JSL L0612B1 + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FF1C + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L08003F JSL L083B83 + LDX #$FF4E + STA $00,X + TAY + BNE L080078 + JSL L0612DE + TAY + BNE L080078 + PHA + PEA $0000 + TDC + CLC + ADC #$FF1C + PHA + PEA ^L0C1A84 + PEA L0C1A84 + _EqualPt + BCS L08006E + LDA #$0000 +L08006E STAL L0B0002 + PLA + TAY + BEQ L080078 + BRA L08003F +L080078 LDX #$FF4E + LDA $00,X + BEQ L080082 + BRL L08016E +L080082 JSL L0612DE + TAY + BEQ L08008C + BRL L08016E +L08008C LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $006E + PEA $0000 + PEA $0037 + PEA $0012 + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + PEA $006E + PEA $0000 + PEA $003C + PEA $0012 + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + PEA $0000 + PEA $0000 + PEA $0000 + PEA $000A + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2474 + PLA + STAL L0C2472 + LDX #$0000 + LDA #$0002 + PHA + TXA + STAL L0C2478 + PLA + STAL L0C2476 + LDX #$FFFF + LDA #$FFFF + PHA + TXA + STAL L0C247C + PLA + STAL L0C247A + PEA ^L0C2466 + PEA L0C2466 + JSL L0502A4 + PLY + PLY + PEA $0004 + JSL L06152C + PLY + JSL L0612B1 +L080140 JSL L083B83 + TAY + BNE L08016E + JSL L0612DE + TAY + BNE L08016E + PHA + PEA $046E + PEA ^L0C1A7A + PEA L0C1A7A + _EventAvail + BCS L080164 + LDA #$0000 +L080164 STAL L0B0002 + PLA + TAY + BNE L08016E + BRA L080140 +L08016E JSL L031208 + BRL L081F68 +L080175 JSL L0311DD + JSL L0612B1 + LDX #$FF4E + STZ $00,X + LDX #$FF4C + STZ $00,X + LDX #$FF4A + STZ $00,X +L08018C LDX #$FF4E + LDA $00,X + BEQ L080196 + BRL L080212 +L080196 LDX #$FF4C + LDA $00,X + BEQ L0801A0 + BRL L080212 +L0801A0 LDX #$FF4A + LDA $00,X + BEQ L0801AA + BRL L080212 +L0801AA JSL L083B83 + LDX #$FF4E + STA $00,X + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FF18 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PHA + PEA $0000 + TDC + CLC + ADC #$FF18 + PHA + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _PtInRect + BCS L0801FC + LDA #$0000 +L0801FC STAL L0B0002 + PLA + LDX #$FF4C + STA $00,X + JSL L0612DE + LDX #$FF4A + STA $00,X + BRL L08018C +L080212 LDX #$FF4E + LDA $00,X + BEQ L08021C + BRL L0802D4 +L08021C STZ L0B0090 + LDX #$FF4C + LDA $00,X + BNE L080229 + BRL L0802C0 +L080229 LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L08024B + LDA #$0000 +L08024B STAL L0B0002 + PEA ^L0C2938 + PEA L0C2938 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L080263 JSL L06063A + PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _PtInRect + BCS L080290 + LDA #$0000 +L080290 STAL L0B0002 + PLA + TAY + BNE L080263 + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L0802BA + LDA #$0000 +L0802BA STAL L0B0002 + BRA L0802D4 +L0802C0 PEA ^L0C293A + PEA L0C293A + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L0802D4 JSL L031208 + BRL L081F68 +L0802DB PEA ^L0C293C + PEA L0C293C + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L040E53 + PLY + PLY + LDX #$FF22 + STA $00,X + LDX #$FF22 + LDA $00,X + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + TXY + LDX #$FF26 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$FF58 + PHA + PEA $0220 + PEA $0097 + PEA $0280 + PEA $00AE + _SetRect + BCS L08035F + LDA #$0000 +L08035F STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF60 + PHA + PEA $0208 + PEA $0097 + PEA $0220 + PEA $00AE + _SetRect + BCS L080384 + LDA #$0000 +L080384 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF68 + PHA + PEA $01F0 + PEA $0097 + PEA $0208 + PEA $00AE + _SetRect + BCS L0803A9 + LDA #$0000 +L0803A9 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF70 + PHA + PEA $01D6 + PEA $0097 + PEA $01F0 + PEA $00AE + _SetRect + BCS L0803CE + LDA #$0000 +L0803CE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF78 + PHA + PEA $01C2 + PEA $0094 + PEA $01D6 + PEA $00AE + _SetRect + BCS L0803F3 + LDA #$0000 +L0803F3 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF80 + PHA + PEA $01AA + PEA $0091 + PEA $01C2 + PEA $00AE + _SetRect + BCS L080418 + LDA #$0000 +L080418 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF88 + PHA + PEA $019E + PEA $0090 + PEA $01AA + PEA $00AE + _SetRect + BCS L08043D + LDA #$0000 +L08043D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF90 + PHA + PEA $0190 + PEA $008D + PEA $019E + PEA $00AC + _SetRect + BCS L080462 + LDA #$0000 +L080462 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF98 + PHA + PEA $016C + PEA $008A + PEA $0190 + PEA $00A9 + _SetRect + BCS L080487 + LDA #$0000 +L080487 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFA0 + PHA + PEA $0154 + PEA $008A + PEA $016C + PEA $00A7 + _SetRect + BCS L0804AC + LDA #$0000 +L0804AC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFA8 + PHA + PEA $0144 + PEA $0088 + PEA $0154 + PEA $00A5 + _SetRect + BCS L0804D1 + LDA #$0000 +L0804D1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFB0 + PHA + PEA $012A + PEA $0088 + PEA $0144 + PEA $00A3 + _SetRect + BCS L0804F6 + LDA #$0000 +L0804F6 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFB8 + PHA + PEA $011A + PEA $0088 + PEA $012A + PEA $00A1 + _SetRect + BCS L08051B + LDA #$0000 +L08051B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFC0 + PHA + PEA $0102 + PEA $0088 + PEA $011A + PEA $009F + _SetRect + BCS L080540 + LDA #$0000 +L080540 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFC8 + PHA + PEA $00F0 + PEA $0086 + PEA $0102 + PEA $009F + _SetRect + BCS L080565 + LDA #$0000 +L080565 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFD0 + PHA + PEA $00D8 + PEA $0086 + PEA $00F0 + PEA $009F + _SetRect + BCS L08058A + LDA #$0000 +L08058A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFD8 + PHA + PEA $00C6 + PEA $0086 + PEA $00D8 + PEA $009F + _SetRect + BCS L0805AF + LDA #$0000 +L0805AF STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFE0 + PHA + PEA $00AC + PEA $0089 + PEA $00C6 + PEA $009F + _SetRect + BCS L0805D4 + LDA #$0000 +L0805D4 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFE8 + PHA + PEA $0094 + PEA $0089 + PEA $00AC + PEA $009F + _SetRect + BCS L0805F9 + LDA #$0000 +L0805F9 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFF0 + PHA + PEA $0000 + PEA $005E + PEA $0094 + PEA $009F + _SetRect + BCS L08061E + LDA #$0000 +L08061E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC4 + PHA + PEA $01E0 + PEA $0098 + _SetPt + BCS L08063D + LDA #$0000 +L08063D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC8 + PHA + PEA $01CE + PEA $0098 + _SetPt + BCS L08065C + LDA #$0000 +L08065C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FECC + PHA + PEA $01B6 + PEA $0098 + _SetPt + BCS L08067B + LDA #$0000 +L08067B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED0 + PHA + PEA $01A0 + PEA $0095 + _SetPt + BCS L08069A + LDA #$0000 +L08069A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED4 + PHA + PEA $0188 + PEA $0092 + _SetPt + BCS L0806B9 + LDA #$0000 +L0806B9 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED8 + PHA + PEA $017A + PEA $0092 + _SetPt + BCS L0806D8 + LDA #$0000 +L0806D8 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEDC + PHA + PEA $0170 + PEA $008F + _SetPt + BCS L0806F7 + LDA #$0000 +L0806F7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE0 + PHA + PEA $014A + PEA $008C + _SetPt + BCS L080716 + LDA #$0000 +L080716 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE4 + PHA + PEA $0134 + PEA $008C + _SetPt + BCS L080735 + LDA #$0000 +L080735 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE8 + PHA + PEA $0124 + PEA $008A + _SetPt + BCS L080754 + LDA #$0000 +L080754 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEEC + PHA + PEA $010C + PEA $0088 + _SetPt + BCS L080773 + LDA #$0000 +L080773 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEF0 + PHA + PEA $00FA + PEA $008A + _SetPt + BCS L080792 + LDA #$0000 +L080792 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEF4 + PHA + PEA $00E2 + PEA $008A + _SetPt + BCS L0807B1 + LDA #$0000 +L0807B1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEF8 + PHA + PEA $00D0 + PEA $0088 + _SetPt + BCS L0807D0 + LDA #$0000 +L0807D0 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEFC + PHA + PEA $00B8 + PEA $0088 + _SetPt + BCS L0807EF + LDA #$0000 +L0807EF STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $00A6 + PEA $0086 + _SetPt + BCS L08080E + LDA #$0000 +L08080E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF04 + PHA + PEA $008E + PEA $0086 + _SetPt + BCS L08082D + LDA #$0000 +L08082D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF08 + PHA + PEA $008E + PEA $0086 + _SetPt + BCS L08084C + LDA #$0000 +L08084C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF0C + PHA + PEA $008E + PEA $0089 + _SetPt + BCS L08086B + LDA #$0000 +L08086B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$004C + PHA + PEA $0000 + PEA $0000 + PEA $0082 + PEA $0011 + _SetRect + BCS L080890 + LDA #$0000 +L080890 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + PEA $0084 + PEA $0000 + PEA $0118 + PEA $0011 + _SetRect + BCS L0808B5 + LDA #$0000 +L0808B5 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$005C + PHA + PEA $011A + PEA $0000 + PEA $01AE + PEA $0011 + _SetRect + BCS L0808DA + LDA #$0000 +L0808DA STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0064 + PHA + PEA $01B0 + PEA $0000 + PEA $0246 + PEA $0014 + _SetRect + BCS L0808FF + LDA #$0000 +L0808FF STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$006C + PHA + PEA $0000 + PEA $0011 + PEA $0098 + PEA $0028 + _SetRect + BCS L080924 + LDA #$0000 +L080924 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0074 + PHA + PEA $009A + PEA $0011 + PEA $012C + PEA $0028 + _SetRect + BCS L080949 + LDA #$0000 +L080949 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$007C + PHA + PEA $012E + PEA $0014 + PEA $01B4 + PEA $002D + _SetRect + BCS L08096E + LDA #$0000 +L08096E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0084 + PHA + PEA $01B6 + PEA $0014 + PEA $024E + PEA $0030 + _SetRect + BCS L080993 + LDA #$0000 +L080993 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$008C + PHA + PEA $0000 + PEA $0028 + PEA $009A + PEA $0044 + _SetRect + BCS L0809B8 + LDA #$0000 +L0809B8 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0094 + PHA + PEA $009C + PEA $0028 + PEA $0122 + PEA $0041 + _SetRect + BCS L0809DD + LDA #$0000 +L0809DD STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$009C + PHA + PEA $0124 + PEA $002D + PEA $01B0 + PEA $0045 + _SetRect + BCS L080A02 + LDA #$0000 +L080A02 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + PEA $01B2 + PEA $0030 + PEA $0244 + PEA $0041 + _SetRect + BCS L080A27 + LDA #$0000 +L080A27 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00AC + PHA + PEA $0000 + PEA $0045 + PEA $0094 + PEA $0056 + _SetRect + BCS L080A4C + LDA #$0000 +L080A4C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00B4 + PHA + PEA $0096 + PEA $0045 + PEA $0128 + PEA $0058 + _SetRect + BCS L080A71 + LDA #$0000 +L080A71 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + PEA $012A + PEA $0045 + PEA $01BE + PEA $0058 + _SetRect + BCS L080A96 + LDA #$0000 +L080A96 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00C4 + PHA + PEA $006E + PEA $006F + PEA $0100 + PEA $0082 + _SetRect + BCS L080ABB + LDA #$0000 +L080ABB STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00CC + PHA + PEA $0000 + PEA $0058 + PEA $0094 + PEA $006F + _SetRect + BCS L080AE0 + LDA #$0000 +L080AE0 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00D4 + PHA + PEA $0096 + PEA $0058 + PEA $0118 + PEA $006F + _SetRect + BCS L080B05 + LDA #$0000 +L080B05 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + PEA $011A + PEA $0058 + PEA $016C + PEA $006C + _SetRect + BCS L080B2A + LDA #$0000 +L080B2A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF50 + PHA + PEA $0013 + PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + LDX #$FF28 + LDA $00,X + TAX + PHX + LDX #$FF26 + LDA $00,X + PHA + JSL L081F70 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L081F68 +L080B68 PEA ^L0C2947 + PEA L0C2947 + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L040E53 + PLY + PLY + LDX #$FF22 + STA $00,X + LDX #$FF22 + LDA $00,X + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + TXY + LDX #$FF26 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$FF58 + PHA + PEA $0064 + PEA $0049 + PEA $00BC + PEA $006E + _SetRect + BCS L080BEC + LDA #$0000 +L080BEC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF60 + PHA + PEA $00BC + PEA $0059 + PEA $00D4 + PEA $006E + _SetRect + BCS L080C11 + LDA #$0000 +L080C11 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF68 + PHA + PEA $00D4 + PEA $0059 + PEA $00F0 + PEA $006E + _SetRect + BCS L080C36 + LDA #$0000 +L080C36 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF70 + PHA + PEA $00F0 + PEA $0059 + PEA $0104 + PEA $006E + _SetRect + BCS L080C5B + LDA #$0000 +L080C5B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF78 + PHA + PEA $0104 + PEA $0058 + PEA $012E + PEA $006E + _SetRect + BCS L080C80 + LDA #$0000 +L080C80 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC4 + PHA + PEA $005A + PEA $005A + _SetPt + BCS L080C9F + LDA #$0000 +L080C9F STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC8 + PHA + PEA $0072 + PEA $005B + _SetPt + BCS L080CBE + LDA #$0000 +L080CBE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FECC + PHA + PEA $008C + PEA $0058 + _SetPt + BCS L080CDD + LDA #$0000 +L080CDD STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED0 + PHA + PEA $00A6 + PEA $0058 + _SetPt + BCS L080CFC + LDA #$0000 +L080CFC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$004C + PHA + PEA $00BC + PEA $0000 + PEA $0156 + PEA $0023 + _SetRect + BCS L080D21 + LDA #$0000 +L080D21 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + PEA $00BA + PEA $0023 + PEA $0158 + PEA $0035 + _SetRect + BCS L080D46 + LDA #$0000 +L080D46 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$005C + PHA + PEA $009C + PEA $0038 + PEA $0150 + PEA $004C + _SetRect + BCS L080D6B + LDA #$0000 +L080D6B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0064 + PHA + PEA $0000 + PEA $0058 + PEA $009A + PEA $006C + _SetRect + BCS L080D90 + LDA #$0000 +L080D90 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF50 + PHA + PEA $0004 + PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + LDX #$FF28 + LDA $00,X + TAX + PHX + LDX #$FF26 + LDA $00,X + PHA + JSL L081F70 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L081F68 +L080DCE JSL L0827A6 + BRL L081F68 +L080DD5 PEA ^L0C2952 + PEA L0C2952 + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L040E53 + PLY + PLY + LDX #$FF22 + STA $00,X + LDX #$FF22 + LDA $00,X + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + TXY + LDX #$FF26 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$FF58 + PHA + PEA $00E6 + PEA $005A + PEA $014E + PEA $0070 + _SetRect + BCS L080E59 + LDA #$0000 +L080E59 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF60 + PHA + PEA $014E + PEA $005A + PEA $0166 + PEA $0074 + _SetRect + BCS L080E7E + LDA #$0000 +L080E7E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF68 + PHA + PEA $0166 + PEA $005C + PEA $017E + PEA $0077 + _SetRect + BCS L080EA3 + LDA #$0000 +L080EA3 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF70 + PHA + PEA $017E + PEA $005E + PEA $0196 + PEA $007D + _SetRect + BCS L080EC8 + LDA #$0000 +L080EC8 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF78 + PHA + PEA $0196 + PEA $0063 + PEA $01A8 + PEA $0081 + _SetRect + BCS L080EED + LDA #$0000 +L080EED STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF80 + PHA + PEA $01A8 + PEA $006A + PEA $01C4 + PEA $0086 + _SetRect + BCS L080F12 + LDA #$0000 +L080F12 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF88 + PHA + PEA $01C4 + PEA $006C + PEA $01DA + PEA $0086 + _SetRect + BCS L080F37 + LDA #$0000 +L080F37 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF90 + PHA + PEA $01DA + PEA $006D + PEA $01F6 + PEA $0086 + _SetRect + BCS L080F5C + LDA #$0000 +L080F5C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF98 + PHA + PEA $01F6 + PEA $005D + PEA $0226 + PEA $0080 + _SetRect + BCS L080F81 + LDA #$0000 +L080F81 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFA0 + PHA + PEA $01F4 + PEA $0054 + PEA $0226 + PEA $005D + _SetRect + BCS L080FA6 + LDA #$0000 +L080FA6 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFA8 + PHA + PEA $01F4 + PEA $004D + PEA $0226 + PEA $0054 + _SetRect + BCS L080FCB + LDA #$0000 +L080FCB STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFB0 + PHA + PEA $01F4 + PEA $0047 + PEA $0226 + PEA $004D + _SetRect + BCS L080FF0 + LDA #$0000 +L080FF0 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFB8 + PHA + PEA $01F4 + PEA $0000 + PEA $0226 + PEA $0047 + _SetRect + BCS L081015 + LDA #$0000 +L081015 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC4 + PHA + PEA $0104 + PEA $005B + _SetPt + BCS L081034 + LDA #$0000 +L081034 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC8 + PHA + PEA $0104 + PEA $005B + _SetPt + BCS L081053 + LDA #$0000 +L081053 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FECC + PHA + PEA $011E + PEA $005B + _SetPt + BCS L081072 + LDA #$0000 +L081072 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED0 + PHA + PEA $0136 + PEA $005F + _SetPt + BCS L081091 + LDA #$0000 +L081091 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED4 + PHA + PEA $0150 + PEA $0062 + _SetPt + BCS L0810B0 + LDA #$0000 +L0810B0 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED8 + PHA + PEA $0166 + PEA $0068 + _SetPt + BCS L0810CF + LDA #$0000 +L0810CF STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEDC + PHA + PEA $017E + PEA $006C + _SetPt + BCS L0810EE + LDA #$0000 +L0810EE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE0 + PHA + PEA $0194 + PEA $004D + _SetPt + BCS L08110D + LDA #$0000 +L08110D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE4 + PHA + PEA $01AE + PEA $0048 + _SetPt + BCS L08112C + LDA #$0000 +L08112C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE8 + PHA + PEA $01F8 + PEA $003F + _SetPt + BCS L08114B + LDA #$0000 +L08114B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEEC + PHA + PEA $01F8 + PEA $003C + _SetPt + BCS L08116A + LDA #$0000 +L08116A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEF0 + PHA + PEA $01F8 + PEA $0036 + _SetPt + BCS L081189 + LDA #$0000 +L081189 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$004C + PHA + PEA $0000 + PEA $0000 + PEA $0082 + PEA $0011 + _SetRect + BCS L0811AE + LDA #$0000 +L0811AE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + PEA $0084 + PEA $0000 + PEA $0120 + PEA $0015 + _SetRect + BCS L0811D3 + LDA #$0000 +L0811D3 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$005C + PHA + PEA $0122 + PEA $0000 + PEA $01A8 + PEA $001C + _SetRect + BCS L0811F8 + LDA #$0000 +L0811F8 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0064 + PHA + PEA $01AA + PEA $0000 + PEA $023E + PEA $001B + _SetRect + BCS L08121D + LDA #$0000 +L08121D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$006C + PHA + PEA $0000 + PEA $0011 + PEA $0080 + PEA $0030 + _SetRect + BCS L081242 + LDA #$0000 +L081242 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0074 + PHA + PEA $0082 + PEA $0015 + PEA $0118 + PEA $002E + _SetRect + BCS L081267 + LDA #$0000 +L081267 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$007C + PHA + PEA $011A + PEA $001C + PEA $01B8 + PEA $0031 + _SetRect + BCS L08128C + LDA #$0000 +L08128C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0084 + PHA + PEA $0000 + PEA $0030 + PEA $008E + PEA $0064 + _SetRect + BCS L0812B1 + LDA #$0000 +L0812B1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$008C + PHA + PEA $0090 + PEA $002E + PEA $0104 + PEA $0067 + _SetRect + BCS L0812D6 + LDA #$0000 +L0812D6 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0094 + PHA + PEA $01BA + PEA $001B + PEA $01E4 + PEA $005C + _SetRect + BCS L0812FB + LDA #$0000 +L0812FB STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$009C + PHA + PEA $01E6 + PEA $001B + PEA $0210 + PEA $0056 + _SetRect + BCS L081320 + LDA #$0000 +L081320 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + PEA $0212 + PEA $001B + PEA $023C + PEA $0056 + _SetRect + BCS L081345 + LDA #$0000 +L081345 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF50 + PHA + PEA $000C + PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + LDX #$FF28 + LDA $00,X + TAX + PHX + LDX #$FF26 + LDA $00,X + PHA + JSL L081F70 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L081F68 +L081383 LDX #$FF24 + STZ $00,X + LDX #$FF4E + STZ $00,X + LDX #$FF4C + STZ $00,X + LDX #$FF4A + STZ $00,X +L081397 JSL L0311DD + PEA $0001 + JSL L06078F + PLY + LDA L0B0078 + CMP #$0002 + BNE L0813AE + BRL L08162E +L0813AE LDA L0B0078 + SEC + SBC #$0000 + BVS L0813BA + EOR #$8000 +L0813BA BPL L0813BF + BRL L08162C +L0813BF LDA L0B0078 + CMP #$FFFF + BEQ L0813CA + BRL L081430 +L0813CA LDAL L0C0747 + PHA + PEA $000A + JSL L0251CD + PLY + PLY + LDAL L0C0749 + PHA + PEA $000B + JSL L0251CD + PLY + PLY + PEA $0001 + PEA $0001 + JSL L0312C8 + PLY + PLY + LDAL L0C1188 + AND #$00FF + CMP #$0031 + BNE L08142D + LDA #$0001 + LDX #$FF4E + STA $00,X + PEA ^L0C0EFA + PEA L0C0EFA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L081424 + LDA #$0000 +L081424 STAL L0B0002 + LDX #$FF24 + INC $00,X +L08142D BRL L08150F +L081430 LDA L0B0078 + CMP #$FFFE + BEQ L08143B + BRL L0814A1 +L08143B LDAL L0C074B + PHA + PEA $000A + JSL L0251CD + PLY + PLY + LDAL L0C074D + PHA + PEA $000B + JSL L0251CD + PLY + PLY + PEA $0001 + PEA $0001 + JSL L0312C8 + PLY + PLY + LDAL L0C1188 + AND #$00FF + CMP #$0031 + BNE L08149E + LDA #$0001 + LDX #$FF4C + STA $00,X + PEA ^L0C0F02 + PEA L0C0F02 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L081495 + LDA #$0000 +L081495 STAL L0B0002 + LDX #$FF24 + INC $00,X +L08149E BRL L08150F +L0814A1 LDA L0B0078 + CMP #$FFFD + BEQ L0814AC + BRL L08150F +L0814AC LDAL L0C074F + PHA + PEA $000A + JSL L0251CD + PLY + PLY + LDAL L0C0751 + PHA + PEA $000B + JSL L0251CD + PLY + PLY + PEA $0001 + PEA $0001 + JSL L0312C8 + PLY + PLY + LDAL L0C1188 + AND #$00FF + CMP #$0031 + BNE L08150F + LDA #$0001 + LDX #$FF4A + STA $00,X + PEA ^L0C0F0A + PEA L0C0F0A + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L081506 + LDA #$0000 +L081506 STAL L0B0002 + LDX #$FF24 + INC $00,X +L08150F LDX #$FF24 + LDA $00,X + BNE L081519 + BRL L08162C +L081519 LDX #$FF24 + LDA $00,X + SEC + SBC #$0003 + BVS L081527 + EOR #$8000 +L081527 BPL L08152C + BRL L08162C +L08152C LDAL L0C1188 + AND #$00FF + CMP #$0031 + BEQ L08153B + BRL L08162C +L08153B LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $0078 + PEA $0000 + PEA $0037 + PEA $0012 + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + PEA $0078 + PEA $0000 + PEA $003C + PEA $0012 + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + PEA $006E + PEA $0000 + PEA $0000 + PEA $000A + PEA $0004 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2474 + PLA + STAL L0C2472 + LDX #$0000 + LDA #$0002 + PHA + TXA + STAL L0C2478 + PLA + STAL L0C2476 + LDX #$FFFF + LDA #$FFFF + PHA + TXA + STAL L0C247C + PLA + STAL L0C247A + LDX #$FF24 + LDA $00,X + CMP #$0002 + BEQ L0815E4 + BRL L081620 +L0815E4 LDAL L0C246C + TAX + LDAL L0C246A + PHA + TXA + STAL L0C2480 + PLA + STAL L0C247E + LDAL L0C2470 + TAX + LDAL L0C246E + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDAL L0C2480 + TAX + LDAL L0C247E + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E +L081620 PEA ^L0C2466 + PEA L0C2466 + JSL L0502A4 + PLY + PLY +L08162C BRA L081646 +L08162E LDA #$0001 + LDX #$FF4E + STA $00,X + LDA #$0001 + LDX #$FF4C + STA $00,X + LDA #$0001 + LDX #$FF4A + STA $00,X +L081646 LDX #$FF4E + LDA $00,X + BNE L081650 + BRL L081397 +L081650 LDX #$FF4C + LDA $00,X + BNE L08165A + BRL L081397 +L08165A LDX #$FF4A + LDA $00,X + BNE L081664 + BRL L081397 +L081664 JSL L031208 + BRL L081F68 +L08166B PEA ^L0C295D + PEA L0C295D + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L040E53 + PLY + PLY + LDX #$FF22 + STA $00,X + LDX #$FF22 + LDA $00,X + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + TXY + LDX #$FF26 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$FF58 + PHA + PEA $01C2 + PEA $0033 + PEA $0216 + PEA $0049 + _SetRect + BCS L0816EF + LDA #$0000 +L0816EF STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF60 + PHA + PEA $01AC + PEA $0033 + PEA $01C2 + PEA $0047 + _SetRect + BCS L081714 + LDA #$0000 +L081714 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF68 + PHA + PEA $019A + PEA $002D + PEA $01AC + PEA $0047 + _SetRect + BCS L081739 + LDA #$0000 +L081739 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF70 + PHA + PEA $018E + PEA $002A + PEA $019A + PEA $0047 + _SetRect + BCS L08175E + LDA #$0000 +L08175E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF78 + PHA + PEA $016C + PEA $0028 + PEA $018E + PEA $0040 + _SetRect + BCS L081783 + LDA #$0000 +L081783 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF80 + PHA + PEA $00C8 + PEA $0024 + PEA $016C + PEA $0040 + _SetRect + BCS L0817A8 + LDA #$0000 +L0817A8 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC4 + PHA + PEA $0186 + PEA $0033 + _SetPt + BCS L0817C7 + LDA #$0000 +L0817C7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC8 + PHA + PEA $0174 + PEA $002D + _SetPt + BCS L0817E6 + LDA #$0000 +L0817E6 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FECC + PHA + PEA $0168 + PEA $002A + _SetPt + BCS L081805 + LDA #$0000 +L081805 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED0 + PHA + PEA $014A + PEA $0029 + _SetPt + BCS L081824 + LDA #$0000 +L081824 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED4 + PHA + PEA $0146 + PEA $0024 + _SetPt + BCS L081843 + LDA #$0000 +L081843 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$004C + PHA + PEA $0000 + PEA $0051 + PEA $0094 + PEA $0071 + _SetRect + BCS L081868 + LDA #$0000 +L081868 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + PEA $0000 + PEA $0000 + PEA $0094 + PEA $001B + _SetRect + BCS L08188D + LDA #$0000 +L08188D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$005C + PHA + PEA $0096 + PEA $0000 + PEA $0122 + PEA $001E + _SetRect + BCS L0818B2 + LDA #$0000 +L0818B2 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0064 + PHA + PEA $0124 + PEA $0000 + PEA $01B2 + PEA $001E + _SetRect + BCS L0818D7 + LDA #$0000 +L0818D7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$006C + PHA + PEA $01DC + PEA $0000 + PEA $0260 + PEA $0023 + _SetRect + BCS L0818FC + LDA #$0000 +L0818FC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF50 + PHA + PEA $0005 + PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + LDX #$FF28 + LDA $00,X + TAX + PHX + LDX #$FF26 + LDA $00,X + PHA + JSL L081F70 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L081F68 +L08193A PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + JSL L0822DC + PLY + PLY + PLY + PLY + BRL L081F68 +L081957 JSL L0311DD + JSL L0612B1 + LDA #$0001 + STA L0B00C7 + LDA #$0004 + STA L0B0080 + PEA ^L0C2968 + PEA L0C2968 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + PEA $0000 + JSL L060C20 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + JSL L04169A + TAY + BEQ L0819D5 + BRL L081A24 +L0819D5 JSL L0612DE + TAY + BEQ L0819DF + BRL L081A24 +L0819DF PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _PtInRect + BCS L081A08 + LDA #$0000 +L081A08 STAL L0B0002 + PLA + TAY + BEQ L081A24 + PEA ^L0C296A + PEA L0C296A + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L081A24 JSL L031208 + STZ L0B00C7 + BRL L081F68 +L081A2E PEA ^L0C296C + PEA L0C296C + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FF2A + PHA + JSL L040E53 + PLY + PLY + LDX #$FF22 + STA $00,X + LDX #$FF22 + LDA $00,X + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + TXY + LDX #$FF26 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$FF58 + PHA + PEA $015C + PEA $0028 + PEA $019A + PEA $003C + _SetRect + BCS L081AB2 + LDA #$0000 +L081AB2 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF60 + PHA + PEA $0144 + PEA $0027 + PEA $015C + PEA $0039 + _SetRect + BCS L081AD7 + LDA #$0000 +L081AD7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF68 + PHA + PEA $012E + PEA $0023 + PEA $0144 + PEA $0039 + _SetRect + BCS L081AFC + LDA #$0000 +L081AFC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF70 + PHA + PEA $0116 + PEA $0021 + PEA $012E + PEA $0039 + _SetRect + BCS L081B21 + LDA #$0000 +L081B21 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF78 + PHA + PEA $0102 + PEA $001D + PEA $0116 + PEA $0039 + _SetRect + BCS L081B46 + LDA #$0000 +L081B46 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF80 + PHA + PEA $00F4 + PEA $001A + PEA $0102 + PEA $0037 + _SetRect + BCS L081B6B + LDA #$0000 +L081B6B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF88 + PHA + PEA $00DA + PEA $0016 + PEA $00F4 + PEA $0035 + _SetRect + BCS L081B90 + LDA #$0000 +L081B90 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF90 + PHA + PEA $00BA + PEA $0016 + PEA $00DA + PEA $0035 + _SetRect + BCS L081BB5 + LDA #$0000 +L081BB5 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF98 + PHA + PEA $0064 + PEA $0016 + PEA $00BA + PEA $0035 + _SetRect + BCS L081BDA + LDA #$0000 +L081BDA STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC4 + PHA + PEA $0122 + PEA $0021 + _SetPt + BCS L081BF9 + LDA #$0000 +L081BF9 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEC8 + PHA + PEA $010A + PEA $0021 + _SetPt + BCS L081C18 + LDA #$0000 +L081C18 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FECC + PHA + PEA $00F0 + PEA $0022 + _SetPt + BCS L081C37 + LDA #$0000 +L081C37 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED0 + PHA + PEA $00DC + PEA $001D + _SetPt + BCS L081C56 + LDA #$0000 +L081C56 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED4 + PHA + PEA $00D2 + PEA $001A + _SetPt + BCS L081C75 + LDA #$0000 +L081C75 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FED8 + PHA + PEA $00B2 + PEA $0016 + _SetPt + BCS L081C94 + LDA #$0000 +L081C94 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEDC + PHA + PEA $0098 + PEA $0016 + _SetPt + BCS L081CB3 + LDA #$0000 +L081CB3 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FEE0 + PHA + PEA $0098 + PEA $0016 + _SetPt + BCS L081CD2 + LDA #$0000 +L081CD2 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$004C + PHA + PEA $00CA + PEA $001E + PEA $0146 + PEA $003A + _SetRect + BCS L081CF7 + LDA #$0000 +L081CF7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + PEA $0148 + PEA $001E + PEA $01DC + PEA $003A + _SetRect + BCS L081D1C + LDA #$0000 +L081D1C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$005C + PHA + PEA $01DE + PEA $0023 + PEA $027C + PEA $0039 + _SetRect + BCS L081D41 + LDA #$0000 +L081D41 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0064 + PHA + PEA $0000 + PEA $0037 + PEA $009A + PEA $0051 + _SetRect + BCS L081D66 + LDA #$0000 +L081D66 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$006C + PHA + PEA $009C + PEA $003A + PEA $012A + PEA $0057 + _SetRect + BCS L081D8B + LDA #$0000 +L081D8B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0074 + PHA + PEA $012C + PEA $003A + PEA $01BA + PEA $005B + _SetRect + BCS L081DB0 + LDA #$0000 +L081DB0 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$007C + PHA + PEA $01BC + PEA $003A + PEA $0258 + PEA $005B + _SetRect + BCS L081DD5 + LDA #$0000 +L081DD5 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$0084 + PHA + PEA $0096 + PEA $0057 + PEA $0112 + PEA $0071 + _SetRect + BCS L081DFA + LDA #$0000 +L081DFA STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FF50 + PHA + PEA $0008 + PEA $0000 + TDC + CLC + ADC #$0044 + PHA + PEA $0000 + TDC + CLC + ADC #$FEC0 + PHA + LDX #$FF28 + LDA $00,X + TAX + PHX + LDX #$FF26 + LDA $00,X + PHA + JSL L081F70 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L081F68 +L081E38 PEA $0000 + PEA $0001 + JSL L031233 + PLY + PLY + BRL L081F68 +L081E47 JSL L0311DD + JSL L0612B1 + LDX #$FF4E + STZ $00,X + LDX #$FF4C + STZ $00,X + LDX #$FF4A + STZ $00,X +L081E5E LDX #$FF4E + LDA $00,X + BEQ L081E68 + BRL L081EE4 +L081E68 LDX #$FF4C + LDA $00,X + BEQ L081E72 + BRL L081EE4 +L081E72 LDX #$FF4A + LDA $00,X + BEQ L081E7C + BRL L081EE4 +L081E7C JSL L083B83 + LDX #$FF4E + STA $00,X + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FF18 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PHA + PEA $0000 + TDC + CLC + ADC #$FF18 + PHA + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _PtInRect + BCS L081ECE + LDA #$0000 +L081ECE STAL L0B0002 + PLA + LDX #$FF4C + STA $00,X + JSL L0612DE + LDX #$FF4A + STA $00,X + BRL L081E5E +L081EE4 LDX #$FF4E + LDA $00,X + BEQ L081EEE + BRL L081F22 +L081EEE STZ L0B0090 + LDX #$FF4C + LDA $00,X + BEQ L081F0E + PEA ^L0C2977 + PEA L0C2977 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + BRA L081F22 +L081F0E PEA ^L0C2979 + PEA L0C2979 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L081F22 JSL L031208 + BRL L081F68 +L081F29 BRL L081F68 +L081F2C DA L080016 + DA L080175 + DA L0802DB + DA L080B68 + DA L080DCE + DA L080DD5 + DA L081383 + DA L08166B + DA L08193A + DA L081957 + DA L081A2E + DA L081F29 + DA L081F29 + DA L081F29 + DA L081F29 + DA L081F29 + DA L081F29 + DA L081F29 + DA L081F29 + DA L081E38 + DA L081F29 + DA L081E47 + DA L081F29 +L081F5A DEC + CMP #$0016 + BCC L081F63 + LDA #$0016 +L081F63 ASL + TAX + JMP (L081F2C,X) + +L081F68 TSC + CLC + ADC #$023A + TCS + PLD + RTL + +L081F70 PHD + TSC + SEC + SBC #$00E9 + TCD + ADC #$00D7 + TCS + STZ $DA + STZ $DC + BRA L081FAC +L081F81 LDA $DC + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$E4],Y + PLA + STA [$E4] + INC $DC +L081FAC LDA $DC + SEC + SBC #$0020 + BVS L081FB7 + EOR #$8000 +L081FB7 BPL L081F81 + LDA $F7 + CLC + ADC #$0008 + TAX + LDA $F9 + BCC L081FC5 + INC +L081FC5 PHA + PHX + PEA $0000 + PEI $FB + PEI $F1 + PEI $EF + JSL L071136 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDA #$0001 + STA $E0 + JSL L0311DD + JSL L0311AA + PEA ^L0C2466 + PEA L0C2466 + LDA $E0 + LDX #$0000 + TAY + BPL L081FF8 + DEX +L081FF8 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + LDA $E0 + LDX #$0000 + TAY + BPL L082015 + DEX +L082015 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA +L082047 JSL L06063A + JSL L0612DE + TAY + BNE L08205E + JSL L04169A + TAY + BNE L08205E + LDA #$0000 + BRA L082061 +L08205E LDA #$0001 +L082061 STA $DA + PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDA $E0 + LDX #$0000 + TAY + BPL L082073 + DEX +L082073 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + _PtInRect + BCS L082096 + LDA #$0000 +L082096 STAL L0B0002 + PLA + TAY + BNE L0820A2 + LDA $DA + BEQ L082047 +L0820A2 LDA $E0 + SEC + SBC $FB + BEQ L0820B3 + BVS L0820AE + EOR #$8000 +L0820AE BPL L0820B3 + BRL L0822D0 +L0820B3 LDA $DA + BEQ L0820BA + BRL L0822D0 +L0820BA JSL L06063A + JSL L0612DE + TAY + BNE L0820D1 + JSL L04169A + TAY + BNE L0820D1 + LDA #$0000 + BRA L0820D4 +L0820D1 LDA #$0001 +L0820D4 STA $DA + PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDA $E0 + LDX #$0000 + TAY + BPL L0820E6 + DEX +L0820E6 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + _PtInRect + BCS L082109 + LDA #$0000 +L082109 STAL L0B0002 + PLA + TAY + BEQ L082115 + LDA $DA + BEQ L0820BA +L082115 STZ $DE + LDA #$0001 + STA $DC + BRA L082161 +L08211E PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDA $DC + LDX #$0000 + TAY + BPL L08212E + DEX +L08212E STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + _PtInRect + BCS L082151 + LDA #$0000 +L082151 STAL L0B0002 + PLA + TAY + BEQ L08215F + LDA $DC + STA $DE + BRA L082171 +L08215F INC $DC +L082161 LDA $FB + CLC + ADC #$0001 + SEC + SBC $DC + BVS L08216F + EOR #$8000 +L08216F BMI L08211E +L082171 LDA $DE + CMP #$0000 + BNE L08217B + BRL L082287 +L08217B LDA $DE + SEC + SBC $E0 + BVS L082185 + EOR #$8000 +L082185 BPL L08218A + BRL L082208 +L08218A LDA #$0001 + STA $DC + BRA L0821F7 +L082191 PEA ^L0C2466 + PEA L0C2466 + LDA $E0 + SEC + SBC $DC + LDX #$0000 + TAY + BPL L0821A3 + DEX +L0821A3 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + LDA $E0 + SEC + SBC $DC + LDX #$0000 + TAY + BPL L0821C3 + DEX +L0821C3 STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + INC $DC +L0821F7 LDA $E0 + SEC + SBC $DE + SEC + SBC $DC + BVS L082204 + EOR #$8000 +L082204 BMI L082191 + BRA L082281 +L082208 PEA ^L0C2466 + PEA L0C2466 + LDA $E0 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L08221B + DEX +L08221B STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + LDA $E0 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L08223C + DEX +L08223C STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0000 + LDA $DE + SEC + SBC $FB + BVS L082269 + EOR #$8000 +L082269 BMI L08226F + LDA $DE + BRA L082271 +L08226F LDA $FB +L082271 SEC + SBC $E0 + PHA + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA +L082281 LDA $DE + STA $E0 + BRA L0822CD +L082287 JSL L06063A + PHA + PEA ^L0C1A84 + PEA L0C1A84 + LDA $E0 + LDX #$0000 + TAY + BPL L08229B + DEX +L08229B STX $E8 + ASL + ROL $E8 + ASL + ROL $E8 + ASL + ROL $E8 + LDX $E8 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + _PtInRect + BCS L0822BE + LDA #$0000 +L0822BE STAL L0B0002 + PLA + TAY + BNE L0822CD + JSL L0612DE + TAY + BEQ L082287 +L0822CD BRL L0820A2 +L0822D0 JSL L031208 + TSC + CLC + ADC #$0011 + TCS + PLD + RTL + +L0822DC PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00BD + TCS + STZ $E4 + BRA L082316 +L0822EB LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$EE],Y + PLA + STA [$EE] + INC $E4 +L082316 LDA $E4 + SEC + SBC #$0020 + BVS L082321 + EOR #$8000 +L082321 BPL L0822EB + PEA ^L0C297B + PEA L0C297B + PEA $0000 + TDC + CLC + ADC #$00C4 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C4 + PHA + JSL L040E53 + PLY + PLY + STA $E2 + LDA $E2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0004 + LDA [$EE],Y + TAX + LDY #$0002 + LDA [$EE],Y + STX $EC + STA $EA + PEI $FF + PEI $FD + PEA $0002 + PEA $0001 + PEA $00F4 + PEA $005E + _SetRect + BCS L082397 + LDA #$0000 +L082397 STAL L0B0002 + LDA $FD + CLC + ADC #$0008 + TAX + LDA $FF + BCC L0823A7 + INC +L0823A7 PHA + PHX + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L0823C1 + LDA #$0000 +L0823C1 STAL L0B0002 + PEI $FB + PEI $F9 + LDAL L0C0731 + PHA + LDAL L0C0733 + PHA + _SetPt + BCS L0823DF + LDA #$0000 +L0823DF STAL L0B0002 + PEI $FF + PEI $FD + PEA $0001 + PEA $0000 + PEI $EC + PEI $EA + JSL L071136 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + JSL L0311DD + PEA $0001 + JSL L06078F + PLY + LDA L0B0078 + SEC + SBC #$0000 + BVS L082415 + EOR #$8000 +L082415 BPL L08241A + BRL L0825E3 +L08241A PHX + PHA + _GetTick + BCS L082428 + LDA #$0000 +L082428 STAL L0B0002 + PLA + PLX + STX $C1 + STA $BF + PEA ^L0C2466 + PEA L0C2466 + PEI $FB + PEI $F9 + PEI $FF + PEI $FD + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0002 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + PHA + PEA $0000 + _StillDown + BCS L08246B + LDA #$0000 +L08246B STAL L0B0002 + PLA + TAY + BEQ L0824B1 + LDA L0B0078 + EOR #$FFFF + INC + STA $E8 + LDA $E8 + SEC + SBC #$0008 + BVS L082487 + EOR #$8000 +L082487 BMI L0824B1 + LDA $E8 + BEQ L0824B1 + LDA $E8 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L0824AD + LDA #$0000 +L0824AD STAL L0B0002 +L0824B1 PHA + PEA $0000 + _StillDown + BCS L0824C1 + LDA #$0000 +L0824C1 STAL L0B0002 + PLA + TAY + BNE L0824CC + BRL L0825C6 +L0824CC JSL L06063A + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0078 + EOR #$FFFF + INC + CMP $E8 + BNE L08250A + BRL L0825C3 +L08250A LDA L0B0078 + EOR #$FFFF + INC + SEC + SBC #$0008 + BVS L08251A + EOR #$8000 +L08251A BPL L08251F + BRL L0825C3 +L08251F LDA L0B0078 + CMP #$0000 + BNE L082561 + LDA $E8 + SEC + SBC #$0008 + BVS L082532 + EOR #$8000 +L082532 BMI L08255C + LDA $E8 + BEQ L08255C + LDA $E8 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L082558 + LDA #$0000 +L082558 STAL L0B0002 +L08255C STZ $E8 + BRL L0825C3 +L082561 LDA $E8 + SEC + SBC #$0008 + BVS L08256C + EOR #$8000 +L08256C BMI L082596 + LDA $E8 + BEQ L082596 + LDA $E8 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L082592 + LDA #$0000 +L082592 STAL L0B0002 +L082596 LDA L0B0078 + EOR #$FFFF + INC + STA $E8 + LDA $E8 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L0825BF + LDA #$0000 +L0825BF STAL L0B0002 +L0825C3 BRL L0824B1 +L0825C6 PEA $0000 + PEA ^L0C0E30 + PEA L0C0E30 + PEI $FB + PEI $F9 + PEI $FF + PEI $FD + JSL L08264C + TAY + TSC + CLC + ADC #$000E + TCS + TYA +L0825E3 PHX + PHA + _GetTick + BCS L0825F1 + LDA #$0000 +L0825F1 STAL L0B0002 + PLA + PLX + SEC + SBC $BF + PHA + TXA + SBC $C1 + TAX + PLA + STX $C1 + STA $BF + SEC + LDA $BF + SBC #$0028 + BNE L082613 + LDA $C1 + SBC #$0000 + BRA L08261A +L082613 LDA $C1 + SBC #$0000 + REP #$02 +L08261A BVS L08261F + EOR #$8000 +L08261F BMI L082624 + STZ L0B0078 +L082624 JSL L031208 + LDX L0B0048 + LDA L0B0046 + PHX + PHA + JSL L04023C + PLY + PLY + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L04023C + PLY + PLY + TSC + CLC + ADC #$0035 + TCS + PLD + RTL + +L08264C PHD + TSC + SEC + SBC #$00ED + TCD + ADC #$00DE + TCS + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0000 + PEA $0000 + LDA $FF + LDX #$0000 + TAY + BPL L08266F + DEX +L08266F STX $EC + ASL + ROL $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0002 + LDA [$E8],Y + PHA + LDA $FF + LDX #$0000 + TAY + BPL L08269B + DEX +L08269B STX $EC + ASL + ROL $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0006 + LDA [$E8],Y + PLX + STX $EC + SEC + SBC $EC + PHA + LDA $FF + LDX #$0000 + TAY + BPL L0826CD + DEX +L0826CD STX $EC + ASL + ROL $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + PHA + LDA $FF + LDX #$0000 + TAY + BPL L0826F6 + DEX +L0826F6 STX $EC + ASL + ROL $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0004 + LDA [$E8],Y + PLX + STX $EC + SEC + SBC $EC + PHA + _SetRect + BCS L08272B + LDA #$0000 +L08272B STAL L0B0002 + PEI $FD + PEI $FB + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + LDA $FF + LDX #$0000 + TAY + BPL L082745 + DEX +L082745 STX $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0002 + LDA [$E8],Y + PHA + LDA $FF + LDX #$0000 + TAY + BPL L08276E + DEX +L08276E STX $EC + ASL + ROL $EC + ASL + ROL $EC + LDX $EC + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + PHA + PEA $0000 + _PPToPort + BCS L08279A + LDA #$0000 +L08279A STAL L0B0002 + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L0827A6 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$FF3E + TCS + STZ $C4 + BRA L0827E0 +L0827B5 LDA $C4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + INC $C4 +L0827E0 LDA $C4 + SEC + SBC #$0004 + BVS L0827EB + EOR #$8000 +L0827EB BPL L0827B5 + STZ $C4 + BRL L082875 +L0827F2 LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0074 + LDY #$0002 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$005A + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$00FC + LDY #$0002 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$0078 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0184 + LDY #$0002 + STA [$F6],Y + INC $C4 +L082875 LDA $C4 + SEC + SBC #$0005 + BVS L082880 + EOR #$8000 +L082880 BMI L082885 + BRL L0827F2 +L082885 STZ $C4 + BRL L0829B5 +L08288A LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0015 + LDY #$0004 + STA [$F6],Y + LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$002C + LDY #$000A + STA [$F6],Y + LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0043 + LDY #$0010 + STA [$F6],Y + LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$005A + LDY #$0016 + STA [$F6],Y + LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0071 + LDY #$001C + STA [$F6],Y + STZ $C2 + BRA L0829A6 +L082965 LDA $C2 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + INC $C2 +L0829A6 LDA $C2 + SEC + SBC #$0005 + BVS L0829B1 + EOR #$8000 +L0829B1 BPL L082965 + INC $C4 +L0829B5 LDA $C4 + SEC + SBC #$0003 + BVS L0829C0 + EOR #$8000 +L0829C0 BMI L0829C5 + BRL L08288A +L0829C5 PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + PEA $0000 + PEA $0000 + PEA $006C + PEA $0017 + _SetRect + BCS L0829E6 + LDA #$0000 +L0829E6 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $008C + PEA $0000 + PEA $00F6 + PEA $0017 + _SetRect + BCS L082A0B + LDA #$0000 +L082A0B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + PEA $0118 + PEA $0000 + PEA $01A2 + PEA $0012 + _SetRect + BCS L082A30 + LDA #$0000 +L082A30 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $01A4 + PEA $0000 + PEA $022E + PEA $0012 + _SetRect + BCS L082A55 + LDA #$0000 +L082A55 STAL L0B0002 + LDA #L0C0CDC + LDX #^L0C0CDC + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FF40 + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $0074 + PEA $0015 + PEA $020E + PEA $0088 + _SetRect + BCS L082A97 + LDA #$0000 +L082A97 STAL L0B0002 + LDA #$0004 + PHA + LDA $CC + SEC + SBC $C8 + SEC + JSL L01092D + PLY + PHA + LDA #$0001 + PLX + STX $FA + CLC + ADC $FA + LDX #$FF46 + STA $00,X + PEA $C000 + LDA $CA + SEC + SBC $C6 + LDX #$0000 + TAY + BPL L082AC8 + DEX +L082AC8 PHX + PHA + LDX #$FF46 + LDA $00,X + LDX #$0000 + SEC + JSL L010AF3 + LDX L0B0040 + LDA L0B003E + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PHX + PHA + LDX L0B0040 + LDA L0B003E + PHX + PHA + _GetHandleSize + BCS L082AFE + LDA #$0000 +L082AFE STAL L0B0002 + PLA + PLX + STA $C4 + LDX L0B0040 + LDA L0B003E + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + TXY + LDX #$FF42 + STY $02,X + STA $00,X + TYX + PEA $0000 + TDC + CLC + ADC #$009A + PHA + PEA $0000 + PEA $0000 + _SetPt + BCS L082B3C + LDA #$0000 +L082B3C STAL L0B0002 + LDA #L0C0CDC + LDX #^L0C0CDC + TXY + LDX #$FFEA + STY $02,X + STA $00,X + TYX + LDX #$0000 + TDC + CLC + ADC #$FF40 + TXY + LDX #$FFEE + STY $02,X + STA $00,X + TYX + LDX #$0000 + TDC + CLC + ADC #$00C6 + TXY + LDX #$FFF2 + STY $02,X + STA $00,X + TYX + LDX #$0000 + TDC + CLC + ADC #$009A + TXY + LDX #$FFF6 + STY $02,X + STA $00,X + TYX + LDA #$0000 + LDX #$FFFA + STA $00,X + LDAL L0C0CF6 + TAX + LDAL L0C0CF4 + TXY + LDX #$FFFC + STY $02,X + STA $00,X + TYX + JSL L03117F + PEA $0000 + TDC + CLC + ADC #$FFEA + PHA + _PaintPixels + BCS L082BB5 + LDA #$0000 +L082BB5 STAL L0B0002 + PEA $0002 + JSL L021DFD + PLY + LDX #$0000 + TDC + CLC + ADC #$FF40 + TXY + LDX #$FFEA + STY $02,X + STA $00,X + TYX + LDA #L0C0CDC + LDX #^L0C0CDC + TXY + LDX #$FFEE + STY $02,X + STA $00,X + TYX + PEA ^L0C2988 + PEA L0C2988 + PEA $0000 + TDC + CLC + ADC #$009E + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$009E + PHA + JSL L040E53 + PLY + PLY + STA $BC + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + PEA $0001 + PEA $0004 + LDA $BC + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + TAX + LDY #$0002 + LDA [$F6],Y + PHX + PHA + JSL L071136 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PHX + PHA + _GetTick + BCS L082C60 + LDA #$0000 +L082C60 STAL L0B0002 + _SetRandSeed + BCS L082C70 + LDA #$0000 +L082C70 STAL L0B0002 + STZ $C4 + BRL L08312F +L082C79 PEA $0003 + JSL L031FA1 + PLY + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + STA [$F6] + PEA $0005 + JSL L031FA1 + PLY + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + LDY #$0002 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + BEQ L082D64 + BRL L082C79 +L082D64 LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0001 + STA [$F6] + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + PHA + _SetPt + BCS L082F3E + LDA #$0000 +L082F3E STAL L0B0002 + LDA #$0002 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + TAY + BNE L082F86 + PEA $005F + PEA $0000 + PEA $0007 + JSL L031FA1 + PLY + PHA + LDA #$0027 + PLX + STX $FA + CLC + ADC $FA + PHA + PEA $0011 + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + BRA L082FB9 +L082F86 PEA $0057 + PEA $0000 + PEA $0007 + JSL L031FA1 + PLY + PHA + LDA #$0027 + PLX + STX $FA + CLC + ADC $FA + PHA + PEA $001A + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 +L082FB9 PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + JSL L0612B1 +L083007 LDX #$0000 + LDA #$0006 + PHX + PHA + PHX + PHA + _TickCount + BCS L08301D + LDA #$0000 +L08301D STAL L0B0002 + PLA + PLX + SEC + SBC L0B0062 + PHA + TXA + SBC L0B0064 + TAX + PLA + JSL L010B98 + BCC L083036 + BRA L083007 +L083036 LDA $C4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEI $9C + PEI $9A + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0006 + LDA [$F6],Y + PLX + STX $FA + SEC + SBC $FA + PHA + LDA $9C + PLX + STX $FA + CLC + ADC $FA + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + PLX + STX $FA + SEC + SBC $FA + PHA + LDA $9A + PLX + STX $FA + CLC + ADC $FA + PHA + _SetRect + BCS L083129 + LDA #$0000 +L083129 STAL L0B0002 + INC $C4 +L08312F LDA $C4 + SEC + SBC #$0008 + BVS L08313A + EOR #$8000 +L08313A BMI L08313F + BRL L082C79 +L08313F LDA #$0008 + STA $BE + STZ L0B0078 + JSL L0612B1 + PHX + PHA + _GetTick + BCS L083159 + LDA #$0000 +L083159 STAL L0B0002 + PLA + PLX + STX $98 + STA $96 + JSL L0311DD + JSL L0311AA +L08316B JSL L06063A + LDAL L0C1A7A + CMP #$0001 + BNE L0831A4 + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA +L0831A4 LDA L0B0078 + CMP #$0002 + BNE L0831B1 + STZ $BE + BRL L083B0F +L0831B1 LDA L0B0078 + CMP #$0000 + BNE L0831BC + BRL L0834A9 +L0831BC LDA L0B0078 + EOR #$FFFF + INC + SEC + SBC #$0001 + STA $C4 + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L0831EE + LDA #$0000 +L0831EE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + _SetPt + BCS L08324E + LDA #$0000 +L08324E STAL L0B0002 + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $FF8C + PEA $FFEB + _OffsetRect + BCS L0832A7 + LDA #$0000 +L0832A7 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FFEA + PHA + _PaintPixels + BCS L0832C0 + LDA #$0000 +L0832C0 STAL L0B0002 + PEA $0003 + JSL L021DFD + PLY + LDA $BE + SEC + SBC #$0000 + BNE L0832D7 + BRL L083366 +L0832D7 BVS L0832DC + EOR #$8000 +L0832DC BMI L0832E1 + BRL L083366 +L0832E1 LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $006E + PEA $0000 + PEA $002F + PEA $0023 + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0005 + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDX #$0000 + LDA #$0002 + PHA + TXA + STAL L0C2474 + PLA + STAL L0C2472 + LDX #$FFFF + LDA #$FFFF + PHA + TXA + STAL L0C2478 + PLA + STAL L0C2476 + PEA ^L0C2466 + PEA L0C2466 + JSL L0502A4 + PLY + PLY +L083366 LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L08349D + LDA #$0000 +L08349D STAL L0B0002 + DEC $BE + STZ L0B0078 + BRL L083B0F +L0834A9 LDX #$0000 + LDA #$005A + PHX + PHA + PHX + PHA + _GetTick + BCS L0834BF + LDA #$0000 +L0834BF STAL L0B0002 + PLA + PLX + SEC + SBC $96 + PHA + TXA + SBC $98 + TAX + PLA + JSL L010B98 + BCC L0834D7 + BRL L083B0F +L0834D7 PEA $0008 + JSL L031FA1 + PLY + STA $C4 + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + BEQ L0834D7 + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + STA $C2 + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + STA $C0 +L08355C PEA $0003 + JSL L031FA1 + PLY + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + STA [$F6] + PEA $0005 + JSL L031FA1 + PLY + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + LDY #$0002 + STA [$F6],Y + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + BEQ L083647 + BRL L08355C +L083647 LDA $C0 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C2 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0001 + STA [$F6] + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA $C0 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C2 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA $C0 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C2 + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + PHA + _SetPt + BCS L0837A3 + LDA #$0000 +L0837A3 STAL L0B0002 + LDA $C4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $C4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L083810 + LDA #$0000 +L083810 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $FF8C + PEA $FFEB + _OffsetRect + BCS L08382F + LDA #$0000 +L08382F STAL L0B0002 + JSL L03117F + PEA $0000 + TDC + CLC + ADC #$FFEA + PHA + _PaintPixels + BCS L08384C + LDA #$0000 +L08384C STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $C4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$000C + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$001E + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$003C + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + PHA + _SetPt + BCS L083977 + LDA #$0000 +L083977 STAL L0B0002 + PEA $005F + PEA $0000 + PEA $0007 + JSL L031FA1 + PLY + PHA + LDA #$0028 + PLX + STX $FA + CLC + ADC $FA + PHA + PEA $0025 + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$009A + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + JSL L0311DD + JSL L0311AA + LDA $C4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEI $9C + PEI $9A + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0006 + LDA [$F6],Y + PLX + STX $FA + SEC + SBC $FA + PHA + LDA $9C + PLX + STX $FA + CLC + ADC $FA + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA #$0004 + PHA + LDA $C4 + SEC + JSL L01092D + PLA + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + PLX + STX $FA + SEC + SBC $FA + PHA + LDA $9A + PLX + STX $FA + CLC + ADC $FA + PHA + _SetRect + BCS L083AF3 + LDA #$0000 +L083AF3 STAL L0B0002 + PHX + PHA + _GetTick + BCS L083B05 + LDA #$0000 +L083B05 STAL L0B0002 + PLA + PLX + STX $98 + STA $96 +L083B0F LDA $BE + SEC + SBC #$0000 + BEQ L083B2F + BVS L083B1C + EOR #$8000 +L083B1C BPL L083B2F + JSL L0612DE + TAY + BNE L083B2F + JSL L04169A + TAY + BNE L083B2F + BRL L08316B +L083B2F STZ $C0 + BRA L083B5E +L083B33 LDA $C0 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + INC $C0 +L083B5E LDA $C0 + SEC + SBC #$0005 + BEQ L083B33 + BVS L083B6B + EOR #$8000 +L083B6B BPL L083B33 + LDX L0B0040 + LDA L0B003E + PHX + PHA + JSL L04023C + PLY + PLY + TSC + CLC + ADC #$01BC + TCS + PLD + RTL + +L083B83 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F0 + TCS + STZ $F4 + JSL L06063A + LDAL L0C1A7A + CMP #$0003 + BNE L083BC5 + LDAL L0C1A7C + CMP #$001B + BNE L083BC5 + LDAL L0C1A7E + CMP #$0000 + BNE L083BC5 + LDA L0B0078 + CMP #$0002 + BEQ L083BBC + LDA #$0000 + BRA L083BBF +L083BBC LDA #$0001 +L083BBF JSL L04169A + STA $F4 +L083BC5 LDA $F4 + TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + diff --git a/yourtour/CTRICKS.X.S b/yourtour/CTRICKS.X.S new file mode 100644 index 0000000..1c0c319 --- /dev/null +++ b/yourtour/CTRICKS.X.S @@ -0,0 +1,100 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L0102D3 + EXT L010B98 + EXT L0B0002 + EXT L021DFD + EXT L0251CD + EXT L01092D + EXT L010AAE + EXT L010AF3 + EXT L03117F + EXT L0311AA + EXT L010BC3 + EXT L061079 + EXT L06152C + EXT L040E53 + EXT L040000 + EXT L04023C + EXT L031208 + EXT L031233 + EXT L0C1A84 + EXT L0B0078 + EXT L0B00C7 + EXT L0B00AA + EXT L0C1A7A + EXT L0C1AB2 + EXT L0C072F + EXT L0C0EF2 + EXT L0C0CDC + EXT L0C1188 + EXT L031FA1 + EXT L0311DD + EXT L0312C8 + EXT L0C0CF6 + EXT L0C0CF4 + EXT L0612B1 + EXT L06078F + EXT L0612DE + EXT L0C0733 + EXT L0C0731 + EXT L06063A + EXT L0B003E + EXT L0B0042 + EXT L0B0044 + EXT L0B0062 + EXT L0B0064 + EXT L0502A4 + EXT L04169A + EXT L060C20 + EXT L0C1A7E + EXT L0C1A7C + EXT L0B0080 + EXT L071136 + EXT L0705F6 + EXT L0B0048 + EXT L0B0046 + EXT L0C0E30 + EXT L0C2468 + EXT L0C2466 + EXT L0C246C + EXT L0C246A + EXT L0C2470 + EXT L0C246E + EXT L0C2474 + EXT L0C2472 + EXT L0C2478 + EXT L0C2476 + EXT L0C247C + EXT L0C247A + EXT L0C0747 + EXT L0C0749 + EXT L0C074B + EXT L0C074D + EXT L0C074F + EXT L0C0751 + EXT L0C2480 + EXT L0C247E + EXT L0B0090 + EXT L0B0040 + EXT L0C2938 + EXT L0C293A + EXT L0C293C + EXT L0C2947 + EXT L0C2952 + EXT L0C0EFA + EXT L0C0F02 + EXT L0C0F0A + EXT L0C295D + EXT L0C2968 + EXT L0C296A + EXT L0C296C + EXT L0C2977 + EXT L0C2979 + EXT L0C297B + EXT L0C2988 diff --git a/yourtour/DIRECT.S b/yourtour/DIRECT.S new file mode 100644 index 0000000..6f26253 --- /dev/null +++ b/yourtour/DIRECT.S @@ -0,0 +1,15 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + +L0D0000 ENT + DS $1000 diff --git a/yourtour/FIVE.S b/yourtour/FIVE.S new file mode 100644 index 0000000..ff4e4d8 --- /dev/null +++ b/yourtour/FIVE.S @@ -0,0 +1,3891 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use FIVE.X + + use 4/Event.Macs + use 4/Int.Macs + use 4/Line.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Text.Macs + use 4/Util.Macs + +*------------------------------- + +L060000 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + LDA L0B00C9 + STA $F0 + LDA L0B009A + BEQ L06006B + LDA L0B00AC + BEQ L06006B + LDA #$0002 + PHA + PHA + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + PEI $F0 + _TextWidth + BCS L06003E + LDA #$0000 +L06003E STAL L0B0002 + LDAL L0C0F80 + SEC + SBCL L0C0F7C + PLX + STX $F6 + SEC + SBC $F6 + SEC + JSL L01092D + PLY + PHA + PEA $0000 + _Move + BCS L060067 + LDA #$0000 +L060067 STAL L0B0002 +L06006B LDA L0B00A0 + BEQ L060081 + PEI $FF + PEI $FD + LDA L0B00C9 + PHA + JSL L0600DC + PLY + PLY + PLY + BRA L0600B3 +L060081 LDA $F0 + SEC + SBC #$0000 + BEQ L0600B3 + BVS L06008E + EOR #$8000 +L06008E BPL L0600B3 + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + PEI $F0 + _DrawText + BCS L0600AF + LDA #$0000 +L0600AF STAL L0B0002 +L0600B3 LDA L0B00C9 + CLC + ADC #$0001 + PHA + PEA $0000 + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L0244F2 + PLY + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0600DC PHD + TSC + SEC + SBC #$00F5 + TCD + ADC #$00E8 + TCS + LDA #$0001 + STA $EE + BRL L0601AA +L0600EF LDA L0B00C1 + BNE L060117 + LDA $EE + LDX #$0000 + TAY + BPL L0600FD + DEX +L0600FD PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA [$F0] + AND #$00FF + CMP #$0020 + BNE L06011C +L060117 LDA #$0000 + BRA L06011F +L06011C LDA #$0001 +L06011F STA $EA + STZ $EC + BRA L060127 +L060125 INC $EC +L060127 LDA $EC + SEC + SBC #$0EA6 + BEQ L060125 + BVS L060134 + EOR #$8000 +L060134 BPL L060125 + LDA $EA + BEQ L06014D + LDX L0B00B5 + LDA L0B00B3 + STA $F0 + STX $F2 + LDA #$0001 + SEP #$20 + STA [$F0] + REP #$20 +L06014D LDA $EE + LDX #$0000 + TAY + BPL L060156 + DEX +L060156 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA [$F0] + AND #$00FF + PHA + _DrawChar + BCS L060178 + LDA #$0000 +L060178 STAL L0B0002 + STZ $EC + BRA L060182 +L060180 INC $EC +L060182 LDA $EC + SEC + SBC #$0EA6 + BEQ L060180 + BVS L06018F + EOR #$8000 +L06018F BPL L060180 + LDA $EA + BEQ L0601A8 + LDX L0B00B5 + LDA L0B00B3 + STA $F0 + STX $F2 + LDA #$0001 + SEP #$20 + STA [$F0] + REP #$20 +L0601A8 INC $EE +L0601AA LDA $EE + SEC + SBC $FB + BNE L0601B4 + BRL L0600EF +L0601B4 BVS L0601B9 + EOR #$8000 +L0601B9 BMI L0601BE + BRL L0600EF +L0601BE TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L0601C6 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00ED + TCS + LDA #$0020 + SEP #$20 + STA $F1 + REP #$20 + JSL L03117F + PEI $FF + PEI $FD + JSL L060593 + PLY + PLY + TAY + BNE L0601F8 + PEI $FF + PEI $FD + JSL L0605F0 + PLY + PLY + TAY + BEQ L060215 +L0601F8 LDA L0B0096 + BEQ L060215 + LDAL L0C0D1E + CMPL L0C0F7C + BEQ L06020B + JSL L0604FD +L06020B JSL L0604FD + STZ L0B00A2 + BRL L0604DE +L060215 LDA L0B00A2 + BEQ L060232 + LDA [$FD] + AND #$00FF + STA L0B00C9 + PEI $FF + PEI $FD + JSL L060000 + PLY + PLY + STZ L0B00A2 + BRL L0604DE +L060232 LDA L0B009A + BEQ L06027E + LDY #$0001 + LDA [$FD],Y + AND #$00FF + CMP #$0020 + BNE L06027E + LDA #$0001 + STA L0B00AC + PEA $0020 + PEA $0001 + PEI $FF + PEI $FD + JSL L024161 + PLY + PLY + PLY + PLY + STA L0B00C9 + LDA L0B00C9 + PHA + PEA $0000 + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L0244F2 + PLY + PLY + BRA L060281 +L06027E STZ L0B00AC +L060281 LDA L0B009A + BEQ L060299 + LDA L0B00AC + BEQ L060299 + LDAL L0C0D1E + CMPL L0C0F7C + BEQ L060299 + JSL L0604FD +L060299 LDA [$FD] + AND #$00FF + STA L0B00C9 +L0602A1 PEI $FF + PEI $FD + JSL L0605F0 + PLY + PLY + TAY + BEQ L0602B1 + BRL L0604DE +L0602B1 PHA + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + LDA L0B00C9 + PHA + _TextWidth + BCS L0602D3 + LDA #$0000 +L0602D3 STAL L0B0002 + PLA + STA $EF + LDA $EF + CLC + ADCL L0C0D1E + SEC + SBCL L0C0F80 + BEQ L0602F2 + BVS L0602ED + EOR #$8000 +L0602ED BPL L0602F2 + BRL L0603FC +L0602F2 LDA [$FD] + AND #$00FF + STA L0B00C9 + PEI $FF + PEI $FD + JSL L060000 + PLY + PLY + LDA L0B0096 + BNE L06030C + BRL L0603F9 +L06030C LDA L0B00C9 + LDX #$0000 + TAY + BPL L060316 + DEX +L060316 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$0020 + BNE L060333 + BRL L0603F9 +L060333 PHA + PEA $0000 + TDC + CLC + ADC #$00F1 + PHA + PEA $0001 + _TextWidth + BCS L06034C + LDA #$0000 +L06034C STAL L0B0002 + LDAL L0C0F80 + PLX + STX $F6 + SEC + SBC $F6 + SEC + SBCL L0C0D1E + BEQ L060384 + BVS L060366 + EOR #$8000 +L060366 BPL L060384 + PEA $0000 + TDC + CLC + ADC #$00F1 + PHA + PEA $0001 + _DrawText + BCS L060380 + LDA #$0000 +L060380 STAL L0B0002 +L060384 LDA L0B00C9 + LDX #$0000 + TAY + BPL L06038E + DEX +L06038E PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$002E + BNE L0603F9 + PHA + PEA $0000 + TDC + CLC + ADC #$00F1 + PHA + PEA $0001 + _TextWidth + BCS L0603C1 + LDA #$0000 +L0603C1 STAL L0B0002 + LDAL L0C0F80 + PLX + STX $F6 + SEC + SBC $F6 + SEC + SBCL L0C0D1E + BEQ L0603F9 + BVS L0603DB + EOR #$8000 +L0603DB BPL L0603F9 + PEA $0000 + TDC + CLC + ADC #$00F1 + PHA + PEA $0001 + _DrawText + BCS L0603F5 + LDA #$0000 +L0603F5 STAL L0B0002 +L0603F9 BRL L0604DB +L0603FC LDA L0B00C9 + SEC + SBC #$0000 + BNE L060408 + BRL L060485 +L060408 BVS L06040D + EOR #$8000 +L06040D BMI L060412 + BRL L060485 +L060412 PHA + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + LDA L0B00C9 + PHA + _TextWidth + BCS L060434 + LDA #$0000 +L060434 STAL L0B0002 + PLA + CLC + ADCL L0C0D1E + SEC + SBCL L0C0F80 + BVS L060448 + EOR #$8000 +L060448 BPL L060485 + LDA L0B00C9 + CMP #$0001 + BNE L060457 + STZ L0B00C9 + BRA L060482 +L060457 PEA $0020 + LDA L0B00C9 + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L024078 + PLY + PLY + PLY + PLY + STA L0B00C9 +L060482 BRL L0603FC +L060485 LDA L0B00C9 + SEC + SBC #$0000 + BVS L060491 + EOR #$8000 +L060491 BPL L06049D + PEI $FF + PEI $FD + JSL L060000 + PLY + PLY +L06049D JSL L0604FD + PEA $0020 + PEA $0001 + PEI $FF + PEI $FD + JSL L024161 + PLY + PLY + PLY + PLY + STA L0B00C9 + LDA L0B00C9 + PHA + PEA $0000 + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L0244F2 + PLY + PLY + LDA [$FD] + AND #$00FF + STA L0B00C9 +L0604DB BRL L0602A1 +L0604DE LDA L0B0096 + BEQ L0604ED + LDA L0B009A + BEQ L0604F1 + LDA L0B00AC + BEQ L0604F1 +L0604ED JSL L0604FD +L0604F1 JSL L0311AA + TSC + CLC + ADC #$0009 + TCS + PLD + RTL + +L0604FD PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F0 + TCS + LDA L0B0070 + PHA + LDAL L0C0F7E + SEC + SBCL L0C0D1C + SEC + JSL L01092D + PLY + SEC + SBC #$0000 + BEQ L060555 + BVS L060526 + EOR #$8000 +L060526 BPL L060555 + PEA ^L0C10BA + PEA L0C10BA + _GetPen + BCS L06053A + LDA #$0000 +L06053A STAL L0B0002 + PEA $0000 + LDA L0B0070 + PHA + _Move + BCS L060551 + LDA #$0000 +L060551 STAL L0B0002 +L060555 LDA L0B009E + BEQ L060571 + PEA $0000 + LDA L0B0070 + PHA + _Move + BCS L06056D + LDA #$0000 +L06056D STAL L0B0002 +L060571 LDAL L0C0F7C + PHA + LDAL L0C0D1C + PHA + _MoveTo + BCS L060587 + LDA #$0000 +L060587 STAL L0B0002 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L060593 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + LDA #$0001 + STA $F0 + LDA #$0001 + STA $F0 + BRA L0605D4 +L0605AA LDA $F0 + LDX #$0000 + TAY + BPL L0605B3 + DEX +L0605B3 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$0020 + BEQ L0605D2 + LDA #$0000 + BRA L0605E6 +L0605D2 INC $F0 +L0605D4 LDA [$FD] + AND #$00FF + SEC + SBC $F0 + BVS L0605E1 + EOR #$8000 +L0605E1 BMI L0605AA + LDA #$0001 +L0605E6 TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L0605F0 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA [$FD] + AND #$00FF + BEQ L060607 + LDA #$0000 + BRA L06060A +L060607 LDA #$0001 +L06060A TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L060614 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PEA $0007 + _WriteChar + BCS L06062E + LDA #$0000 +L06062E STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L06063A ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PHA + PEA $046E + PEA ^L0C1A7A + PEA L0C1A7A + _GetNextEvent + BCS L06065B + LDA #$0000 +L06065B STAL L0B0002 + PLA + LDAL L0C1A86 + ASL + STAL L0C1A86 + STZ L0B00CB + JSL L060DE3 + TAY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L060679 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F0 + TCS + LDA $FF + BRL L060776 +L060689 LDAL L0C1A7A + CMP #$0003 + BEQ L060697 + LDA #$0000 + BRA L06069A +L060697 LDA #$0001 +L06069A STA $F2 + LDAL L0C1A7A + CMP #$0002 + BNE L0606EB + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0078 + SEC + SBC #$0000 + BEQ L0606E1 + BVS L0606DF + EOR #$8000 +L0606DF BMI L0606E6 +L0606E1 LDA #$0000 + BRA L0606E9 +L0606E6 LDA #$0001 +L0606E9 STA $F2 +L0606EB BRL L060783 +L0606EE LDA $FF + CMPL L0C1A7A + BEQ L060704 + LDAL L0C1A7A + CMP #$0003 + BEQ L060704 + LDA #$0000 + BRA L060707 +L060704 LDA #$0001 +L060707 STA $F2 + STZ L0B00CB + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + BRL L060783 +L06073B LDAL L0C1A7A + CMP #$0000 + BNE L060749 + LDA #$0000 + BRA L06074C +L060749 LDA #$0001 +L06074C STA $F2 + BRL L060783 +L060751 LDAL L0C1A7A + CMP #$0000 + BEQ L06075F + LDA #$0000 + BRA L060762 +L06075F LDA #$0001 +L060762 STA $F2 + BRL L060783 +L060767 BRL L060783 +L06076A DA L060751 + DA L0606EE + DA L0606EE + DA L060689 + DA L06073B + DA L060767 +L060776 CMP #$0005 + BCC L06077E + LDA #$0005 +L06077E ASL + TAX + JMP (L06076A,X) + +L060783 LDA $F2 + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L06078F ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS +L06079A JSL L06063A + JSL L04169A + TAY + BNE L0607B6 + JSL L0612DE + TAY + BNE L0607B6 + PEI $FF + JSL L060679 + PLY + TAY + BEQ L06079A +L0607B6 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0607BE ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + PEA $0001 + LDA $FF + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0F82 + LDX #^L0C0F82 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L0613E4 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L060815 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEA $0000 + TDC + CLC + ADC #$00F9 + PHA + _InvertRect + BCS L060835 + LDA #$0000 +L060835 STAL L0B0002 + LDA L0B00C5 + BEQ L060843 + LDA #$0000 + BRA L060846 +L060843 LDA #$0001 +L060846 STA L0B00C5 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L060851 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00D6 + TCS + STZ $F2 + JSL L0612B1 + LDA $FF + CMP #$0001 + BEQ L060885 + LDA $FF + CMP #$0004 + BEQ L060885 + LDA $FF + CMP #$0002 + BEQ L060885 + LDAL L0C072F + CMP #$FFFD + BEQ L060885 + LDA #$0000 + BRA L060888 +L060885 LDA #$0001 +L060888 STA L0B00C7 + LDA $FF + CMP #$0001 + BEQ L06089B + LDAL L0C072F + CMP #$FFFD + BNE L0608C0 +L06089B LDA #L0C0F9A + LDX #^L0C0F9A + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA #$0004 + STA L0B0080 + BRA L0608FA +L0608C0 STZ L0B0080 + LDAL L0C072F + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L0608FA JSL L0311DD +L0608FE LDX #$0000 + TDC + CLC + ADC #$00D8 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0001 + PEI $F2 + JSL L060C20 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDAL L0C1A7A + CMP #$0001 + BEQ L06093D + BRL L060B0A +L06093D LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0078 + CMP #$0000 + BNE L060974 + BRL L060ADA +L060974 JSL L061210 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA L0B0078 + STA $EC + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _InvertRect + BCS L0609A9 + LDA #$0000 +L0609A9 STAL L0B0002 + LDA #$0001 + STA L0B00C5 +L0609B3 JSL L06063A + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PHA + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _PtInRect + BCS L0609F3 + LDA #$0000 +L0609F3 STAL L0B0002 + PLA + TAY + BEQ L060A21 + LDA L0B00C5 + BNE L060A21 + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _InvertRect + BCS L060A15 + LDA #$0000 +L060A15 STAL L0B0002 + LDA #$0001 + STA L0B00C5 + BRA L060A69 +L060A21 PHA + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _PtInRect + BCS L060A40 + LDA #$0000 +L060A40 STAL L0B0002 + PLA + TAY + BNE L060A69 + LDA L0B00C5 + BEQ L060A69 + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _InvertRect + BCS L060A62 + LDA #$0000 +L060A62 STAL L0B0002 + STZ L0B00C5 +L060A69 PHA + PEA $0000 + _StillDown + BCS L060A79 + LDA #$0000 +L060A79 STAL L0B0002 + PLA + TAY + BEQ L060A84 + BRL L0609B3 +L060A84 LDA L0B00C5 + BEQ L060AA2 + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _InvertRect + BCS L060A9E + LDA #$0000 +L060A9E STAL L0B0002 +L060AA2 LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0078 + CMP $EC + BEQ L060AD8 + STZ L0B0078 +L060AD8 BRA L060AF8 +L060ADA PHA + PEA $0000 + _StillDown + BCS L060AEA + LDA #$0000 +L060AEA STAL L0B0002 + PLA + TAY + BEQ L060AF8 + JSL L06063A + BRA L060ADA +L060AF8 LDAL L0C1A7A + CMP #$0002 + BEQ L060B08 + LDA #$0002 + STAL L0C1A7A +L060B08 BRA L060B36 +L060B0A LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA +L060B36 LDA $FF + BRL L060BA7 +L060B3B LDA L0B0078 + CMP #$0001 + BEQ L060B53 + LDA L0B0078 + CMP #$0002 + BEQ L060B53 + LDA L0B0078 + CMP #$0003 + BNE L060B5A +L060B53 LDA #$0001 + STA $EE + BRA L060B5C +L060B5A STZ $EE +L060B5C BRL L060BB5 +L060B5F LDAL L0C1A7A + CMP #$0002 + BNE L060B6F + LDA #$0001 + STA $EE + BRA L060B71 +L060B6F STZ $EE +L060B71 BRL L060BB5 +L060B74 LDAL L0C1A7A + CMP #$0003 + BEQ L060B86 + LDAL L0C1A7A + CMP #$0005 + BNE L060B8D +L060B86 LDA #$0001 + STA $EE + BRA L060B8F +L060B8D STZ $EE +L060B8F BRL L060BB5 +L060B92 LDA #$0001 + STA $EE + BRL L060BB5 +L060B9A BRL L060BB5 +L060B9D DA L060B3B + DA L060B5F + DA L060B74 + DA L060B92 + DA L060B9A +L060BA7 DEC + CMP #$0004 + BCC L060BB0 + LDA #$0004 +L060BB0 ASL + TAX + JMP (L060B9D,X) + +L060BB5 JSL L04169A + TAY + BNE L060BEC + JSL L0612DE + TAY + BNE L060BC7 + LDA $EE + BNE L060BE5 +L060BC7 INC $F2 + LDA $F2 + SEC + SBC #$0001 + BEQ L060BE3 + BVS L060BD6 + EOR #$8000 +L060BD6 BPL L060BE3 + PEI $FF + JSL L06145F + PLY + JSL L0311DD +L060BE3 BRA L060BEA +L060BE5 LDA #$FFFF + STA $F2 +L060BEA BRA L060BF1 +L060BEC LDA #$FFFF + STA $F2 +L060BF1 LDA $F2 + SEC + SBC #$0000 + BVS L060BFC + EOR #$8000 +L060BFC BPL L060C08 + JSL L0612DE + TAY + BNE L060C08 + BRL L0608FE +L060C08 JSL L031208 + PEA $0000 + PEA $0000 + JSL L0251CD + PLY + PLY + TSC + CLC + ADC #$0022 + TCS + PLD + RTL + +L060C20 ENT + PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E4 + TCS +L060C2B STZ L0B00C5 +L060C2E JSL L06063A + LDX #$0000 + LDA #$0000 + PHX + PHA + LDX #$0000 + LDA #$002C + PHX + PHA + PHX + PHA + _TickCount + BCS L060C50 + LDA #$0000 +L060C50 STAL L0B0002 + PLA + PLX + CLC + JSL L0109B2 + PLA + PLX + JSL L010B98 + BNE L060C68 + LDA #$0001 + STA $E8 +L060C68 LDA L0B00C7 + BNE L060C70 + BRL L060CF1 +L060C70 LDA $F5 + SEC + SBC #$0000 + BEQ L060C7F + BVS L060C7D + EOR #$8000 +L060C7D BMI L060C90 +L060C7F JSL L061036 + SEC + SBC L0B0080 + BEQ L060CF1 + BVS L060C8E + EOR #$8000 +L060C8E BPL L060CF1 +L060C90 LDX #$0000 + LDA #$0000 + PHX + PHA + LDX #$0000 + LDA #$002D + PHX + PHA + PHX + PHA + _TickCount + BCS L060CAE + LDA #$0000 +L060CAE STAL L0B0002 + PLA + PLX + CLC + JSL L0109B2 + PLA + PLX + JSL L010B98 + BNE L060CF1 + LDA $E8 + BEQ L060CEF + LDX #$0000 + TDC + CLC + ADC #$00F9 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L060815 + PLY + PLY + PLY + PLY +L060CEF STZ $E8 +L060CF1 LDA $F7 + BEQ L060D0B + LDAL L0C1A7A + CMP #$0000 + BNE L060D03 + LDA #$0000 + BRA L060D06 +L060D03 LDA #$0001 +L060D06 STA $E6 + BRL L060D75 +L060D0B LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEA $0000 + TDC + CLC + ADC #$00F9 + PHA + _PtInRect + BCS L060D53 + LDA #$0000 +L060D53 STAL L0B0002 + PLA + TAY + BNE L060D70 + LDA L0B0078 + CMP #$0001 + BEQ L060D70 + LDA L0B0078 + CMP #$0002 + BEQ L060D70 + LDA #$0000 + BRA L060D73 +L060D70 LDA #$0001 +L060D73 STA $E6 +L060D75 LDA $E6 + BNE L060D83 + JSL L0612DE + TAY + BNE L060D83 + BRL L060C2E +L060D83 LDA L0B00C5 + BEQ L060DB2 + LDX #$0000 + TDC + CLC + ADC #$00F9 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L060815 + PLY + PLY + PLY + PLY +L060DB2 LDAL L0C1A7A + CMP #$0003 + BEQ L060DDB + LDAL L0C1A7A + CMP #$0005 + BEQ L060DDB + LDAL L0C1A7A + CMP #$0001 + BEQ L060DDB + LDA $E6 + BNE L060DDB + JSL L0612DE + TAY + BNE L060DDB + BRL L060C2B +L060DDB TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L060DE3 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F1 + TCS + STZ $F3 + LDAL L0C1A88 + AND #$0300 + CMP #$0300 + BEQ L060DFF + BRL L06102A +L060DFF LDAL L0C1A7A + CMP #$0003 + BEQ L060E0B + BRL L06102A +L060E0B LDAL L0C1A7E + TAX + LDAL L0C1A7C + AND #$00FF + ORA #$0020 + SEP #$20 + STA $F5 + REP #$20 + LDA $F5 + AND #$00FF + CMP #$0064 + BNE L060E32 + LDA #$0001 + STA L0B007E + BRA L060E3F +L060E32 LDA $F5 + AND #$00FF + CMP #$0074 + BNE L060E3F + STZ L0B007E +L060E3F LDA $F5 + AND #$00FF + CMP #$0073 + BNE L060E4C + BRL L060FF5 +L060E4C _GrafOff + BCS L060E58 + LDA #$0000 +L060E58 STAL L0B0002 + PEA ^L0C2699 + PEA L0C2699 + _WriteCString + BCS L060E6E + LDA #$0000 +L060E6E STAL L0B0002 + PEA $000D + _WriteChar + BCS L060E81 + LDA #$0000 +L060E81 STAL L0B0002 + PEA ^L0C26A3 + PEA L0C26A3 + _WriteCString + BCS L060E97 + LDA #$0000 +L060E97 STAL L0B0002 + PEA $000D + _WriteChar + BCS L060EAA + LDA #$0000 +L060EAA STAL L0B0002 + PEA ^L0C26C7 + PEA L0C26C7 + _WriteCString + BCS L060EC0 + LDA #$0000 +L060EC0 STAL L0B0002 + PEA $000D + _WriteChar + BCS L060ED3 + LDA #$0000 +L060ED3 STAL L0B0002 + PEA ^L0C26F4 + PEA L0C26F4 + _WriteCString + BCS L060EE9 + LDA #$0000 +L060EE9 STAL L0B0002 + PEA $000D + _WriteChar + BCS L060EFC + LDA #$0000 +L060EFC STAL L0B0002 + PEA ^L0C2739 + PEA L0C2739 + _WriteCString + BCS L060F12 + LDA #$0000 +L060F12 STAL L0B0002 + PEA $000D + _WriteChar + BCS L060F25 + LDA #$0000 +L060F25 STAL L0B0002 + PEA ^L0C276A + PEA L0C276A + _WriteCString + BCS L060F3B + LDA #$0000 +L060F3B STAL L0B0002 + PEA $000D + _WriteChar + BCS L060F4E + LDA #$0000 +L060F4E STAL L0B0002 + PEA ^L0C279C + PEA L0C279C + _WriteCString + BCS L060F64 + LDA #$0000 +L060F64 STAL L0B0002 + LDA L0B007E + BEQ L060F85 + PEA ^L0C27AF + PEA L0C27AF + _WriteCString + BCS L060F7F + LDA #$0000 +L060F7F STAL L0B0002 + BRA L060F9B +L060F85 PEA ^L0C27B5 + PEA L0C27B5 + _WriteCString + BCS L060F97 + LDA #$0000 +L060F97 STAL L0B0002 +L060F9B PEA ^L0C27BF + PEA L0C27BF + _WriteCString + BCS L060FAD + LDA #$0000 +L060FAD STAL L0B0002 + PEA $0006 + _WriteChar + BCS L060FC0 + LDA #$0000 +L060FC0 STAL L0B0002 + PEA $0039 + JSL L06135C + PLY + _GrafOn + BCS L060FD8 + LDA #$0000 +L060FD8 STAL L0B0002 + PEA $0005 + _WriteChar + BCS L060FEB + LDA #$0000 +L060FEB STAL L0B0002 + JSL L0311DD + BRA L06102A +L060FF5 _GrafOff + BCS L061001 + LDA #$0000 +L061001 STAL L0B0002 + PHA + PEA $0000 + _ReadChar + BCS L061015 + LDA #$0000 +L061015 STAL L0B0002 + PLA + _GrafOn + BCS L061026 + LDA #$0000 +L061026 STAL L0B0002 +L06102A LDA $F3 + TAY + TSC + CLC + ADC #$0009 + TCS + TYA + PLD + RTL + +L061036 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX #$0000 + LDA #$003C + PHX + PHA + PHX + PHA + _TickCount + BCS L061057 + LDA #$0000 +L061057 STAL L0B0002 + PLA + PLX + SEC + SBC L0B0062 + PHA + TXA + SBC L0B0064 + TAX + PLA + CLC + JSL L0109B2 + PLY + PLY + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L061079 ENT + PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00DE + TCS + LDA L0B00CB + BEQ L06108C + BRL L061208 +L06108C STZ L0B0078 + SEP #$20 + STZ L0B00B2 + REP #$20 + LDA $F1 + CMP #$0003 + BNE L0610A0 + BRL L06116C +L0610A0 LDA $F1 + CMP #$0005 + BNE L0610AA + BRL L06116C +L0610AA STZ $E4 +L0610AC LDA $E4 + SEC + SBC #$0010 + BEQ L0610BB + BVS L0610B9 + EOR #$8000 +L0610B9 BMI L06111B +L0610BB LDX #$0000 + TDC + CLC + ADC #$00FB + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _PtInRect + BCS L061104 + LDA #$0000 +L061104 STAL L0B0002 + PLA + TAY + BEQ L061117 + LDA $E4 + EOR #$FFFF + INC + STA L0B0078 + BRA L06111B +L061117 INC $E4 + BRA L0610AC +L06111B LDA L0B0078 + CMP #$0000 + BNE L061169 + LDA #$0003 + STA $E4 +L061128 LDA $E4 + BEQ L061169 + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0F82 + LDX #^L0C0F82 + JSL L010922 + _PtInRect + BCS L061156 + LDA #$0000 +L061156 STAL L0B0002 + PLA + TAY + BEQ L061165 + LDA $E4 + STA L0B0078 + BRA L061169 +L061165 DEC $E4 + BRA L061128 +L061169 BRL L061202 +L06116C LDA $F3 + CMP #$000D + BNE L06118A + LDA $F5 + CMP #$0000 + BNE L06118A + LDA #$0003 + STA L0B0078 + PEA $0003 + JSL L0607BE + PLY + BRA L0611A6 +L06118A LDA $F3 + CMP #$001B + BNE L0611A6 + LDA $F5 + CMP #$0000 + BNE L0611A6 + LDA #$0002 + STA L0B0078 + PEA $0002 + JSL L0607BE + PLY +L0611A6 LDX $F5 + LDA $F3 + SEP #$20 + STA L0B00B2 + REP #$20 + LDA L0B009C + BEQ L0611EA + LDA L0B00B2 + AND #$00FF + SEC + SBC #$005A + BEQ L0611C9 + BVS L0611C7 + EOR #$8000 +L0611C7 BMI L0611EA +L0611C9 LDA L0B00B2 + AND #$00FF + SEC + SBC #$0041 + BVS L0611D8 + EOR #$8000 +L0611D8 BPL L0611EA + LDA L0B00B2 + AND #$00FF + ORA #$0020 + SEP #$20 + STA L0B00B2 + REP #$20 +L0611EA LDA $FF + AND #$0100 + TAY + BEQ L061202 + LDA L0B00B2 + AND #$00FF + ORA #$0080 + SEP #$20 + STA L0B00B2 + REP #$20 +L061202 LDA #$0001 + STA L0B00CB +L061208 TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L061210 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B0078 + SEC + SBC #$0001 + BVS L061227 + EOR #$8000 +L061227 BPL L061270 + LDA L0B0078 + SEC + SBC #$0003 + BEQ L061239 + BVS L061237 + EOR #$8000 +L061237 BMI L061270 +L061239 LDA L0B0078 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0F82 + LDX #^L0C0F82 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + PHX + PHA + PEA ^L0C27D7 + PEA L0C27D7 + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + BRA L0612A7 + BRA L0612A7 +L061270 LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + PHX + PHA + PEA ^L0C27D7 + PEA L0C27D7 + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L0612A7 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L0612B1 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PHX + PHA + _TickCount + BCS L0612CA + LDA #$0000 +L0612CA STAL L0B0002 + PLA + PLX + STX L0B0064 + STA L0B0062 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0612DE ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L061036 + SEC + SBC L0B007A + BEQ L06130A + BVS L0612F8 + EOR #$8000 +L0612F8 BPL L06130A + LDA L0B007A + SEC + SBC #$0000 + BEQ L06130A + BVS L061308 + EOR #$8000 +L061308 BMI L06130F +L06130A LDA #$0000 + BRA L061312 +L06130F LDA #$0001 +L061312 STA L0B007C + JSL L061036 + SEC + SBC #$00B4 + BEQ L06134F + BVS L061324 + EOR #$8000 +L061324 BPL L06134F + LDA L0B007E + BEQ L06134F + LDA #$0002 + STA L0B0078 + PEA $0000 + PEA $0013 + JSL L0251CD + PLY + PLY + PEA ^L0C27C9 + PEA L0C27C9 + JSL L040728 + PLY + PLY + LDA #$0001 + STA L0B007C +L06134F LDA L0B007C + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L06135C ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00E2 + TCS + JSL L0311DD + JSL L0612B1 +L06136F JSL L06063A + JSL L0612DE + TAY + BNE L0613C0 + JSL L04169A + TAY + BNE L0613C0 + LDAL L0C1A7A + CMP #$0000 + BNE L0613C0 + LDA $FF + PHA + LDA #$0006 + SEC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + PHX + PHA + _TickCount + BCS L0613A9 + LDA #$0000 +L0613A9 STAL L0B0002 + PLA + PLX + SEC + SBC L0B0062 + PHA + TXA + SBC L0B0064 + TAX + PLA + JSL L010B98 + BCS L06136F +L0613C0 PHA + PEA $0247 + PEA $0000 + _FlushEvents + BCS L0613D3 + LDA #$0000 +L0613D3 STAL L0B0002 + PLA + JSL L031208 + TSC + CLC + ADC #$0016 + TCS + PLD + RTL + +L0613E4 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E4 + TCS + LDA $FF + CMP #$0000 + BNE L0613FD + LDA #$0001 + STA $E6 + BRA L06140B +L0613FD LDA $FF + PHA + LDA #$0002 + SEC + JSL L010AAE + PLA + STA $E6 +L06140B LDA #$0001 + STA $EA + BRA L061449 +L061412 PEA $0000 + TDC + CLC + ADC #$00F7 + PHA + _InvertRect + BCS L061427 + LDA #$0000 +L061427 STAL L0B0002 + LDA #$0001 + STA $E8 + BRA L061438 +L061432 LDA $E8 + STA $E8 + INC $E8 +L061438 LDA $E8 + SEC + SBC #$1B58 + BEQ L061432 + BVS L061445 + EOR #$8000 +L061445 BPL L061432 + INC $EA +L061449 LDA $EA + SEC + SBC $E6 + BEQ L061412 + BVS L061455 + EOR #$8000 +L061455 BPL L061412 + TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L06145F ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$0088 + TCS + STZ $F2 + LDA $FF + SEC + SBC #$0006 + BEQ L06147E + BVS L061479 + EOR #$8000 +L061479 BPL L06147E + BRL L061524 +L06147E PEA ^L0C27CE + PEA L0C27CE + PEA $0000 + TDC + CLC + ADC #$008A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $FF + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A8A + LDX #^L0C1A8A + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + STA $EE +L0614B1 PEA $0000 + TDC + CLC + ADC #$008A + PHA + JSL L023BE0 + PLY + PLY + TAY + BEQ L0614CD + LDA $8B + AND #$00FF + CMP #$0077 + BEQ L061524 +L0614CD PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEA $0000 + TDC + CLC + ADC #$008A + PHA + JSL L023C7E + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEA $0000 + TDC + CLC + ADC #$008A + PHA + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + LDX L0B0028 + LDA L0B0026 + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + PHX + PHA + JSL L040508 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + BRA L0614B1 +L061524 TSC + CLC + ADC #$0070 + TCS + PLD + RTL + +L06152C ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDA $FF + STA L0B007A + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L061544 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00A0 + TCS + STZ $A2 + STZ $A4 + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L061834 + PLY + PLY + PEA ^L0C27D1 + PEA L0C27D1 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + PHX + PHA + _GetMenuBar + BCS L061584 + LDA #$0000 +L061584 STAL L0B0002 + PLA + PLX + STX $E4 + STA $E2 + JSL L0612B1 + JSL L0311DD +L061596 PEA $0004 + JSL L06078F + PLY + LDA L0B0078 + CMP #$0001 + BEQ L0615B3 + LDA L0B0078 + CMP #$0002 + BEQ L0615B3 + LDA #$0000 + BRA L0615B6 +L0615B3 LDA #$0001 +L0615B6 STA $AC + LDAL L0C1A7A + CMP #$0000 + BNE L0615CC + JSL L0612DE + TAY + BNE L0615CC + LDA $AC + BEQ L061596 +L0615CC JSL L0612DE + TAY + BNE L0615D7 + LDA $AC + BEQ L0615E9 +L0615D7 STZ L0B0076 + STZ L0B0074 + LDA L0B0078 + PHA + JSL L0607BE + PLY + BRL L06181A +L0615E9 LDX #$0000 + TDC + CLC + ADC #$00C6 + STX $C4 + STA $C2 + LDA #L0C1A7A + LDX #^L0C1A7A + STX $C0 + STA $BE + LDA $BE + LDX $C0 + PHX + PHA + LDA $C4 + PHA + LDA $C2 + PHA + PEA $0010 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDAL L0C1A7A + CMP #$0003 + BEQ L061623 + BRL L0616C7 +L061623 STZ $F2 + STZ $F0 + LDA $D4 + AND #$0100 + TAY + BNE L061632 + BRL L0616A1 +L061632 PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEI $E4 + PEI $E2 + _MenuKey + BCS L06164B + LDA #$0000 +L06164B STAL L0B0002 + PHA + PEI $D8 + PEI $D6 + _LoWord + BCS L061660 + LDA #$0000 +L061660 STAL L0B0002 + PLA + STA $F0 + PHA + PEI $D8 + PEI $D6 + _HiWord + BCS L061678 + LDA #$0000 +L061678 STAL L0B0002 + PLA + STA $F2 + LDA $F2 + CMP L0B0074 + BNE L0616A1 + LDA $F0 + CMP L0B0076 + BNE L0616A1 + PEA ^L0C27D3 + PEA L0C27D3 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L0616A1 LDA $F2 + BEQ L0616BA + PEA $0000 + PEI $F2 + _HiliteMenu + BCS L0616B6 + LDA #$0000 +L0616B6 STAL L0B0002 +L0616BA LDA $F2 + STA L0B0074 + LDA $F0 + STA L0B0076 + BRL L06181A +L0616C7 LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PHA + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + _PtInRect + BCS L061703 + LDA #$0000 +L061703 STAL L0B0002 + PLA + TAY + BEQ L06171B + LDA L0B0078 + SEC + SBC #$0000 + BEQ L06172E + BVS L061719 + EOR #$8000 +L061719 BPL L06172E +L06171B LDA L0B0074 + BNE L061725 + LDA L0B0076 + BEQ L06172E +L061725 STZ L0B0074 + STZ L0B0076 + BRL L06181A +L06172E PHX + PHA + _GetTick + BCS L06173C + LDA #$0000 +L06173C STAL L0B0002 + PLA + PLX + STX $A4 + STA $A2 + JSL L061EBD + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEI $E4 + PEI $E2 + _MenuSelect + BCS L061763 + LDA #$0000 +L061763 STAL L0B0002 + JSL L061F5B + PHA + PEI $D8 + PEI $D6 + _LoWord + BCS L06177C + LDA #$0000 +L06177C STAL L0B0002 + PLA + STA $F0 + PHA + PEI $D8 + PEI $D6 + _HiWord + BCS L061794 + LDA #$0000 +L061794 STAL L0B0002 + PLA + STA $F2 + PHX + PHA + _GetTick + BCS L0617A9 + LDA #$0000 +L0617A9 STAL L0B0002 + PLA + PLX + SEC + SBC $A2 + PHA + TXA + SBC $A4 + TAX + PLA + STX $A4 + STA $A2 + LDA $F2 + CMP #$0000 + BNE L0617CA + LDA $F0 + CMP #$0000 + BEQ L061801 +L0617CA LDA $F2 + CMP L0B0074 + BNE L0617EC + LDA $F0 + CMP L0B0076 + BNE L0617EC + PEA ^L0C27D5 + PEA L0C27D5 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L0617EC PEA $0000 + PEI $F2 + _HiliteMenu + BCS L0617FD + LDA #$0000 +L0617FD STAL L0B0002 +L061801 LDA $F2 + CMP #$0000 + BNE L061810 + LDA L0B0074 + CMP #$0000 + BNE L061815 +L061810 LDA $F2 + STA L0B0074 +L061815 LDA $F0 + STA L0B0076 +L06181A LDX $A4 + LDA $A2 + PHA + PEA $0000 + JSL L0251CD + PLY + PLY + JSL L031208 + TSC + CLC + ADC #$005A + TCS + PLD + RTL + +L061834 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + LDA #$03E8 + PHA + LDA L0B0076 + SEC + JSL L01092D + PLY + STA L0B0074 + LDA #$0000 + STA [$FD] + LDA #$0000 + LDY #$0002 + STA [$FD],Y + LDA #$0001 + STA $F0 + BRA L061888 +L061863 PHA + PEI $F0 + _GetMTitleWidth + BCS L061872 + LDA #$0000 +L061872 STAL L0B0002 + LDY #$0002 + LDA [$FD],Y + PLX + STX $F6 + CLC + ADC $F6 + LDY #$0002 + STA [$FD],Y + INC $F0 +L061888 LDA $F0 + SEC + SBC L0B0074 + BVS L061893 + EOR #$8000 +L061893 BPL L061863 + PHA + _GetMTitleStart + BCS L0618A2 + LDA #$0000 +L0618A2 STAL L0B0002 + LDY #$0002 + LDA [$FD],Y + PLX + STX $F6 + CLC + ADC $F6 + LDY #$0002 + STA [$FD],Y + PHA + LDA L0B0074 + PHA + _GetMTitleWidth + BCS L0618C7 + LDA #$0000 +L0618C7 STAL L0B0002 + LDY #$0002 + LDA [$FD],Y + PLX + STX $F6 + CLC + ADC $F6 + LDY #$0006 + STA [$FD],Y + LDA L0B00B9 + LDY #$0004 + STA [$FD],Y + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0618EB ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00CB + TCS + STZ L0B0078 + PEA $0000 + TDC + CLC + ADC #$00D9 + PHA + _GetPen + BCS L06190E + LDA #$0000 +L06190E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E5 + PHA + PEI $DB + LDA $D9 + SEC + SBC L0B0070 + CLC + ADC #$0001 + PHA + LDAL L0C0F80 + SEC + SBC #$0001 + PHA + LDA $D9 + CLC + ADC #$0001 + PHA + _SetRect + BCS L061944 + LDA #$0000 +L061944 STAL L0B0002 + LDX #$0000 + TDC + CLC + ADC #$00E5 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00DD + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDAL L0C1AA2 + BEQ L061970 + BRL L0619EF +L061970 STZ $EF + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + SEC + SBC #$0000 + BEQ L0619B9 + BVS L061989 + EOR #$8000 +L061989 BPL L0619B9 + PHA + PEA ^L0C11BB + PEA L0C11BB + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + PHA + _TextWidth + BCS L0619AB + LDA #$0000 +L0619AB STAL L0B0002 + LDA $EF + PLX + STX $FA + CLC + ADC $FA + STA $EF +L0619B9 LDA $DB + CLC + ADC $EF + CLC + ADC #$0001 + PHA + LDAL L0C0F80 + SEC + SBC #$0001 + PLX + STX $F6 + SEC + SBC $F6 + BEQ L0619E5 + BVS L0619D8 + EOR #$8000 +L0619D8 BPL L0619E5 + LDA $DB + CLC + ADC $EF + CLC + ADC #$0001 + BRA L0619ED +L0619E5 LDAL L0C0F80 + SEC + SBC #$0001 +L0619ED STA $E3 +L0619EF PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E5 + PHA + PEA $0000 + TDC + CLC + ADC #$00DD + PHA + PEA $0066 + _LENew + BCS L061A12 + LDA #$0000 +L061A12 STAL L0B0002 + PLA + PLX + STX $D7 + STA $D5 + PEA $05DD + JSL L021DFD + PLY + PEA ^L0C11BB + PEA L0C11BB + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + PHA + PEI $D7 + PEI $D5 + _LEInsert + BCS L061A47 + LDA #$0000 +L061A47 STAL L0B0002 + PEA $05E3 + JSL L021DFD + PLY + LDAL L0C1AA8 + PHA + LDAL L0C1AA8 + PHA + PEI $D7 + PEI $D5 + _LESetSelect + BCS L061A6D + LDA #$0000 +L061A6D STAL L0B0002 + PEA $05E5 + JSL L021DFD + PLY + PEI $D7 + PEI $D5 + _LEActivate + BCS L061A89 + LDA #$0000 +L061A89 STAL L0B0002 + PEA $05E7 + JSL L021DFD + PLY + JSL L0612B1 + JSL L0311DD + LDA #$0001 + SEP #$20 + STA $F5 + REP #$20 +L061AA6 PEI $D7 + PEI $D5 + _LEIdle + BCS L061AB6 + LDA #$0000 +L061AB6 STAL L0B0002 + JSL L06063A + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + JSL L0612DE + TAY + BNE L061B09 + JSL L04169A + TAY + BNE L061B09 + LDA L0B0078 + CMP #$0003 + BNE L061B12 + LDAL L0C1A7A + CMP #$0000 + BEQ L061B12 +L061B09 SEP #$20 + STZ $F5 + REP #$20 + BRL L061D06 +L061B12 LDAL L0C1A7A + CMP #$0003 + BEQ L061B27 + LDAL L0C1A7A + CMP #$0005 + BEQ L061B27 + BRL L061D06 +L061B27 LDAL L0C1A88 + AND #$1000 + TAY + BEQ L061B34 + BRL L061D06 +L061B34 LDA #$0001 + SEP #$20 + STA $F3 + REP #$20 + LDAL L0C1A7E + TAX + LDAL L0C1A7C + AND #$00FF + PHA + TXA + AND #$0000 + TAX + PLA + STA $ED + LDAL L0C1A88 + STA $F1 + LDAL L0C1AAC + BEQ L061B7F + LDA $ED + CMP #$007F + BEQ L061B76 + SEP #$20 + STZ $F5 + REP #$20 + LDAL L0C1AAE + INC + STAL L0C1AAE + BRA L061B7F +L061B76 LDAL L0C1AAE + DEC + STAL L0C1AAE +L061B7F LDA $ED + CMP #$000A + BEQ L061B8D + LDA $ED + CMP #$000D + BNE L061B99 +L061B8D SEP #$20 + STZ $F5 + REP #$20 + SEP #$20 + STZ $F3 + REP #$20 +L061B99 LDAL L0C1AA6 + BEQ L061BAB + SEP #$20 + STZ $F3 + REP #$20 + SEP #$20 + STZ $F5 + REP #$20 +L061BAB LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + CLC + ADC #$0001 + PHA + LDAL L0C1A9A + PLX + STX $F6 + CMP $F6 + BEQ L061BCE + BCS L061BDD +L061BCE LDAL L0C1AB0 + CMP #$0001 + BNE L061BDD + SEP #$20 + STZ $F5 + REP #$20 +L061BDD LDA $ED + CMP #$007F + BEQ L061BEB + LDA $ED + CMP #$0008 + BNE L061BFF +L061BEB LDA #$0001 + SEP #$20 + STA $F3 + REP #$20 + LDA #$0001 + SEP #$20 + STA $F5 + REP #$20 + BRA L061C1B +L061BFF LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + CMP #$0064 + BCC L061C1B + SEP #$20 + STZ $F3 + REP #$20 +L061C1B LDAL L0C1AA2 + BEQ L061C24 + BRL L061CC6 +L061C24 LDA $F3 + AND #$00FF + BNE L061C2E + BRL L061CC6 +L061C2E LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STX $D3 + STA $D1 + PHA + PEA $0000 + TDC + CLC + ADC #$00ED + PHA + PEA $0001 + _TextWidth + BCS L061C53 + LDA #$0000 +L061C53 STAL L0B0002 + PHA + LDY #$0002 + LDA [$D1],Y + TAX + LDA [$D1] + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + PHX + PHA + LDY #$0004 + LDA [$D1],Y + PHA + _TextWidth + BCS L061C80 + LDA #$0000 +L061C80 STAL L0B0002 + PLA + PLX + STX $FA + CLC + ADC $FA + STA $EF + LDA $DB + CLC + ADC $EF + CLC + ADC #$0001 + PHA + LDAL L0C0F80 + SEC + SBC #$0001 + PLX + STX $F6 + SEC + SBC $F6 + BEQ L061CB9 + BVS L061CAC + EOR #$8000 +L061CAC BPL L061CB9 + LDA $DB + CLC + ADC $EF + CLC + ADC #$0001 + BRA L061CC1 +L061CB9 LDAL L0C0F80 + SEC + SBC #$0001 +L061CC1 LDY #$0016 + STA [$D1],Y +L061CC6 LDA $F3 + AND #$00FF + BEQ L061CE5 + PEI $ED + PEI $F1 + PEI $D7 + PEI $D5 + _LEKey + BCS L061CE1 + LDA #$0000 +L061CE1 STAL L0B0002 +L061CE5 LDAL L0C1AAA + BEQ L061CF1 + SEP #$20 + STZ $F5 + REP #$20 +L061CF1 LDAL L0C1AAC + BEQ L061D06 + LDAL L0C1AAE + CMP #$0000 + BNE L061D06 + SEP #$20 + STZ $F5 + REP #$20 +L061D06 LDA $F5 + AND #$00FF + BEQ L061D10 + BRL L061AA6 +L061D10 LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STX $CF + STA $CD + LDAL L0C1A9C + BEQ L061D88 + LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + CMPL L0C1A9A + BEQ L061D59 + BCC L061D59 + LDAL L0C1A9A + BRA L061D6A +L061D59 LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y +L061D6A LDX #$0000 + PHX + PHA + LDX $CF + LDA $CD + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + SEP #$20 + STA [$F6] + REP #$20 + BRA L061DD2 +L061D88 LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + CMP #$0031 + BEQ L061DA5 + BCC L061DA5 + LDA #$0031 + BRA L061DB6 +L061DA5 LDY #$0002 + LDA [$D5],Y + TAX + LDA [$D5] + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y +L061DB6 LDX #$0000 + PHX + PHA + LDX $CF + LDA $CD + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + SEP #$20 + STA [$F6] + REP #$20 +L061DD2 PEI $CF + PEI $CD + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $CF + PEI $CD + PEA ^L0C11BB + PEA L0C11BB + JSL L0110F7 + PLY + PLY + PLY + PLY + JSL L031208 + LDAL L0C1AA4 + BNE L061E03 + BRL L061E7C +L061E03 PEA $0020 + PEA $0000 + PEA ^L0C1188 + PEA L0C1188 + JSL L024161 + PLY + PLY + PLY + PLY + STA $EF + PEI $EF + PEA $0000 + PEA ^L0C1188 + PEA L0C1188 + JSL L02456E + PLY + PLY + PLY + PLY + PEA $0020 + PEA ^L0C1188 + PEA L0C1188 + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + PEA ^L0C1188 + PEA L0C1188 + JSL L024161 + PLY + PLY + PLY + PLY + STA $EF + LDA $EF + CLC + ADC #$0001 + STA $EF + PEA ^L0C1188 + PEA L0C1188 + JSL L010D87 + PLY + PLY + SEC + SBC $EF + PHA + PEI $EF + PEA ^L0C1188 + PEA L0C1188 + JSL L02456E + PLY + PLY + PLY + PLY +L061E7C LDA L0B009C + BEQ L061E8D + PEA ^L0C1188 + PEA L0C1188 + JSL L0242F7 + PLY + PLY +L061E8D PEI $D7 + PEI $D5 + _LEDeactivate + BCS L061E9D + LDA #$0000 +L061E9D STAL L0B0002 + PEI $D7 + PEI $D5 + _LEDispose + BCS L061EB1 + LDA #$0000 +L061EB1 STAL L0B0002 + TSC + CLC + ADC #$002F + TCS + PLD + RTL + +L061EBD PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + _HideCursor + BCS L061ED4 + LDA #$0000 +L061ED4 STAL L0B0002 + PEA $0000 + PEA $027F + PEA $0000 + PEA $00C7 + _ClampMouse + BCS L061EF0 + LDA #$0000 +L061EF0 STAL L0B0002 + PEA $0001 + PEA $0000 + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + PEA $8000 + _FakeMouse + BCS L061F13 + LDA #$0000 +L061F13 STAL L0B0002 + _InitCursor + BCS L061F23 + LDA #$0000 +L061F23 STAL L0B0002 + LDX L0B00DF + LDA L0B00DD + PHX + PHA + _SetCursor + BCS L061F3B + LDA #$0000 +L061F3B STAL L0B0002 + JSL L0620B1 + _ShowCursor + BCS L061F4F + LDA #$0000 +L061F4F STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L061F5B PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L06204F + _HideCursor + BCS L061F76 + LDA #$0000 +L061F76 STAL L0B0002 + PEA ^L0C1A84 + PEA L0C1A84 + _GetMouse + BCS L061F8C + LDA #$0000 +L061F8C STAL L0B0002 + PEA $0000 + PEA $013F + PEA $0000 + PEA $00C7 + _ClampMouse + BCS L061FA8 + LDA #$0000 +L061FA8 STAL L0B0002 + LDA #$0002 + PHA + LDAL L0C1A86 + SEC + JSL L01092D + PLY + STAL L0C1A86 + PEA $0000 + _SetMasterSCB + BCS L061FCD + LDA #$0000 +L061FCD STAL L0B0002 + PEA $0001 + PEA $0000 + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + PEA $8000 + _FakeMouse + BCS L061FF0 + LDA #$0000 +L061FF0 STAL L0B0002 + LDX L0B00DF + LDA L0B00DD + PHX + PHA + _SetCursor + BCS L062008 + LDA #$0000 +L062008 STAL L0B0002 + _InitCursor + BCS L062018 + LDA #$0000 +L062018 STAL L0B0002 + PEA $0080 + _SetMasterSCB + BCS L06202B + LDA #$0000 +L06202B STAL L0B0002 + PHA + PEA $00FF + PEA $0000 + _FlushEvents + BCS L062042 + LDA #$0000 +L062042 STAL L0B0002 + PLA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L06204F ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00D7 + LDA L0B00D5 + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STX L0B00D3 + STA L0B00D1 + LDX #$0000 + LDA #$0008 + PHX + PHA + LDA #L0620DE + LDX #^L0620DE + SEC + JSL L010CB2 + PLA + PLX + ORA #$005C + PHA + TXA + ORA #$0000 + TAX + PLA + PHX + PHA + LDX L0B00D7 + LDA L0B00D5 + STA $F6 + STX $F8 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0620B1 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00D7 + LDA L0B00D5 + STA $F6 + STX $F8 + LDX L0B00D3 + LDA L0B00D1 + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0620DE PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00E8 + TCS + LDX L0B00CF + LDA L0B00CD + STX $F4 + STA $F2 + LDA $F2 + LDX $F4 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA #$0002 + PHA + LDY #$0002 + LDA [$F2],Y + SEC + JSL L01092D + PLY + LDY #$0002 + STA [$F2],Y + LDA #$0002 + PHA + LDY #$0006 + LDA [$F2],Y + SEC + JSL L01092D + PLY + LDY #$0006 + STA [$F2],Y + PHD + LDAL L0B00CD + TCD + JSL L0B00D1 + PLD + LDX #$0000 + TDC + CLC + ADC #$00EA + PHX + PHA + LDA $F4 + PHA + LDA $F2 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + TSC + CLC + ADC #$0012 + TCS + PLD + RTL + diff --git a/yourtour/FIVE.X.S b/yourtour/FIVE.X.S new file mode 100644 index 0000000..1d6795c --- /dev/null +++ b/yourtour/FIVE.X.S @@ -0,0 +1,112 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L010B98 + EXT L0B0002 + EXT L023C7E + EXT L021DFD + EXT L02456E + EXT L0244F2 + EXT L023BE0 + EXT L0251CD + EXT L0242F7 + EXT L024078 + EXT L024161 + EXT L01092D + EXT L010AAE + EXT L010D87 + EXT L03117F + EXT L0311AA + EXT L010BC3 + EXT L0C1AB0 + EXT L0C1AA6 + EXT L0C1A9A + EXT L0C0F7E + EXT L0C0F7C + EXT L040728 + EXT L031208 + EXT L0C1A86 + EXT L0C1A84 + EXT L0C1AA2 + EXT L0C1A9C + EXT L0B0078 + EXT L0B0076 + EXT L0B00C7 + EXT L0B0070 + EXT L0B009C + EXT L0B009E + EXT L0B0096 + EXT L0B00A0 + EXT L0B009A + EXT L0B00A2 + EXT L0B00B2 + EXT L0B0074 + EXT L0B007C + EXT L0C1A7A + EXT L0C11BB + EXT L0C072F + EXT L0C0EF2 + EXT L0C1AA4 + EXT L0C1188 + EXT L0C0F82 + EXT L0311DD + EXT L010CB2 + EXT L0B00DF + EXT L0B00DD + EXT L0B0062 + EXT L0B0064 + EXT L0C0F9A + EXT L0B00B9 + EXT L0B007E + EXT L0109B2 + EXT L04169A + EXT L0C0F80 + EXT L0C0D1E + EXT L0C0D1C + EXT L0C1A88 + EXT L0C1A7E + EXT L0C1A7C + EXT L040508 + EXT L0C1AA8 + EXT L0C1AAC + EXT L0C1AAE + EXT L0C1AAA + EXT L0B00CD + EXT L0B00D1 + EXT L0B00C9 + EXT L0B00AC + EXT L0B00C1 + EXT L0B00B5 + EXT L0B00B3 + EXT L0B00CB + EXT L0B00C5 + EXT L0B0080 + EXT L0B007A + EXT L0B0028 + EXT L0B0026 + EXT L0B00D7 + EXT L0B00D5 + EXT L0B00D3 + EXT L0B00CF + EXT L0C10BA + EXT L0C2699 + EXT L0C26A3 + EXT L0C26C7 + EXT L0C26F4 + EXT L0C2739 + EXT L0C276A + EXT L0C279C + EXT L0C27AF + EXT L0C27B5 + EXT L0C27BF + EXT L0C27D7 + EXT L0C27C9 + EXT L0C27CE + EXT L0C1A8A + EXT L0C27D1 + EXT L0C27D3 + EXT L0C27D5 diff --git a/yourtour/FOUR.S b/yourtour/FOUR.S new file mode 100644 index 0000000..2188e97 --- /dev/null +++ b/yourtour/FOUR.S @@ -0,0 +1,2061 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use FOUR.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/NoteSeq.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Sound.Macs + use 4/Util.Macs + +*------------------------------- + +L050000 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00BC + TCS + STZ $C4 + LDA #$FFFF + STA $C2 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + JSL L0503D4 + TAY + BEQ L050040 + PEA $0000 + _StopSeq + BCS L050038 + LDA #$0000 +L050038 STAL L0B0002 + JSL L05039A +L050040 LDA L0B0084 + BEQ L050048 + BRL L05016F +L050048 LDA L0B0082 + STA $C4 + PEA $8100 + LDA $C4 + CLC + ADC #$0004 + LDX #$0000 + TAY + BPL L05005D + DEX +L05005D PHX + PHA + LDX #$0000 + LDA #$0004 + SEC + JSL L010AF3 + LDX L0B0054 + LDA L0B0052 + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDX L0B0054 + LDA L0B0052 + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + STX $CA + STA $C8 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$C8],Y + PLA + STA [$C8] + LDA #$0001 + STA $C6 + BRA L0500F0 +L0500A8 JSL L040619 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L01020C + PLY + PLY + PLY + PLY + PHX + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L0500CF + DEX +L0500CF SEC + JSL L010CB2 + LDX $CA + LDA $C8 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$EE],Y + PLA + STA [$EE] + INC $C6 +L0500F0 LDA $C6 + SEC + SBC $C4 + BEQ L0500A8 + BVS L0500FC + EOR #$8000 +L0500FC BPL L0500A8 + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $C4 + LDX #$0000 + TAY + BPL L05010F + DEX +L05010F SEC + JSL L010CB2 + LDX $CA + LDA $C8 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDX #$0000 + LDA #$0002 + LDY #$0006 + PHA + TXA + STA [$EE],Y + PLA + LDY #$0004 + STA [$EE],Y + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $C4 + LDX #$0000 + TAY + BPL L050146 + DEX +L050146 SEC + JSL L010CB2 + LDX $CA + LDA $C8 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDX #$FFFF + LDA #$FFFF + LDY #$000A + PHA + TXA + STA [$EE],Y + PLA + LDY #$0008 + STA [$EE],Y + BRL L050259 +L05016F PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + PEA ^L0C25B1 + PEA L0C25B1 + JSL L025330 + PLY + PLY + PLY + PLY + PEA ^L0C25B6 + PEA L0C25B6 + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + JSL L0252AD + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + JSL L040E53 + PLY + PLY + STA $C2 + LDA $C2 + SEC + SBC #$0000 + BVS L0501D0 + EOR #$8000 +L0501D0 BMI L0501D5 + BRL L050259 +L0501D5 LDA $C2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0004 + LDA [$EE],Y + TAX + LDY #$0002 + LDA [$EE],Y + STX $C0 + STA $BE + PHX + PHA + PEI $C0 + PEI $BE + _GetHandleSize + BCS L050217 + LDA #$0000 +L050217 STAL L0B0002 + PLA + PLX + STX $CE + STA $CC + PEA $8100 + PEI $CE + PEI $CC + LDX L0B0054 + LDA L0B0052 + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $C0 + PEI $BE + LDX L0B0054 + LDA L0B0052 + PHX + PHA + PEI $CE + PEI $CC + _HandToHand + BCS L050255 + LDA #$0000 +L050255 STAL L0B0002 +L050259 LDA $C2 + SEC + SBC #$0000 + BVS L050264 + EOR #$8000 +L050264 BMI L05026A + LDA $C4 + BEQ L05029C +L05026A LDX L0B0054 + LDA L0B0052 + PHX + PHA + _HLock + BCS L05027E + LDA #$0000 +L05027E STAL L0B0002 + LDX L0B0054 + LDA L0B0052 + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + PHX + PHA + JSL L0502A4 + PLY + PLY +L05029C TSC + CLC + ADC #$0036 + TCS + PLD + RTL + +L0502A4 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + LDX L0B0058 + LDA L0B0056 + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + STX $F0 + STA $EE + LDX #$0000 + LDA #$0001 + LDY #$0002 + PHA + TXA + STA [$EE],Y + PLA + STA [$EE] + LDX $FF + LDA $FD + LDY #$0006 + PHA + TXA + STA [$EE],Y + PLA + LDY #$0004 + STA [$EE],Y + LDX #$FFFF + LDA #$FFFF + LDY #$000A + PHA + TXA + STA [$EE],Y + PLA + LDY #$0008 + STA [$EE],Y + STZ L0B00E9 + LDA #$0000 + STAL L0C24F0 + LDA #$0000 + STAL L0C24EE + LDA #$0000 + STAL L0C24F2 + LDX L0B0058 + LDA L0B0056 + PHX + PHA + _HLock + BCS L050325 + LDA #$0000 +L050325 STAL L0B0002 + LDX L0B0054 + LDA L0B0052 + PHX + PHA + _HLock + BCS L05033D + LDA #$0000 +L05033D STAL L0B0002 + LDAL $333333 + PEA ^L05037D + PEA L05037D + PEA ^L05039A + PEA L05039A + LDX L0B0058 + LDA L0B0056 + PHX + PHA + _StartSeq + BCS L050365 + LDA #$0000 +L050365 STAL L0B0002 + LDAL $444444 + PEA $6590 + JSL L021DFD + PLY + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L05037D STA L0B00E9 + PHA + PHA + PHA + _GetLoc + PLA + STAL L0C24F0 + PLA + STAL L0C24EE + PLA + STAL L0C24F2 + RTL + +L05039A LDA L0B0054 + PHA + LDA L0B0052 + PHA + _HUnlock + LDA L0B0054 + PHA + LDA L0B0052 + PHA + _PurgeHandle + LDA L0B0058 + PHA + LDA L0B0056 + PHA + _HUnlock + LDA L0B00AE + BNE L0503D3 + _StopInts +L0503D3 RTL + +L0503D4 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00BF + LDA L0B00BD + STA $F6 + STX $F8 + LDA [$F6] + CMP #$0000 + BEQ L0503F5 + LDA #$0000 + BRA L0503F8 +L0503F5 LDA #$0001 +L0503F8 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L050402 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EA + TCS + LDA #$FFFF + STA $F0 + STZ $EE + STZ $EC +L050416 LDA $EE + SEC + SBC #$0010 + BVS L050421 + EOR #$8000 +L050421 BMI L050473 + LDA $EC + BNE L050473 + PEI $FF + PEI $FD + LDA $EE + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L050457 + INX +L050457 PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L05046F + LDA #$0001 + STA $EC + LDA $EE + STA $F0 + BRA L050471 +L05046F INC $EE +L050471 BRA L050416 +L050473 LDA $F0 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PLD + RTL + +L05047F PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00A2 + TCS + STZ $DE + LDA #$0008 + STA $DC + LDA #$0001 + STA $DA + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + JSL L0242F7 + PLY + PLY + PEA ^L0C25BC + PEA L0C25BC + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + JSL L0252AD + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + PEA ^L0C25C2 + PEA L0C25C2 + JSL L025330 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L050402 + PLY + PLY + STA $F0 + SEC + SBC #$0000 + BVS L0504FD + EOR #$8000 +L0504FD BPL L050502 + BRL L0509E2 +L050502 PEA $0000 + TDC + CLC + ADC #$00A4 + PHA + JSL L040E53 + PLY + PLY + STA $E8 + LDA $E8 + SEC + SBC #$0000 + BVS L05051E + EOR #$8000 +L05051E BMI L050523 + BRL L0509E2 +L050523 LDA $E8 + SEC + SBC #$0032 + BVS L05052E + EOR #$8000 +L05052E BPL L050533 + BRL L0509E2 +L050533 PHX + PHA + LDA $E8 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + PHX + PHA + _GetHandleSize + BCS L05056F + LDA #$0000 +L05056F STAL L0B0002 + PLA + PLX + STX $D8 + STA $D6 + LDA #$0000 + SEP #$20 + STA $AE + REP #$20 + PEA $0000 + TDC + CLC + ADC #$00AA + PHA + PEA ^L0C25C7 + PEA L0C25C7 + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0505A1 + LDA #$0000 + BRA L0505A4 +L0505A1 LDA #$0001 +L0505A4 STA $E0 + SEC + LDA $D6 + SBC #$1000 + BNE L0505B5 + LDA $D8 + SBC #$0000 + BRA L0505BC +L0505B5 LDA $D8 + SBC #$0000 + REP #$02 +L0505BC BEQ L0505D3 + BVS L0505C3 + EOR #$8000 +L0505C3 BPL L0505D3 + LDA $E0 + BNE L0505D3 + LDA #$0001 + STA $DE + LDA #$0004 + STA $DC +L0505D3 SEC + LDA $D6 + SBC #$2000 + BNE L0505E2 + LDA $D8 + SBC #$0000 + BRA L0505E9 +L0505E2 LDA $D8 + SBC #$0000 + REP #$02 +L0505E9 BEQ L0505F2 + BVS L0505F0 + EOR #$8000 +L0505F0 BMI L0505F6 +L0505F2 LDA $E0 + BEQ L0505FB +L0505F6 LDA #$0002 + STA $DA +L0505FB LDA $DE + CMP #$0000 + BEQ L050605 + BRL L0506D6 +L050605 LDA $E0 + BEQ L05062D + LDA #$0002 + PHA + LDA L0B00E3 + SEC + JSL L01092D + PLA + TAY + BEQ L05062D + LDA #$0008 + PHA + LDA L0B00E3 + INC + STA L0B00E3 + SEC + JSL L01092D + PLA + STA L0B00E3 +L05062D LDA L0B00E3 + STA $EA + LDA $E0 + BNE L050639 + BRL L0506BF +L050639 PEA ^L0C25CC + PEA L0C25CC + LDA L0B00E3 + INC + STA L0B00E3 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L050670 + INX +L050670 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA L0B00E3 + ASL + ASL + ASL + ASL + PHA + LDA L0B00E3 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + LDA #$0008 + PHA + LDA L0B00E3 + INC + STA L0B00E3 + SEC + JSL L01092D + PLA + STA L0B00E3 +L0506BF LDA #$0008 + PHA + LDA L0B00E3 + INC + STA L0B00E3 + SEC + JSL L01092D + PLA + STA L0B00E3 + BRL L0507A9 +L0506D6 LDA $DA + CMP #$0002 + BNE L050701 + LDA #$0002 + PHA + LDA L0B00E1 + SEC + JSL L01092D + PLA + TAY + BEQ L050701 + LDA #$0004 + PHA + LDA L0B00E1 + INC + STA L0B00E1 + SEC + JSL L01092D + PLA + STA L0B00E1 +L050701 LDA L0B00E1 + ASL + PHA + LDA #$0008 + PLX + STX $F6 + CLC + ADC $F6 + STA $EA + LDA $DA + CMP #$0002 + BEQ L05071B + BRL L050795 +L05071B PEA ^L0C25D4 + PEA L0C25D4 + LDA $EA + CLC + ADC #$0002 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L050751 + INX +L050751 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $EA + CLC + ADC #$0002 + ASL + ASL + ASL + ASL + PHA + LDA $EA + CLC + ADC #$0002 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + INC L0B00E1 +L050795 LDA #$0004 + PHA + LDA L0B00E1 + INC + STA L0B00E1 + SEC + JSL L01092D + PLA + STA L0B00E1 +L0507A9 PEA ^L0C25DC + PEA L0C25DC + LDA $EA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L0507DB + INX +L0507DB PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L050827 + PEA ^L0C25E4 + PEA L0C25E4 + LDA $EA + SEC + SBC $DA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L05081D + INX +L05081D PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY +L050827 PEI $FF + PEI $FD + LDA $EA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0002 + BCC L050857 + INX +L050857 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $EA + ASL + ASL + ASL + ASL + PHA + LDA $EA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + PHP + SEI + LDA $E8 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + PHX + PHA + LDA $EA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + PHA + LDA #$0100 + CLC + JSL L010AAE + LDX $D8 + LDA $D6 + PHA + _WriteRamBlock + BCS L05090C + LDA #$0000 +L05090C STAL L0B0002 + PEA $0308 + JSL L021DFD + PLY + PHA + PEA $0000 + _GetSoundVolume + BCS L050928 + LDA #$0000 +L050928 STAL L0B0002 + PLA + PEA $0309 + JSL L021DFD + PLY + PLP + LDX #$0000 + LDA #$0100 + PHX + PHA + LDX $D8 + LDA $D6 + SEC + JSL L0109B2 + PLY + PLY + STA $E6 + LDA #$0002 + PHA + LDA $E6 + SEC + JSL L01092D + PLA + TAY + BEQ L05096B + LDA $E6 + SEC + SBC #$0001 + BEQ L05096B + BVS L050967 + EOR #$8000 +L050967 BPL L05096B + INC $E6 +L05096B LDA $E6 + STA $EC + STZ $E4 +L050971 LDA $EC + SEC + SBC #$0001 + BEQ L050992 + BVS L05097E + EOR #$8000 +L05097E BPL L050992 + LDA #$0002 + PHA + LDA $EC + SEC + JSL L01092D + PLY + STA $EC + INC $E4 + BRA L050971 +L050992 LDA $E4 + PHA + LDA #$0001 + SEC + JSL L010CA2 + PLA + SEC + SBC $E6 + BVS L0509A6 + EOR #$8000 +L0509A6 BMI L0509AA + INC $E4 +L0509AA LDA $E4 + ASL + ASL + ASL + CLC + ADC $E4 + PHA + LDA $EA + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + LDY #$0001 + STA [$F2],Y + REP #$20 + LDA $EA + STA $F0 +L0509E2 LDA $F0 + TAY + TSC + CLC + ADC #$0054 + TCS + TYA + PLD + RTL + +L0509EE ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$004E + TCS + STZ $EC + STZ $E6 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$0050 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00B4 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$0082 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$0082 + PHA + PEA $0000 + TDC + CLC + ADC #$00B4 + PHA + PEA $0000 + TDC + CLC + ADC #$0050 + PHA + PEI $EA + JSL L050AB8 + TAY + TSC + CLC + ADC #$000E + TCS + TYA + TSC + CLC + ADC #$00A4 + TCS + PLD + RTL + +L050AB8 PHD + TSC + SEC + SBC #$00ED + TCD + ADC #$00AA + TCS + STZ $E6 + STZ $E0 + PEI $F7 + PEI $F5 + PEA $0000 + TDC + CLC + ADC #$00AC + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00AC + PHA + PEA ^L0C25E5 + PEA L0C25E5 + JSL L025330 + PLY + PLY + PLY + PLY + PEA ^L0C25EA + PEA L0C25EA + PEA $0000 + TDC + CLC + ADC #$00AC + PHA + JSL L0252AD + PLY + PLY + PLY + PLY +L050B0A LDA $E6 + SEC + SBC #$0008 + BVS L050B15 + EOR #$8000 +L050B15 BMI L050B50 + LDA $E0 + BNE L050B50 + PEI $F7 + PEI $F5 + LDA $E6 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2416 + LDX #^L0C2416 + JSL L010922 + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L050B4C + LDA #$0001 + STA $E0 + BRA L050B4E +L050B4C INC $E6 +L050B4E BRA L050B0A +L050B50 LDA $E0 + BEQ L050BAF + LDA $E6 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA $E8 + LDX $EA + PHX + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PEI $EA + PEI $E8 + PEA $0040 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + BRL L050C6D +L050BAF PEA $0000 + TDC + CLC + ADC #$00AC + PHA + JSL L040E53 + PLY + PLY + STA $E2 + LDA $E2 + SEC + SBC #$0000 + BVS L050BCB + EOR #$8000 +L050BCB BMI L050BD0 + BRL L050C6D +L050BD0 LDA $E2 + SEC + SBC #$0032 + BVS L050BDB + EOR #$8000 +L050BDB BPL L050BE0 + BRL L050C6D +L050BE0 LDA $E2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0004 + LDA [$E8],Y + TAX + LDY #$0002 + LDA [$E8],Y + PHX + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PEA $0000 + PEA $002C + _HandToPtr + BCS L050C3B + LDA #$0000 +L050C3B STAL L0B0002 + PEA $0308 + JSL L021DFD + PLY + LDA $E2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA #$0032 + STA [$E8] +L050C6D PEI $FB + PEI $F9 + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA $E8 + LDX $EA + CLC + ADC #$002C + BCC L050C9D + INX +L050C9D PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C25F0 + PEA L0C25F0 + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L050CCC + PEI $FB + PEI $F9 + PEI $FF + PEI $FD + JSL L0110F7 + PLY + PLY + PLY + PLY +L050CCC PEI $FF + PEI $FD + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA $E8 + LDX $EA + CLC + ADC #$0036 + BCC L050CFC + INX +L050CFC PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $E0 + BNE L050D1A + LDA $E2 + SEC + SBC #$0000 + BVS L050D15 + EOR #$8000 +L050D15 BMI L050D1A + BRL L050FAB +L050D1A PEI $F7 + PEI $F5 + LDA $F3 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2416 + LDX #^L0C2416 + JSL L010922 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0021 + LDA [$E8],Y + AND #$00FF + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0027 + LDA [$E8],Y + AND #$00FF + PLX + STX $EC + SEC + SBC $EC + STA $DE + PEI $FB + PEI $F9 + JSL L05047F + PLY + PLY + STA $E6 + LDA $E6 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PLA + SEP #$20 + LDY #$0021 + STA [$E8],Y + REP #$20 + LDA $E6 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0001 + LDA [$E8],Y + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PLA + SEP #$20 + LDY #$0022 + STA [$E8],Y + REP #$20 + STZ $E4 +L050E4B LDA $E4 + LDX #$0000 + TAY + BPL L050E54 + DEX +L050E54 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + AND #$00FF + CMP #$002E + BEQ L050E7F + LDA $E4 + SEC + SBC #$0032 + BVS L050E79 + EOR #$8000 +L050E79 BMI L050E7F + INC $E4 + BRA L050E4B +L050E7F LDA $E4 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L050E8C + DEX +L050E8C PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + AND #$00FF + CMP #$006C + BNE L050EFE + LDA $E6 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + AND #$00FF + CLC + ADC $DE + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PLA + SEP #$20 + LDY #$0027 + STA [$E8],Y + REP #$20 + BRL L050FAB +L050EFE PEI $FF + PEI $FD + JSL L05047F + PLY + PLY + STA $E6 + LDA $E6 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDA [$E8] + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PLA + SEP #$20 + LDY #$0027 + STA [$E8],Y + REP #$20 + LDA $E6 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + LDY #$0001 + LDA [$E8],Y + PHA + LDA $F3 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + PLA + PLX + STA $E8 + STX $EA + PLA + SEP #$20 + LDY #$0028 + STA [$E8],Y + REP #$20 +L050FAB TSC + CLC + ADC #$0042 + TCS + PLD + RTL + +L050FB3 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PHA + PEA $0247 + PEA $0000 + _FlushEvents + BCS L050FD1 + LDA #$0000 +L050FD1 STAL L0B0002 + PLA +L050FD6 JSL L06063A + JSL L0503D4 + TAY + BEQ L051006 + JSL L04169A + TAY + BNE L051006 + PHA + PEA $046E + PEA ^L0C1A7A + PEA L0C1A7A + _EventAvail + BCS L050FFE + LDA #$0000 +L050FFE STAL L0B0002 + PLA + TAY + BEQ L050FD6 +L051006 PHA + PEA $0247 + PEA $0000 + _FlushEvents + BCS L051019 + LDA #$0000 +L051019 STAL L0B0002 + PLA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + diff --git a/yourtour/FOUR.X.S b/yourtour/FOUR.X.S new file mode 100644 index 0000000..601e0ad --- /dev/null +++ b/yourtour/FOUR.X.S @@ -0,0 +1,60 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L0B0002 + EXT L040619 + EXT L024DE0 + EXT L0B0082 + EXT L021DFD + EXT L025330 + EXT L0242F7 + EXT L01092D + EXT L010DD9 + EXT L010AAE + EXT L010AF3 + EXT L0C10BE + EXT L010BC3 + EXT L040E53 + EXT L01020C + EXT L040000 + EXT L0B0084 + EXT L0C1A7A + EXT L0C1AB2 + EXT L010CB2 + EXT L06063A + EXT L0252AD + EXT L010CA2 + EXT L0C24F0 + EXT L0C24EE + EXT L0C24F2 + EXT L0109B2 + EXT L04169A + EXT L0B0054 + EXT L0B0052 + EXT L0B0058 + EXT L0B0056 + EXT L0B00E9 + EXT L0B00AE + EXT L0B00BF + EXT L0B00BD + EXT L0B00E3 + EXT L0B00E1 + EXT L0C25B1 + EXT L0C25B6 + EXT L0C2356 + EXT L0C25BC + EXT L0C25C2 + EXT L0C25C7 + EXT L0C25CC + EXT L0C25D4 + EXT L0C25DC + EXT L0C25E4 + EXT L0C25E5 + EXT L0C25EA + EXT L0C2416 + EXT L0C2156 + EXT L0C25F0 diff --git a/yourtour/GLOBALS.S b/yourtour/GLOBALS.S new file mode 100644 index 0000000..f7130d6 --- /dev/null +++ b/yourtour/GLOBALS.S @@ -0,0 +1,435 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + +L0B0000 ENT + DB $00 + DB $00 +L0B0002 ENT + DB $00 + DB $00 +L0B0004 ENT + DB $00 + DB $00 +L0B0006 ENT + DB $00 + DB $00 +L0B0008 ENT + DB $00 + DB $00 +L0B000A ENT + DB $00 + DB $00 +L0B000C ENT + DB $00 + DB $00 +L0B000E ENT + DB $00 + DB $00 +L0B0010 ENT + DB $00 + DB $00 +L0B0012 ENT + DB $00 + DB $00 +L0B0014 ENT + DB $00 + DB $00 +L0B0016 ENT + DB $00 + DB $00 +L0B0018 ENT + DB $00 + DB $00 +L0B001A ENT + DB $00 + DB $00 +L0B001C ENT + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 + DB $00 +L0B0026 ENT + DB $00 + DB $00 +L0B0028 ENT + DB $00 + DB $00 +L0B002A ENT + DB $00 + DB $00 +L0B002C ENT + DB $00 + DB $00 +L0B002E ENT + DB $00 + DB $00 +L0B0030 ENT + DB $00 + DB $00 +L0B0032 ENT + DB $00 + DB $00 +L0B0034 ENT + DB $00 + DB $00 +L0B0036 ENT + DB $00 + DB $00 +L0B0038 ENT + DB $00 + DB $00 +L0B003A ENT + DB $00 + DB $00 +L0B003C ENT + DB $00 + DB $00 +L0B003E ENT + DB $00 + DB $00 +L0B0040 ENT + DB $00 + DB $00 +L0B0042 ENT + DB $00 + DB $00 +L0B0044 ENT + DB $00 + DB $00 +L0B0046 ENT + DB $00 + DB $00 +L0B0048 ENT + DB $00 + DB $00 +L0B004A ENT + DB $00 + DB $00 +L0B004C ENT + DB $00 + DB $00 +L0B004E ENT + DB $00 + DB $00 +L0B0050 ENT + DB $00 + DB $00 +L0B0052 ENT + DB $00 + DB $00 +L0B0054 ENT + DB $00 + DB $00 +L0B0056 ENT + DB $00 + DB $00 +L0B0058 ENT + DB $00 + DB $00 +L0B005A ENT + DB $00 + DB $00 +L0B005C ENT + DB $00 + DB $00 +L0B005E ENT + DB $00 + DB $00 +L0B0060 ENT + DB $00 + DB $00 +L0B0062 ENT + DB $00 + DB $00 +L0B0064 ENT + DB $00 + DB $00 +L0B0066 ENT + DB $00 + DB $00 +L0B0068 ENT + DB $00 + DB $00 +L0B006A ENT + DB $00 + DB $00 +L0B006C ENT + DB $00 + DB $00 +L0B006E ENT + DB $00 + DB $00 +L0B0070 ENT + DB $00 + DB $00 +L0B0072 ENT + DB $00 + DB $00 +L0B0074 ENT + DB $00 + DB $00 +L0B0076 ENT + DB $00 + DB $00 +L0B0078 ENT + DB $00 + DB $00 +L0B007A ENT + DB $00 + DB $00 +L0B007C ENT + DB $00 + DB $00 +L0B007E ENT + DB $00 + DB $00 +L0B0080 ENT + DB $00 + DB $00 +L0B0082 ENT + DB $00 + DB $00 +L0B0084 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0B0088 ENT + DB $00 + DB $00 +L0B008A ENT + DB $00 + DB $00 +L0B008C ENT + DB $00 + DB $00 +L0B008E ENT + DB $00 + DB $00 +L0B0090 ENT + DB $00 + DB $00 +L0B0092 ENT + DB $00 + DB $00 +L0B0094 ENT + DB $00 + DB $00 +L0B0096 ENT + DB $00 + DB $00 +L0B0098 ENT + DB $00 + DB $00 +L0B009A ENT + DB $00 + DB $00 +L0B009C ENT + DB $00 + DB $00 +L0B009E ENT + DB $00 + DB $00 +L0B00A0 ENT + DB $00 + DB $00 +L0B00A2 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0B00A6 ENT + DB $00 + DB $00 +L0B00A8 ENT + DB $00 + DB $00 +L0B00AA ENT + DB $00 + DB $00 +L0B00AC ENT + DB $00 + DB $00 +L0B00AE ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0B00B2 ENT + DB $00 +L0B00B3 ENT + DB $00 + DB $00 +L0B00B5 ENT + DB $00 + DB $00 +L0B00B7 ENT + DB $00 + DB $00 +L0B00B9 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0B00BD ENT + DB $00 + DB $00 +L0B00BF ENT + DB $00 + DB $00 +L0B00C1 ENT + DB $00 + DB $00 + DB $00 + DB $00 +L0B00C5 ENT + DB $00 + DB $00 +L0B00C7 ENT + DB $00 + DB $00 +L0B00C9 ENT + DB $00 + DB $00 +L0B00CB ENT + DB $00 + DB $00 +L0B00CD ENT + DB $00 + DB $00 +L0B00CF ENT + DB $00 + DB $00 +L0B00D1 ENT + DB $00 + DB $00 +L0B00D3 ENT + DB $00 + DB $00 +L0B00D5 ENT + DB $00 + DB $00 +L0B00D7 ENT + DB $00 + DB $00 +L0B00D9 ENT + DB $00 + DB $00 +L0B00DB ENT + DB $00 + DB $00 +L0B00DD ENT + DB $00 + DB $00 +L0B00DF ENT + DB $00 + DB $00 +L0B00E1 ENT + DB $00 + DB $00 +L0B00E3 ENT + DB $00 + DB $00 +L0B00E5 ENT + DB $00 + DB $00 +L0B00E7 ENT + DB $00 + DB $00 +L0B00E9 ENT + DB $00 + DB $00 +L0B00EB ENT + DB $00 + DB $00 +L0B00ED ENT + DB $00 + DB $00 +L0B00EF ENT + DB $00 + DB $00 +L0B00F1 ENT + DB $00 + DB $00 +L0B00F3 ENT + DB $00 + DB $00 +L0B00F5 ENT + DB $00 + DB $00 +L0B00F7 ENT + DB $00 + DB $00 +L0B00F9 ENT + DB $00 + DB $00 +L0B00FB ENT + DB $00 + DB $00 +L0B00FD ENT + DB $00 + DB $00 +L0B00FF ENT + DB $00 + DB $00 +L0B0101 ENT + DB $00 + DB $00 +L0B0103 ENT + DB $00 + DB $00 +L0B0105 ENT + DB $00 + DB $00 +L0B0107 ENT + DB $00 + DB $00 +L0B0109 ENT + DB $00 + DB $00 +L0B010B ENT + DB $00 + DB $00 +L0B010D ENT + DB $00 + DB $00 +L0B010F ENT + DB $00 + DB $00 +L0B0111 ENT + DB $00 + DB $00 +L0B0113 ENT + DB $00 + DB $00 +L0B0115 ENT + DB $00 + DB $00 +L0B0117 ENT + DB $00 + DB $00 +L0B0119 ENT + DB $00 + DB $00 +L0B011B ENT + DB $00 + DB $00 +L0B011D ENT + DB $00 + DB $00 diff --git a/yourtour/INIT.E.S b/yourtour/INIT.E.S new file mode 100644 index 0000000..334ca97 --- /dev/null +++ b/yourtour/INIT.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS2 EQU $E100B0 diff --git a/yourtour/INIT.S b/yourtour/INIT.S new file mode 100644 index 0000000..ac14af2 --- /dev/null +++ b/yourtour/INIT.S @@ -0,0 +1,2607 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use INIT.E + use INIT.X + + use 4/Event.Macs + use 4/Line.Macs + use 4/Locator.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/NoteSeq.Macs + use 4/NoteSyn.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Text.Macs + use 4/Util.Macs + +*------------------------------- + +L0A0000 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00D1 + TCS + LDA #$0006 + STA $DC + LDA #$0004 + STA $DE + LDA #$0100 + STA $E0 + LDA #$0006 + STA $E2 + LDA #$0100 + STA $E4 + LDA #$000F + STA $E6 + LDA #$0100 + STA $E8 + LDA #$0014 + STA $EA + LDA #$0100 + STA $EC + LDA #$0019 + STA $EE + LDA #$0100 + STA $F0 + LDA #$001A + STA $F2 + LDA #$0001 + STA $F4 + _TLStartUp + BCS L0A0058 + LDA #$0000 +L0A0058 STAL L0B0002 + LDA L0B0004 + STA L0B0066 + _MTStartUp + BCS L0A006E + LDA #$0000 +L0A006E STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + _LoadTools + BCS L0A0087 + LDA #$0000 +L0A0087 STAL L0B0002 + PHX + PHA + PEA $0000 + PEA $0900 + LDA L0B0066 + PHA + PEA $C005 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A00AC + LDA #$0000 +L0A00AC STAL L0B0002 + PLA + PLX + STX $DA + STA $D8 + LDY #$0002 + LDA [$D8],Y + TAX + LDA [$D8] + STX $D6 + STA $D4 + LDX $D6 + LDA $D4 + STX L0B00CF + STA L0B00CD + LDX $D6 + LDA $D4 + PHA + PEA $0087 + PEA $0000 + LDA L0B0066 + PHA + _QDStartUp + BCS L0A00E7 + LDA #$0000 +L0A00E7 STAL L0B0002 + _GrafOff + BCS L0A00F7 + LDA #$0000 +L0A00F7 STAL L0B0002 + LDX $D6 + LDA $D4 + CLC + ADC #$0300 + PHA + TXA + ADC #$0000 + TAX + PEA $0000 + PEA $0000 + PEA $0140 + PEA $0000 + PEA $00C8 + LDA L0B0066 + PHA + _EMStartUp + BCS L0A0128 + LDA #$0000 +L0A0128 STAL L0B0002 + LDA L0B0066 + PHA + LDX $D6 + LDA $D4 + CLC + ADC #$0400 + PHA + TXA + ADC #$0000 + TAX + _MenuStartUp + BCS L0A014A + LDA #$0000 +L0A014A STAL L0B0002 + LDA L0B0066 + PHA + LDX $D6 + LDA $D4 + CLC + ADC #$0500 + PHA + _LEStartUp + BCS L0A0167 + LDA #$0000 +L0A0167 STAL L0B0002 + LDX $D6 + LDA $D4 + CLC + ADC #$0600 + PHA + PEA $0000 + PEA $0096 + PEA $0001 + _SeqStartUp + BCS L0A0189 + LDA #$0000 +L0A0189 STAL L0B0002 + PEA $006E + JSL L021DFD + PLY + LDX $D6 + LDA $D4 + CLC + ADC #$0700 + PHA + TXA + ADC #$0000 + TAX + PLA + STX L0B00BF + STA L0B00BD + _StopInts + BCS L0A01B6 + LDA #$0000 +L0A01B6 STAL L0B0002 + PEA $006F + JSL L021DFD + PLY + TSC + CLC + ADC #$0029 + TCS + PLD + RTL + +L0A01CA PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + _SeqShutDown + BCS L0A01E1 + LDA #$0000 +L0A01E1 STAL L0B0002 + _LEShutDown + BCS L0A01F1 + LDA #$0000 +L0A01F1 STAL L0B0002 + _MenuShutDown + BCS L0A0201 + LDA #$0000 +L0A0201 STAL L0B0002 + _EMShutDown + BCS L0A0211 + LDA #$0000 +L0A0211 STAL L0B0002 + _QDShutDown + BCS L0A0221 + LDA #$0000 +L0A0221 STAL L0B0002 + _MTShutDown + BCS L0A0231 + LDA #$0000 +L0A0231 STAL L0B0002 + _TLShutDown + BCS L0A0241 + LDA #$0000 +L0A0241 STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0A024D PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F2 + TCS + STZ $F4 + BRL L0A031D +L0A025D LDA $F4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F4 + STA [$F6] + PEA ^L0C2993 + PEA L0C2993 + LDA $F4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + CLC + ADC #$0006 + BCC L0A02B4 + INX +L0A02B4 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A02DF + LDA #$0000 +L0A02DF STAL L0B0002 + LDA $F4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + PLX + LDY #$0004 + PHA + TXA + STA [$F6],Y + PLA + LDY #$0002 + STA [$F6],Y + PEA $0078 + JSL L021DFD + PLY + INC $F4 +L0A031D LDA $F4 + SEC + SBC #$0032 + BVS L0A0328 + EOR #$8000 +L0A0328 BMI L0A032D + BRL L0A025D +L0A032D PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A034E + LDA #$0000 +L0A034E STAL L0B0002 + PLA + PLX + STX L0B002C + STA L0B002A + PEA $0079 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0383 + LDA #$0000 +L0A0383 STAL L0B0002 + PLA + PLX + STX L0B0030 + STA L0B002E + PEA $007A + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A03B8 + LDA #$0000 +L0A03B8 STAL L0B0002 + PLA + PLX + STX L0B0034 + STA L0B0032 + PEA $007B + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A03ED + LDA #$0000 +L0A03ED STAL L0B0002 + PLA + PLX + STX L0B0038 + STA L0B0036 + PEA $007C + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0422 + LDA #$0000 +L0A0422 STAL L0B0002 + PLA + PLX + STX L0B003C + STA L0B003A + PEA $007D + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0457 + LDA #$0000 +L0A0457 STAL L0B0002 + PLA + PLX + STX L0B0040 + STA L0B003E + PEA $007E + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A048C + LDA #$0000 +L0A048C STAL L0B0002 + PLA + PLX + STX L0B0044 + STA L0B0042 + PEA $007F + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A04C1 + LDA #$0000 +L0A04C1 STAL L0B0002 + PLA + PLX + STX L0B0048 + STA L0B0046 + PEA $0080 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A04F6 + LDA #$0000 +L0A04F6 STAL L0B0002 + PLA + PLX + STX L0B004C + STA L0B004A + PEA $0081 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A052B + LDA #$0000 +L0A052B STAL L0B0002 + PLA + PLX + STX L0B0050 + STA L0B004E + PEA $0082 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0560 + LDA #$0000 +L0A0560 STAL L0B0002 + PLA + PLX + STX L0B0054 + STA L0B0052 + PEA $0083 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $000C + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0595 + LDA #$0000 +L0A0595 STAL L0B0002 + PLA + PLX + STX L0B0058 + STA L0B0056 + PEA $0084 + JSL L021DFD + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A05CA + LDA #$0000 +L0A05CA STAL L0B0002 + PLA + PLX + STX L0B00F1 + STA L0B00EF + PEA $0085 + JSL L021DFD + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0A05E6 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00E7 + TCS + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + PEA $0000 + PEA $0280 + PEA $00C8 + _SetRect + BCS L0A0612 + LDA #$0000 +L0A0612 STAL L0B0002 + PEA ^L0C03BB + PEA L0C03BB + JSL L0A11C3 + PLY + PLY + LDX #$0000 + LDA #$C030 + STX L0B00B5 + STA L0B00B3 + STZ L0B006A + STZ L0B006C + STZ L0B0078 + STZ L0B007A + PEA ^L0B0070 + PEA L0B0070 + PEA ^L0B0072 + PEA L0B0072 + JSL L070547 + PLY + PLY + PLY + PLY + LDX #$0009 + LDA #$EB10 + PHX + PHA + PHX + PHA + _TotalMem + BCS L0A0664 + LDA #$0000 +L0A0664 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L0A0672 + BCS L0A0677 +L0A0672 LDA #$0000 + BRA L0A067A +L0A0677 LDA #$0001 +L0A067A STA L0B00A6 + STZ L0B00A8 + STZ L0B00AA + STZ L0B007C + STZ L0B007E + STZ L0B0084 + STZ L0B008C + STZ L0B0088 + LDA #$0001 + STA L0B009A + STZ L0B00A0 + STZ L0B00A2 + LDA #$0000 + STAL L0C1AA4 + LDA #$0001 + STAL L0C1AA2 + LDA #$0001 + STAL L0C1A9C + STZ L0B008E + LDA #$0001 + STA L0B0096 + LDA #$0001 + STA L0B009C + STZ L0B008A + LDA #$0000 + STAL L0C1AB0 + STZ L0B00B7 + PEA ^L0C2994 + PEA L0C2994 + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ L0B0082 + STZ L0B00AE + PEA ^L0C2995 + PEA L0C2995 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ $F4 + BRA L0A0749 +L0A0701 LDA $F4 + ASL + LDX #$0000 + PHX + PHA + LDA #L0C072F + LDX #^L0C072F + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + PEA ^L0C2996 + PEA L0C2996 + LDA $F4 + PHA + LDA #$0033 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + JSL L0110F7 + PLY + PLY + PLY + PLY + INC $F4 +L0A0749 LDA $F4 + CMP #$0015 + BCC L0A0701 + STZ $F4 + BRA L0A079A +L0A0754 STZ $F2 + BRA L0A0791 +L0A0758 LDA $F2 + LDX #$0000 + PHX + PHA + LDA $F4 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0FA2 + LDX #^L0C0FA2 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + SEP #$20 + STA [$F6] + REP #$20 + INC $F2 +L0A0791 LDA $F2 + CMP #$0006 + BCC L0A0758 + INC $F4 +L0A079A LDA $F4 + CMP #$0005 + BCC L0A0754 + PEA ^L0C0F7A + PEA L0C0F7A + PEA $0000 + PEA $0000 + PEA $0280 + PEA $00C8 + _SetRect + BCS L0A07BF + LDA #$0000 +L0A07BF STAL L0B0002 + LDA #$0000 + STAL L0C0FEE + PEA $0087 + _SetMasterSCB + BCS L0A07D9 + LDA #$0000 +L0A07D9 STAL L0B0002 + PEA ^L0C0CDC + PEA L0C0CDC + _OpenPort + BCS L0A07EF + LDA #$0000 +L0A07EF STAL L0B0002 + PEA ^L0C0CDC + PEA L0C0CDC + _GetPortLoc + BCS L0A0805 + LDA #$0000 +L0A0805 STAL L0B0002 + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L0A081B + LDA #$0000 +L0A081B STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + _ClipRect + BCS L0A0834 + LDA #$0000 +L0A0834 STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + _OpenPort + BCS L0A084A + LDA #$0000 +L0A084A STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + _GetPortLoc + BCS L0A0860 + LDA #$0000 +L0A0860 STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + _SetPort + BCS L0A0876 + LDA #$0000 +L0A0876 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + _ClipRect + BCS L0A088F + LDA #$0000 +L0A088F STAL L0B0002 + PEA ^L0C0B88 + PEA L0C0B88 + _OpenPort + BCS L0A08A5 + LDA #$0000 +L0A08A5 STAL L0B0002 + PEA ^L0C0B88 + PEA L0C0B88 + _GetPortLoc + BCS L0A08BB + LDA #$0000 +L0A08BB STAL L0B0002 + PEA ^L0C0B88 + PEA L0C0B88 + _SetPort + BCS L0A08D1 + LDA #$0000 +L0A08D1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + _ClipRect + BCS L0A08EA + LDA #$0000 +L0A08EA STAL L0B0002 + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L0A0900 + LDA #$0000 +L0A0900 STAL L0B0002 + PEA $0003 + _SetForeColor + BCS L0A0913 + LDA #$0000 +L0A0913 STAL L0B0002 + PEA $0000 + _SetBackColor + BCS L0A0926 + LDA #$0000 +L0A0926 STAL L0B0002 + PEA $0004 + _SetTextMode + BCS L0A0939 + LDA #$0000 +L0A0939 STAL L0B0002 + PEA $0003 + _SetSolidPenPat + BCS L0A094C + LDA #$0000 +L0A094C STAL L0B0002 + PEA $0000 + _SetSolidBackPat + BCS L0A095F + LDA #$0000 +L0A095F STAL L0B0002 + STZ L0B00FB + STZ L0B00FD + LDA #$000C + STA L0B0101 + LDA #$1000 + STA L0B0105 + STZ L0B0107 + LDA #$0080 + STA L0B0109 + STZ L0B010B + LDA #L0C24F4 + LDX #^L0C24F4 + STX L0B0117 + STA L0B0115 + LDA #L0C03B2 + LDX #^L0C03B2 + STX L0B011B + STA L0B0119 + STZ $F4 + BRA L0A09CF +L0A099D PEA $0008 + PEI $F4 + PEA $0000 + _SetColorEntry + BCS L0A09B1 + LDA #$0000 +L0A09B1 STAL L0B0002 + PEA $0007 + PEI $F4 + PEA $0000 + _SetColorEntry + BCS L0A09C9 + LDA #$0000 +L0A09C9 STAL L0B0002 + INC $F4 +L0A09CF LDA $F4 + CMP #$000F + BEQ L0A099D + BCC L0A099D + TSC + CLC + ADC #$0013 + TCS + PLD + RTL + +L0A09E0 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F3 + TCS + LDA #L0C002E + LDX #^L0C002E + STX L0B00DB + STA L0B00D9 + LDA #L0C00E6 + LDX #^L0C00E6 + STX L0B00DF + STA L0B00DD + PEA $0008 + _SetMasterSCB + BCS L0A0A12 + LDA #$0000 +L0A0A12 STAL L0B0002 + JSL L03117F + _InitCursor + BCS L0A0A26 + LDA #$0000 +L0A0A26 STAL L0B0002 + LDA #$0001 + STA L0B0092 + LDA #$0001 + STA L0B0094 + JSL L031208 + PEA $0087 + _SetMasterSCB + BCS L0A0A49 + LDA #$0000 +L0A0A49 STAL L0B0002 + LDX #$00E0 + LDA #$1E98 + STX L0B00D7 + STA L0B00D5 + JSL L06204F + TSC + CLC + ADC #$0007 + TCS + PLD + RTL + +L0A0A65 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00EE + TCS + LDX #$0000 + LDA #$0026 + STX $F2 + STA $F0 + PHX + PHA + PEI $F2 + PEI $F0 + LDA L0B0066 + PHA + PEA $0200 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A0A99 + LDA #$0000 +L0A0A99 STAL L0B0002 + PLA + PLX + STX L0B00E7 + STA L0B00E5 + LDX L0B00E7 + LDA L0B00E5 + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STA $F6 + STX $F8 + LDA #$0008 + STA [$F6] + STZ $F4 + BRL L0A0B4B +L0A0AC5 PEA ^L0C2997 + PEA L0C2997 + LDA $F4 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2416 + LDX #^L0C2416 + JSL L010922 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $F4 + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + LDA $F4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX L0B00E7 + LDA L0B00E5 + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STA $F6 + STX $F8 + LDX $F8 + LDA #$0002 + CLC + ADC $F6 + BCC L0A0B33 + INX +L0A0B33 JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + INC $F4 +L0A0B4B LDA $F4 + SEC + SBC #$0008 + BVS L0A0B56 + EOR #$8000 +L0A0B56 BMI L0A0B5B + BRL L0A0AC5 +L0A0B5B LDX L0B00E7 + LDA L0B00E5 + PHX + PHA + _SetInstTable + BCS L0A0B6F + LDA #$0000 +L0A0B6F STAL L0B0002 + STZ $F4 + BRA L0A0B90 +L0A0B77 PEA $0064 + PEI $F4 + PEI $F4 + _SetTrkInfo + BCS L0A0B8A + LDA #$0000 +L0A0B8A STAL L0B0002 + INC $F4 +L0A0B90 LDA $F4 + SEC + SBC #$0008 + BVS L0A0B9B + EOR #$8000 +L0A0B9B BPL L0A0B77 + STZ $F4 + BRA L0A0BDF +L0A0BA1 PEA ^L0C2998 + PEA L0C2998 + LDA $F4 + PHA + LDA #$000C + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2356 + LDX #^L0C2356 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + CLC + ADC #$0002 + BCC L0A0BD3 + INX +L0A0BD3 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + INC $F4 +L0A0BDF LDA $F4 + SEC + SBC #$000C + BVS L0A0BEA + EOR #$8000 +L0A0BEA BPL L0A0BA1 + STZ L0B00E1 + STZ L0B00E3 + TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L0A0BFA PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00D5 + TCS + PEA ^L0C2999 + PEA L0C2999 + JSL L040E53 + PLY + PLY + SEC + SBC #$0000 + BVS L0A0C1A + EOR #$8000 +L0A0C1A BPL L0A0C1F + BRL L0A0CD0 +L0A0C1F PEA ^L0C29A6 + PEA L0C29A6 + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA #$0002 + SEP #$20 + STA $D7 + REP #$20 + LDA #$0000 + STA $F0 + LDX #$0000 + TDC + CLC + ADC #$00D7 + STX $F4 + STA $F2 + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEA $0009 + LDX #$0000 + JSL GSOS2 + BCS L0A0C68 + LDA #$0000 +L0A0C68 STAL L0B0002 + PEA ^L0C29A9 + PEA L0C29A9 + JSL L040E53 + PLY + PLY + SEC + SBC #$0000 + BVS L0A0C81 + EOR #$8000 +L0A0C81 BMI L0A0CD0 + PEA ^L0C29B6 + PEA L0C29B6 + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA #$0002 + SEP #$20 + STA $D7 + REP #$20 + LDA #$0000 + STA $F0 + LDX #$0000 + TDC + CLC + ADC #$00D7 + STX $F4 + STA $F2 + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEA $0009 + LDX #$0000 + JSL GSOS2 + BCS L0A0CCC + LDA #$0000 +L0A0CCC STAL L0B0002 +L0A0CD0 PEA ^L0C29B9 + PEA L0C29B9 + JSL L0A0F0C + PLY + PLY + TSC + CLC + ADC #$0025 + TCS + PLD + RTL + +L0A0CE4 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L0A09E0 + JSL L0A024D + JSL L0A05E6 + JSL L0A0A65 + JSL L0A0BFA + PEA ^L0C29BE + PEA L0C29BE + PEA ^L0C1220 + PEA L0C1220 + JSL L0110F7 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0A0D1F ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F2 + TCS + PEA $0006 + _WriteChar + BCS L0A0D39 + LDA #$0000 +L0A0D39 STAL L0B0002 + PEA ^L0C29C3 + PEA L0C29C3 + _WriteCString + BCS L0A0D4F + LDA #$0000 +L0A0D4F STAL L0B0002 + PEA ^L0C29CE + PEA L0C29CE + _WriteCString + BCS L0A0D65 + LDA #$0000 +L0A0D65 STAL L0B0002 + LDX #$0007 + LDA #$D000 + PHX + PHA + PHX + PHA + _TotalMem + BCS L0A0D7F + LDA #$0000 +L0A0D7F STAL L0B0002 + PLA + PLX + JSL L010B98 + BNE L0A0D8E + BRL L0A0E7D +L0A0D8E BCS L0A0D93 + BRL L0A0E7D +L0A0D93 PEA ^L0C2A0D + PEA L0C2A0D + _WriteCString + BCS L0A0DA5 + LDA #$0000 +L0A0DA5 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0DB8 + LDA #$0000 +L0A0DB8 STAL L0B0002 + PEA ^L0C2A16 + PEA L0C2A16 + _WriteCString + BCS L0A0DCE + LDA #$0000 +L0A0DCE STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0DE1 + LDA #$0000 +L0A0DE1 STAL L0B0002 + PEA ^L0C2A5E + PEA L0C2A5E + _WriteCString + BCS L0A0DF7 + LDA #$0000 +L0A0DF7 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0E0A + LDA #$0000 +L0A0E0A STAL L0B0002 + PEA ^L0C2AA8 + PEA L0C2AA8 + _WriteCString + BCS L0A0E20 + LDA #$0000 +L0A0E20 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0E33 + LDA #$0000 +L0A0E33 STAL L0B0002 + PEA ^L0C2AF3 + PEA L0C2AF3 + _WriteCString + BCS L0A0E49 + LDA #$0000 +L0A0E49 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0E5C + LDA #$0000 +L0A0E5C STAL L0B0002 + PEA ^L0C2B3A + PEA L0C2B3A + _WriteCString + BCS L0A0E72 + LDA #$0000 +L0A0E72 STAL L0B0002 +L0A0E76 LDA #$0001 + BEQ L0A0E7D + BRA L0A0E76 +L0A0E7D JSL L0A0000 + STZ $F4 + BRA L0A0EB7 +L0A0E85 PEA $0008 + PEI $F4 + PEA $0000 + _SetColorEntry + BCS L0A0E99 + LDA #$0000 +L0A0E99 STAL L0B0002 + PEA $0007 + PEI $F4 + PEA $0000 + _SetColorEntry + BCS L0A0EB1 + LDA #$0000 +L0A0EB1 STAL L0B0002 + INC $F4 +L0A0EB7 LDA $F4 + SEC + SBC #$000F + BEQ L0A0E85 + BVS L0A0EC4 + EOR #$8000 +L0A0EC4 BPL L0A0E85 + PEA $0001 + JSL L030F81 + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0A0ED6 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + _GrafOff + BCS L0A0EED + LDA #$0000 +L0A0EED STAL L0B0002 + JSL L0620B1 + JSL L0A01CA + STZ L0B0000 + PEA $0000 + JSL L010B7A + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0A0F0C PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00B2 + TCS + STZ $BE + STZ $BC + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L040390 + PLY + PLY + PLY + PLY + TAY + BEQ L0A0F36 + BRL L0A0FD8 +L0A0F36 _GrafOff + BCS L0A0F42 + LDA #$0000 +L0A0F42 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0F55 + LDA #$0000 +L0A0F55 STAL L0B0002 + PEA $000A + _WriteChar + BCS L0A0F68 + LDA #$0000 +L0A0F68 STAL L0B0002 + PEA $000A + _WriteChar + BCS L0A0F7B + LDA #$0000 +L0A0F7B STAL L0B0002 + PEA ^L0C2B68 + PEA L0C2B68 + _WriteCString + BCS L0A0F91 + LDA #$0000 +L0A0F91 STAL L0B0002 + PEI $FF + PEI $FD + _WriteCString + BCS L0A0FA5 + LDA #$0000 +L0A0FA5 STAL L0B0002 + PEA $000D + _WriteChar + BCS L0A0FB8 + LDA #$0000 +L0A0FB8 STAL L0B0002 + PEA $000A + _WriteChar + BCS L0A0FCB + LDA #$0000 +L0A0FCB STAL L0B0002 + LDA #$0000 + BRL L0A10E8 + BRL L0A10E8 +L0A0FD8 LDAL L0C0FEE + STA $B4 + PEA $0000 + TDC + CLC + ADC #$00B4 + PHA + PEA $0019 + LDX #$0000 + JSL GSOS2 + BCS L0A0FF6 + LDA #$0000 +L0A0FF6 STAL L0B0002 + PHX + PHA + PEA $0000 + PEA $0800 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0A101B + LDA #$0000 +L0A101B STAL L0B0002 + PLA + PLX + STX L0B0028 + STA L0B0026 + PEA $0028 + JSL L021DFD + PLY + LDX L0B0028 + LDA L0B0026 + PHX + PHA + _HLock + BCS L0A1043 + LDA #$0000 +L0A1043 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00BE + PHA + LDX L0B0028 + LDA L0B0026 + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + PHX + PHA + PEA $0000 + JSL L0402DB + PLY + PLY + PLY + PLY + PLY + LDX $B8 + LDA $B6 + PHA + LDX L0B0028 + LDA L0B0026 + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + PHX + PHA + JSL L0A10F2 + PLY + PLY + PLY + LDX L0B0028 + LDA L0B0026 + PHX + PHA + _HUnlock + BCS L0A10A4 + LDA #$0000 +L0A10A4 STAL L0B0002 + PEA $0032 + JSL L021DFD + PLY + PEI $B8 + PEI $B6 + LDX L0B0028 + LDA L0B0026 + PHX + PHA + _SetHandleSize + BCS L0A10C8 + LDA #$0000 +L0A10C8 STAL L0B0002 + PEA ^L0C0FEE + PEA L0C0FEE + PEA $0014 + LDX #$0000 + JSL GSOS2 + BCS L0A10E1 + LDA #$0000 +L0A10E1 STAL L0B0002 + LDA #$0001 +L0A10E8 TAY + TSC + CLC + ADC #$0044 + TCS + TYA + PLD + RTL + +L0A10F2 PHD + TSC + SEC + SBC #$00F5 + TCD + ADC #$00E8 + TCS + STZ $EC + LDA #$0001 + STA $EE +L0A1104 LDA $FF + SEC + SBC #$0002 + SEC + SBC $EC + BNE L0A1112 + BRL L0A11BB +L0A1112 BVS L0A1117 + EOR #$8000 +L0A1117 BMI L0A111C + BRL L0A11BB +L0A111C LDA $EE + SEC + SBC #$0006 + BEQ L0A112E + BVS L0A1129 + EOR #$8000 +L0A1129 BPL L0A112E + BRL L0A11BB +L0A112E LDA $EE + INC $EE + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A8A + LDX #^L0C1A8A + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA $EC + STA [$F0] + LDA $EC + CLC + ADC #$0002 + STA $EC +L0A1154 LDA $EC + SEC + SBC #$0003 + LDX #$0000 + TAY + BPL L0A1161 + DEX +L0A1161 PHX + PHA + LDX $FD + LDA $FB + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA [$F0] + AND #$00FF + CMP #$0025 + BNE L0A11A2 + LDA $EC + SEC + SBC #$0002 + LDX #$0000 + TAY + BPL L0A1188 + DEX +L0A1188 PHX + PHA + LDX $FD + LDA $FB + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA [$F0] + AND #$00FF + CMP #$0077 + BEQ L0A11B8 +L0A11A2 LDA $FF + SEC + SBC #$0002 + SEC + SBC $EC + BEQ L0A11B8 + BVS L0A11B2 + EOR #$8000 +L0A11B2 BPL L0A11B8 + INC $EC + BRA L0A1154 +L0A11B8 BRL L0A1104 +L0A11BB TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L0A11C3 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + PEI $FF + PEI $FD + JSL L020134 + PLY + PLY + PEA ^L02277B + PEA L02277B + PEA ^L0C2B84 + PEA L0C2B84 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02279E + PEA L02279E + PEA ^L0C2B8C + PEA L0C2B8C + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0227F2 + PEA L0227F2 + PEA ^L0C2B93 + PEA L0C2B93 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022815 + PEA L022815 + PEA ^L0C2B95 + PEA L0C2B95 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02286B + PEA L02286B + PEA ^L0C2B97 + PEA L0C2B97 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02299F + PEA L02299F + PEA ^L0C2B99 + PEA L0C2B99 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0229C2 + PEA L0229C2 + PEA ^L0C2B9B + PEA L0C2B9B + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0229DD + PEA L0229DD + PEA ^L0C2B9D + PEA L0C2B9D + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022A0A + PEA L022A0A + PEA ^L0C2BA0 + PEA L0C2BA0 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022A3C + PEA L022A3C + PEA ^L0C2BA3 + PEA L0C2BA3 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022A7B + PEA L022A7B + PEA ^L0C2BA7 + PEA L0C2BA7 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022A92 + PEA L022A92 + PEA ^L0C2BAD + PEA L0C2BAD + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022B01 + PEA L022B01 + PEA ^L0C2BB4 + PEA L0C2BB4 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022B24 + PEA L022B24 + PEA ^L0C2BBB + PEA L0C2BBB + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022BA2 + PEA L022BA2 + PEA ^L0C2BC0 + PEA L0C2BC0 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022BCF + PEA L022BCF + PEA ^L0C2BC4 + PEA L0C2BC4 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022C43 + PEA L022C43 + PEA ^L0C2BC9 + PEA L0C2BC9 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022C70 + PEA L022C70 + PEA ^L0C2BCE + PEA L0C2BCE + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022C9D + PEA L022C9D + PEA ^L0C2BD3 + PEA L0C2BD3 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022CCA + PEA L022CCA + PEA ^L0C2BDC + PEA L0C2BDC + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022CF7 + PEA L022CF7 + PEA ^L0C2BE3 + PEA L0C2BE3 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022D28 + PEA L022D28 + PEA ^L0C2BE9 + PEA L0C2BE9 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022D54 + PEA L022D54 + PEA ^L0C2BEE + PEA L0C2BEE + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022D81 + PEA L022D81 + PEA ^L0C2BF4 + PEA L0C2BF4 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022DAD + PEA L022DAD + PEA ^L0C2BF9 + PEA L0C2BF9 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022DC8 + PEA L022DC8 + PEA ^L0C2C01 + PEA L0C2C01 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022DF4 + PEA L022DF4 + PEA ^L0C2C06 + PEA L0C2C06 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022F06 + PEA L022F06 + PEA ^L0C2C0A + PEA L0C2C0A + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022F1D + PEA L022F1D + PEA ^L0C2C0F + PEA L0C2C0F + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023868 + PEA L023868 + PEA ^L0C2C14 + PEA L0C2C14 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022FB5 + PEA L022FB5 + PEA ^L0C2C17 + PEA L0C2C17 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0230C9 + PEA L0230C9 + PEA ^L0C2C1B + PEA L0C2C1B + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02324E + PEA L02324E + PEA ^L0C2C20 + PEA L0C2C20 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023271 + PEA L023271 + PEA ^L0C2C24 + PEA L0C2C24 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02333A + PEA L02333A + PEA ^L0C2C28 + PEA L0C2C28 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023369 + PEA L023369 + PEA ^L0C2C2D + PEA L0C2C2D + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02345E + PEA L02345E + PEA ^L0C2C2F + PEA L0C2C2F + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023548 + PEA L023548 + PEA ^L0C2C33 + PEA L0C2C33 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023591 + PEA L023591 + PEA ^L0C2C3B + PEA L0C2C3B + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023B3A + PEA L023B3A + PEA ^L0C2C40 + PEA L0C2C40 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L022768 + PEA L022768 + PEA ^L0C2C44 + PEA L0C2C44 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0236A5 + PEA L0236A5 + PEA ^L0C2C4A + PEA L0C2C4A + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023644 + PEA L023644 + PEA ^L0C2C51 + PEA L0C2C51 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023706 + PEA L023706 + PEA ^L0C2C58 + PEA L0C2C58 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02374F + PEA L02374F + PEA ^L0C2C60 + PEA L0C2C60 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0237D0 + PEA L0237D0 + PEA ^L0C2C67 + PEA L0C2C67 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02337C + PEA L02337C + PEA ^L0C2C6F + PEA L0C2C6F + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023841 + PEA L023841 + PEA ^L0C2C77 + PEA L0C2C77 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023868 + PEA L023868 + PEA ^L0C2C7C + PEA L0C2C7C + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0237F3 + PEA L0237F3 + PEA ^L0C2C83 + PEA L0C2C83 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02381A + PEA L02381A + PEA ^L0C2C88 + PEA L0C2C88 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02388F + PEA L02388F + PEA ^L0C2C8F + PEA L0C2C8F + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L02399F + PEA L02399F + PEA ^L0C2C9A + PEA L0C2C9A + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0239C6 + PEA L0239C6 + PEA ^L0C2CA4 + PEA L0C2CA4 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0239ED + PEA L0239ED + PEA ^L0C2CAE + PEA L0C2CAE + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023A14 + PEA L023A14 + PEA ^L0C2CB8 + PEA L0C2CB8 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023B17 + PEA L023B17 + PEA ^L0C2CC3 + PEA L0C2CC3 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023B5D + PEA L023B5D + PEA ^L0C2CCC + PEA L0C2CCC + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L023BBA + PEA L023BBA + PEA ^L0C2CD3 + PEA L0C2CD3 + PEI $FF + PEI $FD + JSL L020276 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + diff --git a/yourtour/INIT.X.S b/yourtour/INIT.X.S new file mode 100644 index 0000000..ba7e9e3 --- /dev/null +++ b/yourtour/INIT.X.S @@ -0,0 +1,270 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0B0004 + EXT L0110F7 + EXT L010922 + EXT L010B7A + EXT L010B98 + EXT L0B0002 + EXT L0B0000 + EXT L0B0088 + EXT L0B0082 + EXT L0C1220 + EXT L021DFD + EXT L010AAE + EXT L0C10BE + EXT L03117F + EXT L0C1AB0 + EXT L0C0F7A + EXT L040E53 + EXT L0402DB + EXT L030F81 + EXT L031208 + EXT L0C1AA2 + EXT L0C1A9C + EXT L0B0066 + EXT L0B0084 + EXT L0B006A + EXT L0B006C + EXT L0B0078 + EXT L0B0070 + EXT L0B009C + EXT L0B008E + EXT L0B0096 + EXT L0B00A0 + EXT L0B009A + EXT L0B00A2 + EXT L0B0072 + EXT L0B00A8 + EXT L0B00AA + EXT L0B0092 + EXT L0B008A + EXT L0B008C + EXT L0B007C + EXT L0C1AB2 + EXT L0C0759 + EXT L0C072F + EXT L0C1AA4 + EXT L0C0CDC + EXT L0C03BB + EXT L0C1188 + EXT L0C0FA2 + EXT L0B0034 + EXT L0B0032 + EXT L0B0036 + EXT L0B0030 + EXT L0B002E + EXT L0B003A + EXT L0B00DF + EXT L0B00DD + EXT L0B0094 + EXT L0B00DB + EXT L0B00D9 + EXT L0B003E + EXT L0B0042 + EXT L0B0044 + EXT L0C0C32 + EXT L0C0B88 + EXT L0C00E6 + EXT L0C0FEE + EXT L0B00A6 + EXT L0B007E + EXT L0B0107 + EXT L0B010B + EXT L0B00F1 + EXT L0B00EF + EXT L0B00FB + EXT L0B00FD + EXT L0B0101 + EXT L0B0105 + EXT L0B0109 + EXT L0B0119 + EXT L0B011B + EXT L0C24F4 + EXT L0B0054 + EXT L0B0052 + EXT L0B0058 + EXT L0B0056 + EXT L0B00AE + EXT L0B00BF + EXT L0B00BD + EXT L0B00E3 + EXT L0B00E1 + EXT L0C2356 + EXT L0C2416 + EXT L0C2156 + EXT L0620B1 + EXT L06204F + EXT L0B00CD + EXT L0B00B5 + EXT L0B00B3 + EXT L0B007A + EXT L0B0028 + EXT L0B0026 + EXT L0B00D7 + EXT L0B00D5 + EXT L0B00CF + EXT L0C1A8A + EXT L070547 + EXT L0B00B7 + EXT L0B004C + EXT L0B004A + EXT L0B0050 + EXT L0B004E + EXT L0B0048 + EXT L0B0046 + EXT L0B002A + EXT L0C002E + EXT L0B0040 + EXT L040390 + EXT L020134 + EXT L020276 + EXT L02277B + EXT L02279E + EXT L0227F2 + EXT L022815 + EXT L02286B + EXT L02299F + EXT L0229C2 + EXT L0229DD + EXT L022A0A + EXT L022A3C + EXT L022A7B + EXT L022A92 + EXT L022B01 + EXT L022B24 + EXT L022BA2 + EXT L022BCF + EXT L022C43 + EXT L022C70 + EXT L022C9D + EXT L022CCA + EXT L022CF7 + EXT L022D28 + EXT L022D54 + EXT L022D81 + EXT L022DAD + EXT L022DC8 + EXT L022DF4 + EXT L022F06 + EXT L022F1D + EXT L023868 + EXT L022FB5 + EXT L0230C9 + EXT L02324E + EXT L023271 + EXT L02333A + EXT L023369 + EXT L02345E + EXT L023548 + EXT L023591 + EXT L023B3A + EXT L022768 + EXT L0236A5 + EXT L023644 + EXT L023706 + EXT L02374F + EXT L0237D0 + EXT L02337C + EXT L023841 + EXT L0237F3 + EXT L02381A + EXT L02388F + EXT L02399F + EXT L0239C6 + EXT L0239ED + EXT L023A14 + EXT L023B17 + EXT L023B5D + EXT L023BBA + EXT L0B002C + EXT L0B0038 + EXT L0B003C + EXT L0B0117 + EXT L0B0115 + EXT L0B00E7 + EXT L0B00E5 + EXT L0C2993 + EXT L0C2994 + EXT L0C2995 + EXT L0C2996 + EXT L0C03B2 + EXT L0C2997 + EXT L0C2998 + EXT L0C2999 + EXT L0C29A6 + EXT L0C29A9 + EXT L0C29B6 + EXT L0C29B9 + EXT L0C29BE + EXT L0C29C3 + EXT L0C29CE + EXT L0C2A0D + EXT L0C2A16 + EXT L0C2A5E + EXT L0C2AA8 + EXT L0C2AF3 + EXT L0C2B3A + EXT L0C2B68 + EXT L0C2B84 + EXT L0C2B8C + EXT L0C2B93 + EXT L0C2B95 + EXT L0C2B97 + EXT L0C2B99 + EXT L0C2B9B + EXT L0C2B9D + EXT L0C2BA0 + EXT L0C2BA3 + EXT L0C2BA7 + EXT L0C2BAD + EXT L0C2BB4 + EXT L0C2BBB + EXT L0C2BC0 + EXT L0C2BC4 + EXT L0C2BC9 + EXT L0C2BCE + EXT L0C2BD3 + EXT L0C2BDC + EXT L0C2BE3 + EXT L0C2BE9 + EXT L0C2BEE + EXT L0C2BF4 + EXT L0C2BF9 + EXT L0C2C01 + EXT L0C2C06 + EXT L0C2C0A + EXT L0C2C0F + EXT L0C2C14 + EXT L0C2C17 + EXT L0C2C1B + EXT L0C2C20 + EXT L0C2C24 + EXT L0C2C28 + EXT L0C2C2D + EXT L0C2C2F + EXT L0C2C33 + EXT L0C2C3B + EXT L0C2C40 + EXT L0C2C44 + EXT L0C2C4A + EXT L0C2C51 + EXT L0C2C58 + EXT L0C2C60 + EXT L0C2C67 + EXT L0C2C6F + EXT L0C2C77 + EXT L0C2C7C + EXT L0C2C83 + EXT L0C2C88 + EXT L0C2C8F + EXT L0C2C9A + EXT L0C2CA4 + EXT L0C2CAE + EXT L0C2CB8 + EXT L0C2CC3 + EXT L0C2CCC + EXT L0C2CD3 diff --git a/yourtour/JUMPTABLE.S b/yourtour/JUMPTABLE.S new file mode 100644 index 0000000..a81532d --- /dev/null +++ b/yourtour/JUMPTABLE.S @@ -0,0 +1,74 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use JUMPTABLE.X + +*------------------------------- + + +L0E0000 DS 8 + DW $0000 + DW $0001 + DW ^L0A0D1F + ADRL L0A0D1F +L0E0012 ENT + JSL $000000 + DW $0000 + DW $0001 + DW $000A + ADRL L0A0CE4 +L0E0020 ENT + JSL $000000 + DW $0000 + DW $0001 + DW $000A + ADRL L0A0ED6 +L0E002E ENT + JSL $000000 + DW $0000 + DW $0001 + DW $000A + ADRL L0A0000 +L0E003C ENT + JSL $000000 + DW $0000 + DW $0001 + DW $0009 + ADRL L090D8F +L0E004A ENT + JSL $000000 + DW $0000 + DW $0001 + DW $0009 + ADRL L09115C +L0E0058 ENT + JSL $000000 + DW $0000 + DW $0001 + DW $0009 + ADRL L091E8B +L0E0066 ENT + JSL $000000 + DW $0000 + DW $0001 + DW $0008 + ADRL L080000 +L0E0074 ENT + JSL $000000 + DW $0000 + DW $0001 + DW $0009 + ADRL L093992 +L0E0082 ENT + JSL $000000 + DS 4 diff --git a/yourtour/JUMPTABLE.X.S b/yourtour/JUMPTABLE.X.S new file mode 100644 index 0000000..1a6b693 --- /dev/null +++ b/yourtour/JUMPTABLE.X.S @@ -0,0 +1,14 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0A0D1F + EXT L0A0CE4 + EXT L0A0ED6 + EXT L0A0000 + EXT L090D8F + EXT L09115C + EXT L091E8B + EXT L080000 + EXT L093992 \ No newline at end of file diff --git a/yourtour/LTRICKS.S b/yourtour/LTRICKS.S new file mode 100644 index 0000000..6feb55b --- /dev/null +++ b/yourtour/LTRICKS.S @@ -0,0 +1,10326 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use LTRICKS.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Util.Macs + +*------------------------------- + +L090000 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$0044 + TCS + STZ $46 + BRA L09004F +L09000F LDA $46 + LDX #$0000 + TAY + BPL L090018 + DEX +L090018 PHX + PHA + LDA #L0C030E + LDX #^L0C030E + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + PHA + LDA $46 + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$0050 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + PLA + SEP #$20 + STA [$F4] + REP #$20 + INC $46 +L09004F LDA $46 + SEC + SBC #$00A4 + BVS L09005A + EOR #$8000 +L09005A BPL L09000F + LDA $FF + BEQ L09009E + PEA $0000 + PEA $004E + PEA $0000 + TDC + CLC + ADC #$0054 + PHA + JSL L025194 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$0048 + PHA + PEA $005C + PEA $001C + PEA $0274 + PEA $007E + _SetRect + BCS L090098 + LDA #$0000 +L090098 STAL L0B0002 + BRA L0900C3 +L09009E PEA $0000 + TDC + CLC + ADC #$0048 + PHA + PEA $001C + PEA $0022 + PEA $0240 + PEA $00AD + _SetRect + BCS L0900BF + LDA #$0000 +L0900BF STAL L0B0002 +L0900C3 JSL L06063A + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEA $0000 + TDC + CLC + ADC #$0048 + PHA + _PtInRect + BCS L0900E3 + LDA #$0000 +L0900E3 STAL L0B0002 + PLA + TAY + BEQ L09012A + LDX #$0000 + TDC + CLC + ADC #$0050 + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090103 + LDA #$0000 +L090103 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L090128 + PEA $0000 + TDC + CLC + ADC #$0050 + PHA + _SetCursor + BCS L090124 + LDA #$0000 +L090124 STAL L0B0002 +L090128 BRA L090150 +L09012A LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090140 + LDA #$0000 +L090140 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L090150 + JSL L0311DD +L090150 PEA $0001 + JSL L060679 + PLY + TAY + BNE L09015E + BRL L0900C3 +L09015E PEA $0000 + JSL L06152C + PLY + STZ L0B00C7 + JSL L0612DE + JSL L04169A + JSL L031208 + LDA L0B0078 + SEC + SBC #$0000 + BEQ L09018E + BVS L090183 + EOR #$8000 +L090183 BPL L09018E + LDA L0B0078 + PHA + JSL L0607BE + PLY +L09018E TSC + CLC + ADC #$00B4 + TCS + PLD + RTL + +L090196 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$FDA4 + TCS + LDAL L0C072F + PHA + JSL L0108F6 + PLY + SEC + SBC #$0001 + PHA + JSL L0108F6 + PLY + STA $D8 + PEA $0000 + PEA $00F8 + PEA $0000 + TDC + CLC + ADC #$FF08 + PHA + JSL L025194 + PLY + PLY + PLY + PLY + PEA $0000 + PEA $00B8 + PEA $0000 + TDC + CLC + ADC #$FE50 + PHA + JSL L025194 + PLY + PLY + PLY + PLY + LDA #$000B + SEP #$20 + LDX #$FE50 + STA $00,X + REP #$20 + LDA #$0004 + SEP #$20 + LDX #$FE52 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEAE + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEB6 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEBE + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEC6 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FECE + STA $00,X + REP #$20 + PEA $00FF + PEA $0004 + PEA $0000 + TDC + CLC + ADC #$FED4 + PHA + JSL L025194 + PLY + PLY + PLY + PLY + LDA #$00F0 + SEP #$20 + LDX #$FED8 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEDE + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEE6 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEEE + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEF6 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FEFE + STA $00,X + REP #$20 + LDA #$0005 + SEP #$20 + LDX #$FF04 + STA $00,X + REP #$20 + LDA #$0004 + SEP #$20 + LDX #$FF06 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FF08 + STA $00,X + REP #$20 + LDA #$0004 + SEP #$20 + LDX #$FF0A + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FF86 + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FF87 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FF8E + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FF90 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FF95 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FF98 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FF9D + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FF9E + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FF9F + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFA5 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FFA6 + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFA7 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFAD + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFAF + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FFB4 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFB7 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FFBC + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FFBE + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFC4 + STA $00,X + REP #$20 + LDA #$000F + SEP #$20 + LDX #$FFC6 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFCC + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFCE + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFD4 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFD6 + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFDC + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFDD + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFE4 + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFE5 + STA $00,X + REP #$20 + LDA #$00FF + SEP #$20 + LDX #$FFEC + STA $00,X + REP #$20 + LDA #$00F0 + SEP #$20 + LDX #$FFF4 + STA $00,X + REP #$20 + LDA #$000E + SEP #$20 + LDX #$FFFC + STA $00,X + REP #$20 + JSL L090D3B + PEA $0000 + TDC + CLC + ADC #$FDA6 + PHA + _OpenPort + BCS L090455 + LDA #$0000 +L090455 STAL L0B0002 + LDA L0B0002 + BEQ L0904AF + PEA $56B9 + JSL L021DFD + PLY + PEA $0200 + PEA $0000 + PEA $5000 + LDX L0B0040 + LDA L0B003E + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDX L0B0040 + LDA L0B003E + PHX + PHA + JSL L04023C + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FDA6 + PHA + _OpenPort + BCS L0904A3 + LDA #$0000 +L0904A3 STAL L0B0002 + PEA $56BA + JSL L021DFD + PLY +L0904AF PEA $0000 + TDC + CLC + ADC #$FDA6 + PHA + _SetPort + BCS L0904C4 + LDA #$0000 +L0904C4 STAL L0B0002 + PEA $000F + _SetForeColor + BCS L0904D7 + LDA #$0000 +L0904D7 STAL L0B0002 + PEA $000F + _SetSolidPenPat + BCS L0904EA + LDA #$0000 +L0904EA STAL L0B0002 + PEA $0004 + _SetTextMode + BCS L0904FD + LDA #$0000 +L0904FD STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $002E + PEA $001C + PEA $013A + PEA $007E + _SetRect + BCS L090522 + LDA #$0000 +L090522 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _ClipRect + BCS L09053B + LDA #$0000 +L09053B STAL L0B0002 + PEA ^L0C27DF + PEA L0C27DF + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $FF + CMP #$004B + BEQ L09055D + BRL L09062D +L09055D PEA $0000 + TDC + CLC + ADC #$FDB6 + PHA + _ClipRect + BCS L090572 + LDA #$0000 +L090572 STAL L0B0002 + PEA $0000 + _SetPenMode + BCS L090585 + LDA #$0000 +L090585 STAL L0B0002 + PEI $D8 + _SetForeColor + BCS L090597 + LDA #$0000 +L090597 STAL L0B0002 + PEI $D8 + _SetSolidPenPat + BCS L0905A9 + LDA #$0000 +L0905A9 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + PEA $0030 + PEA $0083 + PEA $0048 + PEA $0093 + _SetRect + BCS L0905CE + LDA #$0000 +L0905CE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _PaintRect + BCS L0905E7 + LDA #$0000 +L0905E7 STAL L0B0002 + PEA $000F + _SetForeColor + BCS L0905FA + LDA #$0000 +L0905FA STAL L0B0002 + PEA $000F + _SetSolidPenPat + BCS L09060D + LDA #$0000 +L09060D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _FrameRect + BCS L090626 + LDA #$0000 +L090626 STAL L0B0002 + BRL L090CC2 +L09062D LDA $FF + CMP #$004F + BEQ L090637 + BRL L0906F0 +L090637 JSL L0311DD + LDA #$0002 + PHA + LDAL L0C0731 + SEC + JSL L01092D + PLY + PHA + LDAL L0C0733 + PHA + _MoveTo + BCS L09065B + LDA #$0000 +L09065B STAL L0B0002 + PEA $000F + _SetForeColor + BCS L09066E + LDA #$0000 +L09066E STAL L0B0002 + PEA $000F + _SetSolidPenPat + BCS L090681 + LDA #$0000 +L090681 STAL L0B0002 + PEA $0000 + _SetBackColor + BCS L090694 + LDA #$0000 +L090694 STAL L0B0002 + PEA $0000 + _SetSolidBackPat + BCS L0906A7 + LDA #$0000 +L0906A7 STAL L0B0002 + PEA ^L0C27E1 + PEA L0C27E1 + PEA ^L0C11BB + PEA L0C11BB + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA #$0000 + STAL L0C1AA2 + LDA #$0000 + STAL L0C1AA8 + LDA #$0014 + STAL L0C1A9A + LDA #$0000 + STAL L0C1AA6 + LDA #$0000 + STAL L0C1AB0 + JSL L0618EB + LDA #$0001 + STAL L0C1AA2 + BRL L090CC2 +L0906F0 JSL L06063A + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA #$0001 + PHA + LDA $E2 + SEC + JSL L010CD9 + PLA + STA $E2 + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _PtInRect + BCS L09073E + LDA #$0000 +L09073E STAL L0B0002 + PLA + TAY + BNE L090749 + BRL L0907CE +L090749 LDA $FF + CMP #$0051 + BNE L09078F + LDX #$0000 + TDC + CLC + ADC #$FF08 + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090768 + LDA #$0000 +L090768 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L09078D + PEA $0000 + TDC + CLC + ADC #$FF08 + PHA + _SetCursor + BCS L090789 + LDA #$0000 +L090789 STAL L0B0002 +L09078D BRA L0907CC +L09078F LDX #$0000 + TDC + CLC + ADC #$FE50 + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L0907A7 + LDA #$0000 +L0907A7 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L0907CC + PEA $0000 + TDC + CLC + ADC #$FE50 + PHA + _SetCursor + BCS L0907C8 + LDA #$0000 +L0907C8 STAL L0B0002 +L0907CC BRA L0907F4 +L0907CE LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L0907E4 + LDA #$0000 +L0907E4 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L0907F4 + JSL L0311DD +L0907F4 PEA $0001 + JSL L060679 + PLY + TAY + BNE L090802 + BRL L0906F0 +L090802 JSL L0612DE + TAY + BEQ L09080C + BRL L090CC2 +L09080C JSL L04169A + TAY + BEQ L090816 + BRL L090CC2 +L090816 LDA L0B0078 + BEQ L09081E + BRL L090CC2 +L09081E LDAL L0C1A7A + CMP #$0001 + BEQ L09082A + BRL L090CC2 +L09082A PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _PtInRect + BCS L090849 + LDA #$0000 +L090849 STAL L0B0002 + PLA + TAY + BNE L090854 + BRL L090CC2 +L090854 PEA ^L0C27E2 + PEA L0C27E2 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0002 + _SetPenMode + BCS L090877 + LDA #$0000 +L090877 STAL L0B0002 + PEA $000F + _SetForeColor + BCS L09088A + LDA #$0000 +L09088A STAL L0B0002 + PEA $000F + _SetSolidPenPat + BCS L09089D + LDA #$0000 +L09089D STAL L0B0002 + LDX #$0000 + TDC + CLC + ADC #$00E0 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $FF + SEC + SBC #$0050 + BVS L0908CB + EOR #$8000 +L0908CB BPL L0908D0 + BRL L090AA1 +L0908D0 JSL L06063A + LDA #$0001 + PHA + LDAL L0C1A86 + SEC + JSL L010CD9 + PLA + STAL L0C1A86 + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _PtInRect + BCS L090902 + LDA #$0000 +L090902 STAL L0B0002 + PLA + TAY + BEQ L090949 + LDX #$0000 + TDC + CLC + ADC #$FE50 + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090922 + LDA #$0000 +L090922 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L090947 + PEA $0000 + TDC + CLC + ADC #$FE50 + PHA + _SetCursor + BCS L090943 + LDA #$0000 +L090943 STAL L0B0002 +L090947 BRA L09096F +L090949 LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L09095F + LDA #$0000 +L09095F STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L09096F + JSL L0311DD +L09096F LDA $FF + SEC + SBC #$0046 + BVS L09097A + EOR #$8000 +L09097A BMI L0909DB + PEI $E2 + PEI $E0 + _MoveTo + BCS L09098C + LDA #$0000 +L09098C STAL L0B0002 + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + _LineTo + BCS L0909A6 + LDA #$0000 +L0909A6 STAL L0B0002 + PEI $E2 + PEI $E0 + _MoveTo + BCS L0909BA + LDA #$0000 +L0909BA STAL L0B0002 + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + _LineTo + BCS L0909D4 + LDA #$0000 +L0909D4 STAL L0B0002 + BRL L090A86 +L0909DB PEA $0000 + TDC + CLC + ADC #$00EC + PHA + LDAL L0C1A86 + SEC + SBC $E2 + BVS L0909F0 + EOR #$8000 +L0909F0 BMI L0909F8 + LDAL L0C1A86 + BRA L0909FA +L0909F8 LDA $E2 +L0909FA PHA + LDAL L0C1A84 + SEC + SBC $E0 + BVS L090A07 + EOR #$8000 +L090A07 BMI L090A0F + LDAL L0C1A84 + BRA L090A11 +L090A0F LDA $E0 +L090A11 PHA + LDAL L0C1A86 + SEC + SBC $E2 + BEQ L090A28 + BVS L090A20 + EOR #$8000 +L090A20 BPL L090A28 + LDAL L0C1A86 + BRA L090A2A +L090A28 LDA $E2 +L090A2A PHA + LDAL L0C1A84 + SEC + SBC $E0 + BEQ L090A41 + BVS L090A39 + EOR #$8000 +L090A39 BPL L090A41 + LDAL L0C1A84 + BRA L090A43 +L090A41 LDA $E0 +L090A43 PHA + _SetRect + BCS L090A50 + LDA #$0000 +L090A50 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _FrameRect + BCS L090A69 + LDA #$0000 +L090A69 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _FrameRect + BCS L090A82 + LDA #$0000 +L090A82 STAL L0B0002 +L090A86 PHA + PEA $0000 + _StillDown + BCS L090A96 + LDA #$0000 +L090A96 STAL L0B0002 + PLA + TAY + BEQ L090AA1 + BRL L0908D0 +L090AA1 PEA $0000 + _SetPenMode + BCS L090AB0 + LDA #$0000 +L090AB0 STAL L0B0002 + LDA $FF + BRL L090CB1 +L090AB9 PEI $E2 + PEI $E0 + _MoveTo + BCS L090AC9 + LDA #$0000 +L090AC9 STAL L0B0002 + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + _LineTo + BCS L090AE3 + LDA #$0000 +L090AE3 STAL L0B0002 + BRL L090CC2 +L090AEA PEI $D8 + _SetForeColor + BCS L090AF8 + LDA #$0000 +L090AF8 STAL L0B0002 + PEI $D8 + _SetSolidPenPat + BCS L090B0A + LDA #$0000 +L090B0A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _PaintRect + BCS L090B23 + LDA #$0000 +L090B23 STAL L0B0002 + PEA $000F + _SetForeColor + BCS L090B36 + LDA #$0000 +L090B36 STAL L0B0002 + PEA $000F + _SetSolidPenPat + BCS L090B49 + LDA #$0000 +L090B49 STAL L0B0002 +L090B4D PEA $0000 + TDC + CLC + ADC #$00EC + PHA + _FrameRect + BCS L090B62 + LDA #$0000 +L090B62 STAL L0B0002 + BRL L090CC2 +L090B69 PEI $E2 + PEI $E0 + _MoveTo + BCS L090B79 + LDA #$0000 +L090B79 STAL L0B0002 +L090B7D JSL L06063A + LDA #$0001 + PHA + LDAL L0C1A86 + SEC + JSL L010CD9 + PLA + STAL L0C1A86 + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _PtInRect + BCS L090BAF + LDA #$0000 +L090BAF STAL L0B0002 + PLA + TAY + BEQ L090BF6 + LDX #$0000 + TDC + CLC + ADC #$FF08 + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090BCF + LDA #$0000 +L090BCF STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L090BF4 + PEA $0000 + TDC + CLC + ADC #$FF08 + PHA + _SetCursor + BCS L090BF0 + LDA #$0000 +L090BF0 STAL L0B0002 +L090BF4 BRA L090C1C +L090BF6 LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L090C0C + LDA #$0000 +L090C0C STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L090C1C + JSL L0311DD +L090C1C LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00E0 + PHX + PHA + LDY #$0003 + JSL L01122C + BEQ L090C6E + LDAL L0C1A86 + PHA + LDAL L0C1A84 + PHA + _LineTo + BCS L090C4D + LDA #$0000 +L090C4D STAL L0B0002 + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L090C6E PHA + PEA $0000 + _StillDown + BCS L090C7E + LDA #$0000 +L090C7E STAL L0B0002 + PLA + TAY + BEQ L090C89 + BRL L090B7D +L090C89 JSL L0311DD + BRL L090CC2 +L090C90 BRL L090CC2 +L090C93 DA L090AB9 + DA L090AB9 + DA L090C90 + DA L090C90 + DA L090B4D + DA L090B4D + DA L090C90 + DA L090C90 + DA L090AEA + DA L090AEA + DA L090C90 + DA L090C90 + DA L090C90 + DA L090B69 + DA L090C90 +L090CB1 SEC + SBC #$0044 + CMP #$000E + BCC L090CBD + LDA #$000E +L090CBD ASL + TAX + JMP (L090C93,X) + +L090CC2 PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L090CD4 + LDA #$0000 +L090CD4 STAL L0B0002 + JSL L090D65 + LDA L0B0078 + SEC + SBC #$0000 + BEQ L090CF5 + BVS L090CEA + EOR #$8000 +L090CEA BPL L090CF5 + LDA L0B0078 + PHA + JSL L0607BE + PLY +L090CF5 JSL L031208 + LDX #$FDC0 + LDA $00,X + TAX + PHX + LDX #$FDBE + LDA $00,X + PHA + _DisposeHandle + BCS L090D12 + LDA #$0000 +L090D12 STAL L0B0002 + LDX #$FDC4 + LDA $00,X + TAX + PHX + LDX #$FDC2 + LDA $00,X + PHA + _DisposeHandle + BCS L090D2F + LDA #$0000 +L090D2F STAL L0B0002 + TSC + CLC + ADC #$0354 + TCS + PLD + RTL + +L090D3B PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L0620B1 + PEA $0008 + _SetMasterSCB + BCS L090D59 + LDA #$0000 +L090D59 STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L090D65 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L06204F + PEA $0087 + _SetMasterSCB + BCS L090D83 + LDA #$0000 +L090D83 STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L090D8F ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EA + TCS + LDA #$0001 + STA L0B00A8 + LDA $FF + BRL L091139 +L090DA5 LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + LDAL L0C0731 + BRL L090F20 +L090DBD PEA $006E + PEA $0000 + PEA $0032 + PEA $0010 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDAL L0C246C + TAX + LDAL L0C246A + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDA #$0003 + STA $EE + BRL L090F2E +L090DFC PEA $006E + PEA $0000 + PEA $0032 + PEA $0008 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDAL L0C246C + TAX + LDAL L0C246A + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDA #$0003 + STA $EE + BRL L090F2E +L090E3B PEA $006E + PEA $0000 + PEA $0032 + PEA $0010 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + PEA $006E + PEA $0000 + PEA $0039 + PEA $0010 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDAL L0C2470 + TAX + LDAL L0C246E + PHA + TXA + STAL L0C2474 + PLA + STAL L0C2472 + LDA #$0004 + STA $EE + BRL L090F2E +L090E9D PEA $006E + PEA $0000 + PEA $0039 + PEA $0005 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDAL L0C246C + TAX + LDAL L0C246A + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDAL L0C246C + TAX + LDAL L0C246A + PHA + TXA + STAL L0C2474 + PLA + STAL L0C2472 + PEA $006E + PEA $0000 + PEA $0032 + PEA $0010 + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2478 + PLA + STAL L0C2476 + LDA #$0005 + STA $EE + BRL L090F2E +L090F13 BRL L090F2E +L090F16 DA L090DBD + DA L090DFC + DA L090E3B + DA L090E9D + DA L090F13 +L090F20 DEC + CMP #$0004 + BCC L090F29 + LDA #$0004 +L090F29 ASL + TAX + JMP (L090F16,X) + +L090F2E PEA $0000 + PEA $0000 + PEA $0000 + PEA $000C + PEA $0002 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHX + PHA + LDA $EE + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + INC $EE + LDA $EE + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDX #$0000 + LDA #$0002 + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + INC $EE + LDA $EE + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDX #$FFFF + LDA #$FFFF + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + PEA ^L0C2466 + PEA L0C2466 + JSL L0502A4 + PLY + PLY + BRL L091154 +L090FD2 JSL L094449 + BRL L091154 +L090FD9 JSL L0311DD + JSL L0612B1 + PEA ^L0C09F0 + PEA L0C09F0 + PEA ^L0C11BB + PEA L0C11BB + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + STAL L0C1A9A + LDA #$0000 + STAL L0C1AB0 + LDA #$0001 + STAL L0C1AAC + STZ L0B0078 + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + _GetPen + BCS L09102B + LDA #$0000 +L09102B STAL L0B0002 +L09102F LDAL L0C0733 + STAL L0C1AA8 + LDAL L0C0731 + STAL L0C1AAE + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + STA $EE + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L091060 + LDA #$0000 +L091060 STAL L0B0002 + PLA + JSL L0618EB + LDAL L0C1AAE + BEQ L09107D + LDA L0B0078 + SEC + SBC #$0000 + BEQ L09107D + BVS L09107D + EOR #$8000 +L09107D PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + CMP $EE + BEQ L0910C6 + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + PHA + LDA $EE + PLX + STX $F8 + SEC + SBC $F8 + STA $EC + LDAL L0C0731 + SEC + SBC $EC + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + LDAL L0C0733 + SEC + SBC $EC + PHA + PEA $0002 + JSL L0251CD + PLY + PLY +L0910C6 PEI $F2 + PEI $F0 + _MoveTo + BCS L0910D6 + LDA #$0000 +L0910D6 STAL L0B0002 + LDAL L0C0731 + BEQ L091109 + PEA ^L0C11BB + PEA L0C11BB + JSL L010D87 + PLY + PLY + TAY + BEQ L091109 + LDA L0B0078 + SEC + SBC #$0000 + BEQ L0910FF + BVS L0910FD + EOR #$8000 +L0910FD BMI L091109 +L0910FF JSL L0612DE + TAY + BNE L091109 + BRL L09102F +L091109 LDA #$0000 + STAL L0C1AAC + PEA $0001 + JSL L06135C + PLY + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L09112B + LDA #$0000 +L09112B STAL L0B0002 + PLA + JSL L031208 + BRL L091154 +L091137 BRA L091154 +L091139 CMP #$0002 + BNE L091141 + BRL L090DA5 +L091141 CMP #$001B + BNE L091149 + BRL L090FD2 +L091149 CMP #$001F + BNE L091151 + BRL L090FD9 +L091151 JMP L091137 + +L091154 TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L09115C ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EE + TCS + LDA #$0001 + STA L0B00A8 + LDA $FF + BRL L0912D6 +L091172 BRL L09131B +L091175 LDX L0B0030 + LDA L0B002E + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + PHX + PHA + LDAL L0C0745 + PHA + LDAL L0C0743 + PHA + LDAL L0C0733 + PHA + LDAL L0C0731 + PHA + JSL L095311 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + BRL L09131B +L0911AC LDA #L0C0EFA + LDX #^L0C0EFA + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + PHA + LDAL L0C0EFA + PHA + JSL L09546C + PLY + PLY + BRL L09131B +L0911CA JSL L095160 + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + JSL L0951A8 + PHA + PEA $0002 + JSL L0251CD + PLY + PLY + BRL L09131B +L0911E9 PEA $0000 + JSL L090000 + PLY + BRL L09131B +L0911F4 PEA ^L0C078C + PEA L0C078C + JSL L040E53 + PLY + PLY + STA $F2 + SEC + SBC #$0000 + BVS L09120B + EOR #$8000 +L09120B BPL L091256 + LDA $F2 + SEC + SBC #$0032 + BVS L091218 + EOR #$8000 +L091218 BMI L091256 + LDA $F2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + PEA ^L0C07BF + PEA L0C07BF + JSL L0915E3 + PLY + PLY + PLY + PLY +L091256 BRL L09131B +L091259 PEA ^L0C1188 + PEA L0C1188 + JSL L0246BF + PLY + PLY + STA $F0 + LDA #$0001 + STA $F2 + BRA L091294 +L09126E LDA $F2 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L09128E + LDA #$0000 +L09128E STAL L0B0002 + INC $F2 +L091294 LDA $F2 + SEC + SBC $F0 + BEQ L09126E + BVS L0912A0 + EOR #$8000 +L0912A0 BPL L09126E + PEA ^L0C27E4 + PEA L0C27E4 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + BRL L09131B +L0912B9 JSL L091323 + BRL L09131B +L0912C0 PEA $0001 + JSL L090000 + PLY + BRL L09131B +L0912CB PEI $FF + JSL L090196 + PLY + BRA L09131B + BRA L09131B +L0912D6 CMP #$0000 + BNE L0912DE + BRL L091172 +L0912DE CMP #$0006 + BNE L0912E6 + BRL L0911AC +L0912E6 CMP #$0007 + BNE L0912EE + BRL L0911CA +L0912EE CMP #$0013 + BNE L0912F6 + BRL L0911E9 +L0912F6 CMP #$0016 + BNE L0912FE + BRL L0911F4 +L0912FE CMP #$0039 + BNE L091306 + BRL L091259 +L091306 CMP #$003A + BEQ L0912B9 + CMP #$004E + BEQ L0912C0 + CMP #$FFFA + BNE L091318 + BRL L091175 +L091318 JMP L0912CB + +L09131B TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L091323 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00E0 + TCS + STZ $E4 + BRA L091353 +L091332 LDA $E4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00EA + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] + INC $E4 +L091353 LDA $E4 + SEC + SBC #$0005 + BEQ L091332 + BVS L091360 + EOR #$8000 +L091360 BPL L091332 + JSL L0311DD + PEA $0001 + JSL L06078F + PLY + LDA L0B0078 + CMP #$FFFF + BNE L091379 + BRL L0913E9 +L091379 PEA ^L0C27E6 + PEA L0C27E6 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA L0B0078 + SEC + SBC #$0000 + BEQ L0913E6 + BVS L09139B + EOR #$8000 +L09139B BPL L0913E6 + PEA $0001 + LDA L0B0078 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L0613E4 + PLY + PLY + PLY + PLY + PLY +L0913E6 BRL L0915D7 +L0913E9 LDA #$0001 + STA $E8 + PEA ^L0C0EFA + PEA L0C0EFA + _InvertRect + BCS L091400 + LDA #$0000 +L091400 STAL L0B0002 + LDA #$0001 + STA $EC +L091409 JSL L06063A + STZ $E6 + LDA #$0001 + STA $E4 + BRA L091446 +L091416 LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + SEC + SBCL L0C1A84 + BEQ L091440 + BVS L09143E + EOR #$8000 +L09143E BMI L091444 +L091440 LDA $E4 + STA $E6 +L091444 INC $E4 +L091446 LDA $E4 + SEC + SBC #$0005 + BEQ L091416 + BVS L091453 + EOR #$8000 +L091453 BPL L091416 + LDA $E6 + CMP $E8 + BNE L09145E + BRL L0915AD +L09145E PHA + PEA $0000 + _StillDown + BCS L09146E + LDA #$0000 +L09146E STAL L0B0002 + PLA + TAY + BNE L091479 + BRL L0915AD +L091479 LDA $E6 + SEC + SBC $E8 + BVS L091483 + EOR #$8000 +L091483 BPL L091488 + BRL L091506 +L091488 LDA $E6 + CLC + ADC #$0001 + STA $E4 + BRA L0914F5 +L091492 LDA $E4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00EA + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + BEQ L0914F3 + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L0914D0 + LDA #$0000 +L0914D0 STAL L0B0002 + LDA $E4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00EA + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0000 + STA [$F6] +L0914F3 INC $E4 +L0914F5 LDA $E4 + SEC + SBC $E8 + BEQ L091492 + BVS L091501 + EOR #$8000 +L091501 BPL L091492 + BRL L0915A9 +L091506 LDA $E6 + SEC + SBC $E8 + BNE L091510 + BRL L0915A9 +L091510 BVS L091515 + EOR #$8000 +L091515 BMI L09151A + BRL L0915A9 +L09151A LDA #$0001 + STA $E2 + LDA $E8 + SEC + SBC #$0001 + BEQ L091532 + BVS L09152C + EOR #$8000 +L09152C BPL L091532 + LDA $E8 + STA $E2 +L091532 LDA $E2 + STA $E4 + BRA L09159B +L091538 LDA $E4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00EA + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + BNE L091599 + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _InvertRect + BCS L091576 + LDA #$0000 +L091576 STAL L0B0002 + LDA $E4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00EA + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA #$0001 + STA [$F6] +L091599 INC $E4 +L09159B LDA $E4 + SEC + SBC $E6 + BEQ L091538 + BVS L0915A7 + EOR #$8000 +L0915A7 BPL L091538 +L0915A9 LDA $E6 + STA $E8 +L0915AD PHA + PEA $0000 + _StillDown + BCS L0915BD + LDA #$0000 +L0915BD STAL L0B0002 + PLA + TAY + BEQ L0915C8 + BRL L091409 +L0915C8 PEA ^L0C1188 + PEA L0C1188 + PEI $E8 + JSL L02441B + PLY + PLY + PLY +L0915D7 JSL L031208 + TSC + CLC + ADC #$001A + TCS + PLD + RTL + +L0915E3 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$006A + TCS + LDA #$00C8 + STA $E4 + STZ $E2 + LDA #$0001 + STA $DC + STZ $EA + LDA #$FFFF + STA $EC + STZ $E8 + STZ $D8 + STZ $DA + STZ $DE + STZ $E0 + PEA ^L0C27E8 + PEA L0C27E8 + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + PEA $0000 + PEA $0078 + LDX L0B0030 + LDA L0B002E + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C27E9 + PEA L0C27E9 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L09166D + STZ $E0 + BRL L0916C1 +L09166D PEA ^L0C27ED + PEA L0C27ED + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L09168B + LDA #$0001 + STA $E0 + BRA L0916C1 +L09168B PEA ^L0C27F2 + PEA L0C27F2 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0916C1 + LDA #$0002 + STA $E0 + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $DE +L0916C1 PHX + PHA + PEI $FF + PEI $FD + _GetHandleSize + BCS L0916D3 + LDA #$0000 +L0916D3 STAL L0B0002 + PLA + PLX + STX $D6 + STA $D4 + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + PEI $E0 + JSL L0919E1 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA +L09170A LDA $EC + SEC + SBC #$0000 + BVS L091715 + EOR #$8000 +L091715 BMI L09171A + BRL L0919D9 +L09171A LDA $EC + SEC + SBC $EA + BVS L091724 + EOR #$8000 +L091724 BPL L091743 + SEC + LDA $D8 + SBC $D4 + BNE L091733 + LDA $DA + SBC $D6 + BRA L091739 +L091733 LDA $DA + SBC $D6 + REP #$02 +L091739 BVS L09173E + EOR #$8000 +L09173E BPL L091743 + BRL L0919D9 +L091743 LDA $EC + SEC + SBC $EA + BVS L09174D + EOR #$8000 +L09174D BMI L091755 + STZ $D8 + STZ $DA + STZ $EA +L091755 LDA $EA + SEC + SBC $EC + BVS L09175F + EOR #$8000 +L09175F BMI L09179F + SEC + LDA $D8 + SBC $D4 + BNE L09176E + LDA $DA + SBC $D6 + BRA L091774 +L09176E LDA $DA + SBC $D6 + REP #$02 +L091774 BVS L091779 + EOR #$8000 +L091779 BMI L09179F + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + JSL L091A7A + TAY + TSC + CLC + ADC #$000C + TCS + TYA + BRA L091755 +L09179F LDA $EA + CMP $EC + BEQ L0917A8 + BRL L0919A9 +L0917A8 LDX $DA + LDA $D8 + CLC + ADC #$0002 + PHA + TXA + ADC #$0000 + TAX + PLA + STX $DA + STA $D8 + PEA ^L0C1A84 + PEA L0C1A84 + _GetPen + BCS L0917CD + LDA #$0000 +L0917CD STAL L0B0002 + JSL L0951A8 + STA $E2 +L0917D7 PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L091BE6 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L091E64 + PLY + PLY + PEA ^L0C27F9 + PEA L0C27F9 + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L09182E + BRL L091898 +L09182E PEA ^L0C10BA + PEA L0C10BA + _GetPen + BCS L091840 + LDA #$0000 +L091840 STAL L0B0002 + LDX L0B0030 + LDA L0B002E + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + STX $6E + STA $6C + LDA #L0C10BA + LDX #^L0C10BA + PHX + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L091873 + DEX +L091873 SEC + JSL L010CB2 + LDX $6E + LDA $6C + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PEI $F0 + PEI $EE + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + INC $E2 +L091898 LDA #$0000 + STAL L0C10BC + LDA #$0000 + STAL L0C10BA + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L0601C6 + PLY + PLY + LDAL L0C10BC + BNE L0918C1 + LDAL L0C10BA + BEQ L09191B +L0918C1 LDX L0B0030 + LDA L0B002E + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + STX $6E + STA $6C + LDA #L0C10BA + LDX #^L0C10BA + PHX + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L0918F0 + DEX +L0918F0 SEC + JSL L010CB2 + LDX $6E + LDA $6C + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PEI $F0 + PEI $EE + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDAL L0C10BA + STA $E4 + INC $E2 +L09191B SEC + LDA $D8 + SBC $D4 + BNE L091928 + LDA $DA + SBC $D6 + BRA L09192E +L091928 LDA $DA + SBC $D6 + REP #$02 +L09192E BVS L091933 + EOR #$8000 +L091933 BMI L09193E + LDA $EA + CMP $EC + BNE L09193E + BRL L0917D7 +L09193E LDA #L0C0D1C + LDX #^L0C0D1C + PHX + PHA + LDA #L0C10BA + LDX #^L0C10BA + PHX + PHA + LDY #$0003 + JSL L01122C + BEQ L0919A9 + LDX L0B0030 + LDA L0B002E + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + STX $6E + STA $6C + LDA #L0C0D1C + LDX #^L0C0D1C + PHX + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L091986 + DEX +L091986 SEC + JSL L010CB2 + LDX $6E + LDA $6C + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PEI $F0 + PEI $EE + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L0919A9 PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + PEI $E0 + JSL L0919E1 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + BRL L09170A +L0919D9 TSC + CLC + ADC #$0088 + TCS + PLD + RTL + +L0919E1 PHD + TSC + SEC + SBC #$00E9 + TCD + ADC #$00E0 + TCS + LDA $EF + CMP #$0000 + BNE L0919FB + LDA [$F1] + INC + STA [$F1] + BRL L091A72 +L0919FB LDA $EF + CMP #$0001 + BNE L091A2F + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L010D87 + PLY + PLY + TAY + BNE L091A28 + LDA #$FFFF + STA [$F1] + BRA L091A2D +L091A28 LDA L0B0082 + STA [$F1] +L091A2D BRA L091A72 +L091A2F LDA $EF + CMP #$0002 + BNE L091A72 + LDA [$F1] + INC + STA [$F1] +L091A3B LDA [$F1] + PHA + LDA [$F5] + PLX + STX $E4 + CMP $E4 + BNE L091A72 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L010D87 + PLY + PLY + TAY + BEQ L091A6B + LDA L0B0082 + STA [$F5] +L091A6B LDA [$F1] + INC + STA [$F1] + BRA L091A3B +L091A72 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L091A7A PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E0 + TCS + PHX + PHA + PEI $FB + PEI $F9 + _GetHandleSize + BCS L091A97 + LDA #$0000 +L091A97 STAL L0B0002 + PLA + PLX + STX $E8 + STA $E6 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0002 + PHA + TXA + ADC #$0000 + TAX + PLA + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDX #$0000 + TAY + BPL L091ACD + DEX +L091ACD PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + SEP #$20 + STA $E3 + REP #$20 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + LDX #$0000 + TAY + BPL L091B03 + DEX +L091B03 PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + SEP #$20 + STA $E2 + REP #$20 +L091B1F LDX $E8 + LDA $E6 + PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010B98 + BNE L091B36 + BRL L091BD9 +L091B36 BVS L091B3B + EOR #$8000 +L091B3B BMI L091B40 + BRL L091BD9 +L091B40 LDA $E3 + AND #$00FF + CMP #$0025 + BNE L091B57 + LDA $E2 + AND #$00FF + CMP #$0025 + BNE L091B57 + BRL L091BD9 +L091B57 LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + STA [$FD] + PHA + LDY #$0002 + LDA [$FD],Y + BCC L091B6E + INC +L091B6E TAX + LDY #$0002 + STA [$FD],Y + PLA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDX #$0000 + TAY + BPL L091B84 + DEX +L091B84 PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + SEP #$20 + STA $E3 + REP #$20 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + LDX #$0000 + TAY + BPL L091BBA + DEX +L091BBA PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + SEP #$20 + STA $E2 + REP #$20 + BRL L091B1F +L091BD9 LDA [$F5] + INC + STA [$F5] + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L091BE6 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00D8 + TCS + LDX $F3 + LDA $F1 + STX $DC + STA $DA + PHX + PHA + PEI $FB + PEI $F9 + _GetHandleSize + BCS L091C0B + LDA #$0000 +L091C0B STAL L0B0002 + PLA + PLX + STX $E2 + STA $E0 + LDA #$0001 + STA $E4 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDX #$0000 + TAY + BPL L091C29 + DEX +L091C29 PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DF + REP #$20 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + LDX #$0000 + TAY + BPL L091C5F + DEX +L091C5F PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DE + REP #$20 +L091C7B LDA $E4 + BNE L091C82 + BRL L091E53 +L091C82 LDX $E2 + LDA $E0 + PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010B98 + BEQ L091C9D + BVS L091C9B + EOR #$8000 +L091C9B BMI L091CA2 +L091C9D STZ $E4 + BRL L091DEF +L091CA2 LDA $DF + AND #$00FF + CMP #$0025 + BNE L091CC0 + LDA $DE + AND #$00FF + CMP #$0025 + BNE L091CC0 + STZ $E4 + LDA [$F5] + INC + STA [$F5] + BRL L091DEF +L091CC0 LDA $DF + AND #$00FF + CMP #$000D + BEQ L091CD7 + LDA $DF + AND #$00FF + CMP #$000A + BEQ L091CD7 + BRL L091D99 +L091CD7 STZ $E4 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + STA [$FD] + PHA + LDY #$0002 + LDA [$FD],Y + BCC L091CF0 + INC +L091CF0 TAX + LDY #$0002 + STA [$FD],Y + PLA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDX #$0000 + TAY + BPL L091D06 + DEX +L091D06 PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DF + REP #$20 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + LDX #$0000 + TAY + BPL L091D3C + DEX +L091D3C PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DE + REP #$20 + LDX $E2 + LDA $E0 + SEC + SBC #$0002 + PHA + TXA + SBC #$0000 + TAX + PLA + PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010B98 + BEQ L091D97 + BVS L091D7C + EOR #$8000 +L091D7C BPL L091D97 + LDA $DF + AND #$00FF + CMP #$0025 + BNE L091D97 + LDA $DE + AND #$00FF + CMP #$0025 + BNE L091D97 + LDA [$F5] + INC + STA [$F5] +L091D97 BRA L091DEF +L091D99 LDA $DF + AND #$00FF + SEC + SBC #$0020 + BVS L091DA7 + EOR #$8000 +L091DA7 BPL L091DD1 + LDA $DF + AND #$00FF + SEC + SBC #$007E + BEQ L091DBB + BVS L091DB9 + EOR #$8000 +L091DB9 BMI L091DD1 +L091DBB LDX $F3 + LDA $F1 + INC $F1 + BNE L091DC5 + INC $F3 +L091DC5 STA $E6 + STX $E8 + LDA $DF + SEP #$20 + STA [$E6] + REP #$20 +L091DD1 LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + STA [$FD] + PHA + LDY #$0002 + LDA [$FD],Y + BCC L091DE8 + INC +L091DE8 TAX + LDY #$0002 + STA [$FD],Y + PLA +L091DEF LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDX #$0000 + TAY + BPL L091DFE + DEX +L091DFE PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DF + REP #$20 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + LDX #$0000 + TAY + BPL L091E34 + DEX +L091E34 PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DE + REP #$20 + BRL L091C7B +L091E53 LDA #$0000 + SEP #$20 + STA [$F1] + REP #$20 + TSC + CLC + ADC #$0012 + TCS + PLD + RTL + +L091E64 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EF + TCS + PEI $FF + PEI $FD + JSL L024E6B + PLY + PLY + PEI $FF + PEI $FD + JSL L0244F2 + PLY + PLY + TSC + CLC + ADC #$0007 + TCS + PLD + RTL + +L091E8B ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00A1 + TCS + LDA #$0001 + STA L0B00A8 + LDA $FF + BRL L092002 +L091EA1 PEA ^L0C27FA + PEA L0C27FA + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L040E53 + PLY + PLY + STA $A3 + LDA $A3 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + STX $BF + STA $BD + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L091F1A + LDA #$0000 +L091F1A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00B5 + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L091F3F + LDA #$0000 +L091F3F STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0001 + PEA $0002 + PEI $BF + PEI $BD + JSL L071136 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + BRL L092010 +L091F65 LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0150 + PEA $0002 + PEA $01A2 + PEA $0024 + _SetRect + BCS L091F97 + LDA #$0000 +L091F97 STAL L0B0002 + LDX #$0000 + TDC + CLC + ADC #$00A5 + STA $F4 + STX $F6 + LDAL L0C0731 + LDY #$0002 + STA [$F4],Y + LDAL L0C0733 + STA $A5 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$00A5 + PHA + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L092010 +L091FEC JSL L092018 + BRL L092010 +L091FF3 BRL L092010 +L091FF6 DA L091EA1 + DA L091FF3 + DA L091FF3 + DA L091F65 + DA L091FEC + DA L091FF3 +L092002 DEC + CMP #$0005 + BCC L09200B + LDA #$0005 +L09200B ASL + TAX + JMP (L091FF6,X) + +L092010 TSC + CLC + ADC #$0057 + TCS + PLD + RTL + +L092018 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$FD27 + TCS + PEA $0000 + TDC + CLC + ADC #$FEE0 + PHA + JSL L09361D + PLY + PLY + STZ $E4 + BRA L092061 +L092036 LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C2466 + LDX #^L0C2466 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F6],Y + PLA + STA [$F6] + INC $E4 +L092061 LDA $E4 + SEC + SBC #$0020 + BVS L09206C + EOR #$8000 +L09206C BPL L092036 + LDA #$0002 + STA $EE + LDA #$0001 + STA $EC + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L092099 + LDA #$0000 +L092099 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L0920BE + LDA #$0000 +L0920BE STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FD48 + PHA + LDAL L0C0731 + PHA + LDAL L0C0733 + PHA + _SetPt + BCS L0920E1 + LDA #$0000 +L0920E1 STAL L0B0002 + LDAL L0C0735 + STA $F0 + PEA ^L0C2805 + PEA L0C2805 + PEA $0000 + TDC + CLC + ADC #$FD2A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FD2A + PHA + JSL L040E53 + PLY + PLY + STA $E6 + LDA $E6 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + TAX + LDY #$0002 + LDA [$F6],Y + TXY + LDX #$FEDC + STY $02,X + STA $00,X + TYX + STZ $E4 +L09214A LDA $E4 + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + AND #$00FF + CMP #$0000 + BNE L09216E + BRL L092971 +L09216E PEA $0000 + TDC + CLC + ADC #$FDCC + PHA + LDX #$FD4A + LDA $00,X + SEC + SBC #$0018 + PHA + LDX #$FD48 + LDA $00,X + SEC + SBC #$0008 + PHA + LDX #$FD4A + LDA $00,X + CLC + ADC #$0052 + SEC + SBC #$0018 + PHA + LDX #$FD48 + LDA $00,X + CLC + ADC #$0022 + SEC + SBC #$0008 + PHA + _SetRect + BCS L0921B3 + LDA #$0000 +L0921B3 STAL L0B0002 + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$FDCC + PHA + PEA $0001 + PEA $0005 + LDX #$FD48 + LDA $00,X + PHA + LDX #$FD4A + LDA $00,X + PHA + LDX #$FEDE + LDA $00,X + TAX + PHX + LDX #$FEDC + LDA $00,X + PHA + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA $E4 + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + AND #$00FF + BRL L092939 +L09220D LDX #$0000 + TDC + CLC + ADC #$FD48 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDX #$0000 + TDC + CLC + ADC #$FD4C + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD50 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0064 + PEA $0000 + PEA $001E + PEA $0008 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $0064 + PEA $0000 + PEA $0021 + PEA $0021 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDA $F0 + BRL L09250E +L092296 PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $00A8 + PEA $0002 + PEA $00FA + PEA $0024 + _SetRect + BCS L0922B7 + LDA #$0000 +L0922B7 STAL L0B0002 + LDAL L0C073D + BEQ L0922E8 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $00FC + PEA $0071 + PEA $014E + PEA $0093 + _SetRect + BCS L0922E2 + LDA #$0000 +L0922E2 STAL L0B0002 + BRA L09230D +L0922E8 PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L092309 + LDA #$0000 +L092309 STAL L0B0002 +L09230D PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0003 + STA $F0 + BRL L09251B +L092348 PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $01A4 + PEA $004C + PEA $01F6 + PEA $006E + _SetRect + BCS L092369 + LDA #$0000 +L092369 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0150 + PEA $0002 + PEA $01A2 + PEA $0024 + _SetRect + BCS L09238E + LDA #$0000 +L09238E STAL L0B0002 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + STZ $F0 + BRL L09251B +L0923CA PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0150 + PEA $0027 + PEA $01A2 + PEA $0049 + _SetRect + BCS L0923EB + LDA #$0000 +L0923EB STAL L0B0002 + LDAL L0C073D + BEQ L09241C + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0000 + PEA $0071 + PEA $0052 + PEA $0093 + _SetRect + BCS L092416 + LDA #$0000 +L092416 STAL L0B0002 + BRA L092441 +L09241C PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $01A4 + PEA $0002 + PEA $01F6 + PEA $0024 + _SetRect + BCS L09243D + LDA #$0000 +L09243D STAL L0B0002 +L092441 PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0001 + STA $F0 + BRL L09251B +L09247C PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0150 + PEA $004C + PEA $01A2 + PEA $006E + _SetRect + BCS L09249D + LDA #$0000 +L09249D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0054 + PEA $0002 + PEA $00A6 + PEA $0024 + _SetRect + BCS L0924C2 + LDA #$0000 +L0924C2 STAL L0B0002 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0002 + STA $F0 + BRL L09251B +L092501 BRL L09251B +L092504 DA L092296 + DA L092348 + DA L0923CA + DA L09247C + DA L092501 +L09250E CMP #$0004 + BCC L092516 + LDA #$0004 +L092516 ASL + TAX + JMP (L092504,X) + +L09251B BRL L09296C +L09251E LDX #$0000 + TDC + CLC + ADC #$FD48 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDX #$0000 + TDC + CLC + ADC #$FD4C + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD50 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0064 + PEA $0000 + PEA $001E + PEA $0008 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $0064 + PEA $0000 + PEA $0021 + PEA $0021 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDA $F0 + BRL L09281F +L0925A7 PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $01A4 + PEA $004C + PEA $01F6 + PEA $006E + _SetRect + BCS L0925C8 + LDA #$0000 +L0925C8 STAL L0B0002 + LDAL L0C073D + BEQ L0925F9 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0000 + PEA $0071 + PEA $0052 + PEA $0093 + _SetRect + BCS L0925F3 + LDA #$0000 +L0925F3 STAL L0B0002 + BRA L09261E +L0925F9 PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $01A4 + PEA $0002 + PEA $01F6 + PEA $0024 + _SetRect + BCS L09261A + LDA #$0000 +L09261A STAL L0B0002 +L09261E PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0001 + STA $F0 + BRL L09282C +L092659 PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0150 + PEA $0027 + PEA $01A2 + PEA $0049 + _SetRect + BCS L09267A + LDA #$0000 +L09267A STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0054 + PEA $0002 + PEA $00A6 + PEA $0024 + _SetRect + BCS L09269F + LDA #$0000 +L09269F STAL L0B0002 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0002 + STA $F0 + BRL L09282C +L0926DE PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0150 + PEA $004C + PEA $01A2 + PEA $006E + _SetRect + BCS L0926FF + LDA #$0000 +L0926FF STAL L0B0002 + LDAL L0C073D + BEQ L092730 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $00FC + PEA $0071 + PEA $014E + PEA $0093 + _SetRect + BCS L09272A + LDA #$0000 +L09272A STAL L0B0002 + BRA L092755 +L092730 PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L092751 + LDA #$0000 +L092751 STAL L0B0002 +L092755 PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + LDA #$0003 + STA $F0 + BRL L09282C +L092790 PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $00A8 + PEA $0002 + PEA $00FA + PEA $0024 + _SetRect + BCS L0927B1 + LDA #$0000 +L0927B1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$FDE4 + PHA + PEA $0150 + PEA $0002 + PEA $01A2 + PEA $0024 + _SetRect + BCS L0927D6 + LDA #$0000 +L0927D6 STAL L0B0002 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0002 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + STZ $F0 + BRL L09282C +L092812 BRL L09282C +L092815 DA L0925A7 + DA L092659 + DA L0926DE + DA L092790 + DA L092812 +L09281F CMP #$0004 + BCC L092827 + LDA #$0004 +L092827 ASL + TAX + JMP (L092815,X) + +L09282C BRL L09296C +L09282F LDX #$0000 + TDC + CLC + ADC #$FD48 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDX #$0000 + TDC + CLC + ADC #$FD4C + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FD50 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0056 + PEA $0000 + PEA $0026 + PEA $000A + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0150 + PEA $0071 + PEA $01AA + PEA $0093 + _SetRect + BCS L0928B1 + LDA #$0000 +L0928B1 STAL L0B0002 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD4C + PHA + PEA $0000 + TDC + CLC + ADC #$FDDC + PHA + PEA $0063 + PEA $0000 + PEA $0002 + PEA $0001 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L09296C +L0928EB LDA $E4 + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + AND #$00FF + SEC + SBC #$0030 + STA $E2 + PEA ^L0C2466 + PEA L0C2466 + PEA $0000 + TDC + CLC + ADC #$FD48 + PHA + PEI $E2 + PEA $0000 + TDC + CLC + ADC #$FEE0 + PHA + PEI $F0 + JSL L0929A2 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + BRA L09296C + BRA L09296C +L092939 CMP #$004C + BNE L092941 + BRL L09220D +L092941 CMP #$0052 + BNE L092949 + BRL L09251E +L092949 CMP #$0058 + BNE L092951 + BRL L09282F +L092951 CMP #$006C + BNE L092959 + BRL L09220D +L092959 CMP #$0072 + BNE L092961 + BRL L09251E +L092961 CMP #$0078 + BNE L092969 + BRL L09282F +L092969 JMP L0928EB + +L09296C INC $E4 + BRL L09214A +L092971 LDX #$FD4A + LDA $00,X + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + LDX #$FD48 + LDA $00,X + PHA + PEA $0002 + JSL L0251CD + PLY + PLY + PEI $F0 + PEA $0003 + JSL L0251CD + PLY + PLY + TSC + CLC + ADC #$03D3 + TCS + PLD + RTL + +L0929A2 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$FE76 + TCS + LDA #$0040 + PHA + LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0018 + SEC + SBC #$0110 + PHA + LDA [$F9] + SEC + SBC #$0008 + SEC + SBC #$0035 + CLC + ADC #$0022 + PHA + LDA #$0008 + SEC + JSL L010AAE + PLA + PLX + STX $EA + CLC + ADC $EA + SEC + JSL L01092D + PLY + STA $E2 + LDA #$0040 + PHA + LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0018 + SEC + SBC #$0110 + PHA + LDA [$F9] + SEC + SBC #$0008 + SEC + SBC #$0035 + CLC + ADC #$0022 + PHA + LDA #$0008 + SEC + JSL L010AAE + PLA + PLX + STX $EA + SEC + SBC $EA + SEC + JSL L01092D + PLY + STA $E0 + LDA $F7 + STA $DC + LDA $F7 + STA $DE + LDA #$006C + SEP #$20 + STA $DB + REP #$20 +L092A2E LDA $F1 + CMP #$0000 + BNE L092A39 + INC $E2 + BRA L092A58 +L092A39 LDA $F1 + CMP #$0001 + BNE L092A44 + INC $E0 + BRA L092A58 +L092A44 LDA $F1 + CMP #$0002 + BNE L092A4F + DEC $E2 + BRA L092A58 +L092A4F LDA $F1 + CMP #$0003 + BNE L092A58 + DEC $E0 +L092A58 LDA $E0 + LDX #$0000 + TAY + BPL L092A61 + DEX +L092A61 STX $EA + ASL + ROL $EA + LDX $EA + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L092A73 + DEX +L092A73 PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + BEQ L092AD0 + LDA $E2 + SEC + SBC #$0000 + BVS L092AA1 + EOR #$8000 +L092AA1 BPL L092AD0 + LDA $E2 + SEC + SBC #$000B + BEQ L092AB2 + BVS L092AB0 + EOR #$8000 +L092AB0 BMI L092AD0 +L092AB2 LDA $E0 + SEC + SBC #$0000 + BVS L092ABD + EOR #$8000 +L092ABD BPL L092AD0 + LDA $E0 + SEC + SBC #$000A + BEQ L092ACE + BVS L092ACC + EOR #$8000 +L092ACC BMI L092AD0 +L092ACE DEC $DE +L092AD0 LDA $E0 + LDX #$0000 + TAY + BPL L092AD9 + DEX +L092AD9 STX $EA + ASL + ROL $EA + LDX $EA + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L092AEB + DEX +L092AEB PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $F5 + LDA $F3 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + BEQ L092B58 + LDA $E2 + SEC + SBC #$0000 + BVS L092B19 + EOR #$8000 +L092B19 BPL L092B58 + LDA $E2 + SEC + SBC #$000B + BEQ L092B2A + BVS L092B28 + EOR #$8000 +L092B28 BMI L092B58 +L092B2A LDA $E0 + SEC + SBC #$0000 + BVS L092B35 + EOR #$8000 +L092B35 BPL L092B58 + LDA $E0 + SEC + SBC #$000A + BEQ L092B46 + BVS L092B44 + EOR #$8000 +L092B44 BMI L092B58 +L092B46 LDA $DE + SEC + SBC #$0000 + BEQ L092B58 + BVS L092B53 + EOR #$8000 +L092B53 BPL L092B58 + BRL L092A2E +L092B58 LDA $F7 + SEC + SBC $DE + STA $F7 + LDA $F7 + BNE L092B66 + BRL L09345A +L092B66 LDA $DB + AND #$00FF + CMP #$0072 + BEQ L092B73 + BRL L092C07 +L092B73 PEA $0064 + PEA $0000 + PEA $0026 + PEA $0014 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + PEA $0056 + PEA $0000 + PEA $0026 + PEA $000A + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$0006 + PHA + TXA + STA [$FD],Y + PLA + LDY #$0004 + STA [$FD],Y + PEA $0064 + PEA $0000 + PEA $0028 + PEA $0014 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$000A + PHA + TXA + STA [$FD],Y + PLA + LDY #$0008 + STA [$FD],Y + PEA $0057 + PEA $0000 + PEA $0024 + PEA $000B + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$000E + PHA + TXA + STA [$FD],Y + PLA + LDY #$000C + STA [$FD],Y + BRL L092C98 +L092C07 PEA $0064 + PEA $0000 + PEA $0028 + PEA $0014 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + PEA $0057 + PEA $0000 + PEA $0024 + PEA $000B + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$0006 + PHA + TXA + STA [$FD],Y + PLA + LDY #$0004 + STA [$FD],Y + PEA $0064 + PEA $0000 + PEA $0026 + PEA $0014 + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$000A + PHA + TXA + STA [$FD],Y + PLA + LDY #$0008 + STA [$FD],Y + PEA $0056 + PEA $0000 + PEA $0026 + PEA $000A + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$000E + PHA + TXA + STA [$FD],Y + PLA + LDY #$000C + STA [$FD],Y +L092C98 LDA #$0004 + STA $E4 + BRA L092D01 +L092C9F LDA $E4 + SEC + SBC #$0004 + LDX #$0000 + TAY + BPL L092CAC + DEX +L092CAC STX $EA + ASL + ROL $EA + ASL + ROL $EA + LDX $EA + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDY #$0002 + LDA [$E6],Y + TAX + LDA [$E6] + PHX + PHA + LDA $E4 + LDX #$0000 + TAY + BPL L092CD9 + DEX +L092CD9 STX $EA + ASL + ROL $EA + ASL + ROL $EA + LDX $EA + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$E6],Y + PLA + STA [$E6] + INC $E4 +L092D01 LDA $E4 + SEC + SBC #$001C + BVS L092D0C + EOR #$8000 +L092D0C BPL L092C9F + LDA $F1 + BRL L09344A +L092D13 STZ $E4 + BRL L092E6A +L092D18 LDA $DB + AND #$00FF + CMP #$0072 + BNE L092D5F + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0000 + PEA $0027 + PEA $0052 + PEA $0049 + _SetRect + BCS L092D50 + LDA #$0000 +L092D50 STAL L0B0002 + LDA #$006C + SEP #$20 + STA $DB + REP #$20 + BRA L092D9A +L092D5F LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $00A8 + PEA $0027 + PEA $00FA + PEA $0049 + _SetRect + BCS L092D8D + LDA #$0000 +L092D8D STAL L0B0002 + LDA #$0072 + SEP #$20 + STA $DB + REP #$20 +L092D9A LDA $E4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0150 + PEA $0002 + PEA $01A2 + PEA $0024 + _SetRect + BCS L092DCC + LDA #$0000 +L092DCC STAL L0B0002 + LDY #$0002 + LDA [$F9],Y + CLC + ADC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + CLC + ADC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDY #$0002 + LDA [$F9],Y + CLC + ADC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + CLC + ADC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + CLC + ADC #$0001 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $E4 + CLC + ADC #$0002 + STA $E4 +L092E6A LDA $F7 + ASL + SEC + SBC $E4 + BEQ L092E7C + BVS L092E77 + EOR #$8000 +L092E77 BPL L092E7C + BRL L092D18 +L092E7C PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + LDA $F7 + ASL + PHA + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L093457 +L092EB1 STZ $E4 + BRL L0930BA +L092EB6 LDA $DB + AND #$00FF + CMP #$0072 + BNE L092F37 + LDAL L0C073D + BEQ L092EFA + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $00A8 + PEA $0071 + PEA $00FA + PEA $0093 + _SetRect + BCS L092EF4 + LDA #$0000 +L092EF4 STAL L0B0002 + BRA L092F2C +L092EFA LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $00FC + PEA $0027 + PEA $014E + PEA $0049 + _SetRect + BCS L092F28 + LDA #$0000 +L092F28 STAL L0B0002 +L092F2C LDA #$006C + SEP #$20 + STA $DB + REP #$20 + BRA L092FAC +L092F37 LDAL L0C073D + BEQ L092F71 + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0054 + PEA $0071 + PEA $00A6 + PEA $0093 + _SetRect + BCS L092F6B + LDA #$0000 +L092F6B STAL L0B0002 + BRA L092FA3 +L092F71 LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0054 + PEA $0027 + PEA $00A6 + PEA $0049 + _SetRect + BCS L092F9F + LDA #$0000 +L092F9F STAL L0B0002 +L092FA3 LDA #$0072 + SEP #$20 + STA $DB + REP #$20 +L092FAC LDAL L0C073D + BEQ L092FEA + LDA $E4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0000 + PEA $0071 + PEA $0052 + PEA $0093 + _SetRect + BCS L092FE4 + LDA #$0000 +L092FE4 STAL L0B0002 + BRA L093020 +L092FEA LDA $E4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $01A4 + PEA $0002 + PEA $01F6 + PEA $0024 + _SetRect + BCS L09301C + LDA #$0000 +L09301C STAL L0B0002 +L093020 LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + CLC + ADC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + CLC + ADC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + CLC + ADC #$0001 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $E4 + CLC + ADC #$0002 + STA $E4 +L0930BA LDA $F7 + ASL + SEC + SBC $E4 + BEQ L0930CC + BVS L0930C7 + EOR #$8000 +L0930C7 BPL L0930CC + BRL L092EB6 +L0930CC PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + LDA $F7 + ASL + PHA + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L093457 +L093101 STZ $E4 + BRL L093258 +L093106 LDA $DB + AND #$00FF + CMP #$0072 + BNE L09314D + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $00A8 + PEA $004C + PEA $00FA + PEA $006E + _SetRect + BCS L09313E + LDA #$0000 +L09313E STAL L0B0002 + LDA #$006C + SEP #$20 + STA $DB + REP #$20 + BRA L093188 +L09314D LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0000 + PEA $004C + PEA $0052 + PEA $006E + _SetRect + BCS L09317B + LDA #$0000 +L09317B STAL L0B0002 + LDA #$0072 + SEP #$20 + STA $DB + REP #$20 +L093188 LDA $E4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0054 + PEA $0002 + PEA $00A6 + PEA $0024 + _SetRect + BCS L0931BA + LDA #$0000 +L0931BA STAL L0B0002 + LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + SEC + SBC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDY #$0002 + LDA [$F9],Y + SEC + SBC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + SEC + SBC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + CLC + ADC #$0001 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $E4 + CLC + ADC #$0002 + STA $E4 +L093258 LDA $F7 + ASL + SEC + SBC $E4 + BEQ L09326A + BVS L093265 + EOR #$8000 +L093265 BPL L09326A + BRL L093106 +L09326A PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + LDA $F7 + ASL + PHA + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L093457 +L09329F STZ $E4 + BRL L0933F6 +L0932A4 LDA $DB + AND #$00FF + CMP #$0072 + BNE L0932EB + LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0054 + PEA $004C + PEA $00A6 + PEA $006E + _SetRect + BCS L0932DC + LDA #$0000 +L0932DC STAL L0B0002 + LDA #$006C + SEP #$20 + STA $DB + REP #$20 + BRA L093326 +L0932EB LDA $E4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $00FC + PEA $004C + PEA $014E + PEA $006E + _SetRect + BCS L093319 + LDA #$0000 +L093319 STAL L0B0002 + LDA #$0072 + SEP #$20 + STA $DB + REP #$20 +L093326 LDA $E4 + CLC + ADC #$0001 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L093358 + LDA #$0000 +L093358 STAL L0B0002 + LDY #$0002 + LDA [$F9],Y + CLC + ADC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + SEC + SBC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDY #$0002 + LDA [$F9],Y + CLC + ADC #$0010 + LDY #$0002 + STA [$F9],Y + LDA [$F9] + SEC + SBC #$0002 + STA [$F9] + LDA $F9 + LDX $FB + PHX + PHA + LDA $E4 + CLC + ADC #$0001 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE78 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + PEI $E8 + PEI $E6 + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $E4 + CLC + ADC #$0002 + STA $E4 +L0933F6 LDA $F7 + ASL + SEC + SBC $E4 + BEQ L093408 + BVS L093403 + EOR #$8000 +L093403 BPL L093408 + BRL L0932A4 +L093408 PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + LDA $F7 + ASL + PHA + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L093457 +L09343D BRL L093457 +L093440 DA L092D13 + DA L092EB1 + DA L093101 + DA L09329F + DA L09343D +L09344A CMP #$0004 + BCC L093452 + LDA #$0004 +L093452 ASL + TAX + JMP (L093440,X) + +L093457 BRL L093592 +L09345A LDA $F1 + BRL L093539 +L09345F PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0150 + PEA $0002 + PEA $01A2 + PEA $0024 + _SetRect + BCS L093480 + LDA #$0000 +L093480 STAL L0B0002 + BRL L093546 +L093487 LDAL L0C073D + BEQ L0934B4 + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0000 + PEA $0071 + PEA $0052 + PEA $0093 + _SetRect + BCS L0934AE + LDA #$0000 +L0934AE STAL L0B0002 + BRA L0934D9 +L0934B4 PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $01A4 + PEA $0002 + PEA $01F6 + PEA $0024 + _SetRect + BCS L0934D5 + LDA #$0000 +L0934D5 STAL L0B0002 +L0934D9 BRL L093546 +L0934DC PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0054 + PEA $0002 + PEA $00A6 + PEA $0024 + _SetRect + BCS L0934FD + LDA #$0000 +L0934FD STAL L0B0002 + BRL L093546 +L093504 PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0000 + PEA $0002 + PEA $0052 + PEA $0024 + _SetRect + BCS L093525 + LDA #$0000 +L093525 STAL L0B0002 + BRL L093546 +L09352C BRL L093546 +L09352F DA L09345F + DA L093487 + DA L0934DC + DA L093504 + DA L09352C +L093539 CMP #$0004 + BCC L093541 + LDA #$0004 +L093541 ASL + TAX + JMP (L09352F,X) + +L093546 LDA $F9 + LDX $FB + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$FE78 + PHA + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEA $0063 + PEA $0000 + PEA $0000 + PEA $0001 + PEA $0001 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA +L093592 LDA $F7 + SEC + SBC $DC + BVS L09359C + EOR #$8000 +L09359C BMI L093615 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + PEA $0059 + PEA $0000 + PEA $0024 + PEA $0013 + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$0006 + PHA + TXA + STA [$FD],Y + PLA + LDY #$0004 + STA [$FD],Y + PEA $0056 + PEA $0000 + PEA $0027 + PEA $000A + PEA $0005 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + LDY #$000A + PHA + TXA + STA [$FD],Y + PLA + LDY #$0008 + STA [$FD],Y + LDX #$FFFF + LDA #$FFFF + LDY #$000E + PHA + TXA + STA [$FD],Y + PLA + LDY #$000C + STA [$FD],Y + PEI $FF + PEI $FD + JSL L0502A4 + PLY + PLY +L093615 TSC + CLC + ADC #$0274 + TCS + PLD + RTL + +L09361D PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + STZ $F0 + BRA L093680 +L09362C STZ $EE + BRA L093671 +L093630 LDA $EE + LDX #$0000 + TAY + BPL L093639 + DEX +L093639 STX $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDA $F0 + LDX #$0000 + TAY + BPL L09364B + DEX +L09364B PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0001 + STA [$F2] + INC $EE +L093671 LDA $EE + SEC + SBC #$000C + BVS L09367C + EOR #$8000 +L09367C BPL L093630 + INC $F0 +L093680 LDA $F0 + SEC + SBC #$000C + BVS L09368B + EOR #$8000 +L09368B BPL L09362C + STZ $F0 + BRA L0936BD +L093691 LDA $F0 + LDX #$0000 + TAY + BPL L09369A + DEX +L09369A PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + LDY #$0016 + STA [$F2],Y + INC $F0 +L0936BD LDA $F0 + SEC + SBC #$000C + BVS L0936C8 + EOR #$8000 +L0936C8 BPL L093691 + STZ $F0 + BRA L0936F7 +L0936CE LDA $F0 + LDX #$0000 + TAY + BPL L0936D7 + DEX +L0936D7 PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + STA [$F2] + INC $F0 +L0936F7 LDA $F0 + SEC + SBC #$000C + BVS L093702 + EOR #$8000 +L093702 BPL L0936CE + LDA $FD + CLC + ADC #$0060 + LDX $FF + BCC L09370F + INX +L09370F STA $F2 + STX $F4 + LDA #$0001 + STA [$F2] + LDA #$0000 + LDY #$0002 + STA [$FD],Y + LDA $FD + CLC + ADC #$0018 + LDX $FF + BCC L09372B + INX +L09372B STA $F2 + STX $F4 + LDA #$0000 + LDY #$0002 + STA [$F2],Y + LDA $FD + CLC + ADC #$00C0 + LDX $FF + BCC L093742 + INX +L093742 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0002 + STA [$F2],Y + LDA $FD + CLC + ADC #$00D8 + LDX $FF + BCC L093759 + INX +L093759 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0002 + STA [$F2],Y + LDA #$0000 + LDY #$0004 + STA [$FD],Y + LDA $FD + CLC + ADC #$00D8 + LDX $FF + BCC L093778 + INX +L093778 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0004 + STA [$F2],Y + LDA $FD + CLC + ADC #$00F0 + LDX $FF + BCC L09378F + INX +L09378F STA $F2 + STX $F4 + LDA #$0000 + LDY #$0004 + STA [$F2],Y + LDA $FD + CLC + ADC #$0108 + LDX $FF + BCC L0937A6 + INX +L0937A6 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0006 + STA [$F2],Y + LDA $FD + CLC + ADC #$0108 + LDX $FF + BCC L0937BD + INX +L0937BD STA $F2 + STX $F4 + LDA #$0000 + LDY #$000C + STA [$F2],Y + LDA $FD + CLC + ADC #$0108 + LDX $FF + BCC L0937D4 + INX +L0937D4 STA $F2 + STX $F4 + LDA #$0000 + LDY #$000E + STA [$F2],Y + LDA #$0000 + LDY #$0010 + STA [$FD],Y + LDA $FD + CLC + ADC #$0108 + LDX $FF + BCC L0937F3 + INX +L0937F3 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0010 + STA [$F2],Y + LDA #$0000 + LDY #$0012 + STA [$FD],Y + LDA $FD + CLC + ADC #$0018 + LDX $FF + BCC L093812 + INX +L093812 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0012 + STA [$F2],Y + LDA $FD + CLC + ADC #$0030 + LDX $FF + BCC L093829 + INX +L093829 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0012 + STA [$F2],Y + LDA $FD + CLC + ADC #$0108 + LDX $FF + BCC L093840 + INX +L093840 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0012 + STA [$F2],Y + STZ $F0 + BRA L09387C +L093850 LDA $F0 + LDX #$0000 + TAY + BPL L093859 + DEX +L093859 PEA $0000 + PEA $0018 + CLC + JSL L010AF3 + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + LDY #$0014 + STA [$F2],Y + INC $F0 +L09387C LDA $F0 + SEC + SBC #$000C + BVS L093887 + EOR #$8000 +L093887 BPL L093850 + LDA $FD + CLC + ADC #$0078 + LDX $FF + BCC L093894 + INX +L093894 STA $F2 + STX $F4 + LDA #$0001 + LDY #$0014 + STA [$F2],Y + LDA $FD + CLC + ADC #$0090 + LDX $FF + BCC L0938AB + INX +L0938AB STA $F2 + STX $F4 + LDA #$0001 + LDY #$0014 + STA [$F2],Y + LDA $FD + CLC + ADC #$00A8 + LDX $FF + BCC L0938C2 + INX +L0938C2 STA $F2 + STX $F4 + LDA #$0001 + LDY #$0014 + STA [$F2],Y + LDA $FD + CLC + ADC #$00C0 + LDX $FF + BCC L0938D9 + INX +L0938D9 STA $F2 + STX $F4 + LDA #$0001 + LDY #$0014 + STA [$F2],Y + LDA $FD + CLC + ADC #$00D8 + LDX $FF + BCC L0938F0 + INX +L0938F0 STA $F2 + STX $F4 + LDA #$0001 + LDY #$0014 + STA [$F2],Y + LDA $FD + CLC + ADC #$0060 + LDX $FF + BCC L093907 + INX +L093907 STA $F2 + STX $F4 + LDA #$0000 + LDY #$0008 + STA [$F2],Y + LDA $FD + CLC + ADC #$0060 + LDX $FF + BCC L09391E + INX +L09391E STA $F2 + STX $F4 + LDA #$0000 + LDY #$000A + STA [$F2],Y + LDA $FD + CLC + ADC #$0078 + LDX $FF + BCC L093935 + INX +L093935 STA $F2 + STX $F4 + LDA #$0000 + LDY #$000A + STA [$F2],Y + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L093949 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B00B2 + AND #$00FF + CMP #$000B + BEQ L093985 + LDA L0B00B2 + AND #$00FF + CMP #$0008 + BEQ L093985 + LDA L0B00B2 + AND #$00FF + CMP #$000A + BEQ L093985 + LDA L0B00B2 + AND #$00FF + CMP #$0015 + BEQ L093985 + LDA #$0000 + BRA L093988 +L093985 LDA #$0001 +L093988 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L093992 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00DA + TCS + STZ $EA + LDX #$0000 + LDA #$001E + STX $E2 + STA $E0 + JSL L0311DD + JSL L0612B1 + STZ L0B0078 + STZ $EC + PEA ^L0C280F + PEA L0C280F + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA L0B0072 + PHA + LDAL L0C0731 + SEC + JSL L010AAE + LDAL L0C0F7C + PLX + STX $FA + CLC + ADC $FA + STA $E6 + LDA L0B0070 + PHA + LDAL L0C0733 + CLC + ADC #$0001 + SEC + JSL L010AAE + LDAL L0C0F7A + PLX + STX $FA + CLC + ADC $FA + STA $E8 + LDA L0B0072 + PHA + LDAL L0C0F80 + SEC + SBCL L0C0F7C + SEC + JSL L01092D + PLY + STA $F2 + LDA L0B0070 + PHA + LDAL L0C0F7E + SEC + SBCL L0C0F7A + SEC + JSL L01092D + PLY + SEC + SBC #$0001 + STA $F0 + PEA $0002 + _SetPenMode + BCS L093A3D + LDA #$0000 +L093A3D STAL L0B0002 + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093A54 + LDA #$0000 +L093A54 STAL L0B0002 + PLA +L093A59 LDA $E6 + SEC + SBC #$0001 + PHA + PEI $E8 + _MoveTo + BCS L093A6E + LDA #$0000 +L093A6E STAL L0B0002 +L093A72 JSL L06063A + LDX $E2 + LDA $E0 + PHX + PHA + PHX + PHA + _TickCount + BCS L093A8A + LDA #$0000 +L093A8A STAL L0B0002 + PLA + PLX + SEC + SBC $DC + PHA + TXA + SBC $DE + TAX + PLA + JSL L010B98 + BEQ L093AA1 + BCS L093AFF +L093AA1 LDA $E6 + SEC + SBC #$0001 + PHA + PEI $E8 + _MoveTo + BCS L093AB6 + LDA #$0000 +L093AB6 STAL L0B0002 + PEA $0000 + LDA L0B0070 + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + _Line + BCS L093AD5 + LDA #$0000 +L093AD5 STAL L0B0002 + PHX + PHA + _TickCount + BCS L093AE7 + LDA #$0000 +L093AE7 STAL L0B0002 + PLA + PLX + STX $DE + STA $DC + LDA $EA + BEQ L093AFA + LDA #$0000 + BRA L093AFD +L093AFA LDA #$0001 +L093AFD STA $EA +L093AFF LDAL L0C1A7A + CMP #$0000 + BNE L093B12 + JSL L0612DE + TAY + BNE L093B12 + BRL L093A72 +L093B12 JSL L04169A + TAY + BEQ L093B1C + BRL L093D7F +L093B1C LDA L0B0078 + CMP #$0003 + BNE L093B27 + BRL L093D7F +L093B27 LDA $EA + BEQ L093B65 + LDA $E6 + SEC + SBC #$0001 + PHA + PEI $E8 + _MoveTo + BCS L093B40 + LDA #$0000 +L093B40 STAL L0B0002 + PEA $0000 + LDA L0B0070 + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + _Line + BCS L093B5F + LDA #$0000 +L093B5F STAL L0B0002 + STZ $EA +L093B65 LDAL L0C1A7A + CMP #$0003 + BEQ L093B77 + LDAL L0C1A7A + CMP #$0005 + BNE L093B84 +L093B77 LDAL L0C1A7E + TAX + LDAL L0C1A7C + STA $EE + BRA L093B86 +L093B84 STZ $EE +L093B86 LDA $EE + BRL L093D2B +L093B8B LDAL L0C0731 + SEC + SBC $F2 + BVS L093B97 + EOR #$8000 +L093B97 BPL L093BE1 + LDAL L0C0733 + SEC + SBC $F0 + BVS L093BA5 + EOR #$8000 +L093BA5 BMI L093BC7 + LDA #$0000 + STAL L0C0731 + LDAL L0C0F7C + STA $E6 + LDAL L0C0733 + INC + STAL L0C0733 + LDA $E8 + CLC + ADC L0B0070 + STA $E8 + BRA L093BDF +L093BC7 PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093BDA + LDA #$0000 +L093BDA STAL L0B0002 + PLA +L093BDF BRA L093BF2 +L093BE1 LDAL L0C0731 + INC + STAL L0C0731 + LDA $E6 + CLC + ADC L0B0072 + STA $E6 +L093BF2 BRL L093D4E +L093BF5 LDAL L0C0731 + SEC + SBC #$0000 + BEQ L093C09 + BVS L093C04 + EOR #$8000 +L093C04 BPL L093C09 + BRL L093C64 +L093C09 LDAL L0C0733 + SEC + SBC #$0000 + BEQ L093C4A + BVS L093C18 + EOR #$8000 +L093C18 BPL L093C4A + LDA $F2 + STAL L0C0731 + LDA $F2 + PHA + LDA L0B0072 + SEC + JSL L010AAE + LDAL L0C0F7C + PLX + STX $FA + CLC + ADC $FA + STA $E6 + LDAL L0C0733 + DEC + STAL L0C0733 + LDA $E8 + SEC + SBC L0B0070 + STA $E8 + BRA L093C62 +L093C4A PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093C5D + LDA #$0000 +L093C5D STAL L0B0002 + PLA +L093C62 BRA L093C75 +L093C64 LDAL L0C0731 + DEC + STAL L0C0731 + LDA $E6 + SEC + SBC L0B0072 + STA $E6 +L093C75 BRL L093D4E +L093C78 LDAL L0C0733 + SEC + SBC $F0 + BVS L093C84 + EOR #$8000 +L093C84 BPL L093CA0 + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093C99 + LDA #$0000 +L093C99 STAL L0B0002 + PLA + BRA L093CB1 +L093CA0 LDAL L0C0733 + INC + STAL L0C0733 + LDA $E8 + CLC + ADC L0B0070 + STA $E8 +L093CB1 BRL L093D4E +L093CB4 LDAL L0C0733 + SEC + SBC #$0000 + BEQ L093CC5 + BVS L093CC3 + EOR #$8000 +L093CC3 BMI L093CDF +L093CC5 PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093CD8 + LDA #$0000 +L093CD8 STAL L0B0002 + PLA + BRA L093CF0 +L093CDF LDAL L0C0733 + DEC + STAL L0C0733 + LDA $E8 + SEC + SBC L0B0070 + STA $E8 +L093CF0 BRL L093D4E +L093CF3 LDAL L0C0731 + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + LDAL L0C0733 + PHA + PEA $0002 + JSL L0251CD + PLY + PLY + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L093D22 + LDA #$0000 +L093D22 STAL L0B0002 + PLA + BRA L093D4E + BRA L093D4E +L093D2B CMP #$0008 + BNE L093D33 + BRL L093BF5 +L093D33 CMP #$000A + BNE L093D3B + BRL L093C78 +L093D3B CMP #$000B + BNE L093D43 + BRL L093CB4 +L093D43 CMP #$0015 + BNE L093D4B + BRL L093B8B +L093D4B JMP L093CF3 + +L093D4E LDAL L0C0731 + CMPL L0C0743 + BNE L093D62 + LDAL L0C0733 + CMPL L0C0745 + BEQ L093D67 +L093D62 LDA #$0000 + BRA L093D6A +L093D67 LDA #$0001 +L093D6A STA $EC + LDX $DE + LDA $DC + SEC + SBC $E0 + PHA + TXA + SBC $E2 + TAX + PLA + STX $DE + STA $DC + BRA L093DC8 +L093D7F LDA L0B0078 + PHA + JSL L0607BE + PLY + LDA $EA + BEQ L093DC6 + LDA $E6 + SEC + SBC #$0001 + PHA + PEI $E8 + _MoveTo + BCS L093DA1 + LDA #$0000 +L093DA1 STAL L0B0002 + PEA $0000 + LDA L0B0070 + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + _Line + BCS L093DC0 + LDA #$0000 +L093DC0 STAL L0B0002 + STZ $EA +L093DC6 BRA L093DCF +L093DC8 LDA $EC + BNE L093DCF + BRL L093A59 +L093DCF LDAL L0C0731 + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + LDAL L0C0733 + PHA + PEA $0002 + JSL L0251CD + PLY + PLY + PEA $0000 + _SetPenMode + BCS L093DFA + LDA #$0000 +L093DFA STAL L0B0002 + LDA $EC + BEQ L093E16 + PEA ^L0C2811 + PEA L0C2811 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L093E16 JSL L031208 + TSC + CLC + ADC #$0020 + TCS + PLD + RTL + +L093E22 PHD + TSC + SEC + SBC #$00E5 + TCD + ADC #$00D0 + TCS + LDA [$EF] + PHA + LDA #$0056 + SEC + JSL L010AAE + LDA #$001E + PLX + STX $E4 + CLC + ADC $E4 + STA $DE + LDA [$F3] + PHA + LDA #$0025 + SEC + JSL L010AAE + LDA #$000F + PLX + STX $E4 + CLC + ADC $E4 + SEC + SBC #$0004 + STA $DC + PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + PEI $DE + PEI $DC + LDA $DE + CLC + ADC #$0044 + PHA + LDA $DC + CLC + ADC #$001C + SEC + SBC #$0001 + PHA + _SetRect + BCS L093E88 + LDA #$0000 +L093E88 STAL L0B0002 + LDA $FF + AND #$00FF + BRL L093FDE +L093E94 PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _EraseRect + BCS L093EA9 + LDA #$0000 +L093EA9 STAL L0B0002 + LDA $DC + SEC + SBC #$0025 + STA $DC + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F7 + PHA + PEA $0001 + PEA $0000 + PEI $DC + PEI $DE + PEI $ED + PEI $EB + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA [$F3] + SEC + SBC #$0001 + STA [$F3] + BRL L093FFE +L093EE6 PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _EraseRect + BCS L093EFB + LDA #$0000 +L093EFB STAL L0B0002 + LDA $DC + CLC + ADC #$0025 + STA $DC + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F7 + PHA + PEA $0001 + PEA $0000 + PEI $DC + PEI $DE + PEI $ED + PEI $EB + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA [$F3] + CLC + ADC #$0001 + STA [$F3] + BRL L093FFE +L093F38 PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _EraseRect + BCS L093F4D + LDA #$0000 +L093F4D STAL L0B0002 + LDA $DE + SEC + SBC #$0056 + STA $DE + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F7 + PHA + PEA $0001 + PEA $0000 + PEI $DC + PEI $DE + PEI $ED + PEI $EB + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA [$EF] + SEC + SBC #$0001 + STA [$EF] + BRL L093FFE +L093F8A PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _EraseRect + BCS L093F9F + LDA #$0000 +L093F9F STAL L0B0002 + LDA $DE + CLC + ADC #$0056 + STA $DE + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F7 + PHA + PEA $0001 + PEA $0000 + PEI $DC + PEI $DE + PEI $ED + PEI $EB + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA [$EF] + CLC + ADC #$0001 + STA [$EF] + BRL L093FFE +L093FDC BRA L093FFE +L093FDE CMP #$0064 + BNE L093FE6 + BRL L093EE6 +L093FE6 CMP #$006C + BNE L093FEE + BRL L093F38 +L093FEE CMP #$0072 + BEQ L093F8A + CMP #$0075 + BNE L093FFB + BRL L093E94 +L093FFB JMP L093FDC + +L093FFE TSC + CLC + ADC #$0014 + TCS + PLD + RTL + +L094006 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00C2 + TCS + PEA $0000 + TDC + CLC + ADC #$00E2 + PHA + PEA $00D8 + PEA $0023 + PEA $011C + PEA $003E + _SetRect + BCS L094032 + LDA #$0000 +L094032 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $00D8 + PEA $0000 + PEA $0126 + PEA $0021 + _SetRect + BCS L094057 + LDA #$0000 +L094057 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + PEA $00D8 + PEA $0040 + PEA $011C + PEA $005B + _SetRect + BCS L09407C + LDA #$0000 +L09407C STAL L0B0002 + LDA [$F9] + PHA + LDA #$0012 + SEC + JSL L010AAE + LDA [$F9] + PHA + LDA #$0044 + SEC + JSL L010AAE + LDA #$001E + PLX + STX $EE + CLC + ADC $EE + PLX + STX $EE + CLC + ADC $EE + STA $C8 + LDA [$FD] + PHA + LDA #$0009 + SEC + JSL L010AAE + LDA [$FD] + PHA + LDA #$001C + SEC + JSL L010AAE + LDA #$000F + PLX + STX $EE + CLC + ADC $EE + PLX + STX $EE + CLC + ADC $EE + SEC + SBC #$0004 + STA $C6 + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + PEI $C8 + PEI $C6 + LDA $C8 + CLC + ADC #$0044 + PHA + LDA $C6 + CLC + ADC #$001C + SEC + SBC #$0001 + PHA + _SetRect + BCS L0940FD + LDA #$0000 +L0940FD STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + _EraseRect + BCS L094116 + LDA #$0000 +L094116 STAL L0B0002 + LDA $C8 + CLC + ADC #$0056 + STA $C8 + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00E2 + PHA + PEA $0001 + PEA $0004 + PEA $0028 + PEA $01CC + PEI $F7 + PEI $F5 + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEA $0005 + JSL L06135C + PLY + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + PEA $0001 + PEA $0003 + PEA $0028 + PEA $01CC + PEI $F7 + PEI $F5 + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $0001 + PEA $0004 + PEA $0008 + PEA $021C + PEI $F7 + PEI $F5 + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + LDA #$0005 + STA [$F9] + LDA #$0001 + STA [$FD] + TSC + CLC + ADC #$002C + TCS + PLD + RTL + +L0941B4 PHD + TSC + SEC + SBC #$00D7 + TCD + ADC #$00C8 + TCS + LDX #$0000 + LDA #$0000 + PHA + TXA + STAL L0C2468 + PLA + STAL L0C2466 + PEA $007F + PEA $0000 + PEA $0027 + PEA $000D + PEA $0000 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + PHA + TXA + STAL L0C246C + PLA + STAL L0C246A + LDX #$FFFF + LDA #$FFFF + PHA + TXA + STAL L0C2470 + PLA + STAL L0C246E + LDA [$E1] + PHA + LDA #$0012 + SEC + JSL L010AAE + LDA [$E1] + PHA + LDA #$0044 + SEC + JSL L010AAE + LDA #$001E + PLX + STX $D6 + CLC + ADC $D6 + PLX + STX $D6 + CLC + ADC $D6 + STA $D0 + LDA [$E5] + PHA + LDA #$0009 + SEC + JSL L010AAE + LDA [$E5] + PHA + LDA #$001C + SEC + JSL L010AAE + LDA #$000F + PLX + STX $D6 + CLC + ADC $D6 + PLX + STX $D6 + CLC + ADC $D6 + SEC + SBC #$0004 + STA $CE + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F1 + PHA + PEA $0001 + PEA $0000 + PEI $CE + PEI $D0 + PEI $DF + PEI $DD + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEA ^L0C2466 + PEA L0C2466 + JSL L0502A4 + PLY + PLY + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00F9 + PHA + PEA $0001 + PEA $0000 + PEI $CE + PEI $D0 + PEI $DF + PEI $DD + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L0942B6 PHD + TSC + SEC + SBC #$00CB + TCD + ADC #$00C4 + TCS + PEI $D3 + PEI $D1 + PEA $0000 + PEA $003A + PEA $0044 + PEA $0055 + _SetRect + BCS L0942DD + LDA #$0000 +L0942DD STAL L0B0002 + PEI $D7 + PEI $D5 + PEA $0048 + PEA $003A + PEA $008C + PEA $0055 + _SetRect + BCS L0942FD + LDA #$0000 +L0942FD STAL L0B0002 + PEI $DB + PEI $D9 + PEA $0090 + PEA $003A + PEA $00D4 + PEA $0055 + _SetRect + BCS L09431D + LDA #$0000 +L09431D STAL L0B0002 + PEI $DF + PEI $DD + PEA $0000 + PEA $0000 + PEA $0044 + PEA $001B + _SetRect + BCS L09433D + LDA #$0000 +L09433D STAL L0B0002 + PEI $E3 + PEI $E1 + PEA $0048 + PEA $0000 + PEA $008C + PEA $001B + _SetRect + BCS L09435D + LDA #$0000 +L09435D STAL L0B0002 + PEI $E7 + PEI $E5 + PEA $0090 + PEA $0000 + PEA $00D4 + PEA $001B + _SetRect + BCS L09437D + LDA #$0000 +L09437D STAL L0B0002 + PEI $EB + PEI $E9 + PEA $0000 + PEA $0057 + PEA $0044 + PEA $0072 + _SetRect + BCS L09439D + LDA #$0000 +L09439D STAL L0B0002 + PEI $EF + PEI $ED + PEA $0048 + PEA $0057 + PEA $008C + PEA $0072 + _SetRect + BCS L0943BD + LDA #$0000 +L0943BD STAL L0B0002 + PEI $F3 + PEI $F1 + PEA $0090 + PEA $0057 + PEA $00D4 + PEA $0072 + _SetRect + BCS L0943DD + LDA #$0000 +L0943DD STAL L0B0002 + PEI $F7 + PEI $F5 + PEA $0000 + PEA $001D + PEA $0044 + PEA $0038 + _SetRect + BCS L0943FD + LDA #$0000 +L0943FD STAL L0B0002 + PEI $FB + PEI $F9 + PEA $0048 + PEA $001D + PEA $008C + PEA $0038 + _SetRect + BCS L09441D + LDA #$0000 +L09441D STAL L0B0002 + PEI $FF + PEI $FD + PEA $0090 + PEA $001D + PEA $00D4 + PEA $0038 + _SetRect + BCS L09443D + LDA #$0000 +L09443D STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L094449 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$006E + TCS + LDA #$0001 + STA $F0 + LDA #$0004 + STA $EE + JSL L0311DD + PEA ^L0C2813 + PEA L0C2813 + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$0070 + PHA + JSL L040E53 + PLY + PLY + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + TAX + LDY #$0002 + LDA [$F6],Y + STX $F4 + STA $F2 + LDA #$0000 + STAL L0C2820 + LDA #$0000 + STAL L0C2848 + LDA #L0C2820 + LDX #^L0C2820 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2848 + LDX #^L0C2848 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2820 + LDX #^L0C2820 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2848 + LDX #^L0C2848 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2820 + LDX #^L0C2820 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #L0C2848 + LDX #^L0C2848 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2870 + LDA #$0000 + STAL L0C2898 + LDA #L0C2870 + LDX #^L0C2870 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2898 + LDX #^L0C2898 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2870 + LDX #^L0C2870 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2898 + LDX #^L0C2898 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2870 + LDX #^L0C2870 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C2898 + LDX #^L0C2898 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C28C0 + LDA #L0C28C0 + LDX #^L0C28C0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28C0 + LDX #^L0C28C0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C28C0 + LDX #^L0C28C0 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0001 + STAL L0C2828 + LDA #$0001 + STAL L0C2850 + LDA #L0C2828 + LDX #^L0C2828 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2850 + LDX #^L0C2850 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2828 + LDX #^L0C2828 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2850 + LDX #^L0C2850 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2828 + LDX #^L0C2828 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #L0C2850 + LDX #^L0C2850 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2878 + LDA #$0000 + STAL L0C28A0 + LDA #L0C2878 + LDX #^L0C2878 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28A0 + LDX #^L0C28A0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2878 + LDX #^L0C2878 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28A0 + LDX #^L0C28A0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2878 + LDX #^L0C2878 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C28A0 + LDX #^L0C28A0 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0001 + STAL L0C28C8 + LDA #L0C28C8 + LDX #^L0C28C8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C28C8 + LDX #^L0C28C8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28C8 + LDX #^L0C28C8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0001 + STAL L0C2830 + LDA #$0001 + STAL L0C2858 + LDA #L0C2830 + LDX #^L0C2830 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2858 + LDX #^L0C2858 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2830 + LDX #^L0C2830 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2858 + LDX #^L0C2858 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2830 + LDX #^L0C2830 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C2858 + LDX #^L0C2858 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2880 + LDA #$0001 + STAL L0C28A8 + LDA #L0C2880 + LDX #^L0C2880 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28A8 + LDX #^L0C28A8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2880 + LDX #^L0C2880 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28A8 + LDX #^L0C28A8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2880 + LDX #^L0C2880 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #L0C28A8 + LDX #^L0C28A8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C28D0 + LDA #$0000 + STAL L0C28F8 + LDA #L0C28D0 + LDX #^L0C28D0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28F8 + LDX #^L0C28F8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28D0 + LDX #^L0C28D0 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28F8 + LDX #^L0C28F8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C28D0 + LDX #^L0C28D0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C28F8 + LDX #^L0C28F8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2920 + LDA #L0C2920 + LDX #^L0C2920 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2920 + LDX #^L0C2920 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2920 + LDX #^L0C2920 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2888 + LDA #$0000 + STAL L0C28B0 + LDA #L0C2888 + LDX #^L0C2888 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C28B0 + LDX #^L0C28B0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2888 + LDX #^L0C2888 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C28B0 + LDX #^L0C28B0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2888 + LDX #^L0C2888 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C28B0 + LDX #^L0C28B0 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C28D8 + LDA #$0001 + STAL L0C2900 + LDA #L0C28D8 + LDX #^L0C28D8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2900 + LDX #^L0C2900 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28D8 + LDX #^L0C28D8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2900 + LDX #^L0C2900 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28D8 + LDX #^L0C28D8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C2900 + LDX #^L0C2900 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0001 + STAL L0C2928 + LDA #L0C2928 + LDX #^L0C2928 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2928 + LDX #^L0C2928 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0004 + STA [$F6],Y + LDA #L0C2928 + LDX #^L0C2928 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2868 + LDA #$0001 + STAL L0C2890 + LDA #L0C2868 + LDX #^L0C2868 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C2890 + LDX #^L0C2890 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2868 + LDX #^L0C2868 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2890 + LDX #^L0C2890 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2868 + LDX #^L0C2868 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C2890 + LDX #^L0C2890 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + LDA #$0001 + STAL L0C28B8 + LDA #$0001 + STAL L0C28E0 + LDA #L0C28B8 + LDX #^L0C28B8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0002 + STA [$F6],Y + LDA #L0C28E0 + LDX #^L0C28E0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C28B8 + LDX #^L0C28B8 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28E0 + LDX #^L0C28E0 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C28B8 + LDX #^L0C28B8 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C28E0 + LDX #^L0C28E0 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #$0000 + STAL L0C2908 + LDA #$0001 + STAL L0C2930 + LDA #L0C2908 + LDX #^L0C2908 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2930 + LDX #^L0C2930 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0002 + STA [$F6],Y + LDA #L0C2908 + LDX #^L0C2908 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2930 + LDX #^L0C2930 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0004 + STA [$F6],Y + LDA #L0C2908 + LDX #^L0C2908 + STA $F6 + STX $F8 + LDA #$0001 + LDY #$0006 + STA [$F6],Y + LDA #L0C2930 + LDX #^L0C2930 + STA $F6 + STX $F8 + LDA #$0000 + LDY #$0006 + STA [$F6],Y + PEA $0000 + TDC + CLC + ADC #$00B6 + PHA + PEA $0000 + PEA $0000 + PEA $0044 + PEA $001B + _SetRect + BCS L094B83 + LDA #$0000 +L094B83 STAL L0B0002 + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00B6 + PHA + PEA $0001 + PEA $0001 + PEA $009E + PEA $0074 + PEI $F4 + PEI $F2 + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEA $0000 + TDC + CLC + ADC #$008E + PHA + PEA $0000 + TDC + CLC + ADC #$0096 + PHA + PEA $0000 + TDC + CLC + ADC #$009E + PHA + PEA $0000 + TDC + CLC + ADC #$00A6 + PHA + PEA $0000 + TDC + CLC + ADC #$00AE + PHA + PEA $0000 + TDC + CLC + ADC #$00B6 + PHA + PEA $0000 + TDC + CLC + ADC #$00BE + PHA + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $0000 + TDC + CLC + ADC #$00CE + PHA + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + PEA $0000 + TDC + CLC + ADC #$00DE + PHA + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L0942B6 + TAY + TSC + CLC + ADC #$0030 + TCS + TYA + JSL L0612B1 + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L094C3E + LDA #$0000 +L094C3E STAL L0B0002 + PLA + STZ L0B00CB +L094C46 PEA $0003 + JSL L06078F + PLY + LDA L0B0078 + CMP #$0002 + BNE L094C58 + BRA L094CA3 +L094C58 LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + _ObscureCursor + BCS L094C90 + LDA #$0000 +L094C90 STAL L0B0002 + JSL L093949 + TAY + BNE L094CA3 + LDA L0B0078 + CMP #$0000 + BEQ L094C46 +L094CA3 LDA L0B00B2 + AND #$00FF + BRL L095110 +L094CAC LDA $EE + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F0 + PHA + LDA #$0028 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2820 + LDX #^L0C2820 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + BEQ L094D2E + PEA $006C + LDX #$0000 + TDC + CLC + ADC #$009E + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L093E22 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L094DB6 +L094D2E LDX #$0000 + TDC + CLC + ADC #$008E + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$0096 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$009E + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L0941B4 + TAY + TSC + CLC + ADC #$0024 + TCS + TYA +L094DB6 BRL L095130 +L094DB9 LDA $EE + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F0 + PHA + LDA #$0028 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2820 + LDX #^L0C2820 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + BEQ L094E38 + PEA $0075 + LDX #$0000 + TDC + CLC + ADC #$00E6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L093E22 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L094EC0 +L094E38 LDX #$0000 + TDC + CLC + ADC #$00D6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00DE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00E6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L0941B4 + TAY + TSC + CLC + ADC #$0024 + TCS + TYA +L094EC0 BRL L095130 +L094EC3 LDA $EE + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F0 + PHA + LDA #$0028 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2820 + LDX #^L0C2820 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0006 + LDA [$F6],Y + BEQ L094F77 + LDA $F0 + CMP #$0004 + BNE L094F09 + LDA $EE + CMP #$0001 + BEQ L094F52 +L094F09 PEA $0072 + LDX #$0000 + TDC + CLC + ADC #$00CE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L093E22 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRA L094F74 +L094F52 PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L094006 + TAY + TSC + CLC + ADC #$000C + TCS + TYA +L094F74 BRL L094FFF +L094F77 LDX #$0000 + TDC + CLC + ADC #$00BE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00C6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00CE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L0941B4 + TAY + TSC + CLC + ADC #$0024 + TCS + TYA +L094FFF BRL L095130 +L095002 LDA $EE + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F0 + PHA + LDA #$0028 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2820 + LDX #^L0C2820 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + BEQ L095084 + PEA $0064 + LDX #$0000 + TDC + CLC + ADC #$00B6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L093E22 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L09510C +L095084 LDX #$0000 + TDC + CLC + ADC #$00A6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00AE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00B6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $F4 + PEI $F2 + JSL L0941B4 + TAY + TSC + CLC + ADC #$0024 + TCS + TYA +L09510C BRA L095130 + BRA L095130 +L095110 CMP #$0008 + BNE L095118 + BRL L094CAC +L095118 CMP #$000A + BNE L095120 + BRL L095002 +L095120 CMP #$000B + BNE L095128 + BRL L094DB9 +L095128 CMP #$0015 + BNE L095130 + BRL L094EC3 +L095130 LDA L0B0078 + SEC + SBC #$0000 + BEQ L095140 + BVS L09513E + EOR #$8000 +L09513E BMI L095154 +L095140 LDA $F0 + CMP #$0005 + BEQ L09514A + BRL L094C46 +L09514A LDA $EE + CMP #$0001 + BEQ L095154 + BRL L094C46 +L095154 JSL L031208 + TSC + CLC + ADC #$008C + TCS + PLD + RTL + +L095160 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F2 + TCS + LDAL L0C1A86 + SEC + SBCL L0C0F7C + STA $F4 + LDA L0B0072 + PHA + LDA $F4 + CLC + ADC #$0004 + SEC + JSL L01092D + PLY + STA $F4 + LDA #$0000 + SEC + SBC $F4 + BEQ L09519C + BVS L095195 + EOR #$8000 +L095195 BPL L09519C + LDA #$0000 + BRA L09519E +L09519C LDA $F4 +L09519E TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L0951A8 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F2 + TCS + LDAL L0C1A84 + SEC + SBCL L0C0F7A + STA $F4 + LDA L0B0070 + PHA + LDA $F4 + SEC + SBC #$0001 + SEC + JSL L01092D + PLY + STA $F4 + LDA $F4 + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L0951DC PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDA L0B0072 + PHA + LDA $FF + SEC + JSL L010AAE + PLA + CLC + ADCL L0C0F7C + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L095202 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F0 + TCS + LDA L0B0070 + PHA + LDA $FF + CLC + ADC #$0001 + SEC + JSL L010AAE + PLA + CLC + ADCL L0C0F7A + CLC + ADC #$0001 + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L095230 PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E2 + TCS + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + LDA $F9 + SEC + SBCL L0C0F7C + BEQ L095258 + BVS L095252 + EOR #$8000 +L095252 BPL L095258 + LDA $F9 + BRA L09525C +L095258 LDAL L0C0F7C +L09525C PHA + LDA L0B0070 + SEC + SBC #$0001 + PHA + PEI $F7 + JSL L095202 + PLY + PLX + STX $F0 + SEC + SBC $F0 + PHA + LDA $F7 + LDX #$0000 + TAY + BPL L09527C + DEX +L09527C STX $F0 + ASL + ROL $F0 + ASL + ROL $F0 + LDX $F0 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDY #$0002 + LDA [$EC],Y + SEC + SBC $FB + BEQ L0952AB + BVS L0952A5 + EOR #$8000 +L0952A5 BPL L0952AB + LDA $FB + BRA L0952D3 +L0952AB LDA $F7 + LDX #$0000 + TAY + BPL L0952B4 + DEX +L0952B4 STX $F0 + ASL + ROL $F0 + ASL + ROL $F0 + LDX $F0 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDY #$0002 + LDA [$EC],Y +L0952D3 PHA + PEI $F7 + JSL L095202 + PLY + CLC + ADC #$0001 + PHA + _SetRect + BCS L0952EC + LDA #$0000 +L0952EC STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _InvertRect + BCS L095305 + LDA #$0000 +L095305 STAL L0B0002 + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L095311 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E6 + TCS + LDA $F7 + CMP $FB + BNE L095344 + PEI $FF + PEI $FD + PEI $F9 + JSL L0951DC + PLY + PHA + PEI $F5 + JSL L0951DC + PLY + PHA + PEI $F7 + JSL L095230 + PLY + PLY + PLY + PLY + PLY + BRL L0953F9 +L095344 PEI $FF + PEI $FD + LDA $F7 + LDX #$0000 + TAY + BPL L095351 + DEX +L095351 STX $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + PHA + PEI $F5 + JSL L0951DC + PLY + PHA + PEI $F7 + JSL L095230 + PLY + PLY + PLY + PLY + PLY + LDA $F7 + CLC + ADC #$0001 + STA $E8 + BRA L0953CD +L09538E PEI $FF + PEI $FD + LDA $E8 + LDX #$0000 + TAY + BPL L09539B + DEX +L09539B STX $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + PHA + LDAL L0C0F7C + PHA + PEI $E8 + JSL L095230 + PLY + PLY + PLY + PLY + PLY + INC $E8 +L0953CD LDA $FB + SEC + SBC #$0001 + SEC + SBC $E8 + BVS L0953DB + EOR #$8000 +L0953DB BMI L09538E + PEI $FF + PEI $FD + PEI $F9 + JSL L0951DC + PLY + PHA + LDAL L0C0F7C + PHA + PEI $FB + JSL L095230 + PLY + PLY + PLY + PLY + PLY +L0953F9 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L095401 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E8 + TCS + LDA $F9 + SEC + SBC $FD + BVS L095416 + EOR #$8000 +L095416 BMI L09541E + LDA $FB + CMP $FF + BEQ L09542A +L09541E LDA $FB + SEC + SBC $FF + BVS L095428 + EOR #$8000 +L095428 BMI L095448 +L09542A PEI $F7 + PEI $F5 + PEI $F9 + PEI $FB + PEI $FD + PEI $FF + _SetRect + BCS L095442 + LDA #$0000 +L095442 STAL L0B0002 + BRA L095464 +L095448 PEI $F7 + PEI $F5 + PEI $FD + PEI $FF + PEI $F9 + PEI $FB + _SetRect + BCS L095460 + LDA #$0000 +L095460 STAL L0B0002 +L095464 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L09546C PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$0022 + TCS + PHA + PEA $0006 + PEA $0000 + _FlushEvents + BCS L09548A + LDA #$0000 +L09548A STAL L0B0002 + PLA + LDAL L0C0735 + STA $DE + LDA #L0C0CDC + LDX #^L0C0CDC + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + _NewRgn + BCS L0954BC + LDA #$0000 +L0954BC STAL L0B0002 + PLA + PLX + STX $3E + STA $3C + PEA $16A8 + JSL L021DFD + PLY + PHX + PHA + _NewRgn + BCS L0954DC + LDA #$0000 +L0954DC STAL L0B0002 + PLA + PLX + STX $D4 + STA $D2 + PEA $16A9 + JSL L021DFD + PLY + LDA L0B0002 + CMP #$0201 + BNE L095556 + PEA $0200 + PEA $0000 + PEA $4E20 + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L04023C + PLY + PLY + PHX + PHA + _NewRgn + BCS L09552C + LDA #$0000 +L09552C STAL L0B0002 + PLA + PLX + STX $3E + STA $3C + PHX + PHA + _NewRgn + BCS L095544 + LDA #$0000 +L095544 STAL L0B0002 + PLA + PLX + STX $D4 + STA $D2 + PEA $16AA + JSL L021DFD + PLY +L095556 PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + LDAL L0C0F7C + SEC + SBC #$0006 + PHA + LDAL L0C0F7A + SEC + SBC #$0003 + PHA + LDAL L0C0F80 + CLC + ADC #$0008 + PHA + LDAL L0C0F7E + PHA + _SetRect + BCS L09558B + LDA #$0000 +L09558B STAL L0B0002 + PEI $3E + PEI $3C + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + _RectRgn + BCS L0955A8 + LDA #$0000 +L0955A8 STAL L0B0002 + PEA $16AD + JSL L021DFD + PLY + PEI $D4 + PEI $D2 + PEA ^L0C0EE2 + PEA L0C0EE2 + _RectRgn + BCS L0955CA + LDA #$0000 +L0955CA STAL L0B0002 + PEA $16AE + JSL L021DFD + PLY + PEI $3E + PEI $3C + PEI $D4 + PEI $D2 + PEI $3E + PEI $3C + _DiffRgn + BCS L0955EE + LDA #$0000 +L0955EE STAL L0B0002 + PEA $16AF + JSL L021DFD + PLY + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + _SetPort + BCS L09560F + LDA #$0000 +L09560F STAL L0B0002 + PEA ^L0C030E + PEA L0C030E + _SetCursor + BCS L095625 + LDA #$0000 +L095625 STAL L0B0002 +L095629 JSL L06063A + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEI $3E + PEI $3C + _PtInRgn + BCS L095644 + LDA #$0000 +L095644 STAL L0B0002 + PLA + TAY + BEQ L095686 + LDA #L0C030E + LDX #^L0C030E + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L095662 + LDA #$0000 +L095662 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L095684 + PEA ^L0C030E + PEA L0C030E + _SetCursor + BCS L095680 + LDA #$0000 +L095680 STAL L0B0002 +L095684 BRA L0956AC +L095686 LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L09569C + LDA #$0000 +L09569C STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L0956AC + JSL L0311DD +L0956AC PEA $0004 + JSL L060679 + PLY + TAY + BNE L0956BA + BRL L095629 +L0956BA LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + JSL L04169A + TAY + LDAL L0C1A7A + CMP #$0001 + BEQ L09570A + LDA L0B0078 + SEC + SBC #$0000 + BNE L095700 + BRL L095629 +L095700 BVS L095705 + EOR #$8000 +L095705 BMI L09570A + BRL L095629 +L09570A LDA L0B0078 + CMP #$0000 + BEQ L095715 + BRL L095966 +L095715 PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEI $3E + PEI $3C + _PtInRgn + BCS L09572C + LDA #$0000 +L09572C STAL L0B0002 + PLA + TAY + BNE L095737 + BRL L095966 +L095737 LDA $DE + BEQ L095792 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + LDAL L0C0731 + PHA + LDAL L0C0733 + PHA + LDAL L0C0743 + PHA + LDAL L0C0745 + PHA + _SetRect + BCS L095764 + LDA #$0000 +L095764 STAL L0B0002 + LDX L0B0030 + LDA L0B002E + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + PHX + PHA + PEI $DA + PEI $DC + PEI $D6 + PEI $D8 + JSL L095311 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + STZ $DE +L095792 JSL L095160 + STA $EC + JSL L0951A8 + SEC + SBC $FF + BVS L0957A4 + EOR #$8000 +L0957A4 BMI L0957AC + JSL L0951A8 + BRA L0957AE +L0957AC LDA $FF +L0957AE SEC + SBC $FD + BEQ L0957D2 + BVS L0957B8 + EOR #$8000 +L0957B8 BPL L0957D2 + JSL L0951A8 + SEC + SBC $FF + BVS L0957C6 + EOR #$8000 +L0957C6 BMI L0957CE + JSL L0951A8 + BRA L0957D0 +L0957CE LDA $FF +L0957D0 BRA L0957D4 +L0957D2 LDA $FD +L0957D4 STA $EA + LDA $EC + STA $E8 + LDA $EA + STA $E6 +L0957DE JSL L06063A + PHA + PEA ^L0C1A84 + PEA L0C1A84 + PEI $3E + PEI $3C + _PtInRgn + BCS L0957F9 + LDA #$0000 +L0957F9 STAL L0B0002 + PLA + TAY + BEQ L09583B + LDA #L0C030E + LDX #^L0C030E + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L095817 + LDA #$0000 +L095817 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L095839 + PEA ^L0C030E + PEA L0C030E + _SetCursor + BCS L095835 + LDA #$0000 +L095835 STAL L0B0002 +L095839 BRA L095861 +L09583B LDX L0B00DF + LDA L0B00DD + PHX + PHA + PHX + PHA + _GetCursorAdr + BCS L095851 + LDA #$0000 +L095851 STAL L0B0002 + PLA + PLX + JSL L010B98 + BEQ L095861 + JSL L0311DD +L095861 JSL L095160 + STA $E2 + JSL L0951A8 + SEC + SBC $FF + BVS L095873 + EOR #$8000 +L095873 BMI L09587B + JSL L0951A8 + BRA L09587D +L09587B LDA $FF +L09587D SEC + SBC $FD + BEQ L0958A1 + BVS L095887 + EOR #$8000 +L095887 BPL L0958A1 + JSL L0951A8 + SEC + SBC $FF + BVS L095895 + EOR #$8000 +L095895 BMI L09589D + JSL L0951A8 + BRA L09589F +L09589D LDA $FF +L09589F BRA L0958A3 +L0958A1 LDA $FD +L0958A3 STA $E0 + LDA $E2 + CMP $E8 + BNE L0958B1 + LDA $E0 + CMP $E6 + BEQ L0958FE +L0958B1 PEI $E6 + PEI $E8 + PEI $E0 + PEI $E2 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + JSL L095401 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDX L0B0030 + LDA L0B002E + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + TAX + LDA [$F2] + PHX + PHA + PEI $DA + PEI $DC + PEI $D6 + PEI $D8 + JSL L095311 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDA $E2 + STA $E8 + LDA $E0 + STA $E6 +L0958FE PHA + PEA $0000 + _StillDown + BCS L09590E + LDA #$0000 +L09590E STAL L0B0002 + PLA + TAY + BEQ L095919 + BRL L0957DE +L095919 JSL L031208 + PEI $EA + PEI $EC + PEI $E6 + PEI $E8 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + JSL L095401 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEI $D8 + PEA $0001 + JSL L0251CD + PLY + PLY + PEI $D6 + PEA $0002 + JSL L0251CD + PLY + PLY + PEI $DC + PEA $000A + JSL L0251CD + PLY + PLY + PEI $DA + PEA $000B + JSL L0251CD + PLY + PLY +L095966 PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L095978 + LDA #$0000 +L095978 STAL L0B0002 + PEI $3E + PEI $3C + _DisposeRgn + BCS L09598C + LDA #$0000 +L09598C STAL L0B0002 + PEA $16B2 + JSL L021DFD + PLY + PEI $D4 + PEI $D2 + _DisposeRgn + BCS L0959A8 + LDA #$0000 +L0959A8 STAL L0B0002 + PEA $16B3 + JSL L021DFD + PLY + LDA L0B0078 + SEC + SBC #$0000 + BEQ L0959CD + BVS L0959C2 + EOR #$8000 +L0959C2 BPL L0959CD + LDA L0B0078 + PHA + JSL L0607BE + PLY +L0959CD TSC + CLC + ADC #$00D4 + TCS + PLD + RTL + diff --git a/yourtour/LTRICKS.X.S b/yourtour/LTRICKS.X.S new file mode 100644 index 0000000..5b9c275 --- /dev/null +++ b/yourtour/LTRICKS.X.S @@ -0,0 +1,161 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L0102D3 + EXT L010B98 + EXT L0B0002 + EXT L024DE0 + EXT L0B0082 + EXT L021DFD + EXT L0246BF + EXT L024E3C + EXT L0244F2 + EXT L024E6B + EXT L025194 + EXT L0251CD + EXT L02441B + EXT L01092D + EXT L010DD9 + EXT L010AAE + EXT L010D87 + EXT L010AF3 + EXT L0C10BE + EXT L010BC3 + EXT L061079 + EXT L0C1AB0 + EXT L0C1AA6 + EXT L0C1A9A + EXT L0618EB + EXT L06152C + EXT L0C0F7E + EXT L0C0F7A + EXT L0C0F7C + EXT L040E53 + EXT L0613E4 + EXT L06135C + EXT L040000 + EXT L04023C + EXT L0601C6 + EXT L031208 + EXT L0C1A86 + EXT L0C1A84 + EXT L0C1AA2 + EXT L0B0078 + EXT L0B00C7 + EXT L0B0070 + EXT L0B0072 + EXT L0B00A8 + EXT L0B00B2 + EXT L0C1A7A + EXT L0C11BB + EXT L0C1AB2 + EXT L0C0759 + EXT L0C072F + EXT L0C0EF2 + EXT L0C0CDC + EXT L0C1188 + EXT L0C09F0 + EXT L0311DD + EXT L030000 + EXT L010CB2 + EXT L0C0EE2 + EXT L0612B1 + EXT L06078F + EXT L0612DE + EXT L0C0733 + EXT L0C0731 + EXT L0C0745 + EXT L0C0743 + EXT L0607BE + EXT L06063A + EXT L0108F6 + EXT L010CD9 + EXT L0B0030 + EXT L0B002E + EXT L0B00DF + EXT L0B00DD + EXT L0B003E + EXT L0B0042 + EXT L0B0044 + EXT L0502A4 + EXT L04169A + EXT L060679 + EXT L0620B1 + EXT L06204F + EXT L0C0F80 + EXT L0C0D1C + EXT L0C1A7E + EXT L0C1A7C + EXT L0C1AA8 + EXT L0C1AAC + EXT L0C1AAE + EXT L0B00CB + EXT L0C10BA + EXT L071136 + EXT L0705F6 + EXT L0C2468 + EXT L0C2466 + EXT L0C246C + EXT L0C246A + EXT L0C2470 + EXT L0C246E + EXT L0C2474 + EXT L0C2472 + EXT L0C2478 + EXT L0C2476 + EXT L0B0040 + EXT L0C0EFA + EXT L01122C + EXT L0C10BC + EXT L0C0735 + EXT L0C073D + EXT L0C2820 + EXT L0C2848 + EXT L0C2870 + EXT L0C2898 + EXT L0C28C0 + EXT L0C2828 + EXT L0C2850 + EXT L0C2878 + EXT L0C28A0 + EXT L0C28C8 + EXT L0C2830 + EXT L0C2858 + EXT L0C2880 + EXT L0C28A8 + EXT L0C28D0 + EXT L0C28F8 + EXT L0C2920 + EXT L0C2888 + EXT L0C28B0 + EXT L0C28D8 + EXT L0C2900 + EXT L0C2928 + EXT L0C2868 + EXT L0C2890 + EXT L0C28B8 + EXT L0C28E0 + EXT L0C2908 + EXT L0C2930 + EXT L0C030E + EXT L0C27DF + EXT L0C27E1 + EXT L0C27E2 + EXT L0C078C + EXT L0C07BF + EXT L0C27E4 + EXT L0C27E6 + EXT L0C27E8 + EXT L0C27E9 + EXT L0C27ED + EXT L0C27F2 + EXT L0C27F9 + EXT L0C27FA + EXT L0C2805 + EXT L0C280F + EXT L0C2811 + EXT L0C2813 diff --git a/yourtour/MAIN.E.S b/yourtour/MAIN.E.S new file mode 100644 index 0000000..0a06022 --- /dev/null +++ b/yourtour/MAIN.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS EQU $E100A8 diff --git a/yourtour/MAIN.S b/yourtour/MAIN.S new file mode 100644 index 0000000..eb01fae --- /dev/null +++ b/yourtour/MAIN.S @@ -0,0 +1,2588 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use MAIN.E + use MAIN.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/SANE.Macs + use 4/Text.Macs + use 4/Util.Macs + +*------------------------------- + + PHA + SEP #$20 + LDA #^L0B0004 + PHA + PLB + REP #$20 + PLA + STA L0B0004 + STX L0B0014 + STY L0B0012 + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00EE + TCS + PHA + _MMStartUp + BCS L01002B + LDA #$0000 +L01002B STAL L0B0002 + PLA + PHX + PHA + PEA $0000 + PEA $0100 + LDA L0B0004 + PHA + PEA $C011 + PEA $0000 + PEA $0000 + _NewHandle + BCS L010051 + LDA #$0000 +L010051 STAL L0B0002 + PLA + PLX + STX L0B0018 + STA L0B0016 + STX $F6 + ORA $F6 + BNE L01007C + PEA ^L0C0000 + PEA L0C0000 + _WriteCString + BCS L010075 + LDA #$0000 +L010075 STAL L0B0002 + BRL L01014A +L01007C LDX L0B0018 + LDA L0B0016 + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + STA $F4 + PEI $F4 + _SANEStartUp + LDX L0B0014 + LDA L0B0012 + PHX + PHA + JSL L0103AF + PLY + PLY + PEA $0000 + JSL L010E5F + PLY + LDA #L0D0000 + LDX #^L0D0000 + STX $F2 + STA $F0 + PEA ^L0C0020 + PEA L0C0020 + JSL L010D6A + PLY + PLY + TAY + BNE L0100E1 + LDX L0B000A + LDA L0B0008 + PHX + PHA + LDA L0B0006 + PHA + JSL L010154 + PLY + PLY + PLY + PHA + JSL L011007 + PLY +L0100E1 LDA L0B0004 + ORA #$0F00 + PHA + _DisposeAll + BCS L0100F4 + LDA #$0000 +L0100F4 STAL L0B0002 + SEC + LDA L0B000E + SBC #$0000 + BNE L010109 + LDA L0B0010 + SBC #$0000 + BRA L010111 +L010109 LDA L0B0010 + SBC #$0000 + REP #$02 +L010111 BEQ L010121 + LDX L0B0010 + LDA L0B000E + PHX + PHA + JSL L010C36 + PLY + PLY +L010121 LDX L0B0010 + LDA L0B000E + PHA + TXA + STAL L0C002A + PLA + STAL L0C0028 + LDA L0B0000 + STAL L0C002C + LDA L0B000C + PHA + PEA ^L0C0028 + PEA L0C0028 + JSL L010C1D + PLY + PLY + PLY +L01014A TAY + TDC + CLC + ADC #$00FB + TCS + TYA + PLD + RTL + +L010154 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + JSL L0E0012 + JSL L0E0020 + JSL L01017B + JSL L01019A + JSL L0E002E + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L01017B PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PEA ^L0E003C + PEA L0E003C + JSL L0402A6 + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L01019A PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00BD + TCS + LDX #$0000 + LDA #$0001 + STX $C1 + STA $BF + PEA ^L0C1220 + PEA L0C1220 + PEA $0000 + TDC + CLC + ADC #$00C3 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C3 + PHA + JSL L040463 + PLY + PLY + _GrafOn + BCS L0101E1 + LDA #$0000 +L0101E1 STAL L0B0002 +L0101E5 LDA L0B0088 + BNE L010204 + JSL L040619 + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + JSL L023C7E + PLY + PLY + PLY + PLY + BRA L0101E5 +L010204 TSC + CLC + ADC #$003D + TCS + PLD + RTL + +L01020C ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00DE + TCS + STZ $EA + STZ $EC + STZ $E8 + STZ $E6 + STZ $E4 + STZ $E2 + STZ $E0 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E8 + LDA [$FD] + LDX #$0000 + TAY + BPL L010243 + DEX +L010243 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + BEQ L0102C5 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E6 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E4 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E2 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E0 + PEI $E0 + PEI $E2 + PEI $E4 + PEI $E6 + PEI $E8 + JSL L0102D3 + PLY + PLY + PLY + PLY + PLY + STX $EC + STA $EA +L0102C5 LDX $EC + LDA $EA + TAY + TSC + CLC + ADC #$0014 + TCS + TYA + PLD + RTL + +L0102D3 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E6 + TCS + LDA $FD + BEQ L0102E7 + LDA #$0000 + BRA L0102EA +L0102E7 LDA #$0001 +L0102EA AND #$0001 + PHA + PHA + LDA $EA + AND #$7FFF + STA $F0 + PLA + XBA + AND #$FF00 + ASL + ASL + ASL + ASL + ASL + ASL + ASL + ORA $F0 + STA $EA + PLA + LDA $F7 + AND #$000F + PHA + PHA + LDA $EA + AND #$87FF + STA $F0 + PLA + XBA + AND #$FF00 + ASL + ASL + ASL + ORA $F0 + STA $EA + PLA + LDA $F9 + AND #$07FF + PHA + PHA + LDA $EA + AND #$F800 + STA $F0 + PLA + ORA $F0 + STA $EA + PLA + LDA #$0001 + AND #$0001 + PHA + PHA + LDA $E8 + AND #$7FFF + STA $F0 + PLA + XBA + AND #$FF00 + ASL + ASL + ASL + ASL + ASL + ASL + ASL + ORA $F0 + STA $E8 + PLA + LDA $FB + AND #$007F + PHA + PHA + LDA $E8 + AND #$80FF + STA $F0 + PLA + ASL + ASL + ASL + ASL + ASL + ASL + ASL + ASL + ORA $F0 + STA $E8 + PLA + LDA $FD + AND #$0001 + PHA + PHA + LDA $E8 + AND #$FF7F + STA $F0 + PLA + ASL + ASL + ASL + ASL + ASL + ASL + ASL + ORA $F0 + STA $E8 + PLA + LDA $FF + AND #$007F + PHA + PHA + LDA $E8 + AND #$FF80 + STA $F0 + PLA + ORA $F0 + STA $E8 + PLA + LDX $EA + LDA $E8 + TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + +L0103AF PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00DF + TCS + STZ $EF + STZ L0B0006 + LDA $FD + CMP #$0000 + BNE L0103D6 + LDA $FF + CMP #$0000 + BNE L0103D6 + LDA #$0001 + STA L0B011D + BRL L0107FA +L0103D6 LDX $FF + LDA $FD + CLC + ADC #$0008 + PHA + TXA + ADC #$0000 + TAX + PLA + STX $E9 + STA $E7 + LDA [$E7] + SEP #$20 + STA $F1 + REP #$20 + LDA #$0000 + SEP #$20 + STA [$E7] + REP #$20 + PEA $0001 + PEA ^L0C2D08 + PEA L0C2D08 + PEI $FF + PEI $FD + JSL L010804 + PLY + PLY + PLY + PLY + PLY + TAY + BNE L010424 + LDA #$0001 + STA L0B011D + LDA $F1 + SEP #$20 + STA [$E7] + REP #$20 + BRL L0107FA +L010424 STZ L0B011D + LDA $F1 + SEP #$20 + STA [$E7] + REP #$20 + PHX + PHA + PEA $0000 + PEA $0100 + LDA L0B0004 + ORA #$0F00 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L010453 + LDA #$0000 +L010453 STAL L0B0002 + PLA + PLX + STX $ED + STA $EB + LDA L0B0002 + BEQ L01046A + PEA $FFFF + JSL L010B7A + PLY +L01046A LDA #$0100 + STA $E1 +L01046F LDA [$E7] + AND #$00FF + CMP #$0000 + BNE L01047C + BRL L0106DA +L01047C INC L0B0006 + LDA [$E7] + AND #$00FF + CMP #$0022 + BEQ L01048C + BRL L0105B3 +L01048C INC $E7 + BNE L010492 + INC $E9 +L010492 LDA [$E7] + AND #$00FF + CMP #$0000 + BNE L01049F + BRL L0105B0 +L01049F LDA [$E7] + AND #$00FF + CMP #$0022 + BEQ L0104AC + BRL L010538 +L0104AC INC $E7 + BNE L0104B2 + INC $E9 +L0104B2 LDA [$E7] + AND #$00FF + CMP #$0022 + BNE L010533 + LDA $EF + CMP $E1 + BNE L0104FA + LDA $E1 + CLC + ADC #$0100 + LDX #$0000 + TAY + BPL L0104CF + DEX +L0104CF PHX + PHA + PEI $ED + PEI $EB + _SetHandleSize + BCS L0104E1 + LDA #$0000 +L0104E1 STAL L0B0002 + LDA L0B0002 + BEQ L0104F2 + PEA $FFFF + JSL L010B7A + PLY +L0104F2 LDA $E1 + CLC + ADC #$0100 + STA $E1 +L0104FA LDX $E9 + LDA $E7 + INC $E7 + BNE L010504 + INC $E9 +L010504 STA $F2 + STX $F4 + LDA [$F2] + PHA + LDA $EF + INC $EF + LDX #$0000 + TAY + BPL L010516 + DEX +L010516 PHX + PHA + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + BRA L010536 +L010533 BRL L0105B0 +L010536 BRA L0105AD +L010538 LDA $EF + CMP $E1 + BNE L010576 + LDA $E1 + CLC + ADC #$0100 + LDX #$0000 + TAY + BPL L01054B + DEX +L01054B PHX + PHA + PEI $ED + PEI $EB + _SetHandleSize + BCS L01055D + LDA #$0000 +L01055D STAL L0B0002 + LDA L0B0002 + BEQ L01056E + PEA $FFFF + JSL L010B7A + PLY +L01056E LDA $E1 + CLC + ADC #$0100 + STA $E1 +L010576 LDX $E9 + LDA $E7 + INC $E7 + BNE L010580 + INC $E9 +L010580 STA $F2 + STX $F4 + LDA [$F2] + PHA + LDA $EF + INC $EF + LDX #$0000 + TAY + BPL L010592 + DEX +L010592 PHX + PHA + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 +L0105AD BRL L010492 +L0105B0 BRL L010655 +L0105B3 LDA [$E7] + SEP #$20 + STA $F1 + REP #$20 + AND #$00FF + CMP #$0020 + BNE L0105C6 + BRL L010655 +L0105C6 LDA $F1 + AND #$00FF + CMP #$0000 + BNE L0105D3 + BRL L010655 +L0105D3 LDA $F1 + AND #$00FF + CMP #$0009 + BEQ L010655 + LDA $EF + CMP $E1 + BNE L01061B + LDA $E1 + CLC + ADC #$0100 + LDX #$0000 + TAY + BPL L0105F0 + DEX +L0105F0 PHX + PHA + PEI $ED + PEI $EB + _SetHandleSize + BCS L010602 + LDA #$0000 +L010602 STAL L0B0002 + LDA L0B0002 + BEQ L010613 + PEA $FFFF + JSL L010B7A + PLY +L010613 LDA $E1 + CLC + ADC #$0100 + STA $E1 +L01061B LDX $E9 + LDA $E7 + INC $E7 + BNE L010625 + INC $E9 +L010625 STA $F2 + STX $F4 + LDA [$F2] + PHA + LDA $EF + INC $EF + LDX #$0000 + TAY + BPL L010637 + DEX +L010637 PHX + PHA + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + BRL L0105B3 +L010655 LDA $EF + CMP $E1 + BNE L010693 + LDA $E1 + CLC + ADC #$0100 + LDX #$0000 + TAY + BPL L010668 + DEX +L010668 PHX + PHA + PEI $ED + PEI $EB + _SetHandleSize + BCS L01067A + LDA #$0000 +L01067A STAL L0B0002 + LDA L0B0002 + BEQ L01068B + PEA $FFFF + JSL L010B7A + PLY +L01068B LDA $E1 + CLC + ADC #$0100 + STA $E1 +L010693 LDA $EF + INC $EF + LDX #$0000 + TAY + BPL L01069E + DEX +L01069E PHX + PHA + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + SEP #$20 + STA [$F2] + REP #$20 +L0106BB LDA [$E7] + AND #$00FF + CMP #$0020 + BEQ L0106CF + LDA [$E7] + AND #$00FF + CMP #$0009 + BNE L0106D7 +L0106CF INC $E7 + BNE L0106D5 + INC $E9 +L0106D5 BRA L0106BB +L0106D7 BRL L01046F +L0106DA LDA $EF + LDX #$0000 + TAY + BPL L0106E3 + DEX +L0106E3 PHX + PHA + PEI $ED + PEI $EB + _SetHandleSize + BCS L0106F5 + LDA #$0000 +L0106F5 STAL L0B0002 + PEI $ED + PEI $EB + _HLock + BCS L010709 + LDA #$0000 +L010709 STAL L0B0002 + LDA L0B0006 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L01071B + DEX +L01071B STX $F6 + ASL + ROL $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + JSL L01114D + PLY + PLY + STX L0B000A + STA L0B0008 + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + PHX + PHA + LDX L0B000A + LDA L0B0008 + STA $F2 + STX $F4 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F2],Y + PLA + STA [$F2] + LDA #$0001 + STA $EF + LDY #$0002 + LDA [$EB],Y + TAX + LDA [$EB] + STX $E5 + STA $E3 + BRA L0107B7 +L010766 LDA [$E3] + AND #$00FF + BNE L0107B1 + LDX $E5 + LDA $E3 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + LDA $EF + INC $EF + LDX #$0000 + TAY + BPL L010789 + DEX +L010789 STX $F6 + ASL + ROL $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDX L0B000A + LDA L0B0008 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F2],Y + PLA + STA [$F2] +L0107B1 INC $E3 + BNE L0107B7 + INC $E5 +L0107B7 LDA $EF + SEC + SBC L0B0006 + BVS L0107C2 + EOR #$8000 +L0107C2 BPL L010766 + LDA L0B0006 + LDX #$0000 + TAY + BPL L0107CE + DEX +L0107CE STX $F6 + ASL + ROL $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDX L0B000A + LDA L0B0008 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F2],Y + PLA + STA [$F2] +L0107FA TAY + TDC + CLC + ADC #$00F7 + TCS + TYA + PLD + RTL + +L010804 PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00EA + TCS + BRL L0108D5 +L010812 LDA [$F7] + AND #$00FF + PHA + LDA [$FB] + AND #$00FF + PLX + STX $EC + CMP $EC + BNE L01082A + LDA #$0001 + BRL L0108AF +L01082A LDA $FF + BEQ L010833 + LDA #$0000 + BRA L0108AF +L010833 LDA [$F7] + AND #$00FF + SEC + SBC #$0061 + BVS L010841 + EOR #$8000 +L010841 BPL L010855 + LDA [$F7] + AND #$00FF + SEC + SBC #$007A + BEQ L01085C + BVS L010853 + EOR #$8000 +L010853 BPL L01085C +L010855 LDA [$F7] + AND #$00FF + BRA L010869 +L01085C LDA [$F7] + AND #$00FF + CLC + ADC #$0041 + SEC + SBC #$0061 +L010869 PHA + LDA [$FB] + AND #$00FF + SEC + SBC #$0061 + BVS L010878 + EOR #$8000 +L010878 BPL L01088C + LDA [$FB] + AND #$00FF + SEC + SBC #$007A + BEQ L010893 + BVS L01088A + EOR #$8000 +L01088A BPL L010893 +L01088C LDA [$FB] + AND #$00FF + BRA L0108A0 +L010893 LDA [$FB] + AND #$00FF + CLC + ADC #$0041 + SEC + SBC #$0061 +L0108A0 PLX + STX $EC + CMP $EC + BEQ L0108AC + LDA #$0000 + BRA L0108AF +L0108AC LDA #$0001 +L0108AF TAY + BNE L0108B7 + LDA #$0000 + BRA L0108EC +L0108B7 LDX $F9 + LDA $F7 + INC $F7 + BNE L0108C1 + INC $F9 +L0108C1 STA $EC + STX $EE + LDX $FD + LDA $FB + INC $FB + BNE L0108CF + INC $FD +L0108CF STA $EC + STX $EE + LDA [$EC] +L0108D5 LDA [$F7] + AND #$00FF + BEQ L0108DF + BRL L010812 +L0108DF LDA [$FB] + AND #$00FF + BEQ L0108E9 + BRL L010812 +L0108E9 LDA #$0001 +L0108EC TAY + TDC + CLC + ADC #$00F1 + TCS + TYA + PLD + RTL + +L0108F6 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDA $FF + SEC + SBC #$0000 + BVS L01090C + EOR #$8000 +L01090C BPL L010912 + LDA $FF + BRA L010918 +L010912 LDA $FF + EOR #$FFFF + INC +L010918 TAY + TDC + CLC + ADC #$00F9 + TCS + TYA + PLD + RTL + +L010922 ENT + CLC + ADC $04,S + STA $04,S + TXA + ADC $06,S + STA $06,S + RTL + +L01092D ENT + PHD + PHA + PEA $0001 + TSC + TCD + LDA $0A + BEQ L0109A2 + LDX #$0000 + BCC L010958 + BIT #$8000 + BEQ L010949 + EOR #$FFFF + INC + STA $0A + INX +L010949 LDA $03 + BIT #$8000 + BEQ L010958 + EOR #$FFFF + INC + STA $03 + INX + INX +L010958 LDY #$0000 + BRA L01095F +L01095D ASL $01 +L01095F ASL $0A + BCC L01095D + ROR $0A +L010965 LDA $03 + CMP $0A + BCC L010976 + LDA $03 + SEC + SBC $0A + STA $03 + TYA + ORA $01 + TAY +L010976 LSR $0A + LSR $01 + BCC L010965 + LDA $03 + STA $0A + TYA + CPX #$0000 + BEQ L01099E + CPX #$0003 + BEQ L010994 + EOR #$FFFF + INC + CPX #$0001 + BEQ L01099E +L010994 TAY + LDA $0A + EOR #$FFFF + INC + STA $0A + TYA +L01099E PLY + PLY + PLD + RTL + +L0109A2 PEA $0004 + PEA $0000 + PEA $0000 + _SysFailMgr +L0109B2 ENT + PHD + PHX + PHA + PEA $0000 + PEA $0001 + PEA $0000 + PEA $0000 + TSC + TCD + LDA $12 + ORA $14 + BNE L0109CF + LDX #$0000 + BRL L010A93 +L0109CF LDX #$0000 + BCC L010A07 + LDA $14 + BIT #$8000 + BEQ L0109ED + EOR #$FFFF + STA $14 + LDA $12 + EOR #$FFFF + INC + BNE L0109EA + INC $14 +L0109EA STA $12 + INX +L0109ED LDA $0B + BIT #$8000 + BEQ L010A07 + EOR #$FFFF + STA $0B + LDA $09 + EOR #$FFFF + INC + BNE L010A03 + INC $0B +L010A03 STA $09 + INX + INX +L010A07 BRA L010A0D +L010A09 ASL $05 + ROL $07 +L010A0D ASL $12 + ROL $14 + BCC L010A09 + ROR $14 + ROR $12 +L010A17 LDA $0B + CMP $14 + BEQ L010A21 + BCC L010A40 + BRA L010A27 +L010A21 LDA $09 + CMP $12 + BCC L010A40 +L010A27 LDA $09 + SEC + SBC $12 + STA $09 + LDA $0B + SBC $14 + STA $0B + LDA $01 + ORA $05 + STA $01 + LDA $03 + ORA $07 + STA $03 +L010A40 LSR $14 + ROR $12 + LSR $07 + ROR $05 + BCC L010A17 + CPX #$0000 + BEQ L010A7F + CPX #$0003 + BEQ L010A6C + LDA $01 + EOR #$FFFF + STA $01 + LDA $03 + EOR #$FFFF + INC $01 + BNE L010A65 + INC +L010A65 STA $03 + CPX #$0001 + BEQ L010A7F +L010A6C LDA $09 + EOR #$FFFF + STA $09 + LDA $0B + EOR #$FFFF + INC $09 + BNE L010A7D + INC +L010A7D STA $0B +L010A7F LDA $09 + STA $12 + LDA $0B + STA $14 + LDA $01 + LDX $03 + PLY + PLY + PLY + PLY + PLY + PLY + PLD + RTL + +L010A93 PEA $0004 + PEA $0000 + PEA $0000 + _SysFailMgr +L010AA3 ENT + SEC + SBC $04,S + STA $04,S + TXA + SBC $06,S + STA $06,S + RTL + +L010AAE ENT + PHD + PHA + TSC + TCD + LDX #$0000 + BCC L010AD3 + LDA $08 + BIT #$8000 + BEQ L010AC5 + EOR #$FFFF + INC + STA $08 + INX +L010AC5 LDA $01 + BIT #$8000 + BEQ L010AD3 + EOR #$FFFF + INC + STA $01 + DEX +L010AD3 LDA #$0000 + BRA L010AE1 +L010AD8 LSR $01 + BCC L010ADF + CLC + ADC $08 +L010ADF ASL $08 +L010AE1 LDY $01 + BNE L010AD8 + CPX #$0000 + BEQ L010AEE + EOR #$FFFF + INC +L010AEE STA $08 + PLY + PLD + RTL + +L010AF3 ENT + PHD + PHX + PHA + PEA $0000 + PEA $0000 + TSC + TCD + LDX #$0000 + BCC L010B35 + LDA $10 + BIT #$8000 + BEQ L010B1C + EOR #$FFFF + STA $10 + LDA $0E + EOR #$FFFF + INC + BNE L010B19 + INC $10 +L010B19 STA $0E + INX +L010B1C LDA $07 + BIT #$8000 + BEQ L010B35 + EOR #$FFFF + STA $07 + LDA $05 + EOR #$FFFF + INC + BNE L010B32 + INC $07 +L010B32 STA $05 + DEX +L010B35 BRA L010B4E +L010B37 LSR $07 + ROR $05 + BCC L010B4A + LDA $01 + CLC + ADC $0E + STA $01 + LDA $03 + ADC $10 + STA $03 +L010B4A ASL $0E + ROL $10 +L010B4E LDA $05 + ORA $07 + BNE L010B37 + CPX #$0000 + BEQ L010B6C + LDA $01 + EOR #$FFFF + STA $01 + LDA $03 + EOR #$FFFF + INC $01 + BNE L010B6A + INC +L010B6A STA $03 +L010B6C LDA $01 + STA $0E + LDA $03 + STA $10 + PLY + PLY + PLY + PLY + PLD + RTL + +L010B7A ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDA $FF + AND #$FFFF + PHA + JSL L011007 + PLY + TDC + CLC + ADC #$00F9 + TCS + PLD + RTL + +L010B98 ENT + PHX + PHA + LDA $08,S + TAX + LDA $0A,S + TAY + LDA $06,S + STA $0A,S + LDA $04,S + STA $08,S + TXA + SEC + SBC $01,S + BNE L010BB3 + TYA + SBC $03,S + BRA L010BB8 +L010BB3 TYA + SBC $03,S + REP #$02 +L010BB8 PHP + LDA $00,S + STA $08,S + PLY + PLY + PLY + PLY + PLP + RTL + +L010BC3 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E6 + TCS + LDX $FB + LDA $F9 + STX $EA + STA $E8 +L010BD6 LDA $F7 + CMP #$0001 + BEQ L010C01 + BCC L010C01 + LDA [$FD] + STA [$F9] + LDA $F9 + CLC + ADC #$0002 + STA $F9 + BCC L010BEF + INC $FB +L010BEF LDA $FD + CLC + ADC #$0002 + STA $FD + BCC L010BFB + INC $FF +L010BFB DEC $F7 + DEC $F7 + BRA L010BD6 +L010C01 LDA $F7 + BEQ L010C0D + SEP #$20 + LDA [$FD] + STA [$F9] + REP #$20 +L010C0D LDX $EA + LDA $E8 + STX $FF + STA $FD + TDC + CLC + ADC #$00F1 + TCS + PLD + RTL + +L010C1D LDA $04,S + STAL L010C31 + LDA $06,S + STAL L010C31+2 + LDA $08,S + JSL GSOS + DW $0029 +L010C31 ADRL $00000000 + RTL + +L010C36 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00E6 + TCS + LDX $FF + LDA $FD + STX $EA + STA $E8 + LDX $FF + LDA $FD + STX $F2 + ORA $F2 + BEQ L010C94 +L010C53 LDA [$FD] + AND #$00FF + STA $EC + LDA $EE + PHA + LDX $FF + LDA $FD + INC $FD + BNE L010C67 + INC $FF +L010C67 STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + LDA $EC + STA $EE + LDA $EC + BNE L010C53 + LDX $EA + LDA $E8 + PHX + PHA + LDX $FF + LDA $FD + JSL L010AA3 + PLA + PLX + SEC + SBC #$0001 + SEP #$20 + STA [$E8] + REP #$20 +L010C94 LDX $EA + LDA $E8 + TAY + TDC + CLC + ADC #$00F7 + TCS + TYA + PLD + RTL + +L010CA2 ENT + TAY + LDA $04,S + TAX + BEQ L010CAE + TYA +L010CA9 ASL + DEX + BNE L010CA9 + TAY +L010CAE TYA + STA $04,S + RTL + +L010CB2 ENT + PHD + PHX + PHA + TSC + TCD + LDX $0A + LDA $0C + BEQ L010CC0 + LDX #$0021 +L010CC0 TXY + BEQ L010CCD + LDA $01 +L010CC5 ASL + ROL $03 + DEX + BNE L010CC5 + STA $01 +L010CCD LDA $01 + STA $0A + LDA $03 + STA $0C + PLY + PLY + PLD + RTL + +L010CD9 ENT + BCC L010CED + TAY + LDA $04,S + TAX + BEQ L010CF9 + TYA + BEQ L010CFA + BPL L010CF4 +L010CE6 SEC + ROR + DEX + BNE L010CE6 + BRA L010CFA +L010CED TAY + LDA $04,S + TAX + BEQ L010CF9 + TYA +L010CF4 LSR + DEX + BNE L010CF4 + TAY +L010CF9 TYA +L010CFA STA $04,S + RTL + +L010CFD ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + LDX $FB + LDA $F9 + STX $EC + STA $EA +L010D10 LDX $FB + LDA $F9 + INC $F9 + BNE L010D1A + INC $FB +L010D1A STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + BEQ L010D27 + BRA L010D10 +L010D27 LDA $F9 + BNE L010D2D + DEC $FB +L010D2D DEC $F9 +L010D2F LDX $FF + LDA $FD + INC $FD + BNE L010D39 + INC $FF +L010D39 STA $EE + STX $F0 + LDA [$EE] + PHA + LDX $FB + LDA $F9 + INC $F9 + BNE L010D4A + INC $FB +L010D4A STA $EE + STX $F0 + PLA + SEP #$20 + STA [$EE] + REP #$20 + AND #$00FF + BEQ L010D5C + BRA L010D2F +L010D5C LDX $EC + LDA $EA + TAY + TDC + CLC + ADC #$00F3 + TCS + TYA + PLD + RTL + +L010D6A PHD + TSC + TCD + STA [$06] + LDA $01,S + LDY #$0002 + STA [$06],Y + LDA $02,S + INY + INY + STA [$06],Y + LDA $04,S + INY + INY + STA [$06],Y + PLD + LDA #$0000 + RTL + +L010D87 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + STX $F0 + STA $EE +L010DA5 LDX $FF + LDA $FD + INC $FD + BNE L010DAF + INC $FF +L010DAF STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$0000 + BEQ L010DBF + BRA L010DA5 +L010DBF LDX $F0 + LDA $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010AA3 + PLA + PLX + TAY + TDC + CLC + ADC #$00F7 + TCS + TYA + PLD + RTL + +L010DD9 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA $F9 + CMP $FD + BNE L010DF5 + LDA $FB + CMP $FF + BNE L010DF5 + LDA #$0000 + BRA L010E55 +L010DF5 LDA [$F9] + AND #$00FF + PHA + LDX $FF + LDA $FD + INC $FD + BNE L010E05 + INC $FF +L010E05 STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + PLX + STX $EE + CMP $EE + BNE L010E34 + LDX $FB + LDA $F9 + INC $F9 + BNE L010E1F + INC $FB +L010E1F STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + CMP #$0000 + BNE L010E32 + LDA #$0000 + BRA L010E55 +L010E32 BRA L010DF5 +L010E34 LDA $FD + BNE L010E3A + DEC $FF +L010E3A DEC $FD + LDX $FF + LDA $FD + STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + PHA + LDA [$F9] + AND #$00FF + PLX + STX $F2 + SEC + SBC $F2 +L010E55 TAY + TDC + CLC + ADC #$00F3 + TCS + TYA + PLD + RTL + +L010E5F PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$FFEA + TCS + LDA #L011264 + LDX #^L011264 + PHX + PHA + LDAL L0C2CEA+2 + TAX + LDAL L0C2CEA + STA $F4 + STX $F6 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + LDA L0B011D + BNE L010E93 + BRL L010FE5 +L010E93 LDX #$0000 + TDC + CLC + ADC #$FFEC + PHA + TXA + STAL L0C2D57 + PLA + STAL L0C2D55 + PEA $0027 + PEA ^L0C2D55 + PEA L0C2D55 + JSL L0110B9 + LDAL L0C2D57 + TAX + LDAL L0C2D55 + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + STA $F0 + STA $EE +L010EC9 LDA $F0 + LDX #$0000 + TAY + BPL L010ED2 + DEX +L010ED2 PHX + PHA + LDAL L0C2D57 + TAX + LDAL L0C2D55 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + CMP #$002F + BEQ L010F04 + LDA $F0 + SEC + SBC #$0000 + BEQ L010F04 + BVS L010EFE + EOR #$8000 +L010EFE BPL L010F04 + DEC $F0 + BRA L010EC9 +L010F04 LDA $EE + SEC + SBC $F0 + STA $EC + SEP #$20 + STAL L0C2D45 + REP #$20 + BRA L010F67 +L010F15 LDA $EE + DEC $EE + LDX #$0000 + TAY + BPL L010F20 + DEX +L010F20 PHX + PHA + LDAL L0C2D57 + TAX + LDAL L0C2D55 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + PHA + LDA $EC + LDX #$0000 + TAY + BPL L010F41 + DEX +L010F41 PHX + PHA + LDA #L0C2D46 + LDX #^L0C2D46 + JSL L010922 + PLA + PLX + SEC + SBC #$0001 + PHA + TXA + SBC #$0000 + TAX + PLA + STA $F4 + STX $F6 + PLA + SEP #$20 + STA [$F4] + REP #$20 + DEC $EC +L010F67 LDA $EC + SEC + SBC #$0000 + BEQ L010F76 + BVS L010F74 + EOR #$8000 +L010F74 BMI L010F15 +L010F76 LDA #L0C2D45 + LDX #^L0C2D45 + PHX + PHA + LDAL L0C2CDC+2 + TAX + LDAL L0C2CDC + STA $F4 + STX $F6 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + LDA $FF + BNE L010FB8 + LDAL L0C2CDC+2 + TAX + LDAL L0C2CDC + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + PHX + PHA + JSL L011287 + PLY + PLY +L010FB8 LDA #$0001 + STA L0B0006 + LDAL L0C2CDC+2 + TAX + LDAL L0C2CDC + STX L0B000A + STA L0B0008 + PEA $007F + PEA $0000 + _SetInGlobals + BCS L010FDF + LDA #$0000 +L010FDF STAL L0B0002 + BRA L010FFD +L010FE5 LDA L0B0006 + STAL L0C2CDA + LDX L0B000A + LDA L0B0008 + PHA + TXA + STAL L0C2CDC+2 + PLA + STAL L0C2CDC +L010FFD TAY + TDC + CLC + ADC #$00F9 + TCS + TYA + PLD + RTL + +L011007 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EE + TCS + LDAL L0C2CEA+2 + TAX + LDAL L0C2CEA + STA $F4 + STX $F6 + LDX $F6 + LDA #$0024 + CLC + ADC $F4 + BCC L01102A + INX +L01102A STX $F2 + STA $F0 + BRA L011069 +L011030 LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$F0],Y + TAX + LDA [$F0] + JSL L010B98 + BEQ L01105D + PEI $FF + LDY #$0002 + LDA [$F0],Y + TAX + LDA [$F0] + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + JSL L011145 + PLY +L01105D LDA $F0 + SEC + SBC #$0004 + STA $F0 + BCS L011069 + DEC $F2 +L011069 SEC + LDA $F0 + SBCL L0C2CEA + BNE L01107A + LDA $F2 + SBCL L0C2CEA+2 + BRA L011082 +L01107A LDA $F2 + SBCL L0C2CEA+2 + REP #$02 +L011082 BEQ L01108B + BVS L011089 + EOR #$8000 +L011089 BMI L011030 +L01108B LDA $FF + STA L0B000C + LDAL L0C2CEA+2 + TAX + LDAL L0C2CEA + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + JSL L011145 + TDC + CLC + ADC #$00F9 + TCS + PLD + RTL + +L0110B9 PHB + PLA + XBA + STAL L0110F4 + PLA + STAL L0110F4+1 + PLA + STAL L0110DA + PLA + STAL L0110DA+2 + PLA + STAL L0110D8 + JSL GSOS +L0110D8 DW $0000 +L0110DA ADRL $00000000 + BCS L0110E3 + LDA #$0000 +L0110E3 STAL L0B0002 + LDAL L0110F4+1 + PHA + PHB + LDAL L0110F4 + STA $01,S + RTL + +L0110F4 ADR $000000 +L0110F7 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + LDX $FB + LDA $F9 + STX $EC + STA $EA +L01110A LDX $FF + LDA $FD + INC $FD + BNE L011114 + INC $FF +L011114 STA $EE + STX $F0 + LDA [$EE] + PHA + LDX $FB + LDA $F9 + INC $F9 + BNE L011125 + INC $FB +L011125 STA $EE + STX $F0 + PLA + SEP #$20 + STA [$EE] + REP #$20 + AND #$00FF + BEQ L011137 + BRA L01110A +L011137 LDX $EC + LDA $EA + TAY + TDC + CLC + ADC #$00F3 + TCS + TYA + PLD + RTL + +L011145 ENT + SEP #$10 + PHX + REP #$10 + DEC + PHA + RTL + +L01114D PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + PHX + PHA + PEI $FF + PEI $FD + LDA L0B0004 + ORA #$0F00 + PHA + PEA $8300 + PEA $0000 + PEA $0000 + _NewHandle + BCS L01117A + LDA #$0000 +L01117A STAL L0B0002 + PLA + PLX + STX $F0 + STA $EE + STX $F2 + ORA $F2 + BEQ L011194 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + BRA L01119A +L011194 LDX #$0000 + LDA #$0000 +L01119A TAY + TDC + CLC + ADC #$00F7 + TCS + TYA + PLD + RTL + +L0111A4 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E6 + TCS + LDX $F9 + LDA $F7 + STX $EA + STA $E8 +L0111B7 DEC $FF + LDA $FF + SEC + SBC #$0000 + BVS L0111C4 + EOR #$8000 +L0111C4 BPL L01121E + LDX $FD + LDA $FB + INC $FB + BNE L0111D0 + INC $FD +L0111D0 STA $EC + STX $EE + LDA [$EC] + PHA + LDX $F9 + LDA $F7 + INC $F7 + BNE L0111E1 + INC $F9 +L0111E1 STA $EC + STX $EE + PLA + SEP #$20 + STA [$EC] + REP #$20 + AND #$00FF + CMP #$0000 + BNE L01121C +L0111F4 DEC $FF + LDA $FF + SEC + SBC #$0000 + BVS L011201 + EOR #$8000 +L011201 BPL L01121C + LDX $F9 + LDA $F7 + INC $F7 + BNE L01120D + INC $F9 +L01120D STA $EC + STX $EE + LDA #$0000 + SEP #$20 + STA [$EC] + REP #$20 + BRA L0111F4 +L01121C BRA L0111B7 +L01121E LDX $EA + LDA $E8 + TAY + TDC + CLC + ADC #$00F1 + TCS + TYA + PLD + RTL + +L01122C ENT + PHD + TSC + TCD + TYA + AND #$0001 + BNE L01124E + SEP #$20 + LDA [$06],Y + CMP [$0A],Y + REP #$20 + BNE L011251 + TYA + BNE L01124D + LDY #$FFFE + BRA L011251 +L011247 LDA [$06],Y + CMP [$0A],Y + BNE L011251 +L01124D DEY +L01124E DEY + BPL L011247 +L011251 LDA $04,S + STA $0C,S + LDA $02,S + STA $0A,S + PLD + TSC + CLC + ADC #$0008 + TCS + CPY #$FFFE + RTL + +L011264 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + PEA $0001 + PEA ^L0C0020 + PEA L0C0020 + JSL L011303 + PLY + PLY + PLY + TDC + CLC + ADC #$00F9 + TCS + PLD + RTL + +L011287 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00E6 + TCS + LDX $FF + LDA $FD + STX $EA + STA $E8 + LDX $FF + LDA $FD + STX $F2 + ORA $F2 + BEQ L0112F5 + LDX $FF + LDA $FD + INC $FD + BNE L0112AE + INC $FF +L0112AE STX $EE + STA $EC + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + STA $F0 + BRA L0112E5 +L0112BF LDX $FF + LDA $FD + INC $FD + BNE L0112C9 + INC $FF +L0112C9 STA $F2 + STX $F4 + LDA [$F2] + PHA + LDX $EE + LDA $EC + INC $EC + BNE L0112DA + INC $EE +L0112DA STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 +L0112E5 LDA $F0 + DEC $F0 + TAY + BNE L0112BF + LDA #$0000 + SEP #$20 + STA [$EC] + REP #$20 +L0112F5 LDX $EA + LDA $E8 + TAY + TDC + CLC + ADC #$00F7 + TCS + TYA + PLD + RTL + +L011303 TSC + TCD + LDA [$04] + TAX + LDA $04,S + TAY + LDA $06,S + TCD + LDA $08,S + TXS + PHA + PHD + PHY + TSC + TCD + LDY #$0002 + LDA [$01],Y + TAX + INY + INY + LDA [$01],Y + STA $08,S + INY + INY + LDA [$01],Y + STA $0A,S + PLA + PLA + PLA + PLY + CMP #$0000 + BNE L011332 + INC +L011332 PHX + PLD + RTL + diff --git a/yourtour/MAIN.X.S b/yourtour/MAIN.X.S new file mode 100644 index 0000000..ed79ae5 --- /dev/null +++ b/yourtour/MAIN.X.S @@ -0,0 +1,47 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0B0004 + EXT L0D0000 + EXT L0E003C + EXT L0B0002 + EXT L0C002A + EXT L0C0028 + EXT L0C002C + EXT L0E0012 + EXT L0E0020 + EXT L0E002E + EXT L0402A6 + EXT L040463 + EXT L040619 + EXT L023C7E + EXT L024DE0 + EXT L0C2CEA + EXT L0C2D57 + EXT L0C2D55 + EXT L0C2D45 + EXT L0C2CDC + EXT L0C2CDA + EXT L0B0014 + EXT L0B0012 + EXT L0B0018 + EXT L0B0016 + EXT L0B000A + EXT L0B0008 + EXT L0B0006 + EXT L0B000E + EXT L0B0010 + EXT L0B0000 + EXT L0B000C + EXT L0B0088 + EXT L0B0068 + EXT L0B0082 + EXT L0B011D + EXT L0C0000 + EXT L0C0020 + EXT L0C1220 + EXT L0C1124 + EXT L0C2D08 + EXT L0C2D46 diff --git a/yourtour/MAKE.S b/yourtour/MAKE.S new file mode 100644 index 0000000..e62182d --- /dev/null +++ b/yourtour/MAKE.S @@ -0,0 +1,66 @@ + +* Expansion linker file + + DSK YOURTOUR + TYP S16 + +* Assemble files + + ASM MAIN.S + KND $0000 + SNA MAIN + + ASM ONE.S + KND $0000 + SNA ONE + + ASM TWO.S + KND $0000 + SNA TWO + + ASM THREE.S + KND $0000 + SNA THREE + + ASM FOUR.S + KND $0000 + SNA FOUR + + ASM FIVE.S + KND $0000 + SNA FIVE + + ASM SIX.S + KND $0000 + SNA SIX + + ASM CTRICKS.S + KND $8000 + SNA CTRICKS + + ASM LTRICKS.S + KND $8000 + SNA LTRICKS + + ASM INIT.S + KND $8000 + SNA INIT + + ASM GLOBALS.S + KND $4001 + SNA GLOBALS + + ASM ARRAYS.S + KND $4001 + SNA ARRAYS + + ASM DIRECT.S + KND $0012 + SNA DIRECT + + ASM JUMPTABLE.S + KND $0002 + SNA JUMPTABLE + + +* END diff --git a/yourtour/ONE.S b/yourtour/ONE.S new file mode 100644 index 0000000..4c79b02 --- /dev/null +++ b/yourtour/ONE.S @@ -0,0 +1,10957 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use ONE.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Text.Macs + use 4/Util.Macs + +*------------------------------- + + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + PEA $000D + _WriteChar + BCS L02001A + LDA #$0000 +L02001A STAL L0B0002 + PEA $000A + _WriteChar + BCS L02002D + LDA #$0000 +L02002D STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02004C PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + STZ $F0 + BRA L020071 +L02005B LDA [$FD] + AND #$00FF + PHA + LDA $F0 + PLX + STX $F6 + CLC + ADC $F6 + STA $F0 + INC $FD + BNE L020071 + INC $FF +L020071 LDA [$FD] + AND #$00FF + BNE L02005B + LDA #$003F + PHA + LDA $F0 + SEC + JSL L01092D + PLA + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L02008E PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E4 + TCS + PEI $FB + PEI $F9 + JSL L02004C + PLY + PLY + STA $EC + LDA $EC + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$0002 + LDX $FF + BCC L0200B9 + INX +L0200B9 JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + STX $E8 + STA $E6 + BRA L020116 +L0200D1 LDA [$E6] + LDX #$0000 + TAY + BPL L0200DA + DEX +L0200DA PHX + PHA + LDX L0B001C + LDA L0B001A + STA $EE + STX $F0 + LDY #$0002 + LDA [$EE],Y + TAX + LDA [$EE] + JSL L010922 + PEI $FB + PEI $F9 + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L020107 + LDX $E8 + LDA $E6 + BRA L02012A +L020107 LDY #$0008 + LDA [$E6],Y + TAX + LDY #$0006 + LDA [$E6],Y + STX $E8 + STA $E6 +L020116 LDA $E6 + CMP #$0000 + BNE L0200D1 + LDA $E8 + CMP #$0000 + BNE L0200D1 + LDX #$0000 + LDA #$0000 +L02012A TAY + TSC + CLC + ADC #$000E + TCS + TYA + PLD + RTL + +L020134 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L020160 + LDA #$0000 +L020160 STAL L0B0002 + PLA + PLX + STX L0B001C + STA L0B001A + PEA $00A0 + JSL L021DFD + PLY + LDA #$0000 + STA [$FD] + STZ $F0 + BRA L0201AD +L02017D LDA $F0 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$0002 + LDX $FF + BCC L020191 + INX +L020191 JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F2],Y + PLA + STA [$F2] + INC $F0 +L0201AD LDA $F0 + SEC + SBC #$003F + BVS L0201B8 + EOR #$8000 +L0201B8 BPL L02017D + STZ $F0 + BRL L02025E +L0201BF LDA $F0 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$00FE + LDX $FF + BCC L0201DB + INX +L0201DB JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + STA [$F2] + LDA $F0 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$00FE + LDX $FF + BCC L020206 + INX +L020206 JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0004 + PHA + TXA + STA [$F2],Y + PLA + LDY #$0002 + STA [$F2],Y + LDA $F0 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$00FE + LDX $FF + BCC L02023F + INX +L02023F JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0008 + PHA + TXA + STA [$F2],Y + PLA + LDY #$0006 + STA [$F2],Y + INC $F0 +L02025E LDA $F0 + SEC + SBC #$003F + BVS L020269 + EOR #$8000 +L020269 BMI L02026E + BRL L0201BF +L02026E TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L020276 ENT + PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E0 + TCS + LDA [$F5] + PHA + INC + STA [$F5] + PLA + STA $E8 + PHX + PHA + LDX L0B001C + LDA L0B001A + PHX + PHA + _GetHandleSize + BCS L0202A0 + LDA #$0000 +L0202A0 STAL L0B0002 + PLA + PLX + PHA + LDA $E8 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$00FE + LDX $F7 + BCC L0202C3 + INX +L0202C3 JSL L010922 + PLA + PLX + STA $EA + STX $EC + PLA + STA [$EA] + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + LDX #$0000 + TAY + BPL L0202E1 + DEX +L0202E1 PHX + PHA + PHX + PHA + LDX L0B001C + LDA L0B001A + PHX + PHA + _GetHandleSize + BCS L0202F9 + LDA #$0000 +L0202F9 STAL L0B0002 + PLA + PLX + JSL L010922 + PLA + PLX + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + LDX L0B001C + LDA L0B001A + PHX + PHA + _SetHandleSize + BCS L020326 + LDA #$0000 +L020326 STAL L0B0002 + PEA $00A1 + JSL L021DFD + PLY + PEI $FB + PEI $F9 + LDA $E8 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$00FE + LDX $F7 + BCC L020352 + INX +L020352 JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + LDX #$0000 + TAY + BPL L020365 + DEX +L020365 PHX + PHA + LDX L0B001C + LDA L0B001A + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + TAX + LDA [$EA] + JSL L010922 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $E8 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$00FE + LDX $F7 + BCC L0203A1 + INX +L0203A1 JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDX $FF + LDA $FD + LDY #$0004 + PHA + TXA + STA [$EA],Y + PLA + LDY #$0002 + STA [$EA],Y + PEI $FB + PEI $F9 + JSL L02004C + PLY + PLY + STA $E6 + LDA $E6 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$0002 + LDX $F7 + BCC L0203DC + INX +L0203DC JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + TAX + LDA [$EA] + PHX + PHA + LDA $E8 + PHA + LDA #$000A + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$00FE + LDX $F7 + BCC L02040C + INX +L02040C JSL L010922 + PLA + PLX + STA $EA + STX $EC + PLA + PLX + LDY #$0008 + PHA + TXA + STA [$EA],Y + PLA + LDY #$0006 + STA [$EA],Y + LDA $E8 + LDX #$0000 + TAY + BPL L02042E + DEX +L02042E PEA $0000 + PEA $000A + CLC + JSL L010AF3 + LDA $F5 + CLC + ADC #$00FE + LDX $F7 + BCC L020444 + INX +L020444 JSL L010922 + LDA $E6 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA $F5 + CLC + ADC #$0002 + LDX $F7 + BCC L02045C + INX +L02045C JSL L010922 + PLA + PLX + STA $EA + STX $EC + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$EA],Y + PLA + STA [$EA] + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L02047A PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$FBDC + TCS + PEA $0000 + TDC + CLC + ADC #$FBDE + PHA + JSL L0204EF + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$FBDE + PHA + PEA $0000 + TDC + CLC + ADC #$FBE4 + PHA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L0211D5 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEA $0000 + TDC + CLC + ADC #$FBDE + PHA + PEA $0000 + TDC + CLC + ADC #$FBE4 + PHA + JSL L020739 + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$FBE4 + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + TAY + TSC + CLC + ADC #$0516 + TCS + TYA + PLD + RTL + +L0204EF PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + LDA #$0001 + LDY #$0004 + STA [$FD],Y + LDA $FD + CLC + ADC #$0006 + LDX $FF + BCC L02050D + INX +L02050D CLC + ADC #$0011 + PHA + TXA + ADC #$0000 + TAX + PLA + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0006 + PHA + TXA + STA [$F2],Y + PLA + LDY #$0004 + STA [$F2],Y + LDA #$0000 + LDY #$0358 + STA [$FD],Y + STZ $F0 + BRA L020574 +L02054D LDA $F0 + LDX #$0000 + PHX + PHA + LDA $FD + CLC + ADC #$035A + LDX $FF + BCC L02055F + INX +L02055F JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + SEP #$20 + STA [$F2] + REP #$20 + INC $F0 +L020574 LDA $F0 + SEC + SBC #$00C8 + BVS L02057F + EOR #$8000 +L02057F BPL L02054D + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L020589 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E8 + TCS + LDY #$0358 + LDA [$FD],Y + LDX #$0000 + TAY + BPL L0205A0 + DEX +L0205A0 PHX + PHA + LDA $FD + CLC + ADC #$035A + LDX $FF + BCC L0205AD + INX +L0205AD JSL L010922 + PLA + PLX + LDY #$000B + PHA + TXA + STA [$F5],Y + PLA + LDY #$0009 + STA [$F5],Y + PEI $FB + PEI $F9 + LDY #$000B + LDA [$F5],Y + TAX + LDY #$0009 + LDA [$F5],Y + PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + CLC + ADC #$0001 + PHA + LDY #$0358 + LDA [$FD],Y + PLX + STX $EE + CLC + ADC $EE + LDY #$0358 + STA [$FD],Y + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L020600 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STX $F0 + STA $EE + LDY #$0004 + LDA [$FD],Y + INC + LDY #$0004 + STA [$FD],Y + LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STA $F2 + STX $F4 + LDY #$0006 + LDA [$F2],Y + TAX + LDY #$0004 + LDA [$F2],Y + JSL L010B98 + BEQ L02066A + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STA $F2 + STX $F4 + LDY #$0006 + LDA [$F2],Y + TAX + LDY #$0004 + LDA [$F2],Y + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + BRA L0206BB +L02066A LDY #$0004 + LDA [$FD],Y + LDX #$0000 + TAY + BPL L020676 + DEX +L020676 PEA $0000 + PEA $0011 + CLC + JSL L010AF3 + LDA $FD + CLC + ADC #$0006 + LDX $FF + BCC L02068C + INX +L02068C JSL L010922 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STA $F2 + STX $F4 + LDX #$0000 + LDA #$0000 + LDY #$0006 + PHA + TXA + STA [$F2],Y + PLA + LDY #$0004 + STA [$F2],Y +L0206BB LDX $F0 + LDA $EE + TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + +L0206C9 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA #$0000 + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDX $FB + LDA $F9 + LDY #$0002 + PHA + TXA + STA [$FD],Y + PLA + STA [$FD] + LDY #$0004 + LDA [$FD],Y + DEC + LDY #$0004 + STA [$FD],Y + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L020739 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E9 + TCS + LDY #$0008 + LDA [$F9],Y + SEP #$20 + STA $ED + REP #$20 + LDA $ED + AND #$00FF + CMP #$0000 + BNE L02075C + BRL L020EEE +L02075C LDA $ED + AND #$00FF + SEC + SBC #$0001 + BVS L02076A + EOR #$8000 +L02076A BMI L02076F + BRL L02099C +L02076F LDA $ED + AND #$00FF + SEC + SBC #$0006 + BEQ L020784 + BVS L02077F + EOR #$8000 +L02077F BPL L020784 + BRL L02099C +L020784 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L0207B3 + PEI $FF + PEI $FD + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L0207B3 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L0207E8 + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L0207E8 LDA $ED + AND #$00FF + BRL L02098B +L0207F0 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + CMP $EE + BEQ L020822 + LDA #$0000 + BRA L020825 +L020822 LDA #$0001 +L020825 LDY #$000F + STA [$F9],Y + BRL L020999 +L02082D LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + CMP $EE + BNE L02085F + LDA #$0000 + BRA L020862 +L02085F LDA #$0001 +L020862 LDY #$000F + STA [$F9],Y + BRL L020999 +L02086A LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + SEC + SBC $EE + BEQ L02089F + BVS L02089D + EOR #$8000 +L02089D BMI L0208A4 +L02089F LDA #$0000 + BRA L0208A7 +L0208A4 LDA #$0001 +L0208A7 LDY #$000F + STA [$F9],Y + BRL L020999 +L0208AF LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + SEC + SBC $EE + BVS L0208E0 + EOR #$8000 +L0208E0 BPL L0208E7 + LDA #$0000 + BRA L0208EA +L0208E7 LDA #$0001 +L0208EA LDY #$000F + STA [$F9],Y + BRL L020999 +L0208F2 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + SEC + SBC $EE + BVS L020923 + EOR #$8000 +L020923 BMI L02092A + LDA #$0000 + BRA L02092D +L02092A LDA #$0001 +L02092D LDY #$000F + STA [$F9],Y + BRL L020999 +L020935 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $EE + SEC + SBC $EE + BEQ L02096F + BVS L020968 + EOR #$8000 +L020968 BPL L02096F + LDA #$0000 + BRA L020972 +L02096F LDA #$0001 +L020972 LDY #$000F + STA [$F9],Y + BRL L020999 +L02097A BRL L020999 +L02097D DA L0207F0 + DA L02082D + DA L02086A + DA L0208AF + DA L0208F2 + DA L020935 + DA L02097A +L02098B DEC + CMP #$0006 + BCC L020994 + LDA #$0006 +L020994 ASL + TAX + JMP (L02097D,X) + +L020999 BRL L020EEE +L02099C LDA $ED + AND #$00FF + CMP #$0007 + BNE L020A01 + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L0209DB + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L0209DB LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + BEQ L0209F6 + LDA #$0000 + BRA L0209F9 +L0209F6 LDA #$0001 +L0209F9 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020A01 LDA $ED + AND #$00FF + CMP #$0008 + BEQ L020A18 + LDA $ED + AND #$00FF + CMP #$0009 + BEQ L020A18 + BRL L020B13 +L020A18 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020A47 + PEI $FF + PEI $FD + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020A47 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020A7C + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020A7C LDA $ED + AND #$00FF + BRL L020AFF +L020A84 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + BNE L020AB2 + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + BNE L020AB2 + LDA #$0000 + BRA L020AB5 +L020AB2 LDA #$0001 +L020AB5 LDY #$000F + STA [$F9],Y + BRL L020B10 +L020ABD LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + BEQ L020AE6 + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000F + LDA [$EE],Y + BNE L020AEB +L020AE6 LDA #$0000 + BRA L020AEE +L020AEB LDA #$0001 +L020AEE LDY #$000F + STA [$F9],Y + BRL L020B10 +L020AF6 BRL L020B10 +L020AF9 DA L020A84 + DA L020ABD + DA L020AF6 +L020AFF SEC + SBC #$0008 + CMP #$0002 + BCC L020B0B + LDA #$0002 +L020B0B ASL + TAX + JMP (L020AF9,X) + +L020B10 BRL L020EEE +L020B13 LDA $ED + AND #$00FF + SEC + SBC #$000A + BVS L020B21 + EOR #$8000 +L020B21 BMI L020B26 + BRL L020CCC +L020B26 LDA $ED + AND #$00FF + SEC + SBC #$000D + BEQ L020B3B + BVS L020B36 + EOR #$8000 +L020B36 BPL L020B3B + BRL L020CCC +L020B3B LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010B98 + BEQ L020B80 + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020B80 + PEI $FF + PEI $FD + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020B80 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020BB5 + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020BB5 LDA $ED + AND #$00FF + BRL L020CB8 +L020BBD LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PLX + STX $F2 + CLC + ADC $F2 + LDY #$000D + STA [$F9],Y + BRL L020CC9 +L020BF1 LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010B98 + BEQ L020C1C + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + STA $EB + BRA L020C1E +L020C1C STZ $EB +L020C1E LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDA $EB + PLX + STX $F2 + SEC + SBC $F2 + LDY #$000D + STA [$F9],Y + BRL L020CC9 +L020C43 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + SEC + JSL L010AAE + PLA + LDY #$000D + STA [$F9],Y + BRL L020CC9 +L020C77 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000D + LDA [$EE],Y + SEC + JSL L01092D + PLY + LDY #$000D + STA [$F9],Y + BRL L020CC9 +L020CAB BRL L020CC9 +L020CAE DA L020BBD + DA L020BF1 + DA L020C43 + DA L020C77 + DA L020CAB +L020CB8 SEC + SBC #$000A + CMP #$0004 + BCC L020CC4 + LDA #$0004 +L020CC4 ASL + TAX + JMP (L020CAE,X) + +L020CC9 BRL L020EEE +L020CCC LDA $ED + AND #$00FF + SEC + SBC #$000E + BVS L020CDA + EOR #$8000 +L020CDA BMI L020CDF + BRL L020EEE +L020CDF LDA $ED + AND #$00FF + SEC + SBC #$0013 + BEQ L020CF4 + BVS L020CEF + EOR #$8000 +L020CEF BPL L020CF4 + BRL L020EEE +L020CF4 LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020D23 + PEI $FF + PEI $FD + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020D23 LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$0008 + LDA [$EE],Y + AND #$00FF + CMP #$0000 + BEQ L020D58 + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L020739 + PLY + PLY + PLY + PLY +L020D58 LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000B + LDA [$EE],Y + TAX + LDY #$0009 + LDA [$EE],Y + JSL L010B98 + BNE L020DB0 + LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000B + LDA [$EE],Y + TAX + LDY #$0009 + LDA [$EE],Y + JSL L010B98 + BNE L020DA9 + STZ $EB + BRA L020DAE +L020DA9 LDA #$FFFF + STA $EB +L020DAE BRA L020E1E +L020DB0 LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000B + LDA [$EE],Y + TAX + LDY #$0009 + LDA [$EE],Y + JSL L010B98 + BNE L020DDF + LDA #$0001 + STA $EB + BRA L020E1E +L020DDF LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + STA $EE + STX $F0 + LDY #$000B + LDA [$EE],Y + TAX + LDY #$0009 + LDA [$EE],Y + PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + STA $EE + STX $F0 + LDY #$000B + LDA [$EE],Y + TAX + LDY #$0009 + LDA [$EE],Y + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + STA $EB +L020E1E LDA $ED + AND #$00FF + BRL L020EDD +L020E26 LDA $EB + CMP #$0000 + BEQ L020E32 + LDA #$0000 + BRA L020E35 +L020E32 LDA #$0001 +L020E35 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020E3D LDA $EB + CMP #$0000 + BNE L020E49 + LDA #$0000 + BRA L020E4C +L020E49 LDA #$0001 +L020E4C LDY #$000F + STA [$F9],Y + BRL L020EEE +L020E54 LDA $EB + SEC + SBC #$0000 + BVS L020E5F + EOR #$8000 +L020E5F BPL L020E66 + LDA #$0000 + BRA L020E69 +L020E66 LDA #$0001 +L020E69 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020E71 LDA $EB + SEC + SBC #$0000 + BEQ L020E80 + BVS L020E7E + EOR #$8000 +L020E7E BMI L020E85 +L020E80 LDA #$0000 + BRA L020E88 +L020E85 LDA #$0001 +L020E88 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020E90 LDA $EB + SEC + SBC #$0000 + BEQ L020EA4 + BVS L020E9D + EOR #$8000 +L020E9D BPL L020EA4 + LDA #$0000 + BRA L020EA7 +L020EA4 LDA #$0001 +L020EA7 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020EAF LDA $EB + SEC + SBC #$0000 + BVS L020EBA + EOR #$8000 +L020EBA BMI L020EC1 + LDA #$0000 + BRA L020EC4 +L020EC1 LDA #$0001 +L020EC4 LDY #$000F + STA [$F9],Y + BRL L020EEE +L020ECC BRL L020EEE +L020ECF DA L020E26 + DA L020E3D + DA L020E54 + DA L020E71 + DA L020E90 + DA L020EAF + DA L020ECC +L020EDD SEC + SBC #$000E + CMP #$0006 + BCC L020EE9 + LDA #$0006 +L020EE9 ASL + TAX + JMP (L020ECF,X) + +L020EEE LDA #$0000 + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + JSL L010B98 + BEQ L020F26 + PEI $FF + PEI $FD + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L0206C9 + PLY + PLY + PLY + PLY +L020F26 LDX #$0000 + LDA #$0000 + PHX + PHA + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + JSL L010B98 + BEQ L020F58 + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + JSL L0206C9 + PLY + PLY + PLY + PLY +L020F58 LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDX #$0000 + LDA #$0000 + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + TSC + CLC + ADC #$0009 + TCS + PLD + RTL + +L020F83 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00E1 + TCS + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDX #$0000 + LDA #$0000 + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDA #$0000 + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDA #$0000 + LDY #$000D + STA [$F9],Y + LDA #$0000 + LDY #$000F + STA [$F9],Y + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E3 + LDA $E3 + LDX #$0000 + TAY + BPL L020FFD + DEX +L020FFD PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$007E + BNE L02106F + LDA #$0007 + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDA [$F5] + INC + STA [$F5] + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L020F83 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + BRL L0211CD +L02106F LDA $E5 + AND #$00FF + CMP #$0028 + BNE L0210D9 + LDA [$F5] + INC + STA [$F5] + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0211D5 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E3 + LDA $E3 + LDX #$0000 + TAY + BPL L0210B7 + DEX +L0210B7 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0029 + BNE L0210D6 + LDA [$F5] + INC + STA [$F5] +L0210D6 BRL L0211CD +L0210D9 LDA $E5 + AND #$00FF + CMP #$0029 + BEQ L021101 + LDA $E5 + AND #$00FF + CMP #$003D + BEQ L021101 + LDA $E5 + AND #$00FF + CMP #$003C + BEQ L021101 + LDA $E5 + AND #$00FF + CMP #$003E + BNE L021104 +L021101 BRL L0211CD +L021104 PEA ^L0C253E + PEA L0C253E + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + PEA ^L0C10BE + PEA L0C10BE + JSL L024912 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEA ^L0C10BE + PEA L0C10BE + JSL L0246BF + PLY + PLY + LDY #$000D + STA [$F9],Y + LDY #$000D + LDA [$F9],Y + LDY #$000F + STA [$F9],Y + LDA L0B0084 + BNE L021147 + BRL L0211CD +L021147 LDAL L0C10BE + AND #$00FF + CMP #$0022 + BEQ L02115F + LDAL L0C10BE + AND #$00FF + CMP #$0027 + BNE L021195 +L02115F PEA $0001 + PEA $0000 + PEA ^L0C10BE + PEA L0C10BE + JSL L02456E + PLY + PLY + PLY + PLY + PEA $0001 + PEA ^L0C10BE + PEA L0C10BE + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + PHA + PEA ^L0C10BE + PEA L0C10BE + JSL L02456E + PLY + PLY + PLY + PLY +L021195 PEA ^L0C10BE + PEA L0C10BE + JSL L024A4A + PLY + PLY + PEI $FF + PEI $FD + PEA ^L0C10BE + PEA L0C10BE + PEI $FB + PEI $F9 + JSL L020589 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDA L0B0082 + LDY #$000D + STA [$F9],Y + LDY #$000D + LDA [$F9],Y + LDY #$000F + STA [$F9],Y +L0211CD TSC + CLC + ADC #$0009 + TCS + PLD + RTL + +L0211D5 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00D7 + TCS + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0215A2 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + SEP #$20 + STZ $DD + REP #$20 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $D9 + LDA $D9 + LDX #$0000 + TAY + BPL L02122F + DEX +L02122F PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DC + REP #$20 + LDA $D9 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L021254 + DEX +L021254 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DB + REP #$20 + LDA $DC + AND #$00FF + CMP #$003D + BEQ L0212C2 + LDA $DC + AND #$00FF + CMP #$003E + BEQ L0212C2 + LDA $DC + AND #$00FF + CMP #$003C + BEQ L0212C2 + LDA $DC + AND #$00FF + CMP #$0053 + BEQ L0212A1 + LDA $DC + AND #$00FF + CMP #$0073 + BEQ L0212A1 + BRL L02159A +L0212A1 LDA $DB + AND #$00FF + CMP #$003C + BEQ L0212C2 + LDA $DB + AND #$00FF + CMP #$003E + BEQ L0212C2 + LDA $DB + AND #$00FF + CMP #$003D + BEQ L0212C2 + BRL L02159A +L0212C2 LDA [$F5] + INC + STA [$F5] + LDA [$F5] + STA $D9 + LDA $DC + AND #$00FF + CMP #$003D + BNE L0212E1 + LDA #$0001 + SEP #$20 + STA $DD + REP #$20 + BRL L0214A1 +L0212E1 LDA $DC + AND #$00FF + CMP #$003C + BNE L02134C + LDA $D9 + LDX #$0000 + TAY + BPL L0212F4 + DEX +L0212F4 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DC + REP #$20 + LDA $DC + AND #$00FF + CMP #$003E + BNE L021326 + LDA #$0002 + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L021349 +L021326 LDA $DC + AND #$00FF + CMP #$003D + BNE L021340 + LDA #$0005 + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L021349 +L021340 LDA #$0003 + SEP #$20 + STA $DD + REP #$20 +L021349 BRL L0214A1 +L02134C LDA $DC + AND #$00FF + CMP #$003E + BNE L021395 + LDA $D9 + LDX #$0000 + TAY + BPL L02135F + DEX +L02135F PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$003D + BNE L021389 + LDA #$0006 + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L021392 +L021389 LDA #$0004 + SEP #$20 + STA $DD + REP #$20 +L021392 BRL L0214A1 +L021395 LDA $DC + AND #$00FF + CMP #$0053 + BEQ L0213AC + LDA $DC + AND #$00FF + CMP #$0073 + BEQ L0213AC + BRL L0214A1 +L0213AC LDA $D9 + LDX #$0000 + TAY + BPL L0213B5 + DEX +L0213B5 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DC + REP #$20 + LDA $DC + AND #$00FF + CMP #$003D + BNE L0213E8 + LDA [$F5] + INC + STA [$F5] + LDA #$000E + SEP #$20 + STA $DD + REP #$20 + BRL L0214A1 +L0213E8 LDA $DC + AND #$00FF + CMP #$003C + BNE L02145B + LDA [$F5] + INC + STA [$F5] + LDA [$F5] + STA $D9 + LDA $D9 + LDX #$0000 + TAY + BPL L021404 + DEX +L021404 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $DC + REP #$20 + LDA $DC + AND #$00FF + CMP #$003E + BNE L021436 + LDA #$000F + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L021459 +L021436 LDA $DC + AND #$00FF + CMP #$003D + BNE L021450 + LDA #$0012 + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L021459 +L021450 LDA #$0010 + SEP #$20 + STA $DD + REP #$20 +L021459 BRA L0214A1 +L02145B LDA $DC + AND #$00FF + CMP #$003E + BNE L0214A1 + LDA $D9 + LDX #$0000 + TAY + BPL L02146E + DEX +L02146E PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$003D + BNE L021498 + LDA #$0013 + SEP #$20 + STA $DD + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L0214A1 +L021498 LDA #$0011 + SEP #$20 + STA $DD + REP #$20 +L0214A1 PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $E0 + STA $DE + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $E4 + STA $E2 + PEI $FF + PEI $FD + PEI $E4 + PEI $E2 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0215A2 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + LDY #$0002 + PHA + TXA + STA [$DE],Y + PLA + STA [$DE] + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + LDY #$0006 + PHA + TXA + STA [$DE],Y + PLA + LDY #$0004 + STA [$DE],Y + LDY #$0008 + LDA [$F9],Y + SEP #$20 + LDY #$0008 + STA [$DE],Y + REP #$20 + LDY #$000B + LDA [$F9],Y + TAX + LDY #$0009 + LDA [$F9],Y + LDY #$000B + PHA + TXA + STA [$DE],Y + PLA + LDY #$0009 + STA [$DE],Y + LDY #$000D + LDA [$F9],Y + LDY #$000D + STA [$DE],Y + LDY #$000F + LDA [$F9],Y + LDY #$000F + STA [$DE],Y + LDX $E0 + LDA $DE + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDX $E4 + LDA $E2 + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDA $DD + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDA #$0000 + LDY #$000D + STA [$F9],Y + LDA #$0000 + LDY #$000F + STA [$F9],Y +L02159A TSC + CLC + ADC #$0013 + TCS + PLD + RTL + +L0215A2 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00D2 + TCS + SEP #$20 + STZ $E3 + REP #$20 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E0 + LDA $E0 + LDX #$0000 + TAY + BPL L0215D0 + DEX +L0215D0 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$002B + BNE L0215F7 + LDA [$F5] + INC + STA [$F5] +L0215F7 LDA $E5 + AND #$00FF + CMP #$002D + BEQ L021604 + BRL L021690 +L021604 LDA #$0001 + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + INC + STA [$F5] + LDX #$0000 + LDA #$0000 + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDA #$000B + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDA #$0000 + LDY #$000D + STA [$F9],Y + LDA #$0000 + LDY #$000F + STA [$F9],Y + PEI $FF + PEI $FD + LDY #$0006 + LDA [$F9],Y + TAX + LDY #$0004 + LDA [$F9],Y + PHX + PHA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0215A2 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + BRL L0219DE +L021690 PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $DE + STA $DC + PEI $FF + PEI $FD + PEI $DE + PEI $DC + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0219E6 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E0 + LDA $E0 + LDX #$0000 + TAY + BPL L0216D7 + DEX +L0216D7 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$002B + BNE L021713 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000A + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L0217C5 +L021713 LDA $E5 + AND #$00FF + CMP #$002D + BNE L021737 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000B + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L0217C5 +L021737 LDA $E5 + AND #$00FF + CMP #$004F + BEQ L02174B + LDA $E5 + AND #$00FF + CMP #$006F + BNE L0217BF +L02174B LDA [$F5] + CLC + ADC #$0001 + STA $E0 + LDA $E0 + LDX #$0000 + TAY + BPL L02175C + DEX +L02175C PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0052 + BEQ L02179E + LDA $E0 + LDX #$0000 + TAY + BPL L02177F + DEX +L02177F PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0072 + BEQ L02179E + LDA #$0000 + BRA L0217A1 +L02179E LDA #$0001 +L0217A1 BEQ L0217BF + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$0008 + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + CLC + ADC #$0002 + STA [$F5] + BRA L0217C5 +L0217BF SEP #$20 + STZ $E4 + REP #$20 +L0217C5 LDA $E4 + AND #$00FF + BNE L0217CF + BRL L02196A +L0217CF LDX $DE + LDA $DC + STX $DA + STA $D8 + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $DE + STA $DC + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $D6 + STA $D4 + LDX $DA + LDA $D8 + LDY #$0002 + PHA + TXA + STA [$DC],Y + PLA + STA [$DC] + LDX $D6 + LDA $D4 + LDY #$0006 + PHA + TXA + STA [$DC],Y + PLA + LDY #$0004 + STA [$DC],Y + LDA $E2 + SEP #$20 + LDY #$0008 + STA [$DC],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$DC],Y + PLA + LDY #$0009 + STA [$DC],Y + LDA #$0000 + LDY #$000D + STA [$DC],Y + LDA #$0000 + LDY #$000F + STA [$DC],Y + PEI $FF + PEI $FD + PEI $D6 + PEI $D4 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L0219E6 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E0 + LDA $E0 + LDX #$0000 + TAY + BPL L021879 + DEX +L021879 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$002B + BNE L0218B5 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000A + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021967 +L0218B5 LDA $E5 + AND #$00FF + CMP #$002D + BNE L0218D9 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000B + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021967 +L0218D9 LDA $E5 + AND #$00FF + CMP #$004F + BEQ L0218ED + LDA $E5 + AND #$00FF + CMP #$006F + BNE L021961 +L0218ED LDA [$F5] + CLC + ADC #$0001 + STA $E0 + LDA $E0 + LDX #$0000 + TAY + BPL L0218FE + DEX +L0218FE PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0052 + BEQ L021940 + LDA $E0 + LDX #$0000 + TAY + BPL L021921 + DEX +L021921 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0072 + BEQ L021940 + LDA #$0000 + BRA L021943 +L021940 LDA #$0001 +L021943 BEQ L021961 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$0008 + SEP #$20 + STA $E2 + REP #$20 + LDA [$F5] + CLC + ADC #$0002 + STA [$F5] + BRA L021967 +L021961 SEP #$20 + STZ $E4 + REP #$20 +L021967 BRL L0217C5 +L02196A LDY #$0002 + LDA [$DC],Y + TAX + LDA [$DC] + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDY #$0006 + LDA [$DC],Y + TAX + LDY #$0004 + LDA [$DC],Y + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDY #$0008 + LDA [$DC],Y + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDY #$000B + LDA [$DC],Y + TAX + LDY #$0009 + LDA [$DC],Y + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDY #$000D + LDA [$DC],Y + LDY #$000D + STA [$F9],Y + LDY #$000F + LDA [$DC],Y + LDY #$000F + STA [$F9],Y + PEI $FF + PEI $FD + PEI $DE + PEI $DC + JSL L0206C9 + PLY + PLY + PLY + PLY +L0219DE TSC + CLC + ADC #$0018 + TCS + PLD + RTL + +L0219E6 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00D3 + TCS + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $DF + STA $DD + PEI $FF + PEI $FD + PEI $DF + PEI $DD + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L020F83 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021A38 + DEX +L021A38 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$002A + BNE L021A74 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000C + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021B81 +L021A74 LDA $E5 + AND #$00FF + CMP #$002F + BNE L021A98 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000D + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021B81 +L021A98 LDA $E5 + AND #$00FF + CMP #$0041 + BEQ L021AAF + LDA $E5 + AND #$00FF + CMP #$0061 + BEQ L021AAF + BRL L021B7B +L021AAF LDA [$F5] + CLC + ADC #$0001 + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021AC0 + DEX +L021AC0 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$004E + BEQ L021B02 + LDA $E1 + LDX #$0000 + TAY + BPL L021AE3 + DEX +L021AE3 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$006E + BEQ L021B02 + LDA #$0000 + BRA L021B05 +L021B02 LDA #$0001 +L021B05 BEQ L021B7B + LDA [$F5] + CLC + ADC #$0002 + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021B18 + DEX +L021B18 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0044 + BEQ L021B5A + LDA $E1 + LDX #$0000 + TAY + BPL L021B3B + DEX +L021B3B PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0064 + BEQ L021B5A + LDA #$0000 + BRA L021B5D +L021B5A LDA #$0001 +L021B5D BEQ L021B7B + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$0009 + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + CLC + ADC #$0003 + STA [$F5] + BRA L021B81 +L021B7B SEP #$20 + STZ $E4 + REP #$20 +L021B81 LDA $E4 + AND #$00FF + BNE L021B8B + BRL L021D81 +L021B8B LDX $DF + LDA $DD + STX $DB + STA $D9 + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $DF + STA $DD + PEI $FF + PEI $FD + JSL L020600 + PLY + PLY + STX $D7 + STA $D5 + LDX $DB + LDA $D9 + LDY #$0002 + PHA + TXA + STA [$DD],Y + PLA + STA [$DD] + LDX $D7 + LDA $D5 + LDY #$0006 + PHA + TXA + STA [$DD],Y + PLA + LDY #$0004 + STA [$DD],Y + LDA $E3 + SEP #$20 + LDY #$0008 + STA [$DD],Y + REP #$20 + LDX #$0000 + LDA #$0000 + LDY #$000B + PHA + TXA + STA [$DD],Y + PLA + LDY #$0009 + STA [$DD],Y + LDA #$0000 + LDY #$000D + STA [$DD],Y + LDA #$0000 + LDY #$000F + STA [$DD],Y + PEI $FF + PEI $FD + PEI $D7 + PEI $D5 + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L020F83 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + JSL L02424A + PLY + PLY + PLY + PLY + LDA [$F5] + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021C35 + DEX +L021C35 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + CMP #$002A + BNE L021C71 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000C + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021D7E +L021C71 LDA $E5 + AND #$00FF + CMP #$002F + BNE L021C95 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$000D + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRL L021D7E +L021C95 LDA $E5 + AND #$00FF + CMP #$0041 + BEQ L021CAC + LDA $E5 + AND #$00FF + CMP #$0061 + BEQ L021CAC + BRL L021D78 +L021CAC LDA [$F5] + CLC + ADC #$0001 + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021CBD + DEX +L021CBD PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$004E + BEQ L021CFF + LDA $E1 + LDX #$0000 + TAY + BPL L021CE0 + DEX +L021CE0 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$006E + BEQ L021CFF + LDA #$0000 + BRA L021D02 +L021CFF LDA #$0001 +L021D02 BEQ L021D78 + LDA [$F5] + CLC + ADC #$0002 + STA $E1 + LDA $E1 + LDX #$0000 + TAY + BPL L021D15 + DEX +L021D15 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0044 + BEQ L021D57 + LDA $E1 + LDX #$0000 + TAY + BPL L021D38 + DEX +L021D38 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + CMP #$0064 + BEQ L021D57 + LDA #$0000 + BRA L021D5A +L021D57 LDA #$0001 +L021D5A BEQ L021D78 + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$0009 + SEP #$20 + STA $E3 + REP #$20 + LDA [$F5] + CLC + ADC #$0003 + STA [$F5] + BRA L021D7E +L021D78 SEP #$20 + STZ $E4 + REP #$20 +L021D7E BRL L021B81 +L021D81 LDY #$0002 + LDA [$DD],Y + TAX + LDA [$DD] + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + LDY #$0006 + LDA [$DD],Y + TAX + LDY #$0004 + LDA [$DD],Y + LDY #$0006 + PHA + TXA + STA [$F9],Y + PLA + LDY #$0004 + STA [$F9],Y + LDY #$0008 + LDA [$DD],Y + SEP #$20 + LDY #$0008 + STA [$F9],Y + REP #$20 + LDY #$000B + LDA [$DD],Y + TAX + LDY #$0009 + LDA [$DD],Y + LDY #$000B + PHA + TXA + STA [$F9],Y + PLA + LDY #$0009 + STA [$F9],Y + LDY #$000D + LDA [$DD],Y + LDY #$000D + STA [$F9],Y + LDY #$000F + LDA [$DD],Y + LDY #$000F + STA [$F9],Y + PEI $FF + PEI $FD + PEI $DF + PEI $DD + JSL L0206C9 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0017 + TCS + PLD + RTL + +L021DFD ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L021E10 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E2 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EC + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E8 + LDA $E8 + BRL L021EF8 +L021E5F LDA $EC + LDX #$0000 + TAY + BPL L021E68 + DEX +L021E68 STX $E6 + STA $E4 + PHA + PEI $E8 + PEI $E6 + PEI $E4 + _PostEvent + BCS L021E7F + LDA #$0000 +L021E7F STAL L0B0002 + PLA + BRL L021F05 +L021E87 JSL L03117F + LDA #$0002 + PHA + LDA $EC + SEC + JSL L01092D + PLY + STA $EC + PEI $EC + PEI $EA + _PosMouse + BCS L021EA9 + LDA #$0000 +L021EA9 STAL L0B0002 + PEA $0001 + PEA $0000 + PEI $EC + PEI $EA + PEA $8000 + _FakeMouse + BCS L021EC6 + LDA #$0000 +L021EC6 STAL L0B0002 + PHA + PEI $E8 + PEA $0000 + PEA $0000 + _PostEvent + BCS L021EDF + LDA #$0000 +L021EDF STAL L0B0002 + PLA + JSL L0311AA + BRL L021F05 +L021EEB BRL L021F05 +L021EEE DA L021E87 + DA L021E87 + DA L021E87 + DA L021E5F + DA L021EEB +L021EF8 CMP #$0004 + BCC L021F00 + LDA #$0004 +L021F00 ASL + TAX + JMP (L021EEE,X) + +L021F05 TSC + CLC + ADC #$0010 + TCS + PLD + RTL + +L021F0D PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + PHA + LDA L0B006A + PLX + STX $F2 + SEC + SBC $F2 + SEC + SBC #$0001 + STA $EC + LDA $EC + SEC + SBC #$0000 + BVS L021F4D + EOR #$8000 +L021F4D BMI L021F76 + LDA L0B006C + SEC + SBC #$0004 + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + CLC + ADC #$0800 + CLC + ADC $EC + LDX #$0000 + TAY + BPL L021F6E + DEX +L021F6E STX L0B005C + STA L0B005A + BRA L021F93 +L021F76 LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + CLC + ADC $EC + LDX #$0000 + TAY + BPL L021F8D + DEX +L021F8D STX L0B005C + STA L0B005A +L021F93 LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + STZ L0B0078 + JSL L0311AA + PHA + PEA $0046 + PEA $0000 + _FlushEvents + BCS L021FD9 + LDA #$0000 +L021FD9 STAL L0B0002 + PLA + PEA ^L0C2548 + PEA L0C2548 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022000 + PEA $0004 + JSL L060851 + PLY + BRL L02213A +L022000 PEA ^L0C254C + PEA L0C254C + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022022 + PEA $0003 + JSL L060851 + PLY + BRL L02213A +L022022 PEA ^L0C2550 + PEA L0C2550 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022044 + PEA $0002 + JSL L060851 + PLY + BRL L02213A +L022044 PEA ^L0C2556 + PEA L0C2556 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022066 + PEA $0001 + JSL L060851 + PLY + BRL L02213A +L022066 PEA ^L0C255A + PEA L0C255A + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0220B2 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA L0B0076 + PHA + PEA $0028 + PEA $0000 + _FlushEvents + BCS L0220A6 + LDA #$0000 +L0220A6 STAL L0B0002 + PLA + JSL L061544 + BRL L02213A +L0220B2 PEA ^L0C10BE + PEA L0C10BE + PEA ^L0C11BB + PEA L0C11BB + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDAL L0C1AB0 + STA $EC + LDAL L0C1AB0 + BNE L0220EF + LDA L0B0082 + CMP #$0001 + BEQ L0220EF + LDA #$0000 + BRA L0220F2 +L0220EF LDA #$0001 +L0220F2 STAL L0C1AB0 + LDA L0B0082 + CMP #$0000 + BEQ L022103 + LDA #$0000 + BRA L022106 +L022103 LDA #$0001 +L022106 STAL L0C1AA6 + LDA #$0001 + STAL L0C1A9E + LDA L0B0082 + STAL L0C1A9A + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L02212B + LDA #$0000 +L02212B STAL L0B0002 + PLA + JSL L0618EB + LDA $EC + STAL L0C1AB0 +L02213A PEA $0000 + JSL L06152C + PLY + STZ L0B00C7 + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L02214D PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C255F + PEA L0C255F + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0221A4 + PEA ^L0C0F7A + PEA L0C0F7A + PEA $0000 + PEA $0000 + PEA $0280 + PEA $00C8 + _SetRect + BCS L02219D + LDA #$0000 +L02219D STAL L0B0002 + BRL L02220B +L0221A4 PEA ^L0C2563 + PEA L0C2563 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0221D7 + LDA #L0C0EDA + LDX #^L0C0EDA + PHX + PHA + PEA ^L0C0F7A + PEA L0C0F7A + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + BRA L02220B +L0221D7 PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0C0F7A + PEA L0C0F7A + JSL L02502B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDA #L0C0F7A + LDX #^L0C0F7A + PHX + PHA + PEA ^L0C0EDA + PEA L0C0EDA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L02220B PEA $0087 + LDAL L0C0F7E + PHA + LDAL L0C0F7A + PHA + JSL L0321FD + PLY + PLY + PLY + LDAL L0C0F7C + PHA + LDAL L0C0F7A + CLC + ADC L0B0070 + SEC + SBC #$0001 + PHA + _MoveTo + BCS L02223D + LDA #$0000 +L02223D STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022249 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00DE + TCS + STZ $E0 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EC + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E8 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E6 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E4 + PEI $E4 + PEI $E6 + PEI $E8 + JSL L03238E + PLY + PLY + PLY + STA $E2 + LDA $EC + BRL L022331 +L0222D3 LDA #$0008 + STA $EC + PEI $EC + PEI $EA + PEI $E2 + _SetColorEntry + BCS L0222EA + LDA #$0000 +L0222EA STAL L0B0002 + JSL L03223A + BRL L02233E +L0222F5 LDA #$0007 + STA $EC + PEI $EC + PEI $EA + PEI $E2 + _SetColorEntry + BCS L02230C + LDA #$0000 +L02230C STAL L0B0002 + JSL L0322ED + BRL L02233E +L022317 PEI $EC + PEI $EA + PEI $E2 + _SetColorEntry + BCS L022329 + LDA #$0000 +L022329 STAL L0B0002 + BRA L02233E + BRA L02233E +L022331 CMP #$0140 + BEQ L0222D3 + CMP #$0280 + BEQ L0222F5 + JMP L022317 + +L02233E TSC + CLC + ADC #$0014 + TCS + PLD + RTL + +L022346 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C2566 + PEA L0C2566 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0223A7 + PEA ^L0C256A + PEA L0C256A + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0B005A + PEA L0B005A + JSL L040655 + PLY + PLY + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + STA [$FD] + BRL L0224D7 +L0223A7 PEA ^L0C256B + PEA L0C256B + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0223D9 + PEA ^L0B005E + PEA L0B005E + JSL L040655 + PLY + PLY + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + STA [$FD] + BRL L0224D7 +L0223D9 PEA ^L0C2571 + PEA L0C2571 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0223F7 + JSL L04158E + BRL L0224D7 +L0223F7 LDAL L0C10BE + AND #$00FF + CMP #$002B + BNE L022426 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B006E + CLC + ADC L0B0082 + STA $EC + PEI $EC + JSL L041610 + PLY + BRL L0224D7 +L022426 LDAL L0C10BE + AND #$00FF + CMP #$002D + BNE L02246B + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B006E + SEC + SBC L0B0082 + STA $EC +L02244B LDA L0B006E + SEC + SBC #$0000 + BEQ L022468 + BVS L022459 + EOR #$8000 +L022459 BPL L022468 + LDA L0B006E + CMP $EC + BEQ L022468 + JSL L04158E + BRA L02244B +L022468 BRL L0224D7 +L02246B LDA L0B0082 + SEC + SBC #$0000 + BVS L022477 + EOR #$8000 +L022477 BMI L02247C + BRL L0224D7 +L02247C LDA L0B0082 + SEC + SBC #$0037 + BVS L022488 + EOR #$8000 +L022488 BPL L02248D + BRL L0224D7 +L02248D LDA L0B0082 + SEC + SBC L0B006E + BEQ L02249D + BVS L02249B + EOR #$8000 +L02249B BMI L0224CB +L02249D LDA L0B0082 + STA L0B006E + LDA L0B006E + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1006 + LDX #^L0C1006 + JSL L010922 + JSL L040655 + PLY + PLY + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + STA [$FD] + BRA L0224D7 +L0224CB LDA L0B0082 + STA $EC + PEI $EC + JSL L041610 + PLY +L0224D7 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0224DF PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$FDFE + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + JSL L040E53 + PLY + PLY + STA $CC + LDA $CC + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0004 + LDA [$EE],Y + TAX + LDY #$0002 + LDA [$EE],Y + STX $C0 + STA $BE + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $CE + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C2576 + PEA L0C2576 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022596 + LDA #$0004 + STA $CA + BRL L0225F6 +L022596 PEA ^L0C257A + PEA L0C257A + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0225B5 + LDA #$0003 + STA $CA + BRL L0225F6 +L0225B5 PEA ^L0C257E + PEA L0C257E + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0225D3 + LDA #$0002 + STA $CA + BRA L0225F6 +L0225D3 PEA ^L0C2584 + PEA L0C2584 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0225F1 + LDA #$0001 + STA $CA + BRA L0225F6 +L0225F1 LDA L0B0082 + STA $CA +L0225F6 PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $C8 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $C4 + STZ $C2 + BRL L0226FC +L022642 JSL L040619 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + LDA $C2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE80 + JSL L010922 + LDA $C2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE80 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA $EE + LDX $F0 + CLC + ADC #$0002 + BCC L022689 + INX +L022689 PHX + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + LDA $C2 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FF00 + JSL L010922 + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L01020C + PLY + PLY + PLY + PLY + PHX + PHA + LDA $C2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$FE00 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$EE],Y + PLA + STA [$EE] + INC $C2 +L0226FC LDA $C2 + SEC + SBC $C4 + BVS L022706 + EOR #$8000 +L022706 BMI L02270B + BRL L022642 +L02270B LDA $CC + SEC + SBC #$0000 + BVS L022716 + EOR #$8000 +L022716 BPL L02274D + PEA $0000 + TDC + CLC + ADC #$FE00 + PHA + PEA $0000 + TDC + CLC + ADC #$FE80 + PHA + PEI $C6 + PEA $0000 + TDC + CLC + ADC #$FF00 + PHA + PEI $C4 + PEI $C8 + PEI $CA + PEI $CE + PEI $C0 + PEI $BE + JSL L070581 + TAY + TSC + CLC + ADC #$001A + TCS + TYA +L02274D TSC + CLC + ADC #$02F4 + TCS + PLD + RTL + +L022755 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022768 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02277B ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L0224DF + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02279E ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + LDA #$0200 + PHA + LDA L0B006A + SEC + JSL L01092D + PLA + STA $EC + PEA ^L0B006A + PEA L0B006A + PEA ^L0C1252 + PEA L0C1252 + LDA #$0200 + PHA + LDA L0B006A + SEC + JSL L01092D + PLY + PHA + LDA L0B006C + PLX + STX $F2 + CLC + ADC $F2 + PHA + JSL L0402DB + PLY + PLY + PLY + PLY + PLY + LDA $EC + STA L0B006A + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0227F2 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L022346 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022815 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$0084 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$0086 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ $EC + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + PEA $0000 + TDC + CLC + ADC #$0086 + PHA + JSL L023C7E + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$006E + TCS + PLD + RTL + +L02286B ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L010D87 + PLY + PLY + CMP #$0001 + BEQ L02289A + BRL L022940 +L02289A LDAL L0C10BE + AND #$00FF + SEC + SBC #$0030 + STA $EC + LDA $EC + SEC + SBC #$0009 + BEQ L0228C6 + BVS L0228B4 + EOR #$8000 +L0228B4 BPL L0228C6 + LDA $EC + CLC + ADC #$0030 + SEC + SBC #$0061 + CLC + ADC #$000A + STA $EC +L0228C6 PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA $EC + SEC + SBC #$0000 + BVS L0228E1 + EOR #$8000 +L0228E1 BMI L0228E6 + BRL L02293D +L0228E6 LDA $EC + SEC + SBC #$0015 + BVS L0228F1 + EOR #$8000 +L0228F1 BMI L02293D + PEA $0033 + PEA ^L0C10BE + PEA L0C10BE + LDA $EC + PHA + LDA #$0033 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + JSL L0111A4 + PLY + PLY + PLY + PLY + PLY + LDA $EC + ASL + LDX #$0000 + PHX + PHA + LDA #L0C072F + LDX #^L0C072F + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA L0B0082 + STA [$EE] +L02293D BRL L022997 +L022940 PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + SEC + SBC #$0000 + BVS L02295C + EOR #$8000 +L02295C BPL L022997 + LDA L0B0082 + SEC + SBC #$0010 + BEQ L02296E + BVS L02296C + EOR #$8000 +L02296C BMI L022997 +L02296E PEI $FF + PEI $FD + PEI $FB + PEI $F9 + LDA L0B0082 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA +L022997 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L02299F ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L041503 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0229C2 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEA $0000 + JSL L030F81 + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0229DD ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B009C + PEA L0B009C + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022A0A ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L02047A + PLY + PLY + PLY + PLY + TAY + BNE L022A34 + PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + STA [$FD] +L022A34 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022A3C ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E4 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L030A13 + PLY + PLY + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L022A7B ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + JSL L03096B + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022A92 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E4 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + LDX #$0000 + TDC + CLC + ADC #$00E6 + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L0613E4 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L022B01 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L02214D + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022B24 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E6 + TCS + LDA L0B008E + STA $EC + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C2588 + PEA L0C2588 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L022B68 + LDA $EC + BEQ L022B63 + JSL L030EB7 +L022B63 STZ L0B008E + BRA L022B9A +L022B68 LDA L0B0082 + STA $EA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $E8 + LDA $EC + BEQ L022B8A + JSL L030EB7 +L022B8A PEI $E8 + PEI $EA + JSL L030D77 + PLY + PLY + LDA #$0001 + STA L0B008E +L022B9A TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L022BA2 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B009E + PEA L0B009E + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022BCF ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + LDA L0B0098 + STA $EC + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B0098 + PEA L0B0098 + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + LDA L0B0098 + CMP $EC + BEQ L022C3B + PHA + _GetTextFace + BCS L022C0D + LDA #$0000 +L022C0D STAL L0B0002 + PLA + STA $EA + LDA L0B0098 + BEQ L022C22 + LDA $EA + ORA #$0001 + STA $EA + BRA L022C29 +L022C22 LDA $EA + AND #$00FE + STA $EA +L022C29 PEI $EA + _SetTextFace + BCS L022C37 + LDA #$0000 +L022C37 STAL L0B0002 +L022C3B TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L022C43 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B0096 + PEA L0B0096 + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022C70 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B00A0 + PEA L0B00A0 + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022C9D ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0C1AB0 + PEA L0C1AB0 + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022CCA ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0B009A + PEA L0B009A + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022CF7 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + CLC + ADC L0B006A + LDX #$0000 + TAY + BPL L022D1A + DEX +L022D1A STX L0B0060 + STA L0B005E + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022D28 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + JSL L041445 + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022D54 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0C1AA4 + PEA L0C1AA4 + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022D81 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + JSL L06152C + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022DAD ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEA $0001 + JSL L030F81 + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022DC8 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + JSL L06135C + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L022DF4 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E6 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $EC + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA $EC + SEC + SBC #$0000 + BVS L022E45 + EOR #$8000 +L022E45 BMI L022E4A + BRL L022EFE +L022E4A LDA $EC + SEC + SBC #$0010 + BVS L022E55 + EOR #$8000 +L022E55 BPL L022E5A + BRL L022EFE +L022E5A LDA $EC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEI $EA + PEI $E8 + LDA $EA + CLC + ADC #$0010 + PHA + LDA $E8 + CLC + ADC #$0008 + PHA + _SetRect + BCS L022E8C + LDA #$0000 +L022E8C STAL L0B0002 + PEA $0002 + PEA $0001 + _SetPenSize + BCS L022EA2 + LDA #$0000 +L022EA2 STAL L0B0002 + LDA $EC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + _FrameRect + BCS L022EC6 + LDA #$0000 +L022EC6 STAL L0B0002 + PEA $0001 + PEA $0001 + _SetPenSize + BCS L022EDC + LDA #$0000 +L022EDC STAL L0B0002 + LDA $EA + CLC + ADC #$001A + PHA + LDA $E8 + CLC + ADC #$0008 + PHA + _MoveTo + BCS L022EFA + LDA #$0000 +L022EFA STAL L0B0002 +L022EFE TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L022F06 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + JSL L060614 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L022F1D ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L021E10 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L022F5D + LDA #$0000 +L022F5D STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDAL L0C0F7C + CLC + ADC $EC + PHA + LDAL L0C0F7A + CLC + ADC $EA + PHA + _MoveTo + BCS L022FA3 + LDA #$0000 +L022FA3 STAL L0B0002 + LDA #$0001 + STA L0B00A2 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L022FB5 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L022FD2 + LDA #$0000 +L022FD2 STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0072 + PHA + LDA $EC + SEC + JSL L010AAE + LDAL L0C0F7C + PLX + STX $F2 + CLC + ADC $F2 + PHA + LDA L0B0070 + PHA + LDA $EA + CLC + ADC #$0001 + SEC + JSL L010AAE + LDAL L0C0F7A + PLX + STX $F2 + CLC + ADC $F2 + SEC + SBC #$0001 + PHA + _MoveTo + BCS L02303C + LDA #$0000 +L02303C STAL L0B0002 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L023065 + LDA #$0000 +L023065 STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0072 + PHA + LDA $EC + SEC + JSL L010AAE + LDA L0B0070 + PHA + LDA $EA + SEC + JSL L010AAE + PLA + SEC + SBC #$0001 + PHA + _MoveTo + BCS L0230B7 + LDA #$0000 +L0230B7 STAL L0B0002 + LDA #$0001 + STA L0B00A2 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L0230C9 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E4 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA $EC + BRL L023239 +L0230FF PEI $EA + JSL L023D2A + PLY + BRL L023246 +L023109 LDA L0B00A8 + BNE L023175 + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L02312F + LDA #$0000 +L02312F STAL L0B0002 + PLA + PLX + STX $E8 + STA $E6 + PEA $4556 + JSL L021DFD + PLY + PEA $0100 + PEA $0000 + PEA $6200 + PEI $E8 + PEI $E6 + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $E8 + PEI $E6 + JSL L04023C + PLY + PLY + PEI $E8 + PEI $E6 + _DisposeHandle + BCS L023171 + LDA #$0000 +L023171 STAL L0B0002 +L023175 LDA $EC + BRL L0231A3 +L02317A PEI $EA + JSL L0E004A + PLY + BRL L0231B1 +L023184 PEI $EA + JSL L0E0058 + PLY + BRL L0231B1 +L02318E PEI $EA + JSL L0E0066 + PLY + BRL L0231B1 +L023198 BRL L0231B1 +L02319B DA L02317A + DA L023184 + DA L02318E + DA L023198 +L0231A3 DEC + CMP #$0003 + BCC L0231AC + LDA #$0003 +L0231AC ASL + TAX + JMP (L02319B,X) + +L0231B1 BRL L023246 +L0231B4 LDA L0B00AA + BNE L023220 + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L0231DA + LDA #$0000 +L0231DA STAL L0B0002 + PLA + PLX + STX $E8 + STA $E6 + PEA $4556 + JSL L021DFD + PLY + PEA $0100 + PEA $0000 + PEA $4200 + PEI $E8 + PEI $E6 + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $E8 + PEI $E6 + JSL L04023C + PLY + PLY + PEI $E8 + PEI $E6 + _DisposeHandle + BCS L02321C + LDA #$0000 +L02321C STAL L0B0002 +L023220 PEI $EA + JSL L0E0074 + PLY + BRL L023246 +L02322A BRL L023246 +L02322D DA L0230FF + DA L023109 + DA L023109 + DA L023109 + DA L0231B4 + DA L02322A +L023239 CMP #$0005 + BCC L023241 + LDA #$0005 +L023241 ASL + TAX + JMP (L02322D,X) + +L023246 TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L02324E ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L021F0D + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023271 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C258C + PEA L0C258C + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0232AE + PEA $0001 + JSL L06145F + PLY + BRL L023332 +L0232AE PEA ^L0C2590 + PEA L0C2590 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0232D0 + PEA $0003 + JSL L06145F + PLY + BRL L023332 +L0232D0 PEA ^L0C2594 + PEA L0C2594 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0232F2 + PEA $0002 + JSL L06145F + PLY + BRL L023332 +L0232F2 PEA ^L0C259A + PEA L0C259A + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L023313 + PEA $0006 + JSL L06145F + PLY + BRA L023332 +L023313 PEA ^L0C259F + PEA L0C259F + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L023332 + PEA $0005 + JSL L06145F + PLY +L023332 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02333A ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L040728 + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023369 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02337C ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00AB + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $B5 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + PEA ^L0C25A3 + PEA L0C25A3 + JSL L025330 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L0244F2 + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00B7 + PHA + PEA $0000 + TDC + CLC + ADC #$00B9 + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0001 + PEI $B5 + PEI $B7 + PEI $B9 + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L031F08 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + TSC + CLC + ADC #$0047 + TCS + PLD + RTL + +L02345E ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00AB + TCS + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0000 + PEA $0000 + PEA $0000 + PEA $0000 + _SetRect + BCS L02348A + LDA #$0000 +L02348A STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA $B5 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + PEA ^L0C25A8 + PEA L0C25A8 + JSL L025330 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L0244F2 + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00B7 + PHA + PEA $0000 + TDC + CLC + ADC #$00B9 + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEA $0001 + PEA $0000 + TDC + CLC + ADC #$00AD + PHA + PEA $0000 + PEI $B5 + PEI $B7 + PEI $B9 + PEA $0000 + TDC + CLC + ADC #$00BB + PHA + JSL L031F08 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + TSC + CLC + ADC #$0047 + TCS + PLD + RTL + +L023548 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00BA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L070000 + PLY + PLY + TSC + CLC + ADC #$0038 + TCS + PLD + RTL + +L023591 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00BA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L0703A1 + PLY + PLY + TSC + CLC + ADC #$0038 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + JSL L024F91 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PHA + _GetTextFace + BCS L02360F + LDA #$0000 +L02360F STAL L0B0002 + PLA + STA $EA + LDA $EC + BEQ L023623 + LDA $EA + ORA #$0001 + STA $EA + BRA L02362A +L023623 LDA $EA + AND #$FFFE + STA $EA +L02362A PEI $EA + _SetTextFace + BCS L023638 + LDA #$0000 +L023638 STAL L0B0002 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L023644 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L023661 + LDA #$0000 +L023661 STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + _SetForeColor + BCS L023685 + LDA #$0000 +L023685 STAL L0B0002 + LDA L0B0082 + PHA + _SetSolidPenPat + BCS L023699 + LDA #$0000 +L023699 STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0236A5 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L0236C2 + LDA #$0000 +L0236C2 STAL L0B0002 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA L0B0082 + PHA + _SetBackColor + BCS L0236E6 + LDA #$0000 +L0236E6 STAL L0B0002 + LDA L0B0082 + PHA + _SetSolidBackPat + BCS L0236FA + LDA #$0000 +L0236FA STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023706 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00BA + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L040E53 + PLY + PLY + TSC + CLC + ADC #$0038 + TCS + PLD + RTL + +L02374F ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00B8 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + PEA $0000 + TDC + CLC + ADC #$00BA + PHA + JSL L040ADF + PLY + PLY + PLY + PLY + PLY + TAY + BEQ L0237C8 + LDA $BA + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA #$0032 + STA [$EE] +L0237C8 TSC + CLC + ADC #$003A + TCS + PLD + RTL + +L0237D0 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L022249 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0237F3 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0001 + JSL L0238B6 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02381A ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0002 + JSL L0238B6 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023841 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0003 + JSL L0238B6 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023868 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0004 + JSL L0238B6 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02388F ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + JSL L0238B6 + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0238B6 PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00DE + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00E8 + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + JSL L024FEE + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L0238F9 + LDA #$0000 +L0238F9 STAL L0B0002 + LDA $F7 + BRL L023984 +L023902 PEI $EA + PEI $E8 + _SetPenSize + BCS L023912 + LDA #$0000 +L023912 STAL L0B0002 + BRL L023991 +L023919 PEI $EA + PEI $E8 + _Line + BCS L023929 + LDA #$0000 +L023929 STAL L0B0002 + BRL L023991 +L023930 PEI $EA + PEI $E8 + _LineTo + BCS L023940 + LDA #$0000 +L023940 STAL L0B0002 + BRL L023991 +L023947 PEI $EA + PEI $E8 + _Move + BCS L023957 + LDA #$0000 +L023957 STAL L0B0002 + BRL L023991 +L02395E PEI $EA + PEI $E8 + _MoveTo + BCS L02396E + LDA #$0000 +L02396E STAL L0B0002 + BRL L023991 +L023975 BRL L023991 +L023978 DA L023902 + DA L023919 + DA L023930 + DA L023947 + DA L02395E + DA L023975 +L023984 CMP #$0005 + BCC L02398C + LDA #$0005 +L02398C ASL + TAX + JMP (L023978,X) + +L023991 LDA #$0001 + STA L0B00A2 + TSC + CLC + ADC #$0012 + TCS + PLD + RTL + +L02399F ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0001 + JSL L023A3B + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0239C6 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0002 + JSL L023A3B + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0239ED ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0003 + JSL L023A3B + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023A14 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0004 + JSL L023A3B + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023A3B PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E2 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + JSL L02508B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L023A75 + LDA #$0000 +L023A75 STAL L0B0002 + LDA $F7 + BRL L023B01 +L023A7E PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _FrameRect + BCS L023A93 + LDA #$0000 +L023A93 STAL L0B0002 + BRL L023B0F +L023A9A PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _PaintRect + BCS L023AAF + LDA #$0000 +L023AAF STAL L0B0002 + BRL L023B0F +L023AB6 PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _EraseRect + BCS L023ACB + LDA #$0000 +L023ACB STAL L0B0002 + BRL L023B0F +L023AD2 PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0016 + PEA $0008 + _FrameRRect + BCS L023AED + LDA #$0000 +L023AED STAL L0B0002 + BRL L023B0F +L023AF4 BRL L023B0F +L023AF7 DA L023A7E + DA L023A9A + DA L023AB6 + DA L023AD2 + DA L023AF4 +L023B01 DEC + CMP #$0004 + BCC L023B0A + LDA #$0004 +L023B0A ASL + TAX + JMP (L023AF7,X) + +L023B0F TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L023B17 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L0509EE + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023B3A ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L050000 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L023B5D ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E6 + TCS + LDX #$0000 + LDA #$C034 + STX $EA + STA $E8 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + AND #$000F + SEP #$20 + STA $EC + REP #$20 + LDA [$E8] + AND #$00FF + AND #$00F0 + SEP #$20 + STA $ED + REP #$20 + LDA $EC + AND #$00FF + PHA + LDA $ED + AND #$00FF + PLX + STX $F2 + ORA $F2 + SEP #$20 + STA [$E8] + REP #$20 + TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L023BBA ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA L0B0066 + CMP #$1001 + BNE L023BD2 + LDA #$0000 + BRA L023BD6 +L023BD2 JSL L0E002E +L023BD6 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L023BE0 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA [$FD] + AND #$00FF + CMP #$0025 + BNE L023BFC + LDA #$0001 + BRA L023BFF + BRA L023BFF +L023BFC LDA #$0000 +L023BFF TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L023C09 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA [$FD] + AND #$00FF + CMP #$005B + BNE L023C25 + LDA #$0001 + BRA L023C28 + BRA L023C28 +L023C25 LDA #$0000 +L023C28 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L023C32 PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L02008E + PLY + PLY + PLY + PLY + STX $EC + STA $EA + LDA $EA + CMP #$0000 + BNE L023C69 + LDA $EC + CMP #$0000 + BNE L023C69 + LDA #L022755 + LDX #^L022755 + BRA L023C74 + BRA L023C74 +L023C69 LDY #$0004 + LDA [$EA],Y + TAX + LDY #$0002 + LDA [$EA],Y +L023C74 TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + +L023C7E ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + PEI $FB + PEI $F9 + JSL L023BE0 + PLY + PLY + TAY + BNE L023C99 + BRL L023CF7 +L023C99 LDA #$0001 + STA [$FD] + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY +L023CAE LDAL L0C10BE + AND #$00FF + BEQ L023CF5 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0C03BB + PEA L0C03BB + PEA ^L0C10BE + PEA L0C10BE + JSL L023C32 + PLY + PLY + PLY + PLY + STA $EE + STX $F0 + LDA $EE + LDX $F0 + JSL L011145 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + BRA L023CAE +L023CF5 BRA L023D22 +L023CF7 PEI $FB + PEI $F9 + JSL L023C09 + PLY + PLY + TAY + BNE L023D22 + PEI $FB + PEI $F9 + JSL L024E6B + PLY + PLY + PEI $FB + PEI $F9 + JSL L0244F2 + PLY + PLY + PEI $FB + PEI $F9 + JSL L0601C6 + PLY + PLY +L023D22 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L023D2A PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EC + TCS + LDA $FF + BRL L024061 +L023D3A LDA #$0001 + STA L0B0092 + JSL L0311AA + BRL L024070 +L023D47 STZ L0B0092 + JSL L03117F + BRL L024070 +L023D51 STZ $F2 + BRA L023D79 +L023D55 PEA $0000 + PEA $0008 + LDA $F2 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + JSL L025194 + PLY + PLY + PLY + PLY + INC $F2 +L023D79 LDA $F2 + SEC + SBC #$0010 + BEQ L023D55 + BVS L023D86 + EOR #$8000 +L023D86 BPL L023D55 + JSL L031208 + BRL L024070 +L023D8F PEA $0001 + PEA $0000 + JSL L031233 + PLY + PLY + BRL L024070 +L023D9E PEA ^L0C1188 + PEA L0C1188 + PEA ^L0C11BB + PEA L0C11BB + JSL L0110F7 + PLY + PLY + PLY + PLY + BRL L024070 +L023DB5 BRL L024070 +L023DB8 JSL L0E0082 + BRL L024070 +L023DBF LDAL L0C0755 + STA $F0 + LDA $F0 + SEC + SBC #$03E8 + BEQ L023E1F + BVS L023DD2 + EOR #$8000 +L023DD2 BPL L023E1F + LDA #$03E8 + PHA + LDA $F0 + SEC + JSL L01092D + PLA + LDX #$0000 + PHX + PHA + LDA #$03E8 + PHA + LDA $F0 + SEC + JSL L01092D + PLY + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0FA2 + LDX #^L0C0FA2 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA #$0001 + SEP #$20 + STA [$F4] + REP #$20 +L023E1F BRL L024070 +L023E22 LDA #$0001 + STA $F2 + BRL L023E9A +L023E2A LDA #$0001 + STA $F0 + BRA L023E8B +L023E31 LDA $F0 + LDX #$0000 + PHX + PHA + LDA $F2 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0FA2 + LDX #^L0C0FA2 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + BEQ L023E89 + PEA $0001 + LDA $F2 + PHA + LDA #$03E8 + SEC + JSL L010AAE + PLA + CLC + ADC $F0 + PHA + _CheckMItem + BCS L023E85 + LDA #$0000 +L023E85 STAL L0B0002 +L023E89 INC $F0 +L023E8B LDA $F0 + SEC + SBC #$0006 + BVS L023E96 + EOR #$8000 +L023E96 BPL L023E31 + INC $F2 +L023E9A LDA $F2 + SEC + SBC #$0005 + BVS L023EA5 + EOR #$8000 +L023EA5 BPL L023E2A + BRL L024070 +L023EAA STZ L0B008A + BRL L024070 +L023EB0 LDAL L0C1A86 + PHA + PEA $0001 + JSL L0251CD + PLY + PLY + LDAL L0C1A84 + PHA + PEA $0002 + JSL L0251CD + PLY + PLY + BRL L024070 +L023ECF PEA $0001 + PEA $0001 + JSL L031233 + PLY + PLY + BRL L024070 +L023EDE LDA #$0001 + STAL L0C1AA2 + BRL L024070 +L023EE8 LDA #$0001 + STA L0B00C7 + BRL L024070 +L023EF1 PEA ^L0C25AD + PEA L0C25AD + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA L0B0076 + SEC + SBC #$03E8 + BNE L023F11 + BRL L023F7A +L023F11 BVS L023F16 + EOR #$8000 +L023F16 BMI L023F1B + BRL L023F7A +L023F1B LDA #$03E8 + PHA + LDA L0B0076 + SEC + JSL L01092D + PLA + LDX #$0000 + PHX + PHA + LDA #$03E8 + PHA + LDA L0B0076 + SEC + JSL L01092D + PLY + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0FA2 + LDX #^L0C0FA2 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + BEQ L023F7A + PEA ^L0C25AF + PEA L0C25AF + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L023F7A BRL L024070 +L023F7D STZ $EE + LDA #$0001 + STA $F2 + BRA L023FD5 +L023F86 LDA #$0001 + STA $F0 + BRA L023FC6 +L023F8D LDA $F0 + LDX #$0000 + PHX + PHA + LDA $F2 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0FA2 + LDX #^L0C0FA2 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + BEQ L023FC4 + INC $EE +L023FC4 INC $F0 +L023FC6 LDA $F0 + SEC + SBC #$0006 + BVS L023FD1 + EOR #$8000 +L023FD1 BPL L023F8D + INC $F2 +L023FD5 LDA $F2 + SEC + SBC #$0005 + BVS L023FE0 + EOR #$8000 +L023FE0 BPL L023F86 + PEI $EE + PEA $0000 + JSL L0251CD + PLY + PLY + BRL L024070 +L023FF0 PEA ^L0C09F0 + PEA L0C09F0 + JSL L024E6B + PLY + PLY + BRL L024070 +L023FFF PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L024012 + LDA #$0000 +L024012 STAL L0B0002 + PLA + BRL L024070 +L02401A LDA #$0001 + STAL L0C1A9C + BRL L024070 +L024024 LDA #$0000 + STAL L0C1A9C + BRL L024070 +L02402E BRL L024070 +L024031 DA L023D3A + DA L023D47 + DA L02402E + DA L023D51 + DA L023D8F + DA L023D9E + DA L023DB5 + DA L023DB8 + DA L023DBF + DA L023E22 + DA L023EAA + DA L023EB0 + DA L023ECF + DA L02402E + DA L023EDE + DA L023EE8 + DA L02402E + DA L023EF1 + DA L023F7D + DA L023FF0 + DA L023FFF + DA L02401A + DA L024024 + DA L02402E +L024061 DEC + DEC + CMP #$0017 + BCC L02406B + LDA #$0017 +L02406B ASL + TAX + JMP (L024031,X) + +L024070 TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L024078 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E7 + TCS + LDA $FD + SEC + SBC #$0000 + BVS L02408E + EOR #$8000 +L02408E BPL L0240B1 + SEP #$20 + STZ $E9 + REP #$20 + LDA $FD + LDX #$0000 + TAY + BPL L02409F + DEX +L02409F PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $EC + STA $EA + BRA L0240DB +L0240B1 LDA #$0001 + SEP #$20 + STA $E9 + REP #$20 + LDA $FD + EOR #$FFFF + INC + STA $FD + LDA $FD + LDX #$0000 + TAY + BPL L0240CB + DEX +L0240CB PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $EC + STA $EA +L0240DB LDA [$EA] + AND #$00FF + PHA + LDA $FF + AND #$00FF + PLX + STX $EE + CMP $EE + BNE L0240F0 + BRL L024147 +L0240F0 LDA $E9 + AND #$00FF + BNE L02411A + LDA [$EA] + AND #$00FF + BEQ L024106 + INC $EA + BNE L024104 + INC $EC +L024104 BRA L024118 +L024106 LDX $EC + LDA $EA + PHX + PHA + LDX $FB + LDA $F9 + JSL L010AA3 + PLA + PLX + BRA L024157 +L024118 BRA L024145 +L02411A SEC + LDA $EA + SBC $F9 + BNE L024127 + LDA $EC + SBC $FB + BRA L02412D +L024127 LDA $EC + SBC $FB + REP #$02 +L02412D BEQ L024140 + BVS L024134 + EOR #$8000 +L024134 BPL L024140 + LDA $EA + BNE L02413C + DEC $EC +L02413C DEC $EA + BRA L024145 +L024140 LDA #$FFFF + BRA L024157 +L024145 BRA L0240DB +L024147 LDX $FB + LDA $F9 + PHX + PHA + LDX $EC + LDA $EA + JSL L010AA3 + PLA + PLX +L024157 TAY + TSC + CLC + ADC #$000B + TCS + TYA + PLD + RTL + +L024161 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E7 + TCS + LDA $FD + SEC + SBC #$0000 + BVS L024177 + EOR #$8000 +L024177 BPL L02419A + SEP #$20 + STZ $E9 + REP #$20 + LDA $FD + LDX #$0000 + TAY + BPL L024188 + DEX +L024188 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $EC + STA $EA + BRA L0241C4 +L02419A LDA #$0001 + SEP #$20 + STA $E9 + REP #$20 + LDA $FD + EOR #$FFFF + INC + STA $FD + LDA $FD + LDX #$0000 + TAY + BPL L0241B4 + DEX +L0241B4 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $EC + STA $EA +L0241C4 LDA [$EA] + AND #$00FF + PHA + LDA $FF + AND #$00FF + PLX + STX $EE + CMP $EE + BEQ L0241D9 + BRL L024230 +L0241D9 LDA $E9 + AND #$00FF + BNE L024203 + LDA [$EA] + AND #$00FF + BEQ L0241EF + INC $EA + BNE L0241ED + INC $EC +L0241ED BRA L024201 +L0241EF LDX $EC + LDA $EA + PHX + PHA + LDX $FB + LDA $F9 + JSL L010AA3 + PLA + PLX + BRA L024240 +L024201 BRA L02422E +L024203 SEC + LDA $EA + SBC $F9 + BNE L024210 + LDA $EC + SBC $FB + BRA L024216 +L024210 LDA $EC + SBC $FB + REP #$02 +L024216 BEQ L024229 + BVS L02421D + EOR #$8000 +L02421D BPL L024229 + LDA $EA + BNE L024225 + DEC $EC +L024225 DEC $EA + BRA L02422E +L024229 LDA #$FFFF + BRA L024240 +L02422E BRA L0241C4 +L024230 LDX $FB + LDA $F9 + PHX + PHA + LDX $EC + LDA $EA + JSL L010AA3 + PLA + PLX +L024240 TAY + TSC + CLC + ADC #$000B + TCS + TYA + PLD + RTL + +L02424A PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA [$FD] + LDX #$0000 + TAY + BPL L02425E + DEX +L02425E PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $FB + STA $F9 +L02426E LDA [$F9] + AND #$00FF + BEQ L02428C + LDA [$F9] + AND #$00FF + CMP #$0020 + BNE L02428C + LDA [$FD] + INC + STA [$FD] + INC $F9 + BNE L02428A + INC $FB +L02428A BRA L02426E +L02428C TSC + CLC + ADC #$0006 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA $FD + BNE L0242A5 + DEC $FF +L0242A5 DEC $FD +L0242A7 INC $FD + BNE L0242AD + INC $FF +L0242AD LDX $FF + LDA $FD + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + BEQ L0242EF + LDA [$FD] + AND #$00FF + SEC + SBC #$0061 + BVS L0242CA + EOR #$8000 +L0242CA BPL L0242ED + LDA [$FD] + AND #$00FF + SEC + SBC #$007A + BEQ L0242DE + BVS L0242DC + EOR #$8000 +L0242DC BMI L0242ED +L0242DE LDA [$FD] + AND #$00FF + SEC + SBC #$0020 + SEP #$20 + STA [$FD] + REP #$20 +L0242ED BRA L0242A7 +L0242EF TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0242F7 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA $FD + BNE L024308 + DEC $FF +L024308 DEC $FD +L02430A INC $FD + BNE L024310 + INC $FF +L024310 LDX $FF + LDA $FD + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + BEQ L024352 + LDA [$FD] + AND #$00FF + SEC + SBC #$0041 + BVS L02432D + EOR #$8000 +L02432D BPL L024350 + LDA [$FD] + AND #$00FF + SEC + SBC #$005A + BEQ L024341 + BVS L02433F + EOR #$8000 +L02433F BMI L024350 +L024341 LDA [$FD] + AND #$00FF + CLC + ADC #$0020 + SEP #$20 + STA [$FD] + REP #$20 +L024350 BRA L02430A +L024352 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02435A PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EA + TCS + LDA #$0000 + STA $EE + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + STA $EC + BRL L024404 +L02437D LDA $EE + LDX #$0000 + TAY + BPL L024386 + DEX +L024386 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + STA $F0 + LDA $EC + LDX #$0000 + TAY + BPL L0243A6 + DEX +L0243A6 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + PHA + LDA $EE + LDX #$0000 + TAY + BPL L0243C2 + DEX +L0243C2 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + LDA $F0 + PHA + LDA $EC + LDX #$0000 + TAY + BPL L0243E5 + DEX +L0243E5 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + LDA $EE + INC $EE + LDA $EC + DEC $EC +L024404 LDA $EE + SEC + SBC $EC + BVS L02440E + EOR #$8000 +L02440E BMI L024413 + BRL L02437D +L024413 TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L02441B ENT + PHD + TSC + SEC + SBC #$00F5 + TCD + ADC #$00EA + TCS + LDA $FB + STA $EC + SEC + SBC #$0000 + BVS L024433 + EOR #$8000 +L024433 BMI L02443D + LDA $FB + EOR #$FFFF + INC + STA $FB +L02443D STZ $EE +L02443F LDA #$000A + PHA + LDA $FB + SEC + JSL L01092D + PLA + CLC + ADC #$0030 + PHA + LDA $EE + INC $EE + LDX #$0000 + TAY + BPL L02445B + DEX +L02445B PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + PLA + SEP #$20 + STA [$F0] + REP #$20 + LDA #$000A + PHA + LDA $FB + SEC + JSL L01092D + PLY + STA $FB + SEC + SBC #$0000 + BEQ L02448D + BVS L02448B + EOR #$8000 +L02448B BMI L02443F +L02448D LDA $EC + SEC + SBC #$0000 + BVS L024498 + EOR #$8000 +L024498 BMI L0244BE + LDA $EE + INC $EE + LDX #$0000 + TAY + BPL L0244A5 + DEX +L0244A5 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA #$002D + SEP #$20 + STA [$F0] + REP #$20 +L0244BE LDA $EE + LDX #$0000 + TAY + BPL L0244C7 + DEX +L0244C7 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F0 + STX $F2 + LDA #$0000 + SEP #$20 + STA [$F0] + REP #$20 + PEI $FF + PEI $FD + JSL L02435A + PLY + PLY + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L0244F2 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + STA $EE + LDA $EE + STA $F0 + BRA L024551 +L02450F LDA $F0 + LDX #$0000 + TAY + BPL L024518 + DEX +L024518 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + PHA + LDA $F0 + CLC + ADC #$0001 + LDX #$0000 + TAY + BPL L024538 + DEX +L024538 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + DEC $F0 +L024551 LDA $F0 + SEC + SBC #$0000 + BVS L02455C + EOR #$8000 +L02455C BMI L02450F + LDA $EE + SEP #$20 + STA [$FD] + REP #$20 + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L02456E ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E6 + TCS + LDA $FF + LDX #$0000 + TAY + BPL L024582 + DEX +L024582 PHX + PHA + LDA $FD + LDX #$0000 + TAY + BPL L02458D + DEX +L02458D PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + JSL L010922 + PLA + PLX + STX $EC + STA $EA + LDA $FD + LDX #$0000 + TAY + BPL L0245AC + DEX +L0245AC PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $FB + STA $F9 +L0245BC LDX $EC + LDA $EA + INC $EA + BNE L0245C6 + INC $EC +L0245C6 STA $EE + STX $F0 + LDA [$EE] + PHA + LDX $FB + LDA $F9 + INC $F9 + BNE L0245D7 + INC $FB +L0245D7 STA $EE + STX $F0 + PLA + SEP #$20 + STA [$EE] + REP #$20 + AND #$00FF + BEQ L0245E9 + BRA L0245BC +L0245E9 TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L0245F1 PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E4 + TCS + PEI $F9 + PEI $F7 + JSL L010D87 + PLY + PLY + STA $EA + PEI $FD + PEI $FB + JSL L010D87 + PLY + PLY + STA $E8 + LDA $E8 + STA $E6 + BRA L02465B +L02461A LDA $E6 + LDX #$0000 + TAY + BPL L024623 + DEX +L024623 PHX + PHA + LDX $FD + LDA $FB + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA [$EC] + PHA + LDA $E6 + CLC + ADC $EA + LDX #$0000 + TAY + BPL L024642 + DEX +L024642 PHX + PHA + LDX $FD + LDA $FB + JSL L010922 + PLA + PLX + STA $EC + STX $EE + PLA + SEP #$20 + STA [$EC] + REP #$20 + DEC $E6 +L02465B LDA $E6 + SEC + SBC $FF + BVS L024665 + EOR #$8000 +L024665 BMI L02461A + STZ $E6 + BRA L0246AB +L02466B LDA $E6 + LDX #$0000 + TAY + BPL L024674 + DEX +L024674 PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA [$EC] + PHA + LDA $FF + INC $FF + LDX #$0000 + TAY + BPL L024692 + DEX +L024692 PHX + PHA + LDX $FD + LDA $FB + JSL L010922 + PLA + PLX + STA $EC + STX $EE + PLA + SEP #$20 + STA [$EC] + REP #$20 + INC $E6 +L0246AB LDA $E6 + SEC + SBC $EA + BVS L0246B5 + EOR #$8000 +L0246B5 BPL L02466B + TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L0246BF ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + STZ $EE + STZ $F0 + STZ L0B0084 + LDA [$FD] + AND #$00FF + CMP #$0000 + BNE L0246E4 + LDA #$0001 + STA L0B0084 + BRL L02478C +L0246E4 LDA [$FD] + AND #$00FF + BEQ L024735 + LDA [$FD] + AND #$00FF + SEC + SBC #$0030 + BVS L0246F9 + EOR #$8000 +L0246F9 BPL L02470D + LDA [$FD] + AND #$00FF + SEC + SBC #$0039 + BEQ L024735 + BVS L02470B + EOR #$8000 +L02470B BPL L024735 +L02470D LDA [$FD] + AND #$00FF + CMP #$002D + BNE L024727 + LDA $EE + BEQ L024720 + LDA #$0000 + BRA L024723 +L024720 LDA #$0001 +L024723 STA $EE + BRA L02472D +L024727 LDA #$0001 + STA L0B0084 +L02472D INC $FD + BNE L024733 + INC $FF +L024733 BRA L0246E4 +L024735 LDA [$FD] + AND #$00FF + BEQ L02478C + LDA [$FD] + AND #$00FF + SEC + SBC #$0030 + BVS L02474A + EOR #$8000 +L02474A BPL L02477E + LDA [$FD] + AND #$00FF + SEC + SBC #$0039 + BEQ L02475E + BVS L02475C + EOR #$8000 +L02475C BMI L02477E +L02475E LDA [$FD] + AND #$00FF + PHA + LDA $F0 + PHA + LDA #$000A + SEC + JSL L010AAE + PLA + PLX + STX $F6 + CLC + ADC $F6 + SEC + SBC #$0030 + STA $F0 + BRA L024784 +L02477E LDA #$0001 + STA L0B0084 +L024784 INC $FD + BNE L02478A + INC $FF +L02478A BRA L024735 +L02478C LDA $EE + BEQ L02479A + LDA $F0 + EOR #$FFFF + INC + BRA L02479C + BRA L02479C +L02479A LDA $F0 +L02479C TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + +L0247A6 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E2 + TCS + LDA [$FD] + LDX #$0000 + TAY + BPL L0247BA + DEX +L0247BA PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STX $E8 + STA $E6 +L0247CA LDA [$E6] + AND #$00FF + CMP #$0020 + BEQ L0247DE + LDA [$E6] + AND #$00FF + CMP #$002C + BNE L0247E6 +L0247DE INC $E6 + BNE L0247E4 + INC $E8 +L0247E4 BRA L0247CA +L0247E6 LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + AND #$00FF + CMP #$0027 + BEQ L024803 + LDA $E5 + AND #$00FF + CMP #$0022 + BEQ L024803 + BRL L024889 +L024803 INC $E6 + BNE L024809 + INC $E8 +L024809 LDA [$E6] + AND #$00FF + PHA + LDA $E5 + AND #$00FF + PLX + STX $EA + CMP $EA + BEQ L024848 + LDX $E8 + LDA $E6 + INC $E6 + BNE L024825 + INC $E8 +L024825 STA $EA + STX $EC + LDA [$EA] + PHA + LDX $F7 + LDA $F5 + INC $F5 + BNE L024836 + INC $F7 +L024836 STA $EA + STX $EC + PLA + SEP #$20 + STA [$EA] + REP #$20 + AND #$00FF + BEQ L024848 + BRA L024809 +L024848 LDA [$E6] + AND #$00FF + PHA + LDA $E5 + AND #$00FF + PLX + STX $EA + CMP $EA + BNE L024862 + INC $E6 + BNE L024860 + INC $E8 +L024860 BRA L024887 +L024862 LDX $E8 + LDA $E6 + SEC + SBC #$0001 + PHA + TXA + SBC #$0000 + TAX + PLA + STA $EA + STX $EC + LDA [$EA] + AND #$00FF + CMP #$0000 + BNE L024887 + LDA $E6 + BNE L024885 + DEC $E8 +L024885 DEC $E6 +L024887 BRA L0248EF +L024889 LDA [$E6] + AND #$00FF + CMP #$0020 + BEQ L0248CA + LDA [$E6] + AND #$00FF + CMP #$002C + BEQ L0248CA + LDX $E8 + LDA $E6 + INC $E6 + BNE L0248A7 + INC $E8 +L0248A7 STA $EA + STX $EC + LDA [$EA] + PHA + LDX $F7 + LDA $F5 + INC $F5 + BNE L0248B8 + INC $F7 +L0248B8 STA $EA + STX $EC + PLA + SEP #$20 + STA [$EA] + REP #$20 + AND #$00FF + BEQ L0248CA + BRA L024889 +L0248CA LDX $E8 + LDA $E6 + SEC + SBC #$0001 + PHA + TXA + SBC #$0000 + TAX + PLA + STA $EA + STX $EC + LDA [$EA] + AND #$00FF + CMP #$0000 + BNE L0248EF + LDA $E6 + BNE L0248ED + DEC $E8 +L0248ED DEC $E6 +L0248EF LDA #$0000 + SEP #$20 + STA [$F5] + REP #$20 + LDX $FB + LDA $F9 + PHX + PHA + LDX $E8 + LDA $E6 + JSL L010AA3 + PLA + PLX + STA [$FD] + TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L024912 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00D9 + TCS + LDA [$F9] + LDX #$0000 + TAY + BPL L024926 + DEX +L024926 PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STX $E4 + STA $E2 +L024936 LDA [$E2] + AND #$00FF + CMP #$0020 + BNE L024948 + INC $E2 + BNE L024946 + INC $E4 +L024946 BRA L024936 +L024948 LDA #$0001 + SEP #$20 + STA $DB + REP #$20 + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + STA $DC + STZ $DE + BRA L024994 +L024961 LDA [$E2] + AND #$00FF + PHA + LDA $DE + LDX #$0000 + TAY + BPL L024970 + DEX +L024970 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + PLX + STX $E6 + CMP $E6 + BNE L024992 + SEP #$20 + STZ $DB + REP #$20 +L024992 INC $DE +L024994 LDA $DE + SEC + SBC $DC + BEQ L0249A2 + BVS L0249A0 + EOR #$8000 +L0249A0 BMI L0249A9 +L0249A2 LDA $DB + AND #$00FF + BNE L024961 +L0249A9 LDA $DB + AND #$00FF + BNE L0249B3 + BRL L024A27 +L0249B3 LDX $E4 + LDA $E2 + INC $E2 + BNE L0249BD + INC $E4 +L0249BD STA $E6 + STX $E8 + LDA [$E6] + PHA + LDX $F3 + LDA $F1 + INC $F1 + BNE L0249CE + INC $F3 +L0249CE STA $E6 + STX $E8 + PLA + SEP #$20 + STA [$E6] + REP #$20 + STZ $DE + BRA L024A10 +L0249DD LDA [$E2] + AND #$00FF + PHA + LDA $DE + LDX #$0000 + TAY + BPL L0249EC + DEX +L0249EC PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + AND #$00FF + PLX + STX $E6 + CMP $E6 + BNE L024A0E + SEP #$20 + STZ $DB + REP #$20 +L024A0E INC $DE +L024A10 LDA $DE + SEC + SBC $DC + BEQ L024A1E + BVS L024A1C + EOR #$8000 +L024A1C BMI L024A25 +L024A1E LDA $DB + AND #$00FF + BNE L0249DD +L024A25 BRA L0249A9 +L024A27 LDA #$0000 + SEP #$20 + STA [$F1] + REP #$20 + LDX $F7 + LDA $F5 + PHX + PHA + LDX $E4 + LDA $E2 + JSL L010AA3 + PLA + PLX + STA [$F9] + TSC + CLC + ADC #$0011 + TCS + PLD + RTL + +L024A4A PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + STA $F0 + SEC + SBC #$0001 + BNE L024A6A + BRL L024DD8 +L024A6A BVS L024A6F + EOR #$8000 +L024A6F BMI L024A74 + BRL L024DD8 +L024A74 LDA [$FD] + AND #$00FF + CMP #$0026 + BEQ L024A81 + BRL L024DD8 +L024A81 PEI $FF + PEI $FD + JSL L0242F7 + PLY + PLY + LDA $F0 + CMP #$0002 + BEQ L024A95 + BRL L024BAF +L024A95 LDY #$0001 + LDA [$FD],Y + AND #$00FF + CMP #$006E + BNE L024ADC + LDA #$0049 + SEP #$20 + STAL L0C10BE + REP #$20 + LDA #$0049 + SEP #$20 + STAL L0C10BF + REP #$20 + LDA #$0047 + SEP #$20 + STAL L0C10C0 + REP #$20 + LDA #$0053 + SEP #$20 + STAL L0C10C1 + REP #$20 + LDA #$0000 + SEP #$20 + STAL L0C10C2 + REP #$20 + BRL L024BAC +L024ADC LDY #$0001 + LDA [$FD],Y + AND #$00FF + CMP #$0070 + BNE L024B02 + LDA #$00A5 + SEP #$20 + STAL L0C10BE + REP #$20 + LDA #$0000 + SEP #$20 + STAL L0C10BF + REP #$20 + BRL L024BAC +L024B02 LDY #$0001 + LDA [$FD],Y + AND #$00FF + STA $EE + SEC + SBC #$0030 + BVS L024B15 + EOR #$8000 +L024B15 BPL L024B30 + LDA $EE + SEC + SBC #$0039 + BEQ L024B26 + BVS L024B24 + EOR #$8000 +L024B24 BMI L024B30 +L024B26 LDA $EE + SEC + SBC #$0030 + STA $EE + BRA L024B49 +L024B30 LDA $EE + SEC + SBC #$0061 + BVS L024B3B + EOR #$8000 +L024B3B BPL L024B49 + LDA $EE + SEC + SBC #$0061 + CLC + ADC #$000A + STA $EE +L024B49 LDA $EE + SEC + SBC #$0000 + BVS L024B54 + EOR #$8000 +L024B54 BMI L024B59 + BRL L024BAC +L024B59 LDA $EE + SEC + SBC #$0015 + BVS L024B64 + EOR #$8000 +L024B64 BMI L024BAC + LDA $EE + PHA + LDA #$0033 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $EE + ASL + LDX #$0000 + PHX + PHA + LDA #L0C072F + LDX #^L0C072F + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + STA L0B0082 +L024BAC BRL L024DD8 +L024BAF PEA ^L0C25F1 + PEA L0C25F1 + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024BEB + LDA L0B008C + STA L0B0082 + PEA ^L0C10BE + PEA L0C10BE + LDA L0B0082 + PHA + JSL L02441B + PLY + PLY + PLY + BRL L024DD8 +L024BEB PEA ^L0C25F6 + PEA L0C25F6 + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024C33 + PEA ^L0C1188 + PEA L0C1188 + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L0246BF + PLY + PLY + STA L0B0082 + BRL L024DD8 +L024C33 PEA ^L0C25FA + PEA L0C25FA + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024CA4 + LDA L0B00B2 + AND #$00FF + STA L0B0082 + LDA L0B00B2 + SEP #$20 + STAL L0C10BE + REP #$20 + LDA #$0000 + SEP #$20 + STAL L0C10BF + REP #$20 + LDA L0B00B2 + AND #$00FF + SEC + SBC #$0020 + BVS L024C83 + EOR #$8000 +L024C83 BPL L024C9E + LDA L0B00B2 + AND #$00FF + SEC + SBC #$007F + BVS L024C94 + EOR #$8000 +L024C94 BMI L024C9E + LDA #$0001 + STA L0B0084 + BRA L024CA1 +L024C9E STZ L0B0084 +L024CA1 BRL L024DD8 +L024CA4 PEA ^L0C25FE + PEA L0C25FE + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024CE0 + LDA L0B0078 + STA L0B0082 + PEA ^L0C10BE + PEA L0C10BE + LDA L0B0082 + PHA + JSL L02441B + PLY + PLY + PLY + BRL L024DD8 +L024CE0 PEA ^L0C2602 + PEA L0C2602 + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024D28 + PEA ^L0C11BB + PEA L0C11BB + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L0246BF + PLY + PLY + STA L0B0082 + BRL L024DD8 +L024D28 PEA ^L0C2606 + PEA L0C2606 + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024D64 + LDA L0B0074 + STA L0B0082 + PEA ^L0C10BE + PEA L0C10BE + LDA L0B0082 + PHA + JSL L02441B + PLY + PLY + PLY + BRL L024DD8 +L024D64 PEA ^L0C260A + PEA L0C260A + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024D9F + LDA L0B0076 + STA L0B0082 + PEA ^L0C10BE + PEA L0C10BE + LDA L0B0082 + PHA + JSL L02441B + PLY + PLY + PLY + BRA L024DD8 +L024D9F PEA ^L0C260E + PEA L0C260E + LDX $FF + LDA $FD + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024DD8 + LDA L0B007C + STA L0B0082 + PEA ^L0C10BE + PEA L0C10BE + LDA L0B0082 + PHA + JSL L02441B + PLY + PLY + PLY +L024DD8 TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L024DE0 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEA ^L0C10BE + PEA L0C10BE + JSL L0247A6 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEA ^L0C10BE + PEA L0C10BE + PEA ^L0C10F1 + PEA L0C10F1 + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C10F1 + PEA L0C10F1 + JSL L0246BF + PLY + PLY + STA L0B0082 + PEA ^L0C10F1 + PEA L0C10F1 + JSL L024A4A + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L024E3C ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + PEA ^L0C10BE + PEA L0C10BE + JSL L0242F7 + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L024E6B ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EA + TCS + STZ $EE +L024E78 PEA $0026 + PEI $EE + PEI $FF + PEI $FD + JSL L024078 + PLY + PLY + PLY + PLY + STA $F0 + SEC + SBC #$0000 + BVS L024E94 + EOR #$8000 +L024E94 BMI L024E99 + BRL L024F3E +L024E99 LDA [$FD] + AND #$00FF + BNE L024EA3 + BRL L024F3E +L024EA3 LDA $F0 + SEC + SBC #$0001 + STA $EC + LDA $F0 + BEQ L024EF7 + LDA $EC + LDX #$0000 + TAY + BPL L024EB8 + DEX +L024EB8 PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$0022 + BEQ L024EF5 + LDA $EC + LDX #$0000 + TAY + BPL L024EDB + DEX +L024EDB PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + CMP #$0027 + BNE L024EF7 +L024EF5 DEC $F0 +L024EF7 LDA $F0 + STA $EE + PEA $0000 + TDC + CLC + ADC #$00F0 + PHA + PEI $FF + PEI $FD + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA $F0 + SEC + SBC $EE + PHA + PEI $EE + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + PEI $EE + PEI $FF + PEI $FD + PEA ^L0C10BE + PEA L0C10BE + JSL L0245F1 + PLY + PLY + PLY + PLY + PLY + INC $EE + BRL L024E78 +L024F3E STZ $EE +L024F40 PEA $0027 + PEI $EE + PEI $FF + PEI $FD + JSL L024078 + PLY + PLY + PLY + PLY + STA $F0 + SEC + SBC #$0000 + BVS L024F5C + EOR #$8000 +L024F5C BPL L024F89 + LDA [$FD] + AND #$00FF + BEQ L024F89 + LDA $F0 + LDX #$0000 + TAY + BPL L024F6E + DEX +L024F6E PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$00D5 + SEP #$20 + STA [$F2] + REP #$20 + BRA L024F40 +L024F89 TSC + CLC + ADC #$000C + TCS + PLD + RTL + +L024F91 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C2613 + PEA L0C2613 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024FCA + LDA #$0001 + STA [$F5] + BRA L024FE6 +L024FCA PEA ^L0C2616 + PEA L0C2616 + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L024FE6 + LDA #$0000 + STA [$F5] +L024FE6 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L024FEE PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00E4 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA [$F1] + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA [$F5] + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02502B PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E8 + TCS + LDA L0B0082 + LDY #$0002 + STA [$F5],Y + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + STA [$F5] + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + LDY #$0006 + STA [$F5],Y + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + LDY #$0004 + STA [$F5],Y + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L02508B PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024E3C + PLY + PLY + PLY + PLY + PEA ^L0C261A + PEA L0C261A + PEA ^L0C10BE + PEA L0C10BE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0250D8 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEI $F7 + PEI $F5 + JSL L02502B + TAY + TSC + CLC + ADC #$000C + TCS + TYA + BRL L02518C +L0250D8 PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + SEC + SBC #$0000 + BVS L0250F4 + EOR #$8000 +L0250F4 BPL L025139 + LDA L0B0082 + SEC + SBC #$0010 + BVS L025102 + EOR #$8000 +L025102 BMI L025139 + LDA L0B0082 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA $EA + LDX $EC + PHX + PHA + LDA $F7 + PHA + LDA $F5 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + BRA L02518C +L025139 LDA L0B0082 + SEC + SBC #$FFFD + BVS L025145 + EOR #$8000 +L025145 BPL L02518C + LDA L0B0082 + SEC + SBC #$0000 + BVS L025153 + EOR #$8000 +L025153 BMI L02518C + LDA L0B0082 + EOR #$FFFF + INC + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0F82 + LDX #^L0C0F82 + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA $EA + LDX $EC + PHX + PHA + LDA $F7 + PHA + LDA $F5 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L02518C TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L025194 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + STZ $EC + BRA L0251B9 +L0251A3 LDA $FF + SEP #$20 + STA [$F9] + REP #$20 + INC $EC + LDA $EC + INC $F9 + BNE L0251B5 + INC $FB +L0251B5 LDX $FB + LDA $F9 +L0251B9 LDA $EC + SEC + SBC $FD + BVS L0251C3 + EOR #$8000 +L0251C3 BPL L0251A3 + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0251CD ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA $FD + SEC + SBC #$0015 + BVS L0251E3 + EOR #$8000 +L0251E3 BMI L025225 + LDA $FD + ASL + LDX #$0000 + PHX + PHA + LDA #L0C072F + LDX #^L0C072F + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $FF + STA [$F2] + LDA $FD + PHA + LDA #$0033 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C0759 + LDX #^L0C0759 + JSL L010922 + PEI $FF + JSL L02441B + PLY + PLY + PLY +L025225 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + PEA $0020 + PEA $0000 + PEI $FF + PEI $FD + JSL L024161 + PLY + PLY + PLY + PLY + STA $F0 + PEI $F0 + PEA $0000 + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + PEA $0020 + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + EOR #$FFFF + INC + PHA + PEI $FF + PEI $FD + JSL L024161 + PLY + PLY + PLY + PLY + STA $F0 + LDA $F0 + CLC + ADC #$0001 + STA $F0 + PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + SEC + SBC $F0 + PHA + PEI $F0 + PEI $FF + PEI $FD + JSL L02456E + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0252AD ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + STZ $EA + STZ $EC + BRA L0252E8 +L0252BE LDA $EC + LDX #$0000 + TAY + BPL L0252C7 + DEX +L0252C7 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + CMP #$002E + BNE L0252E6 + LDA #$0001 + STA $EA +L0252E6 INC $EC +L0252E8 PEI $FB + PEI $F9 + JSL L010D87 + PLY + PLY + SEC + SBC $EC + BVS L0252FA + EOR #$8000 +L0252FA BMI L0252BE + LDA $EA + BNE L02531A + PEI $FF + PEI $FD + JSL L0242F7 + PLY + PLY + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L010CFD + PLY + PLY + PLY + PLY +L02531A LDA $EA + BEQ L025323 + LDA #$0000 + BRA L025326 +L025323 LDA #$0001 +L025326 TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + +L025330 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + STZ $EA + STZ $EC + BRA L02536B +L025341 LDA $EC + LDX #$0000 + TAY + BPL L02534A + DEX +L02534A PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA [$EE] + AND #$00FF + CMP #$002F + BNE L025369 + LDA #$0001 + STA $EA +L025369 INC $EC +L02536B PEI $FF + PEI $FD + JSL L010D87 + PLY + PLY + SEC + SBC $EC + BVS L02537D + EOR #$8000 +L02537D BMI L025341 + LDA $EA + BNE L0253A1 + PEI $FB + PEI $F9 + JSL L0242F7 + PLY + PLY + PEA $0000 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L0245F1 + PLY + PLY + PLY + PLY + PLY +L0253A1 LDA $EA + BEQ L0253AA + LDA #$0000 + BRA L0253AD +L0253AA LDA #$0001 +L0253AD TAY + TSC + CLC + ADC #$000A + TCS + TYA + PLD + RTL + diff --git a/yourtour/ONE.X.S b/yourtour/ONE.X.S new file mode 100644 index 0000000..6332e6f --- /dev/null +++ b/yourtour/ONE.X.S @@ -0,0 +1,171 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L010AA3 + EXT L010B98 + EXT L011145 + EXT L0B0002 + EXT L0E002E + EXT L040619 + EXT L0B0082 + EXT L01092D + EXT L010DD9 + EXT L010AAE + EXT L010D87 + EXT L010AF3 + EXT L0C10BE + EXT L03117F + EXT L0311AA + EXT L010BC3 + EXT L061079 + EXT L060851 + EXT L061544 + EXT L0C1AB0 + EXT L0C1AA6 + EXT L0C1A9E + EXT L0C1A9A + EXT L0618EB + EXT L06152C + EXT L0C0F7E + EXT L0C0F7A + EXT L0321FD + EXT L0C0F7C + EXT L03238E + EXT L03223A + EXT L0322ED + EXT L040655 + EXT L04158E + EXT L041610 + EXT L040E53 + EXT L01020C + EXT L070581 + EXT L0402DB + EXT L0111A4 + EXT L041503 + EXT L030F81 + EXT L030A13 + EXT L03096B + EXT L0613E4 + EXT L030EB7 + EXT L030D77 + EXT L041445 + EXT L06135C + EXT L060614 + EXT L040000 + EXT L04023C + EXT L0E004A + EXT L0E0058 + EXT L0E0066 + EXT L0E0074 + EXT L06145F + EXT L040728 + EXT L031F08 + EXT L070000 + EXT L0703A1 + EXT L040ADF + EXT L0509EE + EXT L050000 + EXT L0601C6 + EXT L031208 + EXT L031233 + EXT L0E0082 + EXT L0C0755 + EXT L0C1A86 + EXT L0C1A84 + EXT L0C1AA2 + EXT L0C1A9C + EXT L0C10BF + EXT L0C10C0 + EXT L0C10C1 + EXT L0C10C2 + EXT L010CFD + EXT L0B001C + EXT L0B001A + EXT L0B0066 + EXT L0B0084 + EXT L0B006A + EXT L0B006C + EXT L0B005C + EXT L0B005A + EXT L0B0078 + EXT L0B0076 + EXT L0B00C7 + EXT L0B0070 + EXT L0B005E + EXT L0B006E + EXT L0B009C + EXT L0B008E + EXT L0B009E + EXT L0B0098 + EXT L0B0096 + EXT L0B00A0 + EXT L0B009A + EXT L0B0060 + EXT L0B00A2 + EXT L0B0072 + EXT L0B00A8 + EXT L0B00AA + EXT L0B0092 + EXT L0B008A + EXT L0B008C + EXT L0B00B2 + EXT L0B0074 + EXT L0B007C + EXT L0C253E + EXT L0C1A7A + EXT L0C2548 + EXT L0C254C + EXT L0C2550 + EXT L0C2556 + EXT L0C255A + EXT L0C11BB + EXT L0C255F + EXT L0C2563 + EXT L0C0EDA + EXT L0C2566 + EXT L0C256A + EXT L0C256B + EXT L0C2571 + EXT L0C1006 + EXT L0C1AB2 + EXT L0C2576 + EXT L0C257A + EXT L0C257E + EXT L0C2584 + EXT L0C1252 + EXT L0C0759 + EXT L0C072F + EXT L0C0EF2 + EXT L0C2588 + EXT L0C1AA4 + EXT L0C0CDC + EXT L0C258C + EXT L0C2590 + EXT L0C2594 + EXT L0C259A + EXT L0C259F + EXT L0C25A3 + EXT L0C25A8 + EXT L0C03BB + EXT L0C1188 + EXT L0C0FA2 + EXT L0C25AD + EXT L0C25AF + EXT L0C09F0 + EXT L0C25F1 + EXT L0C25F6 + EXT L0C25FA + EXT L0C25FE + EXT L0C2602 + EXT L0C2606 + EXT L0C260A + EXT L0C260E + EXT L0C10F1 + EXT L0C2613 + EXT L0C2616 + EXT L0C261A + EXT L0C0F82 diff --git a/yourtour/SIX.S b/yourtour/SIX.S new file mode 100644 index 0000000..0ae7837 --- /dev/null +++ b/yourtour/SIX.S @@ -0,0 +1,3206 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use SIX.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Menu.Macs + use 4/Misc.Macs + use 4/NoteSeq.Macs + use 4/NoteSyn.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Util.Macs + +*------------------------------- + +L070000 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00BC + TCS + PEI $FF + PEI $FD + PEA ^L0C251F + PEA L0C251F + JSL L025330 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + PEA ^L0C11EE + PEA L0C11EE + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L070085 + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L040E53 + PLY + PLY + STA $BE + LDA $BE + SEC + SBC #$0000 + BVS L070068 + EOR #$8000 +L070068 BPL L070083 + PEI $BE + JSL L070091 + PLY + PEI $FF + PEI $FD + PEA ^L0C11EE + PEA L0C11EE + JSL L0110F7 + PLY + PLY + PLY + PLY +L070083 BRA L070089 +L070085 JSL L071812 +L070089 TSC + CLC + ADC #$003A + TCS + PLD + RTL + +L070091 PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00E1 + TCS + STZ $F2 + BRL L070122 +L0700A1 LDA $F2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A52 + LDX #^L0C1A52 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STA $F4 + STX $F6 + LDA [$F4] + PHA + _DeleteMenu + BCS L0700E1 + LDA #$0000 +L0700E1 STAL L0B0002 + PEA $0320 + JSL L021DFD + PLY + LDA $F2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A52 + LDX #^L0C1A52 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + PHX + PHA + _DisposeHandle + BCS L07011C + LDA #$0000 +L07011C STAL L0B0002 + INC $F2 +L070122 LDA $F2 + SEC + SBC L0B00B7 + BVS L07012D + EOR #$8000 +L07012D BMI L070132 + BRL L0700A1 +L070132 PHX + PHA + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + _GetHandleSize + BCS L07016E + LDA #$0000 +L07016E STAL L0B0002 + PLA + PLX + STX $EE + STA $EC + PEA $0000 + PEI $EE + PEI $EC + LDX L0B004C + LDA L0B004A + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEA $0321 + JSL L021DFD + PLY + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + LDX L0B004C + LDA L0B004A + PHX + PHA + PEI $EE + PEI $EC + _HandToHand + BCS L0701DE + LDA #$0000 +L0701DE STAL L0B0002 + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA #$0032 + STA [$F4] + _CompactMem + BCS L070214 + LDA #$0000 +L070214 STAL L0B0002 + LDX L0B004C + LDA L0B004A + PHX + PHA + _HLock + BCS L07022C + LDA #$0000 +L07022C STAL L0B0002 + LDX L0B004C + LDA L0B004A + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STX $EA + STA $E8 + LDX L0B004C + LDA L0B004A + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STX $E6 + STA $E4 + STZ L0B00B7 + LDA [$E8] + SEP #$20 + STA $E3 + REP #$20 +L070267 LDX $EA + LDA $E8 + CLC + ADC $EC + PHA + TXA + ADC $EE + TAX + PLA + PHX + PHA + LDX $E6 + LDA $E4 + JSL L010B98 + BNE L070283 + BRL L070324 +L070283 BVS L070288 + EOR #$8000 +L070288 BMI L07028D + BRL L070324 +L07028D PHX + PHA + PEI $E6 + PEI $E4 + _NewMenu + BCS L07029F + LDA #$0000 +L07029F STAL L0B0002 + LDA L0B00B7 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A52 + LDX #^L0C1A52 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$F4],Y + PLA + STA [$F4] + PEA $0323 + JSL L021DFD + PLY + INC L0B00B7 + LDX $E6 + LDA $E4 + CLC + ADC #$0002 + PHA + TXA + ADC #$0000 + TAX + PLA + STX $E6 + STA $E4 +L0702E7 LDA [$E4] + AND #$00FF + PHA + LDA $E3 + AND #$00FF + PLX + STX $F4 + CMP $F4 + BEQ L070321 + LDX $EA + LDA $E8 + CLC + ADC $EC + PHA + TXA + ADC $EE + TAX + PLA + PHX + PHA + LDX $E6 + LDA $E4 + JSL L010B98 + BEQ L070321 + BVS L070317 + EOR #$8000 +L070317 BPL L070321 + INC $E4 + BNE L07031F + INC $E6 +L07031F BRA L0702E7 +L070321 BRL L070267 +L070324 LDA L0B00B7 + SEC + SBC #$0001 + STA $F2 + BRA L07036F +L07032F LDA $F2 + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1A52 + LDX #^L0C1A52 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + PHX + PHA + PEA $0000 + _InsertMenu + BCS L070361 + LDA #$0000 +L070361 STAL L0B0002 + PEA $0324 + JSL L021DFD + PLY + DEC $F2 +L07036F LDA $F2 + SEC + SBC #$0000 + BVS L07037A + EOR #$8000 +L07037A BMI L07032F + PHA + _FixMenuBar + BCS L070389 + LDA #$0000 +L070389 STAL L0B0002 + PLA + SEC + SBC #$0001 + STA L0B00B9 + JSL L071812 + TSC + CLC + ADC #$0017 + TCS + PLD + RTL + +L0703A1 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00E7 + TCS + PEA ^L0C2525 + PEA L0C2525 + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0703EE + PEA ^L0C2529 + PEA L0C2529 + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0703EE + PEA ^L0C2530 + PEA L0C2530 + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0703EE + BRL L070435 +L0703EE PHX + PHA + _GetSysFont + BCS L0703FC + LDA #$0000 +L0703FC STAL L0B0002 + _SetFont + BCS L07040C + LDA #$0000 +L07040C STAL L0B0002 + PEA ^L0B0070 + PEA L0B0070 + PEA ^L0B0072 + PEA L0B0072 + JSL L070547 + PLY + PLY + PLY + PLY + LDX L0B0050 + LDA L0B004E + PHX + PHA + JSL L04023C + PLY + PLY + BRL L07053F +L070435 PEI $FF + PEI $FD + PEA ^L0C2538 + PEA L0C2538 + JSL L025330 + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + JSL L040E53 + PLY + PLY + STA $EB + LDA $EB + SEC + SBC #$0000 + BVS L07045E + EOR #$8000 +L07045E BMI L070463 + BRL L07053F +L070463 PHX + PHA + LDA $EB + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + PHX + PHA + _GetHandleSize + BCS L07049F + LDA #$0000 +L07049F STAL L0B0002 + PLA + PLX + STX $EF + STA $ED + PEA $0000 + PEI $EF + PEI $ED + LDX L0B0050 + LDA L0B004E + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDA $EB + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + PHX + PHA + LDX L0B0050 + LDA L0B004E + PHX + PHA + PEI $EF + PEI $ED + _HandToHand + BCS L070507 + LDA #$0000 +L070507 STAL L0B0002 + PEA $02BC + JSL L021DFD + PLY + LDX L0B0050 + LDA L0B004E + PHX + PHA + _SetFont + BCS L070527 + LDA #$0000 +L070527 STAL L0B0002 + PEA ^L0B0070 + PEA L0B0070 + PEA ^L0B0072 + PEA L0B0072 + JSL L070547 + PLY + PLY + PLY + PLY +L07053F TSC + CLC + ADC #$000F + TCS + PLD + RTL + +L070547 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E4 + TCS + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + _GetFontInfo + BCS L070567 + LDA #$0000 +L070567 STAL L0B0002 + LDA $EA + STA [$F9] + LDA $E6 + CLC + ADC $E8 + CLC + ADC $EC + STA [$FD] + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L070581 ENT + PHD + TSC + SEC + SBC #$00E1 + TCD + ADC #$00DA + TCS + PEI $F5 + PEI $F3 + PEI $F7 + PEI $F1 + PEI $E9 + PEI $E7 + JSL L071136 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + JSL L0311DD + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEI $F5 + PEI $F3 + PEI $ED + PEI $EF + PEI $EB + PEI $F7 + PEI $F1 + JSL L0705F6 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + JSL L031208 + LDA $F7 + BEQ L0705EE + LDX L0B0048 + LDA L0B0046 + PHX + PHA + JSL L04023C + PLY + PLY + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L04023C + PLY + PLY +L0705EE TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0705F6 ENT + PHD + TSC + SEC + SBC #$00E5 + TCD + ADC #$00A6 + TCS + STZ $D8 + STZ $DE + STZ $DA + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + PEA $0000 + PEA $0000 + _SetPt + BCS L070622 + LDA #$0000 +L070622 STAL L0B0002 + LDA #L0C0CDC + LDX #^L0C0CDC + STX $AE + STA $AC + LDA #L0C0E30 + LDX #^L0C0E30 + STX $B2 + STA $B0 + LDX #$0000 + TDC + CLC + ADC #$00C2 + STX $B6 + STA $B4 + LDX #$0000 + TDC + CLC + ADC #$00A8 + STX $BA + STA $B8 + LDA #$0000 + STA $BC + LDAL L0C0CF6 + TAX + LDAL L0C0CF4 + STX $C0 + STA $BE + LDA #$0001 + STA L0B00AE + _StartInts + BCS L070676 + LDA #$0000 +L070676 STAL L0B0002 + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L07068D + LDA #$0000 +L07068D STAL L0B0002 + PLA +L070692 STZ $DC + BRL L0710E6 +L070697 LDA $ED + BNE L07069E + BRL L070C34 +L07069E LDA $DA + BNE L0706A5 + BRL L070828 +L0706A5 LDA $F1 + SEC + SBC #$0000 + BVS L0706B0 + EOR #$8000 +L0706B0 BMI L0706BF + LDA $EB + SEC + SBC #$0001 + CMP $DC + BNE L0706BF + BRL L070828 +L0706BF PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + PEA $0000 + PEA $0000 + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L0706DB + DEX +L0706DB STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L07070B + DEX +L07070B STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0006 + LDA [$E0],Y + PLX + STX $E4 + SEC + SBC $E4 + PHA + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L070741 + DEX +L070741 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L07076E + DEX +L07076E STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0004 + LDA [$E0],Y + PLX + STX $E4 + SEC + SBC $E4 + PHA + _SetRect + BCS L0707A3 + LDA #$0000 +L0707A3 STAL L0B0002 + PEA ^L0C0E30 + PEA L0C0E30 + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L0707C3 + DEX +L0707C3 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + SEC + SBC #$0001 + LDX #$0000 + TAY + BPL L0707F0 + DEX +L0707F0 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + PEA $0000 + _PPToPort + BCS L07081C + LDA #$0000 +L07081C STAL L0B0002 + PEA $07D3 + JSL L021DFD + PLY +L070828 PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L07083A + DEX +L07083A STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070863 + DEX +L070863 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070889 + DEX +L070889 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L0708B2 + DEX +L0708B2 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L0708DE + DEX +L0708DE STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0006 + LDA [$E0],Y + PLX + STX $E4 + SEC + SBC $E4 + PLX + STX $E4 + CLC + ADC $E4 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070916 + DEX +L070916 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + LDX #$0000 + TAY + BPL L07093C + DEX +L07093C STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070965 + DEX +L070965 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0004 + LDA [$E0],Y + PLX + STX $E4 + SEC + SBC $E4 + PLX + STX $E4 + CLC + ADC $E4 + PHA + _SetRect + BCS L0709A0 + LDA #$0000 +L0709A0 STAL L0B0002 + JSL L03117F + PEA $0000 + TDC + CLC + ADC #$00AC + PHA + _PaintPixels + BCS L0709BD + LDA #$0000 +L0709BD STAL L0B0002 + JSL L0311AA + LDA $ED + CMP #$0002 + BEQ L0709CF + BRL L070B09 +L0709CF PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L0709E1 + DEX +L0709E1 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070A0D + DEX +L070A0D STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070A36 + DEX +L070A36 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0006 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070A62 + DEX +L070A62 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0004 + LDA [$E0],Y + PHA + _SetRect + BCS L070A91 + LDA #$0000 +L070A91 STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070AAD + DEX +L070AAD STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070AD6 + DEX +L070AD6 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + PEA $0000 + _PPToPort + BCS L070B02 + LDA #$0000 +L070B02 STAL L0B0002 + BRL L070C2C +L070B09 LDA $DC + LDX #$0000 + TAY + BPL L070B12 + DEX +L070B12 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA $E0 + LDX $E2 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA ^L0C0D86 + PEA L0C0D86 + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070B62 + DEX +L070B62 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070B8B + DEX +L070B8B STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + PEA $0003 + _PPToPort + BCS L070BB7 + LDA #$0000 +L070BB7 STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070BD3 + DEX +L070BD3 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070BFC + DEX +L070BFC STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + PEA $0001 + _PPToPort + BCS L070C28 + LDA #$0000 +L070C28 STAL L0B0002 +L070C2C LDA #$0001 + STA $DA + BRL L070D6B +L070C34 PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070C46 + DEX +L070C46 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070C72 + DEX +L070C72 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070C9B + DEX +L070C9B STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0006 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070CC7 + DEX +L070CC7 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $F7 + LDA $F5 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0004 + LDA [$E0],Y + PHA + _SetRect + BCS L070CF6 + LDA #$0000 +L070CF6 STAL L0B0002 + PEA ^L0C0C32 + PEA L0C0C32 + PEA $0000 + TDC + CLC + ADC #$00C2 + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070D12 + DEX +L070D12 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070D3B + DEX +L070D3B STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + PHA + PEA $0000 + _PPToPort + BCS L070D67 + LDA #$0000 +L070D67 STAL L0B0002 +L070D6B LDA $DC + LDX #$0000 + TAY + BPL L070D74 + DEX +L070D74 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + AND #$007F + TAY + BNE L070D99 + BRL L070F29 +L070D99 PHA + PEA $007F + _AllocGen + BCS L070DA9 + LDA #$0000 +L070DA9 STAL L0B0002 + PLA + STA $D6 + PEI $D6 + LDA $DC + LDX #$0000 + TAY + BPL L070DBB + DEX +L070DBB STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + LSR + LSR + LSR + LSR + LSR + LSR + LSR + LSR + AND #$007F + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070DEC + DEX +L070DEC STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + AND #$007F + PHA + LDA $DC + LDX #$0000 + TAY + BPL L070E15 + DEX +L070E15 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + XBA + AND #$00FF + LSR + LSR + LSR + AND #$000F + PHA + LDA #$0040 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C2156 + LDX #^L0C2156 + JSL L010922 + _NoteOn + BCS L070E63 + LDA #$0000 +L070E63 STAL L0B0002 + PHX + PHA + _GetTick + BCS L070E75 + LDA #$0000 +L070E75 STAL L0B0002 + PLA + PLX + STX $D0 + STA $CE + STZ $CA + STZ $CC +L070E83 LDA $DC + LDX #$0000 + TAY + BPL L070E8C + DEX +L070E8C STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDY #$0002 + LDA [$E0],Y + AND #$07FF + LDX #$0000 + PHX + PHA + LDX $D0 + LDA $CE + JSL L010922 + LDX $CC + LDA $CA + JSL L010B98 + BEQ L070EE6 + BVS L070ECA + EOR #$8000 +L070ECA BPL L070EE6 + PHX + PHA + _GetTick + BCS L070EDA + LDA #$0000 +L070EDA STAL L0B0002 + PLA + PLX + STX $CC + STA $CA + BRA L070E83 +L070EE6 PEI $D6 + LDA $DC + LDX #$0000 + TAY + BPL L070EF1 + DEX +L070EF1 STX $E4 + ASL + ROL $E4 + ASL + ROL $E4 + LDX $E4 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $E0 + STX $E2 + LDA [$E0] + LSR + LSR + LSR + LSR + LSR + LSR + LSR + LSR + AND #$007F + PHA + _NoteOff + BCS L070F25 + LDA #$0000 +L070F25 STAL L0B0002 +L070F29 PHX + PHA + _TickCount + BCS L070F37 + LDA #$0000 +L070F37 STAL L0B0002 + PLA + PLX + STX $D4 + STA $D2 +L070F41 LDA $EF + LDX #$0000 + PHX + PHA + PHX + PHA + _TickCount + BCS L070F56 + LDA #$0000 +L070F56 STAL L0B0002 + PLA + PLX + SEC + SBC $D2 + PHA + TXA + SBC $D4 + TAX + PLA + JSL L010B98 + BEQ L070F6F + BCC L070F6F + BRA L070F41 +L070F6F PHA + PEA $046E + PEA ^L0C1A7A + PEA L0C1A7A + _EventAvail + BCS L070F85 + LDA #$0000 +L070F85 STAL L0B0002 + PLA + TAY + BNE L070F90 + BRL L0710D8 +L070F90 LDA $F3 + SEC + SBC #$0005 + BEQ L070FA2 + BVS L070F9D + EOR #$8000 +L070F9D BPL L070FA2 + BRL L0710D8 +L070FA2 STZ L0B00CB + LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA $F1 + CMP #$001B + BNE L070FEA + LDA L0B00B2 + AND #$00FF + CMP #$001B + BNE L070FEA + LDA $F3 + CMP #$0003 + BEQ L070FF4 +L070FEA PEA $0004 + JSL L060851 + PLY + BRA L07100F +L070FF4 PHA + PEA $046E + PEA ^L0C1A7A + PEA L0C1A7A + _GetNextEvent + BCS L07100A + LDA #$0000 +L07100A STAL L0B0002 + PLA +L07100F LDA $F3 + BRL L071088 +L071014 LDAL L0C1A7A + CMP #$0003 + BNE L071033 + LDA $F1 + LDX #$0000 + PHX + PHA + LDAL L0C1A7E + TAX + LDAL L0C1A7C + JSL L010B98 + BEQ L071038 +L071033 LDA #$0000 + BRA L07103B +L071038 LDA #$0001 +L07103B STA $D8 + BRL L071096 +L071040 LDAL L0C1A7A + CMP #$0002 + BEQ L07104E + LDA #$0000 + BRA L071051 +L07104E LDA #$0001 +L071051 STA $D8 + BRL L071096 +L071056 LDA L0B0078 + SEC + SBC #$0000 + BEQ L071066 + BVS L071064 + EOR #$8000 +L071064 BMI L07106B +L071066 LDA #$0000 + BRA L07106E +L07106B LDA #$0001 +L07106E STA $D8 + BRL L071096 +L071073 LDA #$0001 + STA $D8 + BRL L071096 +L07107B BRL L071096 +L07107E DA L071056 + DA L071040 + DA L071014 + DA L071073 + DA L07107B +L071088 DEC + CMP #$0004 + BCC L071091 + LDA #$0004 +L071091 ASL + TAX + JMP (L07107E,X) + +L071096 LDA $D8 + BNE L0710AA + LDA L0B0078 + CMP #$0001 + BEQ L0710AA + LDA L0B0078 + CMP #$0002 + BNE L0710B3 +L0710AA LDA #$0001 + STA $DE + BRA L0710F9 + BRA L0710D6 +L0710B3 PEI $F3 + JSL L06145F + PLY + JSL L0311DD + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L0710D1 + LDA #$0000 +L0710D1 STAL L0B0002 + PLA +L0710D6 BRA L0710E4 +L0710D8 JSL L0612DE + TAY + BEQ L0710E4 + LDA #$0001 + STA $DE +L0710E4 INC $DC +L0710E6 LDA $EB + SEC + SBC #$0001 + SEC + SBC $DC + BVS L0710F4 + EOR #$8000 +L0710F4 BPL L0710F9 + BRL L070697 +L0710F9 LDA $DE + BNE L071104 + LDA $F1 + BEQ L071104 + BRL L070692 +L071104 JSL L0503D4 + TAY + BNE L07112B + _AllNotesOff + BCS L071117 + LDA #$0000 +L071117 STAL L0B0002 + _StopInts + BCS L071127 + LDA #$0000 +L071127 STAL L0B0002 +L07112B STZ L0B00AE + TSC + CLC + ADC #$003E + TCS + PLD + RTL + +L071136 ENT + PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$008A + TCS + LDX #$0000 + TDC + CLC + ADC #$00E2 + STX $DC + STA $DA + LDX #$0000 + TDC + CLC + ADC #$00BE + STX $C4 + STA $C2 + LDX $F7 + LDA $F5 + STX $A8 + STA $A6 + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDA [$EA] + AND #$00FF + AND #$0080 + CMP #$0000 + BEQ L071181 + LDA #$0004 + STA $D2 + BRA L071186 +L071181 LDA #$0002 + STA $D2 +L071186 LDA $D2 + PHA + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + SEC + JSL L01092D + PLY + CLC + ADC #$0001 + STAL L0C0C38 + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0001 + LDA [$EA],Y + AND #$00FF + CLC + ADC #$0001 + PHA + LDAL L0C0C38 + CLC + JSL L010AAE + PLA + STA $CC + LDX L0B0048 + LDA L0B0046 + PHX + PHA + JSL L04023C + PLY + PLY + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L04023C + PLY + PLY + PEA ^L0C0C32 + PEA L0C0C32 + PEA ^L0B002A + PEA L0B002A + JSL L030D54 + PLY + PLY + PLY + PLY + _CompactMem + BCS L071209 + LDA #$0000 +L071209 STAL L0B0002 + PEI $CC + PEA ^L0C0C32 + PEA L0C0C32 + PEA ^L0B002A + PEA L0B002A + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L071236 + LDA #$0000 +L071236 STAL L0B0002 + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0001 + LDA [$EA],Y + AND #$00FF + CLC + ADC #$0024 + LDX #$0000 + TAY + BPL L071259 + DEX +L071259 STX $B8 + STA $B6 + STZ $E6 + STZ $E0 + BRA L07129D +L071263 LDA $E0 + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDX $EC + LDA #$0024 + CLC + ADC $EA + BCC L071281 + INX +L071281 JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + AND #$00FF + PHA + LDA $E6 + PLX + STX $EE + CLC + ADC $EE + STA $E6 + INC $E0 +L07129D LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0001 + LDA [$EA],Y + AND #$00FF + SEC + SBC $E0 + BEQ L0712BD + BVS L0712BB + EOR #$8000 +L0712BB BMI L071263 +L0712BD LDA $CC + CLC + ADC #$00C8 + STA [$DA] + LDAL L0C0C36 + TAX + LDAL L0C0C34 + LDY #$0002 + PHA + TXA + STA [$C2],Y + PLA + STA [$C2] + PEI $F7 + PEI $F5 + _HLock + BCS L0712E8 + LDA #$0000 +L0712E8 STAL L0B0002 + PHA + LDY #$0002 + LDA [$F5],Y + TAX + LDA [$F5] + CLC + ADC $B6 + PHA + TXA + ADC $B8 + TAX + PLA + PHX + PHA + PEI $E6 + PEI $C4 + PEI $C2 + PEI $DC + PEI $DA + _UnPackBytes + BCS L071316 + LDA #$0000 +L071316 STAL L0B0002 + PLA + STA $E4 + PEI $F7 + PEI $F5 + _HUnlock + BCS L07132D + LDA #$0000 +L07132D STAL L0B0002 + LDA $FB + BNE L071338 + BRL L07157B +L071338 PEI $F9 + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + PEI $FF + PEI $FD + JSL L071583 + PLY + PLY + PLY + PLY + PLY + LDA #L0C0CDC + LDX #^L0C0CDC + PHX + PHA + PEA ^L0C0E30 + PEA L0C0E30 + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $D2 + PHA + LDA $D0 + LDX #$0000 + TAY + BPL L071376 + DEX +L071376 STX $EE + ASL + ROL $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + PHA + LDA $D0 + LDX #$0000 + TAY + BPL L0713A2 + DEX +L0713A2 STX $EE + ASL + ROL $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0006 + LDA [$EA],Y + PLX + STX $EE + SEC + SBC $EE + SEC + JSL L01092D + PLY + CLC + ADC #$0002 + STA $CE + LDA $CE + STAL L0C0E36 + LDA $CE + CLC + ADC #$0001 + PHA + LDA $D0 + LDX #$0000 + TAY + BPL L0713EC + DEX +L0713EC STX $EE + ASL + ROL $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA [$EA] + PHA + LDA $D0 + LDX #$0000 + TAY + BPL L071415 + DEX +L071415 STX $EE + ASL + ROL $EE + ASL + ROL $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDY #$0004 + LDA [$EA],Y + PLX + STX $EE + SEC + SBC $EE + SEC + JSL L010AAE + PLA + STA $CA + LDA #L0C0C32 + LDX #^L0C0C32 + PHX + PHA + PEA ^L0C0D86 + PEA L0C0D86 + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEI $CA + PEA ^L0C0E30 + PEA L0C0E30 + PEA ^L0B0046 + PEA L0B0046 + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + PEI $CC + PEA ^L0C0D86 + PEA L0C0D86 + PEA ^L0B0042 + PEA L0B0042 + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + LDA $FB + CMP #$0001 + BEQ L071497 + BRL L071565 +L071497 LDA #$0000 + STA $8E + LDA #$0000 + STA $8C + PEA $0000 + TDC + CLC + ADC #$00AA + PHA + PEA $0000 + PEA $0000 + LDA $D2 + PHA + LDA #$0004 + SEC + JSL L01092D + PLY + PHA + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + SEC + SBC #$0001 + SEC + JSL L010AAE + LDY #$0002 + LDA [$A6],Y + TAX + LDA [$A6] + STA $EA + STX $EC + LDY #$0001 + LDA [$EA],Y + AND #$00FF + SEC + SBC #$0001 + PHA + _SetRect + BCS L0714FC + LDA #$0000 +L0714FC STAL L0B0002 + LDX #$0000 + TDC + CLC + ADC #$008C + STX $9E + STA $9C + LDA #$0000 + STA $A0 + LDAL L0C0CF6 + TAX + LDAL L0C0CF4 + STX $A4 + STA $A2 + LDA #L0C0C32 + LDX #^L0C0C32 + STX $92 + STA $90 + LDA #L0C0D86 + LDX #^L0C0D86 + STX $96 + STA $94 + LDX #$0000 + TDC + CLC + ADC #$00AA + STX $9A + STA $98 + PEA $0000 + TDC + CLC + ADC #$0090 + PHA + _PaintPixels + BCS L071553 + LDA #$0000 +L071553 STAL L0B0002 + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L071684 + PLY + PLY +L071565 PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L071577 + LDA #$0000 +L071577 STAL L0B0002 +L07157B TSC + CLC + ADC #$0064 + TCS + PLD + RTL + +L071583 PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E6 + TCS + LDA #$0000 + STA [$FB] + LDA #$0001 + STA $EA + BRL L071647 +L07159B LDA $EA + LDX #$0000 + TAY + BPL L0715A4 + DEX +L0715A4 STX $F0 + ASL + ROL $F0 + ASL + ROL $F0 + ASL + ROL $F0 + LDX $F0 + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA $EC + LDX $EE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L07165E + PLY + PLY + PLY + PLY + PHA + LDA [$FB] + LDX #$0000 + TAY + BPL L0715F1 + DEX +L0715F1 STX $F0 + ASL + ROL $F0 + ASL + ROL $F0 + ASL + ROL $F0 + LDX $F0 + PHX + PHA + LDX $F9 + LDA $F7 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA $EC + LDX $EE + TAY + TSC + SEC + SBC #$0008 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0008 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L07165E + PLY + PLY + PLY + PLY + PLX + STX $EC + SEC + SBC $EC + BVS L07163F + EOR #$8000 +L07163F BMI L071645 + LDA $EA + STA [$FB] +L071645 INC $EA +L071647 LDA $EA + SEC + SBC $FF + BVS L071651 + EOR #$8000 +L071651 BMI L071656 + BRL L07159B +L071656 TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L07165E PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDA $FD + SEC + SBC $F9 + PHA + LDA $FF + SEC + SBC $FB + SEC + JSL L010AAE + PLA + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L071684 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + JSL L0401D9 + PLY + PLY + TAY + BNE L07169F + BRL L07180A +L07169F PEI $FF + PEI $FD + _HLock + BCS L0716AF + LDA #$0000 +L0716AF STAL L0B0002 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STX $EC + STA $EA + PHX + PHA + PEI $FF + PEI $FD + _GetHandleSize + BCS L0716D1 + LDA #$0000 +L0716D1 STAL L0B0002 + PLA + PLX + STA $F0 + STZ $EE + BRL L0717FB +L0716DE LDA $EE + LDX #$0000 + TAY + BPL L0716E7 + DEX +L0716E7 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + BNE L071701 + BRL L0717F9 +L071701 LDA $EE + LDX #$0000 + TAY + BPL L07170A + DEX +L07170A PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + SEC + SBC #$0010 + BVS L071728 + EOR #$8000 +L071728 BMI L07176F + LDA $EE + LDX #$0000 + TAY + BPL L071733 + DEX +L071733 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + ORA #$000F + PHA + LDA $EE + LDX #$0000 + TAY + BPL L071755 + DEX +L071755 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 + BRL L0717F9 +L07176F LDA $EE + LDX #$0000 + TAY + BPL L071778 + DEX +L071778 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + AND #$000F + TAY + BEQ L0717B7 + LDA $EE + LDX #$0000 + TAY + BPL L07179C + DEX +L07179C PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$00FF + SEP #$20 + STA [$F2] + REP #$20 + BRA L0717F9 +L0717B7 LDA $EE + LDX #$0000 + TAY + BPL L0717C0 + DEX +L0717C0 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00FF + ORA #$00F0 + PHA + LDA $EE + LDX #$0000 + TAY + BPL L0717E2 + DEX +L0717E2 PHX + PHA + LDX $EC + LDA $EA + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + PLA + SEP #$20 + STA [$F2] + REP #$20 +L0717F9 INC $EE +L0717FB LDA $EE + SEC + SBC $F0 + BVS L071805 + EOR #$8000 +L071805 BMI L07180A + BRL L0716DE +L07180A TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L071812 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F0 + TCS + JSL L03117F + PEA $0080 + PEA $000C + PEA $0000 + JSL L0321FD + PLY + PLY + PLY + _DrawMenuBar + BCS L07183D + LDA #$0000 +L07183D STAL L0B0002 + _InitPalette + BCS L07184D + LDA #$0000 +L07184D STAL L0B0002 + STZ $F4 + BRA L0718A5 +L071855 STZ $F2 + BRA L071894 +L071859 PEI $F4 + PEI $F2 + PEA $0000 + _SetColorEntry + BCS L07186C + LDA #$0000 +L07186C STAL L0B0002 + PEI $F4 + LDA $F2 + CLC + ADC #$0003 + PHA + PEA $0FFF + _SetColorEntry + BCS L071888 + LDA #$0000 +L071888 STAL L0B0002 + LDA $F2 + CLC + ADC #$0004 + STA $F2 +L071894 LDA $F2 + SEC + SBC #$000F + BEQ L071859 + BVS L0718A1 + EOR #$8000 +L0718A1 BPL L071859 + INC $F4 +L0718A5 LDA $F4 + SEC + SBC #$0006 + BEQ L071855 + BVS L0718B2 + EOR #$8000 +L0718B2 BPL L071855 + JSL L0718C4 + JSL L0311AA + TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L0718C4 PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA #L0C0256 + LDX #^L0C0256 + STX L0B00DF + STA L0B00DD + LDA #L0C019E + LDX #^L0C019E + STX L0B00DB + STA L0B00D9 + JSL L031208 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0718F3 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA #L0C00E6 + LDX #^L0C00E6 + STX L0B00DF + STA L0B00DD + LDA #L0C002E + LDX #^L0C002E + STX L0B00DB + STA L0B00D9 + JSL L031208 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + diff --git a/yourtour/SIX.X.S b/yourtour/SIX.X.S new file mode 100644 index 0000000..7dbc9f4 --- /dev/null +++ b/yourtour/SIX.X.S @@ -0,0 +1,78 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L010B98 + EXT L0B0002 + EXT L021DFD + EXT L025330 + EXT L01092D + EXT L010DD9 + EXT L010AAE + EXT L03117F + EXT L0311AA + EXT L010BC3 + EXT L061079 + EXT L060851 + EXT L0321FD + EXT L040E53 + EXT L040000 + EXT L04023C + EXT L06145F + EXT L031208 + EXT L0B0078 + EXT L0B0070 + EXT L0B0072 + EXT L0B00B2 + EXT L0C1A7A + EXT L0C1AB2 + EXT L0C0CDC + EXT L030D03 + EXT L030D54 + EXT L0311DD + EXT L0C0CF6 + EXT L0C0CF4 + EXT L0612DE + EXT L0B00DF + EXT L0B00DD + EXT L0B00DB + EXT L0B00D9 + EXT L0B0042 + EXT L0B0044 + EXT L0C0C32 + EXT L0C00E6 + EXT L0503D4 + EXT L0B00B9 + EXT L0B00AE + EXT L0C2156 + EXT L0C1A7E + EXT L0C1A7C + EXT L0B00CB + EXT L0C0C38 + EXT L0C0C36 + EXT L0C0C34 + EXT L0C0E36 + EXT L0401D9 + EXT L0B00B7 + EXT L0B004C + EXT L0B004A + EXT L0B0050 + EXT L0B004E + EXT L0B0048 + EXT L0B0046 + EXT L0B002A + EXT L0C251F + EXT L0C11EE + EXT L0C1A52 + EXT L0C2525 + EXT L0C2529 + EXT L0C2530 + EXT L0C2538 + EXT L0C0E30 + EXT L0C0D86 + EXT L0C0256 + EXT L0C019E + EXT L0C002E diff --git a/yourtour/THREE.E.S b/yourtour/THREE.E.S new file mode 100644 index 0000000..334ca97 --- /dev/null +++ b/yourtour/THREE.E.S @@ -0,0 +1,6 @@ + +* TFBD generated equates +* (c) PHC 1992,93 + + +GSOS2 EQU $E100B0 diff --git a/yourtour/THREE.S b/yourtour/THREE.S new file mode 100644 index 0000000..8837569 --- /dev/null +++ b/yourtour/THREE.S @@ -0,0 +1,4034 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use THREE.E + use THREE.X + + use 4/Event.Macs + use 4/Load.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/NoteSeq.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Util.Macs + +*------------------------------- + +L040000 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E0 + TCS + STZ $E8 + STZ $EA + PEI $F9 + PEI $F7 + JSL L04023C + PLY + PLY + _CompactMem + BCS L040025 + LDA #$0000 +L040025 STAL L0B0002 + PEI $FD + PEI $FB + LDA L0B0066 + PHA + PEI $FF + PEA $0000 + PEA $0000 + PEI $F9 + PEI $F7 + _ReallocHandle + BCS L040049 + LDA #$0000 +L040049 STAL L0B0002 + LDA L0B0002 + STA $E2 + LDA $E2 + CMP #$0201 + BEQ L04005C + BRL L0401CB +L04005C LDA #$0033 + STA $E6 +L040061 STZ $E4 + BRL L04014C +L040066 LDA $E4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA [$EC] + CMP $E6 + BEQ L040090 + BRL L04014A +L040090 PEA ^L0C261F + PEA L0C261F + LDA $E4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA $EC + LDX $EE + CLC + ADC #$0006 + BCC L0400C2 + INX +L0400C2 PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0400D2 + BRL L04014A +L0400D2 LDA $E4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDY #$0004 + LDA [$EC],Y + TAX + LDY #$0002 + LDA [$EC],Y + PHX + PHA + JSL L04023C + PLY + PLY + PEA $019B + JSL L021DFD + PLY + PEA ^L0C2620 + PEA L0C2620 + LDA $E4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EC + STX $EE + LDA $EC + LDX $EE + CLC + ADC #$0006 + BCC L040140 + INX +L040140 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY +L04014A INC $E4 +L04014C LDA $E4 + SEC + SBC #$0032 + BVS L040157 + EOR #$8000 +L040157 BMI L04015C + BRL L040066 +L04015C _CompactMem + BCS L040168 + LDA #$0000 +L040168 STAL L0B0002 + DEC $E6 + PHX + PHA + _MaxBlock + BCS L04017C + LDA #$0000 +L04017C STAL L0B0002 + LDX $FD + LDA $FB + JSL L010B98 + BCS L04019A + LDA $E6 + SEC + SBC #$0000 + BVS L040195 + EOR #$8000 +L040195 BPL L04019A + BRL L040061 +L04019A PEI $FD + PEI $FB + LDA L0B0066 + PHA + PEI $FF + PEA $0000 + PEA $0000 + PEI $F9 + PEI $F7 + _ReallocHandle + BCS L0401BA + LDA #$0000 +L0401BA STAL L0B0002 + LDA L0B0002 + STA $E2 + PEA $01A4 + JSL L021DFD + PLY +L0401CB LDX $EA + LDA $E8 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PLD + RTL + +L0401D9 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + STZ $F0 + PEI $FF + PEI $FD + _CheckHandle + BCS L0401F6 + LDA #$0000 +L0401F6 STAL L0B0002 + LDA L0B0002 + BNE L040230 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + STX $F2 + ORA $F2 + BEQ L040230 + PHX + PHA + PEI $FF + PEI $FD + _GetHandleSize + BCS L04021F + LDA #$0000 +L04021F STAL L0B0002 + PLA + PLX + STX $F2 + ORA $F2 + BEQ L040230 + LDA #$0001 + STA $F0 +L040230 LDA $F0 + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L04023C ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + PEI $FF + PEI $FD + _HUnlock + BCS L040257 + LDA #$0000 +L040257 STAL L0B0002 + PEA $01F1 + JSL L021DFD + PLY + PEA $0001 + PEI $FF + PEI $FD + _SetPurge + BCS L040276 + LDA #$0000 +L040276 STAL L0B0002 + PEA $01F2 + JSL L021DFD + PLY + PEI $FF + PEI $FD + _PurgeHandle + BCS L040292 + LDA #$0000 +L040292 STAL L0B0002 + PEA $01F3 + JSL L021DFD + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0402A6 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EE + TCS + PHA + PHA + PHA + LDA $FF + PHA + LDA $FD + PHA + _UnloadSeg + BCC L0402C6 + STA L0B0002 +L0402C6 PLA + PLA + PLA + STA $F0 + PEA $000A + JSL L021DFD + PLY + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0402DB ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00E2 + TCS + PEA $0000 + PEA $0800 + PEI $FB + PEI $F9 + JSL L025194 + PLY + PLY + PLY + PLY + LDAL L0C0FEE + STA $E4 + LDA $F7 + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + LDX #$0000 + TAY + BPL L040311 + DEX +L040311 STX $E8 + STA $E6 + JSL L050FB3 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0016 + LDX #$0000 + JSL GSOS2 + BCS L040331 + LDA #$0000 +L040331 STAL L0B0002 + PEA $01FF + JSL L021DFD + PLY + LDX $FB + LDA $F9 + PHA + TXA + STAL L0C0FF2 + PLA + STAL L0C0FF0 + LDX #$0000 + LDA #$0800 + PHA + TXA + STAL L0C0FF6 + PLA + STAL L0C0FF4 + PEA ^L0C0FEE + PEA L0C0FEE + PEA $0012 + LDX #$0000 + JSL GSOS2 + BCS L040372 + LDA #$0000 +L040372 STAL L0B0002 + PEA $0200 + JSL L021DFD + PLY + LDA $F7 + STA L0B006C + LDA #$0000 + STA [$FD] + TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L040390 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + STZ $EC + PEI $FF + PEI $FD + LDX $FB + LDA $F9 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDX $FB + LDA $F9 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + PEA ^L0C2621 + PEA L0C2621 + JSL L025330 + PLY + PLY + PLY + PLY + LDX $FB + LDA $F9 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010D87 + PLY + PLY + SEP #$20 + STA [$F9] + REP #$20 + PEI $FB + PEI $F9 + JSL $040961 + PLY + PLY + STA $EC + TAY + BNE L04044B + PEI $FF + PEI $FD + LDX $FB + LDA $F9 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDX $FB + LDA $F9 + CLC + ADC #$0001 + PHA + TXA + ADC #$0000 + TAX + PLA + PHX + PHA + JSL L010D87 + PLY + PLY + SEP #$20 + STA [$F9] + REP #$20 + PEI $FB + PEI $F9 + JSL $040961 + PLY + PLY + STA $EC +L04044B LDA $EC + BEQ L040457 + LDAL L0C0FFC + STAL L0C0FEE +L040457 LDA $EC + TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L040463 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00BE + TCS + PEA ^L0C262A + PEA L0C262A + PEA ^L0C1124 + PEA L0C1124 + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ L0B0068 + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L040390 + PLY + PLY + PLY + PLY + TAY + BNE L0404C0 + PEA $0000 + PEA $0800 + PEA ^L0C1252 + PEA L0C1252 + JSL L025194 + PLY + PLY + PLY + PLY + STZ L0B006A + STZ L0B006C + LDA #$0001 + STA L0B0088 + BRL L040500 +L0404C0 STZ L0B006C + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + PEA ^L0C1221 + PEA L0C1221 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $C0 + SEP #$20 + STAL L0C1220 + REP #$20 + PEA ^L0B006A + PEA L0B006A + PEA ^L0C1252 + PEA L0C1252 + LDA L0B006C + PHA + JSL L0402DB + PLY + PLY + PLY + PLY + PLY + STZ L0B0088 +L040500 TSC + CLC + ADC #$0038 + TCS + PLD + RTL + +L040508 ENT + PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00E2 + TCS + LDA #$0001 + SEP #$20 + STA $E4 + REP #$20 + LDA #$0000 + STA [$FD] +L040521 LDA $E4 + AND #$00FF + BNE L04052B + BRL L040611 +L04052B LDA [$F5] + SEC + SBC #$0800 + BVS L040536 + EOR #$8000 +L040536 BPL L040557 + LDA L0B006C + CLC + ADC #$0004 + STA L0B006C + PEI $F7 + PEI $F5 + PEI $F3 + PEI $F1 + LDA L0B006C + PHA + JSL L0402DB + PLY + PLY + PLY + PLY + PLY +L040557 LDA [$F5] + LDX #$0000 + TAY + BPL L040560 + DEX +L040560 PHX + PHA + LDX $F3 + LDA $F1 + JSL L010922 + PLA + PLX + STA $E6 + STX $E8 + LDA [$E6] + SEP #$20 + STA $E5 + REP #$20 + LDA $E5 + AND #$00FF + AND #$0080 + TAY + BEQ L0405A8 + LDX $FB + LDA $F9 + INC $F9 + BNE L04058D + INC $FB +L04058D STA $E6 + STX $E8 + LDA #$0020 + SEP #$20 + STA [$E6] + REP #$20 + LDA $E5 + AND #$00FF + AND #$FF7F + SEP #$20 + STA $E5 + REP #$20 +L0405A8 LDA $E5 + AND #$00FF + CMP #$0000 + BNE L0405C9 + SEP #$20 + STZ $E4 + REP #$20 + LDA #$0000 + SEP #$20 + STA [$F9] + REP #$20 + LDA #$0001 + STA L0B0088 + BRA L04060E +L0405C9 LDA $E5 + AND #$00FF + CMP #$000D + BEQ L0405DD + LDA $E5 + AND #$00FF + CMP #$000A + BNE L0405F3 +L0405DD SEP #$20 + STZ $E4 + REP #$20 + LDA #$0000 + SEP #$20 + STA [$F9] + REP #$20 + LDA [$F5] + INC + STA [$F5] + BRA L04060E +L0405F3 LDX $FB + LDA $F9 + INC $F9 + BNE L0405FD + INC $FB +L0405FD STA $E6 + STX $E8 + LDA $E5 + SEP #$20 + STA [$E6] + REP #$20 + LDA [$F5] + INC + STA [$F5] +L04060E BRL L040521 +L040611 TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L040619 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B0088 + BNE L04064D + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + PEA ^L0B006A + PEA L0B006A + PEA ^L0C1252 + PEA L0C1252 + JSL L040508 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA +L04064D TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L040655 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + LDX #$0000 + TAY + BPL L040674 + DEX +L040674 PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010B98 + BEQ L04068B + BVS L040689 + EOR #$8000 +L040689 BMI L0406BA +L04068B LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + CLC + ADC #$0800 + LDX #$0000 + TAY + BPL L0406A3 + DEX +L0406A3 PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010B98 + BEQ L0406BA + BVS L0406B8 + EOR #$8000 +L0406B8 BMI L0406E2 +L0406BA PEA ^L0B006A + PEA L0B006A + PEA ^L0C1252 + PEA L0C1252 + LDA #$0200 + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + SEC + JSL L01092D + PLY + PHA + JSL L0402DB + PLY + PLY + PLY + PLY + PLY +L0406E2 LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + LDX #$0000 + TAY + BPL L0406F6 + DEX +L0406F6 PHX + PHA + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + JSL L010AA3 + PLA + PLX + STA L0B006A + PEA ^L0C262B + PEA L0C262B + PEA ^L0C1124 + PEA L0C1124 + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ L0B0068 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L040728 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00EA + TCS + LDA L0B008A + BEQ L04073C + JSL L03096B +L04073C STZ L0B006E + PEA $0000 + PEA $00B4 + PEA ^L0C1006 + PEA L0C1006 + JSL L025194 + PLY + PLY + PLY + PLY + PEA $0000 + PEA $0004 + PEA ^L0B005A + PEA L0B005A + JSL L025194 + PLY + PLY + PLY + PLY + PEA $0000 + PEA $0004 + PEA ^L0B005E + PEA L0B005E + JSL L025194 + PLY + PLY + PLY + PLY + LDA #$0001 + STA L0B0096 + LDA #$0001 + STA L0B009A + LDA #$0001 + STA L0B009C + LDA #$0001 + STA L0B0092 + JSL L0503D4 + TAY + BEQ L0407AD + PEA $0000 + _StopSeq + BCS L0407A9 + LDA #$0000 +L0407A9 STAL L0B0002 +L0407AD LDA L0B008E + BEQ L0407B9 + JSL L030EB7 + STZ L0B008E +L0407B9 STZ $F0 + BRA L0407EF +L0407BD PEA $0007 + PEI $F0 + PEA $0000 + _SetColorEntry + BCS L0407D1 + LDA #$0000 +L0407D1 STAL L0B0002 + PEA $0008 + PEI $F0 + PEA $0000 + _SetColorEntry + BCS L0407E9 + LDA #$0000 +L0407E9 STAL L0B0002 + INC $F0 +L0407EF LDA $F0 + SEC + SBC #$0010 + BVS L0407FA + EOR #$8000 +L0407FA BPL L0407BD + PEA $0087 + LDA L0B00B9 + PHA + PEA $0000 + JSL L0321FD + PLY + PLY + PLY + PEA $0001 + JSL L030F81 + PLY + LDAL L0C0FEE + BEQ L04083B + PEA ^L0C0FEE + PEA L0C0FEE + PEA $0014 + LDX #$0000 + JSL GSOS2 + BCS L040830 + LDA #$0000 +L040830 STAL L0B0002 + LDA #$0000 + STAL L0C0FEE +L04083B PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0000 + PEA $0000 + PEA $0000 + _NewHandle + BCS L04085C + LDA #$0000 +L04085C STAL L0B0002 + PLA + PLX + STX $EE + STA $EC + PEA $4556 + JSL L021DFD + PLY + LDA L0B00A6 + BNE L040876 + BRL L040925 +L040876 PEI $FF + PEI $FD + JSL L0242F7 + PLY + PLY + PEA ^L0C262C + PEA L0C262C + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0408D4 + LDA L0B00A8 + BEQ L0408D1 + PEA ^L0E004A + PEA L0E004A + JSL L0402A6 + PLY + PLY + STZ L0B00A8 + PEA $0100 + PEA $0000 + PEA $4200 + PEI $EE + PEI $EC + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $EE + PEI $EC + JSL L04023C + PLY + PLY + PEA $4557 + JSL L021DFD + PLY +L0408D1 BRL L040925 +L0408D4 PEA ^L0C2633 + PEA L0C2633 + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L040925 + LDA L0B00AA + BEQ L040925 + PEA ^L0E0074 + PEA L0E0074 + JSL L0402A6 + PLY + PLY + STZ L0B00AA + PEA $0100 + PEA $0000 + PEA $6200 + PEI $EE + PEI $EC + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $EE + PEI $EC + JSL L04023C + PLY + PLY + PEA $455F + JSL L021DFD + PLY +L040925 PEA $0100 + PEA $0000 + PEA $6200 + PEI $EE + PEI $EC + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $EE + PEI $EC + _DisposeHandle + BCS L04094B + LDA #$0000 +L04094B STAL L0B0002 + PEI $FF + PEI $FD + JSL L040463 + PLY + PLY + TSC + CLC + ADC #$000C + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00BC + TCS + STZ $BE + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2638 + PEA L0C2638 + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L0252AD + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L010D87 + PLY + PLY + SEP #$20 + STA $C0 + REP #$20 + LDX #$0000 + TDC + CLC + ADC #$00C0 + PHA + TXA + STAL L0C1000 + PLA + STAL L0C0FFE + PEA ^L0C0FFC + PEA L0C0FFC + PEA $0010 + LDX #$0000 + JSL GSOS2 + BCS L0409D7 + LDA #$0000 +L0409D7 STAL L0B0002 + LDA L0B0002 + STA $BE + TAY + BNE L0409E6 + BRL L040A45 +L0409E6 PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00C0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C263D + PEA L0C263D + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L0252AD + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00C1 + PHA + JSL L010D87 + PLY + PLY + SEP #$20 + STA $C0 + REP #$20 + PEA ^L0C0FFC + PEA L0C0FFC + PEA $0010 + LDX #$0000 + JSL GSOS2 + BCS L040A3C + LDA #$0000 +L040A3C STAL L0B0002 + LDA L0B0002 + STA $BE +L040A45 LDA $BE + BEQ L040A4E + LDA #$0000 + BRA L040A51 +L040A4E LDA #$0001 +L040A51 TAY + TSC + CLC + ADC #$003A + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00B0 + TCS + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00B2 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00B2 + PHA + JSL L0244F2 + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$00B2 + STX $E8 + STA $E6 + JSL L050FB3 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0010 + LDX #$0000 + JSL GSOS2 + BCS L040AB2 + LDA #$0000 +L040AB2 STAL L0B0002 + LDA L0B0002 + CMP #$0000 + BNE L040AC8 + LDA $E4 + STA [$F9] + LDA [$F9] + BRA L040AD5 + BRA L040AD5 +L040AC8 LDA L0B0002 + BEQ L040AD2 + LDA #$0000 + BRA L040AD5 +L040AD2 LDA #$0001 +L040AD5 TAY + TSC + CLC + ADC #$0042 + TCS + TYA + PLD + RTL + +L040ADF ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00A2 + TCS + STZ $A6 + LDA #$FFFF + STA $A4 + PEA ^L0C2641 + PEA L0C2641 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2646 + PEA L0C2646 + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C264B + PEA L0C264B + PEA $0000 + TDC + CLC + ADC #$00E6 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FD + PEI $FB + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FF + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + PEI $F9 + PEI $F7 + JSL $040C05 + PLY + PLY + PLY + PLY + PLY + STA $A4 + LDA $A4 + BNE L040BE0 + STZ $A6 +L040B6B LDA $A6 + SEC + SBC #$0003 + BVS L040B76 + EOR #$8000 +L040B76 BMI L040BE0 + LDA $A4 + BNE L040BE0 + PEI $FD + PEI $FB + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + LDA $A6 + PHA + LDA #$0006 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00DA + JSL L010922 + JSL L025330 + PLY + PLY + PLY + PLY + TAY + BEQ L040BDC + PEI $FF + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + PEI $F9 + PEI $F7 + JSL $040C05 + PLY + PLY + PLY + PLY + PLY + STA $A4 +L040BDC INC $A6 + BRA L040B6B +L040BE0 LDA $A4 + BEQ L040BF9 + PEA $0000 + TDC + CLC + ADC #$00A8 + PHA + PEI $FD + PEI $FB + JSL L0110F7 + PLY + PLY + PLY + PLY +L040BF9 LDA $A4 + TAY + TSC + CLC + ADC #$004E + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$004B + TCS + LDA $FF + BEQ L040C18 + STZ $E2 + BRA L040C1D +L040C18 LDA #$0001 + STA $E2 +L040C1D PEA ^L0C2651 + PEA L0C2651 + PEA $0000 + TDC + CLC + ADC #$004D + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2657 + PEA L0C2657 + PEA $0000 + TDC + CLC + ADC #$0056 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C265C + PEA L0C265C + PEA $0000 + TDC + CLC + ADC #$005F + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C265D + PEA L0C265D + PEA $0000 + TDC + CLC + ADC #$0068 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2664 + PEA L0C2664 + PEA $0000 + TDC + CLC + ADC #$0071 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C266A + PEA L0C266A + PEA $0000 + TDC + CLC + ADC #$007A + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C266B + PEA L0C266B + PEA $0000 + TDC + CLC + ADC #$0083 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2671 + PEA L0C2671 + PEA $0000 + TDC + CLC + ADC #$008C + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C2677 + PEA L0C2677 + PEA $0000 + TDC + CLC + ADC #$0095 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C267D + PEA L0C267D + PEA $0000 + TDC + CLC + ADC #$009E + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA ^L0C267E + PEA L0C267E + PEA $0000 + TDC + CLC + ADC #$00A7 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FD + PEI $FB + JSL L0242F7 + PLY + PLY + STZ $E8 + LDA #$000A + STA $E4 + PEI $FD + PEI $FB + PEA ^L0C2684 + PEA L0C2684 + JSL L025330 + PLY + PLY + PLY + PLY + TAY + BEQ L040D43 + BRL L040D88 +L040D43 LDA [$FB] + AND #$00FF + BRL L040D79 +L040D4B LDA #$0000 + CLC + ADC $E2 + STA $E8 + LDA #$0002 + STA $E4 + BRL L040D88 +L040D5B LDA #$0003 + CLC + ADC $E2 + STA $E8 + LDA #$0007 + STA $E4 + BRL L040D88 +L040D6B LDA #$0008 + STA $E8 + LDA #$000A + STA $E4 + BRA L040D88 + BRA L040D88 +L040D79 CMP #$0064 + BEQ L040D6B + CMP #$0067 + BEQ L040D4B + CMP #$0073 + BEQ L040D5B +L040D88 PEI $FD + PEI $FB + PEA $0000 + TDC + CLC + ADC #$00B0 + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $E8 + PHA + LDA #$0009 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$004D + JSL L010922 + PEA $0000 + TDC + CLC + ADC #$00B0 + PHA + JSL L010CFD + PLY + PLY + PLY + PLY + LDA $FF + BEQ L040DF4 + PEA $0000 + TDC + CLC + ADC #$00B0 + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + JSL $040A5B + PLY + PLY + PLY + PLY + STA $E6 + TAY + BEQ L040DF2 + LDA $EA + STA [$F7] +L040DF2 BRA L040E17 +L040DF4 PEA $0000 + TDC + CLC + ADC #$00B0 + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + JSL $040F12 + PLY + PLY + PLY + PLY + STA $E6 + TAY + BEQ L040E17 + LDA $EA + STA [$F7] +L040E17 INC $E8 + LDA $E8 + SEC + SBC $E4 + BEQ L040E27 + BVS L040E25 + EOR #$8000 +L040E25 BMI L040E2E +L040E27 LDA $E6 + BNE L040E2E + BRL L040D88 +L040E2E LDA $E6 + BEQ L040E47 + PEA $0000 + TDC + CLC + ADC #$00B0 + PHA + PEI $FD + PEI $FB + JSL L0110F7 + PLY + PLY + PLY + PLY +L040E47 LDA $E6 + TAY + TSC + CLC + ADC #$00A5 + TCS + TYA + PLD + RTL + +L040E53 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00B8 + TCS + LDA #$FFFF + STA $BA + PEA $0000 + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00BE + PHA + JSL L040ADF + PLY + PLY + PLY + PLY + PLY + TAY + BEQ L040E91 + LDA $BE + STA $BA + PEA $0000 + PEI $BA + JSL $041131 + PLY + PLY + BRL L040F06 +L040E91 PEA $0001 + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00BC + PHA + JSL L040ADF + PLY + PLY + PLY + PLY + PLY + TAY + BEQ L040F01 + JSL $04100F + STA $BE + PEI $FF + PEI $FD + PEI $BC + PEI $BE + JSL $0412BB + PLY + PLY + PLY + PLY + LDA $BE + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + STA [$F2] + PEI $BE + JSL $04175D + PLY + LDA $BE + STA $BA + PEA $0001 + PEI $BA + JSL $041131 + PLY + PLY + BRA L040F06 +L040F01 LDA #$FFFF + STA $BA +L040F06 LDA $BA + TAY + TSC + CLC + ADC #$003E + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E6 + TCS + LDA #$0000 + STA [$F9] + STZ $EC +L040F24 LDA $EC + BNE L040F87 + LDA [$F9] + SEC + SBC #$0032 + BVS L040F33 + EOR #$8000 +L040F33 BMI L040F87 + LDA [$F9] + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA $EE + LDX $F0 + CLC + ADC #$0006 + BCC L040F61 + INX +L040F61 PHX + PHA + PEI $FF + PEI $FD + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L040F77 + LDA #$0000 + BRA L040F7A +L040F77 LDA #$0001 +L040F7A STA $EC + LDA $EC + BNE L040F85 + LDA [$F9] + INC + STA [$F9] +L040F85 BRA L040F24 +L040F87 LDA $EC + BNE L040F8E + BRL L041003 +L040F8E LDA [$F9] + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0004 + LDA [$EE],Y + TAX + LDY #$0002 + LDA [$EE],Y + PHX + PHA + JSL L0401D9 + PLY + PLY + TAY + BNE L041003 + PEA ^L0C2685 + PEA L0C2685 + LDA [$F9] + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA $EE + LDX $F0 + CLC + ADC #$0006 + BCC L040FF7 + INX +L040FF7 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + STZ $EC +L041003 LDA $EC + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00EA + TCS + LDA #$FFFF + STA $F2 +L04101F INC $F2 + LDA $F2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + TAX + LDY #$0002 + LDA [$F6],Y + PHX + PHA + JSL L0401D9 + PLY + PLY + TAY + BEQ L0410A7 + PEA ^L0C2686 + PEA L0C2686 + LDA $F2 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA $F6 + LDX $F8 + CLC + ADC #$0006 + BCC L04108A + INX +L04108A PHX + PHA + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0410A7 + LDA $F2 + SEC + SBC #$0032 + BVS L0410A2 + EOR #$8000 +L0410A2 BMI L0410A7 + BRL L04101F +L0410A7 LDA $F2 + SEC + SBC #$0032 + BVS L0410B2 + EOR #$8000 +L0410B2 BMI L0410B7 + BRL L041125 +L0410B7 STZ $F0 + STZ $F4 + BRL L041118 +L0410BE LDA $F4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + SEC + SBC $F0 + BEQ L041116 + BVS L0410EB + EOR #$8000 +L0410EB BPL L041116 + LDA $F4 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + STA $F0 + LDA $F4 + STA $F2 +L041116 INC $F4 +L041118 LDA $F4 + SEC + SBC #$0032 + BVS L041123 + EOR #$8000 +L041123 BPL L0410BE +L041125 LDA $F2 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00E8 + TCS + LDA $FF + BEQ L041145 + LDA #$0032 + BRA L041168 +L041145 LDA $FD + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] +L041168 STA $EE + STZ $F0 + BRL L04127D +L04116F LDA $F0 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + PHX + PHA + JSL L0401D9 + PLY + PLY + TAY + BNE L0411A9 + BRL L04123F +L0411A9 PEA $0000 + LDA $F0 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0004 + LDA [$F2],Y + TAX + LDY #$0002 + LDA [$F2],Y + PHX + PHA + _SetPurge + BCS L0411E6 + LDA #$0000 +L0411E6 STAL L0B0002 + LDA $F0 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + SEC + SBC $EE + BVS L041215 + EOR #$8000 +L041215 BMI L04123D + LDA $F0 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + INC + STA [$F2] +L04123D BRA L04127B +L04123F PEA ^L0C2687 + PEA L0C2687 + LDA $F0 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + CLC + ADC #$0006 + BCC L041271 + INX +L041271 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY +L04127B INC $F0 +L04127D LDA $F0 + SEC + SBC #$0032 + BVS L041288 + EOR #$8000 +L041288 BMI L04128D + BRL L04116F +L04128D LDA $FD + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + STA [$F2] + TSC + CLC + ADC #$000E + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00E8 + TCS + PEI $FF + PEI $FD + LDA $F9 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDA $EE + LDX $F0 + CLC + ADC #$0006 + BCC L0412F6 + INX +L0412F6 PHX + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA $F9 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + LDY #$0004 + LDA [$EE],Y + TAX + LDY #$0002 + LDA [$EE],Y + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEI $FB + JSL $04134A + PLY + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$000A + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00CE + TCS + LDA $F7 + STA $E4 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0019 + LDX #$0000 + JSL GSOS2 + BCS L041371 + LDA #$0000 +L041371 STAL L0B0002 + LDX $E8 + LDA $E6 + LDY #$0002 + PHA + TXA + STA [$F9],Y + PLA + STA [$F9] + PEI $FF + PEI $FD + JSL L04023C + PLY + PLY + PEA $0000 + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + PEI $FF + PEI $FD + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $FF + PEI $FD + _HLock + BCS L0413B7 + LDA #$0000 +L0413B7 STAL L0B0002 + PEA $0048 + JSL L021DFD + PLY + LDA $F7 + STAL L0C0FD0 + LDY #$0002 + LDA [$FD],Y + TAX + LDA [$FD] + PHA + TXA + STAL L0C0FD4 + PLA + STAL L0C0FD2 + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHA + TXA + STAL L0C0FD8 + PLA + STAL L0C0FD6 + PEA ^L0C0FD0 + PEA L0C0FD0 + PEA $0012 + LDX #$0000 + JSL GSOS2 + BCS L041404 + LDA #$0000 +L041404 STAL L0B0002 + PEA ^L0C0FD0 + PEA L0C0FD0 + PEA $0014 + LDX #$0000 + JSL GSOS2 + BCS L04141D + LDA #$0000 +L04141D STAL L0B0002 + PEA $004A + JSL L021DFD + PLY + PEI $FF + PEI $FD + _HUnlock + BCS L041439 + LDA #$0000 +L041439 STAL L0B0002 + TSC + CLC + ADC #$0022 + TCS + PLD + RTL + +L041445 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EA + TCS + STZ $F2 + BRL L0414F0 +L041455 JSL L040619 + PEA ^L0C2688 + PEA L0C2688 + PEA ^L0C10BE + PEA L0C10BE + JSL L0110F7 + PLY + PLY + PLY + PLY + LDA #L0C10BE + LDX #^L0C10BE + STX $EE + STA $EC + PEA ^L0C1124 + PEA L0C1124 + JSL L023BE0 + PLY + PLY + TAY + BNE L041489 + BRL L0414D6 +L041489 LDA #$0001 + STA L0B0068 + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA #L0C10BE + LDX #^L0C10BE + STX $EE + STA $EC + PEA ^L0C2689 + PEA L0C2689 + PEI $EE + PEI $EC + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L0414D6 + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + JSL L041503 + PLY + PLY + PLY + PLY +L0414D6 PEA ^L0C268B + PEA L0C268B + PEI $EE + PEI $EC + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BEQ L0414EE + BRL L041455 +L0414EE INC $F2 +L0414F0 LDA $FF + CMP $F2 + BEQ L0414FB + BCC L0414FB + BRL L041455 +L0414FB TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L041503 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + JSL L024DE0 + PLY + PLY + PLY + PLY + LDA L0B0082 + SEC + SBC #$0000 + BVS L04152A + EOR #$8000 +L04152A BMI L04152F + BRL L041586 +L04152F LDA L0B0082 + SEC + SBC #$002D + BVS L04153B + EOR #$8000 +L04153B BMI L041586 + LDA L0B0082 + STA L0B006E + STZ L0B008C + LDA L0B006C + PHA + LDA #$0200 + SEC + JSL L010AAE + PLA + CLC + ADC L0B006A + LDX #$0000 + TAY + BPL L04155E + DEX +L04155E PHX + PHA + LDA L0B006E + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1006 + LDX #^L0C1006 + JSL L010922 + PLA + PLX + STA $EE + STX $F0 + PLA + PLX + LDY #$0002 + PHA + TXA + STA [$EE],Y + PLA + STA [$EE] +L041586 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L04158E ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B006E + SEC + SBC #$0000 + BNE L0415A5 + BRL L0415E0 +L0415A5 BVS L0415AA + EOR #$8000 +L0415AA BPL L0415E0 + DEC L0B006E + PEA ^L0C1124 + PEA L0C1124 + JSL L010D87 + PLY + PLY + STA L0B0068 + LDA #$0001 + STA L0B008C + LDA L0B006E + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C1006 + LDX #^L0C1006 + JSL L010922 + JSL L040655 + PLY + PLY + BRA L0415F0 +L0415E0 JSL L060614 + PEA ^L0B005A + PEA L0B005A + JSL L040655 + PLY + PLY +L0415F0 PHA + PEA $00FF + PEA $0000 + _FlushEvents + BCS L041603 + LDA #$0000 +L041603 STAL L0B0002 + PLA + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L041610 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00EE + TCS +L04161B LDA L0B006E + CMP $FF + BNE L041625 + BRL L041692 +L041625 LDA L0B0088 + BEQ L04162D + BRL L041692 +L04162D JSL L040619 + PEA ^L0C1124 + PEA L0C1124 + JSL L023BE0 + PLY + PLY + TAY + BNE L041643 + BRL L041690 +L041643 LDA #$0001 + STA L0B0068 + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + JSL L024E3C + PLY + PLY + PLY + PLY + LDA #L0C10BE + LDX #^L0C10BE + STX $F2 + STA $F0 + PEA ^L0C268D + PEA L0C268D + PEI $F2 + PEI $F0 + JSL L010DD9 + PLY + PLY + PLY + PLY + TAY + BNE L041690 + PEA ^L0B0068 + PEA L0B0068 + PEA ^L0C1124 + PEA L0C1124 + JSL L041503 + PLY + PLY + PLY + PLY +L041690 BRA L04161B +L041692 TSC + CLC + ADC #$000A + TCS + PLD + RTL + +L04169A ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDAL L0C1A7A + CMP #$0000 + BNE L0416B1 + BRL L041715 +L0416B1 LDA #L0C1A7A + LDX #^L0C1A7A + TAY + TSC + SEC + SBC #$0010 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0010 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L061079 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA L0B0078 + CMP #$0001 + BNE L0416F1 + JSL L04158E + LDA #$0001 + BRL L041753 + BRA L041713 +L0416F1 LDA L0B0078 + CMP #$0002 + BNE L04170D + PEA ^L0C268F + PEA L0C268F + JSL L040728 + PLY + PLY + LDA #$0001 + BRL L041753 + BRA L041713 +L04170D LDA #$0000 + BRL L041753 +L041713 BRA L041753 +L041715 JSL L061036 + SEC + SBC #$00B4 + BEQ L041750 + BVS L041724 + EOR #$8000 +L041724 BPL L041750 + LDA L0B007E + BEQ L041750 + LDA #$0002 + STA L0B0078 + PEA $0000 + PEA $0013 + JSL L0251CD + PLY + PLY + PEA ^L0C2694 + PEA L0C2694 + JSL L040728 + PLY + PLY + LDA #$0001 + BRA L041753 + BRA L041753 +L041750 LDA #$0000 +L041753 TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00DC + TCS + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + CLC + ADC #$0006 + BCC L041794 + INX +L041794 PHX + PHA + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + LDX #$0000 + PHX + PHA + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDX $F6 + LDA #$0006 + CLC + ADC $F4 + BCC L0417D1 + INX +L0417D1 JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA [$F4] + AND #$00FF + CMP #$007A + BEQ L0417E8 + BRL L041B4C +L0417E8 STZ L0B0107 + STZ L0B010B + STZ L0B00F3 + STZ L0B00F5 + PHX + PHA + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + _GetHandleSize + BCS L041830 + LDA #$0000 +L041830 STAL L0B0002 + PLA + PLX + STX $EA + STA $E8 + PEA $0000 + PEI $EA + PEI $E8 + LDX L0B00F1 + LDA L0B00EF + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + LDX L0B00F1 + LDA L0B00EF + PHX + PHA + PEI $EA + PEI $E8 + _HandToHand + BCS L041898 + LDA #$0000 +L041898 STAL L0B0002 + PEA $0834 + JSL L021DFD + PLY + LDX L0B00F1 + LDA L0B00EF + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + STX $E6 + STA $E4 + LDY #$0002 + LDA [$E4],Y + TAX + LDA [$E4] + STX $E2 + STA $E0 + LDX #$0000 + LDA #$0004 + STX L0B00F9 + STA L0B00F7 + PEA $0000 + PEI $E2 + PEI $E0 + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0200 + PEA $0000 + PEA $0000 + _NewHandle + BCS L041931 + LDA #$0000 +L041931 STAL L0B0002 + PLA + PLX + STX $EE + STA $EC + PEA $0835 + JSL L021DFD + PLY + PEA $0000 + PEA $0000 + PEA $2716 + PEI $EE + PEI $EC + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PHX + PHA + PEA $0000 + PEA $0001 + LDA L0B0066 + PHA + PEA $0200 + PEA $0000 + PEA $0000 + _NewHandle + BCS L04197A + LDA #$0000 +L04197A STAL L0B0002 + PLA + PLX + STX $F2 + STA $F0 + PEA $0836 + JSL L021DFD + PLY + PEA $0000 + PEA $0000 + PEA $138B + PEI $F2 + PEI $F0 + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEI $EE + PEI $EC + _HLock + BCS L0419B2 + LDA #$0000 +L0419B2 STAL L0B0002 + PEI $F2 + PEI $F0 + _HLock + BCS L0419C6 + LDA #$0000 +L0419C6 STAL L0B0002 + LDX L0B00F1 + LDA L0B00EF + PHX + PHA + _HLock + BCS L0419DE + LDA #$0000 +L0419DE STAL L0B0002 + LDY #$0002 + LDA [$EC],Y + TAX + LDA [$EC] + PHX + PHA + LDY #$0002 + LDA [$F0],Y + TAX + LDA [$F0] + PHX + PHA + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + JSL $041BEE + TAY + TSC + CLC + ADC #$000C + TCS + TYA + PEI $F2 + PEI $F0 + JSL L04023C + PLY + PLY + PEI $EE + PEI $EC + JSL L04023C + PLY + PLY + PEI $F2 + PEI $F0 + _DisposeHandle + BCS L041A54 + LDA #$0000 +L041A54 STAL L0B0002 + PEA $083E + JSL L021DFD + PLY + PEI $EE + PEI $EC + _DisposeHandle + BCS L041A70 + LDA #$0000 +L041A70 STAL L0B0002 + PEA $083F + JSL L021DFD + PLY + LDX L0B00F1 + LDA L0B00EF + PHX + PHA + JSL L04023C + PLY + PLY + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + TAX + LDY #$0002 + LDA [$F4],Y + PHX + PHA + _HUnlock + BCS L041AC4 + LDA #$0000 +L041AC4 STAL L0B0002 + PEA $0840 + JSL L021DFD + PLY + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $F4 + LDX $F6 + CLC + ADC #$0006 + BCC L041AFC + INX +L041AFC PHX + PHA + JSL L010D87 + PLY + PLY + SEC + SBC #$0001 + LDX #$0000 + PHX + PHA + LDA $FF + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDX $F6 + LDA #$0006 + CLC + ADC $F4 + BCC L041B39 + INX +L041B39 JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA #$0000 + SEP #$20 + STA [$F4] + REP #$20 +L041B4C TSC + CLC + ADC #$001C + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDX L0B00F5 + LDA L0B00F3 + PHX + PHA + CLC + ADC #$0001 + STA L0B00F3 + LDA L0B00F5 + BCC L041B74 + INC +L041B74 STA L0B00F5 + LDX L0B00ED + LDA L0B00EB + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + TAX + LDA [$F4] + JSL L010922 + PLA + PLX + STA $F4 + STX $F6 + LDA $FF + SEP #$20 + STA [$F4] + REP #$20 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00F9 + LDA L0B00F7 + PHX + PHA + CLC + ADC #$0001 + STA L0B00F7 + LDA L0B00F9 + BCC L041BC3 + INC +L041BC3 STA L0B00F9 + LDX L0B00F1 + LDA L0B00EF + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + TAX + LDA [$F6] + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + + PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00B8 + TCS + LDA #L0C24F4 + LDX #^L0C24F4 + STX $CA + STA $C8 + LDA $F9 + CLC + ADC #$1000 + LDX $FB + BCC L041C0E + INX +L041C0E STX $C6 + STA $C4 + LDA #L0C24F4 + LDX #^L0C24F4 + STX $C2 + STA $C0 + LDX $F7 + LDA $F5 + STX L0B00ED + STA L0B00EB + LDX L0B00ED + LDA L0B00EB + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + TAX + LDA [$EA] + STX $D4 + STA $D2 + PHX + PHA + LDX L0B00F1 + LDA L0B00EF + PHX + PHA + _GetHandleSize + BCS L041C52 + LDA #$0000 +L041C52 STAL L0B0002 + PLA + PLX + STX L0B010F + STA L0B010D + LDX L0B00F1 + LDA L0B00EF + STA $EA + STX $EC + LDY #$0002 + LDA [$EA],Y + TAX + LDA [$EA] + STX L0B0113 + STA L0B0111 + LDX L0B00ED + LDA L0B00EB + PHX + PHA + _HLock + BCS L041C8A + LDA #$0000 +L041C8A STAL L0B0002 + JSL $041BA3 + JSL $041BA3 + STZ L0B00FB + STZ L0B00FD + LDA L0B0101 + PHA + LDA #$0001 + SEC + JSL L010CA2 + PLA + STA L0B0105 + JSL $041BA3 + AND #$00FF + STA L0B0101 + LDA L0B0101 + AND #$0080 + STA L0B0109 + LDA L0B0101 + AND #$001F + STA L0B0101 + LDA L0B0101 + PHA + LDA #$0001 + SEC + JSL L010CA2 + PLA + STA L0B0105 + LDA #$0009 + STA L0B00FF + PHA + LDA #$0001 + SEC + JSL L010CA2 + PLA + SEC + SBC #$0001 + STA L0B0103 + LDA #$00FF + STA $E2 + BRA L041D40 +L041CF6 LDA $E2 + LDX #$0000 + TAY + BPL L041CFF + DEX +L041CFF STX $EE + ASL + ROL $EE + LDX $EE + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $EA + STX $EC + LDA #$0000 + STA [$EA] + LDA $E2 + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L041D27 + DEX +L041D27 PHX + PHA + LDX $FB + LDA $F9 + JSL L010922 + PLA + PLX + STA $EA + STX $EC + PLA + SEP #$20 + STA [$EA] + REP #$20 + DEC $E2 +L041D40 LDA $E2 + SEC + SBC #$0000 + BVS L041D4B + EOR #$8000 +L041D4B BMI L041CF6 + LDA L0B0109 + BEQ L041D57 + LDA #$0101 + BRA L041D5A +L041D57 LDA #$0100 +L041D5A STA L0B0107 + PER L041D60+2 +L041D60 BRL L041E7A + LDA $E2 + STA $E0 + STA $E4 + LDA $E0 + CMP #$FFFF + BNE L041D73 + BRL L042013 +L041D73 LDA $E4 + AND #$00FF + PHA + JSL $041B54 + PLY + LDA $F9 + CLC + ADC #$1000 + LDX $FB + BCC L041D89 + INX +L041D89 STX $E8 + STA $E6 +L041D8D PER L041D90+2 +L041D90 BRL L041E7A + LDA $E2 + BPL L041D9A + BRL L042013 +L041D9A LDA $E2 + CMP #$0100 + BNE L041DCE + LDA L0B0109 + BEQ L041DCE + LDY #$01FE + LDA #$0000 +L041DAC STA [$FD],Y + DEY + DEY + BPL L041DAC + LDA #$0001 + STA L0B010B + LDA #$0100 + STA L0B0107 + PER L041DC1+2 +L041DC1 BRL L041E7A + LDA $E2 + CMP #$FFFF + BNE L041DCE + BRL L042013 +L041DCE LDA $E2 + STA $DE + CMP L0B0107 + BCC L041DE9 + LDA $E4 + SEP #$20 + STA [$E6] + REP #$20 + INC $E6 + BNE L041DE5 + INC $E8 +L041DE5 LDA $E0 + STA $E2 +L041DE9 CMP #$0100 + BCC L041E06 + TAY + ASL + TAX + LDA [$F9],Y + SEP #$20 + STA [$E6] + REP #$20 + INC $E6 + BNE L041DFF + INC $E8 +L041DFF TXY + LDA [$FD],Y + STA $E2 + BRA L041DE9 +L041E06 TAY + LDA [$F9],Y + AND #$00FF + STA $E4 + SEP #$20 + STA [$E6] + REP #$20 + INC $E6 + BNE L041E1A + INC $E8 +L041E1A LDA $D2 + CLC + ADC L0B00F3 + STA $DA + LDA $D4 + ADC L0B00F5 + STA $DC + LDY #$0000 + LDX $C4 +L041E2E LDA $E6 + BNE L041E34 + DEC $E8 +L041E34 DEC $E6 + SEP #$20 + LDA [$E6] + STA [$DA],Y + REP #$20 + INY + CPX $E6 + BCC L041E2E + TYA + CLC + ADC L0B00F3 + STA L0B00F3 + LDA #$0000 + ADC L0B00F5 + STA L0B00F5 + LDA L0B0107 + STA $E2 + CMP L0B0105 + BCS L041E73 + TAX + ASL + TAY + LDA $E0 + STA [$FD],Y + TXY + LDA $E4 + SEP #$20 + STA [$F9],Y + REP #$20 + TXA + INC + STA L0B0107 +L041E73 LDA $DE + STA $E0 + BRL L041D8D +L041E7A LDA $C0 + STA $C8 + LDA $C2 + STA $CA + LDA L0B0103 + CMP L0B0107 + BCC L041EA2 + LDA L0B010B + BEQ L041E94 + BMI L041E94 + BRL L041ECC +L041E94 LDA L0B00FB + CMP L0B00FD + BCC L041E9F + BRL L041EE2 +L041E9F BRL L041F59 +L041EA2 INC L0B00FF + LDA L0B00FF + CMP L0B0101 + BNE L041EB5 + LDA L0B0105 + STA L0B0103 + BRA L041EC5 +L041EB5 LDX L0B00FF + LDA #$0001 + BRA L041EBE +L041EBD ASL +L041EBE DEX + BPL L041EBD + DEC + STA L0B0103 +L041EC5 LDA L0B010B + BMI L041EE2 + BEQ L041EE2 +L041ECC LDX #$0009 + STX L0B00FF + LDA #$0001 + BRA L041ED8 +L041ED7 ASL +L041ED8 DEX + BPL L041ED7 + DEC + STA L0B0103 + STZ L0B010B +L041EE2 LDA L0B010D + SEC + SBC L0B00F7 + CMP L0B00FF + BCC L041EF1 + LDA L0B00FF +L041EF1 STA L0B00FD + STA $BA + LDY #$0000 + LDA L0B0111 + CLC + ADC L0B00F7 + STA $DA + LDA L0B0113 + ADC L0B00F9 + STA $DC + LDA $C0 + STA $BC + LDA $C2 + STA $BE + SEP #$20 + BRA L041F1B +L041F16 LDA [$DA],Y + STA [$BC],Y + INY +L041F1B CPY L0B00FD + BCC L041F16 + REP #$20 + TYA + CLC + ADC L0B00F7 + STA L0B00F7 + LDA #$0000 + ADC L0B00F9 + STA L0B00F9 + LDA L0B00FD + BEQ L041F3A + BPL L041F42 +L041F3A LDA #$FFFF + STA $D0 + BRL L04200E +L041F42 STZ L0B00FB + LDX L0B00FF + DEX + LDA L0B00FD + ASL + ASL + ASL + STX L0B00FD + SEC + SBC L0B00FD + STA L0B00FD +L041F59 LDA L0B00FB + STA $CE + LDX L0B00FF + STX $CC + LSR + LSR + LSR + CLC + ADC $C8 + STA $C8 + LDA #$0000 + ADC $CA + STA $CA + LDA $CE + AND #$0007 + STA $CE + LDA #$0008 + SEC + SBC $CE + PHA + TAY + LDA L0B0119 + STA $D6 + LDA L0B011B + STA $D8 + LDA [$D6],Y + TAY + LDA [$C8] + AND #$00FF + INC $C8 + BNE L041F99 + INC $CA +L041F99 LDX $CE + BRA L041F9E +L041F9D LSR +L041F9E DEX + BPL L041F9D + STA $D0 + TYA + AND $D0 + AND #$00FF + STA $D0 + PLA + STA $CE + LDA $CC + SEC + SBC $CE + STA $CC + CMP #$0008 + BCC L041FE1 + LDA [$C8] + INC $C8 + BNE L041FC2 + INC $CA +L041FC2 AND #$00FF + LDX $CE + BRA L041FCA +L041FC9 ASL +L041FCA DEX + BPL L041FC9 + ORA $D0 + STA $D0 + LDA $CE + CLC + ADC #$0008 + STA $CE + LDA $CC + SEC + SBC #$0008 + STA $CC +L041FE1 LDY L0B0119 + STY $D6 + LDY L0B011B + STY $D8 + LDY $CC + LDA [$D6],Y + STA $BC + LDA [$C8] + AND $BC + AND #$00FF + LDX $CE + BRA L041FFD +L041FFC ASL +L041FFD DEX + BPL L041FFC + ORA $D0 + STA $D0 + LDA L0B00FB + CLC + ADC L0B00FF + STA L0B00FB +L04200E LDA $D0 + STA $E2 + RTS + +L042013 TAY + TSC + CLC + ADC #$0036 + TCS + TYA + PLD + RTL + diff --git a/yourtour/THREE.X.S b/yourtour/THREE.X.S new file mode 100644 index 0000000..6f76eaf --- /dev/null +++ b/yourtour/THREE.X.S @@ -0,0 +1,138 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L010AA3 + EXT L010B98 + EXT L0B0002 + EXT L024DE0 + EXT L0B0088 + EXT L0B0068 + EXT L0B0082 + EXT L0C1220 + EXT L0C1124 + EXT L021DFD + EXT L024E3C + EXT L025330 + EXT L0244F2 + EXT L023BE0 + EXT L025194 + EXT L0251CD + EXT L0242F7 + EXT L01092D + EXT L010DD9 + EXT L010AAE + EXT L010D87 + EXT L0C10BE + EXT L010BC3 + EXT L061079 + EXT L0321FD + EXT L030F81 + EXT L03096B + EXT L030EB7 + EXT L060614 + EXT L0E004A + EXT L0E0074 + EXT L010CFD + EXT L0B0066 + EXT L0B006A + EXT L0B006C + EXT L0B005A + EXT L0B0078 + EXT L0B005E + EXT L0B006E + EXT L0B009C + EXT L0B008E + EXT L0B0096 + EXT L0B009A + EXT L0B00A8 + EXT L0B00AA + EXT L0B0092 + EXT L0B008A + EXT L0B008C + EXT L0C1A7A + EXT L0C1006 + EXT L0C1AB2 + EXT L0C1252 + EXT L0C0FEE + EXT L050FB3 + EXT L0C0FF2 + EXT L0C0FF0 + EXT L0C0FF6 + EXT L0C0FF4 + EXT L0C0FFC + EXT L0503D4 + EXT L0252AD + EXT L0C1000 + EXT L0C0FFE + EXT L0C0FD0 + EXT L0C0FD4 + EXT L0C0FD2 + EXT L0C0FD8 + EXT L0C0FD6 + EXT L061036 + EXT L010CA2 + EXT L0B00B9 + EXT L0B00A6 + EXT L0B007E + EXT L0B0107 + EXT L0B010B + EXT L0B00F3 + EXT L0B00F5 + EXT L0B00F1 + EXT L0B00EF + EXT L0B00F9 + EXT L0B00F7 + EXT L0B00ED + EXT L0B00EB + EXT L0B010F + EXT L0B010D + EXT L0B0113 + EXT L0B0111 + EXT L0B00FB + EXT L0B00FD + EXT L0B0101 + EXT L0B0105 + EXT L0B0109 + EXT L0B00FF + EXT L0B0103 + EXT L0B0119 + EXT L0B011B + EXT L0C261F + EXT L0C2620 + EXT L0C2621 + EXT L0C262A + EXT L0C1221 + EXT L0C262B + EXT L0C262C + EXT L0C2633 + EXT L0C2638 + EXT L0C263D + EXT L0C2641 + EXT L0C2646 + EXT L0C264B + EXT L0C2651 + EXT L0C2657 + EXT L0C265C + EXT L0C265D + EXT L0C2664 + EXT L0C266A + EXT L0C266B + EXT L0C2671 + EXT L0C2677 + EXT L0C267D + EXT L0C267E + EXT L0C2684 + EXT L0C2685 + EXT L0C2686 + EXT L0C2687 + EXT L0C2688 + EXT L0C2689 + EXT L0C268B + EXT L0C268D + EXT L0C268F + EXT L0C2694 + EXT L0C24F4 diff --git a/yourtour/TWO.S b/yourtour/TWO.S new file mode 100644 index 0000000..bc6d270 --- /dev/null +++ b/yourtour/TWO.S @@ -0,0 +1,4393 @@ +* +* Your tour of the Apple IIgs +* +* (c) 1989, Apple Computer +* (s) 2020, Antoine Vignau +* + + mx %00 + rel + lst off + +*------------------------------- + + use TWO.X + + use 4/Event.Macs + use 4/Mem.Macs + use 4/Misc.Macs + use 4/QD.Macs + use 4/QDAux.Macs + use 4/Util.Macs + +*------------------------------- + +L030000 ENT + PHD + TSC + SEC + SBC #$00E9 + TCD + ADC #$FF54 + TCS + LDX #$0000 + TDC + CLC + ADC #$00D6 + STX $D0 + STA $CE + LDX #$0000 + TDC + CLC + ADC #$00BA + STX $C0 + STA $BE + LDY #$0002 + LDA [$EF],Y + TAX + LDA [$EF] + STX $94 + STA $92 + LDX $F1 + LDA $EF + STX $90 + STA $8E + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDA [$E4] + AND #$00FF + STA $A2 + LDA $A2 + AND #$0080 + CMP #$0000 + BEQ L030062 + LDA #$0004 + STA $8C + STZ $FF + LDA #$0087 + STA $A2 + BRA L03006C +L030062 LDA #$0008 + STA $A2 + LDA #$0002 + STA $8C +L03006C LDA $F7 + CMP #$0006 + BNE L030075 + STZ $FF +L030075 LDA $A2 + SEC + SBC #$0080 + BVS L030080 + EOR #$8000 +L030080 BMI L03008B + LDA $F9 + BEQ L03008B + LDA #$0000 + BRA L03008E +L03008B LDA #$0001 +L03008E STA $88 + LDA $F9 + BNE L0300EE + PEI $FD + PEI $FB + PEA $0000 + PEA $0000 + LDA $8C + PHA + LDA #$0004 + SEC + JSL L01092D + PLY + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + SEC + SBC #$0001 + SEC + JSL L010AAE + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0001 + LDA [$E4],Y + AND #$00FF + SEC + SBC #$0001 + PHA + _SetRect + BCS L0300EA + LDA #$0000 +L0300EA STAL L0B0002 +L0300EE LDA [$FB] + STA $E0 + LDY #$0004 + LDA [$FB],Y + SEC + SBC #$0001 + STA $DE + LDA $DE + SEC + SBC $E0 + CLC + ADC #$0001 + STA $E2 + LDA #L0C0C32 + LDX #^L0C0C32 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $8C + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + SEC + JSL L01092D + PLY + CLC + ADC #$0001 + LDX #$FF5C + STA $00,X + LDX #$FF5C + LDA $00,X + CLC + ADC #$0001 + STA $C2 + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0001 + LDA [$E4],Y + AND #$00FF + CLC + ADC #$0001 + PHA + LDA #$0002 + SEC + JSL L010AAE + PLA + LDX #$0000 + TAY + BPL L03017C + DEX +L03017C STX $A6 + STA $A4 + PEA $C000 + PEI $A6 + PEI $A4 + LDX L0B0034 + LDA L0B0032 + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEA $0386 + JSL L021DFD + PLY + LDX L0B0034 + LDA L0B0032 + PHX + PHA + _HLock + BCS L0301B4 + LDA #$0000 +L0301B4 STAL L0B0002 + PEA $0387 + JSL L021DFD + PLY + LDX L0B0034 + LDA L0B0032 + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + TAX + LDA [$E4] + STX $B2 + STA $B0 + LDA $F7 + SEC + SBC #$0003 + BVS L0301E1 + EOR #$8000 +L0301E1 BPL L0301F2 + LDA $F7 + SEC + SBC #$0004 + BEQ L030234 + BVS L0301F0 + EOR #$8000 +L0301F0 BPL L030234 +L0301F2 STZ $C6 + BRA L030225 +L0301F6 LDA $C6 + CLC + ADC $E0 + PHA + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L03020D + DEX +L03020D SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + PLA + STA [$E4] + INC $C6 +L030225 LDA $C6 + SEC + SBC $E2 + BVS L03022F + EOR #$8000 +L03022F BPL L0301F6 + BRL L0302CD +L030234 STZ $C6 + BRL L0302BE +L030239 LDA #$0002 + PHA + LDA $C6 + SEC + JSL L01092D + PLY + PHA + LDA $E0 + PLX + STX $E8 + CLC + ADC $E8 + PHA + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L030260 + DEX +L030260 SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + PLA + STA [$E4] + LDA #$0002 + PHA + LDA $C6 + SEC + JSL L01092D + PLY + PHA + LDA $DE + PLX + STX $E8 + SEC + SBC $E8 + PHA + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L03029D + DEX +L03029D SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + PLA + LDY #$0002 + STA [$E4],Y + LDA $C6 + CLC + ADC #$0002 + STA $C6 +L0302BE LDA $C6 + SEC + SBC $E2 + BVS L0302C8 + EOR #$8000 +L0302C8 BMI L0302CD + BRL L030239 +L0302CD LDA $F7 + CMP #$0002 + BEQ L0302DE + LDA $F7 + CMP #$0004 + BEQ L0302DE + BRL L030375 +L0302DE STZ $C6 + BRA L030353 +L0302E2 LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L0302F3 + DEX +L0302F3 SEC + JSL L010CB2 + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $E2 + LDX #$0000 + TAY + BPL L030309 + DEX +L030309 SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + PLA + PLX + JSL L010AA3 + PLA + PLX + SEC + SBC #$0002 + PHA + TXA + SBC #$0000 + TAX + PLA + PHX + PHA + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L03033C + DEX +L03033C SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + JSL L0321DE + PLY + PLY + PLY + PLY + INC $C6 +L030353 LDA #$0002 + PHA + LDA $E2 + SEC + SBC #$0001 + SEC + JSL L01092D + PLY + SEC + SBC $C6 + BEQ L030372 + BVS L03036D + EOR #$8000 +L03036D BPL L030372 + BRL L0302E2 +L030372 BRL L0303FC +L030375 LDA $F7 + CMP #$0001 + BNE L0303DD + STZ $C6 + BRA L0303CF +L030380 PEI $E2 + JSL L031FA1 + PLY + STA $CC + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $CC + LDX #$0000 + TAY + BPL L03039A + DEX +L03039A SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L0303B8 + DEX +L0303B8 SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + JSL L0321DE + PLY + PLY + PLY + PLY + INC $C6 +L0303CF LDA $C6 + SEC + SBC $E2 + BVS L0303D9 + EOR #$8000 +L0303D9 BPL L030380 + BRA L0303FC +L0303DD LDA $F7 + CMP #$0005 + BEQ L0303EB + LDA $F7 + CMP #$0007 + BNE L0303FC +L0303EB LDA $E2 + CLC + ADC #$0001 + PHA + LDA $C2 + CLC + JSL L010AAE + PLA + STA $C2 +L0303FC LDA #L0C0CE4 + LDX #^L0C0CE4 + STX $A0 + STA $9E + PEA $0000 + TDC + CLC + ADC #$FF5E + PHA + LDY #$0002 + LDA [$9E],Y + PHA + LDA [$9E] + PHA + LDY #$0006 + LDA [$9E],Y + PHA + LDY #$0004 + LDA [$9E],Y + PHA + _SetRect + BCS L030430 + LDA #$0000 +L030430 STAL L0B0002 + PEI $C2 + PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA ^L0B0036 + PEA L0B0036 + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + PEA ^L0C0CDC + PEA L0C0CDC + _SetPort + BCS L030460 + LDA #$0000 +L030460 STAL L0B0002 + PEA $0000 + PEI $F1 + PEI $EF + _SetPurge + BCS L030477 + LDA #$0000 +L030477 STAL L0B0002 + PEA $038C + JSL L021DFD + PLY + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0001 + LDA [$E4],Y + AND #$00FF + CLC + ADC #$0001 + PHA + LDA #$0004 + SEC + JSL L010AAE + PLA + LDX #$0000 + TAY + BPL L0304AC + DEX +L0304AC STX $A6 + STA $A4 + PEA $038E + JSL L021DFD + PLY + PEA $C000 + PEI $A6 + PEI $A4 + LDX L0B0030 + LDA L0B002E + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + PEA $0398 + JSL L021DFD + PLY + PEI $F1 + PEI $EF + _HLock + BCS L0304E8 + LDA #$0000 +L0304E8 STAL L0B0002 + PEA $03A2 + JSL L021DFD + PLY + LDX L0B0030 + LDA L0B002E + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + TAX + LDA [$E4] + STX $AE + STA $AC + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0001 + LDA [$E4],Y + AND #$00FF + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$EF],Y + TAX + LDA [$EF] + JSL L010922 + PLA + PLX + CLC + ADC #$0024 + PHA + TXA + ADC #$0000 + TAX + PLA + STX $AA + STA $A8 + STZ $C4 + BRA L0305B8 +L030544 LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $C4 + LDX #$0000 + TAY + BPL L030555 + DEX +L030555 SEC + JSL L010CB2 + LDX $AE + LDA $AC + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDX $AA + LDA $A8 + LDY #$0002 + PHA + TXA + STA [$E4],Y + PLA + STA [$E4] + LDA $C4 + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDX $E6 + LDA #$0024 + CLC + ADC $E4 + BCC L030594 + INX +L030594 JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDA [$E4] + AND #$00FF + LDX #$0000 + PHX + PHA + LDX $AA + LDA $A8 + JSL L010922 + PLA + PLX + STX $AA + STA $A8 + INC $C4 +L0305B8 LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0001 + LDA [$E4],Y + AND #$00FF + SEC + SBC $C4 + BEQ L0305DB + BVS L0305D6 + EOR #$8000 +L0305D6 BPL L0305DB + BRL L030544 +L0305DB LDA $FF + BEQ L03060F + PEA $0008 + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDA $E4 + LDX $E6 + CLC + ADC #$0004 + BCC L0305F9 + INX +L0305F9 PHX + PHA + _SetColorTable + BCS L030607 + LDA #$0000 +L030607 STAL L0B0002 + JSL L03223A +L03060F PEA $0000 + TDC + CLC + ADC #$0096 + PHA + LDY #$0002 + LDA [$FB],Y + PHA + PEA $0000 + LDY #$0006 + LDA [$FB],Y + PHA + PEA $0001 + _SetRect + BCS L030636 + LDA #$0000 +L030636 STAL L0B0002 + STZ $8A + LDA $F7 + CMP #$0005 + BEQ L03064D + LDA $F7 + CMP #$0007 + BEQ L03064D + BRL L0307B4 +L03064D LDA $E2 + STA $9A + STZ $DA + LDA [$FB] + STA $C6 + BRA L030693 +L030659 LDA $C6 + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDX $E6 + LDA #$0024 + CLC + ADC $E4 + BCC L030677 + INX +L030677 JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDA [$E4] + AND #$00FF + PHA + LDA $DA + PLX + STX $E8 + CLC + ADC $E8 + STA $DA + INC $C6 +L030693 LDA [$FB] + CLC + ADC $E2 + SEC + SBC $C6 + BEQ L0306A4 + BVS L0306A2 + EOR #$8000 +L0306A2 BMI L030659 +L0306A4 LDA $E2 + CLC + ADC #$0002 + PHA + LDA $8C + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + SEC + JSL L01092D + PLY + SEC + JSL L010AAE + PLA + STA $D6 + LDX #$FF5A + LDA $00,X + TAX + PHX + LDX #$FF58 + LDA $00,X + PLX + STX $BC + STA $BA + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA [$FB] + LDX #$0000 + TAY + BPL L0306F0 + DEX +L0306F0 SEC + JSL L010CB2 + LDX $AE + LDA $AC + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + TAX + LDA [$E4] + PHX + PHA + LDA $DA + PHA + PEI $C0 + PEI $BE + PEI $D0 + PEI $CE + _UnPackBytes + BCS L030724 + LDA #$0000 +L030724 STAL L0B0002 + PLA + STA $D8 + LDA [$FB] + PHA + LDA $F5 + PLX + STX $E8 + SEC + SBC $E8 + STA $DC + LDA $88 + BEQ L030751 + PEI $A2 + LDA $DC + CLC + ADC $E2 + SEC + SBC #$0001 + PHA + PEI $DC + JSL L0321FD + PLY + PLY + PLY +L030751 LDA $F7 + CMP #$0005 + BNE L030781 + PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA $0000 + TDC + CLC + ADC #$0096 + PHA + PEI $F3 + PEI $F5 + PEA $0000 + _PPToPort + BCS L03077D + LDA #$0000 +L03077D STAL L0B0002 +L030781 LDA $F7 + CMP #$0007 + BNE L0307B1 + PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA $0000 + TDC + CLC + ADC #$0096 + PHA + PEI $F3 + PEI $F5 + PEA $0001 + _PPToPort + BCS L0307AD + LDA #$0000 +L0307AD STAL L0B0002 +L0307B1 BRL L0308F6 +L0307B4 STZ $C6 + BRL L0308E7 +L0307B9 LDX #$0000 + LDA #$0001 + PHX + PHA + LDA $C6 + LDX #$0000 + TAY + BPL L0307CA + DEX +L0307CA SEC + JSL L010CB2 + LDX $B2 + LDA $B0 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDA [$E4] + STA $D4 + LDA $D4 + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDX $E6 + LDA #$0024 + CLC + ADC $E4 + BCC L0307FF + INX +L0307FF JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDA [$E4] + AND #$00FF + STA $DA + LDA $8C + PHA + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + SEC + JSL L01092D + PLY + CLC + ADC #$0003 + STA $D6 + LDX #$FF5A + LDA $00,X + TAX + PHX + LDX #$FF58 + LDA $00,X + PLX + LDY #$0002 + PHA + TXA + STA [$BE],Y + PLA + STA [$BE] + PHA + LDX #$0000 + LDA #$0002 + PHX + PHA + LDA $D4 + LDX #$0000 + TAY + BPL L030859 + DEX +L030859 SEC + JSL L010CB2 + LDX $AE + LDA $AC + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDY #$0002 + LDA [$E4],Y + TAX + LDA [$E4] + PHX + PHA + LDA $DA + PHA + PEI $C0 + PEI $BE + PEI $D0 + PEI $CE + _UnPackBytes + BCS L03088D + LDA #$0000 +L03088D STAL L0B0002 + PLA + STA $D8 + LDA [$FB] + PHA + LDA $F5 + CLC + ADC $D4 + PLX + STX $E8 + SEC + SBC $E8 + STA $DC + PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA $0000 + TDC + CLC + ADC #$0096 + PHA + PEI $F3 + PEI $DC + PEA $0000 + _PPToPort + BCS L0308C9 + LDA #$0000 +L0308C9 STAL L0B0002 + LDA $88 + BEQ L0308E5 + PEI $DC + PEI $A2 + _SetSCB + BCS L0308E1 + LDA #$0000 +L0308E1 STAL L0B0002 +L0308E5 INC $C6 +L0308E7 LDA $C6 + SEC + SBC $E2 + BVS L0308F1 + EOR #$8000 +L0308F1 BMI L0308F6 + BRL L0307B9 +L0308F6 LDA $F7 + CMP #$0006 + BNE L03091C + LDY #$0002 + LDA [$8E],Y + TAX + LDA [$8E] + STA $E4 + STX $E6 + LDA $E4 + LDX $E6 + CLC + ADC #$0004 + BCC L030914 + INX +L030914 PHX + PHA + JSL L031FD5 + PLY + PLY +L03091C PEA $0000 + TDC + CLC + ADC #$FF56 + PHA + PEA ^L0B0036 + PEA L0B0036 + JSL L030D54 + PLY + PLY + PLY + PLY + LDX L0B0030 + LDA L0B002E + PHX + PHA + JSL L04023C + PLY + PLY + LDX L0B0034 + LDA L0B0032 + PHX + PHA + JSL L04023C + PLY + PLY + PEI $F1 + PEI $EF + _HUnlock + BCS L03095F + LDA #$0000 +L03095F STAL L0B0002 + TSC + CLC + ADC #$0194 + TCS + PLD + RTL + +L03096B ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00EC + TCS + LDA L0B008A + BNE L03097E + BRL L030A0B +L03097E JSL L03117F + LDA #$0000 + STA $F0 + LDA #$0000 + STA $EE + LDAL L0C0EE8 + SEC + SBCL L0C0EE4 + STA $F4 + LDAL L0C0EE6 + SEC + SBCL L0C0EE2 + STA $F2 + PEA ^L0C0B88 + PEA L0C0B88 + PEA $0000 + TDC + CLC + ADC #$00EE + PHA + LDAL L0C0EE4 + PHA + LDAL L0C0EE2 + PHA + PEA $0000 + _PPToPort + BCS L0309CA + LDA #$0000 +L0309CA STAL L0B0002 + PEA ^L0C0B88 + PEA L0C0B88 + PEA ^L0B003A + PEA L0B003A + JSL L030D54 + PLY + PLY + PLY + PLY + PEA ^L0C0F7A + PEA L0C0F7A + PEA $0000 + PEA $0000 + PEA $0280 + PEA $00C8 + _SetRect + BCS L030A00 + LDA #$0000 +L030A00 STAL L0B0002 + STZ L0B008A + JSL L0311AA +L030A0B TSC + CLC + ADC #$000E + TCS + PLD + RTL + +L030A13 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00C6 + TCS + JSL L03096B + PEA $0000 + TDC + CLC + ADC #$00D8 + PHA + PEA $0000 + PEA $0000 + _SetPt + BCS L030A3D + LDA #$0000 +L030A3D STAL L0B0002 + LDA $FD + LDX $FF + PHX + PHA + PEA ^L0C0EE2 + PEA L0C0EE2 + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDAL L0C0CE2 + PHA + LDA #$0280 + CLC + JSL L01092D + PLY + STA $CA + LDA $CA + PHA + LDAL L0C0EE8 + SEC + SBCL L0C0EE4 + CLC + ADC #$0001 + CLC + JSL L01092D + PLY + CLC + ADC #$0001 + STAL L0C0B8E + LDAL L0C0EE6 + SEC + SBCL L0C0EE2 + CLC + ADC #$0001 + PHA + LDAL L0C0B8E + CLC + ADC #$0001 + CLC + JSL L010AAE + PLA + STA $C8 + PEI $C8 + PEA ^L0C0B88 + PEA L0C0B88 + PEA ^L0B003A + PEA L0B003A + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + LDA #L0C0CE4 + LDX #^L0C0CE4 + STX $D6 + STA $D4 + PEA ^L0C0B90 + PEA L0C0B90 + LDY #$0002 + LDA [$D4],Y + PHA + LDA [$D4] + PHA + LDY #$0006 + LDA [$D4],Y + PHA + LDY #$0004 + LDA [$D4],Y + PHA + _SetRect + BCS L030AED + LDA #$0000 +L030AED STAL L0B0002 + LDA #L0C0CDC + LDX #^L0C0CDC + STX $DE + STA $DC + LDA #L0C0B88 + LDX #^L0C0B88 + STX $E2 + STA $E0 + LDA #L0C0EE2 + LDX #^L0C0EE2 + STX $E6 + STA $E4 + LDX #$0000 + TDC + CLC + ADC #$00D8 + STX $EA + STA $E8 + LDA #$0000 + STA $EC + LDAL L0C0CF6 + TAX + LDAL L0C0CF4 + STX $F0 + STA $EE + JSL L03117F + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + _PaintPixels + BCS L030B46 + LDA #$0000 +L030B46 STAL L0B0002 + PEA $0087 + LDAL L0C0EE6 + PHA + LDAL L0C0EE2 + PHA + JSL L0321FD + PLY + PLY + PLY + PEA $0000 + _SetPenMode + BCS L030B6D + LDA #$0000 +L030B6D STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00CC + PHA + LDAL L0C0EE4 + PHA + LDAL L0C0EE2 + PHA + LDAL L0C0EE8 + SEC + SBC #$0006 + PHA + LDAL L0C0EE6 + SEC + SBC #$0003 + PHA + _SetRect + BCS L030BA2 + LDA #$0000 +L030BA2 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00CC + PHA + _EraseRect + BCS L030BBB + LDA #$0000 +L030BBB STAL L0B0002 + PEA $0002 + PEA $0001 + _SetPenSize + BCS L030BD1 + LDA #$0000 +L030BD1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00CC + PHA + _FrameRect + BCS L030BEA + LDA #$0000 +L030BEA STAL L0B0002 + PEA $0006 + PEA $0003 + _SetPenSize + BCS L030C00 + LDA #$0000 +L030C00 STAL L0B0002 + LDAL L0C0EE4 + CLC + ADC #$0006 + PHA + LDAL L0C0EE6 + SEC + SBC #$0004 + PHA + _MoveTo + BCS L030C22 + LDA #$0000 +L030C22 STAL L0B0002 + LDAL L0C0EE8 + SEC + SBC #$0006 + PHA + LDAL L0C0EE6 + SEC + SBC #$0004 + PHA + _LineTo + BCS L030C44 + LDA #$0000 +L030C44 STAL L0B0002 + LDAL L0C0EE8 + SEC + SBC #$0006 + PHA + LDAL L0C0EE2 + CLC + ADC #$0003 + PHA + _LineTo + BCS L030C66 + LDA #$0000 +L030C66 STAL L0B0002 + JSL L0311AA + PEA ^L0C0F7A + PEA L0C0F7A + LDA $CE + CLC + ADC #$0014 + PHA + LDA $CC + CLC + ADC #$0006 + PHA + LDA $D2 + SEC + SBC #$0012 + PHA + LDA $D0 + SEC + SBC #$0001 + PHA + _SetRect + BCS L030C9C + LDA #$0000 +L030C9C STAL L0B0002 + LDA #L0C0F7A + LDX #^L0C0F7A + PHX + PHA + PEA ^L0C0EDA + PEA L0C0EDA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA #$0001 + STA L0B008A + STZ L0B00A2 + PEA $0001 + PEA $0001 + _SetPenSize + BCS L030CD5 + LDA #$0000 +L030CD5 STAL L0B0002 + LDAL L0C0F7C + PHA + LDAL L0C0F7A + CLC + ADC L0B0070 + SEC + SBC #$0001 + PHA + _MoveTo + BCS L030CF7 + LDA #$0000 +L030CF7 STAL L0B0002 + TSC + CLC + ADC #$0030 + TCS + PLD + RTL + +L030D03 ENT + PHD + TSC + SEC + SBC #$00F1 + TCD + ADC #$00EA + TCS + PEA $C000 + LDA $FF + LDX #$0000 + PHX + PHA + LDY #$0002 + LDA [$F7],Y + TAX + LDA [$F7] + PHX + PHA + JSL L040000 + PLY + PLY + PLY + PLY + PLY + LDY #$0002 + LDA [$F7],Y + TAX + LDA [$F7] + STA $EC + STX $EE + LDY #$0002 + LDA [$EC],Y + TAX + LDA [$EC] + LDY #$0004 + PHA + TXA + STA [$FB],Y + PLA + LDY #$0002 + STA [$FB],Y + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L030D54 ENT + PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EC + TCS + LDY #$0002 + LDA [$F9],Y + TAX + LDA [$F9] + PHX + PHA + JSL L04023C + PLY + PLY + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L030D77 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00CE + TCS + LDA #L0C00E6 + LDX #^L0C00E6 + PHX + PHA + LDX L0B00DF + LDA L0B00DD + JSL L010B98 + BNE L030DAF + PEA ^L0C2500 + PEA L0C2500 + PEA $0000 + TDC + CLC + ADC #$00DD + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + BRA L030DC6 +L030DAF PEA ^L0C2509 + PEA L0C2509 + PEA $0000 + TDC + CLC + ADC #$00DD + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY +L030DC6 PEA $0000 + TDC + CLC + ADC #$00DD + PHA + JSL L010D87 + PLY + PLY + SEP #$20 + STA $DC + REP #$20 + PEA $0000 + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + PEA $0000 + PEA $0000 + PEI $FF + PEI $FD + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + JSL L031F08 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEA $0087 + LDA $FF + CLC + ADC #$000F + PHA + PEI $FF + JSL L0321FD + PLY + PLY + PLY + PEA ^L0C0F8A + PEA L0C0F8A + LDA #$0004 + CLC + ADC $FD + PHA + LDA #$0001 + CLC + ADC $FF + PHA + LDA #$0031 + CLC + ADC $FD + PHA + LDA #$000E + CLC + ADC $FF + PHA + _SetRect + BCS L030E47 + LDA #$0000 +L030E47 STAL L0B0002 + PEA ^L0C0F92 + PEA L0C0F92 + LDA #$0033 + CLC + ADC $FD + PHA + LDA #$0001 + CLC + ADC $FF + PHA + LDA #$0081 + CLC + ADC $FD + PHA + LDA #$000E + CLC + ADC $FF + PHA + _SetRect + BCS L030E79 + LDA #$0000 +L030E79 STAL L0B0002 + PEA ^L0C0F9A + PEA L0C0F9A + LDA #$0083 + CLC + ADC $FD + PHA + LDA #$0001 + CLC + ADC $FF + PHA + LDA #$00B0 + CLC + ADC $FD + PHA + LDA #$000E + CLC + ADC $FF + PHA + _SetRect + BCS L030EAB + LDA #$0000 +L030EAB STAL L0B0002 + TSC + CLC + ADC #$0028 + TCS + PLD + RTL + +L030EB7 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F2 + TCS + PEA ^L0C0F92 + PEA L0C0F92 + LDA #L0C0F8A + LDX #^L0C0F8A + STA $F6 + STX $F8 + LDY #$0002 + LDA [$F6],Y + SEC + SBC #$0008 + PHA + LDAL L0C0F8A + SEC + SBC #$0001 + PHA + LDA #L0C0F9A + LDX #^L0C0F9A + STA $F6 + STX $F8 + LDY #$0006 + LDA [$F6],Y + CLC + ADC #$0006 + PHA + LDA #L0C0F9A + LDX #^L0C0F9A + STA $F6 + STX $F8 + LDY #$0004 + LDA [$F6],Y + CLC + ADC #$0001 + PHA + _SetRect + BCS L030F19 + LDA #$0000 +L030F19 STAL L0B0002 + PEA ^L0C0F92 + PEA L0C0F92 + _EraseRect + BCS L030F2F + LDA #$0000 +L030F2F STAL L0B0002 + LDA #$0001 + STA $F4 + BRA L030F6C +L030F3A LDA $F4 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0F82 + LDX #^L0C0F82 + JSL L010922 + PEA $0000 + PEA $0000 + PEA $0000 + PEA $FFFF + _SetRect + BCS L030F66 + LDA #$0000 +L030F66 STAL L0B0002 + INC $F4 +L030F6C LDA $F4 + SEC + SBC #$0004 + BVS L030F77 + EOR #$8000 +L030F77 BPL L030F3A + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L030F81 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00DA + TCS + PEA $0000 + TDC + CLC + ADC #$00EC + PHA + LDA #L0C0F8A + LDX #^L0C0F8A + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + SEC + SBC #$0004 + PHA + LDAL L0C0F8A + SEC + SBC #$0001 + PHA + LDA #L0C0F9A + LDX #^L0C0F9A + STA $F4 + STX $F6 + LDY #$0006 + LDA [$F4],Y + CLC + ADC #$0003 + PHA + LDA #L0C0F9A + LDX #^L0C0F9A + STA $F4 + STX $F6 + LDY #$0004 + LDA [$F4],Y + CLC + ADC #$0002 + PHA + _SetRect + BCS L030FE6 + LDA #$0000 +L030FE6 STAL L0B0002 + LDA #L0C0F8A + LDX #^L0C0F8A + STA $F4 + STX $F6 + LDY #$0002 + LDA [$F4],Y + PHA + LDA #L0C0F8A + LDX #^L0C0F8A + STA $F4 + STX $F6 + LDY #$0006 + LDA [$F4],Y + PLX + STX $F8 + SEC + SBC $F8 + CMP #$0000 + BNE L031019 + LDA #$FFFF + STA $F0 +L031019 PEA $0000 + _SetPenMode + BCS L031028 + LDA #$0000 +L031028 STAL L0B0002 + LDA #L0C0F7A + LDX #^L0C0F7A + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $FF + BEQ L031076 + JSL L03096B + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0000 + PEA $0000 + PEA $0280 + PEA $00C8 + _SetRect + BCS L031072 + LDA #$0000 +L031072 STAL L0B0002 +L031076 LDA L0B008E + BEQ L0310F0 + LDA $E8 + SEC + SBC $EC + BEQ L0310F0 + BVS L031087 + EOR #$8000 +L031087 BPL L0310F0 + LDA $EA + SEC + SBC $EE + BEQ L0310F0 + BVS L031095 + EOR #$8000 +L031095 BPL L0310F0 + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + PEI $E6 + PEI $EC + PEI $EE + PEI $E8 + _SetRect + BCS L0310B4 + LDA #$0000 +L0310B4 STAL L0B0002 + LDA $EC + STA $E8 + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _EraseRect + BCS L0310D1 + LDA #$0000 +L0310D1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + _EraseRect + BCS L0310EA + LDA #$0000 +L0310EA STAL L0B0002 + BRA L031109 +L0310F0 PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + _EraseRect + BCS L031105 + LDA #$0000 +L031105 STAL L0B0002 +L031109 LDA $FF + BEQ L031152 + PEA $0008 + LDA $EC + SEC + SBC #$0001 + PHA + PEA $0000 + JSL L0321FD + PLY + PLY + PLY + PEA $0008 + PEA $00C8 + LDA $F0 + CLC + ADC #$0001 + PHA + JSL L0321FD + PLY + PLY + PLY + PEA $0008 + PEA $000A + PEA $0FFF + _SetColorEntry + BCS L03114A + LDA #$0000 +L03114A STAL L0B0002 + JSL L0718F3 +L031152 STZ L0B00A2 + LDAL L0C0F7C + PHA + LDAL L0C0F7A + CLC + ADC L0B0070 + SEC + SBC #$0001 + PHA + _MoveTo + BCS L031173 + LDA #$0000 +L031173 STAL L0B0002 + TSC + CLC + ADC #$001E + TCS + PLD + RTL + +L03117F ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B0094 + BEQ L0311A2 + STZ L0B0094 + _HideCursor + BCS L03119E + LDA #$0000 +L03119E STAL L0B0002 +L0311A2 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0311AA ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDA L0B0092 + BEQ L0311D5 + LDA L0B0094 + BNE L0311D5 + LDA #$0001 + STA L0B0094 + _ShowCursor + BCS L0311D1 + LDA #$0000 +L0311D1 STAL L0B0002 +L0311D5 TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L0311DD ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00DF + LDA L0B00DD + PHX + PHA + _SetCursor + BCS L0311FC + LDA #$0000 +L0311FC STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L031208 ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00F4 + TCS + LDX L0B00DB + LDA L0B00D9 + PHX + PHA + _SetCursor + BCS L031227 + LDA #$0000 +L031227 STAL L0B0002 + TSC + CLC + ADC #$0006 + TCS + PLD + RTL + +L031233 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00F0 + TCS + PHA + PEA $046E + PEA $0000 + _FlushEvents + BCS L031251 + LDA #$0000 +L031251 STAL L0B0002 + PLA + JSL L0311DD + JSL L0612B1 + PEA $0001 + JSL L06078F + PLY + JSL L0612DE + TAY + BEQ L031291 + LDAL L0C1A7A + CMP #$0000 + BNE L031291 + STZ L0B0078 + PEA ^L0C2515 + PEA L0C2515 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + BRA L0312BE + BRA L0312B0 +L031291 LDAL L0C1A7A + CMP #$0003 + BNE L0312B0 + PEA ^L0C2517 + PEA L0C2517 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + BRA L0312BE +L0312B0 PEI $FF + PEI $FD + JSL L0312C8 + PLY + PLY + JSL L031208 +L0312BE TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L0312C8 ENT + PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$0020 + TCS + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + PEA ^L0B003E + PEA L0B003E + JSL L030D54 + PLY + PLY + PLY + PLY + LDA L0B0078 + SEC + SBC #$0000 + BVS L0312F6 + EOR #$8000 +L0312F6 BPL L0312FB + BRL L03163D +L0312FB LDA L0B0078 + EOR #$FFFF + INC + STA $22 + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA $F2 + LDX $F4 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E2 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + STA $D8 + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + STA $D6 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + PHX + PHA + _GetPort + BCS L0313AC + LDA #$0000 +L0313AC STAL L0B0002 + JSL L031DB9 + TAY + TSC + CLC + ADC #$0010 + TCS + TYA + LDA $FF + BNE L0313FE + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + PEA $0017 + PEA $0025 + PEA $0239 + PEA $0028 + _SetRect + BCS L0313E1 + LDA #$0000 +L0313E1 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00EA + PHA + _ClipRect + BCS L0313FA + LDA #$0000 +L0313FA STAL L0B0002 +L0313FE PEI $FF + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + JSL L031717 + TAY + TSC + CLC + ADC #$000E + TCS + TYA + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDY #$0002 + LDA [$F2],Y + STA $D4 + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + STA $D2 + LDA $FD + BEQ L0314BA + LDAL L0C0733 + PHA + LDAL L0C0731 + PHA + LDAL L0C0745 + PHA + LDAL L0C0743 + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + TAY + TSC + SEC + SBC #$0004 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0004 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L0316A6 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TAY + BNE L031505 +L0314BA LDA $FD + BEQ L0314C1 + BRL L0315B9 +L0314C1 PEA $0000 + PEA $0000 + LDAL L0C0745 + PHA + LDAL L0C0743 + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + TAY + TSC + SEC + SBC #$0004 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0004 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + JSL L0316A6 + TAY + TSC + CLC + ADC #$000C + TCS + TYA + TAY + BNE L031505 + BRL L0315B9 +L031505 PEA ^L0C2519 + PEA L0C2519 + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + LDAL L0C0743 + STA $D0 + LDAL L0C0745 + STA $CE + PEI $FF + LDX #$0000 + TDC + CLC + ADC #$00CE + TAY + TSC + SEC + SBC #$0004 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0004 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + JSL L03191A + TAY + TSC + CLC + ADC #$0012 + TCS + TYA + PEI $FF + PEA $0000 + TDC + CLC + ADC #$00CE + PHA + PEA $0000 + TDC + CLC + ADC #$00CE + PHA + PEA $0000 + TDC + CLC + ADC #$00E2 + PHA + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + JSL L031C09 + TAY + TSC + CLC + ADC #$0016 + TCS + TYA + BRL L031623 +L0315B9 PEA ^L0C251B + PEA L0C251B + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY + PEI $FF + LDX #$0000 + TDC + CLC + ADC #$00D6 + TAY + TSC + SEC + SBC #$0004 + TCS + PHX + PHY + PEA $0000 + INC + PHA + PEA $0004 + JSL L010BC3 + PLY + PLY + PLY + PLY + PLY + LDA $22 + ASL + ASL + ASL + LDX #$0000 + PHX + PHA + LDA #L0C0EF2 + LDX #^L0C0EF2 + JSL L010922 + PEA $0000 + TDC + CLC + ADC #$00DA + PHA + PEA $0000 + TDC + CLC + ADC #$0024 + PHA + JSL L03191A + TAY + TSC + CLC + ADC #$0012 + TCS + TYA +L031623 PEA $0000 + TDC + CLC + ADC #$0024 + PHA + PEA ^L0B003E + PEA L0B003E + JSL L030D54 + PLY + PLY + PLY + PLY + BRL L031684 +L03163D PEA ^L0C251D + PEA L0C251D + PEA ^L0C1188 + PEA L0C1188 + JSL L0110F7 + PLY + PLY + PLY + PLY +L031651 PHA + PEA $0000 + _StillDown + BCS L031661 + LDA #$0000 +L031661 STAL L0B0002 + PLA + TAY + BEQ L03166B + BRA L031651 +L03166B LDA L0B0078 + SEC + SBC #$0000 + BEQ L031684 + BVS L031679 + EOR #$8000 +L031679 BPL L031684 + LDA L0B0078 + PHA + JSL L0607BE + PLY +L031684 LDA $FF + BNE L03169E + PEA ^L0C0CEC + PEA L0C0CEC + _ClipRect + BCS L03169A + LDA #$0000 +L03169A STAL L0B0002 +L03169E TSC + CLC + ADC #$00D6 + TCS + PLD + RTL + +L0316A6 PHD + TSC + SEC + SBC #$00EF + TCD + ADC #$00E6 + TCS + LDA $FD + BNE L0316C3 + LDA $FF + BNE L0316C3 + LDA #$000B + STA $FD + LDA #$0004 + STA $FF +L0316C3 LDA $F9 + SEC + SBC $FD + SEC + SBC $F7 + BEQ L0316D4 + BVS L0316D2 + EOR #$8000 +L0316D2 BMI L031703 +L0316D4 LDA $F9 + CLC + ADC $FD + SEC + SBC $F7 + BVS L0316E1 + EOR #$8000 +L0316E1 BPL L031703 + LDA $FB + SEC + SBC $FF + SEC + SBC $F5 + BEQ L0316F4 + BVS L0316F2 + EOR #$8000 +L0316F2 BMI L031703 +L0316F4 LDA $FB + CLC + ADC $FF + SEC + SBC $F5 + BVS L031701 + EOR #$8000 +L031701 BMI L03170A +L031703 LDA #$0000 + BRA L03170D + BRA L03170D +L03170A LDA #$0001 +L03170D TAY + TSC + CLC + ADC #$0008 + TCS + TYA + PLD + RTL + +L031717 PHD + TSC + SEC + SBC #$00ED + TCD + ADC #$0016 + TCS + PHX + PHA + _GetPort + BCS L031730 + LDA #$0000 +L031730 STAL L0B0002 + PLA + PLX + STX $30 + STA $2E + LDA $2E + LDX $30 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$0032 + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0000 + TDC + CLC + ADC #$0032 + PHA + _SetPort + BCS L03176A + LDA #$0000 +L03176A STAL L0B0002 + PEA $0002 + _SetPenMode + BCS L03177D + LDA #$0000 +L03177D STAL L0B0002 + PEA $0002 + PEA $0001 + _SetPenSize + BCS L031793 + LDA #$0000 +L031793 STAL L0B0002 + PEI $FD + PEI $FB + _FrameRect + BCS L0317A7 + LDA #$0000 +L0317A7 STAL L0B0002 + PEI $FD + PEI $FB + _FrameRect + BCS L0317BB + LDA #$0000 +L0317BB STAL L0B0002 + LDY #$0002 + LDA [$FB],Y + STA $E6 + LDA [$FB] + STA $E4 + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDX $F5 + LDA $F3 + STX $1A + STA $18 + LDX $30 + LDA $2E + STX $1E + STA $1C + LDX $F9 + LDA $F7 + STX $22 + STA $20 + LDX #$0000 + TDC + CLC + ADC #$00E4 + STX $26 + STA $24 + LDY #$001A + LDA [$2E],Y + TAX + LDY #$0018 + LDA [$2E],Y + STX $2C + STA $2A +L03181A PHA + PEA $0000 + _StillDown + BCS L03182A + LDA #$0000 +L03182A STAL L0B0002 + PLA + TAY + BNE L031835 + BRL L0318B8 +L031835 JSL L06063A + LDA #L0C1A84 + LDX #^L0C1A84 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $FF + BNE L03185E + LDA $E0 + STA $DC +L03185E LDA $DE + CMP $E2 + BNE L03186A + LDA $DC + CMP $E0 + BEQ L0318B5 +L03186A PEI $FF + LDA $DC + SEC + SBC $E0 + PHA + LDA $DE + SEC + SBC $E2 + PHA + PEA $0000 + TDC + CLC + ADC #$00E4 + PHA + PEA $0000 + TDC + CLC + ADC #$0018 + PHA + JSL L031B0B + TAY + TSC + CLC + ADC #$000E + TCS + TYA + LDX #$0000 + TDC + CLC + ADC #$00DC + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX +L0318B5 BRL L03181A +L0318B8 LDY #$0002 + LDA [$FB],Y + PHA + LDY #$0006 + LDA [$FB],Y + PHA + LDA $E6 + PLX + STX $EC + CLC + ADC $EC + PLX + STX $EC + SEC + SBC $EC + LDY #$0006 + STA [$FB],Y + LDA $E6 + LDY #$0002 + STA [$FB],Y + LDA [$FB] + PHA + LDY #$0004 + LDA [$FB],Y + PHA + LDA $E4 + PLX + STX $EC + CLC + ADC $EC + PLX + STX $EC + SEC + SBC $EC + LDY #$0004 + STA [$FB],Y + LDA $E4 + STA [$FB] + PEI $30 + PEI $2E + _SetPort + BCS L03190E + LDA #$0000 +L03190E STAL L0B0002 + TSC + CLC + ADC #$00D6 + TCS + PLD + RTL + +L03191A PHD + TSC + SEC + SBC #$00E9 + TCD + ADC #$00B8 + TCS + PHX + PHA + _GetPort + BCS L031933 + LDA #$0000 +L031933 STAL L0B0002 + PLA + PLX + STX $D2 + STA $D0 + JSL L03117F + LDY #$0002 + LDA [$F7],Y + STA $D6 + LDA [$F7] + STA $D4 + LDX $F1 + LDA $EF + STX $BC + STA $BA + LDX $D2 + LDA $D0 + STX $C0 + STA $BE + LDX $F5 + LDA $F3 + STX $C4 + STA $C2 + LDX #$0000 + TDC + CLC + ADC #$00D4 + STX $C8 + STA $C6 + LDY #$001A + LDA [$D0],Y + TAX + LDY #$0018 + LDA [$D0],Y + STX $CE + STA $CC + LDA $FD + SEC + SBC $D6 + STA $DE + LDA $FB + SEC + SBC $D4 + STA $DC +L03198D LDA $DE + BNE L031998 + LDA $DC + BNE L031998 + BRL L031ABD +L031998 PEI $DE + JSL L0108F6 + PLY + STA $E2 + PEI $DC + JSL L0108F6 + PLY + STA $E0 + LDA $E0 + CMP #$0000 + BNE L0319DF + LDA #$0000 + STA $D8 + LDA $E2 + CMP #$0000 + BNE L0319C4 + LDA #$0000 + STA $DA + BRA L0319DC +L0319C4 LDA $E2 + SEC + SBC #$0008 + BVS L0319CF + EOR #$8000 +L0319CF BPL L0319D8 + LDA #$0008 + STA $DA + BRA L0319DC +L0319D8 LDA $E2 + STA $DA +L0319DC BRL L031A5E +L0319DF LDA $E0 + PHA + LDA $E2 + SEC + JSL L01092D + PLY + STA $DA + SEC + SBC #$0001 + BVS L0319F5 + EOR #$8000 +L0319F5 BPL L031A12 + LDA #$0001 + STA $D8 + LDA $DA + SEC + SBC #$0008 + BEQ L031A10 + BVS L031A09 + EOR #$8000 +L031A09 BPL L031A10 + LDA #$0008 + STA $DA +L031A10 BRA L031A5E +L031A12 LDA $E2 + CMP #$0000 + BNE L031A38 + LDA #$0000 + STA $DA + LDA $E0 + SEC + SBC #$0004 + BVS L031A29 + EOR #$8000 +L031A29 BPL L031A32 + LDA #$0004 + STA $D8 + BRA L031A36 +L031A32 LDA $E0 + STA $D8 +L031A36 BRA L031A5E +L031A38 LDA #$0001 + STA $DA + LDA $E2 + PHA + LDA $E0 + SEC + JSL L01092D + PLY + STA $D8 + LDA $D8 + SEC + SBC #$0004 + BEQ L031A5E + BVS L031A57 + EOR #$8000 +L031A57 BPL L031A5E + LDA #$0004 + STA $D8 +L031A5E LDA $DE + SEC + SBC #$0000 + BVS L031A69 + EOR #$8000 +L031A69 BMI L031A73 + LDA $DA + EOR #$FFFF + INC + STA $DA +L031A73 LDA $DC + SEC + SBC #$0000 + BVS L031A7E + EOR #$8000 +L031A7E BMI L031A88 + LDA $D8 + EOR #$FFFF + INC + STA $D8 +L031A88 PEI $FF + PEI $D8 + PEI $DA + PEA $0000 + TDC + CLC + ADC #$00D4 + PHA + PEA $0000 + TDC + CLC + ADC #$00BA + PHA + JSL L031B0B + TAY + TSC + CLC + ADC #$000E + TCS + TYA + LDA $FD + SEC + SBC $D6 + STA $DE + LDA $FB + SEC + SBC $D4 + STA $DC + BRL L03198D +L031ABD JSL L0311AA + LDY #$0002 + LDA [$F7],Y + PHA + LDY #$0006 + LDA [$F7],Y + PLX + STX $E8 + SEC + SBC $E8 + STA $DA + LDA [$F7] + PHA + LDY #$0004 + LDA [$F7],Y + PLX + STX $E8 + SEC + SBC $E8 + STA $D8 + LDA $FD + LDY #$0002 + STA [$F7],Y + LDA $FB + STA [$F7] + LDA $FD + CLC + ADC $DA + LDY #$0006 + STA [$F7],Y + LDA $FB + CLC + ADC $D8 + LDY #$0004 + STA [$F7],Y + TSC + CLC + ADC #$0030 + TCS + PLD + RTL + +L031B0B PHD + TSC + SEC + SBC #$00ED + TCD + ADC #$00C4 + TCS + LDX $F9 + LDA $F7 + LDY #$000E + PHA + TXA + STA [$F3],Y + PLA + LDY #$000C + STA [$F3],Y + LDA $FF + BEQ L031B4A + LDA #$0002 + LDY #$0010 + STA [$F3],Y + PEI $F5 + PEI $F3 + _PaintPixels + BCS L031B43 + LDA #$0000 +L031B43 STAL L0B0002 + BRL L031BD9 +L031B4A LDA $F3 + LDX $F5 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00C6 + PHA + PEA $0016 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $CE + LDX $D0 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEA $0008 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA $D2 + LDX $D4 + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$00DC + PHA + PEA $0004 + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + PEI $DE + PEI $DC + _OffsetRect + BCS L031BB4 + LDA #$0000 +L031BB4 STAL L0B0002 + PEA $0000 + TDC + CLC + ADC #$00E0 + PHA + _EraseRect + BCS L031BCD + LDA #$0000 +L031BCD STAL L0B0002 + LDA #$0000 + LDY #$0010 + STA [$F3],Y +L031BD9 LDY #$0002 + LDA [$F7],Y + CLC + ADC $FB + LDY #$0002 + STA [$F7],Y + LDA [$F7] + CLC + ADC $FD + STA [$F7] + PEI $F5 + PEI $F3 + _PaintPixels + BCS L031BFD + LDA #$0000 +L031BFD STAL L0B0002 + TSC + CLC + ADC #$0028 + TCS + PLD + RTL + +L031C09 PHD + TSC + SEC + SBC #$00E5 + TCD + ADC #$0011 + TCS + JSL L03117F + LDA #$0004 + STA $16 + LDA #$0000 + STA $1A + LDA #$0000 + STA $18 + PHX + PHA + _GetPort + BCS L031C35 + LDA #$0000 +L031C35 STAL L0B0002 + PLA + PLX + STX $C8 + STA $C6 + PEI $F5 + PEI $F3 + _EraseRect + BCS L031C4F + LDA #$0000 +L031C4F STAL L0B0002 + LDX $ED + LDA $EB + STX $CC + STA $CA + LDX $C8 + LDA $C6 + STX $D0 + STA $CE + LDX $F1 + LDA $EF + STX $D4 + STA $D2 + LDY #$001A + LDA [$C6],Y + TAX + LDY #$0018 + LDA [$C6],Y + STX $DE + STA $DC + LDX $F9 + LDA $F7 + STX $D8 + STA $D6 + LDA #$0002 + STA $DA + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + _PaintPixels + BCS L031C9C + LDA #$0000 +L031C9C STAL L0B0002 + LDA $EB + LDX $ED + PHX + PHA + PEA $0000 + TDC + CLC + ADC #$001C + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDA [$EF] + PHA + LDY #$0004 + LDA [$EF],Y + PLX + STX $E4 + SEC + SBC $E4 + CLC + ADC #$0001 + PHA + LDA $22 + CLC + JSL L010AAE + PLA + STA $14 + PEI $14 + PEA $0000 + TDC + CLC + ADC #$001C + PHA + PEA ^L0B0042 + PEA L0B0042 + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + LDX #$0000 + TDC + CLC + ADC #$001C + STX $D0 + STA $CE + LDX #$0000 + TDC + CLC + ADC #$0018 + STX $D8 + STA $D6 + LDA #$0000 + STA $DA + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + _PaintPixels + BCS L031D24 + LDA #$0000 +L031D24 STAL L0B0002 + LDX L0B0044 + LDA L0B0042 + PHX + PHA + JSL L071684 + PLY + PLY + LDX $C8 + LDA $C6 + STX $D0 + STA $CE + LDX $FD + LDA $FB + STX $D8 + STA $D6 + LDA #$0003 + STA $DA + LDX #$0000 + TDC + CLC + ADC #$001C + STX $CC + STA $CA + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + _PaintPixels + BCS L031D6C + LDA #$0000 +L031D6C STAL L0B0002 + LDA #$0001 + STA $DA + LDX $ED + LDA $EB + STX $CC + STA $CA + PEA $0000 + TDC + CLC + ADC #$00CA + PHA + _PaintPixels + BCS L031D92 + LDA #$0000 +L031D92 STAL L0B0002 + JSL L0311AA + PEA $0000 + TDC + CLC + ADC #$001C + PHA + PEA ^L0B0042 + PEA L0B0042 + JSL L030D54 + PLY + PLY + PLY + PLY + TSC + CLC + ADC #$00D3 + TCS + PLD + RTL + +L031DB9 PHD + TSC + SEC + SBC #$00EB + TCD + ADC #$00C6 + TCS + JSL L03117F + LDA $F1 + LDX $F3 + PHX + PHA + LDA $F7 + PHA + LDA $F5 + PHA + PEA $00AA + JSL L010BC3 + PLA + PLA + PLA + PLA + PLX + LDY #$0006 + LDA [$F1],Y + PHA + LDA #$0280 + CLC + JSL L01092D + PLY + STA $CA + LDA $CA + PHA + LDY #$0002 + LDA [$F9],Y + PHA + LDY #$0006 + LDA [$F9],Y + PLX + STX $EA + SEC + SBC $EA + CLC + ADC #$0001 + CLC + JSL L01092D + PLY + CLC + ADC #$0001 + LDY #$0006 + STA [$F5],Y + LDA [$F9] + PHA + LDY #$0004 + LDA [$F9],Y + PLX + STX $EA + SEC + SBC $EA + CLC + ADC #$0001 + PHA + LDY #$0006 + LDA [$F5],Y + CLC + ADC #$0001 + CLC + JSL L010AAE + PLA + STA $C8 + PEI $C8 + PEI $F7 + PEI $F5 + PEA ^L0B003E + PEA L0B003E + JSL L030D03 + PLY + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$00CC + PHA + PEA $0000 + PEA $0000 + _SetPt + BCS L031E6C + LDA #$0000 +L031E6C STAL L0B0002 + LDX $F3 + LDA $F1 + STX $D2 + STA $D0 + LDX $F7 + LDA $F5 + STX $D6 + STA $D4 + LDX $FB + LDA $F9 + STX $DA + STA $D8 + LDX #$0000 + TDC + CLC + ADC #$00CC + STX $DE + STA $DC + LDA #$0000 + STA $E0 + LDY #$001A + LDA [$F1],Y + TAX + LDY #$0018 + LDA [$F1],Y + STX $E4 + STA $E2 + PEA $0000 + TDC + CLC + ADC #$00D0 + PHA + _PaintPixels + BCS L031EBD + LDA #$0000 +L031EBD STAL L0B0002 + JSL L0311AA + PEI $FF + PEI $FD + PEA $0000 + PEA $0000 + LDY #$0002 + LDA [$F9],Y + PHA + LDY #$0006 + LDA [$F9],Y + PLX + STX $EA + SEC + SBC $EA + PHA + LDA [$F9] + PHA + LDY #$0004 + LDA [$F9],Y + PLX + STX $EA + SEC + SBC $EA + PHA + _SetRect + BCS L031EFC + LDA #$0000 +L031EFC STAL L0B0002 + TSC + CLC + ADC #$0024 + TCS + PLD + RTL + +L031F08 ENT + PHD + TSC + SEC + SBC #$00E9 + TCD + ADC #$0075 + TCS + PEI $F1 + PEI $EF + PEA $0000 + TDC + CLC + ADC #$007F + PHA + JSL L0110F7 + PLY + PLY + PLY + PLY + PEA $0000 + TDC + CLC + ADC #$0080 + PHA + JSL L040E53 + PLY + PLY + STA $77 + SEC + SBC #$0000 + BVS L031F42 + EOR #$8000 +L031F42 BPL L031F99 + LDA $77 + SEC + SBC #$0032 + BVS L031F4F + EOR #$8000 +L031F4F BMI L031F99 + PEI $FF + PEI $FD + PEI $FB + PEI $F9 + PEI $F7 + PEI $F5 + PEI $F3 + LDA $77 + PHA + LDA #$0022 + CLC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + LDA #L0C1AB2 + LDX #^L0C1AB2 + JSL L010922 + PLA + PLX + STA $E4 + STX $E6 + LDY #$0004 + LDA [$E4],Y + TAX + LDY #$0002 + LDA [$E4],Y + PHX + PHA + JSL L030000 + TAY + TSC + CLC + ADC #$0012 + TCS + TYA +L031F99 TSC + CLC + ADC #$0073 + TCS + PLD + RTL + +L031FA1 ENT + PHD + TSC + SEC + SBC #$00F9 + TCD + ADC #$00F2 + TCS + LDA $FF + PHA + PHA + _Random + BCS L031FBC + LDA #$0000 +L031FBC STAL L0B0002 + PLA + SEC + JSL L01092D + JSL L0108F6 + PLY + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + +L031FD5 PHD + TSC + SEC + SBC #$00F7 + TCD + ADC #$00CA + TCS + STZ $CE + BRA L032005 +L031FE4 LDA $CE + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA #$0000 + STA [$F2] + INC $CE +L032005 LDA $CE + SEC + SBC #$0010 + BVS L032010 + EOR #$8000 +L032010 BPL L031FE4 + PEA $0008 + PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _SetColorTable + BCS L03202A + LDA #$0000 +L03202A STAL L0B0002 + LDA #$000E + STA $D0 + BRL L0321C2 +L032036 STZ $CE + BRL L03214A +L03203B LDA #$0008 + PHA + LDA $CE + LDX #$0000 + TAY + BPL L032048 + DEX +L032048 STX $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$0F00 + SEC + JSL L010CD9 + PLA + SEC + SBC $D0 + BEQ L032098 + BVS L032074 + EOR #$8000 +L032074 BPL L032098 + LDA $CE + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + CLC + ADC #$0100 + STA [$F2] +L032098 LDA #$0004 + PHA + LDA $CE + LDX #$0000 + TAY + BPL L0320A5 + DEX +L0320A5 STX $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$00F0 + SEC + JSL L010CD9 + PLA + SEC + SBC $D0 + BEQ L0320F5 + BVS L0320D1 + EOR #$8000 +L0320D1 BPL L0320F5 + LDA $CE + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + CLC + ADC #$0010 + STA [$F2] +L0320F5 LDA $CE + LDX #$0000 + TAY + BPL L0320FE + DEX +L0320FE STX $F6 + ASL + ROL $F6 + LDX $F6 + PHX + PHA + LDX $FF + LDA $FD + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + AND #$000F + SEC + SBC $D0 + BEQ L032148 + BVS L032124 + EOR #$8000 +L032124 BPL L032148 + LDA $CE + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D2 + JSL L010922 + PLA + PLX + STA $F2 + STX $F4 + LDA [$F2] + CLC + ADC #$0001 + STA [$F2] +L032148 INC $CE +L03214A LDA $CE + SEC + SBC #$0010 + BVS L032155 + EOR #$8000 +L032155 BMI L03215A + BRL L03203B +L03215A PEA $0008 + PEA $0000 + TDC + CLC + ADC #$00D2 + PHA + _SetColorTable + BCS L032172 + LDA #$0000 +L032172 STAL L0B0002 + JSL L0612B1 +L03217A LDA #$0002 + PHA + LDA #$000E + SEC + SBC $D0 + SEC + JSL L01092D + PLY + PHA + LDA #$0006 + SEC + JSL L010AAE + PLA + LDX #$0000 + PHX + PHA + PHX + PHA + _TickCount + BCS L0321A7 + LDA #$0000 +L0321A7 STAL L0B0002 + PLA + PLX + SEC + SBC L0B0062 + PHA + TXA + SBC L0B0064 + TAX + PLA + JSL L010B98 + BCC L0321C0 + BRA L03217A +L0321C0 DEC $D0 +L0321C2 LDA $D0 + SEC + SBC #$0000 + BVS L0321CD + EOR #$8000 +L0321CD BPL L0321D2 + BRL L032036 +L0321D2 JSL L03223A + TSC + CLC + ADC #$002C + TCS + PLD + RTL + +L0321DE PHD + TSC + SEC + SBC #$00F3 + TCD + ADC #$00EA + TCS + LDA [$F9] + STA $EC + LDA [$FD] + STA [$F9] + LDA $EC + STA [$FD] + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L0321FD ENT + PHD + TSC + SEC + SBC #$00F5 + TCD + ADC #$00EC + TCS + LDA $FB + STA $EE + BRA L032224 +L03220E PEI $EE + PEI $FF + _SetSCB + BCS L03221E + LDA #$0000 +L03221E STAL L0B0002 + INC $EE +L032224 LDA $EE + SEC + SBC $FD + BEQ L03220E + BVS L032230 + EOR #$8000 +L032230 BPL L03220E + TSC + CLC + ADC #$0008 + TCS + PLD + RTL + +L03223A ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00AE + TCS + PEA $0008 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + _GetColorTable + BCS L03225D + LDA #$0000 +L03225D STAL L0B0002 + LDA $D6 + STA $B6 + LDA #$0008 + PHA + LDA $D6 + SEC + JSL L010CD9 + PLA + AND #$000F + PHA + LDA #$0004 + PHA + LDA $D6 + SEC + JSL L010CD9 + PLA + AND #$000F + PHA + LDA $D6 + AND #$000F + PLX + STX $FA + CLC + ADC $FA + PLX + STX $FA + CLC + ADC $FA + STA $B0 + LDA $B0 + SEC + SBC #$0015 + BEQ L0322AE + BVS L0322A5 + EOR #$8000 +L0322A5 BPL L0322AE + LDA #$0000 + STA $BC + BRA L0322B3 +L0322AE LDA #$0FFF + STA $BC +L0322B3 PEA $000F + PEA $000F + PEA $000F + JSL L03238E + PLY + PLY + PLY + STA $BA + PEA $0007 + PEA $0000 + TDC + CLC + ADC #$00B6 + PHA + _SetColorTable + BCS L0322DD + LDA #$0000 +L0322DD STAL L0B0002 + JSL L0322ED + TSC + CLC + ADC #$004C + TCS + PLD + RTL + +L0322ED ENT + PHD + TSC + SEC + SBC #$00FB + TCD + ADC #$00D2 + TCS + PEA $0007 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + _GetColorTable + BCS L032310 + LDA #$0000 +L032310 STAL L0B0002 + LDA #$0004 + STA $D4 + BRA L03235B +L03231B LDA $D4 + SEC + SBC #$0004 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + LDA [$F6] + PHA + LDA $D4 + ASL + LDX #$0000 + PHX + PHA + LDX #$0000 + TDC + CLC + ADC #$00D6 + JSL L010922 + PLA + PLX + STA $F6 + STX $F8 + PLA + STA [$F6] + INC $D4 +L03235B LDA $D4 + SEC + SBC #$000F + BEQ L03231B + BVS L032368 + EOR #$8000 +L032368 BPL L03231B + PEA $0007 + PEA $0000 + TDC + CLC + ADC #$00D6 + PHA + _SetColorTable + BCS L032382 + LDA #$0000 +L032382 STAL L0B0002 + TSC + CLC + ADC #$0028 + TCS + PLD + RTL + +L03238E ENT + PHD + TSC + SEC + SBC #$00F5 + TCD + ADC #$00EE + TCS + LDA $FD + PHA + LDA #$0010 + SEC + JSL L010AAE + LDA $FB + PHA + LDA #$0100 + SEC + JSL L010AAE + PLA + PLX + STX $F4 + CLC + ADC $F4 + CLC + ADC $FF + TAY + TSC + CLC + ADC #$0006 + TCS + TYA + PLD + RTL + diff --git a/yourtour/TWO.X.S b/yourtour/TWO.X.S new file mode 100644 index 0000000..f260df9 --- /dev/null +++ b/yourtour/TWO.X.S @@ -0,0 +1,88 @@ + +* TFBD generated externals +* (c) PHC 1992,93 + + + EXT L0110F7 + EXT L010922 + EXT L010AA3 + EXT L010B98 + EXT L0B0002 + EXT L021DFD + EXT L01092D + EXT L010AAE + EXT L010D87 + EXT L010BC3 + EXT L0C0F7A + EXT L0C0F7C + EXT L040E53 + EXT L040000 + EXT L04023C + EXT L0C1A84 + EXT L0B0078 + EXT L0B0070 + EXT L0B008E + EXT L0B00A2 + EXT L0B0092 + EXT L0B008A + EXT L0C1A7A + EXT L0C0EDA + EXT L0C1AB2 + EXT L0C0EF2 + EXT L0C0CDC + EXT L0C1188 + EXT L0C0F82 + EXT L010CB2 + EXT L0C0EE8 + EXT L0C0EE4 + EXT L0C0EE6 + EXT L0C0EE2 + EXT L0C0CE2 + EXT L0C0B8E + EXT L0C0CF6 + EXT L0C0CF4 + EXT L0C0F8A + EXT L0718F3 + EXT L0612B1 + EXT L06078F + EXT L0612DE + EXT L0C0733 + EXT L0C0731 + EXT L0C0745 + EXT L0C0743 + EXT L0607BE + EXT L06063A + EXT L0108F6 + EXT L071684 + EXT L010CD9 + EXT L0B0034 + EXT L0B0032 + EXT L0B0036 + EXT L0B0030 + EXT L0B002E + EXT L0B003A + EXT L0B00DF + EXT L0B00DD + EXT L0B0094 + EXT L0B00DB + EXT L0B00D9 + EXT L0B003E + EXT L0B0042 + EXT L0B0044 + EXT L0B0062 + EXT L0B0064 + EXT L0C0C32 + EXT L0C0CE4 + EXT L0C0B88 + EXT L0C0B90 + EXT L0C00E6 + EXT L0C2500 + EXT L0C2509 + EXT L0C0F92 + EXT L0C0F9A + EXT L0C2515 + EXT L0C2517 + EXT L0C2519 + EXT L0C251B + EXT L0C251D + EXT L0C0CEC diff --git a/yourtour/YOURTOUR b/yourtour/YOURTOUR new file mode 100644 index 0000000..39d426a Binary files /dev/null and b/yourtour/YOURTOUR differ diff --git a/yourtour/Your Tour of the Apple IIgs 2020.2mg b/yourtour/Your Tour of the Apple IIgs 2020.2mg new file mode 100644 index 0000000..5a5f8f1 Binary files /dev/null and b/yourtour/Your Tour of the Apple IIgs 2020.2mg differ diff --git a/yourtour/yourtour informations.txt b/yourtour/yourtour informations.txt new file mode 100644 index 0000000..8f84ab5 --- /dev/null +++ b/yourtour/yourtour informations.txt @@ -0,0 +1,14 @@ +0001 main 0000 +0002 ONE 0000 +0003 TWO 0000 +0004 THREE 0000 +0005 FOUR 0000 +0006 FIVE 0000 +0007 SIX 0000 +0008 CTRICKS 8000 +0009 LTRICKS 8000 +000A INIT 8000 +000B ~globals 4001 +000C ~arrays 4001 +000D DIRECT 0012 +000E ~JumpTable 0002