[SharpMZ] pezik software

Radek Suk suk na radeksuk.cz
Neděle Březen 6 21:06:51 CET 2016


Michale pokusim se popsat praci ramdisku PEZIK

budu vychazet ze schematu na 
http://www.scav.cz/data/MZ-800/Vyroba_Popis_Ramdisk_Pezik.jpg

mozna neni spatne dat na odkaz kdyz se delala replika kde pisi rozdily 
http://www.oldcomp.cz/viewtopic.php?f=72&t=1107&hilit=pezik
dalsi zajimavy odkaz je 
http://www.8bity.cz/2014/nezlohovan-ram-disk-pezik-512-kb-pro-sharp-mz-800/

Obvod 3 (74l373 spodni) a obvod 6 (75ls74) delaji refresh. Vyuziva se 
refresh pres signal /RAS. Protoze pameti potrebuji 8 bitovou refres tak 
posledni osmy bit dela ten obvod 6. Obvod 74ls74 vlevo od obvodu 6 je 
stavovy automat, ktery zajistuje ze prave pri M1 ma obvod 3 otevreny 
vystup a obvod 2 ma deaktivovany vystup. Funguje tak, ze na zacatku M1 
cyklu se /Q da do log0 a zustane tam az do doby nez se ukonci refresh 
cykl. Druhy impuls /MREQ udela signal /RAS. Po ukonceni refresh cyklu se 
ulozi stav 6 bitu a pripadne se zmeni 7 bit refreshe.

Ted mame probrano docela velkou cast disku a muzeme se vrhnou jak 
funguje zbytek desky.

Dulezite je, ze horni obvod 74ls373 ma aktivni vystup kdyz neni cykl M1. 
Take je dobre vedet ze pri kazdem aktivovanim /MREQ se udela i /RAS 
signal. Existuje uprava kterou pisi na 
http://www.oldcomp.cz/viewtopic.php?f=72&t=1107&hilit=pezik a to "- M1 
signal jsem privedl na IC5D vyvod 13." ktera udela to ze pri cyklu M1 se 
nedela /RAS ale porad ze dela pri jakekoliv pristupu do pameti - to se 
dela navic a je to zbytecne. Spravne by se /RAS mel delat jen pri 
refresh a IN/OUT operaci. Ty /RAS navic ale nevadi, jen delaji zbytecne 
aktivovani a spotrebu navic.

Vlastni aktivace IN/OUT je udelana tak, ze pri spravne kombinaci signalu 
se da do log0 vyvod Q7 obvodu 4. To projde pres dva invertory a prijde 
na cast desky ktera je oznacena X v kouzku. Nasleduje cast co dela 
multiplex signalu A1 a A0 pro vyvod A8 pameti (nevyuziva se pro pamet 
64Kb). Druhy multiplex podle signalu A2 dela aktivaci /CAS0 nebo /CAS1. 
Takto se rozlisuji dve banky. Dulezite je aby vse bylo spravne 
nacasovano. Spravne ma nejdrive prijit /RAS a ten posle z obvodu 2 
informaci co byla zapamatovana predchazejici instrukci IN (uvazuje se ze 
nejdrive je vzdy IN instrukce). Pak se ma okamzik pockat a nasledne se 
prepne multiplex A0 a A1 a soucasne se otevre obvod 2 a tak se AD8-ADF 
dostane na vystup obvodu 2. Pak s nasledujici nabeznou hranou BusFi se 
vyvola /CAS0 nebo /CAS1.

Problem je ale ze to prepinani ja na hrane a je zde haradni stav a proto 
to rade lidem neslo. To se ma resit doplnenim kondenzatoru na misto kde 
je to X v krouzku o velikosti 470 pF. Osobne si ale myslim ze idelanejsi 
by bylo ho dat o hradlo drive. Muzeme o tom diskutovat.

Jinak muj nazor na ten hazardni stav je ten, ze nechapu proc je to takto 
resene. Protoze je na desce jedno hradlo 74ls00 volne a take je volny 
jedna pulka 74ls74, tak by bylo idelani dat 74ls00 na BusFi a to dat na 
C obvodu 74. Prerusit misto X v krouzku a takto reagovat na sestupnou 
hranu BusFi. Takto by to bylo zcela bez hazardu. Take by to slo obratit 
ze multiplex by reagoval na nabeznou hranu a druhy 74 na sestupnou - 
takze vse by probihalo v TW cyklu.

Zkuste se na to podivat a oponovat text at vime zda je to pravda ci ne.

Radek




Další informace o konferenci SharpMZ