Commit graph

281 commits

Author SHA1 Message Date
Lionel Flandrin 6b6e8e6cbb Updated README to point people at rustation-ng 2020-04-15 17:09:42 +01:00
Lionel Flandrin 6e4d285714 Update dependencies 2017-09-23 18:40:20 +02:00
Adam 2e9723262a Fixing broken links in the README 2017-06-23 19:55:28 -06:00
Lionel Flandrin a6fecd8373 Update email address 2016-11-08 23:21:03 +01:00
Lionel Flandrin bbe5753ef9 Version 0.0.3 2016-11-08 20:39:02 +01:00
Lionel Flandrin 02a04f396b Added build script to use git for the VERSION string 2016-11-08 20:38:59 +01:00
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 902bc1cfbf Implement MDEC status register 2016-08-24 19:56:13 +02:00
Lionel Flandrin e53faebef3 Fix comment 2016-08-23 14:49:17 +02:00
Lionel Flandrin b2ba2db293 Remove useless temporary file 2016-07-14 23:36:45 +02:00
Lionel Flandrin 5d565a3ec3 Fix instruction cache and tweak timing penalties for better accuracy 2016-06-28 01:50:50 +02:00
Lionel Flandrin 626811495d Implemented GTE command NCT 2016-06-25 20:49:30 +02:00
Lionel Flandrin 6a2a16f351 Implemented GTE command NCS 2016-06-25 20:11:16 +02:00
Lionel Flandrin d4d9ff91fd Implemented ISO9660 parsing to access the game's serial number
The serial number is based on the "BOOT" executable name in
SYSTEM.CNF.

We now base region detection on the serial number instead of the
license string.
2016-06-24 01:33:41 +02:00
Lionel Flandrin d112e027d7 Added support for writing to GTE registers 28 and 29 2016-06-22 16:40:46 +02:00
Lionel Flandrin e83b1ffa3e Make the is_link test for bxx more accurate 2016-06-21 17:48:48 +02:00
Lionel Flandrin 21ce9cf262 Fix BLTZAL/BGEZAL, link is unconditional 2016-06-21 02:14:57 +02:00
Lionel Flandrin 012dab8a41 Fixed SWL/SWR implementation 2016-06-20 01:58:29 +02:00
Lionel Flandrin 1e1fbc8c8b Added support for the debug UART
Added a BIOS-specific patch to enable the debug UART since it's
disabled by default.
2016-06-19 20:57:10 +02:00
Lionel Flandrin 3f3f99fd32 Cleanup travis.yml a bit more 2016-06-19 02:49:44 +02:00
Lionel Flandrin 33eebeafc8 Remove SDL2 from the travis build script 2016-06-19 02:41:51 +02:00
Lionel Flandrin bd597680c4 Added a few more tests for LWL/LWR 2016-06-19 02:36:14 +02:00
Lionel Flandrin a3659d04af Fix bogus LH implementation 2016-06-19 00:17:00 +02:00
Lionel Flandrin b2a944f725 Added support for load cancelling in the CPU 2016-06-18 23:53:15 +02:00
Lionel Flandrin 885d110484 Updated tests, now all are passing 2016-06-18 00:15:28 +02:00
Lionel Flandrin 262a8c0aab Integrated psxunittests
The tests in src/cpu/tests.rs are autogenerated using
https://github.com/daeken/psxunittest/
2016-06-17 15:04:27 +02:00
Lionel Flandrin 4bb00a7fc8 Added generic interface for the Debugger, move GDB remote code to frontend 2016-06-15 19:35:37 +02:00
Lionel Flandrin 1fe17511c9 Instruction doesn't have to be public 2016-06-13 23:52:30 +02:00
Lionel Flandrin b6b700508f Implement placeholder code for cop0r6, 7 and 8 2016-06-12 21:02:25 +02:00
Lionel Flandrin 220dfa7e5d Handle writes to cop0r13 (CAUSE register) 2016-06-12 03:39:31 +02:00
Lionel Flandrin 5accb37306 Implemented EXE loader using a Parallel I/O module 2016-06-12 01:14:13 +02:00
Lionel Flandrin 4d3822c050 Added a Cpu option to trigger the debugger on Break instructions 2016-06-12 00:12:42 +02:00
Lionel Flandrin 72f688589a Added support for Cop0r15 (Processor ID) register 2016-06-12 00:12:42 +02:00
Lionel Flandrin bf46b91921 Implement support for modular parallel I/O 2016-06-12 00:12:42 +02:00
Lionel Flandrin dcfb9ea1d8 Imported rust assembler code, added tests 2016-06-12 00:12:41 +02:00
Lionel Flandrin 6fe5e6227a Added a BIOS interface to patch the boot animation 2016-06-10 03:06:39 +02:00
Lionel Flandrin ec8a57150c Fix comments for doc-tests 2016-06-09 19:45:08 +02:00
Lionel Flandrin 764fef4321 Added counters for framebuffer swaps and CPU interrupts 2016-06-09 19:19:46 +02:00
Lionel Flandrin d563f48acf Added getters and setters for the BIOS in Interconnect 2016-06-07 23:12:55 +02:00
Lionel Flandrin 0bfd1155e1 Added interface for the frontend to reconfigure the GamePads 2016-06-07 23:12:55 +02:00
Lionel Flandrin 8cc4cdfca4 Added an interface to take and exchange the CD 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 648a5ae4ea Rewrite most of the CD controller code to be more accurate 2016-05-24 21:58:51 +02:00
Lionel Flandrin 2975e80e2a Clear the CD controller "rx_active" flag at the end of transfer 2016-05-09 00:54:13 +02:00
Lionel Flandrin b144a8f8d9 Document/rename some method in the CDC interface to match the datasheet 2016-05-07 22:17:59 +02:00
Lionel Flandrin 1326e3cac2 Fix typo in comment 2016-04-11 21:39:07 +02:00
Lionel Flandrin 8a1d4881ae Reset drawing offset to (0, 0) in GPU soft reset 2016-03-16 00:05:17 +01:00
Lionel Flandrin 4999195a4e Started implementing MDEC register interface
For now only resetting and matrix loading are implemented.
2016-03-13 01:32:53 +01:00
Lionel Flandrin 95c4f23006 Added "trigger_break" command to the debugger 2016-03-07 22:24:51 +01:00
Lionel Flandrin fe5fd11416 Minor cleanup in box_array 2016-03-07 22:09:33 +01:00