Hi there fellow NES Development Newbies!
I'm Rychan and I've started to get into NES development recently after having spent a year or two coding up Gameboy games in GBDK and C. There's a link to a few of them here if you're interested BTW: http://gamejolt.com/@refreshgames/games
I've never played with assembly until about a month ago and have finally plucked up the cpourage to take on the beast that is NESASM.
So far I've been able to get the basics of a game working well inside the FCEUX NES Emulator. Wrote some collision detection, faux randomness, played with sprites and moving from the title screen to the main screen and you can probably tell where this is going
Before we get there though, here's a link to an animation of the main game screen in it's current state via emulation:
https://twitter.com/refreshgamesuk/status/872585476661805057
So, I purchased a flash cart and with the help of a friend got my old NES up and running with the thing. Which is when I noticed a few fundamental flaws with my code haha! Yes joypad button detection and also running out of vblank time by putting EVERYTHING into NMI, like a noob which is where I am with ASM I guess
I've updated my joypad handling code which now works on device and understand that I now need to separate my game logic out into the main game loop and minimise the amount of stuff in NMI but I'm a little unsure how to both perform large background loads safely and how to inform my code that it needs to wait until vBlank is done for safe looping.
I mean, is it possible to OAM a whole background over in a single vblank amount of time? I don't know the cycle count for this but I imagine it's a lot less flexible then the gameboy
Any advice would be really handy, I'm still sorta dreading moving my code from NMI into the main game loop but understand that it needs to be done in order to persue my dreams of owning a NES cart which I made, 8 year old me would be so happy also
I'm Rychan and I've started to get into NES development recently after having spent a year or two coding up Gameboy games in GBDK and C. There's a link to a few of them here if you're interested BTW: http://gamejolt.com/@refreshgames/games
I've never played with assembly until about a month ago and have finally plucked up the cpourage to take on the beast that is NESASM.
So far I've been able to get the basics of a game working well inside the FCEUX NES Emulator. Wrote some collision detection, faux randomness, played with sprites and moving from the title screen to the main screen and you can probably tell where this is going
Before we get there though, here's a link to an animation of the main game screen in it's current state via emulation:
https://twitter.com/refreshgamesuk/status/872585476661805057
So, I purchased a flash cart and with the help of a friend got my old NES up and running with the thing. Which is when I noticed a few fundamental flaws with my code haha! Yes joypad button detection and also running out of vblank time by putting EVERYTHING into NMI, like a noob which is where I am with ASM I guess
I've updated my joypad handling code which now works on device and understand that I now need to separate my game logic out into the main game loop and minimise the amount of stuff in NMI but I'm a little unsure how to both perform large background loads safely and how to inform my code that it needs to wait until vBlank is done for safe looping.
I mean, is it possible to OAM a whole background over in a single vblank amount of time? I don't know the cycle count for this but I imagine it's a lot less flexible then the gameboy
Any advice would be really handy, I'm still sorta dreading moving my code from NMI into the main game loop but understand that it needs to be done in order to persue my dreams of owning a NES cart which I made, 8 year old me would be so happy also