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!

patters

Tinkerer
Feb 3, 2025
56
47
18
Finally made time to sit down and try this out, but sadly my SE/30 has only 20MB of RAM. When you say you'll reduce the 64MB requirement, do you expect a machine like mine to be able to run the game eventually? I seem to remember that 4MB was enough on a DOS PC back in the day, so 20MB should be ok even with Mac OS consuming some.
 
Last edited:

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Aside from fps there are just a couple of minor improvement areas I could think of, if I may:

The status bar at the bottom does not refresh on its own (at least for me). If I press esc and then back, it does, so it sort of works.

Do you plan on adding the background music in? Would that be difficult?
You absolutely may! Feedback is always welcome.

The status bar bug is new to me — I don’t see that issue on my se/30 or in emulated testing. What version are you running (the splash screen with my goofy head animation tells you the version). I’m close to posting a new one with additional optimizations as that’s all I’m working on at the moment but curious that yours is having status bar / HUD issues. I don’t remember releasing any with issues there.

Also tell me what machine you’re running on, plz!

Thanks for the feedback!
 

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Finally made time to sit down and try this out, but sadly my SE/30 has only 20MB of RAM. When you say you'll reduce the 64MB requirement, do you expect a machine like mine to be able to run the game eventually? I seem to remember that 4MB was enough on a DOS PC back in the day, so 20MB should be ok even with Mac OS consuming some.
yes absolutely — it actually will work right now for you I bet — go to the app, hit “Get Info” on it in the finder and just lower the minimum amount down to say 12 MB. You should have 12 MB available since of your 20MB only like 2.5MB goes to the OS.

I’m going to release a new build imminently (been too busy iterating to stop and put together the little deployment package but I’ll make sure it has less ram requirements — it doesn’t use anything close to what it’s being allocated now).
 

Mr_Anomalya

New Tinkerer
Mar 28, 2026
5
5
3
You absolutely may! Feedback is always welcome.

The status bar bug is new to me — I don’t see that issue on my se/30 or in emulated testing. What version are you running (the splash screen with my goofy head animation tells you the version). I’m close to posting a new one with additional optimizations as that’s all I’m working on at the moment but curious that yours is having status bar / HUD issues. I don’t remember releasing any with issues there.

Also tell me what machine you’re running on, plz!

Thanks for the feedback!
Sure, it's 1.0. b4 on a Classic II.

I wanted to see if it's present on your latest version, but unfortunately I can't run that one at all, as now the memory needed is presented as a hard requirement instead of a "do you still wish to run it"-type warning.
 

Arbystpossum

Tinkerer
Jan 8, 2024
102
71
28
USA
I have an LCII with a 68040, I'd love to try this but I'm sure the low RAM limit blows a hole in that. Would using the shareware WAD theoretically lower this requirement?
 

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Sure, it's 1.0. b4 on a Classic II.

I wanted to see if it's present on your latest version, but unfortunately I can't run that one at all, as now the memory needed is presented as a hard requirement instead of a "do you still wish to run it"-type warning.
fixing assap.. i simply upped the minimum from 8MB to 10MB (probably stupid) — of the major IWADs supported in linux doom (doom1, doom2, TNT, plutonia) — Plutonia map20 is the largest and causes the heaviest mem requirement. So I iterated my way to 8MB being the minimum required for that map to work (yes this is prob worse than standard dos doom because of how I load content into memory for speed to avoid loading textures as you play the game - DoomSe30 loads them all up front which causes the mem requirements to be much higher. But the last thing I want impacting frame rate is lots of disk reads during play.

Anyway - i should set the minimum mem requirement to perhaps be just the worst case for doom1.wad and the recommended size be the size needed for the worst case across the bunch (which is plutonia map20 to my knowledge)…. checking now to see what the min req is for doom1 levels


Edit to add:
I have an LCII with a 68040, I'd love to try this but I'm sure the low RAM limit blows a hole in that. Would using the shareware WAD theoretically lower this requirement?
Yup precisely what I’m doing!
 
  • Like
Reactions: Arbystpossum

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
For funsies here’s the Doom 1 wad file mem usage per map. Don’t mind the “Free KB” column, that’s based on an 8MB allocation, the USED one is the important one….

Code:
  ┌──────┬───────────┬───────────┬────────┐                                                                                                         
  │ Map  │ Free (KB) │ Used (KB) │ Used % │                                                                                                         
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M1 │ 7782      │ 410       │ 5.0%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M2 │ 7637      │ 555       │ 6.8%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M3 │ 7644      │ 548       │ 6.7%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M4 │ 7705      │ 487       │ 5.9%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M5 │ 7708      │ 484       │ 5.9%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M6 │ 7571      │ 621       │ 7.6%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M7 │ 7671      │ 521       │ 6.4%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E1M8 │ 7743      │ 449       │ 5.5%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M1 │ 7793      │ 399       │ 4.9%   │
  ├──────┼───────────┼───────────┼────────┤
  │ E2M2 │ 7540      │ 652       │ 8.0%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M3 │ 7687      │ 505       │ 6.2%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M4 │ 7650      │ 542       │ 6.6%   │
  ├──────┼───────────┼───────────┼────────┤
  │ E2M5 │ 7596      │ 596       │ 7.3%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M6 │ 7654      │ 538       │ 6.6%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M7 │ 7530      │ 662       │ 8.1%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M8 │ 7815      │ 377       │ 4.6%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E2M9 │ 7862      │ 330       │ 4.0%   │
  ├──────┼───────────┼───────────┼────────┤
  │ E3M1 │ 7844      │ 348       │ 4.2%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M2 │ 7767      │ 425       │ 5.2%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M3 │ 7654      │ 538       │ 6.6%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M4 │ 7596      │ 596       │ 7.3%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M5 │ 7589      │ 603       │ 7.4%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M6 │ 7689      │ 503       │ 6.1%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M7 │ 7696      │ 496       │ 6.1%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M8 │ 7860      │ 332       │ 4.1%   │
  ├──────┼───────────┼───────────┼────────┤                                                                                                         
  │ E3M9 │ 7760      │ 432       │ 5.3%   │
  └──────┴───────────┴───────────┴────────┘

tldr — doom1 requires very little memory even with my load everything up front at map load approach
 

patters

Tinkerer
Feb 3, 2025
56
47
18
Just tried v1.0.0, but it hangs on the black screen LOADING WAD FILE. I left it for several minutes, and nothing.

I used shareware Doom1.wad v1.1, and I transferred that to the Mac using Fetch set to binary mode. My SE/30 has the gglabs MacSIMM 32bit clean ROM. I was running System 7.5.3, which has 17MB of free RAM. CPU and FPU are stock.

Tried disabling sound, same issue. If I click the mouse after the 10 second wait the application just quits by itself.

Does it support the many different versions of this WAD?

Oooh. Nevermind, it works with the Doom 1.9 shareware WAD. (md5: f0cefca49926d00903cf57551d901abe). :) very cool
 
Last edited:
  • Love
Reactions: MacOfAllTrades

Mr_Anomalya

New Tinkerer
Mar 28, 2026
5
5
3
The status bar bug is still there for me, but only if I maximize the screen size. If I'm one setting below, it's ok. Idk if that helps with later tinkering. I do see some improvement in FPS, though not much and not constant. In any case, it's a good enough port for me.
Now, if only someone also were to do a port of Bomberman TG-16 / Dynablaster... :D
 

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
The status bar bug is still there for me, but only if I maximize the screen size. If I'm one setting below, it's ok. Idk if that helps with later tinkering. I do see some improvement in FPS, though not much and not constant. In any case, it's a good enough port for me.
Now, if only someone also were to do a port of Bomberman TG-16 / Dynablaster... :D
Yes - i was able to resolve this!! Thanks. It was a goofy one…. Basically the math was using a “<“ instead of a “<=“ to determine if the HUD was visible and thus needed updating. I’ll post an update soon along with other stuff I’m trying.


**Unrelated — does anyone have a Snow emulator setup using a 68040 system like a IIci or Quadra 650 or otherwise? I want to set myself up with a good emulation method for these better-than-se/30 machines to confirm perfomrance there.

I’m also kind of curious how my port performs compared to the original Lion Entertainment Mac Doom port from the 90s (which didn’t run on an se30 so i’d need something newer to run it and mine)
 

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Snow only emulates up to an 030 currently afaik.
Wow… ok… my bad! I was juggling lots of emulation solutions (including some on InfiniteMac.org) and despite choosing a mac iifx or iici or (i don’t remember which) - i was going by what apple system profiler gave me for those setups — almost certainly a case of it using basilisk and basilisk emulatin gsomething else under that profile..

Anyway i’m ultimately interested in Mac IIci / IIcx or 68040 machine (Quadra 640) testing..
If anyone has these setups please let me know if this works. My SNOW emulator crashes repeatedly when emulating a mac II/IIci at launch.. it gets to the end of the WAD loading section and freezes up. Emulator error reports a bad instruction that despite me trying to track down seems to be a level 2 interrupt causing some junk address read or move or something… i can’t confirm if it’s real or snow-induced.


https://github.com/retrospectmike/MacDoomSE30/blob/main/MacDoomSE30vAPR5.sit. would be the one to try but I think even existingofficial releases will have this bug (if it’s real). I may have to post this in the other subs dedicated to nubus macs or whatever!
 

eric

Administrator
Staff member
Sep 2, 2021
1,221
2,107
113
MN
bluescsi.com
Anyway i’m ultimately interested in Mac IIci / IIcx or 68040 machine (Quadra 640) testing..
If anyone has these setups please let me know if this works. My SNOW emulator crashes repeatedly when emulating a mac II/IIci at launch.. it gets to the end of the WAD loading section and freezes up. Emulator error reports a bad instruction that despite me trying to track down seems to be a level 2 interrupt causing some junk address read or move or something… i can’t confirm if it’s real or snow-induced.


https://github.com/retrospectmike/MacDoomSE30/blob/main/MacDoomSE30vAPR5.sit. would be the one to try but I think even existingofficial releases will have this bug (if it’s real). I may have to post this in the other subs dedicated to nubus macs or whatever!
Just tried this on a Q700 - seems to be locked up on the "LOADING WAD FILE..." screen, i dont see any disk activity.

I was able to hit interrupt and then G F to get back to finder.

I was using the 1.9 doom1.wad shareware.
 
  • Love
Reactions: MacOfAllTrades

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Just tried this on a Q700 - seems to be locked up on the "LOADING WAD FILE..." screen, i dont see any disk activity.

I was able to hit interrupt and then G F to get back to finder.

I was using the 1.9 doom1.wad shareware.
d’oh. yeah that’s about the same moment when I see the issue in Snow. I was hoping against hope that Snow wouldn’t be emulating hardware so truly but Snow seems very honest-to-hardware so I’m not surprised. Hmm… @eric is there any clues in the little banner that shows up when snow has a hardware fault etc? I know there’s some useful data there perhaps

Code:
Emulator halted: Uncaught CPU stepping error at PC 00004D12: PC: 00004D12 Instruction: Instruction { mnemonic: MOVE_w, data: 16320, extword: Cell { value: None } } - error: Invalid addressing mode 111 111
 
Last edited:

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Just tried this on a Q700 - seems to be locked up on the "LOADING WAD FILE..." screen, i dont see any disk activity.

I was able to hit interrupt and then G F to get back to finder.

I was using the 1.9 doom1.wad shareware.
@eric - no worries if you can’t do it but could you run this binary (drop in replacement for the prev one you had) and then send me the resulting doom_log.txt that results from the run after it crashes? I thought I had it licked down to messing with the cpu CACR register to set up the caches but I don’t think that’s my issue.

I should invest in a quadra of my own :D. Promise I won’t ask you to run anything ever again! (And of course no worries if you’re not up to doing this)

Thx either way.
 

Attachments

  • DoomSE30.bin
    1.2 MB · Views: 2
Last edited:

MacOfAllTrades

Tinkerer
Oct 5, 2022
226
243
43
Ugh - ok i figured it out… Sorry!

update to this message momentarily but wanted to formally cancel my request:
Problem goes away when I install Mode32 and turn on 32-bit addressing…. i think i know how to fix… The surprise for me is why my code _doesn’t_ cause the SE/30 to crash at that same spot. oh well.. progress!
 
Last edited: