Noo, skoro
wegi załozył taki klawy wątek, to pora pociągnąć go dalej. Biorąc pod uwagę fakt, że
wegi już chyba na maxa "namacał" się
tego carta (nie znającym tematu polecam artykuł wegi'ego w C&Afan maj 2010: "Przerabianie kartridży") to w końcu pora przejść do hardcore
(jako uzupełnienie arta wegiego
)
fotki BB8, którego posiadam na stanie:
... i schemat BB8, który machnąłem odręcznie (zapraszam do współpracy i rozrysowania tego schematu w Eagle'u, czy czym tam, bo ja nie mam na to czasu, ani cierpliwości
- ewentualne dodatkowe szczegóły uzupełnię):
TABELKA BANKOWANIA BB8 (dla bitów: 0, 1, 2 - LORAM, HIRAM, CHAREN w lokacj
i pamięci C64 $01 - równych 1) K I K II K III K IV K V 01 DF00 0000 1100 Załącz ROML&ROMH w ostatnim banku, nr 2 (A)/ nr 4 (B) 02 DF01 0001 1101 Załącz tryb ULTIMAX w banku nr 2 (A)/ nr 4 (B) 03 DF02 0010 1110 Załącz ROML w banku nr 3 (A)/ nr 7 (B) 04 DF03 0011 1111 Wyłącz widoczność carta 05 DF04 0100 1000 Załącz ROML&ROMH w banku nr 1 (A)/ nr 3 (B) 06 DF05 0101 1001 Załącz tryb ULTIMAX w banku nr 1 (A)/ nr 3 (B) 07 DF06 0110 1010 Załącz ROML w banku nr 1 (A)/ nr 5 (B) 08 DF08 1000 0100 Załącz ROML&ROMH w banku nr 2 (B)/ dla (A)-stan zabroniony 09 DF09 1001 0101 Załącz tryb ULTIMAX w banku nr 2 (B)/ dla (A)-stan zabroniony 10 DF0A 1010 0110 Załacz ROML w banku nr 3 (B)/ dla (A)-stan zabroniony 11 DF0C 1100 0000 Załącz ROML&ROMH w banku nr 1 (B)/ dla (A)-stan zabroniony 12 DF0D 1101 0001 Załącz tryb ULTIMAX w banku nr 1 (B)/ dla (A)-stan zabroniony 13 DF0E 1110 0010 Załącz ROML w banku nr 1 (B)/ dla (A)-stan zabroniony Pozostałe adresy z zakresu $DF00 - $DFFF (I/O2) są niewyszczególnione, ponieważ
dublują lub powielają (mirrors) funkcje opisane powyżej (w kolumnie K V), lub są
zabronione dla określonych typów pamięci. OBJAŚNIENIA K I - kolumna pierwsza: liczba porządkowa. K II - kolumna druga: adres (HEX) dla rozkazu ST(R) sterującego cartem, gdzie R –
rejestr: A, X, Y mikroprocesora C64 K III - kolumna trzecia: dane (BIN) na wejściach (D3 D2, D1, D0) rejestru sterując
ego carta: 74175 w czasie zapisu rozkazem ST(R)adres K IV - kolumna czwarta: dane (BIN) na wyjściach (/Q3, /Q2, Q1, Q0) rejestru sterują
cego carta: 74175 po zapisie do niego danych rozkazem ST(R)adres K V - kolumna piąta: opis sterowania cartem po wydaniu rozkazu ST(R)adres A - dotyczy pamięci 27256 (32KB) B - dotyczy pamięci 27512 (64KB) ROML – obszar pamięci C64: $8000-$9FFF, w którym widziane są ośmio kilobajtowe
banki pamięci carta. Pamięć BASIC i KERNAL są dostępne przy włączonej widoczn
ości carta, a więc można korzystać z zawartych tam procedur. Jednak tryb bankowan
ia ośmio kilobajtowego pamięci carta jest nieefektywny, gdyż ze względu na swoją
konstrukcję BB8 wykorzystuje tylko połowę zainstalowanej na nim pamięci. ROML&ROMH – obszar pamięci C64: $8000-$BFFF, w którym widziane są szesnasto kilo
bajtowe banki pamięci carta. Przy włączonej widoczności carta w tym trybie niedos
tępna jest pamięć BASIC i zawarte tam procedury – w miejscu pamięci BASICa widz
iana jest górna połowa banku pamięci carta. Dla trybu ULTIMAX szesnastokilobajtowy bank pamięci carta widziany jest:blokami po 8
KB: dolny blok w $8000-$9FFF, górny blok w $E000-$FFFF. W tym trybie, przy włączon
ej widoczności carta, niedostępna jest pamięć BASIC (wyłączona) oraz KERNAL i n
ie można korzystać z zawartych tam procedur. W miejscu pamięci KERNAL widoczna jes
t górna połowa banku (górny blok 8KB) pamięci carta, no i pamiętać trzeba że R
AMu w trybie ULTIMAX mamy tylko 4KB ($0000-$0FFF).
BB8 może działać bez żadnych zmian hardware'owych z pamięciami 2764/27128/27256/27512, a to dzięki podłaczeniu A14, A15 do wyjść zanegowanych (/Q3, /Q2) rejestru (74175) sterującego cartem. Co prawda (jak zauważył to
wegi w swoim arcie) cart po POWER/RESET startuje od górnego banku, ale z punktu widzenia softu nie ma to większego znaczenia, za to upraszcza konstrukcję (nie potrzeba plaż lutowniczych na PCB do konfigurowania typu pamięci). Pamiętać tylko trzeba o nieużywaniu w sofcie zabronionych, dla konkretnych pamięci adresów w rozkazie sterującym cartem: ST(R)adres.
W tabelce bankowania opisałem tylko pamięci większe: 27256 (domyślna dla BB8) i 27512.
Co można jeszcze kombinować z tym cartem, opiszę następnym razem (w miarę wolnego czasu). Udanych eksperymentów z BB8!