Foros ZackYFileS

Foros ZackYFileS (http://foros.zackyfiles.com/index.php)
-   6 PINES (http://foros.zackyfiles.com/forumdisplay.php?f=434)
-   -   Mod decos Sl35/SL65s para que funcionen con firms Truman (http://foros.zackyfiles.com/showthread.php?t=524112)

vishero 28/07/2007 00:44

Mod decos Sl35/SL65s para que funcionen con firms Truman
 
Proyecto original de "Vinix & Kosovo & SAT-ULC users" en el foro alemán ULC.

Hilo de dicho proyecto: [B]w*w.sat-ulc.com/ulc/thread.php?threadid=50033&threadview=0&hilight=&hilightuser=0&page=1[/B] [SIZE="1"](Información "legal" en alemán, solo modificación de hard)[/SIZE]

Se trata de un pequeño circuito que permite solucionar la incompatibilidad de los decos Comag SL35 y SL65s con los Truman, es decir solucionar los problemas con el mando y el sonido cuando tienen flasheados dicho firm.

En el caso de los Sl35 es un Mod del frontal, con varias conexiones desde dicho frontal al circuito. En el SL65s solo hay que conectar a 3,3v, masa, intercalar la señal IR y lo mas "complicado", conectar con tres patas del chip de sonido PCM1742KE.

Para el proyecto se pueden usar desde el "glorioso" PIC 16F84-04 hasta los ATMega 8 y 32...

A continuación poner la información que se encuentre, diagramas, fotos, dudas sobre programadores de pics, etc. etc...

sl2

P.D.: Si se registra en el foro alemán, además de poder ver el hilo, se podrá acceder a las descargas de los correspondientes archivos hex para meterle a los pic's y AT's, tanto en dicho hilo como en en ulpload que tiene el foro en la sección de los SL35/SL65.

vishero 28/07/2007 01:02

Fotos de MOD de bertram02 (foro ULC) hecho en un SL65s y con un pic 16F84:

http://img441.imageshack.us/img441/4...lettrq7.th.jpg http://img526.imageshack.us/img526/2...0060vq8.th.jpg http://img526.imageshack.us/img526/2...068kqk3.th.jpg http://img300.imageshack.us/img300/5...069kva3.th.jpg

http://img410.imageshack.us/img410/5...0070pj4.th.jpg http://img515.imageshack.us/img515/1...070amp5.th.jpg http://img300.imageshack.us/img300/6...0071hz7.th.jpg http://img526.imageshack.us/img526/2...0072zz7.th.jpg

Como se ve, alimentó el Mod desde los 3.3v que viene de la fuente, masa al tornillo de la placa, cortó el cable negro que va desde el frontal a la placa (conexión "ida y vuelta"), y lo mas dificultoso, la conexión de tres cables a las patas del chip de sonido1742KE, en este caso para poder soldar, retiró previamente los dos condensadores que están pegados a el. Para otros "Moders" (muy apañados ellos... :) ) no ha sido necesario.


sl2

SantiPHREACK 28/07/2007 01:31

Aquí mi [B]"SL65-12 A1 MOD"[/B] perdonad por la calidad de la afoto:-/

[URL=http://img341.imageshack.us/my.php?image=21072007002cp5.jpg]http://img341.imageshack.us/img341/3...7002cp5.th.jpg[/URL]

vishero 28/07/2007 01:47

Yo quiero ver los condesadores!!!!... :D:D:D

Veo que le pusiste los leds y el interruptor Mode-Truman/Mode-Comag.

Tengo una duda con el circuito, en vez de meterle un Resonador cerámico de 4MHz quería meterle un cristal de 4MHz que ya tengo, con dos condensadores de 22pf, alguien lo hizo así en ULC, pero no entiendo bien como los puso. Van de cada una de las patas del cristal a masa?

sl2

vishero 28/07/2007 03:03

Foto de los cables soldados en el chip de sonido de un SL35, al estar mas despejado que en SL65, es menos dificultoso soldarlos, incluso pareciera que uno de ellos se suelda en una resistencia conectada a la pata 15.

http://img207.imageshack.us/img207/1...nidony3.th.jpg
Foto by Vinix

sl2

vishero 28/07/2007 03:16

Unas ideas de como hacer algún "artilugio" para ponerlo pegado encima del chip de sonido y no soldar directamente en el. En este caso se usaría parte de un zócalo, torciendo las patas para que encajen sobre las del PCM1742KE, como está pensado para un SL35 son solo 2.

[URL=http://img521.imageshack.us/my.php?image=dackontxr6.jpg]http://img521.imageshack.us/img521/2...kontxr6.th.jpg[/URL]

Alguna otra idea?

sl2

vishero 28/07/2007 03:50

Diagrama del circuito para un SL35 by Vinix:

http://img510.imageshack.us/img510/5...ion2yu2.th.jpg

Código:

Componentes:

Pos.    Cant.      Tipo              Referencia
  1        1    16F84 o 16F84a          IC1
  2        1    Resonador 4 MHz        RES1
  3        1    LED 2,5mm verde        LED MODE
  4        1    LED 2,5mm rojo          LED IR
  5        6    10 K 0,25W 5%          R1,R2,R3,R4,R5,R6
  6        2      330 0,25W 5%          R7,R8

En el SL35 hicieron un Mod de frontal, para el SL65s habría que quitarle las conexiones a los botones del mismo, con sus respectivas resistencias, no estoy seguro que funcionen, en la documentación dice que son solo para los SL35. Otra diferencia son las referencia a los números de conectores CON que difieren con los del SL65s. El resto es igual.

Habría que "limpiar" dicho diagrama para el SL65s para no crear confusión.

Otra duda que tengo es lo referido a la sustitución del resonador por un cristal de 4MHz con 2 condensadores de 22pf.

Sería ideal que alguien con conocimientos de alemán tradujera el pdf de la documentación, que está muy bien hecho. La traducción online se entiende menos que el original....
sl2

vishero 28/07/2007 04:14

Hex v2.5 Final (27.07.2007) para el Pic 16F84 y 16F84A by Vinix:
(no contiene HOT-CODE)

SL35_SO_FB_WDT_V2_5.HEX
Código:

:020000040000FA
:020000001928BD
:080008009800030E99000108A5
:100010009A0064001714971081018316C430810080
:1000200083128B10190E8300980E180E0B168B1767
:1000300009006400AA131F3085008316850083120F
:10004000813086008316860083128316C4308100B7
:10005000831286140611061606136400A501861B7A
:10006000A5174922861B482864008B130508A600A3
:1000700026189828A6189B2826199E280608803935
:100080002506031D2D2806180616061C0612342800
:1000900064000B309300D7309500970196019A01C8
:1000A000A301A4016400060880392506031D2D283C
:1000B0000B168B176400171C5E286E28050807397D
:1000C000A60026181429A618172926191A29060881
:1000D00080392506031D2D2864005B289714971886
:1000E0006F2864001A081502031C77287928161453
:1000F0007A281610930B7D288128960D971464009A
:100100006F28640000309300640083121308890094
:100110008316081483120808940016081406031D99
:1001200092281D29930A22301306031D842848288B
:100130001E30A800A1282830A800A1282A30A80035
:10014000A128291CA428AE28F730900006126D22A1
:100150000616D620F520D6202914B828F7309000AE
:1001600006126D220616D620D620D6202910B828D1
:100170000830A700A81FD328D620A80DA70BBA289F
:10018000003090006D22003090006D220030900011
:100190006D22003090006D22003090006D22003002
:1001A00090006D223428F520A80DBE281C30900048
:1001B0006D22F930900006126D2200000000000050
:1001C000000000000000000000000000000000002F
:1001D000000000000000000000000000000000001F
:1001E000000000000000061608006A3090006D2232
:1001F000F930900006126D2200000000000000009F
:1002000000000000000000000000000000000000EE
:1002100000000000000000000000000000000000DE
:100220000000000006160800003093001D290D3064
:1002300093001D29113093001D298616640021307A
:1002400013060319752AAA1B772A1308A200A30113
:1002500064003E2264002308A400AA1F3929C73085
:10026000A40703300318013E8A002408C7239B001B
:100270004229CB30A40702300318013E8A0024082B
:10028000CB229B00A30AA40164002308A400AA1F98
:100290005329C730A40703300318013E8A002408FD
:1002A000C7239C005C29CB30A40702300318013E11
:1002B0008A002408CB229C00A30AA401640023081E
:1002C000A400AA1F6D29C730A40703300318013EFC
:1002D0008A002408C7239D007629CB30A40702306A
:1002E0000318013E8A002408CB229D00A30AA40122
:1002F00064002308A400AA1F8729C730A40703307D
:100300000318013E8A002408C7239E009029CB30A1
:10031000A40702300318013E8A002408CB229E0065
:10032000A30AA40164002308A400AA1FA129C730BE
:10033000A40703300318013E8A002408C7239F0046
:10034000AA29CB30A40702300318013E8A002408F2
:10035000CB229F00A30AA40164002308A400AA1FC3
:10036000BB29C730A40703300318013E8A002408C4
:10037000C723A000C429CB30A40702300318013ED4
:100380008A002408CB22A000A30AA4016400230849
:10039000A400AA1FD629C730A40703300318013EC2
:1003A0008A002408C723A100AA13DF29CB30A407A1
:1003B00002300318013E8A002408CB22A100A401C8
:1003C00064000822E6211422861248280730930090
:1003D00030220830930030221B08930030221C0882
:1003E000930030221D08930030221E089300302213
:1003F0001F08930030222008930030220130930020
:10040000302221089300302201309300302208006E
:100410000612003090006D22D73090006D22061633
:10042000753090006D2208000616053093000030EC
:1004300090006D22930B172A7D3090006D220612DA
:10044000013090006D22E13090006D220616BD3023
:1004500090006D220612E93090006D220616080009
:100460000612E93090006D220616F23090006D22DF
:10047000930B302AD03090006D2208000030220605
:100480000319472A2308073EA300A20B422AA30A06
:10049000080014309100861B512A05309200061383
:1004A000542A033092000617861008309300110D6D
:1004B0000318861591006922930B572A0830930080
:1004C000120D0318861592006922930B602A861478
:1004D0000800061506118611080009309400940BD7
:1004E0006F2A6400900F6D2A0800AA17482864003C
:1004F000163013060319992A1730130603199C2A7C
:10050000183013060319A02A193013060319A42A58
:100510001A3013060319A82A1B3013060319AC2A34
:100520001C3013060319B02A1D3013060319B42A10
:10053000482800309300B72A013093006400B72A9E
:10054000023093006400B72A033093006400B72A96
:10055000043093006400B72A053093006400B72A82
:10056000063093006400B72A073093006400252901
:0A05960082000334023405340234FD
:1005A000023401340134023401340334063401349A
:1005B0000234013402340134023401340634033489
:1005C000013404340234043401340234023401347A
:1005D0000434043402340134023401340234023469
:1005E0000134013402340734023401340234033458
:1005F0000134053401340334013403340534023446
:100600000234013401340234033403340434023438
:100610000134023401340234063403340134013429
:100620000134023408340234013401340134013419
:100630000234053401340434013401340334013408
:1006400002340134013401340934013401340234F8
:1006500001340234073402340134013402340434E6
:1006600005340134013402340134023402340134DB
:1006700006340334013401340634043401340134C3
:1006800001340234013403340134013405340434B8
:1006900001340134023401340134013401340934A9
:1006A0000134033401340134013404340534013499
:1006B0000234023401340134053404340134033487
:1006C0000134023404340334023401340234093472
:1006D0000134013401340134013403340734023469
:1006E0000134013401340134023401340934013459
:1006F0000134013401340434063401340234013449
:100700000134013402340234073402340134013438
:100710000134033401340634033401340134013428
:100720000234013401340934013401340134053414
:100730000534013401340234013401340234033409
:1007400006340134023401340134033402340134F8
:1007500004340234033401340A34013401340134E2
:1007600001340134013402340234043403340234D9
:04077000013402341A
:02078E008200E7
:1007900002340134013404340534013402340234A7
:1007A0000134053404340134013402340334013497
:1007B0000434023403340134023404340434023483
:1007C0000134023401340234043401340134043479
:1007D0000134043401340434013405340134033465
:1007E0000134013402340234023405340234023458
:1007F0000134023402340434033402340134023448
:02400E00F53F7C
:104200001E00100022001900140032001A002600BF
:104210002000300027002F0037002800210029004F
:1042200031002A0023001B002E00180035002D004D
:1042300025001D0034002C0024001C003300360033
:104240002B001F00560049004E0049005800200076
:0842500032003000300037009D
:00000001FF

Se acuerdan cuando posteabamos los hex para las PIC1...
Que tiempos aquellos!!!...

Código fuente de la v2.4, el de la v2.5 no estaba:
(Solo como verificación del contenido del HEX)

SL35_SO_FB_WDT_V2_4.asm
Código:

; Init Sequenzer für PCM1742 DAC in SL35 und SL35/1CI
; FB Code Swaper für Comag an Truman Software auf SL35 und SL35/1CI
; Abfrage ob Truman Firmware oder Orginal Firmware benutzt werden soll
; Orginal Fernbedienung von Comag auf Truman Firmware
; SOFTWARE VERSION 2.04
;
; 26.06.2007 by VINIX
; 27.06.2007 Abfrage ob Truman FIRMWARE oder COMAG Firmware benutzt wird hinzugefügt,Sound INIT "professionalisiert" ;-)
; 28.06.2007 FB Emulator COMAG FB auf Truman FIRMWARE hinzugefügt
; 02.07.2007 Emulator Implementiert
; 06.07.2007 Interrupt Versuch RB0, Hardware Modifiziert
; 07.07.2007 Tabelle Vervollständigt und Optimiert
; 08.07.2007 IR Indikator bleibt in der Software / war Urrsprünglich nur zum Test Eingebaut / ist aber auch so nützlich
; 09.07.2007 Mode Abfrage zur Laufzeit
; 10.07.2007 WDT Implementiert (soll ein "Hängen" der FB bei längerer Nichtbenutzung Verhindern)
;                        Hintergrund ist die Empfindlichkeit des IR Empfängers. Dieser Reagiert auf alle Impulse, dadurch kann es
;                        Vorkommen das die Software in der Datenempfangs Routine, die Interruptgesteuert ist, "Gefangen" ist.
;                        Sollte das Passieren so wird der WDT nach ca. 10 - 20 mS nicht mehr gelöscht und dieser Löst dann ein
;                        RESET aus und der Controller begint wieder von Vorne.
; 14.07.2007 Tabelleadressberechnung verbessert
; 20.07.2007 Fronttastatur Funktion über FB EMU zum Portpin Sparen für den TRUMAN und den COMAG Mode Eingebaut 


; PORTBELEGUNG des PIC 16F84:
; ===========================
; Hardware Version 2_4
;
; RA 0 = POWER                                (EINGANG)
; RA 1 = UP                                        (EINGANG)
; RA 2 = DOWN                                (EINGANG)
; RA 3 = NC                                        (EINGANG)
; RA 4 = NC                                        (EINGANG)
;
; RB 0 = IR_IN                                (EINGANG)    INTERRUPT EINGANG !
; RB 1 = ML/15 Data Latch        (AUSGANG)         
; RB 2 = MC/14 CLOCK                (AUSGANG) 
; RB 3 = MD/13 DATA                        (AUSGANG) 
; RB 4 = FBC_OUT                        (AUSGANG)
; RB 5 = LED IR AKTIV                (AUSGANG)       
; RB 6 = LED C/T                        (AUSGANG)
; RB 7 = Truman Enable                (EINGANG)  / Hinzugefügt um bei FB EMU implementation eine Möglichkeit zu haben die
;                                                                                / Orginal Firmware wieder Benutzen zu können ohne den Verlust der FB Funktion
;                                                                                / wenn die Versorgungsspannung vom Pic genommen würde.


        TITLE        "SL35_FB.ASM"
        include "p16f84.inc"
        LIST        P=16F84
        __CONFIG _CP_OFF & _WDT_ON & _XT_OSC & _PWRTE_ON

   
; Fileregister Definieren für Konastanten und Variablen
; =====================================================
VERKO        EQU        0x10                                ; Speicher der Verzögerungsdurchläufe       
FDIX        EQU        0x11                                ; First out / MSB also Register Index
LDDX        EQU 0x12                                ; Last out / LSB also Register Data
ZWI                EQU        0x13                                ; Zwischenspeicher für Vergleichsroutine usw.
ZWI2        EQU        0x14                                ; Zwischenspeicher 2 für Vergleichsroutine usw.
ENT                EQU        0x15                                ; Entscheidungszahl
IRIN1        EQU        0x16                                ; Speicher für das 16 Bit LSB Empfangsbyte
FIRST        EQU 0x17                                ; Interrupt Durchlauf Flag's
W_TEMP        EQU        0x18                                ; TEMPFILE Work
STA_TMP        EQU        0x19                                ; TEMPFILE Status
ZEIT        EQU 0x1A                                ; TMR0 Speicher nach Interrupt
TCA1        EQU 0x1B                                ; Truman Code Ausgabe 1'te Byte
TCA2        EQU 0x1C                                ; Truman Code Ausgabe 2'te Byte
TCA3        EQU 0x1D                                ; Truman Code Ausgabe 3'te Byte
TCA4        EQU 0x1E                                ; Truman Code Ausgabe 4'te Byte
TCA5        EQU 0x1F                                ; Truman Code Ausgabe 5'te Byte
TCA6        EQU 0x20                                ; Truman Code Ausgabe 6'te Byte
TCA8        EQU 0x21                                ; Truman Code Ausgabe 8'te Byte
MULTI        EQU        0x22                                ; Multiplikator
ERGEB        EQU 0x23                                ; Tabellen Index Comag
VV                EQU        0x24                                ; Tabellensprungadresse aus Comag Index und Truman Code Table
ITE                EQU        0x25                                ; INIT TEST Register / Mode Umschaltung
FRONTP        EQU        0x26                                ; Frontpanel Abfrage
SCHI        EQU        0x27                                ; SCHLEIFENZÄHLER COMAG
IHCS        EQU        0x28                                ; COMAG TASTENSPEICHER
WETA        EQU        0x29                                ; COMAG Zwischenspeicher für den Wechsel der Präambel im Comag FB / Frontpanel Mode

                ORG        0                                        ; RESET VECTOR (Hauptprogramm)
                GOTO        HAUPTPROGRAMM       

; ################################################################################################################################

; INTERRUPT SERVICE ROUTINEN (werden Aufgerufen sobald eine Interrupt Kondition erfüllt wurde)
; ============================================================================================
        ORG        4                                        ; Start der Interrupt Routine

; PUSH (Retten von System Registern vor dem Interrupt)
; ====================================================
                MOVWF        W_TEMP                        ; Work FR Sichern
                SWAPF        STATUS, W                ; STATUS ins W Register
                MOVWF        STA_TMP                        ; STATUS im Temporary File Speichern

; Hier wird Abgefragt welche Quelle den Interrupr Ausgelöst hat:
; ==============================================================
; In diesem Programm wird nur der INT am RB0 Benutzt, deshalb frei

; Register für die Spätere Verarbeitung Sichern:
; ==============================================
                MOVF        TMR0,W                        ; Timerwert sichern PRIORITÄT, die Größe ist equivalent des Bitzustandes Kurz = 0 / Lang = 1
                MOVWF        ZEIT                        ; Zeit bis zum Auslösen des Interrupt Speichern

; Watchdog Löschen wenn Interrupr Ausgelöst wird:
; ===============================================
                CLRWDT                                        ; Watchdog Löschen

; Startimpuls Flag setzen:
; ========================
                BSF                FIRST,0                        ; Schleifenflag setzen, wenn 0 dann ist das der Start des FB Telegramm (Startimpuls)

; Daten Flag        Löschen:
; ======================
                BCF                FIRST,1                        ; Flag Löschen       

; TMR0 Löschen:
; =============
                CLRF        TMR0                        ; TMR0 0

; TMR0 Neu Starten, da nach einem Schreibzugriff /CLRF ist auch Schreiben/ der Vorteiler Automatisch auf 1:2 Gesetzt wird:
; ========================================================================================================================
                BSF                STATUS,RP0                ; Page Select 0
                MOVLW        B'11000100'                ; Option Register laden mit: Pullup AUS / INT bei 0->1 / RTCC auf INTERN / Prescaler 1:32
                MOVWF        OPTION_REG                ; In das Option Register schreiben
                BCF                STATUS,RP0                ; Page Select 1

; Löschen des Interrupt Flags für RB0
; ===================================
                BCF                INTCON,INTF                ; Interrupt Flag Löschen (WICHTIG, da sonst sofort nach RETFIE wieder ein INT Ausgelöst wird)

; POP (Zurückschreiben von System Registern nach dem Interrupt)
; =============================================================
                SWAPF        STA_TMP, W                ; STATUS in das W
                MOVWF        STATUS                        ; STATUS Restaurieren
                SWAPF        W_TEMP,F                ; Nibble Tauschen und im FR speichern
                SWAPF        W_TEMP,W                ; Nibbles Tauschen im W Register Speichern
                BSF                INTCON,INTE                ; RB-0 Interrupt Einschalten
                BSF                INTCON,GIE                ; Generell Interrupt Enable
                RETFIE                                        ; Rücksprung vom Interrupt

; #################################################################################################################################

; Hier Startet das HAUPTPROGRAMM
; ==============================
HAUPTPROGRAMM:
; Watchdog Löschen:
; =================
                CLRWDT                                        ; Watchdog Löschen
               
; Port A initialisieren und Tris Register setzten
; ===============================================
;                          1 = EINGANG
;            0 = AUSGANG
;            BIT 76543210
                MOVLW        B'00011111'                ; APORT PIN 0 - 4 Eingang
                MOVWF        PORTA                        ; an den PORT Anlegen
                BSF                STATUS,RP0                ; Page Select ausführen 1
                MOVWF        TRISA                        ; ins Tris Register übernehmen
                BCF                STATUS,RP0                ; Page select wieder auf 0

; Port B initialisieren und Tris Register setzten
; ===============================================
;                          1 = EINGANG
;            0 = AUSGANG
;            BIT 76543210
                MOVLW        B'10000001'                ; BPORT Pin 0 und 7 Ausgang, 1 - 6 Ausgang
                MOVWF        PORTB                        ; an den PortB legen
                BSF                STATUS,RP0                ; Page select ausführen 1
                MOVWF        TRISB                        ; PortB lesen und ins TRIS Register schreiben
                BCF                STATUS,RP0                ; Page select wieder auf 0
               
; TMR0 und Prescaler definieren
; =============================
; Bit Value                TMR0 Rate  t/count bei 4 MHz
; ------------------------------------------
;                000                1:2                                  2 uS
;                001                1:4                                  4 uS
;                010                1:8                                  8 uS
;                011                1:16                        16 uS
;                100                1:32                        32 uS
;                101                1:64                        64 uS
;                110                1:128                        128 uS
;                111                1:256                        256 uS

                BSF                STATUS,RP0                ; Page Select 0
                MOVLW        B'11000100'                ; Option Register laden mit: Pullup AUS / INT bei Wechsel von 0->1 / RTCC auf INTERN / Prescaler 1:32
                MOVWF        OPTION_REG                ; In das Option Register schreiben
                BCF                STATUS,RP0                ; Page Select 1

; Portpins für den PCM1742 Labeln:
; ================================
; ACHTUNG HARDWARE GEÄNDERT WEGEN INTERRUPT EINGANG IR AUF RB0:
; =============================================================
#DEFINE ML                PORTB,1                        ; PCM 1742KE Latch
#DEFINE MC                PORTB,2                        ; PCM 1742KE Clock
#DEFINE MD                PORTB,3                        ; PCM 1742KE Data

; Portpins für den IR Empfänger und Fernbedienung Ausgang COMAG Labeln:
; =====================================================================
#DEFINE IR                PORTB,0                        ; Infrarot FB Eingangssignal von der Frontplatine
#DEFINE FBC                PORTB,4                        ; FB Ausgang zum ALI vom Emulator

; Portpins für den IR Indikator LED Labeln:
; =========================================
#DEFINE LEDI        PORTB,5                        ; LED IR Indikator (Blinkt bei Empfang von der Fernbedienung) 

; Portpins für den Wahlschalter Firmware und Anzeige LED Labeln:
; ==============================================================
#DEFINE LED                PORTB,6                        ; LED AUS = COMAG Firmware / LED AN = Truman Firmware 
#DEFINE TB                PORTB,7                        ; Schalter Eingang Comag oder Truman Firmware

; Anweisung für den Compiler / MPASM Microchip
; ============================================
#DEFINE        TABLELENGTH        d'238'                ; Tabellelänge der Codes

; Grundzustände Herstellen, egal ob Truman Firmware oder Comag Firmware:
; ======================================================================
                BSF                ML                                ; Latch ist aktiv Low, Ruhezustand High
                BCF                MC                                ; Clock ist aktiv High, Ruhezustand Low
                BSF                FBC                                ; FBC ist aktiv LOW, Ruhezustand High
                BCF                LED                                ; LED Ausgeschaltet beim Einschalten des Receivers am Netzschalter

; Grundeinstellung nach dem Einschalten Speichern:
; ================================================
REINIT: CLRWDT                                        ; Watchdog Löschen
                CLRF        ITE                                ; LÖSCHEN
                BTFSC        TB                                ; Aktuellen MODE Speichern
                BSF                ITE,7                        ; 1 Speichern

; PCM 1742 KE Initialisieren:
; ===========================
                CALL        PCMINIT                        ; SOUNDINI Auswahl des Modes nun in der INIT Routine

; Truman Software Enable Abfragen, um Festzustellen ob die FB Emulation laufen soll oder nur Signale Relayed werden / HIGH = Truman / LOW = SL35:
; ======================================================================================================================================================
                BTFSC        TB                                ; Zeiter Test ob HIGH, wenn LOW (COMAG Ausgewählt) Überspringe nächste Zeile
                GOTO        FBEMU                        ; Springe in die Fernbedienungsemulation COMAG FB auf TRUMAN Firmware

; Truman Bit war nicht gesetzt,               
; COMAG Fernbedienung für COMAG Orginal Firmware bzw. Truman, es werden nur die Eingangszustände auf den Ausgang gelegt:
; ======================================================================================================================
COMAG:        CLRWDT                                        ; Watchdog Löschen
                BCF                INTCON,GIE                ; Generell Interrupt Disable (sonst würde ein IR Signal diese Routine Stören)
                MOVF        PORTA,W                        ; Port A Einlesen
                MOVWF        FRONTP                        ; Speichern im FR
                BTFSC        FRONTP,0                ; Auf 0 Testen / wenn 0 dann POWER Auslösen
                GOTO        FCPOWER                        ; Funktion POWER
                BTFSC        FRONTP,1                ; Auf 0 Testen / wenn 0 dann CH UP Auslösen
                GOTO        FCUP                        ; Funktion UP
                BTFSC        FRONTP,2                ; Auf 0 Testen / wenn 0 dann CH DOWN Auslösen
                GOTO        FCDOWN                        ; Funktion DOWN
                MOVF        PORTB,W                        ; Gesammten Port B Einlesen
                ANDLW        b'10000000'                ; Bit 7 Filtern
                XORWF        ITE,W                        ; Neuen Zustand mit Alten Zustand Vergleichen
                BTFSS        STATUS,Z                ; Zero Flag = 1 / MODE hat nicht gewechselt, Keine Reinitialisierung Notwendig
                GOTO        REINIT                        ; Zero Flag = 0 / MODE hat gewechselt, Reinitialisiere                       
                BTFSC        IR                                ; IR Eingang Abfragen, wenn 0 dann nächste Zeile Überspringen
                BSF                FBC                                ; FB AUSGANG zum COMAG auf High setzen
                BTFSS        IR                                ; IR EINGANG Abfragen, wenn 1 dann nächste Zeile Überspringen
                BCF                FBC                                ; FB AUSGANG zum COMAG auf LOW setzen
                GOTO        COMAG                        ; Do it Forever / bis zum Nächsten Ausschalten über den Netzschalter

; #############################################################################################################################
; Ab hier wirds TRICKY ( Tricky... Tricky... Tricky ...its Tricky
; Schlaflose Nächte, Viereckige Augen, der Penetrante Geruch von durch Lötspitzen verbrannten Fingern, Hurra wir Basteln
; #############################################################################################################################
; IR Empfänger mit Hilfe der Interruptroutine Abfragen und Auswerten:
; ===================================================================
FBEMU:        MOVLW        d'11'                        ; Anzahl der Bits im Datentelegramm der COMAG Fernbedienung
                MOVWF        ZWI                                ; Speichere im Zwischenspeicher für die Bit Abzählschleife
                MOVLW        d'215'                        ; Operationswert für die Ermittlung des Bitzustandes Anhand der Impulslänge
                MOVWF        ENT                                ; Speichern im FR
                CLRF        FIRST                        ; Merker für den Startimpuls Löschen

; Auswertungs Register Löschen (alte Werte):
; ==========================================
                CLRF        IRIN1                        ; Löschen des 'alten' Inhaltes
                CLRF        ZEIT                        ; TMR0 Zwischenspeicher Löschen
                CLRF        ERGEB                        ; Speicher für Comag Index Löschen
                CLRF        VV                                ; Adressoffset für den Tabellensprung Löschen
                CLRWDT                                        ; Watchdog Löschen (alle 15 - 18 mS) sonst RESET

; Prüfen ob der Mode gewechselt werden soll:
; ==========================================
                MOVF        PORTB,W                        ; Gesammten Port B NEU Einlesen
                ANDLW        b'10000000'                ; Unrelevante Bit's Ausblenden (Nur Bit 7 Interessant)
                XORWF        ITE,W                        ; Nun den NEUEN Zustand mit dem ALTEN Vergleichen
                BTFSS        STATUS,Z                ; Zero Flag = 1 / MODE hat nicht gewechselt, Keine Reinitialisierung Notwendig
                GOTO        REINIT                        ; Zero Flag = 0 / MODE hat gewechselt, Reinitialisiere                       

; Interrupt Quelle Wählen:
; ========================
                BSF                INTCON,INTE                ; RB-0 Interrupt Einschalten

; Ab jetzt Interrupt Erlauben:
; ============================
                BSF                INTCON,GIE                ; Generell Interrupt Enable
                CLRWDT                                        ; Watchdog Löschen nur zur Sicherheit       
; Startimpuls Filtern (Flag wird in der Interruptroutine gesetzt):   
; ================================================================
STAIMP:        BTFSS        FIRST,0                        ; Warten auf den ersten Interrupt (Startimpuls)               
                GOTO        MCII                        ; Zwischendurch das Frontpannel und den Mode Schalter Überprüfen
                GOTO        WWW                                ; Startimpuls der FB Empfangen, nun zum Datenempfang Springen

; Prüfen ob der Mode gewechselt werden soll:
; ==========================================
MCII:        MOVF        PORTA,W                        ; Port A Einlesen
                ANDLW        b'00000111'                ; Nur RA 0-2 Filtern
                MOVWF        FRONTP                        ; Speichern im FR
                BTFSC        FRONTP,0                ; Auf 0 Testen / wenn 1 dann POWER Auslösen
                GOTO        FPOWER                        ; Funktion POWER
                BTFSC        FRONTP,1                ; Auf 0 Testen / wenn 1 dann CH UP Auslösen
                GOTO        FUP                                ; Funktion UP
                BTFSC        FRONTP,2                ; Auf 0 Testen / wenn 1 dann CH DOWN Auslösen
                GOTO        FDOWN                        ; Funktion DOWN
                MOVF        PORTB,W                        ; Gesammten Port B NEU Einlesen
                ANDLW        b'10000000'                ; Unrelevante Bit's Ausblenden (Nur Bit 7 Interessant)
                XORWF        ITE,W                        ; Nun den NEUEN Zustand mit dem ALTEN Vergleichen
                BTFSS        STATUS,Z                ; Zero Flag = 1 / MODE hat nicht gewechselt, Keine Reinitialisierung Notwendig
                GOTO        REINIT                        ; Zero Flag = 0 / MODE hat gewechselt, Reinitialisiere               
                GOTO        STAIMP                        ; Nein, der Erste Interrupt ist noch nicht Aufgetreten, Erneut auf FI Warten
               
; Flag für Datenimpuls setzen:
; ============================
WWW:        BSF                FIRST,1                        ; STARTIMPULS VORBEI 0000 = Programmstart / 0001 = Startimpuls OK / 0011 = im Datenempfang                         

; Abfrage ob Datenempfang mit Hilfe des 'Datenempfang Flag's':               
; ============================================================
DAIMP:        BTFSC        FIRST,1                        ; Prüfen ob der nächste Interupt Ausgelöst wurde
                GOTO        DAIMP                        ; Nein, Warte auf Interrupt
       
; FUZZY LOGIC ZEIT (Impulslänge) Auswerten und Entsprechenden Bitzustand Zuweisen:
; ================================================================================
FLA:        CLRWDT                                        ; Watchdog Löschen
                MOVF        ZEIT,W                        ; Inhalt TMR0 von Interrupt1 zu Inerrupt2 in das Work kopieren
                SUBWF        ENT,W                        ; TMR0 - ENT = + XXX (1) oder -XXX (0) 
                BTFSS        STATUS,C                ; Carry ist 1 wenn Ergebniss negativ => 0 wurde Empfangen                                               
                GOTO        SEIR1                        ; CARRY = 0 / LANG / Bitzustand ist 1 gehe Zuweisen
                GOTO        SEIR0                        ; CARRY = 1 / KURZ / Bitzustand ist 0 gehe Zuweisen

; Empfangenes Bit war eine 1:
; ===========================
SEIR1:        BSF                IRIN1,0                        ; LSB Bit 0 auf 1 Setzen
                GOTO        FER                                ; Weiter zum Prüfen ob weitere Bit's Empfangen werden müßen

; Empfangenes Bit war eine 0:
;============================
SEIR0:        BCF                IRIN1,0                        ; LSB Bit 0 auf 0 Setzen

; Prüfen ob alle 11 Bit's Empfangen wurden:
; =========================================
FER:        DECFSZ        ZWI,F                        ; Bitzähler -1
                GOTO        WEITER                        ; Noch nicht alle Bit's Empfangen
                GOTO        AUWEIA                        ; Alle 11 Bit's Empfangen nun zur Auswertung und Codewandlung gehen

; Schieben der FR NACH Bitzähler:               
; ===============================
WEITER:        RLF                IRIN1,F                        ; Nach Links Schieben für den Empfang des nächsten Bit
                BSF                FIRST,1                        ; Datenempfang Flag wieder setzen, wurde im Interrupt gelöscht                         
                CLRWDT                                        ; Watchdog Löschen
                GOTO        DAIMP                        ; Zurück zur Abfrage da noch nicht alle Bit's Empfangen wurden


; Alle 11 Bits sind nun in den Registern IRIN1 und IRIN2, nun an die Auswertung
; =============================================================================
; IRIN2 enthält nur einen Indikator für das Wechseln der Codefunktion:
; z.B.: Als 1'stes 'POWER' Taste Gedrückt IRN2 = 0000 0111 danach als 2'tes 'OK' Taste Gedrückt IRN2 = 0000 0101
; Dies wird hier nicht Gebraucht und deshalb braucht man das IRIN2 eigentlich nicht.
; DANKE an KOSOVO für den Hinweis

; FB COMAG Code wird aus dem EEPROM geholt und in einer Zählschleife Vergleichen.
; Stimmt der Empfangene Code mit einem COMAG Code dann addiere Zählerinhalt zum PC und hole Ausgabedaten im Trumanformat
; Wenn der Empfangene Code <> COMAG Code dann Ignorieren und erneut zur IR Abfrage Wechseln
; ACHTUNG: Wer 'TURBO ZAPPER' ist, der sollte sich eine Truman FB Kaufen, dies ist eine NOTLÖSUNG !
; Auch bitte keine Kritik das ab und zu die FB nicht Reagiert, siehe Oben.

; Wer es besser machen kann, sollte das Tun (!) und mir eine Kopie des Source Senden, ich Lernen gerne auch noch dazu.


; CODEVERGLEICH COMAG FERNBEDIENUNG:
; ==================================
AUWEIA:        CLRWDT                                        ; Watchdog Löschen
                MOVLW        d'00'                        ; Lade den Schleifenzähler mit der Ersten Adresse für das EEPROM
                MOVWF        ZWI                                ; Speichere im Schleifenzähler

; Daten aus dem EEPROM Holen:
; ===========================
LOS:        CLRWDT                                        ; Watchdog Löschen
                BCF                STATUS,RP0                ; Bank select 0
                MOVF        ZWI,W                        ; EEPROM Speicherstelle die Gelesen werden soll in das W Kopieren
                MOVWF        EEADR                        ; In das EEPROM Adressregister Schreiben
                BSF                STATUS,RP0                ; Bank select 1
                BSF                EECON1,RD                ; EEprom Lesen
                BCF                STATUS,RP0                ; Bank select 0
                MOVF        EEDATA,W                ; Lade WORK mit Bitmuster für die Taste XXX aus dem EEprom
                MOVWF        ZWI2                        ; Speichere im Zwischenspeicher
               
; Hier findet der Vergleich Statt:
; ================================
                MOVF        IRIN1,W                        ; Lade W mit IRIN1 zum Vergleichen
                XORWF        ZWI2,W                        ; Exclusiv Oder Verknüpfen und Ergebniss im W speichern
                BTFSS        STATUS,Z                ; Sind beide Wert identisch so wird das Zero Flag gesetzt / Überspringe nächste Zeile
                GOTO        LNT                                ; Der Vergleich war negativ, Lade nächste Bitfolge aus dem EEPROM
                GOTO        AUTRUFO                        ; Vergleich war positiv, Aktueller Wert in ZWI ist nun der INDEX für die Tabelle CODE TRUMAN Format

; Nächster Tastencode aus dem EEprom Holen:
; =========================================
LNT:        INCF        ZWI,F                        ; Schleifenzähler +1 (Index +1)
                MOVLW        d'33'                        ; Max 34 Befehle Vergleichen ( 0 - 33 )
                XORWF        ZWI,W                        ; Exclusiv ODER mit Work
                BTFSS        STATUS,Z                ; Sind beide Wert identisch so wird das Zero Flag gesetzt / Überspringe nächste Zeile
                GOTO        LOS                                ; Hole den nächsten Wert aus dem EEPROM
               
; Kein Zeichen aus dem EEprom stimmt mit dem Empfangenen Zeichen Überein, gehe zurück zur FB Abfrage
; ==================================================================================================
                GOTO        FBEMU                        ; FB erneut Abfragen

; Frontpannel Auslöse Routine für den COMAG MODE:
; ===============================================

; POWER TASTE Manuel Ausgelöst:
; =============================
FCPOWER:MOVLW        d'30'                        ; EEprom Speicherinhalt direkt Eingeben
                MOVWF        IHCS                        ; IM FR Speichern       
                GOTO        COMAAA                        ; Ausgabe Aufrufen

; UP TASTE
; ========
FCUP:        MOVLW        d'40'                        ; EEprom Speicherinhalt direkt Eingeben
                MOVWF        IHCS                        ; IM FR Speichern       
                GOTO        COMAAA                        ; Ausgabe Aufrufen

; DOWN TASTE
; ==========
FCDOWN:        MOVLW        d'42'                        ; EEprom Speicherinhalt direkt Eingeben
                MOVWF        IHCS                        ; IM FR Speichern       
                GOTO        COMAAA                        ; Ausgabe Aufrufen

; Hier wird der zur Taste gehörende FB Code an den IR Eingang im COMAG Format Ausgegeben:
; =======================================================================================
COMAAA: BTFSS        WETA,0                        ; Wechsel Taste Speicher / Präambelwechsel wie Orginal
                GOTO        FIRS                        ; 101
                GOTO        LAST                        ; 111

FIRS:        MOVLW        d'247'                        ; Verzögerungszeit für 300 uS
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                BCF                FBC                                ; LOW IMPULS von 300 uS (Start Impuls)
                CALL        VERZO                        ; Verzögerung Abarbeiten
                BSF                FBC                                ; HIGH Zustand Wiederherstellen
                CALL        COEI                        ; 1 Ausgeben
                CALL        CONU                        ; 0 Ausgeben
                CALL        COEI                        ; 1 Ausgeben
                BSF                WETA,0                        ; wechsel merker
                GOTO        COSI                        ; weiter

LAST:        MOVLW        d'247'                        ; Verzögerungszeit für 300 uS
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                BCF                FBC                                ; LOW IMPULS von 300 uS (Start Impuls)
                CALL        VERZO                        ; Verzögerung Abarbeiten
                BSF                FBC                                ; HIGH Zustand Wiederherstellen
                CALL        COEI                        ; 1 Ausgeben
                CALL        COEI                        ; 1 Ausgeben
                CALL        COEI                        ; 1 Ausgeben
                BCF                WETA,0                        ; wechsel merker
                GOTO        COSI                        ; weiter

; Präambel gesendet, nun den FB CODE Senden:
; ==========================================
COSI:        MOVLW        d'08'                        ; 8 BIT Ausgeben
                MOVWF        SCHI                        ; Speichern im Schleifenregister
PCB:        BTFSS        IHCS,7                        ; Bitzustand Prüfen
                GOTO        HELO                        ; LOW AUSGABE
                CALL        COEI                        ; 1 Ausgeben
                RLF                IHCS,F                        ; Nach Links Schieben, MSB FIRST
MEW:        DECFSZ        SCHI,F                        ; 8 Bit fertig ?
                GOTO        PCB                                ; Prüfe Comag BIT
                MOVLW        d'00'                        ; Volle Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                MOVLW        d'00'                        ; Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                MOVLW        d'00'                        ; Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                MOVLW        d'00'                        ; Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                MOVLW        d'00'                        ; Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                MOVLW        d'00'                        ; Verzögerung
                MOVWF        VERKO                        ; Verzögerung
                CALL        VERZO                        ; Verzögerung
                GOTO        COMAG                        ; zurück zur Comag Routine

HELO:        CALL        CONU                        ; Null Ausgeben
                RLF                IHCS,F                        ; Nach Links Schieben
                GOTO        MEW                                ; Zurück zum Bitzähler

; CODE Ausgabe im Comag Mode für Frontpanel Tasten im FB Format:
; ==============================================================

; COMAG EINS
COEI:        MOVLW        d'28'                        ; Verzögerungszeit für 1 = 7,3 mS
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                CALL        VERZO                        ; Verzögerung Abarbeiten
                MOVLW        d'249'                        ; Verzögerungszeit für 300 uS
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                BCF                FBC                                ; LOW IMPULS von 300 uS
                CALL        VERZO                        ; Verzögerung Abarbeiten
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                BSF                FBC                                ; HIGH Zustand Wiederherstellen
                RETURN                                        ; Zurück zum Aufrufenden Programmteil
               
; COMAG NULL
CONU:        MOVLW        d'106'       
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                CALL        VERZO                        ; Verzögerung Abarbeiten
                MOVLW        d'249'                        ; Verzögerungszeit für 300 uS
                MOVWF        VERKO                        ; Speichere in der Verzögerungskonstante
                BCF                FBC                                ; LOW IMPULS von 300 uS
                CALL        VERZO                        ; Verzögerung Abarbeiten
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                NOP                                                ; Feinjustierung der Zeit auf 1 uS Genau
                BSF                FBC                                ; HIGH Zustand Wiederherstellen
                RETURN                                        ; Zurück zum Aufrufenden Programmteil

; Frontpannel Auslöse Routine für den TRUMAN MODE:
; ================================================

; POWER TASTE Manuel Ausgelöst:
; =============================
FPOWER:        MOVLW        d'00'                        ; EEprom Speicherstelle direkt Auswählen
                MOVWF        ZWI                                ; IM FR Speichern       
                GOTO        AUTRUFO                        ; Ausgabe Aufrufen

; UP TASTE
; ========
FUP:        MOVLW        d'13'                        ; EEprom Speicherstelle direkt Auswählen
                MOVWF        ZWI                                ; IM FR Speichern       
                GOTO        AUTRUFO                        ; Ausgabe Aufrufen

; DOWN TASTE
; ==========
FDOWN:        MOVLW        d'17'                        ; EEprom Speicherstelle direkt Auswählen
                MOVWF        ZWI                                ; IM FR Speichern       
                GOTO        AUTRUFO                        ; Ausgabe Aufrufen

; Mit Hilfe des Schleifenzählers ist nun die Funktion Adressierbar, hier wird mit Hilfe des ZWI der zu Sendene TRUMAN Code
; aus einer Tabelle geholt und auf den IR Eingang des COMAG Ausgegeben
; ========================================================================================================================
AUTRUFO:BSF                LEDI                        ; Erreichen dieser Position mit LED Anzeigen (Kann später auch al FB Indikator benutzt werden)
                MOVF        ZWI,W                        ; Lade Aktuelle Position des Schleifendurchlaufs (0 - 33)
                MOVWF        MULTI                        ; Multiplikator
                CLRF        ERGEB                        ; Ergebnis der letzten Adressoffset Berechnung für das Tabellenlesen Löschen
                CLRWDT                                        ; Watchdog Löschen
; Berechne die Startadresse für ein Lesen aus der CODE Tabelle Equivalent zum Ermittelten Comag CODE Index:
; =========================================================================================================
                CALL        AOERM                        ; Tabellen Offset Berechnen (pro Index + 7 Stellen)
                CLRWDT                                        ; Watchdog Löschen

; Hier findet der Eigentliche Sprung in die Tabelle statt:
; ========================================================
; 1'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA1                        ; 1'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 2'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA2                        ; 2'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 3'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA3                        ; 3'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 4'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA4                        ; 4'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 5'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA5                        ; 5'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 6'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA6                        ; 6'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                INCF        ERGEB,F                        ; Erhöhe Adresse um eins (es müßen ja 7 Bytes gelesen werden)
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; 7'te Speicherstelle Auslesen
; ============================
                MOVF        ERGEB,W                        ; Tabellen Offset über das W Register nach VV
                MOVWF        VV                                ; Kopieren um den Orginal Inhalt von ERGEB nicht zu Verändern
                MOVLW        LOW        TABLE                ; Lade untere Adresse der Tabelle
                ADDWF        VV,F                        ; Addiere Offset mit Tabellenadresse
                MOVLW        HIGH TABLE                ; Lade obere Adresse der Tabelle
                BTFSC        STATUS,C                ; Prüfe ob die Obere Adresse in der 2'ten Bank ist
                ADDLW        d'01'                        ; JA, Addiere 1 zum Program Counter Latch
                MOVWF        PCLATH                        ; Speichere im PCL
                MOVF        VV,W                        ; Kopiere Offset ins Work
                CALL        TABLE                        ; Hole Byte aus der Tabelle von Position VV und kehre mit DATA XX im W zurück
                MOVWF        TCA8                        ; 7'te Byte für die Spätere Verarbeitung in der Senderoutine Speichern
                CLRF        VV                                ; Lösche die Alte Berechnung des Sprungadresse
                CLRWDT                                        ; Watchdog Löschen

; Ausgabe zum IR Eingang der COMAG Hardware:
; ==========================================
                CALL        TRUSTA                        ; Truman IR Startsequenz Ausgeben
                CALL        CODAUS                        ; Truman CODE Ausgeben
                CALL        TRUSTO                        ; Truman Stopsequenz Ausgeben
                BCF                LEDI                        ; LED IR Indikator wieder Ausschalten wenn die Aussendung zum COMAG Erfolgt ist

; Alles Erledigt, Frage Fernbedienung erneut ab und Warte auf einen Befehl:
; =========================================================================
                GOTO        FBEMU                        ; Zurück zum Anfang

; Routine zur Codeausgabe im Truman Format:
; =========================================
CODAUS: MOVLW        d'7'                        ; 1. Byte zu Senden (Inhalt 07)        ist ein Statischer Wert, d.h. er ist in jedem Code immer gleich !
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVLW        d'8'                        ; 2. Byte Senden (Inhalt = 08) ist ein Statischer Wert, d.h. er ist in jedem Code immer gleich !
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA1,W                        ; 3. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA2,W                        ; 4. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA3,W                        ; 5. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA4,W                        ; 6. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA5,W                        ; 7. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA6,W                        ; 8. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVLW        d'1'                        ; 9. Byte zu Senden (Inhalt 01)        ist ein Statischer Wert, d.h. er ist in jedem Code immer gleich !
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVF        TCA8,W                        ; 10. Byte Senden, (Inhalt = XX) wurde aus der Tabelle Gelesen
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                MOVLW        d'1'                        ; 11. Byte zu Senden (Inhalt 01)        ist ein Statischer Wert, d.h. er ist in jedem Code immer gleich !
                MOVWF        ZWI                                ; Übergabe an die Ausgabe Routine mit Hilfe unseren Zwischenspeichers
                CALL        BYAUS                        ; Bytes Ausgeben auf FBC
                RETURN

; Startsequenz im Trumanformat: Low für 9,1 mS gefolgt von High für 4,4 mS
; ========================================================================
TRUSTA:        BCF                FBC                                ; FB Ausgang zum Receiver auf Low setzen
                MOVLW        d'00'                        ; Vorladen mit 0 ist nicht Stabil, da wir auf ZERO Flag testen, deshalb mit 1 Vorladen
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                MOVLW        d'215'                        ; Vorladen 928 uS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BSF                FBC                                ; FB Ausgang zum Receiver auf High setzen
                MOVLW        d'117'                        ; Vorladen für 4,4 mS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                RETURN                                        ; Zurück zum Aufrufenden Programmteil

; Stopsequenz im Trumanformat: High für 46,5 mS gefolgt von Low für 9,1 mS danach High für 2,1 mS und Low für 700 uS.
; ===================================================================================================================
TRUSTO: BSF                FBC                                ; FB Ausgang zum Receiver auf High setzen
                MOVLW        d'05'                        ; Durchlaufschleifenzähler Laden
                MOVWF        ZWI                                ; im Zwischregister speichern
GACK:        MOVLW        d'00'                        ; Vorladen mit 8,61 mS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                DECFSZ        ZWI,F                        ; Schleifenzähler -1, auf 0 Testen und bei 0 nächste Zeile Überspringen
                GOTO        GACK                        ; Schleifenzähler ist noch nicht 0, also nochmal das ganze
                MOVLW        d'125'                        ; Vorladen 4,16 mS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BCF                FBC                                ; FB Ausgang zum Receiver auf Low setzen
                MOVLW        d'01'                        ; Vorladen mit 0 ist nicht Stabil, da wir auf ZERO Flag testen, deshalb mit 1 Vorladen
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                MOVLW        d'225'                        ; Vorladen 960 uS 
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BSF                FBC                                ; FB Ausgang zum Receiver auf High setzen
                MOVLW        d'189'                        ; Vorladen 2,1 mS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BCF                FBC                                ; FB Ausgang zum Receiver auf Low setzen
                MOVLW        d'233'                        ; Vorladen 704 uS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BSF                FBC                                ; Ruhezustand Wiederherstellen
                RETURN                                        ; Zurück

; Byteausgabe im Trumanformat: Low für die Dauer von 700 uS, gefolgt von High für die Dauer von 400 uS LOW
; =======================================================================================================
BYAUS:        BCF                FBC                                ; FB Ausgang zum Receiver auf LOW setzen
                MOVLW        d'233'                        ; Vorladen 736 uS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                BSF                FBC                                ; IR EMU Ausgang auf High
                MOVLW        d'242'                        ; Vorladen 416 uS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                DECFSZ        ZWI,F                        ; Bitzähler -1, wenn 0 Überspringe nächste Zeile
                GOTO        BYAUS                        ; von vorne, noch nicht alle Bit's Übertragen
                MOVLW        d'208'                        ; Vorladen 1,536 mS
                MOVWF        VERKO                        ; In das FR für die Verzögerungszeit Kopieren
                CALL        VERZO                        ; Verzögerungsroutine Aufrufen
                RETURN                                        ; zurück zum Aufrufenden Programmteil

; Einfache Adressoffset Berechnung:
; =================================
AOERM:       
; Zuerst Prüfen ob der Index 0 ist, dann ist die Startadresse der Tabelle = 1
                MOVLW        d'0'                        ; Vergleichswert Laden
                XORWF        MULTI,W                        ; Vergleichen
                BTFSC        STATUS,Z                ; Prüfen ob gleich
                GOTO        WEIA                        ; Ja Inhalt ist 0, nun nur Ergebniss +1 als Startadresse
LUS:        MOVF        ERGEB,W                        ; Ergebnis der Adressberechnung ins W Laden
                ADDLW        d'07'                        ; Ergebnis +7
                MOVWF        ERGEB                        ; Speicher Ergebnis der Addition zurück in Ergebnis
                DECFSZ        MULTI,F                        ; Index -1, Wenn Index = 0 dann Überspringe nächste Zeile
                GOTO        LUS                                ; Index muß weiter Erhöht werden               
WEIA:        INCF        ERGEB,F                        ; ERGEBNIS = ERGEBNIS +1
                RETURN                                        ; Zurück zum Aufrufenden Programmteil

; NEUE Init Sequenz des PCM DAC mit Wechsel des MODE:
; ===================================================
; Neue Modeumschaltung, läuft jetzt auch ohne Ausschalten am Netzschalter
; PCM 1742 Adress und Daten Register Zuweisen:
; ============================================
PCMINIT:MOVLW        H'14'                        ; Register 20 (h14) Audio Data Format Control
                MOVWF        FDIX                        ; im Speicher Ablegen
                BTFSC        TB                                ; Auswahl Mode Abfragen
                GOTO        TRUSO                        ; Truman Sound INIT

; COMAG SOUND INIT:
; =================
                MOVLW        H'05'                        ; B0 / B1 / B2 = 101 FMT SET to 16-24 BIT Std., Left Justified Format
                MOVWF        LDDX                        ; im Speicher Ablegen
                BCF                LED                                ; Kontroll Lampe für den COMAG MODE Ausschalten
                GOTO        GOGO                        ; Zur Initialisierung gehen

; TRUMAN SOUND INIT:
; ==================
TRUSO:        MOVLW        H'03'                        ; B0 / B1 / B2 = 011 FMT SET to 16 BIT Std., RSV set to Zero, FLT default 0, RSV set to Zero
                MOVWF        LDDX                        ; im Speicher Ablegen
                BSF                LED                                ; Kontroll Lampe für den TRUMAN MODE Einschalten

; PCM Latch auf LOW setzen für Datenübernahme:
; ============================================
GOGO:        BCF                ML                                ; Latch des PCM auf LOW setzen

; MSB FIRST zuerst das REGISTER INDEX
; ===================================
                MOVLW        h'08'                        ; Lade Work mit Anzahl der Auszugebenden Bit's (Bitzähler Wert 8)
                MOVWF        ZWI                                ; speichere Zwischen
               
NNF1:        RLF                FDIX,W                        ; Indexbyte nun Bitweise nach Links durch das CARRY Schieben und im W Register speichern
                BTFSC        STATUS,C                ; Carry Flag des Status Register prüfen ob eine 0 oder 1 als MD gesendet werden soll
                BSF                MD                                ; Carry war 1 also setze DATA auf HIGH
                MOVWF        FDIX                        ; Speichere Inhalt vom W zurück ins FR
                CALL        AUSGABE                        ; Gebe auf MD aus
                DECFSZ        ZWI,F                        ; Bitzähler -1, wenn 0 Überspringe nächste Zeile
                GOTO        NNF1                        ; Bitzähler ist < 0, noch nicht alle Bits Ausgewertet und gesendet, Schleife

; MSB FIRST nun das DATAS REGISTER
; ================================
                MOVLW        h'08'                        ; Lade Work mit Anzahl der Auszugebenden Bit's (Bitzähler Wert 8)
                MOVWF        ZWI                                ; speichere Zwischen
               
NNF2:        RLF                LDDX,W                        ; Datenbyte nun Bitweise nach Links durch das CARRY Schieben und im W Register speichern
                BTFSC        STATUS,C                ; Carry Flag des Status Register prüfen ob eine 0 oder 1 als MD gesendet werden soll
                BSF                MD                                ; Setze MD auf HIGH
                MOVWF        LDDX                        ; Speichere Inhalt vom W zurück ins FR
                CALL        AUSGABE                        ; Gebe auf MD aus
                DECFSZ        ZWI,F                        ; Bitzähler -1, wenn 0 Überspringe nächste Zeile
                GOTO        NNF2                        ; Bitzähler ist < 0, noch nicht alle Bits Ausgewertet und gesendet, Schleife

; Daten sind gesendet, nun Latch des PCM wieder auf HIGH setzen zum Übernehmen der Daten
; ======================================================================================
                BSF                ML                                ; Latch auf High setzen
                RETURN                                        ; zurück zum Hauptprogramm

; Clock Leitung des PCM High / Low schalten
; =========================================
AUSGABE:BSF                MC                                ; Clock High
                BCF                MC                                ; Clock Low       
                BCF                MD                                ; MD zuücksetzen
                RETURN

; NEUE VERZÖGERUNGS ROUTINE OHNE TMR0 (32 uS pro Teiler / Kalibrierbar in der ersten Zeile)
; =========================================================================================
VERZO:        MOVLW        d'09'                        ; Lade aktuellen Wert des Timers (24 +8 uS bei 4 MHz)                       
                MOVWF        ZWI2                        ; Speichere im 2'ten Zwischenspeicher                               
VER1:        DECFSZ        ZWI2,F                        ; Inhalt von ZWI2 -1, wenn Null Überspringe die nächste Zeile               
                GOTO        VER1                        ; Weiter Verzögern
                CLRWDT                                        ; Watchdog Löschen
                INCFSZ        VERKO,F                        ; Inhalt von VERKO +1, wenn Null Überspringe nächste Zeile               
                GOTO        VERZO                        ; Nochmaliger Durchlauf der Verzögerungsroutine
                RETURN                                        ; Zuück zum Aufrufenden Programmteil                               

; Speicherort in Ram / für den Compiler
; =====================================
        ORG        0x2D9

; Tabelle der TRUMAN Codes von 1 - 34 Korospondiert mit dem im EEPROM gespeicherten COMAG Codes:
; ==============================================================================================
TABLE:        MOVWF        PCL                                                                       
                DT        d'3', d'2', d'5', d'2', d'2', d'1', d'1'        ; TRUMAN CODE 1                POWER
                DT        d'2', d'1', d'3', d'6', d'1', d'2', d'1'        ; TRUMAN CODE 2                ROT
                DT        d'2', d'1', d'2', d'1', d'6', d'3', d'1'        ; TRUMAN CODE 3                GRÜN
                DT        d'4', d'2', d'4', d'1', d'2', d'2', d'1'        ; TRUMAN CODE 4                GELB
                DT        d'4', d'4', d'2', d'1', d'2', d'1', d'2'        ; TRUMAN CODE 5                BLAU
                DT        d'2', d'1', d'1', d'2', d'7', d'2', d'1'        ; TRUMAN CODE 6                SAT
                DT        d'2', d'3', d'1', d'5', d'1', d'3', d'1'        ; TRUMAN CODE 7                TV/SAT
                DT        d'3', d'5', d'2', d'2', d'1', d'1', d'2'        ; TRUMAN CODE 8                EPG
                DT        d'3', d'3', d'4', d'2', d'1', d'2', d'1'        ; TRUMAN CODE 9                WEIß
                DT        d'2', d'6', d'3', d'1', d'1', d'1', d'2'        ; TRUMAN CODE 10        EXIT
                DT        d'8', d'2', d'1', d'1', d'1', d'1', d'2'        ; TRUMAN CODE 11        MENU
                DT        d'5', d'1', d'4', d'1', d'1', d'3', d'1'        ; TRUMAN CODE 12        P/N
                DT        d'2', d'1', d'1', d'1', d'9', d'1', d'1'        ; TRUMAN CODE 13        MUTE
                DT        d'2', d'1', d'2', d'7', d'2', d'1', d'1'        ; TRUMAN CODE 14        CH UP
                DT        d'2', d'4', d'5', d'1', d'1', d'2', d'1'        ; TRUMAN CODE 15        V-
                DT        d'2', d'2', d'1', d'6', d'3', d'1', d'1'        ; TRUMAN CODE 16        OK
                DT        d'6', d'4', d'1', d'1', d'1', d'2', d'1'        ; TRUMAN CODE 17        V+
                DT        d'3', d'1', d'1', d'5', d'4', d'1', d'1'        ; TRUMAN CODE 18        CH DOWN
                DT        d'2', d'1', d'1', d'1', d'1', d'9', d'1'        ; TRUMAN CODE 19        P+
                DT        d'3', d'1', d'1', d'1', d'4', d'5', d'1'        ; TRUMAN CODE 20        P-
                DT        d'2', d'2', d'1', d'1', d'5', d'4', d'1'        ; TRUMAN CODE 21        RECALL
                DT        d'3', d'1', d'2', d'4', d'3', d'2', d'1'        ; TRUMAN CODE 22        FAV
                DT        d'2', d'9', d'1', d'1', d'1', d'1', d'1'        ; TRUMAN CODE 23        1
                DT        d'3', d'7', d'2', d'1', d'1', d'1', d'1'        ; TRUMAN CODE 24        2
                DT        d'2', d'1', d'9', d'1', d'1', d'1', d'1'        ; TRUMAN CODE 25        3
                DT        d'4', d'6', d'1', d'2', d'1', d'1', d'1'        ; TRUMAN CODE 26        4
                DT        d'2', d'2', d'7', d'2', d'1', d'1', d'1'        ; TRUMAN CODE 27        5
                DT        d'3', d'1', d'6', d'3', d'1', d'1', d'1'        ; TRUMAN CODE 28        6
                DT        d'2', d'1', d'1', d'9', d'1', d'1', d'1'        ; TRUMAN CODE 29        7
                DT        d'5', d'5', d'1', d'1', d'2', d'1', d'1'        ; TRUMAN CODE 30        8
                DT        d'2', d'3', d'6', d'1', d'2', d'1', d'1'        ; TRUMAN CODE 31        9
                DT        d'3', d'2', d'1', d'4', d'2', d'3', d'1'        ; TRUMAN CODE 32        INFO
                DT        d'10', d'1', d'1', d'1', d'1', d'1', d'1'        ; TRUMAN CODE 33        0
                DT        d'2', d'2', d'4', d'3', d'2', d'1', d'2'        ; TRUMAN CODE 34        SHIFT (ex. PAUSE)

; Über Shift "PAUSE" und Tast XX Erreichbar                                ; TRUMAN    / COMAG
; ==========================================================================
                DT  d'2', d'1', d'1', d'4', d'5', d'1', d'2'        ; F1                / 1
                DT  d'2', d'1', d'5', d'4', d'1', d'1', d'2'        ; F2                / 2
                DT  d'3', d'1', d'4', d'2', d'3', d'1', d'2'        ; HELP                / 3
                DT        d'4', d'4', d'2', d'1', d'2', d'1', d'2'        ; BLAU                / 4
                DT  d'4', d'1', d'1', d'4', d'1', d'4', d'1'        ; LUPE                / 5
                DT        d'4', d'1', d'5', d'1', d'3', d'1', d'1'        ; UHF                / 6
                DT  d'2', d'2',        d'2', d'5', d'2', d'2', d'1'        ; TV/RADIO        / 7
                DT        d'2', d'2', d'4', d'3', d'2', d'1', d'2'        ; PAUSE        / PAUSE


; Erste Adresse der EEprom Speichertabelle für die COMAG CODES:
; =============================================================
        ORG h'2100'               

; Maximal 64 Bytes können im internen EEprom des 16F84 gespeichert werden                    I I I I I I  I 
; EEPROM Daten  COMAG CODE                  FUNKTION                                COMAG        TRUMAN                        7 8 X X X X X X 1 X 1                GETESTET
; ==========================================================================================================================
                DE                b'00011110'                ; POWER Taste                        OK                POWER                        7 8 3 2 5 2 2 1 1 1 1                OK
                DE                b'00010000'                ; ROT                                        OK                ROT                                7 8 2 1 3 6 1 2 1 1 1                OK
                DE                b'00100010'                ; GRÜN                                        OK                GRÜN                        7 8 2 1 2 1 6 3 1 1 1                OK
                DE                b'00011001'                ; GELB                                        OK                GELB                        7 8 4 2 4 1 2 2 1 1 1                OK
                DE                b'00010100'                ; BLAU                                        OK                BLAU                        7 8 4 4 2 1 2 1 1 2 1                OK
                DE                b'00110010'                ; AUDIO Taste                        <==>        SAT                                7 8 2 1 1 2 7 2 1 1 1                ??
                DE                b'00011010'                ; TIMER Taste                        <==>        TV/SAT                        7 8 2 3 1 5 1 3 1 1 1                ??
                DE                b'00100110'                ; EPG Taste                                OK                EPG                                7 8 3 5 2 2 1 1 1 2 1                OK
                DE                b'00100000'                ; TEXT Taste                        OK                WEIß                        7 8 3 3 4 2 1 2 1 1 1                OK
                DE                b'00110000'                ; EXIT Taste                        OK                EXIT                        7 8 2 6 3 1 1 1 1 2 1                OK
                DE                b'00100111'                ; MENU Taste                        OK                MENU                        7 8 8 2 1 1 1 1 1 2 1                OK
                DE                b'00101111'                ; M/P Taste                                <==>        P/N                                7 8 5 1 4 1 1 3 1 1 1                ??
                DE                b'00110111'                ; MUTE Taste                        OK                MUTE                        7 8 2 1 1 1 9 1 1 1 1                OK
                DE                b'00101000'                ; CH UP Taste                        OK                CH UP                        7 8 2 1 2 7 2 1 1 1 1                OK
                DE                b'00100001'                ; V- Taste                                OK                V-                                7 8 6 4 1 1 1 2 1 1 1                OK
                DE                b'00101001'                ; OK Taste                                OK                OK                                7 8 2 2 1 6 3 1 1 1 1                OK
                DE                b'00110001'                ; V+ Taste                                OK                V+                                7 8 2 4 5 1 1 2 1 1 1                OK
                DE                b'00101010'                ; CH DOWN Taste                        OK                CH DOWN                        7 8 3 1 1 5 4 1 1 1 1                OK
                DE                b'00100011'                ; P+ Taste                                OK                P+                                7 8 2 1 1 1 1 9 1 1 1                OK
                DE                b'00011011'                ; P- Taste                                OK                P-                                7 8 3 1 1 1 4 5 1 1 1                OK
                DE                b'00101110'                ; RECALL Taste                        OK                RECALL                        7 8 2 2 1 1 5 4 1 1 1                OK
                DE                b'00011000'                ; FAV Taste                                OK                FAV                                7 8 3 1 2 4 3 2 1 1 1                OK
                DE                b'00110101'                ; 1                                                OK                1                                7 8        2 9 1 1 1 1 1 1 1                OK
                DE                b'00101101'                ; 2                                                OK                2                                7 8 3 7 2 1 1 1 1 1 1                OK
                DE                b'00100101'                ; 3                                                OK                3                                7 8 2 1 9 1 1 1 1 1 1                OK
                DE                b'00011101'                ; 4                                                OK                4                                7 8 4 6 1 2 1 1 1 1 1                OK
                DE                b'00110100'                ; 5                                                OK                5                                7 8 2 2 7 2 1 1 1 1 1                OK
                DE                b'00101100'                ; 6                                                OK                6                                7 8 3 1 6 3 1 1 1 1 1                OK
                DE                b'00100100'                ; 7                                                OK                7                                7 8 2 1 1 9 1 1 1 1 1                OK
                DE                b'00011100'                ; 8                                                OK                8                                7 8 5 5 1 1 2 1 1 1 1                OK
                DE                b'00110011'                ; 9                                                OK                9                                7 8 2 3 6 1 2 1 1 1 1                OK
                DE                b'00110110'                ; INFO Taste                        OK                INFO                        7 8 3 2 1 4 2 3 1 1 1                OK
                DE                b'00101011'                ; 0                                                OK                0                          7 8 10 1 1 1 1 1 1 1 1                OK
                DE                b'00011111'                ; PAUSE Taste                        OK                PAUSE                        7 8 2 2 4 3 2 1 1 2 1                ??
                DE          "VINIX 2007"

; Diese Tasten sind nicht Verfügbar !
; ===================================
;
;                BEI COMAG  KEINE TASTE VORHANDEN                UHF                                                                7 8 4 1 5 1 3 1 1 1 1                wird nicht gebraucht
;                BEI COMAG  KEINE TASTE VORHANDEN                F1                                                                7 8 2 1 1 4 5 1 1 2 1                ???? Wofür
;                BEI COMAG  KEINE TASTE VORHANDEN                F2                                                                7 8 2 1 5 4 1 1 1 2 1                ???? Wofür
;                BEI COMAG  KEINE TASTE VORHANDEN                HELP                                                        7 8 3 1 4 2 3 1 1 2 1                ???? ?????
;                BEI COMAG  KEINE TASTE VORHANDEN                TV/RADIO                                                7 8 2 2 2 5 2 2 1 1 1                wäre schön
;                BEI COMAG  KEINE TASTE VORHANDEN                LUPE                                                        7 8 4 1 1 4 1 4 1 1 1                ???? ?????

                END


sl2

Lanza, si esto no se puede, a la papelera....

barrigaverde 28/07/2007 11:32

la verdad vishero que has realizado un gran trabajo .no he optado por ella pues creo poder sacar socido de la salida digital que tenenmos los del sl 65a b1 con una tarjeta de sonido que tengo ya postee todo pero esa es una opcion, en algunos caso el personal no tiene forma de programar un pic o atmel aunque creo que hay un circuito para atmel facil no se si tendra valor para un pic con un entrenador y puerto paralelo esta en un pdf haber si lo encuentro

Adobe 28/07/2007 11:40

Vishero te puse en el hilo de pruebas.. que si existia un zocalo en SMD del tipo J para el chip de audio para ponerlo encima del chip. con esto no habria que tocar el deco.
Otra cosa el tema del frontal esta un poco confuso y no se muy bien las modificaciones a realizar.
Yo por ahora tengo hecho todo a falta de cortar el cable para el mando
y soldar en el chip (que no me agrada).

saludos

lanza3d 28/07/2007 11:46

Cita:

Iniciado por vishero (Mensaje 2959486)
Lanza, si esto no se puede, a la papelera....

wenas vishero, yo mi Aleman esta un poco "verde" y mis conocimientos de programacion mas "verde" todavia.

si lo que has puesto, no permite el visionado de canales de pago (o sea un firm oficial y que solo permite ver los canales FTA) se puede dejar.

Si por el contrario, es un firm modificado y que permite el visionado de canales de pago, de una forma ilegal .... hay que quitarlo.


Asi que tu diras, :rolleyes:

barrigaverde 28/07/2007 11:52

no se si me equivoco lanza3d pero esto es un programa para qque el fichero de truman funcione el sonido y el mando todo ello dentro del sl65a pero el firm alternativo aqui no esta claro de todas formas si no puede estar pues como dice vishero a lapapelera

vishero 28/07/2007 13:22

xLanza3D, como dice barrigaverde, el hex en sí no tiene nada que permita ver nada, el mod en su conjunto solo permite hacer posible el meter firms de otros aparatos no compatibles. Ahora, lo que uno le meta ya es otra cosa...

xbarrigaverde, en el hilo alemán del mod alguien comentó lo de la falta de salida optica en el truman original (que no la trae el deco) y le indicaron que usara otro firm, no sé si el anterior modificado, o de otro deco compatible con el Truman pero con salida óptica, digital y S-VHS.
Si encuentro el post (que el hilo es larguísimo y en alemán) te digo cual es.

xAdobe, si leí tu sugerencia, a mi tampoco me seduce la idea de soldar en la placa, mas en ese lugar, y si el zócalo SMD fuera fácil de conseguir sería la solución.
Tu ya lo tienes?, podrías poner una foto?, aunque sea sacada de alguna web.
El tema de la conexión, hay un pdf de bertram02 (el de las fotos) con las modificaciones hechas, pero está en alemán y no lo entiendo ni traduciéndolo online, sobre todo lo del 74HC164D, lo iba a colgar en la sección español de ULC a ver si alguien me lo traduce. Lo pongo como viene por si lo entiendes.

Talvez SantiPHREACK podría poner el diagrama que el hizo, aunque sea hecho a mano y sacándole una foto.

[QUOTE]Umbau der Anzeige beim SL65 unter Truman-Software

Wenn man die Truman-Soft auf den SL65 aufspielt funktioniert die Anzeige nicht mehr richtig. Grund dafür ist, dass das IC U1 (74HC164D) die verschiedenen Segmente der 7-Segment-Anzeigen anders ansteuert. Deswegen muss man manche Verbindungen auftrennen und anders „verlegen“.

Folgende Pins am IC hochbiegen: Pin 3, 4, 5, 6, 11 und 12

Folgende Verbindungen herstellen:

- Pin 3 mit R7
- Pin 4 mit R6
- Pin 5 mit R12
- Pin 6 mit R11
- Pin 11 mit R9
- Pin 12 mit R8

Das war´s dann schon... Viel Spaß beim Umbau...

An dieser Stelle noch vielen Dank an Vinix für die tolle Vorarbeit! [/QUOTE]
[SIZE="1"]Info by [B]bertram02[/B][/SIZE]

Algún voluntario de "Traductores Sin Fronteras"... :)

sl2

lanza3d 28/07/2007 14:04

[QUOTE=vishero;2959701]xLanza3D, como dice barrigaverde, el hex en sí no tiene nada que permita ver nada, el mod en su conjunto solo permite hacer posible el meter firms de otros aparatos no compatibles. Ahora, lo que uno le meta ya es otra cosa...
[/QUOTE]

entoces sin problemas ;)

Adobe 28/07/2007 14:07

Creo que esto del frontal es unir con cables del pin del Integrado 74HC164D a las resistencias que te indican PERO SOLO CREO QUE NADIE HAGA NADA.
Y lo del zocalo mirare por inter.. a ver si veo algo en mi pueblo no se vende nada de elctronica y mis chapuzas me las hago reciclando de aparatos viejos.

saludos

vishero 28/07/2007 15:58

barrigaverde,

El firm Truman con salida coaxial está en upload de ULC, arriba del todo en " TEST BEREICH Firmware ", se llama "SL 35 & 65 PW Ok Read Info", puesto por "ReaperXxX01" el 19.06.2007, el comprimido es "SL 35 & 65 Pw Ok.rar" y dentro tiene:

El "System Upgrade 10-30-2006 bootloader"
El firm "Truman.EMU.1.3.60.Serbia.abs"
Y un .doc en alemán (que manía tienen de poner todo en alemán... :) )
donde dice algo del funcionamiento del coaxial digital y su uso con un mando 8en1 universal.

[Quote]"Sound kann nur über Digital-Coax angeschlossen werden,
wie bestätiigt wurde ."

y

Sound über Digital-Coax angeschlossen,
und meine LIFE/MEDION/TEVION 8in1 Uni-Fernbedienung
auf Suchlauf angeworfen und siehe da,
bei dem zweiten Code hat es dann geklappt!!
[/Quote]

Ojo que es un firm de pruebas...

sl2

barrigaverde 28/07/2007 16:28

grs vishero por este explendido post aunque ya habia posteado por ello siempre cuando he probado ficheros de truma o globo he observado que se enciende los diodos del conector de la salida digital optica pero no sabia que los fichero no daban salida digital coaxial eso aun no lo he probado pero me falta poco un par de sosillas

barrigaverde 28/07/2007 17:11

vishero para que observes resumiendo mucho esto es lo que quiero hacer con un circuito hecho a mano

h**p://web.telia.com/~u91003452/live/images/PinoutDrawings.gif

barrigaverde 28/07/2007 17:16

También usaremos un par de diodos para asegurarnos que no introducimos tensiones mayores de cinco voltios, ni menores de cero voltios.




El único elemento activo del circuito es el integrado 74HC04, que debe ser alimentado con 5 voltios. No hay problema, porque en el bus de expansión tenemos esa alimentación.

lo siento no me ha salido el esquema

aqui os pongo la direccion por si lo quereis ver es muy sencillo para los que tengan soumblaster live

h**p://www.hispasonic.com/articulo74.html

en el datasest del micro en la figura 4 se ve claramente las patillas ha conexionar solo hace falta un chips pues aun le sobran patillas que si fuera necesario se podrian utilizar aunque el esquema solo utiliza cuatro saludos

vishero 29/07/2007 20:59

barrigaverde,
Recien ahora caigo, (después de haber leído desde el principio el hilo del A1 (donde estaba el firm que te comentaba antes) y los post de Air101 en ULC), con lo que me decías del audio digital.

El firm no saca audio analógico, pero si digital, y lo que buscaban era convertirlo. La idea de Air de un conversor (DAC) no es mala, pero si mas cara que el mod. Ahora si se tiene un amplificador con entrada digital se puede usar, ya sea para sacar audio por el sistema de altavoces o mandarlo al TV por las salidas RCA del amplificador.

Para salir del paso vale, pero creo que lo mas práctico es el mod. que soluciona tanto el sonido como lo del mando.

Ahora que ha salido a la luz la apertura de irdet*2 y vi*ccess2.5 seguramente habrá que actualizarse y con los Truman hay "soporte" muy bueno...

sl2

barrigaverde 31/07/2007 17:53

saludos vishero gras por todo en ello llevo pensando desde hace mucho tiempo de que efectivamente es asi es el que mas soporte tiene en todas la direcciones y sobre todo si esta en jastra por ese motivo lo estoy preparando sin prisa para el proximo años claro que ya esta encima saludos

vishero 02/08/2007 03:15

Siguiendo con el tema, al final terminé desarmando todo el cacharro...

Después de recorrerme varias tiendas no encontré el Resonador de 4MHz, así que hice una prueba con un cristal de 4MHz y dos condensadores de 22pf y no funcionó. Pero no sé si ese es el problema, o que no hice el punteado del 74HC164D, ya que pensé que al ir la señal del IR directa al conector (cable negro) no haría falta.

También intente montar el MOD con un AVR, pero justo los que se necesitan no tengo. Se pueden usar un Atmel AVR ATMega32, ATMEGA16 , ATMega8535 (40 patas) o un ATMega8 (28 patas), y yo tengo de los "clásicos" AT8515 y ATMega8515.

Solo hice lo necesario para que funcionara el mando, el sonido de momento lo dejaré tal cual, si es que, como dicen, hay salida digital, por lo menos en el óptico hay señal al meterle el firm del Truman, y si funciona correctamente lo usaré con un amplificador con entrada digital.

Lo de soldar en el PCM1742KE, mire por debajo y solo hay un solo punto en la zona del chip que pudiera ser una pata, pero había que quitarle el esmalte para comprobarlo, y si hubiera continuidad tampoco soluciona nada, así que por aquí no se puede.
Por arriba, solo habría que soldar solo en dos patas, ya que una de las resistencias del costado (RA16) estaría conectada a la pata 15 (una pita, pero no se ve bien).

Para quitar, y reponer, los 2 condensadores de 10uf hay que sacar la placa. Al reponerlos se podrían poner unos nuevos y colocarlos acostados, y si tocaran en algún otro componente buscar unos mas bajos, de esta manera no habría que sacarlos nuevamente si hubiera que soldar otra vez.

Fotos de frontales:

Frontal SL35 (Kosovo-ULC):
http://img241.imageshack.us/img241/8...6671ty6.th.jpg http://img216.imageshack.us/img216/4...tineky7.th.jpg

Frontal SL35-1 CI (Vinix-ULC):
http://img241.imageshack.us/img241/3...talemh7.th.jpg http://img529.imageshack.us/img529/4...otalcj8.th.jpg

Frontal SL65s:
http://img186.imageshack.us/img186/6...delarj5.th.jpg http://img176.imageshack.us/img176/6...traslw5.th.jpg

Mirando las diferencias, además de la cantidad de botones, la principal es el 74HC164D, ya que las anteriores no lo tienen.
http://img176.imageshack.us/img176/9...164ddv0.th.jpg

En el MOD de bertram02 se puede ver el puenteado:
http://img186.imageshack.us/img186/3...164dhf7.th.jpg

Que según el texto en alemán que puse antes, sería algo así:
http://img176.imageshack.us/img176/9...164dvo1.th.jpg

Esto será solo para que funcione el display?. O para los botones del frontal también?...
Lo de soldar esto así, de manera "irreversible" sin desoldar, no me gusta. Creo que le meteré un switch múltiple para poder ponerlo al estado "normal" cuando se quiera.

Aquí la pista del IR, hasta el cable negro que hay que puentear con el 16F84.
http://img527.imageshack.us/img527/9...tairqc6.th.jpg

Bueno, seguiré buscando el dichoso resonador, y si no encuentro compraré un AT.

sl2

jubamo 02/08/2007 03:41

[QUOTE=vishero;2963164]
Después de recorrerme varias tiendas no encontré el Resonador de 4MHz, así que hice una prueba con un cristal de 4MHz y dos condensadores de 22pf y no funcionó. Pero no sé si ese es el problema, o que no hice el punteado del 74HC164D, ya que pensé que al ir la señal del IR directa al conector (cable negro) no haría falta.
[/QUOTE]

El puenteado es solo para que se vea bien el display, los botones no van, porque se los mete al pic para que este saque los códigos del mando por el cable de infrarojos.

Vinix lo tiene configurado para cristal así que te debe de funcionar, fíjate en los leds. He mirado el datasheet de 16f84 y el cristal va entre la patilla 15 y 16 y también de la 15 un condensador de entre 15 a 33 pF y a la patilla 16 lo mismo los dos a masa.

Suerte.

vishero 02/08/2007 04:01

Hola jubamo,

Así es como lo tengo, con dos de 22pf a masa, uno en cada pata del cristal.

Los led funcionan, pero ambos se quedan encendidos.

El de MODO estaría bien, pero el IR ¿no debería encenderse cuando recibe señal del mando?...

Luego la pata 10 al frontal, y la pata 6 al CON3... (Aqui dudo si está bien)

El resto lo verifiqué y está correcto...

sl2

barrigaverde 02/08/2007 05:55

sasludos vishero solo comentarte que ayer visualice la version 2.5 en dicho foro con imagen del circuito de version 2.4 parece que han cambiado algo en el programa del pic saludos

jubamo 02/08/2007 09:14

Ein significa entrada Aus salida (o algo así). La patilla 6 es RB0/INT (entrada de interrupción es la que viene del panel) y conforme dice Vinix en el *.asm en su versión 2.4

; Portpins für den IR Empfänger und Fernbedienung Ausgang COMAG Labeln:
; =====================================================================
#DEFINE IR PORTB,0 ; Infrarot FB Eingangssignal von der Frontplatine **************(patilla-6)
#DEFINE FBC PORTB,4 ; FB Ausgang zum ALI vom Emulator *************(patilla-10)

; Portpins für den IR Indikator LED Labeln:
; =========================================
#DEFINE LEDI PORTB,5 ; LED IR Indikator (Blinkt bei Empfang von der Fernbedienung) *****(patilla-11)

; Portpins für den Wahlschalter Firmware und Anzeige LED Labeln:
; ==============================================================
#DEFINE LED PORTB,6 ; LED AUS = COMAG Firmware / LED AN = Truman Firmware **********(patilla-12)
#DEFINE TB PORTB,7 ; Schalter Eingang Comag oder Truman Firmware *************(patilla-13)


Fijate que un led luce cauando esta activado el truman y el otro cuando hay actividad de infrarojos.

saludos.

vishero 02/08/2007 15:58

Pufff, me está cansando el puñetero...

Después de leer un buen rato el pdf alemán con traductor al lado, efectivamente es como pone jubamo, la 10 al CON3 y la 6 al frontal.

La pata 13 (MODO) está directa con la R de 10K a VCC, por lo que el Led de la 12 está siempre encendido.

El led de la 13 (indicador IR) está siempre encendido y parpadea cuando le doy con el mando.

Pero según que firm le ponga, hace cosas "raras", uno (el Truman.EMU.1.3.60.Simpsons Editionboot,otoloader.bin) se inicia siempre en stnadby, con 00:00, pero no se puede iniciar con el mando, aunque se ve en el led del mod que recibe señal. Sí se inicia con el botón de Power, a partir de ahí los símbolos raros del display y se apaga, y entra en un bucle de encendidos y apagados.

Si le meto el Truman de Serbia (Truman.EMU.1.3.60.Serbia.bin), sin el MOD se inicia y ahí se queda con los símbolos raros y el cartel de no hay señal en un canal de Astra. Si le pongo el mod, se inicia con los símbolos, pero también comienza con los bucles de apagados y encendidos, en el poco tiempo que da, he podido entrar en el Menu con el mando, pero se apagó.

Si le meto el último Truman "oficial" (Truman_EMU_1.3.63_AMSTAR.bin), se flashea perfectamente, pero directamente no inicia (sin el mod), se queda con un cartel de "Program no found" y de ahí no pasa.

EL tema de los reinicios constantes con el mod ni idea que será. ¿Estará el pic jodido?. He usado los hex v2.4, 2.5 y 2.5a, se deja grabar y verificar sin problema.

Seguiré probando cosas...

Con un AVR el mod será más rápido?, lo digo por que en lo poco que me deja usarlo pareciera que es algo lenta la reacción.

sl2

vishero 02/08/2007 16:53

El bucle de reinicios lo solucioné, si no es por Zacky podría haber estado años... :)

En el ICProg, no configuraba en el Oscilador como "XT", lo tenía en "RC"... :p

Ahora lo único que puedo hacer es encenderlo y apagarlo con... la tecla del nº9 del mando de la TV!!!!!!!!!!!!!!!

Que H. de P.!!...


sl2

jubamo 02/08/2007 17:37

[QUOTE=vishero;2963569]El bucle de reinicios lo solucioné, si no es por [URL="http://foros.zackyfiles.com/showpost.php?p=2963503&postcount=2"]Zacky[/URL] podría haber estado años... :)

En el ICProg, no configuraba en el Oscilador como "XT", lo tenía en "RC"... :p

Ahora lo único que puedo hacer es encenderlo y apagarlo con... la tecla del nº9 del mando de la TV!!!!!!!!!!!!!!!

Que H. de P.!!...


sl2[/QUOTE]

He probado a cargarlo en el Icprog y a mi me lo abre con la opción XT.
Tanto la V2.4 como la V2.5 y en el .asm de la V2.4 esta configurado como XT, no entiendo como a ti al cargarlo al Icprog se te queda en RC.

De la velocidad, ten en cuenta que debe de transmitir el nuevo código después de leer el que has pulsado.

Lo de que solo te funcione con el mando 9 de la TV, esto es nuevo :), pero te indica que el pic esta trabajando. El mando original debe de valer, pues SantiPREACK lo ha hecho trabajar; ahora se me ocurren dos cosas:

1.) Cargar el firmware con la opción "allcode+bootloader".
2.) Fijate en que el cristal es exactamente de 4.000 y no 4.325 o similar.


Saludos.
PD. Con estos aparatos tenemos entretenimiento asegurado. :)

SantiPHREACK 02/08/2007 18:19

Webas vishero

Te cuento como lo hice yop

A falta de Resonador cerámico, no me complique mucho y utilice un cristal normal de 4MHz exactos y a pelo, es decir sin condensadores ni na.

El esquema que yo utilice es este

[URL=http://img388.imageshack.us/my.php?image=sl65modmk2.jpg]http://img388.imageshack.us/img388/1...5modmk2.th.jpg[/URL]

que como ves es un pelin mas simple y no utiliza los botones del frontal, y el hex no me acuerdo muy bien si fue la versión 2.1 o la 2.3 con su configuración por defecto del Oscilador como "XT" y va como la seda.

y respecto a puentear el "74HC164D" del frontal, como muy bien dices, simplemente es para que se lea correctamente el display , no influye para nada con los botones, a ver si saco tiempo y lo pruebo:p

barrigaverde 02/08/2007 19:08

saludos compañeros necesito consejo como realizo el crc osea el como ya lo tengo pero de que zona solo el maiconde o otalodader y maiconde juntos o todo el fichero???

jubamo 02/08/2007 19:38

Cada parte lleva su CRC y por la parte de abajo corta por donde salen los ceros, fijate en la imagen que puso Santi.

Saludos.

barrigaverde 02/08/2007 19:54

saludos jubamo afirmativo me he fijado en la imagen en la que hacer referencia la crc del otaloader y pienso que es el unico que hay que realizar el resto de apartado llevan ncrc y eso no hay que realizarselo o estoy equivocado por eso lo prengunto no lo tengo muy claro

posdata he visto en el 5 un sl65 ali E 1 parece que es el de ultima ornada estoy intentando descoprimirlo pero no va me da error con las tres terminaciones normalmete utilizadas lzma,zip gzip saludos

jubamo 02/08/2007 20:34

Solo tienes que cambiar el CRC al que hayas modificado (maincode)? aquello solo es un ejemplo, pero si pones NCRC en el lucar del crc trabaja igualmente sin esa comprobación.

De lo segundo ni idea.

vishero 02/08/2007 20:36

Jubamo & Santi

Bueno, funcionando...

No pregunten como, por que no tengo ni p*** idea..., mezclé tantas variables que ya ni sé lo que tiene dentro...

Volví al firm del Truman Serbia, con "un" hex metido con ICProg y XT, inicia con los dos leds encendidos, le doy al mando y responde, pero cada tecla que aprieto se "clava", le doy a CH+ y se pone a pasar canales a lo loco..., Menú y lo mismo, pasa por todas las opciones sin interrupciones.

Lo apago desde atrás y lo desenchufo...

Pienso un momento si lanzarlo por la ventana del 7º, o meterlo en el microhondas... :D

Le doy otra oportunidad, enciendo sin tocar absolutamente nada, se activa solo el led verde (MODO Truman), le doy al mando, titila el led rojo (IR) y ... funciona!!!!...

Repito la operación tres veces y sigue funcionando. :confuso::confuso::confuso:

Algunas teclas están cambiadas pero puede ser por la versión del hex que tiene, le meteré la 2.5a a ver si se soluciona.

El circuito que hice desde el inicio es igual al que puso Santi, pero sin la conexión al 1742KE, no tienen switch por que era de pruebas, se lo pondré al definitivo y las resistencias a los leds de 2,5mm son de 330ohm. El cristal es de 4.00000000MHz y los dos condensadores de 22pf. El pic un 16F84-04.

Todos los firms los metí como "allcode+bootloader" con el upgrade del Truman.

Confirmo que da salida de audio digital, tanto la óptica como la coaxial, lo tengo conectado a un amplificador audio/vídeo 5x1, y funciona perfecto en ambas, se puede conectar a cualquier equipo de audio que tenga entradas digitales.

El firm en si es para otro tema, tiene algunos pro y algunas contras, habrá que personalizarlo.

Paso a la otra etapa, el display...

Pero ahora me voy a tomar una caña de litro.... :D

sl2 y gracias por las ayudas y/o sugerencias...

barrigaverde 02/08/2007 20:43

pues me alegro un monton asi mas de uno nos vamos a pasar por esas latitudes aunque me falta como te decia una cosilla el 4000 mhz pero mañana creo me lo tienen estaba encargado pero como no lo puedo recoger solo los sabados y no trabajan en estos meses haber si me puede dar un piro un rato del curro suerte

SantiPHREACK 22/08/2007 17:37

Para los que todavía no se han animado a hacerle el "MOD" de los Truman o no se han enterado, solo deciros que acaba de salir recién calentito de el horno la ultima versión que hace Auto ;) Comprobado.

barrigaverde 22/08/2007 20:05

pues grs santi ya tengo el cristal solo me falta animarme saludos

Adobe 22/08/2007 20:57

Yo he tenido que desmontar el resonator este de una placa pero por ahora realizare la parte del mando lo del PCM me da miedo :-(
saludos y gracias

jubamo 23/08/2007 19:37

Tambien he realizado el mod de Vinix.
Ahora hay que aprender este firmware.

Saludos.

Adobe 24/08/2007 16:19

Otros cables
 
Alguien ha añadido los cables de subir y bajar canal, power, es que no se si corresponden con el Sl35 (me refiero a las teclas del frontal) y tengo los cables preparados y me gustaria conexionarlos. El mio es el 65

xeloa 26/08/2007 18:34

hola de nuevo compañeros veo que la familia de los truman aumenta y si como dice santi hace autoroll es un gran aliciente para ponerse manos a la obra incluso con el b1,para adove creo recordar que en su dia santi comento el cable negro ,para nuestro deco ,mejor que el te saque de dudas si se pasa por aqui,y como curiosidad he provado un firm de SMT que funciona parcialmente (mando y display no)la pega ,que es un original y no se si hay uno con cas,bueno lo dicho saludos de nuevo.

Adobe 26/08/2007 19:20

Gracias Xeloa el negro es el del IR y ese ya lo tengo conectado pregunto por las teclas del frontal.
Y el auto se termino hace unos dias.

barrigaverde 26/08/2007 21:49

saludos compañera me alegra por el regreso xeloa y para adobe el tema de las teclas del frontal no lo he leido pero me paso haber que hay y te comento si lo encuentro suerte

xeloa 27/08/2007 00:00

pues si que a durado poco lo del autorr...gracias barrigaverde y decirte que el firm al que llamas beatriz es del Startrack.saludos

jubamo 27/08/2007 09:44

[QUOTE=Adobe;2982210]Alguien ha añadido los cables de subir y bajar canal, power, es que no se si corresponden con el Sl35 (me refiero a las teclas del frontal) y tengo los cables preparados y me gustaria conexionarlos. El mio es el 65[/QUOTE]

Hola a todos,
vas a tener que reformar la parte del teclado, pues en este van multiplexadas en dos cables, por los strobe del display.

Saludos.

Adobe 27/08/2007 13:47

Gracias, pero si van por el mismo cable creo que los junto con cinta aislante para que no hagan contacto y esten recogidos y me olvido de ello.
Me ha parecido ver que han realizado otro mod para otro PIC y con conexiones diferentes pero el aleman no es lo mio.

barrigaverde 27/08/2007 15:30

adobe ha visualizado el pdf de la version final ya se que el aleman no es nuestro fuerte pero hay compañero que se ha ofrecido podemo pedir ayuda?? ha si no tiene esa documentacion te la subo al 5 dime algo??

jubamo 27/08/2007 16:25

Adobe, si quieres usar esos mandos, corta las pistas en el frontal (de esas teclas) y lo modificas para que cuando pulses, le den positivo a las entradas correspondientes del Pic.

Sobre la nueva versión:
1)- Lleva el oscilador interno. (no necesita el resonador)
2)- La selección del modo (truman-comag) se hace entrando en el modo selección frontal UP+DOWN y luego con el mando 1 ó 2 y lo graba en la EEprom hasta que se vuelva a cambiar.

Es algo mas refinada pero no aporta nada nuevo para el SL65

Adobe 27/08/2007 21:10

Gracias, pero dando vueltas a lo de jubamo quizas ponga otros pulsadores solo para esto no quiero realizar modificaciones que me impidan volver al SL65
original .
Respecto a lo del nuevo PIC pense que era algo diferente pues señalan puntos de soldadura en otros componentes.

SantiPHREACK 29/08/2007 20:40

Cita:

Iniciado por Adobe (Mensaje 2984355)
Gracias Xeloa el negro es el del IR y ese ya lo tengo conectado pregunto por las teclas del frontal.
Y el auto se termino hace unos dias.

Wenas Adobe

Metele el ultimo de hoy 1.3.67 que ya esta otra vez andando y con novedades :)

Adobe 29/08/2007 21:34

Gracias Santi lo busco y pruebo, otra cosa has probado a cambiar el firmware y que te conserve los canales ?
Yo lo intente con el aliminiupg, pero me lo grabo como siempre, es que vi un mensaje que al parecer se podia realizar.

SantiPHREACK 29/08/2007 21:58

Cita:

Iniciado por Adobe (Mensaje 2988143)
Gracias Santi lo busco y pruebo, otra cosa has probado a cambiar el firmware y que te conserve los canales ?
Yo lo intente con el aliminiupg, pero me lo grabo como siempre, es que vi un mensaje que al parecer se podia realizar.

Para conservar la lista de canales hay dos métodos:

Si anteriormente ya tenias el Truman metido, con actualizar solamente el "[B]maincode(AV)[/B]" te deveria funcionar, pero yo prefiero tener un [B]Dump[/B] mio con los canales ordenados, y después de actualizar a la ultima con un "[B]allcode[/B]" coger mi dump con los canales y meterle solamente la lista mía con la opción de "[B]userdb(64+64)[/B]" y listo

Adobe 30/08/2007 09:49

Gracias, estas en todo, pero ayer le puse la versión que mencionas
y el auto no arranca, hay que realizar alguna operación para que este este operativo ? La CAS creo que esta bien pues salen todas las flores pero como te digo probe en Hispa y en Astra y no lo consigo.
Otra cosa que visto que en la información me lo reconoce como 3329B y es un A.
A ti te lo reconoce bien ?

SantiPHREACK 30/08/2007 17:11

[QUOTE=Adobe;2988488]Gracias, estas en todo, pero ayer le puse la versión que mencionas
y el auto no arranca, hay que realizar alguna operación para que este este operativo ? La CAS creo que esta bien pues salen

todas las flores pero como te digo probe en Hispa y en Astra y no lo consigo.
Otra cosa que visto que en la información me lo reconoce como 3329B y es un A.
A ti te lo reconoce bien ?[/QUOTE]


Wenas Adobe

Tienes razón, algún bug se han dejado, porque anoche me paso igual, parece ser que solo pilla la "[B]IDE 01[/B]", pero seguro que no tardan mucho para solucionarlo y que pille las dos :)

Simplemente sintoniza cualquier canal del paquete y en el Editor dale al botón [B]azul[/B] para que resete las antiguas y en un par de minutos te pilla automáticamente la 01 y listo.

lo de Model ID: 3329B es correcto, ya que el este loader trata los dos (A1 y B1) por igual, el diferente seria el 3329C que corresponde al E1

[B]PD:[/B] los Tulipanes y Alemanes sin problemas

Adobe 30/08/2007 21:04

Gracias por tu aclaración, no me vaya a volver loco desistalando e instalando una y otra vez.(donde tengo el deco no tengo Internet y por lo tanto no flores)
Con relación a lo del micro espero que no se centren en alguna particularidad del B y nos quedemos a oscuras. Que supongo que es lo que nos pasa con el firmware del SL65.
Gracias de nuevo por tu ayuda.

barrigaverde 30/08/2007 23:08

abode te funiona bien el cochecito o te falla en cero . cero?

SantiPHREACK 30/08/2007 23:17

Pues no se que pasaría ayer, porque hoy si que ha pillado la "[B]IDE 00[/B]" el sólito y ni me he enterado :)

Adobe 31/08/2007 10:01

Pues si barrigaverde anoche el coche arranco, cosas de la ciencia.
Otra cosa creo que nuestro SL65 se queda un poco justo a hora de realizar el proceso cuando trabaja con canales de $ pues pixela con mucha facilidad . Con los libres no pasa.

SantiPHREACK 31/08/2007 10:31

Cita:

Iniciado por Adobe (Mensaje 2989765)
Pues si barrigaverde anoche el coche arranco, cosas de la ciencia.
Otra cosa creo que nuestro SL65 se queda un poco justo a hora de realizar el proceso cuando trabaja con canales de $ pues pixela con mucha facilidad . Con los libres no pasa.

Me alegro que te arrancase:p
yo ya pensaba que la de antes de ayer era por algún bug raro, 0 a saber

Por cierto, aunque no tenga nada que ver con los Truman, los [B]Smart MX04[/B] creo que también están automatizados, el problema es que cuando intente adaptarlo a nuestro mando, me da la espina de que nuestro cable negro del IR que sale del pin 61 de la CPU lo deben tener cambiado, Si encontráis alguna foto decente estaría de putamadre, (porque yo probé con casi todos los demás pines de la CPU y no hubo suerte), ya que haciendo una pequeña modificación, seria otra alternativa interesante:cool:

jubamo 31/08/2007 12:07

Pues en mi B1 cambia perfecto y no le noto falta de caballos.
Ahora para refinar y quedarse con esto solo queda modificar el display y el programa del pic para añadir los otros mandos del frontal.
Si quitamos los leds y el selector, mas dos que no utiliza, tenemos 5 entradas disponibles.

SantiPHREACK 31/08/2007 12:38

[QUOTE=jubamo;2989981]Pues en mi B1 cambia perfecto y no le noto falta de caballos.
Ahora para refinar y quedarse con esto solo queda modificar el display y el programa del pic para añadir los otros mandos del frontal.
Si quitamos los leds y el selector, mas dos que no utiliza, tenemos 5 entradas disponibles.[/QUOTE]

jeje, el truco es dejarlo en un canal con buena señal, pa que no se pierdan los EManeMs por el camino :cool:

Adobe 02/09/2007 11:15

Hoy he cogido el deco y lo he conectado a un plato de 80 cnt. y me sigue pixelando la señal creo que es buena segun la info el nivel 86 % y Calidad 64 % . Si hay alguien que haya realizado la modificación en un A1 que comente como le va.
He probado con varias versiones ahora tengo la 69 y con el mismo resultado, en la antena que he puesto hoy con una tarjeta de Sat en el ordenador perfecto y la anterior antena con un Philips 6071 tambien va perfecto.

Otra cosa os funciona bien el pause?

barrigaverde 03/09/2007 22:15

saludos adobe ,creo recordad cuando intale la de 1,10 papara el w1 que me costo basante al principio ponia lnb normales de 05 o parecidos y no consegui nada hasta que puse uno de 02 y me paso tambien en otra de 60 para jastra que no teniea señal del arena y cuando cambie al 04 y creo este es de los buenos pues desde entonces no he tenido problemas de señal prueba con otro lnb haber si lo consigues suerte

Adobe 04/09/2007 12:12

Gracias, barrigaverde , pero no creo que sea falta de señal ya te pongo la que da el receptor y que con otros decos no pasa.
Tienes tu un A1 ? porque te podia mandar un dump y aunque no tengas realizada ninguna modificación te debe de funcionar en un programa codificado. Seria solo cargarle y visionar.
Si alguien con A1 se presta que me diga el satelite donde tiene la antena y salo paso.

gracias.

barrigaverde 04/09/2007 15:03

pues no me importa cargarlo pero ese modelo no le tengo son b1 y e1 nada mas por ahora y espero no tener mas con esto me despedire hay que pasar pagina grs y si lo deseas dime donde saludos

un detalle si es el ultimo de truman opitcum globo yumatu ese esta puesto y funcionando aun si MOD pero funcionando saludos

Adobe 04/09/2007 20:22

Gracias barrigaverde, pero el tema es probarlo en A1 los B1 ya sabemos que pueden decodificar puesto que hay firmware para el.
Y quizas no vayan en el A1 porque sean inferiores y el programador lo sabe.

saludos

SantiPHREACK 08/09/2007 17:49

Wenas @Adobe

Me da la espina que tienes razón con lo de que en los "[B]A1[/B]" no este bien depurado o que no tenga suficiente potencia y por eso sacaron los "B1"

por que en mi SL65-12 "A1-MOD" se calienta demasiado y de vez en cuando se queda pillado, cosa que con el otro "B1-MOD" que tengo no pasa

[B]PD:[/B] Ya esta la [B]1.3.71[/B] que creo que añade compatibilidad con DCW

Adobe 11/09/2007 23:17

No hay nadie mas con un A1 ?
Pues si que somos pocos , solo yo tengo un SL65 con A1 .-)

vilix 22/09/2007 00:40

Hola, estoy experimentando con un SL65/B1 que llevaba dos años en el trastero, le he realizado el MOD para el mando y funciona OK, mi duda viene con las diferentes versiones de los Truman; he probado con la 1.3.67,1.3.71,1.3.73 y no consigo acceder al menu oculto, ¿alguien puede echarme una mano?

Graciass

SantiPHREACK 22/09/2007 11:25

[QUOTE=vilix;3018002]Hola, estoy experimentando con un SL65/B1 que llevaba dos años en el trastero, le he realizado el MOD para el mando y funciona OK, mi duda viene con las diferentes versiones de los Truman; he probado con la 1.3.67,1.3.71,1.3.73 y no consigo acceder al menu oculto, ¿alguien puede echarme una mano?

Graciass[/QUOTE]

Wenas Vilix, simplemente busca el [B]canal 9339[/B] :)
La putada es que los Truman llevan mas de una semanita sin actualizar, raro raro

Por cierto ahora que el tema de los E1 esta medio resuelto, que os parece "[B]@Vishero, @Jubamo, @Adobe, and company[/B]", que aprovechando las sources del hex del MOD, hagamos nuestra propia adaptación para que chute con el firm de los [B]Smart MX04[/B] (que si siguen con el AUtomóvil encendido) con nuestro mando???

Teniendo los codes del mando del main, no creo que sea muy difícil sustituir unos por otros y compilarlo, o incluso añadirle otro interruptor y que trabaje con los tres mandos, ya me diréis

jubamo 22/09/2007 11:49

Ten en cuenta que necesitamos las temporizaciones de las señales del mando a emular, y para el pcm su secuencia de configuración.
Si lo demás va bien, creo que no hay problema.

Voy a mirar que veo en el .asm

vilix 22/09/2007 11:52

Gracias todo OK...

SantiPHREACK 22/09/2007 12:01

[QUOTE=jubamo;3018238]Ten en cuenta que necesitamos las temporizaciones de las señales del mando a emular, y para el pcm su secuencia de configuración.
Si lo demás va bien, creo que no hay problema.

Voy a mirar que veo en el .asm[/QUOTE]

Sip,
mirando sus clones creo que son estos
[B]Digiquest 6400
Delsat DSR-555
Digital Telecom X400
Digitalbox Imperial DB1[/B]

Osea que se podria pedir a alguien de la sección de "[B]Digiquest[/B]" o de cualquier otro clon, que le pase su mando por el "WinLIRC" y ya tendríamos los tiempos

vishero 22/09/2007 19:06

[QUOTE=SantiPHREACK;3018214]Wenas Vilix, simplemente busca el canal 9339 :)
Por cierto ahora que el tema de los E1 esta medio resuelto, que os parece "@Vishero, @Jubamo, @Adobe, and company", que aprovechando las sources del hex del MOD, hagamos nuestra propia adaptación para que chute con el firm de los [B]Smart MX04[/B] (que si siguen con el AUtomóvil encendido) con nuestro mando???
[/QUOTE]

A mi me parece perfecto, pero de programación no tengo ni idea... :)

Me bajé el MPLAB de la page de Microchip para ver si podía adaptar el código fuente para un 16F876 que tenía de una PIC2, pero luego de horas leyendo tutoriales no sabía ni por donde empezar... :D

Mi idea era que como dicho PIC tiene mas entradas y salidas poder usarlas con todos los botones del frontal del SL65, pero solo me quedé en el intento...

Igual estoy a disposición para cualquier invento...

sl2

Adobe 23/09/2007 18:19

Hola, Santi

Me parece ien tu idea pero despues de ver que los Truman pixelan me he venido abajo voy a intentar meter los smart y a ver que pasa

Adobe 29/09/2007 19:35

Smart
 
Hola : SantiPHREACK
He cardado los del MX04 pero llevo toda la semana intentando con un mado programable acceder al menu pero no he conseguido nada.

Se le podria meter nuestro mando al firmware como creo recordar que modificastes el de Amstrad.

Mas que na por seguir probando cosas

barrigaverde 29/09/2007 22:02

adobe prueba vampririus au ulc saludos

Adobe 30/09/2007 12:02

Creo que este sera una continuación de los anteriores y que lo unico que cambia es el sistema del au pero no creo que hayan depurado mas el sistema de descodificación.

Gracias lo pruebo de todos modos

barrigaverde 30/09/2007 15:38

saludos adobe aunque no se realizarlo, una sugerencia no sera mas facil y ya que esta colocado programar el pic para el fichero que metais . o puede llevar la misma programacion para todos los ficheros???


para vishero una pregunta realizaste la modificacion del display al final o no???

Adobe 30/09/2007 23:48

Hola barrigaverde:
Ya he realizado el cambio del firmware pero como me temia con identicos resultados, pixela y si cambio algo rapidillo se cuelga.
En el PIC lo que se graba es para el sonido y paraque funcione el mando pero con el soft de los truman.
Para otro soft habria que seguir añadiendo al Pic diferentes mandos.
Otra cosa llegastes a probar algun firmware de los S100 esos deben tener el A1 que diferencias hay con relación al SL 65 que yo tengo .

barrigaverde 01/10/2007 01:15

saludos adobe

afirmativo he probado todos los que conozco sean o no compatibles con el b1, y he observado en el fichero de los S 100 una zona donde pone disable receptor con un diodo no se si eso tendra algo que ver en que los s100 lleven mas diodo en el display o no para que arranque pero ya lo comente y no debe terner mucha importancia

respecto a lo del mando afirmativo era lo que he comentado , pienso que es mas facil programar el pic que realizar cambio que a veces no salen completos eso si no tengo ni idea de programas para el pic pero todo se intentara .

encuando al mod la verdad es que me ha costado decidirme por acoplar tambien el sonido me parecia dificil pero despues de hacerlo creo que es mas facil de lo que parece eso si con la punta adecuada de 0,5 que venden suelta para el bjc de los pequeños entre 14 y 11 watios, y si es posible el estaño tambien de la misma medida y con cual quier lupa se hace facil, ahora como he dicidido dejarlo asi ya le he preguntado ha vishero si el tambien ha cambiado el display que a mi no me importa pero me estan dando la lata con eso en casa y bueno lo voy a intentar nada mas un saludo

vishero 01/10/2007 01:22

Lo puse en otro post, pero lo repito aquí por que es sobre el MOD de AVR.

Por AQUI Kosovo anda preguntando algo sobre los FTE MaxS100, creo entender que quiere hacer compatible su MOD con AVR con dicho deco, pero no entiendo que necesita.

Adonde puso el post creo que pocos lo leerán, si alguien sabe algo...

sl2

vishero 01/10/2007 01:32

barrigaverde, si también hice lo del frontal, pero no me funciona bien, me quedan algunos segmentos de los módulos alfanuméricos siempre encendidos pero con menor intensidad, no sé que puede ser.

Lo hice poniendo un multiswitch para poder quitarlo.

En realidad dejé de usar el MOD por que me cambiaba continuamente (y automáticamente) el TV a 16/9 (si el canal era en ese formato) y había que andar cambiandolo siempre, era un coñazo.

Esperemos que prospere lo del desensamblado del Metronic.

Los leds también los puse en el frontal, pondré algunas fotos.

sl2

barrigaverde 01/10/2007 09:32

grs vishero por tu amable generosidad ya lo mirare haber como se realiza creo que lo pusisten al principio del hilo , y si da problemas en los cambios del mando en mi caso segun que firm tenga puesto el primero que tenia que lo utilizaba sin sonido me funcionaba bien el 1369 pero los demas que he probado funcionar funcionan pero eso con alguna dificultad este ultimo va un poco mejor el del vampiro grs de todas formas saludos

barrigaverde 01/10/2007 09:37

he mirado el mensaje de kosovo y dice asi:


"Hola! mis Amigos,
Lamento mi inglés malo, porque soy un alemán...

Tengo una pregunta....

Hizo alguien sabe(conoce) algo sobre esto:

- => TUTO_Modif_comag_sl35s_1_1_.9_en_version_flashable <=-
Esto es una modificación para el Comag SL35s para hacerlo kompatible a Max S100 FTE.

Yo trie para hacer esta modificación con un MCU: AVR-ATMEGA32...

En este momento he terminado la IR-entrada.

Y sé(conozco), algo sobre los mensajes para la Ali-CPU -> el frente-prozzesor (fp)...

Pero no sé(conozco) nada sobre los mensajes de vuelta de fp -> Ali....

¿¿Puede alguien ayudar???? "



la verdad es que nadie por aqui ha ido por ese camino

SantiPHREACK 01/10/2007 13:39

Bueno señores, las sources están dando sus frutos xD

Gracias al señor "[B]dspa[/B]" del foro alemán, ya se puede solucionar lo del audio de los Trumans en nuestros decos sin necesidad de "MODs" por hardware, simplemente parcheando un byte en el main descomprimido

En concreto este:

Código:

[B]Offset    Original    Parche
--------- --------    --------
0x001E6C: [COLOR="Blue"]10[/COLOR]000224 -> [COLOR="Blue"]18[/COLOR]000224[/B]

Lo acabo de probar y funciona perfecto, osea que lo del audio ya no es problema, solo queda el problema del mando, pero se soluciona con uno universal xD

barrigaverde 01/10/2007 13:52

saludos pues es una estupenda noticia para los que no puede realizar ese trabajo

popeel 01/10/2007 21:00

Hola todos, SantiPHREACK podrias colgar el dump del deco con la modificacion de audio que mencionas el el 5 y lo meto en un a1 y veremos que pasa.
Saludos

vishero 01/10/2007 21:35

Bien Santi..., está interesante el hilo de ULC (con las limitaciones del caso por estar en alemán...), a este paso se solucionará lo del mando también...

Pongo las fotos que le prometí a barrigaverde, o si le interesa a alguien mas, pero yo esperaría a ver que pasa con la modificación del firm....

Son de la toma de alimentación desde la fuente, la colocación de los leds en el frontal, el multiswtich del display, vista general y vista exterior frontal con los leds encendidos con y sin mod-display.

http://img239.imageshack.us/img239/9...entevm0.th.jpg http://img146.imageshack.us/img146/7...inaliw5.th.jpg http://img122.imageshack.us/img122/2...ledsbg3.th.jpg http://img146.imageshack.us/img146/5...itchow5.th.jpg http://img146.imageshack.us/img146/8...eralkv5.th.jpg http://img146.imageshack.us/img146/6...rontil1.th.jpg

Como se ve, el display no funciona correctamente con el switch cerrado (foto inferior), talvez sea causa del propio switch (?), con este abierto y con el firm "original" se ve correctamente, con el del Truman también (foto superior) pero símbolos raros, también se ven los 3 leds encendidos, el rojo de la derecha es cuando se acciona el mando.

El mod tiene el switch de modo Truman-Comag para cambio "por soft" que es un pulsador que se acciona desde abajo por uno de los agujeros del chasis y otro de dos vías para cambio por "hard" que corta la alimentación y a su vez puentea el cable negro del mando, pero esto solo funciona con el mando, si hubiera conexiones desde los botones del frontal habría que hacer otro invento.

En fin, todas chapuzas para pasar el rato...

sl2

P.D.: Ahora que lo tenía abierto se me ocurrió revisar con el polímetro el mutiswtch y hay un puente en algún lado, antes lo había verificado desarmado mientras lo hacía. Cuando tenga un rato libre lo arreglo a ver si ese era el problema.

Adobe 01/10/2007 21:49

Poppel por favor dime si te pixela con este firmware, yo tengo un A1 y me hace esto y me gustaria saber si soy yo o espara todos

Adobe 01/10/2007 21:52

Poppel por favor dime si te pixela con este firmware, yo tengo un A1 y me hace esto y me gustaria saber si soy yo o espara todos.
Para Santi si puedes dime los pasos para trabajar sobre los ficheros pues no consigo que me descomprima el fichero lzma.

popeel 01/10/2007 22:00

Hola todos, adobe esperando si santi me cuelga el dump de su deco y te cuento.
Saludos

barrigaverde 01/10/2007 22:12

para vishero desde luego eres un mostruo que trabajo tan estupendo ya me gustaria realizarlo asi pero se intentara grs por todo en otro momento lo pillo cuando tenga menos audiencia que ahora va un poco lento un saludos

popeel 01/10/2007 23:17

Hola todos. adobe le meti un firmw de la pagina de frocus el de tuman ETC y de momento no me pixela claro sin sonido yo no se que firmw tienes tu.
Saludos

Adobe 01/10/2007 23:47

Yo le he metido varias versiones de los truman y en todas ellas me pixela cada poco tiempo pero en los enriptados no en los libres. Creo que la ultima versión es la 1376 saludos y gracias por tu información

barrigaverde 02/10/2007 00:47

adobe no tengo un A1 pero has probado otras marcas, como yumatu iq, opticum serie 4000a , amstar, auque creo son el mismo por probarlo como puedes ver en algunos casos pone nuevo sofware seguro que los admite almenos el mio si; con esto no quiereo que piense que deseo que se te estrope pero asi saldrias de dudas con el picselado de image que tienes haber si tienes suerte

popeel 02/10/2007 01:15

Hola todos, adobe si que pixela cada rrato y al rato largo se cualga pero si va el au.
Saludos

Adobe 02/10/2007 09:08

Gracias poppel:
Como ves hay que tirar hacia otros firmwares yo quiero probar con los MX40 pero me falta saber modificar los firmwares para por lo menos sintonizar y cambiar de canal.

SantiPHREACK 02/10/2007 10:17

Cita:

Iniciado por popeel (Mensaje 3031207)
Hola todos, SantiPHREACK podrias colgar el dump del deco con la modificacion de audio que mencionas el el 5 y lo meto en un a1 y veremos que pasa.
Saludos

Para @popeel, @Adobe y a quien le interese lo de modificar los Maincode, os dejo este hilo de Jubamo

http://foros.zackyfiles.com/showpost...7&postcount=12

Aunque no creo que tarde mucho en salir un parcheador automático para que no haya que hacerlo a mano, yo mientras sigo mirando la forma de solucionar lo de los codes del mando para el nuestro, a ver si hay suerte xD


La franja horaria es GMT +2. Ahora son las 16:24.

Powered por vBulletin™ Version 3.8.10
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.
Traducido por vBsoporte - vBulletin en español
ZackYFileS - Foros de Debate