EmulatorOK / SEGEDPROGRAMOK

Mikrobi 3.0 (DOS) emulátor
HomeLab (Windows) emulátor
Wav2Htp konverter (Pintér Ferenc)
WAV2HTP / HTP2WAV (Grósz Atila)
SCREAMER HLE v1.2 wav konverter/player (Nickmann László)
Homelab 3 BIN to HTTP (Varga Zoltán)


Mikrobi 3.0 (DOS)

Mikrobi Homelab/Brailab emulátor leírás

Készítette: Papp László, 2008-2009

Ez a program a Lukács fivérek által kifejlesztett Homelab 4 mikroszámítógép lehető legélethűbb emulációjára (utánzására) vállalkozik. Emellett emulálja ennek a gépnek a látássérültek számára átalakított változatát, a Brailab 4-et, amelyhez a beszélő bővítést a KFKI kutatócsoportja készítette.

Az emulátor indítása:

Az emulátornak két változata van: egy csak Pentium processzoron, vagy ennél újabb processzoron működő változat (ennek neve mikrobi.com), és
egy már 486 DX gépeken is futó változat, ezt mikro486.com-nak hívják. A két változat között az a különbség, hogy a mikro486.com-mal emulált
Homelab/Brailab gép sebessége függ a PC sebességétől, míg a mikrobi.com-mal emulált gépek mindig pontosan az eredeti gép sebességén
működnek. A mikro486-nál tehát nem garantált, hogy a gépből kijövő zenék és hangeffektusok minden gépen ugyanúgy szólnak, hangmagasságuk és
tempójuk gépenként különbözni fog. Ez a Brailab beszédére nem áll, az mindig egyformán szól.
Az emulátor DOS-ból futtatható (bármelyik verzió jó neki).
Homelab módban (ld. alább) Win9x alól is futtathatjuk DOS parancssorból, és valószínűleg újabb Windows-ok alól is, de ezt nem próbáltam ki.
Brailab módban azonban ne próbáljuk ki Windows-ból, mert megbolondítja a gépet!!! Linux alatt a Dosemu programnak túl kemény falat a Mikrobi, nem
fut vele.
A Dosbox program hivatalos 0.72 verziója hibátlanul futtatja a mikro486.com-ot, de nem futtatja a mikrobi.com-ot, mivel a Dosbox nem
támogat egy, a Mikrobinak fontos Pentium CPU utasítást. Lehet, hogy a frissebb, CVS alapú Dosbox verziók már megbirkóznak ezzel.
Más jó minőségű PC emulátorok (pl. Qemu, Wmware stb.) is használhatók, az eredmények nagy mértékben függenek az emulátor képességeitől. A
mikro486.com-mal általában jobb eredmények érhetők el. Ha az előbbiek közül semelyik megoldás nem működik, még mindig megoldás
lehet, ha készítünk egy DOS rendszerlemezt (boot floppyt), vagy boot CD-t, pl. a www.freedos.org honlapon található image fájlok
segítségével, és onnan indítjuk a Mikrobit.

A gépünknek megfelelő emulátort az alábbi DOS paranccsal indíthatjuk:

emulátor neve gépnév (pl. mikrobi br)

A gépnév lehet hl, ekkor a Homelab 4 gépet fogja emulálni, vagy br, ekkor Brailab 4-esként fog viselkedni és beszélni.
A fentebbi parancs helyett az alábbit is beírhatjuk:

homelab - Homelab 4 számítógépként fog viselkedni
brailab - Brailab 4 számítógépként fog működni

Figyelem! Ezek a parancsok batch fájlokat indítanak, amiket a Pentiumos változathoz írtam meg. A mikro486-ot vagy a fentebbi módon kell
elindítani, vagy a batch fájlokat át kell írni.

Billentyűzet:

A Homelab/Brailab billentyűit az alábbi ábrának megfelelő helyen találhatjuk meg a PC-n:

;+ 1! 2" 3# 4$ 5% 6& 7' 8( 9) 0 ö ü ó

F1 q w e r t y u i o p :* =-

F2 a s d f g h j k l é á ^ cr

balshift z x c v b n m ,< .> ?/ jobbshift

alt szóköz

-a nyilak a PC-s helyükön érhetők el -ha egy billentyűre két karaktert írtam fel, akkor a második a shiftre
jön elő
-a többi billentyű hatástalan, hacsak nincs valami speciális szerepe az emulátorban (ld. mindjárt)
-valamennyi, a Homelabon/Brailabon meglévő billentyűkombináció is használható (pl. shift+balnyíl = törlés stb.)

Az emulátor speciális billentyűi:

Csak Homelab módban használhatók az alábbiak, Brailab emuláció esetén nem csinálnak semmit (és akkor sincs hatásuk, ha nincs a PC-hez kötve
Brailab PC beszélőegység):

F4- be- és kikapcsolja a mindent mond üzemmódot.
Ebben az üzemmódban a Brailab PC felolvas minden szöveget, ami a képernyőre került, akkor is, ha azt az eredeti Brailab nem tenné (pl.
mert nem printtel iratták ki, hanem közvetlenül a videomemóriába poke-olták)
Esc-elhallgattatja a beszédet mindaddig, amíg a rendszer billentyűnyomásra nem vár (pl. visszatér Basic-be, mert végetért egy
program futása). Ezt a Mikrobi a "Kész!" bemondással tudatja velünk.
Ctrl: amíg nyomva tartjuk, nem beszél a Brailab PC

Brailab PC beszélőrendszer nélkül is használható, de csak Homelab módban működő funkció a PC F2 gombjával elérhető 32/64 K-s memóriamódok közötti
átkapcsoló. Alapesetben a Homelab 4 gépben 64 K RAM van, ami két lapra bontható, és a lapok memóriatérképe eltér; egyes szolgáltatások (pl.
hanggenerálás, képernyőmemória) csak a második lapon érhetők el. Az F2 gombbal átkapcsolhatunk 32 K-s módba. Ekkor a Mikrobi 32 K RAM-ot
emulál, és a speciális szolgáltatások mindkét lapon elérhetőek lesznek. A módváltás Homelab resetet okoz, de adatvesztést nem.

Mindkét emulációban használhatók:

F5-ugyanaz, mint az eredeti gépen a reset gomb
F6-letiltja az autostartot. Ha egyszer megnyomjuk, egy önmagától elinduló, vagy újrainduló program nem fog elindulni. A billentyű
csak egyszer hatásos, a rá következő autostart letiltásához újra meg kell nyomni
F7 - memóriafényképet készít az emulált gép memóriájáról az output.txt fájlba. A fájl az első lap teljes 64 K-s címtartományát fogja
tartalmazni. Az output.txt-vel kapcsolatos fontos tudnivalót ld alább!
F8-a következő "Oké" kiírásig a képernyőn megjelenő karaktereket az output.txt fájlba is kiírja, de a beszédet nem zavarja. Hasznos pl.
programlisták kimentésére. Figyelem! A Mikrobi újraindításakor az output.txt fájl törlődik! Ha meg akarjuk őrizni, újraindítás előtt pl.
át kell nevezni.
F10-azonnal kilép a Mikrobiból a DOS-ba

Kazettakezelés:

A kazettán tárolt programállományokat az emulátorban .htp kiterjesztésű fájlok helyettesítik. Minden kazettás programállomány egy kazettás
programot tárol. A .htp fájlok bájtról bájtra ugyanazt az adatot tartalmazzák, ami az eredeti programkazettán rajta volt. Az emulátor
mellett a csomagban több, mint 150 db eredeti program is benne van (.htp fájl formájában), amiket eredeti programkazettákról mentettem meg.
Az emulátorból a következő eredeti Homelab Basic parancsokkal dolgozhatunk "kazettáinkkal" (.htp fájljainkkal):

load"fájlnév" - betölti a megadott nevű htp programfájlt. A fájlnévben elérési út is megadható, de a \ helyett / jelet kell írni. Ha nem adunk
meg fájlnevet, akkor az automatikusan default.htp lesz.
A fájlnévbe nem szabad beleírni a .htp kiterjesztést!

load"&fájlnév"-a megadott fájl (nem .htp fájl, hanem szövegfájl) tartalmát automatikusan begépeli éppúgy, mintha azt mi gépeltük
volna be két kezünkkel. Nagyon hasznos lehet pl. ha egy Basic programot nem a Mikrobiban, hanem DOS alatt, szövegszerkesztőben akarunk megírni.
útvonalat itt is meg lehet adni, viszont a fájlnévbe itt bele kell írni a kiterjesztést is.
A begépelés eltarthat egy ideig, sebessége kb. 200 karakter/másodperc.
Ezalatt nincs beszéd, és nem célszerű piszkálni a gépet. A gépelés végét a "Kész!" bemondás jelzi (ez utóbbi csak Homelab módban hallható Brailab PC-vel).

save"fájlnév"-kiment egy Basic programot .htp programfájlba. A fájlnévre ugyanaz vonatkozik, mint a loadnál.

save"$"-a Basic programot nem programfájlba menti, hanem "elfütyüli", mintha az eredeti gép valóban magnóra mentené.

Minden betöltési és kimentési hibánál ugyanaz történik, mintha megnyomtuk volna az f5 gombot.

A MERGE és a VERIFY parancsok akkor működnek, ha a .htp fájl neve és a benne tárolt program Homelabos neve ugyanúgy kezdődik, pl. az
atomvad.htp nevű fájl az "Atomvadász" nevű programot rejti.

Nyomtatókezelés:

A nyomtatót kezelő BASIC utasítások (pl. print#, list#) is használhatók, ezek úgy működnek, hogy az a szöveg, ami papírra kerülne, az output.txt
fájlban jelenik meg. E fájllal kapcsolatos fontos megjegyzést ld. fentebb az f8 funkciógombnál.

Egyéb különbségek az eredeti és az emulátoron futó BASIC közt:

Az eredeti gépben nem volt belső óra, így a gép mindig ugyanazokat a "véletlenszámokat" generálta az rnd függvénnyel. Így a Basic játékok jó része
legfeljebb néhányszor volt igazán élvezhető. Az emulátor alatt akárhányszor is indítunk el egy programot, a BASIC mindig más és más
véletlenszámokat generál, így a játékok mindig élvezetesek maradnak.

További tudnivalók:

Az emulátort teljes egészében assembly nyelven írtam és a Flat Assembler segítségével fordítottam.
Az emulátor ingyenesen, de csak és kizárólag ingyenesen terjeszthető. A terjesztés módját nem szabom meg, lehet az bármilyen (e-mail, weblap,
floppy, CD, DVD stb.), a lényeg, hogy senki ne kérjen érte pénzt se közvetlenül, se közvetve. Az emulátor kizárólag ingyenes programok
segítségével jött létre.
A csomagot csak változatlanul szabad továbbadni. Kivétel ez alól, hogy nem kötelező az összes mellékelt .htp fájlt továbbadni, lehet közülük
válogatni, de néhányat azért mindig tovább kell adni, hogy minden új felhasználónak legyen működő Homelab mintaprogramja.
A csomagban van egy htp2bas.com segédprogram, amivel az emulátor használata nélkül kilistázhatunk egy .htp fájlban lévő Basic programot.
A htp2bas szó után csak meg kell adni azoknak a fájloknak a neveit, amiknek a tartalmára kíváncsiak vagyunk. A listázás az Esc billentyűvel
bármikor abbahagyatható. A listát a > parancssori operátor segítségével fájlba is küldhetjük, pl. a

htp2bas kastely.htp >kastely.bas

parancs a kastely.htp-ben lévő programot (Elvarázsolt kastély) a kastely.bas fájlba listázza.

Mikrobi 3.0 LETÖLTÉSE

 

HomeLab (Windows)

HomeLab - HomeLab 2/3/4/5 emulátor
http://gaia.atilia.eu

(C) 2004, 2014-2016, 2022-2023 Grósz Attila (gyros KUKAC freemail PONT hu)

Mi ez?
======

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, illetve 64-bites.

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

A HomeLab 8-bites magyar számítógép volt, 1982 és 1986 között
fejlesztették a Lukács fivérek, bizonyos változatait KIT-ekben
árulták (HL2/HL3), mások sorozatgyártásra is kerültek (Aircomp/HL4).
Iskolai, tanulási célokra szánták, de végül különböző okok miatt
(pl. alkatrészhiány) nem tudott szélesebb körben elterjedni.

Processzora többnyire az egykori NDK-ban Z-80 processzor alapján
licenszelt U880 volt. Rendszer ROM programja moduláris felépítésü
teljesen sajátos, igen fejlett, sokoldalú, opcionálisan beégetett
gépi kódú monitorral és (dis)assemblerrel, a 4-es típus pedig már
magyarított hibaüzenetekkel és karakterekkel.

A gép sok szempontból egyedi megoldásokat tartalmazott. További
információkért és az emulátor új verzióiért érdemes meglátogatni
a http://gaia.atilia.eu vagy a http://homelab.8bit.hu weboldalt.

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

- teljes, ciklusra pontos Z80 emuláció
- Aircomp-16 és HomeLab 2 típusok kezdetleges támogatása (8/16/24 kb)
- NMI megszakítás emulációja
- alfanumerikus mód támogatása
- hang emuláció
- HomeLab 3 és 4 típusok (4/6/8/16/32/64kb memóriakiosztással) támogatása
- 64 és 32 karakteroszlopos módok
- ki- és bemeneti portok emulációja (RAM lapozás)
- NMI megszakítás (RESET) gomb emulációja
- teljes hang emuláció
- Brailab beszéd emuláció (MEA 8000 hang chip)
- a teljes billentyűzet emulációja
- WAV formátum támogatása kazetta írás és olvasási műveletekre
- HTP formátum támogatása kazetta írás és olvasási műveletekre

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

- csak a 3/4 -es és a Brailab modellek vannak rendesen támogatva
- PIO port nincs emulálva

A program használata
====================

Futtatás
--------

Klikk az EXE-re. A menük remélhetőleg magukért beszélnek.
Installálás nem szükséges. A helyes képernyő aspect ratio-hoz
DirectDraw stretching-et használ az emulátor, ezért ha ezt használni
szeretnénk, akkor minimum DirectX 3.0 szükséges.

A futtatáshoz minimum Windows 95 vagy későbbi szükséges. A DirectX módban
való futtatáshoz pedig ajánlott egy erősebb gép (>600 MHz) is. Ha ez
ki van kapcsolva, akkor kb. 200 MHz-cel megelégszik az emulátor.

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 : Memóriatérkép, az emulált gép
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é

Magnó
-----

A kazettás megnetofon a HomeLab-hez kapcsolható egyik legelterjedtebb
és ezért legfontosabb periféria. A hozzá tartozó PC-s
egyik formátum a WAV (tömörítetlen PCM).

Töltés: a 44,1 kHz-es WAV formátumú állományt a menün keresztül vagy
az ALT és a C együttes lenyomásával csatoljuk az emulátorhoz. Ezután csak
ki kell adni a LOAD parancsot az emulált gépnek, és a töltés elindul.
Ha a betöltött program nem autostartos akkor általában a RUN parancs
beírásával indítható.

Először a menün keresztül létrehozzuk a kívánt WAV állományt, majd
"lenyomjuk" a virtuális Play/Record gombot (F5). 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+F3 billentyűkkel teljes sebességre
kapcsoljuk. Ha újra megjelenik az 'Ok' üzenet, a mentés befejeződött.
Kapcsoljuk ki a Play/Record gombot és zárjuk le a WAV file-t (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
HomeLab-re.

Másik kazettás formátum a HTP, ez alkalmasabb archiválási célokra, illetve
mindennapi használatra, mivel lényegesen gyorsabb és megbízhatóbb. Használata
hasonlatos a WAV-éhoz, annyi eltéréssel, hogy a PLAY/RECORD gombot nem szükséges
lenyomni, illetve a HTP-be mentést az emulátor automatikusan detektálja,
hacsak nem állítottuk be korábban a menün keresztül, hogy más formátumot
kívánunk használni.

A HTP formátum
==============

A HTP egy kimondottan a HomeLab-re szabott kazettaállomány formátum.
Gyakorlatilag a HomeLab által byte-ra pontosan magnóra rögzített adatokat
tartalmazza a szinkronjelek nélkül, de a 256 bevezető 0 byte-tal és
az A5h fejlécprompttal. Elvi szinten kompatibilis mind a régi (Aircomp/HL2)
mind az újabb (HL3/4) gépekkel.

Egy HTP file konkrét felépítése a következő:

Offset Tartalom
0 csupa 0 bit
256 A5h
257 'n' karakter hosszú fejléc (állománynév)
257+n+1 fejléc záró 0 karakter.
257+n+2 blokk betöltési cím (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 összegének alsó byte-ja)
257+n+m+7 blokk záró 0 byte

Ha a blokk záró byte nem nulla, akkor újabb blokk következik, de ennek már
nincs fejléce.

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

* Hársfalvi Levente: ROM mentések, hardware leírások, tippek, segítség, tesztelés
* Solti Imre: ROM mentések, leírások, tippek, segítség, tesztelés
* Riba Zoltán: ROM mentések, tárhely
* Kardos Balázs: régi tárhely

Verziók
=======

v1.4
----

- interaktív monitor
- HomeLab 2 / Aircomp 16 emuláció további javítása (grafikus mód, 32 kb)

v1.3.1
------

- HomeLab 2 / Aircomp 16 emuláció javítása (grafikus mód, 8/24 kb, kazetta beolvasása)

v1.3
----

- Aircomp 16 emuláció (16 kb)
- képarány tartása opcionálisan
- teljes képernyős mód javítása
- képernyőmemória a vágólapra
- szövegbeszúrás vágólapról

v1.2
-----

- Brailab és MEA8000 beszéd emuláció
- Homelab 3.1 modell támogatása
- nyomtató emuláció
- memóriakonfigurációk
- teljes képernyôs mód
- szimbolikus billentyüzet
- beállítások mentése
- egyéb GUI bôvítések

v1.1
-----

- töltés/mentés az új HTP formátumban
- saját ROM és BIN állományok betöltése
- saját karakterkészlet betöltése
- RAM lapozás, helyes memóriaméret

v1.0
-----

- az első nyilvános verzió

Homelab1.4.0 (WINDOWS) LETÖLTÉSE)

Homelab 1.3.1 (WINDOWS) LETÖLTÉSE

Homelab 1.0 (WINDOWS) LETÖLTÉSE

Homelab 1.1 (WINDOWS) LETÖLTÉSE

Waw2Htp konverter (Pintér Ferenc)
Kazetta-konverter

Ezzel a két programmal régi szalagjainkat menthetjük át a digitális örökkévalóságba. Mindkét program a 8-bites mono WAV formátumban átjátszott állományokat konvertálja az emulátor által használt HTP formátumba, ami jóval kevesebb helyet foglal, mint a WAV. A HTP formátumról később újra WAV formátumra konvertálhatók az állományok és így átjátszhatók az igazi gépre.

Ha sikerült programot megmentened, kérjük juttasd el hozzánk. Szinte egyetlen eredeti programunk sincs még!

WAVtoHTP v1.01 LETÖLTÉSE

Érdemes ezzel próbálkozni, ügyes algoritmusa figyelembe veszi a HomeLab sajátosságait is, így nagyobb az esély a sikeres konverzióra.

Szerző: Pintér Ferenc

 

Wav2Htp/Htp2wav konverter (Grósz Attila)

Hiszterézises módszerrel működő konverter. A WAV-ra visszakonvertáló program egyszerű alul- és felüláteresztő szűrést is végez.
wav2htp v1.0 (c) 2004, 2023 A Grosz.
Homelab/Aircomp family PCM WAV to HTP tape image converter.

Usage: wav2htp [flags] -i input-file

-f enable simple HP-LP filtering (50 Hz and 7.5 kHz cutoff)
-g <value> amplify signal by <value> dB
-h display this help
-m use edge detection rather than hysteresis
-r invert input signal
-s <value> force sample rate of <value>
-t <value> set comparison threshold to <value>% of dynamic range (0..100)

-v verbose screen output
error levels: 0 = no error, 1 = I/O error, 2 = parameter error,
3 = no conversion required, 4 = out of memory,
5 = user abort

- 'input-file' needs to be a valid 8 or 16 bit PCM WAV file.


Szerző: Grósz Attila

WAV2HTP LETÖLTÉSE
HTP2WAV LETÖLTÉSE

SCREAMER HLE v1.2 wav konverter/player (Nickmann László)

Ez az ingyenes program, a HOMELAB/AIRCOMP és variánsaihoz készült Windows-os segédprogram. Ezen gépek programjainak modern adattárolására használt HTP formátumú fájlokat lehet ezzel a segédprogrammal közvetlenül betölteni, vagy WAV formátumra konvertálni, hogy PC nélkül is betölthető legyen mobiltelefonról, tabletről, vagy bármilyen WAV lejátszására alkalmas eszközről.

https://www.buymeacoffee.com/nickmannstudio/screamer-hle

 


 

Homelab 3 BIN to HTTP (Varga Zoltán)

Egy segédprogram főleg azoknak akik z88dk-t használnak. A program bin fájlból készít autoload-al betölthető és wav fájlba konvertálható htp fájlt (HomeLab 3-ra).
Használat: hl3bin2htp lefordított.bin célfájl.htp HLfájlnév
Lefordított.bin: Először le kell fordítani a forráskódot úgy, hogy a kezdőcím 16640-en legyen.
célfájl.htp: ezt lehet majd autoload-al betölteni
HLfájlnév: csak az angol abc kisbetűivel a HL3-ban load-ra betöltés neve, ha nem adod meg akkor a célfájl neve kiterjesztés nélkül
Ha z88dk-t használsz akkor javítsd a \lib\target\homelab\classic\homelab_crt0.asm fájlban a defc CRT_ORG_CODE = 0x4100 sort.
A programot készítette: Varga Zoltán. Köszönet a NICKMANN Studio-nak a fejlécért..

https://www.sulink.hu/homelab3/hl3bin2htp.php