msinger/sm83_map

GitHub: msinger/sm83_map

基于 Leaflet 的 Game Boy SM83 CPU 交互式在线地图工具,支持裸片照片叠加层和网表可视化。

Stars: 0 | Forks: 0

# Game Boy SM83 CPU Leaflet 地图 基于 Web 的 Game Boy SM83 CPU 核心地图,带有叠加层。 基于 [Leaflet](https://leafletjs.com/)、[Leaflet-Minimap](https://github.com/Norkart/Leaflet-MiniMap/)、 [Leaflet-Nanoscale](https://github.com/whitequark/Leaflet.Nanoscale/) 和 [Leaflet-PolylineMeasure](https://github.com/ppete2/Leaflet.PolylineMeasure) 制作。 ## 在线版地图 您可以在[这里](http://iceboy.a-singer.de/sm83_map/)使用最新版本的地图。 ![地图概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/04365f2dbb222718.png) ## 获取图像并生成切片 创建地图切片层所需的源图像不包含在此存储库中。您需要下载裸片照片 ,并且可以按照下文说明从网表生成透明叠加层或直接下载。 首先,在此存储库的顶级目录中创建一个名为 `img_src` 的文件夹,以便我们将源图像 放入其中。`script` 文件夹中的脚本会从该处读取源图像。 从[这里](https://gekkio.fi/files/decapped-chips/Frankenscope/Nintendo_SGB-CPU_01/)下载 Gekkio 的裸片照片 (`SGB-CPU_01_sm83_core_40x.jpg`), 并从[这里](https://drive.google.com/drive/u/0/folders/1deuhwmRb-PVv-K7pEllSLKQda2ft94Mk)的 Google 云端硬盘下载 ogamespec 的 Photoshop 文件 (`DMG01B_Core_Fused.psd`),然后将它们都放入 `img_src` 文件夹(或从那里创建符号链接)。 您可以从[这里](https://iceboy.a-singer.de/sm83_map/img_src/)下载最新的叠加图像 ,也可以自行生成。无论哪种方式,都要将图像放入 `img_src` 文件夹。若要自行生成, 您需要 [dmg-schematics](https://github.com/msinger/dmg-schematics) 存储库中的网表以及 [这里](https://github.com/msinger/nlconv)的转换工具。按照 [这里](https://github.com/msinger/nlconv/blob/master/INSTALL)的描述构建转换工具 (nlconv.exe)。您需要安装 `mono`。 然后进入 dmg-schematics 存储库的 `netlist` 目录并运行 `make sm83-cells sm83-floorplan sm83-labels sm83-wires`。 这将生成四个 PNG 文件:`sm83-cells.png`、`sm83-floorplan.png`、`sm83-labels.png` 和 `sm83-wires.png`。将 它们复制到您的 `img_src` 目录中。 您现在应该拥有以下源图像文件: ``` img_src/DMG01B_Core_Fused.psd img_src/SGB-CPU_01_sm83_core_40x.jpg img_src/sm83-cells.png img_src/sm83-floorplan.png img_src/sm83-labels.png img_src/sm83-wires.png ``` 现在进入 `scripts` 目录并运行对裸片照片应用一些变换的脚本: ``` cd scripts ./transform_die_shots.sh ``` 这些脚本需要安装 ImageMagick!。运行转换后,您的 `img_src` 目录 应如下所示: ``` img_src/DMG01B_Core_Fused.psd img_src/gekkio_sgb_sm83_40x.png img_src/ogamespec_dmg_cpu_b_sm83.png img_src/ogamespec_dmg_cpu_b_sm83_lapped.png img_src/ogamespec_topo.png img_src/SGB-CPU_01_sm83_core_40x.jpg img_src/sm83-cells.png img_src/sm83-floorplan.png img_src/sm83-labels.png img_src/sm83-wires.png ``` 现在不再需要 Gekkio 和 ogamespec 最初的两个裸片照片文件了。新生成的裸片照片 (`gekkio_sgb_sm83_40x.png`、`ogamespec_dmg_cpu_b_sm83.png` 和 `ogamespec_dmg_cpu_b_sm83_lapped.png`)以及 ogamespec 的 拓扑叠加层(`ogamespec_topo.png`)与其他 PNG 叠加层具有相同的尺寸,并且已与它们对齐。 当您的工作目录仍然是 `scripts` 目录时,运行最后一个脚本将所有图像转换为切片: ``` ./gen_all.sh ``` 切片将输出到 `map` 目录中。现在您应该能够在浏览器中打开 `index.html` 文件 以使用该地图。您现在可以删除 `img_src` 目录以节省空间。
标签:CPU架构, Cutter, Game Boy, Leaflet, Mutation, SM83, 云资产清单, 交互式地图, 任天堂, 单片机, 可视化, 图像切片, 技术文档, 数字电路, 数据可视化, 游戏机, 电路分析, 硬件安全, 网表, 自定义脚本, 芯片摄影, 裸片照片, 计算机架构, 逆向工程