Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape08a_acorn_eu_1990_february.wav » LIFE
LIFE
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape08a_acorn_eu_1990_february.wav |
Filename: | LIFE |
Read OK: | ✔ |
File size: | 1D0D bytes |
Load address: | 2000 |
Exec address: | 1900 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- AEW website » database » database_5_25_discs_Electron-User-7-05_D-E705.ssd » LIFE
- AEW website » database » database_tapes_Electron-User-7-05_EU7-5_E.uef » LIFE
- Personal collection » Acorn tapes » Electron_User » Electron_User_tape08a_acorn_eu_1990_february.wav » LIFE
File contents
10REM Life 20REM By John Geraghty 30REM (c) Electron User 40: 50ON ERROR PROCerr 60IF PAGE>&E00 PROCreloc 70MODE2 80MODE5 90HIMEM=&3000 100PROCinit 110: 120REPEAT 130REPEAT 140CALL breed 150PROCinkeys 160UNTIL S% 170: 180REPEAT 190PROCinkeys 200UNTIL INKEY-99 OR NOT S% 210PROCnot_ink2(-99) 220UNTIL FALSE 230: 240DEF PROCinkeys 250IF INKEY-83 PROCtoggle_col 260IF INKEY-35 PROCedit 270IF INKEY-82 PROCtoggle_step 280ENDPROC 290: 300DEF PROCnot_ink(n%) 310VDU7 320DEF PROCnot_ink2(n%) 330REPEAT UNTIL NOT INKEYn% 340ENDPROC 350: 360DEF PROCinit 370PROCassemble 380FOR L%=0 TO 38 390?(times8+L%)=L%*8 400NEXT 410*FX214,1 420*FX213,255 430*FX16 440VDU23,241,&E0,&E0,&E0;0;0; 450*FX9,1 460*FX10,1 470VDU19,0,4;0; 480VDU23,1,0;0;0;0; 490C%=TRUE 500S%=FALSE 510PROCedit 520PROCcolour 530ENDPROC 540: 550DEF PROCedit 560PROCnot_ink(-35) 570PRINTTAB(0,31)SPC(19); 580VDU19,2,7;0;19,1,4;0; 590PROCgrid(TRUE) 600VDU19,2,6;0;19,1,0;0; 610GCOL3,7 620X%=56:Y%=64 630PROCcross1 640PROCopt 650: 660REPEAT 670PRINTTAB(0,31);SPC(10);TAB(0,31);"x:";(X%+8)DIV 32;TAB(5,31);"y:";(Y%-32)DIV 16; 680F%=0 690IF INKEY-83 PROCnot_ink(-83):C%=NOT C%:PROCopt 700IF INKEY-82 PROCnot_ink(-82):S%=NOT S%:PROCopt 710IF INKEY-74 MOVEX%+8,Y%+12:VDU5,241,4:F%=32 720IF INKEY-35 F%=16 730IF INKEY-67 F%=F% OR 1 740IF INKEY-98 F%=F% OR 2 750IF INKEY-73 F%=F% OR 4 760IF INKEY-105F%=F% OR 8 770IF INKEY-74 IF F%=32 GOTO 730 780IF F%=0 OR F%=32 GOTO680 790oldx%=X%:oldy%=Y% 800IF F% AND 1 X%=X%+32:IF X%=1272 X%=-8 810IF F% AND 2 X%=X%-32:IF X%=-40 X%=1240 820IF F% AND 4 Y%=Y%+16:IF Y%=1024 Y%=32 830IF F% AND 8 Y%=Y%-16:IF Y%=16 Y%=1008 840PROCcross2 850IF INKEY-1 F%=0:GOTO730 860UNTIL F% AND 16 870PROCnot_ink(-35) 880PROCcross1 890PROCgrid(FALSE) 900PROCtitle 910PROCcolour 920!gen=1 930ENDPROC 940: 950DEF PROCcross2 960MOVEoldx%,32:DRAWoldx%,1023 970MOVE0,oldy%:DRAW1280,oldy% 980DEF PROCcross1 990MOVEX%,32:DRAWX%,1023 1000MOVE0,Y%:DRAW1280,Y% 1010ENDPROC 1020: 1030DEF PROCgrid(X%) 1040!scr=&100*?&34E 1050X%=-15*X% 1060CALL grid 1070ENDPROC 1080: 1090DEF PROCtoggle_col 1100PROCnot_ink(-83) 1110C%=NOT C% 1120DEF PROCcolour 1130IF C% VDU19,2,2;0;19,1,10;0; ELSE VDU19,2,7;0;19,1,4;0; 1140ENDPROC 1150: 1160DEF PROCtoggle_step 1170PROCnot_ink(-82) 1180S%=NOT S% 1190ENDPROC 1200: 1210DEF PROCtitle 1220GCOL0,7 1230?&34E=&68 EOR ?&34E:?&351=?&34E 1240PROCtitle2 1250?&34E=&68 EOR ?&34E:?&351=?&34E 1260DEF PROCtitle2 1270MOVE0,32:DRAW1280,32 1280PRINTTAB(0,31)"generation:";SPC(8); 1290ENDPROC 1300: 1310DEF PROCopt 1320PRINTTAB(11,31)SPC(8); 1330COLOUR129:COLOUR2 1340IF C% PRINTTAB(11,31)"Col"; 1350IF S% PRINTTAB(15,31)"Step"; 1360COLOUR128:COLOUR3 1370ENDPROC 1380: 1390DEF PROCreloc 1400OSCLI("KEY0 *TAPE|M F%=PAGE:T%=&E00:?TOP=13:REPEAT $T%=$F%:L%=LEN$T%+1:T%=T%+L%:F%=F%+L%:UNTIL F%>TOP|M PAGE=&E00|M OLD|M RUN|M") 1410OSCLI("FX138,0,128"):END 1420: 1430DEF PROCerr 1440ON ERROR OFF 1450VDU22,6 1460HIMEM=&6000 1470*FX214,6 1480*FX213,100 1490REPORT:PRINT" at line ";ERL 1500END 1510: 1520DEF PROCassemble 1530REM &4F TO &9E used for data; this and other locations below temporarily free 1540count=&4F 1550status=&77 1560scr=&70 1570top=&E0 1580mid=&F5 1590bot=&F7 1600cell=&3B 1610row=&F9 1620col=&1C 1630temp=&1D 1640print_no=&991F 1650oswrch=&FFEE 1660: 1670FOR pass=0 TO 2 STEP2 1680P%=&A00 1690[OPT pass 1700.breed 1710\SEI (for speed) only if no flashing colours 1720BCS not_sei 1730SEI 1740.not_sei 1750\set row index 1760LDX #&3D 1770STX row 1780: 1790\hi or lo screen? 1800INC index 1810LDA index 1820AND #1 1830BEQ hi_scr 1840: 1850\top, mid, bot point to start of screen rows to get count of on cells 1860LDX #&84 1870STX mid 1880LDX #&56 1890STX mid+1 1900LDX #0 1910STX bot 1920LDX #&31 1930STX bot+1 1940\cell points to other screen for plotting 1950LDX #&BC 1960STX cell 1970LDX #&57 1980STX cell+1 1990STX cell+3 2000STX cell+5 2010BNE do_row 2020: 2030.hi_scr 2040LDX #&84 2050STX mid 2060LDX #&7E 2070STX mid+1 2080LDX #0 2090STX bot 2100LDX #&59 2110STX bot+1 2120LDX #&BC 2130STX cell 2140LDX #&2F 2150STX cell+1 2160STX cell+3 2170STX cell+5 2180: 2190.do_row 2200\mid becomes top, top becomes bot, bot and cell incremented 2210LDX mid 2220STX top 2230LDX mid+1 2240STX top+1 2250LDA bot 2260STA mid 2270LDA bot+1 2280STA mid+1 2290: 2300LDA row 2310AND #1 2320BNE even 2330: 2340\odd row 2350DEC cell+1 2360DEC cell+3 2370DEC cell+5 2380LDA cell 2390CLC 2400ADC #4 2410TAX 2420STX cell 2430INX 2440STX cell+2 2450INX 2460STX cell+4 2470: 2480LDA row 2490BEQ last_row 2500LDA bot 2510CLC 2520ADC #&3C 2530STA bot 2540LDA bot+1 2550ADC #1 2560STA bot+1 2570JMP not_last 2580: 2590.even 2600LDA cell 2610CLC 2620ADC #&3C 2630BCC notinc 2640INC cell+1 2650INC cell+3 2660INC cell+5 2670.notinc 2680TAX 2690STX cell 2700INX 2710STX cell+2 2720INX 2730STX cell+4 2740: 2750LDA bot 2760CLC 2770ADC #4 2780STA bot 2790BCC not_last 2800: 2810.last_row 2820LDX #0 2830STX bot 2840LDX #&59 2850STX bot+1 2860LDA index 2870AND #1 2880BEQ not_last 2890LDX #&31 2900STX bot+1 2910: 2920.not_last 2930\count holds sum of on cells above+below target cell 2940LDA #0 2950STA count 2960STA status 2970STA count+1 2980STA status+1 2990: 3000\count gets data for extreme right cell, count+1 gets data for leftmost (for wraparound) 3010LDY #&38 3020LDA (top),Y 3030BPL over1 3040INC count 3050.over1 3060LDA (mid),Y 3070BPL over2 3080INC status 3090.over2 3100LDA (bot),Y 3110BPL over3 3120INC count 3130.over3 3140DEC top+1 3150DEC mid+1 3160DEC bot+1 3170LDY #0 3180LDA (top),Y 3190BPL over4 3200INC count+1 3210.over4 3220LDA (mid),Y 3230BPL over5 3240INC status+1 3250.over5 3260LDA (bot),Y 3270BPL over6 3280INC count+1 3290.over6 3300\set column index 3310LDA #&26 3320STA col 3330: 3340LDA top 3350STA over7+1 3360LDA top+1 3370STA over7+2 3380LDA mid 3390STA over8+1 3400LDA mid+1 3410STA over8+2 3420LDA bot 3430STA over9+1 3440LDA bot+1 3450STA over9+2 3460: 3470INC top+1 3480INC mid+1 3490INC bot+1 3500LDX #1 3510: 3520.do_cell 3530\8 bytes between cells 3540LDY times8,X 3550BNE hi_ok 3560INC cell+1 3570INC cell+3 3580INC cell+5 3590INC over7+2 3600INC over8+2 3610INC over9+2 3620: 3630.hi_ok 3640INX 3650LDA #0 3660STA count,X 3670STA status,X 3680CLC 3690: 3700.over7 3710LDA &FFFF,Y 3720\colours 2 and 3 signify ON 3730BPL over8 3740INC count,X 3750.over8 3760LDA &FFFF,Y 3770BPL over9 3780INC status,X 3790SEC 3800.over9 3810LDA &FFFF,Y 3820BPL get_count 3830INC count,X 3840: 3850.get_count 3860LDA count,X 3870ADC count-1,X 3880ADC count-2,X 3890ADC status-2,X 3900: 3910.on_or_off 3920STA temp 3930ORA status-1,X 3940ORA (cell),Y 3950BEQ cell_ok 3960LDA temp 3970BEQ turn_off 3980CMP #2 3990BCC turn_off 4000BNE not_maintain 4010LDA status-1,X 4020BEQ plot_cell 4030.maintain_on 4040LDA #&EE 4050BNE plot_cell 4060: 4070.not_maintain 4080CMP #3 4090BEQ turn_on 4100.turn_off 4110\if already off, colour 0 4120LDA status-1,X 4130BEQ plot_cell 4140\colour 1 4150LDA #&0E 4160BNE plot_cell 4170.turn_on 4180LDA status-1,X 4190BNE maintain_on 4200LDA #&E0 4210: 4220.plot_cell 4230CMP (cell),Y 4240BEQ cell_ok 4250STA (cell),Y 4260STA (cell+2),Y 4270STA (cell+4),Y 4280: 4290.cell_ok 4300DEC col 4310BNE do_cell 4320: 4330\penultimate cell 4340CPY #&38 4350BEQ last_cell 4360BCS end_of_row 4370INX 4380INC col 4390LDY #&38 4400CLC 4410LDA count+38 4420ADC status+38 4430ADC count+39 4440ADC count 4450ADC status 4460BPL on_or_off 4470: 4480.last_cell 4490LDX #1 4500INC col 4510LDY #&40 4520CLC 4530LDA count+39 4540ADC status+39 4550ADC count 4560ADC count+1 4570ADC status+1 4580BPL on_or_off 4590: 4600.end_of_row 4610DEC row 4620BMI end_of_screen 4630JMP do_row 4640: 4650.end_of_screen 4660LDA index 4670AND #1 4680BNE hi_screen 4690: 4700LDA #&18 4710LDX #&30 4720BNE screen_paras 4730: 4740.hi_screen 4750LDA #&2C 4760LDX #&58 4770.screen_paras 4780STA &FE03 4790STX &34E 4800STX &351 4810\print generation number at TAB(12,31) 4820LDA #31 4830JSR oswrch 4840LDA #12 4850JSR oswrch 4860LDA #31 4870JSR oswrch 4880LDA gen 4890STA &2A 4900LDA gen+1 4910STA &2B 4920JSR print_no 4930: 4940INC gen 4950BNE cli 4960INC gen+1 4970.cli 4980CLI 4990RTS 5000: 5010.grid 5020\grid for edit routine 5030LDY #0 5040.gloop 5050TYA 5060AND #3 5070CMP #3 5080BNE skip 5090TXA 5100JMP sta 5110.skip 5120LDA (scr),Y 5130AND #&F0 5140BEQ skip2 5150LDA #&EE 5160.skip2 5170CPX #&0F 5180ADC #0 5190.sta 5200STA (scr),Y 5210CPY #&BF 5220BNE gov 5230LDA scr+1 5240CMP #&7E 5250BEQ cli 5260CMP #&56 5270BEQ cli 5280.gov 5290INY 5300BNE gloop 5310INC scr+1 5320BPL gloop 5330: 5340.index 5350EQUB &FF 5360.gen 5370EQUD 0 5380.times8 5390]:NEXT:ENDPROC
� Life � By John Geraghty � (c) Electron User (: 2� � �err <� �>&E00 �reloc F�2 P�5 Z�=&3000 d �init n: x� �� �� breed ��inkeys �� S% �: �� ��inkeys �� �-99 � � S% ��not_ink2(-99) �� � �: � � �inkeys �� �-83 �toggle_col � �-35 �edit � �-82 �toggle_step � ": ,� �not_ink(n%) 6�7 @� �not_ink2(n%) J � � � �n% T� ^: h� �init r �assemble |� L%=0 � 38 �?(times8+L%)=L%*8 �� �*FX214,1 �*FX213,255 � *FX16 ��23,241,&E0,&E0,&E0;0;0; � *FX9,1 �*FX10,1 ��19,0,4;0; ��23,1,0;0;0;0; �C%=� �S%=� � �edit �colour � : &� �edit 0�not_ink(-35) :�0,31)�(19); D�19,2,7;0;19,1,4;0; N�grid(�) X�19,2,6;0;19,1,0;0; b�3,7 lX%=56:Y%=64 v�cross1 ��opt �: �� �A�0,31);�(10);�0,31);"x:";(X%+8)� 32;�5,31);"y:";(Y%-32)� 16; �F%=0 �%� �-83 �not_ink(-83):C%=� C%:�opt �%� �-82 �not_ink(-82):S%=� S%:�opt �%� �-74 �X%+8,Y%+12:�5,241,4:F%=32 �� �-35 F%=16 �� �-67 F%=F% � 1 �� �-98 F%=F% � 2 �� �-73 F%=F% � 4 �� �-105F%=F% � 8 � �-74 � F%=32 � �dZB � F%=0 � F%=32 �thB oldx%=X%:oldy%=Y% %� F% � 1 X%=X%+32:� X%=1272 X%=-8 *&� F% � 2 X%=X%-32:� X%=-40 X%=1240 4%� F% � 4 Y%=Y%+16:� Y%=1024 Y%=32 >%� F% � 8 Y%=Y%-16:� Y%=16 Y%=1008 H�cross2 R� �-1 F%=0:�dZB \ � F% � 16 f�not_ink(-35) p�cross1 z�grid(�) � �title ��colour � !gen=1 �� �: � � �cross2 ��oldx%,32:�oldx%,1023 ��0,oldy%:�1280,oldy% � � �cross1 ��X%,32:�X%,1023 ��0,Y%:�1280,Y% �� �: � �grid(X%) !scr=&100*?&34E X%=-15*X% $ � grid .� 8: B� �toggle_col L�not_ink(-83) VC%=� C% ` � �colour j3� C% �19,2,2;0;19,1,10;0; � �19,2,7;0;19,1,4;0; t� ~: �� �toggle_step ��not_ink(-82) �S%=� S% �� �: �� �title ��0,7 �!?&34E=&68 � ?&34E:?&351=?&34E ��title2 �!?&34E=&68 � ?&34E:?&351=?&34E � � �title2 ��0,32:�1280,32 �0,31)"generation:";�(8); � : � �opt (�11,31)�(8); 2�129:�2 <� C% �11,31)"Col"; F� S% �15,31)"Step"; P�128:�3 Z� d: n� �reloc x��("KEY0 *TAPE|M F%=PAGE:T%=&E00:?TOP=13:REPEAT $T%=$F%:L%=LEN$T%+1:T%=T%+L%:F%=F%+L%:UNTIL F%>TOP|M PAGE=&E00|M OLD|M RUN|M") ��("FX138,0,128"):� �: � � �err � � � � � �22,6 ��=&6000 �*FX214,6 �*FX213,100 ��:�" at line ";� �� �: �� �assemble �O� &4F TO &9E used for data; this and other locations below temporarily free count=&4F status=&77 scr=&70 "top=&E0 ,mid=&F5 6bot=&F7 @cell=&3B Jrow=&F9 Tcol=&1C ^temp=&1D hprint_no=&991F roswrch=&FFEE |: �� pass=0 � 2 �2 �P%=&A00 � [OPT pass � .breed �0\SEI (for speed) only if no flashing colours �BCS not_sei �SEI �.not_sei �\set row index �LDX #&3D �STX row �: �\hi or lo screen? INC index LDA index � #1 &BEQ hi_scr 0: :I\top, mid, bot point to start of screen rows to get count of on cells DLDX #&84 NSTX mid XLDX #&56 b STX mid+1 l LDX #0 vSTX bot �LDX #&31 � STX bot+1 �-\cell points to other screen for plotting �LDX #&BC �STX cell �LDX #&57 �STX cell+1 �STX cell+3 �STX cell+5 �BNE do_row �: �.hi_scr �LDX #&84 STX mid LDX #&7E STX mid+1 LDX #0 *STX bot 4LDX #&59 > STX bot+1 HLDX #&BC RSTX cell \LDX #&2F fSTX cell+1 pSTX cell+3 zSTX cell+5 �: �.do_row �?\mid becomes top, top becomes bot, bot and cell incremented �LDX mid �STX top � LDX mid+1 � STX top+1 �LDA bot �STA mid � LDA bot+1 � STA mid+1 �: �LDA row � #1 BNE even : $\odd row .DEC cell+1 8DEC cell+3 BDEC cell+5 LLDA cell VCLC ` ADC #4 jTAX tSTX cell ~INX �STX cell+2 �INX �STX cell+4 �: �LDA row �BEQ last_row �LDA bot �CLC �ADC #&3C �STA bot � LDA bot+1 � ADC #1 STA bot+1 JMP not_last : .even (LDA cell 2CLC <ADC #&3C FBCC notinc PINC cell+1 ZINC cell+3 dINC cell+5 n.notinc xTAX �STX cell �INX �STX cell+2 �INX �STX cell+4 �: �LDA bot �CLC � ADC #4 �STA bot �BCC not_last �: � .last_row LDX #0 STX bot LDX #&59 " STX bot+1 , LDA index 6� #1 @BEQ not_last JLDX #&31 T STX bot+1 ^: h .not_last r8\count holds sum of on cells above+below target cell | LDA #0 � STA count �STA status �STA count+1 �STA status+1 �: �\\count gets data for extreme right cell, count+1 gets data for leftmost (for wraparound) �LDY #&38 �LDA (top),Y � BPL over1 � INC count � .over1 �LDA (mid),Y � BPL over2 INC status .over2 LDA (bot),Y & BPL over3 0 INC count : .over3 D DEC top+1 N DEC mid+1 X DEC bot+1 b LDY #0 lLDA (top),Y v BPL over4 �INC count+1 � .over4 �LDA (mid),Y � BPL over5 �INC status+1 � .over5 �LDA (bot),Y � BPL over6 �INC count+1 � .over6 �\set column index �LDA #&26 �STA col : LDA top STA over7+1 LDA top+1 *STA over7+2 4LDA mid >STA over8+1 H LDA mid+1 RSTA over8+2 \LDA bot fSTA over9+1 p LDA bot+1 zSTA over9+2 �: � INC top+1 � INC mid+1 � INC bot+1 � LDX #1 �: �.do_cell �\8 bytes between cells �LDY times8,X � BNE hi_ok �INC cell+1 �INC cell+3 �INC cell+5 INC over7+2 INC over8+2 INC over9+2 $: . .hi_ok 8INX B LDA #0 LSTA count,X VSTA status,X `CLC j: t .over7 ~LDA &FFFF,Y �\colours 2 and 3 signify � � BPL over8 �INC count,X � .over8 �LDA &FFFF,Y � BPL over9 �INC status,X �SEC � .over9 �LDA &FFFF,Y �BPL get_count �INC count,X : .get_count LDA count,X ADC count-1,X (ADC count-2,X 2ADC status-2,X <: F.on_or_off PSTA temp Z�A status-1,X d�A (cell),Y nBEQ cell_ok xLDA temp �BEQ turn_off � CMP #2 �BCC turn_off �BNE not_maintain �LDA status-1,X �BEQ plot_cell �.maintain_on �LDA #&EE �BNE plot_cell �: �.not_maintain � CMP #3 �BEQ turn_on .turn_off \if already off, colour 0 LDA status-1,X "BEQ plot_cell , \colour 1 6LDA #&0E @BNE plot_cell J.turn_on TLDA status-1,X ^BNE maintain_on hLDA #&E0 r: |.plot_cell �CMP (cell),Y �BEQ cell_ok �STA (cell),Y �STA (cell+2),Y �STA (cell+4),Y �: �.cell_ok �DEC col �BNE do_cell �: �\penultimate cell �CPY #&38 �BEQ last_cell BCS end_of_row INX INC col &LDY #&38 0CLC :LDA count+38 DADC status+38 NADC count+39 X ADC count bADC status lBPL on_or_off v: �.last_cell � LDX #1 �INC col �LDY #&40 �CLC �LDA count+39 �ADC status+39 � ADC count �ADC count+1 �ADC status+1 �BPL on_or_off �: �.end_of_row DEC row BMI end_of_screen JMP do_row : *.end_of_screen 4 LDA index >� #1 HBNE hi_screen R: \LDA #&18 fLDX #&30 pBNE screen_paras z: �.hi_screen �LDA #&2C �LDX #&58 �.screen_paras � STA &FE03 �STX &34E �STX &351 �'\print generation number at �12,31) �LDA #31 �JSR oswrch �LDA #12 �JSR oswrch �LDA #31 JSR oswrch LDA gen STA &2A $ LDA gen+1 .STA &2B 8JSR print_no B: LINC gen VBNE cli ` INC gen+1 j.cli tCLI ~RTS �: � .grid �\grid for edit routine � LDY #0 � .gloop �TYA �� #3 � CMP #3 �BNE skip �TXA �JMP sta � .skip LDA (scr),Y � #&F0 BEQ skip2 LDA #&EE ( .skip2 2CPX #&0F < ADC #0 F.sta PSTA (scr),Y ZCPY #&BF dBNE gov n LDA scr+1 xCMP #&7E �BEQ cli �CMP #&56 �BEQ cli �.gov �INY � BNE gloop � INC scr+1 � BPL gloop �: � .index �EQUB &FF �.gen � EQUD 0 .times8 ]:�:� �
00000000 0d 00 0a 0a f4 20 4c 69 66 65 0d 00 14 16 f4 20 |..... Life..... | 00000010 42 79 20 4a 6f 68 6e 20 47 65 72 61 67 68 74 79 |By John Geraghty| 00000020 0d 00 1e 17 f4 20 28 63 29 20 45 6c 65 63 74 72 |..... (c) Electr| 00000030 6f 6e 20 55 73 65 72 0d 00 28 05 3a 0d 00 32 0c |on User..(.:..2.| 00000040 ee 20 85 20 f2 65 72 72 0d 00 3c 13 e7 20 90 3e |. . .err..<.. .>| 00000050 26 45 30 30 20 f2 72 65 6c 6f 63 0d 00 46 06 eb |&E00 .reloc..F..| 00000060 32 0d 00 50 06 eb 35 0d 00 5a 0b d3 3d 26 33 30 |2..P..5..Z..=&30| 00000070 30 30 0d 00 64 09 f2 69 6e 69 74 0d 00 6e 05 3a |00..d..init..n.:| 00000080 0d 00 78 05 f5 0d 00 82 05 f5 0d 00 8c 0b d6 20 |..x............ | 00000090 62 72 65 65 64 0d 00 96 0b f2 69 6e 6b 65 79 73 |breed.....inkeys| 000000a0 0d 00 a0 08 fd 20 53 25 0d 00 aa 05 3a 0d 00 b4 |..... S%....:...| 000000b0 05 f5 0d 00 be 0b f2 69 6e 6b 65 79 73 0d 00 c8 |.......inkeys...| 000000c0 11 fd 20 a6 2d 39 39 20 84 20 ac 20 53 25 0d 00 |.. .-99 . . S%..| 000000d0 d2 12 f2 6e 6f 74 5f 69 6e 6b 32 28 2d 39 39 29 |...not_ink2(-99)| 000000e0 0d 00 dc 07 fd 20 a3 0d 00 e6 05 3a 0d 00 f0 0d |..... .....:....| 000000f0 dd 20 f2 69 6e 6b 65 79 73 0d 00 fa 16 e7 20 a6 |. .inkeys..... .| 00000100 2d 38 33 20 f2 74 6f 67 67 6c 65 5f 63 6f 6c 0d |-83 .toggle_col.| 00000110 01 04 10 e7 20 a6 2d 33 35 20 f2 65 64 69 74 0d |.... .-35 .edit.| 00000120 01 0e 17 e7 20 a6 2d 38 32 20 f2 74 6f 67 67 6c |.... .-82 .toggl| 00000130 65 5f 73 74 65 70 0d 01 18 05 e1 0d 01 22 05 3a |e_step.......".:| 00000140 0d 01 2c 12 dd 20 f2 6e 6f 74 5f 69 6e 6b 28 6e |..,.. .not_ink(n| 00000150 25 29 0d 01 36 06 ef 37 0d 01 40 13 dd 20 f2 6e |%)..6..7..@.. .n| 00000160 6f 74 5f 69 6e 6b 32 28 6e 25 29 0d 01 4a 0d f5 |ot_ink2(n%)..J..| 00000170 20 fd 20 ac 20 a6 6e 25 0d 01 54 05 e1 0d 01 5e | . . .n%..T....^| 00000180 05 3a 0d 01 68 0b dd 20 f2 69 6e 69 74 0d 01 72 |.:..h.. .init..r| 00000190 0d f2 61 73 73 65 6d 62 6c 65 0d 01 7c 0f e3 20 |..assemble..|.. | 000001a0 4c 25 3d 30 20 b8 20 33 38 0d 01 86 15 3f 28 74 |L%=0 . 38....?(t| 000001b0 69 6d 65 73 38 2b 4c 25 29 3d 4c 25 2a 38 0d 01 |imes8+L%)=L%*8..| 000001c0 90 05 ed 0d 01 9a 0c 2a 46 58 32 31 34 2c 31 0d |.......*FX214,1.| 000001d0 01 a4 0e 2a 46 58 32 31 33 2c 32 35 35 0d 01 ae |...*FX213,255...| 000001e0 09 2a 46 58 31 36 0d 01 b8 1c ef 32 33 2c 32 34 |.*FX16.....23,24| 000001f0 31 2c 26 45 30 2c 26 45 30 2c 26 45 30 3b 30 3b |1,&E0,&E0,&E0;0;| 00000200 30 3b 0d 01 c2 0a 2a 46 58 39 2c 31 0d 01 cc 0b |0;....*FX9,1....| 00000210 2a 46 58 31 30 2c 31 0d 01 d6 0e ef 31 39 2c 30 |*FX10,1.....19,0| 00000220 2c 34 3b 30 3b 0d 01 e0 12 ef 32 33 2c 31 2c 30 |,4;0;.....23,1,0| 00000230 3b 30 3b 30 3b 30 3b 0d 01 ea 08 43 25 3d b9 0d |;0;0;0;....C%=..| 00000240 01 f4 08 53 25 3d a3 0d 01 fe 09 f2 65 64 69 74 |...S%=......edit| 00000250 0d 02 08 0b f2 63 6f 6c 6f 75 72 0d 02 12 05 e1 |.....colour.....| 00000260 0d 02 1c 05 3a 0d 02 26 0b dd 20 f2 65 64 69 74 |....:..&.. .edit| 00000270 0d 02 30 11 f2 6e 6f 74 5f 69 6e 6b 28 2d 33 35 |..0..not_ink(-35| 00000280 29 0d 02 3a 11 f1 8a 30 2c 33 31 29 89 28 31 39 |)..:...0,31).(19| 00000290 29 3b 0d 02 44 17 ef 31 39 2c 32 2c 37 3b 30 3b |);..D..19,2,7;0;| 000002a0 31 39 2c 31 2c 34 3b 30 3b 0d 02 4e 0c f2 67 72 |19,1,4;0;..N..gr| 000002b0 69 64 28 b9 29 0d 02 58 17 ef 31 39 2c 32 2c 36 |id(.)..X..19,2,6| 000002c0 3b 30 3b 31 39 2c 31 2c 30 3b 30 3b 0d 02 62 08 |;0;19,1,0;0;..b.| 000002d0 e6 33 2c 37 0d 02 6c 0f 58 25 3d 35 36 3a 59 25 |.3,7..l.X%=56:Y%| 000002e0 3d 36 34 0d 02 76 0b f2 63 72 6f 73 73 31 0d 02 |=64..v..cross1..| 000002f0 80 08 f2 6f 70 74 0d 02 8a 05 3a 0d 02 94 05 f5 |...opt....:.....| 00000300 0d 02 9e 41 f1 8a 30 2c 33 31 29 3b 89 28 31 30 |...A..0,31);.(10| 00000310 29 3b 8a 30 2c 33 31 29 3b 22 78 3a 22 3b 28 58 |);.0,31);"x:";(X| 00000320 25 2b 38 29 81 20 33 32 3b 8a 35 2c 33 31 29 3b |%+8). 32;.5,31);| 00000330 22 79 3a 22 3b 28 59 25 2d 33 32 29 81 20 31 36 |"y:";(Y%-32). 16| 00000340 3b 0d 02 a8 08 46 25 3d 30 0d 02 b2 25 e7 20 a6 |;....F%=0...%. .| 00000350 2d 38 33 20 f2 6e 6f 74 5f 69 6e 6b 28 2d 38 33 |-83 .not_ink(-83| 00000360 29 3a 43 25 3d ac 20 43 25 3a f2 6f 70 74 0d 02 |):C%=. C%:.opt..| 00000370 bc 25 e7 20 a6 2d 38 32 20 f2 6e 6f 74 5f 69 6e |.%. .-82 .not_in| 00000380 6b 28 2d 38 32 29 3a 53 25 3d ac 20 53 25 3a f2 |k(-82):S%=. S%:.| 00000390 6f 70 74 0d 02 c6 25 e7 20 a6 2d 37 34 20 ec 58 |opt...%. .-74 .X| 000003a0 25 2b 38 2c 59 25 2b 31 32 3a ef 35 2c 32 34 31 |%+8,Y%+12:.5,241| 000003b0 2c 34 3a 46 25 3d 33 32 0d 02 d0 10 e7 20 a6 2d |,4:F%=32..... .-| 000003c0 33 35 20 46 25 3d 31 36 0d 02 da 14 e7 20 a6 2d |35 F%=16..... .-| 000003d0 36 37 20 46 25 3d 46 25 20 84 20 31 0d 02 e4 14 |67 F%=F% . 1....| 000003e0 e7 20 a6 2d 39 38 20 46 25 3d 46 25 20 84 20 32 |. .-98 F%=F% . 2| 000003f0 0d 02 ee 14 e7 20 a6 2d 37 33 20 46 25 3d 46 25 |..... .-73 F%=F%| 00000400 20 84 20 34 0d 02 f8 14 e7 20 a6 2d 31 30 35 46 | . 4..... .-105F| 00000410 25 3d 46 25 20 84 20 38 0d 03 02 19 e7 20 a6 2d |%=F% . 8..... .-| 00000420 37 34 20 e7 20 46 25 3d 33 32 20 e5 20 8d 64 5a |74 . F%=32 . .dZ| 00000430 42 0d 03 0c 18 e7 20 46 25 3d 30 20 84 20 46 25 |B..... F%=0 . F%| 00000440 3d 33 32 20 e5 8d 74 68 42 0d 03 16 15 6f 6c 64 |=32 ..thB....old| 00000450 78 25 3d 58 25 3a 6f 6c 64 79 25 3d 59 25 0d 03 |x%=X%:oldy%=Y%..| 00000460 20 25 e7 20 46 25 20 80 20 31 20 58 25 3d 58 25 | %. F% . 1 X%=X%| 00000470 2b 33 32 3a e7 20 58 25 3d 31 32 37 32 20 58 25 |+32:. X%=1272 X%| 00000480 3d 2d 38 0d 03 2a 26 e7 20 46 25 20 80 20 32 20 |=-8..*&. F% . 2 | 00000490 58 25 3d 58 25 2d 33 32 3a e7 20 58 25 3d 2d 34 |X%=X%-32:. X%=-4| 000004a0 30 20 58 25 3d 31 32 34 30 0d 03 34 25 e7 20 46 |0 X%=1240..4%. F| 000004b0 25 20 80 20 34 20 59 25 3d 59 25 2b 31 36 3a e7 |% . 4 Y%=Y%+16:.| 000004c0 20 59 25 3d 31 30 32 34 20 59 25 3d 33 32 0d 03 | Y%=1024 Y%=32..| 000004d0 3e 25 e7 20 46 25 20 80 20 38 20 59 25 3d 59 25 |>%. F% . 8 Y%=Y%| 000004e0 2d 31 36 3a e7 20 59 25 3d 31 36 20 59 25 3d 31 |-16:. Y%=16 Y%=1| 000004f0 30 30 38 0d 03 48 0b f2 63 72 6f 73 73 32 0d 03 |008..H..cross2..| 00000500 52 14 e7 20 a6 2d 31 20 46 25 3d 30 3a e5 8d 64 |R.. .-1 F%=0:..d| 00000510 5a 42 0d 03 5c 0d fd 20 46 25 20 80 20 31 36 0d |ZB..\.. F% . 16.| 00000520 03 66 11 f2 6e 6f 74 5f 69 6e 6b 28 2d 33 35 29 |.f..not_ink(-35)| 00000530 0d 03 70 0b f2 63 72 6f 73 73 31 0d 03 7a 0c f2 |..p..cross1..z..| 00000540 67 72 69 64 28 a3 29 0d 03 84 0a f2 74 69 74 6c |grid(.).....titl| 00000550 65 0d 03 8e 0b f2 63 6f 6c 6f 75 72 0d 03 98 0a |e.....colour....| 00000560 21 67 65 6e 3d 31 0d 03 a2 05 e1 0d 03 ac 05 3a |!gen=1.........:| 00000570 0d 03 b6 0d dd 20 f2 63 72 6f 73 73 32 0d 03 c0 |..... .cross2...| 00000580 19 ec 6f 6c 64 78 25 2c 33 32 3a df 6f 6c 64 78 |..oldx%,32:.oldx| 00000590 25 2c 31 30 32 33 0d 03 ca 18 ec 30 2c 6f 6c 64 |%,1023.....0,old| 000005a0 79 25 3a df 31 32 38 30 2c 6f 6c 64 79 25 0d 03 |y%:.1280,oldy%..| 000005b0 d4 0d dd 20 f2 63 72 6f 73 73 31 0d 03 de 13 ec |... .cross1.....| 000005c0 58 25 2c 33 32 3a df 58 25 2c 31 30 32 33 0d 03 |X%,32:.X%,1023..| 000005d0 e8 12 ec 30 2c 59 25 3a df 31 32 38 30 2c 59 25 |...0,Y%:.1280,Y%| 000005e0 0d 03 f2 05 e1 0d 03 fc 05 3a 0d 04 06 0f dd 20 |.........:..... | 000005f0 f2 67 72 69 64 28 58 25 29 0d 04 10 13 21 73 63 |.grid(X%)....!sc| 00000600 72 3d 26 31 30 30 2a 3f 26 33 34 45 0d 04 1a 0d |r=&100*?&34E....| 00000610 58 25 3d 2d 31 35 2a 58 25 0d 04 24 0a d6 20 67 |X%=-15*X%..$.. g| 00000620 72 69 64 0d 04 2e 05 e1 0d 04 38 05 3a 0d 04 42 |rid.......8.:..B| 00000630 11 dd 20 f2 74 6f 67 67 6c 65 5f 63 6f 6c 0d 04 |.. .toggle_col..| 00000640 4c 11 f2 6e 6f 74 5f 69 6e 6b 28 2d 38 33 29 0d |L..not_ink(-83).| 00000650 04 56 0b 43 25 3d ac 20 43 25 0d 04 60 0d dd 20 |.V.C%=. C%..`.. | 00000660 f2 63 6f 6c 6f 75 72 0d 04 6a 33 e7 20 43 25 20 |.colour..j3. C% | 00000670 ef 31 39 2c 32 2c 32 3b 30 3b 31 39 2c 31 2c 31 |.19,2,2;0;19,1,1| 00000680 30 3b 30 3b 20 8b 20 ef 31 39 2c 32 2c 37 3b 30 |0;0; . .19,2,7;0| 00000690 3b 31 39 2c 31 2c 34 3b 30 3b 0d 04 74 05 e1 0d |;19,1,4;0;..t...| 000006a0 04 7e 05 3a 0d 04 88 12 dd 20 f2 74 6f 67 67 6c |.~.:..... .toggl| 000006b0 65 5f 73 74 65 70 0d 04 92 11 f2 6e 6f 74 5f 69 |e_step.....not_i| 000006c0 6e 6b 28 2d 38 32 29 0d 04 9c 0b 53 25 3d ac 20 |nk(-82)....S%=. | 000006d0 53 25 0d 04 a6 05 e1 0d 04 b0 05 3a 0d 04 ba 0c |S%.........:....| 000006e0 dd 20 f2 74 69 74 6c 65 0d 04 c4 08 e6 30 2c 37 |. .title.....0,7| 000006f0 0d 04 ce 21 3f 26 33 34 45 3d 26 36 38 20 82 20 |...!?&34E=&68 . | 00000700 3f 26 33 34 45 3a 3f 26 33 35 31 3d 3f 26 33 34 |?&34E:?&351=?&34| 00000710 45 0d 04 d8 0b f2 74 69 74 6c 65 32 0d 04 e2 21 |E.....title2...!| 00000720 3f 26 33 34 45 3d 26 36 38 20 82 20 3f 26 33 34 |?&34E=&68 . ?&34| 00000730 45 3a 3f 26 33 35 31 3d 3f 26 33 34 45 0d 04 ec |E:?&351=?&34E...| 00000740 0d dd 20 f2 74 69 74 6c 65 32 0d 04 f6 12 ec 30 |.. .title2.....0| 00000750 2c 33 32 3a df 31 32 38 30 2c 33 32 0d 05 00 1e |,32:.1280,32....| 00000760 f1 8a 30 2c 33 31 29 22 67 65 6e 65 72 61 74 69 |..0,31)"generati| 00000770 6f 6e 3a 22 3b 89 28 38 29 3b 0d 05 0a 05 e1 0d |on:";.(8);......| 00000780 05 14 05 3a 0d 05 1e 0a dd 20 f2 6f 70 74 0d 05 |...:..... .opt..| 00000790 28 11 f1 8a 31 31 2c 33 31 29 89 28 38 29 3b 0d |(...11,31).(8);.| 000007a0 05 32 0b fb 31 32 39 3a fb 32 0d 05 3c 17 e7 20 |.2..129:.2..<.. | 000007b0 43 25 20 f1 8a 31 31 2c 33 31 29 22 43 6f 6c 22 |C% ..11,31)"Col"| 000007c0 3b 0d 05 46 18 e7 20 53 25 20 f1 8a 31 35 2c 33 |;..F.. S% ..15,3| 000007d0 31 29 22 53 74 65 70 22 3b 0d 05 50 0b fb 31 32 |1)"Step";..P..12| 000007e0 38 3a fb 33 0d 05 5a 05 e1 0d 05 64 05 3a 0d 05 |8:.3..Z....d.:..| 000007f0 6e 0c dd 20 f2 72 65 6c 6f 63 0d 05 78 81 ff 28 |n.. .reloc..x..(| 00000800 22 4b 45 59 30 20 2a 54 41 50 45 7c 4d 20 46 25 |"KEY0 *TAPE|M F%| 00000810 3d 50 41 47 45 3a 54 25 3d 26 45 30 30 3a 3f 54 |=PAGE:T%=&E00:?T| 00000820 4f 50 3d 31 33 3a 52 45 50 45 41 54 20 24 54 25 |OP=13:REPEAT $T%| 00000830 3d 24 46 25 3a 4c 25 3d 4c 45 4e 24 54 25 2b 31 |=$F%:L%=LEN$T%+1| 00000840 3a 54 25 3d 54 25 2b 4c 25 3a 46 25 3d 46 25 2b |:T%=T%+L%:F%=F%+| 00000850 4c 25 3a 55 4e 54 49 4c 20 46 25 3e 54 4f 50 7c |L%:UNTIL F%>TOP|| 00000860 4d 20 50 41 47 45 3d 26 45 30 30 7c 4d 20 4f 4c |M PAGE=&E00|M OL| 00000870 44 7c 4d 20 52 55 4e 7c 4d 22 29 0d 05 82 16 ff |D|M RUN|M").....| 00000880 28 22 46 58 31 33 38 2c 30 2c 31 32 38 22 29 3a |("FX138,0,128"):| 00000890 e0 0d 05 8c 05 3a 0d 05 96 0a dd 20 f2 65 72 72 |.....:..... .err| 000008a0 0d 05 a0 09 ee 20 85 20 87 0d 05 aa 09 ef 32 32 |..... . ......22| 000008b0 2c 36 0d 05 b4 0b d3 3d 26 36 30 30 30 0d 05 be |,6.....=&6000...| 000008c0 0c 2a 46 58 32 31 34 2c 36 0d 05 c8 0e 2a 46 58 |.*FX214,6....*FX| 000008d0 32 31 33 2c 31 30 30 0d 05 d2 14 f6 3a f1 22 20 |213,100.....:." | 000008e0 61 74 20 6c 69 6e 65 20 22 3b 9e 0d 05 dc 05 e0 |at line ";......| 000008f0 0d 05 e6 05 3a 0d 05 f0 0f dd 20 f2 61 73 73 65 |....:..... .asse| 00000900 6d 62 6c 65 0d 05 fa 4f f4 20 26 34 46 20 54 4f |mble...O. &4F TO| 00000910 20 26 39 45 20 75 73 65 64 20 66 6f 72 20 64 61 | &9E used for da| 00000920 74 61 3b 20 74 68 69 73 20 61 6e 64 20 6f 74 68 |ta; this and oth| 00000930 65 72 20 6c 6f 63 61 74 69 6f 6e 73 20 62 65 6c |er locations bel| 00000940 6f 77 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 66 |ow temporarily f| 00000950 72 65 65 0d 06 04 0d 63 6f 75 6e 74 3d 26 34 46 |ree....count=&4F| 00000960 0d 06 0e 0e 73 74 61 74 75 73 3d 26 37 37 0d 06 |....status=&77..| 00000970 18 0b 73 63 72 3d 26 37 30 0d 06 22 0b 74 6f 70 |..scr=&70..".top| 00000980 3d 26 45 30 0d 06 2c 0b 6d 69 64 3d 26 46 35 0d |=&E0..,.mid=&F5.| 00000990 06 36 0b 62 6f 74 3d 26 46 37 0d 06 40 0c 63 65 |.6.bot=&F7..@.ce| 000009a0 6c 6c 3d 26 33 42 0d 06 4a 0b 72 6f 77 3d 26 46 |ll=&3B..J.row=&F| 000009b0 39 0d 06 54 0b 63 6f 6c 3d 26 31 43 0d 06 5e 0c |9..T.col=&1C..^.| 000009c0 74 65 6d 70 3d 26 31 44 0d 06 68 12 70 72 69 6e |temp=&1D..h.prin| 000009d0 74 5f 6e 6f 3d 26 39 39 31 46 0d 06 72 10 6f 73 |t_no=&991F..r.os| 000009e0 77 72 63 68 3d 26 46 46 45 45 0d 06 7c 05 3a 0d |wrch=&FFEE..|.:.| 000009f0 06 86 13 e3 20 70 61 73 73 3d 30 20 b8 20 32 20 |.... pass=0 . 2 | 00000a00 88 32 0d 06 90 0b 50 25 3d 26 41 30 30 0d 06 9a |.2....P%=&A00...| 00000a10 0d 5b 4f 50 54 20 70 61 73 73 0d 06 a4 0a 2e 62 |.[OPT pass.....b| 00000a20 72 65 65 64 0d 06 ae 30 5c 53 45 49 20 28 66 6f |reed...0\SEI (fo| 00000a30 72 20 73 70 65 65 64 29 20 6f 6e 6c 79 20 69 66 |r speed) only if| 00000a40 20 6e 6f 20 66 6c 61 73 68 69 6e 67 20 63 6f 6c | no flashing col| 00000a50 6f 75 72 73 0d 06 b8 0f 42 43 53 20 6e 6f 74 5f |ours....BCS not_| 00000a60 73 65 69 0d 06 c2 07 53 45 49 0d 06 cc 0c 2e 6e |sei....SEI.....n| 00000a70 6f 74 5f 73 65 69 0d 06 d6 12 5c 73 65 74 20 72 |ot_sei....\set r| 00000a80 6f 77 20 69 6e 64 65 78 0d 06 e0 0c 4c 44 58 20 |ow index....LDX | 00000a90 23 26 33 44 0d 06 ea 0b 53 54 58 20 72 6f 77 0d |#&3D....STX row.| 00000aa0 06 f4 05 3a 0d 06 fe 15 5c 68 69 20 6f 72 20 6c |...:....\hi or l| 00000ab0 6f 20 73 63 72 65 65 6e 3f 0d 07 08 0d 49 4e 43 |o screen?....INC| 00000ac0 20 69 6e 64 65 78 0d 07 12 0d 4c 44 41 20 69 6e | index....LDA in| 00000ad0 64 65 78 0d 07 1c 08 80 20 23 31 0d 07 26 0e 42 |dex..... #1..&.B| 00000ae0 45 51 20 68 69 5f 73 63 72 0d 07 30 05 3a 0d 07 |EQ hi_scr..0.:..| 00000af0 3a 49 5c 74 6f 70 2c 20 6d 69 64 2c 20 62 6f 74 |:I\top, mid, bot| 00000b00 20 70 6f 69 6e 74 20 74 6f 20 73 74 61 72 74 20 | point to start | 00000b10 6f 66 20 73 63 72 65 65 6e 20 72 6f 77 73 20 74 |of screen rows t| 00000b20 6f 20 67 65 74 20 63 6f 75 6e 74 20 6f 66 20 6f |o get count of o| 00000b30 6e 20 63 65 6c 6c 73 0d 07 44 0c 4c 44 58 20 23 |n cells..D.LDX #| 00000b40 26 38 34 0d 07 4e 0b 53 54 58 20 6d 69 64 0d 07 |&84..N.STX mid..| 00000b50 58 0c 4c 44 58 20 23 26 35 36 0d 07 62 0d 53 54 |X.LDX #&56..b.ST| 00000b60 58 20 6d 69 64 2b 31 0d 07 6c 0a 4c 44 58 20 23 |X mid+1..l.LDX #| 00000b70 30 0d 07 76 0b 53 54 58 20 62 6f 74 0d 07 80 0c |0..v.STX bot....| 00000b80 4c 44 58 20 23 26 33 31 0d 07 8a 0d 53 54 58 20 |LDX #&31....STX | 00000b90 62 6f 74 2b 31 0d 07 94 2d 5c 63 65 6c 6c 20 70 |bot+1...-\cell p| 00000ba0 6f 69 6e 74 73 20 74 6f 20 6f 74 68 65 72 20 73 |oints to other s| 00000bb0 63 72 65 65 6e 20 66 6f 72 20 70 6c 6f 74 74 69 |creen for plotti| 00000bc0 6e 67 0d 07 9e 0c 4c 44 58 20 23 26 42 43 0d 07 |ng....LDX #&BC..| 00000bd0 a8 0c 53 54 58 20 63 65 6c 6c 0d 07 b2 0c 4c 44 |..STX cell....LD| 00000be0 58 20 23 26 35 37 0d 07 bc 0e 53 54 58 20 63 65 |X #&57....STX ce| 00000bf0 6c 6c 2b 31 0d 07 c6 0e 53 54 58 20 63 65 6c 6c |ll+1....STX cell| 00000c00 2b 33 0d 07 d0 0e 53 54 58 20 63 65 6c 6c 2b 35 |+3....STX cell+5| 00000c10 0d 07 da 0e 42 4e 45 20 64 6f 5f 72 6f 77 0d 07 |....BNE do_row..| 00000c20 e4 05 3a 0d 07 ee 0b 2e 68 69 5f 73 63 72 0d 07 |..:.....hi_scr..| 00000c30 f8 0c 4c 44 58 20 23 26 38 34 0d 08 02 0b 53 54 |..LDX #&84....ST| 00000c40 58 20 6d 69 64 0d 08 0c 0c 4c 44 58 20 23 26 37 |X mid....LDX #&7| 00000c50 45 0d 08 16 0d 53 54 58 20 6d 69 64 2b 31 0d 08 |E....STX mid+1..| 00000c60 20 0a 4c 44 58 20 23 30 0d 08 2a 0b 53 54 58 20 | .LDX #0..*.STX | 00000c70 62 6f 74 0d 08 34 0c 4c 44 58 20 23 26 35 39 0d |bot..4.LDX #&59.| 00000c80 08 3e 0d 53 54 58 20 62 6f 74 2b 31 0d 08 48 0c |.>.STX bot+1..H.| 00000c90 4c 44 58 20 23 26 42 43 0d 08 52 0c 53 54 58 20 |LDX #&BC..R.STX | 00000ca0 63 65 6c 6c 0d 08 5c 0c 4c 44 58 20 23 26 32 46 |cell..\.LDX #&2F| 00000cb0 0d 08 66 0e 53 54 58 20 63 65 6c 6c 2b 31 0d 08 |..f.STX cell+1..| 00000cc0 70 0e 53 54 58 20 63 65 6c 6c 2b 33 0d 08 7a 0e |p.STX cell+3..z.| 00000cd0 53 54 58 20 63 65 6c 6c 2b 35 0d 08 84 05 3a 0d |STX cell+5....:.| 00000ce0 08 8e 0b 2e 64 6f 5f 72 6f 77 0d 08 98 3f 5c 6d |....do_row...?\m| 00000cf0 69 64 20 62 65 63 6f 6d 65 73 20 74 6f 70 2c 20 |id becomes top, | 00000d00 74 6f 70 20 62 65 63 6f 6d 65 73 20 62 6f 74 2c |top becomes bot,| 00000d10 20 62 6f 74 20 61 6e 64 20 63 65 6c 6c 20 69 6e | bot and cell in| 00000d20 63 72 65 6d 65 6e 74 65 64 0d 08 a2 0b 4c 44 58 |cremented....LDX| 00000d30 20 6d 69 64 0d 08 ac 0b 53 54 58 20 74 6f 70 0d | mid....STX top.| 00000d40 08 b6 0d 4c 44 58 20 6d 69 64 2b 31 0d 08 c0 0d |...LDX mid+1....| 00000d50 53 54 58 20 74 6f 70 2b 31 0d 08 ca 0b 4c 44 41 |STX top+1....LDA| 00000d60 20 62 6f 74 0d 08 d4 0b 53 54 41 20 6d 69 64 0d | bot....STA mid.| 00000d70 08 de 0d 4c 44 41 20 62 6f 74 2b 31 0d 08 e8 0d |...LDA bot+1....| 00000d80 53 54 41 20 6d 69 64 2b 31 0d 08 f2 05 3a 0d 08 |STA mid+1....:..| 00000d90 fc 0b 4c 44 41 20 72 6f 77 0d 09 06 08 80 20 23 |..LDA row..... #| 00000da0 31 0d 09 10 0c 42 4e 45 20 65 76 65 6e 0d 09 1a |1....BNE even...| 00000db0 05 3a 0d 09 24 0c 5c 6f 64 64 20 72 6f 77 0d 09 |.:..$.\odd row..| 00000dc0 2e 0e 44 45 43 20 63 65 6c 6c 2b 31 0d 09 38 0e |..DEC cell+1..8.| 00000dd0 44 45 43 20 63 65 6c 6c 2b 33 0d 09 42 0e 44 45 |DEC cell+3..B.DE| 00000de0 43 20 63 65 6c 6c 2b 35 0d 09 4c 0c 4c 44 41 20 |C cell+5..L.LDA | 00000df0 63 65 6c 6c 0d 09 56 07 43 4c 43 0d 09 60 0a 41 |cell..V.CLC..`.A| 00000e00 44 43 20 23 34 0d 09 6a 07 54 41 58 0d 09 74 0c |DC #4..j.TAX..t.| 00000e10 53 54 58 20 63 65 6c 6c 0d 09 7e 07 49 4e 58 0d |STX cell..~.INX.| 00000e20 09 88 0e 53 54 58 20 63 65 6c 6c 2b 32 0d 09 92 |...STX cell+2...| 00000e30 07 49 4e 58 0d 09 9c 0e 53 54 58 20 63 65 6c 6c |.INX....STX cell| 00000e40 2b 34 0d 09 a6 05 3a 0d 09 b0 0b 4c 44 41 20 72 |+4....:....LDA r| 00000e50 6f 77 0d 09 ba 10 42 45 51 20 6c 61 73 74 5f 72 |ow....BEQ last_r| 00000e60 6f 77 0d 09 c4 0b 4c 44 41 20 62 6f 74 0d 09 ce |ow....LDA bot...| 00000e70 07 43 4c 43 0d 09 d8 0c 41 44 43 20 23 26 33 43 |.CLC....ADC #&3C| 00000e80 0d 09 e2 0b 53 54 41 20 62 6f 74 0d 09 ec 0d 4c |....STA bot....L| 00000e90 44 41 20 62 6f 74 2b 31 0d 09 f6 0a 41 44 43 20 |DA bot+1....ADC | 00000ea0 23 31 0d 0a 00 0d 53 54 41 20 62 6f 74 2b 31 0d |#1....STA bot+1.| 00000eb0 0a 0a 10 4a 4d 50 20 6e 6f 74 5f 6c 61 73 74 0d |...JMP not_last.| 00000ec0 0a 14 05 3a 0d 0a 1e 09 2e 65 76 65 6e 0d 0a 28 |...:.....even..(| 00000ed0 0c 4c 44 41 20 63 65 6c 6c 0d 0a 32 07 43 4c 43 |.LDA cell..2.CLC| 00000ee0 0d 0a 3c 0c 41 44 43 20 23 26 33 43 0d 0a 46 0e |..<.ADC #&3C..F.| 00000ef0 42 43 43 20 6e 6f 74 69 6e 63 0d 0a 50 0e 49 4e |BCC notinc..P.IN| 00000f00 43 20 63 65 6c 6c 2b 31 0d 0a 5a 0e 49 4e 43 20 |C cell+1..Z.INC | 00000f10 63 65 6c 6c 2b 33 0d 0a 64 0e 49 4e 43 20 63 65 |cell+3..d.INC ce| 00000f20 6c 6c 2b 35 0d 0a 6e 0b 2e 6e 6f 74 69 6e 63 0d |ll+5..n..notinc.| 00000f30 0a 78 07 54 41 58 0d 0a 82 0c 53 54 58 20 63 65 |.x.TAX....STX ce| 00000f40 6c 6c 0d 0a 8c 07 49 4e 58 0d 0a 96 0e 53 54 58 |ll....INX....STX| 00000f50 20 63 65 6c 6c 2b 32 0d 0a a0 07 49 4e 58 0d 0a | cell+2....INX..| 00000f60 aa 0e 53 54 58 20 63 65 6c 6c 2b 34 0d 0a b4 05 |..STX cell+4....| 00000f70 3a 0d 0a be 0b 4c 44 41 20 62 6f 74 0d 0a c8 07 |:....LDA bot....| 00000f80 43 4c 43 0d 0a d2 0a 41 44 43 20 23 34 0d 0a dc |CLC....ADC #4...| 00000f90 0b 53 54 41 20 62 6f 74 0d 0a e6 10 42 43 43 20 |.STA bot....BCC | 00000fa0 6e 6f 74 5f 6c 61 73 74 0d 0a f0 05 3a 0d 0a fa |not_last....:...| 00000fb0 0d 2e 6c 61 73 74 5f 72 6f 77 0d 0b 04 0a 4c 44 |..last_row....LD| 00000fc0 58 20 23 30 0d 0b 0e 0b 53 54 58 20 62 6f 74 0d |X #0....STX bot.| 00000fd0 0b 18 0c 4c 44 58 20 23 26 35 39 0d 0b 22 0d 53 |...LDX #&59..".S| 00000fe0 54 58 20 62 6f 74 2b 31 0d 0b 2c 0d 4c 44 41 20 |TX bot+1..,.LDA | 00000ff0 69 6e 64 65 78 0d 0b 36 08 80 20 23 31 0d 0b 40 |index..6.. #1..@| 00001000 10 42 45 51 20 6e 6f 74 5f 6c 61 73 74 0d 0b 4a |.BEQ not_last..J| 00001010 0c 4c 44 58 20 23 26 33 31 0d 0b 54 0d 53 54 58 |.LDX #&31..T.STX| 00001020 20 62 6f 74 2b 31 0d 0b 5e 05 3a 0d 0b 68 0d 2e | bot+1..^.:..h..| 00001030 6e 6f 74 5f 6c 61 73 74 0d 0b 72 38 5c 63 6f 75 |not_last..r8\cou| 00001040 6e 74 20 68 6f 6c 64 73 20 73 75 6d 20 6f 66 20 |nt holds sum of | 00001050 6f 6e 20 63 65 6c 6c 73 20 61 62 6f 76 65 2b 62 |on cells above+b| 00001060 65 6c 6f 77 20 74 61 72 67 65 74 20 63 65 6c 6c |elow target cell| 00001070 0d 0b 7c 0a 4c 44 41 20 23 30 0d 0b 86 0d 53 54 |..|.LDA #0....ST| 00001080 41 20 63 6f 75 6e 74 0d 0b 90 0e 53 54 41 20 73 |A count....STA s| 00001090 74 61 74 75 73 0d 0b 9a 0f 53 54 41 20 63 6f 75 |tatus....STA cou| 000010a0 6e 74 2b 31 0d 0b a4 10 53 54 41 20 73 74 61 74 |nt+1....STA stat| 000010b0 75 73 2b 31 0d 0b ae 05 3a 0d 0b b8 5c 5c 63 6f |us+1....:...\\co| 000010c0 75 6e 74 20 67 65 74 73 20 64 61 74 61 20 66 6f |unt gets data fo| 000010d0 72 20 65 78 74 72 65 6d 65 20 72 69 67 68 74 20 |r extreme right | 000010e0 63 65 6c 6c 2c 20 63 6f 75 6e 74 2b 31 20 67 65 |cell, count+1 ge| 000010f0 74 73 20 64 61 74 61 20 66 6f 72 20 6c 65 66 74 |ts data for left| 00001100 6d 6f 73 74 20 28 66 6f 72 20 77 72 61 70 61 72 |most (for wrapar| 00001110 6f 75 6e 64 29 0d 0b c2 0c 4c 44 59 20 23 26 33 |ound)....LDY #&3| 00001120 38 0d 0b cc 0f 4c 44 41 20 28 74 6f 70 29 2c 59 |8....LDA (top),Y| 00001130 0d 0b d6 0d 42 50 4c 20 6f 76 65 72 31 0d 0b e0 |....BPL over1...| 00001140 0d 49 4e 43 20 63 6f 75 6e 74 0d 0b ea 0a 2e 6f |.INC count.....o| 00001150 76 65 72 31 0d 0b f4 0f 4c 44 41 20 28 6d 69 64 |ver1....LDA (mid| 00001160 29 2c 59 0d 0b fe 0d 42 50 4c 20 6f 76 65 72 32 |),Y....BPL over2| 00001170 0d 0c 08 0e 49 4e 43 20 73 74 61 74 75 73 0d 0c |....INC status..| 00001180 12 0a 2e 6f 76 65 72 32 0d 0c 1c 0f 4c 44 41 20 |...over2....LDA | 00001190 28 62 6f 74 29 2c 59 0d 0c 26 0d 42 50 4c 20 6f |(bot),Y..&.BPL o| 000011a0 76 65 72 33 0d 0c 30 0d 49 4e 43 20 63 6f 75 6e |ver3..0.INC coun| 000011b0 74 0d 0c 3a 0a 2e 6f 76 65 72 33 0d 0c 44 0d 44 |t..:..over3..D.D| 000011c0 45 43 20 74 6f 70 2b 31 0d 0c 4e 0d 44 45 43 20 |EC top+1..N.DEC | 000011d0 6d 69 64 2b 31 0d 0c 58 0d 44 45 43 20 62 6f 74 |mid+1..X.DEC bot| 000011e0 2b 31 0d 0c 62 0a 4c 44 59 20 23 30 0d 0c 6c 0f |+1..b.LDY #0..l.| 000011f0 4c 44 41 20 28 74 6f 70 29 2c 59 0d 0c 76 0d 42 |LDA (top),Y..v.B| 00001200 50 4c 20 6f 76 65 72 34 0d 0c 80 0f 49 4e 43 20 |PL over4....INC | 00001210 63 6f 75 6e 74 2b 31 0d 0c 8a 0a 2e 6f 76 65 72 |count+1.....over| 00001220 34 0d 0c 94 0f 4c 44 41 20 28 6d 69 64 29 2c 59 |4....LDA (mid),Y| 00001230 0d 0c 9e 0d 42 50 4c 20 6f 76 65 72 35 0d 0c a8 |....BPL over5...| 00001240 10 49 4e 43 20 73 74 61 74 75 73 2b 31 0d 0c b2 |.INC status+1...| 00001250 0a 2e 6f 76 65 72 35 0d 0c bc 0f 4c 44 41 20 28 |..over5....LDA (| 00001260 62 6f 74 29 2c 59 0d 0c c6 0d 42 50 4c 20 6f 76 |bot),Y....BPL ov| 00001270 65 72 36 0d 0c d0 0f 49 4e 43 20 63 6f 75 6e 74 |er6....INC count| 00001280 2b 31 0d 0c da 0a 2e 6f 76 65 72 36 0d 0c e4 15 |+1.....over6....| 00001290 5c 73 65 74 20 63 6f 6c 75 6d 6e 20 69 6e 64 65 |\set column inde| 000012a0 78 0d 0c ee 0c 4c 44 41 20 23 26 32 36 0d 0c f8 |x....LDA #&26...| 000012b0 0b 53 54 41 20 63 6f 6c 0d 0d 02 05 3a 0d 0d 0c |.STA col....:...| 000012c0 0b 4c 44 41 20 74 6f 70 0d 0d 16 0f 53 54 41 20 |.LDA top....STA | 000012d0 6f 76 65 72 37 2b 31 0d 0d 20 0d 4c 44 41 20 74 |over7+1.. .LDA t| 000012e0 6f 70 2b 31 0d 0d 2a 0f 53 54 41 20 6f 76 65 72 |op+1..*.STA over| 000012f0 37 2b 32 0d 0d 34 0b 4c 44 41 20 6d 69 64 0d 0d |7+2..4.LDA mid..| 00001300 3e 0f 53 54 41 20 6f 76 65 72 38 2b 31 0d 0d 48 |>.STA over8+1..H| 00001310 0d 4c 44 41 20 6d 69 64 2b 31 0d 0d 52 0f 53 54 |.LDA mid+1..R.ST| 00001320 41 20 6f 76 65 72 38 2b 32 0d 0d 5c 0b 4c 44 41 |A over8+2..\.LDA| 00001330 20 62 6f 74 0d 0d 66 0f 53 54 41 20 6f 76 65 72 | bot..f.STA over| 00001340 39 2b 31 0d 0d 70 0d 4c 44 41 20 62 6f 74 2b 31 |9+1..p.LDA bot+1| 00001350 0d 0d 7a 0f 53 54 41 20 6f 76 65 72 39 2b 32 0d |..z.STA over9+2.| 00001360 0d 84 05 3a 0d 0d 8e 0d 49 4e 43 20 74 6f 70 2b |...:....INC top+| 00001370 31 0d 0d 98 0d 49 4e 43 20 6d 69 64 2b 31 0d 0d |1....INC mid+1..| 00001380 a2 0d 49 4e 43 20 62 6f 74 2b 31 0d 0d ac 0a 4c |..INC bot+1....L| 00001390 44 58 20 23 31 0d 0d b6 05 3a 0d 0d c0 0c 2e 64 |DX #1....:.....d| 000013a0 6f 5f 63 65 6c 6c 0d 0d ca 1a 5c 38 20 62 79 74 |o_cell....\8 byt| 000013b0 65 73 20 62 65 74 77 65 65 6e 20 63 65 6c 6c 73 |es between cells| 000013c0 0d 0d d4 10 4c 44 59 20 74 69 6d 65 73 38 2c 58 |....LDY times8,X| 000013d0 0d 0d de 0d 42 4e 45 20 68 69 5f 6f 6b 0d 0d e8 |....BNE hi_ok...| 000013e0 0e 49 4e 43 20 63 65 6c 6c 2b 31 0d 0d f2 0e 49 |.INC cell+1....I| 000013f0 4e 43 20 63 65 6c 6c 2b 33 0d 0d fc 0e 49 4e 43 |NC cell+3....INC| 00001400 20 63 65 6c 6c 2b 35 0d 0e 06 0f 49 4e 43 20 6f | cell+5....INC o| 00001410 76 65 72 37 2b 32 0d 0e 10 0f 49 4e 43 20 6f 76 |ver7+2....INC ov| 00001420 65 72 38 2b 32 0d 0e 1a 0f 49 4e 43 20 6f 76 65 |er8+2....INC ove| 00001430 72 39 2b 32 0d 0e 24 05 3a 0d 0e 2e 0a 2e 68 69 |r9+2..$.:.....hi| 00001440 5f 6f 6b 0d 0e 38 07 49 4e 58 0d 0e 42 0a 4c 44 |_ok..8.INX..B.LD| 00001450 41 20 23 30 0d 0e 4c 0f 53 54 41 20 63 6f 75 6e |A #0..L.STA coun| 00001460 74 2c 58 0d 0e 56 10 53 54 41 20 73 74 61 74 75 |t,X..V.STA statu| 00001470 73 2c 58 0d 0e 60 07 43 4c 43 0d 0e 6a 05 3a 0d |s,X..`.CLC..j.:.| 00001480 0e 74 0a 2e 6f 76 65 72 37 0d 0e 7e 0f 4c 44 41 |.t..over7..~.LDA| 00001490 20 26 46 46 46 46 2c 59 0d 0e 88 1e 5c 63 6f 6c | &FFFF,Y....\col| 000014a0 6f 75 72 73 20 32 20 61 6e 64 20 33 20 73 69 67 |ours 2 and 3 sig| 000014b0 6e 69 66 79 20 ee 0d 0e 92 0d 42 50 4c 20 6f 76 |nify .....BPL ov| 000014c0 65 72 38 0d 0e 9c 0f 49 4e 43 20 63 6f 75 6e 74 |er8....INC count| 000014d0 2c 58 0d 0e a6 0a 2e 6f 76 65 72 38 0d 0e b0 0f |,X.....over8....| 000014e0 4c 44 41 20 26 46 46 46 46 2c 59 0d 0e ba 0d 42 |LDA &FFFF,Y....B| 000014f0 50 4c 20 6f 76 65 72 39 0d 0e c4 10 49 4e 43 20 |PL over9....INC | 00001500 73 74 61 74 75 73 2c 58 0d 0e ce 07 53 45 43 0d |status,X....SEC.| 00001510 0e d8 0a 2e 6f 76 65 72 39 0d 0e e2 0f 4c 44 41 |....over9....LDA| 00001520 20 26 46 46 46 46 2c 59 0d 0e ec 11 42 50 4c 20 | &FFFF,Y....BPL | 00001530 67 65 74 5f 63 6f 75 6e 74 0d 0e f6 0f 49 4e 43 |get_count....INC| 00001540 20 63 6f 75 6e 74 2c 58 0d 0f 00 05 3a 0d 0f 0a | count,X....:...| 00001550 0e 2e 67 65 74 5f 63 6f 75 6e 74 0d 0f 14 0f 4c |..get_count....L| 00001560 44 41 20 63 6f 75 6e 74 2c 58 0d 0f 1e 11 41 44 |DA count,X....AD| 00001570 43 20 63 6f 75 6e 74 2d 31 2c 58 0d 0f 28 11 41 |C count-1,X..(.A| 00001580 44 43 20 63 6f 75 6e 74 2d 32 2c 58 0d 0f 32 12 |DC count-2,X..2.| 00001590 41 44 43 20 73 74 61 74 75 73 2d 32 2c 58 0d 0f |ADC status-2,X..| 000015a0 3c 05 3a 0d 0f 46 0e 2e 6f 6e 5f 6f 72 5f 6f 66 |<.:..F..on_or_of| 000015b0 66 0d 0f 50 0c 53 54 41 20 74 65 6d 70 0d 0f 5a |f..P.STA temp..Z| 000015c0 11 84 41 20 73 74 61 74 75 73 2d 31 2c 58 0d 0f |..A status-1,X..| 000015d0 64 0f 84 41 20 28 63 65 6c 6c 29 2c 59 0d 0f 6e |d..A (cell),Y..n| 000015e0 0f 42 45 51 20 63 65 6c 6c 5f 6f 6b 0d 0f 78 0c |.BEQ cell_ok..x.| 000015f0 4c 44 41 20 74 65 6d 70 0d 0f 82 10 42 45 51 20 |LDA temp....BEQ | 00001600 74 75 72 6e 5f 6f 66 66 0d 0f 8c 0a 43 4d 50 20 |turn_off....CMP | 00001610 23 32 0d 0f 96 10 42 43 43 20 74 75 72 6e 5f 6f |#2....BCC turn_o| 00001620 66 66 0d 0f a0 14 42 4e 45 20 6e 6f 74 5f 6d 61 |ff....BNE not_ma| 00001630 69 6e 74 61 69 6e 0d 0f aa 12 4c 44 41 20 73 74 |intain....LDA st| 00001640 61 74 75 73 2d 31 2c 58 0d 0f b4 11 42 45 51 20 |atus-1,X....BEQ | 00001650 70 6c 6f 74 5f 63 65 6c 6c 0d 0f be 10 2e 6d 61 |plot_cell.....ma| 00001660 69 6e 74 61 69 6e 5f 6f 6e 0d 0f c8 0c 4c 44 41 |intain_on....LDA| 00001670 20 23 26 45 45 0d 0f d2 11 42 4e 45 20 70 6c 6f | #&EE....BNE plo| 00001680 74 5f 63 65 6c 6c 0d 0f dc 05 3a 0d 0f e6 11 2e |t_cell....:.....| 00001690 6e 6f 74 5f 6d 61 69 6e 74 61 69 6e 0d 0f f0 0a |not_maintain....| 000016a0 43 4d 50 20 23 33 0d 0f fa 0f 42 45 51 20 74 75 |CMP #3....BEQ tu| 000016b0 72 6e 5f 6f 6e 0d 10 04 0d 2e 74 75 72 6e 5f 6f |rn_on.....turn_o| 000016c0 66 66 0d 10 0e 1d 5c 69 66 20 61 6c 72 65 61 64 |ff....\if alread| 000016d0 79 20 6f 66 66 2c 20 63 6f 6c 6f 75 72 20 30 0d |y off, colour 0.| 000016e0 10 18 12 4c 44 41 20 73 74 61 74 75 73 2d 31 2c |...LDA status-1,| 000016f0 58 0d 10 22 11 42 45 51 20 70 6c 6f 74 5f 63 65 |X..".BEQ plot_ce| 00001700 6c 6c 0d 10 2c 0d 5c 63 6f 6c 6f 75 72 20 31 0d |ll..,.\colour 1.| 00001710 10 36 0c 4c 44 41 20 23 26 30 45 0d 10 40 11 42 |.6.LDA #&0E..@.B| 00001720 4e 45 20 70 6c 6f 74 5f 63 65 6c 6c 0d 10 4a 0c |NE plot_cell..J.| 00001730 2e 74 75 72 6e 5f 6f 6e 0d 10 54 12 4c 44 41 20 |.turn_on..T.LDA | 00001740 73 74 61 74 75 73 2d 31 2c 58 0d 10 5e 13 42 4e |status-1,X..^.BN| 00001750 45 20 6d 61 69 6e 74 61 69 6e 5f 6f 6e 0d 10 68 |E maintain_on..h| 00001760 0c 4c 44 41 20 23 26 45 30 0d 10 72 05 3a 0d 10 |.LDA #&E0..r.:..| 00001770 7c 0e 2e 70 6c 6f 74 5f 63 65 6c 6c 0d 10 86 10 ||..plot_cell....| 00001780 43 4d 50 20 28 63 65 6c 6c 29 2c 59 0d 10 90 0f |CMP (cell),Y....| 00001790 42 45 51 20 63 65 6c 6c 5f 6f 6b 0d 10 9a 10 53 |BEQ cell_ok....S| 000017a0 54 41 20 28 63 65 6c 6c 29 2c 59 0d 10 a4 12 53 |TA (cell),Y....S| 000017b0 54 41 20 28 63 65 6c 6c 2b 32 29 2c 59 0d 10 ae |TA (cell+2),Y...| 000017c0 12 53 54 41 20 28 63 65 6c 6c 2b 34 29 2c 59 0d |.STA (cell+4),Y.| 000017d0 10 b8 05 3a 0d 10 c2 0c 2e 63 65 6c 6c 5f 6f 6b |...:.....cell_ok| 000017e0 0d 10 cc 0b 44 45 43 20 63 6f 6c 0d 10 d6 0f 42 |....DEC col....B| 000017f0 4e 45 20 64 6f 5f 63 65 6c 6c 0d 10 e0 05 3a 0d |NE do_cell....:.| 00001800 10 ea 15 5c 70 65 6e 75 6c 74 69 6d 61 74 65 20 |...\penultimate | 00001810 63 65 6c 6c 0d 10 f4 0c 43 50 59 20 23 26 33 38 |cell....CPY #&38| 00001820 0d 10 fe 11 42 45 51 20 6c 61 73 74 5f 63 65 6c |....BEQ last_cel| 00001830 6c 0d 11 08 12 42 43 53 20 65 6e 64 5f 6f 66 5f |l....BCS end_of_| 00001840 72 6f 77 0d 11 12 07 49 4e 58 0d 11 1c 0b 49 4e |row....INX....IN| 00001850 43 20 63 6f 6c 0d 11 26 0c 4c 44 59 20 23 26 33 |C col..&.LDY #&3| 00001860 38 0d 11 30 07 43 4c 43 0d 11 3a 10 4c 44 41 20 |8..0.CLC..:.LDA | 00001870 63 6f 75 6e 74 2b 33 38 0d 11 44 11 41 44 43 20 |count+38..D.ADC | 00001880 73 74 61 74 75 73 2b 33 38 0d 11 4e 10 41 44 43 |status+38..N.ADC| 00001890 20 63 6f 75 6e 74 2b 33 39 0d 11 58 0d 41 44 43 | count+39..X.ADC| 000018a0 20 63 6f 75 6e 74 0d 11 62 0e 41 44 43 20 73 74 | count..b.ADC st| 000018b0 61 74 75 73 0d 11 6c 11 42 50 4c 20 6f 6e 5f 6f |atus..l.BPL on_o| 000018c0 72 5f 6f 66 66 0d 11 76 05 3a 0d 11 80 0e 2e 6c |r_off..v.:.....l| 000018d0 61 73 74 5f 63 65 6c 6c 0d 11 8a 0a 4c 44 58 20 |ast_cell....LDX | 000018e0 23 31 0d 11 94 0b 49 4e 43 20 63 6f 6c 0d 11 9e |#1....INC col...| 000018f0 0c 4c 44 59 20 23 26 34 30 0d 11 a8 07 43 4c 43 |.LDY #&40....CLC| 00001900 0d 11 b2 10 4c 44 41 20 63 6f 75 6e 74 2b 33 39 |....LDA count+39| 00001910 0d 11 bc 11 41 44 43 20 73 74 61 74 75 73 2b 33 |....ADC status+3| 00001920 39 0d 11 c6 0d 41 44 43 20 63 6f 75 6e 74 0d 11 |9....ADC count..| 00001930 d0 0f 41 44 43 20 63 6f 75 6e 74 2b 31 0d 11 da |..ADC count+1...| 00001940 10 41 44 43 20 73 74 61 74 75 73 2b 31 0d 11 e4 |.ADC status+1...| 00001950 11 42 50 4c 20 6f 6e 5f 6f 72 5f 6f 66 66 0d 11 |.BPL on_or_off..| 00001960 ee 05 3a 0d 11 f8 0f 2e 65 6e 64 5f 6f 66 5f 72 |..:.....end_of_r| 00001970 6f 77 0d 12 02 0b 44 45 43 20 72 6f 77 0d 12 0c |ow....DEC row...| 00001980 15 42 4d 49 20 65 6e 64 5f 6f 66 5f 73 63 72 65 |.BMI end_of_scre| 00001990 65 6e 0d 12 16 0e 4a 4d 50 20 64 6f 5f 72 6f 77 |en....JMP do_row| 000019a0 0d 12 20 05 3a 0d 12 2a 12 2e 65 6e 64 5f 6f 66 |.. .:..*..end_of| 000019b0 5f 73 63 72 65 65 6e 0d 12 34 0d 4c 44 41 20 69 |_screen..4.LDA i| 000019c0 6e 64 65 78 0d 12 3e 08 80 20 23 31 0d 12 48 11 |ndex..>.. #1..H.| 000019d0 42 4e 45 20 68 69 5f 73 63 72 65 65 6e 0d 12 52 |BNE hi_screen..R| 000019e0 05 3a 0d 12 5c 0c 4c 44 41 20 23 26 31 38 0d 12 |.:..\.LDA #&18..| 000019f0 66 0c 4c 44 58 20 23 26 33 30 0d 12 70 14 42 4e |f.LDX #&30..p.BN| 00001a00 45 20 73 63 72 65 65 6e 5f 70 61 72 61 73 0d 12 |E screen_paras..| 00001a10 7a 05 3a 0d 12 84 0e 2e 68 69 5f 73 63 72 65 65 |z.:.....hi_scree| 00001a20 6e 0d 12 8e 0c 4c 44 41 20 23 26 32 43 0d 12 98 |n....LDA #&2C...| 00001a30 0c 4c 44 58 20 23 26 35 38 0d 12 a2 11 2e 73 63 |.LDX #&58.....sc| 00001a40 72 65 65 6e 5f 70 61 72 61 73 0d 12 ac 0d 53 54 |reen_paras....ST| 00001a50 41 20 26 46 45 30 33 0d 12 b6 0c 53 54 58 20 26 |A &FE03....STX &| 00001a60 33 34 45 0d 12 c0 0c 53 54 58 20 26 33 35 31 0d |34E....STX &351.| 00001a70 12 ca 27 5c 70 72 69 6e 74 20 67 65 6e 65 72 61 |..'\print genera| 00001a80 74 69 6f 6e 20 6e 75 6d 62 65 72 20 61 74 20 8a |tion number at .| 00001a90 31 32 2c 33 31 29 0d 12 d4 0b 4c 44 41 20 23 33 |12,31)....LDA #3| 00001aa0 31 0d 12 de 0e 4a 53 52 20 6f 73 77 72 63 68 0d |1....JSR oswrch.| 00001ab0 12 e8 0b 4c 44 41 20 23 31 32 0d 12 f2 0e 4a 53 |...LDA #12....JS| 00001ac0 52 20 6f 73 77 72 63 68 0d 12 fc 0b 4c 44 41 20 |R oswrch....LDA | 00001ad0 23 33 31 0d 13 06 0e 4a 53 52 20 6f 73 77 72 63 |#31....JSR oswrc| 00001ae0 68 0d 13 10 0b 4c 44 41 20 67 65 6e 0d 13 1a 0b |h....LDA gen....| 00001af0 53 54 41 20 26 32 41 0d 13 24 0d 4c 44 41 20 67 |STA &2A..$.LDA g| 00001b00 65 6e 2b 31 0d 13 2e 0b 53 54 41 20 26 32 42 0d |en+1....STA &2B.| 00001b10 13 38 10 4a 53 52 20 70 72 69 6e 74 5f 6e 6f 0d |.8.JSR print_no.| 00001b20 13 42 05 3a 0d 13 4c 0b 49 4e 43 20 67 65 6e 0d |.B.:..L.INC gen.| 00001b30 13 56 0b 42 4e 45 20 63 6c 69 0d 13 60 0d 49 4e |.V.BNE cli..`.IN| 00001b40 43 20 67 65 6e 2b 31 0d 13 6a 08 2e 63 6c 69 0d |C gen+1..j..cli.| 00001b50 13 74 07 43 4c 49 0d 13 7e 07 52 54 53 0d 13 88 |.t.CLI..~.RTS...| 00001b60 05 3a 0d 13 92 09 2e 67 72 69 64 0d 13 9c 1a 5c |.:.....grid....\| 00001b70 67 72 69 64 20 66 6f 72 20 65 64 69 74 20 72 6f |grid for edit ro| 00001b80 75 74 69 6e 65 0d 13 a6 0a 4c 44 59 20 23 30 0d |utine....LDY #0.| 00001b90 13 b0 0a 2e 67 6c 6f 6f 70 0d 13 ba 07 54 59 41 |....gloop....TYA| 00001ba0 0d 13 c4 08 80 20 23 33 0d 13 ce 0a 43 4d 50 20 |..... #3....CMP | 00001bb0 23 33 0d 13 d8 0c 42 4e 45 20 73 6b 69 70 0d 13 |#3....BNE skip..| 00001bc0 e2 07 54 58 41 0d 13 ec 0b 4a 4d 50 20 73 74 61 |..TXA....JMP sta| 00001bd0 0d 13 f6 09 2e 73 6b 69 70 0d 14 00 0f 4c 44 41 |.....skip....LDA| 00001be0 20 28 73 63 72 29 2c 59 0d 14 0a 0a 80 20 23 26 | (scr),Y..... #&| 00001bf0 46 30 0d 14 14 0d 42 45 51 20 73 6b 69 70 32 0d |F0....BEQ skip2.| 00001c00 14 1e 0c 4c 44 41 20 23 26 45 45 0d 14 28 0a 2e |...LDA #&EE..(..| 00001c10 73 6b 69 70 32 0d 14 32 0c 43 50 58 20 23 26 30 |skip2..2.CPX #&0| 00001c20 46 0d 14 3c 0a 41 44 43 20 23 30 0d 14 46 08 2e |F..<.ADC #0..F..| 00001c30 73 74 61 0d 14 50 0f 53 54 41 20 28 73 63 72 29 |sta..P.STA (scr)| 00001c40 2c 59 0d 14 5a 0c 43 50 59 20 23 26 42 46 0d 14 |,Y..Z.CPY #&BF..| 00001c50 64 0b 42 4e 45 20 67 6f 76 0d 14 6e 0d 4c 44 41 |d.BNE gov..n.LDA| 00001c60 20 73 63 72 2b 31 0d 14 78 0c 43 4d 50 20 23 26 | scr+1..x.CMP #&| 00001c70 37 45 0d 14 82 0b 42 45 51 20 63 6c 69 0d 14 8c |7E....BEQ cli...| 00001c80 0c 43 4d 50 20 23 26 35 36 0d 14 96 0b 42 45 51 |.CMP #&56....BEQ| 00001c90 20 63 6c 69 0d 14 a0 08 2e 67 6f 76 0d 14 aa 07 | cli.....gov....| 00001ca0 49 4e 59 0d 14 b4 0d 42 4e 45 20 67 6c 6f 6f 70 |INY....BNE gloop| 00001cb0 0d 14 be 0d 49 4e 43 20 73 63 72 2b 31 0d 14 c8 |....INC scr+1...| 00001cc0 0d 42 50 4c 20 67 6c 6f 6f 70 0d 14 d2 05 3a 0d |.BPL gloop....:.| 00001cd0 14 dc 0a 2e 69 6e 64 65 78 0d 14 e6 0c 45 51 55 |....index....EQU| 00001ce0 42 20 26 46 46 0d 14 f0 08 2e 67 65 6e 0d 14 fa |B &FF.....gen...| 00001cf0 0a 45 51 55 44 20 30 0d 15 04 0b 2e 74 69 6d 65 |.EQUD 0.....time| 00001d00 73 38 0d 15 0e 09 5d 3a ed 3a e1 0d ff |s8....]:.:...| 00001d0d