Memory Maps
Nobody has claimed this yet.
- Dominant language
- C
- Stars
- 14.1k
- Forks
- 2.2k
- Avg merge
- 7h 35m
- Merged PRs (30d)
- 51
Description
I am working on an application that consumes the data from Retroarch. The issue that I am facing is that the memory map does not seem to reflect the ones as described with the PSX and the N64 documentation.
PSX
"KSEG1", 0xA0000000 , 0xBFFFFFFF
"KSEG2", 0xC0000000 , 0xFFFFFFFF
"KSEG0", 0x80000000 , 0x9FFFFFFF
N64
"RDRAM Memory", 0x00000000,0x03EFFFFF
"Cartridge Domain 2 Address 1", 0x05000000,0x05FFFFFF
"Cartridge Domain 1 Address 1", 0x06000000,0x07FFFFFF
"Cartridge Domain 2 Address 2", 0x08000000,0x0FFFFFFF
"Cartridge Domain 1 Address 2", 0x10000000,0x1FBFFFFF
"Cartridge Domain 1 Address 3", 0x1FD00000,0x7FFFFFFF
I have found that the memory range for "KSEG", 0x00000000 , 0x8FFFFFFF and "External SysAD Device", 0x80000000,0x80200000, when accessed will crash Retroarch.
What is the memory map that Beetle and Mupen actually uses and how is it split in Retroarch? I have tried searching through the code, but I have not been successful in locating this information effectively.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by searching the RetroArch source for the Beetle and Mupen core integrations and their memory-map handling, since no specific file or test is named. Compare the implemented PSX and N64 ranges with the documentation quoted in the issue, then document the actual split and clarify which ranges cause the reported crashes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c
- Domain
- operating-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100