Date : Sun, 24 Feb 2008 00:05:44 +0000
From : jgh@... (Jonathan Graham Harston)
Subject: Cross Assemlby
Dominic Beesley wrote:
> The difficulty getting anywhere with the Master is that it still has pretty
> limited memory in one block (although shadowing the screen is a big help!).
If you page in an unused bank of sideways RAM you have contiguous program
memory from PAGE to &BFFF. If you disable the MOS completely and page in
Hazel, you can have contiguous program RAM from &0000 to &DFFF - 56K!.
LDA #22:JSR OSWRCH
LDA #&80+mode:JSR OSWRCH :\ Page in RAM at &3000-&7FFF
LDA #bank:STA &F4:STA &FE30 :\ Page in RAM at &8000-&BFFF
LDA #143:LDX #12:LDY #255:JSR OSBYTE :\ Claim NMIs
LDA #&40:STA &D00:SEI :\ Remove NMI code, disable IRQs
LDA #&08:TSB &FE34 :\ Page in RAM at &C000-&DFFF
As long as you do not enable IRQs or call any MOS routines, the
whole of RAM is available in one continuous chunk. Your program
has to manually do any I/O such as screen access.
Once you have claimed NMIs, all compliant hardware stop generating NMIs.
If you're concerned spurious NMIs might be generated, it is prudent to
an RTI at &D00 just in case.
--
J.G.Harston - jgh@... - mdfs.net/User/JGH
A Review of Sheffield City Council's Members' Allowances Scheme
See http://mdfs.net/payreform