PitfallJ wrote:
So I get 4 extra pages of 16K at $8000-$BFFF like:
LDA #BANK_INDEX
STA ROMSEL
Yes that's right, though it's probably best if you also do STA &F4, that way OS and interrupt routines won't randomly map out RAM.
Quote:
Does the Master 512 just have more banks?
No, the Master 512 is just a Master 128 with an 80186 copro (which has 512k RAM which you can't really get at from the 6502).
Quote:
As for the 16 color 320 mode - what if you set up a smaller screen - like 256x192 - that would only take 24K and fit in memory ok.
No - the video hardware just doesn't have the bandwidth for that. I'm sure I just had this discussion on the STH forum...
Quote:
I'd be interested if anyone has any example code for setting up 'custom' sized screens - the main problem I'm finding with writing BBC programs is that I'm always running out of ram - I can see why a lot of commercial games cut down the screen size now.
Dead easy. The code you want is something like :
Code:
LDA #1 ;Display width
STA &FE00
LDA #64 ;64 characters (256 pixels in mode 1)
STA &FE01
LDA #6 ;Display height
STA &FE00
LDA #24 ;24 characters (192 pixels)
STA &FE01
LDA #12 ;Display address high
STA &FE00
LDA #10 ;Start at &5000
STA &FE01
More fiddling is needed to get the display centered, but that ought to get you started.