Convertir ficheros DSKx (emulador) a TXT

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 09 Ene 2012 21:43

Último mensaje de la página anterior:

Lo que me ha pegado en el ojo es que guarde los numeros de linea separados....esa no me la esperaba :)

Saludos.

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 09 Ene 2012 21:47

Había olvidado totalmente los comandos de carga de TI99/4a no son los estándar.

http://www.mainbyte.com/ti99/hardware/cassette/recorder.html

To save to a tape, type:

SAVE CS1 (make sure you have the ALPHA LOCK key locked down so all typing is in upper case)

Next follow the instructions shown on the screen: (The computer controls the recoder motor)

REWIND CASSETTE TAPE CS1
THEN PRESS ENTER

PRESS CASSETTE RECORD CS1
THEN PRESS ENTER

PRESS CASSETTE STOP CS1
THEN PRESS ENTER

Once all the data is recorded, you will be asked:

CHECK TAPE(Y OR N)? (Press Y for yes)

Again follow the instructions on the screen:

REWIND CASSETTE TAPE CS1
THEN PRESS ENTER

PRESS CASSETTE PLAY CS1
THEN PRESS ENTER

CHECKING

If the following appears then the data has been recorded correctly and you will not need to make any adjustments to tone or volume controls.

DATA OK
PRESS CASSETTE STOP CS1
PRESS C TO CHECK PRESS E TO EXIT

If the data was not recorded correctly you will receive one of the two error messages below. You now may wish to adjust the volume control either a little up or a little down and try again by choosing "R" to record.

ERROR-NO DATA FOUND
PRESS R TO RECORD
PRESS C TO CHECK
PRESS E TO EXIT

If you receive the error below it means that it only had trouble reading some of the data.. you are close now, try some slight changes in the volume and try again by choosing "R" to record.

ERROR IN DATA DETECTED
PRESS R TO RECORD
PRESS C TO CHECK
PRESS E TO EXIT

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 09 Ene 2012 21:50

Exacto. Son bastante "sui generis".

Ahora estoy con el simulador y solo uso "disquetes", guardo con SAVE DSK1.xxxx donde "xxxx" es el nombre del fichero, y los cargo con OLD DSK1.xxxx

Saludos!

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 09 Ene 2012 21:50

y con esto otro, ya deberías de poder:

http://www.99er.net/emutil.html


Saludos

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 09 Ene 2012 21:55

Hola Ron!
Este solucionaría la mitad del problema:

-------------------------------------------
TIBTEXT V0.8d Beta for DOS
Author: Dean Corcoran
Description: TIBTEXT is a file conversion program used to extract the BASIC text from files encoded in FIAD or TIFILES, used for Texas Instruments 99/4A Computers and associated emulators.
Download: Tibtext.zip ; 37KB
-------------------------------------------

pero...el link está roto! :)

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 09 Ene 2012 22:09


Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 09 Ene 2012 23:09


Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 10 Ene 2012 08:20

No, no me fui a dormir todavia, y ya está por amanecer asi que...pasare de largo :)

Aquí hay mejor información sobre este tema:

Basic statement list

This list starts at the top of the VDP memory, just under the area reserved by the disk controller. The list grows downwards, with the last line that was typed in at the bottom. Which means that the lines are not sorted by number (the line number table will take care of that). During Basic execution, XML >1B can be used to get the next token and place it in >8342.

Each statement begins with a lenght byte and ends with a >00 byte. All TI-Basic keywords are replaced with 1-byte codes known as "tokens". This both saves space and speeds up execution. The "crunch buffer" at >0320-036F is used to place the decoded Basic statment and perform the conversion operations.

Scratch-pad addresses

>837C contains a pointer to the next token to be processed in the current statement.
Byte >8342 contains the value of the previous token fetched from the statement.
>8332 points to the top of the line number table, just below the statement list.
>8370 points to the last byte in the statement list.
Example

Here is a exemple of how a TI-Basic statement is encoded.

100 CALL MYSUB(A,"TEST2",U$,512).

Address Token/chars Meaning
>37BA >1D Line size
>37BB >9D CALL
>37BC >C8 Unquoted string
>37BD >05 String length
>37BE MYSUB The name is, of course, not encoded
>37C3 >B7 (
>37C4 A Variable names are not encoded either
>37C5 >B3 ,
>37C6 >C7 Quoted string "..."
>37C7 >05 String length
>37C8 TEST2 Content of the string
>37CD >B3 ,
>37CE U$ Another variable
>37D0 >B3 ,
>37D1 >C8 Unquoted string
>37D2 >03 String length
>37D3 512 Numeric constants are passed as strings
>37D6 >B6 )
>37D7 >00 End-of-line mark


y más abajo ponen la lista completa de tokens. También la forma en que se almacenan los números de linea y los punteros a las instrucciones.

Realmente, los ingenieros de TI lo han complicado de lo lindo.

Saludos!

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 10 Ene 2012 12:33

No se porqué, se aproxima el Micro de la semana, hoy es día de Micro de la Semana, así que te voy reservando sitio, para que arranques con una de las máquinas mas peculiares y al mismo tiempo el primer 16 bit que vimos en casa.

Yo tengo un Ti99/4a white cream, pero lo tengo en espera de ponerlo a funcionar, a falta de una fuente de alimentación y tampoco tengo cables ni nada, pelado del todo. Por supuesto esperando su turno, aunque estoy por hacerme con uno negro un poco más apañado. Sinceramente el blanco no me acaba de gustar.

Creo que es una maquina muy bonita y must have en todo aficionado. En Europa no fueron demasiado populares pero si en el continente Americano. Por otro lado es una máquina un poco más compleja de hacer funcionar que sus contemporáneos, pero eso fue cosa de los ingenieros de la Texas Instruments, como bien dices.


Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 10 Ene 2012 12:51

¡Genial!
Como sabes, fue mi primera máquina, y aunque tiene sus bemoles es una de las que mas me gusta ;)

Si no consigues la plateada avisame, que vemos como armar fuente y cables para la que tienes. ;)

Saludos!

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 10 Ene 2012 13:00

Imagen

Ya ves, no se que tiene que no me acaba de gustar, en cambio el negro plateado me gusta horrores.

No está ahora mismo en mi lista de caza, todo se andará.

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 10 Ene 2012 13:04

Esa fue la primera que llegó a mi casa! :)
Un par de meses antes habia descubierto la informática de la mano de una plateada...
Quizas por eso me gusta tanto el modelo de la foto ;)

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 12 Ene 2012 22:30

Hoy me he quemado el coco con este tema, y luego de delirar un rato largo he logrado avanzar un poco.

Como resumen de un día de investigación tenemos lo siguiente:

Imagen

En verde lo que ya sabemos que es.

En rojo lo que ignoramos por ahora

En amarillo lo que parece ser un "relleno": en todos los casos ahí aparecen ceros.

En celeste lo que no forma en realidad parte del archivo. Son 00 que pone el editor hexadecimal para completar la pantalla.

Ni bien descubra algo mas lo pongo aqui.

Y cuando tenga todo cocinado (espero lograrlo!) compartiré los programas "conversores".

Saludos!

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 13 Ene 2012 19:02

Creo que con lo que tengo "desculado" puedo encarar la primer parte del problema: construir un archivo de texto que contenga el listado de instrucciones en BASIC contenidas en el archivo creado por el emulador.

Hay que pensarlo un rato por que es necesario invertir el orden de las instrucciones (estan en forma descendente), buscar los números de linea en la tabla y luego la instrucción usando el puntero, "decodificar" los tokens, etc.

Por lo pronto, he comenzado con FreeBASIC a tontear un poco, para refrescar como era el manejo de archivos y demás. (ver imagen 1 del post siguiente)

que sería un "volcado" de los bytes del este fichero que se vçe en la segunda imágen del post siguiente.

Ni bien tenga novedades las pondré aquí.

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 13 Ene 2012 19:05

Imagen 1:

Imagen


Imagen 2:

Imagen

Avatar de Usuario
aitopes
Mensajes: 1077
Registrado: 11 Jun 2011 22:07

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor aitopes » 15 Ene 2012 20:51

Misterio develado ;)

Ya se que son esos malditos 4 words al principio del programa. El primero es simplemente un "CRC": es el OR EXCLUSIVO de la segunda y tercer palabra de este grupo.

La cuarta palabra es la posición de memoria más alta usada por el programa.

La segunda palabra es la posición de memoria en la que termina la tabla que contiene los números de linea y punteros.

La tercera palabra es la dirección de memoria en la que comienza la tabla que contiene los números de linea y punteros.

Si bien se refiere a posiciones dentro de la RAM de la consola, como sabemos que la tabla ocupa el mismo espacio en RAM que en el disco y que en el disco comienza en el 9no byte, podemos usar estos valores (haciendo una simple resta) para conocer la extensión de dicha tabla y ubicar el comienzo de las lineas BASIC.

Misterio resuelto, el lunes comienzo a programar la herramienta para convertir este galimatias en un listado BASIC en modo texto ;)

Saludos.

Avatar de Usuario
ron
Mensajes: 21855
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 3862 veces
Agradecimiento recibido: 4752 veces

Re: Convertir ficheros DSKx (emulador) a TXT

Mensajepor ron » 16 Ene 2012 00:16

Enhorabuena Aitopes, a ver si ya se pueden empezar a desarrollar herramientas para los TI.

Saludos


Volver a “TI 99/4A”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados