Note: main 'documentation' and description (including I/O memory layout, additional information, details, etc) page can be found here.
Click here to review the added comments.
; da65 V2.13.3 - (C) Copyright 2000-2009, Ullrich von Bassewitz ; Created: 2014-01-21 00:08:01 ; Input file: kizapr-u102.bin ; Page: 1 .setcpu "65C02" ; ---------------------------------------------------------------------------- L004E := $004E L0081 := $0081 VidMemHi := $00A0 CursorX := $00A1 CursorY := $00A2 CurMaxX_ := $00A4 CurMaxY_ := $00A6 StopKeyFlag := $00AD FNptr_lo := $00AE FNptr_hi := $00AF ST := $00BA VidPtrLo := $00C1 VidPtrHi := $00C2 LFS2ndAddr := $00C4 LFSDevNum := $00C5 LFSLogNum := $00C6 stack := $0100 L0300 := $0300 RAMVEC_IRQ := $0314 RAMVEC_BRK := $0316 RAMVEC_NMI := $0318 RAMVEC_OPEN := $031A RAMVEC_CLOSE := $031C RAMVEC_CHKIN := $031E RAMVEC_CHKOUT := $0320 RAMVEC_CLRCHN := $0322 RAMVEC_CHRIN := $0324 RAMVEC_CHROUT := $0326 RAMVEC_STOP := $0328 RAMVEC_GETIN := $032A RAMVEC_CLALL := $032C RAMVEC_WTF := $032E RAMVEC_LOAD := $0330 RAMVEC_SAVE := $0332 L0334 := $0334 L0336 := $0336 FROM_C669 := $0338 FROM_C672 := $0341 FROM_C67B := $034A L034D := $034D FROM_C684 := $0353 FROM_C68D := $035C L035F := $035F CurMaxY := $037E L0380 := $0380 CurMaxX := $0381 KernMsg := $0383 L0386 := $0386 FNlength := $0387 TOD_60HZ := $038F TOD_SECS := $0390 TOD_MINS := $0391 TOD_HOURS := $0392 MemBotLoByte := $0398 MemBotHiByte := $0399 MemTopLoByte := $039A MemTopHiByte := $039B L03AB := $03AB L03B7 := $03B7 L03C0 := $03C0 L0470 := $0470 L066A := $066A L0810 := $0810 L0A00 := $0A00 L11A0 := $11A0 L1F0C := $1F0C L2020 := $2020 L2E6A := $2E6A L42D0 := $42D0 L42E4 := $42E4 L4307 := $4307 L4825 := $4825 L4AF3 := $4AF3 L4D37 := $4D37 L4D39 := $4D39 L4DCA := $4DCA L4F4C := $4F4C L4F7F := $4F7F L5044 := $5044 L5061 := $5061 L509D := $509D L51D3 := $51D3 L51F0 := $51F0 L51F5 := $51F5 L53DE := $53DE L5595 := $5595 L5609 := $5609 L5653 := $5653 L5A79 := $5A79 L5A93 := $5A93 L5A9E := $5A9E L673E := $673E L6E6E := $6E6E L77CB := $77CB L77DD := $77DD L78C5 := $78C5 L792A := $792A L7944 := $7944 L7947 := $7947 L794A := $794A L794C := $794C L795A := $795A L7A73 := $7A73 L7D16 := $7D16 L7E6A := $7E6A ; ---------------------------------------------------------------------------- ; At offset 4: this bytes tells the number of Kbytes to be checked by the ROM ; checksum routine. I don't know the purpose of the other bytes though. .byte $00,$00,$FF,$FF,$10,$DD,$DD,$DD ; 8000 00 00 FF FF 10 DD DD DD ........ ; ---------------------------------------------------------------------------- Commodore_LCD: ; Every ROM images begins with this "identification" string. This one is also ; used to compare with the searched ones by the ROM scanning routine. .byte "Commodore LCD" ; 8008 43 6F 6D 6D 6F 64 6F 72 Commodor ; 8010 65 20 4C 43 44 e LCD ; ---------------------------------------------------------------------------- ; Every ROMs contain a "directory" with the "applications" can be found (I ; guess). Besides the names, I know only maybe three bytes of the six ; (prefixed every name): the size of that entry, zero for no more entries. ; Two other bytes (last two bytes - a word - before the name itself) may ; encode the entry point of the given software. I don't know the purpose of ; other bytes. .byte $11,$10,$20,$00,$38,$80,$4D,$4F ; 8015 11 10 20 00 38 80 4D 4F .. .8.MO .byte $4E,$49,$54,$4F,$52,$2E,$4D,$4F ; 801D 4E 49 54 4F 52 2E 4D 4F NITOR.MO .byte $4E,$11,$01,$20,$00,$4C,$80,$43 ; 8025 4E 11 01 20 00 4C 80 43 N.. .L.C .byte $4F,$4D,$4D,$41,$4E,$44,$2E,$43 ; 802D 4F 4D 4D 41 4E 44 2E 43 OMMAND.C .byte $4D,$44,$00 ; 8035 4D 44 00 MD. ; ---------------------------------------------------------------------------- ; It seems to be the entry point of "MONITOR.MON". cpx #$0E ; 8038 E0 0E .. bne L8040 ; 803A D0 04 .. clc ; 803C 18 . jmp L84FA ; 803D 4C FA 84 L.. ; ---------------------------------------------------------------------------- L8040: cpx #$06 ; 8040 E0 06 .. beq L8049 ; 8042 F0 05 .. cpx #$04 ; 8044 E0 04 .. beq L8049 ; 8046 F0 01 .. rts ; 8048 60 ` ; ---------------------------------------------------------------------------- L8049: jmp LC6DF ; 8049 4C DF C6 L.. ; ---------------------------------------------------------------------------- ; It seems to be the entry point of "COMMAND.CMD". cpx #$08 ; 804C E0 08 .. bne L8066 ; 804E D0 16 .. lda #$7E ; 8050 A9 7E .~ L8052: ldx #$01 ; 8052 A2 01 .. ldy #$0E ; 8054 A0 0E .. jsr SetLFS ; 8056 20 CF FC .. lda $0423 ; 8059 AD 23 04 .#. ldx #$24 ; 805C A2 24 .$ ldy #$04 ; 805E A0 04 .. jsr SetNam ; 8060 20 D6 FC .. jsr Open_ ; 8063 20 DE FC .. L8066: rts ; 8066 60 ` ; ---------------------------------------------------------------------------- L8067: txa ; 8067 8A . tay ; 8068 A8 . lda #$FF ; 8069 A9 FF .. L806B: phy ; 806B 5A Z ldx #$00 ; 806C A2 00 .. phx ; 806E DA . pha ; 806F 48 H phy ; 8070 5A Z cld ; 8071 D8 . ldx #$08 ; 8072 A2 08 .. L8074: stx L03C0 ; 8074 8E C0 03 ... L8077: dec L03C0 ; 8077 CE C0 03 ... ldx L03C0 ; 807A AE C0 03 ... bpl L8082 ; 807D 10 03 .. sec ; 807F 38 8 bra L80BB ; 8080 80 39 .9 L8082: lda $0204 ; 8082 AD 04 02 ... and PowersOfTwo,x ; 8085 3D 41 B0 =A. beq L8077 ; 8088 F0 ED .. lda ROM_MMU_values,x ; 808A BD CB 82 ... sta MMU_KERN_WINDOW ; 808D 8D 00 FF ... lda #$40 ; 8090 A9 40 .@ sta $DC ; 8092 85 DC .. stz $DB ; 8094 64 DB d. lda #$15 ; 8096 A9 15 .. .byte $2C ; 8098 2C , L8099: lda ($DB) ; 8099 B2 DB .. clc ; 809B 18 . adc $DB ; 809C 65 DB e. sta $DB ; 809E 85 DB .. bcc L80A4 ; 80A0 90 02 .. inc $DC ; 80A2 E6 DC .. L80A4: lda ($DB) ; 80A4 B2 DB .. beq L8077 ; 80A6 F0 CF .. tsx ; 80A8 BA . L80A9: inc stack+3,x ; 80A9 FE 03 01 ... ldy #$01 ; 80AC A0 01 .. lda ($DB),y ; 80AE B1 DB .. and stack+2,x ; 80B0 3D 02 01 =.. beq L8099 ; 80B3 F0 E4 .. dec stack+1,x ; 80B5 DE 01 01 ... bne L8099 ; 80B8 D0 DF .. clc ; 80BA 18 . L80BB: ply ; 80BB 7A z ply ; 80BC 7A z plx ; 80BD FA . ply ; 80BE 7A z bcc L80C3 ; 80BF 90 02 .. ldx #$00 ; 80C1 A2 00 .. L80C3: cpx #$00 ; 80C3 E0 00 .. rts ; 80C5 60 ` ; ---------------------------------------------------------------------------- L80C6: pha ; 80C6 48 H ldy #$01 ; 80C7 A0 01 .. phy ; 80C9 5A Z L80CA: ply ; 80CA 7A z lda #$07 ; 80CB A9 07 .. jsr L806B ; 80CD 20 6B 80 k. beq L80DC ; 80D0 F0 0A .. pla ; 80D2 68 h pha ; 80D3 48 H phy ; 80D4 5A Z ldy #$03 ; 80D5 A0 03 .. eor ($DB),y ; 80D7 51 DB Q. bne L80CA ; 80D9 D0 EF .. ply ; 80DB 7A z L80DC: ply ; 80DC 7A z cpx #$00 ; 80DD E0 00 .. rts ; 80DF 60 ` ; ---------------------------------------------------------------------------- L80E0: and #$3F ; 80E0 29 3F )? sta $03BC ; 80E2 8D BC 03 ... ldx #$04 ; 80E5 A2 04 .. jsr LD230 ; 80E7 20 30 D2 0. stz $03BD ; 80EA 9C BD 03 ... lda $03BC ; 80ED AD BC 03 ... ldy #$01 ; 80F0 A0 01 .. jsr L806B ; 80F2 20 6B 80 k. beq L8148 ; 80F5 F0 51 .Q lda #$05 ; 80F7 A9 05 .. sta $03BF ; 80F9 8D BF 03 ... ldx #$07 ; 80FC A2 07 .. lda $03BC ; 80FE AD BC 03 ... L8101: cmp PowersOfTwo,x ; 8101 DD 41 B0 .A. beq L810B ; 8104 F0 05 .. dex ; 8106 CA . bpl L8101 ; 8107 10 F8 .. bra L8115 ; 8109 80 0A .. L810B: ldy #$08 ; 810B A0 08 .. jsr L806B ; 810D 20 6B 80 k. bne L8115 ; 8110 D0 03 .. inc $03BF ; 8112 EE BF 03 ... L8115: jsr L815E ; 8115 20 5E 81 ^. L8118: jsr LB6DF ; 8118 20 DF B6 .. ldx #$09 ; 811B A2 09 .. L811D: cmp L8154,x ; 811D DD 54 81 .T. beq L8127 ; 8120 F0 05 .. dex ; 8122 CA . bpl L811D ; 8123 10 F8 .. bra L8118 ; 8125 80 F1 .. L8127: txa ; 8127 8A . cmp #$07 ; 8128 C9 07 .. bcs L8148 ; 812A B0 1C .. cmp #$06 ; 812C C9 06 .. bne L813A ; 812E D0 0A .. cmp $03BF ; 8130 CD BF 03 ... beq L813A ; 8133 F0 05 .. jsr L815E ; 8135 20 5E 81 ^. bra L8118 ; 8138 80 DE .. L813A: clc ; 813A 18 . adc $03BE ; 813B 6D BE 03 m.. tay ; 813E A8 . lda $03BD ; 813F AD BD 03 ... jsr L806B ; 8142 20 6B 80 k. beq L8118 ; 8145 F0 D1 .. .byte $2C ; 8147 2C , L8148: ldx #$00 ; 8148 A2 00 .. phx ; 814A DA . pha ; 814B 48 H ldx #$06 ; 814C A2 06 .. jsr LD230 ; 814E 20 30 D2 0. pla ; 8151 68 h plx ; 8152 FA . rts ; 8153 60 ` ; ---------------------------------------------------------------------------- L8154: .byte $85,$89,$86,$8A,$87,$8B,$88,$8C ; 8154 85 89 86 8A 87 8B 88 8C ........ .byte $0D,$8D ; 815C 0D 8D .. ; ---------------------------------------------------------------------------- L815E: sec ; 815E 38 8 cld ; 815F D8 . lda $03BF ; 8160 AD BF 03 ... adc $03BE ; 8163 6D BE 03 m.. sta $03BE ; 8166 8D BE 03 ... L8169: ldy $03BE ; 8169 AC BE 03 ... lda $03BD ; 816C AD BD 03 ... jsr L806B ; 816F 20 6B 80 k. bne L818A ; 8172 D0 16 .. ldy #$01 ; 8174 A0 01 .. sty $03BE ; 8176 8C BE 03 ... L8179: lda $03BD ; 8179 AD BD 03 ... asl a ; 817C 0A . bne L8180 ; 817D D0 01 .. inc a ; 817F 1A . L8180: sta $03BD ; 8180 8D BD 03 ... bit $03BC ; 8183 2C BC 03 ,.. beq L8179 ; 8186 F0 F1 .. bra L8169 ; 8188 80 DF .. L818A: ldx #$00 ; 818A A2 00 .. L818C: phx ; 818C DA . phy ; 818D 5A Z jsr L81E0 ; 818E 20 E0 81 .. lda #$D4 ; 8191 A9 D4 .. sta $DB ; 8193 85 DB .. lda #$81 ; 8195 A9 81 .. sta $DC ; 8197 85 DC .. tsx ; 8199 BA . lda stack+2,x ; 819A BD 02 01 ... ldy #$07 ; 819D A0 07 .. cmp #$07 ; 819F C9 07 .. beq L81B8 ; 81A1 F0 15 .. ldy #$00 ; 81A3 A0 00 .. dec a ; 81A5 3A : cmp $03BF ; 81A6 CD BF 03 ... beq L81B8 ; 81A9 F0 0D .. ldy stack+1,x ; 81AB BC 01 01 ... lda $03BD ; 81AE AD BD 03 ... jsr L806B ; 81B1 20 6B 80 k. beq L81C5 ; 81B4 F0 0F .. ldy #$06 ; 81B6 A0 06 .. L81B8: lda ($DB),y ; 81B8 B1 DB .. cmp #$2E ; 81BA C9 2E .. beq L81C5 ; 81BC F0 07 .. clc ; 81BE 18 . jsr LB6F9 ; 81BF 20 F9 B6 .. iny ; 81C2 C8 . bra L81B8 ; 81C3 80 F3 .. L81C5: lda #$0D ; 81C5 A9 0D .. clc ; 81C7 18 . jsr LB6F9 ; 81C8 20 F9 B6 .. ply ; 81CB 7A z plx ; 81CC FA . iny ; 81CD C8 . inx ; 81CE E8 . cpx #$08 ; 81CF E0 08 .. bne L818C ; 81D1 D0 B9 .. rts ; 81D3 60 ` ; ---------------------------------------------------------------------------- .byte "<MORE>.EXIT." ; 81D4 3C 4D 4F 52 45 3E 2E 45 <MORE>.E ; 81DC 58 49 54 2E XIT. ; ---------------------------------------------------------------------------- L81E0: ldy L81F3,x ; 81E0 BC F3 81 ... ldx $039C ; 81E3 AE 9C 03 ... lda #$89 ; 81E6 A9 89 .. sec ; 81E8 38 8 jsr LB6F9 ; 81E9 20 F9 B6 .. lda #$67 ; 81EC A9 67 .g ldy #$09 ; 81EE A0 09 .. sta ($BD),y ; 81F0 91 BD .. rts ; 81F2 60 ` ; ---------------------------------------------------------------------------- L81F3: .byte $00,$0A,$14,$1E ; 81F3 00 0A 14 1E .... L81F7: .byte $28,$32,$3C,$46 ; 81F7 28 32 3C 46 (2<F ; ---------------------------------------------------------------------------- L81FB: stz $0450 ; 81FB 9C 50 04 .P. jsr L806B ; 81FE 20 6B 80 k. beq L821C ; 8201 F0 19 .. phx ; 8203 DA . pha ; 8204 48 H phy ; 8205 5A Z ldx #$00 ; 8206 A2 00 .. ldy #$06 ; 8208 A0 06 .. L820A: lda ($DB),y ; 820A B1 DB .. sta $0450,x ; 820C 9D 50 04 .P. inx ; 820F E8 . iny ; 8210 C8 . tya ; 8211 98 . cmp ($DB) ; 8212 D2 DB .. bne L820A ; 8214 D0 F4 .. stz $0450,x ; 8216 9E 50 04 .P. ply ; 8219 7A z pla ; 821A 68 h plx ; 821B FA . L821C: rts ; 821C 60 ` ; ---------------------------------------------------------------------------- L821D: lda #$AE ; 821D A9 AE .. sta $034E ; 821F 8D 4E 03 .N. ldx FNlength ; 8222 AE 87 03 ... beq L826E ; 8225 F0 47 .G ldy #$01 ; 8227 A0 01 .. L8229: lda #$7F ; 8229 A9 7F .. jsr L806B ; 822B 20 6B 80 k. beq L826E ; 822E F0 3E .> pha ; 8230 48 H phx ; 8231 DA . phy ; 8232 5A Z ldx FNlength ; 8233 AE 87 03 ... beq L826E ; 8236 F0 36 .6 lda ($DB) ; 8238 B2 DB .. tay ; 823A A8 . L823B: dey ; 823B 88 . dex ; 823C CA . bmi L824D ; 823D 30 0E 0. jsr L826F ; 823F 20 6F 82 o. cmp ($DB),y ; 8242 D1 DB .. bne L824D ; 8244 D0 07 .. cmp #$2E ; 8246 C9 2E .. bne L823B ; 8248 D0 F1 .. clc ; 824A 18 . bra L826B ; 824B 80 1E .. L824D: ldy #$06 ; 824D A0 06 .. ldx #$00 ; 824F A2 00 .. L8251: jsr L826F ; 8251 20 6F 82 o. cmp ($DB),y ; 8254 D1 DB .. bne L8265 ; 8256 D0 0D .. inx ; 8258 E8 . iny ; 8259 C8 . cpx FNlength ; 825A EC 87 03 ... bne L8251 ; 825D D0 F2 .. lda ($DB),y ; 825F B1 DB .. cmp #$2E ; 8261 C9 2E .. beq L826B ; 8263 F0 06 .. L8265: ply ; 8265 7A z plx ; 8266 FA . pla ; 8267 68 h iny ; 8268 C8 . bra L8229 ; 8269 80 BE .. L826B: ply ; 826B 7A z plx ; 826C FA . pla ; 826D 68 h L826E: rts ; 826E 60 ` ; ---------------------------------------------------------------------------- L826F: phy ; 826F 5A Z txa ; 8270 8A . tay ; 8271 A8 . jsr FROM_C67B ; 8272 20 4A 03 J. ply ; 8275 7A z rts ; 8276 60 ` ; ---------------------------------------------------------------------------- ; Interesting, though I don't know the purpose of the given ZP locations. It ; seems, $FD00, $FD80, $FE00, $FE80 are used some kind of MMU purpose, based ; on value CMP'd with constants which suggests memory is devided into parts ; (high byte only): $00-$3F, $40-$7F, $80-$BF, $C0-$F7, $F8-$FF. L8277: sei ; 8277 78 x phx ; 8278 DA . ldx L03C0 ; 8279 AE C0 03 ... lda ROM_MMU_values,x ; 827C BD CB 82 ... clc ; 827F 18 . adc #$10 ; 8280 69 10 i. ldy #$02 ; 8282 A0 02 .. sec ; 8284 38 8 sbc ($DB),y ; 8285 F1 DB .. tax ; 8287 AA . ldy #$05 ; 8288 A0 05 .. lda ($DB),y ; 828A B1 DB .. cmp #$F8 ; 828C C9 F8 .. bcs L82B1 ; 828E B0 21 .! stz MMU_APPL_WINDOW1 ; 8290 9C 00 FD ... stz MMU_APPL_WINDOW2 ; 8293 9C 80 FD ... stz MMU_APPL_WINDOW3 ; 8296 9C 00 FE ... cmp #$C0 ; 8299 C9 C0 .. bcs L82AE ; 829B B0 11 .. cmp #$80 ; 829D C9 80 .. bcs L82AB ; 829F B0 0A .. cmp #$40 ; 82A1 C9 40 .@ bcs L82A8 ; 82A3 B0 03 .. stx MMU_APPL_WINDOW1 ; 82A5 8E 00 FD ... L82A8: stx MMU_APPL_WINDOW2 ; 82A8 8E 80 FD ... L82AB: stx MMU_APPL_WINDOW3 ; 82AB 8E 00 FE ... L82AE: stx MMU_APPL_WINDOW4 ; 82AE 8E 80 FE ... L82B1: pha ; 82B1 48 H dey ; 82B2 88 . lda ($DB),y ; 82B3 B1 DB .. ply ; 82B5 7A z cmp #$00 ; 82B6 C9 00 .. bne L82BB ; 82B8 D0 01 .. dey ; 82BA 88 . L82BB: dec a ; 82BB 3A : plx ; 82BC FA . rts ; 82BD 60 ` ; ---------------------------------------------------------------------------- L82BE: jsr ScanROMs ; 82BE 20 D3 82 .. sta $0204 ; 82C1 8D 04 02 ... stx $0205 ; 82C4 8E 05 02 ... sty $0206 ; 82C7 8C 06 02 ... rts ; 82CA 60 ` ; ---------------------------------------------------------------------------- ROM_MMU_values: ; The 'ScanROMs' routine uses this table to write values to $FF00 to check ; for ROMs. .byte $70,$80,$90,$A0,$B0,$C0,$D0,$E0 ; 82CB 70 80 90 A0 B0 C0 D0 E0 p....... ; ---------------------------------------------------------------------------- ScanROMs: ; This routine seems to scan ROMs, searching for the "Commodore LCD" string. ; This is done by using register at $FF00 which seems to tell the memory ; mapping at CPU address $4000. So I think $FF00 tells what is mapped to ; $4000. lda #$00 ; 82D3 A9 00 .. pha ; 82D5 48 H pha ; 82D6 48 H pha ; 82D7 48 H ldy #$07 ; 82D8 A0 07 .. L82DA: lda ROM_MMU_values,y ; 82DA B9 CB 82 ... sta MMU_KERN_WINDOW ; 82DD 8D 00 FF ... phy ; 82E0 5A Z ldx #$0C ; 82E1 A2 0C .. L82E3: lda $4008,x ; 82E3 BD 08 40 ..@ cmp Commodore_LCD,x ; 82E6 DD 08 80 ... bne L8315 ; 82E9 D0 2A .* dex ; 82EB CA . bpl L82E3 ; 82EC 10 F5 .. ply ; 82EE 7A z phy ; 82EF 5A Z lda ROM_MMU_values,y ; 82F0 B9 CB 82 ... ; $4004 is the paged-in ROM, where the id string would be ($FF00 controls ; what can you see from $4000), it's compared with the kernal's image's id ; string ("Commodore LCD"). ldx $4004 ; 82F3 AE 04 40 ..@ pha ; 82F6 48 H jsr RomCheckSum ; 82F7 20 67 83 g. ply ; 82FA 7A z sty MMU_KERN_WINDOW ; 82FB 8C 00 FF ... L82FE: phx ; 82FE DA . tsx ; 82FF BA . clc ; 8300 18 . adc stack+4,x ; 8301 7D 04 01 }.. sta stack+4,x ; 8304 9D 04 01 ... ; Hmm, it seems to be a bug for me, it should be 'pla', otherwise X is messed ; up to be used to address byte on the stack. plx ; 8307 FA . adc stack+5,x ; 8308 7D 05 01 }.. sta stack+5,x ; 830B 9D 05 01 ... ply ; 830E 7A z phy ; 830F 5A Z jsr PrintRomSumChkByPassed ; 8310 20 2F 83 /. sec ; 8313 38 8 .byte $24 ; 8314 24 $ L8315: clc ; 8315 18 . ply ; 8316 7A z tsx ; 8317 BA . rol stack+1,x ; 8318 3E 01 01 >.. dey ; 831B 88 . bpl L82DA ; 831C 10 BC .. pla ; 831E 68 h ply ; 831F 7A z plx ; 8320 FA . cmp $0204 ; 8321 CD 04 02 ... bne L832E ; 8324 D0 08 .. cpx $0205 ; 8326 EC 05 02 ... bne L832E ; 8329 D0 03 .. cpy $0206 ; 832B CC 06 02 ... L832E: rts ; 832E 60 ` ; ---------------------------------------------------------------------------- PrintRomSumChkByPassed: ; Push Y onto the stack. Write "ROMSUM ...." text, then take the value from ; the stack, "covert" into an ASCII number (ORA), and print it, followed by ; the " INSTALLED" text. phy ; 832F 5A Z jsr ShowInLineText ; 8330 20 5B FB [. .byte "ROMSUM CHECK BYPASSED, ROM #" ; 8333 52 4F 4D 53 55 4D 20 43 ROMSUM C ; 833B 48 45 43 4B 20 42 59 50 HECK BYP ; 8343 41 53 53 45 44 2C 20 52 ASSED, R ; 834B 4F 4D 20 23 OM # .byte $00 ; 834F 00 . ; ---------------------------------------------------------------------------- pla ; 8350 68 h ora #$30 ; 8351 09 30 .0 jsr ShowChar_ ; 8353 20 B3 AB .. jsr ShowInLineText ; 8356 20 5B FB [. .byte " INSTALLED" ; 8359 20 20 49 4E 53 54 41 4C INSTAL ; 8361 4C 45 44 LED .byte $0D,$00 ; 8364 0D 00 .. ; ---------------------------------------------------------------------------- rts ; 8366 60 ` ; ---------------------------------------------------------------------------- RomCheckSum: ; Creates checksum on ROMs. ; Input: ; A = value of $FF00 reg to start at ; X = number of Kbytes to check ; Output: ; X/A = 16 bit checksum (simple addition, X is the high byte) sta $03C2 ; 8367 8D C2 03 ... stx $03C1 ; 836A 8E C1 03 ... lda #$00 ; 836D A9 00 .. tax ; 836F AA . cld ; 8370 D8 . L8371: ldy $03C2 ; 8371 AC C2 03 ... sty MMU_KERN_WINDOW ; 8374 8C 00 FF ... ldy #$00 ; 8377 A0 00 .. clc ; 8379 18 . L837A: adc $4000,y ; 837A 79 00 40 y.@ bcc L8381 ; 837D 90 02 .. clc ; 837F 18 . inx ; 8380 E8 . L8381: adc $4100,y ; 8381 79 00 41 y.A bcc L8388 ; 8384 90 02 .. clc ; 8386 18 . inx ; 8387 E8 . L8388: adc $4200,y ; 8388 79 00 42 y.B bcc L838F ; 838B 90 02 .. clc ; 838D 18 . inx ; 838E E8 . L838F: adc $4300,y ; 838F 79 00 43 y.C bcc L8396 ; 8392 90 02 .. clc ; 8394 18 . inx ; 8395 E8 . L8396: iny ; 8396 C8 . bne L837A ; 8397 D0 E1 .. inc $03C2 ; 8399 EE C2 03 ... dec $03C1 ; 839C CE C1 03 ... bne L8371 ; 839F D0 D0 .. rts ; 83A1 60 ` ; ---------------------------------------------------------------------------- L83A2: lda $DD ; 83A2 A5 DD .. ldx $DE ; 83A4 A6 DE .. ldy $DF ; 83A6 A4 DF .. pha ; 83A8 48 H phx ; 83A9 DA . phy ; 83AA 5A Z lda #$0F ; 83AB A9 0F .. sta $DE ; 83AD 85 DE .. lda #$00 ; 83AF A9 00 .. sta $DD ; 83B1 85 DD .. sta $DF ; 83B3 85 DF .. pha ; 83B5 48 H pha ; 83B6 48 H tay ; 83B7 A8 . tsx ; 83B8 BA . cld ; 83B9 D8 . L83BA: clc ; 83BA 18 . adc ($DD),y ; 83BB 71 DD q. bcc L83C7 ; 83BD 90 08 .. inc stack+1,x ; 83BF FE 01 01 ... bne L83C7 ; 83C2 D0 03 .. inc stack+2,x ; 83C4 FE 02 01 ... L83C7: iny ; 83C7 C8 . bne L83BA ; 83C8 D0 F0 .. dec $DE ; 83CA C6 DE .. dec $DE ; 83CC C6 DE .. beq L83BA ; 83CE F0 EA .. inc $DE ; 83D0 E6 DE .. bpl L83BA ; 83D2 10 E6 .. plx ; 83D4 FA . ply ; 83D5 7A z sta $DD ; 83D6 85 DD .. stx $DE ; 83D8 86 DE .. sty $DF ; 83DA 84 DF .. ply ; 83DC 7A z plx ; 83DD FA . pla ; 83DE 68 h cmp $DD ; 83DF C5 DD .. bne L83EB ; 83E1 D0 08 .. cpx $DE ; 83E3 E4 DE .. bne L83EB ; 83E5 D0 04 .. cpy $DF ; 83E7 C4 DF .. beq L83EC ; 83E9 F0 01 .. L83EB: clc ; 83EB 18 . L83EC: rts ; 83EC 60 ` ; ---------------------------------------------------------------------------- L83ED: lda #$02 ; 83ED A9 02 .. .byte $2C ; 83EF 2C , L83F0: lda #$00 ; 83F0 A9 00 .. bit $10A9 ; 83F2 2C A9 10 ,.. ldx #$01 ; 83F5 A2 01 .. L83F7: phx ; 83F7 DA . pha ; 83F8 48 H jsr L840F ; 83F9 20 0F 84 .. bcs L8407 ; 83FC B0 09 .. jsr KL_RESTOR ; 83FE 20 96 C6 .. plx ; 8401 FA . phx ; 8402 DA . jsr L8420 ; 8403 20 20 84 . clc ; 8406 18 . L8407: pla ; 8407 68 h plx ; 8408 FA . inx ; 8409 E8 . bcc L83F7 ; 840A 90 EB .. jmp KL_RESTOR ; 840C 4C 96 C6 L.. ; ---------------------------------------------------------------------------- L840F: jsr L8067 ; 840F 20 67 80 g. beq L841C ; 8412 F0 08 .. bit #$C0 ; 8414 89 C0 .. bne L841C ; 8416 D0 04 .. ldy #$01 ; 8418 A0 01 .. clc ; 841A 18 . rts ; 841B 60 ` ; ---------------------------------------------------------------------------- L841C: sec ; 841C 38 8 bit #$00 ; 841D 89 00 .. rts ; 841F 60 ` ; ---------------------------------------------------------------------------- L8420: jsr L8277 ; 8420 20 77 82 w. jmp LFA67 ; 8423 4C 67 FA Lg. ; ---------------------------------------------------------------------------- L8426: stz $0202 ; 8426 9C 02 02 ... ldx $0203 ; 8429 AE 03 02 ... stx $0200 ; 842C 8E 00 02 ... stz $0203 ; 842F 9C 03 02 ... L8433 := * + 1 jsr L840F ; 8432 20 0F 84 .. bcc L843A ; 8435 90 03 .. jmp L843F ; 8437 4C 3F 84 L?. ; ---------------------------------------------------------------------------- L843A: ldx #$0A ; 843A A2 0A .. jsr L8420 ; 843C 20 20 84 . L843F: jsr L8685 ; 843F 20 85 86 .. lda #$20 ; 8442 A9 20 . ldy #$01 ; 8444 A0 01 .. jsr L806B ; 8446 20 6B 80 k. clc ; 8449 18 . jsr L8459 ; 844A 20 59 84 Y. ldy #$01 ; 844D A0 01 .. lda #$10 ; 844F A9 10 .. jsr L806B ; 8451 20 6B 80 k. clc ; 8454 18 . jsr L8459 ; 8455 20 59 84 Y. brk ; 8458 00 . L8459: ldy $0202 ; 8459 AC 02 02 ... bne L843F ; 845C D0 E1 .. bcc L8472 ; 845E 90 12 .. jsr L840F ; 8460 20 0F 84 .. beq L84C3 ; 8463 F0 5E .^ bit #$12 ; 8465 89 12 .. beq L84C3 ; 8467 F0 5A .Z ldy $0200 ; 8469 AC 00 02 ... sty $0203 ; 846C 8C 03 02 ... stz $0200 ; 846F 9C 00 02 ... L8472: jsr L840F ; 8472 20 0F 84 .. beq L84C3 ; 8475 F0 4C .L bit #$01 ; 8477 89 01 .. bne L849B ; 8479 D0 20 . bit #$12 ; 847B 89 12 .. bne L8482 ; 847D D0 03 .. stz $0203 ; 847F 9C 03 02 ... L8482: sta $0201 ; 8482 8D 01 02 ... stx $0200 ; 8485 8E 00 02 ... sei ; 8488 78 x jsr KL_RESTOR ; 8489 20 96 C6 .. ldx #$04 ; 848C A2 04 .. lda $0203 ; 848E AD 03 02 ... beq L8495 ; 8491 F0 02 .. ldx #$06 ; 8493 A2 06 .. L8495: jsr L8420 ; 8495 20 20 84 . jmp L8426 ; 8498 4C 26 84 L&. ; ---------------------------------------------------------------------------- L849B: stx $0202 ; 849B 8E 02 02 ... php ; 849E 08 . sei ; 849F 78 x jsr LC6CB ; 84A0 20 CB C6 .. jsr KL_RESTOR ; 84A3 20 96 C6 .. ldx #$08 ; 84A6 A2 08 .. jsr L8420 ; 84A8 20 20 84 . sei ; 84AB 78 x jsr LC6CB ; 84AC 20 CB C6 .. .byte $9C ; 84AF 9C . L84B0: .byte $02 ; 84B0 02 . .byte $02 ; 84B1 02 . ldx $0200 ; 84B2 AE 00 02 ... jsr L840F ; 84B5 20 0F 84 .. beq L84C0 ; 84B8 F0 06 .. jsr L8277 ; 84BA 20 77 82 w. plp ; 84BD 28 ( sec ; 84BE 38 8 rts ; 84BF 60 ` ; ---------------------------------------------------------------------------- L84C0: jmp L8426 ; 84C0 4C 26 84 L&. ; ---------------------------------------------------------------------------- L84C3: clc ; 84C3 18 . rts ; 84C4 60 ` ; ---------------------------------------------------------------------------- L84C5: php ; 84C5 08 . sei ; 84C6 78 x ldx $0202 ; 84C7 AE 02 02 ... beq L84DA ; 84CA F0 0E .. jsr LC6CB ; 84CC 20 CB C6 .. .byte $20 ; 84CF 20 L84D0: sbc $2084 ; 84D0 ED 84 20 .. .byte $CB ; 84D3 CB . dec FNptr_lo ; 84D4 C6 AE .. .byte $02 ; 84D6 02 . .byte $02 ; 84D7 02 . bra L84E0 ; 84D8 80 06 .. L84DA: jsr L84ED ; 84DA 20 ED 84 .. ldx $0200 ; 84DD AE 00 02 ... L84E0: jsr L840F ; 84E0 20 0F 84 .. beq L84EA ; 84E3 F0 05 .. jsr L8277 ; 84E5 20 77 82 w. plp ; 84E8 28 ( rts ; 84E9 60 ` ; ---------------------------------------------------------------------------- L84EA: jmp L843F ; 84EA 4C 3F 84 L?. ; ---------------------------------------------------------------------------- L84ED: ldx $0200 ; 84ED AE 00 02 ... jsr L840F ; 84F0 20 0F 84 .. beq L84FA ; 84F3 F0 05 .. ldx #$0E ; 84F5 A2 0E .. jmp L8420 ; 84F7 4C 20 84 L . ; ---------------------------------------------------------------------------- ; This seems to be the "shutdown" function or part of it: "state" should be ; saved (which is checked on next reset to see it was a clean shutdown) and ; then it used /POWEROFF line to actually switch the power off (the RAM is ; still powered at least on CLCD!) L84FA: sec ; 84FA 38 8 L84FB: php ; 84FB 08 . sei ; 84FC 78 x php ; 84FD 08 . ldx #$00 ; 84FE A2 00 .. L8500: phx ; 8500 DA . jsr LFCF1 ; 8501 20 F1 FC .. plx ; 8504 FA . dex ; 8505 CA . bpl L8500 ; 8506 10 F8 .. plp ; 8508 28 ( bcs L8510 ; 8509 B0 05 .. tsx ; 850B BA . cpx #$20 ; 850C E0 20 . bcs L8516 ; 850E B0 06 .. L8510: ldx #$FF ; 8510 A2 FF .. tsx ; 8512 BA . jsr L8685 ; 8513 20 85 86 .. L8516: jsr L889A ; 8516 20 9A 88 .. jsr L83ED ; 8519 20 ED 83 .. jsr L8644 ; 851C 20 44 86 D. jsr L86E9 ; 851F 20 E9 86 .. sei ; 8522 78 x tsx ; 8523 BA . stx $0207 ; 8524 8E 07 02 ... jsr L83A2 ; 8527 20 A2 83 .. ; Release /POWERON signal, machine will switch off. Run the endless BRA if it ; needs some cycle to happen or some kind of odd problem makes it impossible ; to power off actually. lda #$04 ; 852A A9 04 .. tsb VIA1_PORTB ; 852C 0C 00 F8 ... trb VIA1_DDRB ; 852F 1C 02 F8 ... L8532: bra L8532 ; 8532 80 FE .. KL_RESET: ; ************************************* ; Start of the real RESET routine after ; MMU set up. ; ************************************* sei ; 8534 78 x ; As soon as possible set /POWERON signal to low (low-active signal) ; configure DDR bit as well. lda #$04 ; 8535 A9 04 .. tsb VIA1_DDRB ; 8537 0C 02 F8 ... trb VIA1_PORTB ; 853A 1C 00 F8 ... ldx $0207 ; 853D AE 07 02 ... txs ; 8540 9A . cpx #$20 ; 8541 E0 20 . bcc L8582 ; 8543 90 3D .= jsr L83A2 ; 8545 20 A2 83 .. bne L8582 ; 8548 D0 38 .8 sec ; 854A 38 8 jsr LCDsetupGetOrSet ; 854B 20 28 B2 (. jsr L870F ; 854E 20 0F 87 .. bcs L8582 ; 8551 B0 2F ./ jsr ScanROMs ; 8553 20 D3 82 .. bne L8582 ; 8556 D0 2A .* ldx $0200 ; 8558 AE 00 02 ... jsr L840F ; 855B 20 0F 84 .. beq L8582 ; 855E F0 22 ." jsr InitIOhw ; 8560 20 63 87 c. jsr KBD_READ_VIA_SR ; 8563 20 E4 B5 .. jsr LB5FD ; 8566 20 FD B5 .. lsr a ; 8569 4A J bcs L8582 ; 856A B0 16 .. jsr L83F0 ; 856C 20 F0 83 .. jsr L8644 ; 856F 20 44 86 D. jsr L887F ; 8572 20 7F 88 .. ldx $0200 ; 8575 AE 00 02 ... jsr L840F ; 8578 20 0F 84 .. beq L8582 ; 857B F0 05 .. jsr L8277 ; 857D 20 77 82 w. plp ; 8580 28 ( rts ; 8581 60 ` ; ---------------------------------------------------------------------------- L8582: ldx #$FF ; 8582 A2 FF .. txs ; 8584 9A . jsr L8685 ; 8585 20 85 86 .. cli ; 8588 58 X jsr ShowInLineText ; 8589 20 5B FB [. .byte " COULD NOT RESTORE PREVIOUS STA"; 858C 20 43 4F 55 4C 44 20 4E COULD N ; 8594 4F 54 20 52 45 53 54 4F OT RESTO ; 859C 52 45 20 50 52 45 56 49 RE PREVI ; 85A4 4F 55 53 20 53 54 41 OUS STA .byte "TE" ; 85AB 54 45 TE .byte $0D,$07,$00 ; 85AD 0D 07 00 ... ; ---------------------------------------------------------------------------- ldx #$02 ; 85B0 A2 02 .. jsr WaitXticks_ ; 85B2 20 E4 BF .. lda StopKeyFlag ; 85B5 A5 AD .. and #$1F ; 85B7 29 1F ). eor #$15 ; 85B9 49 15 I. bne L85C0 ; 85BB D0 03 .. jmp L87C5 ; 85BD 4C C5 87 L.. ; ---------------------------------------------------------------------------- L85C0: jsr L870F ; 85C0 20 0F 87 .. bcc L85E2 ; 85C3 90 1D .. jsr ShowInLineText ; 85C5 20 5B FB [. .byte "YOUR DISK IS NOT INTACT" ; 85C8 59 4F 55 52 20 44 49 53 YOUR DIS ; 85D0 4B 20 49 53 20 4E 4F 54 K IS NOT ; 85D8 20 49 4E 54 41 43 54 INTACT .byte $0D,$07,$00 ; 85DF 0D 07 00 ... ; ---------------------------------------------------------------------------- L85E2: jsr L82BE ; 85E2 20 BE 82 .. beq L8607 ; 85E5 F0 20 . jsr ShowInLineText ; 85E7 20 5B FB [. .byte "ROM ENVIROMENT HAS CHANGED" ; 85EA 52 4F 4D 20 45 4E 56 49 ROM ENVI ; 85F2 52 4F 4D 45 4E 54 20 48 ROMENT H ; 85FA 41 53 20 43 48 41 4E 47 AS CHANG ; 8602 45 44 ED .byte $0D,$07,$00 ; 8604 0D 07 00 ... ; ---------------------------------------------------------------------------- L8607: jsr L889A ; 8607 20 9A 88 .. jsr L83F0 ; 860A 20 F0 83 .. jsr L8644 ; 860D 20 44 86 D. stz $0384 ; 8610 9C 84 03 ... lda #$0E ; 8613 A9 0E .. sta CursorY ; 8615 85 A2 .. jsr ShowInLineText ; 8617 20 5B FB [. .byte "P" ; 861A 50 P L861B: .byte "RESS ANY KEY TO CONTINUE" ; 861B 52 45 53 53 20 41 4E 59 RESS ANY ; 8623 20 4B 45 59 20 54 4F 20 KEY TO ; 862B 43 4F 4E 54 49 4E 55 45 CONTINUE .byte $00 ; 8633 00 . ; ---------------------------------------------------------------------------- cli ; 8634 58 X jsr LB2D6 ; 8635 20 D6 B2 .. jsr LB6DF ; 8638 20 DF B6 .. jsr LB2E4 ; 863B 20 E4 B2 .. jsr PrintNewLine ; 863E 20 D3 CA .. jmp L843F ; 8641 4C 3F 84 L?. ; ---------------------------------------------------------------------------- L8644: cli ; 8644 58 X L8645: ldy #$00 ; 8645 A0 00 .. L8647: ldx #$02 ; 8647 A2 02 .. jsr WaitXticks_ ; 8649 20 E4 BF .. lda StopKeyFlag ; 864C A5 AD .. bit #$20 ; 864E 89 20 . bne L8653 ; 8650 D0 01 .. rts ; 8652 60 ` ; ---------------------------------------------------------------------------- ; Funny :) L8653: iny ; 8653 C8 . bne L8647 ; 8654 D0 F1 .. jsr ShowInLineText80 ; 8656 20 56 FB V. .byte "HEY, LEAVE OFF THE BUTTON, WILL"; 8659 48 45 59 2C 20 4C 45 41 HEY, LEA ; 8661 56 45 20 4F 46 46 20 54 VE OFF T ; 8669 48 45 20 42 55 54 54 4F HE BUTTO ; 8671 4E 2C 20 57 49 4C 4C N, WILL .byte " YA ??" ; 8678 20 59 41 20 3F 3F YA ?? .byte $0D,$00 ; 867E 0D 00 .. ; ---------------------------------------------------------------------------- jsr LC65C ; 8680 20 5C C6 \. bra L8644 ; 8683 80 BF .. L8685: stz $0200 ; 8685 9C 00 02 ... stz $0203 ; 8688 9C 03 02 ... L868C := * + 1 stz $0202 ; 868B 9C 02 02 ... jsr KL_IOINIT ; 868E 20 47 87 G. jsr L87BA ; 8691 20 BA 87 .. jsr KL_RESTOR ; 8694 20 96 C6 .. jsr LFDDF ; 8697 20 DF FD .. jsr L8C6F ; 869A 20 6F 8C o. stz $0384 ; 869D 9C 84 03 ... ; Set MEMBOT vector to $0FFF ldy #$0F ; 86A0 A0 0F .. ldx #$FF ; 86A2 A2 FF .. clc ; 86A4 18 . jmp MEMBOT__ ; 86A5 4C AD D3 L.. ; ---------------------------------------------------------------------------- KL_RAMTAS: php ; 86A8 08 . ; D9/DA shows here the tested amount of RAM to be found OK, starts from zero sei ; 86A9 78 x stz $D9 ; 86AA 64 D9 d. stz $DA ; 86AC 64 DA d. ; This seems to test the zero page memory. ldx #$00 ; 86AE A2 00 .. L86B0: lda $00,x ; 86B0 B5 00 .. ldy #$01 ; 86B2 A0 01 .. L86B4: eor $FF ; 86B4 45 FF E. sta $00,x ; 86B6 95 00 .. cmp $00,x ; 86B8 D5 00 .. bne L86E3 ; 86BA D0 27 .' dey ; 86BC 88 . bpl L86B4 ; 86BD 10 F5 .. dex ; 86BF CA . bne L86B0 ; 86C0 D0 EE .. ; Test rest of the RAM, using the kernal window to page in the testable area. L86C2: lda $D9 ; 86C2 A5 D9 .. ldx $DA ; 86C4 A6 DA .. inc a ; 86C6 1A . bne L86CA ; 86C7 D0 01 .. inx ; 86C9 E8 . L86CA: jsr L8A87 ; 86CA 20 87 8A .. ldy #$00 ; 86CD A0 00 .. L86CF: lda ($E4),y ; 86CF B1 E4 .. ldx #$01 ; 86D1 A2 01 .. L86D3: eor #$FF ; 86D3 49 FF I. sta ($E4),y ; 86D5 91 E4 .. cmp ($E4),y ; 86D7 D1 E4 .. bne L86E3 ; 86D9 D0 08 .. dex ; 86DB CA . bpl L86D3 ; 86DC 10 F5 .. iny ; 86DE C8 . L86DF: bne L86CF ; 86DF D0 EE .. bra L86C2 ; 86E1 80 DF .. L86E3: lda $D9 ; 86E3 A5 D9 .. ldx $DA ; 86E5 A6 DA .. plp ; 86E7 28 ( rts ; 86E8 60 ` ; ---------------------------------------------------------------------------- L86E9: jsr L8C6F ; 86E9 20 6F 8C o. jsr L86F6 ; 86EC 20 F6 86 .. sta $02D9 ; 86EF 8D D9 02 ... sty $02DA ; 86F2 8C DA 02 ... rts ; 86F5 60 ` ; ---------------------------------------------------------------------------- L86F6: cld ; 86F6 D8 . lda #$00 ; 86F7 A9 00 .. tay ; 86F9 A8 . ldx #$D1 ; 86FA A2 D1 .. L86FC: clc ; 86FC 18 . adc $0208,x ; 86FD 7D 08 02 }.. bcc L8703 ; 8700 90 01 .. iny ; 8702 C8 . L8703: dex ; 8703 CA . bpl L86FC ; 8704 10 F6 .. cmp $02D9 ; 8706 CD D9 02 ... bne L870E ; 8709 D0 03 .. cpy $02DA ; 870B CC DA 02 ... L870E: rts ; 870E 60 ` ; ---------------------------------------------------------------------------- L870F: jsr L8E46 ; 870F 20 46 8E F. bcc L8745 ; 8712 90 31 .1 lda $020A ; 8714 AD 0A 02 ... ldx $020B ; 8717 AE 0B 02 ... bne L8720 ; 871A D0 04 .. cmp #$10 ; 871C C9 10 .. bcc L8745 ; 871E 90 25 .% L8720: jsr KL_RAMTAS ; 8720 20 A8 86 .. cmp $0208 ; 8723 CD 08 02 ... bne L8745 ; 8726 D0 1D .. cpx $0209 ; 8728 EC 09 02 ... bne L8745 ; 872B D0 18 .. cpx $020B ; 872D EC 0B 02 ... bcc L8745 ; 8730 90 13 .. bne L8739 ; 8732 D0 05 .. cmp $020A ; 8734 CD 0A 02 ... bcc L8745 ; 8737 90 0C .. L8739: cpx #$02 ; 8739 E0 02 .. bcc L8743 ; 873B 90 06 .. bne L8745 ; 873D D0 06 .. cmp #$00 ; 873F C9 00 .. bne L8745 ; 8741 D0 02 .. L8743: clc ; 8743 18 . rts ; 8744 60 ` ; ---------------------------------------------------------------------------- L8745: sec ; 8745 38 8 rts ; 8746 60 ` ; ---------------------------------------------------------------------------- KL_IOINIT: jsr InitIOhw ; 8747 20 63 87 c. jsr LB4DA ; 874A 20 DA B4 .. ldx #$02 ; 874D A2 02 .. L874F: stz $0393,x ; 874F 9E 93 03 ... dex ; 8752 CA . bpl L874F ; 8753 10 FA .. stz $0385 ; 8755 9C 85 03 ... lda #$03 ; 8758 A9 03 .. sta L0386 ; 875A 8D 86 03 ... lda #$FF ; 875D A9 FF .. sta KernMsg ; 875F 8D 83 03 ... rts ; 8762 60 ` ; ---------------------------------------------------------------------------- InitIOhw: ; Inits VIAs, ACIA and possible other stuffs with JSRing routines. php ; 8763 08 . sei ; 8764 78 x lda #$FF ; 8765 A9 FF .. sta VIA1_DDRA ; 8767 8D 03 F8 ... lda #$3F ; 876A A9 3F .? sta VIA1_DDRB ; 876C 8D 02 F8 ... lda #$00 ; 876F A9 00 .. sta VIA1_PORTB ; 8771 8D 00 F8 ... lda #$48 ; 8774 A9 48 .H L8777 := * + 1 sta VIA1_ACR ; 8776 8D 0B F8 ... lda #$A0 ; 8779 A9 A0 .. L877D := * + 2 sta VIA1_PCR ; 877B 8D 0C F8 ... lda #$1A ; 877E A9 1A .. L8781 := * + 1 sta VIA1_T1LL ; 8780 8D 06 F8 ... lda #$41 ; 8783 A9 41 .A sta VIA1_T1CH ; 8785 8D 05 F8 ... lda #$C0 ; 8788 A9 C0 .. sta VIA1_IER ; 878A 8D 0E F8 ... stz VIA2_PORTA ; 878D 9C 81 F8 ... lda #$FF ; 8790 A9 FF .. sta VIA2_DDRA ; 8792 8D 83 F8 ... lda #$AF ; 8795 A9 AF .. sta VIA2_DDRB ; 8797 8D 82 F8 ... lda #$82 ; 879A A9 82 .. sta VIA2_PORTB ; 879C 8D 80 F8 ... lda #$00 ; 879F A9 00 .. sta VIA2_ACR ; 87A1 8D 8B F8 ... lda #$0C ; 87A4 A9 0C .. sta VIA2_PCR ; 87A6 8D 8C F8 ... lda #$80 ; 87A9 A9 80 .. sta VIA2_IFR ; 87AB 8D 8D F8 ... stz ACIA_ST ; 87AE 9C 81 F9 ... jsr LBFBE ; 87B1 20 BE BF .. sec ; 87B4 38 8 jsr LCDsetupGetOrSet ; 87B5 20 28 B2 (. plp ; 87B8 28 ( rts ; 87B9 60 ` ; ---------------------------------------------------------------------------- L87BA: jsr LB4DA ; 87BA 20 DA B4 .. ldx #$00 ; 87BD A2 00 .. jsr LD230 ; 87BF 20 30 D2 0. jmp LB1DA ; 87C2 4C DA B1 L.. ; ---------------------------------------------------------------------------- L87C5: sei ; 87C5 78 x ldx #$FF ; 87C6 A2 FF .. txs ; 87C8 9A . inx ; 87C9 E8 . L87CA: stz $00,x ; 87CA 74 00 t. stz stack,x ; 87CC 9E 00 01 ... stz $0200,x ; 87CF 9E 00 02 ... stz L0300,x ; 87D2 9E 00 03 ... stz $0400,x ; 87D5 9E 00 04 ... inx ; 87D8 E8 . bne L87CA ; 87D9 D0 EF .. jsr L8685 ; 87DB 20 85 86 .. cli ; 87DE 58 X jsr ShowInLineText ; 87DF 20 5B FB [. .byte "ESTABLISHING S" ; 87E2 45 53 54 41 42 4C 49 53 ESTABLIS ; 87EA 48 49 4E 47 20 53 HING S L87F0: .byte "YST" ; 87F0 59 53 54 YST L87F3: .byte "EM PARAMETERS " ; 87F3 45 4D 20 50 41 52 41 4D EM PARAM ; 87FB 45 54 45 52 53 20 ETERS .byte $07,$0D,$00 ; 8801 07 0D 00 ... ; ---------------------------------------------------------------------------- L8805 := * + 1 jsr L82BE ; 8804 20 BE 82 .. lda #$0F ; 8807 A9 0F .. L880B := * + 2 sta $020C ; 8809 8D 0C 02 ... L880E := * + 2 jsr KL_RAMTAS ; 880C 20 A8 86 .. L8811 := * + 2 sta $0208 ; 880F 8D 08 02 ... stx $0209 ; 8812 8E 09 02 ... sta $020A ; 8815 8D 0A 02 ... stx $020B ; 8818 8E 0B 02 ... stx $00 ; 881B 86 00 .. lsr $00 ; 881D 46 00 F. ror a ; 881F 6A j lsr $00 ; 8820 46 00 F. ror a ; 8822 6A j jsr L8850 ; 8823 20 50 88 P. jsr L8E5C ; 8826 20 5C 8E \. .byte $20 ; 8829 20 L882A: .byte $5B ; 882A 5B [ .byte $FB ; 882B FB . .byte " " ; 882C 20 L882D: .byte "KBYTE SYSTEM ESTABLI" ; 882D 4B 42 59 54 45 20 53 59 KBYTE SY ; 8835 53 54 45 4D 20 45 53 54 STEM EST ; 883D 41 42 4C 49 ABLI L8841: .byte "SHE" ; 8841 53 48 45 SHE L8844: .byte "D" ; 8844 44 D .byte $0D,$00 ; 8845 0D 00 .. ; ---------------------------------------------------------------------------- jsr LD411 ; 8847 20 11 D4 .. jsr L8644 ; 884A 20 44 86 D. jmp L843F ; 884D 4C 3F 84 L?. ; ---------------------------------------------------------------------------- L8850: jsr L886A ; 8850 20 6A 88 j. pha ; 8853 48 H phx ; 8854 DA . tya ; 8855 98 . bne L885D ; 8856 D0 05 .. pla ; 8858 68 h bne L8861 ; 8859 D0 06 .. beq L8864 ; 885B F0 07 .. L885D: jsr L8865 ; 885D 20 65 88 e. pla ; 8860 68 h L8861: jsr L8865 ; 8861 20 65 88 e. L8864: pla ; 8864 68 h L8865: ora #$30 ; 8865 09 30 .0 jmp ShowChar_ ; 8867 4C B3 AB L.. ; ---------------------------------------------------------------------------- L886A: ldy #$FF ; 886A A0 FF .. cld ; 886C D8 . sec ; 886D 38 8 L886E: iny ; 886E C8 . sbc #$64 ; 886F E9 64 .d bcs L886E ; 8871 B0 FB .. adc #$64 ; 8873 69 64 id ldx #$FF ; 8875 A2 FF .. L8877: inx ; 8877 E8 . sbc #$0A ; 8878 E9 0A .. bcs L8877 ; 887A B0 FB .. adc #$0A ; 887C 69 0A i. rts ; 887E 60 ` ; ---------------------------------------------------------------------------- L887F: clc ; 887F 18 . jsr L88C2 ; 8880 20 C2 88 .. bit $0384 ; 8883 2C 84 03 ,.. bvc L8896 ; 8886 50 0E P. ldy #$02 ; 8888 A0 02 .. L888A: lda ($E4),y ; 888A B1 E4 .. sta $037A,y ; 888C 99 7A 03 .z. dey ; 888F 88 . bpl L888A ; 8890 10 F8 .. sec ; 8892 38 8 jsr LCDsetupGetOrSet ; 8893 20 28 B2 (. L8896: stz $0384 ; 8896 9C 84 03 ... rts ; 8899 60 ` ; ---------------------------------------------------------------------------- L889A: jsr LBE69 ; 889A 20 69 BE i. sec ; 889D 38 8 jsr L88C2 ; 889E 20 C2 88 .. bit $0384 ; 88A1 2C 84 03 ,.. bvc L88BF ; 88A4 50 19 P. lda #$93 ; 88A6 A9 93 .. jsr ShowChar_ ; 88A8 20 B3 AB .. ldy #$02 ; 88AB A0 02 .. L88AD: lda $037A,y ; 88AD B9 7A 03 .z. sta ($E4),y ; 88B0 91 E4 .. dey ; 88B2 88 . bpl L88AD ; 88B3 10 F8 .. and #$01 ; 88B5 29 01 ). ldy VidMemHi ; 88B7 A4 A0 .. ldx #$00 ; 88B9 A2 00 .. clc ; 88BB 18 . jsr LCDsetupGetOrSet ; 88BC 20 28 B2 (. L88BF: jmp KL_RESTOR ; 88BF 4C 96 C6 L.. ; ---------------------------------------------------------------------------- L88C2: ldx #$C0 ; 88C2 A2 C0 .. ldy #$04 ; 88C4 A0 04 .. jsr KL_VECTOR ; 88C6 20 9B C6 .. lda $020C ; 88C9 AD 0C 02 ... ldx $020D ; 88CC AE 0D 02 ... inc a ; 88CF 1A . bne L88D3 ; 88D0 D0 01 .. inx ; 88D2 E8 . L88D3: cpx $020B ; 88D3 EC 0B 02 ... bcc L88E5 ; 88D6 90 0D .. bne L88DF ; 88D8 D0 05 .. cmp $020A ; 88DA CD 0A 02 ... bcc L88E5 ; 88DD 90 06 .. L88DF: lda #$80 ; 88DF A9 80 .. sta $0384 ; 88E1 8D 84 03 ... rts ; 88E4 60 ` ; ---------------------------------------------------------------------------- L88E5: jsr L8A87 ; 88E5 20 87 8A .. lda #$FF ; 88E8 A9 FF .. sta $0384 ; 88EA 8D 84 03 ... lda #$05 ; 88ED A9 05 .. sta $03E7 ; 88EF 8D E7 03 ... ldy #$FF ; 88F2 A0 FF .. L88F4: phy ; 88F4 5A Z clc ; 88F5 18 . cld ; 88F6 D8 . lda $03E7 ; 88F7 AD E7 03 ... adc #$04 ; 88FA 69 04 i. tax ; 88FC AA . ldy #$13 ; 88FD A0 13 .. sec ; 88FF 38 8 jsr LB6F9 ; 8900 20 F9 B6 .. ply ; 8903 7A z ldx #$29 ; 8904 A2 29 .) L8906: phy ; 8906 5A Z lda ($E4),y ; 8907 B1 E4 .. pha ; 8909 48 H phy ; 890A 5A Z txa ; 890B 8A . tay ; 890C A8 . lda ($BD),y ; 890D B1 BD .. ply ; 890F 7A z sta ($E4),y ; 8910 91 E4 .. txa ; 8912 8A . tay ; 8913 A8 . pla ; 8914 68 h sta ($BD),y ; 8915 91 BD .. ply ; 8917 7A z dey ; 8918 88 . dex ; 8919 CA . bpl L8906 ; 891A 10 EA .. dec $03E7 ; 891C CE E7 03 ... bpl L88F4 ; 891F 10 D3 .. rts ; 8921 60 ` ; ---------------------------------------------------------------------------- L8922: lda #$05 ; 8922 A9 05 .. sta $03E7 ; 8924 8D E7 03 ... ldx #$A4 ; 8927 A2 A4 .. L8929: jsr L893C ; 8929 20 3C 89 <. ldx #$0D ; 892C A2 0D .. dec $03E7 ; 892E CE E7 03 ... bne L8929 ; 8931 D0 F6 .. ldx #$A3 ; 8933 A2 A3 .. jsr L893C ; 8935 20 3C 89 <. lda #$0D ; 8938 A9 0D .. bra L8948 ; 893A 80 0C .. L893C: phx ; 893C DA . jsr L8964 ; 893D 20 64 89 d. plx ; 8940 FA . L8941: txa ; 8941 8A . jsr L897C ; 8942 20 7C 89 |. bcc L8941 ; 8945 90 FA .. rts ; 8947 60 ` ; ---------------------------------------------------------------------------- L8948: cmp #$07 ; 8948 C9 07 .. bne L894F ; 894A D0 03 .. jmp LC65C ; 894C 4C 5C C6 L\. ; ---------------------------------------------------------------------------- L894F: cmp #$93 ; 894F C9 93 .. beq L8922 ; 8951 F0 CF .. cmp #$0D ; 8953 C9 0D .. bne L897C ; 8955 D0 25 .% .byte $20 ; 8957 20 .byte $7C ; 8958 7C | L8959: bit #$AD ; 8959 89 AD .. smb6 $03 ; 895B E7 03 .. cmp #$04 ; 895D C9 04 .. bcs L8980 ; 895F B0 1F .. inc $03E7 ; 8961 EE E7 03 ... L8964: clc ; 8964 18 . cld ; 8965 D8 . lda $03E7 ; 8966 AD E7 03 ... adc #$04 ; 8969 69 04 i. tax ; 896B AA . ldy #$13 ; 896C A0 13 .. lda #$29 ; 896E A9 29 .) pha ; 8970 48 H sec ; 8971 38 8 jsr LB6F9 ; 8972 20 F9 B6 .. lda #$65 ; 8975 A9 65 .e ply ; 8977 7A z sta ($BD),y ; 8978 91 BD .. lda #$A7 ; 897A A9 A7 .. L897C: clc ; 897C 18 . jmp LB6F9 ; 897D 4C F9 B6 L.. ; ---------------------------------------------------------------------------- L8980: stz $03E7 ; 8980 9C E7 03 ... L8983: inc $03E7 ; 8983 EE E7 03 ... jsr L8964 ; 8986 20 64 89 d. lda $03E7 ; 8989 AD E7 03 ... cmp #$04 ; 898C C9 04 .. beq L89A1 ; 898E F0 11 .. ldy #$AA ; 8990 A0 AA .. L8992: lda ($BD),y ; 8992 B1 BD .. jsr L89A8 ; 8994 20 A8 89 .. sta ($BD),y ; 8997 91 BD .. jsr L89A8 ; 8999 20 A8 89 .. dey ; 899C 88 . bmi L8992 ; 899D 30 F3 0. bra L8983 ; 899F 80 E2 .. L89A1: lda #$0D ; 89A1 A9 0D .. jsr L897C ; 89A3 20 7C 89 |. bra L8964 ; 89A6 80 BC .. L89A8: tax ; 89A8 AA . tya ; 89A9 98 . eor #$80 ; 89AA 49 80 I. tay ; 89AC A8 . txa ; 89AD 8A . rts ; 89AE 60 ` ; ---------------------------------------------------------------------------- L89AF: jsr L8A39 ; 89AF 20 39 8A 9. bcs L89B5 ; 89B2 B0 01 .. rts ; 89B4 60 ` ; ---------------------------------------------------------------------------- L89B5: lda $020A ; 89B5 AD 0A 02 ... L89B8: bne L89BD ; 89B8 D0 03 .. dec $020B ; 89BA CE 0B 02 ... L89BD: dec $020A ; 89BD CE 0A 02 ... jsr LD3F6 ; 89C0 20 F6 D3 .. jmp L8A81 ; 89C3 4C 81 8A L.. ; ---------------------------------------------------------------------------- L89C6: jsr L89AF ; 89C6 20 AF 89 .. bcc L89E1 ; 89C9 90 16 .. lda $E8 ; 89CB A5 E8 .. sta $020E ; 89CD 8D 0E 02 ... sta ($E4) ; 89D0 92 E4 .. lda $E9 ; 89D2 A5 E9 .. sta $020F ; 89D4 8D 0F 02 ... ldy #$01 ; 89D7 A0 01 .. sta ($E4),y ; 89D9 91 E4 .. iny ; 89DB C8 . lda #$02 ; 89DC A9 02 .. sta ($E4),y ; 89DE 91 E4 .. sec ; 89E0 38 8 L89E1: rts ; 89E1 60 ` ; ---------------------------------------------------------------------------- L89E2: jsr L8A81 ; 89E2 20 81 8A .. L89E5: lda $020E ; 89E5 AD 0E 02 ... cmp $0219 ; 89E8 CD 19 02 ... bne L89F2 ; 89EB D0 05 .. jsr L89FF ; 89ED 20 FF 89 .. bra L89E2 ; 89F0 80 F0 .. L89F2: jsr L8A61 ; 89F2 20 61 8A a. bcs L89E5 ; 89F5 B0 EE .. sec ; 89F7 38 8 rts ; 89F8 60 ` ; ---------------------------------------------------------------------------- L89F9: jsr L8AD5 ; 89F9 20 D5 8A .. bcs L89FF ; 89FC B0 01 .. rts ; 89FE 60 ` ; ---------------------------------------------------------------------------- L89FF: lda $0216 ; 89FF AD 16 02 ... pha ; 8A02 48 H lda $E5 ; 8A03 A5 E5 .. pha ; 8A05 48 H jsr L8A81 ; 8A06 20 81 8A .. stz $D9 ; 8A09 64 D9 d. pla ; 8A0B 68 h sta $DA ; 8A0C 85 DA .. ldy #$00 ; 8A0E A0 00 .. L8A10: lda ($E4),y ; 8A10 B1 E4 .. tax ; 8A12 AA . pla ; 8A13 68 h L8A14: pha ; 8A14 48 H sta MMU_KERN_WINDOW ; 8A15 8D 00 FF ... lda ($D9),y ; 8A18 B1 D9 .. L8A1A: pha ; 8A1A 48 H txa ; 8A1B 8A . sta ($D9),y ; 8A1C 91 D9 .. .byte $AD ; 8A1E AD . .byte $16 ; 8A1F 16 . L8A20: .byte $02 ; 8A20 02 . .byte $8D ; 8A21 8D . brk ; 8A22 00 . L8A23: bbs7 $68,$68 ; 8A23 FF 68 91 .h. cpx $C8 ; 8A26 E4 C8 .. bne L8A10 ; 8A28 D0 E6 .. pla ; 8A2A 68 h inc $020A ; 8A2B EE 0A 02 ... bne L8A33 ; 8A2E D0 03 .. inc $020B ; 8A30 EE 0B 02 ... L8A33: jsr LD3F6 ; 8A33 20 F6 D3 .. jmp L8A81 ; 8A36 4C 81 8A L.. ; ---------------------------------------------------------------------------- L8A39: ldx $020B ; 8A39 AE 0B 02 ... lda $020A ; 8A3C AD 0A 02 ... bne L8A42 ; 8A3F D0 01 .. dex ; 8A41 CA . L8A42: dec a ; 8A42 3A : cpx $020D ; 8A43 EC 0D 02 ... bne L8A4E ; 8A46 D0 06 .. cmp $020C ; 8A48 CD 0C 02 ... bne L8A4E ; 8A4B D0 01 .. clc ; 8A4D 18 . L8A4E: lda #$19 ; 8A4E A9 19 .. rts ; 8A50 60 ` ; ---------------------------------------------------------------------------- cld ; 8A51 D8 . sec ; 8A52 38 8 lda $0208 ; 8A53 AD 08 02 ... sbc $020A ; 8A56 ED 0A 02 ... tax ; 8A59 AA . lda $0209 ; 8A5A AD 09 02 ... sbc $020B ; 8A5D ED 0B 02 ... rts ; 8A60 60 ` ; ---------------------------------------------------------------------------- L8A61: ldx $DA ; 8A61 A6 DA .. lda $D9 ; 8A63 A5 D9 .. inc a ; 8A65 1A . bne L8A69 ; 8A66 D0 01 .. inx ; 8A68 E8 . L8A69: cpx $0209 ; 8A69 EC 09 02 ... bcc L8A77 ; 8A6C 90 09 .. bne L8A75 ; 8A6E D0 05 .. cmp $0208 ; 8A70 CD 08 02 ... bcc L8A77 ; 8A73 90 02 .. L8A75: clc ; 8A75 18 . rts ; 8A76 60 ` ; ---------------------------------------------------------------------------- L8A77: stx $DA ; 8A77 86 DA .. sta $D9 ; 8A79 85 D9 .. inc $E5 ; 8A7B E6 E5 .. bmi L8A87 ; 8A7D 30 08 0. bra L8AA9 ; 8A7F 80 28 .( L8A81: ldx $020B ; 8A81 AE 0B 02 ... L8A84: lda $020A ; 8A84 AD 0A 02 ... L8A87: sta $D9 ; 8A87 85 D9 .. stx $DA ; 8A89 86 DA .. sec ; 8A8B 38 8 cld ; 8A8C D8 . sbc #$40 ; 8A8D E9 40 .@ bcs L8A92 ; 8A8F B0 01 .. dex ; 8A91 CA . L8A92: sta $E5 ; 8A92 85 E5 .. txa ; 8A94 8A . asl $E5 ; 8A95 06 E5 .. rol a ; 8A97 2A * asl $E5 ; 8A98 06 E5 .. rol a ; 8A9A 2A * asl a ; 8A9B 0A . asl a ; 8A9C 0A . asl a ; 8A9D 0A . asl a ; 8A9E 0A . sta $0216 ; 8A9F 8D 16 02 ... sec ; 8AA2 38 8 ror $E5 ; 8AA3 66 E5 f. lsr $E5 ; 8AA5 46 E5 F. stz $E4 ; 8AA7 64 E4 d. L8AA9: lda $0216 ; 8AA9 AD 16 02 ... sta MMU_KERN_WINDOW ; 8AAC 8D 00 FF ... L8AAF: ldy #$01 ; 8AAF A0 01 .. lda ($E4) ; 8AB1 B2 E4 .. tax ; 8AB3 AA . sta $020E ; 8AB4 8D 0E 02 ... lda ($E4),y ; 8AB7 B1 E4 .. tay ; 8AB9 A8 . lda $020A ; 8ABA AD 0A 02 ... eor $0208 ; 8ABD 4D 08 02 M.. bne L8ACD ; 8AC0 D0 0B .. lda $020B ; 8AC2 AD 0B 02 ... eor $0209 ; 8AC5 4D 09 02 M.. bne L8ACD ; 8AC8 D0 03 .. ldy #$FF ; 8ACA A0 FF .. tax ; 8ACC AA . L8ACD: stx $020E ; 8ACD 8E 0E 02 ... sty $020F ; 8AD0 8C 0F 02 ... sec ; 8AD3 38 8 rts ; 8AD4 60 ` ; ---------------------------------------------------------------------------- L8AD5: jsr L8AA9 ; 8AD5 20 A9 8A .. jsr L8AEE ; 8AD8 20 EE 8A .. beq L8AFA ; 8ADB F0 1D .. jsr L8A81 ; 8ADD 20 81 8A .. L8AE0: jsr L8AEE ; 8AE0 20 EE 8A .. beq L8AFA ; 8AE3 F0 15 .. jsr L8A61 ; 8AE5 20 61 8A a. bcs L8AE0 ; 8AE8 B0 F6 .. clc ; 8AEA 18 . lda #$14 ; 8AEB A9 14 .. rts ; 8AED 60 ` ; ---------------------------------------------------------------------------- L8AEE: lda $E8 ; 8AEE A5 E8 .. cmp $020E ; 8AF0 CD 0E 02 ... bne L8AFA ; 8AF3 D0 05 .. lda $E9 ; 8AF5 A5 E9 .. cmp $020F ; 8AF7 CD 0F 02 ... L8AFA: rts ; 8AFA 60 ` ; ---------------------------------------------------------------------------- cpx $DA ; 8AFB E4 DA .. bne L8B08 ; 8AFD D0 09 .. cmp $D9 ; 8AFF C5 D9 .. bne L8B08 ; 8B01 D0 05 .. jsr L8AA9 ; 8B03 20 A9 8A .. bra L8B0B ; 8B06 80 03 .. L8B08: jsr L8A87 ; 8B08 20 87 8A .. L8B0B: stz $020E ; 8B0B 9C 0E 02 ... stz $020F ; 8B0E 9C 0F 02 ... sec ; 8B11 38 8 rts ; 8B12 60 ` ; ---------------------------------------------------------------------------- L8B13: lda $0207 ; 8B13 AD 07 02 ... bne L8B1D ; 8B16 D0 05 .. inc $0207 ; 8B18 EE 07 02 ... bra L8B13 ; 8B1B 80 F6 .. L8B1D: pha ; 8B1D 48 H jsr L8DBE ; 8B1E 20 BE 8D .. pla ; 8B21 68 h bcs L8B27 ; 8B22 B0 03 .. sec ; 8B24 38 8 bra L8B31 ; 8B25 80 0A .. L8B27: inc a ; 8B27 1A . bne L8B2B ; 8B28 D0 01 .. inc a ; 8B2A 1A . L8B2B: cmp $0207 ; 8B2B CD 07 02 ... bne L8B1D ; 8B2E D0 ED .. clc ; 8B30 18 . L8B31: sta $0207 ; 8B31 8D 07 02 ... sta $0219 ; 8B34 8D 19 02 ... lda #$48 ; 8B37 A9 48 .H rts ; 8B39 60 ` ; ---------------------------------------------------------------------------- L8B3A: .byte $20 ; 8B3A 20 rti ; 8B3B 40 @ ; ---------------------------------------------------------------------------- L8B3C: .byte $8B ; 8B3C 8B . .byte $4C ; 8B3D 4C L .byte $3F ; 8B3E 3F ? L8B3F: .byte $99 ; 8B3F 99 . L8B40: jsr L8C36 ; 8B40 20 36 8C 6. bcs L8B46 ; 8B43 B0 01 .. rts ; 8B45 60 ` ; ---------------------------------------------------------------------------- L8B46: lda $E7 ; 8B46 A5 E7 .. bit #$10 ; 8B48 89 10 .. bne L8B50 ; 8B4A D0 04 .. lda #$3D ; 8B4C A9 3D .= clc ; 8B4E 18 . rts ; 8B4F 60 ` ; ---------------------------------------------------------------------------- L8B50: lda $E6 ; 8B50 A5 E6 .. cmp #$0F ; 8B52 C9 0F .. bne L8B59 ; 8B54 D0 03 .. jmp L9AA5 ; 8B56 4C A5 9A L.. ; ---------------------------------------------------------------------------- L8B59: lda $E7 ; 8B59 A5 E7 .. bit #$80 ; 8B5B 89 80 .. bne L8BA0 ; 8B5D D0 41 .A lda $E8 ; 8B5F A5 E8 .. bne L8B66 ; 8B61 D0 03 .. jmp L939A ; 8B63 4C 9A 93 L.. ; ---------------------------------------------------------------------------- L8B66: stz $039D ; 8B66 9C 9D 03 ... lda $EA ; 8B69 A5 EA .. bne L8B7F ; 8B6B D0 12 .. jsr L8AD5 ; 8B6D 20 D5 8A .. bcs L8B7B ; 8B70 B0 09 .. dec $039D ; 8B72 CE 9D 03 ... lda #$0D ; 8B75 A9 0D .. sec ; 8B77 38 8 rts ; 8B78 60 ` ; ---------------------------------------------------------------------------- L8B79: inc $E9 ; 8B79 E6 E9 .. L8B7B: lda #$02 ; 8B7B A9 02 .. sta $EA ; 8B7D 85 EA .. L8B7F: jsr L8AD5 ; 8B7F 20 D5 8A .. bcc L8B9F ; 8B82 90 1B .. ldy #$02 ; 8B84 A0 02 .. lda ($E4),y ; 8B86 B1 E4 .. beq L8B8E ; 8B88 F0 04 .. cmp $EA ; 8B8A C5 EA .. beq L8B92 ; 8B8C F0 04 .. L8B8E: inc $EA ; 8B8E E6 EA .. beq L8B79 ; 8B90 F0 E7 .. L8B92: lda $EA ; 8B92 A5 EA .. cmp ($E4),y ; 8B94 D1 E4 .. bne L8B9B ; 8B96 D0 03 .. ror $039D ; 8B98 6E 9D 03 n.. L8B9B: tay ; 8B9B A8 . lda ($E4),y ; 8B9C B1 E4 .. sec ; 8B9E 38 8 L8B9F: rts ; 8B9F 60 ` ; ---------------------------------------------------------------------------- L8BA0: lda #$0D ; 8BA0 A9 0D .. stz $039D ; 8BA2 9C 9D 03 ... dec $039D ; 8BA5 CE 9D 03 ... sec ; 8BA8 38 8 rts ; 8BA9 60 ` ; ---------------------------------------------------------------------------- L8BAA: jsr L8BB0 ; 8BAA 20 B0 8B .. jmp L993F ; 8BAD 4C 3F 99 L?. ; ---------------------------------------------------------------------------- L8BB0: sta $039E ; 8BB0 8D 9E 03 ... jsr L8C36 ; 8BB3 20 36 8C 6. bcs L8BB9 ; 8BB6 B0 01 .. rts ; 8BB8 60 ` ; ---------------------------------------------------------------------------- L8BB9: lda $E7 ; 8BB9 A5 E7 .. bit #$20 ; 8BBB 89 20 . bne L8BC3 ; 8BBD D0 04 .. lda #$3D ; 8BBF A9 3D .= L8BC1: clc ; 8BC1 18 . rts ; 8BC2 60 ` ; ---------------------------------------------------------------------------- L8BC3: bit #$80 ; 8BC3 89 80 .. beq L8BCB ; 8BC5 F0 04 .. L8BC7: lda #$49 ; 8BC7 A9 49 .I bra L8BC1 ; 8BC9 80 F6 .. L8BCB: lda $E6 ; 8BCB A5 E6 .. cmp #$0F ; 8BCD C9 0F .. bne L8BD7 ; 8BCF D0 06 .. jmp L975D ; 8BD1 4C 5D 97 L]. ; ---------------------------------------------------------------------------- L8BD4: sta $039E ; 8BD4 8D 9E 03 ... L8BD7: lda $EA ; 8BD7 A5 EA .. bne L8BE1 ; 8BD9 D0 06 .. jsr L8A39 ; 8BDB 20 39 8A 9. bcs L8BF7 ; 8BDE B0 17 .. rts ; 8BE0 60 ` ; ---------------------------------------------------------------------------- L8BE1: inc $EA ; 8BE1 E6 EA .. bne L8BFE ; 8BE3 D0 19 .. jsr L8A39 ; 8BE5 20 39 8A 9. bcc L8C0E ; 8BE8 90 24 .$ jsr L8AD5 ; 8BEA 20 D5 8A .. bcc L8C0E ; 8BED 90 1F .. ldy #$02 ; 8BEF A0 02 .. lda #$00 ; 8BF1 A9 00 .. L8BF3: sta ($E4),y ; 8BF3 91 E4 .. inc $E9 ; 8BF5 E6 E9 .. L8BF7: ldy #$03 ; 8BF7 A0 03 .. sty $EA ; 8BF9 84 EA .. jsr L89C6 ; 8BFB 20 C6 89 .. L8BFE: jsr L8AD5 ; 8BFE 20 D5 8A .. ldy #$02 ; 8C01 A0 02 .. lda $EA ; 8C03 A5 EA .. sta ($E4),y ; 8C05 91 E4 .. tay ; 8C07 A8 . lda $039E ; 8C08 AD 9E 03 ... sta ($E4),y ; 8C0B 91 E4 .. sec ; 8C0D 38 8 L8C0E: rts ; 8C0E 60 ` ; ---------------------------------------------------------------------------- L8C0F: pha ; 8C0F 48 H lda $EA ; 8C10 A5 EA .. L8C12: inc a ; 8C12 1A . bne L8C17 ; 8C13 D0 02 .. inc $E9 ; 8C15 E6 E9 .. L8C17: cmp #$03 ; 8C17 C9 03 .. bcc L8C12 ; 8C19 90 F7 .. L8C1B: sta $EA ; 8C1B 85 EA .. jsr L8AD5 ; 8C1D 20 D5 8A .. pla ; 8C20 68 h bcc L8C27 ; 8C21 90 04 .. ldy $EA ; 8C23 A4 EA .. sta ($E4),y ; 8C25 91 E4 .. L8C27: lda #$47 ; 8C27 A9 47 .G rts ; 8C29 60 ` ; ---------------------------------------------------------------------------- L8C2A: .byte $20 ; 8C2A 20 L8C2B: .byte $3B ; 8C2B 3B ; sty $894C ; 8C2C 8C 4C 89 .L. .byte $8C ; 8C2F 8C . L8C30: jsr L8C3E ; 8C30 20 3E 8C >. jmp L8C89 ; 8C33 4C 89 8C L.. ; ---------------------------------------------------------------------------- L8C36: lda LFS2ndAddr ; 8C36 A5 C4 .. and #$0F ; 8C38 29 0F ). L8C3A: .byte $2C ; 8C3A 2C , L8C3B: lda #$11 ; 8C3B A9 11 .. .byte $2C ; 8C3D 2C , L8C3E: lda #$10 ; 8C3E A9 10 .. L8C40: cmp $E6 ; 8C40 C5 E6 .. beq L8C66 ; 8C42 F0 22 ." pha ; 8C44 48 H lda $E6 ; 8C45 A5 E6 .. jsr L8C4D ; 8C47 20 4D 8C M. L8C4A: pla ; 8C4A 68 h sta $E6 ; 8C4B 85 E6 .. L8C4D: inc a ; 8C4D 1A . asl a ; 8C4E 0A . asl a ; 8C4F 0A . dec a ; 8C50 3A : tax ; 8C51 AA . ldy #$03 ; 8C52 A0 03 .. L8C54: lda $E7,y ; 8C54 B9 E7 00 ... pha ; 8C57 48 H lda $024D,x ; 8C58 BD 4D 02 .M. sta $E7,y ; 8C5B 99 E7 00 ... pla ; 8C5E 68 h sta $024D,x ; 8C5F 9D 4D 02 .M. dex ; 8C62 CA . dey ; 8C63 88 . bpl L8C54 ; 8C64 10 EE .. L8C66: lda #$46 ; 8C66 A9 46 .F L8C68: clc ; 8C68 18 . ldx $E7 ; 8C69 A6 E7 .. beq L8C6E ; 8C6B F0 01 .. sec ; 8C6D 38 8 L8C6E: rts ; 8C6E 60 ` ; ---------------------------------------------------------------------------- L8C6F: lda #$0E ; 8C6F A9 0E .. jsr L8C40 ; 8C71 20 40 8C @. ldx #$47 ; 8C74 A2 47 .G L8C76: .byte $9E ; 8C76 9E . L8C77: eor $CA02 ; 8C77 4D 02 CA M.. L8C7A: bpl L8C76 ; 8C7A 10 FA .. stz $02D5 ; 8C7C 9C D5 02 ... inx ; 8C7F E8 . txa ; 8C80 8A . tay ; 8C81 A8 . sec ; 8C82 38 8 jmp L9964 ; 8C83 4C 64 99 Ld. ; ---------------------------------------------------------------------------- L8C86: jsr L8C36 ; 8C86 20 36 8C 6. L8C89: ldx #$03 ; 8C89 A2 03 .. L8C8B: stz $E7,x ; 8C8B 74 E7 t. dex ; 8C8D CA . bpl L8C8B ; 8C8E 10 FB .. sec ; 8C90 38 8 rts ; 8C91 60 ` ; ---------------------------------------------------------------------------- L8C92: lda #$00 ; 8C92 A9 00 .. jsr L8C9F ; 8C94 20 9F 8C .. bcc L8C9E ; 8C97 90 05 .. jsr L8C89 ; 8C99 20 89 8C .. bra L8C92 ; 8C9C 80 F4 .. L8C9E: rts ; 8C9E 60 ` ; ---------------------------------------------------------------------------- L8C9F: tay ; 8C9F A8 . ldx #$0F ; 8CA0 A2 0F .. L8CA2: phy ; 8CA2 5A Z phx ; 8CA3 DA . txa ; 8CA4 8A . jsr L8C40 ; 8CA5 20 40 8C @. plx ; 8CA8 FA . ply ; 8CA9 7A z lda $E7 ; 8CAA A5 E7 .. beq L8CB6 ; 8CAC F0 08 .. bit #$80 ; 8CAE 89 80 .. bne L8CB6 ; 8CB0 D0 04 .. cpy $E8 ; 8CB2 C4 E8 .. beq L8CBA ; 8CB4 F0 04 .. L8CB6: dex ; 8CB6 CA . bpl L8CA2 ; 8CB7 10 E9 .. clc ; 8CB9 18 . L8CBA: rts ; 8CBA 60 ` ; ---------------------------------------------------------------------------- L8CBB: stz $E9 ; 8CBB 64 E9 d. stz $EA ; 8CBD 64 EA d. stz $E8 ; 8CBF 64 E8 d. bra L8CCE ; 8CC1 80 0B .. L8CC3: jsr L8CE6 ; 8CC3 20 E6 8C .. bcc L8CD1 ; 8CC6 90 09 .. clc ; 8CC8 18 . bit $039D ; 8CC9 2C 9D 03 ,.. bmi L8CD1 ; 8CCC 30 03 0. L8CCE: jsr L8CE6 ; 8CCE 20 E6 8C .. L8CD1: ldx $EA ; 8CD1 A6 EA .. ldy $03A7 ; 8CD3 AC A7 03 ... stx $03A7 ; 8CD6 8E A7 03 ... sty $EA ; 8CD9 84 EA .. ldx $E9 ; 8CDB A6 E9 .. ldy $03A6 ; 8CDD AC A6 03 ... stx $03A6 ; 8CE0 8E A6 03 ... sty $E9 ; 8CE3 84 E9 .. rts ; 8CE5 60 ` ; ---------------------------------------------------------------------------- L8CE6: ldx $EA ; 8CE6 A6 EA .. ldy $E9 ; 8CE8 A4 E9 .. stx $03A7 ; 8CEA 8E A7 03 ... .byte $8C ; 8CED 8C . L8CEE: ldx $03 ; 8CEE A6 03 .. stz $02D8 ; 8CF0 9C D8 02 ... ldx #$FF ; 8CF3 A2 FF .. L8CF5: inx ; 8CF5 E8 . cpx #$19 ; 8CF6 E0 19 .. beq L8D13 ; 8CF8 F0 19 .. phx ; 8CFA DA . jsr L8B66 ; 8CFB 20 66 8B f. plx ; 8CFE FA . bcc L8D15 ; 8CFF 90 14 .. sta $0218,x ; 8D01 9D 18 02 ... cpx #$05 ; 8D04 E0 05 .. bit $039D ; 8D06 2C 9D 03 ,.. bmi L8D12 ; 8D09 30 07 0. bcc L8CF5 ; 8D0B 90 E8 .. cmp #$00 ; 8D0D C9 00 .. bne L8CF5 ; 8D0F D0 E4 .. sec ; 8D11 38 8 L8D12: rts ; 8D12 60 ` ; ---------------------------------------------------------------------------- L8D13: lda #$43 ; 8D13 A9 43 .C L8D15: clc ; 8D15 18 . rts ; 8D16 60 ` ; ---------------------------------------------------------------------------- L8D17: jsr L8C92 ; 8D17 20 92 8C .. jsr L8C3E ; 8D1A 20 3E 8C >. jsr L8CE6 ; 8D1D 20 E6 8C .. bcc L8D3C ; 8D20 90 1A .. L8D22: bit $039D ; 8D22 2C 9D 03 ,.. bmi L8D3C ; 8D25 30 15 0. L8D27: jsr L8B66 ; 8D27 20 66 8B f. bcc L8D5A ; 8D2A 90 2E .. jsr L8CD1 ; 8D2C 20 D1 8C .. jsr L8C0F ; 8D2F 20 0F 8C .. bcc L8D5A ; 8D32 90 26 .& jsr L8CD1 ; 8D34 20 D1 8C .. bit $039D ; 8D37 2C 9D 03 ,.. bpl L8D27 ; 8D3A 10 EB .. L8D3C: jsr L8CD1 ; 8D3C 20 D1 8C .. jsr L8AD5 ; 8D3F 20 D5 8A .. lda #$47 ; 8D42 A9 47 .G bcc L8D5A ; 8D44 90 14 .. lda $EA ; 8D46 A5 EA .. beq L8D50 ; 8D48 F0 06 .. ldy #$02 ; 8D4A A0 02 .. sta ($E4),y ; 8D4C 91 E4 .. inc $E9 ; 8D4E E6 E9 .. L8D50: jsr L89F9 ; 8D50 20 F9 89 .. jsr L8C30 ; 8D53 20 30 8C 0. jsr L8E39 ; 8D56 20 39 8E 9. sec ; 8D59 38 8 L8D5A: rts ; 8D5A 60 ` ; ---------------------------------------------------------------------------- L8D5B: jsr L8E10 ; 8D5B 20 10 8E .. lda #$30 ; 8D5E A9 30 .0 trb $0218 ; 8D60 1C 18 02 ... L8D63: jsr L8E91 ; 8D63 20 91 8E .. bcc L8D9E ; 8D66 90 36 .6 jsr L8C92 ; 8D68 20 92 8C .. jsr L8C30 ; 8D6B 20 30 8C 0. lda #$10 ; 8D6E A9 10 .. sta $E7 ; 8D70 85 E7 .. L8D72: jsr L8B66 ; 8D72 20 66 8B f. bcs L8D7A ; 8D75 B0 03 .. lda #$47 ; 8D77 A9 47 .G rts ; 8D79 60 ` ; ---------------------------------------------------------------------------- L8D7A: lda $039D ; 8D7A AD 9D 03 ... bpl L8D72 ; 8D7D 10 F3 .. lda #$20 ; 8D7F A9 20 . tsb $E7 ; 8D81 04 E7 .. ldx #$FF ; 8D83 A2 FF .. L8D85: inx ; 8D85 E8 . phx ; 8D86 DA . lda $0218,x ; 8D87 BD 18 02 ... jsr L8BD4 ; 8D8A 20 D4 8B .. plx ; 8D8D FA . cpx #$05 ; 8D8E E0 05 .. bcc L8D85 ; 8D90 90 F3 .. lda $0218,x ; 8D92 BD 18 02 ... bne L8D85 ; 8D95 D0 EE .. jsr L8C30 ; 8D97 20 30 8C 0. jsr L8E39 ; 8D9A 20 39 8E 9. sec ; 8D9D 38 8 L8D9E: rts ; 8D9E 60 ` ; ---------------------------------------------------------------------------- L8D9F: jsr L8C30 ; 8D9F 20 30 8C 0. jsr L8CBB ; 8DA2 20 BB 8C .. bra L8DAA ; 8DA5 80 03 .. L8DA7: jsr L8CC3 ; 8DA7 20 C3 8C .. L8DAA: bcc L8DBA ; 8DAA 90 0E .. jsr L8FC3 ; 8DAC 20 C3 8F .. bcc L8DB5 ; 8DAF 90 04 .. lda $0218 ; 8DB1 AD 18 02 ... rts ; 8DB4 60 ` ; ---------------------------------------------------------------------------- L8DB5: bit $039D ; 8DB5 2C 9D 03 ,.. bpl L8DA7 ; 8DB8 10 ED .. L8DBA: clc ; 8DBA 18 . lda #$3E ; 8DBB A9 3E .> rts ; 8DBD 60 ` ; ---------------------------------------------------------------------------- L8DBE: pha ; 8DBE 48 H jsr L8C30 ; 8DBF 20 30 8C 0. jsr L8CBB ; 8DC2 20 BB 8C .. bra L8DCA ; 8DC5 80 03 .. L8DC7: jsr L8CC3 ; 8DC7 20 C3 8C .. L8DCA: bcc L8DDC ; 8DCA 90 10 .. lda $0218 ; 8DCC AD 18 02 ... bit #$80 ; 8DCF 89 80 .. bne L8DC7 ; 8DD1 D0 F4 .. tsx ; 8DD3 BA . lda $0219 ; 8DD4 AD 19 02 ... cmp stack+1,x ; 8DD7 DD 01 01 ... bne L8DC7 ; 8DDA D0 EB .. L8DDC: pla ; 8DDC 68 h lda #$3E ; 8DDD A9 3E .> rts ; 8DDF 60 ` ; ---------------------------------------------------------------------------- L8DE0: lda $0219 ; 8DE0 AD 19 02 ... .byte $2C ; 8DE3 2C , L8DE4: lda #$00 ; 8DE4 A9 00 .. ldx #$00 ; 8DE6 A2 00 .. phx ; 8DE8 DA . phx ; 8DE9 DA . pha ; 8DEA 48 H jsr L8A81 ; 8DEB 20 81 8A .. beq L8E0A ; 8DEE F0 1A .. L8DF0: tsx ; 8DF0 BA . lda $020E ; 8DF1 AD 0E 02 ... cmp stack+1,x ; 8DF4 DD 01 01 ... bne L8E05 ; 8DF7 D0 0C .. inc stack+2,x ; 8DF9 FE 02 01 ... ldy #$02 ; 8DFC A0 02 .. lda ($E4),y ; 8DFE B1 E4 .. beq L8E05 ; 8E00 F0 03 .. sta stack+3,x ; 8E02 9D 03 01 ... L8E05: jsr L8A61 ; 8E05 20 61 8A a. bcs L8DF0 ; 8E08 B0 E6 .. L8E0A: pla ; 8E0A 68 h pla ; 8E0B 68 h ply ; 8E0C 7A z cmp #$00 ; 8E0D C9 00 .. rts ; 8E0F 60 ` ; ---------------------------------------------------------------------------- L8E10: lda $0219 ; 8E10 AD 19 02 ... jsr L8E5E ; 8E13 20 5E 8E ^. sta $021A ; 8E16 8D 1A 02 ... stx $021B ; 8E19 8E 1B 02 ... sty $021C ; 8E1C 8C 1C 02 ... rts ; 8E1F 60 ` ; ---------------------------------------------------------------------------- L8E20: lda $0219 ; 8E20 AD 19 02 ... .byte $20 ; 8E23 20 .byte $5E ; 8E24 5E ^ L8E25: stx $1ACD ; 8E25 8E CD 1A ... .byte $02 ; 8E28 02 . bne L8E35 ; 8E29 D0 0A .. cpx $021B ; 8E2B EC 1B 02 ... bne L8E35 ; 8E2E D0 05 .. cpy $021C ; 8E30 CC 1C 02 ... beq L8E36 ; 8E33 F0 01 .. L8E35: clc ; 8E35 18 . L8E36: lda #$1B ; 8E36 A9 1B .. rts ; 8E38 60 ` ; ---------------------------------------------------------------------------- L8E39: jsr L8E5C ; 8E39 20 5C 8E \. sta $0213 ; 8E3C 8D 13 02 ... stx $0214 ; 8E3F 8E 14 02 ... sty $0215 ; 8E42 8C 15 02 ... rts ; 8E45 60 ` ; ---------------------------------------------------------------------------- L8E46: jsr L8E5C ; 8E46 20 5C 8E \. cmp $0213 ; 8E49 CD 13 02 ... bne L8E58 ; 8E4C D0 0A .. cpx $0214 ; 8E4E EC 14 02 ... bne L8E58 ; 8E51 D0 05 .. cpy $0215 ; 8E53 CC 15 02 ... beq L8E59 ; 8E56 F0 01 .. L8E58: clc ; 8E58 18 . L8E59: lda #$1B ; 8E59 A9 1B .. rts ; 8E5B 60 ` ; ---------------------------------------------------------------------------- L8E5C: lda #$00 ; 8E5C A9 00 .. L8E5E: ldx #$00 ; 8E5E A2 00 .. phx ; 8E60 DA . phx ; 8E61 DA . pha ; 8E62 48 H jsr L8A81 ; 8E63 20 81 8A .. beq L8E8D ; 8E66 F0 25 .% lda #$00 ; 8E68 A9 00 .. L8E6A: tsx ; 8E6A BA . ldy stack+1,x ; 8E6B BC 01 01 ... cpy $020E ; 8E6E CC 0E 02 ... bne L8E86 ; 8E71 D0 13 .. ldy #$00 ; 8E73 A0 00 .. clc ; 8E75 18 . L8E76: adc ($E4),y ; 8E76 71 E4 q. bcc L8E83 ; 8E78 90 09 .. clc ; 8E7A 18 . inc stack+2,x ; 8E7B FE 02 01 ... bne L8E83 ; 8E7E D0 03 .. inc stack+3,x ; 8E80 FE 03 01 ... L8E83: iny ; 8E83 C8 . bne L8E76 ; 8E84 D0 F0 .. L8E86: pha ; 8E86 48 H jsr L8A61 ; 8E87 20 61 8A a. pla ; 8E8A 68 h bcs L8E6A ; 8E8B B0 DD .. L8E8D: plx ; 8E8D FA . plx ; 8E8E FA . ply ; 8E8F 7A z rts ; 8E90 60 ` ; ---------------------------------------------------------------------------- L8E91: jsr L8DE4 ; 8E91 20 E4 8D .. beq L8EA7 ; 8E94 F0 11 .. tya ; 8E96 98 . ldx #$FF ; 8E97 A2 FF .. L8E99: inc a ; 8E99 1A . beq L8EA7 ; 8E9A F0 0B .. inx ; 8E9C E8 . cpx #$05 ; 8E9D E0 05 .. bcc L8E99 ; 8E9F 90 F8 .. lda $021D,x ; 8EA1 BD 1D 02 ... bne L8E99 ; 8EA4 D0 F3 .. rts ; 8EA6 60 ` ; ---------------------------------------------------------------------------- L8EA7: jsr L8A39 ; 8EA7 20 39 8A 9. bcc L8EAE ; 8EAA 90 02 .. lda #$01 ; 8EAC A9 01 .. L8EAE: rts ; 8EAE 60 ` ; ---------------------------------------------------------------------------- L8EAF: lda FNptr_lo ; 8EAF A5 AE .. ldx FNptr_hi ; 8EB1 A6 AF .. ldy FNlength ; 8EB3 AC 87 03 ... sta $E2 ; 8EB6 85 E2 .. stx $E3 ; 8EB8 86 E3 .. sty $039F ; 8EBA 8C 9F 03 ... L8EBD: stz $03A5 ; 8EBD 9C A5 03 ... stz $03A3 ; 8EC0 9C A3 03 ... stz $03A4 ; 8EC3 9C A4 03 ... stz $03A0 ; 8EC6 9C A0 03 ... lda #$E2 ; 8EC9 A9 E2 .. sta $034E ; 8ECB 8D 4E 03 .N. lda $039F ; 8ECE AD 9F 03 ... bne L8ED7 ; 8ED1 D0 04 .. L8ED3: lda #$21 ; 8ED3 A9 21 .! clc ; 8ED5 18 . rts ; 8ED6 60 ` ; ---------------------------------------------------------------------------- L8ED7: ldy #$00 ; 8ED7 A0 00 .. jsr L8FAD ; 8ED9 20 AD 8F .. dey ; 8EDC 88 . bcc L8ED3 ; 8EDD 90 F4 .. cmp #$24 ; 8EDF C9 24 .$ beq L8EE7 ; 8EE1 F0 04 .. cmp #$40 ; 8EE3 C9 40 .@ bne L8EEB ; 8EE5 D0 04 .. L8EE7: iny ; 8EE7 C8 . sta $03A0 ; 8EE8 8D A0 03 ... L8EEB: sty $03A1 ; 8EEB 8C A1 03 ... L8EEE: sty $03A2 ; 8EEE 8C A2 03 ... cpy $039F ; 8EF1 CC 9F 03 ... bne L8EF9 ; 8EF4 D0 03 .. jmp L8F86 ; 8EF6 4C 86 8F L.. ; ---------------------------------------------------------------------------- L8EF9: jsr L8FAD ; 8EF9 20 AD 8F .. bcc L8ED3 ; 8EFC 90 D5 .. tax ; 8EFE AA . cpx #$20 ; 8EFF E0 20 . beq L8EEE ; 8F01 F0 EB .. cpx #$30 ; 8F03 E0 30 .0 beq L8EEE ; 8F05 F0 E7 .. cpx #$3A ; 8F07 E0 3A .: bne L8F14 ; 8F09 D0 09 .. lda #$03 ; 8F0B A9 03 .. tsb $03A5 ; 8F0D 0C A5 03 ... bne L8ED3 ; 8F10 D0 C1 .. bra L8EEB ; 8F12 80 D7 .. L8F14: lda #$02 ; 8F14 A9 02 .. tsb $03A5 ; 8F16 0C A5 03 ... cpx #$3D ; 8F19 E0 3D .= beq L8F81 ; 8F1B F0 64 .d cpx #$3F ; 8F1D E0 3F .? beq L8F25 ; 8F1F F0 04 .. cpx #$2A ; 8F21 E0 2A .* bne L8F2A ; 8F23 D0 05 .. L8F25: lda #$40 ; 8F25 A9 40 .@ tsb $03A5 ; 8F27 0C A5 03 ... L8F2A: cpx #$2C ; 8F2A E0 2C ., bne L8EEE ; 8F2C D0 C0 .. dey ; 8F2E 88 . L8F2F: cpy $039F ; 8F2F CC 9F 03 ... beq L8F86 ; 8F32 F0 52 .R jsr L8FAD ; 8F34 20 AD 8F .. bcc L8F5F ; 8F37 90 26 .& cmp #$3D ; 8F39 C9 3D .= beq L8F81 ; 8F3B F0 44 .D cmp #$20 ; 8F3D C9 20 . beq L8F2F ; 8F3F F0 EE .. cmp #$2C ; 8F41 C9 2C ., bne L8F5F ; 8F43 D0 1A .. L8F45: cpy $039F ; 8F45 CC 9F 03 ... bcs L8F5F ; 8F48 B0 15 .. jsr L8FAD ; 8F4A 20 AD 8F .. bcc L8F5F ; 8F4D 90 10 .. cmp #$20 ; 8F4F C9 20 . beq L8F45 ; 8F51 F0 F2 .. and #$DF ; 8F53 29 DF ). ldx #$05 ; 8F55 A2 05 .. L8F57: cmp L8F7B,x ; 8F57 DD 7B 8F .{. beq L8F63 ; 8F5A F0 07 .. dex ; 8F5C CA . bpl L8F57 ; 8F5D 10 F8 .. L8F5F: lda #$21 ; 8F5F A9 21 .! clc ; 8F61 18 . rts ; 8F62 60 ` ; ---------------------------------------------------------------------------- L8F63: cpx #$02 ; 8F63 E0 02 .. bcs L8F71 ; 8F65 B0 0A .. ldx $03A4 ; 8F67 AE A4 03 ... bne L8F5F ; 8F6A D0 F3 .. sta $03A4 ; 8F6C 8D A4 03 ... bra L8F2F ; 8F6F 80 BE .. L8F71: ldx $03A3 ; 8F71 AE A3 03 ... bne L8F5F ; 8F74 D0 E9 .. sta $03A3 ; 8F76 8D A3 03 ... bra L8F2F ; 8F79 80 B4 .. L8F7B: .byte $53 ; 8F7B 53 S bvc L8FD0 ; 8F7C 50 52 PR rmb5 $41 ; 8F7E 57 41 WA .byte $4D ; 8F80 4D M L8F81: lda #$20 ; 8F81 A9 20 . tsb $03A5 ; 8F83 0C A5 03 ... L8F86: lda $03A1 ; 8F86 AD A1 03 ... cmp $03A2 ; 8F89 CD A2 03 ... bcc L8F96 ; 8F8C 90 08 .. stz $03A2 ; 8F8E 9C A2 03 ... stz $03A1 ; 8F91 9C A1 03 ... bcs L8F9B ; 8F94 B0 05 .. L8F96: lda #$80 ; 8F96 A9 80 .. tsb $03A5 ; 8F98 0C A5 03 ... L8F9B: cld ; 8F9B D8 . clc ; 8F9C 18 . lda #$10 ; 8F9D A9 10 .. adc $03A1 ; 8F9F 6D A1 03 m.. cmp $03A2 ; 8FA2 CD A2 03 ... lda #$21 ; 8FA5 A9 21 .! bcc L8FAC ; 8FA7 90 03 .. .byte $AD ; 8FA9 AD . L8FAA: lda $03 ; 8FAA A5 03 .. L8FAC: rts ; 8FAC 60 ` ; ---------------------------------------------------------------------------- L8FAD: jsr FROM_C67B ; 8FAD 20 4A 03 J. iny ; 8FB0 C8 . L8FB1: ldx #$03 ; 8FB1 A2 03 .. L8FB3: .byte $DD ; 8FB3 DD . L8FB4: bbs3 $8F,$8F ; 8FB4 BF 8F D0 ... .byte $02 ; 8FB7 02 . clc ; 8FB8 18 . rts ; 8FB9 60 ` ; ---------------------------------------------------------------------------- L8FBA: dex ; 8FBA CA . bpl L8FB3 ; 8FBB 10 F6 .. sec ; 8FBD 38 8 rts ; 8FBE 60 ` ; ---------------------------------------------------------------------------- L8FBF: brk ; 8FBF 00 . ora L8D22 ; 8FC0 0D 22 8D .". L8FC3: ldx #$00 ; 8FC3 A2 00 .. ldy $03A1 ; 8FC5 AC A1 03 ... lda #$E2 ; 8FC8 A9 E2 .. sta $034E ; 8FCA 8D 4E 03 .N. L8FCD: jsr FROM_C67B ; 8FCD 20 4A 03 J. L8FD0: cmp #$2A ; 8FD0 C9 2A .* beq L8FE9 ; 8FD2 F0 15 .. cmp #$3F ; 8FD4 C9 3F .? beq L8FDD ; 8FD6 F0 05 .. cmp $021D,x ; 8FD8 DD 1D 02 ... bne L8FF1 ; 8FDB D0 14 .. L8FDD: iny ; 8FDD C8 . cpy $03A2 ; 8FDE CC A2 03 ... bne L8FEB ; 8FE1 D0 08 .. inx ; 8FE3 E8 . lda $021D,x ; 8FE4 BD 1D 02 ... bne L8FF1 ; 8FE7 D0 08 .. L8FE9: sec ; 8FE9 38 8 rts ; 8FEA 60 ` ; ---------------------------------------------------------------------------- L8FEB: inx ; 8FEB E8 . .byte $BD ; 8FEC BD . L8FED: ora $D002,x ; 8FED 1D 02 D0 ... .byte $DC ; 8FF0 DC . L8FF1: clc ; 8FF1 18 . rts ; 8FF2 60 ` ; ---------------------------------------------------------------------------- L8FF3: stz $02D8 ; 8FF3 9C D8 02 ... lda #$E2 ; 8FF6 A9 E2 .. sta $034E ; 8FF8 8D 4E 03 .N. ldx #$00 ; 8FFB A2 00 .. ldy $03A1 ; 8FFD AC A1 03 ... L9000: jsr FROM_C67B ; 9000 20 4A 03 J. sta $021D,x ; 9003 9D 1D 02 ... inx ; 9006 E8 . iny ; 9007 C8 . cpy $03A2 ; 9008 CC A2 03 ... bne L9000 ; 900B D0 F3 .. stz $021D,x ; 900D 9E 1D 02 ... rts ; 9010 60 ` ; ---------------------------------------------------------------------------- L9011: ldx #$53 ; 9011 A2 53 .S lda $0218 ; 9013 AD 18 02 ... bit #$40 ; 9016 89 40 .@ beq L901C ; 9018 F0 02 .. ldx #$50 ; 901A A2 50 .P L901C: lda #$40 ; 901C A9 40 .@ cpx $03A4 ; 901E EC A4 03 ... beq L9029 ; 9021 F0 06 .. ldy $03A4 ; 9023 AC A4 03 ... L9026: beq L9029 ; 9026 F0 01 .. clc ; 9028 18 . L9029: stx $03A4 ; 9029 8E A4 03 ... rts ; 902C 60 ` ; ---------------------------------------------------------------------------- L902D: ldx #$04 ; 902D A2 04 .. lda $0218 ; 902F AD 18 02 ... bit #$80 ; 9032 89 80 .. bne L9038 ; 9034 D0 02 .. ldx #$01 ; 9036 A2 01 .. L9038: lda $0218,x ; 9038 BD 18 02 ... sta $E7,x ; 903B 95 E7 .. dex ; 903D CA . bpl L9038 ; 903E 10 F8 .. rts ; 9040 60 ` ; ---------------------------------------------------------------------------- L9041: jsr L8C92 ; 9041 20 92 8C .. stz $02D6 ; 9044 9C D6 02 ... lda #$2A ; 9047 A9 2A .* sta $0238 ; 9049 8D 38 02 .8. stz $0239 ; 904C 9C 39 02 .9. stz $024C ; 904F 9C 4C 02 .L. lda $03A5 ; 9052 AD A5 03 ... bit #$80 ; 9055 89 80 .. beq L907D ; 9057 F0 24 .$ ldx #$00 ; 9059 A2 00 .. ldy $03A1 ; 905B AC A1 03 ... L905E: lda #$E2 ; 905E A9 E2 .. sta $034E ; 9060 8D 4E 03 .N. jsr FROM_C67B ; 9063 20 4A 03 J. sta $0238,x ; 9066 9D 38 02 .8. iny ; 9069 C8 . inx ; 906A E8 . cpy $03A2 ; 906B CC A2 03 ... bne L905E ; 906E D0 EE .. cpx #$14 ; 9070 E0 14 .. bcs L9077 ; 9072 B0 03 .. stz $0238,x ; 9074 9E 38 02 .8. L9077: .byte $AD ; 9077 AD . .byte $A4 ; 9078 A4 . L9079: .byte $03 ; 9079 03 . sta $024C ; 907A 8D 4C 02 .L. L907D: sec ; 907D 38 8 rts ; 907E 60 ` ; ---------------------------------------------------------------------------- ldx $B2 ; 907F A6 B2 .. ldy $B3 ; 9081 A4 B3 .. sec ; 9083 38 8 rts ; 9084 60 ` ; ---------------------------------------------------------------------------- L9085: jsr L908B ; 9085 20 8B 90 .. jmp L993F ; 9088 4C 3F 99 L?. ; ---------------------------------------------------------------------------- L908B: ldx $B7 ; 908B A6 B7 .. lda $B6 ; 908D A5 B6 .. sta $B8 ; 908F 85 B8 .. stx $B9 ; 9091 86 B9 .. cpx #$08 ; 9093 E0 08 .. bcc L90DD ; 9095 90 46 .F cpx #$F8 ; 9097 E0 F8 .. bcs L90DD ; 9099 B0 42 .B lda $B3 ; 909B A5 B3 .. cmp #$F8 ; 909D C9 F8 .. bcc L90A7 ; 909F 90 06 .. bne L90DD ; 90A1 D0 3A .: lda $B2 ; 90A3 A5 B2 .. bne L90DD ; 90A5 D0 36 .6 L90A7: jsr L8EAF ; 90A7 20 AF 8E .. bcc L90DA ; 90AA 90 2E .. bit #$80 ; 90AC 89 80 .. beq L90DA ; 90AE F0 2A .* bit #$60 ; 90B0 89 60 .` bne L90DA ; 90B2 D0 26 .& lda $03A3 ; 90B4 AD A3 03 ... bne L90DA ; 90B7 D0 21 .! lda $03A0 ; 90B9 AD A0 03 ... beq L90C2 ; 90BC F0 04 .. cmp #$40 ; 90BE C9 40 .@ bne L90DA ; 90C0 D0 18 .. L90C2: .byte $20 ; 90C2 20 L90C3: bbs1 $8D,$8D ; 90C3 9F 8D 90 ... and StopKeyFlag ; 90C6 25 AD %. ldy #$03 ; 90C8 A0 03 .. .byte $D0 ; 90CA D0 . L90CB: tsb $A9 ; 90CB 04 A9 .. bbr3 $80,L90DF ; 90CD 3F 80 0F ?.. L90D0: .byte $AD ; 90D0 AD . clc ; 90D1 18 . L90D2: .byte $02 ; 90D2 02 . and #$80 ; 90D3 29 80 ). beq L90E1 ; 90D5 F0 0A .. lda #$1A ; 90D7 A9 1A .. .byte $2C ; 90D9 2C , L90DA: lda #$21 ; 90DA A9 21 .! .byte $2C ; 90DC 2C , L90DD: lda #$19 ; 90DD A9 19 .. L90DF: clc ; 90DF 18 . rts ; 90E0 60 ` ; ---------------------------------------------------------------------------- L90E1: jsr L9011 ; 90E1 20 11 90 .. bcc L90DF ; 90E4 90 F9 .. jsr L8DE0 ; 90E6 20 E0 8D .. inc a ; 90E9 1A . bra L910D ; 90EA 80 21 .! L90EC: stz $03A0 ; 90EC 9C A0 03 ... jsr L8B13 ; 90EF 20 13 8B .. L90F2: bcc L90DF ; 90F2 90 EB .. jsr L8FF3 ; 90F4 20 F3 8F .. stz $0218 ; 90F7 9C 18 02 ... lda $03A4 ; 90FA AD A4 03 ... cmp #$53 ; 90FD C9 53 .S beq L9106 ; 90FF F0 05 .. lda #$40 ; 9101 A9 40 .@ sta $0218 ; 9103 8D 18 02 ... L9106: .byte $20 ; 9106 20 .byte $91 ; 9107 91 . L9108: stx $D490 ; 9108 8E 90 D4 ... eor #$01 ; 910B 49 01 I. L910D: pha ; 910D 48 H .byte $20 ; 910E 20 .byte $A4 ; 910F A4 . L9110: sta ($8C),y ; 9110 91 8C .. inc a ; 9112 1A . .byte $02 ; 9113 02 . pla ; 9114 68 h clc ; 9115 18 . adc $020A ; 9116 6D 0A 02 m.. ldx $020B ; 9119 AE 0B 02 ... bcc L911F ; 911C 90 01 .. inx ; 911E E8 . L911F: clc ; 911F 18 . sbc $021A ; 9120 ED 1A 02 ... bcs L9126 ; 9123 B0 01 .. dex ; 9125 CA . L9126: tay ; 9126 A8 . bne L912A ; 9127 D0 01 .. dex ; 9129 CA . L912A: dec a ; 912A 3A : cpx $020D ; 912B EC 0D 02 ... bcc L9137 ; 912E 90 07 .. bne L913A ; 9130 D0 08 .. cmp $020C ; 9132 CD 0C 02 ... bcs L913A ; 9135 B0 03 .. L9137: jmp L90DD ; 9137 4C DD 90 L.. ; ---------------------------------------------------------------------------- L913A: cpx #$00 ; 913A E0 00 .. bne L9145 ; 913C D0 07 .. cmp $B7 ; 913E C5 B7 .. bcs L9145 ; 9140 B0 03 .. jsr L91D5 ; 9142 20 D5 91 .. L9145: lda $03A0 ; 9145 AD A0 03 ... beq L9150 ; 9148 F0 06 .. jsr L89E2 ; 914A 20 E2 89 .. jsr L8D17 ; 914D 20 17 8D .. L9150: jsr L91A4 ; 9150 20 A4 91 .. cpy #$00 ; 9153 C0 00 .. beq L91A1 ; 9155 F0 4A .J dey ; 9157 88 . .byte $8C ; 9158 8C . inc a ; 9159 1A . L915A: .byte $02 ; 915A 02 . sta $021B ; 915B 8D 1B 02 ... lda #$E0 ; 915E A9 E0 .. sta $034E ; 9160 8D 4E 03 .N. L9163: jsr L89AF ; 9163 20 AF 89 .. ldy #$FF ; 9166 A0 FF .. L9168: jsr FROM_C67B ; 9168 20 4A 03 J. sta ($E4),y ; 916B 91 E4 .. dey ; 916D 88 . bne L9168 ; 916E D0 F8 .. ldy #$02 ; 9170 A0 02 .. L9172: lda $0219,y ; 9172 B9 19 02 ... sta ($E4),y ; 9175 91 E4 .. dey ; 9177 88 . bpl L9172 ; 9178 10 F8 .. sec ; 917A 38 8 lda $E0 ; 917B A5 E0 .. sbc #$FD ; 917D E9 FD .. bcs L9183 ; 917F B0 02 .. dec $E1 ; 9181 C6 E1 .. L9183: sta $E0 ; 9183 85 E0 .. stz $021B ; 9185 9C 1B 02 ... ldy $021A ; 9188 AC 1A 02 ... dec $021A ; 918B CE 1A 02 ... tya ; 918E 98 . bne L9163 ; 918F D0 D2 .. bit $0218 ; 9191 2C 18 02 ,.. bvc L91A1 ; 9194 50 0B P. ldy #$04 ; 9196 A0 04 .. lda $B9 ; 9198 A5 B9 .. sta ($E4),y ; 919A 91 E4 .. dey ; 919C 88 . lda $B8 ; 919D A5 B8 .. sta ($E4),y ; 919F 91 E4 .. L91A1: jmp L8D5B ; 91A1 4C 5B 8D L[. ; ---------------------------------------------------------------------------- L91A4: ldx $B7 ; 91A4 A6 B7 .. lda $B6 ; 91A6 A5 B6 .. bit $0218 ; 91A8 2C 18 02 ,.. bvc L91B3 ; 91AB 50 06 P. sec ; 91AD 38 8 sbc #$02 ; 91AE E9 02 .. bcs L91B3 ; 91B0 B0 01 .. dex ; 91B2 CA . L91B3: ldy #$00 ; 91B3 A0 00 .. L91B5: cpx $B3 ; 91B5 E4 B3 .. bcc L91BD ; 91B7 90 04 .. cmp $B2 ; 91B9 C5 B2 .. bcs L91C9 ; 91BB B0 0C .. L91BD: adc #$FD ; 91BD 69 FD i. bcc L91C2 ; 91BF 90 01 .. inx ; 91C1 E8 . L91C2: iny ; 91C2 C8 . bne L91B5 ; 91C3 D0 F0 .. lda #$34 ; 91C5 A9 34 .4 clc ; 91C7 18 . rts ; 91C8 60 ` ; ---------------------------------------------------------------------------- L91C9: dex ; 91C9 CA . sta $E0 ; 91CA 85 E0 .. L91CC: stx $E1 ; 91CC 86 E1 .. clc ; 91CE 18 . lda $B2 ; 91CF A5 B2 .. sbc $E0 ; 91D1 E5 E0 .. sec ; 91D3 38 8 rts ; 91D4 60 ` ; ---------------------------------------------------------------------------- L91D5: pha ; 91D5 48 H sta $E1 ; 91D6 85 E1 .. stz $E0 ; 91D8 64 E0 d. lda #$B7 ; 91DA A9 B7 .. sta $034E ; 91DC 8D 4E 03 .N. lda #$E0 ; 91DF A9 E0 .. sta $0360 ; 91E1 8D 60 03 .`. L91E4: lda $B7 ; 91E4 A5 B7 .. cmp $B3 ; 91E6 C5 B3 .. bne L91F0 ; 91E8 D0 06 .. lda $B6 ; 91EA A5 B6 .. cmp $B2 ; 91EC C5 B2 .. beq L9206 ; 91EE F0 16 .. L91F0: ldy #$00 ; 91F0 A0 00 .. jsr FROM_C67B ; 91F2 20 4A 03 J. jsr FROM_C68D ; 91F5 20 5C 03 \. inc $E0 ; 91F8 E6 E0 .. bne L91FE ; 91FA D0 02 .. inc $E1 ; 91FC E6 E1 .. L91FE: inc $B6 ; 91FE E6 B6 .. bne L9204 ; 9200 D0 02 .. inc $B7 ; 9202 E6 B7 .. L9204: bra L91E4 ; 9204 80 DE .. L9206: lda $E0 ; 9206 A5 E0 .. sta $B2 ; 9208 85 B2 .. lda $E1 ; 920A A5 E1 .. sta $B3 ; 920C 85 B3 .. pla ; 920E 68 h sta $B7 ; 920F 85 B7 .. stz $B6 ; 9211 64 B6 d. rts ; 9213 60 ` ; ---------------------------------------------------------------------------- L9214: jsr L921A ; 9214 20 1A 92 .. jmp L993F ; 9217 4C 3F 99 L?. ; ---------------------------------------------------------------------------- L921A: jsr L8C36 ; 921A 20 36 8C 6. bcs L9221 ; 921D B0 02 .. sec ; 921F 38 8 rts ; 9220 60 ` ; ---------------------------------------------------------------------------- L9221: lda $E6 ; 9221 A5 E6 .. cmp #$0F ; 9223 C9 0F .. beq L9240 ; 9225 F0 19 .. lda $E7 ; 9227 A5 E7 .. bit #$20 ; 9229 89 20 . beq L9240 ; 922B F0 13 .. bit #$80 ; 922D 89 80 .. bne L9240 ; 922F D0 0F .. lda $E8 ; 9231 A5 E8 .. beq L9240 ; 9233 F0 0B .. .byte $20 ; 9235 20 L9236: ldx $908D,y ; 9236 BE 8D 90 ... asl $20 ; 9239 06 20 . rmb1 $8D ; 923B 17 8D .. jsr L8D5B ; 923D 20 5B 8D [. L9240: jmp L8C86 ; 9240 4C 86 8C L.. ; ---------------------------------------------------------------------------- L9243: .byte $20 ; 9243 20 L9244: eor #$92 ; 9244 49 92 I. jmp L993F ; 9246 4C 3F 99 L?. ; ---------------------------------------------------------------------------- L9249: .byte $20 ; 9249 20 L924A: rol $8C,x ; 924A 36 8C 6. lda $E6 ; 924C A5 E6 .. cmp #$0F ; 924E C9 0F .. L9250: bne L9255 ; 9250 D0 03 .. jmp L9737 ; 9252 4C 37 97 L7. ; ---------------------------------------------------------------------------- L9255: .byte $20 ; 9255 20 L9256: bit #$8C ; 9256 89 8C .. jsr L8EAF ; 9258 20 AF 8E .. .byte $90 ; 925B 90 . L925C: rol a ; 925C 2A * bit #$20 ; 925D 89 20 . bne L9282 ; 925F D0 21 .! .byte $AE ; 9261 AE . L9262: ldy #$03 ; 9262 A0 03 .. beq L928C ; 9264 F0 26 .& cpx #$24 ; 9266 E0 24 .$ L9268: bne L927B ; 9268 D0 11 .. ldx $03A3 ; 926A AE A3 03 ... .byte $D0 ; 926D D0 . L926E: clc ; 926E 18 . jsr L8C36 ; 926F 20 36 8C 6. .byte $20 ; 9272 20 .byte $41 ; 9273 41 A L9274: bcc $921F ; 9274 90 A9 .. bvc $91FD ; 9276 50 85 P. smb6 $38 ; 9278 E7 38 .8 L927A: rts ; 927A 60 ` ; ---------------------------------------------------------------------------- L927B: ldy $03A3 ; 927B AC A3 03 ... L927E: cpy #$57 ; 927E C0 57 .W beq L9289 ; 9280 F0 07 .. L9282: lda #$21 ; 9282 A9 21 .! .byte $2C ; 9284 2C , L9285: .byte $A9 ; 9285 A9 . L9286: .byte $21 ; 9286 21 ! L9287: clc ; 9287 18 . rts ; 9288 60 ` ; ---------------------------------------------------------------------------- L9289: stx $03A3 ; 9289 8E A3 03 ... L928C: bit #$80 ; 928C 89 80 .. beq L9282 ; 928E F0 F2 .. ldy #$52 ; 9290 A0 52 .R ldx $03A3 ; 9292 AE A3 03 ... bne L929A ; 9295 D0 03 .. sty $03A3 ; 9297 8C A3 03 ... L929A: bit #$40 ; 929A 89 40 .@ beq L92A3 ; 929C F0 05 .. cpx $03A3 ; 929E EC A3 03 ... bne L9285 ; 92A1 D0 E2 .. L92A3: jsr L8D9F ; 92A3 20 9F 8D .. bcc L9317 ; 92A6 90 6F .o jsr L9011 ; 92A8 20 11 90 .. bcc L92C7 ; 92AB 90 1A .. ldy $03A3 ; 92AD AC A3 03 ... lda #$3F ; 92B0 A9 3F .? cpy #$57 ; 92B2 C0 57 .W beq L92C7 ; 92B4 F0 11 .. lda $0218 ; 92B6 AD 18 02 ... bit #$80 ; 92B9 89 80 .. beq L92C9 ; 92BB F0 0C .. lda #$1A ; 92BD A9 1A .. cpy #$40 ; 92BF C0 40 .@ beq L92C7 ; 92C1 F0 04 .. cpy #$41 ; 92C3 C0 41 .A bne L9315 ; 92C5 D0 4E .N L92C7: clc ; 92C7 18 . rts ; 92C8 60 ` ; ---------------------------------------------------------------------------- L92C9: lda $0219 ; 92C9 AD 19 02 ... jsr L8C9F ; 92CC 20 9F 8C .. bcc L92E6 ; 92CF 90 15 .. lda $E7 ; 92D1 A5 E7 .. and #$20 ; 92D3 29 20 ) beq L92DB ; 92D5 F0 04 .. lda #$3C ; 92D7 A9 3C .< bra L92C7 ; 92D9 80 EC .. L92DB: .byte $AC ; 92DB AC . .byte $A3 ; 92DC A3 . L92DD: .byte $03 ; 92DD 03 . cpy #$52 ; 92DE C0 52 .R beq L92F8 ; 92E0 F0 16 .. L92E2: lda #$3C ; 92E2 A9 3C .< bra L92C7 ; 92E4 80 E1 .. L92E6: lda $0218 ; 92E6 AD 18 02 ... bit #$20 ; 92E9 89 20 . beq L92F8 ; 92EB F0 0B .. ldy $03A3 ; 92ED AC A3 03 ... cpy #$4D ; 92F0 C0 4D .M beq L92F8 ; 92F2 F0 04 .. cpy #$40 ; 92F4 C0 40 .@ bne L92E2 ; 92F6 D0 EA .. L92F8: ldy $03A3 ; 92F8 AC A3 03 ... cpy #$40 ; 92FB C0 40 .@ bne L930C ; 92FD D0 0D .. jsr L8D17 ; 92FF 20 17 8D .. jsr L89E2 ; 9302 20 E2 89 .. lda #$57 ; 9305 A9 57 .W sta $03A3 ; 9307 8D A3 03 ... bra L9317 ; 930A 80 0B .. L930C: cpy #$4D ; 930C C0 4D .M beq L9315 ; 930E F0 05 .. jsr L8E20 ; 9310 20 20 8E . bcc L92C7 ; 9313 90 B2 .. L9315: bra L9335 ; 9315 80 1E .. L9317: ldy $03A3 ; 9317 AC A3 03 ... cpy #$52 ; 931A C0 52 .R beq L9322 ; 931C F0 04 .. cpy #$4D ; 931E C0 4D .M bne L9326 ; 9320 D0 04 .. L9322: lda #$3E ; 9322 A9 3E .> clc ; 9324 18 . rts ; 9325 60 ` ; ---------------------------------------------------------------------------- L9326: lda #$57 ; 9326 A9 57 .W sta $03A3 ; 9328 8D A3 03 ... lda $03A4 ; 932B AD A4 03 ... bne L9335 ; 932E D0 05 .. lda #$53 ; 9330 A9 53 .S sta $03A4 ; 9332 8D A4 03 ... L9335: ldy $03A3 ; 9335 AC A3 03 ... cpy #$57 ; 9338 C0 57 .W bne L935A ; 933A D0 1E .. jsr L8B13 ; 933C 20 13 8B .. bcc L9358 ; 933F 90 17 .. jsr L8FF3 ; 9341 20 F3 8F .. stz $0218 ; 9344 9C 18 02 ... lda $03A4 ; 9347 AD A4 03 ... cmp #$50 ; 934A C9 50 .P bne L9353 ; 934C D0 05 .. lda #$40 ; 934E A9 40 .@ sta $0218 ; 9350 8D 18 02 ... L9353: jsr L8E91 ; 9353 20 91 8E .. bcs L935A ; 9356 B0 02 .. L9358: clc ; 9358 18 . rts ; 9359 60 ` ; ---------------------------------------------------------------------------- L935A: jsr L8C36 ; 935A 20 36 8C 6. jsr L902D ; 935D 20 2D 90 -. .byte $A9 ; 9360 A9 . L9361: bpl $9367 ; 9361 10 04 .. smb6 $AC ; 9363 E7 AC .. .byte $A3 ; 9365 A3 . .byte $03 ; 9366 03 . cpy #$4D ; 9367 C0 4D .M beq L9378 ; 9369 F0 0D .. cpy #$52 ; 936B C0 52 .R bne L937A ; 936D D0 0B .. lda $E6 ; 936F A5 E6 .. cmp #$0E ; 9371 C9 0E .. bne L9378 ; 9373 D0 03 .. dec $0405 ; 9375 CE 05 04 ... L9378: sec ; 9378 38 8 rts ; 9379 60 ` ; ---------------------------------------------------------------------------- L937A: cpy #$41 ; 937A C0 41 .A bne L938D ; 937C D0 0F .. jsr L8D17 ; 937E 20 17 8D .. L9381: jsr L8B40 ; 9381 20 40 8B @. lda #$47 ; 9384 A9 47 .G bcc L9358 ; 9386 90 D0 .. bit $039D ; 9388 2C 9D 03 ,.. bpl L9381 ; 938B 10 F4 .. L938D: jsr L8C36 ; 938D 20 36 8C 6. lda #$20 ; 9390 A9 20 . tsb $E7 ; 9392 04 E7 .. tsb $0218 ; 9394 0C 18 02 ... jmp L8D63 ; 9397 4C 63 8D Lc. ; ---------------------------------------------------------------------------- L939A: lda $02D6 ; 939A AD D6 02 ... L939D: bne L93A2 ; 939D D0 03 .. sta $02D7 ; 939F 8D D7 02 ... L93A2: ldx $02D7 ; 93A2 AE D7 02 ... beq L93C0 ; 93A5 F0 19 .. lda $02D8 ; 93A7 AD D8 02 ... beq L941F ; 93AA F0 73 .s lda $0217,x ; 93AC BD 17 02 ... inx ; 93AF E8 . tay ; 93B0 A8 . bne L93B8 ; 93B1 D0 05 .. cpx #$0A ; 93B3 E0 0A .. bcc L93B8 ; 93B5 90 01 .. tax ; 93B7 AA . L93B8: stx $02D7 ; 93B8 8E D7 02 ... stz $039D ; 93BB 9C 9D 03 ... sec ; 93BE 38 8 rts ; 93BF 60 ` ; ---------------------------------------------------------------------------- L93C0: ldx $02D6 ; 93C0 AE D6 02 ... jmp (L93C6,x) ; 93C3 7C C6 93 |.. L93C6: trb $94 ; 93C6 14 94 .. cpx $93 ; 93C8 E4 93 .. sbc #$93 ; 93CA E9 93 .. bne L9361 ; 93CC D0 93 .. dec $93,x ; 93CE D6 93 .. ldx #$08 ; 93D0 A2 08 .. lda #$00 ; 93D2 A9 00 .. bra L93DA ; 93D4 80 04 .. ldx #$00 ; 93D6 A2 00 .. lda #$FF ; 93D8 A9 FF .. L93DA: stx $02D6 ; 93DA 8E D6 02 ... sta $039D ; 93DD 8D 9D 03 ... lda #$00 ; 93E0 A9 00 .. sec ; 93E2 38 8 rts ; 93E3 60 ` ; ---------------------------------------------------------------------------- jsr L8CBB ; 93E4 20 BB 8C .. bra L93EC ; 93E7 80 03 .. L93E9: jsr L8CC3 ; 93E9 20 C3 8C .. L93EC: ldx #$04 ; 93EC A2 04 .. stx $02D6 ; 93EE 8E D6 02 ... bcc L9414 ; 93F1 90 21 .! lda #$38 ; 93F3 A9 38 .8 sta $E2 ; 93F5 85 E2 .. lda #$02 ; 93F7 A9 02 .. stz $03A1 ; 93F9 9C A1 03 ... L93FC: sta $E3 ; 93FC 85 E3 .. ldx #$00 ; 93FE A2 00 .. L9400: lda $0238,x ; 9400 BD 38 02 .8. L9403: beq L940A ; 9403 F0 05 .. inx ; 9405 E8 . cpx #$14 ; 9406 E0 14 .. bne L9400 ; 9408 D0 F6 .. L940A: stx $03A2 ; 940A 8E A2 03 ... jsr L8FC3 ; 940D 20 C3 8F .. bcc L93E9 ; 9410 90 D7 .. bra L941A ; 9412 80 06 .. L9414: inc $02D6 ; 9414 EE D6 02 ... inc $02D6 ; 9417 EE D6 02 ... L941A: lda #$01 ; 941A A9 01 .. sta $02D7 ; 941C 8D D7 02 ... L941F: jsr L8CCE ; 941F 20 CE 8C .. jsr L942B ; 9422 20 2B 94 +. dec $02D8 ; 9425 CE D8 02 ... jmp L939A ; 9428 4C 9A 93 L.. ; ---------------------------------------------------------------------------- ; Jumps (by a jump table) to the right routine to dump the "virtual 1541" ; directory listing tail/head or the content itself, IMHO. L942B: ldx $02D6 ; 942B AE D6 02 ... L942F := * + 1 jmp (L942F,x) ; 942E 7C 2F 94 |/. .addr L9457 ; 9431 57 94 W. .addr L94A8 ; 9433 A8 94 .. .addr L9488 ; 9435 88 94 .. ; ---------------------------------------------------------------------------- ; This (and other part later) fragment seems to be the usual directory ; listing produced by an 1541 and compatible drives. The text says "virtual ; 1541" thus it seems CLCD handles something (possible programs in ROM and/or ; RAM disk) as it would be a "real" 1541 drive for the user. L9437: .byte $01,$10,$01,$10,$00,$00,$12,$22 ; 9437 01 10 01 10 00 00 12 22 ......." .byte "VIRTUAL 1541 " ; 943F 56 49 52 54 55 41 4C 20 VIRTUAL ; 9447 31 35 34 31 20 1541 L944C: .byte " " ; 944C 20 20 20 .byte $22 ; 944F 22 " .byte " ID 00" ; 9450 20 49 44 20 30 30 ID 00 .byte $00 ; 9456 00 . ; ---------------------------------------------------------------------------- ; This dumps the directory listing head, with the "virtual 1541" text. L9457: ldx #$1F ; 9457 A2 1F .. L9459: lda L9437,x ; 9459 BD 37 94 .7. sta $0218,x ; 945C 9D 18 02 ... dex ; 945F CA . bpl L9459 ; 9460 10 F7 .. jsr L8DE4 ; 9462 20 E4 8D .. sta $021C ; 9465 8D 1C 02 ... rts ; 9468 60 ` ; ---------------------------------------------------------------------------- L9469: .byte $01,$10,$00,$00 ; 9469 01 10 00 00 .... .byte "BLOCKS USED. " ; 946D 42 4C 4F 43 4B 53 20 55 BLOCKS U ; 9475 53 45 44 2E 20 20 20 20 SED. ; 947D 20 20 20 20 20 20 20 20 .byte $00,$00,$00 ; 9485 00 00 00 ... ; ---------------------------------------------------------------------------- ; This dumps the directory listing tail, with the "block used" text. L9488: ldx #$1E ; 9488 A2 1E .. L948A: lda L9469,x ; 948A BD 69 94 .i. sta $0218,x ; 948D 9D 18 02 ... dex ; 9490 CA . bpl L948A ; 9491 10 F7 .. cld ; 9493 D8 . sec ; 9494 38 8 lda $0208 ; 9495 AD 08 02 ... sbc $020A ; 9498 ED 0A 02 ... sta $021A ; 949B 8D 1A 02 ... lda $0209 ; 949E AD 09 02 ... sbc $020B ; 94A1 ED 0B 02 ... L94A6 := * + 2 sta $021B ; 94A4 8D 1B 02 ... rts ; 94A7 60 ` ; ---------------------------------------------------------------------------- ; Afaik this dumps a row of the directory listing, about a file, you can even ; see the "PRG", "SEQ" stuffs appended. L94A8: ldx #$04 ; 94A8 A2 04 .. L94AA: inx ; 94AA E8 . lda $0218,x ; 94AB BD 18 02 ... beq L94B4 ; 94AE F0 04 .. cpx #$15 ; 94B0 E0 15 .. bne L94AA ; 94B2 D0 F6 .. L94B4: lda #$22 ; 94B4 A9 22 ." L94B6: sta $0218,x ; 94B6 9D 18 02 ... lda #$20 ; 94B9 A9 20 . inx ; 94BB E8 . cpx #$20 ; 94BC E0 20 . bne L94B6 ; 94BE D0 F6 .. lda $0218 ; 94C0 AD 18 02 ... bit #$30 ; 94C3 89 30 .0 beq L94CC ; 94C5 F0 05 .. ldx #$2A ; 94C7 A2 2A .* stx $022E ; 94C9 8E 2E 02 ... L94CC: bit #$80 ; 94CC 89 80 .. bne L94D5 ; 94CE D0 05 .. jsr L8DE0 ; 94D0 20 E0 8D .. bra L94D8 ; 94D3 80 03 .. L94D5: lda $021B ; 94D5 AD 1B 02 ... L94D8: sta $021A ; 94D8 8D 1A 02 ... lda $0218 ; 94DB AD 18 02 ... and #$40 ; 94DE 29 40 )@ beq L94EA ; 94E0 F0 08 .. lda #$50 ; 94E2 A9 50 .P ldx #$52 ; 94E4 A2 52 .R ldy #$47 ; 94E6 A0 47 .G bra L94F0 ; 94E8 80 06 .. L94EA: lda #$53 ; 94EA A9 53 .S ldx #$45 ; 94EC A2 45 .E ldy #$51 ; 94EE A0 51 .Q L94F0: sta $022F ; 94F0 8D 2F 02 ./. stx $0230 ; 94F3 8E 30 02 .0. sty $0231 ; 94F6 8C 31 02 .1. lda #$01 ; 94F9 A9 01 .. sta $0218 ; 94FB 8D 18 02 ... lda #$10 ; 94FE A9 10 .. sta $0219 ; 9500 8D 19 02 ... stz $021B ; 9503 9C 1B 02 ... lda #$22 ; 9506 A9 22 ." sta $021C ; 9508 8D 1C 02 ... lda $021A ; 950B AD 1A 02 ... cmp #$64 ; 950E C9 64 .d bcs L9515 ; 9510 B0 03 .. jsr L9522 ; 9512 20 22 95 ". L9515: lda $021A ; 9515 AD 1A 02 ... cmp #$0A ; 9518 C9 0A .. bcc L951F ; 951A 90 03 .. jsr L9522 ; 951C 20 22 95 ". L951F: jsr L9522 ; 951F 20 22 95 ". L9522: lda #$20 ; 9522 A9 20 . ldx #$04 ; 9524 A2 04 .. L9526: ldy $0218,x ; 9526 BC 18 02 ... sta $0218,x ; 9529 9D 18 02 ... tya ; 952C 98 . inx ; 952D E8 . cpx #$1F ; 952E E0 1F .. bne L9526 ; 9530 D0 F4 .. lda #$00 ; 9532 A9 00 .. sta $0237 ; 9534 8D 37 02 .7. rts ; 9537 60 ` ; ---------------------------------------------------------------------------- LOAD__: sta $0406 ; 9538 8D 06 04 ... stz ST ; 953B 64 BA d. lda LFSDevNum ; 953D A5 C5 .. bne L9544 ; 953F D0 03 .. L9541: jmp LBC68 ; 9541 4C 68 BC Lh. ; ---------------------------------------------------------------------------- L9544: cmp #$01 ; 9544 C9 01 .. beq L9550 ; 9546 F0 08 .. cmp #$04 ; 9548 C9 04 .. bcc L9541 ; 954A 90 F5 .. cmp #$1E ; 954C C9 1E .. bcs L9541 ; 954E B0 F1 .. L9550: ldy FNlength ; 9550 AC 87 03 ... bne L9558 ; 9553 D0 03 .. jmp LBC65 ; 9555 4C 65 BC Le. ; ---------------------------------------------------------------------------- L9558: jsr LBB8D ; 9558 20 8D BB .. ldx LFS2ndAddr ; 955B A6 C4 .. stx $0407 ; 955D 8E 07 04 ... stz LFS2ndAddr ; 9560 64 C4 d. lda LFSDevNum ; 9562 A5 C5 .. dec a ; 9564 3A : beq L957A ; 9565 F0 13 .. lda #$60 ; 9567 A9 60 .` sta LFS2ndAddr ; 9569 85 C4 .. jsr LBB40 ; 956B 20 40 BB @. lda LFSDevNum ; 956E A5 C5 .. jsr SendTalk ; 9570 20 91 BC .. lda LFS2ndAddr ; 9573 A5 C4 .. jsr TALKSA__ ; 9575 20 55 BD U. bra L9592 ; 9578 80 18 .. L957A: phx ; 957A DA . jsr L966B ; 957B 20 6B 96 k. plx ; 957E FA . lda ST ; 957F A5 BA .. bit #$0C ; 9581 89 0C .. beq L9592 ; 9583 F0 0D .. L9585: jmp LBC59 ; 9585 4C 59 BC LY. ; ---------------------------------------------------------------------------- L9588: lda LFS2ndAddr ; 9588 A5 C4 .. beq L958F ; 958A F0 03 .. jsr LBC36 ; 958C 20 36 BC 6. L958F: jmp LBC6B ; 958F 4C 6B BC Lk. ; ---------------------------------------------------------------------------- L9592: jsr L9661 ; 9592 20 61 96 a. sta $B2 ; 9595 85 B2 .. lda #$02 ; 9597 A9 02 .. bit ST ; 9599 24 BA $. bne L9585 ; 959B D0 E8 .. jsr L9661 ; 959D 20 61 96 a. sta $B3 ; 95A0 85 B3 .. lda $0407 ; 95A2 AD 07 04 ... bne L95AF ; 95A5 D0 08 .. lda $B4 ; 95A7 A5 B4 .. sta $B2 ; 95A9 85 B2 .. lda $B5 ; 95AB A5 B5 .. sta $B3 ; 95AD 85 B3 .. L95AF: lda $0406 ; 95AF AD 06 04 ... bne L95E4 ; 95B2 D0 30 .0 jsr ShowInLineText80 ; 95B4 20 56 FB V. .byte "LOADING" ; 95B7 4C 4F 41 44 49 4E 47 LOADING .byte $0D,$00 ; 95BE 0D 00 .. ; ---------------------------------------------------------------------------- lda $B3 ; 95C0 A5 B3 .. cmp #$05 ; 95C2 C9 05 .. bcc L9588 ; 95C4 90 C2 .. cmp #$F8 ; 95C6 C9 F8 .. bcs L9588 ; 95C8 B0 BE .. cmp $020A ; 95CA CD 0A 02 ... bcc L95D4 ; 95CD 90 05 .. lda $020B ; 95CF AD 0B 02 ... beq L9588 ; 95D2 F0 B4 .. L95D4: lda LFS2ndAddr ; 95D4 A5 C4 .. bne L95F0 ; 95D6 D0 18 .. .byte $AD ; 95D8 AD . .byte $A0 ; 95D9 A0 . L95DA: .byte $03 ; 95DA 03 . cmp #$40 ; 95DB C9 40 .@ bne L95F0 ; 95DD D0 11 .. jsr L96D6 ; 95DF 20 D6 96 .. bra L9651 ; 95E2 80 6D .m L95E4: jsr ShowInLineText80 ; 95E4 20 56 FB V. .byte $0D ; 95E7 0D . .byte "VERIF" ; 95E8 56 45 52 49 46 VERIF L95ED: .byte "Y " ; 95ED 59 20 Y .byte $00 ; 95EF 00 . ; ---------------------------------------------------------------------------- L95F0: lda #$02 ; 95F0 A9 02 .. trb ST ; 95F2 14 BA .. jsr LFDB9 ; 95F4 20 B9 FD .. beq L9657 ; 95F7 F0 5E .^ L95F9: jsr L9661 ; 95F9 20 61 96 a. tax ; 95FC AA . lda ST ; 95FD A5 BA .. lsr a ; 95FF 4A J lsr a ; 9600 4A J bcs L95F9 ; 9601 B0 F6 .. txa ; 9603 8A . ldy $0406 ; 9604 AC 06 04 ... beq L9622 ; 9607 F0 19 .. ldy #$00 ; 9609 A0 00 .. sta $0407 ; 960B 8D 07 04 ... lda #$B2 ; 960E A9 B2 .. sta $034E ; 9610 8D 4E 03 .N. jsr FROM_C67B ; 9613 20 4A 03 J. cmp $0407 ; 9616 CD 07 04 ... beq L963D ; 9619 F0 22 ." lda #$10 ; 961B A9 10 .. jsr SetST ; 961D 20 CA FC .. bra L963D ; 9620 80 1B .. L9622: ldx #$B2 ; 9622 A2 B2 .. stx $0360 ; 9624 8E 60 03 .`. ldx $B3 ; 9627 A6 B3 .. cpx #$F8 ; 9629 E0 F8 .. bcs L9637 ; 962B B0 0A .. cpx $020A ; 962D EC 0A 02 ... bcc L963A ; 9630 90 08 .. ldx $020B ; 9632 AE 0B 02 ... bne L963A ; 9635 D0 03 .. L9637: jmp L9588 ; 9637 4C 88 95 L.. ; ---------------------------------------------------------------------------- L963A: jsr FROM_C68D ; 963A 20 5C 03 \. L963D: inc $B2 ; 963D E6 B2 .. bne L9643 ; 963F D0 02 .. inc $B3 ; 9641 E6 B3 .. L9643: bit ST ; 9643 24 BA $. bvc L95F9 ; 9645 50 B2 P. lda LFS2ndAddr ; 9647 A5 C4 .. beq L9651 ; 9649 F0 06 .. jsr UNTALK__ ; 964B 20 81 BD .. jsr LBC36 ; 964E 20 36 BC 6. L9651: ldx $B2 ; 9651 A6 B2 .. ldy $B3 ; 9653 A4 B3 .. clc ; 9655 18 . rts ; 9656 60 ` ; ---------------------------------------------------------------------------- L9657: lda LFS2ndAddr ; 9657 A5 C4 .. bne L965E ; 9659 D0 03 .. jsr LBC36 ; 965B 20 36 BC 6. L965E: jmp LBC4D ; 965E 4C 4D BC LM. ; ---------------------------------------------------------------------------- L9661: lda LFS2ndAddr ; 9661 A5 C4 .. beq L9668 ; 9663 F0 03 .. jmp IECIN__ ; 9665 4C A5 BD L.. ; ---------------------------------------------------------------------------- L9668: jmp L971F ; 9668 4C 1F 97 L.. ; ---------------------------------------------------------------------------- L966B: jsr L9671 ; 966B 20 71 96 q. jmp L993F ; 966E 4C 3F 99 L?. ; ---------------------------------------------------------------------------- L9671: jsr L8EAF ; 9671 20 AF 8E .. .byte $90 ; 9674 90 . L9675: bit $89 ; 9675 24 89 $. jsr $20D0 ; 9677 20 D0 20 . ldx $03A0 ; 967A AE A0 03 ... cpx #$24 ; 967D E0 24 .$ bne L969C ; 967F D0 1B .. ldx $03A3 ; 9681 AE A3 03 ... bne L9698 ; 9684 D0 12 .. jsr L9041 ; 9686 20 41 90 A. jsr L8C2A ; 9689 20 2A 8C *. lda #$40 ; 968C A9 40 .@ tsb $E7 ; 968E 04 E7 .. bra L96C0 ; 9690 80 2E .. L9692: lda #$40 ; 9692 A9 40 .@ .byte $2C ; 9694 2C , L9695: lda #$3C ; 9695 A9 3C .< .byte $2C ; 9697 2C , L9698: lda #$22 ; 9698 A9 22 ." L969A: clc ; 969A 18 . rts ; 969B 60 ` ; ---------------------------------------------------------------------------- L969C: jsr L8D9F ; 969C 20 9F 8D .. bcc L969A ; 969F 90 F9 .. lda $0218 ; 96A1 AD 18 02 ... .byte $89 ; 96A4 89 . L96A5: jsr $EDD0 ; 96A5 20 D0 ED .. bit #$80 ; 96A8 89 80 .. bne L96B1 ; 96AA D0 05 .. jsr L8E20 ; 96AC 20 20 8E . bcc L969A ; 96AF 90 E9 .. L96B1: jsr L9011 ; 96B1 20 11 90 .. bcc L969A ; 96B4 90 E4 .. cpx #$53 ; 96B6 E0 53 .S beq L9692 ; 96B8 F0 D8 .. jsr L8C2A ; 96BA 20 2A 8C *. jsr L902D ; 96BD 20 2D 90 -. L96C0: lda #$10 ; 96C0 A9 10 .. tsb $E7 ; 96C2 04 E7 .. lda $03A0 ; 96C4 AD A0 03 ... cmp #$40 ; 96C7 C9 40 .@ bne L96D1 ; 96C9 D0 06 .. lda $E7 ; 96CB A5 E7 .. and #$80 ; 96CD 29 80 ). beq L96D4 ; 96CF F0 03 .. L96D1: stz $03A0 ; 96D1 9C A0 03 ... L96D4: sec ; 96D4 38 8 rts ; 96D5 60 ` ; ---------------------------------------------------------------------------- L96D6: stz $E9 ; 96D6 64 E9 d. dec $E9 ; 96D8 C6 E9 .. L96DA: inc $E9 ; 96DA E6 E9 .. jsr L89F9 ; 96DC 20 F9 89 .. bcc L9719 ; 96DF 90 38 .8 L96E1: ldx $020B ; 96E1 AE 0B 02 ... lda $020A ; 96E4 AD 0A 02 ... bne L96EA ; 96E7 D0 01 .. dex ; 96E9 CA . L96EA: dec a ; 96EA 3A : jsr L8A87 ; 96EB 20 87 8A .. ldy #$02 ; 96EE A0 02 .. lda ($E4),y ; 96F0 B1 E4 .. bne L96F5 ; 96F2 D0 01 .. dec a ; 96F4 3A : L96F5: sta $E0 ; 96F5 85 E0 .. lda $E9 ; 96F7 A5 E9 .. bne L9703 ; 96F9 D0 08 .. L96FB: lda $E7 ; 96FB A5 E7 .. and #$40 ; 96FD 29 40 )@ beq L9703 ; 96FF F0 02 .. iny ; 9701 C8 . iny ; 9702 C8 . L9703: iny ; 9703 C8 . lda ($E4),y ; 9704 B1 E4 .. phy ; 9706 5A Z ldy #$00 ; 9707 A0 00 .. jsr FROM_C68D ; 9709 20 5C 03 \. inc $B2 ; 970C E6 B2 .. bne L9712 ; 970E D0 02 .. inc $B3 ; 9710 E6 B3 .. L9712: ply ; 9712 7A z cpy $E0 ; 9713 C4 E0 .. bne L9703 ; 9715 D0 EC .. .byte $80 ; 9717 80 . L9718: .byte $C1 ; 9718 C1 . L9719: .byte $20 ; 9719 20 L971A: .byte $E2 ; 971A E2 . bit #$4C ; 971B 89 4C .L rmb1 $8D ; 971D 17 8D .. L971F: jsr L9725 ; 971F 20 25 97 %. .byte $4C ; 9722 4C L .byte $3F ; 9723 3F ? L9724: .byte $99 ; 9724 99 . L9725: jsr L8C3B ; 9725 20 3B 8C ;. bcc L972D ; 9728 90 03 .. jsr L8B46 ; 972A 20 46 8B F. L972D: rts ; 972D 60 ` ; ---------------------------------------------------------------------------- L972E: lda #$20 ; 972E A9 20 . L9730: cpy #$3C ; 9730 C0 3C .< L9732: rol a ; 9732 2A * eor #$01 ; 9733 49 01 I. ror a ; 9735 6A j rts ; 9736 60 ` ; ---------------------------------------------------------------------------- L9737: jsr L8C36 ; 9737 20 36 8C 6. lda #$10 ; 973A A9 10 .. tsb $E7 ; 973C 04 E7 .. ldy FNlength ; 973E AC 87 03 ... sty $02D5 ; 9741 8C D5 02 ... jsr L972E ; 9744 20 2E 97 .. bcs L974A ; 9747 B0 01 .. L9749: rts ; 9749 60 ` ; ---------------------------------------------------------------------------- L974A: lda #$AE ; 974A A9 AE .. sta $034E ; 974C 8D 4E 03 .N. dey ; 974F 88 . bmi L9749 ; 9750 30 F7 0. L9752: jsr FROM_C67B ; 9752 20 4A 03 J. sta $0295,y ; 9755 99 95 02 ... dey ; 9758 88 . bpl L9752 ; 9759 10 F7 .. bra L9772 ; 975B 80 15 .. L975D: ldy $02D5 ; 975D AC D5 02 ... jsr L972E ; 9760 20 2E 97 .. bcs L9766 ; 9763 B0 01 .. rts ; 9765 60 ` ; ---------------------------------------------------------------------------- L9766: .byte $99 ; 9766 99 . L9767: sta $02,x ; 9767 95 02 .. inc $02D5 ; 9769 EE D5 02 ... cmp #$0D ; 976C C9 0D .. beq L9772 ; 976E F0 02 .. sec ; 9770 38 8 rts ; 9771 60 ` ; ---------------------------------------------------------------------------- L9772: lda $0295 ; 9772 AD 95 02 ... L9775: ldx #$07 ; 9775 A2 07 .. L9777: cmp L978E,x ; 9777 DD 8E 97 ... beq L9783 ; 977A F0 07 .. dex ; 977C CA . .byte $10 ; 977D 10 . L977E: sed ; 977E F8 . lda #$1F ; 977F A9 1F .. clc ; 9781 18 . rts ; 9782 60 ` ; ---------------------------------------------------------------------------- L9783: txa ; 9783 8A . and #$FE ; 9784 29 FE ). pha ; 9786 48 H jsr L979E ; 9787 20 9E 97 .. plx ; 978A FA . jmp (L9796,x) ; 978B 7C 96 97 |.. L978E: eor #$69 ; 978E 49 69 Ii eor ($72) ; 9790 52 72 Rr L9792: .byte $53 ; 9792 53 S .byte $73 ; 9793 73 s lsr $76,x ; 9794 56 76 Vv L9796: bbr6 $8C,L97A7 ; 9796 6F 8C 0E o.. tya ; 9799 98 . dec $97,x ; 979A D6 97 .. .byte $42 ; 979C 42 B tya ; 979D 98 . L979E: ldy $02D5 ; 979E AC D5 02 ... dey ; 97A1 88 . lda #$96 ; 97A2 A9 96 .. ldx #$02 ; 97A4 A2 02 .. .byte $4C ; 97A6 4C L L97A7: ldx $8E,y ; 97A7 B6 8E .. L97A9: jsr L979E ; 97A9 20 9E 97 .. L97AC: lda ($E2) ; 97AC B2 E2 .. inc $E2 ; 97AE E6 E2 .. bne L97B4 ; 97B0 D0 02 .. inc $E3 ; 97B2 E6 E3 .. L97B4: dec $039F ; 97B4 CE 9F 03 ... beq L97D2 ; 97B7 F0 19 .. cmp #$3D ; 97B9 C9 3D .= bne L97AC ; 97BB D0 EF .. jsr L8EBD ; 97BD 20 BD 8E .. bcc L97D4 ; 97C0 90 12 .. and #$40 ; 97C2 29 40 )@ ora $03A4 ; 97C4 0D A4 03 ... ora $03A3 ; 97C7 0D A3 03 ... ora $03A0 ; 97CA 0D A0 03 ... bne L97D2 ; 97CD D0 03 .. jmp L8D9F ; 97CF 4C 9F 8D L.. ; ---------------------------------------------------------------------------- L97D2: lda #$21 ; 97D2 A9 21 .! L97D4: clc ; 97D4 18 . rts ; 97D5 60 ` ; ---------------------------------------------------------------------------- bcs L97DC ; 97D6 B0 04 .. L97D8: lda #$22 ; 97D8 A9 22 ." clc ; 97DA 18 . rts ; 97DB 60 ` ; ---------------------------------------------------------------------------- L97DC: bit #$80 ; 97DC 89 80 .. beq L97D8 ; 97DE F0 F8 .. and #$20 ; 97E0 29 20 ) ora $03A4 ; 97E2 0D A4 03 ... ora $03A3 ; 97E5 0D A3 03 ... bne L97D8 ; 97E8 D0 EE .. lda #$00 ; 97EA A9 00 .. pha ; 97EC 48 H L97ED: L97EE := * + 1 jsr L8D9F ; 97ED 20 9F 8D .. bcc L9805 ; 97F0 90 13 .. L97F2: tsx ; 97F2 BA . L97F5 := * + 2 inc stack+1,x ; 97F3 FE 01 01 ... jsr L8D17 ; 97F6 20 17 8D .. lda $0218 ; 97F9 AD 18 02 ... and #$80 ; 97FC 29 80 ). bne L97ED ; 97FE D0 ED .. jsr L89E2 ; 9800 20 E2 89 .. bra L97ED ; 9803 80 E8 .. L9805: pla ; 9805 68 h ldx #$01 ; 9806 A2 01 .. ldy #$00 ; 9808 A0 00 .. sec ; 980A 38 8 jmp L9964 ; 980B 4C 64 99 Ld. ; ---------------------------------------------------------------------------- .byte $90 ; 980E 90 . L980F: bmi $979A ; 980F 30 89 0. bra $9803 ; 9811 80 F0 .. rol a ; 9813 2A * and #$40 ; 9814 29 40 )@ ora $03A0 ; 9816 0D A0 03 ... ora $03A3 ; 9819 0D A3 03 ... .byte $0D ; 981C 0D . L981D: ldy $03 ; 981D A4 03 .. bne L983E ; 981F D0 1D .. jsr L8D9F ; 9821 20 9F 8D .. lda #$3F ; 9824 A9 3F .? bcs L9840 ; 9826 B0 18 .. jsr L97A9 ; 9828 20 A9 97 .. bcc L9840 ; 982B 90 13 .. jsr L979E ; 982D 20 9E 97 .. jsr L8FF3 ; 9830 20 F3 8F .. L9833: jsr L8D5B ; 9833 20 5B 8D [. bcc L9840 ; 9836 90 08 .. jsr L97A9 ; 9838 20 A9 97 .. jmp L8D17 ; 983B 4C 17 8D L.. ; ---------------------------------------------------------------------------- L983E: lda #$21 ; 983E A9 21 .! L9840: clc ; 9840 18 . rts ; 9841 60 ` ; ---------------------------------------------------------------------------- jsr L8C6F ; 9842 20 6F 8C o. jsr KL_RAMTAS ; 9845 20 A8 86 .. cpx $0209 ; 9848 EC 09 02 ... beq L985B ; 984B F0 0E .. L984D: stx $0209 ; 984D 8E 09 02 ... sta $0208 ; 9850 8D 08 02 ... stx $020B ; 9853 8E 0B 02 ... sta $020A ; 9856 8D 0A 02 ... sec ; 9859 38 8 rts ; 985A 60 ` ; ---------------------------------------------------------------------------- L985B: cmp $0208 ; 985B CD 08 02 ... bne L984D ; 985E D0 ED .. cpx $020A ; 9860 EC 0A 02 ... bcc L984D ; 9863 90 E8 .. bne L986C ; 9865 D0 05 .. cmp $020A ; 9867 CD 0A 02 ... bcc L984D ; 986A 90 E1 .. L986C: jsr L8CBB ; 986C 20 BB 8C .. bne L9890 ; 986F D0 1F .. L9871: jsr L8CC3 ; 9871 20 C3 8C .. bcc L988B ; 9874 90 15 .. jsr L8CD1 ; 9876 20 D1 8C .. jsr L8AD5 ; 9879 20 D5 8A .. ldy #$02 ; 987C A0 02 .. lda $EA ; 987E A5 EA .. sta ($E4),y ; 9880 91 E4 .. L9882: inc $E9 ; 9882 E6 E9 .. beq L9890 ; 9884 F0 0A .. jsr L89F9 ; 9886 20 F9 89 .. bra L9882 ; 9889 80 F7 .. L988B: bit $039D ; 988B 2C 9D 03 ,.. bpl L9871 ; 988E 10 E1 .. L9890: jsr L8CBB ; 9890 20 BB 8C .. .byte $90 ; 9893 90 . L9894: .byte $3B ; 9894 3B ; bra L98AB ; 9895 80 14 .. L9897: jsr L8CC3 ; 9897 20 C3 8C .. .byte $90 ; 989A 90 . L989B: bit $20,x ; 989B 34 20 4 rol a ; 989D 2A * L989E: sty $18AD ; 989E 8C AD 18 ... .byte $02 ; 98A1 02 . bit #$80 ; 98A2 89 80 .. bne L98B4 ; 98A4 D0 0E .. lda $0219 ; 98A6 AD 19 02 ... sta $E8 ; 98A9 85 E8 .. L98AB: jsr L8AD5 ; 98AB 20 D5 8A .. bcs L98B9 ; 98AE B0 09 .. lda $E9 ; 98B0 A5 E9 .. beq L9897 ; 98B2 F0 E3 .. L98B4: jsr L8D17 ; 98B4 20 17 8D .. bra L9890 ; 98B7 80 D7 .. L98B9: inc $E9 ; 98B9 E6 E9 .. ldy #$02 ; 98BB A0 02 .. lda ($E4),y ; 98BD B1 E4 .. beq L98AB ; 98BF F0 EA .. lda $E9 ; 98C1 A5 E9 .. pha ; 98C3 48 H jsr L8DE0 ; 98C4 20 E0 8D .. sta $E9 ; 98C7 85 E9 .. pla ; 98C9 68 h cmp $E9 ; 98CA C5 E9 .. .byte $D0 ; 98CC D0 . L98CD: inc $80 ; 98CD E6 80 .. .byte $C7 ; 98CF C7 . L98D0: ldx #$3F ; 98D0 A2 3F .? L98D2: stz $0295,x ; 98D2 9E 95 02 ... dex ; 98D5 CA . bpl L98D2 ; 98D6 10 FA .. inc $0295 ; 98D8 EE 95 02 ... jsr L8CBB ; 98DB 20 BB 8C .. L98DE: bcc L9917 ; 98DE 90 37 .7 bra L98E5 ; 98E0 80 03 .. L98E2: jsr L8D17 ; 98E2 20 17 8D .. L98E5: jsr L8CBB ; 98E5 20 BB 8C .. L98E8: bra L98ED ; 98E8 80 03 .. L98EA: jsr L8CC3 ; 98EA 20 C3 8C .. L98ED: bcc L9917 ; 98ED 90 28 .( jsr L9932 ; 98EF 20 32 99 2. and $0295,y ; 98F2 39 95 02 9.. bne L98E2 ; 98F5 D0 EB .. lda PowersOfTwo,x ; 98F7 BD 41 B0 .A. ora $0295,y ; 98FA 19 95 02 ... sta $0295,y ; 98FD 99 95 02 ... lda #$30 ; 9900 A9 30 .0 trb $0218 ; 9902 1C 18 02 ... bne L990F ; 9905 D0 08 .. lda $0219 ; 9907 AD 19 02 ... jsr L8E20 ; 990A 20 20 8E . bcs L98EA ; 990D B0 DB .. L990F: jsr L8D17 ; 990F 20 17 8D .. jsr L8D5B ; 9912 20 5B 8D [. bra L98D0 ; 9915 80 B9 .. L9917: jsr L8A81 ; 9917 20 81 8A .. L991A: beq L9930 ; 991A F0 14 .. L991C: lda ($E4) ; 991C B2 E4 .. jsr L9932 ; 991E 20 32 99 2. and $0295,y ; 9921 39 95 02 9.. bne L992B ; 9924 D0 05 .. jsr L89FF ; 9926 20 FF 89 .. bra L9917 ; 9929 80 EC .. L992B: jsr L8A61 ; 992B 20 61 8A a. bcs L991C ; 992E B0 EC .. L9930: sec ; 9930 38 8 rts ; 9931 60 ` ; ---------------------------------------------------------------------------- L9932: pha ; 9932 48 H lsr a ; 9933 4A J lsr a ; 9934 4A J lsr a ; 9935 4A J tay ; 9936 A8 . pla ; 9937 68 h and #$07 ; 9938 29 07 ). tax ; 993A AA . lda PowersOfTwo,x ; 993B BD 41 B0 .A. L993E: rts ; 993E 60 ` ; ---------------------------------------------------------------------------- L993F: tax ; 993F AA . lda #$00 ; 9940 A9 00 .. bcs L9955 ; 9942 B0 11 .. lda $E8 ; 9944 A5 E8 .. ldy $E9 ; 9946 A4 E9 .. jsr L9964 ; 9948 20 64 99 d. lda #$04 ; 994B A9 04 .. cpx #$19 ; 994D E0 19 .. bne L9953 ; 994F D0 02 .. ora #$08 ; 9951 09 08 .. L9953: ldx #$0D ; 9953 A2 0D .. L9955: bit $039D ; 9955 2C 9D 03 ,.. bpl L995C ; 9958 10 02 .. ora #$40 ; 995A 09 40 .@ L995C: sta ST ; 995C 85 BA .. stz $039D ; 995E 9C 9D 03 ... txa ; 9961 8A . L9962: clc ; 9962 18 . rts ; 9963 60 ` ; ---------------------------------------------------------------------------- L9964: stx $0210 ; 9964 8E 10 02 ... sta $0211 ; 9967 8D 11 02 ... sty $0212 ; 996A 8C 12 02 ... .byte $9C ; 996D 9C . .byte $17 ; 996E 17 . L996F: .byte $02 ; 996F 02 . rts ; 9970 60 ` ; ---------------------------------------------------------------------------- L9971: .byte "CHANNEL" ; 9971 43 48 41 4E 4E 45 4C CHANNEL .byte $00 ; 9978 00 . .byte "COMMAND" ; 9979 43 4F 4D 4D 41 4E 44 COMMAND .byte $00 ; 9980 00 . .byte "DIRECTORY" ; 9981 44 49 52 45 43 54 4F 52 DIRECTOR ; 9989 59 Y .byte $00 ; 998A 00 . .byte "DISK" ; 998B 44 49 53 4B DISK .byte $00 ; 998F 00 . .byte "DOS" ; 9990 44 4F 53 DOS .byte $00 ; 9993 00 . .byte "ERROR" ; 9994 45 52 52 4F 52 ERROR .byte $00 ; 9999 00 . L999A: .byte "EXISTS" ; 999A 45 58 49 53 54 53 EXISTS .byte $00 ; 99A0 00 . .byte "F" ; 99A1 46 F L99A2: .byte "ILE" ; 99A2 49 4C 45 ILE .byte $00 ; 99A5 00 . L99A6: .byte "FILES" ; 99A6 46 49 4C 45 53 FILES .byte $00 ; 99AB 00 . .byte "FOUND" ; 99AC 46 4F 55 4E 44 FOUND .byte $00 ; 99B1 00 . .byte "FULL" ; 99B2 46 55 4C 4C FULL .byte $00 ; 99B6 00 . .byte "ILLEGAL" ; 99B7 49 4C 4C 45 47 41 4C ILLEGAL .byte $00 ; 99BE 00 . .byte "INVALID" ; 99BF 49 4E 56 41 4C 49 44 INVALID .byte $00 ; 99C6 00 . .byte "LARGE" ; 99C7 4C 41 52 47 45 LARGE .byte $00 ; 99CC 00 . .byte "LINE" ; 99CD 4C 49 4E 45 LINE .byte $00 ; 99D1 00 . .byte "LONG" ; 99D2 4C 4F 4E 47 LONG .byte $00 ; 99D6 00 . .byte "MISMATCH" ; 99D7 4D 49 53 4D 41 54 43 48 MISMATCH .byte $00 ; 99DF 00 . .byte "NO" ; 99E0 4E 4F NO .byte $00 ; 99E2 00 . .byte "NOT" ; 99E3 4E 4F 54 NOT .byte $00 ; 99E6 00 . .byte "OK" ; 99E7 4F 4B OK .byte $00 ; 99E9 00 . .byte "OPEN" ; 99EA 4F 50 45 4E OPEN .byte $00 ; 99EE 00 . .byte "PROTECT" ; 99EF 50 52 4F 54 45 43 54 PROTECT .byte $00 ; 99F6 00 . .byte "READ" ; 99F7 52 45 41 44 READ .byte $00 ; 99FB 00 . .byte "SCRATCHED" ; 99FC 53 43 52 41 54 43 48 45 SCRATCHE ; 9A04 44 D .byte $00 ; 9A05 00 . .byte "SYNTAX" ; 9A06 53 59 4E 54 41 58 SYNTAX .byte $00 ; 9A0C 00 . .byte "SYSTEM" ; 9A0D 53 59 53 54 45 4D SYSTEM .byte $00 ; 9A13 00 . .byte "T&S" ; 9A14 54 26 53 T&S .byte $00 ; 9A17 00 . .byte "TOO" ; 9A18 54 4F 4F TOO .byte $00 ; 9A1B 00 . .byte "TYPE" ; 9A1C 54 59 50 45 TYPE .byte $00 ; 9A20 00 . .byte "VERIFY" ; 9A21 56 45 52 49 46 59 VERIFY .byte $00 ; 9A27 00 . .byte "WR" ; 9A28 57 52 WR L9A2A: .byte "I" ; 9A2A 49 I L9A2B: .byte "TE" ; 9A2B 54 45 TE .byte $00,$00 ; 9A2D 00 00 .. ; ---------------------------------------------------------------------------- .byte $77,$00,$00,$01,$36,$8C,$00,$14 ; 9A2F 77 00 00 01 36 8C 00 14 w...6... .byte $47,$A4,$00,$19,$B8,$B1,$24,$1A ; 9A37 47 A4 00 19 B8 B1 24 1A G.....$. .byte $B8,$7F,$24,$1B,$87,$24,$00,$1F ; 9A3F B8 7F 24 1B 87 24 00 1F ..$..$.. .byte $4F,$09,$00,$20,$62,$5D,$00,$21 ; 9A47 4F 09 00 20 62 5D 00 21 O.. b].! .byte $96,$24,$00,$21,$96,$24,$00,$22 ; 9A4F 96 24 00 21 96 24 00 22 .$.!.$." .byte $96,$24,$00,$27,$96,$24,$00,$34 ; 9A57 96 24 00 27 96 24 00 34 .$.'.$.4 .byte $31,$A8,$57,$3C,$B8,$31,$7A,$3D ; 9A5F 31 A8 57 3C B8 31 7A 3D 1.W<.1z= .byte $31,$73,$7A ; 9A67 31 73 7A 1sz L9A6A: .byte $3E,$31,$73,$3C,$3F,$31,$2A,$00 ; 9A6A 3E 31 73 3C 3F 31 2A 00 >1s<?1*. .byte $40,$31,$AC,$67,$43,$47,$9D,$A4 ; 9A72 40 31 AC 67 43 47 9D A4 @1.gCG.. .byte $46,$70,$01,$00,$47,$11,$24,$00 ; 9A7A 46 70 01 00 47 11 24 00 Fp..G.$. .byte $47,$11,$24,$00,$48 ; 9A82 47 11 24 00 48 G.$.H L9A87: .byte $1B,$42,$00,$49,$20,$67,$24 ; 9A87 1B 42 00 49 20 67 24 .B.I g$ L9A8E: .byte $00,$01,$02,$80,$81,$82,$83,$84 ; 9A8E 00 01 02 80 81 82 83 84 ........ .byte $85,$86,$87,$88 ; 9A96 85 86 87 88 .... L9A9A: .byte $41,$81,$10,$22,$42,$82,$10,$23 ; 9A9A 41 81 10 22 42 82 10 23 A.."B..# .byte $43,$83,$00 ; 9AA2 43 83 00 C.. ; ---------------------------------------------------------------------------- L9AA5: lda $0217 ; 9AA5 AD 17 02 ... inc $0217 ; 9AA8 EE 17 02 ... ldy #$0B ; 9AAB A0 0B .. L9AAD: cmp L9A8E,y ; 9AAD D9 8E 9A ... beq L9AB8 ; 9AB0 F0 06 .. dey ; 9AB2 88 . bpl L9AAD ; 9AB3 10 F8 .. jmp L9AE8 ; 9AB5 4C E8 9A L.. ; ---------------------------------------------------------------------------- L9AB8: lda L9A9A,y ; 9AB8 B9 9A 9A ... bne L9ACD ; 9ABB D0 10 .. tax ; 9ABD AA . tay ; 9ABE A8 . .byte $20 ; 9ABF 20 .byte $64 ; 9AC0 64 d L9AC1: sta $6E38,y ; 9AC1 99 38 6E .8n sta $A903,x ; 9AC4 9D 03 A9 ... .byte $0D ; 9AC7 0D . .byte $2C ; 9AC8 2C , L9AC9: lda #$2C ; 9AC9 A9 2C ., sec ; 9ACB 38 8 rts ; 9ACC 60 ` ; ---------------------------------------------------------------------------- L9ACD: bit #$10 ; 9ACD 89 10 .. bne L9AC9 ; 9ACF D0 F8 .. sta $E0 ; 9AD1 85 E0 .. and #$03 ; 9AD3 29 03 ). L9AD5: tax ; 9AD5 AA . lda $020F,x ; 9AD6 BD 0F 02 ... jsr L886A ; 9AD9 20 6A 88 j. bit $E0 ; 9ADC 24 E0 $. bmi L9AE4 ; 9ADE 30 04 0. txa ; 9AE0 8A . bvs L9AE4 ; 9AE1 70 01 p. tya ; 9AE3 98 . L9AE4: .byte $09 ; 9AE4 09 . L9AE5: bmi L9B1F ; 9AE5 30 38 08 rts ; 9AE7 60 ` ; ---------------------------------------------------------------------------- L9AE8: dec a ; 9AE8 3A : sta $E0 ; 9AE9 85 E0 .. ldx #$00 ; 9AEB A2 00 .. lda $0210 ; 9AED AD 10 02 ... L9AF0: inx ; 9AF0 E8 . inx ; 9AF1 E8 . inx ; 9AF2 E8 . inx ; 9AF3 E8 . beq L9B12 ; 9AF4 F0 1C .. cmp L9A2A,x ; 9AF6 DD 2A 9A .*. bne L9AF0 ; 9AF9 D0 F5 .. L9AFB: lda #$20 ; 9AFB A9 20 . ldy L9A2B,x ; 9AFD BC 2B 9A .+. .byte $F0 ; 9B00 F0 . L9B01: .byte $10 ; 9B01 10 . L9B02: dec $E0 ; 9B02 C6 E0 .. beq L9B19 ; 9B04 F0 13 .. iny ; 9B06 C8 . lda L996F,y ; 9B07 B9 6F 99 .o. bne L9B02 ; 9B0A D0 F6 .. inx ; 9B0C E8 . txa ; 9B0D 8A . and #$03 ; 9B0E 29 03 ). bne L9AFB ; 9B10 D0 E9 .. L9B12: lda #$80 ; 9B12 A9 80 .. sta $0217 ; 9B14 8D 17 02 ... lda #$2C ; 9B17 A9 2C ., L9B19: sec ; 9B19 38 8 rts ; 9B1A 60 ` ; ---------------------------------------------------------------------------- L9B1B: jmp (L9B1E,x) ; 9B1B 7C 1E 9B |.. L9B1E: .byte $F6 ; 9B1E F6 . L9B1F: .byte $9B ; 9B1F 9B . phx ; 9B20 DA . .byte $9B ; 9B21 9B . .byte $73 ; 9B22 73 s L9B23: ldy $6B ; 9B23 A4 6B .k stz L9BE0 ; 9B25 9C E0 9B ... cmp (CursorY),y ; 9B28 D1 A2 .. ldy $9C ; 9B2A A4 9C .. smb2 $9C ; 9B2C A7 9C .. .byte $BB ; 9B2E BB . .byte $9C ; 9B2F 9C . .byte $BE ; 9B30 BE . L9B31: stz L9F60 ; 9B31 9C 60 9F .`. .byte $63 ; 9B34 63 c bbs1 $F6,$F6 ; 9B35 9F F6 A0 ... sbc LF0A0,y ; 9B38 F9 A0 F0 ... stz LA369,x ; 9B3B 9E 69 A3 .i. adc (CurMaxY_,x) ; 9B3E 61 A6 a. smb2 CurMaxY_ ; 9B40 A7 A6 .. phy ; 9B42 5A Z ldx $6B ; 9B43 A6 6B .k ldx $2B ; 9B45 A6 2B .+ smb2 $48 ; 9B47 A7 48 .H tay ; 9B49 A8 . bbr4 $A8,L9AE5 ; 9B4A 4F A8 98 O.. tay ; 9B4D A8 . and L8AA9 ; 9B4E 2D A9 8A -.. ldx #$D9 ; 9B51 A2 D9 .. ldx #$9A ; 9B53 A2 9A .. ldx #$DC ; 9B55 A2 DC .. ldx #$DB ; 9B57 A2 DB .. smb2 $2B ; 9B59 A7 2B .+ ldy #$F1 ; 9B5B A0 F1 .. bbs1 $DB,L9B01 ; 9B5D 9F DB A1 ... cmp $1AA1,x ; 9B60 DD A1 1A ... ldx #$6B ; 9B63 A2 6B .k ldx #$7B ; 9B65 A2 7B .{ ldx #$AB ; 9B67 A2 AB .. ldx #$CD ; 9B69 A2 CD .. ldx #$D5 ; 9B6B A2 D5 .. ldx #$38 ; 9B6D A2 38 .8 .byte $A3 ; 9B6F A3 . and (CurMaxX_,x) ; 9B70 21 A4 !. stx $A3,y ; 9B72 96 A3 .. rol CursorY ; 9B74 26 A2 &. adc CurMaxX_,x ; 9B76 75 A4 u. tay ; 9B78 A8 . ldx #$D8 ; 9B79 A2 D8 .. smb2 L004E ; 9B7B A7 4E .N bbs1 $42,L9B1F ; 9B7D 9F 42 9F .B. .byte $33 ; 9B80 33 3 bbs1 $5A,L9B23 ; 9B81 9F 5A 9F .Z. bbr5 CurMaxY_,L9BF4 ; 9B84 5F A6 6D _.m ldy #$B7 ; 9B87 A0 B7 .. lda ($CE,x) ; 9B89 A1 CE .. .byte $9B ; 9B8B 9B . bbs1 $9B,L9B31 ; 9B8C 9F 9B A2 ... .byte $9B ; 9B8F 9B . tya ; 9B90 98 . .byte $9B ; 9B91 9B . .byte $9B ; 9B92 9B . .byte $9B ; 9B93 9B . dec $A9 ; 9B94 C6 A9 .. cmp #$A9 ; 9B96 C9 A9 .. jsr LA02B ; 9B98 20 2B A0 +. ldy #$FF ; 9B9B A0 FF .. bra L9BA4 ; 9B9D 80 05 .. jsr LA02B ; 9B9F 20 2B A0 +. ldy #$00 ; 9BA2 A0 00 .. L9BA4: sty $49 ; 9BA4 84 49 .I jsr L9BF6 ; 9BA6 20 F6 9B .. lda $2B ; 9BA9 A5 2B .+ eor $49 ; 9BAB 45 49 EI sta $00 ; 9BAD 85 00 .. lda $2C ; 9BAF A5 2C ., eor $49 ; 9BB1 45 49 EI sta $01 ; 9BB3 85 01 .. jsr LA26B ; 9BB5 20 6B A2 k. jsr L9BF6 ; 9BB8 20 F6 9B .. lda $2C ; 9BBB A5 2C ., eor $49 ; 9BBD 45 49 EI and $01 ; 9BBF 25 01 %. eor $49 ; 9BC1 45 49 EI tay ; 9BC3 A8 . lda $2B ; 9BC4 A5 2B .+ eor $49 ; 9BC6 45 49 EI and $00 ; 9BC8 25 00 %. eor $49 ; 9BCA 45 49 EI bra L9BDA ; 9BCC 80 0C .. jsr L9BF6 ; 9BCE 20 F6 9B .. lda $2C ; 9BD1 A5 2C ., eor #$FF ; 9BD3 49 FF I. tay ; 9BD5 A8 . lda $2B ; 9BD6 A5 2B .+ eor #$FF ; 9BD8 49 FF I. L9BDA: jsr L9C60 ; 9BDA 20 60 9C `. L9BDD: jmp LA2B3 ; 9BDD 4C B3 A2 L.. ; ---------------------------------------------------------------------------- L9BE0: lda $2D ; 9BE0 A5 2D .- bmi L9C05 ; 9BE2 30 21 0! lda $25 ; 9BE4 A5 25 .% cmp #$91 ; 9BE6 C9 91 .. bcs L9C05 ; 9BE8 B0 1B .. jsr LA338 ; 9BEA 20 38 A3 8. .byte $A5 ; 9BED A5 . L9BEE: .byte $2B ; 9BEE 2B + ldy $2C ; 9BEF A4 2C ., sty $06 ; 9BF1 84 06 .. .byte $85 ; 9BF3 85 . L9BF4: rmb0 $60 ; 9BF4 07 60 .` L9BF6: lda $25 ; 9BF6 A5 25 .% cmp #$90 ; 9BF8 C9 90 .. bcc L9C0A ; 9BFA 90 0E .. lda #$58 ; 9BFC A9 58 .X ldy #$9C ; 9BFE A0 9C .. jsr LA2DC ; 9C00 20 DC A2 .. beq L9C0A ; 9C03 F0 05 .. L9C05: ldx #$0E ; 9C05 A2 0E .. jmp LFB4B ; 9C07 4C 4B FB LK. ; ---------------------------------------------------------------------------- L9C0A: .byte $4C ; 9C0A 4C L sec ; 9C0B 38 8 L9C0C: .byte $A3 ; 9C0C A3 . L9C0D: inc $3F ; 9C0D E6 3F .? bne L9C13 ; 9C0F D0 02 .. inc $40 ; 9C11 E6 40 .@ L9C13: sei ; 9C13 78 x ldy #$00 ; 9C14 A0 00 .. lda #$3F ; 9C16 A9 3F .? sta $034E ; 9C18 8D 4E 03 .N. jsr FROM_C67B ; 9C1B 20 4A 03 J. cli ; 9C1E 58 X cmp #$3A ; 9C1F C9 3A .: bcs L9C2D ; 9C21 B0 0A .. cmp #$20 ; 9C23 C9 20 . beq L9C0D ; 9C25 F0 E6 .. sec ; 9C27 38 8 sbc #$30 ; 9C28 E9 30 .0 sec ; 9C2A 38 8 sbc #$D0 ; 9C2B E9 D0 .. L9C2D: rts ; 9C2D 60 ` ; ---------------------------------------------------------------------------- L9C2E: lda #$3F ; 9C2E A9 3F .? sta $034E ; 9C30 8D 4E 03 .N. jmp FROM_C67B ; 9C33 4C 4A 03 LJ. ; ---------------------------------------------------------------------------- L9C36: lda #$08 ; 9C36 A9 08 .. sta $034E ; 9C38 8D 4E 03 .N. .byte $4C ; 9C3B 4C L L9C3C: lsr a ; 9C3C 4A J .byte $03 ; 9C3D 03 . L9C3E: lda #$08 ; 9C3E A9 08 .. sta $0357 ; 9C40 8D 57 03 .W. jmp FROM_C684 ; 9C43 4C 53 03 LS. ; ---------------------------------------------------------------------------- L9C46: lda #$0A ; 9C46 A9 0A .. sta $034E ; 9C48 8D 4E 03 .N. jmp FROM_C67B ; 9C4B 4C 4A 03 LJ. ; ---------------------------------------------------------------------------- L9C4E: pha ; 9C4E 48 H lda #$0A ; 9C4F A9 0A .. sta $0360 ; 9C51 8D 60 03 .`. pla ; 9C54 68 h jmp FROM_C68D ; 9C55 4C 5C 03 L\. ; ---------------------------------------------------------------------------- bcc L9BDA ; 9C58 90 80 .. brk ; 9C5A 00 . brk ; 9C5B 00 . brk ; 9C5C 00 . brk ; 9C5D 00 . brk ; 9C5E 00 . brk ; 9C5F 00 . L9C60: ldx #$00 ; 9C60 A2 00 .. .byte $86 ; 9C62 86 . L9C63: .byte $02 ; 9C63 02 . sta $26 ; 9C64 85 26 .& sty $27 ; 9C66 84 27 .' ldx #$90 ; 9C68 A2 90 .. rts ; 9C6A 60 ` ; ---------------------------------------------------------------------------- ldx $3F ; 9C6B A6 3F .? ldy $40 ; 9C6D A4 40 .@ stx $3B ; 9C6F 86 3B .; sty $3C ; 9C71 84 3C .< ldx $08 ; 9C73 A6 08 .. stx $3F ; 9C75 86 3F .? clc ; 9C77 18 . adc $08 ; 9C78 65 08 e. sta $0A ; 9C7A 85 0A .. ldx $09 ; 9C7C A6 09 .. stx $40 ; 9C7E 86 40 .@ bcc L9C83 ; 9C80 90 01 .. inx ; 9C82 E8 . L9C83: stx $0B ; 9C83 86 0B .. ldy #$00 ; 9C85 A0 00 .. jsr L9C46 ; 9C87 20 46 9C F. pha ; 9C8A 48 H tya ; 9C8B 98 . jsr L9C4E ; 9C8C 20 4E 9C N. jsr L9C13 ; 9C8F 20 13 9C .. jsr LA396 ; 9C92 20 96 A3 .. pla ; 9C95 68 h ldy #$00 ; 9C96 A0 00 .. jsr L9C4E ; 9C98 20 4E 9C N. ldx $3B ; 9C9B A6 3B .; ldy $3C ; 9C9D A4 3C .< stx $3F ; 9C9F 86 3F .? sty $40 ; 9CA1 84 40 .@ L9CA3: rts ; 9CA3 60 ` ; ---------------------------------------------------------------------------- jsr LA02B ; 9CA4 20 2B A0 +. L9CA7: lda $2D ; 9CA7 A5 2D .- eor #$FF ; 9CA9 49 FF I. sta $2D ; 9CAB 85 2D .- eor $38 ; 9CAD 45 38 E8 sta $39 ; 9CAF 85 39 .9 lda $25 ; 9CB1 A5 25 .% jmp L9CBE ; 9CB3 4C BE 9C L.. ; ---------------------------------------------------------------------------- L9CB6: jsr L9E56 ; 9CB6 20 56 9E V. bcc L9CF7 ; 9CB9 90 3C .< .byte $20 ; 9CBB 20 .byte $2B ; 9CBC 2B + L9CBD: .byte $A0 ; 9CBD A0 . L9CBE: bne L9CC3 ; 9CBE D0 03 .. jmp LA26B ; 9CC0 4C 6B A2 Lk. ; ---------------------------------------------------------------------------- L9CC3: ldx $3A ; 9CC3 A6 3A .: stx $14 ; 9CC5 86 14 .. ldx #$30 ; 9CC7 A2 30 .0 lda $30 ; 9CC9 A5 30 .0 L9CCB: tay ; 9CCB A8 . beq L9CA3 ; 9CCC F0 D5 .. sec ; 9CCE 38 8 sbc $25 ; 9CCF E5 25 .% beq L9CF7 ; 9CD1 F0 24 .$ bcc L9CE7 ; 9CD3 90 12 .. .byte $84 ; 9CD5 84 . L9CD6: and CurMaxX_ ; 9CD6 25 A4 %. sec ; 9CD8 38 8 sty $2D ; 9CD9 84 2D .- L9CDB: eor #$FF ; 9CDB 49 FF I. adc #$00 ; 9CDD 69 00 i. ldy #$00 ; 9CDF A0 00 .. sty $14 ; 9CE1 84 14 .. ldx #$25 ; 9CE3 A2 25 .% bne L9CEB ; 9CE5 D0 04 .. L9CE7: ldy #$00 ; 9CE7 A0 00 .. sty $3A ; 9CE9 84 3A .: L9CEB: cmp #$F9 ; 9CEB C9 F9 .. bmi L9CB6 ; 9CED 30 C7 0. tay ; 9CEF A8 . lda $3A ; 9CF0 A5 3A .: lsr $01,x ; 9CF2 56 01 V. jsr L9E6D ; 9CF4 20 6D 9E m. L9CF7: bit $39 ; 9CF7 24 39 $9 bpl L9D73 ; 9CF9 10 78 .x ldy #$25 ; 9CFB A0 25 .% cpx #$30 ; 9CFD E0 30 .0 beq L9D03 ; 9CFF F0 02 .. ldy #$30 ; 9D01 A0 30 .0 L9D03: sec ; 9D03 38 8 eor #$FF ; 9D04 49 FF I. adc $14 ; 9D06 65 14 e. sta $3A ; 9D08 85 3A .: lda $07,y ; 9D0A B9 07 00 ... sbc $07,x ; 9D0D F5 07 .. L9D0F: sta $2C ; 9D0F 85 2C ., lda $06,y ; 9D11 B9 06 00 ... sbc $06,x ; 9D14 F5 06 .. .byte $85 ; 9D16 85 . L9D17: .byte $2B ; 9D17 2B + lda $05,y ; 9D18 B9 05 00 ... sbc $05,x ; 9D1B F5 05 .. sta $2A ; 9D1D 85 2A .* lda $04,y ; 9D1F B9 04 00 ... sbc $04,x ; 9D22 F5 04 .. sta $29 ; 9D24 85 29 .) L9D26: lda $03,y ; 9D26 B9 03 00 ... sbc $03,x ; 9D29 F5 03 .. sta $28 ; 9D2B 85 28 .( lda $02,y ; 9D2D B9 02 00 ... sbc $02,x ; 9D30 F5 02 .. sta $27 ; 9D32 85 27 .' lda $01,y ; 9D34 B9 01 00 ... sbc $01,x ; 9D37 F5 01 .. sta $26 ; 9D39 85 26 .& L9D3B: bcs L9D40 ; 9D3B B0 03 .. L9D3D: jsr L9DDA ; 9D3D 20 DA 9D .. L9D40: ldy #$00 ; 9D40 A0 00 .. tya ; 9D42 98 . clc ; 9D43 18 . L9D44: ldx $26 ; 9D44 A6 26 .& bne L9DB6 ; 9D46 D0 6E .n ldx $27 ; 9D48 A6 27 .' stx $26 ; 9D4A 86 26 .& .byte $A6 ; 9D4C A6 . L9D4D: plp ; 9D4D 28 ( stx $27 ; 9D4E 86 27 .' ldx $29 ; 9D50 A6 29 .) stx $28 ; 9D52 86 28 .( ldx $2A ; 9D54 A6 2A .* stx $29 ; 9D56 86 29 .) ldx $2B ; 9D58 A6 2B .+ stx $2A ; 9D5A 86 2A .* ldx $2C ; 9D5C A6 2C ., L9D5E: stx $2B ; 9D5E 86 2B .+ L9D60: ldx $3A ; 9D60 A6 3A .: stx $2C ; 9D62 86 2C ., sty $3A ; 9D64 84 3A .: adc #$08 ; 9D66 69 08 i. cmp #$38 ; 9D68 C9 38 .8 bne L9D44 ; 9D6A D0 D8 .. L9D6C: lda #$00 ; 9D6C A9 00 .. L9D6E: .byte $85 ; 9D6E 85 . L9D6F: .byte $25 ; 9D6F 25 % L9D70: sta $2D ; 9D70 85 2D .- rts ; 9D72 60 ` ; ---------------------------------------------------------------------------- L9D73: adc $14 ; 9D73 65 14 e. sta $3A ; 9D75 85 3A .: lda $2C ; 9D77 A5 2C ., adc $37 ; 9D79 65 37 e7 sta $2C ; 9D7B 85 2C ., lda $2B ; 9D7D A5 2B .+ adc $36 ; 9D7F 65 36 e6 .byte $85 ; 9D81 85 . L9D82: .byte $2B ; 9D82 2B + lda $2A ; 9D83 A5 2A .* adc $35 ; 9D85 65 35 e5 sta $2A ; 9D87 85 2A .* lda $29 ; 9D89 A5 29 .) .byte $65 ; 9D8B 65 e L9D8C: bit $85,x ; 9D8C 34 85 4. .byte $29 ; 9D8E 29 ) L9D8F: lda $28 ; 9D8F A5 28 .( L9D91: adc $33 ; 9D91 65 33 e3 sta $28 ; 9D93 85 28 .( lda $27 ; 9D95 A5 27 .' adc $32 ; 9D97 65 32 e2 sta $27 ; 9D99 85 27 .' lda $26 ; 9D9B A5 26 .& adc $31 ; 9D9D 65 31 e1 sta $26 ; 9D9F 85 26 .& L9DA1: jmp L9DC3 ; 9DA1 4C C3 9D L.. ; ---------------------------------------------------------------------------- L9DA4: adc #$01 ; 9DA4 69 01 i. asl $3A ; 9DA6 06 3A .: rol $2C ; 9DA8 26 2C &, rol $2B ; 9DAA 26 2B &+ rol $2A ; 9DAC 26 2A &* rol $29 ; 9DAE 26 29 &) rol $28 ; 9DB0 26 28 &( rol $27 ; 9DB2 26 27 &' rol $26 ; 9DB4 26 26 && L9DB6: bpl L9DA4 ; 9DB6 10 EC .. sec ; 9DB8 38 8 sbc $25 ; 9DB9 E5 25 .% bcs L9D6C ; 9DBB B0 AF .. eor #$FF ; 9DBD 49 FF I. adc #$01 ; 9DBF 69 01 i. sta $25 ; 9DC1 85 25 .% L9DC3: bcc L9DD9 ; 9DC3 90 14 .. L9DC5: inc $25 ; 9DC5 E6 25 .% beq L9E2F ; 9DC7 F0 66 .f ror $26 ; 9DC9 66 26 f& ror $27 ; 9DCB 66 27 f' ror $28 ; 9DCD 66 28 f( ror $29 ; 9DCF 66 29 f) ror $2A ; 9DD1 66 2A f* ror $2B ; 9DD3 66 2B f+ ror $2C ; 9DD5 66 2C f, ror $3A ; 9DD7 66 3A f: L9DD9: rts ; 9DD9 60 ` ; ---------------------------------------------------------------------------- L9DDA: lda $2D ; 9DDA A5 2D .- eor #$FF ; 9DDC 49 FF I. sta $2D ; 9DDE 85 2D .- L9DE0: lda $26 ; 9DE0 A5 26 .& eor #$FF ; 9DE2 49 FF I. sta $26 ; 9DE4 85 26 .& lda $27 ; 9DE6 A5 27 .' eor #$FF ; 9DE8 49 FF I. sta $27 ; 9DEA 85 27 .' L9DEC: lda $28 ; 9DEC A5 28 .( eor #$FF ; 9DEE 49 FF I. sta $28 ; 9DF0 85 28 .( lda $29 ; 9DF2 A5 29 .) eor #$FF ; 9DF4 49 FF I. sta $29 ; 9DF6 85 29 .) lda $2A ; 9DF8 A5 2A .* eor #$FF ; 9DFA 49 FF I. sta $2A ; 9DFC 85 2A .* lda $2B ; 9DFE A5 2B .+ eor #$FF ; 9E00 49 FF I. sta $2B ; 9E02 85 2B .+ lda $2C ; 9E04 A5 2C ., eor #$FF ; 9E06 49 FF I. sta $2C ; 9E08 85 2C ., lda $3A ; 9E0A A5 3A .: eor #$FF ; 9E0C 49 FF I. sta $3A ; 9E0E 85 3A .: .byte $E6 ; 9E10 E6 . L9E11: dec a ; 9E11 3A : bne L9E2E ; 9E12 D0 1A .. L9E14: inc $2C ; 9E14 E6 2C ., bne L9E2E ; 9E16 D0 16 .. inc $2B ; 9E18 E6 2B .+ bne L9E2E ; 9E1A D0 12 .. inc $2A ; 9E1C E6 2A .* bne L9E2E ; 9E1E D0 0E .. inc $29 ; 9E20 E6 29 .) bne L9E2E ; 9E22 D0 0A .. inc $28 ; 9E24 E6 28 .( bne L9E2E ; 9E26 D0 06 .. inc $27 ; 9E28 E6 27 .' bne L9E2E ; 9E2A D0 02 .. inc $26 ; 9E2C E6 26 .& L9E2E: rts ; 9E2E 60 ` ; ---------------------------------------------------------------------------- L9E2F: ldx #$0F ; 9E2F A2 0F .. jmp LFB4B ; 9E31 4C 4B FB LK. ; ---------------------------------------------------------------------------- L9E34: ldx #$0B ; 9E34 A2 0B .. L9E36: ldy $07,x ; 9E36 B4 07 .. sty $3A ; 9E38 84 3A .: ldy $06,x ; 9E3A B4 06 .. sty $07,x ; 9E3C 94 07 .. ldy $05,x ; 9E3E B4 05 .. .byte $94 ; 9E40 94 . L9E41: asl $B4 ; 9E41 06 B4 .. tsb $94 ; 9E43 04 94 .. ora $B4 ; 9E45 05 B4 .. .byte $03 ; 9E47 03 . sty $04,x ; 9E48 94 04 .. .byte $B4 ; 9E4A B4 . L9E4B: .byte $02 ; 9E4B 02 . sty $03,x ; 9E4C 94 03 .. ldy $01,x ; 9E4E B4 01 .. sty $02,x ; 9E50 94 02 .. ldy $2F ; 9E52 A4 2F ./ sty $01,x ; 9E54 94 01 .. L9E56: adc #$08 ; 9E56 69 08 i. bmi L9E36 ; 9E58 30 DC 0. beq L9E36 ; 9E5A F0 DA .. sbc #$08 ; 9E5C E9 08 .. tay ; 9E5E A8 . lda $3A ; 9E5F A5 3A .: .byte $B0 ; 9E61 B0 . L9E62: inc a ; 9E62 1A . L9E63: asl $01,x ; 9E63 16 01 .. bcc L9E69 ; 9E65 90 02 .. inc $01,x ; 9E67 F6 01 .. L9E69: ror $01,x ; 9E69 76 01 v. ror $01,x ; 9E6B 76 01 v. L9E6D: ror $02,x ; 9E6D 76 02 v. ror $03,x ; 9E6F 76 03 v. ror $04,x ; 9E71 76 04 v. ror $05,x ; 9E73 76 05 v. ror $06,x ; 9E75 76 06 v. ror $07,x ; 9E77 76 07 v. ror a ; 9E79 6A j iny ; 9E7A C8 . bne L9E63 ; 9E7B D0 E6 .. L9E7D: clc ; 9E7D 18 . rts ; 9E7E 60 ` ; ---------------------------------------------------------------------------- sta ($00,x) ; 9E7F 81 00 .. brk ; 9E81 00 . brk ; 9E82 00 . brk ; 9E83 00 . brk ; 9E84 00 . brk ; 9E85 00 . brk ; 9E86 00 . php ; 9E87 08 . ror LCD2D,x ; 9E88 7E 2D CD ~-. stz $DB ; 9E8B 64 DB d. lda ($F8,x) ; 9E8D A1 F8 .. pla ; 9E8F 68 h ror LF944,x ; 9E90 7E 44 F9 ~D. cld ; 9E93 D8 . ldy CurMaxY_,x ; 9E94 B4 A6 .. bbr7 $F4,L9F17 ; 9E96 7F F4 7E ..~ .byte $63 ; 9E99 63 c rmb4 $AB ; 9E9A 47 AB G. lsr $98 ; 9E9C 46 98 F. .byte $BB ; 9E9E BB . tsb $7F ; 9E9F 04 7F .. L9EA1: asl $4D ; 9EA1 06 4D .M .byte $42 ; 9EA3 42 B jmp L11A0 ; 9EA4 4C A0 11 L.. ; ---------------------------------------------------------------------------- ror $7F ; 9EA7 66 7F f. bit $25 ; 9EA9 24 25 $% bit #$EB ; 9EAB 89 EB .. cpx #$15 ; 9EAD E0 15 .. lsr $7F ; 9EAF 46 7F F. .byte $53 ; 9EB1 53 S .byte $0B ; 9EB2 0B . lda ($53),y ; 9EB3 B1 53 .S dec $F6,x ; 9EB5 D6 F6 .. cpy $1380 ; 9EB7 CC 80 13 ... .byte $BB ; 9EBA BB . .byte $62 ; 9EBB 62 b smb0 $7C ; 9EBC 87 7C .| bbs5 $EE,L9E41 ; 9EBE DF EE 80 ... ror $38,x ; 9EC1 76 38 v8 lsr LD0E1 ; 9EC3 4E E1 D0 N.. bbr1 $E8,L9E4B ; 9EC6 1F E8 82 ... sec ; 9EC9 38 8 tax ; 9ECA AA . .byte $3B ; 9ECB 3B ; and #$5C ; 9ECC 29 5C )\ rmb1 $EE ; 9ECE 17 EE .. bra L9F07 ; 9ED0 80 35 .5 tsb $F3 ; 9ED2 04 F3 .. .byte $33 ; 9ED4 33 3 sbc $68DE,y ; 9ED5 F9 DE 68 ..h sta ($35,x) ; 9ED8 81 35 .5 tsb $F3 ; 9EDA 04 F3 .. .byte $33 ; 9EDC 33 3 sbc $68DE,y ; 9EDD F9 DE 68 ..h bra L9E62 ; 9EE0 80 80 .. brk ; 9EE2 00 . brk ; 9EE3 00 . brk ; 9EE4 00 . brk ; 9EE5 00 . brk ; 9EE6 00 . brk ; 9EE7 00 . bra L9F1B ; 9EE8 80 31 .1 adc ($17) ; 9EEA 72 17 r. smb7 $D1 ; 9EEC F7 D1 .. .byte $CF ; 9EEE CF . .byte $7C ; 9EEF 7C | L9EF0: jsr LA29A ; 9EF0 20 9A A2 .. beq $9EF7 ; 9EF3 F0 02 .. bpl L9EFA ; 9EF5 10 03 .. jmp L9C05 ; 9EF7 4C 05 9C L.. ; ---------------------------------------------------------------------------- L9EFA: .byte $A5 ; 9EFA A5 . L9EFB: and $E9 ; 9EFB 25 E9 %. bbr7 $48,$48 ; 9EFD 7F 48 A9 .H. bra $9E87 ; 9F00 80 85 .. and $A9 ; 9F02 25 A9 %. bne $9EA6 ; 9F04 D0 A0 .. .byte $9E ; 9F06 9E . L9F07: jsr L9F3C ; 9F07 20 3C 9F <. lda #$D8 ; 9F0A A9 D8 .. ldy #$9E ; 9F0C A0 9E .. jsr L9F54 ; 9F0E 20 54 9F T. L9F11: lda #$7F ; 9F11 A9 7F .. ldy #$9E ; 9F13 A0 9E .. .byte $20 ; 9F15 20 pha ; 9F16 48 H L9F17: .byte $9F ; 9F17 9F . L9F18: lda #$87 ; 9F18 A9 87 .. .byte $A0 ; 9F1A A0 . L9F1B: .byte $9E ; 9F1B 9E . L9F1C: .byte $20 ; 9F1C 20 L9F1D: ror $A9A7,x ; 9F1D 7E A7 A9 ~.. cpx #$A0 ; 9F20 E0 A0 .. stz $3C20,x ; 9F22 9E 20 3C . < bbs1 $68,L9F48 ; 9F25 9F 68 20 .h and (CurMaxX_,x) ; 9F28 21 A4 !. lda #$E8 ; 9F2A A9 E8 .. ldy #$9E ; 9F2C A0 9E .. L9F2E: .byte $20 ; 9F2E 20 .byte $F1 ; 9F2F F1 . L9F30: .byte $9F ; 9F30 9F . L9F31: bra L9F63 ; 9F31 80 30 .0 jsr LA06D ; 9F33 20 6D A0 m. bra L9F63 ; 9F36 80 2B .+ L9F38: lda #$BF ; 9F38 A9 BF .. ldy #$A5 ; 9F3A A0 A5 .. L9F3C: jsr L9FF1 ; 9F3C 20 F1 9F .. jmp L9CBE ; 9F3F 4C BE 9C L.. ; ---------------------------------------------------------------------------- jsr LA06D ; 9F42 20 6D A0 m. jmp L9CBE ; 9F45 4C BE 9C L.. ; ---------------------------------------------------------------------------- L9F48: jsr L9FF1 ; 9F48 20 F1 9F .. jmp L9CA7 ; 9F4B 4C A7 9C L.. ; ---------------------------------------------------------------------------- jsr LA06D ; 9F4E 20 6D A0 m. jmp L9CA7 ; 9F51 4C A7 9C L.. ; ---------------------------------------------------------------------------- L9F54: jsr L9FF1 ; 9F54 20 F1 9F .. jmp LA0F9 ; 9F57 4C F9 A0 L.. ; ---------------------------------------------------------------------------- jsr LA06D ; 9F5A 20 6D A0 m. jmp LA0F9 ; 9F5D 4C F9 A0 L.. ; ---------------------------------------------------------------------------- L9F60: jsr LA02B ; 9F60 20 2B A0 +. L9F63: bne L9F68 ; 9F63 D0 03 .. jmp L9FF0 ; 9F65 4C F0 9F L.. ; ---------------------------------------------------------------------------- L9F68: jsr LA096 ; 9F68 20 96 A0 .. lda #$00 ; 9F6B A9 00 .. sta $0C ; 9F6D 85 0C .. sta $0D ; 9F6F 85 0D .. sta $0E ; 9F71 85 0E .. sta $0F ; 9F73 85 0F .. sta $10 ; 9F75 85 10 .. sta $11 ; 9F77 85 11 .. sta $12 ; 9F79 85 12 .. lda $3A ; 9F7B A5 3A .: jsr L9FA6 ; 9F7D 20 A6 9F .. lda $2C ; 9F80 A5 2C ., jsr L9FA6 ; 9F82 20 A6 9F .. L9F85: lda $2B ; 9F85 A5 2B .+ jsr L9FA6 ; 9F87 20 A6 9F .. lda $2A ; 9F8A A5 2A .* jsr L9FA6 ; 9F8C 20 A6 9F .. lda $29 ; 9F8F A5 29 .) jsr L9FA6 ; 9F91 20 A6 9F .. lda $28 ; 9F94 A5 28 .( jsr L9FA6 ; 9F96 20 A6 9F .. lda $27 ; 9F99 A5 27 .' jsr L9FA6 ; 9F9B 20 A6 9F .. lda $26 ; 9F9E A5 26 .& jsr L9FAB ; 9FA0 20 AB 9F .. jmp LA198 ; 9FA3 4C 98 A1 L.. ; ---------------------------------------------------------------------------- L9FA6: bne L9FAB ; 9FA6 D0 03 .. jmp L9E34 ; 9FA8 4C 34 9E L4. ; ---------------------------------------------------------------------------- L9FAB: lsr a ; 9FAB 4A J ora #$80 ; 9FAC 09 80 .. L9FAE: tay ; 9FAE A8 . bcc L9FDC ; 9FAF 90 2B .+ clc ; 9FB1 18 . lda $12 ; 9FB2 A5 12 .. adc $37 ; 9FB4 65 37 e7 sta $12 ; 9FB6 85 12 .. lda $11 ; 9FB8 A5 11 .. L9FBA: adc $36 ; 9FBA 65 36 e6 sta $11 ; 9FBC 85 11 .. lda $10 ; 9FBE A5 10 .. adc $35 ; 9FC0 65 35 e5 sta $10 ; 9FC2 85 10 .. lda $0F ; 9FC4 A5 0F .. adc $34 ; 9FC6 65 34 e4 sta $0F ; 9FC8 85 0F .. lda $0E ; 9FCA A5 0E .. adc $33 ; 9FCC 65 33 e3 sta $0E ; 9FCE 85 0E .. lda $0D ; 9FD0 A5 0D .. adc $32 ; 9FD2 65 32 e2 sta $0D ; 9FD4 85 0D .. lda $0C ; 9FD6 A5 0C .. adc $31 ; 9FD8 65 31 e1 sta $0C ; 9FDA 85 0C .. L9FDC: ror $0C ; 9FDC 66 0C f. ror $0D ; 9FDE 66 0D f. ror $0E ; 9FE0 66 0E f. ror $0F ; 9FE2 66 0F f. ror $10 ; 9FE4 66 10 f. ror $11 ; 9FE6 66 11 f. ror $12 ; 9FE8 66 12 f. ror $3A ; 9FEA 66 3A f: tya ; 9FEC 98 . lsr a ; 9FED 4A J bne L9FAE ; 9FEE D0 BE .. L9FF0: rts ; 9FF0 60 ` ; ---------------------------------------------------------------------------- L9FF1: sta $08 ; 9FF1 85 08 .. sty $09 ; 9FF3 84 09 .. ldy #$07 ; 9FF5 A0 07 .. lda ($08),y ; 9FF7 B1 08 .. sta $37 ; 9FF9 85 37 .7 dey ; 9FFB 88 . lda ($08),y ; 9FFC B1 08 .. sta $36 ; 9FFE 85 36 .6 dey ; A000 88 . lda ($08),y ; A001 B1 08 .. sta $35 ; A003 85 35 .5 dey ; A005 88 . lda ($08),y ; A006 B1 08 .. sta $34 ; A008 85 34 .4 dey ; A00A 88 . lda ($08),y ; A00B B1 08 .. sta $33 ; A00D 85 33 .3 dey ; A00F 88 . lda ($08),y ; A010 B1 08 .. sta $32 ; A012 85 32 .2 dey ; A014 88 . lda ($08),y ; A015 B1 08 .. sta $38 ; A017 85 38 .8 eor $2D ; A019 45 2D E- sta $39 ; A01B 85 39 .9 lda $38 ; A01D A5 38 .8 ora #$80 ; A01F 09 80 .. sta $31 ; A021 85 31 .1 dey ; A023 88 . lda ($08),y ; A024 B1 08 .. sta $30 ; A026 85 30 .0 lda $25 ; A028 A5 25 .% rts ; A02A 60 ` ; ---------------------------------------------------------------------------- LA02B: sta $08 ; A02B 85 08 .. sty $09 ; A02D 84 09 .. ldy #$07 ; A02F A0 07 .. jsr L9C36 ; A031 20 36 9C 6. sta $37 ; A034 85 37 .7 dey ; A036 88 . jsr L9C36 ; A037 20 36 9C 6. sta $36 ; A03A 85 36 .6 dey ; A03C 88 . jsr L9C36 ; A03D 20 36 9C 6. sta $35 ; A040 85 35 .5 dey ; A042 88 . jsr L9C36 ; A043 20 36 9C 6. sta $34 ; A046 85 34 .4 dey ; A048 88 . jsr L9C36 ; A049 20 36 9C 6. sta $33 ; A04C 85 33 .3 dey ; A04E 88 . jsr L9C36 ; A04F 20 36 9C 6. sta $32 ; A052 85 32 .2 dey ; A054 88 . LA055: jsr L9C36 ; A055 20 36 9C 6. sta $38 ; A058 85 38 .8 eor $2D ; A05A 45 2D E- sta $39 ; A05C 85 39 .9 lda $38 ; A05E A5 38 .8 ora #$80 ; A060 09 80 .. sta $31 ; A062 85 31 .1 dey ; A064 88 . .byte $20 ; A065 20 .byte $36 ; A066 36 6 LA067: .byte $9C ; A067 9C . LA068: sta $30 ; A068 85 30 .0 lda $25 ; A06A A5 25 .% rts ; A06C 60 ` ; ---------------------------------------------------------------------------- LA06D: sta $08 ; A06D 85 08 .. sty $09 ; A06F 84 09 .. .byte $A0 ; A071 A0 . LA072: .byte $07 ; A072 07 . LA073: jsr L9C3E ; A073 20 3E 9C >. sta $30,y ; A076 99 30 00 .0. dey ; A079 88 . cpy #$02 ; A07A C0 02 .. bcs LA073 ; A07C B0 F5 .. jsr L9C3E ; A07E 20 3E 9C >. sta $38 ; A081 85 38 .8 eor $2D ; A083 45 2D E- sta $39 ; A085 85 39 .9 lda $38 ; A087 A5 38 .8 ora #$80 ; A089 09 80 .. sta $31 ; A08B 85 31 .1 dey ; A08D 88 . jsr L9C3E ; A08E 20 3E 9C >. sta $30 ; A091 85 30 .0 lda $25 ; A093 A5 25 .% rts ; A095 60 ` ; ---------------------------------------------------------------------------- LA096: lda $30 ; A096 A5 30 .0 LA098: beq LA0B9 ; A098 F0 1F .. clc ; A09A 18 . adc $25 ; A09B 65 25 e% bcc LA0A3 ; A09D 90 04 .. bmi LA0BE ; A09F 30 1D 0. clc ; A0A1 18 . .byte $2C ; A0A2 2C , LA0A3: bpl LA0B9 ; A0A3 10 14 .. adc #$80 ; A0A5 69 80 i. sta $25 ; A0A7 85 25 .% bne LA0AE ; A0A9 D0 03 .. jmp L9D70 ; A0AB 4C 70 9D Lp. ; ---------------------------------------------------------------------------- LA0AE: lda $39 ; A0AE A5 39 .9 sta $2D ; A0B0 85 2D .- rts ; A0B2 60 ` ; ---------------------------------------------------------------------------- LA0B3: lda $2D ; A0B3 A5 2D .- eor #$FF ; A0B5 49 FF I. bmi LA0BE ; A0B7 30 05 0. LA0B9: pla ; A0B9 68 h pla ; A0BA 68 h jmp L9D6C ; A0BB 4C 6C 9D Ll. ; ---------------------------------------------------------------------------- LA0BE: jmp L9E2F ; A0BE 4C 2F 9E L/. ; ---------------------------------------------------------------------------- LA0C1: jsr LA27B ; A0C1 20 7B A2 {. tax ; A0C4 AA . beq LA0D7 ; A0C5 F0 10 .. clc ; A0C7 18 . adc #$02 ; A0C8 69 02 i. bcs LA0BE ; A0CA B0 F2 .. ldx #$00 ; A0CC A2 00 .. stx $39 ; A0CE 86 39 .9 jsr L9CCB ; A0D0 20 CB 9C .. inc $25 ; A0D3 E6 25 .% beq LA0BE ; A0D5 F0 E7 .. LA0D7: rts ; A0D7 60 ` ; ---------------------------------------------------------------------------- sty $20 ; A0D8 84 20 . brk ; A0DA 00 . brk ; A0DB 00 . brk ; A0DC 00 . brk ; A0DD 00 . brk ; A0DE 00 . brk ; A0DF 00 . LA0E0: ldx #$14 ; A0E0 A2 14 .. jmp LFB4B ; A0E2 4C 4B FB LK. ; ---------------------------------------------------------------------------- LA0E5: .byte $20 ; A0E5 20 LA0E6: .byte $7B ; A0E6 7B { ldx #$A9 ; A0E7 A2 A9 .. cld ; A0E9 D8 . ldy #$A0 ; A0EA A0 A0 .. ldx #$00 ; A0EC A2 00 .. LA0EE: stx $39 ; A0EE 86 39 .9 jsr LA1DD ; A0F0 20 DD A1 .. jmp LA0F9 ; A0F3 4C F9 A0 L.. ; ---------------------------------------------------------------------------- LA0F6: jsr LA02B ; A0F6 20 2B A0 +. LA0F9: beq LA0E0 ; A0F9 F0 E5 .. jsr LA28A ; A0FB 20 8A A2 .. lda #$00 ; A0FE A9 00 .. sec ; A100 38 8 sbc $25 ; A101 E5 25 .% sta $25 ; A103 85 25 .% .byte $20 ; A105 20 .byte $96 ; A106 96 . LA107: ldy #$E6 ; A107 A0 E6 .. and $F0 ; A109 25 F0 %. lda (CursorY) ; A10B B2 A2 .. sbc stack+169,y ; A10D F9 A9 01 ... LA110: ldy $31 ; A110 A4 31 .1 cpy $26 ; A112 C4 26 .& bne LA138 ; A114 D0 22 ." ldy $32 ; A116 A4 32 .2 cpy $27 ; A118 C4 27 .' bne LA138 ; A11A D0 1C .. ldy $33 ; A11C A4 33 .3 cpy $28 ; A11E C4 28 .( bne LA138 ; A120 D0 16 .. ldy $34 ; A122 A4 34 .4 cpy $29 ; A124 C4 29 .) bne LA138 ; A126 D0 10 .. ldy $35 ; A128 A4 35 .5 cpy $2A ; A12A C4 2A .* bne LA138 ; A12C D0 0A .. ldy $36 ; A12E A4 36 .6 cpy $2B ; A130 C4 2B .+ bne LA138 ; A132 D0 04 .. ldy $37 ; A134 A4 37 .7 cpy $2C ; A136 C4 2C ., LA138: php ; A138 08 . rol a ; A139 2A * bcc LA145 ; A13A 90 09 .. inx ; A13C E8 . sta $12,x ; A13D 95 12 .. beq LA18B ; A13F F0 4A .J bpl LA18F ; A141 10 4C .L lda #$01 ; A143 A9 01 .. LA145: plp ; A145 28 ( bcs LA15C ; A146 B0 14 .. LA148: asl $37 ; A148 06 37 .7 LA14A: rol $36 ; A14A 26 36 &6 rol $35 ; A14C 26 35 &5 rol $34 ; A14E 26 34 &4 rol $33 ; A150 26 33 &3 rol $32 ; A152 26 32 &2 rol $31 ; A154 26 31 &1 bcs LA138 ; A156 B0 E0 .. bmi LA110 ; A158 30 B6 0. bpl LA138 ; A15A 10 DC .. LA15C: tay ; A15C A8 . lda $37 ; A15D A5 37 .7 sbc $2C ; A15F E5 2C ., sta $37 ; A161 85 37 .7 lda $36 ; A163 A5 36 .6 sbc $2B ; A165 E5 2B .+ sta $36 ; A167 85 36 .6 lda $35 ; A169 A5 35 .5 sbc $2A ; A16B E5 2A .* sta $35 ; A16D 85 35 .5 lda $34 ; A16F A5 34 .4 sbc $29 ; A171 E5 29 .) sta $34 ; A173 85 34 .4 .byte $A5 ; A175 A5 . LA176: .byte $33 ; A176 33 3 sbc $28 ; A177 E5 28 .( sta $33 ; A179 85 33 .3 lda $32 ; A17B A5 32 .2 sbc $27 ; A17D E5 27 .' sta $32 ; A17F 85 32 .2 lda $31 ; A181 A5 31 .1 sbc $26 ; A183 E5 26 .& sta $31 ; A185 85 31 .1 tya ; A187 98 . jmp LA148 ; A188 4C 48 A1 LH. ; ---------------------------------------------------------------------------- LA18B: lda #$40 ; A18B A9 40 .@ bne LA145 ; A18D D0 B6 .. LA18F: asl a ; A18F 0A . asl a ; A190 0A . asl a ; A191 0A . asl a ; A192 0A . asl a ; A193 0A . asl a ; A194 0A . sta $3A ; A195 85 3A .: plp ; A197 28 ( LA198: lda $0C ; A198 A5 0C .. sta $26 ; A19A 85 26 .& lda $0D ; A19C A5 0D .. sta $27 ; A19E 85 27 .' lda $0E ; A1A0 A5 0E .. sta $28 ; A1A2 85 28 .( lda $0F ; A1A4 A5 0F .. sta $29 ; A1A6 85 29 .) lda $10 ; A1A8 A5 10 .. sta $2A ; A1AA 85 2A .* lda $11 ; A1AC A5 11 .. sta $2B ; A1AE 85 2B .+ lda $12 ; A1B0 A5 12 .. sta $2C ; A1B2 85 2C ., jmp L9D40 ; A1B4 4C 40 9D L@. ; ---------------------------------------------------------------------------- sec ; A1B7 38 8 sta $08 ; A1B8 85 08 .. sty $09 ; A1BA 84 09 .. ldy #$07 ; A1BC A0 07 .. LA1BE: jsr L9C3E ; A1BE 20 3E 9C >. sta $25,y ; A1C1 99 25 00 .%. dey ; A1C4 88 . cpy #$02 ; A1C5 C0 02 .. bcs LA1BE ; A1C7 B0 F5 .. jsr L9C3E ; A1C9 20 3E 9C >. sta $2D ; A1CC 85 2D .- ora #$80 ; A1CE 09 80 .. sta $26 ; A1D0 85 26 .& dey ; A1D2 88 . jsr L9C3E ; A1D3 20 3E 9C >. sta $25 ; A1D6 85 25 .% sty $3A ; A1D8 84 3A .: rts ; A1DA 60 ` ; ---------------------------------------------------------------------------- clc ; A1DB 18 . .byte $24 ; A1DC 24 $ LA1DD: sec ; A1DD 38 8 sta $08 ; A1DE 85 08 .. sty $09 ; A1E0 84 09 .. ldy #$07 ; A1E2 A0 07 .. jsr LA331 ; A1E4 20 31 A3 1. sta $2C ; A1E7 85 2C ., dey ; A1E9 88 . jsr LA331 ; A1EA 20 31 A3 1. sta $2B ; A1ED 85 2B .+ dey ; A1EF 88 . jsr LA331 ; A1F0 20 31 A3 1. sta $2A ; A1F3 85 2A .* dey ; A1F5 88 . jsr LA331 ; A1F6 20 31 A3 1. sta $29 ; A1F9 85 29 .) dey ; A1FB 88 . jsr LA331 ; A1FC 20 31 A3 1. sta $28 ; A1FF 85 28 .( dey ; A201 88 . jsr LA331 ; A202 20 31 A3 1. sta $27 ; A205 85 27 .' dey ; A207 88 . jsr LA331 ; A208 20 31 A3 1. sta $2D ; A20B 85 2D .- ora #$80 ; A20D 09 80 .. sta $26 ; A20F 85 26 .& dey ; A211 88 . jsr LA331 ; A212 20 31 A3 1. sta $25 ; A215 85 25 .% sty $3A ; A217 84 3A .: rts ; A219 60 ` ; ---------------------------------------------------------------------------- tax ; A21A AA . bra LA227 ; A21B 80 0A .. LA21D: ldx #$1D ; A21D A2 1D .. .byte $2C ; A21F 2C , LA220: ldx #$15 ; A220 A2 15 .. .byte $A0 ; A222 A0 . LA223: brk ; A223 00 . beq LA227 ; A224 F0 01 .. tax ; A226 AA . LA227: jsr LA28A ; A227 20 8A A2 .. stx $08 ; A22A 86 08 .. sty $09 ; A22C 84 09 .. ldy #$07 ; A22E A0 07 .. lda #$08 ; A230 A9 08 .. sta $0360 ; A232 8D 60 03 .`. lda $2C ; A235 A5 2C ., jsr FROM_C68D ; A237 20 5C 03 \. dey ; A23A 88 . lda $2B ; A23B A5 2B .+ jsr FROM_C68D ; A23D 20 5C 03 \. dey ; A240 88 . lda $2A ; A241 A5 2A .* jsr FROM_C68D ; A243 20 5C 03 \. dey ; A246 88 . lda $29 ; A247 A5 29 .) jsr FROM_C68D ; A249 20 5C 03 \. dey ; A24C 88 . lda $28 ; A24D A5 28 .( jsr FROM_C68D ; A24F 20 5C 03 \. dey ; A252 88 . lda $27 ; A253 A5 27 .' jsr FROM_C68D ; A255 20 5C 03 \. dey ; A258 88 . lda $2D ; A259 A5 2D .- ora #$7F ; A25B 09 7F .. and $26 ; A25D 25 26 %& jsr FROM_C68D ; A25F 20 5C 03 \. dey ; A262 88 . lda $25 ; A263 A5 25 .% jsr FROM_C68D ; A265 20 5C 03 \. sty $3A ; A268 84 3A .: rts ; A26A 60 ` ; ---------------------------------------------------------------------------- LA26B: lda $38 ; A26B A5 38 .8 LA26D: sta $2D ; A26D 85 2D .- ldx #$08 ; A26F A2 08 .. LA271: lda $2F,x ; A271 B5 2F ./ sta $24,x ; A273 95 24 .$ dex ; A275 CA . bne LA271 ; A276 D0 F9 .. stx $3A ; A278 86 3A .: rts ; A27A 60 ` ; ---------------------------------------------------------------------------- LA27B: jsr LA28A ; A27B 20 8A A2 .. LA27E: ldx #$09 ; A27E A2 09 .. LA280: lda $24,x ; A280 B5 24 .$ sta $2F,x ; A282 95 2F ./ dex ; A284 CA . bne LA280 ; A285 D0 F9 .. stx $3A ; A287 86 3A .: LA289: rts ; A289 60 ` ; ---------------------------------------------------------------------------- LA28A: lda $25 ; A28A A5 25 .% beq LA289 ; A28C F0 FB .. asl $3A ; A28E 06 3A .: bcc LA289 ; A290 90 F7 .. LA292: jsr L9E14 ; A292 20 14 9E .. bne LA289 ; A295 D0 F2 .. jmp L9DC5 ; A297 4C C5 9D L.. ; ---------------------------------------------------------------------------- LA29A: lda $25 ; A29A A5 25 .% beq LA2A7 ; A29C F0 09 .. LA29E: lda $2D ; A29E A5 2D .- LA2A0: rol a ; A2A0 2A * lda #$FF ; A2A1 A9 FF .. bcs LA2A7 ; A2A3 B0 02 .. lda #$01 ; A2A5 A9 01 .. LA2A7: rts ; A2A7 60 ` ; ---------------------------------------------------------------------------- jsr LA29A ; A2A8 20 9A A2 .. LA2AB: sta $26 ; A2AB 85 26 .& lda #$00 ; A2AD A9 00 .. sta $27 ; A2AF 85 27 .' ldx #$88 ; A2B1 A2 88 .. LA2B3: lda $26 ; A2B3 A5 26 .& eor #$FF ; A2B5 49 FF I. rol a ; A2B7 2A * LA2B8: lda #$00 ; A2B8 A9 00 .. sta $2C ; A2BA 85 2C ., sta $2B ; A2BC 85 2B .+ sta $2A ; A2BE 85 2A .* sta $29 ; A2C0 85 29 .) sta $28 ; A2C2 85 28 .( LA2C4: stx $25 ; A2C4 86 25 .% sta $3A ; A2C6 85 3A .: sta $2D ; A2C8 85 2D .- .byte $4C ; A2CA 4C L LA2CB: .byte $3B ; A2CB 3B ; sta $FA5A,x ; A2CC 9D 5A FA .Z. bra LA2C4 ; A2CF 80 F3 .. phy ; A2D1 5A Z plx ; A2D2 FA . bra LA2B8 ; A2D3 80 E3 .. phy ; A2D5 5A Z plx ; A2D6 FA . bra LA2B3 ; A2D7 80 DA .. lsr $2D ; A2D9 46 2D F- rts ; A2DB 60 ` ; ---------------------------------------------------------------------------- LA2DC: sta $0A ; A2DC 85 0A .. sty $0B ; A2DE 84 0B .. ldy #$00 ; A2E0 A0 00 .. lda ($0A),y ; A2E2 B1 0A .. iny ; A2E4 C8 . tax ; A2E5 AA . beq LA29A ; A2E6 F0 B2 .. lda ($0A),y ; A2E8 B1 0A .. eor $2D ; A2EA 45 2D E- bmi LA29E ; A2EC 30 B0 0. cpx $25 ; A2EE E4 25 .% bne LA328 ; A2F0 D0 36 .6 lda ($0A),y ; A2F2 B1 0A .. ora #$80 ; A2F4 09 80 .. cmp $26 ; A2F6 C5 26 .& bne LA328 ; A2F8 D0 2E .. iny ; A2FA C8 . lda ($0A),y ; A2FB B1 0A .. cmp $27 ; A2FD C5 27 .' bne LA328 ; A2FF D0 27 .' iny ; A301 C8 . lda ($0A),y ; A302 B1 0A .. cmp $28 ; A304 C5 28 .( bne LA328 ; A306 D0 20 . iny ; A308 C8 . lda ($0A),y ; A309 B1 0A .. cmp $29 ; A30B C5 29 .) bne LA328 ; A30D D0 19 .. iny ; A30F C8 . lda ($0A),y ; A310 B1 0A .. cmp $2A ; A312 C5 2A .* bne LA328 ; A314 D0 12 .. iny ; A316 C8 . lda ($0A),y ; A317 B1 0A .. cmp $2B ; A319 C5 2B .+ bne LA328 ; A31B D0 0B .. iny ; A31D C8 . lda #$7F ; A31E A9 7F .. cmp $3A ; A320 C5 3A .: lda ($0A),y ; A322 B1 0A .. sbc $2C ; A324 E5 2C ., beq LA357 ; A326 F0 2F ./ LA328: lda $2D ; A328 A5 2D .- bcc LA32E ; A32A 90 02 .. eor #$FF ; A32C 49 FF I. LA32E: jmp LA2A0 ; A32E 4C A0 A2 L.. ; ---------------------------------------------------------------------------- LA331: lda ($08),y ; A331 B1 08 .. bcs LA357 ; A333 B0 22 ." jmp L9C36 ; A335 4C 36 9C L6. ; ---------------------------------------------------------------------------- LA338: lda $25 ; A338 A5 25 .% beq LA386 ; A33A F0 4A .J sec ; A33C 38 8 sbc #$B8 ; A33D E9 B8 .. bit $2D ; A33F 24 2D $- bpl LA34C ; A341 10 09 .. tax ; A343 AA . lda #$FF ; A344 A9 FF .. sta $2F ; A346 85 2F ./ jsr L9DE0 ; A348 20 E0 9D .. txa ; A34B 8A . LA34C: ldx #$25 ; A34C A2 25 .% cmp #$F9 ; A34E C9 F9 .. bpl LA358 ; A350 10 06 .. jsr L9E56 ; A352 20 56 9E V. sty $2F ; A355 84 2F ./ LA357: rts ; A357 60 ` ; ---------------------------------------------------------------------------- LA358: tay ; A358 A8 . lda $2D ; A359 A5 2D .- and #$80 ; A35B 29 80 ). lsr $26 ; A35D 46 26 F& ora $26 ; A35F 05 26 .& sta $26 ; A361 85 26 .& jsr L9E6D ; A363 20 6D 9E m. sty $2F ; A366 84 2F ./ rts ; A368 60 ` ; ---------------------------------------------------------------------------- LA369: lda $25 ; A369 A5 25 .% cmp #$B8 ; A36B C9 B8 .. bcs LA395 ; A36D B0 26 .& jsr LA338 ; A36F 20 38 A3 8. .byte $84 ; A372 84 . LA373: dec a ; A373 3A : lda $2D ; A374 A5 2D .- sty $2D ; A376 84 2D .- eor #$80 ; A378 49 80 I. rol a ; A37A 2A * lda #$B8 ; A37B A9 B8 .. sta $25 ; A37D 85 25 .% lda $2C ; A37F A5 2C ., sta $00 ; A381 85 00 .. jmp L9D3B ; A383 4C 3B 9D L;. ; ---------------------------------------------------------------------------- LA386: sta $26 ; A386 85 26 .& sta $27 ; A388 85 27 .' sta $28 ; A38A 85 28 .( sta $29 ; A38C 85 29 .) .byte $85 ; A38E 85 . LA38F: rol a ; A38F 2A * sta $2B ; A390 85 2B .+ sta $2C ; A392 85 2C ., tay ; A394 A8 . LA395: rts ; A395 60 ` ; ---------------------------------------------------------------------------- LA396: ldy #$00 ; A396 A0 00 .. LA398: ldx #$0D ; A398 A2 0D .. LA39A: sty $21,x ; A39A 94 21 .! dex ; A39C CA . bpl LA39A ; A39D 10 FB .. bcc LA3B0 ; A39F 90 0F .. cmp #$2D ; A3A1 C9 2D .- bne LA3A9 ; A3A3 D0 04 .. stx $2E ; A3A5 86 2E .. beq LA3AD ; A3A7 F0 04 .. LA3A9: cmp #$2B ; A3A9 C9 2B .+ bne LA3B2 ; A3AB D0 05 .. LA3AD: jsr L9C0D ; A3AD 20 0D 9C .. LA3B0: bcc LA40D ; A3B0 90 5B .[ LA3B2: cmp #$2E ; A3B2 C9 2E .. beq LA3E4 ; A3B4 F0 2E .. cmp #$45 ; A3B6 C9 45 .E bne LA3EA ; A3B8 D0 30 .0 jsr L9C0D ; A3BA 20 0D 9C .. bcc LA3D6 ; A3BD 90 17 .. cmp #$AB ; A3BF C9 AB .. LA3C1: beq LA3D1 ; A3C1 F0 0E .. cmp #$2D ; A3C3 C9 2D .- beq LA3D1 ; A3C5 F0 0A .. cmp #$AA ; A3C7 C9 AA .. beq LA3D3 ; A3C9 F0 08 .. cmp #$2B ; A3CB C9 2B .+ beq LA3D3 ; A3CD F0 04 .. LA3CF: bne LA3D8 ; A3CF D0 07 .. LA3D1: ror $24 ; A3D1 66 24 f$ LA3D3: jsr L9C0D ; A3D3 20 0D 9C .. LA3D6: bcc LA434 ; A3D6 90 5C .\ LA3D8: bit $24 ; A3D8 24 24 $$ bpl LA3EA ; A3DA 10 0E .. lda #$00 ; A3DC A9 00 .. sec ; A3DE 38 8 sbc $22 ; A3DF E5 22 ." jmp LA3EC ; A3E1 4C EC A3 L.. ; ---------------------------------------------------------------------------- LA3E4: ror $23 ; A3E4 66 23 f# bit $23 ; A3E6 24 23 $# bvc LA3AD ; A3E8 50 C3 P. LA3EA: lda $22 ; A3EA A5 22 ." LA3EC: sec ; A3EC 38 8 sbc $21 ; A3ED E5 21 .! sta $22 ; A3EF 85 22 ." beq LA405 ; A3F1 F0 12 .. bpl LA3FE ; A3F3 10 09 .. LA3F5: jsr LA0E5 ; A3F5 20 E5 A0 .. inc $22 ; A3F8 E6 22 ." bne LA3F5 ; A3FA D0 F9 .. beq LA405 ; A3FC F0 07 .. LA3FE: jsr LA0C1 ; A3FE 20 C1 A0 .. dec $22 ; A401 C6 22 ." bne LA3FE ; A403 D0 F9 .. LA405: lda $2E ; A405 A5 2E .. bmi LA40A ; A407 30 01 0. rts ; A409 60 ` ; ---------------------------------------------------------------------------- LA40A: jmp LA6A7 ; A40A 4C A7 A6 L.. ; ---------------------------------------------------------------------------- LA40D: pha ; A40D 48 H LA40E: bit $23 ; A40E 24 23 $# bpl LA414 ; A410 10 02 .. inc $21 ; A412 E6 21 .! LA414: jsr LA0C1 ; A414 20 C1 A0 .. pla ; A417 68 h sec ; A418 38 8 sbc #$30 ; A419 E9 30 .0 jsr LA421 ; A41B 20 21 A4 !. jmp LA3AD ; A41E 4C AD A3 L.. ; ---------------------------------------------------------------------------- LA421: pha ; A421 48 H jsr LA27B ; A422 20 7B A2 {. pla ; A425 68 h jsr LA2AB ; A426 20 AB A2 .. lda $38 ; A429 A5 38 .8 eor $2D ; A42B 45 2D E- sta $39 ; A42D 85 39 .9 ldx $25 ; A42F A6 25 .% jmp L9CBE ; A431 4C BE 9C L.. ; ---------------------------------------------------------------------------- LA434: lda $22 ; A434 A5 22 ." cmp #$0A ; A436 C9 0A .. bcc LA443 ; A438 90 09 .. lda #$64 ; A43A A9 64 .d bit $24 ; A43C 24 24 $$ bmi LA456 ; A43E 30 16 0. jmp L9E2F ; A440 4C 2F 9E L/. ; ---------------------------------------------------------------------------- LA443: asl a ; A443 0A . asl a ; A444 0A . clc ; A445 18 . adc $22 ; A446 65 22 e" asl a ; A448 0A . clc ; A449 18 . ldy #$00 ; A44A A0 00 .. sta $22 ; A44C 85 22 ." jsr L9C2E ; A44E 20 2E 9C .. .byte $65 ; A451 65 e LA452: .byte $22 ; A452 22 " sec ; A453 38 8 sbc #$30 ; A454 E9 30 .0 LA456: sta $22 ; A456 85 22 ." jmp LA3D3 ; A458 4C D3 A3 L.. ; ---------------------------------------------------------------------------- .byte $AF,$35,$E6,$20,$F4,$7F,$FF,$CC ; A45B AF 35 E6 20 F4 7F FF CC .5. .... .byte $B2,$63,$5F,$A9,$31,$9F,$FF,$E8 ; A463 B2 63 5F A9 31 9F FF E8 .c_.1... .byte $B2,$63,$5F,$A9,$31,$9F,$FF,$FC ; A46B B2 63 5F A9 31 9F FF FC .c_.1... .byte $A0,$01,$A9,$20,$24,$2D,$10,$02 ; A473 A0 01 A9 20 24 2D 10 02 ... $-.. .byte $A9,$2D,$99,$FF,$00,$85,$2D,$84 ; A47B A9 2D 99 FF 00 85 2D 84 .-....-. .byte $3B,$C8,$A9,$30,$A6,$25,$D0,$03 ; A483 3B C8 A9 30 A6 25 D0 03 ;..0.%.. ; ---------------------------------------------------------------------------- LA48B: jmp LA5B2 ; A48B 4C B2 A5 L.. ; ---------------------------------------------------------------------------- lda #$00 ; A48E A9 00 .. cpx #$80 ; A490 E0 80 .. beq LA496 ; A492 F0 02 .. bcs LA49F ; A494 B0 09 .. LA496: lda #$6B ; A496 A9 6B .k ldy #$A4 ; A498 A0 A4 .. jsr L9F2E ; A49A 20 2E 9F .. lda #$F1 ; A49D A9 F1 .. LA49F: sta $21 ; A49F 85 21 .! LA4A1: lda #$63 ; A4A1 A9 63 .c ldy #$A4 ; A4A3 A0 A4 .. jsr LA2DC ; A4A5 20 DC A2 .. beq LA4C8 ; A4A8 F0 1E .. bpl LA4BE ; A4AA 10 12 .. LA4AC: lda #$5B ; A4AC A9 5B .[ ldy #$A4 ; A4AE A0 A4 .. jsr LA2DC ; A4B0 20 DC A2 .. LA4B3: beq LA4B7 ; A4B3 F0 02 .. bpl LA4C5 ; A4B5 10 0E .. LA4B7: jsr LA0C1 ; A4B7 20 C1 A0 .. dec $21 ; A4BA C6 21 .! bne LA4AC ; A4BC D0 EE .. LA4BE: jsr LA0E5 ; A4BE 20 E5 A0 .. inc $21 ; A4C1 E6 21 .! bne LA4A1 ; A4C3 D0 DC .. LA4C5: jsr L9F38 ; A4C5 20 38 9F 8. LA4C8: jsr LA338 ; A4C8 20 38 A3 8. ldx #$01 ; A4CB A2 01 .. .byte $A5 ; A4CD A5 . LA4CE: and ($18,x) ; A4CE 21 18 !. adc #$10 ; A4D0 69 10 i. LA4D2: bmi LA4DD ; A4D2 30 09 0. cmp #$11 ; A4D4 C9 11 .. bcs LA4DE ; A4D6 B0 06 .. adc #$FF ; A4D8 69 FF i. tax ; A4DA AA . lda #$02 ; A4DB A9 02 .. LA4DD: sec ; A4DD 38 8 LA4DE: sbc #$02 ; A4DE E9 02 .. sta $22 ; A4E0 85 22 ." stx $21 ; A4E2 86 21 .! txa ; A4E4 8A . beq LA4E9 ; A4E5 F0 02 .. bpl LA4FC ; A4E7 10 13 .. LA4E9: ldy $3B ; A4E9 A4 3B .; lda #$2E ; A4EB A9 2E .. iny ; A4ED C8 . sta $FF,y ; A4EE 99 FF 00 ... txa ; A4F1 8A . beq LA4FA ; A4F2 F0 06 .. lda #$30 ; A4F4 A9 30 .0 iny ; A4F6 C8 . sta $FF,y ; A4F7 99 FF 00 ... LA4FA: sty $3B ; A4FA 84 3B .; LA4FC: ldy #$00 ; A4FC A0 00 .. ldx #$80 ; A4FE A2 80 .. LA500: lda $2C ; A500 A5 2C ., clc ; A502 18 . adc LA5CD,y ; A503 79 CD A5 y.. sta $2C ; A506 85 2C ., lda $2B ; A508 A5 2B .+ adc LA5CC,y ; A50A 79 CC A5 y.. sta $2B ; A50D 85 2B .+ lda $2A ; A50F A5 2A .* adc LA5CB,y ; A511 79 CB A5 y.. sta $2A ; A514 85 2A .* lda $29 ; A516 A5 29 .) adc LA5CA,y ; A518 79 CA A5 y.. sta $29 ; A51B 85 29 .) lda $28 ; A51D A5 28 .( adc LA5C9,y ; A51F 79 C9 A5 y.. sta $28 ; A522 85 28 .( lda $27 ; A524 A5 27 .' adc LA5C8,y ; A526 79 C8 A5 y.. sta $27 ; A529 85 27 .' lda $26 ; A52B A5 26 .& adc LA5C7,y ; A52D 79 C7 A5 y.. sta $26 ; A530 85 26 .& inx ; A532 E8 . bcs LA539 ; A533 B0 04 .. bpl LA500 ; A535 10 C9 .. bmi LA53B ; A537 30 02 0. LA539: bmi LA500 ; A539 30 C5 0. LA53B: txa ; A53B 8A . bcc LA542 ; A53C 90 04 .. .byte $49 ; A53E 49 I LA53F: bbs7 $69,$69 ; A53F FF 69 0A .i. LA542: adc #$2F ; A542 69 2F i/ iny ; A544 C8 . iny ; A545 C8 . iny ; A546 C8 . iny ; A547 C8 . iny ; A548 C8 . iny ; A549 C8 . iny ; A54A C8 . sty $3D ; A54B 84 3D .= ldy $3B ; A54D A4 3B .; iny ; A54F C8 . tax ; A550 AA . and #$7F ; A551 29 7F ). sta $FF,y ; A553 99 FF 00 ... dec $21 ; A556 C6 21 .! .byte $D0 ; A558 D0 . LA559: asl $A9 ; A559 06 A9 .. rol $99C8 ; A55B 2E C8 99 ... .byte $FF ; A55E FF . brk ; A55F 00 . LA560: sty $3B ; A560 84 3B .; ldy $3D ; A562 A4 3D .= LA564: txa ; A564 8A . eor #$FF ; A565 49 FF I. and #$80 ; A567 29 80 ). tax ; A569 AA . cpy #$69 ; A56A C0 69 .i beq LA572 ; A56C F0 04 .. cpy #$93 ; A56E C0 93 .. bne LA500 ; A570 D0 8E .. LA572: ldy $3B ; A572 A4 3B .; LA574: .byte $B9 ; A574 B9 . LA575: bbs7 $00,LA500 ; A575 FF 00 88 ... cmp #$30 ; A578 C9 30 .0 beq LA574 ; A57A F0 F8 .. cmp #$2E ; A57C C9 2E .. beq LA581 ; A57E F0 01 .. iny ; A580 C8 . LA581: lda #$2B ; A581 A9 2B .+ ldx $22 ; A583 A6 22 ." beq LA5B5 ; A585 F0 2E .. bpl LA591 ; A587 10 08 .. lda #$00 ; A589 A9 00 .. sec ; A58B 38 8 sbc $22 ; A58C E5 22 ." tax ; A58E AA . .byte $A9 ; A58F A9 . LA590: .byte $2D ; A590 2D - LA591: sta stack+1,y ; A591 99 01 01 ... lda #$45 ; A594 A9 45 .E sta stack,y ; A596 99 00 01 ... txa ; A599 8A . ldx #$2F ; A59A A2 2F ./ sec ; A59C 38 8 LA59D: inx ; A59D E8 . sbc #$0A ; A59E E9 0A .. bcs LA59D ; A5A0 B0 FB .. adc #$3A ; A5A2 69 3A i: sta stack+3,y ; A5A4 99 03 01 ... txa ; A5A7 8A . sta stack+2,y ; A5A8 99 02 01 ... lda #$00 ; A5AB A9 00 .. sta stack+4,y ; A5AD 99 04 01 ... beq LA5BA ; A5B0 F0 08 .. LA5B2: sta $FF,y ; A5B2 99 FF 00 ... LA5B5: lda #$00 ; A5B5 A9 00 .. sta stack,y ; A5B7 99 00 01 ... LA5BA: lda #$00 ; A5BA A9 00 .. ldy #$01 ; A5BC A0 01 .. rts ; A5BE 60 ` ; ---------------------------------------------------------------------------- bra LA5C1 ; A5BF 80 00 .. LA5C1: brk ; A5C1 00 . LA5C2: brk ; A5C2 00 . brk ; A5C3 00 . brk ; A5C4 00 . brk ; A5C5 00 . brk ; A5C6 00 . LA5C7: .byte $FF ; A5C7 FF . LA5C8: .byte $A5 ; A5C8 A5 . LA5C9: .byte $0C ; A5C9 0C . LA5CA: .byte $EF ; A5CA EF . LA5CB: .byte $85 ; A5CB 85 . LA5CC: .byte $C0 ; A5CC C0 . LA5CD: brk ; A5CD 00 . brk ; A5CE 00 . ora #$18 ; A5CF 09 18 .. lsr LA072 ; A5D1 4E 72 A0 Nr. brk ; A5D4 00 . bbs7 $FF,LA5EF ; A5D5 FF FF 17 ... .byte $2B ; A5D8 2B + phy ; A5D9 5A Z LA5DA: beq LA5DC ; A5DA F0 00 .. LA5DC: brk ; A5DC 00 . brk ; A5DD 00 . rmb1 $48 ; A5DE 17 48 .H ror $E8,x ; A5E0 76 E8 v. brk ; A5E2 00 . LA5E3: bbs7 $FF,LA5E3 ; A5E3 FF FF FD ... .byte $AB ; A5E6 AB . .byte $F4 ; A5E7 F4 . trb a:$00 ; A5E8 1C 00 00 ... brk ; A5EB 00 . brk ; A5EC 00 . .byte $3B ; A5ED 3B ; txs ; A5EE 9A . LA5EF: dex ; A5EF CA . brk ; A5F0 00 . .byte $FF ; A5F1 FF . LA5F2: .byte $FF ; A5F2 FF . LA5F3: bbs7 $FA,$FA ; A5F3 FF FA 0A ... .byte $1F ; A5F6 1F . LA5F7: brk ; A5F7 00 . brk ; A5F8 00 . LA5F9: brk ; A5F9 00 . brk ; A5FA 00 . LA5FB: brk ; A5FB 00 . LA5FC: tya ; A5FC 98 . stx $80,y ; A5FD 96 80 .. .byte $FF ; A5FF FF . .byte $FF ; A600 FF . LA601: bbs7 $FF,$FF ; A601 FF FF F0 ... LA604: lda a:$C0,x ; A604 BD C0 00 ... brk ; A607 00 . brk ; A608 00 . brk ; A609 00 . ora ($86,x) ; A60A 01 86 .. ldy #$FF ; A60C A0 FF .. .byte $FF ; A60E FF . .byte $FF ; A60F FF . LA610: bbs7 $FF,$FF ; A610 FF FF D8 ... .byte $F0 ; A613 F0 . LA614: brk ; A614 00 . brk ; A615 00 . brk ; A616 00 . brk ; A617 00 . brk ; A618 00 . .byte $03 ; A619 03 . inx ; A61A E8 . .byte $FF ; A61B FF . .byte $FF ; A61C FF . LA61D: bbs7 $FF,$FF ; A61D FF FF FF ... LA620: bbs7 $9C,$9C ; A620 FF 9C 00 ... brk ; A623 00 . brk ; A624 00 . brk ; A625 00 . brk ; A626 00 . brk ; A627 00 . asl a ; A628 0A . .byte $FF ; A629 FF . .byte $FF ; A62A FF . LA62B: bbs7 $FF,$FF ; A62B FF FF FF ... LA62E: bbs7 $FF,$FF ; A62E FF FF FF ... LA631: bbs7 $FF,$FF ; A631 FF FF FF ... bbs5 $0A,$0A ; A634 DF 0A 80 ... brk ; A637 00 . LA638: brk ; A638 00 . brk ; A639 00 . brk ; A63A 00 . .byte $03 ; A63B 03 . LA63C: .byte $4B ; A63C 4B K cpy #$FF ; A63D C0 FF .. .byte $FF ; A63F FF . .byte $FF ; A640 FF . LA641: bbs7 $FF,$FF ; A641 FF FF 73 ..s rts ; A644 60 ` ; ---------------------------------------------------------------------------- brk ; A645 00 . LA646: brk ; A646 00 . brk ; A647 00 . brk ; A648 00 . brk ; A649 00 . asl LFF10 ; A64A 0E 10 FF ... .byte $FF ; A64D FF . .byte $FF ; A64E FF . LA64F: bbs7 $FF,LA64F ; A64F FF FF FD ... tay ; A652 A8 . brk ; A653 00 . brk ; A654 00 . brk ; A655 00 . brk ; A656 00 . brk ; A657 00 . brk ; A658 00 . bit LDB20,x ; A659 3C 20 DB < . lda ($80,x) ; A65C A1 80 .. tsb $0A80 ; A65E 0C 80 0A ... jsr LA27B ; A661 20 7B A2 {. lda #$BF ; A664 A9 BF .. ldy #$A5 ; A666 A0 A5 .. jsr LA1DD ; A668 20 DD A1 .. bne LA670 ; A66B D0 03 .. jmp LA72B ; A66D 4C 2B A7 L+. ; ---------------------------------------------------------------------------- LA670: lda $30 ; A670 A5 30 .0 bne LA677 ; A672 D0 03 .. jmp L9D6E ; A674 4C 6E 9D Ln. ; ---------------------------------------------------------------------------- LA677: ldx #$41 ; A677 A2 41 .A ldy #$00 ; A679 A0 00 .. jsr LA227 ; A67B 20 27 A2 '. lda $38 ; A67E A5 38 .8 bpl LA691 ; A680 10 0F .. jsr LA369 ; A682 20 69 A3 i. lda #$41 ; A685 A9 41 .A ldy #$00 ; A687 A0 00 .. jsr LA2DC ; A689 20 DC A2 .. bne LA691 ; A68C D0 03 .. tya ; A68E 98 . ldy $00 ; A68F A4 00 .. LA691: jsr LA26D ; A691 20 6D A2 m. tya ; A694 98 . pha ; A695 48 H jsr L9EF0 ; A696 20 F0 9E .. lda #$41 ; A699 A9 41 .A ldy #$00 ; A69B A0 00 .. jsr L9F60 ; A69D 20 60 9F `. jsr LA72B ; A6A0 20 2B A7 +. pla ; A6A3 68 h lsr a ; A6A4 4A J LA6A5: bcc LA6B1 ; A6A5 90 0A .. LA6A7: lda $25 ; A6A7 A5 25 .% beq LA6B1 ; A6A9 F0 06 .. lda $2D ; A6AB A5 2D .- eor #$FF ; A6AD 49 FF I. sta $2D ; A6AF 85 2D .- LA6B1: rts ; A6B1 60 ` ; ---------------------------------------------------------------------------- sta ($38,x) ; A6B2 81 38 .8 tax ; A6B4 AA . .byte $3B ; A6B5 3B ; and #$5C ; A6B6 29 5C )\ rmb1 $EE ; A6B8 17 EE .. ora $4A59 ; A6BA 0D 59 4A .YJ brk ; A6BD 00 . brk ; A6BE 00 . brk ; A6BF 00 . brk ; A6C0 00 . brk ; A6C1 00 . brk ; A6C2 00 . eor LDE61,x ; A6C3 5D 61 DE ]a. lda ($87) ; A6C6 B2 87 .. sbc ($4C,x) ; A6C8 E1 4C .L trb $7461 ; A6CA 1C 61 74 .at adc $63 ; A6CD 65 63 ec txs ; A6CF 9A . sta $14D9 ; A6D0 8D D9 14 ... adc $72 ; A6D3 65 72 er rmb6 $A8 ; A6D5 67 A8 g. ldy $765C ; A6D7 AC 5C 76 .\v .byte $44 ; A6DA 44 D adc #$5A ; A6DB 69 5A iZ sta ($9E) ; A6DD 92 9E .. stz $3EAF ; A6DF 9C AF 3E ..> tsb $316D ; A6E2 0C 6D 31 .m1 rts ; A6E5 60 ` ; ---------------------------------------------------------------------------- ora ($1D),y ; A6E6 11 1D .. rol $0E41 ; A6E8 2E 41 0E .A. bvs LA76C ; A6EB 70 7F p. sbc $FE ; A6ED E5 FE .. bit L8645 ; A6EF 2C 45 86 ,E. bit $74 ; A6F2 24 74 $t LA6F4: and ($84,x) ; A6F4 21 84 !. bit #$7C ; A6F6 89 7C .| rol $3C,x ; A6F8 36 3C 6< bmi LA773 ; A6FA 30 77 0w rol LFFC3 ; A6FC 2E C3 FF ... bit $3953,x ; A6FF 3C 53 39 <S9 .byte $82 ; A702 82 . ply ; A703 7A z ora $5B95,x ; A704 1D 95 5B ..[ adc $73D2,x ; A707 7D D2 73 }.s sty $7C ; A70A 84 7C .| .byte $63 ; A70C 63 c cli ; A70D 58 X lsr $B8 ; A70E 46 B8 F. and $05 ; A710 25 05 %. sed ; A712 F8 . ror LFD75,x ; A713 7E 75 FD ~u. bbs6 $FC,LA72F ; A716 EF FC 16 ... bit L8074 ; A719 2C 74 80 ,t. and ($72),y ; A71C 31 72 1r LA71E: rmb1 $F7 ; A71E 17 F7 .. cmp ($CF),y ; A720 D1 CF .. jmp (L0081,x) ; A722 7C 81 00 |.. LA725: brk ; A725 00 . brk ; A726 00 . brk ; A727 00 . brk ; A728 00 . brk ; A729 00 . brk ; A72A 00 . LA72B: lda #$B2 ; A72B A9 B2 .. ldy #$A6 ; A72D A0 A6 .. LA72F: .byte $20 ; A72F 20 LA730: rol $A59F ; A730 2E 9F A5 ... dec a ; A733 3A : .byte $69 ; A734 69 i LA735: bvc $A6C7 ; A735 50 90 P. .byte $03 ; A737 03 . jsr LA292 ; A738 20 92 A2 .. LA73B: sta $14 ; A73B 85 14 .. jsr LA27E ; A73D 20 7E A2 ~. lda $25 ; A740 A5 25 .% cmp #$88 ; A742 C9 88 .. LA744: bcc LA749 ; A744 90 03 .. LA746: jsr LA0B3 ; A746 20 B3 A0 .. LA749: jsr LA369 ; A749 20 69 A3 i. .byte $A5 ; A74C A5 . LA74D: brk ; A74D 00 . clc ; A74E 18 . adc #$81 ; A74F 69 81 i. beq LA746 ; A751 F0 F3 .. sec ; A753 38 8 sbc #$01 ; A754 E9 01 .. pha ; A756 48 H ldx #$08 ; A757 A2 08 .. LA759: lda $30,x ; A759 B5 30 .0 ldy $25,x ; A75B B4 25 .% sta $25,x ; A75D 95 25 .% sty $30,x ; A75F 94 30 .0 dex ; A761 CA . bpl LA759 ; A762 10 F5 .. lda $14 ; A764 A5 14 .. sta $3A ; A766 85 3A .: jsr L9CA7 ; A768 20 A7 9C .. .byte $20 ; A76B 20 LA76C: smb2 CurMaxY_ ; A76C A7 A6 .. lda #$BA ; A76E A9 BA .. ldy #$A6 ; A770 A0 A6 .. .byte $20 ; A772 20 LA773: sty $A7,x ; A773 94 A7 .. lda #$00 ; A775 A9 00 .. sta $39 ; A777 85 39 .9 pla ; A779 68 h jsr LA098 ; A77A 20 98 A0 .. rts ; A77D 60 ` ; ---------------------------------------------------------------------------- LA77E: sta $3B ; A77E 85 3B .; sty $3C ; A780 84 3C .< jsr LA220 ; A782 20 20 A2 . lda #$15 ; A785 A9 15 .. jsr L9F60 ; A787 20 60 9F `. jsr LA798 ; A78A 20 98 A7 .. lda #$15 ; A78D A9 15 .. ldy #$00 ; A78F A0 00 .. jmp L9F60 ; A791 4C 60 9F L`. ; ---------------------------------------------------------------------------- sta $3B ; A794 85 3B .; sty $3C ; A796 84 3C .< LA798: jsr LA21D ; A798 20 1D A2 .. lda ($3B),y ; A79B B1 3B .; LA79D: sta $2E ; A79D 85 2E .. ldy $3B ; A79F A4 3B .; iny ; A7A1 C8 . tya ; A7A2 98 . bne LA7A7 ; A7A3 D0 02 .. inc $3C ; A7A5 E6 3C .< LA7A7: sta $3B ; A7A7 85 3B .; ldy $3C ; A7A9 A4 3C .< LA7AB: jsr L9F2E ; A7AB 20 2E 9F .. lda $3B ; A7AE A5 3B .; ldy $3C ; A7B0 A4 3C .< clc ; A7B2 18 . adc #$08 ; A7B3 69 08 i. .byte $90 ; A7B5 90 . LA7B6: ora ($C8,x) ; A7B6 01 C8 .. LA7B8: sta $3B ; A7B8 85 3B .; sty $3C ; A7BA 84 3C .< jsr L9F3C ; A7BC 20 3C 9F <. lda #$1D ; A7BF A9 1D .. ldy #$00 ; A7C1 A0 00 .. dec $2E ; A7C3 C6 2E .. bne LA7AB ; A7C5 D0 E4 .. rts ; A7C7 60 ` ; ---------------------------------------------------------------------------- tya ; A7C8 98 . and $44,x ; A7C9 35 44 5D ply ; A7CB 7A z brk ; A7CC 00 . brk ; A7CD 00 . brk ; A7CE 00 . brk ; A7CF 00 . pla ; A7D0 68 h plp ; A7D1 28 ( lda ($46),y ; A7D2 B1 46 .F brk ; A7D4 00 . brk ; A7D5 00 . brk ; A7D6 00 . brk ; A7D7 00 . jsr LA29A ; A7D8 20 9A A2 .. bmi LA81A ; A7DB 30 3D 0= bne LA805 ; A7DD D0 26 .& lda VIA1_T1CL ; A7DF AD 04 F8 ... LA7E2: sta $26 ; A7E2 85 26 .& lda VIA1_T1CH ; A7E4 AD 05 F8 ... sta $2B ; A7E7 85 2B .+ lda VIA1_T2CL ; A7E9 AD 08 F8 ... sta $2A ; A7EC 85 2A .* lda VIA2_T2CL ; A7EE AD 88 F8 ... sta $29 ; A7F1 85 29 .) lda VIA2_T1CL ; A7F3 AD 84 F8 ... sta $28 ; A7F6 85 28 .( lda VIA1_T2CL ; A7F8 AD 08 F8 ... sta $27 ; A7FB 85 27 .' lda VIA1_T2CH ; A7FD AD 09 F8 ... sta $2C ; A800 85 2C ., jmp LA832 ; A802 4C 32 A8 L2. ; ---------------------------------------------------------------------------- LA805: lda #$AC ; A805 A9 AC .. ldy #$03 ; A807 A0 03 .. jsr LA1DD ; A809 20 DD A1 .. lda #$C8 ; A80C A9 C8 .. ldy #$A7 ; A80E A0 A7 .. jsr L9F2E ; A810 20 2E 9F .. lda #$D0 ; A813 A9 D0 .. ldy #$A7 ; A815 A0 A7 .. jsr L9F3C ; A817 20 3C 9F <. LA81A: ldx $2C ; A81A A6 2C ., lda $26 ; A81C A5 26 .& sta $2C ; A81E 85 2C ., stx $26 ; A820 86 26 .& ldx $2A ; A822 A6 2A .* lda $29 ; A824 A5 29 .) sta $2A ; A826 85 2A .* stx $29 ; A828 86 29 .) ldx $27 ; A82A A6 27 .' lda $2B ; A82C A5 2B .+ sta $27 ; A82E 85 27 .' stx $2B ; A830 86 2B .+ LA832: lda #$00 ; A832 A9 00 .. sta $2D ; A834 85 2D .- lda $25 ; A836 A5 25 .% sta $3A ; A838 85 3A .: lda #$80 ; A83A A9 80 .. sta $25 ; A83C 85 25 .% jsr L9D40 ; A83E 20 40 9D @. ldx #$AC ; A841 A2 AC .. ldy #$03 ; A843 A0 03 .. LA845: jmp LA227 ; A845 4C 27 A2 L'. ; ---------------------------------------------------------------------------- lda #$C4 ; A848 A9 C4 .. ldy #$A8 ; A84A A0 A8 .. jsr L9F3C ; A84C 20 3C 9F <. LA84F: jsr LA27B ; A84F 20 7B A2 {. lda #$CC ; A852 A9 CC .. ldy #$A8 ; A854 A0 A8 .. ldx $38 ; A856 A6 38 .8 jsr LA0EE ; A858 20 EE A0 .. jsr LA27B ; A85B 20 7B A2 {. jsr LA369 ; A85E 20 69 A3 i. lda #$00 ; A861 A9 00 .. sta $39 ; A863 85 39 .9 jsr L9CA7 ; A865 20 A7 9C .. lda #$D4 ; A868 A9 D4 .. .byte $A0 ; A86A A0 . LA86B: tay ; A86B A8 . jsr L9F48 ; A86C 20 48 9F H. lda $2D ; A86F A5 2D .- pha ; A871 48 H bpl LA881 ; A872 10 0D .. jsr L9F38 ; A874 20 38 9F 8. lda $2D ; A877 A5 2D .- bmi LA884 ; A879 30 09 0. lda $04 ; A87B A5 04 .. eor #$FF ; A87D 49 FF I. sta $04 ; A87F 85 04 .. LA881: jsr LA6A7 ; A881 20 A7 A6 .. LA884: lda #$D4 ; A884 A9 D4 .. ldy #$A8 ; A886 A0 A8 .. jsr L9F3C ; A888 20 3C 9F <. pla ; A88B 68 h bpl LA891 ; A88C 10 03 .. jsr LA6A7 ; A88E 20 A7 A6 .. LA891: lda #$DC ; A891 A9 DC .. ldy #$A8 ; A893 A0 A8 .. jmp LA77E ; A895 4C 7E A7 L~. ; ---------------------------------------------------------------------------- jsr LA220 ; A898 20 20 A2 . lda #$00 ; A89B A9 00 .. sta $04 ; A89D 85 04 .. jsr LA84F ; A89F 20 4F A8 O. ldx #$41 ; A8A2 A2 41 .A ldy #$00 ; A8A4 A0 00 .. jsr LA845 ; A8A6 20 45 A8 E. lda #$15 ; A8A9 A9 15 .. ldy #$00 ; A8AB A0 00 .. jsr LA1DD ; A8AD 20 DD A1 .. lda #$00 ; A8B0 A9 00 .. sta $2D ; A8B2 85 2D .- lda $04 ; A8B4 A5 04 .. jsr LA8C0 ; A8B6 20 C0 A8 .. lda #$41 ; A8B9 A9 41 .A ldy #$00 ; A8BB A0 00 .. jmp LA0F6 ; A8BD 4C F6 A0 L.. ; ---------------------------------------------------------------------------- LA8C0: pha ; A8C0 48 H jmp LA881 ; A8C1 4C 81 A8 L.. ; ---------------------------------------------------------------------------- sta ($49,x) ; A8C4 81 49 .I bbr0 $DA,LA86B ; A8C6 0F DA A2 ... and ($68,x) ; A8C9 21 68 !h iny ; A8CB C8 . .byte $83 ; A8CC 83 . eor #$0F ; A8CD 49 0F I. phx ; A8CF DA . ldx #$21 ; A8D0 A2 21 .! pla ; A8D2 68 h iny ; A8D3 C8 . bbr7 $00,LA8D7 ; A8D4 7F 00 00 ... LA8D7: brk ; A8D7 00 . brk ; A8D8 00 . brk ; A8D9 00 . brk ; A8DA 00 . brk ; A8DB 00 . ora #$7A ; A8DC 09 7A .z cmp $20 ; A8DE C5 20 . and ($08,x) ; A8E0 21 08 !. .byte $FC ; A8E2 FC . tax ; A8E3 AA . trb $7D ; A8E4 14 7D .} eor $76,x ; A8E6 55 76 Uv ora LC957,y ; A8E8 19 57 C9 .W. txs ; A8EB 9A . ldy LB780 ; A8EC AC 80 B7 ... dec $DC,x ; A8EF D6 DC .. sed ; A8F1 F8 . tax ; A8F2 AA . lda L82FE,y ; A8F3 B9 FE 82 ... stz $7A,x ; A8F6 74 7A tz inc a ; A8F8 1A . pla ; A8F9 68 h .byte $0C ; A8FA 0C . LA8FB: ror a ; A8FB 6A j .byte $F4 ; A8FC F4 . sty $F1 ; A8FD 84 F1 .. .byte $83 ; A8FF 83 . smb2 $EF ; A900 A7 EF .. .byte $44 ; A902 44 D sec ; A903 38 8 .byte $DC ; A904 DC . stx $28 ; A905 86 28 .( bit $431A,x ; A907 3C 1A 43 <.C smb7 $3B ; A90A F7 3B .; sed ; A90C F8 . smb0 $99 ; A90D 87 99 .. adc #$66 ; A90F 69 66 if .byte $73 ; A911 73 s ora $EC,x ; A912 15 EC .. .byte $23 ; A914 23 # smb0 $23 ; A915 87 23 .# and $E3,x ; A917 35 E3 5. .byte $3B ; A919 3B ; lda a:$57 ; A91A AD 57 00 .W. stx $A5 ; A91D 86 A5 .. eor $31E7,x ; A91F 5D E7 31 ].1 and L90F2 ; A922 2D F2 90 -.. .byte $83 ; A925 83 . eor #$0F ; A926 49 0F I. phx ; A928 DA . ldx #$21 ; A929 A2 21 .! pla ; A92B 68 h iny ; A92C C8 . lda $2D ; A92D A5 2D .- pha ; A92F 48 H bpl LA935 ; A930 10 03 .. jsr LA6A7 ; A932 20 A7 A6 .. LA935: lda $25 ; A935 A5 25 .% pha ; A937 48 H cmp #$81 ; A938 C9 81 .. bcc LA943 ; A93A 90 07 .. lda #$7F ; A93C A9 7F .. ldy #$9E ; A93E A0 9E .. jsr L9F54 ; A940 20 54 9F T. LA943: lda #$5D ; A943 A9 5D .] ldy #$A9 ; A945 A0 A9 .. jsr LA77E ; A947 20 7E A7 ~. pla ; A94A 68 h cmp #$81 ; A94B C9 81 .. bcc LA956 ; A94D 90 07 .. lda #$C4 ; A94F A9 C4 .. ldy #$A8 ; A951 A0 A8 .. jsr L9F48 ; A953 20 48 9F H. LA956: pla ; A956 68 h bpl LA95C ; A957 10 03 .. jmp LA6A7 ; A959 4C A7 A6 L.. ; ---------------------------------------------------------------------------- LA95C: rts ; A95C 60 ` ; ---------------------------------------------------------------------------- tsb $6275 ; A95D 0C 75 62 .ub inc $07BA,x ; A960 FE BA 07 ... trb $3A ; A963 14 3A .: tay ; A965 A8 . sei ; A966 78 x dec $D8,x ; A967 D6 D8 .. dec $5116 ; A969 CE 16 51 ..Q eor $7A14 ; A96C 4D 14 7A M.z rol $7DD1,x ; A96F 3E D1 7D >.} .byte $BD ; A972 BD . .byte $4C ; A973 4C L LA974: rol $88,x ; A974 36 88 6. .byte $7B ; A976 7B { .byte $D7 ; A977 D7 . LA978: cpy $23 ; A978 C4 23 .# .byte $CB ; A97A CB . ora ($6B,x) ; A97B 01 6B .k .byte $9C ; A97D 9C . LA97E: jmp ($1734,x) ; A97E 7C 34 17 |4. asl a ; A981 0A . dec a ; A982 3A : .byte $DC ; A983 DC . eor ($78,x) ; A984 41 78 Ax jmp (L81F7,x) ; A986 7C F7 81 |.. .byte $A3 ; A989 A3 . cmp ($36,x) ; A98A C1 36 .6 rmb2 $00 ; A98C 27 00 '. adc LAE19,x ; A98E 7D 19 AE }.. adc ($16,x) ; A991 61 16 a. nop ; A993 EA . tsx ; A994 BA . eor LB97D ; A995 4D 7D B9 M}. rts ; A998 60 ` ; ---------------------------------------------------------------------------- bbs0 $78,LA9F9 ; A999 8F 78 5D .x] .byte $0B ; A99C 0B . tsx ; A99D BA . adc $7263,x ; A99E 7D 63 72 }cr ora ($44) ; A9A1 12 44 .D .byte $A1 ; A9A3 A1 . LA9A4: sta $B4 ; A9A4 85 B4 .. ror $4792,x ; A9A6 7E 92 47 ~.G .byte $FB ; A9A9 FB . .byte $62 ; A9AA 62 b asl $0D,x ; A9AB 16 0D .. .byte $43 ; A9AD 43 C ror LCC4C,x ; A9AE 7E 4C CC ~L. bbs3 $F0,LA974 ; A9B1 BF F0 C0 ... ply ; A9B4 7A z stz $7F ; A9B5 64 7F d. tax ; A9B7 AA . tax ; A9B8 AA . tax ; A9B9 AA . LA9BA: stx LB07D ; A9BA 8E 7D B0 .}. cpy #$80 ; A9BD C0 80 .. .byte $7F ; A9BF 7F . .byte $FF ; A9C0 FF . LA9C1: bbs7 $FF,$FF ; A9C1 FF FF F5 ... lda $202C,y ; A9C4 B9 2C 20 ., .byte $2B ; A9C7 2B + ldy #$20 ; A9C8 A0 20 . inc $9B,x ; A9CA F6 9B .. lda $2C ; A9CC A5 2C ., sta $00 ; A9CE 85 00 .. lda $2B ; A9D0 A5 2B .+ sta $01 ; A9D2 85 01 .. jsr LA26B ; A9D4 20 6B A2 k. jsr L9BF6 ; A9D7 20 F6 9B .. lda $2C ; A9DA A5 2C ., eor $00 ; A9DC 45 00 E. tay ; A9DE A8 . lda $2B ; A9DF A5 2B .+ LA9E1: eor $01 ; A9E1 45 01 E. jmp L9BDA ; A9E3 4C DA 9B L.. ; ---------------------------------------------------------------------------- LA9E6: php ; A9E6 08 . sty $03A0 ; A9E7 8C A0 03 ... cpx #$50 ; A9EA E0 50 .P bcs LAA17 ; A9EC B0 29 .) stx $039F ; A9EE 8E 9F 03 ... LA9F1: tax ; A9F1 AA . and #$0F ; A9F2 29 0F ). sta $039D ; A9F4 8D 9D 03 ... txa ; A9F7 8A . lsr a ; A9F8 4A J LA9F9: lsr a ; A9F9 4A J lsr a ; A9FA 4A J lsr a ; A9FB 4A J inc a ; A9FC 1A . sta $039E ; A9FD 8D 9E 03 ... cld ; AA00 D8 . lda #$FF ; AA01 A9 FF .. sta $ED ; AA03 85 ED .. lda VidMemHi ; AA05 A5 A0 .. clc ; AA07 18 . adc #$07 ; AA08 69 07 i. sta $EE ; AA0A 85 EE .. LAA0C: lda $039D ; AA0C AD 9D 03 ... inc $039D ; AA0F EE 9D 03 ... cmp $039E ; AA12 CD 9E 03 ... bcc LAA19 ; AA15 90 02 .. LAA17: plp ; AA17 28 ( rts ; AA18 60 ` ; ---------------------------------------------------------------------------- LAA19: stz $EB ; AA19 64 EB d. lsr a ; AA1B 4A J ror $EB ; AA1C 66 EB f. adc VidMemHi ; AA1E 65 A0 e. sta $EC ; AA20 85 EC .. ldy $039F ; AA22 AC 9F 03 ... LAA25: plp ; AA25 28 ( php ; AA26 08 . lda ($ED) ; AA27 B2 ED .. bcs LAA31 ; AA29 B0 06 .. lda ($EB),y ; AA2B B1 EB .. sta ($ED) ; AA2D 92 ED .. lda #$20 ; AA2F A9 20 . LAA31: sta ($EB),y ; AA31 91 EB .. lda $ED ; AA33 A5 ED .. asl a ; AA35 0A . eor #$A2 ; AA36 49 A2 I. bne LAA47 ; AA38 D0 0D .. ror a ; AA3A 6A j sta $ED ; AA3B 85 ED .. bmi LAA47 ; AA3D 30 08 0. dec $EE ; AA3F C6 EE .. lda $EE ; AA41 A5 EE .. cmp VidMemHi ; AA43 C5 A0 .. bcc LAA17 ; AA45 90 D0 .. LAA47: dec $ED ; AA47 C6 ED .. dey ; AA49 88 . bmi LAA0C ; AA4A 30 C0 0. cpy $03A0 ; AA4C CC A0 03 ... bcs LAA25 ; AA4F B0 D4 .. bra LAA0C ; AA51 80 B9 .. LAA53: stx $03A3 ; AA53 8E A3 03 ... sty $03A7 ; AA56 8C A7 03 ... sty $0357 ; AA59 8C 57 03 .W. pha ; AA5C 48 H and #$07 ; AA5D 29 07 ). sta $03A2 ; AA5F 8D A2 03 ... pla ; AA62 68 h eor #$F8 ; AA63 49 F8 I. bit #$F8 ; AA65 89 F8 .. beq LAA7F ; AA67 F0 16 .. .byte $09 ; AA69 09 . LAA6A: rmb0 $8D ; AA6A 07 8D .. lda ($03,x) ; AA6C A1 03 .. ldy #$00 ; AA6E A0 00 .. ldx #$00 ; AA70 A2 00 .. LAA72: jsr FROM_C684 ; AA72 20 53 03 S. beq LAA81 ; AA75 F0 0A .. cmp #$0D ; AA77 C9 0D .. bne LAA7C ; AA79 D0 01 .. inx ; AA7B E8 . LAA7C: iny ; AA7C C8 . bne LAA72 ; AA7D D0 F3 .. LAA7F: sec ; AA7F 38 8 rts ; AA80 60 ` ; ---------------------------------------------------------------------------- LAA81: cpx #$0F ; AA81 E0 0F .. bcs LAA7F ; AA83 B0 FA .. stx $03A4 ; AA85 8E A4 03 ... clc ; AA88 18 . jsr LAB90 ; AA89 20 90 AB .. LAA8C: ldx $03A4 ; AA8C AE A4 03 ... lda $03A3 ; AA8F AD A3 03 ... bmi LAA9C ; AA92 30 08 0. cpx $03A3 ; AA94 EC A3 03 ... bcs LAA9D ; AA97 B0 04 .. lda #$00 ; AA99 A9 00 .. .byte $24 ; AA9B 24 $ LAA9C: txa ; AA9C 8A . LAA9D: sta $03A3 ; AA9D 8D A3 03 ... jsr LAAF7 ; AAA0 20 F7 AA .. jsr LB6DF ; AAA3 20 DF B6 .. cmp #$91 ; AAA6 C9 91 .. bne LAAAD ; AAA8 D0 03 .. inc $03A3 ; AAAA EE A3 03 ... LAAAD: cmp #$11 ; AAAD C9 11 .. bne LAAB4 ; AAAF D0 03 .. dec $03A3 ; AAB1 CE A3 03 ... LAAB4: tax ; AAB4 AA . lda #$80 ; AAB5 A9 80 .. cpx #$9D ; AAB7 E0 9D .. beq LAAD9 ; AAB9 F0 1E .. lsr a ; AABB 4A J cpx #$1D ; AABC E0 1D .. beq LAAD9 ; AABE F0 19 .. lsr a ; AAC0 4A J cpx #$0D ; AAC1 E0 0D .. beq LAAD9 ; AAC3 F0 14 .. cpx #$85 ; AAC5 E0 85 .. bcc LAA8C ; AAC7 90 C3 .. cpx #$8D ; AAC9 E0 8D .. bcs LAA8C ; AACB B0 BF .. lda LAA6A,x ; AACD BD 6A AA .j. cmp $03A2 ; AAD0 CD A2 03 ... beq LAAD7 ; AAD3 F0 02 .. ora #$18 ; AAD5 09 18 .. LAAD7: eor #$08 ; AAD7 49 08 I. LAAD9: and $03A1 ; AAD9 2D A1 03 -.. bit #$F8 ; AADC 89 F8 .. beq LAA8C ; AADE F0 AC .. sta $03A1 ; AAE0 8D A1 03 ... sec ; AAE3 38 8 jsr LAB90 ; AAE4 20 90 AB .. lda $03A1 ; AAE7 AD A1 03 ... ldx $03A3 ; AAEA AE A3 03 ... clc ; AAED 18 . rts ; AAEE 60 ` ; ---------------------------------------------------------------------------- brk ; AAEF 00 . .byte $02 ; AAF0 02 . tsb $06 ; AAF1 04 06 .. ora ($03,x) ; AAF3 01 03 .. ora $07 ; AAF5 05 07 .. LAAF7: stz $03A5 ; AAF7 9C A5 03 ... lda #$FF ; AAFA A9 FF .. sta $03A6 ; AAFC 8D A6 03 ... ldy $03A7 ; AAFF AC A7 03 ... sty $0357 ; AB02 8C 57 03 .W. LAB05: jsr LAB57 ; AB05 20 57 AB W. lda #$A5 ; AB08 A9 A5 .. jsr LAB50 ; AB0A 20 50 AB P. bne LAB11 ; AB0D D0 02 .. lda #$20 ; AB0F A9 20 . LAB11: clc ; AB11 18 . jsr LB6F9 ; AB12 20 F9 B6 .. inc $03A6 ; AB15 EE A6 03 ... ldy $03A6 ; AB18 AC A6 03 ... jsr FROM_C684 ; AB1B 20 53 03 S. beq LAB24 ; AB1E F0 04 .. cmp #$0D ; AB20 C9 0D .. bne LAB11 ; AB22 D0 ED .. LAB24: lda #$0D ; AB24 A9 0D .. clc ; AB26 18 . jsr LB6F9 ; AB27 20 F9 B6 .. lda #$67 ; AB2A A9 67 .g jsr LAB50 ; AB2C 20 50 AB P. bne LAB33 ; AB2F D0 02 .. lda #$A0 ; AB31 A9 A0 .. LAB33: sta ($BD) ; AB33 92 BD .. lda $03A5 ; AB35 AD A5 03 ... inc $03A5 ; AB38 EE A5 03 ... cmp $03A4 ; AB3B CD A4 03 ... bcc LAB05 ; AB3E 90 C5 .. cmp #$0E ; AB40 C9 0E .. bcs LAB50 ; AB42 B0 0C .. jsr LAB57 ; AB44 20 57 AB W. ldy #$08 ; AB47 A0 08 .. lda #$64 ; AB49 A9 64 .d LAB4B: sta ($BD),y ; AB4B 91 BD .. dey ; AB4D 88 . bpl LAB4B ; AB4E 10 FB .. LAB50: ldx $03A5 ; AB50 AE A5 03 ... cpx $03A3 ; AB53 EC A3 03 ... rts ; AB56 60 ` ; ---------------------------------------------------------------------------- LAB57: ldx $03A2 ; AB57 AE A2 03 ... ldy LAB80,x ; AB5A BC 80 AB ... lda #$08 ; AB5D A9 08 .. jsr LAB50 ; AB5F 20 50 AB P. bne LAB66 ; AB62 D0 02 .. eor #$80 ; AB64 49 80 I. LAB66: pha ; AB66 48 H lda LAB70,x ; AB67 BD 70 AB .p. tax ; AB6A AA . pla ; AB6B 68 h sec ; AB6C 38 8 jmp LB6F9 ; AB6D 4C F9 B6 L.. ; ---------------------------------------------------------------------------- LAB70: .byte $0E ; AB70 0E . LAB71: .byte $0D,$0C,$0B,$0A,$09,$08,$07,$06 ; AB71 0D 0C 0B 0A 09 08 07 06 ........ .byte $05,$04,$03,$02,$01,$00,$00 ; AB79 05 04 03 02 01 00 00 ....... LAB80: .byte $00,$0A,$14,$1E,$28,$32,$3C,$46 ; AB80 00 0A 14 1E 28 32 3C 46 ....(2<F LAB88: .byte $09,$13,$1D,$27,$31,$3B,$45,$4F ; AB88 09 13 1D 27 31 3B 45 4F ...'1;EO ; ---------------------------------------------------------------------------- LAB90: php ; AB90 08 . ldx #$04 ; AB91 A2 04 .. bcc LAB97 ; AB93 90 02 .. ldx #$06 ; AB95 A2 06 .. LAB97: clc ; AB97 18 . jsr LD230 ; AB98 20 30 D2 0. ldx $03A4 ; AB9B AE A4 03 ... lda LAB71,x ; AB9E BD 71 AB .q. eor #$E0 ; ABA1 49 E0 I. pha ; ABA3 48 H ldx $03A2 ; ABA4 AE A2 03 ... ldy LAB80,x ; ABA7 BC 80 AB ... lda LAB88,x ; ABAA BD 88 AB ... tax ; ABAD AA . pla ; ABAE 68 h plp ; ABAF 28 ( jmp LA9E6 ; ABB0 4C E6 A9 L.. ; ---------------------------------------------------------------------------- ShowChar_: phx ; ABB3 DA . phy ; ABB4 5A Z bit $0384 ; ABB5 2C 84 03 ,.. bpl LABC1 ; ABB8 10 07 .. bvc LABC4 ; ABBA 50 08 P. jsr L8948 ; ABBC 20 48 89 H. bra LABC4 ; ABBF 80 03 .. LABC1: jsr LABC8 ; ABC1 20 C8 AB .. LABC4: ply ; ABC4 7A z plx ; ABC5 FA . clc ; ABC6 18 . rts ; ABC7 60 ` ; ---------------------------------------------------------------------------- LABC8: bit $0382 ; ABC8 2C 82 03 ,.. bpl LABD6 ; ABCB 10 09 .. stz $0382 ; ABCD 9C 82 03 ... jsr LB220 ; ABD0 20 20 B2 . jsr LAEA6 ; ABD3 20 A6 AE .. LABD6: pha ; ABD6 48 H LABD7: php ; ABD7 08 . pla ; ABD8 68 h bit #$04 ; ABD9 89 04 .. bne LABED ; ABDB D0 10 .. lda $AA ; ABDD A5 AA .. and $036D ; ABDF 2D 6D 03 -m. and #$02 ; ABE2 29 02 ). beq LABED ; ABE4 F0 07 .. ldx #$02 ; ABE6 A2 02 .. jsr WaitXticks_ ; ABE8 20 E4 BF .. bra LABD7 ; ABEB 80 EA .. LABED: pla ; ABED 68 h ldx $036E ; ABEE AE 6E 03 .n. sta $036E ; ABF1 8D 6E 03 .n. cmp #$0D ; ABF4 C9 0D .. beq LAC2F ; ABF6 F0 37 .7 cmp #$8D ; ABF8 C9 8D .. beq LAC2F ; ABFA F0 33 .3 cpx #$1B ; ABFC E0 1B .. bne LAC03 ; ABFE D0 03 .. jmp LB10E ; AC00 4C 0E B1 L.. ; ---------------------------------------------------------------------------- LAC03: cmp #$1B ; AC03 C9 1B .. bne LAC08 ; AC05 D0 01 .. rts ; AC07 60 ` ; ---------------------------------------------------------------------------- LAC08: bit $AA ; AC08 24 AA $. bpl LAC24 ; AC0A 10 18 .. ldy $A8 ; AC0C A4 A8 .. beq LAC19 ; AC0E F0 09 .. cmp #$94 ; AC10 C9 94 .. beq LAC2F ; AC12 F0 1B .. dec $A8 ; AC14 C6 A8 .. jmp LAC3A ; AC16 4C 3A AC L:. ; ---------------------------------------------------------------------------- LAC19: jsr LB08E ; AC19 20 8E B0 .. ldy $A7 ; AC1C A4 A7 .. beq LAC24 ; AC1E F0 04 .. cmp #$14 ; AC20 C9 14 .. bne LAC3A ; AC22 D0 16 .. LAC24: cmp #$13 ; AC24 C9 13 .. bne LAC2F ; AC26 D0 07 .. cpx #$13 ; AC28 E0 13 .. bne LAC2F ; AC2A D0 03 .. jmp LAE5B ; AC2C 4C 5B AE L[. ; ---------------------------------------------------------------------------- LAC2F: bit #$20 ; AC2F 89 20 . bne LAC3A ; AC31 D0 07 .. bit #$40 ; AC33 89 40 .@ bne LAC3A ; AC35 D0 03 .. jmp LACD2 ; AC37 4C D2 AC L.. ; ---------------------------------------------------------------------------- LAC3A: jsr LB09B ; AC3A 20 9B B0 .. ldx $036C ; AC3D AE 6C 03 .l. beq LAC44 ; AC40 F0 02 .. ora #$80 ; AC42 09 80 .. LAC44: ldx $A9 ; AC44 A6 A9 .. beq LAC4D ; AC46 F0 05 .. pha ; AC48 48 H jsr LAEC9 ; AC49 20 C9 AE .. pla ; AC4C 68 h LAC4D: jsr LAF1C ; AC4D 20 1C AF .. LAC50: ldx CursorX ; AC50 A6 A1 .. cpx CurMaxX_ ; AC52 E4 A4 .. beq LAC59 ; AC54 F0 03 .. inc CursorX ; AC56 E6 A1 .. LAC58: rts ; AC58 60 ` ; ---------------------------------------------------------------------------- LAC59: lda $AA ; AC59 A5 AA .. bit #$04 ; AC5B 89 04 .. beq LAC93 ; AC5D F0 34 .4 bit #$20 ; AC5F 89 20 . beq LAC58 ; AC61 F0 F5 .. ldy CursorY ; AC63 A4 A2 .. jsr LB059 ; AC65 20 59 B0 Y. bcs LAC93 ; AC68 B0 29 .) ldx $A3 ; AC6A A6 A3 .. stx CursorX ; AC6C 86 A1 .. ldy CursorY ; AC6E A4 A2 .. sec ; AC70 38 8 jsr LB06F ; AC71 20 6F B0 o. ldy CursorY ; AC74 A4 A2 .. cpy CurMaxY_ ; AC76 C4 A6 .. bne LAC8E ; AC78 D0 14 .. ldy $03E9 ; AC7A AC E9 03 ... bmi LAC88 ; AC7D 30 09 0. cpy $A5 ; AC7F C4 A5 .. beq LAC88 ; AC81 F0 05 .. dec $03E9 ; AC83 CE E9 03 ... bra LAC8B ; AC86 80 03 .. LAC88: jsr LB393 ; AC88 20 93 B3 .. LAC8B: jmp LAF4B ; AC8B 4C 4B AF LK. ; ---------------------------------------------------------------------------- LAC8E: inc CursorY ; AC8E E6 A2 .. jmp LAF89 ; AC90 4C 89 AF L.. ; ---------------------------------------------------------------------------- LAC93: jmp LADD1 ; AC93 4C D1 AD L.. ; ---------------------------------------------------------------------------- LAC96: .byte $07 ; AC96 07 . ; ---------------------------------------------------------------------------- LAC97: .addr LC65C ; AC97 5C C6 \. ; ---------------------------------------------------------------------------- .byte $09 ; AC99 09 . ; ---------------------------------------------------------------------------- .addr LAD0E ; AC9A 0E AD .. ; ---------------------------------------------------------------------------- .byte $0A ; AC9C 0A . ; ---------------------------------------------------------------------------- .addr LADA5 ; AC9D A5 AD .. ; ---------------------------------------------------------------------------- .byte $0D ; AC9F 0D . ; ---------------------------------------------------------------------------- .addr LAD4F ; ACA0 4F AD O. ; ---------------------------------------------------------------------------- .byte $0E ; ACA2 0E . ; ---------------------------------------------------------------------------- .addr LACFA ; ACA3 FA AC .. ; ---------------------------------------------------------------------------- .byte $11 ; ACA5 11 . ; ---------------------------------------------------------------------------- .addr LADA5 ; ACA6 A5 AD .. ; ---------------------------------------------------------------------------- .byte $12 ; ACA8 12 . ; ---------------------------------------------------------------------------- .addr LAD72 ; ACA9 72 AD r. ; ---------------------------------------------------------------------------- .byte $13 ; ACAB 13 . ; ---------------------------------------------------------------------------- .addr LAE6F ; ACAC 6F AE o. ; ---------------------------------------------------------------------------- .byte $14 ; ACAE 14 . ; ---------------------------------------------------------------------------- .addr LAE7B ; ACAF 7B AE {. ; ---------------------------------------------------------------------------- .byte $18 ; ACB1 18 . ; ---------------------------------------------------------------------------- .addr LAD37 ; ACB2 37 AD 7. ; ---------------------------------------------------------------------------- .byte $19 ; ACB4 19 . ; ---------------------------------------------------------------------------- .addr LACE2 ; ACB5 E2 AC .. ; ---------------------------------------------------------------------------- .byte $1A ; ACB7 1A . ; ---------------------------------------------------------------------------- .addr LACE8 ; ACB8 E8 AC .. ; ---------------------------------------------------------------------------- .byte $1D ; ACBA 1D . ; ---------------------------------------------------------------------------- .addr LADD1 ; ACBB D1 AD .. ; ---------------------------------------------------------------------------- .byte $8D ; ACBD 8D . ; ---------------------------------------------------------------------------- .addr LAD4F ; ACBE 4F AD O. ; ---------------------------------------------------------------------------- .byte $8E ; ACC0 8E . ; ---------------------------------------------------------------------------- .addr LAD02 ; ACC1 02 AD .. ; ---------------------------------------------------------------------------- .byte $91 ; ACC3 91 . ; ---------------------------------------------------------------------------- .addr LAD78 ; ACC4 78 AD x. ; ---------------------------------------------------------------------------- .byte $92 ; ACC6 92 . ; ---------------------------------------------------------------------------- .addr LB224 ; ACC7 24 B2 $. ; ---------------------------------------------------------------------------- .byte $93 ; ACC9 93 . ; ---------------------------------------------------------------------------- .addr LAE47 ; ACCA 47 AE G. ; ---------------------------------------------------------------------------- .byte $94 ; ACCC 94 . ; ---------------------------------------------------------------------------- .addr LAEC9 ; ACCD C9 AE .. ; ---------------------------------------------------------------------------- .byte $9D ; ACCF 9D . ; ---------------------------------------------------------------------------- .addr LAE09 ; ACD0 09 AE .. ; ---------------------------------------------------------------------------- LACD2: ldx #$39 ; ACD2 A2 39 .9 LACD4: cmp LAC96,x ; ACD4 DD 96 AC ... beq LACDF ; ACD7 F0 06 .. dex ; ACD9 CA . dex ; ACDA CA . dex ; ACDB CA . bpl LACD4 ; ACDC 10 F6 .. rts ; ACDE 60 ` ; ---------------------------------------------------------------------------- LACDF: jmp (LAC97,x) ; ACDF 7C 97 AC |.. LACE2: lda #$40 ; ACE2 A9 40 .@ tsb $036D ; ACE4 0C 6D 03 .m. rts ; ACE7 60 ` ; ---------------------------------------------------------------------------- LACE8: lda #$40 ; ACE8 A9 40 .@ trb $036D ; ACEA 1C 6D 03 .m. rts ; ACED 60 ` ; ---------------------------------------------------------------------------- LACEE: bit $036D ; ACEE 2C 6D 03 ,m. bvs LACE2 ; ACF1 70 EF p. lda #$01 ; ACF3 A9 01 .. tsb $037A ; ACF5 0C 7A 03 .z. beq LAD0A ; ACF8 F0 10 .. LACFA: lda #$01 ; ACFA A9 01 .. trb $037A ; ACFC 1C 7A 03 .z. bne LAD0A ; ACFF D0 09 .. rts ; AD01 60 ` ; ---------------------------------------------------------------------------- LAD02: lda #$01 ; AD02 A9 01 .. tsb $037A ; AD04 0C 7A 03 .z. beq LAD0A ; AD07 F0 01 .. rts ; AD09 60 ` ; ---------------------------------------------------------------------------- LAD0A: sec ; AD0A 38 8 jmp LCDsetupGetOrSet ; AD0B 4C 28 B2 L(. ; ---------------------------------------------------------------------------- LAD0E: ldx CursorX ; AD0E A6 A1 .. cpx CurMaxX_ ; AD10 E4 A4 .. beq LAD27 ; AD12 F0 13 .. lda #$1D ; AD14 A9 1D .. ldx $A9 ; AD16 A6 A9 .. beq LAD1C ; AD18 F0 02 .. lda #$20 ; AD1A A9 20 . LAD1C: jsr LABD6 ; AD1C 20 D6 AB .. jsr LAD28 ; AD1F 20 28 AD (. and $0370,y ; AD22 39 70 03 9p. beq LAD0E ; AD25 F0 E7 .. LAD27: rts ; AD27 60 ` ; ---------------------------------------------------------------------------- LAD28: lda CursorX ; AD28 A5 A1 .. lsr a ; AD2A 4A J lsr a ; AD2B 4A J lsr a ; AD2C 4A J tay ; AD2D A8 . lda CursorX ; AD2E A5 A1 .. and #$07 ; AD30 29 07 ). tax ; AD32 AA . lda PowersOfTwo,x ; AD33 BD 41 B0 .A. rts ; AD36 60 ` ; ---------------------------------------------------------------------------- LAD37: jsr LAD28 ; AD37 20 28 AD (. eor $0370,y ; AD3A 59 70 03 Yp. sta $0370,y ; AD3D 99 70 03 .p. rts ; AD40 60 ` ; ---------------------------------------------------------------------------- LAD41: lda #$80 ; AD41 A9 80 .. .byte $2C ; AD43 2C , LAD44: lda #$00 ; AD44 A9 00 .. ldx #$09 ; AD46 A2 09 .. LAD48: sta $0370,x ; AD48 9D 70 03 .p. dex ; AD4B CA . bpl LAD48 ; AD4C 10 FA .. rts ; AD4E 60 ` ; ---------------------------------------------------------------------------- LAD4F: lda $AA ; AD4F A5 AA .. lsr a ; AD51 4A J bcc LAD65 ; AD52 90 11 .. lda #$08 ; AD54 A9 08 .. bit StopKeyFlag ; AD56 24 AD $. beq LAD65 ; AD58 F0 0B .. php ; AD5A 08 . pla ; AD5B 68 h bit #$04 ; AD5C 89 04 .. bne LAD65 ; AD5E D0 05 .. ldx #$2D ; AD60 A2 2D .- jsr WaitXticks_ ; AD62 20 E4 BF .. LAD65: jsr LB15A ; AD65 20 5A B1 Z. ldx $A3 ; AD68 A6 A3 .. stx CursorX ; AD6A 86 A1 .. jsr LADA5 ; AD6C 20 A5 AD .. jmp LB220 ; AD6F 4C 20 B2 L . ; ---------------------------------------------------------------------------- LAD72: lda #$80 ; AD72 A9 80 .. sta $036C ; AD74 8D 6C 03 .l. rts ; AD77 60 ` ; ---------------------------------------------------------------------------- LAD78: ldy CursorY ; AD78 A4 A2 .. cpy $A5 ; AD7A C4 A5 .. beq LAD8A ; AD7C F0 0C .. dec CursorY ; AD7E C6 A2 .. dey ; AD80 88 . jsr LB059 ; AD81 20 59 B0 Y. bcs LAD89 ; AD84 B0 03 .. jsr LB393 ; AD86 20 93 B3 .. LAD89: rts ; AD89 60 ` ; ---------------------------------------------------------------------------- LAD8A: lda #$10 ; AD8A A9 10 .. bit $AA ; AD8C 24 AA $. bne LAD91 ; AD8E D0 01 .. rts ; AD90 60 ` ; ---------------------------------------------------------------------------- LAD91: jsr LB393 ; AD91 20 93 B3 .. bit $AA ; AD94 24 AA $. bvc LADA0 ; AD96 50 08 P. jsr LAF89 ; AD98 20 89 AF .. ldy $A5 ; AD9B A4 A5 .. sty CursorY ; AD9D 84 A2 .. rts ; AD9F 60 ` ; ---------------------------------------------------------------------------- LADA0: ldy CurMaxY_ ; ADA0 A4 A6 .. sty CursorY ; ADA2 84 A2 .. rts ; ADA4 60 ` ; ---------------------------------------------------------------------------- LADA5: ldy CursorY ; ADA5 A4 A2 .. cpy CurMaxY_ ; ADA7 C4 A6 .. beq LADB6 ; ADA9 F0 0B .. jsr LB059 ; ADAB 20 59 B0 Y. bcs LADB3 ; ADAE B0 03 .. jsr LB393 ; ADB0 20 93 B3 .. LADB3: inc CursorY ; ADB3 E6 A2 .. rts ; ADB5 60 ` ; ---------------------------------------------------------------------------- LADB6: lda #$08 ; ADB6 A9 08 .. bit $AA ; ADB8 24 AA $. bne LADBD ; ADBA D0 01 .. rts ; ADBC 60 ` ; ---------------------------------------------------------------------------- LADBD: jsr LB393 ; ADBD 20 93 B3 .. bit $AA ; ADC0 24 AA $. bvc LADCC ; ADC2 50 08 P. jsr LAF4B ; ADC4 20 4B AF K. ldy CurMaxY_ ; ADC7 A4 A6 .. sty CursorY ; ADC9 84 A2 .. rts ; ADCB 60 ` ; ---------------------------------------------------------------------------- LADCC: ldy $A5 ; ADCC A4 A5 .. sty CursorY ; ADCE 84 A2 .. rts ; ADD0 60 ` ; ---------------------------------------------------------------------------- LADD1: ldx CurMaxX_ ; ADD1 A6 A4 .. cpx CursorX ; ADD3 E4 A1 .. beq LADDA ; ADD5 F0 03 .. inc CursorX ; ADD7 E6 A1 .. rts ; ADD9 60 ` ; ---------------------------------------------------------------------------- LADDA: ldy CursorY ; ADDA A4 A2 .. cpy CurMaxY_ ; ADDC C4 A6 .. beq LADEF ; ADDE F0 0F .. jsr LB059 ; ADE0 20 59 B0 Y. bcs LADE8 ; ADE3 B0 03 .. jsr LB393 ; ADE5 20 93 B3 .. LADE8: inc CursorY ; ADE8 E6 A2 .. ldx $A3 ; ADEA A6 A3 .. stx CursorX ; ADEC 86 A1 .. rts ; ADEE 60 ` ; ---------------------------------------------------------------------------- LADEF: lda $AA ; ADEF A5 AA .. bit #$08 ; ADF1 89 08 .. bne LADF6 ; ADF3 D0 01 .. rts ; ADF5 60 ` ; ---------------------------------------------------------------------------- LADF6: ldx $A3 ; ADF6 A6 A3 .. stx CursorX ; ADF8 86 A1 .. jsr LB393 ; ADFA 20 93 B3 .. bit #$40 ; ADFD 89 40 .@ bne LAE04 ; ADFF D0 03 .. jmp LAE6F ; AE01 4C 6F AE Lo. ; ---------------------------------------------------------------------------- LAE04: ldy CursorY ; AE04 A4 A2 .. jmp LAF4B ; AE06 4C 4B AF LK. ; ---------------------------------------------------------------------------- LAE09: ldx CursorX ; AE09 A6 A1 .. cpx $A3 ; AE0B E4 A3 .. beq LAE12 ; AE0D F0 03 .. dec CursorX ; AE0F C6 A1 .. rts ; AE11 60 ` ; ---------------------------------------------------------------------------- LAE12: ldy CursorY ; AE12 A4 A2 .. cpy $A5 ; AE14 C4 A5 .. beq LAE28 ; AE16 F0 10 .. .byte $C6 ; AE18 C6 . LAE19: ldx #$A6 ; AE19 A2 A6 .. ldy $86 ; AE1B A4 86 .. lda ($88,x) ; AE1D A1 88 .. jsr LB059 ; AE1F 20 59 B0 Y. bcs LAE27 ; AE22 B0 03 .. jsr LB393 ; AE24 20 93 B3 .. LAE27: rts ; AE27 60 ` ; ---------------------------------------------------------------------------- LAE28: lda $AA ; AE28 A5 AA .. bit #$10 ; AE2A 89 10 .. bne LAE2F ; AE2C D0 01 .. rts ; AE2E 60 ` ; ---------------------------------------------------------------------------- LAE2F: jsr LB393 ; AE2F 20 93 B3 .. ldx CurMaxX_ ; AE32 A6 A4 .. stx CursorX ; AE34 86 A1 .. bit $AA ; AE36 24 AA $. bvc LAE42 ; AE38 50 08 P. jsr LAF89 ; AE3A 20 89 AF .. ldy $A5 ; AE3D A4 A5 .. sty CursorY ; AE3F 84 A2 .. rts ; AE41 60 ` ; ---------------------------------------------------------------------------- LAE42: ldy CurMaxY_ ; AE42 A4 A6 .. sty CursorY ; AE44 84 A2 .. rts ; AE46 60 ` ; ---------------------------------------------------------------------------- LAE47: jsr LAE6F ; AE47 20 6F AE o. ldy CurMaxY_ ; AE4A A4 A6 .. LAE4C: sty CursorY ; AE4C 84 A2 .. jsr LAFC0 ; AE4E 20 C0 AF .. ldy CursorY ; AE51 A4 A2 .. dey ; AE53 88 . cpy $A5 ; AE54 C4 A5 .. bpl LAE4C ; AE56 10 F4 .. jmp LB087 ; AE58 4C 87 B0 L.. ; ---------------------------------------------------------------------------- LAE5B: ldx L0380 ; AE5B AE 80 03 ... stx $A3 ; AE5E 86 A3 .. ldx CurMaxX ; AE60 AE 81 03 ... stx CurMaxX_ ; AE63 86 A4 .. ldy $037F ; AE65 AC 7F 03 ... LAE68: sty $A5 ; AE68 84 A5 .. ldy CurMaxY ; AE6A AC 7E 03 .~. sty CurMaxY_ ; AE6D 84 A6 .. LAE6F: jsr LB393 ; AE6F 20 93 B3 .. ldx $A3 ; AE72 A6 A3 .. stx CursorX ; AE74 86 A1 .. ldy $A5 ; AE76 A4 A5 .. sty CursorY ; AE78 84 A2 .. rts ; AE7A 60 ` ; ---------------------------------------------------------------------------- LAE7B: jsr LAE09 ; AE7B 20 09 AE .. jsr LAEB1 ; AE7E 20 B1 AE .. LAE81: ldx CursorX ; AE81 A6 A1 .. cpx CurMaxX_ ; AE83 E4 A4 .. bne LAE8E ; AE85 D0 07 .. ldy CursorY ; AE87 A4 A2 .. jsr LB059 ; AE89 20 59 B0 Y. bcc LAEA1 ; AE8C 90 13 .. LAE8E: jsr LADD1 ; AE8E 20 D1 AD .. jsr LAF41 ; AE91 20 41 AF A. pha ; AE94 48 H jsr LAE09 ; AE95 20 09 AE .. pla ; AE98 68 h jsr LAF1C ; AE99 20 1C AF .. jsr LADD1 ; AE9C 20 D1 AD .. bra LAE81 ; AE9F 80 E0 .. LAEA1: lda #$20 ; AEA1 A9 20 . jsr LAF1C ; AEA3 20 1C AF .. LAEA6: ldx $03EA ; AEA6 AE EA 03 ... ldy $03EB ; AEA9 AC EB 03 ... stx CursorX ; AEAC 86 A1 .. sty CursorY ; AEAE 84 A2 .. rts ; AEB0 60 ` ; ---------------------------------------------------------------------------- LAEB1: ldx CursorX ; AEB1 A6 A1 .. ldy CursorY ; AEB3 A4 A2 .. .byte $8E ; AEB5 8E . LAEB6: nop ; AEB6 EA . .byte $03 ; AEB7 03 . sty $03EB ; AEB8 8C EB 03 ... rts ; AEBB 60 ` ; ---------------------------------------------------------------------------- LAEBC: ldx CursorX ; AEBC A6 A1 .. ldy CursorY ; AEBE A4 A2 .. cpy $03EB ; AEC0 CC EB 03 ... bne LAEC8 ; AEC3 D0 03 .. cpx $03EA ; AEC5 EC EA 03 ... LAEC8: rts ; AEC8 60 ` ; ---------------------------------------------------------------------------- LAEC9: inc $A8 ; AEC9 E6 A8 .. bne LAECF ; AECB D0 02 .. dec $A8 ; AECD C6 A8 .. LAECF: ldx $A9 ; AECF A6 A9 .. beq LAED5 ; AED1 F0 02 .. stz $A8 ; AED3 64 A8 d. LAED5: lda #$20 ; AED5 A9 20 . pha ; AED7 48 H jsr LAEB1 ; AED8 20 B1 AE .. dec CursorX ; AEDB C6 A1 .. LAEDD: jsr LAC50 ; AEDD 20 50 AC P. jsr LAF41 ; AEE0 20 41 AF A. tax ; AEE3 AA . pla ; AEE4 68 h sta (VidPtrLo) ; AEE5 92 C1 .. phx ; AEE7 DA . lda CursorX ; AEE8 A5 A1 .. cmp CurMaxX_ ; AEEA C5 A4 .. bne LAEDD ; AEEC D0 EF .. lda $AA ; AEEE A5 AA .. bit #$20 ; AEF0 89 20 . beq LAF16 ; AEF2 F0 22 ." bit #$04 ; AEF4 89 04 .. beq LAF16 ; AEF6 F0 1E .. cpx #$20 ; AEF8 E0 20 . beq LAF0F ; AEFA F0 13 .. ldy CursorY ; AEFC A4 A2 .. cpy CurMaxY_ ; AEFE C4 A6 .. bne LAEDD ; AF00 D0 DB .. ldy $03EB ; AF02 AC EB 03 ... dey ; AF05 88 . cpy $A5 ; AF06 C4 A5 .. bmi LAEDD ; AF08 30 D3 0. sty $03EB ; AF0A 8C EB 03 ... bra LAEDD ; AF0D 80 CE .. LAF0F: ldy CursorY ; AF0F A4 A2 .. jsr LB059 ; AF11 20 59 B0 Y. bcs LAEDD ; AF14 B0 C7 .. LAF16: pla ; AF16 68 h jmp LAEA6 ; AF17 4C A6 AE L.. ; ---------------------------------------------------------------------------- LAF1A: lda #$20 ; AF1A A9 20 . LAF1C: ldx CursorX ; AF1C A6 A1 .. ldy CursorY ; AF1E A4 A2 .. pha ; AF20 48 H jsr LAF2C ; AF21 20 2C AF ,. pla ; AF24 68 h ; This op puts the chr into the video RAM. sta (VidPtrLo) ; AF25 92 C1 .. rts ; AF27 60 ` ; ---------------------------------------------------------------------------- LAF28: ldy CursorY ; AF28 A4 A2 .. ldx CursorX ; AF2A A6 A1 .. LAF2C: cld ; AF2C D8 . txa ; AF2D 8A . asl a ; AF2E 0A . sta VidPtrLo ; AF2F 85 C1 .. tya ; AF31 98 . lsr a ; AF32 4A J ror VidPtrLo ; AF33 66 C1 f. adc VidMemHi ; AF35 65 A0 e. sta VidPtrHi ; AF37 85 C2 .. rts ; AF39 60 ` ; ---------------------------------------------------------------------------- LAF3A: cld ; AF3A D8 . sec ; AF3B 38 8 lda CurMaxX_ ; AF3C A5 A4 .. sbc $A3 ; AF3E E5 A3 .. rts ; AF40 60 ` ; ---------------------------------------------------------------------------- LAF41: ldx CursorX ; AF41 A6 A1 .. ldy CursorY ; AF43 A4 A2 .. jsr LAF2C ; AF45 20 2C AF ,. lda (VidPtrLo) ; AF48 B2 C1 .. rts ; AF4A 60 ` ; ---------------------------------------------------------------------------- LAF4B: ldy $A5 ; AF4B A4 A5 .. cpy CursorY ; AF4D C4 A2 .. beq LAF7C ; AF4F F0 2B .+ ldx $A3 ; AF51 A6 A3 .. jsr LAF2C ; AF53 20 2C AF ,. jsr LAF3A ; AF56 20 3A AF :. sta $F3 ; AF59 85 F3 .. ldx $A5 ; AF5B A6 A5 .. LAF5D: lda VidPtrLo ; AF5D A5 C1 .. ldy VidPtrHi ; AF5F A4 C2 .. sta $F1 ; AF61 85 F1 .. sty $F2 ; AF63 84 F2 .. eor #$80 ; AF65 49 80 I. sta VidPtrLo ; AF67 85 C1 .. bmi LAF6E ; AF69 30 03 0. iny ; AF6B C8 . sty VidPtrHi ; AF6C 84 C2 .. LAF6E: ldy $F3 ; AF6E A4 F3 .. LAF70: lda (VidPtrLo),y ; AF70 B1 C1 .. sta ($F1),y ; AF72 91 F1 .. dey ; AF74 88 . bpl LAF70 ; AF75 10 F9 .. inx ; AF77 E8 . cpx CursorY ; AF78 E4 A2 .. bne LAF5D ; AF7A D0 E1 .. LAF7C: jsr LAFD3 ; AF7C 20 D3 AF .. lda #$C0 ; AF7F A9 C0 .. tsb $037D ; AF81 0C 7D 03 .}. ldy CursorY ; AF84 A4 A2 .. jmp LAFC0 ; AF86 4C C0 AF L.. ; ---------------------------------------------------------------------------- LAF89: ldy CursorY ; AF89 A4 A2 .. cpy CurMaxY_ ; AF8B C4 A6 .. beq LAFC0 ; AF8D F0 31 .1 jsr LAF3A ; AF8F 20 3A AF :. sta $F3 ; AF92 85 F3 .. ldy CurMaxY_ ; AF94 A4 A6 .. LAF96: phy ; AF96 5A Z ldx $A3 ; AF97 A6 A3 .. jsr LAF2C ; AF99 20 2C AF ,. lda VidPtrLo ; AF9C A5 C1 .. ldy VidPtrHi ; AF9E A4 C2 .. eor #$80 ; AFA0 49 80 I. bpl LAFA5 ; AFA2 10 01 .. dey ; AFA4 88 . LAFA5: sta $F1 ; AFA5 85 F1 .. sty $F2 ; AFA7 84 F2 .. ldy $F3 ; AFA9 A4 F3 .. LAFAB: lda ($F1),y ; AFAB B1 F1 .. sta (VidPtrLo),y ; AFAD 91 C1 .. dey ; AFAF 88 . bpl LAFAB ; AFB0 10 F9 .. ply ; AFB2 7A z dey ; AFB3 88 . cpy CursorY ; AFB4 C4 A2 .. bne LAF96 ; AFB6 D0 DE .. jsr LAFF3 ; AFB8 20 F3 AF .. lda #$80 ; AFBB A9 80 .. tsb $037D ; AFBD 0C 7D 03 .}. LAFC0: ldy CursorY ; AFC0 A4 A2 .. ldx $A3 ; AFC2 A6 A3 .. jsr LAF2C ; AFC4 20 2C AF ,. jsr LAF3A ; AFC7 20 3A AF :. tay ; AFCA A8 . ; This fragments prints spaces (ie; clear) on screen. lda #$20 ; AFCB A9 20 . LAFCD: sta (VidPtrLo),y ; AFCD 91 C1 .. dey ; AFCF 88 . bpl LAFCD ; AFD0 10 FB .. rts ; AFD2 60 ` ; ---------------------------------------------------------------------------- LAFD3: jsr LB020 ; AFD3 20 20 B0 . eor $F1 ; AFD6 45 F1 E. and $036A,x ; AFD8 3D 6A 03 =j. sta $F1 ; AFDB 85 F1 .. lda $036A,x ; AFDD BD 6A 03 .j. and $F2 ; AFE0 25 F2 %. lsr a ; AFE2 4A J ora $F1 ; AFE3 05 F1 .. sta $036A,x ; AFE5 9D 6A 03 .j. rol $036A,x ; AFE8 3E 6A 03 >j. LAFEB: ror $036A,x ; AFEB 7E 6A 03 ~j. dex ; AFEE CA . bpl LAFEB ; AFEF 10 FA .. bra LB013 ; AFF1 80 20 . LAFF3: jsr LB020 ; AFF3 20 20 B0 . eor $F2 ; AFF6 45 F2 E. and $036A,x ; AFF8 3D 6A 03 =j. sta $F2 ; AFFB 85 F2 .. lda $036A,x ; AFFD BD 6A 03 .j. and $F1 ; B000 25 F1 %. asl a ; B002 0A . ora $F2 ; B003 05 F2 .. sta $036A,x ; B005 9D 6A 03 .j. .byte $7E ; B008 7E ~ LB009: ror a ; B009 6A j .byte $03 ; B00A 03 . LB00B: rol $036A,x ; B00B 3E 6A 03 >j. inx ; B00E E8 . cpx #$02 ; B00F E0 02 .. bne LB00B ; B011 D0 F8 .. LB013: ldy $A5 ; B013 A4 A5 .. beq LB01B ; B015 F0 04 .. dey ; B017 88 . jsr LB07B ; B018 20 7B B0 {. LB01B: ldy CurMaxY_ ; B01B A4 A6 .. jmp LB07B ; B01D 4C 7B B0 L{. ; ---------------------------------------------------------------------------- LB020: .byte $A4 ; B020 A4 . LB021: ldx #$98 ; B021 A2 98 .. and #$07 ; B023 29 07 ). tax ; B025 AA . lda LB049,x ; B026 BD 49 B0 .I. sta $F2 ; B029 85 F2 .. lda LB051,x ; B02B BD 51 B0 .Q. sta $F1 ; B02E 85 F1 .. LB030: tya ; B030 98 . and #$07 ; B031 29 07 ). tax ; B033 AA . lda PowersOfTwo,x ; B034 BD 41 B0 .A. pha ; B037 48 H tya ; B038 98 . lsr a ; B039 4A J lsr a ; B03A 4A J lsr a ; B03B 4A J and #$01 ; B03C 29 01 ). tax ; B03E AA . pla ; B03F 68 h rts ; B040 60 ` ; ---------------------------------------------------------------------------- PowersOfTwo: .byte $01,$02,$04,$08,$10,$20,$40,$80 ; B041 01 02 04 08 10 20 40 80 ..... @. LB049: .byte $01,$03,$07,$0F,$1F,$3F,$7F,$FF ; B049 01 03 07 0F 1F 3F 7F FF .....?.. LB051: .byte $FF,$FE,$FC,$F8,$F0,$E0,$C0,$80 ; B051 FF FE FC F8 F0 E0 C0 80 ........ ; ---------------------------------------------------------------------------- LB059: lda #$04 ; B059 A9 04 .. and $AA ; B05B 25 AA %. beq LB06D ; B05D F0 0E .. cpy #$10 ; B05F C0 10 .. bcs LB06D ; B061 B0 0A .. jsr LB030 ; B063 20 30 B0 0. and $036A,x ; B066 3D 6A 03 =j. beq LB06D ; B069 F0 02 .. sec ; B06B 38 8 rts ; B06C 60 ` ; ---------------------------------------------------------------------------- LB06D: clc ; B06D 18 . rts ; B06E 60 ` ; ---------------------------------------------------------------------------- LB06F: bcc LB07B ; B06F 90 0A .. jsr LB030 ; B071 20 30 B0 0. ora $036A,x ; B074 1D 6A 03 .j. sta $036A,x ; B077 9D 6A 03 .j. rts ; B07A 60 ` ; ---------------------------------------------------------------------------- LB07B: .byte $20 ; B07B 20 .byte $30 ; B07C 30 0 LB07D: bcs LB0C8 ; B07D B0 49 .I bbs7 $3D,LB0EB+1 ; B07F FF 3D 6A .=j .byte $03 ; B082 03 . sta $036A,x ; B083 9D 6A 03 .j. rts ; B086 60 ` ; ---------------------------------------------------------------------------- LB087: stz $036A ; B087 9C 6A 03 .j. .byte $9C ; B08A 9C . LB08B: .byte $6B ; B08B 6B k .byte $03 ; B08C 03 . rts ; B08D 60 ` ; ---------------------------------------------------------------------------- LB08E: cmp #$22 ; B08E C9 22 ." bne LB09A ; B090 D0 08 .. bit $A7 ; B092 24 A7 $. stz $A7 ; B094 64 A7 d. bvs LB09A ; B096 70 02 p. dec $A7 ; B098 C6 A7 .. LB09A: rts ; B09A 60 ` ; ---------------------------------------------------------------------------- LB09B: cmp #$FF ; B09B C9 FF .. bne LB0A2 ; B09D D0 03 .. lda #$5E ; B09F A9 5E .^ rts ; B0A1 60 ` ; ---------------------------------------------------------------------------- LB0A2: phx ; B0A2 DA . pha ; B0A3 48 H lsr a ; B0A4 4A J lsr a ; B0A5 4A J lsr a ; B0A6 4A J lsr a ; B0A7 4A J lsr a ; B0A8 4A J tax ; B0A9 AA . pla ; B0AA 68 h eor LB0B0,x ; B0AB 5D B0 B0 ].. plx ; B0AE FA . rts ; B0AF 60 ` ; ---------------------------------------------------------------------------- LB0B0: .byte $80,$00 ; B0B0 80 00 .. LB0B2: .byte $40,$20,$40,$C0,$80,$80 ; B0B2 40 20 40 C0 80 80 @ @... ; ---------------------------------------------------------------------------- LB0B8: sta $F1 ; B0B8 85 F1 .. and #$3F ; B0BA 29 3F )? LB0BC: asl $F1 ; B0BC 06 F1 .. bit $F1 ; B0BE 24 F1 $. bpl LB0C4 ; B0C0 10 02 .. ora #$80 ; B0C2 09 80 .. LB0C4: bcc LB0CA ; B0C4 90 04 .. ldx $A7 ; B0C6 A6 A7 .. LB0C8: bne LB0CE ; B0C8 D0 04 .. LB0CA: bvs LB0CE ; B0CA 70 02 p. ora #$40 ; B0CC 09 40 .@ LB0CE: cmp #$DE ; B0CE C9 DE .. bne LB0D4 ; B0D0 D0 02 .. lda #$FF ; B0D2 A9 FF .. LB0D4: rts ; B0D4 60 ` ; ---------------------------------------------------------------------------- ; Just guessing: this table is a byte then a jump address. Maybe it's some ; kind of terminal escape sequence table or such, at least pointed routines ; are often touch cursor position zp locs, etc. LB0D5: .byte $41 ; B0D5 41 A ; ---------------------------------------------------------------------------- LB0D6: .addr LB12A ; B0D6 2A B1 *. ; ---------------------------------------------------------------------------- .byte $42 ; B0D8 42 B ; ---------------------------------------------------------------------------- .addr LB12F ; B0D9 2F B1 /. ; ---------------------------------------------------------------------------- .byte $43 ; B0DB 43 C ; ---------------------------------------------------------------------------- .addr LB13A ; B0DC 3A B1 :. ; ---------------------------------------------------------------------------- .byte $44 ; B0DE 44 D ; ---------------------------------------------------------------------------- .addr LAFC0 ; B0DF C0 AF .. ; ---------------------------------------------------------------------------- .byte $45 ; B0E1 45 E ; ---------------------------------------------------------------------------- .addr LB2CA ; B0E2 CA B2 .. ; ---------------------------------------------------------------------------- .byte $46 ; B0E4 46 F ; ---------------------------------------------------------------------------- LB0E5: .addr LB2D0 ; B0E5 D0 B2 .. ; ---------------------------------------------------------------------------- .byte $49 ; B0E7 49 I ; ---------------------------------------------------------------------------- .addr LB13D ; B0E8 3D B1 =. ; ---------------------------------------------------------------------------- .byte $4A ; B0EA 4A J ; ---------------------------------------------------------------------------- LB0EB: .addr LB14A ; B0EB 4A B1 J. ; ---------------------------------------------------------------------------- .byte $4B ; B0ED 4B K ; ---------------------------------------------------------------------------- .addr LB15A ; B0EE 5A B1 Z. ; ---------------------------------------------------------------------------- .byte $4C ; B0F0 4C L ; ---------------------------------------------------------------------------- .addr LB180 ; B0F1 80 B1 .. ; ---------------------------------------------------------------------------- .byte $4D ; B0F3 4D M ; ---------------------------------------------------------------------------- .addr LB185 ; B0F4 85 B1 .. ; ---------------------------------------------------------------------------- .byte $4F ; B0F6 4F O ; ---------------------------------------------------------------------------- .addr LB220 ; B0F7 20 B2 . ; ---------------------------------------------------------------------------- .byte $50 ; B0F9 50 P ; ---------------------------------------------------------------------------- .addr LB198 ; B0FA 98 B1 .. ; ---------------------------------------------------------------------------- LB0FC: .byte $51 ; B0FC 51 Q ; ---------------------------------------------------------------------------- LB0FD: .addr LB18A ; B0FD 8A B1 .. ; ---------------------------------------------------------------------------- .byte $54 ; B0FF 54 T ; ---------------------------------------------------------------------------- .addr LB1B3 ; B100 B3 B1 .. ; ---------------------------------------------------------------------------- .byte $56 ; B102 56 V ; ---------------------------------------------------------------------------- .addr LB1BE ; B103 BE B1 .. ; ---------------------------------------------------------------------------- .byte $57 ; B105 57 W ; ---------------------------------------------------------------------------- .addr LB1CA ; B106 CA B1 .. ; ---------------------------------------------------------------------------- .byte $59 ; B108 59 Y ; ---------------------------------------------------------------------------- .addr LAD41 ; B109 41 AD A. ; ---------------------------------------------------------------------------- .byte $5A ; B10B 5A Z ; ---------------------------------------------------------------------------- .addr LAD44 ; B10C 44 AD D. ; ---------------------------------------------------------------------------- LB10E: bit $036E ; B10E 2C 6E 03 ,n. bmi LB126 ; B111 30 13 0. bvc LB126 ; B113 50 11 P. lda $036E ; B115 AD 6E 03 .n. and #$DF ; B118 29 DF ). LB11A: ldx #$36 ; B11A A2 36 .6 LB11C: cmp LB0D5,x ; B11C DD D5 B0 ... beq LB127 ; B11F F0 06 .. dex ; B121 CA . dex ; B122 CA . dex ; B123 CA . bpl LB11C ; B124 10 F6 .. LB126: rts ; B126 60 ` ; ---------------------------------------------------------------------------- LB127: jmp (LB0D6,x) ; B127 7C D6 B0 |.. LB12A: sta $A9 ; B12A 85 A9 .. stz $A8 ; B12C 64 A8 d. rts ; B12E 60 ` ; ---------------------------------------------------------------------------- LB12F: ldx CursorX ; B12F A6 A1 .. stx CurMaxX_ ; B131 86 A4 .. ldy CursorY ; B133 A4 A2 .. sty CurMaxY_ ; B135 84 A6 .. jmp LB087 ; B137 4C 87 B0 L.. ; ---------------------------------------------------------------------------- LB13A: stz $A9 ; B13A 64 A9 d. rts ; B13C 60 ` ; ---------------------------------------------------------------------------- LB13D: jsr LAF89 ; B13D 20 89 AF .. ldy CursorY ; B140 A4 A2 .. dey ; B142 88 . jsr LB059 ; B143 20 59 B0 Y. iny ; B146 C8 . jmp LB06F ; B147 4C 6F B0 Lo. ; ---------------------------------------------------------------------------- LB14A: ldx $A3 ; B14A A6 A3 .. stx CursorX ; B14C 86 A1 .. ldy CursorY ; B14E A4 A2 .. LB150: dey ; B150 88 . jsr LB059 ; B151 20 59 B0 Y. bcs LB150 ; B154 B0 FA .. iny ; B156 C8 . sty CursorY ; B157 84 A2 .. rts ; B159 60 ` ; ---------------------------------------------------------------------------- LB15A: dec CursorY ; B15A C6 A2 .. LB15C: inc CursorY ; B15C E6 A2 .. ldy CursorY ; B15E A4 A2 .. jsr LB059 ; B160 20 59 B0 Y. bcs LB15C ; B163 B0 F7 .. ldx CurMaxX_ ; B165 A6 A4 .. stx CursorX ; B167 86 A1 .. bra LB16E ; B169 80 03 .. LB16B: jsr LAE09 ; B16B 20 09 AE .. LB16E: jsr LAF41 ; B16E 20 41 AF A. cmp #$20 ; B171 C9 20 . bne LB17F ; B173 D0 0A .. cpx $A3 ; B175 E4 A3 .. bne LB16B ; B177 D0 F2 .. dey ; B179 88 . jsr LB059 ; B17A 20 59 B0 Y. bcs LB16B ; B17D B0 EC .. LB17F: rts ; B17F 60 ` ; ---------------------------------------------------------------------------- LB180: lda #$40 ; B180 A9 40 .@ tsb $AA ; B182 04 AA .. rts ; B184 60 ` ; ---------------------------------------------------------------------------- LB185: lda #$40 ; B185 A9 40 .@ trb $AA ; B187 14 AA .. rts ; B189 60 ` ; ---------------------------------------------------------------------------- LB18A: jsr LAEB1 ; B18A 20 B1 AE .. jsr LB15A ; B18D 20 5A B1 Z. jsr LAEBC ; B190 20 BC AE .. bcs LB19E ; B193 B0 09 .. jmp LAEA6 ; B195 4C A6 AE L.. ; ---------------------------------------------------------------------------- LB198: jsr LAEB1 ; B198 20 B1 AE .. jsr LB14A ; B19B 20 4A B1 J. LB19E: jsr LAF1A ; B19E 20 1A AF .. jsr LAEBC ; B1A1 20 BC AE .. bne LB1A7 ; B1A4 D0 01 .. rts ; B1A6 60 ` ; ---------------------------------------------------------------------------- LB1A7: bpl LB1AE ; B1A7 10 05 .. jsr LADD1 ; B1A9 20 D1 AD .. bra LB19E ; B1AC 80 F0 .. LB1AE: jsr LAE09 ; B1AE 20 09 AE .. bra LB19E ; B1B1 80 EB .. LB1B3: ldx CursorX ; B1B3 A6 A1 .. ldy CursorY ; B1B5 A4 A2 .. stx $A3 ; B1B7 86 A3 .. sty $A5 ; B1B9 84 A5 .. jmp LB087 ; B1BB 4C 87 B0 L.. ; ---------------------------------------------------------------------------- LB1BE: jsr LAEB1 ; B1BE 20 B1 AE .. ldy CurMaxY_ ; B1C1 A4 A6 .. sty CursorY ; B1C3 84 A2 .. jsr LAF4B ; B1C5 20 4B AF K. bra LB1D4 ; B1C8 80 0A .. LB1CA: jsr LAEB1 ; B1CA 20 B1 AE .. ldy $A5 ; B1CD A4 A5 .. sty CursorY ; B1CF 84 A2 .. jsr LAF89 ; B1D1 20 89 AF .. LB1D4: jsr LB393 ; B1D4 20 93 B3 .. jmp LAEA6 ; B1D7 4C A6 AE L.. ; ---------------------------------------------------------------------------- LB1DA: jsr LB2E4 ; B1DA 20 E4 B2 .. lda #$08 ; B1DD A9 08 .. sta VidMemHi ; B1DF 85 A0 .. ldx #$28 ; B1E1 A2 28 .( stx $0368 ; B1E3 8E 68 03 .h. ldy #$10 ; B1E6 A0 10 .. LB1E8: sty $0369 ; B1E8 8C 69 03 .i. lda #$0F ; B1EB A9 0F .. sta CurMaxY ; B1ED 8D 7E 03 .~. lda #$4F ; B1F0 A9 4F .O sta CurMaxX ; B1F2 8D 81 03 ... stz $037F ; B1F5 9C 7F 03 ... stz L0380 ; B1F8 9C 80 03 ... jsr LAE5B ; B1FB 20 5B AE [. lda #$00 ; B1FE A9 00 .. tax ; B200 AA . ldy VidMemHi ; B201 A4 A0 .. clc ; B203 18 . jsr LCDsetupGetOrSet ; B204 20 28 B2 (. jsr LAE47 ; B207 20 47 AE G. stz $A7 ; B20A 64 A7 d. stz $0382 ; B20C 9C 82 03 ... stz $A9 ; B20F 64 A9 d. stz $036E ; B211 9C 6E 03 .n. stz $A9 ; B214 64 A9 d. lda #$ED ; B216 A9 ED .. sta $AA ; B218 85 AA .. stz $036F ; B21A 9C 6F 03 .o. jsr LAD41 ; B21D 20 41 AD A. LB220: stz $A7 ; B220 64 A7 d. stz $A8 ; B222 64 A8 d. LB224: stz $036C ; B224 9C 6C 03 .l. rts ; B227 60 ` ; ---------------------------------------------------------------------------- LCDsetupGetOrSet: ; This routine is called by RESET routine, with carry set. ; It seems it's the only part where locations $FF80 - $FF83 are written. ; $FF80-$FF83 is the write-only registers of the LCD controller. ; It's called first with carry set from $87B5, ; then called second with carry clear from $B204 php ; B228 08 . sei ; B229 78 x bcc LCDsetupSet ; B22A 90 09 .. lda $037A ; B22C AD 7A 03 .z. ldx $037B ; B22F AE 7B 03 .{. ldy $037C ; B232 AC 7C 03 .|. LCDsetupSet: and #$03 ; B235 29 03 ). sta $037A ; B237 8D 7A 03 .z. stx $037B ; B23A 8E 7B 03 .{. sty $037C ; B23D 8C 7C 03 .|. ora #$08 ; B240 09 08 .. sta LFF82 ; B242 8D 82 FF ... sta LFF83 ; B245 8D 83 FF ... stx LFF80 ; B248 8E 80 FF ... tya ; B24B 98 . asl a ; B24C 0A . sta KJ_SCINIT ; B24D 8D 81 FF ... lda $037A ; B250 AD 7A 03 .z. plp ; B253 28 ( rts ; B254 60 ` ; ---------------------------------------------------------------------------- LB255: .word $00A1,$00A2,$00A3,$00A4 ; B255 A1 00 A2 00 A3 00 A4 00 ........ .word $00A6,$00A5,$00A7,$037D ; B25D A6 00 A5 00 A7 00 7D 03 ......}. .word $00A8,$00A9,$00AA,$036F ; B265 A8 00 A9 00 AA 00 6F 03 ......o. .word $036C,$036D,$036A,$036B ; B26D 6C 03 6D 03 6A 03 6B 03 l.m.j.k. .word $036E,$0370,$0371,$0372 ; B275 6E 03 70 03 71 03 72 03 n.p.q.r. .word $0373,$0374,$0375,$0376 ; B27D 73 03 74 03 75 03 76 03 s.t.u.v. .word $0377,$0378,$0379,$00A0 ; B285 77 03 78 03 79 03 A0 00 w.x.y... .word $037A,$037B,$037C ; B28D 7A 03 7B 03 7C 03 z.{.|. ; ---------------------------------------------------------------------------- LB293: stx $F1 ; B293 86 F1 .. sty $F2 ; B295 84 F2 .. jsr LB2E4 ; B297 20 E4 B2 .. stz $0382 ; B29A 9C 82 03 ... lda #$F1 ; B29D A9 F1 .. sta $034E ; B29F 8D 4E 03 .N. sta $0360 ; B2A2 8D 60 03 .`. ldy #$00 ; B2A5 A0 00 .. ldx #$00 ; B2A7 A2 00 .. LB2A9: lda LB255,x ; B2A9 BD 55 B2 .U. sta VidPtrLo ; B2AC 85 C1 .. lda LB255+1,x ; B2AE BD 56 B2 .V. sta VidPtrHi ; B2B1 85 C2 .. lda (VidPtrLo) ; B2B3 B2 C1 .. pha ; B2B5 48 H jsr FROM_C67B ; B2B6 20 4A 03 J. sta (VidPtrLo) ; B2B9 92 C1 .. pla ; B2BB 68 h jsr FROM_C68D ; B2BC 20 5C 03 \. iny ; B2BF C8 . inx ; B2C0 E8 . inx ; B2C1 E8 . cpx #$3E ; B2C2 E0 3E .> bne LB2A9 ; B2C4 D0 E3 .. LB2C6: sec ; B2C6 38 8 jmp LCDsetupGetOrSet ; B2C7 4C 28 B2 L(. ; ---------------------------------------------------------------------------- LB2CA: lda #$80 ; B2CA A9 80 .. tsb $036F ; B2CC 0C 6F 03 .o. rts ; B2CF 60 ` ; ---------------------------------------------------------------------------- LB2D0: lda #$80 ; B2D0 A9 80 .. trb $036F ; B2D2 1C 6F 03 .o. rts ; B2D5 60 ` ; ---------------------------------------------------------------------------- LB2D6: jsr LB2E4 ; B2D6 20 E4 B2 .. jsr LAF28 ; B2D9 20 28 AF (. lda (VidPtrLo) ; B2DC B2 C1 .. sta $F0 ; B2DE 85 F0 .. sec ; B2E0 38 8 ror $EF ; B2E1 66 EF f. rts ; B2E3 60 ` ; ---------------------------------------------------------------------------- LB2E4: lda #$FF ; B2E4 A9 FF .. trb $EF ; B2E6 14 EF .. beq LB2EE ; B2E8 F0 04 .. lda $F0 ; B2EA A5 F0 .. sta (VidPtrLo) ; B2EC 92 C1 .. LB2EE: rts ; B2EE 60 ` ; ---------------------------------------------------------------------------- LB2EF: lda $0384 ; B2EF AD 84 03 ... bne LB318 ; B2F2 D0 24 .$ bit $EF ; B2F4 24 EF $. bpl LB318 ; B2F6 10 20 . dec $EF ; B2F8 C6 EF .. bmi LB318 ; B2FA 30 1C 0. bit $036F ; B2FC 2C 6F 03 ,o. bmi LB305 ; B2FF 30 04 0. lda #$A0 ; B301 A9 A0 .. sta $EF ; B303 85 EF .. LB305: lda $F0 ; B305 A5 F0 .. cmp (VidPtrLo) ; B307 D2 C1 .. bne LB316 ; B309 D0 0B .. bit $03FC ; B30B 2C FC 03 ,.. bpl LB314 ; B30E 10 04 .. and #$80 ; B310 29 80 ). ora #$1E ; B312 09 1E .. LB314: eor #$80 ; B314 49 80 I. LB316: sta (VidPtrLo) ; B316 92 C1 .. LB318: rts ; B318 60 ` ; ---------------------------------------------------------------------------- LB319: lda $80 ; B319 A5 80 .. tsb $0382 ; B31B 0C 82 03 ... bne LB362 ; B31E D0 42 .B jsr LB393 ; B320 20 93 B3 .. bra LB349 ; B323 80 24 .$ LB325: lda #$80 ; B325 A9 80 .. tsb $0382 ; B327 0C 82 03 ... bne LB362 ; B32A D0 36 .6 jsr LAEB1 ; B32C 20 B1 AE .. stx $03E8 ; B32F 8E E8 03 ... sty $03E9 ; B332 8C E9 03 ... bra LB33A ; B335 80 03 .. LB337: jsr LABD6 ; B337 20 D6 AB .. LB33A: jsr LB2D6 ; B33A 20 D6 B2 .. jsr LB6DF ; B33D 20 DF B6 .. pha ; B340 48 H jsr LB2E4 ; B341 20 E4 B2 .. pla ; B344 68 h cmp #$0D ; B345 C9 0D .. bne LB337 ; B347 D0 EE .. LB349: stz $A7 ; B349 64 A7 d. jsr LB15A ; B34B 20 5A B1 Z. jsr LAEB1 ; B34E 20 B1 AE .. ldy $03E9 ; B351 AC E9 03 ... bmi LB35F ; B354 30 09 0. sty CursorY ; B356 84 A2 .. ldx $03E8 ; B358 AE E8 03 ... stx CursorX ; B35B 86 A1 .. bra LB362 ; B35D 80 03 .. LB35F: jsr LB14A ; B35F 20 4A B1 J. LB362: jsr LAEBC ; B362 20 BC AE .. bcc LB36E ; B365 90 07 .. lda #$40 ; B367 A9 40 .@ tsb $0382 ; B369 0C 82 03 ... bne LB387 ; B36C D0 19 .. LB36E: jsr LAF41 ; B36E 20 41 AF A. jsr LB0B8 ; B371 20 B8 B0 .. jsr LB08E ; B374 20 8E B0 .. bit $0382 ; B377 2C 82 03 ,.. bvs LB383 ; B37A 70 07 p. pha ; B37C 48 H jsr LADD1 ; B37D 20 D1 AD .. pla ; B380 68 h LB381: clc ; B381 18 . rts ; B382 60 ` ; ---------------------------------------------------------------------------- LB383: cmp #$20 ; B383 C9 20 . bne LB381 ; B385 D0 FA .. LB387: jsr LB15A ; B387 20 5A B1 Z. stz $A7 ; B38A 64 A7 d. stz $0382 ; B38C 9C 82 03 ... lda #$0D ; B38F A9 0D .. clc ; B391 18 . rts ; B392 60 ` ; ---------------------------------------------------------------------------- LB393: stz $03E9 ; B393 9C E9 03 ... dec $03E9 ; B396 CE E9 03 ... rts ; B399 60 ` ; ---------------------------------------------------------------------------- ; My guess: these tables help to decode the keyboard matrix read into actual ; characters. More tables, because of shifted, etc state. KbdMat1:.byte $40,$87,$86,$85,$88,$09,$0D,$14 ; B39A 40 87 86 85 88 09 0D 14 @....... .byte $8A,$45,$53,$5A,$34,$41,$57,$33 ; B3A2 8A 45 53 5A 34 41 57 33 .ESZ4AW3 .byte $58,$54,$46,$43,$36,$44,$52,$35 ; B3AA 58 54 46 43 36 44 52 35 XTFC6DR5 .byte $56,$55,$48,$42,$38,$47,$59,$37 ; B3B2 56 55 48 42 38 47 59 37 VUHB8GY7 .byte $4E,$4F,$4B,$4D,$30,$4A,$49,$39 ; B3BA 4E 4F 4B 4D 30 4A 49 39 NOKM0JI9 .byte $2C,$2D,$3A,$2E,$91,$4C,$50,$11 ; B3C2 2C 2D 3A 2E 91 4C 50 11 ,-:..LP. .byte $2F,$2B,$3D,$1B,$1D,$3B,$2A,$9D ; B3CA 2F 2B 3D 1B 1D 3B 2A 9D /+=..;*. .byte $8B,$51,$8C,$20,$32,$89,$13,$31 ; B3D2 8B 51 8C 20 32 89 13 31 .Q. 2..1 KbdMat2:.byte $BA,$87,$86,$85,$88,$09,$8D,$94 ; B3DA BA 87 86 85 88 09 8D 94 ........ .byte $8A,$65,$73,$7A,$24,$61,$77,$23 ; B3E2 8A 65 73 7A 24 61 77 23 .esz$aw# .byte $78,$74,$66,$63,$26,$64,$72,$25 ; B3EA 78 74 66 63 26 64 72 25 xtfc&dr% .byte $76,$75,$68,$62,$28,$67,$79,$27 ; B3F2 76 75 68 62 28 67 79 27 vuhb(gy' .byte $6E,$6F,$6B,$6D,$5E,$6A,$69,$29 ; B3FA 6E 6F 6B 6D 5E 6A 69 29 nokm^ji) .byte $3C,$60,$5B,$3E,$91,$6C,$70,$11 ; B402 3C 60 5B 3E 91 6C 70 11 <`[>.lp. .byte $3F,$7B,$7D,$1B,$1D,$5D,$A9,$9D ; B40A 3F 7B 7D 1B 1D 5D A9 9D ?{}..].. .byte $8B,$71,$8C,$A0,$22,$89,$93,$21 ; B412 8B 71 8C A0 22 89 93 21 .q.."..! KbdMat3:.byte $40,$87,$86,$85,$88,$09,$0D,$14 ; B41A 40 87 86 85 88 09 0D 14 @....... .byte $8A,$65,$73,$7A,$34,$61,$77,$33 ; B422 8A 65 73 7A 34 61 77 33 .esz4aw3 .byte $78,$74,$66,$63,$36,$64,$72,$35 ; B42A 78 74 66 63 36 64 72 35 xtfc6dr5 .byte $76,$75,$68,$62,$38,$67,$79,$37 ; B432 76 75 68 62 38 67 79 37 vuhb8gy7 .byte $6E,$6F,$6B,$6D,$30,$6A,$69,$39 ; B43A 6E 6F 6B 6D 30 6A 69 39 nokm0ji9 .byte $2C,$2D,$3A,$2E,$91,$6C,$70,$11 ; B442 2C 2D 3A 2E 91 6C 70 11 ,-:..lp. .byte $2F,$2B,$3D,$1B,$1D,$3B,$2A,$9D ; B44A 2F 2B 3D 1B 1D 3B 2A 9D /+=..;*. .byte $8B,$71,$8C,$20,$32,$89,$13,$31 ; B452 8B 71 8C 20 32 89 13 31 .q. 2..1 KbdMat4:.byte $BA,$87,$86,$85,$88,$09,$8D,$94 ; B45A BA 87 86 85 88 09 8D 94 ........ .byte $8A,$B1,$AE,$AD,$24,$B0,$B3,$23 ; B462 8A B1 AE AD 24 B0 B3 23 ....$..# .byte $BD,$A3,$BB,$BC,$26,$AC,$B2,$25 ; B46A BD A3 BB BC 26 AC B2 25 ....&..% .byte $BE,$B8,$B4,$BF,$28,$A5,$B7,$27 ; B472 BE B8 B4 BF 28 A5 B7 27 ....(..' .byte $AA,$B9,$A1,$A7,$5F,$B5,$A2,$29 ; B47A AA B9 A1 A7 5F B5 A2 29 ...._..) .byte $2C,$5C,$A6,$2E,$91,$B6,$AF,$11 ; B482 2C 5C A6 2E 91 B6 AF 11 ,\...... .byte $A4,$7C,$FF,$1B,$1D,$A8,$7F,$9D ; B48A A4 7C FF 1B 1D A8 7F 9D .|...... .byte $8B,$AB,$8A,$A0 ; B492 8B AB 8A A0 .... LB496: .byte $32,$89,$93,$31 ; B496 32 89 93 31 2..1 KbdMat5:.byte $80,$87,$86,$85,$88,$09,$0D,$14 ; B49A 80 87 86 85 88 09 0D 14 ........ .byte $8A,$05,$13,$1A,$34,$01,$17,$33 ; B4A2 8A 05 13 1A 34 01 17 33 ....4..3 .byte $18,$14,$06,$03,$36,$04,$12,$35 ; B4AA 18 14 06 03 36 04 12 35 ....6..5 .byte $16,$15,$08,$02,$38,$07,$19,$37 ; B4B2 16 15 08 02 38 07 19 37 ....8..7 .byte $0E,$0F,$0B,$0D,$1E,$0A,$09,$39 ; B4BA 0E 0F 0B 0D 1E 0A 09 39 .......9 .byte $12,$1C,$1B,$92,$91,$0C,$10,$11 ; B4C2 12 1C 1B 92 91 0C 10 11 ........ .byte $1F,$2B,$3D,$1B,$1D,$1D,$2A,$9D ; B4CA 1F 2B 3D 1B 1D 1D 2A 9D .+=...*. .byte $8B,$11,$8C,$20,$32,$89,$13,$31 ; B4D2 8B 11 8C 20 32 89 13 31 ... 2..1 ; ---------------------------------------------------------------------------- LB4DA: lda #$09 ; B4DA A9 09 .. sta $03F6 ; B4DC 8D F6 03 ... lda #$1E ; B4DF A9 1E .. sta $0367 ; B4E1 8D 67 03 .g. lda #$01 ; B4E4 A9 01 .. sta $0366 ; B4E6 8D 66 03 .f. sta $0365 ; B4E9 8D 65 03 .e. lda #$FF ; B4EC A9 FF .. sta $038E ; B4EE 8D 8E 03 ... lda #$87 ; B4F1 A9 87 .. sta L0336 ; B4F3 8D 36 03 .6. lda #$FA ; B4F6 A9 FA .. sta $0337 ; B4F8 8D 37 03 .7. LB4FB: php ; B4FB 08 . sei ; B4FC 78 x stz $03F7 ; B4FD 9C F7 03 ... stz $03F8 ; B500 9C F8 03 ... stz $03F9 ; B503 9C F9 03 ... plp ; B506 28 ( rts ; B507 60 ` ; ---------------------------------------------------------------------------- KL_SCNKEY: lda $F4 ; B508 A5 F4 .. beq LB54C ; B50A F0 40 .@ dec $F4 ; B50C C6 F4 .. lda $AB ; B50E A5 AB .. and #$07 ; B510 29 07 ). tax ; B512 AA . lda PowersOfTwo,x ; B513 BD 41 B0 .A. eor #$FF ; B516 49 FF I. sta VIA1_PORTA ; B518 8D 01 F8 ... lda $AB ; B51B A5 AB .. lsr a ; B51D 4A J lsr a ; B51E 4A J lsr a ; B51F 4A J tay ; B520 A8 . jsr KBD_READ_VIA_SR ; B521 20 E4 B5 .. and PowersOfTwo,y ; B524 39 41 B0 9A. beq LB52E ; B527 F0 05 .. lda $0365 ; B529 AD 65 03 .e. sta $F4 ; B52C 85 F4 .. LB52E: lda $AB ; B52E A5 AB .. eor #$07 ; B530 49 07 I. tax ; B532 AA . lda KbdMat1,x ; B533 BD 9A B3 ... cmp #$85 ; B536 C9 85 .. bcc LB53E ; B538 90 04 .. cmp #$8D ; B53A C9 8D .. bcc LB549 ; B53C 90 0B .. LB53E: dec $F5 ; B53E C6 F5 .. bpl LB549 ; B540 10 07 .. lda $0366 ; B542 AD 66 03 .f. sta $F5 ; B545 85 F5 .. bne LB585 ; B547 D0 3C .< LB549: jmp LB5FD ; B549 4C FD B5 L.. ; ---------------------------------------------------------------------------- LB54C: lda #$00 ; B54C A9 00 .. sta VIA1_PORTA ; B54E 8D 01 F8 ... jsr KBD_READ_VIA_SR ; B551 20 E4 B5 .. beq LB549 ; B554 F0 F3 .. ldx #$07 ; B556 A2 07 .. LB558: lda PowersOfTwo,x ; B558 BD 41 B0 .A. eor #$FF ; B55B 49 FF I. sta VIA1_PORTA ; B55D 8D 01 F8 ... jsr KBD_READ_VIA_SR ; B560 20 E4 B5 .. bne LB56A ; B563 D0 05 .. dex ; B565 CA . bpl LB558 ; B566 10 F0 .. bra LB549 ; B568 80 DF .. LB56A: ldy #$FF ; B56A A0 FF .. LB56C: iny ; B56C C8 . lsr a ; B56D 4A J bcc LB56C ; B56E 90 FC .. tya ; B570 98 . asl a ; B571 0A . asl a ; B572 0A . asl a ; B573 0A . dec a ; B574 3A : LB575: inc a ; B575 1A . dex ; B576 CA . bpl LB575 ; B577 10 FC .. sta $AB ; B579 85 AB .. LB57C := * + 1 lda $0365 ; B57B AD 65 03 .e. LB57F := * + 1 sta $F4 ; B57E 85 F4 .. lda $0367 ; B580 AD 67 03 .g. sta $F5 ; B583 85 F5 .. LB585: lda $AB ; B585 A5 AB .. eor #$07 ; B587 49 07 I. tax ; B589 AA . LB58B := * + 1 jsr LB5FD ; B58A 20 FD B5 .. and #$08 ; B58D 29 08 ). beq LB5AC ; B58F F0 1B .. lda #$02 ; B591 A9 02 .. and $AA ; B593 25 AA %. beq LB5AC ; B595 F0 15 .. ldy KbdMat1,x ; B597 BC 9A B3 ... cpy #$51 ; B59A C0 51 .Q bne LB5A3 ; B59C D0 05 .. trb $036D ; B59E 1C 6D 03 .m. bra LB5E1 ; B5A1 80 3E .> LB5A3: cpy #$53 ; B5A3 C0 53 .S bne LB5AC ; B5A5 D0 05 .. tsb $036D ; B5A7 0C 6D 03 .m. bra LB5E1 ; B5AA 80 35 .5 LB5AC: lda StopKeyFlag ; B5AC A5 AD .. and $038E ; B5AE 2D 8E 03 -.. ldy KbdMat5,x ; B5B1 BC 9A B4 ... bit #$08 ; B5B4 89 08 .. bne LB5D0 ; B5B6 D0 18 .. ldy KbdMat4,x ; B5B8 BC 5A B4 .Z. bit #$10 ; B5BB 89 10 .. bne LB5D0 ; B5BD D0 11 .. ldy KbdMat2,x ; B5BF BC DA B3 ... bit #$04 ; B5C2 89 04 .. bne LB5D0 ; B5C4 D0 0A .. ldy KbdMat3,x ; B5C6 BC 1A B4 ... bit #$02 ; B5C9 89 02 .. bne LB5D0 ; B5CB D0 03 .. ldy KbdMat1,x ; B5CD BC 9A B3 ... LB5D0: tya ; B5D0 98 . ldy $03FA ; B5D1 AC FA 03 ... LB5D4: bne LB5E1 ; B5D4 D0 0B .. ldy KbdMat1,x ; B5D6 BC 9A B3 ... jsr LFA84 ; B5D9 20 84 FA .. LB5DC: sta $AC ; B5DC 85 AC .. jsr LB640 ; B5DE 20 40 B6 @. LB5E1: jmp LBFBE ; B5E1 4C BE BF L.. ; ---------------------------------------------------------------------------- KBD_READ_VIA_SR: ; It seems, CLCD's kbd is read through VIA's SR ... Interesting. ; AFAIK, port B of VIA is mainly used by IEC bus, but bit 0 for example seems ; to trigger (0->1) the keyboard "controller" to provide bits through serial ; transfer in SR-in. lda VIA1_PORTB ; B5E4 AD 00 F8 ... and #$FE ; B5E7 29 FE ). sta VIA1_PORTB ; B5E9 8D 00 F8 ... inc VIA1_PORTB ; B5EC EE 00 F8 ... lda VIA1_SR ; B5EF AD 0A F8 ... LB5F2: lda #$04 ; B5F2 A9 04 .. LB5F4: bit VIA1_IFR ; B5F4 2C 0D F8 ,.. beq LB5F4 ; B5F7 F0 FB .. lda VIA1_SR ; B5F9 AD 0A F8 ... rts ; B5FC 60 ` ; ---------------------------------------------------------------------------- LB5FD: jsr LB5F2 ; B5FD 20 F2 B5 .. sta StopKeyFlag ; B600 85 AD .. LB602: and #$14 ; B602 29 14 ). eor #$14 ; B604 49 14 I. ora $03FB ; B606 0D FB 03 ... bne LB613 ; B609 D0 08 .. jsr LACEE ; B60B 20 EE AC .. lda #$3C ; B60E A9 3C .< sta $03FB ; B610 8D FB 03 ... LB613: dec $03FB ; B613 CE FB 03 ... bpl LB61B ; B616 10 03 .. stz $03FB ; B618 9C FB 03 ... LB61B: lda #$02 ; B61B A9 02 .. trb StopKeyFlag ; B61D 14 AD .. beq LB62F ; B61F F0 0E .. lda $03FC ; B621 AD FC 03 ... bit #$40 ; B624 89 40 .@ bne LB634 ; B626 D0 0C .. eor #$C0 ; B628 49 C0 I. sta $03FC ; B62A 8D FC 03 ... bra LB634 ; B62D 80 05 .. LB62F: lda #$40 ; B62F A9 40 .@ trb $03FC ; B631 1C FC 03 ... LB634: bit $03FC ; B634 2C FC 03 ,.. bpl LB63D ; B637 10 04 .. lda #$02 ; B639 A9 02 .. tsb StopKeyFlag ; B63B 04 AD .. LB63D: lda StopKeyFlag ; B63D A5 AD .. rts ; B63F 60 ` ; ---------------------------------------------------------------------------- LB640: php ; B640 08 . sei ; B641 78 x phx ; B642 DA . ldx $03F7 ; B643 AE F7 03 ... dex ; B646 CA . bpl LB64C ; B647 10 03 .. ldx $03F6 ; B649 AE F6 03 ... LB64C: LB64D := * + 1 cpx $03F8 ; B64C EC F8 03 ... bne LB655 ; B64F D0 04 .. plx ; B651 FA . plp ; B652 28 ( sec ; B653 38 8 rts ; B654 60 ` ; ---------------------------------------------------------------------------- LB655: and #$FF ; B655 29 FF ). beq LB668 ; B657 F0 0F .. LB659: ldx $03F7 ; B659 AE F7 03 ... sta $03EC,x ; B65C 9D EC 03 ... dex ; B65F CA . bpl LB665 ; B660 10 03 .. ldx $03F6 ; B662 AE F6 03 ... LB665: stx $03F7 ; B665 8E F7 03 ... LB668: plx ; B668 FA . plp ; B669 28 ( clc ; B66A 18 . rts ; B66B 60 ` ; ---------------------------------------------------------------------------- LB66C: ldx $03F8 ; B66C AE F8 03 ... lda #$00 ; B66F A9 00 .. cpx $03F7 ; B671 EC F7 03 ... beq LB683 ; B674 F0 0D .. lda $03EC,x ; B676 BD EC 03 ... dex ; B679 CA . bpl LB67F ; B67A 10 03 .. ldx $03F6 ; B67C AE F6 03 ... LB67F: stx $03F8 ; B67F 8E F8 03 ... clc ; B682 18 . LB683: rts ; B683 60 ` ; ---------------------------------------------------------------------------- LB684: sta $03F9 ; B684 8D F9 03 ... rts ; B687 60 ` ; ---------------------------------------------------------------------------- LB688: phx ; B688 DA . phy ; B689 5A Z lda $03F9 ; B68A AD F9 03 ... stz $03F9 ; B68D 9C F9 03 ... bne LB6D1 ; B690 D0 3F .? ldx #$0C ; B692 A2 0C .. jsr LD230 ; B694 20 30 D2 0. tax ; B697 AA . bne LB6D1 ; B698 D0 37 .7 jsr LB66C ; B69A 20 6C B6 l. bcc LB6C7 ; B69D 90 28 .( lda #$0E ; B69F A9 0E .. LB6A1: jsr L8C40 ; B6A1 20 40 8C @. bcc LB6C0 ; B6A4 90 1A .. rol $03FA ; B6A6 2E FA 03 ... lda StopKeyFlag ; B6A9 A5 AD .. lsr a ; B6AB 4A J bcs LB6BD ; B6AC B0 0F .. jsr L8B46 ; B6AE 20 46 8B F. bcc LB6BD ; B6B1 90 0A .. bit $039D ; B6B3 2C 9D 03 ,.. bpl LB6BB ; B6B6 10 03 .. jsr L8C89 ; B6B8 20 89 8C .. LB6BB: bra LB6C7 ; B6BB 80 0A .. LB6BD: jsr L8C89 ; B6BD 20 89 8C .. LB6C0: stz $03FA ; B6C0 9C FA 03 ... LB6C3: lda #$00 ; B6C3 A9 00 .. bra LB6D9 ; B6C5 80 12 .. LB6C7: ldx #$0A ; B6C7 A2 0A .. jsr LD230 ; B6C9 20 30 D2 0. ldx #$0C ; B6CC A2 0C .. jsr LD230 ; B6CE 20 30 D2 0. LB6D1: tax ; B6D1 AA . beq LB6D9 ; B6D2 F0 05 .. pha ; B6D4 48 H jsr LBFBE ; B6D5 20 BE BF .. pla ; B6D8 68 h LB6D9: ply ; B6D9 7A z plx ; B6DA FA . cmp #$00 ; B6DB C9 00 .. clc ; B6DD 18 . rts ; B6DE 60 ` ; ---------------------------------------------------------------------------- LB6DF: jsr LBFF2 ; B6DF 20 F2 BF .. jsr LB688 ; B6E2 20 88 B6 .. beq LB6DF ; B6E5 F0 F8 .. rts ; B6E7 60 ` ; ---------------------------------------------------------------------------- LB6E8: lda StopKeyFlag ; B6E8 A5 AD .. eor #$01 ; B6EA 49 01 I. and #$01 ; B6EC 29 01 ). bne LB6F8 ; B6EE D0 08 .. php ; B6F0 08 . jsr LFD2A ; B6F1 20 2A FD *. jsr LB4FB ; B6F4 20 FB B4 .. plp ; B6F7 28 ( LB6F8: rts ; B6F8 60 ` ; ---------------------------------------------------------------------------- LB6F9: bcc LB710 ; B6F9 90 15 .. sta $03FD ; B6FB 8D FD 03 ... txa ; B6FE 8A . lsr a ; B6FF 4A J clc ; B700 18 . cld ; B701 D8 . adc VidMemHi ; B702 65 A0 e. sta $BE ; B704 85 BE .. txa ; B706 8A . LB707: lsr a ; B707 4A J tya ; B708 98 . bcc LB70D ; B709 90 02 .. ora #$80 ; B70B 09 80 .. LB70D: sta $BD ; B70D 85 BD .. rts ; B70F 60 ` ; ---------------------------------------------------------------------------- LB710: phx ; B710 DA . phy ; B711 5A Z .byte $AE ; B712 AE . .byte $FD ; B713 FD . LB714: .byte $03 ; B714 03 . beq LB754 ; B715 F0 3D .= cpx #$80 ; B717 E0 80 .. .byte $F0 ; B719 F0 . LB71A: and $0DC9,y ; B71A 39 C9 0D 9.. bne LB729 ; B71D D0 0A .. LB71F: lda #$20 ; B71F A9 20 . LB721: clc ; B721 18 . jsr LB6F9 ; B722 20 F9 B6 .. bcc LB71F ; B725 90 F8 .. bra LB754 ; B727 80 2B .+ LB729: cmp #$12 ; B729 C9 12 .. bne LB734 ; B72B D0 07 .. lda #$80 ; B72D A9 80 .. tsb $03FD ; B72F 0C FD 03 ... bra LB750 ; B732 80 1C .. LB734: cmp #$92 ; B734 C9 92 .. bne LB73F ; B736 D0 07 .. lda #$80 ; B738 A9 80 .. trb $03FD ; B73A 1C FD 03 ... bra LB750 ; B73D 80 11 .. LB73F: dec $03FD ; B73F CE FD 03 ... jsr LB09B ; B742 20 9B B0 .. bit $03FD ; B745 2C FD 03 ,.. bpl LB74C ; B748 10 02 .. eor #$80 ; B74A 49 80 I. LB74C: sta ($BD) ; B74C 92 BD .. inc $BD ; B74E E6 BD .. LB750: clc ; B750 18 . ply ; B751 7A z plx ; B752 FA . rts ; B753 60 ` ; ---------------------------------------------------------------------------- LB754: sec ; B754 38 8 ply ; B755 7A z plx ; B756 FA . rts ; B757 60 ` ; ---------------------------------------------------------------------------- LB758: cpx #$00 ; B758 E0 00 .. beq LB760 ; B75A F0 04 .. sta $B0 ; B75C 85 B0 .. stx $B1 ; B75E 86 B1 .. LB760: .byte $A0 ; B760 A0 . LB761: brk ; B761 00 . lda ($B0),y ; B762 B1 B0 .. tax ; B764 AA . iny ; B765 C8 . lda ($B0),y ; B766 B1 B0 .. asl a ; B768 0A . sta $F6 ; B769 85 F6 .. txa ; B76B 8A . lsr a ; B76C 4A J tax ; B76D AA . ror $F6 ; B76E 66 F6 f. adc VidMemHi ; B770 65 A0 e. sta $F7 ; B772 85 F7 .. iny ; B774 C8 . lda ($B0),y ; B775 B1 B0 .. sta $03FE ; B777 8D FE 03 ... iny ; B77A C8 . lda ($B0),y ; B77B B1 B0 .. sta $03FF ; B77D 8D FF 03 ... LB780: iny ; B780 C8 . lda ($B0),y ; B781 B1 B0 .. sta $0400 ; B783 8D 00 04 ... ldx #$00 ; B786 A2 00 .. LB788: lda L0470,x ; B788 BD 70 04 .p. beq LB799 ; B78B F0 0C .. cpx $03FE ; B78D EC FE 03 ... beq LB795 ; B790 F0 03 .. inx ; B792 E8 . bne LB788 ; B793 D0 F3 .. LB795: sec ; B795 38 8 lda #$00 ; B796 A9 00 .. rts ; B798 60 ` ; ---------------------------------------------------------------------------- LB799: stx $0403 ; B799 8E 03 04 ... stx $0402 ; B79C 8E 02 04 ... jsr LB8B3 ; B79F 20 B3 B8 .. lda $0400 ; B7A2 AD 00 04 ... LB7A5: and #$02 ; B7A5 29 02 ). LB7A7: beq LB7AB ; B7A7 F0 02 .. clc ; B7A9 18 . rts ; B7AA 60 ` ; ---------------------------------------------------------------------------- LB7AB: jsr LB903 ; B7AB 20 03 B9 .. LB7AE: jsr LBFF2 ; B7AE 20 F2 BF .. jsr LB688 ; B7B1 20 88 B6 .. bne LB7BE ; B7B4 D0 08 .. lda StopKeyFlag ; B7B6 A5 AD .. and #$01 ; B7B8 29 01 ). beq LB7AE ; B7BA F0 F2 .. lda #$03 ; B7BC A9 03 .. LB7BE: sta $0401 ; B7BE 8D 01 04 ... ldy #$05 ; B7C1 A0 05 .. LB7C3: lda ($B0),y ; B7C3 B1 B0 .. beq LB7DE ; B7C5 F0 17 .. cmp $0401 ; B7C7 CD 01 04 ... beq LB7CF ; B7CA F0 03 .. iny ; B7CC C8 . .byte $D0 ; B7CD D0 . LB7CE: .byte $F4 ; B7CE F4 . LB7CF: pha ; B7CF 48 H jsr LB8B3 ; B7D0 20 B3 B8 .. ldx $0402 ; B7D3 AE 02 04 ... lda #$00 ; B7D6 A9 00 .. sta L0470,x ; B7D8 9D 70 04 .p. pla ; B7DB 68 h clc ; B7DC 18 . rts ; B7DD 60 ` ; ---------------------------------------------------------------------------- LB7DE: tax ; B7DE AA . lda $0401 ; B7DF AD 01 04 ... LB7E2: cmp LB7F4,x ; B7E2 DD F4 B7 ... beq LB7EE ; B7E5 F0 07 .. inx ; B7E7 E8 . cpx #$06 ; B7E8 E0 06 .. bne LB7E2 ; B7EA D0 F6 .. beq LB80C ; B7EC F0 1E .. LB7EE: jsr LB806 ; B7EE 20 06 B8 .. jmp LB7AB ; B7F1 4C AB B7 L.. ; ---------------------------------------------------------------------------- LB7F4: sty $14,x ; B7F4 94 14 .. ora L939D,x ; B7F6 1D 9D 93 ... .byte $8D ; B7F9 8D . LB7FA: eor $B8 ; B7FA 45 B8 E. jmp (L89B8) ; B7FC 6C B8 89 l.. ; ---------------------------------------------------------------------------- clv ; B7FF B8 . smb1 $B8 ; B800 97 B8 .. ldx #$B8 ; B802 A2 B8 .. .byte $AD ; B804 AD . clv ; B805 B8 . LB806: txa ; B806 8A . asl a ; B807 0A . tax ; B808 AA . jmp (LB7FA,x) ; B809 7C FA B7 |.. LB80C: tax ; B80C AA . and #$7F ; B80D 29 7F ). cmp #$20 ; B80F C9 20 . bcc LB7AE ; B811 90 9B .. txa ; B813 8A . ldx $0403 ; B814 AE 03 04 ... sta L0470,x ; B817 9D 70 04 .p. cpx $0402 ; B81A EC 02 04 ... bne LB82A ; B81D D0 0B .. ldx $0402 ; B81F AE 02 04 ... cpx $03FE ; B822 EC FE 03 ... beq LB82E ; B825 F0 07 .. inc $0402 ; B827 EE 02 04 ... LB82A: inx ; B82A E8 . stx $0403 ; B82B 8E 03 04 ... LB82E: lda $0400 ; B82E AD 00 04 ... and #$01 ; B831 29 01 ). beq LB83F ; B833 F0 0A .. cpx $03FE ; B835 EC FE 03 ... bne LB83F ; B838 D0 05 .. lda #$00 ; B83A A9 00 .. jmp LB7CF ; B83C 4C CF B7 L.. ; ---------------------------------------------------------------------------- LB83F: jsr LB8B3 ; B83F 20 B3 B8 .. jmp LB7AB ; B842 4C AB B7 L.. ; ---------------------------------------------------------------------------- LB845: ldx $0402 ; B845 AE 02 04 ... cpx $03FE ; B848 EC FE 03 ... beq LB869 ; B84B F0 1C .. cpx $0403 ; B84D EC 03 04 ... beq LB869 ; B850 F0 17 .. LB852: lda L0470,x ; B852 BD 70 04 .p. sta $0471,x ; B855 9D 71 04 .q. cpx $0403 ; B858 EC 03 04 ... beq LB861 ; B85B F0 04 .. dex ; B85D CA . jmp LB852 ; B85E 4C 52 B8 LR. ; ---------------------------------------------------------------------------- LB861: lda #$20 ; B861 A9 20 . sta L0470,x ; B863 9D 70 04 .p. inc $0402 ; B866 EE 02 04 ... LB869: jmp LB8B3 ; B869 4C B3 B8 L.. ; ---------------------------------------------------------------------------- ldx $0403 ; B86C AE 03 04 ... beq LB886 ; B86F F0 15 .. dec $0403 ; B871 CE 03 04 ... dex ; B874 CA . LB875: lda $0471,x ; B875 BD 71 04 .q. sta L0470,x ; B878 9D 70 04 .p. cpx $0402 ; B87B EC 02 04 ... beq LB883 ; B87E F0 03 .. inx ; B880 E8 . bne LB875 ; B881 D0 F2 .. LB883: dec $0402 ; B883 CE 02 04 ... LB886: jmp LB8B3 ; B886 4C B3 B8 L.. ; ---------------------------------------------------------------------------- lda $0403 ; B889 AD 03 04 ... cmp $0402 ; B88C CD 02 04 ... beq LB894 ; B88F F0 03 .. .byte $EE ; B891 EE . LB892: .byte $03 ; B892 03 . .byte $04 ; B893 04 . LB894: jmp LB8B3 ; B894 4C B3 B8 L.. ; ---------------------------------------------------------------------------- lda $0403 ; B897 AD 03 04 ... beq LB89F ; B89A F0 03 .. dec $0403 ; B89C CE 03 04 ... LB89F: jmp LB8B3 ; B89F 4C B3 B8 L.. ; ---------------------------------------------------------------------------- lda #$00 ; B8A2 A9 00 .. LB8A4: .byte $8D ; B8A4 8D . LB8A5: .byte $02 ; B8A5 02 . tsb $8D ; B8A6 04 8D .. LB8A8: .byte $03 ; B8A8 03 . tsb $4C ; B8A9 04 4C .L .byte $B3 ; B8AB B3 . clv ; B8AC B8 . LB8AD: lda $0403 ; B8AD AD 03 04 ... jmp LB8A4 ; B8B0 4C A4 B8 L.. ; ---------------------------------------------------------------------------- LB8B3: .byte $20 ; B8B3 20 LB8B4: cpx $B2 ; B8B4 E4 B2 .. ldy #$00 ; B8B6 A0 00 .. ldx #$00 ; B8B8 A2 00 .. lda $0403 ; B8BA AD 03 04 ... sec ; B8BD 38 8 sbc $03FF ; B8BE ED FF 03 ... .byte $90 ; B8C1 90 . LB8C2: php ; B8C2 08 . tax ; B8C3 AA . lda $03FF ; B8C4 AD FF 03 ... sbc #$01 ; B8C7 E9 01 .. bne LB8CE ; B8C9 D0 03 .. LB8CB: lda $0403 ; B8CB AD 03 04 ... LB8CE: sta $0404 ; B8CE 8D 04 04 ... LB8D1: .byte $EC ; B8D1 EC . LB8D2: .byte $02 ; B8D2 02 . tsb $F0 ; B8D3 04 F0 .. ora $70BD,x ; B8D5 1D BD 70 ..p tsb $DA ; B8D8 04 DA .. jsr LB09B ; B8DA 20 9B B0 .. plx ; B8DD FA . sta $0401 ; B8DE 8D 01 04 ... lda $0400 ; B8E1 AD 00 04 ... and #$80 ; B8E4 29 80 ). ora $0401 ; B8E6 0D 01 04 ... LB8E9: sta ($F6),y ; B8E9 91 F6 .. inx ; B8EB E8 . iny ; B8EC C8 . cpy $03FF ; B8ED CC FF 03 ... bne LB8D1 ; B8F0 D0 DF .. rts ; B8F2 60 ` ; ---------------------------------------------------------------------------- LB8F3: lda $0400 ; B8F3 AD 00 04 ... and #$80 ; B8F6 29 80 ). ora #$20 ; B8F8 09 20 . LB8FA: sta ($F6),y ; B8FA 91 F6 .. iny ; B8FC C8 . cpy $03FF ; B8FD CC FF 03 ... .byte $D0 ; B900 D0 . LB901: sed ; B901 F8 . rts ; B902 60 ` ; ---------------------------------------------------------------------------- LB903: ldy #$00 ; B903 A0 00 .. lda ($B0),y ; B905 B1 B0 .. tax ; B907 AA . iny ; B908 C8 . lda ($B0),y ; B909 B1 B0 .. clc ; B90B 18 . .byte $6D ; B90C 6D m .byte $04 ; B90D 04 . LB90E: tsb $A8 ; B90E 04 A8 .. clc ; B910 18 . jsr PLOT_ ; B911 20 01 FE .. jsr LB2D6 ; B914 20 D6 B2 .. rts ; B917 60 ` ; ---------------------------------------------------------------------------- LB918: lda $0385 ; B918 AD 85 03 ... and #$1F ; B91B 29 1F ). bne CHRIN__ ; B91D D0 06 .. .byte $4C ; B91F 4C L LB920: dey ; B920 88 . .byte $B6 ; B921 B6 . LB922: ply ; B922 7A z plx ; B923 FA . LB924: rts ; B924 60 ` ; ---------------------------------------------------------------------------- CHRIN__:phx ; B925 DA . phy ; B926 5A Z lda #$B9 ; B927 A9 B9 .. pha ; B929 48 H lda #$21 ; B92A A9 21 .! pha ; B92C 48 H lda $0385 ; B92D AD 85 03 ... and #$1F ; B930 29 1F ). bne LB937 ; B932 D0 03 .. jmp LB325 ; B934 4C 25 B3 L%. ; ---------------------------------------------------------------------------- LB937: cmp #$02 ; B937 C9 02 .. bne LB948 ; B939 D0 0D .. .byte $20 ; B93B 20 LB93C: asl $48BF,x ; B93C 1E BF 48 ..H lda LFS2ndAddr ; B93F A5 C4 .. and #$0F ; B941 29 0F ). tax ; B943 AA . pla ; B944 68 h jmp LC3CB ; B945 4C CB C3 L.. ; ---------------------------------------------------------------------------- LB948: bcs LB94D ; B948 B0 03 .. jmp L8B3A ; B94A 4C 3A 8B L:. ; ---------------------------------------------------------------------------- LB94D: cmp #$03 ; B94D C9 03 .. .byte $D0 ; B94F D0 . LB950: .byte $03 ; B950 03 . .byte $4C ; B951 4C L LB952: .byte $19 ; B952 19 . .byte $B3 ; B953 B3 . LB954: cmp #$1E ; B954 C9 1E .. bne LB95B ; B956 D0 03 .. jmp LBC5F ; B958 4C 5F BC L_. ; ---------------------------------------------------------------------------- LB95B: bcc LB960 ; B95B 90 03 .. jmp LC2AD ; B95D 4C AD C2 L.. ; ---------------------------------------------------------------------------- LB960: lda ST ; B960 A5 BA .. bne LB968 ; B962 D0 04 .. sec ; B964 38 8 jmp IECIN__ ; B965 4C A5 BD L.. ; ---------------------------------------------------------------------------- LB968: lda #$0D ; B968 A9 0D .. clc ; B96A 18 . rts ; B96B 60 ` ; ---------------------------------------------------------------------------- CHROUT__: phx ; B96C DA . phy ; B96D 5A Z ldx #$B9 ; B96E A2 B9 .. phx ; B970 DA . ldx #$21 ; B971 A2 21 .! phx ; B973 DA . LB974: pha ; B974 48 H lda L0386 ; B975 AD 86 03 ... and #$1F ; B978 29 1F ). tax ; B97A AA . pla ; B97B 68 h LB97D := * + 1 cpx #$01 ; B97C E0 01 .. bne LB983 ; B97E D0 03 .. jmp L8BAA ; B980 4C AA 8B L.. ; ---------------------------------------------------------------------------- LB983: bcs LB988 ; B983 B0 03 .. LB985: jmp ShowChar_ ; B985 4C B3 AB L.. ; ---------------------------------------------------------------------------- LB988: cpx #$03 ; B988 E0 03 .. beq LB985 ; B98A F0 F9 .. bcs LB994 ; B98C B0 06 .. jsr LB9B0 ; B98E 20 B0 B9 .. jmp LBF0C ; B991 4C 0C BF L.. ; ---------------------------------------------------------------------------- LB994: cpx #$1E ; B994 E0 1E .. bne LB9A7 ; B996 D0 0F .. ldx LFS2ndAddr ; B998 A6 C4 .. pha ; B99A 48 H lda LFS2ndAddr ; B99B A5 C4 .. and #$0F ; B99D 29 0F ). tax ; B99F AA . pla ; B9A0 68 h jsr LB9B0 ; B9A1 20 B0 B9 .. jmp LC38C ; B9A4 4C 8C C3 L.. ; ---------------------------------------------------------------------------- LB9A7: bcc LB9AC ; B9A7 90 03 .. jmp LC271 ; B9A9 4C 71 C2 Lq. ; ---------------------------------------------------------------------------- LB9AC: sec ; B9AC 38 8 jmp IECOUT__ ; B9AD 4C 6C BD Ll. ; ---------------------------------------------------------------------------- LB9B0: pha ; B9B0 48 H LB9B1: lda LFS2ndAddr ; B9B1 A5 C4 .. and #$0F ; B9B3 29 0F ). tax ; B9B5 AA . pla ; B9B6 68 h jmp LC3D1 ; B9B7 4C D1 C3 L.. ; ---------------------------------------------------------------------------- CHKIN__:jsr LBAB5 ; B9BA 20 B5 BA .. beq LB9C2 ; B9BD F0 03 .. jmp LBC56 ; B9BF 4C 56 BC LV. ; ---------------------------------------------------------------------------- LB9C2: jsr LBAC4 ; B9C2 20 C4 BA .. beq LB9DC ; B9C5 F0 15 .. cmp #$1E ; B9C7 C9 1E .. bcs LB9DC ; B9C9 B0 11 .. cmp #$01 ; B9CB C9 01 .. beq LB9FE ; B9CD F0 2F ./ cmp #$03 ; B9CF C9 03 .. beq LB9DC ; B9D1 F0 09 .. bcs LB9E1 ; B9D3 B0 0C .. jsr LBF4D ; B9D5 20 4D BF M. bcs LB9E0 ; B9D8 B0 06 .. lda LFSDevNum ; B9DA A5 C5 .. LB9DC: sta $0385 ; B9DC 8D 85 03 ... clc ; B9DF 18 . LB9E0: rts ; B9E0 60 ` ; ---------------------------------------------------------------------------- LB9E1: tax ; B9E1 AA . jsr SendTalk ; B9E2 20 91 BC .. bit ST ; B9E5 24 BA $. bmi LB9FB ; B9E7 30 12 0. lda LFS2ndAddr ; B9E9 A5 C4 .. bpl LB9F3 ; B9EB 10 06 .. jsr LBD5B ; B9ED 20 5B BD [. jmp LB9F6 ; B9F0 4C F6 B9 L.. ; ---------------------------------------------------------------------------- LB9F3: jsr TALKSA__ ; B9F3 20 55 BD U. LB9F6: txa ; B9F6 8A . bit ST ; B9F7 24 BA $. bpl LB9DC ; B9F9 10 E1 .. LB9FB: jmp LBC5C ; B9FB 4C 5C BC L\. ; ---------------------------------------------------------------------------- LB9FE: jsr L9962 ; B9FE 20 62 99 b. bcc LB9DC ; BA01 90 D9 .. bra LB9FB ; BA03 80 F6 .. CHKOUT__: jsr LBAB5 ; BA05 20 B5 BA .. beq LBA0D ; BA08 F0 03 .. jmp LBC56 ; BA0A 4C 56 BC LV. ; ---------------------------------------------------------------------------- LBA0D: jsr LBAC4 ; BA0D 20 C4 BA .. bne LBA15 ; BA10 D0 03 .. jmp LBC62 ; BA12 4C 62 BC Lb. ; ---------------------------------------------------------------------------- LBA15: cmp #$1E ; BA15 C9 1E .. bcs LBA32 ; BA17 B0 19 .. cmp #$02 ; BA19 C9 02 .. beq LBA2B ; BA1B F0 0E .. bcs LBA25 ; BA1D B0 06 .. jsr L9962 ; BA1F 20 62 99 b. bcc LBA32 ; BA22 90 0E .. rts ; BA24 60 ` ; ---------------------------------------------------------------------------- LBA25: cmp #$03 ; BA25 C9 03 .. beq LBA32 ; BA27 F0 09 .. bne LBA37 ; BA29 D0 0C .. LBA2B: jsr LBF4D ; BA2B 20 4D BF M. bcs LBA36 ; BA2E B0 06 .. lda LFSDevNum ; BA30 A5 C5 .. LBA32: sta L0386 ; BA32 8D 86 03 ... clc ; BA35 18 . LBA36: rts ; BA36 60 ` ; ---------------------------------------------------------------------------- LBA37: tax ; BA37 AA . jsr LISTEN__ ; BA38 20 94 BC .. bit ST ; BA3B 24 BA $. bmi LBA50 ; BA3D 30 11 0. lda LFS2ndAddr ; BA3F A5 C4 .. bpl LBA48 ; BA41 10 05 .. jsr PORT1B_RESET_BIT3 ; BA43 20 4C BD L. bne LBA4B ; BA46 D0 03 .. LBA48: jsr LSTNSA__ ; BA48 20 46 BD F. LBA4B: txa ; BA4B 8A . bit ST ; BA4C 24 BA $. bpl LBA32 ; BA4E 10 E2 .. LBA50: jmp LBC5C ; BA50 4C 5C BC L\. ; ---------------------------------------------------------------------------- CLOSE__:ror $0407 ; BA53 6E 07 04 n.. jsr LBAB8 ; BA56 20 B8 BA .. beq LBA5D ; BA59 F0 02 .. clc ; BA5B 18 . rts ; BA5C 60 ` ; ---------------------------------------------------------------------------- LBA5D: jsr LBAC4 ; BA5D 20 C4 BA .. txa ; BA60 8A . pha ; BA61 48 H lda LFSDevNum ; BA62 A5 C5 .. beq LBA94 ; BA64 F0 2E .. cmp #$1E ; BA66 C9 1E .. bcs LBA94 ; BA68 B0 2A .* cmp #$03 ; BA6A C9 03 .. beq LBA94 ; BA6C F0 26 .& bcs LBA7E ; BA6E B0 0E .. cmp #$02 ; BA70 C9 02 .. bne LBA79 ; BA72 D0 05 .. jsr LC0E8 ; BA74 20 E8 C0 .. bra LBA94 ; BA77 80 1B .. LBA79: jsr L9214 ; BA79 20 14 92 .. bra LBA94 ; BA7C 80 16 .. LBA7E: bit $0407 ; BA7E 2C 07 04 ,.. bpl LBA91 ; BA81 10 0E .. lda LFSDevNum ; BA83 A5 C5 .. cmp #$08 ; BA85 C9 08 .. bcc LBA91 ; BA87 90 08 .. lda LFS2ndAddr ; BA89 A5 C4 .. and #$0F ; BA8B 29 0F ). cmp #$0F ; BA8D C9 0F .. beq LBA94 ; BA8F F0 03 .. LBA91: jsr LBC36 ; BA91 20 36 BC 6. LBA94: pla ; BA94 68 h tax ; BA95 AA . dec $0405 ; BA96 CE 05 04 ... cpx $0405 ; BA99 EC 05 04 ... beq LBAB3 ; BA9C F0 15 .. ldy $0405 ; BA9E AC 05 04 ... lda $02DB,y ; BAA1 B9 DB 02 ... sta $02DB,x ; BAA4 9D DB 02 ... lda $02E7,y ; BAA7 B9 E7 02 ... sta $02E7,x ; BAAA 9D E7 02 ... lda $02F3,y ; BAAD B9 F3 02 ... sta $02F3,x ; BAB0 9D F3 02 ... LBAB3: clc ; BAB3 18 . rts ; BAB4 60 ` ; ---------------------------------------------------------------------------- LBAB5: stz ST ; BAB5 64 BA d. txa ; BAB7 8A . LBAB8: ldx $0405 ; BAB8 AE 05 04 ... LBABB: dex ; BABB CA . bmi LBAD3 ; BABC 30 15 0. cmp $02DB,x ; BABE DD DB 02 ... bne LBABB ; BAC1 D0 F8 .. rts ; BAC3 60 ` ; ---------------------------------------------------------------------------- LBAC4: lda $02DB,x ; BAC4 BD DB 02 ... sta LFSLogNum ; BAC7 85 C6 .. lda $02F3,x ; BAC9 BD F3 02 ... sta LFS2ndAddr ; BACC 85 C4 .. lda $02E7,x ; BACE BD E7 02 ... sta LFSDevNum ; BAD1 85 C5 .. LBAD3: rts ; BAD3 60 ` ; ---------------------------------------------------------------------------- LBAD4: stz $0405 ; BAD4 9C 05 04 ... CLRCHN__: ldx #$03 ; BAD7 A2 03 .. cpx L0386 ; BAD9 EC 86 03 ... bcs LBAE1 ; BADC B0 03 .. jsr UNLSTN__ ; BADE 20 90 BD .. LBAE1: cpx $0385 ; BAE1 EC 85 03 ... bcs LBAE9 ; BAE4 B0 03 .. jsr UNTALK__ ; BAE6 20 81 BD .. LBAE9: stx L0386 ; BAE9 8E 86 03 ... stz $0385 ; BAEC 9C 85 03 ... rts ; BAEF 60 ` ; ---------------------------------------------------------------------------- Open__: ldx LFSLogNum ; BAF0 A6 C6 .. jsr LBAB5 ; BAF2 20 B5 BA .. bne LBAFA ; BAF5 D0 03 .. jmp LBC53 ; BAF7 4C 53 BC LS. ; ---------------------------------------------------------------------------- LBAFA: ldx $0405 ; BAFA AE 05 04 ... cpx #$0C ; BAFD E0 0C .. bcc LBB04 ; BAFF 90 03 .. jmp LBC50 ; BB01 4C 50 BC LP. ; ---------------------------------------------------------------------------- LBB04: inc $0405 ; BB04 EE 05 04 ... lda LFSLogNum ; BB07 A5 C6 .. sta $02DB,x ; BB09 9D DB 02 ... lda LFS2ndAddr ; BB0C A5 C4 .. ora #$60 ; BB0E 09 60 .` sta LFS2ndAddr ; BB10 85 C4 .. sta $02F3,x ; BB12 9D F3 02 ... lda LFSDevNum ; BB15 A5 C5 .. sta $02E7,x ; BB17 9D E7 02 ... beq LBB2F ; BB1A F0 13 .. cmp #$1E ; BB1C C9 1E .. beq LBB2F ; BB1E F0 0F .. bcc LBB25 ; BB20 90 03 .. jmp LC219 ; BB22 4C 19 C2 L.. ; ---------------------------------------------------------------------------- LBB25: cmp #$03 ; BB25 C9 03 .. beq LBB2F ; BB27 F0 06 .. bcc LBB31 ; BB29 90 06 .. sec ; BB2B 38 8 jsr LBB40 ; BB2C 20 40 BB @. LBB2F: clc ; BB2F 18 . rts ; BB30 60 ` ; ---------------------------------------------------------------------------- LBB31: cmp #$02 ; BB31 C9 02 .. bne LBB3B ; BB33 D0 06 .. jsr LBE52 ; BB35 20 52 BE R. jmp LC082 ; BB38 4C 82 C0 L.. ; ---------------------------------------------------------------------------- LBB3B: jmp L9243 ; BB3B 4C 43 92 LC. ; ---------------------------------------------------------------------------- LBB3E: clc ; BB3E 18 . rts ; BB3F 60 ` ; ---------------------------------------------------------------------------- LBB40: lda LFS2ndAddr ; BB40 A5 C4 .. bmi LBB3E ; BB42 30 FA 0. ldy FNlength ; BB44 AC 87 03 ... beq LBB3E ; BB47 F0 F5 .. stz ST ; BB49 64 BA d. lda LFSDevNum ; BB4B A5 C5 .. jsr LISTEN__ ; BB4D 20 94 BC .. bit ST ; BB50 24 BA $. bmi LBB5F ; BB52 30 0B 0. lda LFS2ndAddr ; BB54 A5 C4 .. ora #$F0 ; BB56 09 F0 .. jsr LSTNSA__ ; BB58 20 46 BD F. lda ST ; BB5B A5 BA .. bpl LBB64 ; BB5D 10 05 .. LBB5F: pla ; BB5F 68 h pla ; BB60 68 h jmp LBC5C ; BB61 4C 5C BC L\. ; ---------------------------------------------------------------------------- LBB64: lda FNlength ; BB64 AD 87 03 ... beq LBB7C ; BB67 F0 13 .. ldy #$00 ; BB69 A0 00 .. LBB6B: lda #$AE ; BB6B A9 AE .. sta $034E ; BB6D 8D 4E 03 .N. jsr FROM_C67B ; BB70 20 4A 03 J. jsr IECOUT__ ; BB73 20 6C BD l. iny ; BB76 C8 . cpy FNlength ; BB77 CC 87 03 ... bne LBB6B ; BB7A D0 EF .. LBB7C: jmp LBC48 ; BB7C 4C 48 BC LH. ; ---------------------------------------------------------------------------- ; Maybe typo? :) Or it's only my English ... "SAVEING" ... LBB7F: jsr ShowInLineText80 ; BB7F 20 56 FB V. .byte "SAVEING " ; BB82 53 41 56 45 49 4E 47 20 SAVEING .byte $00 ; BB8A 00 . ; ---------------------------------------------------------------------------- bra LBB9F ; BB8B 80 12 .. LBB8D: jsr ShowInLineText80 ; BB8D 20 56 FB V. .byte "SEARCHING FOR " ; BB90 53 45 41 52 43 48 49 4E SEARCHIN ; BB98 47 20 46 4F 52 20 G FOR .byte $00 ; BB9E 00 . ; ---------------------------------------------------------------------------- LBB9F: bit KernMsg ; BB9F 2C 83 03 ,.. bpl LBBBF ; BBA2 10 1B .. ldy FNlength ; BBA4 AC 87 03 ... beq LBBBC ; BBA7 F0 13 .. ldy #$00 ; BBA9 A0 00 .. LBBAB: lda #$AE ; BBAB A9 AE .. sta $034E ; BBAD 8D 4E 03 .N. jsr FROM_C67B ; BBB0 20 4A 03 J. jsr ShowChar_ ; BBB3 20 B3 AB .. iny ; BBB6 C8 . cpy FNlength ; BBB7 CC 87 03 ... bne LBBAB ; BBBA D0 EF .. LBBBC: jmp PrintNewLine ; BBBC 4C D3 CA L.. ; ---------------------------------------------------------------------------- LBBBF: rts ; BBBF 60 ` ; ---------------------------------------------------------------------------- LBBC0: lda LFSDevNum ; BBC0 A5 C5 .. bne LBBC7 ; BBC2 D0 03 .. LBBC4: jmp LBC68 ; BBC4 4C 68 BC Lh. ; ---------------------------------------------------------------------------- LBBC7: cmp #$03 ; BBC7 C9 03 .. beq LBBC4 ; BBC9 F0 F9 .. cmp #$02 ; BBCB C9 02 .. beq LBBC4 ; BBCD F0 F5 .. ldy FNlength ; BBCF AC 87 03 ... bne LBBD7 ; BBD2 D0 03 .. jmp LBC65 ; BBD4 4C 65 BC Le. ; ---------------------------------------------------------------------------- LBBD7: cmp #$01 ; BBD7 C9 01 .. bne LBBE1 ; BBD9 D0 06 .. jsr LBB7F ; BBDB 20 7F BB .. jmp L9085 ; BBDE 4C 85 90 L.. ; ---------------------------------------------------------------------------- LBBE1: lda #$61 ; BBE1 A9 61 .a sta LFS2ndAddr ; BBE3 85 C4 .. jsr LBB40 ; BBE5 20 40 BB @. jsr LBB7F ; BBE8 20 7F BB .. lda LFSDevNum ; BBEB A5 C5 .. jsr LISTEN__ ; BBED 20 94 BC .. lda LFS2ndAddr ; BBF0 A5 C4 .. jsr LSTNSA__ ; BBF2 20 46 BD F. ldy #$00 ; BBF5 A0 00 .. lda $B7 ; BBF7 A5 B7 .. sta $B9 ; BBF9 85 B9 .. lda $B6 ; BBFB A5 B6 .. sta $B8 ; BBFD 85 B8 .. lda $B8 ; BBFF A5 B8 .. jsr IECOUT__ ; BC01 20 6C BD l. lda $B9 ; BC04 A5 B9 .. jsr IECOUT__ ; BC06 20 6C BD l. LBC09: sec ; BC09 38 8 lda $B8 ; BC0A A5 B8 .. sbc $B2 ; BC0C E5 B2 .. lda $B9 ; BC0E A5 B9 .. sbc $B3 ; BC10 E5 B3 .. bcs LBC33 ; BC12 B0 1F .. lda #$B8 ; BC14 A9 B8 .. sta $034E ; BC16 8D 4E 03 .N. jsr FROM_C67B ; BC19 20 4A 03 J. jsr IECOUT__ ; BC1C 20 6C BD l. jsr LFDB9 ; BC1F 20 B9 FD .. bne LBC2B ; BC22 D0 07 .. jsr LBC36 ; BC24 20 36 BC 6. lda #$00 ; BC27 A9 00 .. sec ; BC29 38 8 rts ; BC2A 60 ` ; ---------------------------------------------------------------------------- LBC2B: inc $B8 ; BC2B E6 B8 .. bne LBC09 ; BC2D D0 DA .. inc $B9 ; BC2F E6 B9 .. bne LBC09 ; BC31 D0 D6 .. LBC33: jsr UNLSTN__ ; BC33 20 90 BD .. LBC36: bit LFS2ndAddr ; BC36 24 C4 $. bmi LBC4B ; BC38 30 11 0. lda LFSDevNum ; BC3A A5 C5 .. jsr LISTEN__ ; BC3C 20 94 BC .. lda LFS2ndAddr ; BC3F A5 C4 .. and #$EF ; BC41 29 EF ). ora #$E0 ; BC43 09 E0 .. jsr LSTNSA__ ; BC45 20 46 BD F. LBC48: jsr UNLSTN__ ; BC48 20 90 BD .. LBC4B: clc ; BC4B 18 . rts ; BC4C 60 ` ; ---------------------------------------------------------------------------- LBC4D: lda #$00 ; BC4D A9 00 .. .byte $2C ; BC4F 2C , LBC50: lda #$01 ; BC50 A9 01 .. .byte $2C ; BC52 2C , LBC53: lda #$02 ; BC53 A9 02 .. .byte $2C ; BC55 2C , LBC56: lda #$03 ; BC56 A9 03 .. .byte $2C ; BC58 2C , LBC59: lda #$04 ; BC59 A9 04 .. .byte $2C ; BC5B 2C , LBC5C: lda #$05 ; BC5C A9 05 .. .byte $2C ; BC5E 2C , LBC5F: lda #$06 ; BC5F A9 06 .. .byte $2C ; BC61 2C , LBC62: lda #$07 ; BC62 A9 07 .. .byte $2C ; BC64 2C , LBC65: lda #$08 ; BC65 A9 08 .. .byte $2C ; BC67 2C , LBC68: lda #$09 ; BC68 A9 09 .. .byte $2C ; BC6A 2C , LBC6B: lda #$0A ; BC6B A9 0A .. pha ; BC6D 48 H jsr LFD2A ; BC6E 20 2A FD *. bit KernMsg ; BC71 2C 83 03 ,.. bvc LBC8E ; BC74 50 18 P. jsr ShowInLineText ; BC76 20 5B FB [. .byte $0D ; BC79 0D . .byte "I/O ERROR #" ; BC7A 49 2F 4F 20 45 52 52 4F I/O ERRO ; BC82 52 20 23 R # .byte $00 ; BC85 00 . ; ---------------------------------------------------------------------------- pla ; BC86 68 h pha ; BC87 48 H jsr L8850 ; BC88 20 50 88 P. jsr PrintNewLine ; BC8B 20 D3 CA .. LBC8E: pla ; BC8E 68 h sec ; BC8F 38 8 rts ; BC90 60 ` ; ---------------------------------------------------------------------------- SendTalk: ora #$40 ; BC91 09 40 .@ .byte $2C ; BC93 2C , LISTEN__: ora #$20 ; BC94 09 20 . ; This routine seems to be used to send out a byte on the IEC bus. LBC96: pha ; BC96 48 H bit $040B ; BC97 2C 0B 04 ,.. bpl LBCA9 ; BC9A 10 0D .. sec ; BC9C 38 8 ror $040A ; BC9D 6E 0A 04 n.. jsr LBCCA ; BCA0 20 CA BC .. lsr $040B ; BCA3 4E 0B 04 N.. lsr $040A ; BCA6 4E 0A 04 N.. LBCA9: pla ; BCA9 68 h sta $0408 ; BCAA 8D 08 04 ... sei ; BCAD 78 x jsr PORT1B_RESET_BIT5 ; BCAE 20 2C BE ,. cmp #$3F ; BCB1 C9 3F .? bne LBCB8 ; BCB3 D0 03 .. jsr PORT1B_RESET_BIT4 ; BCB5 20 1A BE .. LBCB8: lda VIA1_PORTB ; BCB8 AD 00 F8 ... ora #$08 ; BCBB 09 08 .. sta VIA1_PORTB ; BCBD 8D 00 F8 ... LBCC0: sei ; BCC0 78 x jsr PORT1B_SET_BIT4 ; BCC1 20 23 BE #. jsr PORT1B_RESET_BIT5 ; BCC4 20 2C BE ,. jsr LBE4A ; BCC7 20 4A BE J. LBCCA: sei ; BCCA 78 x jsr PORT1B_RESET_BIT5 ; BCCB 20 2C BE ,. jsr PORT1B_WAIT_CHANGE ; BCCE 20 3E BE >. bcs LBD3A ; BCD1 B0 67 .g jsr PORT1B_RESET_BIT4 ; BCD3 20 1A BE .. bit VIA1_PORTB ; BCD6 2C 00 F8 ,.. bvs LBD3A ; BCD9 70 5F p_ bit $040A ; BCDB 2C 0A 04 ,.. bpl LBCEA ; BCDE 10 0A .. LBCE0: jsr PORT1B_WAIT_CHANGE ; BCE0 20 3E BE >. bcc LBCE0 ; BCE3 90 FB .. LBCE5: jsr PORT1B_WAIT_CHANGE ; BCE5 20 3E BE >. bcs LBCE5 ; BCE8 B0 FB .. LBCEA: jsr PORT1B_WAIT_CHANGE ; BCEA 20 3E BE >. bcc LBCEA ; BCED 90 FB .. jsr PORT1B_SET_BIT4 ; BCEF 20 23 BE #. lda #$08 ; BCF2 A9 08 .. sta $040C ; BCF4 8D 0C 04 ... LBCF7: lda VIA1_PORTB ; BCF7 AD 00 F8 ... cmp VIA1_PORTB ; BCFA CD 00 F8 ... bne LBCF7 ; BCFD D0 F8 .. eor #$C0 ; BCFF 49 C0 I. asl a ; BD01 0A . bcc LBD3D ; BD02 90 39 .9 ror $0408 ; BD04 6E 08 04 n.. bcs LBD0E ; BD07 B0 05 .. jsr PORT1B_SET_BIT5 ; BD09 20 35 BE 5. bne LBD11 ; BD0C D0 03 .. LBD0E: jsr PORT1B_RESET_BIT5 ; BD0E 20 2C BE ,. LBD11: jsr PORT1B_RESET_BIT4 ; BD11 20 1A BE .. nop ; BD14 EA . nop ; BD15 EA . nop ; BD16 EA . nop ; BD17 EA . lda VIA1_PORTB ; BD18 AD 00 F8 ... and #$DF ; BD1B 29 DF ). ora #$10 ; BD1D 09 10 .. sta VIA1_PORTB ; BD1F 8D 00 F8 ... dec $040C ; BD22 CE 0C 04 ... bne LBCF7 ; BD25 D0 D0 .. lda #$04 ; BD27 A9 04 .. sta VIA1_T2CH ; BD29 8D 09 F8 ... LBD2C: lda VIA1_IFR ; BD2C AD 0D F8 ... and #$20 ; BD2F 29 20 ) bne LBD3D ; BD31 D0 0A .. jsr PORT1B_WAIT_CHANGE ; BD33 20 3E BE >. bcs LBD2C ; BD36 B0 F4 .. cli ; BD38 58 X rts ; BD39 60 ` ; ---------------------------------------------------------------------------- LBD3A: lda #$80 ; BD3A A9 80 .. .byte $2C ; BD3C 2C , LBD3D: lda #$03 ; BD3D A9 03 .. LBD3F: jsr SetST ; BD3F 20 CA FC .. cli ; BD42 58 X clc ; BD43 18 . bcc LBD95 ; BD44 90 4F .O LSTNSA__: sta $0408 ; BD46 8D 08 04 ... jsr LBCC0 ; BD49 20 C0 BC .. PORT1B_RESET_BIT3: lda VIA1_PORTB ; BD4C AD 00 F8 ... and #$F7 ; BD4F 29 F7 ). sta VIA1_PORTB ; BD51 8D 00 F8 ... rts ; BD54 60 ` ; ---------------------------------------------------------------------------- TALKSA__: sta $0408 ; BD55 8D 08 04 ... jsr LBCC0 ; BD58 20 C0 BC .. LBD5B: sei ; BD5B 78 x jsr PORT1B_SET_BIT5 ; BD5C 20 35 BE 5. jsr PORT1B_RESET_BIT3 ; BD5F 20 4C BD L. jsr PORT1B_RESET_BIT4 ; BD62 20 1A BE .. LBD65: jsr PORT1B_WAIT_CHANGE ; BD65 20 3E BE >. bmi LBD65 ; BD68 30 FB 0. cli ; BD6A 58 X rts ; BD6B 60 ` ; ---------------------------------------------------------------------------- IECOUT__: bit $040B ; BD6C 2C 0B 04 ,.. bmi LBD77 ; BD6F 30 06 0. sec ; BD71 38 8 ror $040B ; BD72 6E 0B 04 n.. bne LBD7C ; BD75 D0 05 .. LBD77: pha ; BD77 48 H jsr LBCCA ; BD78 20 CA BC .. pla ; BD7B 68 h LBD7C: sta $0408 ; BD7C 8D 08 04 ... clc ; BD7F 18 . rts ; BD80 60 ` ; ---------------------------------------------------------------------------- UNTALK__: sei ; BD81 78 x jsr PORT1B_SET_BIT4 ; BD82 20 23 BE #. lda VIA1_PORTB ; BD85 AD 00 F8 ... ora #$08 ; BD88 09 08 .. sta VIA1_PORTB ; BD8A 8D 00 F8 ... lda #$5F ; BD8D A9 5F ._ .byte $2C ; BD8F 2C , UNLSTN__: lda #$3F ; BD90 A9 3F .? jsr LBC96 ; BD92 20 96 BC .. LBD95: jsr PORT1B_RESET_BIT3 ; BD95 20 4C BD L. LBD98: txa ; BD98 8A . ldx #$0A ; BD99 A2 0A .. LBD9B: dex ; BD9B CA . bne LBD9B ; BD9C D0 FD .. tax ; BD9E AA . jsr PORT1B_RESET_BIT4 ; BD9F 20 1A BE .. jmp PORT1B_RESET_BIT5 ; BDA2 4C 2C BE L,. ; ---------------------------------------------------------------------------- IECIN__:sei ; BDA5 78 x lda #$00 ; BDA6 A9 00 .. sta $040C ; BDA8 8D 0C 04 ... jsr PORT1B_RESET_BIT4 ; BDAB 20 1A BE .. LBDAE: jsr PORT1B_WAIT_CHANGE ; BDAE 20 3E BE >. bpl LBDAE ; BDB1 10 FB .. LBDB3: lda #$01 ; BDB3 A9 01 .. sta VIA1_T2CH ; BDB5 8D 09 F8 ... jsr PORT1B_RESET_BIT5 ; BDB8 20 2C BE ,. LBDBB: lda VIA1_IFR ; BDBB AD 0D F8 ... and #$20 ; BDBE 29 20 ) bne LBDC9 ; BDC0 D0 07 .. jsr PORT1B_WAIT_CHANGE ; BDC2 20 3E BE >. bmi LBDBB ; BDC5 30 F4 0. bpl LBDE3 ; BDC7 10 1A .. LBDC9: lda $040C ; BDC9 AD 0C 04 ... beq LBDD3 ; BDCC F0 05 .. lda #$02 ; BDCE A9 02 .. jmp LBD3F ; BDD0 4C 3F BD L?. ; ---------------------------------------------------------------------------- LBDD3: jsr PORT1B_SET_BIT5 ; BDD3 20 35 BE 5. jsr PORT1B_RESET_BIT4 ; BDD6 20 1A BE .. lda #$40 ; BDD9 A9 40 .@ jsr SetST ; BDDB 20 CA FC .. inc $040C ; BDDE EE 0C 04 ... bne LBDB3 ; BDE1 D0 D0 .. LBDE3: lda #$08 ; BDE3 A9 08 .. sta $040C ; BDE5 8D 0C 04 ... LBDE8: lda VIA1_PORTB ; BDE8 AD 00 F8 ... cmp VIA1_PORTB ; BDEB CD 00 F8 ... bne LBDE8 ; BDEE D0 F8 .. eor #$C0 ; BDF0 49 C0 I. asl a ; BDF2 0A . bpl LBDE8 ; BDF3 10 F3 .. ror $0409 ; BDF5 6E 09 04 n.. LBDF8: lda VIA1_PORTB ; BDF8 AD 00 F8 ... cmp VIA1_PORTB ; BDFB CD 00 F8 ... bne LBDF8 ; BDFE D0 F8 .. eor #$C0 ; BE00 49 C0 I. asl a ; BE02 0A . bmi LBDF8 ; BE03 30 F3 0. dec $040C ; BE05 CE 0C 04 ... bne LBDE8 ; BE08 D0 DE .. jsr PORT1B_SET_BIT5 ; BE0A 20 35 BE 5. bit ST ; BE0D 24 BA $. bvc LBE14 ; BE0F 50 03 P. jsr LBD98 ; BE11 20 98 BD .. LBE14: lda $0409 ; BE14 AD 09 04 ... cli ; BE17 58 X clc ; BE18 18 . rts ; BE19 60 ` ; ---------------------------------------------------------------------------- PORT1B_RESET_BIT4: ; Reset VIA1 port-B bit#4. lda VIA1_PORTB ; BE1A AD 00 F8 ... and #$EF ; BE1D 29 EF ). sta VIA1_PORTB ; BE1F 8D 00 F8 ... rts ; BE22 60 ` ; ---------------------------------------------------------------------------- PORT1B_SET_BIT4: ; Set VIA1 port-B bit#4. lda VIA1_PORTB ; BE23 AD 00 F8 ... ora #$10 ; BE26 09 10 .. sta VIA1_PORTB ; BE28 8D 00 F8 ... rts ; BE2B 60 ` ; ---------------------------------------------------------------------------- PORT1B_RESET_BIT5: ; Reset VIA1 port-B bit#5. lda VIA1_PORTB ; BE2C AD 00 F8 ... and #$DF ; BE2F 29 DF ). sta VIA1_PORTB ; BE31 8D 00 F8 ... rts ; BE34 60 ` ; ---------------------------------------------------------------------------- PORT1B_SET_BIT5: ; Set VIA1 port-B bit#5. lda VIA1_PORTB ; BE35 AD 00 F8 ... ora #$20 ; BE38 09 20 . sta VIA1_PORTB ; BE3A 8D 00 F8 ... rts ; BE3D 60 ` ; ---------------------------------------------------------------------------- PORT1B_WAIT_CHANGE: ; Waiting for change on port B of VIA1. The high two bits are inverted, and ; bit 7 moved to carry. ; Maybe used for CLK/DAT sense on IEC bus? lda VIA1_PORTB ; BE3E AD 00 F8 ... cmp VIA1_PORTB ; BE41 CD 00 F8 ... bne PORT1B_WAIT_CHANGE ; BE44 D0 F8 .. eor #$C0 ; BE46 49 C0 I. asl a ; BE48 0A . rts ; BE49 60 ` ; ---------------------------------------------------------------------------- LBE4A: txa ; BE4A 8A . ldx #$B8 ; BE4B A2 B8 .. LBE4D: dex ; BE4D CA . bne LBE4D ; BE4E D0 FD .. tax ; BE50 AA . rts ; BE51 60 ` ; ---------------------------------------------------------------------------- LBE52: stz $0389 ; BE52 9C 89 03 ... stz $0388 ; BE55 9C 88 03 ... lda #$40 ; BE58 A9 40 .@ sta $038A ; BE5A 8D 8A 03 ... lda #$30 ; BE5D A9 30 .0 sta $038B ; BE5F 8D 8B 03 ... lda #$10 ; BE62 A9 10 .. sta $038C ; BE64 8D 8C 03 ... bra LBE6C ; BE67 80 03 .. LBE69: stz ACIA_ST ; BE69 9C 81 F9 ... LBE6C: php ; BE6C 08 . sei ; BE6D 78 x stz $040F ; BE6E 9C 0F 04 ... stz $0410 ; BE71 9C 10 04 ... stz $C3 ; BE74 64 C3 d. stz $038D ; BE76 9C 8D 03 ... plp ; BE79 28 ( rts ; BE7A 60 ` ; ---------------------------------------------------------------------------- LBE7B: lda ACIA_ST ; BE7B AD 81 F9 ... bit #$10 ; BE7E 89 10 .. beq LBEB5 ; BE80 F0 33 .3 ldx $040E ; BE82 AE 0E 04 ... lda #$40 ; BE85 A9 40 .@ bit $C3 ; BE87 24 C3 $. bne LBE9A ; BE89 D0 0F .. lda #$20 ; BE8B A9 20 . bit $C3 ; BE8D 24 C3 $. bne LBEB5 ; BE8F D0 24 .$ ldx $040D ; BE91 AE 0D 04 ... lda #$80 ; BE94 A9 80 .. bit $C3 ; BE96 24 C3 $. beq LBEB5 ; BE98 F0 1B .. LBE9A: stx ACIA_DATA ; BE9A 8E 80 F9 ... trb $C3 ; BE9D 14 C3 .. cpx #$00 ; BE9F E0 00 .. beq LBEB5 ; BEA1 F0 12 .. lda #$10 ; BEA3 A9 10 .. cpx $0388 ; BEA5 EC 88 03 ... bne LBEAE ; BEA8 D0 04 .. tsb $C3 ; BEAA 04 C3 .. bra LBEB5 ; BEAC 80 07 .. LBEAE: cpx $0389 ; BEAE EC 89 03 ... bne LBEB5 ; BEB1 D0 02 .. trb $C3 ; BEB3 14 C3 .. LBEB5: lda ACIA_ST ; BEB5 AD 81 F9 ... bit #$08 ; BEB8 89 08 .. beq LBF0B ; BEBA F0 4F .O ldx ACIA_DATA ; BEBC AE 80 F9 ... and #$07 ; BEBF 29 07 ). bne LBECE ; BEC1 D0 0B .. cpx #$00 ; BEC3 E0 00 .. beq LBED9 ; BEC5 F0 12 .. lda #$20 ; BEC7 A9 20 . cpx $0388 ; BEC9 EC 88 03 ... bne LBED1 ; BECC D0 03 .. LBECE: tsb $C3 ; BECE 04 C3 .. rts ; BED0 60 ` ; ---------------------------------------------------------------------------- LBED1: cpx $0389 ; BED1 EC 89 03 ... bne LBED9 ; BED4 D0 03 .. trb $C3 ; BED6 14 C3 .. rts ; BED8 60 ` ; ---------------------------------------------------------------------------- LBED9: ldy $038D ; BED9 AC 8D 03 ... cpy $038A ; BEDC CC 8A 03 ... bcs LBF0B ; BEDF B0 2A .* inc $038D ; BEE1 EE 8D 03 ... cpy $038B ; BEE4 CC 8B 03 ... bcc LBEFB ; BEE7 90 12 .. ldy $0388 ; BEE9 AC 88 03 ... beq LBEFB ; BEEC F0 0D .. lda #$10 ; BEEE A9 10 .. bit $C3 ; BEF0 24 C3 $. bne LBEFB ; BEF2 D0 07 .. sty $040E ; BEF4 8C 0E 04 ... lda #$40 ; BEF7 A9 40 .@ tsb $C3 ; BEF9 04 C3 .. LBEFB: txa ; BEFB 8A . ldx $040F ; BEFC AE 0F 04 ... bne LBF04 ; BEFF D0 03 .. ldx $038A ; BF01 AE 8A 03 ... LBF04: dex ; BF04 CA . sta $04C0,x ; BF05 9D C0 04 ... stx $040F ; BF08 8E 0F 04 ... LBF0B: rts ; BF0B 60 ` ; ---------------------------------------------------------------------------- LBF0C: tax ; BF0C AA . LBF0D: lda StopKeyFlag ; BF0D A5 AD .. lsr a ; BF0F 4A J bit $C3 ; BF10 24 C3 $. bpl LBF16 ; BF12 10 02 .. bcc LBF0D ; BF14 90 F7 .. LBF16: stx $040D ; BF16 8E 0D 04 ... lda #$80 ; BF19 A9 80 .. tsb $C3 ; BF1B 04 C3 .. rts ; BF1D 60 ` ; ---------------------------------------------------------------------------- LBF1E: ldy $038D ; BF1E AC 8D 03 ... tya ; BF21 98 . beq LBF4D ; BF22 F0 29 .) dec $038D ; BF24 CE 8D 03 ... ldx $0389 ; BF27 AE 89 03 ... beq LBF3E ; BF2A F0 12 .. cpy $038C ; BF2C CC 8C 03 ... bcs LBF3E ; BF2F B0 0D .. lda #$10 ; BF31 A9 10 .. bit $C3 ; BF33 24 C3 $. beq LBF3E ; BF35 F0 07 .. stx $040E ; BF37 8E 0E 04 ... lda #$40 ; BF3A A9 40 .@ tsb $C3 ; BF3C 04 C3 .. LBF3E: ldx $0410 ; BF3E AE 10 04 ... bne LBF46 ; BF41 D0 03 .. ldx $038A ; BF43 AE 8A 03 ... LBF46: dex ; BF46 CA . lda $04C0,x ; BF47 BD C0 04 ... stx $0410 ; BF4A 8E 10 04 ... LBF4D: clc ; BF4D 18 . rts ; BF4E 60 ` ; ---------------------------------------------------------------------------- ; Updates time-of-day (TOD) clock. Should be called at 60Hz frequency. UDTIM__:dec TOD_60HZ ; BF4F CE 8F 03 ... bpl LBFBD ; BF52 10 69 .i lda #$3B ; BF54 A9 3B .; sta TOD_60HZ ; BF56 8D 8F 03 ... lda #$3B ; BF59 A9 3B .; inc TOD_SECS ; BF5B EE 90 03 ... cmp TOD_SECS ; BF5E CD 90 03 ... bcs LBF7E ; BF61 B0 1B .. stz TOD_SECS ; BF63 9C 90 03 ... inc TOD_MINS ; BF66 EE 91 03 ... cmp TOD_MINS ; BF69 CD 91 03 ... bcs LBF7E ; BF6C B0 10 .. stz TOD_MINS ; BF6E 9C 91 03 ... inc TOD_HOURS ; BF71 EE 92 03 ... lda #$17 ; BF74 A9 17 .. cmp TOD_HOURS ; BF76 CD 92 03 ... bcs LBF7E ; BF79 B0 03 .. stz TOD_HOURS ; BF7B 9C 92 03 ... ; this TOD stuff was easy, but I have no idea what the rest is ... LBF7E: lda $0396 ; BF7E AD 96 03 ... ora $0397 ; BF81 0D 97 03 ... beq LBF93 ; BF84 F0 0D .. dec $0396 ; BF86 CE 96 03 ... bpl LBF93 ; BF89 10 08 .. ldx #$3B ; BF8B A2 3B .; stx $0396 ; BF8D 8E 96 03 ... dec $0397 ; BF90 CE 97 03 ... LBF93: lda $0393 ; BF93 AD 93 03 ... and #$FC ; BF96 29 FC ). ora $0394 ; BF98 0D 94 03 ... ora $0395 ; BF9B 0D 95 03 ... bne LBFA8 ; BF9E D0 08 .. lda $0393 ; BFA0 AD 93 03 ... beq LBFBD ; BFA3 F0 18 .. jsr LC65C ; BFA5 20 5C C6 \. LBFA8: dec $0393 ; BFA8 CE 93 03 ... bpl LBFBD ; BFAB 10 10 .. lda #$3B ; BFAD A9 3B .; sta $0393 ; BFAF 8D 93 03 ... dec $0394 ; BFB2 CE 94 03 ... bpl LBFBD ; BFB5 10 06 .. sta $0394 ; BFB7 8D 94 03 ... dec $0395 ; BFBA CE 95 03 ... LBFBD: rts ; BFBD 60 ` ; ---------------------------------------------------------------------------- LBFBE: php ; BFBE 08 . sei ; BFBF 78 x stz $0396 ; BFC0 9C 96 03 ... lda $0780 ; BFC3 AD 80 07 ... bne LBFC9 ; BFC6 D0 01 .. dec a ; BFC8 3A : LBFC9: sta $0397 ; BFC9 8D 97 03 ... plp ; BFCC 28 ( rts ; BFCD 60 ` ; ---------------------------------------------------------------------------- LBFCE: sei ; BFCE 78 x lda TOD_HOURS ; BFCF AD 92 03 ... ldx TOD_MINS ; BFD2 AE 91 03 ... ldy TOD_SECS ; BFD5 AC 90 03 ... LBFD8: sei ; BFD8 78 x sta TOD_HOURS ; BFD9 8D 92 03 ... stx TOD_MINS ; BFDC 8E 91 03 ... sty TOD_SECS ; BFDF 8C 90 03 ... cli ; BFE2 58 X rts ; BFE3 60 ` ; ---------------------------------------------------------------------------- WaitXticks_: ; Waits for multiple of 1/60 seconds. Interrupt must be enabled, since it ; used TOD's 1/60 val. ; Input: X = number of 1/60 seconds. pha ; BFE4 48 H LBFE5: lda TOD_60HZ ; BFE5 AD 8F 03 ... LBFE8: cmp TOD_60HZ ; BFE8 CD 8F 03 ... beq LBFE8 ; BFEB F0 FB .. dex ; BFED CA . bpl LBFE5 ; BFEE 10 F5 .. pla ; BFF0 68 h rts ; BFF1 60 ` ; ---------------------------------------------------------------------------- LBFF2: pha ; BFF2 48 H phx ; BFF3 DA . phy ; BFF4 5A Z jsr LC009 ; BFF5 20 09 C0 .. bcc LBFFD ; BFF8 90 03 .. jsr L84C5 ; BFFA 20 C5 84 .. LBFFD: lda $0335 ; BFFD AD 35 03 .5. beq LC005 ; C000 F0 03 .. jsr LFA78 ; C002 20 78 FA x. LC005: ply ; C005 7A z plx ; C006 FA . pla ; C007 68 h rts ; C008 60 ` ; ---------------------------------------------------------------------------- LC009: lda StopKeyFlag ; C009 A5 AD .. and #$A0 ; C00B 29 A0 ). tax ; C00D AA . php ; C00E 08 . sei ; C00F 78 x lda $0396 ; C010 AD 96 03 ... ora $0397 ; C013 0D 97 03 ... bne LC019 ; C016 D0 01 .. inx ; C018 E8 . LC019: plp ; C019 28 ( txa ; C01A 8A . cmp #$01 ; C01B C9 01 .. rts ; C01D 60 ` ; ---------------------------------------------------------------------------- LC01E: .byte $01,$00,$01,$02,$00,$01,$02,$00 ; C01E 01 00 01 02 00 01 02 00 ........ .byte $01,$02,$00,$02 ; C026 01 02 00 02 .... LC02A: .byte $9D,$76,$51 ; C02A 9D 76 51 .vQ LC02D: .byte $03,$00,$00,$00,$01,$01 ; C02D 03 00 00 00 01 01 ...... LC033: .byte $01,$02,$02,$02,$03,$03 ; C033 01 02 02 02 03 03 ...... LC039: .byte $8B,$9A,$AA,$BC ; C039 8B 9A AA BC .... LC03D: .byte $8C,$7E,$72,$67 ; C03D 8C 7E 72 67 .~rg LC041: .byte $A2,$09,$20,$E4,$BF,$08,$78,$C9 ; C041 A2 09 20 E4 BF 08 78 C9 .. ...x. .byte $23,$D0,$02 ; C049 23 D0 02 #.. LC04C: .byte $A9,$0B,$29,$0F ; C04C A9 0B 29 0F ..). ; ---------------------------------------------------------------------------- tax ; C050 AA . lda #$C0 ; C051 A9 C0 .. tsb VIA2_ACR ; C053 0C 8B F8 ... ldy LC01E,x ; C056 BC 1E C0 ... lda LC02A,y ; C059 B9 2A C0 .*. sta VIA2_T1CL ; C05C 8D 84 F8 ... lda #$01 ; C05F A9 01 .. sta VIA2_T1CH ; C061 8D 85 F8 ... ldy LC02D,x ; C064 BC 2D C0 .-. ldx LC039,y ; C067 BE 39 C0 .9. LC06A: lda VIA2_PORTB ; C06A AD 80 F8 ... eor #$01 ; C06D 49 01 I. sta VIA2_PORTB ; C06F 8D 80 F8 ... lda LC03D,y ; C072 B9 3D C0 .=. LC075: dec a ; C075 3A : bne LC075 ; C076 D0 FD .. dex ; C078 CA . bne LC06A ; C079 D0 EF .. lda #$C0 ; C07B A9 C0 .. trb VIA2_ACR ; C07D 1C 8B F8 ... plp ; C080 28 ( rts ; C081 60 ` ; ---------------------------------------------------------------------------- LC082: lda #$AE ; C082 A9 AE .. sta $034E ; C084 8D 4E 03 .N. ldx FNlength ; C087 AE 87 03 ... beq LC0A6 ; C08A F0 1A .. stz ACIA_ST ; C08C 9C 81 F9 ... ldy #$00 ; C08F A0 00 .. jsr FROM_C67B ; C091 20 4A 03 J. sta ACIA_CTRL ; C094 8D 83 F9 ... cpx #$01 ; C097 E0 01 .. beq LC0A6 ; C099 F0 0B .. iny ; C09B C8 . jsr FROM_C67B ; C09C 20 4A 03 J. cpx #$02 ; C09F E0 02 .. bne LC0A8 ; C0A1 D0 05 .. sta ACIA_CMD ; C0A3 8D 82 F9 ... LC0A6: clc ; C0A6 18 . rts ; C0A7 60 ` ; ---------------------------------------------------------------------------- LC0A8: and #$E0 ; C0A8 29 E0 ). sta ACIA_CMD ; C0AA 8D 82 F9 ... jsr LC193 ; C0AD 20 93 C1 .. jsr LC1A1 ; C0B0 20 A1 C1 .. jsr LC1AD ; C0B3 20 AD C1 .. ldy #$02 ; C0B6 A0 02 .. jsr FROM_C67B ; C0B8 20 4A 03 J. cmp #$41 ; C0BB C9 41 .A beq LC0C3 ; C0BD F0 04 .. cmp #$41 ; C0BF C9 41 .A bne LC0CE ; C0C1 D0 0B .. LC0C3: jsr LC1DF ; C0C3 20 DF C1 .. bcs LC0E3 ; C0C6 B0 1B .. jsr LC1BB ; C0C8 20 BB C1 .. jmp LC1B4 ; C0CB 4C B4 C1 L.. ; ---------------------------------------------------------------------------- LC0CE: jsr LC1BB ; C0CE 20 BB C1 .. jsr LC189 ; C0D1 20 89 C1 .. lda #$02 ; C0D4 A9 02 .. jsr LC0F1 ; C0D6 20 F1 C0 .. bcs LC0E3 ; C0D9 B0 08 .. jsr LC1CD ; C0DB 20 CD C1 .. bcs LC0E3 ; C0DE B0 03 .. jmp LC1B4 ; C0E0 4C B4 C1 L.. ; ---------------------------------------------------------------------------- LC0E3: lda LFSLogNum ; C0E3 A5 C6 .. jmp LFCF1 ; C0E5 4C F1 FC L.. ; ---------------------------------------------------------------------------- LC0E8: php ; C0E8 08 . sei ; C0E9 78 x jsr LBE52 ; C0EA 20 52 BE R. plp ; C0ED 28 ( jmp LC200 ; C0EE 4C 00 C2 L.. ; ---------------------------------------------------------------------------- LC0F1: pha ; C0F1 48 H and #$7F ; C0F2 29 7F ). cmp FNlength ; C0F4 CD 87 03 ... bcc LC0FC ; C0F7 90 03 .. pla ; C0F9 68 h clc ; C0FA 18 . rts ; C0FB 60 ` ; ---------------------------------------------------------------------------- LC0FC: tay ; C0FC A8 . jsr FROM_C67B ; C0FD 20 4A 03 J. jsr LC110 ; C100 20 10 C1 .. jsr LC1F0 ; C103 20 F0 C1 .. pla ; C106 68 h inc a ; C107 1A . bcs LC10F ; C108 B0 05 .. lda StopKeyFlag ; C10A A5 AD .. lsr a ; C10C 4A J bcc LC0F1 ; C10D 90 E2 .. LC10F: rts ; C10F 60 ` ; ---------------------------------------------------------------------------- LC110: bit #$40 ; C110 89 40 .@ beq LC116 ; C112 F0 02 .. and #$DF ; C114 29 DF ). LC116: ldy #$0F ; C116 A0 0F .. LC118: cmp LC128,y ; C118 D9 28 C1 .(. bne LC123 ; C11B D0 06 .. ldx LC138,y ; C11D BE 38 C1 .8. jmp (LC148,x) ; C120 7C 48 C1 |H. LC123: dey ; C123 88 . bpl LC118 ; C124 10 F2 .. clc ; C126 18 . rts ; C127 60 ` ; ---------------------------------------------------------------------------- LC128: .byte $30,$31,$32,$33,$34,$35,$36,$37 ; C128 30 31 32 33 34 35 36 37 01234567 .byte $38,$39,$23,$2A,$52,$54,$57,$2C ; C130 38 39 23 2A 52 54 57 2C 89#*RTW, LC138: .byte $00,$00,$00,$00,$00,$00,$00,$00 ; C138 00 00 00 00 00 00 00 00 ........ .byte $00,$00,$00,$00,$02,$04,$06,$08 ; C140 00 00 00 00 02 04 06 08 ........ ; ---------------------------------------------------------------------------- LC148: .addr LC165 ; C148 65 C1 e. .addr LC15A ; C14A 5A C1 Z. .addr LC152 ; C14C 52 C1 R. .addr LC1CD ; C14E CD C1 .. .addr LC18C ; C150 8C C1 .. ; ---------------------------------------------------------------------------- LC152: tsx ; C152 BA . lda stack+3,x ; C153 BD 03 01 ... ora #$80 ; C156 09 80 .. bra LC160 ; C158 80 06 .. LC15A: tsx ; C15A BA . lda stack+3,x ; C15B BD 03 01 ... and #$7F ; C15E 29 7F ). LC160: sta stack+3,x ; C160 9D 03 01 ... clc ; C163 18 . rts ; C164 60 ` ; ---------------------------------------------------------------------------- LC165: tsx ; C165 BA . ldy stack+3,x ; C166 BC 03 01 ... bpl LC170 ; C169 10 05 .. jsr LC041 ; C16B 20 41 C0 A. clc ; C16E 18 . rts ; C16F 60 ` ; ---------------------------------------------------------------------------- LC170: cmp #$30 ; C170 C9 30 .0 bcc LC188 ; C172 90 14 .. and #$0F ; C174 29 0F ). bne LC17A ; C176 D0 02 .. lda #$0A ; C178 A9 0A .. LC17A: pha ; C17A 48 H jsr LC1C4 ; C17B 20 C4 C1 .. jsr LC1BB ; C17E 20 BB C1 .. pla ; C181 68 h dec a ; C182 3A : bne LC17A ; C183 D0 F5 .. jsr LC18C ; C185 20 8C C1 .. LC188: rts ; C188 60 ` ; ---------------------------------------------------------------------------- LC189: jsr LC18C ; C189 20 8C C1 .. LC18C: ldx #$3B ; C18C A2 3B .; LC18E: jsr WaitXticks_ ; C18E 20 E4 BF .. clc ; C191 18 . rts ; C192 60 ` ; ---------------------------------------------------------------------------- LC193: lda #$02 ; C193 A9 02 .. trb VIA2_PORTB ; C195 1C 80 F8 ... bra LC18C ; C198 80 F2 .. LC19A: lda #$02 ; C19A A9 02 .. tsb VIA2_PORTB ; C19C 0C 80 F8 ... clc ; C19F 18 . rts ; C1A0 60 ` ; ---------------------------------------------------------------------------- LC1A1: lda #$01 ; C1A1 A9 01 .. tsb ACIA_CMD ; C1A3 0C 82 F9 ... rts ; C1A6 60 ` ; ---------------------------------------------------------------------------- LC1A7: lda #$01 ; C1A7 A9 01 .. trb ACIA_CMD ; C1A9 1C 82 F9 ... rts ; C1AC 60 ` ; ---------------------------------------------------------------------------- LC1AD: lda #$08 ; C1AD A9 08 .. tsb VIA2_PORTB ; C1AF 0C 80 F8 ... clc ; C1B2 18 . rts ; C1B3 60 ` ; ---------------------------------------------------------------------------- LC1B4: lda #$08 ; C1B4 A9 08 .. trb VIA2_PORTB ; C1B6 1C 80 F8 ... clc ; C1B9 18 . rts ; C1BA 60 ` ; ---------------------------------------------------------------------------- LC1BB: lda #$04 ; C1BB A9 04 .. tsb ACIA_CMD ; C1BD 0C 82 F9 ... ldx #$02 ; C1C0 A2 02 .. bra LC18E ; C1C2 80 CA .. LC1C4: lda #$04 ; C1C4 A9 04 .. trb ACIA_CMD ; C1C6 1C 82 F9 ... ldx #$04 ; C1C9 A2 04 .. bra LC18E ; C1CB 80 C1 .. LC1CD: lda ACIA_ST ; C1CD AD 81 F9 ... bit #$20 ; C1D0 89 20 . beq LC18C ; C1D2 F0 B8 .. bit #$40 ; C1D4 89 40 .@ bne LC1DD ; C1D6 D0 05 .. lda StopKeyFlag ; C1D8 A5 AD .. lsr a ; C1DA 4A J bcc LC1CD ; C1DB 90 F0 .. LC1DD: sec ; C1DD 38 8 rts ; C1DE 60 ` ; ---------------------------------------------------------------------------- LC1DF: ldy #$78 ; C1DF A0 78 .x LC1E1: ldx #$01 ; C1E1 A2 01 .. jsr WaitXticks_ ; C1E3 20 E4 BF .. jsr LC1CD ; C1E6 20 CD C1 .. bcc LC1EF ; C1E9 90 04 .. dey ; C1EB 88 . bne LC1E1 ; C1EC D0 F3 .. sec ; C1EE 38 8 LC1EF: rts ; C1EF 60 ` ; ---------------------------------------------------------------------------- LC1F0: lda #$04 ; C1F0 A9 04 .. trb ACIA_CMD ; C1F2 1C 82 F9 ... lda #$C8 ; C1F5 A9 C8 .. LC1F7: dec a ; C1F7 3A : bne LC1F7 ; C1F8 D0 FD .. lda #$04 ; C1FA A9 04 .. tsb ACIA_CMD ; C1FC 0C 82 F9 ... rts ; C1FF 60 ` ; ---------------------------------------------------------------------------- LC200: jsr LC1B4 ; C200 20 B4 C1 .. jsr LC1C4 ; C203 20 C4 C1 .. jsr LC1A7 ; C206 20 A7 C1 .. jsr LC19A ; C209 20 9A C1 .. lda #$80 ; C20C A9 80 .. jmp SetST ; C20E 4C CA FC L.. ; ---------------------------------------------------------------------------- LC211: .byte $04,$02,$00,$04,$06,$07,$09,$0B ; C211 04 02 00 04 06 07 09 0B ........ ; ---------------------------------------------------------------------------- LC219: stz $0411 ; C219 9C 11 04 ... lda FNlength ; C21C AD 87 03 ... beq LC22A ; C21F F0 09 .. cmp #$08 ; C221 C9 08 .. beq LC22C ; C223 F0 07 .. lda #$01 ; C225 A9 01 .. jsr SetST ; C227 20 CA FC .. LC22A: clc ; C22A 18 . rts ; C22B 60 ` ; ---------------------------------------------------------------------------- LC22C: lda #$AE ; C22C A9 AE .. sta $034E ; C22E 8D 4E 03 .N. ldy #$07 ; C231 A0 07 .. LC233: jsr FROM_C67B ; C233 20 4A 03 J. sta $0412,y ; C236 99 12 04 ... dey ; C239 88 . bpl LC233 ; C23A 10 F7 .. lda $0415 ; C23C AD 15 04 ... ror a ; C23F 6A j ror a ; C240 6A j ror a ; C241 6A j and #$C0 ; C242 29 C0 ). ora $0412 ; C244 0D 12 04 ... sta $0415 ; C247 8D 15 04 ... jsr RTC_ACCESS_ON ; C24A 20 66 C3 f. lda #$80 ; C24D A9 80 .. tsb VIA2_PORTA ; C24F 0C 81 F8 ... php ; C252 08 . sei ; C253 78 x ldy #$0E ; C254 A0 0E .. lda #$40 ; C256 A9 40 .@ jsr LC340 ; C258 20 40 C3 @. ldx #$01 ; C25B A2 01 .. LC25D: lda $0412,x ; C25D BD 12 04 ... jsr LC325 ; C260 20 25 C3 %. inx ; C263 E8 . cpx #$08 ; C264 E0 08 .. bne LC25D ; C266 D0 F5 .. jsr RTC_ACCESS_OFF ; C268 20 6F C3 o. plp ; C26B 28 ( stz $0411 ; C26C 9C 11 04 ... clc ; C26F 18 . rts ; C270 60 ` ; ---------------------------------------------------------------------------- LC271: jsr LC2CE ; C271 20 CE C2 .. php ; C274 08 . sei ; C275 78 x sed ; C276 F8 . lda $0412 ; C277 AD 12 04 ... ldx $0415 ; C27A AE 15 04 ... bne LC287 ; C27D D0 08 .. cmp #$12 ; C27F C9 12 .. bne LC290 ; C281 D0 0D .. lda #$00 ; C283 A9 00 .. bra LC290 ; C285 80 09 .. LC287: dex ; C287 CA . bne LC290 ; C288 D0 06 .. cmp #$12 ; C28A C9 12 .. beq LC290 ; C28C F0 02 .. adc #$12 ; C28E 69 12 i. LC290: jsr LC375 ; C290 20 75 C3 u. sta TOD_HOURS ; C293 8D 92 03 ... lda $0413 ; C296 AD 13 04 ... jsr LC375 ; C299 20 75 C3 u. sta TOD_MINS ; C29C 8D 91 03 ... lda $0414 ; C29F AD 14 04 ... jsr LC375 ; C2A2 20 75 C3 u. sta TOD_SECS ; C2A5 8D 90 03 ... stz $0411 ; C2A8 9C 11 04 ... plp ; C2AB 28 ( rts ; C2AC 60 ` ; ---------------------------------------------------------------------------- LC2AD: ldx $0411 ; C2AD AE 11 04 ... beq LC2BD ; C2B0 F0 0B .. cpx #$08 ; C2B2 E0 08 .. bcc LC2C3 ; C2B4 90 0D .. lda #$0D ; C2B6 A9 0D .. stz $0411 ; C2B8 9C 11 04 ... clc ; C2BB 18 . rts ; C2BC 60 ` ; ---------------------------------------------------------------------------- LC2BD: jsr LC2CE ; C2BD 20 CE C2 .. stz $0411 ; C2C0 9C 11 04 ... LC2C3: ldx $0411 ; C2C3 AE 11 04 ... lda $0412,x ; C2C6 BD 12 04 ... inc $0411 ; C2C9 EE 11 04 ... clc ; C2CC 18 . rts ; C2CD 60 ` ; ---------------------------------------------------------------------------- LC2CE: jsr RTC_ACCESS_ON ; C2CE 20 66 C3 f. ldx #$07 ; C2D1 A2 07 .. LC2D3: jsr LC30E ; C2D3 20 0E C3 .. sta $0412,x ; C2D6 9D 12 04 ... dex ; C2D9 CA . bpl LC2D3 ; C2DA 10 F7 .. jsr RTC_ACCESS_OFF ; C2DC 20 6F C3 o. jsr RTC_ACCESS_ON ; C2DF 20 66 C3 f. ldx #$07 ; C2E2 A2 07 .. LC2E4: jsr LC30E ; C2E4 20 0E C3 .. cmp $0412,x ; C2E7 DD 12 04 ... bne LC2CE ; C2EA D0 E2 .. dex ; C2EC CA . bne LC2E4 ; C2ED D0 F5 .. jsr RTC_ACCESS_OFF ; C2EF 20 6F C3 o. lda $0412 ; C2F2 AD 12 04 ... and #$3F ; C2F5 29 3F )? sta $0412 ; C2F7 8D 12 04 ... lda $0416 ; C2FA AD 16 04 ... and #$0F ; C2FD 29 0F ). sta $0416 ; C2FF 8D 16 04 ... lda $0415 ; C302 AD 15 04 ... rol a ; C305 2A * rol a ; C306 2A * rol a ; C307 2A * and #$03 ; C308 29 03 ). sta $0415 ; C30A 8D 15 04 ... rts ; C30D 60 ` ; ---------------------------------------------------------------------------- LC30E: ldy LC211,x ; C30E BC 11 C2 ... phy ; C311 5A Z jsr LC352 ; C312 20 52 C3 R. sta $0411 ; C315 8D 11 04 ... ply ; C318 7A z iny ; C319 C8 . jsr LC352 ; C31A 20 52 C3 R. asl a ; C31D 0A . asl a ; C31E 0A . asl a ; C31F 0A . asl a ; C320 0A . ora $0411 ; C321 0D 11 04 ... rts ; C324 60 ` ; ---------------------------------------------------------------------------- LC325: pha ; C325 48 H and #$0F ; C326 29 0F ). ldy LC211,x ; C328 BC 11 C2 ... jsr LC337 ; C32B 20 37 C3 7. pla ; C32E 68 h lsr a ; C32F 4A J lsr a ; C330 4A J lsr a ; C331 4A J lsr a ; C332 4A J ldy LC211,x ; C333 BC 11 C2 ... iny ; C336 C8 . LC337: pha ; C337 48 H lda #$40 ; C338 A9 40 .@ jsr LC340 ; C33A 20 40 C3 @. ply ; C33D 7A z lda #$20 ; C33E A9 20 . LC340: pha ; C340 48 H lda #$7F ; C341 A9 7F .. trb VIA2_PORTA ; C343 1C 81 F8 ... tya ; C346 98 . tsb VIA2_PORTA ; C347 0C 81 F8 ... pla ; C34A 68 h tsb VIA2_PORTA ; C34B 0C 81 F8 ... trb VIA2_PORTA ; C34E 1C 81 F8 ... rts ; C351 60 ` ; ---------------------------------------------------------------------------- ; This quite odd routine reads (4 bit) data from the RTC chip. Odd, because ; port A of VIA#2 is configured as _output_ otherwise ... $40 is for AW ; (address write) signal for the RTC. ; Input: Y = RTC register number ; Output: A = read value LC352: lda #$40 ; C352 A9 40 .@ jsr LC340 ; C354 20 40 C3 @. lda #$1F ; C357 A9 1F .. tsb VIA2_PORTA ; C359 0C 81 F8 ... ldy VIA2_PORTA ; C35C AC 81 F8 ... trb VIA2_PORTA ; C35F 1C 81 F8 ... tya ; C362 98 . and #$0F ; C363 29 0F ). rts ; C365 60 ` ; ---------------------------------------------------------------------------- RTC_ACCESS_ON: stz VIA2_PORTA ; C366 9C 81 F8 ... lda #$02 ; C369 A9 02 .. tsb VIA1_PORTB ; C36B 0C 00 F8 ... rts ; C36E 60 ` ; ---------------------------------------------------------------------------- RTC_ACCESS_OFF: lda #$02 ; C36F A9 02 .. trb VIA1_PORTB ; C371 1C 00 F8 ... rts ; C374 60 ` ; ---------------------------------------------------------------------------- LC375: pha ; C375 48 H lsr a ; C376 4A J lsr a ; C377 4A J lsr a ; C378 4A J lsr a ; C379 4A J tay ; C37A A8 . pla ; C37B 68 h cld ; C37C D8 . sec ; C37D 38 8 sbc LC382,y ; C37E F9 82 C3 ... rts ; C381 60 ` ; ---------------------------------------------------------------------------- LC382: .byte $00,$06,$0C,$12,$18,$1E,$24,$2A ; C382 00 06 0C 12 18 1E 24 2A ......$* .byte $30,$36 ; C38A 30 36 06 ; ---------------------------------------------------------------------------- LC38C: ldx ST ; C38C A6 BA .. bne LC3AC ; C38E D0 1C .. pha ; C390 48 H ldy #$F0 ; C391 A0 F0 .. LC393: lda VIA2_PORTB ; C393 AD 80 F8 ... and #$40 ; C396 29 40 )@ bne LC3B0 ; C398 D0 16 .. lda StopKeyFlag ; C39A A5 AD .. lsr a ; C39C 4A J lda #$00 ; C39D A9 00 .. bcs LC3AB ; C39F B0 0A .. ldx #$01 ; C3A1 A2 01 .. jsr WaitXticks_ ; C3A3 20 E4 BF .. dey ; C3A6 88 . bne LC393 ; C3A7 D0 EA .. lda #$01 ; C3A9 A9 01 .. LC3AB: plx ; C3AB FA . LC3AC: sec ; C3AC 38 8 jmp SetST ; C3AD 4C CA FC L.. ; ---------------------------------------------------------------------------- LC3B0: ldx #$03 ; C3B0 A2 03 .. LC3B2: dex ; C3B2 CA . bpl LC3B2 ; C3B3 10 FD .. pla ; C3B5 68 h sta VIA2_PORTA ; C3B6 8D 81 F8 ... lda #$20 ; C3B9 A9 20 . trb VIA2_PORTB ; C3BB 1C 80 F8 ... tsb VIA2_PORTB ; C3BE 0C 80 F8 ... lda #$02 ; C3C1 A9 02 .. tsb VIA2_PCR ; C3C3 0C 8C F8 ... trb VIA2_PCR ; C3C6 1C 8C F8 ... clc ; C3C9 18 . rts ; C3CA 60 ` ; ---------------------------------------------------------------------------- LC3CB: pha ; C3CB 48 H lda LC44A,x ; C3CC BD 4A C4 .J. bra LC3D5 ; C3CF 80 04 .. LC3D1: pha ; C3D1 48 H lda LC444,x ; C3D2 BD 44 C4 .D. LC3D5: cpx #$00 ; C3D5 E0 00 .. bne LC3DC ; C3D7 D0 03 .. clc ; C3D9 18 . LC3DA: pla ; C3DA 68 h rts ; C3DB 60 ` ; ---------------------------------------------------------------------------- LC3DC: cpx #$07 ; C3DC E0 07 .. bcs LC3DA ; C3DE B0 FA .. plx ; C3E0 FA . phy ; C3E1 5A Z tay ; C3E2 A8 . txa ; C3E3 8A . LC3E4: phy ; C3E4 5A Z ldx LC416,y ; C3E5 BE 16 C4 ... jsr LC3F1 ; C3E8 20 F1 C3 .. ply ; C3EB 7A z iny ; C3EC C8 . bcs LC3E4 ; C3ED B0 F5 .. ply ; C3EF 7A z rts ; C3F0 60 ` ; ---------------------------------------------------------------------------- LC3F1: jmp (LC3F4,x) ; C3F1 7C F4 C3 |.. LC3F4: .addr LC486 ; C3F4 86 C4 .. .addr LC4C5 ; C3F6 C5 C4 .. .addr LC488 ; C3F8 88 C4 .. .addr LC496 ; C3FA 96 C4 .. .addr LC5BC ; C3FC BC C5 .. .addr LC5AE ; C3FE AE C5 .. .addr LC5E3 ; C400 E3 C5 .. .addr LC5F7 ; C402 F7 C5 .. .addr LC553 ; C404 53 C5 S. .addr LC55D ; C406 5D C5 ]. .addr LC4A4 ; C408 A4 C4 .. .addr LC58A ; C40A 8A C5 .. .addr LC567 ; C40C 67 C5 g. .addr LC4D3 ; C40E D3 C4 .. .addr LC513 ; C410 13 C5 .. .addr LC59B ; C412 9B C5 .. .addr LC451 ; C414 51 C4 Q. ; ---------------------------------------------------------------------------- LC416: .byte $02,$04,$06,$08,$0A,$0C,$00,$02 ; C416 02 04 06 08 0A 0C 00 02 ........ .byte $06,$08,$0A,$0C,$00,$02,$18,$06 ; C41E 06 08 0A 0C 00 02 18 06 ........ .byte $1E,$0A,$1C,$10,$00,$02,$16,$0E ; C426 1E 0A 1C 10 00 02 16 0E ........ .byte $00,$02,$1A,$1C,$10,$00,$04,$06 ; C42E 00 02 1A 1C 10 00 04 06 ........ .byte $14,$00,$04,$12,$00,$04,$20,$00 ; C436 14 00 04 12 00 04 20 00 ...... . .byte $06,$14,$00,$12,$00,$20 ; C43E 06 14 00 12 00 20 ..... LC444: .byte $00,$00,$07,$0D,$15,$15 ; C444 00 00 07 0D 15 15 ...... LC44A: .byte $19,$1E,$22,$25,$28,$2B,$2D ; C44A 19 1E 22 25 28 2B 2D .."%(+- ; ---------------------------------------------------------------------------- LC451: cmp #$5E ; C451 C9 5E .^ bcc LC462 ; C453 90 0D .. cmp #$80 ; C455 C9 80 .. bcs LC462 ; C457 B0 09 .. sec ; C459 38 8 sbc #$5E ; C45A E9 5E .^ tay ; C45C A8 . lda LC464,y ; C45D B9 64 C4 .d. clc ; C460 18 . rts ; C461 60 ` ; ---------------------------------------------------------------------------- LC462: sec ; C462 38 8 rts ; C463 60 ` ; ---------------------------------------------------------------------------- LC464: .byte $71,$7F,$62,$60,$7B,$AE,$BD,$AD ; C464 71 7F 62 60 7B AE BD AD q.b`{... .byte $B0,$B1,$3E,$7F,$7A,$56,$AC,$BB ; C46C B0 B1 3E 7F 7A 56 AC BB ..>.zV.. .byte $BE,$BC,$B8,$68,$A9,$B2,$B3,$B1 ; C474 BE BC B8 68 A9 B2 B3 B1 ...h.... .byte $AB,$76,$6E,$6D,$B7,$AF,$67,$68 ; C47C AB 76 6E 6D B7 AF 67 68 .vnm..gh .byte $78,$7E ; C484 78 7E x~ ; ---------------------------------------------------------------------------- LC486: clc ; C486 18 . rts ; C487 60 ` ; ---------------------------------------------------------------------------- LC488: cmp #$41 ; C488 C9 41 .A bcc LC494 ; C48A 90 08 .. cmp #$5B ; C48C C9 5B .[ bcs LC494 ; C48E B0 04 .. eor #$20 ; C490 49 20 I clc ; C492 18 . rts ; C493 60 ` ; ---------------------------------------------------------------------------- LC494: sec ; C494 38 8 rts ; C495 60 ` ; ---------------------------------------------------------------------------- LC496: cmp #$61 ; C496 C9 61 .a bcc LC4A2 ; C498 90 08 .. cmp #$7B ; C49A C9 7B .{ bcs LC4A2 ; C49C B0 04 .. eor #$20 ; C49E 49 20 I clc ; C4A0 18 . rts ; C4A1 60 ` ; ---------------------------------------------------------------------------- LC4A2: sec ; C4A2 38 8 rts ; C4A3 60 ` ; ---------------------------------------------------------------------------- LC4A4: ldx #$04 ; C4A4 A2 04 .. LC4A6: cmp LC4B5,x ; C4A6 DD B5 C4 ... beq LC4B0 ; C4A9 F0 05 .. dex ; C4AB CA . bpl LC4A6 ; C4AC 10 F8 .. sec ; C4AE 38 8 rts ; C4AF 60 ` ; ---------------------------------------------------------------------------- LC4B0: lda LC4BD,x ; C4B0 BD BD C4 ... clc ; C4B3 18 . rts ; C4B4 60 ` ; ---------------------------------------------------------------------------- LC4B5: .byte $7B,$7D,$7E,$60,$5F,$7B,$7D,$60 ; C4B5 7B 7D 7E 60 5F 7B 7D 60 {}~`_{}` LC4BD: .byte $A6,$A8,$5F,$BA,$A4,$E6,$E8,$FA ; C4BD A6 A8 5F BA A4 E6 E8 FA .._..... ; ---------------------------------------------------------------------------- LC4C5: cmp #$80 ; C4C5 C9 80 .. bcc LC4D1 ; C4C7 90 08 .. cmp #$A0 ; C4C9 C9 A0 .. bcs LC4D1 ; C4CB B0 04 .. and #$7F ; C4CD 29 7F ). clc ; C4CF 18 . rts ; C4D0 60 ` ; ---------------------------------------------------------------------------- LC4D1: sec ; C4D1 38 8 rts ; C4D2 60 ` ; ---------------------------------------------------------------------------- LC4D3: cmp #$60 ; C4D3 C9 60 .` bcc LC4E4 ; C4D5 90 0D .. cmp #$80 ; C4D7 C9 80 .. bcs LC4E4 ; C4D9 B0 09 .. sec ; C4DB 38 8 sbc #$60 ; C4DC E9 60 .` LC4DE: tay ; C4DE A8 . lda LC4F3,y ; C4DF B9 F3 C4 ... clc ; C4E2 18 . rts ; C4E3 60 ` ; ---------------------------------------------------------------------------- LC4E4: cmp #$C0 ; C4E4 C9 C0 .. bcc LC4F1 ; C4E6 90 09 .. cmp #$E0 ; C4E8 C9 E0 .. bcs LC4F1 ; C4EA B0 05 .. sec ; C4EC 38 8 sbc #$C0 ; C4ED E9 C0 .. bra LC4DE ; C4EF 80 ED .. LC4F1: sec ; C4F1 38 8 rts ; C4F2 60 ` ; ---------------------------------------------------------------------------- LC4F3: .byte $61,$73,$60,$61,$7A,$7A,$7B,$7C ; C4F3 61 73 60 61 7A 7A 7B 7C as`azz{| .byte $7D,$63,$65,$64,$4C,$79,$78,$66 ; C4FB 7D 63 65 64 4C 79 78 66 }cedLyxf .byte $63,$5E,$7B,$6B,$7C,$66,$77,$4F ; C503 63 5E 7B 6B 7C 66 77 4F c^{k|fwO .byte $7E,$7D,$6A,$62,$60,$60,$7F,$5F ; C50B 7E 7D 6A 62 60 60 7F 5F ~}jb``._ ; ---------------------------------------------------------------------------- LC513: cmp #$A0 ; C513 C9 A0 .. bcc LC524 ; C515 90 0D .. cmp #$C0 ; C517 C9 C0 .. bcs LC524 ; C519 B0 09 .. sec ; C51B 38 8 sbc #$A0 ; C51C E9 A0 .. LC51E: tay ; C51E A8 . lda LC533,y ; C51F B9 33 C5 .3. clc ; C522 18 . rts ; C523 60 ` ; ---------------------------------------------------------------------------- LC524: cmp #$E0 ; C524 C9 E0 .. bcc LC531 ; C526 90 09 .. cmp #$FF ; C528 C9 FF .. bcs LC531 ; C52A B0 05 .. sec ; C52C 38 8 sbc #$E0 ; C52D E9 E0 .. bra LC51E ; C52F 80 ED .. LC531: sec ; C531 38 8 rts ; C532 60 ` ; ---------------------------------------------------------------------------- LC533: .byte $20,$7C,$7B,$7A,$7B,$7C,$74,$7D ; C533 20 7C 7B 7A 7B 7C 74 7D |{z{|t} .byte $76,$72,$7D,$76,$6C,$65,$63,$7B ; C53B 76 72 7D 76 6C 65 63 7B vr}vlec{ .byte $66,$75,$73,$74,$7C,$7C,$7D,$7A ; C543 66 75 73 74 7C 7C 7D 7A fust||}z .byte $7A,$7B,$64,$6D,$6F,$64,$6E,$25 ; C54B 7A 7B 64 6D 6F 64 6E 25 z{dmodn% ; ---------------------------------------------------------------------------- LC553: cmp #$FF ; C553 C9 FF .. bne LC55B ; C555 D0 04 .. lda #$7F ; C557 A9 7F .. clc ; C559 18 . rts ; C55A 60 ` ; ---------------------------------------------------------------------------- LC55B: sec ; C55B 38 8 rts ; C55C 60 ` ; ---------------------------------------------------------------------------- LC55D: cmp #$5F ; C55D C9 5F ._ bne LC565 ; C55F D0 04 .. lda #$A4 ; C561 A9 A4 .. clc ; C563 18 . rts ; C564 60 ` ; ---------------------------------------------------------------------------- LC565: sec ; C565 38 8 rts ; C566 60 ` ; ---------------------------------------------------------------------------- LC567: ldx #$08 ; C567 A2 08 .. LC569: cmp LC581,x ; C569 DD 81 C5 ... beq LC573 ; C56C F0 05 .. dex ; C56E CA . bpl LC569 ; C56F 10 F8 .. sec ; C571 38 8 rts ; C572 60 ` ; ---------------------------------------------------------------------------- LC573: lda LC578,x ; C573 BD 78 C5 .x. clc ; C576 18 . rts ; C577 60 ` ; ---------------------------------------------------------------------------- LC578: .byte $5B,$5C,$5D,$2D,$27,$5F,$5B,$5D ; C578 5B 5C 5D 2D 27 5F 5B 5D [\]-'_[] .byte $27 ; C580 27 ' LC581: .byte $A6,$7C,$A8,$5F,$BA,$A4,$E6,$E8 ; C581 A6 7C A8 5F BA A4 E6 E8 .|._.... .byte $FA ; C589 FA . ; ---------------------------------------------------------------------------- LC58A: ldx #$07 ; C58A A2 07 .. LC58C: cmp LC4BD,x ; C58C DD BD C4 ... beq LC596 ; C58F F0 05 .. dex ; C591 CA . bpl LC58C ; C592 10 F8 .. sec ; C594 38 8 rts ; C595 60 ` ; ---------------------------------------------------------------------------- LC596: lda LC4B5,x ; C596 BD B5 C4 ... clc ; C599 18 . rts ; C59A 60 ` ; ---------------------------------------------------------------------------- LC59B: cmp #$7B ; C59B C9 7B .{ bcc LC5AC ; C59D 90 0D .. cmp #$80 ; C59F C9 80 .. bcs LC5AC ; C5A1 B0 09 .. sec ; C5A3 38 8 sbc #$60 ; C5A4 E9 60 .` tay ; C5A6 A8 . lda LC4F3,y ; C5A7 B9 F3 C4 ... clc ; C5AA 18 . rts ; C5AB 60 ` ; ---------------------------------------------------------------------------- LC5AC: sec ; C5AC 38 8 rts ; C5AD 60 ` ; ---------------------------------------------------------------------------- LC5AE: cmp #$C1 ; C5AE C9 C1 .. bcc LC5BA ; C5B0 90 08 .. cmp #$DB ; C5B2 C9 DB .. bcs LC5BA ; C5B4 B0 04 .. eor #$80 ; C5B6 49 80 I. clc ; C5B8 18 . rts ; C5B9 60 ` ; ---------------------------------------------------------------------------- LC5BA: sec ; C5BA 38 8 rts ; C5BB 60 ` ; ---------------------------------------------------------------------------- LC5BC: ldx #$0A ; C5BC A2 0A .. LC5BE: cmp LC5CD,x ; C5BE DD CD C5 ... beq LC5C8 ; C5C1 F0 05 .. dex ; C5C3 CA . bpl LC5BE ; C5C4 10 F8 .. sec ; C5C6 38 8 rts ; C5C7 60 ` ; ---------------------------------------------------------------------------- LC5C8: lda LC5D8,x ; C5C8 BD D8 C5 ... clc ; C5CB 18 . rts ; C5CC 60 ` ; ---------------------------------------------------------------------------- LC5CD: .byte $A6,$A8,$BA,$5F,$A4,$E6,$E8,$FA ; C5CD A6 A8 BA 5F A4 E6 E8 FA ..._.... .byte $7B,$7E,$7F ; C5D5 7B 7E 7F {~. LC5D8: .byte $7B,$7D,$60,$7E,$5F,$7B,$7D,$60 ; C5D8 7B 7D 60 7E 5F 7B 7D 60 {}`~_{}` .byte $20,$20,$20 ; C5E0 20 20 20 ; ---------------------------------------------------------------------------- LC5E3: cmp #$A0 ; C5E3 C9 A0 .. bcc LC5ED ; C5E5 90 06 .. cmp #$C0 ; C5E7 C9 C0 .. bcs LC5ED ; C5E9 B0 02 .. bra LC5F1 ; C5EB 80 04 .. LC5ED: cmp #$E0 ; C5ED C9 E0 .. bcc LC5F5 ; C5EF 90 04 .. LC5F1: lda #$20 ; C5F1 A9 20 . clc ; C5F3 18 . rts ; C5F4 60 ` ; ---------------------------------------------------------------------------- LC5F5: sec ; C5F5 38 8 rts ; C5F6 60 ` ; ---------------------------------------------------------------------------- LC5F7: cmp #$60 ; C5F7 C9 60 .` bcc LC601 ; C5F9 90 06 .. cmp #$80 ; C5FB C9 80 .. bcs LC601 ; C5FD B0 02 .. bra LC605 ; C5FF 80 04 .. LC601: cmp #$A0 ; C601 C9 A0 .. bcc LC609 ; C603 90 04 .. LC605: lda #$20 ; C605 A9 20 . clc ; C607 18 . rts ; C608 60 ` ; ---------------------------------------------------------------------------- LC609: sec ; C609 38 8 rts ; C60A 60 ` ; ---------------------------------------------------------------------------- LC60B: jmp (LC60E,x) ; C60B 7C 0E C6 |.. LC60E: .addr LC618 ; C60E 18 C6 .. .addr LC61E ; C610 1E C6 .. .addr LC626 ; C612 26 C6 &. .addr LC63F ; C614 3F C6 ?. .addr LC65C ; C616 5C C6 \. ; ---------------------------------------------------------------------------- LC618: jsr LC63F ; C618 20 3F C6 ?. bcs LC634 ; C61B B0 17 .. rts ; C61D 60 ` ; ---------------------------------------------------------------------------- LC61E: sta VIA2_T2CL ; C61E 8D 88 F8 ... sty VIA2_T2CH ; C621 8C 89 F8 ... bra LC63F ; C624 80 19 .. LC626: php ; C626 08 . sei ; C627 78 x eor #$FF ; C628 49 FF I. sta $041A ; C62A 8D 1A 04 ... tya ; C62D 98 . eor #$FF ; C62E 49 FF I. sta $041B ; C630 8D 1B 04 ... .byte $2C ; C633 2C , LC634: php ; C634 08 . sei ; C635 78 x inc $041A ; C636 EE 1A 04 ... bne LC63E ; C639 D0 03 .. inc $041B ; C63B EE 1B 04 ... LC63E: .byte $2C ; C63E 2C , LC63F: php ; C63F 08 . sei ; C640 78 x lda $041A ; C641 AD 1A 04 ... ora $041B ; C644 0D 1B 04 ... beq LC654 ; C647 F0 0B .. lda #$10 ; C649 A9 10 .. tsb VIA2_ACR ; C64B 0C 8B F8 ... sta VIA2_SR ; C64E 8D 8A F8 ... plp ; C651 28 ( sec ; C652 38 8 rts ; C653 60 ` ; ---------------------------------------------------------------------------- LC654: lda #$10 ; C654 A9 10 .. trb VIA2_ACR ; C656 1C 8B F8 ... plp ; C659 28 ( clc ; C65A 18 . rts ; C65B 60 ` ; ---------------------------------------------------------------------------- LC65C: lda #$A0 ; C65C A9 A0 .. tay ; C65E A8 . jsr LC61E ; C65F 20 1E C6 .. lda #$06 ; C662 A9 06 .. ldy #$00 ; C664 A0 00 .. jmp LC626 ; C666 4C 26 C6 L&. ; ---------------------------------------------------------------------------- ; It seems the following routines will be copied from $0338 to the RAM and ; used from there. Guessed purpose: the ROM itself is not always paged in, so ; we need them to be in RAM. Note about the "dummy writes", those (maybe ...) ; used to set/reset flip-flops to switch on/off mapping of various parts of ; the memories, but dunno what exactly :( ; ---------------------------------------------------- ; My best guess so far: dummy writes to ... ; * $FA00: enables lower parts of KERNAL to be "seen" ; * $FA80: disables the above but enable ROM mapped from $4000 to be seen ; * $FB00: disables all mapped, but the "high area" ; "High area" is the end of the KERNAL & some I/O registers from ; at $FA00 (or probably from $F800?) and needs to be always (?) ; seen. ; ---------------------------------------------------- ; This will be $0338 in RAM. It's even used by BASIC for example, the guessed ; purpose: allow to use RAM for BASIC even at an area where there is BASIC ; ROM paged in (from $4000) during its execution. $033C will be the RAM zp ; loc of LDA (zp),Y op. LC669: sta MMU_MODE_RAM ; C669 8D 00 FB ... lda ($00),y ; C66C B1 00 .. sta MMU_MODE_APPL ; C66E 8D 80 FA ... rts ; C671 60 ` ; ---------------------------------------------------------------------------- ; This will be $0341 in RAM. ; $0345 will be the RAM zp loc of STA (zp),Y op. ; This routine is also used by BASIC. ; It seems ZP loc of STA is modified in RAM. sta MMU_MODE_RAM ; C672 8D 00 FB ... sta ($00),y ; C675 91 00 .. sta MMU_MODE_APPL ; C677 8D 80 FA ... rts ; C67A 60 ` ; ---------------------------------------------------------------------------- ; This will be $034A in RAM. ; $034E will be the RAM zp loc of LDA (zp),Y op. sta MMU_MODE_RAM ; C67B 8D 00 FB ... lda ($00),y ; C67E B1 00 .. sta MMU_MODE_KERN ; C680 8D 00 FA ... rts ; C683 60 ` ; ---------------------------------------------------------------------------- ; This will be $0353 in RAM. ; $0357 will be the RAM zp loc of LDA (zp),Y op. sta MMU_MODE_APPL ; C684 8D 80 FA ... lda ($00),y ; C687 B1 00 .. sta MMU_MODE_KERN ; C689 8D 00 FA ... rts ; C68C 60 ` ; ---------------------------------------------------------------------------- ; This will be $035C in RAM. ; $0360 will be the RAM zp loc of STA (zp),Y op. sta MMU_MODE_RAM ; C68D 8D 00 FB ... sta ($00),y ; C690 91 00 .. sta MMU_MODE_KERN ; C692 8D 00 FA ... rts ; C695 60 ` ; ---------------------------------------------------------------------------- KL_RESTOR: ldx #$90 ; C696 A2 90 .. ldy #$FA ; C698 A0 FA .. clc ; C69A 18 . KL_VECTOR: php ; C69B 08 . sei ; C69C 78 x stx FNptr_lo ; C69D 86 AE .. sty FNptr_hi ; C69F 84 AF .. ; This copies the routines from $C669 into the RAM from $338. ldx #$2C ; C6A1 A2 2C ., LC6A3: lda LC669,x ; C6A3 BD 69 C6 .i. sta FROM_C669,x ; C6A6 9D 38 03 .8. dex ; C6A9 CA . bpl LC6A3 ; C6AA 10 F7 .. ldy #$AE ; C6AC A0 AE .. sty $034E ; C6AE 8C 4E 03 .N. sty $0360 ; C6B1 8C 60 03 .`. ldy #$23 ; C6B4 A0 23 .# LC6B6: lda RAMVEC_IRQ,y ; C6B6 B9 14 03 ... bcs LC6BE ; C6B9 B0 03 .. jsr FROM_C67B ; C6BB 20 4A 03 J. LC6BE: sta RAMVEC_IRQ,y ; C6BE 99 14 03 ... bcc LC6C6 ; C6C1 90 03 .. jsr FROM_C68D ; C6C3 20 5C 03 \. LC6C6: dey ; C6C6 88 . bpl LC6B6 ; C6C7 10 ED .. plp ; C6C9 28 ( rts ; C6CA 60 ` ; ---------------------------------------------------------------------------- LC6CB: sei ; C6CB 78 x ldx #$23 ; C6CC A2 23 .# LC6CE: ldy RAMVEC_IRQ,x ; C6CE BC 14 03 ... lda $03C3,x ; C6D1 BD C3 03 ... sta RAMVEC_IRQ,x ; C6D4 9D 14 03 ... tya ; C6D7 98 . sta $03C3,x ; C6D8 9D C3 03 ... dex ; C6DB CA . bpl LC6CE ; C6DC 10 F0 .. rts ; C6DE 60 ` ; ---------------------------------------------------------------------------- LC6DF: stz L03B7 ; C6DF 9C B7 03 ... stz $03A1 ; C6E2 9C A1 03 ... ldx #$FF ; C6E5 A2 FF .. stx $03BB ; C6E7 8E BB 03 ... txs ; C6EA 9A . ldx #$00 ; C6EB A2 00 .. jsr LD230 ; C6ED 20 30 D2 0. jsr ShowInLineText ; C6F0 20 5B FB [. .byte $0D ; C6F3 0D . .byte "COMMODORE LCD MONITOR" ; C6F4 43 4F 4D 4D 4F 44 4F 52 COMMODOR ; C6FC 45 20 4C 43 44 20 4D 4F E LCD MO ; C704 4E 49 54 4F 52 NITOR .byte $00 ; C709 00 . ; ---------------------------------------------------------------------------- bra LC748 ; C70A 80 3C .< LC70C: cld ; C70C D8 . ldx #$05 ; C70D A2 05 .. LC70F: pla ; C70F 68 h sta $03B5,x ; C710 9D B5 03 ... dex ; C713 CA . bpl LC70F ; C714 10 F9 .. jsr LB2E4 ; C716 20 E4 B2 .. jsr KL_RESTOR ; C719 20 96 C6 .. jsr LFD2A ; C71C 20 2A FD *. tsx ; C71F BA . stx $03BB ; C720 8E BB 03 ... cpx #$0A ; C723 E0 0A .. bcs LC72A ; C725 B0 03 .. ldx #$FF ; C727 A2 FF .. txs ; C729 9A . LC72A: php ; C72A 08 . jsr ShowInLineText ; C72B 20 5B FB [. .byte $0D ; C72E 0D . .byte "BREAK" ; C72F 42 52 45 41 4B BREAK .byte $00 ; C734 00 . ; ---------------------------------------------------------------------------- plp ; C735 28 ( bcs LC748 ; C736 B0 10 .. jsr ShowInLineText ; C738 20 5B FB [. .byte " STACK RESET" ; C73B 20 53 54 41 43 4B 20 52 STACK R ; C743 45 53 45 54 ESET .byte $00 ; C747 00 . ; ---------------------------------------------------------------------------- LC748: lda #$C0 ; C748 A9 C0 .. sta KernMsg ; C74A 8D 83 03 ... lda #$00 ; C74D A9 00 .. sta $CB ; C74F 85 CB .. sta $CC ; C751 85 CC .. cli ; C753 58 X LC754: jsr LCC13 ; C754 20 13 CC .. bra LC767 ; C757 80 0E .. LC759: jsr KL_RESTOR ; C759 20 96 C6 .. jsr LFD2A ; C75C 20 2A FD *. jsr ShowInLineText ; C75F 20 5B FB [. .byte $1D,$1D ; C762 1D 1D .. .byte ":?" ; C764 3A 3F :? .byte $00 ; C766 00 . ; ---------------------------------------------------------------------------- LC767: jsr PrintNewLine ; C767 20 D3 CA .. stz $CD ; C76A 64 CD d. ldx #$00 ; C76C A2 00 .. LC76E: jsr LFD3D ; C76E 20 3D FD =. sta L0470,x ; C771 9D 70 04 .p. stx $CE ; C774 86 CE .. inx ; C776 E8 . cpx #$50 ; C777 E0 50 .P beq LC77F ; C779 F0 04 .. cmp #$0D ; C77B C9 0D .. bne LC76E ; C77D D0 EF .. LC77F: jsr LCAFD ; C77F 20 FD CA .. beq LC767 ; C782 F0 E3 .. cmp #$20 ; C784 C9 20 . beq LC77F ; C786 F0 F7 .. ldx #$10 ; C788 A2 10 .. LC78A: cmp LC88C,x ; C78A DD 8C C8 ... beq LC794 ; C78D F0 05 .. dex ; C78F CA . bpl LC78A ; C790 10 F8 .. bmi LC759 ; C792 30 C5 0. LC794: cpx #$0E ; C794 E0 0E .. bcs LC7A6 ; C796 B0 0E .. txa ; C798 8A . asl a ; C799 0A . tax ; C79A AA . lda LC89E,x ; C79B BD 9E C8 ... pha ; C79E 48 H lda LC89D,x ; C79F BD 9D C8 ... pha ; C7A2 48 H jmp LCA75 ; C7A3 4C 75 CA Lu. ; ---------------------------------------------------------------------------- LC7A6: sta $039F ; C7A6 8D 9F 03 ... jsr PrintNewLine ; C7A9 20 D3 CA .. jmp LC9B9 ; C7AC 4C B9 C9 L.. ; ---------------------------------------------------------------------------- bcs LC7B9 ; C7AF B0 08 .. jsr LCB19 ; C7B1 20 19 CB .. jsr LCA75 ; C7B4 20 75 CA u. bcc LC7BF ; C7B7 90 06 .. LC7B9: lda #$07 ; C7B9 A9 07 .. sta $C7 ; C7BB 85 C7 .. bne LC7D0 ; C7BD D0 11 .. LC7BF: jsr LCB22 ; C7BF 20 22 CB ". lsr a ; C7C2 4A J ror $C7 ; C7C3 66 C7 f. lsr a ; C7C5 4A J ror $C7 ; C7C6 66 C7 f. lsr a ; C7C8 4A J ror $C7 ; C7C9 66 C7 f. lsr a ; C7CB 4A J ror $C7 ; C7CC 66 C7 f. sta $C8 ; C7CE 85 C8 .. LC7D0: jsr LFDB9 ; C7D0 20 B9 FD .. beq LC7E2 ; C7D3 F0 0D .. jsr LC8B9 ; C7D5 20 B9 C8 .. lda #$10 ; C7D8 A9 10 .. jsr LCB5D ; C7DA 20 5D CB ]. jsr LCB30 ; C7DD 20 30 CB 0. bcs LC7D0 ; C7E0 B0 EE .. LC7E2: jmp LC767 ; C7E2 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- bcs LC81B ; C7E5 B0 34 .4 lda $C7 ; C7E7 A5 C7 .. ldy $C8 ; C7E9 A4 C8 .. sta $03B6 ; C7EB 8D B6 03 ... sty $03B5 ; C7EE 8C B5 03 ... ldy #$00 ; C7F1 A0 00 .. LC7F3: jsr LCA75 ; C7F3 20 75 CA u. bcs LC81B ; C7F6 B0 23 .# lda $C7 ; C7F8 A5 C7 .. sta L03B7,y ; C7FA 99 B7 03 ... iny ; C7FD C8 . cpy #$05 ; C7FE C0 05 .. bcc LC7F3 ; C800 90 F1 .. jsr LCA75 ; C802 20 75 CA u. bcs LC81B ; C805 B0 14 .. lda $C7 ; C807 A5 C7 .. bne LC810 ; C809 D0 05 .. stz $03A1 ; C80B 9C A1 03 ... bra LC81B ; C80E 80 0B .. LC810: cmp #$01 ; C810 C9 01 .. beq LC818 ; C812 F0 04 .. cmp #$02 ; C814 C9 02 .. bne LC81B ; C816 D0 03 .. LC818: sta $03A1 ; C818 8D A1 03 ... LC81B: jsr ShowInLineText ; C81B 20 5B FB [. .byte $91,$91,$00 ; C81E 91 91 00 ... ; ---------------------------------------------------------------------------- jmp LC754 ; C821 4C 54 C7 LT. ; ---------------------------------------------------------------------------- bcs LC83A ; C824 B0 14 .. jsr LCB19 ; C826 20 19 CB .. ldy #$00 ; C829 A0 00 .. LC82B: jsr LCA75 ; C82B 20 75 CA u. bcs LC83A ; C82E B0 0A .. lda $C7 ; C830 A5 C7 .. jsr LCC4B ; C832 20 4B CC K. iny ; C835 C8 . cpy #$10 ; C836 C0 10 .. bcc LC82B ; C838 90 F1 .. LC83A: jsr LB220 ; C83A 20 20 B2 . lda #$91 ; C83D A9 91 .. jsr ShowChar_ ; C83F 20 B3 AB .. jsr LC8B9 ; C842 20 B9 C8 .. jmp LC767 ; C845 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- bcs LC854 ; C848 B0 0A .. lda $C7 ; C84A A5 C7 .. sta $03B6 ; C84C 8D B6 03 ... lda $C8 ; C84F A5 C8 .. sta $03B5 ; C851 8D B5 03 ... LC854: jsr PrintNewLine ; C854 20 D3 CA .. ldx $03BB ; C857 AE BB 03 ... txs ; C85A 9A . ldx $03B5 ; C85B AE B5 03 ... ldy $03B6 ; C85E AC B6 03 ... bne LC864 ; C861 D0 01 .. dex ; C863 CA . LC864: dey ; C864 88 . phx ; C865 DA . phy ; C866 5A Z ldx $03A1 ; C867 AE A1 03 ... cpx #$03 ; C86A E0 03 .. bcc LC870 ; C86C 90 02 .. ldx #$02 ; C86E A2 02 .. LC870: lda LC886,x ; C870 BD 86 C8 ... pha ; C873 48 H lda LC889,x ; C874 BD 89 C8 ... pha ; C877 48 H lda L03B7 ; C878 AD B7 03 ... pha ; C87B 48 H ldx $03B9 ; C87C AE B9 03 ... ldy $03BA ; C87F AC BA 03 ... lda $03B8 ; C882 AD B8 03 ... rti ; C885 40 @ ; ---------------------------------------------------------------------------- LC886: .byte $FD,$FD,$FD ; C886 FD FD FD ... LC889: .byte "~zf" ; C889 7E 7A 66 ~zf LC88C: .byte "XMRGTCDA.HF>;WLSV" ; C88C 58 4D 52 47 54 43 44 41 XMRGTCDA ; C894 2E 48 46 3E 3B 57 4C 53 .HF>;WLS ; C89C 56 V LC89D: .byte "%" ; C89D 25 % LC89E: .byte $84,$AE,$C7 ; C89E 84 AE C7 ... .byte "S" ; C8A1 53 S .byte $C7 ; C8A2 C7 . .byte "G" ; C8A3 47 G .byte $C8,$FD,$C8,$F5,$C8,$8E,$CC ; C8A4 C8 FD C8 F5 C8 8E CC ....... .byte "3" ; C8AB 33 3 .byte $CF ; C8AC CF . .byte "3" ; C8AD 33 3 .byte $CF ; C8AE CF . .byte "T" ; C8AF 54 T .byte $C9 ; C8B0 C9 . .byte "S" ; C8B1 53 S .byte $CA ; C8B2 CA . .byte "#" ; C8B3 23 # .byte $C8,$E4,$C7,$D0,$D0 ; C8B4 C8 E4 C7 D0 D0 ..... ; ---------------------------------------------------------------------------- LC8B9: jsr ShowInLineText ; C8B9 20 5B FB [. .byte $0D ; C8BC 0D . .byte ">" ; C8BD 3E > .byte $00 ; C8BE 00 . .byte " " ; C8BF 20 .byte $C3,$CA,$A0,$00 ; C8C0 C3 CA A0 00 .... ; ---------------------------------------------------------------------------- LC8C4: tya ; C8C4 98 . and #$03 ; C8C5 29 03 ). bne LC8CF ; C8C7 D0 06 .. jsr ShowInLineText ; C8C9 20 5B FB [. .byte " " ; C8CC 20 20 .byte $00 ; C8CE 00 . ; ---------------------------------------------------------------------------- LC8CF: jsr LCC67 ; C8CF 20 67 CC g. jsr PrintHexByteAndSpace ; C8D2 20 CD CA .. iny ; C8D5 C8 . cpy #$10 ; C8D6 C0 10 .. bcc LC8C4 ; C8D8 90 EA .. jsr ShowInLineText ; C8DA 20 5B FB [. .byte ":" ; C8DD 3A : .byte $12,$00 ; C8DE 12 00 .. ; ---------------------------------------------------------------------------- ldy #$00 ; C8E0 A0 00 .. LC8E2: jsr LCC67 ; C8E2 20 67 CC g. and #$7F ; C8E5 29 7F ). cmp #$20 ; C8E7 C9 20 . bcs LC8ED ; C8E9 B0 02 .. lda #$2E ; C8EB A9 2E .. LC8ED: jsr ShowChar_ ; C8ED 20 B3 AB .. iny ; C8F0 C8 . cpy #$10 ; C8F1 C0 10 .. bcc LC8E2 ; C8F3 90 ED .. rts ; C8F5 60 ` ; ---------------------------------------------------------------------------- stz $D1 ; C8F6 64 D1 d. lda #$00 ; C8F8 A9 00 .. sta $D0 ; C8FA 85 D0 .. bra LC909 ; C8FC 80 0B .. lda #$80 ; C8FE A9 80 .. sta $D0 ; C900 85 D0 .. jsr LCB7E ; C902 20 7E CB ~. bcs LC952 ; C905 B0 4B .K bra LC913 ; C907 80 0A .. LC909: jsr LCB67 ; C909 20 67 CB g. bcs LC952 ; C90C B0 44 .D jsr LCA75 ; C90E 20 75 CA u. bcs LC952 ; C911 B0 3F .? LC913: jsr PrintNewLine ; C913 20 D3 CA .. ldy #$00 ; C916 A0 00 .. LC918: jsr LCC67 ; C918 20 67 CC g. bit $D0 ; C91B 24 D0 $. bpl LC922 ; C91D 10 03 .. jsr LCC46 ; C91F 20 46 CC F. LC922: pha ; C922 48 H jsr LCC6A ; C923 20 6A CC j. sta $D2 ; C926 85 D2 .. pla ; C928 68 h cmp $D2 ; C929 C5 D2 .. beq LC935 ; C92B F0 08 .. jsr LFDB9 ; C92D 20 B9 FD .. beq LC94F ; C930 F0 1D .. jsr PrintHexWordAndSpaceFromMem ; C932 20 C3 CA .. LC935: lda $D1 ; C935 A5 D1 .. beq LC941 ; C937 F0 08 .. jsr LCB30 ; C939 20 30 CB 0. jsr LCB52 ; C93C 20 52 CB R. bra LC94A ; C93F 80 09 .. LC941: inc $C7 ; C941 E6 C7 .. bne LC947 ; C943 D0 02 .. inc $C8 ; C945 E6 C8 .. LC947: jsr LCB5B ; C947 20 5B CB [. LC94A: jsr LCB44 ; C94A 20 44 CB D. bcs LC918 ; C94D B0 C9 .. LC94F: jmp LC767 ; C94F 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LC952: jmp LC759 ; C952 4C 59 C7 LY. ; ---------------------------------------------------------------------------- .byte $20 ; C955 20 .byte $67 ; C956 67 g LC957: .byte $CB ; C957 CB . bcs LC9B6 ; C958 B0 5C .\ ldy #$00 ; C95A A0 00 .. jsr LCAFD ; C95C 20 FD CA .. cmp #$27 ; C95F C9 27 .' bne LC975 ; C961 D0 12 .. jsr LCAFD ; C963 20 FD CA .. LC966: sta $0450,y ; C966 99 50 04 .P. iny ; C969 C8 . jsr LCAFD ; C96A 20 FD CA .. beq LC98A ; C96D F0 1B .. cpy #$20 ; C96F C0 20 . bne LC966 ; C971 D0 F3 .. beq LC98A ; C973 F0 15 .. LC975: sty $03A0 ; C975 8C A0 03 ... jsr LCA73 ; C978 20 73 CA s. LC97B: lda $C7 ; C97B A5 C7 .. sta $0450,y ; C97D 99 50 04 .P. iny ; C980 C8 . jsr LCA75 ; C981 20 75 CA u. bcs LC98A ; C984 B0 04 .. cpy #$20 ; C986 C0 20 . bne LC97B ; C988 D0 F1 .. LC98A: sty $039F ; C98A 8C 9F 03 ... jsr PrintNewLine ; C98D 20 D3 CA .. LC990: ldx #$00 ; C990 A2 00 .. ldy #$00 ; C992 A0 00 .. LC994: jsr LCC67 ; C994 20 67 CC g. cmp $0450,x ; C997 DD 50 04 .P. bne LC9AB ; C99A D0 0F .. iny ; C99C C8 . inx ; C99D E8 . cpx $039F ; C99E EC 9F 03 ... bne LC994 ; C9A1 D0 F1 .. jsr LFDB9 ; C9A3 20 B9 FD .. beq LC9B3 ; C9A6 F0 0B .. jsr PrintHexWordAndSpaceFromMem ; C9A8 20 C3 CA .. LC9AB: jsr LCB5B ; C9AB 20 5B CB [. jsr LCB44 ; C9AE 20 44 CB D. bcs LC990 ; C9B1 B0 DD .. LC9B3: jmp LC767 ; C9B3 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LC9B6: jmp LC759 ; C9B6 4C 59 C7 LY. ; ---------------------------------------------------------------------------- LC9B9: ldy #$01 ; C9B9 A0 01 .. sty LFSDevNum ; C9BB 84 C5 .. sty LFS2ndAddr ; C9BD 84 C4 .. dey ; C9BF 88 . sty FNlength ; C9C0 8C 87 03 ... sty ST ; C9C3 84 BA .. sty $0406 ; C9C5 8C 06 04 ... lda #$04 ; C9C8 A9 04 .. sta FNptr_hi ; C9CA 85 AF .. lda #$50 ; C9CC A9 50 .P sta FNptr_lo ; C9CE 85 AE .. LC9D0: jsr LCAFD ; C9D0 20 FD CA .. beq LCA33 ; C9D3 F0 5E .^ cmp #$20 ; C9D5 C9 20 . beq LC9D0 ; C9D7 F0 F7 .. cmp #$22 ; C9D9 C9 22 ." bne LC9F5 ; C9DB D0 18 .. ldx $CD ; C9DD A6 CD .. LC9DF: cpx $CE ; C9DF E4 CE .. bcs LCA33 ; C9E1 B0 50 .P lda L0470,x ; C9E3 BD 70 04 .p. inx ; C9E6 E8 . cmp #$22 ; C9E7 C9 22 ." beq LC9F8 ; C9E9 F0 0D .. sta (FNptr_lo),y ; C9EB 91 AE .. inc FNlength ; C9ED EE 87 03 ... iny ; C9F0 C8 . cpy #$11 ; C9F1 C0 11 .. bcc LC9DF ; C9F3 90 EA .. LC9F5: jmp LC759 ; C9F5 4C 59 C7 LY. ; ---------------------------------------------------------------------------- LC9F8: stx $CD ; C9F8 86 CD .. jsr LCAFD ; C9FA 20 FD CA .. jsr LCA75 ; C9FD 20 75 CA u. bcs LCA33 ; CA00 B0 31 .1 lda $C7 ; CA02 A5 C7 .. beq LC9F5 ; CA04 F0 EF .. cmp #$03 ; CA06 C9 03 .. beq LC9F5 ; CA08 F0 EB .. sta LFSDevNum ; CA0A 85 C5 .. jsr LCA75 ; CA0C 20 75 CA u. bcs LCA33 ; CA0F B0 22 ." jsr LCB19 ; CA11 20 19 CB .. jsr LCA75 ; CA14 20 75 CA u. bcs LC9F5 ; CA17 B0 DC .. jsr PrintNewLine ; CA19 20 D3 CA .. ldx $C7 ; CA1C A6 C7 .. ldy $C8 ; CA1E A4 C8 .. lda $039F ; CA20 AD 9F 03 ... cmp #$53 ; CA23 C9 53 .S bne LC9F5 ; CA25 D0 CE .. lda #$00 ; CA27 A9 00 .. sta LFS2ndAddr ; CA29 85 C4 .. lda #$CB ; CA2B A9 CB .. jsr LFD82 ; CA2D 20 82 FD .. LCA30: jmp LC767 ; CA30 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LCA33: lda $039F ; CA33 AD 9F 03 ... cmp #$56 ; CA36 C9 56 .V beq LCA40 ; CA38 F0 06 .. cmp #$4C ; CA3A C9 4C .L bne LC9F5 ; CA3C D0 B7 .. lda #$00 ; CA3E A9 00 .. LCA40: jsr LFD63 ; CA40 20 63 FD c. lda ST ; CA43 A5 BA .. and #$10 ; CA45 29 10 ). beq LCA30 ; CA47 F0 E7 .. jsr ShowInLineText ; CA49 20 5B FB [. .byte "ERROR" ; CA4C 45 52 52 4F 52 ERROR .byte $00 ; CA51 00 . ; ---------------------------------------------------------------------------- bra LCA30 ; CA52 80 DC .. jsr LCB67 ; CA54 20 67 CB g. bcs LCA70 ; CA57 B0 17 .. jsr LCA75 ; CA59 20 75 CA u. bcs LCA70 ; CA5C B0 12 .. ldy #$00 ; CA5E A0 00 .. LCA60: lda $C7 ; CA60 A5 C7 .. jsr LCC4B ; CA62 20 4B CC K. jsr LCB5B ; CA65 20 5B CB [. jsr LCB44 ; CA68 20 44 CB D. bcs LCA60 ; CA6B B0 F3 .. jmp LC767 ; CA6D 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LCA70: jmp LC759 ; CA70 4C 59 C7 LY. ; ---------------------------------------------------------------------------- LCA73: dec $CD ; CA73 C6 CD .. LCA75: lda #$00 ; CA75 A9 00 .. sta $C7 ; CA77 85 C7 .. sta $C8 ; CA79 85 C8 .. sta $039E ; CA7B 8D 9E 03 ... LCA7E: jsr LCAFD ; CA7E 20 FD CA .. beq LCABD ; CA81 F0 3A .: cmp #$20 ; CA83 C9 20 . beq LCA7E ; CA85 F0 F7 .. LCA87: cmp #$20 ; CA87 C9 20 . beq LCAB9 ; CA89 F0 2E .. cmp #$2C ; CA8B C9 2C ., beq LCAB9 ; CA8D F0 2A .* cmp #$30 ; CA8F C9 30 .0 bcc LCABE ; CA91 90 2B .+ cmp #$47 ; CA93 C9 47 .G bcs LCABE ; CA95 B0 27 .' cmp #$3A ; CA97 C9 3A .: bcc LCAA1 ; CA99 90 06 .. cmp #$41 ; CA9B C9 41 .A bcc LCABE ; CA9D 90 1F .. sbc #$08 ; CA9F E9 08 .. LCAA1: sbc #$2F ; CAA1 E9 2F ./ asl a ; CAA3 0A . asl a ; CAA4 0A . asl a ; CAA5 0A . asl a ; CAA6 0A . ldx #$04 ; CAA7 A2 04 .. LCAA9: asl a ; CAA9 0A . rol $C7 ; CAAA 26 C7 &. rol $C8 ; CAAC 26 C8 &. dex ; CAAE CA . bne LCAA9 ; CAAF D0 F8 .. inc $039E ; CAB1 EE 9E 03 ... jsr LCAFD ; CAB4 20 FD CA .. bne LCA87 ; CAB7 D0 CE .. LCAB9: lda $039E ; CAB9 AD 9E 03 ... clc ; CABC 18 . LCABD: rts ; CABD 60 ` ; ---------------------------------------------------------------------------- LCABE: pla ; CABE 68 h pla ; CABF 68 h jmp LC759 ; CAC0 4C 59 C7 LY. ; ---------------------------------------------------------------------------- PrintHexWordAndSpaceFromMem: ; Prints a hex word given at ZP locs and then a space. ; Input: $CC = high byte, $CB = low byte lda $CB ; CAC3 A5 CB .. ldx $CC ; CAC5 A6 CC .. PrintHexWordAndSpace: ; Prints a hex word and then a space. ; Input: X = high byte, A = low byte pha ; CAC7 48 H txa ; CAC8 8A . jsr PrintHexByte ; CAC9 20 D8 CA .. pla ; CACC 68 h PrintHexByteAndSpace: jsr PrintHexByte ; CACD 20 D8 CA .. PrintSpace: lda #$20 ; CAD0 A9 20 . .byte $2C ; CAD2 2C , PrintNewLine: lda #$0D ; CAD3 A9 0D .. jmp ShowChar_ ; CAD5 4C B3 AB L.. ; ---------------------------------------------------------------------------- PrintHexByte: ; Byte as hex print function, prints byte in A as hex number. ; X is saved to $39D and loaded back then. stx $039D ; CAD8 8E 9D 03 ... jsr Byte2HexChars ; CADB 20 E8 CA .. jsr ShowChar_ ; CADE 20 B3 AB .. txa ; CAE1 8A . ldx $039D ; CAE2 AE 9D 03 ... jmp ShowChar_ ; CAE5 4C B3 AB L.. ; ---------------------------------------------------------------------------- Byte2HexChars: ; Byte to hex converter ; Input: A = byte ; Output: A = high nibble hex ASCII digit, X = low nibble hex ASCII digit pha ; CAE8 48 H jsr Nibble2HexChar ; CAE9 20 F2 CA .. tax ; CAEC AA . pla ; CAED 68 h lsr a ; CAEE 4A J lsr a ; CAEF 4A J lsr a ; CAF0 4A J lsr a ; CAF1 4A J Nibble2HexChar: ; Nibble to hex converter ; Input: A = byte (low nibble is used only) ; Output: A = hex ASCII digit and #$0F ; CAF2 29 0F ). cmp #$0A ; CAF4 C9 0A .. bcc LCAFA ; CAF6 90 02 .. adc #$06 ; CAF8 69 06 i. LCAFA: adc #$30 ; CAFA 69 30 i0 rts ; CAFC 60 ` ; ---------------------------------------------------------------------------- LCAFD: stx $039D ; CAFD 8E 9D 03 ... ldx $CD ; CB00 A6 CD .. cpx $CE ; CB02 E4 CE .. bcs LCB15 ; CB04 B0 0F .. lda L0470,x ; CB06 BD 70 04 .p. cmp #$3A ; CB09 C9 3A .: beq LCB15 ; CB0B F0 08 .. inc $CD ; CB0D E6 CD .. LCB0F: php ; CB0F 08 . ldx $039D ; CB10 AE 9D 03 ... plp ; CB13 28 ( rts ; CB14 60 ` ; ---------------------------------------------------------------------------- LCB15: lda #$00 ; CB15 A9 00 .. beq LCB0F ; CB17 F0 F6 .. LCB19: lda $C7 ; CB19 A5 C7 .. sta $CB ; CB1B 85 CB .. lda $C8 ; CB1D A5 C8 .. sta $CC ; CB1F 85 CC .. rts ; CB21 60 ` ; ---------------------------------------------------------------------------- LCB22: sec ; CB22 38 8 lda $C7 ; CB23 A5 C7 .. sbc $CB ; CB25 E5 CB .. sta $C7 ; CB27 85 C7 .. lda $C8 ; CB29 A5 C8 .. sbc $CC ; CB2B E5 CC .. sta $C8 ; CB2D 85 C8 .. rts ; CB2F 60 ` ; ---------------------------------------------------------------------------- LCB30: lda #$01 ; CB30 A9 01 .. LCB32: sta $039D ; CB32 8D 9D 03 ... sec ; CB35 38 8 lda $C7 ; CB36 A5 C7 .. sbc $039D ; CB38 ED 9D 03 ... sta $C7 ; CB3B 85 C7 .. lda $C8 ; CB3D A5 C8 .. sbc #$00 ; CB3F E9 00 .. sta $C8 ; CB41 85 C8 .. rts ; CB43 60 ` ; ---------------------------------------------------------------------------- LCB44: sec ; CB44 38 8 lda $C9 ; CB45 A5 C9 .. sbc #$01 ; CB47 E9 01 .. sta $C9 ; CB49 85 C9 .. lda $CA ; CB4B A5 CA .. sbc #$00 ; CB4D E9 00 .. sta $CA ; CB4F 85 CA .. rts ; CB51 60 ` ; ---------------------------------------------------------------------------- LCB52: lda $CB ; CB52 A5 CB .. bne LCB58 ; CB54 D0 02 .. dec $CC ; CB56 C6 CC .. LCB58: dec $CB ; CB58 C6 CB .. rts ; CB5A 60 ` ; ---------------------------------------------------------------------------- LCB5B: lda #$01 ; CB5B A9 01 .. LCB5D: clc ; CB5D 18 . adc $CB ; CB5E 65 CB e. sta $CB ; CB60 85 CB .. bcc LCB66 ; CB62 90 02 .. inc $CC ; CB64 E6 CC .. LCB66: rts ; CB66 60 ` ; ---------------------------------------------------------------------------- LCB67: bcs LCB7D ; CB67 B0 14 .. jsr LCB19 ; CB69 20 19 CB .. jsr LCA75 ; CB6C 20 75 CA u. bcs LCB7D ; CB6F B0 0C .. jsr LCB22 ; CB71 20 22 CB ". lda $C7 ; CB74 A5 C7 .. sta $C9 ; CB76 85 C9 .. lda $C8 ; CB78 A5 C8 .. sta $CA ; CB7A 85 CA .. clc ; CB7C 18 . LCB7D: rts ; CB7D 60 ` ; ---------------------------------------------------------------------------- LCB7E: bcs LCBE0 ; CB7E B0 60 .` jsr LCB19 ; CB80 20 19 CB .. jsr LCA75 ; CB83 20 75 CA u. bcs LCBE0 ; CB86 B0 58 .X lda $C7 ; CB88 A5 C7 .. sta $D2 ; CB8A 85 D2 .. lda $C8 ; CB8C A5 C8 .. sta $D3 ; CB8E 85 D3 .. jsr LCA75 ; CB90 20 75 CA u. lda $C8 ; CB93 A5 C8 .. pha ; CB95 48 H lda $C7 ; CB96 A5 C7 .. pha ; CB98 48 H cmp $CB ; CB99 C5 CB .. bcc LCBAB ; CB9B 90 0E .. bne LCBA5 ; CB9D D0 06 .. lda $C8 ; CB9F A5 C8 .. cmp $CC ; CBA1 C5 CC .. bcc LCBAB ; CBA3 90 06 .. LCBA5: lda #$01 ; CBA5 A9 01 .. sta $D1 ; CBA7 85 D1 .. bra LCBAD ; CBA9 80 02 .. LCBAB: stz $D1 ; CBAB 64 D1 d. LCBAD: lda $D2 ; CBAD A5 D2 .. sta $C7 ; CBAF 85 C7 .. lda $D3 ; CBB1 A5 D3 .. sta $C8 ; CBB3 85 C8 .. jsr LCB22 ; CBB5 20 22 CB ". lda $C7 ; CBB8 A5 C7 .. sta $C9 ; CBBA 85 C9 .. lda $C8 ; CBBC A5 C8 .. sta $CA ; CBBE 85 CA .. lda $D1 ; CBC0 A5 D1 .. beq LCBD9 ; CBC2 F0 15 .. lda $D2 ; CBC4 A5 D2 .. sta $CB ; CBC6 85 CB .. lda $D3 ; CBC8 A5 D3 .. sta $CC ; CBCA 85 CC .. pla ; CBCC 68 h clc ; CBCD 18 . adc $C9 ; CBCE 65 C9 e. sta $C7 ; CBD0 85 C7 .. pla ; CBD2 68 h adc $CA ; CBD3 65 CA e. sta $C8 ; CBD5 85 C8 .. clc ; CBD7 18 . rts ; CBD8 60 ` ; ---------------------------------------------------------------------------- LCBD9: pla ; CBD9 68 h sta $C7 ; CBDA 85 C7 .. pla ; CBDC 68 h sta $C8 ; CBDD 85 C8 .. clc ; CBDF 18 . LCBE0: rts ; CBE0 60 ` ; ---------------------------------------------------------------------------- LCBE1: jsr ShowInLineText ; CBE1 20 5B FB [. .byte $0D ; CBE4 0D . .byte " PC SR AC XR YR SP MODE OPCO"; CBE5 20 20 20 50 43 20 20 53 PC S ; CBED 52 20 41 43 20 58 52 20 R AC XR ; CBF5 59 52 20 53 50 20 4D 4F YR SP MO ; CBFD 44 45 20 4F 50 43 4F DE OPCO .byte "DE MNEMONIC" ; CC04 44 45 20 20 20 4D 4E 45 DE MNE ; CC0C 4D 4F 4E 49 43 MONIC .byte $00 ; CC11 00 . ; ---------------------------------------------------------------------------- rts ; CC12 60 ` ; ---------------------------------------------------------------------------- LCC13: jsr LCBE1 ; CC13 20 E1 CB .. jsr ShowInLineText ; CC16 20 5B FB [. .byte $0D ; CC19 0D . .byte "; " ; CC1A 3B 20 ; .byte $00 ; CC1C 00 . ; ---------------------------------------------------------------------------- ; Prints PC as hex word, and registers? lda $03B5 ; CC1D AD B5 03 ... jsr PrintHexByte ; CC20 20 D8 CA .. ldy #$00 ; CC23 A0 00 .. LCC25: lda $03B6,y ; CC25 B9 B6 03 ... jsr PrintHexByteAndSpace ; CC28 20 CD CA .. iny ; CC2B C8 . cpy #$06 ; CC2C C0 06 .. bcc LCC25 ; CC2E 90 F5 .. jsr PrintSpace ; CC30 20 D0 CA .. lda $03A1 ; CC33 AD A1 03 ... jsr PrintHexByteAndSpace ; CC36 20 CD CA .. lda $03B6 ; CC39 AD B6 03 ... sta $CB ; CC3C 85 CB .. lda $03B5 ; CC3E AD B5 03 ... sta $CC ; CC41 85 CC .. jmp LCCC7 ; CC43 4C C7 CC L.. ; ---------------------------------------------------------------------------- LCC46: pha ; CC46 48 H lda #$C7 ; CC47 A9 C7 .. bra LCC4E ; CC49 80 03 .. LCC4B: pha ; CC4B 48 H LCC4C: lda #$CB ; CC4C A9 CB .. LCC4E: sta $0360 ; CC4E 8D 60 03 .`. sta $0360 ; CC51 8D 60 03 .`. lda $03A1 ; CC54 AD A1 03 ... and #$03 ; CC57 29 03 ). asl a ; CC59 0A . tax ; CC5A AA . pla ; CC5B 68 h jmp (LCC5F,x) ; CC5C 7C 5F CC |_. LCC5F: .addr FROM_C68D ; CC5F 5C 03 \. .addr LFA72 ; CC61 72 FA r. .addr L035F ; CC63 5F 03 _. .addr FROM_C68D ; CC65 5C 03 \. ; ---------------------------------------------------------------------------- LCC67: lda #$CB ; CC67 A9 CB .. .byte $2C ; CC69 2C , LCC6A: lda #$C7 ; CC6A A9 C7 .. .byte $2C ; CC6C 2C , LCC6D: lda #$D0 ; CC6D A9 D0 .. phx ; CC6F DA . jsr LCC77 ; CC70 20 77 CC w. plx ; CC73 FA . eor #$00 ; CC74 49 00 I. rts ; CC76 60 ` ; ---------------------------------------------------------------------------- LCC77: sta $034E ; CC77 8D 4E 03 .N. sta $0357 ; CC7A 8D 57 03 .W. lda $03A1 ; CC7D AD A1 03 ... and #$03 ; CC80 29 03 ). asl a ; CC82 0A . tax ; CC83 AA . jmp (LCC87,x) ; CC84 7C 87 CC |.. LCC87: .addr FROM_C67B ; CC87 4A 03 J. .addr FROM_C684 ; CC89 53 03 S. .addr L034D ; CC8B 4D 03 M. .addr FROM_C67B ; CC8D 4A 03 J. ; ---------------------------------------------------------------------------- bcs LCC99 ; CC8F B0 08 .. jsr LCB19 ; CC91 20 19 CB .. jsr LCA75 ; CC94 20 75 CA u. bcc LCC9F ; CC97 90 06 .. LCC99: lda #$14 ; CC99 A9 14 .. sta $C7 ; CC9B 85 C7 .. bne LCCA2 ; CC9D D0 03 .. LCC9F: jsr LCB22 ; CC9F 20 22 CB ". LCCA2: jsr PrintNewLine ; CCA2 20 D3 CA .. jsr LFDB9 ; CCA5 20 B9 FD .. beq LCCBB ; CCA8 F0 11 .. jsr LCCBE ; CCAA 20 BE CC .. inc $CF ; CCAD E6 CF .. lda $CF ; CCAF A5 CF .. jsr LCB5D ; CCB1 20 5D CB ]. lda $CF ; CCB4 A5 CF .. jsr LCB32 ; CCB6 20 32 CB 2. bcs LCCA2 ; CCB9 B0 E7 .. LCCBB: jmp LC767 ; CCBB 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LCCBE: jsr ShowInLineText ; CCBE 20 5B FB [. .byte ". " ; CCC1 2E 20 . .byte $00 ; CCC3 00 . ; ---------------------------------------------------------------------------- LCCC4: jsr PrintHexWordAndSpaceFromMem ; CCC4 20 C3 CA .. LCCC7: jsr PrintSpace ; CCC7 20 D0 CA .. ldy #$00 ; CCCA A0 00 .. jsr LCC67 ; CCCC 20 67 CC g. sta $03A2 ; CCCF 8D A2 03 ... jsr LCD55 ; CCD2 20 55 CD U. pha ; CCD5 48 H ldx $CF ; CCD6 A6 CF .. inx ; CCD8 E8 . LCCD9: dex ; CCD9 CA . bpl LCCE6 ; CCDA 10 0A .. jsr ShowInLineText ; CCDC 20 5B FB [. .byte " " ; CCDF 20 20 20 .byte $00 ; CCE2 00 . ; ---------------------------------------------------------------------------- jmp LCCEC ; CCE3 4C EC CC L.. ; ---------------------------------------------------------------------------- LCCE6: jsr LCC67 ; CCE6 20 67 CC g. jsr PrintHexByteAndSpace ; CCE9 20 CD CA .. LCCEC: iny ; CCEC C8 . cpy #$03 ; CCED C0 03 .. bcc LCCD9 ; CCEF 90 E8 .. pla ; CCF1 68 h ldx #$03 ; CCF2 A2 03 .. jsr LCD98 ; CCF4 20 98 CD .. ldx #$06 ; CCF7 A2 06 .. LCCF9: cpx #$03 ; CCF9 E0 03 .. bne LCD11 ; CCFB D0 14 .. ldy $CF ; CCFD A4 CF .. beq LCD11 ; CCFF F0 10 .. LCD01: lda $03B4 ; CD01 AD B4 03 ... cmp #$E8 ; CD04 C9 E8 .. bcs LCD39 ; CD06 B0 31 .1 jsr LCC67 ; CD08 20 67 CC g. jsr PrintHexByte ; CD0B 20 D8 CA .. dey ; CD0E 88 . bne LCD01 ; CD0F D0 F0 .. LCD11: asl $03B4 ; CD11 0E B4 03 ... bcc LCD35 ; CD14 90 1F .. lda LCE12,x ; CD16 BD 12 CE ... jsr ShowChar_ ; CD19 20 B3 AB .. pha ; CD1C 48 H lda $03A2 ; CD1D AD A2 03 ... cmp #$7C ; CD20 C9 7C .| bne LCD2C ; CD22 D0 08 .. pla ; CD24 68 h lda LCE1E,x ; CD25 BD 1E CE ... beq LCD35 ; CD28 F0 0B .. bra LCD32 ; CD2A 80 06 .. LCD2C: pla ; CD2C 68 h LCD2D: lda LCE18,x ; CD2D BD 18 CE ... beq LCD35 ; CD30 F0 03 .. LCD32: jsr ShowChar_ ; CD32 20 B3 AB .. LCD35: dex ; CD35 CA . bne LCCF9 ; CD36 D0 C1 .. rts ; CD38 60 ` ; ---------------------------------------------------------------------------- LCD39: jsr LCC67 ; CD39 20 67 CC g. jsr LCD48 ; CD3C 20 48 CD H. clc ; CD3F 18 . adc #$01 ; CD40 69 01 i. bne LCD45 ; CD42 D0 01 .. inx ; CD44 E8 . LCD45: jmp PrintHexWordAndSpace ; CD45 4C C7 CA L.. ; ---------------------------------------------------------------------------- LCD48: ldx $CC ; CD48 A6 CC .. tay ; CD4A A8 . bpl LCD4E ; CD4B 10 01 .. dex ; CD4D CA . LCD4E: sec ; CD4E 38 8 adc $CB ; CD4F 65 CB e. bcc LCD54 ; CD51 90 01 .. inx ; CD53 E8 . LCD54: rts ; CD54 60 ` ; ---------------------------------------------------------------------------- LCD55: lsr a ; CD55 4A J tay ; CD56 A8 . bcc LCD70 ; CD57 90 17 .. lsr a ; CD59 4A J bcs LCD7F ; CD5A B0 23 .# tax ; CD5C AA . cmp #$22 ; CD5D C9 22 ." beq LCD92 ; CD5F F0 31 .1 lsr a ; CD61 4A J lsr a ; CD62 4A J lsr a ; CD63 4A J ora #$80 ; CD64 09 80 .. tay ; CD66 A8 . txa ; CD67 8A . and #$03 ; CD68 29 03 ). bcc LCD6E ; CD6A 90 02 .. adc #$03 ; CD6C 69 03 i. LCD6E: ora #$80 ; CD6E 09 80 .. LCD70: lsr a ; CD70 4A J tax ; CD71 AA . lda LCDBF,x ; CD72 BD BF CD ... bcs LCD7B ; CD75 B0 04 .. lsr a ; CD77 4A J lsr a ; CD78 4A J lsr a ; CD79 4A J lsr a ; CD7A 4A J LCD7B: and #$0F ; CD7B 29 0F ). bne LCD83 ; CD7D D0 04 .. LCD7F: ldy #$88 ; CD7F A0 88 .. lda #$00 ; CD81 A9 00 .. LCD83: tax ; CD83 AA . lda LCE03,x ; CD84 BD 03 CE ... sta $03B4 ; CD87 8D B4 03 ... and #$03 ; CD8A 29 03 ). sta $CF ; CD8C 85 CF .. tya ; CD8E 98 . ldy #$00 ; CD8F A0 00 .. rts ; CD91 60 ` ; ---------------------------------------------------------------------------- LCD92: ldy #$16 ; CD92 A0 16 .. lda #$01 ; CD94 A9 01 .. bra LCD83 ; CD96 80 EB .. LCD98: tay ; CD98 A8 . lda LCEA7,y ; CD99 B9 A7 CE ... tay ; CD9C A8 . lda LCE25,y ; CD9D B9 25 CE .%. sta $C9 ; CDA0 85 C9 .. iny ; CDA2 C8 . lda LCE25,y ; CDA3 B9 25 CE .%. sta $CA ; CDA6 85 CA .. LCDA8: lda #$00 ; CDA8 A9 00 .. ldy #$05 ; CDAA A0 05 .. LCDAC: asl $CA ; CDAC 06 CA .. rol $C9 ; CDAE 26 C9 &. rol a ; CDB0 2A * dey ; CDB1 88 . bne LCDAC ; CDB2 D0 F8 .. adc #$3F ; CDB4 69 3F i? jsr ShowChar_ ; CDB6 20 B3 AB .. dex ; CDB9 CA . bne LCDA8 ; CDBA D0 EC .. jmp PrintSpace ; CDBC 4C D0 CA L.. ; ---------------------------------------------------------------------------- LCDBF: .byte $40,$22,$45,$33,$D8,$2F,$45,$39 ; CDBF 40 22 45 33 D8 2F 45 39 @"E3./E9 .byte $30,$22,$45,$33,$D8,$FF,$45,$99 ; CDC7 30 22 45 33 D8 FF 45 99 0"E3..E. .byte $40,$02,$45,$33,$D8,$0F,$44,$09 ; CDCF 40 02 45 33 D8 0F 44 09 @.E3..D. .byte $40,$22,$45,$B3,$D8,$FF,$44,$E9 ; CDD7 40 22 45 B3 D8 FF 44 E9 @"E...D. .byte $D0,$22,$44,$33,$D8,$FC,$44,$39 ; CDDF D0 22 44 33 D8 FC 44 39 ."D3..D9 .byte $11,$22,$44,$33,$D8,$FC,$44,$9A ; CDE7 11 22 44 33 D8 FC 44 9A ."D3..D. .byte $10,$22,$44,$33,$D8,$0F,$44,$09 ; CDEF 10 22 44 33 D8 0F 44 09 ."D3..D. .byte $10,$22,$44,$33,$D8,$0F,$44,$09 ; CDF7 10 22 44 33 D8 0F 44 09 ."D3..D. .byte $62,$13,$7F,$A9 ; CDFF 62 13 7F A9 b... LCE03: .byte $00,$21,$81,$82,$00,$00,$59,$4D ; CE03 00 21 81 82 00 00 59 4D .!....YM .byte $49,$92,$86,$4A,$85,$9D,$4E ; CE0B 49 92 86 4A 85 9D 4E I..J..N ; Addressing mode characters for the monitor/(dis)assembler? LCE12: .byte $91,$2C,$29,$2C,$23,$28 ; CE12 91 2C 29 2C 23 28 .,),#( LCE18: .byte $24,$59,$00,$58,$24,$24 ; CE18 24 59 00 58 24 24 $Y.X$$ LCE1E: .byte $00,$58,$00,$58,$24,$24,$00 ; CE1E 00 58 00 58 24 24 00 .X.X$$. ; ---------------------------------------------------------------------------- LCE25: ora ($48),y ; CE25 11 48 .H .byte $13 ; CE27 13 . dex ; CE28 CA . ora $1A,x ; CE29 15 1A .. ora $1908,y ; CE2B 19 08 19 ... plp ; CE2E 28 ( ora $1AA4,y ; CE2F 19 A4 1A ... tax ; CE32 AA . .byte $1B ; CE33 1B . sty $1B,x ; CE34 94 1B .. cpy $5A1C ; CE36 CC 1C 5A ..Z trb $1CC4 ; CE39 1C C4 1C ... cld ; CE3C D8 . ora $1DC8,x ; CE3D 1D C8 1D ... inx ; CE40 E8 . .byte $23 ; CE41 23 # pha ; CE42 48 H .byte $23 ; CE43 23 # lsr a ; CE44 4A J .byte $23 ; CE45 23 # .byte $54 ; CE46 54 T .byte $23 ; CE47 23 # ror LA223 ; CE48 6E 23 A2 n#. bit $72 ; CE4B 24 72 $r bit $74 ; CE4D 24 74 $t and #$88 ; CE4F 29 88 ). and #$B2 ; CE51 29 B2 ). and #$B4 ; CE53 29 B4 ). bit $26,x ; CE55 34 26 4& .byte $53 ; CE57 53 S iny ; CE58 C8 . .byte $53 ; CE59 53 S sbc ($53) ; CE5A F2 53 .S .byte $F4 ; CE5C F4 . .byte $5B ; CE5D 5B [ ldx #$5D ; CE5E A2 5D .] rol $69 ; CE60 26 69 &i .byte $44 ; CE62 44 D adc #$72 ; CE63 69 72 ir adc #$74 ; CE65 69 74 it adc $7C26 ; CE67 6D 26 7C m&| .byte $22 ; CE6A 22 " sty LFS2ndAddr ; CE6B 84 C4 .. txa ; CE6D 8A . .byte $44 ; CE6E 44 D txa ; CE6F 8A . .byte $62 ; CE70 62 b txa ; CE71 8A . adc ($8A) ; CE72 72 8A r. stz $8B,x ; CE74 74 8B t. .byte $44 ; CE76 44 D .byte $8B ; CE77 8B . .byte $62 ; CE78 62 b .byte $8B ; CE79 8B . adc ($8B) ; CE7A 72 8B r. stz $9C,x ; CE7C 74 9C t. inc a ; CE7E 1A . stz L9D26 ; CE7F 9C 26 9D .&. .byte $54 ; CE82 54 T sta LA068,x ; CE83 9D 68 A0 .h. iny ; CE86 C8 . lda ($88,x) ; CE87 A1 88 .. lda ($8A,x) ; CE89 A1 8A .. lda ($94,x) ; CE8B A1 94 .. lda $44 ; CE8D A5 44 .D lda $72 ; CE8F A5 72 .r lda $74 ; CE91 A5 74 .t lda $76 ; CE93 A5 76 .v tay ; CE95 A8 . lda ($A8) ; CE96 B2 A8 .. ldy $AC,x ; CE98 B4 AC .. dec StopKeyFlag ; CE9A C6 AD .. asl StopKeyFlag ; CE9C 06 AD .. and (FNptr_lo) ; CE9E 32 AE 2. .byte $44 ; CEA0 44 D ldx LAE68 ; CEA1 AE 68 AE .h. sty $00 ; CEA4 84 00 .. brk ; CEA6 00 . LCEA7: asl $00,x ; CEA7 16 00 .. ror $04,x ; CEA9 76 04 v. lsr a ; CEAB 4A J tsb $76 ; CEAC 04 76 .v tsb $12 ; CEAE 04 12 .. lsr $74 ; CEB0 46 74 Ft tsb $1C ; CEB2 04 1C .. and ($74) ; CEB4 32 74 2t tsb $3A ; CEB6 04 3A .: brk ; CEB8 00 . tsb $5258 ; CEB9 0C 58 52 .XR cli ; CEBC 58 X tsb $0E58 ; CEBD 0C 58 0E .X. .byte $02 ; CEC0 02 . tsb $6258 ; CEC1 0C 58 62 .Xb rol a ; CEC4 2A * tsb $5C58 ; CEC5 0C 58 5C .X\ brk ; CEC8 00 . brk ; CEC9 00 . .byte $42 ; CECA 42 B pha ; CECB 48 H .byte $42 ; CECC 42 B sec ; CECD 38 8 .byte $42 ; CECE 42 B clc ; CECF 18 . bmi LCED2 ; CED0 30 00 0. LCED2: .byte $42 ; CED2 42 B jsr L004E ; CED3 20 4E 00 N. .byte $42 ; CED6 42 B lsr $6E00,x ; CED7 5E 00 6E ^.n phy ; CEDA 5A Z bvc LCF37 ; CEDB 50 5A PZ sec ; CEDD 38 8 phy ; CEDE 5A Z inc a ; CEDF 1A . brk ; CEE0 00 . ror $665A ; CEE1 6E 5A 66 nZf lsr $38,x ; CEE4 56 38 V8 phy ; CEE6 5A Z trb $00 ; CEE7 14 00 .. jmp (L2E6A) ; CEE9 6C 6A 2E lj. ; ---------------------------------------------------------------------------- ply ; CEEC 7A z jmp (L066A) ; CEED 6C 6A 06 lj. ; ---------------------------------------------------------------------------- pla ; CEF0 68 h jmp (L7E6A) ; CEF1 6C 6A 7E lj~ ; ---------------------------------------------------------------------------- jmp (L6E6E,x) ; CEF4 7C 6E 6E |nn rti ; CEF7 40 @ ; ---------------------------------------------------------------------------- rol $3E40,x ; CEF8 3E 40 3E >@> adc ($70) ; CEFB 72 70 rp rti ; CEFD 40 @ ; ---------------------------------------------------------------------------- rol $3C08,x ; CEFE 3E 08 3C >.< rti ; CF01 40 @ ; ---------------------------------------------------------------------------- rol $7822,x ; CF02 3E 22 78 >"x rti ; CF05 40 @ ; ---------------------------------------------------------------------------- rol a:$28,x ; CF06 3E 28 00 >(. plp ; CF09 28 ( rol a ; CF0A 2A * rol $2C,x ; CF0B 36 2C 6, plp ; CF0D 28 ( rol a ; CF0E 2A * bpl LCF35 ; CF0F 10 24 .$ brk ; CF11 00 . rol a ; CF12 2A * asl a:$4C,x ; CF13 1E 4C 00 .L. rol a ; CF16 2A * rol $00 ; CF17 26 00 &. rol $32 ; CF19 26 32 &2 bit $44,x ; CF1B 34 44 4D rol $32 ; CF1D 26 32 &2 asl a ; CF1F 0A . rts ; CF20 60 ` ; ---------------------------------------------------------------------------- brk ; CF21 00 . and ($64) ; CF22 32 64 2d .byte $54 ; CF24 54 T rol $32 ; CF25 26 32 &2 lsr $02 ; CF27 46 02 F. bmi LCF2B ; CF29 30 00 0. LCF2B: pla ; CF2B 68 h bit $6024,x ; CF2C 3C 24 60 <$` bra LCF3E ; CF2F 80 0D .. jsr L2020 ; CF31 20 20 20 .byte $90 ; CF34 90 . LCF35: .byte $03 ; CF35 03 . .byte $4C ; CF36 4C L LCF37: eor $20C7,y ; CF37 59 C7 20 Y. .byte $19 ; CF3A 19 . .byte $CB ; CF3B CB . LCF3C: ldx #$00 ; CF3C A2 00 .. LCF3E: stx $0451 ; CF3E 8E 51 04 .Q. LCF41: jsr LCAFD ; CF41 20 FD CA .. bne LCF4D ; CF44 D0 07 .. cpx #$00 ; CF46 E0 00 .. bne LCF4D ; CF48 D0 03 .. jmp LC767 ; CF4A 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LCF4D: cmp #$20 ; CF4D C9 20 . beq LCF3C ; CF4F F0 EB .. sta $D2,x ; CF51 95 D2 .. inx ; CF53 E8 . cpx #$03 ; CF54 E0 03 .. bne LCF41 ; CF56 D0 E9 .. LCF58: dex ; CF58 CA . bmi LCF6E ; CF59 30 13 0. lda $D2,x ; CF5B B5 D2 .. sec ; CF5D 38 8 sbc #$3F ; CF5E E9 3F .? ldy #$05 ; CF60 A0 05 .. LCF62: lsr a ; CF62 4A J ror $0451 ; CF63 6E 51 04 nQ. ror $0450 ; CF66 6E 50 04 nP. dey ; CF69 88 . bne LCF62 ; CF6A D0 F6 .. bra LCF58 ; CF6C 80 EA .. LCF6E: stz $C7 ; CF6E 64 C7 d. stz $D5 ; CF70 64 D5 d. ldx #$02 ; CF72 A2 02 .. LCF74: jsr LCAFD ; CF74 20 FD CA .. beq LCFC4 ; CF77 F0 4B .K cmp #$20 ; CF79 C9 20 . beq LCF74 ; CF7B F0 F7 .. cmp #$24 ; CF7D C9 24 .$ beq LCFAE ; CF7F F0 2D .- cmp #$47 ; CF81 C9 47 .G bcs LCFBC ; CF83 B0 37 .7 cmp #$30 ; CF85 C9 30 .0 bcc LCFBC ; CF87 90 33 .3 cmp #$3A ; CF89 C9 3A .: bcc LCF93 ; CF8B 90 06 .. cmp #$41 ; CF8D C9 41 .A bcc LCFBC ; CF8F 90 2B .+ adc #$08 ; CF91 69 08 i. LCF93: and #$0F ; CF93 29 0F ). ldy #$03 ; CF95 A0 03 .. LCF97: asl $C7 ; CF97 06 C7 .. rol $C8 ; CF99 26 C8 &. dey ; CF9B 88 . bpl LCF97 ; CF9C 10 F9 .. ora $C7 ; CF9E 05 C7 .. sta $C7 ; CFA0 85 C7 .. inc $D5 ; CFA2 E6 D5 .. lda $D5 ; CFA4 A5 D5 .. cmp #$04 ; CFA6 C9 04 .. beq LCFB6 ; CFA8 F0 0C .. cmp #$01 ; CFAA C9 01 .. bne LCF74 ; CFAC D0 C6 .. LCFAE: inc $D5 ; CFAE E6 D5 .. lda #$24 ; CFB0 A9 24 .$ sta $0450,x ; CFB2 9D 50 04 .P. inx ; CFB5 E8 . LCFB6: lda #$30 ; CFB6 A9 30 .0 sta $0450,x ; CFB8 9D 50 04 .P. inx ; CFBB E8 . LCFBC: sta $0450,x ; CFBC 9D 50 04 .P. inx ; CFBF E8 . cpx #$10 ; CFC0 E0 10 .. bcc LCF74 ; CFC2 90 B0 .. LCFC4: stx $C9 ; CFC4 86 C9 .. ldx #$00 ; CFC6 A2 00 .. stx $D0 ; CFC8 86 D0 .. LCFCA: ldx #$00 ; CFCA A2 00 .. stx $D1 ; CFCC 86 D1 .. lda $D0 ; CFCE A5 D0 .. jsr LCD55 ; CFD0 20 55 CD U. ldx $03B4 ; CFD3 AE B4 03 ... stx $CA ; CFD6 86 CA .. tax ; CFD8 AA . lda LCEA7,x ; CFD9 BD A7 CE ... tax ; CFDC AA . inx ; CFDD E8 . lda LCE25,x ; CFDE BD 25 CE .%. jsr LD0B4 ; CFE1 20 B4 D0 .. dex ; CFE4 CA . lda LCE25,x ; CFE5 BD 25 CE .%. jsr LD0B4 ; CFE8 20 B4 D0 .. ldx #$06 ; CFEB A2 06 .. LCFED: cpx #$03 ; CFED E0 03 .. bne LD004 ; CFEF D0 13 .. ldy $CF ; CFF1 A4 CF .. beq LD004 ; CFF3 F0 0F .. LCFF5: lda $03B4 ; CFF5 AD B4 03 ... cmp #$E8 ; CFF8 C9 E8 .. lda #$30 ; CFFA A9 30 .0 bcs LD02F ; CFFC B0 31 .1 .byte $20 ; CFFE 20 .byte $B1 ; CFFF B1 . LD000: bne $CF8A ; D000 D0 88 .. bne LCFF5 ; D002 D0 F1 .. LD004: asl $03B4 ; D004 0E B4 03 ... bcc LD01D ; D007 90 14 .. lda #$7C ; D009 A9 7C .| cmp $D0 ; D00B C5 D0 .. beq LD022 ; D00D F0 13 .. lda LCE12,x ; D00F BD 12 CE ... .byte $20 ; D012 20 LD013: .byte $B4 ; D013 B4 . LD014: .byte $D0 ; D014 D0 . LD015: lda LCE18,x ; D015 BD 18 CE ... .byte $F0 ; D018 F0 . LD019: .byte $03 ; D019 03 . LD01A: jsr LD0B4 ; D01A 20 B4 D0 .. LD01D: dex ; D01D CA . LD01E: bne LCFED ; D01E D0 CD .. bra LD035 ; D020 80 13 .. LD022: lda LCE12,x ; D022 BD 12 CE ... jsr LD0B4 ; D025 20 B4 D0 .. lda LCE1E,x ; D028 BD 1E CE ... beq LD01D ; D02B F0 F0 .. bra LD01A ; D02D 80 EB .. LD02F: jsr LD0B1 ; D02F 20 B1 D0 .. jsr LD0B1 ; D032 20 B1 D0 .. LD035: lda $C9 ; D035 A5 C9 .. cmp $D1 ; D037 C5 D1 .. beq LD03E ; D039 F0 03 .. jmp LD0C0 ; D03B 4C C0 D0 L.. ; ---------------------------------------------------------------------------- LD03E: ldy $CF ; D03E A4 CF .. beq LD073 ; D040 F0 31 .1 lda $CA ; D042 A5 CA .. cmp #$9D ; D044 C9 9D .. bne LD06A ; D046 D0 22 ." lda $C7 ; D048 A5 C7 .. sbc $CB ; D04A E5 CB .. tax ; D04C AA . lda $C8 ; D04D A5 C8 .. sbc $CC ; D04F E5 CC .. bcc LD05B ; D051 90 08 .. bne LD0C7 ; D053 D0 72 .r cpx #$82 ; D055 E0 82 .. bcs LD0C7 ; D057 B0 6E .n bcc LD063 ; D059 90 08 .. LD05B: tay ; D05B A8 . iny ; D05C C8 . bne LD0C7 ; D05D D0 68 .h cpx #$82 ; D05F E0 82 .. bcc LD0C7 ; D061 90 64 .d LD063: dex ; D063 CA . dex ; D064 CA . txa ; D065 8A . ldy $CF ; D066 A4 CF .. bne LD06D ; D068 D0 03 .. LD06A: lda LFSLogNum,y ; D06A B9 C6 00 ... LD06D: jsr LCC4B ; D06D 20 4B CC K. dey ; D070 88 . bne LD06A ; D071 D0 F7 .. LD073: lda $D0 ; D073 A5 D0 .. jsr LCC4B ; D075 20 4B CC K. jsr ShowInLineText ; D078 20 5B FB [. .byte $0D,$91 ; D07B 0D 91 .. .byte "A " ; D07D 41 20 A .byte $00 ; D07F 00 . ; ---------------------------------------------------------------------------- jsr LCCC4 ; D080 20 C4 CC .. inc $CF ; D083 E6 CF .. lda $CF ; D085 A5 CF .. jsr LCB5D ; D087 20 5D CB ]. jsr LB4FB ; D08A 20 FB B4 .. lda #$41 ; D08D A9 41 .A ldx #$20 ; D08F A2 20 . jsr LD0A9 ; D091 20 A9 D0 .. lda $CC ; D094 A5 CC .. jsr LD0A6 ; D096 20 A6 D0 .. lda $CB ; D099 A5 CB .. jsr LD0A6 ; D09B 20 A6 D0 .. lda #$20 ; D09E A9 20 . jsr LB640 ; D0A0 20 40 B6 @. jmp LC767 ; D0A3 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LD0A6: jsr Byte2HexChars ; D0A6 20 E8 CA .. LD0A9: phx ; D0A9 DA . jsr LB640 ; D0AA 20 40 B6 @. pla ; D0AD 68 h jmp LB640 ; D0AE 4C 40 B6 L@. ; ---------------------------------------------------------------------------- LD0B1: jsr LD0B4 ; D0B1 20 B4 D0 .. LD0B4: stx $039D ; D0B4 8E 9D 03 ... ldx $D1 ; D0B7 A6 D1 .. cmp $0450,x ; D0B9 DD 50 04 .P. beq LD0CA ; D0BC F0 0C .. pla ; D0BE 68 h pla ; D0BF 68 h LD0C0: inc $D0 ; D0C0 E6 D0 .. beq LD0C7 ; D0C2 F0 03 .. jmp LCFCA ; D0C4 4C CA CF L.. ; ---------------------------------------------------------------------------- LD0C7: jmp LC759 ; D0C7 4C 59 C7 LY. ; ---------------------------------------------------------------------------- LD0CA: inx ; D0CA E8 . stx $D1 ; D0CB 86 D1 .. ldx $039D ; D0CD AE 9D 03 ... rts ; D0D0 60 ` ; ---------------------------------------------------------------------------- lda #$01 ; D0D1 A9 01 .. bcs LD0D7 ; D0D3 B0 02 .. lda $C7 ; D0D5 A5 C7 .. LD0D7: sta $03A3 ; D0D7 8D A3 03 ... jsr LCBE1 ; D0DA 20 E1 CB .. bra LD11C ; D0DD 80 3D .= LD0DF: .byte $20 ; D0DF 20 .byte $16 ; D0E0 16 . LD0E1: cpy LB920 ; D0E1 CC 20 B9 . . sbc $12F0,x ; D0E4 FD F0 12 ... dec $03A3 ; D0E7 CE A3 03 ... bne LD11C ; D0EA D0 30 .0 jsr LB4FB ; D0EC 20 FB B4 .. lda #$57 ; D0EF A9 57 .W jsr LB640 ; D0F1 20 40 B6 @. lda #$20 ; D0F4 A9 20 . jsr LB640 ; D0F6 20 40 B6 @. jmp LC767 ; D0F9 4C 67 C7 Lg. ; ---------------------------------------------------------------------------- LD0FC: tsx ; D0FC BA . .byte $D1 ; D0FD D1 . LD0FE: jsr $D1D1 ; D0FE 20 D1 D1 .. rts ; D101 60 ` ; ---------------------------------------------------------------------------- ora ($D2,x) ; D102 01 D2 .. jmp LD20B ; D104 4C 0B D2 L.. ; ---------------------------------------------------------------------------- rti ; D107 40 @ ; ---------------------------------------------------------------------------- sbc $D1 ; D108 E5 D1 .. jmp (LD1E8) ; D10A 6C E8 D1 l.. ; ---------------------------------------------------------------------------- .byte $7C ; D10D 7C | LD10E: nop ; D10E EA . nop ; D10F EA . sta MMU_MODE_KERN ; D110 8D 00 FA ... jmp LD1A3 ; D113 4C A3 D1 L.. ; ---------------------------------------------------------------------------- sta MMU_MODE_KERN ; D116 8D 00 FA ... jmp LD17D ; D119 4C 7D D1 L}. ; ---------------------------------------------------------------------------- LD11C: ldx #$0E ; D11C A2 0E .. LD11E: lda LD10E,x ; D11E BD 0E D1 ... sta $0471,x ; D121 9D 71 04 .q. dex ; D124 CA . bpl LD11E ; D125 10 F7 .. jsr LD216 ; D127 20 16 D2 .. sta L0470 ; D12A 8D 70 04 .p. cmp #$80 ; D12D C9 80 .. beq LD139 ; D12F F0 08 .. bit #$0F ; D131 89 0F .. bne LD143 ; D133 D0 0E .. bit #$10 ; D135 89 10 .. beq LD143 ; D137 F0 0A .. LD139: lda #$07 ; D139 A9 07 .. sta $0471 ; D13B 8D 71 04 .q. jsr LD216 ; D13E 20 16 D2 .. bra LD168 ; D141 80 25 .% LD143: ldx #$0F ; D143 A2 0F .. LD145: cmp LD0FE,x ; D145 DD FE D0 ... bne LD14D ; D148 D0 03 .. jmp (LD0FC,x) ; D14A 7C FC D0 |.. LD14D: dex ; D14D CA . dex ; D14E CA . dex ; D14F CA . bpl LD145 ; D150 10 F3 .. jsr LCD55 ; D152 20 55 CD U. ldy $CF ; D155 A4 CF .. beq LD168 ; D157 F0 0F .. jsr LD216 ; D159 20 16 D2 .. sta $0471 ; D15C 8D 71 04 .q. dey ; D15F 88 . beq LD168 ; D160 F0 06 .. jsr LD216 ; D162 20 16 D2 .. sta $0472 ; D165 8D 72 04 .r. LD168: ldy $03BA ; D168 AC BA 03 ... lda $03B8 ; D16B AD B8 03 ... ldx $03BB ; D16E AE BB 03 ... txs ; D171 9A . ldx L03B7 ; D172 AE B7 03 ... phx ; D175 DA . ldx $03B9 ; D176 AE B9 03 ... plp ; D179 28 ( jmp L0470 ; D17A 4C 70 04 Lp. ; ---------------------------------------------------------------------------- LD17D: php ; D17D 08 . pha ; D17E 48 H phy ; D17F 5A Z lda $03B6 ; D180 AD B6 03 ... bne LD188 ; D183 D0 03 .. dec $03B5 ; D185 CE B5 03 ... LD188: dec $03B6 ; D188 CE B6 03 ... jsr LD216 ; D18B 20 16 D2 .. clc ; D18E 18 . tay ; D18F A8 . bpl LD195 ; D190 10 03 .. dec $03B5 ; D192 CE B5 03 ... LD195: adc $03B6 ; D195 6D B6 03 m.. bcc LD19D ; D198 90 03 .. inc $03B5 ; D19A EE B5 03 ... LD19D: sta $03B6 ; D19D 8D B6 03 ... ply ; D1A0 7A z pla ; D1A1 68 h plp ; D1A2 28 ( LD1A3: php ; D1A3 08 . stx $03B9 ; D1A4 8E B9 03 ... plx ; D1A7 FA . stx L03B7 ; D1A8 8E B7 03 ... tsx ; D1AB BA . stx $03BB ; D1AC 8E BB 03 ... sta $03B8 ; D1AF 8D B8 03 ... sty $03BA ; D1B2 8C BA 03 ... LD1B5: cli ; D1B5 58 X cld ; D1B6 D8 . jmp LD0DF ; D1B7 4C DF D0 L.. ; ---------------------------------------------------------------------------- jsr LD216 ; D1BA 20 16 D2 .. tax ; D1BD AA . ldy $03B5 ; D1BE AC B5 03 ... phy ; D1C1 5A Z ldy $03B6 ; D1C2 AC B6 03 ... phy ; D1C5 5A Z jsr LD216 ; D1C6 20 16 D2 .. dec $03BB ; D1C9 CE BB 03 ... dec $03BB ; D1CC CE BB 03 ... bra LD1DD ; D1CF 80 0C .. plx ; D1D1 FA . pla ; D1D2 68 h inx ; D1D3 E8 . bne LD1D7 ; D1D4 D0 01 .. inc a ; D1D6 1A . LD1D7: inc $03BB ; D1D7 EE BB 03 ... inc $03BB ; D1DA EE BB 03 ... LD1DD: sta $03B5 ; D1DD 8D B5 03 ... stx $03B6 ; D1E0 8E B6 03 ... bra LD1B5 ; D1E3 80 D0 .. ldy $03B9 ; D1E5 AC B9 03 ... LD1E8: ldy #$00 ; D1E8 A0 00 .. jsr LD216 ; D1EA 20 16 D2 .. pha ; D1ED 48 H jsr LD216 ; D1EE 20 16 D2 .. sta $D1 ; D1F1 85 D1 .. pla ; D1F3 68 h sta $D0 ; D1F4 85 D0 .. jsr LCC6D ; D1F6 20 6D CC m. pha ; D1F9 48 H iny ; D1FA C8 . jsr LCC6D ; D1FB 20 6D CC m. plx ; D1FE FA . bra LD1DD ; D1FF 80 DC .. jsr LD216 ; D201 20 16 D2 .. pha ; D204 48 H jsr LD216 ; D205 20 16 D2 .. plx ; D208 FA . bra LD1DD ; D209 80 D2 .. LD20B: pla ; D20B 68 h sta L03B7 ; D20C 8D B7 03 ... plx ; D20F FA . pla ; D210 68 h inc $03BB ; D211 EE BB 03 ... bra LD1D7 ; D214 80 C1 .. LD216: phy ; D216 5A Z ldy #$00 ; D217 A0 00 .. lda $03B6 ; D219 AD B6 03 ... sta $D0 ; D21C 85 D0 .. lda $03B5 ; D21E AD B5 03 ... sta $D1 ; D221 85 D1 .. jsr LCC6D ; D223 20 6D CC m. inc $03B6 ; D226 EE B6 03 ... bne LD22E ; D229 D0 03 .. inc $03B5 ; D22B EE B5 03 ... LD22E: ply ; D22E 7A z rts ; D22F 60 ` ; ---------------------------------------------------------------------------- LD230: jmp (LD233,x) ; D230 7C 33 D2 |3. LD233: .addr LD247 ; D233 47 D2 G. .addr LD28C ; D235 8C D2 .. .addr LD255 ; D237 55 D2 U. .addr LD297 ; D239 97 D2 .. .addr LD26A ; D23B 6A D2 j. .addr LD263 ; D23D 63 D2 c. .addr LD2B2 ; D23F B2 D2 .. .addr LD318 ; D241 18 D3 .. .addr LD252 ; D243 52 D2 R. .addr LD294 ; D245 94 D2 .. ; ---------------------------------------------------------------------------- LD247: stz $041C ; D247 9C 1C 04 ... sta $F8 ; D24A 85 F8 .. sty $F9 ; D24C 84 F9 .. stz $041D ; D24E 9C 1D 04 ... rts ; D251 60 ` ; ---------------------------------------------------------------------------- LD252: lda #$10 ; D252 A9 10 .. .byte $2C ; D254 2C , LD255: lda #$20 ; D255 A9 20 . ldx $041C ; D257 AE 1C 04 ... beq LD262 ; D25A F0 06 .. tsb $041C ; D25C 0C 1C 04 ... stz $041D ; D25F 9C 1D 04 ... LD262: rts ; D262 60 ` ; ---------------------------------------------------------------------------- LD263: sta $041D ; D263 8D 1D 04 ... stz $041E ; D266 9C 1E 04 ... rts ; D269 60 ` ; ---------------------------------------------------------------------------- LD26A: sty $C0 ; D26A 84 C0 .. sta $BF ; D26C 85 BF .. lda $041C ; D26E AD 1C 04 ... beq LD277 ; D271 F0 04 .. and #$38 ; D273 29 38 )8 beq LD278 ; D275 F0 01 .. LD277: rts ; D277 60 ` ; ---------------------------------------------------------------------------- LD278: lda $041D ; D278 AD 1D 04 ... beq LD28A ; D27B F0 0D .. lda LD28B,x ; D27D BD 8B D2 ... eor $041C ; D280 4D 1C 04 M.. and $07 ; D283 25 07 %. bne LD28A ; D285 D0 03 .. stz $041D ; D287 9C 1D 04 ... LD28A: .byte $80 ; D28A 80 . LD28B: .byte $0B ; D28B 0B . LD28C: sty $039C ; D28C 8C 9C 03 ... and #$CF ; D28F 29 CF ). sta $041C ; D291 8D 1C 04 ... LD294: lda #$10 ; D294 A9 10 .. .byte $2C ; D296 2C , LD297: lda #$20 ; D297 A9 20 . ldx $041C ; D299 AE 1C 04 ... beq LD2AA ; D29C F0 0C .. trb $041C ; D29E 1C 1C 04 ... lda #$30 ; D2A1 A9 30 .0 bit $041C ; D2A3 2C 1C 04 ,.. bne LD2AA ; D2A6 D0 02 .. bvs LD327 ; D2A8 70 7D p} LD2AA: rts ; D2AA 60 ` ; ---------------------------------------------------------------------------- LD2AB: lda $041D ; D2AB AD 1D 04 ... stz $041D ; D2AE 9C 1D 04 ... rts ; D2B1 60 ` ; ---------------------------------------------------------------------------- LD2B2: lda $041D ; D2B2 AD 1D 04 ... cmp #$85 ; D2B5 C9 85 .. bcc LD2AB ; D2B7 90 F2 .. cmp #$8D ; D2B9 C9 8D .. bcs LD2AB ; D2BB B0 EE .. tay ; D2BD A8 . ldx LD28B,y ; D2BE BE 8B D2 ... lda $041C ; D2C1 AD 1C 04 ... bit #$30 ; D2C4 89 30 .0 bne LD2AB ; D2C6 D0 E3 .. bit #$08 ; D2C8 89 08 .. beq LD2DB ; D2CA F0 0F .. txa ; D2CC 8A . eor $041C ; D2CD 4D 1C 04 M.. and #$07 ; D2D0 29 07 ). bne LD2DB ; D2D2 D0 07 .. lda #$BF ; D2D4 A9 BF .. sta $0357 ; D2D6 8D 57 03 .W. bra LD2FC ; D2D9 80 21 .! LD2DB: bit $041C ; D2DB 2C 1C 04 ,.. bvc LD2AB ; D2DE 50 CB P. lda #$F8 ; D2E0 A9 F8 .. sta $0357 ; D2E2 8D 57 03 .W. ldy $041E ; D2E5 AC 1E 04 ... bne LD2FC ; D2E8 D0 12 .. LD2EA: dex ; D2EA CA . bmi LD2F9 ; D2EB 30 0C 0. LD2ED: jsr FROM_C684 ; D2ED 20 53 03 S. iny ; D2F0 C8 . beq LD2F9 ; D2F1 F0 06 .. cmp #$00 ; D2F3 C9 00 .. bne LD2ED ; D2F5 D0 F6 .. beq LD2EA ; D2F7 F0 F1 .. LD2F9: sty $041E ; D2F9 8C 1E 04 ... LD2FC: ldy $041E ; D2FC AC 1E 04 ... inc $041E ; D2FF EE 1E 04 ... beq LD309 ; D302 F0 05 .. jsr FROM_C684 ; D304 20 53 03 S. bne LD30F ; D307 D0 06 .. LD309: stz $041E ; D309 9C 1E 04 ... stz $041D ; D30C 9C 1D 04 ... LD30F: rts ; D30F 60 ` ; ---------------------------------------------------------------------------- brk ; D310 00 . .byte $02 ; D311 02 . tsb $06 ; D312 04 06 .. ora ($03,x) ; D314 01 03 .. ora $07 ; D316 05 07 .. LD318: ldx $039C ; D318 AE 9C 03 ... phx ; D31B DA . sta $039C ; D31C 8D 9C 03 ... jsr LD329 ; D31F 20 29 D3 ). plx ; D322 FA . stx $039C ; D323 8E 9C 03 ... rts ; D326 60 ` ; ---------------------------------------------------------------------------- LD327: ldy #$F8 ; D327 A0 F8 .. LD329: sty $0357 ; D329 8C 57 03 .W. ldx #$00 ; D32C A2 00 .. ldy #$00 ; D32E A0 00 .. LD330: phx ; D330 DA . phy ; D331 5A Z ldy LD366,x ; D332 BC 66 D3 .f. ldx $039C ; D335 AE 9C 03 ... lda #$89 ; D338 A9 89 .. sec ; D33A 38 8 jsr LB6F9 ; D33B 20 F9 B6 .. lda #$65 ; D33E A9 65 .e ldy #$09 ; D340 A0 09 .. sta ($BD),y ; D342 91 BD .. ply ; D344 7A z LD345: jsr FROM_C684 ; D345 20 53 03 S. beq LD359 ; D348 F0 0F .. cmp #$08 ; D34A C9 08 .. bcs LD353 ; D34C B0 05 .. jsr LD36E ; D34E 20 6E D3 n. bra LD356 ; D351 80 03 .. LD353: jsr LD3A9 ; D353 20 A9 D3 .. LD356: iny ; D356 C8 . bne LD345 ; D357 D0 EC .. LD359: lda #$0D ; D359 A9 0D .. jsr LD3A9 ; D35B 20 A9 D3 .. iny ; D35E C8 . plx ; D35F FA . inx ; D360 E8 . cpx #$08 ; D361 E0 08 .. bcc LD330 ; D363 90 CB .. rts ; D365 60 ` ; ---------------------------------------------------------------------------- LD366: brk ; D366 00 . asl a ; D367 0A . trb $1E ; D368 14 1E .. plp ; D36A 28 ( and ($3C) ; D36B 32 3C 2< .byte $46 ; D36D 46 F LD36E: dec a ; D36E 3A : beq LD382 ; D36F F0 11 .. dec a ; D371 3A : asl a ; D372 0A . asl a ; D373 0A . tax ; D374 AA . LD375: lda LD391,x ; D375 BD 91 D3 ... jsr LD3A9 ; D378 20 A9 D3 .. inx ; D37B E8 . txa ; D37C 8A . and #$03 ; D37D 29 03 ). bne LD375 ; D37F D0 F4 .. rts ; D381 60 ` ; ---------------------------------------------------------------------------- LD382: phy ; D382 5A Z ldy #$00 ; D383 A0 00 .. LD385: lda ($BF),y ; D385 B1 BF .. beq LD38F ; D387 F0 06 .. jsr LD3A9 ; D389 20 A9 D3 .. iny ; D38C C8 . bne LD385 ; D38D D0 F6 .. LD38F: ply ; D38F 7A z rts ; D390 60 ` ; ---------------------------------------------------------------------------- LD391: .byte "EXITQUITMOREexitquitmore" ; D391 45 58 49 54 51 55 49 54 EXITQUIT ; D399 4D 4F 52 45 65 78 69 74 MOREexit ; D3A1 71 75 69 74 6D 6F 72 65 quitmore ; ---------------------------------------------------------------------------- LD3A9: clc ; D3A9 18 . jmp LB6F9 ; D3AA 4C F9 B6 L.. ; ---------------------------------------------------------------------------- MEMBOT__: rol a ; D3AD 2A * inc a ; D3AE 1A . ror a ; D3AF 6A j bcc LD3E4 ; D3B0 90 32 .2 phx ; D3B2 DA . lda #$FF ; D3B3 A9 FF .. sta MemBotLoByte ; D3B5 8D 98 03 ... lda #$F7 ; D3B8 A9 F7 .. sta MemBotHiByte ; D3BA 8D 99 03 ... ldx $020B ; D3BD AE 0B 02 ... bne LD3CE ; D3C0 D0 0C .. cmp $020A ; D3C2 CD 0A 02 ... bcc LD3CE ; D3C5 90 07 .. lda $020A ; D3C7 AD 0A 02 ... dec a ; D3CA 3A : sta MemBotHiByte ; D3CB 8D 99 03 ... LD3CE: plx ; D3CE FA . cpy MemBotHiByte ; D3CF CC 99 03 ... bcc LD3DD ; D3D2 90 09 .. bne LD3E4 ; D3D4 D0 0E .. cpx MemBotLoByte ; D3D6 EC 98 03 ... bcc LD3DD ; D3D9 90 02 .. bne LD3E4 ; D3DB D0 07 .. LD3DD: stx MemBotLoByte ; D3DD 8E 98 03 ... sty MemBotHiByte ; D3E0 8C 99 03 ... clc ; D3E3 18 . LD3E4: php ; D3E4 08 . ldy MemBotHiByte ; D3E5 AC 99 03 ... stz $020D ; D3E8 9C 0D 02 ... sty $020C ; D3EB 8C 0C 02 ... jsr LD3F6 ; D3EE 20 F6 D3 .. ldx MemBotLoByte ; D3F1 AE 98 03 ... plp ; D3F4 28 ( rts ; D3F5 60 ` ; ---------------------------------------------------------------------------- LD3F6: cld ; D3F6 D8 . sec ; D3F7 38 8 lda $020A ; D3F8 AD 0A 02 ... sbc $020C ; D3FB ED 0C 02 ... tax ; D3FE AA . LD400 := * + 1 LD401 := * + 2 lda $020B ; D3FF AD 0B 02 ... LD404 := * + 2 sbc $020D ; D402 ED 0D 02 ... bcs LD409 ; D405 B0 02 .. ldx #$01 ; D407 A2 01 .. LD409: beq LD40D ; D409 F0 02 .. ldx #$00 ; D40B A2 00 .. LD40D: dex ; D40D CA . stx $BC ; D40E 86 BC .. rts ; D410 60 ` ; ---------------------------------------------------------------------------- LD411: clc ; D411 18 . ldy #$FF ; D412 A0 FF .. jsr MEMBOT__ ; D414 20 AD D3 .. clc ; D417 18 . ldy #$00 ; D418 A0 00 .. MEMTOP__: bcs LD42F ; D41A B0 13 .. cpy #$10 ; D41C C0 10 .. bcs LD429 ; D41E B0 09 .. ldx #$00 ; D420 A2 00 .. ldy #$10 ; D422 A0 10 .. jsr LD429 ; D424 20 29 D4 ). sec ; D427 38 8 rts ; D428 60 ` ; ---------------------------------------------------------------------------- LD429: sty MemTopHiByte ; D429 8C 9B 03 ... stx MemTopLoByte ; D42C 8E 9A 03 ... LD42F: ldx MemTopLoByte ; D42F AE 9A 03 ... ldy MemTopHiByte ; D432 AC 9B 03 ... clc ; D435 18 . rts ; D436 60 ` ; ---------------------------------------------------------------------------- LD437: phx ; D437 DA . phy ; D438 5A Z cld ; D439 D8 . stz $E5 ; D43A 64 E5 d. asl a ; D43C 0A . sta $E4 ; D43D 85 E4 .. asl a ; D43F 0A . rol $E5 ; D440 26 E5 &. adc $E4 ; D442 65 E4 e. pha ; D444 48 H lda $E5 ; D445 A5 E5 .. adc #$F7 ; D447 69 F7 i. ldx #$03 ; D449 A2 03 .. jsr L8A87 ; D44B 20 87 8A .. pla ; D44E 68 h sta $E4 ; D44F 85 E4 .. ply ; D451 7A z plx ; D452 FA . stx $DA ; D453 86 DA .. sty $D9 ; D455 84 D9 .. lda #$D9 ; D457 A9 D9 .. sta $034E ; D459 8D 4E 03 .N. sta $0360 ; D45C 8D 60 03 .`. ldx #$07 ; D45F A2 07 .. LD461: lda #$00 ; D461 A9 00 .. cpx #$06 ; D463 E0 06 .. bcs LD46B ; D465 B0 04 .. txa ; D467 8A . tay ; D468 A8 . lda ($E4),y ; D469 B1 E4 .. LD46B: ldy #$07 ; D46B A0 07 .. LD46D: asl a ; D46D 0A . pha ; D46E 48 H jsr FROM_C67B ; D46F 20 4A 03 J. ror a ; D472 6A j jsr FROM_C68D ; D473 20 5C 03 \. pla ; D476 68 h dey ; D477 88 . bpl LD46D ; D478 10 F3 .. dex ; D47A CA . bpl LD461 ; D47B 10 E4 .. jmp L8A81 ; D47D 4C 81 8A L.. ; ---------------------------------------------------------------------------- phx ; D480 DA . ldx #$7F ; D481 A2 7F .. brk ; D483 00 . brk ; D484 00 . brk ; D485 00 . brk ; D486 00 . ora $84 ; D487 05 84 .. inc $1A ; D489 E6 1A .. and L861B ; D48B 2D 1B 86 -.. plp ; D48E 28 ( rmb0 $FB ; D48F 07 FB .. sed ; D491 F8 . smb0 $99 ; D492 87 99 .. pla ; D494 68 h bit #$01 ; D495 89 01 .. smb0 $23 ; D497 87 23 .# and $DF,x ; D499 35 DF 5. sbc ($86,x) ; D49B E1 86 .. lda $5D ; D49D A5 5D .] smb6 $28 ; D49F E7 28 .( .byte $83 ; D4A1 83 . eor #$0F ; D4A2 49 0F I. phx ; D4A4 DA . ldx #$A5 ; D4A5 A2 A5 .. pla ; D4A7 68 h pha ; D4A8 48 H bpl LD4AE ; D4A9 10 03 .. jsr L8FED ; D4AB 20 ED 8F .. LD4AE: lda $63 ; D4AE A5 63 .c pha ; D4B0 48 H cmp #$81 ; D4B1 C9 81 .. bcc LD4BC ; D4B3 90 07 .. lda #$98 ; D4B5 A9 98 .. ldy #$89 ; D4B7 A0 89 .. jsr L8A1A ; D4B9 20 1A 8A .. LD4BC: lda #$D6 ; D4BC A9 D6 .. ldy #$94 ; D4BE A0 94 .. jsr L9079 ; D4C0 20 79 90 y. pla ; D4C3 68 h cmp #$81 ; D4C4 C9 81 .. bcc LD4CF ; D4C6 90 07 .. lda #$78 ; D4C8 A9 78 .x ldy #$94 ; D4CA A0 94 .. jsr L8A14 ; D4CC 20 14 8A .. LD4CF: pla ; D4CF 68 h bpl LD4D5 ; D4D0 10 03 .. jmp L8FED ; D4D2 4C ED 8F L.. ; ---------------------------------------------------------------------------- LD4D5: rts ; D4D5 60 ` ; ---------------------------------------------------------------------------- .byte $0B ; D4D6 0B . ror $B3,x ; D4D7 76 B3 v. .byte $83 ; D4D9 83 . lda $79D3,x ; D4DA BD D3 79 ..y asl LA6F4,x ; D4DD 1E F4 A6 ... sbc $7B,x ; D4E0 F5 7B .{ .byte $83 ; D4E2 83 . .byte $FC ; D4E3 FC . bcs LD4F6 ; D4E4 B0 10 .. jmp (L1F0C,x) ; D4E6 7C 0C 1F |.. rmb6 $CA ; D4E9 67 CA g. jmp (L53DE,x) ; D4EB 7C DE 53 |.S .byte $CB ; D4EE CB . cmp ($7D,x) ; D4EF C1 7D .} trb $64 ; D4F1 14 64 .d bvs LD541 ; D4F3 70 4C pL .byte $7D ; D4F5 7D } LD4F6: smb3 $EA ; D4F6 B7 EA .. eor ($7A),y ; D4F8 51 7A Qz adc $3063,x ; D4FA 7D 63 30 }c0 dey ; D4FD 88 . ror L927E,x ; D4FE 7E 7E 92 ~~. .byte $44 ; D501 44 D sta $7E3A,y ; D502 99 3A 7E .:~ jmp L91CC ; D505 4C CC 91 L.. ; ---------------------------------------------------------------------------- smb4 $7F ; D508 C7 7F .. tax ; D50A AA . tax ; D50B AA . tax ; D50C AA . .byte $13 ; D50D 13 . sta ($00,x) ; D50E 81 00 .. brk ; D510 00 . brk ; D511 00 . brk ; D512 00 . ldx #$FF ; D513 A2 FF .. stx stack+54 ; D515 8E 36 01 .6. jsr L0380 ; D518 20 80 03 .. jsr L77DD ; D51B 20 DD 77 .w jsr L77CB ; D51E 20 CB 77 .w lda $66 ; D521 A5 66 .f pha ; D523 48 H lda $67 ; D524 A5 67 .g pha ; D526 48 H ldy #$02 ; D527 A0 02 .. LD529: jsr L42E4 ; D529 20 E4 42 .B dey ; D52C 88 . sta $3F,y ; D52D 99 3F 00 .?. bne LD529 ; D530 D0 F7 .. jsr L42E4 ; D532 20 E4 42 .B sta stack+53 ; D535 8D 35 01 .5. tay ; D538 A8 . beq LD546 ; D539 F0 0B .. LD53B: dey ; D53B 88 . jsr L42D0 ; D53C 20 D0 42 .B cmp #$23 ; D53F C9 23 .# LD541: beq LD549 ; D541 F0 06 .. tya ; D543 98 . bne LD53B ; D544 D0 F5 .. LD546: jmp L795A ; D546 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LD549: lda #$3B ; D549 A9 3B .; LD54B: jsr L794C ; D54B 20 4C 79 Ly sty $77 ; D54E 84 77 .w sty stack+35 ; D550 8C 23 01 .#. jsr L77DD ; D553 20 DD 77 .w bit $0F ; D556 24 0F $. bpl LD593 ; D558 10 39 .9 jsr L9792 ; D55A 20 92 97 .. jsr L98E5 ; D55D 20 E5 98 .. ldx stack+43 ; D560 AE 2B 01 .+. beq LD57A ; D563 F0 15 .. ldx #$00 ; D565 A2 00 .. sec ; D567 38 8 lda stack+49 ; D568 AD 31 01 .1. sbc $78 ; D56B E5 78 .x bcc LD57A ; D56D 90 0B .. ldx #$3D ; D56F A2 3D .= cpx stack+43 ; D571 EC 2B 01 .+. bne LD579 ; D574 D0 03 .. lsr a ; D576 4A J adc #$00 ; D577 69 00 i. LD579: tax ; D579 AA . LD57A: ldy #$00 ; D57A A0 00 .. LD57C: txa ; D57C 8A . beq LD584 ; D57D F0 05 .. dex ; D57F CA . LD580: lda #$20 ; D580 A9 20 . bne LD58C ; D582 D0 08 .. LD584: cpy $78 ; D584 C4 78 .x bcs LD580 ; D586 B0 F8 .. jsr L03B7 ; D588 20 B7 03 .. iny ; D58B C8 . LD58C: jsr L98DE ; D58C 20 DE 98 .. bne LD57C ; D58F D0 EB .. beq LD5BA ; D591 F0 27 .' LD593: jsr L8E35 ; D593 20 35 8E 5. ldy #$FF ; D596 A0 FF .. LD598: iny ; D598 C8 . lda stack,y ; D599 B9 00 01 ... bne LD598 ; D59C D0 FA .. tya ; D59E 98 . jsr L868C ; D59F 20 8C 86 .. ldy #$00 ; D5A2 A0 00 .. sta LFF04 ; D5A4 8D 04 FF ... LD5A7: lda stack,y ; D5A7 B9 00 01 ... beq LD5B1 ; D5AA F0 05 .. sta ($64),y ; D5AC 91 64 .d iny ; D5AE C8 . bne LD5A7 ; D5AF D0 F6 .. LD5B1: jsr L86DF ; D5B1 20 DF 86 .. jsr L9792 ; D5B4 20 92 97 .. jsr L95DA ; D5B7 20 DA 95 .. LD5BA: jsr L0386 ; D5BA 20 86 03 .. cmp #$2C ; D5BD C9 2C ., beq LD54B ; D5BF F0 8A .. sec ; D5C1 38 8 ror $77 ; D5C2 66 77 fw jsr L98E5 ; D5C4 20 E5 98 .. pla ; D5C7 68 h tay ; D5C8 A8 . pla ; D5C9 68 h jsr L8781 ; D5CA 20 81 87 .. jsr L0386 ; D5CD 20 86 03 .. cmp #$3B ; D5D0 C9 3B .; beq LD5D7 ; D5D2 F0 03 .. jmp L5595 ; D5D4 4C 95 55 L.U ; ---------------------------------------------------------------------------- LD5D7: jmp L0380 ; D5D7 4C 80 03 L.. ; ---------------------------------------------------------------------------- sta LFF03 ; D5DA 8D 03 FF ... lda $1204 ; D5DD AD 04 12 ... sta stack+51 ; D5E0 8D 33 01 .3. lda #$FF ; D5E3 A9 FF .. LD5E5: sta stack+50 ; D5E5 8D 32 01 .2. jmp L95ED ; D5E8 4C ED 95 L.. ; ---------------------------------------------------------------------------- LD5EB: stx $80 ; D5EB 86 80 .. LD5ED: cpy $78 ; D5ED C4 78 .x beq LD624 ; D5EF F0 33 .3 lda stack,y ; D5F1 B9 00 01 ... iny ; D5F4 C8 . cmp #$20 ; D5F5 C9 20 . beq LD5ED ; D5F7 F0 F4 .. cmp #$2D ; D5F9 C9 2D .- beq LD5E5 ; D5FB F0 E8 .. cmp #$2E ; D5FD C9 2E .. beq LD5EB ; D5FF F0 EA .. cmp #$45 ; D601 C9 45 .E beq LD616 ; D603 F0 11 .. sta stack,x ; D605 9D 00 01 ... stx stack+36 ; D608 8E 24 01 .$. inx ; D60B E8 . bit $80 ; D60C 24 80 $. bpl LD5ED ; D60E 10 DD .. inc stack+42 ; D610 EE 2A 01 .*. jmp L95ED ; D613 4C ED 95 L.. ; ---------------------------------------------------------------------------- LD616: lda stack,y ; D616 B9 00 01 ... cmp #$2D ; D619 C9 2D .- bne LD620 ; D61B D0 03 .. ror stack+40 ; D61D 6E 28 01 n(. LD620: iny ; D620 C8 . sty stack+41 ; D621 8C 29 01 .). LD624: lda $80 ; D624 A5 80 .. bpl LD62A ; D626 10 02 .. stx $80 ; D628 86 80 .. LD62A: jsr L98E5 ; D62A 20 E5 98 .. lda stack+44 ; D62D AD 2C 01 .,. cmp #$FF ; D630 C9 FF .. beq LD65D ; D632 F0 29 .) lda stack+47 ; D634 AD 2F 01 ./. beq LD678 ; D637 F0 3F .? lda stack+41 ; D639 AD 29 01 .). bne LD650 ; D63C D0 12 .. ldx stack+36 ; D63E AE 24 01 .$. jsr L9767 ; D641 20 67 97 g. dec stack+2,x ; D644 DE 02 01 ... inx ; D647 E8 . stx stack+41 ; D648 8E 29 01 .). jsr L97EE ; D64B 20 EE 97 .. beq LD675 ; D64E F0 25 .% LD650: ldy stack+46 ; D650 AC 2E 01 ... bne LD66C ; D653 D0 17 .. ldy stack+50 ; D655 AC 32 01 .2. bmi LD66C ; D658 30 12 0. lda stack+44 ; D65A AD 2C 01 .,. LD65D: beq LD6C9 ; D65D F0 6A .j dec stack+44 ; D65F CE 2C 01 .,. bne LD669 ; D662 D0 05 .. lda stack+45 ; D664 AD 2D 01 .-. beq LD6C9 ; D667 F0 60 .` LD669: inc stack+39 ; D669 EE 27 01 .'. LD66C: jsr L96E1 ; D66C 20 E1 96 .. jsr L97AC ; D66F 20 AC 97 .. jsr L96E1 ; D672 20 E1 96 .. LD675: jmp L980F ; D675 4C 0F 98 L.. ; ---------------------------------------------------------------------------- LD678: ldy stack+41 ; D678 AC 29 01 .). beq LD693 ; D67B F0 16 .. sta $78 ; D67D 85 78 .x sec ; D67F 38 8 ror stack+48 ; D680 6E 30 01 n0. ldy $80 ; D683 A4 80 .. lda stack+40 ; D685 AD 28 01 .(. bpl LD690 ; D688 10 06 .. jsr L971A ; D68A 20 1A 97 .. jmp L969C ; D68D 4C 9C 96 L.. ; ---------------------------------------------------------------------------- LD690: jsr L96FB ; D690 20 FB 96 .. LD693: ldy $80 ; D693 A4 80 .. beq LD69C ; D695 F0 05 .. jsr L97F2 ; D697 20 F2 97 .. beq LD6A2 ; D69A F0 06 .. LD69C: jsr L97AC ; D69C 20 AC 97 .. jmp L96A5 ; D69F 4C A5 96 L.. ; ---------------------------------------------------------------------------- LD6A2: dec stack+42 ; D6A2 CE 2A 01 .*. sec ; D6A5 38 8 lda stack+44 ; D6A6 AD 2C 01 .,. sbc stack+42 ; D6A9 ED 2A 01 .*. bcc LD6C9 ; D6AC 90 1B .. sta stack+39 ; D6AE 8D 27 01 .'. ldy stack+46 ; D6B1 AC 2E 01 ... bne LD6D1 ; D6B4 D0 1B .. ldy stack+50 ; D6B6 AC 32 01 .2. bmi LD6D1 ; D6B9 30 16 0. tay ; D6BB A8 . beq LD6C9 ; D6BC F0 0B .. dey ; D6BE 88 . bne LD6D4 ; D6BF D0 13 .. lda stack+45 ; D6C1 AD 2D 01 .-. ora stack+42 ; D6C4 0D 2A 01 .*. bne LD675 ; D6C7 D0 AC .. LD6C9: lda #$2A ; D6C9 A9 2A .* LD6CB: jsr L98DE ; D6CB 20 DE 98 .. bne LD6CB ; D6CE D0 FB .. rts ; D6D0 60 ` ; ---------------------------------------------------------------------------- LD6D1: tay ; D6D1 A8 . beq LD675 ; D6D2 F0 A1 .. LD6D4: lda stack+42 ; D6D4 AD 2A 01 .*. bne LD675 ; D6D7 D0 9C .. dec stack+39 ; D6D9 CE 27 01 .'. inc $77 ; D6DC E6 77 .w jmp L9675 ; D6DE 4C 75 96 Lu. ; ---------------------------------------------------------------------------- sec ; D6E1 38 8 lda stack+44 ; D6E2 AD 2C 01 .,. sbc stack+42 ; D6E5 ED 2A 01 .*. beq LD723 ; D6E8 F0 39 .9 ldy $80 ; D6EA A4 80 .. bcc LD704 ; D6EC 90 16 .. sta $78 ; D6EE 85 78 .x LD6F0: cpy stack+36 ; D6F0 CC 24 01 .$. beq LD6F7 ; D6F3 F0 02 .. bcs LD6F8 ; D6F5 B0 01 .. LD6F7: iny ; D6F7 C8 . LD6F8: inc stack+42 ; D6F8 EE 2A 01 .*. jsr L9730 ; D6FB 20 30 97 0. dec $78 ; D6FE C6 78 .x bne LD6F0 ; D700 D0 EE .. beq LD721 ; D702 F0 1D .. LD704: eor #$FF ; D704 49 FF I. adc #$01 ; D706 69 01 i. sta $78 ; D708 85 78 .x LD70A: cpy stack+35 ; D70A CC 23 01 .#. beq LD716 ; D70D F0 07 .. dey ; D70F 88 . dec stack+42 ; D710 CE 2A 01 .*. jmp L9718 ; D713 4C 18 97 L.. ; ---------------------------------------------------------------------------- LD716: inc $77 ; D716 E6 77 .w lda #$80 ; D718 A9 80 .. jsr L9732 ; D71A 20 32 97 2. dec $78 ; D71D C6 78 .x bne LD70A ; D71F D0 E9 .. LD721: sty $80 ; D721 84 80 .. LD723: rts ; D723 60 ` ; ---------------------------------------------------------------------------- bne LD75F ; D724 D0 39 .9 eor #$09 ; D726 49 09 I. sta stack,x ; D728 9D 00 01 ... dex ; D72B CA . cpx stack+41 ; D72C EC 29 01 .). rts ; D72F 60 ` ; ---------------------------------------------------------------------------- lda #$00 ; D730 A9 00 .. ldx stack+41 ; D732 AE 29 01 .). inx ; D735 E8 . bit stack+48 ; D736 2C 30 01 ,0. bmi LD74B ; D739 30 10 0. eor stack+40 ; D73B 4D 28 01 M(. beq LD74B ; D73E F0 0B .. LD740: jsr L9775 ; D740 20 75 97 u. jsr L9724 ; D743 20 24 97 $. bcs LD740 ; D746 B0 F8 .. jmp L8959 ; D748 4C 59 89 LY. ; ---------------------------------------------------------------------------- LD74B: lda stack,x ; D74B BD 00 01 ... dec stack,x ; D74E DE 00 01 ... cmp #$30 ; D751 C9 30 .0 jsr L9724 ; D753 20 24 97 $. bcs LD74B ; D756 B0 F3 .. bit stack+48 ; D758 2C 30 01 ,0. bpl LD762 ; D75B 10 05 .. sty $80 ; D75D 84 80 .. LD75F: pla ; D75F 68 h pla ; D760 68 h rts ; D761 60 ` ; ---------------------------------------------------------------------------- LD762: lda stack+40 ; D762 AD 28 01 .(. eor #$80 ; D765 49 80 I. sta stack+40 ; D767 8D 28 01 .(. lda #$30 ; D76A A9 30 .0 sta stack+1,x ; D76C 9D 01 01 ... lda #$31 ; D76F A9 31 .1 sta stack+2,x ; D771 9D 02 01 ... rts ; D774 60 ` ; ---------------------------------------------------------------------------- lda stack,x ; D775 BD 00 01 ... inc stack,x ; D778 FE 00 01 ... cmp #$39 ; D77B C9 39 .9 rts ; D77D 60 ` ; ---------------------------------------------------------------------------- clc ; D77E 18 . iny ; D77F C8 . beq LD787 ; D780 F0 05 .. cpy stack+53 ; D782 CC 35 01 .5. bcc LD78B ; D785 90 04 .. LD787: ldy $77 ; D787 A4 77 .w bne LD75F ; D789 D0 D4 .. LD78B: jsr L42D0 ; D78B 20 D0 42 .B inc stack+49 ; D78E EE 31 01 .1. rts ; D791 60 ` ; ---------------------------------------------------------------------------- jsr L877D ; D792 20 7D 87 }. sta $78 ; D795 85 78 .x ldx #$0A ; D797 A2 0A .. lda #$00 ; D799 A9 00 .. LD79B: sta stack+39,x ; D79B 9D 27 01 .'. dex ; D79E CA . bpl LD79B ; D79F 10 FA .. stx stack+38 ; D7A1 8E 26 01 .&. stx $80 ; D7A4 86 80 .. stx stack+37 ; D7A6 8E 25 01 .%. tax ; D7A9 AA . tay ; D7AA A8 . rts ; D7AB 60 ` ; ---------------------------------------------------------------------------- clc ; D7AC 18 . lda $80 ; D7AD A5 80 .. adc stack+45 ; D7AF 6D 2D 01 m-. bcs LD7ED ; D7B2 B0 39 .9 sec ; D7B4 38 8 sbc $77 ; D7B5 E5 77 .w bcc LD7ED ; D7B7 90 34 .4 cmp stack+36 ; D7B9 CD 24 01 .$. beq LD7C0 ; D7BC F0 02 .. bcs LD7ED ; D7BE B0 2D .- LD7C0: cmp stack+35 ; D7C0 CD 23 01 .#. bcc LD7ED ; D7C3 90 28 .( tax ; D7C5 AA . lda stack,x ; D7C6 BD 00 01 ... cmp #$35 ; D7C9 C9 35 .5 bcc LD7ED ; D7CB 90 20 . LD7CD: cpx stack+35 ; D7CD EC 23 01 .#. beq LD7DC ; D7D0 F0 0A .. dex ; D7D2 CA . jsr L9775 ; D7D3 20 75 97 u. stx stack+36 ; D7D6 8E 24 01 .$. beq LD7CD ; D7D9 F0 F2 .. rts ; D7DB 60 ` ; ---------------------------------------------------------------------------- LD7DC: lda #$31 ; D7DC A9 31 .1 sta stack,x ; D7DE 9D 00 01 ... inx ; D7E1 E8 . stx $80 ; D7E2 86 80 .. dec $77 ; D7E4 C6 77 .w bpl LD7ED ; D7E6 10 05 .. inc $77 ; D7E8 E6 77 .w inc stack+42 ; D7EA EE 2A 01 .*. LD7ED: rts ; D7ED 60 ` ; ---------------------------------------------------------------------------- ldy $80 ; D7EE A4 80 .. beq LD809 ; D7F0 F0 17 .. ldy stack+35 ; D7F2 AC 23 01 .#. lda stack,y ; D7F5 B9 00 01 ... cmp #$30 ; D7F8 C9 30 .0 rts ; D7FA 60 ` ; ---------------------------------------------------------------------------- LD7FB: inc $80 ; D7FB E6 80 .. jsr L9730 ; D7FD 20 30 97 0. inc stack+35 ; D800 EE 23 01 .#. cpy stack+36 ; D803 CC 24 01 .$. beq LD7ED ; D806 F0 E5 .. iny ; D808 C8 . LD809: jsr L97F5 ; D809 20 F5 97 .. beq LD7FB ; D80C F0 ED .. rts ; D80E 60 ` ; ---------------------------------------------------------------------------- lda stack+37 ; D80F AD 25 01 .%. bmi LD816 ; D812 30 02 0. inc $77 ; D814 E6 77 .w LD816: ldx stack+35 ; D816 AE 23 01 .#. dex ; D819 CA . ldy stack+52 ; D81A AC 34 01 .4. jsr L42D0 ; D81D 20 D0 42 .B iny ; D820 C8 . cmp #$2C ; D821 C9 2C ., bne LD839 ; D823 D0 14 .. bit stack+38 ; D825 2C 26 01 ,&. bmi LD833 ; D828 30 09 0. sta LFF03 ; D82A 8D 03 FF ... lda $1205 ; D82D AD 05 12 ... jmp L989E ; D830 4C 9E 98 L.. ; ---------------------------------------------------------------------------- LD833: lda stack+51 ; D833 AD 33 01 .3. jmp L989E ; D836 4C 9E 98 L.. ; ---------------------------------------------------------------------------- LD839: cmp #$2E ; D839 C9 2E .. bne LD846 ; D83B D0 09 .. sta LFF03 ; D83D 8D 03 FF ... lda $1206 ; D840 AD 06 12 ... jmp L989E ; D843 4C 9E 98 L.. ; ---------------------------------------------------------------------------- LD846: cmp #$2B ; D846 C9 2B .+ beq LD885 ; D848 F0 3B .; cmp #$2D ; D84A C9 2D .- beq LD880 ; D84C F0 32 .2 cmp #$5E ; D84E C9 5E .^ bne LD8BB ; D850 D0 69 .i lda #$45 ; D852 A9 45 .E jsr L98DE ; D854 20 DE 98 .. ldy stack+41 ; D857 AC 29 01 .). jsr L97F5 ; D85A 20 F5 97 .. bne LD865 ; D85D D0 06 .. iny ; D85F C8 . jsr L97F5 ; D860 20 F5 97 .. beq LD86C ; D863 F0 07 .. LD865: lda #$2D ; D865 A9 2D .- bit stack+40 ; D867 2C 28 01 ,(. bmi LD86E ; D86A 30 02 0. LD86C: lda #$2B ; D86C A9 2B .+ LD86E: jsr L98DE ; D86E 20 DE 98 .. ldx stack+41 ; D871 AE 29 01 .). lda stack,x ; D874 BD 00 01 ... jsr L98DE ; D877 20 DE 98 .. ldy stack+54 ; D87A AC 36 01 .6. jmp L9894 ; D87D 4C 94 98 L.. ; ---------------------------------------------------------------------------- LD880: lda stack+50 ; D880 AD 32 01 .2. bmi LD833 ; D883 30 AE 0. LD885: lda stack+50 ; D885 AD 32 01 .2. jmp L989E ; D888 4C 9E 98 L.. ; ---------------------------------------------------------------------------- LD88B: lda $77 ; D88B A5 77 .w bne LD8A7 ; D88D D0 18 .. cpx stack+36 ; D88F EC 24 01 .$. beq LD899 ; D892 F0 05 .. inx ; D894 E8 . lda stack,x ; D895 BD 00 01 ... .byte $2C ; D898 2C , LD899: lda #$30 ; D899 A9 30 .0 lsr stack+38 ; D89B 4E 26 01 N&. jsr L98DE ; D89E 20 DE 98 .. beq LD8A6 ; D8A1 F0 03 .. jmp L981D ; D8A3 4C 1D 98 L.. ; ---------------------------------------------------------------------------- LD8A6: rts ; D8A6 60 ` ; ---------------------------------------------------------------------------- LD8A7: dec $77 ; D8A7 C6 77 .w lda stack+37 ; D8A9 AD 25 01 .%. bmi LD899 ; D8AC 30 EB 0. sec ; D8AE 38 8 ror stack+37 ; D8AF 6E 25 01 n%. sta LFF03 ; D8B2 8D 03 FF ... lda $1207 ; D8B5 AD 07 12 ... jmp L989B ; D8B8 4C 9B 98 L.. ; ---------------------------------------------------------------------------- LD8BB: lda stack+39 ; D8BB AD 27 01 .'. beq LD88B ; D8BE F0 CB .. dec stack+39 ; D8C0 CE 27 01 .'. LD8C3: beq LD8C8 ; D8C3 F0 03 .. jmp L9833 ; D8C5 4C 33 98 L3. ; ---------------------------------------------------------------------------- LD8C8: lda stack+46 ; D8C8 AD 2E 01 ... bmi LD8C3 ; D8CB 30 F6 0. jsr L42D0 ; D8CD 20 D0 42 .B cmp #$2C ; D8D0 C9 2C ., bne LD880 ; D8D2 D0 AC .. lda stack+51 ; D8D4 AD 33 01 .3. jsr L98DE ; D8D7 20 DE 98 .. iny ; D8DA C8 . jmp L98CD ; D8DB 4C CD 98 L.. ; ---------------------------------------------------------------------------- jsr L5609 ; D8DE 20 09 56 .V dec stack+49 ; D8E1 CE 31 01 .1. rts ; D8E4 60 ` ; ---------------------------------------------------------------------------- ldy stack+54 ; D8E5 AC 36 01 .6. jsr L977E ; D8E8 20 7E 97 ~. jsr L999A ; D8EB 20 9A 99 .. bne LD904 ; D8EE D0 14 .. sty stack+52 ; D8F0 8C 34 01 .4. bcc LD90F ; D8F3 90 1A .. tax ; D8F5 AA . LD8F6: jsr L977E ; D8F6 20 7E 97 ~. bcs LD900 ; D8F9 B0 05 .. jsr L99A2 ; D8FB 20 A2 99 .. beq LD90A ; D8FE F0 0A .. LD900: ldy stack+52 ; D900 AC 34 01 .4. txa ; D903 8A . LD904: jsr L5609 ; D904 20 09 56 .V jmp L98E8 ; D907 4C E8 98 L.. ; ---------------------------------------------------------------------------- LD90A: bcs LD8F6 ; D90A B0 EA .. ldy stack+52 ; D90C AC 34 01 .4. LD90F: ldx $77 ; D90F A6 77 .w bne LD98D ; D911 D0 7A .z stx stack+49 ; D913 8E 31 01 .1. dey ; D916 88 . LD917: dec stack+49 ; D917 CE 31 01 .1. LD91A: jsr L977E ; D91A 20 7E 97 ~. bcs LD993 ; D91D B0 74 .t cmp #$2C ; D91F C9 2C ., beq LD91A ; D921 F0 F7 .. jsr L9971 ; D923 20 71 99 q. bcc LD917 ; D926 90 EF .. cmp #$2E ; D928 C9 2E .. bne LD934 ; D92A D0 08 .. inx ; D92C E8 . cpx #$02 ; D92D E0 02 .. bcc LD91A ; D92F 90 E9 .. LD931: jmp L795A ; D931 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LD934: jsr L99A6 ; D934 20 A6 99 .. bne LD944 ; D937 D0 0B .. bcc LD93E ; D939 90 03 .. sta stack+43 ; D93B 8D 2B 01 .+. LD93E: inc stack+44,x ; D93E FE 2C 01 .,. jmp L991A ; D941 4C 1A 99 L.. ; ---------------------------------------------------------------------------- LD944: cmp #$24 ; D944 C9 24 .$ bne LD957 ; D946 D0 0F .. bit stack+37 ; D948 2C 25 01 ,%. bpl LD93E ; D94B 10 F1 .. clc ; D94D 18 . ror stack+37 ; D94E 6E 25 01 n%. dec stack+44 ; D951 CE 2C 01 .,. jmp L993E ; D954 4C 3E 99 L>. ; ---------------------------------------------------------------------------- LD957: cmp #$5E ; D957 C9 5E .^ bne LD971 ; D959 D0 16 .. ldx #$02 ; D95B A2 02 .. LD95D: jsr L977E ; D95D 20 7E 97 ~. bcs LD931 ; D960 B0 CF .. cmp #$5E ; D962 C9 5E .^ bne LD931 ; D964 D0 CB .. dex ; D966 CA . bpl LD95D ; D967 10 F4 .. inc stack+47 ; D969 EE 2F 01 ./. jsr L977E ; D96C 20 7E 97 ~. bcs LD993 ; D96F B0 22 ." LD971: cmp #$2B ; D971 C9 2B .+ bne LD98E ; D973 D0 19 .. lda stack+50 ; D975 AD 32 01 .2. bpl LD97F ; D978 10 05 .. lda #$2B ; D97A A9 2B .+ sta stack+50 ; D97C 8D 32 01 .2. LD97F: lda stack+46 ; D97F AD 2E 01 ... bne LD931 ; D982 D0 AD .. ror stack+46 ; D984 6E 2E 01 n.. sty stack+54 ; D987 8C 36 01 .6. inc stack+49 ; D98A EE 31 01 .1. LD98D: rts ; D98D 60 ` ; ---------------------------------------------------------------------------- LD98E: cmp #$2D ; D98E C9 2D .- beq LD97F ; D990 F0 ED .. sec ; D992 38 8 LD993: sty stack+54 ; D993 8C 36 01 .6. dec stack+54 ; D996 CE 36 01 .6. rts ; D999 60 ` ; ---------------------------------------------------------------------------- cmp #$2B ; D99A C9 2B .+ beq LD9B3 ; D99C F0 15 .. cmp #$2D ; D99E C9 2D .- beq LD9B3 ; D9A0 F0 11 .. cmp #$2E ; D9A2 C9 2E .. beq LD9B3 ; D9A4 F0 0D .. cmp #$3D ; D9A6 C9 3D .= beq LD9B3 ; D9A8 F0 09 .. cmp #$3E ; D9AA C9 3E .> beq LD9B3 ; D9AC F0 05 .. cmp #$23 ; D9AE C9 23 .# bne LD9B3 ; D9B0 D0 01 .. clc ; D9B2 18 . LD9B3: rts ; D9B3 60 ` ; ---------------------------------------------------------------------------- lda $66 ; D9B4 A5 66 .f sta $03D6 ; D9B6 8D D6 03 ... lda $67 ; D9B9 A5 67 .g sta $03D7 ; D9BB 8D D7 03 ... jsr L77DD ; D9BE 20 DD 77 .w jsr L77CB ; D9C1 20 CB 77 .w lda $66 ; D9C4 A5 66 .f sta $03D8 ; D9C6 8D D8 03 ... lda $67 ; D9C9 A5 67 .g sta $03D9 ; D9CB 8D D9 03 ... ldx #$01 ; D9CE A2 01 .. stx $67 ; D9D0 86 67 .g jsr L0386 ; D9D2 20 86 03 .. cmp #$29 ; D9D5 C9 29 .) beq LD9DC ; D9D7 F0 03 .. jsr L8805 ; D9D9 20 05 88 .. LD9DC: jsr L7944 ; D9DC 20 44 79 Dy ldx $67 ; D9DF A6 67 .g bne LD9E6 ; D9E1 D0 03 .. jmp L7D16 ; D9E3 4C 16 7D L.} ; ---------------------------------------------------------------------------- LD9E6: dex ; D9E6 CA . stx $63 ; D9E7 86 63 .c ldx #$03 ; D9E9 A2 03 .. LD9EB: lda $03D6,x ; D9EB BD D6 03 ... sta $59,x ; D9EE 95 59 .Y dex ; D9F0 CA . bpl LD9EB ; D9F1 10 F8 .. ldy #$02 ; D9F3 A0 02 .. LD9F5: lda #$59 ; D9F5 A9 59 .Y jsr L03AB ; D9F7 20 AB 03 .. sta $5D,y ; D9FA 99 5D 00 .]. lda #$5B ; D9FD A9 5B .[ jsr L03AB ; D9FF 20 AB 03 .. sta $60,y ; DA02 99 60 00 .`. dey ; DA05 88 . bpl LD9F5 ; DA06 10 ED .. lda $60 ; DA08 A5 60 .` beq LDA47 ; DA0A F0 3B .; LDA0C: lda #$00 ; DA0C A9 00 .. sta $64 ; DA0E 85 64 .d clc ; DA10 18 . lda $60 ; DA11 A5 60 .` adc $63 ; DA13 65 63 ec bcs LDA47 ; DA15 B0 30 .0 cmp $5D ; DA17 C5 5D .] bcc LDA1D ; DA19 90 02 .. bne LDA47 ; DA1B D0 2A .* LDA1D: ldy $64 ; DA1D A4 64 .d cpy $60 ; DA1F C4 60 .` beq LDA42 ; DA21 F0 1F .. tya ; DA23 98 . clc ; DA24 18 . adc $63 ; DA25 65 63 ec tay ; DA27 A8 . lda #$5E ; DA28 A9 5E .^ jsr L03AB ; DA2A 20 AB 03 .. sta $79 ; DA2D 85 79 .y ldy $64 ; DA2F A4 64 .d lda #$61 ; DA31 A9 61 .a jsr L03AB ; DA33 20 AB 03 .. cmp $79 ; DA36 C5 79 .y beq LDA3E ; DA38 F0 04 .. inc $63 ; DA3A E6 63 .c bne LDA0C ; DA3C D0 CE .. LDA3E: inc $64 ; DA3E E6 64 .d bne LDA1D ; DA40 D0 DB .. LDA42: inc $63 ; DA42 E6 63 .c lda $63 ; DA44 A5 63 .c .byte $2C ; DA46 2C , LDA47: lda #$00 ; DA47 A9 00 .. sta LFF03 ; DA49 8D 03 FF ... pha ; DA4C 48 H lda $03D8 ; DA4D AD D8 03 ... ldy $03D9 ; DA50 AC D9 03 ... jsr L8781 ; DA53 20 81 87 .. sta LFF03 ; DA56 8D 03 FF ... lda $03D6 ; DA59 AD D6 03 ... ldy $03D7 ; DA5C AC D7 03 ... jsr L8781 ; DA5F 20 81 87 .. pla ; DA62 68 h tay ; DA63 A8 . jmp L84D0 ; DA64 4C D0 84 L.. ; ---------------------------------------------------------------------------- jsr L9D82 ; DA67 20 82 9D .. ldx #$00 ; DA6A A2 00 .. LDA6C: inx ; DA6C E8 . sec ; DA6D 38 8 sbc #$5A ; DA6E E9 5A .Z bcs LDA6C ; DA70 B0 FA .. dey ; DA72 88 . bpl LDA6C ; DA73 10 F7 .. stx $1149 ; DA75 8E 49 11 .I. pha ; DA78 48 H adc #$5A ; DA79 69 5A iZ jsr L9A87 ; DA7B 20 87 9A .. pla ; DA7E 68 h clc ; DA7F 18 . eor #$FF ; DA80 49 FF I. adc #$01 ; DA82 69 01 i. dec $1149 ; DA84 CE 49 11 .I. ldx #$FF ; DA87 A2 FF .. LDA89: inx ; DA89 E8 . sec ; DA8A 38 8 sbc #$0A ; DA8B E9 0A .. bcs LDA89 ; DA8D B0 FA .. adc #$0A ; DA8F 69 0A i. sta $8E ; DA91 85 8E .. txa ; DA93 8A . asl a ; DA94 0A . tax ; DA95 AA . lda L9F1D,x ; DA96 BD 1D 9F ... ldy L9F1C,x ; DA99 BC 1C 9F ... LDA9C: clc ; DA9C 18 . dec $8E ; DA9D C6 8E .. bmi LDAAD ; DA9F 30 0C 0. adc L9F31,x ; DAA1 7D 31 9F }1. pha ; DAA4 48 H tya ; DAA5 98 . adc L9F30,x ; DAA6 7D 30 9F }0. tay ; DAA9 A8 . pla ; DAAA 68 h bcc LDA9C ; DAAB 90 EF .. LDAAD: pha ; DAAD 48 H ldx #$00 ; DAAE A2 00 .. lda $1149 ; DAB0 AD 49 11 .I. lsr a ; DAB3 4A J bcs LDAB8 ; DAB4 B0 02 .. ldx #$02 ; DAB6 A2 02 .. LDAB8: pla ; DAB8 68 h sta $114A,x ; DAB9 9D 4A 11 .J. tya ; DABC 98 . sta $114B,x ; DABD 9D 4B 11 .K. rts ; DAC0 60 ` ; ---------------------------------------------------------------------------- ldy #$19 ; DAC1 A0 19 .. bcc LDAC7 ; DAC3 90 02 .. ldy #$1B ; DAC5 A0 1B .. LDAC7: lda $1149 ; DAC7 AD 49 11 .I. adc #$02 ; DACA 69 02 i. lsr a ; DACC 4A J lsr a ; DACD 4A J php ; DACE 08 . jsr L9D82 ; DACF 20 82 9D .. cpy #$FF ; DAD2 C0 FF .. bcc LDADD ; DAD4 90 07 .. txa ; DAD6 8A . tay ; DAD7 A8 . jsr L9D82 ; DAD8 20 82 9D .. bcs LDAE0 ; DADB B0 03 .. LDADD: jsr L9DA1 ; DADD 20 A1 9D .. LDAE0: plp ; DAE0 28 ( bcs LDAFE ; DAE1 B0 1B .. jmp L9D91 ; DAE3 4C 91 9D L.. ; ---------------------------------------------------------------------------- sta $114E ; DAE6 8D 4E 11 .N. ldx #$23 ; DAE9 A2 23 .# LDAEB: asl $114E ; DAEB 0E 4E 11 .N. jsr L9AC1 ; DAEE 20 C1 9A .. sta $1131,x ; DAF1 9D 31 11 .1. tya ; DAF4 98 . sta $1132,x ; DAF5 9D 32 11 .2. inx ; DAF8 E8 . inx ; DAF9 E8 . cpx #$2B ; DAFA E0 2B .+ bcc LDAEB ; DAFC 90 ED .. LDAFE: rts ; DAFE 60 ` ; ---------------------------------------------------------------------------- jsr L87F3 ; DAFF 20 F3 87 .. cpx #$02 ; DB02 E0 02 .. bcc LDB16 ; DB04 90 10 .. beq LDB0B ; DB06 F0 03 .. jmp L7D16 ; DB08 4C 16 7D L.} ; ---------------------------------------------------------------------------- LDB0B: jsr L9C3C ; DB0B 20 3C 9C <. tay ; DB0E A8 . bcc LDB13 ; DB0F 90 02 .. ldy #$00 ; DB11 A0 00 .. LDB13: jmp L84D0 ; DB13 4C D0 84 L.. ; ---------------------------------------------------------------------------- LDB16: txa ; DB16 8A . asl a ; DB17 0A . tax ; DB18 AA . lda $1131,x ; DB19 BD 31 11 .1. tay ; DB1C A8 . lda $1132,x ; DB1D BD 32 11 .2. LDB20: jmp L792A ; DB20 4C 2A 79 L*y ; ---------------------------------------------------------------------------- ldx #$02 ; DB23 A2 02 .. ldy #$06 ; DB25 A0 06 .. LDB27: lda #$00 ; DB27 A9 00 .. sta $113D,x ; DB29 9D 3D 11 .=. sta $113E,x ; DB2C 9D 3E 11 .>. jsr L9D8C ; DB2F 20 8C 9D .. bpl LDB3C ; DB32 10 08 .. dec $113D,x ; DB34 DE 3D 11 .=. dec $113E,x ; DB37 DE 3E 11 .>. bne LDB47 ; DB3A D0 0B .. LDB3C: cmp #$00 ; DB3C C9 00 .. bne LDB44 ; DB3E D0 04 .. cpy #$00 ; DB40 C0 00 .. beq LDB47 ; DB42 F0 03 .. LDB44: inc $113D,x ; DB44 FE 3D 11 .=. LDB47: sta $1139,x ; DB47 9D 39 11 .9. asl a ; DB4A 0A . sta $1141,x ; DB4B 9D 41 11 .A. tya ; DB4E 98 . sta $113A,x ; DB4F 9D 3A 11 .:. rol a ; DB52 2A * sta $1142,x ; DB53 9D 42 11 .B. dex ; DB56 CA . dex ; DB57 CA . ldy #$04 ; DB58 A0 04 .. cpx #$00 ; DB5A E0 00 .. beq LDB27 ; DB5C F0 C9 .. ldx #$0A ; DB5E A2 0A .. ldy #$08 ; DB60 A0 08 .. jsr L9D6F ; DB62 20 6F 9D o. lda #$00 ; DB65 A9 00 .. rol a ; DB67 2A * rol a ; DB68 2A * sta $1147 ; DB69 8D 47 11 .G. eor #$02 ; DB6C 49 02 I. sta $1148 ; DB6E 8D 48 11 .H. clc ; DB71 18 . lda #$10 ; DB72 A9 10 .. adc $1147 ; DB74 6D 47 11 mG. tay ; DB77 A8 . pha ; DB78 48 H eor #$02 ; DB79 49 02 I. tax ; DB7B AA . jsr L9D6F ; DB7C 20 6F 9D o. sta $1131,x ; DB7F 9D 31 11 .1. tya ; DB82 98 . sta $1132,x ; DB83 9D 32 11 .2. pla ; DB86 68 h tay ; DB87 A8 . clc ; DB88 18 . lda #$08 ; DB89 A9 08 .. adc $1148 ; DB8B 6D 48 11 mH. tax ; DB8E AA . jsr L9D6F ; DB8F 20 6F 9D o. sta $1145 ; DB92 8D 45 11 .E. sty $1146 ; DB95 8C 46 11 .F. LDB98: jsr L9BEE ; DB98 20 EE 9B .. ldy $1148 ; DB9B AC 48 11 .H. sec ; DB9E 38 8 lda $1139,y ; DB9F B9 39 11 .9. sbc #$01 ; DBA2 E9 01 .. sta $1139,y ; DBA4 99 39 11 .9. bcs LDBB4 ; DBA7 B0 0B .. lda $113A,y ; DBA9 B9 3A 11 .:. sbc #$00 ; DBAC E9 00 .. sta $113A,y ; DBAE 99 3A 11 .:. .byte $B0 ; DBB1 B0 . LDBB2: ora ($60,x) ; DBB2 01 60 .` LDBB4: ldx $1147 ; DBB4 AE 47 11 .G. lda $1146 ; DBB7 AD 46 11 .F. bmi LDBC2 ; DBBA 30 06 0. jsr L9BDD ; DBBC 20 DD 9B .. ldx $1148 ; DBBF AE 48 11 .H. LDBC2: clc ; DBC2 18 . lda $1145 ; DBC3 AD 45 11 .E. adc $1141,x ; DBC6 7D 41 11 }A. sta $1145 ; DBC9 8D 45 11 .E. lda $1146 ; DBCC AD 46 11 .F. adc $1142,x ; DBCF 7D 42 11 }B. sta $1146 ; DBD2 8D 46 11 .F. ldx $1148 ; DBD5 AE 48 11 .H. jsr L9BDD ; DBD8 20 DD 9B .. beq LDB98 ; DBDB F0 BB .. ldy #$02 ; DBDD A0 02 .. clc ; DBDF 18 . LDBE0: lda $1131,x ; DBE0 BD 31 11 .1. adc $113D,x ; DBE3 7D 3D 11 }=. sta $1131,x ; DBE6 9D 31 11 .1. inx ; DBE9 E8 . dey ; DBEA 88 . bne LDBE0 ; DBEB D0 F3 .. rts ; DBED 60 ` ; ---------------------------------------------------------------------------- lda $116C ; DBEE AD 6C 11 .l. ora $116B ; DBF1 0D 6B 11 .k. beq LDC0C ; DBF4 F0 16 .. inc $1131 ; DBF6 EE 31 11 .1. bne LDBFE ; DBF9 D0 03 .. inc $1132 ; DBFB EE 32 11 .2. LDBFE: jsr L9C0C ; DBFE 20 0C 9C .. ldx $1131 ; DC01 AE 31 11 .1. bne LDC09 ; DC04 D0 03 .. dec $1132 ; DC06 CE 32 11 .2. LDC09: dec $1131 ; DC09 CE 31 11 .1. LDC0C: jsr L9D17 ; DC0C 20 17 9D .. bcs LDC35 ; DC0F B0 24 .$ jsr L9C63 ; DC11 20 63 9C c. jsr L9CDB ; DC14 20 DB 9C .. sta $116D ; DC17 8D 6D 11 .m. lda ($8C),y ; DC1A B1 8C .. ora $116D ; DC1C 0D 6D 11 .m. bit $D8 ; DC1F 24 D8 $. bpl LDC36 ; DC21 10 13 .. pha ; DC23 48 H ldx $83 ; DC24 A6 83 .. lda $116D ; DC26 AD 6D 11 .m. and L9F18,x ; DC29 3D 18 9F =.. sta $116D ; DC2C 8D 6D 11 .m. pla ; DC2F 68 h LDC30: eor $116D ; DC30 4D 6D 11 Mm. LDC33: sta ($8C),y ; DC33 91 8C .. LDC35: rts ; DC35 60 ` ; ---------------------------------------------------------------------------- LDC36: ldx $83 ; DC36 A6 83 .. bne LDC33 ; DC38 D0 F9 .. beq LDC30 ; DC3A F0 F4 .. jsr L9CD6 ; DC3C 20 D6 9C .. bcs LDC62 ; DC3F B0 21 .! sta $116D ; DC41 8D 6D 11 .m. lda ($8C),y ; DC44 B1 8C .. and $116D ; DC46 2D 6D 11 -m. LDC49: rol a ; DC49 2A * dex ; DC4A CA . bpl LDC49 ; DC4B 10 FC .. rol a ; DC4D 2A * bit $8B ; DC4E 24 8B $. bmi LDC58 ; DC50 30 06 0. and #$03 ; DC52 29 03 ). cmp $83 ; DC54 C5 83 .. clc ; DC56 18 . rts ; DC57 60 ` ; ---------------------------------------------------------------------------- LDC58: clc ; DC58 18 . and #$03 ; DC59 29 03 ). beq LDC60 ; DC5B F0 03 .. ldx #$00 ; DC5D A2 00 .. rts ; DC5F 60 ` ; ---------------------------------------------------------------------------- LDC60: ldx #$FF ; DC60 A2 FF .. LDC62: rts ; DC62 60 ` ; ---------------------------------------------------------------------------- lda LC033,x ; DC63 BD 33 C0 .3. sta $8C ; DC66 85 8C .. lda L9CBD,x ; DC68 BD BD 9C ... sta $8D ; DC6B 85 8D .. lda $83 ; DC6D A5 83 .. bne LDC79 ; DC6F D0 08 .. lda $03E2 ; DC71 AD E2 03 ... bit $D8 ; DC74 24 D8 $. bpl LDC80 ; DC76 10 08 .. rts ; DC78 60 ` ; ---------------------------------------------------------------------------- LDC79: cmp #$02 ; DC79 C9 02 .. bne LDC8D ; DC7B D0 10 .. lda $03E3 ; DC7D AD E3 03 ... LDC80: and #$0F ; DC80 29 0F ). sta $77 ; DC82 85 77 .w lda ($8C),y ; DC84 B1 8C .. and #$F0 ; DC86 29 F0 ). ora $77 ; DC88 05 77 .w sta ($8C),y ; DC8A 91 8C .. rts ; DC8C 60 ` ; ---------------------------------------------------------------------------- LDC8D: bcs LDC9F ; DC8D B0 10 .. lda $03E2 ; DC8F AD E2 03 ... and #$F0 ; DC92 29 F0 ). sta $77 ; DC94 85 77 .w lda ($8C),y ; DC96 B1 8C .. and #$0F ; DC98 29 0F ). ora $77 ; DC9A 05 77 .w sta ($8C),y ; DC9C 91 8C .. rts ; DC9E 60 ` ; ---------------------------------------------------------------------------- LDC9F: lda $8D ; DC9F A5 8D .. and #$03 ; DCA1 29 03 ). ora #$D8 ; DCA3 09 D8 .. sta $8D ; DCA5 85 8D .. lda #$00 ; DCA7 A9 00 .. sta MMU_KERN_WINDOW ; DCA9 8D 00 FF ... sei ; DCAC 78 x lda $01 ; DCAD A5 01 .. pha ; DCAF 48 H and #$FE ; DCB0 29 FE ). sta $01 ; DCB2 85 01 .. lda $85 ; DCB4 A5 85 .. sta ($8C),y ; DCB6 91 8C .. pla ; DCB8 68 h sta $01 ; DCB9 85 01 .. cli ; DCBB 58 X rts ; DCBC 60 ` ; ---------------------------------------------------------------------------- trb $1C1C ; DCBD 1C 1C 1C ... trb $1C1C ; DCC0 1C 1C 1C ... trb $1D1D ; DCC3 1C 1D 1D ... ora $1D1D,x ; DCC6 1D 1D 1D ... ora $1E1E,x ; DCC9 1D 1E 1E ... asl $1E1E,x ; DCCC 1E 1E 1E ... asl $1F1E,x ; DCCF 1E 1E 1F ... bbr1 $1F,LDCF4 ; DCD2 1F 1F 1F ... bbr1 $20,LDCEF ; DCD5 1F 20 17 . . sta $33B0,x ; DCD8 9D B0 33 ..3 tya ; DCDB 98 . clc ; DCDC 18 . adc LC033,x ; DCDD 7D 33 C0 }3. sta $8C ; DCE0 85 8C .. lda LC04C,x ; DCE2 BD 4C C0 .L. adc #$00 ; DCE5 69 00 i. asl $8C ; DCE7 06 8C .. rol a ; DCE9 2A * asl $8C ; DCEA 06 8C .. rol a ; DCEC 2A * asl $8C ; DCED 06 8C .. LDCEF: rol a ; DCEF 2A * sta $8D ; DCF0 85 8D .. .byte $AD ; DCF2 AD . .byte $33 ; DCF3 33 3 LDCF4: ora ($29),y ; DCF4 11 29 .) rmb0 $A8 ; DCF6 07 A8 .. lda $1131 ; DCF8 AD 31 11 .1. bit $D8 ; DCFB 24 D8 $. php ; DCFD 08 . bpl LDD01 ; DCFE 10 01 .. asl a ; DD00 0A . LDD01: and #$07 ; DD01 29 07 ). tax ; DD03 AA . lda L9D0F,x ; DD04 BD 0F 9D ... plp ; DD07 28 ( bpl LDD0E ; DD08 10 04 .. inx ; DD0A E8 . ora L9D0F,x ; DD0B 1D 0F 9D ... LDD0E: rts ; DD0E 60 ` ; ---------------------------------------------------------------------------- bra LDD51 ; DD0F 80 40 .@ jsr L0810 ; DD11 20 10 08 .. tsb $02 ; DD14 04 02 .. ora (StopKeyFlag,x) ; DD16 01 AD .. and ($11) ; DD18 32 11 2. lsr a ; DD1A 4A J bne LDD3B ; DD1B D0 1E .. lda $1131 ; DD1D AD 31 11 .1. ror a ; DD20 6A j lsr a ; DD21 4A J bit $D8 ; DD22 24 D8 $. bmi LDD27 ; DD24 30 01 0. lsr a ; DD26 4A J LDD27: tay ; DD27 A8 . cpy #$28 ; DD28 C0 28 .( bcs LDD3B ; DD2A B0 0F .. lda $1134 ; DD2C AD 34 11 .4. bne LDD3B ; DD2F D0 0A .. lda $1133 ; DD31 AD 33 11 .3. lsr a ; DD34 4A J lsr a ; DD35 4A J lsr a ; DD36 4A J tax ; DD37 AA . cmp #$19 ; DD38 C9 19 .. rts ; DD3A 60 ` ; ---------------------------------------------------------------------------- LDD3B: sec ; DD3B 38 8 rts ; DD3C 60 ` ; ---------------------------------------------------------------------------- lda $116A ; DD3D AD 6A 11 .j. beq LDD59 ; DD40 F0 17 .. lda $87 ; DD42 A5 87 .. ldy $88 ; DD44 A4 88 .. jsr L9D4D ; DD46 20 4D 9D M. lda $89 ; DD49 A5 89 .. ldy $8A ; DD4B A4 8A .. jsr L9DA1 ; DD4D 20 A1 9D .. .byte $9D ; DD50 9D . LDD51: and ($11),y ; DD51 31 11 1. tya ; DD53 98 . inx ; DD54 E8 . sta $1131,x ; DD55 9D 31 11 .1. inx ; DD58 E8 . LDD59: rts ; DD59 60 ` ; ---------------------------------------------------------------------------- bcc LDD63 ; DD5A 90 07 .. bcs LDD72 ; DD5C B0 14 .. bcs LDD6F ; DD5E B0 0F .. jsr L9D82 ; DD60 20 82 9D .. LDD63: clc ; DD63 18 . adc $1131,x ; DD64 7D 31 11 }1. pha ; DD67 48 H tya ; DD68 98 . adc $1132,x ; DD69 7D 32 11 }2. tay ; DD6C A8 . pla ; DD6D 68 h rts ; DD6E 60 ` ; ---------------------------------------------------------------------------- LDD6F: jsr L9D82 ; DD6F 20 82 9D .. LDD72: sec ; DD72 38 8 sbc $1131,x ; DD73 FD 31 11 .1. sta $59 ; DD76 85 59 .Y tya ; DD78 98 . sbc $1132,x ; DD79 FD 32 11 .2. tay ; DD7C A8 . php ; DD7D 08 . lda $59 ; DD7E A5 59 .Y plp ; DD80 28 ( rts ; DD81 60 ` ; ---------------------------------------------------------------------------- lda $1131,y ; DD82 B9 31 11 .1. pha ; DD85 48 H lda $1132,y ; DD86 B9 32 11 .2. tay ; DD89 A8 . pla ; DD8A 68 h rts ; DD8B 60 ` ; ---------------------------------------------------------------------------- jsr L9D6F ; DD8C 20 6F 9D o. bpl LDDA0 ; DD8F 10 0F .. php ; DD91 08 . clc ; DD92 18 . eor #$FF ; DD93 49 FF I. adc #$01 ; DD95 69 01 i. pha ; DD97 48 H tya ; DD98 98 . eor #$FF ; DD99 49 FF I. adc #$00 ; DD9B 69 00 i. tay ; DD9D A8 . pla ; DD9E 68 h plp ; DD9F 28 ( LDDA0: rts ; DDA0 60 ` ; ---------------------------------------------------------------------------- sty $8E ; DDA1 84 8E .. sta $8F ; DDA3 85 8F .. lda $1131,x ; DDA5 BD 31 11 .1. ldy $1132,x ; DDA8 BC 32 11 .2. php ; DDAB 08 . jsr L9D8F ; DDAC 20 8F 9D .. sta $1131,x ; DDAF 9D 31 11 .1. tya ; DDB2 98 . sta $1132,x ; DDB3 9D 32 11 .2. lda #$00 ; DDB6 A9 00 .. sta $1177 ; DDB8 8D 77 11 .w. ldy #$10 ; DDBB A0 10 .. LDDBD: lsr $8E ; DDBD 46 8E F. ror $8F ; DDBF 66 8F f. bcc LDDD2 ; DDC1 90 0F .. clc ; DDC3 18 . adc $1131,x ; DDC4 7D 31 11 }1. pha ; DDC7 48 H lda $1177 ; DDC8 AD 77 11 .w. adc $1132,x ; DDCB 7D 32 11 }2. sta $1177 ; DDCE 8D 77 11 .w. pla ; DDD1 68 h LDDD2: lsr $1177 ; DDD2 4E 77 11 Nw. ror a ; DDD5 6A j dey ; DDD6 88 . bne LDDBD ; DDD7 D0 E4 .. adc #$00 ; DDD9 69 00 i. ldy $1177 ; DDDB AC 77 11 .w. bcc LDDE1 ; DDDE 90 01 .. iny ; DDE0 C8 . LDDE1: plp ; DDE1 28 ( jmp L9D8F ; DDE2 4C 8F 9D L.. ; ---------------------------------------------------------------------------- ldy #$00 ; DDE5 A0 00 .. jsr L9DEC ; DDE7 20 EC 9D .. ldy #$02 ; DDEA A0 02 .. lda $1135,y ; DDEC B9 35 11 .5. sta $1131,y ; DDEF 99 31 11 .1. lda $1136,y ; DDF2 B9 36 11 .6. sta $1132,y ; DDF5 99 32 11 .2. rts ; DDF8 60 ` ; ---------------------------------------------------------------------------- jsr L0386 ; DDF9 20 86 03 .. beq LDE0A ; DDFC F0 0C .. jsr L794A ; DDFE 20 4A 79 Jy cmp #$2C ; DE01 C9 2C ., beq LDE0A ; DE03 F0 05 .. jsr L880E ; DE05 20 0E 88 .. sec ; DE08 38 8 rts ; DE09 60 ` ; ---------------------------------------------------------------------------- LDE0A: lda #$00 ; DE0A A9 00 .. tay ; DE0C A8 . LDE0D: clc ; DE0D 18 . rts ; DE0E 60 ` ; ---------------------------------------------------------------------------- ldx #$00 ; DE0F A2 00 .. jsr L0386 ; DE11 20 86 03 .. beq LDE0D ; DE14 F0 F7 .. jsr L794A ; DE16 20 4A 79 Jy cmp #$2C ; DE19 C9 2C ., beq LDE0D ; DE1B F0 F0 .. jsr L87F0 ; DE1D 20 F0 87 .. sec ; DE20 38 8 rts ; DE21 60 ` ; ---------------------------------------------------------------------------- jsr LA067 ; DE22 20 67 A0 g. ldx #$01 ; DE25 A2 01 .. jsr L0386 ; DE27 20 86 03 .. beq LDE3F ; DE2A F0 13 .. cmp #$2C ; DE2C C9 2C ., beq LDE3F ; DE2E F0 0F .. jsr L87F0 ; DE30 20 F0 87 .. cpx #$04 ; DE33 E0 04 .. bcs LDE42 ; DE35 B0 0B .. cpx #$02 ; DE37 E0 02 .. bit $D8 ; DE39 24 D8 $. bmi LDE3F ; DE3B 30 02 0. bcs LDE42 ; DE3D B0 03 .. LDE3F: stx $83 ; DE3F 86 83 .. rts ; DE41 60 ` ; ---------------------------------------------------------------------------- LDE42: jmp L7D16 ; DE42 4C 16 7D L.} ; ---------------------------------------------------------------------------- jsr L0386 ; DE45 20 86 03 .. beq LDE51 ; DE48 F0 07 .. jsr L794A ; DE4A 20 4A 79 Jy cmp #$2C ; DE4D C9 2C ., bne LDE63 ; DE4F D0 12 .. LDE51: ldy #$00 ; DE51 A0 00 .. LDE53: lda $1131,y ; DE53 B9 31 11 .1. sta $1131,x ; DE56 9D 31 11 .1. inx ; DE59 E8 . iny ; DE5A C8 . cpy #$04 ; DE5B C0 04 .. bne LDE53 ; DE5D D0 F4 .. rts ; DE5F 60 ` ; ---------------------------------------------------------------------------- .byte $20 ; DE60 20 LDE61: lsr a ; DE61 4A J .byte $79 ; DE62 79 y LDE63: stx $1178 ; DE63 8E 78 11 .x. jsr L9EFB ; DE66 20 FB 9E .. jsr L0386 ; DE69 20 86 03 .. cmp #$2C ; DE6C C9 2C ., beq LDEC6 ; DE6E F0 56 .V cmp #$3B ; DE70 C9 3B .; beq LDE77 ; DE72 F0 03 .. jmp L795A ; DE74 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LDE77: jsr L0380 ; DE77 20 80 03 .. jsr L880E ; DE7A 20 0E 88 .. sta $77 ; DE7D 85 77 .w tya ; DE7F 98 . ldy $77 ; DE80 A4 77 .w jsr L9A6A ; DE82 20 6A 9A j. ldx $1178 ; DE85 AE 78 11 .x. lda $1131,x ; DE88 BD 31 11 .1. sta $1133,x ; DE8B 9D 33 11 .3. lda $1132,x ; DE8E BD 32 11 .2. sta $1134,x ; DE91 9D 34 11 .4. jsr L9D3D ; DE94 20 3D 9D =. lda #$0E ; DE97 A9 0E .. sta $1179 ; DE99 8D 79 11 .y. clc ; DE9C 18 . ldx $1178 ; DE9D AE 78 11 .x. LDEA0: jsr L9AC1 ; DEA0 20 C1 9A .. sta $1131,x ; DEA3 9D 31 11 .1. tya ; DEA6 98 . sta $1132,x ; DEA7 9D 32 11 .2. ldy #$00 ; DEAA A0 00 .. lsr $1179 ; DEAC 4E 79 11 Ny. bcc LDEB3 ; DEAF 90 02 .. .byte $A0 ; DEB1 A0 . LDEB2: .byte $02 ; DEB2 02 . LDEB3: jsr L9D5E ; DEB3 20 5E 9D ^. sta $1131,x ; DEB6 9D 31 11 .1. tya ; DEB9 98 . sta $1132,x ; DEBA 9D 32 11 .2. inx ; DEBD E8 . inx ; DEBE E8 . lsr $1179 ; DEBF 4E 79 11 Ny. bne LDEA0 ; DEC2 D0 DC .. clc ; DEC4 18 . rts ; DEC5 60 ` ; ---------------------------------------------------------------------------- LDEC6: jsr L0380 ; DEC6 20 80 03 .. inc $1178 ; DEC9 EE 78 11 .x. inc $1178 ; DECC EE 78 11 .x. jsr L9EFB ; DECF 20 FB 9E .. ldx $1178 ; DED2 AE 78 11 .x. dex ; DED5 CA . dex ; DED6 CA . jsr L9D3D ; DED7 20 3D 9D =. ldy #$02 ; DEDA A0 02 .. ldx $1178 ; DEDC AE 78 11 .x. inx ; DEDF E8 . inx ; DEE0 E8 . LDEE1: dex ; DEE1 CA . dex ; DEE2 CA . lsr $1179 ; DEE3 4E 79 11 Ny. bcc LDEF2 ; DEE6 90 0A .. jsr L9D60 ; DEE8 20 60 9D `. sta $1131,x ; DEEB 9D 31 11 .1. tya ; DEEE 98 . sta $1132,x ; DEEF 9D 32 11 .2. LDEF2: ldy #$00 ; DEF2 A0 00 .. cpx $1178 ; DEF4 EC 78 11 .x. beq LDEE1 ; DEF7 F0 E8 .. clc ; DEF9 18 . rts ; DEFA 60 ` ; ---------------------------------------------------------------------------- jsr L0386 ; DEFB 20 86 03 .. cmp #$AA ; DEFE C9 AA .. beq LDF07 ; DF00 F0 05 .. LDF02: .byte $C9 ; DF02 C9 . LDF03: .byte $AB ; DF03 AB . LDF04: .byte $F0 ; DF04 F0 . LDF05: .byte $01 ; DF05 01 . LDF06: clc ; DF06 18 . LDF07: .byte $2E ; DF07 2E . LDF08: adc $2011,y ; DF08 79 11 20 y. asl $AE88 ; DF0B 0E 88 AE ... sei ; DF0E 78 x ora ($9D),y ; DF0F 11 9D .. and ($11) ; DF11 32 11 2. tya ; DF13 98 . sta $1131,x ; DF14 9D 31 11 .1. rts ; DF17 60 ` ; ---------------------------------------------------------------------------- bbs7 $AA,LDF70 ; DF18 FF AA 55 ..U brk ; DF1B 00 . brk ; DF1C 00 . brk ; DF1D 00 . bit $5771 ; DF1E 2C 71 57 ,qW sta a:$80 ; DF21 8D 80 00 ... ldy $8F ; DF24 A4 8F .. cpy $19 ; DF26 C4 19 .. .byte $DD ; DF28 DD . LDF29: lda ($F0) ; DF29 B2 F0 .. bcc LDF29 ; DF2B 90 FC .. trb IRQ_VECTOR+1 ; DF2D 1C FF FF ... tsb $72 ; DF30 04 72 .r tsb $50 ; DF32 04 50 .P tsb $0B ; DF34 04 0B .. .byte $03 ; DF36 03 . tay ; DF37 A8 . .byte $03 ; DF38 03 . plp ; DF39 28 ( .byte $02 ; DF3A 02 . bcc LDF3E ; DF3B 90 01 .. .byte $E3 ; DF3D E3 . LDF3E: ora ($28,x) ; DF3E 01 28 .( brk ; DF40 00 . .byte $63 ; DF41 63 c lda $76 ; DF42 A5 76 .v beq LDF47 ; DF44 F0 01 .. rts ; DF46 60 ` ; ---------------------------------------------------------------------------- LDF47: lda $1211 ; DF47 AD 11 12 ... clc ; DF4A 18 . adc #$24 ; DF4B 69 24 i$ bcs LDF5D ; DF4D B0 0E .. sta $62 ; DF4F 85 62 .b cmp $1213 ; DF51 CD 13 12 ... bcc LDF60 ; DF54 90 0A .. bne LDF5D ; DF56 D0 05 .. cpy $1212 ; DF58 CC 12 12 ... bcc LDF60 ; DF5B 90 03 .. LDF5D: jmp L4D37 ; DF5D 4C 37 4D L7M ; ---------------------------------------------------------------------------- LDF60: dec $76 ; DF60 C6 76 .v lda $1210 ; DF62 AD 10 12 ... sta $24 ; DF65 85 24 .$ lda $62 ; DF67 A5 62 .b sta $25 ; DF69 85 25 .% ldx $1210 ; DF6B AE 10 12 ... stx $26 ; DF6E 86 26 .& LDF70: lda $1211 ; DF70 AD 11 12 ... sta $27 ; DF73 85 27 .' sec ; DF75 38 8 sbc #$1C ; DF76 E9 1C .. tay ; DF78 A8 . txa ; DF79 8A . eor #$FF ; DF7A 49 FF I. sta $50 ; DF7C 85 50 .P tya ; DF7E 98 . eor #$FF ; DF7F 49 FF I. sta $51 ; DF81 85 51 .Q ldy #$00 ; DF83 A0 00 .. inc $50 ; DF85 E6 50 .P bne LDF8D ; DF87 D0 04 .. inc $51 ; DF89 E6 51 .Q beq LDFA5 ; DF8B F0 18 .. LDF8D: lda $24 ; DF8D A5 24 .$ bne LDF93 ; DF8F D0 02 .. dec $25 ; DF91 C6 25 .% LDF93: dec $24 ; DF93 C6 24 .$ lda $26 ; DF95 A5 26 .& bne LDF9B ; DF97 D0 02 .. dec $27 ; DF99 C6 27 .' LDF9B: dec $26 ; DF9B C6 26 .& jsr L03C0 ; DF9D 20 C0 03 .. sta ($24),y ; DFA0 91 24 .$ jmp L9F85 ; DFA2 4C 85 9F L.. ; ---------------------------------------------------------------------------- LDFA5: clc ; DFA5 18 . lda $1211 ; DFA6 AD 11 12 ... adc #$24 ; DFA9 69 24 i$ sta $1211 ; DFAB 8D 11 12 ... lda $2E ; DFAE A5 2E .. adc #$24 ; DFB0 69 24 i$ sta $2E ; DFB2 85 2E .. lda $44 ; DFB4 A5 44 .D adc #$24 ; DFB6 69 24 i$ sta $44 ; DFB8 85 44 .D jsr L4F4C ; DFBA 20 4C 4F LO jsr L4F7F ; DFBD 20 7F 4F .O bit $7F ; DFC0 24 7F $. bpl LDFF1 ; DFC2 10 2D .- ldx #$24 ; DFC4 A2 24 .$ bit $76 ; DFC6 24 76 $v bmi LDFCC ; DFC8 30 02 0. ldx #$DC ; DFCA A2 DC .. LDFCC: txa ; DFCC 8A . clc ; DFCD 18 . adc $3E ; DFCE 65 3E e> sta $3E ; DFD0 85 3E .> txa ; DFD2 8A . clc ; DFD3 18 . adc $1203 ; DFD4 6D 03 12 m.. sta $1203 ; DFD7 8D 03 12 ... txa ; DFDA 8A . clc ; DFDB 18 . adc $120F ; DFDC 6D 0F 12 m.. sta $120F ; DFDF 8D 0F 12 ... jsr L5044 ; DFE2 20 44 50 DP LDFE5: lda $3F ; DFE5 A5 3F .? cmp #$FF ; DFE7 C9 FF .. bne LDFF2 ; DFE9 D0 07 .. lda $40 ; DFEB A5 40 .@ cmp #$09 ; DFED C9 09 .. bne LDFF2 ; DFEF D0 01 .. LDFF1: rts ; DFF1 60 ` ; ---------------------------------------------------------------------------- LDFF2: ldy #$00 ; DFF2 A0 00 .. lda ($3F),y ; DFF4 B1 3F .? cmp #$81 ; DFF6 C9 81 .. bne LE003 ; DFF8 D0 09 .. ldy #$10 ; DFFA A0 10 .. jsr LA055 ; DFFC 20 55 A0 U. lda #$12 ; DFFF A9 12 .. bne LE00A ; E001 D0 07 .. LE003: ldy #$04 ; E003 A0 04 .. jsr LA055 ; E005 20 55 A0 U. lda #$05 ; E008 A9 05 .. LE00A: clc ; E00A 18 . adc $3F ; E00B 65 3F e? sta $3F ; E00D 85 3F .? bcc LDFE5 ; E00F 90 D4 .. inc $40 ; E011 E6 40 .@ bne LDFE5 ; E013 D0 D0 .. lda $76 ; E015 A5 76 .v bne LE01A ; E017 D0 01 .. rts ; E019 60 ` ; ---------------------------------------------------------------------------- LE01A: ldy #$00 ; E01A A0 00 .. sty $76 ; E01C 84 76 .v sty $24 ; E01E 84 24 .$ sty $26 ; E020 84 26 .& lda #$1C ; E022 A9 1C .. sta $25 ; E024 85 25 .% lda #$40 ; E026 A9 40 .@ sta $27 ; E028 85 27 .' LE02A: jsr L03C0 ; E02A 20 C0 03 .. sta ($24),y ; E02D 91 24 .$ iny ; E02F C8 . bne LE02A ; E030 D0 F8 .. inc $25 ; E032 E6 25 .% inc $27 ; E034 E6 27 .' lda $1211 ; E036 AD 11 12 ... cmp $27 ; E039 C5 27 .' bcs LE02A ; E03B B0 ED .. sec ; E03D 38 8 lda $2E ; E03E A5 2E .. sbc #$24 ; E040 E9 24 .$ sta $2E ; E042 85 2E .. lda $1211 ; E044 AD 11 12 ... sbc #$24 ; E047 E9 24 .$ sta $1211 ; E049 8D 11 12 ... lda $44 ; E04C A5 44 .D sbc #$24 ; E04E E9 24 .$ sta $44 ; E050 85 44 .D jmp L9FBA ; E052 4C BA 9F L.. ; ---------------------------------------------------------------------------- lda ($3F),y ; E055 B1 3F .? bit $76 ; E057 24 76 $v bne LE061 ; E059 D0 06 .. sec ; E05B 38 8 sbc #$24 ; E05C E9 24 .$ sta ($3F),y ; E05E 91 3F .? rts ; E060 60 ` ; ---------------------------------------------------------------------------- LE061: clc ; E061 18 . adc #$24 ; E062 69 24 i$ sta ($3F),y ; E064 91 3F .? rts ; E066 60 ` ; ---------------------------------------------------------------------------- lda $76 ; E067 A5 76 .v beq LE06C ; E069 F0 01 .. rts ; E06B 60 ` ; ---------------------------------------------------------------------------- LE06C: ldx #$23 ; E06C A2 23 .# jmp L4D39 ; E06E 4C 39 4D L9M ; ---------------------------------------------------------------------------- jsr LA396 ; E071 20 96 A3 .. lda $80 ; E074 A5 80 .. and #$E6 ; E076 29 E6 ). beq LE07D ; E078 F0 03 .. jmp L795A ; E07A 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE07D: ldy #$01 ; E07D A0 01 .. ldx #$01 ; E07F A2 01 .. lda $80 ; E081 A5 80 .. and #$11 ; E083 29 11 ). beq LE08D ; E085 F0 06 .. lsr a ; E087 4A J bcc LE08C ; E088 90 02 .. inx ; E08A E8 . inx ; E08B E8 . LE08C: inx ; E08C E8 . LE08D: txa ; E08D 8A . jsr LA63C ; E08E 20 3C A6 <. lda #$00 ; E091 A9 00 .. tax ; E093 AA . jsr L927A ; E094 20 7A 92 z. ldy #$60 ; E097 A0 60 .` ldx stack+28 ; E099 AE 1C 01 ... lda #$00 ; E09C A9 00 .. jsr L924A ; E09E 20 4A 92 J. sec ; E0A1 38 8 jsr L90CB ; E0A2 20 CB 90 .. bcc LE0B0 ; E0A5 90 09 .. pha ; E0A7 48 H jsr LA107 ; E0A8 20 07 A1 .. pla ; E0AB 68 h tax ; E0AC AA . jmp L4D39 ; E0AD 4C 39 4D L9M ; ---------------------------------------------------------------------------- LE0B0: ldx #$00 ; E0B0 A2 00 .. jsr LA81A ; E0B2 20 1A A8 .. jsr LFFC6 ; E0B5 20 C6 FF .. ldy #$03 ; E0B8 A0 03 .. LE0BA: sty $1174 ; E0BA 8C 74 11 .t. LE0BD: jsr L9256 ; E0BD 20 56 92 V. sta $1175 ; E0C0 8D 75 11 .u. jsr L9244 ; E0C3 20 44 92 D. bne LE107 ; E0C6 D0 3F .? jsr L9256 ; E0C8 20 56 92 V. sta $1176 ; E0CB 8D 76 11 .v. jsr L9244 ; E0CE 20 44 92 D. bne LE107 ; E0D1 D0 34 .4 dec $1174 ; E0D3 CE 74 11 .t. bne LE0BD ; E0D6 D0 E5 .. ldx $1175 ; E0D8 AE 75 11 .u. lda $1176 ; E0DB AD 76 11 .v. jsr L8E25 ; E0DE 20 25 8E %. lda #$20 ; E0E1 A9 20 . jsr L925C ; E0E3 20 5C 92 \. jsr L9256 ; E0E6 20 56 92 V. pha ; E0E9 48 H jsr L9244 ; E0EA 20 44 92 D. bne LE106 ; E0ED D0 17 .. pla ; E0EF 68 h beq LE0F8 ; E0F0 F0 06 .. jsr L925C ; E0F2 20 5C 92 \. jmp LA0E6 ; E0F5 4C E6 A0 L.. ; ---------------------------------------------------------------------------- LE0F8: lda #$0D ; E0F8 A9 0D .. jsr L925C ; E0FA 20 5C 92 \. jsr L9286 ; E0FD 20 86 92 .. beq LE107 ; E100 F0 05 .. ldy #$02 ; E102 A0 02 .. bne LE0BA ; E104 D0 B4 .. LE106: pla ; E106 68 h LE107: jsr L9262 ; E107 20 62 92 b. lda #$00 ; E10A A9 00 .. clc ; E10C 18 . jmp L9268 ; E10D 4C 68 92 Lh. ; ---------------------------------------------------------------------------- lda #$22 ; E110 A9 22 ." jsr LA398 ; E112 20 98 A3 .. jsr LA744 ; E115 20 44 A7 D. jsr LA14A ; E118 20 4A A1 J. ldy #$05 ; E11B A0 05 .. ldx #$04 ; E11D A2 04 .. bit $80 ; E11F 24 80 $. bvc LE136 ; E121 50 13 P. ldx #$08 ; E123 A2 08 .. bne LE136 ; E125 D0 0F .. lda #$E2 ; E127 A9 E2 .. jsr LA398 ; E129 20 98 A3 .. jsr LA744 ; E12C 20 44 A7 D. jsr LA14A ; E12F 20 4A A1 J. ldy #$16 ; E132 A0 16 .. ldx #$05 ; E134 A2 05 .. LE136: txa ; E136 8A . jsr LA63C ; E137 20 3C A6 <. jsr L9262 ; E13A 20 62 92 b. lda #$00 ; E13D A9 00 .. tax ; E13F AA . jsr L927A ; E140 20 7A 92 z. jsr L90CB ; E143 20 CB 90 .. sec ; E146 38 8 jmp L9268 ; E147 4C 68 92 Lh. ; ---------------------------------------------------------------------------- ldy #$61 ; E14A A0 61 .a LE14C: iny ; E14C C8 . cpy #$6F ; E14D C0 6F .o beq LE15D ; E14F F0 0C .. jsr LA81A ; E151 20 1A A8 .. jsr LFF5C ; E154 20 5C FF \. bcc LE14C ; E157 90 F3 .. sty stack+29 ; E159 8C 1D 01 ... rts ; E15C 60 ` ; ---------------------------------------------------------------------------- LE15D: ldx #$01 ; E15D A2 01 .. jmp L4D39 ; E15F 4C 39 4D L9M ; ---------------------------------------------------------------------------- lda #$F3 ; E162 A9 F3 .. jsr LA398 ; E164 20 98 A3 .. jsr LA7E2 ; E167 20 E2 A7 .. lda $80 ; E16A A5 80 .. and #$04 ; E16C 29 04 ). beq LE176 ; E16E F0 06 .. lda stack+27 ; E170 AD 1B 01 ... jmp L9268 ; E173 4C 68 92 Lh. ; ---------------------------------------------------------------------------- LE176: lda stack+28 ; E176 AD 1C 01 ... jsr LA81A ; E179 20 1A A8 .. jmp LFF4A ; E17C 4C 4A FF LJ. ; ---------------------------------------------------------------------------- lda #$66 ; E17F A9 66 .f jsr LA398 ; E181 20 98 A3 .. jsr LA725 ; E184 20 25 A7 %. ldy #$05 ; E187 A0 05 .. lda #$04 ; E189 A9 04 .. jsr LA63C ; E18B 20 3C A6 <. lda #$00 ; E18E A9 00 .. tax ; E190 AA . jsr L927A ; E191 20 7A 92 z. jmp L9108 ; E194 4C 08 91 L.. ; ---------------------------------------------------------------------------- lda #$01 ; E197 A9 01 .. bit a:$A9 ; E199 2C A9 00 ,.. sta $0C ; E19C 85 0C .. lda #$E6 ; E19E A9 E6 .. jsr LA398 ; E1A0 20 98 A3 .. jsr LA725 ; E1A3 20 25 A7 %. lda #$00 ; E1A6 A9 00 .. sta stack+29 ; E1A8 8D 1D 01 ... ldy #$05 ; E1AB A0 05 .. lda #$04 ; E1AD A9 04 .. jsr LA63C ; E1AF 20 3C A6 <. lda #$00 ; E1B2 A9 00 .. tax ; E1B4 AA . jsr L927A ; E1B5 20 7A 92 z. jmp L9126 ; E1B8 4C 26 91 L&. ; ---------------------------------------------------------------------------- lda #$66 ; E1BB A9 66 .f ldx #$F8 ; E1BD A2 F8 .. jsr LA39A ; E1BF 20 9A A3 .. jsr LA725 ; E1C2 20 25 A7 %. lda L0081 ; E1C5 A5 81 .. and #$06 ; E1C7 29 06 ). cmp #$06 ; E1C9 C9 06 .. beq LE1D0 ; E1CB F0 03 .. jmp L795A ; E1CD 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE1D0: ldy #$05 ; E1D0 A0 05 .. lda #$04 ; E1D2 A9 04 .. jsr LA63C ; E1D4 20 3C A6 <. lda stack+31 ; E1D7 AD 1F 01 ... ldx #$00 ; E1DA A2 00 .. jsr L927A ; E1DC 20 7A 92 z. ldx stack+23 ; E1DF AE 17 01 ... ldy stack+24 ; E1E2 AC 18 01 ... lda #$5A ; E1E5 A9 5A .Z stx $5A ; E1E7 86 5A .Z sty $5B ; E1E9 84 5B .[ ldx stack+25 ; E1EB AE 19 01 ... ldy stack+26 ; E1EE AC 1A 01 ... jmp L9110 ; E1F1 4C 10 91 L.. ; ---------------------------------------------------------------------------- lda #$E6 ; E1F4 A9 E6 .. ldx #$FC ; E1F6 A2 FC .. jsr LA39A ; E1F8 20 9A A3 .. jsr LA725 ; E1FB 20 25 A7 %. ldx stack+23 ; E1FE AE 17 01 ... ldy stack+24 ; E201 AC 18 01 ... lda #$00 ; E204 A9 00 .. cpx #$FF ; E206 E0 FF .. bne LE210 ; E208 D0 06 .. cpy #$FF ; E20A C0 FF .. bne LE210 ; E20C D0 02 .. lda #$FF ; E20E A9 FF .. LE210: sta stack+29 ; E210 8D 1D 01 ... ldy #$05 ; E213 A0 05 .. lda #$04 ; E215 A9 04 .. jsr LA63C ; E217 20 3C A6 <. lda stack+31 ; E21A AD 1F 01 ... ldx #$00 ; E21D A2 00 .. jsr L927A ; E21F 20 7A 92 z. lda #$00 ; E222 A9 00 .. ldx stack+23 ; E224 AE 17 01 ... ldy stack+24 ; E227 AC 18 01 ... jsr LOAD ; E22A 20 D5 FF .. php ; E22D 08 . jsr L9236 ; E22E 20 36 92 6. plp ; E231 28 ( bcc LE237 ; E232 90 03 .. jmp L90C3 ; E234 4C C3 90 L.. ; ---------------------------------------------------------------------------- LE237: jsr L9244 ; E237 20 44 92 D. and #$BF ; E23A 29 BF ). beq LE241 ; E23C F0 03 .. jmp L915A ; E23E 4C 5A 91 LZ. ; ---------------------------------------------------------------------------- LE241: clc ; E241 18 . rts ; E242 60 ` ; ---------------------------------------------------------------------------- jsr LA396 ; E243 20 96 A3 .. jsr LA71E ; E246 20 1E A7 .. and #$01 ; E249 29 01 ). cmp #$01 ; E24B C9 01 .. bne LE2B0 ; E24D D0 61 .a jsr L926E ; E24F 20 6E 92 n. jsr LA7B6 ; E252 20 B6 A7 .. bne LE27C ; E255 D0 25 .% ldy #$1B ; E257 A0 1B .. lda #$04 ; E259 A9 04 .. ldx stack+32 ; E25B AE 20 01 . . beq LE262 ; E25E F0 02 .. lda #$06 ; E260 A9 06 .. LE262: jsr LA373 ; E262 20 73 A3 s. jsr LA74D ; E265 20 4D A7 M. bit $7F ; E268 24 7F $. bmi LE27C ; E26A 30 10 0. ldy #$00 ; E26C A0 00 .. lda #$7B ; E26E A9 7B .{ jsr L03AB ; E270 20 AB 03 .. cmp #$32 ; E273 C9 32 .2 bcc LE27C ; E275 90 05 .. ldx #$24 ; E277 A2 24 .$ jmp L4D39 ; E279 4C 39 4D L9M ; ---------------------------------------------------------------------------- LE27C: rts ; E27C 60 ` ; ---------------------------------------------------------------------------- jsr LA396 ; E27D 20 96 A3 .. jsr LA71E ; E280 20 1E A7 .. jsr LA7B6 ; E283 20 B6 A7 .. bne LE2AF ; E286 D0 27 .' ldy #$37 ; E288 A0 37 .7 lda #$04 ; E28A A9 04 .. jsr LA373 ; E28C 20 73 A3 s. jsr LA74D ; E28F 20 4D A7 M. bit $7F ; E292 24 7F $. bmi LE2AF ; E294 30 19 0. lda #$0D ; E296 A9 0D .. jsr L925C ; E298 20 5C 92 \. ldy #$00 ; E29B A0 00 .. LE29D: lda #$7B ; E29D A9 7B .{ jsr L03AB ; E29F 20 AB 03 .. beq LE2AA ; E2A2 F0 06 .. jsr L925C ; E2A4 20 5C 92 \. iny ; E2A7 C8 . bne LE29D ; E2A8 D0 F3 .. LE2AA: lda #$0D ; E2AA A9 0D .. jsr L90D2 ; E2AC 20 D2 90 .. LE2AF: rts ; E2AF 60 ` ; ---------------------------------------------------------------------------- LE2B0: jmp L795A ; E2B0 4C 5A 79 LZy ; ---------------------------------------------------------------------------- lda #$23 ; E2B3 A9 23 .# jsr L794C ; E2B5 20 4C 79 Ly jsr L87F0 ; E2B8 20 F0 87 .. cpx #$00 ; E2BB E0 00 .. beq LE2F6 ; E2BD F0 37 .7 stx stack+27 ; E2BF 8E 1B 01 ... jsr L880B ; E2C2 20 0B 88 .. ldx #$01 ; E2C5 A2 01 .. jsr L9E11 ; E2C7 20 11 9E .. cpx #$00 ; E2CA E0 00 .. beq LE2F6 ; E2CC F0 28 .( cpx #$FF ; E2CE E0 FF .. beq LE2F6 ; E2D0 F0 24 .$ stx stack+30 ; E2D2 8E 1E 01 ... lda stack+27 ; E2D5 AD 1B 01 ... jsr LA81A ; E2D8 20 1A A8 .. jsr LFF59 ; E2DB 20 59 FF Y. bcs LE2F9 ; E2DE B0 19 .. sty $11ED ; E2E0 8C ED 11 ... stx stack+28 ; E2E3 8E 1C 01 ... lda #$00 ; E2E6 A9 00 .. sta stack+27 ; E2E8 8D 1B 01 ... lda #$6F ; E2EB A9 6F .o sta stack+29 ; E2ED 8D 1D 01 ... ldy #$3B ; E2F0 A0 3B .; lda #$04 ; E2F2 A9 04 .. bne LE373 ; E2F4 D0 7D .} LE2F6: jmp L7D16 ; E2F6 4C 16 7D L.} ; ---------------------------------------------------------------------------- LE2F9: ldx #$04 ; E2F9 A2 04 .. jmp L4D39 ; E2FB 4C 39 4D L9M ; ---------------------------------------------------------------------------- jsr LA396 ; E2FE 20 96 A3 .. ldy #$FF ; E301 A0 FF .. lda #$02 ; E303 A9 02 .. jsr LA373 ; E305 20 73 A3 s. jmp LA176 ; E308 4C 76 A1 Lv. ; ---------------------------------------------------------------------------- jsr LA396 ; E30B 20 96 A3 .. jsr LA730 ; E30E 20 30 A7 0. jsr L926E ; E311 20 6E 92 n. ldy #$21 ; E314 A0 21 .! ldx #$01 ; E316 A2 01 .. lda $80 ; E318 A5 80 .. and #$10 ; E31A 29 10 ). beq LE31F ; E31C F0 01 .. inx ; E31E E8 . LE31F: txa ; E31F 8A . bne LE373 ; E320 D0 51 .Q jsr LA396 ; E322 20 96 A3 .. and #$30 ; E325 29 30 )0 cmp #$30 ; E327 C9 30 .0 bne LE331 ; E329 D0 06 .. lda $80 ; E32B A5 80 .. and #$C7 ; E32D 29 C7 ). beq LE338 ; E32F F0 07 .. LE331: lda $80 ; E331 A5 80 .. jsr LA735 ; E333 20 35 A7 5. lda $80 ; E336 A5 80 .. LE338: ldy #$27 ; E338 A0 27 .' lda #$08 ; E33A A9 08 .. bne LE373 ; E33C D0 35 .5 jsr LA396 ; E33E 20 96 A3 .. jsr LA735 ; E341 20 35 A7 5. ldy #$0D ; E344 A0 0D .. lda #$0C ; E346 A9 0C .. bne LE373 ; E348 D0 29 .) lda #$E4 ; E34A A9 E4 .. jsr LA398 ; E34C 20 98 A3 .. jsr LA73B ; E34F 20 3B A7 ;. ldy #$2F ; E352 A0 2F ./ lda #$08 ; E354 A9 08 .. bne LE373 ; E356 D0 1B .. lda #$C7 ; E358 A9 C7 .. jsr LA398 ; E35A 20 98 A3 .. and #$30 ; E35D 29 30 )0 cmp #$30 ; E35F C9 30 .0 beq LE366 ; E361 F0 03 .. jmp L795A ; E363 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE366: jsr LA7B6 ; E366 20 B6 A7 .. bne LE36C ; E369 D0 01 .. rts ; E36B 60 ` ; ---------------------------------------------------------------------------- LE36C: jsr LA176 ; E36C 20 76 A1 v. ldy #$23 ; E36F A0 23 .# lda #$04 ; E371 A9 04 .. LE373: jsr LA63C ; E373 20 3C A6 <. jsr L9262 ; E376 20 62 92 b. lda #$00 ; E379 A9 00 .. tax ; E37B AA . jsr L927A ; E37C 20 7A 92 z. sec ; E37F 38 8 jsr L90CB ; E380 20 CB 90 .. bcc LE388 ; E383 90 03 .. jmp L90C3 ; E385 4C C3 90 L.. ; ---------------------------------------------------------------------------- LE388: lda stack+27 ; E388 AD 1B 01 ... sec ; E38B 38 8 jmp L9268 ; E38C 4C 68 92 Lh. ; ---------------------------------------------------------------------------- .byte $FF ; E38F FF . .byte $FF ; E390 FF . LE391: bbs7 $FF,$FF ; E391 FF FF 00 ... php ; E394 08 . bbr6 $A9,LE398 ; E395 6F A9 00 o.. LE398: ldx #$FF ; E398 A2 FF .. pha ; E39A 48 H txa ; E39B 8A . pha ; E39C 48 H LE39D: lda #$00 ; E39D A9 00 .. sta $80 ; E39F 85 80 .. sta L0081 ; E3A1 85 81 .. ldx #$22 ; E3A3 A2 22 ." LE3A5: sta stack,x ; E3A5 9D 00 01 ... dex ; E3A8 CA . bne LE3A5 ; E3A9 D0 FA .. ldx #$06 ; E3AB A2 06 .. LE3AD: lda LA38F,x ; E3AD BD 8F A3 ... sta stack+23,x ; E3B0 9D 17 01 ... dex ; E3B3 CA . bpl LE3AD ; E3B4 10 F7 .. ldx $03D5 ; E3B6 AE D5 03 ... stx stack+31 ; E3B9 8E 1F 01 ... jsr L0386 ; E3BC 20 86 03 .. bne LE3CF ; E3BF D0 0E .. pla ; E3C1 68 h and L0081 ; E3C2 25 81 %. bne LE431 ; E3C4 D0 6B .k pla ; E3C6 68 h jsr LA5F2 ; E3C7 20 F2 A5 .. lda $80 ; E3CA A5 80 .. ldx L0081 ; E3CC A6 81 .. rts ; E3CE 60 ` ; ---------------------------------------------------------------------------- LE3CF: cmp #$23 ; E3CF C9 23 .# beq LE41E ; E3D1 F0 4B .K cmp #$57 ; E3D3 C9 57 .W beq LE434 ; E3D5 F0 5D .] cmp #$4C ; E3D7 C9 4C .L beq LE434 ; E3D9 F0 59 .Y cmp #$52 ; E3DB C9 52 .R beq LE408 ; E3DD F0 29 .) cmp #$44 ; E3DF C9 44 .D beq LE456 ; E3E1 F0 73 .s cmp #$91 ; E3E3 C9 91 .. beq LE40E ; E3E5 F0 27 .' cmp #$42 ; E3E7 C9 42 .B beq LE419 ; E3E9 F0 2E .. cmp #$55 ; E3EB C9 55 .U beq LE414 ; E3ED F0 25 .% cmp #$50 ; E3EF C9 50 .P bne LE3F6 ; E3F1 D0 03 .. jmp LA48B ; E3F3 4C 8B A4 L.. ; ---------------------------------------------------------------------------- LE3F6: cmp #$49 ; E3F6 C9 49 .I beq LE46F ; E3F8 F0 75 .u cmp #$22 ; E3FA C9 22 ." beq LE405 ; E3FC F0 07 .. cmp #$28 ; E3FE C9 28 .( beq LE405 ; E400 F0 03 .. jmp L795A ; E402 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE405: jmp LA4B3 ; E405 4C B3 A4 L.. ; ---------------------------------------------------------------------------- LE408: jsr L0380 ; E408 20 80 03 .. jmp LA4D2 ; E40B 4C D2 A4 L.. ; ---------------------------------------------------------------------------- LE40E: jsr LA559 ; E40E 20 59 A5 Y. LE411: jmp LA4CE ; E411 4C CE A4 L.. ; ---------------------------------------------------------------------------- LE414: jsr LA564 ; E414 20 64 A5 d. bne LE411 ; E417 D0 F8 .. LE419: jsr LA575 ; E419 20 75 A5 u. beq LE411 ; E41C F0 F3 .. LE41E: lda #$04 ; E41E A9 04 .. jsr LA5F2 ; E420 20 F2 A5 .. jsr LA5C7 ; E423 20 C7 A5 .. cpx #$00 ; E426 E0 00 .. beq LE46C ; E428 F0 42 .B stx stack+27 ; E42A 8E 1B 01 ... lda #$04 ; E42D A9 04 .. bne LE411 ; E42F D0 E0 .. LE431: jmp L795A ; E431 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE434: tax ; E434 AA . lda #$40 ; E435 A9 40 .@ jsr LA5F2 ; E437 20 F2 A5 .. cpx #$57 ; E43A E0 57 .W bne LE444 ; E43C D0 06 .. jsr L0380 ; E43E 20 80 03 .. jmp LA452 ; E441 4C 52 A4 LR. ; ---------------------------------------------------------------------------- LE444: jsr LA5C7 ; E444 20 C7 A5 .. cpx #$00 ; E447 E0 00 .. beq LE46C ; E449 F0 21 .! cpx #$FF ; E44B E0 FF .. beq LE46C ; E44D F0 1D .. stx stack+30 ; E44F 8E 1E 01 ... lda #$40 ; E452 A9 40 .@ bne LE46A ; E454 D0 14 .. LE456: lda #$10 ; E456 A9 10 .. jsr LA5F2 ; E458 20 F2 A5 .. jsr LA5C7 ; E45B 20 C7 A5 .. cpx #$02 ; E45E E0 02 .. bcs LE46C ; E460 B0 0A .. stx stack+18 ; E462 8E 12 01 ... stx stack+20 ; E465 8E 14 01 ... lda #$10 ; E468 A9 10 .. LE46A: bne LE4CE ; E46A D0 62 .b LE46C: jmp L7D16 ; E46C 4C 16 7D L.} ; ---------------------------------------------------------------------------- LE46F: lda stack+34 ; E46F AD 22 01 .". bne LE431 ; E472 D0 BD .. jsr L0380 ; E474 20 80 03 .. sta stack+32 ; E477 8D 20 01 . . jsr L0380 ; E47A 20 80 03 .. sta stack+33 ; E47D 8D 21 01 .!. lda #$FF ; E480 A9 FF .. sta stack+34 ; E482 8D 22 01 .". jsr L0380 ; E485 20 80 03 .. jmp LA4D2 ; E488 4C D2 A4 L.. ; ---------------------------------------------------------------------------- lda #$02 ; E48B A9 02 .. jsr LA5F7 ; E48D 20 F7 A5 .. jsr LA5DA ; E490 20 DA A5 .. sty stack+23 ; E493 8C 17 01 ... sta stack+24 ; E496 8D 18 01 ... lda #$02 ; E499 A9 02 .. LE49B: ora L0081 ; E49B 05 81 .. sta L0081 ; E49D 85 81 .. bne LE4D2 ; E49F D0 31 .1 LE4A1: lda #$04 ; E4A1 A9 04 .. jsr LA5F7 ; E4A3 20 F7 A5 .. jsr LA5DA ; E4A6 20 DA A5 .. sty stack+25 ; E4A9 8C 19 01 ... sta stack+26 ; E4AC 8D 1A 01 ... lda #$04 ; E4AF A9 04 .. bne LE49B ; E4B1 D0 E8 .. lda #$01 ; E4B3 A9 01 .. jsr LA590 ; E4B5 20 90 A5 .. sta stack+17 ; E4B8 8D 11 01 ... ldy #$00 ; E4BB A0 00 .. LE4BD: jsr L03B7 ; E4BD 20 B7 03 .. sta LFF03 ; E4C0 8D 03 FF ... sta $12B7,y ; E4C3 99 B7 12 ... iny ; E4C6 C8 . cpy stack+17 ; E4C7 CC 11 01 ... bcc LE4BD ; E4CA 90 F1 .. lda #$01 ; E4CC A9 01 .. LE4CE: ora $80 ; E4CE 05 80 .. sta $80 ; E4D0 85 80 .. LE4D2: jsr L0386 ; E4D2 20 86 03 .. bne LE4F0 ; E4D5 D0 19 .. LE4D7: jmp LA3C1 ; E4D7 4C C1 A3 L.. ; ---------------------------------------------------------------------------- LE4DA: cmp #$91 ; E4DA C9 91 .. bne LE4E1 ; E4DC D0 03 .. jmp LA40E ; E4DE 4C 0E A4 L.. ; ---------------------------------------------------------------------------- LE4E1: cmp #$A4 ; E4E1 C9 A4 .. beq LE4E7 ; E4E3 F0 02 .. bne LE554 ; E4E5 D0 6D .m LE4E7: jsr L0380 ; E4E7 20 80 03 .. cmp #$50 ; E4EA C9 50 .P bne LE4FD ; E4EC D0 0F .. beq LE4A1 ; E4EE F0 B1 .. LE4F0: cmp #$2C ; E4F0 C9 2C ., bne LE4DA ; E4F2 D0 E6 .. jsr L0380 ; E4F4 20 80 03 .. jmp LA3CF ; E4F7 4C CF A3 L.. ; ---------------------------------------------------------------------------- LE4FA: jsr L0380 ; E4FA 20 80 03 .. LE4FD: cmp #$44 ; E4FD C9 44 .D beq LE511 ; E4FF F0 10 .. cmp #$91 ; E501 C9 91 .. beq LE524 ; E503 F0 1F .. cmp #$55 ; E505 C9 55 .U beq LE52A ; E507 F0 21 .! cmp #$22 ; E509 C9 22 ." beq LE52F ; E50B F0 22 ." cmp #$28 ; E50D C9 28 .( beq LE52F ; E50F F0 1E .. LE511: lda #$20 ; E511 A9 20 . jsr LA5F2 ; E513 20 F2 A5 .. jsr LA5C7 ; E516 20 C7 A5 .. cpx #$02 ; E519 E0 02 .. bcs LE556 ; E51B B0 39 .9 stx stack+20 ; E51D 8E 14 01 ... lda #$20 ; E520 A9 20 . bne LE53F ; E522 D0 1B .. LE524: jsr LA559 ; E524 20 59 A5 Y. jmp LA53F ; E527 4C 3F A5 L?. ; ---------------------------------------------------------------------------- LE52A: jsr LA564 ; E52A 20 64 A5 d. bne LE53F ; E52D D0 10 .. LE52F: lda #$02 ; E52F A9 02 .. jsr LA590 ; E531 20 90 A5 .. sta stack+19 ; E534 8D 13 01 ... stx stack+21 ; E537 8E 15 01 ... sty stack+22 ; E53A 8C 16 01 ... lda #$02 ; E53D A9 02 .. LE53F: ora $80 ; E53F 05 80 .. sta $80 ; E541 85 80 .. jsr L0386 ; E543 20 86 03 .. beq LE4D7 ; E546 F0 8F .. cmp #$2C ; E548 C9 2C ., beq LE4FA ; E54A F0 AE .. cmp #$91 ; E54C C9 91 .. beq LE524 ; E54E F0 D4 .. cmp #$55 ; E550 C9 55 .U beq LE52A ; E552 F0 D6 .. LE554: bne LE58D ; E554 D0 37 .7 LE556: jmp L7D16 ; E556 4C 16 7D L.} ; ---------------------------------------------------------------------------- jsr L0380 ; E559 20 80 03 .. cmp #$42 ; E55C C9 42 .B beq LE575 ; E55E F0 15 .. cmp #$55 ; E560 C9 55 .U bne LE58D ; E562 D0 29 .) jsr LA5C7 ; E564 20 C7 A5 .. cpx #$1F ; E567 E0 1F .. bcs LE5BE ; E569 B0 53 .S cpx #$04 ; E56B E0 04 .. bcc LE5BE ; E56D 90 4F .O stx stack+28 ; E56F 8E 1C 01 ... lda #$08 ; E572 A9 08 .. rts ; E574 60 ` ; ---------------------------------------------------------------------------- LE575: lda #$01 ; E575 A9 01 .. jsr LA5F7 ; E577 20 F7 A5 .. jsr LA5C7 ; E57A 20 C7 A5 .. cpx #$10 ; E57D E0 10 .. bcs LE556 ; E57F B0 D5 .. stx stack+31 ; E581 8E 1F 01 ... lda #$01 ; E584 A9 01 .. ora L0081 ; E586 05 81 .. sta L0081 ; E588 85 81 .. lda #$00 ; E58A A9 00 .. rts ; E58C 60 ` ; ---------------------------------------------------------------------------- LE58D: jmp L795A ; E58D 4C 5A 79 LZy ; ---------------------------------------------------------------------------- jsr LA5F2 ; E590 20 F2 A5 .. jsr L8777 ; E593 20 77 87 w. tax ; E596 AA . beq LE556 ; E597 F0 BD .. ldy #$00 ; E599 A0 00 .. jsr L03B7 ; E59B 20 B7 03 .. cmp #$40 ; E59E C9 40 .@ bne LE5B4 ; E5A0 D0 12 .. lda #$80 ; E5A2 A9 80 .. jsr LA5F2 ; E5A4 20 F2 A5 .. lda $80 ; E5A7 A5 80 .. ora #$80 ; E5A9 09 80 .. sta $80 ; E5AB 85 80 .. dex ; E5AD CA . inc $24 ; E5AE E6 24 .$ bne LE5B4 ; E5B0 D0 02 .. inc $25 ; E5B2 E6 25 .% LE5B4: txa ; E5B4 8A . cmp #$11 ; E5B5 C9 11 .. bcs LE5C2 ; E5B7 B0 09 .. ldx $24 ; E5B9 A6 24 .$ ldy $25 ; E5BB A4 25 .% rts ; E5BD 60 ` ; ---------------------------------------------------------------------------- LE5BE: ldx #$09 ; E5BE A2 09 .. bne LE5C4 ; E5C0 D0 02 .. LE5C2: ldx #$17 ; E5C2 A2 17 .. LE5C4: jmp L4D39 ; E5C4 4C 39 4D L9M ; ---------------------------------------------------------------------------- jsr L0380 ; E5C7 20 80 03 .. beq LE58D ; E5CA F0 C1 .. bcc LE5D7 ; E5CC 90 09 .. jsr L7947 ; E5CE 20 47 79 Gy jsr L87F0 ; E5D1 20 F0 87 .. jmp L7944 ; E5D4 4C 44 79 LDy ; ---------------------------------------------------------------------------- LE5D7: jmp L87F0 ; E5D7 4C F0 87 L.. ; ---------------------------------------------------------------------------- jsr L0380 ; E5DA 20 80 03 .. beq LE58D ; E5DD F0 AE .. bcc LE5EF ; E5DF 90 0E .. jsr L7947 ; E5E1 20 47 79 Gy jsr L880E ; E5E4 20 0E 88 .. jsr L7944 ; E5E7 20 44 79 Dy ldy $16 ; E5EA A4 16 .. lda $17 ; E5EC A5 17 .. rts ; E5EE 60 ` ; ---------------------------------------------------------------------------- LE5EF: jmp L880E ; E5EF 4C 0E 88 L.. ; ---------------------------------------------------------------------------- and $80 ; E5F2 25 80 %. bne LE58D ; E5F4 D0 97 .. rts ; E5F6 60 ` ; ---------------------------------------------------------------------------- and L0081 ; E5F7 25 81 %. bne LE58D ; E5F9 D0 92 .. rts ; E5FB 60 ` ; ---------------------------------------------------------------------------- eor #$D1 ; E5FC 49 D1 I. bit $D1 ; E5FE 24 D1 $. dec a ; E600 3A : sbc ($F0),y ; E601 F1 F0 .. cmp ($3A),y ; E603 D1 3A .: sbc ($2C),y ; E605 F1 2C ., sbc ($2C,x) ; E607 E1 2C ., cpx #$43 ; E609 E0 43 .C cmp ($3A) ; E60B D2 3A .: sbc ($3D) ; E60D F2 3D .= cmp ($3A) ; E60F D2 3A .: sbc ($2C) ; E611 F2 2C ., cmp ($3A),y ; E613 D1 3A .: sbc ($2C),y ; E615 F1 2C ., eor (L004E,x) ; E617 41 4E AN cmp ($3A),y ; E619 D1 3A .: sbc ($2C),y ; E61B F1 2C ., bne LE675 ; E61D D0 56 .V cmp ($44),y ; E61F D1 44 .D cmp ($3D) ; E621 D2 3D .= cmp ($43),y ; E623 D1 43 .C cmp ($3A) ; E625 D2 3A .: sbc ($3D) ; E627 F2 3D .= cmp ($3A),y ; E629 D1 3A .: sbc ($52),y ; E62B F1 52 .R cmp ($3A),y ; E62D D1 3A .: sbc ($3D) ; E62F F2 3D .= cmp ($3A),y ; E631 D1 3A .: sbc ($53),y ; E633 F1 53 .S cmp ($3A),y ; E635 D1 3A .: sbc ($50),y ; E637 F1 50 .P .byte $C2 ; E639 C2 . .byte $E2 ; E63A E2 . cpx #$8D ; E63B E0 8D .. bpl LE640 ; E63D 10 01 .. tya ; E63F 98 . LE640: pha ; E640 48 H jsr LA7E2 ; E641 20 E2 A7 .. ldx #$00 ; E644 A2 00 .. LE646: pla ; E646 68 h dec stack+16 ; E647 CE 10 01 ... bmi LE694 ; E64A 30 48 0H tay ; E64C A8 . iny ; E64D C8 . tya ; E64E 98 . pha ; E64F 48 H lda LA5FC,y ; E650 B9 FC A5 ... bpl LE68C ; E653 10 37 .7 cmp #$C2 ; E655 C9 C2 .. beq LE6AB ; E657 F0 52 .R cmp #$D0 ; E659 C9 D0 .. beq LE6BA ; E65B F0 5D .] cmp #$E2 ; E65D C9 E2 .. beq LE6D8 ; E65F F0 77 .w cmp #$E1 ; E661 C9 E1 .. beq LE6C6 ; E663 F0 61 .a cmp #$F0 ; E665 C9 F0 .. beq LE6B0 ; E667 F0 47 .G cmp #$F1 ; E669 C9 F1 .. beq LE6E2 ; E66B F0 75 .u cmp #$F2 ; E66D C9 F2 .. beq LE692 ; E66F F0 21 .! cmp #$E0 ; E671 C9 E0 .. bne LE67A ; E673 D0 05 .. LE675: lda stack+30 ; E675 AD 1E 01 ... bne LE68C ; E678 D0 12 .. LE67A: cmp #$D1 ; E67A C9 D1 .. bne LE683 ; E67C D0 05 .. lda stack+18 ; E67E AD 12 01 ... bpl LE68A ; E681 10 07 .. LE683: cmp #$D2 ; E683 C9 D2 .. bne LE646 ; E685 D0 BF .. lda stack+20 ; E687 AD 14 01 ... LE68A: ora #$30 ; E68A 09 30 .0 LE68C: sta $1100,x ; E68C 9D 00 11 ... inx ; E68F E8 . bne LE646 ; E690 D0 B4 .. LE692: beq LE6F8 ; E692 F0 64 .d LE694: txa ; E694 8A . pha ; E695 48 H ldx #$00 ; E696 A2 00 .. ldy #$11 ; E698 A0 11 .. jsr L9250 ; E69A 20 50 92 P. lda stack+27 ; E69D AD 1B 01 ... ldx stack+28 ; E6A0 AE 1C 01 ... ldy stack+29 ; E6A3 AC 1D 01 ... jsr L924A ; E6A6 20 4A 92 J. pla ; E6A9 68 h rts ; E6AA 60 ` ; ---------------------------------------------------------------------------- LE6AB: lda $11ED ; E6AB AD ED 11 ... bne LE68C ; E6AE D0 DC .. LE6B0: bit $80 ; E6B0 24 80 $. bmi LE6B6 ; E6B2 30 02 0. bpl LE646 ; E6B4 10 90 .. LE6B6: lda #$40 ; E6B6 A9 40 .@ bne LE68C ; E6B8 D0 D2 .. LE6BA: lda stack+32 ; E6BA AD 20 01 . . sta $1100,x ; E6BD 9D 00 11 ... inx ; E6C0 E8 . lda stack+33 ; E6C1 AD 21 01 .!. bne LE68C ; E6C4 D0 C6 .. LE6C6: lda stack+30 ; E6C6 AD 1E 01 ... beq LE6CF ; E6C9 F0 04 .. lda #$4C ; E6CB A9 4C .L bne LE68C ; E6CD D0 BD .. LE6CF: lda #$53 ; E6CF A9 53 .S sta stack+30 ; E6D1 8D 1E 01 ... lda #$57 ; E6D4 A9 57 .W bne LE68C ; E6D6 D0 B4 .. LE6D8: lda $16 ; E6D8 A5 16 .. sta $1100,x ; E6DA 9D 00 11 ... lda $17 ; E6DD A5 17 .. inx ; E6DF E8 . bne LE68C ; E6E0 D0 AA .. LE6E2: ldy stack+17 ; E6E2 AC 11 01 ... beq LE71A ; E6E5 F0 33 .3 ldy #$00 ; E6E7 A0 00 .. LE6E9: lda $12B7,y ; E6E9 B9 B7 12 ... sta $1100,x ; E6EC 9D 00 11 ... inx ; E6EF E8 . iny ; E6F0 C8 . cpy stack+17 ; E6F1 CC 11 01 ... bne LE6E9 ; E6F4 D0 F3 .. beq LE71B ; E6F6 F0 23 .# LE6F8: lda stack+21 ; E6F8 AD 15 01 ... sta $24 ; E6FB 85 24 .$ lda stack+22 ; E6FD AD 16 01 ... sta $25 ; E700 85 25 .% ldy stack+19 ; E702 AC 13 01 ... beq LE71A ; E705 F0 13 .. ldy #$00 ; E707 A0 00 .. LE709: jsr L03B7 ; E709 20 B7 03 .. sta LFF03 ; E70C 8D 03 FF ... sta $1100,x ; E70F 9D 00 11 ... inx ; E712 E8 . iny ; E713 C8 . cpy stack+19 ; E714 CC 13 01 ... bne LE709 ; E717 D0 F0 .. .byte $24 ; E719 24 $ LE71A: dex ; E71A CA . LE71B: jmp LA646 ; E71B 4C 46 A6 LF. ; ---------------------------------------------------------------------------- and #$E6 ; E71E 29 E6 ). beq LE725 ; E720 F0 03 .. LE722: jmp L795A ; E722 4C 5A 79 LZy ; ---------------------------------------------------------------------------- LE725: lda $80 ; E725 A5 80 .. and #$01 ; E727 29 01 ). cmp #$01 ; E729 C9 01 .. bne LE722 ; E72B D0 F5 .. lda $80 ; E72D A5 80 .. rts ; E72F 60 ` ; ---------------------------------------------------------------------------- and #$E7 ; E730 29 E7 ). bne LE722 ; E732 D0 EE .. rts ; E734 60 ` ; ---------------------------------------------------------------------------- and #$C4 ; E735 29 C4 ). bne LE722 ; E737 D0 E9 .. lda $80 ; E739 A5 80 .. and #$03 ; E73B 29 03 ). cmp #$03 ; E73D C9 03 .. bne LE722 ; E73F D0 E1 .. lda $80 ; E741 A5 80 .. rts ; E743 60 ` ; ---------------------------------------------------------------------------- and #$05 ; E744 29 05 ). cmp #$05 ; E746 C9 05 .. bne LE722 ; E748 D0 D8 .. lda $80 ; E74A A5 80 .. rts ; E74C 60 ` ; ---------------------------------------------------------------------------- lda $7A ; E74D A5 7A .z bne LE76A ; E74F D0 19 .. lda #$28 ; E751 A9 28 .( sta $7A ; E753 85 7A .z jsr L928C ; E755 20 8C 92 .. stx $7B ; E758 86 7B .{ sty $7C ; E75A 84 7C .| ldy #$28 ; E75C A0 28 .( sta LFF04 ; E75E 8D 04 FF ... lda #$7A ; E761 A9 7A .z sta ($7B),y ; E763 91 7B .{ iny ; E765 C8 . lda #$00 ; E766 A9 00 .. sta ($7B),y ; E768 91 7B .{ LE76A: ldx stack+28 ; E76A AE 1C 01 ... bne LE774 ; E76D D0 05 .. ldx #$08 ; E76F A2 08 .. stx stack+28 ; E771 8E 1C 01 ... LE774: lda #$00 ; E774 A9 00 .. ldy #$6F ; E776 A0 6F .o jsr L924A ; E778 20 4A 92 J. lda #$00 ; E77B A9 00 .. jsr L9250 ; E77D 20 50 92 P. jsr L90CB ; E780 20 CB 90 .. ldx #$00 ; E783 A2 00 .. jsr LFFC6 ; E785 20 C6 FF .. bcs LE7AA ; E788 B0 20 . ldy #$FF ; E78A A0 FF .. LE78C: iny ; E78C C8 . jsr L9256 ; E78D 20 56 92 V. sta LFF04 ; E790 8D 04 FF ... cmp #$0D ; E793 C9 0D .. beq LE79D ; E795 F0 06 .. sta ($7B),y ; E797 91 7B .{ cpy #$28 ; E799 C0 28 .( bcc LE78C ; E79B 90 EF .. LE79D: lda #$00 ; E79D A9 00 .. sta ($7B),y ; E79F 91 7B .{ jsr L9262 ; E7A1 20 62 92 b. lda #$00 ; E7A4 A9 00 .. sec ; E7A6 38 8 jmp L9268 ; E7A7 4C 68 92 Lh. ; ---------------------------------------------------------------------------- LE7AA: pha ; E7AA 48 H jsr LA79D ; E7AB 20 9D A7 .. jsr LA7E2 ; E7AE 20 E2 A7 .. pla ; E7B1 68 h tax ; E7B2 AA . jmp L4D39 ; E7B3 4C 39 4D L9M ; ---------------------------------------------------------------------------- bit $7F ; E7B6 24 7F $. bmi LE7DF ; E7B8 30 25 0% jsr L9274 ; E7BA 20 74 92 t. .byte "ARE YOU SURE?" ; E7BD 41 52 45 20 59 4F 55 20 ARE YOU ; E7C5 53 55 52 45 3F SURE? .byte $00 ; E7CA 00 . ; ---------------------------------------------------------------------------- jsr L9262 ; E7CB 20 62 92 b. jsr L9256 ; E7CE 20 56 92 V. pha ; E7D1 48 H LE7D2: cmp #$0D ; E7D2 C9 0D .. beq LE7DB ; E7D4 F0 05 .. jsr L9256 ; E7D6 20 56 92 V. bne LE7D2 ; E7D9 D0 F7 .. LE7DB: pla ; E7DB 68 h cmp #$59 ; E7DC C9 59 .Y rts ; E7DE 60 ` ; ---------------------------------------------------------------------------- LE7DF: lda #$00 ; E7DF A9 00 .. rts ; E7E1 60 ` ; ---------------------------------------------------------------------------- tya ; E7E2 98 . pha ; E7E3 48 H lda $7A ; E7E4 A5 7A .z beq LE7F5 ; E7E6 F0 0D .. ldy #$28 ; E7E8 A0 28 .( tya ; E7EA 98 . sta LFF04 ; E7EB 8D 04 FF ... sta ($7B),y ; E7EE 91 7B .{ iny ; E7F0 C8 . lda #$FF ; E7F1 A9 FF .. sta ($7B),y ; E7F3 91 7B .{ LE7F5: lda #$00 ; E7F5 A9 00 .. sta LFF03 ; E7F7 8D 03 FF ... sta $7A ; E7FA 85 7A .z pla ; E7FC 68 h tay ; E7FD A8 . rts ; E7FE 60 ` ; ---------------------------------------------------------------------------- bit $2030 ; E7FF 2C 30 20 ,0 eor $4B45,y ; E802 59 45 4B YEK tax ; E805 AA . tya ; E806 98 . pha ; E807 48 H lda #$00 ; E808 A9 00 .. jsr L8E25 ; E80A 20 25 8E %. pla ; E80D 68 h tay ; E80E A8 . rts ; E80F 60 ` ; ---------------------------------------------------------------------------- sta $3C ; E810 85 3C .< dey ; E812 88 . tax ; E813 AA . inx ; E814 E8 . bne LE819 ; E815 D0 02 .. stx $7F ; E817 86 7F .. LE819: rts ; E819 60 ` ; ---------------------------------------------------------------------------- pha ; E81A 48 H lda #$00 ; E81B A9 00 .. sta MMU_KERN_WINDOW ; E81D 8D 00 FF ... pla ; E820 68 h rts ; E821 60 ` ; ---------------------------------------------------------------------------- ldx #$10 ; E822 A2 10 .. LE824: lda $11D6,x ; E824 BD D6 11 ... sta LD000,x ; E827 9D 00 D0 ... dex ; E82A CA . bpl LE824 ; E82B 10 F7 .. ldy #$07 ; E82D A0 07 .. LE82F: lda LD015 ; E82F AD 15 D0 ... and $6CA0,y ; E832 39 A0 6C 9.l beq LE86F ; E835 F0 38 .8 ldx $6DC6,y ; E837 BE C6 6D ..m lda $117E,x ; E83A BD 7E 11 .~. beq LE86F ; E83D F0 30 .0 sta $117F,x ; E83F 9D 7F 11 ... LE842: tya ; E842 98 . asl a ; E843 0A . tay ; E844 A8 . lda $1180,x ; E845 BD 80 11 ... sec ; E848 38 8 sbc #$01 ; E849 E9 01 .. inx ; E84B E8 . inx ; E84C E8 . iny ; E84D C8 . jsr LA9BA ; E84E 20 BA A9 .. dex ; E851 CA . dex ; E852 CA . dey ; E853 88 . lda $1180,x ; E854 BD 80 11 ... jsr LA9BA ; E857 20 BA A9 .. php ; E85A 08 . tya ; E85B 98 . lsr a ; E85C 4A J tay ; E85D A8 . plp ; E85E 28 ( bcc LE86A ; E85F 90 09 .. lda $11E6 ; E861 AD E6 11 ... eor $6CA0,y ; E864 59 A0 6C Y.l sta $11E6 ; E867 8D E6 11 ... LE86A: dec $117F,x ; E86A DE 7F 11 ... bne LE842 ; E86D D0 D3 .. LE86F: dey ; E86F 88 . bpl LE82F ; E870 10 BD .. lda LD019 ; E872 AD 19 D0 ... sta LD019 ; E875 8D 19 D0 ... and #$0E ; E878 29 0E ). beq LE8C0 ; E87A F0 44 .D lsr a ; E87C 4A J ldy #$01 ; E87D A0 01 .. LE87F: lsr a ; E87F 4A J bcc LE8A2 ; E880 90 20 . pha ; E882 48 H lda LD01E,y ; E883 B9 1E D0 ... ora $11E7,y ; E886 19 E7 11 ... sta $11E7,y ; E889 99 E7 11 ... lda #$00 ; E88C A9 00 .. sta LD01E,y ; E88E 99 1E D0 ... lda $127F ; E891 AD 7F 12 ... cpy #$00 ; E894 C0 00 .. beq LE899 ; E896 F0 01 .. lsr a ; E898 4A J LE899: lsr a ; E899 4A J bcc LE8A1 ; E89A 90 05 .. lda #$FF ; E89C A9 FF .. sta $1276,y ; E89E 99 76 12 .v. LE8A1: pla ; E8A1 68 h LE8A2: dey ; E8A2 88 . bpl LE87F ; E8A3 10 DA .. lsr a ; E8A5 4A J bcc LE8C0 ; E8A6 90 18 .. lda LD013 ; E8A8 AD 13 D0 ... sta $11E9 ; E8AB 8D E9 11 ... lda LD014 ; E8AE AD 14 D0 ... sta $11EA ; E8B1 8D EA 11 ... lda $127F ; E8B4 AD 7F 12 ... and #$04 ; E8B7 29 04 ). beq LE8C0 ; E8B9 F0 05 .. lda #$FF ; E8BB A9 FF .. sta $1278 ; E8BD 8D 78 12 .x. LE8C0: ldx #$00 ; E8C0 A2 00 .. LE8C2: lda $1224,x ; E8C2 BD 24 12 .$. bmi LE8EE ; E8C5 30 27 0' lda $1223,x ; E8C7 BD 23 12 .#. sec ; E8CA 38 8 sbc $1222 ; E8CB ED 22 12 .". sta $1223,x ; E8CE 9D 23 12 .#. bcs LE8EE ; E8D1 B0 1B .. lda $1224,x ; E8D3 BD 24 12 .$. sbc #$00 ; E8D6 E9 00 .. sta $1224,x ; E8D8 9D 24 12 .$. bcs LE8EE ; E8DB B0 11 .. txa ; E8DD 8A . lsr a ; E8DE 4A J tay ; E8DF A8 . lda $1230,y ; E8E0 B9 30 12 .0. and #$FE ; E8E3 29 FE ). pha ; E8E5 48 H lda $7026,y ; E8E6 B9 26 70 .&p tay ; E8E9 A8 . pla ; E8EA 68 h sta LD404,y ; E8EB 99 04 D4 ... LE8EE: inx ; E8EE E8 . inx ; E8EF E8 . cpx #$06 ; E8F0 E0 06 .. bne LE8C2 ; E8F2 D0 CE .. ldy #$02 ; E8F4 A0 02 .. LE8F6: lda $1285,y ; E8F6 B9 85 12 ... bpl LE8FF ; E8F9 10 04 .. dey ; E8FB 88 . bpl LE8F6 ; E8FC 10 F8 .. rts ; E8FE 60 ` ; ---------------------------------------------------------------------------- LE8FF: clc ; E8FF 18 . lda $129D,y ; E900 B9 9D 12 ... adc $1297,y ; E903 79 97 12 y.. sta $129D,y ; E906 99 9D 12 ... lda $12A0,y ; E909 B9 A0 12 ... adc $129A,y ; E90C 79 9A 12 y.. sta $12A0,y ; E90F 99 A0 12 ... lda $1294,y ; E912 B9 94 12 ... tax ; E915 AA . and #$01 ; E916 29 01 ). beq LE948 ; E918 F0 2E .. bcc LE92B ; E91A 90 0F .. sec ; E91C 38 8 lda $129D,y ; E91D B9 9D 12 ... sbc $128E,y ; E920 F9 8E 12 ... lda $12A0,y ; E923 B9 A0 12 ... sbc $1291,y ; E926 F9 91 12 ... bcs LE978 ; E929 B0 4D .M LE92B: cpx #$02 ; E92B E0 02 .. bcc LE939 ; E92D 90 0A .. jsr LA9A4 ; E92F 20 A4 A9 .. lda #$02 ; E932 A9 02 .. sta $1294,y ; E934 99 94 12 ... bne LE96C ; E937 D0 33 .3 LE939: lda $1288,y ; E939 B9 88 12 ... sta $129D,y ; E93C 99 9D 12 ... lda $128B,y ; E93F B9 8B 12 ... sta $12A0,y ; E942 99 A0 12 ... jmp LA978 ; E945 4C 78 A9 Lx. ; ---------------------------------------------------------------------------- LE948: bcs LE95E ; E948 B0 14 .. lda $12A0,y ; E94A B9 A0 12 ... cmp $128B,y ; E94D D9 8B 12 ... bcc LE978 ; E950 90 26 .& bne LE95E ; E952 D0 0A .. lda $129D,y ; E954 B9 9D 12 ... cmp $1288,y ; E957 D9 88 12 ... bcc LE978 ; E95A 90 1C .. beq LE978 ; E95C F0 1A .. LE95E: cpx #$02 ; E95E E0 02 .. bcc LE96C ; E960 90 0A .. jsr LA9A4 ; E962 20 A4 A9 .. lda #$03 ; E965 A9 03 .. sta $1294,y ; E967 99 94 12 ... bne LE939 ; E96A D0 CD .. LE96C: lda $128E,y ; E96C B9 8E 12 ... sta $129D,y ; E96F 99 9D 12 ... lda $1291,y ; E972 B9 91 12 ... sta $12A0,y ; E975 99 A0 12 ... LE978: ldx $7026,y ; E978 BE 26 70 .&p lda $129D,y ; E97B B9 9D 12 ... sta LD400,x ; E97E 9D 00 D4 ... lda $12A0,y ; E981 B9 A0 12 ... sta LD401,x ; E984 9D 01 D4 ... tya ; E987 98 . tax ; E988 AA . lda $1282,x ; E989 BD 82 12 ... bne LE991 ; E98C D0 03 .. dec $1285,x ; E98E DE 85 12 ... LE991: dec $1282,x ; E991 DE 82 12 ... lda $1285,x ; E994 BD 85 12 ... bpl LE9A1 ; E997 10 08 .. lda #$08 ; E999 A9 08 .. ldx $7026,y ; E99B BE 26 70 .&p sta LD404,x ; E99E 9D 04 D4 ... LE9A1: jmp LA8FB ; E9A1 4C FB A8 L.. ; ---------------------------------------------------------------------------- lda $1297,y ; E9A4 B9 97 12 ... eor #$FF ; E9A7 49 FF I. clc ; E9A9 18 . adc #$01 ; E9AA 69 01 i. sta $1297,y ; E9AC 99 97 12 ... lda $129A,y ; E9AF B9 9A 12 ... eor #$FF ; E9B2 49 FF I. adc #$00 ; E9B4 69 00 i. sta $129A,y ; E9B6 99 9A 12 ... rts ; E9B9 60 ` ; ---------------------------------------------------------------------------- pha ; E9BA 48 H clc ; E9BB 18 . lda $1181,x ; E9BC BD 81 11 ... adc $1185,x ; E9BF 7D 85 11 }.. sta $1185,x ; E9C2 9D 85 11 ... lda $1182,x ; E9C5 BD 82 11 ... adc $1186,x ; E9C8 7D 86 11 }.. sta $1186,x ; E9CB 9D 86 11 ... pla ; E9CE 68 h bcc LE9E4 ; E9CF 90 13 .. lsr a ; E9D1 4A J lsr a ; E9D2 4A J lda $11D6,y ; E9D3 B9 D6 11 ... bcs LE9DD ; E9D6 B0 05 .. adc #$01 ; E9D8 69 01 i. jmp LA9E1 ; E9DA 4C E1 A9 L.. ; ---------------------------------------------------------------------------- LE9DD: sbc #$01 ; E9DD E9 01 .. cmp #$FF ; E9DF C9 FF .. sta $11D6,y ; E9E1 99 D6 11 ... LE9E4: rts ; E9E4 60 ` ; ---------------------------------------------------------------------------- lda #$84 ; E9E5 A9 84 .. jmp LA9F1 ; E9E7 4C F1 A9 L.. ; ---------------------------------------------------------------------------- lda #$85 ; E9EA A9 85 .. jmp LA9F1 ; E9EC 4C F1 A9 L.. ; ---------------------------------------------------------------------------- lda #$86 ; E9EF A9 86 .. pha ; E9F1 48 H jsr L880E ; E9F2 20 0E 88 .. jsr LA81A ; E9F5 20 1A A8 .. sty LDF07 ; E9F8 8C 07 DF ... sta LDF08 ; E9FB 8D 08 DF ... jsr L880B ; E9FE 20 0B 88 .. jsr LA81A ; EA01 20 1A A8 .. sty LDF02 ; EA04 8C 02 DF ... sta LDF03 ; EA07 8D 03 DF ... jsr L880B ; EA0A 20 0B 88 .. jsr LA81A ; EA0D 20 1A A8 .. sty LDF04 ; EA10 8C 04 DF ... sta LDF05 ; EA13 8D 05 DF ... jsr L8805 ; EA16 20 05 88 .. cpx #$10 ; EA19 E0 10 .. bcs LEA2B ; EA1B B0 0E .. jsr LA81A ; EA1D 20 1A A8 .. stx LDF06 ; EA20 8E 06 DF ... pla ; EA23 68 h tay ; EA24 A8 . ldx $03D5 ; EA25 AE D5 03 ... jmp LFF50 ; EA28 4C 50 FF LP. ; ---------------------------------------------------------------------------- LEA2B: jmp L7D16 ; EA2B 4C 16 7D L.} ; ---------------------------------------------------------------------------- .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA2E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA36 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA3E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA46 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA4E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA56 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA5E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA66 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA6E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA76 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA7E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA86 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA8E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA96 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EA9E FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAA6 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAAE FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAB6 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EABE FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAC6 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EACE FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAD6 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EADE FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF ; EAE6 FF FF FF FF .... LEAEA: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAEA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAF2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EAFA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB02 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB0A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB12 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB1A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB22 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB2A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB32 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB3A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB42 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB4A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB52 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB5A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB62 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB6A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB72 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB7A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB82 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB8A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB92 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EB9A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBA2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBAA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBB2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBBA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBC2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBCA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBD2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBDA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBE2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBEA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBF2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EBFA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC02 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC0A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC12 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC1A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC22 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC2A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC32 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC3A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC42 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC4A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC52 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC5A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC62 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC6A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC72 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC7A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC82 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC8A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC92 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EC9A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECA2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECAA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECB2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECBA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECC2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECCA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECD2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECDA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECE2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECEA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECF2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ECFA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED02 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED0A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED12 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED1A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED22 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED2A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED32 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED3A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED42 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED4A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED52 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED5A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED62 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED6A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED72 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED7A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED82 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED8A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED92 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; ED9A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDA2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDAA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDB2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDBA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDC2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDCA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDD2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDDA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDE2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDEA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDF2 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EDFA FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE02 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE0A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE12 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE1A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE22 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE2A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE32 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE3A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE42 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE4A FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE52 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EE5A FF FF FF FF FF FF FF FF ........ .byte $FF,$7B,$E9,$77,$6A,$5F,$5E,$5D ; EE62 FF 7B E9 77 6A 5F 5E 5D .{.wj_^] .byte $BE,$21,$3D,$24,$37,$3F,$22,$55 ; EE6A BE 21 3D 24 37 3F 22 55 .!=$7?"U .byte $20,$24,$4A,$30,$27,$3A,$4E,$2F ; EE72 20 24 4A 30 27 3A 4E 2F $J0':N/ .byte $35,$4D,$4C,$4F,$40,$47,$46,$68 ; EE7A 35 4D 4C 4F 40 47 46 68 5MLO@GFh .byte $69,$88,$15,$1F,$0C,$08,$1F,$0F ; EE82 69 88 15 1F 0C 08 1F 0F i....... .byte $19,$69,$5F,$71,$96,$05,$13,$11 ; EE8A 19 69 5F 71 96 05 13 11 .i_q.... .byte $74,$89,$05,$1E,$0D,$01,$43,$6D ; EE92 74 89 05 1E 0D 01 43 6D t.....Cm .byte $98,$06,$10,$13,$19,$67,$94,$1C ; EE9A 98 06 10 13 19 67 94 1C .....g.. .byte $05,$75,$37,$19,$EE,$70,$70,$1D ; EEA2 05 75 37 19 EE 70 70 1D .u7..pp. .byte $F9,$61,$66,$66,$79,$79,$73,$38 ; EEAA F9 61 66 66 79 79 73 38 .affyys8 .byte $39,$E3,$6F,$7B,$6C,$78,$6F,$7F ; EEB2 39 E3 6F 7B 6C 78 6F 7F 9.o{lxo. .byte $69,$19,$2F,$01,$E2,$6E,$6A,$05 ; EEBA 69 19 2F 01 E2 6E 6A 05 i./..nj. .byte $EC,$5E,$48,$5D,$15,$3F,$DA,$5C ; EEC2 EC 5E 48 5D 15 3F DA 5C .^H].?.\ .byte $4A,$56,$32,$D9,$51,$4E,$58,$5C ; EECA 4A 56 32 D9 51 4E 58 5C JV2.QNX\ .byte $51,$06,$2A,$CF,$5A,$4E,$40,$46 ; EED2 51 06 2A CF 5A 4E 40 46 Q.*.ZN@F .byte $2C,$D3,$43,$4D,$41,$4E,$47,$08 ; EEDA 2C D3 43 4D 41 4E 47 08 ,.CMANG. .byte $09,$E9,$36,$B0,$B6,$B4,$DE,$BC ; EEE2 09 E9 36 B0 B6 B4 DE BC ..6..... .byte $AE,$BE,$A1,$DD,$B4,$B8,$B8,$D2 ; EEEA AE BE A1 DD B4 B8 B8 D2 ........ .byte $A0,$CB,$A7,$A8,$A3,$AA,$CE,$B9 ; EEF2 A0 CB A7 A8 A3 AA CE B9 ........ .byte $A4,$A6,$AF,$CF,$ED,$E7 ; EEFA A4 A6 AF CF ED E7 ...... ; ---------------------------------------------------------------------------- jmp L84B0 ; EF00 4C B0 84 L.. ; ---------------------------------------------------------------------------- jmp L792A ; EF03 4C 2A 79 L*y ; ---------------------------------------------------------------------------- jmp L8E35 ; EF06 4C 35 8E L5. ; ---------------------------------------------------------------------------- jmp L8052 ; EF09 4C 52 80 LR. ; ---------------------------------------------------------------------------- jmp L8811 ; EF0C 4C 11 88 L.. ; ---------------------------------------------------------------------------- jmp L8C68 ; EF0F 4C 68 8C Lh. ; ---------------------------------------------------------------------------- jmp L882A ; EF12 4C 2A 88 L*. ; ---------------------------------------------------------------------------- jmp L882D ; EF15 4C 2D 88 L-. ; ---------------------------------------------------------------------------- jmp L8841 ; EF18 4C 41 88 LA. ; ---------------------------------------------------------------------------- jmp L8844 ; EF1B 4C 44 88 LD. ; ---------------------------------------------------------------------------- jmp L8A20 ; EF1E 4C 20 8A L . ; ---------------------------------------------------------------------------- jmp L8A23 ; EF21 4C 23 8A L#. ; ---------------------------------------------------------------------------- jmp L8B3C ; EF24 4C 3C 8B L<. ; ---------------------------------------------------------------------------- jmp L8B3F ; EF27 4C 3F 8B L?. ; ---------------------------------------------------------------------------- jmp L89C6 ; EF2A 4C C6 89 L.. ; ---------------------------------------------------------------------------- jmp L8CEE ; EF2D 4C EE 8C L.. ; ---------------------------------------------------------------------------- jmp L8FAA ; EF30 4C AA 8F L.. ; ---------------------------------------------------------------------------- jmp L8FED ; EF33 4C ED 8F L.. ; ---------------------------------------------------------------------------- jmp L8FB1 ; EF36 4C B1 8F L.. ; ---------------------------------------------------------------------------- jmp L8FB4 ; EF39 4C B4 8F L.. ; ---------------------------------------------------------------------------- jmp L9026 ; EF3C 4C 26 90 L&. ; ---------------------------------------------------------------------------- jmp L93FC ; EF3F 4C FC 93 L.. ; ---------------------------------------------------------------------------- jmp L9403 ; EF42 4C 03 94 L.. ; ---------------------------------------------------------------------------- jmp L944C ; EF45 4C 4C 94 LL. ; ---------------------------------------------------------------------------- jmp L94A6 ; EF48 4C A6 94 L.. ; ---------------------------------------------------------------------------- jmp L8C3A ; EF4B 4C 3A 8C L:. ; ---------------------------------------------------------------------------- jmp L8C77 ; EF4E 4C 77 8C Lw. ; ---------------------------------------------------------------------------- jmp L8C4A ; EF51 4C 4A 8C LJ. ; ---------------------------------------------------------------------------- jmp L8C7A ; EF54 4C 7A 8C Lz. ; ---------------------------------------------------------------------------- jmp L8433 ; EF57 4C 33 84 L3. ; ---------------------------------------------------------------------------- jmp L8AAF ; EF5A 4C AF 8A L.. ; ---------------------------------------------------------------------------- jmp L8A84 ; EF5D 4C 84 8A L.. ; ---------------------------------------------------------------------------- jmp L7A73 ; EF60 4C 73 7A Lsz ; ---------------------------------------------------------------------------- jmp L8BC7 ; EF63 4C C7 8B L.. ; ---------------------------------------------------------------------------- jmp L8BF3 ; EF66 4C F3 8B L.. ; ---------------------------------------------------------------------------- jmp L8C1B ; EF69 4C 1B 8C L.. ; ---------------------------------------------------------------------------- jmp L8C2B ; EF6C 4C 2B 8C L+. ; ---------------------------------------------------------------------------- jmp L4825 ; EF6F 4C 25 48 L%H ; ---------------------------------------------------------------------------- jmp L9B23 ; EF72 4C 23 9B L#. ; ---------------------------------------------------------------------------- jmp L9BEE ; EF75 4C EE 9B L.. ; ---------------------------------------------------------------------------- jmp L673E ; EF78 4C 3E 67 L>g ; ---------------------------------------------------------------------------- jmp L5A93 ; EF7B 4C 93 5A L.Z ; ---------------------------------------------------------------------------- jmp L51F0 ; EF7E 4C F0 51 L.Q ; ---------------------------------------------------------------------------- jmp L51F5 ; EF81 4C F5 51 L.Q ; ---------------------------------------------------------------------------- jmp L51D3 ; EF84 4C D3 51 L.Q ; ---------------------------------------------------------------------------- jmp L4F4C ; EF87 4C 4C 4F LLO ; ---------------------------------------------------------------------------- jmp L4307 ; EF8A 4C 07 43 L.C ; ---------------------------------------------------------------------------- jmp L5061 ; EF8D 4C 61 50 LaP ; ---------------------------------------------------------------------------- jmp L4AF3 ; EF90 4C F3 4A L.J ; ---------------------------------------------------------------------------- jmp L78C5 ; EF93 4C C5 78 L.x ; ---------------------------------------------------------------------------- jmp L77DD ; EF96 4C DD 77 L.w ; ---------------------------------------------------------------------------- jmp L5A9E ; EF99 4C 9E 5A L.Z ; ---------------------------------------------------------------------------- jmp L5A79 ; EF9C 4C 79 5A LyZ ; ---------------------------------------------------------------------------- jmp L509D ; EF9F 4C 9D 50 L.P ; ---------------------------------------------------------------------------- jmp L92DD ; EFA2 4C DD 92 L.. ; ---------------------------------------------------------------------------- jmp L4DCA ; EFA5 4C CA 4D L.M ; ---------------------------------------------------------------------------- .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFA8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFB0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFB8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFC0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFC8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFD0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFD8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFE0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFE8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFF0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; EFF8 FF FF FF FF FF FF FF FF ........ ; ---------------------------------------------------------------------------- jmp LB021 ; F000 4C 21 B0 L!. ; ---------------------------------------------------------------------------- jmp LB009 ; F003 4C 09 B0 L.. ; ---------------------------------------------------------------------------- jmp LB0B2 ; F006 4C B2 B0 L.. ; ---------------------------------------------------------------------------- jsr LFF7D ; F009 20 7D FF }. .byte $0D ; F00C 0D . .byte "BREAK" ; F00D 42 52 45 41 4B BREAK .byte $07,$00 ; F012 07 00 .. ; ---------------------------------------------------------------------------- pla ; F014 68 h sta $02 ; F015 85 02 .. ldx #$05 ; F017 A2 05 .. LF019: pla ; F019 68 h sta $03,x ; F01A 95 03 .. dex ; F01C CA . bpl LF019 ; F01D 10 FA .. bmi LF046 ; F01F 30 25 0% lda #$00 ; F021 A9 00 .. sta MMU_KERN_WINDOW ; F023 8D 00 FF ... sta $06 ; F026 85 06 .. sta $07 ; F028 85 07 .. sta $08 ; F02A 85 08 .. sta $05 ; F02C 85 05 .. lda #$00 ; F02E A9 00 .. ldy #$B0 ; F030 A0 B0 .. sta $04 ; F032 85 04 .. sty $03 ; F034 84 03 .. lda #$0F ; F036 A9 0F .. sta $02 ; F038 85 02 .. jsr LFF7D ; F03A 20 7D FF }. .byte $0D ; F03D 0D . .byte "MONITOR" ; F03E 4D 4F 4E 49 54 4F 52 MONITOR .byte $00 ; F045 00 . ; ---------------------------------------------------------------------------- LF046: cld ; F046 D8 . tsx ; F047 BA . stx $09 ; F048 86 09 .. lda #$C0 ; F04A A9 C0 .. jsr SetMsg ; F04C 20 90 FF .. cli ; F04F 58 X jsr LFF7D ; F050 20 7D FF }. .byte $0D ; F053 0D . .byte " PC SR AC XR YR SP" ; F054 20 20 20 20 50 43 20 20 PC ; F05C 53 52 20 41 43 20 58 52 SR AC XR ; F064 20 59 52 20 53 50 YR SP .byte $0D ; F06A 0D . .byte "; " ; F06B 3B 20 ; .byte $1B ; F06D 1B . .byte "Q" ; F06E 51 Q .byte $00 ; F06F 00 . ; ---------------------------------------------------------------------------- lda $02 ; F070 A5 02 .. jsr LB8D2 ; F072 20 D2 B8 .. txa ; F075 8A . jsr LFFD2 ; F076 20 D2 FF .. lda $03 ; F079 A5 03 .. jsr LB8C2 ; F07B 20 C2 B8 .. ldy #$02 ; F07E A0 02 .. LF080: lda $02,y ; F080 B9 02 00 ... jsr LB8A5 ; F083 20 A5 B8 .. iny ; F086 C8 . cpy #$08 ; F087 C0 08 .. bcc LF080 ; F089 90 F5 .. LF08B: jsr LB8B4 ; F08B 20 B4 B8 .. ldx #$00 ; F08E A2 00 .. stx $7A ; F090 86 7A .z jsr LFFCF ; F092 20 CF FF .. sta $0200,x ; F095 9D 00 02 ... inx ; F098 E8 . cpx #$A1 ; F099 E0 A1 .. bcs LF0BC ; F09B B0 1F .. cmp #$0D ; F09D C9 0D .. .byte $D0 ; F09F D0 . LF0A0: sbc ($A9),y ; F0A0 F1 A9 .. LF0A2: brk ; F0A2 00 . sta $01FF,x ; F0A3 9D FF 01 ... LF0A6: jsr LB8E9 ; F0A6 20 E9 B8 .. beq LF08B ; F0A9 F0 E0 .. cmp #$20 ; F0AB C9 20 . beq LF0A6 ; F0AD F0 F7 .. jmp (RAMVEC_WTF) ; F0AF 6C 2E 03 l.. ; ---------------------------------------------------------------------------- LF0B2: ldx #$15 ; F0B2 A2 15 .. LF0B4: cmp LB0E5+1,x ; F0B4 DD E6 B0 ... beq LF0C5 ; F0B7 F0 0C .. dex ; F0B9 CA . bpl LF0B4 ; F0BA 10 F8 .. LF0BC: jsr LFF7D ; F0BC 20 7D FF }. .byte $1D ; F0BF 1D . .byte "?" ; F0C0 3F ? .byte $00 ; F0C1 00 . ; ---------------------------------------------------------------------------- jmp LB08B ; F0C2 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF0C5: cpx #$13 ; F0C5 E0 13 .. bcs LF0DB ; F0C7 B0 12 .. cpx #$0F ; F0C9 E0 0F .. bcs LF0E0 ; F0CB B0 13 .. txa ; F0CD 8A . asl a ; F0CE 0A . tax ; F0CF AA . lda LB0FD,x ; F0D0 BD FD B0 ... pha ; F0D3 48 H lda LB0FC,x ; F0D4 BD FC B0 ... pha ; F0D7 48 H jmp LB7A7 ; F0D8 4C A7 B7 L.. ; ---------------------------------------------------------------------------- LF0DB: sta $93 ; F0DB 85 93 .. jmp LB337 ; F0DD 4C 37 B3 L7. ; ---------------------------------------------------------------------------- LF0E0: jmp LB9B1 ; F0E0 4C B1 B9 L.. ; ---------------------------------------------------------------------------- jmp (L0A00) ; F0E3 6C 00 0A l.. ; ---------------------------------------------------------------------------- eor ($43,x) ; F0E6 41 43 AC .byte $44 ; F0E8 44 D lsr $47 ; F0E9 46 47 FG pha ; F0EB 48 H lsr a ; F0EC 4A J eor $5452 ; F0ED 4D 52 54 MRT cli ; F0F0 58 X rti ; F0F1 40 @ ; ---------------------------------------------------------------------------- rol $3B3E ; F0F2 2E 3E 3B .>; bit $2B ; F0F5 24 2B $+ rol $25 ; F0F7 26 25 &% jmp L5653 ; F0F9 4C 53 56 LSV ; ---------------------------------------------------------------------------- ora $B4 ; F0FC 05 B4 .. bmi LF0B2 ; F0FE 30 B2 0. tya ; F100 98 . lda $DA,x ; F101 B5 DA .. .byte $B3 ; F103 B3 . cmp $B1,x ; F104 D5 B1 .. cmp LDEB2 ; F106 CD B2 DE ... lda ($51),y ; F109 B1 51 .Q lda ($4F),y ; F10B B1 4F .O bcs LF142 ; F10D B0 33 .3 lda ($E2) ; F10F B2 E2 .. bcs LF0A2 ; F111 B0 8F .. tsx ; F113 BA . ora $B4 ; F114 05 B4 .. tax ; F116 AA . lda ($93),y ; F117 B1 93 .. lda ($8E),y ; F119 B1 8E .. lda ($0A) ; F11B B2 0A .. ldx $68 ; F11D A6 68 .h lda #$66 ; F11F A9 66 .f sei ; F121 78 x jsr LFF74 ; F122 20 74 FF t. cli ; F125 58 X ldx $0AB2 ; F126 AE B2 0A ... rts ; F129 60 ` ; ---------------------------------------------------------------------------- stx $0AB2 ; F12A 8E B2 0A ... ldx #$66 ; F12D A2 66 .f stx $02B9 ; F12F 8E B9 02 ... ldx $68 ; F132 A6 68 .h sei ; F134 78 x jsr LFF77 ; F135 20 77 FF w. cli ; F138 58 X ldx $0AB2 ; F139 AE B2 0A ... rts ; F13C 60 ` ; ---------------------------------------------------------------------------- stx $0AB2 ; F13D 8E B2 0A ... ldx #$66 ; F140 A2 66 .f LF142: stx $02C8 ; F142 8E C8 02 ... ldx $68 ; F145 A6 68 .h sei ; F147 78 x jsr LFF7A ; F148 20 7A FF z. cli ; F14B 58 X php ; F14C 08 . ldx $0AB2 ; F14D AE B2 0A ... plp ; F150 28 ( rts ; F151 60 ` ; ---------------------------------------------------------------------------- bcs LF15C ; F152 B0 08 .. jsr LB901 ; F154 20 01 B9 .. jsr LB7A7 ; F157 20 A7 B7 .. bcc LF162 ; F15A 90 06 .. LF15C: lda #$0B ; F15C A9 0B .. sta $60 ; F15E 85 60 .` bne LF177 ; F160 D0 15 .. LF162: jsr LB90E ; F162 20 0E B9 .. bcc LF191 ; F165 90 2A .* ldx #$03 ; F167 A2 03 .. bit $D7 ; F169 24 D7 $. bpl LF16E ; F16B 10 01 .. inx ; F16D E8 . LF16E: lsr $62 ; F16E 46 62 Fb ror $61 ; F170 66 61 fa ror $60 ; F172 66 60 f` dex ; F174 CA . bne LF16E ; F175 D0 F7 .. LF177: jsr LFFE1 ; F177 20 E1 FF .. beq LF18E ; F17A F0 12 .. jsr LB1E8 ; F17C 20 E8 B1 .. lda #$08 ; F17F A9 08 .. bit $D7 ; F181 24 D7 $. bpl LF186 ; F183 10 01 .. asl a ; F185 0A . LF186: jsr LB952 ; F186 20 52 B9 R. jsr LB922 ; F189 20 22 B9 ". bcs LF177 ; F18C B0 E9 .. LF18E: jmp LB08B ; F18E 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF191: jmp LB0BC ; F191 4C BC B0 L.. ; ---------------------------------------------------------------------------- jsr LB974 ; F194 20 74 B9 t. ldy #$00 ; F197 A0 00 .. LF199: jsr LB7A7 ; F199 20 A7 B7 .. bcs LF1A8 ; F19C B0 0A .. lda $60 ; F19E A5 60 .` sta $05,y ; F1A0 99 05 00 ... iny ; F1A3 C8 . cpy #$05 ; F1A4 C0 05 .. bcc LF199 ; F1A6 90 F1 .. LF1A8: jmp LB08B ; F1A8 4C 8B B0 L.. ; ---------------------------------------------------------------------------- bcs LF1C9 ; F1AB B0 1C .. jsr LB901 ; F1AD 20 01 B9 .. ldy #$00 ; F1B0 A0 00 .. LF1B2: jsr LB7A7 ; F1B2 20 A7 B7 .. bcs LF1C9 ; F1B5 B0 12 .. lda $60 ; F1B7 A5 60 .` jsr LB12A ; F1B9 20 2A B1 *. iny ; F1BC C8 . bit $D7 ; F1BD 24 D7 $. bpl LF1C5 ; F1BF 10 04 .. cpy #$10 ; F1C1 C0 10 .. bcc LF1B2 ; F1C3 90 ED .. LF1C5: cpy #$08 ; F1C5 C0 08 .. bcc LF1B2 ; F1C7 90 E9 .. LF1C9: jsr LFF7D ; F1C9 20 7D FF }. .byte $1B ; F1CC 1B . .byte "O" ; F1CD 4F O .byte $91,$00 ; F1CE 91 00 .. ; ---------------------------------------------------------------------------- jsr LB1E8 ; F1D0 20 E8 B1 .. jmp LB08B ; F1D3 4C 8B B0 L.. ; ---------------------------------------------------------------------------- jsr LB974 ; F1D6 20 74 B9 t. ldx $09 ; F1D9 A6 09 .. txs ; F1DB 9A . jmp LFF71 ; F1DC 4C 71 FF Lq. ; ---------------------------------------------------------------------------- jsr LB974 ; F1DF 20 74 B9 t. jsr LFF6E ; F1E2 20 6E FF n. jmp LB08B ; F1E5 4C 8B B0 L.. ; ---------------------------------------------------------------------------- jsr LB8B4 ; F1E8 20 B4 B8 .. lda #$3E ; F1EB A9 3E .> jsr LFFD2 ; F1ED 20 D2 FF .. jsr LB892 ; F1F0 20 92 B8 .. ldy #$00 ; F1F3 A0 00 .. beq LF1FA ; F1F5 F0 03 .. LF1F7: jsr LB8A8 ; F1F7 20 A8 B8 .. LF1FA: jsr LB11A ; F1FA 20 1A B1 .. jsr LB8C2 ; F1FD 20 C2 B8 .. iny ; F200 C8 . cpy #$08 ; F201 C0 08 .. bit $D7 ; F203 24 D7 $. bpl LF209 ; F205 10 02 .. cpy #$10 ; F207 C0 10 .. LF209: bcc LF1F7 ; F209 90 EC .. jsr LFF7D ; F20B 20 7D FF }. .byte ":" ; F20E 3A : .byte $12,$00 ; F20F 12 00 .. ; ---------------------------------------------------------------------------- ldy #$00 ; F211 A0 00 .. LF213: jsr LB11A ; F213 20 1A B1 .. pha ; F216 48 H and #$7F ; F217 29 7F ). cmp #$20 ; F219 C9 20 . pla ; F21B 68 h bcs LF220 ; F21C B0 02 .. lda #$2E ; F21E A9 2E .. LF220: jsr LFFD2 ; F220 20 D2 FF .. iny ; F223 C8 . bit $D7 ; F224 24 D7 $. bpl LF22C ; F226 10 04 .. cpy #$10 ; F228 C0 10 .. bcc LF213 ; F22A 90 E7 .. LF22C: cpy #$08 ; F22C C0 08 .. bcc LF213 ; F22E 90 E3 .. rts ; F230 60 ` ; ---------------------------------------------------------------------------- lda #$00 ; F231 A9 00 .. bit L80A9 ; F233 2C A9 80 ,.. sta $93 ; F236 85 93 .. lda #$00 ; F238 A9 00 .. sta $0AB3 ; F23A 8D B3 0A ... jsr LB983 ; F23D 20 83 B9 .. bcs LF247 ; F240 B0 05 .. jsr LB7A7 ; F242 20 A7 B7 .. bcc LF24A ; F245 90 03 .. LF247: jmp LB0BC ; F247 4C BC B0 L.. ; ---------------------------------------------------------------------------- LF24A: bit $93 ; F24A 24 93 $. bpl LF27A ; F24C 10 2C ., sec ; F24E 38 8 lda $66 ; F24F A5 66 .f sbc $60 ; F251 E5 60 .` lda $67 ; F253 A5 67 .g sbc $61 ; F255 E5 61 .a bcs LF27A ; F257 B0 21 .! lda $63 ; F259 A5 63 .c adc $60 ; F25B 65 60 e` sta $60 ; F25D 85 60 .` lda $64 ; F25F A5 64 .d adc $61 ; F261 65 61 ea sta $61 ; F263 85 61 .a lda $65 ; F265 A5 65 .e adc $62 ; F267 65 62 eb sta $62 ; F269 85 62 .b ldx #$02 ; F26B A2 02 .. LF26D: lda $0AB7,x ; F26D BD B7 0A ... sta $66,x ; F270 95 66 .f dex ; F272 CA . bpl LF26D ; F273 10 F8 .. lda #$80 ; F275 A9 80 .. sta $0AB3 ; F277 8D B3 0A ... LF27A: jsr LB8B4 ; F27A 20 B4 B8 .. ldy #$00 ; F27D A0 00 .. LF27F: jsr LFFE1 ; F27F 20 E1 FF .. beq LF2CB ; F282 F0 47 .G jsr LB11A ; F284 20 1A B1 .. ldx #$60 ; F287 A2 60 .` stx $02B9 ; F289 8E B9 02 ... stx $02C8 ; F28C 8E C8 02 ... ldx $62 ; F28F A6 62 .b sei ; F291 78 x bit $93 ; F292 24 93 $. bpl LF299 ; F294 10 03 .. jsr LFF77 ; F296 20 77 FF w. LF299: ldx $62 ; F299 A6 62 .b jsr LFF7A ; F29B 20 7A FF z. cli ; F29E 58 X beq LF2AA ; F29F F0 09 .. jsr LB892 ; F2A1 20 92 B8 .. jsr LB8A8 ; F2A4 20 A8 B8 .. jsr LB8A8 ; F2A7 20 A8 B8 .. LF2AA: bit $0AB3 ; F2AA 2C B3 0A ,.. bmi LF2BA ; F2AD 30 0B 0. inc $60 ; F2AF E6 60 .` bne LF2C3 ; F2B1 D0 10 .. inc $61 ; F2B3 E6 61 .a bne LF2C3 ; F2B5 D0 0C .. jmp LB0BC ; F2B7 4C BC B0 L.. ; ---------------------------------------------------------------------------- LF2BA: jsr LB922 ; F2BA 20 22 B9 ". jsr LB960 ; F2BD 20 60 B9 `. jmp LB2C6 ; F2C0 4C C6 B2 L.. ; ---------------------------------------------------------------------------- LF2C3: jsr LB950 ; F2C3 20 50 B9 P. jsr LB93C ; F2C6 20 3C B9 <. bcs LF27F ; F2C9 B0 B4 .. LF2CB: jmp LB08B ; F2CB 4C 8B B0 L.. ; ---------------------------------------------------------------------------- jsr LB983 ; F2CE 20 83 B9 .. bcs LF334 ; F2D1 B0 61 .a ldy #$00 ; F2D3 A0 00 .. jsr LB8E9 ; F2D5 20 E9 B8 .. cmp #$27 ; F2D8 C9 27 .' bne LF2F2 ; F2DA D0 16 .. jsr LB8E9 ; F2DC 20 E9 B8 .. cmp #$00 ; F2DF C9 00 .. beq LF334 ; F2E1 F0 51 .Q LF2E3: sta $0A80,y ; F2E3 99 80 0A ... iny ; F2E6 C8 . jsr LB8E9 ; F2E7 20 E9 B8 .. beq LF307 ; F2EA F0 1B .. cpy #$20 ; F2EC C0 20 . bne LF2E3 ; F2EE D0 F3 .. beq LF307 ; F2F0 F0 15 .. LF2F2: sty stack ; F2F2 8C 00 01 ... jsr LB7A5 ; F2F5 20 A5 B7 .. LF2F8: lda $60 ; F2F8 A5 60 .` sta $0A80,y ; F2FA 99 80 0A ... iny ; F2FD C8 . jsr LB7A7 ; F2FE 20 A7 B7 .. bcs LF307 ; F301 B0 04 .. cpy #$20 ; F303 C0 20 . bne LF2F8 ; F305 D0 F1 .. LF307: sty $93 ; F307 84 93 .. jsr LB8B4 ; F309 20 B4 B8 .. LF30C: ldy #$00 ; F30C A0 00 .. LF30E: jsr LB11A ; F30E 20 1A B1 .. cmp $0A80,y ; F311 D9 80 0A ... bne LF324 ; F314 D0 0E .. iny ; F316 C8 . cpy $93 ; F317 C4 93 .. bne LF30E ; F319 D0 F3 .. jsr LB892 ; F31B 20 92 B8 .. jsr LB8A8 ; F31E 20 A8 B8 .. jsr LB8A8 ; F321 20 A8 B8 .. LF324: jsr LFFE1 ; F324 20 E1 FF .. beq LF331 ; F327 F0 08 .. jsr LB950 ; F329 20 50 B9 P. jsr LB93C ; F32C 20 3C B9 <. bcs LF30C ; F32F B0 DB .. LF331: jmp LB08B ; F331 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF334: jmp LB0BC ; F334 4C BC B0 L.. ; ---------------------------------------------------------------------------- ldy #$01 ; F337 A0 01 .. sty ST ; F339 84 BA .. sty $B9 ; F33B 84 B9 .. dey ; F33D 88 . sty LFSLogNum ; F33E 84 C6 .. sty $B7 ; F340 84 B7 .. sty $C7 ; F342 84 C7 .. sty $90 ; F344 84 90 .. lda #$0A ; F346 A9 0A .. sta $BC ; F348 85 BC .. lda #$80 ; F34A A9 80 .. sta $BB ; F34C 85 BB .. LF34E: jsr LB8E9 ; F34E 20 E9 B8 .. beq LF3AB ; F351 F0 58 .X cmp #$20 ; F353 C9 20 . beq LF34E ; F355 F0 F7 .. cmp #$22 ; F357 C9 22 ." bne LF370 ; F359 D0 15 .. ldx $7A ; F35B A6 7A .z LF35D: lda $0200,x ; F35D BD 00 02 ... beq LF3AB ; F360 F0 49 .I inx ; F362 E8 . cmp #$22 ; F363 C9 22 ." beq LF373 ; F365 F0 0C .. sta ($BB),y ; F367 91 BB .. inc $B7 ; F369 E6 B7 .. iny ; F36B C8 . cpy #$11 ; F36C C0 11 .. bcc LF35D ; F36E 90 ED .. LF370: jmp LB0BC ; F370 4C BC B0 L.. ; ---------------------------------------------------------------------------- LF373: stx $7A ; F373 86 7A .z jsr LB8E9 ; F375 20 E9 B8 .. beq LF3AB ; F378 F0 31 .1 jsr LB7A7 ; F37A 20 A7 B7 .. bcs LF3AB ; F37D B0 2C ., lda $60 ; F37F A5 60 .` sta ST ; F381 85 BA .. jsr LB7A7 ; F383 20 A7 B7 .. bcs LF3AB ; F386 B0 23 .# jsr LB901 ; F388 20 01 B9 .. sta LFSLogNum ; F38B 85 C6 .. jsr LB7A7 ; F38D 20 A7 B7 .. bcs LF3D1 ; F390 B0 3F .? jsr LB8B4 ; F392 20 B4 B8 .. ldx $60 ; F395 A6 60 .` ldy $61 ; F397 A4 61 .a lda $93 ; F399 A5 93 .. cmp #$53 ; F39B C9 53 .S bne LF370 ; F39D D0 D1 .. lda #$00 ; F39F A9 00 .. sta $B9 ; F3A1 85 B9 .. lda #$66 ; F3A3 A9 66 .f jsr SAVE ; F3A5 20 D8 FF .. LF3A8: jmp LB08B ; F3A8 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF3AB: lda $93 ; F3AB A5 93 .. cmp #$56 ; F3AD C9 56 .V beq LF3B7 ; F3AF F0 06 .. cmp #$4C ; F3B1 C9 4C .L bne LF370 ; F3B3 D0 BB .. lda #$00 ; F3B5 A9 00 .. LF3B7: jsr LOAD ; F3B7 20 D5 FF .. lda $90 ; F3BA A5 90 .. and #$10 ; F3BC 29 10 ). beq LF3A8 ; F3BE F0 E8 .. lda $93 ; F3C0 A5 93 .. beq LF370 ; F3C2 F0 AC .. jsr LFF7D ; F3C4 20 7D FF }. .byte " ERROR" ; F3C7 20 45 52 52 4F 52 ERROR .byte $00 ; F3CD 00 . ; ---------------------------------------------------------------------------- jmp LB08B ; F3CE 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF3D1: ldx $66 ; F3D1 A6 66 .f ldy $67 ; F3D3 A4 67 .g lda #$00 ; F3D5 A9 00 .. sta $B9 ; F3D7 85 B9 .. beq LF3AB ; F3D9 F0 D0 .. jsr LB983 ; F3DB 20 83 B9 .. bcs LF403 ; F3DE B0 23 .# lda $68 ; F3E0 A5 68 .h cmp $0AB9 ; F3E2 CD B9 0A ... bne LF403 ; F3E5 D0 1C .. jsr LB7A7 ; F3E7 20 A7 B7 .. bcs LF403 ; F3EA B0 17 .. ldy #$00 ; F3EC A0 00 .. LF3EE: lda $60 ; F3EE A5 60 .` jsr LB12A ; F3F0 20 2A B1 *. jsr LFFE1 ; F3F3 20 E1 FF .. beq LF400 ; F3F6 F0 08 .. jsr LB950 ; F3F8 20 50 B9 P. jsr LB93C ; F3FB 20 3C B9 <. bcs LF3EE ; F3FE B0 EE .. LF400: jmp LB08B ; F400 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF403: jmp LB0BC ; F403 4C BC B0 L.. ; ---------------------------------------------------------------------------- bcs LF442 ; F406 B0 3A .: jsr LB901 ; F408 20 01 B9 .. LF40B: ldx #$00 ; F40B A2 00 .. stx $0AA1 ; F40D 8E A1 0A ... stx $0AB4 ; F410 8E B4 0A ... LF413: jsr LB8E9 ; F413 20 E9 B8 .. bne LF41F ; F416 D0 07 .. cpx #$00 ; F418 E0 00 .. bne LF41F ; F41A D0 03 .. jmp LB08B ; F41C 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF41F: cmp #$20 ; F41F C9 20 . beq LF40B ; F421 F0 E8 .. sta $0AAC,x ; F423 9D AC 0A ... inx ; F426 E8 . cpx #$03 ; F427 E0 03 .. bne LF413 ; F429 D0 E8 .. LF42B: dex ; F42B CA . bmi LF445 ; F42C 30 17 0. lda $0AAC,x ; F42E BD AC 0A ... sec ; F431 38 8 sbc #$3F ; F432 E9 3F .? ldy #$05 ; F434 A0 05 .. LF436: lsr a ; F436 4A J ror $0AA1 ; F437 6E A1 0A n.. ror $0AA0 ; F43A 6E A0 0A n.. dey ; F43D 88 . bne LF436 ; F43E D0 F6 .. beq LF42B ; F440 F0 E9 .. LF442: jmp LB0BC ; F442 4C BC B0 L.. ; ---------------------------------------------------------------------------- LF445: ldx #$02 ; F445 A2 02 .. LF447: lda $0AB4 ; F447 AD B4 0A ... bne LF47C ; F44A D0 30 .0 jsr LB7CE ; F44C 20 CE B7 .. beq LF47A ; F44F F0 29 .) bcs LF442 ; F451 B0 EF .. lda #$24 ; F453 A9 24 .$ sta $0AA0,x ; F455 9D A0 0A ... inx ; F458 E8 . lda $62 ; F459 A5 62 .b bne LF442 ; F45B D0 E5 .. ldy #$04 ; F45D A0 04 .. lda $0AB6 ; F45F AD B6 0A ... cmp #$08 ; F462 C9 08 .. bcc LF46B ; F464 90 05 .. cpy $0AB4 ; F466 CC B4 0A ... .byte $F0 ; F469 F0 . LF46A: .byte $06 ; F46A 06 . LF46B: lda $61 ; F46B A5 61 .a bne LF471 ; F46D D0 02 .. ldy #$02 ; F46F A0 02 .. LF471: lda #$30 ; F471 A9 30 .0 LF473: sta $0AA0,x ; F473 9D A0 0A ... inx ; F476 E8 . dey ; F477 88 . bne LF473 ; F478 D0 F9 .. LF47A: dec $7A ; F47A C6 7A .z LF47C: jsr LB8E9 ; F47C 20 E9 B8 .. beq LF48F ; F47F F0 0E .. cmp #$20 ; F481 C9 20 . beq LF447 ; F483 F0 C2 .. sta $0AA0,x ; F485 9D A0 0A ... inx ; F488 E8 . cpx #$0A ; F489 E0 0A .. bcc LF447 ; F48B 90 BA .. bcs LF442 ; F48D B0 B3 .. LF48F: stx $63 ; F48F 86 63 .c ldx #$00 ; F491 A2 00 .. stx $0AB1 ; F493 8E B1 0A ... ldx #$00 ; F496 A2 00 .. stx $9F ; F498 86 9F .. lda $0AB1 ; F49A AD B1 0A ... .byte $20 ; F49D 20 LOAD__: eor LAEB6,y ; F49E 59 B6 AE Y.. tax ; F4A1 AA . asl a ; F4A2 0A . stx $64 ; F4A3 86 64 .d tax ; F4A5 AA . lda LB761,x ; F4A6 BD 61 B7 .a. jsr LB57F ; F4A9 20 7F B5 .. lda LB721,x ; F4AC BD 21 B7 .!. jsr LB57F ; F4AF 20 7F B5 .. ldx #$06 ; F4B2 A2 06 .. LF4B4: cpx #$03 ; F4B4 E0 03 .. bne LF4CC ; F4B6 D0 14 .. ldy $0AAB ; F4B8 AC AB 0A ... beq LF4CC ; F4BB F0 0F .. LF4BD: lda $0AAA ; F4BD AD AA 0A ... cmp #$E8 ; F4C0 C9 E8 .. lda #$30 ; F4C2 A9 30 .0 bcs LF4E4 ; F4C4 B0 1E .. jsr LB57C ; F4C6 20 7C B5 |. dey ; F4C9 88 . bne LF4BD ; F4CA D0 F1 .. LF4CC: asl $0AAA ; F4CC 0E AA 0A ... bcc LF4DF ; F4CF 90 0E .. lda LB714,x ; F4D1 BD 14 B7 ... jsr LB57F ; F4D4 20 7F B5 .. lda LB71A,x ; F4D7 BD 1A B7 ... beq LF4DF ; F4DA F0 03 .. jsr LB57F ; F4DC 20 7F B5 .. LF4DF: dex ; F4DF CA . bne LF4B4 ; F4E0 D0 D2 .. beq LF4EA ; F4E2 F0 06 .. LF4E4: jsr LB57C ; F4E4 20 7C B5 |. jsr LB57C ; F4E7 20 7C B5 |. LF4EA: lda $63 ; F4EA A5 63 .c cmp $9F ; F4EC C5 9F .. beq LF4F3 ; F4EE F0 03 .. jmp LB58B ; F4F0 4C 8B B5 L.. ; ---------------------------------------------------------------------------- LF4F3: ldy $0AAB ; F4F3 AC AB 0A ... beq LF52A ; F4F6 F0 32 .2 lda $64 ; F4F8 A5 64 .d cmp #$9D ; F4FA C9 9D .. bne LF521 ; F4FC D0 23 .# lda $60 ; F4FE A5 60 .` sbc $66 ; F500 E5 66 .f tax ; F502 AA . lda $61 ; F503 A5 61 .a sbc $67 ; F505 E5 67 .g bcc LF511 ; F507 90 08 .. bne LF579 ; F509 D0 6E .n cpx #$82 ; F50B E0 82 .. bcs LF579 ; F50D B0 6A .j bcc LF519 ; F50F 90 08 .. LF511: tay ; F511 A8 . iny ; F512 C8 . bne LF579 ; F513 D0 64 .d cpx #$82 ; F515 E0 82 .. bcc LF579 ; F517 90 60 .` LF519: dex ; F519 CA . dex ; F51A CA . txa ; F51B 8A . ldy $0AAB ; F51C AC AB 0A ... bne LF524 ; F51F D0 03 .. LF521: lda $5F,y ; F521 B9 5F 00 ._. LF524: jsr LB12A ; F524 20 2A B1 *. dey ; F527 88 . bne LF521 ; F528 D0 F7 .. LF52A: lda $0AB1 ; F52A AD B1 0A ... jsr LB12A ; F52D 20 2A B1 *. jsr LB8AD ; F530 20 AD B8 .. jsr LFF7D ; F533 20 7D FF }. .byte "A " ; F536 41 20 A .byte $1B ; F538 1B . .byte "Q" ; F539 51 Q .byte $00 ; F53A 00 . ; ---------------------------------------------------------------------------- jsr LB5DC ; F53B 20 DC B5 .. inc $0AAB ; F53E EE AB 0A ... lda $0AAB ; F541 AD AB 0A ... jsr LB952 ; F544 20 52 B9 R. lda #$41 ; F547 A9 41 .A sta FROM_C67B ; F549 8D 4A 03 .J. lda #$20 ; F54C A9 20 . sta $034B ; F54E 8D 4B 03 .K. sta $0351 ; F551 8D 51 03 .Q. lda $68 ; F554 A5 68 .h jsr LB8D2 ; F556 20 D2 B8 .. stx $034C ; F559 8E 4C 03 .L. lda $67 ; F55C A5 67 .g jsr LB8D2 ; F55E 20 D2 B8 .. sta L034D ; F561 8D 4D 03 .M. stx $034E ; F564 8E 4E 03 .N. lda $66 ; F567 A5 66 .f jsr LB8D2 ; F569 20 D2 B8 .. sta $034F ; F56C 8D 4F 03 .O. stx $0350 ; F56F 8E 50 03 .P. lda #$08 ; F572 A9 08 .. sta $D0 ; F574 85 D0 .. jmp LB08B ; F576 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF579: jmp LB0BC ; F579 4C BC B0 L.. ; ---------------------------------------------------------------------------- jsr LB57F ; F57C 20 7F B5 .. stx $0AAF ; F57F 8E AF 0A ... ldx $9F ; F582 A6 9F .. cmp $0AA0,x ; F584 DD A0 0A ... beq LF593 ; F587 F0 0A .. pla ; F589 68 h pla ; F58A 68 h inc $0AB1 ; F58B EE B1 0A ... beq LF579 ; F58E F0 E9 .. jmp LB496 ; F590 4C 96 B4 L.. ; ---------------------------------------------------------------------------- LF593: inc $9F ; F593 E6 9F .. ldx $0AAF ; F595 AE AF 0A ... rts ; F598 60 ` ; ---------------------------------------------------------------------------- bcs LF5A3 ; F599 B0 08 .. jsr LB901 ; F59B 20 01 B9 .. jsr LB7A7 ; F59E 20 A7 B7 .. bcc LF5A9 ; F5A1 90 06 .. LF5A3: lda #$14 ; F5A3 A9 14 .. sta $60 ; F5A5 85 60 .` bne LF5AE ; F5A7 D0 05 .. LF5A9: jsr LB90E ; F5A9 20 0E B9 .. bcc LF5D1 ; F5AC 90 23 .# LF5AE: jsr LFF7D ; F5AE 20 7D FF }. .byte $0D,$1B ; F5B1 0D 1B .. .byte "Q" ; F5B3 51 Q .byte $00 ; F5B4 00 . ; ---------------------------------------------------------------------------- jsr LFFE1 ; F5B5 20 E1 FF .. beq LF5CE ; F5B8 F0 14 .. jsr LB5D4 ; F5BA 20 D4 B5 .. inc $0AAB ; F5BD EE AB 0A ... lda $0AAB ; F5C0 AD AB 0A ... jsr LB952 ; F5C3 20 52 B9 R. lda $0AAB ; F5C6 AD AB 0A ... jsr LB924 ; F5C9 20 24 B9 $. bcs LF5AE ; F5CC B0 E0 .. LF5CE: jmp LB08B ; F5CE 4C 8B B0 L.. ; ---------------------------------------------------------------------------- LF5D1: jmp LB0BC ; F5D1 4C BC B0 L.. ; ---------------------------------------------------------------------------- lda #$2E ; F5D4 A9 2E .. jsr LFFD2 ; F5D6 20 D2 FF .. jsr LB8A8 ; F5D9 20 A8 B8 .. .byte $20 ; F5DC 20 SAVE__: sta ($B8) ; F5DD 92 B8 .. jsr LB8A8 ; F5DF 20 A8 B8 .. ldy #$00 ; F5E2 A0 00 .. jsr LB11A ; F5E4 20 1A B1 .. jsr LB659 ; F5E7 20 59 B6 Y. pha ; F5EA 48 H ldx $0AAB ; F5EB AE AB 0A ... inx ; F5EE E8 . LF5EF: dex ; F5EF CA . bpl LF5FC ; F5F0 10 0A .. jsr LFF7D ; F5F2 20 7D FF }. .byte " " ; F5F5 20 20 20 .byte $00 ; F5F8 00 . ; ---------------------------------------------------------------------------- jmp LB602 ; F5F9 4C 02 B6 L.. ; ---------------------------------------------------------------------------- LF5FC: jsr LB11A ; F5FC 20 1A B1 .. jsr LB8A5 ; F5FF 20 A5 B8 .. iny ; F602 C8 . cpy #$03 ; F603 C0 03 .. bcc LF5EF ; F605 90 E8 .. pla ; F607 68 h ldx #$03 ; F608 A2 03 .. jsr LB6A1 ; F60A 20 A1 B6 .. ldx #$06 ; F60D A2 06 .. LF60F: cpx #$03 ; F60F E0 03 .. bne LF62A ; F611 D0 17 .. ldy $0AAB ; F613 AC AB 0A ... beq LF62A ; F616 F0 12 .. LF618: lda $0AAA ; F618 AD AA 0A ... cmp #$E8 ; F61B C9 E8 .. php ; F61D 08 . jsr LB11A ; F61E 20 1A B1 .. plp ; F621 28 ( bcs LF641 ; F622 B0 1D .. jsr LB8C2 ; F624 20 C2 B8 .. dey ; F627 88 . bne LF618 ; F628 D0 EE .. LF62A: asl $0AAA ; F62A 0E AA 0A ... bcc LF63D ; F62D 90 0E .. lda LB714,x ; F62F BD 14 B7 ... jsr LFFD2 ; F632 20 D2 FF .. lda LB71A,x ; F635 BD 1A B7 ... beq LF63D ; F638 F0 03 .. jsr LFFD2 ; F63A 20 D2 FF .. LF63D: dex ; F63D CA . bne LF60F ; F63E D0 CF .. rts ; F640 60 ` ; ---------------------------------------------------------------------------- LF641: jsr LB64D ; F641 20 4D B6 M. clc ; F644 18 . adc #$01 ; F645 69 01 i. bne LF64A ; F647 D0 01 .. inx ; F649 E8 . LF64A: jmp LB89F ; F64A 4C 9F B8 L.. ; ---------------------------------------------------------------------------- ldx $67 ; F64D A6 67 .g tay ; F64F A8 . bpl LF653 ; F650 10 01 .. dex ; F652 CA . LF653: adc $66 ; F653 65 66 ef bcc LF658 ; F655 90 01 .. inx ; F657 E8 . LF658: rts ; F658 60 ` ; ---------------------------------------------------------------------------- tay ; F659 A8 . lsr a ; F65A 4A J bcc LF668 ; F65B 90 0B .. lsr a ; F65D 4A J bcs LF677 ; F65E B0 17 .. cmp #$22 ; F660 C9 22 ." beq LF677 ; F662 F0 13 .. and #$07 ; F664 29 07 ). ora #$80 ; F666 09 80 .. LF668: lsr a ; F668 4A J tax ; F669 AA . lda LB6C3,x ; F66A BD C3 B6 ... bcs LF673 ; F66D B0 04 .. lsr a ; F66F 4A J lsr a ; F670 4A J lsr a ; F671 4A J lsr a ; F672 4A J LF673: and #$0F ; F673 29 0F ). LF675: bne LF67B ; F675 D0 04 .. LF677: ldy #$80 ; F677 A0 80 .. lda #$00 ; F679 A9 00 .. LF67B: tax ; F67B AA . .byte $BD ; F67C BD . LF67D: rmb0 $B7 ; F67D 07 B7 .. sta $0AAA ; F67F 8D AA 0A ... and #$03 ; F682 29 03 ). sta $0AAB ; F684 8D AB 0A ... tya ; F687 98 . and #$8F ; F688 29 8F ). tax ; F68A AA . tya ; F68B 98 . ldy #$03 ; F68C A0 03 .. cpx #$8A ; F68E E0 8A .. beq LF69D ; F690 F0 0B .. LF692: lsr a ; F692 4A J bcc LF69D ; F693 90 08 .. lsr a ; F695 4A J LF696: lsr a ; F696 4A J ora #$20 ; F697 09 20 . dey ; F699 88 . bne LF696 ; F69A D0 FA .. iny ; F69C C8 . LF69D: dey ; F69D 88 . bne LF692 ; F69E D0 F2 .. rts ; F6A0 60 ` ; ---------------------------------------------------------------------------- tay ; F6A1 A8 . lda LB721,y ; F6A2 B9 21 B7 .!. sta $63 ; F6A5 85 63 .c lda LB761,y ; F6A7 B9 61 B7 .a. sta $64 ; F6AA 85 64 .d LF6AC: lda #$00 ; F6AC A9 00 .. ldy #$05 ; F6AE A0 05 .. LF6B0: asl $64 ; F6B0 06 64 .d rol $63 ; F6B2 26 63 &c rol a ; F6B4 2A * dey ; F6B5 88 . bne LF6B0 ; F6B6 D0 F8 .. adc #$3F ; F6B8 69 3F i? jsr LFFD2 ; F6BA 20 D2 FF .. dex ; F6BD CA . bne LF6AC ; F6BE D0 EC .. jmp LB8A8 ; F6C0 4C A8 B8 L.. ; ---------------------------------------------------------------------------- rti ; F6C3 40 @ ; ---------------------------------------------------------------------------- .byte $02 ; F6C4 02 . eor $03 ; F6C5 45 03 E. bne LF6D1 ; F6C7 D0 08 .. rti ; F6C9 40 @ ; ---------------------------------------------------------------------------- ora #$30 ; F6CA 09 30 .0 .byte $22 ; F6CC 22 " eor $33 ; F6CD 45 33 E3 bne LF6D9 ; F6CF D0 08 .. LF6D1: rti ; F6D1 40 @ ; ---------------------------------------------------------------------------- ora #$40 ; F6D2 09 40 .@ .byte $02 ; F6D4 02 . eor $33 ; F6D5 45 33 E3 bne LF6E1 ; F6D7 D0 08 .. LF6D9: rti ; F6D9 40 @ ; ---------------------------------------------------------------------------- ora #$40 ; F6DA 09 40 .@ .byte $02 ; F6DC 02 . eor $B3 ; F6DD 45 B3 E. bne LF6E9 ; F6DF D0 08 .. LF6E1: rti ; F6E1 40 @ ; ---------------------------------------------------------------------------- ora #$00 ; F6E2 09 00 .. .byte $22 ; F6E4 22 " .byte $44 ; F6E5 44 D .byte $33 ; F6E6 33 3 bne LF675 ; F6E7 D0 8C .. LF6E9: .byte $44 ; F6E9 44 D brk ; F6EA 00 . ora ($22),y ; F6EB 11 22 ." .byte $44 ; F6ED 44 D .byte $33 ; F6EE 33 3 bne LF67D ; F6EF D0 8C .. .byte $44 ; F6F1 44 D txs ; F6F2 9A . bpl LF717 ; F6F3 10 22 ." .byte $44 ; F6F5 44 D .byte $33 ; F6F6 33 3 bne LF701 ; F6F7 D0 08 .. rti ; F6F9 40 @ ; ---------------------------------------------------------------------------- ora #$10 ; F6FA 09 10 .. .byte $22 ; F6FC 22 " .byte $44 ; F6FD 44 D .byte $33 ; F6FE 33 3 .byte $D0 ; F6FF D0 . CharacterSet: ; This is the character set. It contains 6 bytes for each characters, and the ; bitmap is "rotated", ie the on screen the resolution is 6*8, not 8*6. ; Character set area is from $F700 to $F9FF, for 128 characters (codes > 128 ; would mean inverse text probably?). The area from the point of view of the ; CPU also contains the VIA registers, it seems. .byte $00 ; F700 00 . LF701: .byte $3E,$41,$5D,$51,$5E,$00,$7E,$09 ; F701 3E 41 5D 51 5E 00 7E 09 >A]Q^.~. .byte $09,$09,$7E,$00,$7F,$49,$49,$49 ; F709 09 09 7E 00 7F 49 49 49 ..~..III .byte $36,$00,$3E,$41,$41,$41 ; F711 36 00 3E 41 41 41 6.>AAA LF717: .byte $22,$00,$7F,$41,$41,$41,$3E,$00 ; F717 22 00 7F 41 41 41 3E 00 "..AAA>. .byte $7F,$49,$49,$41,$41,$00,$7F,$09 ; F71F 7F 49 49 41 41 00 7F 09 .IIAA... .byte $09,$01,$01,$00,$3E,$41,$41,$49 ; F727 09 01 01 00 3E 41 41 49 ....>AAI .byte $3A,$00,$7F,$08,$08,$08,$7F,$00 ; F72F 3A 00 7F 08 08 08 7F 00 :....... .byte $00,$41,$7F,$41,$00,$00,$20,$40 ; F737 00 41 7F 41 00 00 20 40 .A.A.. @ .byte $41,$3F,$01,$00,$7F,$08,$14,$22 ; F73F 41 3F 01 00 7F 08 14 22 A?....." .byte $41,$00,$7F,$40,$40,$40,$40,$00 ; F747 41 00 7F 40 40 40 40 00 A..@@@@. .byte $7F,$02,$04,$02,$7F,$00,$7F,$04 ; F74F 7F 02 04 02 7F 00 7F 04 ........ .byte $08,$10,$7F,$00,$3E,$41,$41,$41 ; F757 08 10 7F 00 3E 41 41 41 ....>AAA .byte $3E,$00,$7F,$09,$09,$09,$06,$00 ; F75F 3E 00 7F 09 09 09 06 00 >....... .byte $3E,$41,$51,$61,$7E,$00,$7F,$09 ; F767 3E 41 51 61 7E 00 7F 09 >AQa~... .byte $09,$09,$76,$00,$26,$49,$49,$49 ; F76F 09 09 76 00 26 49 49 49 ..v.&III .byte $32,$00,$01,$01,$7F,$01,$01,$00 ; F777 32 00 01 01 7F 01 01 00 2....... .byte $3F,$40,$40,$40,$3F,$00,$0F,$30 ; F77F 3F 40 40 40 3F 00 0F 30 ?@@@?..0 .byte $40,$30,$0F,$00,$7F,$20,$10,$20 ; F787 40 30 0F 00 7F 20 10 20 @0... . .byte $7F,$00,$63,$14,$08,$14,$63,$00 ; F78F 7F 00 63 14 08 14 63 00 ..c...c. .byte $03,$04,$78,$04,$03,$00,$61,$51 ; F797 03 04 78 04 03 00 61 51 ..x...aQ .byte $49,$45,$43,$00,$00,$7F,$41,$41 ; F79F 49 45 43 00 00 7F 41 41 IEC...AA .byte $00,$00,$03,$04,$08,$10,$60,$00 ; F7A7 00 00 03 04 08 10 60 00 ......`. .byte $00,$41,$41,$7F,$00,$00,$08,$04 ; F7AF 00 41 41 7F 00 00 08 04 .AA..... .byte $02,$04,$08,$00,$08,$04,$08,$10 ; F7B7 02 04 08 00 08 04 08 10 ........ .byte $08,$00,$00,$00,$00,$00,$00,$00 ; F7BF 08 00 00 00 00 00 00 00 ........ .byte $00,$00,$5F,$00,$00,$00,$00,$03 ; F7C7 00 00 5F 00 00 00 00 03 .._..... .byte $00,$03,$00,$00,$14,$7F,$14,$7F ; F7CF 00 03 00 00 14 7F 14 7F ........ .byte $14,$00,$26,$49,$7F,$49,$32,$00 ; F7D7 14 00 26 49 7F 49 32 00 ..&I.I2. .byte $63,$13,$08,$64,$63,$00,$3A,$45 ; F7DF 63 13 08 64 63 00 3A 45 c..dc.:E .byte $2D,$12,$68,$00,$00,$04,$02,$01 ; F7E7 2D 12 68 00 00 04 02 01 -.h..... .byte $00,$00,$00,$00,$3E,$41,$00,$00 ; F7EF 00 00 00 00 3E 41 00 00 ....>A.. .byte $00,$41,$3E,$00,$00,$00,$2A,$1C ; F7F7 00 41 3E 00 00 00 2A 1C .A>...*. .byte $08 ; F7FF 08 . VIA1_PORTB: .byte $1C ; F800 1C . VIA1_PORTA: .byte $2A ; F801 2A * VIA1_DDRB: .byte $00 ; F802 00 . VIA1_DDRA: .byte $08 ; F803 08 . VIA1_T1CL: .byte $08 ; F804 08 . VIA1_T1CH: .byte $3E ; F805 3E > VIA1_T1LL: .byte $08 ; F806 08 . VIA1_T1LH: .byte $08 ; F807 08 . VIA1_T2CL: .byte $00 ; F808 00 . VIA1_T2CH: .byte $00 ; F809 00 . VIA1_SR:.byte $80 ; F80A 80 . VIA1_ACR: .byte $60 ; F80B 60 ` VIA1_PCR: .byte $00 ; F80C 00 . VIA1_IFR: .byte $00 ; F80D 00 . VIA1_IER: .byte $00 ; F80E 00 . VIA1_PORTANHS: .byte $08,$08,$08,$08,$08,$00,$00,$00 ; F80F 08 08 08 08 08 00 00 00 ........ .byte $60,$60,$00,$00,$60,$10,$08,$04 ; F817 60 60 00 00 60 10 08 04 ``..`... .byte $03,$00,$3E,$61,$5D,$43,$3E,$00 ; F81F 03 00 3E 61 5D 43 3E 00 ..>a]C>. .byte $00,$42,$7F,$40,$00,$00,$62,$51 ; F827 00 42 7F 40 00 00 62 51 .B.@..bQ .byte $49,$49,$46,$00,$22,$41,$49,$49 ; F82F 49 49 46 00 22 41 49 49 IIF."AII .byte $36,$00,$18,$14,$12,$7F,$10,$00 ; F837 36 00 18 14 12 7F 10 00 6....... .byte $27,$49,$49,$49,$31,$00,$3E,$49 ; F83F 27 49 49 49 31 00 3E 49 'III1.>I .byte $49,$49,$32,$00,$03,$01,$71,$09 ; F847 49 49 32 00 03 01 71 09 II2...q. .byte $07,$00,$36,$49,$49,$49,$36,$00 ; F84F 07 00 36 49 49 49 36 00 ..6III6. .byte $26,$49,$49,$49,$3E,$00,$00,$00 ; F857 26 49 49 49 3E 00 00 00 &III>... .byte $24,$00,$00,$00,$00,$80,$44,$00 ; F85F 24 00 00 00 00 80 44 00 $.....D. .byte $00,$00,$08,$14,$22,$41,$00,$00 ; F867 00 00 08 14 22 41 00 00 ...."A.. .byte $14,$14,$14,$14,$00,$00,$41,$22 ; F86F 14 14 14 14 00 00 41 22 ......A" .byte $14,$08,$00,$00,$02,$01,$51,$09 ; F877 14 08 00 00 02 01 51 09 ......Q. .byte $06 ; F87F 06 . VIA2_PORTB: .byte $18 ; F880 18 . VIA2_PORTA: .byte $18 ; F881 18 . VIA2_DDRB: .byte $18 ; F882 18 . VIA2_DDRA: .byte $18 ; F883 18 . VIA2_T1CL: .byte $18 ; F884 18 . VIA2_T1CH: .byte $18 ; F885 18 . VIA2_T1LL: .byte $00 ; F886 00 . VIA2_T1LH: .byte $18 ; F887 18 . VIA2_T2CL: .byte $4C ; F888 4C L VIA2_T2CH: .byte $7E ; F889 7E ~ VIA2_SR:.byte $4C ; F88A 4C L VIA2_ACR: .byte $18 ; F88B 18 . VIA2_PCR: .byte $00 ; F88C 00 . VIA2_IFR: .byte $00 ; F88D 00 . VIA2_IER: .byte $FF ; F88E FF . VIA2_PORTANHS: .byte $FF,$00,$00,$18,$18,$18,$18,$18 ; F88F FF 00 00 18 18 18 18 18 ........ .byte $18,$0C,$0C,$0C,$0C,$0C,$0C,$06 ; F897 18 0C 0C 0C 0C 0C 0C 06 ........ .byte $06,$06,$06,$06,$06,$60,$60,$60 ; F89F 06 06 06 06 06 60 60 60 .....``` .byte $60,$60,$60,$00,$FF,$FF,$00,$00 ; F8A7 60 60 60 00 FF FF 00 00 ```..... .byte $00,$00,$00,$00,$FF,$FF,$00,$18 ; F8AF 00 00 00 00 FF FF 00 18 ........ .byte $38,$F0,$E0,$00,$00,$00,$00,$07 ; F8B7 38 F0 E0 00 00 00 00 07 8....... .byte $0F,$1C,$18,$18,$1C,$0F,$07,$00 ; F8BF 0F 1C 18 18 1C 0F 07 00 ........ .byte $00,$FF,$FF,$C0,$C0,$C0,$C0,$01 ; F8C7 00 FF FF C0 C0 C0 C0 01 ........ .byte $06,$08,$10,$60,$80,$80,$60,$10 ; F8CF 06 08 10 60 80 80 60 10 ...`..`. .byte $08,$06,$01,$FF,$FF,$03,$03,$03 ; F8D7 08 06 01 FF FF 03 03 03 ........ .byte $03,$03,$03,$03,$03,$FF,$FF,$3C ; F8DF 03 03 03 03 03 FF FF 3C .......< .byte $7E,$7E,$7E,$7E,$3C,$60,$60,$60 ; F8E7 7E 7E 7E 7E 3C 60 60 60 ~~~~<``` .byte $60,$60,$60,$00,$0C,$1E,$3C,$1E ; F8EF 60 60 60 00 0C 1E 3C 1E ```...<. .byte $0C,$00,$FF,$FF,$00,$00,$00,$00 ; F8F7 0C 00 FF FF 00 00 00 00 ........ .byte $00,$E0,$F0,$38,$18,$81,$66,$18 ; F8FF 00 E0 F0 38 18 81 66 18 ...8..f. .byte $18,$66,$81,$3C,$66,$42,$42,$66 ; F907 18 66 81 3C 66 42 42 66 .f.<fBBf .byte $3C,$0C,$4C,$73,$73,$4C,$0C,$00 ; F90F 3C 0C 4C 73 73 4C 0C 00 <.LssL.. .byte $00,$00,$FF,$FF,$00,$00,$08,$1C ; F917 00 00 FF FF 00 00 08 1C ........ .byte $3E,$1C,$08,$18,$18,$FF,$FF,$18 ; F91F 3E 1C 08 18 18 FF FF 18 >....... .byte $18,$00,$00,$00,$77,$00,$00,$00 ; F927 18 00 00 00 77 00 00 00 ....w... .byte $00,$FF,$FF,$00,$00,$08,$7C,$04 ; F92F 00 FF FF 00 00 08 7C 04 ......|. .byte $04,$7C,$02,$01,$07,$0F,$1F,$7F ; F937 04 7C 02 01 07 0F 1F 7F .|...... .byte $FF,$00,$00,$00,$00 ; F93F FF 00 00 00 00 ..... LF944: .byte $00,$00,$FF,$FF,$FF,$00,$00,$00 ; F944 00 00 FF FF FF 00 00 00 ........ .byte $F0,$F0,$F0,$F0,$F0,$F0,$01,$01 ; F94C F0 F0 F0 F0 F0 F0 01 01 ........ .byte $01,$01,$01,$01,$80,$80,$80,$80 ; F954 01 01 01 01 80 80 80 80 ........ .byte $80,$80,$FF,$00,$00,$00,$00,$00 ; F95C 80 80 FF 00 00 00 00 00 ........ .byte $00,$08,$08,$36,$41,$41,$00,$00 ; F964 00 08 08 36 41 41 00 00 ...6AA.. .byte $00,$00,$00,$FF,$00,$41,$41,$36 ; F96C 00 00 00 FF 00 41 41 36 .....AA6 .byte $08,$08,$FF,$7F,$1F,$0F,$07,$01 ; F974 08 08 FF 7F 1F 0F 07 01 ........ .byte $00,$00,$00,$00 ; F97C 00 00 00 00 .... ACIA_DATA: .byte $FF ; F980 FF . ACIA_ST:.byte $FF ; F981 FF . ACIA_CMD: .byte $00 ; F982 00 . ACIA_CTRL: .byte $00,$FF,$FF,$18,$18,$00,$00,$00 ; F983 00 FF FF 18 18 00 00 00 ........ .byte $F0,$F0,$F0,$00,$00,$1F,$1F,$18 ; F98B F0 F0 F0 00 00 1F 1F 18 ........ .byte $18,$18,$18,$F8,$F8,$00,$00,$C0 ; F993 18 18 18 F8 F8 00 00 C0 ........ .byte $C0,$C0,$C0,$C0,$C0,$00,$00,$F8 ; F99B C0 C0 C0 C0 C0 00 00 F8 ........ .byte $F8,$18,$18,$18,$18,$1F,$1F,$18 ; F9A3 F8 18 18 18 18 1F 1F 18 ........ .byte $18,$18,$18,$F8,$F8,$18,$18,$18 ; F9AB 18 18 18 F8 F8 18 18 18 ........ .byte $18,$FF,$FF,$00,$00,$FF,$FF,$00 ; F9B3 18 FF FF 00 00 FF FF 00 ........ .byte $00,$00,$00,$FF,$FF,$FF,$00,$00 ; F9BB 00 00 00 FF FF FF 00 00 ........ .byte $00,$00,$00,$00,$FF,$FF,$FF,$03 ; F9C3 00 00 00 00 FF FF FF 03 ........ .byte $03,$03,$03,$03,$03,$07,$07,$07 ; F9CB 03 03 03 03 03 07 07 07 ........ .byte $07,$07,$07,$E0,$E0,$E0,$E0,$E0 ; F9D3 07 07 07 E0 E0 E0 E0 E0 ........ .byte $E0,$C0,$C0,$C0,$C0,$FF,$FF,$F0 ; F9DB E0 C0 C0 C0 C0 FF FF F0 ........ .byte $F0,$F0,$00,$00,$00,$00,$00,$00 ; F9E3 F0 F0 00 00 00 00 00 00 ........ .byte $0F,$0F,$0F,$18,$18,$1F,$1F,$00 ; F9EB 0F 0F 0F 18 18 1F 1F 00 ........ .byte $00,$0F,$0F,$0F,$00,$00,$00,$0F ; F9F3 00 0F 0F 0F 00 00 00 0F ........ .byte $0F,$0F,$F0,$F0,$F0 ; F9FB 0F 0F F0 F0 F0 ..... ; ---------------------------------------------------------------------------- MMU_MODE_KERN: sei ; FA00 78 x sta MMU_MODE_KERN ; FA01 8D 00 FA ... jmp L87C5 ; FA04 4C C5 87 L.. ; ---------------------------------------------------------------------------- ; The actual RESET routine, pointed by the RESET hardware vector. Notice the ; usage $FA00, seems to be a dummy write (no actual LDA before it, etc). ; Maybe it's just for enabling the lower part of the KERNAL to be mapped, so ; we can jump there, or something like that. RESET: sei ; FA07 78 x sta MMU_MODE_KERN ; FA08 8D 00 FA ... jmp KL_RESET ; FA0B 4C 34 85 L4. ; ---------------------------------------------------------------------------- ; The IRQ routine, pointed by the IRQ hardware vector. Note about the usage ; of $FC00 and $FA80 locations, seems to be dummy write, as with the RESET ; routine, but different addresses ... IRQ: pha ; FA0E 48 H phx ; FA0F DA . phy ; FA10 5A Z sta MMU_MODE_SAVE ; FA11 8D 00 FC ... sta MMU_MODE_APPL ; FA14 8D 80 FA ... tsx ; FA17 BA . lda stack+4,x ; FA18 BD 04 01 ... and #$10 ; FA1B 29 10 ). bne LFA28 ; FA1D D0 09 .. lda #$FA ; FA1F A9 FA .. pha ; FA21 48 H lda #$5F ; FA22 A9 5F ._ pha ; FA24 48 H jmp (RAMVEC_IRQ) ; FA25 6C 14 03 l.. ; ---------------------------------------------------------------------------- LFA28: jmp (RAMVEC_BRK) ; FA28 6C 16 03 l.. ; ---------------------------------------------------------------------------- DEFVEC_BRK: sta MMU_MODE_KERN ; FA2B 8D 00 FA ... jmp LC70C ; FA2E 4C 0C C7 L.. ; ---------------------------------------------------------------------------- DEFVEC_IRQ: ; Default IRQ handler, where IRQ RAM vector ($314) points to by default. sta MMU_MODE_KERN ; FA31 8D 00 FA ... lda ACIA_ST ; FA34 AD 81 F9 ... bpl LFA3C ; FA37 10 03 .. jsr LBE7B ; FA39 20 7B BE {. LFA3C: bit VIA1_IFR ; FA3C 2C 0D F8 ,.. bpl LFA43 ; FA3F 10 02 .. bvs LFA44 ; FA41 70 01 p. LFA43: rts ; FA43 60 ` ; ---------------------------------------------------------------------------- LFA44: lda VIA1_T1CL ; FA44 AD 04 F8 ... lda VIA1_T1LL ; FA47 AD 06 F8 ... jsr KL_SCNKEY ; FA4A 20 08 B5 .. jsr LB2EF ; FA4D 20 EF B2 .. jsr UDTIM__ ; FA50 20 4F BF O. jsr LC618 ; FA53 20 18 C6 .. sta MMU_MODE_APPL ; FA56 8D 80 FA ... jmp (RAMVEC_NMI) ; FA59 6C 18 03 l.. ; ---------------------------------------------------------------------------- DEFVEC_NMI: sta MMU_MODE_KERN ; FA5C 8D 00 FA ... rts ; FA5F 60 ` ; ---------------------------------------------------------------------------- ply ; FA60 7A z plx ; FA61 FA . pla ; FA62 68 h sta MMU_MODE_RECALL ; FA63 8D 80 FB ... NMI: rti ; FA66 40 @ ; ---------------------------------------------------------------------------- LFA67: jsr LFA6D ; FA67 20 6D FA m. jmp LFD66 ; FA6A 4C 66 FD Lf. ; ---------------------------------------------------------------------------- LFA6D: phy ; FA6D 5A Z pha ; FA6E 48 H jmp LFD7A ; FA6F 4C 7A FD Lz. ; ---------------------------------------------------------------------------- LFA72: sta MMU_MODE_APPL ; FA72 8D 80 FA ... jmp L035F ; FA75 4C 5F 03 L_. ; ---------------------------------------------------------------------------- LFA78: jsr LFA7E ; FA78 20 7E FA ~. LFA7B: jmp LFD66 ; FA7B 4C 66 FD Lf. ; ---------------------------------------------------------------------------- LFA7E: MMU_MODE_APPL := * + 2 ; An interesting example for addresses like $FA80 are write only registers, ; but on read, normal ROM content is read as opcodes, as $FA80 here is inside ; and opcode itself. sta MMU_MODE_APPL ; FA7E 8D 80 FA ... jmp (L0334) ; FA81 6C 34 03 l4. ; ---------------------------------------------------------------------------- LFA84: jsr LFA8A ; FA84 20 8A FA .. LFA87: jmp LFD66 ; FA87 4C 66 FD Lf. ; ---------------------------------------------------------------------------- LFA8A: sta MMU_MODE_APPL ; FA8A 8D 80 FA ... ; Contains $FA87 by default. jmp (L0336) ; FA8D 6C 36 03 l6. ; ---------------------------------------------------------------------------- ; Default values of "RAM vectors" copied to $314 into the RAM. The "missing" ; vector in the gap seems to be "monitor" entry (according to C128's ROM) but ; points to RTS in CLCD. The the last two vectors are unknown, not exists on ; C128. .addr DEFVEC_IRQ ; FA90 31 FA 1. .addr DEFVEC_BRK ; FA92 2B FA +. .addr DEFVEC_NMI ; FA94 5C FA \. .addr DEFVEC_OPEN ; FA96 E7 FC .. .addr DEFVEC_CLOSE ; FA98 FA FC .. .addr DEFVEC_CHKIN ; FA9A 0D FD .. .addr DEFVEC_CHKOUT ; FA9C 20 FD . .addr DEFVEC_CLRCHN ; FA9E 33 FD 3. .addr DEFVEC_CHRIN ; FAA0 46 FD F. .addr DEFVEC_CHROUT ; FAA2 59 FD Y. .addr DEFVEC_STOP ; FAA4 C2 FD .. .addr DEFVEC_GETIN ; FAA6 D5 FD .. .addr DEFVEC_CLALL ; FAA8 E8 FD .. .addr LFAB4 ; FAAA B4 FA .. .addr DEFVEC_LOAD ; FAAC 74 FD t. .addr DEFVEC_SAVE ; FAAE 9B FD .. .addr LFA7B ; FAB0 7B FA {. .addr LFA87 ; FAB2 87 FA .. ; ---------------------------------------------------------------------------- LFAB4: rts ; FAB4 60 ` ; ---------------------------------------------------------------------------- LFAB5: sta MMU_MODE_KERN ; FAB5 8D 00 FA ... jsr LD437 ; FAB8 20 37 D4 7. sta MMU_MODE_APPL ; FABB 8D 80 FA ... rts ; FABE 60 ` ; ---------------------------------------------------------------------------- LFABF: sta MMU_MODE_KERN ; FABF 8D 00 FA ... jsr LC009 ; FAC2 20 09 C0 .. sta MMU_MODE_APPL ; FAC5 8D 80 FA ... rts ; FAC8 60 ` ; ---------------------------------------------------------------------------- LFAC9: sta MMU_MODE_KERN ; FAC9 8D 00 FA ... jsr LB6DF ; FACC 20 DF B6 .. sta MMU_MODE_APPL ; FACF 8D 80 FA ... rts ; FAD2 60 ` ; ---------------------------------------------------------------------------- LFAD3: sta MMU_MODE_KERN ; FAD3 8D 00 FA ... jsr L821D ; FAD6 20 1D 82 .. sta MMU_MODE_APPL ; FAD9 8D 80 FA ... rts ; FADC 60 ` ; ---------------------------------------------------------------------------- LFADD: sta MMU_MODE_KERN ; FADD 8D 00 FA ... jsr L8426 ; FAE0 20 26 84 &. sta MMU_MODE_APPL ; FAE3 8D 80 FA ... rts ; FAE6 60 ` ; ---------------------------------------------------------------------------- LFAE7: sta MMU_MODE_KERN ; FAE7 8D 00 FA ... jsr L80E0 ; FAEA 20 E0 80 .. sta MMU_MODE_APPL ; FAED 8D 80 FA ... rts ; FAF0 60 ` ; ---------------------------------------------------------------------------- LFAF1: sta MMU_MODE_KERN ; FAF1 8D 00 FA ... jsr LAA53 ; FAF4 20 53 AA S. sta MMU_MODE_APPL ; FAF7 8D 80 FA ... rts ; FAFA 60 ` ; ---------------------------------------------------------------------------- LFAFB: sta MMU_MODE_KERN ; FAFB 8D 00 FA ... MMU_MODE_RAM := * + 2 jsr LA9E6 ; FAFE 20 E6 A9 .. sta MMU_MODE_APPL ; FB01 8D 80 FA ... rts ; FB04 60 ` ; ---------------------------------------------------------------------------- LFB05: sta MMU_MODE_KERN ; FB05 8D 00 FA ... jsr L84FB ; FB08 20 FB 84 .. sta MMU_MODE_APPL ; FB0B 8D 80 FA ... rts ; FB0E 60 ` ; ---------------------------------------------------------------------------- LFB0F: sta MMU_MODE_KERN ; FB0F 8D 00 FA ... jsr LBFF2 ; FB12 20 F2 BF .. sta MMU_MODE_APPL ; FB15 8D 80 FA ... rts ; FB18 60 ` ; ---------------------------------------------------------------------------- LFB19: sta MMU_MODE_KERN ; FB19 8D 00 FA ... jsr LB09B ; FB1C 20 9B B0 .. sta MMU_MODE_APPL ; FB1F 8D 80 FA ... rts ; FB22 60 ` ; ---------------------------------------------------------------------------- LFB23: sta MMU_MODE_KERN ; FB23 8D 00 FA ... jsr L80C6 ; FB26 20 C6 80 .. sta MMU_MODE_APPL ; FB29 8D 80 FA ... rts ; FB2C 60 ` ; ---------------------------------------------------------------------------- LFB2D: sta MMU_MODE_KERN ; FB2D 8D 00 FA ... jsr L81FB ; FB30 20 FB 81 .. sta MMU_MODE_APPL ; FB33 8D 80 FA ... rts ; FB36 60 ` ; ---------------------------------------------------------------------------- LFB37: sta MMU_MODE_KERN ; FB37 8D 00 FA ... jsr L8459 ; FB3A 20 59 84 Y. sta MMU_MODE_APPL ; FB3D 8D 80 FA ... rts ; FB40 60 ` ; ---------------------------------------------------------------------------- LFB41: sta MMU_MODE_KERN ; FB41 8D 00 FA ... jsr L9B1B ; FB44 20 1B 9B .. sta MMU_MODE_APPL ; FB47 8D 80 FA ... rts ; FB4A 60 ` ; ---------------------------------------------------------------------------- LFB4B: sta MMU_MODE_APPL ; FB4B 8D 80 FA ... jmp (L0300) ; FB4E 6C 00 03 l.. ; ---------------------------------------------------------------------------- ShowInLineText00: ; This stuff prints (zero terminated) string after the JSR to the screen (by ; using the return address from the stack). The multiple entry points seems ; to be about the fact that "kernal messages control byte" should be checked ; or not, and such ... pha ; FB51 48 H lda #$00 ; FB52 A9 00 .. bra LFB5E ; FB54 80 08 .. ShowInLineText80: pha ; FB56 48 H lda #$80 ; FB57 A9 80 .. bra LFB5E ; FB59 80 03 .. ShowInLineText: pha ; FB5B 48 H lda #$01 ; FB5C A9 01 .. LFB5E: phx ; FB5E DA . pha ; FB5F 48 H bra LFB77 ; FB60 80 15 .. LFB62: plx ; FB62 FA . phx ; FB63 DA . bpl LFB6B ; FB64 10 05 .. bit KernMsg ; FB66 2C 83 03 ,.. bpl LFB71 ; FB69 10 06 .. LFB6B: sta MMU_MODE_KERN ; FB6B 8D 00 FA ... jsr ShowChar_ ; FB6E 20 B3 AB .. LFB71: txa ; FB71 8A . bne LFB77 ; FB72 D0 03 .. sta MMU_MODE_APPL ; FB74 8D 80 FA ... LFB77: tsx ; FB77 BA . inc stack+4,x ; FB78 FE 04 01 ... bne MMU_MODE_RECALL ; FB7B D0 03 .. inc stack+5,x ; FB7D FE 05 01 ... MMU_MODE_RECALL: lda stack+4,x ; FB80 BD 04 01 ... sta $F1 ; FB83 85 F1 .. lda stack+5,x ; FB85 BD 05 01 ... sta $F2 ; FB88 85 F2 .. lda ($F1) ; FB8A B2 F1 .. bne LFB62 ; FB8C D0 D4 .. plx ; FB8E FA . plx ; FB8F FA . pla ; FB90 68 h rts ; FB91 60 ` ; ---------------------------------------------------------------------------- ; Code from here clearly shows many examples for the need to "dummy write" ; some "MMU registers" - $FA00 - (maybe only a flip-flop) before jumping to ; lower address in the KERNAL ROM. Usually there is even an operation like ; that after the call - $FA80. My guess: the top of the kernal is always (?) ; mapped into the CPU address space, but lower addresses are not; so you need ; to "page in" first. However I don't know _exactly_ what happens with ; $FA00/$FA80 (set/reset a flip-flop, but what memory region is affected then ; exactly). LFB92: sta MMU_MODE_KERN ; FB92 8D 00 FA ... jsr LB758 ; FB95 20 58 B7 X. sta MMU_MODE_APPL ; FB98 8D 80 FA ... rts ; FB9B 60 ` ; ---------------------------------------------------------------------------- LFB9C: sta MMU_MODE_KERN ; FB9C 8D 00 FA ... jsr LD230 ; FB9F 20 30 D2 0. sta MMU_MODE_APPL ; FBA2 8D 80 FA ... rts ; FBA5 60 ` ; ---------------------------------------------------------------------------- LFBA6: sta MMU_MODE_KERN ; FBA6 8D 00 FA ... jsr LB293 ; FBA9 20 93 B2 .. sta MMU_MODE_APPL ; FBAC 8D 80 FA ... rts ; FBAF 60 ` ; ---------------------------------------------------------------------------- WaitXticks: sta MMU_MODE_KERN ; FBB0 8D 00 FA ... jsr WaitXticks_ ; FBB3 20 E4 BF .. sta MMU_MODE_APPL ; FBB6 8D 80 FA ... rts ; FBB9 60 ` ; ---------------------------------------------------------------------------- LFBBA: sta MMU_MODE_KERN ; FBBA 8D 00 FA ... jsr LC60B ; FBBD 20 0B C6 .. sta MMU_MODE_APPL ; FBC0 8D 80 FA ... rts ; FBC3 60 ` ; ---------------------------------------------------------------------------- LFBC4: sta MMU_MODE_KERN ; FBC4 8D 00 FA ... pha ; FBC7 48 H bcs LFBCF ; FBC8 B0 05 .. jsr LB2E4 ; FBCA 20 E4 B2 .. bra LFBD2 ; FBCD 80 03 .. LFBCF: jsr LB2D6 ; FBCF 20 D6 B2 .. LFBD2: pla ; FBD2 68 h jmp LFD7A ; FBD3 4C 7A FD Lz. ; ---------------------------------------------------------------------------- LFBD6: sta MMU_MODE_KERN ; FBD6 8D 00 FA ... jsr LB6F9 ; FBD9 20 F9 B6 .. sta MMU_MODE_APPL ; FBDC 8D 80 FA ... rts ; FBDF 60 ` ; ---------------------------------------------------------------------------- ShowChar: sta MMU_MODE_KERN ; FBE0 8D 00 FA ... jsr ShowChar_ ; FBE3 20 B3 AB .. sta MMU_MODE_APPL ; FBE6 8D 80 FA ... rts ; FBE9 60 ` ; ---------------------------------------------------------------------------- LFBEA: sta MMU_MODE_KERN ; FBEA 8D 00 FA ... jsr LCDsetupGetOrSet ; FBED 20 28 B2 (. sta MMU_MODE_APPL ; FBF0 8D 80 FA ... rts ; FBF3 60 ` ; ---------------------------------------------------------------------------- LFBF4: sta MMU_MODE_KERN ; FBF4 8D 00 FA ... jsr LB684 ; FBF7 20 84 B6 .. sta MMU_MODE_APPL ; FBFA 8D 80 FA ... rts ; FBFD 60 ` ; ---------------------------------------------------------------------------- LFBFE: MMU_MODE_SAVE := * + 2 sta MMU_MODE_KERN ; FBFE 8D 00 FA ... jsr LB688 ; FC01 20 88 B6 .. sta MMU_MODE_APPL ; FC04 8D 80 FA ... rts ; FC07 60 ` ; ---------------------------------------------------------------------------- LFC08: sta MMU_MODE_KERN ; FC08 8D 00 FA ... jsr LB4FB ; FC0B 20 FB B4 .. sta MMU_MODE_APPL ; FC0E 8D 80 FA ... rts ; FC11 60 ` ; ---------------------------------------------------------------------------- LFC12: sta MMU_MODE_KERN ; FC12 8D 00 FA ... jsr LB640 ; FC15 20 40 B6 @. sta MMU_MODE_APPL ; FC18 8D 80 FA ... rts ; FC1B 60 ` ; ---------------------------------------------------------------------------- KR_SCINIT: sta MMU_MODE_KERN ; FC1C 8D 00 FA ... jsr KL_SCINIT ; FC1F 20 26 FC &. sta MMU_MODE_APPL ; FC22 8D 80 FA ... rts ; FC25 60 ` ; ---------------------------------------------------------------------------- KL_SCINIT: ldx #$00 ; FC26 A2 00 .. jsr LD230 ; FC28 20 30 D2 0. jmp LB1DA ; FC2B 4C DA B1 L.. ; ---------------------------------------------------------------------------- KR_IOINIT: sta MMU_MODE_KERN ; FC2E 8D 00 FA ... jsr KL_IOINIT ; FC31 20 47 87 G. sta MMU_MODE_APPL ; FC34 8D 80 FA ... rts ; FC37 60 ` ; ---------------------------------------------------------------------------- KR_RAMTAS: sta MMU_MODE_KERN ; FC38 8D 00 FA ... jsr KL_RAMTAS ; FC3B 20 A8 86 .. sta MMU_MODE_APPL ; FC3E 8D 80 FA ... rts ; FC41 60 ` ; ---------------------------------------------------------------------------- KR_RESTOR: sta MMU_MODE_KERN ; FC42 8D 00 FA ... jsr KL_RESTOR ; FC45 20 96 C6 .. sta MMU_MODE_APPL ; FC48 8D 80 FA ... rts ; FC4B 60 ` ; ---------------------------------------------------------------------------- KR_VECTOR: sta MMU_MODE_KERN ; FC4C 8D 00 FA ... jsr KL_VECTOR ; FC4F 20 9B C6 .. sta MMU_MODE_APPL ; FC52 8D 80 FA ... rts ; FC55 60 ` ; ---------------------------------------------------------------------------- SetMsg_:sta KernMsg ; FC56 8D 83 03 ... rts ; FC59 60 ` ; ---------------------------------------------------------------------------- LSTNSA_:sta MMU_MODE_KERN ; FC5A 8D 00 FA ... jsr LSTNSA__ ; FC5D 20 46 BD F. sta MMU_MODE_APPL ; FC60 8D 80 FA ... rts ; FC63 60 ` ; ---------------------------------------------------------------------------- TALKSA_:sta MMU_MODE_KERN ; FC64 8D 00 FA ... jsr TALKSA__ ; FC67 20 55 BD U. sta MMU_MODE_APPL ; FC6A 8D 80 FA ... rts ; FC6D 60 ` ; ---------------------------------------------------------------------------- MEMBOT_:sta MMU_MODE_KERN ; FC6E 8D 00 FA ... jsr MEMBOT__ ; FC71 20 AD D3 .. sta MMU_MODE_APPL ; FC74 8D 80 FA ... rts ; FC77 60 ` ; ---------------------------------------------------------------------------- MEMTOP_:sta MMU_MODE_KERN ; FC78 8D 00 FA ... jsr MEMTOP__ ; FC7B 20 1A D4 .. .byte $8D ; FC7E 8D . .byte $80 ; FC7F 80 . MMU_MODE_TEST: plx ; FC80 FA . rts ; FC81 60 ` ; ---------------------------------------------------------------------------- KR_SCNKEY: sta MMU_MODE_KERN ; FC82 8D 00 FA ... jsr KL_SCNKEY ; FC85 20 08 B5 .. sta MMU_MODE_APPL ; FC88 8D 80 FA ... rts ; FC8B 60 ` ; ---------------------------------------------------------------------------- IECIN_: sta MMU_MODE_KERN ; FC8C 8D 00 FA ... jsr IECIN__ ; FC8F 20 A5 BD .. sta MMU_MODE_APPL ; FC92 8D 80 FA ... rts ; FC95 60 ` ; ---------------------------------------------------------------------------- IECOUT_:sta MMU_MODE_KERN ; FC96 8D 00 FA ... jsr IECOUT__ ; FC99 20 6C BD l. sta MMU_MODE_APPL ; FC9C 8D 80 FA ... rts ; FC9F 60 ` ; ---------------------------------------------------------------------------- UNTALK_:sta MMU_MODE_KERN ; FCA0 8D 00 FA ... jsr UNTALK__ ; FCA3 20 81 BD .. sta MMU_MODE_APPL ; FCA6 8D 80 FA ... rts ; FCA9 60 ` ; ---------------------------------------------------------------------------- UNLSTN_:sta MMU_MODE_KERN ; FCAA 8D 00 FA ... jsr UNLSTN__ ; FCAD 20 90 BD .. sta MMU_MODE_APPL ; FCB0 8D 80 FA ... rts ; FCB3 60 ` ; ---------------------------------------------------------------------------- LISTEN_:sta MMU_MODE_KERN ; FCB4 8D 00 FA ... jsr LISTEN__ ; FCB7 20 94 BC .. sta MMU_MODE_APPL ; FCBA 8D 80 FA ... rts ; FCBD 60 ` ; ---------------------------------------------------------------------------- TALK_: sta MMU_MODE_KERN ; FCBE 8D 00 FA ... jsr SendTalk ; FCC1 20 91 BC .. sta MMU_MODE_APPL ; FCC4 8D 80 FA ... rts ; FCC7 60 ` ; ---------------------------------------------------------------------------- ReadST: lda ST ; FCC8 A5 BA .. SetST: ora ST ; FCCA 05 BA .. sta ST ; FCCC 85 BA .. rts ; FCCE 60 ` ; ---------------------------------------------------------------------------- SetLFS: sta LFSLogNum ; FCCF 85 C6 .. stx LFSDevNum ; FCD1 86 C5 .. sty LFS2ndAddr ; FCD3 84 C4 .. rts ; FCD5 60 ` ; ---------------------------------------------------------------------------- SetNam: sta FNlength ; FCD6 8D 87 03 ... stx FNptr_lo ; FCD9 86 AE .. sty FNptr_hi ; FCDB 84 AF .. rts ; FCDD 60 ` ; ---------------------------------------------------------------------------- Open_: sta MMU_MODE_APPL ; FCDE 8D 80 FA ... jsr Open ; FCE1 20 C0 FF .. jmp LFD66 ; FCE4 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_OPEN: sta MMU_MODE_KERN ; FCE7 8D 00 FA ... jsr Open__ ; FCEA 20 F0 BA .. sta MMU_MODE_APPL ; FCED 8D 80 FA ... rts ; FCF0 60 ` ; ---------------------------------------------------------------------------- LFCF1: sta MMU_MODE_APPL ; FCF1 8D 80 FA ... jsr LFFC3 ; FCF4 20 C3 FF .. jmp LFD66 ; FCF7 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CLOSE: sta MMU_MODE_KERN ; FCFA 8D 00 FA ... jsr CLOSE__ ; FCFD 20 53 BA S. MMU_APPL_WINDOW1: sta MMU_MODE_APPL ; FD00 8D 80 FA ... rts ; FD03 60 ` ; ---------------------------------------------------------------------------- sta MMU_MODE_APPL ; FD04 8D 80 FA ... jsr LFFC6 ; FD07 20 C6 FF .. jmp LFD66 ; FD0A 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CHKIN: sta MMU_MODE_KERN ; FD0D 8D 00 FA ... jsr CHKIN__ ; FD10 20 BA B9 .. sta MMU_MODE_APPL ; FD13 8D 80 FA ... rts ; FD16 60 ` ; ---------------------------------------------------------------------------- sta MMU_MODE_APPL ; FD17 8D 80 FA ... jsr LFFC9 ; FD1A 20 C9 FF .. jmp LFD66 ; FD1D 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CHKOUT: sta MMU_MODE_KERN ; FD20 8D 00 FA ... jsr CHKOUT__ ; FD23 20 05 BA .. sta MMU_MODE_APPL ; FD26 8D 80 FA ... rts ; FD29 60 ` ; ---------------------------------------------------------------------------- LFD2A: sta MMU_MODE_APPL ; FD2A 8D 80 FA ... jsr LFFCC ; FD2D 20 CC FF .. jmp LFD66 ; FD30 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CLRCHN: sta MMU_MODE_KERN ; FD33 8D 00 FA ... jsr CLRCHN__ ; FD36 20 D7 BA .. sta MMU_MODE_APPL ; FD39 8D 80 FA ... rts ; FD3C 60 ` ; ---------------------------------------------------------------------------- LFD3D: sta MMU_MODE_APPL ; FD3D 8D 80 FA ... jsr LFFCF ; FD40 20 CF FF .. jmp LFD66 ; FD43 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CHRIN: sta MMU_MODE_KERN ; FD46 8D 00 FA ... jsr CHRIN__ ; FD49 20 25 B9 %. sta MMU_MODE_APPL ; FD4C 8D 80 FA ... rts ; FD4F 60 ` ; ---------------------------------------------------------------------------- sta MMU_MODE_APPL ; FD50 8D 80 FA ... jsr LFFD2 ; FD53 20 D2 FF .. jmp LFD66 ; FD56 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CHROUT: sta MMU_MODE_KERN ; FD59 8D 00 FA ... jsr CHROUT__ ; FD5C 20 6C B9 l. sta MMU_MODE_APPL ; FD5F 8D 80 FA ... rts ; FD62 60 ` ; ---------------------------------------------------------------------------- LFD63: jsr LOAD_ ; FD63 20 6A FD j. LFD66: sta MMU_MODE_KERN ; FD66 8D 00 FA ... rts ; FD69 60 ` ; ---------------------------------------------------------------------------- LOAD_: stx $B4 ; FD6A 86 B4 .. sty $B5 ; FD6C 84 B5 .. sta MMU_MODE_APPL ; FD6E 8D 80 FA ... jmp (RAMVEC_LOAD) ; FD71 6C 30 03 l0. ; ---------------------------------------------------------------------------- DEFVEC_LOAD: LFD75 := * + 1 sta MMU_MODE_KERN ; FD74 8D 00 FA ... jsr LOAD__ ; FD77 20 38 95 8. LFD7A: sta MMU_MODE_APPL ; FD7A 8D 80 FA ... rts ; FD7D 60 ` ; ---------------------------------------------------------------------------- MMU_APPL_WINDOW2:= * + 2 sta MMU_MODE_RAM ; FD7E 8D 00 FB ... rts ; FD81 60 ` ; ---------------------------------------------------------------------------- LFD82: jsr SAVE_ ; FD82 20 88 FD .. jmp LFD66 ; FD85 4C 66 FD Lf. ; ---------------------------------------------------------------------------- SAVE_: stx $B2 ; FD88 86 B2 .. sty $B3 ; FD8A 84 B3 .. tax ; FD8C AA . lda $00,x ; FD8D B5 00 .. sta $B6 ; FD8F 85 B6 .. lda $01,x ; FD91 B5 01 .. sta $B7 ; FD93 85 B7 .. sta MMU_MODE_APPL ; FD95 8D 80 FA ... jmp (RAMVEC_SAVE) ; FD98 6C 32 03 l2. ; ---------------------------------------------------------------------------- DEFVEC_SAVE: sta MMU_MODE_KERN ; FD9B 8D 00 FA ... jsr LBBC0 ; FD9E 20 C0 BB .. sta MMU_MODE_APPL ; FDA1 8D 80 FA ... rts ; FDA4 60 ` ; ---------------------------------------------------------------------------- LFDA5: sta MMU_MODE_KERN ; FDA5 8D 00 FA ... jsr LBFD8 ; FDA8 20 D8 BF .. sta MMU_MODE_APPL ; FDAB 8D 80 FA ... rts ; FDAE 60 ` ; ---------------------------------------------------------------------------- LFDAF: sta MMU_MODE_KERN ; FDAF 8D 00 FA ... jsr LBFCE ; FDB2 20 CE BF .. sta MMU_MODE_APPL ; FDB5 8D 80 FA ... rts ; FDB8 60 ` ; ---------------------------------------------------------------------------- LFDB9: sta MMU_MODE_APPL ; FDB9 8D 80 FA ... jsr LFFE1 ; FDBC 20 E1 FF .. jmp LFD66 ; FDBF 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_STOP: sta MMU_MODE_KERN ; FDC2 8D 00 FA ... jsr LB6E8 ; FDC5 20 E8 B6 .. sta MMU_MODE_APPL ; FDC8 8D 80 FA ... rts ; FDCB 60 ` ; ---------------------------------------------------------------------------- sta MMU_MODE_APPL ; FDCC 8D 80 FA ... jsr LFFE4 ; FDCF 20 E4 FF .. jmp LFD66 ; FDD2 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_GETIN: sta MMU_MODE_KERN ; FDD5 8D 00 FA ... jsr LB918 ; FDD8 20 18 B9 .. sta MMU_MODE_APPL ; FDDB 8D 80 FA ... rts ; FDDE 60 ` ; ---------------------------------------------------------------------------- LFDDF: sta MMU_MODE_APPL ; FDDF 8D 80 FA ... jsr LFFE7 ; FDE2 20 E7 FF .. jmp LFD66 ; FDE5 4C 66 FD Lf. ; ---------------------------------------------------------------------------- DEFVEC_CLALL: sta MMU_MODE_KERN ; FDE8 8D 00 FA ... jsr LBAD4 ; FDEB 20 D4 BA .. sta MMU_MODE_APPL ; FDEE 8D 80 FA ... rts ; FDF1 60 ` ; ---------------------------------------------------------------------------- UDTIM_: sta MMU_MODE_KERN ; FDF2 8D 00 FA ... jsr UDTIM__ ; FDF5 20 4F BF O. sta MMU_MODE_APPL ; FDF8 8D 80 FA ... rts ; FDFB 60 ` ; ---------------------------------------------------------------------------- ; SCREEN. Fetch number of screen rows and columns. ; On CLCD the screen's resolution is 80*16 chars. LFDFC: ldx #$50 ; FDFC A2 50 .P ldy #$10 ; FDFE A0 10 .. MMU_APPL_WINDOW3: rts ; FE00 60 ` ; ---------------------------------------------------------------------------- ; PLOT. Save or restore cursor position. ; Input: Carry: 0 = Restore from input, 1 = Save to output; X = Cursor ; column ; (if Carry = 0); Y = Cursor row (if Carry = 0). ; Output: X = Cursor column (if Carry = 1); Y = Cursor row (if Carry = 1). ; Used registers: X, Y. PLOT_: bcs LFE07 ; FE01 B0 04 .. sty CursorX ; FE03 84 A1 .. stx CursorY ; FE05 86 A2 .. LFE07: ldy CursorX ; FE07 A4 A1 .. ldx CursorY ; FE09 A6 A2 .. rts ; FE0B 60 ` ; ---------------------------------------------------------------------------- ; ?? Might be IOBASE. Fetch CIA #1 base address. ; Input: - ; Output: X/Y = CIA #1 base address . ; Used registers: X, Y. ; Though CLCD contains VIA, not CIA, but fair enough :) $F800 seems to be OK, ; as this is addr of VIA-1, indeed. It also helped me to be sure that F800 is ; really start of the VIA regs. LFE0C: ldx #$00 ; FE0C A2 00 .. ldy #$F8 ; FE0E A0 F8 .. rts ; FE10 60 ` ; ---------------------------------------------------------------------------- ; Seems to be an unused area. .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE11 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE19 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE21 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE29 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE31 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE39 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE41 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE49 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE51 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE59 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE61 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE69 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE71 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE79 FF FF FF FF FF FF FF ....... MMU_APPL_WINDOW4: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE80 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE88 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE90 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FE98 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEA0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEA8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEB0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEB8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEC0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEC8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FED0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FED8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEE0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEE8 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEF0 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FEF8 FF FF FF FF FF FF FF FF ........ MMU_KERN_WINDOW: .byte $FF,$FF,$FF ; FF00 FF FF FF ... LFF03: .byte $FF ; FF03 FF . LFF04: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FF04 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF ; FF0C FF FF FF FF .... LFF10: .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FF10 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF ; FF18 FF FF FF FF FF FF FF FF ........ .byte $FF,$FF,$FF,$FF,$FF,$FF,$FF ; FF20 FF FF FF FF FF FF FF ....... ; ---------------------------------------------------------------------------- jmp LFAB5 ; FF27 4C B5 FA L.. ; ---------------------------------------------------------------------------- jmp LFABF ; FF2A 4C BF FA L.. ; ---------------------------------------------------------------------------- jmp LFAC9 ; FF2D 4C C9 FA L.. ; ---------------------------------------------------------------------------- jmp LFAD3 ; FF30 4C D3 FA L.. ; ---------------------------------------------------------------------------- jmp LFADD ; FF33 4C DD FA L.. ; ---------------------------------------------------------------------------- jmp LFAE7 ; FF36 4C E7 FA L.. ; ---------------------------------------------------------------------------- jmp LFAF1 ; FF39 4C F1 FA L.. ; ---------------------------------------------------------------------------- jmp LFAFB ; FF3C 4C FB FA L.. ; ---------------------------------------------------------------------------- ; Power off with saving the state. jmp LFB05 ; FF3F 4C 05 FB L.. ; ---------------------------------------------------------------------------- jmp LFB0F ; FF42 4C 0F FB L.. ; ---------------------------------------------------------------------------- jmp LFB19 ; FF45 4C 19 FB L.. ; ---------------------------------------------------------------------------- LFF4A := * + 2 jmp LFB23 ; FF48 4C 23 FB L#. ; ---------------------------------------------------------------------------- jmp LFB2D ; FF4B 4C 2D FB L-. ; ---------------------------------------------------------------------------- LFF50 := * + 2 jmp LFB37 ; FF4E 4C 37 FB L7. ; ---------------------------------------------------------------------------- jmp LFB41 ; FF51 4C 41 FB LA. ; ---------------------------------------------------------------------------- jmp ShowInLineText00 ; FF54 4C 51 FB LQ. ; ---------------------------------------------------------------------------- LFF59 := * + 2 jmp LFB92 ; FF57 4C 92 FB L.. ; ---------------------------------------------------------------------------- LFF5C := * + 2 jmp LFB9C ; FF5A 4C 9C FB L.. ; ---------------------------------------------------------------------------- jmp LFBA6 ; FF5D 4C A6 FB L.. ; ---------------------------------------------------------------------------- jmp WaitXticks ; FF60 4C B0 FB L.. ; ---------------------------------------------------------------------------- jmp LFBBA ; FF63 4C BA FB L.. ; ---------------------------------------------------------------------------- jmp LFBC4 ; FF66 4C C4 FB L.. ; ---------------------------------------------------------------------------- jmp LFBD6 ; FF69 4C D6 FB L.. ; ---------------------------------------------------------------------------- LFF6E := * + 2 jmp ShowChar ; FF6C 4C E0 FB L.. ; ---------------------------------------------------------------------------- LFF71 := * + 2 jmp LFBEA ; FF6F 4C EA FB L.. ; ---------------------------------------------------------------------------- LFF74 := * + 2 jmp LFBF4 ; FF72 4C F4 FB L.. ; ---------------------------------------------------------------------------- LFF77 := * + 2 jmp LFBFE ; FF75 4C FE FB L.. ; ---------------------------------------------------------------------------- LFF7A := * + 2 jmp LFC08 ; FF78 4C 08 FC L.. ; ---------------------------------------------------------------------------- LFF7D := * + 2 jmp LFC12 ; FF7B 4C 12 FC L.. ; ---------------------------------------------------------------------------- .byte $FF ; FF7E FF . .byte $FF ; FF7F FF . LFF80: .byte $FF ; FF80 FF . KJ_SCINIT: LFF82 := * + 1 LFF83 := * + 2 ; ------------------------------------------------------------------------------ ; Begin of the table of the kernal vectors (well, compared with "standard ; KERNAL entries" on Commodore 64, I can just guess if there is not so much ; difference on the CLCD) ; ------------------------------------------------------------------------------ jmp KR_SCINIT ; FF81 4C 1C FC L.. ; ---------------------------------------------------------------------------- KJ_IOINIT: jmp KR_IOINIT ; FF84 4C 2E FC L.. ; ---------------------------------------------------------------------------- KJ_RAMTAS: jmp KR_RAMTAS ; FF87 4C 38 FC L8. ; ---------------------------------------------------------------------------- KJ_RESTOR: jmp KR_RESTOR ; FF8A 4C 42 FC LB. ; ---------------------------------------------------------------------------- KJ_VECTOR: jmp KR_VECTOR ; FF8D 4C 4C FC LL. ; ---------------------------------------------------------------------------- SetMsg: jmp SetMsg_ ; FF90 4C 56 FC LV. ; ---------------------------------------------------------------------------- LSTNSA: jmp LSTNSA_ ; FF93 4C 5A FC LZ. ; ---------------------------------------------------------------------------- TALKSA: jmp TALKSA_ ; FF96 4C 64 FC Ld. ; ---------------------------------------------------------------------------- MEMBOT: jmp MEMBOT_ ; FF99 4C 6E FC Ln. ; ---------------------------------------------------------------------------- MEMTOP: jmp MEMTOP_ ; FF9C 4C 78 FC Lx. ; ---------------------------------------------------------------------------- KJ_SCNKEY: jmp KR_SCNKEY ; FF9F 4C 82 FC L.. ; ---------------------------------------------------------------------------- ; The following entry (three bytes) would be "SETTMO. Unknown. (Set serial ; bus timeout.)" according to the C64 KERNAL, however on CLCD it seems to be ; unused. rts ; FFA2 60 ` ; ---------------------------------------------------------------------------- rts ; FFA3 60 ` ; ---------------------------------------------------------------------------- rts ; FFA4 60 ` ; ---------------------------------------------------------------------------- IECIN: jmp IECIN_ ; FFA5 4C 8C FC L.. ; ---------------------------------------------------------------------------- IECOUT: jmp IECOUT_ ; FFA8 4C 96 FC L.. ; ---------------------------------------------------------------------------- UNTALK: jmp UNTALK_ ; FFAB 4C A0 FC L.. ; ---------------------------------------------------------------------------- UNLSTN: jmp UNLSTN_ ; FFAE 4C AA FC L.. ; ---------------------------------------------------------------------------- LISTEN: jmp LISTEN_ ; FFB1 4C B4 FC L.. ; ---------------------------------------------------------------------------- ; ??TALK. Send TALK command to serial bus. ; Input: A = Device number. TALK: jmp TALK_ ; FFB4 4C BE FC L.. ; ---------------------------------------------------------------------------- ; ??READST. Fetch status of current input/output device, value of ST ; variable. (For RS232, status is cleared.) ; Output: A = Device status. jmp ReadST ; FFB7 4C C8 FC L.. ; ---------------------------------------------------------------------------- ; ??SETLFS. Set file parameters. ; Input: A = Logical number; X = Device number; Y = Secondary address. jmp SetLFS ; FFBA 4C CF FC L.. ; ---------------------------------------------------------------------------- ; SETNAM. Set file name parameters. ; Input: A = File name length; X/Y = Pointer to file name. jmp SetNam ; FFBD 4C D6 FC L.. ; ---------------------------------------------------------------------------- ; "OPEN". Must call SETLFS and SETNAM beforehands. ; RAMVEC_OPEN points to $FCE7 in RAM by default. Open: jmp (RAMVEC_OPEN) ; FFC0 6C 1A 03 l.. ; ---------------------------------------------------------------------------- LFFC3: jmp (RAMVEC_CLOSE) ; FFC3 6C 1C 03 l.. ; ---------------------------------------------------------------------------- LFFC6: jmp (RAMVEC_CHKIN) ; FFC6 6C 1E 03 l.. ; ---------------------------------------------------------------------------- LFFC9: jmp (RAMVEC_CHKOUT) ; FFC9 6C 20 03 l . ; ---------------------------------------------------------------------------- LFFCC: jmp (RAMVEC_CLRCHN) ; FFCC 6C 22 03 l". ; ---------------------------------------------------------------------------- LFFCF: jmp (RAMVEC_CHRIN) ; FFCF 6C 24 03 l$. ; ---------------------------------------------------------------------------- LFFD2: jmp (RAMVEC_CHROUT) ; FFD2 6C 26 03 l&. ; ---------------------------------------------------------------------------- ; ??LOAD. Load or verify file. (Must call SETLFS and SETNAM beforehands.) ; Input: A: 0 = Load, 1-255 = Verify; X/Y = Load address (if secondary ; address = 0). ; Output: Carry: 0 = No errors, 1 = Error; A = KERNAL error code (if Carry = ; 1); X/Y = Address of last byte loaded/verified (if Carry = 0). ; Used registers: A, X, Y. ; Real address: $F49E. LOAD: jmp LOAD_ ; FFD5 4C 6A FD Lj. ; ---------------------------------------------------------------------------- ; ??SAVE. Save file. (Must call SETLFS and SETNAM beforehands.) ; Input: A = Address of zero page register holding start address of memory ; area to save; X/Y = End address of memory area plus 1. ; Output: Carry: 0 = No errors, 1 = Error; A = KERNAL error code (if Carry = ; 1). ; Used registers: A, X, Y. ; Real address: $F5DD. SAVE: jmp SAVE_ ; FFD8 4C 88 FD L.. ; ---------------------------------------------------------------------------- ; ??SETTIM. Set Time of Day, at memory address $0390-$0392. ; Input: A/X/Y = New TOD value. ; Output: – ; Used registers: – ; Real address: $F6E4. jmp LFDA5 ; FFDB 4C A5 FD L.. ; ---------------------------------------------------------------------------- ; ??RDTIM. read Time of Day, at memory address $0390-$0392. ; Input: – ; Output: A/X/Y = Current TOD value. ; Used registers: A, X, Y. jmp LFDAF ; FFDE 4C AF FD L.. ; ---------------------------------------------------------------------------- ; ??STOP. Query Stop key indicator, at memory address $0091; if pressed, call ; CLRCHN and clear keyboard buffer. ; Input: – ; Output: Zero: 0 = Not pressed, 1 = Pressed; Carry: 1 = Pressed. ; Used registers: A, X. ; Vector in RAM ($328) seems to point to $FDC2 LFFE1: jmp (RAMVEC_STOP) ; FFE1 6C 28 03 l(. ; ---------------------------------------------------------------------------- ; GETIN. Read byte from default input. (If not keyboard, must call OPEN and ; CHKIN beforehands.) ; Input: – ; Output: A = Byte read. ; Used registers: A, X, Y. LFFE4: jmp (RAMVEC_GETIN) ; FFE4 6C 2A 03 l*. ; ---------------------------------------------------------------------------- LFFE7: jmp (RAMVEC_CLALL) ; FFE7 6C 2C 03 l,. ; ---------------------------------------------------------------------------- ; ??Might be UDTIM. Update Time of Day, at memory address $0390-$0392, and ; Stop key indicator UDTIM: jmp UDTIM_ ; FFEA 4C F2 FD L.. ; ---------------------------------------------------------------------------- ; SCREEN. Fetch number of screen rows and columns. jmp LFDFC ; FFED 4C FC FD L.. ; ---------------------------------------------------------------------------- ; PLOT. Save or restore cursor position. ; Input: Carry: 0 = Restore from input, 1 = Save to output; X = Cursor column ; (if Carry = 0); Y = Cursor row (if Carry = 0). ; Output: X = Cursor column (if Carry = 1); Y = Cursor row (if Carry = 1). ; Used registers: X, Y. PLOT: jmp PLOT_ ; FFF0 4C 01 FE L.. ; ---------------------------------------------------------------------------- ; ?? Might be IOBASE. Fetch CIA #1 base address. ; Input: - ; Output: X/Y = CIA #1 base address . ; Used registers: X, Y. jmp LFE0C ; FFF3 4C 0C FE L.. ; ---------------------------------------------------------------------------- ; Four unused bytes, this is the same as with C64. .byte $FF ; FFF6 FF . .byte $FF ; FFF7 FF . LFFF8: .byte $FF ; FFF8 FF . .byte $FF ; FFF9 FF . NMI_VECTOR: ; The 65xx hardware vectors (NMI, RESET, IRQ). .addr NMI ; FFFA 66 FA f. RES_VECTOR: ; This is the RESET vector. .addr RESET ; FFFC 07 FA .. IRQ_VECTOR: .addr IRQ ; FFFE 0E FA ..