Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal
melanchol_69

Mockup - VEB OS

Recommended Posts

I have created a Mockup of a Potential Operating System for OpenComputers 1.8.x, this OS is based off of the SharePoint and DOS 5 styles.

Here are some designs:

1158447185_ShellNetwork.thumb.jpg.6e889ba0570252c3b43f4e6e0dcb938b.jpg2023678709_ShellHome.thumb.jpg.ded30875a250b977fd275d2be9d2d88a.jpg1676096543_ShellApplications.thumb.jpg.3a44e2cbf7cc82ea3b83837b1231cae1.jpg

 

899671506_ShellManagement.thumb.jpg.99f70f1e3f452f80f23900d192c321a9.jpg362164631_ShellLogin.thumb.jpg.5681ccd4fcb84c6c610e099972527dbb.jpg1100783806_ShellDisconnect.thumb.jpg.bcd4b02f26bb9042e43054fb584d8b95.jpg

 

 

 

 

 

 

 

 

 

 

2020672572_ShellFiles.thumb.jpg.b17e4ba270b772040160e7c00fd7bb4a.jpgIf you would like to see this become a real OS in OC, please reply.

Link to post
Share on other sites
On 5/29/2024 at 12:33 AM, melanchol_69 said:

I shall try my hardest to make it fancy and nice, however it will not be hosted on pastebin, it will be a manual download.

Why not github?

Link to post
Share on other sites
On 6/1/2024 at 6:01 AM, melanchol_69 said:

Ohh, I forgot to mention, it will be on github as a zip folder which's contents you can add to a specified filesystem folder in your savegame

you could make an installer that pulls it from github

Link to post
Share on other sites

Program sneak peak:
Improved loadfile() function, will be included with every VEB OS/Kernel Product

local loadfile=function(proxy,mode,path,len)
  if proxy.type=="drive" then
    local ts=proxy.getCapacity()
    if path > 0 and path <= ts then
      if type(len)=="number" and len >=1 then
        local rd=""
        local count=path
        for i=count,len do
          local rv=proxy.readByte(count)
          local rv2=proxy.readByte(count+1)
          local rv3=proxy.readByte(count+2)
          if string.char(rv)=="\0"and string.char(rv2)=="\0"and string.char(rv3)=="\0"then
            break
          elseif count == len then
            rd=rd..string.char(rv)
            break
          else
            rd=rd..string.char(rv)
            count=count+1
          end
        end
        local f1,e1=load(rd)
        if type(f1)=="function" then
          if mode=="r" or mode==1 then
            local s2,e2=pcall(f1)
            if s2 then
              return e2
            else
              return false,"Error: Failed to return library: "..e2
            end
          else
            return f1
          end
        else
          return false,"Error: Failed to load function: "..e1
        end
      else
        local rd=""
        local count=path
        for i=count,ts do
          local rv=proxy.readByte(count)
          local rv2=proxy.readByte(count+1)
          local rv3=proxy.readByte(count+2)
          if string.char(rv)=="\0"and string.char(rv2)=="\0"and string.char(rv3)=="\0"then
            break
          elseif count==ts then
            local fv=string.char(rv)
            rd=rd..fv
            break
          else
            local fv=string.char(rv)
            rd=rd..fv
          end
        end
        local f1,e1=load(rd)
        if type(f1)=="function" then
          if mode=="r" or mode==1 then
            local s2,e2=pcall(f1)
            if s2 then
              return e2
            else
              return false,"Error: Failed to return library: "..e2
            end
          else
            return f1
          end
        else
          return false,"Error: Failed to load function: "..e1
        end
      end
    else
      return false,"Error: Path out of bounds"
    end
  elseif proxy.type=="filesystem" then
    if type(path)=="string"then
      if proxy.exists(path) and proxy.isDirectory(path)==false then
        local rd=""
        local rs=proxy.size(path)
        local rf=proxy.open(path,"r")
        if type(len)=="number" and len >=1 and len <=rs then
          rd=proxy.read(rf,len)
          proxy.close(rf)
        elseif type(len)=="number" and (len <1 or len >rs) then
          return false,"Error: Length < 1 or > file size"
        else
          rd=proxy.read(rf,rs)
          proxy.close(rf)
        end
        local f1,e1=load(rd)
        if type(f1)=="function" then
          if mode=="r" or mode==1 then
            local s2,e2=pcall(f1)
            if s2 then
              return e2
            else
              return false,"Error: Failed to return library: "..e2
            end
          else
            return f1
          end
        else
          return false,"Error: Failed to load: "..e1
        end
      else
        return false,"Error: Path either a directory or invalid"
      end
    else
      return false,"Error: Path Invalid"
    end
  elseif proxy.type=="disk_drive" then
    if proxy.isEmpty() then
      return false,"Error: Disk Drive has no media"
    else
      local rad=proxy.media()
      local rp=com.proxy(rad)
      return loadfile(rp,mode,path,len)
    end
  else
    return false,"Error: Proxy is not a storage medium"
  end
end

Feel free to use it if you want, just be careful with run mode

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.