3 ms·
> This is so completely wrong I question the person's ability to understand what's happening in the emulator. I'd argue that it's not completely wrong in the c
by toast0 2y ago
> This is so completely wrong I question the person's ability to understand what's happening in the emulator.
I'd argue that it's not completely wrong in the context of a BASIC program; other addressing modes exist, but I don't think the BASIC interpreter will use self-modifying code to make LDA absolute work.
> IIRC, the address + Y can't cross a page - Y is added to the least significant byte without a carry to the MSB.
If wikipedia is accurate, the address + Y can cross a page boundary, but it will take an extra cycle --- the processor will read the address + Y % 256 first, and then read address + Y on the next cycle (on a 65C02 the discarded read address will be different). But if you JMP ($12FF), it will read the address from 12FF and 1200 on an 6502 and a 12FF and 1300 on a 65C02 --- that's probably what you're thinking of.
- rbanffy 2y agoThanks. It’s been 40+ years since I last programmed in 6502 assembly. I am rusty.