64kramsystem / 64kramsystem/ghidra-vice-connector

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

オープン
#1 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
priority: high
主要言語
Python
スター
1
フォーク
0
PR マージ指標
30日以内にマージされた PR はありません

説明

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

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。