Assembler
I made an assembler now so that I don’t have to write the raw ROM bytes to write programs!

You can now just write code in assembly and it will magically generate the perfect ROM values!
It can do a lot of cool stuff
like:
- Replacing the names of instructions, registers and pins with their actual values
- Labels let you mark specific instructions and use the label name instead of figuring out the instruction’s address! Now you can just use
set pc, bruhto jump to the instruction you labelled “bruh” for some reason
- Comments!!
- Tomfoolery detection
The label thing is especially useful because I don’t need to rewrite a bunch of stuff just to add some code, and I don’t need to think about instruction addresses at all now because it all happens automagically with the assembler! 
I also created a bunch of new programs using this assembler, that use some of the new device stuff as well. speaking of device stuff,
new device stuff
I changed the architecture of the DSC a lot and now there are separate pulse pins that you can use to talk to the device. This makes working with devices a little bit easier and uses lesser code as well!

With the new architecture I made some new devices as well, like:
-
A colour GPU
Now you can draw pixels to the screen that aren’t black and white! It actually includes all 0-255 values for red, green and blue, like all modern gpus and displays have 
I’m also working on some 3D rendering stuff too
-
Work in progress text renderer terminal thing
-
Power Management Thing™ so that programs can view and adjust the processors clock speed
I also made one of those cool GPU test gradient things for the new GPU
It does a lot of math and loop stuff to figure out which color should be at which position. I wrote it in like 80 lines of assembly using the new assembler
and it takes about 16 seconds to finish at 10 kilohertz.

This is the picture of the output:
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.