126

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

Przez diody nie. Do zasilania RAM-u wziąłem +5V z miejsca, które jest zaraz za wtyczką, przed wyłącznikiem głównym. No i mimo tego pamięć się kasowała. Może następowało chwilowe obniżenie tego napięcia w momencie włączania Atari, gdy ładują się kondensatory elektrolityczne? Gdy podłączałem cartridge z pamięcią RAM "na żywca", wówczas ani jeden bajt w pamięci mi się nie zmienił. Tylko Atari się chwilowo zawieszało, ale to zrozumiałe.

127

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

O, widzę, że już pojawił się pan Zenon, tak myślałem że na nim się skończy i zaraz będzie jasne. :)

Ja początkowo robiłem tak: ustawiałem pułapkę w kluczowym miejscu procedury systemu operacyjnego zimnego startu wykrywającej cartridge'a, "informowałem" OS, że linie RD4 i RD5 są w stanie 1, następnie wgrywałem zawartość EPROMA od adresu $8000 do $bfff a potem pozwalałem, żeby procedury same wykryły jakiego to cartridge'a w ten sposób "podłączono". Działałało to bez zarzutu i program się uruchamiał.
Próby z prawdziwym Atari robiłem tak: w do płytki gdzie miałem zaistalowaną pamięć 62256 podłączałem programator WillemProg i programowałem pamięć RAM. Następnie, nie odłączając +5V, przełączałem sygnały z płytki do cartridge'a w miejsce EPROMU, którego jeszcze wtedy nie było na cartridge'u. I działało, pamięć nie ulegała skasowaniu, ale niestety nie mogłem zrobić jednego kluczowego testu - wyłączyć komputera, włączyć i zabootować, bo wtedy pamięć mi się kasowała. Wychodziły tylko próby z podłączeniem do pracującego komputera.
+5V było doprowadzone przez cały czas, a \WE było w stanie 1, czyli nie pozwalałem na zapis do pamięci.
Wlutowałem prawdziwego EPROMA i wtedy okazało się że jest źle, booting się nie udaje, czyli pewnie zrobiłem jakiś drobny błąd.

Odpowiedź na ewentualne pytanie - tak, uwzględniłem fakt, że RAM i EPROM mają nieco inaczej wyprowadzone sygnały.

128

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

Podstawki nie chciałem zastosować, bo wtedy obudowa by mi się nie chciała zamknąć. :) No i teraz mam za swoje.
A z emulacją problem jest taki, że ja mam tylko "goły" plik *.epr, który wchodzi do eproma a tam nie ma informacji o tym, co oprócz EPROMu w cartridge'u siedzi.
Dzięki za schemat. może spróbuję zrobić coś podobnego.

129

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

Mam takie pytanie do elektroników:

Niedawno robiłem sobie cartridge'a z pamięcią EPROM 27C512, ale pomyliłem się w jednym miejscu podczas przygotowywania danych dla niego i niestety EPROM teraz nadaje się teraz do wylutowania i do przeprogramowania. W związku z tym chciałem się zapytać, czy teoretycznie można byłoby wykonać cartridge z pamięcią RAM, np 62256, która zapisana byłaby PRZED podłączeniem do Atari i uruchomieniem komputera. Zakładam tutaj, że zasilanie tej pamięci byłoby doprowadzone z zewnątrz, sygnał WE\ (write enable) podpięty byłby w momencie bootowania na sztywno do +5V a linie z z magistal danych i adresowej odseparowane byłyby rezystorami od komputera. Czy wówczas udał by się booting komputera? Próbowałem niedawno zrobić coś takiego, ale nie dałem rezystorów w liniach magistral i pamięć mi się natychmiast skasowała, gdyż nastąpiło zwarcie. Czy po dodaniu rezystorów ma to szansę zadziałać?

A może istnieje możliwość łatwego zaemulowania bootowania z cartridge'a w emulatorze? Generalnie chciałbym mieć pewność, że dane, którymi programuję EPROMa są prawidłowe.

130

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

Niestety nie, było to 10 lat temu. Ale niedługo będę próbował ponownie podłączyć Pokeya do PC-ta, aby go dokładniej pobadać. Możemy powymieniać doświadczenia a ja mogę podesłać nowy schemat, który powinienem mieć w przyszłym tygodniu. Do swojego układu zamierzam nie montować żadnego oscylatora, a Pokeya taktować sygnałem z portu równoległego aby mieć nad nim pełną kontrolę.

131

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

Tak, można. Kiedyś wykonałem prosty układ z Pokeyem podłączanym do PC-ta i z tego co pamiętam użyłem wtedy oscylatora 6MHz i dzieliłem częstotliwość przez 2. Wyszło 3 MHz i działało.

132

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

A czy ja też mogę prosić o tą bitmapę z przebiegami? Myślę, że przyczyną różnicy w odsłuchu są zakłócenia.

133

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

Turbo Blizzard miał przełącznik Turbo-Normal, który pozwalał na wczytywanie programów w obydwu trybach. Jeżeli przełącznika nie ma, to bez małej przeróbki się to nie uda.

134

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

Proste wytłumaczenie musi być, mimo tego że częstotliwość jest wysoka. Tylko że ja bym już tego nie nazywał raczej przydźwiękiem. Kiedyś też się zastanawiałem jak to się dzieje, że po wpisaniu zera do komórki IOSNDEN
($41) mimo wszystko trochę słychać, choć generatory mają wtedy głośność ustawioną na zero. Ciekawa sprawa, ale może jak pobadam Pokeya to się wyjaśni. Wymyśliłem już jak to można zrobić prostą metodą.

135

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

Nie mam teraz pod ręką procedur komunikacyjnych systemu Toms Multi a większość stacji dysków rzeczywiście sygnału SIOAUDIO nie generuje. W najbliższym czasie zamierzam pobawić się trochę Pokeyem podłączonym do PC-ta, gdyż mam w domu jeden egzemplarz nieużywany do tej pory. Może mi się uda dokończyć model HDL tego ukłądu o czym rozmawialiśmy parę dni temu a wtedy będzie można wpisać do Atariki precyzyjne informacje o tym jak rzeczywiście sprawy wyglądają.

136

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

No dobrze, ale czy nie jest tak, że przydźwięk podczas transmisji jest efektem generowania przez POKEYa sygnału o głośności 8 w procedurze RECVEN ($EC40)? Przy odczycie generatory muszą być przecież zainicjowane wartością zależną od prędkości transmisji, ale standardowo nie są one wyciszone, stąd właśnie przydźwięk, bo sygnał z generatorów nakłada się z sygnałem SIOAUDIO z prawej ścieżki. W trakcie odczytu sygnału pilotującego przydźwięku nie będzie, po inicjacja generatorów przy współpracy z magnetofonem odbywa się po odebraniu pierwszych dwóch bajtów kontrolnych rekordu.

Wydaje mi się więc, że wiadomo skąd się bierze przydźwięk i można wykluczyć jego automatyczne generowanie przez Pokey na podstawie ramek. Dla mnie to zwykłe sumowanie dwóch sygnałów analogowych, które odbywa się poza Pokeyem.

137

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

Fragment podany przeze mnie na początku dotyczył właśnie sampli i magnetofonu a wtedy sygnał SIOAUDIO pochodzi właśnie z prawej ścieżki taśmy. Sumowanie ma jednak jak najbardziej miejsce przy komunikacji z niektórymi stacjami dysków. Na przykład LDW 2000 generuje pewien sygnał na pin SIOAUDIO, ale np. XF-551 już nie. Pokey nie ma na niego wpływu, po nie wchodzi on do niego.

138

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

Chodziło mi o to, że Pokey nie miksuje - robi to wzmacniacz operacyjny. A prawa ścieżka przy zapisie taśmowym może zawierać dowolne dźwięki, dane jak wiadomo czytane są ze ścieżki lewej i to one wchodzą do Pokeya.

139

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

Przeglądałem sobie właśnie co napisano w Atariki o moim ulubionym Pokeyu i znalazłem tam takie stwierdzenie: "Podczas odczytu szeregowego na wyjściu audio komputera pojawia się dźwięk sygnalizujący, że transmisja jest w toku. Dźwięk ten jest generowany automatycznie przez POKEY-a w jakiś (nie wiadomo dokładnie, jaki) sposób na podstawie napływających do układu "ramek" danych szeregowych - przy wolnym odczycie z magnetofonu słyszy się zawarte we wczytywanym programie sample itp".

Wystarczy jednak spojrzeć na schemat Atari, żeby dowiedzieć się w jaki sposób opisywany dźwięk powstaje. Przecież wyraźnie widać, że za wyjściem SOUND (pin nr 37) Pokeya znajdują się dwa wzmacniacze operacyjne, z których jeden użyty został jako bardzo prosty sumator, który dodaje analogowo sygnał SIOAUDIO, czyli z pina nr 11 złącza szeregowego. A np. dla magnetofonu XC-12 będzie to sygnał odczytywany z prawego kanału. I stąd właśnie bierze się opisany dźwięk a Pokey tym razem nie ma z nim nic wspólnego. Ja tu żadnej magii nie widzę. :)

140

(33 odpowiedzi, napisanych Software, Gry - 8bit)

Ale nawet przyglądając się pracy takiego prymitywnego urządzenia jak magnetofon można się paru rzeczy nauczyć. Pamiętam jak ktoś kiedyś napisał w Bajtku albo IKS-ie, że "w standardowej transmisji magnetofon Atari nie może wczytywać programów szybciej niż 1400 bodów, gdyż przeszkadzają mu w tym niedokładności pomiaru czasu wprowadzane przez Pokey". Mnie się wydawało to mało prawdopodobne i obejrzałem sobie kiedyś procedury magnetofonu w ROM-ie. I od razu wyszła wtedy przyczyna czarno na białym - winne są procedury obliczające prędkość taśmy a nie żaden Pokey.

Do systemów Turbo dla magnetofonu na Atari mam pewien sentyment do dziś - spowodować ośmiokrotne przyspieszenie wczytywania to było kiedyś coś.

141

(56 odpowiedzi, napisanych Software, Gry - 8bit)

Sorry, chyba się pomyliłem. Nie jestem pewien czy Prolog był na małe czy duże Atari. Tym nie mniej język polecam.

142

(56 odpowiedzi, napisanych Software, Gry - 8bit)

Prolog jest super językiem, opartym na innej filozofii niż języki takie jak C, Pascal lub Action! Jest to język deklaratywny bardzo wysokiego poziomu - pisząc program definiuje się tzw. predykaty, będące pewnym odpowiednikiem funkcji. Ogólna zasada jest taka, że ścieżkę wykonania programu (co nazywa się 'znalejdywaniem rozwiązania') ustala interpreter tego języka i program a nie programista. Pozwala to pisać programy szukające skomplikowanych rozwiązań w sposób rekurencyjny bardzo zwięźle. Swego czasu bardzo dużo programowałem w Prologu na studiach (napisałem np. grę Scrabble :) ), implementację tego języka na Atari kiedyś obejrzałem, ale jest ona mocno uproszczona.

Lispu nie polecam, jest to język dla matematyków i programy są bardzo nieczytelne. Wystarczy spojrzeć na przykładowe programy - najczęściej pojawiającymi się w nich znakami są nawiasy.

143

(56 odpowiedzi, napisanych Software, Gry - 8bit)

Ciekawy pomysł - Atari z FORTH-em zamiast BASIC-a... Jednak mimo wszystkich zalet FORTH-a, nie byłoby to najlepsze rozwiązanie ze względu na jego złożoność... Atari BASIC jest jaki jest, ale programować w nim nauczyć się łatwo. Poza tym programy są bardzo czytelne.

144

(33 odpowiedzi, napisanych Software, Gry - 8bit)

Magnefon też miał swój urok. Ja go używałem przez wiele lat bo stacje dysków były kiedyś drogie. Pamiętam jak bałem się ruszyć biurkiem, żeby "Boulder Dash" nie przestał się wczytywać... Bardzo miło mi się to teraz wspomina. Mój magnetofon leży sobie (sprawny) w szafce i na pewno go nie będę go "kastrował" w celu pozyskania wtyczki SIO. :)

145

(56 odpowiedzi, napisanych Software, Gry - 8bit)

Programowanie w FORTu polega na definiowaniu tzw. słów, które wykonują operacje stosowe oraz wywołują istniejące słowa utworzone w FORTHu lub w kodzie maszynowym. W praktyce oznacza to, że zasadnicza część definicji słowa - tzw. sekcja parametrów - składa się głównie z wywołań istniejących już słów. Wykonanie programu będzie zatem polegało na odczytaniu zapisanych adresów w sekcji parametrów i wykonaniu skoków w odpowiednie miejsca w celu wykonania słów, do których wykonywane słowo się odwołuje. Jest to więc proces rekurencyjny.
Dzięki temu właśnie FORTH jest bardzo szybki - kod wykonywany nie jest wprawdzie kodem maszynowym, ale wysoko przetworzonym kodem źródłowym, gotowym do szybkiego wykonania.

Tak naprawdę sposób wykonania słowa zależy od użytego kompilatora - jest to pojęcie FORTH-a i nie należy tego mylić ze zwykłymi kompilatorem. Jeden z najprostszych kompilatorów - dwukropek - działa właśnie tak jak to wyżej opisałem. Istnieją też kompilatory bardziej zaawansowane, pozwalające na definiowanie bardziej skomplikowanych słów.

Zabawa z FORTH-em jest super, pod warunkiem że przejdzie się przez początkowy etap nauki i zrozumie ogólnie jego zasadę działania. Ja używałem kiedyś Extended FIG-FORTHa, który spodobał mi się do tego stopnia, że napisałem 10 lat temu w Turbo Pascalu programik, który dekompilował wszystkie standardowe słowa tego dialektu. I pamiętam, że listing zajmował chyba z 5000 linii, a to wszystko mieściło się w 10 kilobajtach. Dlatego uważam, że forth bardzo oszczędza pamięć.

146

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

Zapytałem się autora strony 'FPGA Arcade' w jaki sposób powstały jego opisy w VHDL układów takich jak POKEY. Dowiedziałem się, że nie miał on dostępu do żadnych specjalistycznych dokumentów zawierających schematy struktury wewnętrznej i jedyną drogą było opracowanie własnego modelu i ciągłe porównywanie jego pracy z oryginalnym układem. Jest to ciężka i mozolna praca, ale też pewnie jedyna możliwa droga by w pełni odtworzyć układy takie jak GTIA wraz z efektami ubocznymi wykorzystywanymi w demach...

147

(56 odpowiedzi, napisanych Software, Gry - 8bit)

Ja pisałem kiedyś w Extended fig-FORTH-u korzystając z tego, że była do tego języka książeczka po polsku autorstwa J.Bieleckiego. Chyba największą zaletą tego języka jest wysoka oszczędność pamięci (lepsza niż dla programów w asemblerze), ale wadą jest to, że programy są nieczytelne, gdyż operują na stosie używając odwrotnej notacji polskiej. Dla wielu osób język ten jest przez to dość trudny do nauczenia.

148

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

Pecus napisał/a:

A jak juz to bede mial to sie z Pirxem na 100% pobawimy z wprogramowaniem atari, tym bardziej ze na plycie jest procesor 65816 (implementacja 6502 VHDL sluzy emulacji stacji dyskow do C64, co nie znaczy ze nie moze chodzic jako glowny procesor, z reszta Z80 dziala jako glowny w implementacji Amstradow na tej maszynce).

A czy jak będzisz miał C-ONE, czy ewentualnie można byłoby to obejrzeć korzystając z tego, że jesteś z Warszawy? Ja bym się chętnie też mógł pobawić w odtwarzanie układów, bo to super ciekawa sprawa.

149

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

Najciekawsze są takie właśnie rzeczy, bo zgrubnie opisać układ nie jest aż tak strasznie trudno. Mnie najbardziej interesują informacje na temat konkretnych rozwiązań hardware'owych, które zastosowano w tych układach. Tylko że niestety, bez dostępu do bardzo szczegółowej dokumentacji jest ciężko i pozostaje chyba taka metoda jaką widać na zdjęciach tutaj:

http://home.freeuk.com/fpgaarcade/atari_amiga.htm

czyli po jednej sondzie do każdej nóżki układu i dokładna analiza wyników...
Fajnie by było, gdyby kiedyś powstał Atarowski odpowiednik projektu C-ONE (http://c64upgra.de/c-one/)...

150

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

Przepraszam, pomyliłem się. Są .jed-y i pliki .pld do nich zawierające kod źródłowy.