Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previaÚltima revisiónAmbos lados, revisión siguiente | ||
tutorial_de_cp_m [2022/08/03 19:32] – [Programando en Ensablador Z80 en CP/M] peron | tutorial_de_cp_m [2023/09/15 16:02] – [Programando BASIC en CP/M] peron | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
====== Tutorial de CP/M ====== | ====== Tutorial de CP/M ====== | ||
+ | Gracias al usuario ~anthk encontrarás una máquina virtual prearmada con [[CP/M]] libre. | ||
- | [[CP/M]] es un sistema operativo clásico para [[microcomputadora# | ||
- | Sigue este tutorial para aprender algunos rudimentos | + | ==== Introducción ==== |
- | + | Sigue este tutorial para aprender algunos rudimentos | |
- | En nuestro entorno compartido texto-plano | + | === Instala CP/M === |
+ | En tu sistema Linux/BSD o en nuestro entorno compartido texto-plano descarga la **máquina virtual Altair 8800 con microprocesador Zilog Z80** del usuario //~anthk//, y descomprímela: | ||
<code bash> | <code bash> | ||
Línea 11: | Línea 12: | ||
wget https:// | wget https:// | ||
tar xvzf altair.tgz | tar xvzf altair.tgz | ||
- | cd altair/src | + | </ |
+ | Inicia ahora **CP/M 2.2** mediante: | ||
+ | < | ||
+ | cd ~/altair/ | ||
sh cpm | sh cpm | ||
</ | </ | ||
- | Tras unos instantes se iniciará una Altair 8800 con microprocesador Zilog Z80 virtualizada. | + | Tras unos instantes se iniciará una microcomputadora |
{{ : | {{ : | ||
- | La misma realizará | + | Te presentará |
< | < | ||
Altair 8800 (Z80) simulator V4.0-0 Current | Altair 8800 (Z80) simulator V4.0-0 Current | ||
Línea 27: | Línea 31: | ||
</ | </ | ||
- | Esto te indicará que te encuentras en la unidad de disco A>. | + | Ya estás list@ para operar CP/M desde la unidad de diskette '' |
- | ==== Salir del Emulador ==== | + | === Salir de CP/M === |
- | Es muy importante detener correctamente la Altair 8800 virtual. | + | Es muy importante detener correctamente la Altair 8800 emulada. Detén |
- | + | ||
- | Detén | + | |
>Si no detienes correctamente la máquina virtual, podría quedar consumiendo recursos innecesariamente en el sistema compartido. ¡Por favor sé responsable y detén su uso si no la utilizas! | >Si no detienes correctamente la máquina virtual, podría quedar consumiendo recursos innecesariamente en el sistema compartido. ¡Por favor sé responsable y detén su uso si no la utilizas! | ||
Línea 38: | Línea 40: | ||
==== CP/M inicial ==== | ==== CP/M inicial ==== | ||
- | Revisa | + | Inicia nuevamente CP/M y lista el contenido de la unidad de diskette '' |
- | Los ficheros '' | + | Entre los ficheros |
- | Revisa | + | Presenta en tu terminal |
< | < | ||
- | type a:eliza.bas | + | A> type a:ccpz.txt |
</ | </ | ||
- | La Unidad de diskette '' | ||
- | Pasa a la unidad B: y juega al **Colossal Cave Adventure** | + | >La Unidad de diskette '' |
+ | |||
+ | Pasa a la unidad B: y juega al **Colossal Cave Adventure** | ||
<code bash> | <code bash> | ||
- | b: | + | A> b: |
- | adv | + | B> adv |
</ | </ | ||
- | Sal de // | + | Podrás abandonar esta aventura |
- | + | ||
- | La unidad de disco '' | + | |
==== Programando BASIC en CP/M ==== | ==== Programando BASIC en CP/M ==== | ||
- | Puedes utilizar un intérprete de [[basic|MBASIC-80]] en CP/M. | + | Utiliza el intérprete de [[basic|MBASIC-80]] en CP/M. |
Ejecuta el intérprete: | Ejecuta el intérprete: | ||
+ | |||
< | < | ||
+ | |||
+ | {{ : | ||
+ | |||
< | < | ||
BASIC-80 Rev. 5.21 | BASIC-80 Rev. 5.21 | ||
Línea 74: | Línea 79: | ||
</ | </ | ||
- | Carga un programa '' | + | Carga un programa '' |
< | < | ||
- | ...o bien introduce [[biblioteca_de_programas# | + | ...o bien introduce [[biblioteca_de_programas# |
Listalo con '' | Listalo con '' | ||
Línea 82: | Línea 87: | ||
Sal del intérprete MBASIC y vuelve al microsistema CP/M con el comando **'' | Sal del intérprete MBASIC y vuelve al microsistema CP/M con el comando **'' | ||
+ | |||
+ | Su material de referencia es el [[https:// | ||
+ | |||
==== Programando en Ensablador Z80 en CP/M ==== | ==== Programando en Ensablador Z80 en CP/M ==== | ||
- | Para programar en CP/M, debemos escribir la rutina en Ensamblador Z80, interpretarlo, | + | El Ensamblador Z80 es el lenguaje de programación de alto nivel; para operar con él debemos escribir el código |
=== ¡Programa! === | === ¡Programa! === | ||
- | Ejecuta el editor [[ed]] | + | Ejecuta el editor [[ed]] |
< | < | ||
- | A> ed b:sl.asm | + | A> ed i:sl.asm |
</ | </ | ||
- | El editor | + | El editor |
< | < | ||
NEW FILE | NEW FILE | ||
Línea 96: | Línea 104: | ||
Pasa a //modo inserción// | Pasa a //modo inserción// | ||
< | < | ||
- | ...e introduce estas 9 líneas de código fuente de Ensamblador Z80. Puedes pegarlas o bien utilizar la **tecla tab** para hacer las columnas. Utiliza la **tecla Intro** para confirmar | + | ...e introduce estas 9 líneas de código fuente de Ensamblador Z80. Puedes pegarlas o bien utilizar la **tecla tab** para hacer las columnas. Utiliza la **tecla Intro** para confirmar |
<code asm> | <code asm> | ||
ORG 0100H | ORG 0100H | ||
Línea 113: | Línea 121: | ||
: *e | : *e | ||
</ | </ | ||
- | Tras haber editado tu código fuente, pasa a la unidad de diskette '' | + | Tras haber editado tu código fuente, pasa a la unidad de diskette '' |
< | < | ||
- | b: | + | A> i: |
</ | </ | ||
=== ¡Ensambla! === | === ¡Ensambla! === | ||
Ensambla el código: | Ensambla el código: | ||
< | < | ||
- | B> asm sl</ | + | a> asm i:sl</ |
< | < | ||
CP/M ASSEMBLER - VER 2.0 | CP/M ASSEMBLER - VER 2.0 | ||
Línea 130: | Línea 138: | ||
Observa desensamblado para el microprocesador Z80 del código fuente con. | Observa desensamblado para el microprocesador Z80 del código fuente con. | ||
- | < | + | < |
Observa el volcado hexadecimal del mismo: | Observa el volcado hexadecimal del mismo: | ||
- | < | + | < |
===¡Compila!=== | ===¡Compila!=== | ||
Compila el fichero: | Compila el fichero: | ||
- | < | + | < |
El compilador automático creará un ejecutable '' | El compilador automático creará un ejecutable '' | ||
- | < | + | < |
- | ==¡Corre!=== | + | ===¡Corre!=== |
Y finalmente, ¡cargalo en memoria y córrelo! | Y finalmente, ¡cargalo en memoria y córrelo! | ||
- | < | + | < |
< | < | ||
+ | ==== Conclusión ==== | ||
+ | ¡Enhorabuena! Has aprendido a utilizar CP/M en tu propia sesión en el entorno compartido. Compártelo en [[gab]] para que todos lo sepan: | ||
+ | <code bash> | ||
+ | gab -m "¡He terminado el tutorial de CP/M, y he compartido mi software!" | ||
+ | </ | ||