first some words about the strange behavior:
i developed this on pc and tested it strongly on vice 3.2. my "real" hardware is a reloaded mk2 board with an u2+ attached.
i can inject my assembled code directly from pc over the u2+ into the c64 ram. i've tested it several times and it worked fine.
i have no idea, why it on some configurations you guys are using doesn't work :O

A lot of hassle to get his intro working on a real C64. Using the U2+ / dma load crashes the intro almost instantly. Even without the use of any speed loader cart and loading it from floppy (d64 disk image) it crashes.

To get it working I needed to unplug the U2+ and use it in standalone mode. Loading the intro without anything in the expansion port seems to be the only way to get it to work (for now).

Then there's the ugliness when pressing the space bar. This really seems like a rushed job to me and that's a pity.

I think it's a CIA timer irq. If you break at entry point $80d and then enable brakpoint on nmi you will get a break couple of times. And the CIA vector is still pointing to kernal routines since kernal is banked in.

Ok seems more likely an IRQ init problem, I managed to get it crashing even without AR, just injecting the prg in a d64. So it inits wrong or bad depending on the moment it's run, maybe d019 isn't cleared on init and a spurious pending irq fires too soon. Try this

About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene
around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made
for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the
people who made the scene (the sceners), but you can also find a lot of the old classic games here.
Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.