Matchlighter's Programs
Finally got a centralized content management setup here.
I think I failed the 1.43 update, but 0.7/1.46 is now ready (and tested)
-Fire BIOS and Bootloader-
Spoiler
Yup that's right! A custom BIOS and Bootloader! I have actually rewritten the bios.lua file to come up with this. With this system, you can choose from a variety of OSes. The CraftOS has been moved to a separate file (in the OS folder of the rom). The API loading and other functions that you would expect to be in the OS, but not the bios, have been moved there. For instance, os.sleep() is now bios.sleep(), but os.loadAPI() is still the same. However, because of the way CraftOS is now launched, it uses setmetatable(os, {__index=bios}) to maintain maximum compatibility. The same method can be used for already existing user OS's, like Redworks.
Features:
Downloads:
Reporting Bugs:
How to add other user made OS's:
Todo:
Features:
- Specific OS's for each computer through the boot/OSList file
- Add OS's to all computers through the rom/OS/OSListAll file
- Add OS's to rom/OS/OSList to set OS's to automatically setup on new computers
- Check Floppy drives for OSList files (Each OS states where it is located)
- Check Floppies and system for boot/boot files which load instead of the bootloader
- Turtle support
- Multiple pages
- "Compatibility Layer" that can boot older OS's with minimal modifications. CraftOS is already ported and instructions for modding Redworks are included! (see rom/OS/OSList to set default boot list or boot/OSList to set per-computer boot list) Note: rom/OS/OSList is only copied to boot/OSList when boot/OSList does not exist
Spoiler
Downloads:
Spoiler
https://www.cubby.co...bc88d18/CC_BIOS
Changes:
v0.5
v0.31 : 7/27/12: Updated for CC 1.4
v0.31 : 6/8/12: Small update to fix crash when opening config screen and better organization of rom files.
https://www.cubby.co...bc88d18/CC_BIOS
Changes:
v0.5
- Updated to CC 1.43
- boot files now hidden. You will need to rename your boot folders to ".boot". This is a little tricky on Windows. I suggest you update, let the computers generate the folders, and then copy the files.
- BootLoader changes
v0.31 : 7/27/12: Updated for CC 1.4
v0.31 : 6/8/12: Small update to fix crash when opening config screen and better organization of rom files.
Reporting Bugs:
Spoiler
To report a bug please post on this forum with the following information:
To report a bug please post on this forum with the following information:
- Transcription or screenshot of the error message displayed on screen
- What you were doing at the time
How to add other user made OS's:
Spoiler
Take a look at rom/OS/OSList and rom/OS/redworks for an example.
Step 1: Create the OS start file. It sould look something like this:
Step 1: Create the OS start file. It sould look something like this:
os.run({}, "rom/programs/shell", "OptionsToPass") --Include comments about needed modificationsStep 2: Create the OSList entry. It should look something like this:
{"NameToDisplayInBootloader", "rom/OS/CompatibilityLayer", "PathToOSFileYouCreated"}Step 3: Share it!
Todo:
- Bootloader config screen that allows you to: check for OS's on floppies, set boot-timeout and more
- Awsome-looking boot animation
- Any other ideas I receive or come up with
- Add program to create a recovery disk (which restores CraftOS to the boot list)
-PVars-
Spoiler
PVars is my own rendition of persistent variables. While it is the same as the several others out there in that it saves and loads variables, mine has a few different features that make it better and easier to use. For instance, instead of code that looks something like this:
As you can see, my rendition reduces the amount of typing required to use persistent variables. Also, unlike most, my persistent variables API has the ability to save multi-dimensional tables.
Downloads:
Dropbox
Installation:
To install, simply and the file to you rom/apis folder.
PVars is my own rendition of persistent variables. While it is the same as the several others out there in that it saves and loads variables, mine has a few different features that make it better and easier to use. For instance, instead of code that looks something like this:
local pvar=pvars.load("VarName") pvar.value=20 pvar:save()Mine makes things easier and reduces the typing required:
local pvar=pvars.new("varName") pvar:read() --This will re-read the variable from the file. It is not normal to need to call this pvar+20 --This is how you would change and save the value. The new value is 20. local normalVar=-pvar --This is how you read the variable. (Notice the '-' in the front) local normalVar=pvar() --You can also read it like this. pvar(20) --You can also set and save it like this.
As you can see, my rendition reduces the amount of typing required to use persistent variables. Also, unlike most, my persistent variables API has the ability to save multi-dimensional tables.
Downloads:
Dropbox
Installation:
To install, simply and the file to you rom/apis folder.