Update to v087r26 release.
byuu says:
Changelog:
- fixed FIFO[1] reset behavior (fixes audio in Sword of Mana)
- added FlashROM emulation (both sizes)
- GBA parses RAM settings from manifest.xml now
- save RAM is written to disk now
- added save state support (it's currently broken, though)
- fixed ROM/RAM access timings
- open bus should mostly work (we don't do the PC+12 stuff yet)
- emulated the undocumented memory control register (mirror IWRAM,
disable I+EWRAM, EWRAM wait state count)
- emulated keypad interrupts
- emulated STOP (freezes video, audio, DMA and timers; only breaks on
keypad IRQs)
- probably a lot more, it was a long night ...
Show stoppers, missing things, broken things, etc:
- ST018 is still completely broken
- GBC audio sequencer apparently needs work
- GBA audio FIFO buffer seems too quiet
- PHI / ROM prefetch needs to be emulated (no idea on how to do this,
especially PHI)
- SOUNDBIAS 64/128/256khz modes should output at that resolution
(really, we need to simulate PWM properly, no idea on how to do this)
- object mosaic top-left coordinates are wrong (minor, fixing will
actually make the effect look worse)
- need to emulate PPU greenswap and color palette distortion (no idea on
how do this)
- need GBA save type database (I would also LIKE to blacklist
/ patch-out trainers, but that's a discussion for another day.)
- some ARM ops advance the prefetch buffer, so you can read PC+12 in
some cases
2012-04-16 12:19:39 +00:00
|
|
|
void ARM::PSR::serialize(serializer &s) {
|
|
|
|
s.integer(n);
|
|
|
|
s.integer(z);
|
|
|
|
s.integer(c);
|
|
|
|
s.integer(v);
|
|
|
|
s.integer(i);
|
|
|
|
s.integer(f);
|
|
|
|
s.integer(t);
|
|
|
|
s.integer(m);
|
|
|
|
}
|
|
|
|
|
|
|
|
void ARM::serialize(serializer &s) {
|
|
|
|
s.integer(processor.r0.data);
|
|
|
|
s.integer(processor.r1.data);
|
|
|
|
s.integer(processor.r2.data);
|
|
|
|
s.integer(processor.r3.data);
|
|
|
|
s.integer(processor.r4.data);
|
|
|
|
s.integer(processor.r5.data);
|
|
|
|
s.integer(processor.r6.data);
|
|
|
|
s.integer(processor.r7.data);
|
|
|
|
|
|
|
|
s.integer(processor.usr.r8.data);
|
|
|
|
s.integer(processor.usr.r9.data);
|
|
|
|
s.integer(processor.usr.r10.data);
|
|
|
|
s.integer(processor.usr.r11.data);
|
|
|
|
s.integer(processor.usr.r12.data);
|
|
|
|
s.integer(processor.usr.sp.data);
|
|
|
|
s.integer(processor.usr.lr.data);
|
|
|
|
|
|
|
|
s.integer(processor.fiq.r8.data);
|
|
|
|
s.integer(processor.fiq.r9.data);
|
|
|
|
s.integer(processor.fiq.r10.data);
|
|
|
|
s.integer(processor.fiq.r11.data);
|
|
|
|
s.integer(processor.fiq.r12.data);
|
|
|
|
s.integer(processor.fiq.sp.data);
|
|
|
|
s.integer(processor.fiq.lr.data);
|
|
|
|
processor.fiq.spsr.serialize(s);
|
|
|
|
|
|
|
|
s.integer(processor.irq.sp.data);
|
|
|
|
s.integer(processor.irq.lr.data);
|
|
|
|
processor.irq.spsr.serialize(s);
|
|
|
|
|
|
|
|
s.integer(processor.svc.sp.data);
|
|
|
|
s.integer(processor.svc.lr.data);
|
|
|
|
processor.svc.spsr.serialize(s);
|
|
|
|
|
|
|
|
s.integer(processor.abt.sp.data);
|
|
|
|
s.integer(processor.abt.lr.data);
|
|
|
|
processor.abt.spsr.serialize(s);
|
|
|
|
|
|
|
|
s.integer(processor.und.sp.data);
|
|
|
|
s.integer(processor.und.lr.data);
|
|
|
|
processor.und.spsr.serialize(s);
|
|
|
|
|
2012-04-17 12:16:54 +00:00
|
|
|
s.integer(processor.pc.data);
|
Update to v087r26 release.
byuu says:
Changelog:
- fixed FIFO[1] reset behavior (fixes audio in Sword of Mana)
- added FlashROM emulation (both sizes)
- GBA parses RAM settings from manifest.xml now
- save RAM is written to disk now
- added save state support (it's currently broken, though)
- fixed ROM/RAM access timings
- open bus should mostly work (we don't do the PC+12 stuff yet)
- emulated the undocumented memory control register (mirror IWRAM,
disable I+EWRAM, EWRAM wait state count)
- emulated keypad interrupts
- emulated STOP (freezes video, audio, DMA and timers; only breaks on
keypad IRQs)
- probably a lot more, it was a long night ...
Show stoppers, missing things, broken things, etc:
- ST018 is still completely broken
- GBC audio sequencer apparently needs work
- GBA audio FIFO buffer seems too quiet
- PHI / ROM prefetch needs to be emulated (no idea on how to do this,
especially PHI)
- SOUNDBIAS 64/128/256khz modes should output at that resolution
(really, we need to simulate PWM properly, no idea on how to do this)
- object mosaic top-left coordinates are wrong (minor, fixing will
actually make the effect look worse)
- need to emulate PPU greenswap and color palette distortion (no idea on
how do this)
- need GBA save type database (I would also LIKE to blacklist
/ patch-out trainers, but that's a discussion for another day.)
- some ARM ops advance the prefetch buffer, so you can read PC+12 in
some cases
2012-04-16 12:19:39 +00:00
|
|
|
processor.cpsr.serialize(s);
|
|
|
|
s.integer(processor.carryout);
|
|
|
|
s.integer(processor.sequential);
|
|
|
|
s.integer(processor.irqline);
|
|
|
|
|
|
|
|
s.integer(pipeline.reload);
|
|
|
|
s.integer(pipeline.execute.address);
|
|
|
|
s.integer(pipeline.execute.instruction);
|
|
|
|
s.integer(pipeline.decode.address);
|
|
|
|
s.integer(pipeline.decode.instruction);
|
|
|
|
s.integer(pipeline.fetch.address);
|
|
|
|
s.integer(pipeline.fetch.instruction);
|
|
|
|
|
|
|
|
s.integer(crash);
|
2012-04-17 12:16:54 +00:00
|
|
|
|
|
|
|
processor.setMode((Processor::Mode)cpsr().m);
|
Update to v087r26 release.
byuu says:
Changelog:
- fixed FIFO[1] reset behavior (fixes audio in Sword of Mana)
- added FlashROM emulation (both sizes)
- GBA parses RAM settings from manifest.xml now
- save RAM is written to disk now
- added save state support (it's currently broken, though)
- fixed ROM/RAM access timings
- open bus should mostly work (we don't do the PC+12 stuff yet)
- emulated the undocumented memory control register (mirror IWRAM,
disable I+EWRAM, EWRAM wait state count)
- emulated keypad interrupts
- emulated STOP (freezes video, audio, DMA and timers; only breaks on
keypad IRQs)
- probably a lot more, it was a long night ...
Show stoppers, missing things, broken things, etc:
- ST018 is still completely broken
- GBC audio sequencer apparently needs work
- GBA audio FIFO buffer seems too quiet
- PHI / ROM prefetch needs to be emulated (no idea on how to do this,
especially PHI)
- SOUNDBIAS 64/128/256khz modes should output at that resolution
(really, we need to simulate PWM properly, no idea on how to do this)
- object mosaic top-left coordinates are wrong (minor, fixing will
actually make the effect look worse)
- need to emulate PPU greenswap and color palette distortion (no idea on
how do this)
- need GBA save type database (I would also LIKE to blacklist
/ patch-out trainers, but that's a discussion for another day.)
- some ARM ops advance the prefetch buffer, so you can read PC+12 in
some cases
2012-04-16 12:19:39 +00:00
|
|
|
}
|