最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Game and Watch 改機教程

2023-08-25 14:01 作者:食人魔修補匠  | 我要投稿

最近買了一臺塞爾達的Game and Watch,到手之后發(fā)現(xiàn)可玩性很高; 可以破解后刷入RetroGo模擬器系統(tǒng)。玩一些FC、GB、MD的游戲,我自己試了試,非常有趣。 在這里記錄一下操作的步驟,供大家參考

準(zhǔn)備工具:

  • 一臺25周年紀(jì)念版Game and Watch,馬里奧或塞爾達都行(想也知道)(推薦塞爾達,按鍵多,而且便宜)

  • 多批頭螺絲刀(拆機用,必須有小十字和小Y字頭)

  • 一臺可以聯(lián)網(wǎng)的Windows10電腦(必需)

  • 良好的網(wǎng)絡(luò)環(huán)境(必需)

  • ST-LINK調(diào)試器V2(必需)

  • 電烙鐵或者熱風(fēng)槍,焊錫,焊膏,隔熱膠布等材料(必需)

  • 一些杜邦線(必需,用于連接調(diào)試器)

  • ROM芯片(升級ROM需要)

  • 34AWG漆包線,可以引出D+和D-的TYPE-C轉(zhuǎn)接板(改USB燒錄需要)

目錄:

  1. 安裝WSL2以及相關(guān)組件

  2. 拆機連接調(diào)試器

  3. 準(zhǔn)備環(huán)境

  4. 破解和備份

  5. 升級ROM

  6. 安裝原生系統(tǒng)

  7. 安裝retro-go

  8. 改USB燒錄

  9. 轉(zhuǎn)換 Game and Watch 游戲

  10. 芯片選擇

  11. 參考資料

1. 安裝WSL2以及相關(guān)組件

安裝WSL2

如果您的系統(tǒng)是原生linux,您可以直接跳過這一步

本步驟基本參考微軟官方文檔:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual#step-1---enable-the-windows-subsystem-for-linux

備注:以下指令請在管理員權(quán)限的PowerShell中執(zhí)行

1. 啟用適用于 Linux 的 Windows 子系統(tǒng)

2. 檢查運行 WSL 2 的要求

請參考上文說的文檔,這里就不粘貼了

3. 啟用虛擬機功能

備注:WSL2需要BIOS中啟用虛擬化,請進入BIOS并啟動虛擬化相關(guān)功能,如果不會,請百度 BIOS 虛擬化

4. 下載并安裝 Linux 內(nèi)核更新包

該步驟之前可能需要重啟

下載適用于 x64 計算機的 WSL2 Linux 內(nèi)核更新包:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

如果這一步出現(xiàn)問題,可以重啟電腦重試

5. 將 WSL 2 設(shè)置為默認(rèn)版本

WSL 的一些基礎(chǔ)指令看這里:https://learn.microsoft.com/zh-cn/windows/wsl/basic-commands#set-wsl-version-to-1-or-2

在WSL上安裝ubuntu-22.04

以下步驟會花費一些時間,并需要良好的網(wǎng)絡(luò)環(huán)境,請耐心等待安裝完成

如果卡在了下面的畫面,可以試試敲下回車

接下來,輸入用戶名和密碼,完成安裝

安裝用于直通USB到WSL的組件

以下步驟來源于微軟官方文檔:https://learn.microsoft.com/zh-cn/windows/wsl/connect-usb

Windows端

該步驟需要手動同意條款,請注意檢查進度

完成后,請順便更新內(nèi)核

Ubuntu端

附加 USB 設(shè)備

本步驟需要在插入調(diào)試器之后執(zhí)行,不過你也可以先測試一下安裝是否成功

現(xiàn)在請先打開Ubuntu的終端窗口,確保WSL處于活動狀態(tài)

重新以管理員模式打開 PowerShell 并輸入以下命令,列出所有連接到 Windows 的 USB 設(shè)備

您應(yīng)該會看到如下輸出

選擇要附加到 WSL 的設(shè)備 BUSID,然后運行此命令。該步驟會斷開USB設(shè)備和Windows的連接,并連接到WSL上

對于我們來說,就是找到調(diào)試器的總線ID并連接,如果遇到以下報錯,請按照提示升級內(nèi)核,并重啟WSL

打開 Ubuntu(或首選的 WSL 命令行),使用以下命令列出附加的 USB 設(shè)備:

在 WSL 中完成設(shè)備使用后,可物理斷開 USB 設(shè)備,或者在管理員模式下從 PowerShell 運行此命令:

拆機連接調(diào)試器

拆機

擰下四顆螺絲,打開Game&Watch后蓋
斷開電池的連接

斷開喇叭的連接(需要拆焊)
斷開屏幕的排線
斷開背光的排線
擰下8顆螺絲,拆出主板

焊接調(diào)試針腳

引出如下針腳,左側(cè)為馬里奧機器,右側(cè)為塞爾達機器

針腳定義

請不要連接VTREF針腳!?。?!

請不要連接VTREF針腳!?。?!

請不要連接VTREF針腳?。。?!

只連接SWDIO, SWCLK, GND這三個針腳到調(diào)試器即可。焊接好后效果如下圖所示:

我是用的排針,也可以選擇直接焊線

連接調(diào)試器到電腦

上一步驟做完后,將調(diào)試器插入電腦,并參考上面 附加 USB 設(shè)備?章節(jié),把調(diào)試器掛載到WSL下

準(zhǔn)備環(huán)境

網(wǎng)絡(luò)環(huán)境

整個流程需要良好的網(wǎng)絡(luò)環(huán)境,如果你沒有良好的網(wǎng)絡(luò)環(huán)境但是windows上面安裝了clash,可以在ubuntu系統(tǒng)下按照以下步驟操作,讓W(xué)SL連接Clash for Windows,IP地址請按照自己的機器修改

安裝patch版的openocd

該工具用于連接調(diào)試器,項目地址:https://github.com/kbeckmann/ubuntu-openocd-git-builder

安裝依賴:

安裝步驟:

現(xiàn)在openocd應(yīng)該已經(jīng)安裝到了 /opt/openocd-git/bin/openocd,為了方便后續(xù)使用,我建議執(zhí)行以下步驟并重啟shell

破解和備份

破解并備份G&W的原生ROM

項目地址:https://github.com/ghidraninja/game-and-watch-backup

安裝依賴:

克隆本地庫:

操作

該步驟默認(rèn)已經(jīng)完成 G&W->調(diào)試器->PC->WSL 的連接,如果沒有,請參考上文

接下來,你需要斷開G&W的電池連接,并使用TYPE-C進行供電(因為電池會干擾備份破解步驟)

其實下面步驟在項目的GitHub頁面有詳細(xì)的描述,我這邊只是撿重點翻譯一下

斷開電池的連接,使用type-c供電

基礎(chǔ)檢查,確認(rèn)環(huán)境和機器可用:

備份 SPI flash 的內(nèi)容,不會修改設(shè)備

備份內(nèi)部 flash,這一步會修改 SPI flash 的內(nèi)容,在步驟 5 之前,設(shè)備不可用

解除設(shè)備保護,會擦寫內(nèi)部 flash

還原系統(tǒng)

完成后,dump出來的文件會保存在 backups?目錄下,請妥善保管

排障

只要電路連接正確+沒有短接或者超壓,大概率設(shè)備可恢復(fù)

如果腳本失敗,設(shè)備重新上電也沒反應(yīng),嘗試重新執(zhí)行腳本。如果還是失敗,試著在執(zhí)行腳本的時候按住電源鍵。

另外,在執(zhí)行第一步的時候,最好降低適配器的速度。以STLink為例,你可以在openocd/interface_stlink.cfg 的文件末尾加上?adapter speed 100

第 1,2 步出問題

在這兩步,你的設(shè)備沒有被修改,重新上電即可

第 3 步出問題

第?3?步會修改內(nèi)部flash,這一步失敗會讓設(shè)備變磚,執(zhí)行下面的命令來恢復(fù):

如果上述腳本不能連接設(shè)備,試著重新上電,并在執(zhí)行腳本的時候按住電源按鈕。

第 4 步出問題

第 4?步會進行大量擦除,把設(shè)備清空。執(zhí)行步驟5來恢復(fù)設(shè)備

第 5 步出問題

第 5 步一般不會出問題,如果出現(xiàn)問題,嘗試在執(zhí)行腳本的時候按住電源鍵。

在每次嘗試的時候,都可以試試重新上電。

升級ROM

執(zhí)行這一步之前請確認(rèn)你已經(jīng)解鎖了你的Game and Wacth,并且完成了系統(tǒng)備份

強烈建議這一步之前先按照后面的步驟安裝原生RetroGo系統(tǒng),如果焊接有問題的話,RetroGo系統(tǒng)會提示

關(guān)于如何選擇芯片,可以詳見后面的 **芯片選擇** 章節(jié)

首先,請參考 拆機連接調(diào)試器-拆機 章節(jié),拆出主板

主板周圍有超小電容,對技術(shù)沒信心的同學(xué)記得用隔熱膠帶保護一下

塞爾達主板ROM
馬里奧主板ROM

(這里沒圖)拆下原裝ROM

(這里沒圖)升級ROM

(這里沒圖)大容量ROM

安裝原生系統(tǒng)

項目地址:https://github.com/BrianPugh/game-and-watch-patch

這個項目包含一些patch工具,實現(xiàn)在Game and Watch上面同時安裝原生系統(tǒng)和Retro-Go系統(tǒng), 并通過 ← + game?組合按鍵進入第二系統(tǒng)

準(zhǔn)備

克隆本地庫和依賴項目:

安裝Python依賴:

下載 STM32 的驅(qū)動文件

接下來,需要把我們在 破解和備份?這一步dump出來的文件放到當(dāng)前目錄下

馬里奧需要這兩個文件:flash_backup_mario.bin,internal_flash_backup_mario.bin

塞爾達需要這兩個文件:flash_backup_zelda.bin,internal_flash_backup_zelda.bin

燒錄

賽爾達示例代碼:

馬里奧示例代碼:

參數(shù)簡介:

沒法放表格,自己 make help?看吧

跨機器燒錄

馬里奧機器的ROM可以正常刷入塞爾達機器,但是反之應(yīng)該不行,因為塞爾達機器的按鍵更多

安裝Retro-Go

目前支持的模擬器類型如下

多語言版本的retro-go(clone自kbeckmann的項目)

項目地址:https://github.com/olderzeus/game-and-watch-retro-go

安裝嵌入式工具鏈

在該頁面下載依賴庫:https://developer.arm.com/downloads/-/gnu-rm

下載這個文件:gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2

如果用的其他平臺,下載對應(yīng)的就行

拷貝該文件到WSL中,執(zhí)行如下命令:

文件/文件夾名請自行替換?。?!

文件/文件夾名請自行替換?。?!

文件/文件夾名請自行替換?。?!

執(zhí)行完上述步驟后,重新打開終端,如果如下命令能正常完成,說明安裝成功

安裝retro-go

準(zhǔn)備

克隆本地庫和依賴項目:

安裝Python依賴:

燒錄

示例代碼:

參數(shù)簡介:

放不了表格,自己 make help 看吧

順便,請仔細(xì)看GitHub頁面關(guān)于項目介紹的部分,說的很詳細(xì)

關(guān)于EXTFLASH_SIZE_MB和EXTFLASH_OFFSET

這兩個值取決于你的ROM大小 `N` 和原生系統(tǒng)大小 `M`

馬里奧的原生系統(tǒng)為 1MB, 塞爾達的原生系統(tǒng)為 4MB

假設(shè)你的ROM大小為 64MB, 使用馬里奧原生系統(tǒng),那么:

EXTFLASH_SIZE_MB = N-M = 64 - 1 = 63

EXTFLASH_OFFSET = EXTFLASH_SIZE_MB × 1024 × 1024 = 1048576

報錯應(yīng)對

如果相關(guān)文件報錯:parse_roms.py 文件的第354行,ANTIALIAS 需要修改為 LANCZOS

改USB燒錄

為了方便后續(xù)更換游戲,有能力的玩家可以如下操作:

接線把 SWDIO 和 SWCLK 端口引出,飛線連接到 TYPE-C 連接器的 D+ 和 D- 針腳

這樣還有一個好處,能在燒錄的時候通過 TYPE-C 線纜進行充電,而且不用拆機,一舉兩得

TYPE-C 連接器附近有超小電容,記得用隔熱膠帶保護??!

TYPE-C超小電容
偷的圖,無視里面的匹配關(guān)系,只要保證各個連線一致就好
塞爾達機器的 SWDIO 和 SWCLK 位置
馬力歐機器的 SWDIO 和 SWCLK 位置

外部連接方式

調(diào)試器 <--> 手焊連接線 <--> TYPE-C線纜 <--> Game and Watch

內(nèi)部連線

?USB D+ <--> Game&Watch SWDIO

?USB D-?<--> Game&Watch SWCLK

調(diào)試器到USB母座 連線

調(diào)試器-5V <--> USB-VCC

調(diào)試器-SWDIO <--> USB D+

調(diào)試器-SWCLK <--> USB D-

調(diào)試器-GND <--> USB-GND

完成圖:

完成后的主板
完成后整體的樣子

轉(zhuǎn)換 Game and Watch 游戲

RetroGo使用LCD-Game-Emulator來進行模擬,需要LCD-Game-Shrinker先對ROM和Artwork進行轉(zhuǎn)換

項目地址:https://github.com/bzhxx/LCD-Game-Shrinker

準(zhǔn)備

克隆本地庫:

安裝Python依賴:

安裝inkscape:

官網(wǎng): https://inkscape.org/

獲取ROM

作者推薦使用 MAME artwork 和 ROM SM510 family, 請自行尋找.

最終文件分別放在 input/artwork 和 input/rom 文件夾中, 如下所示:

執(zhí)行

轉(zhuǎn)換所有:

轉(zhuǎn)換單個:

轉(zhuǎn)換成功后,會有下面三個輸出文件夾

output:ROM

preview:預(yù)覽

title:RetroGo可用的縮略圖

芯片選擇

本節(jié)信息來自 Reddit - GameAndWatchMods:https://www.reddit.com/r/GameAndWatchMods/wiki/flash-upgrade/#wiki_stock_.26amp.3B_custom_firmware_compatible_bga_chips

轉(zhuǎn)接板資料:https://github.com/DNA64/bga24-to-sop8-adapter

參考資料

GitHub項目:

[BrianPugh/game-and-watch-patch](https://github.com/BrianPugh/game-and-watch-patch)

[ghidraninja/game-and-watch-backup](https://github.com/ghidraninja/game-and-watch-backup)

[kbeckmann/game-and-watch-retro-go](https://github.com/kbeckmann/game-and-watch-retro-go)

[olderzeus/game-and-watch-retro-go](https://github.com/olderzeus/game-and-watch-retro-go)

[bzhxx/LCD-Game-Shrinker](https://github.com/bzhxx/LCD-Game-Shrinker)

[DNA64/bga24-to-sop8-adapter](https://github.com/DNA64/bga24-to-sop8-adapter)

[Upcycle-Electronics/game-and-watch-hardware](https://github.com/Upcycle-Electronics/game-and-watch-hardware)

教程:

[Reddit - GameAndWatchMods](https://www.reddit.com/r/GameAndWatchMods/)

[簡中教程 - mwifi](https://blog.mwifi.top/2022/04/03/g-w-hack)

[繁中教程 - blogspot](https://maxxkao.blogspot.com/2022/02/zelda-game-watch-dual-boot-wip.html)

[英文教程 - linustechtips](https://linustechtips.com/topic/1419163-game-and-watch-mod-flash-with-stlink-and-retrogo-homebrew-install/)

[element14 - Hack the Holidays](https://community.element14.com/challenges-projects/project14/hacktheholidays/b/blog/posts/the-n-o-before-christmas-upgrade-time)

[wordpress - facelesstech (他自己說不推薦,但是我覺得有用)](https://facelesstech.wordpress.com/2022/01/08/game-and-watch-hacking-with-rpi/)


Game and Watch 改機教程的評論 (共 條)

分享到微博請遵守國家法律
双江| 陕西省| 伊金霍洛旗| 梁河县| 微山县| 兴安县| 甘洛县| 綦江县| 贵州省| 碌曲县| 乳源| 许昌县| 永昌县| 融水| 江门市| 广元市| 诸暨市| 登封市| 孙吴县| 涡阳县| 大兴区| 房产| 石楼县| 高平市| 福海县| 喜德县| 汝南县| 上栗县| 永安市| 江阴市| 甘谷县| 遂溪县| 永年县| 曲靖市| 莆田市| 余江县| 临泽县| 翁牛特旗| 晋宁县| 石阡县| 利津县|