Hello,
For the chr thing - I'm assuming you mean the size I stated in the "Making a Real NES Cartridge" chapter? Thanks for pointing that out; that would cause a real problem for people trying to use INL cartridges! (If there's another discrepancy let me know, too - I tried to find others but all config/headers/etc seem to show 32x8 = 256kb)
I'll bump that down to 128 a little later today.
Update: After digging in I realized that my headers were in fact wrong, and the rom was kinda messed up as a result. Thank you so much for pointing that out!
I appreciate the thought of adding this to CaD editor, but are you sure it's a good idea to add it to that tool? I've never used it before but it seems like it's mostly a rom hacking tool, right? The point of this project is to provide the tools to "do it yourself" - it actually builds levels based on Tiled output files, and changes to the raw binary would likely be a bit harder to support. This project is also fairly active and addresses of things will change often. Finally, I'm not sure if this is an issue, but if people fork this to make their own games they will likely each need their own configuration. I guess I'm a little afraid having nes-starter-kit in the tool might cause confusion for users of CaD.
At any rate, I'm not one to hide information, so I'll try to answer you as best I can:
- Palettes are loaded by the assembly code here:
https://github.com/cppchriscpp/ne... (the .pal files are just small binary files nesst knows how to load) -- this gets loaded in crt0.asm, here:
https://github.com/cppchriscpp/ne... -- not sure what address this would end up at. It would probably be stable for a while, but I do update crt0.asm from time-to-time which would change the address.
- By block descriptions, I guess you're looking for which tiles are solid vs not. It's actually hard-coded for simplicity (though users could change this). The first 3 rows of 16x16 metatiles are walkable, and have no collision. The next 3 rows are solid. There's no further description; tiles can't do damage or anything of the sort - all other collisions are done with sprites. Sprites are defined here:
https://github.com/cppchriscpp/ne... (Which will almost definitely move around on you and change, I'm afraid)
I hope that helps, and thanks again for the note on chr size.
Next Day Update: I added an online version of the guide using Jekyll. It's much nicer to look at;
check it out!