Z80TAP lejátszó

ZX Spectrum 48/+/128/szürke +2/+2A/+2B/+3 kérdések: hardver, szoftver
Avatar
mezei
Speccyalista
Hozzászólások: 380
Csatlakozott: 2012.01.06. 14:52

Re: Z80TAP lejátszó

Hozzászólás Szerző: mezei » 2017.09.26. 19:40

Bali írta:
2017.09.26. 16:06
mire gondolunk léptetés címén.
Pl. Harrier Attack: összesen vagy 6, vagy 3 blokknak fogható fel

A verzió:
HEAD PROG HARRIER 19 byte
DATA 357 byte
HEAD CODE h 19 byte
DATA 6914 byte
HEAD CODE a 19 byte
DATA 6387 byte

B verzió:
PROG HARRIER (fejléccel együtt a programkód)
CODE h (fejléccel együtt a kód)
CODE a (fejléccel együtt a kód)

A léptetés az én elgondolásom szerint ezek között a blokkok között működne, hogy pl. be tudjam tölteni csak az utolsó blokkot úgy, hogy előtte ne kelljen keresgetnem a blokk kezdetét.
Egyszerűbbnek találom az A verziót.

Vannak játékok, pl. a 3D Pool, ahol csoportok vannak a TZX blokkok között, a 3D Poolnál pl. egy Bleepload Group 1 és 2 is, ilyen esetekben az egész csoportot érdemes egy blokknak venni léptetés szempontjából, mivel nincs értelme a másfél másodperces blokkokat külön léptetgetni.

Üdv
m/zx
fanzix.hu

zka
Speccyalista
Hozzászólások: 11
Csatlakozott: 2017.09.26. 23:22

Re: Z80TAP lejátszó

Hozzászólás Szerző: zka » 2017.09.27. 10:06

Sziasztok, nos én készítem a Z80TAPE lejátszót. Látom felmerült itt néhány dolog amit szeretnétek ha tudna a lejátszó. Először is a Stop Tape parancs... jelenleg 5mp-es "silence" van benne, ezalatt lehet megállítani a lejátszást kézzel, a "tekerő" rövid megnyomásával. Jelenleg azért nem áll meg automatikusan a lejátszás, mert bufferelt a kimenet, és ha a kód érkezésekor leállítanám a lejátszást, akkor a bufferben még maradna néhány tized mp-nyi adat az előző blokk végéről. De ezt is meg tudom oldani, ha gondoljátok.

A blokkválasztás: van a tzx-ben "Select Block" menü, de annak a leírása eltér a valóságtól. Ha valaki meg tudja nekem mondani, hogy hogyan működik, akkor szívesen beleteszem ezt a funkciót is. Annak viszont nem látom értelmét, hogy valaki csak pl az utolsó blokkot akarja betölteni...

http://www.worldofspectrum.org/TZXformat.html#SELBLOCK

A Select Block parancsban a Relative Offset értékeknél nem a relatív cím van a fájlokban, hanem szerintem egy index, amit nem tudok hogy hogyan kell értelmezni, csak sejtésem van róla. Pl. a Batman - The Movie (1989)(Ocean Software)[t].tzx fájlban két menüpont van, ezeknek a Relative Offset értékei 3 és 1. Utána jön még 5db 10-es blokk. Ha az elsőt kezdem el lejátszani, akkor betölti azt és a következőt, de elszáll a program. Gyorsan újra LOAD "" és a harmadik blokkal kezdve jó a betöltés. Szóval azt hiszem, hogy a Relative Offset a blokk index lesz, de nem tudom, hogy minden blokkra érvényes vagy csak a 10-esekre.

Üdv.
Zoli

Avatar
Zimi
Speccyalista
Hozzászólások: 131
Csatlakozott: 2013.08.13. 13:34
Tartózkodási hely: Budapest
Kapcsolat:

Re: Z80TAP lejátszó

Hozzászólás Szerző: Zimi » 2017.09.27. 10:29

Tök jó cucc lesz ez mindenképp! :)
Nekem a legfontosabb spectrumos extra a turbo töltés lenne, nincs kedvem 5 percet szobrozni, ha lehet 1-2-t is. Gondolom ilyenkor a Z80TAPE bejátszhatna egy turbo rutint is, aztán dupla-tripla sebességgel tolhatná át az eredeti tape-eket. Gondolom ez TAP esetében még megoldható lenne, de TZX esetén talán nehezebb?
10-féle ember van, aki érti a bináris aritmetikát és aki nem.

Avatar
Bali
Site Admin
Hozzászólások: 1878
Csatlakozott: 2012.01.06. 13:34
Tartózkodási hely: Budapest III.
Kapcsolat:

Re: Z80TAP lejátszó

Hozzászólás Szerző: Bali » 2017.09.27. 11:05

zka írta:
2017.09.27. 10:06
Sziasztok, nos én készítem a Z80TAPE lejátszót. Látom felmerült itt néhány dolog amit szeretnétek ha tudna a lejátszó. Először is a Stop Tape parancs... jelenleg 5mp-es "silence" van benne, ezalatt lehet megállítani a lejátszást kézzel, a "tekerő" rövid megnyomásával. Jelenleg azért nem áll meg automatikusan a lejátszás, mert bufferelt a kimenet, és ha a kód érkezésekor leállítanám a lejátszást, akkor a bufferben még maradna néhány tized mp-nyi adat az előző blokk végéről. De ezt is meg tudom oldani, ha gondoljátok.
Először is gratulálunk, mert tényleg hasznos kis eszköz lesz ez és amit még nagyra értékelek, hogy szépen végig vitted projektet egészen a dobozolásig. Nem is beszélve arról, hogy nem állt meg a dolog a TAP-nál.

De, hogy a lényegre térjek, nyilván már az is jó, ha meg lehet állítani, de gondolom nem ül a betöltés alatt végig valaki a gép mellett és ilyenkor praktikus lehet az automatikus leállás. Tipikusan az utántöltős játékok esetében praktikus dolog ez, ahol az egyes szinteket kell egymás után betöltögetni.

pl. a Last Ninja 2:
http://www.worldofspectrum.org/infoseek ... tware+Ltd$

Amúgy a tekerő rövid megnyomásával indulna tovább?
-= Bali =-
(c) 1983-2017 Evil-Soft

Avatar
Pgyuri
Speccyalista
Hozzászólások: 482
Csatlakozott: 2012.01.06. 13:34

Re: Z80TAP lejátszó

Hozzászólás Szerző: Pgyuri » 2017.09.27. 11:24

Nana ... ennek az eszköznek a feladata, hogy korhű magnóbetöltést utánozzon.

Ha a magnó mellett nem ültél ott, akkor ugyanúgy túlszaladtál. Itt is ez a helyes megoldás. Menjen csak tovább és nagyon helyes, hogy kézileg kell leállítani!

Mindenképpen szükséges a TZX-en belüli pozícionálás, mert számos játék kéri, hogy tekerd vissza a szalagot és töltsd be újra az x részt.

Hackelésnél kellhetne, hogy bármelyik blokknál kezdhessek, de nem vagyok bolond, hogy eredeti gépen próbálkozzak. :)

Pgyuri

zka
Speccyalista
Hozzászólások: 11
Csatlakozott: 2017.09.26. 23:22

Re: Z80TAP lejátszó

Hozzászólás Szerző: zka » 2017.09.27. 16:56

@zimi: igen, a lenyomásra pause/play. És én pl. végig itt szoktam ülni a gép előtt :)

@pgyuri: a pozÍcionálással csak egy gondom van, a tzx fájloknak fogalmuk sincs róla, hogy hol kezdődik egy blokk. Jaja, meg lehet keresni a 10-es stb. blokkokat, de egyáltalán nem biztos, hogy normál vagy turbós blokk a kezdet, nagyon sok programnál vannak egyedi szinkronjelek.

Mit szólnátok egy számlálóhoz? pl. mp alapon, és oda vissza tudnám "tekerni a szalagot".

Avatar
mezei
Speccyalista
Hozzászólások: 380
Csatlakozott: 2012.01.06. 14:52

Re: Z80TAP lejátszó

Hozzászólás Szerző: mezei » 2017.09.27. 17:55

zka írta:
2017.09.27. 16:56
a tzx fájloknak fogalmuk sincs róla, hogy hol kezdődik egy blokk.
már hogyne tudná a tzx...
abból indulok ki, hogy nem tudom, hogy az eszköz milyen úton módon fordítja át az adatot hanggá
tehát ha pl. van egy szimpla turbós játék, legyen az említett Batman - The Movie gyári változata:

01 HEAD
02 PROGRAM: BATMAN
03 TURBO BLOKK
04 TURBO BLOKK
05 TURBO BLOKK
06 TURBO BLOKK
07 TURBO BLOKK
08 STOP THE TAPE IN 48K MODE
09 TURBO BLOKK
10 TURBO BLOKK
11 STOP THE TAPE IN 48K MODE
12 TURBO BLOKK
13 TURBO BLOKK

Több probléma is felvetődhet, például honnan tudja a lejátszó eszköz, hogy milyen géphez kötve használom? Erre lehetne használni akár egy beállítást is az eszközön, ha van valamilyen beállításokat kezelő része, de feltételezhetné azt is, hogy 48K módban használom. Másik probléma, hogy honnan tudja, melyik blokk hol/mikor van? Szerintem logikus lépés tzx-nél és tap-nál is a blokkonkénti adat-hang konverzió. Tehát a fenti Batman játék összesen 11 hangfájlból állna. Így egyértelmű, hogy a 2. blokk után 3 blokkal van az ötödik helye. Azért nem állna 13 hangfájlból, mert újabb probléma: a Stop the tape blokk valami egész más, mint az adatblokkok, ezt célszerűen úgy lehetne megoldani, hogy a 08-as stop the tape 'jelzés' a 07-es blokkhoz tartozzon, mint egy flag, ha látná ezt a jelet a lejátszó, akkor a blokk végén automatikusan megállna. Akár lehetne egy olyan beállítás is, hogy az ilyen jelzéseket vegye figyelembe, vagy ne.
Mindezt úgy írom, hogy fogalmam sincs, milyen módon haladt eddig a fejlesztés, ha ezekhez hasonló dolgok már nem férnek bele, akkor bocs az okvetetlenkedésért.

Üdv
m/zx

ui: az ID23, ID24 ... ID28-as TZX blokkokat nem is venném bele a fejlesztésbe, mert nagyon kevés játék használja őket, másrészt ezek kiválthatóak, csak a végeredmény TZX adatfájl nagyobb lesz.

ui2: a Batman - The Movie (1989)(Ocean Software)[t].tzx-ben lévő választó menüt megintcsak ejteném, mert nem általánosan használt, gyári szoftvereknél pedig egyáltalán nem, egyébként szintén kiváltható két egyéni tzx-szel.
fanzix.hu

zka
Speccyalista
Hozzászólások: 11
Csatlakozott: 2017.09.26. 23:22

Re: Z80TAP lejátszó

Hozzászólás Szerző: zka » 2017.09.27. 22:51

Szia, ez azért ennél egy kicsit bonyolultabb. Csak belenéztem a listámba és pl a Back To The Future II (1990)(Mirrorsoft)[Main Code].tzx úgy indul, hogy 10, 10. Utána 21 (skip), és 12, 13, 14... Itt akkor melyik lenne a következő blokk eleje? Tudom, hogy a 21, vagy a 12, de a 12 13 nem kötelező egy 14-es blokk előtt. Aztán reméljük, hogy senki nem tesz loopba egy 10-es blokkot :)

A 24, 25-öt már beletettem, működik is rendesen.

Asszem inkább a "silence"-re kellene fókuszálnunk, nem? Már amelyik blokk után a pause értéke nagyobb mint 0.
Meg tudom csinálni, csinálok egy scan-t a fájl lejátszása előtt, kiírhatom hogy hány blokkból áll, válassza ki a blokkot stb... de attól félek, hogy ezek a plusz dolgok sok felhasználó számára túl fogják bonyolítani a rendszert.

Avatar
mezei
Speccyalista
Hozzászólások: 380
Csatlakozott: 2012.01.06. 14:52

Re: Z80TAP lejátszó

Hozzászólás Szerző: mezei » 2017.09.28. 10:03

zka írta:
2017.09.27. 22:51
Szia, ez azért ennél egy kicsit bonyolultabb. Csak belenéztem a listámba és pl a Back To The Future II (1990)(Mirrorsoft)[Main Code].tzx úgy indul, hogy 10, 10. Utána 21 (skip), és 12, 13, 14... Itt akkor melyik lenne a következő blokk eleje? Tudom, hogy a 21, vagy a 12, de a 12 13 nem kötelező egy 14-es blokk előtt. Aztán reméljük, hogy senki nem tesz loopba egy 10-es blokkot :)

A 24, 25-öt már beletettem, működik is rendesen.

Asszem inkább a "silence"-re kellene fókuszálnunk, nem? Már amelyik blokk után a pause értéke nagyobb mint 0.
Meg tudom csinálni, csinálok egy scan-t a fájl lejátszása előtt, kiírhatom hogy hány blokkból áll, válassza ki a blokkot stb... de attól félek, hogy ezek a plusz dolgok sok felhasználó számára túl fogják bonyolítani a rendszert.
Szia zka!

Lehet, hogy félreértettél a Groupokkal kapcsolatban. Még véletlenül sem gondolnék olyanra, hogy hagyd ki, ugord át, hanem kezeld a csoportot egy blokként. Magyarul a Group Starttól a Group Endig egy hangfájlt generálj.

Az ID 24 és 25 (a hurok) más téma, ha már beépítetted, akkor nincs miről beszélni.
Az ID26 és 27 a hurokhoz hasonló elven megy, gondolom, akkor arról sem kell beszélni.
Az ID28 Select Block érdekesebb, bár még semmi értelmes megoldást nem láttam vele, így feleslegesnek tartom (lehet, hogy más gépek esetén lehet haszna, passz).

Az ID20, tehát a pillanatállj, csend kérdése tényleg fontosabb. Van olyan játék, hogy betölti a betöltőképernyőt, majd elkezd vele valamit bütykölni, zenélget a háttérben, addig megy a szalag... Szóval, ilyen esetekben szükséges a megadott hosszúságú csend használata. Ezt nem lehet a blokk hangfájlja mögé bökni egyszerűen hangként?

Sajnos nem látom át a fejlesztési problémákat, ezért nem értem azt sem, hogy miért lenne bonyolult a blokk-léptetés, választás. Én úgy látom az egészet, mint egy mp3 egy zenei albumot. A TZX/TAP fájl az album, a blokkok a zenék szerepét töltik be. A blokkok maguk nem lehetnek idegenek egy spectrumosnak, hiszen mindenki használt közülünk Zotyocopyt, vagy Spectaculatort, esetleg olvasta mindenki Spectrum Világot, ahol a POKE-oknál pl. BASIC/6912/40192 file-térképről volt szó.

Üdv
m/zx
fanzix.hu

Avatar
Pgyuri
Speccyalista
Hozzászólások: 482
Csatlakozott: 2012.01.06. 13:34

Re: Z80TAP lejátszó

Hozzászólás Szerző: Pgyuri » 2017.09.28. 11:06

Üdv,

Ha jól láttam, egy kijelző van a szerkezeten. Tökéletes megoldás bármelyik emulátor magnó kezelése:

1; Kiírni a TZX tartalmát.
2; A tartalomban fel/le tudok lépni bármelyik elemre (akár a Stop the tape-re is)
3; El tudom indítani és meg tudom állítani bármikor.

Utántöltős programoknál ez nagyon kell(het), a számláló nem jó megoldás, mert még régen is "fülre" kerestük, hova kell visszatekerni. Nem kell semmi automatika, csak úgy, mint egy magnó. Elindítom, akkor megy, leállítom, akkor megáll. Ha tekerem, akkor odaáll.

Isteni szerkezet lesz, ha ezt tudni fogja :)

Pgyuri
Csatolmányok
kep.jpg

Válasz küldése

Ki van itt

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