Does anyone know how to program this thing?

https://snap.berkeley.edu/snap/snap.html#present:Username=d4s_over_dt4&ProjectName=os%203
Can anyone make a pong program using jounceassembly?I'm sure its turing complete but I still don't know how to make that.

i think you need to explain what jounce assembly is, and personally id want to know why it's like that

okay,will do this after breakfast

bc i failed making osses 3 times,all because of failing to make a language
so this time i made a simple one and i succeeded

failing to make an os isn't because you failed to make a language. you don't need one in the first place. like i've said before, you could just use blocks and save the hassle, a language is completely seperate.
what you have here seems like it's just an assembler (compiler for assembly), or an assembly interpreter, or maybe even neither, i can't even figure out where any of the code relating to the assembly is, or how i would run the example in the project.

run jounceassembly()

up arrow then "jounce test" then enter

yes

then i don't know whats an os
to manage hardware?not possible
to multiprocess?snap does that for you
to have a file system?if you dont program stuff to read and write from files its not very useful
on that point of view,snap is an os because it can
read and write hardware,(although only ones connected to serial ports)
multiprocess,
have a file system(nested sprites with blocks and sprite local variables)

oh wait

snap is more of a kernel (manages hardware), but it isn't a userspace. it doesn't multitask, because you can't just take two projects, run them both at once, and get them to interact in some way, unless they were both specifically made with eachother in mind and are using some kind of webserver to communicate, but that doesn't work with multiple people or offline.

the thing that would make a "snap os" is almost certainly about being able to take two things other people created, and without knowing how either of those things work, get them to work together in some way, like drawing an image in a paint program, then using it in a slideshow. note that this would be without going into the snap editor.

it could also be about intercepting programs, for example, having something in snap act as an autoclicker or macro or such. there's no easy way to shove an autoclicker into any random snap project, speed it up or slow it down (in time or framerate), etc. although for this to work with blocks you'd need to scan code beforehand to prevent certain block from being used.


It doesn't mutex though
but you can use warp to jam all other threads

"conway game of life isn't a logic simulator because if you align stuff wrongly it will explode and stop being logic gates"

you need a protocol,not an os

yeah maybe

nah you just need to tell people that projects using that certain blocks are malware in your os

What is the syntax for the assembly, and how do you run assembly in this?
It's not assembly if it's not running on a CPU or at least an emulated one though (it would be very interesting if someone created an emulator in Snap though, it's certainly possible to create an emulator for at least a subset of an instruction set as there is one for RISC-V on scratch)

type in text editor

yes it is
but the emulated cpu uses a really,really werid ram
every data cell consists of a opcode and a data list
if you want to store data there,you can set it to ["nop",[data]]

nope its not riscv
you can look at the jounceasssembly instruction set block at controls
some other instructions are in run jounceassembly,its a mess

it's logic no matter how you arrange it, and this has nothing to do with what i'm talking about. when anyone talks about an operating system that can multitask they mean taking any two programs and running them both at once. your example is of one program that does two things, not two programs. with one program that does two things, you generally can't easily get the program to do only one of the two things, and you definitely can't easily replace one of the two things with something else.

it's called userspace. a userspace and kernel make an os.

i mean, sure, you can have no security like templeos, but the way you talk about all this makes it sound like there's barely anything to it, so it's something to do that gives a good benefit.

that's extremely vague and i'd rather not be required to do that, especially if i'm going to have to potentially refresh the page at any point. it also says nothing about syntax. people need some kind of explanation of how to use jounceassembly to make anything in it

that's not what they said.

im just doing sarcasm
i mean that it something does not cooperate or even does bad things to the os kernel just mark it as malware

and that userspace is what i am doing as "jounceassembly"
it ensures that everyone uses this restricted set of instructions and no one does malware

yeah

youre not,you only need to type in that code editor if you want to code,otherwise type uparrow and type some console commands

read the code!it only has a small instruction set and you can figure it out!

i mean that i did not implement risc v but i implemented jounceassembly

you're asking people to code in jounceassembly. that's the topic. you haven't said what the console commands are either.

i'm never going to do that to make things for any of your projects, because i'm almost certain it's going to change later, and you'd almost certainly expect me to do it again every time. if everything in your project is so small and simple it should be a lot faster for you to just say what the instructions are in the first post and how to write and test out a program.
whatever language you have when it's complete, i assume you're going to expect people to actually use it, right? people asked for a tutorial to make programs for snipos, and all that requires is a scene switch. why would people reverse engineer whatever complex thing you end up making?

nah its just a project not a professional os

then dont
i have seen a lot of people who dont want to participate in any of my posts

i mean for more than one person to try making a program for it. is it really an os if it has no programs?

what i don't get is why you post and expect so much on a regular basis. who are you even talking to? certainly not anyone new to snap with this post, and it doesn't seem like any of the regulars either.

no,you need the kernel program and the startup program(they can be the same one)

this is a forum
forums can be used to share projects
not just for talking to

neither of those apply to what i'm talking about, and i don't think either of those are programs. the kernel is the thing that makes it possible to run programs, and the "startup" program is too vague to even consider, it could mean many different things. you definetly can't write a kernel in jounceassembly.

that's not what this thread is (it's very clear from the title that you're asking for something), and you can't share projects to a vague "forum", the point is that people are on it.
what i'm asking is who are you expecting to write pong in jounceassembly?

yeah the kernel is a special thread(code editor) and it is not written in jounce assembly

code editor

yeah ik

im not expecting anything from you guys,considering the number of posts in the capture flag topic and the mqtt collaboration topic
but if someone does want to help im more happier

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.