The Magic School Bus Explores the Human Body
September 23, 2026 · View on GitHub
Static recompilation of The Magic School Bus Explores the Human Body (Microsoft / Scholastic, 1994) from its shipping Win16 binaries to native C.
Built on the pcrecomp toolchain, and directly on bob — same publisher, same year, same NE/Win16 shape.
Project Status: P0 complete, P1 not started
Reconnaissance only. Nothing has been lifted, and nothing builds or runs yet.
What is here is the P0 write-up and analysis/catalog.txt.
What P0 found
The whole title is 18 binaries and about 60 KB of code, and that is not a mistake in the count.
| Binary | Size | Module | Role |
|---|---|---|---|
MSBHUMAN/0/BD2.EXE | 14,960 | FEEDER | |
MSBHUMAN/0/BD7.EXE | 23,040 | MSBSNOOP | |
MSBHUMAN/0/BD9.EXE | 7,008 | GOBAND | |
BANDDLL.DLL | 5,216 | BANDDLL | the "band" engine |
MIDIDLL.DLL | 4,368 | MIDIDLL | |
SCHED.DLL | 8,704 | sched | |
SETUP.EXE | 167,744 | SETUP | installer, not interesting |
All NE (16-bit Windows), Microsoft linker 5.10/5.50. Alongside them sit ~180
numbered directories of .PAG, .MSF, .PFL, .DIB and .WAV — one per
scene.
This is a data-driven title with an almost non-existent code surface. The
ratio is roughly 60 KB of machine code to 190 MB of content. Compare Microsoft
Bob, the nearest neighbour already in the collection: same publisher, same
year, same NE format, but the code there is the product. Here the code is an
interpreter and the product is in the .MSF files.
That inverts the normal work split. Lifting 60 KB of 16-bit NE is a short job
for a toolchain that has already lifted El-Fish's 121 segments and 2,236
functions. Working out what .MSF and .PFL mean is the project.
BAND.INI names the engine:
; Kids Setup for 'Magic School Bus Explores The Human Body'
[init]
main = !d:\msbhuman\
[KidsCat]
path=shared\stuff\kidscat.exe
KIDSCAT/ is a separate Visual Basic 3 catalogue app (it ships VBRUN300.DLL)
and is advertising, not game. Skip it — and see worldempire/ for why a
VBRUN300 import means a different toolchain entirely.
DRIVERS/ holds four S3/SVGA DOS drivers. Not ours.
Where it goes next (P1)
tools/ne/ne_parse.py→ne_decode.py→ne_xref.pyover the threeBD*.EXEandBANDDLL.DLL. Six segments total; this should be a short run. Lifting goes throughtools/lift/ne_lift.pyand links against pcrecomp'sruntime/win16/, which is upstream now.- Work out what
GOBAND,FEEDERandMSBSNOOPeach are. The module names suggest a loader, a content feeder and a scene player, which would mean the engine is smaller still than 60 KB and the rest is per-scene glue. .MSFis the format to crack first. Nothing plays until it is readable.tools/formats/already holds the Encarta 97 decoders (FIF, M20/MVB, SPAM, DAT) and is the right place for whatever this turns out to be.
Layout
msbus/
original/ HUMANBODY.zip
original/ex/ extracted disc tree
analysis/
docs/
Credits
The Magic School Bus Explores the Human Body © 1994 Microsoft Corporation / Scholastic Inc. This project neither contains nor distributes any part of it.
The code and documentation here are MIT; LICENSE spells out that the grant stops at our own work and does not reach the game or anything lifted from it.