Difference between revisions of "Accessing paged and banked memory"

From BeebWiki
Jump to: navigation, search
(Initial draft based on MemAddrs)
 
m (1 revision)
(No difference)

Revision as of 23:58, 28 August 2013

OSRDSC (previously named OSRDRM) should read from any specified memory. In actuality, it only reads from the currently displayed screen memory and the specified paged ROM.

OSWRSC should write to any specified memory. In actuality, it only writes to the currently displayed screen memory and the currently selected paged ROM/RAM.

OSWORD 5 and 6 should read and write to any specified memory. In actuality, they only access the main memory, regardless of display, and the currently selected paged ROM/RAM.

&FFrrxxxx -> sideways ROM/RAM &FFFFxxxx -> main memory &FFFExxxx -> displayed memory &FFFDxxxx -> shadow memory &FF7Fxxxx -> Hazel memory

   DEFFNrm(!&F6):LOCAL Y%:Y%=?&F8 EOR &F0:IF?&F8<&80:IF?&F7>&BF:?&F9=0
   IF!&F6<0:IF?&F7>&7F OR Y%=&E:=(USR&FFB9)AND&FF ELSE =?!&F6
   DEFFNwm(!&F6,A%):LOCAL Y%:Y%=?&F8

See Also

http://mdfs.net/Docs/Comp/BBC/MemAddrs