Hacker News new | ask | show | jobs
by lushdogg 1694 days ago
This has been posted a few times but a cool resource nonetheless. I played around with NES/assembly last year and just about got a scrolling engine fully working. Couldn't get the last 2 tiles to render before the NMI interrupt ended.

Some other cool resources for NES:

https://wiki.nesdev.org/w/index.php/Nesdev_Wiki

https://fuzzytek.ml/tutorials/nerdynights/

1 comments

You don't have a lot of time in the VBlank to decide what tiles you're moving to VRAM.

I haven't developed an NES game before but I would assume you'd need to decode your game's map data into a buffer out of VBlank then stream it in after updating OAM. Unless you have the luxury of being able to just read it directly from ROM and write it to VRAM without a lot of intermediate processing.

I think most NES games had various schemes to represent the map data (compression schemes basically) with Metroid/Kid Icarus being a particularly elaborate one (a game editor "MetEdit" out there explains it). Not sure how they split the unpacking/VRAM writing workload.