64kramsystem / 64kramsystem/ghidra-vice-connector

Create interrupt vectors at $FFFA-$FFFF

Aperta
#14 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
priority: high
Lingua principale
Python
Stelle
1
Fork
0
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Add a convenience action that reads the six interrupt vector bytes at \$FFFA–\$FFFF and creates labelled entry points / functions in the current program:

| Address | Vector | Label |
|---------|--------|-------|
| \$FFFA–\$FFFB | NMI | `NMI_VECTOR` |
| \$FFFC–\$FFFD | RESET | `RESET_VECTOR` |
| \$FFFE–\$FFFF | IRQ/BRK | `IRQ_VECTOR` |

Steps:
1. Read the 6 bytes from the live VICE memory (or the loaded program image).
2. Dereference each 16-bit pointer.
3. Create a label and disassemble at the target address.

This gives immediate entry points for game disassembly — NMI and IRQ handlers contain most of the timing-critical game logic.

Can be a Ghidra script alongside `RebaseToC64Load.java`, or a remote method callable from the debugger.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Esamina lo script esistente `RebaseToC64Load.java` per comprendere il modello di scripting di Ghidra. Il lavoro consiste nel leggere la memoria di VICE agli indirizzi $FFFA-$FFFF, dereferenziare i puntatori e creare etichette in Ghidra. Inizia verificando in che modo il connettore accede alla memoria live e crea etichette. Esegui un test eseguendo uno script in Ghidra su un'immagine ROM C64.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Ambito
cli, tooling
Tipo di issue
Funzionalità
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Ferma
Chiarezza
Specificata chiaramente
Idoneità per principianti
65/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.