MiST HT1080Z

A HT1080 valójában az EACA System-80 vagy EACA Genie / TRS-80M gépek licencelt változata volt, először 16K, majd 48K RAM memóriával. Az eredeti System-80 rendszerhez képest kevés újdonságot tartalmazott, a HT mérnökei csupán egy AY-3-8910-es hangchip-et tettek hozzá az eredeti design-hoz. A gép 12K ROM-ja tartalmazta a Basic Interpreter-t. Központi egysége Z80 volt, videokimenete pedig egy egyszerű monochrom karakteres megjelenítő. A Z80 nem rohant a vakvilágba, órajele csupán 1.65MHz volt.

A képernyőn 64x16 karaktert lehetett megjeleníteni (vagy 32x16-ot), egy karaktercella 6x12 pixelt tartalmazott. Grafikus karakterekkel a gép képes volt szimulált grafikus kép megjelenítésére, de ez meglehetősen kis felbotást tudott csak, egészen pontosan 128x48 pixelt. Valójában a pixelek egyhatod karaktercellát elfoglaló négyzetek voltak. Valójában tehát a gép 384x192 pixelt rajzolt a képre, de mivel a karaktereket nem lehetett felüldefiniálni, a grafikus megjelenítésnél a "kvázi grafikus" mód volt az egyetlen járható út. Érdekes módon azért így is egészen ügyes játékok születtek a gépre, bár tény, hogy kortársaihoz képest is elég szegényes volt a megjelenítője.

A MiST implementációnál az volt a legnagyobb kihívás, hogy nem ismertem a hardvert. Szerencsére ebben kaptam segítséget, és megfelelő dokumentumokat, így a kezdeti nehézségek után elég hamar letisztult, hogy mi is a feladat. A Z80 alaprendszer összeállítása nem okozott gondot, a karakteres megjelenítő implementálása volt az igazi feladat ebben a projektben. Köszönhetően a személyes segítségnek (Kollár Zoltán) és a dokumentációknak, ez azért összeállt, innen már a működő rendszert összerakni nem volt túl nehéz.

A kijelző modul két memóriaterületet használ, mindkettőt az Fpga belső dual-port ramjai szolgáltatják: az egyik a 4K-s karakter bittérkép terület, a másik pedig az 1K méretű képterület. A dual-port techonlógiának köszönhetően a megjelenítő folyamatosan tudja olvasni a videomemóriát anélkül, hogy a CPU-nak meg kellene állnia emiatt. A rendszer többi memóriáját a MiST SDRAM szolgáltatja. A HT ROM induláskor betöltődik az SDRAM-ba, ahol aztán a Z80 már nem tudja írni.

A mag (a Primo megoldáshoz hasolóan) kétféle videokimenetet támogat: RGB és composite Sync, amely a TV készülék Euro Scart bemenetére köthető, illetve a szabványos VGA üzemmódot. A VGA üzemmód nem a ScanDoubler modullal van megoldva, a mag más pixelfrekvenciát és más rasztersor számot generál, amikor VGA módban működik. Ebből következik, hogy VGA módban a kép csak 524 (dupla sorokkal számolva 262) rasztersorból áll, ilyenkor a felső és az alsó keretterület (border) kicsit keskenyebb, mint a PAL üzemmód esetében. Mivel a HT nem generál megszakítást, és nincs semmiféle módszere a képváltáshoz szinkronizáláshoz, a gép igazából észre sem veszi, hogy PAL RGB, avagy VGA módban van-e.

A programok (játékok) betöltésére a MiST standard módszert hasznélom, azaz az OSD menüben lehet fájlokat kiválasztani és betölteni. Az OSD menü az F12 gombbal nyitható meg. A mag támogatja a .CAS (casette) formátumú fájlok betöltését, ezeket Basic-ben a CLOAD paranccsal lehet betölteni, míg a SYSTEM-be belépve a program nevét kell beírni, így tölti be a CAS-t a rendszer. A CAS betöltése előtt az OSD-ben persze a megfelelő fájlt ki kell választani. Valójában az történik, hogy a mag már az OSD-n történő kiválasztáskor betölti a fájlt az SDRAM felső részére (amit a HT nem használ), a CLOAD pedig csak innen átmásolja a bájtokat. Ehhez persze pár apró patch kellett a ROM megfelelő pontjain.

Az OSD menüben lehetőség van a programok (CAS fájlok) betöltésére, RESET jel kiadására, illetve VGA módban a Scanlines effekt ki- és bekapcsolására. Ez az opció az RGB Scart kimenetnél természetesen hatástalan. A keret, a háttér és az előtér színe beállítható az F5, F6, F7 gombok segítségével (és OUT utasítással is).

Extra regiszterek (OUT portok):
$00
bit 3..0 : Color Register Ink

$01
bit 3..0 : Color Register Paper

$02
bit 3..0 : Color Register Border

Képek:
Egyes képek jobb szélén látszik a fejlesztéshez használt PC/Windows 7 monitorjának képe is :)


A karaktergenerátor első tesztje, 64 oszlopos mód (kék keretszínnel, hogy jól látható legyen)


A karaktergenerátor 32 oszlopos módban


A HZ boot képernyője és a MiST OSD


Basic teszt futtatásának eredménye és a programlista (még csak a 16K RAM verzió).


Az eredeti HT Demoprogram futtatása (a megfelelő .CAS betöltése után) A színek az F5,F6 és F7 gombokkal állíthatók


A "híres" Galaxy játék indítóképernyője


A Galaxy játék közben


Az Invázió játék képernyője (francia nyelven)


Downloads:
HT1080Z.RBF
HT1080Z.ROM

Köszönet:
Linkek és referenciák:

[Home | FPGA fejlesztés]