Transmitum

Priskribo de la ĉi-paĝa enhavo

Programo verkita en SuperBASIC por Sinclair QL, por sendi dosierojn al Sinclair ZX Spectrum.

Etikedoj:

Mi verkis ĉi malgrandan programon en SuperBASIC por sendi dosierojn per seria kablo el Sinclair QL al Sinclair ZX Spectrum. Per ĝi mi sendis la kodon tradukitan de mi asemblilo QL80.

Ĉi programo uzas la SuperBASIC-aldonaĵon Turbo Toolkit. La fontkodaj nomoj kaj notoj estas en la hispana.

Fontkodo

100 REMark TRANSMITUM v0.21
110 REMark Copyright (C) 1988 Marcos Cruz (http://programandala.net)
120 REMark Licencia/Permesilo/License: http://programandala.net/license
130 :
140 REMark TURBO Toolkit v1.32
150 :
160 REPeat bucle_principal
170 :
180 CLEAR
190 :
200 REMark Constantes y variables inicializadas --------------------------
210 :
220 lon_nombre%=32
230 ventana%=4
240 fichero_objeto%=5
250 fichero_spectrum%=6
260 :
270 REMark Cadenas -------------------------------------------------------
280 :
290 DIM fichero_objeto$(lon_nombre%):fichero_objeto$=OPTION_CMD$
300 DIM fichero_spectrum$(lon_nombre%):fichero_spectrum$="ser2"
310 DIM byte_objeto$(1)
320 DIM letra$(1)
330 :
340 REMark Pantalla -----------------------------------------------------
350 :
360 OPEN#ventana%,con_512x14a0x225
370 PAPER#ventana%,4
380 INK#ventana%,0
390 CLS#ventana%
400 BORDER#ventana%,2,7,0
410 :
420 REMark Presentación ------------------------------------------------
430 :
440   AT#ventana%,0,25
450   PRINT#ventana%,"TRANSMITUM v0.21 Copyright (C) 1988 Marcos Cruz (http://programandala.net)"
460   AT#ventana%,0,82
470   letra$=EDIT$(#ventana%,"",0)
480 :
490 REMark Pedir ficheros ------------------------------------------------
500 :
510   REMark pedir nombre de fichero objeto a transmitir:
520   REPeat pide_fichero
530     CLS#ventana%
540     PRINT#ventana%," Fichero objeto a transmitir: ";
550     fichero_objeto$=EDIT$(#ventana%,fichero_objeto$,lon_nombre%)
560     IF fichero_objeto$="":NEXT bucle_principal
570     REMark detectar errores:
580     flag_fichero=DEVICE_STATUS(fichero_objeto$)
590     IF flag_fichero>-1:NEXT pide_fichero
600     SELect ON flag_fichero=-3,-6,-7,-9,-12,-16:NEXT pide_fichero
610     EXIT pide_fichero
620   END REPeat pide_fichero
630   REMark abrir fichero fuente:
640   OPEN_IN#fichero_objeto%,fichero_objeto$
650 :
660   CLS#ventana%
670   REMark detectar errores:
680   flag_fichero=DEVICE_STATUS(fichero_spectrum$)
690   SELect ON flag_fichero=0,-3,-6,-7,-9,-11,-12,-16,-20:NEXT bucle_principal
700   REMark abrir fichero de comunicación con Spectrum:
710   OPEN#fichero_spectrum%,fichero_spectrum$
720 :
730 REMark Transmitir ---------------------------------------------------
740 :
750   TRA 0
760   CLS#ventana%
770   PRINT#ventana%," Transmitiendo"!fichero_objeto$!"al Spectrum"
780 :
790   REPeat transmite_bytes
800     IF EOF(#fichero_objeto%):EXIT transmite_bytes
810     byte_objeto$=INPUT$(#fichero_objeto%,1)
820     REPeat repite_byte_objeto
830       PRINT#fichero_spectrum%,byte_objeto$;byte_objeto$;
840       IF INPUT$(#fichero_spectrum%,1)=CHR$(0):EXIT repite_byte_objeto
850     END REPeat repite_byte_objeto
860   END REPeat transmite_bytes
870 :
880   REMark enviar marca de final:
890   PRINT#fichero_spectrum%,CHR$(0);CHR$(255);
900 :
910   CLOSE#fichero_objeto%
920   CLOSE#fichero_spectrum%
930   TRA 1
940 :
950 END REPeat bucle_principal
960 :

Deŝutoj

transmitum_bas (2.84 KiB)