This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
KillaVanilla's profile picture

PatchworkOS

Started by KillaVanilla, 28 October 2012 - 04:04 AM
KillaVanilla #1
Posted 28 October 2012 - 05:04 AM
Hello all.

PatchworkOS is an OS made up of various things that I have made in the past few months.
It's literally code that I salvaged from previous projects and fit together to make an OS, hence the name "PatchworkOS".

Think of it as a compilation of my (best?) work.

Features:
  • Multi-User Support: This OS inherited parts of MuSeOS's user API, but with some parts from my work on CommuteOS thrown in (namely, the login screens).
  • File Permissions: This part of the OS was part of another (unreleased) project of mine.
  • Plug 'N 'Play: Another thing this OS inherited from my work on CommuteOS is the Plug' N' Play (PNP for short) system that I developed for it. In short, a PNP "driver" is a program/API that is loaded or run whenever a specific peripheral is attached. For example, a driver for the "modem" peripheral could (and does) provide a way to send files to another computer.
  • Enhanced Security: Almost everything of interest is logged, for later viewing by the administrator.
  • Turtle Restrictions: If you ever need to make sure that your turtle doesn't do anything you don't want it to, you can tell PatchworkOS to make sure that any "blocked" calls to turtle API functions don't go through. For example, you can specify that the turtle can't break or place blocks.
  • Remote Procedure Calls: This is for the developers (aka all of you). The remote procedure call API is automatically loaded and run on start up.
  • Turtle RPC Bindings: Turtles can have the turtle API functions automatically readied for remote calling on startup, By default, though, this is disabled, but you can enable it by having root make a file called "allowTurtleRPC" in ".os/". The content of the file doesn't matter.
  • Backup Client/Server: My backup program and server is included.
  • Database Client/Server: This has also been included.
That's all of the features that I can think of right now.

Download:
PatchworkOS Installer on pastebin

Alternatively, to install from in-game:

pastebin get nw4T54H4 installer

To install, simply run the installer.

WARNING:
I haven't had much time to do beta-testing, but this should work, as it's made out of beta-tested code. Consider yourself warned.
Okay, I've done some beta testing, and it looks like all of the bugs have been fixed.
Lildirt #2
Posted 29 October 2012 - 01:27 PM
Looks awesome, I'll try it out in a bit and update my findings :P/>/>

EDIT:
Well, that took nothing more than 30 seconds, sadly.
If this may help, I noticed "many much" invalid syntax in the pastebin highlighter, as well, here's the execution error:
"bios:267: Attempt to write global"


I'm curious of your OS, since it looks pretty neat. Try fixing it :P/>/>
KillaVanilla #3
Posted 29 October 2012 - 08:43 PM
Looks awesome, I'll try it out in a bit and update my findings :P/>/>

EDIT:
Well, that took nothing more than 30 seconds, sadly.
If this may help, I noticed "many much" invalid syntax in the pastebin highlighter, as well, here's the execution error:
"bios:267: Attempt to write global"


I'm curious of your OS, since it looks pretty neat. Try fixing it :P/>/>

…I don't see what could cause the problem.
I'm using 1.46, and line 267 is in read(), more specifically, this:

   elseif param == keys.right then
	-- Right  
	if nPos < string.len(sLine) then
	 nPos = nPos + 1 << Error here
	 redraw()
	end

nPos is a local variable.

What version are you using?