64kramsystem / 64kramsystem/ghidra-vice-connector

Drive CPU registers and memory (1541 drive)

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub
priority: medium
Lenguaje dominante
Python
Estrellas
1
Forks
0
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

## 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.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

El issue describe la incorporación de un segundo thread para la CPU de la unidad 1541 al conector Ghidra-VICE. Empieza examinando el código existente de gestión de trazas y threads, probablemente en el módulo principal del conector. Busca dónde se llama a `registers_get` y `memory_get` con parámetros `memspace`. Comprende la integración del protocolo BMP y cómo se gestionan los distintos espacios de memoria (como MEMSPACE_DRIVE8). Añadir regiones de memoria específicas de la unidad (2KB RAM, ROM) requerirá mapear estas direcciones. Revisa la gestión de eventos para ver cómo se distinguen actualmente las paradas de la CPU y cómo se amplían. Las pruebas consistirán en conectarse a VICE y verificar que el estado de la CPU de la unidad se lee correctamente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
python
Área
cli, tooling
Tipo de issue
Nueva funcionalidad
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.