DivIDE 512

DivIDE 512 is memory upgrade for original DivIDE interface.

My DIVIDE in plastic case. 512kB sram + 128kB rom + SD card slot(SDtoIDE) + allram diode

RAM: 512 kB
ROM: 128 kB
support 4 memory layout modes
software control of jumper "EPROM"
software control of "MAPRAM" (set/reset)
allram modes with 16kB paging
8kB+8kB allram modes



MEMORY LAYOUT  0

Port 227 in DivIDE mode:
D0-D5 = 8kB memory page 0-63
(D2-D5 select too 8kB rom pages 0-15 = for each block of 32kB ram is used new rom page)
D6 = mapram
D7 = conmem

Port 227 in ALLRAM mode:
D0-D4 = 16kB memory page (0-31)
D6 = 1-write enable ram / 0-write protect ram
D7 = allram mode off
In allram mode is NMI button enable only after jump to map-off area (1FF8-1FFF)


MEMORY LAYOUT  1

Port 227 in DivIDE mode:
This layout use 4x (8kB rom+128kB ram)
D0-D3 = 8kB memory page 0-15
D4-D5 = select memory block 0-3 (one block = 8kB rom + 128kB ram)
D6 = mapram
D7 = conmem

Port 227 in ALLRAM mode:
In allram mode is from adress 0-8192 set page 0 of 128 kB memory block
and 8192-16383 = page 0-15 of 128kB memory block
D0-D1 = number of 128kB block (0-3)
D2-D5 = 8kB memory page of actual block 128kB from adress 8192 (0-15)
D6 = 1-write enable ram / 0-write protect ram
D7 = allram mode off
In allram mode is NMI button always enable


MEMORY LAYOUT  2

Port 227 in DivIDE mode:
This layout use 32kB rom+32kB ram
D0-D1 = 8kB memory page 0-3 from adress 8192
D2-D5 = select 8kB rom 0-15 from adress 0
D6 = mapram
D7 = conmem

Port 227 in ALLRAM mode:
In allram mode is from adress 0-8192 ram page 0-15 of 128 kB memory block
and from 8192-16383 = ram page 0 of 128 kB memory block
D0-D1 = number of 128kB block (0-3)
D2-D5 = 8kB memory page of actual block 128kB from adress 0 (0-15)
D6 = 1-write enable ram / 0-write protect ram
D7 = allram mode off
In allram mode is NMI button always enable


MEMORY LAYOUT  3

Port 227 in DivIDE mode:
D0-D5 = 8kB memory page 0-63
(D2-D5 select too 8kB rom pages 0-15 = for each block of 32kB ram is used new rom page)
D6 = mapram
D7 = conmem

Port 227 in ALLRAM mode:
D0-D4 = 16kB memory page (0-31)
D6 = 1-write enable ram / 0-write protect ram
D7 = allram mode off
In allram mode is NMI button always enable (best for RESIDOS, BS-DOS)


 

EXTRA FEATURES

All extra features can be used by OUT 227,BIN 11xxxxxx (CONMEM=1 and MAPRAM=1)
Features port:

D0-D1
D2-D3
D4
D5
D6-D7

= unused
= DivIDE memory layout mode (0-3) - after power-on is set mode 0
= state of switch JP2 (EPROM) - 0=switch on / 1=switch off
= unused
= must be set to 1

 

CODE EXAMPLES
(WARNING: all instructions OUT 227,11xxxxxx must be in ZX ram only - bit D7 connect DivIDE rom page to low 8kB and code can crash.

- OUT 227,00pppppp - set divide page / allram page + write disable
- OUT 227,01pppppp - set divide page + mapram / allram page + write enable
- OUT 227,10pppppp - set divide page + active conmem(rom) / disable allram mode
- OUT 227,11pppppp - change extra features + disable allram page

Reset port 227 from DivIDE or ALLRAM mode (reset mapram):
OUT 227,11010000 - disable switch JP2 (open) + set mode 0
OUT 227,11000000 - switch JP2 is disable than this out reset mapram + set mode 0 + JP2=on
OUT 227,xx000000 - set new value of port 227 (xx can't be 11)

Reset port 227 from ALLRAM mode only (reset mapram):
OUT 227,11000000 - switch JP2 is disable than this out reset mapram + set mode 0 + JP2=on
OUT 227,xx000000 - set new value of port 227 (xx can't be 11)
This is short version of previous code. Function is same but work only if allram mode is active


As first you must replace original 28pin socket with new 32pin ....


 

My first upgrade prototype

DOWNLOAD
 5DIVI2 = new GAL for memory upgrade
XR_GAL = new R-GAL replacement
UPGRADE SCHEMATIC ( TXT )

RESIDOS 2.07(with FATWARE support)