Temporary download link: https://ny.duke4.net...ted_20250213.7z
Back in August 2018, a July 1992 beta of Bio Menace, still titled Bio Hazard, was released for the game's 25th anniversary. Due to data corruption in EGAGRAPH.BH1, I gained early access to the beta and inspected the file, in order to get a more usable output. The reconstruction work was completed in October 2017.
Fast-forward to October 2024, what started as a discussion with K1n9_Duk3 about the person's reconstructed Bio Menace sources (basically its own topic) was leading to an inspection of the EGAGRAPH.BH1 file and a find of a few issues by K1n9_Duk3. That was eventually paving the way for K1n9_Duk3 to work on improvements to the EGAGRAPH.BH1 reconstruction, completed as of December 2024. Most noticeable visual changes are probably found in the "This is -NOT Shareware" screen. What should be brought up here is that the new file is now compatible with the original EGADICT.BH1 and EGAHEAD.BH1 files from 1992 altogether, and not just the original EGADICT.BH1. After removing 7725 bytes from offset 0x18135 of the corrupt file, it was found to differ from K1n9_Duk3's new one by less than 0.014%.
I also took this release as a chance to add a new user-made level of mine for the aforementioned beta, demonstrating an otherwise unused Turbo Shuttle actor. Actually, a bit older revision of the same level (checked by K1n9_Duk3 earlier) is also included. Further added by me were the tools from the egagraph-chunk-shifters repository that I used to assist me with the original EGAGRAPH.BH1 construction from 2017, updated for SDL3. SDL2-compatible code is still present.
Finally, while BHAZARD1.EXE in unpacked form previously had two minor 1-byte edits for the 2018 release, I added one more such edit, removing the need to add the password "slammer" as a command-line argument.
The included RELEASE.TXT file should have new and modified wordings of mine, plus a separate section of K1n9_Duk3. Evan Ramos (Hendricks266) also edited his portion. Outside of possible formatting changes, no modification was applied to Jim Norwood or Joe Siegler's contents.
Spoiler
Bio Menace July 15 1992 beta, February 13 2025 update ===================================================== This is an update to the 25th anniversary release from 2018 of a July 1992 beta of Bio Menace. In particular: - The file EGAGRAPH.BH1 was replaced again, this time by K1n9_Duk3. Apart from improvements to the visual reconstruction of certain graphics, the last revision allowed usage of the unmodified original EGADICT.BH1 and EGAHEAD.BH1 files from 1992 altogether. The updated EGAGRAPH.BH1 is now matching the original one from 1992 (that has data corruption) in size. - A new demonstration level was added under EXTRAS\shuttle. It takes advantage of an unused Turbo Shuttle actor. For more details and usage instructions, see EXTRAS\shuttle\README.TXT. - SecretMoves.pdf was removed, due to the lack of an implementation of the covered secret moves in the beta. The original mention of SecretMoves.pdf in this file remains as-is. - BHAZARD1.EXE had a third minor edit, removing the requirement to enter the password "slammer" on the command line. The file PLAY.BAT was removed as a consequence. - New notes of K1n9_Duk3 were added, alongside accompanying files under EXTRAS\K1n9_Duk3. Self-made tools of K1n9_Duk3 are one example. The tools in question were made for use under Windows. - Similarly, EXTRAS\egagraph-chunk-shifters is a (modified) copy of the contents of a git repository covering the sources of tools prepared by NY00123 (with partial code reuse). The repository was originally prepared a bit before the August 3 2018 release, made public about 2 days after that release and further updated once in the same month. The covered tools were SDL2 programs built and used from a Linux desktop. Following the official release of SDL3 from January 2025, I found a chance to port these tools to SDL3, while still preserving SDL2 compatibility in the sources. The adapted tools may be found under EXTRAS\egagraph-chunk-shifters. Notes of Evan Ramos and NY00123 were edited accordingly. The following release notes of Jim Norwood and Joe Siegler are present in their original forms from the August 3 2018 release. ============================================================================== 25 years ago today, Snake Logan was unleashed on the world! Snake is the star of Bio Menace, which celebrates its 25th birthday today! The game was originally released on Aug 3, 1993! Bio Menace was the creation of Jim Norwood, who also went on to be one of the co-creators of the original version of Shadow Warrior! Bio Menace was released at the hight of our time in the 90's putting out side scrollers. We had a few published at this time (the original Duke Nukem, Commander Keen), so this was a popular game. It was later released as freeware on Dec 23, 2005, so it has been free to play for some time now. Before the game was released, when it was in development we referred to it as "Bio Hazard". Given the nature of the plot line and the things you ran into, that fit the theme well. However, before the game came out, we changed it to "Bio Menace". When we asked Jim Norwood about that, he had this to say.. "That happened because it turned out that there was some rock band named BioHazard who already held the copyright to that name. I'm not sure why we couldn't still use the name anyway since my use was for a video game versus a music brand. You'd have to ask Scott and George about the why's on that one." ----- JIM LOOKS BACK We asked Jim this week to send us some thoughts looking back on Bio Menace now that it has reached it's silver anniversary. Bio Menace was really the first game that I ever designed, did all the level design, art, and code for as my first full on game project. And if that wasn't enough, it had to be a Trilogy! That was quite a project for a lone dude that was completely new to the gaming industry, but, it got done eventually and we shipped that full Trilogy in the end. Bobby Prince did the music and I used Id's Keen Dreams engine to back the 2D game. Having the Keen Dreams engine is the only thing that made doing this game alone possible. As John Carmack used to quote, 'There really is no such thing as a trivial game.' So true! Every game that is worth anything is going to take significant effort to finish and bring to market. However, I had some of the most fun working on this title that I've ever had working on any game since. Working nowadays in the AAA industry, I'm no longer the 'driving force' behind new IP's and as a Senior Engineer, I am a significant contributor to really large titles, but I'm really more now a piece of machinery in the giant teams required to ship such ambitious projects. That's just how this industry has evolved and I'm ok with that. But that doesn't stop me from looking back fondly on the glory days when I lone guy could make a great selling 2D platformer by himself. In some ways, those days have come back with mobile games, and then grew again to where even top tier mobile games are still going to require a competent team to create anything great. I did manage to do another game called Tekken Bowling for iOS while I was at Namco where I was the sole programmer for the entire project, and I worked with only one designer and two artists on it. That was the closest I've come to making a game alone since the Bio Menace days. --- Jim ---- ANGRY COSMO? One the Bio Menace game characters looks like he could be Cosmo, only his slightly more angrier brother. Jim seemed confused by the question when we asked him about this, as this exchange shows: Joe Siegler: Angry Cosmo - is that what that really was? Jim Norwood: I actually cannot remember the Angry Cosmo except vaguely? Was it cool? LOL! JS: Here you go. Angry Cosmo... :) (with a picture sent to Jim) JN: Haha nice. Ok, but that was one of the main creatures throughout the game. I thought you meant I had added actual Cosmo as an Easter egg. JS: No no - most folks who played the game thought it was supposed to be Cosmo - just his angrier brother or something. Seriously - even *I* thought that back before the game came out. JN: Well, you are right. It sure as heck looks like Cosmo! JS: The main difference is Cosmo has those spots on him, and the suckers. But visually your character is like an Angry Cosmo. One of the more fun things that was in this game was something called "The Apogee Room". Was a very hidden section in one of the maps where Jim Norwood, Scott Miller, & George Broussard were visualized, along with a few computers and a ton of Apogee visual gags - mostly from Commander Keen & Duke Nukem. Here's what Jim had to say about this.. "That was all me. I loved the Easter Eggs in Commander Keen at the time and I wanted to put something similar in Bio Menace - hence the Apogee Room. :)" ----- BONUS FUN! It's always fun looking back on games like this, but today, we're going a bit beyond than what we usually do for these anniversary stories. We've dug into the archives and found a working copy (well, after some massaging) of one of the game's betas that we are releasing for free today! The game was actually still called "Bio Hazard" at this point, and was dated July 15, 1992. We've also thrown in a PDF the "Secret Moves" paper that we used to send out with Bio Menace orders placed with us. Big thanks to Jim Norwood for allowing this to be released, and for Evan Ramos for whipping it into shape. There were some fiddly tech issues with this release that he goes into in greater detail in the release.txt file in the game directory about what fixes had to be made to the beta for release. Make sure and read it for additional info, as some of it is quite interesting. You can download the zip file here: ftp://ftp.3drealms.com/freeware/bh_071592.zip Some other Bio Menace related links for you to check out: 1) Our original Bio Menace webpage here: http://legacy.3drealms.com/menace 2) Youtube Video showing you the Apogee Room: https://www.youtube.com/watch?v=Yh4LD6FP5Lc 3) Frenkel's Bio Menace Maps: http://legacy.3drealms.com/menace/maps/index.html 4) Apogee Legacy Interview with Jim Norwood: http://legacy.3drealms.com/news/2006/01/the_apogee_legacy_1_jim_norwoo.html 5) 3D Realms' Bio Menace Trailer: https://www.youtube.com/watch?v=L-yLPIdIiTE Thanks for checking this all out, and thanks for playing our games these last 25-30 years or so! Joe Siegler Apogee Software / 3D Realms Aug 3, 2018 https://www.facebook.com/official3dr/ https://twitter.com/3drealms https://boards.3drealms.com ============================================================================== ORGANIZER'S NOTES AND TECHNICAL STUFF FOR THIS BETA RELEASE: It is my honor and joy to present a July 1992 beta build of Bio Menace and the restoration of its contents. I had been provided the data archives containing this build by 3D Realms in 2014, as part of cooperation that would later lead to the creation of Ion Fury. Shortly afterward, I was able to defeat the copy protection preventing it from being played. In 2017, I reached out to Jim Norwood, the creator of Bio Menace (and Shadow Warrior), to seek permission to share the beta with the public, and I offer many thanks to him for agreeing. Unfortunately, some of the build's graphics data had experienced corruption before archival, making it unsuitable for general play. My collaborator NY00123 stepped up to the task and repaired the damage. 3D Realms then published the beta in 2018. In 2024, K1n9_Duk3 revised the reconstruction, which we are featuring in the February 2025 release. Additional thanks goes to NY00123 for spearheading this update. There are several interesting things to note about this prototype. First and foremost, the final game's Episode 2 was originally slotted to be Episode 1. The final boss of the episode is a floating head of Dr. Mangle (whose art can still be found in the final game's data) rather than The Enforcer, though their behavior is almost the same. The in-level save feature inherited as part of the Keen Galaxy engine is still active in this build, before being broken during development and disabled in the final game. Some of the item sprites differ in this beta. I'm sure there are more curiosities waiting to be discovered and documented. To go into detail about the restoration process: The file that stores bitmap chunks for the game's graphics, EGAGRAPH.BH1, had experienced some kind of data corruption. The beta was retrieved from long-term archival contained within a zip file that passes all checksum tests, meaning whatever happened took place at an earlier point in time. NY00123 examined the data with various tools, including one of his own design, and cross-referenced the data with the final game where useful. K1n9_Duk3 expanded on NY's work by improving the accuracy of the reconstructed data, both in terms of how some art assets were repaired, as well as how they are assembled into the EGAGRAPH file format. This improved reconstruction is internally consistent with the original EGAHEAD.BH1 file found with the beta, so modifying it is no longer necessary to facilitate the use of the edited EGAGRAPH. K1n9_Duk3 also created custom tooling to perform this work. In addition, NY00123 patched the BHAZARD1.EXE file in three small ways. First, he discovered a crash during testing that manifests at two points in the episode, and we agreed that he would make a one-byte edit to fix the problem. Second, the executable performs a date check as copy protection that aims to make the beta expire after a certain time. Bypassing this would require changing the system clock or intercepting the call with a TSR, but since we already modified the exe, NY simply disabled the check with another one-byte change. Third and finally, the executable requires a password to be entered on the command line. I originally inspected the exe to find it ("slammer") and prepared a batch script to provide it at runtime, but for the February 2025 release, NY disabled this check too by making one more single-byte change. Unmodified versions of both edited files, as well as the original documentation for internal beta testing, are available in the folder named "ORIGINAL". If you wish to compare our modified exe with the original, you will need to use UNLZEXE to unpack both files. Below you can find technical notes written by NY00123 and K1n9_Duk3, documenting their contributions in detail. -Evan Ramos / Hendricks266 ============================================================================== BHAZARD1.EXE and EGAGRAPH.BH1 were modified. Details are given below. This text file and the contents of the folder EXTRAS were not originally present. Original timestamps (local timezone information is unavailable): ABOUT.BH1 1992-03-22 16:40:04 AUDIOHED.BH1 1992-06-10 12:44:24 AUDIOT.BH1 1992-06-10 12:44:22 BHAZARD1.EXE 1992-07-15 22:36:40 * CONTEXT.BH1 1992-03-15 16:24:26 CONTRART.BH1 1992-03-22 18:26:14 DEMO0.BH1 1992-07-14 03:07:12 EGADICT.BH1 1992-07-13 19:03:44 EGAGRAPH.BH1 1992-07-13 19:03:44 * EGAHEAD.BH1 1992-07-13 19:03:44 ENDART.BH1 1992-07-12 19:12:16 GAMEMAPS.BH1 1992-06-17 17:17:48 GAMETEXT.BH1 1992-03-15 16:24:26 GFXINFOE.BH1 1992-07-13 19:03:46 HELPART.BH1 1992-03-22 18:07:42 MAPHEAD.BH1 1992-07-12 19:23:50 MAPTEMP.BH1 1992-07-12 19:23:46 MAPTHEAD.BH1 1992-07-12 19:23:44 MUSEINFO.BH1 1992-06-10 12:44:22 ORDERART.BH1 1992-03-23 02:09:16 README2.TXT 1992-07-15 17:06:40 * README.TXT 1992-06-29 20:58:54 * STORYART.BH1 1992-03-22 18:07:42 STORY.BH1 1992-03-22 16:40:04 TEDINFO.BH1 1992-07-12 19:23:48 TEDINFOE.BH1 1992-03-15 16:24:26 * The unmodified original copies can be found under "ORIGINAL". BHAZARD1.EXE had the following edits applied, changing exactly three bytes of code (in the LZEXE-unpacked EXE): - The beta expiration date check (which is somewhat buggy) is skipped. - As of the February 2025 update, the check for the command-line password "slammer" is similarly skipped. - With the original EXE, if you try to read the color sequence in "Ant Caves" (level 3) or activate the easter egg in "Specimens Labs" (level 10), the game will abort from a call to the StartMusic function with (virtual) level number 20 (21st level). Based on the note from README2.TXT saying that the amount of playable levels was reduced by 6, this was fixed so StartMusic is called with the value of 14, leading to playback of "Resting" (as in the final game). The original EGA data is partially corrupted, so EGAGRAPH.BH1 had to be recreated. So was EGAHEAD.BH1 before the February 2025 update. ModId was used for exporting and importing graphics. - The presence of two complete 16x16 tiles in the initially exported data gave the hint that 7725 bytes shall be removed from some offset in EGAGRAPH.BH1 (done at offset 0x16308). This assisted with getting virtually all tiles, which were the same as in Bio Menace ep. 2 for most. A small amount of missing or partially corrupted tiles were simply copied from BM2. - An internal tool was written for displaying the sprites, including the separate EGA planes. At some point, it could let one "move" the EGA planes around and export them as separate BMP files. Eventually, most sprites were actually copied from BM2 as-is. It's only most of the player sprites and other few sprites which needed more edits. - After modifying the tool for usage with masked 8x8 tiles, it was found out that they were exactly the same as in BM2. As for unmasked 8x8 tiles, it was separately found out that such tiles were only added between BH1 and BM2, not removed or replaced. - A portion of the "This is -NOT- Shareware" picture had to be recreated. The rest of the unmasked pictures remained intact, while the only masked picture (used in the menu) was copied from BM2. About 2 days after the August 3 2018 release of the beta, I released the sources for tools used by me to assist with the reconstruction efforts. A video demonstration of such a tool (for sprites) was made available here: https://www.youtube.com/watch?v=cjILq_vmXAk As of the February 2025 update, the sources for ports of these tools to SDL3 (while still retaining SDL2 compatibility in the code) should be found under EXTRAS\egagraph-chunk-shifters. The official release of SDL3 from January 2025 was a chance to update these. Also added by me under EXTRAS\shuttle for the February 2025 update is a demonstration level, taking advantage of an otherwise unused Turbo Shuttle actor. See EXTRAS\shuttle\README.TXT for details. The February 2025 update had further changes to EGAGRAPH.BH1 from K1n9_Duk3. More details are given below, courtesy of K1n9_Duk3. -NY00123 ============================================================================== I modified my EGAGRAPH writing code in uGrab to write EGAGRAPH files like IGrab would have written them, which means inserting !ID! tags in between the different groups (before the first FONT, before the first PIC, before the first PICM and so on), skipping the "sparse" tiles (tile chunks that have an EGAHEAD offset of -1), and writing a (useless) terminating 0 byte when the huffman compression used all the bits of the final byte in the encoded data. I used this special version of uGrab to re-compress the EGAGRAPH data that NY00123 had reconstructed for the release of the beta. Then I wrote a new tool that loaded the beta's corrupted original EGAGRAPH file, skipped 7725 bytes at offset $18135 and then compared the (still compressed) data for each chunk in the EGAGRAPH file to the compressed data from the reconstructed EGAGRAPH file. EXTRAS\K1n9_Duk3\CHUNKDFF.TXT has the results I got. For reference, chunk 49 is the last PIC chunk (the "This is -NOT- Shareware" screen), chunk 400 is the last sprite chunk (the score box), 401 is the TILE8 tileset, 402 is the TILE8M tileset, chunks 403 to 2130 are the TILE16 tiles, and chunks 2131 to 4596 are the TILE16M tiles. The chunks 4457 to 4596 report differences because the corrupted EGAGRAPH file has the correct size (the final offset in the EGAHEAD.BH1 file matches the size of the EGAGRAPH.BH1 file), but I had to skip 7725 bytes in the middle of the file. That means the last 7725 bytes of the original file are lost for good. But since all the other tiles of the TILE16M tileset appear to be intact (and are mostly identical to the tiles in the final version of BioMenace episode 2), I assume that NY00123's reconstruction of the TILE16M tileset is correct. Anyway, back to my new tool. I wrote this based on the assumption that most of the data remained intact and that only a few bytes in each of these chunks got corrupted. I had done some manual comparisons of the raw hex display of the files earlier and I already noticed that most of the differences came down to the corrupted file using the hex values 24, 49, 87, 92, B6, CB, or FD where NY00123's file used FF. That's why I added a feature that allowed me to left-click on any hex value to replace it with FF. Right-clicking allows me to enter any other hex value. The tool would automatically decompress the modified data and display the resulting image data after each change. Other features were being able to press the Delete key to discard the changes and reload the original data from the corrupted file. And pressing the X key exported the (modified) image as a PNG file. It wasn't always just a matter of left-clicking, though. Chunk 63 (sprite #12), for example, needed more work. After replacing most instances of the usual hex values with FF, the image still had a problem. Trial and error showed that a hex 92 byte near the end caused the problem. Chunk 51 (sprite #0) had an instance where a hex 92 byte needed to be replaced with a 1E byte, so I tried doing the same for chunk 63 and that fixed the problem. That chunk also had a hex 49 byte near the beginning and a hex FD byte near the end that must NOT be replaced with an FF byte. Many other chunks had similar problems that required some trial and error to figure out which bytes to replace and which bytes to leave as-is. (I have included a few GIF animations that show the tool in action.) Once the main work was done, all I had left to do was to open NY00123's EGAGRAPH.BH1 file in uGrab again and replace the respective chunks with the PNG images that I had reconstructed and exported with the other tool. Exporting the data gave me a new EGAGRAPH.BH1 that has the same size as the original (corrupted) EGAGRAPH.BH1 file, and it also produced an EGAHEAD.BH1 that was completely identical to the original EGAHEAD.BH1 file. It looks as if the original "This is -NOT- Shareware" screen had some shading around the blue text and/or around the two images on the sides. Since the bottom half of the intensity plane data for that image was damaged, and I don't think there's anything left of the original data for this part of the image, we cannot know for sure what this image originally looked like. The versions with plain light blue (or dark blue) text don't match the original chunk size after Huffman compression, so some additional decorations were necessary. I tried different versions of the image, some with dark blue text, some with light blue text, some with a shadow or an outline around the text, and I came up with a version that gave me the same chunk size as the original image after the Huffman compression. I added a text shadow and some black pixels in the bottom-right corner to get the correct size. About two days later, I tried using a text shading method that's similar to the credits pic in the final version and I managed to get the correct size with that approach as well. We'll probably never know for sure what the original image really looked like, but I'm much more satisfied with this new version than I was with the previous one. -K1n9_Duk3