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.

obr

U nas popularne były podróby tego urządzonka - tzw. “ruskie jajka” z postaciami z “Wilka i zająca”:

obr

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.

obr

obr

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).