Commodore c64 rozbudowa pamięci operacyjnej do 16 MB.

Masz problemy z przeróbką swojej prawdziwej Amigi? Karta rozszerzeń odmawia posłuszeństwa? Załóż wątek inni Amigowcy poratują Cię pomysłem na rozwiązanie problemu, albo przynajmniej wesprzą w bólu.

Commodore c64 rozbudowa pamięci operacyjnej do 16 MB.

Post IP: rejestrowane!

Grzegorz77 wrote:Jakiś czas temu wykonałem rozszerzenie RAM komputera Commodore c64 do 1 MB.
Można o nim przeczytać w tym wątku:
http://www.elektroda.pl/rtvforum/topic2 ... l#14472009
W trakcie użytkowania, jak to zwykle bywa okazało się że pamięci nigdy za dużo.
I tak zrodził się pomysł dalszej rozbudowy. Początkowo myślałem o dołożeniu modułu 8 bitowego SIMM 4 MB. Ale okazały się one trudno dostępne i drogie.
W międzyczasie zapoznałem się z konstrukcją modułów SIMM72 16 MB i postanowiłem taki wykorzystać.
Istnieje co prawda rozszerzenie RAM do 16 MB, ale nie spełniało ono moich założeń z powodu że niemożna w nim uruchomić bezpośrednio programów, jest to praktycznie coś w rodzaju szybkiej stacji dysków z której przeładowuje się programy do pamięci operacyjnej i dopiero w niej można je uruchomić. Takie rozwiązanie czyni praktycznie niemożliwym budowę systemu wielozadaniowego.
Do rozwiązania było kilka problemów:
1. Odświeżanie pamięci tak aby nie generować dodatkowych cykli, chodziło o zachowanie 100 proc. zgodności z oprogramowaniem c 64 gdzie częstą techniką jest tak zwane cyklowanie. Po analizie okazało się że przy małych zmianach spokojnie mogę zastosować rozwiązanie z poprzedniego rozszerzenia.
2.Układ ma być tani i mieścić się w obudowie c64. Do budowy użyłem 11 układów różnych serii TTL (LS,HC,HCT), właściwie większość miałem pod ręką i tylko kilka musiałem dokupić, oraz pamięci cach ze starej płyty 486 ;)
3.W c64 procesor jest 8 bitowy i jego przestrzeń adresowa to 64 kB pamięci, w związku z tym pamięć 16 MB została podzielona na 256 bloków po 64 kB każdy.
Do zaadresowanie wszystkich bloków potrzeba rejestru 8 bitowego, ale że chciałem aby pamięć była adresowana niezależnie przez CPU i układ wideo, potrzeba 2 takich rejestrów.
Dodatkowo aby ułatwić szybkie przełączanie bloków dodałem dodatkowy „pseudo rejestr 16 bitowy” do którego wpisanie danej 8 bitowej powoduje że od razu jest ona wpisana do dwóch rejestrów (jednego dla banku CPU i drugiego dla układu wizyjnego (VIC)).
Dzięki temu tylko jednym rozkazem można zmienić bank , co jest przydatne kiedy chcemy mieć do dyspozycji kilka (maksymalnie 256) wirtualnych komputerów c64 z różnymi programami.

Dodatkowo rozbudowałem pamięć wspólna dla wszystkich banków do 768 B.
Od strony programowej, kończę pisanie systemu operacyjnego, i mam już gotową wersję popularnego Turbo Assemblera mogąca kompilować programy do dowolnego banku pamięci.

Koszt całości to w zasadzie 11 układów TTL po ok. 1 zł, pamięć RAM 16 MB (zakupiona za 15 zł) i czas poświęcony na opracowanie, złożenie , uruchomienie.
Prace nad programem trudno wycenić bo ciągle trwają, i wciąż pojawiają się nowe pomysły na zastosowanie.
Aktualnie układ przeszedł kilku miesięczne testy i sprawdzi się w pracy z wieloma programami, także jako programator do układów ISP, a dzięki bogatej bazie interfejsów jest świetną platformą do budowy różnych urządzeń.
Bardzo bogata baza programów, bogate interfejsy, dostępna literatura czynią z niego naprawdę fajne urządzenie które z powodzeniem może konkurować nawet z Raspberry Pi.
Układ jest przystosowany do współpracy z innym procesorem, który może współpracować z układami c64 (po wstrzymaniu procesora 6510) i adresować pamięć RAM w sposób liniowy lub przez bankowanie.
Układ jak na razie jest ciągle w wersji prototypowej, początkowo chciałem zamówić do niego płytkę, ale coraz bardziej skłaniam się ku zaprojektowaniu zupełnie nowej całej płyty pod c64 od razu z rozszerzeniem i kilkoma innymi dodatkowymi rozszerzeniami.

1.jpg

2.jpg

3.jpg



[EDIT]
Mała próbka animacji korzystającej z dodatkowych banków pamięci i specjalnego trybu wyświetlania (programowo+sprzętowego) pozwalającego osiągnąć więcej kolorów ale przy dużym zapotrzebowaniu na pamięć (w normalnym c64 te obrazki są tylko statyczne), dzięki dużej pamięci można je ożywić ;)





Źródło: http://www.elektroda.pl/rtvforum/topic3070756.html
You do not have the required permissions to view the files attached to this post.
Image
User avatar
Anthrox Poland (pl) Male
Administrator `BO
 
Posts: 11100
Joined: 22 May 2010, 16:48
Last Visit: Today, 03:50
Online: 261d 21h 1m 32s
Highscores: 3
Lamps demolished: 208 (+178)
Reputation point: 8913
Ciemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna strona

Re: Commodore c64 rozbudowa pamięci operacyjnej do 16 MB.

Post IP: rejestrowane!

Jestem naprawdę pod bardzo duzym wrażeniem ! Ludzka twórcza inwencja jest wręcz niezbadana i bezgraniczna ! :-)
User avatar
ihtius Poland (pl) Male
User level 11
 
Posts: 2387
Joined: 03 Jan 2011, 19:33
Last Visit: Yesterday, 20:11
Online: 62d 4h 20m 38s
Location: Lublin
Lamps demolished: 0 (+0)
Reputation point: 633
Ojciec ChrzestnyOjciec ChrzestnyOjciec ChrzestnyOjciec ChrzestnyOjciec ChrzestnyOjciec ChrzestnyOjciec Chrzestny

Re: Commodore c64 rozbudowa pamięci operacyjnej do 16 MB.

Post IP: rejestrowane!

Wielki szacun dla tego człowieka !
User avatar
chrumcio Poland (pl) Male
User level 6
 
Posts: 700
Joined: 19 Aug 2011, 16:33
Last Visit: Yesterday, 23:20
Online: 41d 33m 33s
Highscores: 1
Lamps demolished: 396 (+488)
Reputation point: 515
Kapitan BombaKapitan BombaKapitan BombaKapitan BombaKapitan BombaKapitan Bomba

Re: Commodore c64 rozbudowa pamięci operacyjnej do 16 MB.

Post IP: rejestrowane!

Mam dwa C64 mydelniczki. Jeden można podrasować na próbę ;)
Amiga: 500/500+/1200 i wiele inych... ;)
User avatar
santa13 Poland (pl) Male
User level 11
 
Posts: 2140
Joined: 06 Nov 2012, 02:06
Last Visit: Yesterday, 17:52
Online: 86d 15h 34m 5s
Location: Silesia
Highscores: 1
Lamps demolished: 1295 (+1112)
Reputation point: 758
Ciemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna stronaCiemna strona


  • Similar topics
    Replies
    Views
    Last post

Return to Hardware

Who is online

Users browsing this forum: No registered users and 1 guest