[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