26 Ostatnio edytowany przez seban (2014-09-10 16:21:40)

Hej!

Aby było jasne jak to wszystko wygląda i wyglądało w przypadku Slight-SID, na przestrzeni lat powstało kilka wersji na różnych rozwiązaniach sprzętowych, ale opiszę tylko najważniejsze wersje które wnosiły znaczące zmiany do projektu:

1) na układach TTL jak w przypadku SIDari, zdjęcia tego pierwszego rozwiązania leżą od wieków na stronie którą zrobił Dely: http://atariarea.krap.pl/slightsid/

http://atariarea.krap.pl/slightsid/sid03.jpg

tak patrząc na prototyp kolegi Toriman-a to mamy chyba nawet te podobne scalaki :) ja mam 2x574, 1x7402 2x7400, 2x7474 oraz jeden dzielnik/licznik w CMOS (do uzyskania 0.985MHz z 17.3447MHz). Ta wersja nie miała możliwości odczytu, był tylko zapis.

2) wersja oparta na MCU od Microchip. Wykorzystywała sprzętowy rejestr równoległy dostępny w zastosowanym MCU (w nomenklaturze Microchipa, tzw. Parallel Slave Port / PSP) do komunikacji z Atari, ta wersja wygląda tak:

http://seban.slight.pl/aa/slt_sid_v1.JPG

Umożliwiała zapis i odczyt z rejestrów SID-a. Powstało kilka prototypów które poszły do ludzi i na scenę jako nagrody w SV2k11. Wersja która trafiła do ludzi miała zaimplementowana w firmware tylko zapis do rej. SID-a. Powstawał firmware który miał co prawda opcje odczytu jednak, ten firmware miał zostać rozwinięty także o sprzętowe mnożenie/dzielenie liczb stałoprzecinkowych. Oraz emulator pakietu FP który o wiele szybciej wykonywał działania niż to co jest w Atari ROM (PIC był taktowany prawie 40MHz). Ten firmware nigdy nie został dokończony i jest w formie rozgrzebanej totalnie. Ponieważ koszty elementów zastosowanych w tej wersji były astronomiczne, powstała...

3) wersja na CPLD, która wygląda obecnie tak (i tak już pozostanie, wprowadzam małe zmiany mechaniczne celem lepszego dostosowania tego do obudowy):

http://seban.slight.pl/aa/slt_sid_v31-proto.jpg

...i obsługuje dwa SID-y, zarówno odczyt jak i zapis rejestrów SID. Odczyt następuje za pośrednictwem rejestru indeksowego, tak jak pokazał to mono. Nie sprawdzałem jeszcze tego w skrajnych warunkach, ale powinno się obyć bez NOP-ów (nawet na obecnym firmware).

Cieszę się że Toriman opublikuje swój projekt jako Open-Hardware, są ludzie którzy lubią sobie stworzyć i złożyć coś od zera. Ten projekt będzie idealny dla nich.

Slight-SID poszedł inną drogą, ma być produktem gotowym dostępnym w postaci już gotowej do użycia :] Długo siedziałem nad jakością dźwieku, przykładowe utwory, w których można posłuchać z jaką jakością gra zamieszczałem w adekwatnym wątku, nie będę już tutaj robił Toriman-owi robił więcej offtopicu :)

27 Ostatnio edytowany przez mono (2014-09-10 16:27:03)

A czy wyjście i wejście dźwięku wyprowadzone jest na zewnątrz czy zintegrowane na sztywno z dźwiękiem Atari?

Częstotliwość DOTCLOCK jest niezależna od zegara taktującego Atari czy jest to podzielony zegar Atari? Chodzi o to, czy w maszynach NTSC będzie to działało nadal z 985 kHz? Pisałeś tam o 1773447 Hz a to częstotliwość Atari w PAL.

Edit: Aaaa 17.73447 MHz :)

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

28

mono napisał/a:
toriman1 napisał/a:

a Evie i SlightSID odczytują te rejestry bo nie kojarzę???

Zarówno Evie, jak i SlightSID pozwalają na odczyt dowolnego rejestru SID-a. Ale każde z nich nieco inaczej :D:
- Evie: odczyt bezpośrednio przez adresowanie rejestru np.:

lda $D2C0+$1C

- SlightSID: za pośrednictwem rejestru adresującego np.:

lda #$1C
sta $D540
nop
nop
nop
lda $D540

analogicznie dla drugiego SID-a indeks $3C (drugi SID leży w $D520..$D53F, indeksy rejestrów zaczynają się od $20).

Jasne... jak napisałem wcześniej - rozważam dodanie odczytu dwóch rejestrów OSC3 ENV3 bo są najważniejsze. W zasadzie polling byłby tu najlepszy ponieważ odczyt załatwiałoby sie jedna instrukcją jak w oryginale.

:) dzięki za podpowiedzi.

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

29 Ostatnio edytowany przez tOri (2014-09-10 20:42:09)

Ano mamy podobne scalaki ponieważ to dobra praktyka aby w układach synchronicznych łapać zbocza a nie poziomy, hehe...
Ale to faktycznie ciekawe ponieważ widać podobne podejście do zagadnienia. Osobiście ciekaw jestem jak wygląda schemat pierwszego SlightSIDa :)

No i faktycznie jest to Open Hardware - działający pomysł jest na wierzchu... Niech ludzie zaszaleją :)

Ciekawostką dla mnie jest to, że powstało tak niewiele układów sprzegających SID z Atari (a olbrzymia większość w Polsce, hehe) Podstawowy układ nie jest wcale skomplikowany a jednak nie było wielu chętnych.

Dzięki Seban za sobre słowo - przyda sie na przyszłość.

pozdrawiam

P.S. Wrzuciłem materiały na stronę pod link SIDari - zapraszam do poczytania

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

30 Ostatnio edytowany przez tOri (2014-09-10 21:08:22)

mono napisał/a:

A czy wyjście i wejście dźwięku wyprowadzone jest na zewnątrz czy zintegrowane na sztywno z dźwiękiem Atari?

Częstotliwość DOTCLOCK jest niezależna od zegara taktującego Atari czy jest to podzielony zegar Atari? Chodzi o to, czy w maszynach NTSC będzie to działało nadal z 985 kHz? Pisałeś tam o 1773447 Hz a to częstotliwość Atari w PAL.

Edit: Aaaa 17.73447 MHz :)

Układ 8701 trochę skomplikowanie wytwarza zegary. Ciekawe jest, że gdyby zrobić generator z kwarcem PAL Commodore i podzielić częstotliwość przez 10 - otrzymamy zegar PAL Atari :) tak na marginesie...
Taktowanie SIDa jest niezależne od taktowania Atari. Zapewne kawałki NTSC będą grały niżej choć już raczej nie wolniej bo to zależy bardziej od softu IMHO.

Wejście i wyjście można zrobić w sposób dowolny - osobiście "pożenię" audio wewnątrz komputera czyli dwa POKEYe i dwa SIDy z możliwością puszczenia dźwięku POKEY przez wejście SID.

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

31

@toriman1: staraj się nie pisać kilku postów jeden pod drugim, bo kierownik Cię zaraz objadą :) Możesz odpowiadać ludziom w jednym ;)

The problem is not the problem; the problem is your attitude about the problem

32

Niby tak, ale edycja nie podbija wątku i można przeoczyć odpowiedź (szczególnie kiedy edytujemy po dłuższym czasie), więc przypuszczam, że Kierownik pewnie patrzy na to przez palce :]

hex, code and ror'n'rol
niewiedza buduje, wiedza rujnuje

33

Milion razy pisałem, że nie ma zakazu pisania posta pod postem. Co żeście sobie wymyśliliście to ja nie.

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

34 Ostatnio edytowany przez lotharek (2014-09-11 06:49:38)

za takie kwatki, to tylko "pracujacy inaczej" dostaje ulrop na forum ;-)

oba projekty za zacne ! i jesli mozna o cos prosic...

hint: panowie, prosze o przemyslenie obudowy ze zlaczem carta, zeby jeszce cos szlo wlozyc../ modul sdx itp.../

albo stworzednie projektu komplementarnego - cart expandera, no bo jak jednoczesnie uzywac SIDE i SIDA ?
a mimo wszytsko ok 1 tys uztkownikow side juz ma...

serdecznie proszę o maile na lotharek@lotharek.pl z tematem ATARIAREA - inne formy komunikacji zawodzą...
"The worth of all people is dependent on how they spend their life making contributions" - Kano Jigoro
FKMC /Fan Klub Malej Czarnej/   @Grey

35 Ostatnio edytowany przez wieczor (2014-09-11 09:14:17)

Apropos cart expandera, to było juz dyskutowane, komu sie chce komu nie... A moze Ty bys wyprodukował? ;)

Budowanie wiez z cartow czy   chodniczkow to srednio bezpieczny pomysł :)

The problem is not the problem; the problem is your attitude about the problem

36

Card expander byłby (IMHO) bardzo pożądanym produktem.

37

toriman1 napisał/a:

Ano mamy podobne scalaki ponieważ to dobra praktyka aby w układach synchronicznych łapać zbocza a nie poziomy, hehe...
Ale to faktycznie ciekawe ponieważ widać podobne podejście do zagadnienia. Osobiście ciekaw jestem jak wygląda schemat pierwszego SlightSIDa :)

Mam to jeszcze gdzieś na kartkach rysowane jeszcze "od ręki" ;-) jak znajdę w sowim bajzlu to zeskanuję i wrzucę. Popatrzyłem na Twój sch. Poszliśmy bardzo podobną ścieżka, czemu się nie dziwie bo inaczej się nie dało. tylko ja inaczej trochę generuje sygnały zatrzaskujące dla '574. Oraz to co nazwałeś na SCH "run-end" zrealizowane mam bardzo podobnie, tzn. wykorzystuje oczywiście asynch. kasowanie '74 do zasygnalizowania tej mini "state machine" że cykl zapisu do SID-a zakończył się właśnie :), no i nie mam 3-wejściowych NOR-ów.

Tak jak u Ciebie zatrzaskuję ADR na narastającym zboczu Fi2 (7402), dane na opadających (7400). Ty przedłużenie CS-a zrobiłeś na 3x INV ja zrobiłem 2xINV plus RC pomiędzy nimi (wiem że takich akcji się nie praktykuje w normalnym cyfrowym świecie, ale tak zrobiłem :] )

38 Ostatnio edytowany przez tOri (2014-09-14 09:14:47)

seban napisał/a:
toriman1 napisał/a:

Ano mamy podobne scalaki ponieważ to dobra praktyka aby w układach synchronicznych łapać zbocza a nie poziomy, hehe...
Ale to faktycznie ciekawe ponieważ widać podobne podejście do zagadnienia. Osobiście ciekaw jestem jak wygląda schemat pierwszego SlightSIDa :)

Mam to jeszcze gdzieś na kartkach rysowane jeszcze "od ręki" ;-) jak znajdę w sowim bajzlu to zeskanuję i wrzucę. Popatrzyłem na Twój sch. Poszliśmy bardzo podobną ścieżka, czemu się nie dziwie bo inaczej się nie dało. tylko ja inaczej trochę generuje sygnały zatrzaskujące dla '574. Oraz to co nazwałeś na SCH "run-end" zrealizowane mam bardzo podobnie, tzn. wykorzystuje oczywiście asynch. kasowanie '74 do zasygnalizowania tej mini "state machine" że cykl zapisu do SID-a zakończył się właśnie :), no i nie mam 3-wejściowych NOR-ów.

Jeśli jeszcze gdzieś to masz no to wrzucaj - przynajmniej potomność też będzie miała szansę to zobaczyć ;)
Ja najpierw użyłem 74LS374 a potem zmieniłem na 574 bo te mają lepszą topografię do płytek testowych.
Reszta to szczegóły - jakieś różnice muszą być. Przyznam, że najpierw zacząłem swoje rozrysowywać a dopiero
sporo czasu po tym ujrzałem zdjęcia prototypu SlightSIDa.

seban napisał/a:

Tak jak u Ciebie zatrzaskuję ADR na narastającym zboczu Fi2 (7402), dane na opadających (7400). Ty przedłużenie CS-a zrobiłeś na 3x INV ja zrobiłem 2xINV plus RC pomiędzy nimi (wiem że takich akcji się nie praktykuje w normalnym cyfrowym świecie, ale tak zrobiłem :] )

Logika - niezależnie od użytych elementów jest nieubłagana, hehe. Ten sam cel osiągamy w trochę różny sposób ale to dobrze bo widać różne podejście konstukcyjne. Ja najpierw użyłem także RC w pętli kasowania - dlatego są wogóle w układzie schmitty - bo przecież mogą być zwykłe 7404, ale pomyślałem, że takie coś słabo wchodzi do CPLD więc stanęło na łańcuchu inwerterów gdyby ktoś chciał to zapakować do Xilinxa lub Lattice. A w sumie to powinno dawać z 80 ns zapasu na /CS SIDA - aż nadto ale chciałem być tego pewien. Szkoda, że przerzutniki w GAL nie mają CLEAR bo sterowanie  (oprócz 574) by się zmieściło - porzuciłem to i pojechałem po bramkach.

Będę dalej kombinował z SIDari - już otrzymałem kilka sugestii więc jest punkt zaczepienia.

pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

39

Witam,

Ciąg dalszy...

Siadam do SID stereo, identyfikatora #$33, nowej przetwornicy +5V -> +9V oraz mapowania adresów. Trochę czasu mi to zajmie bo muszę całość prawie od nowa projektować. Proszę o cierpliwość :) Gdy skończę - dam znać i opublikuję materiały na stronie. Problem odczytu rejestrów OSC3/ENV także zostanie rozwiązany - najprawdopodobniej poprzez ciągłe sprzętowe odpytywanie SID. Układ zrobi się spory objętościowo ale będzie widziany z zewnątrz prawie prawie tak jak prawdziwy SID.

Z pewnością nie planuję klonowania SLightSIDa - moje rozwiązanie docelowo ma być montowane wewnątrz komputera.
Ze względu na konieczność podłączenia kilku ważnych sygnałów płytka wyląduje jako nakładka na ANTIC - w 800XL.
Nad 65XE/130XE za bardzo się nie zastanawiam. Ewentualne adaptacje pozostawiam innym konstruktorom :)

Przynajmniej tak to na razie wygląda w planach.

Jeżeli ktoś sobie tego zażyczy - będę mógł podesłać wcześniej zaprojektowane, testowane na symulatorze lecz NIE w rzeczywistości - układy.

pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

40

Tak się zastanawiam z tym ANTIC'iem. Razem z VBXE to będzie już niezła kanapka i komp się nie zamknie na bank :) A jakie są alternatywy? Dużo jest tych sygnałów?

The problem is not the problem; the problem is your attitude about the problem

41

wieczor napisał/a:

Tak się zastanawiam z tym ANTIC'iem. Razem z VBXE to będzie już niezła kanapka i komp się nie zamknie na bank :) A jakie są alternatywy? Dużo jest tych sygnałów?

Cześć,

no - trochę jest :/

A0 - A7, D0 - d7, R/W, Phi2, +5V, GND - no to razem 20 do podciągnięcia. W sumie zamontować można gdziekolwiek łącząc po prostu przewodami. Ja - ze względu na brak ograniczeń (nie zamykam kompa pod klawiaturą) wrzucam tam gdzie mi jest wygodniej a na ANTIcu mam już TurboFreezera (tu mi się SIDari zmieści) i w zasadzie do "kanapkowania" pozostały mi już tylko GTIA, PIA oraz POKEy co się z pewnością zmieni po dołożeniu drugiego POKEYa i AKI. Planuje też dołożenie dodatkowego dekodera adresowego w obszar $D2XX - 16 x 16 adresów aby jak najlepiej wykorzystać przestrzeń IO.

Wiem, że to nie jest najlepsze ale Atari nie ma zbyt wiele miejsca pod klawiaturą, jednak w miarę dokładania kolejnych rozszerzeń nie będzie innej możliwości niż przełożenie całości do obudowy w formacie, np. MIDI - 43cm szerokości
(jak średnia wieża audio) - kiedyś być może pokażę moją przekładkę ale aby to nastąpiło muszę pokończyć wiele projektów :)

pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

42

A CPU się nie nada? Na pokeyu siedzi z reguły drugi pokey. Na Anticu - VBXE. Ja wiem ze na CPU moze siedziedz jakis rapidus.

The problem is not the problem; the problem is your attitude about the problem

43

@toriman1: dobrze że projekt będzie się rozwijał :) ale napiszę też trochę żartobliwie :) No to chłopie wpadłeś jak przysłowiowa śliwka w kompot :) SID wciąga jak chodzenie po bagnach :) jak ulepszysz jedno będziesz chciał ulepszać następne ;] ale to dobrze, bo fajnie mieć taki projekt który cały czas się rozwija :)

44

wieczor napisał/a:

A CPU się nie nada? Na pokeyu siedzi z reguły drugi pokey. Na Anticu - VBXE. Ja wiem ze na CPU moze siedziedz jakis rapidus.

Wiesz...w sumie może być :) OK - no to ostatecznie bedę może "sadzał" SIDari na CPU (choc to miejsce wolę zostawić na rozszerzenie RAM 1 MB) ewentualnie zrobię wersje CPU i ANTIC. Zdaję sobie sprawę z problemów mechaniczno-użytkowych ale jak wszyscy wiemy Atari JUŻ jest zapchane prawie "pod korek" więc niezbyt różowo widzę dalsze rozszerzanie w oryginalnej obudowie. Jak pisałem - ja już podjąłem decyzję o przekładce bo muszę mieć łatwy dostęp do hardware no i rosną mi różne piramidki na płycie ;) Nie każdy chce lub może ale nie da się zrobić tak aby wszyscy byli zadowoleni...

Seban napisał/a:

@toriman1: dobrze że projekt będzie się rozwijał smile ale napiszę też trochę żartobliwie smile No to chłopie wpadłeś jak przysłowiowa śliwka w kompot smile SID wciąga jak chodzenie po bagnach smile jak ulepszysz jedno będziesz chciał ulepszać następne ;] ale to dobrze, bo fajnie mieć taki projekt który cały czas się rozwija smile

Musi sie rozwinąć i dokończyć :) Wiem co mam zrobić i pozostało tylko wcielić projekt w rzeczywistość. Myślę, że zaniedługo dam radę :) a i co ważne - opublikuję raczej już całkowity schemat. Przetestowany i wbudowany do komputera.

W ogóle każde projektowanie wciąga - czasami tak, że o 3 nad ranem  trzeba pomyśleć o tym, że i do roboty też trzeba będzie rano pójść - no i wtedy bywa nielekko.

A poza tym - będzie dobrze.

Pozdrawiam

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site

45

toriman1 napisał/a:

choc to miejsce wolę zostawić na rozszerzenie RAM 1 MB

To jest już rozwiązanie przestarzałe :) Teraz jest ultimate, a to wchodzi w romy :)

The problem is not the problem; the problem is your attitude about the problem

46

toriman1 napisał/a:

W ogóle każde projektowanie wciąga - czasami tak, że o 3 nad ranem  trzeba pomyśleć o tym, że i do roboty też trzeba będzie rano pójść - no i wtedy bywa nielekko.

A poza tym - będzie dobrze.

Mam dokładnie tak samo, jak się robi widno za oknem zastanawiam się jak przetrwam dzień w pracy :)  I na pewno będzie dobrze, inaczej  być nie może patrząc na Twoje poprzednie projekty :]

47 Ostatnio edytowany przez tOri (2014-09-17 16:51:37)

Witam,

Oj wieczór być może ale moje będzie mojsze ;-)

Tak seban - właśnie czuję, że powinienem już iść spać a siedzę i piszę na forum, hhehe...Taaa...

a poza tym MAM BARDZO WAŻNE PYTANIE ogólne - najpierw krótki opis:

Po rozmowie z mono wyszło, że najlepiej by było gdyby StereoSIDari wpasował się w obszar SOUND IO pod adresy $D240...$D27F. Z wielu względów byłoby to odpowiednie, chociażby dlatego aby mógł grać ze SlightSIDem na 4 SIDy. Co więcej - mam zamiar umożliwić przełączanie wajchą SIDari pod adresy $D500...$D51F czyli tam gdzie SligtSID aby zachować zgodność. Żadnych rejestrów ustawianych z Atari! Niestety poleci zgodność z Evie, jednak nie uważam, że to wielki problem zwłaszcza, że Evie też może się przełączyć w obszar $D5xx no i ktoś może chciałby "odpalić" np. SIDari, AY z Evie i SLightSIDa??? Taaaaa...

Pytanie brzmi:

czy ktokolwiek ma coś przeciwko zajęciu przez SIDari obszaru $D240..$D27F?

Zadaję to pytanie ponieważ chciałbym uniknąć kolizji z czymkolwiek. Nie chcę robić czegoś poważnego "na pałę". W Atariki widać, że pod tymi adresami NIC nie ma. Zbudowałbym pełny dekoder aby uniknąć problemów z zajmowaniem zbędnych obszarów.

pozdrawiam

EDIT: skoro się nikt nie odezwał w sprawie zajętości - rezerwuję obszar $D240..$D27F dla StereoSIDari, które będzie miało także możliwość przełączenia w obszar $D500..$D53F aby zachować zgodność ze SlightSID i Evie a także aby była możliwość gry na QuadraSIDari ;-)

Różne różności dla Atari i nie tylko - przydatne, bądź nie ale i tak warto zajrzeć...
http://atari.myftp.org  Atari - Power without price and necessary elements with some sh*t onboard
https://reversing.pl SSL enabled site