Post has attachment

Post has attachment
<!DOCTYPE html>
<html>
<body>

<canvas id="myCanvas" width="384" height="192" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.</canvas>
<p id="demo"></p>

<script>

var color;
var gr;

function GRAPHICS (Atari_BASIC_graph_number)
{
gr=Atari_BASIC_graph_number;

};

function COLOR (c)
{

color="rgba("+c*16+","+c+","+c+","+ c+")";

ctx.fillStyle = color;
};

function PLOT (x,y)
{

COLOR(color);

if (g=9) { ctx.fillRect(x*4, y, x*4+4, y)};


};

var x;
var y;
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");

GRAPHICS(9);

for (y = 0; y < 192; y++)
{

for (x = 0; x < 96; x++) {
color=(x+6)/6;
PLOT(x,y);
}
};

</script>

</body>
</html>

UWAGA! Powinno być w PLOT (x*4+3)... prawdopodobnie, żeby zapalić 4 punkty, a nie 5, ale nie wiem... nie znam się na HTML i generalnie... dopiero się uczę... potem sprawdzę.

W każdym razie READY[]

... wszystkie tryby ANTIC Atari XL/XE muszą być zrobione w HTML - jak w rozpoczętym przykładzie... to jest zadanie... żeby mieć ANTIC w HTML po prostu... 100% cały => do wyświetlania ramek...
Photo

Post has attachment
The Goonies (TM) XL/XE 8-bit remake to 64-bit in progress...

Będzie potem pokazane i opowiedziane JAK robi się perfekcyjne przeróbki / dostosowania obrazków 2D do większej rozdzielczości - metody różne - z zachowaniem wszystkich elementów obrazka 2D w wersji pierwotnej na tyle, na ile jest to możliwe i nie przeczy się z zadaniem, oczywiste.

Efekt takich przeróbek spodziewany: oglądający widzi 'chyba ten znany obrazek, ale jakiś genialniejszy, dokładniejszy'... i dopiero zaczyna szukać 'o co tu chodzi'... 'chyba jest polepszony coś'...

Np. w planszy The Goonies (TM) Atari XL/XE:

Elementy do podmiany:

1. Napis The Goonies.
2. Ludki (sylwetki osób).
3. Szopa.
4. Wzgórze z lewej strony.
5. Napisy.

Etapami zawsze wszystko jest proste, oczywiste. A efekt czasem nawet perfekcyjny, jak cud. Oczywiste.

Potem pełen artykuł z przykładami będzie dołączony do publikacji:

Grafika komputerowa – sprzęt, narzędzia, programowanie, algorytmy – multimedia

wordmedia.goutlivres.com/?page_id=968

smakubooks.com

'2015-2017.
Photo

Post has attachment
Teraz mając POKEY gotowy...

Jak to się gra w postaci dźwięków słyszalnych dla człowieka?

Hmm...

Zestawy liczb to tylko liczby, które wychodzą z pracy generatorów POKEY...

Gdzie to idzie w Atari i jak jest przerabiane i na co, że gra muzyka i dźwięk?

Tu jest jeden drut tylko, razem z wizją... i tym idzie muzyka?...

Co przerabia pracę POKEY na sygnały do Audio Out?...

No i nie znam się... kurde...

Na tym jednym drucie na gnieździe PAL 3. Audio Output, musi iść muzyka 64-bitowa z generatora POKEY 64-bitowego, a nawet z 32-óch generatorów jednocześnie, hmm...

Ten drut musi przepuszczać zakres F=1,7GHz/(2*(32+2^64) dla jednego generatora 64-bit, a muszę puścić ładnie 32 niezależne generatory w jeden kabel na głośnik.

Nic więcej na razie... najwyżej przy połączonych dwóch generatorach byłoby:

F=1,7GHz/(2*(126lub127+2^64)

... przy połączeniu więcej ilości generatorów to nie wiem, jeszcze nie sprawdzałem... hmm... zobaczymy...

Chcąc zrobić sobie własny układ POKEY w wersji programowej, potem sprzętowej, żeby móc zrobić taki sam, ale w wersji 64-bit... trzeba najpierw jakoś to zrobić...

Może według dokumentacji technicznej POKEY Atari XL/XE, od razu do Turbo Pascala 5.5.:


unit pokey;

INTERFACE

uses global, cpu6502;

procedure do_POKEY;

IMPLEMENTATION

var

CMOS4052_key_value :byte;

AUDCTL, K, KeycodeLatch, SKCTL, BINCNT, SEROUT, SERIN, IRQEN :byte;
{ oraz pozostałe rejestry potrzebne POKEY-owi, żeby wiedział, na czym pracuje }

PIN :byte; { unit POKEY może pobierać i zwracać JEDYNIE impulsy, jakie są w technicznym układzie POKEY, oczywiste, czyli 40 bitów => wystarczy jedna zmienna typu byte, żeby obsługiwać CAŁY POKEY Atari XL/XE w kwestii współpracy z otoczeniem POKEY, oczywiste }

{ 01 - VSS - Ground - I
02 - D3 - Data Bus - I/O
03 - D4 - Data Bus - I/O
04 - D5 - Data Bus - I/O
05 - D6 - Data Bus - I/O
06 - D7 - Data Bus - I/O
07 - O2 - Phase 2 Clock - I
08 - P6 - Pot Scan - I
09 - P7 - Pot Scan - I
10 - P4 - Pot Scan - I
11 - P5 - Pot Scan - I
12 - P2 - Pot Scan - I
13 - P3 - Pot Scan - I
14 - P0 - Pot Scan - I
15 - P1 - Pot Scan - I
16 - /KR2 - Keyboard Scan - I
17 - VDD - 5 V Power - I
18 - /K5 - Keyboard Scan - O
19 - /K4 - Keyboard Scan - O
20 - /K3 - Keyboard Scan - 0
21 - /K2 - Keyboard Scan - 0
22 - /K1 - Keyboard Scan - 0
23 - /K0 - Keyboard Scan - 0
24 - SID - Serial Input Data - I
25 - /KR1 - Keyboard Scan - I
26 - BCLK - Bidirection Clock - I/O
27 - OCLK - Serial Output Clock - O
28 - SOD - Serial Output Data - O
29 - /IRQ - Interrupt Request - O
30 - /CSO - Chip Select - I
31 - CS1 - Chip Select - I
32 - R/W - Read/Write Control - I
33 - A3 - Address Bus - I
34 - A2 - Address Bus - I
35 - A1 - Address Bus - I
36 - A0 - Address Bus - I
37 - AUDIO - Audio Out - O
38 - D0 - Data Bus - I/O
39 - D1 - Data Bus - I/O
40 - D2 - Data Bus - I/O
}

procedure do_POKEY;
begin

do_sound;
do_keyboard;
do_paddle;
do_serial_port;
set_RND;
do_irq;

end;

No to proste... teraz reszta, czyli techniczna praca POKEY na 40-tu pinach, program musi robić 100% pracę POKEY, oczywiste i korzystać JEDYNIE z tych 40-tu pinów, oczywistości.. no to RUN[]

READY
[]

====

Przykład wstępny (zarys) elementu pracy POKEY odpowiedzialnego za dźwięki:

procedure do_sound;
begin
{ 4 niezalezne kanaly dzwiekowe z czestotliwoscia, szumami i glosnoscia oraz dzielnkiem czestotl. N i 8-bit rej. kontroli ktory wybiera szum i glosnosc }

{3 liczniki, ktore uzywaja kanalow dzwiekowych, jesli STIMER jest wlaczony, kanaly dzwiekowe sa resetowane}

{ kazdy N kontrolowany przez AUDFX, taktowany osobno 64KHz lub 15KHz przez bit 0 rejestru AUDCTL }

{ kazdy kanal kontrlowany przez osobny AUDCX do wyboru szumu i glosnosci }

if AUDCTL and 128 = 1 {7bit} then; { 17bit licznik redukuje sie do 9bit}
if AUDCTL and 64 = 1 {6bit} then; { N1 zegarowane 1.79MHz zamiast 64kHz }
if AUDCTL and 32 = 1 {5bit} then; { N3 zegarowane 1.79MHz zamiast 64kHz }
if AUDCTL and 16 = 1 {4bit} then; { N2 zegarowane wyjsciem N1, zamiast 64kHz (16-bit) }
if AUDCTL and 8 = 1 {3bit} then; { N4 zegarowane wyjsciem N3 zamiast 64kHz (16bit) }
if AUDCTL and 4 = 1 {2bit} then; {ustaw Hi Pass Filter na CH1, taktowany CH3 }
if AUDCTL and 2 = 1 {1bit} then; {ustaw Hi Pass Filter na CH2, taktowany CH4}
if AUDCTL and 1 = 1 {0bit} then; {zmien 64kHz na 15kHz}

{ mozliwe opcje wykorzystania POKEY do dzwieku przy zastosowanej technice: 4 kanaly 8-bitowe lub 2 kanay 16-bit, lub 1 kanal 16-bit i 2 kanaly 8-bit }

{ 3 liczniki 1.79MHz do generowania losowych szumow: 17bit, 5bit, 4bit }

{ 1.79MHz = 1.78979 MHz Fout=Fin/2(AUDF+M), M=4 if AUDCTL bit 3 or 4 = 0, M=7 if AUDCTL bit 3 or 4 = 1}
{ 64 kHz = 63.9210 kHz }
{ 15 kHz = 15.6999 kHz Fout=Fin/2N, N=AUDF+1}

{ AUDF1 00, AUDF2 02, AUDF3 04, AUDF4 06 }
{ AUDC1 01, AUDC2 03, AUDC3 05, AUDC4 07 }

{ PIN37 - AUDIO - Audio Out }
end;

====

Bibliografia:

1. POKEY CHIP - CO12249 - Atari Inc. - tech documentation '1982 - The Atari Historical Society

http://ftp.pigwa.net/stuff/collections/nir_dary_cds/Tech%20Info/POKEY.PDF

====

Post has attachment
Żeby wiedzieć, jak muzyka i dźwięki mają ładnie grać, warto znać się na falach, albo chociaż poznać, ile by trzeba, żeby starczyło...

ATARI POKEY-64 - Elements...

Post has attachment
Schematy POKEY-a są dostępne, jakieś, jak widać...

Czyli każdy elektronik może zrobić sobie układ samodzielnie w ramach pracy zaliczeniowej w technikum.

Super.

Trzeba skonstruować samodzielnie Atari 65XE, żeby działał... wszystkie układy i podłączyć na płytę główną.

Procesor CPU6502 zrobię sam, jeśli nikt by nie umiał i dołączę do pozostałych układów gotowych.

... i byłby Atari 65XE zrobiony samodzielnie przez uczniów techników elektronicznych. Proste.

Hmm... i potem tak samo po przeskalowaniu 64-bit wersja... i gotowe...

Ciekawe, gdzie są elektronicy w Polsce? Trzeba poszukać...

====

Etapy pracy (każdy etap jest obowiązkowy do wykonania i sprawdzenia, że wykonano poprawnie i wszystko działa jak powinno, jak w komputerach 1 i 0, działa 100%, albo nie, oczywiste):

1. Znaleźć jakiś Atari 65 XE i poszukać na płycie głównej układ POKEY.

2. Obejrzeć sobie okolicę najbliższą układu POKEY, w jaki sposób łączy się z płytą główną lub czymkolwiek, na czym jest osadzony.

3. Określić, w jaki sposób można wyjąć układ POKEY z Atari 65XE nie psując żadnych elementów elektronicznych i czegokolwiek.

4. Wykonać wyjęcie układu POKEY z Atari 65XE.

5. Obejrzeć okolicę wyjętego układu POKEY na płycie Atari 65XE, żeby zapoznać się jak wygląda płyta po wyjęciu układu - dotyczy miejsc styku układu z płytą - określić czy sprawnie wyjęty układ, czy coś zostało zniszczone, uszkodzone, etc.

6. Zapoznać się poglądowo z wyjętym układem POKEY i opisać to, co się widzi.

7. Włożyć z powrotem układ POKEY na swoje miejsce w Atari XL/XE z zachowaniem procedur elektronicznych prawidłowych, celem umożliwienia dalszej prawidłowej pracy układu po włożeniu z powrotem do systemu, żeby system 'nie widział różnicy', tj. nie zauważył procesu zrealizowanego (wyjęcia i włożenia z powrotem układu).

8. Testowanie Atari 65XE, czy układ POKEY włożony z powrotem do systemu zachowuje się tak, jak w stanie oryginalnym całego systemu, tj. przed wykonaniem procesu 'wyjmij układ-włóż z powrotem'.

Jeśli wszystko działa prawidłowo jak przed procesem:

1. Zrobić samodzielnie opis układu z oglądu wykonanego w p. 6 poprzedniego etapu z uzupełnieniem opisu o informacje przydatne, których nie widać na układzie, a które znajdują się w dokumentacji układu.

Następny etap:

- analiza układu POKEY i opis układu - z oglądu
- analiza układu widocznego - korzystając z dokumentacji układu
- analiza samodzielna z opisem układu do momentu, w którym nie można już nic więcej opisać samodzielnie oglądając układ
- analiza z opisem układu - z pomocą dokumentacji układu

Następny etap:

- zebranie informacji o materiałach wymaganych do zbudowania układu

- rozrysowanie pełnego schematu układu

- określenie etapów pracy przy konstruowaniu układu zgodnego z opisanym i zanalizowanym oryginałem

Następny etap:

- realizacja układu POKEY.

Następny etap:

- włożenie układu do Atari 65XE i testowanie, czy działa 100% jak oryginał.

Oczywistości w sumie same... czy ktoś potrafi samodzielnie zrobić POKEY Atari XL/XE?

Jeśli tak, to można zabierać się za ANTIC...

====

Czy ktoś próbował skonstruować samodzielnie POKEY Atari XL/XE? Do efektu spodziewanego w postaci wylutowania oryginalnego POKEY z Atari XL/XE i wlutowania swojej wersji samodzielnie zrobionej... i musi grać i działać 100% tak samo, oczywiste... hmm... trzeba poszukać elektroników w Polsce, wait...

http://ftp.pigwa.net/stuff/collections/nir_dary_cds/Tech%20Info/POKEY.PDF

====

Post has attachment

Rejestr częstotliwości generatora dźwięku - jest to w istocie dzielnik częstotliwości zdefiniowanej w rejestrze AUDCTL.

Wartość częstotliwości wyjściowej uzyskujemy ze wzorów:

dla zegara wejściowego o częstotliwości głównej (1,773447 MHz w systemie PAL): F = CLOCK/(2*(N+M)), gdzie N to wartość rejestru AUDF, a M to wartość modyfikująca zależna od rozmiaru rejestru generatora.

Dla pojedynczego generatora ośmiobitowego M = 4, natomiast dla generatorów połączonych w parę M = 7.

dla zegara wejściowego o częstotliwości 1/28 lub 1/114 częstotliwości głównej: F = CLOCK/(2*(N+1)).

POKEY 8-bit

Dla zainteresowanych:

proszę sobie samodzielnie przerobić POKEY 8-bit na POKEY 64-bit i gotowe...

Zawsze z zachowaniem zasad skalowania architektur, czyli musi być to samo ale x8 w sensie technologicznym najprostszym oczywistym...

Taka muzyka na takich rejestrach na takich generatorach gra sobie w Atari 64-bit...

Ładnie, prawda?... czego może brakować komukolwiek na świecie w kwestii muzyki i dźwięków, kiedy już ktoś ma POKEY 64?

====

Dla osób, które dysponują samodzielnie stworzonym przez siebie Emulatorem Atari XL/XE z pełną prawidłową emulacją układu POKEY:

można sobie prawidłowo skalując rozszerzyć struktury, na których pracuje POKEY 8-bit do struktur 64-bit i pobawić się dźwiękami POKEY-a 64... na PC-tach...

====

Dla elektroników:

jeśli ktoś ma schemat układu POKEY do Atari XL/XE i potrafi samodzielnie zrealizować ten układ elektroniczny, to trzeba najpierw przeskalować sobie prawidłowo układ POKEY 8-bit na układ POKEY 64-bit i otrzymuje się współczesny super układ muzyczno-dźwiękowy z całą resztą, którą zajmuje się POKEY... oczywistości w sumie i proste jak zabawa dla dziecka, oczywiste...

Post has attachment
Tu są jakieś schematy do Atari 65XE...

Jeśli są prawidłowo wykonane i zgodne ze sprzętem opisywanym, to pewnie dobry materiał poglądowy, przynajmniej na początek, do dalszej pracy, już konkretnej, tj. zbudowanie własnego Atari 65 XE samodzielnie...

... tak wygląda przynajmniej, jak przeglądam...

To, co tu dano wystarczy uzupełnić o to, czego brakuje i byłby to etap samodzielnej pracy przy konstruowaniu Atari 65XE.

Efekt pracy własnej studenta / studentów zawsze ten sam oczekiwany:

- stworzenie w pełni działającego Atari 65XE - zgodnego z oryginałem

Etapami wszystko jest proste, oczywiste...

Budowa układów typu POKEY, ANTIC, GTIA itp. 'skomplikowane logicznie / funkcjonalnie' pod względem realizacji zadań przeznaczonych => w osobnych etapach pracy.

Efekt zawsze ten sam oczekiwany:

- stworzenie samodzielne w pełni działającego prawidłowo (zgodnie z oryginałem) Atari 65XE.

====

Osoby, które zrealizują samodzielnie świadomie (pracą własną świadomą) działający Atari 65XE, lub układy zamknięte, jak POKEY, ANTIC, etc. - będą mogły wziąć udział w budowie elementów zrealizowanych samodzielnie dla Atari 65XE w projekcie Atari 64-bit.

====

http://64-bit.eu/wydawnictwa/projekty-it-nt/

====

Zbudowanie samodzielne jakiegokolwiek układu lub elementu całego systemu Atari 65XE oznacza, że taki element można zawsze podmienić w dowolnym egzemplarzu Atari 65XE i komputer powinien działać jak oryginał, oczywiste.

Zgromadzenie wszystkich elementów zbudowanych samodzielnie pozwala samodzielnie zbudować cały Atari 65XE, oczywistości...

====

Post has attachment
Wait while more posts are being loaded