AZ EMULÁTORRÓL

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 a PC hardveren, ami pillanatnyilag 32-bites.

A TVC volt az utolsó magyar mikroszámítógép, melyet egy 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.

A WinTVC emulátor képességei
============================

- teljes, ciklusra pontos Z80 emuláció
- első és második sorozatú 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 beolvasása/mentése
- WAV kazetta formátum írása/olvasása
- teljes lemezegység és WD1793 diszk kontroller emuláció, DSK image írás/olvasás
- 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.

Sajnos ugyanez az (MS-DOS 3 kompatibilis) VT-DOS-ról csak részben mondható el.
Pillanatnyilag csak az interface kártya működik helyesen, a VT-DOS operációs rendszer
kártyája egy egyelore megmagyarázatlan interrupt hiba következtében nem használható.

A WinTVC emulátor hiányosságai
==============================

- CRTC emuláció nem teljes
- clock stretching nincs 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
- 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átum egyelőre 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 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).

Köszönetnyilvánítások
=====================

* Kiss Károly: tesztelés, honlap, nyaggatás ;-)
* László József: tárhely
* Majzik István: tippek, tesztelés
* Varga Viktor: honlap
* TVC lista tagjai

Verziók
=======

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 betus 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ó

(Grósz Attila)