PDA

Просмотр полной версии : MEMORY PAGING IN LOW 16kB



VELESOFT
05.09.2009, 14:04
On modern FPGA/CPLD based russian ZX clones is possible without hardware modification
implement ram memory paging also in low 16kB as rom replacement. This memory extensions
is often used on some interfaces for ZX Spectrum computers.

For example:

MB02+ interface
Can replace low 16kB rom with battery backup sram 512kB used as 32 memory pages.
On paging port is possible enable or disable writing to low 16kB (software write protect for
best protection/rom emulation)

paging port MB02+ (#17)
D0-D4 = memory page number 0-31 (sram or eprom)
D5 = write enable (1=write enable / 0=write protect)
D6 = sram enable (1=disable ZX rom and connect MB02 sram)
D7 = eprom enable (1=disable ZX rom and connect MB02 eprom)
(if D6=0 and D7=0 then MB02 memory is disabled)
(if D6=1 of D7=1 then MB02 sram or eprom is connect)
(if D6=1 + D7=1 then paging port is set to %10000000 (erom page 0+write disable)
After press NMI must CPU jump always to adress #66 in low 16kB (if MB02 memory is connect
then NMI jump to MB02 memory)

Some siminar ZX interfaces use also low 16kB memory paging with selectable writeprotect.
You need only external sram (eprom contain olny boot rom for loading DOS from hdd/fdd)

Also DIVIDE PLUS interface use MB02+ compatible memory. Or my MB02 memory interface for ZX:
http://velesoft.speccy.cz/prodej/prodej4/mb02-mem.htm
http://velesoft.speccy.cz/prodej/prodej4/mb02mem-2.jpg

If this (or any similar) memory paging will possible on russian ZX clone, then will possible use
system RESIDOS with full FAT16 support, BS-DOS system from MB02+ and more other software
(theoretically also FATWARE and DEMFIR systems form DIVIDE interface). Actually is ram in low
16kB used in ZX clones as CACHE sram in size 16 or 32kB. This is very small for implement any
big system and absent software writeprotect feature.

Is possible on russian ZX clones (Pentagon 1024/ATM turbo) ignore trdos paging and connect
external memory to low 16kB ?
- external interface connected to ZX-BUS disable internal roms in ZX clones
- low 16kB is replaced with external sram memory
Is it possible ? If on port 7FFD is set 48rom + is connect external sram in low 16kB + cpu jump
to adress #3Dxx ...... Will TRDOS connect ?? :v2_conf2:

Barmaley_m
05.09.2009, 16:37
Of course it is possible, and it was done in many ZX clones since 1990! For example, such ZX clones as "Robic" (made at Selto-Rotor factory, Cherkassy, Ukraine), or "Orel BK-08" (made at DMZ factory, Dnepropetrovsk) all had a possibility to activate RAM in lower 16K of memory. All later popular russian ZX clones, including "Profi", "ATM-Turbo", possibly "KAY-256" and "Scorpion ZS-256" also have a possibility to activate RAM in lower 16K. Such ZX clones were therefore also able to run CP/M.

Unfortunately, there is no common standard for such "shadow RAM" system. The best way to design modern software is to make some hardware abstraction layer and let the people develop driver plugins with entry points to activate or deactivate lower 16K RAM. Some systems also had multiple RAM pages which could be paged into the lower 16K of Z80 address space. Or, in the simpler case, one could have just 4 values to type in the program configuration, such as:

Out(port1),val1 activates shadow RAM
Out(port2),val2 deactivates shadow RAM

One good example of system with hardware abstraction layer is IS-DOS which, under certain circumstances, uses shadow RAM and lets the user configure the above mentioned 4 values.

When the shadow RAM is activated, TR-DOS is usually disabled and does not activate its ROM or ports when code at location 3D00-3DFF is executed. This arrangement allows for proper functioning of CP/M.

VELESOFT
05.09.2009, 17:07
This is ROMCS connection on real ZX Spectrum/Timex/Didaktik computers:

This connection enable connect external memory.
http://velesoft.speccy.cz/other/romcs-zx-spectrum.png


And this is russian connection on Pentagon 1024SL:
http://velesoft.speccy.cz/other/romcs-pentagon.png

Is impossible connect to this ZX-BUS connector any old ZX interface with external memory. This interfaces must be modified for work on russian clones. (can connect external memory only if in low 16kB is set rom - external interface set signal /RDROM to log.1).

---------- Post added at 12:07 ---------- Previous post was at 12:05 ----------

Exist any russian interface with external memory mapped on rom area ?

Black_Cat
05.09.2009, 19:57
MB02+ interfaceMB02 + controller is not needed for exUSSR computers. For exUSSR computers easier to use a management system based on the basis of their own standards.

---------- Post added at 20:57 ---------- Previous post was at 20:21 ----------


Exist any russian interface with external memory mapped on rom area ?Here's an example of a promising management system for exUSSR computers:

r/wCPU0 MANAGETMENT:

|D0#1FFD|D3#EFF7
|_0 _____|_0 - rdROM
|_0 _____|_1 - rdROM & wrRAM
|_1 _____|_0 - r/wRAM
|_1 _____|_1 - rdRAM

Adressing ROM in CPU0:

A14"ROM - D4 #7FFD
A15"ROM - D3 #1FFD
A16"ROM - D2 #1FFD
A17"ROM - D6 #1FFD
A18"ROM - D5 #1FFD

Adressing RAM in CPU0:
#9FFD CPU0(#0000-#3FFF) WINDOW PORT

D0 - A14'RAM
..
D7 - A21'RAM

VELESOFT
05.09.2009, 21:12
MB02 + controller is not needed for exUSSR computers. For exUSSR computers easier to use a management system based on the basis of their own standards.

Yes I know. I russia is supported only trdos. But implementation memory paging (big cache sram) in low 16kB will open way to ported some systems from ZX Spectrum to russian machines. Modern ZX clones use 1-2MB memory. FPGA based clones with faster CPU use also ram in low 16kB for rom emulation. FLASH EPROM is after start copied to extended memory and writeprotected ram is connect to low 16kB (EPROM is too slow for fast CPU modes). If 128kB memory is extended to 1-4MB why can't be extended also russian cache sram to more than 16 or 32kB ? This don't need any hardware modification on FPGA clones and Garry Lancasted can ported RESIDOS to any ZX clone with low 16kB ram paging (but need also selectable writeprotect) and IDE ports. System in low 16kB can access to full ZX memory. For example is possible use modified ZX48 rom with TAP traps - tape emulation.


Here's an example of a promising management system for exUSSR computers:

r/wCPU0 MANAGETMENT:

|D0#1FFD|D3#EFF7
|_0 _____|_0 - rdROM
|_0 _____|_1 - rdROM & wrRAM
|_1 _____|_0 - r/wRAM
|_1 _____|_1 - rdRAM

Only one 16kB ram page ?



Adressing ROM in CPU0:

A14"ROM - D4 #7FFD
A15"ROM - D3 #1FFD
A16"ROM - D2 #1FFD
A17"ROM - D6 #1FFD
A18"ROM - D5 #1FFD

Also on new ZX clones ?



Adressing RAM in CPU0:
#9FFD CPU0(#0000-#3FFF) WINDOW PORT

D0 - A14'RAM
..
D7 - A21'RAM

What ZX clones use this mode ?

Black_Cat
05.09.2009, 21:45
Only one 16kB ram page ?Only all ROM & RAM page in CPU0(#0000-#3FFF) window
If 128kB memory is extended to 1-4MB why can't be extended also russian cache sram to more than 16 or 32kB ?
Also on new ZX clones ?
What ZX clones use this mode ?This is an example of control in the window CPU0 for promising clones.
This don't need any hardware modification on FPGA clones and Garry Lancasted can ported RESIDOS to any ZX clone with low 16kB ram paging (but need also selectable writeprotect) and IDE ports.Let Garry Lancasted porting RESIDOS for exUSSR standards. It's easier.

---------- Post added at 22:45 ---------- Previous post was at 22:38 ----------


Is impossible connect to this ZX-BUS connector any old ZX interface with external memory. This interfaces must be modified for work on russian clones. (can connect external memory only if in low 16kB is set rom - external interface set signal /RDROM to log.1).:) Yes, ZXBUS it is not NemoBus :)

VELESOFT
05.09.2009, 23:53
Let Garry Lancasted porting RESIDOS for exUSSR standards. It's easier.
TRDOS emulation in RESIDOS will in developlent. Actually can Residos access to FA16 partitions, open/create TAP files, work with sequential files, run SNA,Z80 snapshots, support save/load tasks (task manager in NMI menu), direct save/load files from ZX basic to FAT16. You can open one TAP file for loading and next TAP for saving. Big ram in low16kB enable switching between systems via one OUT xx,xx command (also in ZX basic). On Pentagon will theoretically possible acive RESIDOS via one OUT, open XXX.TRD file on fat 16 for sequential read and write this image file to real FDD. Or write sector copy of FDD to fat16 file. Transfer data between TRDOS and FAT16 is possible.

http://www.worldofspectrum.org/residos/

It's way as can work with TAP files and SNApshots on russian machines. :v2_smile:


:) Yes, ZXBUS it is not NemoBus :)

On PENTAGON documantation is text " ZX-BUS (NEMO BUS) "
Pentagon 1024 use very compatible bus with original ZX Spectrum machines, only /ROMSC signal is on other pin (15).

Djoni
04.04.2015, 14:36
А схему этого контролера где можно посмотреть ?