sergiopolog/tlcs90-rom-reader
GitHub: sergiopolog/tlcs90-rom-reader
一款利用定制 PCB 和中断劫持机制从东芝 TLCS-90 系列 MCU 中提取内部 ROM 固件的硬件读取工具,主要用于复古街机主板的固件保存与模拟器开发。
Stars: 15 | Forks: 1
# TLCS-90 Internal ROM 读取工具
TLCS-90 ROM Reader 是一款定制工具,旨在读取东芝 TLCS-90 系列 MCU 内部具有的内部 ROM 内容,至少适用于支持该功能的型号。
[
](img/polarity-center-positive.jpg)
[
(使用 [trap15 方法](http://daifukkat.su/blog/archives/2014/09/13/nmk004_rom_dumping_part_5_the_release/))
也使用 **TLCS90-ROM-Reader** 和位于 [adapter/tmp90c840-qfc2sdip](adapter/tmp90c840-qfc2sdip) 的转接板进行了 dump | 2 | [链接](img/mcu-nmk004.jpeg) | | NMK-110 | TMP91640 | SDIP64 | NMK | ddealer & tdragon
(每个都有不同的内部 ROM) | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/ddealer.cpp#L463) 和 [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L6447) | 4 | [链接](img/mcu-nmk110.jpeg) | | NMK-113 | TMP91640 | SDIP64 | NMK | hachamf | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L6801) | 4 | [链接](img/mcu-nmk113.jpeg) | | NMK-215 | TMP90840 | SDIP64 | NMK | sabotenb, bjtwin, macross, gunnail | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L7480) | 4 | [链接](img/mcu-nmk215.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjvegas | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5159) | 2 | [链接](img/mcu-mjvegas.jpeg) | | - | TMP90840 | SDIP64 | Dynax | cafedoll | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5042) | 2 | [链接](img/mcu-cafedoll.jpeg) | | - | TMP90840 | SDIP64 | Dynax | cafetime | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L98) | 2 | [链接](img/mcu-cafetime.jpeg) | | - | TMP91640 | SDIP64 | Dynax | cafebrk | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5340) | 2 | [链接](img/mcu-cafebrk.jpeg) | | - | TMP91640 | SDIP64 | Dynax | cafepara | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5072) | 2 | [链接](img/mcu-cafepara.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjtensin | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/royalmah.cpp#L4868)
*(未被游戏代码使用)* | 4 | [链接](img/mcu-mjtensin.jpeg) | | - | TMP91640 | SDIP64 | Dynax | majrjh | [**是**](https://github.com/mamedev/mame/blob/000c31fae55296ae3a853f2ffbe44a6d46dc7a3a/src/mame/dynax/royalmah.cpp#L4970) | 2 | [链接](img/mcu-majrjhdx.jpeg) | | - | TMP91640 | SDIP64 | Dynax | majrjhdx | [**是**](https://github.com/mamedev/mame/blob/000c31fae55296ae3a853f2ffbe44a6d46dc7a3a/src/mame/dynax/royalmah.cpp#L4955)
*(与 majrjh 的 dump 相同)* | 2 | [链接](img/mcu-majrjhdx.jpeg) | | - | ? | SDIP64 | Dynax | gekisha | 否 | - | - | | - | TMP91640 | SDIP64 | Dynax | tenkai | [**是**](https://github.com/mamedev/mame/blob/88a47305a4a5987fbe0e9160d8dd6b6a9c3a2314/src/mame/dynax/dynax.cpp#L6820)
*(之前已被 dump)*
*(等待使用此方法进行 dump)* | - | - | | - | ? | SDIP64 | Dynax | tenkai2b | 否 | - | - | | - | TMP90840 | SDIP64 | Dynax | ougonhai | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/dynax.cpp#L7021) | 2 | [链接](img/mcu-ougonhai.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjreach | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/dynax.cpp#L6662) | 2 | [链接](img/mcu-mjreach.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjreach2 | [**是**](https://github.com/mamedev/mame/blob/3f9d6b905f18b8800a9420abdd981ee51502d85e/src/mame/dynax/dynax.cpp#L6751) | 2 | [链接](img/mcu-mjreach2.jpeg) | | - | TMP91640 | SDIP64 | Jaleco | avspirit | [**是**](https://github.com/mamedev/mame/blob/afd6f2419ae0572972312e9570d8670b434b9793/src/mame/jaleco/megasys1.cpp#L2734)
感谢 **Tailsnic Retroworks** 提供 MCU 芯片
由*我*进行 dump。 | 4 | [链接](img/mcu-avspirit.jpeg) | | - | TMP91640 | SDIP64 | Jaleco | edf | [**是**](https://github.com/mamedev/mame/blob/df3e2de8e1815f0c22419c298471fbb8776858a2/src/mame/jaleco/megasys1.cpp#L3145)
感谢 **Darren Olafson**
由*我*进行了二次验证。 | 6 | [链接](img/mcu-edf.jpeg) | | MO-91009 | TMP91640 | SDIP64 | Jaleco | 64street | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2297) | 6 | [链接](img/mcu-mo91009.jpeg) | | MO-91021 | TMP91640 | SDIP64 | Jaleco | bigstrik | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2879) | 6 | [链接](img/mcu-mo91021.jpeg) | | MO-91028 | TMP91640 | SDIP64 | Jaleco | chimerab | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2927)
*(与 cybattlr 的 dump 相同)*
感谢 **kuze** | 6 | [链接](img/mcu-mo91028.jpeg) | | - | ? | SDIP64 | Jaleco | chimeraba | 否 | - | - | | MO-91028 | TMP91640 | SDIP64 | Jaleco | cybattlr | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L3049)
感谢 **kuze** | 6 | [链接](img/mcu-mo91028.jpeg) | | MO-91044 | ? | SDIP64 | Jaleco | hayaosi1 | 否 | - | - | | MO-92033 | TMP91640 | SDIP64 | Jaleco | peekaboo | [**是**](https://github.com/mamedev/mame/blob/225c0586cb9f0f3c8fb234736ba2863dffa12c69/src/mame/jaleco/megasys1.cpp#L4424) | 4 | [链接](img/mcu-mo92033.jpeg) | | - | TMP90840 | QFP64 | Toshiba | T1600 Laptop PSU | [**是**](bin/mcu-t1600psu.bin)
使用位于 [adapter/tmp90c840-qfc2sdip](adapter/tmp90c840-qfc2sdip) 的转接板 | 4 | [链接](img/mcu-t1600psu.jpeg) | 如果您发现更多基于此 MCU 系列的设备、有附加信息或成功 dump 了某些内容,请告诉我,以便我将它们添加到上表中,仅供参考。 ## 原型和先前版本 在此过程中,为了了解 MCU 在某些特殊情况下的行为,并对其进行测试不同的攻击,我们制造并测试了几个先前版本的电路板。 ### 版本 1(Proto - 测试板) 这是有史以来制作的第一块板子,其目的是测试 TLCS90 设备的行为,并进行一些简单的攻击尝试,以观察设备在受到攻击时的表现。 [

](img/polarity-center-positive.jpg)
[

(使用 [trap15 方法](http://daifukkat.su/blog/archives/2014/09/13/nmk004_rom_dumping_part_5_the_release/))
也使用 **TLCS90-ROM-Reader** 和位于 [adapter/tmp90c840-qfc2sdip](adapter/tmp90c840-qfc2sdip) 的转接板进行了 dump | 2 | [链接](img/mcu-nmk004.jpeg) | | NMK-110 | TMP91640 | SDIP64 | NMK | ddealer & tdragon
(每个都有不同的内部 ROM) | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/ddealer.cpp#L463) 和 [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L6447) | 4 | [链接](img/mcu-nmk110.jpeg) | | NMK-113 | TMP91640 | SDIP64 | NMK | hachamf | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L6801) | 4 | [链接](img/mcu-nmk113.jpeg) | | NMK-215 | TMP90840 | SDIP64 | NMK | sabotenb, bjtwin, macross, gunnail | [**是**](https://github.com/mamedev/mame/blob/0006fba49565386afa9b66d9fb8e02f744cf7cdb/src/mame/nmk/nmk16.cpp#L7480) | 4 | [链接](img/mcu-nmk215.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjvegas | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5159) | 2 | [链接](img/mcu-mjvegas.jpeg) | | - | TMP90840 | SDIP64 | Dynax | cafedoll | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5042) | 2 | [链接](img/mcu-cafedoll.jpeg) | | - | TMP90840 | SDIP64 | Dynax | cafetime | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L98) | 2 | [链接](img/mcu-cafetime.jpeg) | | - | TMP91640 | SDIP64 | Dynax | cafebrk | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5340) | 2 | [链接](img/mcu-cafebrk.jpeg) | | - | TMP91640 | SDIP64 | Dynax | cafepara | [**是**](https://github.com/mamedev/mame/blob/26072bb747281a3abb519dc2a2c38884b9c5d479/src/mame/dynax/royalmah.cpp#L5072) | 2 | [链接](img/mcu-cafepara.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjtensin | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/royalmah.cpp#L4868)
*(未被游戏代码使用)* | 4 | [链接](img/mcu-mjtensin.jpeg) | | - | TMP91640 | SDIP64 | Dynax | majrjh | [**是**](https://github.com/mamedev/mame/blob/000c31fae55296ae3a853f2ffbe44a6d46dc7a3a/src/mame/dynax/royalmah.cpp#L4970) | 2 | [链接](img/mcu-majrjhdx.jpeg) | | - | TMP91640 | SDIP64 | Dynax | majrjhdx | [**是**](https://github.com/mamedev/mame/blob/000c31fae55296ae3a853f2ffbe44a6d46dc7a3a/src/mame/dynax/royalmah.cpp#L4955)
*(与 majrjh 的 dump 相同)* | 2 | [链接](img/mcu-majrjhdx.jpeg) | | - | ? | SDIP64 | Dynax | gekisha | 否 | - | - | | - | TMP91640 | SDIP64 | Dynax | tenkai | [**是**](https://github.com/mamedev/mame/blob/88a47305a4a5987fbe0e9160d8dd6b6a9c3a2314/src/mame/dynax/dynax.cpp#L6820)
*(之前已被 dump)*
*(等待使用此方法进行 dump)* | - | - | | - | ? | SDIP64 | Dynax | tenkai2b | 否 | - | - | | - | TMP90840 | SDIP64 | Dynax | ougonhai | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/dynax.cpp#L7021) | 2 | [链接](img/mcu-ougonhai.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjreach | [**是**](https://github.com/mamedev/mame/blob/fe923e9b3c464d7e373dd1992c6001b47b572e19/src/mame/dynax/dynax.cpp#L6662) | 2 | [链接](img/mcu-mjreach.jpeg) | | - | TMP90840 | SDIP64 | Dynax | mjreach2 | [**是**](https://github.com/mamedev/mame/blob/3f9d6b905f18b8800a9420abdd981ee51502d85e/src/mame/dynax/dynax.cpp#L6751) | 2 | [链接](img/mcu-mjreach2.jpeg) | | - | TMP91640 | SDIP64 | Jaleco | avspirit | [**是**](https://github.com/mamedev/mame/blob/afd6f2419ae0572972312e9570d8670b434b9793/src/mame/jaleco/megasys1.cpp#L2734)
感谢 **Tailsnic Retroworks** 提供 MCU 芯片
由*我*进行 dump。 | 4 | [链接](img/mcu-avspirit.jpeg) | | - | TMP91640 | SDIP64 | Jaleco | edf | [**是**](https://github.com/mamedev/mame/blob/df3e2de8e1815f0c22419c298471fbb8776858a2/src/mame/jaleco/megasys1.cpp#L3145)
感谢 **Darren Olafson**
由*我*进行了二次验证。 | 6 | [链接](img/mcu-edf.jpeg) | | MO-91009 | TMP91640 | SDIP64 | Jaleco | 64street | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2297) | 6 | [链接](img/mcu-mo91009.jpeg) | | MO-91021 | TMP91640 | SDIP64 | Jaleco | bigstrik | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2879) | 6 | [链接](img/mcu-mo91021.jpeg) | | MO-91028 | TMP91640 | SDIP64 | Jaleco | chimerab | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L2927)
*(与 cybattlr 的 dump 相同)*
感谢 **kuze** | 6 | [链接](img/mcu-mo91028.jpeg) | | - | ? | SDIP64 | Jaleco | chimeraba | 否 | - | - | | MO-91028 | TMP91640 | SDIP64 | Jaleco | cybattlr | [**是**](https://github.com/mamedev/mame/blob/7b047641fe763667882a8c3320ad24163c63d327/src/mame/jaleco/megasys1.cpp#L3049)
感谢 **kuze** | 6 | [链接](img/mcu-mo91028.jpeg) | | MO-91044 | ? | SDIP64 | Jaleco | hayaosi1 | 否 | - | - | | MO-92033 | TMP91640 | SDIP64 | Jaleco | peekaboo | [**是**](https://github.com/mamedev/mame/blob/225c0586cb9f0f3c8fb234736ba2863dffa12c69/src/mame/jaleco/megasys1.cpp#L4424) | 4 | [链接](img/mcu-mo92033.jpeg) | | - | TMP90840 | QFP64 | Toshiba | T1600 Laptop PSU | [**是**](bin/mcu-t1600psu.bin)
使用位于 [adapter/tmp90c840-qfc2sdip](adapter/tmp90c840-qfc2sdip) 的转接板 | 4 | [链接](img/mcu-t1600psu.jpeg) | 如果您发现更多基于此 MCU 系列的设备、有附加信息或成功 dump 了某些内容,请告诉我,以便我将它们添加到上表中,仅供参考。 ## 原型和先前版本 在此过程中,为了了解 MCU 在某些特殊情况下的行为,并对其进行测试不同的攻击,我们制造并测试了几个先前版本的电路板。 ### 版本 1(Proto - 测试板) 这是有史以来制作的第一块板子,其目的是测试 TLCS90 设备的行为,并进行一些简单的攻击尝试,以观察设备在受到攻击时的表现。 [




标签:ROM读取器, 云资产清单, 后端开发, 嵌入式系统, 微控制器, 硬件修复, 硬件工具, 逆向工程