TVC Fórum

Hardver => TVC Fejlesztések => A témát indította: RetroHW - 2013. Június 2. - 16:05:20

Cím: 6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 2. - 16:05:20
Sikerült a SAM Coupéban(és a ZX-ekben) használt áramkört beépítenem a TVC-mbe. Készítettem hozzá orosz források alapján egy egyszerű E-tracker lejátszót is. Ha valakit esetleg érdekelnek a részletek, szívesen dokumentálom, és az IC beszerzésében is segítek.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 3. - 10:23:10
Az igen gratula! Szívesen meghallgatnék egy demó felvételt róla. A TVC egycsatornás hangja helyett nagy előrelépés lenne. Minden dokumentáció érdekelne.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 4. - 20:50:13
Szia,
most készítettem a videót, bár a google azonnal rámszállt, hogy harmadik féltől származó tartalom:-(.
Mindegy nézétek meg, a dokumentáció még készül, az is elképzelhető, hogy noname szerző zenéjével kellene felraknom.
Örülnék ha valaki mondjuk berakná az emulátorába az SAA emulációt, mert egy trackert akkor lehetne fejleszteni és saját zenéket gyártani akár saját játék alá is. Az eredeti dll a sourceforge-ról letölthető, de szívesen átküldöm annak aki foglalkozna vele.
Mindössze az FFh és az FEh portokról kéne levenni a bájtokat(mert oda raktam a cuccost, jó lenne egy közösen megbeszélt szabványosítás a fejlesztett hardverekre, hogy ne ütközzön senki senkivel, így közel 30 év után:-)).

Íme a videó:
https://www.youtube.com/watch?v=ZCaBS-sGkBc (https://www.youtube.com/watch?v=ZCaBS-sGkBc)

Fogyasszátok egészséggel! :-)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 5. - 02:17:01
Küldd el légyszi a CAS programot. megpróbálom belehegeszteni az EMU-ba a chipet. Mivel van DLL hozzá elvileg nem nehéz.
Viszont a vb nem igazán akarja egyenlőre megenni az SAAemu.dll függvény deklarációit, azzal szenvedek. 
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 5. - 18:36:29
Csatolok kettőt is, ha jól dolgozol, a másodikat is meghallgathatod :).

Az eredeti player regiszterei az 1FFh(regcím) és az FFh(adat) címeken voltak, az saaplayer példaprogijában ezeket a címeket találod. Viszont a TVC a BASIC-ben nem tud az OUT-nál 255 feletti értéket kiadni, ezért kompatibilitási és programozástechnikai okokból az FFh FEh portokra raktam az eszközt.
Az eredeti playert is egyszerübb volt így átírni, és a hardver huzalozása is ésszerűbb.

A müködését tekintve kurzormegszakítás alá van berakva a play rutin a casban, másodpercenként 50-szer meghívva automatikusan updateli a kiküldött adatokat.

Az SAA regiszterei csak írhatók.

Kíváncsi vagyok mit sikerül alkotnod, és köszönöm :).

A videóimat igyekszem úgy csinálni, hogy az elején a hangsáv hordozza a programot, így egy androidos telefon + jack-din kábellel az eredeti gépen azonnal használhatóak legyenek a szoftverek, kiváltva a jó öreg magnót :).
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Gaia - 2013. Június 5. - 22:46:39
Ismerős ez a zene, ez micsoda?
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 6. - 07:22:42
Az első casban az OMD - Enola Gay dallama van, a másodikat nem tudom megmondani. Egy cseh fickótól kértem/kaptam ezeket a zenefájlokat. Az ő tanácsára kezdtem el kutakodni orosz oldalakon, és utána találtam már egy csomót magamtól is.
Eleinte a Popcorn-t szerettem volna belerakni, de az nem E-trackeres, hanem "önhordó", tehát tartalmazza a bináris fájl a saját player rutinjait is. Azt egyelőre nem tudtam kibogarászni milyen címre rakjam, hogyan inicializáljam stb.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 6. - 08:39:13
A tracker fájl formátumáról, ill az SAAsound.dll használatáról vannak doksik? Én eddig nem találtam.
Először csak egy lejátszó progit szeretnék összehozni, aztán mehetne az implementáció.
Egyébként 255-nél nagyobb kimeneti portot hogyan lehet címezni? Gépi kódból se megy szerintem, vagy igen?
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: VaszicsApoca - 2013. Június 6. - 08:51:07
Attilák! (Gaia és Atka72)
Sikerült emulálni a WinTVC-be, vagy a PCZ80-ba a hangkártyát, hogy meg tudtátok hallgatni, indítani a cas file-t. Vagy most folyik a "művelet". A SamPlay programot mellékelem forrásfile-al együtt a teljes csomagot. A zip file-ban a SamPlay.exe-ét átneveztem xxx-re, hogy ne zavarja az vírusirtókat.   
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Zozosoft - 2013. Június 6. - 09:41:55
Egyébként 255-nél nagyobb kimeneti portot hogyan lehet címezni? Gépi kódból se megy szerintem, vagy igen?
IN A,(n)/OUT (n),A utasításoknál az A regiszter, IN r,(C)/OUT (C),r utasításoknál a B regiszter kerül ki a címbusz felső 8 bitjére.
Ezt használják ki Spectrumon, 128-as gépen a 7FFDh a lapozó regiszter, BFFDh az AY data, FFFDh az AY cím.
Tehát pl a lapozás úgy néz ki:
LD A,n
LD BC,7FFDh
OUT (C),A

A Spectrum billentyű olvasás is ezt a trükköt használja ki, ott a kiküldött felső 8 bit mondja meg, hogy melyik sort akarjuk leolvasni a billentyű mátrixból, pl:
LD A,0F7H
IN A,(0FEH)

Ugyanez másként:
LD BC,0F7FEH
IN A,(C)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 6. - 10:21:01
Zozosoft: Köszönöm  most már értem, trükkös egyben arra is rájöttem miért nem tudtam a bilentyűt lekérdezni a spectrum emumban :).

Abban tud valaki segíteni hogy hogyan kéne vb ben deklarálni az SAAemu függvényeit?
Van rá megoldás, vagy csak wrapperel lehet megoldani?

Így próbáltam :
Public Declare Sub saa_Init Lib "SAAemu.dll" ()
Public Declare Sub Init Lib "SAAemu.dll" ()

Call sam.Init

de mindíg  "cannot find DLL entry point Init in SAAemu.dll" az eredmény.

A WinTVC-be gondolom elég könnyen be léehetne építeni mert az is C++ ban van.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 6. - 10:35:13
Az eredeti (16-bites portcímzéses) kódrészlet assemblyben:
ld bc,1FFh
ld de,1C01h               
out (c),d
dec b
out (c),e

Amit a következők szerint írtam át:
ld bc,0FFh
ld de,1C01h
out (c),d
dec c
out (c),e

Ez után még párszor betölt 1-1 bájtot, és a  portot eredetileg inc b majd dec b-vel címzi amit szintén átírtam inc c dec c-re.
Így csináltam belőle 8 bitest, hogy BASIC-ben is használható legyen.

Ezen a linken elérhető az scplayer forrása, van hozzá egy Z80 emulátor, az scplayer.cpp-ben van a lényeg.
https://github.com/Deltafire/SCPlayer/tree/master/src/scplayerlib (https://github.com/Deltafire/SCPlayer/tree/master/src/scplayerlib)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: PeterGriffin1 - 2013. Június 6. - 18:43:15
Köszönet a demó videóért, kellemesen muzsikál :)
Az illesztő I/O port kiválasztásánál érdemes figyelembe venni, hogy eredetileg a SLOT0..3 jelek használandók a bővítőkártyák perifériacímzésére. Ezek 16-bájtos tartományt jelölnek ki a gép alap I/O tartományában. Előnyük, hogy nem kell a felső címbiteket dekódolni és már össze vannak kapuzva a Z80-as IORQ jelével, így közvetlenül használhatók IC kiválasztójelként (nCS). Hátrányuk, hogy a 4 bővítőkártya hely 4 külön címtartományban van, vagyis a kártyát másik slot-ba dugva másik I/O báziscímen érhető el. Ezért azt a programok indulásakor külön meg kell adni.
Másfelől, ha saját címdekódert használsz, akkor 080h fölött érdemes elhelyezni az I/O címet, mert a TVC csak az alsó 128 címet használja. (A 0FEh és 0F0h fölötti címeket a Spektrum emulátor kártyának érdemes meghagyni).
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 9. - 17:44:07
Huh, mondjuk az elkerülte a figyelmemet, hogy a spektrumemu kártya pont azokat a portokat használja. Lehetne belőle különálló kártya, csak nem vagyok berendezkedve nyákgyártásra, így maradt a próbanyákos, beforrasztós móka. Viszont ez áthidalható, de akkor már egy többfunkciós kártyát szeretnék csinálni, amire felkerül mindaz ami nekem egy TVC-ből hiányzik. A soros vonal, a hang, egy valódi RTC és egy IDE csatoló.
Apropó létezik valahol egy kommentezett HBF ROM? Disassemblálni tudom, csak míg kitalálom hogyan tudom átírni, hogy a HDD-t kezelje CHS módban...
Tudom, sdinterface, na de ha az i80C31-el meg tudtam csinálni a HDD kezelést, csak menne TVC-vel is:-).
És legalább használnám ezt a jópár 100MB-2GB-s vinyómat.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Zozosoft - 2013. Június 9. - 21:29:28
hogy a HDD-t kezelje CHS módban...
EXDOS-VTDOS rokonságból kiindulva, inkább LBA!
FISH maga mindenütt 16 bites LBA-t használ (azaz a maximális lemezméret 65535 szektor lehet), ehhez csak hozzá kell adni a partició kezdőszektorának számát és kész.

Ami kérdés, hogy a TVC-re készült "vágott" verzióban benne van-e a további lemezkezelőkkel bővítés lehetősége? Ha nem, akkor a floppykezelő helyére kell bevarázsolni.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 9. - 22:27:03
Visszakanyarodva az SAA1099-hez:
A meglévő SAA DLL-t nem sikerült sehogy beüzemelni vb alatt, ezért inkább elkezdtem leprogramozni.
A mellékelt demó mutatja a jelenlegi eredményt.
A frekvencia és zaj generátorok, mixerek, amlitúdó szabályzó kész van.
A burkoló görbe előállítása számomra nem volt teljesen világos, még csak nagyjából működik
Sajnos elég hamisak a hangok valamiért, pedig az oktáv váltások jól működnek és a megadott adatokat írtam bele.
Manuálisan is lehet állítani mindent, lehet vele kísérletezni, hogy mi nem stimmel.
Oszcilloszkóp kimeneten lehet ellenőrizni a hullámformát.
Ha a buffer méret/20ms/ nem egész szémú többszöröse hangok hullámhosszának akkor eléggé brummog.Ez volt a gond a TVC hangjával eddig is. Kéne rá valami jó megoldás.

Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 10. - 05:47:26
Atka72, ez egész jól szól :). Még emlékszem mikor az emulátort kezdted írni, és a videó állandóan csíkozott a formban. Csak arra akartam célozni, hogy előbb utóbb biztos lesz rá megoldás :). Régen zenéltél is nem? Vagy csak rosszul emlékszem?

Zozosoft köszönöm az infót, még nem ástam bele magam annyira, csak fantáziálgatok. Igyekszem bővíteni az ismereteimet :).
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Kiss Károly - 2013. Június 15. - 18:29:51
RetroHW: tárt karokkal várjuk a leírást a tvc oldalra kirakható formátumban :D
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 17. - 09:12:36
sprite kezelést meg ami még eszünkbe jut.
Kissé offtopic:
Múltkor néztem, hogy van egy IC ami 32 spriteot kezel, 6 dolcsi körül van. Az MSX2-ben volt használatos.
Lényeg a lényeg, még erre is van emuláció C-ben.
http://mamedev.org/source/src/emu/video/v9938.c.html
Bár ennek a realtime emulációjához kevés lenne szerintem a mikrovezérlő.
Magam részéről biztosan nem használnék FPGA-t a jelenlegi nem túl tartós gyártástechnológia miatt. Ahhoz drága, hogy hamar kinyúvadjon. Akkor inkább a 6 dolcsis 20 éves IC.
Fejlesztésnél viszont biztos hogy jobb az eredeti vas, mert az lehet az etalon. Lehet "mérni". Utána meg lehet csinálni költséghatékonyan, de kell egy viszonyítási pont a finomhangoláshoz. Ha emulációval kezdünk, sosem tudjuk, hogy hol csúszik a dolog az eredeti, jól működőhöz képest.
Ez csak az én személyes véleményem.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: VaszicsApoca - 2013. Június 17. - 14:57:59
Ezzel az IC-el csak a sprite "képesség", vagy "plusz monitor" kezelés (színek stb) is megvalósulhatna? Úgy tudom az MSX-ek Z80 alapú, de "szuper" gépek voltak, szinte...
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 18. - 20:22:27
Akkor feltehetőleg nem állunk messze a "szuper" géptől, mert a Z80 3,5MHz-en ment az MSX2-ben is, a leírások szerint, minimum 64K rammal. Sajnos nem volt szerencsém ilyen géppel élőben találkozni, főleg programozni. Viszont a Yamaha láthatott valami fantáziát a Texas Instruments(http://en.wikipedia.org/wiki/Texas_Instruments_TMS9918 (http://en.wikipedia.org/wiki/Texas_Instruments_TMS9918)) videóvezérlőjében ha továbbfejlesztette. Ebből lett a V9938(https://en.wikipedia.org/wiki/Yamaha_V9938 (https://en.wikipedia.org/wiki/Yamaha_V9938)).
A video chip programozási leírása elég "elmászott" gondolkodásra utal. A színkezelés csak részlegesen változna, mert egy 512 színű palettából 16 színt lehetne megjeleníteni a palettás módban, a fix RGB módban pedig 256 szín jelenhet meg elvileg egyszerre. A kitöltést, vonalhúzást, másolást is hardverből tudja, ez azért elég sok terhet levesz a proci válláról.
Az eredeti TVC-s sprite modulnál mindig mikor megakad a szemem, az jár a fejemben, hogy mi a manó lehet a dobozban? Milyen elgondolás szerint épült? :)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: PeterGriffin1 - 2013. Június 19. - 11:25:07
Idézet
Az eredeti TVC-s sprite modulnál mindig mikor megakad a szemem, az jár a fejemben, hogy mi a manó lehet a dobozban? Milyen elgondolás szerint épült?
Most hogy már a belsejéről is láthatunk képeket, még elgondolkoztatóbb, vajon mégis mit tudhatott? :)
Annyi sejthető, ha a szabványos bővítőcsatlakozóra lehetett kötni, akkor csak az alap 16 színt használhatta.
Amúgy itt-ott mintha cirill betűk is feltűnnének az IC tokokon. Gyanús, hogy inkább Mo.-on szerelték össze, az angolok csak tervezték.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 21. - 00:15:40
Jé, valóban vannak róla fotók :). Összehasonlításképpen, az ATARI 2600 TIA(Television Interface Adapter) két player, két "rakéta" spriteot, két fél playfield-et kezelt+ezeknek az ütközéseit. http://www.atariage.com/2600/archives/schematics_tia/ (http://www.atariage.com/2600/archives/schematics_tia/)
Ennél egy kicsit bonyolultabb a TIA belső felépítése ránézésre, szerintem ezért sem lett a "mienkből" semmi.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: teki - 2013. Június 21. - 02:57:07
A Yamaha V9938 idealisnak tunik videokartya projekthez (MSX video chip):

http://bitsavers.informatik.uni-stuttgart.de/pdf/yamaha/Yamaha_V9938_MSX-Video_Technical_Data_Book_Aug85.pdf

Van belole par ebay-en.
Szinten portokon keresztul kommunikal (mint az audio), sajat video ramja van, igy nem kell a rendszer memoriahoz hozzaferes. (out utasitasokkal lehet masolni vram-ba).
Van kompozit es RGB kimenete.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 21. - 13:57:30
A portokon keresztűl írni a videómemóriát? Nem lenne nagyon lassú?
Van itt egy összehasonlító teszt róla.
http://map.grauw.nl/articles/fast_loops.php#unrolling (http://map.grauw.nl/articles/fast_loops.php#unrolling)

Miért ne legyünk akkor maximalisták? Ha már videókártyát fejlesztünk hozzá én egy 3D támogatású , OpenGL-t értő kártyát tudnék elképzelni. Nem tudom van e kész ilyesmi, de ha nincs azt lehetne FPGA-ba égetni pl.
Persze a 64KB már nem lenne elég hozzá, úgyhogy pár MB ram belepozását is meg kéne oldani.
Igaz a TVC innentől képességeit tekintve már a videókártya perifériája lenne inkább. :)
Emulátorban egyébként biztos fogok ilyet csinálni, de hardveresen nem tudom megérné e az erőfeszítést azon kívűl hogy mindenki be... tőle. / tulajdonképpen egyszerűbb egy PC-t kötni a portokra, vagy nem?/
Azt hiszem kéne nyitni egy őrült ötletek topicot is:)

(http://users.atw.hu/atkalabor/tmp/tvcvga.jpg)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 21. - 14:51:50
Van belole par ebay-en.
Van, de az újabb kiadású V9958 ami teljesen kompatibilis vele, olcsóbb is. Erre írtam, hogy 6 dolcsi körül van.
http://www.ebay.com/itm/1x-NEW-YAMAHA-V9958-V-9958-DIP64-DIP-64-IC-CHIPS-/360651527084?pt=LH_DefaultDomain_0&hash=item53f88193ac (http://www.ebay.com/itm/1x-NEW-YAMAHA-V9958-V-9958-DIP64-DIP-64-IC-CHIPS-/360651527084?pt=LH_DefaultDomain_0&hash=item53f88193ac)
Igazi hajhullás lenne megírni hozzá az alaprutinokat, bár lehet hogy ezt is el lehet érni valahol a neten, mert Z80 alapú gépekben és konzolokban használták.

Igaz a TVC innentől képességeit tekintve már a videókártya perifériája lenne inkább. :)
Bizony, kicsit elrugaszkodna a dolog a 8-bites világtól :). A legelső OpenGL-t támogató lapka nem PCI csatolófelülettel készült?

Remélem hamar megjönnek az AY-jaim, kíváncsi vagyok a hangjukra :).
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 22. - 09:22:39
Érdekes hogy az saasound.dll - ből kivett frekvencia adatokkal is teljesen hamisak a dallamok. Lehet ezért? Ezt az utalást találtam benne:
/Ha jól értem nem mindegy az adatok érkezésének sorrendje de hogy is van ez pontosan?/

// loads the buffered new octave and new offset data into the current registers
   // and sets up the new frequency for this frequency generator (i.e. sets up m_nAdd)
   // - called during Sync, and called when waveform half-cycle completes

   // How the SAA-1099 really treats new data:
   // if only new octave data is present,
   // then set new period based on just the octave data
   // Otherwise, if only new offset data is present,
   // then set new period based on just the offset data
   // Otherwise, if new octave data is present, and new offset data is present,
   // and the offset data was set BEFORE the octave data,
   // then set new period based on both the octave and offset data
   // Else, if the offset data came AFTER the new octave data
   // then set new period based on JUST THE OCTAVE DATA, and continue
   // signalling the offset data as 'new', so it will be acted upon
   // next half-cycle
   //
   // Weird, I know. But that's how it works. Philips even documented as much.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 24. - 12:06:00
Ha csak az oktáv van frissítve, akkor az annak megfelelő periódusidőt állítja be.
Ha az offset akkor meg csak azt.
Ez kb. úgy hangzik, hogy beállítom az oktávot és annak mondjuk a legalsó hangján szólal meg. Ha pedig csak a hangjegyet, akkor mondjuk a legalsó oktáv hangjaként szólal meg.
Mintha a másik regiszter tartalmát randomra állítaná be vagy defaultra.
Szerintem ez így nem logikus.
Az emulációnál ha csak az offset íródik át, újra be kell küldeni az oktáv adatot is. Tehát figyelni kell hogy mikor ír csak az egyikbe meg csak a másikba és ki kell egészíteni az előzőleg beküldött adatokkal, amit aztán újra be kell küldeni.
De ez így elég furán hangzik, mert ha az IC így működne, akkor a programocska ami lejátssza a zenét gondoskodna a hardveres bugról hiszen az eredeti meg megy rendesen.
Ráadásul azt írja, hogy csak akkor kezeli rendesen, ha előbb megy be a hangjegy és utána az oktáv adat, különben a következő ilyen váltásnál a másik hangot fogja ehhez az oktávhoz rendelni és akkor aztán tényleg hamis lesz :).
De ha ez igaz, akkor az eredeti hardver ugyanazzal a szoftverrel hogyhogy jól működik? :)
Van egy tök jó kis leírás, amit félig lefordítottam már magyarra, persze TVC-re átgyúrva, de még nem fejeztem be. Abban is azt írják, hogy a sorrend fontos:
http://velesoft.speccy.cz/samcoupe/saa1099/saa1099-doc5-en.png (http://velesoft.speccy.cz/samcoupe/saa1099/saa1099-doc5-en.png)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 24. - 12:57:51
Ez nekem így elég zavaros. Ki tudnád próbálni a kártyán hogy mi az igazság?
Azt kéne tudni mikor módosul a kiadott hang , oktáv vagy frekvencia regiszter íráskor, vagy mikor.
Valamihez hozzá kell biztos rendelni, mert egyszerre nem lehet 2 regisztert írni úgyhogy oktáv váltáskor a hangok midíg ugrálnának. Ebből is látszik hogy még a legegyszerűbb dolgok is bonyolultá válnak ha a dokumentáció hiányos. A kártya nem csak 20 ms-enként tud új hangot kiadni az emu viszont igen és az utoljára beállt regiszterek hangja fog hallatszódni. Valami kezd derengeni...De elvileg a tracker progi is csak 20 ms-enként küld új adatokat nem?
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 24. - 14:54:14
Igen, a tracker progi 20ms-onként van meghívva. Ő ilyenkor módosítja a hangokat. És ha lefagy a gép, vagy kilépsz anélkül, hogy kikapcsolnád az IC-t akkor az utolsó hang marad a regiszterekben.
Mindjárt átrágom a datasheeteket újra, hátha valami elkerülte csak a figyelmemet, bár szerintem logikusan úgy nézne ki a működés, ha módosítok bármit oktávot vagy hangot, akkor az oktáv vagy hang módosul.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Június 24. - 16:06:15
Nekem is úgy lett volna logikus de valami máshogy van szerintem.
Basicből is ki tudod deríteni pár out utasítáassal hogy mi történik.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. Június 24. - 17:24:14
Holnap délelőtt tudom csak megnézni, d.u.-s vagyok.
Volt valami szintiprogram TVC-re nem? Ha basic alapú, akkor átírom az SAA-ra :D
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: PeterGriffin1 - 2013. Június 25. - 13:33:44
Nem ismerem annyira ezt az IC-t, de véleményem szerint ez is hasonló számláló láncot tartalmaz mint a TVC hanggenerátora. Tehát a beírt oktáv és offszet érték együttesen egy 11 bites értéket adnak. Erről az értékről kezd el visszafelé számolni az adott csatorna frekvencia-generátora. Amikor eléri a 0 értéket kiad egy szintváltást a kimeneti jelen (félperiódus) és újra betölti az oktáv és offszet értékeket a számlálóba. Ha a processzor felől számlálás közben érkezik új oktáv és/vagy offszet érték, akkor az nem kerülhet bele a számlálóba azonnal, mert különben "tönkre tenné" a korábban megszólaltatott hang utolsó félperiódusát. Ezért amikor a számláló ismét nulla lesz, megvizsgálja, hogy van-e új oktáv/offszet érték. Ha egyszerre van mind a kettőből új, akkor először csak az oktáv értéket frissíti (valamiért így oldották meg), majd az így leszámolt "sánta" félperiódus után tölti csak be az új offszet értéket is. Ezután már a helyes félperiódus hosszakkal fog dolgozni. Mivel az oktáv adja a félperiódus hosszának felső 3 bitjét, így kisebb hibát okoz, mintha az offszetet (alsó 8 bit) töltené be először.
Ez a kis döccenés csak az együttes oktáv+offszet váltáskor történik és egy félperiódusnál nem hosszabb. Így valószínűleg nincs ember aki ezt kihallaná. ;)
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. Július 5. - 10:45:57
Valószínűleg így lehet. Ezt csak az eredeti IC-vel kipróbálva lehetne kideríteni.
Viszont ez csak egy kis döccenés lenne, akkor a hamis hangok az emuban nem emiatt lesznek.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Atka72 - 2013. November 4. - 22:24:40
Csiszoltam kicsit az emuba az SAA modulon hogy ne recegjen annyira. A mellékelt mp3 ban van az eredmény.
A hamis hangok kicsit jobbak lettek, de valami még nem az igazi.
Beépítettem wav felvevőt is + nekiláttam írni hozzá egy szinti programot hogy kiderüljön min kell változtatni.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. November 25. - 12:32:23
Én pedig írom az SAAmp-ot, de jól elakadtam benne, mert az orosz kolléga nem kommentelte agyon a player scriptjét.
Önmagát módosítja a kód, és a 2. vagy 3. szám lejátszásánál rosszul inicializál, majd kiakad. Nem tudom behatárolni mit írhat felül vagy mi okozza a gondot, de rajta vagyok...
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: VaszicsApoca - 2013. November 25. - 20:33:47
Nagyon jó lenne, ha Valaki a bővítő kártyahelyre illeszthető modult alkotna ezzel az SAA1099 chippel, mert így provizórikusan nem "szakembernek" (elektró -műszerész, stb.) kivitelezhetetlen. Az SAAmp program Basic-es és DOS is lenne?
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. December 5. - 14:38:15
Pinkarga elvileg készített hozzá panelt, ennek a dokumentációját biztosan közzé teszi majd. Remélem hamar tudok vele találkozni, mert egy kis cserebere keretében én egy kimart nyákhoz, ő pedig egy IC-hez fog jutni :). Nekem sajnos csak a gépbe forrasztott verzióm van. Az SAAmp egy lejátszó lenne az E-trackeres modulkákhoz. Egyelőre csak a BASIC-es megoldást tudom élőben tesztelni. Be fogok szerezni egy SDinterface-t, de jelenleg az anyagiak és a munkabeosztásom rengeteg dologban gátolnak.
Az SAAmp-ot úgy csinálom, hogy képes legyen a memóriabővítést is kezelni, így akár "sokzenés" lejátszási lista is szóba jöhet a jövőben.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: Antiemes - 2013. December 6. - 10:35:43
Udvozletem!

A NYAK terv esetleg publikus? Ha igen, akkor elkernem.
Cím: Re:6 csatornás, sztereó hangkártya TVC-hez SAA1099P-vel.
Írta: RetroHW - 2013. December 13. - 08:28:35
Kis frissítés az SAAmp-hoz: kellett kis idõ míg rájöttem, hogy az U0 végét nem szabad birizgálni, mert a rendszer a programindításnál felülír ezt-azt, amitõl fals adatok keletkeznek  a feltöltött cuccokban. Aljas kis bosszú ez annak aki meg próbálja érteni kedvence lelki világát. Megoldás: modult U1-be 4000H-tól, fordít, betölt, örül, hátradõl. A következõ hasonló szituig... :D