Looking for DME BIN files

Talk and Tech about turbocharged 924/944/968 cars
User avatar
Tom
Site Admin
Posts: 8580
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 893 times
Been thanked: 3854 times
Contact:
Dave W. wrote: Wed Sep 03, 2025 5:11 pm
johnb wrote: Wed Sep 03, 2025 1:42 pm
Tom wrote: Wed Sep 03, 2025 1:10 pm Success!! You guys are awesome. Thank you, thank you! The string of four 14's starting at 0x5F5 did the trick! I was able to take the idle up to whatever I wanted by increasing those 14's. I'll try changing it with temps too once the engine cools down, and suspect that'll work too. I'm doing my own XDF and will post it here on CP when done, so this will be a great addition! Seriously appreciate the assist, and for what it's worth, you guys are way smarter than ChatGPT. ;)

Now back to finding a test car john's KLR chip. :)
That's interesting...does you car still have the altimeter? Maybe yours is the normal one and Dave W is at high altitude?
I think I'm closer to sea level than Tom. It's possible APE changed their code to save space?
From my notes, the altitude on/off switch is stored at memory address 14.
RPM is 37
Load is 49
air temp is 12
coolant temp is 13
battery volts -11
AFM Delta -03
TPS - 16
FQS - 17

I just realized that if anyone is going to raise their idle RPM significantly, they might need to also raise the idle fuel cutoff RPM so it doesn't cut fuel if the rpm surges a little. FR Wilk also liked to raise this section to reduce the bucking/surging sensation when decelerating in gear. There's no hysteresis in the code, so the engine can instantly cut or restore fuel/idle mode with no delay when the RPM crosses this point, leading to a rapid on/off jerkiness. I raised the values by 80 rpm and noticed an improvement, IIRC FR Wilk used a much higher RPM around 1700.
Here's the header info;
13 05 * 6C 19 1F 1D 31 followed by 5 rpm values. The RPM conversion is still the same, just multiply by 40. The coolant temps convert to: -23 106 136 174 208
Happy Hunting!
I'd think it was an APE thing but for the fact that I have my own 24-pin APE image that I put into my 8k chip image and those 3 idle locations that worked for you did not work for me, even with the APE image. Quite possible it's a different APE image than you are using though. If you wanted to send me your BIN, I could see if those same 3 locations still work on my car. That would tell us if the difference is in the chip image or something acting on the chip.

I'm curious how you are using a 24-pin image with the Ostrich? Do you have their chip booster thingie?

#111

Dave W.
Posts: 104
Joined: Thu Nov 11, 2021 6:32 pm
Has thanked: 4 times
Been thanked: 22 times
Tom wrote: Wed Sep 03, 2025 5:52 pm
Dave W. wrote: Wed Sep 03, 2025 5:11 pm
johnb wrote: Wed Sep 03, 2025 1:42 pm

That's interesting...does you car still have the altimeter? Maybe yours is the normal one and Dave W is at high altitude?
I think I'm closer to sea level than Tom. It's possible APE changed their code to save space?
From my notes, the altitude on/off switch is stored at memory address 14.
RPM is 37
Load is 49
air temp is 12
coolant temp is 13
battery volts -11
AFM Delta -03
TPS - 16
FQS - 17

I just realized that if anyone is going to raise their idle RPM significantly, they might need to also raise the idle fuel cutoff RPM so it doesn't cut fuel if the rpm surges a little. FR Wilk also liked to raise this section to reduce the bucking/surging sensation when decelerating in gear. There's no hysteresis in the code, so the engine can instantly cut or restore fuel/idle mode with no delay when the RPM crosses this point, leading to a rapid on/off jerkiness. I raised the values by 80 rpm and noticed an improvement, IIRC FR Wilk used a much higher RPM around 1700.
Here's the header info;
13 05 * 6C 19 1F 1D 31 followed by 5 rpm values. The RPM conversion is still the same, just multiply by 40. The coolant temps convert to: -23 106 136 174 208
Happy Hunting!
I'd think it was an APE thing but for the fact that I have my own 24-pin APE image that I put into my 8k chip image and those 3 idle locations that worked for you did not work for me, even with the APE image. Quite possible it's a different APE image than you are using though. If you wanted to send me your BIN, I could see if those same 3 locations still work on my car. That would tell us if the difference is in the chip image or something acting on the chip.

I'm curious how you are using a 24-pin image with the Ostrich? Do you have their chip booster thingie?
I converted the DME to 28 pin. There's not much to it, I just added 4 pins and jumpered power and ground to the pins on the end. Then I uploaded the 24pin APE image to the Ostrich and changed the starting offset.

#112

User avatar
Tom
Site Admin
Posts: 8580
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 893 times
Been thanked: 3854 times
Contact:
Dave W. wrote: Wed Sep 03, 2025 6:00 pm
Tom wrote: Wed Sep 03, 2025 5:52 pm
Dave W. wrote: Wed Sep 03, 2025 5:11 pm

I think I'm closer to sea level than Tom. It's possible APE changed their code to save space?
From my notes, the altitude on/off switch is stored at memory address 14.
RPM is 37
Load is 49
air temp is 12
coolant temp is 13
battery volts -11
AFM Delta -03
TPS - 16
FQS - 17

I just realized that if anyone is going to raise their idle RPM significantly, they might need to also raise the idle fuel cutoff RPM so it doesn't cut fuel if the rpm surges a little. FR Wilk also liked to raise this section to reduce the bucking/surging sensation when decelerating in gear. There's no hysteresis in the code, so the engine can instantly cut or restore fuel/idle mode with no delay when the RPM crosses this point, leading to a rapid on/off jerkiness. I raised the values by 80 rpm and noticed an improvement, IIRC FR Wilk used a much higher RPM around 1700.
Here's the header info;
13 05 * 6C 19 1F 1D 31 followed by 5 rpm values. The RPM conversion is still the same, just multiply by 40. The coolant temps convert to: -23 106 136 174 208
Happy Hunting!
I'd think it was an APE thing but for the fact that I have my own 24-pin APE image that I put into my 8k chip image and those 3 idle locations that worked for you did not work for me, even with the APE image. Quite possible it's a different APE image than you are using though. If you wanted to send me your BIN, I could see if those same 3 locations still work on my car. That would tell us if the difference is in the chip image or something acting on the chip.

I'm curious how you are using a 24-pin image with the Ostrich? Do you have their chip booster thingie?
I converted the DME to 28 pin. There's not much to it, I just added 4 pins and jumpered power and ground to the pins on the end. Then I uploaded the 24pin APE image to the Ostrich and changed the starting offset.
So did you leave the jumper open on the DME board, such that the DME is still running off the 8051's internal ROM?

#113

Dave W.
Posts: 104
Joined: Thu Nov 11, 2021 6:32 pm
Has thanked: 4 times
Been thanked: 22 times
Tom wrote: Wed Sep 03, 2025 6:16 pm
Dave W. wrote: Wed Sep 03, 2025 6:00 pm
Tom wrote: Wed Sep 03, 2025 5:52 pm

I'd think it was an APE thing but for the fact that I have my own 24-pin APE image that I put into my 8k chip image and those 3 idle locations that worked for you did not work for me, even with the APE image. Quite possible it's a different APE image than you are using though. If you wanted to send me your BIN, I could see if those same 3 locations still work on my car. That would tell us if the difference is in the chip image or something acting on the chip.

I'm curious how you are using a 24-pin image with the Ostrich? Do you have their chip booster thingie?
I converted the DME to 28 pin. There's not much to it, I just added 4 pins and jumpered power and ground to the pins on the end. Then I uploaded the 24pin APE image to the Ostrich and changed the starting offset.
So did you leave the jumper open on the DME board, such that the DME is still running off the 8051's internal ROM?
I did the conversion over ten years ago, but I think I left the board jumper open since I'm using a 24 pin code base. It's a bit of a Frankenstein setup.

#114

User avatar
Tom
Site Admin
Posts: 8580
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 893 times
Been thanked: 3854 times
Contact:
Dave W. wrote: Wed Sep 03, 2025 6:24 pm
Tom wrote: Wed Sep 03, 2025 6:16 pm
Dave W. wrote: Wed Sep 03, 2025 6:00 pm

I converted the DME to 28 pin. There's not much to it, I just added 4 pins and jumpered power and ground to the pins on the end. Then I uploaded the 24pin APE image to the Ostrich and changed the starting offset.
So did you leave the jumper open on the DME board, such that the DME is still running off the 8051's internal ROM?
I did the conversion over ten years ago, but I think I left the board jumper open since I'm using a 24 pin code base. It's a bit of a Frankenstein setup.
How funny. I named my 8k image with 4k APE image on top, Frankenchip.BIN....

#115

User avatar
johnb
Posts: 314
Joined: Thu Jul 08, 2021 5:57 am
Has thanked: 108 times
Been thanked: 76 times
I'm pretty sure that Rogue's map is just not an rpm map. Yes it's an NTC lookup and the values look like plausible rpm values, especially with the map interpolation. But when that map is used in the code, the value that's read out is being compared to 49h (load):

Screenshot_2025-09-03_21-10-15.png
Screenshot_2025-09-03_21-10-15.png (29.62 KiB) Viewed 220 times

That

Code: Select all

select_alternate_map
is where the code plug is checked, and one of the maps from 87 to 90 is selected. Now 87 and 89 point to the same map so there are really only 3, and the one from Rogue's XDF file is 87/89.

They apparently do have something to do with idle speed, but I don't know how. My best guess is that there's a kind of nested control going on. In other words, rpm is controlled by allowing the ISV to vary the load, but then idle load is also controlled to a target value too. Obviously that would tend to move the rpm. But I have heard it said before that idle rpm is controlled by spark timing too. I can see it's definitely controlled by the ISV in the code, but it could be that the ISV is coarse control, and limited to values that keep the load within an acceptable range. If more control is needed to get the idle speed on target then maybe timing is used. The only reason I can think of for that would have something to do with emissions.

I'll figure it out eventually lol.

The altitude thing, probably a red herring, sorry! The map selection that determines whether Tom's map or Dave W.'s map gets used depends on an ADC value that's described as "channel 5" in the code (in the opendme comments) and from the ADC channel info I have, 5 is "ground" which wouldn't make any sense so I thought they were counting from 1 instead of 0, which would make altitude channel 5.

But on closer inspection, they're counting from 0 so that's probably not it. I'll take a look at the ADC routine and schematic and see if I can figure out where that value comes from.

#116

User avatar
Tom
Site Admin
Posts: 8580
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 893 times
Been thanked: 3854 times
Contact:
Any chance channel 5 is a/c?

#117

User avatar
johnb
Posts: 314
Joined: Thu Jul 08, 2021 5:57 am
Has thanked: 108 times
Been thanked: 76 times
Tom wrote: Wed Sep 03, 2025 7:00 pm Any chance channel 5 is a/c?
Nope, I believe that goes directly to the uC. I'm looking at a DME on my table right now and channel 5 (pin 3) is seeing 4.4v.

Looking at the schematic, this ADC pin is connected to a voltage divider with a permanent 5v on one side and DME connector pin 28 on the other side (which is listed as ground).

So it looks like it'll just see 4.4v all the time on every car :?: I'm stumped. Why hook an ADC channel up to a fixed supply and then do stuff in the code with that value?

#118

User avatar
Tom
Site Admin
Posts: 8580
Joined: Fri Jun 25, 2021 2:04 pm
Location: Silicon Valley, CA
Has thanked: 893 times
Been thanked: 3854 times
Contact:
johnb wrote: Wed Sep 03, 2025 7:36 pm
Tom wrote: Wed Sep 03, 2025 7:00 pm Any chance channel 5 is a/c?
Nope, I believe that goes directly to the uC. I'm looking at a DME on my table right now and channel 5 (pin 3) is seeing 4.4v.

Looking at the schematic, this ADC pin is connected to a voltage divider with a permanent 5v on one side and DME connector pin 28 on the other side (which is listed as ground).

So it looks like it'll just see 4.4v all the time on every car :?: I'm stumped. Why hook an ADC channel up to a fixed supply and then do stuff in the code with that value?
Is it a regulated voltage supply, or maybe some kind of low voltage trigger?

#119

User avatar
johnb
Posts: 314
Joined: Thu Jul 08, 2021 5:57 am
Has thanked: 108 times
Been thanked: 76 times
Yes it comes from the same 5v source that's used for the ADC vref. There's a dedicated ADC channel for battery voltage (which it needs for things like dwell time etc.)

#120

Post Reply