Interesting request

Submit feature suggestions for future versions of TunerPro here.

Moderators: Mangus, robertisaar, dex

Post Reply
JP86SS
Posts: 218
Joined: Thu Apr 22, 2004 5:49 pm
Location: Strongsville, Ohio
Contact:

Interesting request

Post by JP86SS »

I was creating a definition file and can not figure out how to get an address that is PRIOR to the code starting point.
I was going to setup memory address 0195, bit 4 in $8D and try to make the shift light work. This is a control word register.
All the addressing is referenced from the start of the code $8000.
Any thoughts?
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

I'm not sure I follow. The "actual" start of the binary data is at offset 0. So, all addressing in "reality" is referenced from 0, not $8000.

Am I missing something?
***************************************
TunerPro Author
1989 Trans Am
JP86SS
Posts: 218
Joined: Thu Apr 22, 2004 5:49 pm
Location: Strongsville, Ohio
Contact:

Post by JP86SS »

in my AUJP, using the Super8_dm2.ecu as a basis, the address of the "AFR OPT WORD 1 - Bit 0 - TCCR" is listed as address "0016"
this word in the actual bin is $8016.
All of my code constants etc begin at $8000 so in checking a bunch of them I see that they are all entered with the offset from the beginning of the code.
This may be because the EEPROM starts at $8000 when loaded.
I think I'm answering my own question again!

Just wondering now if and how (when emulating) could I change a "memory location" value? These are lower than $8000 for this mask.
Negative location address and work it backwards?
Opens up a whole nother door to messing with the ECM!
right now we only change values within the EEPROM image, the other locations could be mapped out as well and functions located to enable and disable on the fly.
Might help me figure out the I/O control on the 730 better...
Obviously it's something best done on a bench first.
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

One of us is confused. Saying that the word in the actual bin is $8016 is incorrect. The word in ECM *MEMORY* is $8016. In the actual bin it is at $16. $8D is only a 32 kilobyte chip, that is, data ends at offset $7FFF. $8016 > $7FFF.

That said, there is no way to play with the addresses in memory by modifying the bin short of writing ECM code to do so.
***************************************
TunerPro Author
1989 Trans Am
JP86SS
Posts: 218
Joined: Thu Apr 22, 2004 5:49 pm
Location: Strongsville, Ohio
Contact:

Post by JP86SS »

And I think we know which one of us that is :)
I believe I'm getting my "L"s and "$" mixed up. Hex still hurts my head!
What I "think" I'm looking at are the "memory" locations prior to B000.
These would NOT be part of the bin, but possibly accessible via emulation if the locations could be addressed.
I don't believe they can be.

Equate addresses:
; Low Area Memory in ECM - $0000 to $7FFF
;
; 512 Bytes RAM $0000 to $01FF
;
; $0000-$00FF Direct Page RAM
; $0000-$01C1 RAM Refreshed Variables
;
; $3FC0-$3FFA Computer Control Registers


Dreaming that computers can do anything...
(If only I could work them right!)
User avatar
Mangus
TunerPro Author
Posts: 1926
Joined: Wed Mar 19, 2003 1:49 pm

Post by Mangus »

There would be only two ways to access this RAM easily (and in realtime):

1) Socket the RAM and emulate the RAM too (very complex)
2) Write code int he bin to read/write RAM, perhaps via ALDL (also complex).

:-D

Computers can do anything. Its usually the programmer that is the limitation.
***************************************
TunerPro Author
1989 Trans Am
JP86SS
Posts: 218
Joined: Thu Apr 22, 2004 5:49 pm
Location: Strongsville, Ohio
Contact:

Post by JP86SS »

The solutions are not easy so it seems, so I'll keep chugging along.
The good thig is, I know I'm the limiting factor! :)

You're doing a great job, Keep up the good work!
Post Reply