Masterpiece Version von TSRComander?
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
Masterpiece Version von TSRComander?
Hallo Leute,
gibt es irgendwo eine Version von TSRCommander, die auf dem Masterpiece vernünftig läuft? (Ich vermute jedenfalls dass es ein MP Problem ist)
Anscheinend kommt TSRCommander nicht mit dem OSD klar. So blendet er sich immer ein, wenn man im Improbox Papierkorb Exit drückt oder im SubSwitch Menue oder im EPGUploader.
Meiner Meinung nach scheint die Funktion OSDActive() nicht sauber zu funktionieren.
Aushilfsweise wäre mir auch mit ein paar Tips von den TAP Gurus geholfen, um den TSRCommander selber zu modifizieren.
Danke im Voraus
Umtauscher
gibt es irgendwo eine Version von TSRCommander, die auf dem Masterpiece vernünftig läuft? (Ich vermute jedenfalls dass es ein MP Problem ist)
Anscheinend kommt TSRCommander nicht mit dem OSD klar. So blendet er sich immer ein, wenn man im Improbox Papierkorb Exit drückt oder im SubSwitch Menue oder im EPGUploader.
Meiner Meinung nach scheint die Funktion OSDActive() nicht sauber zu funktionieren.
Aushilfsweise wäre mir auch mit ein paar Tips von den TAP Gurus geholfen, um den TSRCommander selber zu modifizieren.
Danke im Voraus
Umtauscher
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
nö, das ist nicht der Grund. TSRCommander startet zuerst, dann Improbox und anschließend der Rest.
Da Problem ist, dass TSRComander bei manchen TAPs nicht erkennt, dass schon ein anderes TAP aktiv ist und sich mit der Exit-Taste einblendet.
Umtauscher
Da Problem ist, dass TSRComander bei manchen TAPs nicht erkennt, dass schon ein anderes TAP aktiv ist und sich mit der Exit-Taste einblendet.
Umtauscher
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
- Elle4u
- TAP-Chirurg

- Beiträge: 11971
- Registriert: Fr 9. Dez 2005, 16:48
- Receivertyp: SRP-2410 (2 TB)
- Receiverfirmware: TF-BCPCE 1.11.00 (19.12.2013)
- Wohnort: Osburg
- Kontaktdaten:
Evtl. hilft Dir da mein kleines StopExit-TAP?umtauscher hat geschrieben:nö, das ist nicht der Grund. TSRCommander startet zuerst, dann Improbox und anschließend der Rest.
Da Problem ist, dass TSRComander bei manchen TAPs nicht erkennt, dass schon ein anderes TAP aktiv ist und sich mit der Exit-Taste einblendet.
Umtauscher
Da mußt Du 2x Exit innerhalb einer Sekunde drücken, damit es durchgereicht wird...
Gruß,
Elle4u
Elle4u
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
Danke, aber ich würde schon lieber dem Problem auf den Grund gehen.
Was kann denn grundsätzlich die Ursache sein, wenn ein Fenster welches mit TAP_Win_Create erzeugt wird, beim Abfragen des OSD-Memorys nicht gesehen wird?
Was kann denn grundsätzlich die Ursache sein, wenn ein Fenster welches mit TAP_Win_Create erzeugt wird, beim Abfragen des OSD-Memorys nicht gesehen wird?
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
- Sigittarius-E
- FIQMDTSSOOLUETSNAK

- Beiträge: 8216
- Registriert: Fr 9. Dez 2005, 18:49
- Receivertyp: TF5kPVR/TF3kCIpro
- Receiverfirmware: 13.9.'05 SHUFGmUx/19.4.'04
- Wohnort: Österreich, NÖrdl.d.Donau
Elle4u hat geschrieben:Evtl. hilft Dir da mein kleines StopExit-TAP?
Da mußt Du 2x Exit innerhalb einer Sekunde drücken, damit es durchgereicht wird...
Danke für den Link
Bzgl. TSR Commander:
Ich hab mich ja nie mit TSR Commander beschäftigt - lt. Happy soll der TAP Commander das gleiche können. Vielleicht funkt der korrekt am MP.
Info hier: viewtopic.php?t=2749
Zuletzt geändert von Sigittarius-E am Di 23. Mai 2006, 21:21, insgesamt 1-mal geändert.
Grüsse
Sigittarius-E
S-VHS ist nicht S-Video. So schreibt man: Standard, Satellit, wäre. TABs sind was für die Dritten.
TF5000PVR
HD:SP2514N
CAM:irdeto CW v3.15 ORF
Lüfter:Noiseblocker USF S1+Poti.
Verb.
/b]Silex SX2kU2
TV:Toshiba 42"
Auto Start-Reihenf.: GMTTimerBug WA2|QT|IB Prem|StopExit|WSSKiller|JagEPG|Matrix Screensaver|PiP|DisplayTAP|wwww|reccopy|TSBProtector v0.9.0|CheckAndCreate_EPGTimer v1.1
Manuell: SimpleCharEditor v3.09b,SetCryptFlag v0.3,exie v0.3,EBM v0.01
Sigittarius-E
S-VHS ist nicht S-Video. So schreibt man: Standard, Satellit, wäre. TABs sind was für die Dritten.
TF5000PVR
HD:SP2514N
CAM:irdeto CW v3.15 ORF
Lüfter:Noiseblocker USF S1+Poti.
Verb.
TV:Toshiba 42"
Auto Start-Reihenf.: GMTTimerBug WA2|QT|IB Prem|StopExit|WSSKiller|JagEPG|Matrix Screensaver|PiP|DisplayTAP|wwww|reccopy|TSBProtector v0.9.0|CheckAndCreate_EPGTimer v1.1
Manuell: SimpleCharEditor v3.09b,SetCryptFlag v0.3,exie v0.3,EBM v0.01
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
Danke für den Hinweis. Er funktioniert leider auch nicht richtig, nur anders. Er macht sein Fenster hinter den schon geöffneten Dialogen (Improbox, Pipswitch) auf. Leider kann man diese Dialoge dann gar nicht mehr beenden.Sigittarius-E hat geschrieben: Bzgl. TSR Commander:
Ich hab mich ja nie mit TSR Commander beschäftigt - lt. Happy soll der TAP Commander das gleiche können. Vielleicht funkt der korrekt am MP.
Also doch zurück zu TSRCommander :-(
Gruß
Umtauscher
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
-
OnlineFireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru

- Beiträge: 29051
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
Hi,

Zuerst ein paar Grundlagen: Die Emma hat 3 OSD-Ebenen. Die oberste, namens Hardware Cursor, kommt zwar in der Firmware vor, mir ist aber noch nicht untergekommen, wann sie verwendet wird. Bleiben also zwei, wobei Plane 2 hinter der Plane 1 liegt.
Beim 5000er finden normalerweise alle TAP_Osd und TAP_Win Funktionen in der Plane 1 statt. Ausgenommen ist ein TAP_Osd_Create mit dem Flag OSD_Flag_Plane2. Kleiner Bug: Erzeugt man ein Fenster mit einer Plane2-Region, dann landet dieses trotzdem in der Plane 1 und hat damit den Nebeneffekt, dass beim Löschen des Fensters beide Planes gelöscht werden. Das wird in der Praxis aber nur selten vorkommen.
Beim MP sieht die Sache ganz anders aus. Fenster werden grundsätzlich in der Plane 1 angelegt, OSD-Operationen ebenfalls grundsätzlich in der Plane 2. Deshalb scheint selbstgemalter Text immer hinter einem Fenster auf. Da TAP_Osd_GetBaseInfo auch auf den Speicher der Plane 2 verweist, bleiben alle Fenster für die div. OSD-Abfragen unsichtbar. Großer Bug: TAP_Osd_Delete löscht den Bereich immer in beiden Planes. Wenn Korea durch die Aufteilung eine Kollision zwischen OSD und Dialogboxen verhindern wollte, haben sie sich mit diesen Bug ins Knie geschossen.
Workaround: Natürlich beide Bereiche testen. Nachdem man sich nicht auf TAP_Osd_GetBaseInfo verlassen kann, organisiert man sich die beiden Speicherbereiche aus den Hardwareregistern der Graphic Controlers.
Die beiden zeigen leider noch nicht direkt auf den OSD-Speicher, sondern auf eine Struktur, die unter anderem die Speicheradressen enthält. Bevor man weitermacht, sollte man die beiden Register auf 0 prüfen. Das kann nach dem Löschen der letzten Region vorkommen. Zuerst berechnet man die Adresse der Info-Struktur. Das sieht umständlich aus, da das oberste Nibble der DGRP-Register für eine andere Information verwendet wird.
Und danach organisiert man sich die Startadresse der even und odd Frames der beiden Planes.
Den Workaround habe ich zwar noch nicht praktisch ausprobiert, ich weis aber, wo ich dann abschreiben kann. 
Ich bin nicht gestolpert, sondern habe bewusst nach dem Stein des Anstoßes gesucht.umtauscher hat geschrieben: Irgendwelche Ideen, wie man diese Inkompatibilität umgehen kann bzw. die OSD-Prüfung erweitern kann?
Zuerst ein paar Grundlagen: Die Emma hat 3 OSD-Ebenen. Die oberste, namens Hardware Cursor, kommt zwar in der Firmware vor, mir ist aber noch nicht untergekommen, wann sie verwendet wird. Bleiben also zwei, wobei Plane 2 hinter der Plane 1 liegt.
Beim 5000er finden normalerweise alle TAP_Osd und TAP_Win Funktionen in der Plane 1 statt. Ausgenommen ist ein TAP_Osd_Create mit dem Flag OSD_Flag_Plane2. Kleiner Bug: Erzeugt man ein Fenster mit einer Plane2-Region, dann landet dieses trotzdem in der Plane 1 und hat damit den Nebeneffekt, dass beim Löschen des Fensters beide Planes gelöscht werden. Das wird in der Praxis aber nur selten vorkommen.
Beim MP sieht die Sache ganz anders aus. Fenster werden grundsätzlich in der Plane 1 angelegt, OSD-Operationen ebenfalls grundsätzlich in der Plane 2. Deshalb scheint selbstgemalter Text immer hinter einem Fenster auf. Da TAP_Osd_GetBaseInfo auch auf den Speicher der Plane 2 verweist, bleiben alle Fenster für die div. OSD-Abfragen unsichtbar. Großer Bug: TAP_Osd_Delete löscht den Bereich immer in beiden Planes. Wenn Korea durch die Aufteilung eine Kollision zwischen OSD und Dialogboxen verhindern wollte, haben sie sich mit diesen Bug ins Knie geschossen.
Workaround: Natürlich beide Bereiche testen. Nachdem man sich nicht auf TAP_Osd_GetBaseInfo verlassen kann, organisiert man sich die beiden Speicherbereiche aus den Hardwareregistern der Graphic Controlers.
Code: Alles auswählen
volatile dword * DGRP_OSD1CTR = (dword*) 0xb0004104;
volatile dword * DGRP_OSD2CTR = (dword*) 0xb0004108;Code: Alles auswählen
dword *pOSD1Info, *pOSD2Info;
pOSD1Info = (dword *) ((*DGRP_OSD1CTR & 0x0fffffff) | 0xa0000000);
pOSD2Info = (dword *) ((*DGRP_OSD2CTR & 0x0fffffff) | 0xa0000000);Code: Alles auswählen
dword *pOSD1e, *pOSD1o, *pOSD2e, *pOSD2o;
pOSD1e = (dword *) ((*(pOSD1Info + 6) & 0x0fffffff) | 0xa0000000);
pOSD1o = (dword *) ((*(pOSD1Info + 7) & 0x0fffffff) | 0xa0000000);
pOSD2e = (dword *) ((*(pOSD2Info + 6) & 0x0fffffff) | 0xa0000000);
pOSD2o = (dword *) ((*(pOSD2Info + 7) & 0x0fffffff) | 0xa0000000);-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
Hi Firebird,
meine ersten Versuche haben leider nicht zum gewünschten Erfolg geführt. OSDActive() ist jetzt immer TRUE. Ich vermute daher, dass bei der Berechnung der Pointer etwas nicht stimmt.
Ich wäre für eine kurze Erkärung dankbar.
Umtauscher
P.S.: Hast Du vielleicht einen Link für mich für das Hardwaremanual des Grafikchips?
meine ersten Versuche haben leider nicht zum gewünschten Erfolg geführt. OSDActive() ist jetzt immer TRUE. Ich vermute daher, dass bei der Berechnung der Pointer etwas nicht stimmt.
Bist Du sicher, dass das so stimmt? Du löschst erst das oberste Nibble und setzt anschließend die bit 3 und 1 fest auf 1?FireBird hat geschrieben:Code: Alles auswählen
dword *pOSD1Info, *pOSD2Info; pOSD1Info = (dword *) ((*DGRP_OSD1CTR & 0x0fffffff) | 0xa0000000);
Ich wäre für eine kurze Erkärung dankbar.
Umtauscher
P.S.: Hast Du vielleicht einen Link für mich für das Hardwaremanual des Grafikchips?
Zuletzt geändert von umtauscher am Fr 26. Mai 2006, 12:36, insgesamt 1-mal geändert.
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
-
OnlineFireBird
- Suspekter verdächtiger Zauberküchenchef, TAP & Firmware-Guru

- Beiträge: 29051
- Registriert: Fr 9. Dez 2005, 09:59
- Receivertyp: SRP-2401CI+ TFIR
vu+ Duo 4k - Wohnort: Wien
Im Register steht z.B. 0x21F72B70, die korrekte Adresse lautet 0xA1F72B70.umtauscher hat geschrieben:Bist Du sicher, dass das so stimmt? Du löschst erst das oberste Nibble und setzt anschließend die bit 3 und 1 fest auf 1?
Ich habe mir gerade OsdActive angesehen und wundere mich, dass das jemals funktioniert hat. Nachdem das OSD in gerade und ungerade Zeilen unterteilt ist, ist jeder der 4 Speicherblöcke nur 720 x 288 Pixel groß. Die Routine checkt aber bis zur Zeile 500 und läuft somit in einen Bereich, der für andere Dinge benutzt wird. Oder übersehe ich etwas?
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
Das sehe ich auch so und habe das bereits geändert. Es könnte aber sein, dass die beiden Blöcke hiontereinander liegen. Dann könnte es zufällig funktionieren. (Habe ich aus faulheit nicht geprüft. ;-)FireBird hat geschrieben: Ich habe mir gerade OsdActive angesehen und wundere mich, dass das jemals funktioniert hat. Nachdem das OSD in gerade und ungerade Zeilen unterteilt ist, ist jeder der 4 Speicherblöcke nur 720 x 288 Pixel groß. Die Routine checkt aber bis zur Zeile 500 und läuft somit in einen Bereich, der für andere Dinge benutzt wird. Oder übersehe ich etwas?![]()
SRP2401CI+, torrodial-multifocus-antenne T90, 17/8 Switch, TAPs: SmartEPG, I-Box, Smartskip
-
umtauscher
- Erfahrener Benutzer

- Beiträge: 216
- Registriert: Di 20. Dez 2005, 23:16
- Receivertyp: 2401CI+
- Wohnort: Köln
