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

Source code for dummies....Ask questions here!

Old 06-13-2004, 01:07 PM
  #1  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Source code for dummies....Ask questions here!

I'd like to start gathering some source code notes, and share them as I gather them. I thought this would be a good place to do it. As long as the MOD's approve, and we keep this on topic, it will be an invaluable thread. I will be glad to add what very little I know whenever I can.

I'm sure there are others that are serious about learning this, but like me, don't have all that much time in a day to work with it, and I think that sharing questions, and thoughts here will be very helpful.

If possible, I'd POSSIBLY like to compile some of this into a tech article, and have stuff put into plain english. I know that it will be impossible to make it understandable to the point that everybody can understand it, but for those of us that do have an idea of what's going on, just not a complete understanding of the instructions, etc.... I think this will be a big help.

I'd like to start with the first question:

I'm going through some old carb ECM disassemblies right now (since that's what's still on my car). I see several places that there's a comment that say "FCB $06 ;xxxx LSB", then on the next line the same "FCB $40 ;xxxx MSB". I take that to mean that these are 8-bit bytes? If so, are they the same thing as a double byte? In other words, could it have been "FDB $0640 ;xxxx"?
Old 07-05-2004, 09:40 PM
  #2  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Nobody else has any source code questions? Well, as I get back into trying to follow things, I plan to post more questions in this thread, and I hope that some people will be willing to help.

Keep in mind, I'm not wanting to tear apart a mask here, just get some general info of how the assembly code falls together, what some of the instructions do, and that sort of thing to make it easier to understand how the ECM does things.
Old 07-06-2004, 01:12 AM
  #3  
TGO Supporter

 
Mangus's Avatar
 
Join Date: Jan 2000
Location: In your ear. No, the other one.
Posts: 1,861
Likes: 0
Received 0 Likes on 0 Posts
Car: '89 Trans Am WS6
Engine: 350 TPI
Transmission: T5WC
Axle/Gears: 3.08 posi
To answer the question at the end of your original post, many times you'll see two FCBs (single bytes) one after the other (specifically when dumping RAM to a datastream such as the ALDL port) labeled MSB and LSB (most-significant byte and least-significant byte) . When you see this, it typically means that the two bytes will be combined to form a 16 bit (two byte) number.

MSB, or most-significant byte (and sometimes most-significant bit), means, essentially, the portion of the number that holds the most value.

For instance, in the number 23, the most-significant digit is 2 (as it represents the number 20s in this example). The least-significant is 3.

So in your example, the two bytes combine to make $0640. If they were used together (or, better said, accessed together) than they would be FDB. However, since you normally see this in areas of memory that are dumped (or reference [point to] memory that is dumped) to a data stream which can only be represented a byte at a time, you see them separated.
Old 07-06-2004, 06:26 AM
  #4  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Re: Source code for dummies....Ask questions here!

Originally posted by JP84Z430HP
I'd like to start gathering some source code notes, and share them as I gather them.
My best suggestion, is just grabbing a copy of the Source Code for the 58/60 that's on the net.
Then an assemblier.
Get to where you can assemble that. Might try entering all the same specs as one of the syclone calibrations.

Then once you have a rock solid foundation, try manipulating, or further understanding that, .asm. There's a million little details that change from even one assemblier to another. So you first need a collection of tools that you know work, and Ground Zero.

You'll also need a copy of the Motorola Pink Book.

Then once you've gotten to master the one mask, you can go from there. Then find a target mask, a disassembly, and going for it from there.

In reading thru the 60 Source code lots of items get obvious.

Like Prom burning, ya kinda gotta jump in there, go slow, and pay attention to details.

Least that's the path I'm taking. YMMV
Old 07-06-2004, 08:06 AM
  #5  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Thanks for the clarification Mangus, that's the way I thought it was.

Also, thanks for the copy of $60 Grumpy. I'm learning from it already, and I've only spent less than an hour with it!

I'm sure I'll have more questions as I go though!
Old 07-06-2004, 10:04 AM
  #6  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
My first disassembling experiences

“How to disassemble four dummies” (I am a dummy, so just for me level)

Well I found my way via the NET.

You need to download a dissembler, use this link: http://www.dewtronics.com/m6811dis.html
You download also the AS6811N assembler ( I think we need it later), use this link: http://www.dewtronics.com/cgi-bin/asxxxx.pl


Download the DOS 16-BIT Version 1.0 (tick the “Automotive”)

You get the zip file “m6811dis.zip” after you extract the files you need to read the “M6811DIS.doc”

There you can find instructions how to make a “CONTROL FILE” very important file.

Part 1 (How to get at the DOS prom)
Assume you have windows XP you go to “run” and type “cmd” and you get the black box (DOS box) with the next [C:\documents and settings\]
At this point you type “cd..” and you are now on [C:\>] (don’t forget to type the dots)

Part 2 (How to get to the dissembler)
Assume you have unzipped the file that you have downloaded at the drive “C:”
So you are under the black box and you see [C:\>] at that level you type “cd m6811dis”
You are now at [C:\m6811dis>]
Keep the black box open and go back to windows.

Part 3 (How to make a “Control File”)
You are in windows, start “Notepad” and you do a copy and paste from the next text:
Code:
; This control file is called APYP.txt
;

input   APYP.bin       ;this is the binary input file
output  APYP.DIS       ;this is the disassembly source/listing file

load C000

addresses

label ffd6 scivect
label ffd8 spivect
label ffda paievect
label ffdc paovect
label ffde tovfvect
label ffe0 ti4o5vect
label ffe2 to4vect
label ffe4 to3vect
label ffe6 to2vect
label ffe8 to1vect
label ffea ti3vect
label ffec ti2vect
label ffee ti1vect
label fff0 rtivect
label fff2 irqvect
label fff4 xirqvect
label fff6 swivect
label fff8 ilopvect
label fffa copvect
label fffc cmonvect
label fffe rstvect

indirect ffd6 scirtn
indirect ffd8 spirtn
indirect ffda paiertn
indirect ffdc paortn
indirect ffde tovfrtn
indirect ffe0 ti4o5rtn
indirect ffe2 to4rtn
indirect ffe4 to3rtn
indirect ffe6 to2rtn
indirect ffe8 to1rtn
indirect ffea ti3rtn
indirect ffec ti2rtn
indirect ffee ti1rtn
indirect fff0 rtirtn
indirect fff2 irqrtn
indirect fff4 xirqrtn
indirect fff6 swirtn
indirect fff8 iloprtn
indirect fffa coprtn
indirect fffc cmonrtn
indirect fffe reset

entry c710
As you see you need to give a name to this txt file so you save as “APYP.txt” (don’t worry it is not your BIN file, later you can make your own “Control File”

The contents of this “Control File” you can read at the “M6811DIS.DOC”.

Part 4 (What you need at the work directory [C:\m6811dis>] )
You need the BIN file that you will disassemble (in our case APYP.bin).
You need the “Control File” that we just made. (APYP.txt)

Part 5 (What next?)
We go to Disneyland!
We are able to make our first disassemble. How?
We go back to our Black Box (you didn’t close it?) and we see the next:
C:\m6811dis>
At this point we type the next:
"M6811dis APYP.txt" and the Black Box start to spit all the nice things.

Part 6 (What's happened?)
Now our dissembler has made a file with the name “APYP.DIS”
Why? Because we have specified that at our “Control File” remember?
input APYP.bin
output APYP.DIS

Part 7 (How to read this “APYP.DIS”)
So I am happy that I found a commented file of the APYP at Moates server.
The name is “APYP7165-relocatable.asm” you can open both files with “Notepad” and read and compare.

NO, NO, NO, NO,
I am not there, this is my experience ONLY and I want to share because it was difficult to been here.

Here you can download the files that where used on this lesson:
http://www.donostia.demon.nl/APYP.bin
http://www.donostia.demon.nl/APYP.txt
http://www.donostia.demon.nl/APYP7165-relocatable.asm

The disassembled file is not there because that is the test that you need to pass.

So who is next to make the next lesson in my level? (Remember dummies)
If you want to correct this lesson you are welcome.

Regards,
Cobra289

PS
JP84Z430HP
Thank you for starting this post.

Last edited by Cobra289; 07-06-2004 at 11:35 AM.
Old 07-06-2004, 01:53 PM
  #7  
Member

 
Captain C's Avatar
 
Join Date: Aug 2003
Location: Bakersfield
Posts: 466
Likes: 0
Received 0 Likes on 0 Posts
Car: 1985 IROC-Z
Engine: 1989 350 4 bolt roller block
Transmission: ProBuilt 700R4 Road Race with Edge 9.5" 2800 stall lockup converter
Nice Post Cobra!!!!! I copied that to a Microsoft Word document for later usage. I have to learn the basics of modifying via TunerPro/PROMinator for a fairly mild engine first.

JP84Z430HP:

What do you mean by the bottom falls out of your Q-Jet when the "AV" opens fully??? What are you calling an AV???? If you are talking the secondaries, try adjusting the spring on the secondaries if it is bogging.

If it's running out of fuel, there are several different sizes of inlet valve seats/plugs that will allow more fuel into the fuel bowl. You can also file some flats on the secondary fill tubes and drill small holes in them as per the 428 Cobra-Jet Q-Jets.

I know you are an ASE certified technition, but I used to build engines for several circle track cars and at the local track we were forced to run with the Q-Jet for a couple of seasons before good sense prevailed.... I found a way to work around every issue we came up with, albeit after 20 years the memory is fading......

(Ooops! Sorry for the temporary and extremely minor thread deviation)
Old 07-06-2004, 02:37 PM
  #8  
Senior Member
 
MTPFI-MAF's Avatar
 
Join Date: Dec 2003
Location: Point Marion PA.
Posts: 623
Likes: 0
Received 0 Likes on 0 Posts
Car: 1982 CAMARO;
Engine: 1985 LB9;
Transmission: T-5/
OMG that was so helpful I just created my first APYP.DIS

Now i have to print the 40 pages of M6811DIS.doc to read reread and read again and then put it in my 5th 3 ring binder so I can read it again. Thanks cobra I can finally take another tiny step forward on Source Code.

I wish I could find the program I used to have that would let me open two notepad files in one screen, it would make it eaiser to compare, but oh well.

Last edited by MTPFI-MAF; 07-06-2004 at 02:44 PM.
Old 07-06-2004, 03:40 PM
  #9  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Thanks MTPFI-MAF

I did also today my first dissembling (APYP.DIS) and I thought way is so difficult to explain to others?

Well the clue is the “M6811DIS.doc” from “Dewtronics” it is a perfect explanation of “How to disassemble a BIN for a “MC68HC11” processor.

Normally the “Control File” is called with the extension (.CTL) (that is a text file.

The nice thing is to see and compare with the “APYP7165-relocatable.asm” the results are identical.

I think that this is what Grumpy is telling us about the “Ground Zero” foundation.

I hope that others can help us to get in the next step “reassembling” the APYP.DIS.

Regards,
Cobra289
Old 07-06-2004, 07:12 PM
  #10  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
This is great! Exactly the sort of thing I wanted this post to be I hope it helps someone out!

Captain C:
By AV, I mean the Air Valve, the one that actuates the secondary rods. I have a post up on the carb board asking for help with that, so that the car will run better until I get this stuff figured out, and on my car.

Cobra:
Yes, you will need to reassemble it later (if you make any changes), before you can use it.

I took the easy way out, and found a commented HAC. I WAS looking at the ANHT HAC, but now, I'm going to be looking through, and trying to learn the $58/60 code. Simplicity is bliss!

From what I can tell, the "Control File" is telling the disassembler all the vectors, which tell it where portions of the program are. I never figured out how to get it disassembled completely that way. The Tuner-Cat disassembler will also work. Where did you get the info for the "Control File"? I thought it was different by mask?

I had ANHT assembling without any errors, but I hadn't tried a compare to the original yet.

That is the next step you need to take, getting the disassembled file to re-assemble, and compare it to the original bin, it should be the same.

As you can tell, I have put some time into it, my main issues are learning what the instructions do. I have the motorola "Pink Book", but the language used there is pretty "high level" for me, and I have a BASIC understanding of programming, and how things work.
Old 07-07-2004, 08:55 AM
  #11  
Supreme Member
 
11sORbust's Avatar
 
Join Date: Nov 2003
Location: STL area
Posts: 1,399
Likes: 0
Received 0 Likes on 0 Posts
I hope that others can help us to get in the next step “reassembling” the APYP.DIS.
Wonder who is going to step up for that lesson?
Old 07-07-2004, 11:52 AM
  #12  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
JP84Z430HP


From what I can tell, the "Control File" is telling the disassembler all the vectors, which tell it where portions of the program are. I never figured out how to get it disassembled completely that way. The Tuner-Cat disassembler will also work. Where did you get the info for the "Control File"? I thought it was different by mask?
The doc file “M6811DIS.doc” explains in detail about the “Control File” I don’t think that for every mask you need to specify other vectors because the way is done by “Donald Whisnant from Dewtronics” is standard for the processor MC68HC11. On the DOC you can read that “Indirect addressing is used for jump tables and vector tables”.

The “entry” will be different, that is indeed related to the mask.


I had ANHT assembling without any errors, but I hadn't tried a compare to the original yet.
Did you assemble the ANHT? How you did that? Are you willing to share?

I am stuck, no matter what I try. I need some push, some hint.


As you can tell, I have put some time into it, my main issues are learning what the instructions do. I have the Motorola "Pink Book", but the language used there is pretty "high level" for me, and I have a BASIC understanding of programming, and how things work.
That is far more that where I am. But who cares, once we should nail the “ba....d”.


11sORbust
Wonder who is going to step up for that lesson?
I am waiting for the enlightening.
Even a small commando line will be sufficient to help, and like I say a hint is also welcome.

I see that several people are involved in the discussion about the WB O2 from Craig, and I read that several of them got experience; it would be nice if one of them jump in here and help us.

TO BE CONTINUED,
Cobra289
Old 07-07-2004, 04:36 PM
  #13  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Here's a few definitons, as I understand them.

BRA, Branch, followed by an address, means go to that address.

JMP, Jump, followed by an address, go to that address, and when done with that routine, come back.

NOP, No Operation.

The there are a bunch of BRA, if clear, if equal too, if less then, more that.

Clear, erase this entry.

LDDAA, Load register A
LDDAB, load register B
LDDAX, load register X.

Comp, compare

Add, add

Mult, multiply


There are 3 registers, registers are where values are held while being manipulated. A, B and X.

There are 2 Stacks, they are also areas where values can be stored, BUT, they stay in the order *stacked*.

So you'll constantly see A-B-X being cleared, and loaded.

In the being of most disassemblies, you see the RAM of the processor. ie where the values such as VSS are stored. As the code runs, it refers back to those addresses. And when in ALDL mode, uses those addresses for the ALDL datastream. So by looking at the ALDL datastream, you automatically ID a bunch of the RAM locations. Then by looking for the same series of number/values, in the code you can see where the ALDL data stream is. Having the datastream makes life alot easier on figuring out who's on first.

So first we have the RAM, then the calibration data, then the code. At the end of the code, are the vectors.

When the processor is first woken up, it looks at the vectors to see where to start working. They FDB's. And there are vectors for various conditions.

A 2d table look up means using the A, and B registers.
A 3d table look up means using A, B, and X.

Towards the end of the code are a series of housekeeping utilities. ie, the routines for actually running the 2d and 3d lookups. And A/D values. Which just generally look like a series of increasing or decreasing entries.
For items like CTS, there are two series of A/D values, one for each pull-up resistor value.

Also, there's a series of FDB values in the code, that are the major loop locations.

Anyone want to correct me fell free, I'm green as heck on trying to understand what's really going on.

And if someone wants to go thur the other nuemonics, I think that'd help, the ones I've listed are just the ones I know, and there's alot more of them.
Old 07-07-2004, 09:31 PM
  #14  
Supreme Member
 
11sORbust's Avatar
 
Join Date: Nov 2003
Location: STL area
Posts: 1,399
Likes: 0
Received 0 Likes on 0 Posts
I am waiting for the enlightening.
Me too. It seems that disassembly is easy. What does "thousands of possible errors" mean, in terms of assembly?I don't understand why things can't just go back together.
Old 07-07-2004, 10:24 PM
  #15  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by 11sORbust
Me too. It seems that disassembly is easy. What does "thousands of possible errors" mean, in terms of assembly?I don't understand why things can't just go back together.
The 58 Mask which is a short code mask, is 9,000 lines. Typically 3 entries per line. So one error in 27,000 entries, and you might move the code one entry, and fubar 10,000 entries. It's not a matter of close, things have to be perfect. A : instead of a ;, looks obvious, unless you've been reading for several hours.

Don't make light of assembly. While some folks *get* code easily, for others it's a real PITB to grasp the barest of mins..

And there are different compare systems. Some look for how the routines run, and some are just simple compare utilities. One might show 2 errors and the next one 16,000 errors.

And different formats for different assemblies.

You may not realise what a gift you were just given with a disassemlier that works. There are alot out there, and they all vary.
Old 07-07-2004, 11:42 PM
  #16  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Thanks Grumpy. You input is greatly appreciated here, as always.

Your explanation of the terms you listed is great. Now I understand a bit more!

As for getting it to assemble: The first thing you have to do is try it and see what the errors are. I did get ANHT to assemble, but I really don't know if it's correct or not.

When I was doing the ANHT stuff, the first thing I had to do is figure out all of the EQUates, which I believe are what Grumpy referred to as RAM locations. Basically, you put a line of code at the beginning that says:
Code:
L0000	EQU	$0
That tells it to setup RAM location $0
The L0000 is the line number of the program.

With ANHT, there were some other things that I had encountered, but I forget what they are. Maybe this weekend when I get some time, I'll revisit the project and see what I had to deal with.
Old 07-07-2004, 11:43 PM
  #17  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
From what I can tell, if the program uses a RAM location, it needs to be setup, or defined with a EQU
Old 07-08-2004, 06:38 AM
  #18  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by JP84Z430HP
I did get ANHT to assemble, but I really don't know if it's correct or not.
Just do a file compare to the .bin you started with.

So it's disassemble, reassemble, file compare.
Once it verifies, as being the same as the original .bin, you can start filling in the blanks, and commenting it.

Once you get the ALDL datastream, you can fill in that part of the RAM, and that's a huge headstart since it gives the locations of the *most vital* stuff.

Then using Edit, and find you can *just* cut and paste all the RAM locations, that you've defined, and the op codes.

Once you *get* some items like what looks like a 3D table, ie main spark or a VE table, you'll see a common location. That probably will be the 3d/2D look up routine.

And if it seems like there's an incredible amount of IAC stuff in there, there is.
Old 07-08-2004, 06:43 AM
  #19  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally posted by JP84Z430HP
From what I can tell, if the program uses a RAM location, it needs to be setup, or defined with a EQU
Only if you want to use a label to access that location. Here is an example of that:

Code:
L0012    EQU    $12         ; RAM location for waddle mode term


           LDAA      L0012   ; load waddle mode term
Can also do the same load of the waddle term w/o a label:

Code:
             LDAA      $12       ; load waddle mode term
In the first example the EQU defines the label L0012 as the value $12 (which is 18 in decimal).

In both examples the value in RAM location $12 will be loaded into the register A.

RBob.
Old 07-08-2004, 08:08 AM
  #20  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Cool! This is all becoming as clear as mud!

No, really, it's all starting to make more sense!

Thanks!
Old 07-08-2004, 12:06 PM
  #21  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by RBob
Only if you want to use a label to access that location. Here is an example of that:

L0012 EQU $12 ; RAM location for waddle mode term
LDAA L0012 ; load waddle mode term

Hmm, this has got Doc really confused. He and the other guys are scrounging for more info., on Waddle mode. So far all they've come up with is a bunch of National Geographic articles, about Ducks, and Geese.
Old 07-08-2004, 01:50 PM
  #22  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi Guy’s,

I think that everything that you are explaining will be for my next level.

Reading other posts I thought that the instruction was clear.

1- First make a disassembling from the BIN file.
2- Make a reassembling so that you make the same BIN file.
3 - Compare both files. (It should be equal)

Later – Interact in the code, making patch files, change of remove things.

So here is the deal:

1 - I use the Dewtronics Disassembler “M6811DIS” to make a disassembling. (I get a “DIS” file)
(This disassembler targets is the AS6811 assembler written by Alan Baldwin)

2 - I make a reassembling using the “AS6811 assembler written by Alan Baldwin at Kent State
University’s”
3 – I get with out errors the next files; “APYP.LST” “APYP.REL” and “APYP.SYM”

There is a “ASLINK.exe” but I don’t know how to use. (relocating linker)

Here start my problem, “How can I get a BIN file from here?”

Regards,
Cobra289

Last edited by Cobra289; 07-08-2004 at 01:55 PM.
Old 07-08-2004, 02:02 PM
  #23  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Can someone email me a control file of the APYP.txt that works?. I keep getting an Unrecognized Command in the control file, error message,
TIA

Ugh, and one for a ANHT would be swell, I'm over my head at the moment trying to figure this out.

BPLECAN@wor.rr.com
Old 07-08-2004, 02:25 PM
  #24  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Your e-mail address is wrong?
Mail delivering problems

You can download from my site.
http://www.donostia.demon.nl/APYP.txt

For the Disassembler:
http://www.donostia.demon.nl/M6811DIS.zip
For the assembler:
http://www.donostia.demon.nl/AS6811N.zip

I hope this help.

The DOC file in the disassembler is very instructive in the way how it works.

regards,
Cobra289

Last edited by Cobra289; 07-08-2004 at 02:33 PM.
Old 07-08-2004, 03:20 PM
  #25  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289
Your e-mail address is wrong?
Mail delivering problems

You can download from my site.
http://www.donostia.demon.nl/APYP.txt

For the Disassembler:
http://www.donostia.demon.nl/M6811DIS.zip
For the assembler:
http://www.donostia.demon.nl/AS6811N.zip

I hope this help.

The DOC file in the disassembler is very instructive in the way how it works.

regards,
Cobra289
Dugh....

BPLECAN@woh.rr.com

Thanks
Old 07-08-2004, 03:34 PM
  #26  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289
Your e-mail address is wrong?
Mail delivering problems

You can download from my site.
http://www.donostia.demon.nl/APYP.txt

For the Disassembler:
http://www.donostia.demon.nl/M6811DIS.zip
For the assembler:
http://www.donostia.demon.nl/AS6811N.zip

I hope this help.

The DOC file in the disassembler is very instructive in the way how it works.

regards,
Cobra289
OK, at least it runs with your .txt file.

If I'm not mistaken the 5xxx are references to the HUD.
SO that's OK,

In the .dis generated there's a few large blocks of code that are just lumps. Does everyone else get those?.

LD116 L5809
*** Warning: Branch Ref: 0x5809 is outside of Loaded Source File.
LD12C LD12E LFA57 L00EA LFA55 LFA6A LDCA1 LC44F LDCA7
LD13B LD177 LD16F LD173 LC44E LD12B LD1D8 LD1C9 LC1DF
LD1BE LC232 LD1C6 LD20B LD1EB LD1F4 LD20E LD235 LD234
LD299
Pass 2 - Disassembling to Output File...

*** Warning: Branch Ref: 0x5800 is outside of Loaded Source File.

*** Warning: Branch Ref: 0x5806 is outside of Loaded Source File.

*** Warning: Branch Ref: 0x5809 is outside of Loaded Source File.

*** Warning: Branch Ref: 0x5803 is outside of Loaded Source File.

*** Warning: Branch Ref: 0x5818 is outside of Loaded Source File.

*** Warning: Branch Ref: 0x580C is outside of Loaded Source File.

*** Warning: Branch Ref: 0x5815 is outside of Loaded Source File.

Disassembly Complete


**********************

And if I change the apyp.txt to anht.txt (and the file input and output file names) and load the anht.bin I get an Unrecognized command, error.

Yeppeeee.
Old 07-08-2004, 03:50 PM
  #27  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Yes I get also the lumps (5x)
See my APYP.dis for comparation:
http://www.donostia.demon.nl/APYP.DIS

I will download the “anht.bin” and see what happens.

Regards,
Cobra289
Old 07-08-2004, 03:58 PM
  #28  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289
Yes I get also the lumps (5x)
See my APYP.dis for comparation:
http://www.donostia.demon.nl/APYP.DIS

I will download the “anht.bin” and see what happens.

Regards,
Cobra289
The above URL has a .dis that matches mine.
At least we're consistant.
Old 07-08-2004, 04:21 PM
  #29  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
I think that you need to change the “load c000” for “load 8000”
Also you need to change the “entry c710” for “entry b000”

Load is the start point where “the relative load offset address of where the source binary file will be loaded”

I quote the text from the disassembler:

The “entry” command allows you to specify hard entry points within the source. Typically, most of the entry points in the source can be specified with indirects (see the “indirect” command). But occasionally you’ll run into a portion of code that for some reason has no indirect vector and requires a hard entry point


So I put the “b000” because there start the algorithms.
But like the text say you can put more of this “entry” or solve via the “indirects” I think that there is solution to solve the lumps.

Check my ANHT.DIS
http://www.donostia.demon.nl/ANHT8D.zip
Cobra289
Old 07-08-2004, 04:49 PM
  #30  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Try using an 'entry' command to each of the lumps. The first address of these lumps are probably in the major loop lookup table. This may also break up the lumps requiring the addition of more entry commands.

RBob.
Old 07-08-2004, 05:12 PM
  #31  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi RBob,
Here are the "entry" that have try with good results for the ANHT code.
Code:
entry b000
entry ce5c
entry cebd
entry d121
entry d161
entry d270
entry d27d
entry d50c
entry d55c
entry d5c6
entry d6c1
entry d812
entry d87d
entry d9fc
entry e1c6
I forgot to tell you Bruce, you need to add the "addresses" under "load" to see the address that you need to enter in the "entry"
Cobra289

Last edited by Cobra289; 07-08-2004 at 05:16 PM.
Old 07-08-2004, 05:32 PM
  #32  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Here is a lump from your APYP.DIS:
Code:
LDEF0:	rts	
	.byte	0xD6,0x38,0x56,0x24,0x06,0xD6,0x36,0xC5
	.byte	0x20,0x27,0x56,0xB6,0x01,0x1A,0xB1,0xC2
	.byte	0x47,0x25,0x4E,0xFC,0xC2,0x45,0x7D,0x01
The first address of this lump is $DEF1. The rts at LDEF0 is one byte, so the next address is $DEF1.

Put that address in as an entry and the disassembler will then also do that as a block of code, not data.

RBob.
Old 07-08-2004, 05:48 PM
  #33  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi RBob,
I think that I solved the lumps.
Here is the list of "entry" for the APYP code:
Code:
entry c710
entry def1
entry df57
entry dfad
entry e08f
entry e375
entry e52b
entry e781
entry ea8e
entry eb74
entry ec2d
entry ed91
entry ee8a
entry ef52
entry f0e8
entry ff81
entry ff89
It is a matter of doing pointing every starts of a lump with the corresponding address. Run the disassembler and find new "entry"

Ok
RBob can you help me with the assembly?
Read previous post to see my problem.
Regards,
Cobra289

Last edited by Cobra289; 07-08-2004 at 07:13 PM.
Old 07-08-2004, 06:14 PM
  #34  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi Grumpy,
APYP.txt and APYP.DIS are updated on my site.
http://www.donostia.demon.nl/APYP.DIS
http://www.donostia.demon.nl/APYP.txt

No lumps this time.
The APYP.txt has the command "addresses" on it but if you will assemble you need to remove this command. [edit] allready removed.

Thanks

I go to bed it is late in Europe.
Cobra289

Last edited by Cobra289; 07-08-2004 at 07:24 PM.
Old 07-08-2004, 09:20 PM
  #35  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Ugh, just when things were clearing up.....I'm now confused, since I was using a different method. What I was doing is taking the commented anht HAC and making it assemble. That way, once I had it all right, I could go in and make changes to a known good file and add comments to anything I was to change.

I'll have to mess with this some over the weekend. During the week, lately, I have only been home about long enough to look around here for a few minutes, then get a few hours of sleep....

I'm going to go download the stuff you guys are playing with so that I can learn along with all of you! (That was the point of this thread, and I'm getting left behind!!! )
Old 07-08-2004, 10:19 PM
  #36  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289
Hi Grumpy,
APYP.txt and APYP.DIS are updated on my site.
http://www.donostia.demon.nl/APYP.DIS
http://www.donostia.demon.nl/APYP.txt

No lumps this time.
The APYP.txt has the command "addresses" on it but if you will assemble you need to remove this command. [edit] allready removed.

I go to bed it is late in Europe.
Cool...
Gotta couple months of work for the lil guys now......
OK, make that year's.
Old 07-08-2004, 10:25 PM
  #37  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by JP84Z430HP
Ugh, just when things were clearing up.....I'm now confused, since I was using a different method. What I was doing is taking the commented anht HAC and making it assemble. That way, once I had it all right, I could go in and make changes to a known good file and add comments to anything I was to change.
That's the way I did the 60 Source Code. Took me well over a year to hammer it out.

I'd strongly suggest you start with the method documented here, and then just cut and paste in the comments you have from the other one to the new way. This way starts you off without massive errors. The 58 took along time just to get to verify to the .bin.

Looks like disassembling, the reassembling, verify to .bin, then commenting, then identifying routines is the best way to do it that I can see. Then doing the patches and what ever

<Insert cheer from the lil guys>
Old 07-08-2004, 10:49 PM
  #38  
Supreme Member

Thread Starter
 
JP84Z430HP's Avatar
 
Join Date: Feb 2000
Location: Johnstown, Ohio
Posts: 1,416
Likes: 0
Received 0 Likes on 0 Posts
Car: 84 Z28
Engine: 355 (fastburn heads, LT4 HOT cam)
Transmission: 700R4
Axle/Gears: 9-bolt, 3.27
Is there any better software for the work, or is the stuff being discussed here more than adequate? I was using asm11 when working with the ANHT hac, and I wasn't sure it was doing what I needed. Sounds like the stuff from dewtronics is pretty *** for what is needed. Again, it's gonna have to wait until at least tomorrow night for time to work with it.

This is neat, having everyone doing the same stuff, and discussing the experiences to help each other through it all!
Old 07-09-2004, 06:46 AM
  #39  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally posted by JP84Z430HP
Ugh, just when things were clearing up.....I'm now confused, since I was using a different method. What I was doing is taking the commented anht HAC and making it assemble. That way, once I had it all right, I could go in and make changes to a known good file and add comments to anything I was to change.
. . .
No problem with your method. As a matter of fact if you want $8D source code that is what I would recommend, exactly what you are doing. All the comments are there, tables are nicely formatted, jsut need to get it to assemble correctly.

Just keep working on the asssembler errors until you get a clean assemble. Then create the bin (from the .s19 fiile) and compare that bin with a known ANHT bin. You will find some typo's in the ANHT.PDF source. So make the changes and rebuild the new bin. Compare it again until it matches up.

If you get stuck post the error here and we'll see what we can do.

RBob.
Old 07-09-2004, 07:03 AM
  #40  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi RBob,

Can you help me?
I have done an assembly with the AS6811 and I get the next files:
“APYP.LST” “APYP.REL” and “APYP.SYM” with out errors, but my next problem is how to get the S19 file that you mention.

According the information of the assembler there is a “relocating linker” (ASLINK.EXE) but I don’t know how to use it.
As sun as we know how to solve this problem get a BIN I will post here an instruction for dummies.
Convert from S19 to BIN I don’t think will be a problem.
http://www.donostia.demon.nl/APYP.LST
http://www.donostia.demon.nl/APYP.REL
http://www.donostia.demon.nl/APYP.SYM


TIA.
Cobra289

Last edited by Cobra289; 07-09-2004 at 07:07 AM.
Old 07-09-2004, 07:13 AM
  #41  
Senior Member
 
MTPFI-MAF's Avatar
 
Join Date: Dec 2003
Location: Point Marion PA.
Posts: 623
Likes: 0
Received 0 Likes on 0 Posts
Car: 1982 CAMARO;
Engine: 1985 LB9;
Transmission: T-5/
ok I am following everything on the dissasembly and I am reading the M6811DIS.doc to have a full understanding of it the best I can. Now the Directions that were given on the dissasemble were excelent.

1. Create control file (apyp.txt)
2. You need the BIN file that you will disassemble (in our case APYP.bin).
You need the “Control File” that we just made. (APYP.txt)
3.tell it to dissasemble (M6811dis APYP.txt)

ECT.

Now I am so confused on how to even start to Assemble, this discussion went form English to a unfilmilar language quick. What is required to start assembley. does the assembler require a Control file or something similar and what command do I start with. I opened dos typed as6811 apypdis I get thousand of errors. What step did I miss.

I apoliage for ignorance on my behalf

EDIT: Thanks Cobra289 i was typing this as you posted your last post. I will tinker around with it more while you are doing the FOR DUMMBIES instructions.

This disscussion is really good way to help people learn and think out side the Box

Last edited by MTPFI-MAF; 07-09-2004 at 07:17 AM.
Old 07-09-2004, 07:30 AM
  #42  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Hi MTPFI-MAF,
Assuming that you are at the correct directory and you put the APYP.DIS at the same directory.

You need to type the next:
As6811 –xlos apyp.dis
Check the screen shot that I made.
There are more switches as you see but I don’t think that are needed at this moment.

As you see there are no errors.

I hope that RBob can help us converting those 3 file to a BIN so that we can compare.
Regards,
Cobra289
Attached Thumbnails Source code for dummies....Ask questions here!-assembly-screen.jpg  
Old 07-09-2004, 08:57 AM
  #43  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally posted by Cobra289
Hi RBob,

Can you help me?
I have done an assembly with the AS6811 and I get the next files:
“APYP.LST” “APYP.REL” and “APYP.SYM” with out errors, but my next problem is how to get the S19 file that you mention.

. . .

TIA.
Cobra289
Here is one way to use the linker, at the command line start the interactive linker mode:

aslink -c

Then at the prompt enter APYP, then the command to produce an s19 file: -s, then exit: -e. It will look like this:

D:\as6811>aslink -c

ASlink >> apyp
ASlink >> -s
ASlink >> -e

The result will be the file apyp.s19 which can then be converted to a bin file that matches the original.

RBob.
Old 07-09-2004, 09:39 AM
  #44  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
I DID IT!!! (With help off course):hail:
IT WORKS
I GET THE SAME BIN (Checked with TunerPro RT using “compare”)

THANKS RBob, Thanks for your collaboration.

And off course my thanks to all the others that participate on this tread.
This was a real step by step guidance. (Some hits, some commandos, some enthusiasm, etc)

Now I will write the next lesson for dummies like me.

Regards,
Cobra289
Old 07-09-2004, 11:50 AM
  #45  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
“How to disassemble four dummies Lesson 2” (I am a dummy, so just for me level)

First I need to expand a little the first lesson.

Read the manual from “Dewtronics Dissembler M6811DIS” it will help a lot to understand how it works.

Part 8
Doing the disassembling you need to get all the CODE out, which means no “LUMPS” should be left.
To clean all the lumps you do it via “entry”. Go to the first lump and you note the address, you add this address to the “entry” list and you run again the dissembler. You need to do this so many times as is required, but it goes fast. (The APYP.txt is all ready updated with all the “entry”).

Part 9
At the “Control File” you need to put the term “load” with and address and that means that will be different for every mask. (Check your “hac” look for the “.ORG” that address you need to put this value at the “load” in our case APYP with the mask $6E the value is “c000”


1 –
Reassembling


You need the “AS6811 assembler written by Alan Baldwin at Kent State University’s”
http://www.donostia.demon.nl/AS6811N.zip

2 –
Invoking AS6811


After unzip you get the directory “AS6811N” here you put you disassembled file. (In our case APYP.DIS)
You need to type the next:
As6811 –xlos apyp.dis

The software will make 3 files at the same directory. “APYP.LST” “APYP.REL” and “APYP.SYM”

If there are no errors you can continue. (Errors will be displayed at the DOS box.)

If you encounter errors you need to check the information at:
http://shop-pdp.kent.edu/ashtml/asxhtm.htm “Invoking ASXXXX page 1-37”
The nice thing of this is that you LST file will be marked with a symbol indicating the type of error.
But if you do your work correctly you should not get any error. (That is easy to say for me after a couple of hours)

3 –
OK now we need to link the files.


There is at the same directory ASLINK software. (We have at this directory our files “APYP.DIS APYP.LST APYP.REL and APYP.SYM”)
So you next commando will be:
aslink –c <----- After that you invoke a commando line from linker and it looks a little different.
ASlink >> <----- it looks like this.
At this point you type the next commando.
ASlink >> apyp
ASlink >> -s
ASlink >> -e

You will get the desired Motorola file type S19 in our case APYP.S19.

4 –
Conversion from S19 to BIN.


The next step is to convert our new file “APYP.S19” to a BIN (APYP.BIN)
To do this you need to download a conversion software “BINCVT” and you can fid at:
http://www.techedge.com.au/download/bincvt.zip

You extract the file in a new directory.
You need at this directory the next file. “APYP.S19”
To invoke the BINCVT you need to type the next:
Bincvt apyp.s19
At this directory you will get the DESIRED APYP.BIN.
But we are NOT finished yet.

5 –
Compare both BIN’s.


Compare the new BIN with the old Original BIN.

We stay at the DIY-PROM and we download Mark’s TunerPro.
http://tunerpro.markmansur.com/

We load the new BIN with TunerPro and we make a “Compare” and we set for comparation the original BIN file.
You select “Tools” and “Difference tool” you will see at the top two windows “Find differences between” indicating witch file will be compared.
You hit search an you will se nothing. (You are DONE)
If you see differences, you are in trouble.
My advice?
Start again and take care about the details.

I hope that this will help you; at least you have some directives in particular witch assembler and disassembler work together.

My next target will be “Apply a patch”
This is my first point to start:
https://www.thirdgen.org/techbb2/sho...hreadid=108380

Regards,
Cobra289

PS.
It will be nice if this thread will put as a sticky for the future?

Last edited by Cobra289; 07-09-2004 at 11:55 AM.
Old 07-09-2004, 12:55 PM
  #46  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289
[B] My next target will be “Apply a patch”
It will be nice if this thread will put as a sticky for the future?
No need to *apply* a patch when your using Source code, you just type in your changes, and assemble it.
ie.
To say go from a 2d entry to 3d tables, you have to add the extra register, and then jump to a 3d rather then a 2d lookup utility.
<what I was talking about in my earlier post about reistries>
Old 07-09-2004, 02:43 PM
  #47  
Member

 
Cobra289's Avatar
 
Join Date: Nov 2003
Location: The Netherlands
Posts: 299
Likes: 0
Received 0 Likes on 0 Posts
Car: Cobra Kit Car
Engine: 350 HSR
Transmission: TKO 600
Axle/Gears: 3.31
Well Grumpy,

It sounds to me like the first day I came to The Netherlands (GRrrrrr, GRrrrrr, GRrrrrr,)
I understand the basics what you mean, straight interact in the code.

So the first thing I will do is read the manual (Motorola Pink Book) Section 6 I think?

Try to understand the code instructions.

It starts to like a “Reverse University” you find something; you start to read; and then start to learn; stead of learn-read-find.

Did you get further with the ANHT code?
It likes that at the address $8988 and $f165 starts with a lot of padding? (Lots of $00)

Regards,
Cobra289

Last edited by Cobra289; 07-10-2004 at 04:42 AM.
Old 07-09-2004, 05:19 PM
  #48  
Supreme Member
 
Grumpy's Avatar
 
Join Date: Jun 2000
Location: In reality
Posts: 7,554
Likes: 0
Received 1 Like on 1 Post
Car: An Ol Buick
Engine: Vsick
Transmission: Janis Tranny Yank Converter
Originally posted by Cobra289


Try to understand the code instructions.
It starts to like a “Reverse University” you find something; you start to read; and then start to learn stead of learn-read-find.

Did you get further with the ANHT code?
It likes that at the address $8988 and $f165 starts with a lot of padding? (Lots of $00)

Yep, it one thing to just be able to read the code, and another to actually modify it.

Taking care of large areas of 00's can be taken care of with this *note*.
Fill $00, $FFED-*

If you don't comment the 00's when it assembles the assemblier might just use whatever it sees laying around, ie notes that are commented out with ;'s.

I got some oddities I haven't figured out yet. In some locations I get a CE when it should be a FE. The .asm reads correctly but the assemblier in some areas uses the FE instead of what should be an FE. Dunno what's up with that yet.
Old 07-09-2004, 07:34 PM
  #49  
Moderator

iTrader: (1)
 
RBob's Avatar
 
Join Date: Mar 2002
Location: Chasing Electrons
Posts: 18,399
Likes: 0
Received 215 Likes on 201 Posts
Car: check
Engine: check
Transmission: check
Originally posted by Grumpy
. . . I got some oddities I haven't figured out yet. In some locations I get a CE when it should be a FE. The .asm reads correctly but the assemblier in some areas uses the FE instead of what should be an FE. Dunno what's up with that yet.
Just an educated guess, not looking at the code, the difference between a CE and FE is the type of load. This is most likely a LDX or LDY instruction.

The CE is a load immediate. IE: load the value at the instruction.

The FE is an extended address. IE: load the value found at that address.

Look for a # that shouldn't be there. Or maybe an *, I think the as6811 assembler uses that for a particular addressing mode.

RBob.

P.S. you guys have it easy. I had to write my own disassembler to get this far. . .
Old 07-09-2004, 08:03 PM
  #50  
Supreme Member

iTrader: (2)
 
dimented24x7's Avatar
 
Join Date: Jan 2002
Location: Moorestown, NJ
Posts: 9,962
Likes: 0
Received 3 Likes on 3 Posts
Car: 88 Camaro SC
Engine: SFI'd 350
Transmission: TKO 500
Axle/Gears: 9-bolt w/ 3.23's
Originally posted by Grumpy
Yep, it one thing to just be able to read the code, and another to actually modify it.

Taking care of large areas of 00's can be taken care of with this *note*.
Fill $00, $FFED-*

.


You can also use the origin command to keep the vector table (or whatever else is there) in place rather then using fills.

ORG $[start addr of table in hex (or in decimal w/o the '$')]

Itll automatically pad the end of the actual code when assembled to ensure the vector table starts where it should.

Last edited by dimented24x7; 07-09-2004 at 08:05 PM.

Thread Tools
Search this Thread
Quick Reply: Source code for dummies....Ask questions here!



All times are GMT -5. The time now is 04:17 AM.