DSM update for Millenium4 remote
Posted: Wed Jul 07, 2004 9:30 pm
The DSM special protocol as currently defined doesn't work for the Millenium4 remote. This is because the Mil4 only allows macros in one device mode. In the B01 version you can select that device mode in IR but in the B00 version it's hardwired to CABLE mode.
To make the DSM protocol work, we need to trick the remote into thinking we're in the right mode and I've figured out what's needed.
The DSM code that's currenty supplied by the SP spreadsheet when you select the Mil4 is for the B01 version, here's what it currently looks like...
and here's what it should look like...
The difference is the LD R63, R5F (or "E4 5F 63" in hex), this is what fools the remote.
Here's what the code for the B00 version should look like...
Notice that this version uses R7B instead of R7C in the old code, and the new code I added is LD R62, R8A (or "E4 8A 62" in hex).
Both of these versions are tested.
To make the DSM protocol work, we need to trick the remote into thinking we're in the right mode and I've figured out what's needed.
The DSM code that's currenty supplied by the SP spreadsheet when you select the Mil4 is for the B01 version, here's what it currently looks like...
Code: Select all
8000: 00 00 DB 00H, 00H
8002: 01 DB 01H
8003: E4 03 7C LD R7C, R03
8006: 50 C0 POP RC0
8008: 50 C1 POP RC1
800A: 50 C2 POP RC2
800C: 50 C3 POP RC3
800E: 50 C4 POP RC4
8010: C6 CA 06 1E LDW RCA, #061EH
8014: 70 CB PUSH RCB
8016: 70 CA PUSH RCA
8018: 70 C4 PUSH RC4
801A: 70 C3 PUSH RC3
801C: 70 C2 PUSH RC2
801E: 30 C0 JP @RC0Code: Select all
8000: 00 00 DB 00H, 00H
8002: 01 DB 01H
8003: E4 5F 63 LD R63, R5F
8006: E4 03 7C LD R7C, R03
8009: 50 C0 POP RC0
800B: 50 C1 POP RC1
800D: 50 C2 POP RC2
800F: 50 C3 POP RC3
8011: 50 C4 POP RC4
8013: C6 CA 06 1E LDW RCA, #061EH
8017: 70 CB PUSH RCB
8019: 70 CA PUSH RCA
801B: 70 C4 PUSH RC4
801D: 70 C3 PUSH RC3
801F: 70 C2 PUSH RC2
8021: 30 C0 JP @RC0Here's what the code for the B00 version should look like...
Code: Select all
8000: 00 00 DB 00H, 00H
8002: 01 DB 01H
8003: E4 8A 62 LD R62, R8A
8006: E4 03 7B LD R7B, R03
8009: 50 C0 POP RC0
800B: 50 C1 POP RC1
800D: 50 C2 POP RC2
800F: 50 C3 POP RC3
8011: 50 C4 POP RC4
8013: C6 CA 06 1E LDW RCA, #061EH
8017: 70 CB PUSH RCB
8019: 70 CA PUSH RCA
801B: 70 C4 PUSH RC4
801D: 70 C3 PUSH RC3
801F: 70 C2 PUSH RC2
8021: 30 C0 JP @RC0Both of these versions are tested.