Commit Graph

80 Commits

Author SHA1 Message Date
049334ebdb Remove a debug print from SLLI 2025-12-21 14:02:20 +01:00
d03863f5a2 Implement SLLI and fix sign extension of immediates for I-type and S-type instructions 2025-12-21 14:00:47 +01:00
87e6d03dbd Set version to 0.0.0 2025-12-21 13:09:10 +01:00
00976cb7cd Add some stuff to the readme 2025-12-21 13:03:18 +01:00
e8da0fc396 Get rid of some useless warnings in main.rs 2025-12-21 12:56:22 +01:00
62c6f905ce Remove unneeded once_cell dependency 2025-12-21 12:49:15 +01:00
c74b4a21d2 Add decode functions for immediate shifts (funct6 and imm_shamt), make decode functions not use references, add inline hints to decode functions 2025-12-21 12:47:56 +01:00
23647ae966 Add JAL and change some of the formatting on previous instructions to be cleaner 2025-12-21 12:20:30 +01:00
ac9506a1a7 (BIG CHANGE) Switch instruction identification/execution to use a plain match tree, should improve performance by quite a bit 2025-12-21 12:07:12 +01:00
e2d521bbe7 Add license/copyright notices to top of each source file (where applicable) 2025-12-01 22:06:13 +01:00
6b49b34cc5 rename to TRVE 2025-11-18 20:58:49 +01:00
9c4e2d17a2 Add support for addiw and lui 2025-10-21 14:46:02 +02:00
19568f855e Add a todo 2025-10-14 18:22:09 +02:00
7a519924cb Move funct3 values to rvi.rs instead of being in opcodes.rs 2025-10-14 18:21:28 +02:00
6bd31e73fb some debugging stuff and SECOND OPCODE! 2025-10-10 19:01:04 +02:00
bf5562df54 Make fields of DeviceEntry public 2025-10-09 20:27:20 +02:00
5274828b81 Make some constants and type aliases public 2025-10-09 20:26:09 +02:00
ee5f5a2ec4 FIRST INSTRUCTION WORKING 2025-10-07 20:23:59 +02:00
361b36fbd1 Make sure unsupported/illegal instructions are caught 2025-10-07 20:16:27 +02:00
dbd022f9c9 Make fields and register access functions of Core accessible to the rest of the emulator 2025-10-07 20:12:09 +02:00
908be749ac Make fields of MemConfig public to allow creating one 2025-10-07 17:04:20 +02:00
52952840aa I guess its a working execution loop? 2025-10-04 14:07:42 +02:00
bb0007707c Swap out execution status for instructions returning an InstructionResult 2025-10-03 13:28:02 +02:00
4632fe29ce Initial instruction execution code i guess 2025-09-30 18:39:14 +02:00
f5ac1a132f Allow identification of the type of memory (ram or mmio) backing a specific page 2025-09-28 21:13:29 +02:00
3163b43fa4 base core state & instruction decoder 2025-09-27 21:43:10 +02:00
5919041f07 actually no NOW the memory interface is "done" 2025-09-27 17:48:56 +02:00
4a2272ae49 Initial stuff and memory implementation 2025-09-27 16:38:06 +02:00
282740cb59 Initial Readme 2025-09-27 16:37:41 +02:00
8de29e77b5 Initial commit 2025-09-06 12:38:12 +02:00