Tento modul slouží jako náhrada za původní zásuvný ROM modul pro PMD-85, který měl kdysi kapacitu 16 nebo 32 kByte, a který typicky obsahoval BASIC. A občas i něco jiného.
Doba ovšem pokročila, a tak před několika lety přišel Nostalcomp se svým vylepšením tohoto modulu. Na základě jeho konstrukce vznikl jak níže popsaný modul o velikosti 4 MByte, tak například konkurenční konstrukce od kolegů z RM-Teamu, ovšem jsou i jiné. Zde ještě malá odbočka – stránky RM-Teamu doporučuji jako detailní a ucelený zdroj informací o PMD-85 celkově.
Důležitá poznámka na úvod – jakýkoliv ROM modul, Megapack4M či konkurenční konstrukce nenesou samy o sobě žádnou sadu her či jiných programů. Požadovaná data, dnes tedy většinou hry, je nejprve nutné sestavit do vhodného formátu a ten naprogramovat do paměťových čipů modulu. Toto však není předmětem tohoto článku. Opět odkážu na stránky RM-Teamu, kde naleznete více informací a program MRM Manager právě pro sestavení takového balíčku her.
Proč tedy Megapack4M? Původně jsem jej navrhl pro distribuci dema Bad Apple kvůli nárokům tohoto dema na objem paměti a rychlost přístupu k datům. Ze stejných důvodů bude vyvíjený Prince of Persia distribuován rovněž výhradně na modulu Megapack4M. Tato konstrukce je spíše určena těm, kteří „vědí co s tím“, nejedná se o koncový výrobek s okamžitou použitelností.
Sestavený modul Megapack4M je určen pro zástavbu do originálního dvoudílného krytu zásuvného ROM modulu. Pokud nelze modul bezpečně zasunout do konektoru počítače, jedná se většinou o posunutou základní desku uvnitř PMD 85 a s ní posunutý konektor pro připojení ROM modulu. Kdysi se to u originálních ROM modulů řešilo propilováním kotevních otvorů na plošném spoji ROM modulu a jeho posunutím. Tyto prasárny s pilníkem nedoporučuji, rozumnější je usadit základní desku v počítači tak, aby konektor pro ROM modul byl uprostřed výřezu. Hloubka usazení konektoru na straně počítače se nastavuje šroubem M3 v čele konektoru a nastavuje se tak, aby čelo konektoru FRB30 bylo v jedné rovině s krytem počítače PMD-85.
Nyní k vlastní konstrukci modulu Megapack4M. Modul má kapacitu 512kB až 4MB, to podle počtu (jeden až osm) osazených paměťových čipů o kapacitě 512kB. Paměťové čipy se osazují postupně od pozice #1 vzestupně a nemusí být osazeny všechny. Zapojení tohoto modulu je zpětně kompatibilní s originálním ROM modulem, který se dodával jako součást PMD-85, a obsahuje i stejný „řídicí“ obvod 8255 na stejných V/V adresách (F8h až FBh). Ve shodě s Nostalcompovým návrhem je doplněn stránkovací registr (V/V adresa 6Fh), který je určen pouze pro zápis a vybírá jednu ze 128 stránek o velikosti 32kB. Po restartu počítače je automaticky nastavena stránka 0. Modul se standardně ovládá takto:
- port 6FH – zápis adresy paměťových čipů A15..A21
- port F8h – čtení dat z vybrané adresy
- port F9h – zápis adresy paměťových čipů A0..A7
- port FAh – zápis adresy paměťových čipů A8..A14 (pozor, nejvyšší bit neobsahuje adresu a během čtení dat z modulu musí být vždy nulový!)
- port FBh – řídicí registr obvodu 8255 – nastavuje se podle prováděných operací
- zápis jednotlivých částí adresy A0..21 může probíhat v libovolném pořadí, následně se čtou data z paměťových čipů
Po restartu testuje BIOS počítače PMD-85 obsah ROM modulu a pokud je nalezen kontrolní byte, načte a spustí krátký zavaděč z ROM modulu. Tento zavaděč může například nabídnout krátké menu pro načítání uložených her, viz foto níže. Megapack4M je plně slučitelný s originálním ROM modulem na úrovní komunikace s BIOSem PMD-85, což ovšem dodržují všechny podobné konstrukce. Z principu tedy předpokládám, že modul BY MĚL být 100% kompatibilní s konkurenčními moduly z pohledu programátorského modelu a měl by tedy umožnit naprogramování paměťových čipů například obsahem, vygenerovaným zmíněným MRM Managerem (i když toto zatím nebylo testováno). Při realizaci konkrétní náplně paměťových čipů (například zmíněné demo Bad Apple) jsem na rozdíl od pojetí RM-Teamu obsah jednotlivých paměťových čipů koncipoval jako samostatné a vzájemně nezávislé logické jednotky, které se v nabídkové obrazovce přepínají stiskem kláves 1 až 8. Má to tu výhodu, že každý čip může obsahovat naprosto odlišný formát, což už tak v praxi bývá.
Obrazovka PMD 85-2 tedy může po restartu vypadat takto:
Níže najdete schéma zapojení a osazovací výkres plošného spoje.
Ještě pár poznámek k různým verzím PMD-85 z pohledu součinnosti s modulem Megapack4M, ovšem nejen s ním – platí to všeobecně. Automatický start zavaděče na modulu Megapack4M bohužel nefunguje na PMD 85-1, tam se i historicky natahoval program z ROM modulu příkazy BASIC nebo JOB. A pokud máte jakýkoliv ROM modul nebo Megapack4M pro PMD 85-2, bude vám fungovat i na PMD 85-3, kde ovšem musíte nejprve přejít do režimu kompatibility s modelem PMD 85-2.
Na závěr odkazy na již existující obsahy pro paměťové čipy:
Základní podoba článku pro zásuvný modul Megapack4M je na světě. Měly by zde být všechny relevantní informace pro pochopení funkce a případnou stavbu. Postupně bych doplňoval hotové obsahy paměťových čipů, ovšem nelze čekat nějakou smršť her. Důležité je to slovo POSTUPNĚ…
Ahoj, diky moc za fajny projekt … lamovske otazecky jedne lamy :-D :
MP4_schema2.png ma R1 1k na IC1, avsak mam dojem, ze jde k IC8 …
BOM jsem pochopil takto, prosim o doplneni, opravu :
C1 – C8, 8 kusu, 100nF … voltaz imho staci 16V bude stacit ?
C9 – C12, 4 kusy, 100nF pravdepodobne, stejne jako C1, proste filtracni ?
IC1 az IC8, 8 kusu, 29040 eprom 32k x 8
IC9, 1 kus, 82C55
IC10, 1 kus 74ALS74
IC11, 1 kus 74ALS174
IC12, 1 kus 74ALS20
IC13,IC4, 2 kusy, 74ALS138
R1, 1 kus, 1k
1 konektor TY513 30 11
Diky Libore
f.
Budu to brát postupně:
a) R1 je společný pro IC1 až IC8
b) všechny blokovací kondenzátory keramické 100nF/X7R/50V nebo 100V (napětí stačí samozřejmě jakékoliv větší než 5V ale v praxi se tím asi cena moc neušetří)
c) paměti standardní 29040, já mám vyzkoušeny AMIC29040B a SST39SF040, rychlost vyhoví i ta nejpomalejší, u jiných typů dodržet rozmístění vývodů
d) místo 82C55 může být i levný dostupný 8255
e) obvody 74ALS mohou být nahrazeny řadou 74LS
f) konektor FRB jsi uvedl správný
V posledních dnech probíhá kompletace několika „náplní“ do modulu MEGAPACK 4M. Jednak je to výběr her (Jetpac, Psst!, Arkanoid, Treasure Island, Trailblazer, Jet Set Willy, Funny Fruits, Flappy 2K, The Magician’s Curse, Minesweeper, BKP a Tenebra Extended), dále pak kompletní edice Lemmings a budu chtít vydat i novou verzi Bad Apple Demo, aby sdílela nový, vylepšený engine pro správu modulu Megapack. Hry v této emisi budou mít opraveny drobné chyby, se kterými přišly bohužel na svět, ovšem nyní je příležitost to napravit.
Dokonce se podařilo dokončit jakýsi kompilátor těchto her do balíčku pro ROM modul ve formě konzolové aplikace, která zpracuje dodaný seznam a vytvoří kompletní balíček programů pro paměť typu ROM o velikosti 128kB/512kB. Každá hra ve výše uvedeném seznamu bude v modulu uložena včetně svého „zavaděčového“ obrázku, protože některé hry část těch obrázku potřebují pro svůj další běh.
Hra Lemmings bude obsahovat stejný výběr levelů jako magnetofonová verze. Do sestavy k Lemmings by do buduocna měl přibýt Prince Of Persia, proto nebudu Lemmings ve verzi pro ROM modul příliš rozšiřovat.