Using AltairZ80, you can add the “ROM” option to the end of your LOAD command. This will tell the simulator to treat what you just loaded as ROM. This will also work when loading HEX files with “-h”.
sim> load dbl.bin 0 rom
256 bytes [1 page] loaded at 0 [ROM].
sim> set cpu verbose
sim> show cpu
CPU
64KB, NOITRAP, 8080, AZ80, STOPONHALT
NONBANKED, ALTAIRROM, VERBOSE,
0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF [16k]
00000: RWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
04000: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
08000: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
0C000: WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWR,
0x[02 03 04 05 08 09 0A 10 11 12 13 14 15 16 17 18 19 28 29 2A 2B 32 33 A0 A1 A2 A3 A4 A5 A6 A7 FD FE FF]
MMU, NOSWITCHER, NOPO
sim>
Altair8800 simulator does not have this option yet. I am planning on implementing it with PROTECT and UNPROTECT options, example:
sim>set ram prot=f8-fd
Would protect pages F8-FD and ignore memory writes.
sim>set ram unprot=f8-fd
Would unprotect pages F8-FD and allow memory writes.
I think this is more in line with how the original 8800 worked, although not many RAM boards supported PROTECT.
I will see about getting that added to Altair8800 simulator in the next week.