Released — MacDoom for SE/30

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
241
252
63
After watching the two videos by @KennyPowers , I was just wondering if there would be a way to make the background dead space (all four sides, outside the game area) be black rather than white?

I must admit that I've been so busy lately, I've not had time to try it out myself yet, but I've been following this thread and the work done on this game is incredible. Bravo, @MacOfAllTrades !
Making it black would be good — actually - the border *is supposed to be black*! But yes somehow it’s rendering as white on @KennyPowers ’s screen which is very odd.
Similarly strange, I see on your video @KennyPowers that the HUD (ammo/weapons/keys bar) the background is showing up garbled in some way. Very strange.

This is a screenshot of 256 grays mode on my Basilisk II:
Screenshot 2026-04-24 at 8.46.47 PM.png



Something is def up. I’ve no idea if it’s due to your (sweet sweet) upgrades somehow (??).
 
  • Like
Reactions: JDW

KennyPowers

Active Tinkerer
Jun 27, 2022
339
374
63
Something is def up. I’ve no idea if it’s due to your (sweet sweet) upgrades somehow (??).
Could have something to do with those. I also see that 7.5 is listed as the minimum OS version, and like I said in my previous post, I'm running 7.1. Until I cranked the CRT brightness, the game content and the border were all very, very dark...too dark to see much of anything. Other grayscale content looked fine at the more reasonable mid-range brightness setting I usually leave the CRT at.
 

KennyPowers

Active Tinkerer
Jun 27, 2022
339
374
63
@MacOfAllTrades So I misspoke earlier when I said the border was black for me. It's light gray, even with the CRT brightness at a reasonable level. Here's a video of a complete run at default settings with the system set to 256 grays and the CRT brightness slightly higher than where I usually keep it, but not maxed:


I briefly turned the brightness up and then back down at about 50 seconds into the video. Also, after exiting the game, notice that unobscured parts of the desktop background were set to white and weren't repainted.

I poked through the code and noticed some special paths in i_video_mac.c when Gestalt identifies the machine as an SE/30. I was curious if maybe it didn't like it when g_color_depth != 1 and machine_type == kMacModelSE30...maybe that's a scenario that hadn't been exercised yet? So, I used Wish-I-Were to make the machine report itself as a IIsi...no change in behavior. I also tried hard-coding s_use_copybits to 1, but that was mostly just to see if I could build the project (which I could!). Nothing I tried changed anything.

Again, this is on System 7.1
 

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
241
252
63
I think someone else ran it on system 7.(0? 1?). I just used 7.5 for my dev setup and stuck the reqs to that. A few sound manager calls that I didn’t confirm were ok pre system 7.5 also but only because when I looked up something I ended up cross checking it to sound manager version that shipped w 7.5 but I would not doubt that it runs fine on 7.0

as for the white background- In color mode the background is pink due to some color palette issue when doom code kicks in. So I wager you’re seeing the grayscale version of this which is a gray. I’m just not sure why I don’t see it in basilisk but not surprised due to basilisk being often unfaithful for an emulator ANd or your unusual setup.

copybits stuff should work fine on se/30 though it was made for newer Mac’s where writing to the memory like in the se/30 was causing problems.

the separate paths for b&w vs 8bit (color or grays) is a bit atrocious. I wanted to protect the performance of the b&w mode above all else and didn’t want it impacting performance just to get color working or for the sake of cleaner code for color so it pretty much gets its own path.
After your posts last week I did get a full screen color mode working based on your interest and it being of logical interest. I stopped short of posting it because it acted slightly different (better to be honest) than the 2x b&w mode. I think I hit git push on the code just never updated the binary. Not sure though… just don’t remember if what I last pushed was the final version of the color 2x. But pull the latest source code and build it (great that you could build!!) and try 2x mode with your grayscale!
 

MacOfAllTrades

Active Tinkerer
Oct 5, 2022
241
252
63
Just played your latest video. Not news but I still am confused by the HUD artifacts (junky background on the HUD). Did that get any better with copybits? I may have to just acquire the same awesome hardware setup like yours to make sure I solve these problems and have a convenient test bed :p
 

KennyPowers

Active Tinkerer
Jun 27, 2022
339
374
63
as for the white background- In color mode the background is pink due to some color palette issue when doom code kicks in. So I wager you’re seeing the grayscale version of this which is a gray. I’m just not sure why I don’t see it in basilisk but not surprised due to basilisk being often unfaithful for an emulator ANd or your unusual setup.
It trying to display color instead of grays might explain why the game content is so dark too. I also run Wolfenstein 3D on this machine, and that game actually switches the mode to 256 colors (have to switch it back in the monitors CP after closing the game). Wolf3D also appears a bit dark in "color" mode. FWIW, here's what the 256 "color" palette looks like in the CP, though you're probably creating your own palette. You can still see that a lot of colors display as similar shades of gray. Maybe Bolle chose that palette because it makes the system UI and things look best in "color" mode, but I don't really know what I'm talking about :)

IMG_20260428_062958.jpg


Edit:

I did just see where you previously said "Yes the color mode and grayscale (same thing, game knows no difference)". I wonder if basilisk cheats at implementing grayscale somehow...maybe it just applies a filter to color mode or something?

I guess I don't know how 256 grays mode works at a fundamental level. Is it a palette of 256 configurable values like 8 bit color mode, or something else? If something else, what algorithm maps colors to grays, and where/when is that conversion applied (in software, hardware?)? I know converting to grayscale by simply averaging the RGB values will result in a darker looking image than using a luminosity-weighted average. But it also looks like there's something palette related happening here too with the artifacts in the status bar.
 
Last edited: