26

Odp: już chyba wszyscy go mają tylko nie małe :(

moze jakos tak?

pokey 1 $d200 - $d20f
pokey 2 $d210 - $d21f
sid 1 $d220 - $d23f
sid 2 $d240 - $d25f

http://atari.pl/hsc/ad.php?i=1.

27

Odp: już chyba wszyscy go mają tylko nie małe :(

xxl: a gdzie zatrzaskiwanie sygnału cs ?? Przecież to od niego zależy dostęp do układu SID - więc jego trzeba zatrzasnąć , dopiero w momencie jek ten sygnał się pojawi , zegar sida może "przeżucić" dane do układu! (np suma sygnałów invertowanego CS zatrzasnietego i zegara sida), po za tym to po takiej operacji wpisu należy skasować rejestr sygnału CS.

To jest moja sugestia co do tego projektu.

28

Odp: już chyba wszyscy go mają tylko nie małe :(

o to chodzi?

zamiast sie wymadrzac to bierz sie do roboty. ja gdybam! bo sie na tym nie znam, jesli wiesz jak co popodlaczac a niemasz czesci lub czegos pisz - dostarcze.

http://atari.pl/hsc/ad.php?i=1.

29

Odp: już chyba wszyscy go mają tylko nie małe :(

Oto moja propozycja.

pomidor

30

Odp: już chyba wszyscy go mają tylko nie małe :(

czy ja dobrze widze ? chcesz generować sygnał zegarowy dla sid'a programowo tym microchip'em ? to se chyba ne da :(

What can be asserted without proof can be dismissed without proof.

31

Odp: już chyba wszyscy go mają tylko nie małe :(

Ja myślałem raczej o jakimś galu czy mach-u ewentualnie o kilku 74xx a tu widzę procek - pomysł w sumie niezły. Trochę nad tym myślałem , zatem nasuwa mi się pytanie - jeśli dobrze myślę to odczyt z Sida musiałby następować w 2 etapach - pierwszy - wystawienie adresu rejestru do odczytu , drugi to odczyt po powiedmy 3-4 cyklach zegrowych atari (czyli ok. 1 cyklu sida). Wydaje mi się że przy asynchronicznych szynach nie ma możliwości bezpośredniego odczytu z Sida.
To trochę komplikuje sprawę - w tej chwili teoretyzuję ale gdyby jakiś player z c64 coś odczytywał z Sida no to byłoby po zawodach.....

Co do zapisu to myślałem nad rejestrem przesuwnym , gdzie podstawowym sygnałem zegarowym byłby sygnał fi2 z sida (1 mhz) blokowany przez rejestr CS a sygnały cs z atari i sygnał Cs' dla sida wynikałby przesunięć rejestru i zatrzasku, podobnie z zatrzaskami z sygnałem CS!

Czyli teoretyczny zapis musiałby wyglądać tak:
1) -w momencie zapisu zatrzask łapie syganły d0-d7,a0-a3 i osobno CS
2) - następuje odblokowanie taktowania i czekanie na narastającą fazę sygnału fi2 z sida (zostaje on odblokowany w momencie zatrzasniecia sygnalu CS)
3) - po pojawieniu się dodatniego stanu na wejściu zegarowym SIDa zostają wygenerowane sygnały CS dla sida , sygnał r/w przyjmuje stan dodatni (H) i wartości z zatrzasków zostają zapisane do SIDa.
4) na zboczu opadającym sygnału Fi2 zsotają skasowane zawartości z rejestrów , zostaje skasowany znacznik CS i zablokowane wejście taktujące logikę.

[ Dodano: Czw Lis 25, 2004 8:08 ]
I jescze pytanie do Sebana - co z sygnałami adresowymi - bo z tego co ja widzę to niue są one podłączone więc niestety zapis do Sida następowałby w dziwny sposób. (pewnie najpierw trzeba by było zapisać numer rejestru a potem daną do niego)

32

Odp: już chyba wszyscy go mają tylko nie małe :(

sqward: nie tylko da się generować sygnał zegarowy 1MHz dla SIDa ale jest to już zrobione. (oczywiście nie tyle programowo co sprzętowo)

Święty: zapis : adres, dana i czekamy póki "busy". Oczywiście nie trzeba czekać

W playerach zamiast np. sta $d020 (SID)
byłoby jsr sid_d020

i ...

Święty: ja nie Seban ;-)

Dodatkowo: procek może oprócz obsługi SIDa wykonywać inne nasze fanaberie np. "sprzętowe" szybkie mnożenie. Tak tak .... Oczywiście działa zarówno zapis jak i odczyt z niego.

pomidor

33

Odp: już chyba wszyscy go mają tylko nie małe :(

sqward: nie tylko da się generować sygnał zegarowy 1MHz dla SIDa ale jest to już zrobione.

hmm. ciekawe, a pic ma jakiś sprzętowy dzielnik czy to jest sterowanie portem ?

What can be asserted without proof can be dismissed without proof.

34

Odp: już chyba wszyscy go mają tylko nie małe :(

PIC ma PWM

pomidor

35

Odp: już chyba wszyscy go mają tylko nie małe :(

Hehe, dobre. Chyba sobie do sygnatury wstawie. PIC ma PWM. Albo ogłoszę 24h na rozwinięcie tego zdania ;)

A wracając do tematu to jeśli mamy gotowy schemat i można go sobie, ot tak, narysować to czemu jeszcze nikt tego nie zrobił? :)

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.

36

Odp: już chyba wszyscy go mają tylko nie małe :(

Co wy gadacie male Atari ma juz od dawna SID'a :
- mial go Gumi
- Candle i te schematy co podal xxl to chyba sa od jego wersji sid playera http://gdansk-orunia.eu.org/atari/sid/ tyle ze poza nim chyba nikt tego jeszcze nie ma/nietestowal....moze Vidol cosik o tym bedzie wiedzial ??
- Seban ma tyle ze niechce dac :)
- ma Analmux http://www.phys.uu.nl/~bpos/mysynth/sidpics.htm
odpowiedni watek na atariage: http://www.atariage.com/forums/viewtopi … ht=#443307

"wszystko się kiedyś kończy......."

37

Odp: już chyba wszyscy go mają tylko nie małe :(

Electron: wszystko jest ok ale co z adresowaniem sta ($fe),y - trzeba by modyfikować to ręcznie , po za tym to ma 2 bajty więc resztę playera trzeba ruszać ! Ten sam problem ja mam w sidplayerze !
W moim przypadku jedyną modyfikacją byłoby zmiana adresu wpisywana do $ff (ale musiałby być inteligentny kod) w twoim kawałek kodu z następnym rozkazem włącznie.

A co jeśli player skacze gdzieś do tego rozkazu, trzeba by było na nowo pisać coniektóre playery !

Może lepiej byłoby dodać zatrzask na szynie adresowej i zsynchronizować go z Atari ??? Wtedy PIC jedynie generował by sygnały zegarowo-sterujące i buforował szynę danych !


Dely: pwm to oznacza Pulse Width Modulation - modulacja szerokości impulsów. Pic oprócz tego ma na pewno dzielnik częstotliwości (nie znam Pic-ów ale na pewno tak jest)

38

Odp: już chyba wszyscy go mają tylko nie małe :(

Dely: PIC ma PWM - myślałem, że wszystko jasne :)

Pulse Width Modulation - dzięki dzielnikom częstotliwość bazowa ustawiona na 1MHz a wypełnienie na 50% i mamy zegar dla SIDa.

co do praktyki - mam zaprojektowany obwód drukowany, muszę jeszcze go zrobić :) Sam PIC już podłączałem do Atarki i komunikacja z nim jest bezproblemowa. (był jako kartridż)

Święty: dodając jeden układ 74HCT574 można zatrzaskiwać i adresy. Po prostu Parallel Slave Port PICa (polecam PDFy) jest 8-bitowy tylko, więc te dane trzeba zatrzasnąć osobno - ale jest to do zrobienia
Dzięki Parallel Slave Port PIC 16F... zdaje się być wprost stworzony do pełnienia funkcji inteligentnego bufora ... A jest co najmniej 5-7 razy szybszy od atarki. Używając kompatybilnych układów serii PIC18F... można zrobić dopalacz mający sprzętowe mnożenie i szybkość około 12 razy większą niż 6502 w Atari. Niestety - z wąskim gardłem 8 bitowego portu.

sta ($a),y - ups ... ;-)

zapis do rejestru SIDa wg mojego pomysłu wygląda następująco:


ldx #adres
stx $d5ff
lda #dana
sta $d5ff
nop
busy lda $d5ff
beq busy

oczywiście czekać trzeba tylko gdy chcemy zapisy wykonywać szybko po sobie....

obsługa mnożarki:

lda #rozkaz_mnożenie
sta $d5ff
lda #liczba1
sta $d5ff
lda #liczba2
sta $d5ff
nop
nop ;może wcale nie będzie NOPow ?
nop
nop
lda $d5ff
sta wynikH
lda $d5ff
sta wynikL

Pozdro. :)

PS PIC ma też SCI, SPI, EEPROM, I2C,   ;-)

pomidor

39

Odp: już chyba wszyscy go mają tylko nie małe :(

Fajowska sprawa, rozumiem, że mnożarke dostajemy w promocji razem z kontrolerem SIDa?

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.

40

Odp: już chyba wszyscy go mają tylko nie małe :(

wychodzi na to ze jako glue logic sid-atari bedzie uklad ktoory ma wieksze mozliwosci obliczeniowe niz samo atari...

co w kolejce jesio stoi? ta sama sprawa jest juz od laaadnego czasu z sio2ide 8)

w sumie sio2pc + pecet jako stacja dyskoof wszystko przebija :>

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep

41

Odp: już chyba wszyscy go mają tylko nie małe :(

No takie bajery jak mnożarka dochodzą w prezencie, bo skoro można wykorzystać moc kontrolera to czemu nie :)

pomidor

42

Odp: już chyba wszyscy go mają tylko nie małe :(

Electron: widząc schemat widziałem że procek ma takie cosik - sądzę że faktycznie takie rozwiązanie w stylu intela będzie preferowane.
Mi jedynie chodziło o rozwiązanie jak najbardziej zgodne z szyną atari - tak aby w playerze dokonywać jak najmniej modyfikacji - wtedy większa liczba sidów będzie chodzić poprawnie.
Co do procka to jest rozwiązanie zajebiste ale zostaję przy buforze 74hct574 - wtedy nie dość że łatwiej będzie operować na adresach , to do tego nie będzie trzeba stosować żadnych kruczków żeby zmieniać program.
Przecież podłączenie dodatkowych bitów szyny adresowej do któregoś z portów PICa spowodowałoby że można używać Pica w dowolny sposób.
Np. $d500-$d51f - szyna sida ,$d520-$d53f - jednostka mnożąca i inne bajery jakie nam się nasuną - pozostaje część niewykożystanego portu RA0-RA5 do obsługi czegokolwiek - ja na razie myślałem tylko o podłączeniu A5 do RA0 - w celu przełączania adresowań.

Reszta portu pozostaje wolna - ja bym to pozostawił do konfiguracji rozszerzeń - np. przełączanie mono/stereo, przełączanie romów i generacja adresów dla flashromu itp. (żeby go łatwiej flashować!)

I ostatni rzecz o której nikt nigdy nie napisał a jest rzeczą kluczową w całym podłączaniu sida - co z emulacją timera CIA ?????

43

Odp: już chyba wszyscy go mają tylko nie małe :(

prosze nie pisac o rzeczach kluczowych...
cholerne skojarzenia z komisjom sledczom i panem romanem g. mi sie nasuwajom co jest b. niemile i nieporzadane...

The UNIX Guru`s view of Sex:
unzip; strip; touch; finger; mount; fsck; more; yes; umount; sleep