Here is my current list of things still to be done in K65 compiler.
Simple
- signal errors on undefined character in string
- #if's within data
- #if's within code
- support for binary numbers
- report error when section names are reused (e.g. in inline section)
- correct support of
<flag>+?and<flag>-?branch operators >={...}>=loops and similar- support for negative eval results
- extend binary operations in eval
- change
^operator to bitwisexorin eval - 256-byte data section should work with nocross
- add fixed address option for sections
- add option to place sections in multiple banks
- fix lexer hanging on invalid input
Medium
- support for custom palettes
- mark section as referenced if ANY of its labels are referenced
- array support
- option to force full addressing with zeropage addresses
- include raw binary data from file
- extend computation on labels (compute
Label1 - Label2 + Offset) - switch to external image loader library (OpenIL?)
Hard/large
- macros
- pure assembly sections
- alternate bankswitching schemes
- alternate platforms
- per-instruction bank bits
- linker refactoring
- generalized linker
- bank blocks jumping
- bank checking when getting addresses
- option to override
ORGandRORGexecution address - lazy code sections
- target files and names
.bin.lst.symin config file - make
LSTfiles compatible with DASM/Stella - language reference document