Commit graph

11 commits

Author SHA1 Message Date
Lionel Flandrin
9848d673e3 Implemented basic tracing support.
When built with the "trace" feature the emulator now supports tracing
variables for debugging purposes.
2016-11-08 19:09:15 +01:00
Lionel Flandrin
e53faebef3 Fix comment 2016-08-23 14:49:17 +02:00
Lionel Flandrin
0bfd1155e1 Added interface for the frontend to reconfigure the GamePads 2016-06-07 23:12:55 +02:00
Lionel Flandrin
2d26e5fb60 Added savestate support by implementing Encodable/Decodable
Most of the codebase implements Encodable/Decodable now, with the
exception of the BIOS, CD image and gamepads. The BIOS checksum is
stored however, in order for the frontend to know which file to load.
2016-06-07 23:12:55 +02:00
Lionel Flandrin
a16dc1a9c3 Convert Rustation into a library, remove all the SDL2 and OpenGL code
The OpenGL code has been ported to the rustation-libretro repository.
2016-01-27 17:40:34 +01:00
Lionel Flandrin
a8d19c03dc Redesign memory access infrastructure
Previously for Byte and HalfWord store we would only pass around a u8
and a u16 respectively. This is not accurate when accessing certain
device registers since some devices ignore the requested access width
and may use more than the expected number of bytes from the source
register.

Now we always pass the entire register value in a u32 instead, it's up
to the device implementation to select what it needs to use depending
on the Addressable width.
2015-11-06 00:57:52 +01:00
Lionel Flandrin
e477266b86 PadMemCard: Implement baud divider read 2015-10-21 21:55:11 +02:00
Lionel Flandrin
427856c0bf Minor cleanup in gamepad code 2015-10-11 00:02:32 +02:00
Lionel Flandrin
c328041a8b Add missing "DSR" bit to padmemcard controller status register 2015-09-16 18:41:32 +02:00
Lionel Flandrin
9ab4174942 Gamepad: schedule interrupt even if it's not active.
Otherwise we might miss it if the software activates it while the
transaction is pending.
2015-09-14 18:56:40 +02:00
Lionel Flandrin
0f2322df8a Implemented gamepad emulation.
The timings are tweaked because it seems our emulator is too fast at
this point: the BIOS attempts to start a new request while the
previous one is still in progress. This will have to be fixed later as
we become more accurate.

Only the original digital controller is supported for now.

The frontend supports keyboard and controllers through SDL2 for input.
2015-09-12 20:34:38 +02:00