commit 9767aa1c8b0eaa8b6fea2fb3487f6edbe2d440f2 from: Sven M. Hallberg date: Thu Jun 11 18:31:25 2026 UTC add DISKCOPY commit - d90348c0e6be0b0c8eaf6d619431e7986f9750d7 commit + 9767aa1c8b0eaa8b6fea2fb3487f6edbe2d440f2 blob - /dev/null blob + 9addb35013c9680e9295b7d809e1e64fd0753e36 (mode 644) Binary files /dev/null and DISKCOPY,PRG differ blob - /dev/null blob + d9ad4b32b881c72ca4f3e83eb59540a4d9b06b4d (mode 644) --- /dev/null +++ DISKCOPY.lst @@ -0,0 +1,42 @@ +1 REM COPY A DISK BLOCK BY BLOCK +2 REM NICE AND SLOW +10 INPUT "SOURCE DEV"; A +20 INPUT "TARGET DEV"; B +30 OPEN 1,A,15 +31 OPEN 2,A,5,"#" +40 OPEN 3,B,15 +41 OPEN 4,B,5,"#" +50 TA = 1: TB = 17: SB = 20: GOSUB 80 +51 TA = 18: TB = 24: SB = 18: GOSUB 80 +52 TA = 25: TB = 30: SB = 17: GOSUB 80 +53 TA = 31: TB = 35: SB = 16: GOSUB 80 +60 CLOSE 4 +61 CLOSE 3 +62 CLOSE 2 +63 CLOSE 1 +70 END +80 FOR T = TA TO TB: PRINT "TRACK"; T, +81 FOR S = 0 TO SB: PRINT "."; +82 GOSUB 200: NEXT S: PRINT: NEXT T +83 RETURN +200 PRINT# 1, "U1:" 5; 0; T; S +210 B$ = "" +220 FOR I = 0 TO 254 +230 GET# 2, A$ +235 IF A$ = "" THEN A$ = CHR$(0) +240 B$ = B$ + A$ +245 NEXT I +247 GET# 2, A$ +248 IF A$ = "" THEN A$ = CHR$(0) +250 IF ST AND 191 THEN PRINT "I"; ST +260 PRINT# 3, "B-P:" 5; 0 +265 PRINT# 4, B$;A$; +270 PRINT# 3, "U2:" 5; 0; T; S +280 IF ST THEN PRINT "O"; ST +290 RETURN +300 INPUT "DEVICE"; A +310 OPEN 1,A,15 +320 INPUT# 1, A,B$,C,D +330 PRINT A; B$, C; D +340 CLOSE 1 +350 END blob - 55f16af24822e6dc7c8a6eb04fd50fa06088eaf5 blob + 949dc785749272c251b1ef60f5a9ee87e996cc45 --- Makefile +++ Makefile @@ -1,5 +1,5 @@ PRGS = BASASM HDFILE HEXDUMP SAVEMEM PRINTNAT.B LINECNT.B MANUAL OPCODES \ - LINEUTIL.B TEST.B TV MKALLTOK + LINEUTIL.B TEST.B TV MKALLTOK DISKCOPY .PHONY: all all: und64 listprg ${PRGS:=.lst} blob - 1c2590780b262ede129ed8ebe99d38ba97ba8349 blob + 8f98de9ad02c66ea51cf0765bd27c3618bef8130 --- README +++ README @@ -62,6 +62,7 @@ TV text viewer, used in MANUAL MKALLTOK write a PRG file that contains every possible BASIC token (used for listprg) + DISKCOPY duplicate a disk block by block (incredibly slow) Notes on encoding: Several (printable) characters in the Commodore character set differ from ASCII - arrows, for instance, in place of