diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..af6f93d --- /dev/null +++ b/.gitattributes @@ -0,0 +1,17 @@ +# Auto detect text files and perform LF normalization +* text=auto + +# Custom for Visual Studio +*.cs diff=csharp + +# Standard to msysgit +*.doc diff=astextplain +*.DOC diff=astextplain +*.docx diff=astextplain +*.DOCX diff=astextplain +*.dot diff=astextplain +*.DOT diff=astextplain +*.pdf diff=astextplain +*.PDF diff=astextplain +*.rtf diff=astextplain +*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..74a28d4 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ +# Windows thumbnail cache files +Thumbs.db +ehthumbs.db +ehthumbs_vista.db + +# Folder config file +Desktop.ini + +# Recycle Bin used on file shares +$RECYCLE.BIN/ + +# Windows Installer files +*.cab +*.msi +*.msm +*.msp + +# Windows shortcuts +*.lnk + +# ========================= +# Operating System Files +# ========================= +.vscode/tasks.json +compile.txt +aviator-beebasm.code-workspace +run.bat diff --git a/1-source-files/README.md b/1-source-files/README.md new file mode 100644 index 0000000..1bcfa8e --- /dev/null +++ b/1-source-files/README.md @@ -0,0 +1,15 @@ +# Source files for the BBC Micro disc version of Aviator + +This folder contains the source files for the BBC Micro disc version of Aviator. + +* [basic-programs](basic-programs) contains any BASIC programs to be included on the final game disc + +* [boot-files](boot-files) contains any !BOOT files to be included on the final game disc + +* [images](images) contains the image binaries for the title screen and dashboard + +* [main-sources](main-sources) contains the annotated source code + +--- + +_Mark Moxon_ \ No newline at end of file diff --git a/1-source-files/basic-programs/$.AVIA.bin b/1-source-files/basic-programs/$.AVIA.bin new file mode 100644 index 0000000..fc7ba4a Binary files /dev/null and b/1-source-files/basic-programs/$.AVIA.bin differ diff --git a/1-source-files/basic-programs/$.AVIA1.bin b/1-source-files/basic-programs/$.AVIA1.bin new file mode 100644 index 0000000..b6ac7f2 Binary files /dev/null and b/1-source-files/basic-programs/$.AVIA1.bin differ diff --git a/1-source-files/basic-programs/$.AVIATOR.bin b/1-source-files/basic-programs/$.AVIATOR.bin new file mode 100644 index 0000000..4ddb298 Binary files /dev/null and b/1-source-files/basic-programs/$.AVIATOR.bin differ diff --git a/1-source-files/boot-files/$.!BOOT.bin b/1-source-files/boot-files/$.!BOOT.bin new file mode 100644 index 0000000..64e98c9 --- /dev/null +++ b/1-source-files/boot-files/$.!BOOT.bin @@ -0,0 +1 @@ +*BASIC PAGE=&1900 *FX21 CLOSE#0:CHAIN "AVIA" \ No newline at end of file diff --git a/1-source-files/images/$.DASHBD.bin b/1-source-files/images/$.DASHBD.bin new file mode 100644 index 0000000..cd5c354 Binary files /dev/null and b/1-source-files/images/$.DASHBD.bin differ diff --git a/1-source-files/main-sources/aviator-disc.asm b/1-source-files/main-sources/aviator-disc.asm new file mode 100644 index 0000000..739f467 --- /dev/null +++ b/1-source-files/main-sources/aviator-disc.asm @@ -0,0 +1,22 @@ +\ ****************************************************************************** +\ +\ AVIATOR DISC IMAGE SCRIPT +\ +\ Aviator was written by Geoffrey J Crammond and is copyright Acornsoft 1984 +\ +\ ------------------------------------------------------------------------------ +\ +\ This source file produces the following SSD disc image: +\ +\ * aviator-bbcmicro-co-uk.ssd +\ +\ This can be loaded into an emulator or a real BBC Micro. +\ +\ ****************************************************************************** + +PUTFILE "1-source-files/boot-files/$.!BOOT.bin", "!BOOT", &FFFFFF, &FFFFFF +PUTFILE "1-source-files/basic-programs/$.AVIA.bin", "AVIA", &FF1900, &FF8023 +PUTFILE "1-source-files/basic-programs/$.AVIA1.bin", "AVIA1", &FF1900, &FF8023 +PUTFILE "1-source-files/basic-programs/$.AVIATOR.bin", "AVIATOR", &FF1900, &FF8023 +PUTFILE "1-source-files/images/$.DASHBD.bin", "DASHBD", &FF7100, &FF7100 +PUTFILE "3-assembled-output/AVIA.bin", "AVIA?", &FF1100, &FF5E00 diff --git a/1-source-files/main-sources/aviator-source.asm b/1-source-files/main-sources/aviator-source.asm new file mode 100644 index 0000000..aec27ce --- /dev/null +++ b/1-source-files/main-sources/aviator-source.asm @@ -0,0 +1,8097 @@ +L0070 = $0070 +L0071 = $0071 +L0072 = $0072 +L0073 = $0073 +L0074 = $0074 +L0075 = $0075 +L0076 = $0076 +L0077 = $0077 +L0078 = $0078 +L0079 = $0079 +L007A = $007A +L007B = $007B +L007C = $007C +L007D = $007D +L007E = $007E +L007F = $007F +L0080 = $0080 +L0081 = $0081 +L0082 = $0082 +L0083 = $0083 +L0084 = $0084 +L0085 = $0085 +L0086 = $0086 +L0087 = $0087 +L0088 = $0088 +L0089 = $0089 +L008A = $008A +L008B = $008B +L008C = $008C +L008D = $008D +L008E = $008E +L008F = $008F +L0100 = $0100 +L0160 = $0160 +L0161 = $0161 +L0162 = $0162 +L0163 = $0163 +L0164 = $0164 +L0165 = $0165 +L0170 = $0170 +L0171 = $0171 +L0172 = $0172 +L0173 = $0173 +L0174 = $0174 +L0175 = $0175 +USERV = $0200 +BRKV = $0202 +IRQ1V = $0204 +IRQ2V = $0206 +CLIV = $0208 +BYTEV = $020A +WORDV = $020C +WRCHV = $020E +RDCHV = $0210 +FILEV = $0212 +ARGSV = $0214 +BGETV = $0216 +BPUTV = $0218 +GBPBV = $021A +FINDV = $021C +FSCV = $021E +EVENTV = $0220 +UPTV = $0222 +NETV = $0224 +VDUV = $0226 +KEYV = $0228 +INSV = $022A +REMV = $022C +CNPV = $022E +INDV1 = $0230 +INDV2 = $0232 +INDV3 = $0234 +L0400 = $0400 +L04D8 = $04D8 +L04D9 = $04D9 +L04EC = $04EC +L0500 = $0500 +L05C8 = $05C8 +L0600 = $0600 +L0700 = $0700 +L075F = $075F +L07E4 = $07E4 +L0900 = $0900 +L091F = $091F +L095F = $095F +L0A00 = $0A00 +L0A1F = $0A1F +L0A5F = $0A5F +L0B00 = $0B00 +L0B1F = $0B1F +L0BFF = $0BFF +L0C01 = $0C01 +L0C05 = $0C05 +L0C0C = $0C0C +L0C0D = $0C0D +L0C0E = $0C0E +L0C0F = $0C0F +L0C11 = $0C11 +L0C15 = $0C15 +L0C1F = $0C1F +L0C2D = $0C2D +L0C6D = $0C6D +L0C6E = $0C6E +L0C6F = $0C6F +L0C8A = $0C8A +L0C9A = $0C9A +L0C9C = $0C9C +L0CA0 = $0CA0 +L0CA3 = $0CA3 +L0CA8 = $0CA8 +L0CB0 = $0CB0 +L0CB3 = $0CB3 +L0CB8 = $0CB8 +L0CBA = $0CBA +L0CBB = $0CBB +L0CBE = $0CBE +L0CBF = $0CBF +L0CC0 = $0CC0 +L0CC1 = $0CC1 +L0CC2 = $0CC2 +L0CC3 = $0CC3 +L0CC4 = $0CC4 +L0CC5 = $0CC5 +L0CC6 = $0CC6 +L0CC7 = $0CC7 +L0CC8 = $0CC8 +L0CC9 = $0CC9 +L0CCA = $0CCA +L0CCB = $0CCB +L0CCC = $0CCC +L0CCD = $0CCD +L0CCE = $0CCE +L0CCF = $0CCF +L0CD0 = $0CD0 +L0CD1 = $0CD1 +L0CD8 = $0CD8 +L0CD9 = $0CD9 +L0CDA = $0CDA +L0CE0 = $0CE0 +L0CE1 = $0CE1 +L0CE2 = $0CE2 +L0CE3 = $0CE3 +L0CE4 = $0CE4 +L0CE5 = $0CE5 +L0CE6 = $0CE6 +L0CE7 = $0CE7 +L0CE8 = $0CE8 +L0CE9 = $0CE9 +L0CEA = $0CEA +L0CED = $0CED +L0CEE = $0CEE +L0CEF = $0CEF +L0CF0 = $0CF0 +L0CF1 = $0CF1 +L0CF2 = $0CF2 +L0CF3 = $0CF3 +L0CF5 = $0CF5 +L0CF7 = $0CF7 +L0CF8 = $0CF8 +L0CF9 = $0CF9 +L0CFA = $0CFA +L0CFB = $0CFB +L0CFC = $0CFC +L0CFD = $0CFD +L0CFE = $0CFE +L0CFF = $0CFF +L0D01 = $0D01 +L107B = $107B +L107F = $107F +L6020 = $6020 +L6160 = $6160 +L6258 = $6258 +L72E7 = $72E7 +L7427 = $7427 +L7524 = $7524 +L752A = $752A +L7534 = $7534 +L7567 = $7567 +L7697 = $7697 +L769F = $769F +L76A7 = $76A7 +L76AF = $76AF +L77A9 = $77A9 +L77E7 = $77E7 +L7857 = $7857 +L785E = $785E +L785F = $785F +L7927 = $7927 +L7998 = $7998 +L7999 = $7999 +L7A67 = $7A67 +L7BD5 = $7BD5 +L7CE4 = $7CE4 +L7D82 = $7D82 +L7E82 = $7E82 +L7E9A = $7E9A +L7EAA = $7EAA +VIA = $FE00 +LFE64 = $FE64 +LFE65 = $FE65 +LFE6B = $FE6B +OSWRSC = $FFB3 +OSRDSC = $FFB9 +OSEVEN = $FFBF +GSINIT = $FFC2 +GSREAD = $FFC5 +NVRDCH = $FFC8 +NNWRCH = $FFCB +OSFIND = $FFCE +OSGBPB = $FFD1 +OSBPUT = $FFD4 +OSBGET = $FFD7 +OSARGS = $FFDA +OSFILE = $FFDD +OSRDCH = $FFE0 +OSASCI = $FFE3 +OSNEWL = $FFE7 +OSWRCH = $FFEE +OSWORD = $FFF1 +OSBYTE = $FFF4 +OSCLI = $FFF7 + + org $1100 +.BeebDisStartAddr + DEX + SEC + ROR A + CPX #$98 + ROR A + EOR #$40 + LDX L0072 + LDY L0082 + BEQ L1115 + + PHP + LDX #$00 + PLP + BMI L1115 + + DEX +.L1115 + CPX #$04 + ROR A + CPX #$9C + ROR A + EOR #$40 + STA L0084 + LDA #$00 + LDX L0078 + LDY L0079 + BEQ L112F + + PHP + LDX #$00 + PLP + CLC + BMI L1130 + + DEX +.L112F + SEC +.L1130 + ROR A + CPX #$98 + ROR A + EOR #$40 + LDX L0077 + LDY L0081 + BEQ L1143 + + PHP + LDX #$00 + PLP + BMI L1143 + + DEX +.L1143 + CPX #$04 + ROR A + CPX #$9C + ROR A + EOR #$40 + STA L0085 + LDX L007D + LDY L007E + LDA L4900,Y + BPL L1162 + + LDA L0076 + EOR #$C0 + STA L0076 + LDA L0084 + BEQ L1198 + + BNE L117A + +.L1162 + LDA L4900,X + BPL L1170 + + JSR L1778 + + LDA L0084 + BEQ L1198 + + BNE L117A + +.L1170 + LDA L0084 + BNE L1186 + + LDA L0085 + BNE L1198 + + BEQ L11CD + +.L117A + JSR L1598 + + JMP L1198 + +.L1180 + JSR L1554 + + JMP L1198 + +.L1186 + LDA L0085 + BNE L1180 + + LDA L0076 + EOR #$C0 + STA L0076 + LDA L0077 + STA L0072 + LDA L0078 + STA L0073 +.L1198 + LDA #$04 + BIT L0076 + BMI L11A0 + + LDA #$9B +.L11A0 + STA L0077 + LDA #$00 + BVS L11A8 + + LDA #$97 +.L11A8 + STA L0078 + JMP L11B5 + +.L11AD + LSR L007A + ROR L0074 + LSR L007B + ROR L0075 +.L11B5 + LDA L007A + ORA L007B + BNE L11AD + + LDA #$FF + CMP L0074 + BNE L11C5 + + LSR L0074 + LSR L0075 +.L11C5 + CMP L0075 + BNE L11CD + + LSR L0074 + LSR L0075 +.L11CD + INC L0074 + INC L0075 + LDA L0CC3 + BMI L11E5 + + LDX L0CD1 + CPX #$5F + BNE L11DE + + RTS + +.L11DE + INX + STX L0CD1 + JMP L11F1 + +.L11E5 + LDX L0CD0 + CPX #$2F + BNE L11ED + + RTS + +.L11ED + INX + STX L0CD0 +.L11F1 + LDA L0072 + STA L3C00,X + LDA L0077 + STA L3C60,X + LDA L0073 + STA L3CC0,X + LDA L0078 + STA L3D20,X + LDA L0074 + STA L3D80,X + LDA L0075 + STA L0100,X + LDA L0076 + STA L48A0,X +.L1214 + LDA L0072 + LSR A + LSR A + TAX + LDA L0073 + LSR A + LSR A + LSR A + TAY + CLC + LDA L4F00,X + ADC L4800,Y + STA L0070 + LDA L4F28,X + ADC L4820,Y + STA L0071 + LDA L0075 + CMP L0074 + BCC L1239 + + JMP L138C + +.L1239 + BIT L0076 + BMI L1252 + + LDA #$05 + STA L131B + LDA #$09 + STA L1320 +.L1247 + LDA #$60 +L1248 = L1247+1 + STA L1364 + LDA #$27 + STA L007A + BNE L1265 + +.L1252 + LDA #$24 + STA L131B + LDA #$28 + STA L1320 +.L125C + LDA #$6A +L125D = L125C+1 + STA L1364 + LDA #$00 + STA L007A +.L1265 + BIT L0076 + BVS L1287 + + LDA #$98 + STA L136A + LDA #$88 + STA L136B + LDA #$C8 + STA L1374 + LDA #$FE + STA L137A + LDA #$9E + SEC + SBC L0078 + STA L007B + JMP L12A2 + +.L1287 + LDA #$C8 + STA L136A + LDA #$98 + STA L136B + LDA #$38 + STA L1374 + LDA #$01 + STA L137A + LDA #$A0 + SEC + SBC L0078 + STA L007B +.L12A2 + LDA #$9F + SEC + SBC L0073 + TAY + LDA #$FF + SEC + SBC L0074 + STA L0082 + CLC + ADC #$01 + STA L0083 + LDA L0076 + AND #$03 + BEQ L12C4 + + LDA L0075 + CMP #$02 + BCC L12C4 + + LDA #$FF + STA L0083 +.L12C4 + LDA L0072 + AND #$03 + TAX + LDA L0072 + LSR A + LSR A + STA L0081 + LDA L0083 + BIT L0076 + BMI L12E5 + + CPX #$01 + BCC L12F8 + + BNE L12DE + + CLC + BCC L1301 + +.L12DE + CPX #$03 + BCC L130B + + CLC + BCC L1315 + +.L12E5 + CPX #$01 + BCC L1315 + + BNE L12EE + + CLC + BCC L130B + +.L12EE + CPX #$03 + BCC L1301 + + CLC + BCC L12F8 + +.L12F5 + CLC + LDA L0083 +.L12F8 + LDX #$00 + ADC L0075 + BCC L1303 + + JSR L135F + +.L1301 + LDX #$03 +.L1303 + INX + ADC L0075 + BCC L130D + + JSR L135F + +.L130B + LDX #$06 +.L130D + INX + ADC L0075 + BCC L1317 + + JSR L135F + +.L1315 + LDX #$08 +.L1317 + INX + ADC L0075 +.L131A + BCC L1321 + +L131B = L131A+1 + JSR L135F + +.L131F + BNE L132A + +L1320 = L131F+1 +.L1321 + STA L0083 +.L1323 + LDA L2E60,X +L1324 = L1323+1 +.L1326 + ORA (L0070),Y + STA (L0070),Y +.L132A + LDA L0070 + CLC + ADC #$08 + STA L0070 + BCC L1335 + + INC L0071 +.L1335 + INC L0081 + LDA L0081 + CMP L007A + BNE L12F5 + + JMP L1482 + + STA L0083 +.L1342 + LDA L2E6A,X +L1343 = L1342+1 +.L1345 + ORA (L0070),Y + STA (L0070),Y + LDA L0070 + SEC + SBC #$08 + STA L0070 + BCS L1354 + + DEC L0071 +.L1354 + DEC L0081 + LDA L0081 + CMP L007A + BNE L12F5 + + JMP L1482 + +.L135F + ADC L0082 + STA L0083 +.L1363 + LDA L2E60,X +L1364 = L1363+1 +.L1366 + ORA (L0070),Y + STA (L0070),Y +.L136A + INY +.L136B + TYA + AND #$07 + BNE L137D + + LDA L0070 + CLC +.L1373 + ADC #$38 +L1374 = L1373+1 + STA L0070 + LDA L0071 +.L1379 + ADC #$01 +L137A = L1379+1 + STA L0071 +.L137D + LDA L0083 + CPY L007B + CLC + BEQ L1385 + + RTS + +.L1385 + TSX + INX + INX + TXS + JMP L1482 + +.L138C + BIT L0076 + BVS L13AA + + LDA #$98 + STA L1425 + LDA #$88 + STA L1426 + LDA #$C8 + STA L142F + LDA #$FE + STA L1435 + LDA #$07 + STA L007B + BNE L13C2 + +.L13AA + LDA #$C8 + STA L1425 + LDA #$98 + STA L1426 + LDA #$38 + STA L142F + LDA #$01 + STA L1435 + LDA #$A0 + STA L007B +.L13C2 + BIT L0076 + BMI L13D5 + + LDA #$1D + STA L1422 + LDA L0077 + CLC + ADC #$01 + STA L007A + JMP L13E1 + +.L13D5 + LDA #$3F + STA L1422 + LDA L0077 + SEC + SBC #$01 + STA L007A +.L13E1 + LDA #$9F + SEC + SBC L0073 + TAY + LDA #$FF + SEC + SBC L0075 + STA L0082 + CLC + ADC #$01 + STA L0083 + LDA L0076 + AND #$03 + BEQ L1403 + + LDA L0074 + CMP #$02 + BCC L1403 + + LDA #$FF + STA L0083 +.L1403 + LDA L0072 + AND #$03 + TAX +.L1408 + LDA #$08 +L1409 = L1408+1 + CPX #$00 + BEQ L1412 + +.L140E + LSR A + DEX + BNE L140E + +.L1412 + STA L0079 + CLC + LDX L0072 +.L1417 + LDA L0079 +L1418 = L1417+1 +.L1419 + ORA (L0070),Y + STA (L0070),Y + LDA L0083 + ADC L0074 +.L1421 + BCS L1440 + +L1422 = L1421+1 + STA L0083 +.L1425 + TYA +.L1426 + DEY + AND #$07 + BNE L1417 + + LDA L0070 + CLC +.L142E + ADC #$C8 +L142F = L142E+1 + STA L0070 + LDA L0071 +.L1434 + ADC #$FE +L1435 = L1434+1 + STA L0071 + CPY L007B + CLC + BNE L1417 + + JMP L1482 + +.L1440 + ADC L0082 + STA L0083 + INX + LDA L0079 + LSR A +.L1448 + CMP #$00 +L1449 = L1448+1 + BNE L1459 + + LDA L0070 + CLC + ADC #$08 + STA L0070 +.L1453 + LDA #$08 +L1454 = L1453+1 + BCC L1459 + + INC L0071 +.L1459 + STA L0079 + CPX L007A + CLC + BNE L1425 + + BEQ L1482 + + ADC L0082 + STA L0083 + DEX + LDA L0079 + ASL A +.L146A + CMP #$10 +L146B = L146A+1 + BNE L147B + + LDA L0070 + SEC + SBC #$08 + STA L0070 +.L1475 + LDA #$01 +L1476 = L1475+1 + BCS L147B + + DEC L0071 +.L147B + STA L0079 + CPX L007A + CLC + BNE L1425 + +.L1482 + LDA L0076 + LSR A + BCS L1488 + + RTS + +.L1488 + ASL A + EOR #$C0 + STA L0076 + LDA L0CE0 + STA L0072 + LDA L0CE1 + STA L0073 + LDA #$04 + BIT L0076 + BMI L149F + + LDA #$9B +.L149F + STA L0077 + LDA #$00 + BVS L14A7 + + LDA #$97 +.L14A7 + STA L0078 + JMP L1214 + +.L14AC + LDA L0CC2 + BNE L14E2 + + LDA #$31 + STA L1326 + STA L1345 + STA L1366 + STA L1419 + LDA L0CC3 + BMI L14C8 + + LDA #$88 + BNE L14CA + +.L14C8 + LDA #$92 +.L14CA + STA L1248 + STA L1324 + STA L125D + STA L1343 + LDA L0CC3 + STA L1418 + LDA #$A9 + STA L1417 + RTS + +.L14E2 + LDA #$11 + STA L1326 + STA L1345 + STA L1366 + STA L1419 + LDA L0CC2 + BMI L1520 + + LDA #$74 + STA L1248 + STA L1324 + LDA #$7E + STA L125D + STA L1343 + LDA #$80 + STA L1409 + LDA #$08 + STA L1449 + LDA #$80 + STA L1454 + LDA #$00 + STA L146B + LDA #$10 + STA L1476 + BNE L1549 + +.L1520 + LDA #$60 + STA L1248 + STA L1324 + LDA #$6A + STA L125D + STA L1343 + LDA #$08 + STA L1409 + LDA #$00 + STA L1449 + LDA #$08 + STA L1454 + LDA #$10 + STA L146B + LDA #$01 + STA L1476 +.L1549 + LDA #$A5 + STA L1417 + LDA #$79 + STA L1418 + RTS + +.L1554 + LDA L0084 + AND L0085 + BNE L1593 + + LDA L0083 + BPL L1560 + + EOR #$FF +.L1560 + STA L0CC1 + LDA L0082 + BPL L1569 + + EOR #$FF +.L1569 + CMP L0CC1 + BCC L1571 + + STA L0CC1 +.L1571 + LDA L0081 + BPL L1577 + + EOR #$FF +.L1577 + CMP L0CC1 + BCS L1598 + + LDA L0079 + BPL L1582 + + EOR #$FF +.L1582 + CMP L0CC1 + BCS L1598 + + JSR L1778 + + LDA L0076 + EOR #$C0 + STA L0076 + JMP L1598 + +.L1593 + TSX + INX + INX + TXS + RTS + +.L1598 + LDA L0073 + CLC + ADC #$04 + STA L0073 + BCC L15A3 + + INC L0083 +.L15A3 + LDA L0084 + BIT L0076 + BPL L15AF + + AND #$40 + BNE L1593 + + BEQ L15B5 + +.L15AF + AND #$80 + BNE L1593 + + BEQ L15B5 + +.L15B5 + LDA L0084 + BVC L15BF + + AND #$10 + BNE L1593 + + BEQ L15C3 + +.L15BF + AND #$20 + BNE L1593 + +.L15C3 + LDA L0076 + ASL A + EOR L0076 + BMI L15EB + + LDA #$00 + STA L0087 + LDA L0072 + CLC + ADC L0073 + STA L0084 + LDA L0082 + ADC L0083 + STA L0085 + LDA L0084 + SEC + SBC #$9F + STA L0084 + LDA L0085 + SBC #$00 + STA L0085 + JMP L15FC + +.L15EB + LDA #$80 + STA L0087 + LDA L0073 + SEC + SBC L0072 + STA L0084 + LDA L0083 + SBC L0082 + STA L0085 +.L15FC + BPL L160B + + LDA #$00 + SEC + SBC L0084 + STA L0084 + LDA #$00 + SBC L0085 + STA L0085 +.L160B + LDA L0074 + CLC + ADC L0075 + STA L0070 + LDA L007A + ADC L007B + STA L0071 + LDA L0070 + CLC + ADC #$02 + STA L0070 + BCC L1623 + + INC L0071 +.L1623 + LDA #$00 + STA L007C + LDA L007A + CMP L007B + BCC L1649 + + BNE L1635 + + LDA L0074 + CMP L0075 + BCC L1649 + +.L1635 + LDA L0076 + STA L0089 + LDA L0074 + CLC + ADC #$01 + STA L007F + LDA L007A + ADC #$00 + STA L0080 + JMP L1669 + +.L1649 + LDA L0076 + ASL A + STA L0089 + LDA L0075 + CLC + ADC #$01 + STA L007F + LDA L007B + ADC #$00 + STA L0080 + LDA L0087 + ORA #$40 + STA L0087 + LDA L0073 + STA L0072 + LDA L0083 + STA L0082 +.L1669 + LDA #$80 + STA L0077 + LDA #$00 + STA L0086 + STA L007C + STA L0079 + STA L0081 + STA L0078 + BEQ L1683 + +.L167B + ASL L0070 + ROL L0071 + ASL L007F + ROL L0080 +.L1683 + LDA L0071 + CMP L0085 + BCC L167B + + BNE L1691 + + LDA L0070 + CMP L0084 + BCC L167B + +.L1691 + LSR L0071 + ROR L0070 + ROR L007C + LSR L0080 + ROR L007F + ROR L0086 +.L169D + LDA L0071 + CMP L0085 + BCC L16BF + + BNE L1691 + + LDA L0070 + CMP L0084 + BCC L16BF + + BNE L1691 + + LDA L007C + CMP L0079 + BCC L16BF + + BEQ L16BF + + LDA L0071 + ORA L0070 + ORA L007C + BNE L1691 + + BEQ L16F1 + +.L16BF + LDA L0077 + CLC + ADC L0086 + STA L0077 + LDA L0078 + ADC L007F + STA L0078 + LDA L0081 + ADC L0080 + STA L0081 + LDA L0079 + SEC + SBC L007C + STA L0079 + LDA L0084 + SBC L0070 + STA L0084 + LDA L0085 + SBC L0071 + STA L0085 + BNE L169D + + LDA L0084 + BNE L169D + + LDA L0079 + CMP #$02 + BCS L169D + +.L16F1 + LDA L0078 + ROL L0077 + ADC #$00 + STA L0078 + BCC L16FD + + INC L0081 +.L16FD + LDA L0089 + BMI L1715 + + LDA L0072 + CLC + ADC L0078 + STA L0072 + STA L0073 + LDA L0082 + ADC L0081 + STA L0082 + STA L0083 + JMP L1726 + +.L1715 + LDA L0072 + SEC + SBC L0078 + STA L0072 + STA L0073 + LDA L0082 + SBC L0081 + STA L0082 + STA L0083 +.L1726 + BIT L0087 + BMI L1749 + + BVS L173C + + LDA #$9F + SEC + SBC L0072 + STA L0073 + LDA #$00 + SBC L0082 + STA L0083 + JMP L1749 + +.L173C + LDA #$9F + SEC + SBC L0073 + STA L0072 + LDA #$00 + SBC L0083 + STA L0082 +.L1749 + LDA L0082 + BNE L1775 + + LDA L0072 + CMP #$9C + BCS L1775 + + CMP #$04 + BCC L1775 + + LDA L0073 + SEC + SBC #$04 + STA L0073 + BCC L1775 + + CMP #$98 + BCS L1775 + + LDA #$01 + ORA L0076 + STA L0076 + LDA L0072 + STA L0CE0 + LDA L0073 + STA L0CE1 + RTS + +.L1775 + JMP L1593 + +.L1778 + LDA L0077 + STA L0072 + LDA L0081 + STA L0082 + LDA L0078 + STA L0073 + LDA L0079 + STA L0083 + LDA L0085 + STA L0084 + RTS + +.L178D + LDA #$00 + STA L0CC2 + JSR L14AC + +.L1795 + LDA L0CC3 + BPL L17A8 + + LDX L0CD1 + CPX #$2F + BNE L17A2 + + RTS + +.L17A2 + DEC L0CD1 + JMP L17B3 + +.L17A8 + LDX L0CD0 + CPX #$FF + BNE L17B0 + + RTS + +.L17B0 + DEC L0CD0 +.L17B3 + LDA L3C00,X + STA L0072 + STA L0CE0 + LDA L3C60,X + STA L0077 + LDA L3CC0,X + STA L0073 + STA L0CE1 + LDA L3D20,X + STA L0078 + LDA L3D80,X + STA L0074 + LDA L0100,X + STA L0075 + LDA L48A0,X + STA L0076 + JSR L1214 + + JMP L1795 + + EQUB $17 + +.L17E3 + LDA L007B + BPL L17FA + + LDA #$00 + SEC + SBC L007A + STA L007A + LDA #$00 + SBC L007B + STA L007B + LDA L007C + EOR #$80 + STA L007C +.L17FA + LDA L0072 + AND #$01 + BEQ L1806 + + LDA L007C + EOR #$80 + STA L007C +.L1806 + JSR L1D3A + + STA L0078 + BCC L180F + + INC L0079 +.L180F + LDA L007C + BPL L1820 + + SEC + LDA #$00 + SBC L0078 + STA L0078 + LDA #$00 + SBC L0079 + STA L0079 +.L1820 + RTS + +.L1821 + LDA L4300,X + ORA L4500,Y + STA L0074 + AND #$F0 + ORA L3700,X + STA L0075 + AND #$0F + ORA L3800,Y + TAY + AND #$F0 + ORA L4300,X + TAX + LDA L3A00,X + STA L0076 + LDX L0074 + LDA L3A00,X + CLC + ADC L3A00,Y + ROR A + ROR A + ROR A + ROR A + STA L0074 + ROR A + AND #$F0 + CLC + ADC L0076 + STA L0076 + LDA L0074 + AND #$1F + LDX L0075 + ADC L3A00,X + RTS + +.L1862 + LDA L0CFA,Y + STA L0078 + STA L007C + LDA L0CEA,Y + ASL A + ROL L0078 + ASL A + ROL L0078 + STA L0077 + LDX L0078 + JSR L1902 + + STA L0071 + STY L0070 + LDA L0078 + EOR #$FF + TAX + LDA L0077 + EOR #$FF + STA L0077 + JSR L1902 + + STA L0073 + STY L0072 + LDY L0CC4 + BIT L007C + BVS L18CD + + BMI L18B3 + + LDA L0071 + STA L0173,Y + LDA L0070 + AND #$FE + STA L0163,Y + LDA L0073 + STA L0170,Y + LDA L0072 + AND #$FE + STA L0160,Y + JMP L1901 + +.L18B3 + LDA L0071 + STA L0173,Y + LDA L0070 + ORA #$01 + STA L0163,Y + LDA L0073 + STA L0170,Y + LDA L0072 + ORA #$01 + STA L0160,Y + BNE L1901 + +.L18CD + BMI L18E9 + + LDA L0073 + STA L0173,Y + LDA L0072 + AND #$FE + STA L0163,Y + LDA L0071 + STA L0170,Y + LDA L0070 + ORA #$01 + STA L0160,Y + BNE L1901 + +.L18E9 + LDA L0073 + STA L0173,Y + LDA L0072 + ORA #$01 + STA L0163,Y + LDA L0071 + STA L0170,Y + LDA L0070 + AND #$FE + STA L0160,Y +.L1901 + RTS + +.L1902 + STX L0079 + SEC + LDA L4001,X + SBC L4000,X + STA L007A + LDA L4102,X + SBC L4101,X + LSR A + ROR L007A + LDX L007A + LDY L0077 + JSR L1821 + + LDX L0079 + ASL L0076 + ROL A + PHP + CLC + ADC L4000,X + TAY + LDA #$00 + ADC L4101,X + PLP + ADC #$00 + RTS + +.L1931 + LDX L0073 + LDY L0076 + LDA L3800,Y + ORA L3700,X + TAY + AND #$F0 + ORA L4300,X + STA L0075 + LDX L0072 + AND #$F0 + ORA L3700,X + TAX + LDA L3A00,X + TAX + STX L0074 + LDA L3A00,Y + TAY + LDA L3700,X + ORA L3800,Y + CLC + LDX L0075 + ADC L3A00,X + STA L0077 + LDA L3700,Y + ADC #$00 + STA L0078 + BIT L007C + BPL L198E + + LDX L0072 + LDA L0076 + AND #$0F + ORA L3800,X + TAY + LDX L0074 + LDA L3800,X + CLC + ADC L3A00,Y + BCC L1989 + + INC L0077 + BNE L1989 + + INC L0078 +.L1989 + ASL A + ROL L0077 + ROL L0078 +.L198E + LDA L0076 + BPL L199F + + LDA #$00 + SEC + SBC L0077 + STA L0077 + LDA #$00 + SBC L0078 + STA L0078 +.L199F + RTS + +.L19A0 + LDX L0088 + LDY L3400,X + STY L0080 + LDY L34D8,X + STY L0081 + LDY L35B0,X + STY L0082 + LDA L3700,Y + STA L0085 + CMP #$09 + ROR L007C + LDX #$05 + LDA #$00 +.L19BE + STA L0CE0,X + DEX + BPL L19BE + + LDA L0CCB + CLC + ADC #$08 + STA L0070 + LDA #$02 + STA L0086 +.L19D0 + LDX #$02 +.L19D2 + LDY L0070 + LDA L0080,X + STA L007A + AND #$0F + STA L0076 + BEQ L1A0C + + LDA L4260,Y + STA L0073 + LDA L4220,Y + STA L0072 + AND #$01 + BEQ L19F2 + + LDA L0076 + EOR #$80 + STA L0076 +.L19F2 + STX L0071 + JSR L1931 + + LDX L0071 + LDY L0086 + LDA L0077 + CLC + ADC L0CE0,Y + STA L0CE0,Y + LDA L0078 + ADC L0CE3,Y + STA L0CE3,Y +.L1A0C + LDA L0070 + CMP L0CCB + BEQ L1A1D + + DEC L0070 + DEX + BPL L19D2 + + DEC L0086 + JMP L19D0 + +.L1A1D + LDX #$02 +.L1A1F + LDY L0085 + BEQ L1A4C + + CPY #$08 + BCS L1A47 + + LDA L0CE0,X + STA L0070 + LDA #$00 + STA L0072 + LDA L0CE3,X + BPL L1A37 + + DEC L0072 +.L1A37 + ASL L0070 + ROL A + ROL L0072 + DEY + BNE L1A37 + + STA L0CE0,X + LDA L0072 + STA L0CE3,X +.L1A47 + DEX + BPL L1A1F + + BMI L1A62 + +.L1A4C + LDA #$00 + STA L0072 + LDA L0CE3,X + BPL L1A57 + + DEC L0072 +.L1A57 + STA L0CE0,X + LDA L0072 + STA L0CE3,X + JMP L1A47 + +.L1A62 + LDX L0088 + LDY L0CCF +.L1A67 + LDA L0CE0 + CLC + ADC L0900,Y + STA L0900,X + LDA L0CE3 + ADC L4A00,Y + STA L4A00,X + PHP + CLC + LDA L0CE1 + ADC L0A00,Y + STA L0A00,X + LDA L0CE4 + ADC L0B00,Y + STA L0B00,X + PHP + CLC + LDA L0CE2 + ADC L0700,Y + STA L0700,X + LDA L0CE5 + ADC L4900,Y + STA L4900,X + JMP L4B8C + + NOP +.L1AA6 + LDA L0078 + AND #$01 + STA L007C + EOR L007A + AND #$01 + BNE L1AD0 + + LDA L0078 + CLC + ADC L007A + AND #$FE + ORA L007C + STA L0072 + LDA L0079 + ADC L007B + STA L0073 + BCC L1ACF + + LDA #$FF + STA L0073 + LDA #$FE + ORA L007C + STA L0072 +.L1ACF + RTS + +.L1AD0 + LDA L0078 + SEC + SBC L007A + STA L0072 + LDA L0079 + SBC L007B + STA L0073 + BCC L1AE8 + + LDA L0072 + AND #$FE + ORA L007C + STA L0072 + RTS + +.L1AE8 + LDA #$00 + SEC + SBC L0072 + AND #$FE + ORA L007C + EOR #$01 + STA L0072 + LDA #$00 + SBC L0073 + STA L0073 + RTS + +.L1AFC + LDX L0CC4 + LDA L0160,X + EOR #$01 + STA L007A + LDA L0170,X + STA L007B + LDX #$05 + LDY #$01 + JSR L1CF0 + + LDX #$01 + LDY #$03 + JSR L1D13 + + LDX #$03 + LDY #$02 + JSR L1D13 + + LDX #$04 + LDY #$00 + JSR L1D13 + + LDX #$00 + LDY #$06 + JSR L1CF0 + + LDX #$01 + LDY #$08 + JSR L1D13 + + LDX #$02 + LDY #$04 + JSR L1D13 + + LDX #$03 + LDY #$05 + JSR L1D03 + + LDX L0CC4 + LDY L0CCB + LDA L0162,X + STA L4232,Y + STA L4236,Y + STA L423B,Y + LDA L0172,X + STA L4272,Y + STA L4276,Y + STA L427B,Y + LDA L0165,X + STA L4235,Y + STA L423E,Y + EOR #$01 + STA L4233,Y + LDA L0175,X + STA L4273,Y + STA L4275,Y + STA L427E,Y + LDA L0160,X + STA L4243,Y + LDA L0170,X + STA L4283,Y + LDA L0163,X + STA L4242,Y + LDA L0173,X + STA L4282,Y + LDY #$05 +.L1B95 + CPY #$03 + BEQ L1BA5 + + LDA L4220,Y + STA L423B,Y + LDA L4260,Y + STA L427B,Y +.L1BA5 + DEY + BNE L1B95 + + LDA L0078 + STA L007A + LDA L0079 + STA L007B + LDX L0CC4 + LDA L0164,X + STA L0072 + LDA L0174,X + STA L0073 + JSR L1D77 + + LDY L0CCB + LDA L4223,Y + STA L007A + LDA L4263,Y + STA L007B + JSR L1AA6 + + LDA L0072 + STA L4223,Y + LDA L0073 + STA L4263,Y + LDA L4225,Y + STA L007A + LDA L4265,Y + STA L007B + LDX L0CC4 + LDA L0161,X + STA L0072 + LDA L0171,X + STA L0073 + JSR L1D77 + + LDY L0CCB + LDA L4220,Y + EOR #$01 + STA L007A + LDA L4260,Y + STA L007B + JSR L1AA6 + + LDA L0072 + STA L4225,Y + LDA L0073 + STA L4265,Y + LDX L0CC4 + LDA L0161,X + STA L0072 + LDA L0171,X + STA L0073 + LDX #$02 + LDY #$00 + JSR L1D13 + + LDX L0CC4 + LDA L0164,X + EOR #$01 + STA L0072 + LDA L0174,X + STA L0073 + JSR L1D77 + + LDY L0CCB + LDA L4222,Y + STA L007A + STA L0CE0 + LDA L4262,Y + STA L007B + STA L0CE3 + LDA L0078 + STA L4222,Y + LDA L0079 + STA L4262,Y + LDA L0072 + EOR #$01 + STA L0072 + JSR L1D77 + + LDY L0CCB + LDA L4220,Y + STA L007A + LDA L4260,Y + STA L007B + JSR L1AA6 + + LDA L0072 + STA L4220,Y + LDA L0073 + STA L4260,Y + LDA L0CE0 + STA L0072 + LDA L0CE3 + STA L0073 + LDX L0CC4 + LDA L0161,X + STA L007A + LDA L0171,X + STA L007B + JSR L1D77 + + LDY L0CCB + LDA L4222,Y + STA L007A + LDA L4262,Y + STA L007B + JSR L1AA6 + + LDA L0072 + STA L4222,Y + LDA L0073 + STA L4262,Y + LDX L0CC4 + LDA L0163,X + STA L4227,Y + LDA L0173,X + STA L4267,X + LDA #$02 + STA L0074 + LDY L0CCB + LDX L0CCB +.L1CC3 + LDA L4220,Y + STA L4229,X + LDA L4260,Y + STA L4269,X + LDA L4221,Y + STA L422C,X + LDA L4261,Y + STA L426C,X + LDA L4222,Y + STA L422F,X + LDA L4262,Y + STA L426F,X + INY + INY + INY + INX + DEC L0074 + BPL L1CC3 + + RTS + +.L1CF0 + TXA + CLC + ADC L0CC4 + TAX + LDA L0160,X + STA L0072 +.L1CFB + LDA L0170,X + STA L0073 + JMP L1D23 + +.L1D03 + TXA + CLC + ADC L0CC4 + TAX + LDA L0160,X + EOR #$01 + STA L0072 + JMP L1CFB + +.L1D13 + TXA + CLC + ADC L0CC4 + TAX + LDA L0160,X + STA L007A + LDA L0170,X + STA L007B +.L1D23 + TYA + CLC + ADC L0CCB + STA L007F + JSR L1D77 + + LDY L007F + LDA L0078 + STA L4220,Y + LDA L0079 + STA L4260,Y + RTS + +.L1D3A + LDX L007B + LDY L0072 + JSR L1821 + + STA L0078 + LDA L0076 + CLC + ADC #$80 + STA L0077 + BCC L1D4E + + INC L0078 +.L1D4E + LDX L0073 + LDY L007B + JSR L1821 + + STA L0079 + LDA L0076 + CLC + ADC L0078 + STA L0078 + BCC L1D62 + + INC L0079 +.L1D62 + LDX L0073 + LDY L007A + JSR L1821 + + STA L0074 + LDA L0076 + CLC + ADC L0077 + STA L0077 + LDA L0074 + ADC L0078 + RTS + +.L1D77 + LDA L0072 + EOR L007A + AND #$01 + STA L007C + JSR L1D3A + + AND #$FE + ORA L007C + STA L0078 + BCC L1D8C + + INC L0079 +.L1D8C + RTS + +.L1D8D + LDX L0088 + LDA L0900,X + STA L0080 + LDA L4A00,X + STA L0083 + LDA L0A00,X + STA L0081 + LDA L0B00,X + STA L0084 + LDA L0700,X + STA L0082 + LDA L4900,X + STA L0085 + LDX #$05 + LDA #$00 +.L1DB1 + STA L0CE0,X + DEX + BPL L1DB1 + + LDA L0CCB + CLC + ADC #$08 + STA L0070 + LDA #$02 + STA L0086 +.L1DC3 + LDX #$02 +.L1DC5 + LDY L0070 + LDA L4260,Y + STA L0073 + BNE L1DD5 + + LDA L4220,Y + CMP #$05 + BCC L1E07 + +.L1DD5 + LDA L4220,Y + STA L0072 + LDA L0080,X + STA L007A + LDA L0083,X + STA L007B + LDA #$00 + STA L007C + STX L0071 + JSR L17E3 + + LDX L0071 + LDY L0086 + LDA L0078 + CLC + ADC L0CE0,Y + STA L0CE0,Y + LDA L0079 + ADC L0CE3,Y + STA L0CE3,Y + BVC L1E07 + + LDA #$40 + STA L0CCE +.L1E07 + LDY L0070 + CPY L0CCB + BEQ L1E18 + + DEC L0070 + DEX + BPL L1DC5 + + DEC L0086 + JMP L1DC3 + +.L1E18 + LDX L0088 +.L1E1A + LDA L0CE0 + STA L0900,X + LDA L0CE3 + STA L4A00,X + LDA L0CE1 + STA L0A00,X + LDA L0CE4 + STA L0B00,X + LDA L0CE2 + STA L0700,X + LDA L0CE5 + STA L4900,X + RTS + + BRK + EQUB $49 + + RTS + +.L1E42 + STX L0087 + CPX #$00 + BEQ L1E51 + + CPX #$02 + BCC L1E66 + + BEQ L1E7B + + JMP L1EE5 + +.L1E51 + LDA L0CFB + STA L0074 + LSR A + LSR A + CLC + ADC L0074 + ROR A + LSR A + LSR A + CLC + ADC L0074 + ROR A + LSR A + JMP L209D + +.L1E66 + LDA L0C15 + BPL L1E70 + + LDA #$00 + JMP L209D + +.L1E70 + LDA L0C05 + ASL A + LDA L0C15 + ROL A + JMP L209D + +.L1E7B + LDA L0CEE + STA L0072 + LDA L0CFE + LSR A + ROR L0072 + LSR A + ROR L0072 + STA L0073 + LDA #$00 + STA L0074 + LDA L0072 + LSR A + LSR A + CLC + ADC L0072 + ROR A + LSR A + CLC + ADC L0072 + ROR A + CLC + ADC L0072 + ROR A + LSR A + STA L4FFF + LDA L0073 + LSR A + ROR L0074 + LSR A + ROR L0074 + CLC + ADC L0073 + ROR A + ROR L0074 + LSR A + ROR L0074 + CLC + ADC L0073 + ROR A + ROR L0074 + CLC + ADC L0073 + ROR A + ROR L0074 + LSR A + ROR L0074 + STA L0075 + LDA L0074 + CLC + ADC L4FFF + BCC L1ED0 + + INC L0075 +.L1ED0 + LSR L0075 + ROR A + LSR L0075 + ROR A + LSR L0075 + ROR A + LSR L0075 + ROR A + JMP L209D + +.L1EDF + LDA L4FFF + JMP L209D + +.L1EE5 + CPX #$04 + BCC L1EDF + + BEQ L1EEE + + JMP L1F39 + +.L1EEE + LDA L0C8A + STA L0074 + LDA L0C9A + BPL L1F04 + + LDA #$00 + SEC + SBC L0074 + STA L0074 + LDA #$00 + SBC L0C9A +.L1F04 + LSR A + ROR L0074 + LSR A + ROR L0074 + LSR A + ROR L0074 + CMP #$00 + BEQ L1F15 + + LDA #$FF + STA L0074 +.L1F15 + LDA L0074 + LSR A + CLC + ADC L0074 + ROR A + LSR A + LSR A + LSR A + CLC + ADC L0074 + ROR A + LSR A + CMP #$28 + BCC L1F2A + + LDA #$28 +.L1F2A + BIT L0C9A + BPL L1F36 + + STA L0074 + LDA #$00 + SEC + SBC L0074 +.L1F36 + JMP L209D + +.L1F39 + CPX #$06 + BCC L1F42 + + BEQ L1F80 + + JMP L1FE4 + +.L1F42 + LDA L0C01 + STA L0074 + LDA L0C11 + BPL L1F58 + + LDA #$00 + SEC + SBC L0074 + STA L0074 + LDA #$00 + SBC L0C11 +.L1F58 + BNE L1F60 + + LDA L0074 + CMP #$8C + BCC L1F64 + +.L1F60 + LDA #$8C + STA L0074 +.L1F64 + LSR A + CLC + ADC L0074 + ROR A + LSR A + LSR A + CLC + ADC L0074 + ROR A + LSR A + LSR A + BIT L0C11 + BMI L1F7D + + STA L0074 + LDA #$00 + SEC + SBC L0074 +.L1F7D + JMP L209D + +.L1F80 + LDA L0C9C + JMP L209D + +.L1F86 + LDY #$00 + STY L007C + STY L0072 + JSR L227A + + CLC + STA L0073 + LDY #$03 + JSR L227A + + STA L0079 + LDY #$00 + LDA #$01 + STA L007C + JSR L227A + + SEC + SBC L0073 + BPL L1FB2 + + STA L0074 + LDA #$80 + STA L0072 + LDA #$00 + SEC + SBC L0074 +.L1FB2 + CLC + ADC #$01 + STA L0077 + LDY #$03 + JSR L227A + + SEC + SBC L0079 + BPL L1FCE + + STA L0074 + LDA #$40 + ORA L0072 + STA L0072 + LDA #$00 + SEC + SBC L0074 +.L1FCE + CLC + ADC #$01 + STA L0078 + LDA L0073 + CLC + ADC #$35 + STA L0073 + LDA L0079 + CLC + ADC #$E3 + STA L0079 + JMP L20B8 + +.L1FE4 + CPX #$07 + BEQ L1F86 + + CPX #$09 + BCC L200E + + BEQ L1FF5 + + CPX #$0B + BCC L200E + + BEQ L2058 + + RTS + +.L1FF5 + LDX #$01 + LDA #$80 + STA L0073 + LDA #$50 + STA L0077 + LDA L0C0D + SEC + JSR L22F7 + + STA L0079 + LDY #$A3 + LDA #$0B + BNE L207F + +.L200E + LDA #$80 + JSR L2129 + + LDA #$22 + STA L7697 + STA L76AF + LDA #$44 + STA L769F + LDA #$99 + STA L76A7 + LDA #$88 + STA L72E7 + STA L7427 + STA L7567 + STA L77E7 + STA L7927 + STA L7A67 + LDA L0C0E + SEC + JSR L22F7 + + STA L4FEC + LDA L0C0C + CLC + JSR L22F7 + + EOR #$FF + CLC + ADC #$01 + STA L4FEA + LDA #$00 + JSR L2129 + + RTS + +.L2058 + LDA #$80 + STA L0073 + LDA #$7D + STA L0077 + LDA L0C1F + STA L0072 + LDA L0C0F + LDX #$03 +.L206A + LSR L0072 + ROR A + DEX + BPL L206A + + STA L0072 + LSR A + ADC L0072 + LSR A + LSR A + STA L0079 + LDX #$03 + LDY #$F3 + LDA #$07 +.L207F + STA L0075 + LDA #$01 + STA L0074 + STY L4FFC + LDA L4FEA,X + STA L0078 + LDA L0079 + STA L4FEA,X + JSR L22D1 + + LDA #$00 + STA L007F + JSR L22CC + + RTS + +.L209D + CLC + ADC L4FBA,X + CMP L4FC2,X + BCS L20AB + + LDA L4FC2,X + BCC L20B3 + +.L20AB + CMP L4FCA,X + BCC L20B3 + + LDA L4FCA,X +.L20B3 + STA L0079 + JSR L216E + +.L20B8 + LDA L4FAA,X + STA L007A + LDA L4FB2,X + STA L007B + LDA L4FD2,X + STA L0074 + LDA L4FDA,X + STA L0075 + LDA L4FE2,X + STA L0076 + LDA #$80 + STA L007F + JSR L21CD + + LDX L0087 + CPX #$07 + BNE L2102 + + LDA #$FF + LDY #$02 +.L20E2 + STA L752A,Y + LDA #$44 + DEY + BPL L20E2 + + LDA #$33 + STA L7524 + LDA #$88 + STA L7534 + LDA L0073 + STA L007A + STA L4FAA,X + LDA L0079 + STA L4FB2,X + BNE L210A + +.L2102 + LDA L4FAA,X + STA L007A + LDA L4FB2,X +.L210A + STA L007B + LDA L0077 + STA L0074 + STA L4FD2,X + LDA L0078 + STA L0075 + STA L4FDA,X + LDA L0072 + STA L0076 + STA L4FE2,X + LDA #$00 + STA L007F + JSR L21CD + + RTS + +.L2129 + STA L007F + LDA L4FEA + STA L0079 + LDA L4FEC + CLC + ADC #$4F + STA L4FFC + LDA #$D8 + STA L0077 + LDA #$00 + STA L0073 + LDA #$03 + STA L0074 + LDA #$01 + STA L0075 + JSR L22CC + + LDA L4FEC + STA L0079 + LDA L4FEA + CLC + ADC #$D6 + STA L4FFC + LDA #$50 + STA L0077 + LDA #$80 + STA L0073 + LDA #$01 + STA L0074 + LDA #$05 + STA L0075 + JSR L22CC + + RTS + +.L216E + LDY #$00 + STY L0072 + LDY L4F92,X + INY + STY L007C + SEC +.L2179 + SBC L007C + BCS L2182 + + ADC L007C + JMP L21A4 + +.L2182 + SBC L4F92,X + BCS L218D + + LDY #$40 + STY L0072 + BNE L21A2 + +.L218D + SBC L007C + BCS L2199 + + ADC L007C + LDY #$C0 + STY L0072 + BNE L21A4 + +.L2199 + SBC L4F92,X + BCS L2179 + + LDY #$80 + STY L0072 +.L21A2 + EOR #$FF +.L21A4 + STA L0073 + LDA L4F92,X + SEC + SBC L0073 + CMP L4FA2,X + BCC L21B4 + + LDA L4FA2,X +.L21B4 + CLC + ADC #$01 + STA L0078 + LDA L0073 + CLC + ADC #$01 + LSR A + CMP L4F9A,X + BCC L21C7 + + LDA L4F9A,X +.L21C7 + CLC + ADC #$01 + STA L0077 + RTS + +.L21CD + LDY #$03 + LDA #$11 +.L21D1 + STA L0082,Y + ASL A + DEY + BPL L21D1 + + LDA #$00 + STA L0081 + STA L0080 + LDA L0074 + CMP L0075 + BCC L21E8 + + STA L0086 + BCS L223B + +.L21E8 + LDA L0075 + STA L0086 + STA L0080 + BCC L223B + +.L21F0 + LDA L0081 + CLC + ADC L0075 + CMP L0074 + BCC L2205 + + SBC L0074 + BIT L0076 + BVC L2203 + + DEC L007B + BVS L2205 + +.L2203 + INC L007B +.L2205 + STA L0081 + BIT L0076 + BPL L2210 + + DEC L007A + JMP L223B + +.L2210 + INC L007A + JMP L223B + +.L2215 + LDA L0080 + BEQ L21F0 + + LDA L0081 + CLC + ADC L0074 + CMP L0075 + BCC L222F + + SBC L0075 + BIT L0076 + BPL L222D + + DEC L007A + JMP L222F + +.L222D + INC L007A +.L222F + STA L0081 + BIT L0076 + BVC L2239 + + DEC L007B + BVS L223B + +.L2239 + INC L007B +.L223B + LDA L007A + LSR A + LSR A + TAX + LDA L007B + LSR A + LSR A + LSR A + TAY + LDA L4800,Y + CLC + ADC L4F00,X + STA L0070 + LDA L4820,Y + ADC L4F28,X + STA L0071 + LDA #$9F + SEC + SBC L007B + TAY + LDA L007A + AND #$03 + TAX + BIT L007F + BMI L226D + + LDA L0082,X + ORA (L0070),Y + JMP L2273 + +.L226D + LDA L0082,X + EOR #$FF + AND (L0070),Y +.L2273 + STA (L0070),Y + DEC L0086 + BNE L2215 + + RTS + +.L227A + LDA L427B,Y + LSR A + LSR A + CPY #$00 + BNE L2284 + + LSR A +.L2284 + STA L0074 + LDA L423B,Y + EOR L007C + AND #$01 + BEQ L2296 + + LDA #$00 + SEC + SBC L0074 + STA L0074 +.L2296 + LDA L427D,Y + LSR A + LSR A + CPY #$00 + BNE L22A0 + + LSR A +.L22A0 + STA L0075 + LDA L423D,Y + CPY #$00 + BNE L22AB + + EOR #$01 +.L22AB + AND #$01 + BEQ L22B6 + + LDA #$00 + SEC + SBC L0075 + STA L0075 +.L22B6 + CLC + LDA L0074 + ADC L0075 + BMI L22C3 + + LSR A + LSR A + LSR A + ADC #$00 + RTS + +.L22C3 + SEC + ROR A + SEC + ROR A + SEC + ROR A + ADC #$00 + RTS + +.L22CC + LDA L0079 + JMP L22D7 + +.L22D1 + LDA #$80 + STA L007F + LDA L0078 +.L22D7 + CLC + ADC L0077 + BIT L0073 + BMI L22E8 + + STA L007B + LDA L4FFC + STA L007A + JMP L22EF + +.L22E8 + STA L007A + LDA L4FFC + STA L007B +.L22EF + LDA #$00 + STA L0076 + JSR L21CD + + RTS + +.L22F7 + PHP + BPL L22FF + + EOR #$FF + CLC + ADC #$01 +.L22FF + LSR A + PLP + PHP + BCC L230C + + LSR A + CMP #$01 + BNE L230B + + LDA #$02 +.L230B + LSR A +.L230C + LSR A + ADC #$00 + PLP + BPL L2317 + + EOR #$FF + CLC + ADC #$01 +.L2317 + RTS + +.L2318 + LDX L4FFA + INX + CPX #$07 + BCC L2322 + + LDX #$00 +.L2322 + STX L4FFA + JSR L1E42 + +.L2328 + LDX L4FFB + INX + CPX #$0B + BCC L2332 + + LDX #$07 +.L2332 + STX L4FFB + JSR L1E42 + + LDA #$77 + STA L7BD5 + RTS + +.L233E + LDX #$02 +.L2340 + CLC + LDA L0CA0,X + BEQ L2372 + + ADC L0C2D,X + STA L0C2D,X + LDA L0CB0,X + STA L0070 + ADC L0C0C,X + LDY L4F5C,X + BEQ L235C + + DEC L4F5C,X +.L235C + BNE L2367 + + CLC + ADC #$03 + BIT L0070 + BPL L2367 + + ADC #$FA +.L2367 + TAY + BPL L2379 + + CMP #$8C + BCS L237F + + LDA #$8C + BNE L237F + +.L2372 + LDA #$06 + STA L4F5C,X + BNE L2382 + +.L2379 + CMP #$77 + BCC L237F + + LDA #$76 +.L237F + STA L0C0C,X +.L2382 + DEX + BPL L2340 + + JSR L46D8 + + CLC + LDA L0CA3 + BEQ L23B2 + + ADC L0C0F + TAX + LDA L0CB3 + ADC L0C1F + TAY + BMI L23A3 + + CPY #$05 + BCC L23A7 + + LDY #$05 + BNE L23A5 + +.L23A3 + LDY #$00 +.L23A5 + LDX #$00 +.L23A7 + STX L0C0F + STY L0C1F + LDX #$0B + JSR L1E42 + +.L23B2 + LDX #$04 + JSR L23F9 + + BEQ L23C4 + + BMI L23C1 + + JSR L2424 + + JMP L23C4 + +.L23C1 + JSR L250E + +.L23C4 + LDX #$05 + JSR L23F9 + + BEQ L23D6 + + BMI L23D3 + + JSR L2457 + + JMP L23D6 + +.L23D3 + JSR L247F + +.L23D6 + LDY #$02 +.L23D8 + STY L0CC4 + JSR L1862 + + LDY L0CC4 + DEY + BPL L23D8 + + LDA #$00 + STA L0CCB + STA L0CC4 + JSR L1AFC + + JSR L5000 + + JSR L2318 + + JSR L2328 + + RTS + +.L23F9 + LDA L0CA0,X + BNE L2407 + + STA L0CCE,X + STA L0CD1,X +.L2404 + LDA #$00 + RTS + +.L2407 + TAY + LDA L0CCE,Y + BNE L2404 + + LDA L0CEE,Y + EOR #$01 + STA L0CEE,Y + LDA #$01 + STA L0CCE,Y + CPY #$07 + BCC L2421 + + LDA #$80 + RTS + +.L2421 + LDA #$01 + RTS + +.L2424 + LDA L4F85 + LDY L0CF2 + BNE L2435 + + SEC + SBC #$0A + LDX #$05 + LDY #$55 + BNE L2441 + +.L2435 + LDY L0CC5 + BNE L2451 + + CLC + ADC #$0A + LDX #$0A + LDY #$77 +.L2441 + STA L4F85 + STX L0CF0 + TYA + LDX #$02 +.L244A + STA L7E82,X + DEX + BPL L244A + + RTS + +.L2451 + LDA #$00 + STA L0CF2 + RTS + +.L2457 + LDA L4F85 + LDY L0CF3 + BNE L2468 + + SEC + SBC #$C8 + LDX #$00 + LDY #$44 + BNE L246F + +.L2468 + CLC + ADC #$C8 + LDX #$98 + LDY #$CC +.L246F + STA L4F85 + STX L4F87 + TYA + LDX #$02 +.L2478 + STA L7E9A,X + DEX + BPL L2478 + +.L247E + RTS + +.L247F + LDA L0CF1 + ORA L368F + BNE L247E + + LDX #$E4 + JSR L4B4A + + LDA L0C15 + CLC + ADC #$C8 + STA L07E4 + LDA #$FF + LDX #$5F + JSR L4B4C + + LDA #$14 + STA L075F + LDA #$F6 + STA L095F + LDA #$FC + STA L0A5F + LDA #$E4 + STA L0088 + LDA #$09 + STA L0CCB + STA L0CF1 + JSR L1D8D + + LDX #$E5 +.L24BC + JSR L1E1A + + INX + CPX #$E8 + BNE L24BC + + LDA #$5F + STA L0088 + JSR L1D8D + + LDX #$ED + LDY #$60 + JSR L4B00 + + LDY #$0C + LDX #$60 +.L24D6 + JSR L25B5 + + JSR L257B + + INY + CPY #$10 + BNE L24D6 + + LDY #$0C + LDX #$5F + JSR L257B + + STX L0CCF + LDA #$60 + STA L0088 + JSR L19A0 + + LDA #$61 + STA L0088 + JSR L19A0 + + LDX #$62 + LDY #$60 + JSR L1A67 + + LDY #$0F + LDX #$62 +.L2504 + JSR L257B + + DEX + DEY + CPY #$0C + BNE L2504 + + RTS + +.L250E + LDA #$77 + LDX L0CF5 + BNE L2517 + + LDA #$55 +.L2517 + LDX #$02 +.L2519 + STA L7EAA,X + DEX + BPL L2519 + + RTS + +.L2520 + LDA #$77 + LDX L0CE7 + BPL L2529 + + LDA #$55 +.L2529 + LDX #$02 +.L252B + STA L7D82,X + DEX + BPL L252B + + RTS + +.L2532 + LDA #$81 + LDY #$FF + JSR OSBYTE + + CPX #$FF + RTS + +.L253C + LDA #$05 + STA L0076 +.L2540 + LDY L0076 + LDX L4F50,Y + JSR L2532 + + BNE L2555 + + LDX L0076 + LDY L4F6C,X + LDA L4F72,X + JMP L256F + +.L2555 + LDY L0076 + LDX L4F56,Y + JSR L2532 + + BNE L256A + + LDX L0076 + LDY L4F60,X + LDA L4F66,X + JMP L256F + +.L256A + LDA #$00 + LDX L0076 + TAY +.L256F + STA L0CB0,X + TYA + STA L0CA0,X + DEC L0076 + BPL L2540 + + RTS + +.L257B + LDA L4400,Y + CLC + ADC L0900,X + STA L4400,Y + LDA L4478,Y + ADC L4A00,X + STA L4478,Y + LDA L4428,Y + CLC + ADC L0A00,X + STA L4428,Y + LDA L44A0,Y + ADC L0B00,X + STA L44A0,Y + LDA L4450,Y + CLC + ADC L0700,X + STA L4450,Y + LDA L44C8,Y + ADC L4900,X + STA L44C8,Y + RTS + +.L25B5 + LDA #$00 + STA L4400,Y + STA L4478,Y + STA L4428,Y + STA L44A0,Y + STA L4450,Y + STA L44C8,Y + RTS + + LDA #$80 + JSR OSBYTE + + TYA + CMP #$F7 + BCC L25D6 + + LDA #$F6 +.L25D6 + CMP #$0C + BCS L25DC + + LDA #$0C +.L25DC + SEC + SBC #$80 + EOR #$FF + CLC + ADC #$01 + RTS + +.L25E5 + LDX #$00 + TXA + STA L4202 + STA L4F87 + STA L368F + STA L44F0 + STA L369C + STA L369D +.L25FA + STA L0400,X + DEX + BNE L25FA + + LDX #$FF + STA L05C8 + STA L4206 +.L2608 + STA L0BFF,X + DEX + BNE L2608 + + LDX #$07 +.L2610 + STA L4210,X + DEX + BPL L2610 + + LDA #$48 + STA L0CFF + LDA #$5C + STA L0CEF + LDA #$C6 + STA L0CFD + LDA #$E5 + STA L0CED + LDA #$0A + STA L0CEE + STA L0CF8 + LDA #$F2 + STA L4F85 + LDA #$01 + STA L0CF2 + STA L0CF5 + STA L0CE8 + JSR L2424 + + LDA #$01 + STA L0CC5 + LDA #$2F + STA L0CD1 + LDA #$FF + STA L0CE7 + STA L0CD0 + LDX #$07 + STX L0CFA +.L265C + STA L4208,X + DEX + BPL L265C + + LDX #$02 +.L2664 + STA L4203,X + DEX + BPL L2664 + + JSR L2520 + + LDX #$0B + JSR L1E42 + + LDA #$41 + STA L3692 +.L2677 + DEC L3692 + JSR L33A1 + + LDA L3692 + BNE L2677 + +.L2682 + LDA #$50 + STA L0900 + LDA #$01 + STA L0CE6 + STA L4A00 + JSR L2D32 + + LDY #$21 + JSR L25B5 + + RTS + + LDA #$00 + STA L369F + STA L369E + LDA #$0E + JSR L4DA5 + +.L26A5 + JSR L2EA0 + + JSR L25E5 + + JSR L253C + + JSR L233E + + JSR L2BDC + + JSR L2457 + + JSR L250E + + LDA #$40 + STA LFE6B + LDA #$EA + STA LFE65 +.L26C4 + LDA L008F + STA L0CC6 + JSR L2F1C + + JSR L253C + + LDA L0CF1 + BNE L2701 + + JSR L233E + + LDA L0CF1 + BEQ L2704 + + LDA #$02 + STA L0CD9 + LDY #$21 +.L26E3 + LDA L04D8,Y + STA L41FA,Y + DEY + CPY #$1E + BCS L26E3 + + LDY L008A + LDA #$3C + STA L0500,Y + INY + LDA #$3D + STA L0500,Y + INY + STY L008A + JMP L2704 + +.L2701 + JSR L233E + +.L2704 + LDX #$13 + LDA #$00 + STA L0CCA + STA L05C8 +.L270E + STA L04D8,X + STA L04EC,X + DEX + BPL L270E + + LDA L0CF1 + BEQ L272C + + JSR L2EE6 + + LDA L0CD9 + BEQ L272C + + DEC L0CD9 + LDA #$06 + JSR L4D87 + +.L272C + LDA L0CE7 + BMI L2734 + + JSR L2DAC + +.L2734 + JSR L2873 + + JSR L4CB0 + + LDY #$02 + JSR L4244 + + LDY #$22 + JSR L4244 + + INC L4206 + LDA L4206 + CLC + ADC #$04 + AND #$07 + BNE L2767 + + LDY #$01 + JSR L2CD3 + + LDX L4205 + BMI L2767 + + LDY #$21 + LDA L4210,X + CMP #$1B + BCC L2767 + + JSR L2CD3 + +.L2767 + LDA L0CE7 + BNE L279D + + LDA L0CF1 + BEQ L279A + + LDA #$21 + STA L0CCC +.L2776 + LDY L0CCC + LDA L41FA,Y + BPL L2786 + + JSR L3053 + + LDA L368F + BNE L2792 + +.L2786 + DEC L0CCC + LDA L0CCC + CMP #$1E + BCS L2776 + + BCC L279A + +.L2792 + STA L368C + LDA #$00 + STA L0CF1 +.L279A + JSR L2F4E + +.L279D + LDA L0CC5 + BEQ L27AF + + LDX #$86 + JSR L2532 + + BNE L27AF + + JSR L4D92 + + JMP L26A5 + +.L27AF + LDA L0CE8 + BEQ L27E2 + + BMI L27D3 + + LDA L0CF1 + BEQ L27C8 + + LDA L0CE7 + BPL L27C8 + + LDA #$08 + STA L0CE7 + JSR L2520 + +.L27C8 + LDA L0CE9 + BNE L27D0 + + JSR L3387 + +.L27D0 + JSR L33C7 + +.L27D3 + LDA L0CF9 + BEQ L27E2 + + LDX #$00 + STX L0CF9 + LDA #$15 + JSR L4BCB + +.L27E2 + JSR L33A1 + + LDX #$DC + JSR L2532 + + BNE L2802 + + LDA L0CC9 + BNE L2804 + + LDA L0CF7 + BNE L2807 + + LDA L0CE9 + EOR #$01 + JSR L36A0 + + LDA #$01 + BNE L2804 + +.L2802 + LDA #$00 +.L2804 + STA L0CC9 +.L2807 + LDA L05C8 + CMP #$23 + BCS L2817 + + JSR L293A + + JSR L293A + + JSR L293A + +.L2817 + LDX #$70 + LDY #$00 + LDA #$01 + JSR OSWORD + + JSR L3F10 + + BCC L2807 + + JSR L28B6 + + JSR L2C37 + + JSR L4D6E + + LDA L0CD8 + BEQ L2839 + + CMP #$DC + BNE L2840 + + BEQ L2849 + +.L2839 + LDX #$C8 + JSR L2532 + + BNE L2851 + +.L2840 + DEC L0CD8 + JSR L4C12 + + JMP L2851 + +.L2849 + JSR L4883 + + LDA #$00 + STA L0CD8 +.L2851 + LDX L0CC6 + CPX L008F + BNE L285B + + JMP L26C4 + +.L285B + INX + LDY L0600,X + STX L0CC6 + LDX L3F30,Y + LDA #$00 + STA L0400,X + LDX L3E00,Y + STA L0400,X + JMP L2851 + +.L2873 + LDX L008A + BEQ L28B5 + + LDA #$FF + STA L008D + LDA #$00 + STA L008C +.L287F + LDX L008C + LDA L0500,X + STA L008B + LDA #$01 + STA L0089 + JSR L2973 + + LDA L008B + BEQ L2896 + + LDX L0CCE + BNE L28A0 + +.L2896 + INC L008D + LDX L008D + STA L0500,X + JMP L28A7 + +.L28A0 + INC L008F + LDX L008F + STA L0600,X +.L28A7 + INC L008C + LDA L008C + CMP L008A + BCC L287F + + LDA L008D + ADC #$00 + STA L008A +.L28B5 + RTS + +.L28B6 + LDA L008A + BEQ L2929 + + LDA #$FF + STA L008D + LDA #$00 + STA L008C +.L28C2 + LDX L008C + LDY L0500,X + STY L008B + LDX L3F30,Y + STX L0088 + STX L007D + LDX L3E00,Y + STX L007E + JSR L0D01 + + LDA L007E + STA L0088 + JSR L0D01 + + LDX L007D + LDA L0400,X + STA L0CC7 + LDX L007E + LDA L0400,X + STA L007F + AND L0CC7 + AND #$30 + BEQ L2904 + + LSR A + LSR A + STA L0074 + LDA L007F + EOR L0CC7 + EOR #$FF + AND L0074 + BNE L2910 + +.L2904 + INC L008D + LDX L008D + LDA L008B + STA L0500,X + JMP L291B + +.L2910 + LDA L008B + BEQ L2904 + + INC L008F + LDX L008F + STA L0600,X +.L291B + INC L008C + LDA L008C + CMP L008A + BCC L28C2 + + LDA L008D + ADC #$00 + STA L008A +.L2929 + LDX L05C8 + BEQ L2939 + + LDA #$00 +.L2930 + LDY L05C8,X + STA L0400,Y + DEX + BNE L2930 + +.L2939 + RTS + +.L293A + LDA L008E + CMP L008F + BEQ L2972 + + CLC + ADC #$01 + STA L008E + TAX + LDA L0600,X + STA L008B + CMP #$3C + BEQ L293A + + CMP #$3D + BEQ L293A + +.L2953 + LDA #$00 + STA L0089 + JSR L2973 + + LDA L008B + LDX L0CCE + BEQ L2969 + + INC L008F + LDX L008F + STA L0600,X + RTS + +.L2969 + INC L008A + INC L008D + LDX L008D + STA L0500,X +.L2972 + RTS + +.L2973 + LDA #$00 + STA L0CCE + STA L0CBF + LDX L008B + LDY L3E00,X + STY L007E + LDY L3F30,X + STY L007D + CPX #$0C + BCS L2999 + + CPX #$00 + BNE L2993 + + JSR L2C95 + + RTS + +.L2993 + JSR L31BD + + JMP L2A6F + +.L2999 + LDA #$02 + STA L0CC8 +.L299E + LDA L0400,Y + BPL L29A6 + + JMP L2A4F + +.L29A6 + TYA + PHA + STA L0CC0 +.L29AB + LDA L4600,Y + CMP #$28 + BCC L29E3 + + SEC + SBC #$28 + STA L0CCF + TAY + LDA L0400,Y + BMI L2A14 + + TYA + PHA + LDX L05C8 + CPX #$31 + BCS L2A01 + + INC L05C8 + LDX L05C8 + STA L05C8,X + BNE L29AB + +.L29D2 + PLA + STA L0088 + LDA L04D8,Y + BMI L29E0 + + LDA #$80 + STA L0CCE + RTS + +.L29E0 + JMP L2A4D + +.L29E3 + TAY + STY L0CCC + CMP #$10 + BCS L29EF + + CMP #$0C + BCS L29D2 + +.L29EF + LDA L04D8,Y + AND #$40 + BNE L29F9 + + JSR L2A8C + +.L29F9 + LDY L0CCC + LDA L04D8,Y + BMI L2A0D + +.L2A01 + LDA #$80 + STA L0CCE +.L2A06 + PLA + CMP L0CC0 + BNE L2A06 + + RTS + +.L2A0D + TYA + CLC + ADC #$D8 + STA L0CCF +.L2A14 + PLA + CMP L0CC0 + BEQ L2A3B + + STA L0088 + LDA #$00 + STA L0CC4 + STA L0CCB + JSR L19A0 + + LDA L0CCE + BNE L2A06 + + LDY L0088 + STY L0CCF + LDA #$80 + ORA L0400,Y + STA L0400,Y + BNE L2A14 + +.L2A3B + STA L0088 + LDA #$00 + STA L0CC4 + STA L0CCB + JSR L19A0 + + LDA L0CCE + BNE L2A8B + +.L2A4D + LDY L0088 +.L2A4F + LDA L0089 + BNE L2A5D + + LDX L008B + JSR L4B5F + + STA L0CCE + BNE L2A8B + +.L2A5D + LDA #$80 + ORA L0400,Y + STA L0400,Y + DEC L0CC8 + BEQ L2A6F + + LDY L007E + JMP L299E + +.L2A6F + LDY L007E + LDA L4900,Y + BPL L2A8B + + LDY L007D + LDA L4900,Y + BPL L2A8B + + LDA L0CCE + ORA #$80 + STA L0CCE + LDY L0CBF + JSR L4C96 + +.L2A8B + RTS + +.L2A8C + LDY L0CCC + STY L0CBF + TYA + CLC + ADC #$D8 + STA L007F + LDA #$01 + STA L007C + CPY #$0C + BCC L2AB5 + + CPY #$10 + BCS L2AB5 + + LDA #$00 + STA L007C + LDA L44A0,Y + BPL L2AD8 + + TYA + AND #$01 + BNE L2AD8 + + JMP L2B93 + +.L2AB5 + LDA L007F + STA L0088 + CPY #$06 + BCC L2AD8 + + CPY #$0A + BCS L2AD8 + + LDA #$08 + STA L0CE6 +.L2AC6 + LDX L3EC2,Y + LDA L3ED0,X + STA L4478,Y + LDA L3EF0,X + STA L44C8,Y + JMP L2B20 + +.L2AD8 + CPY #$22 + BCS L2B20 + + CPY #$1E + BCC L2B20 + + BNE L2B09 + + LDA L0CE7 + BNE L2B1D + + LDA #$08 + STA L0CE6 +.L2AEC + LDX L4202 + LDA L4210,X + BNE L2B1A + + LDA L4208,X + BPL L2AF9 + +.L2AF9 + TAX + LDA L4478,X + STA L4478,Y + LDA L44C8,X + STA L44C8,Y + JMP L2B20 + +.L2B09 + LDX L41E4,Y + BMI L2B1A + + LDA L4210,X + CMP #$1B + BCS L2B20 + + LDA L4208,X + BPL L2AF9 + +.L2B1A + JMP L2BA0 + +.L2B1D + JMP L2BB7 + +.L2B20 + LDX L0088 + SEC + LDA L4400,Y + SBC L0CED + STA L0900,X + LDA L4478,Y + SBC L0CFD + STA L4A00,X + STA L0074 + LDA #$00 + SBC L0C6D + JSR L2BC0 + + BNE L2B93 + + SEC + LDA L4428,Y + SBC L0CEE + STA L0A00,X + LDA L44A0,Y + SBC L0CFE + STA L0B00,X + STA L0074 + LDA #$00 + SBC L0C6E + JSR L2BC0 + + BNE L2B93 + + SEC + LDA L4450,Y + SBC L0CEF + STA L0700,X + LDA L44C8,Y + SBC L0CFF + STA L4900,X + STA L0074 + LDA #$00 + SBC L0C6F + JSR L2BC0 + + BNE L2B93 + + LDA #$00 + STA L0CCB + JSR L1D8D + + LDY L0CCC + LDA L0CCE + BNE L2BB7 + + LDA #$C0 + BNE L2BB9 + +.L2B93 + JSR L4C96 + + BCC L2BA0 + + DEC L0CE6 + BEQ L2BB7 + + JMP L2AC6 + +.L2BA0 + CPY #$1E + BNE L2BB7 + + LDA L4202 + CLC + ADC #$01 + AND #$07 + STA L4202 + DEC L0CE6 + BEQ L2BB7 + + JMP L2AEC + +.L2BB7 + LDA #$40 +.L2BB9 + ORA L04D8,Y + STA L04D8,Y + RTS + +.L2BC0 + BPL L2BCD + + CMP #$FF + BNE L2BD9 + + LDA L0074 + EOR #$FF + JMP L2BD1 + +.L2BCD + BNE L2BD9 + + LDA L0074 +.L2BD1 + CMP L3BD8,Y + BCS L2BD9 + + LDA #$00 + RTS + +.L2BD9 + LDA L007C + RTS + +.L2BDC + LDA #$80 + STA L0CC2 + LDA #$0F + STA L0CC3 + JSR L14AC + + LDA #$00 + STA L008B + STA L008A + LDA #$FF + STA L008F + STA L008D + STA L008E +.L2BF7 + JSR L2953 + + INC L008B + LDA L008B + CMP L4207 + BCC L2BF7 + + LDX #$03 + JSR L2C1C + +.L2C08 + LDX #$0F + LDY #$80 + LDA L0CC3 + BMI L2C15 + + LDX #$F0 + LDY #$40 +.L2C15 + STX L0CC3 + STY L0CC2 + RTS + +.L2C1C + LDY #$07 + BNE L2C22 + +.L2C20 + LDY #$00 +.L2C22 + LDA #$13 + JSR OSWRCH + + TXA + JSR OSWRCH + + TYA + LDX #$03 +.L2C2E + JSR OSWRCH + + LDA #$00 + DEX + BPL L2C2E + + RTS + +.L2C37 + JSR L14AC + + LDA L008A + BNE L2C40 + + BEQ L2C91 + +.L2C40 + LDA #$00 + STA L008C +.L2C44 + TAX + LDA L0500,X + STA L008B + BNE L2C51 + + JSR L3347 + + LDA L008B +.L2C51 + TAX + LDY L3E00,X + STY L007E + LDA #$00 + STA L0400,Y + LDY L3F30,X + STY L007D + STA L0400,Y + JSR L107F + + INC L008C + LDA L008C + CMP L008A + BCC L2C44 + + JSR L4E10 + + LDA L0CC3 + BMI L2C84 + + LDX #$02 + JSR L2C20 + + LDX #$01 + JSR L2C1C + + JMP L2C8E + +.L2C84 + LDX #$01 + JSR L2C20 + + LDX #$02 + JSR L2C1C + +.L2C8E + JSR L178D + +.L2C91 + JSR L2C08 + + RTS + +.L2C95 + LDX L007E + JSR L4B4A + + LDX L007D + JSR L4B4A + + LDA #$F0 + STA L4A00,X + STX L0088 +.L2CA6 + BIT L0CFA + BMI L2CB1 + + BVS L2CB3 + +.L2CAD + LDA #$28 + BNE L2CB5 + +.L2CB1 + BVS L2CAD + +.L2CB3 + LDA #$D8 +.L2CB5 + STA L4900,X + LDA #$80 + ORA L0400,X + STA L0400,X + LDA #$1B + STA L0CCB + JSR L1D8D + + CPX L007E + BEQ L2CD2 + + LDX L007E + STX L0088 + BNE L2CA6 + +.L2CD2 + RTS + +.L2CD3 + LDX #$00 + STX L0CE6 + CPY #$21 + BNE L2CE1 + + LDA #$01 + STA L0CE6 +.L2CE1 + LDA L4478,Y + SEC + SBC L0CFD,X + STA L0CA8,X + LDA #$00 + SBC L0C6D,X + STA L0CB8,X + TYA + CLC + ADC #$28 + TAY + INX + CPX #$03 + BNE L2CE1 + + LDX #$A8 + LDY #$00 + STY L0088 + JSR L4B00 + + LDA #$00 + STA L0CCB + JSR L1D8D + + LDA L4A00 + STA L0072 + LDA L4900 + STA L0073 + LDX #$03 +.L2D1A + LSR L0072 + ROR L0900 + LSR L0073 + ROR L0700 + DEX + BPL L2D1A + + LSR L0072 + LDA L0900 + ROR A + ADC #$00 + STA L0900 +.L2D32 + LDX L0CE6 + LDA L3688,X + STA L007A + LDA L368A,X + STA L007B + LDA #$80 + STA L007F + LDA L2E9C + JSR L2E2F + + JSR L21CD + + LDX L0CE6 + BNE L2D66 + + LDA #$88 + STA L785E + STA L7998 + STA L7999 + LDA #$11 + STA L7857 + LDA #$CC + STA L785F +.L2D66 + LDA L0900 + BIT L4A00 + BPL L2D73 + + EOR #$FF + CLC + ADC #$01 +.L2D73 + CMP #$0D + BCS L2DAB + + LDA L0700 + BIT L4900 + BPL L2D84 + + EOR #$FF + CLC + ADC #$01 +.L2D84 + CMP #$1A + BCS L2DAB + + LDA L0900 + CLC + ADC #$8C + STA L007A + STA L3688,X + LDA L0700 + CLC + ADC #$D0 + STA L007B + STA L368A,X + LDA #$00 + STA L007F + LDA L0CFB + JSR L2E2F + + JSR L21CD + +.L2DAB + RTS + +.L2DAC + LDY L4205 + BMI L2DCC + + LDA L4210,Y + CMP #$1B + BNE L2DFA + + LDA L44C1 + CMP #$0C + BCS L2DCD + + LDA L4449 + ADC #$0A + STA L4449 + BCC L2DCC + + INC L44C1 +.L2DCC + RTS + +.L2DCD + LDX #$00 + STX L0074 +.L2DD1 + LDA L4499,X + BEQ L2DE9 + + LDA L4421,X + SEC + SBC L0CF8 + STA L4421,X + BCS L2DE5 + + DEC L4499,X +.L2DE5 + LDA #$01 + STA L0074 +.L2DE9 + CPX #$50 + BEQ L2DF1 + + LDX #$50 + BNE L2DD1 + +.L2DF1 + LDA L0074 + BNE L2DCC + + LDA #$1C + STA L4210,Y +.L2DFA + CMP #$1C + BNE L2DCC + + LDA L368F + BNE L2DCC + + LDA L4449 + SEC + SBC #$0A + STA L4449 + BCS L2E11 + + DEC L44C1 +.L2E11 + LDA L44C1 + BNE L2DCC + + LDA L4449 + CMP #$0A + BCS L2DCC + + JSR L4EE8 + + LDA #$5A + JSR L2ED3 + + JSR L4D92 + + TSX + INX + INX + TXS + JMP L26A5 + +.L2E2F + CPX #$00 + BEQ L2E37 + + LDY #$01 + BNE L2E59 + +.L2E37 + STA L2E9C + CLC + ADC #$10 + ASL A + STA L0070 + PHP + ROR A + SEC + SBC #$40 + PLP + ROR A + EOR #$C0 + STA L0076 + LDX #$02 + LDY #$04 + BIT L0070 + BVS L2E5B + + BPL L2E59 + + LDY #$01 + BNE L2E5B + +.L2E59 + LDX #$01 +.L2E5B + STX L0074 + STY L0075 + RTS + +.L2E60 + EQUB $08,$0C,$0E,$0F,$04,$06,$07,$02 + EQUB $03,$01 + +.L2E6A + EQUB $01,$03,$07,$0F,$02,$06,$0E,$04 + EQUB $0C,$08,$80,$C0,$E0,$F0,$40,$60 + EQUB $70,$20,$30,$10,$10,$30,$70,$F0 + EQUB $20,$60,$E0,$40,$C0,$80,$0F,$0F + EQUB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F + EQUB $F0,$F0,$F0,$F0,$F0,$F0,$F0,$F0 + EQUB $F0,$F0 + +.L2E9C + EQUB $20,$20,$20,$20 + +.L2EA0 + EQUB $A2,$00 + +.L2EA2 + TXA + LDX #$13 + STX L0072 + LDY #$59 + LDX #$48 +.L2EAB + STY L0071 + STX L0070 + STA L0073 +.L2EB1 + LDY #$00 + LDA L0073 +.L2EB5 + STA (L0070),Y + DEY + BNE L2EB5 + + LDY #$2F + INC L0071 +.L2EBE + STA (L0070),Y + DEY + BPL L2EBE + + LDA L0070 + CLC + ADC #$40 + STA L0070 + BCC L2ECE + + INC L0071 +.L2ECE + DEC L0072 + BNE L2EB1 + + RTS + +.L2ED3 + STA L0074 +.L2ED5 + STA L0075 +.L2ED7 + STA L0076 +.L2ED9 + DEC L0076 + BNE L2ED9 + + DEC L0075 + BNE L2ED7 + + DEC L0074 + BNE L2ED5 + + RTS + +.L2EE6 + LDY #$0F + STY L0CCC + LDA #$62 + STA L0088 +.L2EEF + TYA + CLC + ADC #$D8 + TAX + JSR L257B + + LDA #$00 + STA L0CCE + JSR L2A8C + + BPL L2F0A + + LDY L0088 + LDX #$3C + JSR L4B5F + + BEQ L2F0F + +.L2F0A + LDA #$00 + STA L0CF1 +.L2F0F + DEC L0088 + DEC L0CCC + LDY L0CCC + CPY #$0C + BCS L2EEF + + RTS + +.L2F1C + LDX L0CE7 + BMI L2F4D + + BEQ L2F4D + + LDA L0CC5 + BNE L2F4D + + STA L420F,X + LDA LFE64 + AND #$0F + CMP #$0E + BCS L2F4D + + ORA #$10 + DEC L0CE7 + LDX #$08 +.L2F3B + DEX + CPX L0CE7 + BNE L2F45 + + STA L4208,X + RTS + +.L2F45 + CMP L4208,X + BNE L2F3B + + INC L0CE7 +.L2F4D + RTS + +.L2F4E + LDA L4206 + AND #$7F + BNE L2F6A + + LDX #$07 +.L2F57 + LDA L4210,X + BEQ L2F67 + + CMP #$16 + BEQ L2F67 + + CMP #$1B + BCS L2F67 + + INC L4210,X +.L2F67 + DEX + BPL L2F57 + +.L2F6A + LDY #$1F +.L2F6C + LDX L41E4,Y + BMI L2F82 + + LDA L4210,X + CMP #$18 + BEQ L2F7D + + LDA L4208,X + BPL L2FB4 + +.L2F7D + LDA #$FE + STA L41E4,Y +.L2F82 + LDX #$07 +.L2F84 + LDA L4208,X + BMI L2FB1 + + LDA L4210,X + BNE L2FB1 + + CPY #$1F + BEQ L2F98 + + CPX L4203 + JMP L2F9B + +.L2F98 + CPX L4204 +.L2F9B + BEQ L2FB1 + + TXA + STA L41E4,Y + STX L0075 + LDA #$80 + JSR L302C + + LDX L0075 + LDA #$01 + STA L4210,X + BNE L2FB4 + +.L2FB1 + DEX + BPL L2F84 + +.L2FB4 + INY + CPY #$21 + BNE L2F6C + + LDX L41E4,Y + BMI L2FC6 + + LDA L4208,X + BPL L2FE3 + + STA L41E4,Y +.L2FC6 + LDY #$1F +.L2FC8 + LDX L41E4,Y + BMI L2FDE + + LDA L4210,X + CMP #$16 + BNE L2FDE + + STX L4205 + LDA #$17 + STA L4210,X + BNE L2FE3 + +.L2FDE + INY + CPY #$21 + BNE L2FC8 + +.L2FE3 + LDA L4206 + AND #$7F + BNE L302B + + LDY #$1F +.L2FEC + LDX L41E4,Y + BMI L3003 + + LDA L4210,X + CMP #$05 + BCC L3003 + + CMP #$14 + BCS L3003 + + AND #$03 + BNE L3003 + + JSR L302C + +.L3003 + INY + CPY #$21 + BNE L2FEC + + LDX #$07 +.L300A + LDA L4208,X + BPL L302B + + DEX + BPL L300A + + LDA #$08 + STA L0CE7 + LDX #$00 + LDA #$50 + JSR L4BCB + + LDA L0CF8 + CLC + ADC #$04 + CMP #$13 + BCS L302B + + STA L0CF8 +.L302B + RTS + +.L302C + STA L007C + STY L0074 + LDX #$03 + LDA #$BA + CPY #$1F + BEQ L303A + + LDA #$BF +.L303A + TAY +.L303B + LDA L35B0,Y + CLC + ADC #$10 + BIT L007C + BPL L3049 + + AND #$0F + ORA #$20 +.L3049 + STA L35B0,Y + DEY + DEX + BPL L303B + + LDY L0074 + RTS + +.L3053 + LDA #$7D + STA L0081 + LDA #$40 + STA L0071 + LDA #$A0 + STA L0082 + STA L0080 + CPY #$1F + BCS L306B + + LDA #$04 + LDX #$03 + BNE L3088 + +.L306B + LDA #$00 + CPY #$20 + BCS L3075 + + LDX #$B7 + BNE L3079 + +.L3075 + BNE L3093 + + LDX #$BC +.L3079 + LDA L35B0,X + EOR #$70 + LSR A + LSR A + LSR A + LSR A + TAX + DEX + DEX + TXA + BEQ L3093 + +.L3088 + LSR L0081 + LSR L0082 + LSR L0080 + LSR L0071 + DEX + BNE L3088 + +.L3093 + STA L368D + LDA #$00 + STA L368F + LDY L0CCC + JSR L3129 + + LDX #$E4 + STX L0086 +.L30A5 + LDX L0086 + LDA #$1F + STA L0087 + LDY #$00 +.L30AD + STY L0071 + JSR L3181 + + LDY L0071 + STA L0CB8,Y + LDA L0076 + STA L0CA8,Y + LDA L0072 + STA L0CE0,Y + INY + CPY #$03 + BNE L30AD + + LDX #$A8 + LDY #$00 + JSR L4B00 + + LDY L0086 + JSR L3152 + + LDY L0086 + LDX #$D8 +.L30D6 + TYA + CLC + ADC #$28 + TAY + TXA + CLC + ADC #$28 + TAX + LDA L4400,Y + STA L4400,X + CPX #$C8 + BNE L30D6 + +.L30EA + LDY #$02 + LDX #$50 +.L30EE + LDA L0CE0,Y + CLC + ADC L0CB8,Y + STA L0CB8,Y + BCC L3102 + + INC L4400,X + BNE L3102 + + INC L4478,X +.L3102 + TXA + SEC + SBC #$28 + TAX + DEY + BPL L30EE + + LDX #$00 + LDY #$00 + JSR L257B + + LDY #$D8 + JSR L3152 + + DEC L0087 + BPL L30EA + + LDA L0086 + CLC + ADC #$02 + STA L0086 + CMP #$E8 + BEQ L3128 + + JMP L30A5 + +.L3128 + RTS + +.L3129 + LDX #$02 +.L312B + LDA L4400,Y + CLC + ADC L0071 + STA L0077,X + LDA L4478,Y + ADC #$05 + STA L007A,X +.L313A + TYA + CLC + ADC #$28 + TAY + DEX + BPL L3143 + + RTS + +.L3143 + BEQ L312B + + LDA L4400,Y + STA L0077,X + LDA L4478,Y + STA L007A,X + JMP L313A + +.L3152 + LDX #$02 +.L3154 + TYA + CLC + ADC #$28 + TAY + LDA L4400,Y + SEC + SBC L0077,X + STA L0074 + LDA L4478,Y + SBC L007A,X + BNE L3180 + + LDA L0074 + CMP L0080,X + BCS L3180 + + DEX + BPL L3154 + + LDA L0CCC + STA L368E + TSX + INX + INX + TXS + LDA #$1B + STA L368F +.L3180 + RTS + +.L3181 + LDA #$00 + STA L0070 + STA L0072 + TXA + CLC + ADC #$28 + TAX + LDA L4401,X + SEC + SBC L4400,X + STA L0076 + LDA L4479,X + SBC L4478,X + BPL L319F + + DEC L0070 +.L319F + LDY #$04 +.L31A1 + LSR L0070 + ROR A + ROR L0076 + ROR L0072 + DEY + BPL L31A1 + + RTS + + LDA L0CFC + BPL L31B3 + + EOR #$C0 +.L31B3 + AND #$C0 + BEQ L31B9 + + LDA #$0E +.L31B9 + STA L77A9 + RTS + +.L31BD + LDA L04D9 + BEQ L31D4 + + BMI L31C7 + + JMP L3246 + +.L31C7 + LDA L008B + CMP #$05 + BCC L31D3 + + LDA L0CCA + STA L0CCE +.L31D3 + RTS + +.L31D4 + LDA #$00 + STA L0CCB + LDA #$01 + STA L0CCC + JSR L2A8C + + BPL L3246 + + LDA #$00 + LDX #$05 +.L31E7 + STA L0CE0,X + DEX + BPL L31E7 + + LDY #$D9 + STY L0CCF + LDX #$01 + JSR L1A67 + + LDA #$02 + STA L0088 + JSR L19A0 + + LDX #$05 +.L3200 + LDA L0CE0,X + STA L0CB8,X + DEX + BPL L3200 + + LDA #$04 + STA L0088 + JSR L19A0 + + LDY #$02 + LDX #$03 + JSR L1A67 + + LDA L0CCE + BEQ L3222 + + LDA #$40 + STA L04D9 + RTS + +.L3222 + LDX #$04 + JSR L333B + + LDY #$01 + LDX #$0A +.L322B + JSR L4B5F + + STA L0CCE + BNE L323B + + CPY #$03 + BEQ L3250 + + LDY #$03 + BNE L322B + +.L323B + LDA #$80 + STA L0CCA + LDA L008B + CMP #$05 + BCC L324A + +.L3246 + LDA #$80 + BNE L324C + +.L324A + LDA #$00 +.L324C + STA L0CCE + RTS + +.L3250 + LDX #$02 +.L3252 + CLC + LDA L0CE3,X + BPL L3259 + + SEC +.L3259 + ROR A + STA L0CE3,X + LDA L0CE0,X + ROR A + STA L0CE0,X + DEX + BPL L3252 + + LDY #$02 + LDX #$15 + JSR L1A67 + + LDY #$01 + LDX #$05 + JSR L1A67 + + LDX #$05 +.L3277 + LDA L0CE0,X + STA L0CDA,X + DEX + BPL L3277 + + LDX #$05 + LDA #$00 +.L3284 + STA L0074,X + DEX + BPL L3284 + + LDX #$02 +.L328B + LDA #$00 + STA L0072 + LDA L0CBB,X + BPL L3296 + + DEC L0072 +.L3296 + LSR L0072 + ROR A + STA L0CE3,X + LDA L0CB8,X + ROR A + ROR L0074,X + LDY #$02 +.L32A4 + LSR L0072 + ROR L0CE3,X + ROR A + ROR L0074,X + DEY + BPL L32A4 + + STA L0CE0,X + DEX + BPL L328B + + LDX #$A8 + LDY #$05 + JSR L4B25 + +.L32BC + LDX #$02 +.L32BE + CLC + LDA L0077,X + ADC L0074,X + STA L0077,X + LDA L0CA8,X + ADC L0CE0,X + STA L0CA8,X + LDA L0CB8,X + ADC L0CE3,X + STA L0CB8,X + DEX + BPL L32BE + + LDX #$A8 + INY + JSR L4B00 + + CPY #$13 + BNE L32BC + + LDX #$13 + JSR L333B + + LDX #$05 +.L32EB + LDA L0CDA,X + STA L0CE0,X + DEX + BPL L32EB + + LDA L4906 + STA L0070 + LDY #$06 +.L32FB + LDA L4900,Y + EOR L0070 + BMI L3309 + + INY + CPY #$14 + BCC L32FB + + BCS L333A + +.L3309 + LDA L0070 + BPL L3316 + + DEY + LDA #$01 + STA L0071 + LDX #$04 + BNE L331C + +.L3316 + LDA #$02 + STA L0071 + LDX #$03 +.L331C + JSR L1A67 + + LDX #$02 +.L3321 + LDA #$00 + SEC + SBC L0CE0,X + STA L0CE0,X + LDA #$00 + SBC L0CE3,X + STA L0CE3,X + DEX + BPL L3321 + + LDX L0071 + JSR L1A67 + +.L333A + RTS + +.L333B + LDA #$80 + ORA L0400,X + STA L0400,X + DEX + BNE L333B + + RTS + +.L3347 + LDX #$1E + LDY #$20 + LDA L4A00,X + STA L0074 + LDA L0900,X + ASL A + ROL L0074 + SEC + SBC L091F + STA L0900,Y + LDA L0074 + SBC L4A1F + STA L4A00,Y + LDA L0B00,X + STA L0074 + LDA L0A00,X + ASL A + ROL L0074 + SEC + SBC L0A1F + STA L0A00,Y + LDA L0074 + SBC L0B1F + STA L0B00,Y + STX L007D + STY L007E + JSR L107B + + RTS + +.L3387 + LDA L4206 + AND #$03 + BEQ L338F + + RTS + +.L338F + TAX + LDA L3692 + CMP #$41 + BCS L339D + + INC L3692 + JMP L33AE + +.L339D + STX L0CE8 + RTS + +.L33A1 + LDA L4206 + AND #$0F + BEQ L33A9 + + RTS + +.L33A9 + LDX #$80 + LDA L3692 +.L33AE + STX L007F + CLC + ADC #$B8 + STA L007B + LDA #$02 + STA L007A + LDA #$01 + STA L0074 + STA L0075 + LDA #$00 + STA L0076 + JSR L21CD + + RTS + +.L33C7 + LDX #$DB + JSR L2532 + + BEQ L33D9 + + LDX #$EA + JSR L2532 + + BNE L33ED + + LDA #$FF + BNE L33DB + +.L33D9 + LDA #$01 +.L33DB + CLC + ADC L4EB2 + BMI L33E3 + + BNE L33ED + +.L33E3 + CMP #$F1 + BCC L33ED + + STA L4EB2 + INC L4EE4 +.L33ED + RTS + + CMP #$0E + BCC L33FF + + LDA L0CF3 + BEQ L33FF + + LDA #$00 + STA L0CF3 + JSR L2457 + +.L33FF + RTS + +.L3400 + EQUB $0D,$00,$00,$00,$08,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $0A,$00,$00,$00,$00,$04,$00,$00 + EQUB $04,$00,$00,$00,$04,$00,$0C,$05 + EQUB $08,$00,$00,$00,$00,$00,$00,$00 + EQUB $0C,$00,$00,$0C,$0B,$00,$00,$00 + EQUB $00,$02,$01,$03,$06,$0A,$03,$09 + EQUB $06,$0D,$00,$01,$05,$01,$00,$09 + EQUB $00,$08,$00,$0E,$00,$0D,$05,$0C + EQUB $0F,$00,$07,$06,$0C,$00,$00,$08 + EQUB $00,$0F,$00,$04,$03,$0A,$00,$00 + EQUB $00,$0A,$00,$00,$00,$00,$00,$0B + EQUB $0B,$0D,$0E,$04,$04,$0D,$0C,$0D + EQUB $04,$0E,$00,$03,$0F,$0A,$0B,$02 + EQUB $0E,$00,$0B,$0A,$0A,$05,$0E,$00 + EQUB $00,$0B,$0E,$05,$04,$09,$0A,$00 + EQUB $01,$05,$0D,$00,$00,$0D,$0F,$02 + EQUB $00,$09,$0D,$0F,$0B,$00,$0B,$0D + EQUB $02,$03,$0A,$08,$00,$00,$04,$0C + EQUB $00,$06,$0E,$0B,$00,$05,$0A,$0E + EQUB $00,$05,$0B,$05,$00,$05,$0D,$02 + EQUB $00,$02,$00,$0C,$0E,$05,$05,$00 + EQUB $03,$0E,$03,$05,$00,$03,$0E,$03 + EQUB $09,$04,$05,$09,$07,$04,$04,$00 + EQUB $02,$00,$00,$00,$0B,$0C,$0B,$00 + EQUB $00,$00,$00,$04,$01,$00,$00,$04 + +.L34D8 + EQUB $3D,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$01,$01,$01,$01,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$0A,$0A,$00,$00,$0A,$0A + EQUB $00,$00,$00,$00,$00,$0A,$0A,$0A + EQUB $0A,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$0C,$0C,$07,$08,$0A,$00,$00 + EQUB $02,$00,$0A,$0C,$05,$07,$0A,$00 + EQUB $00,$00,$00,$02,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$04,$00,$00,$00,$00,$04 + EQUB $00,$00,$00,$00,$04,$00,$03,$00 + EQUB $03,$02,$02,$00,$00,$00,$00,$08 + EQUB $08,$08,$08,$01,$00,$00,$00,$02 + +.L35B0 + EQUB $0D,$00,$9C,$00,$50,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$48,$48 + EQUB $60,$80,$80,$80,$80,$80,$00,$00 + EQUB $80,$5A,$4C,$00,$82,$82,$40,$5A + EQUB $40,$38,$30,$30,$38,$00,$30,$30 + EQUB $50,$38,$38,$50,$60,$40,$40,$40 + EQUB $40,$8E,$8B,$99,$8C,$81,$79,$6F + EQUB $8D,$43,$9E,$80,$9C,$80,$00,$50 + EQUB $59,$96,$81,$97,$81,$92,$4D,$80 + EQUB $1F,$20,$17,$2B,$25,$00,$81,$40 + EQUB $80,$1F,$20,$14,$2C,$28,$00,$00 + EQUB $81,$10,$81,$80,$00,$4B,$4A,$87 + EQUB $94,$3D,$90,$3A,$80,$83,$80,$9A + EQUB $8C,$91,$8C,$85,$80,$85,$84,$8E + EQUB $40,$89,$97,$93,$93,$99,$82,$00 + EQUB $87,$8E,$8A,$80,$8E,$94,$92,$00 + EQUB $8F,$9A,$84,$00,$8B,$89,$70,$80 + EQUB $8D,$99,$8B,$85,$80,$8B,$8D,$82 + EQUB $80,$88,$87,$82,$00,$86,$88,$80 + EQUB $86,$99,$8C,$70,$83,$9C,$99,$80 + EQUB $8C,$9B,$87,$80,$89,$98,$8D,$80 + EQUB $88,$80,$0C,$00,$2E,$85,$85,$23 + EQUB $20,$2E,$23,$85,$23,$20,$2E,$23 + EQUB $79,$55,$54,$68,$55 + +.L3675 + EQUB $40,$52,$44,$54,$80 + +.L367A + EQUB $80,$4C,$50,$40,$50,$40,$40,$40 + EQUB $40,$74,$84,$82,$85,$75 + +.L3688 + EQUB $8A,$8A + +.L368A + EQUB $D0,$D0 + +.L368C + EQUB $48 + +.L368D + EQUB $49 + +.L368E + EQUB $3D + +.L368F + EQUB $26,$34,$34 + +.L3692 + EQUB $41,$B2,$B7,$BC,$C1,$0F,$B4,$BA + EQUB $BF,$C8 + +.L369C + EQUB $49 + +.L369D + EQUB $3D + +.L369E + EQUB $26 + +.L369F + EQUB $34 + +.L36A0 + EQUB $CD,$E9,$0C,$F0,$1A,$8D,$E9,$0C + EQUB $AA,$20,$B5,$4D,$AD,$85,$4F,$AE + EQUB $E9,$0C,$D0,$05,$18,$69,$14,$D0 + EQUB $03,$38,$E9,$14,$8D,$85,$4F,$60 + EQUB $A8,$00,$56,$A8,$60,$56,$88,$00 + EQUB $56,$30,$00,$30,$D0,$00,$70,$10 + EQUB $00,$70,$E0,$00,$C0,$4C,$00,$86 + EQUB $4C,$00,$86,$4C,$00,$86,$04,$00 + EQUB $03,$04,$00,$04,$06,$00,$04,$04 + EQUB $00,$03,$A8,$10,$18,$A8,$16,$18 + EQUB $B8,$2C,$18,$A8,$44,$28,$28,$84 + EQUB $48,$60,$24,$38,$78,$20,$60,$20 + +.L3700 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $01,$01,$01,$01,$01,$01,$01,$01 + EQUB $01,$01,$01,$01,$01,$01,$01,$01 + EQUB $02,$02,$02,$02,$02,$02,$02,$02 + EQUB $02,$02,$02,$02,$02,$02,$02,$02 + EQUB $03,$03,$03,$03,$03,$03,$03,$03 + EQUB $03,$03,$03,$03,$03,$03,$03,$03 + EQUB $04,$04,$04,$04,$04,$04,$04,$04 + EQUB $04,$04,$04,$04,$04,$04,$04,$04 + EQUB $05,$05,$05,$05,$05,$05,$05,$05 + EQUB $05,$05,$05,$05,$05,$05,$05,$05 + EQUB $06,$06,$06,$06,$06,$06,$06,$06 + EQUB $06,$06,$06,$06,$06,$06,$06,$06 + EQUB $07,$07,$07,$07,$07,$07,$07,$07 + EQUB $07,$07,$07,$07,$07,$07,$07,$07 + EQUB $08,$08,$08,$08,$08,$08,$08,$08 + EQUB $08,$08,$08,$08,$08,$08,$08,$08 + EQUB $09,$09,$09,$09,$09,$09,$09,$09 + EQUB $09,$09,$09,$09,$09,$09,$09,$09 + EQUB $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A + EQUB $0A,$0A,$0A,$0A,$0A,$0A,$0A,$0A + EQUB $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B + EQUB $0B,$0B,$0B,$0B,$0B,$0B,$0B,$0B + EQUB $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C + EQUB $0C,$0C,$0C,$0C,$0C,$0C,$0C,$0C + EQUB $0D,$0D,$0D,$0D,$0D,$0D,$0D,$0D + EQUB $0D,$0D,$0D,$0D,$0D,$0D,$0D,$0D + EQUB $0E,$0E,$0E,$0E,$0E,$0E,$0E,$0E + EQUB $0E,$0E,$0E,$0E,$0E,$0E,$0E,$0E + EQUB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F + EQUB $0F,$0F,$0F,$0F,$0F,$0F,$0F,$0F + +.L3800 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $00,$10,$20,$30,$40,$50,$60,$70 + EQUB $80,$90,$A0,$B0,$C0,$D0,$E0,$F0 + EQUB $FF,$FE,$FD,$FC,$FB,$FA,$F9,$F8 + EQUB $F7,$F6,$F5,$F4,$F3,$F2,$F1,$F0 + EQUB $EF,$EF,$EE,$ED,$EC,$EB,$EA,$E9 + EQUB $E9,$E8,$E7,$E6,$E5,$E4,$E4,$E3 + EQUB $E2,$E1,$E1,$E0,$DF,$DE,$DD,$DD + EQUB $DC,$DB,$DA,$DA,$D9,$D8,$D8,$D7 + EQUB $D6,$D5,$D5,$D4,$D3,$D3,$D2,$D1 + EQUB $D1,$D0,$CF,$CF,$CE,$CD,$CD,$CC + EQUB $CB,$CB,$CA,$C9,$C9,$C8,$C8,$C7 + EQUB $C6,$C6,$C5,$C5,$C4,$C3,$C3,$C2 + EQUB $C2,$C1,$C0,$C0,$BF,$BF,$BE,$BE + EQUB $BD,$BC,$BC,$BB,$BB,$BA,$BA,$B9 + EQUB $B9,$B8,$B8,$B7,$B7,$B6,$B6,$B5 + EQUB $B5,$B4,$B4,$B3,$B3,$B2,$B2,$B1 + EQUB $B1,$B0,$B0,$AF,$AF,$AE,$AE,$AD + EQUB $AD,$AC,$AC,$AB,$AB,$AB,$AA,$AA + EQUB $A9,$A9,$A8,$A8,$A7,$A7,$A7,$A6 + EQUB $A6,$A5,$A5,$A4,$A4,$A4,$A3,$A3 + EQUB $A2,$A2,$A2,$A1,$A1,$A0,$A0,$A0 + EQUB $9F,$9F,$9E,$9E,$9E,$9D,$9D,$9C + EQUB $9C,$9C,$9B,$9B,$9B,$9A,$9A,$99 + EQUB $99,$99,$98,$98,$98,$97,$97,$97 + EQUB $96,$96,$96,$95,$95,$94,$94,$94 + EQUB $93,$93,$93,$92,$92,$92,$91,$91 + EQUB $91,$90,$90,$90,$90,$8F,$8F,$8F + EQUB $8E,$8E,$8E,$8D,$8D,$8D,$8C,$8C + EQUB $8C,$8B,$8B,$8B,$8B,$8A,$8A,$8A + EQUB $89,$89,$89,$88,$88,$88,$88,$87 + EQUB $87,$87,$86,$86,$86,$86,$85,$85 + EQUB $85,$85,$84,$84,$84,$83,$83,$83 + EQUB $83,$82,$82,$82,$82,$81,$81,$81 + EQUB $81,$80,$80,$80,$80,$7F,$7F,$7F + +.L3A00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$02,$04,$06,$08,$0A,$0C,$0E + EQUB $10,$12,$14,$16,$18,$1A,$1C,$1E + EQUB $00,$03,$06,$09,$0C,$0F,$12,$15 + EQUB $18,$1B,$1E,$21,$24,$27,$2A,$2D + EQUB $00,$04,$08,$0C,$10,$14,$18,$1C + EQUB $20,$24,$28,$2C,$30,$34,$38,$3C + EQUB $00,$05,$0A,$0F,$14,$19,$1E,$23 + EQUB $28,$2D,$32,$37,$3C,$41,$46,$4B + EQUB $00,$06,$0C,$12,$18,$1E,$24,$2A + EQUB $30,$36,$3C,$42,$48,$4E,$54,$5A + EQUB $00,$07,$0E,$15,$1C,$23,$2A,$31 + EQUB $38,$3F,$46,$4D,$54,$5B,$62,$69 + EQUB $00,$08,$10,$18,$20,$28,$30,$38 + EQUB $40,$48,$50,$58,$60,$68,$70,$78 + EQUB $00,$09,$12,$1B,$24,$2D,$36,$3F + EQUB $48,$51,$5A,$63,$6C,$75,$7E,$87 + EQUB $00,$0A,$14,$1E,$28,$32,$3C,$46 + EQUB $50,$5A,$64,$6E,$78,$82,$8C,$96 + EQUB $00,$0B,$16,$21,$2C,$37,$42,$4D + EQUB $58,$63,$6E,$79,$84,$8F,$9A,$A5 + EQUB $00,$0C,$18,$24,$30,$3C,$48,$54 + EQUB $60,$6C,$78,$84,$90,$9C,$A8,$B4 + EQUB $00,$0D,$1A,$27,$34,$41,$4E,$5B + EQUB $68,$75,$82,$8F,$9C,$A9,$B6,$C3 + EQUB $00,$0E,$1C,$2A,$38,$46,$54,$62 + EQUB $70,$7E,$8C,$9A,$A8,$B6,$C4,$D2 + EQUB $00,$0F,$1E,$2D,$3C,$4B,$5A,$69 + EQUB $78,$87,$96,$A5,$B4,$C3,$D2,$E1 + EQUB $10,$7D,$7D,$7D,$7D,$10,$10,$10 + EQUB $10,$10,$28,$10,$50,$50,$32,$32 + EQUB $32,$28,$28,$28,$50,$50,$28,$28 + EQUB $50,$50,$50,$50,$50,$50,$50,$50 + EQUB $50,$50,$50,$50,$50,$50,$50,$3C + EQUB $46,$3C,$46,$3C,$46,$3C,$46,$3F + EQUB $3F,$3F,$3F,$3C,$46,$3C,$46,$3C + EQUB $3F,$3F,$3F,$3F,$1E,$1E,$46,$3C + EQUB $46,$3C,$46,$3C,$46,$3C,$46,$3C + EQUB $46,$3C,$46,$3C,$78,$46,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$78,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$19 + EQUB $19,$19,$64,$64,$64,$64,$64,$64 + EQUB $64,$64,$64,$64,$64,$64,$78,$64 + EQUB $64,$64,$64,$64,$64,$64,$64,$64 + EQUB $64,$78,$78,$78,$78,$78,$78,$78 + EQUB $78,$3C,$3C,$3C,$3C,$3C,$3C,$3C + EQUB $3C,$3C,$3C,$3C,$3C,$3C,$3C,$3C + EQUB $3C,$3C,$78,$78,$78,$78,$78,$78 + EQUB $78,$3F,$0D,$03,$B1,$10,$2E,$64 + EQUB $6C,$70,$32,$20,$53,$54,$41,$26 + EQUB $37,$36,$0D,$03,$B2,$19,$2E,$64 + +.L3BD8 + EQUB $6C,$7D,$7D,$7D,$7D,$7D,$28,$28 + EQUB $6E,$6E,$3A,$42,$1E,$1E,$1E,$1E + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$7D,$7D + EQUB $7D,$7D,$7D,$7D,$7D,$7D,$19,$5A + EQUB $5A,$5A,$7D,$3A,$42,$4E,$45,$20 + +.L3C00 + EQUB $64,$6C,$70,$32,$0D,$03,$B4,$19 + EQUB $20,$20,$20,$20,$20,$20,$44,$45 + EQUB $43,$26,$37,$34,$3A,$42,$4E,$45 + EQUB $20,$64,$6C,$70,$31,$0D,$03,$B5 + EQUB $0D,$20,$20,$20,$20,$20,$20,$72 + EQUB $74,$73,$0D,$03,$B6,$05,$20,$0D + EQUB $03,$BF,$25,$2E,$55,$42,$55,$4C + EQUB $20,$4C,$44,$59,$23,$31,$35,$3A + EQUB $53,$54,$59,$20,$4F,$42,$3A,$4C + EQUB $44,$41,$23,$39,$38,$3A,$53,$54 + EQUB $41,$20,$50,$50,$0D,$03,$C0,$1D + EQUB $2E,$75,$62,$75,$32,$20,$54,$59 + +.L3C60 + EQUB $41,$3A,$43,$4C,$43,$3A,$41,$44 + EQUB $43,$23,$26,$44,$38,$3A,$54,$41 + EQUB $58,$0D,$03,$CA,$12,$20,$20,$20 + EQUB $20,$20,$20,$4A,$53,$52,$20,$4D + EQUB $4F,$42,$4A,$0D,$03,$D4,$12,$20 + EQUB $20,$20,$20,$20,$20,$4A,$53,$52 + EQUB $20,$55,$4F,$42,$4A,$0D,$03,$DE + EQUB $25,$20,$20,$20,$20,$20,$20,$4C + EQUB $44,$59,$20,$4F,$42,$3A,$4C,$44 + EQUB $41,$20,$4F,$53,$54,$41,$54,$2C + EQUB $59,$3A,$42,$4D,$49,$20,$75,$62 + EQUB $75,$31,$0D,$03,$E8,$1B,$20,$20 + +.L3CC0 + EQUB $20,$20,$20,$20,$4C,$44,$41,$23 + EQUB $30,$3A,$53,$54,$41,$20,$46,$52 + EQUB $46,$4C,$41,$47,$20,$0D,$03,$F2 + EQUB $17,$2E,$75,$62,$75,$31,$20,$44 + EQUB $45,$43,$20,$50,$50,$3A,$44,$45 + EQUB $43,$20,$4F,$42,$0D,$03,$FC,$20 + EQUB $20,$20,$20,$20,$20,$20,$4C,$44 + EQUB $59,$20,$4F,$42,$3A,$43,$50,$59 + EQUB $23,$31,$32,$3A,$42,$43,$53,$20 + EQUB $75,$62,$75,$32,$0D,$04,$06,$0D + EQUB $20,$20,$20,$20,$20,$20,$72,$74 + EQUB $73,$0D,$04,$10,$05,$20,$0D,$04 + +.L3D20 + EQUB $1A,$24,$2E,$53,$55,$54,$52,$20 + EQUB $4A,$4D,$50,$20,$54,$45,$53,$54 + EQUB $3A,$42,$4D,$49,$20,$73,$75,$74 + EQUB $31,$3A,$42,$45,$51,$20,$73,$75 + EQUB $74,$31,$0D,$04,$24,$1B,$20,$20 + EQUB $20,$20,$20,$20,$4C,$44,$41,$26 + EQUB $30,$43,$43,$35,$3A,$42,$4E,$45 + EQUB $20,$73,$75,$74,$31,$0D,$04,$2E + EQUB $27,$20,$20,$20,$20,$20,$20,$4C + EQUB $44,$41,$26,$46,$45,$36,$34,$3A + EQUB $80,$23,$31,$35,$3A,$43,$4D,$50 + EQUB $23,$31,$34,$3A,$42,$43,$53,$20 + +.L3D80 + EQUB $73,$75,$74,$31,$0D,$04,$38,$0F + EQUB $20,$20,$20,$20,$20,$20,$84,$41 + EQUB $23,$31,$36,$0D,$04,$42,$19,$2E + EQUB $73,$75,$74,$33,$20,$44,$45,$43 + EQUB $20,$54,$48,$45,$4D,$45,$3A,$4C + EQUB $44,$58,$23,$37,$0D,$04,$4C,$1C + EQUB $2E,$73,$75,$74,$35,$20,$43,$50 + EQUB $58,$20,$54,$48,$45,$4D,$45,$3A + EQUB $42,$45,$51,$20,$73,$75,$74,$34 + EQUB $0D,$04,$56,$1F,$2E,$73,$75,$74 + EQUB $32,$20,$43,$4D,$50,$20,$46,$4C + EQUB $44,$50,$54,$52,$2C,$58,$3A,$42 + +.L3DE0 + EQUB $1F,$01,$03,$48,$49,$47,$48,$20 + EQUB $53,$43,$4F,$52,$45,$3A,$20,$20 + EQUB $30,$1F,$03,$0A,$3A,$4A,$4D,$50 + EQUB $20,$73,$75,$74,$35,$0D,$04,$6A + +.L3E00 + EQUB $1E,$02,$03,$04,$01,$07,$09,$0B + EQUB $0D,$0F,$11,$13,$3B,$72,$2A,$2B + EQUB $2C,$2E,$2F,$30,$35,$36,$37,$38 + EQUB $3A,$39,$33,$3C,$3D,$3E,$3F,$40 + EQUB $41,$42,$74,$71,$71,$70,$6F,$43 + EQUB $77,$78,$44,$45,$46,$47,$75,$51 + EQUB $55,$55,$55,$76,$48,$49,$4A,$4B + EQUB $5A,$5E,$5E,$5E,$60,$62,$4C,$4D + EQUB $4E,$4F,$65,$64,$66,$67,$69,$68 + EQUB $6B,$6A,$6D,$6D,$D7,$6E,$7A,$79 + EQUB $7B,$7B,$91,$91,$93,$93,$94,$9E + EQUB $9F,$A0,$A0,$A1,$A2,$A1,$A3,$A8 + EQUB $A6,$A7,$A8,$AC,$AB,$7C,$AB,$AF + EQUB $AE,$AD,$AE,$97,$97,$95,$96,$8A + EQUB $8A,$89,$8B,$85,$87,$86,$86,$81 + EQUB $82,$83,$83,$D1,$7E,$7E,$7F,$8D + EQUB $7C,$8F,$8E,$9A,$9B,$9C,$99,$B3 + EQUB $B4,$B4,$B8,$B9,$B9,$BA,$B8,$B9 + EQUB $BD,$BE,$BE,$BF,$BD,$BE,$D7,$C2 + EQUB $C3,$C3,$C4,$C2,$C3,$C8,$C6,$C6 + EQUB $C8,$58,$57,$C9,$28,$19,$1C,$17 + EQUB $18,$58,$63,$63,$CA,$1C,$1A,$1B + EQUB $1C,$1D,$28,$22,$25,$26,$D1,$D2 + EQUB $D0,$D0,$CC,$CE,$CF,$D3,$D3,$D3 + EQUB $D7,$D7 + +.L3EC2 + EQUB $74,$72,$75,$32 + +.L3EC6 + EQUB $3A,$43,$00,$08,$10,$18,$00,$08 + EQUB $10,$18 + +.L3ED0 + EQUB $C8,$2A,$CF,$82,$1D,$75,$1A,$CF + EQUB $9C,$43,$E5,$8A,$EA,$22,$6A,$C5 + EQUB $15,$C4,$C4,$CE,$CE,$CE,$15,$11 + EQUB $38,$D5,$D5,$DA,$DA,$0D,$38,$0D + +.L3EF0 + EQUB $52,$D2,$9A,$C9,$3E,$33,$8A,$EC + EQUB $C6,$E2,$BA,$70,$6E,$44,$20,$1B + EQUB $2F,$05,$05,$F5,$F5,$F5,$2F,$D6 + EQUB $1C,$2E,$2E,$D3,$D3,$D9,$1C,$D9 + +.L3F10 + EQUB $A6,$70,$8A,$38,$ED,$9D,$2E,$10 + EQUB $05,$49,$FF,$18,$69,$01,$C9,$09 + EQUB $90,$03,$8E,$9D,$2E,$60,$3D,$41 + EQUB $42,$43,$77,$78,$44,$45,$46,$50 + +.L3F30 + EQUB $1F,$01,$02,$03,$04,$06,$08,$0A + EQUB $0C,$0E,$10,$12,$72,$73,$29,$2A + EQUB $2B,$2D,$2E,$2F,$31,$32,$33,$34 + EQUB $3B,$3A,$39,$34,$3C,$31,$32,$3E + EQUB $3F,$40,$73,$74,$70,$6F,$3D,$41 + EQUB $42,$43,$77,$78,$44,$45,$46,$50 + EQUB $52,$53,$54,$47,$75,$76,$48,$49 + EQUB $59,$5B,$5C,$5D,$5F,$61,$4A,$4B + EQUB $4C,$4D,$4E,$4F,$65,$64,$66,$67 + EQUB $69,$68,$6B,$6A,$D5,$6D,$79,$B1 + EQUB $7A,$B1,$90,$92,$92,$94,$90,$9D + EQUB $9E,$9F,$9D,$A4,$A3,$A2,$A4,$A5 + EQUB $A5,$A6,$A7,$A9,$A9,$8E,$AC,$B0 + EQUB $AF,$B0,$AD,$96,$98,$98,$95,$8B + EQUB $89,$88,$88,$84,$84,$87,$85,$80 + EQUB $81,$82,$80,$CB,$7D,$7F,$7D,$8C + EQUB $8D,$8C,$8F,$99,$9A,$9B,$9C,$B2 + EQUB $B2,$B3,$B7,$B7,$B8,$B7,$BA,$BA + EQUB $BC,$BC,$BD,$BC,$BF,$BF,$6C,$C1 + EQUB $C1,$C2,$C1,$C4,$C4,$C1,$C2,$C5 + EQUB $C7,$56,$63,$27,$CA,$16,$15,$1A + EQUB $1B,$C9,$58,$CA,$C9,$19,$19,$1A + EQUB $1B,$16,$21,$CD,$28,$CD,$CF,$D1 + EQUB $D2,$CF,$D2,$D0,$CD,$23,$D4,$24 + EQUB $D6,$6C,$03,$0A,$20,$20,$20,$20 + EQUB $00,$00 + +.L3FFA + EQUB $05,$10,$15,$25,$00 + +.L3FFF + EQUB $40 + +.L4000 + EQUB $00 + +.L4001 + EQUB $92,$24,$B6,$48,$DA,$6C,$FE,$8F + EQUB $21,$B2,$44,$D5,$66,$F6,$87,$17 + EQUB $A7,$37,$C7,$56,$E5,$73,$02,$90 + EQUB $1D,$AA,$37,$C4,$50,$DB,$66,$F1 + EQUB $7B,$05,$8E,$17,$9F,$26,$AD,$33 + EQUB $B9,$3E,$C3,$47,$CA,$4D,$CE,$50 + EQUB $D0,$50,$CF,$4D,$CA,$47,$C3,$3E + EQUB $B8,$31,$AA,$22,$98,$0E,$83,$F7 + EQUB $6A,$DC,$4D,$BD,$2D,$9B,$08,$74 + EQUB $DF,$49,$B1,$19,$80,$E5,$4A,$AD + EQUB $0F,$70,$D0,$2E,$8B,$E7,$42,$9C + EQUB $F4,$4B,$A1,$F5,$48,$9A,$EA,$39 + EQUB $87,$D3,$1E,$68,$B0,$F6,$3C,$7F + EQUB $C2,$02,$42,$7F,$BC,$F6,$2F,$67 + EQUB $9D,$D2,$05,$36,$66,$94,$C0,$EB + EQUB $14,$3B,$61,$85,$A8,$C8,$E7,$04 + EQUB $20,$3A,$52,$68,$7C,$8F,$A0,$AE + EQUB $BC,$C7,$D0,$D8,$DE,$E2,$E3,$E4 + EQUB $E2,$DE,$D8,$D1,$C7,$BB,$AE,$9F + EQUB $8D,$7A,$64,$4D,$33,$18,$FA,$DB + EQUB $B9,$95,$70,$48,$1E,$F2,$C4,$94 + EQUB $61,$2D,$F6,$BE,$83,$46,$06,$C5 + EQUB $82,$3C,$F4,$AA,$5E,$0F,$BE,$6B + EQUB $16,$BF,$65,$09,$AB,$4B,$E8,$83 + EQUB $1C,$B2,$46,$D8,$68,$F5,$80,$09 + EQUB $8F,$13,$94,$14,$91,$0B,$84,$FA + EQUB $6D,$DE,$4D,$BA,$24,$8B,$F1,$53 + EQUB $B4,$12,$6E,$C7,$1E,$73,$C5,$14 + EQUB $61,$AC,$F5,$3B,$7E,$BF,$FE,$3A + EQUB $74,$AB,$E0,$13,$43,$70,$9B,$C4 + EQUB $EA,$0E,$2F,$4E,$6A,$84,$9C,$B1 + EQUB $C3,$D3,$E1,$EC,$F4,$FB,$FE,$FF + +.L4101 + EQUB $00 + +.L4102 + EQUB $01,$03,$04,$06,$07,$09,$0A,$0C + EQUB $0E,$0F,$11,$12,$14,$15,$17,$19 + EQUB $1A,$1C,$1D,$1F,$20,$22,$24,$25 + EQUB $27,$28,$2A,$2B,$2D,$2E,$30,$31 + EQUB $33,$35,$36,$38,$39,$3B,$3C,$3E + EQUB $3F,$41,$42,$44,$45,$47,$48,$4A + EQUB $4B,$4D,$4E,$50,$51,$53,$54,$56 + EQUB $57,$59,$5A,$5C,$5D,$5F,$60,$61 + EQUB $63,$64,$66,$67,$69,$6A,$6C,$6D + EQUB $6E,$70,$71,$73,$74,$75,$77,$78 + EQUB $7A,$7B,$7C,$7E,$7F,$80,$82,$83 + EQUB $84,$86,$87,$88,$8A,$8B,$8C,$8E + EQUB $8F,$90,$92,$93,$94,$95,$97,$98 + EQUB $99,$9B,$9C,$9D,$9E,$9F,$A1,$A2 + EQUB $A3,$A4,$A6,$A7,$A8,$A9,$AA,$AB + EQUB $AD,$AE,$AF,$B0,$B1,$B2,$B3,$B5 + EQUB $B6,$B7,$B8,$B9,$BA,$BB,$BC,$BD + EQUB $BE,$BF,$C0,$C1,$C2,$C3,$C4,$C5 + EQUB $C6,$C7,$C8,$C9,$CA,$CB,$CC,$CD + EQUB $CE,$CF,$D0,$D1,$D2,$D3,$D3,$D4 + EQUB $D5,$D6,$D7,$D8,$D9,$D9,$DA,$DB + EQUB $DC,$DD,$DD,$DE,$DF,$E0,$E1,$E1 + EQUB $E2,$E3,$E3,$E4,$E5,$E6,$E6,$E7 + EQUB $E8,$E8,$E9,$EA,$EA,$EB,$EB,$EC + EQUB $ED,$ED,$EE,$EE,$EF,$EF,$F0,$F1 + EQUB $F1,$F2,$F2,$F3,$F3,$F4,$F4,$F4 + EQUB $F5,$F5,$F6,$F6,$F7,$F7,$F7,$F8 + EQUB $F8,$F9,$F9,$F9,$FA,$FA,$FA,$FB + EQUB $FB,$FB + +.L41E4 + EQUB $FB,$FC,$FC,$FC,$FC,$FD,$FD,$FD + EQUB $FD,$FE,$FE,$FE,$FE,$FE,$FE,$FF + EQUB $FF,$FF,$FF,$FF,$FF,$FF + +.L41FA + EQUB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF + +.L4202 + EQUB $6C + +.L4203 + EQUB $6B + +.L4204 + EQUB $6A + +.L4205 + EQUB $69 + +.L4206 + EQUB $67 + +.L4207 + EQUB $C1 + +.L4208 + EQUB $65,$64,$62,$61,$60,$5F,$5E + +.L420F + EQUB $5C + +.L4210 + EQUB $5B,$5A,$59,$58,$7D,$7C,$7B,$7A + EQUB $78,$77,$76,$75,$74,$72,$71,$70 + +.L4220 + EQUB $31 + +.L4221 + EQUB $39 + +.L4222 + EQUB $0D + +.L4223 + EQUB $06,$18 + +.L4225 + EQUB $10,$20 + +.L4227 + EQUB $20,$20 + +.L4229 + EQUB $20,$20,$20 + +.L422C + EQUB $4C,$44,$59 + +.L422F + EQUB $23,$33,$31 + +.L4232 + EQUB $0D + +.L4233 + EQUB $06,$00 + +.L4235 + EQUB $1D + +.L4236 + EQUB $2E,$00,$00,$00,$FE + +.L423B + EQUB $20,$4C + +.L423D + EQUB $44 + +.L423E + EQUB $58,$20,$50,$00 + +.L4242 + EQUB $52 + +.L4243 + EQUB $4E + +.L4244 + EQUB $AD,$FD,$0C,$38,$F9,$78,$44,$10 + EQUB $02,$49,$FF,$C9,$05,$90,$01,$60 + EQUB $AD,$FF,$0C,$38,$F9,$C8,$44,$4C + EQUB $84,$42,$4D,$50 + +.L4260 + EQUB $B2 + +.L4261 + EQUB $32 + +.L4262 + EQUB $AF + +.L4263 + EQUB $0B,$F2 + +.L4265 + EQUB $51,$B6 + +.L4267 + EQUB $40,$A7 + +.L4269 + EQUB $B2,$0B,$B6 + +.L426C + EQUB $32,$F2,$40 + +.L426F + EQUB $AF,$51,$A7 + +.L4272 + EQUB $FA + +.L4273 + EQUB $34,$00 + +.L4275 + EQUB $34 + +.L4276 + EQUB $FA,$00,$00,$00,$FF + +.L427B + EQUB $FA,$32 + +.L427D + EQUB $0D + +.L427E + EQUB $34,$F2,$3F,$00 + +.L4282 + EQUB $40 + +.L4283 + EQUB $F7,$10,$02,$49,$FF,$C9,$05,$B0 + EQUB $C7,$C0,$02,$F0,$27,$A9,$0C,$20 + EQUB $9B,$4B,$B0,$3E,$A9,$0F,$20,$9B + EQUB $4B,$B0,$37,$A9,$09,$20,$9B,$4B + EQUB $B0,$30,$A9,$12,$20,$9B,$4B,$90 + EQUB $33,$A9,$20,$AE,$A9,$77,$D0,$38 + EQUB $A9,$10,$D0,$34,$A9,$06,$20,$9B + EQUB $4B,$90,$21,$A9,$03,$20,$9B,$4B + EQUB $B0,$1A,$A9,$00,$20,$9B,$4B,$90 + EQUB $09,$AE,$A9,$77,$D0,$E2,$A9,$05 + EQUB $D0,$16,$BA,$8A,$38,$E9,$04,$AA + EQUB $9A,$4C,$6A,$4C,$AD,$D7,$0C,$F0 + EQUB $0A,$A2,$00,$20,$CB,$4B,$A9,$00 + EQUB $8D,$D7,$0C,$60,$20,$00,$FE,$FF + EQUB $01,$04,$00,$FB,$02,$33,$3A,$FF + EQUB $FE,$FE,$23,$31,$38 + +.L4300 + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + EQUB $00,$01,$02,$03,$04,$05,$06,$07 + EQUB $08,$09,$0A,$0B,$0C,$0D,$0E,$0F + +.L4400 + EQUB $23 + +.L4401 + EQUB $66,$18,$DD,$33,$EF,$00,$00,$00 + EQUB $00,$4F,$58,$00,$00,$00,$00,$EE + EQUB $AA,$88,$55,$77,$33,$77,$33,$66 + EQUB $88,$DE,$66,$66,$55,$00,$00,$00 + +.L4421 + EQUB $00,$40,$23,$33,$31,$3A,$42 + +.L4428 + EQUB $43,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$27,$20,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00 + +.L4449 + EQUB $00,$00,$23,$34,$3A,$4A,$4D + +.L4450 + EQUB $50,$5C,$66,$33,$00,$11,$00,$00 + EQUB $00,$00,$2E,$73,$00,$00,$00,$00 + EQUB $A6,$52,$55,$99,$55,$BC,$56,$99 + EQUB $F8,$77,$11,$CD,$55,$44,$00,$00 + EQUB $00,$00,$40,$20,$20,$20,$20,$20 + +.L4478 + EQUB $20 + +.L4479 + EQUB $C6,$4B,$45,$53,$8E,$00,$00,$00 + EQUB $00,$4D,$50,$00,$00,$00,$00,$8E + EQUB $EA,$08,$25,$57,$13,$87,$E3,$86 + EQUB $D8,$ED,$46,$86,$B5,$00,$00,$00 + +.L4499 + EQUB $00,$04,$41,$20,$53,$49,$5A + +.L44A0 + EQUB $45,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$0D,$07,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00 + +.L44C1 + EQUB $00,$00,$38,$0D,$07,$76,$1A + +.L44C8 + EQUB $2E,$44,$86,$63,$C0,$C1,$00,$00 + EQUB $00,$00,$5A,$52,$00,$00,$00,$00 + EQUB $EA,$D5,$65,$E9,$E5,$AB,$95,$99 + EQUB $4D,$07,$41,$2C,$05,$74,$00,$00 + EQUB $00,$00,$03,$41,$3A,$4C,$53,$52 + +.L44F0 + EQUB $FB + +.L44F1 + EQUB $FD,$FF,$F9,$FB,$F8,$FB,$FA,$53 + EQUB $52,$FF,$FE,$01,$41,$58,$0D + +.L4500 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $10,$10,$10,$10,$10,$10,$10,$10 + EQUB $10,$10,$10,$10,$10,$10,$10,$10 + EQUB $20,$20,$20,$20,$20,$20,$20,$20 + EQUB $20,$20,$20,$20,$20,$20,$20,$20 + EQUB $30,$30,$30,$30,$30,$30,$30,$30 + EQUB $30,$30,$30,$30,$30,$30,$30,$30 + EQUB $40,$40,$40,$40,$40,$40,$40,$40 + EQUB $40,$40,$40,$40,$40,$40,$40,$40 + EQUB $50,$50,$50,$50,$50,$50,$50,$50 + EQUB $50,$50,$50,$50,$50,$50,$50,$50 + EQUB $60,$60,$60,$60,$60,$60,$60,$60 + EQUB $60,$60,$60,$60,$60,$60,$60,$60 + EQUB $70,$70,$70,$70,$70,$70,$70,$70 + EQUB $70,$70,$70,$70,$70,$70,$70,$70 + EQUB $80,$80,$80,$80,$80,$80,$80,$80 + EQUB $80,$80,$80,$80,$80,$80,$80,$80 + EQUB $90,$90,$90,$90,$90,$90,$90,$90 + EQUB $90,$90,$90,$90,$90,$90,$90,$90 + EQUB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 + EQUB $A0,$A0,$A0,$A0,$A0,$A0,$A0,$A0 + EQUB $B0,$B0,$B0,$B0,$B0,$B0,$B0,$B0 + EQUB $B0,$B0,$B0,$B0,$B0,$B0,$B0,$B0 + EQUB $C0,$C0,$C0,$C0,$C0,$C0,$C0,$C0 + EQUB $C0,$C0,$C0,$C0,$C0,$C0,$C0,$C0 + EQUB $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 + EQUB $D0,$D0,$D0,$D0,$D0,$D0,$D0,$D0 + EQUB $E0,$E0,$E0,$E0,$E0,$E0,$E0,$E0 + EQUB $E0,$E0,$E0,$E0,$E0,$E0,$E0,$E0 + EQUB $F0,$F0,$F0,$F0,$F0,$F0,$F0,$F0 + EQUB $F0,$F0,$F0,$F0,$F0,$F0,$F0,$F0 + +.L4600 + EQUB $31,$01,$01,$01,$01,$01,$01,$01 + EQUB $01,$01,$01,$01,$01,$01,$01,$01 + EQUB $01,$01,$01,$01,$01,$22,$22,$40 + EQUB $22,$3E,$3F,$40,$22,$3E,$00,$00 + EQUB $3E,$22,$45,$08,$08,$50,$4D,$22 + EQUB $4F,$02,$59,$5A,$58,$02,$5B,$5C + EQUB $5C,$5B,$5C,$02,$5B,$59,$5A,$5B + EQUB $5C,$63,$63,$03,$63,$63,$02,$02 + EQUB $02,$68,$02,$6A,$6A,$6C,$04,$04 + EQUB $71,$04,$73,$04,$75,$9E,$77,$75 + EQUB $07,$78,$07,$07,$07,$78,$4F,$7E + EQUB $7E,$06,$81,$06,$06,$06,$81,$0C + EQUB $0D,$0E,$0F,$7F,$05,$05,$8F,$05 + EQUB $05,$90,$05,$92,$09,$92,$95,$03 + EQUB $99,$03,$03,$03,$03,$04,$04,$6A + EQUB $9F,$13,$13,$13,$16,$14,$14,$14 + EQUB $10,$10,$10,$10,$11,$11,$11,$11 + EQUB $17,$17,$17,$17,$16,$16,$16,$16 + EQUB $15,$15,$15,$15,$15,$1D,$1D,$1D + EQUB $1D,$18,$18,$18,$18,$C8,$C7,$12 + EQUB $12,$1B,$1B,$1B,$1B,$1C,$1C,$1C + EQUB $1C,$19,$19,$19,$19,$1A,$1A,$1A + EQUB $1A,$13,$DD,$DD,$DD,$1E,$1F,$DE + EQUB $DE,$DE,$DE,$20,$E3,$E3,$E3,$E3 + EQUB $21,$EF,$ED,$EF,$EF,$E8,$ED,$E8 + EQUB $EF,$4F,$50,$F5,$F3,$50,$F5,$F5 + EQUB $F6,$F3,$F4,$08,$08,$09,$94,$09 + +.L46D8 + EQUB $AD,$E4,$7C,$F0,$21,$A2,$01,$20 + EQUB $CA,$25,$8D,$0E,$0C,$A2,$02,$20 + EQUB $CA,$25,$8D,$0C,$0C,$A2,$00,$A9 + EQUB $80,$20,$F4,$FF,$8A,$29,$01,$F0 + EQUB $05,$A9,$08,$8D,$A5,$0C,$60,$36 + EQUB $00,$00,$01,$09,$12,$1A,$22,$32 + EQUB $43,$53,$63,$7B,$8B,$A3,$BB,$DB + EQUB $F4,$14,$34,$54,$74,$9C,$C4,$EC + EQUB $14,$3C,$6C,$94,$C4,$F4,$2C,$5C + EQUB $95,$CD,$05,$3D,$75,$B5,$ED,$2D + EQUB $6D,$AD,$ED,$35,$7D,$BD,$05,$4D + EQUB $9D,$E5,$2D,$7D,$CD,$1D,$6D,$BD + EQUB $15,$65,$BD,$15,$6D,$C5,$1D,$75 + EQUB $D6,$2E,$8E,$EE,$4E,$AE,$0E,$6E + EQUB $D6,$36,$9E,$06,$6E,$D6,$3E,$A6 + EQUB $16,$7E,$EE,$56,$C6,$36,$A6,$16 + EQUB $86,$FE,$6E,$E6,$56,$CE,$46,$BE + EQUB $36,$AE,$26,$9E,$1E,$96,$16,$96 + EQUB $0E,$8E,$0E,$8E,$0E,$96,$16,$96 + EQUB $1E,$9E,$26,$AE,$36,$B6,$3E,$C6 + EQUB $56,$DE,$66,$EE,$7E,$06,$96,$26 + EQUB $AF,$3F,$CF,$5F,$EF,$7F,$0F,$A7 + EQUB $37,$C7,$5F,$EF,$87,$17,$AF,$47 + EQUB $DF,$77,$0F,$A7,$3F,$D7,$6F,$0F + EQUB $A7,$47,$DF,$7F,$17,$B7,$57,$EF + EQUB $8F,$2F,$CF,$6F,$0F,$AF,$57,$F7 + EQUB $97,$37,$DF,$7F,$27,$C7,$6F,$17 + EQUB $BF,$5F,$07,$AF,$57,$FF,$A7,$4F + EQUB $F7,$9F,$4F,$F7,$9F,$4F,$F7,$A7 + EQUB $4F,$FF,$A7,$57,$07,$AF,$5F,$0F + EQUB $BF,$6F,$1F,$CF,$7F,$2F,$DF,$8F + EQUB $47,$F7,$A7,$5F,$0F,$C7,$77,$2F + EQUB $DF,$97,$47,$FF,$B7,$6F,$1F,$D7 + EQUB $8F,$47,$FF,$B7,$6F,$27,$DF,$97 + EQUB $4F,$0F,$C7,$7F,$3F,$F7,$AF,$6F + EQUB $27,$E7,$9F,$5F,$17,$D7,$97,$4F + EQUB $0F,$CF,$8F,$47,$07,$C7,$87,$47 + +.L4800 + EQUB $28,$F0,$B8,$80,$48,$10,$D8,$A0 + EQUB $68,$30,$F8,$C0,$88,$50,$18,$E0 + EQUB $A8,$70,$38,$00,$C8,$90,$58,$20 + EQUB $E8,$B0,$78,$40,$08,$D0,$98,$60 + +.L4820 + EQUB $6F,$6D,$6C,$6B,$6A,$69,$67,$66 + EQUB $65,$64,$62,$61,$60,$5F,$5E,$5C + EQUB $5B,$5A,$59,$58,$7D,$7C,$7B,$7A + EQUB $78,$77,$76,$75,$74,$72,$71,$70 + +.L4840 + LDX #$07 + LDA #$77 + STA L0070 + LDA #$88 + STA L0071 + LDA #$EE + STA L0072 + LDA #$11 + STA L0073 +.L4852 + LDY #$01 +.L4854 + LDA L5948,X + AND L0070 + ORA L0071 + STA L5948,X + LDA L5A70,X + AND L0072 + ORA L0073 + STA L5A70,X + DEX + DEY + BPL L4854 + + LDA L0072 + ASL A + AND L0072 + STA L0072 + LDA L0070 + LSR A + AND L0070 + STA L0070 + ASL L0073 + LSR L0071 + CPX #$FF + BNE L4852 + + RTS + +.L4883 + LDY #$5B + LDX #$C8 + LDA #$08 + STA L0072 + LDA #$00 + JSR L2EAB + + RTS + + EQUB $20,$20,$20,$4C,$44,$41,$26,$38 + EQUB $36,$3A,$43,$4C,$43,$3A,$41 + +.L48A0 + EQUB $A2,$07 + +.L48A2 + LDA #$77 + STA L0070 + LDA #$88 + STA L0071 + LDA #$EE + STA L0072 + LDA #$11 + STA L0073 +.L48B2 + LDY #$01 +.L48B4 + LDA L5940,X + AND L0070 + ORA L0071 + STA L5940,X + LDA L5A68,X + AND L0072 + ORA L0073 + STA L5A68,X + DEX + DEY + BPL L48B4 + + LSR L0072 + LSR L0073 + LSR L0070 + LSR L0071 + CPX #$FF + BNE L48B2 + + RTS + + LDY #$5B + LDX #$C0 + LDA #$08 + STA L0072 + LDA #$00 + JSR L2EAB + + RTS + + EQUB $10,$0F,$2E,$53,$54,$49,$50,$20 + EQUB $4C,$44,$58,$23,$32,$0D,$09,$1A + EQUB $2A,$2E,$73,$74,$69,$31,$20,$4C + EQUB $44 + +.L4900 + EQUB $41,$20,$58,$41,$4C,$4F + +.L4906 + EQUB $2C,$59,$3A,$43,$4C,$43,$3A,$41 + EQUB $44,$43,$20,$44,$54,$49,$50,$3A + EQUB $53,$54,$41,$26,$37,$37,$2C,$58 + EQUB $0D,$09,$24,$23,$20,$20,$20,$20 + EQUB $20,$20,$4C,$44,$41,$20,$58,$41 + EQUB $48,$49,$2C,$59,$3A,$41,$44,$43 + EQUB $23,$35,$3A,$53,$54,$41,$26,$37 + EQUB $41,$2C,$58,$0D,$09,$2E,$1C,$2E + EQUB $73,$74,$69,$34,$20,$54,$59,$41 + EQUB $3A,$43,$4C,$43,$3A,$41,$44,$43 + EQUB $23,$34,$30,$3A,$54,$41,$59,$0D + EQUB $09,$38,$1A,$2E,$73,$74,$69,$32 + EQUB $20,$44,$45,$58,$3A,$42,$50,$4C + EQUB $20,$73,$74,$69,$33,$3A,$72,$74 + EQUB $73,$0D,$09,$42,$12,$2E,$73,$74 + EQUB $69,$33,$20,$42,$45,$51,$20,$73 + EQUB $74,$69,$31,$0D,$09,$4C,$1D,$20 + EQUB $20,$20,$20,$20,$20,$4C,$44,$41 + EQUB $20,$58,$41,$4C,$4F,$2C,$59,$3A + EQUB $53,$54,$41,$26,$37,$37,$2C,$58 + EQUB $0D,$09,$56,$26,$20,$20,$20,$20 + EQUB $20,$20,$4C,$44,$41,$20,$58,$41 + EQUB $48,$49,$2C,$59,$3A,$53,$54,$41 + EQUB $26,$37,$41,$2C,$58,$3A,$4A,$4D + EQUB $50,$20,$73,$74,$69,$34,$0D,$09 + EQUB $60,$05,$20,$0D,$09,$6A,$0F,$2E + EQUB $48,$49,$54,$53,$20,$4C,$44,$58 + EQUB $23,$32,$0D,$09,$74,$1C,$2E,$68 + EQUB $69,$74,$32,$20,$54,$59,$41,$3A + EQUB $43,$4C,$43,$3A,$41,$44,$43,$23 + EQUB $34,$30,$3A,$54,$41,$59,$0D,$09 + EQUB $7E,$28 + +.L4A00 + EQUB $20,$20,$20,$20,$20,$20,$4C,$44 + EQUB $41,$20,$58,$41,$4C,$4F,$2C,$59 + EQUB $3A,$53,$45,$43,$3A,$53,$42,$43 + EQUB $26,$37,$37,$2C,$58,$3A,$53 + +.L4A1F + EQUB $54,$41,$26,$37,$34,$0D,$09,$88 + EQUB $26,$20,$20,$20,$20,$20,$20,$4C + EQUB $44,$41,$20,$58,$41,$48,$49,$2C + EQUB $59,$3A,$53,$42,$43,$26,$37,$41 + EQUB $2C,$58,$3A,$42,$4E,$45,$20,$68 + EQUB $69,$74,$31,$0D,$09,$92,$22,$20 + EQUB $20,$20,$20,$20,$20,$4C,$44,$41 + EQUB $26,$37,$34,$3A,$43,$4D,$50,$26 + EQUB $38,$30,$2C,$58,$3A,$42,$43,$53 + EQUB $20,$68,$69,$74,$31,$0D,$09,$9C + EQUB $26,$20,$20,$20,$20,$20,$20,$44 + EQUB $45,$58,$3A,$42,$50,$4C,$20,$68 + EQUB $69,$74,$32,$3A,$4C,$44,$41,$20 + EQUB $4F,$42,$3A,$53,$54,$41,$20,$45 + EQUB $50,$54,$52,$0D,$09,$A6,$19,$20 + EQUB $20,$20,$20,$20,$20,$54,$53,$58 + EQUB $3A,$49,$4E,$58,$3A,$49,$4E,$58 + EQUB $3A,$54,$58,$53,$0D,$09,$A7,$1D + EQUB $20,$20,$20,$20,$20,$20,$4C,$44 + EQUB $41,$23,$32,$37,$3A,$53,$54,$41 + EQUB $20,$45,$50,$4C,$4F,$3A,$72,$74 + EQUB $73,$0D,$09,$B0,$0D,$2E,$68,$69 + EQUB $74,$31,$20,$72,$74,$73,$0D,$09 + EQUB $BA,$05,$20,$0D,$09,$C4,$1D,$2E + EQUB $41,$44,$49,$46,$20,$4C,$44,$41 + EQUB $23,$30,$3A,$53,$54,$41,$26,$37 + EQUB $30,$3A,$53,$54,$41,$26,$37,$32 + EQUB $0D,$09,$CE,$1C,$20,$20,$20,$20 + EQUB $20 + +.L4B00 + EQUB $BD,$00,$0C,$99,$00,$09,$BD,$01 + EQUB $0C,$99,$00,$0A,$BD,$02,$0C,$99 + EQUB $00,$07,$BD,$10,$0C,$99,$00,$4A + EQUB $BD,$11,$0C,$99,$00,$0B,$BD,$12 + EQUB $0C,$99,$00,$49,$60 + +.L4B25 + EQUB $B9,$00,$09,$9D,$00,$0C,$B9,$00 + EQUB $0A,$9D,$01,$0C,$B9,$00,$07,$9D + EQUB $02,$0C,$B9,$00,$4A,$9D,$10,$0C + EQUB $B9,$00,$0B,$9D,$11,$0C,$B9,$00 + EQUB $49,$9D,$12,$0C,$60 + +.L4B4A + EQUB $A9,$00 + +.L4B4C + EQUB $9D,$00,$09,$9D,$00,$4A,$9D,$00 + EQUB $0A,$9D,$00,$0B,$9D,$00,$07,$9D + EQUB $00,$49,$60 + +.L4B5F + EQUB $B9,$00,$4A,$10,$02,$49,$FF,$DD + EQUB $00,$3B,$B0,$18,$B9,$00,$0B,$10 + EQUB $02,$49,$FF,$DD,$00,$3B,$B0,$0C + EQUB $B9,$00,$49,$10,$02,$49,$FF,$DD + EQUB $00,$3B,$90,$03,$A9,$01,$60,$A9 + EQUB $00,$0D,$CE,$0C,$60 + +.L4B8C + EQUB $08,$A2,$02,$28,$50,$05,$A9,$40 + EQUB $8D,$CE,$0C,$CA,$10,$F5,$60,$85 + EQUB $71,$A0,$02,$98,$18,$65,$71,$AA + EQUB $38,$B9,$ED,$0C,$FD,$C0,$36,$85 + EQUB $70,$B9,$FD,$0C,$FD,$D5,$36,$30 + EQUB $14,$4A,$66,$70,$4A,$D0,$0E,$66 + EQUB $70,$A5,$70,$DD,$EA,$36,$B0,$05 + EQUB $88,$10,$D8,$38,$60,$18,$60 + +.L4BCB + EQUB $20,$D4,$4B,$A9,$03,$20,$87,$4D + EQUB $60 + +.L4BD4 + EQUB $F8,$18,$6D,$9C,$36,$8D,$9C,$36 + EQUB $8A,$6D,$9D,$36,$8D,$9D,$36,$B0 + EQUB $0C,$E0,$99 + + EQUB $D0,$08,$A9,$00,$8D,$9C,$36,$8D + EQUB $9D,$36,$D8,$60 + +.L4BF3 + LDA L369D + CMP L369F + BCC L4C11 + + BNE L4C05 + + LDA L369C + CMP L369E + BCC L4C11 + +.L4C05 + LDA L369C + STA L369E + LDA L369D + STA L369F +.L4C11 + RTS + +.L4C12 + LDX #$00 + LDY #$10 + JSR L4C5C + + LDA L369F + JSR L4C45 + + LDA L369E + JSR L4C45 + + LDX #$10 + LDY #$14 + JSR L4C5C + + LDX #$08 + LDY #$10 + JSR L4C5C + + LDA L369D + JSR L4C45 + + LDA L369C + JSR L4C45 + + LDA #$30 + JSR OSWRCH + + RTS + +.L4C45 + STA L0074 + LSR A + LSR A + LSR A + LSR A + CLC + ADC #$30 + JSR OSWRCH + + LDA L0074 + AND #$0F + CLC + ADC #$30 + JSR OSWRCH + + RTS + +.L4C5C + STY L0074 +.L4C5E + LDA L3DE0,X + JSR OSWRCH + + INX + CPX L0074 + BNE L4C5E + + RTS + + LDA #$00 + JSR L4DB5 + + LDA #$05 + JSR L4D87 + + LDX #$FF + JSR L2EA2 + + LDA #$0A + JSR L2ED3 + + JSR L2EA0 + + JSR L4840 + + LDA #$5A + JSR L2ED3 + + JSR L4D92 + + TSX + TXA + CLC + ADC #$06 + TAX + TXS + JMP L26A5 + +.L4C96 + CPY #$06 + BCC L4CAE + + CPY #$0A + BCS L4CAE + + LDA L3EC2,Y + CLC + ADC #$01 + AND #$07 + ORA L3EC6,Y + STA L3EC2,Y + SEC + RTS + +.L4CAE + CLC + RTS + +.L4CB0 + LDA L368F + BEQ L4D19 + + LDA #$02 + JSR L4D87 + + LDX L368E + LDY L367A,X + LDA L3675,X + STA L0075 + LDX #$02 + CPX L368D + BCS L4CCF + + LDX L368D +.L4CCF + LDA #$FF +.L4CD1 + LSR A + DEX + BPL L4CD1 + + STA L0070 +.L4CD7 + LDX #$A8 + JSR L4B25 + + STY L0074 + LDY #$02 +.L4CE0 + LDA #$00 + STA L0072 + JSR L4D77 + + TAX + LDA L44F1,X + LSR A + AND L0070 + BCC L4CF4 + + DEC L0072 + EOR #$FF +.L4CF4 + ADC L0CA8,Y + STA L0CA8,Y + LDA L0072 + ADC L0CB8,Y + STA L0CB8,Y + DEY + BPL L4CE0 + + LDY L0074 + LDX #$A8 + JSR L4B00 + + DEY + CPY L0075 + BCS L4CD7 + + DEC L368F + BNE L4D19 + + JSR L4D35 + +.L4D19 + LDA L368F + CMP #$1A + BNE L4D34 + + LDA L0CBA + LDX L368E + CPX #$21 + BNE L4D31 + + SEC + SBC #$08 + BPL L4D31 + + LDA #$00 +.L4D31 + STA L368C +.L4D34 + RTS + +.L4D35 + LDA #$FF + LDY L368E + CPY #$1E + BNE L4D44 + + LDX L4202 + JMP L4D4A + +.L4D44 + LDX L41E4,Y + STA L41E4,Y +.L4D4A + STA L4208,X + CPY #$21 + BNE L4D58 + + JSR L2682 + + LDA #$03 + BNE L4D68 + +.L4D58 + LDX L368D + CPY #$1F + BCS L4D65 + + LDA L3FFF + JMP L4D68 + +.L4D65 + LDA L3FFA,X +.L4D68 + LDX #$00 + JSR L4BD4 + + RTS + +.L4D6E + LDX L44F0 + LDA LFE64 + STA L44F1,X +.L4D77 + LDA L44F0 + CLC + ADC #$01 + CMP #$0B + BCC L4D83 + + LDA #$00 +.L4D83 + STA L44F0 + RTS + +.L4D87 + ASL A + ASL A + ASL A + CLC + ADC #$A8 + TAX + LDA #$07 + BNE L4DAB + +.L4D92 + LDA #$00 + JSR L4DB5 + + JSR L4BF3 + + JSR L4C12 + +.L4D9D + LDX #$B6 + JSR L2532 + + BNE L4D9D + + RTS + +.L4DA5 + CLC + ADC #$8C + TAX + LDA #$08 +.L4DAB + LDY #$4E + BCC L4DB0 + + INY +.L4DB0 + JSR OSWORD + + RTS + + NOP +.L4DB5 + BNE L4DC2 + + LDA #$00 + JSR L4D87 + + LDA #$FF + STA L4EE4 + RTS + +.L4DC2 + LDA L0CE9 + BEQ L4E0F + + LDA L0C1F + STA L007C + LDA L0C0F + LDY #$03 +.L4DD1 + LSR L007C + ROR A + DEY + BPL L4DD1 + + CLC + ADC L0C15 + STA L007C + LDA #$32 + SEC + SBC L007C + BEQ L4DE6 + + BPL L4DE8 + +.L4DE6 + LDA #$01 +.L4DE8 + STA L4E8E + STA L4E90 + EOR #$FF + STA L4E8F + LDA L007C + CLC + ADC #$50 + CMP L4EE4 + BEQ L4E0F + + STA L4EE4 + LDA #$00 + JSR L4DA5 + + LDA #$07 + JSR L4D87 + + LDA #$01 + JSR L4D87 + +.L4E0F + RTS + +.L4E10 + JSR L4840 + + LDX #$DA + JSR L2532 + + BNE L4E38 + + BIT L0CBE + BVS L4E40 + + LDA #$C0 + EOR L0CBE + BMI L4E3D + + PHA + LDY #$5F + LDX #$88 + LDA #$03 + STA L0072 + LDA #$00 + JSR L2EAB + + PLA + JMP L4E3D + +.L4E38 + LDA #$80 + AND L0CBE +.L4E3D + STA L0CBE +.L4E40 + BPL L4E6D + + LDY #$07 +.L4E44 + LDA #$88 + ORA L6020,Y + STA L6020,Y + LDA #$88 + ORA L6160,Y + STA L6160,Y + DEY + BPL L4E44 + + LDA #$77 + ORA L6258 + STA L6258 + SEC + LDY #$88 +.L4E62 + LDA #$FF + STA L6258,Y + TYA + SBC #$08 + TAY + BNE L4E62 + +.L4E6D + LDX #$9F + JSR L2532 + + BNE L4E85 + + LDA L0CCD + BNE L4E8A + + LDA L7CE4 + EOR #$88 + STA L7CE4 + LDA #$80 + BNE L4E87 + +.L4E85 + LDA #$00 +.L4E87 + STA L0CCD +.L4E8A + RTS + + EQUB $8D,$01,$01 + +.L4E8E + EQUB $32 + +.L4E8F + EQUB $CE + +.L4E90 + EQUB $32,$01,$02,$01,$00,$00,$00,$00 + EQUB $00,$00,$02,$01,$FB,$00,$00,$0A + EQUB $00,$00,$78,$FF,$E8,$F6,$78,$74 + EQUB $10,$00,$00,$00,$00,$00,$00,$00 + EQUB $10,$00 + +.L4EB2 + EQUB $FB,$FF,$03,$00,$FF,$00,$13,$00 + EQUB $02,$00,$DC,$00,$02,$00,$13,$00 + EQUB $F1,$FF,$78,$00,$07,$00,$13,$00 + EQUB $F4,$FF,$00,$00,$01,$00,$10,$00 + EQUB $F3,$FF,$04,$00,$0C,$00,$13,$00 + EQUB $02,$00,$3C,$00,$02,$00,$11,$00 + EQUB $01,$00 + +.L4EE4 + EQUB $FF,$00,$FF,$00 + +.L4EE8 + EQUB $A2,$0B,$BD,$F4,$4E,$20,$EE,$FF + EQUB $CA,$10,$F7,$60,$21,$45,$54,$41 + EQUB $4C,$20,$4F,$4F,$54,$07,$06,$1F + +.L4F00 + EQUB $00,$08,$10,$18,$20,$28,$30,$38 + EQUB $40,$48,$50,$58,$60,$68,$70,$78 + EQUB $80,$88,$90,$98,$A0,$A8,$B0,$B8 + EQUB $C0,$C8,$D0,$D8,$E0,$E8,$F0,$F8 + EQUB $00,$08,$10,$18,$20,$28,$30,$38 + +.L4F28 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $01,$01,$01,$01,$01,$01,$01,$01 + +.L4F50 + EQUB $A9,$BE,$AE,$DE,$CA,$BC + +.L4F56 + EQUB $99,$A8,$CD,$DD,$9B,$FF + +.L4F5C + EQUB $00,$00,$00,$00 + +.L4F60 + EQUB $01,$01,$01,$0F,$07,$08 + +.L4F66 + EQUB $01,$01,$01,$00,$00,$00 + +.L4F6C + EQUB $01,$01,$01,$F1,$04,$05 + +.L4F72 + EQUB $FF,$FF,$FF,$FF,$00,$00,$10,$00 + EQUB $F3,$FF,$06,$00,$03,$00,$D4,$C9 + EQUB $CC,$B0,$9C + +.L4F85 + EQUB $16,$28 + +.L4F87 + EQUB $98,$00,$00,$FF,$8D,$BE,$00,$05 + EQUB $7D,$FF,$50 + +.L4F92 + EQUB $12,$16,$10,$1A,$16,$1A,$1A,$41 + +.L4F9A + EQUB $07,$09,$05,$0A,$08,$09,$09,$0D + +.L4FA2 + EQUB $0C,$0A,$0A,$0E,$0C,$0E,$0E,$20 + +.L4FAA + EQUB $36,$15,$16,$16,$6A,$6A,$6A,$54 + +.L4FB2 + EQUB $B8,$E9,$BC,$BC,$E8,$BA,$BA,$58 + +.L4FBA + EQUB $00,$30,$00,$00,$43,$35,$6A,$4C + +.L4FC2 + EQUB $00,$39,$00,$00,$1E,$21,$5B,$F4 + +.L4FCA + EQUB $FF,$7A,$FF,$FF,$68,$48,$78,$4C + +.L4FD2 + EQUB $02,$02,$02,$02,$02,$02,$02,$02 + +.L4FDA + EQUB $02,$02,$02,$02,$02,$02,$02,$02 + +.L4FE2 + EQUB $02,$02,$00,$00,$00,$00,$00,$00 + +.L4FEA + EQUB $00,$00 + +.L4FEC + EQUB $00,$00,$4D,$0D,$0C,$08,$15,$20 + EQUB $20,$20,$20,$20,$20,$4C + +.L4FFA + EQUB $44 + +.L4FFB + EQUB $59 + +.L4FFC + EQUB $23,$31,$3A + +.L4FFF + EQUB $4C + +.L5000 + EQUB $A2,$FD,$20,$4A,$4B,$A9,$FE,$AE + EQUB $C5,$0C,$86,$7D,$F0,$1D,$AE,$F2 + EQUB $0C,$F0,$18,$AE,$94,$0C,$10,$13 + EQUB $86,$71,$AD,$84,$0C,$38,$66,$71 + EQUB $6A,$49,$FF,$8D,$FD,$0A,$A9,$FE + EQUB $18,$E5,$71,$8D,$FD,$0B,$A9,$FD + EQUB $85,$88,$A9,$1B,$8D,$CB,$0C,$20 + EQUB $8D,$1D,$A2,$89,$A0,$FF,$84,$88 + EQUB $20,$00,$4B,$A9,$00,$8D,$CB,$0C + EQUB $20,$8D,$1D,$A2,$03,$A0,$FF,$20 + EQUB $25,$4B,$20,$95,$52,$20,$00,$55 + EQUB $20,$08,$54,$AD,$8F,$36,$F0,$21 + EQUB $A2,$6A,$20,$77,$4D,$A8,$B9,$F1 + EQUB $44,$85,$70,$AD,$8C,$36,$C9,$10 + EQUB $B0,$0F,$49,$0F,$0A,$46,$70,$A0 + EQUB $01,$20,$BB,$57,$E8,$E0,$6D,$D0 + EQUB $E1,$20,$5D,$55,$AD,$FC,$09,$49 + EQUB $80,$0A,$A9 + + EQUB $00,$ED,$FC,$4A,$8D,$9C,$0C,$A5 + EQUB $7D,$D0,$03,$4C,$51,$51,$A2,$00 + EQUB $A0,$00,$AD,$15,$0C,$30,$0F,$D0 + EQUB $07,$AD,$05,$0C,$C9,$14,$90,$06 + EQUB $AC,$0D,$0C,$10,$01,$CA,$8C,$01 + EQUB $0C,$8A,$A2,$01,$0E,$01,$0C,$2A + EQUB $CA,$10,$F9,$8D,$11,$0C,$A2,$82 + EQUB $20,$F6,$57,$8D,$32,$0C,$AC,$F2 + EQUB $0C,$D0,$19,$AD,$FA,$0C,$2D,$90 + EQUB $0C,$10,$08,$A2,$80,$20,$F6,$57 + EQUB $8D,$30,$0C,$20,$4D,$56,$90,$12 + EQUB $A9,$32,$D0,$10,$AE,$F5,$0C,$D0 + EQUB $F2,$20,$4D,$56,$90,$36,$A9,$07 + EQUB $D0,$02,$A9,$0B,$AE,$15,$0C,$30 + EQUB $17,$D0,$17,$AE,$05,$0C,$F0,$20 + EQUB $E0,$0B,$B0,$0E,$A9,$00,$8D,$FC + EQUB $07,$A9,$FF,$8D,$FC,$49,$D0,$10 + EQUB $A9,$F8,$85,$70,$38,$AD,$FC,$49 + EQUB $E5,$70,$8D,$FC,$49,$4C,$27,$51 + EQUB $A9,$40,$D0,$02,$A9,$00,$8D,$E8 + EQUB $0C,$AD,$03,$0C,$4A,$85,$70,$A2 + EQUB $00,$8E,$9C,$0C,$8A,$6A,$85,$76 + EQUB $AD,$13,$0C,$29,$80,$05,$70,$85 + EQUB $71,$8A,$38,$E5,$76,$8D,$FC,$09 + EQUB $8A,$E5,$71,$8D,$FC,$4A,$A9,$09 + EQUB $8D,$CB,$0C,$A9,$FC,$85,$88,$20 + EQUB $8D,$1D,$AD,$FC,$0B,$38,$E9,$10 + EQUB $8D,$FC,$0B,$A2,$83,$A0,$FC,$20 + EQUB $25,$4B,$20,$F9,$51,$20,$D7,$51 + EQUB $A2,$00,$A0,$FE,$84,$88,$20,$00 + EQUB $4B,$A9,$12,$8D,$CB,$0C,$20,$8D + EQUB $1D,$A2,$86,$A0,$FE,$20,$25,$4B + EQUB $20,$2D,$52,$A9,$07,$20,$B5,$4D + EQUB $20,$70,$56,$20,$AC,$31,$AD,$92 + EQUB $36,$F0,$33,$AD,$E9,$0C,$F0,$33 + EQUB $AD,$1F,$0C,$85,$72,$AD,$0F,$0C + EQUB $A2,$03,$46,$72,$6A,$CA,$10,$FA + EQUB $18,$6D,$90,$36,$8D,$90,$36,$90 + EQUB $1A,$A9,$04,$18,$6D,$91,$36,$8D + EQUB $91,$36,$90,$0F,$AD,$92,$36,$F0 + EQUB $05,$CE,$92,$36,$D0,$05,$A9,$00 + EQUB $20,$A0,$36,$60,$A2,$02,$BD,$30 + EQUB $0C,$18,$7D,$19,$0C,$9D,$19,$0C + EQUB $BD,$80,$0C,$7D,$00,$0C,$9D,$00 + EQUB $0C,$BD,$90,$0C,$7D,$10,$0C,$9D + EQUB $10,$0C,$CA,$10,$E1,$60,$A2,$02 + EQUB $A9,$00,$85,$72,$BD,$83,$0C,$85 + EQUB $76,$BD,$93,$0C,$10,$02,$C6,$72 + EQUB $06,$76,$2A,$26,$72,$48,$BD,$8C + EQUB $0C,$18,$65,$76,$9D,$8C,$0C,$68 + EQUB $7D,$89,$0C,$9D,$89,$0C,$BD,$99 + EQUB $0C,$65,$72,$9D,$99,$0C,$CA,$10 + EQUB $CF,$60,$A2,$02,$A9,$00,$85,$72 + EQUB $BD,$09,$0C,$18,$7D,$89,$0C,$9D + EQUB $09,$0C,$BD,$99,$0C,$10,$02,$C6 + EQUB $72,$7D,$ED,$0C,$9D,$ED,$0C,$BD + EQUB $FD,$0C,$65,$72,$9D,$FD,$0C,$BD + EQUB $6D,$0C,$65,$72,$9D,$6D,$0C,$BD + EQUB $EA,$0C,$18,$7D,$86,$0C,$9D,$EA + EQUB $0C,$BD,$FA,$0C,$7D,$96,$0C,$9D + EQUB $FA,$0C,$CA,$10,$BF,$0A,$4D,$FA + EQUB $0C,$10,$1E,$A2,$01,$BD,$FB,$0C + EQUB $49,$80,$9D,$FB,$0C,$CA,$10,$F5 + EQUB $A9,$00,$38,$ED,$EA,$0C,$8D,$EA + EQUB $0C,$A9,$80,$ED,$FA,$0C,$8D,$FA + EQUB $0C,$60,$A9,$00,$85,$82,$85,$83 + EQUB $A2,$02,$BD,$03,$0C,$85,$70,$0A + EQUB $9D,$43,$0C,$BD,$13,$0C,$48,$2A + EQUB $9D,$53,$0C,$68,$10,$0C,$A9,$00 + EQUB $38,$E5,$70,$85,$70,$A9,$00,$FD + EQUB $13,$0C,$85,$71,$E0,$01,$D0,$10 + EQUB $A5,$70,$85,$7A,$A5,$71,$06,$7A + EQUB $2A,$06,$7A,$2A,$85,$7B,$A5,$71 + EQUB $C5,$83,$90,$10,$D0,$08,$A5,$70 + EQUB $C5,$82,$90,$08,$A5,$71,$85,$83 + EQUB $A5,$70,$85,$82,$CA,$10,$B3,$06 + EQUB $82,$26,$83,$A4,$83,$A6,$82,$20 + EQUB $E4,$57,$84,$83,$86,$82,$AD,$84 + EQUB $4F,$C9,$27,$D0,$07,$AD,$15,$0C + EQUB $C9,$0B,$90,$33,$A5,$7B,$CD,$15 + EQUB $0C,$90,$39,$D0,$07,$A5,$7A,$CD + EQUB $05,$0C,$90,$30,$AD,$FE,$0C,$D0 + EQUB $07,$AD,$EE,$0C,$C9,$14,$90,$17 + EQUB $AD,$84,$4F,$C9,$27,$F0,$10,$AD + EQUB $11,$0C,$0A,$A0,$04,$A2,$02,$AD + EQUB $10,$0C,$49,$3F,$20,$BB,$57,$A5 + EQUB $7D,$D0,$09,$A9,$04,$20,$87,$4D + EQUB $A9,$27,$D0,$02,$A9,$9C,$8D,$84 + EQUB $4F,$20,$B9,$54,$A5,$82,$29,$FE + EQUB $85,$72,$A5,$83,$85,$73,$A2,$05 + EQUB $A9,$00,$8D,$47,$1D,$E0,$03,$B0 + EQUB $09,$BC,$06,$0C,$BD,$16,$0C,$4C + EQUB $73,$53,$BC,$40,$0C,$BD,$50,$0C + EQUB $85,$7B,$84,$7A,$A9,$00,$85,$7C + EQUB $86,$86,$20,$E3,$17,$A5,$7C,$10 + EQUB $11,$38,$A9,$00,$E5,$77,$85,$77 + EQUB $A5,$78,$E9,$00,$85,$78,$B0,$02 + EQUB $C6,$79,$A6,$86,$A0,$00,$A5,$78 + EQUB $E0,$03,$90,$06,$E0,$05,$F0,$02 + EQUB $C8,$C8,$06,$77,$2A,$26,$79,$88 + EQUB $10,$F8,$9D,$40,$0C,$A5,$79,$9D + EQUB $50,$0C,$CA,$10,$A8,$A9,$80,$8D + EQUB $47,$1D,$AD,$43,$0C,$8D,$46,$0C + EQUB $AD,$53,$0C,$8D,$56,$0C,$AD,$55 + EQUB $0C,$30,$39,$85,$77,$8D,$57,$0C + EQUB $A9,$00,$85,$78,$AD,$45,$0C,$8D + EQUB $47,$0C,$A2,$02,$AD,$F3,$0C,$08 + EQUB $F0,$02,$A2,$01,$0A,$26,$77,$26 + EQUB $78,$CA,$10,$F8,$28,$F0,$04,$38 + EQUB $20,$AC,$54,$18,$A5,$77,$6D,$40 + EQUB $0C,$8D,$40,$0C,$A5,$78,$6D,$50 + EQUB $0C,$8D,$50,$0C,$60,$A2,$0C,$E0 + EQUB $09,$D0,$02,$A2,$07,$BD,$80,$4F + EQUB $85,$72,$BC,$40,$0C,$BD,$50,$0C + EQUB $20,$6E,$54,$A6,$86,$E0,$04,$D0 + EQUB $10,$A8,$10,$02,$49,$FF,$C9,$08 + EQUB $90,$07,$A9,$03,$20,$87,$4D,$A2 + EQUB $04,$BC,$F0,$42,$F0,$22,$10,$17 + EQUB $A9,$00,$85,$72,$A5,$78,$10,$02 + EQUB $C6,$72,$46,$72,$66,$78,$66,$77 + EQUB $66,$76,$C8,$D0,$F5,$F0,$09,$06 + EQUB $76,$26,$77,$26,$78,$88,$D0,$F7 + EQUB $A5,$78,$9D,$70,$0C,$A5,$77,$9D + EQUB $60,$0C,$A5,$76,$9D,$20,$0C,$CA + EQUB $10,$9D,$60,$84,$70,$85,$71,$86 + EQUB $86,$A6,$71,$10,$0C,$A9,$00,$38 + EQUB $E5,$70,$85,$70,$A9,$00,$E5,$71 + EQUB $AA,$A4,$72,$20,$21,$18,$85,$78 + EQUB $A5,$76,$85,$77,$A4,$72,$A6,$70 + EQUB $20,$21,$18,$18,$65,$77,$85,$77 + EQUB $A9,$00,$65,$78,$85,$78,$A6,$71 + EQUB $10,$13,$A9,$00,$38,$E5,$76,$85 + EQUB $76,$A9,$00,$E5,$77,$85,$77,$A9 + EQUB $00,$E5,$78,$85,$78,$60,$A2,$01 + EQUB $A9,$7D,$85,$72,$BD,$00,$0C,$85 + EQUB $70,$BD,$10,$0C,$85,$71,$06,$70 + EQUB $26,$71,$20,$72,$54,$A5,$86,$AA + EQUB $49,$01,$A8,$38,$B9,$43,$0C,$E5 + EQUB $77,$9D,$06,$0C,$B9,$53,$0C,$E5 + EQUB $78,$9D,$16,$0C,$CA,$10,$D1,$38 + EQUB $A9,$00,$ED,$02,$0C,$8D,$08,$0C + EQUB $A9,$00,$ED,$12,$0C,$0E,$08,$0C + EQUB $2A,$8D,$18,$0C,$60,$A2,$02,$BD + EQUB $0C,$0C,$F0,$28,$BC,$A0,$0C,$D0 + EQUB $0F,$A8,$30,$06,$C0,$04,$B0,$19 + EQUB $90,$15,$C0,$FD,$B0,$11,$90,$11 + EQUB $E0,$01,$90,$10,$D0,$04,$A4,$7D + EQUB $F0,$0A,$5D,$B0,$0C,$10,$05,$A9 + EQUB $00,$9D,$0C,$0C,$BD,$0C,$0C,$10 + EQUB $05,$49,$FF,$18,$69,$01,$85,$72 + EQUB $AC,$45,$0C,$AD,$55,$0C,$20,$6E + EQUB $54,$A6,$86,$BC,$0C,$0C,$10,$04 + EQUB $38,$20,$AC,$54,$9D,$5A,$0C,$A5 + EQUB $77,$9D,$4A,$0C,$CA,$F0,$D5,$10 + EQUB $A6,$60,$A2,$02,$BD,$20,$0C,$18 + EQUB $7D,$2A,$0C,$9D,$30,$0C,$BD,$60 + EQUB $0C,$7D,$6A,$0C,$9D,$80,$0C,$BD + EQUB $70,$0C,$7D,$7A,$0C,$9D,$90,$0C + EQUB $CA,$10,$E1,$A9,$00,$85,$73,$AD + EQUB $FD,$0A,$18,$6D,$30,$0C,$8D,$30 + EQUB $0C,$AD,$FD,$0B,$10,$02,$C6,$73 + EQUB $6D,$80,$0C,$8D,$80,$0C,$AD,$90 + EQUB $0C,$65,$73,$8D,$90,$0C,$38,$AD + EQUB $32,$0C,$ED,$26,$0C,$8D,$32,$0C + EQUB $AD,$82,$0C,$ED,$66,$0C,$8D,$82 + EQUB $0C,$AD,$92,$0C,$ED,$76,$0C,$8D + EQUB $92,$0C,$38,$A9,$00,$ED,$63,$0C + EQUB $8D,$FC,$09,$A9,$00,$ED,$73,$0C + EQUB $8D,$FC,$4A,$38,$AD,$67,$0C,$ED + EQUB $64,$0C,$8D,$FC,$0A,$AD,$77,$0C + EQUB $ED,$74,$0C,$8D,$FC,$0B,$AD,$15 + EQUB $0C,$30,$0D,$48,$20,$EE,$33,$68 + EQUB $C9,$30,$90,$06,$A9,$EA,$D0,$56 + EQUB $A9,$00,$AE,$E9,$0C,$F0,$3C,$85 + EQUB $79,$85,$78,$AD,$05,$0C,$A2,$03 + EQUB $46,$78,$6A,$CA,$10,$FA,$85,$77 + EQUB $AC,$1F,$0C,$84,$72,$AD,$0F,$0C + EQUB $A6,$7D,$F0,$14,$C0,$04,$90,$03 + EQUB $0A,$26,$72,$A4,$79,$C0,$04,$B0 + EQUB $07,$C0,$01,$90,$03,$0A,$26,$72 + EQUB $38,$E5,$77,$AA,$A5,$72,$E5,$78 + EQUB $A8,$10,$04,$A0,$00,$A2,$00,$20 + EQUB $E4,$57,$8A,$38,$ED,$65,$0C,$8D + EQUB $FC,$07,$98,$ED,$75,$0C,$8D,$FC + EQUB $49,$60,$AD,$ED,$0C,$38,$ED,$01 + EQUB $44,$AD,$FD,$0C,$ED,$79,$44,$D0 + EQUB $12,$AD,$EF,$0C,$38,$ED,$51,$44 + EQUB $AD,$FF,$0C,$ED,$C9,$44,$30,$03 + EQUB $C9,$18,$60,$38,$60,$A5,$7D,$F0 + EQUB $1B,$20,$4D,$56,$90,$16,$0E,$E8 + EQUB $0C,$A2,$EE,$18,$A0,$08,$20,$B3 + EQUB $57,$A2,$EC,$A0,$04,$AD,$64,$FE + EQUB $4A,$20,$B3,$57,$AD,$FE,$0C,$30 + EQUB $0F,$F0,$12,$C9,$02,$90,$03,$8D + EQUB $F9,$0C,$A9,$00,$8D,$C5,$0C,$60 + EQUB $A2,$EE,$20,$F6,$57,$AD,$F0,$0C + EQUB $CD,$EE,$0C,$90,$ED,$A6,$7D,$F0 + EQUB $4D,$8D,$EE,$0C,$AE,$9A,$0C,$10 + EQUB $05,$A2,$8A,$20,$F6,$57,$A2,$EC + EQUB $20,$F6,$57,$A2,$02,$20,$F6,$57 + EQUB $AE,$F2,$0C,$D0,$18,$AE,$E8,$0C + EQUB $30,$03,$0E,$E8,$0C,$AE,$FA,$0C + EQUB $10,$0A,$A2,$EA,$20,$F6,$57,$A2 + EQUB $00,$20,$F6,$57,$60,$AE,$FA,$0C + EQUB $30,$FA,$E0,$07,$90,$F6,$A9,$07 + EQUB $8D,$FA,$0C,$A9,$00,$8D,$EA,$0C + EQUB $AE,$10,$0C,$10,$E2,$60,$38,$ED + EQUB $EE,$0C,$4A,$18,$6D,$F0,$0C,$8D + EQUB $EE,$0C,$AD,$9A,$0C,$10,$0E,$38 + EQUB $A9,$00,$ED,$8A,$0C,$8D,$8A,$0C + EQUB $A9,$00,$ED,$9A,$0C,$8D,$9A,$0C + EQUB $4A,$D0,$17,$AD,$8A,$0C,$6A,$85 + EQUB $72,$AE,$F2,$0C,$D0,$08,$CA,$8E + EQUB $F7,$0C,$C9,$A0,$90,$07,$C9,$6E + EQUB $90,$08,$4C,$6A,$4C,$A9,$00,$20 + EQUB $A0,$36,$20,$4D,$56,$90,$10,$A5 + EQUB $72,$8D,$8A,$0C,$AE,$F2,$0C,$F0 + EQUB $06,$C9,$50,$90,$0A,$B0,$E3,$A9 + EQUB $1A,$20,$87,$4D,$20,$BC,$4D,$AC + EQUB $EC,$0C,$AD,$FC,$0C,$20,$6E,$54 + EQUB $38,$20,$AC,$54,$A9,$00,$85,$74 + EQUB $A5,$78,$10,$02,$C6,$74,$A2,$01 + EQUB $46,$74,$6A,$66,$77,$CA,$10,$F8 + EQUB $8D,$12,$0C,$A5,$77,$8D,$02,$0C + EQUB $A2,$EC,$20,$F6,$57,$AD,$FA,$0C + EQUB $10,$0A,$AD,$F2,$0C,$D0,$05,$A2 + EQUB $EA,$20,$F6,$57,$A5,$72,$C9,$0C + EQUB $B0,$0D,$AD,$EE,$0C,$CD,$F0,$0C + EQUB $D0,$05,$A9,$01,$8D,$C5,$0C,$60 + EQUB $AD,$15,$0C,$30,$2B,$2D,$64,$FE + EQUB $08,$10,$02,$49,$FF,$85,$78,$A9 + EQUB $00,$46,$78,$6A,$88,$10,$FA,$85 + EQUB $77,$28,$90,$03,$20,$AC,$54,$A5 + EQUB $77,$18,$7D,$00,$0C,$9D,$00,$0C + EQUB $A5,$78,$7D,$10,$0C,$9D,$10,$0C + EQUB $60,$84,$71,$86,$70,$AD,$FE,$0C + EQUB $49,$FF,$85,$72,$20,$74,$54,$A8 + EQUB $A6,$77,$60,$A9,$00,$9D,$00,$0C + EQUB $9D,$10,$0C,$60,$00,$40,$A6,$88 + EQUB $A9,$00,$85,$7F,$A9,$10,$85,$72 + EQUB $BD,$00,$04,$A8,$29,$01,$F0,$01 + EQUB $60,$98,$09,$01,$9D,$00,$04,$BD + EQUB $00,$49,$30,$18,$85,$71,$F0,$08 + EQUB $BD,$00,$07,$85,$70,$4C,$46,$0D + EQUB $BD,$00,$07,$D0,$02,$A9,$01,$85 + EQUB $70,$4C,$46,$0D,$A9,$00,$38,$FD + EQUB $00,$07,$85,$70,$A9,$00,$FD,$00 + EQUB $49,$85,$71,$BD,$00,$4A,$30,$0A + EQUB $85,$81,$BD,$00,$09,$85,$80,$4C + EQUB $6A,$0D,$A9,$00,$38,$FD,$00,$09 + EQUB $85,$80,$A9,$00,$FD,$00,$4A,$85 + EQUB $81,$A5,$7F,$09,$08,$85,$7F,$BD + EQUB $00,$0B,$30,$0D,$85,$83,$BD,$00 + EQUB $0A,$0A,$26,$83,$85,$82,$4C,$94 + EQUB $0D,$A9,$00,$38,$FD,$00,$0A,$85 + EQUB $82,$A9,$00,$FD,$00,$0B,$06,$82 + EQUB $2A,$85,$83,$A5,$7F,$09,$04,$85 + EQUB $7F,$A5,$81,$C5,$71,$90,$0E,$D0 + EQUB $06,$A5,$80,$C5,$70,$90,$06,$A9 + EQUB $20,$05,$7F,$85,$7F,$A5,$83,$C5 + EQUB $71,$90,$0E,$D0,$06,$A5,$82,$C5 + EQUB $70,$90,$06,$A5,$7F,$09,$10,$85 + EQUB $7F,$A4,$70,$A6,$71,$20,$48,$0F + EQUB $AA,$BD,$00,$39,$85,$84,$BD,$00 + EQUB $47,$29,$F8,$85,$73,$84,$7C,$A5 + EQUB $87,$85,$85,$A4,$80,$A6,$81,$20 + EQUB $69,$0E,$A5,$71,$85,$81,$A5,$70 + EQUB $85,$80,$A5,$87,$85,$86,$A4,$82 + EQUB $A6,$83,$20,$69,$0E,$20,$A7,$0F + EQUB $A6,$88,$BD,$00,$49,$30,$08,$BD + EQUB $00,$4A,$10,$1A,$4C,$07,$0E,$BD + EQUB $00,$4A,$30,$12,$A9,$50,$38,$E5 + EQUB $81,$9D,$00,$09,$A9,$00,$E5,$83 + EQUB $9D,$00,$4A,$4C,$28,$0E,$A9,$50 + EQUB $18,$65,$81,$9D,$00,$09,$A9,$00 + EQUB $65,$83,$9D,$00,$4A,$A6,$88,$BD + EQUB $00,$49,$30,$08,$BD,$00,$0B,$10 + EQUB $1A,$4C,$3C,$0E,$BD,$00,$0B,$30 + EQUB $12,$A9,$60,$38,$E5 + +.L5940 + EQUB $71,$9D,$00,$0A,$A9,$00,$E5,$82 + +.L5948 + EQUB $9D,$00,$0B,$4C,$5D,$0E,$A9,$60 + EQUB $18,$65,$71,$9D,$00,$0A,$A9,$00 + EQUB $65,$82,$9D,$00,$0B,$BD,$00,$04 + EQUB $05,$7F,$9D,$00,$04,$60,$20,$48 + EQUB $0F,$20,$48,$0F,$85,$7B,$84,$7A + EQUB $A6,$84,$A4,$7B,$BD,$00,$45,$19 + EQUB $00,$37,$85,$74,$29,$F0,$19,$00 + EQUB $43,$85,$75,$29,$0F,$1D,$00,$38 + EQUB $85,$76,$29,$F0,$19,$00,$37,$A8 + EQUB $A6,$73,$29,$0F,$1D,$00,$45,$AA + EQUB $BD,$00,$3A,$18,$A6,$76,$7D,$00 + EQUB $3A,$85,$70,$A6,$74,$BD,$00,$3A + EQUB $69,$01,$85,$71,$A6,$75,$BD,$00 + EQUB $3A,$79,$00,$3A,$AA,$A0,$00,$90 + EQUB $02,$A0,$10,$BD,$00,$38,$65,$70 + EQUB $90,$01,$C8,$65,$7B,$90,$01,$C8 + EQUB $65,$73,$85,$70,$98,$7D,$00,$37 + EQUB $65,$71,$90,$07,$18,$65,$84,$38 + EQUB $4C,$DD,$0E,$65,$84,$6A,$66,$70 + EQUB $85,$71,$A5,$7A,$F0,$30,$29,$F0 + EQUB $A6,$84,$1D,$00,$37,$A8,$29,$F0 + EQUB $1D,$00,$43,$AA,$BD,$00,$3A,$AA + EQUB $18,$BD,$00,$38,$65,$7A,$B9,$00 + EQUB $3A,$7D,$00,$37,$6A,$18,$65,$70 + EQUB $85,$70,$90,$0A,$E6,$71,$D0,$06 + EQUB $A9,$FF,$85,$71,$85,$70,$A5,$7C + EQUB $29,$C0,$F0,$2B,$85,$7C,$18,$A5 + EQUB $84,$69,$01,$6A,$85,$77,$4A,$24 + EQUB $7C,$70,$04,$A9,$00,$24,$7C,$10 + EQUB $03,$18,$65,$77,$A8,$A6,$71,$20 + EQUB $21,$18,$85,$78,$A5,$70,$38,$E5 + EQUB $78,$85,$70,$B0,$02,$C6,$71,$60 + EQUB $F0,$2D,$BD,$00,$47,$29,$07,$18 + EQUB $69,$08,$85,$87,$C9,$0D,$8A,$84 + EQUB $74,$90,$0B,$06,$74,$2A,$90,$FB + EQUB $A4,$74,$60,$06,$74,$2A,$24,$72 + +.L5A68 + EQUB $F0,$F9,$A8,$A6,$74,$BD,$00,$37 + +.L5A70 + EQUB $19,$00,$38,$BC,$00,$38,$60,$C0 + EQUB $00,$F0,$1C,$B9,$00,$47,$29,$07 + EQUB $85,$87,$C9,$04,$98,$A0,$00,$90 + EQUB $05,$0A,$90,$FD,$60,$0A,$24,$72 + EQUB $F0,$FB,$AA,$BD,$00,$38,$60,$BA + EQUB $E8,$E8,$9A,$A9,$00,$85,$71,$85 + EQUB $70,$A6,$85,$CA,$86,$87,$60,$A9 + EQUB $00,$85,$82,$85,$83,$A9,$07,$85 + EQUB $74,$A5,$86,$38,$E5,$85,$AA,$E8 + EQUB $A5,$87,$38,$E5,$85,$A8,$C8,$C0 + EQUB $07,$90,$03,$4C,$CA,$0F,$E0,$07 + EQUB $90,$1A,$A5,$86,$38,$E5,$87,$F0 + EQUB $09,$10,$0B,$A5,$71,$30,$0D,$4C + EQUB $E2,$0F,$A5,$71,$30,$06,$A5,$81 + EQUB $30,$02,$E6,$74,$98,$30,$09,$4C + EQUB $EC,$0F,$CA,$88,$C4,$74,$B0,$FA + EQUB $8A,$30,$09,$4C,$F8,$0F,$CA,$88 + EQUB $E4,$74,$B0,$FA,$8A,$30,$18,$D0 + EQUB $05,$06,$80,$4C,$25,$10,$A5,$81 + EQUB $06,$80,$2A,$26,$83,$CA,$D0,$F8 + EQUB $85,$81,$06,$80,$4C,$25,$10,$49 + EQUB $FF,$18,$69,$01,$AA,$A5,$81,$4A + EQUB $CA,$D0,$FC,$85,$81,$90,$14,$E6 + EQUB $81,$D0,$10,$E6,$83,$A5,$83,$C9 + EQUB $40,$90,$08,$A9,$3F,$85,$83,$A9 + EQUB $FF,$85,$81,$98,$30,$18,$D0,$05 + EQUB $06,$70,$4C,$64,$10,$A5,$71,$06 + EQUB $70,$2A,$26,$82,$88,$D0,$F8,$85 + EQUB $71,$06,$70,$4C,$64,$10,$49,$FF + EQUB $18,$69,$01,$A8,$A5,$71,$4A,$88 + EQUB $D0,$FC,$85,$71,$90,$14,$E6,$71 + EQUB $D0,$10,$E6,$82,$A5,$82,$C9,$40 + EQUB $90,$08,$A9,$3F,$85,$82,$A9,$FF + EQUB $85,$71,$60,$A9,$02,$D0,$02,$A9 + EQUB $00,$85,$76,$A9,$00,$85,$84,$85 + EQUB $85,$A6,$7D,$A4,$7E,$BD,$00,$09 + EQUB $85,$72,$BD,$00,$4A,$85,$82,$BD + EQUB $00,$0A,$85,$73,$BD,$00,$0B,$85 + EQUB $83,$B9,$00,$09,$85,$77,$38,$E5 + EQUB $72,$85,$74,$B9,$00,$4A,$85,$81 + EQUB $E5,$82,$85,$7A,$10,$13,$A9,$80 + EQUB $05,$76,$85,$76,$A9,$00,$38,$E5 + EQUB $74,$85,$74,$A9,$00,$E5,$7A,$85 + EQUB $7A,$B9,$00,$0A,$85,$78,$38,$E5 + EQUB $73,$85,$75,$B9,$00,$0B,$85,$79 + EQUB $E5,$83,$85,$7B,$10,$13,$A9,$40 + EQUB $05,$76,$85,$76,$A9,$00,$38,$E5 + EQUB $75,$85,$75,$A9,$00,$E5,$7B,$85 + EQUB $7B,$A9,$00,$A6,$73,$A4,$83,$F0 + EQUB $08,$08,$A2,$00,$28,$18,$30,$02 + EQUB $A9,$16,$20,$EE,$FF,$A9,$05,$20 + EQUB $EE,$FF,$A0,$00,$B9,$54,$0B,$20 + EQUB $EE,$FF,$C8,$C0,$0A,$D0,$F5,$A9 + EQUB $1F,$20,$EE,$FF,$A9,$04,$20,$EE + EQUB $FF,$A9,$0A,$20,$EE,$FF,$A0,$00 + EQUB $B9,$5E,$0B,$20,$EE,$FF,$C8,$C0 + EQUB $0B,$D0,$F5,$A2,$46,$A0,$0B,$20 + EQUB $F7,$FF,$A9,$81,$A2,$FF,$A0,$00 + EQUB $20,$F4,$FF,$4C,$6A,$0B,$4C,$2E + + EQUB $44,$41,$53,$48,$42,$44,$20,$37 + EQUB $31,$30,$30,$0D,$17,$00,$0A,$17 + EQUB $00,$00,$00,$00,$00,$00,$50,$6C + EQUB $65,$61,$73,$65,$20 + +.L5C65 + EQUB $77,$61,$69 + + EQUB $74,$0D,$A9,$8C,$20,$F4,$FF,$A0 + EQUB $00,$B9,$00,$04,$99,$00,$0D,$B9 + EQUB $00,$05,$99,$00,$0E,$B9,$00,$06 + EQUB $99,$00,$0F,$B9,$00,$07,$99,$00 + EQUB $10,$88,$D0,$E5,$EA,$EA,$EA,$EA + EQUB $A9,$58,$85,$71,$A9,$00,$85,$70 + EQUB $A9,$02,$85,$72,$A0,$00,$20,$85 + EQUB $0C,$A9,$58,$85,$71,$A9,$FF,$85 + EQUB $70,$A9,$02,$85,$72,$A0,$40,$20 + EQUB $85,$0C,$A9,$5A,$85,$71,$A9,$7F + EQUB $85,$70,$A9,$12,$85,$72,$A0,$08 + EQUB $20,$85,$0C,$A9,$5B,$85,$71,$A9 + EQUB $B7,$85,$70,$A9,$12,$85,$72,$A0 + EQUB $08,$20,$85,$0C,$A2,$03,$A0,$60 + EQUB $20,$2A,$0C,$A2,$03,$A0,$EF,$20 + EQUB $2E,$0C,$A2,$9C,$A0,$60,$20,$2A + EQUB $0C,$A2,$9C,$A0,$EF,$20,$2E,$0C + EQUB $A2,$08,$A0,$F8,$20,$2A,$0C,$A2 + EQUB $97,$A0,$F8,$20,$2E,$0C,$A0,$79 + EQUB $A2,$00,$20,$64,$0C,$A2,$9E,$20 + EQUB $64,$0C,$98,$18,$69,$30,$A8,$C0 + EQUB $09,$D0,$ED,$A0,$FF,$A2,$13,$20 + EQUB $64,$0C,$8A,$18,$69,$18,$AA,$E0 + EQUB $A3,$D0,$F4,$4C,$98,$26,$A9,$45 + EQUB $D0,$06,$A9,$04,$D0,$02,$A9,$05 + EQUB $48,$A9,$19,$20,$EE,$FF,$68,$20 + EQUB $EE,$FF,$A9,$00,$85,$70,$8A,$0A + EQUB $26,$70,$0A,$26,$70,$0A,$26,$70 + EQUB $20,$EE,$FF,$A5,$70,$20,$EE,$FF + EQUB $A9,$00,$85,$70,$98,$0A,$26,$70 + EQUB $0A,$26,$70,$20,$EE,$FF,$A5,$70 + EQUB $20,$EE,$FF,$60,$20,$26,$0C,$88 + EQUB $20,$26,$0C,$88,$20,$26,$0C,$88 + EQUB $20,$26,$0C,$E8,$20,$26,$0C,$C8 + EQUB $20,$26,$0C,$C8,$20,$26,$0C,$C8 + EQUB $20,$26,$0C,$CA,$60,$84,$73,$A9 + EQUB $00,$A4,$73,$91,$70,$88,$D0,$FB + EQUB $A5,$70,$18,$69,$40,$85,$70,$A5 + EQUB $71,$69,$01,$85,$71,$C6,$72,$D0 + EQUB $E6,$60,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF + EQUB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF + EQUB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF + EQUB $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $00,$00,$00,$00,$00,$00,$00,$00 + EQUB $A9,$81,$A2,$00,$A0,$FF,$20,$F4 + EQUB $FF,$E0,$00,$EA,$EA,$A9,$C8,$A2 + EQUB $03,$A0,$00,$20,$F4,$FF,$A0,$00 + EQUB $B9,$00,$58,$99,$00,$04,$B9,$00 + EQUB $59,$99,$00,$05,$B9,$00,$5A,$99 + EQUB $00,$06,$B9,$00,$5B,$99,$00,$07 + EQUB $B9,$00,$5C,$99,$00,$0B,$B9,$00 + EQUB $5D,$99,$00,$0C,$88,$D0,$D9,$EA + EQUB $EA,$EA,$EA,$EA,$EA,$EA,$4C,$00 + EQUB $0B + +.BeebDisEndAddr +SAVE "3-assembled-output/AVIA.bin",BeebDisStartAddr,BeebDisEndAddr + diff --git a/2-build-files/README.md b/2-build-files/README.md new file mode 100644 index 0000000..b6c614b --- /dev/null +++ b/2-build-files/README.md @@ -0,0 +1,11 @@ +# Build files for the BBC Micro disc version of Aviator + +This folder contains support scripts for building the BBC Micro disc version of Aviator. + +* [crc32.py](crc32.py) calculates checksums during the verify stage and compares the results with the relevant binaries in the [4-reference-binaries](../4-reference-binaries) folder + +It also contains the `make.exe` executable for Windows, plus the required DLL files. + +--- + +_Mark Moxon_ \ No newline at end of file diff --git a/2-build-files/crc32.py b/2-build-files/crc32.py new file mode 100644 index 0000000..06251d8 --- /dev/null +++ b/2-build-files/crc32.py @@ -0,0 +1,119 @@ +#!/usr/bin/env python +# +# ****************************************************************************** +# +# AVIATOR VERIFICATION SCRIPT +# +# Written by Kieran Connell, extended by Mark Moxon +# +# This script performs checksums on the compiled files from the build process, +# and checks them against the extracted files from the original source disc +# +# ****************************************************************************** + +from __future__ import print_function +import sys +import os +import os.path +import zlib + + +def main(): + if len(sys.argv) <= 2: + # Do CRC on single folder + folder = sys.argv[1] if len(sys.argv) == 2 else "." + names = sorted(os.listdir(folder)) + + print() + print('Checksum Size Filename') + print('------------------------------------------') + + for name in names: + if name.endswith(".bin"): + full_name = os.path.join(folder, name) + if not os.path.isfile(full_name): + continue + with open(full_name, 'rb') as f: + data = f.read() + print('%08x %5d %s' % ( + zlib.crc32(data) & 0xffffffff, + len(data), + full_name) + ) + print() + else: + # Do CRC on two folders + folder1 = sys.argv[1] + names1 = sorted(os.listdir(folder1)) + folder2 = sys.argv[2] + names2 = sorted(os.listdir(folder2)) + names = list(names1) + names.extend(x for x in names2 if x not in names) + + if '4-reference-binaries' in folder1: + src = '[--originals--]' + elif 'output' in folder1: + src = '[---output----]' + else: + src = '[{0: ^13}]'.format(folder1[0:13]).replace(' ', '-') + + if '4-reference-binaries' in folder2: + dest = '[--originals--]' + elif 'output' in folder2: + dest = '[---output----]' + else: + dest = '[{0: ^13}]'.format(folder2[0:13]).replace(' ', '-') + + print('Results for release: ' + os.path.basename(folder1)) + print(src + ' ' + dest) + print('Checksum Size Checksum Size Match Filename') + print('-----------------------------------------------------------') + + for name in names: + if name.endswith(".bin"): + full_name1 = os.path.join(folder1, name) + full_name2 = os.path.join(folder2, name) + + if name in names1 and name in names2 and os.path.isfile(full_name1) and os.path.isfile(full_name2): + with open(full_name1, 'rb') as f: + data1 = f.read() + with open(full_name2, 'rb') as f: + data2 = f.read() + crc1 = zlib.crc32(data1) & 0xffffffff + crc2 = zlib.crc32(data2) & 0xffffffff + match = ' Yes ' if crc1 == crc2 and len(data1) == len(data2) else ' No ' + print('%08x %5d %08x %5d %s %s' % ( + crc1, + len(data1), + crc2, + len(data2), + match, + name) + ) + elif name in names1 and os.path.isfile(full_name1): + with open(full_name1, 'rb') as f: + data = f.read() + print('%08x %5d %s %s %s %s' % ( + zlib.crc32(data) & 0xffffffff, + len(data), + '- ', + ' -', + ' - ', + name) + ) + elif name in names2 and os.path.isfile(full_name2): + with open(full_name2, 'rb') as f: + data = f.read() + print('%s %s %08x %5d %s %s' % ( + '- ', + ' -', + zlib.crc32(data) & 0xffffffff, + len(data), + ' - ', + name) + ) + print() + + +if __name__ == '__main__': + main() diff --git a/2-build-files/libiconv2.dll b/2-build-files/libiconv2.dll new file mode 100755 index 0000000..747073f Binary files /dev/null and b/2-build-files/libiconv2.dll differ diff --git a/2-build-files/libintl3.dll b/2-build-files/libintl3.dll new file mode 100755 index 0000000..ec11e6b Binary files /dev/null and b/2-build-files/libintl3.dll differ diff --git a/2-build-files/make.exe b/2-build-files/make.exe new file mode 100644 index 0000000..58d49e3 Binary files /dev/null and b/2-build-files/make.exe differ diff --git a/3-assembled-output/AVIA.bin b/3-assembled-output/AVIA.bin new file mode 100644 index 0000000..482ecf7 Binary files /dev/null and b/3-assembled-output/AVIA.bin differ diff --git a/3-assembled-output/README.md b/3-assembled-output/README.md new file mode 100644 index 0000000..11612c3 --- /dev/null +++ b/3-assembled-output/README.md @@ -0,0 +1,7 @@ +# Assembled output for the BBC Micro disc version of Aviator + +This folder contains the output binaries from the build process for the BBC Micro disc version of Aviator. + +--- + +_Mark Moxon_ \ No newline at end of file diff --git a/4-reference-binaries/README.md b/4-reference-binaries/README.md new file mode 100644 index 0000000..b5a545d --- /dev/null +++ b/4-reference-binaries/README.md @@ -0,0 +1,7 @@ +# Reference binaries for the BBC Micro disc version of Aviator + +This folder contains the binaries from the game disc for the BBC Micro disc version of Aviator, as well as reference binaries for the other releases. + +--- + +_Mark Moxon_ \ No newline at end of file diff --git a/4-reference-binaries/bbcmicro-co-uk/AVIA.bin b/4-reference-binaries/bbcmicro-co-uk/AVIA.bin new file mode 100644 index 0000000..482ecf7 Binary files /dev/null and b/4-reference-binaries/bbcmicro-co-uk/AVIA.bin differ diff --git a/5-compiled-game-discs/README.md b/5-compiled-game-discs/README.md new file mode 100644 index 0000000..e00ac67 --- /dev/null +++ b/5-compiled-game-discs/README.md @@ -0,0 +1,7 @@ +# Compiled game discs for the BBC Micro disc version of Aviator + +This folder contains the SSD disc images for the BBC Micro disc version of Aviator, as produced by the build process. There is one SSD file for each supported release. These SSD images can be loaded into an emulator like JSBeeb or BeebEm, or into a real BBC Micro using a device like a Gotek. + +--- + +_Mark Moxon_ \ No newline at end of file diff --git a/5-compiled-game-discs/aviator-bbcmicro-co-uk.ssd b/5-compiled-game-discs/aviator-bbcmicro-co-uk.ssd new file mode 100644 index 0000000..ca9edf3 Binary files /dev/null and b/5-compiled-game-discs/aviator-bbcmicro-co-uk.ssd differ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f149028 --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +BEEBASM?=beebasm +PYTHON?=python + +.PHONY:build +build: + $(BEEBASM) -i 1-source-files/main-sources/aviator-source.asm -v > 3-assembled-output/compile.txt + $(BEEBASM) -i 1-source-files/main-sources/aviator-disc.asm -do 5-compiled-game-discs/aviator-bbcmicro-co-uk.ssd -opt 3 -title "Aviator" + +.PHONY:verify +verify: + @$(PYTHON) 2-build-files/crc32.py 4-reference-binaries/bbcmicro-co-uk 3-assembled-output diff --git a/README.md b/README.md new file mode 100644 index 0000000..8e0f48c --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Source code for Aviator on the BBC Micro + +This repository contains the source code for Aviator on the BBC Micro. \ No newline at end of file diff --git a/make.bat b/make.bat new file mode 100644 index 0000000..aa5e6e5 --- /dev/null +++ b/make.bat @@ -0,0 +1,5 @@ +@echo off +SETLOCAL +SET BEEBASM=C:\Users\user\bin\beebasm.exe +SET PYTHON=C:\Users\user\AppData\Local\Microsoft\WindowsApps\python.exe +2-build-files\make %*