2016-11-16 11:06 omnimon-xl.src Page 1 ;* Neil Cherry ;* October 22, 2016 ;* Incomplete Atari Omnimon XL listing (A Work in Progress) ;* ;* It took me a little while to realize that this file is just the OS part of the ;* Omnimon XL chip. ;* ;* On the Atari 800, Omnimon exists in 2 4K banks that can be swapped in and out ;* while Omnimon runs (share code at the same address for the command line). This ;* appears to be what the $C000 and $5000 sections are below. ;* Omnimon XL entry points: ;* $C001 = USR(49153) ;* $E6F3 = Unknown (?) UNKVEntry (Wierd, matches IRQ Entry point) ;* $E791 = NMI NMIVEntry ;* $F125 = Reset RSTVEntry ;* $E6F3 = IRQ/BRK IRQVEntry ; The OSNXL Operating System (27128 - 16K) ; ROM Address Computer Address Function ; 0000-0FFF C000-CFFF Omnimon (XL/XE, 49152 - 53247) ; 1000-17FF 5000-57FF Omnimon (See Note 1, 20480 - 22527) ; 1800-1FFF D800-DFFF Fastchip FP Routines (55296 - 57343) ; 2000-3FFF E000-FFFF OS (This file, 57344 - 65535) ; ; Note 1: This portion of the rom is only visible to the computer when ; bit 7 of address $D301 is 0. When this occurs, the portion of the OS ; is mapped over the RAM at location $5000. ; .include omnimon-a.m65 (4K) ; .include omnimon-b.m65 (2K) ; .include fastchip.m65 (2K) ; .include omnimon-os.m65 (8K) - this file ;--- -------- ------ -------- ----------------- ------------------ =0000 000010 * = $E400 ; =7000 000015 .set 6,-$9000 =0000 000010 * = $E400 =D01F 000016 CONSOL = $D01F ; njc =E459 000020 SIOV = $E459 =E45C 000025 SETVBV = $E450 =E468 000030 SENDEV = $E46S ; 5400 FBF3 000035 EDITOR .WORD $F3FC-1 ;* 5402 33F6 000040 .WORD $F634-1 ;* 5404 3DF6 000045 .WORD $F63E-1 ;* 5406 A3F6 000050 .WORD $F6A4-1 ;* 5408 33FC 000055 .WORD $F634~1 ;* 540A 3CF6 000060 .WORD $F63D-1 ;* 540C 4CD0F3 000065 JMP $F3D0 ;* PWRONA 540F 00 000070 .BYTE 0 ;* ; 5410 F5FE 000075 DISPLA .WORD $F3F6-1 ;* 5412 33F6 000080 .WORD $F634~1 ;* 5414 92F5 000085 .WORD $F593~1 ;* 5416 B6F5 000090 .WORD $F5B7-1 ;* 2016-11-16 11:06 omnimon-xl.src Page 2 5418 33F6 000095 .WORD $F634-1 ;* 541A DCFC 000100 .WORD $FCDD~1 ;* 541C 4CD0F3 000105 JMP $F3D0 ;* 541F 00 000110 .BYTE 0 ;* ; 5420 33F6 000115 KBDHND .WORD $F634-1 ;* 5422 33F6 000120 .WORD $F634-1 ;* 5424 E1F6 000125 .WORD $F6E2-1 ;* 5426 3CF6 000130 .WORD $F63D~1 ;* 5428 33F6 000135 .WORD $F634~i ;* 542A 3CF6 000140 .WORD $F63D-1 ;* 542C 4CD0F3 000145 JMP $F3D0 ;* 542F 00 000150 .BYTE 0 ;* ; 5430 9EEE 000155 PTRHND .WORD PHOPEN-1 ;* 5432 DBEE 000160 .WORD PHCLOS-1 ;* 5434 9DEE 000165 .WORD BADST-1 ;* 5436 A6EE 000170 .WORD PHWRIT-1 ;* 5438 80EE 000175 .WORD PHSTAT~1 ;* 543A 9DEE 000180 .WORD BADST-1 ;* 543C 4C78EE 000185 JMP PHINIT ;* 543F 00 000190 .byte 0 ;* ; 5440 4BEF 000195 CASHND .WORD OPENC-1 ;* 5442 2AF0 000200 .WORD $F02B-1 ;* 5444 D5EF 000205 .WORD GBYTE-1 ;* 5446 0FF0 000210 .WORD $F010-1 ;* 5448 27F0 000215 .WORD $F028-1 ;* 544A 4AEF 000220 .WORD SPECIA-1 ;* 544C 4C41EF 000225 JMP INIT ;* 544F 00 000230 .BYTE 0 ;* ; 5450 4CEAED 000235 JMP DINIT ;* 5453 4CF0ED 000240 JMP DSKIF ;* ; LE456 (I think) 5456 4CC4E4 000245 JMP CIO ;* ; LE459 (I think) 5459 4C59E9 000250 JMP SIO ;* 545C 4CEDE8 000255 JMP SETVBL ;* 545F 4CAEE7 000260 JMP SYSVBL ;* 5462 4C05E9 000265 JMP XITVBL ;* 5465 4C44E9 000270 JMP SIOINT ;* 5468 4CF2EB 000275 JMP SENDEN ;* 546B 4CD5E6 000280 JMP IHINIT ;* 546E 4CA6E4 000285 JMP CIOINT ;* 5471 4CC9F2 000290 JMP BLACKB ;* 5474 4C1BF1 000295 JMP RESET ;* 5477 4C25F1 000300 JMP PWRUP ;* 547A 4CE9EF 000305 JMP RBLOK ;* 547D 4C50EF 000310 JMP OPIMP ;* 5480 90E7 000315 .WORD SYRTI ;* 5482 8FE7 000320 .WORD SYIRQB ;* 5484 8FE7 000325 .WORD SYIRQB ;* 5486 8FE7 000330 .WORD SYIRQB ;* 5488 BEFF 000335 .WORD $FFBE ;* 548A 0FEB 000340 .WORD ISRSIR ;* 2016-11-16 11:06 omnimon-xl.src Page 3 548C 90EA 000345 .WORD ISRODN ;* 548E CFEA 000350 .WORD ISRTD ;* 5490 8F37 000355 .WORD SYIRQB ;* 5492 8FE7 000360 .WORD SYIRQB ;* 5494 8FE7 000365 .WORD SYIRQB ;* 5496 06E7 000370 .WORD SYIRQ ;* 5498 00000000 000375 .BYTE 0,0,0,0,0,0,0,0,0,0 ;* 549C 00000000 54A0 0000 ; 54A2 AEE7 000380 .WORD SYSVBL ;* 54A4 05E9 000385 .WORD XITVBL ;* ; 54A6 A200 000390 CIOINT LDX #0 ;* 54A8 A9FF 000395 CI0I1 LDA #$FF ;* 54AA 904003 000400 STA $0340,X ;* 54AD A9C0 000405 LDA #$C0 ;* 54AF 904603 000410 STA $0346,X ;* 54B2 A9E4 000415 LDA #$E4 ;* 54B4 9D4703 000420 STA $0347,X ;* 54B7 8A 000425 TXA ;* 54B8 18 000430 CLC ;* 54B9 6910 000435 ADC #$10 ;* 54BB AA 000440 TAX ;* 54BC C980 000445 CMP #$80 ;* 54BE 90E8 000450 BCC CI0I1 ;* 54C0 60 000455 RTS ;* ; =E4C0 000460 ERRTN = $E4C0 =00E4 000465 ERRTNH = $E4 =00C0 000470 ERRTNL = $C0 ; 54C1 A085 000475 LDY #$85 ;* 54C3 60 000480 RTS ;* 54C4 852F 000485 CIO STA $2F ;* 54C6 862E 000490 STX $2E ;* 54C8 8A 000495 TXA ;* 54C9 290F 000500 AND #$0F ;* 54CB D004 000505 BNE CIERR1 ;* 54CD E080 000510 CPX #$80 ;* 54CF 9005 000515 BCC IOC1 ;* 54D1 A086 000520 CIERR1 LDY #$86 ;* 54D3 4C1BE6 000525 JMP CIRTN1 ;* 54D6 A000 000530 IOC1 LDY #0 ;* 54D8 B04003 000535 IOC1A LDA $0340,X ;* 54DB 992000 000540 STA $20,Y ;* 54DE E8 000545 INX ;* 54DF C8 000550 INY ;* 54E0 C00C 000555 CPY #12 ;* 54E2 90F4 000560 BCC IOC1A ;* 54E4 A084 000565 LDY #$84 ;* 54E6 A522 000570 LDA $22 ;* 54E8 C903 000575 CMP #3 ;* 54EA 9025 000580 BCC CIERR4 ;* 54EC A8 000585 TAY ;* 54ED C00E 000590 CPY #$0E ;* 2016-11-16 11:06 omnimon-xl.src Page 4 54EF 9002 000595 BCC IOC2 ;* 54F1 A00E 000600 LDY #$0E ;* 54F3 8417 000605 IOC2 STY $17 ;* 54F5 B9C6E6 000610 LDA COMTAB-3,Y ;* 54F8 F00F 000615 BEG CIOPEN ;* 54FA C902 000620 CMP #2 ;* 54FC F035 000625 BEG CICLOS ;* 54FE C908 000630 CMP #8 ;* 5500 B04C 000635 BCS CISTSP ;* 5502 C904 000640 CMP #4 ;* 5504 F063 000645 BEG CIREAD ;* 5506 4CC9E5 000650 JMP CIWRIT ;* ; 5509 A520 000655 CIOPEN1 LDA $20 ;* 550B C9FF 000660 CMP #$FF ;* 550D F005 000665 BEG IOC6 ;* 550F A081 000670 CIERR3 LDY #$81 ;* 5511 4C1BE6 000675 CIERR4 JMP CIRTN1 ;* 5514 209EE6 000680 IOC6 JSR DEVSRC ;* 5517 B0F8 000685 BCS CIERR4 ;* 5519 203DE6 000690 IOC7 JSR COMENT ;* 551C B0F3 000695 BCS CIERR4 ;* 551E 2089E6 000700 JSR GOHAND ;* 5521 A90B 000705 LDA #$0B ;* 5523 8517 000710 STA $17 ;* 5525 203DE6 000715 JSR COMENT ;* 5528 A52C 000720 LDA $2C ;* 552A 8526 000725 STA $26 ;* 552C A52D 000730 LDA $2D ;* 552E 8527 000735 STA $27 ;* 5530 4C1DE6 000740 JMP CIRTN2 ;* 5533 A001 000745 CICLOS LDY #1 ;* 5535 8423 000750 STY $23 ;* 5537 203DE6 000755 JSR COMENT ;* 553A B003 000760 BCS CICL02 ;* 553C 2089E6 000765 JSR GOHAND ;* 553F A9FF 000770 CICLO2 LDA #$FF ;* 5541 8520 000775 STA $20 ;* 5543 A9E4 000780 LDA #ERRTNH ;* 5545 8527 000785 STA $27 ;* 5547 A9C0 000790 LDA #ERRTNL ;* 5549 8526 000795 STA $26 ;* 554B 4C1DE6 000800 JMP CIRTN2 ;* 554E A520 000805 CISTSP LDA $20 ;* 5550 C9FF 000810 CMP #$FF ;* 5552 D005 000815 BNE CIST1 ;* 5554 209EE6 000820 JSR DEVSRC ;* 5557 B0B8 000825 BCS CIERR4 ;* 5559 203DE6 000830 CIST1 JSR COMENT ;* 555C 2089E6 000835 JSR GOHAND ;* 555F A62E 000840 LDX $2E ;* 5561 BD4003 000845 LDA $0340,X ;* 5564 8520 000850 STA $20 ;* 5566 4C1DE6 000855 JMP CIRTN2 ;* 5569 A522 000860 CIREAD LDA $22 ;* 556B 256A 000865 AND $2A ;* 2016-11-16 11:06 omnimon-xl.src Page 5 556D 0005 000870 BNE RCI1A ;* 556F A083 000875 LDY #$83 ;* 5571 4C1BE6 000880 RCI1B JMP CIRTN1 ;* 5574 203DE6 000885 RCI1A JSR COMENT ;* 5577 B0F8 000890 BCS RCI1B ;* 5579 A528 000895 LDA $28 ;* 557B 0529 000900 ORA $29 ;* 557D 0008 000905 BNE RC13 ;* 557F 2089E6 000910 JSR GOHAND ;* 5582 852F 000915 STA $2F ;* 5584 4C1DE6 000920 JMP CIRTN2 ;* 5587 2089E6 000925 RCI3 JSR GOHAND ;* 558A 852F 000930 STA $2F ;* 558C 3035 000935 BMI RCI4 ;* 558E A000 000940 LDY #0 ;* 5590 9124 000945 STA ($24),Y ;* 5592 2070E6 000950 JSR INCBFP ;* 5595 A522 000955 LDA $22 ;* 5597 2902 000960 AND #2 ;* 5599 D00C 000965 BNE RCI1 ;* 559B A52F 000970 LDA $2F ;* 559D C99B 000975 CMP #$9B ;* 559F D006 000980 BNE RCI1 ;* 55A1 2063E6 000985 JSR DECBFL ;* 55A4 4CC3E6 000990 JMP RCI4 ;* 55A7 2063E6 000995 RCI1 JSR DECBFL ;* 55AA D0DB 001000 BNE RCI3 ;* 55AC A522 001005 RCI2 LDA $22 ;* 55AE 2902 001010 AND #2 ;* 55B0 D011 001015 BNE RCI4 ;* 55B2 2089E6 001020 RCI6 JSR GOHAND ;* 55B5 852F 001025 STA $2F ;* 55B7 300A 001030 BMI RCI4 ;* 55B9 A52F 001035 LDA $2F ;* 55BB C99B 001040 CMP #$9B ;* 55BD D0F3 001045 BNE RCI6 ;* 55BF A989 001050 RCI11 LDA #$89 ;* 55C1 8523 001055 STA $23 ;* 55C3 2077E6 001060 RCI4 JSR SUBBFL ;* 55C6 4C10E6 001065 JMP CIRTN2 ;* 55C9 A522 001070 CIWRIT LDA $22 ;* 55CB 252A 001075 AND $2A ;* 55CD D005 001080 BNE WCI1A ;* 55CF A087 001085 LDY #$87 ;* 55D1 4C1BE6 001090 WCI1B JMP CIRTN1 ;* 55D4 203DE6 001095 WCI1A JSR COMENT ;* 55D7 B0F8 001100 BCS WCI1B ;* 55D9 A528 001105 LDA $28 ;* 55DB 0529 001110 ORA $29 ;* 55DD D006 001115 BNE WC13 ;* 55DF A52F 001120 LDA $2F ;* 55E1 E628 001125 INC $28 ;* 55E3 0006 001130 BNE WCI4 ;* 55E5 A000 001135 WCI3 LDY #0 ;* 55E7 B124 001140 LDA ($24),Y ;* 55E9 852F 001145 STA $2F ;* 2016-11-16 11:06 omnimon-xl.src Page 6 55EB 2089E6 001150 WCI4 JSR GOHAND ;* 55EE 3025 001155 BMI WCI5 ;* 55F0 2070E6 001160 JSR INCBFP ;* 55F3 A522 001165 LDA $22 ;* 55F5 2902 001170 AND #2 ;* 55F7 D00C 001175 BNE WCI1 ;* 55F9 A52F 001180 LDA $2F ;* 55FB C99B 001185 CMP #$9B ;* 55FD D006 001190 BNE WCI1 ;* 55FF 2063E6 001195 JSR DECBFL ;* 5602 4C15E6 001200 JMP WCI5 ;* 5605 2063E6 001205 WCI1 JSR DECBFL ;* 5608 D0DB 001210 BNE WCI3 ;* 560A A522 001215 WCI2 LDA $22 ;* 560C 2902 001220 AND #2 ;* 560E D005 001225 BNE WCI5 ;* 5610 A99B 001230 LDA #$9B ;* 5612 2089E6 001245 JSR GQHAND ;* 5615 2077E6 001240 WCI5 JSR SUBBFL ;* 5618 4C1DE6 001245 JMP CIRTN2 ;* 561B 8423 001250 CIRTN1 STY $23 ;* 561D A42E 001255 CIRTN2 LDY $2E ;* 561F B94403 001260 LDA $0344,Y ;* 5622 8524 001265 STA $24 ;* 5624 B94503 001270 LDA $0345,Y ;* 5627 8525 001275 STA $25 ;* 5629 A200 001280 LDX #0 ;* 562B B520 001285 CIRT3 LDA $20,X ;* 562D 994003 001290 STA $0340,Y ;* 5630 E8 001295 INX ;* 5631 C8 001300 INY ;* 5632 E00C 001305 CPX #12 ;* 5634 90F5 001310 BCC CIRT3 ;* 5636 A52F 001315 LDA $2F ;* 5638 A62E 001320 LDX $2E ;* 563A A423 001325 LDY $23 ;* 563C 60 001330 RTS ;* ;;; 563D A420 001335 COMENT LDY $20 ;* 563F C022 001340 CPY #$21+1 ;* 5641 9004 001345 BCC COM1 ;* 5643 A085 001350 LDY #$85 ;* 5645 B01B 001355 BCS COM2 ;* 5647 B91B03 001060 COM1 LDA $031B,Y ;* 564A 852C 001365 STA $2C ;* 564C B91C03 001370 LDA $031C,Y ;* 564F 852D 001375 STA $2D ;* 5651 A417 001380 LDY $17 ;* 5653 B9C6E6 001385 LDA COMTAB-3,Y ;* 5656 A8 001390 TAY ;* 5657 B12C 001395 LDA ($2C),Y ;* 5659 AA 001400 TAX ;* 565A C8 001405 INY ;* 565B B12C 001410 LDA ($2C),Y ;* 565D 8520 001415 STA $2D ;* 565F 862C 001420 STX $2C ;* 2016-11-16 11:06 omnimon-xl.src Page 7 5661 18 001425 CLC ;* 5662 60 001430 COM2 RTS ;* 5663 C628 001435 DECBFL DEC $28 ;* 5665 A528 001440 LDA $28 ;* 5667 C9FF 001445 CMP #$FF ;* 5669 D002 001450 BNE DECBF1 ;* 566B C629 001555 DEC $29 ;* 566D 0529 001460 DECBF1 ORA $29 ;* 566F 60 001465 RTS ;* 5670 E624 001470 INCBFP INC $24 ;* 5672 D002 001475 BNE INCBF1 ;* 5674 E625 001480 INC $25 ;* 5676 60 001485 INCBF1 RTS ;* 5677 A62E 001490 SUBBFL LDX $2E ;* 5679 38 001495 SEC ;* 567A B04803 001500 LDA $0348,X ;* 567D E528 001505 SBC $28 ;* 567F 8528 001510 STA $28 ;* 5681 BD4903 001515 LDA $0349,X ;* 5684 E529 001520 SBC $29 ;* 5686 8529 001525 STA $29 ;* 5688 60 001530 RTS ;* 5689 A092 001535 GOHAND LDY #$92 ;* Go Handler 568B 2093E6 001540 JSR CIJUMP ;* 568E 8423 001545 STY $23 ;* 5690 C000 001550 CPY #0 ;* 5692 60 001555 RTS ;* 5693 AA 001560 CIJUMP TAX ;* 5694 A52D 001565 LDA $20 ;* 5696 48 001570 PHA ;* 5697 A52C 001575 LDA $2E ;* 5699 48 001580 PHA ;* 569A 8A 001585 TXA ;* 569B A62E 001590 LDX $2E ;* 569D 60 001595 RTS ;* 569E A000 001600 DEVSRC LDY #0 ;* 56A0 B124 001605 LDA ($24),Y ;* 56A2 F00C 001610 BEQ CIERR2 ;* 56A4 A021 001615 LDY #$21 ;* 56A6 091A03 001620 DEVS1 CMP $031A,Y ;* 56A9 F00A 001625 BEQ DEVS2 ;* 56AB 88 001630 DEY ;* 56AC 88 001635 DEY ;* 56AD 88 001640 DEY ;* 56AE 10F6 001645 BPL DEVS1 ;* 56B0 A082 001650 CIERR2 LDY #$82 ;* 56B2 38 001655 SEC ;* 56B3 B013 001660 BCS DEVS4 ;* 56B5 98 001665 DEVS2 TYA ;* 56B6 8520 001670 STA $20 ;* 56B8 38 001675 SEC ;* 56B9 A001 001680 LDY #1 ;* 56BB B124 001685 LDA ($24),Y ;* 56BD E930 001690 SBC #$30 ;* 56BF C90A 001695 CMP #$0A ;* 56C1 9002 001700 BCC DEVS3 ;* 2016-11-16 11:06 omnimon-xl.src Page 8 56C3 A901 001705 LDA #1 ;* 56C5 8521 001710 DEVS3 STA $21 ;* 56C7 18 001715 CLC ;* 56C8 60 001720 DEVS4 RTS ;* 56C9 00040404 001725 COMTAB .BYTE 0,4,4,4,4,6 ;* 56CD 0406 56CF 06060602 001730 .BYTE 6,6,6,2,8,10 ;* 56D3 080A 56D5 A940 001735 IHINIT LDA #$40 ;* 56D7 8D0ED4 001740 STA $D40E ;* 56DA AD13D0 001745 LDA $D013 ;* 56DD 8DFA03 001750 STA $03FA ;* 56E0 60 001755 RTS ;* ; ; ; =56F3 001760 * = $E6F3 =56F3 001761 IRQVEntry = . ;* njc will this be 56F3 or E6F3? 56F3 6C1602 001765 PIRQ JMP ($0216) ;* 56F6 80400402 001770 CMPTAB .BYTE $80,$40,4,2,1,8,$10,$20 ;* 56FA 01081020 56FE 36081412 001775 ADRTAB .BYTE $36,8,$14,$12,$10,$E,$C,$A ;* 5702 100E0C0A ; ; ; 5706 48 001780 SYIRQ PHA ;* 5707 AD0ED2 001785 LDA $D20E ;* 570A 2920 001790 AND #$20 ;* 570C D00D 001795 BNE SYIRQ2 ;* 570E A9DF 001800 LDA #$DF ;* 5710 8D0ED2 001805 STA $D20E ;* 5713 A510 001810 LDA $10 ;* 5715 8D0ED2 001815 STA $D20E ;* 5718 6C0A02 001890 JMP ($020A) ;* 571B 8A 001825 SYIRQ2 TXA ;* 571C 48 001830 PHA ;* 571D A206 001835 LDX #6 ;* 571F BDF6E6 001840 LOOPM LDA CMPTAB ;* 5722 E005 001845 CPX #5 ;* 5724 D004 001850 L00PM2 BIT $D20E ;* 5726 2510 001855 AND $10 ;* 5728 F005 001860 BEQ LL ;* 572A 2C0ED2 001865 L0QPM2 BIT $D20E ;* 572D F006 001870 BEQ JMPP ;* 572F CA 001875 LL DEX ;* 5730 10ED 001880 BPL LOOPM ;* 5732 4C62E7 001885 JMP SYIRQ8 ;* 5735 49FF 001890 JMPP EOR #$FF ;* 5737 8D0ED2 001895 STA $02OE ;* 573A A510 001900 LDA $10 ;* 573C 8D0ED2 001905 STA $D20E ;* 573F BDFEE6 001910 LDA ADRTAB,X ;* 5742 AA 001915 TAX ;* 5743 BD0002 001920 LDA $0200,X ;* 5746 8D8C02 001925 STA $028C ;* 2016-11-16 11:06 omnimon-xl.src Page 9 5749 BD0102 001930 LDA $0200+1,X ;* 574C 8D8D02 001935 STA $028D ;* 574F 68 001940 PLA ;* 5750 AA 001945 TAX ;* 5751 6C8C02 001950 JMP ($0280) ;* ; 5754 A900 001955 BRKKY2 LDA #0 ;* 5756 8511 001960 STA $11 ;* 5758 8DFF02 001965 STA $02FF ;* 575B 8DF002 001970 STA $02F0 ;* 575E 854D 001975 STA $4D ;* 5760 68 001980 PLA ;* 5761 40 001985 RTI ;* ; 5762 68 001990 SYIRQ8 PLA ;* 5763 AA 001995 TAX ;* 5764 2C02D3 002000 BIT $D302 ;* 5767 1006 002005 BPL SVIRQ9 ;* 5769 AD00D3 002010 LDA $D300 ;* 576C 6C0202 002015 JMP ($O202) ;* 576F 2C03D3 002020 SYIRQ9 BIT $D301 ;* 5772 1006 002025 BPL SYIRQA ;* 5774 AD01D3 002030 LDA $D301 ;* 5777 6C0402 002035 JMP ($0204) ;* 577A 68 002040 SYIRQA PLA ;* 577B 8D8C02 002045 STA $028C ;* 577E 68 002050 PLA ;* 577F 48 002055 PHA ;* 5780 2910 002060 AND #$10 ;* 5782 F007 002065 BEQ SYRTI2 ;* 5784 AD8C02 002070 LDA $028C ;* 5787 48 002075 PHA ;* 5788 6C0602 002080 JMP ($0206) ;* 578B AD8C02 002085 SYRTI2 LDA $028 ;* 578E 48 002090 PHA ;* 578F 68 002095 SYIRQB PLA ;* 5790 40 002100 SYRTI RTI ;* ; =5791 002104 NMIVEntry = . ; njc 5791 2C0FD4 002105 PNMI BIT *D40F ;* 5794 1003 002110 BPL PNMI1 ;* 5796 6C0002 002115 JMP ($0200) ;* 5799 48 002120 PNMI1 PHA ;* 579A AD0F04 002125 LDA $D40F ;* 579D 2920 002130 AND #$20 ;* 579F F003 002135 BEQ *+5 ;* 57A1 4C74E4 002140 JMP $E474 ;* 57A4 8A 002145 TXA ;* 57A5 48 002150 PHA ;* 57A6 98 002155 TYA ;* 57A7 48 002160 PHA ;* 57A8 8D0F04 002165 STA $D40F ;* 57AB 6C2202 002170 JMP ($0222) ;* 57AE E614 002175 SYSVBL INC $14 ;* 57B0 D008 002180 BNE SYSVB1 ;* 57B2 E64D 002185 INC $4D ;* 2016-11-16 11:06 omnimon-xl.src Page 10 57B4 E613 002190 INC $13 ;* 57B6 D002 002195 BNE SYSVB1 ;* 57B8 E612 002200 INC $12 ;* 57BA A9FE 002205 SYSVB1 LDA #$FE ;* 57BC A200 002210 LDX #0 ;* 57BE A44D 002215 LDY $4D ;* 57C0 1006 002220 BPL VBATRA ;* 57c2 854D 002225 STA $4D ;* 57C4 A613 002230 LDX $13 ;* 57C6 A9F6 002235 LDA #$F6 ;* 57C8 854E 002240 VBATRA STA $4E ;* 57CA 864F 002245 STX $4F ;* 57CC A200 002250 LDX #0 ;* 57CE 20D0E8 002255 JSR DCTIMR ;* 57D1 0003 002260 BNE SYSVB2 ;* 57D3 20CAE8 002265 JSR JTIMR1 ;* 57D6 A542 002270 SYSVB2 LDA $42 ;* 57D8 D008 002275 BNE XXIT ;* 57DA BA 002280 TSX ;* 57DB BD0401 002285 LDA $0104,X ;* 57DE 2904 002290 AND #4 ;* 57E0 F003 002295 BEQ SYSVB3 ;* 57E2 4C05E9 002300 XXIT JMP XITVBL ;* 57E5 AD0DD4 002305 SYSVB3 LDA $D40 ;* 57E8 8D3502 002310 STA $0235 ;* 57EB AD0CD4 002315 LDA $D40C ;* 57EE 8D3402 002320 STA $0234 ;* 57F1 AD3102 002325 LDA $0231 ;* 57F4 8D03D4 002330 STA $D403 ;* 57F7 AD3002 002335 LDA $0230 ;* 57FA 8D02D4 002340 STA $0402 ;* 57FD AD2F02 002345 LDA $022F ;* 5800 8D00D4 002350 STA $D400 ;* 5803 AD6F02 002355 LDA $026F ;* 5806 8D1BD0 002360 STA $D01B ;* 5809 A208 002365 LDX #8 ;* 580B 8E1FD0 002370 STX $D01F ;* 580E 58 002375 SCOLLP CLI ;* 580F BDC002 002380 LDA $0280,X ;* 5812 454F 002385 EQR $4F ;* 5814 254E 002390 AND $4E ;* 5816 9D12D0 002395 STA $D012,X ;* 5819 CA 002400 DEX ;* 581A 10F2 002405 BPL SCOLLP ;* 581C ADF402 002410 LDA $02F4 ;* 581F 8D09D4 002415 STA $D409 ;* 5822 ADF302 002420 LDA $02F3 ;* 5825 8D01D4 002425 STA $0401 ;* 5828 A202 002430 LDX #2 ;* 582A 20D0E8 002435 JSR DCTIMR ;* 582D D003 002440 BNE SYSVB4 ;* 582F 20CDE8 002445 JSR JTIMR2 ;* 5832 A202 002450 SYSVB4 LDX #2 ;* 5834 E8 002455 SYSVBB INX ;* 5835 E8 002460 INX ;* 5836 BD1802 002465 LDA $0218,X ;* 2016-11-16 11:06 omnimon-xl.src Page 11 5839 1D1902 002470 ORA $0219,X ;* 583C F006 002475 BEQ SYSVBA ;* 583E 20D0E8 002480 JSR DCTIMR ;* 5841 9D2602 002485 STA $0226,X ;* 5844 E008 002490 SYSVBA CPX #8 ;* 5846 D0EC 002495 BNE SYSVBB ;* 5848 AD0FD2 002500 LDA $D20F ;* 584B 2904 002505 AND #4 ;* 584D F008 002510 BEQ SYVB6A ;* 584F ADF102 002515 LDA $02F1 ;* 5852 F003 002520 BEQ SYVB6A ;* 5854 CEF102 002525 DEC $02F1 ;* 5857 AD2B02 002530 SYVB6A LDA $022 ;* 585A F017 002535 BEQ SYSVB7 ;* 585C AD0FD2 002540 LDA $D20F ;* 585F 2904 002545 AND #4 ;* 5861 D060 002550 BNE SYSVB6 ;* 5863 CE2B02 002555 DEC $022B ;* 5866 D00B 002560 BNE SYSVB7 ;* 5868 A903 002565 LDA #3 ;* 586A 8D2B02 002570 STA $022B ;* 586D AD09D2 002575 LDA $D209 ;* 5870 8DFC02 002580 STA $02FC ;* 5873 A000 002585 SYSVB7 LDY #0 ;* 5875 A201 002590 LDX #1 ;* 5877 B900D3 002595 STLOOP LDA $0300,Y ;* 587A 4A 002600 LSR A ;* 587B 4A 002605 LSR A ;* 587C 4A 002610 LSR A ;* 587D 4A 002615 LSR A ;* 587E 9D7802 002620 STA $0278,X ;* 5881 CA 002625 DEX ;* 5882 B900D3 002630 LDA $D300,Y ;* 5885 290F 002635 AND #$0F ;* 5887 9D7802 002640 STA $0278,X ;* 588A CA 002645 DEX ;* 588B 88 002650 DEY ;* 588C 10E9 002655 BPL STLOOP ;* 588E A203 002660 LDX #3 ;* 5890 BD10D0 002665 STRL LDA $D010,X ;* 5893 9D8402 002670 STA $0284,X ;* 5896 BD00D2 002675 LDA $0200,X ;* 5899 9D7002 002680 STA $0270,X ;* 589C BD04D2 002685 LDA $0204,X ;* 589F 9D7402 002690 STA $0274,X ;* 58A2 CA 002695 DEX ;* 58A3 10EB 002700 BPL STRL ;* 58A5 8D0BD2 002705 STA $D20B ;* 58A8 A206 002710 LDX #6 ;* 58AA A003 002715 LDY #3 ;* 58AC B97802 002720 PTRLP LDA $0278,Y ;* 58AF 4A 002725 LSR A ;* 58B0 4A 002730 LSR A ;* 58B1 4A 002735 LSR A ;* 58B2 9D7D02 002740 STA $027D,X ;* 58B5 A900 002745 LDA #0 ;* 2016-11-16 11:06 omnimon-xl.src Page 12 58B7 2A 002750 R0L A ;* 58B8 9D7C02 002755 STA $027C,X ;* 58BB CA 002760 DEX ;* 58BC CA 002765 DEX ;* 58BD 88 002770 DEY ;* 58BE 10EC 002775 BPL PTRLP ;* 58C0 6C2402 002780 JMP ($0224) ;* =00E8 002785 SV7H = SYSVB7/256 =0073 002790 SV7L = SYSVB7&255 58C3 A900 002795 SYSVB6 LDA #0 ;* 58C5 3D2B02 002800 STA $022B ;* 58C8 F0A9 002805 BEQ SYSVB7 ;* 58CA 6C2602 002810 JTIMR1 JMP ($0226) ;* 58CD 6C2802 002815 JTIMR2 JMP ($0228) ;* 58D0 BC1802 002820 DCTIM1 LDY $0218,X ;* 58D3 D008 002825 BNE DCTIM1 ;* 58D5 BC1902 002830 LDY $0219,X ;* 58D8 F010 002835 BEQ DCTXF ;* 58DA DE1902 002840 DEC $0219,X ;* 58DD DE1802 002845 DEC $0218,X ;* 58E0 D008 002850 BNE DCTXF ;* 58E2 BC1902 002855 LDY $0219,X ;* 58E5 D003 002860 BNE DCTXF ;* 58E7 A900 002865 LDA #0 ;* 58E9 60 002870 RTS ;* 58EA A9FF 002875 DCTXF LDA #$FF ;* 58EC 60 002880 RTS ;* ; 58ED 0A 002885 SETVBL ASL A ;* 58EE 8D2D02 002890 STA $022D ;* 58F1 8A 002895 TXA ;* 58F2 A205 002900 LDX, #5 ;* 58F4 8D0AD4 002905 STA $D40A ;* 58F7 CA 002910 SETLOP DEX ;* 58F8 D0FD 002915 BNE SETLOP ;* 58FA AE2D02 002920 LDX $022D ;* 58FD 9D1702 002925 STA $0217,X ;* 5900 98 002930 TYA ;* 5901 9D1602 002935 STA $0216,X ;* 5904 60 002940 RTS ;* 5905 68 002945 XITVBL PLA ;* 5906 A8 002950 TAY ;* 5907 68 002955 PLA ;* 5908 AA 002960 TAX ;* 5909 68 002965 PLA ;* 590A 40 002970 RTI ;* 590B 66667E66 002975 .BYTE $66,$66,$7E,$66,0,0,$7C ;* 590F 00007C 5912 4CEDE8 002980 JMP $E8ED ;* 5915 A22D 002985 TSTCTL LDX #45 ;* 5917 BDCEFE 002990 TSTCT1 LDA $FECE,X ;* 591A CDFB02 002995 CMP $02FB ;* 591D F005 003000 BEQ TSTCT2 ;* 591F CA 003005 DEX ;* 5920 CA 003010 DEX ;* 5921 CA 003015 DEX ;* 2016-11-16 11:06 omnimon-xl.src Page 13 5922 10F3 003020 BPL TSTCT1 ;* 5924 60 003025 TSTCT2 RTS ;* ; 5925 A03F 003035 HOWMCH LDY #$3F ;* TEST MY WAY 5927 8405 003040 STY $05 ;* 5929 8406 003045 STY $06 ;* 592B B105 003050 HWMCH LDA ($05),Y ;* 592D 49FF 003055 EOR #$FF ;* 592F 9105 003060 STA ($05),Y ;* 5931 D105 003065 CMP ($05),Y ;* 5933 D008 003070 BNE ENDRAM ;* 5935 49FF 003075 EOR #$FF ;* 5937 9105 003080 STA ($05),Y ;* 5939 E606 003085 INC $06 ;* 593B D0EE 003090 BNE HWMCH ;* 593D 60 003095 ENDRAM RTS ;* ; =593D 003100 * = $E944 5944 A93C 003105 SI0INT LDA #$3C ;* 5946 8D02D3 003110 STA $D302 ;* 5949 A93C 003115 LDA #$3C ;* 594B 8D03D3 003120 STA $D303 ;* 594E A903 003125 LDA #3 ;* 5950 8D3202 003130 STA $0232 ;* 5953 8541 003135 STA $41 ;* 5955 8D0FD2 003140 STA $D20F ;* 5958 60 003145 RTS ;* 5959 8A 003150 SIO TSX ;* 595A 8E1803 003155 STX $0318 ;* 595D A901 003160 LDA #1 ;* 595F 8542 003165 STA $42 ;* 5961 AD0003 003170 LDA $0300 ;* 5964 C960 003175 CMP #$60 ;* 5966 D003 003180 BNE NOTCST ;* 5968 4C80EB 003185 JMP CASENT ;* 596B A900 003190 NOTCST LDA #0 ;* 596D 8D0F03 003195 STA $030F ;* 5970 A901 003200 LDA #1 ;* 5972 8537 003205 STA $37 ;* 5974 A90D 003210 COMMND LDA #$0D ;* 5976 8536 003215 STA $36 ;* 5978 A928 003220 COMFRM LDA #$28 ;* 597A 8D04D2 003235 STA $D204 ;* 597D A900 003230 LDA #0 ;* 597F 8D0602 003235 STA $D206 ;* 5982 18 003240 CLC ;* 5983 AD0003 003245 LDA $0300 ;* 5986 6D0103 003250 ADC $0301 ;* 5989 69FF 003255 ADC #$FF ;* 598B 8D3A02 003260 STA $023A ;* 598E AD0203 003265 LDA $0302 ;* 5991 8D3B02 003270 STA $023B ;* 5994 AD0A03 003275 LDA $030A ;* 5997 8D3C02 003280 STA $023C ;* 599A AD0B03 003285 LDA $030B ;* 599D 803002 003290 STA $023D ;* 2016-11-16 11:06 omnimon-xl.src Page 14 59A0 18 003295 CLC ;* 59A1 A93A 003300 LDA #$3A ;* 59A3 8532 003305 STA $32 ;* 59A5 6904 003310 ADC #4 ;* 59A7 8534 003315 STA $34 ;* 59A9 A902 003320 LDA #2 ;* 59AB 8533 003325 STA $33 ;* 59AD 8535 003330 STA $35 ;* 59AF A934 003335 LDA #$34 ;* 59B1 800303 003340 STA $0303 ;* 59B4 208AEC 003345 JSR SENDIN ;* 59B7 AD3F02 003350 LDA $023F ;* 59BA D003 003355 BNE BADCOM ;* 59BC 98 003360 TYA ;* 59BD D007 003365 BNE ACKREC ;* 59BF C636 003370 BADCOM DEC $36 ;* 59C1 10B5 003375 BPL COMFRM ;* 59C3 4C06EA 003380 JMP DERR1 ;* 59C6 AD0303 003385 ACKREC LDA $0303 ;* 59C9 100C 003390 BPL WATCOM ;* 59CB A90D 003395 LDA #$0D ;* 59CD 8536 003400 STA $36 ;* 59CF 206AEB 003405 JSR LDPNTR ;* 59D2 208AEC 003410 JSR SENDIN ;* 59D5 F0E8 003415 BEQ BADCOM ;* 59D7 207BEC 003420 WATCOM JSR STTMOT ;* 59DA A900 003425 LDA #0 ;* 59DC 8D3F02 003430 STA $023F ;* 59DF 209BEC 003435 JSR WAITER ;* 59E2 F012 003440 BEQ DERR ;* 59E4 200303 003445 BIT $0303 ;* 59E7 7007 003450 BVS MODATA ;* 59E9 AD3F02 003455 LDA $023F ;* 59EC D018 003460 BNE DERR1 ;* 59EE F01D 003465 BEQ RETURN ;* 59F0 206AEB 003470 MGDATA JSR LDPNT ;* 59F3 20E0EA 003475 JSR RECEIV ;* 59F6 AD3F02 003480 DERR LDA $023F ;* 59F9 F005 003485 BEQ NOTERR ;* 59FB AD1903 003490 LDA $0319 ;* 59FE 8530 003495 STA $30 ;* 5A00 A530 003500 NOTERR LDA $30 ;* 5A02 C901 003505 CMP #1 ;* 5A04 F007 003510 BEQ RETURN ;* 5A06 C637 003515 DERR1 DEC $37 ;* 5A08 3003 003520 BMI RETURN ;* 5A0A 4C74E9 003525 JMP COMMND ;* 5A0D 205FEC 003530 RETURN JSR SENDDS ;* 5A10 A900 003535 LDA #0 ;* 5A12 8542 003540 STA $42 ;* 5A14 A430 003545 LDY $30 ;* 5A16 8C0303 003550 STY $0303 ;* 5A19 60 003555 RTS ;* 5A1A A900 003560 WAIT LDA #0 ;* 5A1C 8D3F02 003565 STA $023F ;* 5A1F 18 003570 CLC ;* 2016-11-16 11:06 omnimon-xl.src Page 15 5A20 A93E 003575 LDA #$3E ;* 5A22 8532 003580 STA $32 ;* 5A24 6901 003585 ADC #1 ;* 5A26 8534 003590 STA $34 ;* 5A28 A902 003595 LDA #2 ;* 5A2A 8533 003600 STA $33 ;* 5A2C 8533 003605 STA $35 ;* 5A2E A9FF 003610 LDA #$FF ;* 5A30 853C 003615 STA $3C ;* 5A32 20E0EA 003620 JSR RECEIV ;* 5A35 A0FF 003625 LDY #$FF ;* 5A37 A530 003630 LDA $30 ;* 5A39 C901 003625 CMP #1 ;* 5A3B D019 003640 BNE NWOK ;* 5A3D AD3E02 003645 WOK LDA $023E ;* 5A40 C941 003650 CMP #$41 ;* 5A42 F021 003655 BEQ GOOD ;* 5A44 C943 003660 CMP #$43 ;* 5A46 F01D 003665 BEQ GOOD ;* 5A48 C945 003670 CMP #$45 ;* 5A4A D006 003675 BNE NOTDER ;* 5A4C A990 003680 LDA #$90 ;* 5A4E 8530 003685 STA $30 ;* 5A50 D004 003690 BNE NWOK ;* 5A52 A98B 003695 NOTDER LDA #$8B ;* 5A54 8530 003700 STA $30 ;* 5A56 A530 003705 NWOK LDA $30 ;* 5A58 C98A 003710 CMP #$8A ;* 5A5A F007 003715 BEQ BAD ;* 5A5C A9FF 003720 LDA #$FF ;* 5A5E 8D3F02 003725 STA $023F ;* 5A61 D002 003730 BNE GOOD ;* 5A63 A000 003735 BAD LDY #0 ;* 5A65 A530 003740 GOOD LDA $30 ;* 5A67 BD1903 003745 STA $0319 ;* 5A6A 60 003750 RTS ;* ; 5A6B A901 003755 SEND LDA #1 ;* 5A6D 8530 003760 STA $30 ;* 5A6F 20F2EB 003765 JSR SENDEN ;* 5A72 A000 003770 LDY #0 ;* 5A74 8431 003775 STY $31 ;* 5A76 843B 003780 STY $3B ;* 5A78 843A 003785 STY $3A ;* 5A7A B132 003790 LDA ($32),Y ;* 5A7C 8D0DD2 003795 STA $D20D ;* 5A7F 8531 003800 STA $31 ;* 5A81 A511 003805 NOTDON LDA $11 ;* 5A83 D003 003810 BNE NTBRKO ;* 5A85 4CA0ED 003815 JMP BROKE ;* 5A88 A53A 003820 NTBRKO LDA $3 A ;* 5A8A F0F5 003825 BEQ NOTDON ;* 5A8C 205FEC 003830 JSR SENDDS ;* 5A8F 60 003835 RTS ;* 5A90 98 003840 ISRQDN TYA ;* 5A91 48 003845 PHA ;* 2016-11-16 11:06 omnimon-xl.src Page 16 5A92 E632 003850 INC $32 ;* 5A94 D002 003855 BNE NQWRPO ;* 5A96 E633 003860 INC $33 ;* 5A98 A532 003865 NOWRPO LDA $32 ;* No Write Protect 5A9A C534 003870 CMP $34 ;* 5A9C A533 003875 LDA $33 ;* 5A9E E535 003880 SBC $35 ;* 5AA0 901C 003885 BCC NOTEND ;* 5AA2 A53B 003890 LDA $3B ;* 5AA4 D00B 003895 BNE RELONE ;* 5AA6 A531 003900 LDA $31 ;* 5AA8 8D0DD2 003905 STA $D20D ;* 5AAB A9FF 003910 LDA #$FF ;* 5AAD 853B 003915 STA $3B ;* 5AAF D009 003920 BNE CHKDON ;* 5AB1 A510 003925 RELONE LDA $10 ;* 5AB3 0908 003930 ORA #8 ;* 5AB5 8510 003935 STA $10 ;* 5AB7 8D0ED2 003940 STA $D20E ;* 5ABA 68 003945 CHKDON PLA ;* 5ABB A8 003950 TAY ;* 5ABC 68 003955 PLA ;* 5ABD 40 003960 RTI ;* 5ABE A000 003965 NOTEND LDY #0 ;* 5AC0 B132 003970 LDA ($32),Y ;* 5AC2 8D0DD2 003975 STA $D20D ;* 5AC5 18 003980 CLC ;* 5AC6 6531 003985 ADC $31 ;* 5AC8 6900 003990 ADC #0 ;* 5ACA 8531 003995 STA $31 ;* 5ACC 4CBAEA 004000 JMP CHKDON ;* 5ACF A53B 004005 ISRTD LDA $3B ;* 5AD1 F00B 004010 BEQ FOOEY ;* 5AD3 853A 004015 STA $3A ;* 5AD5 A510 004020 LDA $10 ;* 5AD7 29F7 004025 AND #$F7 ;* 5AD9 8510 004030 STA $10 ;* 5ADB 8D0ED2 004035 STA $D20E ;* 5ADE 68 004040 FOOEY PLA ;* 5ADF 40 004045 RTI ;* ; 5AE0 A900 004050 RECEIV LDA #0 ;* 5AE2 AC0F03 004055 LDY $030F ;* 5AE5 D002 004060 BNE NOCLR ;* 5AE7 8531 004065 STA $31 ;* 5AE9 8538 004070 NOCLR STA $38 ;* 5AEB 8539 004075 STA $39 ;* 5AED A901 004080 LDA #1 ;* 5AEF 8530 004085 STA $30 ;* 5AF1 201BEC 004090 JSR RECVEN ;* 5AF4 A93C 004095 LDA #$3C ;* 5AF6 8D03D3 004100 STA $0303 ;* 5AF9 A511 004105 CHKTIM LDA $11 ;* 5AFB D003 004110 BNE NTBRK1 ;* 5AFD 4CA0ED 004115 JMP BROKE ;* 5B00 AD1703 004120 NTBRK1 LDA $03 ;* 2016-11-16 11:06 omnimon-xl.src Page 17 5B03 F005 004125 BEQ TOUT ;* 5B05 A539 004130 LDA $39 ;* 5B07 F0F0 004135 BEQ CHKTIM ;* 5B09 60 004140 GOBACK RTS ;* 5B0A A98A 004145 TOUT LDA #$8A ;* 5B0C 8530 004150 STA $30 ;* 5B0E 60 004155 SRETRN RTS ;* 5B0F 98 004160 ISRSIR TYA ;* 5B10 48 004165 PHA ;* 5B11 AD0FD2 004170 LDA $D20F ;* 5B14 8D0AD2 004175 STA $D20A ;* 5B17 3004 004180 BMI NTFRAM ;* 5B19 A08C 004185 LDY #$8C ;* 5B1B 8430 004190 STY $30 ;* 5B1D 2920 004195 NTFRAM AND #$2 ;* 5B1F D004 004200 BNE NTOVRN ;* 5B21 A08E 004205 LDY #$8E ;* 5B23 8430 004210 STY $30 ;* 5B25 A538 004215 NTOVRN LDA $38 ;* 5B27 F013 004220 BEQ NOTYET ;* 5B29 AD0DD2 004225 LDA $D20D ;* 5B2C C531 004230 CMP $31 ;* 5B2E F004 004235 BEQ SRETRN ;* 5B30 A08F 004240 LDY #$8F ;* 5B32 8430 004245 STY $30 ;* 5B34 A9FF 004250 SRETURN LDA #$FF ;* 5B36 8539 004255 STA #$39 ;* 5B38 68 004260 SUSUAL PLA ;* 5B39 A8 004265 TAY ;* 5B3A 68 004270 PLA ;* 5B3B 40 004275 RTI ;* 5B3C AD0DD2 004280 NOTYET LDA $D20D ;* 5B3F A000 004285 LDY #0 ;* 5B41 9132 004290 STA ($32),Y ;* 5B43 18 004295 CLC ;* 5B44 6531 004300 ADC $31 ;* 5B46 6900 004305 ADC #0 ;* 5B48 8531 004310 STA $31 ;* 5B4A E632 004315 INC $32 ;* 5B4C D002 004320 BNE NTWRPi ;* 5B4E E633 004325 INC $33 ;* 5B50 A532 004330 NTWRP1 LDA $32 ;* 5B52 C534 004335 CMP $34 ;* 5B54 A533 004340 LDA $33 ;* 5B56 E535 004345 SBC $35 ;* 5B58 90DE 004350 BCC SUSUAL ;* 5B5A A53C 004355 LDA $3C ;* 5B5C F006 004360 BEQ GOON ;* 5B5E A900 004365 LDA #0 ;* 5B60 853C 004370 STA $30C ;* 5B62 F0D0 004375 BEQ SRETRN ;* 5B64 A9FF 004380 GOON LDA #$FF ;* 5B66 8538 004385 STA $38 ;* 5B68 D0CE 004390 BNE SUSUAL ;* 5B6A 18 004395 LDPNTR CLC ;* 5B6B AD0403 004400 LDA $0304 ;* 2016-11-16 11:06 omnimon-xl.src Page 18 5B6E 8532 004405 STA $32 ;* 5B70 6D0803 004410 ADC $0308 ;* 5B73 8534 004415 STA $34 ;* 5B75 AD0503 004420 LDA $0305 ;* 5B78 8533 004425 STA $33 ;* 5B7A 6D0903 004430 ADC $0309 ;* 5B7D 8535 004435 STA $35 ;* 5B7F 60 004440 RTS ;* 5B80 AD0303 004445 CASENT LDA $0303 ;* 5B83 102E 004450 BPL CASRED ;* 5B85 20A3EC 004455 JSR COMPUT ;* 5B88 4C8FEB 004460 JMP NEW1 ;* ; 5B8B 04 004465 .BYTE 4 ;* 5B8C 8D06D2 004470 STA $D206 ;* 5B8F 20F2EB 004475 NEW1 JSR SENDEN ;* 5B92 A00F 004480 LDY #$0F ;* 5B94 AD0B03 004485 LDA $030B ;* 5B97 3002 004490 BMI SRTIR0 ;* 5B99 A0B4 004495 LDY #$B4 ;* 5B9B A200 004500 SRTIR0 LDX #0 ;* 5B9D 20B9ED 004505 JSR SETVBX ;* 5BA0 A934 004510 LDA #$34 ;* 5BA2 8D02D3 004515 STA $D302 ;* 5BA5 AD1703 004520 TIMIT LDA $0317 ;* 5BA8 D0FB 004525 BNE TIMIT ;* 5BAA 206AEB 004530 JSR LDPNTR ;* 5BAD 206BEA 004535 JSR SEND ;* 5BB0 4CDFEB 004540 JMP CRETRN ;* 5BB3 A9FF 004545 CASRED LDA #$FF ;* 5BB5 8D0F03 004550 STA $030F ;* 5BB8 A00A 004555 LDY #$0A ;* 5BBA AD0B03 004560 LDA $030B ;* 5BBD 3002 004565 BMI SRTIR1 ;* 5BBF A078 004570 LDY #$78 ;* 5BC1 A200 004575 SRTIR1 LDX #0 ;* 5BC3 20B9ED 004580 JSR SETVBX ;* 5BC6 A934 004585 LDA #$34 ;* 5BC8 8D02D3 004590 STA $D302 ;* 5BCB AD1703 004595 TIMIT1 LDA $0317 ;* 5BCE D0FB 004600 BNE TIMIT1 ;* 5BD0 206AEB 004605 JSR LDPNTR ;* 5BD3 2075EC 004610 JSR STTMOT ;* 5BD6 20B9ED 004615 JSR SETVBX ;* 5BD9 201EED 004620 JSR BEGIN ;* 5BDC 20E0EA 004625 JSR RECEIV ;* 5BDF AD0B03 004630 CRETRN LDA $030B ;* 5BE2 3005 004635 BMI SRTIR2 ;* 5BE4 A93C 004640 LDA #$3C ;* 5BE6 8D02D3 004645 STA $0302 ;* 5BE9 4C0DEA 004650 SRTIR2 JMP RETURN ;* 5BEC A900 004655 JTIMER LDA #0 ;* 5BEE 8D1703 004660 STA $0317 ;* 5BF1 60 004665 RTS ;* 5BF2 A907 004670 SENDEN LDA #7 ;* 5BF4 2D3202 004675 AND $0232 ;* 2016-11-16 11:06 omnimon-xl.src Page 19 5BF7 0920 004680 ORA #$20 ;* 5BF9 AC0003 004685 LDY $0300 ;* 5BFC C060 004690 CPY #$60 ;* 5BFE D00C 004695 BNE NOTCAS ;* 5C00 0908 004700 ORA #8 ;* 5C02 A007 004705 LDY #7 ;* 5C04 8C02D2 004710 STY $0202 ;* 5C07 A005 004715 LDY #5 ;* 5C09 8C00D2 004720 STY $D200 ;* 5C0C 8D3202 004725 NOTCAS STA $0232 ;* 5C0F 8D0FD2 004730 STA $D20F ;* 5C12 A9C7 004735 LDA #$C7 ;* 5C14 2510 004740 AND $10 ;* 5C16 0910 004745 ORA #$10 ;* 5C18 4C31EC 004750 JMP CONTIN ;* 5C1B A907 004755 RECVEN LDA #7 ;* 5C1D 2D3202 004760 AND $0232 ;* 5C20 0910 004765 ORA #$10 ;* 5C22 8D3202 004770 STA $0232 ;* 5C25 8D0FD2 004775 STA $D20F ;* 5C28 8D0AD2 004780 STA $D20A ;* 5C2B A9C7 004785 LDA #$C7 ;* 5C2D 2510 004790 AND $10 ;* 5C2F 0920 004795 ORA #$20 ;* 5C31 8510 004800 CONTIN STA $10 ;* 5C33 8D0ED2 004805 STA $D20E ;* 5C36 A928 004810 LDA #$28 ;* 5C38 8D08D2 004815 STA $D20S ;* 5C3B A206 004820 LDX #6 ;* 5C3D A9A8 004825 LDA #$A8 ;* 5C3F A441 004830 LDY $41 ;* 5C41 D002 004835 BNE NOISE1 ;* 5C43 A9A0 004840 LDA #$A0 ;* 5C45 9D01D2 004845 N0ISE1 STA $D201,X ;* 5C48 CA 004850 DEX ;* 5C49 CA 004855 DEX ;* 5C4A 10F9 004860 BPL NOISE1 ;* 5C4C A9A0 004865 LDA #$A0 ;* 5C4E 8D05D2 004870 STA $D205 ;* 5C51 AC0003 004875 LDY $0300 ;* 5C54 C060 004880 CPY #$60 ;* 5C56 F006 004885 BEQ CAS31 ;* 5C58 8D01D2 004890 STA $D201 ;* 5C5B 8D03D2 004895 STA $D203 ;* 5C5E 60 004900 CAS31 RTS ;* 5C5F EA 004905 SENDDS NOP ;* 5C60 A9C7 004910 RECVD5 LDA #$C7 ;* 5C62 2510 004915 AND $10 ;* 5C64 8510 004920 STA $10 ;* 5C66 8D0ED2 004925 STA $D20E ;* 5C69 A206 004930 LDX #6 ;* 5C6B A900 004935 LDA #0 ;* 5C6D 9D01D2 004940 ZERIT STA $D201,X ;* 5C70 CA 004945 DEX ;* 5C71 CA 004950 DEX ;* 5C72 10F9 004955 BPL ZERIT ;* 2016-11-16 11:06 omnimon-xl.src Page 20 5C74 60 004960 RTS ;* 5C75 AD0603 004965 STTMOT LDA $0306 ;* 5C78 6A 004970 ROR A ;* 5C79 6A 004975 ROR A ;* 5C7A A8 004980 TAY ;* 5C7B 293F 004985 AND #$3F ;* 5C7D AA 004990 TAX ;* 5C7E 98 004995 TYA ;* 5C7F 6A 005000 ROR A ;* 5C80 2900 005005 AND #$C0 ;* 5C82 A8 005010 TAY ;* 5C83 60 005015 RTS ;* 5C84 0FEB 005020 INTTBL .WORD ISRSIR ;* 5C86 90EA 005025 .WORD ISRODN ;* 5C88 CFEA 005030 -WORD ISRTD ;* 5C8A A201 005035 SENDIN LDX #1 ;* 5C8C A0FF 005040 DELAY0 LDY #$FF ;* 5C8E 88 005045 DELAY1 DEY ;* 5C8F D0F0D 005050 BNE DELAY1 ;* 5C91 CA 005055 DEX ;* 5C92 D0F8 005060 BNE DELAY0 ;* 5C94 206BEA 005065 JSR SEND ;* 5C97 A002 005070 LDY #2 ;* 5C99 A200 005075 LDX #0 ;* 5C9B 20B9ED 005080 WAITER JSR SETVBX ;* 5C9E 201AEA 005085 JSR WAIT ;* 5CA1 98 005090 TYA ;* 5CA2 60 005095 RTS ;* 5CA3 ADEE02 005100 COMPUT LDA $02EE ;* 5CA6 8D04D2 005105 STA $D204 ;* 5CA9 ADEF02 005110 LDA $02EF ;* 5CAC 8D06D2 005115 STA $D206 ;* 5CAF 60 005120 RTS ;* ; 5CB0 A900 005130 HARDI LDA #0 ;* 5CB2 AA 005135 TAX ;* 5CB3 8D03D3 005140 STA $D303 ;* 5CB6 9D00D0 005145 CLRCHP STA $D000,X ;* 5CB9 9D00D4 005150 STA $D400,X ;* 5CBC 9D00D2 005155 STA $D200,X ;* 5CBF 0901 005160 CMP #1 ;* 5CC1 F003 005165 BEQ SKIP ;* 5CC3 9D00D3 005170 STA $D300, X ;* 5CC6 E8 005175 SKIP INX ;* 5CC7 D0ED 005180 BNE CLRCHP ;* 5CC9 A930 005185 LDA #$3C ;* OSNLX Power Up 5CCB 8D03D3 005190 STA $D303 ;* 5CCE A9FF 005195 LDA #$FF ;* 5CD0 8D01D3 005200 STA $D301 ;* 5CD3 A938 005205 LDA #$38 ;* 5CD5 8D02D3 005210 STA $D302 ;* 5CD8 8D03D3 005215 STA $D303 ;* 5CDB A900 005220 LDA #0 ;* 5CDD 8B00D3 005225 STA $D300 ;* 5CE0 A9FF 005530 LDA #$FF ;* 5CE2 3D01D3 005535 STA $D301 ;* 2016-11-16 11:06 omnimon-xl.src Page 21 5CE5 A93C 005240 LDA #$3C ;* 5CE7 8D02D3 005245 STA $D302 ;* 5CEA 8D03D3 005250 STA $D303 ;* 5CED AD01D3 005255 LDA $D301 ;* 5CF0 AD00D3 005260 LDA $D300 ;* 5CF3 A922 005265 LDA #$22 ;* 5CF5 8D0FD2 005270 STA $D20F ;* 5CF8 A9A0 005275 LDA #$A0 ;* 5CFA 8D05D2 005280 STA $D205 ;* 5CFD 8D07D2 005285 STA $0207 ;* 5D00 A928 005290 LDA #$28 ;* 5D02 8D08D2 005295 STA $D208 ;* 5D05 A9FF 005300 LDA #$FF ;* 5D07 8D0DD2 005305 STA $D20D ;* 5D0A 60 005310 RTS ;* ; =5D0B 005315 * = $ED10 5D10 A511 005320 BEGIN LDA $11 ;* 5D12 D003 005325 BNE NTBRK2 ;* 5D14 4CA0ED 005330 JMP BROKE ;* 5D17 78 005335 NTBRK2 SEI ;* 5D18 AD1703 005340 LDA $0317 ;* 5D1B D002 005345 BNE OKTIM1 ;* 5D1D F025 005350 BEQ TOUT1 ;* 5D1F AD0FD2 005355 0KTIM1 LDA $D20F ;* 5D22 2910 005360 AND #$10 ;* 5D24 D0EA 005365 BNE BEGIN ;* 5D26 8D1603 005370 STA $0316 ;* 5D29 AE0BD4 005375 LDX $D40B ;* 5D2C A414 005380 LDY $14 ;* 5D2E 8E0C03 005385 STX $030C ;* 5D31 8C0D03 005390 STY $0300 ;* 5D34 A201 005395 LDX #1 ;* 5D36 BE1503 005400 STX $0315 ;* 5D39 A00A 005405 LDY #10 ;* 5D3B A511 005410 COUNT LDA $11 ;* 5D3D F061 005415 BEQ BROKE ;* 5D3F AD1703 005420 LDA $0317 ;* 5D42 D004 005425 BNE OKTIMR ;* 5D44 58 005430 TOUT1 CLI ;* 5D45 4C0AEB 005435 JMP TOUT ;* 5D48 AD0FD2 005440 OKTIMR LDA $D20F ;* 5D4B 2910 005445 AND #$10 ;* 5D4D CD1603 005450 CMP $0316 ;* 5D50 F0E9 005455 BEQ COUNT ;* 5D52 8D1603 005460 STA $0316 ;* 5D55 88 005465 DEY ;* 5D56 D0E3 005470 BNE COUNT ;* 5D58 CE1503 005475 DEC $0315 ;* 5D5B 3012 005480 BMI GOREAD ;* 5D5D AD0BD4 005485 LDA $D40B ;* 5D60 A414 005490 LDY $14 ;* 5D62 20A3EC 005495 JMP COMPUT ;* 5D65 EA 005500 NOP ;* 5D66 EA 005505 NOP ;* 5D67 EA 005510 NOP ;* 2016-11-16 11:06 omnimon-xl.src Page 22 5D68 EA 005515 NOP ;* 5D69 EA 005520 NOP ;* 5D6A EA 005525 NOP ;* 5D6B A009 005530 LDY #9 ;* 5D6D D0CC 005535 BNE COUNT ;* 5D6F ADEE02 005540 G0READ LDA $02E ;* 5D72 8D04D2 005545 STA $0204 ;* 5D75 ADEF02 005550 LDA $02EF ;* 5D78 8D06D2 005555 STA $0206 ;* 5D7B A900 005560 LDA #0 ;* 5D7D 8D0FD2 005565 STA $D20F ;* 5D80 AD3202 005570 LDA $0232 ;* 5D83 8D0FD2 005575 STA $D20F ;* 5D86 A955 005580 LDA #$55 ;* 5D88 9132 005585 STA ($32),Y ;* 5D8A C8 005590 INY ;* 5D8B 9132 005595 STA ($32),Y ;* 5D8D A9AA 005600 LDA #$AA ;* 5D8F 8531 005605 STA $31 ;* 5D91 18 005610 CLC ;* 5D92 A532 005615 LDA $32 ;* 5D94 6902 005620 ADC #2 ;* 5D96 8532 005625 STA $32 ;* 5D98 A533 005630 LDA $33 ;* 5D9A 6900 005635 ADC #0 ;* 5D9C 8533 005640 STA $33 ;* 5D9E 58 005645 CLI ;* 5D9F 60 005650 RTS ;* 5DA0 205FEC 005655 BROKE JSR SENDDS ;* 5DA3 A93C 005680 LDA #$3C ;* 5DA5 8D02D3 005665 STA $D302 ;* 5DA8 8D03D3 005670 STA $D303 ;* 5DAB A980 005675 LDA #$80 ;* 5DAD 8530 005680 STA $30 ;* 5DAF AE1803 005685 LDX $0318 ;* 5DB2 9A 005690 TXS ;* 5DB3 C611 005695 DEC ;* 5DB5 58 005700 CLI ;* 5DB6 4C0DEA 005705 JMP RETURN ;* 5DB9 A9EC 005710 SETVBXL LDA #$EC ;* 5DBB 8D2602 005715 STA $0226 ;* 5DBE A9EB 005720 LDA #$EB ;* 5DC0 8D2702 005725 STA $0227 ;* 5DC3 A901 005730 LDA #1 ;* 5DC5 78 005735 SEI ;* 5DC6 205CE4 005740 JSR $E45C ;* 5DC9 A901 005745 LDA #1 ;* 5DCB 8D1703 005750 STA $0317 ;* 5DCE 58 005755 CLI ;* 5DCF 60 005760 RTS ;* 5DD0 E803 005765 POKTAB .WORD $03E8 ;* NOT USED 5DD2 4304 005770 .WORD $0443 ;* 5DD4 9E04 005775 .WORD $049E ;* 5DD6 F904 005780 .WORD $04F9 ;* 5DD8 5405 005785 .WORD $0554 ;* 5DDA AF05 005790 .WORD $05AF ;* 2016-11-16 11:06 omnimon-xl.src Page 23 5DDC 0A06 005795 .WORD $060A ;* 5DDE 6508 005800 .WORD $0665 ;* 5DE0 C006 005805 .WORD $06C0 ;* 5DE2 1A07 005810 .WORD $071A ;* 5DE4 7507 005815 .WORD $0775 ;* 5DE6 D007 005820 .WORD $07DO ;* 5DE8 2485 005825 .BYTE $24, $85 ;* ; 5DEA A9A0 005830 DINIT LDA #$A0 ;* 5DEC 8D4602 005835 STA $0246 ;* 5DEF 60 005840 RTS ;* 5DF0 A931 005845 DSKIF LDA #$31 ;* 5DF2 8D0003 005850 STA $0300 ;* 5DF5 AD4602 005855 LDA $0246 ;* 5DF8 AE0203 005860 LDX $0302 ;* 5DFB E021 005865 CPX #$21 ;* 5DFD F002 005870 BEQ PUTDTO ;* 5DFF A907 005875 LDA #7 ;* 5E01 8D0603 005880 PUTDTO STA $0306 ;* 5E04 A240 005885 LDX #$40 ;* 5E06 A080 005890 LDY #$80 ;* 5E08 AD0203 005895 LDA $0302 ;* 5E0B C957 005900 CMP #$57 ;* 5E0D D002 005905 BNE CKSTC ;* 5E0F A280 005910 LDX #$80 ;* 5E11 C953 005915 CKSTC CMP #$53 ;* 5E13 D00C 005920 BNE PUTCNT ;* 5E15 A9EA 005925 LDA #$EA ;* 5E17 8D0403 005930 STA $0304 ;* 5E1A A902 005935 LDA #2 ;* 5E1C 8D0503 005940 STA $0305 ;* 5E1F A004 005945 LDY #4 ;* 5E21 BE0303 005950 PUTCNT STX $0303 ;* 5E24 8C0803 005955 STY $0308 ;* 5E27 A900 005960 LDA #0 ;* 5E29 8D0903 005965 STA $0309 ;* 5E2C 2059E4 005970 JSR SIOV ;* 5E2F 1001 005975 BPL GOODST ;* 5E31 60 005980 RTS ;* 5E32 AD0203 005985 GOODST LDA $0302 ;* 5E35 C953 005990 CMP #$53 ;* 5E37 D00A 005995 BNE PUTBC ;* 5E39 206DEE 006000 JSR PUTADR ;* 5E3C A002 006005 LDY #2 ;* 5E3E B115 006010 LDA ($15),Y ;* 5E40 8D4602 006015 STA $0246 ;* 5E43 AD0203 006020 PUTBC LDA $0302 ;* 5E46 C921 006025 CMP #$21 ;* 5E48 D01F 006030 BNE ENDDIF ;* 5E4A 206DEE 006035 FMTD JSR PUTADR ;* 5E4D A0FE 006040 LDY #$FE ;* 5E4F C8 006045 TWICE INY ;* 5E50 C8 006050 INY ;* 5E51 B115 006055 RDBAD LDA ($15),Y ;* 5E53 C9FF 006060 CMP #$FF ;* 5E55 D0F8 006065 BNE TWICE ;* 2016-11-16 11:06 omnimon-xl.src Page 24 5E57 C8 006070 INY ;* 5E58 B115 006075 LDA ($15),Y ;* 5E5A C8 006080 INY ;* 5E5B C9FF 006085 CMP #$FF ;* 5E5D D0F2 006090 BNE RDBAD ;* 5E5F 88 006095 DEY ;* 5E60 88 006100 DEY ;* 5E61 8C0803 006105 STY $0308 ;* 5E64 A900 006110 LDA #0 ;* 5E66 8D0903 006115 STA $0309 ;* 5E69 AC0303 006120 ENDDIF LDY $0303 ;* 5E6C 60 006125 RTS ;* 5E6D AD0403 006130 PUTADR LDA $0304 ;* 5E70 8515 006135 STA $15 ;* 5E72 AD0503 006140 LDA $0305 ;* 5E75 8516 006145 STA $16 ;* 5E77 60 006150 RTS ;* 5E78 A91E 006155 PHINIT LDA #30 ;* 5E7A 851C 006160 STA $1C ;* 5E7C 60 006165 RTS ;* ; 5E7D EA02 006170 PHSTLO .WORD $02EA ;* 5E7F C003 006175 PHCHLO .WORD $03C0 ;* ; 5E81 A904 006180 PHSTAT LDA #4 ;* 5E83 851E 006185 STA $1E ;* 5E85 AE7DEE 006190 LDX PHSTLO ;* 5E88 AC7EEE 006195 LDY PHSTL0+1 ;* 5E8B A953 006200 LDA #$53 ;* 5E8D 8D0203 006205 STA $0302 ;* 5E90 8D0A03 006210 STA $030A ;* 5E93 20E6EE 006215 JSR SETDCB ;* 5E96 2059E4 006220 JSR SIOV ;* 5E99 3003 006225 BMI BADST ;* 5E9B 2014EF 006230 JSR PHPUT ;* 5E9E 60 006235 BADST RTS ;* 5E9F 2081EE 006240 PHOPEN JSR PHSTAT ;* 5EA2 A900 006245 LDA #0 ;* 5EA4 851D 006250 STA $1D ;* 5EA6 60 006255 RTS ;* 5EA7 851F 006260 PHWRIT STA $1F ;* 5EA9 201AEF 006265 JSR PRMODE ;* 5EAC A61D 006270 LDX $1D ;* 5EAE A51F 006275 LDA $1F ;* 5EB0 9DC003 006280 STA $03C0,X ;* 5EB3 E8 006285 INX ;* 5EB4 E41E 006290 CPX $1E ;* 5EB6 F013 006295 BEQ BUFFUL ;* 5EB8 861D 006300 STX $1D ;* 5EBA C99B 006305 CMP #$9B ;* 5EBC F003 006310 BEQ BLFILL ;* 5EBE A001 006315 LDY #1 ;* 5EC0 60 006320 RTS ;* 5EC1 A920 006325 BLFILL LDA #$20 ;* 5EC3 9DC003 006330 FILLBF STA $03C0 ;* 5EC6 E8 006335 INX ;* 2016-11-16 11:06 omnimon-xl.src Page 25 5EC7 E41E 006340 CPX $1E ;* 5EC9 D0F8 006345 BNE FILLBF ;* 5ECB A900 006350 BUFFUL LDA #0 ;* 5ECD 851D 006366 STA $1D ;* 5ECF AE7FEE 006360 LDX PHCHLO ;* 5ED2 AC80EE 006365 LDY PHCHL0+1 ;* 5ED5 20E6EE 006370 JSR SETDCB ;* 5ED8 2059E4 006375 JSR SIOV ;* 5EDB 60 006380 RTS ;* 5EDC 201AEF 006385 PHCLOS JSR PRMODE ;* 5EDF A61D 006390 LDX $1D ;* 5EE1 D0DE 006395 BNE BLFILL ;* 5EE3 A001 006400 LDY #1 ;* 5EE5 60 006405 RTS ;* 5EE6 8E0403 006410 SETDCB STX $0304 ;* 5EE9 8C0503 006415 STY $0305 ;* 5EEC A940 006420 LDA #$40 ;* 5EEE 8D0003 006425 STA $0300 ;* 5EF1 A901 006430 LDA #1 ;* 5EF3 8D0103 006435 STA $0301 ;* 5EF6 A980 006440 LDA #$80 ;* 5EF8 AE0203 006445 LDX $0302 ;* 5EFB E053 006450 CPX #$53 ;* 5EFD D002 006455 BNE PSIOC ;* 5EFF A940 006460 LDA #$40 ;* 5F01 8D0303 006465 PSIOC STA $0303 ;* 5F04 A51E 006470 LDA $1E ;* 5F06 8D0803 006475 STA $0308 ;* 5F09 A900 006480 LDA #0 ;* 5F0B 8D0903 006485 STA $0309 ;* 5F0E A51C 006490 LDA $1C ;* 5F10 8D0603 006495 STA $0306 ;* 5F13 60 006500 RTS ;* 5F14 ADEC02 006505 PHPUT LDA $02EC ;* 5F17 851C 006510 STA $1C ;* 5F19 60 006515 RTS ;* 5F1A A057 006520 PRNODE LDY #$57 ;* 5F1C A52B 006525 LDA $2B ;* 5F1E C94E 006530 CMODE CMP #$4E ;* 5F20 D004 006535 BNE CDUBL ;* 5F22 A228 006540 LDX #$28 ;* 5F24 D00E 006545 BNE SETBSZ ;* 5F26 C944 006550 CDUBL CMP #$44 ;* 5F28 D004 006555 BNE CSIDE ;* 5F2A A214 006560 LDX #$14 ;* 5F2C D006 006565 BNE SETBSZ ;* 5F2E C953 006570 CSIDE CMP #$53 ;* 5F30 D00B 006575 BNE GOERR ;* 5F32 A21D 006580 LDX #$1D ;* 5F34 861E 006585 SETBSZ STX $1E ;* 5F36 8C0203 006590 STY $0302 ;* 5F39 8D0A03 006595 STA $030A ;* 5F3C 60 006600 RTS ;* 5F3D A94E 006605 GOERR LDA #$4E ;* 5F3F D0DD 006610 BNE CMODE ;* 5F41 A9CC 006615 INIT LDA #*CC ;* 2016-11-16 11:06 omnimon-xl.src Page 26 5F43 8DEE02 006620 STA $02EE ;* 5F46 A905 006625 LDA #5 ;* 5F48 8DEF02 006630 STA $02EF ;* 5F4B 60 006635 SPECIA RTS ;* 5F4C A52B 006640 OPENC LDA $2B ;* 5F4E 853E 006645 STA $3E ;* 5F50 A52A 006650 LDA $2A ;* 5F52 290C 006655 AND #$0C ;* 5F54 C904 006660 CMP #4 ;* 5F56 F005 006665 BEQ OPINP ;* 5F58 C908 006670 CMP #8 ;* 5F5A F039 006675 BEQ OPOUT ;* 5F5C 60 006680 RTS ;* 5F5D A900 006685 OPINP LDA #0 ;* 5F5F 8D8902 006690 STA $0289 ;* 5F62 853F 006695 STA $3F ;* 5F64 A901 006700 SFH LDA #1 ;* 5F66 2058F0 006705 JSR $F058 ;* BEEP 5F69 3024 006710 BMI OPNRTN ;* 5F6B A934 006715 LDA #$34 ;* 5F6D 8D02D3 006720 STA $D302 ;* 5F70 A040 006725 LDY #$40 ;* 5F72 A202 006730 LDX #2 ;* 5F74 A903 006735 LDA #3 ;* 5F76 8D2A02 006740 STA $022A ;* 5F79 205CE4 006745 JSR SETVBV ;* 5F7C AD2A02 006750 WAITTM LDA $022A ;* 5F7F D0FB 006755 BNE WAITTM ;* 5F81 A980 006760 LDA #$80 ;* 5F83 853D 006765 STA $3D ;* 5F85 8D8A02 006770 STA $028A ;* 5F88 4CD3EF 006775 JMP OPOK ;* 5F8B A080 006780 PBRK LDY #$30 ;* 5F8D C611 006785 DEC $11 ;* 5F8F A900 006790 OPNRTN LDA #0 ;* 5F91 8D8902 006795 STA $0289 ;* 5F94 60 006800 RTS ;* 5F95 6805 006805 OPOUT LDA #$80 ;* 5F97 8D8902 006810 STA $0289 ;* 5F9A A902 006815 LDA #2 ;* 5F9C 2058F0 006820 JSR $F058 ;* 5F9F 30EE 006825 BMI OPNRTN ;* 5FA1 20A3EC 006830 JSR COMPUT ;* 5FA4 4CABEF 006835 JMP EFAB ;* 5FA7 04 006840 .BYTE 4 ;* 5FA8 8D06D2 006845 STA $D206 ;* 5FAB A960 006850 EFAB LDA #$60 ;* 5FAD 8D0003 006855 STA $0300 ;* 5FB0 2068E4 006860 JSR SENDEV ;* 5FB3 A934 006865 LDA #$34 ;* 5FB5 8D02D3 006870 STA $D302 ;* 5FB8 A903 006875 LDA #3 ;* 5FBA A202 006880 LDX #2 ;* 5FBC A080 006885 LDY #$80 ;* 5FBE 205CE4 006890 JSR SETVBV ;* 5FC1 A9FF 006895 LDA #$FF ;* 2016-11-16 11:06 omnimon-xl.src Page 27 5FC3 8D2A02 006900 STA $022A ;* 5FC6 A511 006905 WDLR LDA $11 ;* 5FC8 F0C1 006910 BEQ PBRK ;* 5FCA AD2A02 006915 LDA $022A ;* 5FCD D0F7 006920 BNE WDLR ;* 5FCF A900 006925 LDA #0 ;* 5FD1 853D 006930 STA $3D ;* 5FD3 A001 006935 OPOK LDY #1 ;* 5FD5 60 006940 RTS ;* 5FD6 A53F 006945 GBYTE LDA $3F ;* 5FD8 3033 006950 BMI ISEOF ;* 5FDA A63D 006955 LDX $3D ;* 5FDC EC8A02 006960 CPX $028A ;* 5FDF F008 006965 BEQ RBLOK ;* 5FE1 BD0004 006970 LDA $0400,X ;* 5FE4 E63D 006975 INC $3D ;* 5FE6 A001 006980 LDY #1 ;* 5FE8 60 006985 GBX RTS ;* 5FE9 A952 006990 RBLOK LDA #$52 ;* 5FEB 2095F0 006995 JSR SIOSB ;* 5FEE 88 007000 TYA ;* 5FEF 30F7 007005 BMI GBX ;* 5FF1 A900 007010 LDA #0 ;* 5FF3 853D 007015 STA $3D ;* 5FF5 A280 007020 LDX #$80 ;* 5FF7 ADFF03 007025 LDA $03FF ;* 5FFA C9FE 007030 CMP #$FE ;* 5FFC F00D 007035 BEQ ATEOF ;* 5FFE C9FA 007040 CMP #$FA ;* 6000 D003 007045 BNE NLR ;* 6002 AE7F04 007050 LDX $047F ;* 6005 8E8A02 007055 NLR STX $028A ;* 6008 4CD6EF 007060 JMP GBYTE ;* 600B C63F 007065 ATEOF DEC $3F ;* 600D A088 007070 ISEOF LDY #$88 ;* 600F 60 007075 RTS ;* 6010 A63D 007080 PBYTE LDX $3D ;* 6012 9D0004 007035 STA $0400,X ;* 6015 E63D 007090 INC $3D ;* 6017 A001 007095 LDY #1 ;* 6019 E07F 007100 CPX #127 ;* 601B F001 007105 BEQ *+3 ;* 601D 60 007110 RTS ;* 601E A9FC 007115 LDA #$FC ;* 6020 20D2F0 007120 JSR WSIOSB ;* 6023 A900 007125 LDA #0 ;* 6025 853D 007130 STA $3D ;* 6027 60 007135 RTS ;* 6028 A001 007140 STATU LDY #1 ;* 602A 60 007145 RTS ;* 602B AD8902 007150 CLOSEC LDA $0289 ;* 602E 3008 007155 BMI CLWRT ;* 6030 A001 007160 LDY #1 ;* 6032 A93C 007165 FCAX LDA #$3C ;* 6034 8D02D3 007170 STA $D302 ;* 6037 60 007175 RTS ;* 2016-11-16 11:06 omnimon-xl.src Page 28 6038 A63D 007180 CLWRT LDX $3D ;* 603A F00A 007185 BEQ WTLR ;* 603C 8E7F04 007190 STX $047F ;* 603F A9FA 007195 LDA #$FA ;* 6041 20D2F0 007200 JSR WSIOSB ;* 6044 30EC 007205 BMI FCAX ;* 6046 A27F 007210 WTLR LDX #127 ;* 6048 A900 007215 LDA #0 ;* 604A 9D0004 007220 ZTBUF STA $0400,X ;* 604D CA 007225 DEX ;* 604E 10FA 007230 BPL ZTBUF ;* 6050 A9FE 007235 LDA #$FE ;* 6052 20D2F0 007240 JSR WSIOSB ;* 6055 4C32F0 007245 JMP FCAX ;* 6058 8540 007250 BEEP STA $40 ;* 605A A514 007255 BEEP1 LDA $14 ;* 605C 18 007260 CLC ;* 605D 691E 007265 ADC #30 ;* 605F AA 007270 TAX ;* 6060 A9FF 007275 WFL LDA #$FF ;* 6062 3D1FD0 007280 STA $D01F ;* 6065 A900 007285 LDA #0 ;* 6067 A0F0 007290 LDY #$F0 ;* 6069 88 007295 DEY ;* 606A D0FD 007300 BNE *-1 ;* 606C 3D1FD0 007305 STA $D01F ;* 606F A0F0 007310 LDY #$F0 ;* 6071 88 007315 DEY ;* 6072 D0FD 007320 BNE *-1 ;* 6074 E414 007325 CPX $14 ;* 6076 D0E8 007330 BNE WFL ;* 6078 C640 007335 DEC $40 ;* 607A F00B 007340 BEQ WFAK ;* 607C 8A 007345 TXA ;* 607D 18 007350 CLC ;* 607E 690A 007355 ADC #10 ;* 6080 AA 007360 TAX ;* 6081 E414 007365 CPX $14 ;* 6083 D0FC 007370 BNE *-2 ;* 6085 F0D3 007375 BEQ BEEP1 ;* 6087 203CF0 007380 WFAK JSR WFAK1 ;* 608A 98 007385 TYA ;* 608B 60 007390 RTS ;* 608C AD25E4 007395 WFAK1 LDA $E425 ;* 608F 48 007400 PHA ;* 6090 AD24E4 007405 LDA $E424 ;* 6093 43 007410 PHA ;* 6094 60 007415 RTS ;* 6095 8D0203 007420 SIOSB STA $0302 ;* 6098 A900 007425 LDA #0 ;* 609A 8D0903 007430 STA $0309 ;* 609D A983 007435 LDA #131 ;* 609F 8D0303 007440 STA $0308 ;* 60A2 A903 007445 LDA #3 ;* 60A4 3D0503 007450 STA $0305 ;* 60A7 A9FD 007455 LDA #$FD ;* 2016-11-16 11:06 omnimon-xl.src Page 29 60A9 8D0403 007460 STA $0304 ;* 60AC A960 007465 CSIO LDA #$60 ;* 60AE 8D0003 007470 STA $0300 ;* 60B1 A900 007475 LDA #0 ;* 60B3 8D0103 007480 STA $0301 ;* 60B6 A923 007435 LDA #35 ;* 60B8 8D0603 007490 STA $0306 ;* 60BB AD0203 007495 LDA $0302 ;* 60BE A040 007500 LDY #$40 ;* 60C0 C952 007505 CMP #$52 ;* 60C2 F002 007510 BEQ *+4 ;* 60C4 A080 007515 LDY #$80 ;* 60C6 8C0303 007520 STY $0303 ;* 60C9 A53E 007525 LDA $3E ;* 60CB 8D0B03 007530 STA $030B ;* 60CE 2059E4 007535 JSR $E459 ;* 60D1 60 007540 RTS ;* 60D2 8DFF03 007545 WSIOSB STA $03FF ;* 60D5 A955 007550 LDA #$55 ;* 60D7 8DFD03 007555 STA $03FD ;* 60DA 8DFE03 007560 STA $03FE ;* 60DD A957 007565 LDA #$57 ;* 60DF 2095F0 007570 JSR SIOSB ;* 60E2 60 007575 RTS ;* 60E3 50 007580 TBLENT .BYTE 'P' ;* 60E4 30E4 007585 .BYTE $30,$E4 ;* 60E6 43 007590 .BYTE 'C' ;* 60E7 40E4 007595 .BYTE $40,$E4 ;* 60E9 45 007600 .BYTE 'E' ;* 60EA 00E4 007605 .BYTE $00,$E4 ;* 60EC 53 007610 .BYTE 'S' ;* 60ED 10E4 007615 .BYTE $10,$E4 ;* 60EF 4B 007620 .BYTE 'K' ;* 60F0 20E4 007625 .BYTE $20,$E4 ;* =000E 007630 TBLLEN = 14 60F2 A23F 007635 CLICK LDX #$3F ;* 60F4 8E1ED0 007640 CLICK1 STX $D01F ;* 60F7 8E0AD4 007645 STX $D40A ;* 60FA CA 007650 DEX ;* 60FB 10F7 007655 BPL CLICK1 ;* 60FD 60 007660 RTS ;* 60FE A900 007665 COLCR LDA #0 ;* 6100 A67B 007670 LDX $7B ;* 6102 D004 007675 BNE COLCR 1 ;* 6104 A657 007680 LDX $57 ;* 6106 D002 007685 BNE CQLCR2 ;* 6108 A552 007690 COLCR1 LDA $52 ;* 610A 8555 007695 COLCR2 STA $55 ;* 610C 60 007700 RTS ;* 610D 424F4F54 007705 DERRS .BYTE "BOOT ERROR", $9B ;* 6111 20455252 6115 4F529B =00F1 007710 DERRH = DERR5/256 =000D 007715 DERRL = DERR5&255 6118 453A9B 007720 ORNEDT .BYTE "E:",$9B ;* =00F1 007725 OPNH = OPNEDT/256 2016-11-16 11:06 omnimon-xl.src Page 30 =0018 007730 OPNL = OPNEDT&255 611B 78 007735 RESET SEI ;* 611C AD4402 007740 LDA $0244 ;* 611F D004 007745 BNE PWRUP ;* 6121 A9FF 007750 LDA #$FF ;* 6123 D038 007755 BNE PWRUP 1 ;* ;* ;* Reset Entry point ;* =6125 007759 RSTVEntry = . ; njc 6125 78 007760 PWRUP SEI ;* POWER UP VECTOR 6126 48 007765 PHA ;* SAVE A.X,Y FOR OMNIMON 6127 8A 007770 TXA ;* 6128 48 007775 PHA ;* 6129 98 007780 TYA ;* 612A 48 007785 PHA ;* 612B 20B0EC 007790 JSR HARDI ;* 612E AD1FD0 007795 LDA CONSOL ;* Console = $D01F 6131 2907 007800 AND #7 ;* TEST 3 BITS 6133 C905 007805 CMP #5 ;* SELECT KEY 6135 D018 007810 BNE CONTPU ;* 6137 8642 007815 STX $42 ;* 6139 8EFE02 007820 STX $02FE ;* DSPFLG 613C 8EFF02 007825 STX $02FF ;* SSFLAG (Stop/Start Screen Scroll) 613F ADF803 007830 LDA $03F8 ;* CHK BASIC FLAG 6142 D005 007835 BNE TRTOP ;* NOT THERE 6144 A9FD 007840 LDA #$FD ;* WAS THERE 6146 8D01D3 007845 STA $D301 ;* TURN BACK ON 6149 2025E9 007850 TRTOP JSR HOWMCH ;* 614C 4CD9F1 007855 JMP ESTSCM ;* 614F AD4402 007860 CONTPU LDA $0244 ;* IS IT RESET 6152 D007 007865 BNE PWRUP3 ;* 6154 AD3D03 007870 LDA $033D ;* 6157 C95C 007875 CMP #$5C ;* 6159 F0C0 007880 BEQ RESET ;* 615B A900 007885 PWRUP3 LDA #0 ;* 615D 8508 007890 PWRUP1 STA $08 ;* 615F D8 007895 CLD ;* 6160 A2FF 007900 LDX #$FF ;* 6162 9A 007905 TXS ;* STACK POINTER 6163 AD1FD0 007910 LDA CONSOL ;* Console $D01F 6166 2906 007915 AND #6 ;* SELECT & OPTION 6168 F013 007920 BEG ENSPEC ;* 616A AD13D0 007925 SPECL LDA $D013 ;* 616D 6A 007930 ROR A ;* 616E 900D 007935 BCC ENSPEC ;* 6170 ADFCBF 007940 LDA $BFFC ;* 6173 D008 007945 BNE ENSPEC ;* 6175 ADFDBF 007950 LDA $BFFD ;* 6178 1003 007955 BPL ENSPEC ;* 617A 6CFEBF 007960 CAINIT JMP ($BFFE) ;* 617D A508 007965 ENSPEC LDA $08 ;* 617F F007 007970 BEG TESTB ;* 6181 ADF803 007975 LDA $03F8 ;* 6184 D011 007980 BNE ENSPE2 ;* 6186 F007 007985 BEG TRNONB ;* 2016-11-16 11:06 omnimon-xl.src Page 31 6188 AD1FD0 007990 TESTB LDA CONSOL ;* Console $D01F 618B 2904 007995 AND #4 ;* OPTION PUSHED 618D F008 008000 BEG ENSPE2 ;* 618F AD01D3 008005 TRNONB LDA $D301 ;* 6192 29FD 008010 AND #$FD ;* TURN ON BASIC ROM 6194 8D01D3 008015 STA $D301 ;* 6197 2025E9 008020 ENSPE2 JSR HOWMCH ;* GO CHK RAM 619A A508 008025 LDA $08 ;* 619C D024 008030 BNE Z0SRAM ;* 619E A008 008035 ZERORM LDY #8 ;* 61A0 8504 008040 STA $04 ;* 61A2 8505 008045 STA $05 ;* 61A4 9104 008050 CLRRAM STA ($04),Y ;* 61A6 C8 008055 INY ;* 61A7 D0FB 008060 BNE CLRRAM ;* 61A9 E605 008065 INC $05 ;* 61AB A605 008070 LDX $05 ;* 61AD E406 008075 CPX $06 ;* 61AF D0F3 008080 BNE CLRRAM ;* 61B1 AD72E4 008085 LDA $E472 ;* 61B4 850A 008090 STA $0A ;* 61B6 AD73E4 008095 LDA $E473 ;* 61B9 850B 008100 STA $0B ;* 61BB A9FF 008105 LDA #$FF ;* 61BD 8D4402 008110 STA $0244 ;* 61C0 D017 008115 BNE ESTSCM ;* 61C2 A200 008120 Z0SRAM LDX #0 ;* 61C4 3A 008125 TXA ;* 61C5 9D0002 008130 Z0SRM2 STA $0200,X ;* 61C8 E0ED 008235 CPX #$ED ;* 61CA B003 008140 BCS Z0SRM4 ;* 61CC 9D0003 008145 STA $0300,X ;* 61CF CA 008150 Z0SRM4 DEX ;* 61D0 D0F3 008155 BNE Z0SRM2 ;* 61D2 A210 008160 LDX #$10 ;* 61D4 9500 003165 Z0SRM3 STA $00,X ;* 61D6 E8 008170 INX ;* 61D7 10FB 003175 BPL Z0SRM3 ;* 61D9 A200 008180 ESTSCM LDX #0 ;* 61DB AD01D3 008185 LDA $D301 ;* IS BASIC ROM THERE 61DE 2902 008190 AND #2 ;* 61E0 F001 008195 BEQ EST1 ;* 61E2 E8 008200 INX ;* 61E3 8EF803 008205 EST1 STX $03F8 ;* 61E6 A95C 008210 LDA #$5C ;* 61E8 8D3D03 008215 STA S033D ;* 61EB A902 008220 LDA #2 ;* 61ED 8552 008225 STA $52 ;* 61EF A927 008230 LDA #39 ;* 61F1 8553 008235 STA $53 ;* 61F3 A225 008240 OPSYS LDX #$25 ;* 61F5 BD80E4 008245 M0VVEC LDA $E480,X ;* 61F8 9D0002 008250 STA $0200,X ;* 61FB CA 008255 DEX ;* 61FC 10F7 008260 BPL M0VVEC ;* 61FE A20E 008265 LDX #$0E ;* 2016-11-16 11:06 omnimon-xl.src Page 32 6200 BDE3F0 008570 NXTENT LDA $F0E3,X ;* 6203 9D1A03 008575 STA $031A,X ;* 6206 CA 008280 DEX ;* 6207 10F7 008285 BPL NXTENT ;* 6209 C611 008290 OSRAM DEC $11 ;* 620B A954 008295 LDA #$54 ;* 620D 8D3602 008300 STA $0236 ;* 6210 A9E7 008305 LDA #$E7 ;* 6212 8D3702 008310 STA $0237 ;* 6215 A506 008315 LDA $06 ;* 6217 8DE402 008320 STA $02E4 ;* 621A 8DE602 008325 STA $02E6 ;* 621D A900 008330 LDA #0 ;* 621F 8DE502 008335 STA $02E5 ;* 6222 8506 008340 STA $06 ;* ; 6224 200CE4 008345 JSR $E40C ;* 6227 201CE4 008350 JSR $E41C ;* 622A 202CE4 008355 JSR $E42C ;* 622D 203CE4 008360 JSR $E43C ;* 6230 204CE4 008365 JSR $E44C ;* 6233 206EE4 008370 JSR $E46E ;* 6236 2065E4 008375 JSR $E465 ;* 6239 206BE4 008380 JSR $E46B ;* ; ; |Key Value 0 1 2 3 4 5 6 7 | ; | | ; | | ; |OPTION X X X X | ; |SELECT X X X X | ; |START X X X X | ; | | ; Bits 2 0 0 0 0 1 1 1 1 ; 1 0 0 1 1 0 0 1 1 ; 0 0 1 0 1 0 1 0 1 ; ; Where zero means all keys have been pressed, one means ; OPTION and SELECT have been pressed, etc., to seven, which ; means no keys have been pressed. CONSOL is updated every ; stage two VBLANK procedure with the value eight. ; ;--- -------- ------ -------------------------- ------------------ 623C AD1FD0 008385 LDA CONSOL ;* Console $D01F 623F AA 008390 TAX ;* 6240 2901 008395 AND #1 ;* START KEY 6242 D002 008400 BNE NOSTRT ;* ;* ;* Start key ;* ; Cassette boot request flag on coldstart. Checks to see if the ; START key is pressed and, if so, CKEY is set. Autoboot cassettes ; are loaded by pressing the START console key while turning the ; power on. In response to the beep, press the PLAY button on the 6244 E64A 008405 INC CKEY ;* CKEY =$4A ;* ;* Start key 2016-11-16 11:06 omnimon-xl.src Page 33 ;* 6246 58 008410 NOSTRT CLI ;* 6247 8A 008415 TXA ;* 6248 2906 008420 AND #6 ;* SELECT & OPTION 624A D010 008425 BNE OMNI2 ;* 624C 2001C0 008430 JSR $C001 ;* Jump to Omnimon 624F A200 008435 LDX #0 ;* 6251 A90C 008440 LDA #$0C ;* 6253 9D4203 008445 STA $0342, X ;* 6256 2056E4 008450 JSR $E456 ;* 6259 4C6EF2 008455 JMP ENDBCK ;* ; 625C 8A 008460 OMNI2 TXA ;* 625D 2902 008465 AND #2 ;* SELECT KEY 625F D003 008470 BNE CPU2 ;* 6261 4C15C0 008475 JMP $C015 ;* GOT IT 6264 A200 008480 CPU2 LDX #0 ;* 6266 8EE702 008485 STX $02E7 ;* 6269 A907 008490 LDA #7 ;* 626B 8DE802 008495 STA $02E8 ;* 626E AEE402 008500 ENDBCK LDX $02E4 ;* 6271 E0B0 008505 CPX #$B0 ;* 6273 B00A 008510 BCS ENDACK ;* 6275 AEFCBF 008515 LDX $BFFC ;* 6278 D005 008520 BNE ENDACK ;* 627A E606 008525 INC $06 ;* 627C 207AF1 008530 JSR CAINIT ;* INIT CART. 627F A903 008535 ENDACK LDA #3 ;* OPEN SCREEN 6281 A200 008540 LDX #0 ;* 6283 9D4203 008545 STA $0342, X ;* 6286 A918 008550 LDA #$18 ;* 6288 9D4403 008555 STA $0344, X ;* 628B A9F1 008560 LDA #$F1 ;* 628D 9D4503 008565 STA $0345, X ;* 6290 A90C 008570 LDA #$0C ;* 6292 9D4A03 008575 STA $034A, X ;* 6295 2056E4 008580 JSR $E456 ;* 6298 1003 008585 BPL SCRNOK ;* 629A 4C25F1 008590 JMP PWRUP ;* ; 629D E8 008595 INX ;* 629E D0FD 008600 BNE SCRNOK ;* 62A0 C8 008605 INY ;* 62A1 10FA 008610 BPL SCRNOK ;* 62A3 209EF3 008615 JSR $F39E ;* CSBOOT 62A6 A506 008620 LDA $06 ;* 62A8 F006 008625 BEQ NOCART ;* 62AA ADFDBF 008630 LDA $BFFD ;* 62AD 6A 008635 ROR A ;* 62AE 9003 008640 BNE NOBOOT ;* 62B0 20CFF2 008645 NOCART JSR $F2CF ;* BOOT 62B3 A900 008650 NOBOOT LDA #0 ;* 62B5 8D4402 008655 STA $0244 ;* 62B8 A506 008660 LDA $06 ;* 62BA F00A 008665 BEQ NOCAR2 ;* 62BC ADFDBF 008670 LDA $BFFD ;* 2016-11-16 11:06 omnimon-xl.src Page 34 62BF 2904 008675 AND #4 ;* 62C1 F003 008680 BEQ NOCAR2 ;* 62C3 6CFABF 008685 JMP ($BFFA) ;* 62C6 6C0A00 008690 N0CAR2 JMP ($0A) ;* DOSVEC 62C9 203EF6 008695 BLACKB JSR $F63E ;* EGETCH 62CC 4CC9F2 008700 JMP BLACKB ;* 62CF A508 008705 BOOT LDA S08 ;* 62D1 F00A 008710 BEQ NOWARM ;* 62D3 A509 008715 LDA $09 ;* 62D5 2901 008720 AND #1 ;* 62D7 F003 008725 BEQ NOINIT ;* 62D9 207EF3 008730 JSR DINI ;* 62DC 60 008735 NOINIT1 RTS ;* 62DD A901 008740 NOWARM1 LDA $1 ;* 62DF 8D0103 008745 STA $0301 ;* 62E2 A953 008750 LDA #$53 ;* 62E4 8D0203 008755 STA $0302 ;* 62E7 2053E4 008760 JSR $E453 ;* 62EA 1001 008765 BPL DOBOOT ;* 62EC 60 008770 RTS ;* 62ED A900 008775 DOBOOT1 LDA #0 ;* 62EF 8D0B03 008780 STA $030B ;* 62F2 8D0403 008785 STA $0304 ;* 62F5 A901 008790 LDA #1 ;* 62F7 8D0A03 008795 STA $030A ;* 62FA A904 008800 LDA #4 ;* 62FC 8D0503 008805 STA $0305 ;* 62FF EA 008810 NOP ;* 6300 EA 008815 NOP ;* 6301 20C0FC 008820 SECT1 JSR GETSEC ;* 6304 1008 008825 BPL ALLSEC ;* 6306 2081F3 008830 BADDSK JSR DSKRDE ;* 6309 A54B 008835 LDA $4B ;* 630B F0E0 008840 BEQ DOBOOT ;* 630D 60 008845 RTS ;* 630E A203 008850 ALLSEC LDX #3 ;* 6310 BD0004 008855 RDBYTE1 LDA $0400,X ;* 6313 9D4002 008860 STA $0240,X ;* 6316 CA 008865 DEX ;* 6317 10F7 008870 BPL RDBYTE ;* 6319 AD4202 008875 LDA $0242 ;* 631C 8504 008880 STA $04 ;* 631E AD4302 008885 LDA $0243 ;* 6321 8505 008890 STA $05 ;* 6323 AD0404 008895 LDA $0404 ;* 6326 850C 008900 STA $00 ;* 6328 AD0504 008905 LDA $0405 ;* 632B 850D 008910 STA $0D ;* 632D A07F 008915 MVBUFF LDY #$7F ;* 632F B90004 008920 MVNXB LDA $0400,Y ;* 6332 9104 008925 STA ($04),Y ;* 6334 88 008930 DEY ;* 6335 10F8 008935 BPL MVNXB ;* 6337 18 008940 CLC ;* 6338 A504 008945 LDA $04 ;* 633A 6980 008950 ADC #$80 ;* 2016-11-16 11:06 omnimon-xl.src Page 35 633C 8504 008955 STA $04 ;* 633E A505 008960 LDA $05 ;* 6340 6900 008965 ADC #0 ;* 6342 8505 008970 STA $05 ;* 6344 CE4102 008975 DEC $0241 ;* 6347 F011 008980 BEQ ENBOOT ;* 6349 EE0A03 003985 INC $030A ;* 634C 20C0FC 008990 SECTX JSR 6ETSEC ;* 634F 10DC 000995 BPL MVBUFF ;* 6351 2081F3 009000 JSR DSKRDE ;* 6354 A54B 009005 LDA $4B ;* 6356 D0AE 009010 BNE BADDSK ;* 6358 F0F2 009015 BEQ SECTX ;* 635A A54B 009020 ENBOOT LDA $4B ;* 635C F003 009025 BEQ XBOOT ;* 635E 20C0FC 009030 JSR 6ETSEC ;* 6361 206CF3 009035 XB00T JSR BLOAD ;* 6364 B0A0 009040 BCS BADDSK ;* 6366 207EF3 009045 JSR DINI ;* 6369 E609 009050 INC $09 ;* 636B 60 009055 RTS ;* 636C 18 009060 BLOAD CLC ;* 636D AD4202 009065 LDA $0242 ;* 6370 6906 009070 ADC #6 ;* 6372 8504 009075 STA $04 ;* 6374 AD4302 009080 LDA $0243 ;* 6377 6900 009085 ADC #0 ;* 6379 8505 009090 STA $05 ;* 637B 6C0400 009095 JMP ($04) ;* 637E 6C0C00 009100 DINI JMP ($0C) ;* 6381 A20D 009105 DSKRDE LDX #DERRL ;* 6383 A0F1 009110 LDY #DERRL ;* 6385 8A 009115 PUTLIN TXA ;* 6386 A200 009120 LDX #0 ;* 6388 9D4403 009125 STA $0344,X ;* 638B 98 009130 TYA ;* 638C 9D4503 009135 STA $0345,X ;* 638F A909 009140 LDA #9 ;* 6391 9D4203 009145 STA $0342,X ;* 6394 A9FF 009150 LDA #$FF ;* 6396 9D4803 009155 STA $0348,X ;* 6399 4C56E4 009160 JMP $E456 ;* 639C EA 009165 NOP ;* 639D EA 009170 NOP ;* 639E A508 009175 CSBOOT LDA $08 ;* 63A0 F00A 009180 BEQ CSBOT2 ;* 63A2 A509 009185 LDA $09 ;* 63A4 290A 009190 AND #2 ;* 63A6 F003 009195 BEQ NOCSB2 ;* 63A8 20CDF3 009200 JSR CINI ;* 63AB 60 009205 N0CSB2 RTS ;* 63AC A54A 009210 CSB0T2 LDA $4A ;* 63AE F01C 009215 BEQ NOCSBT ;* 63B0 A980 009220 LDA #$80 ;* 63B2 853E 009225 STA $3E ;* 63B4 E64B 009230 INC $4B ;* 2016-11-16 11:06 omnimon-xl.src Page 36 63B6 207DE4 009235 JSR $E47D ;* 63B9 2001F3 009240 JSR SECT1 ;* 63BC A900 009245 LDA #0 ;* 63BE 854B 009250 STA $4B ;* 63C0 854A 009255 STA $4A ;* 63C2 0609 009260 ASL $09 ;* 63C4 A50C 009265 LDA $0C ;* 63C6 8502 009270 STA $02 ;* 63C8 A500 009275 LDA $0D ;* 63CA 8503 009280 STA $03 ;* 63CC 60 009285 NOCSBT RTS ;* 63CD 6C0200 009290 CINI JMP ($02) ;* 63D0 A9FF 009295 PWRONA LDA #$FF ;* 63D2 8DFC02 009300 STA $02FC ;* 63D5 ADE602 009305 LDA $02E6 ;* 63D8 29F0 009310 AND #$F0 ;* 63DA 856A 009315 STA $6A ;* 63DC A940 009320 LDA #$40 ;* 63DE 80BE02 009325 STA $02BE ;* 63E1 60 009330 RTS ;* 63E2 A205 009335 DOPEN0 LDX #5 ;* 63E4 B0C8FE 009340 DOPEN8 LDA COLRTB-1,X ;* 63E7 9DC302 009345 STA $02C3,X ;* 63EA CA 009350 DEX ;* 63EB D0F7 009355 BNE D0PEN8 ;* 63ED 8664 009360 STX $64 ;* 63EF A46A 009365 LDY $6A ;* 63F1 88 009370 DEY ;* 63F2 8C9502 009375 STY $0295 ;* 63F5 60 009380 RTS ;* 63F6 A52B 009385 DOPEN LDA $2B ;* OLD DOPEN 63F8 290F 009390 AND #$0F ;* 63FA D008 009395 BNE OPNCOM ;* 63FC A52A 009400 EOPEN LDA $2A ;* 63FE 290F 009405 AND #$0F ;* 6400 852A 009410 STA $2A ;* 6402 A900 009415 LDA #0 ;* 6404 8557 009420 OPNCOM STA $57 ;* 6406 20E2F3 009425 JSR DOPEN0 ;* 6409 8E9302 009430 STX $0293 ;* 640C 867B 009435 STX $7B ;* 640E 8EF002 009440 STX $02F0 ;* 6411 A9E0 009445 LDA #$E0 ;* 6413 80F402 009450 STA $02F4 ;* 6416 A902 009455 LDA #2 ;* 6418 80F302 009460 STA $02F3 ;* 641B 802F02 009465 STA $022F ;* 641E A901 009470 LDA #1 ;* 6420 854C 009475 STA $4C ;* 6422 A00E 009480 LDY #14 ;* 6424 99A302 009485 CLRTBS STA $02A3, Y ;* 6427 88 009490 DEY ;* 6428 10FA 009495 BPL CLRTBS ;* 642A A9C0 009500 LDA #$C0 ;* 642C 0510 009505 ORA $10 ;* 642E 8510 009510 STA $10 ;* 2016-11-16 11:06 omnimon-xl.src Page 37 6430 8D0ED2 009515 STA $D20E ;* 6433 A960 009520 LDA #$60 ;* 6435 809402 009525 STA $0294 ;* 6438 A657 009530 LDX $57 ;* 643A BD55FE 009535 LDA ANCONV,X ;* 643D D004 009540 BNE DOPENA ;* 643F A991 009545 OFNERR LDA #$91 ;* 6441 854C 009550 STA $4C ;* 6443 8551 009555 DOPENA STA $51 ;* 6445 A56A 009560 LDA $6A ;* 6447 8565 009565 STA $65 ;* 6449 BC25FE 009570 LDY ALOCAT,X ;* 644C A928 009575 D0PEN1 LDA #40 ;* 644E 2021F9 009530 JSR DBSUB ;* 6451 88 009585 DEY ;* 6452 D0F8 009590 BNE DOPEN1 ;* 6454 AD6F02 009595 LDA $026F ;* 6457 293F 009600 AND #$3F ;* 6459 3567 009605 STA $67 ;* 645B A8 009610 TAY ;* 645C E008 009615 CPX #8 ;* 645E 901F 009620 BCC NOT8 ;* 6460 E00F 009625 CPX #15 ;* 6462 F00D 009630 BEQ MODE15 ;* 6464 E00C 009635 CPX #12 ;* 6466 B017 009640 BCS NOT8 ;* 6468 8A 009645 TXA ;* 6469 6A 009650 ROR A ;* 646A 6A 009655 ROR A ;* 646B 6A 009660 ROR A ;* 646C 29C0 009665 AND #$C0 ;* 646E 0567 009670 ORA $67 ;* 6470 A8 009675 TAY ;* 6471 A910 009680 MODE15 lDA #16 ;* 6473 2021F9 009685 JSR DBSUB ;* 6476 E00B 009690 CPX #11 ;* 6478 D005 009695 BNE NOT8 ;* 647A A906 009700 LDA #6 ;* 647C 8DC802 009705 STA $02C8 ;* 647F 8C6F02 009710 NOT8 STY $026F ;* 6482 A564 009715 LDA $64 ;* 6484 8558 009720 STA $58 ;* 6486 A565 009725 LDA $65 ;* 6488 8559 009730 STA $59 ;* 648A AD0BD4 009735 VBWAIT LDA $D40B ;* 648D C97A 009740 CMP #$7A ;* 648F D0F9 009745 BNE VBWAIT ;* 6491 201FF9 009750 JSR DBDEC ;* 6494 BD65FE 009755 LDA PAGETB,X ;* 6497 F006 009760 BEQ NOMOD ;* 6499 A9FF 009765 LDA #$FF ;* 649B 8564 009770 STA $64 ;* 649D C665 009775 DEC $65 ;* 649F A564 009780 NOMOD LDA $64 ;* 64A1 8568 009785 STA $68 ;* 64A3 A565 009790 LDA $65 ;* 2016-11-16 11:06 omnimon-xl.src Page 38 64A5 8569 009795 STA $69 ;* 64A7 2013F9 009800 JSR DBDDEC ;* 64AA A941 009805 LDA #$41 ;* 64AC 2017F9 009310 JSR STORE ;* 64AF 8666 009815 STX $66 ;* 64B1 A918 009820 LDA #24 ;* 64B3 8DBF02 009825 STA $02BF ;* 64B6 A557 009830 LDA $57 ;* 64B8 C90C 009835 CMP #12 ;* 64BA B004 009840 BCS MODE12 ;* 64BC C909 009845 CMP #9 ;* 64BE B02D 009850 BCS NOTMXD ;* 64C0 A52A 009855 MODE12 LDA $2A ;* 64C2 2910 009860 AND #$10 ;* 64C4 F027 009865 BEQ NOTMXD ;* 64C6 A904 009870 LDA #4 ;* 64C8 8DBF02 009875 STA $02BF ;* 64CB A202 009880 LDX #2 ;* 64CD A902 009885 DOPEN2 LDA #2 ;* 64CF 2017F9 009890 JSR STORE ;* 64D2 CA 009895 DEX ;* 64D3 10F8 009900 BPL DOPEN2 ;* 64D5 A46A 009905 LDY $6A ;* 64D7 88 009910 DEY ;* 64D8 98 009915 TYA ;* 64D9 2017F9 009920 JSR STORE ;* 64DC A960 008825 LDA #$60 ;* 64DE 2017F9 009930 JSR STORE ;* 64E1 A942 009935 LDA #$42 ;* 64E3 2017F9 009940 JSR STORE ;* 64E6 18 009945 CLC ;* 64E7 A910 009950 LDA #MXDMDE-NUMDLE ;* 64E9 6566 009955 ADC $66 ;* 64EB 8566 009960 STA $66 ;* 64ED A466 009965 NOTMXD LDY $66 ;* 64EF BE35FE 009970 LDX NUMDLE,Y ;* 64F2 A551 009975 D0PEN3 LDA $51 ;* 64F4 2007F9 009980 JSR STORE ;* 64F7 CA 009985 DEX ;* 64F8 D0F8 009990 BNE DOPEN3 ;* 64FA A557 009995 LDA $57 ;* 64FC C908 010000 CMP #8 ;* 64FE 9026 010005 BCC D0PEN5 ;* 6500 C90F 010010 CMP #15 ;* 6502 F004 010015 BEQ MDE15 ;* 6504 C90C 010020 CMP #12 ;* 6506 B01E 010025 BCS DOPEN5 ;* 6508 A25D 010030 MDE15 LDX #93 ;* 650A A56A 010035 LDA $6A ;* 650C 38 010040 SEC ;* 650D E910 010045 SBC #$10 ;* 650F 2017F9 010050 JSR STORE ;* 6512 A900 010055 LDA #0 ;* 6514 2017F9 010060 JSR STORE ;* 6517 A551 010065 LDA $51 ;* 6519 0940 010070 ORA #$40 ;* 2016-11-16 11:06 omnimon-xl.src Page 39 651B 2017F9 010075 JSR STORE ;* 651E A551 010080 DOPEN4 LDA $51 ;* 6520 2017F9 010085 JSR STORE ;* 6523 CA 010090 DEX ;* 6524 D0F8 010095 BNE DQPEN4 ;* 6526 A559 010100 DOPEN5 LDA $59 ;* 6528 2017F9 010105 JSR STORE ;* 652B A558 010110 LDA $58 ;* 652D 2017F9 010115 JSR STORE ;* 6530 A551 010120 LDA $51 ;* 6532 0940 010125 ORA #$40 ;* 6534 A203 010130 LDX #3 ;* 6536 2017F9 010135 DOPEN JSR STORE ;* 6539 A970 010140 LDA #$70 ;* 653B CA 010145 DEX ;* 653C D0F8 010150 BNE D0PEN6 ;* 653E A564 010155 LDA $64 ;* 6540 8D3002 010160 STA $0230 ;* 6543 A565 010165 LDA $65 ;* 6545 8D3102 010170 STA $0231 ;* 6548 A970 010175 LDA #$70 ;* 654A 2017F9 010180 JSR STORE ;* 654D A564 010135 LDA $64 ;* 654F 8DE502 010190 STA $02E5 ;* 6552 A565 010195 LDA $65 ;* 6554 8DE602 010200 STA $02E6 ;* 6557 A568 010205 LDA $68 ;* 6559 8564 010210 STA $64 ;* 655B A569 010215 LDA $69 ;* 655D 8565 010220 STA $65 ;* 655F AD3102 010225 LDA $0231 ;* 6562 2017F9 010230 JSR STORE ;* 6565 A03002 010235 LDA $0230 ;* 6568 2017F9 010240 JSR STORE ;* 656B A54C 010245 LDA $4C ;* 656D 1007 010250 BPL D0PEN9 ;* 656F 48 010255 PHA ;* 6570 20FCF3 010260 JSR EOPEN ;* 6573 68 010265 PLA ;* 6574 A8 010270 TAY ;* 6575 60 010275 RTS ;* 6576 A52A 010280 DOPEN9 LDA $2A ;* 6578 2920 010285 AND #$20 ;* 657A D00B 010290 BNE D0PEN7 ;* 657C 20B9F7 010295 JSR CLRSCR ;* 657F 8D9002 010300 STA $0290 ;* 6582 A552 010305 LDA $52 ;* 6584 8D9102 010310 STA $0291 ;* 6587 A922 010315 DOPEN7 LDA #$22 ;* 6589 0D2F02 010320 ORA $022F ;* 658C 8D2F02 010325 STA $022F ;* 658F 4C21F6 010330 JMP RETUR2 ;* 6592 EA 010335 NOP ;* 6593 2096FA 010340 GETCH JSR RANGE ;* 6596 20A2F5 010345 JSR GETPLT ;* 6599 2032FB 010350 JSR INATAC ;* 2016-11-16 11:06 omnimon-xl.src Page 40 659C 20D4F9 010355 JSR INCRSB ;* 659F 4C34F6 010360 JMP RETUR1 ;* 65A2 2047F9 010365 GETPLT JSR CONVRT ;* 65A5 B164 010370 LDA ($64),Y ;* 65A7 2DA002 010375 AND $02AO ;* 65AA 466F 010380 SHIFTD LSR $6F ;* 65AC B003 010385 BCS SHIFT1 ;* 65AE 4A 010390 LSR A ;* 65AF 10F9 010395 BPL SHIFTD ;* 65B1 8DFA02 010400 SHIFT1 STA $02FA ;* 65B4 C900 010405 CMP #0 ;* 65B6 60 010410 RTS ;* 65B7 8DFB02 010415 OUTCH STA $02FB ;* 65BA 2096FA 010420 JSR RANGE ;* 65BD ADFB02 010425 OUTCHA LDA $O2FB ;* 65C0 C97D 010430 CMP #$7D ;* 65C2 0006 010435 BNE OUTCHE ;* 65C4 20B9F7 010440 JSR CLRSCR ;* 65C7 4C21F6 010445 JMP RETUR2 ;* 65CA ADFB02 010450 OUTCHE LDA $02FB ;* 65CD C99B 010455 CMP #$9B ;* 65CF D006 010460 BNE OUTCHB ;* 65D1 2030FA 010465 JSR DOCRWS ;* Do CR WARMSTART 65D4 4C21F6 010470 JMP RETUR2 ;* ;* ;* ;* 65D7 20E0F5 010475 OUTCHB JSR OUTPUT ;* 65DA 20D8F9 010480 JSR INCRSR ;* 65DD 4C21F6 010485 JMP RETUR2 ;* ;* ;* ;* 65E0 ADFF02 010490 OUTPUT LDA $02FF ;* SSFLAG (Start/Stop Flag) 65E3 D0FB 010495 BNE OUTPUT ;* tight loop ! 65E5 A202 010500 LDX #2 ;* 65E7 B554 010505 CRLOOP LDA $54,X ;* 65E9 955A 010510 STA $5A,X ;* 65EB CA 010515 DEX ;* 65EC 10F9 010520 BPL CRLOOP ;* 65EE ADFB02 010525 LDA $02FB ;* 65F1 A8 010530 TAY ;* 65F2 2A 010535 ROL A ;* 65F3 2A 010540 ROL A ;* 65F4 2A 010545 ROL A ;* 65F5 2A 010550 ROL A ;* 65F6 2903 010555 AND #3 ;* 65F8 AA 010560 TAX ;* 65F9 98 010565 TYA ;* 65FA 299F 010570 AND #$9F ;* 65FC 1DF0FF 010575 ORA ATAINT,X ;* 65FF 8DFA02 010580 0UTCH2 STA $02FA ;* 6602 2047F9 010585 JSR CONVRT ;* 6605 ADFA02 010590 LDA $02FA ;* 6608 466F 010595 SHIFTU LSR $6F ;* 660A B004 010600 BCS SHIFT2 ;* 2016-11-16 11:06 omnimon-xl.src Page 41 660C 0A 010605 ASL A ;* 660D 4C00F6 010610 JMP SHIFTU ;* 6610 2DA002 010615 SHIFT2 AND $02AO ;* 6613 8550 010620 STA $50 ;* 6615 ADA002 010625 LDA $02AO ;* 6618 49FF 010630 EOR #$FF ;* 661A 3164 010635 AND ($64),Y ;* 661C 0550 010640 ORA $50 ;* 661E 9164 010645 STA ($64),Y ;* 6620 60 010650 RTS ;* 6621 20A2F5 010655 RETUR2 JSR GETPUT ;* 6624 855D 010660 STA $5D ;* 6626 A657 010665 LDX $57 ;* 6628 D00A 010670 BNE RETUR1 ;* 662A AEF002 010675 LDX $02F0 ;* 662D D005 010680 BNE RETUR1 ;* 662F 4980 010685 EOR #$80 ;* 6631 20FFF5 010690 JSR OUTCH2 ;* 6634 A44C 010695 RETUR1 LDY $4C ;* 6636 A901 010700 LDA #1 ;* 6638 854C 010705 STA $4C ;* 663A ADFB02 010710 LDA $02FB ;* 663D 60 010715 NOFUNC RTS ;* 663E 209BFC 010720 EGETCH JSR SWAP ;* 6641 2088FA 010725 JSR ERANGE ;* 6644 A56B 010730 LDA $6B ;* 6646 D034 010735 BNE EGETC3 ;* 6648 A554 010740 LDA $54 ;* 664A 856C 010745 STA $6C ;* 664C A555 010750 LDA $55 ;* 664E 856D 010755 STA $6D ;* 6650 20E2F6 010760 E6ETC1 JSR KGETCH ;* 6653 844C 010765 STY $4C ;* 6655 ADFB02 010770 LDA $02FB ;* 6658 C99B 010775 CMP #$9B ;* CR? 665A F012 010780 BEQ EGETC2 ;* 665C 20ADF6 010785 JSR DOSS ;* 665F 209BFC 010790 JSR SWAP ;* 6662 A563 010795 LDA$63 ;* 6664 C971 010800 CMP #113 ;* 6666 D003 010805 BNE EGETC6 ;* 6668 200AF9 010810 JSR BELL ;* 666B 4C50F6 010815 EGETC6 JMP E6ETC1 ;* 666E 20E4FA 010820 EGETC2 JSR OFFCRS ;* 6671 20F8FB 010825 JSR DOBUFC ;* 6674 A56C 010830 LDA $6C ;* 6676 8554 010835 STA $54 ;* 6678 A56D 010340 LDA $6D ;* 667A 8555 010845 STA $55 ;* 667C A56B 010850 EGETC3 LDA $6B ;* 667E F011 010855 BEQ EGETC5 ;* 6680 C66B 010860 EGETC7 DEC $6B ;* 6682 F00D 010865 BEQ EGETC5 ;* 6684 A54C 010870 LDA $4C ;* 6686 30F8 010875 BMI EGETC7 ;* 6688 2093F5 010880 JSR GETCH ;* 2016-11-16 11:06 omnimon-xl.src Page 42 668B 8DFB02 010885 STA $02FB ;* 668E 4C9BFC 010890 JMP SWAP ;* 6691 2030FA 010895 EGETCS JSR DOCRWS ;* 6694 A99B 010900 LDA #$9B ;* 6696 8DFB02 010905 STA $02FB ;* 6699 2021F6 010910 JSR RETUR2 ;* 669C 844C 010915 STY $4C ;* 669E 4C9BFC 010920 JMP SWAP ;* 66A1 6C6400 010925 JSRIND JMP ($64) ;* 66A4 8DFB02 010930 EOUTCH STA $02FB ;* 66A7 209BFC 010935 JSR SWAP ;* 66AA 2088FA 010940 JSR ERANGE ;* 66AD 20E4FA 010945 DOSS JSR OFFCRS ;* 66B0 2015E9 010950 JSR TSTCTL ;* 66B3 F009 010955 BEQ EOUTC5 ;* 66B5 0EA202 010960 E0UTC6 ASL $02A2 ;* 66B8 20CAF5 010965 JSR OUTCHE ;* 66BB 4C9BFC 010970 ERETN JMP SWAP ;* 66BE ADFE02 010975 E0UTC5 LDA $02FE ;* 66C1 0DA202 010980 ORA $02A2 ;* 66C4 D0EF 010985 BNEE EOUTC6 ;* 66C6 0EA202 010990 ASL $02A2 ;* 66C9 E8 010995 INX ;* 66CA BDCEFE 011000 LDA CNTRLS, X ;* 66CD 8564 011005 STA $64 ;* 66CF BDCEFE 011010 LDA CNTRLS+1,X ;* 66D2 8665 011015 STA $65 ;* 66D4 20A1F6 011020 JSR JSRIND ;* 66D7 2021F6 011025 JSR RETUR2 ;* 66DA 4C9BFC 011030 JMP SWAP ;* 66DD A9FF 011035 KGETC2 LDA #$FF ;* 66DF 8DFC02 011040 STA $02FC ;* 66E2 A52A 011045 KGETCH LDA $2A ;* 66E4 4A 011050 LSR A ;* 66E5 B062 011055 BCS GETOUT ;* 66E7 A980 011060 LDA #$80 ;* 66E9 A611 011065 LDX $11 ;* 66EB F058 011070 BEQ K7 ;* 66ED ADFC02 011075 LDA $02FC ;* 66F0 C9FF 011080 CMP #$FF ;* 66F2 F0EE 011085 BEQ KGETCH ;* 66F4 857C 011090 STA $7C ;* 66F6 A2FF 011095 LDX #$FF ;* 66F8 8EFC02 011100 STX $02FC ;* 66FB 20F2F0 011105 JSR CLICK ;* 66FE AA 011110 K6ETC3 TAX ;* 66FF E0C0 011115 CPX #$C0 ;* 6701 9002 011120 BCC ASCC01 ;* 6703 A203 011125 LDX #3 ;* 6705 BDFEFE 011130 ASCC01 LDA ATASCI,X ;* 6708 8DFB02 011135 STA $02FB ;* 670B C980 011140 CMP #$80 ;* 670D F0CE 011145 BEQ KGETC2 ;* 670F C981 011150 CMP #$81 ;* 6711 D00B 011155 BNE KGETC1 ;* 6713 ADB602 011160 LDA $02B6 ;* 2016-11-16 11:06 omnimon-xl.src Page 43 6716 4980 011165 EOR #$80 ;* 6718 8DB602 011170 STA $02B6 ;* 671B 4CDDF6 011175 JMP KGETC2 ;* 671E C982 011180 K6ETC1 CMP #$82 ;* 6720 D007 011185 BNE K1 ;* 6722 A900 011190 LDA #0 ;* 6724 8DBE02 011195 STA $02BE ;* 6727 F0B4 011200 BEQ KGETC2 ;* 6729 C983 011205 K1 CMP #$83 ;* 672B D007 011210 BNE K2 ;* 672D A940 011215 LDA #$40 ;* 672F 8DBE02 011220 STA $02BE ;* 6732 D0A9 011225 BNE KGETC2 ;* 6734 0984 011230 K2 CMP #$84 ;* 6736 D007 011235 BNE K3 ;* 6738 A980 011240 LDA #$80 ;* 673A 8DBE02 011245 STA $02BE ;* 673D D09E 011250 BNE KGETC2 ;* 673F C985 011255 K3 CMP #$85 ;* 6741 D00A 011260 BNE K6 ;* 6743 A988 011265 LDA #$88 ;* 6745 8540 011270 K7 STA $4C ;* 6747 8511 011275 STA $11 ;* 6749 A99B 011280 GETOUT LDA #$9B ;* 674B D026 011285 BNE K8 ;* 674D A57C 011290 K6 LDA $7C ;* 674F 0940 011295 CMP #$40 ;* 6751 B015 011300 BCS K5 ;* 6753 ABFB02 011305 LDA $02FB ;* 6756 0961 011310 CMP #$61 ;* 6758 900E 011315 BCC K5 ;* 675A 097B 011320 CMP #$7B ;* 675C B00A 011325 BCS K5 ;* 675E ADBE02 011330 LDA $02BE ;* 6761 F005 011335 BEG K5 ;* 6763 057C 011340 ORA $7C ;* 6765 4CFEF6 011345 JMP KGETC3 ;* 6768 2015E9 011350 K5 JSR TSTCTL ;* 676B F009 011355 BEQ K4 ;* 676D A0FB02 011360 LDA $02FB ;* 6770 4DB602 011365 EOR $02B6 ;* 6773 8DFB02 011370 K8 STA $02FB ;* 6776 4C34F6 011375 K4 JMP RETUR1 ;* 6779 A980 011380 ESCAPE LDA #$30 ;* 677B 80A202 011385 STA $02A2 ;* 677E 60 011390 RTS ;* ; 677F C654 011395 CRSRUP DEC $54 ;* 6781 1006 011400 BPL COMRET ;* 6783 AEBF02 011405 LDX $02BF ;* 6786 CA 011410 DEX ;* 6787 8654 011415 UPDNCM STX $54 ;* 6789 4C54FC 011420 COMRET JMP STRBEG ;* 678C E654 011425 CRSRDN INC $54 ;* 678E A554 011430 LDA $54 ;* 6790 CDBF02 011435 CMP $02BF ;* 2016-11-16 11:06 omnimon-xl.src Page 44 6793 90F4 011440 BCC COMRET ;* 6795 A200 011445 LDX #0 ;* 6797 F0EE 011450 BEQ UPDNCM ;* 6799 C655 011455 CRSRLF DEC $55 ;* 679B A666 011460 LDA $55 ;* 679D 3004 011465 BMI CRSRL1 ;* 679F C552 011470 CMP $52 ;* 67A1 B004 011475 BCS CQMRE1 ;* 67A3 A553 011480 CRSRL1 LDA $53 ;* 67A5 8555 011485 LFRTCM STA $55 ;* 67A7 4CD5FB 011490 COMRE1 JMP DOLCOL ;* 67AA E655 011495 CRSRRT INC $55 ;* 67AC A555 011500 LDA $55 ;* 67AE C553 011505 CMP $53 ;* 67B0 90F5 011510 BCC COMRE1 ;* 67B2 F0F3 011515 BEQ COMRE1 ;* 67B4 A552 011520 LDA $52 ;* 67B6 4CA5F7 011525 JMP LFRTCM ;* 67B9 20D4FC 011530 CLRSCR JSR PUTMSC ;* 67BC A000 011535 LDY #0 ;* 67BE 98 011540 TYA ;* 67BF 9164 011545 CLRSC2 STA ($64),Y ;* 67C1 C8 011550 INY ;* 67C2 D0FB 011555 BNE CLRSC2 ;* 67C4 E665 011560 INC $65 ;* 67C6 A665 011565 LDX $65 ;* 67C8 E46A 011570 CPX $6A ;* 67CA 90F3 011575 BCC CLRSC2 ;* 67CC A9FF 011580 LDA #$FF ;* 67CE 99B202 011585 CLRSC3 STA $0282,Y ;* 67D1 C8 011590 INY ;* 67D2 C004 011595 CPY #4 ;* 67D4 90F8 011600 BCC CLRSC3 ;* 67D6 20FEF0 011605 HOME JSR COLOR ;* 67D9 8563 011610 STA $63 ;* 67DB 856D 011615 STA $6D ;* 67DD A900 011620 LDA #0 ;* 67DF 8554 011625 STA $54 ;* 67E1 8556 011630 STA $56 ;* 67E3 856C 011635 STA $6C ;* 67E5 60 011640 RTS ;* 67E6 A563 011645 BS LDA $63 ;* 67E8 C552 011650 CMP $52 ;* 67EA F021 011655 BEQ BS1 ;* 67EC A555 011660 BSA LDA $55 ;* 67EE C552 011665 CMP $52 ;* 67F0 D003 011670 BNE BS3 ;* 67F2 206BFC 011675 JSR DELTIM ;* 67F5 2099F7 011680 BS3 JSR CRSRLF ;* 67F8 A555 011685 LDA $55 ;* 67FA C553 011690 CMP $53 ;* 67FC D007 011695 BNE BS2 ;* 67FE A554 011700 LDA $54 ;* 6800 F003 011705 BEQ BS2 ;* 6802 207FF7 011710 JSR CRSRUP ;* 6805 A920 011715 BS2 LDA #$20 ;* 2016-11-16 11:06 omnimon-xl.src Page 45 6807 8DFB02 011720 STA $02FB ;* 680A 20E0F5 011725 JSR OUTPLT ;* 680D 4CD5FB 011730 BS1 JMP DOLCOL ;* 6810 20AAF7 011735 TAB JSR CRSRRT ;* 6813 A555 011740 LDA $55 ;* 6815 C552 011745 CMP $52 ;* 6817 D00A 011750 BNE TAB1 ;* 6819 2034FA 011755 JSR DOCR ;* 681C 2020FB 011760 JSR LOGGET ;* 681F 9002 011765 BCC TAB1 ;* 6821 B007 011770 BCS TAB2 ;* 6823 A563 011775 TAB1 LDA $63 ;* 6825 2025FB 011780 JSR BITGET ;* 6828 90E6 011785 BCC TAB ;* 682A 4CD5FB 011790 TAB2 JMP DOLCOL ;* 682D A563 011795 SETTAB LDA $63 ;* 682F 4C06FB 011800 JMP BITSET ;* 6832 A563 011805 CLRTAB LDA $63 ;* 6834 4C12FB 011810 JMP BITCLR ;* 6837 2085FC 011815 INSCHR JSR PHACR8 ;* 683A 20A2F5 011820 JSR GETPLT ;* 683D 857D 011825 STA $7D ;* 683F A900 011830 LDA #0 ;* 6841 8DBB02 011835 STA $02BB ;* 6844 20FFF5 011840 INSCH4 JSR DUTCH 2 ;* 6847 A563 011845 LDA $63 ;* 6849 48 011850 PHA ;* 684A 20DCF9 011855 JSR INCRSA ;* 684D 68 011860 PLA ;* 684E C563 011865 CMP $63 ;* 6850 B00C 011870 BCS INSCH3 ;* 6852 A57D 011875 INSCH1 LDA $7D ;* 6854 48 011880 PHA ;* 6855 20A2F5 011885 JSR GETPLT ;* 6858 857D 011890 STA $7D ;* 685A 68 011895 PLA ;* 685B 4C44F8 011900 JMP INSCH4 ;* 685E 2090FC 011905 INSCH3 JSR PLACRS ;* 6861 CEBB02 011910 INSCH6 DEC $02BB ;* 6864 3004 011915 BMI INSCH5 ;* 6866 C654 011920 DEC $54 ;* 6868 D0F7 011925 BNE INSCH6 ;* 686A 4CD5FB 011930 INSCH5 JMP DOLCOL ;* 686D 2035FC 011935 DELCHR JSR PHACRS ;* 6870 2047F9 011940 DELCH1 JSR CONVRT ;* 6873 A564 011945 LDA $64 ;* 6875 8568 011950 STA $68 ;* 6877 A565 011955 LDA $65 ;* 6879 8569 011960 STA $69 ;* 687B A563 011965 LDA $63 ;* 687D 48 011970 PHA ;* 687E 20D4F9 011975 JSR INCRSB ;* 6881 68 011980 PLA ;* 6882 C563 011985 CMP $63 ;* 6884 B010 011990 BCS DELCH2 ;* 6886 A554 011995 LDA $54 ;* 2016-11-16 11:06 omnimon-xl.src Page 46 6888 CDBF02 012000 CMP $02BF ;* 688B B009 012005 BCS DELCH2 ;* 688D 20A2F5 012010 JSR GETPLT ;* 6890 A000 012015 LDY #0 ;* 6892 9168 012020 STA ($68),Y ;* 6894 F0DA 012025 BEQ DELCH1 ;* 6896 A000 012030 DELCH2 LDY #0 ;* 6898 98 012035 TYA ;* 6899 9168 012040 STA ($68),Y ;* 689B 2060FC 012045 JSR DELTIA ;* 689E 2090FC 012050 JSR PLACR6 ;* 68A1 4CD5FB 012055 JMP DOLCOL ;* 68A4 38 012060 INSLIN SEC ;* 68A5 207BFB 012065 INSLIA JSR EXTEND ;* 68A8 A552 012070 LDA $52 ;* 68AA 8555 012075 STA $55 ;* 68AC 2047F9 012080 JSR CONVRT ;* 68AF A564 012085 LDA $64 ;* 68B1 8568 012090 STA $68 ;* 68B3 18 012095 CLC ;* 68B4 6928 012100 ADC #40 ;* 68B6 8566 012105 STA $66 ;* 68B8 A565 012110 LDA $65 ;* 68BA 8569 012115 STA $69 ;* 68BC 6900 012120 ADC #0 ;* 68BE 8567 012125 STA $67 ;* 68C0 A654 012130 LDX $54 ;* 68C2 E017 012135 CPX #23 ;* 68C4 F008 012140 BEQ INSLI2 ;* 68C6 204EFB 012145 INSLI1 JSR MOVLIN ;* 68C9 E8 012150 INX ;* 68CA E017 012155 CPX #23 ;* 68CC D0F8 012160 BNE INSLI1 ;* 68CE 209BFB 012165 INSLI2 JSR CLRLIN ;* 68D1 4CD5FB 012170 JMP DOLC0L ;* 68D4 20D5FB 012175 DELLIN JSR DOLCOL ;* 68D7 A451 012180 DELLIA LDY $51 ;* 68D9 8454 012185 STY $54 ;* 68DB A454 012190 DELLIB LDY $54 ;* 68DD 98 012195 DELLI1 TYA ;* 68DE 38 012200 SEC ;* 68DF 2023FB 012205 JSR LO2GET ;* 68E2 08 012210 PHP ;* 68E3 98 012215 TYA ;* 68E4 18 012220 CLC ;* 68E5 6978 012225 ADC #120 ;* 68E7 28 012230 PLP ;* 68E8 2004FB 012235 JSR BITPUT ;* 68EB C8 012240 INY ;* 68EC C018 012245 CPY #24 ;* 68EE D0ED 012250 BNE DELLI1 ;* 68F0 ADB402 012255 LDA $02B4 ;* 68F3 0901 012260 ORA #1 ;* 68F5 8DB402 012265 STA $02B4 ;* 68F8 A552 012270 DELLI2 LDA $52 ;* 68FA 8555 012275 STA $55 ;* 2016-11-16 11:06 omnimon-xl.src Page 47 68FC 2047F9 012280 JSR CONVRT ;* 68FF 20B2FB 012285 JSR SCR0L1 ;* 6902 2020FB 012290 JSR LOGGET ;* 6905 90D4 012295 BCC DELLIB ;* 6907 4CD5FB 012300 JMP DOLCOL ;* 690A A020 012305 BELL LDY #$20 ;* 690C 20F2F0 012310 BELL1 JSR CLICK ;* 690F 83 012315 DEY ;* 6910 10FA 012320 BPL BELL1 ;* 6912 60 012325 RTS ;* 6913 A902 012330 DBDDEC LDA #2 ;* 6915 D00A 012335 BNE DBSUB ;* 6917 A44C 012340 STORE LDY $4C ;* 6919 302B 012345 BMI STROK ;* 691B A000 012350 LDY #0 ;* 691D 9164 012355 STORE1 STA ($64),Y ;* 691F A901 012360 DBDEC LDA #1 ;* 6921 3D9E02 012365 DBSUB STA $029E ;* 6924 A54C 012370 LDA $4C ;* 6926 301E 012375 BMI STROK ;* 6928 A564 012380 LDA $64 ;* 692A 38 012385 SEC ;* 692B ED9E02 012390 SBC $029E ;* 692E 8564 012395 STA $64 ;* 6930 B002 012400 BCS DBSUB1 ;* 6932 C665 012405 DEC $65 ;* 6934 A50F 012410 DBSUB1 LDA $0F ;* 6936 C565 012415 CMP $65 ;* 6938 900C 012420 BCC STROK ;* 693A D006 012425 BNE STRERR ;* 693C A50E 012430 LDA $0E ;* 693E C564 012435 CMP $64 ;* 6940 9004 012440 BCC STROK ;* 6942 A993 012445 STRERR LDA #$93 ;* 6944 854C 012450 STA $4C ;* 6946 60 012455 STROK RTS ;* 6947 A554 012460 CONVRT LDA $54 ;* 6949 48 012465 PHA ;* 694A A555 012470 LDA $55 ;* 694C 48 012475 PHA ;* 694D A556 012480 LDA $56 ;* 694F 48 012485 PHA ;* 6950 2004FC 012490 JSR PUTMSC ;* 6953 A554 012495 LDA $54 ;* 6955 8566 012500 STA $66 ;* 6957 A900 012505 LDA #0 ;* 6959 8567 012510 STA $67 ;* 695B A566 012515 LDA $66 ;* 695D 0A 012520 ASL A ;* 695E 2667 012525 R0L $67 ;* 6960 8551 012530 STA $51 ;* 6962 A467 012535 LDY $67 ;* 6964 8C9F02 012540 STY $029F ;* 6967 0A 012545 ASL A ;* 6968 2667 012550 R0L $67 ;* 696A 0A 012555 ASL A ;* 2016-11-16 11:06 omnimon-xl.src Page 48 696B 2667 012560 ROL $67 ;* 696D 18 012565 CLC ;* 696E 6551 012570 ADC $51 ;* 6970 8566 012575 STA $66 ;* 6972 A567 012580 LDA $67 ;* 6974 6D9F02 012585 ADC $029F ;* 6977 8567 012590 STA $67 ;* 6979 A657 012595 LDX $57 ;* 697B BC75FE 012600 LDY DHLINE,X ;* 697E 88 012605 CONVR1 DEY ;* 697F 3007 012610 BMI CONVR2 ;* 6981 0666 012615 ASL $66 ;* 6983 2667 012620 ROL $67 ;* 6985 4C7EF9 012625 JMP CONVR1 ;* 6988 BCA5FE 012630 CONVR2 LDY DIV2TB,X ;* 698B A555 012635 LDA $55 ;* 698D A207 012640 LDX #7 ;* 698F 88 012645 CONVR3 DEY ;* 6990 300A 012650 BMI CONVR4 ;* 6992 CA 012655 DEX ;* 6993 4656 012660 LSR $56 ;* 6995 6A 012665 ROR A ;* 6996 6EA102 012670 ROR $02A1 ;* 6999 4C8FF9 012675 JMP CONVR3 ;* 699C C8 012680 CONVR4 INY ;* 699D 18 012685 CLC ;* 699E 6566 012690 ADC $66 ;* 69A0 8566 012695 STA $66 ;* 69A2 9002 012700 BCC CONVR5 ;* 69A4 E667 012705 INC $67 ;* 69A6 38 012710 CONVR5 SEC ;* 69A7 6EA102 012715 CONVR6 ROR $02A1 ;* 69AA 18 012720 CLC ;* 69AB CA 012725 DEX ;* 69AC 10F9 012730 BPL CONVR6 ;* 69AE AEA102 012735 LDX $02A1 ;* 69B1 A566 012740 LDA $66 ;* 69B3 18 012745 CLC ;* 69B4 6564 012750 ADC $64 ;* 69B6 8564 012755 STA $64 ;* 69B8 855E 012760 STA $5E ;* 69BA A567 012765 LDA $67 ;* 69BC 8565 012770 ADC $65 ;* 69BE 8565 012775 STA $65 ;* 69C0 855F 012780 STA $5F ;* 69C2 BDB5FE 012785 LDA DMASK7,X ;* 69C5 8DA002 012790 STA $02A0 ;* 69C8 856F 012795 STA $6F ;* 69CA 68 012800 PLA ;* 69CB 8556 012805 STA $56 ;* 69CD 68 012810 PLA ;* 69CE 8555 012815 STA $55 ;* 69D0 68 012820 PLA ;* 69D1 8554 012825 STA $54 69D3 ;* 69D3 60 012830 RTS ;* ; 2016-11-16 11:06 omnimon-xl.src Page 49 69D4 A900 012835 INCRSB LDA #0 ;* 69D6 F002 012840 BEQ INCRSC ;* 69D8 A99B 012845 INCRSR LDA #$9B ;* 69DA 857D 012850 INCRSC STA $7D ;* 69DC E663 012855 INCRSA INC $63 ;* 69DE E655 012860 INC $55 ;* 69E0 D002 012865 BNE INCSR2 ;* 69E2 E656 012870 INC $56 ;* 69E4 A555 012875 INCSR2 LDA $55 ;* 69E6 A657 012880 LDX $57 ;* 69E8 D085FE 012385 CMP COLUMN,X ;* 69EB F00B 012890 BEQ INC2A ;* 69ED E000 012895 CPX #0 ;* 69EF D006 012900 BNE INCRS3 ;* 69F1 C553 012905 CMP $53 ;* 69F3 F002 012910 BEQ INCRS3 ;* 69F5 B001 012915 BCS INC2A ;* 69F7 60 012920 INCRS3 RTS ;* ; 69F8 E008 012925 INC2A CPX #8 ;* 69FA 9004 012930 BCC DOCR ;* 69FC A556 012935 LDA $56 ;* 69FE F0F7 012940 BEQ INCRS3 ;* 6A00 A557 012945 DOCR1 LDA $57 ;* 6A02 D030 012950 BNE DOCR ;* 6A04 A563 012955 LDA $63 ;* 6A06 C951 012960 CMP #81 ;* 6A08 900A 012965 BCC DOCR1B ;* 6A0A A57D 012970 LDA $7D ;* 6A0C F026 012975 BEQ DOCR ;* 6A0E 2030FA 012980 JSR DOCRNS ;* Do CR No Start 6A11 4C77FA 012985 JMP INCRS1 ;* 6A14 2034FA 012990 DOCR1B JSR DOCR ;* 6A17 A554 012995 LDA $54 ;* 6A19 18 013000 CLC ;* 6A1A 6978 013005 ADC #120 ;* 6A1C 2025FB 013010 JSR BITGET ;* 6A1F 9008 013015 BCC DOCR1A ;* 6A21 A57D 013020 LDA $7D ;* 6A23 F004 013025 BEQ DOCR1A ;* 6A25 18 013030 CLC ;* 6A26 20A8F8 013035 JSR INSLIA ;* 6A29 4CD5FB 013040 DOCR1A JMP DOLCOL ;* 6A2C A900 013045 NOSCRL LDA #0 ;* 6A2E F002 013050 BEQ N0SCR1 ;* ;* ;* Do CR WARMSTART ;* ;* 6A30 = FA30 6A30 A99B 013055 DOCRWS LDA #$9B ;* 6A32 8570 013060 NQSCR1 STA $7D ;* INSDAT - tmp storage but used by the display for the character under the cursor 6A34 20FEF0 013065 DOCR JSR COLOR ;* 6A37 A900 013070 LDA #0 ;* 6A39 8556 013075 STA $56 ;* 6A3B E654 013080 INC $54 ;* 6A3D A657 013085 DOCR2 LDX $57 ;* 2016-11-16 11:06 omnimon-xl.src Page 50 6A3F A018 013090 LDY #24 ;* 6A41 247B 013095 BIT $7B ;* 6A43 1005 013100 BPL DOCR2A ;* 6A45 A004 013105 LDY #4 ;* 6A47 98 013110 TYA ;* 6A48 D003 013115 BNE DOCR2B ;* 6A4A BD95FE 013120 DOCR2A LDA NOROWS,X ;* 6A4D C554 013125 DOCR2B CMP $54 ;* 6A4F 0026 013130 BNE INCRS1 ;* 6A51 8C9D02 013135 STY $029D ;* 6A54 8A 013140 TXA ;* 6A55 D020 013145 BNE INCRS1 ;* 6A57 A570 013150 LDA $7D ;* 6A59 F01C 013155 BEQ INCRS1 ;* 6A5B C99B 013160 CMP #$9B ;* 6A5D 38 013165 SEC ;* 6A5E F001 013170 BEQ DOCR4B ;* 6A60 18 013175 CLC ;* 6A61 20ACFB 013180 DOCR4B JSR SCROLL ;* 6A64 EEBB02 013185 INC $02BB ;* 6A67 C66C 013190 DEC $6C ;* 6A69 CE9D02 013195 DEC $029D ;* 6A6C ADB202 013200 LDA $02B2 ;* 6A6F 38 013205 SEC ;* 6A70 10EF 013210 BPL DOCR4B ;* 6A72 AD9D02 013215 LDA $029D ;* 6A75 8554 013220 STA $54 ;* 6A77 4CD5FB 013225 INCRS1 JMP DOLCOL ;* 6A7A 38 013230 SUBEND SEC ;* 6A7B 8570 013235 LDA $70,X ;* 6A7D E574 013240 SBC $74 ;* 6A7F 9570 013245 STA $70,X ;* 6A81 B571 013250 LDA $71,X ;* 6A83 E575 013255 SBC $75 ;* 6A85 9571 013260 STA $71, X ;* 6A87 60 013265 RTS ;* ;* ;* ;* 6A88 A0BF02 013270 ERANGE LDA *02BF ;* 6A8B C904 013275 CMP #4 ;* 6A8D F007 013280 BEQ RANGE ;* 6A8F A557 013285 LDA $57 ;* 6A91 F003 013290 BEQ RANGE ;* 6A93 20FCF3 013295 JSR EOPEN ;* 6A96 A927 013300 RANGE LDA #39 ;* 6A98 0553 013305 CMP $53 ;* 6A9A B002 013310 BCC RANGE3 ;* 6A9C 8553 013315 STA $53 ;* 6A9E A657 013320 RANGE3 LDX $57 ;* 6AA0 BD95FE 013325 LDA NOROWS,X ;* 6AA3 C554 013330 CMP $54 ;* 6AA5 902A 013335 BCC RNGERR ;* 6AA7 F028 013340 BEG RNGERR ;* 6AA9 E008 013345 CPX #8 ;* 6AAB D00A 013350 BNE RANGE1 ;* 2016-11-16 11:06 omnimon-xl.src Page 51 6AAD A556 013355 LDA $56 ;* 6AAF F013 013360 BEG RNGOK ;* 6AB1 C901 013365 CMP #1 ;* 6AB3 D01C 013370 BNE RNGERR ;* 6AB5 F004 013375 BEQ RANGE2 ;* 6AB7 A556 013380 RANGE1 LDA $56 ;* 6AB9 D016 013385 BNE RNGERR ;* 6ABB BD85FE 013390 RANGE2 LDA COLUMN,X ;* 6ABE C555 013395 CMP $55 ;* 6AC0 900F 013400 BCC RNGERR ;* 6AC2 F00D 013405 BEG RNGERR ;* 6AC4 A901 013410 RNGOK LDA #1 ;* 6AC6 854C 013415 STA $4C ;* 6AC8 A900 013420 LDA #$80 ;* 6ACA A611 013425 LDX $11 ;* 6ACC 8511 013430 STA $11 ;* 6ACE F006 013435 BEQ RNGER2 ;* 6AD0 60 013440 RTS ;* ; 6AD1 20D6F7 013445 RNGERR JSR HOME ;* 6AD4 A98D 013450 LDA #$8D ;* 6AD6 854C 013455 RNGER2 STA $4C ;* 6AD8 68 013460 RNGER1 PLA ;* 6AD9 68 013465 PLA ;* 6ADA A57B 013470 LDA $78 ;* 6ADC 1003 013475 BPL RETUR3 ;* 6ADE 20A1FC 013480 JSR SWAPA ;* 6AE1 4C34F6 013485 RETUR3 JMP RETUR ;* 6AE4 A000 013490 OFFCRS LDY #0 ;* 6AE6 A55D 013495 LDA $5D ;* 6AE8 915E 013500 STA ($5E),Y ;* 6AEA 60 013505 RTS ;* ; 6AEB 48 013510 BITCON PHA ;* 6AEC 2907 013515 AND #7 ;* 6AEE AA 013520 TAX ;* 6AEF BDBDFE 013525 LDA MASKTB,X ;* 6AF2 856E 013530 STA $6E ;* 6AF4 68 013535 PLA ;* 6AF5 4A 013540 LSR A ;* 6AF6 4A 013545 LSR A ;* 6AF7 4A 013550 LSR A ;* 6AF8 AA 013555 TAX ;* 6AF9 60 013560 RTS ;* ; 6AFA 2EB402 013565 BITROL ROL $0284 ;* 6AFD 2EB302 013570 ROL $0283 ;* 6B00 2EB202 012575 ROL $0282 ;* 6B03 60 013580 RTS ;* ; 6B04 900C 013585 BITPUT BCC BITCLR ;* 6B06 20EBFA 013590 BITSET JSR BITCON ;* 6B09 BDA302 013595 LDA $02A3,X ;* 6B0C 056E 013600 ORA $6E ;* 6B0E 9DA302 013605 STA $02A3,X ;* 6B11 60 013610 RTS ;* 2016-11-16 11:06 omnimon-xl.src Page 52 ; 6B12 20EBFA 013615 BITCLR JSR BITCON ;* 6B15 A56E 013620 LDA $6E ;* 6B17 49FF 013625 EOR #$FF ;* 6B19 3DA302 013630 AND $02A3,X ;* 6B1C 9DA302 013635 STA $02A3,X ;* 6B1F 60 013640 RTS ;* ; 6B20 A554 013645 LOGGET LDA $54 ;* 6B22 18 013650 LO1GET CLC ;* 6B23 6978 013655 LO2GET ADC #120 ;* 6B25 20EBFA 013660 BITGET JSR BITCON ;* 6B28 18 013665 CLC ;* 6B29 BDA302 013670 LDA $02A3,X ;* 6B2C 256E 013675 AND $6E ;* 6B2E F001 013680 BEQ BITGE1 ;* ; 6B30 38 013685 SEC ;* 6B31 60 013690 BITGE1 RTS ;* 6B32 ADFA02 013695 INATAC LDA $02FA ;* 6B35 A457 013700 LDY $57 ;* 6B37 C003 013705 CPY #3 ;* 6B39 B00F 013710 BCS IMATA1 ;* 6B3B 2A 013715 ROL A ;* 6B3C 2A 013720 ROL A ;* 6B3D 2A 013725 ROL A ;* 6B3E 2A 013730 ROL A ;* 6B3F 2903 013735 AND #3 ;* 6B41 AA 013740 TAX ;* 6B42 ADFA02 013745 LDA $02FA ;* 6B45 299F 013750 AND #$9F ;* 6B47 1DF4FF 013755 ORA INTATA,X ;* 6B4A 8DFB02 013760 INATA1 STA $02FB ;* 6B4D 60 013765 RTS ;* ; 6B4E A902 013770 MOVLIN LDA #2 ;* 6B50 8565 013775 STA $65 ;* 6B52 A947 013780 LDA #$47 ;* 6B54 8564 013785 STA $64 ;* 6B56 A027 013790 LDY #39 ;* 6B58 9166 013795 MOVLI1 LDA ($66),Y ;* 6B5A 8550 013800 STA $50 ;* 6B5C B168 013805 LDA ($68),Y ;* 6B5E 9166 013810 STA ($66),Y ;* 6B60 A550 013815 LDA $50 ;* 6B62 9164 013820 STA ($64),Y ;* 6B64 88 013825 DEY ;* 6B65 10F1 013830 BPL MOVLI1 ;* 6B67 A565 013835 LDA $65 ;* 6B69 8569 013840 STA $69 ;* 6B6B A564 013845 LDA $64 ;* 6B6D 8568 013850 STA $68 ;* 6B6F 18 013855 CLC ;* 6B70 A566 013860 LDA $66 ;* 6B72 6928 013865 ADC #40 ;* 6B74 8566 013870 STA $66 ;* 2016-11-16 11:06 omnimon-xl.src Page 53 6B76 9002 013875 BCC MOVLI2 ;* 6B78 E667 013880 INC $67 ;* 6B7A 60 013885 MOVLI2 RTS ;* ; 6B7B 08 013890 EXTEND PHP ;* 6B7C A017 013895 LDY #23 ;* 6B7E 98 013900 EXTEN1 TYA ;* 6B7F 2022FB 013905 JSR LO1GET ;* 6B82 08 013910 PHP ;* 6B83 98 013915 TYA ;* 6B84 18 013920 CLC ;* 6B85 6979 013925 ADC #121 ;* 6B87 28 013930 PLP ;* 6B88 2004FB 013935 JSR BITPUT ;* 6B8B 88 013940 EXTEN3 DEY ;* 6B8C 3004 013945 BMI EXTEN4 ;* 6B8E C454 013950 CPY $54 ;* 6B90 B0EC 013955 BCS EXTEN1 ;* 6B92 A554 013960 EXTEN4 LDA $54 ;* 6B94 18 013965 CLC ;* 6B95 6978 013970 ADC #120 ;* 6B97 28 013975 PLP ;* 6B98 4C04FB 013980 JMP BITPUT ;* 6B9B A552 013985 CLRLIN LDA $52 ;* 6B9D 8555 013990 STA $55 ;* 6B9F 2047F9 013995 JSR CONVRT ;* 6BA2 A027 014000 LDY #39 ;* 6BA4 A900 014005 LDA #0 ;* 6BA6 9164 014010 CLRLI1 STA ($64),Y ;* 6BA8 88 014015 DEY ;* 6BA9 10FB 014020 BPL CLRLI1 ;* 6BAB 60 014025 RTS ;* 6BAC 20FAFA 014030 SCROLL JSR BITROL ;* 6BAF 20D4FC 014035 JSR PUTMSC ;* 6BB2 A028 014040 SCROL1 LDY #40 ;* 6BB4 B164 014045 LDA ($64),Y ;* 6BB6 A66A 014050 LDX $6A ;* 6BB8 CA 014055 DEX ;* 6BB9 E465 014060 CPX $65 ;* 6BBB D008 014065 BNE SCROL2 ;* 6BBD A2D7 014070 LDX #$D7 ;* 6BBF E464 014075 CPX $64 ;* 6BC1 B002 014080 BCS SCROL2 ;* 6BC3 A900 014085 LDA #0 ;* 6BC5 A000 014090 SCR0L2 LDY #0 ;* 6BC7 9164 014095 STA ($64),Y ;* 6BC9 E664 014100 INC $64 ;* 6BCB D0E5 014105 BNE SCROL1 ;* 6BCD E665 014110 INC $65 ;* 6BCF A565 014115 LDA $65 ;* 6BD1 C56A 014120 CMP $6A ;* 6BD3 D0DD 014125 BNE SCROL1 ;* 6BD5 A900 014130 DOLCOL LDA #0 ;* 6BD7 8563 014135 STA $63 ;* 6BD9 A554 014140 LDA $54 ;* 6BDB 8551 014145 STA $51 ;* 2016-11-16 11:06 omnimon-xl.src Page 54 6BDD A551 014150 D0LC01 LDA $51 ;* 6BDF 2022FB 014155 JSR L01GET ;* 6BE2 B00C 014160 BCS D0LC02 ;* 6BE4 A563 014165 LDA $63 ;* 6BE6 18 014170 CLC ;* 6BE7 6928 014175 ADC #40 ;* 6BE9 8563 014180 STA $63 ;* 6BEB C651 014185 DEC $51 ;* 6BED 4CDDFB 014190 JMP DOLCO1 ;* 6BF0 18 014195 DOLCQ2 CLC ;* 6BF1 A563 014200 LDA $63 ;* 6BF3 6555 014205 ADC $55 ;* 6BF5 8583 014210 STA $63 ;* 6BF7 80 014215 RTS ;* ; 6BF8 2085FC 014220 DOBUFC JSR PHACRS ;* 6BFB A563 014225 LDA $63 ;* 6BFD 48 014230 PHA ;* 6BFE A56C 014235 LDA $6C ;* 6C00 8554 014240 STA $54 ;* 6C02 A56D 014245 LDA $6D ;* 6C04 8555 014250 STA $55 ;* 6C06 A901 014255 LDA #1 ;* 6C08 856B 014280 STA $6B ;* 6C0A A217 014265 DOBUF1 LDX #23 ;* 6C0C A57B 014270 LDA $7B ;* 6C0E 1002 014275 BPL DOB1 ;* 6C10 A203 014280 LDX #3 ;* 6C12 E454 014285 DOB1 CPX $54 ;* 6C14 D00B 014290 BNE DOBU1A ;* 6C16 A555 014295 LDA $55 ;* 6C18 C553 014300 CMP $53 ;* 6C1A D005 014305 BNE DOBU1A ;* 6C1C E66B 014310 INC $6B ;* 6C1E 4C31FC 014315 JMP DOBUF2 ;* 6C21 20D4F9 014320 DOBU1A JSR INCRSB ;* 6C24 E66B 014325 INC $6B ;* 6C26 A563 014330 LDA $63 ;* 6C28 C552 014335 CMP $52 ;* 6C2A D0DE 014340 BNE DOBUF1 ;* 6C2C C654 014345 DEC $54 ;* 6C2E 2099F7 014350 JSR CRSRLF ;* 6C31 20A2F5 014355 DOBUF2 JSR GETPLT ;* 6C34 D017 014360 BNE DOBUF4 ;* 6C36 C88B 014365 DEC $6B ;* 6C38 A563 014370 LDA $63 ;* 6C3A C552 014375 CMP $52 ;* 6C3C F00F 014380 BEQ DOBUF4 ;* 6C3E 2099F7 014385 JSR CRSRLF ;* 6C41 A555 014390 LDA $55 ;* 6C43 C553 014395 CMP $%3 ;* 6C45 D002 014400 BNE DOBUF3 ;* 6C47 C654 014405 DEC $54 ;* 6C49 A58B 014410 DOBUF3 LDA $6B ;* 6C4B D0E4 014415 BNE DOBUF2 ;* 6C4D 88 014420 DOBUF4 PLA ;* 2016-11-16 11:06 omnimon-xl.src Page 55 6C4E 8563 014425 STA $63 ;* 6C50 2090FC 014430 JSR PLACRS ;* 6C53 80 014435 RTS ;* ; 6C54 20D5FB 014440 STRBEG JSR DOLCOL ;* 6C57 A551 014445 LDA $51 ;* 6C59 856C 014450 STA $6C ;* 6C5B A552 014455 LDA $52 ;* 6C5D B56D 014460 STA $6D ;* 6C5F 60 014465 RTS ;* 6C60 A563 014470 DELTIA LDA $63 ;* 6C62 C552 014475 CMP $52 ;* 6C64 D002 014480 BNE DELTIB ;* 6C66 C654 014485 DEC $54 ;* 6C68 20D5FB 014490 DELTIB JSR DOLCOL ;* 6C6B A563 014495 DELTIM LDA $63 ;* 6C6D C552 014500 CMP $52 ;* 6C6F F013 014505 BEQ DELTI3 ;* 6C71 2047F9 014510 JSR CONVRT ;* 6C74 A553 014515 LDA $53 ;* 6C76 38 014520 SEC ;* 6C77 E552 014525 SBC $52 ;* 6C79 A8 014530 TAY ;* 6C7A B164 014535 DELTI1 LDA ($64),Y ;* 6C7C D006 014540 BNE DELTI3 ;* 6C7E 88 014545 DEY ;* 6C7F 10F9 014550 BPL DELHI ;* 6C81 4CDBF8 014555 DELTI2 JMP DELLIB ;* 6C84 60 014560 DELII3 RTS ;* ; 6C85 A202 014565 PHACRS LDX #2 ;* 6C87 B554 014570 PHACR1 LDA $54,X ;* 6C89 9DB802 014575 STA $02B8,X ;* 6C8C CA 014580 DEX ;* 6C8D 10F3 014585 BPL PHACR1 ;* 6C8F 60 014590 RTS ;* ; 6C90 A202 014595 PLACRS LDX #2 ;* 6C92 BDB802 014600 PLACR1 LDA $0288,X ;* 6C95 9554 014605 STA $54,X ;* 6C97 CA 014610 DEX ;* 6C98 10F8 014615 BPL PLACE1 ;* 6C9A 60 014620 RTS ;* ; 6C9B 20A1FC 014625 SWAP JSR SWAPA ;* 6C9E 4C34F6 014630 JMP RETUR1 ;* 6CA1 ADBF02 014635 SWAPA LDA $02BF ;* 6CA4 C918 014640 CMP #24 ;* 6CA6 F017 014645 BEQ SWAP3 ;* 6CA8 A20B 014650 LDX #11 ;* 6CAA B554 014655 SWAP1 LDA $54,X ;* 6CAC 48 014660 PHA ;* 6CAD BD9002 014665 LDA $0290,X ;* 6CB0 9554 014670 STA $54,X ;* 6CB2 68 014675 PLA ;* 6CB3 909002 014680 STA $0290,X ;* 2016-11-16 11:06 omnimon-xl.src Page 56 6CB6 CA 014685 DEX ;* 6CB7 10F1 014690 BPL SWAP1 ;* 6CB9 A57B 014695 LDA $7B ;* 6CBB 49FF 014700 EOR #$FF ;* 6CBD 857B 014705 STA $78 ;* 6CBF 60 014710 SWAP3 RTS ;* ; 6CC0 A54B 014715 GETSEC LDA $4B ;* 6CC2 F003 014720 BEQ DISKM ;* 6CC4 4C7AE4 014725 JMP $E47A ;* 6CC7 A952 014730 DISKM LDA #$52 ;* 6CC9 8D0203 014735 STA $0302 ;* 6CCC A901 014740 LDA #1 ;* 6CCE 8D0103 014745 STA $0301 ;* 6CD1 4C53E4 014750 JMP $E453 ;* 6CD4 A558 014755 PUTMSC LDA $58 ;* 6CD6 8564 014760 STA $64 ;* 6CD8 A559 014765 LDA $59 ;* 6CDA 8565 014770 STA $65 ;* 6CDC 60 014775 RTS ;* ; 6CDD A200 014780 DRAW LDX #0 ;* 6CDF A522 014785 LDA $22 ;* 6CE1 C911 014790 CMP #$11 ;* 6CE3 F008 014795 BEG DRAWA ;* 6CE5 C912 014800 CMP #$12 ;* 6CE7 F003 014805 BEG DRAWS ;* 6CE9 A084 014810 LDY #$84 ;* 6CEB 60 014815 RTS ;* ; 6CEC E8 014320 DRAWB INX ;* 6CED 8EB702 014825 DRAWA STX $02B7 ;* 6CF0 A554 014830 LDA $54 ;* 6CF2 8560 014835 STA $60 ;* 6CF4 A555 014840 LOA $55 ;* 6CF6 8561 014845 STA $61 ;* 6CF8 A556 014850 LDA $56 ;* 6CFA 8562 014855 STA $62 ;* 6CFC A901 014860 LDA #1 ;* 6CFE 8579 014865 STA $79 ;* 6D00 857A 014870 STA $7A ;* 6D02 38 014875 SEC ;* 6D03 A560 014880 LDA $60 ;* 6D05 E55A 014885 SBC $5A ;* 6D07 8576 014890 STA $76 ;* 6D09 B00D 014895 BCS DRAW1 ;* 6D0B A9FF 014900 LDA #$FF ;* 6D0D 8579 014905 STA $79 ;* 6D0F A576 014910 LDA $76 ;* 6D11 49FF 014915 EOR #$FF ;* 6D13 18 014920 CLC ;* 6D14 6901 014925 ADC #1 ;* 6D16 8576 014930 STA $76 ;* 6D18 38 014935 DRAW1 SEC ;* 6D19 A561 014940 LDA $61 ;* 6D1B E55B 014945 SBC $5B ;* 2016-11-16 11:06 omnimon-xl.src Page 57 6D1D 8577 014950 STA $77 ;* 6D1F A562 014955 LDA $62 ;* 6D21 E55C 014960 SBC $5C ;* 6D23 8578 014965 STA $78 ;* 6D25 B016 014970 BCS DRAW2 ;* 6D27 A9FF 014975 LDA #$FF ;* 6D29 857A 014980 STA $7A ;* 6D2B A577 014985 LDA $77 ;* 6D2D 49FF 014990 EOR #$FF ;* 6D2F 8577 014995 STA $77 ;* 6D31 A578 015000 LDA $78 ;* 6D33 49FF 015005 EOR #$FF ;* 6D35 8578 015010 STA $78 ;* 6D37 E677 015015 INC $77 ;* 6D39 D002 015020 BNE DRAW2 ;* 6D3B E678 015025 INC $78 ;* 6D3D A202 015030 DRAW2 LDX #2 ;* 6D3F A000 015035 LDY #0 ;* 6D41 8473 015040 STY $73 ;* 6D43 98 015045 DRAW3A TYA ;* 6D44 9570 015050 STA $70,X ;* 6D46 B55A 015055 LDA $5A,X ;* 6D48 9554 015060 STA $54,X ;* 6D4A CA 015065 DEX ;* 6D4B 10F6 015070 BPL DRAW3A ;* 6D4D A577 015075 LDA $77 ;* 6D4F E8 015080 INX ;* 6D50 A8 015085 TAY ;* 6D51 A578 015090 LDA $78 ;* 6D53 857F 015095 STA $7F ;* 6D55 8575 015100 STA $75 ;* 6D57 D00A 015105 BNE DRAW3 ;* 6D59 A577 015110 LDA $77 ;* 6D5B C576 015115 CMP $76 ;* 6D5D B004 015120 BCS DRAW3 ;* 6D5F A476 015125 LDY $76 ;* 6D61 A202 015130 LDX #2 ;* 6D63 98 015135 DRAW3 TYA ;* 6D64 857E 015140 STA $7E ;* 6D66 8574 015145 STA $74 ;* 6D68 48 015150 PHA ;* 6D69 A575 015155 LDA $75 ;* 6D6B 4A 015160 LSR A ;* 6D6C 68 015165 PLA ;* 6D6D 6A 015170 ROR A ;* 6D6E 9570 015175 STA $70,X ;* 6D70 A57E 015180 DRAW4A LDA $7E ;* 6D72 057F 015185 ORA $7F ;* 6D74 D003 015190 BNE DRAW11 ;* 6D76 4C22FE 015195 JMP DRAW10 ;* 6D79 18 015200 DRAW11 CLC ;* 6D7A A570 015205 LDA $70 ;* 6D7C 6576 015210 ADC $76 ;* 6D7E 8570 015215 STA $70 ;* 6D80 9002 015220 BCC DRAW6 ;* 6D82 E671 015225 INC $71 ;* 2016-11-16 11:06 omnimon-xl.src Page 58 6D84 A571 015230 DRAW5 LDA $71 ;* 6D86 C575 015235 CMP $75 ;* 6D88 9014 015240 BCC DRAW5 ;* 6D8A D006 015245 BNE DRAW5A ;* 6D8C A570 015250 LDA $70 ;* 6D8E C574 015255 CMP $74 ;* 6D90 900C 015260 BCC DRAW6 ;* 6D92 18 015265 DRAW5A CLC ;* 6D93 A554 015270 LDA $54 ;* 6D95 6579 015275 ADC $79 ;* 6D97 8554 015280 STA $54 ;* 6D99 A200 015235 LDX #0 ;* 6D9B 207AFA 015290 JSR SUBEND ;* 6D9E 18 015295 DRAW6 CLC ;* 6D9F A572 015300 LDA $72 ;* 6DA1 6577 015305 ADC $77 ;* 6DA3 8572 015310 STA $72 ;* 6DA5 A573 015315 LDA $73 ;* 6DA7 6578 015320 ADC $78 ;* 6DA9 8573 015325 STA $73 ;* 6DAB C575 015330 CMP $75 ;* 6DAD 9027 015335 BCC DRAWS ;* 6DAF D006 015340 BNE DRAW6A ;* 6DB1 A572 015345 LDA $72 ;* 6DB3 C574 015350 CMP $74 ;* 6DB5 901F 015355 BCC DRAWS ;* 6DB7 237A 015360 DRAW6A BIT $7A ;* 6DB9 1010 015365 BPL DRAW6B ;* 6DBB C655 015370 DEC $55 ;* 6DBD A555 015375 LDA $55 ;* 6DBF C9FF 015380 CMP #$FF ;* 6DC1 D00E 015385 BME DRAW7 ;* 6DC3 A556 015390 LDA $56 ;* 6DC5 F00A 015395 BEQ DRAW7 ;* 6DC7 C656 015400 DEC $56 ;* 6DC9 1006 015405 BPL DRAW7 ;* 6DCB E655 015410 DRAW6B INC $55 ;* 6DCD D002 015415 BNE DRAW? ;* 6DCF E656 015420 INC $56 ;* 6DD1 A202 015425 DRAW7 LDX #2 ;* 6DD3 207AFA 015430 JSR SUBEND ;* 6DD6 2096FA 015435 DRAW8 JSR RANGE ;* 6DD9 20E0F5 015440 JSR OUTPLT ;* 6DDC ADB702 015445 LDA $02B7 ;* 6DDF F02F 015450 BEQ DRAW9 ;* 6DE1 2085FC 015455 JSR PHACRS ;* 6DE4 ADFB02 015460 LDA $02FB ;* 6DE7 8DBC02 015465 STA $02BC ;* 6DEA A554 015470 DRAW8A LDA $54 ;* 6DEC 48 015475 PHA ;* 6DED 20DCF9 015480 JSR INCRSA ;* 6DF0 68 015485 PLA ;* 6DF1 8554 015490 STA $54 ;* 6DF3 2096FA 015495 DRAW8C JSR RANGE ;* 6DF6 20A2F5 015500 JSR GETPLT ;* 6DF9 D00C 015505 BNE DRAWSB ;* 2016-11-16 11:06 omnimon-xl.src Page 59 6DFB ADFD02 015510 LDA $02FD ;* 6DFE 8DFB02 015515 STA $02FB ;* 6E01 20E0F5 015520 JSR OUTPLT ;* 6E04 4CEAFD 015525 JMP DRAWSA ;* 6E07 ADBC02 015530 DRAW8B LDA $02BC ;* 6E0A 8DFB02 015535 STA $02FB ;* 6E0D 2090FC 015540 JSR PLACR3 ;* 6E10 38 015545 DRAW9 SEC ;* 6E11 A57E 015550 LDA $7E ;* 6E13 E901 015555 SBC #1 ;* 6E15 857E 015560 STA $7E ;* 6E17 A57F 015565 LDA $7F ;* 6E19 E900 015570 SBC #0 ;* 6E1B 857F 015575 STA $7F ;* 6E1D 3003 015580 BMI DRAW10 ;* 6E1F 4C70FD 015585 JMP DRAW4A ;* 6E22 4C34F6 015590 DRAW10 JMP RETUR1 ;* ; 6E25 18100A0A 015595 ALOCAT .BYTE 24,16,10,10,16,28,52,100,196,196,196,196 ;* 6E29 101C3464 6E2D C4C4C4C4 ; 6E31 1C1064C4 015600 .BYTE 28,16,1O,10,16,28,52,100,196,196,196,196 ;* ; 6E35 17170B17 015605 NUMDLE .BYTE 23,23,11,23,47,47,95,95,97,97,97,97 ;* 6E39 2F2F5F5F 6E3D 61616161 ; 6E41 170BBF61 015610 .BYTE 23,11,191,97 ;* ; 6E45 13130913 015615 MXDMDE .BYTE 19,19,9,19,39,39,79,79,65,65,65,65 ;* 6E49 27274F4F 6E4D 41414141 ; 6E51 13099F41 015620 .BYTE 19,9,159,65 ;* ; 6E55 02060708 015625 ANCONV .BYTE 2,6,7,8,9,10,11,13,15,15,15,15 ;* 6E59 090A0B0D 6E5D 0F0F0F0F ; 6E61 04050C0E 015630 .BYTE 4,5,12,14 ;* ; 6E65 00000000 015635 PAGETB .BYTE 0,0,0,0,0,0,0,1,1,1,1,1 ;* 6E69 00000001 6E6D 01010101 ; 6E71 00000101 015640 .BYTE 0,0,1,1 ;* ; 6E75 02010100 015645 DHLINE .BYTE 2,1,1,0,0,1,1,2,2,2,2,2 ;* 6E79 00010102 6E7D 02020202 ; 6E81 02020102 015650 .BYTE 2,2,1,1 ;* ; 6E85 28141428 015655 COLUMN .BYTE 40,20,20,40,80,80,160,160,64,80,80,80 ;* 6E89 5050A0A0 2016-11-16 11:06 omnimon-xl.src Page 60 6E8D 40505050 ; 6E91 2828A0A0 015660 .BYTE 40,40,160,160 ;* ; 6E95 18180018 015665 NOROWS .BYTE 24,24,12,24,48,48,96,96,192,192,192.192 ;* 6E99 30306060 6E9D C0C0C0C0 ; 6EA1 180CC0C0 015670 .BYTE 24,12,192,192 ;* ; 6EA5 00000002 015675 DIV2TB .BYTE 0,0,0,2,3,2,3,2,3,1,1,1 ;* 6EA9 03020302 6EAD 03010101 ; 6EB1 00000302 015680 .BYTE 0,0,3,2 ;* ; 6EB5 00FFF00F 015685 DMASKT .BYTE 0,$FF,$F0,$0F,$CO,$30,$0C,$03 ;* 6EB9 C0300C03 ; 6EBD 80402010 015690 MASKTB .BYTE $80,$40,$20,$10,$08,$04,$02,$01,$00,$01,$03,$07 ;* 6EC1 08040201 6EC5 00010307 ; 6EC9 28CA9046 015695 COLRTB .BYTE $28,$CA,$90,$46,0 ;* 6ECD 00 ; 6ECE 1B 015700 CNTRLS .BYTE $1B ;* 6ECF 79F7 015705 .WORD ESCAPE ;* 6ED1 1C 015710 .BYTE $10 ;* 6ED2 7FF7 015715 .WORD CRSRUP ;* 6ED4 1D 015720 .BYTE $1D ;* 6ED5 8CF7 015725 .WORD CRSRDN ;* 6ED7 1E 015730 .BYTE $1E ;* 6ED8 99F7 015735 .WORD CRSRLF ;* 6EDA 1F 015740 .BYTE $1F ;* 6EDB AAF7 015745 .WORD CRSRRT ;* 6EDD 7D 015750 .BYTE $7D ;* 6EDE B9F7 015755 .WORD CLRSCR ;* 6EE0 7E 015760 .BYTE $7E ;* 6EE1 E6F7 015765 .WORD BS ;* 6EE3 7F 015770 .BYTE $7F ;* 6EE4 10F8 015775 .WORD TAB ;* 6EE6 9B 015780 .BYTE $9B ;* 6EE7 30FA 015785 .WORD DOCRWS ;* 6EE9 9C 015790 .BYTE $9C ;* 6EEA D4F8 015795 .WORD DELLIN ;* 6EEC 9D 015800 .BYTE $9D ;* 6EED A4F8 015805 .WORD INSLIN ;* 6EEF 9E 015810 .BYTE $9E ;* 6EF0 32F8 015815 .WORD CLRTAB ;* 6EF2 9F 015820 .BYTE $9F ;* 6EF3 2DF8 015825 .WORD SETTAB ;* 6EF5 FD 015830 .BYTE $FD ;* 6EF6 0AF9 015835 .WORD BELL ;* 6EF8 FE 015840 .BYTE $FE ;* 6EF9 6DF8 015845 .WORD DELCHR ;* 2016-11-16 11:06 omnimon-xl.src Page 61 6EFB FF 015850 .BYTE $FF ;* 6EFC 37F8 015855 .WORD INSCHR ;* ; 6EFE 6C6A3B80 015860 ATASCI .BYTE $6C, $6A, $3B, $80, $80, $6B, $2B, $2A ;* 6F02 806B2B2A 6F06 6F807075 015865 .BYTE $6F, $BO, $70, $75, $9B, $69, $2D, $3D ;* 6F0A 9B692D3D 6F0E 76806380 015870 .BYTE $76, $8O, $63, $80, $80, $62, $78, $7A ;* 6F12 8062787A 6F16 34803336 015875 .BYTE $34, $80, $33, $36, $1B, $35, $32, $31 ;* 6F1A 1B353231 6F1E 2C202F6F 015880 .BYTE $20, $20, $2E, $6E, $8O, $61, $2F, $81 ;* 6F22 806D2F81 6F26 72806579 015885 .BYTE $72, $80, $65, $79, $7F, $74, $77, $71 ;* 6F2A 7F747771 6F2E 39803037 015890 .BYTE $39, $80, $30, $37, $7E, $38, $3C, $3E ;* 6F32 7E383C3E 6F36 66686480 015895 .BYTE $66, $68, $64, $80, $82, $67, $73, $61 ;* 6F3A 82677361 6F3E 4C4A3A80 015900 .BYTE $4C, $4A, $3A, $80, $80, $4B, $5C, $5E ;* 6F42 804B5C5E 6F46 4F805055 015905 .BYTE $4F, $80, $50, $55, $9B, $49, $5F, $7C ;* 6F4A 9B495F7C 6F4E 56804380 015910 .BYTE $56, $80, $43, $80, $80, $42, $58, $5A ;* 6F52 8042585A 6F56 24802326 015915 .BYTE $24, $80, $23, $26, $1B, $25, $22, $21 ;* 6F5A 1B252221 6F5E 5B205D4E 015920 .BYTE $59, $20, $5D, $4E, $80, $4D, $3F, $81 ;* 6F62 804D3F81 6F66 52804559 015925 .BYTE $52, $80, $45, $59, $9F, $54, $57, $51 ;* 6F6A 9F545751 6F6E 28802927 015930 .BYTE $28, $80, $29, $27, $9C, $40, $7D, $9D ;* 6F72 9C407D9D 6F76 46484480 015935 .BYTE $46, $48, $44, $80, $83, $47, $53, $41 ;* 6F7A 83475341 6F7E 0C0A7B80 015940 .BYTE $00, $0A, $7B, $80, $80, $0B, $1E, $1F ;* 6F82 800B1E1F 6F86 0F801015 015945 .BYTE $0F, $80, $10, $15, $9B, $09, $1C, $1D ;* 6F8A 9B091C1D 6F8E 16800380 015950 .BYTE $16, $8O, $03, $80, $80, $02, $18, $1A ;* 6F92 8002181A 6F96 80808580 015955 .BYTE $80, $80, $85, $80, $1B, $80, $FD, $80 ;* 6F9A 1B80FD80 6F9E 0020600E 015960 .BYTE $00, $20, $60, $0E, $80, $0D, $80, $81 ;* 6FA2 80008081 6FA6 12800519 015965 .BYTE $12, $80, $05, $19, $9E, $14, $17, $11 ;* 6FAA 9E141711 6FAE 80803080 015970 .BYTE $80, $80, $80, $80, $FE, $80, $7D, $FF ;* 6FB2 FE807DFF 6FB6 06080480 015975 .BYTE $06,$08,$04,$80,$84,$07,$13,$01 ;* 6FBA 94071301 6FBE AD09D2 015980 PIRQ5 LDA $D209 ;* 6FC1 CDF202 015985 CMP $02F2 ;* 6FC4 D005 015990 BNE PIRQ3 ;* 6FC6 ADF102 015995 LDA $02F1 ;* 6FC9 D01E 016000 BNE PIRQ4 ;* 2016-11-16 11:06 omnimon-xl.src Page 62 6FCB AD09D2 016005 PIRQ3 LDA $D209 ;* 6FCE C99F 016010 CMP #$9F ;* 6FD0 D00A 016015 BNE PIRQ1 ;* 6FD2 ADFF02 016020 LDA $02FF ;* 6FD5 49FF 016025 EOR #$FF ;* 6FD7 8DFF02 016030 STA $02FF ;* 6FDA B00D 016035 BCS PIRQ4 ;* 6FDC 8DFC02 016040 PIRQ1 STA $02FC ;* 6FDF 8DF202 016045 STA $02F2 ;* 6FE2 A901 016050 LDA #1 ;* ; ; I think this is $00FFE4 (COPV), 65C816 Native Vector ; $00FFE6 (BRKV) ; $00FFE8 (ABTV) ; $00FFEA (NMIV) ; $00FFEC (???) RSTV is $FFFC (back to Emulation on RST) ; $00FFEE (IRQV) ; 6FE4 8DF102 016055 STA $02F1 ;* 6FE7 854D 016060 STA $4D ;* 6FE9 A910 016065 PIRQ4 LDA #$10 ;* 6FEB 8D2B02 016070 STA $022B ;* 6FEE 68 016075 PIRQ2 PLA ;* 6FEF 40 016080 RTI ;* ; 6FF0 40002060 016085 ATAINT .BYTE $40,0,$20,$60 ;* 6FF4 20400060 016090 INTATA .BYTE $20,$40,0,$60 ;* ; ;6FF8 F3E691E7 016095 .BYTE $F3,$E6,$91,$E7,$25,$F1,$F3,$E6 ; 6502 Vectors (and 65C816 Emulation vectors) ; Signal Vector Push PC and P Set B Flag ; NMI $FFFA/$FFFB yes no ; RESET $FFFC/$FFFD no no ; IRQ $FFFE/$FFFF yes no (Hardware) ; BRK $FFFE/$FFFF yes yes (Software) ; ; 65C816 (native mode) ; ; The 65C816 has four hardware interrupt inputs & 2 software interrupts, summarized as follows: ; ; Common Interrupt Input Input Microprocessor Hardware ; Name Mnemonic Name Type Action Vector ; Co-Processor COP n/a n/a Software interrupt $00FFE4 ; Break BRK n/a n/a Software interrupt $00FFE6 ; Abort ABT ABORTB Level "Abort" current instruction $00FFE8 ; Interrupt request IRQ IRQB Level Service maskable interrupt $00FFEE ; Non-maskable Int NMI NMIB Edge Service non-maskable interrupt $00FFEA ; Reset RST RESB Level Reset state $00FFFC* ; ; * - Jumps back to Emulation mode ; ; Not a vector for the 6502, Abort for 65c816 6FF8 F3E6 016095 UNKV .BYTE $F3,$E6 ;* 6FFA 91E7 016100 NMIV .BYTE $91,$E7 ;* 6FFC 25F1 016105 RSTV .BYTE $25,$F1 ;* 2016-11-16 11:06 omnimon-xl.src Page 63 6FFE F3E6 016110 IRQV .BYTE $F3,$E6 ;* BRK also ; ; I/O (Hardware, $D000-$D7FF) ; =D400 016115 ANTIC = $D400 ; ANTIC D400-D4FF =D000 016120 GTIA = $D000 ; GTIA D000-D1FF =D200 016125 POKEY = $D200 ; POKEY D200-D20F =D300 016130 PIA = $D300 ; PIA D300-D31F (6520) ; ; ASSEMBLY ERRORS: 0 21135 BYTES FREE ; -[ Fini ]---------------------------------------------------------------------