Welcome, Guest. Please login or register.


Author Topic: WHB (Read 8694 times)

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
WHB
« on: 2010.January.30. 18:03:04 »
Akkor mostmár jöhetne valami 2010-es enterprise program is... :)
Hát akkor itt is van :D
Egy kis gondom még van vele, zenelejátszás közben egy kicsikét ciripel, keresgéltem, de nem találtam az okát.
Az A7-es port-on keresztül emulálja a hangot a program, hol 0-át, hol 18h-t irva ki rá, a program indulása előtt az A0-AF portokat nullázom, majd az AC-be, és A8-ba töltök némi értéket.
Valmi ötlet? :oops:

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: WHB
« Reply #1 on: 2010.January.30. 18:59:33 »
Hát akkor itt is van :D
Egy kis gondom még van vele, zenelejátszás közben egy kicsikét ciripel, keresgéltem, de nem találtam az okát.
Az A7-es port-on keresztül emulálja a hangot a program, hol 0-át, hol 18h-t irva ki rá, a program indulása előtt az A0-AF portokat nullázom, majd az AC-be, és A8-ba töltök némi értéket.
Valmi ötlet? :oops:

A Spectrum változat nem "ciripelt" ?

Egy másik lehetséges megoldás a Spectrum hang emulációjára:
  A0H, A4H: 1 (ez lehet, hogy nem kell, illetve emulátoron biztosan nem)
  A8H, ACH: 3FH
  A7H: 7
  A1H: 0 vagy 80H váltakozva
De szerintem ez nem oldja meg a problémát. Az okozhatja a "ciripelést", hogy a program úgy valósít meg többszólamú hangot, hogy nagyon gyorsan váltogatja a hangkimeneten az egyes csatrornákat. Lehet, hogy a Spectrumhoz képest más lett az időzítés (ha ott jó a hang) ?

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #2 on: 2010.January.30. 19:13:03 »
A Spectrum változat nem "ciripelt" ?

Egy másik lehetséges megoldás a Spectrum hang emulációjára:
  A0H, A4H: 1 (ez lehet, hogy nem kell, illetve emulátoron biztosan nem)
  A8H, ACH: 3FH
  A7H: 7
  A1H: 0 vagy 80H váltakozva
De szerintem ez nem oldja meg a problémát. Az okozhatja a "ciripelést", hogy a program úgy valósít meg többszólamú hangot, hogy nagyon gyorsan váltogatja a hangkimeneten az egyes csatrornákat. Lehet, hogy a Spectrumhoz képest más lett az időzítés (ha ott jó a hang) ?

Ott jó volt a hang, az időzítés egy kicsit más lett, ugyan az OUT (0FEH),A lecserélésénél nem, de az előtte szereplő LD A,(nnnn) miatt igen, mivel a keretszín kezelését máshol oldottam meg, ezért az előbb említett utasítást LD A,00H-ra, és egy NOP-ra cseréltem, ezzel elméletileg gyorsult egy kicsit a lejátszás.
Arra gyanakodtam, hogy az kavarhat be, amikor az A7H-ra 00H-át írok, nem pedig 03H-t, és hiába van A0H-A5H lenullázva, mégis hang kerül a kimenetre.

Offline szipucsu

  • Global Moderator
  • EP addict
  • *
  • Posts: 9888
  • Country: hu
    • Támogató Támogató
    • Webnyelv.hu - Tanuljunk nyelveket!
Re: WHB
« Reply #3 on: 2010.January.30. 20:27:47 »
Egész érdekes játéknak tûnik.  :smt041
Csak még az irányítás viszontagságain nem sikerült túlvergõdnöm, de majd nemsokára.
100 SOUND SOURCE 2,STYLE 128,PITCH 25.2,SYNC 1
110 SOUND PITCH 25,SYNC 1
120 ! Videos

Offline Lacika

  • EP addict
  • *
  • Posts: 3189
  • Country: hu
    • http://www.ep128.hu
Re: WHB
« Reply #4 on: 2010.January.30. 22:23:44 »
Jó kis program, köszönjük!
Két észrevétel.
- Legfelül kicsit sötét a raszter a instrukcióknál illetve a WELL DONE feliratnál, alig lehet elolvasni. Kérhetünk itt egy kicsit világosabb színt? Esetleg ki-bekapcsolható rasztercsíkok?
- Lehetne EP64-en futtathatóvá tenni?

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #5 on: 2010.January.31. 00:20:46 »
Jó kis program, köszönjük!
Két észrevétel.
- Legfelül kicsit sötét a raszter a instrukcióknál illetve a WELL DONE feliratnál, alig lehet elolvasni. Kérhetünk itt egy kicsit világosabb színt? Esetleg ki-bekapcsolható rasztercsíkok?
- Lehetne EP64-en futtathatóvá tenni?
WELL DONE-nál lecseréltem egy másik attributumra, az instrukciónál maradt minden, de F2-vel át lehet váltani a Spectrum palettára, F1-gyel meg vissza.
Úgy készült, hogy ott is fusson, de egy hibát vétettem  :oops: , ezért volt a fagyi, orvosolva :)
W*H*B
« Last Edit: 2012.August.15. 09:32:33 by geco »

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #6 on: 2010.January.31. 14:42:25 »
Akit érdekel, a 31. pályáig kódok, igat nem az elejétől :D
79009233
55197620
82313133
92131998
73983211
22022133
60301769
21074488
98125546
60660666
06217794
88421753
00707077
17522964
11010110

Offline Lacika

  • EP addict
  • *
  • Posts: 3189
  • Country: hu
    • http://www.ep128.hu
Re: WHB
« Reply #7 on: 2010.January.31. 14:59:47 »
Itt az összes.  :ds_icon_cheesygrin:

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #8 on: 2010.January.31. 15:30:53 »
Itt az összes.  :ds_icon_cheesygrin:
Szuper, tovább nem is töröm magam :D Köszi szépen, a lista segítségével észrevettem egy csúnya attribútumhibát, a játék végén a gratuláló képernyő szép zöld színben pompázott :D
Javítva, és a fájl cserélve, a letöltések között.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: WHB
« Reply #9 on: 2010.January.31. 21:38:10 »
Ott jó volt a hang, az ido"zítés egy kicsit más lett, ugyan az OUT (0FEH),A lecserélésénél nem, de az elo"tte szereplo" LD A,(nnnn) miatt igen, mivel a keretszín kezelését máshol oldottam meg, ezért az elo"bb említett utasítást LD A,00H-ra, és egy NOP-ra cseréltem, ezzel elméletileg gyorsult egy kicsit a lejátszás.

Az LD A, (nnnn) lecserélésének nem hiszem, hogy van jelento"sége, mert az csak inicializálás, és nem része a hangot generáló ciklusnak. Az OUT (0FEH), A cseréje viszont valójában változtatja az ido"zítést, mert az ULA porthoz való hozzáféréskor Spectrumon várakozás lehet a képernyo" pozíciótól függo"en. Azonban ez sem jelento"s, és nem okozhatja a hibát (illetve éppen a Spectrumon kellene kis mértékben pontatlannak lennie :)).
A valódi probléma az emulátor ido"zítésének a pontatlansága :oops: Ez megfigyelheto" a frekvenciákat így beállítva a konfigurációban: 3500000/875000/437500 - azonnal eltu"nik a ciripelés. De akkor sem hallani, ha csak a "video clock frequency" van 1000000-ra állítva az alapértelmezett 889846 helyett, és marad az eredeti EP-s Z80 és DAVE frekvencia.
Tehát vagy az emulátor ido"zítését kellene javítani/továbbfejleszteni, vagy a játékot módosítani, hogy például a DAVE hanggenerátorokat használja. A tömörített verzióban éppen ezt tettem, és így egyben pontosabb lehetett a frekvencia és a sebesség is, és sztereó hangot is meg lehetett valósítani.

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #10 on: 2010.February.01. 09:19:14 »
Az emulátorra nem gondoltam volna soha. Elméletileg ebben a verzióban is mindkét oldalon kéne szólnia a hangnak, hangerő érték mind A8-on, mind AC-n van.
Hibák előfordulhatnak, illetve egy biztosan van: a melegindítás nem működik EP64-en.
Azt nem néztem meg, mivel kb 2200h-ig használom az FF szegmenst, arra gondoltam, hogy emiatt nem megy a melegreset.

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: WHB
« Reply #11 on: 2010.February.01. 18:51:23 »
Elméletileg ebben a verzióban is mindkét oldalon kéne szólnia a hangnak, hangerő érték mind A8-on, mind AC-n van

A sztereó hang alatt azt értettem, hogy a két oldalon nem ugyanaz hallható :) Például - amint ez a módosított verzióban is van - a hang pozíciója változhat a magasság függvényében.

Quote
Azt nem néztem meg, mivel kb 2200h-ig használom az FF szegmenst, arra gondoltam, hogy emiatt nem megy a melegreset.

Valójában volt egy hiba az én verziómban, az eredetivel működött a melegindítás :oops: Ezt javítottam, de további problémát jelentett, hogy a program túl sok memóriát használ (és a felhasználói határt nem ennek megfelelően állítja be), tehát EXDOS-os rendszeren még mindig lefagyott :( Megoldásként töröltem azt a részt, amely az LPT-ről másolatot készít, és átírtam a kódot, hogy az F1 és F2 billentyűk a memóriában módosítsák az LPT-t, és ne a 83H portot állítsák. Így már elfért a betöltő és az LPT a 1710H határig, ami 64K+BASIC+EXDOS mellett elégnek tűnik, akinek pedig nagyon sok bővítője van, az remélhetőleg egyben a RAM-ot is bővíti :). De lehetne 1610H is, ha a módosításokat nem kiegészítésként, hanem a kódot átírva tároltam volna.
További kisebb változtatások:
  - a zenénél a várakozást is átírtam üres ciklusokról DAVE időzítő használatára, tehát EP64-en nem lesz (sokkal) lassabb a zene
  - a melegindításnál átírtam a B217H rutin használatát közvetlen ugrásra a 01:C00DH címre - ez EXOS 2.0 kompatibilis, és egyben rövidebb is; az eredeti megoldásnak csak akkor van igazán értelme, ha az ugrás a 3. lapról történne

[ Guests cannot view attachments ]
[ Guests cannot view attachments ]

Ez az eredeti verzió:

[ Guests cannot view attachments ]

Forráskód (egyszerűen beállítható tömörítetlen verzió fordítására is; a "start.bin" file az eredeti START az első 19 byte nélkül):

[ Guests cannot view attachments ]
« Last Edit: 2010.February.01. 18:54:46 by IstvanV »

Offline geco

  • EP addict
  • *
  • Posts: 7069
  • Country: hu
    • Támogató Támogató
Re: WHB
« Reply #12 on: 2010.February.01. 22:43:03 »
A sztereó hang alatt azt értettem, hogy a két oldalon nem ugyanaz hallható :) Például - amint ez a módosított verzióban is van - a hang pozíciója változhat a magasság függvényében.
Jogos, ott a pont :D , én azt hittem, hogy csak az egyik oldali hangszóró szól az átiratban.
Valójában volt egy hiba az én verziómban, az eredetivel működött a melegindítás :oops: Ezt javítottam, de további problémát jelentett, hogy a program túl sok memóriát használ (és a felhasználói határt nem ennek megfelelően állítja be), tehát EXDOS-os rendszeren még mindig lefagyott :( Megoldásként töröltem azt a részt, amely az LPT-ről másolatot készít, és átírtam a kódot, hogy az F1 és F2 billentyűk a memóriában módosítsák az LPT-t, és ne a 83H portot állítsák. Így már elfért a betöltő és az LPT a 1710H határig, ami 64K+BASIC+EXDOS mellett elégnek tűnik, akinek pedig nagyon sok bővítője van, az remélhetőleg egyben a RAM-ot is bővíti :). De lehetne 1610H is, ha a módosításokat nem kiegészítésként, hanem a kódot átírva tároltam volna.
További kisebb változtatások:
  - a zenénél a várakozást is átírtam üres ciklusokról DAVE időzítő használatára, tehát EP64-en nem lesz (sokkal) lassabb a zene
  - a melegindításnál átírtam a B217H rutin használatát közvetlen ugrásra a 01:C00DH címre - ez EXOS 2.0 kompatibilis, és egyben rövidebb is; az eredeti megoldásnak csak akkor van igazán értelme, ha az ugrás a 3. lapról történne
Egy zseni vagy  :bow: :bow: :bow: , amikor a palettaváltást valósítottam meg, eszembe se jutott, hogy esetleg nem a két LPT között kéne váltani, nem is tudom miért  :smt017
A user boundary eredetileg jól volt beállítva, csakhogy jött az a fránya 2. LPT :D
Átvettem az újításaid/javításaid, és beépítettem a programba, így a user boundary lekerült 1510h-ra :)
Köszi szépen
Legközelebb tényleg beteszek minden forrást, mint ahogy egyszer már ígértem :) , gondoltam rá most is, de elvetettem, mert eléggé csúnyán nézett ki a betöltő forrása. :)

Ja, és a módosított verzióra lecseréltem a programot a downloads-ban, ismét :D

Offline IstvanV

  • EP addict
  • *
  • Posts: 4822
Re: WHB
« Reply #13 on: 2010.February.02. 15:53:20 »
Átvettem az újításaid/javításaid, és beépítettem a programba, így a user boundary lekerült 1510h-ra :)

Tömörítve (a whb.com file ugyanaz maradt):
  [ Guests cannot view attachments ]
"dtf -lz" formátumban:
  [ Guests cannot view attachments ]