Recently I have managed to port oo2c Oberon compiler to a number of nmos6502 based platforms including
Atari 8 bit
oo2c is two pass Oberon-2 language compiler. First pass generates abstract syntax tree and second pass generates target machine code. Currently oo2c generates very optimized ansi-c code.
That code is very similar to assembler, with many goto statements etc.
oo2c developers prefer to use C as a portable assembler and for that reason it is possible not only to write in Oberon-2 language for most of the platforms but also to easily port it to any platform if there is C compiler available for it.
Initially Stewart Greenhill who sometimes deal with embedded systems and avr micro controllers have been written minilib and changed oo2c code so it could generate code for 8 bit cpus. I have changed minilib so it could be compiled with cc65 c compiler which generates code for many 8 bit 6502 based platforms. That is why now one can write object oriented code for nmos 6502 platforms 🙂
Compiler port is available for download at http://sourceforge.net/projects/nmos6502-oo2c