PENTAGON 512kB
interface
(for ZX Spectrum 128+2 - issue 3 only)
Pentagon interface je interní rozšíření paměti ZX Spectra 128+2 na 512kB podle vzoru Pentagon 512.
Nejprve si ujasníme, co je to Pentagon a jak se liší od ZX128
Pentagon je ruský klon ZX
Spectra 128. Existuje ale i v jiných variantách, např. 48kB, 128kB, 256kB,
512kB a 1MB.
Pentagon 48 - kompatibilní se ZX 48 , nepoužívá rozšířenou
paměť
Pentagon 128
- kompatibilní se ZX 128, stránkuje na portu 7FFD(32765) pomocí bitů D0-D2
Pentagon 256 - tato verze se běžně nepoužívá, je to mutant
mezi 128 a 512kB. Paměť nad 128kB stránkuje nastavením bitu D6 portu 7FFD.
D6 společně s D0-D2 tvoří čtyřbitové číslo 16kB stránky (tedy 0-15).
Zrcadlení stránek 2 a 5 je stejné jako u ZX128, str.č.8-15 se nikam nezrcadlí.
Pentagon 512 - tato verze je spolu s verzí 128kB nejrozšířenější. Paměť nad 128kB stránkuje nastavením bitu D6 a D7 portu 7FFD. D6 a D7 společně s D0-D2 tvoří pětibitové číslo 16kB stránky (tedy 0-31). Zrcadlení stránek 2 a 5 je stejné jako u ZX128, str.č.8-31 se nikam nezrcadlí.
Pentagon 1024 - Paměť nad 128kB stránkuje nastavením bitu D5,D6 a D7 portu 7FFD. D5,D6 a D7 společně s D0-D2 tvoří šestibitové číslo 16kB stránky (tedy 0-63). Zrcadlení stránek 2 a 5 je stejné jako u ZX128, str.č.8-63 se nikam nezrcadlí. Na portu 7FFD jsou u ZX128 nevyužité jen dva horní bity(D6 a D7). V kombinaci s D0-D2 lze nastránkovat maximálně 512kB. Pentagonisti ale použili bit D5 portu 7FFD jako stránkovací bit pro dalších 512kB. D5 normálně u ZX128 a jiných kompatibilních strojů v log.1 zablokuje stránkování portu. U Pentagonu 1024 byla tato funkce odstraněna a tak se bit uvolnil pro takto rozšířenou paměť. Pentagon 128-1024 má stejně neúplnou adresaci stránkovacího portu, jako ZX128+/+2.
http://f6.bloguje.cz/830383-pentagon-512kb-interface-pro-zx-spectrum-2.php
Odlišnosti od ZX128 (nekompatibilita)
Všechny verze Pentagonu
mají jiné časování než ZX Spectrum. Mikrořádek trvá 224 taktů stejně
jako u ZX48, ale za přerušení se stíhá 320 řádek, což dělá
320x224=71680 Taktů. Běžné ZX128 má na mikrořádek 228 taktů, ale jen 311
mikrořádek, což je celkem 311x228=70908 Taktů. Dema pro Pentagon na ZX128
neběhají většinou právě kvůli tomuto časování. Navíc Pentagon
nezpomaluje pamět a porty jako u ZX128, kde máme pomalou polovinu paměti(64kB).
Díky využití bitů D6/D7 portu 7FFD musí rusové u Pentagonů s rozšířenou
pamětí stránkovat korektně přes registr BC ( OUT (C),x ). To nám na ZX128
nevadí, dokud se nepoužije rozšířená paměť. Naopak Pentagonisti mají se
softwarem pro ZX128 problém. Program používající stránkování přes BC
jim na rozšířených typech Pentagonu běhá, protože zde bývá prakticky
vždy D6 i D7 v log.0. Většina programů ale stránkuje klasicky pomocí:
LD A,stránka - stránka
kterou nastavujeme
OR 64 - registr A tvoří i
horní část(A8-A15) adresy portu. U ZX128+2A/+3 musí být A14=1, proto
nastavujeme D6 na 1
OUT (253),A - stránkujeme
A právě toto nastavování D6 na log.1 u Pentagonů stránkuje rozšířenou
paměť nad 128kB, proto jim nic nefunguje.
Popis funkce Pentagon512kB interface, aneb jak to vlastně funguje
Pentagon512kB interface je interní interface určený pro ZX128+2 (issue 3). Interface obsahuje paměť SRAM 512kB, která pracuje pro zápis i čtení paralelně s pamětí ZX Spectra. Jedná se o samostatný modul, který se zasune do patice místo původní paměti ROM a obvodu HAL10H8(PAL10H8). Do modulu se musí ještě přivést signál RESET a REFRESH z procesoru. Modul dále obsahuje FLASH EPROM 128-512kB, 2x GAL20V8, 1x GAL16V8 a 1x 74LS273. Na kraji modulu je pinová lišta, kde se pomocí switchů nastavuje režim práce a další vymoženosti. Následuje kompletní výpis všech funkcí interface:
(většina funkcí jsou
volitelná - vypínatelná)
1) Integrovaná úprava pro spolupráci ZX128 s D40/D80. Zúplní adresaci portu
7FFD + obou portů AY o A5=1
(vnucení 48ROM je samostatné switchem)
2) Rozšíření paměti na 512kB. Povolí funkci bitů D6 a D7 portu 7FFD pro
stránkování až 512kB ram
(rozšířená paměť nad 128kB se nezrcadlí)
3) Integrovaný deprchátor - odstraní efekt pršení ve videoram
4) Při čtení z portu 7FFD se nezapisuje na stránkovací port, ZX se nehroutí.(Rusové
čtením portu 7FFD zapínají turbo 7MHz)
5) FASTIO - zrychlení zpomalených portů (výrazné zrychlení např. při načítání
sektorů z IDE portů)
6) Nahradí funkčně původní obvod HAL10H8(PAL10H8)
7) FAST režim - pamět ZX Spectra je zpomalována ulou pouze při zápisu/čtení
v oblasti první nebo druhé videoram, a to navíc jen v prvních 8kB. Pro
porovnání je v následující tabulce znázorněna pomalá a rychlá pamět.
FAST MEMORY |
SLOW MEMORY |
0-16384 |
16384-32767 |
32768-49151 |
49152-65535 |
ROM |
RAM 5 |
RAM 2 |
RAM 0 |
FAST
režim vypnutý (ZX originál)
liché stránky 1,3,5,7 jsou
pomalé |
RAM 1 |
||
RAM 2 | |||
RAM 3 | |||
RAM 4 | |||
RAM 5 | |||
RAM 6 | |||
RAM 7 | |||
RAM 8-31 (512kB) |
0-16384 |
16384-24575 |
24576-32767 |
32768-49151 |
49152-57343 |
57344-65535 |
ROM |
RAM 5 |
RAM 5 |
RAM 2 |
RAM 0 |
|
FAST režim zapnutý (ZX fast) v rychlém režimu
většinou běhají i časově náročnější
|
RAM 1 |
||||
RAM 2 | |||||
RAM 3 | |||||
RAM 4 | |||||
RAM 5 | RAM 5 | ||||
RAM 6 | |||||
RAM 7 | RAM 7 | ||||
RAM 8-31 (512kB) |
Režim fast omezí zpomalování ram na minimum. Některý software psaný na ZX+2A běhá na ZX128+/+2 pomalu díky jinému rozložení pomalých a rychlých stránek. To samé může platit i obráceně, tedy že software ze ZX128+/+2 bude na +2A/+3 pomalejší. Fast režim tyto rozdíly odstraní a na vaší ZX128+2 s Pentagon modulem bude běhat drtivá většina softwaru bez zpomalování.
Význam bitů na stránkovacím portu 7FFD:
512kB OFF
512kB ON
|
DOWNLOAD
GAL equations, chip pinout (new corrected and bug-fixed version - 9.12.2008)
SOFTWARE FOR D40/D80/MDOS 3(Divide)
Veškerý software využívající rozšířenou paměť nad 128kB pochází z Ruska a většinou je určen jen pro BETA DISK. Rozšířenou pamět využívají především nejrůznější commandery, kopíráky, assemblery a občas i nějaké hry. Pro náš diskový systém D80/D40/MDOS3 byl upraven pro práci s rozšířenou pamětí např. MDOS FILE COMMANDER(MFC) nebo TOOLS 128. Oba programy po spuštění umožnují nastavit manuálně velikost paměti (až do 1MB ram). Při kopírování disket s jednou mechanikou si ulevíte od neustálé výměny zdrojové a cílové diskety. Commander si kopírované soubory uloží do rozšířené paměti a ve většině případů si vystačíte s jedinou výměnou disket.
MFC - http://home.tiscali.cz/mts.zxs/programs/mfc/mfc135.zip ( http://home.tiscali.cz/mts.zxs/ )
TOOLS 128 - http://ci5.speccy.cz/files/tools128.d80.zip ( http://ci5.speccy.cz/progs/tools-128.php )