F800 loc_1F800: ; CODE XREF: SCREEN+1Aj F800 LDA $E F802 BEQ loc_1F80A F804 DEC $E F806 BEQ loc_1F80A F808 DEC $E F80A loc_1F80A: ; CODE XREF: F802j F806j F80A LDA #$20 ; ' ' F80C STA $201 F80F JSR sub_1FF8F F812 BPL loc_1F82D F814 SEC F815 LDA $22B F818 SBC #$40 ; '@' F81A STA $22B F81D LDA $22C F820 SBC #0 F822 STA $22C F825 JSR ENDCHK F828 BCS loc_1F82D F82A JSR CURHOM F82D loc_1F82D: ; CODE XREF: F812j F828j F82D STX $200 F830 JSR sub_1FF88 F833 JMP loc_1F8D2 F836 SCREEN: ; CODE XREF: FF9Bp F836 STA $202 F839 PHA F83A TXA F83B PHA F83C TYA F83D PHA F83E LDA $202 F841 BNE loc_1F846 F843 JMP loc_1F8D2 F846 loc_1F846: ; CODE XREF: SCREEN+Bj F846 LDY $206 F849 BEQ loc_1F84E F84B JSR DELAY2 F84E loc_1F84E: ; CODE XREF: SCREEN+13j F84E CMP #$5F ; '_' F850 BEQ loc_1F800 F852 CMP #$C F854 BNE loc_1F861 F856 JSR SCOUT F859 JSR CURHOM F85C STX $200 F85F BEQ loc_1F8CF F861 loc_1F861: ; CODE XREF: SCREEN+1Ej F861 CMP #$A F863 BEQ loc_1F88C F865 CMP #$1E F867 BEQ loc_1F8E0 F869 CMP #$B F86B BEQ loc_1F87D F86D CMP #$1A F86F BEQ loc_1F8D8 F871 CMP #$D F873 BNE loc_1F87A F875 JSR sub_1FF6D F878 BNE loc_1F8D2 F87A loc_1F87A: ; CODE XREF: SCREEN+3Dj F87A STA $201 F87D loc_1F87D: ; CODE XREF: SCREEN+35j F87D JSR SCOUT F880 INC $200 F883 INX F884 CPX $222 F887 BMI loc_1F8CF F889 JSR sub_1FF70 F88C loc_1F88C: ; CODE XREF: SCREEN+2Dj F88C JSR SCOUT F88F LDY #2 F891 JSR sub_1FBD2 F894 BCS loc_1F89E F896 LDX #3 F898 JSR sub_1FDEE F89B JMP loc_1F8CF F89E loc_1F89E: ; CODE XREF: SCREEN+5Ej F89E JSR sub_1FE28 F8A1 JSR CURHOM F8A4 JSR sub_1FDEE F8A7 LDX $222 F8AA loc_1F8AA: ; CODE XREF: SCREEN+77j F8AA ; SCREEN+85j F8AA JSR $227 F8AD BPL loc_1F8AA F8AF INX F8B0 JSR sub_1FDEE F8B3 LDX #3 F8B5 JSR sub_1FDEE F8B8 JSR ENDCHK F8BB BCC loc_1F8AA F8BD LDA #$20 ; ' ' F8BF loc_1F8BF: ; CODE XREF: SCREEN+8Cj F8BF JSR $22A F8C2 BPL loc_1F8BF F8C4 LDX #1 F8C6 loc_1F8C6: ; CODE XREF: SCREEN+97j F8C6 LDA $223,X F8C9 STA $228,X F8CC DEX F8CD BPL loc_1F8C6 F8CF loc_1F8CF: ; CODE XREF: SCREEN+29j F8CF ; SCREEN+51j SCREEN+65j F8CF JSR sub_1FF75 F8D2 loc_1F8D2: ; CODE XREF: F833j SCREEN+Dj F8D2 ; SCREEN+42j SCREEN+D4j F8D2 PLA F8D3 TAY F8D4 PLA F8D5 TAX F8D6 PLA F8D7 RTS F8D8 loc_1F8D8: ; CODE XREF: SCREEN+39j F8D8 JSR SCNCLR F8DB STA $201 F8DE BEQ loc_1F904 F8E0 loc_1F8E0: ; CODE XREF: SCREEN+31j F8E0 LDA #$20 ; ' ' F8E2 JSR sub_1FF8F F8E5 JSR CURHOM F8E8 loc_1F8E8: ; CODE XREF: SCREEN+CBj F8E8 LDX $222 F8EB LDA #$20 ; ' ' F8ED loc_1F8ED: ; CODE XREF: SCREEN+BAj F8ED JSR $22A F8F0 BPL loc_1F8ED F8F2 STA $201 F8F5 LDY #2 F8F7 JSR sub_1FBD2 F8FA BCS loc_1F904 F8FC LDX #3 F8FE JSR sub_1FDEE F901 JMP loc_1F8E8 F904 loc_1F904: ; CODE XREF: SCREEN+A8j F904 ; SCREEN+C4j F904 JSR CURHOM F907 STX $200 F90A BEQ loc_1F8D2 F90C loc_1F90C: ; CODE XREF: SCREEN+139j F90C JSR TWOQAD F90F loc_1F90F: ; CODE XREF: SCREEN+FBj F90F JSR CRLF F912 JSR QDDATD F915 JSR SPCOUT F918 JSR sub_1FBE0 F91B LDX #8 F91D STX $FD F91F loc_1F91F: ; CODE XREF: SCREEN+F9j F91F JSR SPCOUT F922 JSR PRBYTE F925 JSR NOTEND F928 BCS loc_1F97B F92A JSR BUMP F92D DEC $FD F92F BNE loc_1F91F F931 BEQ loc_1F90F F933 loc_1F933: ; CODE XREF: SCREEN+157j F933 JSR TRIQAD F936 JSR SWAP F939 BCS MSTART F93B loc_1F93B: ; CODE XREF: SCREEN+15Bj F93B LDX $E4 F93D TXS F93E LDA $E6 F940 PHA F941 LDA $E5 F943 PHA F944 LDA $E3 F946 PHA F947 LDA $E0 F949 LDX $E1 F94B LDY $E2 F94D RTI F94E loc_1F94E: ; CODE XREF: SCREEN+15Fj F94E LDX #3 F950 loc_1F950: ; CODE XREF: SCREEN+121j F950 LDA $FA4B,X F953 STA $234,X F956 DEX F957 BNE loc_1F950 F959 JSR GETNEW F95C JSR GETQDE F95F LDA ($FE),Y F961 STA $E7 F963 TYA F964 STA ($FE),Y F966 BEQ MSTART F968 loc_1F968: ; CODE XREF: SCREEN+163j F968 JMP SAVEMC F96B loc_1F96B: ; CODE XREF: SCREEN+167j F96B DEC $FB F96D BNE loc_1F9E8 F96F loc_1F96F: ; CODE XREF: sub_1F9C6+12j F96F BEQ loc_1F90C F971 locret_1F971: ; CODE XREF: SCREEN+13Ej F971 RTS F972 loc_1F972: ; CODE XREF: sub_1F9C6+Bj F972 LDA $FB F974 BNE locret_1F971 F976 LDA #$3F ; '?' F978 JSR OUTVEC F97B loc_1F97B: ; CODE XREF: SCREEN+F2j F97B LDX #$28 ; '(' F97D TXS F97E MSTART: ; CODE XREF: SCREEN+103j F97E ; SCREEN+130j sub_1F9C6+F4j F97E ; FE16j F97E JSR CRLF F981 LDY #0 F983 STY $FB F985 JSR sub_1FBE0 F988 loc_1F988: ; CODE XREF: sub_1F9C6+2j F988 JSR GETNEW F98B CMP #$4D ; 'M' F98D BEQ loc_1F933 F98F CMP #$52 ; 'R' F991 BEQ loc_1F93B F993 CMP #$5A ; 'Z' F995 BEQ loc_1F94E F997 CMP #$53 ; 'S' F999 BEQ loc_1F968 F99B CMP #$4C ; 'L' F99D BEQ loc_1F96B F99F CMP #$55 ; 'U' F9A1 BNE loc_1F9D6 F9A3 JMP ($233) F9A6 TWOQAD: ; CODE XREF: SCREEN+D6p F9A6 ; TRIQADp F9A6 JSR GETNEW F9A9 JSR GETQDE F9AC JSR loc_1FBE3 F9AF LDX #0 F9B1 sub_1F9B1: ; CODE XREF: TRIQAD+8p F9B1 JSR GETNEW F9B4 unk_1F9B4:.BYTE $2C ; , F9B5 GETQDE: ; CODE XREF: SCREEN+126p F9B5 ; TWOQAD+3p sub_1F9C6+14p F9B5 LDX #5 F9B7 JSR sub_1F9C0 F9BA JSR GETNEW F9BD .BYTE $2C ; , F9BE GETPRC: ; CODE XREF: sub_1F9C6+46p F9BE LDX #3 F9C0 sub_1F9C0: ; CODE XREF: F9B7p F9C0 JSR sub_1F9C6 F9C3 JSR GETNEW F9C6 sub_1F9C6: ; CODE XREF: sub_1F9C0p F9C6 CMP #$2E ; '.' F9C8 BEQ loc_1F988 F9CA CMP #$2F ; '/' F9CC BEQ loc_1F9E8 F9CE JSR ASCHEX F9D1 BMI loc_1F972 F9D3 JMP ROLSTR F9D6 loc_1F9D6: ; CODE XREF: SCREEN+16Bj F9D6 CMP #$54 ; 'T' F9D8 BEQ loc_1F96F F9DA JSR GETQDE F9DD loc_1F9DD: ; CODE XREF: sub_1F9C6+6Ej F9DD LDA #$2F ; '/' F9DF JSR OUTVEC F9E2 JSR PRBYTE F9E5 JSR SPCOUT F9E8 loc_1F9E8: ; CODE XREF: SCREEN+137j F9E8 ; sub_1F9C6+6j F9E8 ; sub_1F9C6+33j F9E8 ; sub_1F9C6+4Dj F9E8 JSR GETNEW F9EB CMP #$47 ; 'G' F9ED BNE loc_1F9F2 F9EF JMP ($FE) F9F2 loc_1F9F2: ; CODE XREF: sub_1F9C6+27j F9F2 CMP #$2C ; ',' F9F4 BNE loc_1F9FC F9F6 JSR BUMP F9F9 JMP loc_1F9E8 F9FC loc_1F9FC: ; CODE XREF: sub_1F9C6+2Ej F9FC CMP #$A F9FE BEQ loc_1FA16 FA00 CMP #$D FA02 BEQ loc_1FA1B FA04 CMP #$5E ; '^' FA06 BEQ loc_1FA21 FA08 CMP #$27 ; ''' FA0A BEQ loc_1FA3A FA0C JSR GETPRC FA0F LDA $FC FA11 STA ($FE),Y FA13 loc_1FA13: ; CODE XREF: sub_1F9C6+7Ej FA13 JMP loc_1F9E8 FA16 loc_1FA16: ; CODE XREF: sub_1F9C6+38j FA16 LDA #$D FA18 JSR OUTVEC FA1B loc_1FA1B: ; CODE XREF: sub_1F9C6+3Cj FA1B JSR BUMP FA1E JMP loc_1FA31 FA21 loc_1FA21: ; CODE XREF: sub_1F9C6+40j FA21 SEC FA22 LDA $FE FA24 SBC #1 FA26 STA $FE FA28 LDA $FF FA2A SBC #0 FA2C STA $FF FA2E DATALN: ; CODE XREF: sub_1F9C6+82j FA2E ; sub_1F9C6+B6j FA2E JSR CRLF FA31 loc_1FA31: ; CODE XREF: sub_1F9C6+58j FA31 JSR QDDATD FA34 JMP loc_1F9DD FA37 loc_1FA37: ; CODE XREF: sub_1F9C6+84j FA37 JSR sub_1FEF7 FA3A loc_1FA3A: ; CODE XREF: sub_1F9C6+44j FA3A JSR GETNEW FA3D CMP #$27 ; ''' FA3F BNE loc_1FA46 FA41 JSR loc_1FBE3 FA44 BNE loc_1FA13 FA46 loc_1FA46: ; CODE XREF: sub_1F9C6+79j FA46 CMP #$D FA48 BEQ DATALN FA4A BNE loc_1FA37 FA4C JMP loc_1FA4F FA4F loc_1FA4F: FA4F STA $E0 FA51 PLA FA52 PHA FA53 AND #$10 FA55 BNE loc_1FA5A FA57 LDA $E0 FA59 RTI FA5A loc_1FA5A: ; CODE XREF: sub_1F9C6+8Fj FA5A STX $E1 FA5C STY $E2 FA5E PLA FA5F STA $E3 FA61 CLD FA62 SEC FA63 PLA FA64 SBC #2 FA66 STA $E5 FA68 PLA FA69 SBC #0 FA6B STA $E6 FA6D TSX FA6E STX $E4 FA70 LDY #0 FA72 LDA $E7 FA74 STA ($E5),Y FA76 LDA #$E0 ; 'à' FA78 STA $FE FA7A STY $FF FA7C BNE DATALN FA7E SAVEMC: ; CODE XREF: SCREEN+132j FA7E JSR TRIQAD FA81 JSR FFF7 FA84 JSR GETCHR FA87 JSR OUTVEC FA8A JSR sub_1FFE3 FA8D LDA #$2F ; '/' FA8F JSR OUTVEC FA92 BNE loc_1FA97 FA94 loc_1FA94: ; CODE XREF: sub_1F9C6+DCj FA94 JSR BUMP FA97 loc_1FA97: ; CODE XREF: sub_1F9C6+CCj FA97 JSR PRBYTE FA9A LDA #$D FA9C JSR TAPOUT FA9F JSR NOTEND FAA2 BCC loc_1FA94 FAA4 LDA $E4 FAA6 LDX $E5 FAA8 STA $FE FAAA STX $FF FAAC JSR sub_1FFE3 FAAF LDA #$47 ; 'G' FAB1 JSR OUTVEC FAB4 JSR TENULL FAB7 STY $205 FABA JMP MSTART FABD EDITOR: ; CODE XREF: TAPIN+11j FABD TXA FABE PHA FABF TYA FAC0 PHA FAC1 LDA $204 FAC4 BPL loc_1FB1F FAC6 loc_1FAC6: ; CODE XREF: FAFEj FB04j FAC6 ; FB0Aj FB10j FB41j FAC6 LDY $22F FAC9 LDA $231 FACC STA $E4 FACE LDA $232 FAD1 STA $E5 FAD3 LDA ($E4),Y FAD5 STA $230 FAD8 LDA #$A1 ; '¡' FADA STA ($E4),Y FADC JSR GETKEY FADF LDA $230 FAE2 STA ($E4),Y FAE4 LDA $215 FAE7 CMP #$11 FAE9 BEQ loc_1FB13 FAEB CMP #1 FAED BEQ loc_1FB0D FAEF CMP #4 FAF1 BEQ loc_1FB07 FAF3 CMP #$13 FAF5 BEQ loc_1FB01 FAF7 CMP #6 FAF9 BNE loc_1FB22 FAFB JSR sub_1FB7C FAFE JMP loc_1FAC6 FB01 loc_1FB01: ; CODE XREF: FAF5j FB01 JSR sub_1FE28 FB04 JMP loc_1FAC6 FB07 loc_1FB07: ; CODE XREF: FAF1j FB07 JSR sub_1FB6B FB0A JMP loc_1FAC6 FB0D loc_1FB0D: ; CODE XREF: FAEDj FB0D JSR sub_1FE19 FB10 JMP loc_1FAC6 FB13 loc_1FB13: ; CODE XREF: FAE9j FB13 LDA $230 FB16 STA $215 FB19 JSR sub_1FB6B FB1C JMP loc_1FB43 FB1F loc_1FB1F: ; CODE XREF: FAC4j FB2Ej FB1F JSR GETKEY FB22 loc_1FB22: ; CODE XREF: FAF9j FB22 CMP #5 FB24 BNE loc_1FB43 FB26 LDA $204 FB29 EOR #$FF FB2B STA $204 FB2E BPL loc_1FB1F FB30 LDA $22B FB33 STA $231 FB36 LDA $22C FB39 STA $232 FB3C LDX #0 FB3E STX $22F FB41 BEQ loc_1FAC6 FB43 loc_1FB43: ; CODE XREF: FB1Cj FB24j FB43 JMP loc_1FDD3 FB46 INPUT: FB46 BIT $203 FB49 BPL loc_1FB68 FB4B loc_1FB4B: ; CODE XREF: TAPIN+4j FB4B LDA #$FD ; 'ý' FB4D STA byte_1DF00 FB50 LDA #$10 FB52 BIT byte_1DF00 FB55 BEQ loc_1FB61 FB57 TAPIN: ; CODE XREF: FE80p FB57 LDA byte_1F000 FB5A LSR A FB5B BCC loc_1FB4B FB5D LDA byte_1F001 FB60 RTS FB61 loc_1FB61: ; CODE XREF: FB55j FB61 LDA #0 FB63 STA $FB FB65 STA $203 FB68 loc_1FB68: ; CODE XREF: FB49j FB68 JMP EDITOR FB6B sub_1FB6B: ; CODE XREF: FB07p FB19p FB6B LDX $222 FB6E CPX $22F FB71 BEQ loc_1FB77 FB73 INC $22F FB76 RTS FB77 loc_1FB77: ; CODE XREF: sub_1FB6B+6j FB77 LDX #0 FB79 STX $22F FB7C sub_1FB7C: ; CODE XREF: FAFBp FB7C CLC FB7D LDA $231 FB80 ADC #$40 ; '@' FB82 STA $231 FB85 LDA $232 FB88 ADC #0 FB8A CMP #$D8 ; 'Ø' FB8C BNE loc_1FB90 FB8E loc_1FB8E: ; CODE XREF: FBBDj FB8E LDA #$D0 ; 'Ð' FB90 loc_1FB90: ; CODE XREF: sub_1FB7C+10j FB90 STA $232 FB93 locret_1FB93: ; CODE XREF: FB97j FBA1j FB93 ; FBABj FB93 RTS FB94 CTRLC: FB94 LDA $212 FB97 loc_1FB97: ; CODE XREF: FBBFj FB97 BNE locret_1FB93 FB99 LDA #$FE ; 'þ' FB9B STA byte_1DF00 FB9E BIT byte_1DF00 FBA1 BVS locret_1FB93 FBA3 LDA #$FB ; 'û' FBA5 STA byte_1DF00 FBA8 BIT byte_1DF00 FBAB BVS locret_1FB93 FBAD LDA #3 FBAF JMP loc_1A636 FBB2 LSR $FB FBB4 SHS $94FF,Y FBB7 ISB $FE70,Y FBBA RRA $29FE,Y FBBD BPL loc_1FB8E+1 FBBF BVC loc_1FB97+1 FBC1 LDA $D08C,X FBC4 STA $D08C,X FBC7 DEX FBC8 RTS FBC9 .BYTE 0 ; FBCA .BYTE $20 ; FBCB .BYTE $8C ; Œ FBCC .BYTE $D0 ; Ð FBCD .BYTE $88 ; ˆ FBCE .BYTE $F9 ; ù FBCF ENDCHK: ; CODE XREF: F825p SCREEN+82p FBCF LDX $222 FBD2 sub_1FBD2: ; CODE XREF: SCREEN+5Bp FBD2 ; SCREEN+C1p FBD2 SEC FBD3 LDA $22B FBD6 SBC $223,Y FBD9 LDA $22C FBDC SBC $224,Y FBDF RTS FBE0 sub_1FBE0: ; CODE XREF: SCREEN+E2p FBE0 ; SCREEN+14Fp TRIQAD+3p FBE0 LDA #$3E ; '>' FBE2 unk_1FBE2:.BYTE $2C ; , FBE3 loc_1FBE3: ; CODE XREF: TWOQAD+6p FBE3 ; sub_1F9C6+7Bp FBE3 LDA #$2C ; ',' FBE5 .BYTE $2C ; , FBE6 SPCOUT: ; CODE XREF: SCREEN+DFp FBE6 ; SCREEN+E9p sub_1F9C6+1Fp FBE6 ; FEB1p FBE6 LDA #$20 ; ' ' FBE8 JMP OUTVEC FBEB NOTEND: ; CODE XREF: SCREEN+EFp FBEB ; sub_1F9C6+D9p FBEB ; SWAP+4p FBEB SEC FBEC LDA $FE FBEE SBC $F9 FBF0 LDA $FF FBF2 SBC $FA FBF4 RTS FBF5 CRLF: ; CODE XREF: SCREEN+D9p FBF5 ; SCREEN+148p sub_1F9C6+68p FBF5 LDA #$D FBF7 JSR OUTVEC FBFA LDA #$A FBFC JMP OUTVEC FBFF .BYTE $40 ; @ FC00 DISK: ; CODE XREF: FF24j FC00 JSR sub_1FC0C FC03 JMP ($FD) FC06 .BYTE $20 ; FC07 .BYTE $C ; FC08 .BYTE $FC ; ü FC09 .BYTE $4C ; L FC0A .BYTE 0 ; FC0B .BYTE $FE ; þ FC0C sub_1FC0C: ; CODE XREF: FC00p FC0C LDY #0 FC0E STY byte_1C001 FC11 STY byte_1C000 FC14 LDX #4 FC16 STX byte_1C001 FC19 STY byte_1C003 FC1C DEY FC1D STY byte_1C002 FC20 STX byte_1C003 FC23 STY byte_1C002 FC26 LDA #$FB ; 'û' FC28 BNE loc_1FC33 FC2A loc_1FC2A: ; CODE XREF: sub_1FC0C+3Fj FC2A LDA #2 FC2C BIT byte_1C000 FC2F BEQ loc_1FC4D FC31 LDA #$FF FC33 loc_1FC33: ; CODE XREF: sub_1FC0C+1Cj FC33 STA byte_1C002 FC36 JSR sub_1FCA5 FC39 AND #$F7 FC3B STA byte_1C002 FC3E JSR sub_1FCA5 FC41 ORA #8 FC43 STA byte_1C002 FC46 LDX #$18 FC48 JSR sub_1FC91 FC4B BEQ loc_1FC2A FC4D loc_1FC4D: ; CODE XREF: sub_1FC0C+23j FC4D LDX #$7F ; '' FC4F STX byte_1C002 FC52 JSR sub_1FC91 FC55 loc_1FC55: ; CODE XREF: sub_1FC0C+4Cj FC55 LDA byte_1C000 FC58 BMI loc_1FC55 FC5A loc_1FC5A: ; CODE XREF: sub_1FC0C+51j FC5A LDA byte_1C000 FC5D BPL loc_1FC5A FC5F LDA #3 FC61 STA byte_1C010 FC64 LDA #$58 ; 'X' FC66 STA byte_1C010 FC69 JSR sub_1FC9C FC6C STA $FE FC6E TAX FC6F JSR sub_1FC9C FC72 STA $FD FC74 JSR sub_1FC9C FC77 STA $FF FC79 LDY #0 FC7B loc_1FC7B: ; CODE XREF: sub_1FC0C+75j FC7B ; sub_1FC0C+7Bj FC7B JSR sub_1FC9C FC7E STA ($FD),Y FC80 INY FC81 BNE loc_1FC7B FC83 INC $FE FC85 DEC $FF FC87 BNE loc_1FC7B FC89 STX $FE FC8B LDA #$FF FC8D STA byte_1C002 FC90 RTS FC91 sub_1FC91: ; CODE XREF: sub_1FC0C+3Cp FC91 ; sub_1FC0C+46p FC91 ; sub_1FC91+8j FC91 LDY #$F8 ; 'ø' FC93 loc_1FC93: ; CODE XREF: sub_1FC91+3j FC93 DEY FC94 BNE loc_1FC93 FC96 EOR $FF,X FC98 DEX FC99 BNE sub_1FC91 FC9B RTS FC9C sub_1FC9C: ; CODE XREF: sub_1FC0C+5Dp FC9C ; sub_1FC0C+63p FC9C ; sub_1FC0C+68p FC9C ; sub_1FC0C+6Fp FC9C ; sub_1FC9C+4j FC9C LDA byte_1C010 FC9F LSR A FCA0 BCC sub_1FC9C FCA2 LDA byte_1C011 FCA5 sub_1FCA5: ; CODE XREF: sub_1FC0C+2Ap FCA5 ; sub_1FC0C+32p FCA5 RTS FCA6 RSACIA: ; CODE XREF: FE04p FF04p FCA6 LDA #3 FCA8 STA byte_1F000 FCAB LDA #$11 FCAD STA byte_1F000 FCB0 RTS FCB1 TAPOUT: ; CODE XREF: sub_1F9C6+D6p FCB1 ; FFA5p TENULL+7p FCB1 PHA FCB2 loc_1FCB2: ; CODE XREF: TAPOUT+6j FCB2 LDA byte_1F000 FCB5 LSR A FCB6 LSR A FCB7 BCC loc_1FCB2 FCB9 PLA FCBA STA byte_1F001 FCBD RTS FCBE KEYWRT: ; CODE XREF: GETKEY+6p FCBE ; GETKEY+78p FCBE EOR #$FF FCC0 STA byte_1DF00 FCC3 EOR #$FF FCC5 RTS FCC6 KEY2XR: ; CODE XREF: GETKEY+9p FCC6 PHA FCC7 JSR KYREAD FCCA TAX FCCB PLA FCCC DEX FCCD INX FCCE RTS FCCF KYREAD: ; CODE XREF: KEY2XR+1p FCCF ; GETKEY+7Bp FCCF LDA byte_1DF00 FCD2 EOR #$FF FCD4 RTS FCD5 loc_1FCD5: ; CODE XREF: sub_1A357+19j FCD5 CMP #$5F ; '_' FCD7 BEQ loc_1FCDC FCD9 JMP loc_1A374 FCDC loc_1FCDC: ; CODE XREF: FCD7j FCDC JMP loc_1A34B FCDF KDELAY: ; CODE XREF: GETKEY+5Ap FCDF LDY #$10 FCE1 DELAY2: ; CODE XREF: SCREEN+15p FCE1 ; KDELAY+8j FCE1 LDX #$40 ; '@' FCE3 loc_1FCE3: ; CODE XREF: KDELAY+5j FCE3 DEX FCE4 BNE loc_1FCE3 FCE6 DEY FCE7 BNE DELAY2 FCE9 RTS FCEA .BYTE $43 ; C FCEB .BYTE $45 ; E FCEC .BYTE $47 ; G FCED .BYTE $4D ; M FCEE .BYTE $4F ; O FCEF .BYTE $4E ; N FCF0 .BYTE $28 ; ( FCF1 .BYTE $43 ; C FCF2 .BYTE $29 ; ) FCF3 .BYTE $31 ; 1 FCF4 .BYTE $39 ; 9 FCF5 .BYTE $38 ; 8 FCF6 .BYTE $30 ; 0 FCF7 .BYTE $20 ; FCF8 .BYTE $44 ; D FCF9 .BYTE $2F ; / FCFA .BYTE $43 ; C FCFB .BYTE $2F ; / FCFC .BYTE $57 ; W FCFD .BYTE $2F ; / FCFE .BYTE $4D ; M FCFF .BYTE $3F ; ? FD00 GETKEY: ; CODE XREF: FADCp FB1Fp FD00 ; GETCHR+4j FD00 TXA FD01 PHA FD02 TYA FD03 PHA FD04 loc_1FD04: ; CODE XREF: GETKEY+45j FD04 ; GETKEY+5Dj FD04 LDA #$80 ; '€' FD06 loc_1FD06: ; CODE XREF: GETKEY+Fj FD06 JSR KEYWRT FD09 JSR KEY2XR FD0C BNE loc_1FD13 FD0E LSR A FD0F BNE loc_1FD06 FD11 BEQ loc_1FD3A FD13 loc_1FD13: ; CODE XREF: GETKEY+Cj FD13 LSR A FD14 BCC loc_1FD1F FD16 TXA FD17 AND #$20 FD19 BEQ loc_1FD3A FD1B LDA #$1B FD1D BNE loc_1FD50 FD1F loc_1FD1F: ; CODE XREF: GETKEY+14j FD1F JSR sub_1FE86 FD22 TYA FD23 STA $215 FD26 ASL A FD27 ASL A FD28 ASL A FD29 SEC FD2A SBC $215 FD2D STA $215 FD30 TXA FD31 LSR A FD32 ASL A FD33 JSR sub_1FE86 FD36 BEQ loc_1FD47 FD38 LDA #0 FD3A loc_1FD3A: ; CODE XREF: GETKEY+11j FD3A ; GETKEY+19j FD3A STA $216 FD3D loc_1FD3D: ; CODE XREF: GETKEY+53j FD3D STA $213 FD40 LDA #2 FD42 STA $214 FD45 BNE loc_1FD04 FD47 loc_1FD47: ; CODE XREF: GETKEY+36j FD47 CLC FD48 TYA FD49 ADC $215 FD4C TAY FD4D LDA $FF3B,Y FD50 loc_1FD50: ; CODE XREF: GETKEY+1Dj FD50 CMP $213 FD53 BNE loc_1FD3D FD55 DEC $214 FD58 BEQ loc_1FD5F FD5A JSR KDELAY FD5D BEQ loc_1FD04 FD5F loc_1FD5F: ; CODE XREF: GETKEY+58j FD5F LDX #$64 ; 'd' FD61 CMP $216 FD64 BNE loc_1FD68 FD66 LDX #$F FD68 loc_1FD68: ; CODE XREF: GETKEY+64j FD68 STX $214 FD6B STA $216 FD6E CMP #$21 ; '!' FD70 BMI loc_1FDD0 FD72 CMP #$5F ; '_' FD74 BEQ loc_1FDD0 FD76 LDA #1 FD78 JSR KEYWRT FD7B JSR KYREAD FD7E STA $215 FD81 AND #1 FD83 TAX FD84 LDA $215 FD87 AND #6 FD89 BNE loc_1FDA2 FD8B BIT $213 FD8E BVC loc_1FDBB FD90 TXA FD91 EOR #1 FD93 AND #1 FD95 BEQ loc_1FDBB FD97 LDA #$20 ; ' ' FD99 BIT $215 FD9C BVC loc_1FDC3 FD9E LDA #$C0 ; 'À' FDA0 BNE loc_1FDC3 FDA2 loc_1FDA2: ; CODE XREF: GETKEY+89j FDA2 BIT $213 FDA5 BVC loc_1FDAA FDA7 TXA FDA8 BEQ loc_1FDBB FDAA loc_1FDAA: ; CODE XREF: GETKEY+A5j FDAA LDY $213 FDAD CPY #$31 ; '1' FDAF BCC loc_1FDB9 FDB1 CPY #$3C ; '<' FDB3 BCS loc_1FDB9 FDB5 LDA #$F0 ; 'ð' FDB7 BNE loc_1FDBB FDB9 loc_1FDB9: ; CODE XREF: GETKEY+AFj FDB9 ; GETKEY+B3j FDB9 LDA #$10 FDBB loc_1FDBB: ; CODE XREF: GETKEY+8Ej FDBB ; GETKEY+95j GETKEY+A8j FDBB ; GETKEY+B7j FDBB BIT $215 FDBE BVC loc_1FDC3 FDC0 CLC FDC1 ADC #$C0 ; 'À' FDC3 loc_1FDC3: ; CODE XREF: GETKEY+9Cj FDC3 ; GETKEY+A0j GETKEY+BEj FDC3 CLC FDC4 ADC $213 FDC7 AND #$7F FDC9 BIT $215 FDCC BPL loc_1FDD0 FDCE ORA #$80 FDD0 loc_1FDD0: ; CODE XREF: GETKEY+70j FDD0 ; GETKEY+74j GETKEY+CCj FDD0 STA $215 FDD3 loc_1FDD3: ; CODE XREF: FB43j FDD3 PLA FDD4 TAY FDD5 PLA FDD6 TAX FDD7 LDA $215 FDDA RTS FDDB loc_1FDDB: ; CODE XREF: SWAP+7j FDDB JSR BUMP FDDE INC $E4 FDE0 BNE SWAP FDE2 INC $E5 FDE4 SWAP: ; CODE XREF: SCREEN+100p FDE4 ; FDE0j FDE4 LDA ($FE),Y FDE6 STA ($E4),Y FDE8 JSR NOTEND FDEB BCC loc_1FDDB FDED RTS FDEE sub_1FDEE: ; CODE XREF: SCREEN+62p FDEE ; SCREEN+6Ep SCREEN+7Ap FDEE ; SCREEN+7Fp SCREEN+C8p FDEE CLC FDEF LDA #$40 ; '@' FDF1 ADC $228,X FDF4 STA $228,X FDF7 LDA #0 FDF9 ADC $229,X FDFC STA $229,X FDFF RTS FE00 NEWMON: ; CODE XREF: FF2Bj FE00 LDX #$28 ; '(' FE02 TXS FE03 CLD FE04 JSR RSACIA FE07 JSR sub_1FE40 FE0A NOP FE0B NOP FE0C MENTRY: FE0C JSR SCNCLR FE0F STA $201 FE12 STY $FE FE14 STY $FF FE16 JMP MSTART FE19 sub_1FE19: ; CODE XREF: FB0Dp FE19 LDX $22F FE1C BEQ loc_1FE22 FE1E DEC $22F FE21 RTS FE22 loc_1FE22: ; CODE XREF: sub_1FE19+3j FE22 LDX $222 FE25 STX $22F FE28 sub_1FE28: ; CODE XREF: SCREEN+68p FE28 ; FB01p FE28 SEC FE29 LDA $231 FE2C SBC #$40 ; '@' FE2E STA $231 FE31 LDA $232 FE34 SBC #0 FE36 CMP #$CF ; 'Ï' FE38 BNE loc_1FE3C FE3A LDA #$D7 ; '×' FE3C loc_1FE3C: ; CODE XREF: sub_1FE28+10j FE3C STA $232 FE3F RTS FE40 sub_1FE40: ; CODE XREF: FE07p FF07p FE40 LDY #$1C FE42 loc_1FE42: ; CODE XREF: sub_1FE40+9j FE42 LDA $FBB2,Y FE45 STA $218,Y FE48 DEY FE49 BPL loc_1FE42 FE4B LDY #7 FE4D LDA #0 FE4F STA $212 FE52 loc_1FE52: ; CODE XREF: sub_1FE40+16j FE52 STA $1FF,Y FE55 DEY FE56 BNE loc_1FE52 FE58 RTS FE59 SCNCLR: ; CODE XREF: SCREEN+A2p FE59 ; FE0Cp FF0Ap FE59 LDY #0 FE5B STY $F9 FE5D LDA #$D0 ; 'Ð' FE5F STA $FA FE61 LDX #8 FE63 LDA #$20 ; ' ' FE65 loc_1FE65: ; CODE XREF: SCNCLR+Fj FE65 ; SCNCLR+14j FE65 STA ($F9),Y FE67 INY FE68 BNE loc_1FE65 FE6A INC $FA FE6C DEX FE6D BNE loc_1FE65 FE6F RTS FE70 SETLOD: FE70 PHA FE71 DEC $203 FE74 LDA #0 FE76 loc_1FE76: ; CODE XREF: FE7Ej FE76 STA $205 FE79 PLA FE7A RTS FE7B SETSAV: FE7B PHA FE7C LDA #1 FE7E BNE loc_1FE76 FE80 MCACIA: ; CODE XREF: GETCHR+2j FE80 JSR TAPIN FE83 AND #$7F FE85 RTS FE86 sub_1FE86: ; CODE XREF: GETKEY+1Fp FE86 ; GETKEY+33p FE86 LDY #8 FE88 loc_1FE88: ; CODE XREF: sub_1FE86+4j FE88 DEY FE89 ASL A FE8A BCC loc_1FE88 FE8C RTS FE8D GETNEW: ; CODE XREF: SCREEN+123p FE8D ; SCREEN+152p TWOQADp FE8D ; sub_1F9B1p F9BAp sub_1F9C0+3p FE8D ; sub_1F9C6+22p FE8D ; sub_1F9C6+74p FE8D JSR GETCHR FE90 JMP OUTVEC FE93 ASCHEX: ; CODE XREF: sub_1F9C6+8p FE93 CMP #$30 ; '0' FE95 BMI loc_1FEA9 FE97 CMP #$3A ; ':' FE99 BMI loc_1FEA6 FE9B CMP #$41 ; 'A' FE9D BMI loc_1FEA9 FE9F CMP #$47 ; 'G' FEA1 BPL loc_1FEA9 FEA3 SEC FEA4 SBC #7 FEA6 loc_1FEA6: ; CODE XREF: ASCHEX+6j FEA6 AND #$F FEA8 RTS FEA9 loc_1FEA9: ; CODE XREF: ASCHEX+2j FEA9 ; ASCHEX+Aj ASCHEX+Ej FEA9 LDA #$80 ; '€' FEAB RTS FEAC ADVTOD: FEAC JSR QDDATD FEAF NOP FEB0 NOP FEB1 JSR SPCOUT FEB4 BNE PRTDATD FEB6 QDDATD: ; CODE XREF: SCREEN+DCp FEB6 ; sub_1F9C6+6Bp FEB6 ; FEACp sub_1FFE3+5j FEB6 LDX #3 FEB8 JSR sub_1FEBF FEBB DEX FEBC unk_1FEBC:.BYTE $2C ; , FEBD PRTDATD: ; CODE XREF: FEB4j PRBYTE+4j FEBD LDX #0 FEBF sub_1FEBF: ; CODE XREF: QDDATD+2p FEBF LDA $FC,X FEC1 LSR A FEC2 LSR A FEC3 LSR A FEC4 LSR A FEC5 JSR HEXOUT FEC8 LDA $FC,X FECA HEXOUT: ; CODE XREF: sub_1FEBF+6p FECA AND #$F FECC ORA #$30 FECE CMP #$3A ; ':' FED0 BMI loc_1FED5 FED2 CLC FED3 ADC #7 FED5 loc_1FED5: ; CODE XREF: HEXOUT+6j FED5 JMP OUTVEC FED8 NOP FED9 NOP FEDA ROLSTR: ; CODE XREF: sub_1F9C6+Dj FEDA LDY #4 FEDC ASL A FEDD ASL A FEDE ASL A FEDF ASL A FEE0 loc_1FEE0: ; CODE XREF: FEE6j FEE0 ROL A FEE1 ROL $F9,X FEE3 ROL $FA,X FEE5 DEY FEE6 BNE loc_1FEE0 FEE8 RTS FEE9 GETCHR: ; CODE XREF: sub_1F9C6+BEp FEE9 ; GETNEWp FEE9 LDA $FB FEEB BNE MCACIA FEED JMP GETKEY FEF0 PRBYTE: ; CODE XREF: SCREEN+ECp FEF0 ; sub_1F9C6+1Cp FEF0 ; sub_1F9C6+D1p FEF0 LDA ($FE),Y FEF2 STA $FC FEF4 JMP PRTDATD FEF7 sub_1FEF7: ; CODE XREF: sub_1F9C6+71p FEF7 STA ($FE),Y FEF9 BUMP: ; CODE XREF: SCREEN+F4p FEF9 ; sub_1F9C6+30p FEF9 ; sub_1F9C6+55p FEF9 ; sub_1F9C6+CEp FEF9 ; FDDBp FEF9 INC $FE FEFB BNE locret_1FEFF FEFD INC $FF FEFF locret_1FEFF: ; CODE XREF: BUMP+2j FEFF RTS FF00 RESET: ; CODE XREF: FF37j FF00 CLD FF01 LDX #$28 ; '(' FF03 TXS FF04 JSR RSACIA FF07 JSR sub_1FE40 FF0A JSR SCNCLR FF0D JSR CURHOM FF10 loc_1FF10: ; CODE XREF: FF19j FF10 LDA $FCEA,Y FF13 JSR OUTVEC FF16 INY FF17 CPY #$16 FF19 BNE loc_1FF10 FF1B JSR INVEC FF1E AND #$DF FF20 CMP #$44 ; 'D' FF22 BNE loc_1FF27 FF24 JMP DISK FF27 loc_1FF27: ; CODE XREF: FF22j FF27 CMP #$4D ; 'M' FF29 BNE loc_1FF2E FF2B JMP NEWMON FF2E loc_1FF2E: ; CODE XREF: FF29j FF2E CMP #$57 ; 'W' FF30 BNE loc_1FF35 FF32 JMP 0 FF35 loc_1FF35: ; CODE XREF: FF30j FF35 CMP #$43 ; 'C' FF37 BNE RESET FF39 JMP COLD_RESET FF3C .BYTE $50 ; P FF3D .BYTE $3B ; ; FF3E .BYTE $2F ; / FF3F .BYTE $20 ; FF40 .BYTE $5A ; Z FF41 .BYTE $41 ; A FF42 .BYTE $51 ; Q FF43 .BYTE $2C ; , FF44 .BYTE $4D ; M FF45 .BYTE $4E ; N FF46 .BYTE $42 ; B FF47 .BYTE $56 ; V FF48 .BYTE $43 ; C FF49 .BYTE $58 ; X FF4A .BYTE $4B ; K FF4B .BYTE $4A ; J FF4C .BYTE $48 ; H FF4D .BYTE $47 ; G FF4E .BYTE $46 ; F FF4F .BYTE $44 ; D FF50 .BYTE $53 ; S FF51 .BYTE $49 ; I FF52 .BYTE $55 ; U FF53 .BYTE $59 ; Y FF54 .BYTE $54 ; T FF55 .BYTE $52 ; R FF56 .BYTE $45 ; E FF57 .BYTE $57 ; W FF58 .BYTE 0 ; FF59 .BYTE 0 ; FF5A .BYTE $D ; FF5B .BYTE $A ; FF5C .BYTE $4F ; O FF5D .BYTE $4C ; L FF5E .BYTE $2E ; . FF5F .BYTE 0 ; FF60 .BYTE $5F ; _ FF61 .BYTE $2D ; - FF62 .BYTE $3A ; : FF63 .BYTE $30 ; 0 FF64 .BYTE $39 ; 9 FF65 .BYTE $38 ; 8 FF66 .BYTE $37 ; 7 FF67 .BYTE $36 ; 6 FF68 .BYTE $35 ; 5 FF69 .BYTE $34 ; 4 FF6A .BYTE $33 ; 3 FF6B .BYTE $32 ; 2 FF6C .BYTE $31 ; 1 FF6D sub_1FF6D: ; CODE XREF: SCREEN+3Fp FF6D JSR SCOUT FF70 sub_1FF70: ; CODE XREF: SCREEN+53p FF70 LDX #0 FF72 STX $200 FF75 sub_1FF75: ; CODE XREF: SCREEN+99p FF75 LDX $200 FF78 LDA #$BD ; '½' FF7A STA $22A FF7D JSR $22A FF80 STA $201 FF83 LDA #$9D ; '' FF85 STA $22A FF88 sub_1FF88: ; CODE XREF: F830p FF88 LDA #$5F ; '_' FF8A BNE sub_1FF8F FF8C SCOUT: ; CODE XREF: SCREEN+20p FF8C ; SCREEN+47p SCREEN+56p FF8C ; sub_1FF6Dp FF8C LDA $201 FF8F sub_1FF8F: ; CODE XREF: F80Fp SCREEN+ACp FF8F ; sub_1FF88+2j FF8F LDX $200 FF92 JMP $22A FF95 OLDSCR: FF95 JSR sub_1BF2D FF98 JMP loc_1FF9E FF9B OUTPUT: FF9B JSR SCREEN FF9E loc_1FF9E: ; CODE XREF: FF98j FF9E PHA FF9F LDA $205 FFA2 BEQ loc_1FFBB FFA4 PLA FFA5 JSR TAPOUT FFA8 CMP #$D FFAA BNE locret_1FFBC FFAC TENULL: ; CODE XREF: sub_1F9C6+EEp FFAC PHA FFAD TXA FFAE PHA FFAF LDX #$A FFB1 LDA #0 FFB3 loc_1FFB3: ; CODE XREF: TENULL+Bj FFB3 JSR TAPOUT FFB6 DEX FFB7 BNE loc_1FFB3 FFB9 PLA FFBA TAX FFBB loc_1FFBB: ; CODE XREF: FFA2j FFBB PLA FFBC locret_1FFBC: ; CODE XREF: FFAAj FFBC RTS FFBD TRIQAD: ; CODE XREF: SCREEN+FDp FFBD ; sub_1F9C6+B8p FFBD JSR TWOQAD FFC0 JSR sub_1FBE0 FFC3 LDX #3 FFC5 JSR sub_1F9B1 FFC8 LDA $FC FFCA LDX $FD FFCC STA $E4 FFCE STX $E5 FFD0 RTS FFD1 CURHOM: ; CODE XREF: F82Ap SCREEN+23p FFD1 ; SCREEN+6Bp SCREEN+AFp FFD1 ; SCREEN+CEp FF0Dp FFD1 LDX #2 FFD3 loc_1FFD3: ; CODE XREF: CURHOM+Cj FFD3 LDA $222,X FFD6 STA $227,X FFD9 STA $22A,X FFDC DEX FFDD BNE loc_1FFD3 FFDF RTS FFE0 byte_1FFE0:.BYTE $4D ; DATA XREF: sub_1BF2D+35r FFE0 ; sub_1BF2D+4Cr FFE0 ; sub_1BFD8r FFE1 byte_1FFE1:.BYTE $2F ; DATA XREF: sub_1BF2D+31r FFE1 ; sub_1BF2D+64r FFE2 byte_1FFE2:.BYTE 1 ; DATA XREF: sub_1BFC2+6r FFE2 ; sub_1BFDE+6r FFE3 sub_1FFE3: ; CODE XREF: sub_1F9C6+C4p FFE3 ; sub_1F9C6+E6p FFE3 LDA #$2E ; '.' FFE5 JSR OUTVEC FFE8 JMP QDDATD FFEB INVEC: ; CODE XREF: sub_1A386p FFEB ; FF1Bp FFEB JMP ($218) FFEE OUTVEC: ; CODE XREF: sub_1A8E5+15p FFEE ; SCREEN+142p sub_1F9C6+19p FFEE ; sub_1F9C6+52p FFEE ; sub_1F9C6+C1p FFEE ; sub_1F9C6+C9p FFEE ; sub_1F9C6+EBp FFEE ; FBE8j CRLF+2p CRLF+7j FFEE ; GETNEW+3j HEXOUT+Bj FFEE ; FF13p sub_1FFE3+2p FFEE JMP ($21A) FFF1 CCVEC: ; CODE XREF: j_CCVECj FFF1 JMP ($21C) FFF4 LDVEC: FFF4 JMP ($21E) FFF7 FFF7: ; CODE XREF: sub_1F9C6+BBp FFF7 JMP ($220) FFFA .BYTE $37 ; 7 FFFB .BYTE 2 ; FFFC .BYTE 0 ; FFFD .BYTE $FF ; ÿ FFFE .BYTE $35 ; 5 FFFF .BYTE 2 ; FFFF ; end of 'seg000' FFFF .END