Deep Red

What Deep Red?

Deep Red is a run and gun action platformer for DOS. It was developed by Island Dream and published by Mago Ediciones in 1996. As far as I can tell it appeared in a Spanish collection called "Juegos Para tu PC no. 5".

You control a mercenary who looks suspiciously like the main character from Crusader No Remorse. Your aim seems to be to run and jump and shoot through nine levels of an enemy base.

Deep Red gameplay
Deep Red gameplay

What's the Problem?

The publicly available version of the game contains a level that is incomplete. Specifically level 6. There is an unreachable platform about 2/3s of the way through the level.

Player demonstrates being unable to jump to the next platform in Deep Red.
Deep Red's level 6 is slightly broken.

The Solution

Basically, the barrel's collision data was extended to make the barrel slightly taller. This gives you enough height to reach the next platform.

A section of Deep Red's level 6 map with some tile data laid on top.
Deep Red's level 6 with the extended barrel.
Player demonstrates jumping via the slighty taller barrel.
Deep Red's level 6 is completable again.

Downloads

Pulling the Game Apart

I'm including some notes on looking into the file formats for anyone who might be interested. I disassembled just enough to confirm some details about the file format.

The code for the level viewer is available from my github.

Deep Red is bundled with PMODEW, a DOS protected mode memory extender. It provides a tool that allows you to unbind it, and get a plain Linear Executable file that IDA can read.

Unbinding PMODE extender stub from the executable.
Unbinding PMODE extender stub from the executable.

Using IDA I basically had a peek at how some of the map files were loaded by looking up likely strings that contained map filename snippets and follow their usage to the relevant functions.

IDA: function that loads MAPAS/*.DAT files
IDA: function that loads MAPAS/*.DAT files
IDA: function that loads MAPAS/FASE*.PC1 files
IDA: function that loads MAPAS/FASE*.PC1 files
IDA: function that loads MAPAS/GRAF.GR? files
IDA: function that loads MAPAS/GRAF.GR? files

Brief documentation of the file formats:

MAPAS/?.DAT - map properties, a list of properties in a human readable format. 
        (I think it is codepage CP220, Spanish.)
    mapas\\graf.gr0     <-- the tileset for that level
    loc1                <-- enemy sprites
    Disparo=100         <-- other properties related to spawn rates, etc
    Cañon=200
    Vel=1

MAPAS/FASE?.PC1 - map data
    Header:
        u16: map height in tiles
        u16: map width
        u16: map width (dupe)
        u32: size of remaining data in bytes
    
    Level data: 
        Array of records with two fields:
            u16: tile idx (starts from 1, 0 is nothing)
            u16: tile flags (determines collision, spawns, and animated tiles)
    
    tiles are arranged in level column order.

MAPAS/GRAF.GR? - map tile gfx
    Palette: VGA palette. 256*3 bytes. Shift by 2 to get 24bit rgb.
    u8: unused. always 1?
    u32: size of remaining graphical data in bytes
    Array of tile data, uncompressed, 16x16
            
Finally, you can view the graphics using Sakanakao's Binxelview utility:
Binxelview: viewing graphics data
Binxelview: viewing graphics data
The actual fix was copy pasting the flags for the barrel so the collision tiles were one more tile upwards. That gave the main character enough height to make the jump to the next platform.
Animated difference in level 6
Animated difference in level 6

Results!

In early 2025, GamesWithJohnny_ attempted a playthrough of Deep Red on his stream but came across the issue in level 6. He contacted me and asked if I could have a look at it. It wasn't until December that I got around to exploring the game data and finally patch the level. The next day, Johnny attempted another playthrough and finished the game legitimately.

Johnny's Deep Red full playthrough.

Johnny's Deep Red stream vod.

Johnny demonstrating the jump.
Johnny finishing the game.

Maps

Saved from the level viewer tool.

Deep Red Level 1
Deep Red Level 1
Deep Red Level 2
Deep Red Level 2
Deep Red Level 3
Deep Red Level 3
Deep Red Level 4
Deep Red Level 4
Deep Red Level 5
Deep Red Level 5
Deep Red Level 6
Deep Red Level 6
Deep Red Level 7
Deep Red Level 7
Deep Red Level 8
Deep Red Level 8
Deep Red Level 9
Deep Red Level 9

Links

Page History

2025-12-30 First version