Emulador de Cromemco Z-2 con Teensy 4.1

En este artículo vamos a emular el Cromenco Z-2 sobre una Teensy 4.1.

Sobre Cromenco Z-2

Entre los años 1977 y 1978, Cromenco lanza la serie Z-2, orientada a empresas y laboratorios. Esta consta de un diseño mucho más robusto y sencillo, sin panel de LED y switches, incluyendo de serie unidades de disco flexible, para la Z-2D, o disco duro para la Z-2H.

Su arquitectura hardware se basa en un conjunto de placas interconectadas mediante un bus S-100. Así, la placa de CPU monta un Zilog Z80A seleccionable entre 2 y 4 MHz, entre 16 y 64 KB de RAM. Utilizaba una ROM del propio fabricante denominada RDOS y solía apoyarse en el sistema operativo CDOS de Cromenco, aunque también admitía CP/M.

Emulador

Utilizaremos como base el emulador de Cromemco integrado en Z80pack.

Cambios en nuestro emulador

Se realizan cambios en el código original incluyendo:

  • Se excluye el core 8080.
  • Arranque con ROM RDOS.
  • Añadidos comandos locales para carga de imágenes de disco desde microSD.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa Teensy 4.1.
  • Tarjeta microSD con formato FAT32.

Instalación

Nos basta con descargar el código fuente de GitHub.

$ git clone https://github.com/RafaGS/cromemco4Teensy.git

Editamos el archivo platform.io y descomentamos el flag CROMEMCO_BOOT_DEFAULT con el valor Z2.

build_flags = -DCORE_DEBUG_LEVEL=0 -DUSB_SERIAL -DEXCLUDE_I8080 -I./src -I./z80core -DCROMEMCO_SERIAL_WAIT_MS=4000 ; Auto-boot profile (optional). Leave undefined to show menu. ; -DCROMEMCO_BOOT_DEFAULT=Z1 -DCROMEMCO_BOOT_DEFAULT=Z2 ; -DCROMEMCO_BOOT_DEFAULT=ST ; Optional tuning: ; -DCROMEMCO_MENU_TIMEOUT_MS=2000 ; -DCROMEMCO_SERIAL_WAIT_MS=300

Construimos los binarios y los subimos a la placa.

Preparación de la microSD

Prepararemos una microSD en formato FAT32 donde creamos un directorio cromemco y ahí pondremos los archivos DSK.

Emulación

Una vez realizada la subida, y conectada la microSD a la Teensy, nos conectamos vía serie. Aparecerá información sobre el emulador. Pulsaremos una tecla para comenzar la emulación.

Aparecerá la versión del monitor ROM de Z-2.

CROMEMCO RDOS1

Dispondremos de un prompt en forma de punto y coma.

Monitor

El monitor para estos modelos es el RDOS.

En el monitor podemos realizar operaciones sencillas como realizar un volcado de memoria con D M.

;D M 0 10 0000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0010: 00

Se han añadido dos funciones que son carga de imagen de disco a unidad (:L) y estado de las unidades (:Z).

CDOS

CDOS es el sistema operativo propio de Cromemco, que viene a ser una customización muy fuerte de CP/M. Lo cargaremos en el disco A con :L.

;:L A cdos258_8.dsk

Luego, realizamos boot del disco.

;B

Inmediatamente aparecerá el banner de inicio de este sistema operativo.

Podremos introducir comandos típicos, como dir.

El comando stat nos da información acerca de nuestro sistema.

Hay un BASIC, que podremos ejecutar.

Y escribir un nuevo «hola mundo».

CP/M

Si, por opciones de compatibilidad, necesitamos CP/M, podemos cargarlo desde RDOS con :L.

;:L A cpm22.dsk

Con :Z comprobamos el estado de nuestros discos.

;:Z A: cromemco/cpm22.dsk boot:yes
B: <sin imagen> boot:no
C: <sin imagen> boot:no
D: <sin imagen> boot:no
Unidad activa: A

Realizamos el boot y entramos en CP/M.

;B

Podremos probar los comandos de este sistema operativo, como dir.

O stat.

Nótese que, para este último caso, da mucha menos información.

#1977 #Cromemco #PJRCTeensy41 #ZilogZ80A

Emulador de Cromemco Z-1 con Teensy 4.1

En este artículo vamos a emular el Cromenco Z-1 sobre una Teensy 4.1.

Sobre Cromenco Z-1

Si IMSAI 8080 es considerado el primer clon de la historia, Cromenco Z-1 podría ser la primera versión mejorada de un clon. La empresa Cromenco, especializada en diseño y fabricación de placas electrónicas compatibles con el bus S-100 para el Altair 8800, decide diseñar su propio ordenador enfocándose en la robustez. Como curiosidad, Cromemco utilizó el mismo chasis que montaba el IMSAI 8080, de ahí su similitud estética.

Desde Cromemco plantean una arquitectura hardware basada en Zilog Z80A, que mejora al Intel 8080, a velocidades de 2 y 4 Mhz, seleccionables por interruptor, 8 KB de RAM y 8 KB de PROM en su tarjeta Bytesaver. Este último permitía volcar el contenido de la RAM en los chips de PROM, para así poder recuperar el trabajo en un próximo encendido. Nótese que los primeros Z-1 venían sin disquetes para guardado.

Emulador

Utilizaremos como base el emulador de Cromemco integrado en Z80pack.

Cambios en nuestro emulador

Se realizan cambios en el código original incluyendo:

  • Se deshabilita el panel LED y switches.
  • Se excluye el core 8080.
  • Integración de TinyBASIC en el emulador.
    • Entrada teclado no bloqueante por puerto 0x05 en src/io_minimal.c.
    • Redirección de salida TinyBASIC por puerto 0x00 en src/io_minimal.c.

Entorno e instalación del emulador

Elementos

Vamos a necesitar tan solo la placa Teensy 4.1.

Instalación

Nos basta con descargar el código fuente de GitHub.

$ git clone https://github.com/RafaGS/cromemco4Teensy.git

Editamos el archivo platform.io y descomentamos el flag CROMEMCO_BOOT_DEFAULT con el valor Z1.

build_flags = -DCORE_DEBUG_LEVEL=0 -DUSB_SERIAL -DEXCLUDE_I8080 -I./src -I./z80core -DCROMEMCO_SERIAL_WAIT_MS=4000 ; Auto-boot profile (optional). Leave undefined to show menu. -DCROMEMCO_BOOT_DEFAULT=Z1 ; -DCROMEMCO_BOOT_DEFAULT=Z2 ; -DCROMEMCO_BOOT_DEFAULT=ST ; Optional tuning: ; -DCROMEMCO_MENU_TIMEOUT_MS=2000 ; -DCROMEMCO_SERIAL_WAIT_MS=300

Construimos los binarios y los subimos a la placa.

Emulación

Una vez realizada la subida a la Teensy, nos conectamos vía serie. Aparecerá información sobre el emulador. Pulsaremos una tecla para comenzar la emulación.

Aparecerá la versión del monitor ROM de Z-1.

CROMEMCO ZM1.4

Dispondremos de un prompt en forma de dos puntos.

Monitor

El monitor por defecto para los primeros Z-1 era el Z1MON, muy limitado en cuanto a que no tiene capacidad de gestionar discos, limitándose sus capacidades a examinar/modificar memoria, cargar binarios por puerto serie y ejecutar código. Para poder tener capacidades de manejo de discos era necesario actualizar a RDOS.

En el monitor podemos realizar operaciones sencillas como mostrar los registros del Z80 con DR.

:DR A=01 B=57 C=74 D=64 E=C4 F=28 HL=AF15
I=00 N=00 P=0128 S=702C X=D5A8 Y=004E
A'A4 B'E9 C'57 D'DB E'5E F'38 HL'20FB

O realizar un volcado de memoria con DM.

:DM 0 10 0000: 31 FF FF 3E FF C3 03 06 E3 EF BE C3 66 00 3E 0D
0010: F5

BASIC

Una práctica común en la época era disponer del intérprete BASIC vía ROM o serie a través de cintas perforadas. En nuestro caso, hemos precargado una versión de TinyBASIC para Z80. Podemos iniciar este lenguaje de programación desde el monitor con la instrucción G.

:G 0

Inmediatamente aparecerá el banner de inicio de este BASIC.

Y, por supuesto, podremos jugar con él.

#1976 #Cromemco #PJRCTeensy41 #ZilogZ80A

May 2, 1983 - A Conceptual #GameDev Art Piece

Shown here, a software engineer at Roklan spends his evening doing a build and test of GORF for the Intellivision, to be sold by CBS Electronics.

https://youtu.be/jfY59xC_lJY

#retrocomputing #retrogaming #intellivision #cromemco #s100

May 2, 1983 - A Conceptual #GameDev Art Piece

YouTube
What a project. Now to port Doom. #cromemco #z80

ասէք կանենք՝ cromemco ընկերութիւնից։

բայթ ամսագիր, օգոստոս 1984 թիւ։

#գովազդ #հանդէս #cromemco #կրոմեմկօ #քրոմեմկօ #պատմութիւն #68000 #z-80 #z80 #էկրանահան #բայթ #1984

#գովազդ stream - ծմակուտ

All content tagged with #գովազդ.

ծմակուտ
An Odd Home Computer From The 1980s

If you were around when the Altair 8800 was king, you might remember the name Cromemco. They were an early vendor of add-ons for the Altair, along with companies like Godbout and Morrow. The compan…

Hackaday
Cromemco DOS (CDOS or Cromemco Disk Operating System) – a CP/M-like operating system by https://archiveos.org/cromemco-dos/ #dos #cromemco
Cromemco DOS - ArchiveOS

Web site: (not active) Origin: USA Category: Workstation Desktop environment: CLI Architecture: Zilog Z80 Based on: Independent Wikipedia: Cromemco DOS Media: Install The last version | Released: 1982 Cromemco DOS (CDOS or Cromemco Disk Operating System) - a CP/M-like operating system by Cromemco, and written in Zilog Z80 machine code. The Cromenco company was started in 1975 by two Stanford University grad students, Roger Melen and Harry Garland. Early products

ArchiveOS
Repórter Retro 090

Este é o Repórter Retro 090, produzido pela A.R.N.O. (Agência Retropolitana de Notícias)! MP3 para ouvir offline Escute no YouTube Do que falamos? 30 anos da tag IMG 40 anos do Kokusai KDS 7861 30 …

Retrópolis

I could swear that when I looked at ebay a couple of weeks ago, there were some Cromemco D+7A S100 cards going for approx. $100
(d+7a is basically a S100 joystick card)

and I kind of convinced myself I should get one.
So I look on ebay, and there's only one, and they want $200 for it...

And nope, that's outa my budget.

(grr, that's the second time I've lost out on an S100 card I wanted. Next time I see one I want for $100 I'm getting it then and there!)

#ebay #cpm #s100 #cromemco