The problem you had was caused by ending the game using a gosub instead of a goto.
" if pfscore1 = %00000000 then room = 17 : gosub draw_room_shape_17 bank2 "
Thanks I had no idea that happened. So maybe trying to return from the gosub if figured it couldn't so it crashed?
I got rid of all of the gosubs except the one that knocks the enemy back.
I have a habit of adding new program sections as subs, first as a small solo example code then adding it to the main program as a sub. Is it better to remove the gosub call then add the subprogram inside the main loop once they work properly?
I moved the rooms to bank 3, then split the main loop between bank 1 and bank 2 to give you more room for code.
I didn't know that a mainloop could be stretched that far! Thanks
I changed the flashing of the score and objects.
Love it I had no idea that colors could use dim _Color = u.v
I fixed it so if you move between the room with the big red thing and the room with the spider-looking thing, their shapes won't be contaminated with the shape of the other enemy.
I wasn't aware of this, thanks for pointing that out and I'll have a look at how you fixed it for future reference.
I fixed it so there is a 2 second freeze when the game is over, then the player can press reset or the fire button to start the game.
Yeah I thought about doing this but I wasn't sure if people with real hardware were sitting close enough to their console to play with the switches. I find having weapon options on a difficulty switch makes me want to do both in the same game.
Thank you RT you are awesome! 
Added Random Terrain's fixed version to the first post with the appropriate score graphics. It's bug free!!!! 
Ok back to working on enemy's, ai paths, some tweaks to the world layout, game variations, a titlescreen, demo mode and hope to add support for a second player brawl mode too.
Edited by ultima, Wed May 6, 2015 10:51 AM.