Releases: tinkeros/TinkerOS
TinkerOS 5.17
General:
This release is mainly because I fixed a bug in the HolyC compiler and nobody wants bugs in their compiler.
Adam:
- SethFile/SethREPL will now start in the current directory it was spawned from instead of home.
- SysSurvey will output if Clonezilla image was likely used to partition the disk and make some smart default answer changes based on earlier question responses.
Compiler:
- Disabled optimization which can cause incorrect results when using the ~ operator (
/Demo/Tests/CompilerFix.HC.Z
fails on TempleOS since the HolyC compiler produces incorrect results without this fix).
Demo:
- Add calculation of PI benchmark/test. This is not the fastest implementation by any means! My primary purpose for this code was to test and compare compilers using arithmetic and bit operations on integers. Code is WIP, increasing the number of digits beyond a certain point will not produce correct digits (not because the algorithm is incorrect, but because you will overflow the max large integers the work in progress big number library supports).
Doc:
- 16 documented systems tested with successful baremetel installs now. (+4 more)
- Other minor changes.
Downloads
- Replaced Terry's TOSZ with a statically compiled version (Linux x86_64) since his old dynamically linked version will not run on many modern Linux distros anymore. You can get the new statically linked version of TOSZ here or from the assets below.
Home
- Updated
AutoHome
helper function. The main use for this is to quickly mount your drive when booting from the Live USB. It simply is a shortcut that mounts the hard drive and changes to C:\Home. It now by default to will do extended probing in the IDE/Legacy case if needed to find the drive to auto mount.
Misc:
- Add PI calculation and compiler fix unit tests to OSTestSuite.
USB Live boot image
- Improved USB image backup scripts to suppress some error messages for certain cases.
- Added statically compiled TOSZ to root of USB drive. (When running clonezilla its path is /lib/live/mount/medium/TOSZ)
TinkerOS 5.16
General:
The main focus of this release is to improve the ability to do baremetal installs on real hardware. This release contains two critical fixes which allows it to live boot from USB to a ram disk on more machines and also AHCI mode fixes to allow installation on more machines. It contains fixes for bugs found and installer improvements to help make the baremetal install process go more smoothly.
Adam:
- Fixed letterbox mode graphics issue.
- Added functions Do640x480, Do800x600 to compile quick fail safe resolutions.
- Prep Comm port functions to support both IO port and MMIO serial ports.
- Default to fast graphics if running baremetal.
- LPTRep fixes.
- Add SysSurvey question to identify custom PC builds for future motherboards supported section.
- Removed more unique SysRep information for SysSurvey results.
- Added function GetBootDrvPortInfo to output IO ports to SysSurvey for boot drive for IDE mode installs.
Demo:
- Updated OPL code, verified OPL3LPT works with real parallel port setup.
- Removed message when VirtualBox not detected.
Doc:
- Added successful baremetal installs page with 12 (a nice biblical number) successful TinkerOS baremetal installs. Also includes 2 desktops and 2 laptops that work with TempleOS as well!
- Added baremetal install guide for those who want to be adventurous!
Installer
- Installer help text improvements.
- Added option to try to auto mount pre-partitioned drives.
- Extended probing for drives if needed when in IDE mode.
Kernel:
- Fixed AHCI issues with some machines.
- Added MixedIn/OutU8 like In/OutU8, but can do MMIO too.
- Extended MountAuto and MountIDEAuto to be able to do more probing for drives.
- PCIE cleanup, still WIP.
Once
- Added additional help text if boot went to text mode.
General
This release contains two critical fixes which allows it to live boot from USB on more machines and also to install in AHCI mode on more machines.
USB Live boot image
- Modified USB early kernel to help prevent memory getting allocated which can corrupt initramfs and prevent USB boot to ram disk.
- Added boot option to save just the Survey.DD files found on partitions (to quickly copy just the results from
SysSurvey
to the USB thumb drive).
TinkerOS 5.15
New Apps:
- Rubik's Cube Game
- Flying Toasters Screen Saver
Adam:
- BootRAM can attempt to save RAM drive across soft reboots.
- Use polling for additional PCI COM ports for now (on some systems other PCI/PCIe device spam PCI interrupts).
- Added Clipboard callback functions for shared clipboard with VM or Linux server.
- DocDumpToStr - Dumps DolDoc file to a string.
- GrBrightness - Helper function to set first 16 colors scaled brightness value
- Default to slower safer graphics settings to eliminate glitchs on some virtualization platforms.
- Set use_slower_safe_gfx to FALSE in Adam/Gr/GrScreen to speedup if desired.
- UpdateSpriteDC - allows updating the buffer backing a sprite without re-MAllocing a new one.
- VidModes - lists available video modes (for framebuffer, you can scale some of these too for more modes)
- DumpAdamLog - Print the contents of Adam's Log
- HijackFunc - Replaces a system function with a call to a new function instead.
- SysRepLite - Shorter system info output than SysRep
- Dsync - Ignores binary files by default now
- Tweak SFX timing so adlib driver can keep up and be used for sound effects as well as music
- Tweak cursor so when drawing in sprite editor start point is under tip of cursor
- TOSClient - added timeouts, clipboard functions, get URL text only, and auto searching for server if not initialized yet.
- GodCodeJmp - This is what Terry used for his 5-minute random code walk-thrus.
Demo:
- FM801 sound driver that provides working Adlib sound for some PCI Forte Media sound cards
- VirtualBox mouse driver enabled by default for seamless mouse (clipboard support WIP, not enabled by default)
Doc:
- Added TinkerOS section to help to describe additional functionality beyond vanilla TempleOS
- Added files to Doc to support new help index items.
Kernel:
- Improved boot performance for some virtualization platforms by switching to AHCI probing first before legacy IDE
- SwitchToIDE/SwitchDrvsToIDE - For when you boot into AHCI mode, but want to install using legacy mode (on a system that has both types of controllers).
- throw - can now optionally just Exit the offending task if there is no exception handler
- Support for apps/volume/mute keys.
- Fix to make right shift key work in VirtualBox
- MakeAllDef - recompiles kernel attempting to use current kernel settings, can change resolution/scaling
Seth:
- Seth can now load AutoComplete to speed up boot
- Seth can now handle VirtualBox mouse driver to free up Adam core resources
- SethREPL - Get a HolyC command line on a Seth core
- SethFile - Like AdamFile, but includes on Seth core instead if available
Tours:
- Started a few new ones, nothing major, WIP
Misc:
- Installer now only lists video modes which should be compatible with your system as options.
- Various reformatting and refactoring.
- Add QEMU setup guides to website.
- Misc. graphics edge case fixes.
- Other small bug fixes.
Notes:
- If you compile VirtualBox KVM on Linux, you can also compile this extension and get Adlib sound! See their README.md file for enabling it for a VM.
- Clipboard in VirtualBox has issues and is work in progress. To mess with it, go into /Demo/VM/VBAdd.HC.Z and comment/uncomment VMClipInit; and ClipHijackInit; inside the VBInit function after installing.
- Example QEMU 7+ command line for extra sound features:
qemu-system-x86_64 -hda ~/TOS/qemu_disk.qcow2 -m 4096 -rtc base=localtime -audio driver=alsa,model=adlib,id=snd0 -cdrom ~/TOS/MyDistro.ISO.C -boot d -smp cores=4 -device bochs-display -nic user,model=pcnet -cpu host -enable-kvm
TinkerOS 5.14 pre-release
This is a pre-release just to get some new stuff out there for a few people to test.
Main changes:
- Enhanced VirtualBox support (seamless mouse, wip clipboard support, working sound with Vmusic extension on Linux).
- Forte Media FM-801 PCI sound card OPL emulation support
- Hopefully bugfix for this issue
- Added function SwitchDrvsToIDE to switch to IDE mode to do a legacy install on a system with both IDE and AHCI drives.
- Many other changes that are work in progress, not going list it all now.
Notes:
- If you compile VirtualBox KVM on Linux, you can also compile this extension and get Adlib sound! See their README.md file for enabling it for a VM.
- Clipboard in VirtualBox has issues and is work in progress. To mess with it, go into /Demo/VM/VBAdd.HC.Z and comment/uncomment VMClipInit; and ClipHijackInit; inside the VBInit function after installing.
- Example QEMU 7+ command line for extra sound features:
qemu-system-x86_64 -hda ~/TOS/qemu_disk.qcow2 -m 4096 -rtc base=localtime -audio driver=alsa,model=adlib,id=snd0 -cdrom ~/TOS/MyDistro.ISO.C -boot d -smp cores=4 -device bochs-display -nic user,model=pcnet -cpu host -enable-kvm
TinkerOS 5.13
Kernel changes:
- Fixed crash on boot for some multi-core systems.
Demo changes:
- Clean-up extra unnecessary directory, kept TOSTheme and moved to /Demo
Home changes:
- MakeHome now includes /Demo/Snd/OPL2 which provides enhanced sound capabilities on some systems with Adlib/OPL available on IO port 0x388 (if available). This allows replacing built in square wave sound with other OPL instruments. Use PickInst to pick a pre-defined instrument or RandInst to generate a random 64-bit instrument! (If you are the type who uses TOS to generate random songs, you might as well use a random instrument to go with it.)
Other:
- Made install video for VMware here which also demonstrates how to play the TempleOS theme using the standard square wave sound and other instruments.
- Don't just play on your computer make time for praying and appreciating natural wonders God created.
- Happy New Years!
TinkerOS 5.12
Adam changes:
- Change God Doodle/Song/Word to Random Doodle/Song/Word (Mashing a keyboard doesn't necessarily mean God will produce meaningful output for you and I don't want to be misrepresenting God!)
- PCIRep now lists USB controller types
- Other small cleanups
Demo changes:
- Add DetectOPL to detect OPL2/3 sound chips (Demo/Snd/OPL2.HC)
Experimental/WIP stuff:
- LPTRep code
- Serial mouse code
Home changes:
- Spawn instead of call ACInit in MakeHome.HC on boot to prevent delay while AutoComplete is populated
Misc changes:
- Other small fixes and typo corrections.
USB image changes:
- Fix USB kernel command line parsing so letterbox modes work again.
Web:
- Fix broken TempleOS website images
- Minor website changes and documentation changes.
- Sync up website and documentation changes with DD files on the TinkerOS ISO/install
TinkerOS 5.11
Adam changes:
- Improve serial port detection.
- Fix PCIRep IO port/MIMO output.
- SysSurvey add OS version, remove serial numbers.
- Added PCILookUpDev for looking up just one device by vendor/device ID.
- Update PCIDevices.DD
- MakeAllIns like MakeAllDef, but installs the new kernel built with default options.
Compiler changes:
- Allow specifying less values than array max size, but display warning. This allows you to just set a big initial fixed array size when developing and not have to keep changing it everytime you add something to the array. This way you only have to set it to the correct value once your done developing and know what the final size will be.
Installer
- Fix bug where installer tries to install before drive is ready on some machines.
Kernel:
- Add keyboard/mouse packet injection functions KbdPktInject/MsPktInject for future use.
- Add exception catch to prevent hang when IsFile used on a non-existing drive.
- Ignore early MP crashes if they happen (you likely won't have keyboard input to debug it anyway).
- If you unmount the current drive instead of crashing, you'll switch to the boot drive.
Misc changes:
- Other small fixes and typo corrections.
USB image changes:
- Added code to detect a MP crash and display a message to try safe mode instead.
- Fixed compressed VBE tool image not booting.
- Fix clonezilla image to install TOS using clonezilla.
TinkerOS 5.10 USB image fix
Switching to compressed ISO images broke passing the parameters to the kernel to support USB booting different screen resolutions. This USB image fixes the issue.
TinkerOS 5.10
Adam changes:
- Added GrView shows GR files on the screen
- Added SysSurvey for gathering baremetal install/hardware info to share.
- Added MakeAllDef which attempts to recompile the compiler and kernel using the current kernel settings without ask a bunch of questions.
- Added ToggleWallPaper which toggles displaying debug information on the wallpaper.
- Added SetAltScrn which causes an different screen sized CDC to be displayed instead of the normal one from the window manager.
- Fixed SethREPL hang when task gets killed externally.
- Added KillSeth to kill all processes on a specific core.
- Added functions to call various useful assembly instructions for bit operations, hashing, and generating random numbers (see Adam/Opt/Utils/BitOps.HC)
- Can capture screenshots F9 or screen clips SHIFT-F9, which are saved to ~/ScrnShot or ram disk B:/ScrnShot (if not installed)
- TOSClient refactor prep. work for networking support.
- Mount2 gained a parameter used to save the chosen drive hint to enable recompiling the kernel without having to answer questions using MakeAllDef.
- PCIRep output more useful now.
- Cleanup SysRep output
Compiler changes:
- Display more information to help locate unnecessary parenthesis.
Demo changes:
- Added Demo/Net networking stack ported from ZealOS (WIP)
- Removed Terry Dancing screen saver to save space.
Driver changes:
- Adlib driver in "/Demo/Snd/OPL2VM.HC" now supports OPL2LPT/OPL3LPT parallel port devices.
Kernel changes:
- Fix raw mouse on exit/task change, add function SetSysFocusTask
Installer changes:
- Replace 640x340 option will more useful 640x512 (1280x1024 w/2x scaling)
Misc changes:
- Code reformatting and warning cleanup.
USB image changes:
- Add clonezilla image of TempleOS/TinkerOS quad boot for installing / partitioning drives with clonezilla
- Add script to search for TOS partitions and backup files to a zip files on the USB drive
TinkerOS 5.09
Adam changes:
- InUntilKey gained an optional timeout
- New API functions DocAppendLine and DocPrependLine
- Autocomplete can handle StandBy.DD even if not compressed
Boot loader changes:
- Can boot both TempleOS and TinkerOS
- When installed to a hard drive the boot loader can list TempleOS boot entries and TinkerOS boot entries now list resolution
Driver changes:
- You can now use different 2-operator Adlib/OPL2 instruments instead of the normal square wave pc speaker for sounds. To do this use QEMU with
-soundhw adlib
and then run:
Cd("/Demo/Snd");
#include "OPL2VM.HC"
This Adlib driver also works on TempleOS with the same setup instructions. PickInst
pops up a dialog to pick a new instrument, RandInst
generates a unique random instrument from a 64-bit number, if you find one you like save the 64-bit number and you can re-use it by passing that number to U64Inst
Kernel changes:
- Add ToLower function
- YorN can now have default value set for when enter is pressed instead of Y or N
- Kernel config now inherits some settings from currently running system
Installer changes:
- TinkerOS installer can install TempleOS and patch FPS or force text mode
- Restored ability to install TempleOS and supplemental ISOs in /Extras
- Add limited probe option to installer which might help for some flaky hardware.
- Default answers to Y/N questions in installer by pressing enter. Now if you want a quick install in a VM and you don't care about settings or blowing away your hard drive you can just enter through most of the installer.
- Extend max resolution to 3440x1440
- Add 1920x1200 and 960x600 resolution modes
- No longer install /Home/MakeHome.HC by default, use system default /MakeHome.HC
Misc changes:
- Fixed creating sprite from screen capture
- Yield periodically by default while copying
- Repo clean up / prep work for building on Linux without a VM
USB boot image changes:
- You can now select from many different video modes to boot TinkerOS into. To see which ones you device supports so you are not dropped to text mode first run "VBE Mode List" which is a hacked Zeal kernel that just lists the available VBE video modes (it's easier than using vbeinfo on the Super Grub disk, but that is also an option still)
- TempleOS is included, you can boot it to ram disk too.