Home » Personal collection » Commodore disks » disk12b2_driving_games_3.d64 » edit 12.7.95
edit 12.7.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 12.7.95 | 
| Read OK: | ✔ | 
| File size: | 10C5 bytes | 
| Load address: | 0801 | 
| Exec address: | 0000 | 
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Commodore disks » disk12b2_driving_games_3.d64 » edit 12.7.95
- Personal collection » Commodore disks » disk47b2_unlabelled.d64 » edit 12.7.95
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
  1990 *=$C000
  2000 ;                                               WIMP ROUTINES
  2003 ;
  2006 ; WIMP - MOUSE
  2010 IRQ 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
  2810 CONTROL 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 #$82
  3006 STA $5BF8
  3007 LDA $D015
  3008 AND #$FC
  3009 ORA #$01
  3010 STA $D015
  3018 LDA #$01
  3019 STA $D027
  3020 RTS
  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 #$80
  3190 STA $5BF8
  3200 LDA #$81
  3210 STA $5BF9
  3220 LDA $D015
  3230 ORA #$03
  3240 STA $D015
  3250 LDA #$00
  3260 STA $D027
  3270 LDA #$01
  3280 STA $D028
  3290 RTS
  3300 ; STARTUP ROUTINES
  3310 LDA $DD02
  3320 AND #$FE
  3330 ORA #$02
  3340 STA $DD02
  3350 LDA #$86
  3360 STA $D018
  3362 LDA #$00
  3365 STA $D000
  3366 LDA #$0B
  3368 STA $D001
  3370 LDA #$01
  3380 LDX #$08
  3390 LDY #$01
  3400 JSR $FFBA
  3410 LDA #$0C
  3420 LDX #<EGRTXT
  3430 LDY #>EGRTXT
  3450 JSR $FFBD
  3460 LDA #$00
  3470 JSR $FFD5
  3480 LDA #$00
  3490 STA BUTNO
  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 #$0C
  3622 STA $D015
  3623 JSR LEFT
  3624 LDA #$00
  3625 STA $D005
  3626 STA $D007
  3627 LDA #$DA
  3628 STA $D004
  3629 STA $D006
  3630 LDA #$85
  3632 STA $5BFA
  3634 LDA #$04
  3635 STA $D01C
  3637 BUT0 JSR BUTCHECK
  3640 JMP BUT0
  3650 EGRTXT TXT "EDITGRAPHICS"
  3655 BCQU RTS
  3660 BUTCHECK LDA YP
  3670 CMP #$D9
  3680 BCC BCQU
  3690 LDA XP
  3700 CMP #$28
  3710 BCC BCQU
  3720 LDA XPB
  3730 BNE BCOK
  3740 LDA XP
  3750 CMP #$48
  3760 BCS BCQU
  3770 BCOK LDA XP
  3772 LDX XPB
  3775 BNE BCTC
  3780 SEC
  3790 SBC #$28
  3800 BCTC LDX #$00
  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
  3990 STA $D005
  4000 STA $D007
  4010 LDA #$85
  4012 CLC
  4016 ADC BUTNO
  4020 STA $5BFB
  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
  4098 PHA
  4100 VE JMP ($0000)
  4110 VEC LDA VE+1
  4120 CLC
  4130 ADC #$20
  4140 STA PH+1
  4150 LDA VE+2
  4160 STA PH+2
  4170 PH JMP ($0000)
 10000 BI1 RTS
 10001 BI2 RTS
 10002 BI3 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,<BI3,>BI3
 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 TXT <BT1,>BT1,<BT2,>BT2,<BT3,>BT3
 63080 TXT <BT4,>BT4,<BT5,>BT5,<BT6,>BT6
 63090 TXT <BT7,>BT7,<BT8,>BT8,<BT9,>BT9
 63100 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 ����$C000 ��;                                               WIMP ROUTINES ��; 
	�; WIMP � MOUSE 	�IRQ LDA $C5 *	�CMP #$01 :	�BNE C�CHECK H	�STA CLICK ]	C�CHECK CMP #$0C k	BEQ LEFTK |	LKC CMP #$17 �	 BEQ RIGHTK �	*RKC CMP #$32 �	4BEQ UPK �	>UPKC CMP #$37 �	HBEQ DOWNK �	RDKC LDA $DC00 �	\TAX �	f� #$01 �	pBEQ UPJ 
zUJC TXA 
�� #$02 
�BEQ DOWNJ *
�DJC TXA 5
�� #$04 C
�BEQ LEFTJ O
�LJC TXA Z
�� #$08 i
�BEQ RIGHTJ u
�RJC TXA �
�� #$10 �
�E� #$10 �
�BEQ CJCH �
�STA CLICK �
�CJCH JMP $EA31 �
	LEFTK JSR LEFT �
	JMP LKC �
	RIGHTK JSR RIGHT �
$	JMP RKC 	.	UPK JSR UP 8	JMP UPKC )B	DOWNK JSR DOWN 5L	JMP DKC DV	UPJ JSR UP P`	JMP UJC cj	DOWNJ JSR DOWN ot	JMP DJC �~	LEFTJ JSR LEFT ��	JMP LJC ��	RIGHTJ JSR RIGHT ��	JMP RJC ��	LEFT DEC XP ��	LDA XP ��	CMP #$FF ��	BNE �FF ��	LDY #$00 ��	STY XPB �	�FF LDY XPB �	BNE FIN %�	CMP #$18 1 
BNE FIN <
INC XP M
FIN JMP �ROL ^
RIGHT INC XP i(
LDA XP u2
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 ��
UP DEC YP ��
LDA YP 
�
CMP #$32 
�
BNE FIN 
�
INC YP %
�
JMP �ROL 5
�
DOWN INC YP @
�
LDA YP M
�
CMP #$F8 Y
�
BNE FIN d
�
DEC YP q
�
JMP �ROL �
�
; WIMP - POINTER �
�
�ROL LDA XP �
CMP #$28 �
BCC NSQUP �
CMP #$F8 �
"BCS NSQUP �
,LDA XPB �
6BNE NSQUP �
@LDA YP �
JCMP #$42 TBCC NSQUP ^CMP #$C1 'hBCS NSQUP 2rLDA XP =|� #$F8 K�STA $D000 V�LDA YP a�� #$F8 m��A #$02 {�STA $D001 ��LDA $D010 ��� #$FC ��STA $D010 ��LDA #$82 ��STA $5BF8 ��LDA $D015 ��� #$FC ���A #$01 ��STA $D015 ��LDA #$01 �STA $D027 �RTS $�NSQUP LDA XP 2�STA $D000 @�STA $D002 K�LDA YP Y�STA $D001 gSTA $D003 uLDA $D010 �� #$FC �&LSR A �0CLC �:ADC XPB �DASL A �NCLC �XADC XPB �bSTA $D010 �lLDA #$80 �vSTA $5BF8 ��LDA #$81  �STA $5BF9 �LDA $D015 ��A #$03 (�STA $D015 5�LDA #$00 C�STA $D027 P�LDA #$01 ^�STA $D028 f�RTS }�; STARTUP ROUTINES ��LDA $DD02 ��� #$FE �
�A #$02 �
STA $DD02 �
LDA #$86 � 
STA $D018 �"
LDA #$00 �%
STA $D000 �&
LDA #$0B (
STA $D001 *
LDA #$01 4
LDX #$08 (>
LDY #$01 6H
JSR $FFBA CR
LDA #$0C T\
LDX #�EGRTXT ef
LDY #�EGRTXT sz
JSR $FFBD ��
LDA #$00 ��
JSR $FFD5 ��
LDA #$00 ��
STA BUTNO ��
SEI ��
LDA #$00 ��
STA $0314 ��
LDA #$C0 ��
STA $0315 ��
CLI ��
LDA #$00 �
STA XP �
STA HOUR !LDA #$80 ,STA YP 9LDA #$01 E$STA XPB R%LDA #$0C `&STA $D015 m'JSR LEFT z(LDA #$00 �)STA $D005 �*STA $D007 �+LDA #$DA �,STA $D004 �-STA $D006 �.LDA #$85 �0STA $5BFA �2LDA #$04 �3STA $D01C 5BUT0 JSR BUTCHECK 8JMP BUT0 6BEGRTXT TXT "EDITGRAPHICS"