Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
sst-6809:memory_latch_select_256b [2025/05/23 19:44] – [Memory Latch Select 256b] robertsst-6809:memory_latch_select_256b [2025/05/23 19:55] (current) – [RAM Mapping Note] robert
Line 37: Line 37:
 E.g. if you write a 1 to EF00 it will duplicate the upper bank in the lower bank. E.g. if you write a 1 to EF00 it will duplicate the upper bank in the lower bank.
  
 +==== RAM Mapping Note ====
 +
 +:!: 
 +
 +Be sure you have RAM switching code in ROM before switching to RAM pages 2 or higher.
 +
 +ROM code should include functions to:
 +  * Register-only Block Copy from RAM pages 0 and 1 into pages 2 and higher
 +    * The block copy must be split in two halves:
 +    * The first half gets the source byte into a register (only)
 +    * Switch the RAM page page but let the Program Counter fall through into the next ROM instruction which is the start of the second half of the copy 
 +    * The second half takes the register and posts it into a destination address of the destination RAM page
 +    * Then switch BACK to the source RAM page and fall through into the next ROM address which continue copying from source RAM page 
 +  * Transfer the Program Counter into the destination address of the destination RAM page to start running code from
 ===== Upper 32K ===== ===== Upper 32K =====