Mound the attached D80 image in VICE. Type:
BLOAD "*"
SYS 1024
(note that this is BLOAD, not DLOAD).
The last three tests fall in VICE but they work on real machine.
Test "read_back_direct_2" and "read_back_indirect_2" show a simple bug in reading the value written to $00/$01 register - on the real 6509, only four bits are used, so when you write FF, you should read back 0F. Test "read_back_indirect_1" shows (I think) that on a real machine, even LDA (xx),Y reads the CPU register when accessing $00/$01 whereas in Vice it seems to read underlying memory.
Source code for the tests:
https://github.com/MichalPleban/6509-test
Fixed in rev 34557, please retest.
Nice catch btw, this bug has gone unnoticed probably since xcbm2 was added to the project.
seems ok?
Last edit: Querino 2018-03-15
Works for me too, closing.