Layer 2 Active RAM Bank Register: Difference between revisions

From SpecNext Wiki
Jump to: navigation, search
No edit summary
No edit summary
Line 5: Line 5:
|ShortDesc=Sets the [[Memory map|bank]] number where Layer 2 video memory begins.
|ShortDesc=Sets the [[Memory map|bank]] number where Layer 2 video memory begins.
}}
}}
Bits 5-0 store the number of the "SRAM page" (ie, [[Memory map|bank]]) used for the standard Layer 2 screen. The default is 8. Because the layer 2 screen is 48k, it actually occupies 3 banks, and the number set here is the first; so by default, it occupies banks 8-10.
Bits 5-0 store the number of the "SRAM page" (ie, [[Memory map|bank]]) used for the standard Layer 2 screen. The default is 8. Because the layer 2 screen is 48k, it actually occupies 3 banks, and the number set here is the first; so by default, it occupies banks 8-10. Then later NextZXOS does reconfigure both this and shadow bank to 9 (banks 9-11).


For shadow bank paging see [[Layer_2]]
For shadow bank paging see [[Layer_2]] and {{NextRegNo|$13}}.


Note that this register uses the 16kb bank method, so if you set Nextreg $12,$C if you need to read the contents via 8kb banks you would need to multiply x 2
Note that this register uses the 16kb bank method, so if you set Nextreg $12,$C if you need to read the contents via 8kb banks you would need to multiply x 2 (16k bank $0C is identical to 8k pages $18 and $19).

Revision as of 01:23, 21 December 2018

Number TBRegisterNumber::$12
Readable TBRegisterReadable::Yes
Writable TBRegisterWritable::Yes
Short Description [[ShortDesc::Sets the bank number where Layer 2 video memory begins.]]

Bits 5-0 store the number of the "SRAM page" (ie, bank) used for the standard Layer 2 screen. The default is 8. Because the layer 2 screen is 48k, it actually occupies 3 banks, and the number set here is the first; so by default, it occupies banks 8-10. Then later NextZXOS does reconfigure both this and shadow bank to 9 (banks 9-11).

For shadow bank paging see Layer_2 and {{#ask: TBRegisterNumber::$13 }} ($13).

Note that this register uses the 16kb bank method, so if you set Nextreg $12,$C if you need to read the contents via 8kb banks you would need to multiply x 2 (16k bank $0C is identical to 8k pages $18 and $19).