Memory addresses from $0800 to $17FF should contain the high byte address repeated 256 times..
08080808
09090909 ... etc etc
same at 2800-3700 4800-5700 6800-7700
https://ctrl.vi/i/tm3Cv_5FG this is from a real c64 and 1541 (same on 1541 II)
writing to those addresses does not damage any component.
writing in rom areas may (and will) damage a few components according to commodore manuals.
Isn't it just reading from an open bus? In that case the CPU will often see the last value from the bus, but not always - e.g. LDA $07ff,Y with Y != 0 should see the RAM value from ($06ff+Y) due to the dummy cycle.
Last edit: Ingo Korb 2023-04-08
I don't know if it is relevant. but in PETs reading from an open bus also results in the high-byte of the address. I didn't try LDA $07ff,Y on it though.
The same happens on VIC20 AFAIK. Not sure why
The reason is that the low byte remains hanging on the address bus and it's so read back (afaik)
also: not all addresses are affected.. you should check a dump of a 1541 or 1541 II memory to be sure.. as soon as I can I will provide one if you need.
Whats needed here isnt a dump, but a test program - preferably checking the way Ingo suggested.
fixed in r43662
sorry to bring this up again....
but why isn't SNAP_MINOR increased in drivecpu65c02.c, as it is in drivecpu.c ?
Because i forgot - fixed in r44447 :)