Ok, I haven't started the cityscape work yet. Will leave that for last. I was hoping for some other questions someone might be able to help me figure out.
it seems that $F8 and $F9 do different things as far as the frame counter. Seems that F9 rotates most of the ships like the landers. F8 rotates other ships (like firebomber) and is also used for some reason on the end of wave screen. So I can hard code F9 to 0x01 to get the ship images to stop rotating without impact (but not 0x00). Further, I cannot set F8 to anything other than rotating 0x00 to 0x03 without it affecting the end of wave screen.
Less a question and more an observation I guess.
Where are the enemy graphics actually loaded? I can see the bit where the enemy ship index positions are used from 9d and 9e but I cannot tell where it actually loads the base addresses to use with the index registers. Debugging is really baffling me to try and figure out.
This is to do with colors. So for instance, Lander IMage 1 is FF94 to FF4E. but the colors defined at FF9E to FFA5 are for the mutant. And this is similar to other lander images (the other 4). The mutant is defined alone without colors right after the image and the lander colors themselves are FFD5 to FFDC! How in the world are the graphics referenced since they don't seem to be uniform addresses spaces away from each other, and especially where the colors definitions are scattered everywhere. Is there are reference table somewhere i have not found?
Cause it's like the bombers are defined differently and the baiters are even more different.
Take the lander definition:
; .byte $92 ; |X X X | $FF96 original
; .byte $54 ; | X X X | $FF97
; .byte $54 ; | X X X | $FF98
; .byte $7C ; | XXXXX | $FF99
; .byte $EE ; |XXX XXX | $FF9A
; .byte $EE ; |XXX XXX | $FF9B
; .byte $7C ; | XXXXX | $FF9C
; .byte $38 ; | XXX | $FF9D
This is the defined lander. If I change line FFD9 to $00 (blank) then the image does not show. I cannot find a stripping of graphics if the top/bottom defined is not non-zero.
Maybe I am getting assembly tunnel vision....