★ APPLICATIONS ★ PROGRAMMATION ★ MONITOR DE ROM's ★![]() |
ROM Monitor (Amstrad Semanal) | Applications Programmation |
Mediante el pequeño, pero potente programa, que hoy ofrecemos a los programadores, tenemos la posibilidad de curiosear en el interior de las ROM's incorporadas a nuestro CPC. Ya sea en las que vienen de fábrica, la del BASIC y CPM, o en las que hayamos incorporado nosotros mediante el bus trasero de nuestro ordenador NO sé s¡ os pasa igual a vosotros, pero a mí los manuales de las «cosas» que se conectan al ordenador me son inútiles. Nunca los necesito excepto cuando no los encuentro; y claro, nunca los encuentro excepto cuando no los necesito. Conectados al pequeño CPC 464 de nuestra casa tenemos un módem, un sintetizador de voz, alarmas, un ensamblador, bancos de memoria, y..., vaya, no recuerdo cómo se llama porque he perdido el manual. Cada uno tiene su ROM con sus comandos externos, que como DIR, se escriben empezando con la barra vertical. En total 50 ó 60 comandos de entre los que alguno hace que me pierda en detalles de ortografía como SETFILEEND. Muy bien. Por lo menos no he perdido el manual del Firmware, ya que éste tiene las rutinas para seleccionar y encender las ROM. Y es aquí donde el presente pro-gramita aparece para ayudarnos a desvelar los secretos de Read Only Memory (Memoria). Sólo leer en indio. La familia de los CPC está dotada de un mínimo de 32 Ks de ROM. Una parte, 16 Ks de esta memoria, solapa la parte inferior de la memoria. También es llamada firmware, y su dirección va de la 0 a la 3FFF. Su contenido lo forman las rutinas pregrabadas disponibles para todos los demás programas, incluyendo el Basic. De esta parte no hablaremos más. La que aquí veremos es la otra, que solapa en memoria los 16 Ks más altos (upper, superior). Aquí se puede expandir la memoria hasta 4 Mbytes (si, eso es 4 Megobytes) en 250-y-pico bloques de 16 Ks. Si tienes un miembro de la familia CPC con disco, por ejemplo, ya hay uno de estos bloques ocupado por el programa que contiene los sistemas operativos AMSDOS y CPM. Todo el mundo tiene su Basic (que no es más que un simple programa pregrabodo —pero ¡voya programa!—) en una ROM dentro del ordenador. Nuestra máquina tiene siete ROMs conectados, unas 100 Ks. Teclea el programa en Basic. La primera parte es Código Máquina con un chequeo al final de cada línea para captar los fatales errores de tecleo. No es necesario teclear el código ensamblador fuente. Es más rápido y más seguro teclear las líneas DATA en el programa Basic y usar el listado de tu revista como referencia. Si tienes 4 Mbytes de ROM conectados o, por lo menos, si tienes más de 7 ROMs, tendrás que cambiar la línea 110, poniendo el número del último ROM conectado. (En verdad, no conocemos a nadie con más de siete). Ahora RUN. Primero el programa proporciona un catálogo ae las ROMs con sus títulos internos, que son comandos externos normalmente no accesibles desde Basic. Ahora elige uno, por ejemplo el número cero, el Basic. Esta ROM está encendida y copiada a RAM (memoria normal de escritura/lecturo) en las direcciones 4000-8000 hexadecimales. Se muestra un directorio de los comandos externos disponibles en esta ROM. El directorio de Basic estará vacío, porque los comandos de Basic son todos internos a este programa. El de CPM-AMSDOS tendrá |TAPE, |DISC, |ERA, etcétera. Finalmente, existe la opción de grabar los 16 Kbytes de la ROM en disco o cinta. Será un fichero binario. Este fichero se puede estudiar trozo a trozo con un programa monitor, para ver, por ejemplo, cómo funciona el Basic, o cómo es el bloque de datos de los discos en el BIOS de AMSDOS/CPM. Adiós misterios. Yo tengo normalmente residente en memoria el programa HOJEAMEN que publicaba AMSTRAD SEMANAL en su edición especial n.° 2. Con este, y después de ejecutar el presente programa, se puede hojear rápidamente los 16 K de la ROM. Cuando lo hago con ROM cero, encuentro el famoso READY del Basic ya en la tercera línea, y en la segunda página los mensajes de error, empezando con «Unknown error» (Error desconocido). Disfruta.
|