FP-200 Reloaded ! : PARTE 2 : Memory Maps

race8086
Mensajes: 446
Registrado: 29 Oct 2010 22:05
Agradecimiento recibido: 14 veces

FP-200 Reloaded ! : PARTE 2 : Memory Maps

Mensajepor race8086 » 21 Nov 2018 18:25

ANTES DE EMPEZAR

Todo lo que es voy a contar está un 25% documentado y un 75% deducido por ingeniería inversa.
Seguramente que haya imprecisiones e incorrecciones, pero de una forma u otra dan una primera aproximación muy útil para programar en ensamblador sobre esta máquina.

Estáis avisados -shock
-bRick
Pues vamos allá, una de las primeras cosa a tener en cuenta es en donde metemos nuestro código y en qué condiciones se puede utilizar y esto está unido al Mapa de Memoria en la mayoría de las ocasiones.

La descripción es bastante sintética, porque tampoco tengo mucho más guardado en la mochila -grin , así que allá vamos:

MAPA DE MEMORIA

El sistema dispone de una ROM de 32 K donde se encuentran las rutinas de la BIOS , el intérprete BASIC y el módulo CTEL.
La configuración de serie incorpora una memoria RAM de 8Kbytes, que se puede aumentar gracias a tres bahías de expansión con módulos de 8K. El último slot puede ser RAM o ROM.
1_memo_all.jpg
1_memo_all.jpg (13.91 KiB) Visto 561 veces

ROM BIOS:
Dentro de las rutinas de la BIOS se encuentran las rutinas de servicio ( interrupciones, gestión de memoria , funciones comunes a los módulos BASIC / CTEL), las que manejan los períféricos integrados : (Teclado, LCD, puertos) y las extensiones (Controladora de Floppy , lector de código de barras, teclado auxiliar).
En otro Post detallaremos algo más esta zona de memoria.
Memoria RAM:

A continuación, se presenta un el mapa de memoria RAM ,para la configuración base:

1_memo_ram.jpg
1_memo_ram.jpg (11.44 KiB) Visto 561 veces


SISTEMA

    Como se puede apreciar, el sistema ocupa la zona más baja, para funcionamiento del propio sistema (buffer de teclado y edición, buffers para comunicaciones y zonas de variables de sistema y stack).
    El stack es una zona que comienza en la posición 8310h con 256 bytes de crecimiento hacia abajo reservados.
    El resto de memoria se reparte casi proporcionalmente para el módulo CTEL y el BASIC.
BASIC
    La zona de BASIC se expande ocupando la de CTEL, con el uso del comando AREA. En el caso extremo AREA 0, eliminamos el módulo CTEL, estando toda el área disponible para programas BASIC.
    El área de BASIC se reparte en 3 secciones: la de código, la de variables y la de buffers para canales de comunicación (mediante el comando MOUNT).
    Los últimos 256 bytes de memoria teóricamente podrían ser ocupados por la zona de variables, pero usando el comando CLEAR limitamos su crecimiento hacia arriba, dejando una zona reservada para el usuario que no invaden ni el BASIC ni el CTEL, como imaginaréis esta es la zona segura para ejecutar programas en código máquina.
    Los buffers (hasta 15) se reservar unos 300 bytes por canal. Para comunicaciones serie, con 1 canal basta, aunque he visto ejemplos que usan 2, uno para entrada y otro para salida.
    Supongo que con el uso del floppy la cosa cambia, pero no he investigado más porque no poseo este periférico.

CÓDIGO MÁQUINA
    En el technical book utilizan 9F00h, como dirección para ubicar el código, pero esto sólo nos deja 255 bytes para jugar.
    En un escenario agresivo, con AREA 0: CLEAR ,37791 conseguimos 1685 bytes para programa + variables Basic y 3167 bytes para código máquina.
    Se puede encontrar configuraciones intermedias en función del peso que queramos dar a una parte o a otra.
    Cuanto más tamaño reservemos para CM, precisaremos seguramente más de un BASIC cargador, lo bueno es que haciendo NEW tocamos la zona reservada y podremos hacer una nueva carga.

CONCLUSIONES

La cuestión práctica radica en la “imposibilidad” de cargar ficheros binarios desde el prompt del sistema, por lo que sería preciso generar un cargador especial de cassete y/o RS-232.
En el último caso es peor, porque los parámetros están “fijados” a 7 bits y eso que no hablamos de los 300 bps de tasa teórica de transferencia.Como ocurre en otros sistemas, el siguiente paso son las variables del sistema y las rutinas de la BIOS las que nos pueden arrojar algo más de luz si queremos exprimir el cacharro. -mu


Bueno, ya hemos terminado.
-thanks

PD: Los diagramas me los he currado yo en power point, pero ... ¿a que tienen un aire retro total ?

foroplus
Mensajes: 121
Registrado: 02 Nov 2015 17:30
Ubicación: Madrid
Agradecido : 18 veces
Agradecimiento recibido: 20 veces
Contactar:

Re: FP-200 Reloaded ! : PARTE 2 : Memory Maps

Mensajepor foroplus » 21 Nov 2018 22:57

Bueno, ya sabes que estos artículos tecticos de ordenadores de bolsillo y calculadoras programables son mis favoritos y mi debilidad. Lo que unido a tu calidad técnica hace que ahora mismo esté dando palmas con las orejas.
Gracias.
Calculadoras programables BASIC años 80-90:
http://basic.hopto.org

Avatar de Usuario
CasioFP
Mensajes: 85
Registrado: 18 Jun 2012 19:15
Agradecimiento recibido: 1 vez
Contactar:

Re: FP-200 Reloaded ! : PARTE 2 : Memory Maps

Mensajepor CasioFP » 26 Nov 2019 21:07

Hola Race,

Tus articulos sobre el ensamblador sobre el FP-200 son fantasticos, muchas gracias !
Tengo algunos contenidos que seran muy utiles para seguir explorando el FP-200, me explico :
Alla en el ano 1986 se me ocurrio querer escribir un libro sobre el FP-200.
Habiendome regalado mi padrino mi FP-200 a finales de 1984, lo habia explorado bastante y lo conocia suficientemente como para aventarme en este proyecto.
Lo malo del caso es que el FP-200 no se vendio bastante bien como para que una editora se interesara en un tal libro, que quedo mayoritariamente al estado de proyecto...

...enfin, quedan unas 150 paginas (escritas a la mano y en francés) llenas de llamadas a la rutinas en ROM con sintaxis y explicaciones -grin

Ahi van unas paginas :

Imagen

Imagen

Imagen

Incluso tiene la Rom rutinas graficas BASTANTE rapidas :

Imagen

Imagen

Y la portada temporaria que se quedo asi :

Imagen

Bueno, ahora nada mas hace falta escanear y traducir...
A seguir !

Joscelyn

foroplus
Mensajes: 121
Registrado: 02 Nov 2015 17:30
Ubicación: Madrid
Agradecido : 18 veces
Agradecimiento recibido: 20 veces
Contactar:

Re: FP-200 Reloaded ! : PARTE 2 : Memory Maps

Mensajepor foroplus » 01 Dic 2019 19:03

Joer, vaya fantástico trabajo. Qué pena que en su día no lo pudieras publicar pues se ve de gran calidad.
Mucha gracias por compartir, esperamos poder ver, al menos el escaneado subido a la red, al menos para que esa información quede para la posteridad.
Calculadoras programables BASIC años 80-90:
http://basic.hopto.org

Avatar de Usuario
CasioFP
Mensajes: 85
Registrado: 18 Jun 2012 19:15
Agradecimiento recibido: 1 vez
Contactar:

Re: FP-200 Reloaded ! : PARTE 2 : Memory Maps

Mensajepor CasioFP » 01 Dic 2019 19:57

Si desde luego, està previsto que lo escanee en primer lugar para poder compartirlo
Y en un segundo tiempo a ver si me animo a teclearlo y porqué no, ponerlo en pagfina como si se tratara de un libro
En aquel entonces nada mas se podia sonar, puesto que tal software ni existia...
Hoy en dia es mucho mas facil de hacer :)


Volver a “Ordenadores de Bolsillo y Calculadoras”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado