This is a template for ROM based assembly programs that you are free to use or continue upon.
It's made for the CA65 assembler.
Create your program code as normal. Of coarse, you need to place all variables in RAM and avoid any self modifying code.
Include the file kernal.inc. This will:
Create jump vectors for all "public" KERNAL function, and
Set the IRQ vector in $fffe-ffff, so that the KERNAL interrupt handler is called.
The file example.s is a small hello world test.
The project is built with build.sh.
The file example.cfg contains the memory segment settings needed by the assembler/linker.
The source code is also available on Github: