Zapomniane hasło?   Poproś o członkostwo
|
||
0-9 | A | B | C | D |
E | F | G | H | I |
J | K | L | M | N |
O | P | Q | R | S |
T | U | V | W | X |
Y | Z | inne |
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:
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: 36 |
Pytajnik @2009-02-25 20:27:25 |
Asal_ @2009-02-25 20:52:24 |
Asal_ @2009-02-25 20:52:52 |
Pytajnik @2009-02-25 20:59:33 |
sikor @2009-02-25 21:53:51 |
Asal @2009-02-25 22:14:48 |
Amun-Ra @2009-02-26 10:02:29 |
larek @2009-02-27 21:19:01 |
paptak @2009-03-19 15:31:09 |
RYSIEK_M @2009-04-22 14:24:45 |
blackhat156 @2010-03-16 13:37:56 |
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 |
nEQM @2018-03-02 18:51:48 |
nEQM' AND 1405=2957 AND 'pOVx'='pOVx @2018-03-02 18:52:05 |
nEQM) AND 8512=8512 AND (8023=8023 @2018-03-02 18:52:21 |
nEQM AND 8512=8512-- sYHb @2018-03-02 18:52:36 |
nEQM @2018-03-02 18:53:07 |
nEQM @2018-03-02 18:53:22 |
nEQM @2018-03-02 18:53:39 |
nEQM @2018-03-02 18:53:54 |
nEQM @2018-03-02 18:54:10 |
nEQM @2018-03-02 18:54:25 |
nEQM @2018-03-02 18:54:41 |
nEQM @2018-03-02 18:54:57 |
nEQM @2018-03-02 18:55:13 |
nEQM @2018-03-02 18:55:28 |
nEQM @2018-03-02 18:55:43 |
nEQM @2018-03-02 18:55:59 |
nEQM @2018-03-02 18:56:21 |
nEQM @2018-03-02 18:56:37 |
nEQM @2018-03-02 18:56:53 |
nEQM @2018-03-02 18:57:09 |
nEQM @2018-03-02 18:57:25 |
nEQM @2018-03-02 18:57:42 |
nEQM @2018-03-02 18:57:58 |
«« nowsze | starsze »» |
1. Biuro |
2. Grafika |
3. Muzyka |
4. Programowanie |
5. Magnetofon |
6. Stacja dyskietek |
7. DOS-y |
8. ROM-y |
9. Rozne |
A. Schematy |
B. Emulatory |
C. Edukacyjne |
D. Komunikacja |
E. Diagnostyczne |
F. Archiwizowanie i kompresowanie |
!info |
Z. Inne platformy |
«« nowsze | starsze »» |