Register - Login
Views: 99392379
Main - Memberlist - Active users - Calendar - Wiki - IRC Chat - Online users
Ranks - Rules/FAQ - Stats - Latest Posts - Color Chart - Smilies
04-24-22 10:07:02 AM
Jul - General Game/ROM Hacking - Researching Mega Math Blaster (and other Atlas engine games) New poll - New thread - New reply
Next older thread
CDrayan
Random nobody
Level: 2


Posts: 1/3
EXP: 23
For next: 23

Since: 04-04-22


Since last post: 7 days
Last activity: 6 days

Posted on 04-04-22 06:05:10 PM Link | Quote
I've been reverse-engineering and doing decompilations of Sierra's AGI and SCI games, and decided to expand my horizons. So I decided to dig into another childhood favorite: Mega Math Blaster.

The game uses a proprietary engine called Atlas. The Atlas Game Engine is a proprietary game engine developed by Davidson & Associates for use in their games in the Blaster Learning System. It was originally developed for the classic Mac OS and Windows.

Much of the game data is stored in three game files that use the game's ID as the name. They contain the extensions DLL, BAP, and RES. The DLL file is referred to as the "personality". It contains platform-specific game data. The RES file contains the audiovisual assets for the game, which are in the standard WAV and BMP formats. The BAP file is the actual application file. It contains text and script data.

On my old Math Blaster Ages 6-9 CD, I discovered the file MEGAMB.APP! It's dated 7/8/1997, and appears to be the BAP file in its uncompiled form. Seems like it was put on the CD by mistake. This could help significantly. Here is the file.

Game Extractor directly supports extraction of the RES file's resources. It works not just with Mega Math Blaster, but other Atlas games as well.
CDrayan
Random nobody
Level: 2


Posts: 2/3
EXP: 23
For next: 23

Since: 04-04-22


Since last post: 7 days
Last activity: 6 days

Posted on 04-07-22 07:29:19 PM (last edited by CDrayan at 04-09-22 08:46:33 PM) Link | Quote
UPDATE: Simpler archives that just contain the needed registry files and SmartHeap are now available. Obviously, the different Atlas engine versions can't just be mixed and matched because the games' personality files had to be built for a specific version.

It took some work, but I've released updates for Mega Math Blaster and Reading Blaster 2000, which will allow them to run in Windows 11!

Although the games themselves use 32-bit executables, the installers are still in 16-bit. These registry files allow you to put the needed settings to run the games without the need to run the installer.
CDrayan
Random nobody
Level: 2


Posts: 3/3
EXP: 23
For next: 23

Since: 04-04-22


Since last post: 7 days
Last activity: 6 days

Posted on 04-16-22 10:19:03 PM Link | Quote
I've just discovered that the Atlas game engine just requires specifying the filename of its extensions. If the directory is not specified, it assumes the game directory. I've made the registry files more compact as a result to allow for more portability.

Mega Math Blaster

Reading Blaster 2000

NEW: Math Blaster Mystery: The Great Brain Robbery

NEW: Reading Blaster Jr.

NEW: Science Blaster Jr.

COMING SOON: Math Blaster Jr. (ordered it off eBay; just waiting for it to arrive)
Next older thread
Jul - General Game/ROM Hacking - Researching Mega Math Blaster (and other Atlas engine games) New poll - New thread - New reply


Rusted Logic

Acmlmboard - commit 47be4dc [2021-08-23]
©2000-2022 Acmlm, Xkeeper, Kaito Sinclaire, et al.

28 database queries, 2 query cache hits.
Query execution time:  0.089868 seconds
Script execution time:  0.023695 seconds
Total render time:  0.113563 seconds


TidyHTML vomit below
line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 301 - Warning: unescaped & or unknown entity "&page"
line 119 column 11 - Warning: <form> isn't allowed in <table> elements
line 118 column 10 - Info: <table> previously mentioned
line 120 column 11 - Warning: missing <tr>
line 120 column 119 - Warning: missing </font> before </td>
line 124 column 16 - Warning: plain text isn't allowed in <tr> elements
line 120 column 11 - Info: <tr> previously mentioned
line 125 column 68 - Warning: missing </nobr> before </td>
line 141 column 68 - Warning: missing </nobr> before <tr>
line 147 column 35 - Warning: missing <tr>
line 147 column 50 - Warning: missing </font> before </td>
line 148 column 37 - Warning: unescaped & or unknown entity "&id"
line 147 column 233 - Warning: missing </font> before </table>
line 149 column 35 - Warning: missing <tr>
line 149 column 50 - Warning: missing </font> before </td>
line 149 column 91 - Warning: missing </font> before </table>
line 156 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 158 column 9 - Warning: missing <tr>
line 176 column 13 - Warning: missing <tr>
line 177 column 102 - Warning: unescaped & or unknown entity "&postid"
line 190 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 192 column 9 - Warning: missing <tr>
line 210 column 13 - Warning: missing <tr>
line 211 column 102 - Warning: unescaped & or unknown entity "&postid"
line 220 column 9 - Warning: <div> isn't allowed in <table> elements
line 152 column 17 - Info: <table> previously mentioned
line 222 column 9 - Warning: missing <tr>
line 240 column 13 - Warning: missing <tr>
line 241 column 102 - Warning: unescaped & or unknown entity "&postid"
line 258 column 17 - Warning: missing <tr>
line 258 column 17 - Warning: discarding unexpected <table>
line 261 column 35 - Warning: missing <tr>
line 261 column 50 - Warning: missing </font> before </td>
line 261 column 91 - Warning: missing </font> before </table>
line 263 column 35 - Warning: missing <tr>
line 263 column 50 - Warning: missing </font> before </td>
line 264 column 37 - Warning: unescaped & or unknown entity "&id"
line 263 column 233 - Warning: missing </font> before </table>
line 265 column 17 - Warning: discarding unexpected </textarea>
line 265 column 28 - Warning: discarding unexpected </form>
line 265 column 35 - Warning: discarding unexpected </embed>
line 265 column 43 - Warning: discarding unexpected </noembed>
line 265 column 53 - Warning: discarding unexpected </noscript>
line 265 column 64 - Warning: discarding unexpected </noembed>
line 265 column 74 - Warning: discarding unexpected </embed>
line 265 column 82 - Warning: discarding unexpected </table>
line 265 column 90 - Warning: discarding unexpected </table>
line 267 column 9 - Warning: missing </font> before <table>
line 279 column 25 - Warning: discarding unexpected </font>
line 288 column 57 - Warning: discarding unexpected </font>
line 266 column 1 - Warning: missing </center>
line 120 column 63 - Warning: <img> lacks "alt" attribute
line 125 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 125 column 93 - Warning: <img> lacks "alt" attribute
line 141 column 19 - Warning: <td> attribute "width" has invalid value "120px"
line 141 column 98 - Warning: <img> lacks "alt" attribute
line 148 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 148 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 161 column 21 - Warning: <img> lacks "alt" attribute
line 161 column 62 - Warning: <img> lacks "alt" attribute
line 161 column 111 - Warning: <img> lacks "alt" attribute
line 161 column 161 - Warning: <img> lacks "alt" attribute
line 172 column 15 - Warning: <img> lacks "alt" attribute
line 195 column 21 - Warning: <img> lacks "alt" attribute
line 195 column 62 - Warning: <img> lacks "alt" attribute
line 195 column 111 - Warning: <img> lacks "alt" attribute
line 195 column 161 - Warning: <img> lacks "alt" attribute
line 206 column 15 - Warning: <img> lacks "alt" attribute
line 225 column 21 - Warning: <img> lacks "alt" attribute
line 225 column 62 - Warning: <img> lacks "alt" attribute
line 225 column 111 - Warning: <img> lacks "alt" attribute
line 225 column 161 - Warning: <img> lacks "alt" attribute
line 236 column 15 - Warning: <img> lacks "alt" attribute
line 264 column 44 - Warning: <img> proprietary attribute value "absmiddle"
line 264 column 142 - Warning: <img> proprietary attribute value "absmiddle"
line 264 column 246 - Warning: <img> proprietary attribute value "absmiddle"
line 273 column 25 - Warning: <img> lacks "alt" attribute
line 278 column 267 - Warning: <img> lacks "alt" attribute
line 149 column 50 - Warning: trimming empty <font>
line 258 column 17 - Warning: trimming empty <tr>
line 261 column 50 - Warning: trimming empty <font>
line 125 column 68 - Warning: <nobr> is not approved by W3C
line 141 column 68 - Warning: <nobr> is not approved by W3C
line 177 column 27 - Warning: <nobr> is not approved by W3C
line 211 column 27 - Warning: <nobr> is not approved by W3C
line 241 column 27 - Warning: <nobr> is not approved by W3C
Info: Document content looks like HTML5
Info: No system identifier in emitted doctype
Tidy found 85 warnings and 0 errors!


The alt attribute should be used to give a short description
of an image; longer descriptions should be given with the
longdesc attribute which takes a URL linked to the description.
These measures are needed for people using non-graphical browsers.

For further advice on how to make your pages accessible
see http://www.w3.org/WAI/GL.
You are recommended to use CSS to specify the font and
properties such as its size and color. This will reduce
the size of HTML files and make them easier to maintain
compared with using <FONT> elements.

You are recommended to use CSS to control line wrapping.
Use "white-space: nowrap" to inhibit wrapping in place
of inserting <NOBR>...</NOBR> into the markup.

About HTML Tidy: https://github.com/htacg/tidy-html5
Bug reports and comments: https://github.com/htacg/tidy-html5/issues
Official mailing list: https://lists.w3.org/Archives/Public/public-htacg/
Latest HTML specification: http://dev.w3.org/html5/spec-author-view/
Validate your HTML documents: http://validator.w3.org/nu/
Lobby your company to join the W3C: http://www.w3.org/Consortium

Do you speak a language other than English, or a different variant of
English? Consider helping us to localize HTML Tidy. For details please see
https://github.com/htacg/tidy-html5/blob/master/README/LOCALIZE.md