stand0715 stand


stand/include/machine/diskio.h only
/* "fake" diskio.h */


#define DISK_IOCTL_GETINFO		1
#define DISK_IOCTL_READ			2
#define DISK_INFO_FLAG_MBR		0x00000001
#define DISK_INFO_FLAG_CHS_UNCERTAIN	0x00000002
#define DISK_INFO_FLAG_UNFORMATTED	0x00000004
#define DISK_INFO_FLAG_PAGEABLE		0x00000008

typedef struct {
	long pad1;
	DWORD di_bytes_per_sect;/* offset 4 */
	DWORD di_cylinders;	/* offset 8 */
	DWORD di_heads;		/* offset 12 */
	DWORD di_sectors;	/* offset 16 */
	DWORD di_flags;		/* offset 20 */
} DISK_INFO;			/* sizeof(DISK_INFO) = 24 */

typedef struct _SG_REQ {
	DWORD sr_start;		/* offset 0 */
	DWORD sr_num_sec;	/* offset 4 */
	DWORD sr_num_sg;	/* offset 8 */
	DWORD sr_status;	/* offset 12 */
	DWORD (*sr_callback)(struct _SG_REQ *);	/* offset 16 */
	struct {		/* offset 20 */
		PUCHAR sb_buf;		/* offset 0 */
		DWORD sb_len;		/* offset 4 */
	} sr_sglist[1];			/* sizeof(sr_sglist[]) = 8 */
} SG_REQ;			/* sizeof(SG_REQ) = 28 */


standbak/libsa/winblk.c stand/libsa/winblk.c
43c43
< #include <diskio.h>
---
> #include <machine/diskio.h>


standbak/pbsdboot/main.c stand/pbsdboot/main.c
105c105
< HWND		hWndMain;
---
> HWND		hDlgMain;
350c350
< LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
---
> BOOL CALLBACK MainDlgProc(HWND, UINT, WPARAM, LPARAM);
397,398c397,399
< 	int i, idx;
< 	RECT rect;
---
> 	HDC hdc;
> 	int i, idx,width,height;
> 	
436c437
< 	wc.lpfnWndProc    = (WNDPROC) WndProc;
---
> 	wc.lpfnWndProc    = (WNDPROC) DefWindowProc;
442c443
< 	wc.hbrBackground  = (HBRUSH) GetStockObject(WHITE_BRUSH);
---
> 	wc.hbrBackground  = (HBRUSH) GetStockObject(GRAY_BRUSH);//LTGRAY_BRUSH);//WHITE_BRUSH);
453,468c454,457
< 	/*
< 	 *	Main Window
<          */
< #define WS_EX_CONTROLPARENT     0x00010000L
< 	hWndMain = CreateWindowEx((osversion < 211) ? 0 : WS_EX_CONTROLPARENT,
< 				  szAppName,
< 				  szTitle,
< 				  WS_VISIBLE,
< 				  CW_USEDEFAULT,
< 				  CW_USEDEFAULT,
< 				  CW_USEDEFAULT,
< 				  CW_USEDEFAULT,
< 				  NULL,
< 				  NULL,
< 				  hInstance,
< 				  NULL);
---
> 	hdc = GetDC(0);
> 	width = GetDeviceCaps(hdc,HORZRES);
> 	height = GetDeviceCaps(hdc,VERTRES);
> 	ReleaseDC(0,hdc);
470,484c459,463
< 	GetClientRect(hWndMain, &rect);
< 	if (rect.right < rect.bottom) {
< 		/*
< 		 *	portrait
< 		 */
< 		CreateMainWindow(hInst, hWndMain,
< 				 MAKEINTRESOURCE(IDD_MAIN_240X320),
< 				 CommandBar_Height(hWndCB));
< 	} else {
< 		/*
< 		 *	landscape
< 		 */
< 		CreateMainWindow(hInst, hWndMain,
< 				 MAKEINTRESOURCE(IDD_MAIN_640X240),
< 				 CommandBar_Height(hWndCB));
---
> 	if(width > height){
> 		hDlgMain = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_MAIN_320X240),NULL,MainDlgProc); 
> 	}
> 	else{
> 		hDlgMain = CreateDialog(hInstance,MAKEINTRESOURCE(IDD_MAIN_240X320),NULL,MainDlgProc);
486,487c465,468
< 	SetFocus(GetDlgItem(hWndMain, IDC_BOOT));
< 	SetForegroundWindow(hWndMain);
---
> 
> 
> 	SetFocus(GetDlgItem(hDlgMain, IDC_BOOT));
> 	SetForegroundWindow(hDlgMain);
535c516
< 			SendDlgItemMessage(hWndMain, IDC_KERNEL,
---
> 			SendDlgItemMessage(hDlgMain, IDC_KERNEL,
541c522
< 		SendDlgItemMessage(hWndMain, IDC_KERNEL, CB_ADDSTRING, 0,
---
> 		SendDlgItemMessage(hDlgMain, IDC_KERNEL, CB_ADDSTRING, 0,
546c527
< 	SendDlgItemMessage(hWndMain, IDC_KERNEL, CB_SETCURSEL, 0,
---
> 	SendDlgItemMessage(hDlgMain, IDC_KERNEL, CB_SETCURSEL, 0,
549,550c530,531
< 	SetDlgItemText(hWndMain, IDC_KERNEL, pref.kernel_name);
< 	SetDlgItemText(hWndMain, IDC_OPTIONS, pref.options);
---
> 	SetDlgItemText(hDlgMain, IDC_KERNEL, pref.kernel_name);
> 	SetDlgItemText(hDlgMain, IDC_OPTIONS, pref.options);
556c537
< 		idx = SendDlgItemMessage(hWndMain, IDC_FBSELECT, CB_ADDSTRING,
---
> 		idx = SendDlgItemMessage(hDlgMain, IDC_FBSELECT, CB_ADDSTRING,
558c539
< 		SendDlgItemMessage(hWndMain, IDC_FBSELECT,
---
> 		SendDlgItemMessage(hDlgMain, IDC_FBSELECT,
564c545
< 	SendDlgItemMessage(hWndMain, IDC_FBSELECT, CB_SETCURSEL,
---
> 	SendDlgItemMessage(hDlgMain, IDC_FBSELECT, CB_SETCURSEL,
571c552
< 			SetTimer(hWndMain,IDD_TIMER,1000,NULL);
---
> 			SetTimer(hDlgMain,IDD_TIMER,1000,NULL);
580,584c561,562
< 	ShowWindow(hWndMain, SW_SHOW);
< 	UpdateWindow(hWndMain);
< 	while (GetMessage(&msg, NULL, 0, 0)) {
< 		if (osversion < 211 ||
< 		    hWndMain == 0 || !IsDialogMessage(hWndMain, &msg)) {
---
> 	ShowWindow(hDlgMain, SW_SHOW);
> 	UpdateWindow(hDlgMain);
586c564,566
< 			TranslateMessage(&msg);
---
> 
> 	while (GetMessage(&msg, NULL, 0, 0)) {
> 	//	if (osversion < 211 ||
588c568
< 				if(msg.message == WM_CHAR || msg.message == WM_LBUTTONDOWN){
---
> 			if(msg.message == WM_KEYDOWN || msg.message == WM_LBUTTONDOWN){
591c571
< 					KillTimer(hWndMain,IDD_TIMER);
---
> 				KillTimer(hDlgMain,IDD_TIMER);
595a576,579
> 			
> 		if(!IsDialogMessage(hDlgMain, &msg)) {
> 		
> 			TranslateMessage(&msg);
1061a1046
> BOOL BootKernel(int directboot){
1063,1121d1047
< 
< LRESULT CALLBACK WndProc(HWND hWnd, UINT message,
<                           WPARAM wParam, LPARAM lParam )
< {
< 	int i, idx;
< 
< 	switch (message) {
< 	case WM_CREATE:
< 		sndPlaySound(TEXT("OpenProg"), SND_NODEFAULT | SND_ASYNC);
< 		hWndCB = CommandBar_Create(hInst, hWnd, 1);
< 		CommandBar_AddAdornments(hWndCB, STD_HELP, (DWORD)NULL);
< 		palette_init(hWnd);
< 		break;
< 
< 	case WM_PAINT:
< 		{
< 		HDC          hdc;
< 		PAINTSTRUCT  ps;
< 
< 		hdc = BeginPaint(hWnd, &ps);
< 		EndPaint(hWnd, &ps);
< 		}
< 		break;
< 
< 	case WM_PALETTECHANGED:
< 		palette_check(hWnd);
< 		break;
< 
< 	case WM_HELP:
< 		/*
< 		MessageBox (NULL, TEXT("HELP NOT AVAILABLE"),
< 			    szAppName, MB_OK);
< 		*/
< 		DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), hWnd, DlgProc2);
<         break;
< 
< 
< 	case WM_TIMER:
< 		if(!booting){/* ignore! */
< 			KillTimer(hWnd,IDD_TIMER);
< 			stat_printf(TEXT("interrupt2"));
< 			return (1);
< 		}
< 		if(how_long_to_boot > 0){
< 			how_long_to_boot--;
< 			stat_printf(
< 				TEXT("autoboot after %d second,tap or hit any key to interrupt"),
< 				how_long_to_boot);
< 		}
< 		else{
< 			KillTimer(hWnd,IDD_TIMER);
< 			goto BOOTING;
< 		}
< 		break;
< 	case WM_COMMAND:
< 
< 		switch (LOWORD(wParam)) {
< 		case IDC_BOOT:
< 			{
1122a1049
> 	int i;
1134,1135c1061
< BOOTING:
< 			if (GetDlgItemText(hWndMain, IDC_KERNEL, wkernel_name,
---
> 	if (GetDlgItemText(hDlgMain, IDC_KERNEL, wkernel_name,
1139c1065
< 				break;
---
> 		return FALSE;
1141c1067
< 			GetDlgItemText(hWndMain, IDC_OPTIONS,
---
> 	GetDlgItemText(hDlgMain, IDC_OPTIONS,
1148c1074
< 				break;				
---
> 		return FALSE;
1159c1085
< 					break;
---
> 			return FALSE;
1165c1091
< 					break;				
---
> 			return FALSE;
1173c1099
< 					break;
---
> 			return FALSE;
1179c1105
< 				break;
---
> 		return FALSE;
1183c1109
< 			EnableWindow(hWndMain, FALSE);
---
> 	EnableWindow(hDlgMain, FALSE);
1185c1111
< 			if (booting || (MessageBox (hWndMain,
---
> 	if (directboot || (MessageBox (hDlgMain,
1194c1120
< 					       hWndMain, DlgProc);
---
> 						   hDlgMain, DlgProc);
1251c1177,1204
< 			EnableWindow(hWndMain, TRUE);
---
> 	EnableWindow(hDlgMain, TRUE);
> 	return FALSE;
> }
> 
> BOOL CALLBACK MainDlgProc(HWND hWnd, UINT message,
>                           WPARAM wParam, LPARAM lParam )
> {
> 	int i, idx;
> 
> 	switch (message) {
> 	case WM_CREATE:
> 		sndPlaySound(TEXT("OpenProg"), SND_NODEFAULT | SND_ASYNC);
> 		hWndCB = CommandBar_Create(hInst, hWnd, 1);
> 		CommandBar_AddAdornments(hWndCB, STD_HELP, (DWORD)NULL);
> 		palette_init(hWnd);
> 		break;
> /*	 case WM_CTLCOLORSTATIC:
> 		SetTextColor((HDC)wParam, GetSysColor(COLOR_STATICTEXT));
> 		SetBkMode((HDC)wParam, TRANSPARENT);
> 		return (long)GetStockObject(WHITE_BRUSH);
> 		break;*/
> 	case WM_PAINT:
> 		{
> 		HDC          hdc;
> 		PAINTSTRUCT  ps;
> 
> 		hdc = BeginPaint(hWnd, &ps);
> 		EndPaint(hWnd, &ps);
1253a1207,1243
> 
> 	case WM_PALETTECHANGED:
> 		palette_check(hWnd);
> 		break;
> 
> 	case WM_HELP:
> 		/*
> 		MessageBox (NULL, TEXT("HELP NOT AVAILABLE"),
> 			    szAppName, MB_OK);
> 		*/
> 		DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUT), hWnd, DlgProc2);
>         break;
> 
> 
> 	case WM_TIMER:
> 		if(!booting){/* ignore! */
> 			KillTimer(hWnd,IDD_TIMER);
> 			stat_printf(TEXT("interrupt2"));
> 			return (1);
> 		}
> 		if(how_long_to_boot > 0){
> 			how_long_to_boot--;
> 			stat_printf(
> 				TEXT("autoboot after %d second,tap or hit any key to interrupt"),
> 				how_long_to_boot);
> 		}
> 		else{
> 			KillTimer(hWnd,IDD_TIMER);
> 			BootKernel(1);
> 		}
> 		break;
> 	
> 	case WM_COMMAND:
> 		switch (LOWORD(wParam)) {
> 		case IDC_BOOT:
> 			BootKernel(0);
> 			break;
1256c1246
< 				      hWndMain, FbDlgProc) == IDOK) {
---
> 				      hDlgMain, FbDlgProc) == IDOK) {
1259c1249
< 				SendDlgItemMessage(hWndMain, IDC_FBSELECT,
---
> 				SendDlgItemMessage(hDlgMain, IDC_FBSELECT,
1262c1252
< 				SendDlgItemMessage(hWndMain, IDC_FBSELECT,
---
> 				SendDlgItemMessage(hDlgMain, IDC_FBSELECT,
1304,1305d1293
< 	default:
<         	return (DefWindowProc(hWnd, message, wParam, lParam));


standbak/pbsdboot/pbsdboot.h stand/pbsdboot/pbsdboot.h
120c120
< extern HWND hWndMain;
---
> extern HWND hDlgMain;


standbak/pbsdboot/print.c stand/pbsdboot/print.c
85c85
< 	return MessageBox(hWndMain, buffer, caption, type);
---
> 	return MessageBox(hDlgMain, buffer, caption, type);
99c99
< 		SetDlgItemText(hWndMain, IDC_STATUS, buffer);
---
> 		SetDlgItemText(hDlgMain, IDC_STATUS, buffer);


standbak/pbsdboot/res/pbsdboot.rc stand/pbsdboot/res/pbsdboot.rc
39c39
< IDD_FB DIALOGEX 0, 0, 119, 96
---
> IDD_FB DIALOG DISCARDABLE  0, 0, 119, 96
72,73c72,74
< IDD_MAIN_240X320 DIALOGEX 0, 0, 147, 162
< STYLE WS_POPUP
---
> IDD_MAIN_240X320 DIALOGEX 0, 0, 136, 153
> STYLE DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU
> CAPTION "Welcome to PocketBSD!"
76c77
<     COMBOBOX        IDC_KERNEL,55,21,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 
---
>     COMBOBOX        IDC_KERNEL,55,12,76,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 
78c79
<     COMBOBOX        IDC_FBSELECT,55,36,75,109,CBS_DROPDOWNLIST | WS_VSCROLL | 
---
>     COMBOBOX        IDC_FBSELECT,55,32,69,109,CBS_DROPDOWNLIST | WS_VSCROLL | 
80,81c81,82
<     PUSHBUTTON      "...",IDC_FBSETTING,130,40,10,8
<     EDITTEXT        IDC_OPTIONS,55,51,85,12,ES_AUTOHSCROLL | NOT WS_BORDER,
---
>     PUSHBUTTON      "...",IDC_FBSETTING,124,36,10,8
>     EDITTEXT        IDC_OPTIONS,56,51,71,12,ES_AUTOHSCROLL | NOT WS_BORDER,
83,84c84,85
<     DEFPUSHBUTTON   "&Boot",IDC_BOOT,51,114,45,12
<     EDITTEXT        IDC_STATUS,5,150,135,10,ES_AUTOHSCROLL | ES_READONLY | 
---
>     DEFPUSHBUTTON   "&Boot",IDC_BOOT,46,114,45,12
>     EDITTEXT        IDC_STATUS,8,136,121,12,ES_AUTOHSCROLL | ES_READONLY | 
86,90c87,90
<     LTEXT           "Welcome to PocketBSD!",IDC_STATIC,5,5,120,10
<     RTEXT           "Kernel name:",IDC_STATIC,0,25,52,8
<     RTEXT           "Frame Buffer:",IDC_STATIC,0,40,52,8
<     RTEXT           "Options:",IDC_STATIC,0,55,52,8
<     PUSHBUTTON      "Properties",IDC_PROPERTY,50,83,47,15
---
>     RTEXT           "Kernel name:",IDC_STATIC,4,13,46,8
>     RTEXT           "Frame Buffer:",IDC_STATIC,0,33,52,8
>     RTEXT           "Options:",IDC_STATIC,8,53,40,8
>     PUSHBUTTON      "Properties",IDC_PROPERTY,45,84,47,15
93,94c93,95
< IDD_MAIN_640X240 DIALOGEX 0, 0, 240, 120
< STYLE WS_POPUP
---
> IDD_MAIN_320X240 DIALOGEX 0, 0, 160, 101
> STYLE DS_CENTER | WS_CAPTION | WS_SYSMENU
> CAPTION "Welcome to PocketBSD!"
97c98
<     COMBOBOX        IDC_KERNEL,105,21,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 
---
>     COMBOBOX        IDC_KERNEL,57,9,85,139,CBS_DROPDOWN | CBS_AUTOHSCROLL | 
99c100
<     COMBOBOX        IDC_FBSELECT,105,36,75,70,CBS_DROPDOWNLIST | WS_VSCROLL | 
---
>     COMBOBOX        IDC_FBSELECT,57,27,89,70,CBS_DROPDOWNLIST | WS_VSCROLL | 
101,102c102,103
<     PUSHBUTTON      "...",IDC_FBSETTING,180,40,10,8
<     EDITTEXT        IDC_OPTIONS,105,51,85,12,ES_AUTOHSCROLL | NOT WS_BORDER,
---
>     PUSHBUTTON      "...",IDC_FBSETTING,148,32,10,8
>     EDITTEXT        IDC_OPTIONS,59,44,86,12,ES_AUTOHSCROLL | NOT WS_BORDER,
104,109c105,109
<     DEFPUSHBUTTON   "&Boot",IDC_BOOT,100,90,45,12
<     RTEXT           "Kernel name:",IDC_STATIC,50,25,52,8
<     RTEXT           "Frame Buffer:",IDC_STATIC,50,40,52,8
<     RTEXT           "Options:",IDC_STATIC,50,55,52,8
<     LTEXT           "Welcome to PocketBSD!",IDC_STATIC,20,6,120,10
<     EDITTEXT        IDC_STATUS,5,105,230,12,ES_AUTOHSCROLL | ES_READONLY | 
---
>     DEFPUSHBUTTON   "&Boot",IDC_BOOT,86,64,45,12
>     RTEXT           "Kernel name:",IDC_STATIC,2,12,52,8
>     RTEXT           "Frame Buffer:",IDC_STATIC,2,28,52,8
>     RTEXT           "Options:",IDC_STATIC,5,44,52,8
>     EDITTEXT        IDC_STATUS,1,84,155,12,ES_AUTOHSCROLL | ES_READONLY | 
111c111
<     PUSHBUTTON      "Properties",IDC_PROPERTY,100,72,45,11
---
>     PUSHBUTTON      "Properties",IDC_PROPERTY,16,64,45,11
165,180d164
<     END
< 
<     IDD_MAIN_240X320, DIALOG
<     BEGIN
<         LEFTMARGIN, 7
<         RIGHTMARGIN, 140
<         TOPMARGIN, 7
<         BOTTOMMARGIN, 155
<     END
< 
<     IDD_MAIN_640X240, DIALOG
<     BEGIN
<         LEFTMARGIN, 5
<         RIGHTMARGIN, 233
<         TOPMARGIN, 6
<         BOTTOMMARGIN, 113


standbak/pbsdboot/res/resource.h stand/pbsdboot/res/resource.h
9a10
> #define IDD_MAIN_320X240                106