HomeLab - HomeLab 2/3/4/5 emultor

(C) 2004, 2014-2016, 2022-2024 Grsz Attila (gyros KUKAC freemail PONT hu)


Mi ez?
======

Emultor, olyan program, ami egy adott hardver (jelen esetben
szmtgp) mkdst imitlja egy msik tpus hardveren.

Ebben a konkrt esetben egy 8-bites magyar mikroszmtgpet
emullunk a PC hardveren, ami pillanatnyilag 32, illetve 64-bites.


Mi a HomeLab?
=============

A HomeLab 8-bites magyar szmtgp volt, 1982 s 1986 kztt 
fejlesztettk a Lukcs fivrek, bizonyos vltozatait KIT-ekben
rultk (HL2/HL3), msok sorozatgyrtsra is kerltek (Aircomp/HL4).
Iskolai, tanulsi clokra szntk, de vgl klnbz okok miatt 
(pl. alkatrszhiny) nem tudott szlesebb krben elterjedni.

Processzora tbbnyire az egykori NDK-ban Z-80 processzor alapjn
licenszelt U880 volt. Rendszer ROM programja modulris felpts
teljesen sajtos, igen fejlett, sokoldal, opcionlisan begetett 
gpi kd monitorral s (dis)assemblerrel, a 4-es tpus pedig mr 
magyartott hibazenetekkel s karakterekkel.

A gp sok szempontbl egyedi megoldsokat tartalmazott. Tovbbi
informcikrt s az emultor j verziirt rdemes megltogatni 
a http://gaia.atilia.eu vagy a http://homelab.8bit.hu weboldalt.


A HomeLab emultor kpessgei
==============================

- teljes, ciklusra pontos Z80 emulci
- Aircomp-16 s HomeLab 2 tpusok kezdetleges tmogatsa (8/16/24 kb)
  - NMI megszakts emulcija
  - alfanumerikus md tmogatsa
  - hang emulci
- HomeLab 3 s 4 tpusok (4/6/8/16/32/64kb memriakiosztssal) tmogatsa
  - 64 s 32 karakteroszlopos mdok
  - ki- s bemeneti portok emulcija (RAM lapozs)
  - NMI megszakts (RESET) gomb emulcija
  - teljes hang emulci
- Brailab beszd emulci (MEA 8000 hang chip)
- a teljes billentyzet emulcija
- WAV formtum tmogatsa kazetta rs s olvassi mveletekre
- HTP formtum tmogatsa kazetta rs s olvassi mveletekre


A HomeLab emultor hinyossgai
===============================

- csak a 3/4 -es s a Brailab modellek vannak rendesen tmogatva
- PIO port nincs emullva


A program hasznlata
====================

Futtats
--------

Klikk az EXE-re. A menk remlhetleg magukrt beszlnek.
Installls nem szksges. A helyes kperny aspect ratio-hoz
DirectDraw stretching-et hasznl az emultor, ezrt ha ezt hasznlni
szeretnnk, akkor minimum DirectX 3.0 szksges.

A futtatshoz minimum Windows 95 vagy ksbbi szksges. A DirectX mdban 
val futtatshoz pedig ajnlott egy ersebb gp (>600 MHz) is. Ha ez 
ki van kapcsolva, akkor kb. 200 MHz-cel megelgszik az emultor.

Monitor
-------

A programban egy egyszer beptett monitor es disassembler is 
tallhat. Ennek elhvsa az ESC[-APE] gomb lenyomsval trtnik.
Msodik letsre a program visszatr az emullt gp kpernyjhez.
Tovbbi monitorkezel gombok:

F1        : Disassembly lista az IP aktulis rtktl kezdve.
            A kp tetejn a fontosabb regiszterek tartalma lthat.
F2        : Memriatrkp, az emullt gp
ENTER     : Egy assembly utasts lptetse.
PAGE UP   : Oldal lapozsa visszafel
PAGE DOWN : Oldal lapozsa elrefel
FEL-NYL  : Egy sor lapozsa visszafel
LE-NYL   : Egy sor lapozsa elrefel


Magn
-----

A kazetts megnetofon a HomeLab-hez kapcsolhat egyik legelterjedtebb
s ezrt legfontosabb perifria. A hozz tartoz PC-s
egyik formtum a WAV (tmrtetlen PCM).

Tlts: a 44,1 kHz-es WAV formtum llomnyt a menn keresztl vagy 
az ALT s a C egyttes lenyomsval csatoljuk az emultorhoz. Ezutn csak
ki kell adni a LOAD parancsot az emullt gpnek, s a tlts elindul.
Ha a betlttt program nem autostartos akkor ltalban a RUN parancs 
bersval indthat.

Elszr a menn keresztl ltrehozzuk a kvnt WAV llomnyt, majd 
"lenyomjuk" a virtulis Play/Record gombot (F5). A SAVE parancs kiadsa 
utn elkezddik a ments. Ez eltarthat egy darabig. A folyamat 
felgyorsthat ha az emultort az ALT+F3 billentykkel teljes sebessgre 
kapcsoljuk. Ha jra megjelenik az 'Ok' zenet, a ments befejezdtt. 
Kapcsoljuk ki a Play/Record gombot s zrjuk le a WAV file-t (ez nagyon fontos!).

Ezzel a mdszerrel tetszleges betltvel rendelkez llomnyokat is
elmenthetnk s azokat aztn egyszeren transzferlhatjuk az igazi 
HomeLab-re.

Msik kazetts formtum a HTP, ez alkalmasabb archivlsi clokra, illetve
mindennapi hasznlatra, mivel lnyegesen gyorsabb s megbzhatbb. Hasznlata
hasonlatos a WAV-hoz, annyi eltrssel, hogy a PLAY/RECORD gombot nem szksges
lenyomni, illetve a HTP-be mentst az emultor automatikusan detektlja,
hacsak nem lltottuk be korbban a menn keresztl, hogy ms formtumot
kvnunk hasznlni. 

A HTP formtum
==============

A HTP egy kimondottan a HomeLab-re szabott kazettallomny formtum.
Gyakorlatilag a HomeLab ltal byte-ra pontosan magnra rgztett adatokat 
tartalmazza a szinkronjelek nlkl, de a 256 bevezet 0 byte-tal s 
az A5h fejlcprompttal. Elvi szinten kompatibilis mind a rgi (Aircomp/HL2) 
mind az jabb (HL3/4) gpekkel.

Egy HTP file konkrt felptse a kvetkez:

Offset		Tartalom
0           csupa 0 bit
256	        A5h
257         'n' karakter hossz fejlc (llomnynv)
257+n+1	    fejlc zr 0 karakter.
257+n+2	    blokk betltsi cm (LO/HI byte)
257+n+4	    blokk hossza (LO/HI byte) : 'm'
257+n+5	    blokk adat ('m' darab byte)
257+n+m+6   checksum (az adatbyte-ok sszegnek als byte-ja)
257+n+m+7   blokk zr 0 byte

Ha a blokk zr byte nem nulla, akkor jabb blokk kvetkezik, de ennek mr
nincs fejlce.

Ksznetnyilvntsok
=====================

* Hrsfalvi Levente: ROM mentsek, hardware lersok, tippek, segtsg, tesztels
* Solti Imre: ROM mentsek, lersok, tippek, segtsg, tesztels
* Riba Zoltn: ROM mentsek, rgi trhely
* Kardos Balzs: rgi trhely

Verzik
=======

v1.4.1
------

- DirectInput s pufferelt keyboard input (Wine kompatibilits miatt) tmogats
- vlaszthat sebessg
- emultorkp a vglapra (Alt+X)
- file betlts parancssorbl
- 'h' parancs az interaktv monitorban
- multipart-os HTP file-ok tmogatsa direkt betltssel (HL2)
- HTP ROM csapdk tmogatsa  (HL2)
- opcionlis kezetes karakterkszlet (HL2)

v1.4
----

- interaktv monitor
- HomeLab 2 / Aircomp 16 emulci tovbbi javtsa (grafikus md, 32 kb)

v1.3.1
------

- HomeLab 2 / Aircomp 16 emulci javtsa (grafikus md, 8/24 kb, kazetta beolvassa)

v1.3
----

- Aircomp 16 emulci (16 kb)
- kparny tartsa opcionlisan
- teljes kpernys md javtsa
- kpernymemria a vglapra
- szvegbeszrs vglaprl

v1.2
-----

- Brailab s MEA8000 beszd emulci
- Homelab 3.1 modell tmogatsa
- nyomtat emulci
- memriakonfigurcik
- teljes kpernys md
- szimbolikus billentyzet
- belltsok mentse
- egyb GUI bvtsek

v1.1
-----

- tlts/ments az j HTP formtumban
- sajt ROM s BIN llomnyok betltse
- sajt karakterkszlet betltse
- RAM lapozs, helyes memriamret

v1.0
-----

- az els nyilvnos verzi
