Z80 dallamcsengő és eprom

Mindenféle hardver tuning, ötlet ZX81-hez, ZX Spectrum-hoz régről és napjainkból...
Avatar
csege
Hozzászólások: 218
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: csege » 2015.04.14. 22:19

A kinyitottam az ajtót, ezért zene állj funkciót pl az ajtónyitás érzékelőt a /NMI re kötve működhetne.
program módosítás nélkül ajtónyitáskor megszólalna a bimmbamm, akkor is, ha éppen zenélgetett a kütyü.
nyitásjelzőnek is jó :)
éjszaka nem biztos, hogy örülnék, ha egy iljen hardwired nyitásjelző mellett kellene beosonnom a lakásba... :roll:

vagy program módosítással:
0066h-ra tett HALT tasítással lehet a legegyszerűbben megcsinálni.
ez amolyan "utánam az özönvíz" megoldás lenne, mivel a következő csengetés indításkor a dallam onnan folytatódna, ahol megállt. (hiszen nem a dallam végén ment aludni a kütyü, a dallam mutató valahol a zene közepére mutat)
vagy megkeresi némán a következő dalvége jelet, rendet rak a regiszterekben, és utána leállítani a procit.
(c)

ui:
szívem szakadna meg, ha ki kellene szögelnem egy spectrumot az ajtóra :shock:
csengőgombnak!!!

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

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: csaba » 2015.04.15. 08:56

Azért szerepelhet a 2K-s szegmens kétszer, mert az eredeti 2716 után a 2732 használatához mindkét 2k-s lapra beégették ugyanazt, hogy ne kelljen az A11 címvezeték állapotára figyelni ami a 2716-nál programozó feszültség.
Ezután jöhetett az újabb verzió, még nagyobb eprom, 4096-tól.

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

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Pgyuri » 2015.04.15. 09:07

Üdv,

Akkor a duplázás magyarázata meg is van :) Hiába, Mr. GoCom-ra mindig számíthatunk.

Balinak már kifejtettem, hogy egy pic-be tett wav-szerű lejátszóval könnyebb lenne a Spectum zenéket betenni egy dallamcsengőbe, mintsem kottázni. Ebben a lejátszóban csak 32 hangból lehet dallamot szerkeszteni, így profibb zenékhez nem alkalmas.

A csengőről jutott eszembe, hogy azért a Spectrumoknak tudnék egy egész kellemes feladatot is ... mindig is utáltam a riasztók billentyűzeteit. Mennyivel szívesebben adnám be a kódot Spectrum gombokon!

A 2. lejátszó "spectrumosítása" folyamatban.

Forráskód utána.

Pgyuri

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

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Pgyuri » 2015.04.15. 11:32

Üdv,

Újabb csengőgomb jelent meg Spectrumék ajtaja mellett. Lehet nyomkodni :)

Pgyuri

ui: szintén 1.75 Mhz-ra időzítve. Azt a néhány hamis hangokat nem én csináltam, így van benne.
Csatolmányok
CSENGO4.z80
Dallamcsengő (másik verziója)
(5.25 KiB) Letöltve 33 alkalommal.

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

Re: Z80 dallamcsengő és eprom

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

Üdv,

Mielőtt forrást publikálnék, 2 érdekesség:

Az első dallamcsengőben 17 zene lapul, de ebből valamiért a La Marseillaise nagyon tetszhetett a készítőnek, mert 3x is betette, de vele párban egy másik ilyen dallam is 3x hangzik el. Vajon miért, mert így ténylegesen csak 13 különböző zene hallható.

A második dallamcsengőben 158 dallamocska lapul, jó sok magyar beütéssel, van benne Füles Mackótól kezdve, "Újra hallom, újra hallom..."-on át, karácsonyi dallamokig minden. Nem is érthető igazán, ez miért volt jó, mert 158 dallam mire átfordul, ahhoz ritka sok vendégnek, gázóra-leolvasónak kell érkeznie és akkor is csak egyszer hallható a kedvenc mű.

A ROM vagy mentése hibás lehet, mivel az utolsó zenét nem zárja le $FF, így soha nem indul előről, hanem onnantól érvénytelen memóriacímről kezd olvasni, hiszen túlcímezi a ROM méretét. Ha a 8193 címről hardverből $FF érkezik, akkor nincs baj.

Felhívás:

A szép forrás kommentezésért aki érez magában kedvet, megírhatja, hányadik zenének mi az eredeti címe. Néhányra még valahogy ráismerek, de a legtöbb csak ismerősen cseng.

Pgyuri

Avatar
Zozosoft
Hozzászólások: 777
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Zozosoft » 2015.04.16. 13:41

Pgyuri írta: Az első dallamcsengőben 17 zene lapul, de ebből valamiért a La Marseillaise nagyon tetszhetett a készítőnek, mert 3x is betette, de vele párban egy másik ilyen dallam is 3x hangzik el. Vajon miért, mert így ténylegesen csak 13 különböző zene hallható.
Tetszik amikor ilyen finomságok kiderülnek!
A ROM vagy mentése hibás lehet, mivel az utolsó zenét nem zárja le $FF, így soha nem indul előről, hanem onnantól érvénytelen memóriacímről kezd olvasni, hiszen túlcímezi a ROM méretét. Ha a 8193 címről hardverből $FF érkezik, akkor nincs baj.
Lehet, hogy soha nem is próbálták végig játszani az összeset :D
Ha közben meg áramszünet van, akkor úgyis visszaugrik az elejére.

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

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Pgyuri » 2015.04.16. 14:12

Üdv,

Én is szeretem a finomságokat, ezért is láttam benne fantáziát, hogy "spectumosítsam". Maga az első lejátszó kódja nagyon szimpla megoldásokat tartalmaz, ám a másodikban igencsak megnehezítették a kód áthelyezését, mivel teljesen célorientáltan írták meg, bár még mindig lehetne rajta egyszerűsíteni, ami szintén jó kihívás.

Az pedig egyértelműen látszik, hogy igazi mérnök tervezte, mert hogy ...

... nem gondolt az "ajtót kinyitottam" kapcsolóra, amitől a fejem felett tovább zenél jó hangosan,
... nem gondolt a 158 zene értelmetlenségére, pedig a gyerek kedvence a Füles mackó, így csak az kellene (amit ráadásul kettévágott, így még egyben sem élvezehető),
... nem gondolt a leragasztott csengőgombra, ami elég szomszéd-kergető, ha ügyes a tréfamester a nyaralás alatt,

szóval elkelne még egy kis fejlesztés, de mondom mindezt úgy, hogy hardver oldalról nem ismerem a szerkezet működését, így lehet, hogy az utolsó felvetésre van megoldás a szerkezetben. Az első és második esetre biztos nincs, mivel ahhoz a szoftverben is kellett volna ügyeskedni.

Hangzásban vitatnám buddhasoft felvetését, a lejátszók teljesen azonos elven működnek, nincs bennük semmi extra megoldás, hanghajlítás vagy egyéb trükkre lehetőség.

Pgyuri

Avatar
csege
Hozzászólások: 218
Csatlakozott: 2012.01.06. 15:15
Tartózkodási hely: Föld.Naprendszer.Tejút

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: csege » 2015.04.16. 16:24

az epromot, ha törlöd, minden cella FFh értékre áll be.

anno mi úgy írtunk epromot, hogy a nem használt részt békén hagytuk.
(mert minek vacakolni vele, és oda később is lehet vmit írni)

ezért én csodálkoztam, hogy a leközölt eprom tartalomban (feleslegesen!) ki volt nullázva a nem használt rész,
hiszen a nem írt FFh cella automatikusan dallamsor-vége jelként funkcionált.(volna)
(mint ahogy a bociboci epromnál is látható volt)
tehát, ha a hosszú 00h tömböket FFh ra cseréled, akkor az írás is gyorsabb lesz, és a dallamsor végénél megáll a lejátszó, és kezdi előről.
(c)

Avatar
Zozosoft
Hozzászólások: 777
Csatlakozott: 2012.01.06. 14:03
Kapcsolat:

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Zozosoft » 2015.04.16. 19:06

Szerintem a legtöbb ember lelkivilágához az áll közelebb, hogy nullázva legyen a nem használt terület.
Aztán mikor alaposabban megismerkedik az EPROM (ill. utódai: EEPROM, Flash ROM) lelkivilágával, akkor kezd átállni a FFh-ra. Tudom mert én is átmentem ezen :-)

Egyébként ha jól értem az EPROM végig ki van tömve, így nem játszik az, hogy a törölt, nem írt rész lesz a vége jel. Bár lehet, hogy a fejlesztés során, amikor még kevesebb volt a zene, akkor így volt, aztán a végén elfelejtkezett róla.

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

Re: Z80 dallamcsengő és eprom

Hozzászólás Szerző: Pgyuri » 2015.04.16. 22:10

Üdv,

Az eprom végig van írva, tehát nincs a végén "ottmaradt" $FF trutyi, így a zene érvénytelen címről olvas 65535-ig (ha 0 jön, akkor szünet, ha $FF akkor szerencse, ha véletlen érték, akkor hangkavalkád), majd 0000 címtől kiad pár selejt hangot, míg végre belebotlik egy zene vége jelbe.

ROM-hoz (figyelem, borzasztó értelmetlen szakmai szöveg következik):

Kíváncsi lennék, hogy más processzorokon a $FF kódnak milyen utasítás felel meg, de Z80 esetén értelmes, RST 38h , ami megfelel egy szimpla IM 1 megszakítás lefuttatásának, így tehát ha rátéved a ROM program egy ilyen területre, galibát nem okoz, max. végrehajtja a megszakítás programot.

Egy ilyen kütyü esetén azért kis kalamajka keletkezne, mivel nincs RAM, tehát a hívási pont címe nem mentődhet el, tehát a lefutás utáni visszatérés reménytelen értelmes helyre, hacsak nem $FFFF-re, ami uán $0000 következik, tehát RESET.

Egy tény:

Megerősíthetné egy hardveres szakember, hogy mi történik, ha olyan címről olvasunk/írunk, ami nem is létezik. Néhány utasítás lelkesen írna a RAM-ba (veremcímre), nehéz is sokszor elkerülni a CALL, PUSH, RST utasításokat. Egy ROM program ezért szép, mert mindent meg kell oldani lehetőleg RAM nélkül. Ez Spectrumnál a magnó részeknél fantasztikusan van kidolgozva, de mindent nem lehetett megoldani a meglévő regiszterekkel. Az Enterprise még csodálatosabb, hogy az egész címtartomány írható, így ott például a 2-es megszakítás teljesen értelmetlen, sokkal egyszerűbben megoldható a programozás ezen kihívása. (na elkalandoztam a dallamcsengőről, maradjunk a témánál)... bimm bammmm

Pgyuri

Válasz küldése

Ki van itt

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