Das Deutsche Casio-Taschenrechner Forum wurde zum 31.12.2013 geschlossen und kann weiterhin als Nachschlagewerk verwendet werden.
Wer mehr erfahren möchte: Ein sehr guter Beitrag von Elias

Main-Memory auslesen

Hilfe beim Programmieren mit dem fx-9860G SDK.

Main-Memory auslesen

Beitragvon Paul94 » Mo 29. Nov 2010, 19:16

Hi!

Ich bräuchte mal die nötigen Syscalls um eine ASCIIZZ-Liste des Main-Memory zu erstellen.

Paul
Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon SimonLothar » Di 30. Nov 2010, 07:55

Für die Enumeration(FindFirst/FindNext) des main memories sind mir keine syscalls bekannt.
Man muss hier von der bisher in allen OSes(1.02 bis 2.00) unveränderten main memory Startadresse 0x88030100 ausgehen. Ebenso unverändert war bisher die maximale Anzahl an Einträgen (0x93).

Zunächst einmal die Liste der Hauptdirectoryeinträge, die ein Array des Typs TMCSDirEntry ist:

TMCSDirEntry MMDir[0x93];

typedef struct {
unsigned char name[8];
TMCSItem*addr;
short itemcount;
short wossname;
} TMCSDirEntry;

// zeiger auf den start des main memory directories
start = (TMCSDirEntry*)0x88030100;

// maximale anzahl der main memory directory einträge
count = 0x93;

TMCSDirEntry.addr zeigt auf die Elemente eines main memory directory eintrags
(z. B. die Programme im main memory directory "@system")

TMCSDirEntry.itemcount gibt die Anzahl der Elemente eines main memory directory eintrags wieder

Ein Element ist folgendermaßen aufgebaut:

typedef struct {
unsigned char name[8];
int offset;
int length;
char flags[4];
} TMCSItem;

offset verweist dabei auf den eigentlichen Dateiinhalt.
length ist die Länge der Datei.

Warnung: schreibe niemals in das Main Memory unter Verwendung der Addressen, die die oben angegebene Enumeration zurückgibt! Wenn Du die Adressen zum Lesen verwendest, musst Du wissen, dass bei einem Aufruf einer anderen App über MAIN MENU die Inhalte des Main Memories verschoben werden könnten. Wenn Du dann wieder in Deine "Main Memory"-App zurückspringst, dann stimmen ggf. die zuvor ermittelten Adressen nicht mehr.

Für die eigentliche Bearbeitung des main memories gibt es syscalls, die auch im SDK verwendet werden.
Ich mach jetzt aber erst mal Schluss. Melde Dich, wenn Du mehr Info brauchst.
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon Paul94 » Di 30. Nov 2010, 08:21

Auf dem Main-Memory werden doch für jedes App neue Ordner erstellt. Ich brauche nur die Dateien, die in meinem Ordner liegen, wie kann ich das eingrenzen?
Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon SimonLothar » Di 30. Nov 2010, 08:47

Dazu musst Du das main memory directory durchlaufen bis Du in TMCSDirEntry.name den Directorynamen Deiner Applikation findest. Das ist "@" + Addin-Name. Der letzte Buchstabe von Addin-Name wird dabei ggf. abgeschnitten.

TMCSDirEntry.addr zeigt Dir dann den Weg zu den Dateien Deiner Anwendung. TMCSDirEntry.itemcount gibt die Anzahl dieser Dateien zurück.
SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon cfxm » Di 30. Nov 2010, 16:31

cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39

Re: Main-Memory auslesen

Beitragvon Paul94 » Di 30. Nov 2010, 16:46

Hi!

Ich habe mit Bfile_CreateMainMemory nun eine Datei erzeugt, aber mit Bfile_OpenMemory kann ich sie nicht öffnen. Das zurückgegebene Handle ist immer negativ? Der Dateiname ist der richtige, woran kann das liegen?
Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon SimonLothar » Mi 1. Dez 2010, 07:38

SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon SimonLothar » Mi 1. Dez 2010, 07:43

SimonLothar
 
Beiträge: 228
Registriert: Mi 27. Mai 2009, 10:51
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon Paul94 » Mi 1. Dez 2010, 17:22

Paul94
 
Beiträge: 219
Registriert: Do 14. Mai 2009, 06:50
Taschenrechner:

Re: Main-Memory auslesen

Beitragvon cfxm » Mi 1. Dez 2010, 17:47

Zuletzt geändert von cfxm am Do 2. Aug 2012, 18:38, insgesamt 1-mal geändert.
cfxm
 
Beiträge: 739
Registriert: Mi 1. Apr 2009, 19:39

Nächste

Zurück zu fx-9860G SDK (Alle fx-9860G Modelle)

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 8 Gäste