Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: PS2-Treiber und neues LCDext Kategorie: Progr. Assembler, TaskingTools, OS (von André H. - 26.01.2004 13:42)
Als Antwort auf PS2-Treiber und neues LCDext von Johannes - 16.01.2004 19:06

Hallo Johannes,

> Also, folgendes Problem: Ich möchte diesen PS2-Treiber, den man hier runterladen kann, verwenden
> und habe die Tastatur angeschlossen. Wenn ich nun das Beispielprogramm starte, ist auf dem Display
> nichts zu sehen. Ich habe mir das LCDext hier runtergeladen. Kann es sein, dass beide Hex-Codes
> den selben Platz verwenden und deshalb nicht zusammen verwendet werden können? Wo wird eigentlich
> festgelegt, welcher Hex-Speicher (ich weiÃ? nicht, wie das richtig heiÃ?t) verwendet wird?

Die HEX-Dateien belegen nicht den selben Platz.
Um zu überprüfen, welchen Bereich eine ASM-Routine belegt, gibt es zwei Möglichkeiten:
1. In der Segment3-Map nachsehen. Dort hat man einen Ã?berblick, welche Routine,
  welchen Speicherbereich belegt. Ã?berschneidungen sind i.d.R. Ausgeschlossen.
  (Meine HEX-Dateien befinden sich alle in der Map.)
2. Für Dateien, welche nicht in der Segment3-Map aufgeführt sind, kann man die HEX-Datei
   ganz einfach mit einem Texteditor (z.B. Notepad) öffnen. Dies ist z.B. bei Cris seiner
   HEX-Datei der Fall.
   Hier einmal die erste Zeile des PS2-Treibers:
:20000000DA005A76E6F2A6F7E000D7000000B842E6F2A8F7D7000000B802E6C46200FCF10F
   Der Doppelpunkt am Anfang signalisiert eine HEX-Zeile.
   Die folgende "20" ist die Anzahl der Datenbytes in dieser Zeile als HEX-Wert.(hier 32 Byte(0x20))
   Die "00" danach bedeutet einfach nur, daÃ? es sich um ein Datenframe handelt.
   (Es gibt auch Kommando-Zeilen, wie die erste, welche das Segment bestimmt.)
   Die danach folgenden "0000" ist die Startadresse des Datenframes. Hier 0x0000,
   was nichts anderes bedeutet, daÃ? der HEX-Treiber den Speicher ab 0x0000 in
   das Segment geschrieben wird.
   Danach folgen die Datenbytes mit abgeschlossenem Prüfbyte.(welches aber von den DL-Tools
   nicht beachtet wird. :-) )

Jetzt Kurz:
Der PS2-Treiber belegt den Speicherbereich 0x0000 bis 0x1e17 und
sys0001.hex den Bereich 0xD540 - 0xD74B .

Ich vermute aber, daÃ? das Problem eher daran liegt, daÃ? das Beispiel des PS2-Treibers
nicht mit den aktuellen Modulen konform ist.
Passe das Beispiel auf die neueste Version von lcdext.c2 an, dann wird es funzen.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten: