REM > CUBEMOS/S REM Source for EuroCUBE-65/EuroBEEB MOS OS_CLI=&FFF7:OSBYTE=&FFF4:OSWORD=&FFF1:OSWRCH=&FFEE OSWRCR=&FFEC:OSNEWL=&FFE7:OSASCI=&FFE3:OSRDCH=&FFE0 load%=&C000 DIM mcode% &4014 FOR P=0 TO 1 P%=load%:O%=mcode% [OPT P*3+4 \ &6F - used by MOS code at &E000 \ \ Workspace locations that differ from BBC MOS \ &0247 (OSBYTE &B7) - b7=1 - no serial commands, *SERIAL not selected \ &0248 (OSBYTE &B8) - b7=C000 ROM absent \ &024F (OSBYTE &BF) - 6551 ACIA Command register copy \ &0250 (OSBYTE &C0) - 6551 ACIA Control register copy \ &0283 (OSBYTE &F3) - high byte of RAM-based sideways ROM program \ &0284 (OSBYTE &F4) - b7=CU-Key absent \ &0287 (OSBYTE &F7) \ &0289 (OSBYTE &F9) - Processor speed, MHz \ &02A0 ROM flag for ROM -1 - the MOS ROM at &E000 \ &02B7 - b7=CUBAN-12B absent \ &02B9 - b7=CUNAB-8 absent \ &0328 - b7=CU-Graph absent \ &0329 - b7=Rack Print absent .LC000:JMP LC0B0 :\ Language entry .LC003:JMP LC043 :\ Service entry EQUB &C2 :\ Service, Language, 6502 code .LC007 EQUB LC028-LC000 :\ Offset to (C) EQUB &00 :\ Binary version number EQUS "CU-Graph" :\ Title EQUB &00 EQUS "Issue X4.16 23 MAY 86" :\ Version string .LC028 EQUB &00 :\ Copyright message EQUS "(C) Control Universal Ltd" EQUB &00 \ SERVICE HANDLER \ =============== .LC043 CMP #&03:BEQ LC056 :\ Jump with Boot FS CMP #&09:BEQ LC06B :\ Jump with *Help JSR LC128 :\ Check some service calls BIT &0284:BMI LC06A :\ If OSBYTE &F4 b7 set, jump to exit JMP LCD0C :\ Jump to... \ SERVICE 3 - BOOT FS \ =================== \ Check various things and set some flags .LC056 JSR LC175:ROR &0328 :\ Find if CU-Graph present, copy result to &0328 flag JSR LCD32:ROR &0284 :\ Find if CU-Key present, copy result to OSBYTE &F4 flag JSR LCCB9:ROR &0329 :\ Find if Rack Print present, copy result to &0329 flag LDA #&03 :\ Return unclaimed .LC06A RTS \ SERVICE 9 - *Help \ ================= .LC06B LDA (&F2),Y :\ Get current character CMP #&0D:BNE LC0AD :\ Not at , jump to exit with nothing printed BIT &0328:BMI LC084 :\ If VDU flag set, don't print CU-graph JSR LFFB3 :\ Print inline text .LC079 EQUB 13:EQUS "CU-graph":EQUB 13 NOP .LC084 BIT &0284:BMI LC098 :\ If OSBYTE &F4 flag set, don't print CU-key JSR LFFB3 :\ Print inline text EQUB 13:EQUS "CU-key 99":EQUB 13 NOP .LC098 BIT &0329:BMI LC0AD :\ If VDU flag set, don't print Rack JSR LFFB3 :\ Print inline text EQUB 13:EQUS "Rack Print":EQUB 13 NOP .LC0AD LDA #&09:RTS :\ Return unclaimed \ LANGUAGE STARTUP \ ================ .LC0B0 LDA #&01:STA &0245 :\ Set non-raw serial input LDA #&00:STA &027C :\ Set output to VDU, etc LDA #&7F:STA LFE0E :\ Disable all VIA interupts LDA #&09:STA LFE12 :\ Set ACIA Command Register :\ Enable Rx, RxIRQs, disable TxIRQs, no echo, no parity LDA LFE01:AND #&0F :\ Read from port A CMP #&0E:BCC LC0CF :\ If <14, jump to use it LDA #&0E :\ Replace 15 (19,200) with 14 (9,600) .LC0CF ORA #&10:STA LFE13 :\ Set 6551 ACIA Control Register :\ Set baud rate, external clock, 8bit, 1stop LDA #&0C:STA &0300 LDA #&04:STA &0301 LDA &028F:JSR LC6A8 :\ Get startup options, select screen mode JSR LFFB3 :\ Print inline text EQUB 15:EQUB 12 EQUS "CU-graph Graphic Terminal":EQUB 13:EQUB 13 NOP .LC105 JSR OSRDCH:JSR OSWRCH :\ Read character, print it JMP LC105 :\ Loop back .LC10E TSB &00 :\ C10E= 07 00 .. BRK :\ C110= 00 . BRK :\ C111= 00 . SED :\ C112= F8 x ORA (&00),Y :\ C113= 11 00 .. BVS LC117 :\ C115= 70 00 p. .LC117 BRK :\ C117= 00 . BRK :\ C118= 00 . BRK :\ C119= 00 . BRK :\ C11A= 00 . ORA (&00),Y :\ C11B= 11 00 .. BVS LC11F :\ C11D= 70 00 p. .LC11F BRK :\ C11F= 00 . BRK :\ C120= 00 . BRK :\ C121= 00 . BRK :\ C122= 00 . BRK :\ C123= 00 . BRK :\ C124= 00 . BRK :\ C125= 00 . BRK :\ C126= 00 . BBS 7,&2C,&C152 :\ C127= FF .LC128 C128 2C 28 03 ,(. BIT &0328 Check a flag C12B 30 15 0. BMI &C142 Exit if b7 set C12D C9 05 É. CMP #&05 C12F F0 23 ð# BEQ &C154 Jump with Interrupts PHA :\ C131= 48 H LDA &027C :\ C132= AD 7C 02 -|. AND #&02 :\ C135= 29 02 ). BNE LC143 :\ C137= D0 0A P. PLA :\ C139= 68 h CMP #&07:BEQ LC145 :\ Jump with OSBYTE CMP #&08:BEQ LC151 :\ Jump with OSWORD .LC142 RTS :\ C142= 60 ` .LC143 PLA :\ C143= 68 h RTS :\ C144= 60 ` OSBYTE ====== .LC145 LDX &F0 :\ C145= A6 F0 &p LDA &EF :\ C147= A5 EF %o JSR LCB8C :\ C149= 20 8C CB .K STX &F0 :\ C14C= 86 F0 .p LDA #&00 :\ C14E= A9 00 ). RTS :\ C150= 60 ` \ OSWORD \ ====== .LC151 JMP LCC58 :\ C151= 4C 58 CC LXL .LC154 LDA LDF00 :\ C154= AD 00 DF -._ AND &032A :\ C157= 2D 2A 03 -*. BEQ LC172 :\ C15A= F0 16 p. JSR LC16C :\ C15C= 20 6C C1 lA CLI :\ C15F= 58 X JSR LC915 :\ C160= 20 15 C9 .I SEI :\ C163= 78 x .LC164 LDA #&20 :\ C164= A9 20 ) STA &032A :\ C166= 8D 2A 03 .*. LDA #&00 :\ C169= A9 00 ). RTS :\ C16B= 60 ` .LC16C LDA #&00 :\ C16C= A9 00 ). STA &032A :\ C16E= 8D 2A 03 .*. RTS :\ C171= 60 ` .LC172 LDA #&05 :\ C172= A9 05 ). RTS :\ C174= 60 ` .LC175 LDA LDF02 :\ C175= AD 02 DF -._ AND #&F0 :\ C178= 29 F0 )p BNE LC1AB :\ C17A= D0 2F P/ JSR LC164 :\ C17C= 20 64 C1 dA LDA &D0 :\ C17F= A5 D0 %P AND #&04 :\ C181= 29 04 ). LDX &028D :\ C183= AE 8D 02 ... BEQ LC192 :\ C186= F0 0A p. LDA &028E :\ C188= AD 8E 02 -.. SBC #&14 :\ C18B= E9 14 i. STA &0300 :\ C18D= 8D 00 03 ... LDA #&04 :\ C190= A9 04 ). .LC192 STA &D0 :\ C192= 85 D0 .P LDA #&0C :\ C194= A9 0C ). STA &0301 :\ C196= 8D 01 03 ... LDA &028F :\ C199= AD 8F 02 -.. JSR LC6A8 :\ C19C= 20 A8 C6 (F CLC :\ C19F= 18 . .LC1A0 LDA #&B2 :\ C1A0= A9 B2 )2 STA &0226 :\ C1A2= 8D 26 02 .&. LDA #&C1 :\ C1A5= A9 C1 )A STA &0227 :\ C1A7= 8D 27 02 .'. RTS :\ C1AA= 60 ` .LC1AB LDA #&00 :\ C1AB= A9 00 ). STA &D0 :\ C1AD= 85 D0 .P SEC :\ C1AF= 38 8 BCS LC1A0 :\ C1B0= B0 EE 0n PHP :\ C1B2= 08 . CLD :\ C1B3= D8 X PHA :\ C1B4= 48 H STA &D2 :\ C1B5= 85 D2 .R LDA #&02 :\ C1B7= A9 02 ). BIT &027C :\ C1B9= 2C 7C 02 ,|. BNE LC1C5 :\ C1BC= D0 07 P. LDA &D2 :\ C1BE= A5 D2 %R JSR LC229 :\ C1C0= 20 29 C2 )B BCS LC1E9 :\ C1C3= B0 24 0$ .LC1C5 LDA #&08 :\ C1C5= A9 08 ). BIT &027C :\ C1C7= 2C 7C 02 ,|. BVS LC1E9 :\ C1CA= 70 1D p. BNE LC1D3 :\ C1CC= D0 05 P. LDA &D0 :\ C1CE= A5 D0 %P LSR A :\ C1D0= 4A J BCC LC1E9 :\ C1D1= 90 16 .. .LC1D3 LDA &D2 :\ C1D3= A5 D2 %R CMP &0286 :\ C1D5= CD 86 02 M.. BEQ LC1E9 :\ C1D8= F0 0F p. CMP #&20 :\ C1DA= C9 20 I BCS LC1E6 :\ C1DC= B0 08 0. CMP #&07 :\ C1DE= C9 07 I. BCC LC1E9 :\ C1E0= 90 07 .. CMP #&0E :\ C1E2= C9 0E I. BCS LC1E9 :\ C1E4= B0 03 0. .LC1E6 JSR LC1EC :\ C1E6= 20 EC C1 lA .LC1E9 PLA :\ C1E9= 68 h PLP :\ C1EA= 28 ( .LC1EB RTS :\ C1EB= 60 ` .LC1EC LDA #&04 :\ C1EC= A9 04 ). BIT &027C :\ C1EE= 2C 7C 02 ,|. BNE LC1EB :\ C1F1= D0 F8 Px LDX &0285 :\ C1F3= AE 85 02 ... CPX #&04 :\ C1F6= E0 04 `. BCS LC206 :\ C1F8= B0 0C 0. LDA LC20F,X :\ C1FA= BD 0F C2 =.B PHA :\ C1FD= 48 H LDA LC20B,X :\ C1FE= BD 0B C2 =.B PHA :\ C201= 48 H LDA &D2 :\ C202= A5 D2 %R PHP :\ C204= 08 . RTI :\ C205= 40 @ .LC206 LDA &D2 :\ C206= A5 D2 %R JMP (&0222) :\ C208= 6C 22 02 l". .LC20B EQUB &EB :\ C20B= EB k JSR LEE13 :\ C20C= 20 13 EE .n .LC20F CMP (&C2,X) :\ C20F= C1 C2 AB EQUB &C2 :\ C211= C2 B CPY &7CAD :\ C212= CC AD 7C L-| EQUB &02 :\ C215= 02 . LSR A :\ C216= 4A J BCS LC228 :\ C217= B0 0F 0. LDX #&02 :\ C219= A2 02 ". LDA &D2 :\ C21B= A5 D2 %R JMP LFFB0 :\ C21D= 4C B0 FF L0. .LC220 BIT LDF13 :\ C220= 2C 13 DF ,._ BMI LC220 :\ C223= 30 FB 0{ STA LDF13 :\ C225= 8D 13 DF .._ .LC228 RTS :\ C228= 60 ` .LC229 STA &D2 :\ C229= 85 D2 .R CLC :\ C22B= 18 . LDA &027C :\ C22C= AD 7C 02 -|. AND #&02 :\ C22F= 29 02 ). BNE LC228 :\ C231= D0 F5 Pu LDX &026A :\ C233= AE 6A 02 .j. BEQ LC239 :\ C236= F0 01 p. SEC :\ C238= 38 8 .LC239 PHP :\ C239= 08 . CLD :\ C23A= D8 X LDA &D2 :\ C23B= A5 D2 %R BCC LC269 :\ C23D= 90 2A .* STA &0330,X :\ C23F= 9D 30 03 .0. JMP LC31C :\ C242= 4C 1C C3 L.C .LC245 LDX #&0B :\ C245= A2 0B ". LDA &0313 :\ C247= AD 13 03 -.. BNE LC251 :\ C24A= D0 05 P. LDY #&81 :\ C24C= A0 81 . JSR LC7C0 :\ C24E= 20 C0 C7 @G .LC251 LDY &0310 :\ C251= AC 10 03 ,.. JSR LC7C0 :\ C254= 20 C0 C7 @G JSR LC8E3 :\ C257= 20 E3 C8 cH LDA #&20 :\ C25A= A9 20 ) STA LDF00 :\ C25C= 8D 00 DF .._ JSR LC9EE :\ C25F= 20 EE C9 nI JMP LC2CA :\ C262= 4C CA C2 LJB .LC265 LDA #&0D :\ C265= A9 0D ). BNE LC2A9 :\ C267= D0 40 P@ .LC269 CMP #&06 :\ C269= C9 06 I. BEQ LC271 :\ C26B= F0 04 p. BIT &D0 :\ C26D= 24 D0 $P BMI LC2CD :\ C26F= 30 5C 0\ .LC271 LDA &D2 :\ C271= A5 D2 %R CMP #&20 :\ C273= C9 20 I BCC LC2F3 :\ C275= 90 7C .| BIT &0328 :\ C277= 2C 28 03 ,(. BMI LC2CD :\ C27A= 30 51 0Q CMP #&7F :\ C27C= C9 7F I. BCS LC2D1 :\ C27E= B0 51 0Q .LC280 STA &D3 :\ C280= 85 D3 .S LDA &D0 :\ C282= A5 D0 %P AND #&20 :\ C284= 29 20 ) BNE LC245 :\ C286= D0 BD P= LDA &0309 :\ C288= AD 09 03 -.. AND #&70 :\ C28B= 29 70 )p EOR #&70 :\ C28D= 49 70 Ip EOR &0308 :\ C28F= 4D 08 03 M.. STA &DB :\ C292= 85 DB .[ JSR LC4C3 :\ C294= 20 C3 C4 CD BNE LC2B2 :\ C297= D0 19 P. JSR LC16C :\ C299= 20 6C C1 lA LDA &D2 :\ C29C= A5 D2 %R CMP #&20 :\ C29E= C9 20 I BEQ LC265 :\ C2A0= F0 C3 pC LDY &D8 :\ C2A2= A4 D8 $X JSR LC909 :\ C2A4= 20 09 C9 .I LDA &D2 :\ C2A7= A5 D2 %R .LC2A9 LDY &D8 :\ C2A9= A4 D8 $X STA (&D4),Y :\ C2AB= 91 D4 .T INY :\ C2AD= C8 H LDA &DB :\ C2AE= A5 DB %[ STA (&D4),Y :\ C2B0= 91 D4 .T .LC2B2 JSR LC7B7 :\ C2B2= 20 B7 C7 7G BCS LC2C7 :\ C2B5= B0 10 0. LDY #&81 :\ C2B7= A0 81 . JSR LC81A :\ C2B9= 20 1A C8 .H LDY &0309 :\ C2BC= AC 09 03 ,.. JSR LC81A :\ C2BF= 20 1A C8 .H LDY &DB :\ C2C2= A4 DB $[ JSR LC7C0 :\ C2C4= 20 C0 C7 @G .LC2C7 JSR LC47A :\ C2C7= 20 7A C4 zD .LC2CA JSR LC164 :\ C2CA= 20 64 C1 dA .LC2CD PLP :\ C2CD= 28 ( LDA &D2 :\ C2CE= A5 D2 %R RTS :\ C2D0= 60 ` .LC2D1 BNE LC2DF :\ C2D1= D0 0C P. LDA &D0 :\ C2D3= A5 D0 %P AND #&20 :\ C2D5= 29 20 ) BNE LC2DF :\ C2D7= D0 06 P. JSR LC3F2 :\ C2D9= 20 F2 C3 rC JMP LC2CA :\ C2DC= 4C CA C2 LJB .LC2DF CMP #&81 :\ C2DF= C9 81 I. BEQ LC2EF :\ C2E1= F0 0C p. CMP #&83 :\ C2E3= C9 83 I. BCC LC280 :\ C2E5= 90 99 .. CMP #&E0 :\ C2E7= C9 E0 I` BCS LC280 :\ C2E9= B0 95 0. LDA #&7F :\ C2EB= A9 7F ). BNE LC280 :\ C2ED= D0 91 P. .LC2EF LDA #&0A :\ C2EF= A9 0A ). BNE LC280 :\ C2F1= D0 8D P. .LC2F3 TAY :\ C2F3= A8 ( LDA LC36B,Y :\ C2F4= B9 6B C3 9kC BEQ LC2CD :\ C2F7= F0 D4 pT BPL LC301 :\ C2F9= 10 06 .. LDA &D0 :\ C2FB= A5 D0 %P AND #&20 :\ C2FD= 29 20 ) BNE LC2CD :\ C2FF= D0 CC PL .LC301 LDA LC36B,Y :\ C301= B9 6B C3 9kC BIT &0328 :\ C304= 2C 28 03 ,(. BPL LC30D :\ C307= 10 04 .. ROL A :\ C309= 2A * BPL LC2CD :\ C30A= 10 C1 .A ROR A :\ C30C= 6A j .LC30D AND #&0F :\ C30D= 29 0F ). TAX :\ C30F= AA * LDA LC32B,Y :\ C310= B9 2B C3 9+C STA &032F :\ C313= 8D 2F 03 ./. LDA LC34B,Y :\ C316= B9 4B C3 9KC STA &0330 :\ C319= 8D 30 03 .0. .LC31C DEX :\ C31C= CA J STX &026A :\ C31D= 8E 6A 02 .j. BNE LC325 :\ C320= D0 03 P. JSR LC328 :\ C322= 20 28 C3 (C .LC325 JMP LC2CA :\ C325= 4C CA C2 LJB .LC328 JMP (&032F) :\ C328= 6C 2F 03 l/. .LC32B EQUB &63 :\ C32B= 63 c CPX &5946 :\ C32C= EC 46 59 lFY EOR (&3E),Y :\ C32F= 51 3E Q> EOR &2B72,X :\ C331= 5D 72 2B ]r+ EQUB &77 :\ C334= 77 w LDX &5B :\ C335= A6 5B &[ EQUB &8B :\ C337= 8B . CLC :\ C338= 18 . EQUB &42 :\ C339= 42 B EOR &1E,X :\ C33A= 55 1E U. SBC (&C2),Y :\ C33C= F1 C2 qB STZ &BB :\ C33E= 64 BB d; LSR A :\ C340= 4A J LDA &02 :\ C341= A5 02 %. EQUB &63 :\ C343= 63 c ROL &6312 :\ C344= 2E 12 63 ..c EQUB &63 :\ C347= 63 c EQUB &03 :\ C348= 03 . AND LC556,Y :\ C349= 39 56 C5 9VE CMP (&C5,X) :\ C34C= C1 C5 AE CMP &C5 :\ C34E= C5 C5 EE CMP &C5 :\ C350= C5 C5 EE CPY &C4 :\ C352= C7 C4 GD CPY &C4 :\ C354= C4 C4 DD CPY &C3 :\ C356= C4 C3 DC CPY &C5 :\ C358= C4 C5 DE CMP &C6 :\ C35A= C5 C6 EF CMP &C5 :\ C35C= C5 C5 EE CMP &C5 :\ C35E= C5 C5 EE CMP &C6 :\ C360= C5 C6 EF CMP &C5 :\ C362= C5 C5 EE DEX :\ C364= CA J DEC &C5 :\ C365= C6 C5 FE CMP &C6 :\ C367= C5 C6 EF DEC &C6 :\ C369= C6 C6 FF .LC36B BRK :\ C36B= 00 . EQUB &42 :\ C36C= 42 B EOR (&41,X) :\ C36D= 41 41 AA ORA (&01,X) :\ C36F= 01 01 .. ORA (&01,X) :\ C371= 01 01 .. STA (&81,X) :\ C373= 81 81 .. STA (&81,X) :\ C375= 81 81 .. ORA (&81,X) :\ C377= 01 81 .. STA (&81,X) :\ C379= 81 81 .. ORA (&02,X) :\ C37B= 01 02 .. EQUB &03 :\ C37D= 03 . EQUB &03 :\ C37E= 03 . EQUB &03 :\ C37F= 03 . ORA (&02,X) :\ C380= 01 02 .. ASL A :\ C382= 0A . BRK :\ C383= 00 . ASL &02 :\ C384= 06 02 .. BRK :\ C386= 00 . BRK :\ C387= 00 . ORA &81 :\ C388= 05 81 .. EQUB &83 :\ C38A= 83 . .LC38B LDX #&03 :\ C38B= A2 03 ". STX LDF01 :\ C38D= 8E 01 DF .._ LDA &0325 :\ C390= AD 25 03 -%. .LC393 STA &0303,X :\ C393= 9D 03 03 ... LDA #&00 :\ C396= A9 00 ). DEX :\ C398= CA J BPL LC393 :\ C399= 10 F8 .x STX &031B :\ C39B= 8E 1B 03 ... STA &D8 :\ C39E= 85 D8 .X STA &DA :\ C3A0= 85 DA .Z LDX #&03 :\ C3A2= A2 03 ". JSR LC3C6 :\ C3A4= 20 C6 C3 FC JSR LC9E3 :\ C3A7= 20 E3 C9 cI JSR LC3B3 :\ C3AA= 20 B3 C3 3C JSR LC551 :\ C3AD= 20 51 C5 QE JMP LC798 :\ C3B0= 4C 98 C7 L.G .LC3B3 JSR LC4C3 :\ C3B3= 20 C3 C4 CD BNE LC3C5 :\ C3B6= D0 0D P. LDX &0321 :\ C3B8= AE 21 03 .!. DEX :\ C3BB= CA J .LC3BC JSR LC3E4 :\ C3BC= 20 E4 C3 dC JSR LC9CA :\ C3BF= 20 CA C9 JI DEX :\ C3C2= CA J BPL LC3BC :\ C3C3= 10 F7 .w .LC3C5 RTS :\ C3C5= 60 ` .LC3C6 LDY #&81 :\ C3C6= A0 81 . JSR LC8F5 :\ C3C8= 20 F5 C8 uH LDA #&04 :\ C3CB= A9 04 ). STA LDF00 :\ C3CD= 8D 00 DF .._ LDY &0306,X :\ C3D0= BC 06 03 <.. JSR LC5FD :\ C3D3= 20 FD C5 }E BEQ LC3E3 :\ C3D6= F0 0B p. JSR LCA26 :\ C3D8= 20 26 CA &J JSR LC8F5 :\ C3DB= 20 F5 C8 uH LDA #&0C :\ C3DE= A9 0C ). STA LDF00 :\ C3E0= 8D 00 DF .._ .LC3E3 RTS :\ C3E3= 60 ` .LC3E4 LDY #&00 :\ C3E4= A0 00 . .LC3E6 LDA #&0D :\ C3E6= A9 0D ). STA (&D4),Y :\ C3E8= 91 D4 .T INY :\ C3EA= C8 H INY :\ C3EB= C8 H CPY &0320 :\ C3EC= CC 20 03 L . BCC LC3E6 :\ C3EF= 90 F5 .u RTS :\ C3F1= 60 ` .LC3F2 JSR LC42B :\ C3F2= 20 2B C4 +D LDY #&81 :\ C3F5= A0 81 . JSR LC81A :\ C3F7= 20 1A C8 .H LDY &0309 :\ C3FA= AC 09 03 ,.. JSR LC81A :\ C3FD= 20 1A C8 .H JSR LC4C3 :\ C400= 20 C3 C4 CD BNE LC415 :\ C403= D0 10 P. LDY &D8 :\ C405= A4 D8 $X INY :\ C407= C8 H INY :\ C408= C8 H LDA (&D4),Y :\ C409= B1 D4 1T CMP #&0D :\ C40B= C9 0D I. BEQ LC411 :\ C40D= F0 02 p. LDA #&20 :\ C40F= A9 20 ) .LC411 LDY &D8 :\ C411= A4 D8 $X STA (&D4),Y :\ C413= 91 D4 .T .LC415 JMP LC798 :\ C415= 4C 98 C7 L.G JSR LC798 :\ C418= 20 98 C7 .G .LC41B LDY #&00 :\ C41B= A0 00 . STY &D8 :\ C41D= 84 D8 .X STY &0303 :\ C41F= 8C 03 03 ... STY &0304 :\ C422= 8C 04 03 ... JSR LC798 :\ C425= 20 98 C7 .G JMP LCBE5 :\ C428= 4C E5 CB LeK .LC42B JSR LC798 :\ C42B= 20 98 C7 .G LDY &D8 :\ C42E= A4 D8 $X BEQ LC447 :\ C430= F0 15 p. DEY :\ C432= 88 . DEY :\ C433= 88 . STY &D8 :\ C434= 84 D8 .X SEC :\ C436= 38 8 LDA &0304 :\ C437= AD 04 03 -.. SBC &0322 :\ C43A= ED 22 03 m". STA &0304 :\ C43D= 8D 04 03 ... BCS LC465 :\ C440= B0 23 0# DEC &0303 :\ C442= CE 03 03 N.. BCC LC465 :\ C445= 90 1E .. .LC447 LDA &DA :\ C447= A5 DA %Z BEQ LC465 :\ C449= F0 1A p. JSR LC468 :\ C44B= 20 68 C4 hD .LC44E LDA (&D4),Y :\ C44E= B1 D4 1T CMP #&0D :\ C450= C9 0D I. BEQ LC465 :\ C452= F0 11 p. JSR LC48B :\ C454= 20 8B C4 .D BCC LC44E :\ C457= 90 F5 .u BCS LC465 :\ C459= B0 0A 0. LDA &DA :\ C45B= A5 DA %Z BEQ LC4A5 :\ C45D= F0 46 pF JSR LC798 :\ C45F= 20 98 C7 .G JSR LC468 :\ C462= 20 68 C4 hD .LC465 JMP LC798 :\ C465= 4C 98 C7 L.G .LC468 DEC &DA :\ C468= C6 DA FZ CLC :\ C46A= 18 . LDA &0306 :\ C46B= AD 06 03 -.. ADC &0323 :\ C46E= 6D 23 03 m#. STA &0306 :\ C471= 8D 06 03 ... JMP LC9A3 :\ C474= 4C A3 C9 L#I JSR LC798 :\ C477= 20 98 C7 .G .LC47A JSR LC48B :\ C47A= 20 8B C4 .D BCC LC4C0 :\ C47D= 90 41 .A LDY #&00 :\ C47F= A0 00 . STY &D8 :\ C481= 84 D8 .X STY &0303 :\ C483= 8C 03 03 ... STY &0304 :\ C486= 8C 04 03 ... BEQ LC4A9 :\ C489= F0 1E p. .LC48B LDY &D8 :\ C48B= A4 D8 $X INY :\ C48D= C8 H INY :\ C48E= C8 H CPY &0320 :\ C48F= CC 20 03 L . BCS LC4A5 :\ C492= B0 11 0. STY &D8 :\ C494= 84 D8 .X LDA &0304 :\ C496= AD 04 03 -.. ADC &0322 :\ C499= 6D 22 03 m". STA &0304 :\ C49C= 8D 04 03 ... BCC LC4A5 :\ C49F= 90 04 .. INC &0303 :\ C4A1= EE 03 03 n.. CLC :\ C4A4= 18 . .LC4A5 RTS :\ C4A5= 60 ` JSR LC798 :\ C4A6= 20 98 C7 .G .LC4A9 JSR LC9CA :\ C4A9= 20 CA C9 JI LDX &DA :\ C4AC= A6 DA &Z INX :\ C4AE= E8 h CPX &0321 :\ C4AF= EC 21 03 l!. BCS LC4C8 :\ C4B2= B0 14 0. STX &DA :\ C4B4= 86 DA .Z SEC :\ C4B6= 38 8 LDA &0306 :\ C4B7= AD 06 03 -.. SBC &0323 :\ C4BA= ED 23 03 m#. STA &0306 :\ C4BD= 8D 06 03 ... .LC4C0 JMP LC798 :\ C4C0= 4C 98 C7 L.G .LC4C3 LDA &D0 :\ C4C3= A5 D0 %P AND #&04 :\ C4C5= 29 04 ). RTS :\ C4C7= 60 ` .LC4C8 JSR LC4C3 :\ C4C8= 20 C3 C4 CD BEQ LC4DA :\ C4CB= F0 0D p. .LC4CD LDA #&79 :\ C4CD= A9 79 )y LDX #&80 :\ C4CF= A2 80 ". JSR OSBYTE :\ C4D1= 20 F4 FF t. TXA :\ C4D4= 8A . BPL LC4CD :\ C4D5= 10 F6 .v JMP LC38B :\ C4D7= 4C 8B C3 L.C .LC4DA JSR LC3E4 :\ C4DA= 20 E4 C3 dC LDA &032E :\ C4DD= AD 2E 03 -.. BEQ LC4E5 :\ C4E0= F0 03 p. DEC &032E :\ C4E2= CE 2E 03 N.. .LC4E5 LDA #&00 :\ C4E5= A9 00 ). LDX #&03 :\ C4E7= A2 03 ". .LC4E9 STA &0318,X :\ C4E9= 9D 18 03 ... DEX :\ C4EC= CA J BPL LC4E9 :\ C4ED= 10 FA .z STA &D9 :\ C4EF= 85 D9 .Y LDA &D4 :\ C4F1= A5 D4 %T STA &D6 :\ C4F3= 85 D6 .V LDA &D5 :\ C4F5= A5 D5 %U STA &D7 :\ C4F7= 85 D7 .W LDA #&23 :\ C4F9= A9 23 )# STA LDF01 :\ C4FB= 8D 01 DF .._ LDA LDF00 :\ C4FE= AD 00 DF -._ RTS :\ C501= 60 ` LDA &0339 :\ C502= AD 39 03 -9. CMP #&E0 :\ C505= C9 E0 I` BCC LC524 :\ C507= 90 1B .. ASL A :\ C509= 0A . ASL A :\ C50A= 0A . ASL A :\ C50B= 0A . TAY :\ C50C= A8 ( LDA &0301 :\ C50D= AD 01 03 -.. STA &DC :\ C510= 85 DC .\ LDX #&00 :\ C512= A2 00 ". STX &DB :\ C514= 86 DB .[ .LC516 LDA &0331,X :\ C516= BD 31 03 =1. ASL A :\ C519= 0A . ASL A :\ C51A= 0A . STA (&DB),Y :\ C51B= 91 DB .[ INY :\ C51D= C8 H INX :\ C51E= E8 h CPX #&08 :\ C51F= E0 08 `. BNE LC516 :\ C521= D0 F3 Ps RTS :\ C523= 60 ` .LC524 LDA &0338 :\ C524= AD 38 03 -8. BEQ LC537 :\ C527= F0 0E p. LDA &D0 :\ C529= A5 D0 %P AND #&10 :\ C52B= 29 10 ). BEQ LC550 :\ C52D= F0 21 p! LDA #&EF :\ C52F= A9 EF )o JSR LC55F :\ C531= 20 5F C5 _E JMP LC798 :\ C534= 4C 98 C7 L.G .LC537 JSR LC798 :\ C537= 20 98 C7 .G LDA #&10 :\ C53A= A9 10 ). BNE LC54C :\ C53C= D0 0E P. .LC53E LDA #&20 :\ C53E= A9 20 ) BNE LC54C :\ C540= D0 0A P. LDA #&04 :\ C542= A9 04 ). BNE LC54C :\ C544= D0 06 P. LDA #&01 :\ C546= A9 01 ). BNE LC54C :\ C548= D0 02 P. LDA #&80 :\ C54A= A9 80 ). .LC54C ORA &D0 :\ C54C= 05 D0 .P STA &D0 :\ C54E= 85 D0 .P .LC550 RTS :\ C550= 60 ` .LC551 LDA #&DF :\ C551= A9 DF )_ BNE LC55F :\ C553= D0 0A P. LDA #&FB :\ C555= A9 FB ){ BNE LC55F :\ C557= D0 06 P. LDA #&FE :\ C559= A9 FE )~ BNE LC55F :\ C55B= D0 02 P. LDA #&7F :\ C55D= A9 7F ). .LC55F AND &D0 :\ C55F= 25 D0 %P STA &D0 :\ C561= 85 D0 .P RTS :\ C563= 60 ` JSR LC551 :\ C564= 20 51 C5 QE LDX #&03 :\ C567= A2 03 ". .LC569 LDA &0331 :\ C569= AD 31 03 -1. CMP #&04 :\ C56C= C9 04 I. BCS LC580 :\ C56E= B0 10 0. ASL A :\ C570= 0A . ASL A :\ C571= 0A . STA &0331 :\ C572= 8D 31 03 .1. LDA &0307,X :\ C575= BD 07 03 =.. AND #&03 :\ C578= 29 03 ). ORA &0331 :\ C57A= 0D 31 03 .1. STA &0307,X :\ C57D= 9D 07 03 ... .LC580 LDA &0332 :\ C580= AD 32 03 -2. STA &0304,X :\ C583= 9D 04 03 ... CPX #&03 :\ C586= E0 03 `. BNE LC5BA :\ C588= D0 30 P0 PHA :\ C58A= 48 H AND #&0F :\ C58B= 29 0F ). BNE LC591 :\ C58D= D0 02 P. LDA #&10 :\ C58F= A9 10 ). .LC591 LDX #&08 :\ C591= A2 08 ". JSR LC746 :\ C593= 20 46 C7 FG STA &0323 :\ C596= 8D 23 03 .#. PLA :\ C599= 68 h LSR A :\ C59A= 4A J LSR A :\ C59B= 4A J LSR A :\ C59C= 4A J LSR A :\ C59D= 4A J BNE LC5A2 :\ C59E= D0 02 P. LDA #&10 :\ C5A0= A9 10 ). .LC5A2 PHA :\ C5A2= 48 H LDX #&06 :\ C5A3= A2 06 ". JSR LC746 :\ C5A5= 20 46 C7 FG STA &0322 :\ C5A8= 8D 22 03 .". JSR LC798 :\ C5AB= 20 98 C7 .G PLA :\ C5AE= 68 h LDX #&04 :\ C5AF= A2 04 ". JSR LC746 :\ C5B1= 20 46 C7 FG STA &0324 :\ C5B4= 8D 24 03 .$. JSR LC798 :\ C5B7= 20 98 C7 .G .LC5BA RTS :\ C5BA= 60 ` JSR LC53E :\ C5BB= 20 3E C5 >E LDX #&0B :\ C5BE= A2 0B ". BNE LC569 :\ C5C0= D0 A7 P' LDX #&0B :\ C5C2= A2 0B ". LDY &0332 :\ C5C4= AC 32 03 ,2. LDA &0331 :\ C5C7= AD 31 03 -1. BMI LC5D1 :\ C5CA= 30 05 0. STY &0313 :\ C5CC= 8C 13 03 ... BPL LC5D2 :\ C5CF= 10 01 .. .LC5D1 INX :\ C5D1= E8 h .LC5D2 CPY #&04 :\ C5D2= C0 04 @. BCC LC5DA :\ C5D4= 90 04 .. LDY #&03 :\ C5D6= A0 03 . LDA #&07 :\ C5D8= A9 07 ). .LC5DA ASL A :\ C5DA= 0A . ASL A :\ C5DB= 0A . ASL A :\ C5DC= 0A . ASL A :\ C5DD= 0A . AND #&70 :\ C5DE= 29 70 )p ORA LC5ED,Y :\ C5E0= 19 ED C5 .mE DEY :\ C5E3= 88 . DEY :\ C5E4= 88 . BEQ LC5E9 :\ C5E5= F0 02 p. EOR #&70 :\ C5E7= 49 70 Ip .LC5E9 STA &0305,X :\ C5E9= 9D 05 03 ... RTS :\ C5EC= 60 ` .LC5ED BRK :\ C5ED= 00 . BRA LC5F1 :\ C5EE= 80 01 .. BRK :\ C5F0= 00 . .LC5F1 LDX #&03 :\ C5F1= A2 03 ". LDY #&00 :\ C5F3= A0 00 . LDA &0331 :\ C5F5= AD 31 03 -1. BPL LC5DA :\ C5F8= 10 E0 .` INX :\ C5FA= E8 h BNE LC5DA :\ C5FB= D0 DD P] .LC5FD TYA :\ C5FD= 98 . AND #&70 :\ C5FE= 29 70 )p CMP #&70 :\ C600= C9 70 Ip RTS :\ C602= 60 ` LDX #&03 :\ C603= A2 03 ". LDY #&00 :\ C605= A0 00 . .LC607 LDA &0331,X :\ C607= BD 31 03 =1. STA &0314,Y :\ C60A= 99 14 03 ... INY :\ C60D= C8 H DEX :\ C60E= CA J BPL LC607 :\ C60F= 10 F6 .v RTS :\ C611= 60 ` LDA &0331 :\ C612= AD 31 03 -1. AND #&07 :\ C615= 29 07 ). STA &0302 :\ C617= 8D 02 03 ... STA LDF10 :\ C61A= 8D 10 DF .._ RTS :\ C61D= 60 ` LDX #&03 :\ C61E= A2 03 ". STX LDF01 :\ C620= 8E 01 DF .._ LDA #&00 :\ C623= A9 00 ). .LC625 STA &030B,X :\ C625= 9D 0B 03 ... DEX :\ C628= CA J BPL LC625 :\ C629= 10 FA .z STX &031B :\ C62B= 8E 1B 03 ... JSR LC3B3 :\ C62E= 20 B3 C3 3C LDX #&0B :\ C631= A2 0B ". JSR LC3C6 :\ C633= 20 C6 C3 FC JMP LC798 :\ C636= 4C 98 C7 L.G JSR LC798 :\ C639= 20 98 C7 .G LDA &DA :\ C63C= A5 DA %Z BEQ LC647 :\ C63E= F0 07 p. .LC640 JSR LC9A3 :\ C640= 20 A3 C9 #I DEC &DA :\ C643= C6 DA FZ BNE LC640 :\ C645= D0 F9 Py .LC647 LDA &0325 :\ C647= AD 25 03 -%. STA &0306 :\ C64A= 8D 06 03 ... JMP LC41B :\ C64D= 4C 1B C4 L.D .LC650 STX &0332 :\ C650= 8E 32 03 .2. STY &0331 :\ C653= 8C 31 03 .1. JSR LC798 :\ C656= 20 98 C7 .G LDY &0326 :\ C659= AC 26 03 ,&. CLC :\ C65C= 18 . LDA &0321 :\ C65D= AD 21 03 -!. SBC &0331 :\ C660= ED 31 03 m1. BCC LC68A :\ C663= 90 25 .% LDX LC6F8,X :\ C665= BE F8 C6 >xF JSR LC746 :\ C668= 20 46 C7 FG STA &0306 :\ C66B= 8D 06 03 ... STX &0305 :\ C66E= 8E 05 03 ... .LC671 LDA &0331 :\ C671= AD 31 03 -1. CMP &DA :\ C674= C5 DA EZ BEQ LC68A :\ C676= F0 12 p. BCC LC682 :\ C678= 90 08 .. JSR LC9CA :\ C67A= 20 CA C9 JI INC &DA :\ C67D= E6 DA fZ JMP LC671 :\ C67F= 4C 71 C6 LqF .LC682 JSR LC9A3 :\ C682= 20 A3 C9 #I DEC &DA :\ C685= C6 DA FZ JMP LC671 :\ C687= 4C 71 C6 LqF .LC68A LDA &0332 :\ C68A= AD 32 03 -2. ASL A :\ C68D= 0A . CMP &0320 :\ C68E= CD 20 03 M . BCS LC6A2 :\ C691= B0 0F 0. STA &D8 :\ C693= 85 D8 .X LSR A :\ C695= 4A J LDX LC6F7,X :\ C696= BE F7 C6 >wF JSR LC746 :\ C699= 20 46 C7 FG STA &0304 :\ C69C= 8D 04 03 ... STX &0303 :\ C69F= 8E 03 03 ... .LC6A2 JMP LC798 :\ C6A2= 4C 98 C7 L.G .LC645 LDA &0331 .LC6A8 AND #&07 .LC6AA CMP #&07:BCC LC6B0 :\ If mode<7, jump past LDA #&06 :\ Replace MODE 7 with MODE 6 .LC6B0 STA &0327:JSR LC73D :\ Store new MODE, ... STX &0326:LDY #&19 .LC6BB LDA LC10E,Y:STA &0302,Y :\ Copy data to VDU workspace DEY:BPL LC6BB :\ Loop to copy 26 bytes LDA LC6F0,X:STA &0307 :\ LDY #&00 .LC6CC INX:LDA LC6F0,X STA &031C,Y:INY CPY #&0A:BNE LC6CC LDX #&02 .LC6DA CLC:LDA &031D,X ADC &0300:STA &031D,X DEX:DEX:BPL LC6DA LDA #&EF:JSR LC55F :\ Clear b4 of VDU flag JMP LC38B .LC6F0 ORA (&00),Y :\ C6F0= 11 00 .. BRK :\ C6F2= 00 . RTS :\ C6F3= 60 ` EQUB &13 :\ C6F4= 13 . LDY #&20 :\ C6F5= A0 20 .LC6F7 ASL &08 :\ C6F7= 06 08 .. TSB &F8 :\ C6F9= 04 F8 .x AND (&00,X) :\ C6FB= 21 00 !. BRK :\ C6FD= 00 . BCS LC709 :\ C6FE= B0 09 0. BVC LC722 :\ C700= 50 20 P TSB &0808 :\ C702= 0C 08 08 ... SED :\ C705= F8 x EOR (&00,X) :\ C706= 41 00 A. BRK :\ C708= 00 . .LC709 CLD :\ C709= D8 X TSB &28 :\ C70A= 04 28 .( JSR &0818 :\ C70C= 20 18 08 .. BPL LC709 :\ C70F= 10 F8 .x ORA (&00),Y :\ C711= 11 00 .. BRK :\ C713= 00 . BRK :\ C714= 00 . BBR 0,&A0,&C731 :\ C715= 0F A0 19 . . ASL &0A :\ C718= 06 0A .. TSB &F0 :\ C71A= 04 F0 .p EQUB &42 :\ C71C= 42 B BRK :\ C71D= 00 . BRK :\ C71E= 00 . CLI :\ C71F= 58 X EQUB &02 :\ C720= 02 . PLP :\ C721= 28 ( .LC722 BPL LC73C :\ C722= 10 18 .. BPL LC736 :\ C724= 10 10 .. BEQ LC6AA :\ C726= F0 82 p. BRK :\ C728= 00 . BRK :\ C729= 00 . BIT &1401 :\ C72A= 2C 01 14 ,.. BPL LC75F :\ C72D= 10 30 .0 BPL LC751 :\ C72F= 10 20 . BEQ LC754 :\ C731= F0 21 p! BRK :\ C733= 00 . BRK :\ C734= 00 . BRA LC73E :\ C735= 80 07 .. BVC LC752 :\ C737= 50 19 P. TSB &080A :\ C739= 0C 0A 08 ... .LC73C BEQ LC767 :\ C73C= F0 29 p) .LC73E TSB &A2 :\ C73E= 07 A2 ." ASL A :\ C740= 0B . JSR LC746 :\ C741= 20 46 C7 FG TAX :\ C744= AA * RTS :\ C745= 60 ` .LC746 STA &DB :\ C746= 85 DB .[ STX &DF :\ C748= 86 DF ._ LDA #&00 :\ C74A= A9 00 ). STA &DC :\ C74C= 85 DC .\ STA &DD :\ C74E= 85 DD .] STA &DE :\ C750= 85 DE .^ .LC752 BEQ LC758 :\ C752= F0 04 p. .LC754 ASL &DB :\ C754= 06 DB .[ ROL &DC :\ C756= 26 DC &\ .LC758 LSR &DF :\ C758= 46 DF F_ BCC LC76B :\ C75A= 90 0F .. CLC :\ C75C= 18 . LDA &DB :\ C75D= A5 DB %[ .LC75F ADC &DD :\ C75F= 65 DD e] STA &DD :\ C761= 85 DD .] LDA &DC :\ C763= A5 DC %\ ADC &DE :\ C765= 65 DE e^ .LC767 STA &DE :\ C767= 85 DE .^ LDA &DF :\ C769= A5 DF %_ .LC76B BNE LC754 :\ C76B= D0 E7 Pg LDA &DD :\ C76D= A5 DD %] LDX &DE :\ C76F= A6 DE &^ RTS :\ C771= 60 ` .LC772 JSR LCA26 :\ C772= 20 26 CA &J PHP :\ C775= 08 . CLI :\ C776= 58 X LDA #&06 :\ C777= A9 06 ). STA &032F :\ C779= 8D 2F 03 ./. .LC77C LDY #&00 :\ C77C= A0 00 . .LC77E LDX #&80 :\ C77E= A2 80 ". .LC780 DEX :\ C780= CA J BNE LC780 :\ C781= D0 FD P} LDA &0302 :\ C783= AD 02 03 -.. EOR #&08 :\ C786= 49 08 I. STA LDF10 :\ C788= 8D 10 DF .._ STA &0302 :\ C78B= 8D 02 03 ... DEY :\ C78E= 88 . BNE LC77E :\ C78F= D0 ED Pm DEC &032F :\ C791= CE 2F 03 N/. BNE LC77C :\ C794= D0 E6 Pf PLP :\ C796= 28 ( RTS :\ C797= 60 ` .LC798 JSR LC16C :\ C798= 20 6C C1 lA JSR LC7B7 :\ C79B= 20 B7 C7 7G BCS LC7B6 :\ C79E= B0 16 0. .LC7A0 LDA &D0 :\ C7A0= A5 D0 %P AND #&10 :\ C7A2= 29 10 ). BNE LC7B6 :\ C7A4= D0 10 P. LDY #&00 :\ C7A6= A0 00 . .LC7A8 JSR LC8E3 :\ C7A8= 20 E3 C8 cH LDA &0324 :\ C7AB= AD 24 03 -$. STA LDF05 :\ C7AE= 8D 05 DF .._ LDA #&10 :\ C7B1= A9 10 ). .LC7B3 STA LDF00 :\ C7B3= 8D 00 DF .._ .LC7B6 RTS :\ C7B6= 60 ` .LC7B7 LDX #&03 :\ C7B7= A2 03 ". LDA &0306 :\ C7B9= AD 06 03 -.. CMP &031B :\ C7BC= CD 1B 03 M.. RTS :\ C7BF= 60 ` .LC7C0 LDA &D3 :\ C7C0= A5 D3 %S CMP #&80 :\ C7C2= C9 80 I. BEQ LC81A :\ C7C4= F0 54 pT CMP #&82 :\ C7C6= C9 82 I. BEQ LC7A8 :\ C7C8= F0 DE p^ JSR LC8E3 :\ C7CA= 20 E3 C8 cH LDA &D3 :\ C7CD= A5 D3 %S CMP #&E0 :\ C7CF= C9 E0 I` BCC LC7B3 :\ C7D1= 90 E0 .` ASL A :\ C7D3= 0A . ASL A :\ C7D4= 0A . ASL A :\ C7D5= 0A . TAY :\ C7D6= A8 ( LDA &0304,X :\ C7D7= BD 04 03 =.. PHA :\ C7DA= 48 H AND #&0F :\ C7DB= 29 0F ). BNE LC7E1 :\ C7DD= D0 02 P. LDA #&10 :\ C7DF= A9 10 ). .LC7E1 STA &DF :\ C7E1= 85 DF ._ PLA :\ C7E3= 68 h LSR A :\ C7E4= 4A J LSR A :\ C7E5= 4A J LSR A :\ C7E6= 4A J LSR A :\ C7E7= 4A J BNE LC7EC :\ C7E8= D0 02 P. LDA #&10 :\ C7EA= A9 10 ). .LC7EC STA &DE :\ C7EC= 85 DE .^ TXA :\ C7EE= 8A . PHA :\ C7EF= 48 H LDX #&3B :\ C7F0= A2 3B "; JSR LC9EE :\ C7F2= 20 EE C9 nI LDA #&00 :\ C7F5= A9 00 ). STA &DB :\ C7F7= 85 DB .[ LDA &0301 :\ C7F9= AD 01 03 -.. STA &DC :\ C7FC= 85 DC .\ LDA #&08 :\ C7FE= A9 08 ). STA &DD :\ C800= 85 DD .] .LC802 JSR LCA0A :\ C802= 20 0A CA .J LDA (&DB),Y :\ C805= B1 DB 1[ JSR LC87E :\ C807= 20 7E C8 ~H CLC :\ C80A= 18 . LDA &DF :\ C80B= A5 DF %_ ADC &033E :\ C80D= 6D 3E 03 m>. STA &033E :\ C810= 8D 3E 03 .>. INY :\ C813= C8 H DEC &DD :\ C814= C6 DD F] BNE LC802 :\ C816= D0 EA Pj BEQ LC878 :\ C818= F0 5E p^ .LC81A JSR LC5FD :\ C81A= 20 FD C5 }E BEQ LC7B6 :\ C81D= F0 97 p. JSR LC8E3 :\ C81F= 20 E3 C8 cH LDA #&0A :\ C822= A9 0A ). STA LDF00 :\ C824= 8D 00 DF .._ LDA &0304,X :\ C827= BD 04 03 =.. STA &DC :\ C82A= 85 DC .\ ASL A :\ C82C= 0A . ASL A :\ C82D= 0A . ASL A :\ C82E= 0A . SEC :\ C82F= 38 8 SBC #&01 :\ C830= E9 01 i. AND #&7F :\ C832= 29 7F ). STA LDF05 :\ C834= 8D 05 DF .._ STA LDF07 :\ C837= 8D 07 DF .._ LDA &0307,X :\ C83A= BD 07 03 =.. AND #&08 :\ C83D= 29 08 ). BEQ LC843 :\ C83F= F0 02 p. LDA #&02 :\ C841= A9 02 ). .LC843 TAY :\ C843= A8 ( LDA &0307,X :\ C844= BD 07 03 =.. AND #&04 :\ C847= 29 04 ). BNE LC84E :\ C849= D0 03 P. STA LDF05,Y :\ C84B= 99 05 DF .._ .LC84E TXA :\ C84E= 8A . PHA :\ C84F= 48 H LDX #&3B :\ C850= A2 3B "; JSR LC9EE :\ C852= 20 EE C9 nI .LC855 TYA :\ C855= 98 . TAX :\ C856= AA * LDA &033C,X :\ C857= BD 3C 03 =<. BNE LC85F :\ C85A= D0 03 P. DEC &033B,X :\ C85C= DE 3B 03 ^;. .LC85F DEC &033C,X :\ C85F= DE 3C 03 ^<. LDX #&3B :\ C862= A2 3B "; JSR LCA0A :\ C864= 20 0A CA .J LDA LC87B,Y :\ C867= B9 7B C8 9{H STA LDF00 :\ C86A= 8D 00 DF .._ LDA &DC :\ C86D= A5 DC %\ SEC :\ C86F= 38 8 SBC #&10 :\ C870= E9 10 i. STA &DC :\ C872= 85 DC .\ CMP #&10 :\ C874= C9 10 I. BCS LC855 :\ C876= B0 DD 0] .LC878 PLA :\ C878= 68 h TAX :\ C879= AA * RTS :\ C87A= 60 ` .LC87B ORA (&00),Y :\ C87B= 11 00 .. EQUB &13 :\ C87D= 13 . .LC87E STA &E0 :\ C87E= 85 E0 .` .LC880 LDA #&00 :\ C880= A9 00 ). STA LDF05 :\ C882= 8D 05 DF .._ .LC885 ASL &E0 :\ C885= 06 E0 .` BCS LC8A6 :\ C887= B0 1D 0. LDA LDF05 :\ C889= AD 05 DF -._ BEQ LC891 :\ C88C= F0 03 p. JSR LC8B1 :\ C88E= 20 B1 C8 1H .LC891 LDA &E0 :\ C891= A5 E0 %` BNE LC896 :\ C893= D0 01 P. RTS :\ C895= 60 ` .LC896 CLC :\ C896= 18 . LDA LDF09 :\ C897= AD 09 DF -._ ADC &DE :\ C89A= 65 DE e^ STA LDF09 :\ C89C= 8D 09 DF .._ BCC LC880 :\ C89F= 90 DF ._ INC LDF08 :\ C8A1= EE 08 DF n._ BCS LC880 :\ C8A4= B0 DA 0Z .LC8A6 CLC :\ C8A6= 18 . LDA LDF05 :\ C8A7= AD 05 DF -._ ADC &DE :\ C8AA= 65 DE e^ STA LDF05 :\ C8AC= 8D 05 DF .._ BNE LC885 :\ C8AF= D0 D4 PT .LC8B1 LDA &DF :\ C8B1= A5 DF %_ STA &033F :\ C8B3= 8D 3F 03 .?. JSR LCA26 :\ C8B6= 20 26 CA &J LDA LDF0B :\ C8B9= AD 0B DF -._ PHA :\ C8BC= 48 H .LC8BD LDA #&10 :\ C8BD= A9 10 ). STA LDF00 :\ C8BF= 8D 00 DF .._ JSR LCA26 :\ C8C2= 20 26 CA &J DEC &033F :\ C8C5= CE 3F 03 N?. BEQ LC8DE :\ C8C8= F0 14 p. INC LDF0B :\ C8CA= EE 0B DF n._ SEC :\ C8CD= 38 8 LDA LDF09 :\ C8CE= AD 09 DF -._ SBC LDF05 :\ C8D1= ED 05 DF m._ STA LDF09 :\ C8D4= 8D 09 DF .._ BCS LC8BD :\ C8D7= B0 E4 0d DEC LDF08 :\ C8D9= CE 08 DF N._ BCC LC8BD :\ C8DC= 90 DF ._ .LC8DE PLA :\ C8DE= 68 h STA LDF0B :\ C8DF= 8D 0B DF .._ RTS :\ C8E2= 60 ` .LC8E3 JSR LC16C :\ C8E3= 20 6C C1 lA JSR LCA0A :\ C8E6= 20 0A CA .J LDA &0307,X :\ C8E9= BD 07 03 =.. STA LDF02 :\ C8EC= 8D 02 DF .._ LDA &0304,X :\ C8EF= BD 04 03 =.. STA LDF03 :\ C8F2= 8D 03 DF .._ .LC8F5 TYA :\ C8F5= 98 . AND #&01 :\ C8F6= 29 01 ). STA LDF00 :\ C8F8= 8D 00 DF .._ TYA :\ C8FB= 98 . AND #&F0 :\ C8FC= 29 F0 )p ORA &0302 :\ C8FE= 0D 02 03 ... STA LDF10 :\ C901= 8D 10 DF .._ RTS :\ C904= 60 ` .LC905 LDA #&20 :\ C905= A9 20 ) STA (&D4),Y :\ C907= 91 D4 .T .LC909 TYA :\ C909= 98 . BEQ LC914 :\ C90A= F0 08 p. DEY :\ C90C= 88 . DEY :\ C90D= 88 . LDA (&D4),Y :\ C90E= B1 D4 1T CMP #&0D :\ C910= C9 0D I. BEQ LC905 :\ C912= F0 F1 pq .LC914 RTS :\ C914= 60 ` .LC915 CLD :\ C915= D8 X LDX &0327 :\ C916= AE 27 03 .'. LDA LC998,X :\ C919= BD 98 C9 =.I STA &D1 :\ C91C= 85 D1 .Q LDA &031B :\ C91E= AD 1B 03 -.. BNE LC92D :\ C921= D0 0A P. LSR &D1 :\ C923= 46 D1 FQ LDX #&03 :\ C925= A2 03 ". JSR LC3C6 :\ C927= 20 C6 C3 FC JSR LC7A0 :\ C92A= 20 A0 C7 G .LC92D LDX #&18 :\ C92D= A2 18 ". JSR LCA0A :\ C92F= 20 0A CA .J LDY &D9 :\ C932= A4 D9 $Y .LC934 LDA (&D6),Y :\ C934= B1 D6 1V BMI LC98C :\ C936= 30 54 0T CMP #&20 :\ C938= C9 20 I BCC LC990 :\ C93A= 90 54 .T TAX :\ C93C= AA * .LC93D INY :\ C93D= C8 H .LC93E LDA LDF00 :\ C93E= AD 00 DF -._ AND #&04 :\ C941= 29 04 ). BEQ LC93E :\ C943= F0 F9 py LDA (&D6),Y :\ C945= B1 D6 1V AND #&70 :\ C947= 29 70 )p ORA &0302 :\ C949= 0D 02 03 ... STA LDF10 :\ C94C= 8D 10 DF .._ STX LDF00 :\ C94F= 8E 00 DF .._ INY :\ C952= C8 H CPY &0320 :\ C953= CC 20 03 L . BCC LC934 :\ C956= 90 DC .\ .LC958 JSR LCA26 :\ C958= 20 26 CA &J LDA LDF0B :\ C95B= AD 0B DF -._ CMP &0325 :\ C95E= CD 25 03 M%. BCS LC981 :\ C961= B0 1E 0. ADC &0323 :\ C963= 6D 23 03 m#. BCS LC981 :\ C966= B0 19 0. STA LDF0B :\ C968= 8D 0B DF .._ JSR LC99F :\ C96B= 20 9F C9 .I LDY #&00 :\ C96E= A0 00 . STY LDF08 :\ C970= 8C 08 DF .._ STY LDF09 :\ C973= 8C 09 DF .._ DEC &D1 :\ C976= C6 D1 FQ BNE LC934 :\ C978= D0 BA P: STY &D9 :\ C97A= 84 D9 .Y LDX #&18 :\ C97C= A2 18 ". JMP LC9EE :\ C97E= 4C EE C9 LnI .LC981 LDA #&FF :\ C981= A9 FF ). STA &031B :\ C983= 8D 1B 03 ... LDA #&03 :\ C986= A9 03 ). STA LDF01 :\ C988= 8D 01 DF .._ RTS :\ C98B= 60 ` .LC98C LDX #&7F :\ C98C= A2 7F ". BNE LC93D :\ C98E= D0 AD P- .LC990 LDX #&0A :\ C990= A2 0A ". CMP #&0D :\ C992= C9 0D I. BNE LC93D :\ C994= D0 A7 P' BEQ LC958 :\ C996= F0 C0 p@ .LC998 LDY #&50 :\ C998= A0 50 P PLP :\ C99A= 28 ( LDY #&14 :\ C99B= A0 14 . ASL A :\ C99D= 0A . BVC LC942 :\ C99E= 50 A2 P" EQUB &02 :\ C9A0= 02 . BNE LC9A5 :\ C9A1= D0 02 P. .LC9A3 LDX #&00 :\ C9A3= A2 00 ". .LC9A5 SEC :\ C9A5= 38 8 LDA &031C :\ C9A6= AD 1C 03 -.. SBC &D4,X :\ C9A9= F5 D4 uT LDA &031D :\ C9AB= AD 1D 03 -.. SBC &D5,X :\ C9AE= F5 D5 uU BCS LC9BF :\ C9B0= B0 0D 0. SEC :\ C9B2= 38 8 LDA &D4,X :\ C9B3= B5 D4 5T SBC &0320 :\ C9B5= ED 20 03 m . STA &D4,X :\ C9B8= 95 D4 .T BCS LC9BE :\ C9BA= B0 02 0. DEC &D5,X :\ C9BC= D6 D5 VU .LC9BE RTS :\ C9BE= 60 ` .LC9BF LDA &031E :\ C9BF= AD 1E 03 -.. STA &D4,X :\ C9C2= 95 D4 .T LDA &031F :\ C9C4= AD 1F 03 -.. STA &D5,X :\ C9C7= 95 D5 .U RTS :\ C9C9= 60 ` .LC9CA SEC :\ C9CA= 38 8 LDA &D4 :\ C9CB= A5 D4 %T SBC &031E :\ C9CD= ED 1E 03 m.. LDA &D5 :\ C9D0= A5 D5 %U SBC &031F :\ C9D2= ED 1F 03 m.. BCS LC9E3 :\ C9D5= B0 0C 0. LDA &0320 :\ C9D7= AD 20 03 - . ADC &D4 :\ C9DA= 65 D4 eT STA &D4 :\ C9DC= 85 D4 .T BCC LC9E2 :\ C9DE= 90 02 .. INC &D5 :\ C9E0= E6 D5 fU .LC9E2 RTS :\ C9E2= 60 ` .LC9E3 LDA &031C :\ C9E3= AD 1C 03 -.. STA &D4 :\ C9E6= 85 D4 .T LDA &031D :\ C9E8= AD 1D 03 -.. STA &D5 :\ C9EB= 85 D5 .U RTS :\ C9ED= 60 ` .LC9EE JSR LCA26 :\ C9EE= 20 26 CA &J LDA LDF08 :\ C9F1= AD 08 DF -._ STA &0300,X :\ C9F4= 9D 00 03 ... LDA LDF09 :\ C9F7= AD 09 DF -._ STA &0301,X :\ C9FA= 9D 01 03 ... LDA LDF0A :\ C9FD= AD 0A DF -._ STA &0302,X :\ CA00= 9D 02 03 ... LDA LDF0B :\ CA03= AD 0B DF -._ STA &0303,X :\ CA06= 9D 03 03 ... RTS :\ CA09= 60 ` .LCA0A JSR LCA26 :\ CA0A= 20 26 CA &J LDA &0300,X :\ CA0D= BD 00 03 =.. STA LDF08 :\ CA10= 8D 08 DF .._ LDA &0301,X :\ CA13= BD 01 03 =.. STA LDF09 :\ CA16= 8D 09 DF .._ LDA &0302,X :\ CA19= BD 02 03 =.. STA LDF0A :\ CA1C= 8D 0A DF .._ LDA &0303,X :\ CA1F= BD 03 03 =.. STA LDF0B :\ CA22= 8D 0B DF .._ RTS :\ CA25= 60 ` .LCA26 LDA LDF00 :\ CA26= AD 00 DF -._ AND #&04 :\ CA29= 29 04 ). BEQ LCA26 :\ CA2B= F0 F9 py RTS :\ CA2D= 60 ` LDA &0333 :\ CA2E= AD 33 03 -3. STA &033B :\ CA31= 8D 3B 03 .;. LDA &0334 :\ CA34= AD 34 03 -4. STA &033C :\ CA37= 8D 3C 03 .<. LDA &0331 :\ CA3A= AD 31 03 -1. STA &033D :\ CA3D= 8D 3D 03 .=. LDA &0332 :\ CA40= AD 32 03 -2. STA &033E :\ CA43= 8D 3E 03 .>. LDA &0335 :\ CA46= AD 35 03 -5. STA &DB :\ CA49= 85 DB .[ AND #&04 :\ CA4B= 29 04 ). BNE LCA6D :\ CA4D= D0 1E P. JSR LCB5F :\ CA4F= 20 5F CB _K LDX #&02 :\ CA52= A2 02 ". .LCA54 CLC :\ CA54= 18 . LDA &030C,X :\ CA55= BD 0C 03 =.. ADC &033C,X :\ CA58= 7D 3C 03 }<. STA &033C,X :\ CA5B= 9D 3C 03 .<. LDA &030B,X :\ CA5E= BD 0B 03 =.. ADC &033B,X :\ CA61= 7D 3B 03 };. STA &033B,X :\ CA64= 9D 3B 03 .;. DEX :\ CA67= CA J DEX :\ CA68= CA J BPL LCA54 :\ CA69= 10 E9 .i BMI LCA70 :\ CA6B= 30 03 0. .LCA6D JSR LCB5C :\ CA6D= 20 5C CB \K .LCA70 LDX #&0B :\ CA70= A2 0B ". JSR LCA0A :\ CA72= 20 0A CA .J LDY #&03 :\ CA75= A0 03 . .LCA77 LDA &033B,Y :\ CA77= B9 3B 03 9;. STA &030B,Y :\ CA7A= 99 0B 03 ... DEY :\ CA7D= 88 . BPL LCA77 :\ CA7E= 10 F7 .w LDA &DB :\ CA80= A5 DB %[ AND #&03 :\ CA82= 29 03 ). BEQ LCA0A :\ CA84= F0 84 p. TAY :\ CA86= A8 ( LDA &DB :\ CA87= A5 DB %[ LSR A :\ CA89= 4A J LSR A :\ CA8A= 4A J LSR A :\ CA8B= 4A J LSR A :\ CA8C= 4A J STA LDF02 :\ CA8D= 8D 02 DF .._ LDA &0310 :\ CA90= AD 10 03 -.. DEY :\ CA93= 88 . BEQ LCAA1 :\ CA94= F0 0B p. DEY :\ CA96= 88 . BEQ LCA9F :\ CA97= F0 06 p. LDA &0311 :\ CA99= AD 11 03 -.. JMP LCAA1 :\ CA9C= 4C A1 CA L!J .LCA9F EOR #&70 :\ CA9F= 49 70 Ip .LCAA1 STA &DC :\ CAA1= 85 DC .\ TAY :\ CAA3= A8 ( JSR LC8F5 :\ CAA4= 20 F5 C8 uH LDA &DB :\ CAA7= A5 DB %[ AND #&40 :\ CAA9= 29 40 )@ BEQ LCAD8 :\ CAAB= F0 2B p+ LDX #&3B :\ CAAD= A2 3B "; JSR LCA0A :\ CAAF= 20 0A CA .J .LCAB2 LDY #&80 :\ CAB2= A0 80 . .LCAB4 LDA &0313 :\ CAB4= AD 13 03 -.. BNE LCAD4 :\ CAB7= D0 1B P. STY &DD :\ CAB9= 84 DD .] LDX #&33 :\ CABB= A2 33 "3 JSR LC9EE :\ CABD= 20 EE C9 nI LDY #&81 :\ CAC0= A0 81 . JSR LC8F5 :\ CAC2= 20 F5 C8 uH LDY &DD :\ CAC5= A4 DD $] STY LDF00 :\ CAC7= 8C 00 DF .._ JSR LCA0A :\ CACA= 20 0A CA .J LDY &DC :\ CACD= A4 DC $\ JSR LC8F5 :\ CACF= 20 F5 C8 uH LDY &DD :\ CAD2= A4 DD $] .LCAD4 STY LDF00 :\ CAD4= 8C 00 DF .._ .LCAD7 RTS :\ CAD7= 60 ` .LCAD8 CLC :\ CAD8= 18 . PHP :\ CAD9= 08 . LDY #&11 :\ CADA= A0 11 . LDX #&02 :\ CADC= A2 02 ". JSR LCA26 :\ CADE= 20 26 CA &J .LCAE1 SEC :\ CAE1= 38 8 LDA &033C,X :\ CAE2= BD 3C 03 =<. SBC LDF09,X :\ CAE5= FD 09 DF }._ STA &0330,X :\ CAE8= 9D 30 03 .0. LDA &033B,X :\ CAEB= BD 3B 03 =;. SBC LDF08,X :\ CAEE= FD 08 DF }._ AND #&0F :\ CAF1= 29 0F ). STA &032F,X :\ CAF3= 9D 2F 03 ./. AND #&08 :\ CAF6= 29 08 ). BEQ LCB12 :\ CAF8= F0 18 p. TYA :\ CAFA= 98 . ORA LCB59,X :\ CAFB= 1D 59 CB .YK TAY :\ CAFE= A8 ( SEC :\ CAFF= 38 8 LDA #&00 :\ CB00= A9 00 ). SBC &0330,X :\ CB02= FD 30 03 }0. STA &0330,X :\ CB05= 9D 30 03 .0. LDA #&00 :\ CB08= A9 00 ). SBC &032F,X :\ CB0A= FD 2F 03 }/. AND #&0F :\ CB0D= 29 0F ). STA &032F,X :\ CB0F= 9D 2F 03 ./. .LCB12 DEX :\ CB12= CA J DEX :\ CB13= CA J BPL LCAE1 :\ CB14= 10 CB .K .LCB16 LDA &032F :\ CB16= AD 2F 03 -/. ORA &0331 :\ CB19= 0D 31 03 .1. BNE LCB48 :\ CB1C= D0 2A P* LDA &0330 :\ CB1E= AD 30 03 -0. STA LDF05 :\ CB21= 8D 05 DF .._ LDA &0332 :\ CB24= AD 32 03 -2. STA LDF07 :\ CB27= 8D 07 DF .._ JSR LCAB4 :\ CB2A= 20 B4 CA 4J PLP :\ CB2D= 28 ( BCS LCB3C :\ CB2E= B0 0C 0. LDA &DB :\ CB30= A5 DB %[ AND #&08 :\ CB32= 29 08 ). BEQ LCAD7 :\ CB34= F0 A1 p! .LCB36 JSR LCA26 :\ CB36= 20 26 CA &J JMP LCAB2 :\ CB39= 4C B2 CA L2J .LCB3C LDA &0313 :\ CB3C= AD 13 03 -.. CMP #&03 :\ CB3F= C9 03 I. BCC LCAD8 :\ CB41= 90 95 .. JSR LCB36 :\ CB43= 20 36 CB 6K BNE LCAD8 :\ CB46= D0 90 P. .LCB48 LSR &032F :\ CB48= 4E 2F 03 N/. ROR &0330 :\ CB4B= 6E 30 03 n0. LSR &0331 :\ CB4E= 4E 31 03 N1. ROR &0332 :\ CB51= 6E 32 03 n2. PLP :\ CB54= 28 ( SEC :\ CB55= 38 8 PHP :\ CB56= 08 . BCS LCB16 :\ CB57= B0 BD 0= .LCB59 EQUB &02 :\ CB59= 02 . BRK :\ CB5A= 00 . EQUB &04 :\ CB5B= 04 . .LCB5C JSR LCB72 :\ 33C,X=33C,X+314,X .LCB5F LSR &033B:ROR &033C :\ 33B/C=33B/C DIV 2 LSR &033D:ROR &033E :\ 33D/E=33D/E DIV 4 LSR &033D:ROR &033E RTS .LCB72 LDX #&02 .LCB74 CLC :\ 33C/B,X = 33C/B,X + 314/5,X LDA &0314,X:ADC &033C,X:STA &033C,X LDA &0315,X:ADC &033B,X:STA &033B,X DEX:DEX:BPL LCB74:RTS \ OSBYTE, X=X parameter, Y=Y parameter (Y=0 if A<128) .LCB8C CMP #&86:BEQ LCBBB :\ OSBYTE &86 - Read POS/VPOS CMP #&87:BEQ LCBC2 :\ OSBYTE &87 - Read character/MODE CMP #&05:BEQ LCBAA :\ OSBYTE &05 - Select printer CMP #&06:BEQ LCBA9 :\ OSBYTE &06 - Printer ignore character CMP #&75:BEQ LCBB2 :\ OSBYTE &75 - Read VDU status CMP #&A0:BEQ LCBB5 :\ OSBYTE &A0 - Read VDU variable PLA:PLA:LDA #&07:RTS :\ Pop return address, return unclaimed \ OSBYTE &06 - Set printer ignore character \ ----------------------------------------- .LCBA9 INY :\ Y=1 \ OSBYTE &05 - Set printer destination \ ------------------------------------ .LCBAA TXA:LDX &0285,Y :\ Get old printer/ignore setting STA &0285,Y:RTS :\ Set new printer/ignore setting \ OSBYTE &75 - Read VDU status \ ---------------------------- .LCBB2 LDX &D0:RTS :\ Get VDU status byte and return \ OSBYTE &A0 - Read VDU variable \ ------------------------------ .LCBB5 LDY &E2,X:LDA &E1,X :\ Get Y,A from VDU variable at E1,X TAX:RTS \ OSBYTE &86 - Read POS/VPOS \ -------------------------- .LCBBB LDA &D8:LSR A:TAX :\ X=&D8 DIV 2 LDY &DA:RTS :\ Y=&DA \ OSBYTE &87 - Read character/MODE \ -------------------------------- .LCBC2 LDA #&04:BIT &D0:BNE LCBDE:\ If paged mode, jump to... TXA CMP #&8C:BCS LCBD1 CMP #&87:BCS LCBDA :\ If special read, jump to... .LCBD1 LDY &D8:LDA (&D4),Y:TAX :\ Get character from (&D4)+&D8 .LCBD6 LDY &0327:RTS :\ Get MODE to Y and return \ OSBYTE &87,&87..&8B .LCBDA BNE LCBF3:BVS LCBF3 .LCBDE JSR LC772 :\ CBDE= 20 72 C7 rG LDX #&00:BEQ LCBD6 .LCBE5 BIT &D0 :\ CBE5= 24 D0 $P BVC LCBD6 :\ CBE7= 50 ED Pm LDA &D0 :\ CBE9= A5 D0 %P AND #&BF :\ CBEB= 29 BF )? STA &D0 :\ CBED= 85 D0 .P LDX #&00 :\ CBEF= A2 00 ". STX &F0 :\ CBF1= 86 F0 .p .LCBF3 PHP :\ CBF3= 08 . SEI :\ CBF4= 78 x JSR LCBBB :\ CBF5= 20 BB CB ;K TXA :\ CBF8= 8A . PHA :\ CBF9= 48 H TYA :\ CBFA= 98 . PHA :\ CBFB= 48 H BVC LCC4A :\ CBFC= 50 4C PL LDX &032D :\ CBFE= AE 2D 03 .-. LDY &032E :\ CC01= AC 2E 03 ,.. JSR LC650 :\ CC04= 20 50 C6 PF JSR LC798 :\ CC07= 20 98 C7 .G .LCC0A LDX #&00 :\ CC0A= A2 00 ". LDA &F0 :\ CC0C= A5 F0 %p BEQ LCC3C :\ CC0E= F0 2C p, CMP #&87 :\ CC10= C9 87 I. BNE LCC1B :\ CC12= D0 07 P. LDA #&09 :\ CC14= A9 09 ). STA &F0 :\ CC16= 85 F0 .p JSR LCBD1 :\ CC18= 20 D1 CB QK .LCC1B STX &EF :\ CC1B= 86 EF .o LDA &F0 :\ CC1D= A5 F0 %p AND #&0F :\ CC1F= 29 0F ). CMP #&0A :\ CC21= C9 0A I. BNE LCC2D :\ CC23= D0 08 P. LDX &DA :\ CC25= A6 DA &Z INX :\ CC27= E8 h CPX &0321 :\ CC28= EC 21 03 l!. BCS LCC39 :\ CC2B= B0 0C 0. .LCC2D JSR LC229 :\ CC2D= 20 29 C2 )B JSR LCBBB :\ CC30= 20 BB CB ;K STX &032D :\ CC33= 8E 2D 03 .-. STY &032E :\ CC36= 8C 2E 03 ... .LCC39 JSR LC798 :\ CC39= 20 98 C7 .G .LCC3C PLA :\ CC3C= 68 h TAY :\ CC3D= A8 ( PLA :\ CC3E= 68 h TAX :\ CC3F= AA * JSR LC650 :\ CC40= 20 50 C6 PF LDX &EF :\ CC43= A6 EF &o LDY &0327 :\ CC45= AC 27 03 ,'. PLP :\ CC48= 28 ( RTS :\ CC49= 60 ` .LCC4A STX &032D :\ CC4A= 8E 2D 03 .-. STY &032E :\ CC4D= 8C 2E 03 ... LDA #&40 :\ CC50= A9 40 )@ ORA &D0 :\ CC52= 05 D0 .P STA &D0 :\ CC54= 85 D0 .P BNE LCC0A :\ CC56= D0 B2 P2 \ OSWORD \ ====== .LCC58 LDA &EF:CMP #&09:BEQ LCC61 :\ Jump with OSWORD &09 LDA #&08:RTS :\ Return unclaimed \ OSWORD &09 \ ========== .LCC61 LDY #&03:LDX #&02 :\ Point to XY+3 .LCC65 LDA (&F0),Y:STA &033B,X :\ Copy XY+3/2/1/0 to &033B+2/1/0/3 INX:TXA:AND #&03:TAX :\ X=(X+1) AND 3 DEY:BPL LCC65 :\ Loop for 4 bytes from control block JSR LCB5C :\ Add and divide stuff LDA &033B:CMP #&02:BCS LCCB5 LDA &033D:BNE LCCB5 LDX #&3B:JSR LCA0A LDA #&0F:STA LDF00 :\ Store &0F in &DF00 JSR LCA26 :\ CC8B= 20 26 CA &J LDX #&02 :\ CC8E= A2 02 ". .LCC90 LDA LDF10,X :\ CC90= BD 10 DF =._ STA &DB,X :\ CC93= 95 DB .[ DEX :\ CC95= CA J BPL LCC90 :\ CC96= 10 F8 .x LDA &033C :\ CC98= AD 3C 03 -<. AND #&07 :\ CC9B= 29 07 ). TAX :\ CC9D= AA * .LCC9E ROR &DD :\ CC9E= 66 DD f] ROL A :\ CCA0= 2A * ROR &DC :\ CCA1= 66 DC f\ ROL A :\ CCA3= 2A * ROR &DB :\ CCA4= 66 DB f[ ROL A :\ CCA6= 2A * DEX :\ CCA7= CA J BPL LCC9E :\ CCA8= 10 F4 .t AND #&07 :\ CCAA= 29 07 ). EOR #&07 :\ CCAC= 49 07 I. .LCCAE LDY #&04 :\ CCAE= A0 04 . STA (&F0),Y :\ CCB0= 91 F0 .p LDA #&00 :\ CCB2= A9 00 ). RTS :\ CCB4= 60 ` .LCCB5 LDA #&FF :\ CCB5= A9 FF ). BNE LCCAE :\ CCB7= D0 F5 Pu .LCCB9 LDX #&10 :\ CCB9= A2 10 ". JSR LCD00 :\ CCBB= 20 00 CD .M BCS LCCE5 :\ CCBE= B0 25 0% LDA #&FF :\ CCC0= A9 FF ). STA LDE12 :\ CCC2= 8D 12 DE ..^ LDA LDE1C :\ CCC5= AD 1C DE -.^ AND #&0F :\ CCC8= 29 0F ). ORA #&80 :\ CCCA= 09 80 .. STA LDE1C :\ CCCC= 8D 1C DE ..^ LDA LDE10 :\ CCCF= AD 10 DE -.^ LDA #&96 :\ CCD2= A9 96 ). STA &00E7 :\ CCD4= 8D E7 00 .g. .LCCD7 LDA LDE1D :\ CCD7= AD 1D DE -.^ AND #&10 :\ CCDA= 29 10 ). BNE LCCE7 :\ CCDC= D0 09 P. CLI :\ CCDE= 58 X SEI :\ CCDF= 78 x LDA &00E7 :\ CCE0= AD E7 00 -g. BNE LCCD7 :\ CCE3= D0 F2 Pr .LCCE5 SEC :\ CCE5= 38 8 RTS :\ CCE6= 60 ` .LCCE7 LDA #&03 :\ CCE7= A9 03 ). STA &0285 :\ CCE9= 8D 85 02 ... CLC :\ CCEC= 18 . RTS :\ CCED= 60 ` BIT &0329 :\ CCEE= 2C 29 03 ,). BMI LCCFF :\ CCF1= 30 0C 0. PHA :\ CCF3= 48 H .LCCF4 LDA LDE1D :\ CCF4= AD 1D DE -.^ AND #&10 :\ CCF7= 29 10 ). BEQ LCCF4 :\ CCF9= F0 F9 py PLA :\ CCFB= 68 h STA LDE10 :\ CCFC= 8D 10 DE ..^ .LCCFF RTS :\ CCFF= 60 ` .LCD00 LDA #&5A :\ CD00= A9 5A )Z STA LDE04,X :\ CD02= 9D 04 DE ..^ CMP LDE06,X :\ CD05= DD 06 DE ].^ BNE LCCE5 :\ CD08= D0 DB P[ CLC :\ CD0A= 18 . RTS :\ CD0B= 60 ` .LCD0C BIT &0284 :\ CD0C= 2C 84 02 ,.. BMI LCD22 :\ CD0F= 30 11 0. CMP #&05 :\ CD11= C9 05 I. BEQ LCD23 :\ CD13= F0 0E p. LDX &0241 :\ CD15= AE 41 02 .A. BEQ LCD1E :\ CD18= F0 04 p. CPX #&02 :\ CD1A= E0 02 `. BNE LCD22 :\ CD1C= D0 04 P. .LCD1E CMP #&07 :\ CD1E= C9 07 I. BEQ LCD26 :\ CD20= F0 04 p. .LCD22 RTS :\ CD22= 60 ` .LCD23 JMP LCD91 :\ CD23= 4C 91 CD L.M .LCD26 LDA &EF :\ CD26= A5 EF %o LDX &F0 :\ CD28= A6 F0 &p JSR LCFA5 :\ CD2A= 20 A5 CF %O STX &F0 :\ CD2D= 86 F0 .p LDA #&00 :\ CD2F= A9 00 ). RTS :\ CD31= 60 ` .LCD32 LDA LFE01 :\ CD32= AD 01 FE -.~ CMP #&7F :\ CD35= C9 7F I. BNE LCD8D :\ CD37= D0 54 PT LDA #&7F :\ CD39= A9 7F ). STA LFE03 :\ CD3B= 8D 03 FE ..~ LDA #&0F :\ CD3E= A9 0F ). STA LFE01 :\ CD40= 8D 01 FE ..~ LDA LFE01 :\ CD43= AD 01 FE -.~ AND #&7F :\ CD46= 29 7F ). CMP #&0F :\ CD48= C9 0F I. BNE LCD88 :\ CD4A= D0 3C P< LDA #&9A :\ CD4C= A9 9A ). STA &023C :\ CD4E= 8D 3C 02 .<. LDA #&CD :\ CD51= A9 CD )M STA &023D :\ CD53= 8D 3D 02 .=. LDA #&38 :\ CD56= A9 38 )8 STA &0228 :\ CD58= 8D 28 02 .(. LDA #&CE :\ CD5B= A9 CE )N STA &0229 :\ CD5D= 8D 29 02 .). LDA &0279 :\ CD60= AD 79 02 -y. AND #&FD :\ CD63= 29 FD )} STA &0279 :\ CD65= 8D 79 02 .y. LDA LFE0C :\ CD68= AD 0C FE -.~ ORA #&01 :\ CD6B= 09 01 .. STA LFE0C :\ CD6D= 8D 0C FE ..~ LDA #&82 :\ CD70= A9 82 ). STA LFE0E :\ CD72= 8D 0E FE ..~ DEC &0242 :\ CD75= CE 42 02 NB. JSR LCE1A :\ CD78= 20 1A CE .N BVC LCD86 :\ CD7B= 50 09 P. TSX :\ CD7D= BA : LDA &0105,X :\ CD7E= BD 05 01 =.. EOR #&08 :\ CD81= 49 08 I. STA &0105,X :\ CD83= 9D 05 01 ... .LCD86 CLC :\ CD86= 18 . RTS :\ CD87= 60 ` .LCD88 LDA #&00 :\ CD88= A9 00 ). STA LFE03 :\ CD8A= 8D 03 FE ..~ .LCD8D SEC :\ CD8D= 38 8 RTS :\ CD8E= 60 ` CLC :\ CD8F= 18 . RTS :\ CD90= 60 ` .LCD91 LDA LFE0D :\ CD91= AD 0D FE -.~ BPL LCDA7 :\ CD94= 10 11 .. AND LFE0E :\ CD96= 2D 0E FE -.~ AND #&02 :\ CD99= 29 02 ). BEQ LCDA7 :\ CD9B= F0 0A p. CLC :\ CD9D= 18 . BIT LCE19 :\ CD9E= 2C 19 CE ,.N JSR LCFDC :\ CDA1= 20 DC CF \O LDA #&00 :\ CDA4= A9 00 ). RTS :\ CDA6= 60 ` .LCDA7 LDA #&05 :\ CDA7= A9 05 ). RTS :\ CDA9= 60 ` ADC (&33),Y :\ CDAA= 71 33 q3 BIT &35,X :\ CDAC= 34 35 45 STY &38 :\ CDAE= 84 38 .8 STY &2D :\ CDB0= 87 2D .- LSR &0D8C,X :\ CDB2= 5E 8C 0D ^.. ROL &39 :\ CDB5= 26 39 &9 BBR 2,&FF,&CDB9 :\ CDB7= 2F FF FF /.. BRA LCE33 :\ CDBA= 80 77 .w ADC &74 :\ CDBC= 65 74 et BIT &39,X :\ CDBE= 37 39 79 ADC #&30 :\ CDC0= 69 30 i0 BBR 5,&8E,&CDF8 :\ CDC2= 5F 8E 33 _.3 ROL &43,X :\ CDC5= 36 43 6C ROL A :\ CDC7= 2B + BBS 7,&FF,&CDFC :\ CDC8= FF FF 31 ..1 AND (&64) :\ CDCB= 32 64 2d ADC (&36) :\ CDCD= 72 36 r6 ADC &6F,X :\ CDCF= 75 6F uo BVS LCE2E :\ CDD1= 70 5B p[ BBS 0,&7F,&CE08 :\ CDD3= 8F 7F 32 ..2 SEC :\ CDD6= 38 8 AND LFFFF :\ CDD7= 2D FF FF -.. BBS 7,&61,&CE55 :\ CDDA= FF 61 78 .ax ROR &79 :\ CDDD= 66 79 fy ROR A :\ CDDF= 6A j ROR A :\ CDE0= 6B k RTI :\ CDE1= 40 @ DEC A :\ CDE2= 3A : ORA &3530 :\ CDE3= 0D 30 35 .05 EQUB &42 :\ CDE6= 42 B BBS 7,&FF,&CDE9 :\ CDE7= FF FF FF ... BBS 7,&73,&CE50 :\ CDEA= FF 73 63 .sc EQUB &67 :\ CDED= 67 g PLA :\ CDEE= 68 h ROR &3B6C :\ CDEF= 6E 6C 3B nl; EOR &3D7F,X :\ CDF2= 5D 7F 3D ].= ROL LFF41 :\ CDF5= 2E 41 FF .A. BBS 7,&FF,&CE04 :\ CDF8= FF FF 09 ... PLY :\ CDFB= 7A z JSR &6276 :\ CDFC= 20 76 62 vb ADC &2E2C :\ CDFF= 6D 2C 2E m,. BBR 2,&8B,&CE36 :\ CE02= 2F 8B 31 /.1 BIT &37,X :\ CE05= 34 37 47 BBS 7,&FF,&CE09 :\ CE07= FF FF FF ... EQUB &1B :\ CE0A= 1B . STA (&82,X) :\ CE0B= 81 82 .. EQUB &83 :\ CE0D= 83 . STA &86 :\ CE0E= 85 86 .. DEY :\ CE10= 88 . BIT #&5C :\ CE11= 89 5C .\ STA &4546 :\ CE13= 8D 46 45 .FE EQUB &44 :\ CE16= 44 D ROL A :\ CE17= 2A * BBS 7,&FF,&CDC8 :\ CE18= FF FF AD ..- PHY :\ CE1B= 5A Z EQUB &02 :\ CE1C= 02 . AND #&B7 :\ CE1D= 29 B7 )7 LDX #&00 :\ CE1F= A2 00 ". JSR LCE3F :\ CE21= 20 3F CE ?N BPL LCE2B :\ CE24= 10 05 .. BIT LCE19 :\ CE26= 2C 19 CE ,.N ORA #&08 :\ CE29= 09 08 .. .LCE2B LDX #&01 :\ CE2B= A2 01 ". JSR LCE3F :\ CE2D= 20 3F CE ?N BPL LCE34 :\ CE30= 10 02 .. ORA #&40 :\ CE32= 09 40 .@ .LCE34 STA &025A :\ CE34= 8D 5A 02 .Z. RTS :\ CE37= 60 ` BVS LCE6C :\ CE38= 70 32 p2 BCC LCE1A :\ CE3A= 90 DE .^ TXA :\ CE3C= 8A . BPL LCE5D :\ CE3D= 10 1E .. .LCE3F STX LFE01 :\ CE3F= 8E 01 FE ..~ LDX LFE01 :\ CE42= AE 01 FE ..~ PHP :\ CE45= 08 . LDY #&0F :\ CE46= A0 0F . STY LFE01 :\ CE48= 8C 01 FE ..~ PLP :\ CE4B= 28 ( RTS :\ CE4C= 60 ` .LCE4D INX :\ CE4D= E8 h TXA :\ CE4E= 8A . AND #&0F :\ CE4F= 29 0F ). CMP #&0E :\ CE51= C9 0E I. BNE LCE5D :\ CE53= D0 08 P. INX :\ CE55= E8 h INX :\ CE56= E8 h BPL LCE5D :\ CE57= 10 04 .. LDX #&FF :\ CE59= A2 FF ". BNE LCE65 :\ CE5B= D0 08 P. .LCE5D STX LFE01 :\ CE5D= 8E 01 FE ..~ LDA LFE01 :\ CE60= AD 01 FE -.~ BPL LCE4D :\ CE63= 10 E8 .h .LCE65 LDA #&0F :\ CE65= A9 0F ). STA LFE01 :\ CE67= 8D 01 FE ..~ TXA :\ CE6A= 8A . RTS :\ CE6B= 60 ` .LCE6C BCS LCE87 :\ CE6C= B0 19 0. LDX #&10 :\ CE6E= A2 10 ". JSR LCE5D :\ CE70= 20 5D CE ]N BMI LCE86 :\ CE73= 30 11 0. STX &EC :\ CE75= 86 EC .l LDA #&00 :\ CE77= A9 00 ). STA &E7 :\ CE79= 85 E7 .g LDA &0254 :\ CE7B= AD 54 02 -T. STA &02C9 :\ CE7E= 8D C9 02 .I. LDA #&02 :\ CE81= A9 02 ). STA LFE0E :\ CE83= 8D 0E FE ..~ .LCE86 RTS :\ CE86= 60 ` .LCE87 INC &0242 :\ CE87= EE 42 02 nB. CLI :\ CE8A= 58 X JSR LCE93 :\ CE8B= 20 93 CE .N SEI :\ CE8E= 78 x DEC &0242 :\ CE8F= CE 42 02 NB. RTS :\ CE92= 60 ` .LCE93 JSR LCF7C :\ CE93= 20 7C CF |O BVS LCE9E :\ CE96= 70 06 p. PHA :\ CE98= 48 H LDA #&00 :\ CE99= A9 00 ). STA &ED :\ CE9B= 85 ED .m PLA :\ CE9D= 68 h .LCE9E BNE LCEAC :\ CE9E= D0 0C P. BCS LCEBC :\ CEA0= B0 1A 0. STA &EC :\ CEA2= 85 EC .l BVS LCEAB :\ CEA4= 70 05 p. LDA #&82 :\ CEA6= A9 82 ). STA LFE0E :\ CEA8= 8D 0E FE ..~ .LCEAB RTS :\ CEAB= 60 ` .LCEAC BCC LCEB4 :\ CEAC= 90 06 .. BVS LCEBC :\ CEAE= 70 0C p. LDX &EC :\ CEB0= A6 EC &l STX &ED :\ CEB2= 86 ED .m .LCEB4 STA &EC :\ CEB4= 85 EC .l LDA &0254 :\ CEB6= AD 54 02 -T. JMP LCECD :\ CEB9= 4C CD CE LMN .LCEBC LDA &E7 :\ CEBC= A5 E7 %g BNE LCEAB :\ CEBE= D0 EB Pk LDA &02C9 :\ CEC0= AD C9 02 -I. CMP &0255 :\ CEC3= CD 55 02 MU. BNE LCECD :\ CEC6= D0 05 P. LDX &0254 :\ CEC8= AE 54 02 .T. BEQ LCEAB :\ CECB= F0 DE p^ .LCECD STA &E7 :\ CECD= 85 E7 .g LDA &0255 :\ CECF= AD 55 02 -U. STA &02C9 :\ CED2= 8D C9 02 .I. JSR LCE1A :\ CED5= 20 1A CE .N LDY &EC :\ CED8= A4 EC $l CPY #&40 :\ CEDA= C0 40 @@ BNE LCEF4 :\ CEDC= D0 16 P. LDA &025A :\ CEDE= AD 5A 02 -Z. AND #&08 :\ CEE1= 29 08 ). BEQ LCEE9 :\ CEE3= F0 04 p. LDA #&A0 :\ CEE5= A9 A0 ) BNE LCEF0 :\ CEE7= D0 07 P. .LCEE9 LDA &025A :\ CEE9= AD 5A 02 -Z. AND #&7F :\ CEEC= 29 7F ). EOR #&10 :\ CEEE= 49 10 I. .LCEF0 STA &025A :\ CEF0= 8D 5A 02 .Z. .LCEF3 RTS :\ CEF3= 60 ` .LCEF4 PHP :\ CEF4= 08 . SEI :\ CEF5= 78 x LDA &023C :\ CEF6= AD 3C 02 -<. STA &FA :\ CEF9= 85 FA .z LDA &023D :\ CEFB= AD 3D 02 -=. STA &FB :\ CEFE= 85 FB .{ LDA (&FA),Y :\ CF00= B1 FA 1z PLP :\ CF02= 28 ( TAY :\ CF03= A8 ( BPL LCF1D :\ CF04= 10 17 .. CPY #&FF :\ CF06= C0 FF @. BEQ LCEF3 :\ CF08= F0 E9 pi LDA #&08 :\ CF0A= A9 08 ). BIT &025A :\ CF0C= 2C 5A 02 ,Z. BEQ LCF15 :\ CF0F= F0 04 p. TYA :\ CF11= 98 . ORA #&90 :\ CF12= 09 90 .. TAY :\ CF14= A8 ( .LCF15 BVC LCF2C :\ CF15= 50 15 P. TYA :\ CF17= 98 . ORA #&A0 :\ CF18= 09 A0 . TAY :\ CF1A= A8 ( BNE LCF2C :\ CF1B= D0 0F P. .LCF1D CPY #&21 :\ CF1D= C0 21 @! BCC LCF2C :\ CF1F= 90 0B .. CPY #&7F :\ CF21= C0 7F @. BEQ LCF2C :\ CF23= F0 07 p. CPY #&30 :\ CF25= C0 30 @0 BEQ LCF2C :\ CF27= F0 03 p. JSR LCF33 :\ CF29= 20 33 CF 3O .LCF2C LDX #&00 :\ CF2C= A2 00 ". LDA #&99 :\ CF2E= A9 99 ). JMP OSBYTE :\ CF30= 4C F4 FF Lt. .LCF33 BIT &025A :\ CF33= 2C 5A 02 ,Z. BVC LCF41 :\ CF36= 50 09 P. CPY #&40 :\ CF38= C0 40 @@ BCC LCF5E :\ CF3A= 90 22 ." TYA :\ CF3C= 98 . AND #&1F :\ CF3D= 29 1F ). TAY :\ CF3F= A8 ( RTS :\ CF40= 60 ` .LCF41 LDA &025A :\ CF41= AD 5A 02 -Z. AND #&10 :\ CF44= 29 10 ). BNE LCF5E :\ CF46= D0 16 P. CPY #&61 :\ CF48= C0 61 @a BCC LCF5E :\ CF4A= 90 12 .. CPY #&7B :\ CF4C= C0 7B @{ BCS LCF5E :\ CF4E= B0 0E 0. LDA &025A :\ CF50= AD 5A 02 -Z. AND #&88 :\ CF53= 29 88 ). CMP #&88 :\ CF55= C9 88 I. BEQ LCF7B :\ CF57= F0 22 p" TYA :\ CF59= 98 . AND #&DF :\ CF5A= 29 DF )_ TAY :\ CF5C= A8 ( RTS :\ CF5D= 60 ` .LCF5E LDA #&08 :\ CF5E= A9 08 ). BIT &025A :\ CF60= 2C 5A 02 ,Z. BEQ LCF7B :\ CF63= F0 16 p. CPY #&40 :\ CF65= C0 40 @@ BCS LCF6E :\ CF67= B0 05 0. TYA :\ CF69= 98 . EOR #&10 :\ CF6A= 49 10 I. TAY :\ CF6C= A8 ( RTS :\ CF6D= 60 ` .LCF6E BEQ LCF7B :\ CF6E= F0 0B p. CPY #&5F :\ CF70= C0 5F @_ BNE LCF77 :\ CF72= D0 03 P. LDY #&60 :\ CF74= A0 60 ` RTS :\ CF76= 60 ` .LCF77 TYA :\ CF77= 98 . EOR #&20 :\ CF78= 49 20 I TAY :\ CF7A= A8 ( .LCF7B RTS :\ CF7B= 60 ` .LCF7C LDA #&00 :\ CF7C= A9 00 ). STA &02CA :\ CF7E= 8D CA 02 .J. TAY :\ CF81= A8 ( CLV :\ CF82= B8 8 LDX #&0F :\ CF83= A2 0F ". .LCF85 JSR LCE4D :\ CF85= 20 4D CE MN BMI LCF9F :\ CF88= 30 15 0. CPX &EC :\ CF8A= E4 EC dl BEQ LCF97 :\ CF8C= F0 09 p. CPX &ED :\ CF8E= E4 ED dm BEQ LCF9A :\ CF90= F0 08 p. STX &02CA :\ CF92= 8E CA 02 .J. BNE LCF85 :\ CF95= D0 EE Pn .LCF97 DEY :\ CF97= 88 . BMI LCF85 :\ CF98= 30 EB 0k .LCF9A BIT LCE19 :\ CF9A= 2C 19 CE ,.N BVS LCF85 :\ CF9D= 70 E6 pf .LCF9F TYA :\ CF9F= 98 . ROL A :\ CFA0= 2A * LDA &02CA :\ CFA1= AD CA 02 -J. RTS :\ CFA4= 60 ` .LCFA5 CMP #&0B :\ CFA5= C9 0B I. BEQ LCFC2 :\ CFA7= F0 19 p. CMP #&0C :\ CFA9= C9 0C I. BEQ LCFC6 :\ CFAB= F0 19 p. CMP #&78 :\ CFAD= C9 78 Ix BEQ LCFD4 :\ CFAF= F0 23 p# CMP #&79 :\ CFB1= C9 79 Iy BEQ LCFDB :\ CFB3= F0 26 p& CMP #&7A :\ CFB5= C9 7A Iz BEQ LCFD9 :\ CFB7= F0 20 p CMP #&81 :\ CFB9= C9 81 I. BEQ LCFDF :\ CFBB= F0 22 p" PLA :\ CFBD= 68 h PLA :\ CFBE= 68 h LDA #&07 :\ CFBF= A9 07 ). RTS :\ CFC1= 60 ` .LCFC2 STX &0254 :\ CFC2= 8E 54 02 .T. RTS :\ CFC5= 60 ` .LCFC6 TXA :\ CFC6= 8A . BNE LCFD0 :\ CFC7= D0 07 P. LDX #&32 :\ CFC9= A2 32 "2 STX &0254 :\ CFCB= 8E 54 02 .T. LDX #&08 :\ CFCE= A2 08 ". .LCFD0 STX &0255 :\ CFD0= 8E 55 02 .U. RTS :\ CFD3= 60 ` .LCFD4 STX &ED :\ CFD4= 86 ED .m STY &EC :\ CFD6= 84 EC .l RTS :\ CFD8= 60 ` .LCFD9 LDX #&10 :\ CFD9= A2 10 ". .LCFDB CLV :\ CFDB= B8 8 .LCFDC JMP (&0228) :\ CFDC= 6C 28 02 l(. .LCFDF TXA :\ CFDF= 8A . EOR #&7F :\ CFE0= 49 7F I. TAX :\ CFE2= AA * JSR LCFDB :\ CFE3= 20 DB CF [O LDY #&FF :\ CFE6= A0 FF . TXA :\ CFE8= 8A . BMI LCFEC :\ CFE9= 30 01 0. INY :\ CFEB= C8 H .LCFEC TYA :\ CFEC= 98 . TAX :\ CFED= AA * RTS :\ CFEE= 60 ` BBS 7,&FF,&CFF1 :\ CFEF= FF FF FF ... BBS 7,&FF,&CFF4 :\ CFF2= FF FF FF ... Unused space filled with &FF BBS 7,&FF,&CFF7 :\ CFF5= FF FF FF ... BBS 7,&FF,&CFFA :\ CFF8= FF FF FF ... BBS 7,&FF,&CFFD :\ CFFB= FF FF FF ... BBS 7,&FF,&D000 :\ CFFE= FF FF FF ... BBS 7,&FF,&D003 :\ D001= FF FF FF ... Unused space filled with &FF D000-DFFF paged out and BLK0 paged in BBS 7,&FF,&DBF7 :\ DBF5= FF FF FF ... BBS 7,&FF,&DBFA :\ DBF8= FF FF FF ... BBS 7,&FF,&DBFD :\ DBFB= FF FF FF ... BBS 7,&FF,&DC00 :\ DBFE= FF FF FF ... .LDC01 BBS 7,&FF,&DC03 :\ DC01= FF FF FF ... BBS 7,&FF,&DC06 :\ DC04= FF FF FF ... BBS 7,&FF,&DCFC :\ DCFA= FF FF FF ... BBS 7,&FF,&DCFF :\ DCFD= FF FF FF ... .LDD00 BBS 7,&FF,&DD02 :\ DD00= FF FF FF ... .LDD03 BBS 7,&FF,&DD05 :\ DD03= FF FF FF ... BBS 7,&FF,&DD08 :\ DD06= FF FF FF ... BBS 7,&FF,&DE19 :\ DE17= FF FF FF ... BBS 7,&FF,&DE1C :\ DE1A= FF FF FF ... .LDE1D BBS 7,&FF,&DE1F :\ DE1D= FF FF FF ... BBS 7,&FF,&DE22 :\ DE20= FF FF FF ... BBS 7,&FF,&DEFA :\ DEF8= FF FF FF ... BBS 7,&FF,&DEFD :\ DEFB= FF FF FF ... BBS 7,&FF,&DF00 :\ DEFE= FF FF FF ... .LDF01 BBS 7,&FF,&DF03 :\ DF01= FF FF FF ... BBS 7,&FF,&DF06 :\ DF04= FF FF FF ... .LDF07 BBS 7,&FF,&DF09 :\ DF07= FF FF FF ... .LDF0A BBS 7,&FF,&DF0C :\ DF0A= FF FF FF ... BBS 7,&FF,&DF0F :\ DF0D= FF FF FF ... .LDF10 BBS 7,&FF,&DF12 :\ DF10= FF FF FF ... .LDF13 BBS 7,&FF,&DF15 :\ DF13= FF FF FF ... BBS 7,&FF,&DF18 :\ DF16= FF FF FF ... BBS 7,&FF,&DF1B :\ DF19= FF FF FF ... BBS 7,&FF,&DFF9 :\ DFF7= FF FF FF ... BBS 7,&FF,&DFFC :\ DFFA= FF FF FF ... BBS 7,&FF,&DFFF :\ DFFD= FF FF FF ... \ E000 MOS ROM PROGRAM \ ==================== .LE000:JMP LC0B0 :\ Language entry, jump to low ROM's language code .LE003:JMP LE026 :\ Service entry EQUB &C2 :\ Service, Language, 6502 code .LE007 EQUB LE019-LE000 :\ Offset to (C) EQUB &04 :\ Binary version number EQUS "CU-Graph" :\ Title EQUB &00 EQUD 0 :\ No version string EQUW 0:EQUB 0 .LE019 EQUB &00 :\ Copyright string EQUS "(C) CU X4.8":EQUB &00 \ SERVICE ROUTINE \ =============== \ Do &E000 service calls, &C000 service calls, RAM-based service calls \ .LE026 PHP:PHA:TXA:PHA:TYA:PHA :\ Save registers TSX:LDA &0103,X :\ Get A from stack JSR LE10A :\ Call MOS service code TAX:BEQ LE065 :\ If claimed, exit CMP #&01:BNE LE03D :\ If not Serv01, skip following JSR LE06F :\ Check if SROM exists at &C000 .LE03D BIT &0248:BMI LE048 :\ If &C000 not present, skip JSR LC003 :\ Call &C000 service entry TAX:BEQ LE065 :\ If claimed, exit .LE048 LDX &0283 :\ Get RAM-based SROM address CPX #&E0:BEQ LE05B :\ If &E0xx, that's me, skip to exit STX &F7 :\ Store RAM-SROM high address LDX #&03:STX &F6 :\ Set low byte of address to service entry JSR LE062 :\ Call RAM-based SROM's service entry TAX:BEQ LE065 :\ if claimed, exit .LE05B PLA:TAY:PLA:TAX:PLA:PLP :\ Restore all registers RTS :\ Exit .LE062 JMP (&00F6) :\ Call service entry in RAM-based program \ Service call claimed \ -------------------- .LE065 PLA:PLA:TAX:PLA:ROR A:PLP:ROL A LDA #&00:RTS :\ A=0 - call claimed \ On Service call 1, check if &C000 is a valid ROM \ ------------------------------------------------ .LE06F TYA:PHA :\ Save Y LDY LC007:CPY LE007 :\ Compare &C000 and &E000 copyright pointers BEQ LE08E :\ Same, disable &C000 ROM .LE079 LDX #&00 :\ Point to start of my copyright string .LE07B LDA LE019,X:CMP LC000,Y :\ Compare copyright strings BNE LE08E :\ Different, jump to enable &C000 SROM INY:INX:CPX #&04:BCC LE07B :\ Loop for four characters .LE089 PLA:TAY:LDA #&01:RTS :\ Restore Y and A, return .LE08E ROR &0248:BMI LE089 :\ Set b7 to disable &C000, exit \ COMMAND TABLE \ ============= .LE093 EQUS "TURNOFF":EQUB LE206 DIV 256:EQUB LE206 AND 255 EQUS "TURNON" :EQUB &E2:EQUB &0A EQUS "FLIP" :EQUB &E2:EQUB &16 EQUS "OUTCH" :EQUB &E2:EQUB &12 EQUS "DAC" :EQUB &E2:EQUB &6C EQUS "DELAY" :EQUB &E1:EQUB E5 EQUS "INCH" :EQUB &E2:EQUB &0E EQUS "OUT" :EQUB &E3:EQUB &0B EQUS "CH" :EQUB &E3:EQUB &0B EQUS "IN" :EQUB &E3:EQUB &0B EQUS "CLOCK$" :EQUB &E3:EQUB &74 EQUS "DATE$" :EQUB &E3:EQUB &97 EQUS "SAMPLE" :EQUB &E2:EQUB &81 EQUS "BASE" : EQUB &E2:EQUB E9 EQUB 0 .LE0EE LDA (&F2),Y :\ Get current character CMP #&0D:BNE LE107 :\ If not , exit JSR LFFB3 :\ Print inline text EQUB 13:EQUS "Control BASIC":EQUB 13 NOP .LE107 LDA #9:RTS :\ Exit unclaimed \ MOS CODE SERVICE HANDLER \ ======================== .LE10A JSR LE47A :\ Call CUBAN service handler TAX:BEQ LE120 :\ If claimed, exit CMP #&03:BEQ LE121 :\ Service 3 - Boot FS BIT &6F:BPL LE120 :\ If b7=0, skip Error and Help :\ Need a Service 3 before 6 or 9 will respond CMP #&06:BEQ LE140 :\ Service 6 - Error occured CMP #&09:BEQ LE0EE :\ Service 9 - *Help .LE120 RTS :\ Exit \ SERVICE 3 - BOOT FS \ =================== .LE121 LDX #&00:LDY #&D0 LDA #&17:JSR OSBYTE :\ *FX23,0,&D0 CPX #&00:BNE LE13A :\ If X=0, jump to set &6F flag LDX &0241:BEQ LE13A :\ If input source is keyboard, jump to set flag LDX #&00:LDY #&FE JSR OSBYTE :\ *FX23,0,&FE .LE13A SEC:ROR &6F :\ Set b7 to allow Service 6 & 9 to respond LDA #&03:RTS :\ Return unclaimed \ SERVICE 6 - ERROR OCCURED \ ========================= .LE140 TYA:PHA :\ Save Y LDX &F0:STX &6D :\ Copy &F0 to &6D LDX #&00:LDA (&FD,X):STA &6E :\ Store error number at &6E CMP #&04:BEQ LE159 :\ Jump with Error 4 CMP #&1A:BEQ LE163 :\ Jump with Error 26 .LE154 PLA:TAY:LDA #&06:RTS :\ Restore Y, A and return :\ BUG? Should that be X saved & restored? \ Error 4 \ ------- .LE159 CLI :\ E159= 58 X JSR LE1C0 :\ E15A= 20 C0 E1 @a DEC &1B :\ E15D= C6 1B F. LDX #&00 :\ E15F= A2 00 ". BEQ LE170 :\ E161= F0 0D p. .LE163 CLI :\ E163= 58 X LDX #&35 :\ E164= A2 35 "5 BNE LE170 :\ E166= D0 08 P. .LE168 INX :\ E168= E8 h LDA LE093,X :\ E169= BD 93 E0 =.` BPL LE168 :\ E16C= 10 FA .z INX :\ E16E= E8 h INX :\ E16F= E8 h .LE170 LDY &1B :\ E170= A4 1B $. .LE172 LDA LE093,X :\ E172= BD 93 E0 =.` BEQ LE154 :\ E175= F0 DD p] BMI LE182 :\ E177= 30 09 0. CMP (&19),Y :\ E179= D1 19 Q. BNE LE168 :\ E17B= D0 EB Pk INY :\ E17D= C8 H INX :\ E17E= E8 h BNE LE172 :\ E17F= D0 F1 Pq .LE181 INY :\ E181= C8 H .LE182 LDA (&19),Y :\ E182= B1 19 1. CMP #&20 :\ E184= C9 20 I BEQ LE181 :\ E186= F0 F9 py TXA :\ E188= 8A . PHA :\ E189= 48 H LDX &6D :\ E18A= A6 6D &m INX :\ E18C= E8 h INX :\ E18D= E8 h INX :\ E18E= E8 h INX :\ E18F= E8 h LDA &6E :\ E190= A5 6E %n CMP #&1A :\ E192= C9 1A I. BEQ LE199 :\ E194= F0 03 p. INX :\ E196= E8 h INX :\ E197= E8 h CLC :\ E198= 18 . .LE199 STY &1B :\ E199= 84 1B .. PLA :\ E19B= 68 h TXS :\ E19C= 9A . TAX :\ E19D= AA * LDA LE093,X:PHA :\ Stack address high byte LDA LE093+1,X:PHA :\ Stack address low byte PHP:RTI :\ Jump to stacked address .LE1A8 JSR &8AAE :\ E1A8= 20 AE 8A .. .LE1AB JSR &9B29 :\ E1AB= 20 29 9B ). .LE1AE BEQ LE1B5 :\ E1AE= F0 05 p. BPL LE1CC :\ E1B0= 10 1A .. JMP &A3E4 :\ E1B2= 4C E4 A3 Ld# .LE1B5 JMP &8C0E :\ E1B5= 4C 0E 8C L.. .LE1B8 INC &1B :\ E1B8= E6 1B f. .LE1BA JSR &ADEC :\ E1BA= 20 EC AD l- JMP LE1AE :\ E1BD= 4C AE E1 L.a .LE1C0 LDA &0B :\ E1C0= A5 0B %. STA &19 :\ E1C2= 85 19 .. LDA &0C :\ E1C4= A5 0C %. STA &1A :\ E1C6= 85 1A .. LDA &0A :\ E1C8= A5 0A %. STA &1B :\ E1CA= 85 1B .. .LE1CC RTS :\ E1CC= 60 ` .LE1CD INC &1B :\ E1CD= E6 1B f. JSR &9841 :\ E1CF= 20 41 98 A. JSR &9B29 :\ E1D2= 20 29 9B ). BNE LE1B5 :\ E1D5= D0 DE P^ JMP &9852 :\ E1D7= 4C 52 98 LR. .LE1DA INC &1B :\ E1DA= E6 1B f. .LE1DC JSR &9841 :\ E1DC= 20 41 98 A. JSR LE1AB :\ E1DF= 20 AB E1 +a JMP &9852 :\ E1E2= 4C 52 98 LR. JSR LE1AB :\ E1E5= 20 AB E1 +a SEI :\ E1E8= 78 x LDA &2A :\ E1E9= A5 2A %* STA &02B1 :\ E1EB= 8D B1 02 .1. LDA &2B :\ E1EE= A5 2B %+ STA &02B2 :\ E1F0= 8D B2 02 .2. CLI :\ E1F3= 58 X .LE1F4 BIT &FF :\ E1F4= 24 FF $. BMI LE200 :\ E1F6= 30 08 0. LDA &02B2 :\ E1F8= AD B2 02 -2. ORA &02B1 :\ E1FB= 0D B1 02 .1. BNE LE1F4 :\ E1FE= D0 F4 Pt .LE200 JSR &9852 :\ E200= 20 52 98 R. JMP &8B9B :\ E203= 4C 9B 8B L.. LDY #&00 :\ E206= A0 00 . BEQ LE218 :\ E208= F0 0E p. LDY #&01 :\ E20A= A0 01 . BNE LE218 :\ E20C= D0 0A P. LDY #&02 :\ E20E= A0 02 . BNE LE218 :\ E210= D0 06 P. LDY #&03 :\ E212= A0 03 . BNE LE218 :\ E214= D0 02 P. LDY #&04 :\ E216= A0 04 . .LE218 STY &6D :\ E218= 84 6D .m .LE21A JSR &8A8C :\ E21A= 20 8C 8A .. CMP #&3A :\ E21D= C9 3A I: BEQ LE23E :\ E21F= F0 1D p. CMP #&0D :\ E221= C9 0D I. BEQ LE23E :\ E223= F0 19 p. CMP #&8B :\ E225= C9 8B I. BEQ LE23E :\ E227= F0 15 p. DEC &1B :\ E229= C6 1B F. JSR LE1AB :\ E22B= 20 AB E1 +a LDX &2A :\ E22E= A6 2A &* JSR LE253 :\ E230= 20 53 E2 Sb .LE233 JSR &8A8C :\ E233= 20 8C 8A .. CMP #&2C :\ E236= C9 2C I, BEQ LE21A :\ E238= F0 E0 p` CMP #&B8 :\ E23A= C9 B8 I8 BEQ LE243 :\ E23C= F0 05 p. .LE23E DEC &1B :\ E23E= C6 1B F. JMP LE200 :\ E240= 4C 00 E2 L.b .LE243 JSR LE1AB :\ E243= 20 AB E1 +a .LE246 LDX &6E :\ E246= A6 6E &n CPX &2A :\ E248= E4 2A d* BCS LE233 :\ E24A= B0 E7 0g INX :\ E24C= E8 h JSR LE253 :\ E24D= 20 53 E2 Sb JMP LE246 :\ E250= 4C 46 E2 LFb .LE253 STX &6E :\ E253= 86 6E .n LDY &6D :\ E255= A4 6D $m .LE257 LDA #&16 :\ E257= A9 16 ). JSR OSBYTE :\ E259= 20 F4 FF t. BCS LE25F :\ E25C= B0 01 0. RTS :\ E25E= 60 ` .LE25F BRK :\ E25F= 00 . SEC :\ E260= 38 8 LSR &206F :\ E261= 4E 6F 20 No EQUB &73 :\ E264= 73 s ADC &63,X :\ E265= 75 63 uc PLA :\ E267= 68 h JSR &4843 :\ E268= 20 43 48 CH BRK :\ E26B= 00 . JSR LE369 :\ E26C= 20 69 E3 ic STA &37 :\ E26F= 85 37 .7 LDX #&38 :\ E271= A2 38 "8 JSR &BE44 :\ E273= 20 44 BE D> DEX :\ E276= CA J LDY #&00 :\ E277= A0 00 . LDA #&12 :\ E279= A9 12 ). JSR OSWORD :\ E27B= 20 F1 FF q. JMP &8B9B :\ E27E= 4C 9B 8B L.. BCS LE2C5 :\ E281= B0 42 0B JSR LE1AB :\ E283= 20 AB E1 +a LDX #&00 :\ E286= A2 00 ". JSR LE33F :\ E288= 20 3F E3 ?c JSR LE1A8 :\ E28B= 20 A8 E1 (a LDX #&04 :\ E28E= A2 04 ". JSR LE33F :\ E290= 20 3F E3 ?c JSR LE1A8 :\ E293= 20 A8 E1 (a LDX #&08 :\ E296= A2 08 ". JSR LE33F :\ E298= 20 3F E3 ?c JSR LE1A8 :\ E29B= 20 A8 E1 (a LDX #&0C :\ E29E= A2 0C ". JSR LE33F :\ E2A0= 20 3F E3 ?c JSR &8A8C :\ E2A3= 20 8C 8A .. CMP #&B8 :\ E2A6= C9 B8 I8 BNE LE2B4 :\ E2A8= D0 0A P. JSR LE1AB :\ E2AA= 20 AB E1 +a LDA &2A :\ E2AD= A5 2A %* STA &02FB :\ E2AF= 8D FB 02 .{. INC &1B :\ E2B2= E6 1B f. .LE2B4 DEC &1B :\ E2B4= C6 1B F. JSR &9852 :\ E2B6= 20 52 98 R. LDX #&EE :\ E2B9= A2 EE "n LDY #&02 :\ E2BB= A0 02 . LDA #&10 :\ E2BD= A9 10 ). JSR OSWORD :\ E2BF= 20 F1 FF q. JMP &8B9B :\ E2C2= 4C 9B 8B L.. .LE2C5 JSR LE1AB :\ E2C5= 20 AB E1 +a LDX #&00 :\ E2C8= A2 00 ". JSR LE33F :\ E2CA= 20 3F E3 ?c JSR &8AAE :\ E2CD= 20 AE 8A .. JSR LE1BA :\ E2D0= 20 BA E1 :a LDA &2A :\ E2D3= A5 2A %* STA &02F2 :\ E2D5= 8D F2 02 .r. LDX #&EE :\ E2D8= A2 EE "n LDY #&02 :\ E2DA= A0 02 . LDA #&11 :\ E2DC= A9 11 ). JSR OSWORD :\ E2DE= 20 F1 FF q. LDX #&05 :\ E2E1= A2 05 ". JSR LE354 :\ E2E3= 20 54 E3 Tc LDA #&40 :\ E2E6= A9 40 )@ RTS :\ E2E8= 60 ` BCS LE2FA :\ E2E9= B0 0F 0. JSR LE1DA :\ E2EB= 20 DA E1 Za LDX &2A :\ E2EE= A6 2A &* LDY &2B :\ E2F0= A4 2B $+ LDA #&17 :\ E2F2= A9 17 ). JSR OSBYTE :\ E2F4= 20 F4 FF t. JMP &8B9B :\ E2F7= 4C 9B 8B L.. .LE2FA LDX #&00 :\ E2FA= A2 00 ". LDY #&00 :\ E2FC= A0 00 . LDA #&17 :\ E2FE= A9 17 ). JSR OSBYTE :\ E300= 20 F4 FF t. STX &2A :\ E303= 86 2A .* STY &2B :\ E305= 84 2B .+ LDY #&00 :\ E307= A0 00 . BEQ LE338 :\ E309= F0 2D p- BCS LE324 :\ E30B= B0 17 0. JSR LE369 :\ E30D= 20 69 E3 ic TAX :\ E310= AA * LDY #&00 :\ E311= A0 00 . LDA &2A :\ E313= A5 2A %* ORA &2B :\ E315= 05 2B .+ ORA &2C :\ E317= 05 2C ., ORA &2D :\ E319= 05 2D .- BEQ LE31E :\ E31B= F0 01 p. INY :\ E31D= C8 H .LE31E JSR LE257 :\ E31E= 20 57 E2 Wb JMP &8B9B :\ E321= 4C 9B 8B L.. .LE324 JSR LE1BA :\ E324= 20 BA E1 :a LDX &2A :\ E327= A6 2A &* LDY #&05 :\ E329= A0 05 . JSR LE257 :\ E32B= 20 57 E2 Wb LDY #&00 :\ E32E= A0 00 . TXA :\ E330= 8A . BEQ LE334 :\ E331= F0 01 p. DEY :\ E333= 88 . .LE334 STY &2A :\ E334= 84 2A .* STY &2B :\ E336= 84 2B .+ .LE338 STY &2C :\ E338= 84 2C ., STY &2D :\ E33A= 84 2D .- LDA #&40 :\ E33C= A9 40 )@ RTS :\ E33E= 60 ` .LE33F LDA &2A :\ E33F= A5 2A %* STA &02EE,X :\ E341= 9D EE 02 .n. LDA &2B :\ E344= A5 2B %+ STA &02EF,X :\ E346= 9D EF 02 .o. LDA &2C :\ E349= A5 2C %, STA &02F0,X :\ E34B= 9D F0 02 .p. LDA &2D :\ E34E= A5 2D %- STA &02F1,X :\ E350= 9D F1 02 .q. RTS :\ E353= 60 ` .LE354 LDA &02EE,X :\ E354= BD EE 02 =n. STA &2A :\ E357= 85 2A .* LDA &02EF,X :\ E359= BD EF 02 =o. STA &2B :\ E35C= 85 2B .+ LDA &02F0,X :\ E35E= BD F0 02 =p. STA &2C :\ E361= 85 2C ., LDA &02F1,X :\ E363= BD F1 02 =q. STA &2D :\ E366= 85 2D .- RTS :\ E368= 60 ` .LE369 JSR LE1B8 :\ E369= 20 B8 E1 8a LDA &2A :\ E36C= A5 2A %* PHA :\ E36E= 48 H JSR LE1DC :\ E36F= 20 DC E1 \a PLA :\ E372= 68 h RTS :\ E373= 60 ` BCS LE3AA :\ E374= B0 34 04 JSR LE1CD :\ E376= 20 CD E1 Ma LDX #&00 :\ E379= A2 00 ". .LE37B LDY #&03 :\ E37B= A0 03 . LDA #&01 :\ E37D= A9 01 ). PHA :\ E37F= 48 H STY &6D :\ E380= 84 6D .m JSR LE433 :\ E382= 20 33 E4 3d JSR LE3D2 :\ E385= 20 D2 E3 Rc JSR LE43E :\ E388= 20 3E E4 >d PLA :\ E38B= 68 h STA &02FD :\ E38C= 8D FD 02 .}. LDA #&0F :\ E38F= A9 0F ). JSR LE42C :\ E391= 20 2C E4 ,d JMP &8B9B :\ E394= 4C 9B 8B L.. BCS LE3A0 :\ E397= B0 07 0. JSR LE1CD :\ E399= 20 CD E1 Ma LDX #&03 :\ E39C= A2 03 ". BNE LE37B :\ E39E= D0 DB P[ .LE3A0 JSR LE42A :\ E3A0= 20 2A E4 *d JSR LE43E :\ E3A3= 20 3E E4 >d LDX #&05 :\ E3A6= A2 05 ". BNE LE3AF :\ E3A8= D0 05 P. .LE3AA JSR LE42A :\ E3AA= 20 2A E4 *d LDX #&02 :\ E3AD= A2 02 ". .LE3AF LDY #&03 :\ E3AF= A0 03 . STY &6D :\ E3B1= 84 6D .m LDY #&00 :\ E3B3= A0 00 . BEQ LE3BD :\ E3B5= F0 06 p. .LE3B7 LDA #&3A :\ E3B7= A9 3A ): STA &0600,Y :\ E3B9= 99 00 06 ... INY :\ E3BC= C8 H .LE3BD LDA &02EE,X :\ E3BD= BD EE 02 =n. JSR LE418 :\ E3C0= 20 18 E4 .d DEX :\ E3C3= CA J DEC &6D :\ E3C4= C6 6D Fm BNE LE3B7 :\ E3C6= D0 EF Po LDA #&0D :\ E3C8= A9 0D ). STA &0600,Y :\ E3CA= 99 00 06 ... STY &36 :\ E3CD= 84 36 .6 LDA #&00 :\ E3CF= A9 00 ). RTS :\ E3D1= 60 ` .LE3D2 LDY &36 :\ E3D2= A4 36 $6 .LE3D4 DEY :\ E3D4= 88 . BMI LE415 :\ E3D5= 30 3E 0> LDA &0600,Y :\ E3D7= B9 00 06 9.. CMP #&20 :\ E3DA= C9 20 I BEQ LE3D4 :\ E3DC= F0 F6 pv CMP #&3A :\ E3DE= C9 3A I: BEQ LE3D4 :\ E3E0= F0 F2 pr DEC &6D :\ E3E2= C6 6D Fm BMI LE40C :\ E3E4= 30 26 0& JSR LE40F :\ E3E6= 20 0F E4 .d BCC LE40C :\ E3E9= 90 21 .! AND #&0F :\ E3EB= 29 0F ). STA &6E :\ E3ED= 85 6E .n DEY :\ E3EF= 88 . BMI LE403 :\ E3F0= 30 11 0. LDA &0600,Y :\ E3F2= B9 00 06 9.. JSR LE40F :\ E3F5= 20 0F E4 .d BCC LE403 :\ E3F8= 90 09 .. ASL A :\ E3FA= 0A . ASL A :\ E3FB= 0A . ASL A :\ E3FC= 0A . ASL A :\ E3FD= 0A . ORA &6E :\ E3FE= 05 6E .n STA &6E :\ E400= 85 6E .n DEY :\ E402= 88 . .LE403 INY :\ E403= C8 H LDA &6E :\ E404= A5 6E %n STA &02EE,X :\ E406= 9D EE 02 .n. INX :\ E409= E8 h BNE LE3D4 :\ E40A= D0 C8 PH .LE40C JMP &982A :\ E40C= 4C 2A 98 L*. .LE40F CMP #&3A :\ E40F= C9 3A I: BCS LE416 :\ E411= B0 03 0. CMP #&30 :\ E413= C9 30 I0 .LE415 RTS :\ E415= 60 ` .LE416 CLC :\ E416= 18 . RTS :\ E417= 60 ` .LE418 PHA :\ E418= 48 H LSR A :\ E419= 4A J LSR A :\ E41A= 4A J LSR A :\ E41B= 4A J LSR A :\ E41C= 4A J JSR LE423 :\ E41D= 20 23 E4 #d PLA :\ E420= 68 h AND #&0F :\ E421= 29 0F ). .LE423 ORA #&30 :\ E423= 09 30 .0 STA &0600,Y :\ E425= 99 00 06 ... INY :\ E428= C8 H RTS :\ E429= 60 ` .LE42A LDA #&0E :\ E42A= A9 0E ). .LE42C LDX #&EE :\ E42C= A2 EE "n LDY #&02 :\ E42E= A0 02 . JMP OSWORD :\ E430= 4C F1 FF Lq. .LE433 LDY #&0F :\ E433= A0 0F . LDA #&FF :\ E435= A9 FF ). .LE437 STA &02EE,Y :\ E437= 99 EE 02 .n. DEY :\ E43A= 88 . BPL LE437 :\ E43B= 10 FA .z RTS :\ E43D= 60 ` .LE43E LDA &02F1 :\ E43E= AD F1 02 -q. LDX &02F3 :\ E441= AE F3 02 .s. STX &02F1 :\ E444= 8E F1 02 .q. STA &02F3 :\ E447= 8D F3 02 .s. RTS :\ E44A= 60 ` \ SERVICE 9 - *HELP \ ================= .LE44B LDA (&F2),Y :\ Get current character CMP #&0D:BNE LE477 :\ Exit if not BIT &02B7:BMI LE465 :\ If CUBAN-12B absent, skip text JSR LFFB3 :\ Print inline text EQUB 13:EQUS "CUBAN-12B":EQUB 13 NOP .LE465 BIT &02B9:BMI LE477 :\ If CUNAB-8 absent, skip text JSR LFFB3 :\ Print inline text EQUB 13:EQUS "CUBAN-8":EQUB 13 NOP .LE477 LDA #&09:RTS :\ Return unclaimed \ CUBAN SERVICE HANDLER - CU ANalogue system \ ========================================== .LE47A CMP #&07:BEQ LE4A4 :\ OSBYTE CMP #&08:BEQ LE4B0 :\ OSWORD CMP #&09:BEQ LE44B :\ *HELP CMP #&03:BNE LE49F :\ Not BOOT FS, exit \ SERVICE 3 - BOOT FS \ =================== LDA #LE71A AND 255:STA &0230 :\ Point INDV1 to LE71A LDA #LE71A DIV 256:STA &0231 LDX #LE4A0 AND 255 :\ Point to control block LDY #LE4A0 DIV 256 LDA #&14:JSR OSWORD :\ Call OSWORD 20 LDA #&03 .LE49F RTS .LE4A0 EQUB &00:EQUB &20:EQUB &40 .LE4A3 EQUB &FF \ SERVICE 7 - OSBYTE \ ================== .LE4A4 LDA &EF:LDX &F0:JSR LE4FF :\ Get A,X, call subhandler .LE4AB STX &F0:LDA #&00:RTS :\ Store X, claim and return \ SERVICE 8 - OSWORD \ ================== .LE4B0 LDA &EF:LDX &F0:JSR LE4BA :\ Get A,X, call subhandler JMP LE4AB :\ Jump to store X, claim and return \ OSWORD handler \ ============== .LE4BA CMP #&12:BEQ LE4F5 :\ Jump with OSWORD 18 CMP #&14:BEQ LE4C7 :\ Jump with OSWORD 20 PLA:PLA:LDA #&08:RTS :\ Drop return address and return unclaimed \ OSWORD 20 (&14) \ =============== .LE4C7 LDY #&03 .LE4C9 TYA:PHA:BIT LE4A3 :\ Set M, set V JSR LE52C :\ E4CE= 20 2C E5 ,e PLA :\ E4D1= 68 h TAY :\ E4D2= A8 ( TXA :\ E4D3= 8A . BEQ LE4F1 :\ E4D4= F0 1B p. CLC :\ E4D6= 18 . ADC (&F0),Y :\ E4D7= 71 F0 qp TAX :\ E4D9= AA * LDA (&F0),Y :\ E4DA= B1 F0 1p .LE4DC STA &02B7,Y :\ E4DC= 99 B7 02 .7. TXA :\ E4DF= 8A . STA &02BB,Y :\ E4E0= 99 BB 02 .;. DEY :\ E4E3= 88 . BPL LE4C9 :\ E4E4= 10 E3 .c LDY #&07 :\ E4E6= A0 07 . .LE4E8 LDA &02B7,Y :\ E4E8= B9 B7 02 97. STA (&F0),Y :\ E4EB= 91 F0 .p DEY :\ E4ED= 88 . BPL LE4E8 :\ E4EE= 10 F8 .x RTS :\ E4F0= 60 ` .LE4F1 DEX :\ E4F1= CA J TXA :\ E4F2= 8A . BNE LE4DC :\ E4F3= D0 E7 Pg \ OSWORD 18 (&12) \ =============== .LE4F5 LDY #&00:LDA (&F0),Y :\ Get byte from XY JSR LE513:BCC LE52A:RTS \ OSBYTE handler \ ============== .LE4FF CMP #&80:BEQ LE508 :\ Jump to do OSBYTE &80 - ADVAL PLA:PLA:LDA #&07:RTS :\ Drop return address, return unclaimed \ OSBYTE &80 - ADVAL \ ================== .LE508 TXA :\ Pass device number to A .LE509 JSR LE513:BCC LE52B LDX #&FF:LDY #&FF:RTS :\ Return -1 .LE513 LDY #&00 :\ E513= A0 00 . .LE515 CMP &02BB,Y :\ E515= D9 BB 02 Y;. BCS LE51F :\ E518= B0 05 0. CMP &02B7,Y :\ E51A= D9 B7 02 Y7. BCS LE525 :\ E51D= B0 06 0. .LE51F INY :\ E51F= C8 H CPY #&04 :\ E520= C0 04 @. BCC LE515 :\ E522= 90 F1 .q RTS :\ E524= 60 ` .LE525 SBC &02B7,Y :\ E525= F9 B7 02 y7. CLC :\ E528= 18 . RTS :\ E529= 60 ` .LE52A SEC :\ E52A= 38 8 .LE52B CLV :\ E52B= B8 8 .LE52C TAX :\ E52C= AA * LDA LE53B,Y :\ E52D= B9 3B E5 9;e PHA :\ E530= 48 H LDA LE537,Y :\ E531= B9 37 E5 97e PHA :\ E534= 48 H TXA :\ E535= 8A . RTS :\ E536= 60 ` .LE537 INX :\ E537= E8 h EQUB &9B :\ E538= 9B . STA LE59B :\ E539= 8D 9B E5 ..e INC &E5 :\ E53C= E6 E5 fe INC &AD :\ E53E= E6 AD f- BIT #&02 :\ E540= 89 02 .. CMP #&01 :\ E542= C9 01 I. BEQ LE54B :\ E544= F0 05 p. INY :\ E546= C8 H TYA :\ E547= 98 . ASL A :\ E548= 0A . TAY :\ E549= A8 ( INY :\ E54A= C8 H .LE54B DEY :\ E54B= 88 . BNE LE54B :\ E54C= D0 FD P} RTS :\ E54E= 60 ` .LE54F STX &E8 :\ E54F= 86 E8 .h STY &E9 :\ E551= 84 E9 .i STA &FA :\ E553= 85 FA .z LDX #&00 :\ E555= A2 00 ". .LE557 JSR LE56B :\ E557= 20 6B E5 ke BNE LE56A :\ E55A= D0 0E P. INX :\ E55C= E8 h CLC :\ E55D= 18 . LDA &E8 :\ E55E= A5 E8 %h ADC &FA :\ E560= 65 FA ez BCS LE56A :\ E562= B0 06 0. STA &E8 :\ E564= 85 E8 .h CPX #&08 :\ E566= E0 08 `. BCC LE557 :\ E568= 90 ED .m .LE56A RTS :\ E56A= 60 ` .LE56B LDY #&06 :\ E56B= A0 06 . LDA #&5A :\ E56D= A9 5A )Z STA (&E8),Y :\ E56F= 91 E8 .h LDY #&04 :\ E571= A0 04 . LDA #&00 :\ E573= A9 00 ). STA (&E8),Y :\ E575= 91 E8 .h LDY #&06 :\ E577= A0 06 . LDA (&E8),Y :\ E579= B1 E8 1h RTS :\ E57B= 60 ` .LE57C JSR LE54F :\ E57C= 20 4F E5 Oe TXA :\ E57F= 8A . ASL A :\ E580= 0A . ASL A :\ E581= 0A . ASL A :\ E582= 0A . ASL A :\ E583= 0A . TAX :\ E584= AA * RTS :\ E585= 60 ` .LE586 LDX #&00 :\ E586= A2 00 ". LDY #&DB :\ E588= A0 DB [ LDA #&40 :\ E58A= A9 40 )@ BNE LE57C :\ E58C= D0 EE Pn BVS LE586 :\ E58E= 70 F6 pv BCS LE5B6 :\ E590= B0 24 0$ JSR LE5A4 :\ E592= 20 A4 E5 $e STA LDB10,X :\ E595= 9D 10 DB ..[ LDY #&10 :\ E598= A0 10 . JSR LE53F :\ E59A= 20 3F E5 ?e LDY LDB10,X :\ E59D= BC 10 DB <.[ LDX #&00 :\ E5A0= A2 00 ". CLC :\ E5A2= 18 . RTS :\ E5A3= 60 ` .LE5A4 CMP #&10 :\ E5A4= C9 10 I. BCC LE5B4 :\ E5A6= 90 0C .. TAX :\ E5A8= AA * AND #&30 :\ E5A9= 29 30 )0 ASL A :\ E5AB= 0A . ASL A :\ E5AC= 0A . STA &F0 :\ E5AD= 85 F0 .p TXA :\ E5AF= 8A . AND #&0F :\ E5B0= 29 0F ). ORA &F0 :\ E5B2= 05 F0 .p .LE5B4 TAX :\ E5B4= AA * RTS :\ E5B5= 60 ` .LE5B6 ROR A :\ E5B6= 6A j ROR A :\ E5B7= 6A j ROR A :\ E5B8= 6A j AND #&C0 :\ E5B9= 29 C0 )@ TAX :\ E5BB= AA * LDY #&02 :\ E5BC= A0 02 . LDA (&F0),Y :\ E5BE= B1 F0 1p STA LDB20,X :\ E5C0= 9D 20 DB . [ CLC :\ E5C3= 18 . RTS :\ E5C4= 60 ` .LE5C5 LDX #&00 :\ E5C5= A2 00 ". LDY #&DC :\ E5C7= A0 DC \ LDA #&10 :\ E5C9= A9 10 ). JSR LE57C :\ E5CB= 20 7C E5 |e PHA :\ E5CE= 48 H .LE5CF TXA :\ E5CF= 8A . SEC :\ E5D0= 38 8 SBC #&10 :\ E5D1= E9 10 i. TAX :\ E5D3= AA * BMI LE5E5 :\ E5D4= 30 0F 0. LDA #&0F :\ E5D6= A9 0F ). STA LDC00,X :\ E5D8= 9D 00 DC ..\ STA LDC02,X :\ E5DB= 9D 02 DC ..\ LDA #&05 :\ E5DE= A9 05 ). STA LDC00,X :\ E5E0= 9D 00 DC ..\ BNE LE5CF :\ E5E3= D0 EA Pj .LE5E5 PLA :\ E5E5= 68 h LSR A :\ E5E6= 4A J TAX :\ E5E7= AA * RTS :\ E5E8= 60 ` BVS LE5C5 :\ E5E9= 70 DA pZ BCS LE5FE :\ E5EB= B0 11 0. JSR LE654 :\ E5ED= 20 54 E6 Tf JSR LE660 :\ E5F0= 20 60 E6 `f LDY #&03 :\ E5F3= A0 03 . JSR LE53F :\ E5F5= 20 3F E5 ?e JSR LE673 :\ E5F8= 20 73 E6 sf TAX :\ E5FB= AA * CLC :\ E5FC= 18 . RTS :\ E5FD= 60 ` .LE5FE PHA :\ E5FE= 48 H ROR A :\ E5FF= 6A j ROR A :\ E600= 6A j ROR A :\ E601= 6A j AND #&C0 :\ E602= 29 C0 )@ STA &FA :\ E604= 85 FA .z PLA :\ E606= 68 h ASL A :\ E607= 0A . ASL A :\ E608= 0A . AND #&F0 :\ E609= 29 F0 )p TAX :\ E60B= AA * LDY #&00 :\ E60C= A0 00 . STY &02B3 :\ E60E= 8C B3 02 .3. INY :\ E611= C8 H LDA (&F0),Y :\ E612= B1 F0 1p LSR A :\ E614= 4A J LSR A :\ E615= 4A J LSR A :\ E616= 4A J LSR A :\ E617= 4A J STA &02B6 :\ E618= 8D B6 02 .6. INY :\ E61B= C8 H LDA (&F0),Y :\ E61C= B1 F0 1p AND #&0F :\ E61E= 29 0F ). STA &02B5 :\ E620= 8D B5 02 .5. LDA (&F0),Y :\ E623= B1 F0 1p LSR A :\ E625= 4A J LSR A :\ E626= 4A J LSR A :\ E627= 4A J LSR A :\ E628= 4A J STA &02B4 :\ E629= 8D B4 02 .4. LDA #&FF :\ E62C= A9 FF ). STA LDC03,X :\ E62E= 9D 03 DC ..\ LDY #&03 :\ E631= A0 03 . .LE633 LDA &02B3,Y :\ E633= B9 B3 02 93. ORA &FA :\ E636= 05 FA .z STA LDC01,X :\ E638= 9D 01 DC ..\ LDA LDC00,X :\ E63B= BD 00 DC =.\ AND #&FE :\ E63E= 29 FE )~ STA LDC00,X :\ E640= 9D 00 DC ..\ ORA #&01 :\ E643= 09 01 .. STA LDC00,X :\ E645= 9D 00 DC ..\ CLC :\ E648= 18 . LDA &FA :\ E649= A5 FA %z ADC #&10 :\ E64B= 69 10 i. STA &FA :\ E64D= 85 FA .z DEY :\ E64F= 88 . BPL LE633 :\ E650= 10 E1 .a CLC :\ E652= 18 . RTS :\ E653= 60 ` .LE654 PHA :\ E654= 48 H ASL A :\ E655= 0A . AND #&F0 :\ E656= 29 F0 )p TAX :\ E658= AA * PLA :\ E659= 68 h AND #&07 :\ E65A= 29 07 ). STA LDC01,X :\ E65C= 9D 01 DC ..\ RTS :\ E65F= 60 ` .LE660 LDA #&FF :\ E660= A9 FF ). STA LDC03,X :\ E662= 9D 03 DC ..\ JSR LE672 :\ E665= 20 72 E6 rf LDA LDC00,X :\ E668= BD 00 DC =.\ ORA #&0F :\ E66B= 09 0F .. AND #&F1 :\ E66D= 29 F1 )q STA LDC00,X :\ E66F= 9D 00 DC ..\ .LE672 RTS :\ E672= 60 ` .LE673 LDA #&00 :\ E673= A9 00 ). STA LDC03,X :\ E675= 9D 03 DC ..\ LDA LDC00,X :\ E678= BD 00 DC =.\ ORA #&0F :\ E67B= 09 0F .. AND #&FB :\ E67D= 29 FB ){ STA LDC00,X :\ E67F= 9D 00 DC ..\ LDY LDC01,X :\ E682= BC 01 DC <.\ STY &F0 :\ E685= 84 F0 .p AND #&F3 :\ E687= 29 F3 )s STA LDC00,X :\ E689= 9D 00 DC ..\ LDY LDC01,X :\ E68C= BC 01 DC <.\ ORA #&07 :\ E68F= 09 07 .. STA LDC00,X :\ E691= 9D 00 DC ..\ AND #&F5 :\ E694= 29 F5 )u STA LDC00,X :\ E696= 9D 00 DC ..\ LDA &F0 :\ E699= A5 F0 %p RTS :\ E69B= 60 ` LDX #&00 :\ E69C= A2 00 ". SEC :\ E69E= 38 8 RTS :\ E69F= 60 ` .LE6A0 AND #&3F :\ E6A0= 29 3F )? ORA #&80 :\ E6A2= 09 80 .. STA &0349 :\ E6A4= 8D 49 03 .I. BNE LE6B9 :\ E6A7= D0 10 P. \ IND1V &03 \ --------- .LE6A9 LDA &0349 :\ E6A9= AD 49 03 -I. LDX &034A :\ E6AC= AE 4A 03 .J. BNE LE6A0 :\ E6AF= D0 EF Po CMP #&C0 :\ E6B1= C9 C0 I@ BCS LE6F2 :\ E6B3= B0 3D 0= CMP #&0E :\ E6B5= C9 0E I. BCC LE6F2 :\ E6B7= 90 39 .9 .LE6B9 LDX #&02 :\ E6B9= A2 02 ". .LE6BB LDA &0348,X :\ E6BB= BD 48 03 =H. STA &0354,X :\ E6BE= 9D 54 03 .T. DEX :\ E6C1= CA J BPL LE6BB :\ E6C2= 10 F7 .w LDA &0347 :\ E6C4= AD 47 03 -G. ORA &0346 :\ E6C7= 0D 46 03 .F. BNE LE6DD :\ E6CA= D0 11 P. SEC :\ E6CC= 38 8 LDA &0344 :\ E6CD= AD 44 03 -D. SBC &0263 :\ E6D0= ED 63 02 mc. LDA &0345 :\ E6D3= AD 45 03 -E. BEQ LE70B :\ E6D6= F0 33 p3 SBC &0264 :\ E6D8= ED 64 02 md. BCC LE712 :\ E6DB= 90 35 .5 .LE6DD LDA &0289 :\ E6DD= AD 89 02 -.. CMP #&01 :\ E6E0= C9 01 I. BEQ LE6F0 :\ E6E2= F0 0C p. ASL &0344 :\ E6E4= 0E 44 03 .D. ROL &0345 :\ E6E7= 2E 45 03 .E. ROL &0346 :\ E6EA= 2E 46 03 .F. ROL &0347 :\ E6ED= 2E 47 03 .G. .LE6F0 CLC :\ E6F0= 18 . RTS :\ E6F1= 60 ` .LE6F2 BRK :\ E6F2= 00 . EQUB &FC :\ E6F3= FC | EQUB &42 :\ E6F4= 42 B ADC (&64,X) :\ E6F5= 61 64 ad JSR &6461 :\ E6F7= 20 61 64 ad STZ &72 :\ E6FA= 64 72 dr ADC &73 :\ E6FC= 65 73 es EQUB &73 :\ E6FE= 73 s BRK :\ E6FF= 00 . .LE700 BRK :\ E700= 00 . LSR &42 :\ E701= 46 42 FB ADC (&64,X) :\ E703= 61 64 ad JSR &6172 :\ E705= 20 72 61 ra STZ &65,X :\ E708= 74 65 te BRK :\ E70A= 00 . .LE70B LDA &0344 :\ E70B= AD 44 03 -D. CMP #&64 :\ E70E= C9 64 Id BCC LE700 :\ E710= 90 EE .n .LE712 LDA &034D :\ E712= AD 4D 03 -M. BNE LE700 :\ E715= D0 E9 Pi JMP LE873 :\ E717= 4C 73 E8 Lsh \ IND1V pointed to here \ ===================== .LE71A CMP #&02:BEQ LE729 CMP #&01:BEQ LE792 CMP #&03:BNE LE766:JMP LE6A9 \ IND1V &02 \ --------- .LE729 LDA &F4 :\ E729= A5 F4 %t PHA :\ E72B= 48 H LDA &034C :\ E72C= AD 4C 03 -L. STA &0353 :\ E72F= 8D 53 03 .S. JSR LE861 :\ E732= 20 61 E8 ah .LE735 LDA &0353 :\ E735= AD 53 03 -S. JSR LE509 :\ E738= 20 09 E5 .e TYA :\ E73B= 98 . LDY #&01 :\ E73C= A0 01 . STA (&FA),Y :\ E73E= 91 FA .z DEY :\ E740= 88 . TXA :\ E741= 8A . STA (&FA),Y :\ E742= 91 FA .z JSR LE767 :\ E744= 20 67 E7 gg INC &0353 :\ E747= EE 53 03 nS. LDA &034D :\ E74A= AD 4D 03 -M. CMP &0353 :\ E74D= CD 53 03 MS. BCS LE735 :\ E750= B0 E3 0c .LE752 LDA &FA :\ E752= A5 FA %z STA &0354 :\ E754= 8D 54 03 .T. LDA &FB :\ E757= A5 FB %{ STA &0355 :\ E759= 8D 55 03 .U. LDA &F4 :\ E75C= A5 F4 %t STA &0356 :\ E75E= 8D 56 03 .V. PLA :\ E761= 68 h JSR LE84A :\ E762= 20 4A E8 Jh SEC :\ E765= 38 8 .LE766 RTS :\ E766= 60 ` .LE767 CLC :\ E767= 18 . LDA #&02 :\ E768= A9 02 ). ADC &FA :\ E76A= 65 FA ez STA &FA :\ E76C= 85 FA .z BCC LE783 :\ E76E= 90 13 .. .LE770 INC &FB :\ E770= E6 FB f{ LDA &FB :\ E772= A5 FB %{ CMP #&C0 :\ E774= C9 C0 I@ BCC LE783 :\ E776= 90 0B .. INC &F4 :\ E778= E6 F4 ft LDA &F4 :\ E77A= A5 F4 %t STA LFE30 :\ E77C= 8D 30 FE .0~ LDA #&80 :\ E77F= A9 80 ). STA &FB :\ E781= 85 FB .{ .LE783 RTS :\ E783= 60 ` .LE784 BRK :\ E784= 00 . EQUB &47 :\ E785= 47 G EQUB &42 :\ E786= 42 B ADC (&64,X) :\ E787= 61 64 ad JSR &6863 :\ E789= 20 63 68 ch ADC (&6E,X) :\ E78C= 61 6E an ROR &6C65 :\ E78E= 6E 65 6C nel BRK :\ E791= 00 . \ IND1V &01 \ --------- .LE792 STX &E8 :\ E792= 86 E8 .h STY &E9 :\ E794= 84 E9 .i LDY #&04 :\ E796= A0 04 . LDA (&E8),Y :\ E798= B1 E8 1h TAY :\ E79A= A8 ( SEC :\ E79B= 38 8 SBC &034C :\ E79C= ED 4C 03 mL. BEQ LE7AA :\ E79F= F0 09 p. BCC LE784 :\ E7A1= 90 E1 .a CPY &034D :\ E7A3= CC 4D 03 LM. BEQ LE7AA :\ E7A6= F0 02 p. BCS LE784 :\ E7A8= B0 DA 0Z .LE7AA PHA :\ E7AA= 48 H CLC :\ E7AB= 18 . LDX #&02 :\ E7AC= A2 02 ". LDY #&00 :\ E7AE= A0 00 . .LE7B0 LDA (&E8),Y :\ E7B0= B1 E8 1h SBC #&00 :\ E7B2= E9 00 i. STA &0357,Y :\ E7B4= 99 57 03 .W. STA &02B3,Y :\ E7B7= 99 B3 02 .3. INY :\ E7BA= C8 H DEX :\ E7BB= CA J BPL LE7B0 :\ E7BC= 10 F2 .r LDA &034D :\ E7BE= AD 4D 03 -M. SEC :\ E7C1= 38 8 SBC &034C :\ E7C2= ED 4C 03 mL. BEQ LE7E1 :\ E7C5= F0 1A p. BCC LE7E1 :\ E7C7= 90 18 .. STA &FA :\ E7C9= 85 FA .z .LE7CB LDX #&02 :\ E7CB= A2 02 ". LDY #&00 :\ E7CD= A0 00 . CLC :\ E7CF= 18 . .LE7D0 LDA &0357,Y :\ E7D0= B9 57 03 9W. ADC &02B3,Y :\ E7D3= 79 B3 02 y3. STA &0357,Y :\ E7D6= 99 57 03 .W. INY :\ E7D9= C8 H DEX :\ E7DA= CA J BPL LE7D0 :\ E7DB= 10 F3 .s DEC &FA :\ E7DD= C6 FA Fz BNE LE7CB :\ E7DF= D0 EA Pj .LE7E1 CLC :\ E7E1= 18 . PLA :\ E7E2= 68 h ADC &0357 :\ E7E3= 6D 57 03 mW. STA &0357 :\ E7E6= 8D 57 03 .W. BCC LE7F3 :\ E7E9= 90 08 .. INC &0358 :\ E7EB= EE 58 03 nX. BNE LE7F3 :\ E7EE= D0 03 P. INC &0359 :\ E7F0= EE 59 03 nY. .LE7F3 CLC :\ E7F3= 18 . ROL &0357 :\ E7F4= 2E 57 03 .W. ROL &0358 :\ E7F7= 2E 58 03 .X. ROL &0359 :\ E7FA= 2E 59 03 .Y. LDA &F4 :\ E7FD= A5 F4 %t PHA :\ E7FF= 48 H LDX #&08 :\ E800= A2 08 ". JSR LE863 :\ E802= 20 63 E8 ch CLC :\ E805= 18 . LDA &0357 :\ E806= AD 57 03 -W. ADC &FA :\ E809= 65 FA ez STA &FA :\ E80B= 85 FA .z INC &0358 :\ E80D= EE 58 03 nX. INC &0359 :\ E810= EE 59 03 nY. BCC LE818 :\ E813= 90 03 .. .LE815 JSR LE770 :\ E815= 20 70 E7 pg .LE818 DEC &0358 :\ E818= CE 58 03 NX. BNE LE815 :\ E81B= D0 F8 Px DEC &0359 :\ E81D= CE 59 03 NY. BNE LE815 :\ E820= D0 F3 Ps SEC :\ E822= 38 8 LDA &FA :\ E823= A5 FA %z SBC &0354 :\ E825= ED 54 03 mT. LDA &FB :\ E828= A5 FB %{ SBC &0355 :\ E82A= ED 55 03 mU. LDA &F4 :\ E82D= A5 F4 %t SBC &0356 :\ E82F= ED 56 03 mV. BCS LE850 :\ E832= B0 1C 0. LDA #&00 :\ E834= A9 00 ). JSR LE857 :\ E836= 20 57 E8 Wh LDY #&00 :\ E839= A0 00 . LDA (&FA),Y :\ E83B= B1 FA 1z TAX :\ E83D= AA * INY :\ E83E= C8 H LDA (&FA),Y :\ E83F= B1 FA 1z LDY #&06 :\ E841= A0 06 . STA (&E8),Y :\ E843= 91 E8 .h DEY :\ E845= 88 . TXA :\ E846= 8A . STA (&E8),Y :\ E847= 91 E8 .h .LE849 PLA :\ E849= 68 h .LE84A STA &F4 :\ E84A= 85 F4 .t STA LFE30 :\ E84C= 8D 30 FE .0~ RTS :\ E84F= 60 ` .LE850 LDA #&FF :\ E850= A9 FF ). JSR LE857 :\ E852= 20 57 E8 Wh BEQ LE849 :\ E855= F0 F2 pr .LE857 LDY #&05 :\ E857= A0 05 . .LE859 STA (&E8),Y :\ E859= 91 E8 .h INY :\ E85B= C8 H CPY #&09 :\ E85C= C0 09 @. BNE LE859 :\ E85E= D0 F9 Py RTS :\ E860= 60 ` .LE861 LDX #&14 :\ E861= A2 14 ". .LE863 LDA &0340,X :\ E863= BD 40 03 =@. STA &FA :\ E866= 85 FA .z LDA &0341,X :\ E868= BD 41 03 =A. STA &FB :\ E86B= 85 FB .{ LDA &0342,X :\ E86D= BD 42 03 =B. JMP LE84A :\ E870= 4C 4A E8 LJh .LE873 JSR LE6DD :\ E873= 20 DD E6 ]f LDA &F4 :\ E876= A5 F4 %t PHA :\ E878= 48 H LDA &0344 :\ E879= AD 44 03 -D. STA LFE06 :\ E87C= 8D 06 FE ..~ LDA &0345 :\ E87F= AD 45 03 -E. STA LFE05 :\ E882= 8D 05 FE ..~ LDA &0340 :\ E885= AD 40 03 -@. ASL A :\ E888= 0A . TAX :\ E889= AA * LDA &0341 :\ E88A= AD 41 03 -A. ROL A :\ E88D= 2A * STA &EF :\ E88E= 85 EF .o LDA &0342 :\ E890= AD 42 03 -B. ROL A :\ E893= 2A * STA &F0 :\ E894= 85 F0 .p TXA :\ E896= 8A . CLC :\ E897= 18 . ADC &0354 :\ E898= 6D 54 03 mT. BCC LE8A3 :\ E89B= 90 06 .. INC &EF :\ E89D= E6 EF fo BNE LE8A3 :\ E89F= D0 02 P. INC &F0 :\ E8A1= E6 F0 fp .LE8A3 JSR LE861 :\ E8A3= 20 61 E8 ah LDA &034C :\ E8A6= AD 4C 03 -L. JSR LE8B2 :\ E8A9= 20 B2 E8 2h JMP LE752 :\ E8AC= 4C 52 E7 LRg .LE8AF JMP LE784 :\ E8AF= 4C 84 E7 L.g .LE8B2 JSR LE513 :\ E8B2= 20 13 E5 .e BCS LE8AF :\ E8B5= B0 F8 0x CPY #&02 :\ E8B7= C0 02 @. LDY &FA :\ E8B9= A4 FA $z LDX #&00 :\ E8BB= A2 00 ". STX &FA :\ E8BD= 86 FA .z INC &EF :\ E8BF= E6 EF fo INC &F0 :\ E8C1= E6 F0 fp BCS LE910 :\ E8C3= B0 4B 0K JSR LE654 :\ E8C5= 20 54 E6 Tf JSR LE660 :\ E8C8= 20 60 E6 `f .LE8CB BIT LFE0D :\ E8CB= 2C 0D FE ,.~ BVC LE8CB :\ E8CE= 50 FB P{ LDA LFE04 :\ E8D0= AD 04 FE -.~ INC LDC03,X :\ E8D3= FE 03 DC ~.\ LDA #&F3 :\ E8D6= A9 F3 )s STA LDC00,X :\ E8D8= 9D 00 DC ..\ LDA LDC01,X :\ E8DB= BD 01 DC =.\ PHA :\ E8DE= 48 H LDA #&FB :\ E8DF= A9 FB ){ STA LDC00,X :\ E8E1= 9D 00 DC ..\ LDA LDC01,X :\ E8E4= BD 01 DC =.\ PHA :\ E8E7= 48 H LDA #&F5 :\ E8E8= A9 F5 )u STA LDC00,X :\ E8EA= 9D 00 DC ..\ DEC LDC03,X :\ E8ED= DE 03 DC ^.\ PLA :\ E8F0= 68 h STA (&FA),Y :\ E8F1= 91 FA .z INY :\ E8F3= C8 H LDA #&F1 :\ E8F4= A9 F1 )q STA LDC00,X :\ E8F6= 9D 00 DC ..\ PLA :\ E8F9= 68 h STA (&FA),Y :\ E8FA= 91 FA .z INY :\ E8FC= C8 H BNE LE8CB :\ E8FD= D0 CC PL JSR LE770 :\ E8FF= 20 70 E7 pg DEC &EF :\ E902= C6 EF Fo BNE LE8CB :\ E904= D0 C5 PE DEC &F0 :\ E906= C6 F0 Fp BNE LE8CB :\ E908= D0 C1 PA LDA #&F5 :\ E90A= A9 F5 )u STA LDC00,X :\ E90C= 9D 00 DC ..\ RTS :\ E90F= 60 ` .LE910 JSR LE5A4 :\ E910= 20 A4 E5 $e STA LDB10,X :\ E913= 9D 10 DB ..[ .LE916 LDA LFE0D :\ E916= AD 0D FE -.~ AND #&40 :\ E919= 29 40 )@ BEQ LE916 :\ E91B= F0 F9 py LDA LFE04 :\ E91D= AD 04 FE -.~ LDA #&00 :\ E920= A9 00 ). STA (&FA),Y :\ E922= 91 FA .z LDA LDB10,X :\ E924= BD 10 DB =.[ STA LDB10,X :\ E927= 9D 10 DB ..[ INY :\ E92A= C8 H STA (&FA),Y :\ E92B= 91 FA .z INY :\ E92D= C8 H BNE LE916 :\ E92E= D0 E6 Pf JSR LE770 :\ E930= 20 70 E7 pg DEC &EF :\ E933= C6 EF Fo BNE LE916 :\ E935= D0 DF P_ DEC &F0 :\ E937= C6 F0 Fp BNE LE916 :\ E939= D0 DB P[ RTS :\ E93B= 60 ` BBS 7,&FF,&E93E :\ E93C= FF FF FF ... BBS 7,&20,&E97E :\ E93F= FF \ OSARGS \ ====== .LE940 JSR LEA3C:PHA :\ Check if Serial available, save A LDA #&FB:JSR LF54A :\ Send command &FB to Serial port TYA:JSR LF53C :\ Send Y to Serial port PLA:JSR LF53C :\ Send A to Serial port STY &B0 :\ Save Y in FS workspace LDY #&03 :\ Count 4 bytes to send .LE955 LDA &00,X:JSR LF53C :\ Send byte from data word, lo..hi INX:DEY:BPL LE955 :\ Loop for four bytes JSR LEA44 JSR LF565:PHA :\ Get returned A LDY #&03 :\ Count 4 bytes to receive .LE967 JSR LF565 :\ Get byte from serial port DEX:STA &00,X :\ Store byte in data word hi..lo DEY:BPL LE967 :\ Loop for four bytes LDY &B0 :\ Restore Y back LSR &0245 PLA:RTS :\ Get returned A back and return \ OSBGET \ ====== .LE977 JSR LEA3C :\ Check if Serial available LDA #&FD:JSR LF54A :\ Send command &FD to serial port TYA:JSR LF53C :\ Send Y to serial port JSR LEA44 JSR LF565:PHA JSR LF565 :\ E98A= 20 65 F5 eu LSR &0245 :\ E98D= 4E 45 02 NE. ASL A :\ E990= 0A . PLA :\ E991= 68 h RTS :\ E992= 60 ` \ OSBPUT \ ====== .LE993 JSR LEA3C:PHA :\ Check is Serial available, save A LDA #&FE:JSR LF54A :\ Send command &FE to serial port TYA:JSR LF53C :\ Send Y to serial port PLA:JMP LF53C :\ Send A to serial port \ OSFIND \ ====== .LE9A4 JSR LEA3C:PHA :\ Check if serial available, save A LDA #&FC:JSR LF54A :\ Send command &FC to serial port PLA:JSR LF53C :\ Send A to command port BEQ LE9C0 :\ E9B1= F0 0D p. JSR LEA2B :\ E9B3= 20 2B EA +j JSR LEA44 :\ E9B6= 20 44 EA Dj JSR LF565 :\ E9B9= 20 65 F5 eu LSR &0245 :\ E9BC= 4E 45 02 NE. RTS :\ E9BF= 60 ` .LE9C0 TYA:JSR LF53C :\ Send Y to serial port LDA #&00:RTS :\ Restore A=0 and return \ Send OSBYTE via serial port \ =========================== .LE9C7 LSR &0245 :\ Do something .LE9CA LDA #&FF:RTS :\ Return with A=&FF - Failed \ Send OSBYTE in &EF/F0/F1 to Serial port \ --------------------------------------- .LE9CD BIT &0247:BMI LE9CA :\ If b7=1, exit failed LDA &EF :\ Get A paameter LDY &F1:LDX &F0 :\ Get X,Y parameters .LE9D8 PHA:CLI :\ Save A, enable IRQs LDA #&07:JSR LF54A :\ Send command &07 to SerOut PLA:JSR LF53C :\ Send A to SerOut TXA:JSR LF53C :\ Send X to SerOut TYA:JSR LF53C :\ Send Y to SerOut JSR LEA4F:BNE LE9C7 :\ If something<>0, quit JSR LF565:TAX :\ Get returned X JSR LF565:TAY :\ Get returned Y JSR LF565 :\ Get returned Cy to A.b7 LSR &0245 :\ Do something to &0245 ROL A :\ Move b7 to Cy SEI:STX &F0 :\ Disable IRQs, store X LDA #&00:RTS :\ Return with A=0 - Ok \ FSC \ === .LEA05 CMP #&08:BEQ LEA3B :\ Command starting, exit .LEA09 CMP #&06:BEQ LEA3B :\ New FS starting, exit .LEA0D JSR LEA3C :\ Check serial available CMP #&05:BEQ LEA28 :\ *CAT CMP #&03:BEQ LEA28 :\ Unknown command CMP #&00:BEQ LEA24 :\ *OPT CMP #&01:BNE LEA41 :\ Not =EOF, give 'Bad command' LDA #&7F:BNE LE9D8 :\ Do =EOF via OSBYTE 127 .LEA24 LDA #&8B:BNE LE9D8 :\ Do *OPT via OSBYTE 139 \ *CAT (A=5), *command (A=3) .LEA28 JSR LF54A :\ Send command to serial port .LEA2B STX &B4:STY &B5 :\ Store XY pointer to string LDY #&FF :\ Point to before string .LEA31 INY :\ Point to current character LDA (&B4),Y:JSR LF53C :\ Send character to serial port CMP #&0D:BNE LEA31 :\ Loop until sent .LEA3B RTS \ Check if serial commands can be sent \ ==================================== .LEA3C BIT &0247:BPL LEA3B :\ If b7=0, exit .LEA41 JMP LFC05 :\ Jump to 'Bad command' error .LEA44 JSR LEA4F :\ EA44= 20 4F EA Oj BEQ LEA58 :\ EA47= F0 0F p. LSR &0245 :\ EA49= 4E 45 02 NE. JMP LEF9E :\ EA4C= 4C 9E EF L.o .LEA4F SEC :\ EA4F= 38 8 ROL &0245 :\ EA50= 2E 45 02 .E. .LEA53 JSR LF565 :\ EA53= 20 65 F5 eu BCC LEA53 :\ EA56= 90 FB .{ .LEA58 RTS :\ EA58= 60 ` \ OSGBPB \ ====== .LEA59 JSR LEA3C :\ Check if serial available STA &B0 :\ Save A STX &B1:STY &B2 :\ Save pointer to control block LDA #&FA:JSR LF54A :\ Send command &FA to serial port LDA &B0:JSR LF53C :\ Send A to serial port LDY #&0C :\ Control block is 13 bytes long .LEA6E LDA (&B1),Y:STA &00B3,Y :\ Copy control block to workspace JSR LF53C :\ Send control block to serial port DEY:BPL LEA6E :\ Loop for 13 bytes INY:LDA &B0 :\ Y=0, Get A back CMP #&03:BCC LEA9B :\ If WriteData, jump... :\ ReadData JSR LEA44 .LEA83 JSR LF565:BCS LEAAB :\ Get returned byte, jump if ended STA (&B4),Y :\ Store at data address JSR LEBEA:BCC LEA83 :\ Inc addr, loop for next .LEA8F DEC &B9 :\ Dec num.hi .LEA91 DEC &B8 :\ Dec num.lo LDA (&B4),Y:JSR LF53C :\ Send byte from data address JSR LEBEA :\ Inc addr .LEA9B LDA &B8:BNE LEA91 :\ If num.lo<>0, jump to send bytes LDA &B9:BNE LEA8F :\ If num