Thanks I had no idea that happened. So maybe trying to return from the gosub if figured it couldn't so it crashed?
I find having weapon options on a difficulty switch makes me want to do both in the same game.
If you were still using the gosubs, "if pfscore1 = %00000000 then room = 17 : pop : goto draw_room_shape_17 bank2" would have also fixed it.
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?
Unless a significantly large section of code is going to be used by multiple places in the program, I try to avoid gosubs from the start since gosubs in a bankswitched game use up too many cycles:randomterrain.com/atari-2600-memories-batari-basic-commands.html#cycle_count_gosub
It's also too easy to create a tangled web of gosubs that can be hard to untangle later on, so trying to avoid the web from the beginning can make things easier.
I didn't know that a mainloop could be stretched that far! Thanks
Yeah, the main loop for Seaweed Assault is stretched across 5 banks, if I remember correctly. As long as the data you need for a certain section of code is kept in the same bank with it, you are free to spread your main loop out over multiple banks (if you have free banks to use).
Love it I had no idea that colors could use dim _Color = u.v
Yeah, that's a quick and easy way to slow down the speed of the color change.
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.
All I did was reset your enemy timer when the player moves to a new room. Since the image for the enemy only changes at certain times, there could be a fraction of a second when the wrong enemy is displayed. Resetting the timer seemed to fix it.