Rozšírenie pamäti na Casio MX-10

V ostatnom čase som podľahol čaru počítačov radu MSX, ktoré som dlhé roky akosi prehliadal.

Primárnym impulzom mi zrejme bola stavba novodobého klonu s návom Omega od Sergeja Kiseleva. A ako to už chodí, človek chce zrazu preskúmať aj pôvodný dobový hardvér a nejako sa mu toho potom nakopí, že nevie čo skôr.

MXSy: ešte chýba Toshiba HX-10, ďalšie Sanyo AX-170 a samotná Omega

Mojim ultimátnym cieľom je na všetkých mašinách, ktoré mi tu pristanú, rozbehnúť legendárneho Manic Minera. Hlavným zdrojom inšpirácie bol úkaz zhliadnutý v Centre pre počítačovú históriu (http://www.computinghistory.org.uk/) v anglickom Cambridge, kde som počas mojej návštevy pred dvomi rokmi videl kompletné “manicoradie”. Na väčšine zapnutých počítačov, rôznych značiek a krajín pôvodu, usporiadaných na jednej rade stolov za sebou bežal – hádajte čo? No samozrejme Manic Miner. Ako na potvoru neviem nájsť tú správnu fotku, lebo v priebehu roka som tam bol dvakrát, ale myslím, že to bola táto rada počítačov.

Jedna z mnohých rád počítačov v múzeu v Cambridge

V rámci jedného z minulých virtuálnych Retrobit stretnutí mi Otis pripravil audio súbor (s čím iným ako Manic Minerom :), ktorý som bol schopný vypískať do Sanyo MPC-100. Aby som sa však ďalej nemusel babrať s páskami, prípadne ich náhradami a zdĺhavým pískaním súborov do MSX, zadovážil som si hneď tri užitočné periférie: 

  • floppy radič (eBay), ku ktorému som pripojil Goteka
  • MSX SD Mapper (SMR) od Sebastiana Koteka
  • Dosku plošných spojov na domácky vyrobený ROM cartridge

Ani jedna z nich si však nerozumela s obmedzenou RAM v Casio MX-10. Začal som teda hľadať ako sa sa s tým popasovali na slovo vzatí MSX experti a vylovil odkaz na fóre na rozšírenie RAM predchodcu MX-10 s názvom PV-16. Autorovi tohto zapojenia Rafaelovi “B@ss” Lopesovi sa podarilo v systéme nájsť na hradlovom poli signál pre výber slotu 2, ktorý pripojil na výberový vstup pridaného 64k RAM čipu, čím sprístupnil celú RAM v samostatnom 64k slote. Pamäťové čipy tohto typu – v úzkom puzdre s označením napríklad 24512, 61512 ap. – sa prevažne osadzovali ako keš pre PC dosky rady 386DX – 486.

Rafael na úpravu veľmi filištínsky vyhol nohy pamäti na plocho čím spravil akúsi obdobu SMD. Následne využil priestor pod pôvodnou ROM, kde mohol väčšinu kontaktov jednoducho prepojiť s pôvodnými spojmi až na pár vývodov, ktoré bolo treba spojiť drôtovými prepojkami s CPU resp. PLD.  Ešte podotknem, že obvod je treba priložiť k doske nápisom dolu.

Moja úprava MX-10

Čo (japonský) čert nechcel, má MX-10 narozdiel od svojho predchodcu osadené úplne iné hradlové pole a rovnako aj jeho nasledovník MX-101. Zvyčajne to už tak býva, že priekopnícka cesta býva tŕnistá, takže som si musel pekne prepískať celý systém, aby som sa dopracoval k tomu, že HG61H06R02F v 80 vývodovom puzdre jednoducho signál Slot select 2 vyvedený nemá. Je na ňom pomerne dosť nezapojených vývodov, ale tie majú aj podľa dokumentácie zostať “vo vzduchu”. Všetky ostatné sú využité a cesty na doske plošných spojov od nich niekam v systéme smerujú. Neúplný reverzný diagram vyzerá nasledovne:

Rafael mi následne tiež potvrdil úspech v prípade zabudovania jeho úpravy do modelu MX-101, kde je na novšej verzii hradlového poľa, tentokrát aj s integrovaným PSG – AY-3-8910, opäť dostupný aj signál výberu pre druhý slot.

Úprava v MX-101, zdroj: B@ss

Ak to v MX-10 teda nepôjde po dobrom (rozumej jediným pridaným vodičom na výber RAM) povedal som si, že to musí ísť nejako po zlom (rozumej pridaním nejakého zapojenia navyše – ideálne s jedným integrovaným obvodom v DIL puzdre pre ľahké osadenie na univerzálnu DPS). Následný výskum som zameral na perifériu, opradenú rúškom tajomstva resp. nezrovnalosťami v popise jej funkcií – dokovacie stanice KB-7 a KB-10. V dokumentácii sa vraj píše o rozšírenej 16k RAM, ktorá sa údajne mapuje len pri použití so systémom s 8KB RAM (PV-7?).

Na MSX fóre bola tiež zmienka o mapovaní prídavnej RAM do nevyužitého priestoru Slotu 0, kde je namapovaná systémová ROM na adresách 0000h – 7FFFh a tiež systémová RAM buď od C000h – FFFFh pri 16k alebo E000h – FFFh pri 8k.

Mapa pamäti Casio MX-10, zdroj: Wiki MSX.org

Prídavnú RAM som pripojil rovnako, ako pri vyššie spomínanej úprave PV-16 vrátane adresných vodičov A14 a A15 napriamo od CPU a pokúsil sa dostať  mapovanie aspoň časti pamäte do priestoru 8000h – BFFFh. Prvý pokus kde som vyrobil výberový obvod zo 74LS00 a skombinoval /SLTSL=1 (zabudovaný rozširujúci slot neaktívny), A15=1 a A14=0 s BASICom nabehol a namiesto `12431 Bytes free` vypísal `28815 Bytes free`, takže som dostal potvrdenie, že sa  uberám správnym smerom. Žiaľ SD mapper ani floppy radič stále neboli schopné nahrať žiadny zmysluplný program tak, aby sa systém nezrútil.

Finálne som vo výberovom obvode vymenil 74LS00 za 74LS138 s nasledovným zapojením:

Čip som umiestnil na odrezok univerzálnej dosky, je prilepený svojou vrchnou stranou na pôvodnú dosku pomocou obojstrannej penovej lepiacej pásky a zo spodnej strany sú vývody naťahané na požadované signály.

Napriek tomu, že RAM test sa tvári, že vidí celých 64k v Slote 1.3, nemyslím si, že by to bolo možné:

Využiteľnej RAM mám podľa mňa síce len 32k napriek tomu, že v systéme je teraz osadených spolu 96k RAM, pri započítaní 16k Video RAM, ale  Manic Miner mi už teraz veselo vyhráva bez rozdielu či je nahraný z SD karty, (emulovanej) floppy mechaniky alebo ROM modulu. Misia splnená!

Ak by vás napadlo nejaké elegantné riešenie ako pristránkovať zvyšok prídavnej RAM, prosím pridajte ho do komentára.

Príjemné MSXovanie a všetkým Z80 dlhý život bez vírusov. Dobrá rada: nekašlite na ne, aby niečo nenachytali,
/ikon

2 názory na “Rozšírenie pamäti na Casio MX-10

Pridaj komentár