zx-mmu

ZXNet echo conference «hardware.zx»

From Kirill Frolov To All 10 April 2000

Press RESET immediately, All! The proposed modification can be easily carried out on computers KAY, PENTAGON, SCORPION and others not assembled on PLM. It allows you to use the spectrum memory much more efficiently, than just through one 16kb page in the address space of the processor. The number of pages has been increased to four and they cover all 64kb of memory addressed to Z80. Any memory bank within the first 256kb can be included in any processor memory window. The rest of the memory is addressed as before. Within the first 256kb programs can be located operating with large volumes of data and frequently used data. in memory more than 256kb can accommodate programs content a 16kb code and data segment (for example, device drivers) or disk cache, Ramdisk... All of these computers with RAM capacity of 128kb and above have port 7FFD controls switching memory pages in the window with address C000. The circuit design of the memory manager in different computers is small What is the difference: there is a port decoder, a 555TM9 register and a multiplexer 555KP11. The presence of the 555KP11 microcircuit makes it easy to implement finalized, often only 1 microcircuit may be required. You will need to disconnect pin 15 of the 555KP11 microcircuit from the board, it will used to switch modes. You also need a control portconfiguration (for example, in Scorpio or Kai you can use 1FFD, only 1 bit will be needed, set to 0 when reset and never not installed in 1 TR-DOS programs. You will also need one inverter. SCHEME: D47 is a 555KP11 computer memory manager chip SCORPION, "yellow board". For other computers you need according to the scheme clarify the correspondence between the contacts of the 555KP11 microcircuit and the signals D0, D1, D2, D4 data buses. D48 pin 9 -- write signal to port 7FFD on the “yellow scorpion”, available on all computers on pin 9 microcircuits 555TM9... SPECTRUM BUS ┌──┬──────┐ connects to D47 D4 >──────15──┤D0│ RG │ output: D2 >───────1──┤D1│ Q0├─10───> 12 D0 >───────2──┤D2│ Q1├─9────> 9 D1 >───────3──┤D3│ Q2├─7────> 7 ├──┤ Q3├─6────> 4 A10 >──────14──┤W0│ │ A11 >──────13──┤W1│ │ wr7FFD >──────12──┤WR│ │ (D48/9) ├──┤ │ A15 >───────5──┤R0│ │ A14 >───────4──┤R1│ │ ┌──11──┤OE│ │ │ └──┴──────┘ │ 555ИР26 │└──────────────────┐ │ switching on ┌──┐ │ ext. >──────┬───────┤1 o────┘ addressing │ └──┘ according to log. 1 │ ЛH1 └────────────────> D47 pin 15 (CS) PROGRAMMING VIA PORTS ┌──────────┬────────────┬────── ─────┬───────────┬────────────┐ │ PORT │ 73FD │ 7BFD │ 77FD │ 7FFD │ ├──────────┼────────────┼────── ─────┼───────────┼────────────┤ │ BITS │ │ │ │ │ │ 0 │ R0-0000 │ R0-4000 │ R0-8000 │ R0-C000 │ │ │ │ │ │ │ │ 1 │ R1-0000 │ R1-4000 │ R1-8000 │ R1-C000 │ │ │ │ │ │ │ │ 2 │ R2-0000 │ R2-4000 │ R2-8000 │ R2-C000 │ │ │ │ │ │ │ │ 3 │ screen 5/7 │ screen 5/7 │ screen 5/7 │ screen 5/7 │ │ │ │ │ │ │ │ 4 │ R3-0000 │ R3-4000 │ R3-8000 │ R3-C000 │ │ │ │ │ │ │ │ 5 │ LOCK │ LOCK │ LOCK │ LOCK │ │ │ │ │ │ │ │ * 6 │ R3-C000 │ R3-C000 │ R3-C000 │ R3-C000 ││ │ │ │ │ │ │ ** 7 │ R4-C000 │ R4-C000 │ R4-C000 │ R4-C000 │ │ │ │ │ │ │ └──────────┴────────────┴────── ─────┴───────────┴────────────┘ * Bit 6 is only used in PENTAGON computers with the capacity RAM more than 128kb ** Bit 7 is used only in KAY or PENTAGON computers with more than 256kb of RAM. The number of the addressed memory bank is calculated using the formula: n ___ \n /__ (Rx)*(2^x) ; n=2..8 (depending on the type of computer). x=0 ( 128..8192kb ) Setting the LOCK bit to 1 locks the 7xFD ports for writing. Ports 73FD, 7BFD, 77FD, 7FFD are used to install recorded they contain a memory bank at addresses 0000, 4000, 8000, C000, respectively. The selected ports are decrypted identically in all common Soviet clones of ZX-SPECTRUM as a port of 7FFD. All possible conflicts are associated only with switching to the extended mode, which on different on computers can be implemented in different ways. In most cases, modification is useless for TR-DOS programs. The benefits will be enormous when used in the operating system which can distribute memory between different programs or parts of the program, it also becomes possible to implementreal multitasking with programs of real (>64kb) size, but again you need an appropriate operating system, but not tape recorder emulator. P.S.: It's already done and everything works. 555IR26 is not a problem to buy on the market in St. Petersburg.