That's rather an impressive map, lots of attention to detail ... you don't happen to study (or having studied) geology? Like how the rivers flow and mountain chains mark watersheds.
However, I'm coding in TMS9900 assembly,
In that regard, the TMS9900 and 65xx are more similar than you might think:
I have 16 registers, ...
... including stack-pointer, and program counter, which are actually stored
in memory. There's a single internal register that points to the register set - useful for fast context switches.
The 6502 can be regarded as having 256 registers, or 128 16-bit address registers, in much the same way. The first 256 bytes of memory (the "zeropage") can be accessed with a short 1-byte address field in many instructions. The accumulator really only acts as quick dispatch/scratch register for memory contents. There are two 8-bit index registers (X and Y), where X often is used as counter, and Y as address offset.
... no accumulator, and I can even do memory to memory operations ...
On the 65xx I can always write something like 'LDA $1234:STA $2345', or 'LDA ($12),Y:STA ($34),Y' which support any combination of absolute, indexed, and indirect addressing modes, and transfer 1 byte, within 4-6 bytes.
... Another advantage is having unsigned multiply/divide operators, ...
A case for two sub-routines operating on zeropage operands. Callable with a 3-byte JSR instruction.
How big is the source code of your program? ... ...
Greetings,
Michael