64kramsystem / 64kramsystem/ghidra-vice-connector

Drive CPU registers and memory (1541 drive)

Aperta
#5 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
priority: medium
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.