f83tap2mgt
Description of the page content
Tape-to-disc transfer for ZX Spectrum's Forth-83.
Tags:
This little utility copies the ZX Spectrum Forth-83 files from the original TAP file into a Plus D disk. I use it with the Fuse emulator, but it would work on a real machine as well.
The ZX Spectrum Forth-83 loader doesn't need to be adapted, because it uses the microdrive syntax, which the Plus D is compatible with.
Source code
10 REM f83tap2mgt
20:
30 REM This program copies the tape file of Forth83 into a Plus D or DISCiPLE disc.
40:
50 REM Copyright (C) 2010 Marcos Cruz (http://programadala.net)
60 REM License: http://programandala.net/pl
70:
80 REM 2010-04-21 First version.
90:
100 REM Init
110:
120 OVER 0: BRIGHT 0: FLASH 0: INVERSE 0
130 INK 0: PAPER 6: BORDER 6
140 CLEAR 55295
150 LET address=55296
160 POKE 23692,255: REM scroll
170:
180 REM Main
190:
200 FOR f=1 TO 18
210 READ f$,length
220 GO SUB 490
230 NEXT f
240 ERASE d*"fort83.bin" TO "Forth83.B"
250 PRINT "All files copied."
260 STOP
270:
280 REM Files data
290:
300 DATA "FORT83.BIN",9961
310 DATA "TASM",1024
320 DATA "ASSEMBLER",8192
330 DATA "DOUBLE",3072
340 DATA "FLOATING",8192
350 DATA "TRANSCEN",4096
360 DATA "GRAPHIC",2048
370 DATA "UED",4096
380 DATA "UTIL",2048
390 DATA "MUSIC",2048
400 DATA "LOGO",10240
410 DATA "TASKS",3072
420 DATA "OBJECT",6144
430 DATA "META1",10240
440 DATA "META2",10240
450 DATA "META3",10240
460 DATA "META4",8192
470 DATA "EDITOR",6144
480:
490 REM S/R Copy
500:
510 PRINT "Loading ";f$;"...";
520 LOAD f$ CODE address
530 GO SUB 590
540 PRINT "Saving ";f$;"...";
550 SAVE d*;f$ CODE address,length
560 PRINT "OK"
570 RETURN
580:
590 REM S/R Lowercase
600:
610 FOR l=1 TO LEN f$
620 LET c=CODE f$(l)
630 IF c>64 AND c<91 THEN LET f$(l)=CHR$ (c+32)
640 NEXT l
650 RETURN
660:
670 CLEAR : SAVE d*"f83tap2mgt"
680 STOP