Rozbudowa układu muzycznego Atari 8–bit do Atari 64–bit


Atari 64–bit Project

Elements of project done and working – 64–bit architectures

Remindin’ history of XXI–th cent. beginnings…

About ranges – telling about worlds in ranges – JAN.2016 – examples of ranges –

Atari 64–bit Project, Poland (UE) ‚2015–2016 – Atari 64–bit RAM – POKEY64 – Standard Registers – Description


Atari POKEY 8–bit

Atari POKEY 16–bit Project – general tech. description.

Atari POKEY 64–bit Project – general tech. description.

Any Sound, Music & Voice & .. Device 64–bit Project (all possible sound & music & voice in possible permutations and ranges playing by One 64–bit Device) – general tech. description.


Przeniesienie tematu z komentarzy ze strony wydarzeń – ‚Pixel Heaven 2015 Zapraszamy':


Smaku @2015–09–29 14:24:03

To przy okazji pytając powtórnie, bo akurat w temacie dźwięków i muzyki znów – żeby uzyskać tylko odpowiedź, jeśli ktokolwiek wie – a propos układu dźwiękowego Atari 65XE:

czy jest jakiś emulator Atari, w którym mógłbym zaprząc do pracy dwa niezależne układy dźwiękowe Atari – to pierwszy parametr (dwa, lub więcej, zgodnie z ustawieniem ilości wybranej sobie – może być liczone na kanały pojedyncze dodatkowe dodawane, a nie układy całe 4–kanałowe osobne – obsługa dowolna, może być osobnym enginem całego Atari 65XE – jak dwa, trzy, pięć emulatorów jednocześnie równolegle, obojętne).

I drugi parametr bardzo istotny, bardziej niż ilość kanałów: czy ktoś umie zaprogramować emulację układów dźwiękowych Atari 65XE dla wartości nie jedno–bajtowych dla każdej z trzech zmiennych na jeden dźwięk, ale kilkoma bajtami dla jednej zmiennej opisującej dźwięk?

Żeby mieć przykładowo do wykorzystania i do słuchania w realności:

SOUND 8, 1268, 12345, 65580 [, 300..]

O to by mi chodziło. Czy układy dźwiękowe Atari 65XE dadzą dźwięki sensowne, ładne, czyste i każde z filtrów i brzmień oryginalnych układów w gamie kontynuowanej idealnie (przeskalowanej jedynie na większe możliwe wartości)? Jak w powyższym przykładzie.

Wtedy ta muzyczka z Jest Set Willy:

a nawet współczesne Amigowe, czy dowolne sound systemy profesjonalne nawet i każde, mogłyby być realizowane na zwykłym, lub podrasowanym w szerszy zakres brzmień itp. układzie Atari 65XE.

Byłyby perfekcyjne dźwięki, a filtry w pakietach jak palety kolorów – wzięłoby się od Amigowców, od Commodore, od Sound Blaster, Roland, Midi, Adliby, każde…

Use *.music device or chipset & Use *.music gamma and PLay…

(?)


Smaku @2015–09–28 22:46:09
[..]

… Żebym miał na czym pracować… fajne gry by były na takiej grafice.

I do tego podwójny układ dźwiękowy, albo skalowany x4 na początek. Standard 4–kanałowy Atari 65XE w bajtowych wartościach każda zmienna – skalowany przez ilość kanałów, a zmienne w wartościach kilkubajtowych.

Dowolnie jak by mi pasowało. Jest to dostępne w jakichś emulatorach?


Na początek chciałbym jedynie usłyszeć, jak działa muzyka i CZY działa w zakresach zmiennych, które tworzą dźwięk wyższych niż 255 (1 bajt), jak na przykładzie z SOUND pokazałem.

W Atari Basic pisząc SOUND 0 do 3 (kanał), 0–255 (dźwięk), 0–255 (dźwięk druga zmienna), 0–255 (głośność) miałem tylko tyle do skorzystania. Jest to zakres określony, zamknięty i skończony – jak dla mnie.

Chodziłoby mi o 0–7, 0–65535, 0–65535, 0–65535 na początek, żeby sprawdzić jak to działa i czy sensownie.

I generalnie o to w zupełności.

A jeśli to zadziała sensownie i ładnie – każdy muzyk sam usłyszy i będzie wiedział, czy to dobre, czy nie – to wtedy kwestia innych parametrów sterujących dla układów muzycznych (dźwięk trzecia zmienna, dźwięk czwarta zmienna, etc., itp.) wynikałaby już z szerokiego zakresu dostępnego do użycia, tj. przykładowo jak wyżej w SOUND z 2–bajtowych parametrów, a nie 1–bajtowych.

I w tej najprostszej postaci rozszerzonego układu dźwiękowego Atari chciałbym tylko wiedzieć i słyszeć, że to sensowne, czyli ładnie gra po całej gamie parametrów dowolnie ustawianych w permutacjach każdych
2–bajtowych, a nie 1–bajtowych.

Nic więcej na początek.

Spróbuję na tych programach, co podałeś – ile można zrobić samemu. Przejrzę, jak działają. Analogicznie graficzne układy – to w wątku analogicznym o grafice.

Gdyby układ sprzętowy muzyczny Atari dało się zmusić poprzez prostą rozbudowę, lub modyfikację sensowną drobną (dwa dolutowania czegoś, albo kilka nitek przelutować odpowiednio, albo coś – w kwestii elektronicznej), żeby fizycznie mógł grać dźwięki w gamie 2–bajtowych zmiennych, to byłby koniec rozbudowy układu dźwiękowego Atari 8–bit.

Nie znam się na elektronice aż tak dobrze, musiałbym zerknąć na schematy, to bym wiedział.

Jeśli emulator zagra na gamie wartości 2–bajtowych ładne dźwięki, czyli zaemuluje mi działanie sprzętu muzycznego Atari 8–bit, to zrobienie poprawki sprzętu to już nie problem. Aby na emulatorze zagrało ładnie dla 2–bajtowych wartości zmiennych opisujących dźwięk – to podstawa pierwsza i najważniejsza do dalszej pracy.

Dzięki. Bardzo przydatne.

DS`.


Zerknąłem w Wikipedii. Idealnie tam opisano – można zrobić emulator całego Pokeya od razu gotowy prosto z Wikipedii. Super. Lubię takie precyzyjne i konkretne zestawienia. Na gotowe.

Emulator Atar 65XE własny napisałem prosto z książki Assembler, albo jakiejś innej, na początku tego roku.

Idealnie zebrane i od razu się programuje i gotowe.

Ten Pokey chyba tak samo. Sprawdzę sobie potem sam, ale myślałem, że w jakimś emulatorze już ktoś zrobił – u mnie jest tylko szkielet zaczęty, żeby mieć pewność, że zrobię sobie sam, nie chce mi się dokończyć, wiedząc, że będzie działał idealnie – musiałbym siedzieć i klepać, aż bym zrobił, nie ma czasu.

Napisali w Wikipedii (‚POKEY’):

„Pokey posiada cztery kanały audio, z których każdy posiada własną regulację częstotliwości, szumu i siły głosu.

Każdy kanał ma 8–bitowy dzielnik częstotliwości i 8–bitowy rejestr do wyboru szumu i głośności.”

Żeby w emulatorze Pokeya zrobić wartości 16–bitowe zamiast 8–bitowych – równo sensownie skalując cały układ 100% Pokeya (wszystkie elementy), żeby po całości sensownie było i trwale raz i ostatecznie gotowe – Pokey 16–bit a nie 8–bit i można by zacząć grać dźwięki zgodnie z tym SOUND 0–7, 0–65535 [..] – co pisałem wyżej. I byłoby gotowe w takim razie i koniec na tym etapie w tym elemencie.

Potem dalej…

Na którymś emulatorze powinno się dać. Sprawdzę.

Jeśli Pokey czy układy jakiekolwiek dźwiękowe Atari 65XE grają całą gamę możliwą od zakresu górnego do dolnego (min<=>max) to zwiększenie 1–bajtowych wartości do 2–bajtowych mogłoby być zwiększeniem rozdzielczości dźwięku w zakresie min<=>max dostępnym i to wystarcza na super układ muzyczno–dźwiękowy
16–bitowy. Na tym etapie.


Uzup. po dokładniejszym przejrzeniu tego Pokeya w Wikipedii.

[..]

Najpierw trzeba rejestry AUDF1do4 i AUDC1–4 przerobić na 16–bitowe – zwyczajny typ zmiennych zamiast byte na 2–bajt (word, itp. w Pascalu) AUDCTL tak samo – nie znam się, jak to działa na elektronice, czyli w efekcie dźwięków uzyskanych, ale najpierw tak bym próbował na emulatorze, żeby zobaczyć, czy działa. To pierwszy etap jedyny istotny. Zrobić Pokey 16–bit w postaci układu elektronicznego to nieistotna formalność.

I pozostałe sześć rejestrów tak samo, a ten pusty do czegoś się przyda najwyżej, chociaż przy 16–bitów na rejestr, to nie wiadomo w sumie, pewnie zniknie kilka rejestrów, gdyby upchać je na 16–bitowych innych, jeśli się da w zakresach wykorzystanych, ale byłoby to chyba bez sensu. Wolę proste liniowe skalowania: tak jak jest => na takie samo skalowane wprost.

Stąd jedynie zamienić te rejestry z bajtów na wordy i nic na razie.

I sprawdzić, czy to działa i jak.

Jeśli zagra na emulatorze w gamie tej samej, ale w rozdzielczości 16–bitowej, no to skończone i gotowe.

Jak układ elektroniczny Atari 65XE generuje dźwięk do formy fizycznej (słyszalnej dla słuchającego, czyli człowieka na przykład)? Czy przerobienie tych zakresów, o których opowiadam z 8–bit na 16–bit będzie wytwarzało fizyczny dźwięk ładny i sensowny – słyszalny i rozróżnialny po całym zakresie? Bo o to by chodziło w efekcie końcowym.


A propos emulatora Atari 65XE, to rzeczywiście 1 dzień pracy porządnego klepania prosto z tej książki Assembler Atari 65XE i gotowy procesor i działa. Przepisałem, jak napisano w tej książce, prosto do Turbo Pascala 5.0, zdaje się – na rekordach znaczniki, reszta na bajtach, w najprostszej postaci – na tyle, na ile przetestowałem rozkazy wpisane i adresowanie pamięci, przesunięcia, działanie znaczników, etc. – że pokazało mi na ekranie, kiedy testowałem, że po wykonaniu konkretnych rozkazów z listy tych 52, lub 55 (jest w książce po kolei napisane) wszystkie zmieniające się rejestry i miejsca pamięci zmieniają się odpowiednio – zgodnie z opisem rozkazu. I tak zostawiłem. Skoro działa, to uznałem, że emulację procesora 6502 mam gotową. Bo to prawda. Jak pokazuję i uzasadniam – działa i można sprawdzić sobie. Zdaje się, że do poprawienia tylko ewentualnie odwołania do pamięci 2–bajtowej i bardziej skomplikowane rozkazy, z mnóstwem wskaźników do zmieniania – zostawiłem, bo trzeba by klepać i klepać, a nie jest problem, ale trzeba by klepać, więc w sumie prawie skończone i przetestowane, kiedyś sobie dokończę. Najważniejsze, działa i proste, jak dla dzieci, aby umieć klawiaturę obsługiwać i przepisywać z książki do prostego programu w Pascalu. Nic więcej nie potrzeba, żeby zrobić własny emulator: umieć przepisać wprost jak opisano procesor do programu Pascal. Czyli podstawy najminimalniejsze Pascala warto by znać, albo dowolnego języka programowania – absolutnie bez znaczenia.

Procesor działa, to zostaje zaemulowanie 100% analogicznie pozostałe układy opisane w książkach i koniec.

Idealny emulator, lepszych nie może być, no bo zgodnie ze specyfikacją sprzętową, więc nie mogą istnieć.

Oczywiste.

Czyli standard ISO w sumie.

Rekord na bajt znaczników był, żeby łatwiej i szybciej obsługiwać wprost od razu w programie źródłowym odwołania do znaczników, ale okazuje się, że zmienia to sposób dostępu do bitów w innych miejscach, bo trzeba wskazywać po rekordzie ręcznie, a przy liczeniu bitów ustawionych, itp. już trudniej, trzeba by iteracyjnie, lub pętlami dodatkowymi, etc. – gruz czyli. Więc lepiej mieć w 1–bajcie i przesuwać i maskować sobie bity odpowiednie, żeby mieć dostęp i to najszybszy możliwy (sprzętowy) w sumie – do bajtu znaczników.

Ale to kiedyś się pobawię, dla przyjemności.

Co do książki na temat budowy układu słonecznego, to prawda 100% – wystarczy zebrać tablice fizyczne, chemiczne i biologiczne i wszystkie obiekty wszechświata realnego są opisane, gotowe i działają, łącznie z obiektami biologicznymi, np. człowiek, zwierzęta, rośliny, etc. – idealnie 100%. Lepiej opisywać wstępnie na obiektach zgodnie z botaniką, zoologią i schodzić tylko po poziomach szczegółowości opisu w rekordach obiektu i w metodach. I gotowe 100% – emulacja wszechświata i każdego potencjalnego i istniejącego elementu działa 100%. Zgodnie z wynikami emulacji 1:1 – zaprogramowano, opisano – pokazano jak działa – idealnie jak oryginał, czyli OK.

Stąd między innymi potrzebuję Atari 64–bit w czystej architekturze 64–bitowej, żeby lepiej mi pracowało wszystko przy dużej ilości danych przetwarzanych i to w czasie rzeczywistym najczęściej, szczególnie przy symulacji zjawisk zależnych osobnych różnych w dużych ilościach składowych własnych i zbiorczych analizowanych.

Bardzo mi zależy na szybkiej realizacji projektu, żeby przenieść się na 64–bity i żeby nie wracać.


[..]

… czy wykrzyknięcie ‚tak!’ ma znaczyć, że te generowane fizyczne dźwięki przez układy Atari emulowane w architekturze 16–bit Pokeya byłyby idealne jak powinny? – czyli odpowiedź na pytanie w ostatnim zdaniu poprzedniego mojego komentarza byłaby twierdząca?

[..]

… tak, 100% drobnostki. Nieistotne, żeby rozmyślać na te tematy. Wystarczy określić specyfikację własną i gotowe. Aby to sensowne było, to oczywiste. Zgodnie z życzeniami.

Paginacja stron, nie tylko zerowej, kojarzy mi się z 90–tych lat z programowania coś, ale nie pamiętam dokładnie.

Musiałbym przypomnieć sobie. Jednak mnie nie chodzi o programowe wykorzystanie sprzętu Atari danego 8–bitowego i opisanego i skończonego, które jest, nawet z technicznymi (elektronicznymi) przeróbkami.

Chodzi o adaptowanie w skalowaniu technologicznym (w efekcie końcowym) tego Atari, który jest oryginalny 100% bez przeróbek do architektury 64–bit. Nic więcej. Proste skalowanie całej architektury Atari 8–bit (6502 z układami pozostałymi) wprost liniowo na 64–bit.

Co do dodawania rejestrów i inne drobne przeróbki, to styl dłubania charakterystyczny dla ZX Spectrumowców, aż do zgonu dłubacze potem i gruz…

Nie tędy droga.

[..]

… z której kucharskiej? Mówię o Assembler Atari 65XE, lub podobny tytuł.

Mogę sprawdzić, jeśli istotne. Zdaje się, że tu gdzieś znalazłem w PDF na forum i wystarczyła.


A propos symulowania układu słonecznego (nie ma prostszej symulacji niż układ słoneczny), można sobie przed rozpoczęciem własnej pracy w symulowanie całego wszechświata i jego elementów, przejrzeć, co w dziedzinie symulowania fizycznych zjawisk w ujęciu anatomiczno–fizjologicznym u obiektów typu ‚człowiek’ zrobili i robią nadal inni, żeby iść do przodu.

NaturalMotion trochę fizyki w grach:

[link]

Prosty artykuł informacyjny, ale informacja wystarczyła, żeby zerknąć i zainteresować się na jakim etapie i jakich sposobów używają inni w kwestiach omawianych.

Wartościowe, bo widać, co robią inni. Można robić dalej i lepiej swoje, wiedząc, jakimi drogami idą inni.


[..]

… odpowiedź na wszystkie tego typu pytania znajduje się wyżej, w moim opisie emulatora każdego w sumie i jakiegokolwiek, który się tworzy: musi być 100% zgodny ze specyfikacją techniczną sprzętową, lub dowolną – na najniższym poziomie odwzorowania (emulowania) oryginalnego tworu, który ma być emulowany.

Dotyczy to czegokolwiek, nie tylko emulowania sprzętów dowolnych elektronicznych, czy mechanicznych – dotyczy wszystkiego i czegokolwiek, co chce się emulować, stąd napisałem o standardzie ISO przy tworzeniu emulatora czegokolwiek. Tworzy się odwzorowując, czyli zawsze musi to być jedyny doskonały standard i inne nie istnieją. To oczywistości chyba są?

Czyli wystarczy zaprogramować odwzorowanie sprzętu zgodnie z przykładem, który dałem – przepisując na żywca i jedynie 100% idealnie i nie inaczej, chrońcie bogowie – z oryginalnej, lub dowolnej, ale najważniejsze: prawdziwej i zgodnej z opisywanym sprzętem – dokumentacji technicznej. Z niczego innego się nie korzysta.

Zakazane zasadniczo, jeśli nie chce się mieć gruzu zasadniczego na starcie. Oczywiste.

Stąd powtarzam jak na wstępie – problemy każde i jakiekolwiek dowolne typu opisywanego przez Ciebie w Twoim przykładzie – nie istnieją 100%.

Czy to jest oczywiste, czy się mylę w czymkolwiek?

Czyli da się teoretycznie, wystarczy samemu pomyśleć o oczywistościach oczywistych, a do tego, jak kolega [] sam przyznaje: działa w realizacji sprzętowej, bo wydaje się to również oczywiste, czyli super, że ktoś zrobił i może potwierdzić i znowu krok do przodu w pracy analogicznie, jak u mnie, z tym moim wstępnym emulatorem Atari – dokładnie ta sama droga: skoro działa i widać, że dało się zrobić, to reszta jest indukcyjną oczywistością w dalszych krokach gotowych potencjalnie do realizacji, tylko trzeba by zacząć klepać i klepać – ta sama zasada pewnie, trzeba zacząć i iść dalej, ale musiałby być cel sensowny i czas.

Najważniejsze, że działa i ta świadomość potwierdzona w realu realnym dowodem wystarcza. I wolne… można szukać innych rzeczy ciekawych. Lubię to. Tak trzeba, inaczej śmierć ‚na drutach grzebiąc’, a inni w kosmos w tym czasie już latają i z powrotem…

Do Atari 64–bit potrzebowałbym jedynie zamiast rejestrów 8–bit rejestry 64–bit. Jedynie.

Procesor ma niewiele rejestrów w sumie, więc nawet cenowo zrobić sobie taki procesor 64–bitowy idealnie odwzorowany na 6502 to prosta rzecz i gotowe – działa.

Ale trzeba by sukcesywnie i po kolei zmieniać pozostałe rejestry – poza procesorem – na 64–bitowe… i tak dochodząc do szyn pamięci, okazuje się, że chcąc mieć adresowanie pamięci Atari 2–oma słowami 64–bitowymi zamiast 8–bitowymi, wystarczy policzyć ile mamy pamięci w tablicy m1xm2, gdzie m1 to 2^64 komórek 64–bitowych (strona zerowa najprostsza w jednej linii adresowana jedną komórką 64–bitową jedynie), a m2 to 2^64 linii tego samego typu, co strona powyżej wspominana zerowa z komórkami 64–bitowymi…

Pamięci RAM tego typu wystarczyłoby do pracy w dowolnych zadaniach wymyślonych przez człowieka, tak naprawdę.

Ile to może kosztować, mieć taką pamięć na komórkach 64–bitowych?

Ktoś zna cenę jednej komórki sprzętowej pamięci RAM 64–bitowej, żeby sobie policzyć cenę takiej pamięci do procesora 6502 64–bit?

Można by zrobić chociaż stronę zerową liniową prostą typową jak w Atari 8–bit. Byłoby to 2^64 komórek 64–bitowych. Wystarczyłoby do zabawy adresowaniem jedną komórką 64–bitową.

Potem by się sukcesywnie dokładało kolejne linie po 2^64 komórek, aż do 2^64 takich linii za 50 do 100 lat od dziś licząc. Ale zawsze jakiś cel sensowny i warty pracy i czekania…

Jakie to musiałoby być wiekopomne wydarzenie w dziejach ludzkości:

„Rok 2154 (plus minus 55 do 60 lat, mniej więcej, zakładając projektowo – do aktualizowania w trakcie trwania projektu co 10 lat zgodnie z osiągnięciami bieżącymi), OTO montujemy do Atari 64–bit ostatnią linię pamięci długości 2^64 komórek 64–bitowych. Za chwilę, proszę państwa, uzyskamy pełen 100% zakończony projekt Atari 64–bit z pełną pamięcią zaprojektowaną na początku 2015 roku w założeniach projektowych… za sekundę technicy zamocują klamry na zawsze i będziemy mogli być świadkami wiekopomnego wydarzenia, które złotymi zgłoskami…

– Działa?

– Oto:

Atari 64–bit Pamięć RAM 2^64×2^64 komórek 64–bitowych, procesor 64–bitowy, wszystkie układy na komórkach 64–bitowych, czysta 100% pure 64–bit architecture, READY to work. Press <Return>.

No i gotowe…”

RUN[];

I zaczęłaby działać maszyna… ile by to kosztowało?


[..]

… 11200+VAT za 1 komórkę 64–bitową? To przesada chyba? Na klockach dziecięcych 1cmx1cm zrobię sobie tańszą pamięć sprawną i działającą z weryfikacją sumy bitów z liczbą kontrolną i CRC nawet i parzystością, wszystkim. 64 klocki mi wystarczą dwustronne, albo 1 groszówki (orzeł, reszka). I już mam jedną komórkę 64–bitową.

64 grosze by to kosztowało na monetach 1–groszowych.

Chyba dobrze liczę?

To procesor 64–bit 6502 mam prawie za darmochę i gotowy. W paczce papierosów na 1 dzień. Nie więcej, niż 12 do 15 zł. by kosztował procesor 6502 64–bitowy licząc po 1 gr. za 1 bit.

Dopiero mieć 2^16 takich komórek, to już kwota 66 tysięcy razy 1 grosz… czyli zaokrągla się w dół cena przez 100, to 660 zł. wychodzi. za 2^16 komórek. A nie… odwrotnie. 2^16 czyli 65536 komórek 64–bitowych to wychodzi 66 tysięcy złotych razy 64 grosze, hmm… to przez 10 w takim razie z wyniku 2^16*64 wychodzi w [zł].

Jakoś to się liczy. Mniejsza z tym. To na groszówkach się da, żeby zacząć pracę.

A najtańsze pamięci aktualnie na rynku, z odrzutów, nie używane już, żeby na tony zebrać wszystkie kości, kto ma i złożyć sobie w piwnicy gdzieś, albo w hali, taką tablicę 2^16 na 2^16 komórek 64–bitowych, albo zacząć sensownie sukcesywnie do przodu z projektem bez poprawek w przyszłości, czyli zacząć budować pierwszą linię pamięci (strona zerowa) z pamięci dowolnych złomowanych działających, aż do uzyskania jednej linii pełnej gotowej i działającej, tj. 2^64 komórek 64–bitowych. Pewnie się da i powinno działać. Można by zacząć pracę na tej linii zerowej pamięci. Byłaby to już praca na gotowym układzie pamięci (strona zerowa pełna) plus procesor i układy – wszystko 64–bitowe.

Można poklecić z 32–bitowych, żeby działały jako połowa 64–bitowej komórki i tak do przodu – liczy się tylko fizyczne ułożenie tych komórek obok siebie… i gotowe.

Czy gdzieś się mylę?

Aby tylko mieć tę jedną linię pamięci (stronę zerową) 64–bitową i gotowy pierwszy etap pracy. Można by już grać i bawić się na Atari 64–bit.

[..]

… Życie? W jakim sensie? Powyżej kosztowało mnie to niedokończony jeszcze komentarz, bo dopiero piszę, jak czytać tu aktualnie, a wyżej napisałem, że byłoby już gotowe. Czyli zrobić tylko – kilka dni na zebranie kości pamięci i sklecenie linii strony zerowej pełnej. To duże koszta?

‚Pieniądze albo życie’ – takie powiedzenie jest gangsterskie. Wolę nie wiem co, w zależności o co chodzi w pytaniu. Życia się nie oddaje, ani nie zabiera, chrońcie bogowie, nikomu i niczemu, więc w kwestii pieniędzy można negocjować jedynie, oczywiste… zależy w jakim sensie jeszcze, bo ja akurat nikomu nie oddaję nigdy, nie jestem darczyńca za darmochę, bo nie jestem samobójca zgodnie z zasadą, że życia się nie oddaje, ani nie zabiera. Hmm…

A poza tym wyzbierać złomowane kości pamięci to nie są koszta za duże, ani finansowe, ani życiowe, tak mi się wydaje… ale nie wiem. Trzeba by zapytać, czy ktoś wie, albo ma na zbyciu, albo na wyrzuceniu.

A jak może ktokolwiek podzielać, skoro tu sami niewierzący pewnie, a poza tym, jak można zrobić coś wielkiego, dobrego i działającego i użytecznego praktycznie i znanego potem przez cały świat, co mówić historię – samemu w życiu – tak jest tylko w filmach…

Szkoda czasu, każde dziecko tak ma, jak się podnieci i wpadnie na pomysł… trzeba dzieciom tłumaczyć, że są debilne jeszcze i im się wydaje tylko… jak dorosną, to zrozumieją, że są debilami, a na razie mają chodzić do szkoły, nie myśleć, tylko robić i być grzecznym, bo inaczej śmierć… i nie kłócić się, bo starsi zawsze wiedzą lepiej, oczywiste…

‚Ten’ dealer? Zawsze mi ktoś mówi, gdzie bym się nie udzielał, o dealerach. W dowolnym temacie, nie tylko o komputerach. W każdym. Jakby znali mojego dealera i każdy o niego pyta, proponuje zmianę, albo dawki inne, itp., przyzwyczaiłem się, już nie drążę, o co chodzi, bo nie chcą nigdy tłumaczyć i jeszcze mnie wyzywają potem, więc wolę nie. Kiedyś będę rozumiał, a powiedzieć mi nie chcą… nie wiem, czemu się uwzięli, jak jakaś zmowa… jakby sobie żartowali ze mnie, albo mi chcieli robić na złość i nie chcą wytłumaczyć. Kiedyś to rozgryzę. Nie takie zagadki rozwiązywałem… przyjdzie czas. Nie jestem nienormalny chyba…

[..]

… to jest banda, czy sanki? Bo zaczynam kojarzyć, co mi inni mówili różne rzeczy dziwne – po tym ‚dilerze’ teraz… i mi się nakierowało na podejrzliwość… przestaję rozpoznawać prawidłowo… (?)

Może to skocznia z rozbiegiem? Czy pół balii jakiejś szerokiej płytkiej do kąpania dziecka, albo ubrań? Czy jakiś znak elektroniczny, albo techniczny? Czy wąż z głową uniesioną idąc z czołem podniesionym?

Hmm…


[..]

… Parafraza 100% niezgodna z realnością. A cytując, lub powołując się wprost, czyli ‚strumień świadomości’ – byłaby to 100% prawda realna, ale 100% nie w wykonaniu p. Joyca. Tłumacząc, o czym mowa, dla tych, co nie w temacie strumieni, lub własności i funkcji umysłu, oraz pracy z wykorzystaniem powyższych narzędzi w kontekście parafrazowanego i powoływanego się ‚na’ Joyca: strumień u p. Joyca był świadomy i ze świadomości filtrowanej przez świadomość, prosto ze strumienia podświadomości na zapis dostępny dla Czytelnika prozy tego autora. Czy p. Joyce poprawiał, lub pracował potem na swoim zapisanym strumieniem, tego nie wiem, bo nie studiowałem Joyca akurat, ale efekt jest ze źródła, jak wyżej. Poprawki to inna kwestia i nie zmienia tego, co powyżej.

U mnie w komentarzach jest to 100% strumień narracyjny rzeczowy i realny oparty na realności opisywanej i projektowanej w Wymiarze 100% jak czytać i można się zapoznać.

[..]

… 100% świetny komentarz. Bardzo lubię to. Mądry i ciekawy. A do tego również świetna narracja, bardzo lubię dobrze napisane opowieści o rzeczach opowiadanych, wtedy łatwo i przyjemni się czyta i gotowe, jak zapis instream checked crc without errors and info put in data bases analized and ready to use. Gotowe. I jest co czytać nawet ponownie. Lubię dobra narrację w temacie dowolnym – musi być sprawna i rzeczowa – jak strumień informacji właśnie. bitstream (flow) serialized ordered put exactly as should be where should be & READY tu use[];

Lubię to. Fajne. Dzięki.

I zgodnie z tym, co napisane. Potem się odniosę w szczegółach, jeśli się przyda komuś projekt opisany przez [] – 100% jak opisano.

Albo od razu po kolei w skrócie: pomysł z zapałkami dokładnie trafny, jak z groszówkami, a lepszy. O to mi chodziło w prezentacji pomysłu.

Zapałki to już początek procesu realizacji pomysłu groszówek. Od zapałek do skrawków miedzi (drucik cieniutki 0.1 mm pocięty na kawałeczki 0.1 mm) i można policzyć ile wychodzi za 1 bit – puszcza się potencjał na skrawek miedzi, lub nie puszcza, czyli 1, lub 0.

Proste. Ile skrawków działających sprawnie niezależnie w zestawie uda się zmusić do pracy sprawnej 98% z korekcją, tyle mamy pamięci gotowej.

I można kontynuować pomysł, aż do pamięci gotowych na właściwych materiałach i malutkich, jak współczesne i tańszych od zapałek.

Przy projekcie skalowania architektury Atari 8–bit w opisie, który zaprezentowałem, wolałbym w pierwszym etapie uzyskać działający 100% sprawny i stabilny system sprzętowo softwarowy w architekturze 64–bit, jak sobie projektuję – to prosty etap do zrealizowania, ale najistotniejsze: zrobić i mieć na zawsze gotowe działające zgodnie z projektem. Wtedy nie problem wyskalować w analogiczny sposób zgodnie z patentem skalowania liniowego wprost dowolny inny system, nie tylko elektroniczny, komputerowy, ale dowolny. Przykład Atari 64–bit zrealizowany działający zgodnie z założeniami projektu byłby przykładem pozwalającym skorzystać z tego patentu do skalowania dowolnych maszyn i dowolnych rzeczy w sposób analogiczny. 64–bit czy 1024 bit, czy n–bit w skali xS (S–skala) nie ma wtedy znaczenia. Produkty wyskalowane musiałyby działać z zachowaniem praw fizyki, ma się rozumieć. Kwestie technologiczne nie są istotne więcej, niż ograniczenia fizyczne naturalne dane w tablicach fizycznych.

Co do Sandry Bulloc, to akurat nie ma problemu – wystarczy zrobić obiekt najprostszy oparty na danych uzyskanych dot. organizmu p. Sandry Bulloc (im więcej info i im szczegółowsze info, tym lepiej, oczywiste) i zateksturować zgodnie z info wystarczającym dostępnym powszechnie wszędzie i gdziekolwiek. 100% wystarczające info na temat tej Pani dostępne jest publicznie, żeby zrobić idealny 100% sobowtór i działający obiekt nie do rozpoznania, nie tylko softwarowy, czyli do gier, zabawy, itp. każdy dowolny – zgodnie z oryginałem. Nie ma z tym problemu akurat żadnego 100%. Wystarczy sobie zrobić. 15 minut roboty wg mnie.

Proszę spojrzeć sobie na ten artykuł w linku na stacjakultura, co gdzieś podałem w temacie emulowania elementów wszechświata – to przykład, że emulowanie czegokolwiek w odwzorowaniu perfekcyjnym nie jest problemem i to nie tylko w sposobach programowych, ale i technologicznych (cyborgi).

Ilość kopii produktu nie ma znaczenia – produkcja ze wzornika jest zawsze gotowa do wielkości masowej, obojętne, mogą być egzemplarze dwa, lub kila deluxe version limited edition – na zamówienie Klienta.


[..]

… potrzebne do posiadania komputera, który będzie robił wszystkie możliwe współczesne rzeczy współczesnych komputerów dowolnych i każdych i byłby wystarczający jeden komputer na wiele dziesiątek lat w architekturze tej, której jeszcze nie ma na rynku, ani w użyciu żadnym, jak dotychczas, bo nie istnieje.

Czyli miałbym czysty, prototypowy, pierwszy na świecie komputer własny 64–bitowy i stabilny i genialny jak Atari 8–bit kiedyś. Pełny, skończony, niezawodny, genialny, stabilny i wieczny – nie do poruszenia i nie do złamania w jakikolwiek sposób, bo byłby jak Atari 8–bit, czyli jak DOM. Wszystko gotowe i bezpieczne i działa 100% – wystarczy korzystać na wieczność. O to mi chodzi.

A wykorzystanie dużo, dużo nieobliczalnie olbrzymie w relacji do aktualnych dostępnych na rynku, lub w pojedynczych sztukach, na potrzeby instytucji naukowych, lub wojskowych, etc. – nie ma na Ziemi i nie było w historii, jak dotychczas, takiego komputera. I nawet nikt nie planuje, bo się każdy boi, że to kosmos i zarządzanie całym światem z jednego małego komputerka typu 64–bit.

Wystarczy policzyć sobie pojemność pamięci Atari 64–bit przy matrycy 2^64 x 2^64 komórek 64–bitowych.

Jak to zmieści w hangarze, albo hali targów jakichkolwiek? A to tylko pamięć RAM podręczna do pracy. Do tego przecież dyski Tera TB – no i stąd praca, jak na maszynie kosmicznej, a cały komputer po dobrym upakowaniu mieściłby się w obudowie zwyczajnego cienkiego laptopa, jak teczka biurowa z klawiatura, do szkoły, do pracy, na wakacje, wszędzie – jak notatnik A4 z klawiaturą i monitorem, a do tego z wyjściem na dowolne inne układy pokazywania obrazu, lub dźwięku, lub pozostałe wejścia/wyjścia – dowolne i każde – wystarczy wtyczka i Atari 64–bit zarządza stacjami kosmicznymi, lotami międzygalaktycznymi, energetyką na całym globie, przelicza wszystkie możliwe przeliczenia codzienne w czasie rzeczywistym, jakie są przeliczane dziś przez miliardy komputerów – Atari 64–bit robiłby sam w sumie na bieżąco całą pracę wszystkich urządzeń elektronicznych w locie instream in real time na przerwaniach jedynie, żeby móc sobie grać i prace pisać w Wordzie przy okazji w drugim oknie i ogrzewaniem sterować w namiocie i pilnować na GPS z satelity grupy uczniów, co idą na Rysy właśnie, żeby nie zginęli i ich ratować, jak potrzeba, etc. a do tego monitoring domu i domów uczniów, czy wszystko OK, sterowanie elektrowniami atomowymi na świecie wszystkimi, raportowanie stanu pracy in real time z zabezpieczeniem pracy na okoliczność zdarzeń emergency, oraz przygotowanie czynności na wypadek, organizowanie ewakuacji i procedur w okolicy i pozostałych formalności ‚natychmiastowo’ w razie potrzeby, a do tego jednocześnie imprezy organizowane w innym zakątku ziemi – zapewnienie wszystkich mediów i monitoring i raportowanie, obsługa gości, biletów, serwisu, do tego hotele i lotniska w innym miejscu Ziemi, statki, łodzie podwodne, rejsy podziemne i oświetlanie drogi w piramidzie egipskiej podróżnikom i odkrywcom, patrolowanie ulic w tym czasie jednocześnie, obsługiwanie wypadków drogowych i terapie lekarskie dla obłożne chorych, nauczanie w szkołach na rzutnikach z prelekcją, puszczanie filmów w kinach IMAX 3D, obsługa graczy w real games adventures, zbieranie podatków w krajach dowolnych oznaczonych i kierowanie do rozdysponowania, rozdysponowanie i monitoring pracy urzędów, polityka międzynarodowa, pomoc potrzebującym, ratowanie zwierząt, pilnowanie ekologii, utylizacja śmieci, robienie wynalazków, etc. etc. – wszystko jednocześnie, na przerwaniu z zajętością zasobów 00.01% systemu (dla stabilności pracy i zachowania procedur BHP zadań zleconych w harmonogram) – a nawet się nie grzeje…

… i można sobie grać i robić co się lubi…

[..]

… ta motorola 1 bit jest genialna. 1 bit to musi być perfekcyjna precyzja. Genialna rzecz, a do tego pewnie doskonała technologicznie i w użytkowaniu. Tak oceniam patrząc – do zastosowań dedykowanych, ma się rozumieć. Perfekcyjnych procesorów pewnie nie ma na Ziemi i nie mogą istnieć nawet. 1 bitowa precyzja to maksymalna możliwa. Bariera cosmos technology.

[..]

… co do pomocy, lub współpracy, koderów i tych, co mają doświadczenie tematyczne, to prawda. W innym wątku pisałem, że musiałbym robić sam, dłużej by trwało, zamiast 7 dni, pewnie 14, czyli w przełożeniu 1:2 w czasie realizacji każdych dowolnych projektów.

Aktualnie najbardziej pomocne byłoby mieć pomoc autora Altirry albo AtariWin 800, żeby przerzucił mi zestaw funkcji Commodore 64 do Altirry w miejsce przed realizowaniem układów Atari 65XE przez Altirrę na PC – autor zna kod, więc od razu by wklepał i byłoby gotowe, a ja będę musiał przeglądać i szukać miejsc do przeklejenia.

To zajmuje 2 razy więcej czasu, niż temu, kto zna kod. Oczywiste.


Uzupełniając może, co do koderów, bo mi przyszło do głowy oczywistościowo, żebym nie musiał się męczyć sam, kiedy inni potrafią i już robili nawet i znają się, to w wątku ‚Emulacja platform z jednego poziomu technologicznego…’ było już o układach sid i pokey i innych trochę, przy emulowaniu jednego na drugim. Ktoś dał nawet genialny przykład, że już zrobiono i działa – zestaw muzyczek prosto policzonych przez commodora ‚u siebie’ – na swoich układach sid+procesor+pamięć+co tam inne pracuje przy generowaniu i przetwarzaniu muzyki i dźwięków (to istotne tak samo równo, jak pozostałe, musi być 100% odwzorowanie pracy, oczywiste) – odgrywanych z pliku *.sid po wartościach zebranych gotowych do realizacji na pokeyu. Genialna rzecz, jak perełka perfekcyjna, pokazująca, że pokey umie odegrać sid–a. I teraz trzeba w kodach źródłowych tego playera sid–a na Atari 65XE sprawdzić poprzez wygenerowanie bezpośrednio na Commodore 64 oryginalnym, nawet na emulatorze – obojętne, jeśli emulator Commdore 64 jest dobrze i w pełni zrobiony (byłoby nawet o poziom jakościowy wyżej i szybciej i lepiej) – pełnych gam i zestawów możliwych dźwięków generowanych przez Commodore 64 i zapisać do plików *.sid i odegrać na playerze Atari 65XE i posłuchać, czy są idealne 100%.

Jeśli tak, to testowanie ‚łyknięcia’ perfekcyjnego w odwzorowaniu 100% ideal – sida przez pokeya byłoby sprawdzone, że działa. Czyli gotowe.

Analogicznie układy graficzne – zrobić player grafiki na Atari 65XE, który zaemuluje 100% układów graficznych Commodore 64. Z podrasowaniem Atari nawet, jeśli trzeba, żeby Atari mimo różnicy w układach graficznych dał sobie radę 100% z odtworzeniem Commodore 64. Wtedy gotowe.

Pozostałe układy wprost chyba się przenosi na funkcje odpowiadające.

I gotowy emulator układów Commodore 64 na układach Atari 65XE.

Teraz chodzi o to, żeby ktoś, kto się zna na kodowaniu tych układów, zrobił gotowe funkcje, nie musiałbym ja robić. Albo chociaż przygotować pełen zestaw funkcji dla Atari i osobno dla Commodore, to sobie sam połączę.

Z muzyką analogicznie. Skorzystam z tego playera z kodem źródłowym.

Hmm… no i musiałbym sam, nie znając jeszcze kodowania tych układów. Ktoś, kto zna, miałby łatwiej.

Oczywiste. I gotowe by było i po całości, bo ci, co się zajmowali, wiedzą o szczegółach, które ja dopiero bym musiał odkrywać. Więc potrwałoby, jak by nie było, 2x dłużej, niż u doświadczonych w tematach. Oczywiste.

Jeśli znawcy umieją zrobić samodzielnie te elementy, co potrzeba, to wystarczy je zebrać gotowe i wrzucić w odpowiednie miejsce do Altiryy i jak pisałem od początku tematu: 15 minut i gotowe. Gra. I to na zawsze gotowe jako standard => na płytkę sprzętową można na oryginalnych kompach używać, najwyżej z dodatkiem typu 1kB emulator w DOS na Atari się dogra i obsługa płytki działa. Można grac na Commodore 64 na Atari 65XE.

I byłby koniec zadania z tego wątku o Emulowaniu platform…

Na sprzętach wyglądałoby testowanie tak, że na Commodore leciałyby same cyfry (obrazowanie wykonywania programu na procesorze i pamięci Commodore 64) a na Atari 65XE widać byłoby w tym czasie efekty wykonywania programu lecącego rozkaz za rozkazem w cyfrach i znakach na ekranie Commodore 64.

Fajny show by był, testując.

sep–oct’2015.

DS`.PL.EU.


[..]

 

I pozostałe elementy pracy POKEY we wstępnym zarysie:

procedure do_keyboard;
begin
{ Keyboard Scan }

{ K0-K5 – linie skanujace klawiature z wartosciami od 00 do 3f (6 bitow),
pozwala dekodowac 64 klawisze }
{ z zewnetrznym CMOS (4052) tworzy sie matryca klawiszy }
{ wartosc klawisza wybrana przez matryce jest zwrocona na KR1 }
{ SKCTL – wˆ. lub wyˆ. skaner klawiatury }

{ dwie linie kontrolne: jedna dekoduje w pelni 6 linii sknujcych,
druga dekoduje tylko CTRL, SHIFT, BREAK }

if SKCTL {0F} and 3 = 0 { D0 i D1 = 0} then
{ inicjalizacja i testowanie ukladu }
else
if SKCTL and 1 = 1 then
{ D0 enables keyboard debounce circuits }
else
if SKCTL and 2 = 2 then; { D1 enables keyboard scanning circuits }

{ skanowanie KR1 licznikiem binarnym do okreslenia kodu klawisza }

{ skanowanie KR2 do okreslenia BRK, SHIFT lub CONTROL }

if K=15 then; {BRK}
if K=15+32 then; {SHIFT}
if K=15+16+32 then; {CONTROL}

{ KBCODE 09 – Keyboard Interrupt: IRQ and bit 6 or 7 of IRQST }
{ D7 – Control Key, D6 – Shift Key }

{ Load CompareLatch to KeycodeLatch (K0-K5) }
{ send IRQ status }
{ Load SHIFT Status (K6), Load CNTL Status (K7) => to KeycodeLatch }

{ KeycodeLatch to Data Bus:
– ustaw PIN-y Data Bus dla KeycodeLatch
– wrzuć PIN-y Data Bus na DB }

{ zwroc BREAK }

end;

procedure do_paddle;
begin
end;

procedure do_serial_port;
begin
{ port szeregowy – serial I/O port:
linia wyjscia, linia wejscia, linia zegraowa wyjscia,
dwukierunkowa linia zegara / danych, oraz rejestry kontrolne
uzywane do konfigurowania portu szeregowego }

if SEROUT=255 then; { pocz. transmisji }
{ przerwanie do CPU informacja o pustym SEROUT }

if SERIN=255 then; { pocz. transmisji }
{ przerwanie do CPU informacja o pobraniu do SERIN }

{ serial I/O: reg_BAH:=$d2  reg_BAL:=$0d; DB:=serial_io_data;}
end;

procedure set_RND; { set random value to RND register }
begin
{ 0A czyta wyzszych 8 bitow 17-bitowego licznika
(reads 9bit if bit 7 of AUDCTL=1) }
{ jesli POKEY jest w stanie inicjalizacyjnym (SKCTLS), licznik jest
ustawiony na wszystkie 1-ki, CPU przeczyta $FF }

reg_BAH:=RNDh;
reg_BAL:=RNDl;
DB:=random(256);
memw;
end;

procedure do_IRQ; { $fffe-$ffff }
begin
{ 8 przerwan IRQ: BRK, OTHER key, SERIAL INPUT READY, SERIAL OUTPUT NEEDED,
TRANSMISSION FINISHED, TIMER #4, TIMER #2, TIMER #1 – moga byc wl. lub wyl.
programowo, istnieje rejestr do odczytania stanu przerwan}

{ IRQEN (0E) – stan rzerwan, 0 – brak przerwania, 1 – przerwanie }

if IRQEN and 128 = 128 then; { D7 BREAK KEY}
if IRQEN and 64 = 64 then;   { D6 OTHER KEY }
if IRQEN and 32 = 32 then;   { D5 SERIAL INPUT READY }
if IRQEN and 16 = 16 then;   { D4 SERIAL OUTPUT NEEDED }
if IRQEN and  8 =  8 then;   { D3 TRANSMISSION FINISHED }
if IRQEN and  4 =  4 then;   { D2 TIMER #4 – audio dzielnik #4 osiagnal 0 }
if IRQEN and  2 =  2 then;   { D1 TIMER #2 – audio dzielnik #2 osiagnal 0 }
if IRQEN and  1 =  1 then;   { D0 TIMER #1 – audio dzielnik #1 osiagnal 0 }

{ IRQST (0E) – testowanie stanu IRQEN, 0 – przerwanie, 1 – brak przerwania }

{ zainicjalizowac wektory i adresy przerwan prawidlowo }

if reg_p.i=0 then
begin

{ wykonaj JSR dla IRQ (nie naruszajac stanow pracy CPU) :
dane na stos i jsr, przywrocenie danych, powrot: }

irq_vect_l:=$fe; irq_vect_h:=$ff;
exec_irq;

reg_BAH:=IRQENh;
reg_BAL:=IRQENl; mem;
b:=DB;

{ ustawienie adresow IRQ wartosciami pracy POKEY }

{ VTIMR1 = $210 }
{ VTIMR2 = $212 }
{ VTIMR4 = $214 }

{      8:;  VSEROC = $20e }
{     16:;  VSEROR = $20c }
{     32:;  VSERIN = $20a }
{     64:;  VKEYBD = $208 }
{    128:;  BRKKY  = $236 }

end;
{ powrot do programu CPU }
end;


Teraz uzupełnić, przetestować POKEY Atari XL/XE.

Potem tak samo POKEY-64 Atari 64-bit.

READY

[]


(tmp notes) POKEY-64 – Tech Documentation – Confidential POKEY ‚1982 Based