It's external low price memory upgrade for ZX Spectrum 16kB and 48kB.
In ZX 48kB models must be removed(or disabled) high 32kB dram chips.

Upgrade use same memory paging as original ZX128+/+2/Pentagon 128/256/512
Paging port #7FFD(32765) adressation test only: A15=0, A5=1, A1=0, IORQ=0, WR=0.
(A5 must be active in log.1 = patch for using D40/D80 interface)

Bits of port #7FFD

D0 - bank 0
D1 - bank 1
D2 - bank 2
D3 - unused
D4 - unused
D5 - disable paging port 7FFD
D6 - bank 3 (available in 512kB mode)
D7 - bank 3 (available in 512kB mode)

Port #7FFD is write only. Bits D0-D2 are select memory page 0-7. Page 2 is mirrored to memory 32768-49151 as well as original ZX 128 models. Page 5 is not mirrored with first videoram, it's new extra ram page.

D6 and D7 bits is used for adressation up to 512kB ram. Interface contains switch for memory side select: 128kB / 512kB. Sram socket is designed for sram 128kB(628128) or 512kB(628512). In 512kB mode is paging compatible with russian ZX clone Pentagon 512kB. D0+D1+D2+D6+D7 is used for select page number 0-31. All 32 memory pages are fast (ULA not access to this memory). ZX 128 software can work faster than on original 128 models ! ZX128+ and +2(grey) use pages 1,3,5 and 7 as slow contended memory. ZX128+2A/+3 use slow pages 4,5,6 and 7.

Bit D5 disables paging port 7FFD and it switches machine to 48kB compatible mode. After reset/power-on is port #7FFD enabled.

D3 is unused (on real ZX128 machines select videoram 1/2). This upgrade can't support videoram switching. It is used only first videoram.

D4 is unused but supported. It selects rom page 0/1 on real ZX128. Upgrade generates also signals ROMCS for external eprom 32kB(if will connect) and ROM A14(select 16kB page of external eprom 32kB). If additional external eprom memory(with ZX128 rom contents) will be connect to this upgrade then must be connect on ZX bus signal ROMCS to +5V !!!


Eagle files(brd+sch) + GAL20V8 content