Page 2
" NOTICE AS IS WITH ALL FAULTS." ALL WARRANTIES ARE EXPRESSLY DISCLAIMED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Acknowledgments ActiveX, Microsoft, MS, MS DOS, Windows, Windows NT MSDN, Visual Basic, Visual C++, Windows for Pen Borland dBase Turbo Pascal Borland C...
Page 10
CONTENTS SECTION 7 Reference, System Information viii PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 11
CONTENTS SECTION 8 Reference, Open Systems Publications APPENDIX A Sample Configuration Files APPENDIX B Common PEN*KEY 6000 Series Information PEN*KEY 6100 Computer Programmer’s Reference Guide...
Preface Level of Expertise Needed For the New User Reference, Open Systems Publications Customer Support Appendix B, Common PEN*KEY 6000 Series Information Memory Overview The Windows Environment Related Publications Look at What has Changed (from previous editions) Recent Changes System Information Reference Reference, System Information Reference, Open Systems...
Page 17
Preface Interrupt Index Conversions and Interrupts Interrupt Index Reprogramming Flash Memory Getting Started Earlier Changes Organization in General 6100 Programmer's Reference Guide PEN*KEY Programmer's Reference Guide Sample Configuration Files Getting Started Appendix A Common 6000 Series Information pendix B The Structure of the Book Getting Started - "...
Page 18
Preface Power Management - " Communications and Device Support - " Communications Support: " Device Support: " Conversions and Interfaces - " Interrupt Cross Reference Conversions: " Cross Reference by Interrupt Numbers: " Interrupt Definitions: " Reference, System Information - "...
Page 19
Preface Locating Applications in this Book Contents " Files Index " " Supporting DOS Applications Supporting Windows Applications " Application Description Section PEN*KEY 6100 Computer Programmer’s Reference Guide...
Preface Application Description Section Development Resources" Getting Started" Other NORAND Software" Description Customer Support Factory Service Customer Support Center support@intermec.com Web Site http://norbbs.norand.com/index.htm http://corp.intermec.com/manuals/english.htm. PEN*KEY 6100 Computer Programmer’s Reference Guide...
Section 1 Getting Started " " " " " " " " " " " " " " " " " " " " Introduction Structure of the Book Locating Information Topic Summary Topic Page PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 24
Getting Started SECTION 1 List of Figures and Tables Figure / Table Page An Open System Environment Introduction to the 6100 Computer How the Hardware is Different Processor Display User Input PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 1 Getting Started Power Management " " " " " " Batteries B CAUTION: This terminal has ONE primary power source, the MAIN Battery. The only function of the Backup Battery is to maintain power to RAM while changing Main Batteries. At all times during operation and while being stored (overnight, long periods of time, and even while in suspend), the unit must have its Main Battery installed.
Page 26
Getting Started SECTION 1 Input, Output, and Storage Devices More Varied PC Card " NOTE: Throughout this publication, cards that conform to the PC Card interface standard (the new standard), or the PCMCIA interface standard (the old standard), are commonly referred to as: “PC Card”, or “PC Card xxxxx”...
Getting Started SECTION 1 Tips for Getting Started drive independent System Configuration Minimum Development Configuration PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 1 Getting Started " NOTE 1: SunDisk has been changed to SanDisk. " NOTE 2: The 6100 Computer supports SRAM PC Cards natively — meaning, no extra device driv- ers to load. However, SanDisk cards are not supported through the 6100 BIOS and thus, need Card and Socket services to be loaded before they can be used.
Page 30
Getting Started SECTION 1 " " " " " Windows Configurations should " " " " " " Prerequisites for IFL Card Creation " " " " " Creating a Master Mode Boot (IFL) Card PROG 61FL1000.BIN d: " NOTE: Do not use the DOS COPY or XCOPY command to create the IFL card.
Page 31
SECTION 1 Getting Started Updating PEN*KEY 6100 Flash Preferred Approach Master Mode Boot Approach Creating a Custom Flash " NOTE: Be aware! DO NOT attempt to add files beyond the 1 MB limit for disk space on the 6100 Computer. This does not check disk space for you. C:\NORAND\6100\FLASH\BOOTCARD>...
Page 32
Getting Started SECTION 1 This is a very important IMAGE imgfile [switches] [filelist] imgfile /BOOTSEC=pathname /DATE=mm/dd/yy[yy] /FATS=[1|2] /FILES=n /FORMAT=[360|512|720|1024|1440|2048|2880|4096[K[B]]] /LABEL=[“]volume name[”] /ORG=n[[K[B]] /SPC=n 1-10 PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 1 Getting Started /TIME=hh:mm:ss /VOLSER=xxxx[–]xxxx @pathname pathname (with wild card characters) (a final comment) Key Files Used in the Flash Upgrade Process " " Development Environments Microsoft DOS 5.0 " " Microsoft Windows 3.1 " " " " PEN*KEY 6100 Computer Programmer’s Reference Guide 1-11...
Page 34
Getting Started SECTION 1 " " DOS Pen Calibration Supporting DOS Ap plications BGI Support Appendix A, Sample Configuration Files PenDOS Handwriter Recognition System Handwriter Recognition System PenPal (DOS) " NOTE: PenPal Associates no longer provides enhancement support for PenPal in the environment in which PEN*KEY 6000 Series Computers operate, except for bug fixes.
SECTION 1 Getting Started Windows Handwriting Recognition CIC Handwriter Recognition System for Windows Synap tics Handwriter Recognition HR 1200 Memory Over view Appendix B, Common PEN*KEY 6000 Series Information CIC Handwriter Recognition System for Windows " NOTE: This product only works in the ENHANCED mode. Synaptics Handwriter Recognition HR-1200 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Getting Started SECTION 1 Pen Extensions for Windows Keyboard Options Microsoft Windows for Pen Computing Configurable PEN Popup Keyboard Microsoft Visual Basic for Windows 1-14 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 37
SECTION 1 Getting Started " " " " NOTE: Be aware that the 6100 Computer is a 386-based system. Performance with Visual Basic may be an issue, especially with the latest Visual Basic offerings. Borland Delphi for Windows Microsoft Visual C++ or Borland C++ for Windows Other Environments Some Screen Considerations [Pen...
Page 38
Getting Started SECTION 1 Some System Guidelines " NOTE: A typical development machine (60 100 MHz 486) hides some speed issues that is evident on a slower 386 machine. Setup for PC Development " NOTE: Always keep the 6100 Computer on charge while performing any setup. "...
Page 39
SECTION 1 Getting Started ROM DOS 5 Start from: 1) Memory card 1 =A: 2) Memory card 2 =B: 3) RamDrive 4) RomDrive PEN*KEY Model 6100 User's Guide Appendix A, Sample Configuration Files device=d:\elanapm.exe device=d:\nordospm.exe 1. Drive B: (upper) PC Card slot 2.
Getting Started SECTION 1 Development Resources Topics Page PC Card Support NORAND Card and Socket Services: ELANCSSS.EXE ATA BIOS Conversions and Interfaces Docks and Modems Communications and Device Support 1-18 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 41
SECTION 1 Getting Started EXAMPLE: The following is an example for ELANCSSS.EXE usage: device=d:\norcs\elancsss.exe EXAMPLE: The following are examples for SanDisk usage: device=d:\norcs\atabios.sys /r device=d:\norcs\norata.sys EXAMPLE: The following is an example for PC Card modem usage: devicehigh=d:\norcs\normod.sys /c4 /s /d 16b 21 20 where: /c4 = install as COM4 /s = save and restore UART values for COM4 on SUSPEND/RESUME...
Page 42
Getting Started SECTION 1 SystemSoft Card and Socket Services Table 1 2 NORAND Card and Socket Files File Description Note: use with CardSoft drivers only Note: use with CardSoft drivers only. Table 1 3 Initialization Files File Description 1-20 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 43
SECTION 1 Getting Started Table 1 4 Card Libraries File Description GENATA.CLB Generic ATA drive library SUNDISK5.CLB SanDisk SDPL5 5-meg ATA drive library GENMODEM.CLB Generic modem library SanDisk Support " " " NOTE: The version Stacker that is shipped on the SanDisks is incompatible with Windows 95. If your development environment is Windows 95 and you need to leave Stacker on the San- Disks, then when you copy files over to the SanDisk, you need to boot a previous version of DOS in order to access the card.
Page 44
Getting Started SECTION 1 Communications Via INTERLNK and INTERSVR INTERLNK device=c:\dos\interlnk.exe /drives:4 " NOTE: If you are running Windows 95 on your 6100 Computer, you may want to consider an alterna- tive method of running INTERLNK/INTERSVR, such as booting to an earlier version of DOS. INTERSVR C:\WIN>INTERLNK 1-22...
SECTION 1 Getting Started Port=COM2 This Computer Other Computer (Client) (Server) ––––––––––––––– –––––––––––––––––– equals equals equals equals D: (519Kb) RAM Drive PEN*KEY 6100 Computer Programmer’s Reference Guide 1-23...
Page 46
Getting Started SECTION 1 " NOTE: Reboot the HHC after the RAM drive is created (or altered), to make the change effective. Norand Utilities and Communications Norand Utilities Communica tions and Device Support Creating a (Host) Download Include File “newname=oldname” oldname newname oldname...
Page 47
SECTION 1 Getting Started " " " " IPLFMT.EXE <list file> <include file> is the name of the download list file created, above. is 6100IPL.INC. This file is created by IPLFMT.EXE. TCOM Session Overview Communications and Device Support NPCP Network 4920 Boot Disk: "...
Page 48
Getting Started SECTION 1 NRInet TFTP Other Intermec Software Topic Page 1-26 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Getting Started SECTION 1 " NOTE: Be aware that the Magnetic Stripe Reader (MSR) software is still evolving. It reads most common codes, but is currently being modified to work with some of the less common codes. Which means, if you write an application for the current MSR, then when a new MSR is re- leased at a later date, your application will be tied to the way the old MSR works, and may not work with the new MSR.
Page 52
Getting Started SECTION 1 Standard PC Function 6100 Command(s) Required to Perform Function FIXEMM.EXE: Fix for EMM386 Memory Management ISRAMDRV.COM: Determine if RAM Drive Exists ISRAMDRV.COM IF ERRORLEVEL 1 GOTO NoRamDrive IF NOT ERRORLEVEL 1 GOTO RamDrivePresent MMBFLAG.COM: Set/Get ROM DOS Boot Flags "...
Supporting DOS Applications SECTION 2 DOS Power Management Driver: NORDOSPM.EXE Overview NORDOSPM.EXE The DOS power management driver. The APM BIOS installation for DOS. ELANAPM The system BIOS. BIOS Hardware The 6100 Computer hardware. Figure 2 1 Power Management Software Installation device=elanapm.exe device=nordospm.exe APM BIOS Interfaces: ELANAPM.EXE...
Page 55
SECTION 2 Supporting DOS Applications ELAN Configuration Driver: ELANCFG.EXE Usage ELANCFG.EXE <optional arguments> /? /An /Cn /Dn /En /Hn /In /Kn /Ln /Mn /Rn /Tn /Vn /Wx /S Command Line Switches Help screen ATA Primary Activity Monitor Configure System Management Set Time out from Doze to Sleep AC Power Activity Monitor Set Time out from High Speed to Low Speed...
Page 56
Supporting DOS Applications SECTION 2 /IOxn Set Activity to I/O Address Keyboard Activity Monitor Set Time out from Low Speed to Doze PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 2 Supporting DOS Applications Power States the time at High speed before going to Low speed the time at Low speed before going to Doze the time at Doze before going to Sleep elancfg.exe /H10 /l20 /d30 elancfg /H10 /L10 /D0 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 58
Supporting DOS Applications SECTION 2 DOS Pen Driver: 61MOUSE.COM Overview Conversions and Interfaces Standard Mouse interface: INT 33 Ralf Brown's Interrupt list Standard Mouse Interface: INT 33 Reference, Open Systems Publica tions Installation File Directory d:\path\61MOUSE.COM \path\ Driver installed 6100 Digitizer enabled "...
Page 59
SECTION 2 Supporting DOS Applications DOS Pen Calibration: CALIB.EXE Overview Configuration Required Calibration Files CALIB.EXE (calibration utility) N6100.BGI (BGI driver) " NOTE: See BGI Support in Appendix A, Sample Configuration Files for BGI driver information Usage PEN*KEY 6100 Computer Programmer’s Reference Guide...
Supporting DOS Applications SECTION 2 DOS NPCP Printing: PC4800.SYS Overview Driver Installation and Configuration Required CONFIG.SYS Entry device=pc4800.sys LPT1 1 /i1 PC4800.SYS [<device name> [<port number> [/in ]]] " NOTE: The order of the command line parameters is important (for example, specify a <device name>...
Page 63
SECTION 2 Supporting DOS Applications fprintf() struct ioargs { far *unsigned char ioctl_cmd; far *unsigned char ioctl_buf; ONLINE = 2 STATUS = 3 GET DEVICE FEATURES = 4 SELFTEST = 5 RESET GET CURRENT CONFIGURATION =7 XTENDED ERROR = 255 Notes PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 64
Supporting DOS Applications SECTION 2 DOS IrDA Printing: PRDRV.SYS, IRDAPDRV.EXE Overview " NOTE: Only one open connection is allowed at this time. IOCMD_STATUS : 0x03 requestHeader.headerStatus = detailedErrorCode; break; IOCMD_ID : 0x80 requestHeader.headerStatus = 0x0a; break; default : requestHeader.headerStatus = detailedErrorCode; break;...
Page 65
SECTION 2 Supporting DOS Applications BUFFER_GET_FAILURE write failure –– could not get a transmit buffer to send the data to the printer. BAD_CONNECTION_HANDLE open, write, or close failure –– a defective connection handle was encountered during the flushing of the driver’s coalescence buffer. UNKNOWN_TRANSMIT_FAILURE open, write, or close failure ––...
Page 70
Supporting Windows Applications SECTION 3 NORAND Minimal Windows Installation " NOTE: Before loading Windows, be sure to unload VROTATE.EXE, if previously loaded. Otherwise, the results could be unpredictable. To unload VROTATE, issue the VROTATE –d command. Installation Windows Components Windows Operating Modes Windows Components Configuration Normal Startup (Standard Mode)
SECTION 3 Supporting Windows Applications DOSX.EXE Startup Windows Internals Windows Components Table 3 1 Windows Startup and Shell Programs Component Description Table 3 2 Initialization Files Component Description Table 3 3 Windows System Kernel Component Description Optional, if no DOS applications are run during a Windows session. PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 72
Supporting Windows Applications SECTION 3 Table 3 4 Windows Enhanced Mode Files Component Description (All files in this group are needed only for Enhanced mode.) Table 3 5 Windows System Device Drivers Component Description Required only if NOR4800.DRV for NPCP printing is used. Table 3 6 Windows Installable Device Drivers Component...
Supporting Windows Applications SECTION 3 NorShellLaunch=<program list> run= SW_SHOWMINIMIZED ShowWindow NORSHELL WIN.INI Examples [WINDOWS] NorShellRun=MYAPP.EXE /a switch /another switch NorShellRunDir=c:\app NorShellLaunch=clock.exe calc.exe [WINDOWS] NorShellRun=WINFILE.EXE run=clock.exe calc.exe Shutting Down Windows Windows Power Management Driver: NORWINPM.DRV, VPOWERD.386 " " " PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 75
SECTION 3 Supporting Windows Applications Installation starting drivers= [boot] drivers= power pen penwindows scanner npcp irda drivers= power [drivers] power=norwinpm.drv pen=uclkpen.drv [386 enh] device=vpowerd.386 power= pen= " NOTE: Do not load the DOS Power Management driver, NORDOSPM.EXE, if the 6100 Computer is running Windows.
Supporting Windows Applications SECTION 3 NORWINPM.DRV SYSTEM.INI Configuration Example [Power Driver] MsgLevel=1 Miser=1 OnTop=1 User Notifications Installation Messages Could not find APM BIOS, Windows power management not installed! APM BIOS connect failed! Power management disabled! Could not allocate a timer for polling APM BIOS! Power management disabled! An application or driver is refusing to suspend Informational Messages...
SECTION 3 Supporting Windows Applications Always on Top OnTop= Power Driver Figure 3 1 Fuel Gauge Display NORAND Power Management Programming Interface for Windows Windows Power Management CPU Power Management Power Management by Windows Applications PEN*KEY 6100 Computer Programmer’s Reference Guide 3-11...
Page 80
Supporting Windows Applications SECTION 3 Call PeekMessage() if no messages, perform background processing if there is no background processing to do, then call GetMessage() call WaitMessage() " NOTE: Some Windows application libraries are not written with mobile computing in mind and may make use of PeekMessage() busy-loops in their message handlers.
Page 81
SECTION 3 Supporting Windows Applications Windows Installable Drivers DriverProc DOS Real-Mode Drivers and TSRs Windows System Drivers Standard APM Event Codes SUSPENDREQUEST, System Suspend Request Notification suspend time out SUSPENDRESUME, Normal Resume System Notification PWRCHANGE, Power Status Change Notification first tagPOWER_STATUS PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 82
Supporting Windows Applications SECTION 3 BATLOW, Battery Low Notification last tagPOWER_STATUS USERSUSPEND, User System Suspend Request Notification TIMEUPDATE, Update Time Notification CRITICALSUSPEND, Critical System Suspend Notification CRITICALRESUME CRITICALRESUME, Critical Resume System Notification STANDBYREQUEST, System Standby Request Notification standby STANDBYREQUEST USERSTANDBY USERSTANDBYRESUME APM Event Code Broadcast Values APM Event Code Broadcast Values...
Page 83
SECTION 3 Supporting Windows Applications Windows Pen Driver: UCLKPEN.DRV Pen Applications Microsoft Windows for Pen Computing Microsoft Windows for Pen Computing Microsoft Windows for Pen Computing . Microsoft Windows for Pen Computing Installation File Directory Configuration [Pen Driver] drivers= boot drivers Microsoft Windows for Pen Computing Microsoft Windows for Pen Computing...
Page 84
Supporting Windows Applications SECTION 3 Required SYSTEM.INI Entries [boot] drivers= power irda pen penwindows scanner npcp [drivers] power=norwinpm.drv pen=uclkpen.drv penwindows=penwin.dll drivers= penwindows pen=UCLKPEN.DRV penwindows= SYSTEM.INI Configuration Example Appendix A, Pen Driver Sample Configuration Files Hardware Interface PortAddr IrqLevel BaseClock " NOTE: This entry sets the base clock value for Gazelle/Logitech digitizer.
Page 85
SECTION 3 Supporting Windows Applications PointsPerSecond Microsoft Windows for Pen Computing MaxIPS Digitizer Calibration driver cxRawWidth cyRawHeight wDistinctWidth wDistinctHeight PEN*KEY 6100 Computer Programmer’s Reference Guide 3-17...
Page 87
SECTION 3 Supporting Windows Applications FlipX SYSTEM.INI Configuration Example for UCLKPEN.DRV [Pen Driver] ; Increase wOffsetX to move cursor down relative to pen. wOffsetX=696 ; Increase wOffsetY to move cursor to left relative to pen. wOffsetY=709 ; Increase wDistinctWidth to make cursor move slower relative to pen in the ;...
Page 88
[boot] " NOTE: A recognizer must be purchased and installed for this application to be useful. Intermec Technologies Corporation offers both CIC and Synaptics. Refer to the “Getting Started” sec- tion of this publication for information on handwriting recognition.
Page 89
SECTION 3 Supporting Windows Applications Integrated Scanner: 61SCAN.DRV " " Installation File Directory " NOTE: NORWINPM.DRV needs to be loaded before 61SCAN.DRV. Configuration SYSTEM.INI Entries [boot] drivers=power irda pen penwindows scanner npcp drivers= drivers [drivers] scanner=61SCAN.DRV scanner=61SCAN.DRV boot Entries in [scanner driver] Section of SYSTEM.INI [Scanner Driver] ScannerHardwareType=PEN*KEY MessageBeepScanVerification=INTERNAL...
Page 91
SECTION 3 Supporting Windows Applications OpenDriver hDRVR = OpenDriver(“61SCAN.DRV”, (LPCSTR)NULL, (LPARAM)NULL); WM_CHAR WM_CHAR wParam lParam 0x00000000 CloseDriver CloseDriver(hDRVR, (LPARAM)NULL, (LPARAM)NULL); " NOTE: See the Borland C++ help for OpenDriver / CloseDriver. See also Windows 3.1 SDK for additional information. NPCP Printing for Windows: NOR4800.DRV, UNIDRV.DLL (StartDoc() EndDoc() Installation...
Power Management SECTION 4 APM aware " " System Power States " " " " " " Set Power State, Get Power State, Enable/Disable Device Power Management System Power State Management PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 105
SECTION 4 Power Management I/O Address (Hex) Device Set Device Activity Timer Get Device Activity Timer Device Activity Mask Get Device Activity Mask CPU IDLE CPU BUSY tem Suspend System Suspend Set Power State CPU IDLE CPU Busy Set Power State PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 106
Power Management SECTION 4 " " " " " " Get Wakeup Mask Set Wakeup mask Device Power Control Set Power State Enable/Disable Device Power Man agement Set Power State Table 4 1 Power States (General Definitions) State Description Table 4 2 Power States (Display) Power State Description...
Page 107
SECTION 4 Power Management Table 4 3 Power States (PC Card) Power State Description Table 4 4 Power States (Serial Port) Power State Description Table 4 5 Power States (Digitizer) Power State Description Table 4 6 Power States (Pod) Power State Description Table 4 7 Power States (PC Card Slot)
Power Management SECTION 4 Table 4 8 Power States (System) Power State Description Table 4 9 Power States (Backlight) Power State Description APM Software Interface Conversions and Interfaces APM Connection APM Installation Check APM Interface Disconnect Power Management Events Get PM Event PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 109
SECTION 4 Power Management Table 4 10 Power Management Event Codes Code (Hex) Description System Suspend Request Notification Set Power State Enable/Disable Power Management Normal Resume System Notification Critical Resume System Notification Battery Low Notification Power Status Change Notification Critical System Suspend Notification PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 110
Power Management SECTION 4 User System Suspend Request Notification APM Include Files APMEVENT.H PMEVENTS.H Appendix B, Common PEN*KEY 6000 Se ries Information. PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 114
Communications and Device Support SECTION 5 Communications Support Using INTERLNK and INTERSVR Development Re sources Getting Started NORAND Utilities: PSROM0C.EXE PEN*KEY Model 6100 Hand-Held Computer User's Guide System Setup Requirements ASSIGN.COM A:=E: B:=F: NPCP INSTALL=MININET.EXE <path>\MININET.EXE <path>\ PSMDM0C, DOS HHC MODEM TABLES PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 115
SECTION 5 Communications and Device Support NRInet Using PSROM0C Version 3.xx " " " NRInet Using PSROM0C Version 2.xx BOOTP.EXE DHCP.EXE ETHDRV.EXE INET.EXE LSL.COM ODIPKT.COM RS485ODI.COM Link driver RS485ODI Frame Ethernet_II [pctcp ifcust 0] async-send = yes ip-address = nnn.nnn.nnn.nnn subnet-mask = nnn.nnn.nnn.nnn router = nnn.nnn.nnn.nnn [pctcp general]...
Communications and Device Support SECTION 5 nrinet 44965/tcp #Norand Inet File Transfer SET PCTCP=C:\PCTCP.INI TCOM Session Overview Session Control File <DSCNTRL00001Xnnn>PPPPPPPPPPPPPPTTTTTTTTTTTTTTTTYYMMDDHHMMSS . . . < = beginning of file header D = file type (fixed) SCNTRL = file name (fixed) 00001 = decimal number of records in file (fixed) X = data type (ignored by host) nnn = decimal number of bytes in file record...
Page 117
SECTION 5 Communications and Device Support Download Request File " NOTE: The download request file must be the first or second file sent. Otherwise, it is not treated as a special file by the host. <DDWNLRQnnnnnX016>[––filename1–––][––filename2–––] . . . < = Beginning of file header D = File type (fixed) DWNLRQ = File name (fixed) nnnnn = Decimal number of records in file...
Page 118
Communications and Device Support SECTION 5 Type C data type Comments PL/N File Descriptor for Binary Files <DDOSFIL00001Xmmm>F[––dosfilename––] S[filesize]data. . . < = beginning of file header D = file type (fixed) DOSFIL = file name (fixed) 00001 = fixed X = data type (fixed) mmm = decimal number of bytes of file information between end of file header and start of file...
Page 121
SECTION 5 Communications and Device Support STOPBITS= (Example: STOPBITS=1) Valid values: TRIES= EXAMPLE: Example Control File for TTY PROTOCOL=3 COM=1 SPEED=9600 PARITY=0 DATABITS=8 STOPBITS=1 EXAMPLE: Example Control File for NPCP PROTOCOL=4 EXAMPLE: Example Control File for NRInet PROTOCOL=14 IPHOST=nnn.nnn.nnn.nnn Upload Control File Descriptions of File Entries HEADER= as is...
Page 122
Communications and Device Support SECTION 5 FORMAT= EXAMPLE: FORMAT=tnnntnnn. . . t = data type nnn = field length, right-justified and zero-padded Writing TCOM Modules in PL/N for the Hand Held Computer EXAMPLE: FORMAT=X020 FORMAT=N012X016N004 FILE= (Example: FILE=BYPRD.DAT) Minimum NRUPLD.CTL HEADER=<DSCNTRL00001X042>...
SECTION 5 Communications and Device Support Communications Log File BEGS=nnnn nnnn (Example: BEGS=1) UP=d:\pathname\filename,nnn (Example: UP=C:BYTRXN.DAT, 0) Valid values: DOWN=d:\pathname\filename,nnn (Example: DOWN=C:\CUST.DAT, 23) Valid Values: ENDS=x,m,n x = Session status. It is a single character code. m = Stage of the communications session. n = Protocol error code.
SECTION 5 Communications and Device Support Table 5 4 (Continued) NRInet Protocol Errors Error # Meaning Serial Communications Option Connector Serial Lid Installation " " " NOTE: This procedure works only when the unit is not receiving charge from an external power source.
Communications and Device Support SECTION 5 IrDA Communications DOS IrDA Printing Supporting DOS Applications 6000 Series LAN Communications Overview 4000 Backwards Compatibility /10 /14 /16 /PC /C3 Device Support 6100 Display Screen Rotation 4000 Series Screen Emulation Conversions and Interfaces Docks and Modems Modem Device Driver: NORMOD.SYS 5-16...
SECTION 5 Communications and Device Support Charge Indicator " " " RS-485 Connections Port Definitions Reference, System Information Dock Data Connector Computer Comm Port PEN*KEY 6100 Computer Programmer’s Reference Guide 5-17...
Page 130
Communications and Device Support SECTION 5 Terminal to Dock Connector Pinouts 6100 Docking Connector Pinout Table 5 5 Docking Connector Pinout Descriptions (8-Pin) Signal Function 6100 Single/Vehicle Dock 25-Pin Female D-Sub Connector Signal Function / Implementation 5-18 PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 5 Communications and Device Support 6100 Single/Vehicle Dock 9-Pin D-Sub Female Connector Signal Function / Implementation Keyboard Definition and Redefinition References System BIOS for IBM PC's, Compatibles, and EISA Computers, Second Edition Ralf Brown's Interrupt List Keyboard Definitions Logical Keyboard Backlight Contrast Up Contrast Down...
Page 133
SECTION 5 Communications and Device Support Yellow Shifted Keys Yellow shifted Table 5 7 Yellow Shifted Keys Key Number Keyboard Legend Scan Code Yellow Shifted Standard Keyboard Interface Conversions and Interfaces Remapping Keys for a Soft Reset " NOTE: The Soft Reset function is not recommended for users booting off an SRAM card! PEN*KEY 6100 Computer Programmer’s Reference Guide 5-21...
Page 134
Communications and Device Support SECTION 5 Make a Copy of KEYS.INI Appendix A, Sample Configuration Files Modifying NEWKEYS.INI " " " Remapping the 6100 Keypad KEYMAP.EXE [\path\]NEWFILE.INI Implementing the Soft Reset " NOTE: Using “CTL-ALT-DEL” to reset is as robust as it is in conventional PC. If the 6100 processor is hung up, a soft reset may not bring the terminal back.
Page 135
SECTION 5 Communications and Device Support Suspend Home PgUp PgDn BkSp Control Enter 6100 Memory Overview High Memory Area (HMA) Memory Overview Appendix B, Common PEN*KEY 6000 Series Information Using Expanded Memory on the 6100 Computer Expanded memory Expanded memory Expanded memory Memory Overview Appendix B, Common PEN*KEY 6000 Series Information.
Page 136
Communications and Device Support SECTION 5 " NOTE: If FIXEMM.EXE is not loaded, 6100 Computer locks up on Suspend. device=d:\elanump.sys /x=C000,C400,D400,D800,DC00,E000 device=d:\elanump.sys /x=D400,D800,DC00,E000 Upper Memory Provider: ELANUMP.SYS upper memory provide DOS=UMB /X=aaaa[,aaaa] DEVICE=HIMEM.SYS DOS=HIGH DEVICE=ELANUMP.SYS /X=C000, C400 DOS=UMB DEVICEHIGH=... device=d:\elanump.sys /X=C000 5-24 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 137
Section 6 Conversions and Interfaces " " " " " " " " " " " " " " " " " " " " Introduction Topic Summary " List of Tables " Summary Table " Interrupt Cross Reference " Combined Interrupt List Interrupt Index "...
Page 138
Conversions and Interfaces SECTION 6 Topic Summary Topics Page List of Tables Paragraph / Table Page Power Management BIOS Interfaces 6100 BIOS Interfaces 4000 Series Programming Interfaces 4000 Series Screen Emulation Cross Reference by Interrupt Numbers Keyboard Services: Interrupt 16h PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 6 Conversions and Interfaces Converting 4000 Series Applications Introduction Page Files No Longer Supported File Comments New 6000 Series Files New 6000 Series Files New 6000 Series Files Files that Have Changed Files that Have Changed PEN*KEY 6100 Computer Programmer’s Reference Guide...
Conversions and Interfaces SECTION 6 File (Continued) Comments New 6000 Series Files Files that Have Changed CONFIG.SYS Command Comments PL/N Application Changes Appendix A, Sample Configuration Files ROM DOS 5 Reference, System Information CPLNI.COM PC4800.SYS PC-DEXIO.BIN New 6000 Series Files AUTOEXEC.BAT ROM DOS 5 Reference, System Information...
SECTION 6 Conversions and Interfaces 4000API.EXE VROTATE.EXE and FONTSEL.EXE 4000 Series Screen Emulation *.FNT IPLFMT.EXE MININET.EXE Unchanged Files File Comments C++ Application Changes Keyboard geUp PageDown Home Display PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 142
Conversions and Interfaces SECTION 6 Files fflush() " " asm mov ah,0x68 asm mov bx,filehandle asm int 0x21 " int FileCommit(void) REGS regs; SREGS sregs; // Parameter table used by function 5d01h. Only process_id and // computer_id are used. struct { unsigned int ax;...
Page 143
SECTION 6 Conversions and Interfaces Printers Communications Reset Memory Power Management Power NRApmSetPower Management Norlib NRCursorSet PL/N Application Changes ++ifdef" ++ifdef 6000" ++ifdef" PL/N 4000 Series Reference Manual, Volume 1 General Source Changes PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 145
SECTION 6 Conversions and Interfaces Adding 6805 Printer Support to PL/N Applications Install the IrDA Drivers. DOS IrDA Printing Supporting DOS Applications IrDA Printing Supporting Windows Applica tions EXAMPLE: 6100 CONFIG.SYS file: buffers=50 files=99 stacks=64,256 DEVICE=D:\ELANUMP.SYS /X=C000,C400 DOS=HIGH,UMB DEVICEHIGH=D:\ELANAPM.EXE DEVICEHIGH=D:\NORDOSPM.EXE DEVICEHIGH=D:\CLOCK.EXE DEVICEHIGH=D:\PC4800.SYS LPT1 1 /I1 DEVICEHIGH=D:\PRDRV.SYS NP6805$...
Page 146
Conversions and Interfaces SECTION 6 " NOTE: As of this publication, PC-PRTIO.BIN does not support printing to 4810/4815/4820 Printers and PRTIO.BIN does not support the 6805 Printer. If putctl PR_NPCPROT is used with PC- PRTIO.BIN, or putctl 1049 is used with PRTIO.BIN, the application locks up in the printer er- ror procedure.
Page 147
SECTION 6 Conversions and Interfaces EXAMPLE: EXTERNALS ++ifdef 6000 NUMERIC FUNCTION FILECOMMIT = IPFCMT6 ++endif LOCAL VARIABLES 01 RESULT BINARY WORD . . . ++ifdef 6000 ;Commit files to disk when transaction is complete PERFORM FILE_COMMIT ++endif . . . ++ifdef 6000 PROCEDURE FILE_COMMIT RESULT = FILECOMMIT...
Page 148
Conversions and Interfaces SECTION 6 Power Device IDs Value in Register BX Power Device ID (General Definitions) ID (Hex) Description APM Function Summary Table 6 1 APM Interrupt Summary Function Requires INT DOS APM Interrupts (INT 15h) Connection 6-12 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 149
SECTION 6 Conversions and Interfaces APM CPU Idle Interrupt Appendix B, Common PEN*KEY 6000 Series Information, 6100 BIOS Interfaces Overview " " " " Supported BIOS Interfaces Interrupt Index, Interrupt Cross Reference System Timer Interface: Interrupt 08h PEN*KEY 6100 Computer Programmer’s Reference Guide 6-13...
Page 150
Conversions and Interfaces SECTION 6 Standard Keyboard Interface: Interrupt 09h Stan dard Keyboard Interface Display Services: Interrupt 10h Equipment Determination: Interrupt 11h Bits Description On Entry: On Return: 6-14 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 152
Conversions and Interfaces SECTION 6 System Services: Interrupt 15h " " " " " " " " " " Keyboard Services: Interrupt 16h System Reboot: Interrupt 19h " NOTE: Do not use INT 19h to reboot, as it causes a system failure on the 6100 Computer. Interrupt Cross Reference Real-Time Clock: Interrupt 70h Locating 6100 BIOS Interrupts...
Page 153
SECTION 6 Conversions and Interfaces Table 6 2 6100 BIOS Interrupt Summary INT# Supported Interfaces NORAND Proprietary System Interfaces Unsupported PC, 4000 Series BIOS Functions Nonmaskable Interrupt (NMI) 02h Print Screen Interrupt 05h 4000 Series Video BIOS Functions: Interrupts 12h & 14h "...
Page 154
Conversions and Interfaces SECTION 6 " " " " " " " " 4000 Series Screen Emulation Display Services 4000 Series Disk BIOS Services: Interrupt 13h " " " Disk Services 4000 Series Port Control BIOS Services: Interrupt 14h " "...
SECTION 6 Conversions and Interfaces VROTATE.EXE, Parameters and Command Line Switches VROTATE [x y [width height]] [–Repaint_scroll] [–Nowrap] [–PLN] [Disable] Parameters Description PL/N Options Parameters Description Norand Enhanced Video BIOS Functions On Entry: On Return: Subfunctions: Norand Enhanced Video BIOS PEN*KEY 6100 Computer Programmer’s Reference Guide 6-25...
Page 162
Conversions and Interfaces SECTION 6 FONTSEL.EXE, Parameters and Command Line Switches FONTSEL <font_number> FONTSEL <font_number>=<[path\]font_file_name> <font_number> " NOTE: The current default font (and maximum font size) is 12x24. font_number Version Char_width Char_height Font_data ? dup(?) " " " BMP Conversion Utility: BMPUTIL 6-26 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 163
SECTION 6 Conversions and Interfaces Locating 4000 Series Video Interrupts Interrupt Cross Reference Interrupt Cross Ref (by number) VROTATE " Interrupt Index. Interrupt Index Get. Interrupt Cross Reference " VROTATE. Table 6 4 Interrupts Supported by VROTATE.EXE INT# Supported Interfaces Keywords Unimplemented 4000 Series Video Functions "...
Page 164
Conversions and Interfaces SECTION 6 ATA BIOS: ATABIOS.SYS Overview Usage Data Format " " " EXAMPLE: A switch shown as NTTTTTTTT indicates that the “N” switch is followed by (up to) 8 charac- ters (such as –nMODEM1). All switches are optional, and if omitted does NOT default to the switch or the value indicated.
Page 171
SECTION 6 Conversions and Interfaces Standard Keyboard Interface: INT 09h Function Description Keyboard Services PEN*KEY 6100 Computer Programmer’s Reference Guide 6-35...
Page 172
Conversions and Interfaces SECTION 6 Display Services: INT 10h INT 10h, Function AH = 00h: Set Display Mode BIOS On Entry: On Return: " " " " " " " " " " VROTATE On Entry: On Return: 6-36 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 173
SECTION 6 Conversions and Interfaces INT 10h, Function AH = 01h: Set Cursor Type BIOS curstype On Entry: On Return: VROTATE On Entry: On Return: INT 10h, Function AH = 01F9h: Read V25 Comparator Port 4000API On Entry: On Return: PEN*KEY 6100 Computer Programmer’s Reference Guide 6-37...
Page 174
Conversions and Interfaces SECTION 6 INT 10h, Function AH = 02h: Set Cursor Position BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 03h: Read Cursor Position and Mode BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 05h: Set Active Display Page BIOS, VROTATE "...
Page 175
SECTION 6 Conversions and Interfaces INT 10h, Function AH = 06h: Scroll Active Page Up BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 07h: Scroll Active Page Down BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 08h: Read Attribute & Character at Cursor Position BIOS, VROTATE On Entry: On Return:...
Page 176
Conversions and Interfaces SECTION 6 INT 10h, Function AH = 09h: Write Attribute & Character at Cursor Position BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 0Ah: Write Character Only at Cursor Position BIOS, VROTATE On Entry: On Return: 6-40 PEN*KEY...
Page 177
SECTION 6 Conversions and Interfaces INT 10h, Function AH = 0Bh: Set Color Palette BIOS On Entry: On Return: INT 10h, Function AH = 0Ch: Write Graphics Dot BIOS On Entry: On Return: INT 10h, Function AH = 0Dh: Read Graphics Dot BIOS On Entry: On Return:...
Page 178
Conversions and Interfaces SECTION 6 INT 10h, Function AH = 0Eh: Teletype Character Write BIOS, VROTATE On Entry: On Return: INT 10h, Function AH = 0Fh: Return Current Video State BIOS, VROTATE On Entry: On Return: INT 10h, Function AX = 1000h: Set Palette Register BIOS On Entry: On Return:...
Page 179
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 1002h: Set Palette and Border BIOS Pixel Value Color Pixel Value Color On Entry: On Return: INT 10h, Function AX = 1003h: Toggle Blink and Intensity Bit BIOS On Entry: On Return: INT 10h, Function AX = 1007h: Get Palette Register BIOS...
Page 180
Conversions and Interfaces SECTION 6 INT 10h, Function AX = 1009h: Get Palette and Border BIOS On Entry: On Return: INT 10h, Function AX = 1010h: Set Color Register BIOS On Entry: On Return: INT 10h, Function AX = 1012h: Set Block of Color Registers BIOS On Entry: On Return:...
Page 181
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 1013h: Set Color Page State BIOS On Entry: On Return: INT 10h, Function AX = 1015h: Get Color Register BIOS On Entry: On Return: INT 10h, Function AX = 1017h: Get Block of Color Registers BIOS On Entry: On Return:...
Page 182
Conversions and Interfaces SECTION 6 INT 10h, Function AX = 1019h: Get PEL Mask BIOS On Entry: On Return: INT 10h, Function AX = 101Ah: Get Color Page State BIOS On Entry: On Return: INT 10h, Function AX = 101Bh: Set Gray-Scale Values BIOS gray_sum = 30% red + 59% green + 11% blue.
Page 183
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 1100h/1110h: Load User Font BIOS On Entry: On Return: INT 10h, Function AX = 1101h/1111h: Load ROM 8x14 Fonts BIOS On Entry: On Return: INT 10h, Function AX = 1102h/1112h: Load ROM 8x8 Fonts BIOS On Entry: On Return:...
Page 184
Conversions and Interfaces SECTION 6 INT 10h, Function AX = 1103h: Set Block Specifier BIOS On Entry: On Return: INT 10h, Function AX = 1104h/1114h: Load ROM 8x14 Fonts BIOS On Entry: On Return: INT 10h, Function AX = 1120h: Set INT 1Fh Font Pointer BIOS On Entry: On Return:...
Page 185
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 1121h: Set INT 43h for User’s Font BIOS On Entry: On Return: INT 10h, Function AX = 1122h: Set INT 43h for ROM 8x14 Font BIOS On Entry: On Return: INT 10h, Function AX = 1123h: Set INT 43h for ROM 8x8 Font BIOS On Entry:...
Page 186
Conversions and Interfaces SECTION 6 INT 10h, Function AX = 1124h: Set INT 43h for ROM 8x16 Font BIOS On Entry: On Return: INT 10h, Function AX = 1130h: Get Font Information BIOS On Entry: On Return: 6-50 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 187
SECTION 6 Conversions and Interfaces Video, Alternate Settings: (AH=12h) Interrupt 10h INT 10h, Function AH = 12h, Subfunction 10h: Get Video Configuration Info BIOS Feature Bits (CH) Feature Control Output Bit Input Status Bit On Entry: On Return: INT 10h, Function AH = 12h, Subfunction 30h: Set Scan Lines BIOS On Entry: On Return:...
Page 188
Conversions and Interfaces SECTION 6 INT 10h, Function AH = 12h, Subfunction 31h: Enable/Disable Default Palette Loading BIOS On Entry: On Return: INT 10h, Function AH = 12h, Subfunction 32h: Enable/Disable Video BIOS On Entry: " On Return: " INT 10h, Function AH = 12h, Subfunction 33h: Enable/Disable Gray Scale Summing BIOS On Entry:...
Page 189
SECTION 6 Conversions and Interfaces INT 10h, Function AH = 12h, Subfunction 36h: Enable/Disable Screen Refresh BIOS, 4000API On Entry: On Return: INT 10h, Function AH = 12h, BL = FAh: Set Physical Display Size VROTATE On Entry: On Return: INT 10h, Function AH = 12h, BL = FBh: Return Pointer to Current Display Parameters VROTATE...
Page 190
Conversions and Interfaces SECTION 6 INT 10h, Function AH = 12h, BL = FEh: Read or Write Contrast VROTATE On Entry: On Return: INT 10h, Function AH = 12h, BL = FFh: Backlight Off or On 4000API On Entry: On Return: Norand-Specific Display Modes: Interrupt 10h INT 10h, Function AX = 12DDh, Subfunction BL = FCh: Return Invert Mode VROTATE...
Page 191
SECTION 6 Conversions and Interfaces INT 10h, Function AH = 12DFh, Subfunction BL = FCh: Disable Invert Mode VROTATE On Entry: On Return: INT 10h, Function AH = 12E0h, Subfunction BL = FCh: Set Chase Mode VROTATE On Entry: On Return: INT 10h, Function AH = 12E1h, Subfunction BL = FCh: Set Fixed Mode VROTATE On Entry:...
Page 192
Conversions and Interfaces SECTION 6 Programmable Font Support: Interrupt 10h INT 10h, Function AX = 1400h: Load User Font VROTATE On Entry: On Return: INT 10h, Function AX = 1401h: Load System Default Font VROTATE On Entry: On Return: Norand Enhanced Video BIOS: Interrupt 10h INT 10h, Function AX = 7F00h: Get Version Information VROTATE On Entry:...
Page 193
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 7F13h: Absolute Write String VROTATE On Entry: On Return: INT 10h, Function AX = 7F20h: Repaint Text Window VROTATE On Entry: On Return: INT 10h, Function AX = 7F21h: Load or Select Font VROTATE "...
Page 194
Conversions and Interfaces SECTION 6 INT 10h, Function AX = 7F28h: Get Window Size VROTATE " NOTE: For a rotated system, the calls are based on the rotated window,i.e. 0,0 for the rotated 0,0. On Entry: On Return: INT 10h, Function AX = 7F2Ah: Physical Write Image VROTATE "...
Page 195
SECTION 6 Conversions and Interfaces INT 10h, Function AX = 7F30h: Disable Shadow Buffer Updates VROTATE On Entry: On Return: INT 10h, Function AX = 7F32h: Disable Rotated Video VROTATE On Entry: On Return: INT 10h, Function AX = 7F33h: Enable Rotated Video VROTATE On Entry: On Return:...
Page 196
Conversions and Interfaces SECTION 6 INT 13h, Function AH = 01h: Read Status of Last Operation BIOS On Entry: On Return: INT 13h, Function 02h: Read Sectors into Memory BIOS On Entry: On Return: INT 13h, Function AH = 03h: Write Sectors from Memory BIOS On Entry: On Return:...
Page 197
SECTION 6 Conversions and Interfaces INT 13h, Function AH = 04h: Verify Sectors BIOS On Entry: On Return: INT 13h, Function AH = 08h: Read Drive Parameters BIOS On Entry: On Return: INT 13h, Function AH = 15h: Get Disk Type BIOS On Entry: On Return:...
Page 198
Conversions and Interfaces SECTION 6 INT 13h, Function AH = 16h: Detect Disk Change BIOS not ready On Entry: On Return: INT 13h, Function AH = 18h: Set Media Type BIOS On Entry: On Return: INT 13h, Function AH = DAh: Disable RAM Drive BIOS On Entry: On Return:...
Page 199
SECTION 6 Conversions and Interfaces INT 13h, Function AH = EAh: Enable RAM Drive BIOS On Entry: On Return: INT 13h, Function AH = ECh: Enable Checksum BIOS _RamDriveSignature label byte db “Norand RamDrive”,0 db 0,0, 0Fh, 0FFh,0FFh,0FFh db 0F0h, 3Ch,99h,0C3h, 55h,0AAh On Entry: offset On Return:...
Page 200
Conversions and Interfaces SECTION 6 Serial Communications Services: Interrupt 14h INT 14h, Function AH = 00h: Initialize Communications Port BIOS, 4000API On Entry: Bits 7, 6, 5: Baud Rate Bits 4,3: Parity Bit 2: Stop Bits Bits 1, 0: Word Length On Return: Line status register: Modem status register:...
Page 201
SECTION 6 Conversions and Interfaces INT 14h, Function AH = 01h: Send a Character BIOS, 4000API On Entry: On Return: INT 14h, Function AH = 02h: Receive a Character BIOS, 4000API On Entry: On Return: INT 14h, Function AH = 03h: Get Port Status BIOS, 4000API On Entry: On Return:...
Page 202
Conversions and Interfaces SECTION 6 INT 14h, Function AH = 04h: Extended Initialize BIOS, 4000API On Entry: On Return: 6-66 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 203
SECTION 6 Conversions and Interfaces INT 14h, Function AH = 05h: Extended Port Control 4000API On Entry: On Return: INT 14h, Function AH = FFh: Port Power Off or On 4000API On Entry: On Return: PEN*KEY 6100 Computer Programmer’s Reference Guide 6-67...
Page 204
Conversions and Interfaces SECTION 6 System Services: Interrupt 15h INT 15h, Function AX = 0100h: Create a Task 4000API On Entry: On Return: context struc dival ;di register contents for new task sival ;si register contents for new task bpval ;bp register contents for new task ;does not care bxval...
Page 205
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 0102h: Return Information About a Task 4000API Provided for diagnostic purposes. On Entry: On Return: INT 15h, Function AX = 0103h: Disable Task Switching 4000API On Entry: On Return: INT 15h, Function AX = 0104h: Enable Task Switching 4000API On Entry: On Return:...
Page 206
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 0106h: Pend on Mailbox with Optional Timeout 4000API On Entry: On Return: " NOTE: INTERRUPT ROUTINES MUST NOT ISSUE THIS CALL. INT 15h, Function AX = 0107h: Accept Message from Mailbox (No Pend) 4000API On Entry: On Return:...
Page 207
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 010Ah: Accept Message from Queue (No Pend) 4000API On Entry: On Return: INT 15h, Function AX = 010Bh: Post Message to Queue 4000API On Entry: On Return: INT 15h, Function AX = 010Ch: Delay Current Task 4000API On Entry: On Return:...
Page 208
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 010Fh: Disable Time-Slicing 4000API On Entry: On Return: INT 15h, Function AX = 0110h: Set Task Identifier 4000API On Entry: On Return: INT 15h, Function AX = 01F4h: Accumulate CRC 16h 4000API On Entry: Output...
Page 209
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 01F5h: Exchange Network Packets 4000API On Entry: On Return: cbuf struc ; BIOS scratch area ; unused by BIOS ; BIOS scratch area ; length of buffer data ; BIOS scratch area ;...
Page 210
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 01FAh: Beep the Buzzer 4000API On Entry: On Return: INT 15h, Function AX = 01FBh: Return Pointer to BIOS Version 4000API On Entry: On Return: INT 15h, Function AX = 01FDh: Receive a Network Packet 4000API On Entry: es:[bx].len...
Page 211
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 01FEh: Send a Network Packet 4000API On Entry: es:[bx].len es:[bx].adr es:[bx].ctl es:[bx].buffer On Return: INT 15h, Function AX = 01FFh: Compute CRC 16 on Block of Data 4000API On Entry: On Return: INT 15h, Function AX = 4200h: Request System Shutdown, Normal 4000API...
Page 212
Conversions and Interfaces SECTION 6 INT 15h, Function AH = 4Fh: Translate Keyboard Scan Code 4000API Standard Keyboard Interface On Entry: On Return: INT 15h, Function AH = 4Fh: Keyboard Intercept BIOS On Entry: On Return: 6-76 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 213
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 5300h: APM Installation Check ELANAPM On Entry: On Return: INT 15h, Function AX = 5301h: APM Real Mode Interface Connect ELANAPM On Entry: On Return: PEN*KEY 6100 Computer Programmer’s Reference Guide 6-77...
Page 214
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 5304h: APM Interface Disconnect ELANAPM On Entry: On Return: INT 15h, Function AX = 5305h: CPU Idle ELANAPM On Entry: On Return: 6-78 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 215
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 5306h: CPU Busy ELANAPM On Entry: On Return: INT 15h, Function AX = 5307h: Set Power State ELANAPM On Entry: On Return: PEN*KEY 6100 Computer Programmer’s Reference Guide 6-79...
Page 216
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 5308h: Enable/Disable Power Management ELANAPM On Entry: On Return: INT 15h, Function AX = 530Ah: Get Power Status ELANAPM On Entry: On Return: 6-80 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 217
SECTION 6 Conversions and Interfaces INT 15h, Function AX = 530Bh: Get PM Event ELANAPM On Entry: On Return: INT 15h, Function AX = 530Ch: Get Power State ELANAPM On Entry: On Return: PEN*KEY 6100 Computer Programmer’s Reference Guide 6-81...
Page 218
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 530Dh: Enable/Disable Device Power Management ELANAPM On Entry: On Return: INT 15h, Function AX = 5380h, Subfunction BH = 1Dh: System Reset BIOS On Entry: On Return: hwdreset proc near bh, 1Dh ;...
Page 219
SECTION 6 Conversions and Interfaces INT 15h, Function AH = 80h: Device Open BIOS On Entry: On Return: INT 15h, Function AH = 81h: Device Close BIOS On Entry: On Return: INT 15h, Function AH = 82h: Program Termination BIOS On Entry: On Return: PEN*KEY...
Page 220
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 8300h: Set Event Wait Interval BIOS On Entry: On Return: INT 15h, Function AX = 8301h: Cancel Event Wait Interval BIOS On Entry: On Return: INT 15h, Function AH = 85h: System Request Key BIOS On Entry: On Return:...
Page 221
SECTION 6 Conversions and Interfaces INT 15h, Function AH = 87h: Move Block BIOS On Entry: On Return: INT 15h, Function AH = 88h: Read Extended Memory Size BIOS On Entry: On Return: INT 15h, Function AH = 89h: Switch to Protected Mode BIOS On Entry: On Return:...
Page 222
Conversions and Interfaces SECTION 6 INT 15h, Function AX = 90h: Device Busy BIOS On Entry: On Return: INT 15h, Function AX = 9002h: Pend On Keyboard BIOS, 4000API On Entry: On Return: " NOTE: INTERRUPT ROUTINES MUST NOT ISSUE THIS CALL. INT 15h, Function AH = 91h: Interrupt Complete BIOS On Entry:...
SECTION 6 Conversions and Interfaces INT 15h, Function AH = C0h: Return System Configuration Parameters Addr BIOS On Entry: On Return: INT 15h, Function AH = C1h: Return Extended BIOS Data Area Segment BIOS On Entry: On Return: Keyboard Services: Interrupt 16h Scan Codes 112 113 114 116 117...
Page 224
Conversions and Interfaces SECTION 6 Character Codes Returned by INT 16h, Functions 00h/01h " " " Table 6 6 Character Codes Returned by INT 16h, Functions 00h/01h U.S. Scan Keyboard Codes Unshifted Shifted Control Legend (Hex) (AH/AL) (AH/AL) (AH/AL) (AH/AL) 6-88 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 225
SECTION 6 Conversions and Interfaces Table 6 6 (Continued) Character Codes Returned by INT 16h, Functions 00h/01h U.S. Scan Keyboard Codes Unshifted Shifted Control Legend (Hex) (AH/AL) (AH/AL) (AH/AL) (AH/AL) PEN*KEY 6100 Computer Programmer’s Reference Guide 6-89...
Page 226
Conversions and Interfaces SECTION 6 Table 6 6 (Continued) Character Codes Returned by INT 16h, Functions 00h/01h U.S. Scan Keyboard Codes Unshifted Shifted Control Legend (Hex) (AH/AL) (AH/AL) (AH/AL) (AH/AL) 6-90 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 227
SECTION 6 Conversions and Interfaces Table 6 6 (Continued) Character Codes Returned by INT 16h, Functions 00h/01h U.S. Scan Keyboard Codes Unshifted Shifted Control Legend (Hex) (AH/AL) (AH/AL) (AH/AL) (AH/AL) PEN*KEY 6100 Computer Programmer’s Reference Guide 6-91...
Page 228
Conversions and Interfaces SECTION 6 INT 16h, Function AH = 00h: Read Next ASCII Character BIOS On Entry: On Return: INT 16h, Function AH = 01h: Set Zero Flag if Key Buffer Empty BIOS On Entry: On Return: INT 16h, Function AH = 02h: Read Shift Status BIOS On Entry: On Return:...
Page 229
SECTION 6 Conversions and Interfaces INT 16h, Function AX = 0304h: Set Typematic Rates; Turn Off Key Repeat 4000API On Entry: On Return: INT 16h, Function AX = 0305h: Set Typematic Rates; Set Key Repeat Timers 4000API On Entry: On Return: INT 16h, Function AX = 0306h: Set Typematic Rates;...
Page 230
Conversions and Interfaces SECTION 6 INT 16h, Function AH = 10h: Read Next Extended ASCII Character BIOS On Entry: On Return: " NOTE: There could be some PL/N compatibility issues, since the scan code returned in the AH reg- ister in the 4000 BIOS is zero when AL is a valid ASCII character – such as some of the ALT- character combinations.
Page 231
SECTION 6 Conversions and Interfaces INT 16h, Function AH = 12h: Read Extended Shift Status BIOS On Entry: On Return: INT 16h, Function AH = FEh: Swap Keyboard Translate Tables 4000API On Entry: On Return: ;unshifted 40 key table ‘A’, ‘B’, ‘C’, ‘D’,...
Page 233
SECTION 6 Conversions and Interfaces Timer and Real-Time Clock Services: Interrupt INT 1Ah, Function AH = 00h: Read System Timer Ticks BIOS On Entry: On Return: INT 1Ah, Function AH = 01h: Set System Timer Ticks BIOS On Entry: On Return: INT 1Ah, Function AH = 02h: Read the Real-Time Clock Time BIOS On Entry:...
Page 234
Conversions and Interfaces SECTION 6 INT 1Ah, Function AH = 03h: Set the Real-Time Clock Time BIOS On Entry: On Return: INT 1Ah, Function AH = 04h: Read the Real-Time Clock Date BIOS On Entry: On Return: INT 1Ah, Function AH = 05h: Set the Real-Time Clock Date BIOS On Entry: On Return:...
Page 235
SECTION 6 Conversions and Interfaces INT 1Ah, Function AH = 06h: Set the Real-Time Clock Alarm BIOS On Entry: On Return: INT 1Ah, Function Ah = 07h: Reset the Real-Time Clock Alarm BIOS On Entry: On Return: INT 1Ah, Function AH = 09h: Read the Real-Time Clock Alarm BIOS On Entry: On Return:...
Page 236
Conversions and Interfaces SECTION 6 Standard Mouse Interface: INT 33h INT 33h, Function AX = 0000h: Mouse Reset and Status MOUSE On Entry: On Return: INT 33h, Function AX = 0001h: Show Cursor MOUSE On Entry: On Return: INT 33h, Function AX = 0002h: Hide Cursor MOUSE On Entry: On Return:...
Page 237
SECTION 6 Conversions and Interfaces INT 33h, Function AX = 0004h: Set Cursor Position MOUSE On Entry: On Return: INT 33h, Function AX = 0005h: Get Button Press Information MOUSE On Entry: On Return: INT 33h, Function AX = 0006h: Get Button Release Information MOUSE On Entry: On Return:...
Page 238
Conversions and Interfaces SECTION 6 INT 33h, Function AX = 0008h: Set Minimum & Maximum y Cursor Position MOUSE On Entry: On Return: INT 33h, Function AX = 0009h: Set Graphics Cursor Block MOUSE On Entry: On Return: INT 33h, Function AX = 000Ah: Set Text Cursor MOUSE On Entry: On Return:...
Page 239
SECTION 6 Conversions and Interfaces INT 33h, Function AX = 000Dh: Light Pen Emulation Mode On MOUSE On Entry: On Return: INT 33h, Function AX = 000Eh: Light Pen Emulation Mode Off MOUSE On Entry: On Return: INT 33h, Function AX = 000Fh: Set Mickey to Pixel Ratio MOUSE On Entry: On Return:...
Page 240
Conversions and Interfaces SECTION 6 INT 33h, Function AX = 0014h: Swap Interrupt Subroutines MOUSE On Entry: On Return: INT 33h, Function AX = 0015h: Get Status Block Size MOUSE On Entry: On Return: INT 33h, Function AX = 0016h: Save Driver Status MOUSE On Entry: On Return:...
Page 241
SECTION 6 Conversions and Interfaces INT 33h, Function AX = 0019h: Get User Alternate Interrupt Address MOUSE On Entry: On Return: INT 33h, Function AX = 001Ah: Set Mouse Sensitivity MOUSE On Entry: On Return: INT 33h, Function AX = 001Bh: Get Mouse Sensitivity MOUSE On Entry: On Return:...
Page 242
Conversions and Interfaces SECTION 6 INT 33h, Function AX = 001Eh: Get Display Page Number MOUSE On Entry: On Return: INT 33h, Function AX = 001Fh: Disable Mouse Driver MOUSE On Entry: On Return: INT 33h, Function AX = 0020h: Enable Mouse Driver MOUSE On Entry: On Return:...
Page 243
SECTION 6 Conversions and Interfaces INT 33h, Function AX = 0023h: Get Language Number MOUSE On Entry: On Return: INT 33h, Function AX = 0024h: Get Driver Version, Mouse Type, and IRQ No. MOUSE On Entry: On Return: " NOTE: For indexes to all of the interrupt definitions within this section (organized alphabetically by topic), refer to the Interrupt Index, at the end of this publication.
Page 245
Section 7 Reference, System Information " " " " " " " " " " " " " " " " " " " " Introduction Topic Summary Page List of Tables Page " NOTE: Because this is an open system, your system configuration could differ somewhat from that shown in the following tables;...
Page 246
Reference, System Information SECTION 7 ROM DOS 5 shadow RAM SHELL=D:\COMMAND.COM /P D:\ DOS=HIGH DOS=UMB DOS=HIGH DOS=UMB SHELL=A:\COMMAND.COM A:\ /P " " " " PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 7 Reference, System Information Boot Process Cold Booting cold boot BIOS Code is Shadowed BIOS shadowing shadow RAM Power-On Self-Tests (POSTs) are Run Audible Error Codes Video BIOS is Enabled Version Messages are Displayed Detection of Cold Boots Using the CMOS Signature checksum signature;...
Page 248
Reference, System Information SECTION 7 Invalid RamDrive Message Invalid RamDrive Testing XMS Memory Message Flash Memory Size Report BIOS Extensions are Scanned For and Installed posted ROM DOS 5 is Booted PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 249
SECTION 7 Reference, System Information Drives A through D are Initialized " " Figure 1 1, Location of Reset Button and PC Card Drives Getting Started Boot Drives Supported CONFIG.SYS is Loaded and Processed Appendix A, Sample Configuration Files, COMMAND.COM is Processed SHELL=D:\COMMAND.COM /P D:\ Drives Supported for Use Warm Booting (or Resetting)
Reference, System Information SECTION 7 warm booting Figure 1 1, Location of Reset Button and PC Card Drives Getting Started Master Mode Boot Sequence Boot Drive Selection possibly Setup for PC Development Getting Started PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 7 Reference, System Information System Messages Table 7 1 System Messages Display Message Meaning Response PEN*KEY 6100 Computer Programmer’s Reference Guide...
Reference, System Information SECTION 7 Audible Error Codes Table 7 2 Audible Error Codes Duration / No. of Beeps Long Medium Short Meaning POST and Runtime Power Notification POST (only) " NOTE: A20 refers to the special PC/AT hardware that enables or disables address line number 20 on the system memory address bus.
SECTION 7 Reference, System Information Table 7 4 COM1 Connector Pin-Outs 9 pin Connector 25 pin Connector Description " NOTE: DTR is looped back to DSR, both at dock and at internal UART. This means there is no DTR or DSR connection from the UART to the modem. IRQ and Other Hardware Interrupts Table 7 5 Hardware Interrupts...
Page 254
Reference, System Information SECTION 7 I/O Map Table 7 6 I/O Address and Devices I/O Address Device 7-10 PEN*KEY 6100 Computer Programmer’s Reference Guide...
SECTION 7 Reference, System Information BIOS/CMOS System Variables " NOTE: A full description of each variable used by BIOS is beyond the scope of this guide. ROM BIOS Data Area de facto italicized and bold Table 7 7 BIOS Data in System RAM Addr Size Description...
Page 256
Reference, System Information SECTION 7 Table 7 7 (Continued) BIOS Data in System RAM Addr Size Description 40:84 byte Number of rows on screen(24/25) 40:85 word Character height (bytes/char) 40:87 byte video control bit flags 40:88 byte Video feature bit flags 40:89 byte VGA control bit flags...
Page 259
" " " " " Introduction " NOTE: All publications from Intermec Technologies Corporation should be ordered through your local Account Executive. Application API Publications APM BIOS Interface Specification 1.1 " Handwriter Recognition System for Windows User's Guide " Handwriter Recognition System for Windows Release Notes "...
Page 261
SECTION 8 Reference, Open Systems Publications " " " " INTrrA.*, INTrrB.*, INTrrC.*, INTrrD.*. comp.binaries.ibm.pc comp.bina- ries.ibm.pc System BIOS for IBM PC's, Compatibles, and EISA Computers, Sec " ond Edition Windows Internals " Windows SDK (Microsoft, Borland) " Writing TCOM Modules in PL/N "...
Reference, Open Systems Publications SECTION 8 Hardware Interface Intel Peripheral Components 1991 " Motorola Microprocessor, Microcontroller, and Peripheral Data Vol " ume II DL139 PCMCIA Controller Data Book " PEN*KEY 6100 Computer Programmer’s Reference Guide...
Appendix A Sample Configuration Files " " " " " " " " " " " " " " " " " " " " Introduction Topic Summary Page Sample Boot Configurations Files AUTOEXEC.BAT (Default) " NOTE: The AUTOEXEC.BAT and CONFIG.SYS files shown in this section are configured to go to- gether.
Page 264
Sample Configuration Files APPENDIX A Rem AUTOEXEC.BAT is found on a drive. dircnt.exe %0\autoexec.bat >nul: if not errorlevel 2 goto checkcard autoexec.bat %0 :loadtsrs Rem 4000api is needed by psrom0c to run acnnpcp LH d:\4000api.exe /PC /10 /16 /C3 LH d:\mininet.exe –s1152 –t0 –c1 LH d:\vrotate.exe 0 0 240 320 LH d:\share.exe /f:3072 /l:128 LH d:\fontsel.exe 1...
Page 265
APPENDIX A Sample Configuration Files Rem /c4 means install as COM4 Rem /s means save and restore UART values for COM4 on SUSPEND/RESUME Rem /d m n t means delay t ticks where m=man code and n=man info Rem 16b 21 refers to the Erickson PIA radio devicehigh=d:\norcs\normod.sys /c4 .s /d 16b 21 20 Rem Delay for two seconds to ensure ELANCSSS has recognized the cards device=d:\delay.exe /100 “...
Page 266
Sample Configuration Files APPENDIX A [User List] User 1= [sysges] C!=xx,0,{Ctrl}{Ins} P!=xx,0,{Shift}{Ins} X!=xx,0,{Shift}{Del} U!=xx,0,{Alt}{Bs} [Pen Palette] SKBPos=15 92 SYSTEM.INI ;–––––––––––––––––––––––––––––––––––––––––––––––––––––– ; Norand 6100 Windows 3.1 SYSTEM.INI ; Based on 6300 Toolkit v1.16 ;–––––––––––––––––––––––––––––––––––––––––––––––––––––– [boot] shell=winfile.exe display.drv=6100disp.drv system.drv=system.drv keyboard.drv=keyboard.drv mouse.drv=yesmouse.drv comm.drv=comm.drv sound.drv=sound.drv network.drv= fonts.fon=egasys.fon...
Page 267
APPENDIX A Sample Configuration Files [Power Driver] ;– Indicates how often to repeat warnings like “Battery Low”. Default is 9. MsgRepeatMinutes=1 ;– Sets level of power messages. Default is 1. Here are the currently defined levels. Note that levels above 1 are for debug purposes ONLY! 0: No warning or debug messages.
Page 268
Sample Configuration Files APPENDIX A 1: Enable clock checking, always display clock regression messages. 15: Enable clock checking, only display clock regression messages if ApmEventDialogs setting is >= 7. ; 257: Enable clock checking, display message and lock up system upon clock regression.
Page 269
APPENDIX A Sample Configuration Files ; scanner. If TRUE it does NOT allow multiplexing of the scanner and ; external comm 1 connections. This option uses more power. The valid ; values are TRUE and FALSE. EnableScannerWhenDriverLoads=FALSE ; DisplayScanningDataDialog controls whether or not the Scanning Data. ;...
Page 270
Sample Configuration Files APPENDIX A ; Use this option to Install/Deinstall the ISR for every Print Job. This is ; useful if the IRQ is multiplexed with some other device such as the ; Scanner. The default setting is 0 (ie. no multiplexing). The valid ;...
Page 272
Sample Configuration Files APPENDIX A ;– COM3 is where the PCMCIA modem installs, if using one. COM3Irq=10 COM3Base=03E8 ;– The following fonts are required for Non-Windows application support. Optional. ;woafont=dosapp.fon ;EGA80WOA.FON=EGA80WOA.FON ;EGA40WOA.FON=EGA40WOA.FON ;CGA80WOA.FON=CGA80WOA.FON ;CGA40WOA.FON=CGA40WOA.FON ;– The following is required for Non-Windows application support ;[NonWindowsApp] ;CommandEnvSize=128 Example WIN.INI File...
APPENDIX A Sample Configuration Files Required Files " " " " " " " " " " " " " Sample PenRight! (DOS) Setup EXAMPLE: The following is an example of DOS code that could set up PenRight! (DOS), through the use of an AUTOEXEC.BAT.
Page 278
Sample Configuration Files APPENDIX A Sample CONFIG.SYS Code for Handwriting Recognition EXAMPLE: shell=d:\command.com d:\ /e:512 /p device=d:\himem.sys /machine:2 devicehigh=d:\elanump.sys /x=C000,D400,D800,DC00,E000 device=a:\emm386.exe i=D400–EFFF FRAME=D400 device=d:\elanapm.exe devicehigh=A:\nordosppm.exe dos=high,umb break=on buffers=30 files=50 Sample PENDOSEM.BAT Code for Handwriting Recognition EXAMPLE: @ECHO off REM %1 is the prefix for all files here LH %1VLOAD %1USAREC.EXP LH $1EMUL1X SET PENDOS12=D9...
APPENDIX A Sample Configuration Files BGI Support " " Using the N6100.BGI Driver Resolution Symbol Init the driver in 320x240x4 mode: EXAMPLE: #include <graphics.h> #include “n6100.h” int driver, mode; driver = installuserdriver(“N6100”,NULL); /* do this only once */ mode = BGI_LANDSCAPE; initgraph($drvr,$mode,“”);...
Page 280
Sample Configuration Files APPENDIX A Bitmap Text Output Sample N6100.H File EXAMPLE: The following is a sample listing of the N6100.H file written by Ryle Design used as an inter- face for a BGI driver. /*–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– Header N6100.H Header file containing public declarations for the Ryle Design N6100.BGI driver written for the Norand Corporation.
Page 281
Appendix B Common PEN*KEY 6000 Series Information " " " " " " " " " " " " " " " " " " " " Introduction Topic Summary Page PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 282
Common PEN*KEY 6000 Series Information APPENDIX B Development Support Files NORAPM.H // NORAPM.H: Header file containing exported structures and functions for // interfacing with the NORAPM.DLL NORAND Windows APM Driver. // Created: 01.25.94 // Updated: 07.07.94 // (C) Copyright 1994 by Norand Corporation //=================================================================== // Section: NORAPM Exported Structures //===================================================================...
Page 283
APPENDIX B Common PEN*KEY 6000 Series Information // *PwrStat) // Returns current power status from APM. See NorAPM.H for detailed docs. // Return value of PWR_OK for success, or PWR_FAIL if error (no APM, etc). //––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– extern “C” int FAR PASCAL _export GetPowerStatus(tagPOWER_STATUS far *PwrStat);...
Page 284
Common PEN*KEY 6000 Series Information APPENDIX B #define APM_USERSUSPEND 10 // User System Suspend Request Notif. #define APM_USERSTANDBYRESUME 11 // User System Standby Resume Notif. //––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– // NORAND APM 1.1 BIOS OEM event codes that are broadcast to DOS. #define APM_OEM_XKBD 0x0201 // External keyboard detect #define APM_OEM_CHARGE 0x0202 // External charge detect...
Page 285
APPENDIX B Common PEN*KEY 6000 Series Information #define PWR_OEM_EL 0x0213 // Backlight on/off press #define PWR_OEM_BATT_CHANGE 0x0214 // Battery change detected #define PWR_OEM_PWRFAILNEW 0x0215 // Powerfail detected #define PWR_OEM_PWRMSGTXT 0x027F // Power message text broadcast. //––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– // APM BIOS standard device IDs #define APM_BIOS 0x0000 // APM BIOS itself #define APM_SYSTEM...
Page 286
Common PEN*KEY 6000 Series Information APPENDIX B tagPOWER_STATUS PwrStat; // Holds current power status. WORD Error; // Holds error codes. char MsgBuf[100]; // Message buffer #pragma argsused int PASCAL WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // Turn off the “File not found” error box. SetErrorMode(SEM_NOOPENFILEERRORBOX);...
Page 287
APPENDIX B Common PEN*KEY 6000 Series Information extern jamindex; extern FILE *stdprn; extern unsigned page_no; extern unsigned line_cnt; /******************************************************************/ /* Critical error handler routines for the printer follow. ********/ /******************************************************************/ struct reqpk { unsigned char reqlen, unit, cmd; unsigned status; long rsrv1, rsrv2;...
Page 288
Common PEN*KEY 6000 Series Information APPENDIX B uchar ch; uchar jam; uchar jam2,jam3,jam4; cmd = pXERROR; args.ioctl_cmd = &cmd; args.ioctl_buf = buffer; devpack.reqlen = sizeof devpack; /* Length of ioctl packet */ devpack.cmd = 3; /* ioctl input read */ devpack.buff = (FP(uchar)) &args;...
Page 289
APPENDIX B Common PEN*KEY 6000 Series Information scr_printf(“Bind error. Abort.\n”); break; case IPLDUR: scr_printf(“Invalid PLDU. Abort.\n”); break; case HEADJAM: jamarray[0][jamindex] = jam; jamarray[1][jamindex] = jam2; jamarray[2][jamindex] = jam3; jamarray[3][jamindex++] = jam4; scr_printf(“head jam. Abort.\n”); scr_printf(“page: %u\n”,page_no); scr_printf(“line: %u\n”,line_cnt); scr_printf( jam & 1 ? “Left ”:“Right ”); scr_printf(“\n%s”,((jam &...
Page 290
Common PEN*KEY 6000 Series Information APPENDIX B ; pusha push ax push bx push cx push dx push si push di dx,dataseg ds,dx dx,[bp] push dx push si push ax push di call baderr_ sp,8 –6[bp],al ;set return code ; popa sp,bp iret #endasm...
Page 291
APPENDIX B Common PEN*KEY 6000 Series Information } // end APMCPUIdle void main(void) { printf(“Result of CPU Idle call: %2.2X\n”, APMCPUIdle()); return; Keyboard Remapping, with ANSI.SYS Example Key Redefinition device=c:\dos\ansi.sys /X echo on prompt $<–[0;59;“INTERSVR C: D:”;13p prompt $<–[0;60;“DIR”;32p prompt $<–[0;61;“BIOS”;32p prompt $<–[0;62;“CD”;32p prompt $<–[0;63;“COPY”;32p prompt $<–[0;64;“DEL”;32p...
Page 292
Common PEN*KEY 6000 Series Information APPENDIX B Using ANSI.SYS " NOTE: ANSI.SYS distinguishes upper- and lowercase letters. For example “P” and “p” are different. Memory Overview (PEN*KEY 6000 Series Computer) " " " " " " " " " " Background B-12 PEN*KEY...
Page 293
APPENDIX B Common PEN*KEY 6000 Series Information Standard PC Memory Overview Extended memory High Memory Area (HMA) Upper Memory Area (UMA) 384k 1 Megabyte Conventional memory 640k Figure B 1 Typical Memory Organization Definition of Terms Conventional Memory PEN*KEY 6100 Computer Programmer’s Reference Guide B-13...
Page 294
Common PEN*KEY 6000 Series Information APPENDIX B Extended Memory Expanded Memory Summary of Memory Types Conventional memory " Expanded memory " Extended memory " " RAM drive " " Statements and Programs (CONFIG.SYS, AUTOEXEC.BAT) Statement Description B-14 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 295
APPENDIX B Common PEN*KEY 6000 Series Information Windows, Storage Devices, and Memory Î Î Î Î Î Î Î Î Î Î Î Î Î Î Î Î Work Space Application Windows DOS / BIOS Figure B 2 Desktop/Laptop PC with Hard Disk RAM Disk System Memory...
Page 296
Common PEN*KEY 6000 Series Information APPENDIX B RAM disk " NOTE: In the illustrations, 4- or 8-megabyte memory models are shown. Keep in mind, as the PEN*KEY 6000 Series systems continue to be enhanced, that future releases may allow larger memory models. The double-headed arrow from the “Application” to the “disk” indi- cates that the application loads the data from the disk, then writes it back to the disk.
Page 297
APPENDIX B Common PEN*KEY 6000 Series Information PCMCIA SRAM FLASH 1MB FLASH Work Space System Application Memory Windows DOS / BIOS Figure B 5 PEN*KEY with PC Card Standard Mode Versus Enhanced Mode standard enhanced virtual DOS boxes standard PEN*KEY 6100 Computer Programmer’s Reference Guide B-17...
Common PEN*KEY 6000 Series Information APPENDIX B RAM Drive Integrity-Protection integrity protection Non-Windows Systems: PenPal and PenRight! Windows Environment Guide A Brief History of Microsoft Windows real B-18 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 299
APPENDIX B Common PEN*KEY 6000 Series Information Windows Architecture Microsoft Windows for Pen Computing Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Hardware Applications Additional Handwriting Windows Recognition DLLs...
Page 300
Common PEN*KEY 6000 Series Information APPENDIX B BIOS Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware upstream device driver DOS Device Drivers B-20 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 301
APPENDIX B Common PEN*KEY 6000 Series Information Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS...
Common PEN*KEY 6000 Series Information APPENDIX B Windows System Files operating environment Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Windows Components Supporting Windows Applications B-22 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 303
APPENDIX B Common PEN*KEY 6000 Series Information Windows Device Drivers and APIs The Mother of all Windows Books Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware must PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 304
Common PEN*KEY 6000 Series Information APPENDIX B DLLs dynamic link libraries subroutines Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware dynamic have B-24 PEN*KEY 6100 Computer Programmer’s Reference Guide...
APPENDIX B Common PEN*KEY 6000 Series Information INI Files Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware [section name] variable=value anything PEN*KEY 6100 Computer Programmer’s Reference Guide B-25...
Page 306
Common PEN*KEY 6000 Series Information APPENDIX B Additional Windows Files Cannot find file or one of its components. Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Shell Applications shell NORAND Windows Shell...
Page 307
APPENDIX B Common PEN*KEY 6000 Series Information " Applications Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware 3 megabytes anything PEN*KEY 6100 Computer Programmer’s Reference Guide B-27...
Page 308
Common PEN*KEY 6000 Series Information APPENDIX B Pen Windows Files Microsoft Windows for Pen Computing Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Handwriter for Windows B-28 PEN*KEY 6100 Computer Programmer’s Reference Guide...
APPENDIX B Common PEN*KEY 6000 Series Information Handwriting Recognition MARS Applications Additional Handwriting Windows Recognition DLLs INIs APIs Files (optional) Pen Windows Minimal Windows System Files Windows Drivers BIOS DOS Drivers Hardware Norand Value Adds BIOS (Basic Input Output System) SystemSoft Card and Socket Services NORAND Card and Socket Services Section 1, Getting Started...
Page 310
Common PEN*KEY 6000 Series Information APPENDIX B Power Management NORAND Utilities Pen Drivers Scanner Drivers NPCP Printer Drivers IrDA Printer Drivers PEN*KEY 6000 Series Memory-Sizing Guidelines All Systems " " " " " B-30 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Page 311
APPENDIX B Common PEN*KEY 6000 Series Information Systems with RAM Drive Storage " " " RAM Drive Getting Started Systems with External Storage " " " PEN*KEY 6100 Computer Programmer’s Reference Guide B-31...
Page 312
Common PEN*KEY 6000 Series Information APPENDIX B B-32 PEN*KEY 6100 Computer Programmer’s Reference Guide...
Need help?
Do you have a question about the PENKEY 6100 and is the answer not in the manual?
Questions and answers