Browse Search Popular Register Upload Rules User list Login:
Search:
AHOX Magnesium -- 2-In-1 Personal Computer!

Image:
screenshot of the scene

Author: Little

Group: Default

Filesize: 282.13 kB

Date added: 2025-03-31

Rating: 5.6

Downloads: 6182

Views: 671

Comments: 8

Ratings: 2

Times favored: 1

Made with: Algodoo v2.2.3

Tags:
computer,
programmable,
thyme,
ahox,
machine,
scripting

Scene tag

Hello!

It's been almost a year since I've released a computer (not counting the April Fools computer), but my new computer is ready!:D

This one combines the functionality of both Chives and Ab computers, and finally brings Algonet to Ab!
I also made a few minor optimizations, particularly on the Ab side of things, although they're so small they probably won't be noticeable.

I also added the Help Documentation mode, a way to view documentation that's bundled with the computer such as the welcome manual or programming manuals without having to use an external disk!
As well, I made it so that disks now have 1-resolution text so that they don't lag the game as much -- not to mention ndata disks which don't use text at all!

I know the egg computer was goofy, but I hope this computer isn't *as* goofy!:lol:

Please note that this is by far the most complex computer I've made, so there might be bugs!
Feel free to point out any bugs you see.

As always, bug spray is included! Now if only it worked... well, one can dream...

Instructions in scene!

2017 - 2025 Little (AHOX Computer Scene)
Any item in my scenes can be used freely with credit:D

Have phun!

EDIT 1: Added 3 more demos for Chives

EDIT 2 (HOTFIX): Fixed scrolling not showing bottom line of text

EDIT 3: Fixed until and while causing stack underflows when the loop ends (thank you to Harraf for pointing this out!)

EDIT 4 (HOTFIX): Added functionality for network booting (I completely forgot to add the functionality after I added the option in the startup menu -- I really needed to do more testing:tdown: )
In lighter news, as I'm getting more into these computers again, I'm starting to make more stuff for testing them properly.

EDIT 5 (CRITICAL HOTFIX): Fixed stack overflow bug when executing commands with more than around 60 spaces in Ab, and fixed variable functionality for the goto command in AHOX Basic not working (thank you to CPJChute for pointing this one out!)
Last edited at 2025/04/29 05:40:08 by Little
Please log in to rate this scene
edit
Similar scenes
Title: AHOX Duo Programmable Computer with I/O
Rating: 5.625
Filesize: 253.03 kB
Downloads: 2424
Comments: 2
Ratings: 2
Date added: 2022/04/11 01:20:58
Made with: Algodoo v2.1.0
Rating: rated 5.6
download
Title: AHOX Hydrogen Personal Computer
Rating: 5.625
Filesize: 134.86 kB
Downloads: 5237
Comments: 25
Ratings: 2
Date added: 2024/04/22 01:49:17
Made with: Algodoo v2.1.0
Rating: rated 5.6
download
Title: AHOX cpu killer
Rating: 5.625
Filesize: 39.51 kB
Downloads: 1874
Comments: 2
Ratings: 2
Date added: 2025/06/01 19:03:10
Made with: Algodoo v2.2.3
Rating: rated 5.6
download
Title: Programmable PC computer with AHOX X8 CPU - BUGFIX 3 !!!
Rating: 5
Filesize: 37.52 kB
Downloads: 995
Comments: 0
Ratings: 1
Date added: 2010/09/13 16:50:44
Made with: Algodoo before v1.8.5
Rating: rated 5
download
Title: AHOX Helium Personal Computer
Rating: 6.1111
Filesize: 302.28 kB
Downloads: 7026
Comments: 25
Ratings: 3
Date added: 2023/02/13 04:46:07
Made with: Algodoo v2.1.0
Rating: rated 6.1
download
Title: Phun Compatible AHOX Programmable Computer with DUAL CORE CPU !!!
Rating: 5
Filesize: 28.61 kB
Downloads: 691
Comments: 0
Ratings: 1
Date added: 2010/08/31 19:38:38
Made with: Algodoo before v1.8.5
Rating: rated 5
download
So I found out there was an issue with the until (& maybe while) command for chives.

Whenever conditions of the loop are fulfilled, when there is no data in the stack (no push/function call) it will throw a stack underflow.
If there is something in the stack, the command will behave erratically depending on what data was pushed before.

Using break when in an until loop/called function(& maybe while loop I still don't know:bonk: ) will also throw an error.

If this helps -- It seems that the until & while command did not push anything into the stack before calling _break, but the _break function pops data from the stack (to check for type).
[Not sure for call, though]

So uhh, happy bug squashing? :s

(Too bad the bug spray didn't work :( )
Last edited at 2025/04/06 11:10:03 by Harraf
Thank you for your bug report! :coolgrin:

I found the cause of the issue and I am now working to update the scene.

The theory you posted was correct -- the way UNTIL and WHILE works in Chives v10 computers (not just this one either!) is fundamentally flawed. I have no idea what I was thinking when I made that... <_<

Just shifting a little bit of code around seems to have cleared up the issue though! :lol:

Feel free to let me know if any further complications arrive -- so I can be ready to fix them! :lol:


My theory as to why this issue arose in these hybrid computers and not the original AHOX Hydrogen is because these use the same break function for both Chives and Ab -- and having not worked on either for a loong time, I kind of forgot the difference.

Either way, the break function remains unchanged and is still the version from Ab -- just a few lines being shuffled in the Chives interpreter seemed to clear things up! :lol:

Once I remember how bundles work, I think it would be wise if I could return a list of filenames within Chives too, because right now listing the files on the Ab partition from within Chives is impossible...
Last edited at 2025/04/08 20:33:10 by Little
Oh no!

I'm working on my next Algodoo Computer (the AHOX Boron -- I'm continuing the next-element naming scheme, Magnesium was just a detour:D
This also implies that, until further notice, the next computer after that would be named the AHOX Carbon, AHOX Nitro, then the AHOX Oxy, and so on) and I just realized I completely forgot to add the functionality for Chives network booting. <_<

I have released a hotfix to the scene that uses the same code the AHOX Boron uses for it. I hope this helps things!

I really should have tested this more... :tdown:

I promise to be more responsible with the AHOX Boron!

EDIT: Unfortunately, as of right now, the AHOX Boron is as good as cancelled.

I'm running into tons of bugs in Ab that are caused by the stack limit that can't be fixed without throwing xfors around everywhere, and thus greatly slowing everything down.

What's even worse is that older versions of Ab have a lot of these same bugs, albeit less severe.

Ab is a complete disaster and I regret making it if I'm honest... )|(

EDIT 2: I've done a lot of thinking (or well, as much as I can on my currently tight schedule) and I've decided that I am going to rewrite Ab from the round up and maybe play around with tokenization!

Long story short, what I want to do is effectively compile the Ab program into a much more simplified form before the computer runs it.
This would come at a tradeoff though; when I first load the program I would have to take some time tokenizing it and I'm not quite sure how I should handle that yet.


But, this could open up a world of possibilities, potentially even making Ab's speeds comparable to that of Chives V11 -- and as well, finally allowing for nested functions!


For an example of what I'm talking about, it could turn something like this:

print "Hello, World!"

into:

[1, [0, "Hello, World!"]]

with 1 being the opcode (print), and the [0, "Hello, World!"] being a function; in this case function 0, or the immediate function.

I haven't quite worked out how the tokenizer will work but I plan to start small and work my way up.

It's also probably important to note that I am on my last 11 days of school (ever) so I'm a bit stressed out at the moment and don't have that much room in my head for Algodoo stuff. :lol: :lol:


One last thing -- I probably won't release the AHOX Boron right away. I plan to do some form of beta scene showcasing the tokenization and demonstrating whether or not it's something I should pursue further.


I personally have decent hopes for it -- but who knows what the future holds! It could turn out terribly, or it could be one of the best Algodoo Computer-related decisions I make!


This is all for the future though...
Last edited at 2025/04/29 04:40:31 by Little
Variable functionality for the goto command in AHOX Basic still doesn't work.
Hmm...

Can I see the code in question? Hopefully when I build my new tokenizer I can sort this out! :lol:
Ok, here's some test code I made to see if it would work:

10 let var=20
20 print "Hello, World!"
30 goto var

Here's the error message:

[ERROR] Undefined Function var at line 30

And, here's the memory dump:

variableNames = [var]
variables = [20]
pc = 20
failedCommand = goto var
stack = []
sp = -1
functionNames = []
functions = []
Last edited at 2025/04/27 11:27:16 by CPJchute
Thank you!

I believe I have tracked down the cause of this nasty little bug causing the stack overflows -- and if so, it's not as bad of a fix as I expected! I hope to release a hotfix for that bug along with the bug you mentioned shortly! :lol:


As much as I would love to do the tokenizer, it is a really complex project beyond what I've done before so it probably won't be complete any time soon if I even get to it. :lol:


EDIT: I fixed the bug you mentioned as well as the stack overflow bug. Cheers to Ab being somewhat usable again! :lol:
Last edited at 2025/04/29 05:40:34 by Little
simply amazing