Commit Graph

75 Commits

Author SHA1 Message Date
9fbc6bceab CPU: Made the cpu structure, pipelined/non-pipelined selectable at runtime with a flag 2024-05-02 12:55:29 +01:00
48237ccd95 Project: Added support for json log file 2024-05-02 08:28:36 +01:00
99c0af752b GUI: Moved the drawing code of the exec window in gui internals into a sepparate function so that i can easily draw the window multiple times 2024-03-24 13:14:07 +00:00
3f4b03c307 Project: fixed some errors found by clang 2024-03-12 13:08:54 +00:00
51c8edf43f GUI: Fixed updating of tabs when switching from run to single step and visa versa, also cleaned up the relavent code a bit 2024-03-09 20:13:53 +00:00
e3d2a1d2c1 GUI: Made the main boxes bold 2024-03-06 02:46:43 +00:00
c59791e7e2 CPU: Added support for requiring multiple clock cycles for different instruction in the execution unit and updated the gui/internals tab accordingly 2024-03-06 02:37:55 +00:00
8dc7a27cdb Build system: Added all possible roms to default build recipe 2024-03-05 18:50:37 +00:00
0e56ea803d GUI: Made the internals/pipline view into a graph and moved the code in a separate file 2024-03-05 00:49:40 +00:00
031f0d75bf Project: Added the tool to convert from stl to source code data although it's almost emberassingly badly written.Made the size of the model for the 3d renderer variable and added the Utah teapot stl file and made rendering it the default program 2024-03-02 23:26:35 +00:00
2d28146e3f Build system: Made the aalib integration fully selectable in the Makefile 2024-03-02 00:23:29 +00:00
b9f93b8fa5 Project: Fixed compiling with clang 2024-03-01 21:34:23 +00:00
91c9b634f4 Program: Adjusted the turn angle on the 3D renderer to something more reasonable with the recent processing improvements 2024-03-01 21:00:22 +00:00
80b8c25cab GUI: Split off the framebuffer writing code to a separate file and added support for AALib for terminals without unicode/braille 2024-02-27 02:55:14 +00:00
316d4952fa GUI: Added a new Display tab that only updates when the cpu finished producing a new frame and made massive performance improvements with the help of the new profiler 2024-02-26 22:11:30 +00:00
201ac2d401 Build system: switched to valgrind for profiling 2024-02-26 19:04:54 +00:00
f6008b603d Project: Updated the name of the main memory window and made a small change to make clang happy 2024-02-23 08:06:03 +00:00
9f987da7a6 GUI: Added basic support for freeing up unused parts of the cpu output buffer 2024-02-22 00:04:56 +00:00
0b9be7aaa6 GUI,CPU: Added some quick content to the Pipeline tab and made the CPU Pipelined! 2024-02-20 21:56:48 +00:00
9abad9d9ed Programs: decreased the angle of rotation in the 3d renderer to accommodate they higher framerates being achieved 2024-02-20 21:55:22 +00:00
5816fa316b GUI: Added support for using tabs, filled out the memory tab and created a window with some interesting information in the debug tab 2024-02-20 20:02:30 +00:00
4da500e5ec Build system: Started using pkg-config for finding the link flags and cflags for ncursesw 2024-02-20 15:36:12 +00:00
893e44f20a Project: Added -O2 to the CFLAGS and fixed some compiler warnings 2024-02-20 15:27:24 +00:00
783a8bac23 Build system: Added basic support for profiling 2024-02-20 02:12:57 +00:00
af71b6e75e ASM: fixed small bug in the assembler 2024-02-17 20:54:39 +00:00
184cba5adf Programs: Improved the 3d rendering code but this yielded only a marginal increase in fps 2024-02-17 20:43:41 +00:00
a031119272 CPU,ASM: Added register to register MOV instruction 2024-02-17 19:52:27 +00:00
5d4916339d CPU,ASM: Added the INC/DEC instructions 2024-02-17 19:30:39 +00:00
8f817a17b7 GUI: Added an option to run multiple cycles per frame when in run mode so that the bottleneck isn't the terminal as much 2024-02-17 00:07:29 +00:00
519c762287 Programs: Made the 3d renderer spin the 3d model 2024-02-16 21:55:42 +00:00
7ae98d8353 CPU: Fixed a bug with the PUSH/POP instructions where only the lower 24bits were saved 2024-02-16 21:54:17 +00:00
da8ffaf3a4 CPU,ASM: Added the trigonometric instructions SIN and COS 2024-02-16 19:46:25 +00:00
fba8c1f2f4 GUI: Added support for double buffering on the vector display for smoother motion 2024-02-16 19:12:03 +00:00
2c07ced789 Programs: Added a program that will draw a spinning cube on the vector display but currently only does the perspective calculations 2024-02-16 18:11:58 +00:00
31a26c14ad CPU,ASM: Added floating point add and subtract instructions FADD and FSUB 2024-02-16 17:48:04 +00:00
19deb0581c Project: fixed several small bugs and changed the implementation of the line drawing algorythm for the braille display to one that actually works 2024-02-16 17:06:27 +00:00
fd86df806b ASM: Implemented the ability to reference only the upper or lower double-word of a label's address to accommodate the limited register loading mechanism in the intruction set 2024-02-14 19:36:17 +00:00
15b385876c CPU: Added floating point multiplication and division 2024-02-14 17:15:04 +00:00
7383811892 ASM: Added support for empty lines... ...and comments on those empty lines 2024-02-14 14:22:49 +00:00
35588a07c8 CPU: Added support for reading into registers from indirect memory access with register 2024-02-14 14:03:03 +00:00
d643dc3e55 ASM: Added support for defining arbitrary double-words 2024-02-14 12:57:07 +00:00
d8c50156a8 ASM: Fixed potential bug in the assembler's parser 2024-02-14 02:50:51 +00:00
79577d7b4e Project: fixed some warnings from other compilers 2024-02-14 02:45:28 +00:00
ed415511dc GUI: Added a vector graphics display using braille characters to form a frame buffer in the terminal window 2024-02-14 02:42:24 +00:00
591d07f478 CPU,ASM: Added support for writing to register indirect locations and mapper the temrinal into the address space 2024-02-13 22:37:36 +00:00
fe1bcfb471 GUI: Added terminal output window 2024-02-13 21:28:42 +00:00
966a0eee14 CPU: Added support for PUSH and POP and fixed CALL and RET 2024-02-12 19:42:27 +00:00
4863db36ee ASM: Added support for labels in the assembler 2024-02-12 17:51:16 +00:00
41fed482fe GUI: Added display of PC and SP to the registers window 2024-02-12 15:15:54 +00:00
deed349cd1 CPU: Moved the PC and SP registers into the registers_t struct 2024-02-12 14:16:41 +00:00