//Do never, never, never edit resources with VisualC!
//MSVC is a resource destroyer, nothing else.
//Borland Resource Workshop is somehow better but still far from being perfect.
//It affect only the edited dialog.
//RW should be set up to generate CONTROL entries only.
//This enables removing WS_TABSTOP from group boxes.
//Note that both editors destroy string resources (RW: when touching)
//that contain \0.
//To translate this resource file, please edit _this_ text file and
//check for sufficient space in a dialog editor, but NEVER SAVE.

#ifndef WIN32
# define DS_3DLOOK	0x0004
# define BS_FLAT	0x8000
# define ES_NUMBER	0x2000
# define DS_SHELLFONT	0x0048
# define DS_CONTEXTHELP	0x2000
# define DLGFONT	"Helv"
#endif
#define IDC_STATIC	-1

100 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Emulation"
FONT 8,DLGFONT
{
 ICON		100,IDC_STATIC,12,8,20,20
 CTEXT		"",20,6,28,34,8,SS_NOPREFIX
 LTEXT		"Emulated port &address:",IDC_STATIC,56,8,82,8
 COMBOBOX	100,142,6,100,100,CBS_DROPDOWN|WS_VSCROLL|WS_TABSTOP
 LTEXT		"LPT &enhancement mode:",IDC_STATIC,56,26,82,8
 COMBOBOX	102,142,24,100,100,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
 GROUPBOX	"Trapping method for IN and OUT instructions",IDC_STATIC,8,38,238,76
 CONTROL	"&Debug register trap",10,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,50,224,10
 LTEXT		"(catches all flavours of IN and OUT instructions)",IDC_STATIC,28,62,212,10,SS_NOPREFIX
 CONTROL	"&Force allocation, even if previously allocated",17,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,34,74,206,10
 CONTROL	"&READ/WRITE_PORT_UCHAR/USHORT/ULONG redirect",11,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,86,224,10
 LTEXT		"(faster, more stable)",IDC_STATIC,28,98,212,10,SS_NOPREFIX
 GROUPBOX	"Performance options",IDC_STATIC,8,118,238,88
 CONTROL	"Use &write-back for OUT instructions",12,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,16,130,224,10
 LTEXT		"(Concatenate multiple OUT instructions to one USB packet)",IDC_STATIC,28,140,212,10,SS_NOPREFIX
 RTEXT		"Send packet after that &timeout value:",IDC_STATIC,28,154,132,8
 EDITTEXT	101,164,152,50,14,ES_CENTER|ES_AUTOHSCROLL|ES_NUMBER
 LTEXT		"ms",IDC_STATIC,218,154,10,8
 CONTROL	"Read-&back local copy of output registers",13,"Button",BS_AUTO3STATE|WS_TABSTOP,16,172,160,10
 PUSHBUTTON	"&More precisely…",103,176,170,64,14
 LTEXT		"(return last-written value on IN instruction; does not work when outputs are driven [low] by external hardware)",IDC_STATIC,28,184,212,20, SS_NOPREFIX
}

101 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Statistics"
FONT 8,DLGFONT
{
 GROUPBOX	"Debug register trap",IDC_STATIC,2,3,250,111
 PUSHBUTTON	"&Reset to zero",116,170,16,76,14
 RTEXT		"OUT instructions:",IDC_STATIC,6,18,88,8
 EDITTEXT	100,98,16,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"IN instructions:",IDC_STATIC,6,34,88,8
 EDITTEXT	101,98,32,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"Emulation errors:",IDC_STATIC,6,52,88,8
 EDITTEXT	102,98,50,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 LTEXT		"(unsupported IN or OUT instruction, e.g. OUTSB)",IDC_STATIC,142,44,108,18,SS_NOPREFIX
 RTEXT		"Stolen debug registers:",IDC_STATIC,6,68,88,8
 EDITTEXT	103,98,66,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 LTEXT		"(An unknown driver wrote to debug registers)",IDC_STATIC,142,66,108,18,SS_NOPREFIX
 CTEXT		"Overwritten debug registers are detected by a 100 ms kernel timer.",IDC_STATIC,6,86,242,8,SS_NOPREFIX
 RTEXT		"Really assigned to:",IDC_STATIC,6,100,88,8,WS_DISABLED
 CONTROL	"SPP",108,"Button",WS_DISABLED|BS_RADIOBUTTON,102,100,30,10
 CONTROL	"EPP (+4)",109,"Button",WS_DISABLED|BS_RADIOBUTTON,140,100,44,10
 CONTROL	"ECP (+400h)",110,"Button",WS_DISABLED|BS_RADIOBUTTON,192,100,56,10
 GROUPBOX	"READ_PORT_UCHAR / WRITE_PORT_UCHAR redirection",IDC_STATIC,2,116,250,48
 PUSHBUTTON	"Reset to &zero",117,170,128,76,14
 RTEXT		"OUT instructions:",IDC_STATIC,6,132,88,8
 EDITTEXT	104,98,128,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"IN instructions:",IDC_STATIC,6,148,88,8
 EDITTEXT	105,98,146,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 RTEXT		"Oversized:",IDC_STATIC,142,148,60,8
 EDITTEXT	106,206,146,40,14,ES_CENTER|ES_AUTOHSCROLL|ES_READONLY
 PUSHBUTTON	"USB2LPT Sp&ecial…",111,8,166,110,12,BS_FLAT
 PUSHBUTTON	"Firmware &Update…",112,136,166,110,12,BS_FLAT
 CTEXT		"haftmann#software, Technical University Chemnitz,\nFaculty of Electronics Engineering and Information Technology,\nProfessur für Mess- und Sensortechnik, 2006-2009",IDC_STATIC,2,180,250,26
}

102 DIALOG 254,210,198,58
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_CONTEXTHELP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Read-back copy of output registers"
FONT 8,DLGFONT
{
 CONTROL	"&Data port (base address + 0)",20,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,6,132,10
 CONTROL	"&Control port (base address + 2)",21,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,20,132,10
 CONTROL	"&Other ports (ECP, EPP)",22,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,8,34,132,10
 DEFPUSHBUTTON	"OK",IDOK,142,6,50,14
 PUSHBUTTON	"Cancel",IDCANCEL,142,24,50,14
}

#ifdef WIN32
// Final page for the Setup New Hardware wizard (CoInstaller, Win32 only)
103 DIALOG 0,0,316,142
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
FONT 8,DLGFONT
{
 LTEXT		"Emulated port &address:",IDC_STATIC,46,8,84,8
 COMBOBOX	100,132,6,100,100,CBS_DROPDOWN|WS_VSCROLL|WS_TABSTOP
 ICON		0, 10, 20,22,20,20
 LTEXT		"A wrong setting may crash your computer or eat the content of your hard disk! Using one of the three predefined addresses should be safe.",IDC_STATIC,46,24,252,22,SS_NOPREFIX
 GROUPBOX	"",IDC_STATIC,8,46,300,60
 ICON		100,IDC_STATIC,20,66,20,20
 LTEXT		"LPT &enhancement mode:",IDC_STATIC,46,60,84,8
 COMBOBOX	102,132,58,100,100,CBS_DROPDOWNLIST|WS_VSCROLL|WS_TABSTOP
 LTEXT		"The LPT enhancement modes enable trapping of further port addresses.\nThese are very seldom used; so the SPP setting is OK.",IDC_STATIC,46,76,252,22,SS_NOPREFIX
 ICON		0, 11, 20,112,20,20
 LTEXT		"These and further settings you can later make in Windows' Device Manager. Point to the USB2LPT device, and open Properties.",IDC_STATIC,46,114,252,22,SS_NOPREFIX
}
#endif

104 DIALOG 0,210,228,238
STYLE DS_MODALFRAME|WS_POPUP|WS_CAPTION|WS_SYSMENU|DS_CONTEXTHELP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"USB2LPT Special"
FONT 8,DLGFONT
{
 GROUPBOX	"Feature Register",IDC_STATIC,6,2,216,164,WS_GROUP
 LTEXT		"(The Feature Register will be kept persistent in EEPROM of USB2LPT device. Access via DeviceIoControl)",99,10,12,210,18,SS_NOPREFIX
 CONTROL	"Open Collectors for &Data Port (+0)",100,"Button",BS_AUTOCHECKBOX|WS_GROUP|WS_TABSTOP,10,33,208,10
 CONTROL	"Open Collectors for &Control Port (+2)",101,"Button",BS_AUTO3STATE|WS_TABSTOP,10,58,208,10
 CONTROL	"switch off &Pullups (and 5V at Pin25 if so wired)",102,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,10,90,208,10
 CONTROL	"D&irect In/Out mode (USB2LPT converts to I/O device)",103,"Button",BS_AUTOCHECKBOX|WS_TABSTOP,10,117,208,10
 LTEXT		"(Weak 5V instead of strong 3.3V for high-level outputs)",IDC_STATIC,22,45,196,8,SS_NOPREFIX
 LTEXT		"(A grayed checkmark means: Open Collectors in SPP mode, Push-Pull otherwise)",IDC_STATIC,22,68,196,16,SS_NOPREFIX
 LTEXT		"(just energy saving)",IDC_STATIC,22,100,196,8,SS_NOPREFIX
 LTEXT		"(No more inverted control and status lines! Therefore no useful LPT emulation, for access via DeviceIoControl.\nRev.4 has 20 I/O lines, 17 otherwise.\nDirection is per-bit and per-pin selectable.)",IDC_STATIC,22,127,196,32,SS_NOPREFIX
 PUSHBUTTON	"&Set && Readback",3,8,172,78,14,WS_GROUP
 PUSHBUTTON	"Scan for short circui&ts",4,102,172,120,14
 GROUPBOX	"Serial Number",IDC_STATIC,6,190,104,26,WS_GROUP
 EDITTEXT	110,10,201,94,12,ES_CENTER|ES_AUTOHSCROLL|WS_DISABLED
 GROUPBOX	"Firmware Date",IDC_STATIC,118,190,104,26,WS_GROUP
 EDITTEXT	111,122,201,94,12,ES_CENTER|ES_AUTOHSCROLL|WS_DISABLED
 DEFPUSHBUTTON	"OK",IDOK,60,220,50,14,WS_GROUP
 PUSHBUTTON	"Cancel",IDCANCEL,119,220,50,14
}

105 DIALOG 0,0,254,210
STYLE DS_MODALFRAME|WS_POPUP|DS_3DLOOK|DS_SHELLFONT
CAPTION		"Monitor"
FONT 8,DLGFONT
{
 CONTROL	"Data &Port (+0)",16,"BUTTON",BS_GROUPBOX|WS_GROUP,8,2,240,26
 CONTROL	"",176,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,12,18,12
 CONTROL	"Read",117,"BUTTON",BS_PUSHBUTTON|WS_TABSTOP,36,12,38,12
 CONTROL	"",160,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,12,18,12
 CONTROL	"&Status Port (+1)",17,"BUTTON",BS_GROUPBOX|WS_GROUP,8,68,240,26
 CONTROL	"",177,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,78,18,12
 CONTROL	"",161,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,78,18,12
 CONTROL	"&Control Port (+2)",18,"BUTTON",BS_GROUPBOX|WS_GROUP,8,94,240,26
 CONTROL	"",178,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,104,18,12
 CONTROL	"",162,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,104,18,12
 CONTROL	"",168,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,126,18,12
 CONTROL	"cfgA (+400h)",118,"STATIC",SS_LEFT|WS_GROUP,36,128,50,8
 CONTROL	"&Read Byte",131,"BUTTON",BS_PUSHBUTTON|WS_GROUP|WS_TABSTOP,38,126,64,14
 CONTROL	"&Address",122,"BUTTON",BS_AUTORADIOBUTTON|WS_GROUP,104,124,50,10
 CONTROL	"&Data",123,"BUTTON",BS_AUTORADIOBUTTON,104,134,50,10
 CONTROL	"&Write Byte",130,"BUTTON",BS_PUSHBUTTON|WS_GROUP|WS_TABSTOP,154,126,64,14
 CONTROL	"cfgB (+401h)",119,"STATIC",SS_RIGHT|WS_GROUP,170,128,50,8
 CONTROL	"",169,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,126,18,12
 CONTROL	"&ECR (+402h)",-1,"BUTTON",BS_GROUPBOX|WS_GROUP,8,142,240,28
 CONTROL	"",186,"EDIT",ES_CENTER|ES_AUTOHSCROLL|ES_READONLY|WS_BORDER|WS_TABSTOP,14,152,18,12
 CONTROL	"",102,"COMBOBOX",CBS_DROPDOWNLIST|CBS_AUTOHSCROLL|WS_VSCROLL|WS_TABSTOP,38,152,76,102
 CONTROL	"FIFO full",120,"BUTTON",BS_AUTORADIOBUTTON|WS_DISABLED,152,148,54,10
 CONTROL	"FIFO empty",121,"BUTTON",BS_AUTORADIOBUTTON|WS_DISABLED,152,158,54,10
 CONTROL	"",170,"EDIT",ES_CENTER|ES_AUTOHSCROLL|WS_BORDER|WS_TABSTOP,224,152,18,12
 CONTROL	"Direction register (USB2LPT specific)",19,"BUTTON",BS_GROUPBOX|WS_GROUP,8,172,240,36
}


STRINGTABLE 	// Emulation+Statistics
{
 16 "Do you really, really want to use this non-standard port address?\n\nYou may crash your computer!"
 17 "This port address is not a valid hexadecimal number!"
 18 "This port address is wrong: too less, too great, or not divisable by 4!"
 19 "On port addresses not dividable by 8, EPP emulation is not possible!"
 20 "Incorrect number as Timeout value! (Must not be larger than 1000 ms.)"
 21 "Assignment of emulated port address"
 22 "This port address must match to the address used by your application software."
 23 "This firmware doesn't support the USB2LPT specific feature register!"
 24 "none"	// serial number
 25 "Context &help"
}

STRINGTABLE 	// firmware update
{
 32 "The firmware is written to the EEPROM successfully.\nCycle power to device to start the new firmware."
 33 "Unknown error while writing firmware to EEPROM. Please do not disconnect device and try again. The USB2LPT device may not working anymore!"
 34 "File ""%s"" is not accepted as firmware for that USB2LPT device!"
 35 "Date of actual (running) firmware: %s\n\nDate of firmware to be written: %s\n\nProceed?"
 36 "unknown"		// firmware date (early releases have no date inside)
 37 "Firmware\0*.iic"	// filter for open file standard dialog
 38 "Perfect function."
 39 "Incorrect function detected! Run Kurzschlusstest.EXE for details."
 40 "Do you measure HIGH level on all 17 lines?"
 41 "The firmware for Low-Speed USB2LPT device with ATmega controller cannot be updated here, but you can set a flag for activating a built-in boot loader. After power cycling you must update using ""bootloadHID.EXE"".\n\nProceed?"
}

STRINGTABLE 	// monitoring property sheet
{
 48 "SPP (Nibble)\0Bidirectional\0AutoStrobe\0ECP\0EPP\0reserved\0test mode\0Configuration"
 49 "additional\0reserved\0Interrupt Request\0Error\0Online\0Paper End\0Acknowledge\0Busy"
 50 "Strobe\0AutoFeed\0Init\0Select Input\0Interrupt Enable\0Data direction, 1=input\0not implemented"
 51 "C&ommand\0&Address"	// Changing text for radio button 105/122
 52 "normally\0Nibble Mode\0Byte Mode\0ECP Mode\0EPP Mode"
}

#ifndef WIN32	// For Win32 there is another resource

100 ICON "prop.ico"

1 VERSIONINFO
 FILEVERSION 1,3,2009,628
 PRODUCTVERSION 1,3,2009,628
 FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
 FILEFLAGS 0x1L
#else
 FILEFLAGS 0x0L
#endif
 FILEOS VOS__WINDOWS16
 FILETYPE VFT_APP
 FILESUBTYPE 0x0L
{
 BLOCK "StringFileInfo"
 {
  BLOCK "040904E4"
  {
   VALUE "CompanyName", "haftmann#software\0"
   VALUE "FileDescription", "Property Sheet Provider\0"
   VALUE "FileVersion", "1.03 (6/09)\0"
   VALUE "LegalCopyright", "Public Domain\0"
   VALUE "InternalName", "usb2lpt\0"
   VALUE "OriginalFilename", "usb2lpt.dll\0"
   VALUE "ProductName", "h#s USB to LPT converter\0"
   VALUE "ProductVersion", "-\0"
  }
 }
 BLOCK "VarFileInfo"
 {
  VALUE "Translation", 0x409, 1252
 }
}

#endif
