Help build CV2R!
Know some Javascript and node.js? Got some experience hacking NES ROMs with 6502 assembly? Good at generating and modifying pixel art? Want to apply your web dev skills to improve this quickly put together website? If so, there's a good chance you can help! Check out the links below to find the best ways to contribute.
- cv2r - This is the core CV2R command line interface written in Javascript with node.js as its engine. While JS runs the CLI, there's mountains of dynamically generated 6502 assembly under the hood that's responsible for the real heart and soul of the randomizer.
- cv2r.com - This is the source code for the old website. The new website will have a github soon
- Discord - Join the community of players and developers on the CV2R discord server. Often times new features, bugs, and other ideas are discussed here first before ever making it to Github. The absolute BEST way to get involved is to come join us here!
Tools of the Trade
- CV2R Wiki - A growing list of information about CV2R and CV2 including many ram and rom addresses and notes from BSAC and Kaelari as the work on the randomizer.
- CursEd Game Editor - This program allows you to load up a Simon's Quest ROM and edit levels, enemies, NPCs, text, and graphics. Additionally, it is a fantastic reference for the ROM memory locations of those things in the game. It was used heavily in the making of the itemizer and enemizer for CV2R. It's a must-have tool for the aspiring CV2R developer.
- HxD (or other hex editor) - I use HxD, but any solid hex editor will do. While all ROM code is eventually written via the cv2r codebase, all initial discovery and experimentation is more much more efficiently tested via directly editing the CV2 ROM with a hex editor.
- fceux and mesen - A good emulator with strong debugging tools is a must for CV2R development. These are 2 of the best NES ones available. fceux is my personal emulator of choice and has been the backbone of all CV2R development. That said, I'm told mesen has much more mature, full-featured debugging tools.
Need to learn the underlying technology?