16-Bit Computer
17 Stars     1643 Views    

Author : Dustin Harris

Project access type : Public

Description :

Everything is working great in this build!  So I will be taking about a week break from this.
Well except single pixel drawing on GPU but more on that later.

I included a Hello World program and a screen clear test program running by default.
But I would love to see what programs people can come up with. So definitely fork this and make your own programs for it, and link them in the comments below!

Also I am working on adding more instructions for the cpu and the gpu, let me know what might be useful in the comments and definitely check my in progress updates below!

I am running into an issue with per pixel drawing giving a contention error which doesn't make sense as i have tested the chip. unless the rgb screen col and row pins are also outputs i don't get what is going on.

For now though i'm taking a break from that and working on implementing some more of the OPs.

Here is a list of instructions. I'll add descriptions soon.
Anything with a * before it is not implemented yet.
0 NOP [0]
1 JMP [1]
2 SETA [10]
3 SETB [11]
4 LDA [100]
5 LDB [101]
6 WRA [110]
7 WRB [111]

*8 IA [1000]
*9 IB [1001]
*10 DA [1010]
*11 DB [1011]
*12 SLA [1100]
*13 SLB [1101]
*14 SRA [1110]
*15 SRB [1111]

16 ADD [1 0000]
17 SUB [1 0001]
18 MUL [1 0010]
19 DIV [1 0011]

20 EQL [1 0100]
21 NEQL [1 0101]
22 GRT [1 0110]
23 LSS [1 0111]
24 GRQL [1 1000]
25 LEQL [1 1001]

26 SSP [1 1010]
27 PUSH [1 1011]
28 POP [1 1100]
29 LTS [1 1101]

*30 PROC [1 1110]
*31 EPROC [1 1111]

32 SAS [10 0000]
Copied to Clipboard!

Comments
SDC

Super impressive build! I step away from the site for a couple of months, just to be seriously one upped!

I may be wrong (and I usually am most of the time), but I've run into contention errors with RAM units before too, especially when there's any feedback or recursion going on between it's input and output (I'm talking about the RGB output from your GPU. Not too sure if this is the case, but might be worth looking into). Probably a bug in the site. Anyway, the way I was able to deal with it was place a flip-flop between the output and whatever I was connecting it to, then couple the clk input to an inverter (you may need to either invert or not, depending on how you set up your clock system).

If I get some time off from school, I going to fork this and play around with it, because it's seriously cool, almost like the Pro-Athena build I saw awhile back.

Posted on Mar 11 2020 at 07:39PM UTC. Last modified by SDC on Mar 11 2020 at 07:39PM UTC.
+0

You must login before you can post a comment.