Nadszedł czas na podsumowanie BB8 mod nr 2. Ze starego BB8 zrobiliśmy sobie ROMdysk/UCart (Uniwersalny Cartridge z EPROMerm) i RAMdysk/UCart, który zostanie przedstawiony w kilku wariantach. Krótko mówiąc, mamy do dyspozycji carta do którego możemy sobie wrzucać ulubiony soft w mod 2-1 przy użyciu programatora EPROM, w mod 2-2/3 bezpośrednio z poziomu komcia C64 w prosty, nieskomplikowany i intuicyjny sposób, a więc rozwiązanie DLA KAŻDEGO (pamięć EPROM zastąpiona została nowoczesną pamięcią SRAM - Very Low Power z podtrzymaniem bateryjnym). Przypominam, że w tym projekcie chodzi wyłącznie o wykorzystanie gotowej płytki PCB cartridge'a Black Box 8 z niektórymi użytymi tam elementami elektronicznymi, a więc tanio-łatwo-prosto-przyjemnie, czyli prawie że metodą MacGyvera (to co "pod ręką i ze złoma"
).
BB8 MOD NR 2-1BB8 TYLKO po wymianie EPROMa z 27C256 na 27C512 i zastosowaniu sysopa
wegiego zamienia się w Uniwersalny Cartridge - ROM DYSK, do którego możemy sobie zaprogramować (programatorem EPROM) dowolną (czytaj: ulubioną) jednoplikówkę! W ten sposób zyskujemy cartridge o funkcjonalności przypominającej historycznego UCarta, z tym, że tutaj mamy typowe rozwiązanie z bankowaniem pamięci , jak w większości cartów, tzn. o dostępie swobodnym z zastosowaniem rejestrów równoległych (w UCarcie był nietypowy, jak na cartridge, sposób bankowania z dostępem sekwencyjnym do banków pamięci z użyciem licznika w miejsce rejestru sterującego cartem. Dla zainteresowanych
OPIS UCarta z epoki ).
Schemat moda 2-1 BB8:
Soft:
SYSOP ROMdysku via BB8 (180 bajtów) znajduje sie w pamięci 27C512 od adresu $C000 (w historycznym UCarcie z epoki sysop był na początku EPROMa), bo cart "startuje" w tym przypadku od ostatniego, czwartego banku szesnastokilobajtowego w związku z taką, a nie inną konstrukcją BB8.
Przykład softu z "doklejonym" sysopem obsługującym carta, gra:
OLLI & LISSABB8 MOD NR 2-2Wszyscy będą chyba zgodni, że to najciekawszy mod jaki udało sie zrobić do teraz, wykorzystując PCB BB8. Mamy do dyspozycji RAMdysk/UCart 128KB - 2 x 64KB z możliwością obsługi (wgrywania softu) z poziomu komcia C64 w bardzo prosty, intuicyjny sposób!
Na początek przypomnę filmiki z testów i kilka fotek, które zrobiłem w trakcie powstawania tego moda (opisane już było w wątku:
BB8 ATRAX CLONE):
FILM-test 1FILM-test 2 Schemat moda 2-2 BB8:
Soft:
setupKrótki opis hardware.
IC1 (74HCT138). Pełni funkcję zewnętrznego dekodera adresów (poza komciowym PLA/MMU), wytwarzającego sygnał aktywujący (LO) pamięć SRAM (IC2) w zakresie adresowania: $8000-$9FFF dla zapisu i odczytu. Taki sposób zdekodowania zewnętrznego był konieczny, bo isniejący w złączu Expansion sygnał ROML jest aktywny tylko dla odczytu (dla pamięci ROM w cartach). Mamy tutaj również do czynienia z tzw. "dualnym" zapisem pamięci RAM - tzn. to co zapisuje się do SRAM w aktywnym carcie, będzie zapisywać się również do DRAM komcia "pod" cartem, co wymaga stosownej "uwagi" od kodera, piszącego softa, obsługującego tego carta.
IC2 (pamięć SRAM DIP28 lub DIP32). W to miejsce warto zastosować pamięć statyczną CMOS najnowszej generacji ze względu na mały pobór prądu zarówno w trybie pracy aktywnej, jak i standby'u. Cart opracowałem tak, aby mógł wykorzystywać typowe, "mniejsze" pamięci "ze złomu": 6264, 62256, które każdy może pozyskać ze starych gratów, aby przetestować działanie RAMdysku/UCarta via BB8. Docelowo w tym modzie użyłem Very Low Power CMOS SRAM 128K x 8 bit f-my BSI (Brillance Semiconductor, Inc.) typu: BS62LV1027 (nabyta niegdyś w TME), pracująca w carcie w dwóch blokach po 64KB, przełączanych na "sztywno" przełącznikiem P1 (to tak jakbym miał dwa historyczne UCarty z EPROMami 27C512 w jednym carcie, tylko teraz można do nich zapisywać - SRAM - dane wprost z komcia!
). Każdy blok 64KB carta składa się z ośmiu banków po 8KB widzianych w komciu w obszarze $8000-$9FFF. Cart startuje od ostatniego banku i tam musi się znajdować procedura uruchomieniowa carta: "CBM80". Dodam tylko, że na PCB BB8 istnieje jeszcze możliwość rozszerzenia SRAM do 512KB w sprytny i chyba jedyny, choć mało elegancki sposób
(takie pamięci 4Mbit: 512K x 8 bit są produkowane jeszcze w obudowie DIP32 i można je kupić za ok 10 PLN/szt.
np. z rodziny K6X4008C1F f-my Samsung Electronics)
IC3 (CD4001 - cztery 2-wej. bramki NOR). IC3A wytwarza impuls zapisu (clock - aktywne przednie zbocze impulsu) danych (pobieranych nietypowo w BB8 z szyny ADRESOWEJ komcia, a nie szyny DANYCH -
wegi sprytnie nazwał to "latchowaniem po adresach"), dla rejestru sterującego cartem IC4. Rejestr ten widziany jest na mapie pamięci komcia w obszarze $DF00-$DFFF (I/O2). Bramki IC3B, D, C oraz 2-wej. bramka AND (na diodach D1, D2 i rezystorze R5) pełnią funkcję wytwarzania impulsu zapisu /WE oraz blokowania tegoż zapisu dla pamięci SRAM w momencie wyłączenia carta (EXROM - HI).
IC4 (74HCT175). Czterobitowy rejstr sterujący cartem: przełączanie banków pamięci carta (A13, A14, A15 pamieci SRAM) i włączanie/wyłączanie widoczności carta na mapie pamięci komcia (EXROM w Expansion port). O bankowaniu BB8 dyskutowaliśmy sporo w wątku:
BB8 ATRAX CLONE, więc juz nie będę się powtarzał.
P1 - przełącza dwa 64KB bloki pamięci SRAM carta (A16 pamięci SRAM)
S1 - przełacznik dwusekcyjny - sekcja: 1,2,3 blokuje "na sztywno" dostęp do pamięci SRAM, sekcja: 4,5,6 załącza świecenie czerwonej diody LED fi 3mm, sygnalizującej zablokowanie dostępu do pamięci SRAM (przejście pamięci w tryb standby z odłączeniem /CS1 pamięci od reszty układu elektronicznego carta). Opcja potrzebna w sytuacji załączania/wyłączania POWER - wyciągania carta z expansiona - są to dla elektroniki stany nieustalone, więc SRAM musi byc zabezpieczony przed "bzdetami", które mogłyby się pojawić na wejściach sterujących: /CS1, /WE, /OE i "uszkodzic" zawarte w pamięci dane. Podobną rolę pełnią rezystory R2, R6, R7 podciągające wejścia sterujące pamięci do potencjału zasilania VSRAM (niedopuszczenie do sytuacji, aby piny wejść sterujących pamięci, wisiały nigdzie niepodpięte, albo były obciążone jedynie niezasilonymi IC, po wyłączeniu POWER komcia i/lub wyjęciu carta z expansiona)
T1, T2, R1, R3, R4 - układ pełni rolę separatora napięcia BackUp carta (bateria CR2032) dla szyny zasilającej komcia 5V. Jest to lepsze rozwiązanie, niż użycie w to miejsce diody, bo spadek napięcia na takim układzie jest niezauważalny i mamy praktycznie ok. 5V na VSRAM w trakcie pracy carta z załączonym POWER komcia.
D4 - dioda Schotky pełni rolę separatora napięcia systemowego 5V dla baterii podtrzymującej dane w pamięci SRAM. Wybrałem akurat BAT43, bo ta miała najmiejszy spadek napięcia (0,27V) na strukturze ze wszystkich diod krzemowych Schotky i germanowych, jakie miałem na stanie.
C5 - kondensator na podtrzymaniu VSRAM. Nie stosować elektrolitów, tylko miniaturowe z izolatorem plastykowym, bo mniej będa pożerać baterię podtrzymującą dane w pamieci SRAM.
Dalszy ciąg, między innymi szczegóły techniczne konstrukcji RAMdysku/UCarta na PCB BB8 w następnym wpisie.