Skip to content
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

Open
sijskes opened this issue Apr 21, 2020 · 19 comments
Open

add support for the H8/500 H8500 cpu #1793

sijskes opened this issue Apr 21, 2020 · 19 comments
Labels

Comments

@sijskes
Copy link

sijskes commented Apr 21, 2020

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.

@sijskes
Copy link
Author

sijskes commented May 3, 2020

i'm currently working on it.

@jasongaunt
Copy link

@sijskes Hi Simon, did you get any further with this?

@sijskes
Copy link
Author

sijskes commented Jan 12, 2021

@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.

@foxbcx
Copy link

foxbcx commented Mar 28, 2021

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?

https://github.com/foxbcx/Ghidra-H8-Processor/projects

@professor-jonny
Copy link

@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.

Do you have the code you worked on so far for this we could add to?

@jasongaunt
Copy link

@sijskes @foxbcx Hi guys, did you get any further with this?

(foxbcx - I've only just spotted your profile pic, the reason I'm actually interested in this is for Legnums / Galant VR-4s haha)

@foxbcx
Copy link

foxbcx commented Jul 19, 2022

@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.

@jasongaunt
Copy link

@foxbcx Are you on OzVR4 or ClubVR4? I'll message you there to discuss as it's out of scope for this issue :)

@foxbcx
Copy link

foxbcx commented Jul 19, 2022

Yes on both, I own ozvr4 so more active on there :)

@davidgiven
Copy link

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.

@Hurricos
Copy link

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.

https://git.laboratoryb.org/hurricos/ghidra-h8-500

@c4ashley
Copy link

@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.

https://github.com/c4ashley/ghidra-h8-500

@Hurricos
Copy link

Hurricos commented Jan 23, 2024

@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.

https://github.com/c4ashley/ghidra-h8-500

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.

@c4ashley
Copy link

c4ashley commented Jan 23, 2024

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.

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?

Do you have a hardware manual for h8/520?

The HD6475208 is the processor I've been referencing: https://datasheet.datasheetarchive.com/originals/distributors/Datasheets-17/DSA-336302.pdf

RE: Maximum mode, I think ideally a complete repo separates each mode into a different pspec + slaspec that do @includes as needed.

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.

@Hurricos
Copy link

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?

Please do!

Thank you for the HWM PDF.

@c4ashley
Copy link

Please do!

https://github.com/c4ashley/yamaha-sy22-fw

Thank you for the HWM PDF.

No worries!

@TomFLV
Copy link

TomFLV commented Feb 3, 2024

I'm working on a data logger that uses the H8/532, So this would be awesome for me. I just bought an original H8/532 dev kit off the bay, And have created a pcb to dump the contents using a tl866. I have firmware dumps and other such items available if anyone wants to have a poke.
s-l1600
cpu flash adapter tl866

@TomFLV
Copy link

TomFLV commented Feb 10, 2024

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.

@Hurricos
Copy link

tl866

I modified arduino_promdump for the same purpose: https://github.com/Hurricos/arduino_promdump/tree/hn28f101

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

9 participants