Página 1 de 1

FP-200 Reloaded ! : PARTE 1 : Assembler toolkit

Publicado: 13 Nov 2018 18:18
por race8086
Para programar en Ensamblador sobre este pocket de Casio, os describo un toolkit que me he confeccionado con varias utilidades:

0.- Editor de Texto: Programmer's Notepad
1.- Ensamblador : ASL http://john.ccac.rwth-aachen.de:8000/as/
ASL, desde línea de comandos, es el mismo que utilicé para la VideoPac.
2.- Simulador de 8085: GnuSim85 https://gnusim8085.github.io/download
A veces , para probar rutinas auxiliares, que no utilicen los recursos/rutinas específicas de la máquina
es más fácil utilizar un simulador, para trazar la rutinas. Además la sintaxis
es bastante compatible, una vez depurado, con cut & paste copiamos en el editor el fuente depurado.
3.- Emulador: Pockemul http://pockemul.free.fr/index.php/download/
Hay que utilizar una versión que permita utilizar las opciones de depuración y manejo de la memoria,
yo me descargue varias hasta que dí con la buena.Siempre queda la opción de descargarse los fuentes
y compilarse una versión ad-hoc.
La ventaja de este emulador es que, puedes construir la expansión de memoria que
quieras, de momento, para lo que estoy haciendo me sobra con 512 bytes , que lo soporta de sobra sin
retocar apenas nada la versión básica. CLEAR , 40447 (512 bytes) CLEAR ,40703 (256 bytes).

Os explico ahora como lo tengo organizado:

.\ASL Ensamblador, binarios, etc. En el raíz generé unos bats para compilar, generar los binarios, etc.
.\SOURCE Fuentes, librerías y binarios. Esta carpeta es propia, cada uno que la ponga donde quiera
.\EMU Emulador
.\DOC Doc varia de utilidad : juego de instrucciones, manuales de la casio, etc.

Explico la parte más chula, que es la de probar las cosas en el emulador, lo demás cada uno tiene sus preferencias.
Os dejo el ejemplo de cmo lo tengo montado yo:
5_1.png
5_1.png (87.44 KiB) Visto 507 veces


Una vez que disponemos del fichero .bin, abrimos el emulador, seleccionamos la casio y los pasos son:
1- Inicializar el emulador y reservar al zona de código máquina
RESET
CLEAR ,40703 ( O CLEAR ,40447 si queremos más memoria), esto nos permite el punto de arranque en 9F00 o 9E00.
1_1.png
1_1.png (65.88 KiB) Visto 507 veces

2- Cargar el editor de memoria integrado
Menú contextual : Configuration -> Dump Memory
Rellenamos la casilla [A] con el punto de inicio, digamos 9F00
Cargamos el fichero pulsando el botón [B] .. Y ya lo tenemos cargado en memoria en zona segura.
2.png
2.png (59.5 KiB) Visto 507 veces


3-Preparamos el Debugger integrado
Menú contextual : Configuration -> Debugger
En la pestaña Breakpoint, cargamos el punto de ruptura donde deseemos : 9f00
3_1.png
3_1.png (42.88 KiB) Visto 507 veces

En la pestaña Debug, rellenamos el comienzo de desensamblado que queramos. 9f00
6_1.png
6_1.png (67.69 KiB) Visto 507 veces

4- Ejecutar / Depurar
Sin cerrar las ventanas anteriores nos vamos al emulador y teclamos CALL <dirección>, en este caso CALL 40704.
Lo bueno de esta fórmula es que cuando recuperamos el control, los cambios en pantalla se visualizan en tiempo real.
7_1.png
7_1.png (63.65 KiB) Visto 507 veces


5 - Cargarlo en la máquina real -thumbup

Pues aquí toca armarse de paciencia y picarse un cargador basic al estilo spectrum, -rofl ,además tenemos dos limitaciones:
El espacio del cargador, que se comerá el poco basic que queda y el tamaño de la rutina , si es muy grande hay que picárselo en varias
tandas. ... Y si te equivocas al teclar, -banghead

En otro post comentaré como exprimir al máximo el cacharro... -shock -grin -grin

Saludos !

Re: FP-200 Reloaded ! : PARTE 1 : Assembler toolkit

Publicado: 13 Nov 2018 22:04
por FloppySoftware
Muy interesante.

¿No hay manera de automatizar la parte del emulador?

Re: FP-200 Reloaded ! : PARTE 1 : Assembler toolkit

Publicado: 14 Nov 2018 10:00
por race8086
Gracias!,
FloppySoftware escribió:¿No hay manera de automatizar la parte del emulador?

Si claro que hay forma ... están los fuentes completos del emulador , en C++ + entorno Qt , es cuestión de ponerse -lamo . El emulador trae un IDE pero solo están incluidas las Sharp. Yo de momento, he tirado por el camino del medio para trastear y ver hasta donde se puede llegar. Digamos que objetivo cumplido.


Ahora quiero darle un par de vueltas a la carga en la máquina real, ya sabes cassete / rs-232 y por en medio algún programita chorra de demostración.
Saludos,

Re: FP-200 Reloaded ! : PARTE 1 : Assembler toolkit

Publicado: 20 Nov 2018 15:35
por foroplus
Artículo muy interesante. Ando detrás de uno de estos aparatos pero no hay manera.
Me ha parecido un artículo cojonudo.
Gracias.