atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Gry w Mad-Pascalu z 2017-06-20 22:48 (19)
Rain of Terror – edycja kolekcjonerska z 2017-06-16 22:46 (3)
Bad Apple na małe Atari – kolejne wersje z 2017-06-11 23:21 (26)
Magazyn FLOP nr 60 z 2017-06-07 23:47 (14)
Outline 2017 z 2017-05-30 17:47 (13)
Pixel Heaven 2017 i nowy numer Top Secret! z 2017-05-26 04:07 (31)
Pixel Heaven 2017 i komputery złotej ery z 2017-05-25 00:32 (22)
Gotowy Gunfright i zapowiedź Skool Daze! z 2017-05-21 21:26 (23)
Noc Muzeów 2017 z 2017-05-19 14:44 (2)
Nowy RECOIL v4.0.0 z 2017-05-17 21:35 (5)
WAP-niak 2017 – wyniki i prace z 2017-05-14 17:27 (65)
WAP-niak 2017 i inne aktualne wydarzenia retro z 2017-05-12 13:10 (9)
Impreza retro w Okunince z 2017-05-10 19:52 (2)
WAP-niak 2017 – zapraszamy! z 2017-05-05 12:36 (49)
W czerwcu będzie Decrunch 2017 z 2017-05-02 18:22 (4)
Wyniki konkursu BASIC Tenliners 2017 z 2017-04-26 23:35 (9)
RetroKomp 5/2017 z 2017-04-21 17:55 (7)
Wieści książkowe z Retronics z 2017-04-18 20:36 (10)
Zapowiedzi imprezowe Atari z 2017-04-16 17:50 (7)
Trwa Revision 2017 z 2017-04-15 17:48 (26)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier

Opisy gier
Frogs opisał Xeen (0)
Choplifter! opisał Urborg (0)
Joust opisał Urborg (16)
Commando opisał Urborg (35)
Mario Bros opisał Urborg (13)
Xenophobe opisał Urborg (34)
Robbo Forever opisał tbxx (16)
Kolony 2106 opisał tbxx (0)
Archon II: Adept opisał Urborg/TDC (9)
Spitfire Ace/Hellcat Ace opisał Farscape (7)
Wyspa opisał Kaz (9)
Archon opisał Urborg/TDC (16)
The Last Starfighter opisał TDC (30)
Dwie Wieże opisał Muffy (17)
Basil The Great Mouse Detective opisał Charlie Cherry (121)
Inny Świat opisał Charlie Cherry (17)
Inspektor opisał Charlie Cherry (19)
Grand Prix Simulator opisał Charlie Cherry (16)
Rescue On Fractalus opisał Kaz (18)
Stranded opisał Kaz (10)
«« nowszestarsze »»

Użytki/Utils
Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
Rozszerzenie 576kB
Projekt rozszerzenia pamięci do 576kB powstał w celu sprawdzenia, czy możliwe jest stworzenie układu rozszerzającego pamięć wykorzystującego multipleksowaną magistralę BA0-7 Freddiego. Dodatkowym celem było stworzenie układu, który wymagałby jak najmniej przeróbek na płycie Atari i niewielu połączeń za pomocą dodatkowych przewodów.



Układ można zainstalować wyłącznie w nowszych płytach Atari XE posiadających układ Freddie i pamięci dynamiczne 4x64kB. Oryginalny układ MMMU* sterujący dostępem do pamięci został wylutowany, a w miejsce jego gniazda wlutowałem golpiny. Podobnie w miejscu, gdzie w Atari 130XE znajdują się dodatkowe pamięci, również znajdują się goldpiny. Płytka rozszerzenia zbudowana jest w taki sposób, że posiada ona w odpowiednich miejscach złącza do goldpinów i jego instalacja sprowadza się do nałożenia go na płytę Atari.

Patrząc na schemat, widać, że użyta została statyczna pamięć SRAM o pojemności 512kB i zatrzask IC1, który w odpowiednim momencie zapamiętuje młodszą część adresu komórki pamięci w pierwszej fazie cyklu adresowania. Symbole POD1-3 odpowiadają gniazdom z goldpinami. Ponieważ chciałem zapewnić dostęp do całej pamięci z poziomu Basica, użyty został zatrzask IC4, który zapamiętuje stany bitów PB1 i PB7 PortB na czas adresowania pamięci rozszerzonej.



Najciekawsza część roszerzenia zawarta jest oczywiście w układzie GAL22V10, który stanowi swego rodzaju zamiennik oryginalnego MMMU. Postanowiłem wprowadzić trzy tryby pracy rozszerzenia:
  • 576kB, w którym do adresowania banku pamięci wykorzystywane są bity 7,6,3,2 i 1 PortB;
  • 320kB w standardzie RAMBO (bity 6,5,3 i 2 PortB)
  • 320kB w standardzie COMPY (bity 7,6,3 i 2 PortB)


Dodatkowe tryby wprowadziłem głownie z powodów sentymentalnych, gdyż przez ponad 10 lat byłem posiadaczem Atari z dodatkową pamięcią w standardzie Rambo. Wybór trybu pracy układu ustawia się zwierając wyprowadzenie COMPY_320 lub RAMBO_320 do masy. Jeżeli żadne wyprowadzenie nie jest zwarte, układ pracuje w trybie 576kB. Zarówno w trybie 576kB jak i 320kB COMPY uwzględniany jest stan bitu PB5, który decyduje o tym, czy dostęp do dodatkowej pamięci przydzielić CPU czy Anticowi.



Do montażu rozszerzenia trzeba niestety wykonać drobne zmiany na płycie Atari, lecz są one stosunkowo niewielkie i polegają na doprowadzeniu do gniazda MMMU kilku brakujących sygnałów. U mnie połączenia te zostały wykonane od spodu płyty.

Na koniec mała ciekawostka. Na schemacie widać, że doprowadzając starszą część adresu z magistrali Freddiego do pamięci statycznej użyłem sygnałów BA1-6 zamiast BA0-5, co wydawać by się mogło naturalne. Jest to związane z tym, że multipleksując adres, Freddie nie wykonuje tego w sposób następujący: BA0=A0/A8, BA1=A1/A9, BA2=A2/A10 itd, lecz sygnały z magistrali A są nieco "wymieszane". W rezultacie, sygnałom A8-A13, które trzeba doprowadzić do pamięci odpowiadają właśnie sygnały BA1-6, a nie BA0-5 w drugiej fazie cyklu adresowania. Odkrycie tego faktu było dla mnie zaskoczeniem i spowodowało poważne trudności na początku budowy rozszerzenia.



Dla zainteresowanych udostępniam PEŁNY kod źródłowy definicji dla układu GAL22V10 wraz z komentarzami oraz wersję skompilowaną. Do kompilacji użyłem programu Atmel WinCUPL, a GALa zaprogramowałem przerobionym przeze mnie programatorem GALBLASTER skonstruowanym samodzielnie. Płytkę drukowaną rozszerzenia również wykonałem samodzielnie posługując się metodą termotransferu.



* MMMU - układ CO25953 czyli zaprogramowany PAL16V8, znajdujący się niedaleko pamięci dynamicznych. Układ ten określa się jako Małe MMU, czyli w skrócie MMMU i steruje on bankami pamięci w Atari 130XE, włącza SELF-test itp. Oprócz tego mamy na płycie też układ MMU, które przydziela pamięć Anticowi, Gtia, Pokeyowi... Jest to inny układ, opisany w Atariki.

Pliki zdjęć, wkład i schemat tutaj. Nowinka zapowiadająca była tutaj.

2009-02-25 18:43 by Asal
komentarzy: 13
Pytajnik @2009-02-25 20:27:25
a dotychczasowe rozszerzenia nie mialy przelaczania na rambo/compy? bo ja takie mam 576.
Asal_ @2009-02-25 20:52:24
Miały, było dużo różnych rozszerzeń. Jak napisałem jednak we wstępie, tutaj głównym celem było wykorzystanie magistrali Pokeya i przez to zwarta budowa.
Asal_ @2009-02-25 20:52:52
Freddiego, nie Pokeya.
Pytajnik @2009-02-25 20:59:33
no zgrabne jest :-)
sikor @2009-02-25 21:53:51
Całkiem przyjemna płytka i nawet niedoświadczony elektronik ma szansę sobie poradzić. Są jakieś szanse na "przemysłowe" płytki i jaki byłby koszt (z elementami, bo ja sobie póki co nie zaprogramuję GALa...)?
Asal @2009-02-25 22:14:48
Są szanse na płytkę. Tak jak napisałem, niedługo będę zlecał wykonanie jej profesjonalnej wersji i równie dobrze mogę zamówić ich kilka. GAL-a zaprogramować to dla mnie nie problem. O kosztach nie myślałem, ale łupić nikogo nie zamierzam...
Amun-Ra @2009-02-26 10:02:29
Zamiast GAL-a możnaby użyć jakiś mały CPLD...
larek @2009-02-27 21:19:01
Piękne!
Prawdopodobnie też bym się pisał na to. Najlepiej gotowy KIT, bo z programowaniem GAL-a byłby u mnie problem. Z polutowaniem wszystkiego chyba dałbym sobie radę.
Naprawdę fajne rozwiązanie.
paptak @2009-03-19 15:31:09
Mnie też się bardzo podoba. Jestem bardzo chętny :-) Jeśli tak mozna powiedzieć.
RYSIEK_M @2009-04-22 14:24:45
Podoba mi się bardzo, chętnie kupię zestaw do samodzielnego montażu.
blackhat156 @2010-03-16 13:37:56
ja w sumie terz jestem zainteresowany tym fajna sprawa naprawde
Fretka @2011-09-07 10:47:37
Niezwykle podoba mi się to rozszerzenie, przede wszystkim ze względu na zgodność trybu najwyższego (576 kB) z przydzielaniem dostępu do dodatkowej pamięci procesorowi lub ANTIC-owi przez bit 5 portu B, a co za tym idzie - z rozszerzeniem Compy Shop oraz z Atari 130XE. Zastanawiam się, czy nie możnaby użyć jeszcze bitu 0 portu B - wtedy mielibyśmy 1088 kB zgodne z Twoim 567 kB. A dość zaawansowana i przydatna funkcja pozostałaby dostępna.
Fretka @2011-09-07 10:52:00
Przepraszam za pomyłkę miało być: ,,... z Twoim 576 kB.''. Mam nadzieję, że te 9 kB zostanie mi wybaczone.
nickname
e-mail / website (opcjonalnie)
Aktualne tematy
Nowa gra od gorgha (49)
ostatni: 23-06-2017 02:30, IRATA4
Pokey'owe różności (10)
ostatni: 22-06-2017 22:55, pin
Martwe 800XE - naprawa/diagnoza (6)
ostatni: 22-06-2017 21:47, Mq
Jaguar - problem z kablem AV (4)
ostatni: 22-06-2017 21:41, jesionen
Reedycja gier (361)
ostatni: 22-06-2017 20:18, ccwrc
Turbo Basic XL - zapis ekranu do ... (18)
ostatni: 22-06-2017 00:30, kris3d
Atarowe i nieatarowe newsy scenowe (315)
ostatni: 22-06-2017 00:18, xeen
Xenophobe na cartridge, ktoś chęt... (101)
ostatni: 22-06-2017 00:09, micromax
magnetofon XC12 w trakcie próby w... (7)
ostatni: 21-06-2017 20:25, kosa1013
Turgen System i Blizzard (13)
ostatni: 21-06-2017 08:11, Wolfen
Gry /animacje w Mode 15 (16)
ostatni: 21-06-2017 00:34, pirx
Bootowanie z innej stacji niż D1? (9)
ostatni: 20-06-2017 23:19, pin
Hdsc - Hard Disc Sector Copy (4)
ostatni: 20-06-2017 21:55, CharlieChaplin
Podziękowania dla XXL'a (41)
ostatni: 20-06-2017 18:53, IRATA4
Lord of the Orb (29)
ostatni: 19-06-2017 15:55, gorgh

Kategorie Forum Atarum

Użytkowników: 1693
Ostatnio zarejestrowany: Bulina39
Postów ostatniej doby: 26

Społeczność/Community

Najbliższe imprezy

Sprzęt/Hardware

Wynalazki
Atari i Bluetooth napisał Kaz (17)
SIO2PC-USB napisał Larek (44)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (9)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (7)
Testowałem "Simple Stereo" napisał Zaxon (3)
Rozszerzenie 1MB napisał Asal (20)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (26)
Rozszerzenie 576kB napisał Asal (13)
Soczyste kolory napisał scalak (28)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał (8)
SIO2IDE w pudełku napisał Kaz (5)
Atari steruje tokarką napisał Kaz (14)
DarkMouse napisał Kaz (7)
«« nowszestarsze »»