ROCKFORD REMAKE PROJECT

(c) A. Sahala 2006 (updated 4.11.2009, 25.6.2018, 23.9.2023)
1. THE ORIGINAL GAME
Rockford was a Boulder Dash clone published by Mastertronic ltd. in 1987. The game included
20 levels divided into five difficulty levels each using it's own graphical theme: hunter,
cook, cowboy, space and doctor.
In addition to five themes, which didn't exist in Boulder Dash, Rockford also included some
interesting new features as worms, taps and magic lamps, quicksand and time/gold bonus counters.
Rockford also had a limited number of lifes.
Worms: Evil worms transmute gold into rocks, and rocks into non-gold producing enemies. Good
worms do the opposite.
Taps/magic lamps: Taps produce acid, magic lamps produce fire. These elements explode when
they touch each other; gold dropped on fire turns into a gold producing enemy.
Quicksand: Quicksand lets rocks and gold drop through it in random intervals.
Bonus counters: Counters give player random number of extra time or gold when collected.
Rockford's level design also differed a bit from original Boulder Dash. The levels were more action
based and arcadish, needing good reflexes and timing to complete (even more so, because Rockford
runned at double speed compared to BD).
Rockford included also 20 additional levels which were unplayable. They were designed for a future
add-on which as long as I know, was never released. The levels were about to use five additional
graphic sets, Scuba, Miner, Player, Luck and Music. See section 3. for info how to extract these
levels.
Screenshots of the Space and Cook themes.
1.4 Rockford DISK 2 reconstruction
I have made a Python script for extracting the hidden content and made reconstruction of
the hidden graphic themes (beta version). To patch your ROCKFORD.EXE and graphic files,
go to my github at github/asahala/Rockford-Patcher.
1.5 INFO ABOUT THE HIDDEN STUFF (NEW 25.6.2018)
Thanks to Michael Eberlein's discovery, the graphics files are encoded as planar EGA.
By using the information provided by Michael and ModdingWiki, I was able to extract
the tilesets from the game. Interestingly, the tilesets contain some kind of placeholders
for the player characters of the missing themes. The files seem to use standard EGA
palette, which needs to be replaced by the corresponding palette defined in ROCKFORD.EXE to
display them correctly. The placeholder sprites are not included in SPACE.FIL.
The sprites are most likely:
1. Scuba? (looks like an atmospheric diving suit)
2. Hunter
3. Cook
4. Cowboy / The guy in the title screen (his name is "Rockford")
5. Player? (although this could be also a scuba gear)
6. Music (looks like an orchestral conductor)
7. Space
8. Miner
9. Luck (a clown/joker or some kind of leprechaun)
10. Body
Unfortunately, when the standard EGA palette is replaced by the palettes
defined in ROCKFORD.EXE, all sprites have seemingly incorrect colors.
1.6 PALETTES FOR EACH THEME
No-one knows how the collectibles mentioned in ROCKFORD.EXE should be connected with
the missing themes. The collectibles are mentioned in the following order in 7A2-7EF:
GOLD (hunter) GEMS (maybe miner or the Rockford placeholder guy)
APPLES (cook) CUPS (maybe player)
COINS (cowboy) NOTES (music)
SUNS (space) CLUBS (maybe luck, refers to suit in a card deck?)
HEARTS (body) JEWELS (perhaps scuba)
As the standard collectibles are mentioned in order, it would be logical to assume
that also the collectibles for the missing themes are mentioned in order. Thus,
it is possible that the palette suggested for the "leprechaun" (LUCK) sprite is incorrect.
Anyway, as we now have some clues about the player character sprites, we could maybe someday
reconstruct the missing graphics even partly.
2. REMAKE
I released the first beta version of the remake in June 2008, and the version 1.0 in 2nd December 2008.
Remake runs on Rocks'n'Diamonds engine version 3.2.6. The remake can be downloaded from here.
Here are some screenshots of the remake with the original graphics sets.
In version 1.0:
- All five graphical themes have been created.
- All original 20 levels have been exported
- All hidden 20 levels have been exported
- All Rockford's special features (worms, taps, etc.) have been scripted and they work ok.
To do someday:
- Fix worm's 180 degree turning (if such scripting is possible)
- Fix fire and acid behaviour in horizontal movement.
- Autoset game speed to fast (if such scripting is possible)
- Set limited number of lives. Now player may try levels as many times as (s)he wants.
- Merge graphic sets, so that each level set would automatically use correct gfx.
- Change panel location to top.
- Reconstruct the five never released graphic sets (I've extracted their palettes from the .EXE).
COMPARISON: Original Rockford on the left, Remake on the right.
2.1. HOW TO INSTALL AND PLAY THE REMAKE
1. Install the newest version of the Rocks'n'Diamonds.
2. Download rockford_v1.zip and extract it into your Rocks'n'Diamonds subdirectory /levels.
For example D:/games/RnD/levels/Rockford_v1.
3. Run Rocks'n'Diamonds.
Go to setup -> Custom artworks and select the Rockford theme and sounds.
Remember to check override original graphics box.
4. Load levels by clicking levelset and choosing Rockford v1.0.
3. GENERAL FILE INFO (ORIGINAL ROCKFORD)
Rockford files and their functions:
ROCKFORD.EXE The game
CELLMAPS.BIN Levels
TITLE.FIL Title graphics, including credits and info text.
TITLEANI.FIL Moving graphical parts of the Title screen.
MENU.FIL Menu graphics.
HUNTER.* Theme 1
COOK.* Theme 2
COWBOY.* Theme 3
SPACE.* Theme 4
BODY.* Theme 5
*.CAR Animations (Planar EGA)
*.FIL Sprites, tiles, objects (Planar EGA)
Missing files:
These files referred in ROCKFORD.EXE are possibly some unfinished part of the game.
SCUBA.* Theme 6
LUCK.* Theme 7
MUSIC.* Theme 8
PLAYER.* Theme 9
MINER.* Theme 10
3.1. ROCKFORD.EXE
Palettes:
The first value is the background color. Each palette is separated by 00.
0929-0938 title palette
093A-0949 menu palette
094A-0959 hunter palette
095b-096A theme6 palette
096C-097B cook palette
097D-098C theme7 palette
098E-099D cowboy palette
099F-09AE theme8 palette
09B0-09BF space palette
09C1-09D0 theme9 palette
09D2-09E1 body palette
09E3-09F2 theme10 palette
0B98 Toggle dying on / off. 02 = on, 01 = off
(Can sometimes create buggy invisible blocks)
Press R to make coins appear!
0D1E -> 0D6D Money to be collected, in order (theme number):
1, 6, 2, 7, 3, 8, 4, 9, 5, 10
28 00 28 00 50 00 96 00 Hunter
14 00 41 00 82 00 37 00 6
00 00 00 00 00 00 2D 00 Cook
14 00 23 00 1E 00 21 00 7
1E 00 7D 00 16 00 37 00 Cowboy
32 00 1E 00 1E 00 00 00 8
00 00 00 00 00 00 3C 00 Space
0F 00 0B 00 1E 00 00 00 9
00 00 00 00 4B 00 12 00 Body
10 00 18 00 39 00 01 00 10
0EFE -> 0F4D Level times. In same order as above.
6E 00 6E 00 82 00 6E 00 Hunter
50 00 8C 00 64 00 6E 00 6
6E 00 6E 00 5A 00 82 00 Cook
5A 00 64 00 6E 00 64 00 7
6E 00 73 00 78 00 73 00 Cowboy
82 00 5A 00 6E 00 6E 00 8
6E 00 6E 00 8C 00 6E 00 Space
82 00 82 00 8C 00 91 00 9
82 00 A0 00 AA 00 8C 00 Body
8C 00 8C 00 6E 00 B4 00 10
3.2. CELLMAPS.BIN
Maps are in order (by theme number) 1, 6, 2, 7, 3, 8, 4, 9, 5, 10, see my formatted file in cellmaps.html
(order of levels changed). Hidden maps can be played by removing theme 1 from CELLMAPS.BIN. Then maps for theme 6
are loaded for hunter, 7 for cook etc. Level times and gold amounts must be changed in ROCKFORD.EXE
to make the new levels possible to complete.
hex ascii tile
00 . empty space
01 ☺ diggable dirt
02 ☻ indestructible wall
03 ♥ destructible wall
04 ♦ magic wall
08 ◘ growing wall
0C ♀ quicksand
10 ► amoeba
20 player start location
28 ( boulder
"butterflies" (enemies producing gold when hit by a stone)
2C , enemy - left
2E . enemy - up
2f enemy - right
30 0 enemy - down
"fireflies" (enemies not producing gold when hit by a stone)
34 4 enemy - up
35 5 enemy - left
36 6 enemy - down
37 7 enemy - right
38 8 fire tap
70 p evil worm
74 t exit
78 x gold bonus
7C | time bonus
84 ä good worm
88 ê gold
C4 - acid tap
3.3. *.FIL and *.CAR
Yet, I haven't been able to crack the *.FIL and *.CAR files. Different hex values seem to
indicate different pixel formations, where 00 is empty and ff is full colored. Tile shapes are
clearly recognizable if the file is split into 80 byte long lines.
4. PLAYING THE HIDDEN LEVELS IN ORIGINAL ROCKFORD
First, you must to change the level times and gold amounts into correct values. Otherwise playing will be
impossible, as you may have to collect 80 gold in a level where only 20 gold is available; or you won't have enough
time to complete the level.
MAKE A BACK-UP OF YOUR ROCKFORD.EXE!
a) Open ROCKFORD.EXE in a hex editor (I prefer HxD, as it's free and versatile)
b) Copy hexes from 00000D26 - 00000D6D (These are the amounts of gold to be collected in themes 6, 2, 7, 3, 8, 4, 9, 5, 10)
(14 00 41 00 82 00 37 00 32 00 23 00 19 00 2D 00
14 00 23 00 1E 00 21 00 1E 00 7D 00 16 00 37 00
32 00 1E 00 1E 00 28 00 1A 00 37 00 3C 00 3C 00
0F 00 0B 00 1E 00 41 00 12 00 46 00 4B 00 12 00
10 00 18 00 39 00 01 00)
c) Replace-paste them on offset 00000D1E (do not insert-paste, or the file size will change and the exe will corrupt!)
d) Copy hexes from 00000F06 to 00000F4D and replace-paste them on offset 00000EFE. This will correct the playing times for hidden levels.
(50 00 8C 00 64 00 6E 00 6E 00 6E 00 5A 00 82 00
5A 00 64 00 6E 00 64 00 6E 00 73 00 78 00 73 00
82 00 5A 00 6E 00 6E 00 6E 00 6E 00 8C 00 6E 00
82 00 82 00 8C 00 91 00 82 00 A0 00 AA 00 8C 00
8C 00 8C 00 6E 00 B4 00)
e) Save the file.
Next, you must remove the first four levels from the CELLMAPS.BIN
MAKE A BACK-UP OF YOUR CELLMAPS.BIN!
The Difficult way (if you don't use HxD):
a) Start dos command console and open CELLMAPS.BIN into Dos text editor. I prefer EDIT or QEDIT, as both have 100% ASCII support.
b) Split every line from the 41st character, so that each line has only 40 characters (Rockford levels have 40 x 22 tiles).
c) Continue splitting until you see the first four levels of the game in ASCII format (see a formatted cellmaps.bin)
d) Delete the first four levels. This will shift the hidden level set 6 into the place of the original set 1; 7 to 2; 8 to 3 and so on.
e) Save the CELLMAPS.BIN
f) If you did everything right, the file size of CELLMAPS.BIN should now be 31 682 bytes instead of the original 35 200 bytes.
The easy way with HxD
a) Open CELLMAPS.BIN in Hxd
b) Set bytes per line to 40
c) Set Endoding into ASCII (you should now regocnize the level borders easily)
d) Remove first four levels (All data before the line 0000DC0).
e) Save file
Voilà!