Konference: Počítač SHARP MZ-800 a emulátory
Od: | VELESOFT (SPRINTER) |
Datum: | 20.3.2012 16:48 |
Předmět: | Re: RRD - detekce flash |
----- Original Message -----
From: "Michal Hučík (sharpemu tu byla ta zakroucena vec pandora.cz)" <ordoz tu byla ta zakroucena vec ordoz.com>
To: "Konference "Počítač SHARP MZ-800 a emulátory"" <sharpemu tu byla ta zakroucena vec pandora.cz>
Sent: Tuesday, March 20, 2012 10:40 AM
Subject: Re: RRD - detekce flash
>
>
> Ahoj Martine,
>
> zda na nejakem portu visi nejake zarizeni, ktere umi vracet staticka data se
> pozna celkem jednoduse. instrukce IN na neobsazeny port totiz vraci vzdy
> stejnou hodnotu, jakou mel posledni byte na datove sbernici - v tomto pripade
> tedy posledni bajt instrukce IN. Test tedy muze postupne zkusit ruzne variace
> IN registr,(cislo) a IN registr,(C). Pokud tam je ROM disk, tak prectes
> pokazde stejnou hodnotu. Pokud tam neni nic, tak prectes hodnotu odpovidajici
> poslednimu bajtu instrukce IN.
>
> Michal
>
No ja teda logicky predpokladam, ze pokud procesor cte neobsazeny port, mel by
nacist hodnotu #FF, ktera by mela byt zajistena disky internim pull-up odporum.
Nemam shema Sharpa po ruce, ale pevne verim tomu, ze tam odpory budou. Takze
bych odpovedel asi takhle:
Pri cteni jakehokoli neobsazeneho portu procesor vzdy nacte hodnotu 255 (#FF).
Ale co bylo mysleno tim poslednim bajtem na datove sbernici ? Bajty se po datove
sbernici prenaseni smerem k nebo od CPU, ale pokud zadne zarizeni konkretni port
nepouziva, zadna data na sbernici ani neposila a procesor cte jen stav, ktery by
mel byt diky odporum prave 255.
To znamena nacitat opakovane za sebou mnohokrat furt stejny port a sledovat,
jestli vraci stabilne 255. Pokud ano, s nejvetsi pravdepodobnosti port neni
obsazeny (alespon pro cteni je neobsazeny).
VELESOFT
Ostatní příspěvky vlákna:
[2012/1 (125)] [2012/2 (34)] [2012/3 (57)] [2012/4 (46)] [2012/5 (40)] [2012/6 (44)] [2012/7 (64)] [2012/8 (57)] [2012/9 (32)] [2012/10 (55)] [2012/11 (25)] [2012/12 (63)]
[1999 (1)]
[2000 (168)]
[2001 (733)]
[2002 (459)]
[2003 (654)]
[2004 (224)]
[2005 (105)]
[2006 (182)]
[2007 (201)]
[2008 (294)]
[2009 (363)]
[2010 (782)]
[2011 (522)]
[2012 (642)]
[2013 (442)]