I'm looking at the .SNA snapshot file format for Amstrad CPC emulators based on the Multiface Two device.
I'm used to the ZX Spectrum which had 16K ROM and 48K RAM and the 48K .SNA snapshot format is in the simple straightforward order.
I'm not fluent in the 128K Spectrum .SNA snapshot format but I know it has a non-straightforward arrangement of 16K pages.
I'm assuming on the Amstrad even the small (64K) variants already do paging because 64K RAM would be the entire address space if paged in at once.
If it's straightforward then I would suppose the snapshot has $0000
to $ffff
that would all be paged into matching address and that some portion is sometimes paged out so the ROM can be paged in. I've written my Ghidra loader on this premise and it looks OK, but I can't be sure.
If it's not straightforward then different parts of the 64K in the snapshot file might be paged into various combinations of the address space.
I'm not trying to do 128K Amstrad .SNA files yet but surely things are more complex, at least with the second 64K?
Unlike the Spectrum Snapshot format the Amstrad one doesn't seem to contain info on which pages are mapped in and out, but there's a very good chance I'm just overlooking it.
(Amstrad info seems to be drying up on the Internet... At least CPCWiki was down for hours while I was researching this and Wayback Machine's most recent captures of pages I was looking for were four years old, making it look dead. But now it's back up... And now it's down again, for me at least: