Comments (6)
I don't have a binary I think I can share here as it may constitute piracy, but I can reference this here: https://github.com/mamedev/mame/blob/f852af6cb8de67eb8abab8f3d5c517b576fbc2f9/src/mame/drivers/model2.cpp#L4386 which is the binary data I am using. If you can find this file online, the two referenced files are word interleaved, meaning 2 bytes from file 1, then two bytes from file 2. Combine the two referenced files and you have the binary I am using.
As for repos that have some binaries, you might want to check out DrItanium's i960 research here: https://github.com/DrItanium/i960
They also created prebuild GCCs specifically targeting the i960 on archive.org:
ELF - https://archive.org/details/i960-elf-gcc-3.4.6.tar
COFF - https://archive.org/details/i960-coff-gcc-3.4.6.tar
I contributed the NINDY source code to him here, as I personally own the debugging unit: https://github.com/DrItanium/i960/tree/master/src/DISK1-NINDY
If you can compile it, I suggest using CTOOLS as a main compiler (labeled as gnu960 but it's actually CTOOLS 5.0 for unix): https://github.com/DrItanium/i960/tree/master/src/gnu960
Another binary you might look at is an old copy of uClinux by @kmaslack, https://web.archive.org/web/20010812190449/http://www.cse.ogi.edu/~kma/uClinux.html
With enough digging, you could probably get the original source to compare it as well.
from ghidra_i960.
I think c7d59ea fixes the big issues with the bad commit. There is still something funky going on with stack analysis. Will need to add some java to fix it looks like at this point.
from ghidra_i960.
I did make a lot of changes recently (trying to cleanup things and add some niceties for the disassembly and better PCODE for decompiler). I think I got these too, but wrote it off to mismatches in the binary I was looking at from all the reloading of ghidra I was doing during dev, thanks for verifying it is broken.
I think I made a mistake on the effective addressing and its probably trying to deref something that isn't there (though surprising that ghidra cares as loudly as it is).
You mind sharing your binary, or know of any repos that have some binaries (w/ tips on loading)?
I found an old prebuilt version of gcc/binutils and was able to eventually build the ghidra testing code, but there are issues there ATM (mostly related to COFF).
from ghidra_i960.
thanks for all the links, super helpful. Got your interleaved binary loaded (with that commit reverted).
from ghidra_i960.
I can confirm on my end that the errors for this issue have been resolved. While there may still be more work to do, at least auto analysis does not crash, so I'm going to go ahead and close the issue.
from ghidra_i960.
Spent a little more time on the code that caused the breakage and things seems a lot better with fbec22a
from ghidra_i960.
Related Issues (9)
- Warnings and errors analyzing Intel's NINDY 3.01 binary HOT 8
- endian HOT 3
- Status on processor module repo vs proposed ghidra i960 tree? HOT 7
- Importing ROM data imports as RAM HOT 6
- Compare and branch src1 not disassembling correctly. HOT 2
- Binary import fails with exception - <pentry> tags HOT 3
- [Feature Request] - Initial Boot Record support HOT 5
- Debug file parsing HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ghidra_i960.