Regenerator 2000 v0.9.14 released.
Getting closer to v1.0.0.

In particular, I like the new MCP Server + SKILL improvements.
"Analyze this program" analyzes the entire game. So far the results are pretty good.

https://github.com/ricardoquesada/regenerator2000/releases/tag/v0.9.14

Do you have a game/program that you want to be analyzed ? LMK. Happy to try to new MCP server+skills on it.

#disassembly #c64 #retrocomputing #mcp #mos6502

xtc, a new (cross) compiled c-like language for #Atari8bit computers, built around bank-switched memory and a 6502-aware optimiser http://atari-xt.com/ #atari #retroprogramming #mos6502

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.

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

@wyatt At least it isn't a Commodore 64, Atari 800, Apple II, or NES, where disabling TSX instructions will make a lot of software not work.

#6502asm #mos6502

Well, this might take a while...
#sorbus6502 #mos6502 #retrocomputing

Pour Le Monster6502, Censais Sortir En 2023, Et Il La Pas Tenu Sa Promèsse !

#monster6502 #mos6502 #retro #coupdegueule

Cross-compiler/assembler: Calypsi 5.16 for Windows, Linux and Mac OS

Calypsi is a collection of compilers and assemblers for Windows, Linux and Mac OS, that generatescode for various retro computers. New in version 5.16:

https://www.amiga-news.de/en/news/AN-2026-04-00071-EN.html

#compiler #assembler #Windows #Linux #macOS #calypsi #opensource #MOS6502 #WDC65816 #Motorola68000 #HPNut

amiga-news.de - Cross-compiler/assembler: Calypsi 5.16 for Windows, Linux and Mac OS

Enjoying my day off ... #PAL2 #mos6502 #via #fischertechnik
The computer that outcomputers them all!
#retrocomputing #mos6502