User Tools

Site Tools


base:use_shy_as_sty_abs_x

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
base:use_shy_as_sty_abs_x [2017-11-16 01:37]
cruzer
base:use_shy_as_sty_abs_x [2017-11-16 01:38] (current)
cruzer
Line 25: Line 25:
 However, there'​s a little catch. The value is and'ed with the high byte of the address before it's stored. And to make it even more confusing, it's actually the high byte + 1. So if you store it in $fe00, the value is and'ed with $ff, and therefore unaffected. But since you don't always use all the 8 bits, other addresses might work as well. E.g. if your values are C64 colors, which are between $00 and $0f, the upper 4 bits don't matter. So in that case all pages ending in $e will work, i.e. $0e00, $1e00, etc. However, there'​s a little catch. The value is and'ed with the high byte of the address before it's stored. And to make it even more confusing, it's actually the high byte + 1. So if you store it in $fe00, the value is and'ed with $ff, and therefore unaffected. But since you don't always use all the 8 bits, other addresses might work as well. E.g. if your values are C64 colors, which are between $00 and $0f, the upper 4 bits don't matter. So in that case all pages ending in $e will work, i.e. $0e00, $1e00, etc.
  
-The opcodes are classified as unstable, but this only affects the and'​ing. ​I'​e'​ you can't rely on the and'​ing always taking place, so sometimes the whole value is stored, and sometimes it's and'ed first. But if you use value/​address combinations where the and'​ing doesn'​t matter, the result is always the same.+The opcodes are classified as unstable, but this only affects the and'​ing. ​So sometimes the original X/Y value is stored, and sometimes it's and'ed first. But if you use value/​address combinations where the and'​ing doesn'​t matter, the result is always the same.
  
base/use_shy_as_sty_abs_x.txt ยท Last modified: 2017-11-16 01:38 by cruzer