64kramsystem / 64kramsystem/ghidra-vice-connector

Bank-switched memory regions (ROM/IO/cartridge)

Aberta
#1 0 comentários 0 reações 0 responsáveis Ver no GitHub
priority: high
Linguagem predominante
Python
Estrelas
1
Forks
0
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

## Description

VICE reports memory banks via `BANKS_AVAILABLE` (cpu, ram, rom, io, cart, etc.). Currently `arch.py` defines a single flat 64KB RAM region, which means Ghidra always sees the RAM-underneath view of the address space.

## Proposed implementation

- Query `banks_available()` at connect time to discover available banks
- Expose ROM/IO/cartridge banks as separate overlay memory regions in Ghidra's trace
- Use the `bank_id` parameter of `memory_get` to read from specific banks
- Show what's really mapped at key address ranges:
- `$A000-$BFFF` — BASIC ROM vs RAM
- `$D000-$DFFF` — I/O vs character ROM vs RAM
- `$E000-$FFFF` — KERNAL ROM vs RAM
- Update `put_memory_regions()` and the schema to support multiple overlapping regions

## Why this matters

Without bank awareness, users can't see ROM disassembly or I/O register contents through Ghidra — they only see whatever RAM holds underneath.

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.