Now I am able to load 5 room level into RAM and then do scrolling on that. My program has logic to do the below after an NMI:
- identify controller input if there's any.
- handle gravity, jumps and horizontal movement of main character based on input. Update sprite area based on the input.
- get the main character position, calculate its different collision sensitive points and do BG collision detection based on them.
- Draw the scroll seam and scroll. The level can scroll from left to right only. If required then nametable is updated with 8x8 columns of tiles every 8th increment of the x coordinate of character.
I dont see any visible problem when running this code on FCEUXD . But I am not sure if all the code will be executed withing the vBlank on a REAL NES. Can a "real NES like testing" be done on an emulator? Which emulator is the closest to NES in this regard?
- identify controller input if there's any.
- handle gravity, jumps and horizontal movement of main character based on input. Update sprite area based on the input.
- get the main character position, calculate its different collision sensitive points and do BG collision detection based on them.
- Draw the scroll seam and scroll. The level can scroll from left to right only. If required then nametable is updated with 8x8 columns of tiles every 8th increment of the x coordinate of character.
I dont see any visible problem when running this code on FCEUXD . But I am not sure if all the code will be executed withing the vBlank on a REAL NES. Can a "real NES like testing" be done on an emulator? Which emulator is the closest to NES in this regard?