http://velesoft.speccy.cz/other/zx12...OUT_(FD),A.zip (67 MB)
This is ZX software using memory paging on port 7FFD via this code:
Value #5x is in range #50-#5F and D0-D2=page 0-7,D3=vram,D6=1 for compatibility with ZX128+2A/+3.
This code write value #5x to port adress #5xFD (ZX128+2A/+3 and russian clones use also on port 7FFD adressation with A15=0,A14=1...)
On Pentagon 256/512/1024 this software access to extra memory pages 8-15 instead 0-7 !!! Some games work, but can be unstable, crash, rewrite extra memory or trdos ramdisc on Pentagon 1024.
add software switch 128/1024 kB mode in TRDOS 6.xx with ramdisc support. Before use ramdisk must trdos enable 1MB memory and before return from trdos to ZX ram must set 128kB mode if switch is active. Switch can be in extra memory or in CMOS. Also if user manualy set pentagon 1024SL to 128kB mode, then after use trdos and return to ZX ram must be Pentagon switch to same mode 128kB (trdos must detect if 1MB is enable or disable). This trdos add best compatibility with ZX128/Pentagon 128 and this dangerous software will work correct without access to extra memory !
after start set pentagon always to 128kB mode via OUT #EFF7,4. This is hardware protection before dangerous access to extra memory with ramdisc data. And to basic loaders in all software for Pentagon 256/512/1024 add one OUT #EFF7,0 (enable 1MB). This is better than enable 1MB as default.
Or is better way patch all this software for possibility use on Pentagon with enabled 1MB mode ?
Or add to basic loaders in this software one OUT #EFF7,4 ?