Home » Archimedes archive » Acorn Computing » 1994 05 subscription disc.adf » 9405s » BeebDisk/ManSrc2

BeebDisk/ManSrc2

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 » Archimedes archive » Acorn Computing » 1994 05 subscription disc.adf » 9405s
Filename: BeebDisk/ManSrc2
Read OK:
File size: 3321 bytes
Load address: 0000
Exec address: 0000
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM Ultibrot rig
   20REM by Andrew Bennett
   30REM (c) Acorn Computing
   40:
   50dest%=&1100:zp%=0
   60exclus_zp%=&60
   70:
   80basex=-2:basey=-1.4:bases=2.8
   90basesteps=32:basesize=128
  100:
  110mand_draw=dest%
  120:
  130oswrch=&FFEE
  140osrdch=&FFE0
  150osbyte=&FFF4
  160oscli=&FFF7
  170osword=&FFF1
  180osfile=&FFDD
  190:
  200mansize=&70
  210val_start=&71
  220x=&72
  230y=&76
  240s=&7A
  250:
  260box_x=zp%
  270box_y=box_x+1
  280box_s=box_y+1
  290old_x=box_s+1
  300old_y=old_x+4
  310old_s=old_y+4
  320print_zp=old_s+4
  330print_count=print_zp+2
  340num_temp1=print_zp
  350num_temp2=num_temp1+4
  360num_digits=num_temp2+4
  370draw_x1=print_zp
  380draw_x2=draw_x1+2
  390draw_y1=draw_x2+2
  400draw_y2=draw_y1+2
  410new_box_x=draw_y2+2
  420new_box_y=new_box_x+1
  430new_box_s=new_box_y+1
  440box_count1=new_box_s+1
  450box_shift=box_count1+1
  460other_count1=exclus_zp%
  470other_relay=other_count1+1
  480other_term=other_relay+2
  490:
  500filename=&400
  510:
  520DIM code% &2000,bl% 18,str% 20
  530$str%="ManCde"
  540!bl%=str%
  550bl%!2=code%
  560bl%?6=0
  570A%=&FF:X%=bl%:Y%=bl% DIV 256
  580CALL &FFDD
  590:
  600FOR opt%=4 TO 6 STEP 2
  610P%=dest%+bl%!10
  620O%=code%+bl%!10
  630[OPT opt%
  640.ultibrot
  650JSR setup
  660.ultibrot_loop1
  670JSR showlegend
  680LDA #0
  690STA box_x
  700STA box_y
  710LDA #128
  720STA box_s
  730JSR showinfo
  740JSR showbox
  750.ultibrot_loop2
  760BIT &FF
  770BMI ultibrot_exit
  780JSR boxcontrol
  790JSR othercontrol
  800CMP #0
  810BEQ ultibrot_loop2
  820CMP #1
  830BEQ ultibrot_loop1
  840.ultibrot_exit
  850LDA #22
  860JSR oswrch
  870LDA #7
  880JSR oswrch
  890LDA #21
  900LDX #0
  910JSR osbyte
  920LDX #basic MOD 256
  930LDY #basic DIV 256
  940JMP oscli
  950:
  960.basic EQUS "BASIC"+CHR$13
  970:
  980.setup
  990JSR print
 1000EQUW setup_tend-setup_tst
 1010.setup_tst
 1020OPT FNmode(1)
 1030OPT FNsetpal(1,4)
 1040OPT FNsetpal(2,5)
 1050OPT FNsetpal(3,6)
 1060OPT FNtextwin(32,31,39,0)
 1070OPT FNchardef(0,10,32,0,0,0,0,0,0)
 1080.setup_tend
 1090:
 1100.basebrot
 1110LDA #basesteps
 1120STA val_start
 1130LDA #basesize
 1140STA mansize
 1150LDX #11
 1160.basebrot_loop1
 1170LDA basexys,X
 1180STA x,X
 1190DEX
 1200BPL basebrot_loop1
 1210:
 1220.gen_mand
 1230SEC
 1240LDA #1
 1250SBC val_start
 1260STA val_start
 1270JSR mand_draw
 1280SEC
 1290LDA #1
 1300SBC val_start
 1310STA val_start
 1320LDX #11
 1330.gen_mand_loop1
 1340LDA x,X
 1350STA old_x,X
 1360DEX
 1370BPL gen_mand_loop1
 1380RTS
 1390:
 1400.basexys
 1410EQUD basex*2^27
 1420EQUD basey*2^27
 1430EQUD bases*2^27
 1440:
 1450.showlegend
 1460JSR print
 1470EQUW showl_tend-showl_tst
 1480.showl_tst
 1490OPT FNcls
 1500OPT FNtab(0,0):EQUS "Display"
 1510OPT FNtab(1,1):EQUS "x="
 1520OPT FNtab(1,4):EQUS "y="
 1530OPT FNtab(1,7):EQUS "s="
 1540OPT FNtab(0,11):EQUS "Box"
 1550OPT FNtab(1,12):EQUS "x="
 1560OPT FNtab(1,15):EQUS "y="
 1570OPT FNtab(1,18):EQUS "s="
 1580OPT FNtab(0,22):EQUS "Stp  Pix"
 1590OPT FNtab(0,25):EQUS "B   Base"
 1600OPT FNtab(0,26):EQUS "RET Plot"
 1610OPT FNtab(0,28):EQUS "S   Save"
 1620OPT FNtab(0,29):EQUS "Q   Quit"
 1630OPT FNtab(0,2)
 1640.showl_tend
 1650LDX #old_x
 1660JSR printnum
 1670LDX #0
 1680LDY #5
 1690JSR tab
 1700LDX #old_y
 1710JSR printnum
 1720LDX #0
 1730LDY #8
 1740JSR tab
 1750LDX #old_s
 1760:
 1770.printnum
 1780LDY #3
 1790.pnum_loop1
 1800LDA 0,X
 1810STA num_temp1,Y
 1820INX
 1830DEY
 1840BPL pnum_loop1
 1850LDA num_temp1
 1860BPL pnum_plus
 1870LDA #ASC"-"
 1880JSR oswrch
 1890SEC
 1900LDX #3
 1910.pnum_loop2
 1920LDA #0
 1930SBC num_temp1,X
 1940STA num_temp1,X
 1950DEX
 1960BPL pnum_loop2
 1970.pnum_plus
 1980JSR pnum_pdig
 1990BEQ pnum_exit
 2000LDA #ASC"."
 2010JSR oswrch
 2020LDA #8
 2030STA num_digits
 2040.pnum_loop3
 2050JSR pnum_times10
 2060JSR pnum_pdig
 2070BEQ pnum_exit
 2080DEC num_digits
 2090BNE pnum_loop3
 2100.pnum_exit
 2110RTS
 2120:
 2130.pnum_pdig
 2140LDA num_temp1
 2150LSR A
 2160LSR A
 2170LSR A
 2180CLC
 2190ADC #ASC"0"
 2200JSR oswrch
 2210LDA num_temp1
 2220AND #7
 2230STA num_temp1
 2240ORA num_temp1+1
 2250ORA num_temp1+2
 2260ORA num_temp1+3
 2270RTS
 2280:
 2290.pnum_times10
 2300CLC
 2310LDX #3
 2320.pnum_t10_loop1
 2330ROL num_temp1,X
 2340LDA num_temp1,X
 2350STA num_temp2,X
 2360DEX
 2370BPL pnum_t10_loop1
 2380LDX #2
 2390.pnum_t10_loop2
 2400ASL num_temp1+3
 2410ROL num_temp1+2
 2420ROL num_temp1+1
 2430ROL num_temp1
 2440DEX
 2450BNE pnum_t10_loop2
 2460CLC
 2470LDX #3
 2480.pnum_t10_loop3
 2490LDA num_temp1,X
 2500ADC num_temp2,X
 2510STA num_temp1,X
 2520DEX
 2530BPL pnum_t10_loop3
 2540RTS
 2550:
 2560.showinfo
 2570JSR show_boxxys
 2580:
 2590.show_stppix
 2600LDX #0
 2610LDY #23
 2620JSR tab
 2630LDX #0
 2640LDA val_start
 2650BNE stppix_ninc1
 2660INX
 2670.stppix_ninc1
 2680JSR pdec
 2690LDX #5
 2700LDY #23
 2710JSR tab
 2720LDX #0
 2730LDA mansize
 2740:
 2750.pdec
 2760STA num_temp1
 2770STX num_temp1+1
 2780LDY #0
 2790.pdec_loop1
 2800LDA #0
 2810LDX #16
 2820.pdec_loop2
 2830ASL num_temp1
 2840ROL num_temp1+1
 2850ROL A
 2860CMP #10
 2870BCC pdec_nosub
 2880SBC #10
 2890INC num_temp1
 2900.pdec_nosub
 2910DEX
 2920BNE pdec_loop2
 2930PHA
 2940INY
 2950LDA num_temp1
 2960ORA num_temp1+1
 2970BNE pdec_loop1
 2980TYA
 2990EOR #&FF
 3000CLC
 3010ADC #4
 3020BEQ pdec_loop4
 3030TAX
 3040LDA #ASC" "
 3050.pdec_loop3
 3060JSR oswrch
 3070DEX
 3080BNE pdec_loop3
 3090.pdec_loop4
 3100PLA
 3110CLC
 3120ADC #ASC"0"
 3130JSR oswrch
 3140DEY
 3150BNE pdec_loop4
 3160RTS
 3170:
 3180.show_boxxys
 3190JSR print
 3200EQUW showinfo_tend-showinfo_tst
 3210.showinfo_tst
 3220OPT FNtab(0,13):EQUS STRING$(16," ")
 3230OPT FNtab(0,16):EQUS STRING$(16," ")
 3240OPT FNtab(0,19):EQUS STRING$(16," ")
 3250OPT FNtab(0,13)
 3260.showinfo_tend
 3270JSR calc_newxys
 3280LDX #x
 3290JSR printnum
 3300LDX #0
 3310LDY #16
 3320JSR tab
 3330LDX #y
 3340JSR printnum
 3350LDX #0
 3360LDY #19
 3370JSR tab
 3380LDX #s
 3390JMP printnum
 3400:
 3410.calc_newxys
 3420LDA box_x
 3430JSR calc_new_mult
 3440LDX #x-x
 3450JSR calc_new_add
 3460LDA box_y
 3470JSR calc_new_mult
 3480LDX #y-x
 3490JSR calc_new_add
 3500LDA box_s
 3510JSR calc_new_mult
 3520LDX #3
 3530.calc_new_loop1
 3540LDA num_temp1,X
 3550STA s,X
 3560DEX
 3570BPL calc_new_loop1
 3580RTS
 3590:
 3600.calc_new_mult
 3610STA num_temp2+1
 3620LDA #0
 3630STA num_temp2
 3640STA num_temp1
 3650STA num_temp1+1
 3660STA num_temp1+2
 3670STA num_temp1+3
 3680LDX #8
 3690.calc_mult_loop1
 3700ASL num_temp2+1
 3710BCC calc_mult_noadd
 3720CLC
 3730LDA num_temp2
 3740ADC old_s
 3750STA num_temp2
 3760LDA num_temp1
 3770ADC old_s+1
 3780STA num_temp1
 3790LDA num_temp1+1
 3800ADC old_s+2
 3810STA num_temp1+1
 3820LDA num_temp1+2
 3830ADC old_s+3
 3840STA num_temp1+2
 3850BCC calc_mult_noadd
 3860INC num_temp1+3
 3870.calc_mult_noadd
 3880ASL num_temp2
 3890ROL num_temp1
 3900ROL num_temp1+1
 3910ROL num_temp1+2
 3920ROL num_temp1+3
 3930DEX
 3940BNE calc_mult_loop1
 3950RTS
 3960:
 3970.calc_new_add
 3980CLC
 3990LDA num_temp1
 4000ADC old_x,X
 4010STA x,X
 4020LDA num_temp1+1
 4030ADC old_x+1,X
 4040STA x+1,X
 4050LDA num_temp1+2
 4060ADC old_x+2,X
 4070STA x+2,X
 4080LDA num_temp1+3
 4090ADC old_x+3,X
 4100STA x+3,X
 4110RTS
 4120:
 4130.showbox
 4140LDA #18
 4150JSR oswrch
 4160LDA #4
 4170JSR oswrch
 4180LDA #0
 4190JSR oswrch
 4200LDX #draw_x1-draw_x1
 4210LDA box_x
 4220JSR showbox_calc
 4230LDX #draw_y1-draw_x1
 4240LDA box_y
 4250JSR showbox_calc
 4260LDX #draw_x2-draw_x1
 4270LDY box_s
 4280DEY
 4290TYA
 4300PHA
 4310CLC
 4320ADC box_x
 4330JSR showbox_calc
 4340LDA draw_x2
 4350ORA #7
 4360STA draw_x2
 4370LDX #draw_y2-draw_x1
 4380PLA
 4390CLC
 4400ADC box_y
 4410JSR showbox_calc
 4420LDA draw_y2
 4430ORA #7
 4440STA draw_y2
 4450LDA #4
 4460LDX #draw_x1-draw_x1
 4470LDY #draw_y1-draw_y1
 4480JSR showbox_plot
 4490LDA #13
 4500LDX #draw_x2-draw_x1
 4510JSR showbox_plot
 4520LDY #draw_y2-draw_y1
 4530JSR showbox_plot
 4540LDX #draw_x1-draw_x1
 4550JSR showbox_plot
 4560LDY #draw_y1-draw_y1
 4570:
 4580.showbox_plot
 4590PHA
 4600PHA
 4610LDA #25
 4620JSR oswrch
 4630PLA
 4640JSR oswrch
 4650LDA draw_x1,X
 4660JSR oswrch
 4670LDA draw_x1+1,X
 4680JSR oswrch
 4690LDA draw_y1,Y
 4700JSR oswrch
 4710LDA draw_y1+1,Y
 4720JSR oswrch
 4730PLA
 4740RTS
 4750:
 4760.showbox_calc
 4770STA draw_x1,X
 4780LDA #0
 4790STA draw_x1+1,X
 4800LDY #3
 4810.showbox_calc_loop1
 4820ASL draw_x1,X
 4830ROL draw_x1+1,X
 4840DEY
 4850BNE showbox_calc_loop1
 4860RTS
 4870:
 4880.boxcontrol
 4890LDA box_x
 4900STA new_box_x
 4910LDA box_y
 4920STA new_box_y
 4930LDA box_s
 4940STA new_box_s
 4950LDX #&FF
 4960LDY #&FF
 4970LDA #&81
 4980JSR osbyte
 4990STX box_shift
 5000LDA #5
 5010STA box_count1
 5020.boxc_loop1
 5030LDY box_count1
 5040LDX box_keyval,Y
 5050LDY #&FF
 5060LDA #&81
 5070JSR osbyte
 5080CPX #&FF
 5090BNE boxc_notpressed
 5100LDY box_count1
 5110LDA box_delta,Y
 5120LDX box_shift
 5130CPX #&FF
 5140BNE boxc_noshift
 5150LDA box_shdelta,Y
 5160.boxc_noshift
 5170LDX box_variable,Y
 5180CLC
 5190ADC new_box_x,X
 5200STA new_box_x,X
 5210.boxc_notpressed
 5220DEC box_count1
 5230BPL boxc_loop1
 5240LDX #1
 5250LDA new_box_s
 5260BEQ boxc_s_set
 5270CMP #&C0
 5280BCS boxc_s_set
 5290CMP #&81
 5300BCC boxc_s_ok
 5310LDX #128
 5320.boxc_s_set
 5330STX new_box_s
 5340.boxc_s_ok
 5350LDY #1
 5360.boxc_loop2
 5370LDX #0
 5380LDA new_box_x,Y
 5390CMP #&C0
 5400BCS boxc_xy_set
 5410ADC new_box_s
 5420CMP #&81
 5430BCC boxc_xy_ok
 5440LDA #128
 5450SBC new_box_s
 5460TAX
 5470.boxc_xy_set
 5480TXA
 5490STA new_box_x,Y
 5500.boxc_xy_ok
 5510DEY
 5520BPL boxc_loop2
 5530LDA new_box_x
 5540CMP box_x
 5550BNE boxc_changed
 5560LDA new_box_y
 5570CMP box_y
 5580BNE boxc_changed
 5590LDA new_box_s
 5600CMP box_s
 5610BEQ boxc_nochange
 5620.boxc_changed
 5630JSR showbox
 5640LDA new_box_x
 5650STA box_x
 5660LDA new_box_y
 5670STA box_y
 5680LDA new_box_s
 5690STA box_s
 5700JSR showbox
 5710JSR show_boxxys
 5720.boxc_nochange
 5730RTS
 5740:
 5750.box_keyval
 5760EQUD &D6C686E6:EQUW &9899
 5770.box_variable
 5780EQUD &01010000:EQUW &0202
 5790.box_delta
 5800EQUD &FF0101FF:EQUW &01FF
 5810.box_shdelta
 5820EQUD &FC0404FC:EQUW &04FC
 5830:
 5840.othercontrol
 5850LDA #0
 5860STA other_term
 5870LDA #(other_kend-other_keys-1) AND &FF
 5880STA other_count1
 5890.otherc_loop1
 5900LDY other_count1
 5910LDX other_keys,Y
 5920LDY #&FF
 5930LDA #&81
 5940JSR osbyte
 5950CPX #&FF
 5960BNE otherc_notpressed
 5970LDY other_count1
 5980LDA other_jmplo,Y
 5990STA other_relay
 6000LDA other_jmphi,Y
 6010STA other_relay+1
 6020LDX other_keys,Y
 6030JSR otherc_jmp
 6040LDA other_term
 6050BNE otherc_exit
 6060.otherc_loop2
 6070LDY other_count1
 6080LDX other_keys,Y
 6090LDY #&FF
 6100LDA #&81
 6110JSR osbyte
 6120CPX #&FF
 6130BEQ otherc_loop2
 6140.otherc_notpressed
 6150DEC other_count1
 6160BPL otherc_loop1
 6170.otherc_exit
 6180LDA other_term
 6190RTS
 6200:
 6210.otherc_jmp
 6220JMP (other_relay)
 6230:
 6240.other_keys
 6250EQUD &8C8D8EDF:EQUD &EFAE9BB6
 6260.other_kend
 6270.other_jmplo
 6280EQUB stepup MOD 256
 6290EQUB stepdown MOD 256
 6300EQUB pixelup MOD 256
 6310EQUB pixeldown MOD 256
 6320EQUB draw MOD 256
 6330EQUB base MOD 256
 6340EQUB save MOD 256
 6350EQUB quit MOD 256
 6360.other_jmphi
 6370EQUB stepup DIV 256
 6380EQUB stepdown DIV 256
 6390EQUB pixelup DIV 256
 6400EQUB pixeldown DIV 256
 6410EQUB draw DIV 256
 6420EQUB base DIV 256
 6430EQUB save DIV 256
 6440EQUB quit DIV 256
 6450:
 6460.stepup
 6470LDA val_start
 6480BEQ sup_exit
 6490ASL val_start
 6500JSR show_stppix
 6510.sup_exit
 6520RTS
 6530:
 6540.stepdown
 6550SEC
 6560LDA val_start
 6570BEQ sdn_goshift
 6580CMP #16
 6590BEQ sdn_exit
 6600CLC
 6610.sdn_goshift
 6620ROR val_start
 6630JSR show_stppix
 6640.sdn_exit
 6650RTS
 6660:
 6670.pixelup
 6680LDA mansize
 6690CMP #128
 6700BEQ pup_exit
 6710ASL mansize
 6720JSR show_stppix
 6730.pup_exit
 6740RTS
 6750:
 6760.pixeldown
 6770LDA mansize
 6780CMP #32
 6790BEQ pdn_exit
 6800LSR mansize
 6810JSR show_stppix
 6820.pdn_exit
 6830RTS
 6840:
 6850.draw
 6860INC other_term
 6870JSR showbox
 6880JMP gen_mand
 6890:
 6900.base
 6910INC other_term
 6920JSR showbox
 6930JMP basebrot
 6940:
 6950.save
 6960JSR showbox
 6970INC other_term
 6980JSR print
 6990EQUW save_tend-save_tst
 7000.save_tst
 7010OPT FNcls
 7020EQUS "Filename"
 7030.save_tend
 7040LDA #21
 7050LDX #0
 7060JSR osbyte
 7070LDA #0
 7080LDX #osinput_block MOD 256
 7090LDY #osinput_block DIV 256
 7100JSR osword
 7110BCC save_dosave
 7120LDA #126
 7130JMP osbyte
 7140.save_dosave
 7150LDA #12
 7160JSR oswrch
 7170LDA #0
 7180STA gbpb_load
 7190STA gbpb_exec
 7200STA gbpb_start
 7210STA gbpb_end
 7220LDA #&30
 7230STA gbpb_load+1
 7240STA gbpb_exec+1
 7250STA gbpb_start+1
 7260LDA #&80
 7270STA gbpb_end+1
 7280LDA #&FF
 7290STA gbpb_load+2
 7300STA gbpb_load+3
 7310STA gbpb_exec+2
 7320STA gbpb_exec+3
 7330STA gbpb_start+2
 7340STA gbpb_start+3
 7350STA gbpb_end+2
 7360STA gbpb_end+3
 7370LDA #0
 7380LDX #gbpb_block MOD 256
 7390LDY #gbpb_block DIV 256
 7400JMP osfile
 7410:
 7420.quit
 7430INC other_term
 7440INC other_term
 7450RTS
 7460:
 7470.tab
 7480LDA #31
 7490JSR oswrch
 7500TXA
 7510JSR oswrch
 7520TYA
 7530JMP oswrch
 7540:
 7550.print
 7560PLA
 7570STA print_zp
 7580PLA
 7590STA print_zp+1
 7600LDY #1
 7610SEC
 7620LDA #0
 7630SBC (print_zp),Y
 7640TAX
 7650INY
 7660LDA #0
 7670SBC (print_zp),Y
 7680STA print_count+1
 7690CLC
 7700LDA #3
 7710ADC print_zp
 7720TAY
 7730BCC print_ninc1
 7740INC print_zp+1
 7750.print_ninc1
 7760LDA #0
 7770STA print_zp
 7780.print_loop1
 7790LDA (print_zp),Y
 7800JSR oswrch
 7810INY
 7820BNE print_ninc2
 7830INC print_zp+1
 7840.print_ninc2
 7850INX
 7860BNE print_loop1
 7870INC print_count+1
 7880BNE print_loop1
 7890STY print_zp
 7900JMP (print_zp)
 7910:
 7920.osinput_block
 7930EQUW filename
 7940EQUB 247
 7950EQUB 32
 7960EQUB 126
 7970:
 7980.gbpb_block
 7990.gbpb_name EQUW filename
 8000.gbpb_load EQUD 0
 8010.gbpb_exec EQUD 0
 8020.gbpb_start EQUD 0
 8030.gbpb_end EQUD 0
 8040:
 8050.phex
 8060PHA:LSR A:LSR A:LSR A:LSR A:JSR pdig:PLA:AND #&0F:.pdig CMP #10:BCC nadd:ADC #6:.nadd ADC #48:JMP oswrch
 8070]
 8080NEXT
 8090OSCLI"SAVE Ultbrot "+STR$~code%+" "+STR$~O%+" "+STR$~ultibrot+" "+STR$~dest%
 8100END
 8110:
 8120DEF FNmode(m%)
 8130[OPT opt%
 8140EQUB 22
 8150EQUB m%
 8160]
 8170=opt%
 8180:
 8190DEF FNsetpal(l%,p%)
 8200[OPT opt%
 8210EQUB 19
 8220EQUB l%:EQUB p%
 8230EQUW 0:EQUB 0
 8240]
 8250=opt%
 8260:
 8270DEF FNtextwin(x1%,y1%,x2%,y2%)
 8280[OPT opt%
 8290EQUB 28
 8300EQUB x1%:EQUB y1%
 8310EQUB x2%:EQUB y2%
 8320]
 8330=opt%
 8340:
 8350DEF FNcls
 8360[OPT opt%
 8370EQUB 12
 8380]
 8390=opt%
 8400:
 8410DEF FNtab(x%,y%)
 8420[OPT opt%
 8430EQUB 31
 8440EQUB x%:EQUB y%
 8450]
 8460=opt%
 8470:
 8480DEF FNchardef(c%,p1%,p2%,p3%,p4%,p5%,p6%,p7%,p8%)
 8490[OPT opt%
 8500EQUB 23:EQUB c%
 8510EQUB p1%:EQUB p2%:EQUB p3%:EQUB p4%
 8520EQUB p5%:EQUB p6%:EQUB p7%:EQUB p8%
 8530]
 8540=opt%

� Ultibrot rig
� by Andrew Bennett
� (c) Acorn Computing
(:
2dest%=&1100:zp%=0
<exclus_zp%=&60
F:
P!basex=-2:basey=-1.4:bases=2.8
Zbasesteps=32:basesize=128
d:
nmand_draw=dest%
x:
�oswrch=&FFEE
�osrdch=&FFE0
�osbyte=&FFF4
�oscli=&FFF7
�osword=&FFF1
�osfile=&FFDD
�:
�mansize=&70
�val_start=&71
�	x=&72
�	y=&76
�	s=&7A
�:

box_x=zp%
box_y=box_x+1
box_s=box_y+1
"old_x=box_s+1
,old_y=old_x+4
6old_s=old_y+4
@print_zp=old_s+4
Jprint_count=print_zp+2
Tnum_temp1=print_zp
^num_temp2=num_temp1+4
hnum_digits=num_temp2+4
rdraw_x1=print_zp
|draw_x2=draw_x1+2
�draw_y1=draw_x2+2
�draw_y2=draw_y1+2
�new_box_x=draw_y2+2
�new_box_y=new_box_x+1
�new_box_s=new_box_y+1
�box_count1=new_box_s+1
�box_shift=box_count1+1
�other_count1=exclus_zp%
�other_relay=other_count1+1
�other_term=other_relay+2
�:
�filename=&400
�:
 � code% &2000,bl% 18,str% 20
$str%="ManCde"

!bl%=str%
&bl%!2=code%
0bl%?6=0
:A%=&FF:X%=bl%:Y%=bl% � 256
D� &FFDD
N:
X� opt%=4 � 6 � 2
bP%=dest%+bl%!10
lO%=code%+bl%!10
v
[OPT opt%
�
.ultibrot
�
JSR setup
�.ultibrot_loop1
�JSR showlegend
�
LDA #0
�
STA box_x
�
STA box_y
�LDA #128
�
STA box_s
�JSR showinfo
�JSR showbox
�.ultibrot_loop2
�BIT &FF
BMI ultibrot_exit
JSR boxcontrol
JSR othercontrol
 
CMP #0
*BEQ ultibrot_loop2
4
CMP #1
>BEQ ultibrot_loop1
H.ultibrot_exit
RLDA #22
\JSR oswrch
f
LDA #7
pJSR oswrch
zLDA #21
�
LDX #0
�JSR osbyte
�LDX #basic � 256
�LDY #basic � 256
�
JMP oscli
�:
�.basic EQUS "BASIC"+�13
�:
�
.setup
�
JSR print
�EQUW setup_tend-setup_tst
�.setup_tst
�OPT �mode(1)
OPT �setpal(1,4)
OPT �setpal(2,5)
OPT �setpal(3,6)
$OPT �textwin(32,31,39,0)
.%OPT �chardef(0,10,32,0,0,0,0,0,0)
8.setup_tend
B:
L
.basebrot
VLDA #basesteps
`STA val_start
jLDA #basesize
tSTA mansize
~LDX #11
�.basebrot_loop1
�LDA basexys,X
�STA x,X
�DEX
�BPL basebrot_loop1
�:
�
.gen_mand
�SEC
�
LDA #1
�SBC val_start
�STA val_start
�JSR mand_draw
SEC


LDA #1
SBC val_start
STA val_start
(LDX #11
2.gen_mand_loop1
<LDA x,X
FSTA old_x,X
PDEX
ZBPL gen_mand_loop1
dRTS
n:
x.basexys
�EQUD basex*2^27
�EQUD basey*2^27
�EQUD bases*2^27
�:
�.showlegend
�
JSR print
�EQUW showl_tend-showl_tst
�.showl_tst
�OPT �cls
� OPT �tab(0,0):EQUS "Display"
�OPT �tab(1,1):EQUS "x="
�OPT �tab(1,4):EQUS "y="
�OPT �tab(1,7):EQUS "s="
OPT �tab(0,11):EQUS "Box"
OPT �tab(1,12):EQUS "x="
OPT �tab(1,15):EQUS "y="
"OPT �tab(1,18):EQUS "s="
,"OPT �tab(0,22):EQUS "Stp  Pix"
6"OPT �tab(0,25):EQUS "B   Base"
@"OPT �tab(0,26):EQUS "RET Plot"
J"OPT �tab(0,28):EQUS "S   Save"
T"OPT �tab(0,29):EQUS "Q   Quit"
^OPT �tab(0,2)
h.showl_tend
rLDX #old_x
|JSR printnum
�
LDX #0
�
LDY #5
�JSR tab
�LDX #old_y
�JSR printnum
�
LDX #0
�
LDY #8
�JSR tab
�LDX #old_s
�:
�
.printnum
�
LDY #3
�.pnum_loop1
LDA 0,X
STA num_temp1,Y
INX
&DEY
0BPL pnum_loop1
:LDA num_temp1
DBPL pnum_plus
N
LDA #�"-"
XJSR oswrch
bSEC
l
LDX #3
v.pnum_loop2
�
LDA #0
�SBC num_temp1,X
�STA num_temp1,X
�DEX
�BPL pnum_loop2
�.pnum_plus
�JSR pnum_pdig
�BEQ pnum_exit
�
LDA #�"."
�JSR oswrch
�
LDA #8
�STA num_digits
�.pnum_loop3
JSR pnum_times10
JSR pnum_pdig
BEQ pnum_exit
 DEC num_digits
*BNE pnum_loop3
4.pnum_exit
>RTS
H:
R.pnum_pdig
\LDA num_temp1
f	LSR A
p	LSR A
z	LSR A
�CLC
�
ADC #�"0"
�JSR oswrch
�LDA num_temp1
�� #7
�STA num_temp1
��A num_temp1+1
��A num_temp1+2
��A num_temp1+3
�RTS
�:
�.pnum_times10
�CLC
	
LDX #3
	.pnum_t10_loop1
	ROL num_temp1,X
	$LDA num_temp1,X
	.STA num_temp2,X
	8DEX
	BBPL pnum_t10_loop1
	L
LDX #2
	V.pnum_t10_loop2
	`ASL num_temp1+3
	jROL num_temp1+2
	tROL num_temp1+1
	~ROL num_temp1
	�DEX
	�BNE pnum_t10_loop2
	�CLC
	�
LDX #3
	�.pnum_t10_loop3
	�LDA num_temp1,X
	�ADC num_temp2,X
	�STA num_temp1,X
	�DEX
	�BPL pnum_t10_loop3
	�RTS
	�:

.showinfo

JSR show_boxxys
:
.show_stppix
(
LDX #0
2LDY #23
<JSR tab
F
LDX #0
PLDA val_start
ZBNE stppix_ninc1
dINX
n.stppix_ninc1
xJSR pdec
�
LDX #5
�LDY #23
�JSR tab
�
LDX #0
�LDA mansize
�:
�	.pdec
�STA num_temp1
�STX num_temp1+1
�
LDY #0
�.pdec_loop1
�
LDA #0
�LDX #16
.pdec_loop2
ASL num_temp1
ROL num_temp1+1
"	ROL A
,CMP #10
6BCC pdec_nosub
@SBC #10
JINC num_temp1
T.pdec_nosub
^DEX
hBNE pdec_loop2
rPHA
|INY
�LDA num_temp1
��A num_temp1+1
�BNE pdec_loop1
�TYA
�
� #&FF
�CLC
�
ADC #4
�BEQ pdec_loop4
�TAX
�
LDA #�" "
�.pdec_loop3
�JSR oswrch
�DEX
BNE pdec_loop3
.pdec_loop4
PLA
&CLC
0
ADC #�"0"
:JSR oswrch
DDEY
NBNE pdec_loop4
XRTS
b:
l.show_boxxys
v
JSR print
�#EQUW showinfo_tend-showinfo_tst
�.showinfo_tst
� OPT �tab(0,13):EQUS �16," ")
� OPT �tab(0,16):EQUS �16," ")
� OPT �tab(0,19):EQUS �16," ")
�OPT �tab(0,13)
�.showinfo_tend
�JSR calc_newxys
�
LDX #x
�JSR printnum
�
LDX #0
�LDY #16
�JSR tab


LDX #y

JSR printnum


LDX #0

 LDY #19

*JSR tab

4
LDX #s

>JMP printnum

H:

R.calc_newxys

\
LDA box_x

fJSR calc_new_mult

pLDX #x-x

zJSR calc_new_add

�
LDA box_y

�JSR calc_new_mult

�LDX #y-x

�JSR calc_new_add

�
LDA box_s

�JSR calc_new_mult

�
LDX #3

�.calc_new_loop1

�LDA num_temp1,X

�STA s,X

�DEX

�BPL calc_new_loop1

�RTS
:
.calc_new_mult
STA num_temp2+1
$
LDA #0
.STA num_temp2
8STA num_temp1
BSTA num_temp1+1
LSTA num_temp1+2
VSTA num_temp1+3
`
LDX #8
j.calc_mult_loop1
tASL num_temp2+1
~BCC calc_mult_noadd
�CLC
�LDA num_temp2
�
ADC old_s
�STA num_temp2
�LDA num_temp1
�ADC old_s+1
�STA num_temp1
�LDA num_temp1+1
�ADC old_s+2
�STA num_temp1+1
�LDA num_temp1+2
�ADC old_s+3
STA num_temp1+2

BCC calc_mult_noadd
INC num_temp1+3
.calc_mult_noadd
(ASL num_temp2
2ROL num_temp1
<ROL num_temp1+1
FROL num_temp1+2
PROL num_temp1+3
ZDEX
dBNE calc_mult_loop1
nRTS
x:
�.calc_new_add
�CLC
�LDA num_temp1
�ADC old_x,X
�STA x,X
�LDA num_temp1+1
�ADC old_x+1,X
�
STA x+1,X
�LDA num_temp1+2
�ADC old_x+2,X
�
STA x+2,X
�LDA num_temp1+3
�ADC old_x+3,X

STA x+3,X
RTS
:
".showbox
,LDA #18
6JSR oswrch
@
LDA #4
JJSR oswrch
T
LDA #0
^JSR oswrch
hLDX #draw_x1-draw_x1
r
LDA box_x
|JSR showbox_calc
�LDX #draw_y1-draw_x1
�
LDA box_y
�JSR showbox_calc
�LDX #draw_x2-draw_x1
�
LDY box_s
�DEY
�TYA
�PHA
�CLC
�
ADC box_x
�JSR showbox_calc
�LDA draw_x2
�	�A #7
STA draw_x2
LDX #draw_y2-draw_x1
PLA
&CLC
0
ADC box_y
:JSR showbox_calc
DLDA draw_y2
N	�A #7
XSTA draw_y2
b
LDA #4
lLDX #draw_x1-draw_x1
vLDY #draw_y1-draw_y1
�JSR showbox_plot
�LDA #13
�LDX #draw_x2-draw_x1
�JSR showbox_plot
�LDY #draw_y2-draw_y1
�JSR showbox_plot
�LDX #draw_x1-draw_x1
�JSR showbox_plot
�LDY #draw_y1-draw_y1
�:
�.showbox_plot
�PHA
�PHA
LDA #25
JSR oswrch
PLA
 JSR oswrch
*LDA draw_x1,X
4JSR oswrch
>LDA draw_x1+1,X
HJSR oswrch
RLDA draw_y1,Y
\JSR oswrch
fLDA draw_y1+1,Y
pJSR oswrch
zPLA
�RTS
�:
�.showbox_calc
�STA draw_x1,X
�
LDA #0
�STA draw_x1+1,X
�
LDY #3
�.showbox_calc_loop1
�ASL draw_x1,X
�ROL draw_x1+1,X
�DEY
�BNE showbox_calc_loop1
�RTS
:
.boxcontrol

LDA box_x
$STA new_box_x
.
LDA box_y
8STA new_box_y
B
LDA box_s
LSTA new_box_s
VLDX #&FF
`LDY #&FF
jLDA #&81
tJSR osbyte
~STX box_shift
�
LDA #5
�STA box_count1
�.boxc_loop1
�LDY box_count1
�LDX box_keyval,Y
�LDY #&FF
�LDA #&81
�JSR osbyte
�CPX #&FF
�BNE boxc_notpressed
�LDY box_count1
�LDA box_delta,Y
LDX box_shift

CPX #&FF
BNE boxc_noshift
LDA box_shdelta,Y
(.boxc_noshift
2LDX box_variable,Y
<CLC
FADC new_box_x,X
PSTA new_box_x,X
Z.boxc_notpressed
dDEC box_count1
nBPL boxc_loop1
x
LDX #1
�LDA new_box_s
�BEQ boxc_s_set
�CMP #&C0
�BCS boxc_s_set
�CMP #&81
�BCC boxc_s_ok
�LDX #128
�.boxc_s_set
�STX new_box_s
�.boxc_s_ok
�
LDY #1
�.boxc_loop2
�
LDX #0
LDA new_box_x,Y
CMP #&C0
BCS boxc_xy_set
"ADC new_box_s
,CMP #&81
6BCC boxc_xy_ok
@LDA #128
JSBC new_box_s
TTAX
^.boxc_xy_set
hTXA
rSTA new_box_x,Y
|.boxc_xy_ok
�DEY
�BPL boxc_loop2
�LDA new_box_x
�
CMP box_x
�BNE boxc_changed
�LDA new_box_y
�
CMP box_y
�BNE boxc_changed
�LDA new_box_s
�
CMP box_s
�BEQ boxc_nochange
�.boxc_changed
�JSR showbox
LDA new_box_x

STA box_x
LDA new_box_y
&
STA box_y
0LDA new_box_s
:
STA box_s
DJSR showbox
NJSR show_boxxys
X.boxc_nochange
bRTS
l:
v.box_keyval
�EQUD &D6C686E6:EQUW &9899
�.box_variable
�EQUD &01010000:EQUW &0202
�.box_delta
�EQUD &FF0101FF:EQUW &01FF
�.box_shdelta
�EQUD &FC0404FC:EQUW &04FC
�:
�.othercontrol
�
LDA #0
�STA other_term
�(LDA #(other_kend-other_keys-1) � &FF
�STA other_count1
.otherc_loop1
LDY other_count1
LDX other_keys,Y
 LDY #&FF
*LDA #&81
4JSR osbyte
>CPX #&FF
HBNE otherc_notpressed
RLDY other_count1
\LDA other_jmplo,Y
fSTA other_relay
pLDA other_jmphi,Y
zSTA other_relay+1
�LDX other_keys,Y
�JSR otherc_jmp
�LDA other_term
�BNE otherc_exit
�.otherc_loop2
�LDY other_count1
�LDX other_keys,Y
�LDY #&FF
�LDA #&81
�JSR osbyte
�CPX #&FF
�BEQ otherc_loop2
�.otherc_notpressed
DEC other_count1
BPL otherc_loop1
.otherc_exit
$LDA other_term
.RTS
8:
B.otherc_jmp
LJMP (other_relay)
V:
`.other_keys
j!EQUD &8C8D8EDF:EQUD &EFAE9BB6
t.other_kend
~.other_jmplo
�EQUB stepup � 256
�EQUB stepdown � 256
�EQUB pixelup � 256
�EQUB pixeldown � 256
�EQUB draw � 256
�EQUB base � 256
�EQUB save � 256
�EQUB quit � 256
�.other_jmphi
�EQUB stepup � 256
�EQUB stepdown � 256
�EQUB pixelup � 256
EQUB pixeldown � 256

EQUB draw � 256
EQUB base � 256
EQUB save � 256
(EQUB quit � 256
2:
<.stepup
FLDA val_start
PBEQ sup_exit
ZASL val_start
dJSR show_stppix
n
.sup_exit
xRTS
�:
�
.stepdown
�SEC
�LDA val_start
�BEQ sdn_goshift
�CMP #16
�BEQ sdn_exit
�CLC
�.sdn_goshift
�ROR val_start
�JSR show_stppix
�
.sdn_exit
�RTS
:
.pixelup
LDA mansize
"CMP #128
,BEQ pup_exit
6ASL mansize
@JSR show_stppix
J
.pup_exit
TRTS
^:
h.pixeldown
rLDA mansize
|CMP #32
�BEQ pdn_exit
�LSR mansize
�JSR show_stppix
�
.pdn_exit
�RTS
�:
�	.draw
�INC other_term
�JSR showbox
�JMP gen_mand
�:
�	.base
�INC other_term
JSR showbox
JMP basebrot
:
&	.save
0JSR showbox
:INC other_term
D
JSR print
NEQUW save_tend-save_tst
X
.save_tst
bOPT �cls
lEQUS "Filename"
v.save_tend
�LDA #21
�
LDX #0
�JSR osbyte
�
LDA #0
�LDX #osinput_block � 256
�LDY #osinput_block � 256
�JSR osword
�BCC save_dosave
�LDA #126
�JMP osbyte
�.save_dosave
�LDA #12
�JSR oswrch

LDA #0
STA gbpb_load
STA gbpb_exec
 STA gbpb_start
*STA gbpb_end
4LDA #&30
>STA gbpb_load+1
HSTA gbpb_exec+1
RSTA gbpb_start+1
\LDA #&80
fSTA gbpb_end+1
pLDA #&FF
zSTA gbpb_load+2
�STA gbpb_load+3
�STA gbpb_exec+2
�STA gbpb_exec+3
�STA gbpb_start+2
�STA gbpb_start+3
�STA gbpb_end+2
�STA gbpb_end+3
�
LDA #0
�LDX #gbpb_block � 256
�LDY #gbpb_block � 256
�JMP osfile
�:
�	.quit
INC other_term
INC other_term
RTS
$:
..tab
8LDA #31
BJSR oswrch
LTXA
VJSR oswrch
`TYA
jJMP oswrch
t:
~
.print
�PLA
�STA print_zp
�PLA
�STA print_zp+1
�
LDY #1
�SEC
�
LDA #0
�SBC (print_zp),Y
�TAX
�INY
�
LDA #0
�SBC (print_zp),Y
STA print_count+1

CLC

LDA #3
ADC print_zp
(TAY
2BCC print_ninc1
<INC print_zp+1
F.print_ninc1
P
LDA #0
ZSTA print_zp
d.print_loop1
nLDA (print_zp),Y
xJSR oswrch
�INY
�BNE print_ninc2
�INC print_zp+1
�.print_ninc2
�INX
�BNE print_loop1
�INC print_count+1
�BNE print_loop1
�STY print_zp
�JMP (print_zp)
�:
�.osinput_block
�EQUW filename
EQUB 247
EQUB 32
EQUB 126
":
,.gbpb_block
6.gbpb_name EQUW filename
@.gbpb_load EQUD 0
J.gbpb_exec EQUD 0
T.gbpb_start EQUD 0
^.gbpb_end EQUD 0
h:
r	.phex
|jPHA:LSR A:LSR A:LSR A:LSR A:JSR pdig:PLA:� #&0F:.pdig CMP #10:BCC nadd:ADC #6:.nadd ADC #48:JMP oswrch
�]
��
�@�"SAVE Ultbrot "+�~code%+" "+�~O%+" "+�~ultibrot+" "+�~dest%
��
�:
�� �mode(m%)
�
[OPT opt%
�EQUB 22
�EQUB m%
�]
�	=opt%
�:
�� �setpal(l%,p%)
 
[OPT opt%
 EQUB 19
 EQUB l%:EQUB p%
 &EQUW 0:EQUB 0
 0]
 :	=opt%
 D:
 N� �textwin(x1%,y1%,x2%,y2%)
 X
[OPT opt%
 bEQUB 28
 lEQUB x1%:EQUB y1%
 vEQUB x2%:EQUB y2%
 �]
 �	=opt%
 �:
 �
� �cls
 �
[OPT opt%
 �EQUB 12
 �]
 �	=opt%
 �:
 �� �tab(x%,y%)
 �
[OPT opt%
 �EQUB 31
 �EQUB x%:EQUB y%
!]
!	=opt%
!:
! 2� �chardef(c%,p1%,p2%,p3%,p4%,p5%,p6%,p7%,p8%)
!*
[OPT opt%
!4EQUB 23:EQUB c%
!>'EQUB p1%:EQUB p2%:EQUB p3%:EQUB p4%
!H'EQUB p5%:EQUB p6%:EQUB p7%:EQUB p8%
!R]
!\	=opt%
�
00000000  0d 00 0a 12 f4 20 55 6c  74 69 62 72 6f 74 20 72  |..... Ultibrot r|
00000010  69 67 0d 00 14 17 f4 20  62 79 20 41 6e 64 72 65  |ig..... by Andre|
00000020  77 20 42 65 6e 6e 65 74  74 0d 00 1e 19 f4 20 28  |w Bennett..... (|
00000030  63 29 20 41 63 6f 72 6e  20 43 6f 6d 70 75 74 69  |c) Acorn Computi|
00000040  6e 67 0d 00 28 05 3a 0d  00 32 15 64 65 73 74 25  |ng..(.:..2.dest%|
00000050  3d 26 31 31 30 30 3a 7a  70 25 3d 30 0d 00 3c 12  |=&1100:zp%=0..<.|
00000060  65 78 63 6c 75 73 5f 7a  70 25 3d 26 36 30 0d 00  |exclus_zp%=&60..|
00000070  46 05 3a 0d 00 50 21 62  61 73 65 78 3d 2d 32 3a  |F.:..P!basex=-2:|
00000080  62 61 73 65 79 3d 2d 31  2e 34 3a 62 61 73 65 73  |basey=-1.4:bases|
00000090  3d 32 2e 38 0d 00 5a 1d  62 61 73 65 73 74 65 70  |=2.8..Z.basestep|
000000a0  73 3d 33 32 3a 62 61 73  65 73 69 7a 65 3d 31 32  |s=32:basesize=12|
000000b0  38 0d 00 64 05 3a 0d 00  6e 13 6d 61 6e 64 5f 64  |8..d.:..n.mand_d|
000000c0  72 61 77 3d 64 65 73 74  25 0d 00 78 05 3a 0d 00  |raw=dest%..x.:..|
000000d0  82 10 6f 73 77 72 63 68  3d 26 46 46 45 45 0d 00  |..oswrch=&FFEE..|
000000e0  8c 10 6f 73 72 64 63 68  3d 26 46 46 45 30 0d 00  |..osrdch=&FFE0..|
000000f0  96 10 6f 73 62 79 74 65  3d 26 46 46 46 34 0d 00  |..osbyte=&FFF4..|
00000100  a0 0f 6f 73 63 6c 69 3d  26 46 46 46 37 0d 00 aa  |..oscli=&FFF7...|
00000110  10 6f 73 77 6f 72 64 3d  26 46 46 46 31 0d 00 b4  |.osword=&FFF1...|
00000120  10 6f 73 66 69 6c 65 3d  26 46 46 44 44 0d 00 be  |.osfile=&FFDD...|
00000130  05 3a 0d 00 c8 0f 6d 61  6e 73 69 7a 65 3d 26 37  |.:....mansize=&7|
00000140  30 0d 00 d2 11 76 61 6c  5f 73 74 61 72 74 3d 26  |0....val_start=&|
00000150  37 31 0d 00 dc 09 78 3d  26 37 32 0d 00 e6 09 79  |71....x=&72....y|
00000160  3d 26 37 36 0d 00 f0 09  73 3d 26 37 41 0d 00 fa  |=&76....s=&7A...|
00000170  05 3a 0d 01 04 0d 62 6f  78 5f 78 3d 7a 70 25 0d  |.:....box_x=zp%.|
00000180  01 0e 11 62 6f 78 5f 79  3d 62 6f 78 5f 78 2b 31  |...box_y=box_x+1|
00000190  0d 01 18 11 62 6f 78 5f  73 3d 62 6f 78 5f 79 2b  |....box_s=box_y+|
000001a0  31 0d 01 22 11 6f 6c 64  5f 78 3d 62 6f 78 5f 73  |1..".old_x=box_s|
000001b0  2b 31 0d 01 2c 11 6f 6c  64 5f 79 3d 6f 6c 64 5f  |+1..,.old_y=old_|
000001c0  78 2b 34 0d 01 36 11 6f  6c 64 5f 73 3d 6f 6c 64  |x+4..6.old_s=old|
000001d0  5f 79 2b 34 0d 01 40 14  70 72 69 6e 74 5f 7a 70  |_y+4..@.print_zp|
000001e0  3d 6f 6c 64 5f 73 2b 34  0d 01 4a 1a 70 72 69 6e  |=old_s+4..J.prin|
000001f0  74 5f 63 6f 75 6e 74 3d  70 72 69 6e 74 5f 7a 70  |t_count=print_zp|
00000200  2b 32 0d 01 54 16 6e 75  6d 5f 74 65 6d 70 31 3d  |+2..T.num_temp1=|
00000210  70 72 69 6e 74 5f 7a 70  0d 01 5e 19 6e 75 6d 5f  |print_zp..^.num_|
00000220  74 65 6d 70 32 3d 6e 75  6d 5f 74 65 6d 70 31 2b  |temp2=num_temp1+|
00000230  34 0d 01 68 1a 6e 75 6d  5f 64 69 67 69 74 73 3d  |4..h.num_digits=|
00000240  6e 75 6d 5f 74 65 6d 70  32 2b 34 0d 01 72 14 64  |num_temp2+4..r.d|
00000250  72 61 77 5f 78 31 3d 70  72 69 6e 74 5f 7a 70 0d  |raw_x1=print_zp.|
00000260  01 7c 15 64 72 61 77 5f  78 32 3d 64 72 61 77 5f  |.|.draw_x2=draw_|
00000270  78 31 2b 32 0d 01 86 15  64 72 61 77 5f 79 31 3d  |x1+2....draw_y1=|
00000280  64 72 61 77 5f 78 32 2b  32 0d 01 90 15 64 72 61  |draw_x2+2....dra|
00000290  77 5f 79 32 3d 64 72 61  77 5f 79 31 2b 32 0d 01  |w_y2=draw_y1+2..|
000002a0  9a 17 6e 65 77 5f 62 6f  78 5f 78 3d 64 72 61 77  |..new_box_x=draw|
000002b0  5f 79 32 2b 32 0d 01 a4  19 6e 65 77 5f 62 6f 78  |_y2+2....new_box|
000002c0  5f 79 3d 6e 65 77 5f 62  6f 78 5f 78 2b 31 0d 01  |_y=new_box_x+1..|
000002d0  ae 19 6e 65 77 5f 62 6f  78 5f 73 3d 6e 65 77 5f  |..new_box_s=new_|
000002e0  62 6f 78 5f 79 2b 31 0d  01 b8 1a 62 6f 78 5f 63  |box_y+1....box_c|
000002f0  6f 75 6e 74 31 3d 6e 65  77 5f 62 6f 78 5f 73 2b  |ount1=new_box_s+|
00000300  31 0d 01 c2 1a 62 6f 78  5f 73 68 69 66 74 3d 62  |1....box_shift=b|
00000310  6f 78 5f 63 6f 75 6e 74  31 2b 31 0d 01 cc 1b 6f  |ox_count1+1....o|
00000320  74 68 65 72 5f 63 6f 75  6e 74 31 3d 65 78 63 6c  |ther_count1=excl|
00000330  75 73 5f 7a 70 25 0d 01  d6 1e 6f 74 68 65 72 5f  |us_zp%....other_|
00000340  72 65 6c 61 79 3d 6f 74  68 65 72 5f 63 6f 75 6e  |relay=other_coun|
00000350  74 31 2b 31 0d 01 e0 1c  6f 74 68 65 72 5f 74 65  |t1+1....other_te|
00000360  72 6d 3d 6f 74 68 65 72  5f 72 65 6c 61 79 2b 32  |rm=other_relay+2|
00000370  0d 01 ea 05 3a 0d 01 f4  11 66 69 6c 65 6e 61 6d  |....:....filenam|
00000380  65 3d 26 34 30 30 0d 01  fe 05 3a 0d 02 08 20 de  |e=&400....:... .|
00000390  20 63 6f 64 65 25 20 26  32 30 30 30 2c 62 6c 25  | code% &2000,bl%|
000003a0  20 31 38 2c 73 74 72 25  20 32 30 0d 02 12 12 24  | 18,str% 20....$|
000003b0  73 74 72 25 3d 22 4d 61  6e 43 64 65 22 0d 02 1c  |str%="ManCde"...|
000003c0  0d 21 62 6c 25 3d 73 74  72 25 0d 02 26 0f 62 6c  |.!bl%=str%..&.bl|
000003d0  25 21 32 3d 63 6f 64 65  25 0d 02 30 0b 62 6c 25  |%!2=code%..0.bl%|
000003e0  3f 36 3d 30 0d 02 3a 1e  41 25 3d 26 46 46 3a 58  |?6=0..:.A%=&FF:X|
000003f0  25 3d 62 6c 25 3a 59 25  3d 62 6c 25 20 81 20 32  |%=bl%:Y%=bl% . 2|
00000400  35 36 0d 02 44 0b d6 20  26 46 46 44 44 0d 02 4e  |56..D.. &FFDD..N|
00000410  05 3a 0d 02 58 14 e3 20  6f 70 74 25 3d 34 20 b8  |.:..X.. opt%=4 .|
00000420  20 36 20 88 20 32 0d 02  62 13 50 25 3d 64 65 73  | 6 . 2..b.P%=des|
00000430  74 25 2b 62 6c 25 21 31  30 0d 02 6c 13 4f 25 3d  |t%+bl%!10..l.O%=|
00000440  63 6f 64 65 25 2b 62 6c  25 21 31 30 0d 02 76 0d  |code%+bl%!10..v.|
00000450  5b 4f 50 54 20 6f 70 74  25 0d 02 80 0d 2e 75 6c  |[OPT opt%.....ul|
00000460  74 69 62 72 6f 74 0d 02  8a 0d 4a 53 52 20 73 65  |tibrot....JSR se|
00000470  74 75 70 0d 02 94 13 2e  75 6c 74 69 62 72 6f 74  |tup.....ultibrot|
00000480  5f 6c 6f 6f 70 31 0d 02  9e 12 4a 53 52 20 73 68  |_loop1....JSR sh|
00000490  6f 77 6c 65 67 65 6e 64  0d 02 a8 0a 4c 44 41 20  |owlegend....LDA |
000004a0  23 30 0d 02 b2 0d 53 54  41 20 62 6f 78 5f 78 0d  |#0....STA box_x.|
000004b0  02 bc 0d 53 54 41 20 62  6f 78 5f 79 0d 02 c6 0c  |...STA box_y....|
000004c0  4c 44 41 20 23 31 32 38  0d 02 d0 0d 53 54 41 20  |LDA #128....STA |
000004d0  62 6f 78 5f 73 0d 02 da  10 4a 53 52 20 73 68 6f  |box_s....JSR sho|
000004e0  77 69 6e 66 6f 0d 02 e4  0f 4a 53 52 20 73 68 6f  |winfo....JSR sho|
000004f0  77 62 6f 78 0d 02 ee 13  2e 75 6c 74 69 62 72 6f  |wbox.....ultibro|
00000500  74 5f 6c 6f 6f 70 32 0d  02 f8 0b 42 49 54 20 26  |t_loop2....BIT &|
00000510  46 46 0d 03 02 15 42 4d  49 20 75 6c 74 69 62 72  |FF....BMI ultibr|
00000520  6f 74 5f 65 78 69 74 0d  03 0c 12 4a 53 52 20 62  |ot_exit....JSR b|
00000530  6f 78 63 6f 6e 74 72 6f  6c 0d 03 16 14 4a 53 52  |oxcontrol....JSR|
00000540  20 6f 74 68 65 72 63 6f  6e 74 72 6f 6c 0d 03 20  | othercontrol.. |
00000550  0a 43 4d 50 20 23 30 0d  03 2a 16 42 45 51 20 75  |.CMP #0..*.BEQ u|
00000560  6c 74 69 62 72 6f 74 5f  6c 6f 6f 70 32 0d 03 34  |ltibrot_loop2..4|
00000570  0a 43 4d 50 20 23 31 0d  03 3e 16 42 45 51 20 75  |.CMP #1..>.BEQ u|
00000580  6c 74 69 62 72 6f 74 5f  6c 6f 6f 70 31 0d 03 48  |ltibrot_loop1..H|
00000590  12 2e 75 6c 74 69 62 72  6f 74 5f 65 78 69 74 0d  |..ultibrot_exit.|
000005a0  03 52 0b 4c 44 41 20 23  32 32 0d 03 5c 0e 4a 53  |.R.LDA #22..\.JS|
000005b0  52 20 6f 73 77 72 63 68  0d 03 66 0a 4c 44 41 20  |R oswrch..f.LDA |
000005c0  23 37 0d 03 70 0e 4a 53  52 20 6f 73 77 72 63 68  |#7..p.JSR oswrch|
000005d0  0d 03 7a 0b 4c 44 41 20  23 32 31 0d 03 84 0a 4c  |..z.LDA #21....L|
000005e0  44 58 20 23 30 0d 03 8e  0e 4a 53 52 20 6f 73 62  |DX #0....JSR osb|
000005f0  79 74 65 0d 03 98 14 4c  44 58 20 23 62 61 73 69  |yte....LDX #basi|
00000600  63 20 83 20 32 35 36 0d  03 a2 14 4c 44 59 20 23  |c . 256....LDY #|
00000610  62 61 73 69 63 20 81 20  32 35 36 0d 03 ac 0d 4a  |basic . 256....J|
00000620  4d 50 20 6f 73 63 6c 69  0d 03 b6 05 3a 0d 03 c0  |MP oscli....:...|
00000630  1b 2e 62 61 73 69 63 20  45 51 55 53 20 22 42 41  |..basic EQUS "BA|
00000640  53 49 43 22 2b bd 31 33  0d 03 ca 05 3a 0d 03 d4  |SIC"+.13....:...|
00000650  0a 2e 73 65 74 75 70 0d  03 de 0d 4a 53 52 20 70  |..setup....JSR p|
00000660  72 69 6e 74 0d 03 e8 1d  45 51 55 57 20 73 65 74  |rint....EQUW set|
00000670  75 70 5f 74 65 6e 64 2d  73 65 74 75 70 5f 74 73  |up_tend-setup_ts|
00000680  74 0d 03 f2 0e 2e 73 65  74 75 70 5f 74 73 74 0d  |t.....setup_tst.|
00000690  03 fc 10 4f 50 54 20 a4  6d 6f 64 65 28 31 29 0d  |...OPT .mode(1).|
000006a0  04 06 14 4f 50 54 20 a4  73 65 74 70 61 6c 28 31  |...OPT .setpal(1|
000006b0  2c 34 29 0d 04 10 14 4f  50 54 20 a4 73 65 74 70  |,4)....OPT .setp|
000006c0  61 6c 28 32 2c 35 29 0d  04 1a 14 4f 50 54 20 a4  |al(2,5)....OPT .|
000006d0  73 65 74 70 61 6c 28 33  2c 36 29 0d 04 24 1c 4f  |setpal(3,6)..$.O|
000006e0  50 54 20 a4 74 65 78 74  77 69 6e 28 33 32 2c 33  |PT .textwin(32,3|
000006f0  31 2c 33 39 2c 30 29 0d  04 2e 25 4f 50 54 20 a4  |1,39,0)...%OPT .|
00000700  63 68 61 72 64 65 66 28  30 2c 31 30 2c 33 32 2c  |chardef(0,10,32,|
00000710  30 2c 30 2c 30 2c 30 2c  30 2c 30 29 0d 04 38 0f  |0,0,0,0,0,0)..8.|
00000720  2e 73 65 74 75 70 5f 74  65 6e 64 0d 04 42 05 3a  |.setup_tend..B.:|
00000730  0d 04 4c 0d 2e 62 61 73  65 62 72 6f 74 0d 04 56  |..L..basebrot..V|
00000740  12 4c 44 41 20 23 62 61  73 65 73 74 65 70 73 0d  |.LDA #basesteps.|
00000750  04 60 11 53 54 41 20 76  61 6c 5f 73 74 61 72 74  |.`.STA val_start|
00000760  0d 04 6a 11 4c 44 41 20  23 62 61 73 65 73 69 7a  |..j.LDA #basesiz|
00000770  65 0d 04 74 0f 53 54 41  20 6d 61 6e 73 69 7a 65  |e..t.STA mansize|
00000780  0d 04 7e 0b 4c 44 58 20  23 31 31 0d 04 88 13 2e  |..~.LDX #11.....|
00000790  62 61 73 65 62 72 6f 74  5f 6c 6f 6f 70 31 0d 04  |basebrot_loop1..|
000007a0  92 11 4c 44 41 20 62 61  73 65 78 79 73 2c 58 0d  |..LDA basexys,X.|
000007b0  04 9c 0b 53 54 41 20 78  2c 58 0d 04 a6 07 44 45  |...STA x,X....DE|
000007c0  58 0d 04 b0 16 42 50 4c  20 62 61 73 65 62 72 6f  |X....BPL basebro|
000007d0  74 5f 6c 6f 6f 70 31 0d  04 ba 05 3a 0d 04 c4 0d  |t_loop1....:....|
000007e0  2e 67 65 6e 5f 6d 61 6e  64 0d 04 ce 07 53 45 43  |.gen_mand....SEC|
000007f0  0d 04 d8 0a 4c 44 41 20  23 31 0d 04 e2 11 53 42  |....LDA #1....SB|
00000800  43 20 76 61 6c 5f 73 74  61 72 74 0d 04 ec 11 53  |C val_start....S|
00000810  54 41 20 76 61 6c 5f 73  74 61 72 74 0d 04 f6 11  |TA val_start....|
00000820  4a 53 52 20 6d 61 6e 64  5f 64 72 61 77 0d 05 00  |JSR mand_draw...|
00000830  07 53 45 43 0d 05 0a 0a  4c 44 41 20 23 31 0d 05  |.SEC....LDA #1..|
00000840  14 11 53 42 43 20 76 61  6c 5f 73 74 61 72 74 0d  |..SBC val_start.|
00000850  05 1e 11 53 54 41 20 76  61 6c 5f 73 74 61 72 74  |...STA val_start|
00000860  0d 05 28 0b 4c 44 58 20  23 31 31 0d 05 32 13 2e  |..(.LDX #11..2..|
00000870  67 65 6e 5f 6d 61 6e 64  5f 6c 6f 6f 70 31 0d 05  |gen_mand_loop1..|
00000880  3c 0b 4c 44 41 20 78 2c  58 0d 05 46 0f 53 54 41  |<.LDA x,X..F.STA|
00000890  20 6f 6c 64 5f 78 2c 58  0d 05 50 07 44 45 58 0d  | old_x,X..P.DEX.|
000008a0  05 5a 16 42 50 4c 20 67  65 6e 5f 6d 61 6e 64 5f  |.Z.BPL gen_mand_|
000008b0  6c 6f 6f 70 31 0d 05 64  07 52 54 53 0d 05 6e 05  |loop1..d.RTS..n.|
000008c0  3a 0d 05 78 0c 2e 62 61  73 65 78 79 73 0d 05 82  |:..x..basexys...|
000008d0  13 45 51 55 44 20 62 61  73 65 78 2a 32 5e 32 37  |.EQUD basex*2^27|
000008e0  0d 05 8c 13 45 51 55 44  20 62 61 73 65 79 2a 32  |....EQUD basey*2|
000008f0  5e 32 37 0d 05 96 13 45  51 55 44 20 62 61 73 65  |^27....EQUD base|
00000900  73 2a 32 5e 32 37 0d 05  a0 05 3a 0d 05 aa 0f 2e  |s*2^27....:.....|
00000910  73 68 6f 77 6c 65 67 65  6e 64 0d 05 b4 0d 4a 53  |showlegend....JS|
00000920  52 20 70 72 69 6e 74 0d  05 be 1d 45 51 55 57 20  |R print....EQUW |
00000930  73 68 6f 77 6c 5f 74 65  6e 64 2d 73 68 6f 77 6c  |showl_tend-showl|
00000940  5f 74 73 74 0d 05 c8 0e  2e 73 68 6f 77 6c 5f 74  |_tst.....showl_t|
00000950  73 74 0d 05 d2 0c 4f 50  54 20 a4 63 6c 73 0d 05  |st....OPT .cls..|
00000960  dc 20 4f 50 54 20 a4 74  61 62 28 30 2c 30 29 3a  |. OPT .tab(0,0):|
00000970  45 51 55 53 20 22 44 69  73 70 6c 61 79 22 0d 05  |EQUS "Display"..|
00000980  e6 1b 4f 50 54 20 a4 74  61 62 28 31 2c 31 29 3a  |..OPT .tab(1,1):|
00000990  45 51 55 53 20 22 78 3d  22 0d 05 f0 1b 4f 50 54  |EQUS "x="....OPT|
000009a0  20 a4 74 61 62 28 31 2c  34 29 3a 45 51 55 53 20  | .tab(1,4):EQUS |
000009b0  22 79 3d 22 0d 05 fa 1b  4f 50 54 20 a4 74 61 62  |"y="....OPT .tab|
000009c0  28 31 2c 37 29 3a 45 51  55 53 20 22 73 3d 22 0d  |(1,7):EQUS "s=".|
000009d0  06 04 1d 4f 50 54 20 a4  74 61 62 28 30 2c 31 31  |...OPT .tab(0,11|
000009e0  29 3a 45 51 55 53 20 22  42 6f 78 22 0d 06 0e 1c  |):EQUS "Box"....|
000009f0  4f 50 54 20 a4 74 61 62  28 31 2c 31 32 29 3a 45  |OPT .tab(1,12):E|
00000a00  51 55 53 20 22 78 3d 22  0d 06 18 1c 4f 50 54 20  |QUS "x="....OPT |
00000a10  a4 74 61 62 28 31 2c 31  35 29 3a 45 51 55 53 20  |.tab(1,15):EQUS |
00000a20  22 79 3d 22 0d 06 22 1c  4f 50 54 20 a4 74 61 62  |"y="..".OPT .tab|
00000a30  28 31 2c 31 38 29 3a 45  51 55 53 20 22 73 3d 22  |(1,18):EQUS "s="|
00000a40  0d 06 2c 22 4f 50 54 20  a4 74 61 62 28 30 2c 32  |..,"OPT .tab(0,2|
00000a50  32 29 3a 45 51 55 53 20  22 53 74 70 20 20 50 69  |2):EQUS "Stp  Pi|
00000a60  78 22 0d 06 36 22 4f 50  54 20 a4 74 61 62 28 30  |x"..6"OPT .tab(0|
00000a70  2c 32 35 29 3a 45 51 55  53 20 22 42 20 20 20 42  |,25):EQUS "B   B|
00000a80  61 73 65 22 0d 06 40 22  4f 50 54 20 a4 74 61 62  |ase"..@"OPT .tab|
00000a90  28 30 2c 32 36 29 3a 45  51 55 53 20 22 52 45 54  |(0,26):EQUS "RET|
00000aa0  20 50 6c 6f 74 22 0d 06  4a 22 4f 50 54 20 a4 74  | Plot"..J"OPT .t|
00000ab0  61 62 28 30 2c 32 38 29  3a 45 51 55 53 20 22 53  |ab(0,28):EQUS "S|
00000ac0  20 20 20 53 61 76 65 22  0d 06 54 22 4f 50 54 20  |   Save"..T"OPT |
00000ad0  a4 74 61 62 28 30 2c 32  39 29 3a 45 51 55 53 20  |.tab(0,29):EQUS |
00000ae0  22 51 20 20 20 51 75 69  74 22 0d 06 5e 11 4f 50  |"Q   Quit"..^.OP|
00000af0  54 20 a4 74 61 62 28 30  2c 32 29 0d 06 68 0f 2e  |T .tab(0,2)..h..|
00000b00  73 68 6f 77 6c 5f 74 65  6e 64 0d 06 72 0e 4c 44  |showl_tend..r.LD|
00000b10  58 20 23 6f 6c 64 5f 78  0d 06 7c 10 4a 53 52 20  |X #old_x..|.JSR |
00000b20  70 72 69 6e 74 6e 75 6d  0d 06 86 0a 4c 44 58 20  |printnum....LDX |
00000b30  23 30 0d 06 90 0a 4c 44  59 20 23 35 0d 06 9a 0b  |#0....LDY #5....|
00000b40  4a 53 52 20 74 61 62 0d  06 a4 0e 4c 44 58 20 23  |JSR tab....LDX #|
00000b50  6f 6c 64 5f 79 0d 06 ae  10 4a 53 52 20 70 72 69  |old_y....JSR pri|
00000b60  6e 74 6e 75 6d 0d 06 b8  0a 4c 44 58 20 23 30 0d  |ntnum....LDX #0.|
00000b70  06 c2 0a 4c 44 59 20 23  38 0d 06 cc 0b 4a 53 52  |...LDY #8....JSR|
00000b80  20 74 61 62 0d 06 d6 0e  4c 44 58 20 23 6f 6c 64  | tab....LDX #old|
00000b90  5f 73 0d 06 e0 05 3a 0d  06 ea 0d 2e 70 72 69 6e  |_s....:.....prin|
00000ba0  74 6e 75 6d 0d 06 f4 0a  4c 44 59 20 23 33 0d 06  |tnum....LDY #3..|
00000bb0  fe 0f 2e 70 6e 75 6d 5f  6c 6f 6f 70 31 0d 07 08  |...pnum_loop1...|
00000bc0  0b 4c 44 41 20 30 2c 58  0d 07 12 13 53 54 41 20  |.LDA 0,X....STA |
00000bd0  6e 75 6d 5f 74 65 6d 70  31 2c 59 0d 07 1c 07 49  |num_temp1,Y....I|
00000be0  4e 58 0d 07 26 07 44 45  59 0d 07 30 12 42 50 4c  |NX..&.DEY..0.BPL|
00000bf0  20 70 6e 75 6d 5f 6c 6f  6f 70 31 0d 07 3a 11 4c  | pnum_loop1..:.L|
00000c00  44 41 20 6e 75 6d 5f 74  65 6d 70 31 0d 07 44 11  |DA num_temp1..D.|
00000c10  42 50 4c 20 70 6e 75 6d  5f 70 6c 75 73 0d 07 4e  |BPL pnum_plus..N|
00000c20  0d 4c 44 41 20 23 97 22  2d 22 0d 07 58 0e 4a 53  |.LDA #."-"..X.JS|
00000c30  52 20 6f 73 77 72 63 68  0d 07 62 07 53 45 43 0d  |R oswrch..b.SEC.|
00000c40  07 6c 0a 4c 44 58 20 23  33 0d 07 76 0f 2e 70 6e  |.l.LDX #3..v..pn|
00000c50  75 6d 5f 6c 6f 6f 70 32  0d 07 80 0a 4c 44 41 20  |um_loop2....LDA |
00000c60  23 30 0d 07 8a 13 53 42  43 20 6e 75 6d 5f 74 65  |#0....SBC num_te|
00000c70  6d 70 31 2c 58 0d 07 94  13 53 54 41 20 6e 75 6d  |mp1,X....STA num|
00000c80  5f 74 65 6d 70 31 2c 58  0d 07 9e 07 44 45 58 0d  |_temp1,X....DEX.|
00000c90  07 a8 12 42 50 4c 20 70  6e 75 6d 5f 6c 6f 6f 70  |...BPL pnum_loop|
00000ca0  32 0d 07 b2 0e 2e 70 6e  75 6d 5f 70 6c 75 73 0d  |2.....pnum_plus.|
00000cb0  07 bc 11 4a 53 52 20 70  6e 75 6d 5f 70 64 69 67  |...JSR pnum_pdig|
00000cc0  0d 07 c6 11 42 45 51 20  70 6e 75 6d 5f 65 78 69  |....BEQ pnum_exi|
00000cd0  74 0d 07 d0 0d 4c 44 41  20 23 97 22 2e 22 0d 07  |t....LDA #."."..|
00000ce0  da 0e 4a 53 52 20 6f 73  77 72 63 68 0d 07 e4 0a  |..JSR oswrch....|
00000cf0  4c 44 41 20 23 38 0d 07  ee 12 53 54 41 20 6e 75  |LDA #8....STA nu|
00000d00  6d 5f 64 69 67 69 74 73  0d 07 f8 0f 2e 70 6e 75  |m_digits.....pnu|
00000d10  6d 5f 6c 6f 6f 70 33 0d  08 02 14 4a 53 52 20 70  |m_loop3....JSR p|
00000d20  6e 75 6d 5f 74 69 6d 65  73 31 30 0d 08 0c 11 4a  |num_times10....J|
00000d30  53 52 20 70 6e 75 6d 5f  70 64 69 67 0d 08 16 11  |SR pnum_pdig....|
00000d40  42 45 51 20 70 6e 75 6d  5f 65 78 69 74 0d 08 20  |BEQ pnum_exit.. |
00000d50  12 44 45 43 20 6e 75 6d  5f 64 69 67 69 74 73 0d  |.DEC num_digits.|
00000d60  08 2a 12 42 4e 45 20 70  6e 75 6d 5f 6c 6f 6f 70  |.*.BNE pnum_loop|
00000d70  33 0d 08 34 0e 2e 70 6e  75 6d 5f 65 78 69 74 0d  |3..4..pnum_exit.|
00000d80  08 3e 07 52 54 53 0d 08  48 05 3a 0d 08 52 0e 2e  |.>.RTS..H.:..R..|
00000d90  70 6e 75 6d 5f 70 64 69  67 0d 08 5c 11 4c 44 41  |pnum_pdig..\.LDA|
00000da0  20 6e 75 6d 5f 74 65 6d  70 31 0d 08 66 09 4c 53  | num_temp1..f.LS|
00000db0  52 20 41 0d 08 70 09 4c  53 52 20 41 0d 08 7a 09  |R A..p.LSR A..z.|
00000dc0  4c 53 52 20 41 0d 08 84  07 43 4c 43 0d 08 8e 0d  |LSR A....CLC....|
00000dd0  41 44 43 20 23 97 22 30  22 0d 08 98 0e 4a 53 52  |ADC #."0"....JSR|
00000de0  20 6f 73 77 72 63 68 0d  08 a2 11 4c 44 41 20 6e  | oswrch....LDA n|
00000df0  75 6d 5f 74 65 6d 70 31  0d 08 ac 08 80 20 23 37  |um_temp1..... #7|
00000e00  0d 08 b6 11 53 54 41 20  6e 75 6d 5f 74 65 6d 70  |....STA num_temp|
00000e10  31 0d 08 c0 12 84 41 20  6e 75 6d 5f 74 65 6d 70  |1.....A num_temp|
00000e20  31 2b 31 0d 08 ca 12 84  41 20 6e 75 6d 5f 74 65  |1+1.....A num_te|
00000e30  6d 70 31 2b 32 0d 08 d4  12 84 41 20 6e 75 6d 5f  |mp1+2.....A num_|
00000e40  74 65 6d 70 31 2b 33 0d  08 de 07 52 54 53 0d 08  |temp1+3....RTS..|
00000e50  e8 05 3a 0d 08 f2 11 2e  70 6e 75 6d 5f 74 69 6d  |..:.....pnum_tim|
00000e60  65 73 31 30 0d 08 fc 07  43 4c 43 0d 09 06 0a 4c  |es10....CLC....L|
00000e70  44 58 20 23 33 0d 09 10  13 2e 70 6e 75 6d 5f 74  |DX #3.....pnum_t|
00000e80  31 30 5f 6c 6f 6f 70 31  0d 09 1a 13 52 4f 4c 20  |10_loop1....ROL |
00000e90  6e 75 6d 5f 74 65 6d 70  31 2c 58 0d 09 24 13 4c  |num_temp1,X..$.L|
00000ea0  44 41 20 6e 75 6d 5f 74  65 6d 70 31 2c 58 0d 09  |DA num_temp1,X..|
00000eb0  2e 13 53 54 41 20 6e 75  6d 5f 74 65 6d 70 32 2c  |..STA num_temp2,|
00000ec0  58 0d 09 38 07 44 45 58  0d 09 42 16 42 50 4c 20  |X..8.DEX..B.BPL |
00000ed0  70 6e 75 6d 5f 74 31 30  5f 6c 6f 6f 70 31 0d 09  |pnum_t10_loop1..|
00000ee0  4c 0a 4c 44 58 20 23 32  0d 09 56 13 2e 70 6e 75  |L.LDX #2..V..pnu|
00000ef0  6d 5f 74 31 30 5f 6c 6f  6f 70 32 0d 09 60 13 41  |m_t10_loop2..`.A|
00000f00  53 4c 20 6e 75 6d 5f 74  65 6d 70 31 2b 33 0d 09  |SL num_temp1+3..|
00000f10  6a 13 52 4f 4c 20 6e 75  6d 5f 74 65 6d 70 31 2b  |j.ROL num_temp1+|
00000f20  32 0d 09 74 13 52 4f 4c  20 6e 75 6d 5f 74 65 6d  |2..t.ROL num_tem|
00000f30  70 31 2b 31 0d 09 7e 11  52 4f 4c 20 6e 75 6d 5f  |p1+1..~.ROL num_|
00000f40  74 65 6d 70 31 0d 09 88  07 44 45 58 0d 09 92 16  |temp1....DEX....|
00000f50  42 4e 45 20 70 6e 75 6d  5f 74 31 30 5f 6c 6f 6f  |BNE pnum_t10_loo|
00000f60  70 32 0d 09 9c 07 43 4c  43 0d 09 a6 0a 4c 44 58  |p2....CLC....LDX|
00000f70  20 23 33 0d 09 b0 13 2e  70 6e 75 6d 5f 74 31 30  | #3.....pnum_t10|
00000f80  5f 6c 6f 6f 70 33 0d 09  ba 13 4c 44 41 20 6e 75  |_loop3....LDA nu|
00000f90  6d 5f 74 65 6d 70 31 2c  58 0d 09 c4 13 41 44 43  |m_temp1,X....ADC|
00000fa0  20 6e 75 6d 5f 74 65 6d  70 32 2c 58 0d 09 ce 13  | num_temp2,X....|
00000fb0  53 54 41 20 6e 75 6d 5f  74 65 6d 70 31 2c 58 0d  |STA num_temp1,X.|
00000fc0  09 d8 07 44 45 58 0d 09  e2 16 42 50 4c 20 70 6e  |...DEX....BPL pn|
00000fd0  75 6d 5f 74 31 30 5f 6c  6f 6f 70 33 0d 09 ec 07  |um_t10_loop3....|
00000fe0  52 54 53 0d 09 f6 05 3a  0d 0a 00 0d 2e 73 68 6f  |RTS....:.....sho|
00000ff0  77 69 6e 66 6f 0d 0a 0a  13 4a 53 52 20 73 68 6f  |winfo....JSR sho|
00001000  77 5f 62 6f 78 78 79 73  0d 0a 14 05 3a 0d 0a 1e  |w_boxxys....:...|
00001010  10 2e 73 68 6f 77 5f 73  74 70 70 69 78 0d 0a 28  |..show_stppix..(|
00001020  0a 4c 44 58 20 23 30 0d  0a 32 0b 4c 44 59 20 23  |.LDX #0..2.LDY #|
00001030  32 33 0d 0a 3c 0b 4a 53  52 20 74 61 62 0d 0a 46  |23..<.JSR tab..F|
00001040  0a 4c 44 58 20 23 30 0d  0a 50 11 4c 44 41 20 76  |.LDX #0..P.LDA v|
00001050  61 6c 5f 73 74 61 72 74  0d 0a 5a 14 42 4e 45 20  |al_start..Z.BNE |
00001060  73 74 70 70 69 78 5f 6e  69 6e 63 31 0d 0a 64 07  |stppix_ninc1..d.|
00001070  49 4e 58 0d 0a 6e 11 2e  73 74 70 70 69 78 5f 6e  |INX..n..stppix_n|
00001080  69 6e 63 31 0d 0a 78 0c  4a 53 52 20 70 64 65 63  |inc1..x.JSR pdec|
00001090  0d 0a 82 0a 4c 44 58 20  23 35 0d 0a 8c 0b 4c 44  |....LDX #5....LD|
000010a0  59 20 23 32 33 0d 0a 96  0b 4a 53 52 20 74 61 62  |Y #23....JSR tab|
000010b0  0d 0a a0 0a 4c 44 58 20  23 30 0d 0a aa 0f 4c 44  |....LDX #0....LD|
000010c0  41 20 6d 61 6e 73 69 7a  65 0d 0a b4 05 3a 0d 0a  |A mansize....:..|
000010d0  be 09 2e 70 64 65 63 0d  0a c8 11 53 54 41 20 6e  |...pdec....STA n|
000010e0  75 6d 5f 74 65 6d 70 31  0d 0a d2 13 53 54 58 20  |um_temp1....STX |
000010f0  6e 75 6d 5f 74 65 6d 70  31 2b 31 0d 0a dc 0a 4c  |num_temp1+1....L|
00001100  44 59 20 23 30 0d 0a e6  0f 2e 70 64 65 63 5f 6c  |DY #0.....pdec_l|
00001110  6f 6f 70 31 0d 0a f0 0a  4c 44 41 20 23 30 0d 0a  |oop1....LDA #0..|
00001120  fa 0b 4c 44 58 20 23 31  36 0d 0b 04 0f 2e 70 64  |..LDX #16.....pd|
00001130  65 63 5f 6c 6f 6f 70 32  0d 0b 0e 11 41 53 4c 20  |ec_loop2....ASL |
00001140  6e 75 6d 5f 74 65 6d 70  31 0d 0b 18 13 52 4f 4c  |num_temp1....ROL|
00001150  20 6e 75 6d 5f 74 65 6d  70 31 2b 31 0d 0b 22 09  | num_temp1+1..".|
00001160  52 4f 4c 20 41 0d 0b 2c  0b 43 4d 50 20 23 31 30  |ROL A..,.CMP #10|
00001170  0d 0b 36 12 42 43 43 20  70 64 65 63 5f 6e 6f 73  |..6.BCC pdec_nos|
00001180  75 62 0d 0b 40 0b 53 42  43 20 23 31 30 0d 0b 4a  |ub..@.SBC #10..J|
00001190  11 49 4e 43 20 6e 75 6d  5f 74 65 6d 70 31 0d 0b  |.INC num_temp1..|
000011a0  54 0f 2e 70 64 65 63 5f  6e 6f 73 75 62 0d 0b 5e  |T..pdec_nosub..^|
000011b0  07 44 45 58 0d 0b 68 12  42 4e 45 20 70 64 65 63  |.DEX..h.BNE pdec|
000011c0  5f 6c 6f 6f 70 32 0d 0b  72 07 50 48 41 0d 0b 7c  |_loop2..r.PHA..||
000011d0  07 49 4e 59 0d 0b 86 11  4c 44 41 20 6e 75 6d 5f  |.INY....LDA num_|
000011e0  74 65 6d 70 31 0d 0b 90  12 84 41 20 6e 75 6d 5f  |temp1.....A num_|
000011f0  74 65 6d 70 31 2b 31 0d  0b 9a 12 42 4e 45 20 70  |temp1+1....BNE p|
00001200  64 65 63 5f 6c 6f 6f 70  31 0d 0b a4 07 54 59 41  |dec_loop1....TYA|
00001210  0d 0b ae 0a 82 20 23 26  46 46 0d 0b b8 07 43 4c  |..... #&FF....CL|
00001220  43 0d 0b c2 0a 41 44 43  20 23 34 0d 0b cc 12 42  |C....ADC #4....B|
00001230  45 51 20 70 64 65 63 5f  6c 6f 6f 70 34 0d 0b d6  |EQ pdec_loop4...|
00001240  07 54 41 58 0d 0b e0 0d  4c 44 41 20 23 97 22 20  |.TAX....LDA #." |
00001250  22 0d 0b ea 0f 2e 70 64  65 63 5f 6c 6f 6f 70 33  |".....pdec_loop3|
00001260  0d 0b f4 0e 4a 53 52 20  6f 73 77 72 63 68 0d 0b  |....JSR oswrch..|
00001270  fe 07 44 45 58 0d 0c 08  12 42 4e 45 20 70 64 65  |..DEX....BNE pde|
00001280  63 5f 6c 6f 6f 70 33 0d  0c 12 0f 2e 70 64 65 63  |c_loop3.....pdec|
00001290  5f 6c 6f 6f 70 34 0d 0c  1c 07 50 4c 41 0d 0c 26  |_loop4....PLA..&|
000012a0  07 43 4c 43 0d 0c 30 0d  41 44 43 20 23 97 22 30  |.CLC..0.ADC #."0|
000012b0  22 0d 0c 3a 0e 4a 53 52  20 6f 73 77 72 63 68 0d  |"..:.JSR oswrch.|
000012c0  0c 44 07 44 45 59 0d 0c  4e 12 42 4e 45 20 70 64  |.D.DEY..N.BNE pd|
000012d0  65 63 5f 6c 6f 6f 70 34  0d 0c 58 07 52 54 53 0d  |ec_loop4..X.RTS.|
000012e0  0c 62 05 3a 0d 0c 6c 10  2e 73 68 6f 77 5f 62 6f  |.b.:..l..show_bo|
000012f0  78 78 79 73 0d 0c 76 0d  4a 53 52 20 70 72 69 6e  |xxys..v.JSR prin|
00001300  74 0d 0c 80 23 45 51 55  57 20 73 68 6f 77 69 6e  |t...#EQUW showin|
00001310  66 6f 5f 74 65 6e 64 2d  73 68 6f 77 69 6e 66 6f  |fo_tend-showinfo|
00001320  5f 74 73 74 0d 0c 8a 11  2e 73 68 6f 77 69 6e 66  |_tst.....showinf|
00001330  6f 5f 74 73 74 0d 0c 94  20 4f 50 54 20 a4 74 61  |o_tst... OPT .ta|
00001340  62 28 30 2c 31 33 29 3a  45 51 55 53 20 c4 31 36  |b(0,13):EQUS .16|
00001350  2c 22 20 22 29 0d 0c 9e  20 4f 50 54 20 a4 74 61  |," ")... OPT .ta|
00001360  62 28 30 2c 31 36 29 3a  45 51 55 53 20 c4 31 36  |b(0,16):EQUS .16|
00001370  2c 22 20 22 29 0d 0c a8  20 4f 50 54 20 a4 74 61  |," ")... OPT .ta|
00001380  62 28 30 2c 31 39 29 3a  45 51 55 53 20 c4 31 36  |b(0,19):EQUS .16|
00001390  2c 22 20 22 29 0d 0c b2  12 4f 50 54 20 a4 74 61  |," ")....OPT .ta|
000013a0  62 28 30 2c 31 33 29 0d  0c bc 12 2e 73 68 6f 77  |b(0,13).....show|
000013b0  69 6e 66 6f 5f 74 65 6e  64 0d 0c c6 13 4a 53 52  |info_tend....JSR|
000013c0  20 63 61 6c 63 5f 6e 65  77 78 79 73 0d 0c d0 0a  | calc_newxys....|
000013d0  4c 44 58 20 23 78 0d 0c  da 10 4a 53 52 20 70 72  |LDX #x....JSR pr|
000013e0  69 6e 74 6e 75 6d 0d 0c  e4 0a 4c 44 58 20 23 30  |intnum....LDX #0|
000013f0  0d 0c ee 0b 4c 44 59 20  23 31 36 0d 0c f8 0b 4a  |....LDY #16....J|
00001400  53 52 20 74 61 62 0d 0d  02 0a 4c 44 58 20 23 79  |SR tab....LDX #y|
00001410  0d 0d 0c 10 4a 53 52 20  70 72 69 6e 74 6e 75 6d  |....JSR printnum|
00001420  0d 0d 16 0a 4c 44 58 20  23 30 0d 0d 20 0b 4c 44  |....LDX #0.. .LD|
00001430  59 20 23 31 39 0d 0d 2a  0b 4a 53 52 20 74 61 62  |Y #19..*.JSR tab|
00001440  0d 0d 34 0a 4c 44 58 20  23 73 0d 0d 3e 10 4a 4d  |..4.LDX #s..>.JM|
00001450  50 20 70 72 69 6e 74 6e  75 6d 0d 0d 48 05 3a 0d  |P printnum..H.:.|
00001460  0d 52 10 2e 63 61 6c 63  5f 6e 65 77 78 79 73 0d  |.R..calc_newxys.|
00001470  0d 5c 0d 4c 44 41 20 62  6f 78 5f 78 0d 0d 66 15  |.\.LDA box_x..f.|
00001480  4a 53 52 20 63 61 6c 63  5f 6e 65 77 5f 6d 75 6c  |JSR calc_new_mul|
00001490  74 0d 0d 70 0c 4c 44 58  20 23 78 2d 78 0d 0d 7a  |t..p.LDX #x-x..z|
000014a0  14 4a 53 52 20 63 61 6c  63 5f 6e 65 77 5f 61 64  |.JSR calc_new_ad|
000014b0  64 0d 0d 84 0d 4c 44 41  20 62 6f 78 5f 79 0d 0d  |d....LDA box_y..|
000014c0  8e 15 4a 53 52 20 63 61  6c 63 5f 6e 65 77 5f 6d  |..JSR calc_new_m|
000014d0  75 6c 74 0d 0d 98 0c 4c  44 58 20 23 79 2d 78 0d  |ult....LDX #y-x.|
000014e0  0d a2 14 4a 53 52 20 63  61 6c 63 5f 6e 65 77 5f  |...JSR calc_new_|
000014f0  61 64 64 0d 0d ac 0d 4c  44 41 20 62 6f 78 5f 73  |add....LDA box_s|
00001500  0d 0d b6 15 4a 53 52 20  63 61 6c 63 5f 6e 65 77  |....JSR calc_new|
00001510  5f 6d 75 6c 74 0d 0d c0  0a 4c 44 58 20 23 33 0d  |_mult....LDX #3.|
00001520  0d ca 13 2e 63 61 6c 63  5f 6e 65 77 5f 6c 6f 6f  |....calc_new_loo|
00001530  70 31 0d 0d d4 13 4c 44  41 20 6e 75 6d 5f 74 65  |p1....LDA num_te|
00001540  6d 70 31 2c 58 0d 0d de  0b 53 54 41 20 73 2c 58  |mp1,X....STA s,X|
00001550  0d 0d e8 07 44 45 58 0d  0d f2 16 42 50 4c 20 63  |....DEX....BPL c|
00001560  61 6c 63 5f 6e 65 77 5f  6c 6f 6f 70 31 0d 0d fc  |alc_new_loop1...|
00001570  07 52 54 53 0d 0e 06 05  3a 0d 0e 10 12 2e 63 61  |.RTS....:.....ca|
00001580  6c 63 5f 6e 65 77 5f 6d  75 6c 74 0d 0e 1a 13 53  |lc_new_mult....S|
00001590  54 41 20 6e 75 6d 5f 74  65 6d 70 32 2b 31 0d 0e  |TA num_temp2+1..|
000015a0  24 0a 4c 44 41 20 23 30  0d 0e 2e 11 53 54 41 20  |$.LDA #0....STA |
000015b0  6e 75 6d 5f 74 65 6d 70  32 0d 0e 38 11 53 54 41  |num_temp2..8.STA|
000015c0  20 6e 75 6d 5f 74 65 6d  70 31 0d 0e 42 13 53 54  | num_temp1..B.ST|
000015d0  41 20 6e 75 6d 5f 74 65  6d 70 31 2b 31 0d 0e 4c  |A num_temp1+1..L|
000015e0  13 53 54 41 20 6e 75 6d  5f 74 65 6d 70 31 2b 32  |.STA num_temp1+2|
000015f0  0d 0e 56 13 53 54 41 20  6e 75 6d 5f 74 65 6d 70  |..V.STA num_temp|
00001600  31 2b 33 0d 0e 60 0a 4c  44 58 20 23 38 0d 0e 6a  |1+3..`.LDX #8..j|
00001610  14 2e 63 61 6c 63 5f 6d  75 6c 74 5f 6c 6f 6f 70  |..calc_mult_loop|
00001620  31 0d 0e 74 13 41 53 4c  20 6e 75 6d 5f 74 65 6d  |1..t.ASL num_tem|
00001630  70 32 2b 31 0d 0e 7e 17  42 43 43 20 63 61 6c 63  |p2+1..~.BCC calc|
00001640  5f 6d 75 6c 74 5f 6e 6f  61 64 64 0d 0e 88 07 43  |_mult_noadd....C|
00001650  4c 43 0d 0e 92 11 4c 44  41 20 6e 75 6d 5f 74 65  |LC....LDA num_te|
00001660  6d 70 32 0d 0e 9c 0d 41  44 43 20 6f 6c 64 5f 73  |mp2....ADC old_s|
00001670  0d 0e a6 11 53 54 41 20  6e 75 6d 5f 74 65 6d 70  |....STA num_temp|
00001680  32 0d 0e b0 11 4c 44 41  20 6e 75 6d 5f 74 65 6d  |2....LDA num_tem|
00001690  70 31 0d 0e ba 0f 41 44  43 20 6f 6c 64 5f 73 2b  |p1....ADC old_s+|
000016a0  31 0d 0e c4 11 53 54 41  20 6e 75 6d 5f 74 65 6d  |1....STA num_tem|
000016b0  70 31 0d 0e ce 13 4c 44  41 20 6e 75 6d 5f 74 65  |p1....LDA num_te|
000016c0  6d 70 31 2b 31 0d 0e d8  0f 41 44 43 20 6f 6c 64  |mp1+1....ADC old|
000016d0  5f 73 2b 32 0d 0e e2 13  53 54 41 20 6e 75 6d 5f  |_s+2....STA num_|
000016e0  74 65 6d 70 31 2b 31 0d  0e ec 13 4c 44 41 20 6e  |temp1+1....LDA n|
000016f0  75 6d 5f 74 65 6d 70 31  2b 32 0d 0e f6 0f 41 44  |um_temp1+2....AD|
00001700  43 20 6f 6c 64 5f 73 2b  33 0d 0f 00 13 53 54 41  |C old_s+3....STA|
00001710  20 6e 75 6d 5f 74 65 6d  70 31 2b 32 0d 0f 0a 17  | num_temp1+2....|
00001720  42 43 43 20 63 61 6c 63  5f 6d 75 6c 74 5f 6e 6f  |BCC calc_mult_no|
00001730  61 64 64 0d 0f 14 13 49  4e 43 20 6e 75 6d 5f 74  |add....INC num_t|
00001740  65 6d 70 31 2b 33 0d 0f  1e 14 2e 63 61 6c 63 5f  |emp1+3.....calc_|
00001750  6d 75 6c 74 5f 6e 6f 61  64 64 0d 0f 28 11 41 53  |mult_noadd..(.AS|
00001760  4c 20 6e 75 6d 5f 74 65  6d 70 32 0d 0f 32 11 52  |L num_temp2..2.R|
00001770  4f 4c 20 6e 75 6d 5f 74  65 6d 70 31 0d 0f 3c 13  |OL num_temp1..<.|
00001780  52 4f 4c 20 6e 75 6d 5f  74 65 6d 70 31 2b 31 0d  |ROL num_temp1+1.|
00001790  0f 46 13 52 4f 4c 20 6e  75 6d 5f 74 65 6d 70 31  |.F.ROL num_temp1|
000017a0  2b 32 0d 0f 50 13 52 4f  4c 20 6e 75 6d 5f 74 65  |+2..P.ROL num_te|
000017b0  6d 70 31 2b 33 0d 0f 5a  07 44 45 58 0d 0f 64 17  |mp1+3..Z.DEX..d.|
000017c0  42 4e 45 20 63 61 6c 63  5f 6d 75 6c 74 5f 6c 6f  |BNE calc_mult_lo|
000017d0  6f 70 31 0d 0f 6e 07 52  54 53 0d 0f 78 05 3a 0d  |op1..n.RTS..x.:.|
000017e0  0f 82 11 2e 63 61 6c 63  5f 6e 65 77 5f 61 64 64  |....calc_new_add|
000017f0  0d 0f 8c 07 43 4c 43 0d  0f 96 11 4c 44 41 20 6e  |....CLC....LDA n|
00001800  75 6d 5f 74 65 6d 70 31  0d 0f a0 0f 41 44 43 20  |um_temp1....ADC |
00001810  6f 6c 64 5f 78 2c 58 0d  0f aa 0b 53 54 41 20 78  |old_x,X....STA x|
00001820  2c 58 0d 0f b4 13 4c 44  41 20 6e 75 6d 5f 74 65  |,X....LDA num_te|
00001830  6d 70 31 2b 31 0d 0f be  11 41 44 43 20 6f 6c 64  |mp1+1....ADC old|
00001840  5f 78 2b 31 2c 58 0d 0f  c8 0d 53 54 41 20 78 2b  |_x+1,X....STA x+|
00001850  31 2c 58 0d 0f d2 13 4c  44 41 20 6e 75 6d 5f 74  |1,X....LDA num_t|
00001860  65 6d 70 31 2b 32 0d 0f  dc 11 41 44 43 20 6f 6c  |emp1+2....ADC ol|
00001870  64 5f 78 2b 32 2c 58 0d  0f e6 0d 53 54 41 20 78  |d_x+2,X....STA x|
00001880  2b 32 2c 58 0d 0f f0 13  4c 44 41 20 6e 75 6d 5f  |+2,X....LDA num_|
00001890  74 65 6d 70 31 2b 33 0d  0f fa 11 41 44 43 20 6f  |temp1+3....ADC o|
000018a0  6c 64 5f 78 2b 33 2c 58  0d 10 04 0d 53 54 41 20  |ld_x+3,X....STA |
000018b0  78 2b 33 2c 58 0d 10 0e  07 52 54 53 0d 10 18 05  |x+3,X....RTS....|
000018c0  3a 0d 10 22 0c 2e 73 68  6f 77 62 6f 78 0d 10 2c  |:.."..showbox..,|
000018d0  0b 4c 44 41 20 23 31 38  0d 10 36 0e 4a 53 52 20  |.LDA #18..6.JSR |
000018e0  6f 73 77 72 63 68 0d 10  40 0a 4c 44 41 20 23 34  |oswrch..@.LDA #4|
000018f0  0d 10 4a 0e 4a 53 52 20  6f 73 77 72 63 68 0d 10  |..J.JSR oswrch..|
00001900  54 0a 4c 44 41 20 23 30  0d 10 5e 0e 4a 53 52 20  |T.LDA #0..^.JSR |
00001910  6f 73 77 72 63 68 0d 10  68 18 4c 44 58 20 23 64  |oswrch..h.LDX #d|
00001920  72 61 77 5f 78 31 2d 64  72 61 77 5f 78 31 0d 10  |raw_x1-draw_x1..|
00001930  72 0d 4c 44 41 20 62 6f  78 5f 78 0d 10 7c 14 4a  |r.LDA box_x..|.J|
00001940  53 52 20 73 68 6f 77 62  6f 78 5f 63 61 6c 63 0d  |SR showbox_calc.|
00001950  10 86 18 4c 44 58 20 23  64 72 61 77 5f 79 31 2d  |...LDX #draw_y1-|
00001960  64 72 61 77 5f 78 31 0d  10 90 0d 4c 44 41 20 62  |draw_x1....LDA b|
00001970  6f 78 5f 79 0d 10 9a 14  4a 53 52 20 73 68 6f 77  |ox_y....JSR show|
00001980  62 6f 78 5f 63 61 6c 63  0d 10 a4 18 4c 44 58 20  |box_calc....LDX |
00001990  23 64 72 61 77 5f 78 32  2d 64 72 61 77 5f 78 31  |#draw_x2-draw_x1|
000019a0  0d 10 ae 0d 4c 44 59 20  62 6f 78 5f 73 0d 10 b8  |....LDY box_s...|
000019b0  07 44 45 59 0d 10 c2 07  54 59 41 0d 10 cc 07 50  |.DEY....TYA....P|
000019c0  48 41 0d 10 d6 07 43 4c  43 0d 10 e0 0d 41 44 43  |HA....CLC....ADC|
000019d0  20 62 6f 78 5f 78 0d 10  ea 14 4a 53 52 20 73 68  | box_x....JSR sh|
000019e0  6f 77 62 6f 78 5f 63 61  6c 63 0d 10 f4 0f 4c 44  |owbox_calc....LD|
000019f0  41 20 64 72 61 77 5f 78  32 0d 10 fe 09 84 41 20  |A draw_x2.....A |
00001a00  23 37 0d 11 08 0f 53 54  41 20 64 72 61 77 5f 78  |#7....STA draw_x|
00001a10  32 0d 11 12 18 4c 44 58  20 23 64 72 61 77 5f 79  |2....LDX #draw_y|
00001a20  32 2d 64 72 61 77 5f 78  31 0d 11 1c 07 50 4c 41  |2-draw_x1....PLA|
00001a30  0d 11 26 07 43 4c 43 0d  11 30 0d 41 44 43 20 62  |..&.CLC..0.ADC b|
00001a40  6f 78 5f 79 0d 11 3a 14  4a 53 52 20 73 68 6f 77  |ox_y..:.JSR show|
00001a50  62 6f 78 5f 63 61 6c 63  0d 11 44 0f 4c 44 41 20  |box_calc..D.LDA |
00001a60  64 72 61 77 5f 79 32 0d  11 4e 09 84 41 20 23 37  |draw_y2..N..A #7|
00001a70  0d 11 58 0f 53 54 41 20  64 72 61 77 5f 79 32 0d  |..X.STA draw_y2.|
00001a80  11 62 0a 4c 44 41 20 23  34 0d 11 6c 18 4c 44 58  |.b.LDA #4..l.LDX|
00001a90  20 23 64 72 61 77 5f 78  31 2d 64 72 61 77 5f 78  | #draw_x1-draw_x|
00001aa0  31 0d 11 76 18 4c 44 59  20 23 64 72 61 77 5f 79  |1..v.LDY #draw_y|
00001ab0  31 2d 64 72 61 77 5f 79  31 0d 11 80 14 4a 53 52  |1-draw_y1....JSR|
00001ac0  20 73 68 6f 77 62 6f 78  5f 70 6c 6f 74 0d 11 8a  | showbox_plot...|
00001ad0  0b 4c 44 41 20 23 31 33  0d 11 94 18 4c 44 58 20  |.LDA #13....LDX |
00001ae0  23 64 72 61 77 5f 78 32  2d 64 72 61 77 5f 78 31  |#draw_x2-draw_x1|
00001af0  0d 11 9e 14 4a 53 52 20  73 68 6f 77 62 6f 78 5f  |....JSR showbox_|
00001b00  70 6c 6f 74 0d 11 a8 18  4c 44 59 20 23 64 72 61  |plot....LDY #dra|
00001b10  77 5f 79 32 2d 64 72 61  77 5f 79 31 0d 11 b2 14  |w_y2-draw_y1....|
00001b20  4a 53 52 20 73 68 6f 77  62 6f 78 5f 70 6c 6f 74  |JSR showbox_plot|
00001b30  0d 11 bc 18 4c 44 58 20  23 64 72 61 77 5f 78 31  |....LDX #draw_x1|
00001b40  2d 64 72 61 77 5f 78 31  0d 11 c6 14 4a 53 52 20  |-draw_x1....JSR |
00001b50  73 68 6f 77 62 6f 78 5f  70 6c 6f 74 0d 11 d0 18  |showbox_plot....|
00001b60  4c 44 59 20 23 64 72 61  77 5f 79 31 2d 64 72 61  |LDY #draw_y1-dra|
00001b70  77 5f 79 31 0d 11 da 05  3a 0d 11 e4 11 2e 73 68  |w_y1....:.....sh|
00001b80  6f 77 62 6f 78 5f 70 6c  6f 74 0d 11 ee 07 50 48  |owbox_plot....PH|
00001b90  41 0d 11 f8 07 50 48 41  0d 12 02 0b 4c 44 41 20  |A....PHA....LDA |
00001ba0  23 32 35 0d 12 0c 0e 4a  53 52 20 6f 73 77 72 63  |#25....JSR oswrc|
00001bb0  68 0d 12 16 07 50 4c 41  0d 12 20 0e 4a 53 52 20  |h....PLA.. .JSR |
00001bc0  6f 73 77 72 63 68 0d 12  2a 11 4c 44 41 20 64 72  |oswrch..*.LDA dr|
00001bd0  61 77 5f 78 31 2c 58 0d  12 34 0e 4a 53 52 20 6f  |aw_x1,X..4.JSR o|
00001be0  73 77 72 63 68 0d 12 3e  13 4c 44 41 20 64 72 61  |swrch..>.LDA dra|
00001bf0  77 5f 78 31 2b 31 2c 58  0d 12 48 0e 4a 53 52 20  |w_x1+1,X..H.JSR |
00001c00  6f 73 77 72 63 68 0d 12  52 11 4c 44 41 20 64 72  |oswrch..R.LDA dr|
00001c10  61 77 5f 79 31 2c 59 0d  12 5c 0e 4a 53 52 20 6f  |aw_y1,Y..\.JSR o|
00001c20  73 77 72 63 68 0d 12 66  13 4c 44 41 20 64 72 61  |swrch..f.LDA dra|
00001c30  77 5f 79 31 2b 31 2c 59  0d 12 70 0e 4a 53 52 20  |w_y1+1,Y..p.JSR |
00001c40  6f 73 77 72 63 68 0d 12  7a 07 50 4c 41 0d 12 84  |oswrch..z.PLA...|
00001c50  07 52 54 53 0d 12 8e 05  3a 0d 12 98 11 2e 73 68  |.RTS....:.....sh|
00001c60  6f 77 62 6f 78 5f 63 61  6c 63 0d 12 a2 11 53 54  |owbox_calc....ST|
00001c70  41 20 64 72 61 77 5f 78  31 2c 58 0d 12 ac 0a 4c  |A draw_x1,X....L|
00001c80  44 41 20 23 30 0d 12 b6  13 53 54 41 20 64 72 61  |DA #0....STA dra|
00001c90  77 5f 78 31 2b 31 2c 58  0d 12 c0 0a 4c 44 59 20  |w_x1+1,X....LDY |
00001ca0  23 33 0d 12 ca 17 2e 73  68 6f 77 62 6f 78 5f 63  |#3.....showbox_c|
00001cb0  61 6c 63 5f 6c 6f 6f 70  31 0d 12 d4 11 41 53 4c  |alc_loop1....ASL|
00001cc0  20 64 72 61 77 5f 78 31  2c 58 0d 12 de 13 52 4f  | draw_x1,X....RO|
00001cd0  4c 20 64 72 61 77 5f 78  31 2b 31 2c 58 0d 12 e8  |L draw_x1+1,X...|
00001ce0  07 44 45 59 0d 12 f2 1a  42 4e 45 20 73 68 6f 77  |.DEY....BNE show|
00001cf0  62 6f 78 5f 63 61 6c 63  5f 6c 6f 6f 70 31 0d 12  |box_calc_loop1..|
00001d00  fc 07 52 54 53 0d 13 06  05 3a 0d 13 10 0f 2e 62  |..RTS....:.....b|
00001d10  6f 78 63 6f 6e 74 72 6f  6c 0d 13 1a 0d 4c 44 41  |oxcontrol....LDA|
00001d20  20 62 6f 78 5f 78 0d 13  24 11 53 54 41 20 6e 65  | box_x..$.STA ne|
00001d30  77 5f 62 6f 78 5f 78 0d  13 2e 0d 4c 44 41 20 62  |w_box_x....LDA b|
00001d40  6f 78 5f 79 0d 13 38 11  53 54 41 20 6e 65 77 5f  |ox_y..8.STA new_|
00001d50  62 6f 78 5f 79 0d 13 42  0d 4c 44 41 20 62 6f 78  |box_y..B.LDA box|
00001d60  5f 73 0d 13 4c 11 53 54  41 20 6e 65 77 5f 62 6f  |_s..L.STA new_bo|
00001d70  78 5f 73 0d 13 56 0c 4c  44 58 20 23 26 46 46 0d  |x_s..V.LDX #&FF.|
00001d80  13 60 0c 4c 44 59 20 23  26 46 46 0d 13 6a 0c 4c  |.`.LDY #&FF..j.L|
00001d90  44 41 20 23 26 38 31 0d  13 74 0e 4a 53 52 20 6f  |DA #&81..t.JSR o|
00001da0  73 62 79 74 65 0d 13 7e  11 53 54 58 20 62 6f 78  |sbyte..~.STX box|
00001db0  5f 73 68 69 66 74 0d 13  88 0a 4c 44 41 20 23 35  |_shift....LDA #5|
00001dc0  0d 13 92 12 53 54 41 20  62 6f 78 5f 63 6f 75 6e  |....STA box_coun|
00001dd0  74 31 0d 13 9c 0f 2e 62  6f 78 63 5f 6c 6f 6f 70  |t1.....boxc_loop|
00001de0  31 0d 13 a6 12 4c 44 59  20 62 6f 78 5f 63 6f 75  |1....LDY box_cou|
00001df0  6e 74 31 0d 13 b0 14 4c  44 58 20 62 6f 78 5f 6b  |nt1....LDX box_k|
00001e00  65 79 76 61 6c 2c 59 0d  13 ba 0c 4c 44 59 20 23  |eyval,Y....LDY #|
00001e10  26 46 46 0d 13 c4 0c 4c  44 41 20 23 26 38 31 0d  |&FF....LDA #&81.|
00001e20  13 ce 0e 4a 53 52 20 6f  73 62 79 74 65 0d 13 d8  |...JSR osbyte...|
00001e30  0c 43 50 58 20 23 26 46  46 0d 13 e2 17 42 4e 45  |.CPX #&FF....BNE|
00001e40  20 62 6f 78 63 5f 6e 6f  74 70 72 65 73 73 65 64  | boxc_notpressed|
00001e50  0d 13 ec 12 4c 44 59 20  62 6f 78 5f 63 6f 75 6e  |....LDY box_coun|
00001e60  74 31 0d 13 f6 13 4c 44  41 20 62 6f 78 5f 64 65  |t1....LDA box_de|
00001e70  6c 74 61 2c 59 0d 14 00  11 4c 44 58 20 62 6f 78  |lta,Y....LDX box|
00001e80  5f 73 68 69 66 74 0d 14  0a 0c 43 50 58 20 23 26  |_shift....CPX #&|
00001e90  46 46 0d 14 14 14 42 4e  45 20 62 6f 78 63 5f 6e  |FF....BNE boxc_n|
00001ea0  6f 73 68 69 66 74 0d 14  1e 15 4c 44 41 20 62 6f  |oshift....LDA bo|
00001eb0  78 5f 73 68 64 65 6c 74  61 2c 59 0d 14 28 11 2e  |x_shdelta,Y..(..|
00001ec0  62 6f 78 63 5f 6e 6f 73  68 69 66 74 0d 14 32 16  |boxc_noshift..2.|
00001ed0  4c 44 58 20 62 6f 78 5f  76 61 72 69 61 62 6c 65  |LDX box_variable|
00001ee0  2c 59 0d 14 3c 07 43 4c  43 0d 14 46 13 41 44 43  |,Y..<.CLC..F.ADC|
00001ef0  20 6e 65 77 5f 62 6f 78  5f 78 2c 58 0d 14 50 13  | new_box_x,X..P.|
00001f00  53 54 41 20 6e 65 77 5f  62 6f 78 5f 78 2c 58 0d  |STA new_box_x,X.|
00001f10  14 5a 14 2e 62 6f 78 63  5f 6e 6f 74 70 72 65 73  |.Z..boxc_notpres|
00001f20  73 65 64 0d 14 64 12 44  45 43 20 62 6f 78 5f 63  |sed..d.DEC box_c|
00001f30  6f 75 6e 74 31 0d 14 6e  12 42 50 4c 20 62 6f 78  |ount1..n.BPL box|
00001f40  63 5f 6c 6f 6f 70 31 0d  14 78 0a 4c 44 58 20 23  |c_loop1..x.LDX #|
00001f50  31 0d 14 82 11 4c 44 41  20 6e 65 77 5f 62 6f 78  |1....LDA new_box|
00001f60  5f 73 0d 14 8c 12 42 45  51 20 62 6f 78 63 5f 73  |_s....BEQ boxc_s|
00001f70  5f 73 65 74 0d 14 96 0c  43 4d 50 20 23 26 43 30  |_set....CMP #&C0|
00001f80  0d 14 a0 12 42 43 53 20  62 6f 78 63 5f 73 5f 73  |....BCS boxc_s_s|
00001f90  65 74 0d 14 aa 0c 43 4d  50 20 23 26 38 31 0d 14  |et....CMP #&81..|
00001fa0  b4 11 42 43 43 20 62 6f  78 63 5f 73 5f 6f 6b 0d  |..BCC boxc_s_ok.|
00001fb0  14 be 0c 4c 44 58 20 23  31 32 38 0d 14 c8 0f 2e  |...LDX #128.....|
00001fc0  62 6f 78 63 5f 73 5f 73  65 74 0d 14 d2 11 53 54  |boxc_s_set....ST|
00001fd0  58 20 6e 65 77 5f 62 6f  78 5f 73 0d 14 dc 0e 2e  |X new_box_s.....|
00001fe0  62 6f 78 63 5f 73 5f 6f  6b 0d 14 e6 0a 4c 44 59  |boxc_s_ok....LDY|
00001ff0  20 23 31 0d 14 f0 0f 2e  62 6f 78 63 5f 6c 6f 6f  | #1.....boxc_loo|
00002000  70 32 0d 14 fa 0a 4c 44  58 20 23 30 0d 15 04 13  |p2....LDX #0....|
00002010  4c 44 41 20 6e 65 77 5f  62 6f 78 5f 78 2c 59 0d  |LDA new_box_x,Y.|
00002020  15 0e 0c 43 4d 50 20 23  26 43 30 0d 15 18 13 42  |...CMP #&C0....B|
00002030  43 53 20 62 6f 78 63 5f  78 79 5f 73 65 74 0d 15  |CS boxc_xy_set..|
00002040  22 11 41 44 43 20 6e 65  77 5f 62 6f 78 5f 73 0d  |".ADC new_box_s.|
00002050  15 2c 0c 43 4d 50 20 23  26 38 31 0d 15 36 12 42  |.,.CMP #&81..6.B|
00002060  43 43 20 62 6f 78 63 5f  78 79 5f 6f 6b 0d 15 40  |CC boxc_xy_ok..@|
00002070  0c 4c 44 41 20 23 31 32  38 0d 15 4a 11 53 42 43  |.LDA #128..J.SBC|
00002080  20 6e 65 77 5f 62 6f 78  5f 73 0d 15 54 07 54 41  | new_box_s..T.TA|
00002090  58 0d 15 5e 10 2e 62 6f  78 63 5f 78 79 5f 73 65  |X..^..boxc_xy_se|
000020a0  74 0d 15 68 07 54 58 41  0d 15 72 13 53 54 41 20  |t..h.TXA..r.STA |
000020b0  6e 65 77 5f 62 6f 78 5f  78 2c 59 0d 15 7c 0f 2e  |new_box_x,Y..|..|
000020c0  62 6f 78 63 5f 78 79 5f  6f 6b 0d 15 86 07 44 45  |boxc_xy_ok....DE|
000020d0  59 0d 15 90 12 42 50 4c  20 62 6f 78 63 5f 6c 6f  |Y....BPL boxc_lo|
000020e0  6f 70 32 0d 15 9a 11 4c  44 41 20 6e 65 77 5f 62  |op2....LDA new_b|
000020f0  6f 78 5f 78 0d 15 a4 0d  43 4d 50 20 62 6f 78 5f  |ox_x....CMP box_|
00002100  78 0d 15 ae 14 42 4e 45  20 62 6f 78 63 5f 63 68  |x....BNE boxc_ch|
00002110  61 6e 67 65 64 0d 15 b8  11 4c 44 41 20 6e 65 77  |anged....LDA new|
00002120  5f 62 6f 78 5f 79 0d 15  c2 0d 43 4d 50 20 62 6f  |_box_y....CMP bo|
00002130  78 5f 79 0d 15 cc 14 42  4e 45 20 62 6f 78 63 5f  |x_y....BNE boxc_|
00002140  63 68 61 6e 67 65 64 0d  15 d6 11 4c 44 41 20 6e  |changed....LDA n|
00002150  65 77 5f 62 6f 78 5f 73  0d 15 e0 0d 43 4d 50 20  |ew_box_s....CMP |
00002160  62 6f 78 5f 73 0d 15 ea  15 42 45 51 20 62 6f 78  |box_s....BEQ box|
00002170  63 5f 6e 6f 63 68 61 6e  67 65 0d 15 f4 11 2e 62  |c_nochange.....b|
00002180  6f 78 63 5f 63 68 61 6e  67 65 64 0d 15 fe 0f 4a  |oxc_changed....J|
00002190  53 52 20 73 68 6f 77 62  6f 78 0d 16 08 11 4c 44  |SR showbox....LD|
000021a0  41 20 6e 65 77 5f 62 6f  78 5f 78 0d 16 12 0d 53  |A new_box_x....S|
000021b0  54 41 20 62 6f 78 5f 78  0d 16 1c 11 4c 44 41 20  |TA box_x....LDA |
000021c0  6e 65 77 5f 62 6f 78 5f  79 0d 16 26 0d 53 54 41  |new_box_y..&.STA|
000021d0  20 62 6f 78 5f 79 0d 16  30 11 4c 44 41 20 6e 65  | box_y..0.LDA ne|
000021e0  77 5f 62 6f 78 5f 73 0d  16 3a 0d 53 54 41 20 62  |w_box_s..:.STA b|
000021f0  6f 78 5f 73 0d 16 44 0f  4a 53 52 20 73 68 6f 77  |ox_s..D.JSR show|
00002200  62 6f 78 0d 16 4e 13 4a  53 52 20 73 68 6f 77 5f  |box..N.JSR show_|
00002210  62 6f 78 78 79 73 0d 16  58 12 2e 62 6f 78 63 5f  |boxxys..X..boxc_|
00002220  6e 6f 63 68 61 6e 67 65  0d 16 62 07 52 54 53 0d  |nochange..b.RTS.|
00002230  16 6c 05 3a 0d 16 76 0f  2e 62 6f 78 5f 6b 65 79  |.l.:..v..box_key|
00002240  76 61 6c 0d 16 80 1d 45  51 55 44 20 26 44 36 43  |val....EQUD &D6C|
00002250  36 38 36 45 36 3a 45 51  55 57 20 26 39 38 39 39  |686E6:EQUW &9899|
00002260  0d 16 8a 11 2e 62 6f 78  5f 76 61 72 69 61 62 6c  |.....box_variabl|
00002270  65 0d 16 94 1d 45 51 55  44 20 26 30 31 30 31 30  |e....EQUD &01010|
00002280  30 30 30 3a 45 51 55 57  20 26 30 32 30 32 0d 16  |000:EQUW &0202..|
00002290  9e 0e 2e 62 6f 78 5f 64  65 6c 74 61 0d 16 a8 1d  |...box_delta....|
000022a0  45 51 55 44 20 26 46 46  30 31 30 31 46 46 3a 45  |EQUD &FF0101FF:E|
000022b0  51 55 57 20 26 30 31 46  46 0d 16 b2 10 2e 62 6f  |QUW &01FF.....bo|
000022c0  78 5f 73 68 64 65 6c 74  61 0d 16 bc 1d 45 51 55  |x_shdelta....EQU|
000022d0  44 20 26 46 43 30 34 30  34 46 43 3a 45 51 55 57  |D &FC0404FC:EQUW|
000022e0  20 26 30 34 46 43 0d 16  c6 05 3a 0d 16 d0 11 2e  | &04FC....:.....|
000022f0  6f 74 68 65 72 63 6f 6e  74 72 6f 6c 0d 16 da 0a  |othercontrol....|
00002300  4c 44 41 20 23 30 0d 16  e4 12 53 54 41 20 6f 74  |LDA #0....STA ot|
00002310  68 65 72 5f 74 65 72 6d  0d 16 ee 28 4c 44 41 20  |her_term...(LDA |
00002320  23 28 6f 74 68 65 72 5f  6b 65 6e 64 2d 6f 74 68  |#(other_kend-oth|
00002330  65 72 5f 6b 65 79 73 2d  31 29 20 80 20 26 46 46  |er_keys-1) . &FF|
00002340  0d 16 f8 14 53 54 41 20  6f 74 68 65 72 5f 63 6f  |....STA other_co|
00002350  75 6e 74 31 0d 17 02 11  2e 6f 74 68 65 72 63 5f  |unt1.....otherc_|
00002360  6c 6f 6f 70 31 0d 17 0c  14 4c 44 59 20 6f 74 68  |loop1....LDY oth|
00002370  65 72 5f 63 6f 75 6e 74  31 0d 17 16 14 4c 44 58  |er_count1....LDX|
00002380  20 6f 74 68 65 72 5f 6b  65 79 73 2c 59 0d 17 20  | other_keys,Y.. |
00002390  0c 4c 44 59 20 23 26 46  46 0d 17 2a 0c 4c 44 41  |.LDY #&FF..*.LDA|
000023a0  20 23 26 38 31 0d 17 34  0e 4a 53 52 20 6f 73 62  | #&81..4.JSR osb|
000023b0  79 74 65 0d 17 3e 0c 43  50 58 20 23 26 46 46 0d  |yte..>.CPX #&FF.|
000023c0  17 48 19 42 4e 45 20 6f  74 68 65 72 63 5f 6e 6f  |.H.BNE otherc_no|
000023d0  74 70 72 65 73 73 65 64  0d 17 52 14 4c 44 59 20  |tpressed..R.LDY |
000023e0  6f 74 68 65 72 5f 63 6f  75 6e 74 31 0d 17 5c 15  |other_count1..\.|
000023f0  4c 44 41 20 6f 74 68 65  72 5f 6a 6d 70 6c 6f 2c  |LDA other_jmplo,|
00002400  59 0d 17 66 13 53 54 41  20 6f 74 68 65 72 5f 72  |Y..f.STA other_r|
00002410  65 6c 61 79 0d 17 70 15  4c 44 41 20 6f 74 68 65  |elay..p.LDA othe|
00002420  72 5f 6a 6d 70 68 69 2c  59 0d 17 7a 15 53 54 41  |r_jmphi,Y..z.STA|
00002430  20 6f 74 68 65 72 5f 72  65 6c 61 79 2b 31 0d 17  | other_relay+1..|
00002440  84 14 4c 44 58 20 6f 74  68 65 72 5f 6b 65 79 73  |..LDX other_keys|
00002450  2c 59 0d 17 8e 12 4a 53  52 20 6f 74 68 65 72 63  |,Y....JSR otherc|
00002460  5f 6a 6d 70 0d 17 98 12  4c 44 41 20 6f 74 68 65  |_jmp....LDA othe|
00002470  72 5f 74 65 72 6d 0d 17  a2 13 42 4e 45 20 6f 74  |r_term....BNE ot|
00002480  68 65 72 63 5f 65 78 69  74 0d 17 ac 11 2e 6f 74  |herc_exit.....ot|
00002490  68 65 72 63 5f 6c 6f 6f  70 32 0d 17 b6 14 4c 44  |herc_loop2....LD|
000024a0  59 20 6f 74 68 65 72 5f  63 6f 75 6e 74 31 0d 17  |Y other_count1..|
000024b0  c0 14 4c 44 58 20 6f 74  68 65 72 5f 6b 65 79 73  |..LDX other_keys|
000024c0  2c 59 0d 17 ca 0c 4c 44  59 20 23 26 46 46 0d 17  |,Y....LDY #&FF..|
000024d0  d4 0c 4c 44 41 20 23 26  38 31 0d 17 de 0e 4a 53  |..LDA #&81....JS|
000024e0  52 20 6f 73 62 79 74 65  0d 17 e8 0c 43 50 58 20  |R osbyte....CPX |
000024f0  23 26 46 46 0d 17 f2 14  42 45 51 20 6f 74 68 65  |#&FF....BEQ othe|
00002500  72 63 5f 6c 6f 6f 70 32  0d 17 fc 16 2e 6f 74 68  |rc_loop2.....oth|
00002510  65 72 63 5f 6e 6f 74 70  72 65 73 73 65 64 0d 18  |erc_notpressed..|
00002520  06 14 44 45 43 20 6f 74  68 65 72 5f 63 6f 75 6e  |..DEC other_coun|
00002530  74 31 0d 18 10 14 42 50  4c 20 6f 74 68 65 72 63  |t1....BPL otherc|
00002540  5f 6c 6f 6f 70 31 0d 18  1a 10 2e 6f 74 68 65 72  |_loop1.....other|
00002550  63 5f 65 78 69 74 0d 18  24 12 4c 44 41 20 6f 74  |c_exit..$.LDA ot|
00002560  68 65 72 5f 74 65 72 6d  0d 18 2e 07 52 54 53 0d  |her_term....RTS.|
00002570  18 38 05 3a 0d 18 42 0f  2e 6f 74 68 65 72 63 5f  |.8.:..B..otherc_|
00002580  6a 6d 70 0d 18 4c 15 4a  4d 50 20 28 6f 74 68 65  |jmp..L.JMP (othe|
00002590  72 5f 72 65 6c 61 79 29  0d 18 56 05 3a 0d 18 60  |r_relay)..V.:..`|
000025a0  0f 2e 6f 74 68 65 72 5f  6b 65 79 73 0d 18 6a 21  |..other_keys..j!|
000025b0  45 51 55 44 20 26 38 43  38 44 38 45 44 46 3a 45  |EQUD &8C8D8EDF:E|
000025c0  51 55 44 20 26 45 46 41  45 39 42 42 36 0d 18 74  |QUD &EFAE9BB6..t|
000025d0  0f 2e 6f 74 68 65 72 5f  6b 65 6e 64 0d 18 7e 10  |..other_kend..~.|
000025e0  2e 6f 74 68 65 72 5f 6a  6d 70 6c 6f 0d 18 88 15  |.other_jmplo....|
000025f0  45 51 55 42 20 73 74 65  70 75 70 20 83 20 32 35  |EQUB stepup . 25|
00002600  36 0d 18 92 17 45 51 55  42 20 73 74 65 70 64 6f  |6....EQUB stepdo|
00002610  77 6e 20 83 20 32 35 36  0d 18 9c 16 45 51 55 42  |wn . 256....EQUB|
00002620  20 70 69 78 65 6c 75 70  20 83 20 32 35 36 0d 18  | pixelup . 256..|
00002630  a6 18 45 51 55 42 20 70  69 78 65 6c 64 6f 77 6e  |..EQUB pixeldown|
00002640  20 83 20 32 35 36 0d 18  b0 13 45 51 55 42 20 64  | . 256....EQUB d|
00002650  72 61 77 20 83 20 32 35  36 0d 18 ba 13 45 51 55  |raw . 256....EQU|
00002660  42 20 62 61 73 65 20 83  20 32 35 36 0d 18 c4 13  |B base . 256....|
00002670  45 51 55 42 20 73 61 76  65 20 83 20 32 35 36 0d  |EQUB save . 256.|
00002680  18 ce 13 45 51 55 42 20  71 75 69 74 20 83 20 32  |...EQUB quit . 2|
00002690  35 36 0d 18 d8 10 2e 6f  74 68 65 72 5f 6a 6d 70  |56.....other_jmp|
000026a0  68 69 0d 18 e2 15 45 51  55 42 20 73 74 65 70 75  |hi....EQUB stepu|
000026b0  70 20 81 20 32 35 36 0d  18 ec 17 45 51 55 42 20  |p . 256....EQUB |
000026c0  73 74 65 70 64 6f 77 6e  20 81 20 32 35 36 0d 18  |stepdown . 256..|
000026d0  f6 16 45 51 55 42 20 70  69 78 65 6c 75 70 20 81  |..EQUB pixelup .|
000026e0  20 32 35 36 0d 19 00 18  45 51 55 42 20 70 69 78  | 256....EQUB pix|
000026f0  65 6c 64 6f 77 6e 20 81  20 32 35 36 0d 19 0a 13  |eldown . 256....|
00002700  45 51 55 42 20 64 72 61  77 20 81 20 32 35 36 0d  |EQUB draw . 256.|
00002710  19 14 13 45 51 55 42 20  62 61 73 65 20 81 20 32  |...EQUB base . 2|
00002720  35 36 0d 19 1e 13 45 51  55 42 20 73 61 76 65 20  |56....EQUB save |
00002730  81 20 32 35 36 0d 19 28  13 45 51 55 42 20 71 75  |. 256..(.EQUB qu|
00002740  69 74 20 81 20 32 35 36  0d 19 32 05 3a 0d 19 3c  |it . 256..2.:..<|
00002750  0b 2e 73 74 65 70 75 70  0d 19 46 11 4c 44 41 20  |..stepup..F.LDA |
00002760  76 61 6c 5f 73 74 61 72  74 0d 19 50 10 42 45 51  |val_start..P.BEQ|
00002770  20 73 75 70 5f 65 78 69  74 0d 19 5a 11 41 53 4c  | sup_exit..Z.ASL|
00002780  20 76 61 6c 5f 73 74 61  72 74 0d 19 64 13 4a 53  | val_start..d.JS|
00002790  52 20 73 68 6f 77 5f 73  74 70 70 69 78 0d 19 6e  |R show_stppix..n|
000027a0  0d 2e 73 75 70 5f 65 78  69 74 0d 19 78 07 52 54  |..sup_exit..x.RT|
000027b0  53 0d 19 82 05 3a 0d 19  8c 0d 2e 73 74 65 70 64  |S....:.....stepd|
000027c0  6f 77 6e 0d 19 96 07 53  45 43 0d 19 a0 11 4c 44  |own....SEC....LD|
000027d0  41 20 76 61 6c 5f 73 74  61 72 74 0d 19 aa 13 42  |A val_start....B|
000027e0  45 51 20 73 64 6e 5f 67  6f 73 68 69 66 74 0d 19  |EQ sdn_goshift..|
000027f0  b4 0b 43 4d 50 20 23 31  36 0d 19 be 10 42 45 51  |..CMP #16....BEQ|
00002800  20 73 64 6e 5f 65 78 69  74 0d 19 c8 07 43 4c 43  | sdn_exit....CLC|
00002810  0d 19 d2 10 2e 73 64 6e  5f 67 6f 73 68 69 66 74  |.....sdn_goshift|
00002820  0d 19 dc 11 52 4f 52 20  76 61 6c 5f 73 74 61 72  |....ROR val_star|
00002830  74 0d 19 e6 13 4a 53 52  20 73 68 6f 77 5f 73 74  |t....JSR show_st|
00002840  70 70 69 78 0d 19 f0 0d  2e 73 64 6e 5f 65 78 69  |ppix.....sdn_exi|
00002850  74 0d 19 fa 07 52 54 53  0d 1a 04 05 3a 0d 1a 0e  |t....RTS....:...|
00002860  0c 2e 70 69 78 65 6c 75  70 0d 1a 18 0f 4c 44 41  |..pixelup....LDA|
00002870  20 6d 61 6e 73 69 7a 65  0d 1a 22 0c 43 4d 50 20  | mansize..".CMP |
00002880  23 31 32 38 0d 1a 2c 10  42 45 51 20 70 75 70 5f  |#128..,.BEQ pup_|
00002890  65 78 69 74 0d 1a 36 0f  41 53 4c 20 6d 61 6e 73  |exit..6.ASL mans|
000028a0  69 7a 65 0d 1a 40 13 4a  53 52 20 73 68 6f 77 5f  |ize..@.JSR show_|
000028b0  73 74 70 70 69 78 0d 1a  4a 0d 2e 70 75 70 5f 65  |stppix..J..pup_e|
000028c0  78 69 74 0d 1a 54 07 52  54 53 0d 1a 5e 05 3a 0d  |xit..T.RTS..^.:.|
000028d0  1a 68 0e 2e 70 69 78 65  6c 64 6f 77 6e 0d 1a 72  |.h..pixeldown..r|
000028e0  0f 4c 44 41 20 6d 61 6e  73 69 7a 65 0d 1a 7c 0b  |.LDA mansize..|.|
000028f0  43 4d 50 20 23 33 32 0d  1a 86 10 42 45 51 20 70  |CMP #32....BEQ p|
00002900  64 6e 5f 65 78 69 74 0d  1a 90 0f 4c 53 52 20 6d  |dn_exit....LSR m|
00002910  61 6e 73 69 7a 65 0d 1a  9a 13 4a 53 52 20 73 68  |ansize....JSR sh|
00002920  6f 77 5f 73 74 70 70 69  78 0d 1a a4 0d 2e 70 64  |ow_stppix.....pd|
00002930  6e 5f 65 78 69 74 0d 1a  ae 07 52 54 53 0d 1a b8  |n_exit....RTS...|
00002940  05 3a 0d 1a c2 09 2e 64  72 61 77 0d 1a cc 12 49  |.:.....draw....I|
00002950  4e 43 20 6f 74 68 65 72  5f 74 65 72 6d 0d 1a d6  |NC other_term...|
00002960  0f 4a 53 52 20 73 68 6f  77 62 6f 78 0d 1a e0 10  |.JSR showbox....|
00002970  4a 4d 50 20 67 65 6e 5f  6d 61 6e 64 0d 1a ea 05  |JMP gen_mand....|
00002980  3a 0d 1a f4 09 2e 62 61  73 65 0d 1a fe 12 49 4e  |:.....base....IN|
00002990  43 20 6f 74 68 65 72 5f  74 65 72 6d 0d 1b 08 0f  |C other_term....|
000029a0  4a 53 52 20 73 68 6f 77  62 6f 78 0d 1b 12 10 4a  |JSR showbox....J|
000029b0  4d 50 20 62 61 73 65 62  72 6f 74 0d 1b 1c 05 3a  |MP basebrot....:|
000029c0  0d 1b 26 09 2e 73 61 76  65 0d 1b 30 0f 4a 53 52  |..&..save..0.JSR|
000029d0  20 73 68 6f 77 62 6f 78  0d 1b 3a 12 49 4e 43 20  | showbox..:.INC |
000029e0  6f 74 68 65 72 5f 74 65  72 6d 0d 1b 44 0d 4a 53  |other_term..D.JS|
000029f0  52 20 70 72 69 6e 74 0d  1b 4e 1b 45 51 55 57 20  |R print..N.EQUW |
00002a00  73 61 76 65 5f 74 65 6e  64 2d 73 61 76 65 5f 74  |save_tend-save_t|
00002a10  73 74 0d 1b 58 0d 2e 73  61 76 65 5f 74 73 74 0d  |st..X..save_tst.|
00002a20  1b 62 0c 4f 50 54 20 a4  63 6c 73 0d 1b 6c 13 45  |.b.OPT .cls..l.E|
00002a30  51 55 53 20 22 46 69 6c  65 6e 61 6d 65 22 0d 1b  |QUS "Filename"..|
00002a40  76 0e 2e 73 61 76 65 5f  74 65 6e 64 0d 1b 80 0b  |v..save_tend....|
00002a50  4c 44 41 20 23 32 31 0d  1b 8a 0a 4c 44 58 20 23  |LDA #21....LDX #|
00002a60  30 0d 1b 94 0e 4a 53 52  20 6f 73 62 79 74 65 0d  |0....JSR osbyte.|
00002a70  1b 9e 0a 4c 44 41 20 23  30 0d 1b a8 1c 4c 44 58  |...LDA #0....LDX|
00002a80  20 23 6f 73 69 6e 70 75  74 5f 62 6c 6f 63 6b 20  | #osinput_block |
00002a90  83 20 32 35 36 0d 1b b2  1c 4c 44 59 20 23 6f 73  |. 256....LDY #os|
00002aa0  69 6e 70 75 74 5f 62 6c  6f 63 6b 20 81 20 32 35  |input_block . 25|
00002ab0  36 0d 1b bc 0e 4a 53 52  20 6f 73 77 6f 72 64 0d  |6....JSR osword.|
00002ac0  1b c6 13 42 43 43 20 73  61 76 65 5f 64 6f 73 61  |...BCC save_dosa|
00002ad0  76 65 0d 1b d0 0c 4c 44  41 20 23 31 32 36 0d 1b  |ve....LDA #126..|
00002ae0  da 0e 4a 4d 50 20 6f 73  62 79 74 65 0d 1b e4 10  |..JMP osbyte....|
00002af0  2e 73 61 76 65 5f 64 6f  73 61 76 65 0d 1b ee 0b  |.save_dosave....|
00002b00  4c 44 41 20 23 31 32 0d  1b f8 0e 4a 53 52 20 6f  |LDA #12....JSR o|
00002b10  73 77 72 63 68 0d 1c 02  0a 4c 44 41 20 23 30 0d  |swrch....LDA #0.|
00002b20  1c 0c 11 53 54 41 20 67  62 70 62 5f 6c 6f 61 64  |...STA gbpb_load|
00002b30  0d 1c 16 11 53 54 41 20  67 62 70 62 5f 65 78 65  |....STA gbpb_exe|
00002b40  63 0d 1c 20 12 53 54 41  20 67 62 70 62 5f 73 74  |c.. .STA gbpb_st|
00002b50  61 72 74 0d 1c 2a 10 53  54 41 20 67 62 70 62 5f  |art..*.STA gbpb_|
00002b60  65 6e 64 0d 1c 34 0c 4c  44 41 20 23 26 33 30 0d  |end..4.LDA #&30.|
00002b70  1c 3e 13 53 54 41 20 67  62 70 62 5f 6c 6f 61 64  |.>.STA gbpb_load|
00002b80  2b 31 0d 1c 48 13 53 54  41 20 67 62 70 62 5f 65  |+1..H.STA gbpb_e|
00002b90  78 65 63 2b 31 0d 1c 52  14 53 54 41 20 67 62 70  |xec+1..R.STA gbp|
00002ba0  62 5f 73 74 61 72 74 2b  31 0d 1c 5c 0c 4c 44 41  |b_start+1..\.LDA|
00002bb0  20 23 26 38 30 0d 1c 66  12 53 54 41 20 67 62 70  | #&80..f.STA gbp|
00002bc0  62 5f 65 6e 64 2b 31 0d  1c 70 0c 4c 44 41 20 23  |b_end+1..p.LDA #|
00002bd0  26 46 46 0d 1c 7a 13 53  54 41 20 67 62 70 62 5f  |&FF..z.STA gbpb_|
00002be0  6c 6f 61 64 2b 32 0d 1c  84 13 53 54 41 20 67 62  |load+2....STA gb|
00002bf0  70 62 5f 6c 6f 61 64 2b  33 0d 1c 8e 13 53 54 41  |pb_load+3....STA|
00002c00  20 67 62 70 62 5f 65 78  65 63 2b 32 0d 1c 98 13  | gbpb_exec+2....|
00002c10  53 54 41 20 67 62 70 62  5f 65 78 65 63 2b 33 0d  |STA gbpb_exec+3.|
00002c20  1c a2 14 53 54 41 20 67  62 70 62 5f 73 74 61 72  |...STA gbpb_star|
00002c30  74 2b 32 0d 1c ac 14 53  54 41 20 67 62 70 62 5f  |t+2....STA gbpb_|
00002c40  73 74 61 72 74 2b 33 0d  1c b6 12 53 54 41 20 67  |start+3....STA g|
00002c50  62 70 62 5f 65 6e 64 2b  32 0d 1c c0 12 53 54 41  |bpb_end+2....STA|
00002c60  20 67 62 70 62 5f 65 6e  64 2b 33 0d 1c ca 0a 4c  | gbpb_end+3....L|
00002c70  44 41 20 23 30 0d 1c d4  19 4c 44 58 20 23 67 62  |DA #0....LDX #gb|
00002c80  70 62 5f 62 6c 6f 63 6b  20 83 20 32 35 36 0d 1c  |pb_block . 256..|
00002c90  de 19 4c 44 59 20 23 67  62 70 62 5f 62 6c 6f 63  |..LDY #gbpb_bloc|
00002ca0  6b 20 81 20 32 35 36 0d  1c e8 0e 4a 4d 50 20 6f  |k . 256....JMP o|
00002cb0  73 66 69 6c 65 0d 1c f2  05 3a 0d 1c fc 09 2e 71  |sfile....:.....q|
00002cc0  75 69 74 0d 1d 06 12 49  4e 43 20 6f 74 68 65 72  |uit....INC other|
00002cd0  5f 74 65 72 6d 0d 1d 10  12 49 4e 43 20 6f 74 68  |_term....INC oth|
00002ce0  65 72 5f 74 65 72 6d 0d  1d 1a 07 52 54 53 0d 1d  |er_term....RTS..|
00002cf0  24 05 3a 0d 1d 2e 08 2e  74 61 62 0d 1d 38 0b 4c  |$.:.....tab..8.L|
00002d00  44 41 20 23 33 31 0d 1d  42 0e 4a 53 52 20 6f 73  |DA #31..B.JSR os|
00002d10  77 72 63 68 0d 1d 4c 07  54 58 41 0d 1d 56 0e 4a  |wrch..L.TXA..V.J|
00002d20  53 52 20 6f 73 77 72 63  68 0d 1d 60 07 54 59 41  |SR oswrch..`.TYA|
00002d30  0d 1d 6a 0e 4a 4d 50 20  6f 73 77 72 63 68 0d 1d  |..j.JMP oswrch..|
00002d40  74 05 3a 0d 1d 7e 0a 2e  70 72 69 6e 74 0d 1d 88  |t.:..~..print...|
00002d50  07 50 4c 41 0d 1d 92 10  53 54 41 20 70 72 69 6e  |.PLA....STA prin|
00002d60  74 5f 7a 70 0d 1d 9c 07  50 4c 41 0d 1d a6 12 53  |t_zp....PLA....S|
00002d70  54 41 20 70 72 69 6e 74  5f 7a 70 2b 31 0d 1d b0  |TA print_zp+1...|
00002d80  0a 4c 44 59 20 23 31 0d  1d ba 07 53 45 43 0d 1d  |.LDY #1....SEC..|
00002d90  c4 0a 4c 44 41 20 23 30  0d 1d ce 14 53 42 43 20  |..LDA #0....SBC |
00002da0  28 70 72 69 6e 74 5f 7a  70 29 2c 59 0d 1d d8 07  |(print_zp),Y....|
00002db0  54 41 58 0d 1d e2 07 49  4e 59 0d 1d ec 0a 4c 44  |TAX....INY....LD|
00002dc0  41 20 23 30 0d 1d f6 14  53 42 43 20 28 70 72 69  |A #0....SBC (pri|
00002dd0  6e 74 5f 7a 70 29 2c 59  0d 1e 00 15 53 54 41 20  |nt_zp),Y....STA |
00002de0  70 72 69 6e 74 5f 63 6f  75 6e 74 2b 31 0d 1e 0a  |print_count+1...|
00002df0  07 43 4c 43 0d 1e 14 0a  4c 44 41 20 23 33 0d 1e  |.CLC....LDA #3..|
00002e00  1e 10 41 44 43 20 70 72  69 6e 74 5f 7a 70 0d 1e  |..ADC print_zp..|
00002e10  28 07 54 41 59 0d 1e 32  13 42 43 43 20 70 72 69  |(.TAY..2.BCC pri|
00002e20  6e 74 5f 6e 69 6e 63 31  0d 1e 3c 12 49 4e 43 20  |nt_ninc1..<.INC |
00002e30  70 72 69 6e 74 5f 7a 70  2b 31 0d 1e 46 10 2e 70  |print_zp+1..F..p|
00002e40  72 69 6e 74 5f 6e 69 6e  63 31 0d 1e 50 0a 4c 44  |rint_ninc1..P.LD|
00002e50  41 20 23 30 0d 1e 5a 10  53 54 41 20 70 72 69 6e  |A #0..Z.STA prin|
00002e60  74 5f 7a 70 0d 1e 64 10  2e 70 72 69 6e 74 5f 6c  |t_zp..d..print_l|
00002e70  6f 6f 70 31 0d 1e 6e 14  4c 44 41 20 28 70 72 69  |oop1..n.LDA (pri|
00002e80  6e 74 5f 7a 70 29 2c 59  0d 1e 78 0e 4a 53 52 20  |nt_zp),Y..x.JSR |
00002e90  6f 73 77 72 63 68 0d 1e  82 07 49 4e 59 0d 1e 8c  |oswrch....INY...|
00002ea0  13 42 4e 45 20 70 72 69  6e 74 5f 6e 69 6e 63 32  |.BNE print_ninc2|
00002eb0  0d 1e 96 12 49 4e 43 20  70 72 69 6e 74 5f 7a 70  |....INC print_zp|
00002ec0  2b 31 0d 1e a0 10 2e 70  72 69 6e 74 5f 6e 69 6e  |+1.....print_nin|
00002ed0  63 32 0d 1e aa 07 49 4e  58 0d 1e b4 13 42 4e 45  |c2....INX....BNE|
00002ee0  20 70 72 69 6e 74 5f 6c  6f 6f 70 31 0d 1e be 15  | print_loop1....|
00002ef0  49 4e 43 20 70 72 69 6e  74 5f 63 6f 75 6e 74 2b  |INC print_count+|
00002f00  31 0d 1e c8 13 42 4e 45  20 70 72 69 6e 74 5f 6c  |1....BNE print_l|
00002f10  6f 6f 70 31 0d 1e d2 10  53 54 59 20 70 72 69 6e  |oop1....STY prin|
00002f20  74 5f 7a 70 0d 1e dc 12  4a 4d 50 20 28 70 72 69  |t_zp....JMP (pri|
00002f30  6e 74 5f 7a 70 29 0d 1e  e6 05 3a 0d 1e f0 12 2e  |nt_zp)....:.....|
00002f40  6f 73 69 6e 70 75 74 5f  62 6c 6f 63 6b 0d 1e fa  |osinput_block...|
00002f50  11 45 51 55 57 20 66 69  6c 65 6e 61 6d 65 0d 1f  |.EQUW filename..|
00002f60  04 0c 45 51 55 42 20 32  34 37 0d 1f 0e 0b 45 51  |..EQUB 247....EQ|
00002f70  55 42 20 33 32 0d 1f 18  0c 45 51 55 42 20 31 32  |UB 32....EQUB 12|
00002f80  36 0d 1f 22 05 3a 0d 1f  2c 0f 2e 67 62 70 62 5f  |6..".:..,..gbpb_|
00002f90  62 6c 6f 63 6b 0d 1f 36  1c 2e 67 62 70 62 5f 6e  |block..6..gbpb_n|
00002fa0  61 6d 65 20 45 51 55 57  20 66 69 6c 65 6e 61 6d  |ame EQUW filenam|
00002fb0  65 0d 1f 40 15 2e 67 62  70 62 5f 6c 6f 61 64 20  |e..@..gbpb_load |
00002fc0  45 51 55 44 20 30 0d 1f  4a 15 2e 67 62 70 62 5f  |EQUD 0..J..gbpb_|
00002fd0  65 78 65 63 20 45 51 55  44 20 30 0d 1f 54 16 2e  |exec EQUD 0..T..|
00002fe0  67 62 70 62 5f 73 74 61  72 74 20 45 51 55 44 20  |gbpb_start EQUD |
00002ff0  30 0d 1f 5e 14 2e 67 62  70 62 5f 65 6e 64 20 45  |0..^..gbpb_end E|
00003000  51 55 44 20 30 0d 1f 68  05 3a 0d 1f 72 09 2e 70  |QUD 0..h.:..r..p|
00003010  68 65 78 0d 1f 7c 6a 50  48 41 3a 4c 53 52 20 41  |hex..|jPHA:LSR A|
00003020  3a 4c 53 52 20 41 3a 4c  53 52 20 41 3a 4c 53 52  |:LSR A:LSR A:LSR|
00003030  20 41 3a 4a 53 52 20 70  64 69 67 3a 50 4c 41 3a  | A:JSR pdig:PLA:|
00003040  80 20 23 26 30 46 3a 2e  70 64 69 67 20 43 4d 50  |. #&0F:.pdig CMP|
00003050  20 23 31 30 3a 42 43 43  20 6e 61 64 64 3a 41 44  | #10:BCC nadd:AD|
00003060  43 20 23 36 3a 2e 6e 61  64 64 20 41 44 43 20 23  |C #6:.nadd ADC #|
00003070  34 38 3a 4a 4d 50 20 6f  73 77 72 63 68 0d 1f 86  |48:JMP oswrch...|
00003080  05 5d 0d 1f 90 05 ed 0d  1f 9a 40 ff 22 53 41 56  |.]........@."SAV|
00003090  45 20 55 6c 74 62 72 6f  74 20 22 2b c3 7e 63 6f  |E Ultbrot "+.~co|
000030a0  64 65 25 2b 22 20 22 2b  c3 7e 4f 25 2b 22 20 22  |de%+" "+.~O%+" "|
000030b0  2b c3 7e 75 6c 74 69 62  72 6f 74 2b 22 20 22 2b  |+.~ultibrot+" "+|
000030c0  c3 7e 64 65 73 74 25 0d  1f a4 05 e0 0d 1f ae 05  |.~dest%.........|
000030d0  3a 0d 1f b8 0f dd 20 a4  6d 6f 64 65 28 6d 25 29  |:..... .mode(m%)|
000030e0  0d 1f c2 0d 5b 4f 50 54  20 6f 70 74 25 0d 1f cc  |....[OPT opt%...|
000030f0  0b 45 51 55 42 20 32 32  0d 1f d6 0b 45 51 55 42  |.EQUB 22....EQUB|
00003100  20 6d 25 0d 1f e0 05 5d  0d 1f ea 09 3d 6f 70 74  | m%....]....=opt|
00003110  25 0d 1f f4 05 3a 0d 1f  fe 14 dd 20 a4 73 65 74  |%....:..... .set|
00003120  70 61 6c 28 6c 25 2c 70  25 29 0d 20 08 0d 5b 4f  |pal(l%,p%). ..[O|
00003130  50 54 20 6f 70 74 25 0d  20 12 0b 45 51 55 42 20  |PT opt%. ..EQUB |
00003140  31 39 0d 20 1c 13 45 51  55 42 20 6c 25 3a 45 51  |19. ..EQUB l%:EQ|
00003150  55 42 20 70 25 0d 20 26  11 45 51 55 57 20 30 3a  |UB p%. &.EQUW 0:|
00003160  45 51 55 42 20 30 0d 20  30 05 5d 0d 20 3a 09 3d  |EQUB 0. 0.]. :.=|
00003170  6f 70 74 25 0d 20 44 05  3a 0d 20 4e 1f dd 20 a4  |opt%. D.:. N.. .|
00003180  74 65 78 74 77 69 6e 28  78 31 25 2c 79 31 25 2c  |textwin(x1%,y1%,|
00003190  78 32 25 2c 79 32 25 29  0d 20 58 0d 5b 4f 50 54  |x2%,y2%). X.[OPT|
000031a0  20 6f 70 74 25 0d 20 62  0b 45 51 55 42 20 32 38  | opt%. b.EQUB 28|
000031b0  0d 20 6c 15 45 51 55 42  20 78 31 25 3a 45 51 55  |. l.EQUB x1%:EQU|
000031c0  42 20 79 31 25 0d 20 76  15 45 51 55 42 20 78 32  |B y1%. v.EQUB x2|
000031d0  25 3a 45 51 55 42 20 79  32 25 0d 20 80 05 5d 0d  |%:EQUB y2%. ..].|
000031e0  20 8a 09 3d 6f 70 74 25  0d 20 94 05 3a 0d 20 9e  | ..=opt%. ..:. .|
000031f0  0a dd 20 a4 63 6c 73 0d  20 a8 0d 5b 4f 50 54 20  |.. .cls. ..[OPT |
00003200  6f 70 74 25 0d 20 b2 0b  45 51 55 42 20 31 32 0d  |opt%. ..EQUB 12.|
00003210  20 bc 05 5d 0d 20 c6 09  3d 6f 70 74 25 0d 20 d0  | ..]. ..=opt%. .|
00003220  05 3a 0d 20 da 11 dd 20  a4 74 61 62 28 78 25 2c  |.:. ... .tab(x%,|
00003230  79 25 29 0d 20 e4 0d 5b  4f 50 54 20 6f 70 74 25  |y%). ..[OPT opt%|
00003240  0d 20 ee 0b 45 51 55 42  20 33 31 0d 20 f8 13 45  |. ..EQUB 31. ..E|
00003250  51 55 42 20 78 25 3a 45  51 55 42 20 79 25 0d 21  |QUB x%:EQUB y%.!|
00003260  02 05 5d 0d 21 0c 09 3d  6f 70 74 25 0d 21 16 05  |..].!..=opt%.!..|
00003270  3a 0d 21 20 32 dd 20 a4  63 68 61 72 64 65 66 28  |:.! 2. .chardef(|
00003280  63 25 2c 70 31 25 2c 70  32 25 2c 70 33 25 2c 70  |c%,p1%,p2%,p3%,p|
00003290  34 25 2c 70 35 25 2c 70  36 25 2c 70 37 25 2c 70  |4%,p5%,p6%,p7%,p|
000032a0  38 25 29 0d 21 2a 0d 5b  4f 50 54 20 6f 70 74 25  |8%).!*.[OPT opt%|
000032b0  0d 21 34 13 45 51 55 42  20 32 33 3a 45 51 55 42  |.!4.EQUB 23:EQUB|
000032c0  20 63 25 0d 21 3e 27 45  51 55 42 20 70 31 25 3a  | c%.!>'EQUB p1%:|
000032d0  45 51 55 42 20 70 32 25  3a 45 51 55 42 20 70 33  |EQUB p2%:EQUB p3|
000032e0  25 3a 45 51 55 42 20 70  34 25 0d 21 48 27 45 51  |%:EQUB p4%.!H'EQ|
000032f0  55 42 20 70 35 25 3a 45  51 55 42 20 70 36 25 3a  |UB p5%:EQUB p6%:|
00003300  45 51 55 42 20 70 37 25  3a 45 51 55 42 20 70 38  |EQUB p7%:EQUB p8|
00003310  25 0d 21 52 05 5d 0d 21  5c 09 3d 6f 70 74 25 0d  |%.!R.].!\.=opt%.|
00003320  ff                                                |.|
00003321