New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add support for the H8/500 H8500 cpu #1793
Comments
i'm currently working on it. |
@sijskes Hi Simon, did you get any further with this? |
@jasongaunt yes but i encountered problems while optimizing the addressing modifiers so i ended up experimenting with a generator. i never did research if it was a parser problem or me misunderstanding the ( ) handling. |
I'm starting a project in creating a processor module, not sure how far you got but willing to contribute if you already have something? |
Do you have the code you worked on so far for this we could add to? |
@jasongaunt Not too much progress on this module... But what did you want to know for legnum/galant? My disassembly so far is quite extensive if you're after something specific? Also written quite a bit of code for vr4 and evo5/6. |
@foxbcx Are you on OzVR4 or ClubVR4? I'll message you there to discuss as it's out of scope for this issue :) |
Yes on both, I own ozvr4 so more active on there :) |
FWIW, there's an out-of-source H8 plugin here: https://weeaboo.software/Shiz/ghidra-h8-300 I have no idea what state it's in. |
I'm working quite heavily on a port, though it's specifically for the H8/538. I know the 539F and the SH7052 cloned from it for Mitsubishi ECUs needs builtin support for handling CP and TP registers; I don't plan to write that at this time as my application is only the H8/538F. |
@Hurricos I saw your port, a week or two ago; can't remember where I found it though. But I used it as a starting point for the H8/520, which is pretty much done at this point. The decompiler is weird in some parts, but the disassembly's generally pretty solid. Feel free to absorb it into yours if you want. |
Thank you. I've learned SLEIGH while doing this work for the H8/538F in the MCM of the G1 Honda Insight (binaries here: https://github.com/Hurricos/insight_fw_RE), so my continuing implementation has been rough. I'll compare how yours disassembles/decompiles to how mine does. Ultimately there's bugs in every implementation; getting these to work together may not be trivial. I'll find a way in Github to comment on code changes if I have issues. Do you have a hardware manual for h8/520? RE: Maximum mode, I think ideally a complete repo separates each mode into a different pspec + slaspec that do @includes as needed. |
Mine's for a synthesizer. Yamaha SY22. It uses two external ROMs and an SRAM, as well as various other chips they managed to put on the data bus, so it's a great example of maximum mode. Would it be beneficial to you if I uploaded those binaries?
The HD6475208 is the processor I've been referencing: https://datasheet.datasheetarchive.com/originals/distributors/Datasheets-17/DSA-336302.pdf
It'd almost definitely be easier, but I think with some smart use of macros and conditional blocks, it could all be put into one. The ARM processor specs do a lot of that. |
Please do! Thank you for the HWM PDF. |
https://github.com/c4ashley/yamaha-sy22-fw
No worries! |
https://archive.org/details/hn-27512-g-dip-28-h-8532eval-v-1.4 I'll be uploading the documents related to the eval kit soon, but I can confirm this works on a minimal config as a development suite. Assembler, disassembler, etc. Both documents that came with the eval kit are now added to that HMS archive. |
I modified arduino_promdump for the same purpose: https://github.com/Hurricos/arduino_promdump/tree/hn28f101 |
Currently there is no support for the H8/500 cpu.
Please respond to this issue if you are already working on this CPU. I'm willing to have a go at it, lets coordinate our activities.
The text was updated successfully, but these errors were encountered: