Browse Search Popular Register Upload Rules User list Login:
Search:
What is the difference between flash and zflash since it works similarly (put a function to a register)?
Also how do you make programs be able to be recogised by the OS through index command?
thanks!
I have another question, for insert, does sensor have to be in numeral or in words (mem,sp,tilt ...)? I'm having trouble using insert rn
I'm trying to get the stack pointer but it keeps giving me the first value (the bottom) of the stack.
Btw if you're wondering, the reason why V1 failed is because of it's GUI library.
Apparently chives can't store strings with spaces, so that's fun.

(Plus I haven't tested it until it was too late to refactor the GUI without major Algoodo memory issues)
So I found out that the new update broke insert.
(after trying to figure out why all of my programs that relied on insert x pc broke)
It looks like I accidentally used eval vrX instead of eval X, Ooops.:bonk:
Last edited at 2023/08/04 12:46:41 by Harraf
How do you manage to even use springs as connectors?
(also algodoo didin't like that it had to perform memory access on a 1024 length list lol)
So for the if statement, does , (<) and . (>) have functionality? (it did not work at all for me)

Also there's a weird bug with the while and for loop that causes any return statement (even though the return is inside or outside the loops) to become orphaned. (probably because I used goto to go outside the loops)
Also, for the install command, it seems that you can't put pointers in. (does not dereference it)

Is it intentional or just a goofy bug?
Nope,:blink: how'd that happen?
It's not too far off from a typical x86/x64 PC that's found in almost any home.
Difference is not that clear though, haven't thought of how to implement the computer exactly.

[I got the idea of segmenting the memory when watching/following an OS tutorial.
(Also the fact that larger blocks of memory seem to lag algodoo a lot when trying to use xsetarr on it)]

Probably gonna work on it later.
Little's implementation actually uses something of that extent, splitting by newlines first and then by spaces using string.split
Tried it, so basically color the box itself, then click on it while unpaused to change the color of your GUI

Pretty neat ngl, can be used to customize your gui without resorting to modding
Heads up, I found out that eval instruction uses _xcra(9, 0) to initilize the registers instead of _xcra(_bios(2) - 1, 0).
This may cause any program that is cx-16 compatible to not work properly or not function at all if ran using eval instruction
A runtime of 5.96
With an i5-3337u,
6 GB of RAM
GT-720m
and Windows 10

either the current gen CPUs seem to focus more on multi core performance or the scene pretty much doesn't work
A bit late but Chives is a programming language for an AHOX series by Little.

Searching using the word AHOX should give out AHOX Helium, which (as of writing) is the latest Chives Computer.
Cool scene, though the controls are a bit w o n k y

Anyways after a bit of testing (ow my braincell :bonk: ), here's what I've found:
1. The width rendering part starts at 0. It shouldn't, as it reads directly from the file which the image data starts at offset 4

2. The width renderer overrendered image width by 1 char.

3. Renderer is very f a s t
(less than 10 seconds on my portable waffle grill (thingy) with an image width of 5 and height of 3 than the expected 640 seconds).

4. Every time a line is rendered, the reading is offsetted by img_height * p. Typically it should be true_width * p.

So here's the fixes:
1. Yeet the `let g=x+1` out, it causes the width renderer to overrender.
(Dont forget to replace `let n=n+g` to `let n=n+x`)

2. offset j by 4 (The easiest part is in the width rendering loop).

3. Remove the `let x=img_height*p` and replace with `let x=n*p` (below the `let n=img_width-4` of course)

So when all is said and done, the (fixed) piece of code should look like:
`
...
640 | for i=4 img_height
650 | let printt=""
660 | let p=i-4
670 | let n=img_width-4
680 | let x=n*p
690 | let n=n+x
700 | for j=x n
710 | let z=j+4
720 | if file(z)="0" then let printt=printt+" "
730 | if file(z)="1" then let printt=printt+"_"
740 | if file(z)="2" then let printt=printt+"/ "
750 | if file(z)="3" then let printt=printt+"3"
760 | if file(z)="4" then let printt=printt+"#"
770 | if file(z)="5" then let printt=printt+"@"
780 | end
790 | print printt
800 | end
...
`

Happy coding! :tup:
(Btw use another code editor like notepad++ if you're still having trouble with ascii chars)
Last edited at 2024/04/20 15:36:33 by Harraf
Make what though?
Take a long rest, you deserved it.
So I am amazed with the fact that the disk inserter doesn't use axles.
I want to know how it works, cuz it somehow works without scripts.
Nvm found it, it was apparently material velocity
:bonk:
My face when someone comments whilst I was away for a few months :o

But yeah the optical disk version is for this scene by Little
http://www.algodoo.com/algobox/details.php?id=274845

And the max size of these optical disks is 1344 bytes or 1.34 KB, so the program size is definitely a constraint.

(If you're wondering how to make the drive work with AHOX Hydrogen, it's basically plugging in the spring that's connected from the drive to the CPU)
Hope this helps! :tup:
Last edited at 2025/04/05 06:51:44 by Harraf
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
Found a small bug in chives section;
push doesn't increment _sp which probably isn't great for system integrity:(

(Happy birthday, @Little :tup: sorry for being late to the celebration!
Have a great 17! :) )
Very late to the discussion, CustOS-Li v1 was planned alongside v1.1, which was planned to be my intro to Ab code.

But due to code speghetti of v1.0 (and lack of competency on my part to make future-readable code in the first place) I decided to go to v2.0.

In short, I burned out after countless revisions and spent a long time (1 to 2 years?) recovering. Ouch:(

Sorry for not responding soon

(Oh and I also learned to pile small modular additions on top of projects instead of building it in one go -- makes building massive projects easier:tup: )
Last edited at 2025/07/18 09:59:28 by Harraf
So I don't know what happened, but when I downloaded the scene it instead showed a random piston thing.

Kinda weird though, considering this is my first time encountering stuff like this :s