Napadá mě jednoduché (no, jak pro koho..) řešení pro rozšíření romky v SAM COUPE. Ideálně interní verze, která se zasune do patice místo původní romky. Vlastně těch variant se nabízí více a samozřejmě platí, že čím složitější varianta, tím lepší možnosti. Rovnou jsem upustil od jakéhokoli drátování a pájení v počítači, takže musí jít o modul, který se zasune do patice a rovnou funguje. Tak a ted pár variant, které se nabízejí:
A) jednoduché rozšíření, kdy by deska obsahovala třeba 64kB romku. Po startu by naběhla naše 32kB nová rom, kde by byl umístěný třeba instalátor DOSu do ramky, bez potřeby bootování a další kravinky. Nějaká logika by hlídala, z jakých adres procesor čte, a při nějaké přesné kombinaci čtení několika bajtů z různých adres by došlo k přepnutí rom (celých 32kB). Pro přistránkování zpět na prvních 32kB by se použila zase jiná sekvence čtení. Jako logiku by bylo dobré použít malé CPLD, do kterého povede A0-A13,A15,ROMCS,D0-D7 a z něj povedou nové vyšší adresy pro přepínání rom bank.
B) druhé řešení je složitější. Dal by se zde realizovat i zápis do romky(konkrétně do FLASH EPROM nebo EEPROM). Kromě adres vede do patice romky už jen signál ROMCS, takže není šance jakkoli detekovat, že procesor zapisuje. Romka je prostě jen pro čtení. Proto by se musel použít k přeprogramování FLASH romky jiný způsob. Data jsou nepoužitelná, protože jsou jen výstupní směrem z rom do CPU. Takže si musíme vystačit jen s adresovou sběrnicí a máme celkem k dispozici 15 adres pro 32kB prostor. Určitou sekvencí čtení z přesně určených adres by se aktivoval režim programování. Pak by se nastavila adresa, jejíž část by si CPLD nastavilo jako číslo banky(stránkování) a další bity budou představovat signál falšný signál WR(pro zápis do rom) atd.. Další adresy by nastavily adresu pro zápis a poslední adresa by se poslala na DATA. Je to popsané trochu zjednodušeně, ale zase to vyžaduje složitější software.
C) třetí řešení, které mě napadá, také zvládne zápis do rom, ale použila by se sram zalohovaná baterií. Na desce by musela být minimálně 32kB romka + sram s baterkou,emulující další romky. Pro zápis by to bylo pohodlné. V komplet SMD provedení i dostatečně malé - deska osazená z obou stran. (rom + sram + cpld + baterka).
Všechny ostatní způsoby rozšíření rom vyžadují buď samostatný externí interface, nebo drátování uvnitř sam coupe. Problematický je jen zápis do rom, protože nemáme k dispozici signál WR. Když vyloučíme možnost zápisu, rozšíření rom je celkem v pohodě realizovatelné. A to klidně 512kB se stránkováním nejen po 32kB blocích ale dalo by se stránkovat horních i spodních 16kB rom samostatně a pokud se zajde jestě dál, klidně by šlo rozdělit každou 16kB romku na dva nezávislé bloky 8kB. Co se obsahu rom 512 týče, první romka by bylo menu/setup s výběrem. Následovat mohou originál sam rom, romky s bootováním z IDE, ZX48 rom,různé verze DOSu (nebylo by nutné DOS bootovat z FDD), Assembler (třeba prometheus v kombinaci se zx rom).
|