tutorial_de_cp_m

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
tutorial_de_cp_m [2022/08/03 19:48] – [CP/M inicial] perontutorial_de_cp_m [2024/02/29 17:28] (actual) – [Introducción] 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#microcomputadoras hobbistas|microcomputadoras]]. Gracias al usuario ~anthk encontrarás una máquina virtual prearmada. 
  
-Sigue este tutorial para aprender algunos rudimentos del mismo+==== Introducción ==== 
- +Sigue este tutorial para aprender algunos rudimentos de este sistema operativo clásico para [[microcomputadora#microcomputadoras hobbistas|microcomputadoras]].  
-En nuestro entorno compartido texto-plano o tu sistema Linux/BSD, descarga la **máquina virtual Altair 8800 con microprocesador Zilog Z80** del usuario //~anthk//, y la descomprímela:+===  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://caja.texto-plano.xyz/anthk/emu/altair.tgz wget https://caja.texto-plano.xyz/anthk/emu/altair.tgz
 tar xvzf altair.tgz tar xvzf altair.tgz
-cd altair/src+</code> 
 +Inicia ahora **CP/M 2.2** mediante: 
 +<code> 
 +cd ~/altair/
 sh cpm sh cpm
 </code> </code>
-Tras unos instantes se iniciará una Altair 8800 con microprocesador Zilog Z80 virtualizada.+Tras unos instantes se iniciará una microcomputadora Altair 8800 con microprocesador Zilog Z80 (virtualizada).
 {{ :altair_8800.jpg?direct&200 |}} {{ :altair_8800.jpg?direct&200 |}}
-La misma realizará una devolución tu terminal y te presentará un prompt que indica la letra de unidad de diskette en la que te encuentras: ''A>''+Te presentará una devolución en tu terminal y un prompt que indica la letra de unidad de diskette en la que te encuentras: ''A>''
 <code> <code>
 Altair 8800 (Z80) simulator V4.0-0 Current        git commit id: $Format: Altair 8800 (Z80) simulator V4.0-0 Current        git commit id: $Format:
Línea 27: Línea 31:
 </code> </code>
  
-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 ''A:''
  
-==== 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 esta máquina virtual con el comando ''A:HALT'', o bien presionando **Ctrl+AltGr+\**. Aparecerá el prompt ''sim>'' donde debes introducir el comando **exit**.
- +
-Detén la máquina virtual con **Ctrl+AltGr+\**. En el prompt ''sim>'' introduce el comando **exit**.+
  
 >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 la unidad de disco actual con el comando ''LS''.+Inicia nuevamente CP/M y lista el contenido de la unidad de diskette ''A:'' actualcon el comando ''DIR''. También puedes utilizar el listador avanzado ''LS''.
  
-Los ficheros de extensión ''.COM'' son ejecutables de CP/M.+Entre los ficheros listados encontrarás algunos con la extensión ''.COM'': estos son ejecutables de CP/M.
  
-Revisa el contenido de un archivo con el comando ''TYPE''. Por ejemplo, el ''CCPZ.TXT''.+Presenta en tu terminal el contenido de un fichero de la unidad ''A:'' con el comando ''TYPE''. Por ejemplo, el fichero ''CCPZ.TXT'':
  
 <code> <code>
 A> type a:ccpz.txt A> type a:ccpz.txt
 </code> </code>
 +
 >La Unidad de diskette ''B:'' contiene programas adicionales. La unidad de diskette ''I:'' contiene un diskette libre para que puedas crear tu propio contenido, en tanto que la unidad de diskette ''J:'' contiene algunos intérpretes y utilidades adicionales. >La Unidad de diskette ''B:'' contiene programas adicionales. La unidad de diskette ''I:'' contiene un diskette libre para que puedas crear tu propio contenido, en tanto que la unidad de diskette ''J:'' contiene algunos intérpretes y utilidades adicionales.
  
-Pasa a la unidad B: y juega al **Colossal Cave Adventure** en CP/M.+Pasa a la unidad B: y juega al **Colossal Cave Adventure** para CP/M.
  
 <code bash> <code bash>
Línea 56: Línea 59:
 </code> </code>
  
-Podrás salir de //adv// introduciendo el comando ''exit''.+Podrás abandonar esta aventura de texto introduciendo el comando ''exit''. Cuando te indique si deseas abandonar la aventura, introduce **y** para volver al microsistema CP/M.
  
 ==== 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:
 +
 <code>a:mbasic</code> <code>a:mbasic</code>
 +
 +{{ :mbasic_5.21.jpg?200|}}
 +
 <code> <code>
 BASIC-80 Rev. 5.21 BASIC-80 Rev. 5.21
Línea 72: Línea 79:
 </code> </code>
  
-Carga un programa ''[[ELIZA.BAS]]''+Carga un programa ''[[ELIZA.BAS]]'':
 <code>LOAD "ELIZA.BAS"</code> <code>LOAD "ELIZA.BAS"</code>
-...o bien introduce [[biblioteca_de_programas#programas_de_basic|algún programa escrito en BASIC]].+...o bien introduce [[biblioteca_de_programas#programas_en_basic|algún programa escrito en BASIC]].
 Listalo con ''LIST'' o ejecútalo con ''RUN''. Listalo con ''LIST'' o ejecútalo con ''RUN''.
  
Línea 80: Línea 87:
  
 Sal del intérprete MBASIC y vuelve al microsistema CP/M con el comando **''SYSTEM''**. Sal del intérprete MBASIC y vuelve al microsistema CP/M con el comando **''SYSTEM''**.
 +
 +Su material de referencia es el [[https://archive.org/stream/BASIC-80_MBASIC_Reference_Manual/BASIC-80_MBASIC_Reference_Manual_djvu.txt|Manual de MBASIC-80 (en inglés)]].
 +
 ==== 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, y ejecutarlo. Para ello debemos escribir el programa con el editor [[ed]] en nemónicos de Zilog Z80, ensamblarlos con **asm** a hexadecimal, y usar **load** para convertir dicho archivo a un binario ejecutable con extensión ''.COM''.+El Ensamblador Z80 es el lenguaje de programación de alto nivel; para operar con él debemos escribir el código con el editor [[ed]] utilizando nemónicos de Zilog Z80, ensamblarlo con //asm//, y compilarlo con //load//.
 === ¡Programa! === === ¡Programa! ===
-Ejecuta el editor [[ed]] con un archivo de código fuente de extensión ''.asm'', creando un programa llamado ''sl.asm'' en la unidad de diskette ''I:'', de la siguiente manera:+Ejecuta el editor [[ed]] indicando un fichero de código fuente de extensión ''.asm''. Por ejemplopara crear un programa llamado ''sl.asm'' en la unidad de diskette ''I:'', inbtroduce:
 <code> <code>
 A> ed i:sl.asm A> ed i:sl.asm
 </code> </code>
-El editor Ed te indicará que estás en un fichero nuevo:+El editor //ed// te indicará que estás en un fichero nuevo:
 <code> <code>
 NEW FILE   NEW FILE  
Línea 94: Línea 104:
 Pasa a //modo inserción// con ''*i''... Pasa a //modo inserción// con ''*i''...
 <code>: *i</code> <code>: *i</code>
-...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 las nuevas líneas (Ed te indicará el número de línea en las medida que las vayas agregando):+...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 cada nuevas líneas (Ed indicará un número de línea en las medida que las vayas agregando):
 <code asm> <code asm>
         ORG     0100H         ORG     0100H
Línea 142: Línea 152:
 <code>I> i:sl</code> <code>I> i:sl</code>
 <code>COMPARTE TU SOFTWARE!</code> <code>COMPARTE TU SOFTWARE!</code>
 +==== 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!" 
 +</code>
  
  
  
  • tutorial_de_cp_m.1659556099.txt.gz
  • Última modificación: 2022/08/03 19:48
  • por peron