26

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

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

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

Oto moja propozycja.

pomidor

30

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

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

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

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

PIC ma PWM

pomidor

35

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

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

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

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

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

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

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

pomidor

42

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

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