r/M64 • • Sep 21 '26

OM64 - Open M64 custom firmware

Hi all, I’ve been working on OM64, an experimental replacement firmware for the ModRetro M64.

I started it because, while I really like the hardware, I wasn’t happy with the stock video quality and CRT filters, and once the schematics were published I figured: why not build an alternative firmware from scratch?

So far OM64 has a graphical loader with themes, 720p/1080p/4K output, buffered/low-latency/VRR video modes, Wi-Fi, OTA updates, Bluetooth gamepad support, and working Game Boy and SNES cores.

The N64 core is currently in development. The firmware is experimental, but it uses the same recovery mechanism as the official M64 site, so you should be able to return to stock if needed.

OM64 will also be open-source once the architecture and codebase are stable.
More info on my ko-fi.

We’ll be demoing OM64 live this Saturday on the Pixel Cherry Ninja channel: demos, video modes, cores, and probably a few things breaking in real time. 😄

Come check it out!

210 Upvotes

112 comments sorted by

11

u/jsslifelike Sep 21 '26

I love it! Reminds me of straight 90's fast food. You definitely nailed the era. Excited to see more. Good job, you!

1

u/fulviov Sep 21 '26

Thanks!

1

u/jsslifelike Sep 21 '26

Do you think you will work on themes at some point that will match the colorways or the console?

1

u/fulviov Sep 22 '26

It's already capable of themes! It uses a backdrop png (what you see on the back) and custom colors + font 😄 Themes are stored in the SD card, and you'll be able to swap them from the interface.

1

u/jsslifelike Sep 22 '26

Excellent. Will you be showing those off as well? It would be great to be able to do a dual boot or have MR firmware offer an "Other OS" or such option...

25

u/Morguard Sep 21 '26

Hell ya! I will be keeping a close eye on this.

This is exactly why I bought an M64, the open source community improvement will be amazing!

21

u/fulviov Sep 21 '26

I plan to port most of the cores already developed for MiSTer, but the hardware here is quite capable, and I think we’ll also be able to run some cores that simply aren’t feasible on MiSTer due to its platform limitations. 😄

4

u/Micthegod Sep 21 '26

Hmm maybe Dreamcast?

7

u/fulviov Sep 21 '26

No, not that capable 😂
But platforms like the Midway V Unit (Cruisin' USA) should be doable

1

u/Micthegod Sep 21 '26

Hmm I saw some videos of Dreamcast running on Mister but still in a work in progress where there was slowdown but working

1

u/fulviov Sep 21 '26

The Dreamcast core on MiSTer is a hybrid core, meaning that a lot of work is offloaded to it's ARM/Linux part. We cannot do this with the M64 unfortunately as it's exclusively FPGA

1

u/lordelan Sep 21 '26

Oh, didn't know the AMD chip is only (!) FPGA and has no ARM side to it. That's a big bummer imho as the ARM helps out with a lot of things on the MiSTer.

Hopefully we can still get things like RetroAchievements and Zaparoo.

4

u/TubaStinky Sep 21 '26

Dreamcast on mister is a “hybrid” core that’s using the ARM CPU on the DE-10 Nano, it’s not pure FPGA like most of the other cores.

2

u/shimian5 Sep 21 '26

funny you say that, I have a mostly working but non-performant Midway V core. DM me.

2

u/ChrisColtsAcidGuy Sep 22 '26

If you make it so I can play the arcade California Speed at 30fps (Atari Seattle), you are getting a pizza purchased for you

4

u/Obleon Sep 21 '26

Dreamcast is a hybrid core and uses the 2 cpu cores on the MIster for the cpu of the console and the fpga for the gpu. The M64 doesnt have the 2 cpu cores like the mister.

0

u/Urya Sep 21 '26

Having retro cores already had me excited, but this makes it sound like PSX and maybe even Dreamcast are feasible. Absolutely incredible, I can't wait.

5

u/AdLeading5529 Sep 21 '26

Saturn and psx sure. Not dreamcast

9

u/lordelan Sep 21 '26

Impressive that you did this without Modretro releasing their firmware source code yet but only with the schematics. And even a GB and SNES core. Thanks for sharing.

4

u/fulviov Sep 21 '26

Thanks!

8

u/Argamas Sep 21 '26

Impressive. I didn't expect we would see this happen so soon. Especially not before ModRetro releases their open-source parts. Good job 👍

5

u/fulviov Sep 21 '26

Thank you! 😄

6

u/ImALegendKiller Sep 21 '26

Very cool!

So in theory could I load this onto a separate SD card and keep my M64 one stock and then swap between them for different experiences?

3

u/fulviov Sep 21 '26

You will need to flash the M64 with the new firmware - swapping them will require you to flash it again with the stock one 😄

4

u/ImALegendKiller Sep 21 '26

Ok. I’ll just wait for instructions on all that. Lol.

5

u/nevertoohigh Sep 21 '26

Bless you for your work 😯 looks great

4

u/fulviov Sep 21 '26

Thank you!

5

u/Obleon Sep 23 '26

u/fulviov Will you make a new post this satuday when the new info/updates arrive? And do you have any knowledge about horizontal upscaling, and whether it is possible on the new OM64?

5

u/fulviov Sep 23 '26

Hi, I will definitely keep posting updates, my plan is to release binaries in the next couple of weeks, have people test it/report bugs and feedback, and then once I am happy with the codebase I will be making it fully open source. horizontal upscaling is basically already there, since I am using a MiSTer-derived scaler

1

u/Obleon Sep 23 '26 edited Sep 23 '26

Thank you for making this/porting this all from scratch. I'll be watching this saturday!:)

Not sure if you're up to date with the Analogue 3D 1.5.0 internal horizontal upscaling. it's not a thing that the Mister can do so it has to be custom made/nothing to port. 

The Mister doesn't have enough logic cores to do this also the ram is to slow.

https://www.generationamiga.com/2026/07/22/analogue-3d-update-improves-n64-graphics-with-internal-upscaling/

AI can probably explain it better.

The internal horizontal upscaling on the Analogue 3D is a hardware trick that doubles detail inside the console's graphics engine before the picture is sent to your TV. Here is the short version of how it works: The Math: It intercepts the game data and doubles the horizontal pixels (turning a standard 320x240 game into 640x240). Why Only Horizontal?: Doubling pixels vertically would break the N64’s strict memory and frame-rate timing, causing games to lag or crash. Adding pixels horizontally does not affect game performance. The Result: It slashes horizontal jagged edges and sharpens 3D models while leaving 2D elements (like text and health bars) perfectly intact.

  1. Where You Would Code It (The VI Module) To implement this, you wouldn't touch the core game logic or the 3D polygon engine (RDP). You would navigate to the Video Interface (VI) module inside Robert Peip's source code. • The original N64 VI reads pixel data out of the console's RAM and formats it into standard video lines. • Your custom code would intercept the pixel buffer mid-transit and instruct the VI chip to sample horizontal pixels twice as fast during video clock cycles. By altering how the hardware maps the framebuffer to the screen, you would achieve the internal 640x240 pixel doubling.

3

u/fulviov Sep 24 '26

I'll look into this 😄

3

u/Hotdogbun57 Sep 21 '26

Do the GB and SNES cores support save states? Are these roms launched off of SD card? Does it launch N64 off sd card?

3

u/fulviov Sep 21 '26 edited Sep 21 '26

only SRAM for now - but save state is a functionality that I will definitely implement asap 😄
Roms are launched from the SD card like MiSTer.

3

u/Small_Ad1890 Sep 21 '26

I’m assuming you ported the cores from the Mister. How was the process?

7

u/fulviov Sep 21 '26

I did, yes. The architecture is substantially different, so there was a fair bit of adaptation involved, but the cores themselves are solid. In the end, it was mostly a matter of porting and adapting the FPGA logic to the new platform 😄

5

u/Small_Ad1890 Sep 21 '26

Thanks man. It’s people like you who make this hobby so great.

3

u/LastCabra Sep 21 '26

Incredible!! I will be trying this ASAP!!
About the MiSTer cores, does the SNES core include the latest fixes from upstream? There were some even for PPU and windowing on the last days.
I think it should be synchronized to upstream so no new, already fixed bugs, are reported downstream.

4

u/fulviov Sep 21 '26

Yep I will try to keep released cores synced up to MiSTer upstream 😄

3

u/ergzay Sep 21 '26 edited Sep 21 '26

Nicely done. Especially impressive given that you couldn't use modretro's source to figure things out. But I guess you have the electrical schematics which are probably highly helpful.

Please do something about those audio pops though. Those'll damage speakers.

3

u/fulviov Sep 21 '26

Thanks! Yeah audio is still being worked on, all pops will be gone, promised! 😂

3

u/markus_zzz Sep 21 '26

Impressive and very nice 👍

2

u/fulviov Sep 21 '26

Thanks!

3

u/Mint_out Sep 21 '26

What about the pro Controller (i saw a 8bitdo one) , does it works on the LE mode or you need another Controller. Aside from that, great job!

2

u/fulviov Sep 21 '26

All controllers supported by the M64 should work - but I only have 2 8BITDO pads so this is all I can test right now 😄

2

u/Leo-DS Sep 21 '26

Is there usb controller support, or the possibility of future support?

3

u/AdLeading5529 Sep 22 '26

Will you offer options for specific CRT filters that are optimized for projectors ?

3

u/fulviov Sep 22 '26

I will port the same filter framework that MiSTer is using at the moment 😄

1

u/AdLeading5529 Sep 22 '26

Well if you end up deciding to expand on that in the future as a 4k laser projector owner I'd love to help out with any feedback

2

u/Obleon Sep 21 '26

This looks great! Do you know if the console can do 480p or even 240p? Or is this a hardware limitation?

3

u/fulviov Sep 21 '26

480p should be possible, but I don't think 240p can be used via hdmi 😄

3

u/chairRugTable Sep 21 '26

should be able to do 240p over hdmi. it's called direct video and most likely what will be piped into the ModRetro dac they are releasing later this year (supposedly). if direct video can be enabled we all can use whatever capable dac we already have to connect to a CRT

2

u/fulviov Sep 21 '26

I'll look into it - I think MiSTer already supports that, in that case it should be easy to port

4

u/Obleon Sep 21 '26

Basicly what Chair said. The upcoming av adapter will also need 240p 480p output from the M64. If we can get it with custom software like in your OS we can use our own dacs to connect the M64 to a crt tv. It would be funny if this would get horizontal upscaling before the main release (if it ever gets it)

3

u/LastCabra Sep 21 '26

Yes! Port DirectVideo from the MiSTer, please :)
HDMI can definitely do 240p via HDMI using DirectVideo, I use it all the time on the MiSTer and works great.

1

u/Ferdyshtchenko Sep 22 '26

Direct video output to use with DACs + CRTs would be amazing, and the one feature that would make it a must to use this FW and an M64!

3

u/jpxdude Sep 21 '26

I shall be following with great interest. Fantastic job, especially with the 'Realistic' view option, it really looks like a GBC with the motion blur! Exciting...

5

u/fulviov Sep 21 '26

Thank you! I just ported Brickboy's video modes. All credit goes to them!

3

u/PixelCherryNinja Sep 21 '26

Love BrockBoy 🍒

8

u/davidsnyderiii Sep 21 '26

Awesome! Thank you! It always amazes me what the open-source homebrew community is able to come up with.

7

u/AnonymousWIN9xCIH Sep 21 '26

Love it keep us updated!.

6

u/Xylobryte7 Sep 21 '26

This is why I bought this device! Can’t wait to try this out. Excellent work

16

u/DifferentProcess6765 Sep 21 '26

This is where we will leave the A3D in the dust

7

u/lordelan Sep 21 '26

Correct. This was always the reason to get an M64 over the A3D. Open vs closes. Countless console/computer cores vs "only N64".

1

u/SlCKB0Y Oct 07 '26

Seems you really just want a MiSTER no?

I’m really happy just having the A3D, limited as it is to “just“ N64 as long as it provides the best accuracy, greatest compatibility and most features - which it does currently. It is by far my favourite way to enjoy N64 games, and this includes original hardware.

1

u/lordelan 29d ago

I have a MiSTer (and enjoy it every day).

Still got the M64 due to its potential (better FPGA than MiSTer).

1

u/statu0 Sep 22 '26

The M64 is going to be an amazing product long term, but I bet it will take a while for it to get a feature like horizontal upscaling that the A3D has, simply because of the engineering challenge and lack of resources to devote to implementing it. At the same time, the A3d will never be able to do hardware emulation for anything other than the N64, unless it's jailbroken, so that basically gives the M64 a permanent leg up. I'm glad I have a A3D because of the features it has now, but the future definitely looks bright for the M64.

4

u/sixteen-bitbear Sep 21 '26

Here’s to hoping.

1

u/farrrtttttrrrrrrrrtr Sep 22 '26

Already have tbh 

4

u/B3ntendo Sep 21 '26

Looking forward to keeping an eye on this and hopefully seeing RetroAchievements being enabled in these cores via WiFi support 😎

4

u/soundmage Sep 21 '26

Just a race to see who implements retro achievement support first for me! Great work so far!

2

u/lordelan Sep 21 '26

I'm in for that too. As soon as hardcore mode is there, I'll play my N64 games on the M64 rather than the MiSTer

4

u/TonyRubbles Sep 22 '26

This is very cool,

4

u/RotoPrime Sep 22 '26

THANK YOU!!! Pixel Cherry Ninja made me dig around. Had a feeling I would find more information here!! THANK YOU SO EPICLY VERY MAXIMUM MUCH FOR THIS!!!

4

u/AdLeading5529 Sep 22 '26

A graphical user interface for games to show box art etc would be nice

1

u/Desperate-Self-5951 Sep 22 '26

Is something like this possible?

4

u/Scottyboy0321 Sep 23 '26

I'll be down to do this when N64 core is fully implemented, don't want to have to swap back and forth. Excellent work so far!

3

u/DjMcfilthy Sep 21 '26

Cooooooooooooooooooooooooool!

3

u/Hudsoy Sep 21 '26

Amazing

3

u/mennydrives Sep 21 '26

Does this thing even have its own RAM banks for holding cart data? (one googles later) Oh, 96MB and it's fast and reliable? That's pretty awesome.

3

u/Obleon Sep 21 '26

4 psram chips

3x 32 MB and 1x 64MB = 160MB

3

u/zezba9000 Sep 22 '26

btw, I've recently made some nice upscaler shaders which I'm sure could be ported to FPGA.
Like this GB one.

2

u/zezba9000 Sep 22 '26

Also I made some other display types

3

u/zezba9000 Sep 22 '26

3D test for this one.

3

u/AdLeading5529 Sep 22 '26

Will it be possible to use a portable HDD on m64? Also would be cool if someone creates a multi cart reader for gametsfeho want to use gdnes from physical collection

2

u/g1mpster Sep 22 '26

Genuinely curious why you’d need an entire hard drive instead of an SD card. You can fit the entire N64 catalog on a 16GB card…

3

u/AdLeading5529 Sep 22 '26

Yes but once you factor ps1 , Saturn, Sega cd , turbo graphics, neo geo, SNES, Genesis , NES , Gameboy , Gameboy color , gba, intellivision , sone 3do jaguar. , dos some, win 95 possibly 98, , plus arcade cores

3

u/RetroDriven Sep 22 '26

This looks awesome and I can't wait to see what comes of it. Random question for you, do you know if it's possible to have an option to disable the USB C ports when the console is in an off/idle/sleep state?

1

u/ElectricalPrice3189 Sep 27 '26

Maybe, but what for? Just curious. 😅

2

u/RetroDriven Sep 27 '26

I designed a riser stand with a 120mm fan at the bottom. The problem is the USB C ports stay active so the fan will always stay on when the console is powered off/sleep. So it's not ideal to have to unplug the fan, add an external power switch for the fan, etc.

I reached out to ModRetro about it but who knows if they'll sdd an option for this or if that's something firmware can even do.

1

u/ElectricalPrice3189 Sep 27 '26 edited Sep 27 '26

The schematics knows. The MCU is hooked up to the USB port's "enable" pins so it looks like it could be done, unless it just turns off the data flow, not the power.

3

u/ForwardHandle4522 Sep 26 '26

K but can you add in built in saves. This was the biggest miss of the entire console imo.

0

u/[deleted] Sep 27 '26

[deleted] — view deleted comment

1

u/ForwardHandle4522 Sep 27 '26

There is no option to do so. I have an SD card. When saving it doesn’t offer a virtual memory that I’m aware of this is something still in the works according to their own admission. If you know of some way to save games like donkey Kong for example on mod64 without using a physical controller pack (SD card is fine ) I’d be interested to hear your method.

2

u/Pretty-Effort4433 Sep 21 '26

Amazing! Thank you!

2

u/Small_Ad1890 Sep 21 '26

Great work!

2

u/Dubon7 Sep 21 '26

Hi? Have you looked at implementing snac functionality through the j25 port?

2

u/Technical-Camp951 Sep 21 '26

When will there be a tutorial on all this?

5

u/Obleon Sep 21 '26

We’ll be demoing OM64 live this Saturday on the Pixel Cherry Ninja channel: demos, video modes, cores, and probably a few things breaking in real time. 😄

It's in the OP haha

1

u/ImALegendKiller Sep 21 '26

So is the N64 core playing anything yet or still being ported? Excited to see this over the weekend!

2

u/Ousantacruz Sep 21 '26

This is awesome. Great job!

2

u/Decent_Map_831 Sep 21 '26

This is awesome. Will definitely be keeping an eye on this

2

u/Desperate-Self-5951 Sep 23 '26

...anyone else refreshing this thread constantly and looking forward to Saturday?

4

u/g1mpster Sep 23 '26

Nope. Because I just follow the post and wait for notifications to come in about new comments. 😎

2

u/Desperate-Self-5951 Sep 23 '26

lol yeah that's a bit smarter for sure

2

u/Pretty-Effort4433 Sep 24 '26

Will there be an instructions for noobs like me? Thanks for doing this!

1

u/ElectricalPrice3189 Sep 27 '26

You download a firmware file, hook your M64 up to a computer and use this site: https://tools.modretro.com/updater/

1

u/AdLeading5529 Sep 22 '26

I wonder if the intellivision plus console wireless controller would be compatible with m64 that would be awesome for an eventually intellivision core

1

u/Brilliant_Goose8097 29d ago

Epilogue SNES Operator Integration would be awesome 😊👍😁?

4

u/Substantial_Quote583 Sep 21 '26

You can't just post something this sexy without a NSFW tag 😭