Home » Archimedes archive » Micro User » MU 1990-06.adf » L-2-I
L-2-I
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 » Micro User » MU 1990-06.adf |
Filename: | L-2-I |
Read OK: | ✔ |
File size: | 15FC bytes |
Load address: | FFFFFB43 |
Exec address: | 6D398864 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Archimedes archive » Micro User » MU 1990-06.adf » L-2-I
- AEW website » mu » mu_5_25_discs_Micro_User_08_04_D-MU08_04.ssd » L-2-I
File contents
10 REM Listing I 20 REM By Glenn Marshall 30 REM (C) The Micro User 40 : 50 IF PAGE<>&2100 THEN END 60 : 70 xlb=&50:xhb=&51 80 ylb=&52:yhb=&53 90 X1=&54:X2=&55 100 Y1=&56:Y2=&57 110 color=&58 120 stl=&59:sth=&5A 130 pass=&5B 140 coll=&5C:colh=&5D 150 memory=&5E 160 pwl=&5F:pwh=&60 170 windows=&61 180 icon=&63 190 mesl=&70 200 mesh=&71 210 : 220 FOR code=0 TO 2 STEP 2 230 P%=&1900 240 [OPT code 250 : 260 .set_pointer_size 270 LDA #2:STA X2:LDA #13:STA Y2 280 rts 290 : 300 .pointer_on 310 LDA #pointer_data MOD 256 320 STA coll 330 LDA #pointer_data DIV 256 340 STA colh 350 LDA #0:STA pass:JSR sprite_save 360 rts 370 : 380 .pointer_off 390 JSR sprite_restore 400 rts 410 : 420 .pointer_direction 430 LDX #(-58 AND &FF):LDY #&FF 440 LDA #&81:JSR &FFF4:TXA 450 BCC down:LDA Y1:CMP #4:BCC down 460 SEC:SBC #3:STA Y1 470 .down 480 LDX #(-42 AND &FF):LDY #&FF 490 LDA #&81:JSR &FFF4:TXA 500 BCC right:LDA Y1:CMP #184 510 BCS right:CLC:ADC #3:STA Y1 520 .right 530 LDX #(-122 AND &FF):LDY #&FF 540 LDA #&81:JSR &FFF4:TXA 550 BCC left:LDA X1:CMP #78:BCS left 560 CLC:ADC #1:STA X1 570 .left 580 LDX #(-26 AND &FF):LDY #&FF 590 LDA #&81:JSR &FFF4:TXA 600 BCC return:LDA X1:CMP #1 610 BCC return:SEC:SBC #1:STA X1 620 .return 630 LDX #(-106 AND &FF):LDY #&FF 640 LDA #&81:JSR &FFF4:TXA 650 BCC direction_exit 660 LDA #&FF:STA icon 670 .direction_exit 680 rts 690 : 700 .sprite_save 710 LDA pass:CMP #2:BCC saving 720 JSR sprite 730 rts 740 .saving 750 TYA:PHA 760 INC windows 770 LDA pass:PHA 780 LDA #1:STA memory 790 LDA stl:STA pwl 800 LDA sth:STA pwh 810 JSR sprite 820 LDA memory:BEQ not_enough_memory 830 LDY #0 840 LDA X1:STA (stl),Y:INY 850 LDA Y1:STA (stl),Y:INY 860 LDA X2:STA (stl),Y:INY 870 LDA Y2:STA (stl),Y:INY 880 LDA pwl:STA (stl),Y:INY 890 LDA pwh:STA (stl),Y 900 LDA stl:CLC:ADC #6:STA stl 910 LDA sth:ADC #0:STA sth 920 PLA:STA pass 930 PLA:TAY 940 rts 950 : 960 .not_enough_memory 970 LDA pwl:PHA:STA stl 980 LDA pwh:PHA:STA sth 990 DEC windows 1000 LDA #128:STA pass:JSR sprite 1010 LDA #7:JSR &FFEE 1020 PLA:STA sth:PLA:STA stl 1030 PLA:STA pass 1040 PLA:TAY 1050 rts 1060 : 1070 .sprite_restore 1080 LDA X1:PHA:LDA Y1:PHA 1090 LDA X2:PHA:LDA Y2:PHA 1100 LDA windows 1110 BEQ sprite_restore_exit 1120 DEC windows 1130 TYA:PHA 1140 LDA stl:SEC:SBC #6:STA stl 1150 LDA sth:SBC #0:STA sth 1160 LDY #0 1170 LDA (stl),Y:STA X1:INY 1180 LDA (stl),Y:STA Y1:INY 1190 LDA (stl),Y:STA X2:INY 1200 LDA (stl),Y:STA Y2:INY 1210 LDA (stl),Y:PHA:STA pwl:INY 1220 LDA (stl),Y:STA sth:STA pwh 1230 PLA:STA stl 1240 LDA #128:STA pass:JSR sprite 1250 LDA pwl:STA stl 1260 LDA pwh:STA sth 1270 PLA:TAY 1280 .sprite_restore_exit 1290 PLA:STA Y2:PLA:STA X2 1300 PLA:STA Y1:PLA:STA X1 1310 rts 1320 : 1330 .sprite 1340 TYA:PHA:TXA:PHA 1350 LDA Y1:PHA 1360 LDY Y2 1370 : 1380 .sprite_yloop 1390 JSR position 1400 TYA:PHA 1410 LDX X2 1420 LDY #0 1430 : 1440 .sprite_xloop 1450 LDA pass:BMI restore 1460 CMP #2:BEQ draw_pointer 1470 BCS draw_fixed 1480 CMP #1:BEQ draw_save_fixed 1490 : 1500 .draw_save_pointer 1510 LDA (ylb),Y:STA (stl),Y 1520 LDA (coll),Y:STA (ylb),Y 1530 JMP inc_colour_pointer 1540 : 1550 .draw_save_fixed 1560 LDA (ylb),Y:STA (stl),Y 1570 LDA color:STA (ylb),Y 1580 JMP inc_store_mem 1590 : 1600 .draw_pointer 1610 LDA (coll),Y:STA (ylb),Y 1620 INC coll:BNE no_colour_carry1 1630 INC colh:.no_colour_carry1 1640 JMP no_store_mem_carry 1650 : 1660 .draw_fixed 1670 LDA color:STA (ylb),Y 1680 JMP no_store_mem_carry 1690 : 1700 .restore 1710 LDA (stl),Y:STA (ylb),Y 1720 JMP inc_store_mem 1730 : 1740 .inc_colour_pointer 1750 INC coll:BNE inc_store_mem 1760 INC colh 1770 : 1780 .inc_store_mem 1790 INC stl:BNE no_store_mem_carry 1800 INC sth 1810 LDA sth:CMP &7 1820 BEQ past_memory_bound 1830 .no_store_mem_carry 1840 : 1850 LDA ylb:CLC:ADC #8:STA ylb 1860 LDA yhb:ADC #0:STA yhb 1870 DEX:BNE sprite_xloop 1880 INC Y1:PLA:TAY 1890 DEY:BNE sprite_yloop 1900 JMP sprite_exit 1910 : 1920 .past_memory_bound 1930 LDA #0:STA memory 1940 PLA 1950 : 1960 .sprite_exit 1970 PLA:STA Y1 1980 PLA:TAX:PLA:TAY 1990 rts 2000 : 2010 .position 2020 LDA #0:STA xhb 2030 LDA X1:ASL A:ROL xhb:ASL A 2040 ROL xhb:ASL A:ROL xhb:STA xlb 2050 LDA &7:CLC:ADC xhb:STA xhb 2060 LDA #0:STA ylb 2070 LDA Y1:AND #&F8 2080 LSR A:LSR A:STA yhb 2090 LSR A:LSR A:ROR ylb:CLC:ADC yhb 2100 ADC xhb:STA yhb 2110 LDA Y1:AND #7:CLC:ADC ylb:ADC xlb 2120 STA ylb:LDA #0:ADC yhb:STA yhb 2130 rts 2140 : 2150 .string 2160 TYA:PHA 2170 LDY #0 2180 .string_loop 2190 LDA (mesl),Y 2200 CMP #&FF:BEQ string_exit 2210 JSR &FFE3 2220 INY 2230 CPY #&FF:BNE string_loop 2240 .string_exit 2250 PLA:TAY 2260 rts 2270 : 2280 .desktop 2290 JSR desktop_background 2300 JSR desktop_icon_line 2310 JSR set_pointer_size 2320 LDA #60:STA X1:LDA #6:STA Y1 2330 LDA #1:STA icon 2340 .desk_loop 2350 JSR pointer_on 2360 JSR pointer_off 2370 JSR pointer_direction 2380 LDA icon:CMP #&FF:BNE desk_loop 2390 rts 2400 : 2410 .desktop_background 2420 LDA #170:STA &358 2430 LDA &2:STA stl 2440 LDA &3:CLC:ADC #1:STA sth 2450 LDA #0:STA windows 2460 LDA #screen MOD 256:STA mesl 2470 LDA #screen DIV 256:STA mesh 2480 JSR string 2490 rts 2500 : 2510 .desktop_icon_line 2520 LDA #0:STA X1:STA Y1 2530 LDA #80:STA X2:LDA #23:STA Y2 2540 LDA #255:STA color 2550 LDA #3:STA pass:JSR sprite_save 2560 rts 2570 : 2580 .pointer_data 2590 EQUD &00780060 2600 EQUD &C07F007E 2610 EQUD &E07FF07F 2620 EQUD &C063807F 2630 EQUD &F000E001 2640 EQUD &3C007800 2650 EQUW &1800 2660 : 2670 .screen 2680 EQUD &0001170C 2690 EQUD &00000000 2700 EQUW &0000 2710 EQUB &00 2720 EQUD &07090017 2730 EQUD &00000000 2740 EQUW &0000 2750 EQUD &26040017 2760 EQUD &00000000 2770 EQUW &0000 2780 EQUD &1F070017 2790 EQUD &00000000 2800 EQUW &0000 2810 EQUB &FF 2820 : 2830 .code_end 2840 : 2850 ] 2860 NEXT code 2870 CALL desktop
� Listing I � By Glenn Marshall � (C) The Micro User ( : 2 � �<>&2100 � � < : F xlb=&50:xhb=&51 P ylb=&52:yhb=&53 Z X1=&54:X2=&55 d Y1=&56:Y2=&57 n color=&58 x stl=&59:sth=&5A � pass=&5B � coll=&5C:colh=&5D � memory=&5E � pwl=&5F:pwh=&60 � windows=&61 � icon=&63 � mesl=&70 � mesh=&71 � : � � code=0 � 2 � 2 � P%=&1900 � [OPT code � : .set_pointer_size ! LDA #2:STA X2:LDA #13:STA Y2 rts " : , .pointer_on 6 LDA #pointer_data � 256 @ STA coll J LDA #pointer_data � 256 T STA colh ^$ LDA #0:STA pass:JSR sprite_save h rts r : | .pointer_off � JSR sprite_restore � rts � : � .pointer_direction � LDX #(-58 � &FF):LDY #&FF � LDA #&81:JSR &FFF4:TXA �$ BCC down:LDA Y1:CMP #4:BCC down � SEC:SBC #3:STA Y1 � .down � LDX #(-42 � &FF):LDY #&FF � LDA #&81:JSR &FFF4:TXA � BCC right:LDA Y1:CMP #184 � BCS right:CLC:ADC #3:STA Y1 .right LDX #(-122 � &FF):LDY #&FF LDA #&81:JSR &FFF4:TXA &% BCC left:LDA X1:CMP #78:BCS left 0 CLC:ADC #1:STA X1 : .left D LDX #(-26 � &FF):LDY #&FF N LDA #&81:JSR &FFF4:TXA X BCC return:LDA X1:CMP #1 b! BCC return:SEC:SBC #1:STA X1 l .return v LDX #(-106 � &FF):LDY #&FF � LDA #&81:JSR &FFF4:TXA � BCC direction_exit � LDA #&FF:STA icon � .direction_exit � rts � : � .sprite_save � LDA pass:CMP #2:BCC saving � JSR sprite � rts � .saving � TYA:PHA � INC windows LDA pass:PHA LDA #1:STA memory LDA stl:STA pwl LDA sth:STA pwh * JSR sprite 4& LDA memory:BEQ not_enough_memory > LDY #0 H LDA X1:STA (stl),Y:INY R LDA Y1:STA (stl),Y:INY \ LDA X2:STA (stl),Y:INY f LDA Y2:STA (stl),Y:INY p LDA pwl:STA (stl),Y:INY z LDA pwh:STA (stl),Y � LDA stl:CLC:ADC #6:STA stl � LDA sth:ADC #0:STA sth � PLA:STA pass � PLA:TAY � rts � : � .not_enough_memory � LDA pwl:PHA:STA stl � LDA pwh:PHA:STA sth � DEC windows �" LDA #128:STA pass:JSR sprite � LDA #7:JSR &FFEE � PLA:STA sth:PLA:STA stl PLA:STA pass PLA:TAY rts $ : . .sprite_restore 8 LDA X1:PHA:LDA Y1:PHA B LDA X2:PHA:LDA Y2:PHA L LDA windows V BEQ sprite_restore_exit ` DEC windows j TYA:PHA t LDA stl:SEC:SBC #6:STA stl ~ LDA sth:SBC #0:STA sth � LDY #0 � LDA (stl),Y:STA X1:INY � LDA (stl),Y:STA Y1:INY � LDA (stl),Y:STA X2:INY � LDA (stl),Y:STA Y2:INY �! LDA (stl),Y:PHA:STA pwl:INY �! LDA (stl),Y:STA sth:STA pwh � PLA:STA stl �# LDA #128:STA pass:JSR sprite � LDA pwl:STA stl � LDA pwh:STA sth � PLA:TAY .sprite_restore_exit PLA:STA Y2:PLA:STA X2 PLA:STA Y1:PLA:STA X1 rts ( : 2 .sprite < TYA:PHA:TXA:PHA F LDA Y1:PHA P LDY Y2 Z : d .sprite_yloop n JSR position x TYA:PHA � LDX X2 � LDY #0 � : � .sprite_xloop � LDA pass:BMI restore � CMP #2:BEQ draw_pointer � BCS draw_fixed � CMP #1:BEQ draw_save_fixed � : � .draw_save_pointer � LDA (ylb),Y:STA (stl),Y � LDA (coll),Y:STA (ylb),Y � JMP inc_colour_pointer : .draw_save_fixed LDA (ylb),Y:STA (stl),Y " LDA color:STA (ylb),Y , JMP inc_store_mem 6 : @ .draw_pointer J LDA (coll),Y:STA (ylb),Y T" INC coll:BNE no_colour_carry1 ^ INC colh:.no_colour_carry1 h JMP no_store_mem_carry r : | .draw_fixed � LDA color:STA (ylb),Y � JMP no_store_mem_carry � : � .restore � LDA (stl),Y:STA (ylb),Y � JMP inc_store_mem � : � .inc_colour_pointer � INC coll:BNE inc_store_mem � INC colh � : � .inc_store_mem �# INC stl:BNE no_store_mem_carry INC sth LDA sth:CMP &7 BEQ past_memory_bound & .no_store_mem_carry 0 : : LDA ylb:CLC:ADC #8:STA ylb D LDA yhb:ADC #0:STA yhb N DEX:BNE sprite_xloop X INC Y1:PLA:TAY b DEY:BNE sprite_yloop l JMP sprite_exit v : � .past_memory_bound � LDA #0:STA memory � PLA � : � .sprite_exit � PLA:STA Y1 � PLA:TAX:PLA:TAY � rts � : � .position � LDA #0:STA xhb � LDA X1:ASL A:ROL xhb:ASL A �" ROL xhb:ASL A:ROL xhb:STA xlb LDA &7:CLC:ADC xhb:STA xhb LDA #0:STA ylb LDA Y1:� #&F8 LSR A:LSR A:STA yhb *$ LSR A:LSR A:ROR ylb:CLC:ADC yhb 4 ADC xhb:STA yhb >$ LDA Y1:� #7:CLC:ADC ylb:ADC xlb H# STA ylb:LDA #0:ADC yhb:STA yhb R rts \ : f .string p TYA:PHA z LDY #0 � .string_loop � LDA (mesl),Y � CMP #&FF:BEQ string_exit � JSR &FFE3 � INY � CPY #&FF:BNE string_loop � .string_exit � PLA:TAY � rts � : � .desktop � JSR desktop_background � JSR desktop_icon_line JSR set_pointer_size ! LDA #60:STA X1:LDA #6:STA Y1 LDA #1:STA icon $ .desk_loop . JSR pointer_on 8 JSR pointer_off B JSR pointer_direction L$ LDA icon:CMP #&FF:BNE desk_loop V rts ` : j .desktop_background t LDA #170:STA &358 ~ LDA &2:STA stl � LDA &3:CLC:ADC #1:STA sth � LDA #0:STA windows � LDA #screen � 256:STA mesl � LDA #screen � 256:STA mesh � JSR string � rts � : � .desktop_icon_line � LDA #0:STA X1:STA Y1 �" LDA #80:STA X2:LDA #23:STA Y2 � LDA #255:STA color �$ LDA #3:STA pass:JSR sprite_save rts : .pointer_data EQUD &00780060 ( EQUD &C07F007E 2 EQUD &E07FF07F < EQUD &C063807F F EQUD &F000E001 P EQUD &3C007800 Z EQUW &1800 d : n .screen x EQUD &0001170C � EQUD &00000000 � EQUW &0000 � EQUB &00 � EQUD &07090017 � EQUD &00000000 � EQUW &0000 � EQUD &26040017 � EQUD &00000000 � EQUW &0000 � EQUD &1F070017 � EQUD &00000000 � EQUW &0000 � EQUB &FF : .code_end : " ] , � code 6 � desktop �
00000000 0d 00 0a 12 20 f4 20 20 20 4c 69 73 74 69 6e 67 |.... . Listing| 00000010 20 49 0d 00 14 1a 20 f4 20 20 20 42 79 20 47 6c | I.... . By Gl| 00000020 65 6e 6e 20 4d 61 72 73 68 61 6c 6c 0d 00 1e 1b |enn Marshall....| 00000030 20 f4 20 20 20 28 43 29 20 54 68 65 20 4d 69 63 | . (C) The Mic| 00000040 72 6f 20 55 73 65 72 0d 00 28 06 20 3a 0d 00 32 |ro User..(. :..2| 00000050 13 20 e7 20 90 3c 3e 26 32 31 30 30 20 8c 20 e0 |. . .<>&2100 . .| 00000060 0d 00 3c 06 20 3a 0d 00 46 14 20 78 6c 62 3d 26 |..<. :..F. xlb=&| 00000070 35 30 3a 78 68 62 3d 26 35 31 0d 00 50 14 20 79 |50:xhb=&51..P. y| 00000080 6c 62 3d 26 35 32 3a 79 68 62 3d 26 35 33 0d 00 |lb=&52:yhb=&53..| 00000090 5a 12 20 58 31 3d 26 35 34 3a 58 32 3d 26 35 35 |Z. X1=&54:X2=&55| 000000a0 0d 00 64 12 20 59 31 3d 26 35 36 3a 59 32 3d 26 |..d. Y1=&56:Y2=&| 000000b0 35 37 0d 00 6e 0e 20 63 6f 6c 6f 72 3d 26 35 38 |57..n. color=&58| 000000c0 0d 00 78 14 20 73 74 6c 3d 26 35 39 3a 73 74 68 |..x. stl=&59:sth| 000000d0 3d 26 35 41 0d 00 82 0d 20 70 61 73 73 3d 26 35 |=&5A.... pass=&5| 000000e0 42 0d 00 8c 16 20 63 6f 6c 6c 3d 26 35 43 3a 63 |B.... coll=&5C:c| 000000f0 6f 6c 68 3d 26 35 44 0d 00 96 0f 20 6d 65 6d 6f |olh=&5D.... memo| 00000100 72 79 3d 26 35 45 0d 00 a0 14 20 70 77 6c 3d 26 |ry=&5E.... pwl=&| 00000110 35 46 3a 70 77 68 3d 26 36 30 0d 00 aa 10 20 77 |5F:pwh=&60.... w| 00000120 69 6e 64 6f 77 73 3d 26 36 31 0d 00 b4 0d 20 69 |indows=&61.... i| 00000130 63 6f 6e 3d 26 36 33 0d 00 be 0d 20 6d 65 73 6c |con=&63.... mesl| 00000140 3d 26 37 30 0d 00 c8 0d 20 6d 65 73 68 3d 26 37 |=&70.... mesh=&7| 00000150 31 0d 00 d2 06 20 3a 0d 00 dc 15 20 e3 20 63 6f |1.... :.... . co| 00000160 64 65 3d 30 20 b8 20 32 20 88 20 32 0d 00 e6 0d |de=0 . 2 . 2....| 00000170 20 50 25 3d 26 31 39 30 30 0d 00 f0 0f 20 5b 4f | P%=&1900.... [O| 00000180 50 54 20 63 6f 64 65 20 0d 00 fa 06 20 3a 0d 01 |PT code .... :..| 00000190 04 16 20 2e 73 65 74 5f 70 6f 69 6e 74 65 72 5f |.. .set_pointer_| 000001a0 73 69 7a 65 0d 01 0e 21 20 4c 44 41 20 23 32 3a |size...! LDA #2:| 000001b0 53 54 41 20 58 32 3a 4c 44 41 20 23 31 33 3a 53 |STA X2:LDA #13:S| 000001c0 54 41 20 59 32 0d 01 18 09 20 72 74 73 20 0d 01 |TA Y2.... rts ..| 000001d0 22 06 20 3a 0d 01 2c 10 20 2e 70 6f 69 6e 74 65 |". :..,. .pointe| 000001e0 72 5f 6f 6e 0d 01 36 1c 20 4c 44 41 20 23 70 6f |r_on..6. LDA #po| 000001f0 69 6e 74 65 72 5f 64 61 74 61 20 83 20 32 35 36 |inter_data . 256| 00000200 0d 01 40 0d 20 53 54 41 20 63 6f 6c 6c 0d 01 4a |..@. STA coll..J| 00000210 1c 20 4c 44 41 20 23 70 6f 69 6e 74 65 72 5f 64 |. LDA #pointer_d| 00000220 61 74 61 20 81 20 32 35 36 0d 01 54 0d 20 53 54 |ata . 256..T. ST| 00000230 41 20 63 6f 6c 68 0d 01 5e 24 20 4c 44 41 20 23 |A colh..^$ LDA #| 00000240 30 3a 53 54 41 20 70 61 73 73 3a 4a 53 52 20 73 |0:STA pass:JSR s| 00000250 70 72 69 74 65 5f 73 61 76 65 0d 01 68 08 20 72 |prite_save..h. r| 00000260 74 73 0d 01 72 06 20 3a 0d 01 7c 11 20 2e 70 6f |ts..r. :..|. .po| 00000270 69 6e 74 65 72 5f 6f 66 66 0d 01 86 18 20 4a 53 |inter_off.... JS| 00000280 52 20 73 70 72 69 74 65 5f 72 65 73 74 6f 72 65 |R sprite_restore| 00000290 20 0d 01 90 09 20 72 74 73 20 0d 01 9a 06 20 3a | .... rts .... :| 000002a0 0d 01 a4 17 20 2e 70 6f 69 6e 74 65 72 5f 64 69 |.... .pointer_di| 000002b0 72 65 63 74 69 6f 6e 0d 01 ae 1e 20 4c 44 58 20 |rection.... LDX | 000002c0 23 28 2d 35 38 20 80 20 26 46 46 29 3a 4c 44 59 |#(-58 . &FF):LDY| 000002d0 20 23 26 46 46 0d 01 b8 1b 20 4c 44 41 20 23 26 | #&FF.... LDA #&| 000002e0 38 31 3a 4a 53 52 20 26 46 46 46 34 3a 54 58 41 |81:JSR &FFF4:TXA| 000002f0 0d 01 c2 24 20 42 43 43 20 64 6f 77 6e 3a 4c 44 |...$ BCC down:LD| 00000300 41 20 59 31 3a 43 4d 50 20 23 34 3a 42 43 43 20 |A Y1:CMP #4:BCC | 00000310 64 6f 77 6e 0d 01 cc 16 20 53 45 43 3a 53 42 43 |down.... SEC:SBC| 00000320 20 23 33 3a 53 54 41 20 59 31 0d 01 d6 0b 20 2e | #3:STA Y1.... .| 00000330 64 6f 77 6e 20 0d 01 e0 1e 20 4c 44 58 20 23 28 |down .... LDX #(| 00000340 2d 34 32 20 80 20 26 46 46 29 3a 4c 44 59 20 23 |-42 . &FF):LDY #| 00000350 26 46 46 0d 01 ea 1b 20 4c 44 41 20 23 26 38 31 |&FF.... LDA #&81| 00000360 3a 4a 53 52 20 26 46 46 46 34 3a 54 58 41 0d 01 |:JSR &FFF4:TXA..| 00000370 f4 1e 20 42 43 43 20 72 69 67 68 74 3a 4c 44 41 |.. BCC right:LDA| 00000380 20 59 31 3a 43 4d 50 20 23 31 38 34 0d 01 fe 20 | Y1:CMP #184... | 00000390 20 42 43 53 20 72 69 67 68 74 3a 43 4c 43 3a 41 | BCS right:CLC:A| 000003a0 44 43 20 23 33 3a 53 54 41 20 59 31 0d 02 08 0c |DC #3:STA Y1....| 000003b0 20 2e 72 69 67 68 74 20 0d 02 12 1f 20 4c 44 58 | .right .... LDX| 000003c0 20 23 28 2d 31 32 32 20 80 20 26 46 46 29 3a 4c | #(-122 . &FF):L| 000003d0 44 59 20 23 26 46 46 0d 02 1c 1b 20 4c 44 41 20 |DY #&FF.... LDA | 000003e0 23 26 38 31 3a 4a 53 52 20 26 46 46 46 34 3a 54 |#&81:JSR &FFF4:T| 000003f0 58 41 0d 02 26 25 20 42 43 43 20 6c 65 66 74 3a |XA..&% BCC left:| 00000400 4c 44 41 20 58 31 3a 43 4d 50 20 23 37 38 3a 42 |LDA X1:CMP #78:B| 00000410 43 53 20 6c 65 66 74 0d 02 30 16 20 43 4c 43 3a |CS left..0. CLC:| 00000420 41 44 43 20 23 31 3a 53 54 41 20 58 31 0d 02 3a |ADC #1:STA X1..:| 00000430 0b 20 2e 6c 65 66 74 20 0d 02 44 1e 20 4c 44 58 |. .left ..D. LDX| 00000440 20 23 28 2d 32 36 20 80 20 26 46 46 29 3a 4c 44 | #(-26 . &FF):LD| 00000450 59 20 23 26 46 46 0d 02 4e 1b 20 4c 44 41 20 23 |Y #&FF..N. LDA #| 00000460 26 38 31 3a 4a 53 52 20 26 46 46 46 34 3a 54 58 |&81:JSR &FFF4:TX| 00000470 41 0d 02 58 1d 20 42 43 43 20 72 65 74 75 72 6e |A..X. BCC return| 00000480 3a 4c 44 41 20 58 31 3a 43 4d 50 20 23 31 0d 02 |:LDA X1:CMP #1..| 00000490 62 21 20 42 43 43 20 72 65 74 75 72 6e 3a 53 45 |b! BCC return:SE| 000004a0 43 3a 53 42 43 20 23 31 3a 53 54 41 20 58 31 0d |C:SBC #1:STA X1.| 000004b0 02 6c 0d 20 2e 72 65 74 75 72 6e 20 0d 02 76 1f |.l. .return ..v.| 000004c0 20 4c 44 58 20 23 28 2d 31 30 36 20 80 20 26 46 | LDX #(-106 . &F| 000004d0 46 29 3a 4c 44 59 20 23 26 46 46 0d 02 80 1b 20 |F):LDY #&FF.... | 000004e0 4c 44 41 20 23 26 38 31 3a 4a 53 52 20 26 46 46 |LDA #&81:JSR &FF| 000004f0 46 34 3a 54 58 41 0d 02 8a 18 20 42 43 43 20 64 |F4:TXA.... BCC d| 00000500 69 72 65 63 74 69 6f 6e 5f 65 78 69 74 20 0d 02 |irection_exit ..| 00000510 94 17 20 4c 44 41 20 23 26 46 46 3a 53 54 41 20 |.. LDA #&FF:STA | 00000520 69 63 6f 6e 20 0d 02 9e 15 20 2e 64 69 72 65 63 |icon .... .direc| 00000530 74 69 6f 6e 5f 65 78 69 74 20 0d 02 a8 09 20 72 |tion_exit .... r| 00000540 74 73 20 0d 02 b2 06 20 3a 0d 02 bc 12 20 2e 73 |ts .... :.... .s| 00000550 70 72 69 74 65 5f 73 61 76 65 20 0d 02 c6 1f 20 |prite_save .... | 00000560 4c 44 41 20 70 61 73 73 3a 43 4d 50 20 23 32 3a |LDA pass:CMP #2:| 00000570 42 43 43 20 73 61 76 69 6e 67 0d 02 d0 0f 20 4a |BCC saving.... J| 00000580 53 52 20 73 70 72 69 74 65 0d 02 da 08 20 72 74 |SR sprite.... rt| 00000590 73 0d 02 e4 0c 20 2e 73 61 76 69 6e 67 0d 02 ee |s.... .saving...| 000005a0 0d 20 54 59 41 3a 50 48 41 20 0d 02 f8 10 20 49 |. TYA:PHA .... I| 000005b0 4e 43 20 77 69 6e 64 6f 77 73 0d 03 02 11 20 4c |NC windows.... L| 000005c0 44 41 20 70 61 73 73 3a 50 48 41 0d 03 0c 17 20 |DA pass:PHA.... | 000005d0 4c 44 41 20 23 31 3a 53 54 41 20 6d 65 6d 6f 72 |LDA #1:STA memor| 000005e0 79 20 0d 03 16 14 20 4c 44 41 20 73 74 6c 3a 53 |y .... LDA stl:S| 000005f0 54 41 20 70 77 6c 0d 03 20 14 20 4c 44 41 20 73 |TA pwl.. . LDA s| 00000600 74 68 3a 53 54 41 20 70 77 68 0d 03 2a 10 20 4a |th:STA pwh..*. J| 00000610 53 52 20 73 70 72 69 74 65 20 0d 03 34 26 20 4c |SR sprite ..4& L| 00000620 44 41 20 6d 65 6d 6f 72 79 3a 42 45 51 20 6e 6f |DA memory:BEQ no| 00000630 74 5f 65 6e 6f 75 67 68 5f 6d 65 6d 6f 72 79 20 |t_enough_memory | 00000640 0d 03 3e 0c 20 4c 44 59 20 23 30 20 0d 03 48 1c |..>. LDY #0 ..H.| 00000650 20 4c 44 41 20 58 31 3a 53 54 41 20 28 73 74 6c | LDA X1:STA (stl| 00000660 29 2c 59 3a 49 4e 59 20 0d 03 52 1c 20 4c 44 41 |),Y:INY ..R. LDA| 00000670 20 59 31 3a 53 54 41 20 28 73 74 6c 29 2c 59 3a | Y1:STA (stl),Y:| 00000680 49 4e 59 20 0d 03 5c 1c 20 4c 44 41 20 58 32 3a |INY ..\. LDA X2:| 00000690 53 54 41 20 28 73 74 6c 29 2c 59 3a 49 4e 59 20 |STA (stl),Y:INY | 000006a0 0d 03 66 1c 20 4c 44 41 20 59 32 3a 53 54 41 20 |..f. LDA Y2:STA | 000006b0 28 73 74 6c 29 2c 59 3a 49 4e 59 20 0d 03 70 1c |(stl),Y:INY ..p.| 000006c0 20 4c 44 41 20 70 77 6c 3a 53 54 41 20 28 73 74 | LDA pwl:STA (st| 000006d0 6c 29 2c 59 3a 49 4e 59 0d 03 7a 18 20 4c 44 41 |l),Y:INY..z. LDA| 000006e0 20 70 77 68 3a 53 54 41 20 28 73 74 6c 29 2c 59 | pwh:STA (stl),Y| 000006f0 0d 03 84 1f 20 4c 44 41 20 73 74 6c 3a 43 4c 43 |.... LDA stl:CLC| 00000700 3a 41 44 43 20 23 36 3a 53 54 41 20 73 74 6c 0d |:ADC #6:STA stl.| 00000710 03 8e 1b 20 4c 44 41 20 73 74 68 3a 41 44 43 20 |... LDA sth:ADC | 00000720 23 30 3a 53 54 41 20 73 74 68 0d 03 98 11 20 50 |#0:STA sth.... P| 00000730 4c 41 3a 53 54 41 20 70 61 73 73 0d 03 a2 0d 20 |LA:STA pass.... | 00000740 50 4c 41 3a 54 41 59 20 0d 03 ac 09 20 72 74 73 |PLA:TAY .... rts| 00000750 20 0d 03 b6 06 20 3a 0d 03 c0 18 20 2e 6e 6f 74 | .... :.... .not| 00000760 5f 65 6e 6f 75 67 68 5f 6d 65 6d 6f 72 79 20 0d |_enough_memory .| 00000770 03 ca 18 20 4c 44 41 20 70 77 6c 3a 50 48 41 3a |... LDA pwl:PHA:| 00000780 53 54 41 20 73 74 6c 0d 03 d4 18 20 4c 44 41 20 |STA stl.... LDA | 00000790 70 77 68 3a 50 48 41 3a 53 54 41 20 73 74 68 0d |pwh:PHA:STA sth.| 000007a0 03 de 10 20 44 45 43 20 77 69 6e 64 6f 77 73 0d |... DEC windows.| 000007b0 03 e8 22 20 4c 44 41 20 23 31 32 38 3a 53 54 41 |.." LDA #128:STA| 000007c0 20 70 61 73 73 3a 4a 53 52 20 73 70 72 69 74 65 | pass:JSR sprite| 000007d0 20 0d 03 f2 16 20 4c 44 41 20 23 37 3a 4a 53 52 | .... LDA #7:JSR| 000007e0 20 26 46 46 45 45 20 0d 03 fc 1c 20 50 4c 41 3a | &FFEE .... PLA:| 000007f0 53 54 41 20 73 74 68 3a 50 4c 41 3a 53 54 41 20 |STA sth:PLA:STA | 00000800 73 74 6c 0d 04 06 11 20 50 4c 41 3a 53 54 41 20 |stl.... PLA:STA | 00000810 70 61 73 73 0d 04 10 0d 20 50 4c 41 3a 54 41 59 |pass.... PLA:TAY| 00000820 20 0d 04 1a 09 20 72 74 73 20 0d 04 24 06 20 3a | .... rts ..$. :| 00000830 0d 04 2e 15 20 2e 73 70 72 69 74 65 5f 72 65 73 |.... .sprite_res| 00000840 74 6f 72 65 20 0d 04 38 1a 20 4c 44 41 20 58 31 |tore ..8. LDA X1| 00000850 3a 50 48 41 3a 4c 44 41 20 59 31 3a 50 48 41 0d |:PHA:LDA Y1:PHA.| 00000860 04 42 1a 20 4c 44 41 20 58 32 3a 50 48 41 3a 4c |.B. LDA X2:PHA:L| 00000870 44 41 20 59 32 3a 50 48 41 0d 04 4c 10 20 4c 44 |DA Y2:PHA..L. LD| 00000880 41 20 77 69 6e 64 6f 77 73 0d 04 56 1c 20 42 45 |A windows..V. BE| 00000890 51 20 73 70 72 69 74 65 5f 72 65 73 74 6f 72 65 |Q sprite_restore| 000008a0 5f 65 78 69 74 0d 04 60 10 20 44 45 43 20 77 69 |_exit..`. DEC wi| 000008b0 6e 64 6f 77 73 0d 04 6a 0d 20 54 59 41 3a 50 48 |ndows..j. TYA:PH| 000008c0 41 20 0d 04 74 1f 20 4c 44 41 20 73 74 6c 3a 53 |A ..t. LDA stl:S| 000008d0 45 43 3a 53 42 43 20 23 36 3a 53 54 41 20 73 74 |EC:SBC #6:STA st| 000008e0 6c 0d 04 7e 1b 20 4c 44 41 20 73 74 68 3a 53 42 |l..~. LDA sth:SB| 000008f0 43 20 23 30 3a 53 54 41 20 73 74 68 0d 04 88 0c |C #0:STA sth....| 00000900 20 4c 44 59 20 23 30 20 0d 04 92 1c 20 4c 44 41 | LDY #0 .... LDA| 00000910 20 28 73 74 6c 29 2c 59 3a 53 54 41 20 58 31 3a | (stl),Y:STA X1:| 00000920 49 4e 59 20 0d 04 9c 1c 20 4c 44 41 20 28 73 74 |INY .... LDA (st| 00000930 6c 29 2c 59 3a 53 54 41 20 59 31 3a 49 4e 59 20 |l),Y:STA Y1:INY | 00000940 0d 04 a6 1c 20 4c 44 41 20 28 73 74 6c 29 2c 59 |.... LDA (stl),Y| 00000950 3a 53 54 41 20 58 32 3a 49 4e 59 20 0d 04 b0 1c |:STA X2:INY ....| 00000960 20 4c 44 41 20 28 73 74 6c 29 2c 59 3a 53 54 41 | LDA (stl),Y:STA| 00000970 20 59 32 3a 49 4e 59 20 0d 04 ba 21 20 4c 44 41 | Y2:INY ...! LDA| 00000980 20 28 73 74 6c 29 2c 59 3a 50 48 41 3a 53 54 41 | (stl),Y:PHA:STA| 00000990 20 70 77 6c 3a 49 4e 59 20 0d 04 c4 21 20 4c 44 | pwl:INY ...! LD| 000009a0 41 20 28 73 74 6c 29 2c 59 3a 53 54 41 20 73 74 |A (stl),Y:STA st| 000009b0 68 3a 53 54 41 20 70 77 68 20 0d 04 ce 11 20 50 |h:STA pwh .... P| 000009c0 4c 41 3a 53 54 41 20 73 74 6c 20 0d 04 d8 23 20 |LA:STA stl ...# | 000009d0 4c 44 41 20 23 31 32 38 3a 53 54 41 20 70 61 73 |LDA #128:STA pas| 000009e0 73 3a 4a 53 52 20 73 70 72 69 74 65 20 20 0d 04 |s:JSR sprite ..| 000009f0 e2 15 20 4c 44 41 20 70 77 6c 3a 53 54 41 20 73 |.. LDA pwl:STA s| 00000a00 74 6c 20 0d 04 ec 15 20 4c 44 41 20 70 77 68 3a |tl .... LDA pwh:| 00000a10 53 54 41 20 73 74 68 20 0d 04 f6 0d 20 50 4c 41 |STA sth .... PLA| 00000a20 3a 54 41 59 20 0d 05 00 19 20 2e 73 70 72 69 74 |:TAY .... .sprit| 00000a30 65 5f 72 65 73 74 6f 72 65 5f 65 78 69 74 0d 05 |e_restore_exit..| 00000a40 0a 1a 20 50 4c 41 3a 53 54 41 20 59 32 3a 50 4c |.. PLA:STA Y2:PL| 00000a50 41 3a 53 54 41 20 58 32 0d 05 14 1a 20 50 4c 41 |A:STA X2.... PLA| 00000a60 3a 53 54 41 20 59 31 3a 50 4c 41 3a 53 54 41 20 |:STA Y1:PLA:STA | 00000a70 58 31 0d 05 1e 09 20 72 74 73 20 0d 05 28 06 20 |X1.... rts ..(. | 00000a80 3a 0d 05 32 0d 20 2e 73 70 72 69 74 65 20 0d 05 |:..2. .sprite ..| 00000a90 3c 15 20 54 59 41 3a 50 48 41 3a 54 58 41 3a 50 |<. TYA:PHA:TXA:P| 00000aa0 48 41 20 0d 05 46 10 20 4c 44 41 20 59 31 3a 50 |HA ..F. LDA Y1:P| 00000ab0 48 41 20 0d 05 50 0c 20 4c 44 59 20 59 32 20 0d |HA ..P. LDY Y2 .| 00000ac0 05 5a 06 20 3a 0d 05 64 13 20 2e 73 70 72 69 74 |.Z. :..d. .sprit| 00000ad0 65 5f 79 6c 6f 6f 70 20 0d 05 6e 12 20 4a 53 52 |e_yloop ..n. JSR| 00000ae0 20 70 6f 73 69 74 69 6f 6e 20 0d 05 78 0d 20 54 | position ..x. T| 00000af0 59 41 3a 50 48 41 20 0d 05 82 0c 20 4c 44 58 20 |YA:PHA .... LDX | 00000b00 58 32 20 0d 05 8c 0c 20 4c 44 59 20 23 30 20 0d |X2 .... LDY #0 .| 00000b10 05 96 06 20 3a 0d 05 a0 13 20 2e 73 70 72 69 74 |... :.... .sprit| 00000b20 65 5f 78 6c 6f 6f 70 20 0d 05 aa 1a 20 4c 44 41 |e_xloop .... LDA| 00000b30 20 70 61 73 73 3a 42 4d 49 20 72 65 73 74 6f 72 | pass:BMI restor| 00000b40 65 20 0d 05 b4 1d 20 43 4d 50 20 23 32 3a 42 45 |e .... CMP #2:BE| 00000b50 51 20 64 72 61 77 5f 70 6f 69 6e 74 65 72 20 0d |Q draw_pointer .| 00000b60 05 be 14 20 42 43 53 20 64 72 61 77 5f 66 69 78 |... BCS draw_fix| 00000b70 65 64 20 0d 05 c8 20 20 43 4d 50 20 23 31 3a 42 |ed ... CMP #1:B| 00000b80 45 51 20 64 72 61 77 5f 73 61 76 65 5f 66 69 78 |EQ draw_save_fix| 00000b90 65 64 20 0d 05 d2 06 20 3a 0d 05 dc 18 20 2e 64 |ed .... :.... .d| 00000ba0 72 61 77 5f 73 61 76 65 5f 70 6f 69 6e 74 65 72 |raw_save_pointer| 00000bb0 20 0d 05 e6 1d 20 4c 44 41 20 28 79 6c 62 29 2c | .... LDA (ylb),| 00000bc0 59 3a 53 54 41 20 28 73 74 6c 29 2c 59 20 0d 05 |Y:STA (stl),Y ..| 00000bd0 f0 1d 20 4c 44 41 20 28 63 6f 6c 6c 29 2c 59 3a |.. LDA (coll),Y:| 00000be0 53 54 41 20 28 79 6c 62 29 2c 59 0d 05 fa 1c 20 |STA (ylb),Y.... | 00000bf0 4a 4d 50 20 69 6e 63 5f 63 6f 6c 6f 75 72 5f 70 |JMP inc_colour_p| 00000c00 6f 69 6e 74 65 72 20 0d 06 04 06 20 3a 0d 06 0e |ointer .... :...| 00000c10 16 20 2e 64 72 61 77 5f 73 61 76 65 5f 66 69 78 |. .draw_save_fix| 00000c20 65 64 20 0d 06 18 1d 20 4c 44 41 20 28 79 6c 62 |ed .... LDA (ylb| 00000c30 29 2c 59 3a 53 54 41 20 28 73 74 6c 29 2c 59 20 |),Y:STA (stl),Y | 00000c40 0d 06 22 1a 20 4c 44 41 20 63 6f 6c 6f 72 3a 53 |..". LDA color:S| 00000c50 54 41 20 28 79 6c 62 29 2c 59 0d 06 2c 17 20 4a |TA (ylb),Y..,. J| 00000c60 4d 50 20 69 6e 63 5f 73 74 6f 72 65 5f 6d 65 6d |MP inc_store_mem| 00000c70 20 0d 06 36 06 20 3a 0d 06 40 13 20 2e 64 72 61 | ..6. :..@. .dra| 00000c80 77 5f 70 6f 69 6e 74 65 72 20 0d 06 4a 1e 20 4c |w_pointer ..J. L| 00000c90 44 41 20 28 63 6f 6c 6c 29 2c 59 3a 53 54 41 20 |DA (coll),Y:STA | 00000ca0 28 79 6c 62 29 2c 59 20 0d 06 54 22 20 49 4e 43 |(ylb),Y ..T" INC| 00000cb0 20 63 6f 6c 6c 3a 42 4e 45 20 6e 6f 5f 63 6f 6c | coll:BNE no_col| 00000cc0 6f 75 72 5f 63 61 72 72 79 31 0d 06 5e 1f 20 49 |our_carry1..^. I| 00000cd0 4e 43 20 63 6f 6c 68 3a 2e 6e 6f 5f 63 6f 6c 6f |NC colh:.no_colo| 00000ce0 75 72 5f 63 61 72 72 79 31 0d 06 68 1c 20 4a 4d |ur_carry1..h. JM| 00000cf0 50 20 6e 6f 5f 73 74 6f 72 65 5f 6d 65 6d 5f 63 |P no_store_mem_c| 00000d00 61 72 72 79 20 0d 06 72 06 20 3a 0d 06 7c 11 20 |arry ..r. :..|. | 00000d10 2e 64 72 61 77 5f 66 69 78 65 64 20 0d 06 86 1b |.draw_fixed ....| 00000d20 20 4c 44 41 20 63 6f 6c 6f 72 3a 53 54 41 20 28 | LDA color:STA (| 00000d30 79 6c 62 29 2c 59 20 0d 06 90 1c 20 4a 4d 50 20 |ylb),Y .... JMP | 00000d40 6e 6f 5f 73 74 6f 72 65 5f 6d 65 6d 5f 63 61 72 |no_store_mem_car| 00000d50 72 79 20 0d 06 9a 06 20 3a 0d 06 a4 0e 20 2e 72 |ry .... :.... .r| 00000d60 65 73 74 6f 72 65 20 0d 06 ae 1d 20 4c 44 41 20 |estore .... LDA | 00000d70 28 73 74 6c 29 2c 59 3a 53 54 41 20 28 79 6c 62 |(stl),Y:STA (ylb| 00000d80 29 2c 59 20 0d 06 b8 18 20 4a 4d 50 20 69 6e 63 |),Y .... JMP inc| 00000d90 5f 73 74 6f 72 65 5f 6d 65 6d 20 20 0d 06 c2 06 |_store_mem ....| 00000da0 20 3a 0d 06 cc 19 20 2e 69 6e 63 5f 63 6f 6c 6f | :.... .inc_colo| 00000db0 75 72 5f 70 6f 69 6e 74 65 72 20 0d 06 d6 1f 20 |ur_pointer .... | 00000dc0 49 4e 43 20 63 6f 6c 6c 3a 42 4e 45 20 69 6e 63 |INC coll:BNE inc| 00000dd0 5f 73 74 6f 72 65 5f 6d 65 6d 0d 06 e0 0d 20 49 |_store_mem.... I| 00000de0 4e 43 20 63 6f 6c 68 0d 06 ea 06 20 3a 0d 06 f4 |NC colh.... :...| 00000df0 14 20 2e 69 6e 63 5f 73 74 6f 72 65 5f 6d 65 6d |. .inc_store_mem| 00000e00 20 0d 06 fe 23 20 49 4e 43 20 73 74 6c 3a 42 4e | ...# INC stl:BN| 00000e10 45 20 6e 6f 5f 73 74 6f 72 65 5f 6d 65 6d 5f 63 |E no_store_mem_c| 00000e20 61 72 72 79 0d 07 08 0c 20 49 4e 43 20 73 74 68 |arry.... INC sth| 00000e30 0d 07 12 13 20 4c 44 41 20 73 74 68 3a 43 4d 50 |.... LDA sth:CMP| 00000e40 20 26 37 0d 07 1c 1a 20 42 45 51 20 70 61 73 74 | &7.... BEQ past| 00000e50 5f 6d 65 6d 6f 72 79 5f 62 6f 75 6e 64 0d 07 26 |_memory_bound..&| 00000e60 18 20 2e 6e 6f 5f 73 74 6f 72 65 5f 6d 65 6d 5f |. .no_store_mem_| 00000e70 63 61 72 72 79 0d 07 30 06 20 3a 0d 07 3a 1f 20 |carry..0. :..:. | 00000e80 4c 44 41 20 79 6c 62 3a 43 4c 43 3a 41 44 43 20 |LDA ylb:CLC:ADC | 00000e90 23 38 3a 53 54 41 20 79 6c 62 0d 07 44 1b 20 4c |#8:STA ylb..D. L| 00000ea0 44 41 20 79 68 62 3a 41 44 43 20 23 30 3a 53 54 |DA yhb:ADC #0:ST| 00000eb0 41 20 79 68 62 0d 07 4e 1a 20 44 45 58 3a 42 4e |A yhb..N. DEX:BN| 00000ec0 45 20 73 70 72 69 74 65 5f 78 6c 6f 6f 70 20 0d |E sprite_xloop .| 00000ed0 07 58 13 20 49 4e 43 20 59 31 3a 50 4c 41 3a 54 |.X. INC Y1:PLA:T| 00000ee0 41 59 0d 07 62 19 20 44 45 59 3a 42 4e 45 20 73 |AY..b. DEY:BNE s| 00000ef0 70 72 69 74 65 5f 79 6c 6f 6f 70 0d 07 6c 16 20 |prite_yloop..l. | 00000f00 4a 4d 50 20 73 70 72 69 74 65 5f 65 78 69 74 20 |JMP sprite_exit | 00000f10 20 0d 07 76 06 20 3a 0d 07 80 18 20 2e 70 61 73 | ..v. :.... .pas| 00000f20 74 5f 6d 65 6d 6f 72 79 5f 62 6f 75 6e 64 20 0d |t_memory_bound .| 00000f30 07 8a 17 20 4c 44 41 20 23 30 3a 53 54 41 20 6d |... LDA #0:STA m| 00000f40 65 6d 6f 72 79 20 0d 07 94 09 20 50 4c 41 20 0d |emory .... PLA .| 00000f50 07 9e 06 20 3a 0d 07 a8 12 20 2e 73 70 72 69 74 |... :.... .sprit| 00000f60 65 5f 65 78 69 74 20 0d 07 b2 10 20 50 4c 41 3a |e_exit .... PLA:| 00000f70 53 54 41 20 59 31 20 0d 07 bc 15 20 50 4c 41 3a |STA Y1 .... PLA:| 00000f80 54 41 58 3a 50 4c 41 3a 54 41 59 20 0d 07 c6 09 |TAX:PLA:TAY ....| 00000f90 20 72 74 73 20 0d 07 d0 06 20 3a 0d 07 da 0f 20 | rts .... :.... | 00000fa0 2e 70 6f 73 69 74 69 6f 6e 20 0d 07 e4 14 20 4c |.position .... L| 00000fb0 44 41 20 23 30 3a 53 54 41 20 78 68 62 20 0d 07 |DA #0:STA xhb ..| 00000fc0 ee 1f 20 4c 44 41 20 58 31 3a 41 53 4c 20 41 3a |.. LDA X1:ASL A:| 00000fd0 52 4f 4c 20 78 68 62 3a 41 53 4c 20 41 0d 07 f8 |ROL xhb:ASL A...| 00000fe0 22 20 52 4f 4c 20 78 68 62 3a 41 53 4c 20 41 3a |" ROL xhb:ASL A:| 00000ff0 52 4f 4c 20 78 68 62 3a 53 54 41 20 78 6c 62 0d |ROL xhb:STA xlb.| 00001000 08 02 20 20 4c 44 41 20 26 37 3a 43 4c 43 3a 41 |.. LDA &7:CLC:A| 00001010 44 43 20 78 68 62 3a 53 54 41 20 78 68 62 20 0d |DC xhb:STA xhb .| 00001020 08 0c 14 20 4c 44 41 20 23 30 3a 53 54 41 20 79 |... LDA #0:STA y| 00001030 6c 62 20 0d 08 16 12 20 4c 44 41 20 59 31 3a 80 |lb .... LDA Y1:.| 00001040 20 23 26 46 38 0d 08 20 18 20 4c 53 52 20 41 3a | #&F8.. . LSR A:| 00001050 4c 53 52 20 41 3a 53 54 41 20 79 68 62 0d 08 2a |LSR A:STA yhb..*| 00001060 24 20 4c 53 52 20 41 3a 4c 53 52 20 41 3a 52 4f |$ LSR A:LSR A:RO| 00001070 52 20 79 6c 62 3a 43 4c 43 3a 41 44 43 20 79 68 |R ylb:CLC:ADC yh| 00001080 62 0d 08 34 14 20 41 44 43 20 78 68 62 3a 53 54 |b..4. ADC xhb:ST| 00001090 41 20 79 68 62 0d 08 3e 24 20 4c 44 41 20 59 31 |A yhb..>$ LDA Y1| 000010a0 3a 80 20 23 37 3a 43 4c 43 3a 41 44 43 20 79 6c |:. #7:CLC:ADC yl| 000010b0 62 3a 41 44 43 20 78 6c 62 0d 08 48 23 20 53 54 |b:ADC xlb..H# ST| 000010c0 41 20 79 6c 62 3a 4c 44 41 20 23 30 3a 41 44 43 |A ylb:LDA #0:ADC| 000010d0 20 79 68 62 3a 53 54 41 20 79 68 62 0d 08 52 09 | yhb:STA yhb..R.| 000010e0 20 72 74 73 20 0d 08 5c 06 20 3a 0d 08 66 0c 20 | rts ..\. :..f. | 000010f0 2e 73 74 72 69 6e 67 0d 08 70 0c 20 54 59 41 3a |.string..p. TYA:| 00001100 50 48 41 0d 08 7a 0b 20 4c 44 59 20 23 30 0d 08 |PHA..z. LDY #0..| 00001110 84 11 20 2e 73 74 72 69 6e 67 5f 6c 6f 6f 70 0d |.. .string_loop.| 00001120 08 8e 11 20 4c 44 41 20 28 6d 65 73 6c 29 2c 59 |... LDA (mesl),Y| 00001130 0d 08 98 1d 20 43 4d 50 20 23 26 46 46 3a 42 45 |.... CMP #&FF:BE| 00001140 51 20 73 74 72 69 6e 67 5f 65 78 69 74 0d 08 a2 |Q string_exit...| 00001150 0e 20 4a 53 52 20 26 46 46 45 33 0d 08 ac 08 20 |. JSR &FFE3.... | 00001160 49 4e 59 0d 08 b6 1d 20 43 50 59 20 23 26 46 46 |INY.... CPY #&FF| 00001170 3a 42 4e 45 20 73 74 72 69 6e 67 5f 6c 6f 6f 70 |:BNE string_loop| 00001180 0d 08 c0 11 20 2e 73 74 72 69 6e 67 5f 65 78 69 |.... .string_exi| 00001190 74 0d 08 ca 0c 20 50 4c 41 3a 54 41 59 0d 08 d4 |t.... PLA:TAY...| 000011a0 08 20 72 74 73 0d 08 de 06 20 3a 0d 08 e8 0d 20 |. rts.... :.... | 000011b0 2e 64 65 73 6b 74 6f 70 0d 08 f2 1b 20 4a 53 52 |.desktop.... JSR| 000011c0 20 64 65 73 6b 74 6f 70 5f 62 61 63 6b 67 72 6f | desktop_backgro| 000011d0 75 6e 64 0d 08 fc 1a 20 4a 53 52 20 64 65 73 6b |und.... JSR desk| 000011e0 74 6f 70 5f 69 63 6f 6e 5f 6c 69 6e 65 0d 09 06 |top_icon_line...| 000011f0 19 20 4a 53 52 20 73 65 74 5f 70 6f 69 6e 74 65 |. JSR set_pointe| 00001200 72 5f 73 69 7a 65 0d 09 10 21 20 4c 44 41 20 23 |r_size...! LDA #| 00001210 36 30 3a 53 54 41 20 58 31 3a 4c 44 41 20 23 36 |60:STA X1:LDA #6| 00001220 3a 53 54 41 20 59 31 0d 09 1a 14 20 4c 44 41 20 |:STA Y1.... LDA | 00001230 23 31 3a 53 54 41 20 69 63 6f 6e 0d 09 24 0f 20 |#1:STA icon..$. | 00001240 2e 64 65 73 6b 5f 6c 6f 6f 70 0d 09 2e 13 20 4a |.desk_loop.... J| 00001250 53 52 20 70 6f 69 6e 74 65 72 5f 6f 6e 0d 09 38 |SR pointer_on..8| 00001260 14 20 4a 53 52 20 70 6f 69 6e 74 65 72 5f 6f 66 |. JSR pointer_of| 00001270 66 0d 09 42 1a 20 4a 53 52 20 70 6f 69 6e 74 65 |f..B. JSR pointe| 00001280 72 5f 64 69 72 65 63 74 69 6f 6e 0d 09 4c 24 20 |r_direction..L$ | 00001290 4c 44 41 20 69 63 6f 6e 3a 43 4d 50 20 23 26 46 |LDA icon:CMP #&F| 000012a0 46 3a 42 4e 45 20 64 65 73 6b 5f 6c 6f 6f 70 0d |F:BNE desk_loop.| 000012b0 09 56 08 20 72 74 73 0d 09 60 06 20 3a 0d 09 6a |.V. rts..`. :..j| 000012c0 19 20 2e 64 65 73 6b 74 6f 70 5f 62 61 63 6b 67 |. .desktop_backg| 000012d0 72 6f 75 6e 64 20 0d 09 74 16 20 4c 44 41 20 23 |round ..t. LDA #| 000012e0 31 37 30 3a 53 54 41 20 26 33 35 38 0d 09 7e 13 |170:STA &358..~.| 000012f0 20 4c 44 41 20 26 32 3a 53 54 41 20 73 74 6c 0d | LDA &2:STA stl.| 00001300 09 88 1e 20 4c 44 41 20 26 33 3a 43 4c 43 3a 41 |... LDA &3:CLC:A| 00001310 44 43 20 23 31 3a 53 54 41 20 73 74 68 0d 09 92 |DC #1:STA sth...| 00001320 17 20 4c 44 41 20 23 30 3a 53 54 41 20 77 69 6e |. LDA #0:STA win| 00001330 64 6f 77 73 0d 09 9c 1f 20 4c 44 41 20 23 73 63 |dows.... LDA #sc| 00001340 72 65 65 6e 20 83 20 32 35 36 3a 53 54 41 20 6d |reen . 256:STA m| 00001350 65 73 6c 0d 09 a6 1f 20 4c 44 41 20 23 73 63 72 |esl.... LDA #scr| 00001360 65 65 6e 20 81 20 32 35 36 3a 53 54 41 20 6d 65 |een . 256:STA me| 00001370 73 68 0d 09 b0 0f 20 4a 53 52 20 73 74 72 69 6e |sh.... JSR strin| 00001380 67 0d 09 ba 09 20 72 74 73 20 0d 09 c4 06 20 3a |g.... rts .... :| 00001390 0d 09 ce 17 20 2e 64 65 73 6b 74 6f 70 5f 69 63 |.... .desktop_ic| 000013a0 6f 6e 5f 6c 69 6e 65 0d 09 d8 19 20 4c 44 41 20 |on_line.... LDA | 000013b0 23 30 3a 53 54 41 20 58 31 3a 53 54 41 20 59 31 |#0:STA X1:STA Y1| 000013c0 0d 09 e2 22 20 4c 44 41 20 23 38 30 3a 53 54 41 |..." LDA #80:STA| 000013d0 20 58 32 3a 4c 44 41 20 23 32 33 3a 53 54 41 20 | X2:LDA #23:STA | 000013e0 59 32 0d 09 ec 17 20 4c 44 41 20 23 32 35 35 3a |Y2.... LDA #255:| 000013f0 53 54 41 20 63 6f 6c 6f 72 0d 09 f6 24 20 4c 44 |STA color...$ LD| 00001400 41 20 23 33 3a 53 54 41 20 70 61 73 73 3a 4a 53 |A #3:STA pass:JS| 00001410 52 20 73 70 72 69 74 65 5f 73 61 76 65 0d 0a 00 |R sprite_save...| 00001420 09 20 72 74 73 20 0d 0a 0a 06 20 3a 0d 0a 14 12 |. rts .... :....| 00001430 20 2e 70 6f 69 6e 74 65 72 5f 64 61 74 61 0d 0a | .pointer_data..| 00001440 1e 13 20 45 51 55 44 20 26 30 30 37 38 30 30 36 |.. EQUD &0078006| 00001450 30 0d 0a 28 13 20 45 51 55 44 20 26 43 30 37 46 |0..(. EQUD &C07F| 00001460 30 30 37 45 0d 0a 32 13 20 45 51 55 44 20 26 45 |007E..2. EQUD &E| 00001470 30 37 46 46 30 37 46 0d 0a 3c 13 20 45 51 55 44 |07FF07F..<. EQUD| 00001480 20 26 43 30 36 33 38 30 37 46 0d 0a 46 13 20 45 | &C063807F..F. E| 00001490 51 55 44 20 26 46 30 30 30 45 30 30 31 0d 0a 50 |QUD &F000E001..P| 000014a0 13 20 45 51 55 44 20 26 33 43 30 30 37 38 30 30 |. EQUD &3C007800| 000014b0 0d 0a 5a 0f 20 45 51 55 57 20 26 31 38 30 30 0d |..Z. EQUW &1800.| 000014c0 0a 64 06 20 3a 0d 0a 6e 0c 20 2e 73 63 72 65 65 |.d. :..n. .scree| 000014d0 6e 0d 0a 78 13 20 45 51 55 44 20 26 30 30 30 31 |n..x. EQUD &0001| 000014e0 31 37 30 43 0d 0a 82 13 20 45 51 55 44 20 26 30 |170C.... EQUD &0| 000014f0 30 30 30 30 30 30 30 0d 0a 8c 0f 20 45 51 55 57 |0000000.... EQUW| 00001500 20 26 30 30 30 30 0d 0a 96 0d 20 45 51 55 42 20 | &0000.... EQUB | 00001510 26 30 30 0d 0a a0 13 20 45 51 55 44 20 26 30 37 |&00.... EQUD &07| 00001520 30 39 30 30 31 37 0d 0a aa 13 20 45 51 55 44 20 |090017.... EQUD | 00001530 26 30 30 30 30 30 30 30 30 0d 0a b4 0f 20 45 51 |&00000000.... EQ| 00001540 55 57 20 26 30 30 30 30 0d 0a be 13 20 45 51 55 |UW &0000.... EQU| 00001550 44 20 26 32 36 30 34 30 30 31 37 0d 0a c8 13 20 |D &26040017.... | 00001560 45 51 55 44 20 26 30 30 30 30 30 30 30 30 0d 0a |EQUD &00000000..| 00001570 d2 0f 20 45 51 55 57 20 26 30 30 30 30 0d 0a dc |.. EQUW &0000...| 00001580 13 20 45 51 55 44 20 26 31 46 30 37 30 30 31 37 |. EQUD &1F070017| 00001590 0d 0a e6 13 20 45 51 55 44 20 26 30 30 30 30 30 |.... EQUD &00000| 000015a0 30 30 30 0d 0a f0 0f 20 45 51 55 57 20 26 30 30 |000.... EQUW &00| 000015b0 30 30 0d 0a fa 0d 20 45 51 55 42 20 26 46 46 0d |00.... EQUB &FF.| 000015c0 0b 04 06 20 3a 0d 0b 0e 0e 20 2e 63 6f 64 65 5f |... :.... .code_| 000015d0 65 6e 64 0d 0b 18 06 20 3a 0d 0b 22 07 20 5d 20 |end.... :..". ] | 000015e0 0d 0b 2c 0c 20 ed 20 63 6f 64 65 20 0d 0b 36 0e |..,. . code ..6.| 000015f0 20 d6 20 64 65 73 6b 74 6f 70 0d ff | . desktop..| 000015fc