LCD decompile
This commit is contained in:
@@ -10,6 +10,7 @@
|
||||
; - The register field is H'FE80-H'FFFF; names below come from appendix B.
|
||||
; - @aa:8 short absolute operands use BR as the upper address byte.
|
||||
; - SCI baud inference uses section 14.2.8 BRR formulas when SMR/BRR are known.
|
||||
; - LCD inference treats E-clock H'F200/H'F201 accesses as status/control and data candidates.
|
||||
; - Pass --clock-hz to convert SCI BRR settings into numeric baud rates.
|
||||
; - Cycle counts use Appendix A tables A-7/A-8 for on-chip access with no external wait states.
|
||||
|
||||
@@ -223,6 +224,82 @@
|
||||
; mem_F10E H'F10E program_or_external memory r=0 w=1 width=byte
|
||||
; ... 206 more symbols omitted from listing header
|
||||
|
||||
; LCD/Text Scan
|
||||
; search 'CONNECT': not literal, hits=0
|
||||
; near: H'A025 'COMPLETED', H'8E79 'ON CONT1 OFF~X', H'8F55 'ON CONT2 OFF~X', H'94A9 'ON'
|
||||
; LCD text regions
|
||||
; region H'63D7-H'6758 count=15 'OPERATION', 'PAINT', 'OPERATION', 'IRIS/M.BLK'
|
||||
; region H'67E0-H'6831 count=2 'TLCS Xg', 'AGC GAIN AE Xh'
|
||||
; region H'6A4F-H'6C47 count=8 'AUTO FUNC XjO', 'A.IRIS MODE Xj', 'AI BACK.L~Xj', 'AUTO FUNC Xk='
|
||||
; region H'6F84-H'6FC0 count=2 'OTHERS Xo', 'SHUTTER Xo'
|
||||
; region H'7052-H'7477 count=15 'SET RCP', 'MASTER', 'OTHERS Xp', 'COPY TO SLAVES~Xp'
|
||||
; region H'757A-H'7824 count=14 'BARS TYPE Xuz', 'SMPTE Xu', 'SPLIT Xu', 'FULLFIELD 75% Xu'
|
||||
; region H'78B5-H'792F count=4 'OTHERS Xx', 'WHITE BLACK~Xx', 'COMM LINK ITEM-2Xx', 'FLARE Xy'
|
||||
; region H'819C-H'87A9 count=28 'SHADING X', 'WHITE~X', 'SHADING AUTO SETX', 'BLACK~X'
|
||||
; region H'883D-H'8959 count=7 'MATRIX X', 'STD FL~X', 'PRESET MATRIX X', 'H.SAT SPCL~X'
|
||||
; region H'8A0C-H'8BAC count=7 'MATRIX X', 'ON SKIN OFF~X', 'SAT HUE X', 'MATRIX X'
|
||||
; region H'8CB7-H'8CFD count=2 'FILTER X', '1 2 3 4 X'
|
||||
; region H'8E57-H'8EA7 count=3 'LENS X', 'ON CONT1 OFF~X', 'FOCUS ZOOM X'
|
||||
; ... 23 more LCD text regions
|
||||
; LCD text candidates
|
||||
; text H'41B0 len=35 medium '01020304050607080910111213141516X'
|
||||
; text H'5B55 len=10 high '0123456789'
|
||||
; text H'60F6 len=16 high '0123456789ABCDEF'
|
||||
; text H'63D7 len=10 high 'OPERATION' xrefs=1
|
||||
; text H'63F5 len=10 high 'PAINT' xrefs=1
|
||||
; text H'6443 len=10 high 'OPERATION' xrefs=1
|
||||
; text H'6461 len=10 high 'IRIS/M.BLK' xrefs=1
|
||||
; text H'6490 len=10 high 'OPERATION' xrefs=1
|
||||
; text H'64AE len=10 high 'LOCK' xrefs=1
|
||||
; text H'652F len=19 high 'DYNA LATITUDE Xe/' xrefs=1
|
||||
; text H'6551 len=18 medium 'HIGH LOW~XeP' xrefs=1
|
||||
; text H'65C9 len=18 medium 'BLACK STR Xe' xrefs=1
|
||||
; text H'6644 len=19 medium 'BLACK STR XfD' xrefs=1
|
||||
; text H'6665 len=19 medium 'STRETCH LEVEL Xfe' xrefs=1
|
||||
; text H'6683 len=18 high 'POINT1 POINT2Xf' xrefs=1
|
||||
; text H'6706 len=18 medium 'BLACK STR Xg' xrefs=1
|
||||
; text H'6727 len=19 medium "COMPRESS LEVEL Xg'" xrefs=1
|
||||
; text H'6745 len=19 high 'POINT1 POINT2XgE' xrefs=1
|
||||
; text H'67E0 len=18 medium 'TLCS Xg' xrefs=1
|
||||
; text H'681F len=18 medium 'AGC GAIN AE Xh' xrefs=1
|
||||
; text H'693B len=19 medium 'AUTO FUNC Xi;' xrefs=1
|
||||
; text H'6A4F len=19 medium 'AUTO FUNC XjO' xrefs=1
|
||||
; text H'6A8E len=18 medium 'A.IRIS MODE Xj' xrefs=1
|
||||
; text H'6AAD len=17 medium 'AI BACK.L~Xj' xrefs=1
|
||||
; text H'6B3D len=19 medium 'AUTO FUNC Xk=' xrefs=1
|
||||
; text H'6B5E len=19 medium 'AUTO FOCUS Xk^' xrefs=1
|
||||
; text H'6BEF len=18 medium 'DIAG Xk' xrefs=1
|
||||
; text H'6C16 len=18 medium 'DIAG DATA Xl' xrefs=1
|
||||
; text H'6C35 len=18 medium 'RESET REQ~Xl4' xrefs=1
|
||||
; text H'6F84 len=18 medium 'OTHERS Xo' xrefs=1
|
||||
; text H'6FAE len=18 medium 'SHUTTER Xo' xrefs=1
|
||||
; text H'7052 len=14 medium 'SET RCP' xrefs=1
|
||||
; text H'706F len=14 medium 'MASTER' xrefs=1
|
||||
; text H'709F len=18 medium 'OTHERS Xp' xrefs=1
|
||||
; text H'70C0 len=18 medium 'COPY TO SLAVES~Xp' xrefs=1
|
||||
; text H'7144 len=19 medium 'CAM ID SET~XqD' xrefs=1
|
||||
; text H'71C9 len=18 medium 'OTHERS Xq' xrefs=1
|
||||
; text H'71F9 len=18 medium 'CAM ID IND Xq' xrefs=1
|
||||
; text H'7213 len=18 medium 'TITLE IND Xr' xrefs=1
|
||||
; text H'72A5 len=18 medium 'OTHERS Xr' xrefs=1
|
||||
; text H'72C7 len=17 medium 'CAM BARS~Xr' xrefs=1
|
||||
; text H'72E4 len=18 medium 'CLOCK IND Xr' xrefs=1
|
||||
; text H'7369 len=19 medium 'OTHERS Xsi' xrefs=1
|
||||
; text H'7393 len=18 high 'CENTER MARKER Xs' xrefs=1
|
||||
; text H'7425 len=19 medium 'OTHERS Xt%' xrefs=1
|
||||
; text H'7464 len=19 medium 'SAFETY ZONE Xtd' xrefs=1
|
||||
; text H'757A len=19 medium 'BARS TYPE Xuz' xrefs=1
|
||||
; text H'75A4 len=18 medium 'SMPTE Xu' xrefs=1
|
||||
; ... 192 more LCD text candidates
|
||||
|
||||
; LCD Driver Candidates
|
||||
; H'F200 lcd_status_control status/control register inferred from busy polling and command writes
|
||||
; H'F201 lcd_data data register inferred from paired data reads/writes
|
||||
; LCD routines
|
||||
; routine H'3F40-H'3F74 lcd_wait_and_transfer lcd_command_or_address_write, lcd_data_read, lcd_data_write, lcd_status_read
|
||||
; LCD busy loops
|
||||
; loop H'3F4A->H'3F51 LCD busy-flag poll: read H'F200, test bit 7, branch until clear
|
||||
|
||||
; Timing Summary
|
||||
; Straight-line blocks
|
||||
; block H'1000-H'10CB vec_reset_1000 ins=42 cycles=371 unknown=0
|
||||
@@ -2135,23 +2212,23 @@ loc_3F40:
|
||||
3F46: 0C 06 00 48 ORC.W #H'0600, SR ; cycles=4
|
||||
|
||||
loc_3F4A:
|
||||
3F4A: 15 F2 00 00 80 MOVFPE.B @H'F200, R0 ; refs mem_F200 in program_or_external; cycles=13
|
||||
3F4F: A0 F7 BTST.B #7, R0 ; cycles=2
|
||||
3F51: 26 F7 BNE loc_3F4A ; cycles=3/8 nt/t
|
||||
3F4A: 15 F2 00 00 80 MOVFPE.B @H'F200, R0 ; LCD status read from E-clock H'F200; LCD busy-flag poll: read H'F200, test bit 7, branch until clear; refs mem_F200 in program_or_external; cycles=13
|
||||
3F4F: A0 F7 BTST.B #7, R0 ; LCD busy-flag poll: read H'F200, test bit 7, branch until clear; cycles=2
|
||||
3F51: 26 F7 BNE loc_3F4A ; LCD busy-flag poll: read H'F200, test bit 7, branch until clear; cycles=3/8 nt/t
|
||||
3F53: AC F8 BTST.W #8, R4 ; cycles=3
|
||||
3F55: 26 16 BNE loc_3F6D ; cycles=3/8 nt/t
|
||||
3F57: AC F9 BTST.W #9, R4 ; cycles=3
|
||||
3F59: 26 07 BNE loc_3F62 ; cycles=3/8 nt/t
|
||||
3F5B: 15 F2 00 00 94 MOVTPE.B R4, @H'F200 ; refs mem_F200 in program_or_external; cycles=13
|
||||
3F5B: 15 F2 00 00 94 MOVTPE.B R4, @H'F200 ; LCD command/address write to E-clock H'F200; refs mem_F200 in program_or_external; cycles=13
|
||||
3F60: 20 10 BRA loc_3F72 ; cycles=7
|
||||
|
||||
loc_3F62:
|
||||
3F62: 15 F2 01 00 94 MOVTPE.B R4, @H'F201 ; refs mem_F201 in program_or_external; cycles=13
|
||||
3F62: 15 F2 01 00 94 MOVTPE.B R4, @H'F201 ; LCD data write to E-clock H'F201; refs mem_F201 in program_or_external; cycles=13
|
||||
3F67: 1D FB 00 08 ADD:Q.W #1, @H'FB00 ; refs ram_FB00 in on_chip_ram; cycles=8
|
||||
3F6B: 20 05 BRA loc_3F72 ; cycles=8
|
||||
|
||||
loc_3F6D:
|
||||
3F6D: 15 F2 01 00 84 MOVFPE.B @H'F201, R4 ; refs mem_F201 in program_or_external; cycles=13
|
||||
3F6D: 15 F2 01 00 84 MOVFPE.B @H'F201, R4 ; LCD data read from E-clock H'F201; refs mem_F201 in program_or_external; cycles=13
|
||||
|
||||
loc_3F72:
|
||||
3F72: CF 88 LDC.W @R7+, SR ; cycles=7
|
||||
|
||||
Reference in New Issue
Block a user