- Whoever wrote mkhive ran into the problem I just did, and realized hey-i-dont-fucking-want-to-use-that-almost-copy-pasted-but-not-shared-code-so-why-dont-i-use-the-good-kernel-code-instead... but instead of taking the time to create a fucking library like I just did (cause that would be hard man, and fixing headers n' shit), just hard-coded the paths to the kernel files directly like a lazy shit. Fix mkhive to just rely on cmlib, which now has the files shared there.
svn path=/trunk/; revision=69445
- Move cmindex.c and cmname.c to cmlib, because bootmgr/winload use the kernel's cm implementation, unlike our freeldr which uses an almost copy-pasted-but-not-shared-because-hey-why-not-have-to-fix-the-bugs-in-two-places-instead-of-just-one implementation.
- Minor fixes to headers to allow those two files to be used/built outside of ntoskrnl.
svn path=/trunk/; revision=69444
Usability fixes (part 2):
- Properly keep the mouse show state across screenbuffer switches.
- Use unicode strings for the disk menu items.
See r69428.
svn path=/trunk/; revision=69431
Convert COLOR16 values to byte range before calling XLATEOBJ_iXlate.
This fixes gradient colors in some applications, as for example in Code::Blocks.
Patch by Vort. This is a fix for code written in revision r8117, so old !!
CORE-8652 #comment Committed in r69430, thanks guys!
svn path=/trunk/; revision=69430
Usability fixes:
- Update the menu each time the user chooses to show or hide the mouse pointer.
- Keep the mouse show state across screenbuffer switches (text/graphics) (half-hackish at the moment; will be elegantly fixed later on).
- Update the floppy disk menu items each time the user mounts / ejects a disk; display the disk image file name currently mounted (CHAR strings used at the moment, WCHAR conversion will follow soon).
svn path=/trunk/; revision=69428
Reading/writing to memory should #SS(0) when the segment is the stack segment,
and #GP(0) otherwise. It should never generate #NP.
svn path=/trunk/; revision=69427
- Temporarily hack the boot sequence to floppy, then hard disk. See r69421; will be improved in the future.
- Complete the BIOS 16-bit bootstrap code.
svn path=/trunk/; revision=69422
- Add a basic boot sequence functionality (read from CMOS); will be improved in the future.
- Print a "FATAL BOOT FAILURE" error message when INT 18h is called.
- Fail startup if we cannot mount the available hard disk images.
- Improve some diagnostic error messages.
svn path=/trunk/; revision=69421
- Don't forget to push the error code when the exception handler is a task gate.
- Use SS0/ESP0, SS1/ESP1, or SS2/ESP2 for ring 0/1/2 code task CALLs.
svn path=/trunk/; revision=69420
Properly implement support for IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_GET_LENGTH_INFO in CdRomDeviceControl
CORE-10287 #resolve #comment Fixed with r69418
svn path=/trunk/; revision=69418
Don't bugcheck on unimplemented FsRtlOplockFsctrl(), FsRtlCurrentBatchOplock(), FsRtlCheckOplock()
Properly implement FsRtlInitializeOplock() (which is no-op on Windows 2k3)
CORE-10284 #resolve #comment Resolved with r69412
svn path=/trunk/; revision=69412
- Add floppy image automount support from the registry, as it was done for HDDs in r69390 (it's really copy-paste & adaptation of the existing code).
- Increase HDD number support from 1 to 4 (maximum) for INT 13h.
svn path=/trunk/; revision=69411
- Don't support IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX for now
- Properly implement IRP completion for IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_GET_DRIVE_GEOMETRY
svn path=/trunk/; revision=69409
Fix a division-by-zero problem by storing the mouse driver's Width and Height
in DWORDs, thus avoiding the integer overflow which could make them zero.
svn path=/trunk/; revision=69408
- Always use the descriptor type, and never the limit, to identify
legacy vs. modern TSSes.
- Don't forget to write back the modified TSS link.
svn path=/trunk/; revision=69407