Dip Switch Settings

Updated: April 18, 2023 at 13:44 CEST

Bomb Jack PCB has two dip switches to configure game settings. How the game accesses and makes use of them is explained right here.

DS_1

$B004 (Read/Write)

DS_1 value can be read from $B004. It’s being mirrored in RAM at $8013 and used accordingly. Factory DS_1 settings are: %11000000 which translates to demo sound on and upright mode.

💡 While $B004 seems like read only it actually is writable. Function at $4587 checks for two player game and when the mode is set to cocktail it writes 1 to flip the screen for player two and 0 back for player one.

Demo sound
Off %00000000
On %10000000
Mode
Cocktail %00000000
Upright %01000000
Lives
3 %00000000
4 %00010000
5 %00100000
2 %00110000
Coin 2
1 Coin - 1 Credit %00000000
2 Coins - 1 Credit %00000100
1 Coin - 2 Credits %00001000
1 Coin - 3 Credits %00001100
Coin 1
1 Coin - 1 Credit %00000000
1 Coin - 2 Credits %00000001
1 Coin - 3 Credits %00000010
1 Coin - 6 Credits %00000011

DS_2

$B005 (Read Only)

DS_2 value can be read from $B005. It’s being mirrored in RAM at $8014 and used accordingly. Factory defaults for DS_2 are: %01010000 which translates to high special coin ratio, hard difficulty and bird moving fast.

💡 On the contrary to DS_1 it is read only however it holds its own secret. According to manual, first three bits / switches are unused and should be turned off. But if you enable function at $5A07 by replacing $C9 (ret) with $F5 (push af) you’ll get access to unused “Extra lives” setting.

Special coin appearance ratio
High %00000000
Low %10000000
Enemy numbers and speed
Easy %00100000
Medium %00000000
Hard %01000000
Hardest %01100000
Extra lives
None %00000000
100K Only %00000100
100K and 300K %00000110
50K Only %00000011
50K and 100K %00000101
50K, 100K and 300K %00000111
Every 100K %00000001
Every 30K %00000010
Bird speed
Slow %00000000
Normal %00001000
Fast %00010000
Fastest %00011000