I’ve added PIO support to One ROM Fire - and not just any PIO support, but a completely autonomous PIO+DMA chain that is over twice as performant as the existing CPU-based algorithm.

This is a deep dive into how I use the PIOs and DMA together on the RP2350 for maximum performance, beating any other algorithm I’ve seen for ROM serving on microcontrollers.

I also show off an anomoly that I can’t explain in one of my VIC-II video chips, exposed by this algorithm.

πŸ”— Links

One ROM website: https://onerom.org/

πŸ›’ Buy One ROMs

Keep an eye on my online store if you want to buy One ROMs when they are available:

https://www.packom.net/product/one-rom-ice-usb/

If you sell a version of One ROM, let me know so I can publicise it on youtube and at https://onerom.org/

⏰ Timestamps

00:00 🎬 Introduction
01:25 ⚑ PIO+DMA performance
02:22 βš™οΈ PIO introduction
05:30 πŸ”€ DMA introduction
06:13 πŸ”„ PIO+DMA algorithm
15:58 πŸ’» PIO code walkthrough
26:57 πŸŽ›οΈ DMA configuration walkthrough
34:48 βš–οΈ PIO+CPU comparison
38:53 ⚠️ Marginal video chip?
41:12 πŸ’­ Final thoughts

Video content copyright (c) 2025 piers.rocks Limited. All rights reserved.

comments powered by Disqus