nintendulato addressing modes

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
nintendulato addressing modes
by on (#11133)
quietust, i was looking at your source and could not figure out what the difference between abx and abxw, aby and abyw, and inx and inxw are. could you explain your addressing modes ?

i have 2 swtich blocks for my cpu; the first does the addressing mode and the second does the instruction. right now i have a look up table with the cycle times and was going to put the cycle count in with the addressing mode. i read somewhere here that the cycle count is determined by the addressing mode since its the fetches that determine how long the instuction takes.

thanks

matt

by on (#11159)
The "w" addressing modes are used solely for writes, and the difference is that they will always spend an extra cycle for handling page crosses, even if they don't cross. Although it's acceptable to do a throwaway read, it is not acceptable to do a throwaway write, and the CPU doesn't know whether the 'throwaway' read is necessary until AFTER it's done.

by on (#11286)
thanks. i am analysing my cpu and applied almost the same idea. till now i was ignoring the extra cycles.

matt