Weird Science - Tales from the
Vectrex Academy Lab
Vectrex
Project Title
- An analysis of the original Web Warp / Web Wars
cartridge and source code
Project
Status
Synopsis
- Digital Archeology - An investigation of the Web
Warp (Web Wars) cartridge
- The official Web Warp manual states
that there is a total of 20 trophies to be
collected in this game.
- Yet, after such a score is
successfully achieved, the game still continues
and more trophies can be collected. However,
from there on the graphics of the additional
trophies and their display in the trophy room
become distorted. This is common knowledge in
the Vectrex community.
- Below is a screenshot of the trophy
room containing some 28 "creatures" (some of
which are even placed outside the visible screen
area).
- Up to now, it was commonly assumed
that the reason for this simply is that, in the
game binary, vector data is defined in a table
for 20 trophies only, and that for drawing the
additional trophies then whatever garbage data
is used that happens to be in the rom-space
after those 20 valid entries.
- And it was also assumed that the
programmers simply did not expect any player to
get that far, and therefor did not care for
adding a respective check (so essentially the
very same thing that caused the Mine Storm -
Mine Field 13 bug).
- Let me restore their honor!
- Here comes a short summary of some
interesting, and yes, probably
useful findings...
An
analysis of the WEB WARP source code
- These findings are deductions (and some
speculations) based on a full disassembly of the
original Web Warp cartridge code.
- Standard Disclaimer: I hold the highest respect
for all the designers and programmers who worked on
the original Vectrex games back in the Eighties, and
who were using development environments which are
completely different than those of our modern times.
So, if some of what I write here might sound
negative or presumptuous, it is not meant like that
at all.
- I can confirm that there are indeed
vector lists for exactly 20 different trophies
only defined in the Web Warp code.
- I can confirm, that the reason for
the distorted display of the additional trophies
is exactly as was assumed and as is described
above.
- But I can disprove that the
original programmers did not care for this!
- They did care. And they did check.
And there is a second trophy room for
trophies 21 and higher!
- But, hold on to your seats, they
introduced a bug in their code for this
very check!!!
- This is the bug: they checked for
having reached 20 trophies by writing "cmpa
#$20". Meaning, they accidently confused
hex and decimal notation :-)
- Changing this to "cmpa #20"
makes their intended code work (except for one
tiny other detail, but let's not be picky here).
- Now, after having caught trophy 21,
the title of the trophy room reads "TROPHY
ROOM 2", and only the trophies from 21
onwards are (correctly) displayed by reusing the
images (vector lists) of trophies 1 to 20. Here
is a screenshot after having caught 22 trophies:
- In the original Web Warp, the very
same will happen after having caught trophy 33
(one more than hex $20, which is decimal 32).
But as of today, to my best knowledge, no one
has ever played that far, so this went unnoticed
until today.
- Below you will find a patched
version with the bug fixed. Note, that the
garbage trophies will return in trophy room 2
once you have caught more than 40 creatures. The
original programmers did indeed not care for
that. Which is okay, I think :-)
- To be continued. Comments are welcome!
Source
Code
- There are
still some parts of the code which I have
not yet fully analyzed, this is still
ongoing work. I did not make the code
disassembly beautiful in any way. I have not
fully documented it, and some comments might
be outdated. If you spot any mistakes, or if
you have additional insight, please let me
know.
Credits
- Again, this
analysis would not have been possible
without Vide.
- Many thanks to
Malban for once more adding tons of new
features I suggested or asked for.
Patched
Web Warp Version:
- Please note, these are just experimental patches,
not meant as alternate game versions.
- Title
text changed
to "WEB
WARPED"
- Trophy
room bug fixed
as described
above and
trophy room 2
made available
- Except
for the title,
this is a
one-byte patch
- Downloads
are free and
for
non-commercial
use only. Use
at your own
risk.
- Please
respect the
copyright and
credit the
author and the
origin of this
game.
Online
Playing
- Link to Dr. Snuggles' online
emulator to directly play the game in your
browser: Web Warped
Author
Latest
modification on 04/24/2023, 15:00
|