To dump the MOS between &C000 and &FFFF (including anything hidden behind
the I/O
areas) try running the following:

10 FORN%=0 TO 2 STEP 2:P%=&900:[OPTN%
20 SEI:LDA&FE34:PHA:ORA#64:AND#&F7:STA&FE34
30 LDX#&40:LDY#0:.loop
40 LDA&C000,Y:STA&3000,Y
50 INY:BNEloop:INCloop+2:INCloop+5
60 DEX:BNEloop
70 PLA:STA&FE34:CLI:RTS
80 ]:NEXT
85 CALL &900
90 *Save OS 3000+4000 C000 C000

OS3.50 had code behind its I/O memory, so it may be important to ensure
this is
preserved.

OS3.20 also leaned heavily on code inside some of the paged ROMS,
particularly
Terminal, but also the DFS ROM, and I seem to remember bits of View and
Viewsheet.

You can make the following changes to the code above so that it dumps the
ROMs:

 5 INPUT"Which ROM bank? (0-15):"r%
20 SEI:LDA&F4:PHA:LDA#r%:STA&FE30
40 LDA&8000,Y:STA&3000,Y
70 PLA:STA&FE30:CLI:RTS
90 OSCLI"Save Rom"+STR$r%+" 3000+4000 8000 8000"

Good luck!
Richard Talbot-Watkins
