Plugins for the Hopper disassembler
Plugins currently available in the repository:
CPU plugins:
File loader plugins:
Tool plugins:
version 0.2.2
This CPU core plugin allows you to disassemble 6502/65C02 code, used in loads of home computers of the 70s, 80s, and early 90s, and in industrial automation or other specialised tasks where an MCU is needed.
This plugin can be referenced from the command line tool using 6502
as its identifer.
CPU backends currently supported: 6502, 65C02, 65N02, 65R02, 65S02, HuC6280, MELPS740, MOS6510, M37450, R6500, R65C02, R65C19, R65C29, SunPlus, W65C02S.
Manufacturer | Model | Provider | Datasheet |
---|---|---|---|
Conexant | L27 | Rockwell → R65C19 | Datasheet |
L28 | Rockwell → R65C19 | Datasheet | |
California Micro Devices | G65SC02 | Generic → 65C02 | Datasheet |
G65SC150 | Generic → 65C02 | Datasheet | |
G65SC151 | Generic → 65C02 | Datasheet | |
GTE | GS65C02 | Generic → 65C02 | Datasheet |
Hua Ko Electronics | HKE65SC02 | Generic → 65C02 | Datasheet |
HKE65SC03 | Generic → 65C02 | Datasheet | |
HKE65SC04 | Generic → 65C02 | Datasheet | |
HKE65SC05 | Generic → 65C02 | Datasheet | |
HKE65SC06 | Generic → 65C02 | Datasheet | |
HKE65SC07 | Generic → 65C02 | Datasheet | |
HKE65SC102 | Generic → 65C02 | Datasheet | |
HKE65SC103 | Generic → 65C02 | Datasheet | |
HKE65SC104 | Generic → 65C02 | Datasheet | |
HKE65SC105 | Generic → 65C02 | Datasheet | |
HudsonSoft | HuC6280 | HudsonSoft → HuC6280 | N/A |
HuC6280A | HudsonSoft → HuC6280 | N/A | |
Mitsubishi | M37408 | Mitsubishi → MELPS740 | Datasheet |
M37409 | Mitsubishi → MELPS740 | Datasheet | |
M37410 | Mitsubishi → MELPS740 | Datasheet | |
M37412 | Mitsubishi → MELPS740 | Datasheet | |
M37413 | Mitsubishi → MELPS740 | Datasheet | |
M37414 | Mitsubishi → MELPS740 | Datasheet | |
M37415 | Mitsubishi → MELPS740 | Datasheet | |
M37416 | Mitsubishi → MELPS740 | Datasheet | |
M37417 | Mitsubishi → MELPS740 | Datasheet | |
M37418 | Mitsubishi → MELPS740 | Datasheet | |
M37420 | Mitsubishi → MELPS740 | Datasheet | |
M37421 | Mitsubishi → MELPS740 | Datasheet | |
M37424 | Mitsubishi → MELPS740 | Datasheet | |
M37524 | Mitsubishi → MELPS740 | Datasheet | |
M37450M2 | Mitsubishi → M37450 | Datasheet | |
M37450M4 | Mitsubishi → M37450 | Datasheet | |
M37450M8 | Mitsubishi → M37450 | Datasheet | |
MOS | 6502 | Generic → 6502 | Datasheet |
6503 | Generic → 6502 | Datasheet | |
6504 | Generic → 6502 | Datasheet | |
6505 | Generic → 6502 | Datasheet | |
6506 | Generic → 6502 | Datasheet | |
6507 | Generic → 6502 | Datasheet | |
6508 | Generic → 6502 | Datasheet | |
6509 | Generic → 6502 | Datasheet | |
6510 | MOS → 6510 | Datasheet | |
6512 | Generic → 6502 | Datasheet | |
6513 | Generic → 6502 | Datasheet | |
6514 | Generic → 6502 | Datasheet | |
6515 | Generic → 6502 | Datasheet | |
7501 | Generic → 6502 | N/A | |
8500 | Generic → 6502 | N/A | |
8501 | Generic → 6502 | N/A | |
8502 | Generic → 6502 | N/A | |
8510 | Generic → 6502 | N/A | |
NCR | NCR65C02 | Generic → 65C02 | Datasheet |
Novatek | NT6880 | Generic → 6502 | Datasheet |
NT6881 | Generic → 6502 | Datasheet | |
NT68P1 | Generic → 6502 | Datasheet | |
Ricoh | RP2A03 | Generic → 6502 | N/A |
RP2A07 | Generic → 6502 | N/A | |
RP65C02 | Generic → 65C02 | N/A | |
Rockwell | R6500/11 | Rockwell → R6500 | Datasheet |
R6500/12 | Rockwell → R6500 | Datasheet | |
R6500/13 | Rockwell → R6500 | Datasheet | |
R6500/15 | Rockwell → R6500 | Datasheet | |
R6500/16 | Rockwell → R6500 | Datasheet | |
R6501 | Rockwell → R6500 | Datasheet | |
R6502 | Generic → 6502 | Datasheet | |
R6503 | Generic → 6502 | Datasheet | |
R6504 | Generic → 6502 | Datasheet | |
R6505 | Generic → 6502 | Datasheet | |
R6506 | Generic → 6502 | Datasheet | |
R6507 | Generic → 6502 | Datasheet | |
R6511 | Rockwell → R6500 | Datasheet | |
R6512 | Generic → 6502 | Datasheet | |
R6513 | Generic → 6502 | Datasheet | |
R6514 | Generic → 6502 | Datasheet | |
R6515 | Generic → 6502 | Datasheet | |
R65C00/21 | Rockwell → R65C29 | Datasheet | |
R65C02 | Rockwell → R65C02 | Datasheet | |
R65C19 | Rockwell → R65C19 | Datasheet | |
R65C29 | Rockwell → R65C29 | Datasheet | |
R65C102 | Rockwell → R65C29 | Datasheet | |
R65C112 | Rockwell → R65C29 | Datasheet | |
Sunplus | SPL61A | Sunplus → 65N02 | Datasheet |
SPL130A | Sunplus → 65N02 | Datasheet | |
SPL191A | Sunplus → 65N02 | Datasheet | |
SPL256A | Sunplus → 65N02 | Datasheet | |
SPL512A | Sunplus → 65N02 | Datasheet | |
SPL512B | Sunplus → 65N02 | Datasheet | |
SPL1000A | Sunplus → 65N02 | Datasheet | |
SPL1000B | Sunplus → 65N02 | Datasheet | |
SPLB10A | Sunplus → 65N02 | Datasheet | |
SPF02A | Sunplus → 65R02 | Datasheet | |
SPL02C | Sunplus → 65R02 | Datasheet | |
SPL02D | Sunplus → 65R02 | Datasheet | |
SPL03B | Sunplus → 65R02 | Datasheet | |
SPL03C | Sunplus → 65R02 | Datasheet | |
SPL05A | Sunplus → 65R02 | Datasheet | |
SPL05B | Sunplus → 65R02 | Datasheet | |
SPL06A | Sunplus → 65R02 | Datasheet | |
SPL06B | Sunplus → 65R02 | Datasheet | |
SPLB20A | Sunplus → 65R02 | Datasheet | |
SPLB20A1 | Sunplus → 65R02 | Datasheet | |
SPLB21A | Sunplus → 65R02 | Datasheet | |
SPLB22A | Sunplus → 65R02 | Datasheet | |
SPLB23A | Sunplus → 65R02 | Datasheet | |
SPLB24A | Sunplus → 65R02 | Datasheet | |
SPLB25A | Sunplus → 65R02 | Datasheet | |
SPLB26A | Sunplus → 65R02 | Datasheet | |
SPL128A | Sunplus → 65R02 | Datasheet | |
SPLG01 | Sunplus → 65R02 | Datasheet | |
SPF06A1 | Sunplus → 65S02 | Datasheet | |
SPF18A1 | Sunplus → 65S02 | Datasheet | |
SPF20A | Sunplus → 65S02 | Datasheet | |
SPF30A1 | Sunplus → 65S02 | Datasheet | |
SPF30B | Sunplus → 65S02 | Datasheet | |
SPL02A | Sunplus → 65S02 | Datasheet | |
SPCxxx | Sunplus → SunPlus | Datasheet | |
SPCRxxx | Sunplus → SunPlus | Datasheet | |
SPMCxx | Sunplus → SunPlus | Datasheet | |
SPFA64A | Sunplus → SunPlus | Datasheet | |
SPFA120A | Sunplus → SunPlus | Datasheet | |
SPL08A | Sunplus → SunPlus | Datasheet | |
SPL15A | Sunplus → SunPlus | Datasheet | |
SPL15B | Sunplus → SunPlus | Datasheet | |
SPL25B | Sunplus → SunPlus | Datasheet | |
SPL25C | Sunplus → SunPlus | Datasheet | |
SPL30A | Sunplus → SunPlus | Datasheet | |
SPL31A | Sunplus → SunPlus | Datasheet | |
SPL60A | Sunplus → SunPlus | Datasheet | |
SPL190A | Sunplus → SunPlus | Datasheet | |
SPMC65P1504A | Generic → 6502 | Datasheet | |
SPMC65P1502A | Generic → 6502 | Datasheet | |
Synertek | SY6502 | Generic → 6502 | Datasheet |
SY6503 | Generic → 6502 | Datasheet | |
SY6504 | Generic → 6502 | Datasheet | |
SY6505 | Generic → 6502 | Datasheet | |
SY6506 | Generic → 6502 | Datasheet | |
SY6507 | Generic → 6502 | Datasheet | |
SY6512 | Generic → 6502 | Datasheet | |
SY6513 | Generic → 6502 | Datasheet | |
SY6514 | Generic → 6502 | Datasheet | |
SY6515 | Generic → 6502 | Datasheet | |
SY65C02 | Generic → 65C02 | N/A | |
UMC | UM6502 | Generic → 6502 | Datasheet |
UM6507 | Generic → 6502 | Datasheet | |
UM6512 | Generic → 6502 | Datasheet | |
VLSI | 6502A | Generic → 6502 | N/A |
VL65NC02 | WDC → W65C02S | Datasheet | |
WDC | W65C02S | WDC → W65C02S | Datasheet |
W65C134S | WDC → W65C02S | Datasheet | |
W65C02GPMCU | WDC → W65C02S | Datasheet | |
Weltrend | WT5090 | Generic → 6502 | N/A |
WT5091 | Generic → 6502 | N/A | |
WT50P6 | Generic → 6502 | N/A | |
WT6148 | Generic → 6502 | Datasheet | |
WT6160 | Generic → 6502 | Datasheet | |
WT62P2 | Generic → 6502 | Datasheet | |
WT65F1 | Generic → 6502 | Datasheet | |
WT6511 | Generic → 6502 | N/A | |
WT6512 | Generic → 6502 | N/A | |
WT6512F | Generic → 6502 | N/A |
PATH
variable.version 0.2.1
This CPU core plugin allows you to disassemble 65816/65802 code, used in some of home computers of the 80s, and early 90s, for industrial automation or other specialised tasks where a microcontroller is needed, and in the Super Nintendo/Super Famicom games console.
This plugin can be referenced from the command line tool using 65816
as its identifer.
CPU backends currently supported: 65816, MELPS 7700.
Manufacturer | Model | Provider | Datasheet |
---|---|---|---|
California Micro Devices | G65SC816 | Generic → 65816 | Datasheet |
G65SC802 | Generic → 65816 | Datasheet | |
WDC | W65C816S | Generic → 65816 | Datasheet |
W65C802S | Generic → 65816 | N/A | |
W65C265S | Generic → 65816 | Datasheet | |
W65C816GPMCU | Generic → 65816 | Datasheet | |
Mitsubishi | M37906M4C | Mitsubishi → M7700 | Datasheet |
M37906M4H | Mitsubishi → M7700 | Datasheet | |
M37906M6C | Mitsubishi → M7700 | Datasheet | |
M37906M8C | Mitsubishi → M7700 | Datasheet |
PATH
variable.version 0.1.1
This CPU core plugin allows you to disassemble 8x300 code, used in early signal processing equipment in the 70s and early 80s.
This plugin can be referenced from the command line tool using 8x300
as its identifer.
CPU backends currently supported: 8x300, 8x305.
Manufacturer | Model | Provider | Datasheet |
---|---|---|---|
AMD | AM29x305 | Generic → 8x305 | Datasheet |
AM29x305A | Generic → 8x305 | Datasheet | |
Lansdale | SL8X305 | Generic → 8x305 | Datasheet |
Philips | S8X305I | Generic → 8x305 | N/A |
Scientific Micro Systems | SMS300 | Generic → 8x300 | N/A |
Signetics | N8X300I | Generic → 8x300 | Datasheet |
S8X300-1 | Generic → 8x300 | Datasheet | |
S8X300-2 | Generic → 8x300 | Datasheet | |
N8X305A | Generic → 8x305 | Datasheet | |
N8X305I | Generic → 8x305 | Datasheet | |
N8X305N | Generic → 8x305 | Datasheet |
SEL
opcodes.PATH
variable.;
rather than with *
as expected. As far as the author can see, this is something that cannot fixed by the plugin but by the Hopper authors directly.version 0.0.1
This CPU core plugin allows you to disassemble Texas Instruments' TMS1000 series code, used in early embedded equipment and terminals.
This plugin can be referenced from the command line tool using tms1000
as its identifer.
CPU backends currently supported: TMS1000, TMS1100.
Manufacturer | Model | Provider | Datasheet |
---|---|---|---|
Texas Instruments | TMS1000 | Texas Instruments → TMS1000 | Datasheet |
TMS1070 | Texas Instruments → TMS1000 | Datasheet | |
TMS1100 | Texas Instruments → TMS1100 | Datasheet | |
TMS1200 | Texas Instruments → TMS1000 | Datasheet | |
TMS1270 | Texas Instruments → TMS1000 | Datasheet | |
TMS1300 | Texas Instruments → TMS1100 | Datasheet |
PATH
variable.version 0.0.1
This file loader plugin allows you to load Apple ][ binaries in A2 format to be disassembled (or basically anything you can either BLOAD
or BRUN
). (Please note that the plugin depends on the 6502 CPU core being installed in order to work properly)
This plugin can be referenced from the command line tool using a2
as its identifer.
version 0.2.2
This file loader plugin allows you to load Commodore binaries in PRG format to be disassembled. (Please note that the plugin depends on the 6502 CPU core being installed in order to work properly)
This plugin can be referenced from the command line tool using cbm
as its identifer.
version 0.0.1
This file loader plugin allows you to load binaries saved as ASCII HEX files. Currently the plugin only support the following formats: Intel HEX.
This plugin can be referenced from the command line tool using hex
as its identifer.
version 0.0.2
This tool plugin currently allows to map the full address space of the CPU chosen for the currently loaded file. When dealing with firmware images and the like, especially on older architectures, the code already assumes a certain memory layout and memory amount. If a block of code is loaded at a particular address and points to absolute memory locations it is a bit of a pain to handle the situation in Hopper since there is no way (that I know of) to create a segment from the UI. This plugin solves this very specific situation.
This plugin can be referenced from the command line tool using addressspace
as its identifer.
Checkout from Git, open HopperPlugins.xcworkspace
in Xcode/AppCode, select the plugin you are interested in and then let Xcode/AppCode build the associated project; the plugin will be automatically copied to the appropriate paths (~/Library/Application Support/Hopper/Plugins/v4/{CPUs,Loaders,Tools}
). Once done, please close any open instances of Hopper and restart them. That's all there is to it.
Keep in mind that these plugins require Hopper 4.7.0 or later to work. They may work on older versions but they are neither tested nor supported on anything older than v4.7.0.
If you are unable or unwilling to update your Hopper installation from v3 to v4 then build the code marked by the v3api
git tag. However, since the Hopper author allowed free upgrades from v3 licences to v4 licenses, v3 plugins are effectively unsupported as of v4 release. It is strongly suggested to update your Hopper installation at your earliest opportunity.
Send an email to a.gatti * frob.it
(yep, replace the asterisk, you know what to do), or try sending a message to [email protected]
on Jabber if you so fancy.