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
...und werd mich mal bei Gelegenheit einlesen.
:
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.
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!
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.
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.
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:
und kannst danach einen Hook setzen und aktivieren:
Code: Alles auswählen
dword HookIndex = HookSet (FirmwareEntryPoint, (dword *) HookHandler);
HookEnable (HookIndex, TRUE);
Zum Schluss nicht aufs Deaktivieren vergessen!
[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.
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.