MZ-RH1 定制固件 – 准备好进行测试
Custom Firmware for the MZ-RH1 – Ready for Testing

原始链接: https://sir68k.re/posts/rh1-firmware-available/

经过漫长的开发过程,索尼MZ-RH1 MiniDisc录音机的首个公共自定义固件现已可用!其主要功能是在播放期间直接在RH1的OLED屏幕上显示曲目标题——此前需要使用遥控器才能实现的功能。虽然仅限于拉丁字符(并提供罗马化后的日语片假名),但这显著提高了易用性。 该更新还为主机的菜单添加了基本的曲目控制选项(重复、随机播放),减少了对遥控器的依赖。至关重要的是,该固件包含基于WebUSB的安全安装程序,以及利用JTAG访问和新发现的启动ROM模式的恢复方法。这种“安全网”允许从安装过程中可能出现的变砖中恢复。 该项目现已开源,鼓励社区贡献以进行未来的改进和功能添加。此版本解决了用户长期以来的不满,并为进一步增强RH1的全部潜力奠定了基础。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 MZ-RH1 定制固件 – 准备测试 (sir68k.re) 6 分,由 jimbauwens 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

Custom firmware on the MZ-RH1!

A while ago I wrote about my early experiments with modifying the firmware of the Sony MZ-RH1, mainly driven by one long-standing annoyance: not being able to see track titles on the unit itself during playback. That post demonstrated a proof-of-concept, which was not ready for release.

This time, things are a bit more serious. I’ve now completed the first public release of custom firmware for the MZ-RH1!

The headline feature is exactly what started this whole journey: You can now see track titles directly on the RH1’s OLED displays during playback, without needing the remote.

This works for both standard MD and Hi-MD discs. Seeing titles scroll by on the main unit also feels incredibly right; to me this is how the device was always meant to work.

There are, however, some limitations:

The display controller only supports Latin characters, which is a hardware limitation we can’t bypass in software. Sometimes it is hard to understand Sony…

As a compromise, for MD discs that use half-width Katakana, the firmware will display a romanized version of the track name instead. I know that this is not ideal, but it’s a step up from relying entirely on the remote.

Track control on the MZ-RH1

A small quality-of-life improvement: We now have basic track control options in the main unit menu, including things like repeat and shuffle modes - features that were previously only accessible through the remote.

The goal here is to make the RH1 feel more self-contained and less like it’s missing half its brain when the remote isn’t plugged in (again, thanks Sony…).

Getting features working was only half the work. The other half was making sure people can actually install this firmware without turning their RH1 into bricks.

The original Sony firmware does not include any official firmware flashing functionality. To make this possible, I had to reverse engineer the undocumented flash interface of the CXD2687, figure out how to correctly unlock it, erase sectors, and safely rewrite them.

To help people upgrade, I built an easy-to-use WebUSB-based installer (linked on the bottom of this post). The installer performs extensive validation before and after flashing to minimize the risk of corruption. A lot of the development time went into testing edge cases and, yes, nervously experimenting on my own devices first :P

One of the biggest breakthroughs I had during this project helped make custom firmware far less scary.

I’ve identified working JTAG access on the RH1, and even more importantly, discovered a boot ROM mode that can be enabled by bridging two GPIO lines on the mainboard (HSALF / TP8232 / R853 and WDT / SL901) to ground.

Concretely, the boot ROM allows us to take control of the MCU over USB and execute our own flashing code, which means we now have a practical way to recover devices that would otherwise be considered bricked. I was so happy when I discovered this, as it allowed me to recover one of my RH1’s that I bricked during testing, and also be much more risky in my tests. This feature got used quite a lot in my testing, and because of it I was able to make significant progress.

In other words: we have a small safety net.

This release is just a foundation, solving two major issues that I had. There are many more firmware improvements I want to explore - usability tweaks, deeper control, and features that make the RH1 feel even more like the high-end recorder it always deserved to be. Of course, doing this takes time, and as I’m busy with other projects, you might have to wait.

To avoid myself being a bottleneck, I’ve released all my code and work as open source. This enables others to contributed, or even make their own firmware.

It’s been a long road from “wouldn’t it be nice if…” to actually running custom code on this thing, but we’re finally here.

Have a wonderful MD-day,
Jim

Thank you!

联系我们 contact @ memedata.com