Seite 1 von 33

FireBirdLib

Verfasst: Fr 9. Feb 2007, 22:09
von FireBird
Hi,

nachdem einige Leute diese Sammlung von praktischen und gefährlichen Funktionen schon einige Zeit verwenden, möchte ich sie hier „offiziell“ zur Verfügung stellen. Es handelt sich dabei um Routinen, die man nicht jedes Mal neu erfinden möchte oder Firmware-Hacks, die offiziell unmöglich sind. Nicht alles ist selfmade, sondern manches ist von anderen Sourcen zusammengestohlen …ähhh…
wurde von anderen Sourcen übernommen.


Speziellen Dank auch an ibbi, der mich mit seinem gar nicht puristischen Wissen unterstützt hat und sich auch die Mühe gemacht hat, die komplette Library in rund 200 Einzelobjekte zu zerschlagen. Dadurch werden wirklich nur die Funktionen in ein TAP gelinkt, die auch aufgerufen werden.


Diese Funktionssammlung soll weiterwachsen. Wenn also jemand Routinen hat, die für andere TAP-Programmierer interessant sein könnte, dann immer her damit – ich werde sie gerne mit dem entsprechenden Hinweis einbauen.

MfG. Alex

FBLib Download
FBLib Doc
FBLib Doc (English)
Change log

AW: FireBirdLib

Verfasst: Fr 9. Feb 2007, 22:18
von Sigittarius-E
ich sag mal

DANKE :up:

:hello:

...und werd mich mal bei Gelegenheit einlesen. :D :

AW: FireBirdLib

Verfasst: Fr 9. Feb 2007, 22:46
von ibbi
Bei dem gewaltigen Andrang hier bin ich glatt froh, auch noch ein Exemplar erwischt zu haben.

Mein Dank an Alex, dass er sein Wissen und seine Sourcen mit uns teilt.

AW: FireBirdLib

Verfasst: Fr 9. Feb 2007, 23:02
von FireBird
Eigentlich wollte ich die PDF zum Schnuppern anhängen. Ist hiermit oben geschehen.

AW: FireBirdLib

Verfasst: Fr 9. Feb 2007, 23:09
von ibbi
Man sollte vielleicht noch erwähnen, dass das test.tap keinesfalls jemand installieren oder aufrufen sollte. Es dient nur dazu zu überprüfen, ob die Library ohne Fehler gebunden werden kann. :altermotzsack:

AW: FireBirdLib

Verfasst: Fr 9. Feb 2007, 23:20
von paul79
Ich sag auch mal Danke auch wenn ich im Moment noch keine Verwendungsmöglichkeit dazu habe! :D :D

Finde es toll das Du Dein Wissen mit uns teilst!

Gruß
Paul

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 00:15
von Happy
[quote=""ibbi""]
Mein Dank an Alex, dass er sein Wissen und seine Sourcen mit uns teilt. [/quote]

Dem kann ich mich nur anschließen. Schließlich benutze ich auch schon seit langem Teile dieser API. :hello:

Gruß,
Happy

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 10:18
von DeJe
Ich habe mir auch eine aktuelle Version vom Stapel genommen.
Vielen dank an Ibbi und natürlich Firebird, die Sammlung ist wirklich überaus hilfreich und nützlich. :D

PS: Firebird, kannst du neben TAP_SendEvent() noch ein TAP_SendEventByID() einbauen? Ich nutze zur Zeit diese Funktion aus den TAPExtension, die könnte ich dann eleminieren.

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 12:55
von Bonni
Allein die Doku ist eine Genuss. Steckt echt viel Arbeit drin. Respekt, Alex!

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 16:55
von Harvey
Einfach nur genial.

Da sind seit dem letzten mal, wo ich sie angeschaut habe, viele schöne neue Funktionen hinzugekommen.

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 17:20
von Aldarin
Absolut Top. :)

Gruß
Aldarin

AW: FireBirdLib

Verfasst: Sa 10. Feb 2007, 22:37
von asrael
Dankeschön!

Mit freundlichen Grüßen

asrael

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 17:55
von Harvey
Ich bin hier grade am Experimentieren, blicke aber nicht so ganz mit HookSet durch.

Ist es richtig, dass dword *pTAPHandler übergeben werden muss als z.B.
void SectionDetectHook (dword unknown /* 0 */, dword* CPURegs)
{ a1= CPURegs[4]; machwas(a1); }

Darauf bin ich aufgrund eines Disassemblats von DefaultOPs gekommen, weiss aber nicht, ob ich mich irre (das Experiment macht jedenfalls nichts, nicht mal den Topf schockgefrieren).

Die Nennung eines Opensource-TAP, welches die Funktion nutzt, wäre als Wink mit dem Zaunpfahl ausreichend, eh Du jetzt im Code wühlst.

Danke.

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 18:08
von FireBird
Du definierst zu erst den Hook-Handler:

Code: Alles auswählen

void HookHandler (dword HookIndex, tCPURegs *CPURegs)
und kannst danach einen Hook setzen und aktivieren:

Code: Alles auswählen

dword HookIndex = HookSet (FirmwareEntryPoint, (dword *) HookHandler);
HookEnable (HookIndex, TRUE);
Zum Schluss nicht auf’s Deaktivieren vergessen!

Code: Alles auswählen

HookExit();
[quote=""Harvey""]Darauf bin ich aufgrund eines Disassemblats von DefaultOPs gekommen[/quote]
Vielleicht sollte ich die Quellen dazulegen.

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 18:24
von Harvey
OK, so habe ich es gemacht (HookIndex nicht ausgewertet), dann funktionniert der Krempel wegen meiner Fehler nicht.

Eh ich jetzt noch x mal die Treppen rauf und runter laufe: Weißt Du rein zufällig, ob dem Topf ein TAP_Print innerhalb einer Interruptreoutine genehm ist ? Verhüterli gegen den Empfang weiterer IRQs sind (glaube ich) deaktiviert.

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 18:30
von FireBird
[quote=""Harvey""]Weißt Du rein zufällig, ob dem Topf ein TAP_Print innerhalb einer Interruptreoutine genehm ist ? [/quote]
Manchmal funktionierts, meist nicht. Ich schreibe notwendige Infos immer in einen Buffer und schreibe ihn im Idle hinaus. Es gibt aber auch genügend Stellen, an denen der Topf einen Hook überhaupt nicht mag.

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 19:19
von Harvey
Ich schreibe notwendige Infos immer in einen Buffer und schreibe ihn im Idle hinaus.
:rotfl:

Jetzt muss ich nur noch den Smilie erklären: Exakt das glaube ich mit den Informationen zu machen, die ich gerne hätte (EPG-Daten).

Nun gut, dann fang ich mal das Debuggen via DebugBbuffer[y]=x an.


Vielen Dank.





Falls wer unbedingt Lust hat, mein Gehirn zu entkrampfem, hier das nicht lauffähige TAP als Source. Da stecken wahrscheinlich nur Peinlichkeiten drin.
Bis Morgen.

Edit: Jetzt bin ich wieder klarer. Abgesehen von einigem Murks hätte ich mal die Routine zum Auswerten aufrufen können.
Prinzipiell klappt es jetzt, leider kommen nur Current und Next Event rein :( Ergo muss ich mich wohl oder übel mit den PID-Filtern beschäftigen, und das kann dauern.

AW: FireBirdLib

Verfasst: Sa 17. Feb 2007, 20:33
von FireBird
[quote=""Harvey""]Falls wer unbedingt Lust hat, mein Gehirn zu entkrampfem, hier das nicht lauffähige TAP als Source. [/quote]
Und was soll sich an der gehookten Location tun?

AW: FireBirdLib

Verfasst: So 18. Feb 2007, 08:31
von ibbi
Könntest Du das mit in die Anleitung nehmen? Geschrieben ist es ja schon, so dass es keine Extra-Arbeit mehr macht.

Vielleicht ein Kapitel pro Unterverzeichnis, in dem solche Anwendungsbeispiele und Erklärungen stehen, die man aus solchen Anfragen peu à peu zusammentragen könnte.

AW: FireBirdLib

Verfasst: So 18. Feb 2007, 10:43
von FireBird
Ich hatte geplant, eine Erklärung für die „undurchsichtigen“ Befehle zu schreiben – irgendwann.