RomMonitor - AtlasFPGA/Multi_CPM GitHub Wiki
El monitor de ROM
Una vez pulsemos espacio en un terminal, la rom lanza el monitor de ROM. Desde aquí se pueden realizar todo tipo de acciones sobre los discos (Formatear una partición, cargar un sector de boot, modificarlo en memoria, volverlo a escribir,etc.
El sistema devuelve el mensaje:
Z80 Multicomp Multiboot Monitor v3.2
based on design by G. Searle
press ? for help
>
pulsando la tecla '?' devuelve un listado de todos los posibles comandos volviendo a mostrar el prompt ">" para indicar la entrada de nuevos comandos.
Available Commands:
:ccxxxxiibbbbbb Load Intel-Hex file record
Rxxxx Run from address xxxx
Sddd System boot
Iddd Init: Format directory
Pddd[,xxxx] PutSys: write system image[,loadaddress]
(No address: re-use last loadaddress)
Gddd[,xxxx] GetSys: load system track
Dxxxx[,yyyy] Dump memory from xxxx [,to yyyy]
D (no address) shows next block
Cxxxx Change/show memory at xxxx
CR advances "," quits
ddd is a decimal volume number,
xxxx, yyyy is a hexadecimal address.
Leading zeros may be omitted.
ESC or ^C aborts.
>
Los comandos "G","P" y "L" tienen un formato similar. Necesitan como parámetro obligatorio un numero valido de volumen y como parámetro opcional, una dirección de carga. Si no se especifica, se utiliza la dirección por defecto 0xE000.
Comando "S"
Carga una imagen ejecutable desde la pista 0 del volumen y comienza automáticamente su ejecución. La imagen puede ser un sistema operativo (como en el caso de CPM) o una rom (como en el caso de BASIC).
Comando "G"
Carga la imagen (igual que el anterior) pero devuelve el control al prompt de comandos. Esta opción es útil para examinar la imágen o prepararla para grabarla en un nuevo volumen.
Comando "P"
Este comando hace lo contrario al comando "G". Graba la imágen a la pista 0 del volumen.
Comando "I"
Formatea un volumen para su utilización. Escribe un directorio vacio en la pista 1 del disco y una etiqueta de volumen. No escribe nada en el resto de pistas.
Comando "R"
Salta a la dirección hexadecimal especificada.
Comando "D"
Muestra contenidos de la memoria empecando en la dirección especificada en el primer parametro y finalizando en el segundo parametro (ambas en hexadecimal). Muestra en bloques de 16 bytes.
Comando "C"
Permite cambiar las direcciones de memoria una a una.
Subiendo código desde cinta perforada o TTY.
Cualquier fichero en formato hexadecimal intel, se puede enviar desde el terminal o lector de cinta de tarjeta directamente al monitor para ser ejecutado o grabado en el disco. Las lineas que comienzan por dos puntos (":") se procesan secuencialmente.