Strona 1 z 1

Mój własny kartridż - 64 kb?

: 22 kwie 2010, 09:55
autor: qus
Witam,

Mam stary kartridż X i znalazłem kogoś, kto jest w stanie przeprogramować znajdujący się na nim EPROM. Osoba ta mówi jednak, że ten układ ma 64 kilobajty. Pytanie więc - jak C64 widzi taki kartridż? Jest w nim przełączanie banków (jeśli tak - to jak), czy też po prostu część tej pamięci się marnuje/jest niedostępna?

: 22 kwie 2010, 10:09
autor: zyga
Najprawdopodobniej jest to układ Eprom 2764, co oznacza 64 ale kilobity (8 kB), a nie kilobajty.

Owszem bankowanie obszarów 8kB jest możliwe. W ten sposób zrealizowany jest cart Final 3, który ma właśnie 64kB (2x układy 27256 lub 1x 27512).

Co więcej istnieją również cartridge z grami 256kB (np. Shadow Of the Beast) lub 512kB (np. Terminator 2), wydawane przez firmę Ocean.

Zainteresuj się tym: http://c64.phorum.pl/viewtopic.php?t=46 ... 88c8cc3ed3

: 22 kwie 2010, 10:38
autor: qus
Aaaaa, jak 8 kilobajtów, to nie było pytania. Dzięki :-)

: 24 kwie 2010, 09:32
autor: qus
A jednak pociągnę jeszcze temat. Chciałbym wrzucić na kartridż SJLOAD - software'owy JiffyDOS ( http://picobay.com/dtv_wiki/index.php?t ... SJLOAD.ASM ). SJLOAD korzysta normalnie z pamięci w CB00, ograniczając długość ładowanego pliku do 195 bloków. I tu pytanie - czy jeśli dałoby się relokować ten program na pamięć kartridża (a widzę, że nie będzie hop-siup, bo jest tam parę kawałków samomodyfikującego się kodu), to da się wczytać plik "za" ROM kartridża? Na chłopski rozum, spodziewam się, że kod który pisze do obszaru pamięci cartridge ROM, powoduje zapisanie w RAM, a nie dezintegrację C64. Ale co po załadowaniu pliku? Czy da się programowo odłączyć kart?

: 24 kwie 2010, 11:15
autor: skull
Przecież już dawno istnieją takie rozwiązania -> patrz action replay.
Da się wczytywać pod każdą komórkę pamięci, kwestia użycia odpowiednio komórki $0001, która odpowiada za "konfigurację" pamięci, np przed samym zapisywaniem dla pojedyńczej komórki powyżej adresu $d000. W zasadzie to tylko obszar $d000-$dfff jest punktem newralgicznym, bo już pod kernalem, zapis do ramu nie powoduje konfliktu.
Ale.. to musi mieć zaimplementowane sam loader - manipulacja komórką $01 jest niezbędna gdyż port odbierania/wysyłania danych do stacji to kom. $dd00- czyli raz pamieć musi być ustawiona na korzystanie z rejestrów ($d000-$dfff), a raz na ram komputera (w tym samym obszarze).

: 24 kwie 2010, 13:41
autor: k.
xxx

: 25 kwie 2010, 07:24
autor: qus
Że się da, to ja wiem. Ale jakieś konkrety? :-) Tak a propos FC 3, to jakiś łotr mi wczoraj na Allegro podkupił...

: 25 kwie 2010, 10:47
autor: skull
Z tym F3 to się nie martw, on też nie umożlwia wgrywania pliku ponad $d000.

Szczerze mówiąc to jeszcze nie rozszyfrowałem o co Ci chodziło w tym zdaniach :
qus pisze: Na chłopski rozum, spodziewam się, że kod który pisze do obszaru pamięci cartridge ROM, powoduje zapisanie w RAM, a nie dezintegrację C64.
Jaką dezintegrację?

Patrząc pobieżnie na kod loadera, uważam że to nie najlepszy wybór na rom dla cartridge, jest tam sporo odwołań do kernala.

: 25 kwie 2010, 12:13
autor: k.
xxx

: 25 kwie 2010, 16:07
autor: qus
skull pisze:Szczerze mówiąc to jeszcze nie rozszyfrowałem o co Ci chodziło w tym zdaniach :
qus pisze: Na chłopski rozum, spodziewam się, że kod który pisze do obszaru pamięci cartridge ROM, powoduje zapisanie w RAM, a nie dezintegrację C64.
Jaką dezintegrację?
Ooooj, głupi dowcip, sorry. Wiesz co się dzieje w amerykańskich filmach z robotami, którym przedstawi się paradoks? DOES NOT COMPUTE! KABOOOM.

: 26 kwie 2010, 12:02
autor: skull
trochę nie przemyślałem z tym kernalem, tak jak wspomina kisiel to wręcz niezbędne dla jakiejś "funkcjonalości" tego loadera, inaczej ten cart musiałby mieć własny system, a nie tylko loader.

: 26 kwie 2010, 18:24
autor: k.
xxx