f83tap2mgt
Descripción del contenido de la página
Pasador de cinta a disco de Plus D para el sistema Forth-83 de la ZX Spectrum.
Etiquetas:
Escribí este pequeño programa para pasar el sistema Forth-83 para ZX Spectrum del fichero TAP original a una imagen de disquete de Plus D bajo el emulador Fuse (igual funcionaría en una máquina real).
Después, para trabajar con el Forth-83 de la ZX Spectrum con la interfaz Plus D, ni siquiera hace falta modificar el programa cargador, pues la Plus D reconoce la sintaxis de las microductoras (microdrives). No obstante modifiqué el cargador, pues la sintaxis propia de la Plus D es mucho más limpia.
Código fuente
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