Sprite Expand Bug in Defender for C64 by AtariSoft
8-Bit Show And Tell 8-Bit Show And Tell
55.8K subscribers
13,519 views
879

 Published On Sep 1, 2024

The official Defender game cartridge for the Commodore 64 by AtariSoft from 1983, by Joe Simko, has an amusing super-sized bug. If you hit the Restore key just as your ship's explosion reaches its peak, when you play your next life, your ship, the alien enemies, and the humans you're Defending are all jumbo-sized. This is due to a minor initialization bug in the original 6502 code. After a BASIC demonstration of the VIC-II's sprite expansion capabilities, we discuss the CRT image emulator format and how we can examine it on a real C64, and then use the Super Snapshot machine language monitor to track down the cause of the bug and fix it. Then we use the venerable LOAD ADDRESS program from the 1541 Test/Demo Diskette to fix our fix, flash it on an Easy Flash 3 cartridge, and give it a play test. We also take a quick look at another Defender bug just discovered, which should be the subject of a future video.

To support 8-Bit Show And Tell:
Become a patron:   / 8bitshowandtell  
One-time donation: https://paypal.me/8BitShowAndTell
2nd channel:    / @8-bitshowandtell247  

Links:
The 1541 Test/Demo Diskette:
https://commodore.software/downloads/...

The CRT file format:
https://ist.uwaterloo.ca/~schepers/fo...

Index:
0:00 Defender by AtariSoft
3:30 Here's how to trigger the bug
5:50 Expanded sprites in C64 BASIC
11:07 About the Defender CRT image
16:15 A better way to load the image
19:02 Disassembling the 6502 code
23:53 Patching the code
25:45 Fixing the load address
28:33 Flashing, testing the fix
30:35 I noticed another bug!
33:52 Thanks to Steve, Patrons, and You

show more

Share/Embed