Home » Personal collection » Commodore disks » disk12b2_driving_games_3.d64 » edit 23.8.95
edit 23.8.95
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Commodore disks » disk12b2_driving_games_3.d64 |
Filename: | edit 23.8.95 |
Read OK: | ✔ |
File size: | 1D57 bytes |
Load address: | 0801 |
Exec address: | 0000 |
File contents
10 ; CRYSTALS OF OLYMPIA 20 ; EDITOR PROGRAM 30 ; 26/5/95 - 1000 ; VARIABLES 1010 XP=$CF40 1020 YP=$CF41 1030 XPB=$CF42 1040 CLICK=$CF43 1050 BUTNO=$CF44 1060 HOUR=$CF45 1070 SCHAR=$CF46 1080 XSP=$CF47 1090 YSP=$CF48 1990 *=$C000 2000 ; WIMP ROUTINES 2003 ; 2006 ; WIMP - MOUSE 2010 IRQ LDA #$00 2013 STA CLICK 2016 LDA $C5 2020 CMP #$01 2030 BNE CONCHECK 2040 STA CLICK 2050 CONCHECK CMP #$0C 2060 BEQ LEFTK 2070 LKC CMP #$17 2080 BEQ RIGHTK 2090 RKC CMP #$32 2100 BEQ UPK 2110 UPKC CMP #$37 2120 BEQ DOWNK 2130 DKC LDA $DC00 2140 TAX 2150 AND #$01 2160 BEQ UPJ 2170 UJC TXA 2180 AND #$02 2190 BEQ DOWNJ 2200 DJC TXA 2210 AND #$04 2220 BEQ LEFTJ 2230 LJC TXA 2240 AND #$08 2250 BEQ RIGHTJ 2260 RJC TXA 2270 AND #$10 2275 EOR #$10 2280 BEQ CJCH 2290 STA CLICK 2300 CJCH JMP $EA31 2310 LEFTK JSR LEFT 2320 JMP LKC 2330 RIGHTK JSR RIGHT 2340 JMP RKC 2350 UPK JSR UP 2360 JMP UPKC 2370 DOWNK JSR DOWN 2380 JMP DKC 2390 UPJ JSR UP 2400 JMP UJC 2410 DOWNJ JSR DOWN 2420 JMP DJC 2430 LEFTJ JSR LEFT 2440 JMP LJC 2450 RIGHTJ JSR RIGHT 2460 JMP RJC 2470 LEFT DEC XP 2480 LDA XP 2490 CMP #$FF 2500 BNE NOTFF 2510 LDY #$00 2520 STY XPB 2530 NOTFF LDY XPB 2540 BNE FIN 2550 CMP #$18 2560 BNE FIN 2570 INC XP 2580 FIN JMP CONTROL 2590 RIGHT INC XP 2600 LDA XP 2610 BNE NOT00 2620 LDY #$01 2630 STY XPB 2640 NOT00 LDY XPB 2650 BEQ FIN 2660 CMP #$58 2670 BNE FIN 2680 DEC XP 2690 JMP CONTROL 2700 UP DEC YP 2705 LDA YP 2710 CMP #$32 2715 BNE FIN 2720 INC YP 2730 JMP CONTROL 2740 DOWN INC YP 2750 LDA YP 2760 CMP #$F8 2770 BNE FIN 2780 DEC YP 2790 JMP CONTROL 2800 ; WIMP - POINTER 2803 CONTROL LDA HOUR 2806 BNE HGLASS 2810 LDA XP 2820 CMP #$28 2830 BCC NSQUP 2840 CMP #$F8 2850 BCS NSQUP 2860 LDA XPB 2870 BNE NSQUP 2880 LDA YP 2890 CMP #$42 2900 BCC NSQUP 2910 CMP #$C1 2920 BCS NSQUP 2930 LDA XP 2940 AND #$F8 2950 STA $D000 2970 LDA YP 2980 AND #$F8 2985 ORA #$02 3000 STA $D001 3001 LDA $D010 3002 AND #$FC 3004 STA $D010 3005 LDA #$92 3006 STA $63F8 3007 LDA $D015 3008 AND #$FC 3009 ORA #$01 3010 STA $D015 3018 LDA #$01 3019 STA $D027 3020 RTS 3022 HGLASS LDX #$93 3024 STX $63F8 3026 INX 3028 STX $63F9 3030 NSQUP LDA XP 3040 STA $D000 3050 STA $D002 3060 LDA YP 3070 STA $D001 3080 STA $D003 3090 LDA $D010 3100 AND #$FC 3110 LSR A 3120 CLC 3130 ADC XPB 3140 ASL A 3150 CLC 3160 ADC XPB 3170 STA $D010 3180 LDA #$00 3190 STA $D027 3200 LDA #$01 3210 STA $D028 3220 LDA $D015 3230 ORA #$03 3240 STA $D015 3243 LDA HOUR 3246 BNE QTRO 3250 LDA #$90 3260 STA $63F8 3270 LDA #$91 3280 STA $63F9 3290 QTRO RTS 3300 ; STARTUP ROUTINES 3302 SR LDA #$8B 3306 STA $D011 3310 LDA $DD02 3312 ORA #$02 3314 STA $DD02 3316 LDA $DD00 3320 AND #$FE 3330 ORA #$02 3340 STA $DD00 3343 LDA #$00 3346 STA $D020 3348 STA $D021 3350 LDA #$86 3360 STA $D018 3362 LDA #$00 3365 STA $D000 3366 LDA #$0B 3368 STA $D001 3373 LDA #$10 3374 STA $D008 3375 LDA #$3A 3376 STA $D009 3377 LDA #$10 3378 STA $D010 3379 LDA #$01 3380 STA $D029 3381 STA $D02B 3382 LDA #$00 3383 STA $D02A 3385 STA SCHAR 3388 LDA #$01 3389 LDX #$08 3390 TAY 3400 JSR $FFBA 3410 LDA #$0C 3420 LDX #<EGRTXT 3430 LDY #>EGRTXT 3450 JSR $FFBD 3460 LDA #$00 3470 JSR $FFD5 3471 LDA #$01 3472 LDX #$08 3473 TAY 3474 JSR $FFBA 3475 LDA #$08 3476 LDX #<ECTXT 3477 LDY #>ECTXT 3478 JSR $FFBD 3479 LDA #$00 3480 JSR $FFD5 3481 LDA #$9B 3482 STA $D011 3483 LDA #$00 3485 STA BUTNO 3487 LDA #$92 3490 STA $63FC 3500 SEI 3510 LDA #$00 3520 STA $0314 3530 LDA #$C0 3540 STA $0315 3550 CLI 3560 LDA #$00 3570 STA XP 3580 STA HOUR 3590 LDA #$80 3600 STA YP 3610 LDA #$01 3620 STA XPB 3621 LDA #$1C 3622 STA $D015 3623 JSR LEFT 3624 LDA #$00 3625 STA $D004 3626 STA $D006 3627 LDA #$D9 3628 STA $D005 3629 STA $D007 3630 LDA #$95 3632 STA $63FB 3634 LDA #$08 3635 STA $D01C 3636 LDA #$18 3637 STA $D016 3639 BUT0 JSR BUTCHECK 3640 JMP BUT0 3650 EGRTXT TXT "EDITGRAPHICS" 3652 ECTXT TXT "EDITCOLS" 3655 BCQU JMP SLECT 3657 BCNCQ RTS 3660 BUTCHECK LDA CLICK 3670 BEQ BCNCQ 3680 LDA YP 3682 CMP #$D9 3684 BCC BCQU 3685 LDA XPB 3686 BNE XBSR 3687 LDA XP 3688 CMP #$28 3689 BCC BCQU 3692 LDA $D010 3694 AND #$F3 3696 STA $D010 3698 LDA XP 3700 CMP #$28 3710 BCC BCQU 3730 JMP BCOK 3740 XBSR LDA XP 3750 CMP #$44 3760 BCS BCQU 3761 LDA $D010 3762 ORA #$0C 3763 STA $D010 3770 BCOK LDA XP 3772 LDX XPB 3775 BNE BCTC 3780 SEC 3790 SBC #$28 3800 BCTC LDX #$FF 3810 BCLPA INX 3820 SEC 3830 SBC #$18 3840 CMP #$E8 3850 BCC BCLPA 3860 TXA 3870 LDY XPB 3880 BEQ NAO 3890 CLC 3900 ADC #$09 3910 NAO STA BUTNO 3920 ASL A 3930 ASL A 3940 ASL A 3950 STA $02 3960 CLC 3970 ADC $02 3980 ADC $02 3985 ADC #$28 3990 STA $D004 4000 STA $D006 4010 LDA #$96 4012 CLC 4016 ADC BUTNO 4020 STA $63FA 4030 PLA 4040 PLA 4050 LDA #$CF 4060 STA VE+2 4070 LDA BUTNO 4080 ASL A 4083 CLC 4086 ADC #$80 4090 STA VE+1 4092 LDA #>VEC 4094 PHA 4096 LDA #<VEC-1 4098 PHA 4100 VE JMP ($0000) 4110 VEC LDA VE+1 4120 CLC 4130 ADC #$20 4140 STA PH+1 4150 LDA #$CF 4160 STA PH+2 4170 PH JMP ($0000) 4180 SLECTQ RTS 4190 SLECT LDA XPB 4200 BEQ SLECTQ 4210 LDA XP 4220 CMP #$10 4230 BCC SLECTQ 4240 CMP #$50 4250 BCS SLECTQ 4260 LDA YP 4270 CMP #$3A 4280 BCC SLECTQ 4290 CMP #$CA 4300 BCS SLECTQ 4310 LDA XP 4320 AND #$F8 4330 TAX 4340 LDA YP 4350 AND #$F8 4352 ORA #$02 4360 TAY 4370 CMP #$BA 4380 BEQ SLECTQ 4390 BCS SLCNT 4400 CPX #$30 4410 BEQ SLECTQ 4420 SLCNT STX $D008 4430 STY $D009 4440 CPY #$BA 4450 BCS CALC2 4460 TXA 4470 CMP #$30 4480 BCC CALC1 4490 SEC 4500 SBC #$08 4510 CALC1 SEC 4520 SBC #$10 4525 ASL A 4530 STA $02 4540 TYA 4550 SEC 4560 SBC #$3A 4570 LSR A 4580 LSR A 4590 LSR A 4600 CLC 4610 ADC $02 4620 STA SCHAR 4630 RTS 4640 CALC2 TXA 4650 SEC 4660 SBC #$10 4670 LSR A 4680 LSR A 4690 LSR A 4700 CPY #$C2 4710 BEQ CALC2C 4720 CLC 4730 ADC #$08 4740 CALC2C CLC 4750 ADC #$70 4760 STA SCHAR 4770 RTS 4800 CLRSCR LDA #$52 4810 STA $FB 4820 LDA #$D8 4830 STA $FC 4840 LOPA LDA #$00 4850 LDY #$00 4860 LOPB STA ($FB),Y 4870 INY 4880 CPY #$1A 4890 BNE LOPB 4900 LDA $FB 4910 CLC 4920 ADC #$28 4930 STA $FB 4940 CMP #$D2 4950 BEQ QUITCS 4960 CMP #$28 4970 BCS LOPA 4980 INC $FC 4990 JMP LOPA 5000 QUITCS RTS 5010 DISP JSR SCRDISP 5020 JMP CELSEISP 5030 SCRDISP LDA #$52 5040 STA $FB 5050 LDA #$60 5060 STA $FC 5070 LDX #$00 5080 LOPAD LDY #$00 5090 LOPBD JSR GETCHAR 5100 ORA #$80 5110 STA ($FB),Y 5120 INY 5130 CPY #$1A 5140 BNE LOPBD 5150 LDA $FB 5160 CLC 5170 ADC #$28 5180 STA $FB 5190 INX 5200 CMP #$D2 5210 BEQ QUITCS 5220 CMP #$28 5230 BCS LOPAD 5240 INC $FC 5250 JMP LOPAD 5260 CELSEISP LDA #$52 5270 STA $FB 5280 LDA #$D8 5290 STA $FC 5300 LDX #$00 5310 LOPCD LDY #$00 5320 LOPDD TXA 5330 PHA 5340 JSR GETCHAR 5350 TAX 5360 LDA $E000,X 5370 STA ($FB),Y 5380 PLA 5390 TAX 5400 INY 5410 CPY #$1A 5420 BNE LOPDD 5430 LDA $FB 5440 CLC 5450 ADC #$28 5460 STA $FB 5470 INX 5480 CMP #$D2 5490 BEQ QUITCS 5500 CMP #$28 5510 BCS LOPCD 5520 INC $FC 5530 JMP LOPCD 5540 GETCHAR LDA XSP 5550 STA $FD 5560 TXA 5570 CLC 5580 ADC YSP 5582 ADC #$04 5584 CMP #$40 5586 BCC GCC 5587 CLC 5589 ADC #$40 5590 GCC STA $FE 5600 LDA ($FD),Y 5610 RTS 5620 GDQU RTS 5630 GETDIR LDA #$00 5640 LDX CLICK 5650 BEQ GDQU 5660 LDX YP 5670 CPX #$D1 5680 BCS GDQU 5690 LDX XPB 5700 BEQ GDPII 5710 LDX XP 5720 CPX #$08 5730 BCS GDQU 5740 GDPII LDX $63F8 5750 CPX #$92 5760 BEQ GDQU 5770 LDX YP 5780 CPX #$42 5790 BCS GDPA 5800 ORA #$01 5810 GDPA CPX #$C2 5820 BCC GDPB 5830 ORA #$02 5840 GDPB LDX XP 5850 CPX #$28 5860 BCS GDPC 5870 ORA #$04 5880 GDPC CPX #$F8 5890 BCC GDPD 5900 ORA #$08 5910 GDPD LDX XPB 5920 BEQ GDQU 5930 ORA #$08 5940 RTS 10000 BI1 RTS 10001 BI2 RTS 10003 BI4 RTS 10004 BI5 RTS 10005 BI6 RTS 10006 BI7 RTS 10007 BI8 RTS 10008 BI9 RTS 10009 BIA RTS 10010 BIB RTS 10011 BIC RTS 10020 BT1 NOP 10021 BT2 NOP 10022 BT3 NOP 10023 BT4 NOP 10024 BT5 NOP 10025 BT6 NOP 10026 BT7 NOP 10027 BT8 NOP 10028 BT9 NOP 10029 BTA NOP 10030 BTB NOP 10031 BTC NOP 10032 JMP BUT0 63000 ; VECTOR TABLE 63010 *=$CF80 63020 TXT <BI1,>BI1,<BI2,>BI2,<DISP,>DISP 63030 TXT <BI4,>BI4,<BI5,>BI5,<BI6,>BI6 63040 TXT <BI7,>BI7,<BI8,>BI8,<BI9,>BI9 63050 TXT <BIA,>BIA,<BIB,>BIB,<BIC,>BIC 63060 ; 63070 *=$CFA0 63080 TXT <BT1,>BT1,<BT2,>BT2,<BT3,>BT3 63090 TXT <BT4,>BT4,<BT5,>BT5,<BT6,>BT6 63100 TXT <BT7,>BT7,<BT8,>BT8,<BT9,>BT9 63110 TXT <BTA,>BTA,<BTB,>BTB,<BTC,>BTC
; CRYSTALS OF OLYMPIA / ; EDI�R PROGRAM ? ; 26�5�95 � O�; VARIABLES \�XP�$CF40 i�YP�$CF41 wXPB�$CF42 �CLICK�$CF43 �BUTNO�$CF44 �$HOUR�$CF45 �.SCHAR�$CF46 �8XSP�$CF47 �BYSP�$CF48 ����$C000 �; WIMP ROUTINES & �; 9 �; WIMP - MOUSE J �IRQ LDA #$00 X �STA CLICK d �LDA $C5 q �CMP #$01 � �BNE C�CHECK � �STA CLICK � C�CHECK CMP #$0C � BEQ LEFTK � LKC CMP #$17 � BEQ RIGHTK � *RKC CMP #$32 � 4BEQ UPK >UPKC CMP #$37 HBEQ DOWNK ! RDKC LDA $DC00 ) \TAX 4 f� #$01 @ pBEQ UPJ L zUJC TXA W �� #$02 e �BEQ DOWNJ q �DJC TXA | �� #$04 � �BEQ LEFTJ � �LJC TXA � �� #$08 � �BEQ RIGHTJ � �RJC TXA � �� #$10 � �E� #$10 � �BEQ CJCH � �STA CLICK �CJCH JMP $EA31 LEFTK JSR LEFT JMP LKC 5 RIGHTK JSR RIGHT A$ JMP RKC P. UPK JSR UP ]8 JMP UPKC pB DOWNK JSR DOWN |L JMP DKC �V UPJ JSR UP �` JMP UJC �j DOWNJ JSR DOWN �t JMP DJC �~ LEFTJ JSR LEFT �� JMP LJC �� RIGHTJ JSR RIGHT �� JMP RJC � LEFT DEC XP � LDA XP � CMP #$FF *� BNE �FF 7� LDY #$00 C� STY XPB S� �FF LDY XPB _� BNE FIN l� CMP #$18 x BNE FIN � INC XP � FIN JMP �ROL � RIGHT INC XP �( LDA XP �2 BNE �00 �< LDY #$01 �F STY XPB �P �00 LDY XPB �Z BEQ FIN �d CMP #$58 n BNE FIN x DEC XP " � JMP �ROL 0 � UP DEC YP ; � LDA YP H � CMP #$32 T � BNE FIN _ � INC YP l � JMP �ROL | � DOWN INC YP � � LDA YP � � CMP #$F8 � � BNE FIN � � DEC YP � � JMP �ROL � � ; WIMP � PO�ER � � �ROL LDA HOUR � � BNE HGLASS � � LDA XP CMP #$28 BCC NSQUP CMP #$F8 -"BCS NSQUP 9,LDA XPB G6BNE NSQUP R@LDA YP _JCMP #$42 mTBCC NSQUP z^CMP #$C1 �hBCS NSQUP �rLDA XP �|� #$F8 ��STA $D000 ��LDA YP ��� #$F8 ���A #$02 ��STA $D001 ��LDA $D010 ��� #$FC �STA $D010 �LDA #$92 �STA $63F8 ,�LDA $D015 7�� #$FC C��A #$01 Q�STA $D015 ^�LDA #$01 l�STA $D027 t�RTS ��HGLASS LDX #$93 ��STX $63F8 ��INX ��STX $63F9 ��NSQUP LDA XP ��STA $D000 ��STA $D002 ��LDA YP ��STA $D001 STA $D003 LDA $D010 � #$FC #&LSR A +0CLC 7:ADC XPB ADASL A INCLC UXADC XPB cbSTA $D010 plLDA #$00 ~vSTA $D027 ��LDA #$01 ��STA $D028 ��LDA $D015 ���A #$03 ��STA $D015 ��LDA HOUR ��BNE QTRO ��LDA #$90 ��STA $63F8 �LDA #$91 �STA $63F9 �QTRO RTS 5�; STARTUP ROUTINES E�SR LDA #$8B S�STA $D011 a�LDA $DD02 m��A #$02 {�STA $DD02 ��LDA $DD00 ��� #$FE � �A #$02 � STA $DD00 � LDA #$00 � STA $D020 � STA $D021 � LDA #$86 � STA $D018 �" LDA #$00 % STA $D000 & LDA #$0B (( STA $D001 5- LDA #$10 C. STA $D008 P/ LDA #$3A ^0 STA $D009 k1 LDA #$10 y2 STA $D010 �3 LDA #$01 �4 STA $D029 �5 STA $D02B �6 LDA #$00 �7 STA $D02A �9 STA SCHAR �< LDA #$01 �= LDX #$08 �> TAY �H JSR $FFBA R LDA #$0C \ LDX #�EGRTXT *f LDY #�EGRTXT 8z JSR $FFBD E� LDA #$00 S� JSR $FFD5 `� LDA #$01 m� LDX #$08 u� TAY �� JSR $FFBA �� LDA #$08 �� LDX #�ECTXT �� LDY #�ECTXT �� JSR $FFBD �� LDA #$00 �� JSR $FFD5 �� LDA #$9B �� STA $D011 � LDA #$00 � STA BUTNO � LDA #$92 *� STA $63FC 2� SEI ?� LDA #$00 M� STA $0314 Z� LDA #$C0 h� STA $0315 p� CLI }� LDA #$00 �� STA XP �� STA HOUR �LDA #$80 �STA YP �LDA #$01 �$STA XPB �%LDA #$1C �&STA $D015 �'JSR LEFT �(LDA #$00 )STA $D004 *STA $D006 $+LDA #$D9 2,STA $D005 @-STA $D007 M.LDA #$95 [0STA $63FB h2LDA #$08 v3STA $D01C �4LDA #$18 �5STA $D016 �7BUT0 JSR BUTCHECK �8JMP BUT0 �BEGRTXT TXT "EDITGRAPHICS"