Skip to content

Commit 2abd98a

Browse files
committed
Updates for the writer part.
Clean up the ASM so it compiles. Add a comment to the BASIC programme. Add dmswriter.bin to the Makefile so it's assembled by ACME.
1 parent e4a320c commit 2abd98a

File tree

3 files changed

+47
-200
lines changed

3 files changed

+47
-200
lines changed

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
TARGETS := dmsreader.prg dmsreader.bin dmsreader.d64 dmswriter.prg
1+
TARGETS := dmsreader.prg dmsreader.bin dmsreader.d64 dmswriter.prg dmswriter.bin
22
C1541 := /usr/local/bin/c1541
33
X64 := open /Applications/Vice64/x64.app
44

@@ -13,7 +13,7 @@ all: $(TARGETS)
1313
petcat -w2 -o $@ $<
1414

1515
%.d64: %.bin %.prg
16-
$(C1541) -format dmsreader,id d64 dmsreader.d64 -write dmsreader.prg -write dmsreader.bin -write dmswriter.prg
16+
$(C1541) -format dmsreader,id d64 dmsreader.d64 -write dmsreader.prg -write dmsreader.bin -write dmswriter.prg -write dmswriter.bin
1717

1818
%: %.d64
1919
$(X64) $<

dmswriter.asm

Lines changed: 44 additions & 197 deletions
Original file line numberDiff line numberDiff line change
@@ -1,200 +1,47 @@
1-
*=$1000
1+
!cpu 6502
22
;
33
; ---- Code
44
;
5-
1000: A2 00 LDX #$00
6-
;
7-
L_1002:
8-
1002: BD 20 10 LDA $1020,X
9-
1005: 9D 00 CE STA $CE00,X
10-
1008: BD 70 10 LDA $1070,X
11-
100B: 9D 00 CF STA $CF00,X
12-
100E: E8 INX
13-
100F: D0 F1 BNE L_1002
14-
1011: 60 RTS
15-
;
16-
1012: 00 BRK
17-
1013: 00 BRK
18-
1014: 00 BRK
19-
1015: 00 BRK
20-
1016: 00 BRK
21-
1017: 00 BRK
22-
1018: 00 BRK
23-
1019: 00 BRK
24-
101A: 00 BRK
25-
101B: 00 BRK
26-
101C: 00 BRK
27-
101D: 00 BRK
28-
101E: 00 BRK
29-
101F: 00 BRK
30-
1020: A9 01 LDA #$01
31-
1022: A2 09 LDX #$09
32-
1024: A0 01 LDY #$01
33-
1026: 20 BA FF JSR $FFBA
34-
1029: A9 05 LDA #$05
35-
102B: A2 40 LDX #$40
36-
102D: A0 CE LDY #$CE
37-
102F: 20 BD FF JSR $FFBD
38-
1032: A9 00 LDA #$00
39-
1034: 20 D5 FF JSR $FFD5
40-
1037: 60 RTS
41-
;
42-
1038: 00 BRK
43-
1039: 00 BRK
44-
103A: 00 BRK
45-
103B: 00 BRK
46-
103C: 00 BRK
47-
103D: 00 BRK
48-
103E: 00 BRK
49-
103F: 00 BRK
50-
1040: 00 BRK
51-
1041: 00 BRK
52-
1042: 00 BRK
53-
1043: 00 BRK
54-
1044: 00 BRK
55-
1045: 00 BRK
56-
1046: 00 BRK
57-
1047: 00 BRK
58-
1048: 00 BRK
59-
1049: 00 BRK
60-
104A: 00 BRK
61-
104B: 00 BRK
62-
104C: 00 BRK
63-
104D: 00 BRK
64-
104E: 00 BRK
65-
104F: 00 BRK
66-
1050: 00 BRK
67-
1051: 00 BRK
68-
1052: 00 BRK
69-
1053: 00 BRK
70-
1054: 00 BRK
71-
1055: 00 BRK
72-
1056: 00 BRK
73-
1057: 00 BRK
74-
1058: 00 BRK
75-
1059: 00 BRK
76-
105A: 00 BRK
77-
105B: 00 BRK
78-
105C: 00 BRK
79-
105D: 00 BRK
80-
105E: 00 BRK
81-
105F: 00 BRK
82-
1060: 41 2E EOR ($2E,X)
83-
1062: 44 ???
84-
1063: 4D 53 00 EOR $0053
85-
1066: 00 BRK
86-
1067: 00 BRK
87-
1068: 00 BRK
88-
1069: 00 BRK
89-
106A: 00 BRK
90-
106B: 00 BRK
91-
106C: 00 BRK
92-
106D: 00 BRK
93-
106E: 00 BRK
94-
106F: 00 BRK
95-
1070: A9 10 LDA #$10
96-
1072: 85 FC STA $FC
97-
1074: A9 00 LDA #$00
98-
1076: 85 FB STA $FB
99-
1078: 85 FF STA $FF
100-
107A: 8D FF CF STA $CFFF
101-
107D: 60 RTS
102-
;
103-
107E: EA NOP
104-
107F: EA NOP
105-
1080: EA NOP
106-
1081: EA NOP
107-
1082: EA NOP
108-
1083: EA NOP
109-
1084: EA NOP
110-
1085: A2 05 LDX #$05
111-
1087: 20 C9 FF JSR $FFC9
112-
108A: A0 00 LDY #$00
113-
;
114-
L_108C:
115-
108C: A2 36 LDX #$36
116-
108E: 86 01 STX $01
117-
1090: B1 FB LDA ($FB),Y
118-
1092: 99 00 04 STA $0400,Y
119-
1095: 8D 20 D0 STA $D020
120-
1098: A2 37 LDX #$37
121-
109A: 86 01 STX $01
122-
109C: 20 D2 FF JSR $FFD2
123-
109F: C8 INY
124-
10A0: D0 EA BNE L_108C
125-
10A2: E6 FC INC $FC
126-
10A4: EE FF CF INC $CFFF
127-
10A7: EE 20 D0 INC $D020
128-
10AA: 60 RTS
129-
;
130-
10AB: A9 00 LDA #$00
131-
10AD: 8D FF 03 STA $03FF
132-
10B0: 60 RTS
133-
;
134-
10B1: 00 BRK
135-
10B2: 00 BRK
136-
10B3: 00 BRK
137-
10B4: 00 BRK
138-
10B5: 00 BRK
139-
10B6: 00 BRK
140-
10B7: 00 BRK
141-
10B8: 00 BRK
142-
10B9: 00 BRK
143-
10BA: 00 BRK
144-
10BB: 00 BRK
145-
10BC: 00 BRK
146-
10BD: 00 BRK
147-
10BE: 00 BRK
148-
10BF: 00 BRK
149-
10C0: A2 05 LDX #$05
150-
10C2: 20 C9 FF JSR $FFC9
151-
10C5: A0 00 LDY #$00
152-
;
153-
L_10C7:
154-
10C7: 8C 64 0F STY $0F64
155-
10CA: B9 00 64 LDA $6400,Y
156-
10CD: 99 00 04 STA $0400,Y
157-
10D0: 20 D2 FF JSR $FFD2
158-
10D3: A0 FF LDY #$FF
159-
10D5: C8 INY
160-
10D6: D0 EF BNE L_10C7
161-
10D8: 60 RTS
162-
;
163-
10D9: 00 BRK
164-
10DA: 00 BRK
165-
10DB: 00 BRK
166-
10DC: 00 BRK
167-
10DD: 00 BRK
168-
10DE: 00 BRK
169-
10DF: 00 BRK
170-
10E0: 01 00 ORA ($00,X)
171-
10E2: 00 BRK
172-
10E3: 00 BRK
173-
10E4: 00 BRK
174-
10E5: 00 BRK
175-
10E6: 00 BRK
176-
10E7: 00 BRK
177-
10E8: 00 BRK
178-
10E9: 00 BRK
179-
10EA: 00 BRK
180-
10EB: 00 BRK
181-
10EC: 00 BRK
182-
10ED: 00 BRK
183-
10EE: 00 BRK
184-
10EF: 00 BRK
185-
10F0: 00 BRK
186-
10F1: 00 BRK
187-
10F2: 00 BRK
188-
10F3: 00 BRK
189-
10F4: 00 BRK
190-
10F5: 00 BRK
191-
10F6: 00 BRK
192-
10F7: 00 BRK
193-
10F8: 00 BRK
194-
10F9: 00 BRK
195-
10FA: 00 BRK
196-
10FB: 00 BRK
197-
10FC: 00 BRK
198-
10FD: 00 BRK
199-
10FE: 00 BRK
200-
10FF: 00 BRK
5+
*=$ce00
6+
LDA #$01
7+
LDX #$09
8+
LDY #$01
9+
JSR $FFBA
10+
LDA #$05
11+
LDX #$40
12+
LDY #$CE
13+
JSR $FFBD
14+
LDA #$00
15+
JSR $FFD5
16+
RTS
17+
18+
*=$ce40
19+
fname: !pet "a.dms"
20+
fname_end:
21+
22+
*=$cf00
23+
LDA #$10
24+
STA $FC
25+
LDA #$00
26+
STA $FB
27+
STA $FF
28+
RTS
29+
30+
*=$cf10
31+
LDX #$05
32+
JSR $FFC9
33+
LDY #$00
34+
35+
L_108C: LDX #$36
36+
STX $01
37+
LDA ($FB),Y
38+
STA $0400,Y
39+
STA $D020
40+
LDX #$37
41+
STX $01
42+
JSR $FFD2
43+
INY
44+
BNE L_108C
45+
INC $FC
46+
INC $D020
47+
RTS

dmswriter.bas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
12 input"dest device number(return for 8)";dd
77
13 print"insert source disk and press space":gosub3000
88
14 ifsd=0thensd=8:ifdd=0thendd=8:
9-
15 na=0:sr=-1:poke52739,sd:gosub1000:poke52800,na+65:sys52992:rem ce03,ce40
9+
15 na=0:sr=-1:poke52739,sd:gosub1000:poke52800,na+65:sys52992:rem ce03,ce40,cf00
1010
16 print"{clr}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}{down}if the disk stops in one disk mode,"
1111
17 print"swap disks and press space!"
1212
18 print"if the screen flashes then u must use side 2 of the destination disk"

0 commit comments

Comments
 (0)