10*KEY 9 SAVE"SEARCH"|MRUN|M 20*KEY 0 CLEAR|MMODE0|MLOAD"SEARCH"|ML.,100|M 30rowdest = &A8 40rowdest1=&A9 50intzp0 = &AA 60intzp1=&AB 70main0=&AC 80main1=&AD 90main2=&AE 100main3=&AF 110ctrlstatus = &FC10 120setrow = &FC11 130datareg = &FC12 140clrtxt = &FC13 150REM 160ttxtenable = &1C 170ttxtdisable = 0 180irq2v = &206 190osLine = &F2 200osascii = &FFE3 210oswrch = &FFEE 220osfile = &FFDD 230osbyte = &FFF4 240osrdch = &FFE0 250osword = &FFF1 260REM 270DIM Code &1000 280RunAddr=&2400 290FOR Pass = 4 TO 6 STEP 2 300O%=Code 310 P% = RunAddr 320[OPT Pass 330.maintmp \DATA 340 Lda (osLine),Y 350.pagno1 \DATA 360 Clc: Sbc #ASC("0") 370.pagno2 \DATA 380 And #3 390.pagno3 \DATA 400 Sta chan 410.delayedcomm \DATA 420 Jsr clearandcurse 430 Jmp protect 440.clearandcurse 450 Lda #0:Sta pagearrived:Sta pagepending 460 Ldy #0 470.vduloop 480 Lda initvdu,Y 490 jsr oswrch 500 Iny 510 Cpy #(endinitvdu-initvdu) 520 Bne vduloop 530 Rts 540.protect 550 Jsr initInt 560\JMP mainloop\******** WHILE TESTING 570.retest 580 Lda #150:Sta maintmp 590.delay 600 Lda #19 610 Jsr osbyte 620 Dec maintmp 630 Lda maintmp:Cmp #0 640 Bne delay 650 Lda online 660 Bne onlineyes 670 Jsr stopInt 680 BRK: EQUB 254: EQUS "Adapter not connected or powered up": BRK 690.onlineyes 700 Jsr checkprot 710 Lda permission 720 Cmp #2 \no tsdp 730 Bne nxttst 740 Dec retries 750 Lda retries 760 Cmp #0 770 Beq nxttst 780 Jmp retest 790.nxttst 800 Lda permission 810 Cmp #0 820 Beq notdenied:Jmp denied:.notdenied 830\ 840Lda #ASC("1"):Sta pagno1 850Lda #ASC("0"):Sta pagno2 860Lda #ASC("0"):Sta pagno3 870Jmp kludge88 880\ 890.mainloop 900 Lda #0:Sta dontsearch 910 Lda #1:Sta hdrswanted 920 Bit &FF 930 Bpl termin8bar:Jmp termin8:.termin8bar 940 Lda #0:Tax:Tay 950 Lda #&81 960 Jsr osbyte 970 Bcc notnochar:Jmp nochar:.notnochar 980Cpx #13:Bne uu2 990Jmp mainloop 1000.uu2 1010 Cpx #32:Bne trype 1020 Jsr heldmess 1030 Jsr osrdch 1040 Jsr wipeheld 1050 Jmp mainloop 1060.trype 1070Cpx #ASC("5") 1080 Bcc trychan 1090 Cpx #ASC("8")+1 1100 Bcs trychan 1110 Stx pagno1 1120 \ Page no in range 500 - 899 1130 \ prompt, echo, and -> ??? 1140 Ldy #0 1150.p2p 1160 Lda p2pr,Y 1170 Jsr oswrch 1180 Iny 1190 Cpy #endp2pr-p2pr 1200 Bne p2p 1210 Lda pagno1:Jsr oswrch 1211.illP7 1220 Jsr osrdch 1224 Cmp #ASC("0"):Bcc illP7 1225 Cmp #ASC("9")+1:Bcs illP7 1230 Sta pagno2 1240 Jsr oswrch 1250 Jmp fetchpg 1260 .trychan 1270 \ **** Trytext expects the char in X - could be improved.., 1280 Cpx #ASC("1"):Bcs nottrytext:Jmp trytext:.nottrytext 1290 Cpx #ASC("4")+1:Bcc znottrytext:Jmp trytext:.znottrytext 1300 Txa:STA pagno1:Sec:Sbc #ASC("1"):Sta chan\******** YECH 1310 Ora #ttxtenable:Sta delayedcomm 1320 Ldy #0 1330.prchan 1340 Lda chanpr,Y:Jsr oswrch 1350 Iny 1360 Cpy #endchanpr-chanpr 1370 Bne prchan 1380 Lda pagno1:Jsr oswrch \\\\ YECH 1389.illp2 1390 Ldx #200 MOD 256 1400 Ldy #200 DIV 256 1410 Lda #&81 \ Inkey(200) 1420 Jsr osbyte 1430 Bcs dochan 1431CPX #ASC("0"):Bcc illp2 1432CPX #ASC("9")+1:Bcs illp2 1440 Txa:Sta pagno2 1450 \ Echo page: \prompt + 1st digit 1460 Ldy #0 1470.prpag 1480 Lda pagpr,Y 1490 Jsr oswrch 1500 Iny 1510 Cpy #endpagpr-pagpr:Bne prpag 1520 Lda pagno1 1530 jsr oswrch 1540 \ echo 2nd digit 1550 Lda pagno2 1560 jsr oswrch 1570\ Page no. entered. 2nd digit in X 1580.fetchpg 1590 \ read last digit 1599.illp3 1600 Jsr osrdch 1601Cmp #ASC("0"):Bcc illp3 1602Cmp #ASC("9")+1:Bcs illp3 1610 Jsr oswrch 1620 Sta pagno3 1630 \ wipebottom line 1640 \ put up Page: \prompt 1650 \ echo boths page digits 1660 \ push maintmp+?, maintmp+?? into buffer 1670 \ read last page no. 1680 Lda #1:Sta pagenotext 1690 Lda #1:Sta dontsearch 1700 Lda #0:Sta pagepending:Sta pagearrived 1710 Lda #0:Sta hdrswanted \ this whole thing needs sorting... 1720 \ issue request... 1730.kludge88 1740 Lda pagno1:Sta intpagno1 1750 Lda pagno2:Sta intpagno2 1760 Lda pagno3:Sta intpagno3 1770 Lda #1:Sta pagenotext 1780Jsr updatedelay \ temp debug 1790 Lda #13:jsr oswrch 1800 Lda #10:jsr oswrch 1810 Jsr updatedelay 1820 Jmp whatamess 1830.dochan 1840 Lda delayedcomm:Sta ctrlstatus \YECH NEEDS FIXING 1850 Lda #13:jsr oswrch 1860 Lda #10:jsr oswrch 1870 Jsr updatedelay 1880.whatamess 1890 Jsr clearandcurse 1900 Jmp contdisp 1910.trytext 1920\ input found 1930Txa:Tay 1940 Lda #138 \ push in buffer 1950 Ldx #0 \ keyboard 1960 Jsr osbyte 1970 Lda #0:Sta pagenotext 1980 Lda #1:Sta dontsearch 1990 Lda #0:Sta pagepending:Sta pagearrived 2000 Lda #0:Sta hdrswanted 2010 Jsr textprompt 2020 Lda #target MOD 256:Sta osparamblk+0 2030 Lda #target DIV 256:Sta osparamblk+1 2040 Lda #39:Sta osparamblk+2 2050 Lda #32:Sta osparamblk+3 2060 Lda #127:Sta osparamblk+4 2070 Ldx #osparamblk MOD 256 2080 Ldy #osparamblk DIV 256 2090 Lda #0 2100 Jsr osword 2110Lda target \ 1st byte 2120Cmp #13:Bne yy3 2130 \ Blank line - target wiped ARGH!! 2140.yy3 2150\ FIRST CONVERT TO LC 2160 LDY #0 2170.tolc 2180 Lda target,Y 2190 And #127 \ and remove top bit if COPYed 2200 Cmp #13:Beq lowered 2210 Cmp #ASC("A"):Bcc notlc 2220 Cmp #ASC("Z")+1:Bcs notlc 2230 Ora #32:Sta target,Y 2240.notlc 2250 Iny 2260 Jmp tolc 2270.lowered 2280 Jsr updatedelay 2290 Jsr clearandcurse 2300Jmp nochar 2310.updatedelay 2320\ THEN CLEAR SCREEN 2330 Lda #50:Sta maintmp 2340.delay2 2350 Lda #19:Jsr osbyte 2360 Dec maintmp 2370 Lda maintmp:Cmp #0 2380 Bne delay2 2390 Rts 2400.nochar 2410.contdisp 2420 2430 2440 2450 Lda pagearrived 2460 Cmp #1 2470 Bne noupdate 2480 Jsr displaypage 2490 Lda #0: Sta pagearrived 2500.noupdate 2510 Jmp mainloop 2520.textprompt 2530 Ldy #0 2540.prtxt 2550 Lda textpr,Y 2560 Jsr oswrch 2570 Iny:Cpy #endtextpr-textpr 2580 Bne prtxt 2590 Rts 2600.termin8 2610 Jsr stopInt 2620 Lda #126 2630 Jsr osbyte 2640 Ldy #0 2650.cleanupvdu 2660 Lda endvdu,Y 2670 Jsr oswrch 2680 Iny 2690 Cpy #(endendvdu-endvdu) 2700 Bne cleanupvdu 2710 Rts 2720.denied 2730 Jsr termin8 2740 Lda permission 2750 Cmp #1 2760 Beq timedout 2770 BRK:EQUB 254:EQUS "Can't read date from this channel":BRK 2780.timedout 2790 Lda osLine+0: Sta osparamblk+0 2800 Lda osLine+1: Sta osparamblk+1 2810 Ldx #osparamblk MOD 256 2820 Ldy #osparamblk DIV 256 2830 Lda #6 2840 Jsr osfile 2850 Ldy #0 2860.copymess 2870 Lda toalmess,Y 2880 Jsr oswrch 2890 Iny 2900 cpy #(endtoalmess-toalmess) 2910 Bne copymess 2920 Rts 2930\ 2940.initInt 2950 Sei 2960 Lda irq2v:Sta oldirq2v 2970 Lda irq2v+1:Sta oldirq2v+1 2980 Lda #irq2 MOD 256: Sta irq2v 2990 Lda #irq2 DIV 256: Sta irq2v+1 3000 Cli 3010 Lda #ttxtenable 3020 Clc:Adc chan 3030 Sta ctrlstatus 3040 Rts 3050\ 3060.stopInt 3070 Lda #ttxtdisable 3080 Sta ctrlstatus 3090 Sei 3100 Lda oldirq2v:Sta irq2v 3110 Lda oldirq2v+1:Sta irq2v+1 3120 Cli 3130 Rts 3140\ 3150.irq2 3160 Bit ctrlstatus 3170 Bmi ourint 3180 Jmp (oldirq2v) 3190.ourint 3200\ Save regs & state 3210Lda &FC:Pha:Txa:Pha:Tya:Pha 3220 Lda #1: Sta online 3230 Lda #0: Sta setrow 3240 Tay 3250.readttxt 3260 Sty setrow 3270 Lda datareg 3280 Beq norow 3290 Lda #0 3300 Sty setrow 3310 Sta datareg 3320 Tya:Pha 3330 Jsr readrow 3340 Pla:Tay 3350.norow 3360 Iny 3370 Cpy #16 3380 Bne readttxt 3390 Sta clrtxt 3400 \ Restore regs 3410 Pla:Tay:Pla:Tax:Pla:Sta &FC 3420 jmp (oldirq2v) 3430\ 3440.readrow 3450 Lda datareg \ Mag 3460 Tay:Lda hamtab,Y 3470 Bmi badhamm 3480 And #15 \ remove 'corrected' flag 3490Sta magno 3500 Lda datareg \ Row 3510 Tay:Lda hamtab,Y 3520 Bmi badhamm 3530 And #15 3540Sta rowno 3550 Lda magno 3560 Cmp #8 3570 Rol rowno 3580 And #7 3590 Sta magno 3600 Jmp selectdest 3610\ 3620.transfer40 3630 Ldy #0 3640.read40 3650 Lda datareg 3660 Sta (rowdest),Y 3670 Iny 3680 Cpy #40 3690 Bne read40 3700.badhamm 3710 Rts 3720\ 3730.selectdest 3740 Lda rowno 3750 Cmp #30 3760 Bne notTSDP 3770 Lda magno 3780 Cmp #0 3790 Bne notTSDP 3800 Lda #TSbuff MOD 256: Sta rowdest 3810 Lda #TSbuff DIV 256: Sta rowdest+1 3820 Jsr transfer40 3830 Rts 3840.notTSDP 3850 Lda rowno 3860 Cmp #31 3870 Bne notdatacast 3880 Lda #datacastbuff MOD 256: Sta rowdest 3890 Lda #datacastbuff DIV 256: Sta rowdest+1 3900 Jsr transfer40 3910 Rts 3920.notdatacast 3930 Lda rowno 3940 Cmp #0 3950 Beq notnotheader:Jmp notheader:.notnotheader 3960\ transfer to fixed rowbuff 3970 Ldy #0 3980.txhdr 3990 Lda datareg 4000 Sta rowbuff,Y 4010 Iny 4020 Cpy #40 4030 Bne txhdr 4040 Lda hdrswanted:Cmp #0:Beq dontdisp 4050 Ldy #32 4060.shtim 4070 Lda rowbuff,Y: Sta &7C00,Y 4080 Iny:Cpy #40:Bne shtim 4090.dontdisp 4100 Lda magno:Asl A:Tay 4110 Lda magazine,Y:Sta rowdest 4120 Iny:Lda magazine,Y:Sta rowdest+1 4130\ then compare against prev 4140 Ldy #15 4150.cmphdr 4160 Lda (rowdest),Y 4170 Cmp rowbuff,Y 4180 Bne newhdr 4190 Iny 4200 Cpy #17+1 \ only page no!!!!! 4210 Bne cmphdr 4220\ Ignore duplicate hdr 4230 Rts 4240.newhdr 4250 Lda pagepending 4260 Cmp #0 4270 Beq notgrabbed 4280 Lda magicmagno 4290 Cmp magno 4300 Bne notgrabbed 4310 Lda pagearrived:Cmp #1:Beq forgetthisone \ SEMAPHORE on buffer 4320 Jsr goodpage \**** TRANNSFER WHEN FOUND 4330Lda pagno2:Cmp #ASC("0"):Bne YECH 4340Lda pagno3:Cmp #ASC("0"):Bne YECH 4350Lda flgcpy+1:Cmp #0:Bne damnbodge 4360.YECH 4370 Lda #1:Sta pagearrived 4380.damnbodge 4390 Lda #0:Sta pagepending 4400.forgetthisone \ buffer busy 4410 \ MOVED UP 4420.notgrabbed 4430\ then transfer to address below 4440\ test for explicit pageno 4450 Lda pagepending 4460 Cmp #0 4470\ Bne notexpl SHOULDN'T HAPPEN... 4480 Lda pagearrived 4490 Cmp #1 4500\ Beq notexpl ******** THE BUG??? 4510 Lda pagenotext 4520 Cmp #1 4530 Bne notexpl 4540 Lda rowbuff+15:And #127 4550 Cmp intpagno1 4560 Bne notexpl 4570 Lda rowbuff+16:And #127 4580 Cmp intpagno2 4590 Bne notexpl 4600 Lda rowbuff+17:And #127 4610 Cmp intpagno3 4620 Bne notexpl 4630 Lda magno:Sta magicmagno \ found page 4640 Lda #1: Sta pagepending 4650 Lda #0:\\\Sta pagearrived \ JUST IN CASE ??? THE BUG??? 4660.notexpl 4670 4680 4690 Lda magno:Asl A:Tay 4700 Lda magazine,Y: Sta rowdest 4710 Iny:Lda magazine,Y:Sta rowdest+1 4720 Ldy #0 4730.cphdr 4740 Lda rowbuff,Y 4750 Sta (rowdest),Y 4760 Iny 4770 Cpy #40 4780 Bne cphdr 4790\ and reset flags as necessary 4800 Lda magno:Asl A:Tay 4810 Lda rows,Y:Sta rowdest 4820 Iny:Lda rows,Y:Sta rowdest+1 4830 Ldy #0 4840.wipeflgs 4850 Lda #&FF:Sta (rowdest),Y 4860 Iny:Cpy #24 4870 Bne wipeflgs 4880 Rts 4890.notheader 4900 Lda rowno:Cmp #24:Bcc validrow 4910 Jmp deadrow 4920.validrow 4930 Lda magno:Asl A:Tay 4940 Lda magazine,Y: Sta rowdest 4950 Iny:Lda magazine,Y:Sta rowdest+1 4960\ Add offset from line no. 4970 Lda rowno:Asl A:Tay 4980 Lda times40,Y 4990 Clc: Adc rowdest:Sta rowdest:PHA \**** 5000 Iny: Lda times40,Y 5010 Adc rowdest+1:Sta rowdest+1 :PHA \**** 5020 Jsr transfer40 5030 Lda magno:Asl A:Tay 5040 Lda rows,Y:Sta rowdest 5050 Iny:Lda rows,Y:Sta rowdest+1 5060 Lda rowno:Tay 5070 Lda #0 5080 Sta (rowdest),Y \ say 'row present' 5090\ Search for text string 5100 PLA: Sta rowdest+1 \***** 5110 PLA: Sta rowdest \***** 5120 Lda pagenotext:Cmp #0:Bne notfoundatall \ not text-type search 5130 Lda dontsearch:Cmp #0:Bne notfoundatall 5140 Lda #0:Tax:Tay:Sta tmp 5150.nextcomp 5160 Lda (rowdest),Y 5170 And #127 5180 Cmp #32: Bcs tt1: Lda #32:.tt1 5190 Cmp #ASC("A"):Bcc tt2:Cmp #ASC("Z")+1:Bcs tt2:Ora #32:.tt2 5200 Sta spare 5210 Lda target,X 5220 Cmp #13 5230 Beq foundstr 5240 Cmp spare 5250 Bne notfoundstr 5260 Inx:Iny 5270 Jmp nextcomp 5280.notfoundstr 5290 Ldx #0 5300 Ldy tmp 5310 Iny 5320 Cpy #40 5330 Beq notfoundatall 5340 Sty tmp 5350 Jmp nextcomp 5360.notfoundatall 5370 Rts 5380.foundstr 5390 Ldy #0 5400 Lda (rowdest),Y:And #127 5410 Cmp #33:bcs noflash 5420 Cmp #17:Bcc kk1:Cmp #24:Bcc noflash:.kk1 5430 Cmp #25:Beq noflash 5440 Cmp #26:Beq noflash 5450 lda #8 5460 Sta (rowdest),Y 5470.noflash 5480 Lda #1 5490 Sta pagepending 5500 Lda magno 5510 Sta magicmagno 5520 Rts 5530.deadrow 5540 Rts 5550\ 5560.grabber 5570 Rts 5580\ 5590.checkprot 5600 Lda MJD+2:Sta MJDcpy+2 5610 Lda MJD+1:Sta MJDcpy+1 5620 Lda MJD+0:Sta MJDcpy+0 5630 Cmp #0: Bne bbc1itv 5640 Lda #2: Sta permission 5650 Rts 5660.bbc1itv 5670 Cmp #&40 5680 Beq dateitv 5690.datebbc 5700 Lda MJDcpy 5710 Cmp useby 5720 Beq qq1 5730 Bcs expired 5740 Bcc fresh 5750.qq1 5760 Lda MJDcpy+1 5770 Cmp useby+1 5780 Beq qq2 5790 Bcs expired 5800 Bcc fresh 5810.qq2 5820 Lda MJDcpy+2 5830 Cmp useby+2 5840 Beq qq3 5850 Bcs expired 5860.qq3 5870.fresh 5880 Lda #0: Sta permission 5890 Rts 5900.expired 5910 lda #1: Sta permission 5920 Rts 5930.dateitv 5940 Lda MJDcpy+2:Jsr swapnib:Clc:Adc #&11:Sta MJDcpy+2 5950 Lda MJDcpy+1:Jsr swapnib:Clc:Adc #&11:Sta MJDcpy+1 5960 Lda MJDcpy+0:Jsr swapnib:Clc:Adc #&01:Sta MJDcpy+0 5970 Jmp datebbc 5980\ 5990.swapnib 6000Pha:Lda #0:Sta tmp:Pla 6010ROLA:ROL tmp 6020ROLA:ROL tmp 6030ROLA:ROL tmp 6040ROLA:ROL tmp 6050And #&F0 6060Ora tmp 6070Rts 6080\ 6090\ Copy the page from this mag 6100\ before copying in the new header 6110\ Then continue processing 6120.goodpage 6130 Lda magno:Asl A:Tay 6140 Lda magazine,Y:Sta rowdest 6150 Iny:Lda magazine,Y:Sta rowdest+1 6160 Ldy #0 6170 Lda #pagebuff MOD 256:Sta intzp0 6180 Lda #pagebuff DIV 256:Sta intzp1 6190.tfrpage 6200 Lda (rowdest),Y 6210 Sta (intzp0),Y 6220 Inc rowdest 6230 Bne inc20 6240 Inc rowdest+1 6250.inc20 6260 Inc intzp0 6270 Bne inc21 6280 Inc intzp1 6290.inc21 6300 6310 Lda intzp0 6320 Cmp #pagebuffend MOD 256 6330 Bne tfrpage 6340 Lda intzp1 6350 Cmp #pagebuffend DIV 256 6360 Bne tfrpage 6370 6380 Lda magicmagno:Asl A:Tay 6390 Lda rows,Y 6400 Sta rowdest 6410 Iny:Lda rows,Y:Sta rowdest+1 6420 Lda #0:Tay 6430.cpflgsall 6440 Lda (rowdest),Y 6450 Sta flgcpy,Y 6460 Iny:Cpy #24:Bne cpflgsall 6470 6480 6490 Rts 6500 6510\ 6520.displaypage 6530 Jsr clearblanks 6540 Jsr doublers 6550 Lda #(pagebuff+8) MOD 256:Sta main0 6560 Lda #(pagebuff+8) DIV 256:Sta main1 6570 Ldy #0 6580 Lda #(&7C00+8) MOD 256:Sta main2 6590 Lda #(&7C00+8) DIV 256:Sta main3 6600.disploop 6610 Lda (main0),Y 6620 Sta (main2),Y 6630 Inc main0 6640 Bne inc0 6650 Inc main1 6660.inc0 6670 Inc main2 6680 Bne inc1 6690 Inc main3 6700.inc1 6710Lda main2 6720Cmp #(&7C00+24*40) MOD 256 6730 Bne disploop 6740 Lda main3 6750 Cmp #(&7C00+24*40) DIV 256 6760 Bne disploop 6770 Rts 6780.clearblanks 6790 Lda #0 6800 Tay:iny \ but not header row? 6810.cleardown 6820 Lda flgcpy,Y 6830 Cmp #0:Beq rowpresent 6840 Tya:Pha 6850 \ Wipe that row 6860 Asl A:Tay 6870 Lda times40,Y: Sta main2 6880 Iny:Lda times40,Y:Sta main3 6890\ add base address &7C00 6900 Clc:Lda main2:Adc #pagebuff MOD 256:Sta main2 6910 Lda main3:Adc #pagebuff DIV 256:Sta main3 6920 Lda #0:Tay 6930.blnkline 6940 Sta (main2),Y 6950 Iny:Cpy #40 6960Bne blnkline 6970 Pla:Tay 6980.rowpresent 6990 Iny 7000 Cpy #24 7010 Bne cleardown 7020 Rts 7030.doublers 7040 Ldx #1 \ can't have double height on header row 7050.dblloop 7060 Jsr testcpy 7070 Inx 7080 Cpx #23 \ or last row 7090 Bcc dblloop 7100 Rts 7110 7120.testcpy \ X = row index in pagebuff 7130\ if line has double height, 7140\ copy it to row x+1 7150 Txa:Asl A:Tay 7160 Lda times40,Y:Sta main0 7170 Iny:Lda times40,Y:Sta main1 7180 Lda main0:Clc:Adc #pagebuff MOD 256 7190 Sta main0 7200 Lda main1:Adc #pagebuff DIV 256 7210 Sta main1 7220 Ldy #0 7230.chklp 7240 Lda (main0),Y 7250 And #127:Cmp #13 7260 Beq gotdbl 7270 Iny 7280 Cpy #40 7290 Bne chklp 7300 Rts 7310.gotdbl 7320 Lda main0:Clc:Adc #40:Sta main2 7330 Lda main1:Adc #0:Sta main3 7340 Ldy #0 7350.tfrdbl 7360 Lda (main0),Y 7370 Sta (main2),Y 7380 Iny 7390 Cpy #40 7400 Bne tfrdbl 7410 Inx \ ******* SKIP NEXT LINE 7420 Rts 7430\ 7440.chan EQUB 1 7450.oldirq2v 7460 NOP:NOP 7470.magno NOP 7480.rowno NOP 7490.pagearrived BRK 7500.pagepending BRK 7510.magicmagno BRK 7520.dontsearch BRK 7530.pagenotext BRK \ 0 => text 1 => no. 7540.intpagno1 BRK 7550.intpagno2 BRK 7560.intpagno3 BRK 7570.hamtab 7580 EQUD &4101FF41 \ 1 7590 EQUD &FF4140FF 7600 EQUD &FF4142FF 7610 EQUD &47FFFF4A 7620 EQUD &FF4140FF 7630 EQUD &40FF0040 \ 0 7640 EQUD &4BFFFF46 7650 EQUD &FF4340FF 7660 EQUD &FF414CFF 7670 EQUD &47FFFF44 7680 EQUD &47FFFF46 7690 EQUD &074747FF \ 7 7700 EQUD &45FFFF46 7710 EQUD &FF4D40FF 7720 EQUD &FF464606 \ 6 7730 EQUD &47FFFF46 7740 EQUD &FF4142FF 7750 EQUD &49FFFF44 7760 EQUD &42FF0242 \ 2 7770 EQUD &FF4342FF 7780 EQUD &45FFFF48 7790 EQUD &FF4340FF 7800 EQUD &FF4342FF 7810 EQUD &4303FF43 \ 3 7820 EQUD &45FFFF44 7830 EQUD &FF444404 \ 4 7840 EQUD &FF4F42FF 7850 EQUD &47FFFF44 7860 EQUD &054545FF \ 5 7870 EQUD &45FFFF44 7880 EQUD &45FFFF46 7890 EQUD &FF434EFF 7900 EQUD &FF414CFF 7910 EQUD &49FFFF4A 7920 EQUD &4BFFFF4A 7930 EQUD &FF4A4A0A \ 10 7940 EQUD &4BFFFF48 7950 EQUD &FF4D40FF 7960 EQUD &0B4B4BFF \ 11 7970 EQUD &4BFFFF4A 7980 EQUD &4CFF0C4C \ 12 7990 EQUD &FF4D4CFF 8000 EQUD &FF4F4CFF 8010 EQUD &47FFFF4A 8020 EQUD &FF4D4CFF 8030 EQUD &4D0DFF4D \ 13 8040 EQUD &4BFFFF46 8050 EQUD &FF4D4EFF 8060 EQUD &49FFFF48 8070 EQUD &094949FF \ 9 8080 EQUD &FF4F42FF 8090 EQUD &49FFFF4A 8100 EQUD &FF484808 \ 8 8110 EQUD &49FFFF48 8120 EQUD &4BFFFF48 8130 EQUD &FF434EFF 8140 EQUD &FF4F4CFF 8150 EQUD &49FFFF44 8160 EQUD &4F0FFF4F \ 15 8170 EQUD &FF4F4EFF 8180 EQUD &45FFFF48 8190 EQUD &FF4D4EFF 8200 EQUD &FF4F4EFF 8210 EQUD &4EFF0E4E \ 14 8220.hdrswanted EQUB 0 8230.tmp BRK 8240.spare BRK 8250.online BRK 8260.permission BRK \ 0 GO 1 NOGO 8270.retries EQUB 2 8280.MJDcpy BRK:BRK:BRK 8290\ INCREMENT BY 1 EACH DAY! 8300.useby EQUB &05:EQUB &77:EQUB &54 \ USE-BY DATE => 31ST JULY 1986 8310.TSbuff EQUS STRING$(10," ") 8320.MJD BRK:BRK:BRK 8330 EQUS STRING$(27," ") 8340.rowbuff EQUS STRING$(40, " ") 8350.datacastbuff EQUS STRING$(40, " ") 8360.target EQUS STRING$(40, "A"):EQUB 13 8370.times40 8380EQUW 40*0 8390EQUW 40*1 8400EQUW 40*2 8410EQUW 40*3 8420EQUW 40*4 8430EQUW 40*5 8440EQUW 40*6 8450EQUW 40*7 8460EQUW 40*8 8470EQUW 40*9 8480EQUW 40*10 8490EQUW 40*11 8500EQUW 40*12 8510EQUW 40*13 8520EQUW 40*14 8530EQUW 40*15 8540EQUW 40*16 8550EQUW 40*17 8560EQUW 40*18 8570EQUW 40*19 8580EQUW 40*20 8590EQUW 40*21 8600EQUW 40*22 8610EQUW 40*23 8620EQUW 40*24 8630EQUW 40*25 8640.rows 8650EQUW row0 8660EQUW row1 8670EQUW row2 8680EQUW row3 8690EQUW row4 8700EQUW row5 8710EQUW row6 8720EQUW row7 8730.row0 8740EQUS STRING$(24," ") 8750 EQUB &FF 8760.row1 8770EQUS STRING$(24," ") 8780 EQUB &FF 8790.row2 8800EQUS STRING$(24," ") 8810 EQUB &FF 8820.row3 8830EQUS STRING$(24," ") 8840 EQUB &FF 8850.row4 8860EQUS STRING$(24," ") 8870 EQUB &FF 8880.row5 8890EQUS STRING$(24," ") 8900 EQUB &FF 8910.row6 8920EQUS STRING$(24," ") 8930 EQUB &FF 8940.row7 8950EQUS STRING$(24," ") 8960 EQUB &FF 8970.flgcpy EQUS STRING$(24," "):EQUB &FF 8980.magazine 8990EQUW pagebuffs+(40*25*0) 9000EQUW pagebuffs+(40*25*1) 9010EQUW pagebuffs+(40*25*2) 9020EQUW pagebuffs+(40*25*3) 9030EQUW pagebuffs+(40*25*4) 9040EQUW pagebuffs+(40*25*5) 9050EQUW pagebuffs+(40*25*6) 9060EQUW pagebuffs+(40*25*7) 9070.initvdu 9080 EQUB22:EQUB 7 9090EQUB 31:EQUB 0:EQUB 24 9100.endinitvdu 9110.endvdu 9120EQUB 26:EQUB 31:EQUB 0:EQUB 24 9130.endendvdu 9140.textpr EQUS "Text: " 9150.endtextpr 9160.chanpr EQUS "Channel: " 9170.endchanpr 9180.heldmess 9190 Ldy #0 9200.ll01 9210 Lda holdstr,Y 9220 Jsr oswrch 9230 Iny 9240 Cpy #endholdstr-holdstr 9250 Bne ll01 9260 Rts 9270.holdstr EQUS "HELD" 9280.endholdstr 9290.wipeheld 9300 Ldy #0 9310.ll33 9320 Lda wphld,Y 9330 Jsr oswrch 9340 Iny:Cpy #endwphld-wphld 9350 Bne ll33 9360 Rts 9370.wphld EQUB &7F:EQUB &7F:EQUB &7F:EQUB &7F 9380.endwphld 9390.pagpr EQUS STRING$(10, CHR$(&7F)) 9400.p2pr EQUS "Page: " 9410.endp2pr 9420.endpagpr 9430.toalmess 9440EQUB 13:EQUB 10 9450EQUS "Your demonstration sample has expired":EQUB 13:EQUB 10 9460EQUS "and will now be deleted.":EQUB 13:EQUB 10 9470EQUS "Please phone Graham Toal on 0875 811407":EQUB 13:EQUB 10 9480EQUS "to discuss terms of contract if you":EQUB 13:EQUB 10 9490EQUS "wish to buy this product. Thank you.":EQUB 13:EQUB 10 9500.endtoalmess 9510.osparamblk 9520 EQUS STRING$(16," ") 9530.pagebuff 9540 OPT FNRMB(24*40) 9550.pagebuffend 9560.pagebuffs 9570] 9580NEXT 9590OSCLI("SAVE T "+STR$~(Code)+" "+STR$~(O%)+" FFFF"+STR$~(RunAddr)+" FFFF"+STR$~(RunAddr)) 9600END 9610DEFFNRMB(N) 9620P%=P%+N 9630O%=O%+N 9640=Pass