- Sky
- Blueberry
- Slate
- Blackcurrant
- Watermelon
- Strawberry
- Orange
- Banana
- Apple
- Emerald
- Chocolate
- Charcoal
Varscott11
Members-
Content Count
14 -
Joined
-
Last visited
Everything posted by Varscott11
-
More authority over the 'harware'. (OC Developer Request)
Varscott11 replied to Varscott11's question in Requests
I did think that was strange. I though it meant that you can and loading it back could be dangerous. For the purpose of a virtual memory manager in a game, It really doesn't need to fully swap code segments. That is a bit overkill. After all most memory usage comes from data (usually) such as tables and what not anyway. I wouldn't really say it is not possible to swap code either. You cannot swap the current state of a coroutine but you can swap static chunks via string.dump and load. -
More authority over the 'harware'. (OC Developer Request)
Varscott11 replied to Varscott11's question in Requests
I'm not mad at all and in fact I do actually agree with many of the points you have made. Some things I didn't know for example was the OC collects garbage at 10 instruction intervals. This is HUGE for me to know. Since I don't know a lot about the Minecraft Java environment I didn't know either that debug hooks aren't persisted. The fact that all types can be arbitrarily serialized now that I see that, can pose security problems not just for OC but for a kernel as well. The only thing I am not sure about is the OC killing a long running process for you. Does it kill the coroutine that is long -
This is more of a request of the Open Computers developers and may be a bit far fetched, but hear me out. At the very beginning when a BIOS is run, it is running in a sandboxed environment. This makes perfect sense as the Lua interpreter will blindly execute instructions on a real CPU on a real computer which can lead to major security risks if not protected properly. This is done by 'machine.lua' but this is where a problem starts to arise. Theoretically there is enough to build a fully functioning operating system, but it is actually quite limited and this is kind of strange. In real operati
-
Is this list a part of OpenOS or actually what you have provided by the mod what you start the computer? I'm asking this because the OpenOS Kernel.lua seems to be using debug.sethook
-
I've looked at the page showing everything that can be used in an init script and well as the Open Computers kernel.lua but I still have some questions: What is available in the debug library (Lua 5.3) aka debug.sethook for example. Can someone please post what functions are and aren't available?
-
I'm writing a kernel that has cooperative multi-tasking. It works great, but one job of it is to track a process' memory usage. It can track more memory being used but If the coroutine sets a bunch of stuff to nil, it should be able to subtract the difference as well. However sometimes the garbage collector might not get around to freeing it by the time the test is performed leading to an inaccurate result. Is there some way of forcing a garbage collector cycle?
-
I am trying to figure out how to write text to the screen from the gpu component with word wrapping. Since \n doesn't work, how can I use the set function to do this. Is there a certain process?
-
I am attempting to write an OS from scratch and I have come up with a couple questions that somebody can hopefully clarify for me as I cannot continue without the following knowledge. 1).Since a critical function like require is unavailable, can someone point me to general steps needed to write a custom require function. 2).What would be needed to implement a custom filesystem without any libraries from openos. Any help is greatly appreciated
-
Yield a coroutine from outside of child function for a scheduler
Varscott11 posted a question in Programming
I'm working on a multi-tasking thread scheduler that is in charge of executing a coroutine for a certain time, and then yielding it and moving to the next coroutine. This is where a problem arises. I cannot yield the coroutine from outside of the function. If I cannot use a C hook to do this in Open Computers, then how could I go about this? -
I've been getting into OS development both real and in Open Computers lately and while writing my kernel, I came across an issue that I cannot figure out. In my init.lua, I've put the following: local GemKrnl = require("Sapphire.System.GemKrnl") GemKrnl.EntryPoint() This should jump into my kernel, but for some reason it comes back with "attempt to call global 'require' (a nil value). I've specified the directory that it can be found, so whats the problem here? Also, one last thing, I suspect that if I want to use OpenOS apis, then I will need to include the files in my OS director
-
Is there some sort of api that allows for a program to write code instructions to a hidden and discrete location not on a filesystem that can be read by something like a hardware driver? I know that memory itself does not have an api, but is there anything that could emulate such a process?
-
how can I create a file with a certain extension on an hdd from lua code? Looked through the FilesystemAPI but can't seem to find a function to do it
-
My ultimate plan is to create a more in depth bios with advanced interface that can be configured by the user and run from eeprom (Config file will be changed to support at least 64kb data) 1). Is it possible to have multiple files and folders on an eeprom with files that can talk to each other like libraries. If so how do I do this 2). Is it possible to have graphic interfaces on a bios that a user can interact with in the first place? 3). Do you need a specific function name like init() for the bios to start? Thanks for any replies