APPENDIX TWELVE Pass2 LDA (SOURCE),Y ;move RAM OS to proper address STA (DEST),Y INY BNE Pass2 INC SOURCE+1 ;move to next page INC DEST+1 BEQ Enable ;If complete LDA DEST+1 CMP #$D0 BNE Pass2 ;skip block at $D000 LDA #$D8 STA DEST+1 BNE Pass2 ;Until DEST = $000 Enable PLA STA NMIEN ;reestablish NMI mask PLP ;reenable IRQs RTS END START A sophisticated program called "RamMaster," by Matt Ratcliff, is available free through the Gateway BBS in St. Louis, Missouri. It not only creates a RAM OS, but it has a trap to keep the OS as RAM even when you press RESET. It also allows you to switch BASIC in and out from DOS. Probably the most elegant solution is the XL BOSS board which allows you to switch in a RAM OS, the older 800 OS, and the XL OS, as well as turn BASIC on or off with a few keypresses. It's available from Allen MacroWare in Redondo Beach, California. When you change the OS ROM into RAM, you can change all but a small portion of the OS at 53248-55295 ($D000-$D7FF), since it's RAM. You could always write an OS, load it into RAM, disable the ROM, and load yours in. You can change the character sets in their original locations rather than having to move them and use more memory. You could rewrite the han- dlers, interrupts, and other routines--almost anything. This is exactly what the Translator disk does when it writes the 800 OS into the XL. Boot the Translator and place a regular DOS disk in at the prompt so that BASIC READY comes up. Now type: 10 FOR N=57344 TO 57351 20 READ A:POKE N,A:NEXT N 30 DATA 255,1,1,1,1,1,1,1 You'll see a "graph pad" screen: You've POKEd directly into the character set at $E000, altering the first character (space).