DIY PROM Do It Yourself PROM chip burning help. No PROM begging. No PROMs for sale. No commercial exchange. Not a referral service.

$0D or $0D compatable custom code

Thread Tools
 
Search this Thread
 
Old Nov 17, 2025 | 11:05 PM
  #1  
tkelly278's Avatar
Thread Starter
Junior Member
10 Year Member
 
Joined: Jul 2014
Posts: 3
Likes: 0
$0D or $0D compatable custom code

Hi, I've been looking into $0D code and found a bit of a dead end as far as custom roms and definitions. Were there custom setups like SAUJP made for $0D or compatable masks? Is anyone still doing development for it or for compatible code? I found the annotated .asm files so it wouldn't be super difficult to make it do what I want it to, but why reinvent the wheel if someone else has made it easy to do?
Reply
Old Nov 18, 2025 | 09:56 AM
  #2  
Vanilla Ice's Avatar
Supreme Member
20 Year Member
 
Joined: Aug 2002
Posts: 1,150
Likes: 39
From: ARIZONA
Car: 92 Trans Am Conv
Engine: LB9
Transmission: T5
Axle/Gears: 3.08
Re: $0D or $0D compatable custom code

Originally Posted by tkelly278
Hi, I've been looking into $0D code and found a bit of a dead end as far as custom roms and definitions. Were there custom setups like SAUJP made for $0D or compatable masks? Is anyone still doing development for it or for compatible code? I found the annotated .asm files so it wouldn't be super difficult to make it do what I want it to, but why reinvent the wheel if someone else has made it easy to do?
What are you after?
Reply
Old Nov 22, 2025 | 01:01 PM
  #3  
tkelly278's Avatar
Thread Starter
Junior Member
10 Year Member
 
Joined: Jul 2014
Posts: 3
Likes: 0
Re: $0D or $0D compatable custom code

Just seeing what has been done. Higher RPM (50% higher would be a lot of headroom), 2/3bar map, and flex fuel would be cool. The $0D already has so much else going on!

I've seen some of what you've done for other masks, really amazing! I think was for other masks.

A long time ago I scaled low resolution RPM by half to run a 7727 (V6 unit I think?) on a bike motor. Scaled all the tables to halfway and had it driving in a stock-ish application when the person sold the bike motor. Obviously not to 13k on a GM V6 haha.
Reply
Old Nov 22, 2025 | 02:46 PM
  #4  
Vanilla Ice's Avatar
Supreme Member
20 Year Member
 
Joined: Aug 2002
Posts: 1,150
Likes: 39
From: ARIZONA
Car: 92 Trans Am Conv
Engine: LB9
Transmission: T5
Axle/Gears: 3.08
Re: $0D or $0D compatable custom code

Those are some ambitious projects to have done.

RPM may be difficult or impossible, I have never looked at $0D.
MAP sensor work could be ported from saujp or I can hand over my version to test/port.
I’m running flex fuel code now but I’m still testing a feature (self learning).

I cant even get a single tester to line up for anything I did, it’s all me. Your best bet is to learn it yourself like I did. It won’t take long to port my work or saujp over once you know the how.
Reply
Old Nov 28, 2025 | 07:38 PM
  #5  
tkelly278's Avatar
Thread Starter
Junior Member
10 Year Member
 
Joined: Jul 2014
Posts: 3
Likes: 0
Re: $0D or $0D compatable custom code



Would your code run on a 7727? I've got a whole bunch of them. I think i was running SAUJP on a 7727 when doing the RPM stuff. I can run it on a stim, or maybe an Arduino.

I think it was SAUJP on a 7727 with the high RPM code. There's the high and low resolution RPM. You can keep the high resolution divider the same and change the low resolution scaler. The max RPM is defined by by the low resolution scaler. I doubled (or halved) the scaler so every time it went to the ram to find the low resolution RPM number it was getting half the value it would otherwise. $0D has the same setup. I started by switching between 4, 6, and 8 cylinders while stimming at 5000RPM, logging, and emulating.L0061 EQU $0061 ;Scaled RPMs, 0-2400 in 12.5 rpm inc., 2400-4800 in 25 rpm inc.

L083D EQU $083D ;MSB, stored RPM/25
L083E EQU $083E ;LSB, stored RPM/25 ;~~~~~~~~~~~~~~~~~
; Calculate RPMs
;~~~~~~~~~~~~~~~~~
;
;-RPM = (25 x 256 x 307)/(2 x (# cyl/8) x DRP)
;
;-DRP = (65536 x 120) / (RPM x # cyl)
;
LA6BB LDD L3FC0 ;DRP counter
STD L005F ;Stored DRP value
STD L020B ;Stored DRP value
;
LDX #L005F ;Stored DRP
LDAA L4142 ;# of cylinders
LDAB #32 ;mult.
MUL ;32 x # of cylinders
TBA ;Get LSB into A (/256), now # of cylinders relative to V8
BEQ LA6D4 ;Bra if ==0, no cylindr count set
;
JSR LF1ED ;(A x X*)/256, # of cylinders x DRP
;
STD L005F ;Save result
;
LA6D4 LDD L005F ;Load result,DRPs
ASLD ;x2
XGDX ;Get result into X, denominator
LDD #307 ;Numerator
FDIV ;Fract. divide
XGDX ;Get result into D
STD L083D ;Save calculated RPMs

Holy cow, I was looking at it for hours trying to remember.

If you change
(25 x 256 x 307)/(2 x (8/8) x 154)

to

(25 x 256 x 203)/(2 x (8/8) x 154)

a DRP of 154, 6400RPM, 0xFF, will be stored as 4218RPM, 0xAA.

Looks like RBob is suggesting just make a new calc from DRP variable and 9k is measurable.

https://www.thirdgen.org/forums/diy-...m_content=post
Reply
Old Nov 28, 2025 | 09:01 PM
  #6  
Vanilla Ice's Avatar
Supreme Member
20 Year Member
 
Joined: Aug 2002
Posts: 1,150
Likes: 39
From: ARIZONA
Car: 92 Trans Am Conv
Engine: LB9
Transmission: T5
Axle/Gears: 3.08
Re: $0D or $0D compatable custom code

Originally Posted by tkelly278


Would your code run on a 7727? I've got a whole bunch of them. I think i was running SAUJP on a 7727 when doing the RPM stuff. I can run it on a stim, or maybe an Arduino.

I think it was SAUJP on a 7727 with the high RPM code. There's the high and low resolution RPM. You can keep the high resolution divider the same and change the low resolution scaler. The max RPM is defined by by the low resolution scaler. I doubled (or halved) the scaler so every time it went to the ram to find the low resolution RPM number it was getting half the value it would otherwise. $0D has the same setup. I started by switching between 4, 6, and 8 cylinders while stimming at 5000RPM, logging, and emulating.L0061 EQU $0061 ;Scaled RPMs, 0-2400 in 12.5 rpm inc., 2400-4800 in 25 rpm inc.

L083D EQU $083D ;MSB, stored RPM/25
L083E EQU $083E ;LSB, stored RPM/25 ;~~~~~~~~~~~~~~~~~
; Calculate RPMs
;~~~~~~~~~~~~~~~~~
;
;-RPM = (25 x 256 x 307)/(2 x (# cyl/8) x DRP)
;
;-DRP = (65536 x 120) / (RPM x # cyl)
;
LA6BB LDD L3FC0 ;DRP counter
STD L005F ;Stored DRP value
STD L020B ;Stored DRP value
;
LDX #L005F ;Stored DRP
LDAA L4142 ;# of cylinders
LDAB #32 ;mult.
MUL ;32 x # of cylinders
TBA ;Get LSB into A (/256), now # of cylinders relative to V8
BEQ LA6D4 ;Bra if ==0, no cylindr count set
;
JSR LF1ED ;(A x X*)/256, # of cylinders x DRP
;
STD L005F ;Save result
;
LA6D4 LDD L005F ;Load result,DRPs
ASLD ;x2
XGDX ;Get result into X, denominator
LDD #307 ;Numerator
FDIV ;Fract. divide
XGDX ;Get result into D
STD L083D ;Save calculated RPMs

Holy cow, I was looking at it for hours trying to remember.

If you change
(25 x 256 x 307)/(2 x (8/8) x 154)

to

(25 x 256 x 203)/(2 x (8/8) x 154)

a DRP of 154, 6400RPM, 0xFF, will be stored as 4218RPM, 0xAA.

Looks like RBob is suggesting just make a new calc from DRP variable and 9k is measurable.

https://www.thirdgen.org/forums/diy-...m_content=post

saujp is. $8d. My code is $8d. If you can run that you can attempt to run mine.

I have no investment in extra RPM so that still needs to be done by somebody.
I wrote up 3 different versions of 2bar map work but never had a tester and lost interest. I’m not sure how much was finalized before I gave up from no testing done.

but flex fuel is running in my car now. Preliminary testing is complete. Now it’s up to anybody wanting to run and scan and try their own setups to find any issues if any.
Reply
Related Topics
Thread
Thread Starter
Forum
Replies
Last Post
BIG 'G'
DIY PROM
1
Feb 8, 2013 08:04 AM
88 350 tpi formula
DIY PROM
1
Jun 1, 2012 08:47 PM
SatisTraction
TPI
2
Oct 17, 2007 06:01 PM
Vikingbrew
Tech / General Engine
1
Mar 10, 2002 09:52 PM




All times are GMT -5. The time now is 08:20 PM.