November 23rd, 2011· Implemented USB booting.
· Added a USB blank-image file and a script for installing into it.
· Improved detection of USB devices by always separating hotplug behaviour from coldplug detection at boot time.
· USB 2.0 (EHCI) controllers are detected and disabled (reset) so that they don't interfere with access to the legacy USB 1.1 UHCI ports.
· Search all 255 possible PCI buses, not just the first 10. It's slower to search them all, but some devices have been seen to reside on e.g. the 17th bus.
· Improved recognition of PCI device classes and subclasses.
· Added support for multiple buses of any type (such as PCI and USB)
· Implemented a partial ACPI power management driver, so that the shutdown command can power off the system.
· Updated GPT GUIDs for partition types, and moved the definitions and descriptions into the header file src/include/sys/guid.h
· The boot menu installer now shows a warning that Windows 7 (and maybe Vista) will require the installation CD, in order to 'repair' its boot configuration.
· The OS loader now passes a boot sector 'signature' found on the boot device (such as in the MBR) to the kernel in order to help the kernel figure out for itself which device it should mount as the root filesystem.
· We now mark the logical disks of non-partitioned physical disks as being 'primary' partitions.
· The kernel's disk management code now recycles disk numbers, so that for example, inserting a USB stick which gets named sd0, then removing it and reinserting, doesn't result in the disk being named sd1
· Reformatted the output of the disks command.
· The EXT 2/3 driver can now mount filesystems with variable-sized inode structures.
· The filesystem 'resize constraints' call (such as to the kernel or NTFS) now passes a 'progress' parameter just like a real resize, so that error messages, etc., can be presented to the user.
· Fixed: USB endpoint enumeration no longer discards the 0x80 bit of the endpoint address, since some devices require it in order for the endpoint address to be unique.
· Fixed: A number of USB sticks would fail to enumerate, because port reset timings/logic were not technically correct.
· Fixed: Pulling a USB stick that hadn't been successfully configured by the SCSI USB code would cause the USB thread to page fault in kernelDeviceHotplug().
· Fixed: An EXT 2/3 symbolic link was showing up as an empty icon in the file browser.
· Fixed: FAT volume label entries stored in the root directory were not being re-created when the directories were written.
· Fixed: The kernel's GPT partition table code was not correctly reading partition table entries; it was failing to correctly calculate the buffer size and number of sectors of the entries.
· Fixed: The Disk Manager program was incorrectly calculating the ending sector of entries in GPT partition tables.
February 23rd, 2011· Updated the appearance of windows and several types of widgets.
· Added 64-bit disk support.
· Added UDF (DVD-ROM) filesystem support.
· Added GPT disk label support to the kernel and to the Disk Manager program.
· Included a quantity of new icons based on contributions provided by Leency , including the folder icon, and all of the file browser icons for different file types.
· Implemented keyboard navigation of the GUI menus using 'Alt' to activate them, and the cursor and 'Enter' keys to navigate and select.
· Alt-Tab now raises the root window's 'window' menu for keyboard navigation between open windows, in a way somewhat analogous to the way Windows and other GUIs do it.
· Added loader file class support for the ability to recognise GIF and PNG images, Zip, Gzip, and Ar archives, and PDF and HTML documents. Also added file browser icons for PDF, HTML and archive files.
· New splash image for the 0.7x series.
· Added support for some new (non-4:3 aspect) graphics modes.
· Improved the IDE driver so that it can detect and operate multiple controllers, correctly use PCI I/O port remappings, and PCI interrupts, as well as adding improved support for things like backwards-compatible SATA disks/controllers.
· Added initial, very basic detection of AHCI SATA controllers (operating in native AHCI mode) and their disks.
· Added more efficient power management, idling the processor during spare cycles.
· Added basic internationalization library support (libintl), modeled on the GNU gettext system.
· Added new keyboard mappings: French, Belgian, and Spanish.
· Added some extra error checking in the filesystem detection code.
· Added right-click context menus to the disk icons in the computer browser. The menu currently contains 'Browse', 'Mount as...', 'Unmount', and 'Properties' choices.
· The computer browser now shows the filesystem label, if applicable, in its icon text.
· When displaying an image, the 'view' program now scales large images down by default so that they use no more than 2/3 of the screen.
· The 'view' program now has a right-click context menu to zoom in and out on images, or show them actual size.
· The boot menu installer program 'bootmenu' now checks for previous installations and remembers the old entries.
· Added mouse support for scroll wheels.
· Fixed: The OS loader could hang during disk detection (divide by zero error) if the BIOS 'get drive parameters' function returned success despite there being no such drive.
· Fixed: The PS/2 mouse driver has been reworked to deal properly with mouse interrupts from various types of mouse hardware.
· Fixed: The FAT filesystem driver no longer sets the size of the file to a multiple of the block (cluster) size on every write. Only if the number of blocks changed.
· Fixed: Clicking on a filename with embedded spaces failed to open the file in the file browser, because it wasn't quoting the name.
· Fixed: The 'cdrom' program was crashing with a page fault during device scanning.
· Fixed: The partition diagram in the Disk Manager was showing extra border lines when clicked, that didn't appear until moused over and made stranger-looking by the phantom redrawing of invisible menu items at the same theoretical coordinates that caused them to be discontiguous. The superclass image component was unhelpfully drawing its border when focused.
· Fixed: Detecting USB mice and keyboards at boot time could fail and prevent other devices such as PS/2 mice and keyboards from working properly.
Fixed: Opening the edit program when running from a read-only filesystem produced the following error in the window:
· "Error:edit:kernelFile.c:kernelFileGetTemp(3304) Filesystem is read-only"
· Fixed: When running the edit program from a read-only filesystem, specifying a non-existent file would close the program without any message.
· Fixed: Recursive copying of a directory into another directory using the 'cp -R' command did not create the destination top-level directory, but instead merely copied the contents of the source directory.
· Fixed: A disk caching bug wherein the cachePrune() function could be called in the middle of a mult-part cache read or write operation.
· Fixed: A page fault exception that could occur when starting the 'filebrowse' File Browser program.
· Fixed: The 'edit' program was creating temporary files that weren't being deleted on exit.
· Fixed: A number of components were creating error messages and/or crashing when certain files (such as mouse pointer images and icons) aren't present.
· Fixed: When using a FAT12 filesystem, writing any FAT sector after the first one was causing 2 sectors to be written - resulting in a write of the last FAT sector overwriting the first root directory sector.
· Fixed: The FAT filesystem driver was under-calculating the correct size for the free-cluster bitmap in the case where the data clusters were not a multiple of 8.
· Fixed: Passing an empty string to the kernelFilesystemMount() command was resulting in the new filesystem being mounted over top of the current directory
February 21st, 2011· This preview release offers an updated look and a number of new features, including 64-bit disk support, UDF (DVD) filesystem support, and GPT partition table support. The ATA/IDE... driver has been enhanced, including the ability to better support backwards-compatible SATA controllers. New keyboard mappings for French, Belgian, and Spanish have been added, and a number of tweaks and bugfixes are also included
February 21st, 2011· This maintenance release features lots of work on the USB subsystem including support for USB mice/keyboards and hubs, tuning of the FAT filesystem driver, usability fixes for... various user programs, and loads of Visopsys operating system kernel and C library improvements and bugfixes
February 21st, 2011· This is an important maintenance release, with a focus on disk I/O performance, secure deletion (shredding) of files/partitions/disks, and bug fixes, including a data corruption... problem, and changes to the OS loader, resulting in more reliable booting on more systems.
February 21st, 2011· This is a maintenance release, including a number of bugfixes and a significant re-engineering and modularization of the Partition Logic application, support for moving logical... partitions and creating "preceding" and out-of-order logical partitions, and the addition of new capabilities to the IDE disk driver including PCI, DMA (resulting in up to 700% performance improvement for raw disk I/O), and 48-bit addressing support (for disks larger than ~130GB)
February 21st, 2011· This is a maintenance release, featuring the ability to resize Windows Vista partitions, more reliable loading on various systems, better progress indication when resizing NTFS... filesystems, better error handling, some small but important GUI improvements, and a number of bugfixes.
October 27th, 2006· Implemented right-click context menus.
· Added support for 32-bit .bmp bitmap images and .ico icons
· The partition diagram now responds to keyboard cursor inputs.
· Did general, large scale GUI re-engineering.
· Dialog windows no longer appear in the window shell's window list.
· Disabled USB support for now, since it's broken and can cause some boots to hang
· Booting now works under the Bochs 2.3 emulator (failed in graphics mode under earlier versions)
· The window border component only ever drew when it was called to draw the top border, since it could only draw the entire border. Now the 'draw gradient border' function can draw individual lines of a border and the border component draws the parts individually.
· Did some cleanup of the vloader OS loader code
· Added a function to redraw all the windows, and another one that resets all of the (non-custom) colors of all the windows' components. Setting the colors in the 'Display Settings' program uses this to change all of the window colors immediately.
· Window canvas components now show a visual change when they are focused.
· GUI menu components now have their own graphic buffers, so that regardless of what window they come from they can stay on top, extend outside the window, etc.
· Fixed: The vloader OS loader was being written to the *second* free cluster by the Fedora VFAT driver when not using FAT32. Made a hack to adjust it when installing from Fedora, and generally streamlined the copy-boot program.
· Fixed: A slight bug in the FAT code in that it relied too strictly on the Microsoft definition of FAT-type detection. Now it takes into account a couple of extra hints.
· Fixed: The 'view' program wasn't showing tab characters properly in text files.
· Fixed: The 'vsh' shell would crash if the user entered a line containing only whitespace.
· Fixed: A bug in the copyArea() function of the framebuffer graphic driver in that it wasn't checking to see whether the areas were outside the buffer.
August 23rd, 2006· Added formatting and resizing support for Linux swap partitions.
· Added a basic, simple text editor (currently only works in graphics mode).
· The OS loader now does improved memory moves to high memory for better reliability on more systems.
· Added improved CPU detection to the kernel 'system' driver.
· The file list widget and the file dialog (for example in the 'Computer Browser') have been reworked so that they don't use a separate GUI thread, since that was unreliable and crashy.
· Removed the hard limit on the maximum number of window components.
· The kernel now records and uses a network domain name, both via DHCP and via the kernel's config file.
· Window resize events now go into the window's event stream so that applications can catch them.
· The scrollbar slider now has a minimum size, so that it's clickable even when there's lots of data to scroll through.
· The makefile variables for $CC, etc., are now settable from the top-level makefile.
· Fixed: PS/2 mouse driver synchronization problems on some systems.
· Fixed: Partition Logic's 'set type' menu item was failing to bring up the dialog window.
· Fixed: After resizing a filesystem, Partition Logic no longer shows the warning "Can't write partition table backup in read-only mode" (if booted from a CD, for example). This just scared people.
· Fixed: When entering the filesystem resizing value in Partition Logic's text mode, it didn't allow you to append 'c' or 'm' for size in cylinders or megabytes.
· Fixed: Partition Logic no longer continually pesters users about incorrect CHS values in partition entries; one 'no' answer now turns it off.
· Fixed: The FAT filesystem driver now ensures that items it's processing (when it's constructing short filenames, or writing directories) belong to its own filesystem (as opposed to mount points for other filesystems, for example).
· Fixed: If the 'iconwin' program's config files contained commands with arguments, the icons weren't shown because the program didn't separate off the arguments and therefore couldn't locate the commands.
· Fixed: Using the 'view' program to view a really small or really large image caused GUI crashiness.
June 2nd, 2006· Implemented basic USB support for UHCI controllers.
· Implemented a SCSI driver that can support USB mass storage devices.
· Added basic hot-plugging support for devices.
· Implemented a proper kernelBus top-level infrastructure for use by the PCI driver, USB driver, etc.
· The display devices and text console drivers are now initialized separately and before other hardware, so that hardware detection messages can be shown while detection is going on.
· The 'computer' program now continuously scans for new disks.
· The 'iconwin' and 'filebrowse' programs now change the mouse pointer when they're busy loading up a file or program.
· The 'iconwin' program now continues silently when programs or icons specified in the config file are missing.
· The boot menu now has a default selection and timeout period (settable by the 'bootmenu' program).
· There is now an 'active menu' global window system variable so that the focused menu can always be on top, and always go away then it loses focus.
· Fixed: Booting failed on Qemu due to a PS/2 mouse driver hang.
· Fixed: The 'bootmenu' program failed to run from a read-only media.
· Fixed: The boot menu timer was counting down too quickly.
· Fixed: The 'defrag' program was giving "can't defrag filesystem type 'unknown'" messages for things like floppies that hadn't been mounted.
· Fixed: The kernelDiskGetMediaState() function was returning 0 for flash disks
June 2nd, 2006· Partition Logic can now resize Windows XP (NTFS) partitions, as a result of porting Linux ntfsprogs NTFS resizing code.
· Allows partition-only resizing regardless of the filesystem type (with appropriate warnings).
· Improved IDE/ATA hard disk driver performance by implementing block-mode I/O.
· Added basic 'stub' NTFS filesystem support (detection and clobber).
· Added basic 'stub' Linux swap filesystem support (detection and clobber).
· Added a kernel disk function for rescanning the partitions of a single disk.
· Add a kernel filesystem function for getting statistics about a filesystem (whether it's mounted or not, or indeed, properly supported or not).
· Added a kernel filesystem function for getting resizing constraints.
· Added a kernel filestystem function for requesting specific detection of filesystem type (useful for removable media and such).
· Text mode now shows the operations/commands in two columns.
· The 'move partition' and 'copy disk' functions now use standard progress dialogs and show time estimates.
· Fixed: After formatting FAT32, Linux and older Windows installers would show the filesystem as 100% full.
· Fixed: Errors with IDE/ATA hard disks as secondary masters.
· Fixed: Unformatting (clobbering) a partition in the didn't seem to convince the kernel to un-detect the previous filesystem until reboot.