EEC V file conversion

All hardware related, disassembly / programming and code discussions belong here.
tvrfan
Posts: 130
Joined: 2023 Oct 22, 22:13
Location: New Zealand
Vehicle Information: Several Kit cars, Ford (Europe), EEC-IV, TVR Vixen, Tasmin (a.k.a Wedge),
Engine - Cologne 2.8 V6 (Europe) catch code 'AA'.

EEC_Disassembler https://github.com/tvrfan/EEC-IV-disassembler

Re: EEC V file conversion

Unread post by tvrfan »

whilst checking that previous post, I came across this in eqe3, and thought it worth posting

Code: Select all

0210c: 09,0f,00           shlw  R0,f             R0 <<= f;
0210f: 09,03,00           shlw  R0,3             R0 <<= 3;
02112: 3a,0a,06           jb    B2,Ra,0211b      if (HSI_Ready = 0) {
02115: f3                 popp                   PSW = pop();
02116: f1                 reti                   return;

02117: f2                 pushp                  push(PSW);
02118: 32,0a,f1           jnb   B2,Ra,0210c      if (HSI_Ready = 0) goto 0210c; }
0211b: c9,91,26           push  2691             push(2691);
What does 0210c and 210f do ?? R0 and R1 are always zero. So it can't do anything.... What ???

....

....

It's a time waster... something in the hardware will need a defined amount of time to change state, and this is a way to build in a short delay. Looks like it's for HSI (high speed input).. You will also sometimes see a series of NOP (no operations),

while I am here - not sure if this is time waster or something for a specialist chip - does anyone know ??? (URAL bin)

Code: Select all

2236: ef,ea,4d            call  7023             Sub_7023 ();
2239: ef,0c,4e            call  7048             Sub_7048 ();
223c: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
2241: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
2246: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
224b: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
2250: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
2255: c3,01,00,1f,00      stw   R0,[R0+1f00]     [1f00] = 0;
.....
BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

lol. Just when I thought I was getting the hang of things….smack in the face. Good to stay grounded I guess. So…how would I define that address in the dir file?
Would it look like this...?

Code: Select all

SYM 00aa
BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

while I am here - not sure if this is time waster or something for a specialist chip - does anyone know ??? (URAL bin)
Thats funny, I have something similar in EQE3. Actually That shows up several times.

Code: Select all

  Sub_02691:
02691: f2                 pushp                  push(PSW);
02692: fa                 di                     interrupts OFF;
02693: f4                 regbk 0                
02694: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
02699: f4                 regbk 0                
0269a: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
0269f: f4                 regbk 0                
026a0: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
026a5: f4                 regbk 0                
026a6: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
026ab: f3                 popp                   PSW = pop();
026ac: f3                 popp                   PSW = pop();
026ad: f1                 reti                   return;

Code: Select all

Sub_824ee:
824ee: b1,0f,46           ldb   R46,f            TMP0L = f;
824f1: c7,01,ff,1f,46     stb   R46,[R0+1fff]    [11fff] = TMP0L;
824f6: f2                 pushp                  push(PSW);
824f7: fa                 di                     interrupts OFF;
824f8: f4                 regbk 0                
824f9: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
824fe: f4                 regbk 0                
824ff: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82504: f4                 regbk 0                
82505: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
8250a: f4                 regbk 0                
8250b: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82510: f4                 regbk 0                
82511: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82516: f4                 regbk 0                
82517: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
8251c: f4                 regbk 0                
8251d: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82522: f4                 regbk 0                
82523: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82528: f4                 regbk 0                
82529: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
8252e: f4                 regbk 0                
8252f: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82534: f4                 regbk 0                
82535: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
8253a: f4                 regbk 0                
8253b: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82540: f4                 regbk 0                
82541: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82546: f4                 regbk 0                
82547: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
8254c: f4                 regbk 0                
8254d: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82552: f4                 regbk 0                
82553: c3,01,00,1f,00     stw   R0,[R0+1f00]     [11f00] = 0;
82558: f3                 popp                   PSW = pop();
82559: 37,c1,1d           jnb   B7,Rc1,82579     if (ODU_UP_STATE = 1)  {
8255c: 32,9a,1a           jnb   B2,R9a,82579     if (UNDSP = 1)  {
8255f: a3,e2,8a,44        ldw   R44,[Re2+8a]     TMP9L = DLOAD_EXEC_KEY;
82563: 89,02,81,44        cmpw  R44,8102         
82567: d7,10              jne   82579            if (TMP9L = 8102)  {
82569: b3,e2,92,34        ldb   R34,[Re2+92]     TMP1L = SCP_DWNLD_ST;
8256d: 99,03,34           cmpb  R34,3            
82570: d3,07              jnc   82579            if (TMP1L >= 3)  {
82572: 91,80,80           orb   R80,80           B7_SCP_EXT_FG2 = 1;
82575: b1,e4,64           ldb   R64,e4           R64 = e4;
82578: f0                 ret                    return; } } } }

82579: 71,7f,80           an2b  R80,7f           B7_SCP_EXT_FG2 = 0;
8257c: b1,00,64           ldb   R64,0            R64 = 0;
8257f: f0                 ret                    return;
BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

And not sure if you or anyone else is interested, but here is the start of the spreadsheet, hopefully I can find a way to make it a bit nicer and work better, the more I progress with it. Again, I am horrible with excel.
Attachments
Dissasembly Comparison.ods
(35.05 KiB) Downloaded 477 times
tvrfan
Posts: 130
Joined: 2023 Oct 22, 22:13
Location: New Zealand
Vehicle Information: Several Kit cars, Ford (Europe), EEC-IV, TVR Vixen, Tasmin (a.k.a Wedge),
Engine - Cologne 2.8 V6 (Europe) catch code 'AA'.

EEC_Disassembler https://github.com/tvrfan/EEC-IV-disassembler

Re: EEC V file conversion

Unread post by tvrfan »

Syms have address as as printed, so

SYM 1aa "name" # no bank for registers 0-3ff

The registers are real, just accessed weirdly (as previous post).

Yes that 1f00 (single bank) or 11f00 (multibank) pops up in several bins. I thought it might be a special chip. But then only zero seems to get written so maybe it is a time waster...but its strange....
BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

So here is my "updated" spreadsheet and my latest dir and cmt files. I feel like they probably have a ton of errors in them, but I am trying to correct them as I go and do the best I can. Please let me know what you think? Thanks
Attachments
EQE3DIRCMT_COMPARESHEET.zip
(58.91 KiB) Downloaded 491 times
jsa
Posts: 450
Joined: 2021 Feb 16, 15:46
Location: Australia
Vehicle Information: 95 Escort RS Cosworth
2.0 YBP
CARD / QUIK / COSY / ANTI
GHAJ0
SMD-190 / SMD-490 EEC-IV

Binary Editor
ForDiag

Re: EEC V file conversion

Unread post by jsa »

...only if you are patient.
BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

jsa wrote: 2023 Dec 12, 04:52 ...only if you are patient.
Most definitely sir. Thank You!!

I am having issues getting sad to name most anything in an arg. I am adding the addresses in my dir file but they will not come out in the lst file labeled. Is there a special procedure to name an address in an arg that I may be missing? thanks
jsa
Posts: 450
Joined: 2021 Feb 16, 15:46
Location: Australia
Vehicle Information: 95 Escort RS Cosworth
2.0 YBP
CARD / QUIK / COSY / ANTI
GHAJ0
SMD-190 / SMD-490 EEC-IV

Binary Editor
ForDiag

Re: EEC V file conversion

Unread post by jsa »

BOOSTEDEVERYTHING
Posts: 437
Joined: 2023 Sep 06, 13:11
Location: Charlotte NC , USA
Vehicle Information: 1999 Ford Ranger with 2000 Explorer v8 swap, FLN0
2003 Ford F150 Harley Davidson, Built 5.4L SOHC with 3.4L Whipple and Built 4R100

Re: EEC V file conversion

Unread post by BOOSTEDEVERYTHING »

jsa wrote: 2023 Dec 13, 03:47 viewtopic.php?p=13169#p13169
For now SAD 4.07.16B names the arg, but 4.12 does not.
LST 4.07.16B
Sorry, I forgot about this part. Makes sense. If I were to use SAD 4.07.16B for the EQE3 bin, do you think it would work ok? I have been using 4.12 for EQE3 and 4.07.16B for RZASA. Or do you think it would cause issues? Thanks again
Post Reply