Accessing paged and banked memory

From BeebWiki
Revision as of 17:08, 14 December 2007 by Jgharston (talk) (Initial draft based on MemAddrs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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