ReactOS.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
List overview
Download
Ros-diffs
January 2006
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
ros-diffs@reactos.org
23 participants
586 discussions
Start a n
N
ew thread
[gedmurphy] 69: add missing library
by gedmurphy@svn.reactos.org
add missing library Modified: trunk/reactos/base/system/servman/servman.rbuild _____ Modified: trunk/reactos/base/system/servman/servman.rbuild --- trunk/reactos/base/system/servman/servman.rbuild 2006-01-31 20:43:06 UTC (rev 68) +++ trunk/reactos/base/system/servman/servman.rbuild 2006-01-31 22:41:45 UTC (rev 69) @@ -12,6 +12,7 @@ <library>version</library> <library>comctl32</library> <library>shell32</library> + <library>comdlg32</library> <compilationunit name="unit.c"> <file>about.c</file> <file>control.c</file>
18 years, 10 months
1
0
0
0
[gedmurphy] 68: - write services to file
by gedmurphy@svn.reactos.org
- write services to file - added a roadmap for fun Modified: trunk/reactos/base/system/servman/export.c Added: trunk/reactos/base/system/servman/roadmap.txt _____ Modified: trunk/reactos/base/system/servman/export.c --- trunk/reactos/base/system/servman/export.c 2006-01-31 19:25:52 UTC (rev 67) +++ trunk/reactos/base/system/servman/export.c 2006-01-31 20:43:06 UTC (rev 68) @@ -3,24 +3,64 @@ * LICENSE: GPL - See COPYING in the top level directory * FILE: base/system/servman/export.c * PURPOSE: Save services to a file - * COPYRIGHT: Copyright 2005 Ged Murphy <gedmurphy(a)gmail.com> + * COPYRIGHT: Copyright 2006 Ged Murphy <gedmurphy(a)gmail.com> * */ #include "servman.h" +extern HWND hListView; -BOOL SaveServicesToFile(HWND hListView, LPCTSTR pszFileName) + +DWORD GetTextFromListView(TCHAR Text[500], INT row, INT col) { + LVITEM item; + DWORD NumChars; + + ZeroMemory(&item, sizeof(item)); + item.mask = LVIF_TEXT; + item.iSubItem = col; + item.pszText = Text; + item.cchTextMax = 500; + NumChars = (INT)SendMessage(hListView, LVM_GETITEMTEXT, row, (LPARAM)&item); + + return NumChars; +} + + +BOOL SaveServicesToFile(LPCTSTR pszFileName) +{ HANDLE hFile; BOOL bSuccess = FALSE; hFile = CreateFile(pszFileName, GENERIC_WRITE, 0, NULL, - CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); if(hFile != INVALID_HANDLE_VALUE) { + TCHAR LVText[500]; + TCHAR newl = _T('\n'); + TCHAR tab = _T('\t'); + DWORD dwTextLength, dwWritten; + INT NumListedServ = 0; + INT i, k; + NumListedServ = ListView_GetItemCount(hListView); + + for (i=0; i < NumListedServ; i++) + { + for (k=0; k<5; k++) + { + dwTextLength = GetTextFromListView(LVText, i, k); + if (LVText != NULL) + { + WriteFile(hFile, LVText, dwTextLength, &dwWritten, NULL); + WriteFile(hFile, &tab, 1, &dwWritten, NULL); + } + } + WriteFile(hFile, &newl, 1, &dwWritten, NULL); + } CloseHandle(hFile); + bSuccess = TRUE; } return bSuccess; } @@ -35,7 +75,7 @@ ofn.lStructSize = sizeof(OPENFILENAME); ofn.hwndOwner = hwnd; - ofn.lpstrFilter = _T("Text Files (*.txt)\0*.txt\0All Files (*.*)\0*.*\0"); + ofn.lpstrFilter = _T("Text (Tab Delimited)(*.txt)\0*.txt\0Text (Comma Delimited)(*.csv)\0*.csv\0"); ofn.lpstrFile = szFileName; ofn.nMaxFile = MAX_PATH; ofn.lpstrDefExt = _T("txt"); @@ -43,8 +83,11 @@ if(GetSaveFileName(&ofn)) { - SaveServicesToFile(hwnd, szFileName); + if (SaveServicesToFile(szFileName)) + return; } + + MessageBox(NULL, _T("Export to file failed"), NULL, 0); } _____ Added: trunk/reactos/base/system/servman/roadmap.txt --- trunk/reactos/base/system/servman/roadmap.txt 2006-01-31 19:25:52 UTC (rev 67) +++ trunk/reactos/base/system/servman/roadmap.txt 2006-01-31 20:43:06 UTC (rev 68) @@ -0,0 +1,13 @@ +Release Criteria +------- -------- + 0.1 list all services. Provide basic starting and stopping of services (complete 12/05) + 0.2 Working properties dialog (complete 01/06) + 0.3 Export services to a text file (complete 01/06) + 0.4 Creation of new services + 0.5 Safe deletion of existing services + 0.6 Sort all services by column + 0.7 Show services in all 4 views, not just report view. Needs toolbar additions + 0.8 Complete dependancy dialog + + 1.0 Security audited & bug tested + 1.1 Write help file \ No newline at end of file
18 years, 10 months
1
0
0
0
[sedwards] 67: added makefiles for freeldr isoboot
by sedwards@svn.reactos.org
added makefiles for freeldr isoboot Modified: trunk/reactos/boot/boot.rbuild Added: trunk/reactos/boot/freeldr/bootsect/bootsect.rbuild Added: trunk/reactos/boot/freeldr/freeldr.rbuild _____ Modified: trunk/reactos/boot/boot.rbuild --- trunk/reactos/boot/boot.rbuild 2006-01-31 19:09:28 UTC (rev 66) +++ trunk/reactos/boot/boot.rbuild 2006-01-31 19:25:52 UTC (rev 67) @@ -2,4 +2,7 @@ <directory name="bootcd"> <xi:include href="bootcd/bootcd.rbuild" /> </directory> +<directory name="freeldr"> + <xi:include href="freeldr/freeldr.rbuild" /> +</directory> </group> _____ Added: trunk/reactos/boot/freeldr/bootsect/bootsect.rbuild --- trunk/reactos/boot/freeldr/bootsect/bootsect.rbuild 2006-01-31 19:09:28 UTC (rev 66) +++ trunk/reactos/boot/freeldr/bootsect/bootsect.rbuild 2006-01-31 19:25:52 UTC (rev 67) @@ -0,0 +1,30 @@ +<!-- +<module name="dosmbr" type="bootsector" > + <bootstrap base="loader" nameoncd="dosmbr.bin" /> + <file>dosmbr.asm</file> +</module> +<module name="ext2" type="bootsector"> + <bootstrap base="loader" nameoncd="ext2.bin" /> + <file>ext2.asm</file> +</module> +<module name="fat32" type="bootsector"> + <bootstrap base="loader" nameoncd="fat32.bin" /> + <file>fat32.asm</file> +</module> +<module name="fat" type="bootsector"> + <bootstrap base="loader" nameoncd="fat.bin" /> + <file>fat.asm</file> +</module> +--> +<module name="isoboot" type="bootsector"> + <bootstrap base="loader" nameoncd="isoboot.bin" /> + <file>isoboot.asm</file> +</module> +<!-- +<if property="ARCH" value="powerpc"> + <module name="ofwldr" type="bootprogram" payload="freeldr"> + <bootstrap base="loader" nameoncd="boot/ofwldr" /> + <file>ofwboot.s</file> + </module> +</if> +--> _____ Added: trunk/reactos/boot/freeldr/freeldr.rbuild --- trunk/reactos/boot/freeldr/freeldr.rbuild 2006-01-31 19:09:28 UTC (rev 66) +++ trunk/reactos/boot/freeldr/freeldr.rbuild 2006-01-31 19:25:52 UTC (rev 67) @@ -0,0 +1,17 @@ +<directory name="bootsect"> + <xi:include href="bootsect/bootsect.rbuild" /> +</directory> +<!-- +<directory name="freeldr"> + <xi:include href="freeldr/freeldr_startup.rbuild" /> + <xi:include href="freeldr/freeldr_base64k.rbuild" /> + <xi:include href="freeldr/freeldr_base.rbuild" /> + <xi:include href="freeldr/freeldr_main.rbuild" /> + <xi:include href="freeldr/setupldr_main.rbuild" /> + <xi:include href="freeldr/freeldr.rbuild" /> + <xi:include href="freeldr/setupldr.rbuild" /> +</directory> +<directory name="install"> + <xi:include href="install/installfreeldr.rbuild" /> +</directory> +-->
18 years, 10 months
1
0
0
0
[sedwards] 66: did not notice this has older style BSD license. Removed until we can contact vendor about dual license
by sedwards@svn.reactos.org
did not notice this has older style BSD license. Removed until we can contact vendor about dual license Deleted: trunk/reactos/boot/freeldr/bootsect/ofwboot.s _____ Deleted: trunk/reactos/boot/freeldr/bootsect/ofwboot.s --- trunk/reactos/boot/freeldr/bootsect/ofwboot.s 2006-01-31 19:04:20 UTC (rev 65) +++ trunk/reactos/boot/freeldr/bootsect/ofwboot.s 2006-01-31 19:09:28 UTC (rev 66) @@ -1,1242 +0,0 @@ - .section .text -_start: - .long 0xe00000 + 12 - .long 0 - .long 0 - -/* - * LIFTED FROM arch/macppc/stand/ofwboot/Locore.c - * Copyright (C) 1995, 1996 Wolfgang Solfrank. - * Copyright (C) 1995, 1996 TooLs GmbH. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by TooLs GmbH. - * 4. The name of TooLs GmbH may not be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES ; LOSS OF USE, DATA, OR PROFITS; - * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, - * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR - * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -_begin: - sync - isync - - lis %r1,stack@ha - addi %r1,%r1,stack@l - addi %r1,%r1,16384 - 0x10 - - mfmsr %r8 - li %r0,0 - mtmsr %r0 - isync - - mtibatu 0,%r0 - mtibatu 1,%r0 - mtibatu 2,%r0 - mtibatu 3,%r0 - mtdbatu 0,%r0 - mtdbatu 1,%r0 - mtdbatu 2,%r0 - mtdbatu 3,%r0 - - li %r9,0x12 /* BATL(0, BAT_M, BAT_PP_RW) */ - mtibatl 0,%r9 - mtdbatl 0,%r9 - li %r10,0x1ffe /* BATU(0, BAT_BL_256M, BAT_Vs) */ - mtibatu 0,%r10 - mtdbatu 0,%r10 - - isync - - li %r8,0x3030 - mtmsr %r8 - - /* Store ofw call addr */ - mr %r21,%r5 - lis %r10,0xe00000@ha - stw %r5,ofw_call_addr - _start@l(%r10) - - lis %r4,_binary_freeldr_tmp_end@ha - addi %r4,%r4,_binary_freeldr_tmp_end@l - lis %r3,_binary_freeldr_tmp_start@ha - addi %r3,%r3,_binary_freeldr_tmp_start@l - - lis %r5,0x8000@ha - addi %r5,%r5,0x8000@l - - bl copy_bits - - bl zero_registers - - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_banner - _start - - bl ofw_print_string - - bl ofw_print_eol - - bl setup_exc - - /* Zero CTR */ - mtcr %r31 - - lis %r3,0x8000@ha - addi %r3,%r3,0x8000@l - - mtlr %r3 - - lis %r3,call_ofw@ha - addi %r3,%r3,call_ofw - _start - - b call_freeldr - - .align 4 -call_freeldr: - /* Get the address of the functions list -- - * Note: - * Because of little endian switch we must use an even number of - * instructions here.. Pad with a nop if needed. */ - mfmsr %r10 - ori %r10,%r10,1 - mtmsr %r10 - - nop - - /* Note that this is little-endian from here on */ - blr - nop - - .align 4 -call_ofw: - /* R3 has the function offset to call (n * 4) - * Other arg registers are unchanged. - * Note that these 4 instructions are in reverse order due to - * little-endian convention */ - andi. %r0,%r0,65534 - mfmsr %r0 - mtmsr %r0 - /* Now normal ordering resumes */ - subi %r1,%r1,0x100 - - stw %r8,4(%r1) - stw %r9,8(%r1) - stw %r10,12(%r1) - mflr %r8 - stw %r8,16(%r1) - - lis %r10,0xe00000@ha - add %r9,%r3,%r10 - lwz %r3,ofw_functions - _start@l(%r9) - mtctr %r3 - - mr %r3,%r4 - mr %r4,%r5 - mr %r5,%r6 - mr %r6,%r7 - mr %r7,%r8 - - /* Goto the swapped function */ - bctrl - - lwz %r8,16(%r1) - mtlr %r8 - - lwz %r8,4(%r1) - lwz %r9,8(%r1) - lwz %r10,12(%r1) - - addi %r1,%r1,0x100 - /* Ok, go back to little endian */ - mfmsr %r0 - ori %r0,%r0,1 - mtmsr %r0 - - /* Note that this is little-endian from here on */ - blr - nop - -zero_registers: - xor %r2,%r2,%r2 - mr %r0,%r2 - mr %r3,%r2 - - mr %r4,%r2 - mr %r5,%r2 - mr %r6,%r2 - mr %r7,%r2 - - mr %r8,%r2 - mr %r9,%r2 - mr %r10,%r2 - mr %r11,%r2 - - mr %r12,%r2 - mr %r13,%r2 - mr %r14,%r2 - mr %r15,%r2 - - mr %r12,%r2 - mr %r13,%r2 - mr %r14,%r2 - mr %r15,%r2 - - mr %r16,%r2 - mr %r17,%r2 - mr %r18,%r2 - mr %r19,%r2 - - mr %r20,%r2 - mr %r21,%r2 - mr %r22,%r2 - mr %r23,%r2 - - mr %r24,%r2 - mr %r25,%r2 - mr %r26,%r2 - mr %r27,%r2 - - mr %r28,%r2 - mr %r29,%r2 - mr %r30,%r2 - mr %r31,%r2 - - blr - -prim_strlen: - mr %r5,%r3 -prim_strlen_loop: - lbz %r4,0(%r3) - cmpi 0,0,%r4,0 - beq prim_strlen_done - addi %r3,%r3,1 - b prim_strlen_loop - -prim_strlen_done: - sub %r3,%r3,%r5 - blr - -copy_bits: - cmp 0,0,%r3,%r4 - beqlr - lwz %r6,0(%r3) - stw %r6,0(%r5) - addi %r3,%r3,4 - addi %r5,%r5,4 - b copy_bits - -ofw_print_string_hook: - bl ofw_print_number - bl ofw_exit - -ofw_print_string: - /* Reserve some stack space */ - subi %r1,%r1,32 - - /* Save args */ - stw %r3,0(%r1) - - /* Save the lr, a scratch register */ - stw %r8,8(%r1) - mflr %r8 - stw %r8,12(%r1) - - /* Load the package name */ - lis %r3,0xe00000@ha - addi %r3,%r3,ofw_chosen_name - _start - - /* Fire */ - bl ofw_finddevice - - /* Load up for getprop */ - stw %r3,16(%r1) - - lis %r4,0xe00000@ha - addi %r4,%r4,ofw_stdout_name - _start - - addi %r5,%r1,20 - - li %r6,4 - - bl ofw_getprop - - /* Measure the string and remember the length */ - lwz %r3,0(%r1) - bl prim_strlen - mr %r5,%r3 - - lwz %r3,20(%r1) - lwz %r4,0(%r1) - - /* Write the string */ - bl ofw_write - - /* Return */ - lwz %r8,12(%r1) - mtlr %r8 - lwz %r8,8(%r1) - - addi %r1,%r1,32 - blr - - /* Print 8 hex digits representing a number in r3 */ -ofw_print_number: - subi %r1,%r1,32 - stw %r8,0(%r1) - mflr %r8 - stw %r8,4(%r1) - stw %r9,8(%r1) - - xor %r9,%r9,%r9 - stw %r9,12(%r1) - - /* Set up and, devide, shift */ - mr %r8,%r3 - lis %r6,0xf0000000@ha - lis %r7,0x10000000@ha - li %r9,8 - -ofw_number_loop: - nop - cmpi 0,0,%r9,0 - beq ofw_number_return - subi %r9,%r9,1 - - /* Body: isolate digit, divide, print */ - and %r5,%r6,%r8 - divwu %r4,%r5,%r7 - srwi %r6,%r6,4 - srwi %r7,%r7,4 - - nop - - cmpi 0,0,%r4,10 - bge ofw_number_letter - addi %r4,%r4,'0' - b ofw_number_digit_out - -ofw_number_letter: - addi %r4,%r4,'A' - 10 - -ofw_number_digit_out: - stb %r4,12(%r1) - addi %r3,%r1,12 - - stw %r6,16(%r1) - stw %r7,20(%r1) - stw %r8,24(%r1) - stw %r9,28(%r1) - - bl ofw_print_string - - lwz %r6,16(%r1) - lwz %r7,20(%r1) - lwz %r8,24(%r1) - lwz %r9,28(%r1) - - b ofw_number_loop - -ofw_number_return: - /* Return */ - lwz %r9,8(%r1) - lwz %r8,4(%r1) - mtlr %r8 - lwz %r8,0(%r1) - addi %r1,%r1,32 - blr - -ofw_print_eol: - subi %r1,%r1,16 - stw %r8,0(%r1) - mflr %r8 - stw %r8,4(%r1) - li %r4,0x0d0a - sth %r4,8(%r1) - xor %r4,%r4,%r4 - sth %r4,10(%r1) - addi %r3,%r1,8 - bl ofw_print_string - lwz %r8,4(%r1) - mtlr %r8 - lwz %r8,0(%r1) - addi %r1,%r1,16 - blr - -ofw_print_nothing: - subi %r1,%r1,16 - stw %r8,0(%r1) - mflr %r8 - stw %r8,4(%r1) - li %r4,0 - sth %r4,8(%r1) - xor %r4,%r4,%r4 - sth %r4,10(%r1) - addi %r3,%r1,8 - bl ofw_print_string - lwz %r8,4(%r1) - mtlr %r8 - lwz %r8,0(%r1) - addi %r1,%r1,16 - blr - -ofw_print_space: - subi %r1,%r1,16 - stw %r8,0(%r1) - mflr %r8 - stw %r8,4(%r1) - li %r4,0x2000 - sth %r4,8(%r1) - xor %r4,%r4,%r4 - sth %r4,10(%r1) - addi %r3,%r1,8 - bl ofw_print_string - lwz %r8,4(%r1) - mtlr %r8 - lwz %r8,0(%r1) - addi %r1,%r1,16 - blr - -ofw_print_regs: - /* Construct ofw exit call */ - subi %r1,%r1,0xa0 - - stw %r0,0(%r1) - stw %r1,4(%r1) - stw %r2,8(%r1) - stw %r3,12(%r1) - - stw %r4,16(%r1) - stw %r5,20(%r1) - stw %r6,24(%r1) - stw %r7,28(%r1) - - stw %r8,32(%r1) - stw %r9,36(%r1) - stw %r10,40(%r1) - stw %r11,44(%r1) - - stw %r12,48(%r1) - stw %r13,52(%r1) - stw %r14,56(%r1) - stw %r15,60(%r1) - - stw %r16,64(%r1) - stw %r17,68(%r1) - stw %r18,72(%r1) - stw %r19,76(%r1) - - stw %r20,80(%r1) - stw %r21,84(%r1) - stw %r22,88(%r1) - stw %r23,92(%r1) - - stw %r24,96(%r1) - stw %r25,100(%r1) - stw %r26,104(%r1) - stw %r27,108(%r1) - - stw %r28,112(%r1) - stw %r29,116(%r1) - stw %r30,120(%r1) - stw %r31,124(%r1) - - mflr %r0 - stw %r0,128(%r1) - mfcr %r0 - stw %r0,132(%r1) - mfctr %r0 - stw %r0,136(%r1) - mfmsr %r0 - stw %r0,140(%r1) - - /* Count at zero */ - xor %r0,%r0,%r0 - stw %r0,144(%r1) - mr %r3,%r1 - stw %r3,148(%r1) - - /* Body, print the regname, then the register */ -ofw_register_loop: - lwz %r3,144(%r1) - cmpi 0,0,%r3,32 - beq ofw_register_special - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_reg_init - _start - bl ofw_print_string - lwz %r3,144(%r1) - bl ofw_print_number - bl ofw_print_space - lwz %r3,144(%r1) - mulli %r3,%r3,4 - add %r3,%r1,%r3 - lwz %r3,0(%r3) - stw %r3,152(%r1) - bl ofw_print_number - lwz %r3,144(%r1) - addi %r3,%r3,1 - stw %r3,144(%r1) - b done_dump - -dump_optional: - bl ofw_print_space - bl ofw_print_space - lwz %r3,152(%r1) - lwz %r3,0(%r3) - bl ofw_print_number - bl ofw_print_space - lwz %r3,152(%r1) - lwz %r3,4(%r3) - bl ofw_print_number - bl ofw_print_space - lwz %r3,152(%r1) - lwz %r3,8(%r3) - bl ofw_print_number - bl ofw_print_space - lwz %r3,152(%r1) - lwz %r3,12(%r3) - bl ofw_print_number - bl ofw_print_space -done_dump: - bl ofw_print_eol - b ofw_register_loop - -ofw_register_special: - /* LR */ - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_reg_lr - _start - bl ofw_print_string - bl ofw_print_space - lwz %r3,128(%r1) - bl ofw_print_number - bl ofw_print_eol - - /* CR */ - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_reg_cr - _start - bl ofw_print_string - bl ofw_print_space - lwz %r3,132(%r1) - bl ofw_print_number - bl ofw_print_eol - - /* CTR */ - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_reg_ctr - _start - bl ofw_print_string - bl ofw_print_space - lwz %r3,136(%r1) - bl ofw_print_number - bl ofw_print_eol - - /* MSR */ - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_reg_msr - _start - bl ofw_print_string - bl ofw_print_space - lwz %r3,140(%r1) - bl ofw_print_number - bl ofw_print_eol - - /* Return */ - lwz %r0,128(%r1) - mtlr %r0 - - lwz %r0,0(%r1) - lwz %r2,8(%r1) - lwz %r3,12(%r1) - - lwz %r4,16(%r1) - lwz %r5,20(%r1) - lwz %r6,24(%r1) - lwz %r7,28(%r1) - - addi %r1,%r1,0xa0 - - blr - -ofw_finddevice_hook: - subi %r1,%r1,32 - stw %r3,0(%r1) - mflr %r3 - stw %r3,4(%r1) - lwz %r3,0(%r1) - bl ofw_finddevice - stw %r3,0(%r1) - lwz %r3,4(%r1) - mtlr %r3 - lwz %r3,0(%r1) - addi %r1,%r1,32 - blr - -ofw_finddevice: - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,32 - - /* Store r8, r9, lr */ - stw %r8,20(%r1) - stw %r9,24(%r1) - mflr %r8 - stw %r8,28(%r1) - - /* Get finddevice name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_finddevice_name - _start - stw %r9,0(%r1) - - /* 1 Argument and 1 return */ - li %r9,1 - stw %r9,4(%r1) - stw %r9,8(%r1) - - stw %r3,12(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - lwz %r3,16(%r1) - - /* Restore registers */ - lwz %r8,28(%r1) - mtlr %r8 - lwz %r9,24(%r1) - lwz %r8,20(%r1) - - addi %r1,%r1,32 - - /* Return */ - blr - -ofw_open: - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,32 - - /* Store r8, r9, lr */ - stw %r8,20(%r1) - stw %r9,24(%r1) - mflr %r8 - stw %r8,28(%r1) - - /* Get open name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_open_name - _start - stw %r9,0(%r1) - - /* 1 Argument and 1 return */ - li %r9,1 - stw %r9,4(%r1) - stw %r9,8(%r1) - - stw %r3,12(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - lwz %r3,16(%r1) - - /* Restore registers */ - lwz %r8,28(%r1) - mtlr %r8 - lwz %r9,24(%r1) - lwz %r8,20(%r1) - - addi %r1,%r1,32 - - /* Return */ - blr - -ofw_getprop_hook: - /* Reserve stack space: - * 32 bytes for the ofw call - * 12 bytes for r8, r9, lr - */ - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,48 - - /* Store r8, r9, lr */ - stw %r8,32(%r1) - stw %r9,36(%r1) - mflr %r8 - stw %r8,40(%r1) - - /* Get getprop name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_getprop_name - _start - stw %r9,0(%r1) - - /* 4 Argument and 1 return */ - li %r9,4 - stw %r9,4(%r1) - li %r9,1 - stw %r9,8(%r1) - - stw %r3,12(%r1) /* Package */ - stw %r4,16(%r1) /* Property */ - stw %r5,20(%r1) /* Return buffer */ - stw %r6,24(%r1) /* Buffer size */ - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - /* Workaround to a wierd crash ... not sure what causes it. - * XXX investigate me */ - bl ofw_print_nothing - - /* Return */ - lwz %r3,28(%r1) - - /* Restore registers */ - lwz %r8,40(%r1) - mtlr %r8 - lwz %r9,36(%r1) - lwz %r8,32(%r1) - - addi %r1,%r1,48 - - /* Return */ - blr - -ofw_getprop: - /* Reserve stack space: - * 32 bytes for the ofw call - * 12 bytes for r8, r9, lr - */ - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,48 - - /* Store r8, r9, lr */ - stw %r8,32(%r1) - stw %r9,36(%r1) - mflr %r8 - stw %r8,40(%r1) - - /* Get getprop name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_getprop_name - _start - stw %r9,0(%r1) - - /* 4 Argument and 1 return */ - li %r9,4 - stw %r9,4(%r1) - li %r9,1 - stw %r9,8(%r1) - - stw %r3,12(%r1) /* Package */ - stw %r4,16(%r1) /* Property */ - stw %r5,20(%r1) /* Return buffer */ - stw %r6,24(%r1) /* Buffer size */ - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - /* Return */ - lwz %r3,28(%r1) - - /* Restore registers */ - lwz %r8,40(%r1) - - mtlr %r8 - lwz %r9,36(%r1) - lwz %r8,32(%r1) - - addi %r1,%r1,48 - - /* Return */ - blr - -ofw_write: - /* Reserve stack space: - * 28 bytes for the ofw call - * 12 bytes for r8, r9, lr - */ - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,48 - - nop - - /* Store r8, r9, lr */ - stw %r8,28(%r1) - stw %r9,32(%r1) - mflr %r8 - stw %r8,36(%r1) - - /* Get write name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_write_name - _start - stw %r9,0(%r1) - - /* 3 Arguments and 1 return */ - li %r9,3 - stw %r9,4(%r1) - li %r9,1 - stw %r9,8(%r1) - - stw %r3,12(%r1) - stw %r4,16(%r1) - stw %r5,20(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - /* Return */ - lwz %r3,24(%r1) - - /* Restore registers */ - lwz %r8,36(%r1) - mtlr %r8 - lwz %r9,32(%r1) - lwz %r8,28(%r1) - - addi %r1,%r1,48 - - /* Return */ - blr - -ofw_read: - /* Reserve stack space: - * 28 bytes for the ofw call - * 12 bytes for r8, r9, lr - */ - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,48 - - nop - - /* Store r8, r9, lr */ - stw %r8,28(%r1) - stw %r9,32(%r1) - mflr %r8 - stw %r8,36(%r1) - - /* Get read name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_read_name - _start - stw %r9,0(%r1) - - /* 3 Arguments and 1 return */ - li %r9,3 - stw %r9,4(%r1) - li %r9,1 - stw %r9,8(%r1) - - stw %r3,12(%r1) - stw %r4,16(%r1) - stw %r5,20(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - /* Return */ - lwz %r3,24(%r1) - - /* Restore registers */ - lwz %r8,36(%r1) - mtlr %r8 - lwz %r9,32(%r1) - lwz %r8,28(%r1) - - addi %r1,%r1,48 - - /* Return */ - blr - -ofw_exit: - lis %r3,0xe00000@ha - addi %r3,%r3,freeldr_halt - _start - - bl ofw_print_string -/* -ofw_exit_loop: - b ofw_exit_loop -*/ - /* Load the exit name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_exit_name - _start - stw %r9,0(%r1) - - /* Zero args, zero returns */ - xor %r9,%r9,%r9 - stw %r9,4(%r1) - stw %r9,8(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - mr %r3,%r1 - - /* Fire */ - blrl - /* No return from exit */ - -ofw_child: - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,32 - - /* Store r8, r9, lr */ - stw %r8,20(%r1) - stw %r9,24(%r1) - mflr %r8 - stw %r8,28(%r1) - - /* Get child name */ - lis %r8,0xe00000@ha - addi %r9,%r8,ofw_child_name - _start - stw %r9,0(%r1) - - /* 1 Argument and 1 return */ - li %r9,1 - stw %r9,4(%r1) - stw %r9,8(%r1) - - stw %r3,12(%r1) - - /* Load up the call address */ - lwz %r9,ofw_call_addr - _start(%r8) - mtlr %r9 - - /* Set argument */ - mr %r3,%r1 - - /* Fire */ - blrl - - lwz %r3,16(%r1) - - /* Restore registers */ - lwz %r8,28(%r1) - mtlr %r8 - lwz %r9,24(%r1) - lwz %r8,20(%r1) - - addi %r1,%r1,32 - - /* Return */ - blr - -ofw_peer: - /* Reserve stack space ... - * 20 bytes for the ofw call, - * r8, r9, and lr */ - subi %r1,%r1,32 - [truncated at 1000 lines; 247 more skipped]
18 years, 10 months
1
0
0
0
[sedwards] 65: reformat
by sedwards@svn.reactos.org
reformat Modified: trunk/reactos/boot/freeldr/fdebug/fdebug.c _____ Modified: trunk/reactos/boot/freeldr/fdebug/fdebug.c --- trunk/reactos/boot/freeldr/fdebug/fdebug.c 2006-01-31 18:58:49 UTC (rev 64) +++ trunk/reactos/boot/freeldr/fdebug/fdebug.c 2006-01-31 19:04:20 UTC (rev 65) @@ -13,68 +13,68 @@ #define MAX_LOADSTRING 100 // Global Variables: -HINSTANCE hInst; // current instance -TCHAR szTitle[MAX_LOADSTRING]; // The title bar text -TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text -HWND hMainWnd; // The main window handle -HWND hDisplayWnd; // The window to display the incoming data -HWND hEditWnd; // The edit window to get input from the user -TCHAR strComPort[MAX_PATH] = TEXT("COM1"); // The COM port to use -TCHAR strBaudRate[MAX_PATH] = TEXT("115200"); // The baud rate to use -TCHAR strCaptureFileName[MAX_PATH] = TEXT(""); // The file name to capture to -BOOL bConnected = FALSE; // Tells us if we are currently connected -BOOL bCapturing = FALSE; // Tells us if we are currently capturing data -BOOL bLocalEcho = FALSE; // Tells us if local echo is currently enabled -HANDLE hCaptureFile; // Handle to the capture file -DWORD dwThreadId = 0; // Thread id of RS232 communication thread +HINSTANCE hInst; // current instance +TCHAR szTitle[MAX_LOADSTRING]; // The title bar text +TCHAR szWindowClass[MAX_LOADSTRING]; // The title bar text +HWND hMainWnd; // The main window handle +HWND hDisplayWnd; // The window to display the incoming data +HWND hEditWnd; // The edit window to get input from the user +TCHAR strComPort[MAX_PATH] = TEXT("COM1"); // The COM port to use +TCHAR strBaudRate[MAX_PATH] = TEXT("115200"); // The baud rate to use +TCHAR strCaptureFileName[MAX_PATH] = TEXT(""); // The file name to capture to +BOOL bConnected = FALSE; // Tells us if we are currently connected +BOOL bCapturing = FALSE; // Tells us if we are currently capturing data +BOOL bLocalEcho = FALSE; // Tells us if local echo is currently enabled +HANDLE hCaptureFile; // Handle to the capture file +DWORD dwThreadId = 0; // Thread id of RS232 communication thread // Foward declarations of functions included in this code module: -ATOM MyRegisterClass(HINSTANCE hInstance); -BOOL InitInstance(HINSTANCE, int); -LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); -LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); -LRESULT CALLBACK ConnectionDialogProc(HWND, UINT, WPARAM, LPARAM); -LRESULT CALLBACK CaptureDialogProc(HWND, UINT, WPARAM, LPARAM); -VOID EnableConnectMenuItem(BOOL Enable); -VOID EnableDisconnectMenuItem(BOOL Enable); -VOID EnableStartCaptureMenuItem(BOOL Enable); -VOID EnableStopCaptureMenuItem(BOOL Enable); -VOID CheckLocalEchoMenuItem(BOOL Checked); -VOID Rs232Thread(VOID* Parameter); +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +LRESULT CALLBACK About(HWND, UINT, WPARAM, LPARAM); +LRESULT CALLBACK ConnectionDialogProc(HWND, UINT, WPARAM, LPARAM); +LRESULT CALLBACK CaptureDialogProc(HWND, UINT, WPARAM, LPARAM); +VOID EnableConnectMenuItem(BOOL Enable); +VOID EnableDisconnectMenuItem(BOOL Enable); +VOID EnableStartCaptureMenuItem(BOOL Enable); +VOID EnableStopCaptureMenuItem(BOOL Enable); +VOID CheckLocalEchoMenuItem(BOOL Checked); +VOID Rs232Thread(VOID* Parameter); int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { - // TODO: Place code here. - MSG msg; - HACCEL hAccelTable; + // TODO: Place code here. + MSG msg; + HACCEL hAccelTable; - // Initialize global strings - LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); - LoadString(hInstance, IDC_FDEBUG, szWindowClass, MAX_LOADSTRING); - MyRegisterClass(hInstance); + // Initialize global strings + LoadString(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadString(hInstance, IDC_FDEBUG, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); - // Perform application initialization: - if (!InitInstance (hInstance, nCmdShow)) - { - return FALSE; - } + // Perform application initialization: + if (!InitInstance (hInstance, nCmdShow)) + { + return FALSE; + } - hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_FDEBUG); + hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_FDEBUG); - // Main message loop: - while (GetMessage(&msg, NULL, 0, 0)) - { - if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) - { - TranslateMessage(&msg); - DispatchMessage(&msg); - } - } + // Main message loop: + while (GetMessage(&msg, NULL, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } - return msg.wParam; + return msg.wParam; } @@ -94,23 +94,23 @@ // ATOM MyRegisterClass(HINSTANCE hInstance) { - WNDCLASSEX wcex; + WNDCLASSEX wcex; - wcex.cbSize = sizeof(WNDCLASSEX); + wcex.cbSize = sizeof(WNDCLASSEX); - wcex.style = CS_HREDRAW | CS_VREDRAW; - wcex.lpfnWndProc = (WNDPROC)WndProc; - wcex.cbClsExtra = 0; - wcex.cbWndExtra = 0; - wcex.hInstance = hInstance; - wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_FDEBUG); - wcex.hCursor = LoadCursor(NULL, IDC_ARROW); - wcex.hbrBackground = NULL;//(HBRUSH)(COLOR_WINDOW+1); - wcex.lpszMenuName = (LPCSTR)IDC_FDEBUG; - wcex.lpszClassName = szWindowClass; - wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = (WNDPROC)WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, (LPCTSTR)IDI_FDEBUG); + wcex.hCursor = LoadCursor(NULL, IDC_ARROW); + wcex.hbrBackground = NULL;//(HBRUSH)(COLOR_WINDOW+1); + wcex.lpszMenuName = (LPCSTR)IDC_FDEBUG; + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, (LPCTSTR)IDI_SMALL); - return RegisterClassEx(&wcex); + return RegisterClassEx(&wcex); } // @@ -147,408 +147,408 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { - int wmId, wmEvent; - PAINTSTRUCT ps; - HDC hdc; - RECT rc; - TCHAR WndText[MAX_PATH]; - DWORD Index; - NONCLIENTMETRICS ncm; - HFONT hFont; + int wmId, wmEvent; + PAINTSTRUCT ps; + HDC hdc; + RECT rc; + TCHAR WndText[MAX_PATH]; + DWORD Index; + NONCLIENTMETRICS ncm; + HFONT hFont; - switch (message) - { - case WM_CREATE: + switch (message) + { + case WM_CREATE: - hEditWnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("EDIT"), "", WS_CHILD|WS_VISIBLE|WS_VSCROLL|ES_AUTOHSCROLL|ES_LEFT|ES_MULTILINE, 0, 0, 0, 0, hWnd, NULL, hInst, NULL); - hDisplayWnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("EDIT"), "", WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE, 0, 0, 0, 0, hWnd, NULL, hInst, NULL); + hEditWnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("EDIT"), "", WS_CHILD|WS_VISIBLE|WS_VSCROLL|ES_AUTOHSCROLL|ES_LEFT|ES_MULTILINE, 0, 0, 0, 0, hWnd, NULL, hInst, NULL); + hDisplayWnd = CreateWindowEx(WS_EX_CLIENTEDGE, TEXT("EDIT"), "", WS_CHILD|WS_VISIBLE|WS_HSCROLL|WS_VSCROLL|ES_MULTILINE, 0, 0, 0, 0, hWnd, NULL, hInst, NULL); - memset(&ncm, 0, sizeof(NONCLIENTMETRICS)); - ncm.cbSize = sizeof(NONCLIENTMETRICS); - SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0); + memset(&ncm, 0, sizeof(NONCLIENTMETRICS)); + ncm.cbSize = sizeof(NONCLIENTMETRICS); + SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0); - hFont = CreateFontIndirect(&ncm.lfMessageFont); + hFont = CreateFontIndirect(&ncm.lfMessageFont); - SendMessage(hEditWnd, WM_SETFONT, (WPARAM)hFont, TRUE); - SendMessage(hDisplayWnd, WM_SETFONT, (WPARAM)hFont, TRUE); + SendMessage(hEditWnd, WM_SETFONT, (WPARAM)hFont, TRUE); + SendMessage(hDisplayWnd, WM_SETFONT, (WPARAM)hFont, TRUE); - break; - case WM_COMMAND: - wmId = LOWORD(wParam); - wmEvent = HIWORD(wParam); + break; + case WM_COMMAND: + wmId = LOWORD(wParam); + wmEvent = HIWORD(wParam); - if (lParam == (LPARAM)hEditWnd && wmEvent == EN_CHANGE) - { - GetWindowText(hEditWnd, WndText, MAX_PATH); + if (lParam == (LPARAM)hEditWnd && wmEvent == EN_CHANGE) + { + GetWindowText(hEditWnd, WndText, MAX_PATH); - if (_tcslen(WndText) > 0) - { - SetWindowText(hEditWnd, TEXT("")); + if (_tcslen(WndText) > 0) + { + SetWindowText(hEditWnd, TEXT("")); - if (!bConnected) - { - MessageBox(hWnd, TEXT("You are not currently connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); - break; - } + if (!bConnected) + { + MessageBox(hWnd, TEXT("You are not currently connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); + break; + } - for (Index=0; Index<_tcslen(WndText); Index++) - { - if (dwThreadId != 0) - { - PostThreadMessage(dwThreadId, WM_CHAR, (WPARAM)WndText[Index], (LPARAM)0); - } - } - } - } + for (Index=0; Index<_tcslen(WndText); Index++) + { + if (dwThreadId != 0) + { + PostThreadMessage(dwThreadId, WM_CHAR, (WPARAM)WndText[Index], (LPARAM)0); + } + } + } + } - // Parse the menu selections: - switch (wmId) - { - case IDM_ABOUT: - DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); - break; - case IDM_EXIT: - DestroyWindow(hWnd); - break; - case ID_FILE_CONNECT: - if (bConnected) - { - MessageBox(hWnd, TEXT("You are already connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); - } - else - { - if (DialogBox(hInst, (LPCTSTR)IDD_CONNECTION, hWnd, (DLGPROC)ConnectionDialogProc) == IDOK) - { - bConnected = TRUE; - EnableDisconnectMenuItem(TRUE); - EnableConnectMenuItem(FALSE); - _beginthread(Rs232Thread, 0, NULL); - } - } - break; - case ID_FILE_DISCONNECT: - if (bConnected) - { - bConnected = FALSE; - EnableDisconnectMenuItem(FALSE); - EnableConnectMenuItem(TRUE); - } - else - { - MessageBox(hWnd, TEXT("You are not currently connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); - } - break; - case ID_FILE_STARTCAPTURE: - if (DialogBox(hInst, (LPCTSTR)IDD_CAPTURE, hWnd, (DLGPROC)CaptureDialogProc) == IDOK) - { - bCapturing = TRUE; - EnableStopCaptureMenuItem(TRUE); - EnableStartCaptureMenuItem(FALSE); - hCaptureFile = CreateFile(strCaptureFileName, FILE_APPEND_DATA, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); - } - break; - case ID_FILE_STOPCAPTURE: - if (bCapturing) - { - bCapturing = FALSE; - EnableStopCaptureMenuItem(FALSE); - EnableStartCaptureMenuItem(TRUE); - CloseHandle(hCaptureFile); - hCaptureFile = NULL; - } - break; - case ID_FILE_LOCALECHO: - if (bLocalEcho) - { - bLocalEcho = FALSE; - CheckLocalEchoMenuItem(bLocalEcho); - } - else - { - bLocalEcho = TRUE; - CheckLocalEchoMenuItem(bLocalEcho); - } - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); - } - break; - case WM_PAINT: - hdc = BeginPaint(hWnd, &ps); - EndPaint(hWnd, &ps); - break; - case WM_SIZE: + // Parse the menu selections: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, (LPCTSTR)IDD_ABOUTBOX, hWnd, (DLGPROC)About); + break; + case IDM_EXIT: + DestroyWindow(hWnd); + break; + case ID_FILE_CONNECT: + if (bConnected) + { + MessageBox(hWnd, TEXT("You are already connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); + } + else + { + if (DialogBox(hInst, (LPCTSTR)IDD_CONNECTION, hWnd, (DLGPROC)ConnectionDialogProc) == IDOK) + { + bConnected = TRUE; + EnableDisconnectMenuItem(TRUE); + EnableConnectMenuItem(FALSE); + _beginthread(Rs232Thread, 0, NULL); + } + } + break; + case ID_FILE_DISCONNECT: + if (bConnected) + { + bConnected = FALSE; + EnableDisconnectMenuItem(FALSE); + EnableConnectMenuItem(TRUE); + } + else + { + MessageBox(hWnd, TEXT("You are not currently connected!"), TEXT("Error"), MB_OK|MB_ICONSTOP); + } + break; + case ID_FILE_STARTCAPTURE: + if (DialogBox(hInst, (LPCTSTR)IDD_CAPTURE, hWnd, (DLGPROC)CaptureDialogProc) == IDOK) + { + bCapturing = TRUE; + EnableStopCaptureMenuItem(TRUE); + EnableStartCaptureMenuItem(FALSE); + hCaptureFile = CreateFile(strCaptureFileName, FILE_APPEND_DATA, FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + } + break; + case ID_FILE_STOPCAPTURE: + if (bCapturing) + { + bCapturing = FALSE; + EnableStopCaptureMenuItem(FALSE); + EnableStartCaptureMenuItem(TRUE); + CloseHandle(hCaptureFile); + hCaptureFile = NULL; + } + break; + case ID_FILE_LOCALECHO: + if (bLocalEcho) + { + bLocalEcho = FALSE; + CheckLocalEchoMenuItem(bLocalEcho); + } + else + { + bLocalEcho = TRUE; + CheckLocalEchoMenuItem(bLocalEcho); + } + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + break; + case WM_PAINT: + hdc = BeginPaint(hWnd, &ps); + EndPaint(hWnd, &ps); + break; + case WM_SIZE: - GetClientRect(hWnd, &rc); + GetClientRect(hWnd, &rc); - MoveWindow(hDisplayWnd, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top - 20, TRUE); - MoveWindow(hEditWnd, rc.left, rc.bottom - 20, rc.right - rc.left, 20, TRUE); + MoveWindow(hDisplayWnd, rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top - 20, TRUE); + MoveWindow(hEditWnd, rc.left, rc.bottom - 20, rc.right - rc.left, 20, TRUE); - break; - case WM_DESTROY: - PostQuitMessage(0); - break; - default: - return DefWindowProc(hWnd, message, wParam, lParam); + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); } return 0; } LRESULT CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - HWND hLicenseEditWnd; - TCHAR strLicense[0x1000]; + HWND hLicenseEditWnd; + TCHAR strLicense[0x1000]; - switch (message) - { - case WM_INITDIALOG: + switch (message) + { + case WM_INITDIALOG: - hLicenseEditWnd = GetDlgItem(hDlg, IDC_LICENSE_EDIT); + hLicenseEditWnd = GetDlgItem(hDlg, IDC_LICENSE_EDIT); - LoadString(hInst, IDS_LICENSE, strLicense, 0x1000); + LoadString(hInst, IDS_LICENSE, strLicense, 0x1000); - SetWindowText(hLicenseEditWnd, strLicense); + SetWindowText(hLicenseEditWnd, strLicense); - return TRUE; + return TRUE; - case WM_COMMAND: - if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) - { - EndDialog(hDlg, LOWORD(wParam)); - return TRUE; - } - break; - } + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return TRUE; + } + break; + } return FALSE; } LRESULT CALLBACK ConnectionDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - switch (message) - { - case WM_INITDIALOG: + switch (message) + { + case WM_INITDIALOG: - SetWindowText(GetDlgItem(hDlg, IDC_COMPORT), strComPort); - SetWindowText(GetDlgItem(hDlg, IDC_BAUTRATE), strBaudRate); + SetWindowText(GetDlgItem(hDlg, IDC_COMPORT), strComPort); + SetWindowText(GetDlgItem(hDlg, IDC_BAUTRATE), strBaudRate); - return TRUE; + return TRUE; - case WM_COMMAND: - if (LOWORD(wParam) == IDOK) - { - GetWindowText(GetDlgItem(hDlg, IDC_COMPORT), strComPort, MAX_PATH); - GetWindowText(GetDlgItem(hDlg, IDC_BAUTRATE), strBaudRate, MAX_PATH); - } + case WM_COMMAND: + if (LOWORD(wParam) == IDOK) + { + GetWindowText(GetDlgItem(hDlg, IDC_COMPORT), strComPort, MAX_PATH); + GetWindowText(GetDlgItem(hDlg, IDC_BAUTRATE), strBaudRate, MAX_PATH); + } - if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) - { - EndDialog(hDlg, LOWORD(wParam)); - return TRUE; - } - break; - } + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return TRUE; + } + break; + } return FALSE; } LRESULT CALLBACK CaptureDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { - OPENFILENAME ofn; + OPENFILENAME ofn; - switch (message) - { - case WM_INITDIALOG: + switch (message) + { + case WM_INITDIALOG: - SetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName); + SetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName); - return TRUE; + return TRUE; - case WM_COMMAND: - if (LOWORD(wParam) == IDC_BROWSE) - { - memset(&ofn, 0, sizeof(OPENFILENAME)); - ofn.lStructSize = sizeof(OPENFILENAME); - ofn.hwndOwner = hDlg; - ofn.hInstance = hInst; - ofn.lpstrFilter = NULL; - ofn.lpstrCustomFilter = NULL; - ofn.nMaxCustFilter = 0; - ofn.nFilterIndex = 0; - ofn.lpstrFile = strCaptureFileName; - ofn.nMaxFile = MAX_PATH; - ofn.lpstrFileTitle = NULL; - ofn.nMaxFileTitle = 0; - ofn.lpstrInitialDir = NULL; - ofn.lpstrTitle = NULL; - ofn.Flags = OFN_HIDEREADONLY|OFN_NOREADONLYRETURN; + case WM_COMMAND: + if (LOWORD(wParam) == IDC_BROWSE) + { + memset(&ofn, 0, sizeof(OPENFILENAME)); + ofn.lStructSize = sizeof(OPENFILENAME); + ofn.hwndOwner = hDlg; + ofn.hInstance = hInst; + ofn.lpstrFilter = NULL; + ofn.lpstrCustomFilter = NULL; + ofn.nMaxCustFilter = 0; + ofn.nFilterIndex = 0; + ofn.lpstrFile = strCaptureFileName; + ofn.nMaxFile = MAX_PATH; + ofn.lpstrFileTitle = NULL; + ofn.nMaxFileTitle = 0; + ofn.lpstrInitialDir = NULL; + ofn.lpstrTitle = NULL; + ofn.Flags = OFN_HIDEREADONLY|OFN_NOREADONLYRETURN; - if (GetOpenFileName(&ofn)) - { - SetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName); - } - } + if (GetOpenFileName(&ofn)) + { + SetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName); + } + } - if (LOWORD(wParam) == IDOK) - { - GetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName, MAX_PATH); - } + if (LOWORD(wParam) == IDOK) + { + GetWindowText(GetDlgItem(hDlg, IDC_CAPTUREFILENAME), strCaptureFileName, MAX_PATH); + } - if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) - { - EndDialog(hDlg, LOWORD(wParam)); - return TRUE; - } - break; - } + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return TRUE; + } + break; + } return FALSE; } VOID EnableConnectMenuItem(BOOL Enable) { - HMENU hMenuBar; - HMENU hFileMenu; + HMENU hMenuBar; + HMENU hFileMenu; - hMenuBar = GetMenu(hMainWnd); - hFileMenu = GetSubMenu(hMenuBar, 0); + hMenuBar = GetMenu(hMainWnd); + hFileMenu = GetSubMenu(hMenuBar, 0); - if (Enable) - { - EnableMenuItem(hFileMenu, ID_FILE_CONNECT, MF_BYCOMMAND|MF_ENABLED); - } - else - { - EnableMenuItem(hFileMenu, ID_FILE_CONNECT, MF_BYCOMMAND|MF_GRAYED); - } + if (Enable) + { + EnableMenuItem(hFileMenu, ID_FILE_CONNECT, MF_BYCOMMAND|MF_ENABLED); + } + else + { + EnableMenuItem(hFileMenu, ID_FILE_CONNECT, MF_BYCOMMAND|MF_GRAYED); + } } VOID EnableDisconnectMenuItem(BOOL Enable) { - HMENU hMenuBar; - HMENU hFileMenu; + HMENU hMenuBar; + HMENU hFileMenu; - hMenuBar = GetMenu(hMainWnd); - hFileMenu = GetSubMenu(hMenuBar, 0); + hMenuBar = GetMenu(hMainWnd); + hFileMenu = GetSubMenu(hMenuBar, 0); - if (Enable) - { - EnableMenuItem(hFileMenu, ID_FILE_DISCONNECT, MF_BYCOMMAND|MF_ENABLED); - } - else - { - EnableMenuItem(hFileMenu, ID_FILE_DISCONNECT, MF_BYCOMMAND|MF_GRAYED); - } + if (Enable) + { + EnableMenuItem(hFileMenu, ID_FILE_DISCONNECT, MF_BYCOMMAND|MF_ENABLED); + } + else + { + EnableMenuItem(hFileMenu, ID_FILE_DISCONNECT, MF_BYCOMMAND|MF_GRAYED); + } } VOID EnableStartCaptureMenuItem(BOOL Enable) { - HMENU hMenuBar; - HMENU hFileMenu; + HMENU hMenuBar; + HMENU hFileMenu; - hMenuBar = GetMenu(hMainWnd); - hFileMenu = GetSubMenu(hMenuBar, 0); + hMenuBar = GetMenu(hMainWnd); + hFileMenu = GetSubMenu(hMenuBar, 0); - if (Enable) - { - EnableMenuItem(hFileMenu, ID_FILE_STARTCAPTURE, MF_BYCOMMAND|MF_ENABLED); - } - else - { - EnableMenuItem(hFileMenu, ID_FILE_STARTCAPTURE, MF_BYCOMMAND|MF_GRAYED); - } + if (Enable) + { + EnableMenuItem(hFileMenu, ID_FILE_STARTCAPTURE, MF_BYCOMMAND|MF_ENABLED); + } + else + { + EnableMenuItem(hFileMenu, ID_FILE_STARTCAPTURE, MF_BYCOMMAND|MF_GRAYED); + } } VOID EnableStopCaptureMenuItem(BOOL Enable) { - HMENU hMenuBar; - HMENU hFileMenu; + HMENU hMenuBar; + HMENU hFileMenu; - hMenuBar = GetMenu(hMainWnd); - hFileMenu = GetSubMenu(hMenuBar, 0); + hMenuBar = GetMenu(hMainWnd); + hFileMenu = GetSubMenu(hMenuBar, 0); - if (Enable) - { - EnableMenuItem(hFileMenu, ID_FILE_STOPCAPTURE, MF_BYCOMMAND|MF_ENABLED); - } - else - { - EnableMenuItem(hFileMenu, ID_FILE_STOPCAPTURE, MF_BYCOMMAND|MF_GRAYED); - } + if (Enable) + { + EnableMenuItem(hFileMenu, ID_FILE_STOPCAPTURE, MF_BYCOMMAND|MF_ENABLED); + } + else + { + EnableMenuItem(hFileMenu, ID_FILE_STOPCAPTURE, MF_BYCOMMAND|MF_GRAYED); + } } VOID CheckLocalEchoMenuItem(BOOL Checked) { - HMENU hMenuBar; - HMENU hFileMenu; + HMENU hMenuBar; + HMENU hFileMenu; - hMenuBar = GetMenu(hMainWnd); - hFileMenu = GetSubMenu(hMenuBar, 0); + hMenuBar = GetMenu(hMainWnd); + hFileMenu = GetSubMenu(hMenuBar, 0); - if (Checked) - { - CheckMenuItem(hFileMenu, ID_FILE_LOCALECHO, MF_BYCOMMAND|MF_CHECKED); - } - else - { - CheckMenuItem(hFileMenu, ID_FILE_LOCALECHO, MF_BYCOMMAND|MF_UNCHECKED); - } + if (Checked) + { + CheckMenuItem(hFileMenu, ID_FILE_LOCALECHO, MF_BYCOMMAND|MF_CHECKED); + } + else + { + CheckMenuItem(hFileMenu, ID_FILE_LOCALECHO, MF_BYCOMMAND|MF_UNCHECKED); + } } VOID Rs232Thread(VOID* Parameter) { - BYTE Byte; - TCHAR String[MAX_PATH]; - MSG msg; - DWORD dwNumberOfBytesWritten; + BYTE Byte; + TCHAR String[MAX_PATH]; + MSG msg; + DWORD dwNumberOfBytesWritten; - dwThreadId = GetCurrentThreadId(); + dwThreadId = GetCurrentThreadId(); - if (!Rs232OpenPortWin32(strComPort)) - { - MessageBox(hMainWnd, TEXT("Error opening port!"), TEXT("Error"), MB_OK|MB_ICONSTOP); - bConnected = FALSE; - return; - } + if (!Rs232OpenPortWin32(strComPort)) + { + MessageBox(hMainWnd, TEXT("Error opening port!"), TEXT("Error"), MB_OK|MB_ICONSTOP); + bConnected = FALSE; + return; + } - _stprintf(String, TEXT("%s,n,8,1"), strBaudRate); - if (!Rs232ConfigurePortWin32(String)) - { - MessageBox(hMainWnd, TEXT("Error configuring port!"), TEXT("Error"), MB_OK|MB_ICONSTOP); - bConnected = FALSE; - return; - } + _stprintf(String, TEXT("%s,n,8,1"), strBaudRate); + if (!Rs232ConfigurePortWin32(String)) + { + MessageBox(hMainWnd, TEXT("Error configuring port!"), TEXT("Error"), MB_OK|MB_ICONSTOP); + bConnected = FALSE; + return; + } - while (bConnected) - { - if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) - { - if (msg.message == WM_CHAR) - { - Rs232WriteByteWin32((BYTE)msg.wParam); + while (bConnected) + { + if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) + { + if (msg.message == WM_CHAR) + { + Rs232WriteByteWin32((BYTE)msg.wParam); - if (bLocalEcho && msg.wParam != (WPARAM)TEXT('\r')) - { - PostMessage(hDisplayWnd, WM_CHAR, (WPARAM)msg.wParam, (LPARAM)0); + if (bLocalEcho && msg.wParam != (WPARAM)TEXT('\r')) + { + PostMessage(hDisplayWnd, WM_CHAR, (WPARAM)msg.wParam, (LPARAM)0); - if (hCaptureFile) - { - WriteFile(hCaptureFile, &msg.wParam, sizeof(TCHAR), &dwNumberOfBytesWritten, NULL); - } - } - } - } + if (hCaptureFile) + { + WriteFile(hCaptureFile, &msg.wParam, sizeof(TCHAR), &dwNumberOfBytesWritten, NULL); + } + } + } + } - if (Rs232ReadByteWin32(&Byte)) - { - _stprintf(String, TEXT("%c"), Byte); + if (Rs232ReadByteWin32(&Byte)) + { + _stprintf(String, TEXT("%c"), Byte); - PostMessage(hDisplayWnd, WM_CHAR, (WPARAM)String[0], (LPARAM)0); + PostMessage(hDisplayWnd, WM_CHAR, (WPARAM)String[0], (LPARAM)0); - if (hCaptureFile) - { - WriteFile(hCaptureFile, &String[0], sizeof(TCHAR), &dwNumberOfBytesWritten, NULL); - } - } - } + if (hCaptureFile) + { + WriteFile(hCaptureFile, &String[0], sizeof(TCHAR), &dwNumberOfBytesWritten, NULL); + } + } + } - dwThreadId = 0; - Rs232ClosePortWin32(); + dwThreadId = 0; + Rs232ClosePortWin32(); }
18 years, 10 months
1
0
0
0
[sedwards] 64: added freeldr isoboot code as well as openfirmware boot code. Added freeldr debugger by Brian Palmer
by sedwards@svn.reactos.org
added freeldr isoboot code as well as openfirmware boot code. Added freeldr debugger by Brian Palmer Added: trunk/reactos/boot/freeldr/bootsect/ Added: trunk/reactos/boot/freeldr/bootsect/isoboot.asm Added: trunk/reactos/boot/freeldr/bootsect/ofwboot.s Added: trunk/reactos/boot/freeldr/fdebug/ Added: trunk/reactos/boot/freeldr/fdebug/De.rc Added: trunk/reactos/boot/freeldr/fdebug/En.rc Added: trunk/reactos/boot/freeldr/fdebug/Hu.rc Added: trunk/reactos/boot/freeldr/fdebug/Ja.rc Added: trunk/reactos/boot/freeldr/fdebug/Pl.rc Added: trunk/reactos/boot/freeldr/fdebug/Tr.rc Added: trunk/reactos/boot/freeldr/fdebug/fdebug.c Added: trunk/reactos/boot/freeldr/fdebug/fdebug.ico Added: trunk/reactos/boot/freeldr/fdebug/fdebug.rc Added: trunk/reactos/boot/freeldr/fdebug/resource.h Added: trunk/reactos/boot/freeldr/fdebug/rs232.c Added: trunk/reactos/boot/freeldr/fdebug/rs232.h _____ Added: trunk/reactos/boot/freeldr/bootsect/isoboot.asm --- trunk/reactos/boot/freeldr/bootsect/isoboot.asm 2006-01-31 07:37:05 UTC (rev 63) +++ trunk/reactos/boot/freeldr/bootsect/isoboot.asm 2006-01-31 18:58:49 UTC (rev 64) @@ -0,0 +1,1015 @@ +; ************************************************************************ **** +; +; isolinux.asm +; +; A program to boot Linux kernels off a CD-ROM using the El Torito +; boot standard in "no emulation" mode, making the entire filesystem +; available. It is based on the SYSLINUX boot loader for MS-DOS +; floppies. +; +; Copyright (C) 1994-2001 H. Peter Anvin +; +; This program is free software; you can redistribute it and/or modify +; it under the terms of the GNU General Public License as published by +; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge MA 02139, +; USA; either version 2 of the License, or (at your option) any later +; version; incorporated herein by reference. +; +; ************************************************************************ **** +; +; THIS FILE IS A MODIFIED VERSION OF ISOLINUX.ASM +; MODIFICATION DONE BY MICHAEL K TER LOUW +; LAST UPDATED 3-9-2002 +; SEE "COPYING" FOR INFORMATION ABOUT THE LICENSE THAT APPLIES TO THIS RELEASE +; +; ************************************************************************ **** +; +; This file is a modified version of ISOLINUX.ASM. +; Modification done by Eric Kohl +; Last update 04-25-2002 +; +; ************************************************************************ **** + +; Note: The Makefile builds one version with DEBUG_MESSAGES automatically. +;%define DEBUG_MESSAGES ; Uncomment to get debugging messages + +%define WAIT_FOR_KEY + + +; ------------------------------------------------------------------------ --- +; BEGIN THE BIOS/CODE/DATA SEGMENT +; ------------------------------------------------------------------------ --- + + absolute 0400h +serial_base resw 4 ; Base addresses for 4 serial ports + absolute 0413h +BIOS_fbm resw 1 ; Free Base Memory (kilobytes) + absolute 046Ch +BIOS_timer resw 1 ; Timer ticks + absolute 0472h +BIOS_magic resw 1 ; BIOS reset magic + absolute 0484h +BIOS_vidrows resb 1 ; Number of screen rows + +; +; Memory below this point is reserved for the BIOS and the MBR +; + absolute 1000h +trackbuf resb 8192 ; Track buffer goes here +trackbufsize equ $-trackbuf +; trackbuf ends at 3000h + + struc open_file_t +file_sector resd 1 ; Sector pointer (0 = structure free) +file_left resd 1 ; Number of sectors left + endstruc + + struc dir_t +dir_lba resd 1 ; Directory start (LBA) +dir_len resd 1 ; Length in bytes +dir_clust resd 1 ; Length in clusters + endstruc + + +MAX_OPEN_LG2 equ 2 ; log2(Max number of open files) +MAX_OPEN equ (1 << MAX_OPEN_LG2) +SECTORSIZE_LG2 equ 11 ; 2048 bytes/sector (El Torito requirement) +SECTORSIZE equ (1 << SECTORSIZE_LG2) +CR equ 13 ; Carriage Return +LF equ 10 ; Line Feed +retry_count equ 6 ; How patient are we with the BIOS? + + + + absolute 5000h ; Here we keep our BSS stuff + +DriveNo resb 1 ; CD-ROM BIOS drive number +DiskError resb 1 ; Error code for disk I/O +RetryCount resb 1 ; Used for disk access retries +TimeoutCount resb 1 ; Timeout counter +ISOFlags resb 1 ; Flags for ISO directory search +RootDir resb dir_t_size ; Root directory +CurDir resb dir_t_size ; Current directory +ISOFileName resb 64 ; ISO filename canonicalization buffer +ISOFileNameEnd equ $ + + + alignb open_file_t_size +Files resb MAX_OPEN*open_file_t_size + + + + section .text + org 7000h + +start: + cli ; Disable interrupts + xor ax, ax ; ax = segment zero + mov ss, ax ; Initialize stack segment + mov sp, start ; Set up stack + mov ds, ax ; Initialize other segment registers + mov es, ax + mov fs, ax + mov gs, ax + sti ; Enable interrupts + cld ; Increment pointers + + mov cx, 2048 >> 2 ; Copy the bootsector + mov si, 0x7C00 ; from 0000:7C00 + mov di, 0x7000 ; to 0000:7000 + rep movsd ; copy the program + jmp 0:relocate ; jump into relocated code + +relocate: + ; Display the banner and copyright +%ifdef DEBUG_MESSAGES + mov si, isolinux_banner ; si points to hello message + call writestr ; display the message + mov si,copyright_str + call writestr +%endif + + + ; Make sure the keyboard buffer is empty +%ifdef WAIT_FOR_KEY +.kbd_buffer_test: + call pollchar + jz .kbd_buffer_empty + call getchar + jmp .kbd_buffer_test +.kbd_buffer_empty: + + ; Check if there is harddisk + pusha + mov ax, 0800h + mov dx, 0080h + int 13h + popa + jc .boot_cdrom + + ; Display the 'Press key' message and wait for a maximum of 5 seconds + call crlf + mov si, presskey_msg ; si points to 'Press key' message + call writestr ; display the message + + mov byte [TimeoutCount], 5 +.next_second: + mov eax, [BIOS_timer] ; load current tick counter + add eax, 19 ; + +.poll_again: + call pollchar + jnz .boot_cdrom + + mov ebx, [BIOS_timer] + cmp eax, ebx + jnz .poll_again + + mov si, dot_msg ; print '.' + call writestr + dec byte [TimeoutCount] ; decrement timeout counter + jz .boot_harddisk + jmp .next_second + +.boot_harddisk: + call crlf + + ; Boot first harddisk (drive 0x80) + mov ax, 0201h + mov dx, 0080h + mov cx, 0001h + mov bx, 7C00h + int 13h + jnc .go_hd + jmp kaboom +.go_hd: + mov ax, cs + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + mov dx, 0080h + + jmp 0:0x7C00 +%endif + +.boot_cdrom: +%ifdef WAIT_FOR_KEY + call crlf + call crlf +%endif + + ; Save and display the boot drive number + mov [DriveNo], dl +%ifdef DEBUG_MESSAGES + mov si, startup_msg + call writemsg + mov al, dl + call writehex2 + call crlf +%endif + + ; Now figure out what we're actually doing + ; Note: use passed-in DL value rather than 7Fh because + ; at least some BIOSes will get the wrong value otherwise + mov ax, 4B01h ; Get disk emulation status + mov dl, [DriveNo] + mov si, spec_packet + int 13h + jc near spec_query_failed ; Shouldn't happen (BIOS bug) + mov dl, [DriveNo] + cmp [sp_drive], dl ; Should contain the drive number + jne near spec_query_failed + +%ifdef DEBUG_MESSAGES + mov si, spec_ok_msg + call writemsg + mov al, byte [sp_drive] + call writehex2 + call crlf +%endif + +found_drive: + ; Get drive information + mov ah, 48h + mov dl, [DriveNo] + mov si, drive_params + int 13h + jnc params_ok + + ; mov si, nosecsize_msg No use in reporting this + ; call writemsg + +params_ok: + ; Check for the sector size (should be 2048, but + ; some BIOSes apparently think we're 512-byte media) + ; + ; FIX: We need to check what the proper behaviour + ; is for getlinsec when the BIOS thinks the sector + ; size is 512!!! For that, we need such a BIOS, though... +%ifdef DEBUG_MESSAGES + mov si, secsize_msg + call writemsg + mov ax, [dp_secsize] + call writehex4 + call crlf +%endif + + + ; + ; Clear Files structures + ; + mov di, Files + mov cx, (MAX_OPEN*open_file_t_size)/4 + xor eax, eax + rep stosd + + ; + ; Now, we need to sniff out the actual filesystem data structures. + ; mkisofs gave us a pointer to the primary volume descriptor + ; (which will be at 16 only for a single-session disk!); from the PVD + ; we should be able to find the rest of what we need to know. + ; +get_fs_structures: + mov eax, 16 ; Primary Volume Descriptor (sector 16) + mov bx, trackbuf + call getonesec + + mov eax, [trackbuf+156+2] + mov [RootDir+dir_lba],eax + mov [CurDir+dir_lba],eax +%ifdef DEBUG_MESSAGES + mov si, rootloc_msg + call writemsg + call writehex8 + call crlf +%endif + + mov eax,[trackbuf+156+10] + mov [RootDir+dir_len],eax + mov [CurDir+dir_len],eax +%ifdef DEBUG_MESSAGES + mov si, rootlen_msg + call writemsg + call writehex8 + call crlf +%endif + add eax,SECTORSIZE-1 + shr eax,SECTORSIZE_LG2 + mov [RootDir+dir_clust],eax + mov [CurDir+dir_clust],eax +%ifdef DEBUG_MESSAGES + mov si, rootsect_msg + call writemsg + call writehex8 + call crlf +%endif + + ; Look for the "REACTOS" directory, and if found, + ; make it the current directory instead of the root + ; directory. + mov di,isolinux_dir + mov al,02h ; Search for a directory + call searchdir_iso + jnz .dir_found + mov si,no_dir_msg + call writemsg + jmp kaboom + +.dir_found: + mov [CurDir+dir_len],eax + mov eax,[si+file_left] + mov [CurDir+dir_clust],eax + xor eax,eax ; Free this file pointer entry + xchg eax,[si+file_sector] + mov [CurDir+dir_lba],eax + + + mov di, isolinux_bin ; di points to Isolinux filename + call searchdir ; look for the file + jnz .isolinux_opened ; got the file + mov si, no_isolinux_msg ; si points to error message + call writemsg ; display the message + jmp kaboom ; fail boot + +.isolinux_opened: + mov di, si ; save file pointer + +%ifdef DEBUG_MESSAGES + mov si, filelen_msg + call writemsg + call writehex8 + call crlf +%endif + + mov ecx, eax ; calculate sector count + shr ecx, 11 + test eax, 0x7FF + jz .full_sector + inc ecx +.full_sector: + +%ifdef DEBUG_MESSAGES + mov eax, ecx + mov si, filesect_msg + call writemsg + call writehex8 + call crlf +%endif + + mov bx, 0x8000 ; bx = load address + mov si, di ; restore file pointer + mov cx, 0xFFFF ; load the whole file + call getfssec ; get the whole file + +%ifdef DEBUG_MESSAGES + mov si, startldr_msg + call writemsg + call crlf +%endif + + mov dl, [DriveNo] ; dl = boot drive + mov dh, 0 ; dh = boot partition + jmp 0:0x8000 ; jump into OSLoader + + + +; +; searchdir: +; +; Open a file +; +; On entry: +; DS:DI = filename +; If successful: +; ZF clear +; SI = file pointer +; DX:AX or EAX = file length in bytes +; If unsuccessful +; ZF set +; + +; +; searchdir_iso is a special entry point for ISOLINUX only. In addition +; to the above, searchdir_iso passes a file flag mask in AL. This is useful +; for searching for directories. +; +alloc_failure: + xor ax,ax ; ZF <- 1 + ret + +searchdir: + xor al,al +searchdir_iso: + mov [ISOFlags],al + call allocate_file ; Temporary file structure for directory + jnz alloc_failure + push es + push ds + pop es ; ES = DS + mov si,CurDir + cmp byte [di],'\' ; If filename begins with slash + jne .not_rooted + inc di ; Skip leading slash + mov si,RootDir ; Reference root directory instead +.not_rooted: + mov eax,[si+dir_clust] + mov [bx+file_left],eax + mov eax,[si+dir_lba] + mov [bx+file_sector],eax + mov edx,[si+dir_len] + +.look_for_slash: + mov ax,di +.scan: + mov cl,[di] + inc di + and cl,cl + jz .isfile + cmp cl,'\' + jne .scan + mov [di-1],byte 0 ; Terminate at directory name + mov cl,02h ; Search for directory + xchg cl,[ISOFlags] + push di + push cx + push word .resume ; Where to "return" to + push es +.isfile: + xchg ax,di + +.getsome: + ; Get a chunk of the directory + mov si,trackbuf + pushad + xchg bx,si + mov cx,1 ; load one sector + call getfssec + popad + +.compare: + movzx eax, byte [si] ; Length of directory entry + cmp al, 33 + jb .next_sector + mov cl, [si+25] + xor cl, [ISOFlags] + test cl, byte 8Eh ; Unwanted file attributes! + jnz .not_file + pusha + movzx cx, byte [si+32] ; File identifier length + add si, byte 33 ; File identifier offset + call iso_compare_names + popa + je .success +.not_file: + sub edx, eax ; Decrease bytes left + jbe .failure + add si, ax ; Advance pointer + +.check_overrun: + ; Did we finish the buffer? + cmp si, trackbuf+trackbufsize + jb .compare ; No, keep going + + jmp short .getsome ; Get some more directory + +.next_sector: + ; Advance to the beginning of next sector + lea ax, [si+SECTORSIZE-1] + and ax, ~(SECTORSIZE-1) + sub ax, si + jmp short .not_file ; We still need to do length checks + +.failure: +%ifdef DEBUG_MESSAGES + mov si, findfail_msg + call writemsg + call crlf +%endif + xor eax, eax ; ZF = 1 + mov [bx+file_sector], eax + pop es + ret + +.success: + mov eax, [si+2] ; Location of extent + mov [bx+file_sector], eax + mov eax, [si+10] ; Data length + push eax + add eax, SECTORSIZE-1 + shr eax, SECTORSIZE_LG2 + mov [bx+file_left], eax + pop eax + mov edx, eax + shr edx, 16 + and bx, bx ; ZF = 0 + mov si, bx + pop es + ret + +.resume: + ; We get here if we were only doing part of a lookup + ; This relies on the fact that .success returns bx == si + xchg edx, eax ; Directory length in edx + pop cx ; Old ISOFlags + pop di ; Next filename pointer + + mov byte [di-1], '\' ; restore the backslash in the filename + + mov [ISOFlags], cl ; Restore the flags + jz .failure ; Did we fail? If so fail for real! + jmp .look_for_slash ; Otherwise, next level + +; +; allocate_file: Allocate a file structure +; +; If successful: +; ZF set +; BX = file pointer +; In unsuccessful: +; ZF clear +; +allocate_file: + push cx + mov bx, Files + mov cx, MAX_OPEN +.check: + cmp dword [bx], byte 0 + je .found + add bx, open_file_t_size ; ZF = 0 + loop .check + ; ZF = 0 if we fell out of the loop +.found: + pop cx + ret + +; +; iso_compare_names: +; Compare the names DS:SI and DS:DI and report if they are +; equal from an ISO 9660 perspective. SI is the name from +; the filesystem; CX indicates its length, and ';' terminates. +; DI is expected to end with a null. +; +; Note: clobbers AX, CX, SI, DI; assumes DS == ES == base segment +; +iso_compare_names: + ; First, terminate and canonicalize input filename + push di + mov di, ISOFileName +.canon_loop: + jcxz .canon_end + lodsb + dec cx + cmp al, ';' + je .canon_end + and al, al + je .canon_end + stosb + cmp di, ISOFileNameEnd-1 ; Guard against buffer overrun + jb .canon_loop +.canon_end: + cmp di, ISOFileName + jbe .canon_done + cmp byte [di-1], '.' ; Remove terminal dots + jne .canon_done + dec di + jmp short .canon_end +.canon_done: + mov [di], byte 0 ; Null-terminate string + pop di + mov si, ISOFileName +.compare: + lodsb + mov ah, [di] + inc di + and ax, ax + jz .success ; End of string for both + and al, al ; Is either one end of string? + jz .failure ; If so, failure + and ah, ah + jz .failure + or ax, 2020h ; Convert to lower case + cmp al, ah + je .compare +.failure: + and ax, ax ; ZF = 0 (at least one will be nonzero) +.success: + ret + + + + + + + +; +; getfssec: Get multiple clusters from a file, given the file pointer. +; +; On entry: +; ES:BX -> Buffer +; SI -> File pointer +; CX -> Cluster count; 0FFFFh = until end of file +; On exit: +; SI -> File pointer (or 0 on EOF) +; CF = 1 -> Hit EOF +; +getfssec: + cmp cx, [si+file_left] + jna .ok_size + mov cx, [si+file_left] + +.ok_size: + mov bp, cx + push cx + push si + mov eax, [si+file_sector] + call getlinsec + xor ecx, ecx + pop si + pop cx + + add [si+file_sector], ecx + sub [si+file_left], ecx + ja .not_eof ; CF = 0 + + xor ecx, ecx + mov [si+file_sector], ecx ; Mark as unused + xor si,si + stc + +.not_eof: + ret + + + +; INT 13h, AX=4B01h, DL=<passed in value> failed. +; Try to scan the entire 80h-FFh from the end. +spec_query_failed: + mov si,spec_err_msg + call writemsg + + mov dl, 0FFh +.test_loop: + pusha + mov ax, 4B01h + mov si, spec_packet + mov byte [si], 13 ; Size of buffer + int 13h + popa + jc .still_broken + + mov si, maybe_msg + call writemsg + mov al, dl + call writehex2 + call crlf + + cmp byte [sp_drive], dl + jne .maybe_broken + + ; Okay, good enough... + mov si, alright_msg + call writemsg + mov [DriveNo], dl +.found_drive: + jmp found_drive + + ; Award BIOS 4.51 apparently passes garbage in sp_drive, + ; but if this was the drive number originally passed in + ; DL then consider it "good enough" +.maybe_broken: + cmp byte [DriveNo], dl + je .found_drive + +.still_broken: + dec dx + cmp dl, 80h + jnb .test_loop + +fatal_error: + mov si, nothing_msg + call writemsg + +.norge: + jmp short .norge + + + + ; Information message (DS:SI) output + ; Prefix with "isolinux: " + ; +writemsg: + push ax + push si + mov si, isolinux_str + call writestr + pop si + call writestr + pop ax + ret + +; +; crlf: Print a newline +; +crlf: + mov si, crlf_msg + ; Fall through + +; +; writestr: write a null-terminated string to the console, saving +; registers on entry. +; +writestr: + pushfd + pushad +.top: + lodsb + and al, al + jz .end + call writechr + jmp short .top +.end: + popad + popfd + ret + + +; +; writehex[248]: Write a hex number in (AL, AX, EAX) to the console +; +writehex2: + pushfd + pushad + shl eax, 24 + mov cx, 2 + jmp short writehex_common +writehex4: + pushfd + pushad + shl eax, 16 + mov cx, 4 + jmp short writehex_common +writehex8: + pushfd + pushad + mov cx, 8 +writehex_common: +.loop: + rol eax, 4 + push eax + and al, 0Fh + cmp al, 10 + jae .high +.low: + add al, '0' + jmp short .ischar +.high: + add al, 'A'-10 +.ischar: + call writechr + pop eax + loop .loop + popad + popfd + ret + +; +; Write a character to the screen. There is a more "sophisticated" +; version of this in the subsequent code, so we patch the pointer +; when appropriate. +; + +writechr: + pushfd + pushad + mov ah, 0Eh + xor bx, bx + int 10h + popad + popfd + ret + +; +; Get one sector. Convenience entry point. +; +getonesec: + mov bp, 1 + ; Fall through to getlinsec + +; +; Get linear sectors - EBIOS LBA addressing, 2048-byte sectors. +; +; Note that we can't always do this as a single request, because at least +; Phoenix BIOSes has a 127-sector limit. To be on the safe side, stick +; to 32 sectors (64K) per request. +; +; Input: +; EAX - Linear sector number +; ES:BX - Target buffer +; BP - Sector count +; +getlinsec: + mov si,dapa ; Load up the DAPA + mov [si+4],bx + mov bx,es + mov [si+6],bx + mov [si+8],eax +.loop2: + push bp ; Sectors left + cmp bp,[MaxTransfer] + jbe .bp_ok + mov bp,[MaxTransfer] +.bp_ok: + mov [si+2],bp + push si + mov dl,[DriveNo] + mov ah,42h ; Extended Read + call xint13 + pop si + pop bp + movzx eax,word [si+2] ; Sectors we read + add [si+8],eax ; Advance sector pointer + sub bp,ax ; Sectors left + shl ax,SECTORSIZE_LG2-4 ; 2048-byte sectors -> segment + add [si+6],ax ; Advance buffer pointer + and bp,bp + jnz .loop2 + mov eax,[si+8] ; Next sector + ret + + ; INT 13h with retry +xint13: + mov byte [RetryCount], retry_count +.try: + pushad + int 13h + jc .error + add sp, byte 8*4 ; Clean up stack + ret +.error: + mov [DiskError], ah ; Save error code + popad + dec byte [RetryCount] + jz .real_error + push ax + mov al,[RetryCount] + mov ah,[dapa+2] ; Sector transfer count + cmp al,2 ; Only 2 attempts left + ja .nodanger + mov ah,1 ; Drop transfer size to 1 + jmp short .setsize +.nodanger: + cmp al,retry_count-2 + ja .again ; First time, just try again + shr ah,1 ; Otherwise, try to reduce + adc ah,0 ; the max transfer size, but not to 0 +.setsize: + mov [MaxTransfer],ah + mov [dapa+2],ah +.again: + pop ax + jmp .try + +.real_error: + mov si, diskerr_msg + call writemsg + mov al, [DiskError] + call writehex2 + mov si, ondrive_str + call writestr + mov al, dl + call writehex2 + call crlf + ; Fall through to kaboom + +; +; kaboom: write a message and bail out. Wait for a user keypress, +; then do a hard reboot. +; +kaboom: + mov ax, cs + mov ds, ax + mov es, ax + mov fs, ax + mov gs, ax + sti + mov si, err_bootfailed + call writestr + call getchar + cli + mov word [BIOS_magic], 0 ; Cold reboot + jmp 0F000h:0FFF0h ; Reset vector address + +getchar: +.again: + mov ah, 1 ; Poll keyboard + int 16h + jz .again +.kbd: + xor ax, ax ; Get keyboard input + int 16h +.func_key: + ret + + +; +; pollchar: check if we have an input character pending (ZF = 0) +; +pollchar: + pushad + mov ah,1 ; Poll keyboard + int 16h + popad + ret + + + +isolinux_banner db CR, LF, 'Loading IsoBoot...', CR, LF, 0 +copyright_str db ' Copyright (C) 1994-2002 H. Peter Anvin', CR, LF, 0 +presskey_msg db 'Press any key to boot from CD', 0 +dot_msg db '.',0 + +%ifdef DEBUG_MESSAGES +startup_msg: db 'Starting up, DL = ', 0 +spec_ok_msg: db 'Loaded spec packet OK, drive = ', 0 +secsize_msg: db 'Sector size appears to be ', 0 +rootloc_msg: db 'Root directory location: ', 0 +rootlen_msg: db 'Root directory length: ', 0 +rootsect_msg: db 'Root directory length(sectors): ', 0 +fileloc_msg: db 'SETUPLDR.SYS location: ', 0 +filelen_msg: db 'SETUPLDR.SYS length: ', 0 +filesect_msg: db 'SETUPLDR.SYS length(sectors): ', 0 +findfail_msg: db 'Failed to find file!', 0 +startldr_msg: db 'Starting SETUPLDR.SYS', 0 +%endif + +nosecsize_msg: db 'Failed to get sector size, assuming 0800', CR, LF, 0 +spec_err_msg: db 'Loading spec packet failed, trying to wing it...', CR, LF, 0 +maybe_msg: db 'Found something at drive = ', 0 +alright_msg: db 'Looks like it might be right, continuing...', CR, LF, 0 +nothing_msg: db 'Failed to locate CD-ROM device; boot failed.', CR, LF, 0 +isolinux_str db 'IsoBoot: ', 0 +crlf_msg db CR, LF, 0 +diskerr_msg: db 'Disk error ', 0 +ondrive_str: db ', drive ', 0 +err_bootfailed db CR, LF, 'Boot failed: press a key to retry...' +isolinux_dir db '\LOADER', 0 +no_dir_msg db 'Could not find the LOADER directory.', CR, LF, 0 +isolinux_bin db 'SETUPLDR.SYS', 0 +no_isolinux_msg db 'Could not find SETUPLDR.SYS.', CR, LF, 0 + +; +; El Torito spec packet +; + align 8, db 0 +spec_packet: db 13h ; Size of packet +sp_media: db 0 ; Media type +sp_drive: db 0 ; Drive number +sp_controller: db 0 ; Controller index +sp_lba: dd 0 ; LBA for emulated disk image +sp_devspec: dw 0 ; IDE/SCSI information +sp_buffer: dw 0 ; User-provided buffer +sp_loadseg: dw 0 ; Load segment +sp_sectors: dw 0 ; Sector count +sp_chs: db 0,0,0 ; Simulated CHS geometry +sp_dummy: db 0 ; Scratch, safe to overwrite + +; +; EBIOS drive parameter packet +; + align 8, db 0 +drive_params: dw 30 ; Buffer size +dp_flags: dw 0 ; Information flags +dp_cyl: dd 0 ; Physical cylinders +dp_head: dd 0 ; Physical heads +dp_sec: dd 0 ; Physical sectors/track +dp_totalsec: dd 0,0 ; Total sectors +dp_secsize: dw 0 ; Bytes per sector +dp_dpte: dd 0 ; Device Parameter Table +dp_dpi_key: dw 0 ; 0BEDDh if rest valid +dp_dpi_len: db 0 ; DPI len + db 0 + dw 0 +dp_bus: times 4 db 0 ; Host bus type +dp_interface: times 8 db 0 ; Interface type +db_i_path: dd 0,0 ; Interface path [truncated at 1000 lines; 3426 more skipped]
18 years, 10 months
1
0
0
0
[sedwards] 63: added docs from bug #333
by sedwards@svn.reactos.org
added docs from bug #333 Added: trunk/documentation/articles/CacheMan.pdf Added: trunk/documentation/articles/GDI_call_flow.jpg Added: trunk/documentation/articles/fpu_state_saving.png Added: trunk/documentation/articles/opengl32.png Added: trunk/documentation/articles/pnp1.pdf _____ Added: trunk/documentation/articles/CacheMan.pdf (Binary files differ) Property changes on: trunk/documentation/articles/CacheMan.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream _____ Added: trunk/documentation/articles/GDI_call_flow.jpg (Binary files differ) Property changes on: trunk/documentation/articles/GDI_call_flow.jpg ___________________________________________________________________ Name: svn:mime-type + application/octet-stream _____ Added: trunk/documentation/articles/fpu_state_saving.png (Binary files differ) Property changes on: trunk/documentation/articles/fpu_state_saving.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream _____ Added: trunk/documentation/articles/opengl32.png (Binary files differ) Property changes on: trunk/documentation/articles/opengl32.png ___________________________________________________________________ Name: svn:mime-type + application/octet-stream _____ Added: trunk/documentation/articles/pnp1.pdf (Binary files differ) Property changes on: trunk/documentation/articles/pnp1.pdf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream
18 years, 10 months
1
0
0
0
[jimtabor] 62: Curve is a cubic Bzier spline. Used in TTPOLYCURVE structure.
by jimtabor@svn.reactos.org
Curve is a cubic Bzier spline. Used in TTPOLYCURVE structure. Modified: trunk/reactos/include/wingdi.h _____ Modified: trunk/reactos/include/wingdi.h --- trunk/reactos/include/wingdi.h 2006-01-30 22:50:50 UTC (rev 61) +++ trunk/reactos/include/wingdi.h 2006-01-31 04:30:42 UTC (rev 62) @@ -1128,6 +1128,7 @@ #define TT_POLYGON_TYPE 24 #define TT_PRIM_LINE 1 #define TT_PRIM_QSPLINE 2 +#define TT_PRIM_CSPLINE 3 #define FONTMAPPER_MAX 10 #define ENHMETA_STOCK_OBJECT 0x80000000 #define WGL_FONT_LINES 0
18 years, 10 months
1
0
0
0
[gedmurphy] 61: revert the progress dialog change until I write a better solution.
by gedmurphy@svn.reactos.org
revert the progress dialog change until I write a better solution. Modified: trunk/reactos/base/system/servman/servman.c _____ Modified: trunk/reactos/base/system/servman/servman.c --- trunk/reactos/base/system/servman/servman.c 2006-01-30 22:42:02 UTC (rev 60) +++ trunk/reactos/base/system/servman/servman.c 2006-01-30 22:50:50 UTC (rev 61) @@ -356,37 +356,40 @@ case ID_START: { - if ( DoStartService(hProgDlg) ) + + /* open the progress dialog */ + hProgDlg = CreateDialog(GetModuleHandle(NULL), + MAKEINTRESOURCE(IDD_DLG_PROGRESS), + hMainWnd, + (DLGPROC)ProgressDialogProc); + if (hProgDlg != NULL) { ENUM_SERVICE_STATUS_PROCESS *Service = NULL; - LVITEM item; - TCHAR szStatus[64]; - TCHAR buf[25]; TCHAR ProgDlgBuf[100]; - /* open the progress dialog */ - hProgDlg = CreateDialog(GetModuleHandle(NULL), - MAKEINTRESOURCE(IDD_DLG_PROGRESS), - hMainWnd, - (DLGPROC)ProgressDialogProc); - if (hProgDlg != NULL) - { - ShowWindow(hProgDlg, SW_SHOW); + ShowWindow(hProgDlg, SW_SHOW); - /* write the info to the progress dialog */ - LoadString(hInstance, IDS_PROGRESS_INFO_START, ProgDlgBuf, - sizeof(ProgDlgBuf) / sizeof(TCHAR)); - SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, WM_SETTEXT, - 0, (LPARAM)ProgDlgBuf); + /* write the info to the progress dialog */ + LoadString(hInstance, IDS_PROGRESS_INFO_START, ProgDlgBuf, + sizeof(ProgDlgBuf) / sizeof(TCHAR)); + SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, WM_SETTEXT, + 0, (LPARAM)ProgDlgBuf); - /* get pointer to selected service */ - Service = GetSelectedService(); + /* get pointer to selected service */ + Service = GetSelectedService(); - /* write the service name to the progress dialog */ - SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, - (LPARAM)Service->lpServiceName); - } + /* write the service name to the progress dialog */ + SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, + (LPARAM)Service->lpServiceName); + } + if ( DoStartService(hProgDlg) ) + { + + LVITEM item; + TCHAR szStatus[64]; + TCHAR buf[25]; + LoadString(hInstance, IDS_SERVICES_STARTED, szStatus, sizeof(szStatus) / sizeof(TCHAR)); item.pszText = szStatus; @@ -411,36 +414,37 @@ case ID_STOP: { - if( Control(hProgDlg, SERVICE_CONTROL_STOP) ) + /* open the progress dialog */ + hProgDlg = CreateDialog(GetModuleHandle(NULL), + MAKEINTRESOURCE(IDD_DLG_PROGRESS), + hMainWnd, + (DLGPROC)ProgressDialogProc); + if (hProgDlg != NULL) { ENUM_SERVICE_STATUS_PROCESS *Service = NULL; - LVITEM item; - TCHAR buf[25]; TCHAR ProgDlgBuf[100]; - /* open the progress dialog */ - hProgDlg = CreateDialog(GetModuleHandle(NULL), - MAKEINTRESOURCE(IDD_DLG_PROGRESS), - hMainWnd, - (DLGPROC)ProgressDialogProc); - if (hProgDlg != NULL) - { - ShowWindow(hProgDlg, SW_SHOW); + ShowWindow(hProgDlg, SW_SHOW); - /* write the info to the progress dialog */ - LoadString(hInstance, IDS_PROGRESS_INFO_STOP, ProgDlgBuf, - sizeof(ProgDlgBuf) / sizeof(TCHAR)); - SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, - WM_SETTEXT, 0, (LPARAM)ProgDlgBuf); + /* write the info to the progress dialog */ + LoadString(hInstance, IDS_PROGRESS_INFO_STOP, ProgDlgBuf, + sizeof(ProgDlgBuf) / sizeof(TCHAR)); + SendDlgItemMessage(hProgDlg, IDC_SERVCON_INFO, + WM_SETTEXT, 0, (LPARAM)ProgDlgBuf); - /* get pointer to selected service */ - Service = GetSelectedService(); + /* get pointer to selected service */ + Service = GetSelectedService(); - /* write the service name to the progress dialog */ - SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, - (LPARAM)Service->lpServiceName); - } + /* write the service name to the progress dialog */ + SendDlgItemMessage(hProgDlg, IDC_SERVCON_NAME, WM_SETTEXT, 0, + (LPARAM)Service->lpServiceName); + } + if( Control(hProgDlg, SERVICE_CONTROL_STOP) ) + { + + LVITEM item; + TCHAR buf[25]; item.pszText = '\0'; item.iItem = GetSelectedItem();
18 years, 10 months
1
0
0
0
[martinf] 60: set properties and ros:history and ros:doc
by martinf@svn.reactos.org
set properties and ros:history and ros:doc Property changes on: branches/lean-explorer/reactos/base/shell/explorer ___________________________________________________________________ Name: ros:history + ------------------------------------------------------------------------ r20518 | mf | 2006-01-01 16:48:03 +0100 (So, 01 Jan 2006) | 1 line eliminate GCC warning about initialization order ------------------------------------------------------------------------ r20513 | mf | 2006-01-01 15:32:17 +0100 (So, 01 Jan 2006) | 1 line lean explorer: select initial folder in shell namespace ------------------------------------------------------------------------ r20490 | mf | 2005-12-31 19:36:39 +0100 (Sa, 31 Dez 2005) | 1 line lean explorer: correctly handle path of command line argument in explore mode ------------------------------------------------------------------------ r20486 | mf | 2005-12-31 16:54:25 +0100 (Sa, 31 Dez 2005) | 1 line flatten Entry/ShellEntry class hierarchy ------------------------------------------------------------------------ r20483 | mf | 2005-12-31 15:33:58 +0100 (Sa, 31 Dez 2005) | 1 line lean explorer: remove unused attributes ------------------------------------------------------------------------ r20482 | mf | 2005-12-31 15:24:43 +0100 (Sa, 31 Dez 2005) | 1 line lean explorer: remove WINFS ------------------------------------------------------------------------ r20481 | mf | 2005-12-31 14:37:09 +0100 (Sa, 31 Dez 2005) | 3 lines lean explorer: - simplfy SCAN flags - disable WINFS in favor to code size using only shell namespace ------------------------------------------------------------------------ r20479 | mf | 2005-12-31 12:22:44 +0100 (Sa, 31 Dez 2005) | 3 lines lean explorer: - correct folder display when using the "/e" command line option - handle owner draw menu messages in folder pane ------------------------------------------------------------------------ r20406 | mf | 2005-12-28 23:45:04 +0100 (Mi, 28 Dez 2005) | 1 line lean explorer: get and use the parent folder to display correct context menu in all cases ------------------------------------------------------------------------ r20399 | mf | 2005-12-28 18:37:37 +0100 (Mi, 28 Dez 2005) | 3 lines lean explorer: - merge a few bug fixes from trunk - display icon overlays in Explorer tree view ------------------------------------------------------------------------ r20391 | mf | 2005-12-28 13:27:25 +0100 (Mi, 28 Dez 2005) | 1 line correct command line handling in lean explorer ------------------------------------------------------------------------ r18377 | mf | 2005-10-09 17:12:01 +0200 (So, 09 Okt 2005) | 1 line fix crash because of NULL command line pointer ------------------------------------------------------------------------ r18346 | mf | 2005-10-08 19:25:32 +0200 (Sa, 08 Okt 2005) | 1 line merge command line parser code from trunk into lean-explorer branch ------------------------------------------------------------------------ r16988 | mf | 2005-08-03 07:15:48 +0200 (Mi, 03 Aug 2005) | 1 line set svn:eol-style of *.dsp/dsw to CRLF ------------------------------------------------------------------------ r14956 | mf | 2005-05-03 11:21:42 +0200 (Di, 03 Mai 2005) | 2 lines small optimization for the last change ------------------------------------------------------------------------ r14953 | mf | 2005-05-03 10:01:18 +0200 (Di, 03 Mai 2005) | 2 lines display custom folders in start menu root ------------------------------------------------------------------------ r14952 | mf | 2005-05-03 10:00:23 +0200 (Di, 03 Mai 2005) | 1 line context menu interface pointer cleanup ------------------------------------------------------------------------ r14937 | mf | 2005-05-02 00:26:55 +0200 (Mo, 02 Mai 2005) | 1 line merge mixed case startup menu folders ------------------------------------------------------------------------ r14930 | mf | 2005-05-01 23:12:50 +0200 (So, 01 Mai 2005) | 1 line some cleanups in the lean explorer code ------------------------------------------------------------------------ r14923 | mf | 2005-05-01 22:12:06 +0200 (So, 01 Mai 2005) | 2 lines more rosshell separations ------------------------------------------------------------------------ r14922 | mf | 2005-05-01 22:02:30 +0200 (So, 01 Mai 2005) | 1 line experimental ROS Shell without integrated explorer part ------------------------------------------------------------------------ r14473 | mf | 2005-04-03 14:14:30 +0200 (So, 03 Apr 2005) | 2 lines protect system image list ------------------------------------------------------------------------ r14470 | mf | 2005-04-03 13:38:08 +0200 (So, 03 Apr 2005) | 2 lines show logoff dialog in lean explorer ------------------------------------------------------------------------ r14437 | mf | 2005-04-02 13:09:39 +0200 (Sa, 02 Apr 2005) | 1 line merge from trunk: enable multiline tooltips ------------------------------------------------------------------------ r14436 | mf | 2005-04-02 13:00:58 +0200 (Sa, 02 Apr 2005) | 1 line merge from trunk: launch shell DDE server ------------------------------------------------------------------------ r14435 | mf | 2005-04-02 12:59:49 +0200 (Sa, 02 Apr 2005) | 2 lines merge from trunk: hide login screen to make the login on XP faster ------------------------------------------------------------------------ r13440 | mf | 2005-02-06 15:03:25 +0100 (So, 06 Feb 2005) | 2 lines owner drawn context menus for lean explorer version ------------------------------------------------------------------------ r10889 | mf | 2004-09-17 18:56:47 +0200 (Fr, 17 Sep 2004) | 2 lines Handle "." and ".." as special direcory names and move them at the very first beginning of directory listings ------------------------------------------------------------------------ r10573 | mf | 2004-08-16 21:12:31 +0200 (Mo, 16 Aug 2004) | 2 lines display lean explorer version in about dialog ------------------------------------------------------------------------ r10399 | mf | 2004-08-04 23:42:33 +0200 (Mi, 04 Aug 2004) | 2 lines fix clean target for new standard makefiles ------------------------------------------------------------------------ r10398 | mf | 2004-08-04 23:42:33 +0200 (Mi, 04 Aug 2004) | 2 lines fix clean target for new standard makefiles ------------------------------------------------------------------------ r10391 | sedwards | 2004-08-04 16:21:52 +0200 (Mi, 04 Aug 2004) | 2 lines Fix building the lean explorer ------------------------------------------------------------------------ r10373 | mf | 2004-08-03 21:43:45 +0200 (Di, 03 Aug 2004) | 2 lines get version number to display from RES_STR_PRODUCT_VERSION ------------------------------------------------------------------------ r10372 | mf | 2004-08-03 21:43:45 +0200 (Di, 03 Aug 2004) | 2 lines get version number to display from RES_STR_PRODUCT_VERSION ------------------------------------------------------------------------ r10371 | mf | 2004-08-03 21:43:45 +0200 (Di, 03 Aug 2004) | 2 lines get version number to display from RES_STR_PRODUCT_VERSION ------------------------------------------------------------------------ r10335 | mf | 2004-08-01 11:26:27 +0200 (So, 01 Aug 2004) | 2 lines implement IServiceprovider interface ------------------------------------------------------------------------ r10334 | mf | 2004-08-01 11:26:27 +0200 (So, 01 Aug 2004) | 2 lines implement IServiceprovider interface ------------------------------------------------------------------------ r10323 | mf | 2004-07-31 10:53:19 +0200 (Sa, 31 Jul 2004) | 2 lines use same startmenu entries height as MS explorer ------------------------------------------------------------------------ r10293 | mf | 2004-07-26 20:41:36 +0200 (Mo, 26 Jul 2004) | 2 lines precompiled header support for the lean version of explorer ------------------------------------------------------------------------ r10282 | mf | 2004-07-24 22:15:47 +0200 (Sa, 24 Jul 2004) | 2 lines eliminate useless GCC warning ------------------------------------------------------------------------ r10280 | mf | 2004-07-24 22:09:31 +0200 (Sa, 24 Jul 2004) | 2 lines recalculate start menu root position for any call ------------------------------------------------------------------------ r10195 | (kein Autor) | 2004-07-18 15:03:06 +0200 (So, 18 Jul 2004) | 2 lines This commit was manufactured by cvs2svn to create branch 'lean-explorer'. ------------------------------------------------------------------------ r10136 | mf | 2004-07-15 23:19:05 +0200 (Do, 15 Jul 2004) | 2 lines fix root path for folders opened from the desktop ------------------------------------------------------------------------ r10134 | mf | 2004-07-15 23:04:20 +0200 (Do, 15 Jul 2004) | 2 lines ignore unexpected exceptions while extracting icons ------------------------------------------------------------------------ r10131 | mf | 2004-07-15 22:20:39 +0200 (Do, 15 Jul 2004) | 2 lines scroll mode for very long start menus in lean explorer branch ------------------------------------------------------------------------ r10130 | (kein Autor) | 2004-07-15 22:20:39 +0200 (Do, 15 Jul 2004) | 2 lines This commit was manufactured by cvs2svn to create branch 'lean-explorer'. ------------------------------------------------------------------------ r9772 | mf | 2004-06-20 21:28:54 +0200 (So, 20 Jun 2004) | 2 lines remove useless comment ------------------------------------------------------------------------ r9710 | mf | 2004-06-18 19:05:44 +0200 (Fr, 18 Jun 2004) | 2 lines adjustments for GCC 3.4 ------------------------------------------------------------------------ r9104 | mf | 2004-04-12 17:55:36 +0200 (Mo, 12 Apr 2004) | 2 lines fix Entry::read_tree() and get_next_path_component() ------------------------------------------------------------------------ r9049 | sedwards | 2004-04-09 21:02:59 +0200 (Fr, 09 Apr 2004) | 6 lines I hope I didnt mess up committing this to the lean-branch..... Add Windows Explorer menus (File, Edit, View, Tools - Disabled atm) Merge "explorer -install" support to lean-explorer. Merge some of the traynotify cleanups. ------------------------------------------------------------------------ r9048 | sedwards | 2004-04-09 20:55:23 +0200 (Fr, 09 Apr 2004) | 2 lines Testing something ------------------------------------------------------------------------ r8909 | mf | 2004-03-28 22:32:23 +0200 (So, 28 Mrz 2004) | 2 lines option "display version on desktop background" ------------------------------------------------------------------------ r8908 | mf | 2004-03-28 22:32:23 +0200 (So, 28 Mrz 2004) | 2 lines option "display version on desktop background" ------------------------------------------------------------------------ r8812 | mf | 2004-03-20 14:55:58 +0100 (Sa, 20 Mrz 2004) | 2 lines lean version comments ------------------------------------------------------------------------ r8740 | mf | 2004-03-14 23:27:44 +0100 (So, 14 Mrz 2004) | 2 lines UNICODE fix for Tooltips ------------------------------------------------------------------------ r8730 | mf | 2004-03-14 19:51:36 +0100 (So, 14 Mrz 2004) | 2 lines resize taskbar buttons on WM_SIZE ------------------------------------------------------------------------ r8707 | mf | 2004-03-14 13:11:19 +0100 (So, 14 Mrz 2004) | 2 lines move create_absolute_pidl() member function implementation from Enry into WinEntry ------------------------------------------------------------------------ r8692 | mf | 2004-03-13 21:05:33 +0100 (Sa, 13 Mrz 2004) | 2 lines french translation for some start menu entries from Gge ------------------------------------------------------------------------ r8671 | mf | 2004-03-12 22:20:03 +0100 (Fr, 12 Mrz 2004) | 2 lines small 'Explorer' string adjustment for french ------------------------------------------------------------------------ r8669 | mf | 2004-03-12 22:12:28 +0100 (Fr, 12 Mrz 2004) | 2 lines adjust start button to text size ------------------------------------------------------------------------ r8668 | mf | 2004-03-12 22:12:28 +0100 (Fr, 12 Mrz 2004) | 2 lines adjust start button to text size ------------------------------------------------------------------------ r8522 | mf | 2004-03-03 21:29:52 +0100 (Mi, 03 Mrz 2004) | 2 lines add opened files to the "recent documents" list ------------------------------------------------------------------------ r8521 | mf | 2004-03-03 21:29:52 +0100 (Mi, 03 Mrz 2004) | 2 lines add opened files to the "recent documents" list ------------------------------------------------------------------------ r8461 | mf | 2004-02-29 00:32:05 +0100 (So, 29 Feb 2004) | 2 lines up/down navigation for shell views in SDI mode ------------------------------------------------------------------------ r8455 | mf | 2004-02-28 18:38:55 +0100 (Sa, 28 Feb 2004) | 2 lines disable context information for lean release builds ------------------------------------------------------------------------ r8454 | mf | 2004-02-28 18:38:34 +0100 (Sa, 28 Feb 2004) | 2 lines "up" button ------------------------------------------------------------------------ r8451 | mf | 2004-02-28 17:41:55 +0100 (Sa, 28 Feb 2004) | 4 lines - fix for restoring applications using task bar buttons - project file maintainancement - docu update ------------------------------------------------------------------------ r8450 | mf | 2004-02-28 17:41:55 +0100 (Sa, 28 Feb 2004) | 4 lines - fix for restoring applications using task bar buttons - project file maintainancement - docu update ------------------------------------------------------------------------ r8449 | mf | 2004-02-28 17:05:34 +0100 (Sa, 28 Feb 2004) | 2 lines compatibility fix for "Sleipnir" web browser: minimizing by clicks on taskbar ------------------------------------------------------------------------ r8447 | mf | 2004-02-28 16:14:39 +0100 (Sa, 28 Feb 2004) | 2 lines desktop switching: allow applications to be visible only on one desktop ------------------------------------------------------------------------ r8439 | mf | 2004-02-28 14:45:33 +0100 (Sa, 28 Feb 2004) | 2 lines remember last foreground window when switching desktops ------------------------------------------------------------------------ r8437 | mf | 2004-02-28 14:45:32 +0100 (Sa, 28 Feb 2004) | 2 lines remember last foreground window when switching desktops ------------------------------------------------------------------------ r8435 | mf | 2004-02-28 11:57:02 +0100 (Sa, 28 Feb 2004) | 2 lines another foreground window fix for clicks on notification icons ------------------------------------------------------------------------ r8432 | mf | 2004-02-28 11:27:39 +0100 (Sa, 28 Feb 2004) | 2 lines implemented 'minimize all' feature ------------------------------------------------------------------------ r8417 | mf | 2004-02-26 22:52:34 +0100 (Do, 26 Feb 2004) | 2 lines disable start menu entries for non-existing folders ------------------------------------------------------------------------ r8415 | mf | 2004-02-26 22:28:48 +0100 (Do, 26 Feb 2004) | 2 lines fix admin and printer folders ------------------------------------------------------------------------ r8414 | mf | 2004-02-26 22:20:51 +0100 (Do, 26 Feb 2004) | 2 lines include explorer windows in desktop switching ------------------------------------------------------------------------ r8412 | mf | 2004-02-26 21:38:33 +0100 (Do, 26 Feb 2004) | 2 lines avoid displaying context menu for application button _and_ desktop bar at the same time ------------------------------------------------------------------------ r8410 | mf | 2004-02-26 21:26:11 +0100 (Do, 26 Feb 2004) | 2 lines docu update ------------------------------------------------------------------------ r8409 | mf | 2004-02-26 21:20:44 +0100 (Do, 26 Feb 2004) | 2 lines fix foreground window handling when clicking on notification area icons ------------------------------------------------------------------------ r8405 | mf | 2004-02-26 20:47:39 +0100 (Do, 26 Feb 2004) | 2 lines resize taskbar buttons according to number of running applications ------------------------------------------------------------------------ r8404 | mf | 2004-02-26 20:47:39 +0100 (Do, 26 Feb 2004) | 2 lines resize taskbar buttons according to number of running applications ------------------------------------------------------------------------ r8380 | mf | 2004-02-25 21:21:30 +0100 (Mi, 25 Feb 2004) | 2 lines fix taksbar icons after closing previous applications ------------------------------------------------------------------------ r8374 | mf | 2004-02-25 20:29:13 +0100 (Mi, 25 Feb 2004) | 2 lines set background brush for the short moment of displaying the background color while moving foreground windows ------------------------------------------------------------------------ r8372 | mf | 2004-02-25 19:58:34 +0100 (Mi, 25 Feb 2004) | 2 lines fixed bug #224 ------------------------------------------------------------------------ r8356 | mf | 2004-02-24 23:15:41 +0100 (Di, 24 Feb 2004) | 2 lines fixed more GDI handle leaks ------------------------------------------------------------------------ r8353 | mf | 2004-02-24 21:00:03 +0100 (Di, 24 Feb 2004) | 3 lines - launch task manager - set foregroundwindow when opening start menu (CTRL-ESC shortcut) ------------------------------------------------------------------------ r8343 | mf | 2004-02-23 23:16:54 +0100 (Mo, 23 Feb 2004) | 2 lines keyboard navigation in start menu using first character of display names ------------------------------------------------------------------------ r8338 | mf | 2004-02-23 21:39:16 +0100 (Mo, 23 Feb 2004) | 2 lines fixed icon handle leak in notification area ------------------------------------------------------------------------ r8270 | mf | 2004-02-19 21:57:27 +0100 (Do, 19 Feb 2004) | 2 lines strip down resource images ------------------------------------------------------------------------ r8247 | mf | 2004-02-18 20:38:36 +0100 (Mi, 18 Feb 2004) | 3 lines - eiminated compiler warning - removed NTFS streams support since it never displayed in this version ------------------------------------------------------------------------ r8240 | mf | 2004-02-18 01:01:02 +0100 (Mi, 18 Feb 2004) | 2 lines SDI interface for lean explorer ------------------------------------------------------------------------ r8224 | mf | 2004-02-17 21:20:03 +0100 (Di, 17 Feb 2004) | 2 lines disable autostart if the SHIFT key is pressed ------------------------------------------------------------------------ r8217 | mf | 2004-02-17 00:32:30 +0100 (Di, 17 Feb 2004) | 3 lines - disable lazy icon extraction in start menu to be as fast as possible - convert settings start menus into buttons ------------------------------------------------------------------------ r8214 | mf | 2004-02-16 23:53:38 +0100 (Mo, 16 Feb 2004) | 2 lines first draft of a lean explorer version ------------------------------------------------------------------------ r8213 | (kein Autor) | 2004-02-16 23:53:38 +0100 (Mo, 16 Feb 2004) | 2 lines This commit was manufactured by cvs2svn to create branch 'lean-explorer'. ------------------------------------------------------------------------ r8154 | mf | 2004-02-11 19:11:21 +0100 (Mi, 11 Feb 2004) | 2 lines minor corrections by M.Taguchi ------------------------------------------------------------------------ r8147 | mf | 2004-02-11 09:35:10 +0100 (Mi, 11 Feb 2004) | 2 lines fix context menu support ------------------------------------------------------------------------ r8146 | mf | 2004-02-11 09:34:28 +0100 (Mi, 11 Feb 2004) | 2 lines fix and enable japanese resources for windres ------------------------------------------------------------------------ r8140 | mf | 2004-02-11 00:10:43 +0100 (Mi, 11 Feb 2004) | 2 lines context menu support for winefile ------------------------------------------------------------------------ r8139 | mf | 2004-02-10 23:15:20 +0100 (Di, 10 Feb 2004) | 2 lines store statustexts in MDI children ------------------------------------------------------------------------ r8138 | mf | 2004-02-10 22:22:55 +0100 (Di, 10 Feb 2004) | 2 lines eliminated nasty warning message ------------------------------------------------------------------------ r8137 | mf | 2004-02-10 22:01:41 +0100 (Di, 10 Feb 2004) | 2 lines remove DWebBrowserEvents event handler ------------------------------------------------------------------------ r8136 | mf | 2004-02-10 21:31:37 +0100 (Di, 10 Feb 2004) | 3 lines added japanese resources now in ShiftJIS encoding (however also not yet compatible to windres) ------------------------------------------------------------------------ r8135 | mf | 2004-02-10 21:30:42 +0100 (Di, 10 Feb 2004) | 2 lines remove UTF16 file with japanese resources ------------------------------------------------------------------------ r8123 | mf | 2004-02-10 00:21:20 +0100 (Di, 10 Feb 2004) | 2 lines display status texts ------------------------------------------------------------------------ r8122 | mf | 2004-02-09 23:39:05 +0100 (Mo, 09 Feb 2004) | 2 lines new TODO entries ------------------------------------------------------------------------ r8121 | mf | 2004-02-09 23:37:52 +0100 (Mo, 09 Feb 2004) | 2 lines re-show all hidden windows at explorer termination ------------------------------------------------------------------------ r8120 | mf | 2004-02-09 23:36:13 +0100 (Mo, 09 Feb 2004) | 2 lines define __WINDRES__ to disable UTF16 resource script ------------------------------------------------------------------------ r8111 | mf | 2004-02-09 10:20:26 +0100 (Mo, 09 Feb 2004) | 2 lines use web child window instead of ShellExecute() ------------------------------------------------------------------------ r8106 | mf | 2004-02-08 23:47:25 +0100 (So, 08 Feb 2004) | 2 lines better foreground window handling (VCL applications had problems with the old one) ------------------------------------------------------------------------ r8105 | mf | 2004-02-08 23:30:14 +0100 (So, 08 Feb 2004) | 2 lines better window sizing ------------------------------------------------------------------------ r8098 | mf | 2004-02-08 22:31:14 +0100 (So, 08 Feb 2004) | 2 lines text -> bin ------------------------------------------------------------------------ r8097 | mf | 2004-02-08 22:30:57 +0100 (So, 08 Feb 2004) | 2 lines text -> bin ------------------------------------------------------------------------ r8096 | mf | 2004-02-08 22:27:31 +0100 (So, 08 Feb 2004) | 2 lines Japanese resource by Masahiro Taguchi (not supported by windres) ------------------------------------------------------------------------ r8095 | mf | 2004-02-08 19:58:45 +0100 (So, 08 Feb 2004) | 2 lines desktop switching ------------------------------------------------------------------------ r8085 | mf | 2004-02-07 22:17:27 +0100 (Sa, 07 Feb 2004) | 2 lines toolbars to control web browser ------------------------------------------------------------------------ r8084 | mf | 2004-02-07 20:51:53 +0100 (Sa, 07 Feb 2004) | 2 lines display nice error message ------------------------------------------------------------------------ r8083 | mf | 2004-02-07 20:04:03 +0100 (Sa, 07 Feb 2004) | 2 lines corrected error handling if no web control could be found ------------------------------------------------------------------------ r8075 | mf | 2004-02-07 16:00:28 +0100 (Sa, 07 Feb 2004) | 4 lines first version of web control embedding: Explorer tries to instantiate an IE web control, if that failes it tries again using the CLASS-ID of Mozilla's Active-X web control. ------------------------------------------------------------------------ r8067 | mf | 2004-02-06 23:45:49 +0100 (Fr, 06 Feb 2004) | 2 lines small dialog size corrections ------------------------------------------------------------------------ r8066 | mf | 2004-02-06 23:44:35 +0100 (Fr, 06 Feb 2004) | 2 lines use better looking bitmaps ------------------------------------------------------------------------ r8063 | mf | 2004-02-06 22:35:34 +0100 (Fr, 06 Feb 2004) | 2 lines portugal translation by Paulo Silva ------------------------------------------------------------------------ r8062 | mf | 2004-02-06 22:34:47 +0100 (Fr, 06 Feb 2004) | 2 lines minimize all button ------------------------------------------------------------------------ r8043 | mf | 2004-02-05 22:38:48 +0100 (Do, 05 Feb 2004) | 2 lines fixed small bug, which shows up only under NT4 ------------------------------------------------------------------------ r8041 | mf | 2004-02-05 20:54:51 +0100 (Do, 05 Feb 2004) | 2 lines try to be compatible to NT 4.0 without Active Desktop ------------------------------------------------------------------------ r8036 | mf | 2004-02-05 09:23:50 +0100 (Do, 05 Feb 2004) | 2 lines don't count on NULL termination of returned strings ------------------------------------------------------------------------ r8025 | mf | 2004-02-04 10:43:51 +0100 (Mi, 04 Feb 2004) | 2 lines get background color out of the bitmap ------------------------------------------------------------------------ r8024 | mf | 2004-02-04 10:31:27 +0100 (Mi, 04 Feb 2004) | 2 lines added 4bpp logo bmp ------------------------------------------------------------------------ r8023 | mf | 2004-02-04 10:29:53 +0100 (Mi, 04 Feb 2004) | 2 lines added special logo bitmap for 4 bpp color resolution ------------------------------------------------------------------------ r8020 | rcampbell | 2004-02-04 01:53:45 +0100 (Mi, 04 Feb 2004) | 2 lines changed 'Create New Task' to 'Run' ------------------------------------------------------------------------ r8017 | mf | 2004-02-03 22:34:59 +0100 (Di, 03 Feb 2004) | 2 lines integrated new startmenu side bar logo (posted by Paulo Correasilva) ------------------------------------------------------------------------ r8005 | mf | 2004-02-03 00:18:07 +0100 (Di, 03 Feb 2004) | 2 lines reading of FAT image files (work in progress) ------------------------------------------------------------------------ r7969 | mf | 2004-02-01 20:17:31 +0100 (So, 01 Feb 2004) | 2 lines implemented context menu for file child windows ------------------------------------------------------------------------ r7957 | mf | 2004-02-01 12:53:11 +0100 (So, 01 Feb 2004) | 2 lines display pseudo-file attributes "link" and "executable" ------------------------------------------------------------------------ r7956 | mf | 2004-02-01 12:22:24 +0100 (So, 01 Feb 2004) | 2 lines update TODO list ------------------------------------------------------------------------ r7955 | mf | 2004-02-01 12:19:28 +0100 (So, 01 Feb 2004) | 2 lines display registry value contents ------------------------------------------------------------------------ r7954 | mf | 2004-02-01 11:52:24 +0100 (So, 01 Feb 2004) | 2 lines new 'content' column to display symbolic link targets ------------------------------------------------------------------------ r7947 | mf | 2004-02-01 00:43:28 +0100 (So, 01 Feb 2004) | 2 lines mount drives in NT object namespace ------------------------------------------------------------------------ r7946 | mf | 2004-02-01 00:02:21 +0100 (So, 01 Feb 2004) | 2 lines display types of files, NT objects and registry key/entries ------------------------------------------------------------------------ r7945 | mf | 2004-01-31 22:01:53 +0100 (Sa, 31 Jan 2004) | 3 lines - don't sort registry hives - fix for memory corruption problem ------------------------------------------------------------------------ r7943 | mf | 2004-01-31 20:31:51 +0100 (Sa, 31 Jan 2004) | 2 lines included Registry as virtual file system ------------------------------------------------------------------------ r7942 | mf | 2004-01-31 18:26:38 +0100 (Sa, 31 Jan 2004) | 2 lines empty REGISTRY directory ------------------------------------------------------------------------ r7941 | mf | 2004-01-31 18:09:19 +0100 (Sa, 31 Jan 2004) | 2 lines re-activate already open shell/ntobj child windows instead of opening new windows ------------------------------------------------------------------------ r7939 | mf | 2004-01-31 17:25:23 +0100 (Sa, 31 Jan 2004) | 2 lines included NT Object namespace as virtual file system ------------------------------------------------------------------------ r7873 | mf | 2004-01-25 12:55:59 +0100 (So, 25 Jan 2004) | 2 lines fixed Doxygen Generation ------------------------------------------------------------------------ r7858 | mf | 2004-01-24 11:12:40 +0100 (Sa, 24 Jan 2004) | 4 lines - use PostMessage(WM_SYSCOMMAND) instead of ShowWindowAsync(SW_MINIMIZE) to minimize application windows when clicking on the taskbar -> for example mIRC needs this to "minimize to the tray" - fix determination of the last foreground window ------------------------------------------------------------------------ r7850 | mf | 2004-01-23 21:52:18 +0100 (Fr, 23 Jan 2004) | 2 lines bugfix to correctly display notification icons of some applications ------------------------------------------------------------------------ r7820 | rcampbell | 2004-01-22 02:38:43 +0100 (Do, 22 Jan 2004) | 2 lines ifndef _ROS_ ------------------------------------------------------------------------ r7803 | mf | 2004-01-21 09:02:51 +0100 (Mi, 21 Jan 2004) | 2 lines use #ifdef _ROS_ for latest drawing workaround -------------------- Name: ros:doc + This code was written from scratch without reverse-engineering. The icons are either donated by Everaldo or self painted.
18 years, 10 months
1
0
0
0
← Newer
1
2
3
4
...
59
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Results per page:
10
25
50
100
200