This commit is contained in:
Triss 2023-06-17 17:11:56 +02:00
commit 008bbb95ab
9 changed files with 7812 additions and 0 deletions

4
.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
*.pdf
*.html
*.zip
*.tar.gz

116
README.md Normal file
View File

@ -0,0 +1,116 @@
# mdm isa reversing
It looks quite a lot like the "sensor controller" ISA but the details differ
(more registers, different encoding, no pc-relative branches, fewer insns?).
## disassembler
See `analyze-asm.py`. Needs a few tweaks to be usable as a standalone
disassembler but it works.
## documentation
```
instruction set (as of now):
registers are 16-bit wide. notation is always "op src, dst".
memory addressing is in 16-bit word units, never byte indexed.
RAM/ROM and I/O buses are separate like in the 8080 or Z80.
basically a babby's first 16bit machine one might find designed
specifically for a uni course.
alu reg, reg alu=or/and/mov/add/sub/cmp
alu imm, reg imm is 5bit!
btst imm, reg bit test in reg. imm is a bit index
bclr imm, reg bit clear in reg
shift reg, reg shift=sl0(lsl)/sr0(lsr)/srx(asr)
shift imm, reg imm is 4bit
lmd (reg), reg load from ROM/RAM space
lmd imm, reg imm is 4bit? 7bit?
lli imm, reg load long immediate(?), imm is 10bit
b<cc> abs branch if conditioncode (eq/ne/mi/pl), abs is absolute addr
jmp abs
jmp (reg)
jsr abs
loop abs loop instruction. r0 = loop counter, branch if r0 != 0
rts return
wait wait for interrupt???
input abs, reg read from I/O space (absolute address)
output reg, abs write to I/O space
outclr abs set I/O reg to 0?
outset abs set I/O reg to 0xffff??
outbclr imm, abs clear bit <imm> of I/O reg <abs>
outbset imm, abs set bit of I/O reg
reg encoding: 0XXXX = rX (X=0..15)
10000 = pc (alu srcop only)
others = ?? (alu srcop only)
instruction set encoding maybe:
instructions are always 16 bits wide
000a aams ssss dddd ALU op; a=op, m=mode (src 0=reg/1=imm), s=src, d=dst
000 or
001 and
010 xor? hypothetical
011 tst? hypothetical
100 mov
101 add
110 sub
111 cmp
0010 a??? ssss dddd bit op; a=op, ?=?, s=src(bitind imm), d=dst
0010 btst
1010 bclr
^ reg/imm? depending on placement, unify with aluop or shiftop
is there a bset somewhere?
0011 aaam ssss dddd shift; a=op, m=reg/imm, s=src(bitind), d=dst
000 sl0
100 sr0
110 srx
others?
0100 ccdd dddd dddd b<cc> d=dstabs
00 eq
01 ne
10 mi
11 pl
^ maybe another cc bit?
0110 aadd dddd dddd jmpop; d=abs
00 jmp
01 jsr
10 loop
11 misc reg-indirect insns (see below)
0110 1100 0000 dddd jmp (d=reg)
^^^^ other ops?
? 0110 1101 ssss dddd ?? input (s=srcreg), d=dst hypothetical
0110 1110 ssss dddd output s=src, (d=dstreg)
0110 1111 ssss dddd lmd (s=srcreg), d=dst no store?
0111 0000 0000 0000 rts
0111 0001 0000 0000 wait
^^^^ ^^^^ lots of space here for other ops!
0111 0010 dddd dddd outclr d=dstabs
0111 0011 dddd dddd outset d=dstabs
0111 1sss ssss dddd lmd s=srcabs, d=dst no store?
^^^ unsure of these (000 afaics)
1000 ssss ssss dddd input s=srcabs, d=dst
1001 dddd dddd ssss output s=srcreg, d=dstabs
1010 dddd dddd ssss outbclr s=srcbitindimm, d=dstabs
1011 dddd dddd ssss outbset s=srcbitindimm, d=dstabs
11ss ssss ssss dddd lli s=src(imm), d=dst
pseudo-ops:
nop = or r0, r0
```

189
analyze-asm.py Executable file
View File

@ -0,0 +1,189 @@
#!/usr/bin/env python3
import sys
from typing import *
class InsnRec(NamedTuple):
addr: int
opcode: int
insn: str
args: str
# special insns:
# * DBG_PRINT0: lli+jsr
# * DBG_FUNC: output+input+btst+bne+outbset+rts
def get_ops(file):
def aftersplit(st, sep, ind):
a = st.split(sep, maxsplit=ind)
if len(a) == 1: return a # sep not in st
return a[ind:]
with open(file, 'r') as f:
for l in f.readlines():
if len(l) == 0: continue
nocomment = l.split(';', maxsplit=1)[0].strip()
if len(nocomment) == 0: continue
nolbl = ' '.join(x.strip() for x in aftersplit(nocomment, ':', 1))
if len(nolbl) == 0: continue
#print(nolbl)
#op = nolbl.split(maxsplit=1)[0]#.lower()
#print(op)
spl = nolbl.split(maxsplit=1)
#print(spl)
yield spl
def parse_hex(file):
with open(file, 'r') as f:
for l in f.readlines():
if len(l) == 0: continue
nocomment = l.split('#', maxsplit=1)[0].strip()
if len(nocomment) == 0: continue
for x in nocomment.split():
yield int(x, 16)
def join_asm(ops, hdt):
hoff = 0
for op in ops:
if op[0] == '.ORG':
continue # skip
elif op[0] == 'DBG_PRINT0':
yield InsnRec(hoff, hdt[hoff+0], "lli", op[1])
yield InsnRec(hoff, hdt[hoff+1], "jsr", "_DBG_PRINT")
hoff += 2
elif op[0] == 'DBG_FUNC':
yield InsnRec(hoff, hdt[hoff+0], "output", "r0, MCETRCCMD")
yield InsnRec(hoff, hdt[hoff+1], "input", "MCETRCBUSY, r0")
yield InsnRec(hoff, hdt[hoff+2], "btst", "0, r0")
yield InsnRec(hoff, hdt[hoff+3], "bne", "_DBG_PRINT_WAIT")
yield InsnRec(hoff, hdt[hoff+4], "outbset", "MCETRCSEND_SEND, MCETRCSEND")
yield InsnRec(hoff, hdt[hoff+5], "rts", "")
hoff += 6
else:
yield InsnRec(hoff, hdt[hoff], op[0], "" if len(op)==1 else op[1])
hoff += 1
assert hoff == len(hdt)
def get_baseops(recs):
d = dict()
for r in recs:
if r.insn == '.DATA': continue
tup = d.get(r.insn, (0, 0xffff))
d[r.insn] = (tup[0] | r.opcode, tup[1] & r.opcode)
return d
def decode(insn):
REGS = [*["r%d"%x for x in range(16)], "pc", *["unk%d"%x for x in range(17,32)]]
ALUOPS = ["or", "and", "xor?", "tst?", "mov", "add", "sub", "cmp"]
assert insn == (insn & 0xffff), "insn %04x must be 16bit!"%insn
op = insn >> 12
# often used
dreg = insn & 0xf
dstabs = insn & 0x3ff
if op == 0 or op == 1: # ALU op
aluop = (insn >> 10) & 7
src = (insn >> 4) & 0x1f
mode = insn & (1 << 9)
if mode == 0: # reg src
return "%s %s, %s" % (ALUOPS[aluop], REGS[src], REGS[dreg])
else: # imm src
return "%s %d, %s" % (ALUOPS[aluop], src, REGS[dreg])
elif op == 2: # bit op
bitop = (insn >> 8) & 0xf
src = (insn >> 4) & 0xf
opstr = {0b0010: 'btst', 0b1010: 'bclr'}.get(bitop, "bitop_%x"%bitop)
return "%s %d, %s" % (opstr, src, REGS[dreg])
elif op == 3: # shift op
shiftop = (insn >> 9) & 7
src = (insn >> 4) & 0xf
mode = insn & (1 << 8)
opstr = {0: "sl0", 4: "sr0", 6: "srx"}.get(shiftop, "shiftop_%d"%shiftop)
if mode == 0: # reg src
return "%s %s, %s" % (opstr, REGS[src], REGS[dreg])
else: # imm src
return "%s %d, %s" % (opstr, src, REGS[dreg])
elif op == 4 or op == 5: # b<cc> NEWCC?
cc = (insn >> 10) & 7
ccstr = ["eq","ne","mi","pl", *["CC%d"%x for x in range(4,8)]][cc]
return "b%s 0x%04x" % (ccstr, dstabs)
elif op == 6: # jmpop + reg-indirect
if (insn & 0x0c00) == 0x0c00: # reg-indirect
typ = (insn >> 8) & 3
src = (insn >> 4) & 0xf
if typ == 0: # jmp (reg)
if src != 0:
return "jmp_WUT %d, (%s)" % (src, REGS[dreg])
else:
return "jmp (%s)" % REGS[dreg]
elif typ == 1: # input
return "input (%s), %s" % (REGS[src], REGS[dreg])
elif typ == 2: # output
return "output %s, (%s)" % (REGS[src], REGS[dreg])
elif typ == 3: # lmd
return "lmd (%s), %s" % (REGS[src], REGS[dreg])
else: assert False
else: # jmpop
typ = (insn >> 10) & 3
typstr = {0: "jmp", 1: "jsr", 2: "loop"}[typ]
return "%s 0x%04x" % (typstr, dstabs)
elif op == 7: # misc
if (insn & 0x0800) != 0: # lmd
src = (insn >> 4) & 0x7f
unsure = (src & 0x70) != 0
return "lmd%s 0x%x, %s" % (("?" if unsure else ""), src, REGS[dreg])
else: # outclr/outset/rts/wait
subop = (insn >> 8) & 7
dstabs &= 0xff
if subop in (0,1):
opstr = ["rts", "wait"][subop]
return opstr if dstabs == 0 else ("%s? 0x%02x"%(opstr,dstabs))
elif subop in (2,3):
opstr = ["outclr", "outset"][subop-2]
return "%s 0x%02x" % (opstr, dstabs)
else:
return "misc_abs %d, 0x%02x" % (subop, dstabs)
elif op >= 8 and op < 0xc: # I/O
src = (insn >> 4) & 0xff
opstr = ["input", "output", "outbclr", "outbset"][op-8]
if op == 8: # input
return "%s 0x%02x, %s" % (opstr, src, REGS[dreg])
else:
return "%s %s, 0x%02x" % (opstr, (REGS[dreg] if op == 9 else str(dreg)), src)
elif op >= 0xc and op <= 0xf: # lli
src = (insn & 0x3ff0) >> 4
return "lli 0x%x, %s" % (src, REGS[dreg])
else:
assert False, "Unknown opcode of insn %04x"%insn
if __name__ == '__main__':
assert len(sys.argv) > 2, ("Usage: %s <asm file> <hex file>" % sys.argv[0])
ops = get_ops(sys.argv[1])
#for x in ops: print(x[0])
hdt = list(parse_hex(sys.argv[2]))
#for x in hdt: print(hex(x))
recs = join_asm(ops, hdt)
#for x in recs: print("%04x:\t%04x\t%s\t%s"%x)
#for k, v in get_baseops(recs).items():
# print("%s\t(%04x, %04x)"%(k,*v))
declen = 20
for x in recs:
dec = "" if x.insn == ".DATA" else decode(x.opcode)
dec += (" "*max(declen-len(dec),0))
print("%04x:\t%04x\t%s\t%s %s" % (x.addr, x.opcode, dec, x.insn, x.args))

1795
defs.inc Normal file

File diff suppressed because it is too large Load Diff

36
enctable.txt Normal file
View File

@ -0,0 +1,36 @@
add (16bf, 1400)
and (067f, 0400)
cmp (1eff, 1c00)
mov (13ff, 1000)
nop (0000, 0000)
or (0076, 0000)
sub (1aff, 1800)
btst (22f3, 2200)
bclr (2a73, 2a70)
sl0 (31f7, 3100)
sr0 (39f7, 3800)
srx (3db6, 3d00)
lli (ffff, c000)
beq (43ff, 4000)
bne (47ff, 4400)
bmi (49e2, 49e2)
bpl (4ff3, 4c80)
jmp (6fff, 6000)
jsr (67ff, 6400)
loop (6bff, 6800)
lmd (7fff, 6800)
rts (7000, 7000)
wait (7100, 7100)
input (8fff, 8000)
output (ffff, 0000)
outclr (72ff, 7200)
outset (7397, 7300)
outbclr (a7ff, a000)
outbset (bfff, b000)

726
ops-sorted.txt Normal file
View File

@ -0,0 +1,726 @@
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0000 .DATA 0x0000
0001 .DATA 0x0001
0003 .DATA 0x0003
0007 .DATA 0x0007
000f .DATA 0x000F
0017 .DATA 0x0017
003f .DATA 0x003F
0043 .DATA 0x0043
0050 .DATA 0x0050
0054 .DATA 0x0054
0080 .DATA 0x0080
0082 .DATA 0x0082
017f .DATA 0x017F
0300 .DATA 0x0300
0387 .DATA 0x0387
0510 .DATA 0x0510
0006 .DATA 0x06
06f0 .DATA 0x06F0
07ff .DATA 0x07FF
0800 .DATA 0x0800
091e .DATA 0x091E
0c30 .DATA 0x0C30
0fff .DATA 0x0FFF
2fcf .DATA 0x2FCF
3d1f .DATA 0x3D1F
3f9d .DATA 0x3F9D
4074 .DATA 0x4074
5014 .DATA 0x5014
8000 .DATA 0x8000
8080 .DATA 0x8080
aa00 .DATA 0xAA00
c02f .DATA 0xC02F
f800 .DATA 0xF800
ff00 .DATA 0xFF00
1611 add 1, r1
1611 add 1, r1
1612 add 1, r2
1612 add 1, r2
1613 add 1, r3
1618 add 1, r8
1618 add 1, r8
161c add 1, r12
1610 add 1,r0
1630 add 3, r0
1630 add 3,r0
1401 add r0, r1
1402 add r0, r2
1404 add r0, r4
14bc add r11, r12
14bc add r11, r12
1426 add r2, r6
1426 add r2, r6
1426 add r2, r6
0620 and 2, r0
0622 and 2, r2
0633 and 3, r3
063e and 3, r14
0670 and 7, r0
0410 and r1, r0
0410 and r1,r0
0410 and r1,r0
0420 and r2, r0
2a70 bclr 7, r0
2a73 bclr 7, r3
41a4 beq CAPT_FREQUENCY
426a beq GEN_FSK_AVG_LEN_CORRECT
427c beq GEN_FSK_DSBU_AVG_LEN_16_SYMBOLS_CHECK
4289 beq GEN_FSK_DSBU_AVG_LEN_8_SYMBOLS
41b8 beq IIR_K4
41bf beq IIR_K8
4166 beq LOOP_SAMPLES_FIFO_BLIND
4173 beq LOOP_SAMPLES_FIFO_BLIND_DEMFRAC4WR
417e beq LOOP_SAMPLES_FIFO_BLIND_DEMFRAC5WR
4224 beq LOOP_SAMPLES_FIFO_SYNC
4231 beq LOOP_SAMPLES_FIFO_SYNC_DEMFRAC4WR
423c beq LOOP_SAMPLES_FIFO_SYNC_DEMFRAC5WR
4199 beq LOOP_SAMPLES_TRANSPARENT_FIFO
40bf beq MTX_Iqdump_Common_Preamble_16bitSyncWord
40c9 beq MTX_Iqdump_Common_Preamble_RFESEND
40ee beq MTX_Iqdump_Common_Preamble_Send_One_SW
412e beq MTX_MFSK_SymbolLoop
41c6 beq NO_IIR_FILTER
40a0 beq ZERO_DONE
49e2 bmi Neg_Sat
45a4 bne CAPT_FREQUENCY
45f3 bne DUMP_SAMPLES
4618 bne DUMP_SAMPLES_FIFO
457e bne LOOP_SAMPLES_FIFO_BLIND_DEMFRAC5WR
463c bne LOOP_SAMPLES_FIFO_SYNC_DEMFRAC5WR
44e2 bne MTX_Iqdump_Common_Preamble_Loop
4526 bne MTX_MFSK_ToneLoop
464c bne RFE_Started
4572 bne TEST_PATTERN_ADD_BLIND
4630 bne TEST_PATTERN_ADD_SYNC
46d1 bne _DBG_PRINT_WAIT
4eb3 bpl MRX_GenFSK_CommonEnd
4eb3 bpl MRX_GenFSK_CommonEnd
4eb3 bpl MRX_GenFSK_CommonEnd
4cc1 bpl MTX_Iqdump_Common_Preamble_ShortSyncWord
4de0 bpl Pos_Sat
2200 btst 0, r0
2200 btst 0, r0
2201 btst 0, r1
2201 btst 0, r1
2201 btst 0, r1
2201 btst 0, r1
2210 btst 1, r0
2210 btst 1, r0
22f0 btst 15, r0
2230 btst 3, r0
2263 btst 6, r3
2273 btst 7, r3
2200 btst MCEEVENT2_C1BE_A_POS_PEAK, r0
2200 btst MCEEVENT2_C1BE_A_POS_PEAK, r0
1e04 cmp 0, r4
1e04 cmp 0, r4
1e04 cmp 0, r4
1e09 cmp 0, r9
1e09 cmp 0, r9
1e0e cmp 0, r14
1e20 cmp 2, r0
1e22 cmp 2, r2
1e2e cmp 2, r14
1e3e cmp 3, r14
1c01 cmp r0, r1
1c03 cmp r0, r3
1c10 cmp r1, r0
1ca8 cmp r10, r8
1ca8 cmp r10, r8
1cd0 cmp r13, r0
1ce0 cmp r14, r0
1c4c cmp r4, r12
1c4c cmp r4, r12
1c4c cmp r4, r12
8990 input BRMACC0, r0
8980 input COUNT1RES, r0
8980 input COUNT1RES, r0
8982 input COUNT1RES, r2
8982 input COUNT1RES, r2
8984 input COUNT1RES, r4
8984 input COUNT1RES, r4
8440 input DEMC1BE0, r0
8af0 input DEMFIFE2,r0
8bf0 input DEMFRAC4, r0
8bf0 input DEMFRAC4, r0
8c00 input DEMFRAC5, r0
8c00 input DEMFRAC5, r0
8b54 input DEMLQIE0, r4
8ab2 input DEMPDIF0, r2
80b0 input MCEEVENT2, r0
80b0 input MCEEVENT2, r0
89f0 input MCETRCBUSY, r0
8162 input MDMAPI, r2
8170 input MDMCMDPAR0, r0
8170 input MDMCMDPAR0, r0
8170 input MDMCMDPAR0, r0
8173 input MDMCMDPAR0, r3
8184 input MDMCMDPAR1, r4
8184 input MDMCMDPAR1, r4
8184 input MDMCMDPAR1, r4
8190 input MDMCMDPAR2, r0
81d1 input MDMFIFORD, r1
8210 input MDMFIFOSTA, r0
8212 input MDMFIFOSTA, r2
8c90 input MDMSPAR1, r0
8ca1 input MDMSPAR2, r1
8ca1 input MDMSPAR2, r1
8ca1 input MDMSPAR2, r1
8ca1 input MDMSPAR2, r1
81b0 input MDMSTATUS, r0
81b1 input MDMSTATUS, r1
84a0 input MDMSYNC0, r0
84a0 input MDMSYNC0, r0
84a2 input MDMSYNC0, r2
84b0 input MDMSYNC1, r0
84b0 input MDMSYNC1, r0
84b0 input MDMSYNC1, r0
84b4 input MDMSYNC1, r4
84c0 input MDMSYNC2, r0
84c0 input MDMSYNC2, r0
84d0 input MDMSYNC3, r0
84d0 input MDMSYNC3, r0
84d0 input MDMSYNC3, r0
8630 input MODCTRL, r0
8240 input RFERCEV, r0
8230 input RFESEND, r0
89ce input VITACCCTRL, r14
6c01 jmp (r1)
607d jmp CMD_OK_END
607d jmp CMD_OK_END
607d jmp CMD_OK_END
607d jmp CMD_OK_END
607d jmp CMD_OK_END
6044 jmp CMD_PROC
6295 jmp GEN_FSK_CALC_DEMSWIMBAL
627e jmp GEN_FSK_DSBU_AVG_LEN_16_SYMBOLS
61c7 jmp HARD_DECISION
61c7 jmp HARD_DECISION
61c7 jmp HARD_DECISION
61fa jmp LOOP_SAMPLES
6148 jmp LOOP_SAMPLES_BLIND
6166 jmp LOOP_SAMPLES_FIFO_BLIND
6224 jmp LOOP_SAMPLES_FIFO_SYNC
6199 jmp LOOP_SAMPLES_TRANSPARENT_FIFO
6088 jmp MCFG_Entry
6088 jmp MCFG_Entry
6088 jmp MCFG_Entry
6088 jmp MCFG_Entry
6088 jmp MCFG_Entry
6088 jmp MCFG_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
6087 jmp MNOP_Entry
614e jmp MRX_Entry_FIFO_BLIND
614e jmp MRX_Entry_FIFO_BLIND
6200 jmp MRX_Entry_FIFO_SYNC
613e jmp MRX_Entry_REG_BLIND
61e4 jmp MRX_Entry_REG_SYNC
6186 jmp MRX_Entry_TRANSPARENT_FIFO
6244 jmp MRX_SETUP
6104 jmp MTX_Entry
6104 jmp MTX_Entry
6104 jmp MTX_Entry
6104 jmp MTX_Entry
6104 jmp MTX_Entry
60c9 jmp MTX_Iqdump_Common_Preamble_RFESEND
60c9 jmp MTX_Iqdump_Common_Preamble_RFESEND
6112 jmp MTX_MFSK
6030 jmp START_PROCESS
61ee jmp SYNC_SEARCH
6213 jmp SYNC_SEARCH_FIFO
65d0 jsr MDMFIFOWR_AND_WAIT10
65d0 jsr MDMFIFOWR_AND_WAIT10
65d0 jsr MDMFIFOWR_AND_WAIT10
65d0 jsr MDMFIFOWR_AND_WAIT10
66ca jsr MODCTRL_CLR
66ca jsr MODCTRL_CLR
6644 jsr MRX_SETUP
6644 jsr MRX_SETUP
6644 jsr MRX_SETUP
6644 jsr MRX_SETUP
6644 jsr MRX_SETUP
64a5 jsr MTX_Iqdump_Common_Preamble
64f5 jsr MTX_Iqdump_Termination
64f5 jsr MTX_Iqdump_Termination
65d9 jsr SignExt_and_Saturate
65d9 jsr SignExt_and_Saturate
65d9 jsr SignExt_and_Saturate
65d9 jsr SignExt_and_Saturate
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
66d0 jsr _DBG_PRINT
c080 lli "########################### Blind REGISTER MODE -> IQ Dump starting at once ########################"
c090 lli "########################### Blind RFC FIFO Mode -> IQ Dump starting at once (DataRate <= 12,5 kbps) ########################"
c0a0 lli "########################### Transparent FIFO Mode -> PDIFF streaming starting at once ########################"
c0b0 lli "########################### Transparent FIFO Mode Stop AGC ########################"
c0c0 lli "########################### IQ Dump REGISTER MODE, RX started, Wait for Sync ########################"
c0d0 lli "########################### Sync Found REGISTER MODE -> IQ Dump starting ########################"
c0e0 lli "########################### IQ Dump through RFC FIFO, RX started, Wait for Sync (DataRate <= 12.5 kbps) ########################"
c0f0 lli "########################### Sync Found RFC FIFO MODE-> IQ samples through FIFO starting ########################"
c100 lli "########################### RX Started ########################"
c110 lli "All bits received, MCE Ending"
c040 lli "IQDump___ NoFEC, TX Started"
c050 lli "IQDump___ Multi-level FSK TX Mode"
c030 lli "MCFG - IQ Dump Configuration"
c060 lli "Starting MFSK Symbol Loop"
c070 lli "Stopping MFSK Symbol Loop"
c000 lli 0x0, r0
c000 lli 0x0, r0
c030 lli 0x03, r0
c030 lli 0x03,r0
c040 lli 0x04, r0
c100 lli 0x10, r0
ffc0 lli 0x3FC, r0
c801 lli 0x80, r1
cd90 lli 0xD9, r0
c0b0 lli 11, r0
c0f3 lli 15, r3
c0f5 lli 15, r5
c100 lli 16, r0
c100 lli 16, r0
c020 lli 2, r0
c18b lli 24, r11
c18b lli 24, r11
c035 lli 3, r5
c035 lli 3, r5
c035 lli 3, r5
c035 lli 3, r5
c1f2 lli 31, r2
c200 lli 32, r0
c050 lli 5, r0
c050 lli 5, r0
c4f2 lli DEMFB2P0, r2
c0c1 lli MDMCONF_IQDUMP, r1
c2b2 lli MDMCONF_IQDUMP_FIRST_REG, r2
c4e0 lli MDMCONF_IQDUMP_LAST_REG, r0
c750 lli VITCTRL, r0
6f13 lmd (r1), r3
78a0 lmd CORR_DEFG_THR, r0
7842 lmd DEMC1BE0_MASKA_BITS, r2
7810 lmd DEMENABLE0_RX_IQDUMP, r0
7820 lmd DEMENABLE1_RX_IQDUMP, r0
7851 lmd IQDUMP_MASK_BITS_15_8, r1
7851 lmd IQDUMP_MASK_BITS_15_8, r1
787d lmd IQDUMP_MAX_POS_VAL, r13
787d lmd IQDUMP_MAX_POS_VAL, r13
788e lmd IQDUMP_MIN_NEG_VAL, r14
788e lmd IQDUMP_MIN_NEG_VAL, r14
786a lmd IQDUMP_TEST_MAX_VAL, r10
786a lmd IQDUMP_TEST_MAX_VAL, r10
789d lmd TRANSPARENT_CAPT, r13
78b0 lmd TX_TONE_COUNT, r0
7830 lmd VITACCCTRL_REG_DEFAULT,r0
69d2 loop LOOP_MDMFIFOWR
6960 loop LOOP_SAMPLES_FIFO_BLIND_WAIT
6a20 loop LOOP_SAMPLES_FIFO_SYNC_WAIT
6992 loop LOOP_SAMPLES_TRANSPARENT_FIFO_WAIT
688e loop MCFG_Iqdump_Loop
68bc loop MTX_Iqdump_Common_Preamble_SyncWord_ShiftLoop1
68c7 loop MTX_Iqdump_Common_Preamble_SyncWord_ShiftLoop2
689d loop ZERO_LOOP
1200 mov 0, r0
1202 mov 0, r2
1203 mov 0, r3
1204 mov 0, r4
1205 mov 0, r5
1208 mov 0, r8
1208 mov 0, r8
120c mov 0, r12
120c mov 0, r12
120c mov 0, r12
13f0 mov 0x1F, r0
13f3 mov 0x1F, r3
13f3 mov 0x1F, r3
1218 mov 1, r8
1218 mov 1, r8
1220 mov 2, r0
1210 mov CMD_OK, r0
1101 mov pc, r1
1000 mov r0, r0
1000 mov r0, r0
1000 mov r0, r0
1001 mov r0, r1
1001 mov r0, r1
1003 mov r0, r3
1013 mov r1, r3
1015 mov r1, r5
10a9 mov r10, r9
10a9 mov r10, r9
10a9 mov r10, r9
10a9 mov r10, r9
10d0 mov r13, r0
10e0 mov r14, r0
1020 mov r2, r0
1021 mov r2, r1
1026 mov r2, r6
1030 mov r3, r0
1056 mov r5, r6
1056 mov r5, r6
1056 mov r5, r6
1065 mov r6, r5
1065 mov r6, r5
1065 mov r6, r5
1080 mov r8, r0
1080 mov r8, r0
1090 mov r9, r0
1090 mov r9, r0
0000 nop
0000 nop
0000 nop
0004 or r0,r4
0010 or r1, r0
0012 or r1, r2
0020 or r2, r0
0020 or r2, r0
0042 or r4, r2
a230 outbclr 0, RFESEND
a235 outbclr 5, RFESEND
a35d outbclr DEMMISC2_MLSERUN,DEMMISC2
a4e5 outbclr DEMSWQU0_RUN, DEMSWQU0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d2 outbclr MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
a0d3 outbclr MCEEVENT0_FIFO_ERR_UNDERFLOW, MCEEVENTMSK0
a0d0 outbclr MCEEVENT0_MDMAPI_WR, MCEEVENTMSK0
a0d5 outbclr MCEEVENT0_RFECMD_IRQ, MCEEVENTMSK0
a0d1 outbclr MCEEVENT0_TIMER_IRQ, MCEEVENTMSK0
a0d1 outbclr MCEEVENT0_TIMER_IRQ, MCEEVENTMSK0
a0e1 outbclr MCEEVENT1_CLKEN_BAUD, MCEEVENTMSK1
a0e8 outbclr MCEEVENT1_RAT_EVENT0, MCEEVENTMSK1
a0e8 outbclr MCEEVENT1_RAT_EVENT0, MCEEVENTMSK1
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f0 outbclr MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
a0f3 outbclr MCEEVENT2_C1BE_B_POS_PEAK, MCEEVENTMSK2
a0f3 outbclr MCEEVENT2_C1BE_B_POS_PEAK, MCEEVENTMSK2
a0f3 outbclr MCEEVENT2_C1BE_B_POS_PEAK, MCEEVENTMSK2
a0f3 outbclr MCEEVENT2_C1BE_B_POS_PEAK, MCEEVENTMSK2
a0f3 outbclr MCEEVENT2_C1BE_B_POS_PEAK, MCEEVENTMSK2
a008 outbclr MDMENABLE_FB2PLL, MDMENABLE
a003 outbclr MDMENABLE_MODULATOR, MDMENABLE
a002 outbclr MDMENABLE_TIMEBASE, MDMENABLE
a630 outbclr MODCTRL_PREAMBLEINSERT, MODCTRL
a634 outbclr MODCTRL_SOFTTXENABLE, MODCTRL
b070 outbset 0, MCESTROBES0
b230 outbset 0,RFESEND
b230 outbset 0,RFESEND
b231 outbset 1, RFESEND
b231 outbset 1, RFESEND
b231 outbset 1, RFESEND
b235 outbset 5, RFESEND
b0d2 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
b0d2 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
b0d2 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
b0d2 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
b0d2 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTMSK0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b112 outbset MCEEVENT0_CLKEN_4BAUD, MCEEVENTCLR0
b118 outbset MCEEVENT0_CPEFWEVENT0, MCEEVENTCLR0
b0d3 outbset MCEEVENT0_FIFO_ERR_UNDERFLOW, MCEEVENTMSK0
b113 outbset MCEEVENT0_FIFO_ERR_UNDERFLOW, MCEEVENTCLR0
b0d0 outbset MCEEVENT0_MDMAPI_WR, MCEEVENTMSK0
b110 outbset MCEEVENT0_MDMAPI_WR, MCEEVENTCLR0
b0d5 outbset MCEEVENT0_RFECMD_IRQ, MCEEVENTMSK0
b115 outbset MCEEVENT0_RFECMD_IRQ, MCEEVENTCLR0
b0d1 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTMSK0
b0d1 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTMSK0
b111 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTCLR0
b111 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTCLR0
b111 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTCLR0
b111 outbset MCEEVENT0_TIMER_IRQ, MCEEVENTCLR0
b0e1 outbset MCEEVENT1_CLKEN_BAUD, MCEEVENTMSK1
b121 outbset MCEEVENT1_CLKEN_BAUD, MCEEVENTCLR1
b121 outbset MCEEVENT1_CLKEN_BAUD, MCEEVENTCLR1
b121 outbset MCEEVENT1_CLKEN_BAUD, MCEEVENTCLR1
b0e0 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTMSK1
b0e0 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTMSK1
b120 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTCLR1
b120 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTCLR1
b120 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTCLR1
b120 outbset MCEEVENT1_PREAMBLE_DONE, MCEEVENTCLR1
b0e8 outbset MCEEVENT1_RAT_EVENT0, MCEEVENTMSK1
b0e8 outbset MCEEVENT1_RAT_EVENT0, MCEEVENTMSK1
b128 outbset MCEEVENT1_RAT_EVENT0, MCEEVENTCLR1
b128 outbset MCEEVENT1_RAT_EVENT0, MCEEVENTCLR1
b0f0 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
b0f0 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTMSK2
b130 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTCLR2
b130 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTCLR2
b130 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTCLR2
b130 outbset MCEEVENT2_C1BE_A_POS_PEAK, MCEEVENTCLR2
b074 outbset MCESTROBES0_EVENT0, MCESTROBES0
b074 outbset MCESTROBES0_EVENT0, MCESTROBES0
b074 outbset MCESTROBES0_EVENT0, MCESTROBES0
b074 outbset MCESTROBES0_EVENT0, MCESTROBES0
b074 outbset MCESTROBES0_EVENT0, MCESTROBES0
b9e0 outbset MCETRCSEND_SEND, MCETRCSEND
b006 outbset MDMENABLE_ADCDIG, MDMENABLE
b004 outbset MDMENABLE_DEMODULATOR, MDMENABLE
b008 outbset MDMENABLE_FB2PLL, MDMENABLE
b003 outbset MDMENABLE_MODULATOR, MDMENABLE
b003 outbset MDMENABLE_MODULATOR, MDMENABLE
b002 outbset MDMENABLE_TIMEBASE, MDMENABLE
b002 outbset MDMENABLE_TIMEBASE, MDMENABLE
b002 outbset MDMENABLE_TIMEBASE, MDMENABLE
b016 outbset MDMINIT_ADCDIG, MDMINIT
b014 outbset MDMINIT_DEMODULATOR, MDMINIT
b013 outbset MDMINIT_MODULATOR, MDMINIT
b013 outbset MDMINIT_MODULATOR, MDMINIT
b012 outbset MDMINIT_TIMEBASE, MDMINIT
b012 outbset MDMINIT_TIMEBASE, MDMINIT
b012 outbset MDMINIT_TIMEBASE, MDMINIT
b63c outbset MODCTRL_CDC_COL_RESTART, MODCTRL
b633 outbset MODCTRL_FECENABLE, MODCTRL
b630 outbset MODCTRL_PREAMBLEINSERT, MODCTRL
b634 outbset MODCTRL_SOFTTXENABLE, MODCTRL
ba3c outbset RDCAPT0_DEMLQIE0, RDCAPT0
ba38 outbset RDCAPT0_DEMPDIF0, RDCAPT0
ba38 outbset RDCAPT0_DEMPDIF0, RDCAPT0
b910 outbset TIMCTRL_ENABLETIMER, TIMCTRL
7203 outclr DEMENABLE0
7204 outclr DEMENABLE1
720d outclr MCEEVENTMSK0
720e outclr MCEEVENTMSK1
720f outclr MCEEVENTMSK2
7210 outclr MCEEVENTMSK3
7206 outclr MDMENABLE_ADCDIG, MDMENABLE
7204 outclr MDMENABLE_DEMODULATOR, MDMENABLE
7202 outclr MDMENABLE_TIMEBASE, MDMENABLE
721e outclr MDMFIFOWRCTRL
721b outclr MDMSTATUS
7263 outclr MODCTRL
722c outclr MODPRECTRL
7223 outclr RFESEND
7223 outclr RFESEND
7291 outclr TIMCTRL
7291 outclr TIMCTRL
7291 outclr TIMCTRL
7291 outclr TIMCTRL
9010 output r0, MDMINIT
9030 output r0, DEMENABLE0
9040 output r0, DEMENABLE1
9050 output r0, DEMINIT0
9060 output r0, DEMINIT1
9170 output r0, MDMCMDPAR0
91b0 output r0, MDMSTATUS
91e0 output r0, MDMFIFOWRCTRL
91e0 output r0, MDMFIFOWRCTRL
91f0 output r0, MDMFIFORDCTRL
91f0 output r0, MDMFIFORDCTRL
92c0 output r0, MODPRECTRL
92f0 output r0, MODSOFTTX
9380 output r0, DEMDSBU
9440 output r0, DEMC1BE0
9480 output r0, DEMC1BE11
9490 output r0, DEMC1BE12
9590 output r0, DEMC1BEREF0
95a0 output r0, DEMC1BEREF1
95b0 output r0, DEMC1BEREF2
95c0 output r0, DEMC1BEREF3
9630 output r0, MODCTRL
9640 output r0, MODPREAMBLE
9910 output r0, TIMCTRL
9930 output r0, TIMPERIOD
9930 output r0, TIMPERIOD
9970 output r0, COUNT1IN
9970 output r0, COUNT1IN
9970 output r0, COUNT1IN
9970 output r0, COUNT1IN
9970 output r0, COUNT1IN
9970 output r0, COUNT1IN
9990 output r0, BRMACC0
9a00 output r0, MCETRCCMD
99c0 output r0,VITACCCTRL
91c1 output r1, MDMFIFOWR
92f1 output r1, MODSOFTTX
9a3d output r13, RDCAPT0
9642 output r2, MODPREAMBLE
9722 output r2, DEMSWIMBAL
6e23 output r3, (r2)
6e23 output r3, (r2)
92c3 output r3, MODPRECTRL
94e3 output r3, DEMSWQU0
91b4 output r4, MDMSTATUS
9644 output r4, MODPREAMBLE
92c5 output r5, MODPRECTRL
9b75 output r5, RDCAPT1
9b75 output r5, RDCAPT1
9b75 output r5, RDCAPT1
9b75 output r5, RDCAPT1
91c6 output r6, MDMFIFOWR
7303 outset DEMENABLE0
7304 outset DEMENABLE1
7305 outset DEMINIT0
7305 outset DEMINIT0
7306 outset DEMINIT1
7306 outset DEMINIT1
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7311 outset MCEEVENTCLR0
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7312 outset MCEEVENTCLR1
7313 outset MCEEVENTCLR2
7391 outset TIMCTRL
7391 outset TIMCTRL
7000 rts
7000 rts
7000 rts
7000 rts
7000 rts
7000 rts
7000 rts
7000 rts
7000 rts
3126 sl0 2, r6
3130 sl0 3, r0
3136 sl0 3, r6
3151 sl0 5, r1
3151 sl0 5, r1
3152 sl0 5, r2
3154 sl0 5, r4
3150 sl0 5,r0
3180 sl0 8, r0
3180 sl0 8, r0
3182 sl0 8, r2
3182 sl0 8, r2
3184 sl0 8, r4
3184 sl0 8, r4
3162 sl0 DEMC1BE0_MASKA, r2
3911 sr0 1, r1
3912 sr0 1, r2
3914 sr0 1, r4
3924 sr0 2, r4
3930 sr0 3,r0
3952 sr0 5, r2
3963 sr0 6, r3
3976 sr0 7, r6
3980 sr0 8, r0
3982 sr0 8, r2
3983 sr0 8, r3
3832 sr0 r3, r2
3834 sr0 r3, r4
3d16 srx 1, r6
3d26 srx 2, r6
3d30 srx 3, r0
3d36 srx 3, r6
3d80 srx 8, r0
3d82 srx 8, r2
1a10 sub 1, r0
1a10 sub 1, r0
1a13 sub 1, r3
1a15 sub 1, r5
1a19 sub 1, r9
1a19 sub 1, r9
1a42 sub 4, r2
1a44 sub 4, r4
1a80 sub 8, r0
1a80 sub 8, r0
1a82 sub 8, r2
1a84 sub 8, r4
1802 sub r0, r2
1803 sub r0, r3
1820 sub r2,r0
1820 sub r2,r0
1830 sub r3, r0
1832 sub r3, r2
1850 sub r5, r0
1856 sub r5,r6
1856 sub r5,r6
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait
7100 wait

3436
rf_patch_mce_iqdump.c Normal file

File diff suppressed because it is too large Load Diff

1105
text.asm Normal file

File diff suppressed because it is too large Load Diff

405
text.hex Normal file
View File

@ -0,0 +1,405 @@
# grouped by words, words are in msnyb..lsnyb notation
# jmp START_PROCESS
6030
# START OF LMD_DATA_SPACE
2fcf
3f9d 0001
003f ff00
0fff 07ff
f800 0300
8080 0006
# END OF LMD_DATA_SPACE
# START OF MDMCONF_IQDUMP
0003 0017
3d1f 0000
0000 0800
000f 0000
0387 0000
4074 0043
8000 0082
0080 06f0
0000 091e
0510 0054
0007 0000
5014 0050
0000 c02f
0c30 017f
0000 0000
0000 0000
0000 0000
aa00 0000
# END OF MDMCONF_IQDUMP
# start of code
# START_PROCESS
7223 66ca
a35d a4e5
7303 7305
7203 7304
7306 7204
7391 7291
b008 ffc0
9010 a008
720d 720e
720f 7210
# CMD_PROC (FALLTHRU)
b0d0 7100
b110 a0d0
721b 8162
1020 3952
0670 0020
1630 1101
1401 6c01
6087 6088
6104 613e
6087 6087
6087 6087
6087 6088
6104 61e4
6087 6087
6087 6087
6087 6088
6104 614e
6087 6087
6087 6087
6087 6088
6104 6200
6087 6087
6087 6087
6087 6088
6104 6186
6087 6087
6087 6087
6088 6112
614e
# CMD_PROC end
# CMD_OK_END
1210
# CPE_NOTIFY
7223 7311
7312 7313
81b1 0010
91b0 b070
6044
# MNOP_ENTRY
607d
# MCFG_ENTRY
c030 66d0
c0c1 c2b2
c4e0 1820
6f13 6e23
1611 1612
688e 7830
99c0 78a0
9480 9490
c4f2 c750
1820 40a0
1203 6e23
1612 689d
78b0 9990
7263 b63c
607d
# MTX_Iqdump_Common_Preamble
8190
9640 8170
3980 2a70
1001 1611
84a2 84b4
c0f3 c0f5
c200 1c01
40c9 c100
1c10 40bf
4cc1 1013
1803 1830
1a13 1a10
3912 68bc
60c9 13f3
60c9 13f3
1015 c100
1850 1a15
1a10 3914
68c7 b0e8
7100 b128
a0e8 b230
b910 8990
9930 b111
b0d1 7100
b002 b012
b111 a0d1
7291 b630
b003 b013
722c b0e0
7100 b120
8170 92c0
7100 b120
8170 22f0
44e2 13f0
1c03 40ee
92c3 9642
7100 b120
92c5 9644
7100 b120
b0e0 a630
7000
# MTX_Iqdump_Termination
a0e1
c030 9910
c040 9930
b111 b0d1
7100 b111
a0d1 7291
a003 a002
a230 7000
# MTX_Entry
7311 7312
c040 66d0
c100 91f0
64a5 b633
b113 b0d3
7100 a0d3
64f5 607d
# MTX_MFSK
7311 7312
c050 66d0
c030 91f0
b634 b0e8
7100 b128
a0e8 b230
b002 b012
b003 b013
1200 92f0
b121 b0e1
7100 b121
8210 0620
1e20 4526
c060 66d0
7100 b121
81d1 92f1
0000 0000
0000 8212
0622 1e22
412e c070
66d0 a634
64f5 607d
# MRX_Entry_REG_BLIND
a0d2 a0f0
a0f3 7311
7312 6644
c080 66d0
b0d2 c035
7100 9b75
ba38 b074
b112 6148
# MRX_Entry_FIFO_BLIND
a0d2 a0f0
a0f3 7311
7312 6644
c18b c000
91e0 120c
1218 786a
787d 788e
10a9 b074
b0d2 c050
b112 7100
6960 c090
66d0 c035
b112 7100
9b75 8bf0
65d9 8ca1
2201 4173
1080 1ca8
4572 1208
1618 65d0
8c00 65d9
8ca1 2201
417e 1090
1a19 1e09
457e 10a9
65d0 8184
1e04 4166
14bc 1c4c
4eb3 6166
# MRX_Entry_TRANSPARENT_FIFO
a0d2 a0f0
a0f3 7311
7312 6644
721e 120c
1205 b074
b0d2 c050
b112 7100
6992 c0a0
66d0 789d
89ce b112
7100 8c90
2200 41a4
8230 2210
45a4 b231
c0b0 66d0
9a3d 8ab2
3182 3d82
8af0 3180
3d80 1802
063e 1e0e
41c6 1e2e
41b8 1e3e
41bf 1056
1426 3d16
1065 61c7
1056 3126
1856 1426
3d26 1065
61c7 1056
3136 1856
1426 3d36
1065 61c7
1026 3976
91c6 8184
1e04 4199
161c 1c4c
4eb3 6199
# MDMFIFOWR_AND_WAIT10
1001 c0b0
91c1 3911
1000 1000
1000 69d2
7000
# SignExt_and_saturate
3130
3d30 1cd0
4de0 1ce0
49e2 7000
10d0 7000
10e0 7000
# MRX_Entry_REG_SYNC
c0c0 66d0
a0d2 a0f0
a0f3 7311
7312 6644
b130 b0f0
7100 80b0
2200 45f3
61ee b231
c0d0 66d0
b130 a0f0
b0d2 c035
7100 9b75
ba38 b074
b112 61fa
# MRX_Entry_FIFO_SYNC
c0e0 66d0
a0d2 a0f0
a0f3 7311
7312 6644
c18b c000
91e0 120c
1218 786a
787d 788e
10a9 b130
b0f0 7100
80b0 2200
4618 6213
b074 b231
c0f0 66d0
b130 a0f0
b0d2 c020
b112 7100
6a20 c035
b112 7100
9b75 8bf0
65d9 8ca1
2201 4231
1080 1ca8
4630 1208
1618 65d0
8c00 65d9
8ca1 2201
423c 1090
1a19 1e09
463c 10a9
65d0 8184
1e04 4224
14bc 1c4c
4eb3 6224
# MRX_SETUP
8240 2230
464c b0d5
7100 b115
a0d5 6244
# RFE_Started
c100 66d0
b118 b006
b016 b004
b014 b002
b012 8440
7842 0420
8173 3983
2a73 94e3
c1f2 1832
3162 1021
3151 0012
0020 9440
1030 1610
3930 2210
426a 1220
3150 1003
3180 1630
9380 1202
1204 2273
427c 84a0
9970 8982
1a82 84c0
9970 8984
1a84 627e
2263 4289
84b0 9970
8980 1a80
1402 84d0
9970 8980
1a80 1404
6295 84b0
7851 0410
9970 8982
1a42 84d0
7851 0410
9970 8984
1a44 3152
3154 3963
0633 1613
3832 3834
3182 3982
3184 0042
9722 84a0
9590 84b0
95a0 84c0
95b0 84d0
95c0 7810
9030 9050
7820 9040
9060 b235
cd90 9170
7000
# MRX_GenFSK_CommonEnd
a235
b112 7100
a0d2 b112
ba3c 81b0
8b54 3924
3184 0004
91b4 c110
66d0 7391
7291 66ca
7206 7202
7204 7305
7306 607d
# MODCTRL_CLR
8630 c801
3151 0410
9630 7000
# DBG_FUNC
9a00 89f0
2200 46d1
b9e0 7000