Peter,
we agree on a file system software to be in the emulated machine, not the emulator itself. However, the boot loader and boot image managment is part of the monitor/debugger, which is not in the emulated machine's RAM space. The User of the emulated machine has unrestricted access to each and every byte in the 64k address space.
The big advantage of the external memory interface is the extra free IO-pins on the AVR. You can see that with Daryl's project, although he is using internal RAM and flash-ROM only:
http://sbc.rictor.org/avr65c02.html . He gets a little more than 2MHz emulated 65C02 speed, but with a 24MHz clocked AVR. This is about the speed ratio to be expected using the external memory interface if you can get away with zero waitcycles. The external interface is by design 1 cycle slower, even without additional wait states.
Quote:
- the good thing about external memory interface is you don't have to manually setup the READ and WRITE signal they are handled in hardware.
This is not such a big advantage as SRAMs have a mode of access, where the -CS and -OE signal can be left active while only the address lines need to change. While -CS is tied low I only switch -OE off for IO or for a store or modify type of instruction. Instructions requiring a write to memory are much faster than on a 2MHz 65(C)02 anyway.
cheers, Klaus
edit: quoted the wrong statement.
edit2: clarify use of -CS for SRAM