Hi
Most RAM setups on the NE64 use the initialisation 0x39 (note that this can only be written once in normal mode).
This sets the internal RAM position to b0011100000000000 and aligns it to the top of the mappable space.
The RAM position block is 0x3800..0x3fff (the next possible position is 0x4000).
Now the SRAM size in the NE64 is 8k (0x2000).
Because the RAMHAL bit is set, the block ends at the top of the range (0x3fff).
Since the SRAM is 8k in size, it thus begins at 0x2000.
0x39 thus configures the SRAM to be addressable between 0x2000 and 0x3fff.
If the RAMHAL were not to be set (value 0x38) then it would mean that the RAM is aligned to the bottom of the block (in our case 0x3800). Since it is 8k in size, it would be addressable from 0x3800..0x57ff.
A value of 0x20 would in fact position the SRAM in the NE64 to the same position as 0x39, it specifies the lower address position rather than the higher address position but produces the same result. [I never tested this but it is probably the case]
[Since the only really practical setup of the SRAM in the NE64 from 0x2000..0x3fff then it is best to do the same as every one else and just set 0x39 on inialisation...]
Regards