WinTVC - Videoton TV Computer emulátor
(c) 2004-2009 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
- clock stretching nincs implementálva
- WD1793 diszk kontroller emulációja nem ciklusra pontos
- utasítás alapú, de ciklusra pontos emuláció
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]
- /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 és 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:
Köszönetnyilvánítások
- Kiss Károly: tesztelés, honlap, nyaggatás ;-)
- Gugi Zoltán: ötletek, tesztelés, nyaggatás ;-)
- Major Tamás: DevStudio támogatás, 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.4.1
- képernyőkép másolása a vágóasztalra
- kontext-menü
- CRTC finomítások
- apróbb finomítások néhány CPU időzítésen
- hangidőzítések finomítása
- I/O kártya csatolással kapcsolatos crash fix
- v1.4.0
- interaktív monitor (Alt+M)
- ékezetes karakterek támogatása a vágóasztalon
- SID hangchip támogatás külső DLL segítségével
- CRTC emuláció javítása
- v1.3.0
- mind a 4 csatolókártyahely támogatása
- TI SN76489 hang IC emuláció Multisound és Gamecard kártyán keresztül
- magnóhang javítása
- snapshot javítás (ID, 32 és 64 bit közti kompatibilitás)
- $FD prefix disassembly javítása
- v1.2.0
- OpenGL videomód + PAL TV shader
- hardveresen gyorsított billentyűkezelés (DirectInput)
- CRTC emuláció javítása
- 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
- 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
- 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
- hibajavítások
- v1.0.4
- 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
- v1.0.2
- VT DOS támogatás
- im 2 hiba javítása
- v1.0.1
- WD1793 kompatibilitás javítása
- állítható színtelítettség
- javított printer emuláció
- egyéb hibajavítások
- v1.0
- TTP; natív byte alapú kazettás formátum
- 1-bites tape file-ok támogatása
- PC joystick támogatása
- BASIC 2.1 opció
- 32 kB RAM emulációja
- autostart, drag'n'drop
- fix ablakméretek
- háttérben is aktív lehet
- PLAY gomb és motor távvezérlés
- Visual C++ 2008-cal fordítva
- XP/Vista theme támogatás
- hibajavítások
- v0.9
- alsó és felső keret megjelenítése
- képernyőablak megnövelése
- 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
- gyors boot opció
- billentyűzet-leütés szimuláció parancssorból
- snapshot támogatás
- hibajavítások
- v0.7
- teljes lemezegység és WD1793 emuláció
- új parancssori opciók
- memóriatartalom mentése CAS-ba
- szimbolikus billentyűzet-kiosztás
- állapotsor, magnó-számláló, 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ó
Letöltés
A WinTVC aktuális verziója:
WinTVC1.4.1 LETÖLTÉSERégebbi verziók:
- WinTVC1.4.0
- WinTVC1.3.0
- WinTVC1.2.0
- WinTVC1.1.1
- WinTVC1.1.0
- WinTVC1.0.5 (Win95, Win32 bit, win 64 bit)
- WinTVC1.0.4
- WinTVC1.0.3
- WinTVC1.0.2
- WinTVC_v1.01.zip
- WinTVC_v1.0.zip
- wintvc_v0.9.zip
- wintvc_v0.8.zip
- wintvc_v0.7.zip
- wintvc_v0.6.zip
- wintvc_v0.5.zip
Segédprogramok
360 Kb-os üres image fájl: Letöltés
720 Kb-os üres image fájl: Letöltés
DiskMGR program letöltés: Szerverről vagy Program írójától
HBF.ROM (ennélkül nem megy a floppy emuláció, csak be kell másolni az emu mellé)
vtdos12.rom <- VT-DOS futtatásához a "Cartridge betöltése" menüben kell betölteni, előtte a Lemez->Disk behelyezése menüben be kell rakni a DOS bootlemezt (vtdos12.dsk) is. A gép típusát 64K+ Basic 2.2-re kell állítani.
Teszt image fájl pár eddig nem futó játékkal: Letöltés
(Aki nem ért a floppy kezeléshez annak: Lemez menü-> Diszk behelyezése, majd keresse meg a teszt.img fájlt, utána írja be: LOAD"MENU" majd nyomjon enter-t)
A hibákat kérjük jelentsétek a levlistára, hogy mihamarabb javításra kerülhessenek. Próbáljátok meg reprodukálható lépéseket adni, hogy az Attila is elő tudja állítani a hibát.
http://gaia.atilia.eu