Apron banner

Apron

4 devlogs
3h 55m 58s

Apron is a custom CPU Architecture with its own Assembly language and runtime.

Loading README...

averytoad65

I wrote the world’s messiest codebase, but at least it compiles. Now I do have to take a break from programming because my right hand is starting to hurt from the excessive abuse of Rider shortcuts. I did a ton of stuff and honestly if you care about it, I’d just check the git commit history for today. Goodnight and thank you for reading, happy coding!

Attachment
0
averytoad65

Alright! I’ve managed to do quite a bit! First off, I started implementation of a device for the Apron runtime… the CPU! This is a core part of the project and I’m happy to be starting on it so early. Right now it doesn’t do much, though. You can dynamically allocate how many registers the CPU should have and read/write to them, but there’s still lots to be done. For example, I haven’t really started on the “execute_instruction” feature of the CPU and I’m just now realizing that I should probably make a general device class to comply with my usual OOP standards and in-case I want to add other components later on. Speaking of future-proofing, I made a integer-splitter class to make working with instructions much easier when I do get to writing the instruction-runner! Right now it can split a uint16_t and uint32_t into a collection of uint8_t variables. These are, strange as it may be, collected through the parameters rather than the return value, this is just so I can avoid working with arrays, because those have been a bit of a pain in previous attempts at this kind of project. Anyhow, speaking of instructions… I did a slight bit of documentation on how instructions should be parsed, just so I don’t create inconsistencies later on in the project lifespan. I suppose that is all for now, I got an English exam to severely panic over. See you later and thank you for reading!

Attachment
Attachment
Attachment
0
averytoad65

Got the basic instruction class working with a few sample instructions shown in the runtime main file. This is probably going to be one of the last devlogs I post today, since I wanna write some music before I go to bed. Thank you to whoever reads this, you’re awesome!

Attachment
Attachment
0
averytoad65

I got the basics of DLL communication working for my third project: “Apron.” Now I can begin working on the basics of the runtime, which reads machine code and executes functions based on it. Then I can write the assembly compiler and hopefully ship this project. Should be a fun project!

Attachment
Attachment
0