mirror of https://github.com/mgba-emu/mgba.git
GBA Video: Deserialization fixes on big endian
This commit is contained in:
parent
2ea44603a8
commit
268e9138c6
|
@ -91,10 +91,10 @@ void GBAVideoReset(struct GBAVideo* video) {
|
||||||
|
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < 128; ++i) {
|
for (i = 0; i < 128; ++i) {
|
||||||
video->oam.raw[i * 4] = 0x0200;
|
STORE_16(0x0200, i * 8 + 0, video->oam.raw);
|
||||||
video->oam.raw[i * 4 + 1] = 0x0000;
|
STORE_16(0x0000, i * 8 + 2, video->oam.raw);
|
||||||
video->oam.raw[i * 4 + 2] = 0x0000;
|
STORE_16(0x0000, i * 8 + 4, video->oam.raw);
|
||||||
video->oam.raw[i * 4 + 3] = 0x0000;
|
STORE_16(0x0000, i * 8 + 6, video->oam.raw);
|
||||||
}
|
}
|
||||||
|
|
||||||
video->renderer->deinit(video->renderer);
|
video->renderer->deinit(video->renderer);
|
||||||
|
@ -288,12 +288,15 @@ void GBAVideoSerialize(const struct GBAVideo* video, struct GBASerializedState*
|
||||||
|
|
||||||
void GBAVideoDeserialize(struct GBAVideo* video, const struct GBASerializedState* state) {
|
void GBAVideoDeserialize(struct GBAVideo* video, const struct GBASerializedState* state) {
|
||||||
memcpy(video->renderer->vram, state->vram, SIZE_VRAM);
|
memcpy(video->renderer->vram, state->vram, SIZE_VRAM);
|
||||||
|
uint16_t value;
|
||||||
int i;
|
int i;
|
||||||
for (i = 0; i < SIZE_OAM; i += 2) {
|
for (i = 0; i < SIZE_OAM; i += 2) {
|
||||||
GBAStore16(video->p->cpu, BASE_OAM | i, state->oam[i >> 1], 0);
|
LOAD_16(value, i, state->oam);
|
||||||
|
GBAStore16(video->p->cpu, BASE_OAM | i, value, 0);
|
||||||
}
|
}
|
||||||
for (i = 0; i < SIZE_PALETTE_RAM; i += 2) {
|
for (i = 0; i < SIZE_PALETTE_RAM; i += 2) {
|
||||||
GBAStore16(video->p->cpu, BASE_PALETTE_RAM | i, state->pram[i >> 1], 0);
|
LOAD_16(value, i, state->pram);
|
||||||
|
GBAStore16(video->p->cpu, BASE_PALETTE_RAM | i, value, 0);
|
||||||
}
|
}
|
||||||
video->nextEvent = state->video.nextEvent;
|
video->nextEvent = state->video.nextEvent;
|
||||||
video->eventDiff = state->video.eventDiff;
|
video->eventDiff = state->video.eventDiff;
|
||||||
|
|
Loading…
Reference in New Issue