Karoshi MSX Community
05 de Julio de 2021, 11:54:23 pm *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: [1]
  Imprimir  
Autor Tema: Transformaciones entre de MSX BASIC y ASCII  (Leído 4831 veces)
0 Usuarios y 1 Visitante están viendo este tema.
paco
Karoshi Newbie
*
Mensajes: 12


« : 19 de Febrero de 2012, 11:21:25 pm »

Hola.

He encontrado un programa de Vincent van Dam, list, que transforma un fichero de MSX BASIC a ASCII.
Lo he retocado un poco para que funcione correctamente en Windows 7. Lo que no encuentro es un
programa para Windows que haga justo lo contrario, transformarme un fichero de ASCII a MSX-BASIC. ¿Existe?

Un saludo.
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #1 : 19 de Febrero de 2012, 11:36:56 pm »

No sé si necesitas el conversor para algo en concreto, pero un fichero ASCII que contenga un programa en MSX-BASIC puede ser cargado normalmente en MSX. Basta con un buen LOAD o RUN.

Y si desde el MSX quieres salvar un programa directamente en formato ASCII, basta con que emplees SAVE"nombre",A (siempre que tengas unidad de disco, claro). En cassette, SAVE siempre salva en ASCII, mientras que CSAVE salva tokenizado.
En línea
manolito74
Karoshi Maniac
****
Mensajes: 260


« Respuesta #2 : 20 de Febrero de 2012, 01:40:45 pm »

Hola Paco:

¿Podrías pasarme ese programa que comentas que has modificado?, ¿qué modificaciones le has hecho para que funcione en Windows 7?

Gracias & Saludetes. ;-)

Pd. Mándamela a mi dire de GMAIL.COM: josemanuel74
En línea
paco
Karoshi Newbie
*
Mensajes: 12


« Respuesta #3 : 20 de Febrero de 2012, 09:58:16 pm »

No sé si necesitas el conversor para algo en concreto, pero un fichero ASCII que contenga un programa en MSX-BASIC puede ser cargado normalmente en MSX. Basta con un buen LOAD o RUN.

Y si desde el MSX quieres salvar un programa directamente en formato ASCII, basta con que emplees SAVE"nombre",A (siempre que tengas unidad de disco, claro). En cassette, SAVE siempre salva en ASCII, mientras que CSAVE salva tokenizado.


Gracias por la información. Estaba probando a cargar un fichero BASIC generado en windows con un editor de texto, y estoy teniendo algunos problemas.
El fichero lo inserto en un disco virtual con el programa disk manager, y al cargar el fichero en bluemsx me da el siguiente error:
load "a.bas"
Direct statement in file
Pensé que no era capaz de leer ficheros BASIC en ASCII, pero también puede ser que el disquete esté corrupto.
Seguiré probando.

Un saludo
En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #4 : 20 de Febrero de 2012, 10:25:09 pm »

No sé si BlueMSX tiene un "inyector" de código tal cual, pero me suena que sí. Como no utilizo Windows, no te lo puedo confirmar. En cualquier caso, en openmsx, con el interfaz openmsx-catapult se puede hacer un copy&paste de código fuente en el programa y éste "lo teclea" en el MSX tal cual. Muy útil para estas pruebas rápidas, y bastante más cómodo que ir haciendo inyecciones en imágenes de disco.

Por otra parte, al escribir el fichero de texto en Windows asegúrate de utilizar un formato ASCII, no utilizar caracteres más allá del ASCII 127, porque a saber cómo se realiza la conversión de caracteres especiales, y, sobre todo, de no dejar líneas vacías por ahí. A ver si consigues resolverlo...
En línea
paco
Karoshi Newbie
*
Mensajes: 12


« Respuesta #5 : 20 de Febrero de 2012, 10:33:57 pm »

Hola Paco:

¿Podrías pasarme ese programa que comentas que has modificado?, ¿qué modificaciones le has hecho para que funcione en Windows 7?

Gracias & Saludetes. ;-)

Pd. Mándamela a mi dire de GMAIL.COM: josemanuel74

Hola. Por supuesto, ahora mismo te lo envío, junto con el fuente modificado. He cambiado lo siguiente:
- Cambio del modo de lectura del fichero de tokens de modo texto a modo binario.
- Corrección de error en la función readword, para definir correctamente el orden de lectura de los caracteres que forman una línea.
- Algún cambio más relativo al cambio de 16 a 32 bits en el programa.

Un saludo.
En línea
Mortimer
Karoshi Lover
***
Mensajes: 216


WWW
« Respuesta #6 : 20 de Febrero de 2012, 10:44:14 pm »

Aparte de los caracteres altos que comenta pitpan, échale un vistazo a los saltos de línea, si lo has generado con Windows probablemente serán CR+LF (0Dh+0Ah), y creo que es cómo el MSX lo necesita, puedes verificarlo mirando un archivo creado por el MSX (Ya les vale hacer un estándar para intercambio de información y no dejar en atado y bien atado este asunto).
En línea
manolito74
Karoshi Maniac
****
Mensajes: 260


« Respuesta #7 : 20 de Febrero de 2012, 10:51:10 pm »

Hola Paco:

Muchas gracias: acabo de recibir tu Correo.  laugh

Saludetes. ;-)
En línea
paco
Karoshi Newbie
*
Mensajes: 12


« Respuesta #8 : 22 de Febrero de 2012, 09:14:40 pm »

No sé si BlueMSX tiene un "inyector" de código tal cual, pero me suena que sí. Como no utilizo Windows, no te lo puedo confirmar. En cualquier caso, en openmsx, con el interfaz openmsx-catapult se puede hacer un copy&paste de código fuente en el programa y éste "lo teclea" en el MSX tal cual. Muy útil para estas pruebas rápidas, y bastante más cómodo que ir haciendo inyecciones en imágenes de disco.

No lo conocía. Lo he probado y es fantástico. Adiós bluemsx. Hola openmsx. :-)
En línea
paco
Karoshi Newbie
*
Mensajes: 12


« Respuesta #9 : 22 de Febrero de 2012, 09:16:20 pm »

Aparte de los caracteres altos que comenta pitpan, échale un vistazo a los saltos de línea, si lo has generado con Windows probablemente serán CR+LF (0Dh+0Ah), y creo que es cómo el MSX lo necesita, puedes verificarlo mirando un archivo creado por el MSX (Ya les vale hacer un estándar para intercambio de información y no dejar en atado y bien atado este asunto).


Gracias por el aviso. Creo que al final me basta con el inyector de caracteres del emulador openmsx.

Un saludo
En línea
Páginas: [1]
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!