Prof. Dr. rer. nat. Peer Johannsen

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

  • Ongoing research

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

  • Peer Johannsen

Latest modification on 04/24/2023, 15:00
  • Page created