Konference: Počítač SHARP MZ-800 a emulátory

Od: Michal Hučík
Datum: 26.9.2011 08:49
Předmět: Re: Navrh specifikace MZFREPO rozhrani




Ahoj, Pascalem sice nevladnu, nicmene hlavni problem bude asi v tom, ze ten dokument co jsem zverejnil je "Navrh komunikace", zatimco v unikarte mas firmware, ktery jeste komunikuje postaru ;)
Stahni si Jakubuv UCONTROL http://ordoz.com/sharp/ ... tam je i ceckovy zdrojak ve kterem je zrejme jak se komunikuje se soucasnym firmwarem ... Pripadne ve zdrojacich unikarty je v adresari rdloader priklad v assembleru.

Jinak ten status je sice k dispozici vzdy, ale prijde mi zbytecne jej po uplne kazde operaci testovat.  Stavajici firmware vraci ve statusu 1B binarni kod, a pak retezec, ktery rika status v ASCII. Za normalnich okolnosti tam prectes vzdy 0x01,"OK",0x00,0x00......

Co se tyka toho navrhu, tak jsem to o vikendu zacal konecne implementovat. Udelal jsem drobne zmeny v prikazech, neco malo jsem pridal a musel jsem prozatim zrusit prikazy ktere by vracely info o tom jaky soubor/adresar je prave otevreny pro RW operace - nenasel jsem totiz zpusob jak to ve FatFS osetrit primo z toho filehandle, takze bych si kvuli tomu musel nekde pamatovat filename a path, coz se mi moc nelibi. Pak se k tomu jeste vratim, ale ted je potreba dopsat dulezitejsi prikazy.

Az bude hotovo, tak k tomu samozrejme dopisu i nejakou dokumentaci s priklady. (no a pak by jsme se mohli vrhnout na ten RS232 v unikarte ;)

Michal
 

Dne 26.9.2011 0:04, Martin Lukasek (sharpemu tu byla ta zakroucena vec pandora.cz) napsal(a):

Ahoj,

mne to prijde uplne super, je bezva to mit prehledne sepsany. Mozna bych tam jen doplnil, kde je CMD Port a DATA Port. Nasel jsem si, ze 0x50 a 0x51.

Hned jsem narychlo neco zkusil, ale narazil jsem. Zkusil jsem to v Pascalu, protoze mi to prislo nejrychlejsi, ale bud mam nekde trivialni chybu nebo TurboPascal neumi korektne Port[] nebo nevim. Vraci mi to vsude samy 0. Je chyba ve mne nebo v Pascalu?

var b : Byte;
    i : Integer;

begin
  WriteLn('Unicard test program');
  WriteLn;
  WriteLn('Reset, SHARP ASCII, RTCGETT');
  Port[$50] := $00;
  Port[$50] := $02;
  Port[$50] := $63;

  Write('Data port = ');
  for i := 1 to 3 do
    begin
      b := Port[$51];
      Write(b, ' ');
    end;
  WriteLn;

  Write('Status = ');
  for i := 1 to 4 do
    begin
      b := Port[$50];
      Write(b, ' ');
    end;
  WriteLn;

end.

Ahoj, Martin.


---



Ostatní příspěvky vlákna:

 
[2011/1 (52)] [2011/2 (9)] [2011/3 (2)] [2011/4 (9)] [2011/5 (8)] [2011/7 (1)] [2011/8 (40)] [2011/9 (146)] [2011/10 (116)] [2011/11 (29)] [2011/12 (110)]


[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)]