Emulador de Franklin ACE 1000 con Olimex RP2350pc

Continuamos explorando el mundo de los primeros clones en la historia de la informática. En este artículo vamos a emular un ACE 1000 de Flanklin sobre un módulo RP2350pc de Olimex.

+ Franklin + Retroinformática

Sobre Franklin ACE 1000

Si ACE 100 fue un clon de Apple II, ACE 1000 lo fue del Apple II Plus. Lanzado en 1982, tuvo éxito comercial al presentar mejores precios y una buena calidad en su construcción.

A nivel de arquitectura, se basa en un procesador MOS 6502 a 1 MHz, 64 KB de RAM y lógica discreta TTL para lo demás.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa Olimex RP2350pc.
  • Monitor con entrada HDMI.
  • Teclado USB.

Emulador

Vamos a partir del emulador Reload para Apple II Plus, refactorizaremos su código para la placa RP2350pc y lo actualizaremos con la ROM del ACE 1000. Se mejoran los soportes de PicoDVI y TinyUSB a partir del código que desarrollamos para el emulador de MSX sobre esta misma plataforma.

Asimismo, del emulador original se descarta ProDOS y se sustituye por el disco de sistema de Flanklin.

Instalación

Descargaremos el UF2 del repositorio GitHub.

$ wget https://github.com/RafaGS/ACEreloaded/releases/download/ACE1000/franklinACE.uf2

Lo siguiente es subir al UF2 a la placa a través del USB-C de programación.

Emulación

Una vez realizada la subida, desconectamos la RP2350pc del PC, la alimentamos por el USB-C de carga y la conectamos a un monitor HDMI y teclado USB.

Una vez encendida la alimentación veremos la pantalla del monitor ROM de ACE 1000. En este caso nos encontraremos con la versión 2.2, considerada la última versión estándar para este modelo.

Si pulsamos [F12] en el teclado, accederemos al BASIC instalado en ROM, una copia de Applesoft BASIC que nos muestra el clásico prompt de esta versión del lenguaje.

Podemos usar directamente este lenguaje.

Si reiniciamos la placa y pulsamos [F1] podremos acceder al arranque desde el disquete de sistema del ACE 1000. Durante el proceso cargará dos versiones de BASIC: INTEGER BASIC y Floating Point BASIC.

Por defecto, entraremos en la versión de punto flotante.

Podemos pasar a la versión de BASIC limitada a enteros, que consume menos recursos, con la orden INT, cosa que nos confirma el cambio de prompt. Vemos que, en este caso, no admite operaciones con flotantes, devolviendo error si lo intentamos.

Y podemos volver a la versión flotante con FP.

Podemos ver el contenido del disco con el comando CATALOG.

Podemos cargar y ejecutar cualquier archivo BASIC con RUN.

En este caso, podremos ver al ACE 1000 pintando un círculo en pantalla.

#1982 #Franklin #MOS6502 #OlimexRP2350pc
TRON original trailer

PeerTube

Emulador de Commodore MAX Machine con Lilygo TTgo VGA32

El mítico Commodore 64 tuvo un hermano que suele pasar desapercibido en la historia de la informática.

En este artículo vamos a emular un MAX Machine sobre un módulo TTgo VGA32 de Lilygo.

+ Commodore + Retroinformática

Sobre el Commodore MAX Machine

El Commodore MAX Machine se presentó en Japón en 1982 como respuesta al empuje en aquel país de las consolas de videojuegos y ordenadores domésticos de bajo coste. Prácticamente no tuvo recorrido al tener que competir con un VIC-20 totalmente implantado en los mercados y el rotundo éxito del C64, llegando a cancelarse sus versiones para Norteamérica, Ultimate, y Alemania, VC-10.

Compartía la misma arquitectura que su hermano C64, salvo que solo llevaba 2 KB de RAM, no incluía chips CIA para control de E/S y dependía de cartuchos, pues no incluía ROM alguna en su placa base.

Entorno e instalación del emulador

Emulador

Vamos a basarnos en el emulador Tiny C64, que ya utilizamos en otro artículo, cuyo código fuente adaptaremos para este ordenador según estos criterios:

  • MAX no tiene ROM interna, por lo que depende 100% de cartuchos para arrancar.
  • Mapa de memoria:
    • $0000-$07FF: RAM (2KB) – Única memoria de trabajo
    • $0800-$7FFF: Bus abierto (no mapeado)
    • $8000-$9FFF: Cartucho ROM (opcional, 8KB)
    • $A000-$DFFF: Bus abierto (no mapeado)
    • $E000-$FFFF: Cartucho ROM (OBLIGATORIO, 8KB)

Por cuestiones de simplificación, se integran en el código varios cartuchos de ejemplo.

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa Lilygo TTgo VGA32 v1.4.
  • Monitor con entrada VGA.
  • Teclado con conector PS/2 o, en su defecto, convertidor USB a teclado PS/2.

Instalación

Vamos a descargar el código fuente del emulador desde GitHub en nuestro directorio de trabajo:

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

Si no hemos instalado aún PlatformIO, procederemos a ello:

$ paru -Ss platformio platformio-udev-rules

Entramos al directorio donde acabamos de descargar los fuentes del emulador del Commodore MAX Machine.

$ cd ESP32TinyCMAX

Conectamos la placa VGA32 al PC, sin microSD, y procedemos a generar y subir los binarios.

$ pio run --target upload

Emulación

Una vez realizada la subida, desconectamos la TTgo del PC y la conectamos a un monitor y teclado.

Una vez encendida la alimentación, vía microUSB, veremos el proceso de arranque de nuestro «Commodore MAX» con el cartucho MiniBASIC conectado por defecto.

Este BASIC es plenamente funcional y permite escribir nuestro código sin problemas.

Si pulsamos [Ctrl][F2] podremos acceder al cartucho MaxBASIC, que incluía todos los comandos de la versión 2 de CBM BASIC y acceso a cinta de casete.

Por supuesto, también podremos escribir nuestro código en BASIC.

Con [Ctrl][F3] hasta [Ctrl][F6] podremos acceder a cartuchos de juegos. El primero sería Omega Race.

El siguiente, Wizard of Wor.

También estaría Radar Rat Race.

Que, como podemos ver, no parece demasiado atractivo.

Y, por último, Clowns.

Se observa que los cartuchos de juegos no son muy fluidos, debido posiblemente a la ausencia de joystick o a algún elemento no considerado en la emulación.

#1982 #Commodore #LilygoTTgoVGA32 #MOS6510 #OrdenadoresDomésticos

Benoit Hutin - Occitania (1982) [space òc album]

https://video.liberta.vip/w/rnNS6vHpvGxpCQ44xTCNZ8

Benoit Hutin - Occitania (1982) [space òc album]

PeerTube
Sydney Pollack – „Tootsie“ (1982)

Ein Film, als Witz verkleidet und dabei doch eine ziemlich präzise Diagnose. Dieses über 40 Jahre alte Stück Kino wirkt wie eine klassische Travestiekomödie, entpuppt sich dann aber als bissige, erstaunlich ungeduldige Analyse von Geschlechterrollen, Macht und der systemischen Abwertung von Frauen im Entertainmentbetrieb. Und mittendrin Dustin Hoffman, der sich nicht einfach verkleidet, sondern eine männliche Komfortzone frontal zerlegt hat. Mit Jessica Lange, Teri Garr, Bill Murray und Geena Davis. (3Sat, Wh.)

Zum Blog: https://nexxtpress.de/mediathekperlen/sydney-pollack-tootsie-1982/

Emulador de Franklin ACE 100 con Lilygo TTgo VGA32

Nos encontramos ante un clónico de Apple II que pasó a la historia por un litigio entre ambas marcas.

En este artículo vamos a emular un Franklin ACE 100 sobre un módulo TTgo VGA32 de Lilygo.

+ Franklin + Retroinformática

Sobre Franklin ACE 100

La popularidad del Apple II animó a Franklin Computer a desarrollar un clon. El asunto es que, al parecer, realizaron una copia casi componente a componente. Tanto el ACE 100 como el ACE 1000, su sucesor, mejoraron los acabados de los originales de Apple y amenazaban su cuota de mercado, por lo que finalmente Apple denunció a Franklin por plagio.

A nivel de hardware, el ACE 100 se basaba en el procesador MOS 6502 a 1 MHz con 48 KB de RAM. El resto de su arquitectura estaba basada en lógica TTL discreta.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • Placa Lilygo TTgo VGA32 v1.4.
  • Monitor con entrada VGA.
  • Teclado con conector PS/2 o, en su defecto, convertidor USB a teclado PS/2.

Emulador

Disponemos de la actualización que realizamos del emulador AppleII no ESP32 de Francisco JA Souza que subimos a nuestro GitHub.

Los cambios realizados para que emula el ACE 100 implican a los archivos:

  • memory.ino:
    • El array ROM[] es reemplazado por el contenido del archivo ace100.rom, correspondiente a ACE 100.
  • font.h:
    • El array AppleFont[] es reemplazado por el contenido del archivo ace100.chr.
  • EspFranklinACE100.ino:
    • Se renombra el archivo para referenciar correctamente a la máquina a la que emula.
    • Se cambia la resolución por defecto a 640×480 y se escala para mejor visualización.
  • video.ino:
    • Corrección de bit de error de pintado de caracteres.
  • disk*.h:
    • Se eliminan. Solo se mantiene diskDos33.h, el sistema operativo que solía utilizar esta máquina.

Para la conversión de los archivos binarios de ROM y juego de caracteres usamos estos scripts de Python.

data = open("ace100.rom", "rb").read() rows = [] for i in range(0, len(data), 16): chunk = data[i:i+16] rows.append(" " + ", ".join(f"0x{b:02X}" for b in chunk)) new_array = ( "const unsigned char ROM[] PROGMEM = { //$D000 - FFFF -- Franklin ACE 100\n" + ",\n".join(rows) + "\n};" ) print(new_array) data = open("ace100.chr", "rb").read() rows = [] for i in range(0, len(data), 8): chunk = data[i:i+8] rows.append(" " + ", ".join(f"0x{b:02X}" for b in chunk)) new_array = ( "const unsigned char AppleFont[2048] PROGMEM =\n{\n" + ",\n".join(rows) + "\n};" ) print(new_array)

Instalación

Se puede descargar de GitHub para luego compilar y subir a la placa TTgo con Arduino CLI utilizando podman.

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

Construimos los binarios y los subimos a la placa.

$ podman run --rm -v ~/Devel:/sketches:Z arduino-cli-fabgl:1.0.9 arduino-cli compile --fqbn esp32:esp32:esp32 --libraries /arduino/libraries --export-binaries /sketches/EspAppleII $ podman run --rm -it --device=/dev/ttyACM0 -v ~/Devel:/sketches:Z arduino-cli-fabgl:1.0.9 arduino-cli upload --fqbn esp32:esp32:esp32 --port /dev/ttyACM0 --input-file /sketches/EspFlanklinACE100/build/esp32.esp32.esp32/EspFranklinACE100.ino.bin

Emulación

Una vez realizada la subida, desconectamos la TTgo del PC y la conectamos a un monitor y teclado.

Nos aparecerá una pantalla inicial con el indicativo de ACE 100 mientras se carga el sistema.

Se nos presentará el clásico prompt del BASIC de Apple, pues es el incluido en esta versión de sistema operativo.

Finalmente, podremos probar este lenguaje.

#1982 #Franklin #LilygoTTgoVGA32 #MOS6502 #OrdenadoresDomésticos

Emulador de Coleco ColecoVision con M5Stack Cardputer

En este artículo vamos a emular una de las consolas más icónicas, la ColecoVision, sobre un Cardputer de M5Stack.

+ Coleco + Videoconsolas

Sobre la Coleco ColecoVision

La ColecoVision es una consola lanzada en 1982 tuvo mucha popularidad en su época.

Su arquitectura hardware se basaba en un Zilog Z80A a 3,58 MHz, 1 KB de RAM, 16 KB de VRAM, un procesador de vídeo Texas Instruments TMS9918A y otro de sonido SN76489A.

Entorno e instalación del emulador

Elementos

Vamos a necesitar el siguiente elemento:

  • M5Stack Cardputer
  • Tarjeta microSD con formato FAT32

Instalación

Vamos a utilizar el software de M5Stack M5Burner. Una vez arrancada la aplicación, conectaremos el Cardputer al PC vía USB y seleccionaremos este dispositivo en el menú de la izquierda.

Buscaremos la aplicación Game Station Emulators en el catálogo para este dispositivo.

Para descargar la aplicación, pulsaremos el botón de [Download] y, una vez finalizada la descarga, en [Burn].

Emulación

Una vez realizados los pasos anteriores, desconectamos la Cardputer del PC, le introducimos una microSD con las ROM para este modelo de consola y la encendemos. Aparecerá una pantalla que indica la versión del emulador.

Tras unos segundos de espera, nos aparece el listado de ROM compatibles.

Tras pulsar una tecla, podemos seleccionar el juego deseado que, para este modelo de consola, tendrá la extensión .COL. Nótese que normalmente los archivos para ColecoVision se distribuyen con la extensión .BIN, basta con renombrar.

Pulsamos [Enter] y comienza la carga de la ROM.

Una vez cargada la ROM del juego, nos aparece un recordatorio de las teclas asociadas a este.

Pulsamos cualquier tecla y el juego se inicia, mostrando la presentación.

Una vez cargado, nos pedirá seleccionar el nivel de la partida.

Por fin podremos jugar.

Y simplemente nos queda recordar viejos tiempos.

#1982 #Cardputer #Coleco #TISN76489A #TITMS9918A #Videoconsolas #ZilogZ80A

Emulador de arcade Q*bert con HamGeek MiSTer

En este artículo vamos a emular el histórico arcade Q*bert sobre un sistema MiSTer de HamGeek.

Sobre Q*bert

En 1982, Gottlieb lanza un original juego de plataformas sobre una pirámide de cubos de gran jugabilidad. Debido a su éxito, migraría a múltiples plataformas.

Su arquitectura se basa en un procesador principal 8088 de Intel a 5 MHz combinado con un MOS 6502 a 0,89 MHz para gestión de sonido y un GI SP0250 para síntesis de voz. Asimismo, incluía 2 KB de RAM.

Entorno e instalación del emulador

Elementos

Vamos a necesitar los siguientes elementos:

  • HamGeek MiSTer.
  • Monitor con entrada HDMI.
  • Teclado USB.

Instalación

Por defecto, este arcade no está disponible por defecto en la microSD de MiSTer. Si seleccionamos Q’bert del menú de Arcades, veremos un error de falta de archivo.

En particular, lo que nos pide es la ROM correspondiente, que tendremos que conseguir en alguna web especializada.

Una vez descargada, en este caso qbert.zip, bastará con copiarla vía FTP al directorio /media/fat/games/mame de MiSTer.

Emulación

Una vez realizados los pasos anteriores, podemos arrancar nuestro arcade. El emulador comenzará con la pantalla de presentación del juego.

Seguidamente, aparecerán las instrucciones del juego.

Y simplemente nos queda «depositar» la moneda y recordar viejos tiempos.

#1982 #Gottlieb #HamGeekMiSTer #Intel8088 #MOS6502
1982 Boston Arson

PeerTube
Gandhi (trailer)

PeerTube