Pewnie niewielu z was czyta wieści ze świata commodore, ale informuje ze jakiś czas temu powstał projekt mojego autorstwa o nazwie SwinSID. http://www.swinkels.tvtom.pl/swinsid/ . Jest to sprzętowy zamiennik układu SID z c64 zrobiony na AVR i 16 bitowym przetworniku stereo.
Obecnie pracuje nad udoskonaleniem karty ( na tym samym hardware ) , tak aby uzyskać większe mozliwości odchodząc od zgodności z SIDem. Karta ma mieć następujące parametry :
- 6 oscylatorów o częstotliwości generacji do 15KHz. Plynna regulacja z dokladnością 0.5 Hz
- każdy oscylator generuje 1 z 16 przebiegów fali zapisanych w pamięci ROM.
- Ma każdy kanał można nakładać efekty : stereo chorus, phaser, interpolacja ( wygładza brzmienie ), duty cycle ( podobnie jak w SID tylko dla każdej fali ).
- Sprzętowa realizacja vibrato i tremolo.
- Możliwość połączenia dwóch oscylatorów przez efekt modulacji AM ( ring modulation ) lub FM, pozwala to uzyskać nowe brzmienia lub ciekawe efekty np. vibrato, tremolo
- 8 bitowa regulacja głośności dla każdego kanału stereo (lewy i prawy) z możliwością zmiany fazy sygnałów ( przydatne do efektów surround ).
- Możliwość odgrywania 8 bitowych sampli stereo na każdym kanale, zamiast generacji fali.
- 2  kanały generatora szumu( niezależne od 6 podstawowych) . Jeden z filtrem górnoprzepustowym.
- Jeden filtr o regulowanej częstotliwości i rezonansie.

Prototyp o takich możliwościach już działa jako tako, jednak trudno ocenić jego możliwości bez odpowiedniego oprogramowania i muzyki, którą trzeba stworzyć.
Zdaje sobie sprawę, że ta karta nie oferuje super możliwości jak na obecne czasy. Jest to po prostu karta posiadająca swoje, charakterystyczne dla siebie brzmienie, które może zaciekawić użytkowników 8 bitowców.
Sprzętowo karta została opracowana dla C64 ale jakoś nie widze entuzjazmu wśród uzytkownikow komody, dlatego napisałem tutaj, na forum atari. Karta do działania potrzebuje jedynie 8 linii danych, 5 bitów adresu i sygnał CS, pracuje asynchronicznie wiec clk nie jest jej potrzebny. Problem moze byc z timingami bo atari ma szybszy procek, a karta moglaby nie nadązyc, ale zatrzaski zalatwilyby sprawę.
Czekam na wasze opinie o tym projekcie. Może znajdzie się ktoś zainteresowany tworzeniem muzyki dla tej karty lub nudzący sie programista.

2

Karta ta pod drobnej przeróbce może być dołączona do atarki. Jedyny problem to ktoś by musiał napisać na takie coś oprogramowanie.

Ramos/Samar/HVSC Crew/ASMA/FanCA

3

Widziałem projekt. Jest interesujący. Teraz niech hardwareowcy się wypowiedzą :)

STYMulator JIL ST YM2149 mjuz:k @ gnu/linux
SIUP (SIo2Usb2Pc) - SIO2PC USB Edition
PIN ready logo
3M / InD: ... na kasetach były zabezpieczenia w postaci tzw. "mikropierdnięcie" ...

4

jaki jest koszt stworzenia takiej karty ?

jakie jest obciazenie glownego CPU (6502) ?

karta jest na licencji czy jako projekt otwarty ?

karta jest jako urzadzenie zewnetrzne czy wewnetrzne, tzn jakie sa wymiary, gabaryty ?

jaki jest stopien ingerencji w "bebechy" kompa aby ja podlaczyc ? (w tym przypadku to C64)

moze elektronik Atari wypowie sie jak widzi sposob podlaczenia, czy POKEY'e oryginalne beda mogly wspolistniec z ta dopalka ?


ciekawe czy dobrze zrozumialem specyfikacje , 6 oscylatorow tzn. 6 oddzielnych kanalow, kazdy z nich moze generowac dzwieki do czestotliwosci 15KHz, z plynna regulacja co 0.5HZ

kazdemu oscylatorowi mozemy przypisac 1 z 16 probek (sampli) zapisanych w pamieci ROM ? czy to sa wzory fali czyli prostokat, trojkat itp. czyli taki sprzetowy SYNTH by Swiety :)

reszta specyfikacji zrozumiala, niech wypowie sie jeszcze jakis muzyk, on lepiej skojarzy i oceni mozliwosci karty, ogolnie robi wrazenie, na mnie jako kodera

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

5 Ostatnio edytowany przez jellonek (2005-09-27 20:50:41)

tebe: poczytaj ze zrozumieniem pierwszy post to i czesc odpowiedzi znajdziesz ;)

Q: jaki jest stopien ingerencji w "bebechy" kompa aby ja podlaczyc ? (w tym przypadku to C64)
A: Karta do działania potrzebuje jedynie 8 linii danych, 5 bitów adresu i sygnał CS, pracuje asynchronicznie wiec clk nie jest jej potrzebny

Q: jakie jest obciazenie glownego CPU (6502) ?
A: pewnie tylko slanie komend sidowskich (ale niech sie autor wypowie)

Q: moze elektronik Atari wypowie sie jak widzi sposob podlaczenia, czy POKEY'e oryginalne beda mogly wspolistniec z ta dopalka ?
A: nie trzeba do tego elektronika - da sie i pokey'e nie maja tu nic do rzeczy (mona podpiac w innej
czesci przestrzeni adresowej rejestrow sprzetowych) a to za sprawa wspomnianego wyzej sposobu sterowania

Q: karta jest jako urzadzenie zewnetrzne czy wewnetrzne, tzn jakie sa wymiary, gabaryty ?
A: no przeciez napisane ze dopiero jest w trakcie developingu - co wiecej, pierwotnie projektowane
z mysla o komodzie, ale tam ,,nieco dziwnie'' przyjete przez scene - tak wiec moze bedzie wersja
dedykowana dla ataraka (forma karta)?

co do oscylatorow to ja ten tekst (jak i na stronie projektu) odebralem jako: 6 kanalow wavetable
(tak - softsynth) ktorych czestotliwosc odtwarzania mozna regulowac ze stopniem .5Hz DO 15kHz!!
nie liczac nizej wspomnianych nakladanych efektow...

ale reszta pytan zdaje sie byc jak najbardziej na miejscu (co wiecej - na stronie projektu
rowniez brak informacji o jakimkolwiek licencjonowaniu, co jak wiemy (po niedawnej dyskusji)
moze przyniesc rozne efekty...)

btw. robi wrazenie ;)

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

6

słyszałem jak to brzmi u Phobosa... AVR do takiego zastosowania to pomyłka. Jeśli chcesz te wszystkie efekty zrobić cyfrowo (w sensie kod avr-a) to winszuje wiary w siebie i od razu składam kondolencje odnośnie porażki :-D

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

7

Tebe:
Koszt zmontowanej karty to ok 70 zł.
Obciązenie procka jest mniej więcej dwa razy większe niż standardowy player pod SIDa. ( 2 x wiecej kanałów )
Karta jak narazie jest closed source.
Nowa karta została tak zaprojektowana aby zmieścila sie w obudowie C64. Wymiary płytki 6*6 cm.
Wystarczy wyjąc sida z podstawki i wlożyc na jego miejsce karte. nic wiecej nie trzeba, jedynie podłączyc wzmacniacz do wyjśćia line out karty.
Oscylatory generują przebieg ( kształt fali ) zapisany w pamieci ROM karty. Są to takie mini sample, stąd też  wavetable, ale ten sposób generowania dźwięku to bardziej cyfrowa synteza niż prawdziwe wavetable ( jak w amidze ), gdzie sample to całe instrumenty.
Sqward:
Nie wiem czego sluchałeś u Phobosa skoro karta jeszcze nie gra muzyki :). Phobos ma te kawałki które są na stronie SwinSIDa - karty emulującej SIDa, a tamta karta też byla ulepszana więc brzmi obecnie lepiej. To o czym jest ten wątek to nowa, zaprojektowana od nowa karta SwinSID2 czy jak ją tam nazwać, ma większe możliwości ale do jej obslugi potrzebne jest oprogramowanie którego nie ma, bo trzeba je napisać.
Procesory AVR nie zostały skonstruowane do przetwarzania dźwięku stąd tez niektóre efekty czy mozliwości karty podyktowane są osiągami procka. Projekt jednak naprawde działa i większość efektów realizowanych jest na przyzwoitym poziomie. Można by zrobić dużo lepszą karte na innym czipie ale to juz nie ten przedział cenowy.

8

Nie wiem, o co chodzi, ale popieram wszystko co dobre, nawet teściową.:| I fajnie jest.

9

swinkels napisał/a:

Sqward:
Można by zrobić dużo lepszą karte na innym czipie ale to juz nie ten przedział cenowy.

Tak czy owak jestem sceptycznie nastawiony.

Co do ceny to jednak jeśli miałbym coś kupić to wolałbym tam zobaczyć jakieś prawdziwe dsp bo po prostu nie da się zrobić np. prawdziwych dobrych filtrów IRR na 8 bitowym procku (nawet) o mocy AVR-ka.

Zresztą, już poza szukaniem dziury w całym, to SID-a raczej bym nie eliminował z c64 ;) wywalcie reszte, ale SID-a zostawcie :-D

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

10

apetyt rosnie w miare jedzenia, az nas przerosnie ;)

tyle ze Swinkels zbudowal taka karte a Ty Sqward nie, wiec skoro jest mozliwosc rozbudowania mozliwosci dzwiekowych to czemu nie skorzystac, lepsze to niz marudzenie, w koncu Sqward nie zbuduje nic lepszego co najwyzej skrytykuje, a to kazdy potrafi

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

11

tebe napisał/a:

apetyt rosnie w miare jedzenia, az nas przerosnie ;)
w koncu Sqward nie zbuduje nic lepszego

A skąd wiesz ? ;)

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

12 Ostatnio edytowany przez xxl (2005-09-28 08:24:24)

jak wyglada sprawa z montazem w atari? czy mozesz umiescic rejestry karty w przestrzeni adresowej atari w wybranym przezemnie miejscu?

swinkels w jakim miescie mieszkasz?

nie widze potrzeby emulacji sida jesli karta ma wieksze mozliwosci to dlaczego ja 'obrzynac'.

jak wyglada sprawa update oprogramowania karty? tylko programator?

zainteresowales mnie. jesli cena jest na poziomie jak mowisz to masz 1 klienta.

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

13

Jeżeli by się udało zrobić taką karttę w formie cartridgea - byłoby super, jeżeli nie - trochę gorzej, ale też nieźle. Mam pytanko do autora - z tego, co pisałeś, karta ma własne wyjście (stereo, jak mniemam). Czy istnieje możliwość dołączenia doń jeszcze sygnałów z POKEYa? Taki mix - karta plus pokej - oczywiście bez obcinania możliwości karty (post xxl) byłoby ciekawym rozwiązaniem, a można by uzyskać w sumie 12 niezależnych kanałów (przy 2 pokejach, w tym w każdym połączone d\wa pierwsze kanały w celu uzyskania 15-bitowych kanałów) lub 14 kanałów (8 z POKEYi i 6 z karty), co dawałoby już niezły czad. Co do oprogramowania - myślę, że na Atari znaleźliby się chętni (Święty, TeBe).

swinkels napisał/a:

- Jeden filtr o regulowanej częstotliwości i rezonansie.

Hmm, a jak wzrosłyby koszty i skomplikowanie układu dla 2 filtrów - oddzielnie dla lewego i prawego wyjścia, niezależnych...?

swinkels napisał/a:

Oscylatory generują przebieg ( kształt fali ) zapisany w pamieci ROM karty. Są to takie mini sample, stąd też  wavetable, ale ten sposób generowania dźwięku to bardziej cyfrowa synteza niż prawdziwe wavetable ( jak w amidze ), gdzie sample to całe instrumenty.

A nie myślałeś o możliwości dodania małego RAMu? Powiedzmy, po zatrzaśnięciu któregoś sygnału? Po pierwsze - odciążyłoby to pamięć komputera, po drugie - w takim przypadku, w zależności od autora i muzyczki - możnaby wymieniać zawarte tam sample na inne, co znacznie zwiększy zastosowanie programu (sample mogłyby być dodawane do muzyczki z playerem, jak to ma miejsce w CMC)? Czy bardzo takie rozwiązanie podrażałoby projekt? Przy ośmiobitowym sprzęcie możnaby zastosować na przykład układy 4164 albo 4264?
Idea - w każdym razie - wzniosła i jestem za.

Sikor umarł...

14

Jeśli dostałbym jakiś prototyp do testów to chętnie coś poskrobię, w końcu to nie jest coś niemożliwego.Zainteresowany jestem ale mógłbym coś zacząć skrobać w momencie posiadania takowej karty - myślę o pisaniu programu w taki sposób aby łatwo można go było przeportować na C64.

15

sikor: miksowanie sygnalu z pokey - good point
tyle ze pewnie nieco wzrosla by komplikacja ukladu (mixowanie pewnie odbywalo by sie juz analogowo)
dodanie ramu pod probki cholernie mocno zwiekszylo by funkcjonalnosc takiej karty (probki jak sie domyslam
umieszczone sa w pamieci programu wewnatrz atmelika - czytaj: malo na nie miejsca, dla tego tez opisuja
nie instrumenty, a zaledwie 16 ksztaltow fal...), ale oznaczalo by wzrost komplikacji (wyprowadzic szyne adresowa
i jakos komunikowac pamiec z karty z komputerem) + kosztow.

co do zastosowania innych mikrokontrolerow - jak to juz ktos z obozu c64 wspomnial, zastosowanie jakiegos
atmelowskiego thumb-a nie musi sie wiazac z mocno radykalnym wzrostem ceny, a wzrost mozliwosci...
fakt: zmiana na taki procek + dodanie ramu, to niemal budowa zewnetrznego muzycznego komputera
(cos jak przystawka wavetable do sb - ktora komunikowala sie z maciezysta karta sygnalami midi),
a skomplikowanie wzrasta i wzrasta - ale na 100% znalezli by sie chetni do kupna kilku egzemplarzy...

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

16

A mi się wydaje, że niekoniecznie - sam RAM można zaadresować w ROMie, dodać jakiś zatrzask przełączający dany fragment z próbkami na RAM, a nie ROM (bank pamięci).
Co do miksowania - wszak nie o to chodzi, miksuje program. Chodzi o doprowadzenie sygnałów z pokeja pod te same wyjścia, bez zniekształceń. Dobry program muzyczny i player już sobiue z resztą poradzi ;)

Sikor umarł...

17

a pomyslales moze o tym ze ten atmelik nie uzywa ZEWNETRZENGO dla niego romu/ramu? co chcesz zatrzaskiwac? a o pchaniu probek do wew ramu zapomnij - jego pojemnosc mozna pominac...

nie czaje o so ci chodzi z miksowaniem... chcesz doprowadzac analogowy sygnal z pokey-ow/probkowac
go/miksowac/wywalac na dac? (skoro chcesz by miksowal to program...) o co ci chodzi z wyprowadzeniem
tych sygnalow z pokey-a? pod jakie wyjscia?

ja w najprostrzej wersji widze to tak: analogowy sygnal z karty miksowany analogowo z wyjsciem z atarci
z ktorej sygnal po kabelku z tylniej scianki doprowadzamy do odp. wejscia na cartridge-u z omawiana karta.

ciekaw jestem jak widzi calosc autor tego projektu? jak Ty bys chcial to rozwiazac i czy wogule bierzesz to
pod uwage?

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

18

atari ma wejscie audio in - wyjscie katy dzwiekowej mozna magicznie podpiac i co ona wygeneruje zostanie zmiksowane z dzwiekiem z pokeya tyle ze mono ... ???

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

19

Napisałem - dołączenia, czyli karta generuje niezaleźnie od POKEYa, a na wyjściu mamy sumę (sygnał doprowadzony z dwu źródeł).
Co do RAM-u - trza podpytać autora, jeżeli trzyma w samplach, przydała by się podmiana na nowe brzmienia. Tyle z mojej strony, a szczegóły techniczne - do elektroników.

Sikor umarł...

20

fakt - fajnie by bylo miec ram pod sample ;/

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

21

jak Was czytam, Sikor i Jellonek to nie chce mi sie juz Was czytac

autor Wam przedstawia projekt o takich i takich mozliwosciach i nie pyta sie o co go rozbudowac, tylko czy jestescie zainteresowani nim w takiej formie jaka Wam przedstawia, czy jestescie sklonni napisac do niego soft

Wiec po co wogole strzepicie jezyki, zalozcie osobne forum pt. "Moja bujna wyobraznia" albo "Jak byc upierdliwym" albo "Jak duzo gadac i nic nie zrobic"

ktos podlaczy karte GF6800 do Atari XE/XL a Sikor wyskoczy i stwierdzi ze byloby dobrze podlaczyc pod ta karte Antica, bo to zwiekszy jej mozliwosci :D

z takimi pomyslami to przed budowa jakiegokolwiek projektu, albo lepiej wogole bo na pewno wtedy nic z takiego projektu nie bedzie

moze beda wypowiadac sie osoby, ktore cokolwiek potrafia zrobic, robia, zrobily w niedalekiej przeszlosci, i maja pojecie o ograniczeniach, kosztach, co mozna a co nie mozna,  bo tak rownie dobrze o opinie mozna pytac sie przedszkolaka

p.s.
Sqward statystyka jest przeciw Tobie, strzepisz tylko Swoj ozorek, oszczedzaj go

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

22

Odpowiadam kolejno na pytania:
Nie znam sie na architekturze atari. jako ze zawsze mialem c64, ale z tego co wiem to nie bedzie wiekszych problemów z podłączeniem karty do atarki. Jesli dało sie podłączyć SIDa to z kartą bedzie jeszcze mniej problemów.  W ostateczności można włożyc kartę dla C64 do podstawki SID Slight :).
Miksowanie dźwięku razem z pokeyem mozna zrobic analogowo, ale jest to szczegól techniczny i narazie o tym nie ma co myśleć.
Upgrade firmware - narazie nie ma takiej opcji ale jest to do rozważenia.
Jako cartridge w c64 mozna zrobić każdą przystawkę, bo jest tam cała magistrala procesora, w atari pewnie tez. Tylko co zrobić jesli ktoś oprócz karty chce uzywać jeszcze cartridge'a.?
Zrobnienie dodatkowych filtrów i efektów- z tym jest problem bo procek jest na granicy swoich możliwości. Niestety nie ma szybszych AVRów a procek juz chodzi przetaktowany. Rozważalem jest przejście na ARM ale nie znam tego rdzenia. Jesli jakiś elektronik juz robił cos na tym sprzęcie to chętnie nawiąze współprace.
Pamięci na sample nie da sie tak łatwo dodać. Trzeba wyprowadzić magistrale danych i adresową z AVRa, dołozyc bufory dla magistral atarki ( bo brakuje portów w avr ). Zwiększy sie znacząco kosz karty jak i trudność napisania softu. Gra nie warta świeczki.
W najblizszych tygodniach powstanie karta dla c64 na nowo zaprojektowanej płytce z nowym przetwornikiem C/A. Myślałem też o napisaniu playera pod tą karte na c64. Testową muze trzeba by napisać w asm :). Jak coś skrobnę to opisze tutaj efekty.

23

tebe napisał/a:

jak Was czytam, Sikor i Jellonek to nie chce mi sie juz Was czytac autor Wam przedstawia projekt o takich i takich mozliwosciach i nie pyta sie o co go rozbudowac, tylko czy jestescie zainteresowani nim w takiej formie jaka Wam przedstawia, czy jestescie sklonni napisac do niego soft

Pierwszy raz popieram tebego w całej rozciągłości.

Swinkels, bardzo dobra robota i cieszę się, że wpadłeś na nasze forum. Pracuj dalej!

Jellonek i Sikor proszeni są o zjazd do boksu ;)

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.

24

Zatem pytam się czy byłaby możliwość otrzymania - np na zasadzie pożyczenia danej karty do napisania softu - myślę że z tym nie byłoby większego problemu. Swinkels jak jesteś z okolic Tarnowa to zawsze można się spotkać i obgadać szczegóły. Ja jestem chętny na napisanie jakiegoś playera , ale nie da się tego zrobić w ciemno. (bądź da się ale to jest tak jakby głuchy pisał muzę - widzi w trackerze ale nie słyszy - choć to wcale nie oznacza że nic z tego nie wyjdzie :) ) . Co do podłączenia go do Atari to jestem elektronikiem i dam sobie z tym radę więc i ten problem rozwiążę.
Swinkels - pytanie - jakiego codeca używasz - ja bawiłem się z AD1848 - 16 bit stereo, 48 khz, 3 kanały z możliwością mixowania. Może zastosowanie takiego układu rozwiązało by problem sikora i pozostałych osób - układ ma szynę 8 bit - więc potrzeba by było na prawdę 16 bitów . (sygnały D0-D7, a0, a1 ,CS, WR,RD, RESET i ew. INT).

25

Obecnie w moim prototypie mam przetwornik AD1866 ale jest on niedostępny w Polsce, dlatego trzeba go wymienić na inny. Nowa płytka będzie wykorzystywać TDA1543 - tani i całkiem niezły przetwornik c/a komunikujący się przez I2S. Układ ten ma tylko 8 nózek zamiast 68 które ma AD1848, poza tym wspomniany przez Ciebie układ nie jest już produkowany.
Po zmontowaniu i przetestowaniu nowej płytki móglbym ją wypozyczyć, ale może nie być to konieczne bo napisałem też prowizoryczną obsługe tej karty w emulatorze C64 - Vice. Więc wystarczy napisać player pod tym emulatorkiem i powinien też działać na prawdziwej karcie.
Mieszkam w Dąbrowie Górniczej.