Home » Personal collection » Commodore disks » disk47b2_unlabelled.d64 » edit 22.8.95
edit 22.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 » disk47b2_unlabelled.d64 |
| Filename: | edit 22.8.95 |
| Read OK: | ✔ |
| File size: | 1B4B 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 22.8.95
- Personal collection » Commodore disks » disk47b2_unlabelled.d64 » edit 22.8.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
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
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 $FB
5560 TXA
5570 CLC
5580 ADC YSP
5590 STA $FC
5600 LDA ($FB),Y
5610 RTS
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 �9
STA SCHAR �<
LDA #$01 �=
LDX #$08 �>
TAY �H
JSR $FFBA �R
LDA #$0C �\
LDX #�EGRTXT f
LDY #�EGRTXT z
JSR $FFBD )�
LDA #$00 7�
JSR $FFD5 D�
LDA #$01 Q�
LDX #$08 Y�
TAY g�
JSR $FFBA t�
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 #�
LDA #$00 1�
STA $0314 >�
LDA #$C0 L�
STA $0315 T�
CLI a�
LDA #$00 l�
STA XP y�
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 $-STA $D007 1.LDA #$95 ?0STA $63FB L2LDA #$08 Z3STA $D01C g4LDA #$18 u5STA $D016 �7BUT0 JSR BUTCHECK �8JMP BUT0 �BEGRTXT TXT "EDITGRAPHICS"