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/)使用最新版本的地图。

## 获取图像并生成切片
创建地图切片层所需的源图像不包含在此存储库中。您需要下载裸片照片
,并且可以按照下文说明从网表生成透明叠加层或直接下载。
首先,在此存储库的顶级目录中创建一个名为 `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, 云资产清单, 交互式地图, 任天堂, 单片机, 可视化, 图像切片, 技术文档, 数字电路, 数据可视化, 游戏机, 电路分析, 硬件安全, 网表, 自定义脚本, 芯片摄影, 裸片照片, 计算机架构, 逆向工程