OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 14:19

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 30 ]  Přejít na stránku Předchozí  1, 2
Autor Zpráva
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 10.07.2014, 17:03 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
Busy píše:
VELESOFT píše:
SAM s externim Z80CPU umi behat az na 24MHz. Tady uz je treba SIDa oddelit od sbernice...
Myslim ze ani tak vysoke MHz u Z80CPU nie su dovodom na oddelovanie SIDa (alebo akejkolvek periferie) od zbernice. Od toho navrhari Z80 vymysleli wait cykly, aby sa aj akakolvek pomala periferia dala pripojit na akukolvek rychlu Z80.

Druha otazka je, nakolko zlozite by bolo taketo riesenie s vyuzitim wait cyklov, hlavne nieco co by vedelo urcit ich potrebny pocet pre danu frekvenciu procesora. Hadam by stacil jumper ktory ked zastrcim, pri pristupe na SIDa nejaky monostabil posle do wait vstupu CPU impulz siroky 400 ns.


Ano, waitovani je fajn vec, akorat SID cip tento signal vubec nepodporuje. Takze by se musel wait generovat samostatne. Wait ale rozhazuje trochu casovani CPU. Snad by to nemelo az tak vadit.

Busy píše:
Ako je riesene RTC na Samovi beziacom na 24MHz ? Stiha to ?

Jedine originalni RTC je soucasti posilovace sbernice sambus a jde o RTC72421A. Bohuzel je situace takova, ze original sambus temer nikdo nema. S pripojenim rychlejsiho CPU se na original sam coupe pocitalo, ale jak to poberou ostatni periferie uz se neresilo. Zadna samovska stara periferie nepouziva wait. Majitelu sambusu je tak malo, ze nejspis bude vice majitelu IDE interface ATOM LITE+, kde je osazeny RTC DALLAS, ale opet se zde neresi wait. Externi akcelerator (rychly Z80CPU na sbernici) by spravne mel pri kazdem pristupu na I/O porty ci do pameti sam coupe automaticky vygenerovat WAIT, aby stary HW stihal reagovat. Jestli to tak ale COLIN dela u portu, nevim.


VELESOFT píše:
S CPLD by se to dalo vyresit jeste elegantneji.

Busy píše:
Ako napriklad ?

Puvodni SID interface jsem si zmapoval a postavil jsem si svou verzi z jinych obvodu, ale zpetne kompatibilni. Byla to nutnost kvuli jiz existujicimu software. Kdybych to tehdy zapojil jinak, musel by se i prepisovat software. Dnes kdybych SIDa pripojoval na sbernici, hodil bych na PCB jen male CPLD a SID. CPLD by oddelilo SID kompletne od sbernice (neni to potreba, ale kdyz uz ma cpld takove mnozstvi nevyuzitych pinu a navic jde o soucastku starou pres 30 let...) a pri kazdem WR cyklu by se generoval dostatecne prodlouzeny write cyklus treba o nekolik taktu cpu a samozrejme bych po dobu prodlouzeneho WR dodaval sidu i ulozenou adresu a data. Tak by mel behat i bez WAITu i pri poradne rychlem CPU. Naopak ale pri cteni portu by CPLD vyhodilo wait o nejake rozumne delce (aby SID stihal). SID player na sam coupe emuluje CPU 6502 ale do SIDa pouze zapisuje. Pokud cteni portu SIDa neni az tak nutne(nezkoumal jsem), klidne bych ho bud vynechal, nebo nechal s tim waitem natvrdo. Pripadne CPLD muze samo poznat, jak rychly clock ma Z80CPU a podle toho automaticky WAIT vynechat (kdyz je CPU pomale), nebo pridat (pro rychlejsi CPU).

Pokud by slo o WR only verzi SIDa, muze to bez waitu behat i pri slusne rychlosti CPU. Do jake miry jsem ale nepocital.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 08:09 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
VELESOFT píše:
pri kazdem WR cyklu by se generoval dostatecne prodlouzeny write cyklus treba o nekolik taktu cpu a samozrejme bych po dobu prodlouzeneho WR dodaval sidu i ulozenou adresu a data. Tak by mel behat i bez WAITu i pri poradne rychlem CPU.
Tak toto je podla mna skvely napad - SID by dostal data a zaroven CPU by mohol bezat plnou rychlostou trebars aj na 24MHz :thumbup:
VELESOFT píše:
Naopak ale pri cteni portu by CPLD vyhodilo wait o nejake rozumne delce (aby SID stihal). SID player na sam coupe emuluje CPU 6502 ale do SIDa pouze zapisuje. Pokud cteni portu SIDa neni az tak nutne(nezkoumal jsem), klidne bych ho bud vynechal, nebo nechal s tim waitem natvrdo.
Na samotne hranie hudby nie je potrebne SID citat. Ale vo vseobecnosti, urcite by som moznost citania nevynechaval. Posledne styri registre SIDa su pre citanie zaujimave - POTX + POTY sa daju vyuzit ako pomale A/D prevodniky, a OSC3 + ENV3 sa tiez mozu hodit pri nejakom sofistikovanejsom generovani hudby.
VELESOFT píše:
Pripadne CPLD muze samo poznat, jak rychly clock ma Z80CPU a podle toho automaticky WAIT vynechat (kdyz je CPU pomale), nebo pridat (pro rychlejsi CPU).
Az tak by som to nekomplikoval. Podla mna, stav ked pri zapise CPLD "podrzi" data, a pri citani vzdy natvrdo vygeneruje na WAIT pulz dlhy 350 ns (bez ohladu na clock procesora) je rozumny kompromis medzi efektivitou a zlozitostou. Umozni specialny softwerom (napr. samplovana hudba) vyuzit plny potencial rychlosti CPU, a zaroven v pripade potreby umozni citanie SIDa, pri ktorom nevidim ako prekazku ak sa CPU na zopar taktov pozdrzi.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 09:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Busy píše:
VELESOFT píše:
pri kazdem WR cyklu by se generoval dostatecne prodlouzeny write cyklus treba o nekolik taktu cpu a samozrejme bych po dobu prodlouzeneho WR dodaval sidu i ulozenou adresu a data. Tak by mel behat i bez WAITu i pri poradne rychlem CPU.
Tak toto je podla mna skvely napad - SID by dostal data a zaroven CPU by mohol bezat plnou rychlostou trebars aj na 24MHz :thumbup:


Generovat wait signal by si musel, ale len v pripade ze by dalsi zapis prisiel skor ako by SID stihol ten predchadzajuci pobrat. Vo vysledku by zapis do SID-u tolko nezdrzoval.

CPLD by udrziavalo SID_wait priznak.
Pokial by bol nastaveny bi pri zapise generoval wait signal.
Pokial bi uz nebol nastaveny tak by sa data (adresa/data) ulozili do bufrou a znovu sa signal nastavyl.

Klasicky system ako komunikovat medzi zariadeniamy z inymi casovymi domenamy.

VELESOFT píše:
Az tak by som to nekomplikoval. Podla mna, stav ked pri zapise CPLD "podrzi" data, a pri citani vzdy natvrdo vygeneruje na WAIT pulz dlhy 350 ns (bez ohladu na clock procesora) je rozumny kompromis medzi efektivitou a zlozitostou. Umozni specialny softwerom (napr. samplovana hudba) vyuzit plny potencial rychlosti CPU, a zaroven v pripade potreby umozni citanie SIDa, pri ktorom nevidim ako prekazku ak sa CPU na zopar taktov pozdrzi.


POTX a POTY sa ako pomale prevodniky nedaju moc pouzit. Nejedna sa totiz o napetove AD prevodniky ;-)

Vypis z datasheetu:

Kód:
POTX, POTY (Pins 24, 23) -These pins are inputs to the A/D converters used to digitize the position of potentiometers. [b]The conversion process is based on the time constant of a capacitor tied from the POT pin to ground, charged by a potentiometer tied from the POT pin to +5 volts.[/b] The component values are determined by RC = 4.7E-4 Where R is the maximum resistance of the pot and C is the capacitor. The larger the capacitor, the smaller the POT value jitter. The recommended values for R and C are 470 KOhms and 1000 pF. Note that a separate pot and cap are required for each POT pin.


Co sa tyka generovania waitu. Tam generovanie presne dlheho wait signalu nemusi byt spravne. Kedze sa jedna o komunikaciu medzi dvomi nezosynchronizovanymi casovymi zonamy. Na presny casovy usek by si sa mohol hrat len v pripade ze by si 1Mhz pre SID generoval z CPU hodin.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 09:26 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
zz_indigo píše:
Busy píše:
VELESOFT píše:
pri kazdem WR cyklu by se generoval dostatecne prodlouzeny write cyklus treba o nekolik taktu cpu a samozrejme bych po dobu prodlouzeneho WR dodaval sidu i ulozenou adresu a data. Tak by mel behat i bez WAITu i pri poradne rychlem CPU.
Tak toto je podla mna skvely napad - SID by dostal data a zaroven CPU by mohol bezat plnou rychlostou trebars aj na 24MHz :thumbup:
Generovat wait signal by si musel, ale len v pripade ze by dalsi zapis prisiel skor ako by SID stihol ten predchadzajuci pobrat.
Do 24MHz to nie je treba. OUT (c),r trva 12T, co pri 24MHz je 500ns, co je viac nez 350ns ktore vyzaduje SID. Navyse, nasekat za sebou same OUT-y nema vyznam (minimalne nejake LD B,cislo_registra by tam byt malo), takze tym padom je cas aj na "zotavenie" SIDa medzi dvomi zapisovymi operaciami.
zz_indigo píše:
POTX a POTY sa ako pomale prevodniky nedaju moc pouzit. Nejedna sa totiz o AD prevodniky ;-)
Vypis z datasheetu:
Kód:
POTX, POTY (Pins 24, 23) -These pins are inputs to the A/D converters
Tak ako ? Su to A/D prevodniky, alebo to nie su A/D prevodniky ? :o :shock: :? :scratched: :lol:
zz_indigo píše:
Co sa tyka generovania waitu. Tam generovanie presne dlheho wait signalu nemusi byt spravne. Kedze sa jedna o komunikaciu medzi dvomi nezosynchronizovanymi casovymi zonamy. Na presny casovy usek by si sa mohol hrat len v pripade ze by si 1Mhz pre SID generoval z CPU hodin.
Ale my predsa nepotrebujeme presny casovy usek. Staci nam cokolvek nad (napr.) 350 ns. Z80CPU si pocas samotneho zbernicoveho prenosu skenuje WAIT signal kazdy hodinovy takt a v ak zisti, ze WAIT signal uz nie je aktivny, v dalsom hodinovom takte zbernicou operaciu ukonci. Samozrejme riesenie s waitom exaktne urcenym podla CPU taktu (a pre dostatocne nizky takt vobec negenerovany) by bolo idealne, ale v praxi uplne postaci aj mnou navrhnute zjednodusenie.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 09:54 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Busy píše:
zz_indigo píše:
....Generovat wait signal by si musel, ale len v pripade ze by dalsi zapis prisiel skor ako by SID stihol ten predchadzajuci pobrat. Vo vysledku by zapis do SID-u tolko nezdrzoval.
Do 24MHz to nie je treba. OUT (c),r trva 12T, co pri 24MHz je 500ns, co je viac nez 350ns ktore vyzaduje SID. Navyse, nasekat za sebou same OUT-y nema vyznam (minimalne nejake LD B,cislo_registra by tam byt malo), takze tym padom je cas aj na "zotavenie" SIDa medzi dvomi zapisovymi operaciami.


Ja by som to neriskoval. Racej 1wait sem tam ako sid generujuci pazvuky.

Busy píše:
zz_indigo píše:
POTX a POTY sa ako pomale prevodniky nedaju moc pouzit. Nejedna sa totiz o AD prevodniky ;-)
Vypis z datasheetu:
Kód:
POTX, POTY (Pins 24, 23) -These pins are inputs to the A/D converters
Tak ako ? Su to A/D prevodniky, alebo to nie su A/D prevodniky ? :o :shock: :? :scratched: :lol:


1.) Potom som to zeditoval a doplnil NAPETOVE lebo ked som to po sebe cital cakal som presne takuto reakciu. Ked ludia chcu niekoho silou mocou zosmiesnit casto necitaju poriadne A bez problemou im vypadne tento riadok:[/b]
Kód:
The conversion process is based on the time constant of a capacitor tied from the POT pin to ground, charged by a potentiometer tied from the POT pin to +5 volts.


Toto riesenie vlastne len urcuje cas kedy sa kondenzator nabije na nejaku konkretnu hodnotu napetia.

2.) A znamena Analog a to moze byt napetie, prud, odpor..... na audio sampling potrebujes napetie. Pre vacsinu ludi AD prevodnik znamena napatovy AD prevodnik.

p.s. Ze si priznas chybu neocakavam ;-)

Busy píše:
zz_indigo píše:
Co sa tyka generovania waitu. Tam generovanie presne dlheho wait signalu nemusi byt spravne. Kedze sa jedna o komunikaciu medzi dvomi nezosynchronizovanymi casovymi zonamy. Na presny casovy usek by si sa mohol hrat len v pripade ze by si 1Mhz pre SID generoval z CPU hodin.
Ale my predsa nepotrebujeme presny casovy usek. Staci nam cokolvek nad (napr.) 350 ns. Z80CPU si pocas samotneho zbernicoveho prenosu skenuje WAIT signal kazdy hodinovy takt a v ak zisti, ze WAIT signal uz nie je aktivny, v dalsom hodinovom takte zbernicou operaciu ukonci. Samozrejme riesenie s waitom exaktne urcenym podla CPU taktu (a pre dostatocne nizky takt vobec negenerovany) by bolo idealne, ale v praxi uplne postaci aj mnou navrhnute zjednodusenie.


Je pravda ze kazdy system dovoluje nejaku variabilitu ale ak chces zabezpecit opakovatelnost mal by si sa snazit dodrzat pozadovane priebehy signalov.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 10:14 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
zz_indigo píše:
1.) Potom som to zeditoval a doplnil NAPETOVE lebo ked som to po sebe cital cakal som presne takuto reakciu.
Ano, akurat ja som svoj prispevok zacal pisat este predtym ako si to zeditoval. Takze to ze ty myslis konkretne napetovy A/D prevodnik som zistil az potom.
zz_indigo píše:
2.) A znamena Analog a to moze byt napetie, prud, odpor..... na audio sampling potrebujes napetie.
Dialog bol o A/D prevodniku vseobecne, nie o jeho konkretnom vyuziti pre audiosampling.
zz_indigo píše:
Pre vacsinu ludi AD prevodnik znamena napatovy AD prevodnik.
To ze si vecsina nieco mysli este neznamena ze to musi byt pravda :shrug:
zz_indigo píše:
p.s. Ze si priznas chybu neocakavam ;-)
Az mi nejaku konkretnu chybu preukazes, rad si ju priznam :D
zz_indigo píše:
Je pravda ze kazdy system dovoluje nejaku variabilitu ale ak chces zabezpecit opakovatelnost mal by si sa snazit dodrzat pozadovane priebehy signalov.
Tak mi skus konkrente vysvetlit, kde a v com mnou navrhovane riesenie nedodrzuje pozadovane priebehy signalov a preco by nemalo dokazat zabezpecit opakovatelnost.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 11:06 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Busy píše:
zz_indigo píše:
2.) A znamena Analog a to moze byt napetie, prud, odpor..... na audio sampling potrebujes napetie.
Dialog bol o A/D prevodniku vseobecne, nie o jeho konkretnom vyuziti pre audiosampling.


Pozeram ze audio sampling som si vyvodil v navaznosti na celu diskusiu. Ale ani ako vseobecny AD prevodnik je to tazko pouzitelne, uz len z principu fungovania.

Busy píše:
zz_indigo píše:
Pre vacsinu ludi AD prevodnik znamena napatovy AD prevodnik.
To ze si vecsina nieco mysli este neznamena ze to musi byt pravda :shrug:

Kluckujes. Som zvedavy kolko nenapetovych prevodnikou na trhu najdes. A z tych ktore najdes budu ine ako prudove.
Vsetko ostatne sa oznacuje presne podla toho co meraju (teplotu/frekvenciu ....) ale ADC sa nenazivaju.

Busy píše:
zz_indigo píše:
p.s. Ze si priznas chybu neocakavam ;-)
Az mi nejaku konkretnu chybu preukazes, rad si ju priznam :D

Tvoje reakcie stacia.

Busy píše:
zz_indigo píše:
Je pravda ze kazdy system dovoluje nejaku variabilitu ale ak chces zabezpecit opakovatelnost mal by si sa snazit dodrzat pozadovane priebehy signalov.
Tak mi skus konkrente vysvetlit, kde a v com mnou navrhovane riesenie nedodrzuje pozadovane priebehy signalov a preco by nemalo dokazat zabezpecit opakovatelnost.


To je navrhovane riesenie je popisane tak povrchne a zo strany Z80 na podrobnejsiu diskusiu. Celkovo mam dojem ze sa na to pozeras len z pohladu SW a casou Z80. A to si dost mimo na to aby si pochopil problemy z ktorymi sa potykas ked prepajas rozne frekvencne domeny. Tu nejde len o dlzky udalosti ale i ich spravne nacasovanie. A to je oblast na ktoru ja poukazujem a ty ignorujes.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 12:24 
Offline
Óm Nejvyšší

Registrován: 22.05.2013, 21:14
Příspěvky: 3642
Bydliště: Bratislava
Has thanked: 371 times
Been thanked: 788 times
zz_indigo píše:
Pozeram ze audio sampling som si vyvodil v navaznosti na celu diskusiu. Ale ani ako vseobecny AD prevodnik je to tazko pouzitelne, uz len z principu fungovania.
Preco myslis ze je z principu tazko pouzitelny ? :shock: Napriklad na meranie velkosti odporu je pouzitelny az velmi dobre :whist:
zz_indigo píše:
Som zvedavy kolko nenapetovych prevodnikou na trhu najdes. A z tych ktore najdes budu ine ako prudove.
No tak to ani nemusim ist daleko, zrovna dva take sa nachadzaju v SIDe :lol: A nie su ani napetove, ani prudove. :neener:
zz_indigo píše:
Vsetko ostatne sa oznacuje presne podla toho co meraju (teplotu/frekvenciu ....) ale ADC sa nenazivaju.
No, pripustam, mozno mas pravdu, mozno ze naozaj v tomto popise:
Kód:
POTX, POTY (Pins 24, 23) -These pins are inputs to the A/D converters used to digitize the position of potentiometers
je oznacenie A/D converters iba jedna moja velka halucinacia ... :o :shock:
zz_indigo píše:
Busy píše:
zz_indigo píše:
Je pravda ze kazdy system dovoluje nejaku variabilitu ale ak chces zabezpecit opakovatelnost mal by si sa snazit dodrzat pozadovane priebehy signalov.
Tak mi skus konkrente vysvetlit, kde a v com mnou navrhovane riesenie nedodrzuje pozadovane priebehy signalov a preco by nemalo dokazat zabezpecit opakovatelnost.
To je navrhovane riesenie je popisane tak povrchne a zo strany Z80 na podrobnejsiu diskusiu. Celkovo mam dojem ze sa na to pozeras len z pohladu SW a casou Z80. A to si dost mimo na to aby si pochopil problemy z ktorymi sa potykas ked prepajas rozne frekvencne domeny. Tu nejde len o dlzky udalosti ale i ich spravne nacasovanie. A to je oblast na ktoru ja poukazujem a ty ignorujes.
Tak teraz kluckujes zase ty. Polozil som konkretnu otazku, ty skus (namiesto nicnehovoriacich managerskych kecov) dat konkretnu odpoved. Skus na nejakom konkretnom casom diagrame ukazat, kde by mohol nastat konflikt, kde a ktore casove parametre by nemuseli byt dodrzane. Alebo rovno napis, ze nevies.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 11.07.2014, 19:56 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
Busy píše:
zz_indigo píše:
Pozeram ze audio sampling som si vyvodil v navaznosti na celu diskusiu. Ale ani ako vseobecny AD prevodnik je to tazko pouzitelne, uz len z principu fungovania.
Preco myslis ze je z principu tazko pouzitelny ? :shock: Napriklad na meranie velkosti odporu je pouzitelny az velmi dobre :whist:


Si si isty? Pri 8bit presnosti a nutnosti mat spravny kondenzator pre vhodny rozsah odporou? Kebyi si sa menej venoval smailikom tak bi si nasiel realnejsie pouzitelnosti.

Busy píše:
]No, pripustam, mozno mas pravdu, mozno ze naozaj v tomto popise:
Kód:
POTX, POTY (Pins 24, 23) -These pins are inputs to the A/D converters used to digitize the position of potentiometers
je oznacenie A/D converters iba jedna moja velka halucinacia ... :o :shock:


Bohuzial navoslovie sa casom meni. V IT a elektrotechnike dokonca rychlejsie ako v inich oblastiach. Aj ja si pametam casy kde za ADC bolo cokolvek co menilo akukolvek nedigitalnu velicinu na digitalnu. Bohuzial dnes pod tymto nazvom najdes povecsinou napetove a sem tam pridove prevodniky. A asni tisis smailikou na to m nic nezmeni.

Busy píše:
zz_indigo píše:
A to si dost mimo na to aby si pochopil problemy z ktorymi sa potykas ked prepajas rozne frekvencne domeny. Tu nejde len o dlzky udalosti ale i ich spravne nacasovanie. A to je oblast na ktoru ja poukazujem a ty ignorujes.
Tak teraz kluckujes zase ty. Polozil som konkretnu otazku, ty skus (namiesto nicnehovoriacich managerskych kecov) dat konkretnu odpoved. Skus na nejakom konkretnom casom diagrame ukazat, kde by mohol nastat konflikt, kde a ktore casove parametre by nemuseli byt dodrzane. Alebo rovno napis, ze nevies.

Ale viem. Bohuzial som zvyknuty ze "menezerske": Tu nejde len o dlzky udalosti ale i ich spravne nacasovanie. by im stacilo nato aby vedeli kde je problem. Ale asi si upravym mienku o tebe:

Priklad: V pripade SID-u (a inich 6502 periferii) musia byt adresa,r/w signal hore pri nabeznej hrane Fphy0 a data sa zapisuju pri zostupnej hrane. Z tym ze R/W a adresa ma mat rovnaku hodnotu este nejaky cas potom.

Zjednodusene pokial je PHY0 na urovni logickej 1 nesmies menit hodnoty RW, Adresy, Dat (ak zapisujes).

A kedze PHI0 ma byt presne 1Mhz (aby sedely tony) a tvoj CPU nepouziva rovnaku freq a ani jedna nieje od druhej odvodena musis zabezpecit aby sa signal nemenil v nevhodny okamzik. Lebo nemozes zarucit co sa naozaj precita/zapise.

naproti tomu Z80 ma read na 3 takty a platne casy ocakava pri nabeznej hrane hodinoveho signalu.............

Rieseni je niekolko:
1.) To co opisujes ty pripojit to cez IO brany zabezpecit aby sa CS signal negeneroval v case ked sa do jedneho z I/O registrou (adresa/data) zapisuje. Tu staci pocas CS pre SID (phy0 = log 1) generovat pri pokuse o zapis wait. A pri zapise do registrou negenerovat CS pre SID.
Typujem ze takto nejak je rieseny ten sid pre SAMa

2.) asynchronna zbernica z oddelenim roznych freqvencnich domen. Z pohladu CPU sa jedna o zariadenie ktore niekedy vyzaduje niekedy nevyzaduje cakanie (Zapis sa da riesit aj bez cakania pokial sa ich nevyskitne moc za sebou)

Funguje to priblizne takto: (zapis do sidu)
1. Adresy/dara/riadiace signaly sa pri CS zariadenia ulozia do zachytnich registrou, Nastavy sa priznak ze sa tam nieco zapisalo. A ze data neboly precitane
2. Ak pride pokus o zapis v case ked nebolo potvrdene precitanie vygeneruje sa wait stav
3. Na tieto registre je pripojeny SID a v spravny okamzik sa vygeneruje signa CS (tenotraz pre SID).
Spravny okamzik znamena ze do zachytnich registrou sa zapisalo + je nabezna hrana PHY0 pre SID.
4. Ak skonci zapis (zostupona hrana PHY0) Zresetujes priznak pre wait a priznak zapisania.
5. Pokial sa CPU zas pokusal zapisat (nastal wait signal) zas sa zapisu data do registrou (sinchonizovat z nabeznou hranou CPU CLK)

Takyto postup zabezpeci ze ak cpu je dost rychli aby dokazal zapisovat do sidu castejsie ako sid citat tak sa zacne generovat wait stav. Ale za normalnych podmienok sa CPU nezdrzuje.

Citanie zo sidu je trochu ine tam je wait nutny vzdy.

1. Adresy/data/riadiace signaly sa pri CS zariadenia ulozia do zachytnich registrou,
2. vygeneruje sa wait signal.
3. v spravny cas (phy0 = log 1) sa vygeneruje CS pre SID
4. data sa zachytia do vystupnych registrou. ich vystupy prejdu do aktivneho stavu a zrusi sa wait.
5. CPU si precita data.

Taketo riesenie by malo zabezpecit moznost komunikovat zo SID-om akokolvek rychlemu CPU

Dufam ze to na teba bolo dost nemanagerske.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 16.07.2014, 17:29 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
Puvodni zapojeni pro SAM COUPE:

Dekoder portu pri zapisu na I/O port sid interface uklada data D0-D7,adresy A8-A12 a A15 soucasne do dvou latchu 74xx573. Ulozena data vedou 1:1 na datovku sida. Ulozene adresy A8-A12 na adresy A0-A4 sida, ulozena adresa A15 vede na pin /CS sida. Clock pro sid zajistuje externi krystalovy oscilator 1MHz. Pin reset je spojeny s resetem od Z80CPU. Pin R/W u sida je natvrdo uzemneny, cili je pouze pro zapis. No a audio vystup ze sida je klasicky obslehnuty z C64.

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 16.07.2014, 20:54 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
VELESOFT píše:
Puvodni zapojeni pro SAM COUPE:

Dekoder portu pri zapisu na I/O port sid interface uklada data D0-D7,adresy A8-A12 a A15 soucasne do dvou latchu 74xx573. Ulozena data vedou 1:1 na datovku sida. Ulozene adresy A8-A12 na adresy A0-A4 sida, ulozena adresa A15 vede na pin /CS sida. Clock pro sid zajistuje externi krystalovy oscilator 1MHz. Pin reset je spojeny s resetem od Z80CPU. Pin R/W u sida je natvrdo uzemneny, cili je pouze pro zapis. No a audio vystup ze sida je klasicky obslehnuty z C64.


mas to ako schemu? obrazky su lepsie ako slova. z popisu som prisiel asi na taketo niec ako je v prilohe. zaujimama ci rovbia nejaku sinchronizaciu alebo pocitaju z tym ze nenarazia na problem kedze kalsim taktom (1Mhz) sa nahraju sporavne data.


Přílohy:
sid.gif
sid.gif [ 37.01 KiB | Zobrazeno 12231 krát ]

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/
Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 16.07.2014, 22:36 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
zz_indigo píše:
VELESOFT píše:
Puvodni zapojeni pro SAM COUPE:

Dekoder portu pri zapisu na I/O port sid interface uklada data D0-D7,adresy A8-A12 a A15 soucasne do dvou latchu 74xx573. Ulozena data vedou 1:1 na datovku sida. Ulozene adresy A8-A12 na adresy A0-A4 sida, ulozena adresa A15 vede na pin /CS sida. Clock pro sid zajistuje externi krystalovy oscilator 1MHz. Pin reset je spojeny s resetem od Z80CPU. Pin R/W u sida je natvrdo uzemneny, cili je pouze pro zapis. No a audio vystup ze sida je klasicky obslehnuty z C64.


mas to ako schemu? obrazky su lepsie ako slova. z popisu som prisiel asi na taketo niec ako je v prilohe. zaujimama ci rovbia nejaku sinchronizaciu alebo pocitaju z tym ze nenarazia na problem kedze kalsim taktom (1Mhz) sa nahraju sporavne data.


Schema samozrejme mam, ale neni free, ja nejsem autor puvodniho zapojeni, tak to nebudu zverejnovat. Ale poradim trochu.. Ve schematu mas A8-A12 presne opacne - A8 ze Z80 musi vest skrze latch na A0 sida, A9 CPU na A1 sida, atd... Oba piny /OC natvrdo uzemni, na vystup dekoderu 74xx688 pridej invertor, nezapojene vstupni piny u latchu uzemni, pin 26 u sidu nech nezapojeny, na vstup /G u 74xx688 prived vystup treba z hradla OR, kde zapojis na vstupy /IORQ a /WR. No a pak uz jen nastavit vhodnou adresu portu a mas to. :-)

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 16.07.2014, 23:15 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 13.05.2013, 10:52
Příspěvky: 1669
Bydliště: Mliecna draha
Has thanked: 19 times
Been thanked: 124 times
VELESOFT píše:
Schema samozrejme mam, ale neni free, ja nejsem autor puvodniho zapojeni, tak to nebudu zverejnovat. Ale poradim trochu.. Ve schematu mas A8-A12 presne opacne - A8 ze Z80 musi vest skrze latch na A0 sida, A9 CPU na A1 sida, atd... Oba piny /OC natvrdo uzemni, na vystup dekoderu 74xx688 pridej invertor, nezapojene vstupni piny u latchu uzemni, pin 26 u sidu nech nezapojeny, na vstup /G u 74xx688 prived vystup treba z hradla OR, kde zapojis na vstupy /IORQ a /WR. No a pak uz jen nastavit vhodnou adresu portu a mas to. :-)


moja chyba tie Ac-ka som vyplnil bez kontroly. .

To uzemnenie pinu 26 som nakreslil preto ze sa to standardne robi aby sid tolko nesumel (na C64 sa odporuca tento vstup uzemnit). Ale toto mi staci.

pokial este nejak neupravuju CS vstup do sida tak je to dost zjednodusene zapojenie z obcas vyskitujucimi koliziamy ktore sa asi moc neprejavuju kedze im nestoja za riesenie.A ako som pozeral musia cast tych hradiel pouzit na generovanie 12V

ja by som cs generoval len cez flipflop jednorazovo po skonceny zapisu pri najblizsom CLK cykle. Kolizie by neboli a fungovalo by to rovnako.

Ono ma dost zaujima ako su roberne rozne rozsirenia. Je to dobry sposob ako ziskat zaujimave napady ktore mozem neskor pouzit sam vo svojich zapojeniach.

_________________
Amiga 600 + a602, Amiga 600 PCB only, Commodore 64+ZZ-RAM V1.0 512k+C1541(18k RAM)+sd2iec +9.600 Rs232, Commodore 116 + 64k upgrade, ZX 81 ISSUE1 + ZX81XRAM

http://zz-indigo.mavipet.sk/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID sounchip interface pro Sama
PříspěvekNapsal: 10.08.2014, 10:30 
Offline
Pan Štábní

Registrován: 29.06.2013, 16:52
Příspěvky: 1611
Has thanked: 31 times
Been thanked: 357 times
A tady je další verze zvukové karty pro ruské ZX klony:
http://zx-pk.ru/showthread.php?t=17561

Stránka o projektu SID BLASTER:
http://zxbyte.ru/index.php?id=88

Prvni ruska verze SID interface:
http://zxbyte.ru/pic/sidblaster/sid_06.jpg

Video na Youtube:
[youtube]https://www.youtube.com/watch?v=Fex-zr2Q3iM[/youtube]

A jeste jedno dalsi vlakno:
http://zx-pk.ru/showthread.php?t=14289

_________________
http://velesoft.speccy.cz/


Nahoru
 Profil  
 
 Předmět příspěvku: Re: SID soundchip interface pro SAMa
PříspěvekNapsal: 29.06.2022, 18:20 
Offline
Pan Štábní
Uživatelský avatar

Registrován: 12.05.2013, 19:23
Příspěvky: 1910
Bydliště: Vsetín
Has thanked: 517 times
Been thanked: 812 times
Pro ARMSID vyšla konfigurační utilita v příloze na disku Sam Revival 26. Pomáhal Colinovi Nobomi?


Přílohy:
ARMSID.png
ARMSID.png [ 11.38 KiB | Zobrazeno 4322 krát ]

_________________
cs.speccy.cz, ondraspo186.8u.cz, zx-spectrum.cz
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 30 ]  Přejít na stránku Předchozí  1, 2

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 9 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz