One of my bugs is just how the software renderer is at high resolutions.
The other one is as follows, and I'm afraid it's a bit tl;dr.
As far as I can make out from the source, the "doom_weapon_toggles" option ("Enable fist/chainsaw and shotgun/SSG toggle" in the menus) does nothing at all.
The weapon selection logic in g_game.c is suboptimal (that in p_user.c is compelled to be that of DOOM.EXE for compatibility reasons), partly because of the nonexistence of that toggle.
The difficulty is that we have a "fist or chainsaw" key and a "chainsaw" key, a "shotgun or SSG" and a "SSG" key, a certain vestige of DOOM.EXE's logic, effectively two "fist" weapons (berzerk or not), and the weapon preference list is overloaded:
If I list the SSG ahead of the shotgun, it means all three of "If I select best weapon, prefer the SSG" (probably true), "If I run out of ammo unexpectedly, prefer the SSG" (also probably true, that's a crisis situation) "even if I have only one shell" (what??), "If I press the shotgun-or-SSG key, even though I have a perfectly good SSG key as well, give me the SSG, so I have no way of getting to the shotgun in a single weapon switch" (gah no!)
The fist-or-chainsaw logic makes more sense in that mostly it assumes you always prefer the chainsaw to the not-berserk fist, which I think is practically always true unless you're so desperate for ammo you're pinkbeast-dancing on -fast - but it also has the same problem, list "chainsaw" preferred to "fist" and you can't get to the berserk fist without two weapon switches.
I suggest the following, which I'll gladly code up except for the compatibility wrappings which I don't understand, and invite comment on the options that spring to mind:
First, make the toggle do something. Secondly, arrange that the out-of-ammo code will never switch to an SSG which has insufficient ammo. (This is a simple bug where P_SwitchWeapon is called and checks, returns "ordinary shotgun", but then the code fiddles with the answer because it acts as if you pressed the "shotgun-or-SSG" key).
With the toggle OFF:
There are four keys, "fist", "chainsaw", "shotgun", "SSG". They select those weapons. They never, ever, toggle.
Option 1: That, except if not berzerk, "fist" gives you the chainsaw if you have it and are not wielding the chainsaw or fist. If you are wielding the chainsaw, it gives you the fist. If you are using the fist it does nothing. (Effectively, it toggles one way).
Option 2: That, except if the SSG is not in the game, "SSG" gives you the shotgun.
Option 3: That, except if you don't have the chainsaw when you ask for it, you get the fist; if you don't have the shotgun you asked for, you get the other one.
With the toggle ON:
All four keys toggle fist/chainsaw or shotgun/SSG. All four keys select the other weapon of the type if that's all you've got, or if you only have one shotgun shell and you're not already using the single shotgun (1).
Option 1: The "fist" key gives you the chainsaw if not berserk.
... or finally, add an "always prefer chainsaw to non-berserk fist" option which controls the operation of Options 1 above.
(1) Doom never stops you taking out a weapon with no ammo in order to admire it - er, as you run desperately towards its ammo, in order to save a weapon change later - so the code should not stop you doing that; but it should check you really meant it and wouldn't rather just fire a shotgun shell.