
#014 - Devkit dla STM32H7... od Nintendo? #1
Aktualnie (maj 2021) na rynku mikrokontrolerów i ogólnie elektroniki jest dość spore zamieszanie z brakiem komponentów. Devkitów to chyba jeszcze nie rusza, ale kto wie - więc może znajdą się gotowe urządzenia, które w łatwy sposób da się wykorzystać do innych celów niż przewidział to producent?
Game and watch 2020 - co to?
Jest to “reedycja” retro “konsolek” do gier (w właściwie gry - jedna “konsolka” to jedna gra) od Nintendo.
U nas popularne były podróby tego urządzonka - tzw. “ruskie jajka” z postaciami z “Wilka i zająca”:
Dość podobna historia jak z Nintedo NES i “pegazusami” z targu.
Co do Game And Watch jeśli chodzi o jej “domyślne” przeznaczenie - recenzja z portalu arhn.eu: https://www.youtube.com/watch?v=k-tu20_qwvQ.
Jednak skoro znajduje się tu jej opis - to oprócz “domyślnego” zastosowania - znajduje się “ukryte” - otóż konsolka została bardzo szybka zarówno zhakowana jak i “zDoomowana”.
Okazało się, że pomimo szyfrowania zewnętrznej pamięci FLASH i blokady odczytu wewnętrznego FLASHa dość łatwo udało się to wszystko pobrać.
Polecam filmik na ten temat od autora hacka: https://www.youtube.com/watch?v=IGehmL66uVw. Jeśli ktoś nie miał do czynienia wcześniej z ReverseEngenieringiem - zapozna się z nowymi ciekawymi pojęciami - nie będę dublował tutaj opisu z filmiku.
Społeczność opracowała zestaw skryptów, który bezpiecznie pozwala zrobić kopię zapasową oryginalnego oprogramowania - do pobrania z GitHuba: https://github.com/ghidraninja/game-and-watch-backup.
Jako ciekawostka - w międzyczasię trochę się to nie spodobało firmie Nintendo i filmiki były regularnie kasowane z youtube - więcej o tym: https://www.youtube.com/watch?v=sVkFGajsnW8.
Użycie jako devkit
Społeczność świetnie odtworzyła schematy urządzenia, układ ścieżek itp, wszystko do znalezienia tutaj: https://github.com/Upcycle-Electronics/game-and-watch-hardware.
W skrócie siedzi tam dość mocny STM32H7 - z ~1,3kB RAMu i 128kB FLASHa - nietypowa dysproporcja RAMu i FLASHa wynika z tego, że jest on przeznaczony do aplikacji z LCD i umieszczeniem buforów z obrazem wewnątrz procka.
Dodatkowo na płytce znajduje się pamięć FLASH - na start pojemność to 1MB, ale bez problemu można przelutować większą w razie potrzeby.
Mając do dyspozycji pełną dokumentację płytki, a także skoro nie trzeba się obawiać o utratę domyślnego oprogramowania platforma może posłużyć do celów prototypowania itp.
W sieci znajdują się projekty uruchamiające np. emulatory NESa (i co za tym idzie zamiast tylko mario konsolka może uruchomić prawie każdą grę) i innych starych gier.
W przyszłości przedstawię jak na tej płytce uruchomić bibliotekę TouchGFX - wyklikując krok po kroku konfigurację w STM32CubeIDE i dopisując potrzebne biblioteki (jak dodatkowa konfiguracja LCD po SPI itp).