Partition Logic Changelog

What's new in Partition Logic 0.9

Apr 20, 2020
  • All of the background wallpaper images are new, the colours have changed slightly, and a number of the GUI components have had their appearances updated.
  • Menus have been updated for the German, Spanish, Russian and Turkish languages.
  • Added wide-character and multibyte character (UTF-8) support throughout the operating system – to the fonts and charsets, the GUI, the C library, etc. It has replaced the ISO-based internationalization schemes. Although some knowledge of ISO codepages was kept, things have been more-or-less entirely switched over to Unicode.
  • Added VMware mouse integration, so that a Partition Logic guest coordinates with the host to automatically grab or ungrab the mouse cursor as it enters or leaves the window. Requires the option to be enabled in VMware.
  • Added a computer chip icon, ‘chip.ico’. To start with, the Computer Browser will use it for RAM disks.
  • Did some tidy-up of the translated .po files – mostly updating c-format strings’ parameters, punctuation, and newlines.
  • Fixed: The Computer Browser program could show mismatches between disks and icons, if it didn’t have an icon for a particular hardware type (specifically, RAM disks). Made it more robust, with a default icon.
  • Fixed: The Disk Manager’s creation and resize dialogs were full-screen, and looked all messed up.
  • Fixed: Several of the programs didn’t have .pot translation files.
  • Plus dozens of other improvements to the Visopsys operating

New in Partition Logic 0.77 (Jun 29, 2015)

  • Added proper support for composite USB devices, treating each interface as a separate device at the kernel level.
  • The CPU driver no longer determines the CPU frequency using the RTC, but rather using the system timer and a short countdown. This shortens the boot time by 1-2 seconds.
  • It is now possible to drag scrollbars and sliders without keeping the mouse pointer strictly within the component or window.
  • Added language-specific kernel configuration files for Spanish and German
  • Improved the window system graphics performance. A sequence of drawing and updating operations can happen without the visible screen data needing to be updated every time.
  • Improved the performance of the PS2 mouse driver. It was very laggy on some systems.
  • Added basic functionality for virtual keyboards. A virtual keyboard device is now created by default, and key strokes can be sent to it.
  • In the Display Settings program, the desktop wallpaper sample is now scaled to the screen aspect ratio, and if no wallpaper is chosen, the sample is filled with the desktop color.
  • The command window no longer requires typing a space character before or after special symbols, such as an ampersand.
  • Fixed and standardized command-line option processing for most of the included programs.
  • Re-engineered the GUI ‘canvas’ component for better drawing performance.
  • The window system’s icon code that formats labels has been re-written, and will now split the text label with newlines.
  • The window ‘canvas’ component will now auto-fill with a custom background color, if one is specified.
  • Made the thickness of slider bars and scroll bars configurable in the window.conf file.
  • The USB subsystem now adds kernelDevice entries for USB devices that aren’t supported (aren’t claimed by device drivers) so that the device listing is more complete.
  • USB work: updated the hub definitions to make USB version compatibility more obvious, split the keyboard and mouse drivers into separate files, and removed the combined HID one. Improved the collection of interface and endpoint data. Improved support for composite (multi-interface) devices by requiring drivers to ‘claim’ individual interfaces, instead of the whole device. Reduced the overhead of setting EHCI static endpoint characteristics+capabilities, and fixed the setting of USB 2.0 hub address and port for low- and full-speed devices.
  • Changed the USB drivers so that a physical device will only have its configuration set once, in the case where drivers are claiming and using multiple interfaces.
  • Added a longer ready timeout to the USB disk driver.
  • The XHCI (USB3) driver no longer disables I/O and memory decoding in PCI when detecting controllers.
  • The kernel loader’s gzip file classification no longer requires the file to qualify as binary; it’s possible to have uncompressed text blocks/members inside the archive, which can cause the gzip file to be considered text by the loader.
  • Reduced reliance on the system timer, particularly in the disk drivers, in favour of the kernelCpu functions that measure time in milliseconds.
  • The IDE disk driver’s ‘identify device’ code now uses the data structure used by the AHCI SATA driver.
  • When locating the boot device, the kernel no longer relies on the OS loader to pass the LBA of boot sector. Identification is now based strictly on the boot sector signature.
  • The floppy disk driver has been updated so that it won’t attempt to support ‘type 16′ (removable ATAPI/USB) drives.
  • The window library’s functions for making thumbnail images have been updated to allow images to be stretched to the maximum size, and to fill any unfilled area with a background color.
  • Fixed: The kernel’s fileStream code was not correctly handling streams opened in ‘append’ (write-only) mode.
  • Fixed: The kernel’s file stream code was not keeping track of/setting the file size correctly.
  • Fixed: The EXT filesystem driver had a bug in its readFile() functionality. When the inode uses block lists, and the starting block number is greater than the number of ‘direct’ blocks, the driver was simply reading the first sequence of indirect blocks, without regard to the starting block number.
  • Fixed: The AHCI SATA driver could fail to detect disk(s) with the error message “AHCI port %d BSY or DRQ set – skipping device detection”.
  • Fixed: Incorrect status and error register writing functions in the USB1 UHCI driver.
  • Fixed: The IDE driver wasn’t dealing well with individual controllers and channels operating in ‘compatibilily’ mode (alongside others that may be native). Now, we examine each controller and channel, whether it has PCI I/O ports and interrupts, and whether it should continue to stay in compatibility mode or be switched to native.
  • Fixed: Added PCI definition for class:subclass FF:00 to suppress spurious warnings about unknown subclasses.
  • Fixed: Removed the automatic USB Mass Storage reset during device enumeration of USB disks. Some devices, on some controllers, stop responding, and it seems unnecessary.
  • Fixed: The EHCI (USB2) unregisterInterrupt() function was incorrectly unlinking interrupt queue heads.
  • Fixed: The middle and right mouse buttons were swapped for all USB boot-protocol mice.
  • Fixed: XHCI (USB3) interrupt handling to allow concurrent interrupt and non-interrupt communication between multiple endpoints.
  • Fixed: In the window library’s file browser widget, some of the default icon names were wrong, not up to date.
  • Fixed: The window library’s windowCenterDialog() function, so that it won’t place a window at negative coordinates (off the top or left edges of the visible screen).
  • Fixed: In the Disk Manager, when resizing a partition in graphics mode (and other sliders generally) merely mousing over the slider could cause the text field to be changed.
  • Fixed: When setting the video resolution in the Display Settings program, the video mode file was not having its size set correctly, and an error message “File has not been opened for writing” would appear on the command line.

New in Partition Logic 0.76 (Jan 16, 2015)

  • Did a fairly major overhaul of the EXT filesystem driver, adding more adaptive feature support, plus support for EXT4 flexible block groups and basic support for EXT4 extent-based files. Also fixed a little bug in the formatting functionality (setting the EXT_INCOMPAT_FILETYPE flag in the superblock).
  • Improved the new APIC driver so that it considers the correct priority order when returning the number of the active interrupt. This fixes failures when using the VirtualBox emulator, and some failures seen with the Qemu emulator.
  • Partition Logic is slowly transitioning away from the notion of ‘cylinders’, and towards showing the user units of sectors, megabytes, etc.
  • Some modern systems don’t allow manual control the A20 address line, but work anyway. The OS loader will still print an error message, but it will no longer terminate booting with a fatal error in such cases.
  • Added a extra support for multi-interface (composite) USB devices.
  • Improved the EHCI (USB 2.0) driver and the way it manages queue heads and the periodic schedule. Interrupt queue heads for devices are no longer placed directly into the periodic schedule; instead linked, interval-specific queue heads are used. Linked lists of queue head items are now chained correctly.
  • All USB device drivers now check to make sure a device hasn’t already been ‘claimed’ by another driver.
  • All USB transaction creators now specify timeout values as appropriate, and all of the USB host controller drivers now pay attention to those.
  • Added kernel locking to the XHCI (USB 3.0) driver.
  • Added a short delay to the XHCI (USB 3.0) controller driver, after setting the port reset bit, before reading it back to check for the ‘clear’. In some cases it can read clear straight away, but the reset hasn’t completed yet, resulting in device detection failures.
  • Fine-tuned the PS2 mouse and keyboard timeouts, and the USB keyboard typematic repeat timing.
  • Improved the layout code of the window library dialog boxes.
  • Got rid of the checks/warnings about disk geometry errors when performing a partition table check. We want to reduce reliance on legacy disk geometry, and frequent mismatches meant a lot of scary-looking warnings that probably didn’t amount to anything anyway.
  • The code for specific disk label types (MS-DOS, GPT) now specifies the first and last available sectors for data, and the starting and ending values for new/moved/resized partitions are adjusted to accommodate these.
  • Pasting a partition now requires committing changes, as with format operations, erases, filesystem resizes, etc.
  • When disks or partitions are erased, it now checks for mounted filesystems, and the kernel is now told to re-scan the filesystem types, the same as after a format operation.
  • Now checks for a mounted filesystem before deleting a partition.
  • No longer enables the ‘set active’ button/menu item when working with a GPT partition table. The option is meaningless for this disk label type.
  • Fixed: The VirtualBox emulator was not cooperating with the RTC driver, and the boot would fail/crash.
  • Fixed: A double-fault would occur if an exception was triggered before multitasking was enabled.
  • Fixed: ALT-TAB only worked for activating the top menu bar if at least one window existed (i.e. something in the ‘Windows’ menu). It now tries to activate the first menubar menu that has some menu items in it.
  • Fixed: Automounting filesystems (from mount.conf) failed if no mount point was set. The filesystems program doesn’t force the user to specify one. The kernel now attempts to use a default (/).
  • Fixed: The data moving threads could calculate incorrect sector numbers when copying/moving data from the start of the disk, toward the end of the disk.
  • Fixed: Copying and pasting partitions between MS-DOS disks and GPT disks wasn’t working.
  • Fixed: An incorrect partition diagram with certain MS-DOS logical partitions. Empty spaces were being calculated using cylinder values, which aren’t necessarily set for logical partitions, by other software.
  • Fixed: Pasting a partition into an empty disk would clobber the first track, disk label, etc. of the empty disk.
  • Fixed: MS-DOS extended partitions were not having their logical sizes calculated correctly (Parted would complain about ‘overlapping partitions’).
  • Fixed: Corrected the numbers shown when querying the user for partition size, when creating or resizing.
  • Fixed: The horizontal sliders used for moving, resizing, and creating partitions didn’t update their associated text fields when moved with keyboard presses.
  • Fixed: The VSH cursor menu was corrupting memory by attempting to set the text cursor row to a negative number, when there were too many items to fit in the text area/screen. Also added better parameter checking to the kernelText.c code.
  • Fixed: a divide-by-zero error in the window library’s windowNumberDialog code, that would cause it to crash when the minimum and maximum values were the same.
  • Fixed: 2 bugs related to GUID generation; The structure was not being defined as ‘packed’, and separately, the kernelGuidGenerate() function was over-writing the end of the structure by 2 bytes when writing the node ID.
  • Fixed: The file browser program would crash when passed a relative directory name on the command line.

New in Partition Logic 0.75 (Oct 29, 2014)

  • Added USB3 (XHCI) support.
  • Greatly improved USB2 (EHCI) and hub support.
  • Added APIC interrupt controller support.
  • Added support for detecting and parsing the Intel multiprocessor table.
  • The USB layer code no longer sets device configurations by default. It is now left up to the individual device drivers, when they determine that a given device is supported. Configuring some unknown, built-in, proprietary devices can cause other devices to stop responding.
  • USB hub removal now triggers a recursive device removal for all downstream things connected via the hub.
  • If a mounted removable disk (such as a USB stick) is removed from the system, a call to kernelFilesystemRemoved() will now act like a forced umount – unbuffering files and removing the filesystem – without attempting further accesses to the physical disk.
  • Updated some definitions and things in the PCI driver.
  • Fixed: In the computer browser, when clicking to mount a CD-ROM for the first time, from a cold boot, the file browser that was launched sometimes wouldn’t start in the CD-ROM’s mount directory.
  • Fixed: In the file browser and the file dialog, the current directory field started off disabled (greyed-out), but changing the directory caused it to be redrawn as enabled (not greyed out). Components weren’t being re-rendered when their setData() functions were called.
  • Fixed: A bug in the USB driver subsystem, in which a device disconnection could cause the USB thread to go into an infinite loop.
  • Fixed: Increased timeout values for SCSI ‘start unit’ commands, to support various USB-attached disks (hard disks and CD/DVD drives that need time to spin up).
  • Fixed: An IDE disk controller driver bug where an unhandled interrupt could result from selecting a nonexistent slave drive on certain controllers.
  • Fixed: Timing issues in the AHCI SATA driver related to CD/DVD drives.

New in Partition Logic 0.74 (Jul 12, 2014)

  • Added Spanish and German translations for many of the user programs and GUI features. The user can select their language at the initial splash window.
  • Implemented a full SATA (AHCI) driver.
  • Implemented an ATAPI-over-USB driver for USB CD/DVD drives.
  • The code that detects GPT partition tables now checks whether the MS-DOS “guard table” is really a guard table, for more reliable GPT detection.
  • Improved SCSI disk initialization and fixed USB mass storage error detection.
  • Improved timing precision for IDE port polling timeouts and channel resets.
  • The USB 2 (EHCI) driver now handles controller-level error interrupts (host system errors).
  • The disk caching code now does more combining of cache entries for improved performance, reducing the number of disk writes.
  • Some memory management code has been reworked.
  • Changed the ‘bootmenu’, ‘copy-mbr’, and main Partition Logic programs to preserve the ‘disk signature’ field when installing a new MBR sector. This solves the problem of Windows requiring a ‘repair’ after installing the basic MBR or MBR boot menu. Also removed a warning/confirmation message about the repair thing from the ‘bootmenu’ program.
  • Part of the GUI system has been re-written, and GUI menus have been changed so that when the topmost menu item is selected, pressing cursor-up removes the selection.
  • The file dialog window now shows the current path the way the file browser program does.
  • Implemented mouse and keyboard threads to process input outside of the interrupt context, for improved stability.
  • The keyboard system has been redesigned.
  • Added typematic key repeats for USB keyboards.
  • Interrupt handlers are now disallowed from allocating or freeing memory, or changing the page tables/directories. This is a stability improvement.
  • Separated the window shell thread from the main GUI system
  • In the computer browser, inapplicable context menu items are now greyed out, such as ‘mount’ when a disk is already mounted.
  • Window menu items are now set to the same width as their parent menu, so that they’re all the same length when highlighted/selected.
  • Fixed: espectalll123 gave us a corrected Spanish keyboard map.
  • Fixed: Modified the USB 2.0 (EHCI) and SATA (AHCI) drivers so that they don’t fail if PCI bus mastering can’t be enabled.
  • Fixed: SCSI protocol command sizes and status packet handling for USB mass storage devices.
  • Fixed: On some systems, the NTFS code was not detecting the filesystem due to a debug-mode stack corruption issue.
  • Fixed: When clicking on the CD-ROM icon in the Computer Browser, there was an error message “Can’t mount disk on” (even though the CD could be mounted from the command line).
  • Fixed: USB 2.0 (EHCI) hot-plugging of USB mass-storage devices would tend to fail. The devices were being detected, but were generating communication errors.
  • Fixed: Dismissing a dialog box could cause the mouse pointer to disappear, when the mouse was somewhere within the parent window.
  • Fixed: Window resizing was very difficult and the correct mouse position to do so didn’t really correspond with the point where the mouse cursor would change to a resize cursor.
  • Fixed: Right-clicking in a menu would cause the menu item to show selected. Right-clicks aren’t currently relevant for menu items, so now we just ignore them.
  • Fixed: If a CD-ROM is mounted, the computer browser would access it continually. Made this better, but getting the disk properties causes the kernel to check the removable media status, so it’s not entirely avoidable.
  • Fixed: Right-clicking anywhere in the computer browser would bring up the context menu for the selected disk. That should only happen when right-clicking on an actual item. Added a getData() and eventComp() functions to the windowList component, to return the objectKeys of all the windowListItems, and to let windowListItems receive right-click context menu events, respectively.
  • Fixed: Moving the PS/2 mouse around during hardware initialization of its driver could cause a cascading boot failure.
  • Fixed: When there were windows on the screen, pressing ALT-TAB 2-3 times could cause a major GUI crash.
  • Fixed: When resizing images in the ‘view’ program, the window title bar didn’t update (with the correct zoom percentage) until the window focus changed.
  • Fixed: In graphics mode, the File Browser only noticed directory changes when a file is added or removed, but not sub-directories.
  • Fixed: The interpretation of the Linux swap fileystem header.
  • Fixed: Support for using images inside of GUI buttons
  • Fixed: Improved the stability of the Screenshot program.
  • Fixed: Pressing backspace at position (0,0) would cause the Edit program to crash.
  • Fixed: Clicking on the kernel binary in the file browser program would cause a crash in the kernel’s runtime loader

New in Partition Logic 0.72 (Dec 27, 2013)

  • Added initial USB2 (EHCI) support.
  • Added a stub USB3 (XHCI) driver.
  • Improved the output of the Devices program so that it's a little bit more readable.
  • Improved the collection and recording of the CPU vendor string.
  • Did a bit more development of the simple ACPI driver.
  • Fixed: USB hub detection could happen twice - once during the controller's initial device connection detection, and again when device driver detection happened for hubs.
  • Fixed: The first (number 1) USB port didn't work on many systems.
  • Fixed: Certain USB hard disks not working, and/or causing boot failure.
  • Fixed: The AHCI driver no longer fails to initialize if PCI bus mastering can't be enabled.
  • Fixed: ACPI (soft) power off could cause some systems not to boot the operating system on the next attempt.
  • Fixed: Removed possible infinite loop condition in the 'real time clock' driver.
  • Fixed: When installed somewhere via the native installer (for example on a USB stick) with a FAT32 filesystem type, the volume label was not being set properly.
  • Fixed: The graphical native installer would often skip the password setting box (flashing up and then disappearing).
  • Fixed: The TAB key was not working when using a USB keyboard.

New in Partition Logic 0.71 (Nov 23, 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.

New in Partition Logic 0.7 (Feb 23, 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

New in Partition Logic 0.7 Preview (Feb 21, 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

New in Partition Logic 0.69 (Feb 21, 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

New in Partition Logic 0.68 (Feb 21, 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.

New in Partition Logic 0.67 (Feb 21, 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)

New in Partition Logic 0.66 (Feb 21, 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.

New in Partition Logic 0.64 (Oct 27, 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.

New in Partition Logic 0.63 (Aug 23, 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.

New in Partition Logic 0.62 (Jun 2, 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

New in Partition Logic 0.61 (Jun 2, 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.