64kramsystem / 64kramsystem/ghidra-vice-connector

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

Đang mở
#1 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
priority: high
Ngôn ngữ chính
Python
Star
1
Fork
0
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.