Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parallel-RDP treats values in VRAM as little endian? #93

Open
tamaroning opened this issue Aug 28, 2023 · 5 comments
Open

Parallel-RDP treats values in VRAM as little endian? #93

tamaroning opened this issue Aug 28, 2023 · 5 comments

Comments

@tamaroning
Copy link
Collaborator

tamaroning commented Aug 28, 2023

parallel-rdpにパッチ当てるの大変そう
2:52
vram領域を検出してbyte swapして格納しようかなと思ってるけど、それも少しむずかしい。
2:53
vram領域の始点が毎フレームごとに切り替わるから
2:54
swap chain(vram領域の候補)を検出すればできることにはできる。
@tamaroning

@SimoneN64
Copy link

SimoneN64 commented Dec 15, 2023

Hello!
I firstly wanted to let you know I really look forward to the development of this emulator and that I appreciate you using my emulator as a reference, even linking to it in the README 😄
Secondly, I can confirm the question posed in the title. Parallel-RDP expects the RDRAM to be in little-endian ordering. What I do is just pass Parallel-RDP a pointer to my rdram and instead byteswap memory accesses, rather than storing it as big-endian.
Hope I was not intrusive and of help!

@tamaroning
Copy link
Collaborator Author

Hello Simone! Thank you for reaching out to me!

What I do is just pass Parallel-RDP a pointer to my rdram and instead byteswap memory accesses, rather than storing it as big-endian.

I think parallel-RDP receives only a pointer to RDRAM but how do you tell parallel-RDP to access RDRAM using byteswap?
I am not sure that parallel-RDP has such an option ...

@tamaroning
Copy link
Collaborator Author

Oh, I might misunderstood.
Kaizen stores data in RDRAM as big-endian and components except RDRAM access it with byte-swapping from little-endian to big-endian.
Am I correct?

@tamaroning
Copy link
Collaborator Author

I tried to make a patch to parallel-RDP so that it treats RDRAM as big-endian.
But I couldn't. I think it is the best option because it is a little confusing to treat RDRAM as something special.

@SimoneN64
Copy link

Oh, I might misunderstood.
Kaizen stores data in RDRAM as big-endian and components except RDRAM access it with byte-swapping from little-endian to big-endian.
Am I correct?

If I understood correctly, yes, that's what I do

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants