64kramsystem / 64kramsystem/ghidra-vice-connector
Drive CPU registers and memory (1541 drive)
- Lingua principale
- Python
- Stelle
- 1
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
## Description
VICE exposes registers and memory for floppy drive CPUs (drive 8, 9, etc.) via different `memspace` values in the BMP protocol. The 1541 drive has its own 6502 CPU that can be debugged.
## Proposed implementation
- Add a second thread object in the trace for the drive CPU (e.g., `C64.Threads[1]` with display "1541 Drive 8")
- Query drive registers via `registers_get(memspace=MEMSPACE_DRIVE8)`
- Read drive memory via `memory_get(..., memspace=MEMSPACE_DRIVE8)`
- Add drive-specific memory regions (2KB RAM at $0000-$07FF, ROM, etc.)
- Update event handling to distinguish which CPU stopped
## Why this matters
Useful for debugging fast loaders, copy protection routines, and custom drive code — a niche but important C64 development area.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
La issue descrive l'aggiunta di un secondo thread per la CPU dell'unità 1541 al connettore Ghidra-VICE. Inizia esaminando il codice esistente per la gestione delle trace e dei thread, probabilmente nel modulo principale del connettore. Cerca dove vengono chiamate `registers_get` e `memory_get` con parametri `memspace`. Comprendi l'integrazione del protocollo BMP e il modo in cui vengono gestiti i diversi spazi di memoria (come MEMSPACE_DRIVE8). L'aggiunta di regioni di memoria specifiche dell'unità (2KB RAM, ROM) richiederà il mapping di questi indirizzi. Controlla la gestione degli eventi per vedere come vengono attualmente distinti e ampliati gli arresti della CPU. I test consisteranno nel connettersi a VICE e verificare che lo stato della CPU dell'unità venga letto correttamente.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- cli, tooling
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 45/100