Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

pipetogrep

macrumors 6502
Original poster
For years, I've been wanting to see the DOSBox PPC JIT patches brought into Boxer. For those who have not tried it, it's a really nice OS X interface that makes using DOSBox easier. Today, I would like to introduce the availability of a functional release of the Leopard Legacy branch of Boxer that does just that! You can see the peformance before and after the PPC JIT compiler in the attached screenshots.

It backports the work of jmarsh on vogons and the patch that built on this work distributed by Dr. Cameron Kaiser on SourceForge.

It can be downloaded from https://github.com/llamallama/Boxer-PPCJIT/releases/download/v2.0.0/Boxer.PPC-JIT.zip. You can also find it on Macintosh Garden https://macintoshgarden.org/apps/boxer-leopard-legacy-ppc-jit-patched.

The source code can be found at https://github.com/llamallama/Boxer-PPCJIT.

AI TRIGGER WARNING! I cannot take all of credit for this. Most of the credit goes to:
  • Aline Bee for Boxer
  • jmarsh on Vogons for the original PPC dynrec work.
  • Dr. Cameron Kaiser for sharing the patch and precompiled DOSBox binaries on SourceForge.
  • Claude Code for the Objective-C, C++, and PPC assembly grunt work that's well past my qualifications. As much as I loath AI, I'm honest enough to say I tried this project before these tools existed and failed. This was an experiment to see if the marriage of two of my favorite open-source projects was finally possible with an assist. Some will be upset by this. I'll be too busy playing DOS games on my G4 with a working JIT to care.
What I did contribute was directing the clanker through multiple attempts and dead ends. I designed the build pipeline (Snow Leopard VM to Claude to my souped-up PowerMac G4 Gigabit, Gladys), and refusing to accept AI's first "found it!" claims when the bugs clearly werent't fixed. The patch itself was straightforward to apply. The hard part was hunting two Boxer-side regressions that the upstream patch couldn't have known about, which took real iteration on real hardware. Even with the AI assist this took time and patience.

With all that out of the way, please enjoy PPC JIT enhanced Boxer on your 10.5 PPC Mac!
 

Attachments

  • PC Player Benchmark without JIT.png
    PC Player Benchmark without JIT.png
    149.4 KB · Views: 61
  • PC Player Benchmark with JIT.png
    PC Player Benchmark with JIT.png
    237.5 KB · Views: 47
  • Doom Benchmark without JIT.png
    Doom Benchmark without JIT.png
    45.6 KB · Views: 46
  • Doom Benchmark with JIT.png
    Doom Benchmark with JIT.png
    42.8 KB · Views: 44
Last edited:
@pipetogrep I am so glad you took this on! For the longest time I have been running dosbox with JIT or boxer but never both . Boxer brings the convenience of a front end presentation layer to dosbox and with JIT now we can enjoy games at higher frame rates. Thank you everyone that contributed including world ending AI 😅
 
An update! I've forward ported DOSBox SVN r4301 (what the PPC JIT patch was intended for) into Boxer's leopard_legacy branch. This brings 9 years of DOSBox development into that branch bringing it up to the Dec 10 2019 release. The previous version I released was the 0.74 release which was released on May 12, 2010. The release notes are as follows:

Bumped Boxer's embedded DOSBox from 0.74 to SVN r4301, then re-applied the PPC JIT on top.

v1.0.0 got jmarsh's JIT working on Boxer's old 0.74 base, but the patch was written for r4301 and was reconciled against an older tree it was not designed for. v2.0.0 fixes that. Boxer now uses the r4301 base the patch was authored for, so the patch applies the way it was meant to.

The JIT code is unchanged from v1.0.0. The roughly 17 percent speedup (Quake timedemo 7.4 to 8.7 fps on my G4) comes from ~700 revisions of upstream DOSBox improvements that rode along with the newer base, not from the JIT. You also get MAME-accurate OPL3/Tandy/CMS sound and a near decade of upstream compatibility fixes.

Credits as before: Aline Bee for Boxer, jmarsh for the PPC dynrec, Dr. Cameron Kaiser for the patch and binaries. The AI did the work. I directed it, built the pipeline (Snow Leopard VM to Claude to the G4), tested every change on real hardware, and found two Boxer-side regressions on the G4: broken subfolder game launches and a hang when quitting during a DOS choice menu.

v1.0.0 still stands as the JIT-on-0.74 release. This supersedes it. Please enjoy a newer and improved DOSBox in PPC Boxer.
I've edited the original post to include the new link but here it is if you don't feel like scrolling up. https://github.com/llamallama/Boxer-PPCJIT/releases/download/v2.0.0/Boxer.PPC-JIT.zip
 
Last edited:
  • Like
Reactions: Melchieor
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.