LoginLogin

ZOS

Root / Submissions / [.]

MariominerCreated:
Download:R25VX3CJ
Version:1.1Size:

Say 'hello' to ZOS!

Are you tired of finding Mock OS's that are really just multitools? Do you want an OS that utilizes state-of-the-art programming to run multiple programs smoothly? Do you want an OS that YOU could possibly write code for - (comparatively) easily? Well than ZOS is for you! It comes from my best PTC project that never really lived up to it's potential because of the technological limitations, most of which are no more! ZOS can compile simple BASIC programs and confine them to a window, using a system that allows the OS to be the priority, but can still run programs as fast as is allowed! One of the limitations I stated in the forum post - that all programs were limited to 60 fps max speed - is no longer a problem, thanks to some new code! Though you may not be in to mock OS's, ZOS shows what is possible, and is pretty fun to play around with. Though it does have a couple of glitches...

Instructions:

Most instructions can be seen by loading the MANUAL into a program slot and reading it. To change a screensaver, just delete GRP:SSAVER and then copy your Screensaver into the file with the name GRP:SSAVER.

Notes:

I was kind of lazy and then rushed it, so if there are more bugs please tell me. Version 1.1 was just a bug fix that should fix the most experienced bug. It's also the only one that I've been able to replicate. Hopefully this helps for those who haven't been able to use ZOS for a while KNOWN BUGS: 1. When closing a window, it closes the first one opened, though erases the one that you closed 2. It may randomly start playing music, but for what reason I have no clue 3. If you bring a window too high on the screen, it will be pushed into the top, and this will be copied down when you move it back

Replying to:Guzzler
Really cool! I have a suggestion: In Zsketch, use GLINE instead of GPSET(or whatever you are doing to get little dots). So your code would look something like this:
WHILE TRUE
 CLS
 OLDX=X
 OLDY=Y
 GLINE OLDX,OLDY,X,Y
 VSYNC 1
WEND
Oh yeah. I made an example that uses the touch screen:
ACLS
XSCREEN 2
DISPLAY 1
VISIBLE 1,1,1,1
WHILE TRUE
 IF BUTTON(2) AND #X THEN GCLS
 OLDX=TX
 OLDY=TY
 TOUCH OUT TT,TX,TY
 IF TT<1 THEN GLINE TX,TY,TX,TY
 IF TT>1 THEN GLINE OLDX,OLDY,TX,TY
 VSYNC 1
WEND

Replying to:Guzzler
Really cool! I have a suggestion: In Zsketch, use GLINE instead of GPSET(or whatever you are doing to get little dots). So your code would look something like this:
WHILE TRUE
 CLS
 OLDX=X
 OLDY=Y
 GLINE OLDX,OLDY,X,Y
 VSYNC 1
WEND
I don't think using WHILE is a good idea. It's hard to find the loop when editing the program. I think @Lable is much more visible.

Replying to:Guzzler
Really cool! I have a suggestion: In Zsketch, use GLINE instead of GPSET(or whatever you are doing to get little dots). So your code would look something like this:
WHILE TRUE
 CLS
 OLDX=X
 OLDY=Y
 GLINE OLDX,OLDY,X,Y
 VSYNC 1
WEND
CodeTrooper, it was just an example.

Replying to:Guzzler
Really cool! I have a suggestion: In Zsketch, use GLINE instead of GPSET(or whatever you are doing to get little dots). So your code would look something like this:
WHILE TRUE
 CLS
 OLDX=X
 OLDY=Y
 GLINE OLDX,OLDY,X,Y
 VSYNC 1
WEND
When no one notices your previous comment:
SpoilerYou need to connect the previous frame's touch x and touch y to the current touch x and touch y with gline. (in zsketch)

bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
Yeah, unfortunately, it's not very optimized for the old 3ds. There's probably some more optimization that can fix things like this, but I'm not sure it will ever be fully optimized for the old 3ds.

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
Ok now it doesnt work at all. I downloaded it twice and ran zos but it crashes EVERY time now

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
That's very odd. Can you find the details of the error? A lot of people have been reporting crashes, but I haven't been able to actually replicate any of them. This is a very late response, but it still counts :P

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
I open it and it crashes.

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
probably just an error w/ the passwrd, does it send you to the homescreen or ends the program?

Replying to:A2D_apps
bug: on the old 3ds if you open a window and click the check or the X it will continuously flash. works great on n3ds though
I run it and it closes the program instantly

i'm trying to make my own version of a multitasking os, but i get stack overflow galore :D

On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.

Replying to:Ptcguy
On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.
i get the same results. (n3ds and o3ds,)
Spoiler{i can switch to o3ds clockrate using homebrew}
EDIT:it only flashes with o3ds. n3ds i get no problem after i edit that line ptcguy mentioned

Replying to:Ptcguy
On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.
I swore I fixed this. Did you download the update?

Replying to:Ptcguy
On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.
how about i just do that

Replying to:Ptcguy
On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.
Mariominer: I'm on the latest update. I just redownloaded to confirm.

Replying to:Ptcguy
On o3ds, everytime I log in:
Subscript out of range in 0:200
and some illegible text that is on the desktop. EDIT: If I change line 199 from
 FOR I=0 TO LEN(DDAT$)-1
to
 FOR I=0 TO LEN(DDAT$)-2
it works but everything flashes and is mostly unusable.
That's odd. I made that update that specifically fixed just that. I'm not experiencing any of the issues that are being reported though, so I'm not sure why.

A way you could make this optimized for the O3DS is by making the windows fullscreen only.

Replying to:chicken
A way you could make this optimized for the O3DS is by making the windows fullscreen only.
That could actually work. It would take a complete redesign of the operating system on o3DS though. Plus it could only run one thing at a time, which still technically fulfills the goals that I set for this technology (being able to report back to the operating system while running a program), but it still is a bit more work. I'll try when I finish my current project.