Commit graph

  • 04a815f993 Fix RFE instruction: duplicate the last entry in the mode stack Lionel Flandrin 2015-10-06 19:24:03 +02:00
  • 0d4eb58f51 Upgrade sdl2 to v0.9.1 Sergey Tikhomirov 2015-10-06 15:44:11 +03:00
  • 433d1a6314 Merge 90bf403428 into 32f75fe5b0 Emory Petermann 2015-10-06 12:57:53 +00:00
  • 32f75fe5b0 Don't immediately panic when an OpenGL function pointer can't be loaded. Lionel Flandrin 2015-10-06 14:56:53 +02:00
  • 0d17eb5093 Merge abc8faadaf into f3f2aff7c8 Sergey Tikhomirov 2015-10-06 12:48:54 +00:00
  • abc8faadaf Upgrade sdl2 to v0.9.1 Sergey Tikhomirov 2015-10-06 15:44:11 +03:00
  • f3f2aff7c8 First GTE implementation: RTPT, NCLIP, AVSZ3 and NCDS Lionel Flandrin 2015-10-05 19:31:59 +02:00
  • 61a253914c Ignore the CD-ROM sector header when looking for region Lionel Flandrin 2015-10-01 11:18:22 +02:00
  • 205a837b45 Fix warnings with newer rustc, some code cleanup. Lionel Flandrin 2015-09-30 19:37:14 +02:00
  • a5ee8ccac0 Reach the first GTE command Lionel Flandrin 2015-09-28 01:38:59 +02:00
  • 0841d53080 Basic CDROM XA support: support reading of Mode 2 Form 1 sectors. Lionel Flandrin 2015-09-27 20:15:51 +02:00
  • b3248bcd45 Rename project in Cargo.toml Lionel Flandrin 2015-09-27 16:51:29 +02:00
  • 1fe6d6e820 Rename project to Rustation Lionel Flandrin 2015-09-19 15:56:06 +02:00
  • c328041a8b Add missing "DSR" bit to padmemcard controller status register Lionel Flandrin 2015-09-16 18:41:32 +02:00
  • 859c602d33 Make the instruction cache ignore the region bits. Lionel Flandrin 2015-09-15 21:27:22 +02:00
  • 9ab4174942 Gamepad: schedule interrupt even if it's not active. Lionel Flandrin 2015-09-14 18:56:40 +02:00
  • 7d2827b394 Updated readme now that we have gamepad support Lionel Flandrin 2015-09-12 20:46:40 +02:00
  • 0f2322df8a Implemented gamepad emulation. Lionel Flandrin 2015-09-12 20:34:38 +02:00
  • 88c132e399 Added README Lionel Flandrin 2015-09-09 21:40:24 +02:00
  • 3274b4e353 Panic if a game attempts to use the dotclock as timer source Lionel Flandrin 2015-09-02 20:54:57 +02:00
  • a26e113a51 Add support for a few GTE registers (CTC2 opcode), reach the BIOS main menu Lionel Flandrin 2015-08-26 00:20:39 +02:00
  • 79220727b1 Add support for timer "target" interrupt Lionel Flandrin 2015-08-29 22:07:00 +02:00
  • dbca7a2025 Ignore writes to the joystick and memory card controller Lionel Flandrin 2015-08-29 21:59:20 +02:00
  • 227c71f002 Add missing "target_irq" field when reading the timer status register Lionel Flandrin 2015-08-29 00:23:37 +02:00
  • 7976891a70 Implemented basic CDROM controller support. Lionel Flandrin 2015-08-24 23:24:20 +02:00
  • 14db23ccb7 Add temporary check to catch unhandled interrupt configs Lionel Flandrin 2015-08-16 17:13:00 +02:00
  • f905862869 Added basic timer support Lionel Flandrin 2015-08-16 17:09:34 +02:00
  • 1918e9dc17 Added DMA interrupt Lionel Flandrin 2015-08-04 21:50:51 +02:00
  • c44449a08d Interrupt handling code: only GPU VBlank IRQ supported for now. Lionel Flandrin 2015-07-23 23:22:19 +02:00
  • 6de5dad543 Implement basic GPU timings Lionel Flandrin 2015-06-28 22:37:18 +02:00
  • 3def356091 Improve error handling in OpenGL code Lionel Flandrin 2015-07-03 12:15:08 +02:00
  • 90bf403428 FIX: set Core OpenGL profile for OS X compat Emory Petermann 2015-06-29 18:06:28 -07:00
  • f5c6f66c63 Allow BIOS selection on the command line. Recommend SCPH1001.BIN. Lionel Flandrin 2015-07-01 11:16:48 +02:00
  • dd90961982 Implement debugger write watchpoints Lionel Flandrin 2015-06-19 23:10:32 +02:00
  • f3702f6311 Implement instruction cache Lionel Flandrin 2015-05-27 21:13:36 +02:00
  • 77d75c976b Don't fetch instructions like data, use a separate path. Lionel Flandrin 2015-05-13 19:05:28 +02:00
  • 4ebf7ae877 Debugger: Implement read watchpoints Lionel Flandrin 2015-05-12 22:47:36 +02:00
  • c8ec4d62d1 Debugger: Implement breakpoints Lionel Flandrin 2015-05-04 00:13:29 +02:00
  • 8a5b4d2895 Debugger: Implement "step" Lionel Flandrin 2015-05-03 17:45:02 +02:00
  • c962afcdb6 Implement "continue" in the debugger Lionel Flandrin 2015-05-03 17:12:09 +02:00
  • 137a6de830 Implement debugger memory read Lionel Flandrin 2015-04-29 23:55:27 +02:00
  • f48fc15fb8 Refactor interconnect to use a generic load/store implementation Lionel Flandrin 2015-04-28 22:17:54 +02:00
  • 1a4038c156 Added remote GDB support over TCP Lionel Flandrin 2015-04-28 00:16:24 +02:00
  • 4de6ac4349 Handle SDL events for cleanly exiting the emulator Lionel Flandrin 2015-04-12 21:37:49 +02:00
  • 415e1eb067 Implement draw offset in OpenGL renderer Lionel Flandrin 2015-04-12 18:43:27 +02:00
  • a3092cf793 Implement basic OpenGL renderer using SDL2 Lionel Flandrin 2015-04-11 15:51:32 +02:00
  • 78138b545d Implement GPU GP1(0x02): Reset Command Buffer Lionel Flandrin 2015-04-08 21:25:43 +02:00
  • 28d0161119 Implement GPU GP1(0x02): Acknowledge IRQ Lionel Flandrin 2015-04-08 21:18:34 +02:00
  • 2821bb8069 Implemented placeholder for GP0(0x2C): gp0_quad_texture_blend_opaque Lionel Flandrin 2015-04-08 20:55:20 +02:00
  • 666d70cce2 Implemented placeholder for GP0(0x30): gp0_triangle_shaded_opaque Lionel Flandrin 2015-04-08 20:40:40 +02:00
  • 72bb471f89 Implemented placeholder for GP0(0x38): gp0_quad_shaded_opaque Lionel Flandrin 2015-04-08 20:33:43 +02:00
  • 20c08756c5 Implement placeholder for GP0(0xC0): Image Store Lionel Flandrin 2015-04-08 00:23:12 +02:00
  • 519f11c40f Implement GP1(0x03): Display Enable Lionel Flandrin 2015-04-07 23:58:09 +02:00
  • de1e0ee3e8 Implement GP0(0xA0): Image Load Lionel Flandrin 2015-04-07 23:45:14 +02:00
  • 5483ab4853 Ignore GP0(0x01) Clear Cache command Lionel Flandrin 2015-04-07 22:34:14 +02:00
  • 002b441049 Implement temporary hack to avoid BIOS lockup. Lionel Flandrin 2015-04-07 21:43:28 +02:00
  • caa99b608f Implemented placeholder for GP0(0x28): gp0_quad_mono_opaque Lionel Flandrin 2015-04-07 21:10:28 +02:00
  • 08465448ca GPU GP0: Add support for multi-word commands Lionel Flandrin 2015-04-06 21:02:04 +02:00
  • 4cfa4efee9 Implement GPU GP1: Display Horizontal and Vertical Range Lionel Flandrin 2015-04-06 16:10:31 +02:00
  • 72d8fbce12 Implement GPU GP1: Display VRAM Start Lionel Flandrin 2015-04-06 14:32:12 +02:00
  • 3626b50811 Implement GPU GP0: Mask Bit Setting Lionel Flandrin 2015-04-06 14:31:23 +02:00
  • 9cc7e49727 Implement GPU GP0: Texture Window Lionel Flandrin 2015-04-06 13:45:02 +02:00
  • 502fec2f86 Implement GPU GP0: Set Drawing Offset Lionel Flandrin 2015-04-06 13:22:24 +02:00
  • 61b46bd5da Fix comments: retreive -> retrieve Lionel Flandrin 2015-04-06 12:44:33 +02:00
  • 74103f9336 Implement GPU GP0: See Drawing Area Lionel Flandrin 2015-04-06 01:06:06 +02:00
  • c0396609fe Implemented GPU GP1: DMA Direction Lionel Flandrin 2015-04-06 00:28:02 +02:00
  • 75e5ac572a Implement GPU GP1: Display Mode Lionel Flandrin 2015-04-06 00:21:26 +02:00
  • 5c243be66f Implement placeholder GPUREAD register Lionel Flandrin 2015-04-05 23:15:10 +02:00
  • 482e7627f5 Implement GPU GP1: Soft Reset Lionel Flandrin 2015-04-05 22:42:44 +02:00
  • 29fe59ad0f Implement GPU GP0: Draw Mode Lionel Flandrin 2015-04-05 15:39:38 +02:00
  • 01b8f30705 Implemented basic GPU state and read from GPUSTAT register Lionel Flandrin 2015-04-02 23:48:04 +02:00
  • 50fab9e5ca Added travic CI support Lionel Flandrin 2015-03-30 11:51:22 +02:00
  • af2ce7a955 Implement basic DMA support for OTC port Lionel Flandrin 2015-03-24 00:10:00 +01:00
  • ca16f165af Handle illegal instructions Lionel Flandrin 2015-03-21 21:42:40 +01:00
  • a942ae6e67 Implement LWCn and SWCn Lionel Flandrin 2015-03-21 21:20:39 +01:00
  • 7509a0e0a8 Implement SWL and SWR Lionel Flandrin 2015-03-21 20:38:02 +01:00
  • e54b56aecd Implement LWL and LWR Lionel Flandrin 2015-03-21 15:00:46 +01:00
  • 1fea17da14 Panic when encountering a GTE instruction Lionel Flandrin 2015-03-20 21:57:37 +01:00
  • 216dcda25e Implement COP1 and COP3 opcodes Lionel Flandrin 2015-03-20 21:50:39 +01:00
  • a0aad7d2c2 Implement XORI Lionel Flandrin 2015-03-20 21:22:14 +01:00
  • c412f65ddf Implement SUB Lionel Flandrin 2015-03-20 21:04:39 +01:00
  • 599b0f20bf Implement MULT Lionel Flandrin 2015-03-20 20:56:25 +01:00
  • 257e4d44b6 Implement BREAK Lionel Flandrin 2015-03-20 20:46:52 +01:00
  • 37b9a6980b Implement XOR Lionel Flandrin 2015-03-20 00:29:09 +01:00
  • f6c42a1e7c Set ready bits on GPUSTAT register to avoid deadlocking the BIOS. Lionel Flandrin 2015-03-20 00:19:05 +01:00
  • cbdbbd25b4 Ignore access to IRQ control and timers Lionel Flandrin 2015-03-19 21:33:22 +01:00
  • 3b94d8390a Ignore reads and writes from/to the GPU Lionel Flandrin 2015-03-17 22:15:09 +01:00
  • 13a30be089 Implement MULTU Lionel Flandrin 2015-03-17 20:36:01 +01:00
  • 4206b331b9 Implement SRLV Lionel Flandrin 2015-03-16 23:59:05 +01:00
  • 731ea64cdf Implement SRAV Lionel Flandrin 2015-03-16 23:45:44 +01:00
  • ebbcd0e9e0 Implement NOR Lionel Flandrin 2015-03-16 23:35:43 +01:00
  • fa1b9d4b3e Implement LH Lionel Flandrin 2015-03-16 23:24:52 +01:00
  • b809b2d9ee Implement SLLV Lionel Flandrin 2015-03-16 22:45:24 +01:00
  • 5da2eabe96 Implement 16bit load from RAM Lionel Flandrin 2015-03-16 21:18:26 +01:00
  • c71e6687d2 Implement LHU Lionel Flandrin 2015-03-15 22:06:08 +01:00
  • 1e97374db6 Ignore read and writes from/to DMA Lionel Flandrin 2015-03-15 21:31:18 +01:00
  • 048981061d Implement RAM 16bit store Lionel Flandrin 2015-03-15 20:20:18 +01:00
  • 5428383153 Trigger an exception when the PC is not correctly aligned Lionel Flandrin 2015-03-13 00:15:35 +01:00
  • e993ec9307 Generate exception on unaligned load/store Lionel Flandrin 2015-03-12 23:37:27 +01:00
  • 58e3216b74 Add overflow exception to ADD and ADDI Lionel Flandrin 2015-03-12 23:08:18 +01:00