226

(192 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.07 poszła na Sourceforge

http://sourceforge.net/projects/pc-softsynth/

Sporo zmian. NIE TRZEBA, a nawet nie wolno już pisać numerów linii. To była cholerna przeszkadzajka, wywaliłem ją. Numery linii dodane zostaną automatycznie przy eksporcie do .LST, żeby atari mógł to wczytać. W związku z tym pliki .m2 mają nowy format. 0.07 wczyta i stary format, ale odwrotnie już nie pójdzie.

Wywalony został checkbox "Atari compatibility". Poprzednio decydował on, czy jednostką jest 1 ms, czy 5 ms*speed (domyślnie speed=4) - oraz o tym, czy głośności są w zakresie 0..15, czy 0..32767.

Teraz checkboxa nie ma, jest standardowo speed 4, żeby wymusić milisekundową rozdzielczość, trzeba dać speed 0.2; w tym celu speed może być teraz float :). Parametr głośności zaś jest automatycznie rozpoznawany; jeśli jest <16, traktowany jest jako Atari-compatible. 

Te wszystkie zmiany powstały na skutek prób przeniesienia "Noise Pillars" do Atari; i tak się nie udało, bo Atari Softsynth wykłada się na speed=1, ale za to była to dobra okazja do debugowania. Poniżej załączam listing przekonwertowanego fragmentu w formacie .lst Atari Softsyntha - Atari, niestety, zagrać tego nie potrafi :(

Wrzuciłem "exe only" bez katalogów z samplami itp. - trzeba nadpisać exe na stary z 0.06

227

(21 odpowiedzi, napisanych Fabryka - 8bit)

To oczywiście oglądałem. Klasyk, czyli atmega+RAM+DAC+amp. Nie wiem, czy to tańsze, atmega128 też coś koło 40 PLN kosztuje. Tyle, że przynajmniej to już jest, przynajmniej w schematach skoro prototyp poszedł z dymem.

Wspomniany zaś mikrokontroler Atmela ma 128k SRAM, co na ładowalne sample dla syntezy a'la softsynth wystarczy. Jeśli potrafi brać dane z pamięci programu, a w końcu powinien, to w pamięci flash można mu zaszyć całą istniejącą bibliotekę softsynthowych sampli. 2 DACe  wystarczą do stereo; są przy tym 16 bitowe/50 kHz;  66 MHz powinnno zaś wystarczyć, żeby poradził sobie z syntezą i miksowaniem

Na razie co prawda cierpię na chroniczny brak czasu (praca nad pc-softsynthem też idzie jak ślimak), ale przyjrzę się temu układowi.

228

(21 odpowiedzi, napisanych Fabryka - 8bit)

Szukając czegoś co nadaje się na taką kartę znalazłem to:

AT32UC3A3256

"To" ma 2 kanały 16-bit DAC, 256k flash, 128k sram i kosztuje 60 złotych. Nie mam doświadczenia z takimi układami, ale wydaje mi się, że do tego wystarczy dodać wzmacniacz wyjściowy, kwarc, kilka oporników i napisać soft.

229

(28 odpowiedzi, napisanych Sprzęt - 8bit)

Normalnie :) Próbujesz, dopóki się nie uda. Nie robiłem tego na atari, bo za mało wtedy byłem zaawansowany w takiej zabawie, ale później z kolegą zrobiliśmy "wynalazek" do peceta. Przerobiony kontroler dyskietek pisał do  2.2 MB na dyskietkach "gęstych" i do 1.2 MB na "rzadkich", tych 360 KB.

Trzeba było do tego zrobić rozpoznawanie formatu, więc sterownik po prostu próbował. Ustawiał po kolei różne kombinacje parametrów kontrolera i czytał boot sektor dopóki czegoś nie odczytał, albo nie skończyły mu się te kombinacje. Wtedy wychodził z błędem.

Jak odczytał, to miał przynajmniej długość sektora i gęstość zapisu.

czyli wszystko można wywnioskować z 1 cylindra... tylko jak?

Poza tym, z tego co pamiętam, to niezależnie od tego, jaki jest format dyskietki, pierwsze 3 sektory w Atari mają zawsze 128 bajtów w standardowym formacie. Analizując ich zawartość powinno dać się określić, jak dalej czytać tę dyskietkę.

Ot, przykład:

http://atariki.krap.pl/index.php/Format_SpartaDOS

230

(29 odpowiedzi, napisanych Emulacja - 8bit)

No tak, ale musisz teraz zaemulować ten 100 MHz 68060 plus resztę bebechów amigi, na , nie wiem czym - ARM-ie?

231

(29 odpowiedzi, napisanych Emulacja - 8bit)

Nie wziąłeś pod uwagę, że emulacja całego komputera (z dokładnością do cykla)

Wziąłem.

To ciekawe jakim cudem już wieki temu Atari800Win działało mi ze 100% szybkości (a mogło więcej z F7) na Pentium 200MMX @ 250 MHz

Przypominam: "a pecetowa architektura też swoje robi."

Mogłeś na P200 jechać karcie graficznej po ramie i rejestrach "na żywca"? Mogłeś użyć przerwań vbl? Mogłeś puszczać dźwięk z karty po DMA?

Mogłeś. A teraz niestety, już nie możesz. I trzeba teraz na emulację te 600 MHz Intela, choć wcześniej starczało 200.

Ale główna teza mojej wypowiedzi była taka: emulacja pod emulacją nie przejdzie. Masz dwie zmiany architektury. Nie ma szans.

232

(29 odpowiedzi, napisanych Emulacja - 8bit)

ARM to daleki potomek 6502. :) Natomiast siła 68000 leży w adresowaniu i hurtowej ilości 32-bitowych rejestrów - zasymulować na tym 6502... ciężko. Nie ta architektura. Macie: mc68060@100MHz ledwie zipie przy tej robocie :) Z intelem to samo.. a pecetowa architektura też swoje robi. Efekt? Atari800winplus zżera 12% CPU. AMD x64x2@2500 MHz. Czyli do zaemulowania niecałych 2 MHz 6502 plus paru chipów trzeba 600 MHz mocy x86 :(

No, ale 6502, to 6502. 8-bitowe Atari wbrew pozorom ma moc obliczeniową zbliżoną do PC AT i niewiele niższą od Atari ST/Amigi

Podsumowując: jak masz tego androida chodzącego na ARM, to jest szansa na to że natywny emulator a8 będzie wyrabiał. Ale pomysł żeby zaemulować amigę (zmiana architektury #1) po to, żeby ona zaemulowała A8 (zmiana architektury #2) to nie ma w ogóle szans.

233

(192 odpowiedzi, napisanych Fabryka - 8bit)

Pierwsze co mi do głowy przychodzi, to przy włączonym anticu wypuszczać sample w DLI; nie wiem na ile to dobra metoda; przez 20 lat cokolwiek zapomniałem... :(

234

(192 odpowiedzi, napisanych Fabryka - 8bit)

Więc tak: Softsynth liczy sample, ale potem Pokey musi je wypuścić w świat. To są dwie różne sprawy. Jakby poprawić procedury wypuszczania przez Pokeya tych samych sampli, jakie mu dostarcza procedura syntezy, mogłoby być ładniej.

A ekran gasi się właśnie po to, żeby antic nie przeszkadzał. Po prostu: wyłącza się Antica. Mnie zastanawia co innego: jak są wypuszczane (ładne, nie zniekształcone) sample, gdy Antic pracuje. Atari 8bit nie mam od 90 roku; wtedy takie techniki jeszcze nie były znane... a nowych już nie poznałem.

235

(23 odpowiedzi, napisanych Bałagan)

A spróbuj jeszcze raz zasadzić ten ram, może nie był walnięty, tylko źle kontaktował

236

(192 odpowiedzi, napisanych Fabryka - 8bit)

Dobrze by było, ale to wymaga przepisania lub napisania na nowo Atari Softsyntha. Przy tym Softsynth był szokiem gdy powstał, ale później na A8 powstały procedury stanowczo ładniej grające i nie wymagające do tego gaszenia ekranu.

237

(85 odpowiedzi, napisanych Bałagan)

Ta "centipede" to może być to. Wydawało mi się że robali mogło być więcej niż jeden. Pudłą z grami (w ilości dwóch) stały na stołówce politechniki; na jednym były "robale", a na drugim Time Pilot.

238

(85 odpowiedzi, napisanych Bałagan)

Dopiszę się do tematu. Grałem kiedyś (~'85 rok) na automacie w coś takiego, gdzie po planszy biegały wieloczlonowe robale, trzeba im było celować w d... , jeden pocisk likwidował jeden człon robala, a im mniej mial on członów, tym szybciej zasuwał. Może ktoś zna tytuł tego czegoś?

Tytuł drugiej gry zapamiętałem - "Time Pilot". Na pierwszym poziomie zestrzeliwało się dwupłatowce a'la I wojna, potem takie z II WŚ, poten współczesne, a na koniec UFO. Na końcu każdego etapu czekał jakiś statek specjalny; na etapie I WŚ był to sterowiec. Nie zapomnę, jak grały dzieciaki, takie, że ledwie dostawały do joysticka i na widok sterowca któryś wydał okrzyk: "Kandon, kandon leci, bij w kandona!!!"

Te same dzieciaki nauczyły się, że po "twardym resecie" automat zamiast dwóch dych zadowala się tylko jedną. Grali jeszcze ludzie z pomocą "dychy na sznurku": nawiercało się dychę (monetę o wartości 10 starych polskich złotych), przywiązywało do sznurka i zapuszczało do automatu pociągając do góry i opuszczając w dół; automat wtedy dodawał kredyty. Na koniec, jako że monety wyciągnąć się nie dało, trzeba było pociągnąć mocniej, urwać szmurek i oddać wreszcie monetę automatowi.

Stare, dobre czasy :) Jeszcze sprzed Atari w domu (miałem Atari od 1986 roku)

239

(192 odpowiedzi, napisanych Fabryka - 8bit)

.. no i Atari Softsynth też swoje błędy ma....
Nie zaakceptował tego:

1010 1,'500,random,default,10,1,1

Po wprowadzeniu takiej linijki polecenie list 1010 wyświetla krzaki zamiast random i default (albo inne nazwy, albo wręcz serduszka z atascii). Pomogło to:

1010 1,a,random,default,10,1,1

Kolejny kwiatek:

set 3,rechteck, default, 8,1,1

Tak zdefiniowany dźwięk na Atari po prostu nie gra. Minimalna długość, żeby grał, wynosi 2. ...

Trzeba dać speed 1 i zdefiniować 8,4,4. Wtedy gra.

240

(95 odpowiedzi, napisanych Sprzęt - 8bit)

No kurczę.. czasu swego miałem TOMS Multi Drive przez lat parę... i niczego mi ten napęd sam z siebie nie sformatował (odwrotnie, czyli ja chciałem fomatować, a dyskietka się nie dała, to i owszem, było, ale to była wina dyskietki, a nie napędu) - miałem, widocznie, szczęście :)

241

(192 odpowiedzi, napisanych Fabryka - 8bit)

Coby zdebugować toto, zacząłem z pomocą softsyntha konwertować Noisy Pillars :) jako że lubię tę muzyczkę, a błędy i niedoróbki najlepiej wychodzą przy "prawdziwej" robocie. No i... wylazło trochę tego, więc będzie w rezultacie trochę zmian... i muzyczka z c64 przekonwertowana na atari. Ale to za co najmniej parę dni.

242

(14 odpowiedzi, napisanych Bałagan)

Z wikipedii:

    * choć SID ma tylko trzy kanały, istnieje możliwość odtwarzania sampli uzyskując programowo dodatkowy, czwarty kanał
    * ograniczenia w liczbie kanałów (pozwalające odegrać jednocześnie co najwyżej trzy różne dźwięki) spowodowały, że komputerowi muzycy stosowali różnorodne triki pozwalające wywołać wrażenie, że jednocześnie odtwarzanych jest więcej dźwięków.

243

(2 odpowiedzi, napisanych Fabryka - 8bit)

Fajne zabawki, do stestowania.

Miałem ostatnio duży nadmiar trudnych spraw do załatwienia i Softsynth stanął w miejscu. Mam nadzieję że ten maraton właśnie sie skończył i znów znajdzie się trochę czasu na zabawę z programowaniem.

244

(14 odpowiedzi, napisanych Bałagan)

Mam dokładnie ten... 2.1.1 - i odgrywa songi jak trzeba... Pod oknem winampa jest doklejony taki sliderek który je przełącza...

Ale spróbuję tego 2.1.5, bo mój 2.1.1 nie chce odtworzyć tego sida a'la LOTR którego dziś wrzuciłem... i muszę odtwarzać go programikiem SIDPLAY.

A.. przy okazji taka ciekawostka... Winampa i sidplaya uruchamiam, a jakżeby inaczej... pod OpenSuse 11.2 :) A800WinPlus 4.0 też pod lin chodzi bezbłędnie...

EDIT.. UPS!!!! Mam DWA dll-e do odtwarzania SIDów... i to co działało, to nie ten 2.1.1, tylko SIDAmp 1.1... a teraz cóż, mam już trzy pluginy do sidów.. ( a tylko jeden in_sap.dll.... ) - zaraz wywalę te stare i wypróbuję najnowszy.

Edit 2. Stestowałem. Wracam do plugina o nazwie SidAmp 1.1.

245

(14 odpowiedzi, napisanych Bałagan)

Bo ta sztuka ma 3 muzyczki... a ten "song3" to tylko song3. Oczywiście mam to w zasobach bo kiedyś ściągnąłem sobie cały ten zestawik sidów, na którym wzorowała się ASMA... jak już wiem, jak się autor nazywa.

246

(14 odpowiedzi, napisanych Bałagan)

Dzięki :)

Skoro piszą po necie, że to trzeci kawałek z tego demka, to by pewnie znaczyło że pozostałę (song1..song8) pewnie też z niego pochodzą..

247

(1 odpowiedzi, napisanych Bałagan)

http://www.youtube.com/watch?v=eePb559zmGA

To jest c64 version :)

Edit: A poniżej macie sida

248

(14 odpowiedzi, napisanych Bałagan)

Mam trochę "sidów" o wiele mówiących nazwach: song1.sid, song2.sid... etc. Tą sztukę skądś znam.. ale nie wiem skąd. Dołączam parę sid/dat w załączniku, może ktoś będzie wiedział. Fakt, że to c64, ale co tam.. dziś każde 8-bit jest piękne....

249

(192 odpowiedzi, napisanych Fabryka - 8bit)

W planach jest tak (trochę widać w 0.06)
- edytujemy jeden track naraz lub Main Melody (zestawianą głównie z tracków)
- trzymamy się filozofii Masica - track ma długość dowolną i gra w pętli przez czas zdefiniowany w głównej melodii
- po wybraniu presetu program wstawi definicje SET do tracka i ustawi syntezę na wybraną kombinację parametrów
- po czym można będzie w realtime zagrać na klawiaturze pc i zapisać to w postaci masicowego kodu, który potem można będzie sobie doedytować, odsłuchać, pozmieniać presety albo ręcznie dopisać cokolwiek,
- w późniejszym terminie będzie midi in, póki co mam odpowiednie biblioteki dla linuxa i chyba znajdę dla win; bez pomocy posiadaczy maców obsługo midi-in do maca nie jestem w stanie zrobić; wszystko to jednak w późniejszym terminie.

Nie mam jeszcze pomysłu na edytor do głównej melodii, żeby ją elegancko złożyć z tracków w inny sposób, niż ręczne pisanie tron..wait..troff...

No i wolno mi teraz wszystko idzie, bo nie mam teraz na to czasu, a nawet jak mam, to za bardzo jestem zmęczony żeby pisać więcej linii kodu, niż błędów.

250

(192 odpowiedzi, napisanych Fabryka - 8bit)

Wersja 0.06 poszła na SourceForge.