ChangeLog
----03/22/23 22:27:05----
* Raised version number to 2.03.
* Created CMouseRawQueue to track tasks in raw-mouse mode, placed in CMouseHardStateGlobals mouse_hard.raw_queue.
* Created MouseRawQueueFind to check whether a given task is in raw-mouse mode, externed in KernelC.HH.
* Created MouseRawWatcher and MouseRawWatcherInner to watch for killed tasks and remove them from raw_queue, spawned in KMain.
* Added task parameter to MouseRaw, changed behaviour from a global toggle to a task-based queue of CMouseRawQueue entries.
* Changed MouseHardHandler to use MouseRawQueueFind with sys_focus_task to determine if currently in raw-mode or not, added 
clearing mouse.show, mouse.lb, mouse.rb to fix bug where clicking to refocus a mouse-raw application would register a repeated 
click on unfocus.
* Added raw_queue init to KbdMouseInit.
* Changed CastleFrankenstein MouseHandler while loop condition to use MouseRawQueueFind with game_task as parameter, added 
raw-mouse keybind descriptions to game's MenuPush.

----03/17/23 17:44:24----
* Rewrote MiniGrLib, replaced old VGA-specific code to work with 32-bit framebuffer.

----03/14/23 03:23:46----
* Created %o Bool StrPrint format code, updated Print.DD with new %o code and previously undocumented format codes.

----03/13/23 18:06:09----
* Raised version number to 2.02.

----02/25/23 16:35:04----
* Created MouseRaw and MouseRawReset, externs added to KernelC.HH, functions used in Mouse.ZC.
* Added members to CMouseHardStateGlobals and used in Mouse.ZC:
    - CD3I64 raw_data
    - Bool raw_bttns[5]
    - Bool raw_mode
* Update CastleFrankenstein to use new MouseRaw functionality.

----12/21/22 03:38:35----
* Raised version number to 2.01.
* Created FreeAll method to /Kernel/Memory/MAllocFree.ZC and extern to /Kernel/KernelC.HH.

----11/02/22 20:26:55----
* Raised version number to 2.00.
* Updated the Charter to allow non-Public-Domain MBR/UEFI bootloaders, as long as the Public Domain ZealOS HDD/DVD Boot 
Loaders are included, offered, and functional. The Charter upholds that all operating system code must still be 100% public 
domain. Updated Credits, FAQ, Features.DD, Welcome.DD.
* Added 128-bit signature to KStart32 to allow for booting the ZealOS Kernel.ZXE from 32-bit mode via a prekernel booted from 
any other bootloader. The signature is jumped over with JMP if booted from the Public Domain ZealOS Boot Loaders to KStart16 
to KStart32.
* Created external Public Domain "ZealBooter" prekernel written in C, for use with booting Kernel.ZXE from other bootloaders, 
primarily targeting Limine. ZealBooter compiles to an ELF file that Limine boots into and passes boot-time information to, 
which ZealBooter then uses to boot into and pass information to the Kernel.ZXE kernel header.
* Implemented Limine bootloader install prompt to OSInstall. Created LimineCFGMake and LimineMHDIns to allow for installing 
Limine to MBR, and for generating the Limine.CFG file required. 
* Added ";*.CFG*" to FILEMASK_TXT
* Added Kernel header fields SYS_FRAMEBUFFER_ADDR, SYS_FRAMEBUFFER_WIDTH, SYS_FRAMEBUFFER_HEIGHT, SYS_FRAMEBUFFER_PITCH, 
SYS_FRAMEBUFFER_BPP, SYS_SMBIOS_ENTRY, SYS_DISK_UUID, SYS_BOOT_STACK, SYS_IS_UEFI_BOOTED, SYS_FRAMEBUFFER_LIST.
    - Updated CKernel class struct to match SYS_KERNEL changes by adding fields: sys_framebuffer_addr, sys_framebuffer_width, 
sys_framebuffer_height, sys_framebuffer_pitch, sys_framebuffer_bpp, sys_smbios_entry, sys_disk_uuid, sys_boot_stack, 
sys_is_uefi_booted, sys_framebuffer_list.
    - Added externs for these to KernelB.HH.
    - Removed externs for sys_vbe_info, sys_vbe_final_mode, sys_vbe_mode_num, sys_vbe_modes. Changed all code previously using 
sys_vbe_mode to instead use framebuffer externs.
    - Moved SYS_VBE_INFO and SYS_VBE_FINAL_MODE_NUM out of the Kernel header, renamed to VBE_INFO and VBE_FINAL_MODE_NUM.
    - Replaced SYS_VBE_MODES with SYS_FRAMEBUFFER_LIST, changed KStart16 VBE Mode iteration to put VBE Mode values into this 
list.
    - Removed SYS_VBE_FINAL_MODE.
    - Removed compile-time StreamPrint-ed SCREEN_WIDTH and SCREEN_HEIGHT with REQUESTED_SCREEN_WIDTH and 
REQUESTED_SCREEN_HEIGHT, and removed resolution In() strings from all DoDistro related files and define values. By default, 
ZealOS will always try to look for and use a VBE mode with 1024x768 screen resolution. These can be changed to request a 
different screen resolution from the VBE Mode list returned from the BIOS. The Kernel must still be recompiled with BootHDIns 
to make changes to these variables take effect.
    - Removed MAX_VBE_MODE and MAX_SCREEN_HEIGHT, replaced with VBE_STD_MODE_NUM which gets set to the VBE mode that has a 
1024x768 resolution, to use as a fallback mode if the requested resolution isn't available.
    - Changed KStart32 temp stack to use new SYS_BOOT_STACK kernel header variable, rather than hardcoded constant value. 
Default value is BOOT_RAM_LIMIT, same as what it was previously hardcoded to.
    - Changed KStart64 boot stack PUSH from hardcoded value to use value stored in new SYS_BOOT_STACK header field.
* Alter VideoRep to use new externs, removed lines reporting information no longer acquired by the kernel; added aspect ratio 
calculation and reporting.
* Raised MEM_E820_ENTRIES_NUM from 48 to 256.
* Replaced CVBEModeShort with CVideoInfo.
* Implemented PCIBt, PCIBts, PCIBtr due to bare-metal testing of PCI drivers demonstrating undefined behaviour when accessing 
memory-mapped IO areas using the standard API Bt, Bts, Btr. Replaced all Bt/Bts/Btr calls with PCIBt/PCIBts/PCIBtr in AHCI 
code, as well as all networking drivers and auxiliary code accessing AHCI memory-mapped variables. Added externs for new PCI 
bit test functions to KernelC.HH.
* Changed gr.continuous_scroll to TRUE in HomeLocalize.
* Add simple progress indicator to CopySingle that progress as a percentage every 2 seconds.
* Replace SYS_FONT_PTR VGA ROM 16-bit mode aux font retrieval with FontAux.
* Lowered PTR_STARS_NUM from 4 to 3.
* Moved PCILookUpSingle out of System/DevInfo.ZC to new file System/PCILookUpSingle.ZC. Added including this file to 
MakeSystem. This change makes it simpler to change and update the PCI device list text file parsing behaviour for modern PCI 
device lists.
* Removed VGAM_GRAPHICS, text.vga_alias, and all code/documentation referencing them or legacy VGA graphics.  MiniGrLib now 
needs a complete rewrite.
* Added DF_KEEP_FLAGS and corresponding logic to Diff.
* Changed BootMHDOldRead to take optional size argument, and changed BootMHDOldWrite to use the OldMBR.BIN filesize to 
determine how many blocks to write. Used in LimineMHDIns to backup the MBR and post-MBR-gap to OldMBR.BIN.

----04/16/22 20:24:18----
* Inverted DocBorderNew and DocEd bottom-right window text, adjusted DolDoc tag placement to make solid, changed Ed callbacks 
(EdOverStrikeCB, EdAutoSaveCB, EdFilterCB, EdDollarCB, EdMoreCB) to return ' ' SPACE character(s) for disabled flags now since 
invert renders it solid foreground color, appended ' ' SPACE character at EdDollarTypeCB to pad.

----04/16/22 18:47:11----
* Raised version number to 1.13.
* Added ISO9660 support from "TempleOSCD_2017-05-21T03 56 09.ISO".
    - DiskISO9660.ZC
    - FileSysISO.ZC
    - ISO9660 Filesystem support
    - FMMakeISO reverted to 2 args, second arg is ISO type.
    - Updated documentation to mention ISO9660 support.

----04/01/22 00:20:08----
* Added ST_WIN_INHIBIT_FLAGS, ST_TASK_FLAGS, ST_DISPLAY_FLAGS, WIf_FLAGS_NUM, TASKf_FLAGS_NUM, DISPLAYf_FLAGS_NUM.
* Added verbose Bool argument to TaskRep, add logic to TaskRepTask to print out detailed task information. Default parameter 
value is FALSE.

----03/25/22 12:55:27----
* Raised version number to 1.12.
* Removed DocOpt, DocOptList, DocOptFile, DocOptDoc, and DocOptEntry.
* Added AutoComplete to EdPullDown menu, under Help section.

----02/13/22 21:44:55----
* Raised version number to 1.11.
* Updated WallPaper to print full task caller report.
* Increased CTask.wallpaper_data size from STR_LEN to 4096.

----01/28/22 02:22:37----
* Raised version number to 1.10.
* Removed .C suffix on non-executable binary files.
    - R("BOOT_DIR_OLDMBR_BIN_C", "BOOT_DIR_OLDMBR_BIN");
    - R("BOOT_DIR_BOOTMHD2_BIN_C", "BOOT_DIR_BOOTMHD2_BIN");
    - R("\"CC\", "\"ZC\"");
* Renamed executable binary file format .BIN to .ZXE (Binary -> Zeal Executable).
    - R("CBinFile", "CZXE");
    - R("BINFILE", "BINLOAD", "-i");
    - R("ParseBinFile", "ParseBinLoad");
    - R("\".BIN\", "\".ZXE\""); // carefully...
    - R("\"BIN\", "\"ZXE\""); // carefully...
    - R(".BIN", ".ZXE"); // carefully...
    - R("KERNEL_BIN_C", "KERNEL_ZXE");
    - R("BOOT_DIR_KERNEL_BIN_C", "BOOT_DIR_KERNEL_ZXE");
    - R("BOOT_DIR_DVD_KERNEL_BIN_C", "BOOT_DIR_DVD_KERNEL_ZXE");
    - R("BIN_SIGNATURE_VAL", "ZXE_SIGNATURE_VAL");
    - R("BinRep", "ZXERep");
    - R("ST_BIN_FILE_TYPES", "ST_ZXE_FILE_TYPES");

----01/18/22 00:35:45----
* Raised version number to 1.09.
* Integrated HolyMath into OS (from https://github.com/TempleProgramming/HolyMath).
    - Created new folder System/Math/, moved Math and MathODE there.
    - Added HolyMath files to System/Math/.
    - Changed MakeSystem to #include Math/MakeMath.

----12/30/21 22:08:17----
* Raised version number to 1.08.
* Implemented WinTileGrid.

----12/30/21 17:12:01----
* Added LexDemo.

----12/11/21 05:57:44----
* Raised version number to 1.07.
* Rename CosmiC -> ZealC.
* Renamed all files from .CC -> .ZC to reflect language name change.
* R("HOLYC_TYPECAST", "POSTFIX_TYPECAST", "-i");
* R("CosmiC", "ZealC", "-i");
* Rename Doc/CosmiC.DD to Doc/ZealC.DD.
* R("\"CC\", "\"ZC\"");
* R(".CC", ".ZC", "-i");
* FR(".CC", ".ZC");

----12/09/21 03:21:03----
* Revert 440Hz 'A'.

----12/04/21 04:16:45----
* Raised version number to 1.06.
* Removed IDE members and padding from CBlkDev and CBlkDevGlobals, added ins_port to return install-drive recognition 
functionality.
* Implemented BlkDevRep, removed BlkDevRep demo file.
 
----11/30/21 13:40:29----
* Raised version number to 1.05.
* R("DocDump",  "DocDumpLines");
* R("DocDm",    "DocDumpMem");
* R("DocD",     "DocDump");
* R("Dump(U8",  "FileDump(U8");
* R("DClus",    "ClusDump");
* R("DBlk",     "BlkDump");
* R("RawDm",    "RawDumpMem");
* R("RawDr",    "RawDumpRegs");
* R("RawD",     "RawDump");
* R("Dr",       "DumpRegs");
* R("Dm",       "DumpMem");
* R("D(",       "Dump(", "-i");
* R("Who",      "HashTableDump");
* R("Da",       "DumpAddress");

----10/30/21 05:02:51----
* Added column headers to Rep functions.
* Changed ProfRep to sort by hits.

----10/26/21 12:38:12----
* Raised version number to 1.04.
* Optimized MemCopy to use SSE instructions. Large performance boost on bare-metal.
* Reverted RawPutChar scrolling functionality now that MemCopy is faster.
* Removed all kludge MyNoise functions from Apps and Demos now that MemCopy is faster.
* Added call to LFBFlush in SettingsPop2 to fix task-swap palette bugs.
* Improved ToTheFront game explanation.

----10/18/21 01:16:10----
* Raised version number to 1.03.
* Increased CInst opcode size from 4 to 8.
* Added 3 operand support to assembler.
* Added almost all SSE instructions to OpCodes.DD. SSE instructions operating on MMX registers were not implemented.
* Fixed 0x66 prefix unassembly opcode reporting, assembler now prevents duplicate REX for prefixed SSE instructions. The 
tradeoff for fixing this is that 0x66, 0xF2, or 0xF3 prefixed SSE opcodes can only use XMM0-XMM7 RAX-RDI.

----10/09/21 04:05:32----
* Added MOVQ, PMOVMSKB, MINPS, MAXPS, XORPS, CVTSI2SD, and CVTSD2SI assembly opcodes to OpCodes.DD.

----10/07/21 18:06:15----
* Raised version number to 1.02.
* Fixed Std Font characters after char 128.
* Added links to ZealOS-specific applications in PersonalMenu.
* Removed all files from ::/Downloads.
* Started initial work integrating SSE instructions into assembler. See changes here. Only added 2 arg opcodes and only added 
instructions <= 4 bytes. Current bugs: unassembling SSE instructions that use non-128-bit vars will incorrectly report U128, 
MOVHLPS and MOVLHPS 2nd operand is defined XMM128 to hack ModrM order but operands should be XMM XMM, due to MOVSD name clash 
we define opcode as MOVSD_SSE. TODO: add U128 and XMM register allocation support, find way to ensure 16-byte aligned stack to 
use aligned SSE instructions.

----09/21/21 23:35:00----
* Raised version number to 1.01.
* Fixed GrZoomInScreen, added to GrCalcScreenUpdates to factor in zoom, added call to LFBFlush in CtrlAltZ.

----09/15/21 20:33:11----
* Added WinMax to EdPullDown menu.

----08/23/21 02:28:07----
* Added recognition of Linux swap and ext2/3/4 filesystem type in BlkDevAdd, added MBR_PT_LINUX and MBR_PT_SWAP, removed 
MBR_PT_FAT12, added "LINUX" and "SWAP" to ST_DRIVE_TYPES.

----08/17/21 02:42:53----
* Raised version number to 1.00.
* Added progress bars to DVDImageRead.

----08/16/21 20:35:44----
* Raised version number to 0.17.
* Fixed DVDImageRead block count.
* Changed left window border text to use inverted color attribute.
* Fixed ISOInit to account for non-ZealOS CISOPriDesc.

----08/16/21 00:17:55----
* Added CAtapiCloseCmd.
* Added try-catch blocks to SATARep and AHCIBootDVDProbeAll.

----08/15/21 01:51:08----
* Raised version number to 0.16.
* Changed DVDImageWrite to single-buffer single-threaded instead of dual-buffer multi-threaded.
* Added CAtapiWriteCmd.

----08/13/21 18:26:14----
* Fixed padding byte amount in CISOPriDesc, added preparer_id member and set in RedSeaISO9660.

----08/13/21 15:57:12----
* Changed Merge2, DiffSel, and PopUpDiffMenu colors, added printing source and destination files along with some explanatory 
text in the popup window.

----08/13/21 13:21:32----
* Raised version number to 0.15.
* Fixed DVDImageWrite bare-metal AHCI disc burning, needs some cleanup.

----08/09/21 01:54:50----
* Raised version number to 0.14.
* Implemented AHCIAtapiModeWriteSelect to set up ATAPI disc burner write configurations.

----08/08/21 20:30:08----
* Implemented AHCIAtapiBlank, default is minimal disc blank.

----08/06/21 00:11:02----
* Fixed Mount2 AHCI port value not being cleared on loop.
* Fixed OSUpgrade not asking to update the master boot record.
* Changed ordering of some links in the PersonalMenu.
* Increased Raw mode screen scrolling from 1 line to 8 lines to improve bare-metal performance.
* Fixed Raw mode $ printing in MemBIOSRep, TaskRep, PCIRep, VideoRep, MemPageRep.

----08/04/21 14:29:24----
* Changed DriveRep to report AHCI SATA port number where IDE base0, base1, and unit were displayed.
* Improved Lex assert failure warning to give exact line number.
* Removed some deprecated IDE functions.
* Added default arg to Drive, so running Drive; will bring you to the root of the current drive.
* Fixed printing $'s in Raw mode in StackRep, DriveRep, SATARep, Mount2, and CharGet.
* Changed LongLines cols default arg from 80 to 128 (128 is TEXT_COLS at default 1024x768).

----08/03/21 21:57:44----
* Added MountAHCIAuto which replaces MountIDEAuto: the kernel option works the same as MountIDEAuto, except now it is 
iterating over SATA ports to mount all the drives.
* Removed CATARep, ATARep, ATARepEntry, ATARepFind, ATARepExitAllApplications and ATAIDDrives.

----08/02/21 16:23:34----
* Raised version number to 0.13.
* Fixed Mount allowing ATAPI<-->ATA BlkDev<-->AHCI Port misconfiguration.
* Added arg to SATARep to specify drive types to show.
* Added checks in AHCIPortInit to throw to Debug if invalid port signatures are detected.

----08/02/21 00:54:40----
* Raised version number to 0.12.
* Fixed EdLite dropping RAWF_SCROLL.
* Fixed incorrect src_link for DefineLoad variables: added caller_num arg for when it's run from DefinePrint.
* Added PCIDevFind to System externs: fixes SATARep compiling crash, now displays AHCI controller information from PCI data.
* Added raw-mode screen clearing: can use either DocClear or Cls, useful for clearing the screen in debug mode.

----07/29/21 14:35:17----
* Altered RawPutChar screen scrolling algorithm (MemCopy is slow on bare-metal).

----07/28/21 21:46:46----
* Raised version number to 0.11.
* Removed some palettes; replaced all gr_palette_std with gr32_palette_std, added new PaletteSetSlate.
* Changed all remaining CBGR48 in codebase to CBGR24.

----07/25/21 02:19:17----
* Raised version number to 0.10.
* Unify Kernel binary location at /Boot/Kernel.BIN.C, alter BootDVDIns to create DVDKernel.BIN.C which gets moved in DoDistro, 
update boot documentation.

----07/24/21 00:07:05----
* Raised version number to 0.09.
* Rename /0000Boot folder to /Boot, rename 0000Kernel.BIN.C generated in BootDVDIns to Kernel.BIN.C.

----07/23/21 16:30:23----
* Improve ParenWarning to give exact line number.

----07/14/21 13:12:34----
* Raised version number to 0.08.
* Fixed non-writable drive throw when #include with F5 in DocPutKey and when attempting to save.
* Added top & right borders to RawDr.
* Improved spacing in some debug commands.
* Fixed RawPutChar and EdLite tab width.
* Fixed Ui missing "0x" prefix syntax highlighter bug.

----07/11/21 17:26:32----
* Raised version number to 0.07.
* Added IntEntryAlloc, IntEntryFree, dev.user_int_bitmap to allow acquiring dynamic user APIC IRQ.

----07/09/21 04:13:50----
* Added drive changing macros from AcctExample to PersonalMenu.

----07/06/21 15:04:12----
* R("ZCAlloc",      "SysCAlloc");
* R("ZMAlloc",      "SysMAlloc", "-l");
* R("ZCls",         "SysCls");
* R("ZStrNew",      "SysStrNew");
* R("ZReAlloc",     "SysReAlloc");
* R("ZOnce",        "SysOnce", "-l");

----07/05/21 22:24:03----
* R("inst", "instruction");
* Updated line counts.

----07/05/21 14:58:59----
* Raised version number to 0.06.
* Update and fix all documentation.
* Alter Splash messages and logo color.
* Allow OS Upgrade feature on VMs.

----07/03/21 00:01:32----
* Raised version number to 0.05.
* Fixed HTML Demo, implemented it into DoDistro process. Outputs to ::/HTML/.

----07/02/21 19:30:19----
* Raised version number to 0.04.
* Implemented default NULL filename args for Ed, PopUpEd.
* Removed some deprecated IDE functions.
* Changed window borders. Added color to [X] and MENU, hide for System Task and AutoComplete Task.

----07/02/21 03:58:09----
* Raised version number to 0.03.
* Update all documentation, change 1st-person --> 3rd-person.

----07/01/21 23:51:14----
* Raised version number to 0.02.
* Added support for reading TempleOS, ZenithOS, and ZealOS ISOs.
* Renames:
    - Seth  --> Executive

----07/01/21 19:04:09----
* Forked ZealOS from ZenithOS. Version number 2.01 --> 0.01.
* Update Roadmap.
* Restructured Net/ directories.
* Removed unnecessary files in Home/ directory.
* Renames:
    - ZenithOS      --> ZealOS
    - Zenith Task   --> System Task

    - Zenith        --> Sys
    - ZenithErr     --> SysErr
    - ZenithWarn    --> SysWarn
    - ZenithLog     --> SysLog

    - Zenith/       --> System/

----06/28/21 06:20:21----
* Restored /System/God directory, the Bible, Bible Links, and GodBiblePassage with SHIFT-F7.

----06/24/21 01:01:06----
* Raised version number to ZenithOS 2.1.
* Implemented PCI fall-back functions for when PCIBIOS is unsupported, to improve bare-metal support.
* Abstracted PCI functions out from PCIBIOS file.

----06/01/21 16:02:38----
* Raised version number to ZenithOS 2.0.
* Overhauled entire OS to use AHCI routines instead of IDE.

----05/24/21 05:08:09----
* Fixed Chess crashing when only one CPU core available.

----05/24/21 04:24:00----
* Fixed Titanium crashing due to a broken sprite mesh.

----05/12/21 15:42:22----
* Renamed PaletteSetTomLight() to PaletteSetLight(), brightened LTRED, PURPLE, and LTPURPLE.
* Lowered double-click wait time from 0.350 to 0.175 to improve system response time.

----02/07/21 10:20:33----
* R("MSRGet", "MSRRead");
* R("MSRSet", "MSRWrite");

----01/28/21 19:08:16----
* Added MSRGet().

----01/24/21 01:51:12----
* Removed DriveMap().

----01/11/21 23:39:21----
* Restored "Daemon" -> "Seth".

----12/23/20 18:27:18----
* Reformatting of files is virtually complete now.

----06/04/20 18:01:46----
* Added BIOSRep() as convenience function to view BIOS info from SysRep().

----04/27/20 15:34:42----
* Changed GrBitMap to use non-timer rand for drawing speed improvement on multicore.

----04/21/20 18:54:47----
* Altered Tom Palettes for better visibility.

----04/21/20 16:13:01----
* Added start-up intro Splash as a PopUp in Once, after performing a full boot (excludes soft reboots).

----04/13/20 13:48:15----
* Added PIC_INIT and comments to IntPICInit().
* R("IntsInit", "IntPICInit"); 
* R("LAPIC_ARIBITRATION_PRIORITY", "LAPIC_ARBITRATION_PRIORITY"); 

----04/12/20 17:06:38----
* Added CIDTEntry and rewrote IntEntryGet() and IntEntrySet(). dev.idt is now allocated on an 8-byte boundary as per Intel SDM 
recommendation.
* Updated OS version.
* Changed BIN_SIGNATURE_VAL from 'TOSB' to 'ZCCB'.

----04/11/20 18:10:58----
* Beginning efforts to reformat files some. Currently, keeping a temp log of progress at /Home/FilesRefactored.DD.

----04/10/20 07:44:08----
* R("PIC1", "PIC_1");
* R("PIC2", "PIC_2");
* R("PIT0", "PIT_0");
* R("PIT2", "PIT_2");

----04/09/20 19:33:16----
* Added Chess game from Sup1 disc.
* R("ScanFlags", "FlagsScan");
* R("StrPrintFlags", "FlagsStrPrint");
* R("ScanMessage", "MessageScan");

----04/04/20 19:15:21----
* Added SysRep(). Various CSM*Info classes added. Pass in a SMBIOSt_* to get info for that specific structure type. It parses 
SMBIOS structures located in low memory. Question-colon operator would have saved many lines of code.

----04/02/20 03:27:03----
* Added camera rotation via mouse in 3D SpriteMesh editor. 360 used as magic number, trying VIEWANGLES_RANGE crashed it.

----04/02/20 01:50:52----
* 'Fixed' Varoom window lock up on exit. Brute-forcing zero, but somewhere mp_not_done_flags isn't getting cleared when 
shift-esc is entered with the new key implementation.

----04/01/20 01:49:47----
* Changed boat color in Talons from black to brown.

----04/01/20 01:42:55----
* Cleaned up Varoom control fix some. Bug remains: run from Menu, ESC out, ESC again; a window locks up.
  Added set/unset task idle between Yield to lower CPU use.

----03/29/20 14:07:00----
* Modified Varoom to use kbd bitmap for instant keypress response.
* Modified FlagsStrPrint() to print unset flags as well.
* Modified StrReplace() to free given str if free_str is set.
* Exported Seg2Linear() from kernel.

----03/27/20 13:06:00----
* Modified Ctrl Slider for 3D model editor to allow higher precision.
* Added PaletteSetTom() and PaletteSetTomLight().

----03/21/20 19:35:00----
* Added StrReplace(), not fully tested yet.

----03/19/20 01:51:36----
* Added OPTf_DECIMAL_ONLY for using Lex() with other languages like JSON.
* R("GetRAX", "RAXGet");
* R("SetRAX", "RAXSet");
* R("IC_GET_RAX", "IC_RAX_GET");
* R("IC_SET_RAX", "IC_RAX_SET");
* R("GetChar", "CharGet");
* R("GetMessage", "MessageGet");
* R("GetKey", "KeyGet");
* R("ScanChar", "CharScan");
* R("ScanKey", "KeyScan");
* R("PostMessage", "MessagePost");
* R("GetMessage", "MessageGet");
* R("GetI64", "I64Get");
* R("GetF64", "F64Get");
* R("GetRBP", "RBPGet");
* R("SetRBP", "RBPSet");
* R("IC_GET_RBP", "IC_RBP_GET");
* R("IC_SET_RBP", "IC_RBP_SET");
* R("GetRSP", "RSPGet");
* R("SetRSP", "RSPSet");
* R("IC_GET_RSP", "IC_RSP_GET");
* R("IC_SET_RSP", "IC_RSP_SET");
* R("GetRFlags", "RFlagsGet");
* R("IC_GET_RFLAGS", "IC_RFLAGS_GET");
* R("SetRFlags", "RFlagsSet");
* R("IC_SET_RFLAGS", "IC_RFLAGS_SET");
* R("GetTSC", "TSCGet");
* R("GetS", "StrNGet");
* Modified characters '_' and 'c' in FontStd.

----03/16/20 14:44:00----
* R("GetStr", "StrGet");
* Renamed GSF -> SGF as a consequence.
* Added some AHCI headers.

----03/12/20 22:00:36----
* Added PaletteSetGruvboxDark().
* Removed shift-space, as we use tab indentation now. S2T() is still present if needed.

----02/24/20 00:42:00----
* Zenith 1.1 released.

----02/23/20 23:59:37----
* Added new bitmap mouse.

----02/23/20 02:36:28----
* R("err", "error");
* Removed compression from kernel. Compress.CC, CArcCtrl, CArcCompress, ExpandBuf(), CompressBuf(), DCSF_COMPRESSED, etc. 
Updated ::/Demo/Disk/SerializeTree.ZC to not use compression.
* Removed RS_ATTR_COMPRESSED from RedSea attributes.
* Refactored FU flags. Removed FUF_EXPAND, FUF_RISKY, and FUF_Z_OR_NOT_Z. DocOptEntry(), Size(), Size1(), SizeRep(), and 
SizeRep1() have been updated accordingly.
* Removed IsDotZ(), ToggleZOrNotZ(). Cleaned up FileRead(), FileWrite(), and FileFind() accordingly.
* Added XMM8-XMM15 to OpCodes.DD.
* Added ::/Demo/Graphics/32BitColor.ZC.

----02/22/20 20:04:00----
* Reduced MEM_MIN_MEG to 256 MiB (VMWare users have to do less work).
* Added <CTRL-ALT-X> to AC standby doc.
* Removed the /System/God directory. Bible.TXT has been removed. The functionality of HolySpirit.CC has been moved into 
::/System/Divination.CC. Functions renamed from God*() to Divine*(). Psalmody GodSong feature disabled. DolDoc "BF:" links 
removed. CtrlAltB() is free to be used for other things. 
* Updated the Charter.

----02/21/20 17:30:17----
* R("IRQ's", "IRQs");
* Updated MemBIOSRep() to report on VBE Linear Framebuffer size. E820 memory ranges are color-coded. It now shows the total 
memory reported by MemBIOSTotal().
* Updated AutoComplete shortcuts from old WordStat <ALT(-SHIFT-)-W> to <ALT(-SHIFT-)-A> in ::/Doc/Tips.DD.
* Added check for invalid results of BIOS function 15:E801. BIOSes either return results in AX/BX or CX/DX. You have to make 
sure which pair of registers it is.
* Renamed BIOSTotalMem() -> MemBIOSTotal(), rewritten and commented for clarity, exported from kernel. Neat function.

----02/20/20 17:40:10----
* Replaced old standard font with new FontStd. The auxilliary font is now the VGA ROM Font.
* We now use 1 Tab (4 spaces wide) for indentation. All spaces used for indentation have been converted to tabs. Header files 
are messy. PCILookUpSingle() was fixed according to this change. EdCodeTools re-indentation feature needs to be updated.

----02/19/20 21:46:17----
* Zenith 1.0 released.
* GRScreenCaptureWrite() and GRScreenCaptureRead() are broken. DCLoad() and DCSave() use DCF_COMPRESSED. It also saves the 
palette as CBGR48, which is a problem.
* Updated MemRep() to report on VBE variables.
* Renamed VGAFlush() -> LFBFlush().
* Updated Palette Demo to use current palette environment.
* Shortened CheckPtr() and CheckCodePtr(). Even though boolean expressions outside of if statements are compiled 
inefficiently, clarity and low line count is more important.
* RawDr() is 40 columns off the right of the screen, instead of fixed at column 40.
* Windows start at 4/5th the screen height instead of row 13. System task window is 1/5th the screen height.
* R("RLf_VGA", "RLf_VESA");
* Removed VGA text mode support, and all definitions relating to it, including from the kernel config.
* Added screen resolution selection to kernel configuration procedure.
* Added VideoRep() to report on VBE modes and info, added test case to the OSTestSuite.
* Added VBE graphics support. Screen zooming is non-functional at the moment. We are setting 32-bit color graphics modes but 
the graphics library is still 4-bit (16 color) internally. MiniGrLib broken for obvious reasons. Keeping it because its 
intention is to teach a how a graphics library works, generically. Removed 2 smaller VGA hardware programming demos.
    Rundown:
    - Added classes CVBEInfo, CVBEMode, CVBEModeShort
    - real-mode assembly -- added kernel symbols.
    - Added screen_size, buffer_size, fb_alias members to CTextGlobals.
    - SysGrInit() -- using Seg2Linear() to convert pointers.
    - raw text drawing routine updated. BLACK32, WHITE32.
    - Dynamic definition of GR_WIDTH and GR_HEIGHT.
    - GrUpdateScreen32() -- GrCalcScreenUpdates() is used to reduce CPU usage. Added screen_cache member to CGrGlobals.
    - gr_palette global variable. We use CBGR24 in GrPalette.ZC.

* Added BinRep() from Sup1 ISO.
* R("sys_pci_busses", "sys_pci_buses");
* Renamed RWF flags -> RAWF.
* Renamed mon_start_days1 and mon_start_days2 -> month_start_days and month_start_days_leap, respectively.
* Moved random number generation algorithm into seperate function to reduce line count. Added RandU8().
* Added syntax highlighting for numbers. DocHighlight(), DOC_COLOR_NUMBER.
* Removed unnecessary checks for the presence of the APIC in MultiProc.ZC, as it is present on all x86 CPUs after the P5 
microarchitecture.
* Added untested ReAlloc(), as it could be useful for certain programs.
* Added definitions for the PCI registers. Expanded the CPCIDev class to contain the values of the read-only registers. Added 
PCIDevFind() as a simpler/abstracted alternative to PCIClassFind().
* Removed the unpolished HPET implementation from the kernel.
* Enabled the execution of SSE instructions. No actual SSE implementation in assembler yet, however.
* Added definitions for the various flags in the Control Registers.
* Added definitions for the PIT, and a document describing its usage in the OS.
* Added definition for the PC speaker.
* Added definitions for the PIC.
* Added TimeSet() as there was no way to set the hardware clock before.
* Added definitions for the CMOS, CMOSRegRead(), CMOSRegWrite(), CMOSIsBcd(). Rename Bcd2Bin() -> Bcd2Binary().
* Replaced the endian-swapping functions with assembly versions.
* Added POPCNT instruction and PopCount() compiler intrinsic, to replace BCount() and the set_bits_table.
* Renamed opcodes PUSHFW, POPFW, PUSHAW, POPAW -> PUSHF, POPF, PUSHA, POPA respectively.
* The VGA ROM Font is used as the standard system font, with the old one being used as the auxilliary one. The cyrillic font 
has been removed.
* Added Seg2Linear() to convert segmented 32-bit far pointers obtained from real mode to linear pointers.
* Disabled the mouse in debug mode. No more garbage text on mouse movement. MouseHardEnable. You can use this function in your 
own applications to disable the mouse completely.
* AutoComplete now stays where you move it instead of snapping back to a fixed location, and that location persists after 
rebooting by using the Registry to save the window location. Increased number of symbol links shown to 12, so you can use all 
the functions keys F1-F12. It does syntax highlighting on the symbols now, so you know what type they are. Public symbols are 
inverted. Dictionary words are BLACK to differentiate between symbols.
* Added more keyboard shortcuts to the AutoComplete standby doc.
* Removed "TOS Staff" and "InsReg" related code.
* Renamed /Kernel/KInts.CC to KInterrupts.ZC.
* Date section of status bar shows the year now.
* Increased the length of the part of the status bar that shows the last keys pressed, so the longest combination 
(CTRL+ALT+SHIFT+ENTER) can be shown. It is always at the rightmost part of the screen instead of being fixed at column 55.
* ClassRep() does not show ASCII values for U8/I8 members by default now. Added argument "u8_chars" to enable that.
* Added several palettes. See the palette setting functions.
* Added option to format RAMdisks on Reboot().
* Removed MemSetU8() as it was just an alias for MemSet().  
* Moved TaskRep.CC and MemRep.CC from /Zenith to /System/Utils
* Removed /System/Opt directory, moved subdirectories up.
* Disabled blinking MENU.
* Disabled scrolling title in editor.
* One User terminal on startup.
* Swapped colors in ST_ERR_ST and ST_WARN_ST. RED is for errors, LTRED is for warnings.
* CPURep() now shows extended processor name or vendor string as fallback.
* Added #NONE define to replace 0 or NULL in default function arguments where applicable (usually flags).
* Shift+Alt+Delete runs BootRAM().
* Changed 440 Hz middle 'A' frequency to 432 Hz, as that is the correct frequency. Ona2Freq.
* Changed WinMgr refresh rate to 60 Hz.
* New User tasks are named "Terminal" on startup.
* Added FR(), for renaming files matching a mask. I used it to do the .HC -> .CC conversion.
* Added Cls() and SysCls().
* Functions starting with 'A' for Adam now start with 'Z' for Zenith.
* Decompressed all files. Removed Zip(), Unzip(), and ZipRep(). Slightly modified FileRead() to disable reading compressed 
files. Removal of compression planned for the future.
* Renamed all files from .HC -> .CC to reflect language name change.
* Renaming:
    TempleOS -> ZenithOS
    HolyC -> CosmiC
    Adam -> Zenith
    Seth -> Daemon
    Chk -> Check
    Que -> Queue
    Scrn -> Screen
    Pmt -> Prompt
    Cmp -> Comp (Compiler) or Compare
    Prs -> Parse
    Rem -> Remove
    Ins -> Insert
    Hndlr -> Handler
    Glbls -> Globals
    Stmt -> Statement
    Dbg -> Debug
    Dsk -> Disk
    Drv -> Drive
    Let -> Letter
    Chg -> Change
    Fmt -> Format
    Stk -> Stack
    Snd -> Sound
    Msg -> Message
    Cnt -> Count
    Lst -> List
    QSort -> QuickSort
    Dft -> Default
    Rst -> Reset
    Exts -> Externs
    Ms -> Mouse
    Fwd -> Forward
    Bwd -> Backward
    Cpy -> Copy
    Cfg -> Config
    Cvt -> Convert
    Srv -> Server
    Evt -> Event
    Prs -> Parse
    Mk -> Make
    InvlPg -> InvalidatePage
    BEqu -> BEqual
    Pkt -> Packet
    Rqst -> Request
    ... and more.
* Start of Zenith Development. Changes up until version 1.0 are not timestamped.

At this point, Terry removed his changelog. Changes made by him after 4/30/17 are not documented.
!!!!!!!!!!!!!!!!!!!!!!!!!!
==========================
!!!!!!!!!!!!!!!!!!!!!!!!!!

----04/30/17 22:24:51----
* CmdLinePmt() doesn't print U0 ans.
* Added comma flag StrPrintJoin(,"%,p");
* Enhanced PrintErr() and PrintWarn().

----04/28/17 22:29:09----
* Modified ::/Demo/AcctExample/TOS/TOSBlog.HC and ::/Demo/AcctExample/TOS/TOSToHtml.HC.
* R("fmtstr","format");
* R("fmtdata","data");

----04/21/17 14:17:49----
* R("MODULE_ORG","ORG");

----03/17/17 00:35:11----
* Added toggle AutoSave <CTRL-SHIFT-s>.

----03/14/17 00:14:39----
* TempleOS version 5.03 Released
* R("pen_width","thick");

----02/05/17 16:37:39----
* Added ::/Doc/BlkChain.DD.

----02/03/17 17:27:36----
* Added multicore ::/System/MathODE.ZC.
* Improved support for sub and super scripts.

----01/31/17 10:22:10----
* Added ::/Demo/Graphics/LightTable.ZC.
* Added TOS Linux Setup.

----01/27/17 08:13:37----
* Added DocLineRead() and DocLineWrite().

----01/25/17 20:44:17----
* R("DocLineNumGoto","DocGoToLine");
* R("Clipboard","Clip");
* R("AutoMountIDE","MountIDEAuto");
* R("ChgExt","ExtChg");
* R("DftExt","ExtDft");
* R("CurDir","DirCur");
* R("MkDir","DirMk");
* R("ChkDsk","DskChk");
* R("ChgDsk","DskChg");
* R("PrtDsk","DskPrt");
* R("RBlks","BlkRead");
* R("WBlks","BlkWrite");
* R("FRBlks","FBlkRead");
* R("FWBlks","FBlkWrite");
* R("Cluster","Clus");
* R("RClusters","ClusRead");
* R("WClusters","ClusWrite");


----01/24/17 21:56:06----
* Improved ::/Apps/Psalmody/JukeBox.ZC
* R("TreeBranch","Tree");
* Added DocTreeWrite() and DocTreeAppend().

----01/22/17 06:08:00----
* TempleOS version 5.02 Released
* Changed polling of KbdMsHndlr() in WinMgrSleep(), increased fifos.

----01/17/17 18:11:53----
* Fixed $ class offset so #assert's don't lag a token.

----01/17/17 14:39:41----
* Added blkdev.ins_base0 and blkdev.ins_unit.
* Added make RedSeaISO() to FileMgr().
* Added blkdev.dft_iso_c_filename .

----01/17/17 06:12:21----
* R("MIN_...","..._MIN");
* R("MAX_...","..._MAX");
* R("NUM_...","..._NUM");

----01/14/17 19:16:51----
* Created /Demo/AcctExample/TOS.
* R("MAX_...","_NUM...");

----01/14/17 09:43:12----
* Improved ::/Demo/AcctExample/TOS/TOSHolySpirit.HC.
* Added cmp U0 Expression warn.
* Improved syntax highlighting.

----01/11/17 03:33:33----
* TempleOS version 5.01 Released
* R("ChangeLog","ChgLog");
* Added show mouse pos to <CTRL-ALT-G>.
* Improved TOSRegen().
* Added Let2Let().

----01/10/17 14:27:58----
* Made DocPut() use parent task's doc if input filter task.
* Added Once(), AOnce(), OnceFlush(), AOnceFlush(), OnceDrv(), AOnceDrv() and OnceExe().
* R("DoOnce","Once");
* Added RegAppend() and RegCnt();
* R("RegSetDftEntry()","RegDft()");
* R("RegExeBranch()","RegExe()");
* R("RegWriteBranch()","RegWrite()");

----01/10/17 11:45:41----
* Added ::/Adam/InsReg.HC with InsReg(), InsRereg() and InsUnreg().
* Added ::/Adam/Host.HC with HostChgDsk().
* Added ::/Adam/Opt/Utils/TOS.HC with TOSStdIns().
* Added cmd line args for partition % to DskPrt().

----01/09/17 21:48:34----
* R("a1","arg1");
* R("a2","arg2");
* R("r","res");

----01/09/17 02:30:59----
* Improved compiler ICSlashOp().
* Added Panic().
* Made it possible to mount just one partition.
* Fixed creation of RedSea ISOs.
* Organized ::/PersonalMenu.DD.
* Moved AfterEgypt to the supplemental disk.

----01/06/17 06:07:19----
* Fixed DskChg().
* Improved ::/Misc/OSTestSuite.ZC.

----01/05/17 04:53:21----
* No longer support ASCII#12, <CTRL-l> CH_FORM_FEED.
* Fixed sys_var_init_flag.
* GRScrnCaptureRead().

----01/04/17 18:06:14----
* Added ::/Demo/AcctExample/TOS/TOSPolicies.DD.
* R("U0 pad;",";"); for align #asserts.
* Got rid of mouse.throttle. 
* R("Button","Bttn");
* R("Handler","Hndlr");
* R("InputPointer","Mouse");
* Improved MemRep().
* Changed ::/System/WallPaper.ZC.

----01/03/17 12:23:49----
* R("chars_cmp...","char_bmp...");
* Added chk for Profanity.
* Improved TOSRegen.
* Removed TempleOSBooks1.ISO and TempleOSBooks2.ISO out of TempleOSSup1.ISO.

----01/01/17 17:16:16----
* TempleOS version 5.00 Released
* Added Collapse().
* Added CursorRem().

----12/31/16 07:21:20----
* R("SYS_SEMA_...","SEMA_...");
* R("SYSf_CTRL_ALT_...","CTRL_ALT_...");
* R("ThrowBreak()","Break()");
* Added MemPageRep().

----12/30/16 23:42:20----
* R("Pages512","Pags");
* Overhauled ::/Kernel/Memory/PageTables.ZC.
* R("BusyWait()","Busy()");

----12/29/16 10:21:44----
* Changed Snd() from freq to a I8 val called an ona.
* Fixed error in music octaves.
* To convert songs, download Supplemental#1 ISO from the AppStore on http://www.templeos.org and run 
Sup1/Sup1Utils/CvtSong500.HC.

----12/22/16 16:18:32----
* R("CSrvCmd","CJob");
* R("CSrvCtrl","CJobCtrl");

----12/03/16 13:19:58----
* R("SpriteMat3B()","Sprite3Mat4x4B()");
* R("SpriteX3B()","Sprite3XB()");
* R("SpriteY3B()","Sprite3YB()");
* R("SpriteZ3B()","Sprite3ZB()");
* Improved ::/Demo/Games/Talons.ZC.

----12/03/16 10:16:26----
* Changed __CMD_LINE__.
* Added CProgress.tf.
* Added sys_staff_mode_flag.
* R("except_caller","except_callers");

----11/30/16 22:44:35----
* Added SpriteTransform().

----11/28/16 07:11:41----
* Improved ::/Apps/Titanium/Titanium.ZC.

----11/26/16 22:43:51----
* Added solar storms to ::/Apps/X-Caliber/X-Caliber.ZC.
* R("TimeOut","Titanium");

----11/20/16 19:46:43----
* TempleOS version 4.13 Released
* Improved ::/Apps/Titanium/Titanium.ZC.
* Improved ::/Apps/X-Caliber/X-Caliber.ZC.

----11/19/16 08:19:51----
* Improved Budget application.

----11/17/16 18:49:51----
* R("EagleDive","Talons");
* Improved ::/Demo/Games/RocketScience.ZC.
* Improved ::/Demo/Games/Rocket.ZC.

----10/28/16 05:54:27----
* Added ::/Demo/RadixSort.ZC.

----10/26/16 00:21:06----
* Added CProgress.t0.
* Improved ::/Doc/Boot.DD.

----10/25/16 18:02:44----
* Improved ::/System/Gr/SpriteEd.ZC.
* Improved ::/Demo/AcctExample/TOS/TOSHolySpirit.HC.

----10/12/16 10:55:26----
* Added CCF_NO_CHAR_CONST.
* Improved ::/Demo/ToHtmlToTXTDemo/ToHtml.ZC.

----10/03/16 01:09:35----
* Changed GodWord().

----09/30/16 18:29:59----
* Improved Rand()'s.
* Improved ::/System/Utils/ToTXT.ZC.

----09/29/16 10:13:14----
* TempleOS version 4.12 Released
* Added TASKf_CMD_LINE_PMT.
* Improved TaskWait().
* Improved DeathWait().

----09/27/16 12:40:21----
* Added SndRst().
* Got rid of crappy reverb in ::/Apps/Psalmody/PsalmodyMain.ZC.

----09/27/16 11:09:25----
* Improved ::/Misc/OSTestSuite.ZC.
* Fixed bug in EdCharIns() printing $ cmds.
* Added FUF_JUST_DD and FILEMASK_DD.

----09/27/16 01:05:52----
* Improved ::/Doc/MemoryOverview.DD.
* Got rid of ::/Demo/Lectures/Mem.
* Made filename paths relative to document location in DolDoc links.
* R("Temp","Tmp");

----09/26/16 00:44:42----
* Added CloseAssault and OverRun to ::/Apps/ToTheFront/ToTheFront.ZC.

----09/22/16 07:53:20----
* Improved ::/Demo/Graphics/Box.ZC.
* Improved ::/Demo/Graphics/SpritePlot3D.ZC.

----09/21/16 17:09:40----
* Fixed bug in ::/Demo/Games/BomberGolf.ZC.

----09/20/16 15:57:30----
* R("Screen","Scrn");
* R("WinMgrSync","Refresh");
* R("InDbg","DbgMode");
* Improved ::/Doc/Boot.DD.

----09/20/16 07:31:52----
* R("DAT","DATA");
* R("Auto","In");
* R("AutoStr","InStr");
* R("AutoFile","InFile");
* R("AUT","IN");
* R("GRA","GR");

----09/18/16 20:40:44----
* Added ::/Doc/WhyNotMore.DD.

----09/18/16 12:52:03----
* TempleOS version 4.11 Released
* Fixed bug in IsDotZ() and IsDotC().
* R("CPP","HC");
* R("HPP","HH");
* R("TXT","DD");

----09/06/16 13:01:42----
* Added OPTf_WARN_HEADER_MISMATCH.
* Changed WinInside().
* Got rid of MSG_FOCUS, MSG_MOVE, and MSG_SIZE.  There are no longer messages for moving and sizing windows.

----09/06/16 02:40:43----
* Improved ::/Demo/MagicPairs.ZC.

----08/27/16 09:45:39----
* Improved CPURep().
* Improved ::/Misc/OSTestSuite.ZC.
* Added BirthWait() and DeathWait().

----08/22/16 04:14:47----
* R("TK_DOT_DOT_DOT","TK_ELLIPSIS");

----07/17/16 13:03:12----
* Improved DocOpt().

----07/17/16 03:23:53----
* Improved ::/Demo/Games/RawHide.ZC.

----07/15/16 10:11:10----
* TempleOS version 4.10 Released
* Improved ::/Demo/Games/Talons.ZC.

----07/15/16 05:17:24----
* Created CDevGlbls.uncached_alias.
* Added 1 Gig page table support.

----07/13/16 17:21:19----
* Added multicore report to CPURep().

----07/09/16 08:46:36----
* Changed scoring in ::/Demo/Games/Talons.ZC.
* Replaced many "%Q" with "%$Q".
* Fixed '\x24'.
* Added '\d' for '$'.

----07/08/16 14:30:19----
* R("root","head");
* Fixed REP_STOSB and MemSet() for 64-bit.

----07/07/16 07:21:03----
* DocRead() changes to file's dir so relative filenames work.
* Added AppStore to website with Supplemental#1 ISO for download.

----07/06/16 23:45:30----
* Fixed multicore bug in Sprite3().
* Improved ::/Demo/Games/Talons.ZC.

----07/05/16 06:03:47----
* TempleOS version 4.09 Released
* Improved ::/Demo/Games/Talons.ZC.
* Improved GrFillTri0().

----07/03/16 04:30:05----
* Added Unmount().
* Made BootLoader mandatory in RedSeaISO().
* Added BDT_ISO_FILE_READ.

----07/01/16 05:29:08----
* Made underscore mandatory on HolyC callable asm functions.

----06/28/16 13:15:08----
* Changed TaskRep() and MemRep().
* Changed ::/System/WallPaper.ZC.

----06/26/16 14:01:16----
* Added LastFun(), RunFile(), RunFile2() and PopUpRunFile().
* Made boot code modular.

----06/24/16 14:15:13----
* Added A.I. to ::/Apps/KeepAway/KeepAway.ZC and changed scoring.

----06/24/16 02:55:42----
* TempleOS version 4.08 Released
* Added Polygon, Fence, Prism and ResetColor commands to SpriteMeshEd().
* R("Reverse","Rev");
* R("Select","Sel");

----06/23/16 01:03:36----
* Added GrFillCircle().
* Added GrVLine() and GrLineFat3().

----06/18/16 16:16:22----
* Modified KeyDevAdd().
* R("nounusedwarn","no_warn");
* R("sub_switch_start","start");
* R("sub_switch_end","end");
* Changed args to PutDirLink() and PutFileLink().
* Added HomeSet().  Added "~" as special directory designator.
* Changed filename exclude mask char from '~' to '!'.  See File Utils.
* Got rid of /Home/HomePkgs.HC.

----06/16/16 20:59:41----
* <CTRL-ALT-t> is terminal window.
* <CTRL-ALT-n> is next task.

----06/16/16 19:49:39----
* Added ::/Doc/Comm.ZC.
* Added ::/Doc/StdTempleOSPC.DD.
* Added ::/Kernel/FontCyrillic.HC. <CTRL-ALT-f>

----06/02/16 03:20:56----
* TempleOS version 4.07 Released
* Added claws to ::/Demo/Games/Talons.ZC.