WinTVC - Videoton TV Computer emulátor © 2004-2014, 2017-2021 Grósz Attila (gyros KUKAC freemail PONT hu) Mi a WinTVC? ============ Emulátor, olyan program, ami egy adott hardver (jelen esetben számítógép) működését imitálja egy másik típusú hardveren. Ebben a konkrét esetben egy 8-bites magyar mikroszámítógépet emulálunk PC hardveren futó Windows operációs rendszeren, ami pillanatnyilag 32 vagy 64-bites. A TVC volt az utolsó magyar mikroszámítógép, melyet az Enterprise-t kifejlesztő angol gép licensze alapján a jobb időket is megélt Videoton gyártott. A gép processzora az igen népszerű Zilog 80. Ezen és a CRTC chip-en kívül a gép semmilyen cél-IC-t nem tartalmazott, a főbb vezérlési feladatokat TTL-ekkel oldották meg. További információkért, programokért és az emulátor új verzióiért érdemes meglátogatni a http://tvc.homeserver.hu vagy a http://gaia.atilia.eu weboldalakat. A WinTVC emulátor képességei ============================== - teljes, ciklusra pontos Z80 emuláció - közel teljes, ciklus alapú CRTC 6845 video IC emuláció - első és második sorozatú, 32kb, 64kb és 64kb+ típusok támogatása - hang és kurzor megszakítás emulációja - az 1 csatornás hang áramkör emulációja - a teljes billentyűzet, a beépített joystick és a RESET gomb emulációja - a lemezes CAS formátum közvetlen és FILE I/O ROM-on keresztüli beolvasása/mentése - WAV és TTP kazetta formátumok írása/olvasása - teljes lemezegység és WD1793 diszk kontroller emuláció, DSK image írás/olvasás - egyszerű PAL TV emuláció - egyszerű printer támogatás Az emulátor képes kezelni az UPM (speciális CP/M) rendszert az eredeti interface kártya ROM és a megfelelő kártyacsatlakozó ROM mentésének illesztése után. Ugyanez igaz az MS-DOS 3 kompatibilis VT-DOS-ra is. A WinTVC emulátor hiányosságai =============================== - utasítás alapú, de ciklusra pontos emuláció - clock stretching nincs teljesen pontosan implementálva - WD1793 diszk kontroller emulációja nem ciklusra pontos A program használata ==================== Futtatás -------- A futtatáshoz Windows operációs rendszer (legalább Windows 95) kell. Installálás nem szükséges, indításhoz klikk az EXE-re. A menük remélhetőleg magukért beszélnek. Parancssori opciók ------------------ Általános alak: WinTVC.EXE [/c filenév] [/d filenév] [/a] [/c] [/f] [/h] [/i filenév] [/m] [/w] [/x] Jelenleg a következő opciók vannak támogatva: /a : kiad egy LOAD"filenév" parancsot, amit lemezen lévő fájlok automatikus betöltésére használhatunk. Ha nem adunk meg filenevet akkor a load"*" hajtódik végre ami betölti az első fájlt amit megtalál /c : cartridge betöltése indításkor /d : diszk csatolása indításkor (A:) /f : fekete fehér kép /h : hang tiltása indításkor (probléma esetén javasolt) /i : I/O kártya csatolása indításkor /m : típus állítása (/m32 /m64 /m64+ /m64c) /w : emulátor futtatása a maximális sebességgel /x : DirectX tiltása (probléma esetén javasolt) Monitor ------- A programban egy egyszerű beépített monitor es disassembler is található. Ennek előhívása az ESC[-APE] gomb lenyomásával történik. Második leütésére a program visszatér az emulált gép képernyőjéhez. További monitorkezelő gombok: F1 : Disassembly lista az IP aktuális értékétől kezdve. A kép tetején a fontosabb regiszterek tartalma látható. F2 : Az emulált gép memóriatartalom térképe ENTER : Egy assembly utasítás léptetése. PAGE UP : Oldal lapozása visszafelé PAGE DOWN : Oldal lapozása előrefelé FEL-NYÍL : Egy sor lapozása visszafelé LE-NYÍL : Egy sor lapozása előrefelé Billentyűzet ------------ Kétféle billentyűkiosztás választható, az egyik a pozícionális, amelyik a TVC billentyűinek pozícióit képezi le a PC billentyűzetére, a másik a szimbolikus, amelyik a magyar PC-s billentyűzet-kiosztást követi, és az azoknak megfelelő TVC-s billenyűleütéseket szimulálja. Előbbi akkor hasznos, ha játékoknál fontos a helyes elrendezés, utóbbi pedig akkor, ha programozunk, vagy fontos a kívánt szimbólumok gyors megtalálása. Fontos kivételek a szimbolikus kiosztásnál: - az í és Í betűk rendre az AltGr+i illetve az AltGr+j -vel érhetők el - a 102 gombos keyboard-okon a '<' jel az AltGr+m -re mappelődik - az ESC billentyű az END gombon kapott helyet - az ALT billentyű a HOME gombon kapott helyet - a PC-s Backspace ekvivalens a TVC-s SHIFT + DEL-lel A TVC-s joystick(ok) emulációja a PC billentyűzeten keresztül történik. Beépített botkormány: kurzor nyilak, tűz: NumPad0 Második botkormány: numerikus billentyűzet, tűz: NumPad+ Lemez ----- A legrugalmasabb és leggyorsabb periféria. A többrészes programok legkényelmesebb betöltését teszi lehetővé. A helyes emulációhoz szükség van a HBF EPROM I/O interface kártya mentésére, illetve természetesen egy diszk állományra. Ezeket csatolni kell az emulátorhoz, mielőtt nekilátnánk a munkának. A DISK I/O kártya (HBF) illesztése a /i parancssori opcióval, vagy a menün keresztül történhet. Ha az emulátor könyvtárába másoljuk az I/O kártya EPROM mentését HBF.ROM néven, úgy az automatikusan csatolódik induláskor. A jelenleg támogatott két lemez image formátum a 360 ill. 720 kb-os DSK (1 ill. 2 oldalas, dupla írássűrűségű, 80 sávval és sávonként 9, egyenként 512 byte-os szektorral) ami VT-DOS esetén gyakorlatilag azonos az MSX és MS-DOS által is használt image formátummal, így az ezekhez készült image kezelő programok (WinImage, DiskMgr, Virtual Floppy stb.) minden további nélkül használhatóak az emulátorhoz is. Az EXT 2 parancs begépelésével belépünk a BASIC CLI-be, ahol a jórészt MS-DOS alól is ismert parancsokat adhatjuk ki (pl. FORMAT, DIR stb). BASIC-be visszalépni innen az ESC-kel lehet (ami az End billentyűre van állítva PC-n). Magnó ----- A kazettás megnetofon a TVC-hez kapcsolható legelterjedtebb és ezért legfontosabb periféria. A hozzá tartozó PC-s formátumok egyike a WAV (tömörítetlen PCM). Először a menün keresztül létrehozzuk a kívánt WAV állományt. A SAVE parancs kiadása után elkezdődik a mentés. Ez eltarthat egy darabig. A folyamat felgyorsítható ha az emulátort az ALT+W billentyűkkel teljes sebességre kapcsoljuk. Ha újra megjelenik az 'Ok' üzenet, a mentés befejeződött. Zárjuk le a WAV file-t a menün keresztül (ez nagyon fontos!). Ezzel a módszerrel tetszőleges betöltővel rendelkező állományokat is elmenthetünk és azokat aztán egyszerűen transzferálhatjuk az igazi TVC-re. A másik kazettás formátum a TTP, ami az 1.0 emulátor verziótól kezdve létezik. Írása és olvasása is támogatott. A WAV-val ellentétben byte szinten tárolja a szinkronjelek nélküli, kazettára mentett adatokat. ROM csapdákon keresztül az operációs rendszer hívásaiba ágyazza be magát, ezért csak a standard ROM-okkal működik. A TTP-ket vagy a WAV-okhoz hasonlóan csatoljuk az emulátorhoz explicite, vagy a TTP automount opció bekapcsolásával az aktuális könyvtárban található TTP-ket értelmezzük szalagfolyamként. Ilyenkor a visszacsévélés funkció is a filemutatót az első TTP-re állítja vissza. Az emulátor támogatja a magnó motorjának 05h-s porton keresztüli és direkt menün keresztüli vezérlését is (PLAY/RECORD gomb). Médiafelvétel ------------- Az emulátor kép és hangkimenete médiaformátumba irányítható. A hangállományok tömörítetlen 16-bites WAV (PCM) formátumban menthetők el a File menü megfelelő pontjában. Videofelvételek készítése AVI formátumba lehetséges. A gépre telepített video codec-ek közül azok jöhetnek szóba, amik vagy a 8-bites (GDI, DirectDraw) képernyőmódot támogatják (Tömörítetlen, RLE, stb.). A 32-bites képmód (Direct3D) kódolására javasolt külső codec-ek (32 vagy 64-bit) verziója meg kell egyezzen az emulátor EXE verziójával: https://sourceforge.net/projects/x264vfw/files/ https://www.xvid.com/download/ Köszönetnyilvánítások ===================== * Kiss Károly: tesztelés, honlap, nyaggatás ;-) * Gugi Zoltán: ötletek, tesztelés, nyaggatás ;-) * László József: tárhely * Majzik István: tippek, tesztelés * Varga Viktor: honlap * TVC lista és FB csoport tagjai Verziók ======= v1.2.0 ------- - OpenGL videomód + PAL TV shader - hardveresen gyorsított billentyűkezelés (DirectInput) - CRTC emuláció javítása (interrupt, számlálók) - TV szinkronjelek finomítása - video RAM lapozási hiba javítása - pontosabb szinkronizáció és sebességmérés - teljes képernyős mód javítása - FF kapcsoló javítása GDI módban - AVI video mentés javítása - GIF képmentés javítása - parancssori opciók hibájának javítása - egyéb hibajavítások v1.1.1 ------- - saját ROM konfigurációk támogatása - RCA kábel emuláció - FILEIO.ROM támogatás - nem CAS formátumú file-ok támogatása FILEIO-n keresztül - video bank regiszter reset fix - DPI awareness fix Windows 10-hez - ablakmaximalizálás javítása - nemstandard HBLANK hossz támogatása - hang interrupt javítása - device context memória leak javítása v1.1.0 ------- - pixel alapú CRTC 6845 emuláció hiányzó funkcióinak pótlása - FILE I/O MOPS ROM támogatás CAS file-ok közvetlen beolvasásához - WaveMapper helyett DirectSound hang driver - emulátorablak mentése BMP formátumban - AVI és WAV mentés javítása - soralapú emuláció kivezetése - dinamikusan linkelt DDRAW.DLL v1.0.7 ------- - Direct3D driver - D3D surface mentése PNG formátumban - teljes képernyős mód (Alt+ENTER) - CRT emuláció (részleges) - CRT paraméterek realtime beállítása (fényerő, kontraszt etc.) - szövegbeszúrás vágólapról (Alt+V) - ékezetes betűk javítása nyomtatásnál - változtatható alapértelmezett TTP könyvtár - újabb TTP fixek (megy 2.2 alatt) - C: és D: meghajtók állapotmentése javítva v1.0.6 ------- - további javítások a hangminőségben - magnóhangok - több státuszablak üzenet v1.0.5 ------- - pixel alapú rasztermód kiterjesztése a teljes képernyőre - video mentése AVI állományba - hangfelvétel rögzítése WAV (16 bit PCM) állományba - opcionális jobb hangminőség (teljesítmény rovására) - hibajavítások (monitor, I/O, GUI) v1.0.4 ------- - újkeletű időzítési hiba javítása néhány XP alapú rendszeren - TTP formátum kezelésével kapcsolatos hiba javítása v1.0.3 ------- - négy lemezmeghajtó támogatása - választható pixelre pontos raszter üzemmód - CRTC interlace (csak DirectX és Double Scan bekapcsolása nélkül) v1.0.2 ------- - VT DOS támogatás - 2-es megszakítási mód (im 2) implementációs hiba javítása v1.0.1 ------- - WD1793 diszk kontroller kompatibilitás javítása (UPM lemezkezelő programok működnek) - állítható színtelítettség - javított párhuzamos printer emuláció - egyéb hibajavítások v1.0 ----- - TTP; natív byte alapú kazettás formátum írása/olvasása - 1-bites tape file-ok támogatása, konverter (WAV kiterjesztéssel) - PC joystick támogatása - BASIC 2.1 opció - 32 kB RAM emulációja - autostart - drag'n'drop (Ctrl-t nyomva nincs autostart) - 1-2-3x-os fix ablakméretek - az emulátor opcionálisan háttérben is aktív lehet - PLAY gomb és motor távvezérlés a magnóhoz - Visual C++ 2008-cal és profilerrel fordítva - XP/Vista theme támogatás - hibajavítások (video, magnókezelés, irq) v0.9 ----- - alsó és felső keret megjelenítése - képernyőablak megnövelésének támogatása - magnófejállítási lehetőség - screenshot készítés - hibajavítások v0.8 ----- - Cirill betűs TVC emulációja (Cirill betuk: CAPS LOCK) - gyors boot opció - billentyűzet-leütés szimuláció parancssorból - emulátor snapshot támogatás - hibajavítások (Nautilus, Poseidon, Space Invaders) v0.7 ----- - teljes lemezegység és WD1793 diszk kontroller emuláció - új parancssori opciók (/C, /D, /I) - memóriatartalom mentése közvetlenül CAS állományba - választható szimbolikus billentyűzet-kiosztás - állapotsor, magnó-számláló és drive ledek - ROM korrupciós hiba javítása - egyéb hibajavítások v0.6 ----- - parancssori opciók - javított CRTC emuláció - javított paletta - kezdetleges I/O kártya emuláció - hibajavítások v0.5 ---- - az első nyilvános verzió