Přejít na obsah
ARCHIVEKArchiv e-mailových konferencí o 8bitových počítačích Archiv Pandory 1999 až 2013

Původní podoba příspěvku

Roman Dolejsi Zpět na příspěvek

Surová data tak, jak byla v roce 2013 stažena z Pandory (HTML zdroj bez úprav, osobní e-mailové adresy jsou maskované).

<!-------------------------------------------------------------->

<!-------------------------------------------------------------->
<table width="100%"><tr><td align="left" valign="middle"></td><td align=right valign="middle"></td></tr></table><BR>Ahoj Marku,<br/><br/>&nbsp; ostatni asi odpovi lepe, ale rychle jsem mrknul do sveho MCE a treba ti pomuze tohle (handler cteni z adres 0xE000 - 0xE010):<br/><br/>&nbsp; public int getByte( int addr ) {<br/><br/>&nbsp;&nbsp;&nbsp; if( ( addr &amp; 0xfffff000 ) == portBase &amp;&amp; ( addr &amp; 0xfff ) &lt; 9 ) {<br/> <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // we work only on first 16 bytes<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; addr &amp;= 0xf;<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // call the 8255 handler<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( addr &lt; 4 )<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return mz8255.getByte( addr );<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // call the 8253 handler<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( addr &lt; 8 )<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return mz8253.getByte( addr );<br/><br/><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // get the horizontal pulses (HSync/15611Hz) and periodic music signal (35Hz)<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if( addr == 8 ) {<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int srr = scrHandler.getStatusReadRegister();<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return ( ( srr &amp; 0x20 ) &lt;&lt; 2 ) | ( srr &amp; 1 );<br/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br/></b><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // @todo return non-existent port - check value on real MZ<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0xff;<br/>&nbsp;&nbsp;&nbsp; }<br/>&nbsp;&nbsp;&nbsp; return memoryAccess.getByte( addr );<br/>&nbsp; }<br/><br/>&nbsp; Jak vidis, port 0xE008 (0xD8) mam napojeny na HSync, ale v realu bych na to asi moc nesazel.. Vzhledem k tomu, ze mi v MCE nektere programy nebezi, urcite Ti Zdenek ze sve studnice znalosti predlozi lepsi odpoved :-)<br/> <br/>HTH,<br/>Roman<br/><br/><div>2009/1/3 Marek Brunda (<a href="mailto:sharpemu@pandora.cz">sharpemu@pandora.cz</a>) &lt;<a href="mailto:marek@[doména skryta]">marek@[doména skryta]</a>&gt;<br/> <br/> Omlouvam se za predchozi spam, nejak se mi sekl net.<br/> <br/> Poradil by nekdo s timto problemem? Nejsem schopen nejak detailne zjistit z dokumentace, co na SHARPu prectu ctenim z adresy $E008. Zapisem na tuto adresu se ridi GATE0 na 8253. Jde mi o to, ze SHARP pri startu v ramci pipnuti 10x cte z teto adresy ale proc? Pokud udelam hack ze pri kazdem cteni se hodnota zmeni z 0 na 1 a naopak, je vse ok, ale nevim, co na tomto portu ma skutecne byt?<br/> <br/> Diky za odpoved, pokud nekdo vite.<br/> <br/> Marek Brunda<br/> ---<br/> </div><br/>