Skip to content

Releases: tinkeros/TinkerOS

TinkerOS 5.20-rc5

13 Dec 21:03

Choose a tag to compare

TinkerOS 5.20-rc5 Pre-release
Pre-release

Same as rc4 with changes:

  • Added Center command (Menu View -> Center, + key) to 3D Mesh Editor
  • Added ability to select all triangles matching the current color (Menu Edit -> SelectSameColor S key)

TinkerOS 5.20-rc4

11 Dec 22:48

Choose a tag to compare

TinkerOS 5.20-rc4 Pre-release
Pre-release

Same as rc3 with changes:

  • Added Ext. Palette display demo
  • Renamed random colored squares demo.
  • Extended palette is now reset after screen saver exit.
  • Misc. cleanup and fixes of new demos
  • Added 7 new tests to OSTestSuite

TinkerOS 5.20-rc3

11 Dec 00:08

Choose a tag to compare

TinkerOS 5.20-rc3 Pre-release
Pre-release

Same as rc2 with:

  • GrView deprecated (was buggy), now GR files open in GrPaint
  • F10 takes a screenshot and immediately opens it in GrPaint
  • GrPaint can now paint with stamps (GR files you put in /Misc/Paint/Stamps that can be used as paint brushes)

TinkerOS 5.20-rc2

10 Dec 18:36

Choose a tag to compare

TinkerOS 5.20-rc2 Pre-release
Pre-release

Same as rc1 with:

  • Terry Dance screensaver now has less artifacts and uses new palette so it won't corrupt the default extended palette
  • Added /Demo/ScreenSavers/TDanceSpin.HC making Terry a sprite so he can spin while dancing.

TinkerOS 5.20-rc1

10 Dec 14:45

Choose a tag to compare

TinkerOS 5.20-rc1 Pre-release
Pre-release

Same as rc0 with:

  • GrPaint can show/hide palette to pick colors from with SHIFT-P
  • Fixed crash introduced that could occur in WinMax
  • Misc. refactoring

TinkerOS 5.20-rc0

07 Dec 16:19

Choose a tag to compare

TinkerOS 5.20-rc0 Pre-release
Pre-release

AutoComplete lists some previously missing shortcuts for:

  • Page Break (when CTRL held long)
  • Line Feed (when CTRL-SHIFT held long)

Safer Ed:

  • Ed now warns if you open the same file and tries to detect and warn if the file was changed since it has been opened. You can disable these in your MakeHome.

Extended palette loaded by default

New Graphics Demos in Demo/Graphics/TinkerOS

  • Example of drawing a 24-bit full color image
  • Example of drawing a 238 color dithered version of the same as a sprite
  • Example rotating Hex Prism
  • Example Texas dithersparkle flag
  • Palette random squares/colors demo
  • Code for writing uncompressed PNG files is in Adam/Opt/Gfx/Png.HC, WIP

New Paint App:

  • Similar to ZealOS Paint, but modified to operate on a CDC and GR files instead of the raw framebuffer so that you can use what you draw inside the OS with GrBlot or as sprites.
  • Run GrPaint; for new canvas or GrPaint(filename) to edit a GR file.
  • Can take advantage of all new colors in new extended default palette.
  • Can navigate colors space with r,g,b or h,s,v to operate in hue, saturation, visibility color space. (Default is increase, use SHIFT to decrease).
  • Can take advantage of native zoom feature (CTRL-ALT-Z to zoom in, CTRL-ALT-SHIFT-Z to zoom out)
  • Can edit screenshot GR files (taken with F9) or screen clips (taken with SHIFT-F9)
  • Right clicking a GR file will display Paint Edit option now.
  • Left clicking a GR file still just views it only (ESC to exit view)

New key/keyboard shortcuts:

  • Kernel now recognizes CTRL-\ as CH_CTRL_SLASH
  • Ctrl-\ comments selected code
  • Ctrl-Shift-\ uncomments selected code
  • Alt-Shift-M Unmaximized a window maximized with Alt-M

New Drivers:

PIO SDHCI driver to support SD cards, works with QEMU and (slowly with real hardware Lenovo T420/T430 sd card slot)

  • Run SdhciInit, then Mount with drive W
  • Card should contain only small (< 2GB) size FAT32 partitions with a MBR partition table.
  • This will not work with all card readers, for any chance of it workings the card reader should use the sdhci_pci driver in Linux (check with lscpi).
  • This will not work with USB SD card readers or those using other Linux drivers such as rtsx_pci.
  • Example QEMU command line addition: -device sdhci-pci -device sd-card,drive=mysddrive -drive if=none,index=2,file=mysdcardimage.raw,id=mysddrive
  • Example working hardware probe that lists sdhci_pci: https://linux-hardware.org/?probe=cd0155712e

VMMouse driver

  • Allows seamless absolute mouse for QEMU and VMWARE (no longer have to capture and uncapture mouse)
  • It is loaded automatically if a hypervisor is detected and VMware mouse support is detected.
  • Note raw mouse modes don't work with this, but only a few games take advantage of this.
  • You can disable this in your MakeHome if desired.

Other Misc Functions:

  • GetMSR - Get CPU model specific register values (complement to SetMSR, don't use these unless you really know what you're doing!)
  • GetSysMan - Get system manufacturer as string from SMBIOS
  • GetSysProduct - Get system production as string from SMBIOS
  • GetSysVer - Get system version as string from SMBIOS
  • MountFileB can mount an ISO.C from a buffer in memory (mainly used to improve RAM disk booting)
  • MountFile can mount non-contiguous files via MountFileB.
  • MIn/OutU8/16/32/64/UncachedDevCAlloc/UncachedDevFree - MMIO helper functions for possible future driver code (used by SDHCI driver)
  • MemMove - moves memory
  • MemZero - zeros memory
  • RepOutU8 - Asm code assembed wrong, patched instruction manually
  • SYield - Only Yields if on Adam Core, but not if Seth
  • ThisFunc - Returns a pointer the function it is called from
  • ThisFuncName - Returns the name of the function it is called from
  • PciFindByID - Now has a count for finding multiple instance of same device
  • WinUnmax - Restores window to prior unmaximized state (state is now saved in WinMax)

Other:

  • You can now expect the following define to tell if you are running on TinkerOS: #define TINKEROS 1
  • Not every change is listed, I tried to only put what people might actually care about.

TinkerOS 5.19

06 Sep 03:18

Choose a tag to compare

General:

This release is mainly just to get out initial multi-channel sound support which is still work in progress. Currently 9 channels (0-8) should be usable. See demo Demo/Snd/RisenMulti.HC for playing music with multiple instruments. You can also independently play different notes with different setup instruments on different channels by manually calling SndM.

Adam:

  • Multi-Channel play which acts like normal Play but using one or more specified channels public U0 PlayM(U8 *st,U8 *words=NULL, I64 ch_start=0, I64 ch_end=0)

Apps:

  • Cube now has x key to form + of the same color on top of cube to help get started
  • Cube fixed a possible hang scenario

Demo:

  • Extended OPL code to allow usage of 9 channels instead of just one. Added optional channel argument to pretty much every function (SetFreq, SetVolume, SetKeyState, OPLBeep, U64Inst, RandInst, PickInst, etc)
  • Added Demo/Snd/RisenMulti.HC - Demo that plays risen with different channels and/or more than one channel

Kernel:

  • Added multi-channel Snd function variant U0 SndM(I8 ona=0, I64 chan=0) which can play an ona on any channel that has been properly setup when in OPL mode (does not work with the PC speaker or other non-OPL sound backends)

Note: ISOs will NOT boot from USB, if you want to use USB you must use the .img file.

TinkerOS 5.18

07 Aug 00:25

Choose a tag to compare

General:

This release is mainly a bugfix release. Some attempts at speedups I made didn't work on all systems I've since tested so I reverted them. Also some improvements to PS/2 mouse detection and adds AC'97 experimental sound support for VirtualBox.

Adam:

  • Adam/Device/Comm - Disabled running CommInit; by default. Can delay boot on some systems, you can always add Adam("CommInit;\n"); to your MakeHome.HC if you want it on boot.
  • SysSurvey - check drive mounted before trying to use it.
  • TOSClient - do not run CursorRemFile (it's nice getting rid of the cursor, but reads and re-writes all files which causes drive fragmentation over time).
  • Have Adam spawn AutoComplete instead of Seth (Seth caused some hangs on some of my machines, must be a race condition bug so I reverted this for now).

Demo:

  • Add Experimental AC'97 driver (/Demo/VM/AC97) for people who want to use VirtualBox with PC speaker like sound that cannot or do not want to compile the VMusic extension for OPL sound instead.

Home

  • MakeHome - Disabled some experimental stuff to speed boot, added loading of AC'97 driver if detected.

Kernel:

  • Added missing bounds check to Let2BlkDevType.
  • Speed up looking PCI device finding for some cases.
  • Does not Spawn mouse detection in KMain anymore, now waits for it to complete. This improves the likelihood of PS/2 mice/trackpads working on some machines I've tested and only causes a minimal delay.

Notes:

  • Tested baremetal on Lenovo ThinkPad T420, Lenovo ThinkPad T430, Dell Latitude E7470
  • TempleOS/TinkerOS/ZealOS all make assumptions about how they can use the memory map of your system which may not be safe assumptions and could even cause damage. The worst I've ever had happen was it crashes or fails to boot, but you have been warned, use them at your own risk.

TinkerOS 5.17

08 Aug 15:19

Choose a tag to compare

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:

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

28 Jul 22:50

Choose a tag to compare

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).