Fisher-Price Pixter 的完整保存
摘要
详细记录了 Fisher-Price Pixter 设备及其游戏的首次完整逆向工程、文档化和模拟过程,涵盖了硬件分析、ROM 转储以及软件模拟。
<p><a href="https://lobste.rs/s/jqr0fm/fully_preserving_fisher_price_pixter">评论</a></p>
查看缓存全文
缓存时间:
2026/05/11 07:24
# 保护 Pixter - Dmitry.GR
来源:https://dmitry.gr/?proj=37.+Pixter&r=05.Projects
全面保护 Fisher-Price Pixter
长话短说:首次对 Fisher-Price/Mattel Pixter 设备系列及\[几乎\]所有游戏进行完整的逆向工程、文档化、模拟和保存。
## 目录
浅灰色墙壁前的一塔 Pixter 设备 (https://dmitry.gr/images/pixter_Tower.jpg)
1. Pixter Color (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_2baf88ee1c63546ca79712effac6cbfa)
1. 开端 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_cc13aff3407b034ddc2407758c8e4558)
2. 有时,你会运气爆棚 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_11658198a8f8f9a08fe30c0980c66b2a)
3. 让我看看代码! (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_454b33d484ddef0908f70f63b113c1a2)
4. Pixter Color ROM 分析 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0e63f38d6ef234bf816c36a2bf5d531a)
5. 然后我发现我做了…… (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_c33eb8745dafe3289869e0b28479a00e)
6. 怪异之处愈发离奇…… (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_679c8dff72bf740647d3b20e391147c1)
7. 提取 Color 卡带数据 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_086eb3fcc32720b895d6f0f2f6813627)
8. 启动模拟 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_38f6d2b97882cde2d5836e9ebdcaf75f)
9. “音频”播放 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_58998a44db143cc3ae12c1d8b8a07332)
10. 旋律 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_d035175cc4ff3255ffff430219d9ab56)
1. 与旋律芯片通信 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_de3dc088bf64b15a8f0fa56e8375fc6f)
2. 捕捉音乐 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3251cc60e7092fbcb27456ad274a30cd)
3. 内部旋律 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_6d68f7788eefc98f965438f5fecde4d9)
11. 奇妙地好的屏幕 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_b4b5033b586019bce6f65860c3a707b1)
2. Pixter Multimedia (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_a068d6e9b5f120e3dbc023accff99cfa)
3. Pixter Classic (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_a6fe7ec5ea9ca777e1f9c7aeca04d85a)
1. 从 Pixter Classic 开始 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_26f6ef230a0c6dc79f32188f9553fd16)
2. 奇怪总线 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_23ccbf871cf6b7667f61b815a120b50d)
3. 提取 Classic 卡带数据 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_9ea354d1a6831aea8bcee65b7ed95ad7)
4. 又一个该死的虚拟机 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_818073aee6f40b69c264088254276694)
1. KNOWN_GAME_ID (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_e2fae91a203c925d3833cb71a2dcf055)
2. 又是原生调用 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_648fda3fb9737ee48d1d113c2daa5d85)
5. 什么是“原生”?如何定义“原生”? (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_8a72be755a82b005311f028f93a8d07b)
6. 提取 Pixter Classic ROM (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_faa2e016f3806aaff2d20929337250a1)
1. 没有输出设备如何输出? (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_59d624c6cd382e4dc86e7bf5aa58f6a7)
2. 初步分析 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_de0aeb1392e668548540010155f7f8ad)
3. 内存分页的工作原理 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_40c8cdc3763768475ff69a21f96513af)
4. 一些乐子 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_a6cb3d8088a30c0b2e39bf861ed0cf9a)
7. 识别 SoC (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_7ce1e88f7e2983de3211ce7a595830dc)
8. BEX 总线 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_34c1cb4dd2ed932cc83aeed7a62e6893)
1. 获取 GPBA01B (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_cafce5d3761822d399bdb4c6808d659e)
2. 使用 GPBA01B (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0b75125e634d6e03b56fcbda7c0236e6)
9. Pixter Classic 上的旋律 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_4afd06f67138b3c376e26990bc02a8d0)
10. 编程 Pixter Classic (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_598b74fa3e557edecafbbc54222cd8c0)
11. 卡带上那个奇怪的引脚 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_8157404b5c58e7c65ddfa556a1ba9b82)
12. 廉价的电阻式触摸屏 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_6da11acf64c1546683d14463880e58d7)
13. 超出廉价范围的电阻式触摸屏 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_41a03e6d4c92823a673dd3a2c6de2eb9)
4. Pixter Plus 和 Pixter 2.0 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_9609c9a5e65eacac90e3ef26b8bdd1ea)
1. Pixter Plus (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_5fb3622495865e00985a5ef0ea720d52)
2. Pixter 2.0 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_edead02044d2865cc83783f187156dcb)
3. Pixter Pocket (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0d07bcbb173d6ada475cbdf9b56a4dee)
5. 保护 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_1b4a0007df3cc900ed0b5169c748ff04)
1. 文件格式 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_1bd7f72decec9fb5b51a58447b152d38)
2. 模拟 Pixter Color (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_75021bc37dccf6109ca5d30bca9e15af)
1. 模拟起来有多难? (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_8b4b03dab8731d5a545930bb346c93b6)
2. 保存图像很难 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_6ab1e08c334265c684b731f183fdaa72)
3. 让游戏卡带工作 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_bcd428abd36a6a8a119cc0be57300e74)
4. 音频很难 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_de9a6c794d85800ed1d6fe62f0a5f71c)
5. 那个被诅咒的适配器 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_757eaf543033bbd2ced00ecc3357e58f)
3. 模拟 Pixter Multimedia (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_ddf2b607e60b314b2e3441fbbb90dbb6)
4. 模拟 Pixter Classic (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3da871d2d5e7c4b6626b2c86e9850050)
5. 模拟 Pixter 2.0 和 Pixter Plus (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_842fa846a75c660adc75b11d52e8b1ae)
6. 最后的一些挑战 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_2fd62d94e41f0c101f993e1082d46e45)
1. Music Studio (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_50766bcbcdffac4d96cba8e8f3fc8de3)
2. Symphony Painter (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_12be893a4286b8e99eab7090c1915ea7)
7. Pixter Camera (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_063a2e8e369331d9fc3093481db830d3)
8. 已保护和尚未保护的游戏 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_1e33df9d5766e3621695e745c78fcc80)
6. 下载 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_c20c35ef53bf1b70789ce94e66800147)
1. ClassicDisasm (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_13717d2ca507a951e1b6c47b5b6520e6)
2. ColorDisasm (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_e3136e3d61f6fd8ef48daab3a3775956)
3. PalmosLauncherMulti (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_ed86268ea065cdcea398b20d96f85990)
4. uM23 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_ac08bfa08143e1262d830c5c9525fdd5)
5. uARMpixter (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_c88374913ba6ded33f7e92ee237232d1)
6. uPixter (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_925b0d9543917fe22be53696fa2bf124)
7. 附录 A - Pixter Color VM (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_d1efab40cd24dc5af179b3b1cf73d87b)
1. Pixter Color VM 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_7c49c11c455d1d29458f029c9b041106)
1. TYPE A 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_ff6afe045c88bba2927060f4551f189b)
2. TYPE B 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0c508fb74bead8ca9c3edaf0bb60bf52)
3. TYPE C 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_b611341d39642fca4c4847b1bc3633cd)
4. TYPE D 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_c43f74ed8849f5d505dd220df9c8c7c8)
5. TYPE F 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_71caa16fe86c1c4489b405dd34bb4dac)
6. TYPE G 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_8ae03a82b62b2d0d1e0d4611affe84e0)
7. TYPE H 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_37f95b71a2fc156eb203f7af8d1cda31)
8. TYPE J 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_d17cf323b71de2b828e702783367120b)
9. TYPE K 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_ce8887d6471c3ced7464e20212c38021)
10. TYPE L 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0acd16fd32e7fe652b41f36b3fa69171)
11. TYPE M 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3ac14e6b312b241f3670e0fc9c57a690)
12. TYPE E 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_9e6f1213cadd91067f7b111a9c8c057c)
2. Pixter Color 卡带头部 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_38d27fa1d8dba42b3342d52701dffc96)
3. Pixter Multimedia 卡带头部 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_2c2490b39f1e0340071fbb904d472708)
4. Pixter Color VM 结构 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_b7dbfcd526417903be19409d00981db3)
1. 对象表 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_540a3fd8a58713fc534aa74ccac43b7e)
2. 颜色表 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_76adbe43377689c19c87eb98e6ad6222)
3. 4-to-16 映射 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_cecd8f32879d8f718bc0e4d40093672d)
4. 音频对象 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_219e9c724ce434534461f2d6c64d3070)
5. 字体对象 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_8d7767f6385551dcef0d25d1a3576f43)
6. 较大图像 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_60758479654ec63914dfd27610f4a477)
7. 音频效果 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_d54cec95a0430765d868a06e89468f05)
8. 颜色 UI 布局 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_f239cc6108bd4b847d444d0bb45c3913)
9. UI 设置 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_1b17b7bb5df551b76a33921b371f724d)
8. 附录 B - Pixter Classic VM (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3a7ffaa8719372a4bcd871f56a3d313b)
1. Pixter Classic VM 指令 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_11f29c1e0c0d86095b4fbc33872210fa)
1. ALU 操作 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_5d4a32cc9671c118ff2d9dd2a0335ea6)
2. SPECIAL 操作 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3c6c66956336205250eadc6db2f058b0)
2. Pixter Classic 结构 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_1076098ae2ec16bd4cf65bad9aec2728)
1. Pixter Classic 卡带头部 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_0a3f557e735b3e41e293952dbf1b5687)
2. Classic UI 布局 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_59fca125b572671dc0b979f1f89ce125)
3. Classic 图像和声音查找 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_3e6a10b3d0b455cd80fbde0d1ceda48f)
4. Classic 图像格式和压缩 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_af594a46da7abf34d620d4bf7eb6a7fd)
5. Pixter Classic/2.0 中 EEPROM 的使用 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_24a74f2c1045bfdcbb3fa256c7ba659f)
9. 附录 C - 连接和引脚 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_e0fa38cb27509fd8a99348979616fe55)
1. Pixter Classic 卡带 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_d65120d76c18b5bb18b9d83e97a04037)
2. Pixter Classic 到 Color 适配器 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_36718a2903b413e65908e90463797d7f)
3. Pixter Multimedia NAND 卡带 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_7af9b563398c12c2093d9a44250835f4)
4. Pixter Color 卡带 (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_e7d2f8700e3f0e3be13a3cfdaf2c5a15)
10. 评论…… (https://dmitry.gr/?proj=37.+Pixter&r=05.Projects#_TOC_7e1e75c32bc9b275daf70df8cba8efb5)
## Pixter Color
### 开端
2000 年,著名的美国玩具公司 Fisher-Price 发布了一款名为 Pixter (https://en.wikipedia.org/wiki/Pixter) 的简易绘图导向型儿童手持游戏机。它没有令人脑腐的社交媒体,而是专注于绘图、素描和教育游戏。发布当季的假日季节初始销量为 50 万台 (https://www.orlandosentinel.com/2002/02/01/palm-pilot-for-younger-set-is-hottest-new-toy-2/),表现相当不错。除了让孩子们在播放 catchy 曲调的同时,使用附带的触控笔在 80x80 单色显示屏上绘图外,该设备还允许插入游戏卡带以扩展可能的活动。已知存在 25 款 Pixter 游戏(我不得不编辑维基百科以更正他们的记录)。不久之后,出现了 Pixter Plus,增加了更多内存并扩展了内置游戏。随后又出现了 Pixter 2.0,增加了无线通信功能。这两款设备都没有对设备本身进行根本性改变,所有游戏保持交叉兼容。Pixter 设备的一个酷功能是,你可以在一个游戏中使用其印章和工具绘制图像,将其保存到内部内存,插入另一个游戏,加载它,并在其顶部绘图。所以,你可以字面意义上地在“Cool Wheels”中定制一辆酷炫的汽车,保存图像,然后插入“Barbie Fashion Show”,将一个芭比娃娃放入你的酷炫汽车图像中。这该是多么大的乐趣啊!
2003 年,Pixter Color 发布,增加了彩色功能,屏幕分辨率提高了 4 倍,并采用了新的游戏卡带连接器。随附一个适配器以允许其运行旧游戏,并且完美地运行了它们(像素加倍)!显然,旧的单色 Pixter 无法运行新的彩色游戏。设备的主要目的保持不变——素描和贴纸,并能够将你的作品保存到内存中,只不过现在是彩色的!游戏变得更加先进和复杂。甚至还有一个相机附件!已知存在 32 款 Pixter Color 游戏。2005 年,Pixter Multimedia 发布,增加了更好的屏幕(质量方面,分辨率保持不变)以及又一个游戏卡带连接器(Pixter Color 连接器的超集),允许使用仅限 Multimedia 的卡带。已知存在九款 Pixter Multimedia 独占游戏。
正如我之前写过的那样 (https://dmitry.gr/?r=05.Projects&proj=27.%20rePalm#pixter),我的朋友 Josh 向我指出 Pixter Color 作为潜在的 PalmOS 移植目标,经过大量工作,我成功让 PalmOS 在该设备上完全运行。然而,这不是那个故事!为了让 PalmOS 工作,必须理解设备,找到在其上运行代码的方法,并且在那项研究中,大量工作被用于文档化 Pixter Color。以前,网上有几个地方 (https://emulation.gametechwiki.com/index.php/Pixter) 提到“目前该设备或平台没有模拟器。任何声称提供模拟器的都是骗局!”。很高兴地报告,这不再属实。我要展示的是关于 Pixter 设备工作原理及几乎所有游戏的完整历史保护信息。但是,让我们按顺序来……
### 有时,你会运气爆棚
Pixter Color Slot1A0||2D03A1||4D15A2||6D27A3||8D39A4||10D411A5||12D513A6||14D615A7||16D717A8||18D819A9||20D921A10||22D1023A11||24D1125A12||26D1227A13||28D1329A14||30D1431A15||32D1533A16||34PE135A17||36PE037A18||38nCS239A
相似文章
Reddit r/LocalLLaMA
一位开发者通过定制 ROM 和定点运算,成功在原版 Game Boy Color 上本地运行了量化版的 TinyStories Transformer 模型。
Hacker News Top
# gizmo64k/soulplayer-c64 来源:[https://github.com/gizmo64k/soulplayer-c64](https://github.com/gizmo64k/soulplayer-c64)
# Soul Player C64
**一款在 1 MHz Commodore 64 上运行的真实 Transformer。**
```
.-------.
| O O |
| V |
|..|---|..| # SOUL PLAYER C64
2.5万个参数。
2 层网络。
真实的 Transformer。
从软盘加载运行。
你> 嗨
C64> 你好!这声音不错。真神奇!
```
一个 2 层仅解码器(Decoder-Only)Transformer —— 与 ChatGPT、Claude 和 Gemini 背后的架构相同 —— 采用手写 6502/
Hacker News Top
一款全新的开源 WebAssembly 模拟器,重现 1980 年代 Plexus P/20 Unix 服务器,让用户可在浏览器中运行 SystemV Unix。
Hacker News Top
关于PC Engine (TurboGrafx-16) CPU HuC6280的详细技术概述,这是一款基于65C02的快速8位处理器,涵盖其架构、时钟速度以及与NES和SNES CPU的差异。
Hacker News Top
比较1989年摩托罗拉68000内存映射设计与现代树莓派Pico的设计,突出整数地址分配的奢侈性以及内存规模相似性(192KB对比260KB),同时讨论了架构差异和可行性。