As some of you may have noticed, we've been busy hacking the Casio-Prizm and have had some success. However, since we finally have the hex equates for all SuperH 3 Assembly commands, a disassembler is required to properly analyze the Prizm. While other disassemblers have been written, only one in a very expensive commercial package is available for newer OSes. The others, insofar as I have been able to find, are all incompatible and even worse, use the Assembly language of a slightly different processor. So, if you have any computer programming skills, I'd appreciate help with this. Just send me a PM if you're interested.

Thanks,

Qwerty.
I'd be interested in helping write a disassembler, for sure. I'm sure that many of the Cemetech coders are proficient enough in various languages like C#, Python, or C++ to write a disassembler, actually. What documentation do you have on structure, opcodes, etc?
Well, I have the hex for all of the codes, including how the arguments should be inserted into the hex. Is that what you mean?
Qwerty.55 wrote:
Well, I have the hex for all of the codes, including how the arguments should be inserted into the hex. Is that what you mean?
Indeed, that's exactly what I mean. What about addresses? Are programs always executed at the same address, or are they relocatable?
KermMartian wrote:
Qwerty.55 wrote:
Well, I have the hex for all of the codes, including how the arguments should be inserted into the hex. Is that what you mean?
Indeed, that's exactly what I mean. What about addresses? Are programs always executed at the same address, or are they relocatable?
Add-ins seem to start execution at 0x00307000 (header starts at 0x00300000).
28.6KB header? Shock That doesn't sound right at all.
Two 92x64 16-bit icons, and a lot of wasted space.
JosJuice wrote:
Two 92x64 16-bit icons, and a lot of wasted space.
I'll say! How big are Add-ins, then? Do they have that entire 28.6KB inside the add-ins themselves before the code begins?
Yep. I started hitting my head on the desk when I saw how much null space there was in the add-ins.
Qwerty.55 wrote:
Yep. I started hitting my head on the desk when I saw how much null space there was in the add-ins.
Wow, I don't blame you. How big is the rest of each add-in, or is it variable? Are there maximum (or minimum) limits? Regarding the PM that you sent me, let me know if there's anything I can do to help.
The rest of the add-in is variable. For example, the app z80 managed to get working was approximately 24 bytes of code.
Qwerty.55 wrote:
The rest of the add-in is variable. For example, the app z80 managed to get working was approximately 24 bytes of code.
OK, good to know. Any limit? And regarding the project, any other coders expressed interest?
Yes, Graphmaster, Scoutdavid, and JosJuice.

Regarding the limit, I'm not aware of any, other than memory addressing and the CRC checksum.
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, ScoutDavid was experimenting with beginning Python, and I'd believe that JosJuice knows C++. I have a fairly good idea of the disassembler structure in my head, so I'd be happy to throw down some skeleton code, but let me know if it would be more helpful to let those guys stretch their metaphorical legs and for me to help guide instead. Wink
I know some C++. I am most comfortable with Python, the language I'm best at. I also know Java.

Eitherway, if I could choose, it'd be Python, but not sure if all know Python.
I don't know any C++. My computer programming experience is very limited, actually. If necessary, I'm willing to learn new languages to help out (although I don't know how much I would be able to help in a language that I'm not used to).
I have finished a disassembler for the Prizm. It is not the best, in fact, it is really limited. All it has is a GUI {like the one of Assemblex}, made in pyhon/wxPython and you type Hex Equates and Assembly code comes out.

I also have to give Assembling a try. I will only post it tomorrow, though. I am not on my personal keyboard
ScoutDavid, do you have some kind of canned disassembler core in Python that you use, then? No offense intended, but I'm a bit surprised at how quickly you went from being mystified at the concepts of tokenization in Python to writing a GUified disassembler. Smile If I'm merely being too suspicious after seeing years of unfortunate code plagariasm, my apologies, and congrats for your commendable progress.

@JosJuice, ahh, I see. Smile
KermMartian wrote:
ScoutDavid, do you have some kind of canned disassembler core in Python that you use, then? No offense intended, but I'm a bit surprised at how quickly you went from being mystified at the concepts of tokenization in Python to writing a GUified disassembler. Smile If I'm merely being too suspicious after seeing years of unfortunate code plagariasm, my apologies, and congrats for your commendable progress.

@JosJuice, ahh, I see. Smile


http://ourl.ca/8782/164429

I really need to make a Cemetech post of this, but no time at the moment.

@Kerm, I'm not really getting what you mean, probably 'cos I'm not English Native Speaker XD But I have tried Tokenization in many languages, with no luck :S
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.
  
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 1 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