@eskayalle - It warms the cockles of my heart to find another person who likes SNES Doom
Thank you for consolidating my codes. I haven't had a chance to try them yet, but I'm sure they'll work fine.
I haven't been able to do a lot of testing on this code, but I believe the following should give you all keys:
Also given that it's only one byte off of the All Weapons code, this is probably a sweet spot for storing HUD related data. There may even be better Infinite Ammo/Infinite Health codes there as the original codes that I posted above were targeting SNES memory (as most SNES emulators like BSNES, MAME, ZSNES, etc. don't search cartridge ram). However, SNES9x does search cartridge ram, but it was giving me the wrong addresses (they were starting at x800000 instead of x700000 - but thanks to BSNES' manifest view, it was helpful in making an educated guess to the right address.
December 14, 2019, 07:17:28 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Well, although there are no known cheats built into SNES Doom, the "God Mode" IDDQD face sprite does exist in the system and can be turned on (although all this code does is turn on the sprite, not actual god mode):
[God Mode Face]
Altering the byte by even #'s (from 00 thru 3e) goes through all head sprites available.
Additional Edit: It seems a few other bytes near these do control the HUD display of your health, ammo, and armor. However, they seem to be controlling the HUD display only (at least for health and ammo, but presumably for armor as well but I have tried a controlled test for armor yet). So while they can lock the display numerals as whatever value you assign, you still only have whatever ammo/health/armor you have picked up behind the scenes (and so you can still die and run out of ammo).
So, to me, that would mean your actual health and ammo (and presumably armor) are controlled within the SNES' own memory while the cart ram for the Super FX chip seem to control keys, weapons, and Doom guy face sprite but only the *display* of the health/ammo/presumably armor numerals. That would also account for the fact that you see a brief drop in your health/ammo before they recover to full (i.e., 255/999, respectively, with these codes - due to both the SNES ram and Super FX cart ram coordinating data).
December 15, 2019, 11:37:31 am - (Auto Merged - Double Posts are not allowed before 7 days.)
And another edit: Thanks to a French gentleman named TheRetroMike, there is a No Clipping code for SNES Doom that has been found but apparently is not widely known:
The no clipping applies to the player as well all sprites (e.g., enemies and projectiles). However, sprites still are solid to one another, so basically the level geometry is able to be clipped through.
I've had this freeze the game (when in auto-map mode in the hidden E1M4 stage). I'm not sure why it crashed - perhaps it caused the game to exceed available memory. Just wanted to share that here as well.
December 16, 2019, 08:52:15 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
I had a few more minutes to tinker tonight.
Setting 7001e8=01 automatically finishes the current level (after doing some checking, the game seems to set this to 0B for getting to the normal exit of a level).
If the level has a hidden exit (E1M3, E2M2, E3M5) a value of 33 (hex) will activate the hidden exit. Setting the value to 33 on a level that does not have a hidden level, takes you to Warrens (E3M8 in SNES Doom) - the final hidden level of the game.
The default value is 7001e8=00.
December 17, 2019, 10:37:59 am - (Auto Merged - Double Posts are not allowed before 7 days.)
The following address set with a value of 10 (hex) or more will set you as "invisible" to enemies (i.e., the invisibility orb). Any value > 0 will set the status, but only values > 10 will make your weapon sprite translucent:
Edit: It seems that this address as well as 7001EB are a countdown time for the invisibility. The countdown speed is quick for 7001EA and as it drops from FF to 00, 7001EB then drops down by one increment for every "cycle" of 7001EA.
December 17, 2019, 08:11:24 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
The following two addresses control player default speed. The default value from the game is 04. A value of 00 prevents you from moving at all:
An interesting side effect (by really ramping up the speed using the 2nd address) is that Doom guy's face gets faster with higher values. Keep 7001EE=04 and setting 7001EF=01 makes him quite twitchy
December 19, 2019, 06:03:29 pm - (Auto Merged - Double Posts are not allowed before 7 days.)
Similar to the Invisibility, Invulnerability is controlled by two bytes used as a countdown timer
700041=11 will provide the player with invulnerability (although, interestingly, setting this address does NOT change the face sprite to the 'god mode' head sprite.