Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > C64 Coding > Ghidra with illegal opcodes
2024-05-13 18:39
Grue

Registered: Dec 2001
Posts: 154
Ghidra with illegal opcodes

Recently, Kakka / Extend added 6510 illegal opcode decoding support for the Ghira fork, which I have been using on my C64 game mods.
Note that you must choose the 6510 variant of MOS6502 to use it as a CPU for your binary.

https://github.com/grue74/ghidra-c64helpers

And binaries for Linux and Windows here also, the c64 byte viewer as a plugin can be found:

https://voidhole.com/~grue/ghidra/

I don't know how to use the debugger with ghidra, so I don't know if those illegals work ok, but at least they seem to work ok on the code lister.

Ghidra is a pretty good replacement for the IDA Pro; at least, you cannot beat the price.

I update those builds semi-randomly with the latest updates from the official ghidra tree.
 
... 9 posts hidden. Click here to view all posts....
 
2024-05-16 17:42
chatGPZ

Registered: Dec 2001
Posts: 11154
the "Pet Me" font should support that official mapping
2024-05-17 06:57
Grue

Registered: Dec 2001
Posts: 154
Quote: the "Pet Me" font should support that official mapping

Thanks for the tip. The ghidra builds have now been updated to follow Pet Me font mappings.
Characters 0-127 conform to UTF8 standards, and 128-255 don't, as there don't seem to be inverted characters on Unicode mappings.
2024-05-17 12:47
Fungus

Registered: Sep 2002
Posts: 631
I need to check this out too, I miss using IDA, but no idea how to use it with C64 stuff.
2024-05-17 14:50
chatGPZ

Registered: Dec 2001
Posts: 11154
You need IDA Pro, that has the 6502 module (with illegals even).

I wouldn't use IDA for C64 things if i didn't already know it quite good - all the x86-isms can be confusing and annoying :)

Now if someone would convince Ilfak to update Hexrays for 6502 - that would be a different story :D
2024-05-18 03:59
Fungus

Registered: Sep 2002
Posts: 631
Hexrays for 6502 would be awesome, just a pipedream though.
2024-05-18 10:52
tlr

Registered: Sep 2003
Posts: 1730
I've also thought about using ghidra a while ago, installed it and didn't really get acquainted to it. Maybe I should give it another go.
2024-05-18 21:35
Digger

Registered: Mar 2005
Posts: 422
Has anyone run it successfully on macOS?
2024-05-19 15:05
oziphantom

Registered: Oct 2014
Posts: 480
Ghidra is awesome, but I kind of feel that it is overkill for a C64 game. Regenerator, I think handles it better, once you get into the split hi/lo table -1 etc

Also getting direct 64tass output files while Ghidra's is more designed for "you can read the code and copy paste a function"
2024-05-19 15:55
Fungus

Registered: Sep 2002
Posts: 631
If Ghidra has the flow chart and shows branches and loops connected, it will be very useful even if it doesn't give source files.

If it has that, I'm going to start poking with it immediately as it will make reversing what routines do much easier.
2024-05-19 16:35
Grue

Registered: Dec 2001
Posts: 154
Quote: If Ghidra has the flow chart and shows branches and loops connected, it will be very useful even if it doesn't give source files.

If it has that, I'm going to start poking with it immediately as it will make reversing what routines do much easier.


It has, that's the reason why it's mostly useful.

I prefer the 6502bench for creating the source code as other tools I've tried feel way too limited, and there are also annoying limitations in 6502bench :)

My workflow is more or less:

RetroDebugger for investigating and saving binary to work with.
Ghidra for preliminary work to figure out how everything works and then move to 6502bench to make the relocatable source code.

You can, of course, skip the ghidra and move right on to 6502bench if you eat and shit the 6502 code, but I appreciate the help Ghidra can provide me.

To use my symbol files for the Ghidra, you must create 3 layers In the RAM section.

I really should make a short video about how to get started, as it's quite difficult to get started without any pointers. I'm not even sure if my method is the most sensible one..
Previous - 1 | 2 | 3 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Magnar
Isildur/Samar
Mike
radius75
nanzee/Chocotrophy
NecroPolo/Lethargy/H..
Danko/Fairlight
Guests online: 91
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.7)
6 Aliens in Wonderland  (9.6)
7 Comaland 100%  (9.6)
8 No Bounds  (9.6)
9 Uncensored  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Layers  (9.6)
2 Cubic Dream  (9.6)
3 Party Elk 2  (9.6)
4 Copper Booze  (9.6)
5 Rainbow Connection  (9.5)
6 It's More Fun to Com..  (9.5)
7 Dawnfall V1.1  (9.5)
8 Daah, Those Acid Pil..  (9.5)
9 Birth of a Flower  (9.5)
10 Quadrants  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Fullscreen Graphicians
1 Joe  (9.7)
2 Veto  (9.6)
3 Facet  (9.6)
4 The Sarge  (9.6)
5 Carrion  (9.5)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.048 sec.