OldComp.cz

Komunitní diskuzní fórum pro fanoušky historických počítačů


Právě je 28.03.2024, 13:34

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 
Autor Zpráva
 Předmět příspěvku: ISOROM 128
PříspěvekNapsal: 14.08.2018, 08:56 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Měl bych pár dotazů asi hlavně na Cygnuse.

Aktuálně se zabývám Betadiskem, a při studování tvých videí na YT ohledně renovace Betadisku z Mikrobáze jsem si nemohl nevšimnout, že používáš ISOROM. Zalíbila se mi a rozhodl jsem se ji také do počítače doplnit. Při té příležitosti kreslím nový (menší) návrh PCB a nechám pak v Číně vyrobit pár destiček.

Ale mám pár otázek:

1. U 74LS175 máš neošetřený vstup /CLR, je to tak správně? Jde mi o tom, že při každém zapnutí se flip-flopy můžou nastavit víceméně náhodně, a jak je potom garantováno, že naběhne právě ISOROM, a ne třeba ROMka Spectra, nebo nedejbože RAMka s náhodným obsahem?

2. Mám absolutní hokej v těch všech verzích ISOROM, co se u tebe dají stáhnout, např. co je RAMRAMIS, ROMROMIS, jaký je mezi nimi rozdíl, a mezi nimi a ISOROM atd. Můžeš to prosímtě trochu osvětlit? :)

Mockrát díky a zdravím všechny :thumbup:


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ISOROM 128
PříspěvekNapsal: 14.08.2018, 11:18 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
Ty ISOROM se, myslím, liší jen tím menu ve 128k stránce a taky tím, co se kopíruje při resetu do RAM. V úplně původním zapojení byla idea taková, že to nabíhá do ROM, ale uživatel chce používat RAM se zablokovaným zápisem, takže RAMRAMIS, což je asi poslední verze od Brňáků, se zkopíruje do RAM, přestránkuje a zamkne. Bohužel má chybu, po překopírování nefunguje správně B.D.E..

Proč to tak tehdy udělali netuším.

ROMROMIS je starší verze určená pro provoz pouze v ROM se starší verzí menu.

Aktuálně používám Velesoftovu modifikaci RAMRAMIS. Je v ní zrušeno kopírování do RAM, resp. je úplně jedno, jestli je provozována v ROM, nebo RAM, je v ní oprava práce s HL' registrem, co Velesoft dělal do více ROM a fungují v ní správně všechny utility (KCOPY, BDE i TOMPACM).

Na úrovni 48k BASICu by se od sebe tyhle varianty lišit neměly (jen opravou HL').

Stručně - použij https://cygnus.speccy.cz/download/romky/iso-rom-03-2010(port239disable).rom.gz ISOROM na port 239 sahat nemusí ani při spouštění utilit, vystačí s portem 253/32765, tj. pouze s přepínáním 16k stránek, jako ZX 128k, proto to celé bez problémů funguje i v emulátorech, přidaná destička na reálném hardwaru umožňuje jen volbu mezi 128k ROM se 128k BASICem, ISOROM a čímkoli instalovaným v SRAM.

Ad 74LS175, vím o tom, ale prakticky jsem odzkoušel, že po zapnutí jen velmi vzácně naskočí RAM s nesmyslným obsahem (ale bude to asi závislé na kusu 74LS175), nejčastěji, když ZXS vypnu a velmi rychle znovu zapnu, bylo-li předtím na RAM přepnuté. Nechám-li ho vypnuté jen o pár sekund déle, tak skoro vždy naskočí ISOROM. Prakticky to problémy nedělalo, tak jsem to tak nechal.

Pointa je, že já /CLR nechci mít aktivní trvale, leda bych IO resetoval ručně tlačítkem (asi nejlepší možnost), nebo bych musel udělat resetovací obvod, který by ho resetoval při poklesu napájecího napětí... Resetovat ho signálem reset ze sběrnice je blbost, to by znemožnilo se vracet resetem do ROM instalované v RAM.

Jen pro pořádek - mluvíme o tomto https://cygnus.speccy.cz/popis_isorom128-2006.php

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ISOROM 128
PříspěvekNapsal: 14.08.2018, 12:19 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Ufff to je docela úděsné, zapojení vlastně spoléhá na hazardní stav a počítá se s tím, že po přivedení napájení se jeden flip-flop nastaví na 1 a druhý na 0, aby mohla ISOROM správně naběhnout. Přitom by úplně stačilo, kdyby autoři navrhli původní zapojení tak, že bit ROM-RAM bude při log. 0 aktivovat ROM a při log. 1 RAM, tedy obráceně, než teď, a bylo by to i logické. Stačilo by na /CLR 74LS175 dát jednoduchý RC resetovací obvod, a bylo by vystaráno. Takhle se mi to zapojení ani trochu nelíbí, přemýšlím, co s tím. Nejjednodušší by asi bylo upravit rovnice v GALu, aby prováděl dekódování ROM/RAM, jak jsem napsal, čili obráceně proti současnému stavu. Pak by ale bylo třeba ISOROMky, které port 239 používají, náležitě upravit - Velesoftovi verze, která ho nepoužívá by se to asi netýkalo. Ještě mě napadá hardwerové řešení, nahradit 74LS175 GALem 16V8, plnícím funkci registru, s tím, že po resetu by se nastavil na 010, ale to zatím přemýšlím, jestli to nějak lze udělat.


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ISOROM 128
PříspěvekNapsal: 14.08.2018, 14:04 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
Napadlo mě takovéhle řešení problému :D , využívá poslední volný flip-flop + úpravu rovnic GALu:

- celý 74LS175 je po zapnutí napájení nulován RC článkem, ne po dalším RESETu, takže po RESETu již nemění svůj stav
- výstup 4. klopňáku jde do GALu, uvnitř je vstupní signál ROM-RAM XORován s jeho inverzní hodnotou

Následek (podle mě): Při prvním zapnutí bude díky tomuto signál ROM-RAM interně v GALu invertován, takže naběhne ISOROM, zápis do RAM bude zakázán.

Po prvním zapsání jakékoliv hodnoty na port 239d přejde trvale výstup 4. flip-flopu na log. 1, díky tomu přestane být interně GALem vstupní signál ROM-RAM invertován, a zařízení už funguje standardně.

Co myslíš, není tam nějaká skrytá zrada? ;)


Přílohy:
iso_oprava.png
iso_oprava.png [ 81.3 KiB | Zobrazeno 3409 krát ]
Nahoru
 Profil  
 
 Předmět příspěvku: Re: ISOROM 128
PříspěvekNapsal: 15.08.2018, 01:12 
Offline
Pan Generální
Uživatelský avatar

Registrován: 18.05.2013, 14:56
Příspěvky: 2331
Has thanked: 303 times
Been thanked: 637 times
Pro rekapitulaci, bity mají mít význam:
Kód:
bit 0 - 1 = zápis do RAM povolen
bit 1 - 1 = ROM, 0 = RAM
bit 2 - 1 = ISO, 0 = ZX 128k


Výchozí musí být ROM, v zásadě je jedno, která z 32k půlek z 64k EPROM, ale v mém ZXS nabíhá ISOROM jako default, tj. stav portu po zapnutí odpovídá buď xxxxx110, nebo xxxxx111. Na tom, jestli je v tuto situaci povolený zápis do RAM nezáleží.

Tak přemýšlím, jestli to nakonec není tím, že se tam zkopíruje stav sběrnice ještě před rozeběhnutím Z80? Mimochodem jsem ověřil, že stačí cca 3 až 5s vypnutí, aby se 74LS175 vrátila do výchozího stavu i když přestránkuju do RAM s nesmyslným obsahem, čímž se dá v této kombinaci dostat ZXS do nepoužitelného stavu.

RC článkem na /CLR asi přidržíš 74LS175 přes tuto dobu a dostaneš se do stavu, kdy na portu bude xxxx0000, pro tuto kombinaci musí být přistránkovaná některá z ROM, musíš minimálně invertovat bit 1 do prvního zápisu na port. Použití volného výstupu 74LS175 rozhodně dává smysl, ale ten XOR mi tam nesedí, sedí mi tam spíš implikace, kdy na prvním vstupu je ten bit signalizující zápis a na druhém vstupu bit 1. Výsledkem by měla být hodnota bitu 1 pokud je na prvním vstupu 1.

Takže spíš takto? /Q4 + Q2 = Q2' ... tj. stačí ti jeden OR, negaci už máš na 74LS175.

_________________
https://cygnus.speccy.cz ZX Spectrum 128k, Betadisk, DivIDE, ESXDOS


Nahoru
 Profil  
 
 Předmět příspěvku: Re: ISOROM 128
PříspěvekNapsal: 15.08.2018, 08:19 
Offline
Radil
Uživatelský avatar

Registrován: 15.05.2014, 15:24
Příspěvky: 460
Bydliště: Karlovy Vary
Has thanked: 1 time
Been thanked: 258 times
zxcygnus: Díky moc za tvoje postřehy. V podstatě uvažujeme stejně, akorát tebe napadlo signál ROM-RAM ORovat s /Q4 a mě napadlo ho XORovat s /Q4, což by ve výsledku mělo mít stejný efekt ;)

Po vynulování LS175 RC článkem bude /Q4=1, takže v případě ORu půjde do vnitřní logiky GALu signál ROM-RAM s log. 1, neboli bude aktivní ROM. V případě XORu bude výsledek stejný, protože log. 1 na jednom vstupu provádí negaci signálu z druhého vstupu, neboli do vnitřní logiky GALu půjde zas ROM-RAM s log. 1, neboli bude aktivní ROM. A až se po prvním zápisu do LS175 nastaví /Q4=0, bude v obou případech situace opačná ;)

Nechal jsem v Číně vyrobit pár destiček pro ISOROM mé verze, nazval jsem ji ver. 2018, statická RAM v úzkém pouzdře DIL28 (typ 61C256) je umístěna pod EPROM, která bude v patici, takže deska je prostorově menší.

Pro Cygnuse, bude-li mít zájem :D , mám za jeho cenné rady 2 kousky zcela zdarma, jinak pár kusů bude k dispozici :like:


Přílohy:
ISO_SCH.png
ISO_SCH.png [ 229.76 KiB | Zobrazeno 3336 krát ]
ISO_TOP.png
ISO_TOP.png [ 161.78 KiB | Zobrazeno 3337 krát ]
ISO_BOTTOM.png
ISO_BOTTOM.png [ 122.03 KiB | Zobrazeno 3337 krát ]
Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 6 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 20 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
Založeno na phpBB® Forum Software © phpBB Group
Český překlad – phpBB.cz