ReverseEngineered Shark

Electron Version
In the "CODE" file, some sprite data is found at 0x1d40.

Character movement (jumping) appears to be defined at around 0x4a0.

Map data starts at 0x2be0 and begins describing data almost half way across the first screen, column-by-column, starting from the top of the screen and ending at the bottom.

A side effect of setting the byte at 0x2be0 is that the player's bullet sprite is corrupted.

Tiles:

Each byte describes two columns in the map with the low four bits on the left and the high four bits on the right. Each column is 12 tiles high.

The first level ends at 0x2fe8 and the second level starts at 0x2fe8.

Tiles:

The second level ends at 0x33f0 and the third level starts at 0x33f0.

Tiles:

The game runs in mode 2. Sprite data for level 3 starts at 0x0000 and continues until 0x400. Sprite data for level 1 starts at 0x1d00 and continues until 0x2100. Sprite data for level 2 starts at 0x2100 and continues until 0x2500.

Note that tile 3 (ground) is used to generate soldiers and must be placed at the bottom-right of each screen if soldiers are to be generated.

Code
A map editor for the game is available from the SharkMaps repository at Bitbucket. Ready to use tape and disk images can be found in this Shark maps thread in the stardot forums.