2021.12.03.

8bit.hu

8 bit hírszerzők portálja

Újabb spanyol firmware-klón ESP32 alapokon

A C64, CPC és Gameboy mellett a ZX Spectrumot is megvalósította Jaime Jose Gavin Sierra (aka jamie_jj, ackerman vagy rpsubc8) Spanyolországból a Lilygo TTGO VGA32 V1.2 mikrokontrolleren.

A rádióamatőrködéssel is foglalkozó, Gijónban lakó szerző munkája és hobbija a kódoptimalizálás. Ennek köszönhetően egyik 8 bites firmware-klónja sem használja a PSRAM-ot, mely az ESP32 platform opcionális 4/8 megabájtos extended memóriája, beérik az alap 520K-val is. Ugyanis a végső emulátor-firmware összeállítása előtt teszteli a különböző rutinok (pl. videó, audió) memóriahasználatát, sebességét és áramfogyasztását.
A Tiny ZX-ESPectrum on Lilygo TTGO VGA32 v1.2 microcontroller firmware-klón 2020 novemberében mutatkozott be, és David Crespo Wiimote kompatibilis firmware-emulátorán alapul (https://8bit.hu/2021/07/21/wii-kontroller-spectrum-jatekokhoz/), mely eredetileg Ramon Martinez kódjainak felhasználásával készült el (https://8bit.hu/2021/05/27/zx-espectrum-spanyol-firmware-klon/).
Röviden az emulálást végző hardverről. A Lilygo TTGO VGA32 v1.2 (másnéven: Lilygo-H312) központi egysége egy TTGO Micro-32 system-on-chip modul. Ez egy kétmagos, 32 bites Tensilica Xtensa LX6 processzort foglal magában, mely maximum 240MHz-en futhat, ezzel nagyjából egy 280MHz-en ketyegő Pentium II-es sebességét biztosítva. A már említett 520K SRAM-on felül 4 megabyte FlashROM-ot tartalmaz. Wi-fi, Bluetooth egységgel és számtalan más beépített hardverrel is rendelkezik. A ESP32-WROOM-32 modul miniatürizált verziója. Ez a chip van integrálva egy PS/2 billentyűzet és egér, VGA, headset és power csatlakozóval ellátott lapkára.
Visszatérve a firmware-hez. A kód erőteljes optimalizálásának ’áldozata’ lett a Wiimote, az SPIFFS (ESP32 natív fájlrendszere) és a microSD támogatás megszűnése. Egyszerűsödtek továbbá az OSD és videó rutinok is. Az emulált hardvereket illetően elsőre megjelent az AY8912 és Kempston Mouse; a Wifi-modul is működött a Arduino IDE és Platform IO kompatibilis firmware-ben. Míg az alapul szolgáló, Martinez és Crespo-féle firmware igényelte a 4 megabájt PSRAM-ot a 128K-s Spectrumok emulálása esetében – itt ez már nem szükséges, ahogy a cikk elején már említésre került.
A firmware-klón a 360×200, 320×240 és 320×200 felbontásokat támogatja a 8 (bright szignál nélküli) és 16 színű üzemmódokban.
A 48 és 128K-s .SNA, és TAP, valamint .SCR fájlok hex dump-jának betöltésére van lehetőségünk a microSD hiánya miatt a FlashROM-ból.