jgharston wrote:
As the operating system is in high memory &FFFF downwards, (by neccessity, the hardware vectors are there), it makes sense for the operating system zero page to be in high memory, &00FF downwards.
Which is the exact opposite of how most 65xx-oriented OS's are implemented.
Something to consider if you "reverse" zero page that way is adding new locations may become more of a chore. If zero page usage starts at some low address
X, ending at higher location
Y and new locations are added in a future revision, they can be added as
Y+1,
Y+2, etc. The converse would effectively be
Y-1,
Y-2, etc., which if multiple zero page locations are used as pointers, can lead to complication in making assignments.
Incidentally, and to be a little pedantic, the MOS Technology/WDC assembly language standard for the 65xx family is to notate hexadecimal values as
$xxxx, not
&xxxx. More than a few assemblers interpret
& as the logical AND operator, which would likely make
&FFFF ambiguous or lead to an assembly-time error.