Home » Personal collection » Commodore disks » disk12b2_driving_games_3.d64 » edit 20.8.95
edit 20.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 20.8.95 |
| Read OK: | ✔ |
| File size: | 1427 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
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
3384 LDA #$80
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 RTS
3660 BUTCHECK LDA YP
3670 CMP #$D9
3680 BCC BCQU
3682 LDA CLICK
3684 BEQ 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)
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 *=$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 ����$C000 �; WIMP ROUTINES
�; �; WIMP - MOUSE . �IRQ LDA #$00 < �STA CLICK H �LDA $C5 U �CMP #$01 e �BNE C�CHECK s �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
f� #$01 $
pBEQ UPJ 0
zUJC TXA ;
�� #$02 I
�BEQ DOWNJ U
�DJC TXA `
�� #$04 n
�BEQ LEFTJ z
�LJC TXA �
�� #$08 �
�BEQ RIGHTJ �
�RJC TXA �
�� #$10 �
�E� #$10 �
�BEQ CJCH �
�STA CLICK �
�CJCH JMP $EA31 �
LEFTK JSR LEFT JMP LKC RIGHTK JSR RIGHT %$ JMP RKC 4. UPK JSR UP A8 JMP UPKC TB DOWNK JSR DOWN `L JMP DKC oV 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 � LDY #$00 '� STY XPB 7� �FF LDY XPB C� BNE FIN P� CMP #$18 \
BNE FIN g
INC XP x
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
�
UP DEC YP
�
LDA YP ,
�
CMP #$32 8
�
BNE FIN C
�
INC YP P
�
JMP �ROL `
�
DOWN INC YP k
�
LDA YP x
�
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 ,LDA XPB +6BNE NSQUP 6@LDA YP CJCMP #$42 QTBCC NSQUP ^^CMP #$C1 lhBCS NSQUP wrLDA XP �|� #$F8 ��STA $D000 ��LDA YP ��� #$F8 ���A #$02 ��STA $D001 ��LDA $D010 ��� #$FC ��STA $D010 ��LDA #$92 �STA $63F8 �LDA $D015 �� #$FC '��A #$01 5�STA $D015 B�LDA #$01 P�STA $D027 X�RTS l�HGLASS LDX #$93 z�STX $63F8 ��INX ��STX $63F9 ��NSQUP LDA XP ��STA $D000 ��STA $D002 ��LDA YP ��STA $D001 �STA $D003 �LDA $D010 �� #$FC &LSR A 0CLC :ADC XPB %DASL A -NCLC 9XADC XPB GbSTA $D010 TlLDA #$00 bvSTA $D027 o�LDA #$01 }�STA $D028 ��LDA $D015 ���A #$03 ��STA $D015 ��LDA HOUR ��BNE QTRO ��LDA #$90 ��STA $63F8 ��LDA #$91 ��STA $63F9 �QTRO RTS �; STARTUP ROUTINES )�SR LDA #$8B 7�STA $D011 E�LDA $DD02 Q��A #$02 _�STA $DD02 m�LDA $DD00 x�� #$FE �
�A #$02 �
STA $DD00 �
LDA #$00 �
STA $D020 �
STA $D021 �
LDA #$86 �
STA $D018 �"
LDA #$00 �%
STA $D000 �&
LDA #$0B (
STA $D001 -
LDA #$10 '.
STA $D008 4/
LDA #$3A B0
STA $D009 O1
LDA #$10 ]2
STA $D010 j3
LDA #$01 x4
STA $D029 �5
STA $D02B �6
LDA #$00 �7
STA $D02A �8
LDA #$80 �9
STA SCHAR �<
LDA #$01 �=
LDX #$08 �>
TAY �H
JSR $FFBA �R
LDA #$0C
\
LDX #�EGRTXT f
LDY #�EGRTXT )z
JSR $FFBD 6�
LDA #$00 D�
JSR $FFD5 Q�
LDA #$01 ^�
LDX #$08 f�
TAY t�
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 #�
SEI 0�
LDA #$00 >�
STA $0314 K�
LDA #$C0 Y�
STA $0315 a�
CLI n�
LDA #$00 y�
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 #,STA $D005 1-STA $D007 >.LDA #$95 L0STA $63FB Y2LDA #$08 g3STA $D01C t4LDA #$18 �5STA $D016 �7BUT0 JSR BUTCHECK �8JMP BUT0 �BEGRTXT TXT "EDITGRAPHICS"