Ah, now I see. You want to use a two-line kernel (as Combat does). Then you have 2*76 cycles for each loop iteration. This then means your line counter needs to be adapted so that it counts double lines instead of single lines, i.e., you have to initialize Y with
ldy #(192/2)-1
I did a couple of small changes and got your kernel running, code is attached. Here are some more comments:
- In a two-line kernel players have to move at least two scanlines per frame when moving vertically. If this is too fast, you have to make use of the VDEL register.
VDEL explained explains how this works.
- It's probably necessary to rearrange the TIA writes in the scan loop so that they are not done in the visible part of the scanline. You can see this in the image were the player graphics is changed in the middle of the player sprite.
- There was a typo, cpy #zombiey needs to be cpy zombiey.
- I added two more WSYNCs so that Stella reports 262 scanlines. I haven't checked but maybe vblank is too short.
- And finally, just for fun I replaced the zombie graphics with the one from PAC-MAN-RED's thread
http://www.atariage....46#entry2118746 . Look's really scary now