I don't quite understand what you mean, but I'll try to explain what's happening here: the send instructions can block execution (which is what happens, you can verify this by looking at the execution step by step). At the beginning [01] sends a number (at this iteration it was -85), then [02] sends -78, and [03] received it at the time of the screenshot. all numbers are always sent to register e. (register c changes the value to the sender index). i hope, this helped
Yeah, I think I just misunderstood the instructions. I thought that when you send, the receiving module would receive "3" as the value.
In the 2nd block of code in module [03] I had:
MOV C 2; Listen for send from [02]
MOV D 0; prep for recv
RECV
MOV B E; store value to register B
It was easy enough to figure out when I moved -1 to C to see what the ID actually was, though.
If I could make three minor suggestions:
1. Make the commands case-insensitive, so if you're coding in upper case it won't mess you up.
2. Allow PgUp/PgDwn in ht instructions to scroll faster
3. Remember where you left off in the instructions so you don't have to keep scrolling back to the area you want to read
1. They are already case-insensitive, just like labels. (if there is a counterexample, I'm ready to see)
2. you can scroll faster using ctrl+up/down, although not to the entire page. I'll think about adding pgup/pgdown, but there may be problems with it due to the fact that different terminals can remap key codes differently.
3. ok, I'll add this too when I have free time
Oh, i just misunderstood what you meant. I thought you were talking about assembly instruction names. I fixed this in the new version. My current keyboard doesn't have pgup/pgdown, so fast scrolling works through fn+up/down (which is basically the same thing as pgup/down, probably). Now shortcuts work with capslock (except for ctrl/shift+arrows. instead of them you get regular arrows. Unfortunately, this is how the backend works and i don't know how it can be fixed). Saving indentation on manual pages only works if you open the same page as last time (i think this makes more sense than saving indentation on all pages)
UPD: forgot to say, you can simply transfer the default_player folder to new versions to transfer saves, instead of solving the tasks second time (if it was not obvious).
Oh yeah, sorry - ctrl up/dn works. So that's fine.
Some of the tasks need to be updated a bit, I think. Many flip in/out, such as:
Puzzle: 002_diff: I think your in/out are flipped. It's easy to understand, though
1. Read values from in[0] and in[1] 2. Write in[0] - in[1] to out[0] 3. Write in[1] - in[0] to out[1]
Also, puzzle: 005_sequences: Step 3 should probably just say "Write the sum of the sequence to in[1]"
3. Write the largest element of sequence to out[2]
It sounds like you just want it to pull the largest number from the sequence and output back to the I/O module... which was how I had tried to solve it at first lol:
I hope you don't mind my critiquing, none of it is really anything game-breaking. I mean, I've made it this far without any major trouble once I figured out the basics lol
No, on the contrary, i'm glad that someone has some fresh perspective and criticism of the game. I'm ready to accept bug reports / feature requests. I'll fix this later, because I don't want to get distracted by every little thing, fix it and re-upload the game. It's easier to release a big bug fix at once. So for now I'll wait for new messages. Have a good game. If you make it to the end, I'll make a new level pack with a couple of new mechanics. I initially had a couple of ideas for new mechanics, but decided to finish the game at 24 levels because i didn’t want to delay development
Nice! We'll see how far I get lol. I'm on Puzzle 6. I like how it unlocks a few more puzzles into the future so if I get stuck, I can still move on and try some other ones out. I also like how fairly straight-forward it is to create your own levels... speaking of which, I got something in the works for you :)
👀 🤣
dude, did you think there would be something here? Ohh no...
It's barely even a puzzle lol. @io441 @in 13 02 20 11 12 22 10 15 07 08 06 03 05 26 17 24 15 00 27 21 16 01 18 -99 27 05 15 08 21 00 21 -99 07 17 26 11 21 12 02 08 15 05 10 16 03 06 00 -99 10 15 03 05 00 21 07 25 -99 25 03 13 15 11 27 00 08 26 01 18 12 10 16 17 02 21 05 24 -99 -99 14 11 13 12 -99 11 14 -99 13 -99 12 -99 11 13 12 14 -99 -99 20 08 10 01 09 16 23 22 13 12 19 17 24 00 02 -99 22 10 18 20 12 04 06 00 24 14 16 -99 14 12 27 24 28 04 26 18 22 00 09 23 05 20 10 08 16 06 -99 10 22 18 00 05 12 20 08 24 14 16 -99 12 08 05 01 09 16 20 22 18 02 14 10 00 24 -99 -99 00 01 02 03 05 06 09 14 15 -99 00 05 07 15 14 03 09 -99 00 11 10 01 15 02 05 06 09 14 07 03 -99 11 09 02 07 00 -99 00 05 11 09 06 07 15 14 03 -99 -99 -99 15 05 14 08 22 12 00 02 01 18 20 26 19 24 29 04 16 23 -99 22 20 09 06 26 00 04 18 29 02 11 14 -99 00 22 02 23 15 28 30 20 06 27 26 16 04 05 14 01 29 10 18 19 24 -99 22 27 04 02 26 24 20 18 30 00 11 29 28 09 06 16 -99 04 18 12 27 05 16 15 19 20 23 28 02 14 22 00 29 24 08 -99 @end @out 13 02 20 11 12 22 10 15 07 08 06 03 05 26 17 24 15 00 27 21 16 01 18 -99 27 05 15 08 21 00 21 -99 07 17 26 11 21 12 02 08 15 05 10 16 03 06 00 -99 10 15 03 05 00 21 07 25 -99 25 03 13 15 11 27 00 08 26 01 18 12 10 16 17 02 21 05 24 -99 -99 14 11 13 12 -99 11 14 -99 13 -99 12 -99 11 13 12 14 -99 -99 20 08 10 01 09 16 23 22 13 12 19 17 24 00 02 -99 22 10 18 20 12 04 06 00 24 14 16 -99 14 12 27 24 28 04 26 18 22 00 09 23 05 20 10 08 16 06 -99 10 22 18 00 05 12 20 08 24 14 16 -99 12 08 05 01 09 16 20 22 18 02 14 10 00 24 -99 -99 00 01 02 03 05 06 09 14 15 -99 00 05 07 15 14 03 09 -99 00 11 10 01 15 02 05 06 09 14 07 03 -99 11 09 02 07 00 -99 00 05 11 09 06 07 15 14 03 -99 -99 -99 15 05 14 08 22 12 00 02 01 18 20 26 19 24 29 04 16 23 -99 22 20 09 06 26 00 04 18 29 02 11 14 -99 00 22 02 23 15 28 30 20 06 27 26 16 04 05 14 01 29 10 18 19 24 -99 22 27 04 02 26 24 20 18 30 00 11 29 28 09 06 16 -99 04 18 12 27 05 16 15 19 20 23 28 02 14 22 00 29 24 08 -99 @end @end @info Use IO outputs to light up a JBM sign. -99 indicates the end of a vertical line. Return the same numbers back to the IO @end