BioMenace - In-Store Demo Versions

Discuss classic and favorite computer or console games here.
Post Reply
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

BioMenace - In-Store Demo Versions

Post by K1n9_Duk3 »

I have been examining the BioMenace executables over the past couple of months and I found something that might be of interest to you:

There is a variable in the game that, if it's non-zero, will activate some restrictions in the game:

When the game is started, the demo loop (Apogee logo, title screen, credits and other demos) play as usual, but when you press a key, instead of opening the main menu, the program just starts a new game (at normal difficulty). There is no way to bring up the menu, so you cannot load or save a game at all. The game is also limited to the first three levels, so after you complete "City Park", the game goes back to the demo loop.

I am convinced that this would be the kind of game version that would have been used in certain game stores back in the day.

I took the executables from the shareware versions (v1.0 and v1.1), unpacked them with UNLZEXE, changed the 0 into a 1 and compressed the files with LZEXE again. Here's the result if you want to see it in action:
biomenace_in_store_demos.zip

BM1DEMO.EXE is for version 1.0
BM11DEMO.EXE is for version 1.1

The game's data files are identical in all releases of version 1.1 (including the freeware release), you should be able to just drop the BM11DEMO.EXE in your game folder and run it. If you have the earlier version 1.0 (shareware or registered), use BM1DEMO.EXE instead.

To exit the game, you need to press CTRL+Q while playing. You can also use CTRL+S to toggle sound on an off, but that is buggy. Pressing F1 will show the usual help menu.

(Yeah, I know. I could have written a patch instead of hacking the executables...)
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Re: BioMenace - In-Store Demo Versions

Post by Levellass »

This is the 'demo mode' variable that can also be activated in Keen galaxy by running the game with the -DEMO switch. In the galaxy case you are limited to the first two levels
What you really need, not what you think you ought to want.
NY00123
Vorticon Elite
Posts: 507
Joined: Sun Sep 06, 2009 19:36

Re: BioMenace - In-Store Demo Versions

Post by NY00123 »

Wut? How have I not known about this!

Shows again that you may still be surprised to find something after 25+ years (and then I haven't learnt as much as I often assume).
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: BioMenace - In-Store Demo Versions

Post by K1n9_Duk3 »

@Levellass: I didn't know about the "DEMO" parameter in Keen:Galaxy. As mentioned elsewhere, I didn't get very far with my own Keen 4-6 disassembly, and after seeing the cksourcemod and Omnispeak, I didn't bother spending any more work on it. After reading your post, I had a quick look at Keen 4 again and it seems that the code related to this limited demo version is mostly identical in Keen 4 and in BioMenace (in that both games exit to the demo loop after finishing level #2).

BioMenace doesn't have any code at all the would have activated this limited demo mode, so hacking the executable was the only way to get it to work. There is the text string "SEWERMAN" in BioMenace's executable that might have been the command-line parameter related to this originally, but the string is not used in any of the released versions of the game. The game was hard-coded to set the demo variable to 0 in the "main()" function, which I changed into a 1 in the files provided above.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Re: BioMenace - In-Store Demo Versions

Post by Levellass »

Indeed; Biomenace has a 'cleaner' code than Keen Galaxy in that a lot of the development stuff such as the cheats and TEDLEVEL code is 'sealed off' from access. (Usually this simply involves deleting the 'access point' to the code while leaving the original code intact.) This has always annoyed me since Keen Galaxy is more 'mod ready' than Biomenace since it has very useful developer code still in it and ready to go.
What you really need, not what you think you ought to want.
User avatar
K1n9_Duk3
Vorticon Elite
Posts: 779
Joined: Mon Aug 25, 2008 9:30
Location: Germany
Contact:

Re: BioMenace - In-Store Demo Versions

Post by K1n9_Duk3 »

I think the TEDLEVEL parameter works in all versions of BioMenace. And the freeware release has all the debug keys that Keen Galaxy has. In case you didn't know: Hold C+O+D and enter the code 91827, then hold J+I+M and hit Space to unlock the debug keys.

Maybe they should have used these when BioMenace was in beta-testing. The game has severe memory issues caused by the music buffers not being freed when a new song is started. This can easily be detected by using the M+F10 memory debug code before and after opening the main menu from within a level.
Hail to the K1n9, baby!
http://k1n9duk3.shikadi.net
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Re: BioMenace - In-Store Demo Versions

Post by Levellass »

The debug keys are available, yes. But there's no -debug switch to run the game with them enabled by default and the way to activate them is exceedingly complicated, whereas in Galaxy (Aside from debug mode) it's just a three letter combination. The code is, again, sealed off.

Keen has a few memory issues itself; especially when regarding music. Notably having less than 10KB of free memory in a level will often cause the game to produce a 'not enough memory for background music' error when entering from another level or even from the menu.
What you really need, not what you think you ought to want.
NY00123
Vorticon Elite
Posts: 507
Joined: Sun Sep 06, 2009 19:36

Re: BioMenace - In-Store Demo Versions

Post by NY00123 »

K1n9_Duk3 wrote: Sat May 27, 2017 21:45Maybe they should have used these when BioMenace was in beta-testing. The game has severe memory issues caused by the music buffers not being freed when a new song is started. This can easily be detected by using the M+F10 memory debug code before and after opening the main menu from within a level.
Maybe this is why I had weird corruptions while working on that Bio Menace level pack! (Although this may also be a patching bug.)
Imagine certain tiles - possibly with a specific tile number - getting replaced with some other tile on a failed attempt to start some music.
Unfortunately this meant I had to use an alternative, shorter music track ("Can't Get", the control menu one, instead of "Chasing").

Another random BM fact: Personally, I preferred having no music over "Can't Get" (in the same sections where I originally wanted to use "Chasing"). Problem is, after pausing the game and then unpausing it, you'd begin to hear the last played track.
User avatar
Levellass
S-Triazine
Posts: 5265
Joined: Tue Sep 23, 2008 6:40

Re: BioMenace - In-Store Demo Versions

Post by Levellass »

Create a blank IMF file, use that.
What you really need, not what you think you ought to want.
NY00123
Vorticon Elite
Posts: 507
Joined: Sun Sep 06, 2009 19:36

Re: BioMenace - In-Store Demo Versions

Post by NY00123 »

Levellass wrote: Mon May 29, 2017 12:50 Create a blank IMF file, use that.
I shall tell, this is really an example of thinking-outside-the-box!

(Although in my case, I preferred to use unaltered original AUDIOT.BM1 data for some reason.)
Post Reply