Magic Pockets
Jump to navigation
Jump to search
Magic Pockets
There is no image of a modified version of this game — upload one!
Magic Pockets uses several compact binary formats for its DOS graphics, maps, level events and sound. These pages describe the DOS asset collection analysed by the re-magicpockets project.
Sixty files in the supplied data directory have an RNC ProPack method 1 wrapper. Decompress these before interpreting the formats below. install.txt and pockets.ini are uncompressed text; the logo resources embedded in the unpacked logo executable use a separate archive and LZHUF compression.
The filename matters as much as the extension. In particular, .pin identifies several unrelated formats, and .pak contains three different fixed-size graphics layouts.
Tools
| Name | Platform | Archives | Levels | Graphics | Music | Sounds | Text | Saves | .exe patch | Notes |
|---|---|---|---|---|---|---|---|---|---|---|
| re-magicpockets | Web browser / Node.js | Extract | View | Export | Export | Some | Some | No | No | Open-source vanilla JavaScript port, unified asset viewer and command-line extractors. Requires original game files. The viewer exports PNG and plain MIDI; the engine has a separate original-driver AdLib playback path. |
File formats
| Filename | Format | Details |
|---|---|---|
| *.pak, *.pap, *.pip, *.pin | Magic Pockets RNC Compression | Outer compression used by all 60 binary files in the analysed data directory |
| bitkid.pak, ape.pak, nasty1-4.pak, special1-4.pak, kidx1-4.pak, extras.pak, extrax1-4.pak | Magic Pockets Sprite Format | 32×32 or 16×16 masked planar tiles |
| blocks1-4.pak | Magic Pockets Tileset Format | 120 opaque 32×16 tiles per world |
| level1a-4b.pap, pcmap.pap, sea.pap | Magic Pockets Map Format | Ten 128×128 tile grids; level filenames use a world number and A/B suffix |
| new.pip, endscrn.pip, intro0-5.pip | Magic Pockets Image Format | DEGAS low-resolution planar images, including a shorter caption-font image |
| level0.pin, new1.pin, level2.pin, level3a-c.pin, level4.pin | Magic Pockets Level Script Format | Entity placement and level-event streams |
| adlib.pin, adlib2-3.pin, roland.pin, roland2.pin, soundbnk.pin | Magic Pockets Music Format | MIDI cue banks, with some dictionary-compressed entries |
| autoplay.pin | Magic Pockets Demo Format | Run-length encoded input for the attract demo |
| player.pin, beeper.pin, tandy.pin | Magic Pockets Sound Driver Format | Loadable 8086 code, rather than an audio data format |
| sblaster.pin | Magic Pockets Sound Blaster Data Format | Undecoded payload; filename alone does not establish its internal format |
| extra_2.pin | Magic Pockets Extra Data Format | Unclassified payload |
| pockets.ini | Magic Pockets Configuration Format | Positional hardware and control settings |
| install.txt | Magic Pockets Installer Script Format | Text configuration and commands for the installer |
| Archive appended to KLOGOPOU.EXE | Magic Pockets Resource Archive Format | EJWLIB resource directory with an XOR-obfuscated directory |
| LOGO1.HUF, LOGO2_4.HUF, LOGO3.HUF inside that archive | Magic Pockets Logo Image Format | LZHUF-compressed resources; LOGO1 has a verified planar image layout |
Notes
- Sizes and offsets on the format pages refer to decompressed data unless explicitly stated otherwise.
- Big-endian level records and picture words coexist with little-endian sound tables and 8086 executable code. There is no universal byte order.
- Sprite palettes, animation descriptors and tile collision classifications are held in the executable, rather than in the sprite or map files.
- The RE notes retain older hypotheses alongside later corrections. The image and music pages use the newer DEGAS and dictionary-MIDI findings. Unknown layouts remain marked as unknown.
- Viewing or exporting a format does not imply that an editor or a compressor is available. The capability flags above indicate partial support.
External links
- re-magicpockets on GitHub – browser port, parsers and reverse-engineering documentation
- File-format notes – evidence and original consumer addresses
