Replies: 1 comment
-
To clarify, I am looking for a means of naming a bit variable. So that would require something that names the address of a byte (MC6809) and the position of a bit within that byte. If that feature exists in Ghidra, I can't find it. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Hi
I am reverse engineering the firmware of a early 1990's Mil-Spec test equipment. It is an Electro-Metrics EMC30 emc rf receiver. It runs on a MC6809. It has lots of HD6321 PIA devices plus a MC68488 GPIB interface device. The documentation is old enough to include a detailed memory map to bit level.
The PIA read/write different types of data including:
I have read/copied the firmware, which is surprisingly brief.
I am comfortable working with assembler, but this is the first time using Ghidra.
My objective is to interface to the IEEE488 bus but I am having issues so I want to understand what the firmware is doing.
Understanding the 488 interface requires understanding the firmware.
Having found the firmware so brief, I think it includes some short cuts, like no switch debouncing. I am now looking at the possibility of fixing some firmware deficiencies.
Improvements might include the IEEE488 instruction set.
I would like to reference the bits by name. It will make it easier to figure out how the code works, and then to modify code, working with named bits instead of byte collections of bits. This would require memory mapping to bit level. If this is possible, I can't figure out how to do it.
A minor issue I have come across is the PIAs have 2 address lines to access 6 bytes. Which of the 6 bytes is addressed is determined by a bit value in an internal register. This sounds like something a pair of memory map overlays would be used for.
Any help appreciated.
Beta Was this translation helpful? Give feedback.
All reactions