A new development tool is part of the X65 Project.
I was looking for a high-level-assembler that will make my life easier, writing OS/816.
The closest one to my needs is K65, but it was developed for 6502 on Atari VCS.
So I decided to rewrite it and adapt to 65816.
K816 aims to combine a familiar, readable, C-like source format with the control and predictability of hand-written assembly, while providing a small set of high-level conveniences that remove boilerplate and improve code clarity.
> target/debug/k816 examples/hello_uart.k65 --listing
> cat examples/hello_uart.lst
[default]
000200: A2 00 2C E0 FF 10 FB BD 18 02 8D E1 FF E8 C9 00
000210: D0 F0 A9 FF 8D F1 FF 60 48 65 6C 6C 6F 2C 20 57
000220: 6F 72 6C 64 21 0D 0A 00
[VECTORS]
00FFE0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00FFF0: 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00
[INFO]
00FC00: 48 65 6C 6C 6F 20 55 41 52 54 20 65 78 61 6D 70
00FC10: 6C 65 20 66 6F 72 20 58 36 35 20 52 49 41
[data obj#0 VECTORS::VECTORS]
00FFE0: <32 bytes of data>
[data obj#0 default::text]
000218: "Hello, World!"
000225: <3 bytes of data>
[data obj#0 INFO::INFO]
00FC00: "Hello UART example for X65 RIA"
[disasm obj#0 default::main]
000200: A2 00 ldx #$00
000202: 2C E0 FF bit $FFE0
000205: 10 FB bpl $000202
000207: BD 18 02 lda $0218,X
00020A: 8D E1 FF sta $FFE1
00020D: E8 inx
00020E: C9 00 cmp #$00
000210: D0 F0 bne $000202
000212: A9 FF lda #$FF
000214: 8D F1 FF sta $FFF1
000217: 60 rts⏎