- 05.12.2006 1 коммит
-
-
Aleksey Bragin создал
Create a place for work on creating a bootloader capable of booting Windows NT (from 4.0 up to 5.2). Base is FreeLdr from trunk r25063. svn path=/branches/winldr/; revision=25066
-
- 04.12.2006 16 коммитов
-
-
-
-
Michael Steil создал
== LBA Functionality BIOS Bug == When the BIOS is asked whether it supports INT 13 extensions, it will answer yes if the device is a hard disk, but it will pretend that even the function to ask about this functionality is unsupported if asked about a CD drive. This is similar to what is documented in the code already: Some BIOSes return "doesn't support INT 13 extensions" for CDs. Code has been added to use INT 13 extensions (and therefore LBA read as opposed to CHS) even if the BIOS claims this is unsupported, if the device is a CD-ROM. The check for the drive type is done by comparing with 0x90: If the device number is 0x90 or above, it's a CD drive. (On Insyde's BIOS, it's 0x90, on most others, it's 0x9F). (Ironically, Insyde's BIOS cannot even do CHS on CDs, so if the bootloader correctly asks for LBA support, it will get a "no" and will fail when trying to do CHS: When querying the max. CHS values, the BIOS returns 0 sectors per track, which will make conversions from LBA to CHS impossible.) == LBA Read BIOS Bug == When trying to read from CD using the LBA function INT 13/42, the BIOS function will return as it is supposed to, with CF and AH cleared, but with an unchanged buffer. This is because freeldr passes a "disk address packets" that structure contains an extra 64 bit value at the end and is therefore 24 bytes long instead of 16. This is perfectly fine, and a BIOS should ignore any extra data in the structure, but Insyde's BIOS, which doesn't support the extra field (and thus the EDD-3.0 standard) just ignores the complete task and returns in this case. The extra field has been removed from the structure in freeldr, as it is not used anyway. The structure is now 16 bytes long. svn path=/trunk/; revision=25063
-
Michael Steil создал
== A20 Gate and the Keyboard Controller == In order to turn on the A20 gate, the keyboard controller has to be emptied. This is done in freeldr by reading bytes until the keyboard controller signals it's empty. Intel Macs don't have PS/2 keyboard controller and the status register always reads back 0xFF, so the "there is data" bit will never be cleared. (The same problem has been in GRUB as well as in Darwin's BIOS loader.) Added code that doesn't bother to clear the keyboard buffer if the status port reads back 0xFF. == Serial Port BIOS Bug == Insyde's BIOS reports that there is a COM1 serial port at 0x3F8 (as stored in 0040:0000 in memory), but there is none in Intel Macs, so freeldr spins infinitely while trying to empty the serial port's buffer. Added code that makes sure the loop only gets executed up to 200 times svn path=/trunk/; revision=25062
-
-
Johannes Anderwald создал
- include it in build - fix building with msvc svn path=/trunk/; revision=25059
-
-
Johannes Anderwald создал
- replace getopt with simple parse routine svn path=/trunk/; revision=25057
-
-
-
-
-
-
Magnus Olsen создал
started hacked SetCooperativeLevel and ReCreateDirectDraw code. we need it if hwnd are not null we need recreate the HAL and HEL interface for we already inistate it early. svn path=/trunk/; revision=25051
-
-
Aleksey Bragin создал
Change name everywhere back to Ariadne because real person could not be contacted. Non-working email address removed. If this person doesn't contact me before finish of the audit, the copyright will be transferred to ReactOS Foundation. svn path=/trunk/; revision=25049
-
- 03.12.2006 21 коммит
-
-
-
-
-
Johannes Anderwald создал
- theres no reason to include NDK for it - fix a bug in dlOnProgress while debugging it svn path=/trunk/; revision=25045
-
-
-
-
-
-
-
Johannes Anderwald создал
- by Apostolos Alexiadis - fix some formating issues See issue #1831 for more details. svn path=/trunk/; revision=25038
-
Alex Ionescu создал
- Fix IoSetInformation to send the IRP to the right device. - After the major fix in 24996, the functions that had been written to work with the I/O bug stopped working (by sending the IRP to the wrong device object, which, due to the bug was the ""right"" object), this is now fixed and the bootcd works again. svn path=/trunk/; revision=25037
-
-
-
Magnus Olsen создал
Fixed the initate process so it do not call to StartDirectDrawHal when GUID DDCREATE_EMLATIONONLY svn path=/trunk/; revision=25034
-
Aleksey Bragin создал
- Fixed NtCompressKey() and NtQuerySystemEnvironmentValueEx() prototypes (they were incorrectly declared/defined, but had a correct number of params in sysfuncs.lst) - Fixed incorrect number of parameters specified in sysfuncs.lst for NtLoadKeyEx(), NtQueryOpenSubKeysEx(), NtTranslateFilePath() sysfuncs.lst now perfectly matches all functions definitions. svn path=/trunk/; revision=25029
-
Magnus Olsen создал
Do not trust on ddraw value yo get blindy. it will rest the value you need to optian the HAL and you can not spy on it so easy then. svn path=/trunk/; revision=25027
-
Alex Ionescu создал
- Clear capacity data buffer before reading it to avoid 0xCCCCCCCC values and manually set failure code if nobody filled it in (a hack, but I don't understand our pre-Nixon-era storage stack to "properly" fix it, so this is good enough and kills off the 0xCCCCCCCC byte non-paged pool allocations. svn path=/trunk/; revision=25026
-
Alex Ionescu создал
- Add debug message to fs_rec driver to analyse why it's trying to allocate 4GB of non paged memory. svn path=/trunk/; revision=25025
-
-
Magnus Olsen создал
fixed some comment in main.c, Comment why memory does not being fill to zero in lest windows 2000 after you play with directdraw. svn path=/trunk/; revision=25021
-
- 02.12.2006 2 коммита
-
-
Alex Ionescu создал
- Implement DR register save/restore during traps, interrupts and system calls. - Remove respective entry from krnlfun.c. svn path=/trunk/; revision=25020
-
Magnus Olsen создал
fixed so only NULL and DDCREATE_HARDWAREONLY are accpect when you linking two directdraw interface. svn path=/trunk/; revision=25019
-