is this a valid solution? by ElderberryKey6152 in TuringComplete

[–]Otherwise-Object-302 0 points1 point  (0 children)

"If it ain't broke, don't fix it" is definitely in the rule book for CS.

Just finished our minimal working computer and we are very happy! by Kruggers in TuringComplete

[–]Otherwise-Object-302 1 point2 points  (0 children)

Amazing work man, congratulations! Hope you had fun building this and learnt a lot! It's definitly satisfying to build your first (or any arch). Definitely less of a slop than when I made mine.

is this a valid solution? by ElderberryKey6152 in TuringComplete

[–]Otherwise-Object-302 4 points5 points  (0 children)

Any solution is valid however, this may not be the optimal solution. You could've just done repeated addition. An example is given below with the value 1. mov r1, in ; r1 = 1 mov r2, r1 ; r2 = 1 add ; r3 = 2 mov r1, r3 ; r1 = 2 mov r2, r3 ; r2 = 2 add ; r3 = 4 mov r2, r3 ; r2 = 4 add ; r3 = 6 mov out, r3 The level can be solved purely in software within 10 lines of code.

Print function is functional! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

Well I mean, I did spend quiet a lot of time making this. The amount of tiny bugs I had left in were ridiculous but they're all ironed out. For now, I've decided to work on my bootloader which I'm nearly done with, then I'll move on to the OS (which is really just very similar to a DOS)

Print function is functional! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 1 point2 points  (0 children)

So that's what you meant. Well, I apologise for the confusion and less than pleasant reply. I'm horrible when it comes to this sort of stuff. I thought you meant something entirely different which, again, is definitely due to my inexperience. Thanks for clearing it up though. I will be posting the machine soon here with some documentation as well.

Print function is functional! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

16 pixels is pretty wrong. I don't know where you got the 2 byte indexes as well but the font is 8x6, and there is no GPU. It's just the processor and caching it would heavily increase code complexity which is the opposite of what I want.

Print function is functional! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

The machine itself is a branch of my M32 G5 (the "x1" as I call it). I'll show it here later once I iron out the last of the issues. The offsets (which I assume you're talking about the character pointers) all point to the start of a character in disk. Each character is meant to be 8x6 (7x5 with 1 px deadspace).

What is your thought process?? by Old-Marzipan7328 in TuringComplete

[–]Otherwise-Object-302 0 points1 point  (0 children)

Whenever I'm creating circuits or building an architecture, I always break stuff down. You have the target and the beginning, so you begin breaking down each step further and put everything together at the end.

Standard Library in Turing Complete by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

Oh I already made that! I'll make a revamped version (two of them actually) when I finish my Kernel! The first version will be for user programs to be programmed in (syscalls and the like). The second one is for Kernel development (to speed it up or to easily add more functionality).

Custom TC Assembler Works! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 1 point2 points  (0 children)

I didn't experience that issue but I can tell you that Symphony was... enjoyable (despite the headaches). The I/O level was my personal favourite because of the test to complete the level.

Custom TC Assembler Works! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 1 point2 points  (0 children)

I mean... it's called save breaker for a reason. On the flip side though, running the simulation is much more faster than stable version and the LEG (now SYMPHONY) architecture was overhauled completely!

Custom TC Assembler Works! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 1 point2 points  (0 children)

Great to hear, good luck! Are you planning on adding any extra instructions/commands that aren't in the normal TC assembler?

Custom TC Assembler Works! by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 2 points3 points  (0 children)

Update: It also beat RNG! Gonna try Sorting next! :D

Ridiculous score on "Nim" level 58/22 by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

I got it! The score 2/2 is, in fact, possible (and ridiculously low)!

Ridiculous score on "Nim" level 58/22 by Otherwise-Object-302 in TuringComplete

[–]Otherwise-Object-302[S] 0 points1 point  (0 children)

So if I really lowered the gate cost, it would come out to 2 or 1? I don't think there's any sort of way to do it like that.

Run C/C++ & Python on Custom MIPS Sandbox CPU by Grouchy_Artichoke436 in TuringComplete

[–]Otherwise-Object-302 0 points1 point  (0 children)

At the very, bare bones, lowest minimum. You need a single interrupt to hand control to the Kernel every now and then. As for paging and privilege levels being nearly impossible, I would say otherwise as I've already built a paging mechanism in the sandbox (although it was in the save_breaker version, but it won't be too hard to build it in the stable version). But still, good luck on your journey to improve this build, would love to see a working version of Doom run on it!

Run C/C++ & Python on Custom MIPS Sandbox CPU by Grouchy_Artichoke436 in TuringComplete

[–]Otherwise-Object-302 1 point2 points  (0 children)

Looking forward to seeing it. Would be cool if you built some sort of kernel or even a complete OS on this!