MiST HT1080Z |
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:
- Kollár Zoltánnak, aki segített a HT megismerésében, ellátott dokumentációkkal és türelmesen válaszolt minden idegesítő kérdésemre
- Orvos Gábornak, aki folyamatosan "noszogatott", hogy a MiST-re is fejlesszek
Linkek és referenciák:
[Home | FPGA fejlesztés]