Released — MacDoom for SE/30

  • Board Nominations
    Nominations have now closed and the results are available here.
  • Hey Guest, MARCHintosh 2026 is upon us. Check out community projects, join GlobalTalk, and have fun!

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
Ok fixed it!! i was writing directly to the video memory buffers but when trying to do this on newer-than-se/30 macs i was writing into addresses that weren’t reliably working.. somehow they worked in 32-bit addressing (via mode32) on my emulated Mac IIcx but not on 24-bit addressing. Anyway I got it sorted out.

Posted a v1.1.0 release just now. No real improvements for SE/30 but I got 256-bit color mode working for color macs, including 68030 color macs. The MacIIcx (emulated) is within noise of FPS/performance compared to the B&W Se/30. Color comes at a negative cost (i.e. a tiny gain in performance) because you save on dithering from color->B&W. All pretty much within noise - but color makes the low quality modes I made for the SE/30 look pretty bad — Simply because with color graphics you can see what you’ve done to the graphics more. But hey pick whatever of the 4 graphics quality modes you want. (Hi, Lo, Quad, Mush).

Hey if it gets Doom working on 68030 color macs that never had it before, it’s worth it.
 

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
I’ve been very curious how performance of this doom port compares to the official Lion Entertainment release from the 90s. Unfortunately those do not support 68030 macs at all (and def. not black and white macs). And I don’t know of any good 68040 emulators that can faithfully reproduce performance (in the way that Snow awesomely faithfully reproduces 68030 performance close to real-world, at least in my experiments).

So the best I could do was use Snow emulating a Mac IIcx, then use WishIWere to pretend it’s a 68040 machine (I picked a quadra 650) so that the Lion version of Doom would run and I could compare performance. Then the Lion version doesn’t let me change the quality settings as low as I can on my port so it’s impossible to compare anything but the highest of settings or two. But the game is pretty unplayable at what I’ll call these Lion “retail doom” quality settings.

Of all the quality settings and tweaks, the biggest was probably a tie between turning OFF ceiling + floor textures and, less surprising, halving or quartering the number of rows and or columns that are being drawn (effectively dropping resolution). Plain black for floors and ceilings works pretty well generally visually, except for areas of toxic slime or lava which now you have very limited awareness of.

So from my seat-of-the-pants feel, MacDoom SE/30 runs significantly better on a 68030 with similar quality settings as the Lion port does. Lion port feels like it runs below 2 fps while MacDoom SE/30 on the same machine feels like it runs at 3-4 fps. Again - the better difference is that beyond running better, you can disable floor/ceiling textures as well as go into lower quality modes so that the game runs around 6-10fps which can really make the difference between non-playable and playable.
 
Last edited:

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
I'm still seeing the same "lock up" Loading WAD file on my Q700 with doom1.wad
Thanks for trying it out — Re the problem — Noooooooooooooooooo!… I need a quadra :D Jurassic park wouldn’t even have happened if they had doom on that quadra
 

YMK

Active Tinkerer
Nov 8, 2021
418
352
63
This is really neat, great work!

I could only get DOOM2.WAD to work. Timedemo doesn't work. I was hoping to get some performance numbers.

With timedemo and other wads, it stays at the black loading screen until I click, then the program exits.

Default graphic options
System 7.5.5
Rominator II
Bolle P33 (50MHz, L2 cache on)
Synchr030/S Rev B. (128MB fast SDRAM)

Is there some hidden FPS counter?
 
  • Like
Reactions: MacOfAllTrades

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
This is really neat, great work!

I could only get DOOM2.WAD to work. Timedemo doesn't work. I was hoping to get some performance numbers.

With timedemo and other wads, it stays at the black loading screen until I click, then the program exits.

Default graphic options
System 7.5.5
Rominator II
Bolle P33 (50MHz, L2 cache on)
Synchr030/S Rev B. (128MB fast SDRAM)

Is there some hidden FPS counter?
Ah timedemo option is misleading. It is hardcoded to look for a specific timedemo .LMP file name and it needs to be on doom 1. Also the timedemo outputs wouldn’t be the traditional doom ones, they’re a deeper detailed log file that only gets produced on debug builds. Id love to have runs from folks on various hardware though. I should make that button work on release builds as well
 
  • Like
Reactions: YMK

YMK

Active Tinkerer
Nov 8, 2021
418
352
63
I see. On my hardware, I'd call it decently playable with the defaults.

What compiler do I need to build this? I might take a shot at full screen 1-bit rendering.
 

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
Doom II is heavier on the machine than doom I from my testing. But 50 MHz I’d expect a heck of a lot more performance than on the stock 16MHz se/30.
If doom II works I can’t imagine doom I not working on your setup.

as for mods yes by all means. The code uses retro68 to cross compile for 68k processors. If you make a change feel free to post an MR or I welcome anyone to fork outright. All the more fun!
 
  • Like
Reactions: YMK

YMK

Active Tinkerer
Nov 8, 2021
418
352
63
Playing with dithering algorithms:

1776230842123.png


Not on real hardware yet, and it does depend on an 8-bit framebuffer. I just got Retro68 compiled. Will try building soon.
 
Last edited:

eric

Administrator
Staff member
Sep 2, 2021
1,228
2,123
113
MN
bluescsi.com
Not sure what I did but it's working now! No change in files - i opened it, did NOT select a wad, noticed there was no cancel button when launching so i had to hit play, and it worked! So is it just some file selection error? It runs buttery smooth, could turn up the size/textures quite a bit I think.

IMG_7936.jpeg
 
  • Love
Reactions: MacOfAllTrades

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
Not sure what I did but it's working now! No change in files - i opened it, did NOT select a wad, noticed there was no cancel button when launching so i had to hit play, and it worked! So is it just some file selection error? It runs buttery smooth, could turn up the size/textures quite a bit I think.

View attachment 27969
Hey! Hmmm “select a wad” you say… ok I think I know what you were doing / where the UI was misleading!! The wad selection is for selecting like extra-level wads (technically PWADs aka patch wads). There is no selection for IWADs (Internal WADs) eg doom.wad, doom2.wad, etc, as it just looks in the root due of the app and looks for a specific list of possible wad file names in a specific order. The fist one it finds in the ordering is the IWAD it will use. I see I did a poor job making this clear in the UI as it could easily imply that’s what I’m asking for with Load Wad button on the splash screen.

my bad on that!! But yes just place whichever doom.wad or doom2.wad or whatever the Plutonium wad file is called etc and it’ll auto find it and use it as your IWAD.

there is no selecting IWAD apart from what you’ve dropped into the root directory.
It’s clear I should update this - probably call out which IWAD it found and maybe even let you select from a dropdown or something up front.

so glad it worked! What are the specs on your machine (cpu and speed)?

finally - in the splash screen UI, go to options and mess with those. Specially the QUALITY (High Low Quad). Technically there is an hidden even worse quality (i called it Mush mode) setting that you can get if you use the in game menu to change the graphics quality.. but since the menu graphics come from what’s built into the game, the in-game menu’s quality settings are:
{Hi, Low, Low, Low} but these map to what is in actuality (Hi, Low, QUAD, Mush).
A few of the UI graphics settings don’t yet work for color (full screen pixel doubling and I think the Halfline option doesn’t work but I’ve already forgotten if I got that going on color yet. All work in B&W. Also - if you set your monitor to 256 grays you can play it in grayscale.
 
  • Like
Reactions: eric

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
Hey! Hmmm “select a wad” you say… ok I think I know what you were doing / where the UI was misleading!! The wad selection is for selecting like extra-level wads (technically PWADs aka patch wads). There is no selection for IWADs (Internal WADs) eg doom.wad, doom2.wad, etc, as it just looks in the root due of the app and looks for a specific list of possible wad file names in a specific order. The fist one it finds in the ordering is the IWAD it will use. I see I did a poor job making this clear in the UI as it could easily imply that’s what I’m asking for with Load Wad button on the splash screen.

my bad on that!! But yes just place whichever doom.wad or doom2.wad or whatever the Plutonium wad file is called etc and it’ll auto find it and use it as your IWAD.

there is no selecting IWAD apart from what you’ve dropped into the root directory.
It’s clear I should update this - probably call out which IWAD it found and maybe even let you select from a dropdown or something up front.

so glad it worked! What are the specs on your machine (cpu and speed)?

finally - in the splash screen UI, go to options and mess with those. Specially the QUALITY and the floor/ceiling textures. A few don’t yet work for color (full screen pixel doubling and I think the Halfline option doesn’t work but I’ve already forgotten if I got that going on color yet. All work in B&W. Also - if you set your monitor to 256 grays you can play it in grayscale.
Also noted: add a cancel button. ESC key does cancel and quits the program from the splash screen but a button would be better. I was low on real estate on the SE/30 screen.
 

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
236
250
63
Note to all - Grayscale works on Doom SE/30. It came for “free” with the color mode (QuckDraw handles the work it seems, as I did nothing special to handle it explicitly).

so for folks with an Xceed grayscale setup or the Bolle awesome card thing, It _should_ work but I don’t have one. I also don’t have a ROMinator etc and someone mentioned it didn’t work for them but I haven’t a way to test directly.