CGB
NES/Famicom
SubMission GBC
------------------------
PDRC #3.33 competition winner
(for my other GB projects please check THIS)
(sorry .pl only )
Kolejna gra freeware na Gameboy-a Colora, zrobiona przez:

Gra (jak zwykle zreszta) zostala napsiana calkowicie w assemblerze (zblizonym do i8080). Grafika zostala stworzona od zera przez Adama w
edytorze TileBuddy (wykorzystanym rowniez do skladania poziomow). Do tworzenia muzyki Wierza uzyl Carillon Playera. Gra - jak widac na ponizszych
zrzutach ekranu - jest typowa skrolowana "strzelanka" w (pod)morskiej scenerii. Jej stworzenie zajelo nam kilkanascie dni (a w zasadzie wieczorow).
Aktualna wersje mozna jak zwykle pobrac ze strony PDRoms.
Zrzut ekranu z edytora (TileBuddy):

A tutaj kilka obrazkow z samej gry:


&
NES/Famicom - skladanka 168in1
----------------------------------------------

Ostatnio w moje rece wpadla skaldanka 168in1 (thx StefaN ).
Z tego co mi wiadomo (aczkolwiek moge sie mylic ..) dump tego carta
nie jest powszechnie dostepny. Trzeba bylo wiec zrobic autopsje.
Jako ze z NES-em nie mialem do czynienia od dobrych pieciu lat, musialem troche poszperac w
starych papierach by znalezc opis zlacza i mape pameici NESa.
Na pierwszy ogien poszlo zrobienie schematu carta - sprawa prosta, tylko troche nudna:

Dokladniejsza wersja w pdf dostepna jest tutaj.
(oznaczenia pinow wyjsciowych PAL-a sa zmienione w stosunku do powszechnie obowiazujacego schematu opisu,
ale bede sie dalej konsekwentnie trzymal tego co na schemacie).
Nastepny etap to wylutowanie ukladow (Mask ROM do odczytu i PAL do analizy). Dwie minuty zabawy z heatgunem
i gotowe. Po przypisaniu skladance mappera nr 15 (podobnie jak 100in1 Contra) mozn abylo pograc w wiekszosc gier,
ale czesc miala uszkodzona grafike (przykladowo Urban Champion):

Po glebszej analizie problemu, okazalo sie ze poprawna grafika ladowana jest do character ramu (kod opdowiedzialny
za wyswietlenie menu poczatkowego kopiuje takze (po wybraniu gry) odpowiednia grafike z ROM (carta)do RAM(carta) - podobie jak
w kilku innych multicartach), natomiast sama gra ja uszkadza, wymazujac czesc fontow. Jako ze mozliwosc zapisu do
character ramu jest sterowana przez PAL kolejnym krokiem byla analiza jego dzialania.
Tutaj mozna znalezc "bruteforce" dump 16L8, przy zalozeniu ze bity adresu 0-9 to
wejscia PAL-a I1-I10, a bity adresu 10 i 11 to wyjscia PAL-a O5 i O6 (uzywane jako wejscia - taka mozliwosc daje 16L8).
W kwestii blokady dostepu do character ram (6264) interesuje nas tylko wyjscie O7. Analizujac dump PAL-a mozna latwo zauwazyc
ze zapis do character ramu jest mozliwy tlyko gdy sygnal (na zlaczu carta) CHR /WR ma poziom niski oraz gdy zawartosc latchy
1 i 2 (74174) jest rozna (D1 ^ D2 rowne 1). Istotna jest tylko druga czesc (latche) - sa one ladowane najmlodszymi bitami linii adresowej przy
zapisie do rejestru sterujacego carta (mapper 15 to rejon $8000-$8003). Po wprowadzeniu odpowiednich poprawek do emulatora (wybralem opensourcowy
NesterJ ) gry wreszcie zaczely wygladac dobrze :



Pozostala jeszcze analiza reszty sygnalow wyjsciowych PAL-a, ale to moze innym razem.
Calkiem mozliwe ze cart jes od dawna zrzucony i dostepny a mapper dokladnie opisany - w kazdym badz razie
mialem troche milej zabawy ze sprzetem ktory naprawialem przed laty ;)
Na tej stronie NIE MA romu z 168in1, jak rowniez zmodyfikowanego emulatora.