KermMartian wrote:
Qwerty.55 wrote:
Yes, Graphmaster, Scoutdavid, and JosJuice.

Regarding the limit, I'm not aware of any, other than memory addressing and the CRC checksum.
Most excellent. Do all of those people know C++? I know Graphmaster knows some Python...


Err, I know a WHOLE lot more than python. (not to be rude or anything, but I do) And I was planning to do this in C++. I've set up the google project, and was going to start discussing how this was going to work, and meant to contact you, but totally forgot.
I know you know more than Python, but I wasn't sure if you knew C++ or not. Python and C++ seemed to be the two languages under discussion, so I limited myself to mentioning those. Razz
KermMartian wrote:
I know you know more than Python, but I wasn't sure if you knew C++ or not. Python and C++ seemed to be the two languages under discussion, so I limited myself to mentioning those. Razz

oh, okay.

I don't "know" C++ to the level that I consider "knowing" a language is, but I can read/write it.
KermMartian wrote:
Right, so I'm saying that tokenization is no harder than disassembly, and wondering why you have been unable to write a tokenizer, but are able to write a disassembler. Smile It makes me wonder if perhaps the actual code that does the disassembly is not your own, but I was trying to be careful to not offend, since of course I know you and everyone else here is a hard worker and a smart person and could certainly learn new things such as this.


I am quite offended now, but a disassembler is really easy! The GUI is also all mine, I read several books and tutorials on wxPython and consider myself quite experienced in wx. Disassembling is quite easy, I consider Tokenization for gods :S

@C++-Talkers: I know C++, am reading another book on it for Prizm Suite.
ScoutDavid wrote:
KermMartian wrote:
Right, so I'm saying that tokenization is no harder than disassembly, and wondering why you have been unable to write a tokenizer, but are able to write a disassembler. Smile It makes me wonder if perhaps the actual code that does the disassembly is not your own, but I was trying to be careful to not offend, since of course I know you and everyone else here is a hard worker and a smart person and could certainly learn new things such as this.


I am quite offended now, but a disassembler is really easy! The GUI is also all mine, I read several books and tutorials on wxPython and consider myself quite experienced in wx. Disassembling is quite easy, I consider Tokenization for gods :S
And from my point of view, tokenization is no harder than disassembly, hence my concern. Smile

Quote:
@C++-Talkers: I know C++, am reading another book on it for Prizm Suite.
Personally, I find writing and testing code much more helpful per unit time than reading about a language. Smile
Quote:
Personally, I find writing and testing code much more helpful per unit time than reading about a language.


I need to know the basics don't I? (such as loops, conversions, variables), stuff I need to be very comfortable with.
ScoutDavid wrote:
Quote:
Personally, I find writing and testing code much more helpful per unit time than reading about a language.


I need to know the basics don't I? (such as loops, conversions, variables), stuff I need to be very comfortable with.
True, but you said you already knew C++, so that would be stuff you already know. Smile Plus, after you learn ten or fifteen languages, there isn't that much new syntax to learn, just new quirks and tricks.
*bump* Anyway, Graphmastur (I believe) has been working on a Java disassembler, and I would like to develop one in C++ or Python at some point. I know that the Linux program "objdump" can dump x86 ELF binaries into text ASM; does anyone know if there is an SH3 objdump port?
I recently found a program that will take Java bytecode, and give you an XML file that contains all the instructions, names of variables, inputs to routines, outputs, and more. Could this be something you are looking for? The program / project is XMLVM.
_player1537 wrote:
I recently found a program that will take Java bytecode, and give you an XML file that contains all the instructions, names of variables, inputs to routines, outputs, and more. Could this be something you are looking for? The program / project is XMLVM.
Awesome project, but I'm afraid you have the causal relationship a bit backwards. Graphmastur is using Java to disassemble SH3 binaries into SH3 assembly. Smile
Seems like a waste of effort to write object code analysis tools when a GNU toolchain is perfectly capable of understanding the SH3.

Not sure what gdb would think of sh3 (probably if built with the right features enabled it would be fine), but a bit of googling showed that a correctly configured objdump gave a perfectly serviceable disassembly, so I suspect all that would be required would be massaging the Prizm's addon files into something you could make the GNU tools understand.

If you don't like that, Renesas' HEW I'm sure provides a simulator of some sort, and it's pure idiocy to ship a simulator without some sort of disassembly capability, so you could probably find some way to use HEW to do the same thing.
Woo, I'm glad to hear that objdump would do the trick. As you say, we'd just have to massage the file format into something the toolchain wouldn't laugh at.
Did someone ask for a GNU sh3 toolchain http://jonimoose.net/prizm/sh3-unknown-elf/ Razz
TheStorm wrote:
Did someone ask for a GNU sh3 toolchain http://jonimoose.net/prizm/sh3-unknown-elf/ Razz
Yay for Jonimus and his epic work. It looks like the main obstacle standing between gcc and the Prizm, and the Prizm and gdb/objdump, is a better understanding of the Add-In format, which I believe Qwerty is hard at work on.
Hopefully that translation will be easy enough to take care of. Looking at IDA pro for disassembling may be worth it as well.
TheStorm wrote:
Hopefully that translation will be easy enough to take care of. Looking at IDA pro for disassembling may be worth it as well.
I'm a little cautious about that course of action thanks to BrandonW's discussions of the program over the years, but I'm certainly open to giving it a try.
As I understand it, converting an add-in to just code is quite simple - just remove the first 0x7000 bytes as well as the last 4 bytes. Doing it the other way around is much harder because we have to mess with the checksums.
JosJuice wrote:
As I understand it, converting an add-in to just code is quite simple - just remove the first 0x7000 bytes as well as the last 4 bytes. Doing it the other way around is much harder because we have to mess with the checksums.
That's not precisely true, because the ELF format that is widely used on Linux systems has its own header, and for standard tools to not throw a fit, it would be a good idea to add that header to our programs. Or, alternatively, teach objdump, gcc's postprocessor, and gdb what the header looks like.
KermMartian wrote:
JosJuice wrote:
As I understand it, converting an add-in to just code is quite simple - just remove the first 0x7000 bytes as well as the last 4 bytes. Doing it the other way around is much harder because we have to mess with the checksums.
That's not precisely true, because the ELF format that is widely used on Linux systems has its own header, and for standard tools to not throw a fit, it would be a good idea to add that header to our programs. Or, alternatively, teach objdump, gcc's postprocessor, and gdb what the header looks like.
Oh, okay... So it seems like extracting the code from the add-in is easy, but converting it into something that the programs understand is trickier. Still, I believe that the add-in format is documented well enough to do this (it's on the wiki).
KermMartian wrote:
TheStorm wrote:
Did someone ask for a GNU sh3 toolchain http://jonimoose.net/prizm/sh3-unknown-elf/ Razz
Yay for Jonimus and his epic work. It looks like the main obstacle standing between gcc and the Prizm, and the Prizm and gdb/objdump, is a better understanding of the Add-In format, which I believe Qwerty is hard at work on.


Um, not quite. The only real work I've been doing that relates to the Prizm has been on my libs and a secret project.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 2 of 3
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement