Hola:
Me gustaría compartir con vosotros algo que acabo de descubrir por "causalidad". A los que nos gusta usar el RSC-II desde un Emu de MSX o MSX real nos resultaría de gran utilidad poder generar el Fichero en Formato "RSC" a partir de un Texto Plano desde el PC. ¿A qué suena bien, ¡eh!? Pues vamos allá con el Proceso para poder hacerlo:
1- Primero tenéis que descargar una versión de "Q-BASIC" para Windows. En función de vuestro Windows (si es de 32 ó 64 bits) podéis descargarlo desde aquí:
http://programacion-gandhi-secundaria.blogspot.com.es/2015/0...
2- Una vez descargado descomprimimos el Fichero.
3- En la Carpeta en la que lo hemos descomprimido ejecutamos el Fichero "QBasic64.exe" (en mi caso es ese porque mi versión es la de 64 Bits)
4-Una vez ejecutado ese Fichero nos va a aparecer el Editor del Q-Basic (un Programa en MS-DOS)
5- En esa Pantalla debemos pegar el siguiente Código Q-Basic:
'convierte ficheros de texto ASCII 'a ficheros formato RSC, 'cargables desde el ensamblador RSC ' 'para detalles ficheros RSC, 'ver el fichero RSCFILE.TXT ' '29/1/2003 - FUNCIONA '11/2/2003 - conversion minusculas a mayusculas ' (RSC solo soporta codigo fuente en MAYUSCULAS) ' CLS FILES PRINT INPUT "沙ichero ASCII a convertir (con extension)"; fe$ PRINT FILES fe$ 'comprueba si existe PRINT INPUT "沙ichero resultante "; fs$ ' PRINT PRINT "Convirtiendo fichero ..." ' OPEN fe$ FOR INPUT AS 1 ' ls$ = "" 'buffer para fichero lf = 0 'longitud fichero resultante n = 10'numero de linea incial DO LINE INPUT #1, li$ lo = LEN(li$) 'los nemotecnicos se convierten a mayusculas pero no los comentarios li1$ = UCASE$(LEFT$(li$, INSTR(li$, ";"))) 'parte de programa li2$ = RIGHT$(li$, lo - LEN(li1$))'parte de comentario IF li1$ = "" THEN li2$ = UCASE$(li2$) lo = lo + 4 'tama寸 linea+4 lsb = n AND &HFF msb = (n AND &HFF00) / 256 ls$ = ls$ + CHR$(lo) 'longitud linea ls$ = ls$ + CHR$(lsb) + CHR$(msb) + CHR$(0) 'numero linea 'texto de la linea 'ls$ = ls$ + li$ ls$ = ls$ + li1$ + li2$ ls$ = ls$ + CHR$(1) 'fin linea lf = lf + lo + 1'long fichero n = n + 10 LOOP WHILE NOT EOF(1) ' lf = lf + 1 'long datos lsbl = lf AND &HFF msbl = (lf AND &HFF00) / 256 ' ls$ = CHR$(2) + CHR$(lsbl) + CHR$(msbl) + ls$ + CHR$(0) ' OPEN fs$ FOR RANDOM ACCESS WRITE AS 2 LEN = LEN(ls$) FIELD 2, LEN(ls$) AS d$ LSET d$ = ls$ PUT 2 ' CLOSE PRINT "Ok"
6- Guardamos el Fichero desde el Menú "File --> Save As" con el nombre que queramos por ejemplo en el mismo directorio del Q-Basic.
7- Ahora generamos el Fichero Ejecutable desde el Menú "RUN - Make .Exe Only" con lo cual se nos genera un Fichero ".Exe" con el mismo nombre del Fichero Fuente Q-Basic.
8- Ejecutamos el Fichero ".Exe" que hemos generado haciendo doble Click y nos aprece una ventana MS-DOS en la que tenemos que introducir los Datos de nuestro Fichero FUENTE con Extensión que contiene el Código del Programa "RSC" (os recuerdo que es simplemente un Fichero de Texto Plano en el que hemos pegado el Código del Programa Ensamblador RSC" y elegimos un Nombre y Extensión para el Fichero de Salida (Recordemos que el Fichero de Salida va a ser un Fichero que contiene el Código del Programa Ensamblador para ser cargado desde el RSC en un MSX o en un Emu)
Acabo de probarlo y ¡funciona perfectamente! Una pequeña salvedad: el Fichero que tenemos en PC con el código del Programa crearlo SIN NÚMEROS DE LÍNEA (si contiene números de línea el fichero de salida va a contener los números de Línea duplicados) (aunque supongo que sería fácil modificar el Programa Q-Basic para corregir ésto)
Pues nada, dicho queda. Así explicado parece un Proceso largo y complejo pero una vez que tengamos la Carpeta de Trabajo con el Q-Basic y el Ejecutable para hacer la conversión pues resulta muy muy cómodo generar Ficheros Ensamblador con Formato "RSC"
N.B.: Info extraida de la Página de Hans Otten (Programa Q-Basic creado por "IVI Soft"):
http://msx.hansotten.com/uploads/files/asc2rsc.txt
Saludetes. ;-)