Commit graph

47 commits

Author SHA1 Message Date
6fe7d5adc6
Increase framebuffer window scale 2024-12-22 22:50:50 +00:00
ca5c7e3bd3
Implement sending keypresses to UART with support for queueing 2024-12-22 22:19:41 +00:00
616f70bfa4
Implement UART closer to how it's done on the sifive board 2024-12-22 14:07:57 +00:00
844ad3b073
Implement paletted framebuffer (320x200 for now) 2024-12-22 02:18:02 +00:00
557d5dfa75
Allow writing uint32_t to UART 2024-12-21 23:05:42 +00:00
2e9bb3fd76
Better memory errors and in general more runtime memory 2024-12-21 20:51:52 +00:00
65e5011f7f
Speed up framebuffer operation to reach about 200fps fill rate 2024-12-19 19:07:39 +00:00
44b45c58c6
Add framebuffer device 2024-12-19 02:30:53 +00:00
9a4c2508f6
Add a timer device 2024-12-19 00:50:10 +00:00
1a556bba10
Make getreg/setreg functions more unified in naming 2024-12-19 00:09:41 +00:00
03bdb5091e
Fully generalize access to vram 2024-12-19 00:04:07 +00:00
98a543b86c
Make RAM a regular device 2024-12-18 23:47:27 +00:00
dfc9b2824e
Improve vmem handling a bit 2024-12-18 23:05:34 +00:00
2395b75e4d
Fix the RVMODEL_HALT macro (not sure how it worked before) 2024-12-17 01:58:22 +00:00
73ddd6c5e2
Run RISCOF test suite via nix on normal builds 2024-12-16 23:20:53 +00:00
3888a0d65a
Fix bugs in all base instructions and make RISCOF tests pass 2024-12-16 22:16:31 +00:00
40179ed237
Implement loading of test signatures 2024-12-15 21:33:00 +00:00
89d9ca3814
Relocate program to 0x80000000 2024-12-15 16:44:39 +00:00
d84c5022bd
Make riscof test suite actually compile the test binaries 2024-12-15 15:01:19 +00:00
1b7ddce372
Change the reset-value for RISCOF plugin 2024-12-15 14:25:32 +00:00
a0a0ce30b4
Add RISCOF test suite (doesn't function yet) 2024-12-15 13:50:18 +00:00
b856f2c808
Implement SLTI and SLTIU instructions 2024-12-15 00:36:09 +00:00
6ce3366009
Clean up the usage of registers[rd] 2024-12-14 23:24:36 +00:00
351a895d69
Add support for printf, UART, and iron out a few bugs 2024-12-14 22:56:28 +00:00
9707f1a7bf
Implement reporting current file path to GDB 2024-12-10 17:49:19 +00:00
0c8d1bf257
Implement loading of ELF files 2024-12-10 17:32:33 +00:00
184c379e96
Implement breakpoints 2024-12-09 21:21:47 +00:00
d0ff238cb0
Implement gdb single-stepping 2024-12-09 20:17:21 +00:00
0175ef0c80
Implement reading memory and registers with the debugger 2024-12-09 01:26:28 +00:00
c7ff2c784c
Initialize debugger with the VM instance 2024-12-09 00:49:57 +00:00
79177d17e5
Add clangd and clang-format configs 2024-12-09 00:48:40 +00:00
fd67be0d89
Move registers and pc counter to the VM class 2024-12-09 00:44:53 +00:00
78a2a460e8
Make VM memory a vector 2024-12-09 00:29:19 +00:00
4cf11ae1e4
Keep symbols in the example app to allow debugging with gdb 2024-12-08 23:41:29 +00:00
fa1a497f1f
Remove unneeded debug prints 2024-12-08 23:35:32 +00:00
963e001946
Add a trivial gdb stub, runnable but not yet fully working 2024-12-08 23:32:45 +00:00
71bbc1e65d
Make an example program a bit more interesting 2024-12-07 20:02:32 +00:00
23cf02cc38
Add instructions for installing Nix 2024-12-07 01:21:26 +00:00
90a8c9c378
Make the C-compiled program actually work 2024-12-07 01:19:22 +00:00
797a308764
Add a simple boot section 2024-12-06 23:50:21 +00:00
234221cbff
Add readme file and make the example compile 2024-12-06 23:11:24 +00:00
c9fc4a420c
Add an example program in C 2024-12-06 22:40:52 +00:00
b8fb51f5e6
All opcodes except the syscalls 2024-12-06 21:58:16 +00:00
2e47ad73ae
Implement branches 2024-12-06 21:39:01 +00:00
c65c14bfdf
Implement basic opcodes (not yet all of them) 2024-12-06 21:27:44 +00:00
434fbe4778
Add source files and cmakelist 2024-12-06 19:48:38 +00:00
e0e31ec7ca
Initial commit 2024-12-06 19:44:09 +00:00