ZX81 hang

ZX80/81 hardver és illesztők...
Avatar
Zozosoft
Hozzászólások: 792
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

ZX81 hang

Hozzászólás Szerző: Zozosoft » 2012.01.18. 21:51

A mostani játékajánlót olvasgatva merült fel bennem a kérdés: miért nincs hangjuk a ZX81 programoknak? Az ok, hogy nincs benne hangszóró, de magnókimenetre tud olyan jelet generálni amit fel tud venni a magnó. Nem lehetne ezt egy fülhallgatóval (vagy erősítőre kötve) hanggenerálásra használni?

DPMI
Hozzászólások: 9
Csatlakozott: 2012.01.07. 11:31

Re: ZX81 hang

Hozzászólás Szerző: DPMI » 2012.01.18. 23:39

A ZX81-en a magnókimenetre küldött jel sajnos a képernyőn (TV-n) is "megjelenik" vízszintes csíkok formájában (és nem csak a kereten, hanem a teljes képernyőn), tehát így pl. játék közben nem igazán élvezhető dolog hangot adni. Ha a képernyő nem érdekes, akkor persze lehet a hanggal játszani, voltak is billentyűzet "zongora", sziréna, beszéd digitalizáló és hasonló programok.

Üdv.
Istvan

csaba
Alapító tag
Hozzászólások: 262
Csatlakozott: 2012.01.09. 19:18
Rádióamatőr hívójel: HG5BMU
Tartózkodási hely: Surány
Kapcsolat:

Re: ZX81 hang

Hozzászólás Szerző: csaba » 2012.01.20. 13:14

Bővebben: a hang kimenet ugyanaz mint a modulátorra menő video-jel kimenet.
pl. a képszinkron jelet a CPU adja ki programból.
így alapesetben a videojelet "halljuk" a magnó kimeneten, és bármi hang próbálkozás rögtön kiakasztja a kép megjelenítő eszköz szinkron áramkörét, így csíkok formájában látható a magnóra mentés is mert a monitor így "értelmezi" a hangfrerkvenciás jelet.

Avatar
Pgyuri
Alapító tag
Hozzászólások: 541
Csatlakozott: 2012.01.06. 13:34

Re: ZX81 hang

Hozzászólás Szerző: Pgyuri » 2012.01.20. 15:29

Üdv CsabaG!

Várjuk ám, hogy megnyisd végre a "ZX81 kép" témát, ahol végre leírhatnád szépen ecsetelve, hogy miért volt szenzációs a kép előállítása és milyen ravasz, trükkös megoldásokat alkalmaztak!

Már ez a hangtalan hang is érdekes számomra...eddig a ZX81 csak a billentyűzetével és szép megjelenésével tartozott a számítógépek közé. Ha még írtok róla kedvcsinálókat, lehet, hogy egyszer be is kapcsolom :)

Pgyuri

Avatar
Asimo
Hozzászólások: 147
Csatlakozott: 2012.01.09. 18:49

Re: ZX81 hang

Hozzászólás Szerző: Asimo » 2012.01.20. 16:28

csaba írta:Bővebben: a hang kimenet ugyanaz mint a modulátorra menő video-jel kimenet.
pl. a képszinkron jelet a CPU adja ki programból.
így alapesetben a videojelet "halljuk" a magnó kimeneten, és bármi hang próbálkozás rögtön kiakasztja a kép megjelenítő eszköz szinkron áramkörét, így csíkok formájában látható a magnóra mentés is mert a monitor így "értelmezi" a hangfrerkvenciás jelet.
Igazából az ULA-t készítették ilyenre. Ha megnézitek, a ZX81 ULA-nak a 16-os lába a közös TV-TAPE láb.

A ZX80 még nem használt ULA-t, és első ránézésre úgy tűnik, a video és tape áramkörök szeparáltak, így a ZX80 esetében talán működhetne a dolog.
De szerintem így is csak nagy trükközések árán lehetne írni olyan programot, ami zenél is és képe is van. Fel kell használni a ROM-ban található display rutin trükkjeit a kép szinkronban tartásához. Szép feladat. :)

DPMI
Hozzászólások: 9
Csatlakozott: 2012.01.07. 11:31

Re: ZX81 hang

Hozzászólás Szerző: DPMI » 2012.01.20. 23:32

A ZX81 hangtalanságát a legendás BIT-LET Vallatóban így fogalmazták meg: "A legjobb indulattal sem állíthatnánk, hogy a ZX81 a muzsika klasszikusain nevelkedett". :)
Egy másik érdekesség annak, aki nem használta még a ZX81-et: Létezik egy FAST utasítás, ami "gyors üzemmódba" állítja a gépet. De vajon ki az, aki nem mindig gyors üzemmódban járatná a gépét? Az, aki látni is szeretne valamit :)
Mivel a CPU állítja elő a videojelet, ideje jó részét ezzel tölti, tehát úgy gyorsítható pl. egy számítás, hogy a FAST parancs kiadásával leállítjuk a videojel előállítást. Így ugyan megtáltosodik a gép, de nem látunk semmit a képenyőn. A számolás végén tehát SLOW paranccsal vissza kell kapcsolni az eredmények megtekintéséhez.
Trükkös emberek a FAST és SLOW parancsok ciklikus kiadásával BASIC-ből is tudtak "hangot" generálni.

Avatar
Asimo
Hozzászólások: 147
Csatlakozott: 2012.01.09. 18:49

Re: ZX81 hang

Hozzászólás Szerző: Asimo » 2012.01.21. 04:50

A FAST mód nem állítja le a videojel előállítást. Ha precízek akarunk lenni, akkor ez történik: A FAST üzemmód gyk. megfelel a ZX80 működésének, azaz ha a gép idle módban van (a ROM-ban fut a billentyűzet beolvasás és a videojel előállítás), akkor van kép, ha pedig az user program fut a RAM-ban, akkor nincs kép (mert nem fut a ROM rutin).
Ehhez képest a SLOW módban (ami csak ZX81-en létezik, vagy upgrade kit-ben ZX80-hoz) a gép NMI megszakítás segítségével váltogat a ROM rutin és a felhasználói program között. Ebben a módban a CPU ideje nagy részét (kb. az idő 3/4-e) a ROM-ban található videojel előállító rutin futtatásával tölti, így nem sok idő marad magának a programnak a végrehajtására. Ezért lett a neve SLOW.

Mivel a ZX81-ben a magnó-ki/bement és a videojel kimenet egy ULA kivezetésen van, ezért kizárt, hogy pl. egy játéknak egyszerre legyen képe és hangja. Ha hangot adsz ki, akkor szétesik a videojel. Tehát ennek semmi köze a SLOW/FAST üzemmódokhoz. FAST módban is lehet kép, csak ne fusson semmi, vagy a videojellel is a felhasználói programnak kell törődnie.
Azt esetleg meg lehet tenni, hogy a játékban felváltva van kép és hang, mint pl. egy átvezető dallam két pálya között. ;)

DPMI
Hozzászólások: 9
Csatlakozott: 2012.01.07. 11:31

Re: ZX81 hang

Hozzászólás Szerző: DPMI » 2012.01.21. 11:37

Köszönöm a helyreigazítást, valóban nem voltam elég precíz (a videojel leállítást csak a számítás gyorsításának kontextusában értettem).
A FAST/SLOW hangkeltés esetén a következő kis programra gondoltam:
10 SLOW
20 FAST
30 GOTO 10
Ez kiad egy kb. közepes magasságú hangot a magnó kimeneten; mélyebbet akkor lehet, ha beszúrunk még időhúzó utasításokat a FAST és SLOW közé.
Nem egy finoman hangolható és elegáns dolog, valószínűleg a TV sem örül neki. De csak BASIC kell hozzá (míg a magnó kimenet direkt billegtetéséhez gépi kódú program), ötletként ezért is jelenhetett meg annak idején.

Válasz küldése

Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 1 vendég