RAM / ROM
The 'Pecom 64' is called '64' due to the amount of memory used, this includes 32 KB user RAM and a 32 KB ROM. Roughly 30 KB RAM is available for BASIC storage. The rest is used for system parameters. The Pecom also has an additional 3 KB Video RAM.
At startup of the computer the ROM is mapped from @0000-@7FFF and @8000-@FFFF however this is changed by the first OUT 1 instruction at which time the RAM is mapped from @0000-@7FFF. Similar bank switching is performed for the video memory access, bit 1 = 1 in OUT 1 will select the video RAM, bit 1 = 0 will select ROM.
DMA & Refresh
Dynamic RAM is refreshed by DMA. A counter is implemented with HW to count the number of CPU execution cycles, my current assumption is that every 5 machine cycles a DMA Out request is generated. This is very frequent but in the COMX emulator it looks like this figure gives the right speed so I have assumed the same for the Pecom 64. If anyone has any facts on this please don't hesitate to drop me an email. DMA Out generates a dummy memory read on the R register location and after that a step of R with 1.
|Startup||After first OUT1|
|0000 - 01FF||Build in system ROM||RAM: BASIC System Parameters|
|0200 - 7CFF||Build in system ROM||RAM: BASIC Program and Data storage|
|7D00 - 7FFF||Build in system ROM||RAM: Reserved ?|
|8000 - FFFF||Build in system ROM||Build in system ROM|
|OUT 1, bit 1 = 0||OUT 1, bit 1 = 1|
|8000 - F3FF||Build in system ROM||Build in system ROM|
|F400 - F7FF||Build in system ROM||Character Memory Access|
|F800 - FFFF||Build in system ROM||Screen Page Memory Access|