How bout R-OS Saturn? Say you save a file called HD.1 (Simulated Sector 1). It can be viewed/Run as a Program. For GRP files. You cant run them but you can view them. Changelog talks about it more in R-OS Saturn
Dev/Bugreports for SKKBAUI
Root / Talk About Programs / [.]
CyberYoshi64Created:
Just started here!
How about R-OS Saturn? Say you save a file called "HD.1" ("Simulated Sector 1"). It can be viewed or run as a program. For GRP files, you cannot run them but you can view them. Changelog talks about it in more detail in R-OS Saturn.I would go for the idea but I would change it a bit. I took a look at your code. I'd change sectors to direct files but with file names working as pointers that the FS uses to give the user a folder structure and assigning a SB file to each of them. (It'll be remarkably similar to OTYAWS.) I think I do this: - (Background task) Wait for spaceturtles & his FS - (Foreground task) I'm gonna learn how2use arrays and eventually share a dummy file to show you my meanings working.
I pm'd you my fs solution. Basically just display all the files you have in the project folder in an organized manner using a path meta file.How about R-OS Saturn? Say you save a file called "HD.1" ("Simulated Sector 1"). It can be viewed or run as a program. For GRP files, you cannot run them but you can view them. Changelog talks about it in more detail in R-OS Saturn.I would go for the idea but I would change it a bit. I took a look at your code. I'd change sectors to direct files but with file names working as pointers that the FS uses to give the user a folder structure and assigning a SB file to each of them. (It'll be remarkably similar to OTYAWS.) I think I do this: - (Background task) Wait for spaceturtles & his FS - (Foreground task) I'm gonna learn how2use arrays and eventually share a dummy file to show you my meanings working.
That's what I mean. But I want to tell a pointer to the FS to show the directory (if needed like in the file explorer) and load the correct file with the desired program set in a "*.conf" file....I pm'd you my FS solution. Basically just display all the files you have in the project folder in an organized manner using a path meta file.
In practice
TXT:*.exe=exec_prg.exe DAT:*.grp=paintprg.exe ...C:\Win3DS\System32\>dummy.bmp Behind the scenes: Find:
FILE;C:\Win3DS\System32\;dummy.bmp;DAT:@FSDEAD0DEB.FD;1;Check if the SB file's existence & do something based on the result:
IF CHKFILE(SBF$[META_OFFSET%])==0 THEN REMOVE META$,META_OFFSET%'do something if this META data exists but the file the data points to doesn't exist (deletion may be an option) ERR ERR$[ERR_META_00]'Tell the user about that ELSE CALL CHKTYPE_EXEC(FILENAME$[META_OFFSET%])'Run the desired program for the file type (If no config for the type exists=Run the default program โ Ask user ENDIF
The file system is the meta system. A file system is a way of storing and organizing files. You're also trying to make a file explorer but you're trying to make it all-in-one. There isn't really anything wrong with that besides its weirdness and the lack of modularity which makes things a bit more difficult.
The "file system" I suggest is simple. Basically just use the project folder as if it was a hard disk and add a meta file which stores the paths of all the files and folders so they will be displayed as if they are organized under those paths. For instance the "hard disk" contains your mock os system files and an app or two. You want the system files to appear under "C:/OS/" and the apps to appear under "C:/APPS/". The meta file could look like this:
PATH"C:/OS/osFile1" PATH"C:/OS/osFile2" PATH"C:/APPS/appFile1" PATH"C:/MY FOLDER/" PATH"E:/MY FOLDER/"The PATH tag is used to determine which lines contain file paths. This allows for adding additional file system objects (you likely won't need to but tags help determine which line is a path and which is a comment). After the tag comes a quotation mark. This is used to tell the file system's meta-reading code where a path begins and ends. The second quotation mark is used to tell the reading code where the path ends and allows comments or whatever to be added to the end. You may have noticed there are to copies of "MY FOLDER". This is made possible by adding a second drive (or rather partition, you can't have normal subfolders in SB and using external project folders is a bit weird). Because these are paths and it would be a somewhat waste of time to check for duplicates it's okay to have duplicate paths but it would hamper performance a bit if too many exist and it would introduce a bug which requires deleting a file/folder multiple times. Assuming you have or already do have a better understanding of the file system structure let's look at the reading code and then the explorer code. At startup the reading code checks for the meta file and loads it into a string if it exists. The string is then processed and only text which has a PATH tag is added to the path string array. Any comments at the ends of the path strings are removed. The file explorer is a bit more complex but it doesn't have to be hard to make. Start with a text-based shell and incorporate commands such as cd, del, mkdir, etc. or whatever you want to call them if you don't want to mimick DOS. To change the working directory just set the directory variable to the input path after the command. To delete a file/folder just remove an element from the paths array and/or DELETE the corresponding file in the project folder. To create a file/folder add a new element to the array containing the path to register it and SAVE the file if it is one. Because you may have switched to a working directory you can just type the name of a file/subpath in that folder and the working directory will be appended to the input path. You may need some semi-complicated wizard magic to pull some of this off. A file explorer with a gui is very similar to a text-based one. Instead if typing "cd" you click/tap/whatever a folder image or type the path in a text box. To delete something you right-click something and click "delete". Very simple. If you still need help with this I'll make a simple DOS thingy which includes the text-based features I described and a few concepts I came up with around the time of posting but I won't share them now. TL;DR short attention span lol
I understand the concept but I'm still like a beginner and I don't understand that really. I need some more help for that please.
(I never worked like that and don't understand how any type of arrays work. It's so unusual.)
I have a dummy and shows how far I can get.
KEY: QKN3SEC3
An array is basically a box full of variables. A 1d array
DIM ARR[10]is a list of variables. The example contains ten variables which can be accessed with
ARR[variable]. A 2d array
DIM ARR[2,10]is basically a list of arrays. In the example 2 is the number of arrays and 10 is the number of elements per array. A 3d array (and the array with the most dimensions you can get)
DIM ARR[2,2,10]is basically a list of array lists. The first 2 selects which list, the second which array, and the 10 which element/variable of the selected array. Arrays provide a clean and easy way of managing multiple generic-ish variables such as sprite coordinates. Strings are also arrays and can be treated as 1d arrays.
VAR A$="Mars" ?A$[1] 'Prints the letter "a"Arrays can be resized and worked on using the array commands (PUSH, POP, UNSHIFT, SHIFT, ARYOP). The only command arrays with more than one dimension can use is ARYOP which requires the DLC to use. I'll let you check out what those commands do using the SB built-in guide. I'll put together a quick little DOS-style prompt which manages and executes files and I'll add plenty of documentation.
An array is basically a box full of variables. A 1d arrayI'm gonna learn that now! Seems really important. (Look at your (experts') codes. A nightmare for me.)DIM ARR[10]is a list of variables. The example contains ten variables which can be accessed withARR[variable]. A 2d arrayDIM ARR[2,10]is basically a list of arrays. In the example 2 is the number of arrays and 10 is the number of elements per array. A 3d array (and the array with the most dimensions you can get)DIM ARR[2,2,10]is basically a list of array lists. The first 2 selects which list, the second which array, and the 10 which element/variable of the selected array. Arrays provide a clean and easy way of managing multiple generic-ish variables such as sprite coordinates. Strings are also arrays and can be treated as 1d arrays.VAR A$="Mars" ?A$[1] 'Prints the letter "a"Arrays can be resized and worked on using the array commands (PUSH, POP, UNSHIFT, SHIFT, ARYOP). The only command arrays with more than one dimension can use is ARYOP which requires the DLC to use. I'll let you check out what those commands do using the SB built-in guide.
I'll put together a quick little DOS-style prompt which manages and executes files and I'll add plenty of documentation.Thank you. It'll help me very well figuring such stuff out.
I tried using arrays once but I gave up.
I used string arrays but I never used regular arrays as I never thought they might be useful (although they are)
RGames Mouse Systems 2 now live!
Video:
https://youtu.be/6ZeHw2JeX_8
https://youtu.be/6ZeHw2JeX_8You told it here 'cause it uses lots of my assets, am I right? I'll let you go doing that as you told it rightaway. BTW I might begin uploading stuff to my YT channel, so go and check it out.
It only uses
MOUSEHIT()ADDWIN is not DRAWWINDOW, ADDDIALOG is not DRAWDIALOG
I have used 3 Video editors since my YT Channel started. DU Recorder Video Editor (Started using it since my Channel started) Filmora Trial (Started using it since Old Tech and OSes EP.2, Stopped using it since Old Tech and OSes EP.13) HitFilm Express (Started using it since Old Tech and OSes EP.13, Recommended by my PSN Friend: Kowan011 (A.K.A Kowan011 the Gamer)https://youtu.be/6ZeHw2JeX_8You told it here 'cause it uses lots of my assets, am I right? I'll let you go doing that as you told it rightaway. BTW I might begin uploading stuff to my YT channel, so go and check it out.
It only usesI haven't got a function called DRAWDIALOG. I haven't got a similar cmd either.MOUSEHIT()ADDWIN is not DRAWWINDOW, ADDDIALOG is not DRAWDIALOG
Ahem. Windows 3DS... You know, the reason this forum exists?
Also CyberYoshi64, Why did you not post the latest 0.3.3 beta in this fourm?
Look at the first post on this thread. I update it so when you open the page, and someone wants to look at it, it clearly says:
Beta key: ????????
Also: I am beta testing a new Mock OS, Here is its forum.
http://smilebasicsource.com/forum?ftid=1800