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: https://patreon.com/8BitShowAndTell
One-time donation: https://paypal.me/8BitShowAndTell
2nd channel: https://youtube.com/channel/UCAgWzEh5c8391eJnELDy9OA
Links:
The 1541 Test/Demo Diskette:
https://commodore.software/downloads/download/152-1541-floppy-drive/1151-1541-test-demo-disk-1-85
The CRT file format:
https://ist.uwaterloo.ca/~schepers/formats/CRT.TXT
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