Just cleaned up the project a bit. Also published my first release. Only for macOS so far.
Just cleaned up the project a bit. Also published my first release. Only for macOS so far.
I created a new refined document on how the emulator works. I also programmed a 3d cube graphics demote show off the latest features.
I spent my time formatting some code and also making it so that, when plotting pixels, you can specify coordinates to plot using registers.
I expanded the amount of registers to 15. Registers like pc, acc, ir etc are all standalone variables. Also you can now specify FPS. I also made this mini cube spinner with help from chatgpt. It doesn’t use any math just plots pixels so that why I just got Ai to do it. Cool demo tho. The gif doesn’t really do it justice as the gif appears much slower than the program really is.
I added a lot of new features today. Just features that make it nicer to use. You can now do arithmetic with immediates, calculations are saved in the first register, you can store and load using reigister values to determine the address, a clear screen feature has been added and a pixel plotter which makes drawing pixels a lot more intuitive than storing values manually in different locations of memory.
I just polished the documents associated with the emulator such as the README and other documents.
I added a store immediate instruction to make writing pixels to memory more optimised. I had to update the Isa document and also the compiler to accommodate this.
I have finished implementing graphics to my emulator. It works by using a frame buffer and assigning a set amount of ram to video. It then uses ray lib to render it (I suck at c++ and graphics programming so it’s not sdl or anything). The demo shows a red pixel and a blue pixel at the first and last location in video memory its small but if you suint you can probably see it.
I finished writing my emulator for my own 16bit cpu. It is written in c++ and comes with a mini language as well, the compiler was written in python. I am new to c++ and used this as a learning project.