E-SWAT (City Under Siege)

ROM Version Differences

Retail Versions

The differences between the two retail versions (v0 and v1) of E-SWAT include:

In v1, the function at $08a9 which reads from VRAM adds two extra opcodes for delay purposes [1]. One of them is unnecessary, the other increases the delay between VRAM access from 18 cycles (too little) to 25. This bug fix confirms that v1 is a later version than v0.

v0 does not have a timer at the continue screen, while v1 does.

In v0, the player's health replenishes on reaching a boss, which it does not in v1.

v1 gives the player significantly fewer bullets than v0.

v0 has an "Arrest" graphic at the bottom of the Round Start screen.

Round Start [v0]

Round Start [v1]

Prototype Versions

Proto 0 has a different sub-title on the title screen ("The Ultimate Factor in the Battle Against Crime") and contains a spelling mistake when selecting the difficulty ("Nomal"). It also uses a different sprite for the player's bullet - the other four ROMs all use the same sprite. All of these differences make it clear that Proto 0 is the earliest prototype.

Title Screen [Proto 0]

Title Screen [Proto 1], [Proto 2] & [v0]

Title Screen [v1]

Difficulty Selection [Proto 0]

Difficulty Selection [Proto 1], [Proto 2] & [v0]

Difficulty Selection [v1]

Proto 1 is missing a section of code which exists in Proto 2, v0 and v1 ($15acb - $15af5 in the first two and $15ada - $15b04 in v1). This code fixes a bug in the behaviour of the round 2 mini-boss. Thus Proto 1 is earlier than Proto 2, v0 and v1.

Proto 2 is exactly the same as retail version v0 except for 6 bytes in the ROM header. Therefore it is clearly the latest of the three prototype versions.