Intermec PEN*KEY 6200, 6300, PEN*KEYu0001 6300 Programmer's Reference Manual

Page 1
PEN*KEYR 6200/6300 Hand-Held Computer
PROGRAMMER’S
REFERENCE GUIDE
"""""""""""""""""""""
P/N 977-054-003
Revision D
Page 2
" NOTICE The information contained herein is proprietary and is provided solely for the purpose of allowing customers to
operate and service Intermec manufactured equipment and is not to be released, reproduced, or used for any other purpose without written permission of Intermec.
Disclaimer of Warranties. The sample source code included in this document is presented for reference only. The code does not necessarily represent complete, tested programs. The code is provided AS IS WITH ALL
FAULTS." ALL WARRANTIES ARE EXPRESSLY DISCLAIMED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
We welcome your comments concerning this publication. Although every effort has been made to keep it free of errors, some may occur. When reporting a specific problem, please describe it briefly and include the book title and part number, as well as the paragraph or figure number and the page number.
Send your comments to: Intermec Technologies Corporation Publications Department 550 Second Street SE Cedar Rapids, IA 52401
ANTARES, INTERMEC, NORAND, NOR*WARE, PEN*KEY, ROUTEPOWER, TRAKKER, and TRAKKER ANTARES are registered trademarks and ENTERPRISE WIRELESS LAN, INCA, Mobile Framework, TE 2000, UAP, and UNIVERSAL ACCESS POINT are trademarks of Intermec Technologies Corporation.
1998 Intermec Technologies Corporation. All rights reserved.
Acknowledgments
ActiveX, Microsoft, MS, and MSĆDOS, Windows, and Windows NT are registered trademarks and MSDN, Visual Basic, Visual C++, and Windows for Pen are trademarks of Microsoft Corporation.
Borland, dBase , and Turbo Pascal are registered trademarks and Borland C and C++ for Windows are
trademarks of Borland International, Inc.
CIC and Handwriter are registered trademarks, and other CIC product names, service names, slogans or logos referenced are trademarks or registered trademarks of Communication Intelligence Corporation.
Intel is a registered trademark of Intel Corporation.
PenRight! and PenRight! Pro are trademarks of PenRight Corporation.
SanDisk is a trademark of SanDisk Corporation.
XMS is a registered trademark of Lotus, Intel, Microsoft, and AST Research.
Page 3
CONTENTS
""""""""""""""""""""
Preface
Scope 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Version 1.40 to 1.5x 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Level of Expertise Needed 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
For the New User 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Related Publications 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of the Book 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Locating Information 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Contents 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Topic Summaries 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tabs 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Index 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Locating Files and Applications 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Locating Interrupt Definitions 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Support Available 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Factory Service 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Customer Support Center 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Web Site 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bulletin Board Service 6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 1
Getting Started
Open System Environment 1Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Introduction to the 6200 and 6300 Series Computers 1Ć2. . . . . . . . . . . . . . . . . . . . . . . . .
Operating System 1Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How the Software is Different 1Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How the Hardware is Different 1Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Processor 1Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display 1Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Input 1Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management 1Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Memory 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Input, Output, and Storage Devices 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PC Card 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Infrared Printing 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Data Communications 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Environments 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Ports 1Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toolkit for 6200/6300 Computers 1Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Information 1Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
File Integrity Verification Utility: CRC32.EXE 1Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . .
Tips for Getting Started 1Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Configuration 1Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minimum Development Configuration 1Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Configuration Files 1Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PEN*KEYR 6200/6300 Hand-Held Computer Programmer’s Reference Guide i
Page 4
CONTENTS
Reprogramming Flash Memory 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Information 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Computer Model Numbers 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Executable Archive File 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating Older Configurations 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Determining Which Archive File to Use 1Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IFL Card Creation 1Ć9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Prerequisites for IFL Card Creation 1Ć9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Master Mode Boot (IFL) Card 1Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Updating 6210 Flash (preferred approach) 1Ć10. . . . . . . . . . . . . . . . . . . . . . .
Updating 6210 Flash (Master Mode Boot) 1Ć10. . . . . . . . . . . . . . . . . . . . . . . .
Updating the Databook Software on Your PC 1Ć11. . . . . . . . . . . . . . . . . . . . .
Direct Copy Method INTERLNK Procedure for 6200/6300 Computers 1Ć11. . . . .
General Precautions 1Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INTERSVR Installation 1Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Booting to the PC Card 1Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Boot Cycle 1Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Master Mode Boot Cycle 1Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a Custom Flash 1Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Files Used in Flash Upgrade 1Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Development Environments 1Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS 1Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PenDOS Handwriter Recognition System 1Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . .
PenPal (DOS) 1Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PenRight! Pro 1Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows 1Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Handwriting Recognition 1Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CIC Handwriter Recognition System for Windows 1Ć17. . . . . . . . . . . . . . . .
Synaptics Handwriter Recognition HRĆ1200 1Ć17. . . . . . . . . . . . . . . . . . . . . .
Pen Extensions for Windows 1Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PenRight! Pro (Windows) 1Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pen Extensions for Windows 1Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Microsoft Visual Basic for Windows 1Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Borland Delphi for Windows 1Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Microsoft Visual C++ or Borland C++ for Windows 1Ć18. . . . . . . . . . . . . . . .
Other Environments 1Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Some Considerations and Guidelines 1Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Screen 1Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard 1Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Guidelines 1Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setup for PC Development 1Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Development Resources 1Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Open Systems Resources 1Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SystemSoft Card and Socket Services 1Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CardSoft Utilities 1Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Booting from an SRAM Card 1Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Booting from the RAM Drive 1Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SanDisk Support with Stacker 1Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communication using INTERLNK and INTERSVR 1Ć25. . . . . . . . . . . . . . . . . . .
Example Boot Files 1Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAM Drive 1Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norand Utilities and Communications 1Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norand Utilities 1Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Creating a (Host) Download Include File 1Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . .
NPCP Network 1Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TTY 1Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Novell 1Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NRInet 1Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TFTP 1Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCP/IP Bootp 1Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ii PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 5
CONTENTS
Other Intermec Software 1Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Device Drivers 1Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Device Drivers 1Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Utility Programs 1Ć33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Batch File Enhancers 1Ć33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 2
Supporting DOS Applications
DOS Power Management Drivers: NPOWER.EXE, NORAPM.EXE 2Ć2. . . . . . . . . . .
Installation 2Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Operational Switches for NPOWER.EXE 2Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation Switches 2Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Line Switches 2Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Broadcasting Messages 2Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Vectors Supported by NPOWER.EXE 2Ć6. . . . . . . . . . . . . . . . . . . . . . . . . .
Broadcast Event 2Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SystemResumeNotification 2Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 08h ISR: Timer Tick 2Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 15h API 2Ć9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 21h API: DOS System API 2Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 28h API: DOS Idle API 2Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 2Fh API: DOS Multiplex Interrupt 2Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Release Virtual Machine Time Slice Ċ (AX=1680h) 2Ć11. . . . . .
NPOWER.EXE Multiplex Handle Ċ (AH=54h) 2Ć11. . . . . . . . . . . . . . . . . . .
INT 74h ISR: Touch Screen Interrupt 2Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts Supported by NORAPM.EXE 2Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORAND Proprietary System Interfaces 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling Convention 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported Proprietary System Interrupts 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management Clock Driver: CLOCK.EXE 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing CLOCK.EXE 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation Switches 2Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Pen Driver: 62MOUSE.COM, 63MOUSE.COM 2Ć14. . . . . . . . . . . . . . . . . . . . . . . . .
Installation 2Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration and Options 2Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported DOS Pen Driver Interrupts 2Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pen Calibration 2Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Scanner: SCANTSR.EXE 2Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation Options 2Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example 2Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS NPCP Printing: PC4800.SYS 2Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Driver Installation and Configuration 2Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required CONFIG.SYS Entry 2Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required AUTOEXEC.BAT Entry 2Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Functionality and Usage 2Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Notes 2Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS IrDA Printing: PRDRV.SYS, IRDAPDRV.EXE 2Ć20. . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 2Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required CONFIG.SYS Entry 2Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required AUTOEXEC.BAT Entry 2Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Driver Entry Points 2Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Usage 2Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide iii
Page 6
CONTENTS
PC Card Modem Driver: NGENMOD.SYS 2Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Driver Installation 2Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Information 2Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Qualifying PC Card Modems 2Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Application Interfaces and Device Behavior 2Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported DOS Driver IOCTL_IN Functions 2Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . .
CMD 1: Command Line Parameters 2Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CMD 2: Manufacturer ID String 2Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CMD 3: Product Version 1 Information String 2Ć26. . . . . . . . . . . . . . . . . . . . . . .
CMD 4: Return Extended Error 2Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IOCTL_IN Sample Code 2Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Driver Errors 2Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts Supported by NGENMOD.SYS 2Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 14h 2Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INT 15h 2Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PC Card WAN Power Manager: NGENWAN.SYS 2Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Driver Installation 2Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration Information 2Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Qualifying Wireless WAN Cards 2Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts Supported by NGENWAN.SYS 2Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 3
Supporting Windows Applications
Minimal Windows Installation 3Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard SRAM Installation 3Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Custom SanDisk or PC Card Installation 3Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Custom Installations 3Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Operation Modes 3Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Normal Startup (Standard Mode) 3Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOSX.EXE Startup 3Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Components 3Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Shell 3Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORSHELL WIN.INI Example 3Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shutting Down Windows 3Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Power Management Driver 3Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Messages and Alerts 3Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Message Window 3Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Errors During Installation 3Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Battery Status 3Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suspend Errors 3Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Event Messages 3Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Audible Alerts 3Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Background Power Management 3Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Power States 3Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPU Power Management 3Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Power Management 3Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
User Activity 3Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Activity 3Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM Event Broadcasts 3Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Receiving APM Event Broadcasts 3Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard APM Event Codes 3Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM OEM Event Codes 3Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 7
CONTENTS
Power Management Programming Interface 3Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows ProtectĆMode API 3Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management by Windows Applications 3Ć18. . . . . . . . . . . . . . . . . . . . . . . .
Saving CPU Power 3Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Saving Device Power 3Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Holding Off Suspend Timeouts 3Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Suspending the System Directly 3Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management in Windows Drivers 3Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6300 Windows Pen Driver 3Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pen Applications 3Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Interface 3Ć21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Digitizer Calibration 3Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Orientation 3Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORPEN.DLL SYSTEM.INI Configuration Example 3Ć24. . . . . . . . . . . . . . . . .
Pen Calibration 3Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6300 Integrated Scanner 3Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSTEM.INI Entries 3Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entries in [Scanner Driver] Section of SYSTEM.INI 3Ć25. . . . . . . . . . . . . . . . . .
Usage 3Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing Multimedia Extensions 3Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NPCP Printing for Windows 3Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required WIN.INI Entries 3Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required SYSTEM.INI Entries 3Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Usage 3Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic Windows Printing 3Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default ErrorĆHandling Mode 3Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ApplicationĆDefined ErrorĆHandling Mode 3Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Services API 3Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Retrieving the API Entry Point PrtService 3Ć32. . . . . . . . . . . . . . . . . . . . . . .
Calling PrtService 3Ć33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported PrtService Options 3Ć33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Special Paper Handling 3Ć34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Error Codes/Messages 3Ć35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IrDA Printing 3Ć36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 3Ć36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required WIN.INI Entries 3Ć37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Required SYSTEM.INI Entries 3Ć38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default ErrorĆHandling Mode 3Ć39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ApplicationĆDefined ErrorĆHandling Mode 3Ć39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printer Services API 3Ć39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Retrieving the API Entry Point PrtService 3Ć40. . . . . . . . . . . . . . . . . . . . . . . . . . .
Calling PrtService 3Ć40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Supported PrtService Options 3Ć41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Error Codes and Messages 3Ć41. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 4
Power Management BIOS: NORAPM.EXE
System Power States 4Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Power State Management 4Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Device Power Control 4Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM Software Interface 4Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM Connection 4Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management Events 4Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM BIOS Functions 4Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APM Function Summary 4Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide v
Page 8
CONTENTS
APM Include Files 4Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORAPM.DLL Driver Files 4Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APMEVENT.H 4Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORAPM.H 4Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Programs 4Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Firmware Error Codes 4Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 5
Communications and Device Support
Using INTERLNK and INTERSVR 5Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norand Utilities 5Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Setup Requirements 5Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NPCP 5Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TTY 5Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NRInet Using PSROM0C Version 3.xx 5Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NRInet Using PSROM0C Version 2.xx 5Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TCOM Session Overview 5Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Session Control File 5Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Download Request File 5Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upload and Download Files 5Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PL/N File Descripter for Binary Files 5Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communications Control File for PSROM0C.EXE 5Ć8. . . . . . . . . . . . . . . . . . . .
Upload Control File Parameters 5Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Minimum NRUPLD.CTL 5Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Example NRUPLD.CTL 5Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communications Log File 5Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protocol Errors 5Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Novell ODI Ethernet Driver 5Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation 5Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using PKODI.COM as a Packet Driver 5Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using PKODI.COM as an NDIS Driver 5Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
When to Use a Shim 5Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Configuration 5Ć18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Advanced Power Management BIOS 5Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warning for Prototype PEN*KEY Units 5Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6200 Keyboard Definition/Redefinition 5Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Physical Keyboard 5Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logical Keyboard 5Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Unshifted Keycode Definitions 5Ć22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gold Shifted Keypress Definitions 5Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shifted Key Function Redefinitions 5Ć26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unshifted Key Redefinitions 5Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6300 Keyboard Definition/Redefinition 5Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Physical Keyboard 5Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Logical Keyboard 5Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Keycode Definitions 5Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gold Shifted Keypress Definitions 5Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Macro Redefinition 5Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Key Redefinition 5Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Upper Memory Provider 5Ć33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
vi PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 9
CONTENTS
SECTION 6
Conversions and Interfaces
Converting 4000 Series Applications 6Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Files No Longer Supported 6Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Changed Files 6Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS 6Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CPLNI.COM 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PC4800.SYS 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PCĆDEXIO.BIN 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSIO.BIN, TTYIO.BIN, URTIO.BIN 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
New 6000 Series Files 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AUTOEXEC.BAT 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4000API.EXE 6Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FONTMAP.EXE 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
*.FNT 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IPLFMT.EXE 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MININET.EXE 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROMINIT.BAT 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unchanged Files 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
C++ Application Changes 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display 6Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Files 6Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Printers 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drives 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Communications 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Reset 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management 6Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norlib 6Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding PC Card Modem Support 6Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding SanDisk ATA Card Support 6Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PL/N Application Changes 6Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Source Changes 6Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CLKIO 6Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
KBDIO 6Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MEMIO 6Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PRTIO 6Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSIO 6Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XLMEMIO 6Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Routines 6Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding PC Card Modem Support 6Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Adding SanDisk ATA Card Support 6Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6200/6300 BIOS Interfaces 6Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts Supported by the BIOS 6Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unsupported 4000 Series BIOS Interrupts 6Ć19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4000 Series Programming Interfaces 6Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installation and Configuration 6Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Line Switches 6Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MultiĆtasking Services 6Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tasks and Scheduling 6Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timeouts 6Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Resource Arbitration and Task Communication 6Ć24. . . . . . . . . . . . . . . . . . . . . .
Mailboxes 6Ć24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Queues 6Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts Supported by 4000API.EXE 6Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unsupported 4000 Series Interrupts 6Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide vii
Page 10
CONTENTS
4000 Series Screen Emulation 6Ć27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Parameters and Command Line Switches 6Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Font File Format 6Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupts supported by FONTMAP.EXE 6Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unsupported 4000 Series Video Interrupts 6Ć29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Interrupt Definitions 6Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Timer: INT 08h 6Ć30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Interface: INT 09h 6Ć31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Display Services: INT 10h 6Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Display Functions 6Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Font Support 6Ć43. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Alternative Settings, Video 6Ć47. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Programmable Font Support 6Ć52. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Equipment Determination: INT 11h 6Ć53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Size Determination: INT 12h 6Ć53. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disk Services: INT 13h 6Ć54. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serial Communications Services: INT 14h 6Ć60. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Services: INT 15h 6Ć66. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Services: INT 16h 6Ć104. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scan Codes 6Ć104. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Character Codes Returned by INT 16h 6Ć105. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Reboot: INT 19h 6Ć112. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Timer and RealĆTime Clock Services: INT 1Ah 6Ć113. . . . . . . . . . . . . . . . . . . . . . . . . . .
NPOWER Interfaces: INT 2Fh 6Ć117. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Mouse Interface: INT 33h 6Ć119. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RealĆTime Clock: INT 70h 6Ć126. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CrossĆReference to Interrupts 6Ć127. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 7
System Information
ROM DOS 5 7Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using COMMAND.COM as Command Processor 7Ć2. . . . . . . . . . . . . . . . . . . . . . . . .
MiniCMD 7Ć2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Using CONFIG.SYS with MiniCMD 7Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MiniCMD Internal Command Set 7Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MiniCMD Restrictions 7Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MiniCMD Changes, Specific to NORAND HHCs 7Ć4. . . . . . . . . . . . . . . . . . . . . .
Boot Process 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Cold Booting 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIOS Code is Shadowed 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PowerĆOn SelfĆTests (POSTs) are Run 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Video BIOS is Enabled 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Version Messages are Displayed 7Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Disposable BIOS Extensions are Scanned For and Executed 7Ć6. . . . . . .
Detection of Cold Boots Using the CMOS Signature 7Ć6. . . . . . . . . . . . . . .
Invalid RamDrive Message 7Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testing XMS Memory Message 7Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Memory Size Report 7Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIOS Extensions are Scanned For and Installed 7Ć7. . . . . . . . . . . . . . . . . .
ROM DOS 5 is Booted 7Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Drives A through D are Initialized 7Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS is Loaded and Processed 7Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COMMAND.COM is Processed 7Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warm Booting (or Resetting) 7Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Master Mode Boot Sequence 7Ć8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Map: Flash Memory Versus Shadow RAM 7Ć9. . . . . . . . . . . . . . . . . . . . . . .
Boot Drive Selection 7Ć9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
H8 Downloads: H8PROG.EXT 7Ć9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 11
CONTENTS
System Information Tables 7Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Flash Memory and Shadow RAM Addresses 7Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
System Messages 7Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Audible Error Codes During POST 7Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
OpenĆSystems I/O and IRQ Maps 7Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Ports 7Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COM1 PinĆOuts 7Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Interrupts 7Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
I/O Map 7Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIOS/CMOS System Variables 7Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROM BIOS Data Area 7Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CMOS Registers 7Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SECTION 8
Open Systems Publications
Application API 8Ć1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware Interface 8Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPENDIX A
Sample Configuration Files
Sample Boot Configurations for 6200 AĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS Listings AĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS for a PL/N Application AĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS for a Non PL/N Application AĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS with Device Driver Configurations AĆ2. . . . . . . . . . . . . . . . . . . . .
AUTOEXEC.BAT Listing for 6200 AĆ5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
ROMINIT.BAT File Listing for 6200 AĆ5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Boot Configurations for 6300 AĆ6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS Listing AĆ6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AUTOEXEC.BAT Listing for 6300 AĆ9. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Windows Configuration Files AĆ10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PENWIN.INI AĆ10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SYSTEM.INI AĆ10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WIN.INI AĆ16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Other Configurations AĆ19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SanDisk Card with Stacker AĆ19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CONFIG.SYS AĆ19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AUTOEXEC.BAT AĆ20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Setups for Third Party Applications AĆ20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample PenPal (DOS) Setup AĆ20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample PenRight! (DOS) Setup AĆ21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Handwriting Recognition System Setup AĆ21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPENDIX B
Common PEN*KEY 6000 Series Information
Development Support Files BĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORAPM.H BĆ2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APMCODES.H BĆ4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sample Programs BĆ6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Charge Detection Demonstration Program BĆ6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Keyboard Remapping Program BĆ7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Include File: SMM.H BĆ7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Source File: REMAP.C BĆ8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Critical Error Handler BĆ12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide ix
Page 12
CONTENTS
Design Notes for PEN*KEY 6000 Series WAN Power Management BĆ16. . . . . . . . . . . .
General Environment BĆ16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Command Line Interface BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Default Settings BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Basic Functions BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Program Requirements BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
WAN Power Management Implementation BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
General Requirements BĆ17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Purpose BĆ18. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Programs BĆ19. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installing the WANPOWER TSR BĆ20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Memory Overview (6000 Series) BĆ20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Background BĆ21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard PC Memory Overview BĆ21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definition of Terms BĆ22. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Statements and Programs (CONFIG.SYS, AUTOEXEC.BAT) BĆ22. . . . . . . . . .
Windows, Storage Devices, and Memory BĆ23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
How 6000 Series System Works BĆ24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Standard Mode Versus Enhanced Mode BĆ25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RAM Drive IntegrityĆProtection BĆ26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NonĆWindows Systems: PenPal and PenRight! BĆ26. . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Environment BĆ26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Brief History of Microsoft Windows BĆ26. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Architecture BĆ27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hardware BĆ27. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIOS BĆ28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS Device Drivers BĆ29. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DOS BĆ30. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows System Files BĆ31. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Windows Device Drivers and APIs BĆ32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DLLs BĆ33. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
INI Files BĆ34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Additional Windows Files BĆ35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Shell Applications BĆ35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Fonts: What They Are and How They Impact BĆ35. . . . . . . . . . . . . . . . . . . . .
Applications BĆ36. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pen Windows Files BĆ37. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Handwriting Recognition BĆ38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NORAND Value Adds BĆ38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BIOS (Basic Input Output System) BĆ38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Card Services BĆ38. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Power Management BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Norand Utilities BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Pen Drivers BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Scanner Drivers BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
NPCP Printing Drivers BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IrDA Printing Drivers BĆ39. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MemoryĆSizing Guidelines BĆ40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
All Systems BĆ40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Systems with RAM Drive Storage BĆ40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Systems with External Storage BĆ40. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FIGURES
Figure 1Ć1 Location of Battery Compartment and Switch 1Ć20. . . . . . . . . . . . . . . . . . . . .
Figure 5Ć1 30ĆKey Keyboard 5Ć20. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure 5Ć2 56ĆKey Keyboard 5Ć21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure BĆ1 Typical Memory Organization BĆ21. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure BĆ2 Desktop/Laptop PC with Hard Disk BĆ23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure BĆ3 PC with RAM Disk BĆ23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Figure BĆ4 PEN*KEY System with RAM Disk BĆ24. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
x PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 13
CONTENTS
Figure BĆ5 PEN*KEY System with PC Card BĆ25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
TABLES
Table 1Ć1 SystemSoft Files 1Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć2 Initialization Files 1Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć3 Card Libraries 1Ć23. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć4 DOS Device Drivers 1Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć5 Windows Device Drivers 1Ć32. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć6 DELAY.EXE Error Levels 1Ć34. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 1Ć7 MMBFLAG.COM Error Levels 1Ć35. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 2Ć1 Power Management Interrupts Supported 2Ć12. . . . . . . . . . . . . . . . . . . . . . . . .
Table 2Ć2 INT 33h Interrupts Supported 2Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć1 Windows Startup and Shell Programs 3Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć2 Initialization Files 3Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć3 Windows Enhanced Mode Files 3Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć4 Windows System Device Drivers 3Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć5 Windows Installable Device Drivers 3Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć6 VGA Device Fonts 3Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć7 Popular System DLLs 3Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć8 Sound Files 3Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 3Ć9 Utilities 3Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć1 Activity Monitors 4Ć3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć2 Power States (General Definitions) 4Ć4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć3 Power States (Display) 4Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć4 Power States (PC Card Devices) 4Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć5 Power States (Serial Port) 4Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć6 Power States (Digitizer) 4Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć7 Power States (Ethernet Network) 4Ć5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć8 Power States (Pod Ċ 6300 Computer only) 4Ć6. . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć9 Power States (PC Card Slot) 4Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć10 Power States (System) 4Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć11 Power States (Backlight) 4Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć12 Power States (SWV5) 4Ć6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć13 Power Management Event Codes 4Ć7. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć14 Power Device IDs 4Ć10. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć15 APM Function Summary 4Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 4Ć16 Firmware Error Codes 4Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 5Ć1 NPCP Protocol Errors 5Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 5Ć2 MININET Protocol Errors 5Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 5Ć3 NRInet Protocol Errors 5Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 5Ć4 TTY Protocol Errors 5Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 6Ć1 BIOS Interrupts Supported 6Ć16. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 6Ć2 4000API Interrupts Supported 6Ć25. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 6Ć3 FONTMAP Interrupts Supported 6Ć28. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 6Ć4 Character Codes Returned by INT 16h, Functions 00h/01h 6Ć105. . . . . . . . . .
Table 6Ć5 Interrupt CrossĆReference 6Ć127. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć1 Flash Memory and Shadow RAM Addresses 7Ć10. . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć2 System Messages 7Ć11. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć3 POST Error Codes 7Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć4 Hardware Ports 7Ć12. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć5 COM1 Connector PinĆOuts 7Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć6 Hardware Interrupt Definitions 7Ć13. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć7 I/O Address and Devices 7Ć14. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć8 BIOS Data in System RAM 7Ć15. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table 7Ć9 CMOS Register Assignments 7Ć17. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GLOSSARY
INDEX
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide xi
Page 14
CONTENTS
xii PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide
Page 15
Preface
""""""""""""""""""""
This publication was written to assist you in the development, or porting, of endĆ user applications for use on PEN*KEY
If you are unfamiliar with the structure of the 6000 Series Programmer's ReferĆ ence Guides, be sure to read Locating Information, to simplify the task of finding topics of interest.
Topic Summary
Topic Page
Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Related Publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Structure of the Book . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
An outline of the publication, showing how the book is structured.
Locating Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Several ways to locate information are listed here to assist you in locating topics of interest:
Contents Topic Summaries Tabs Index
Locating Files and Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Locating Interrupt Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Support Available . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
R
6200 or 6300 HandĆHeld Computers.
1 2
6
Preface
Scope
Most of the material in this publication pertains to both the 6200 and 6300 SeĆ ries computers. This especially applies to material for which model numbers are not mentioned. Whenever 6200 is mentioned, that information applies to the 6200 Series. Whenever 6300 is mentioned, that information applies to the 6300 Series. For information relating only to a specific model, the appropriate model is identified in the text. For cases not mentioned here, the applicability of any particular piece of information is obvious by its use in the text.
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide 1
Page 16
Preface
Preface
Flash Version 1.40 to 1.5x
This publication applies for flash versions 1.40 through 1.5x. The installation, configuration, functionality, and usage for applications described herein apply to the versions of device drivers supplied in a typical release for this flash version. See the RELNOTES.TXT file in the Toolkit for version numbers of the individual device drivers for your particular configuration. See C++ Application Changes, in Section 6, for additional information on versions that apply to specific models.
Level of Expertise Needed
The information in this book is intended for experienced application programĆ mers. However, you should find writing applications for the 6200 and 6300 SeĆ ries Computers very much like writing applications for most standard PCs, with some differences. For information relating to these differences, see the IntroducĆ tion to the 6200 and 6300 Series Computers paragraph in Section 1.
For the New User
If you discover you need further assistance in developing applications, consider the available resources, such as those listed in Section 8.
Also, Intermec Technologies Corporation provides training and support for purĆ chasers of our products. See the Support Available paragraph, later in this secĆ tion.
See Appendix B for additional information. For example, the Memory Overview and The Windows Environment paragraphs contain valuable information for new users.
Related Publications
PEN*KEY Model 6200 HandĆHeld Computer User's Guide P/N 961Ć028Ć075
PEN*KEY 6210 HandĆHeld Computer User's Guide P/N: 961Ć028Ć090
PEN*KEY Model 6300 HandĆHeld Computer User's Guide P/N 961Ć028Ć083
PL/N 4000 Series Reference Manual, Volume 1 P/N: 977Ć037Ć007
PL/N 4000 Series Reference Manual, Volume 2 P/N: 977Ć037Ć008
R
2 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 17
Structure of the Book
The following overview describes the structure of this publication.
Section 1, Getting Started
Contains information to help you become familiar with your 6200 or 6300 ComĆ puter. It describes the 6200 and 6300 Systems, the DOS and Windows environĆ ments, how to reprogram flash memory and set up your system, using thirdĆ party applications, and some development resources.
Section 2, Supporting DOS Applications
Describes several DOS applications supported for the 6200 and the 6300 ComĆ puters, as well as printing and power management for the DOS environment.
Section 3, Supporting Windows Applications
Describes the minimal Windows installation, the NORANDR Windows shell, several Windows applications supported for the 6200 and the 6300 Computers, as well as printing and power management in the Windows environment.
Section 4, Power Management
Describes Advanced Power Management (APM), supported for the 6200 and 6300 Computers.
Preface
Preface
Section 5, Communications and Device Support
This section includes the following information:
" Communications Support
Norand Utilities, Novell ODI Ethernet, INTERLNK and INTERSVR
" Device Support
Devices that are supported for both DOS and Windows, including the upper memory management utility and the keyboard.
Section 6, Conversions and Interfaces
Porting 4000 Series applications to the 6000 Series Computers, a list of interĆ rupts including detailed definitions.
" Interrupt CrossĆReference (by number)
A crossĆreference table indexed directly to each of the interrupts (organized by interrupt number).
Section 7, System Information
Including the boot process, the DOS operating system, H8 Downloads hardware reference information, such as: messages, audible alerts, IRQ and I/O maps, and system variables.
Section 8, Open Systems Publications
A list of publications which were referenced from other places within this book, and others useful for developing applications for your computer.
Appendix A, Sample Configuration Files
Provides examples of configuration files for your computer.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3
Page 18
Preface
Preface
Appendix B, Common PEN*KEY 6000 Series Information
Contains information common to most (or all) of the PEN*KEY 6000 Series comĆ puters:
" Memory Overview
Some noteworthy design aspects of the PEN*KEY 6000 Series system.
" Windows Environment
An overview of Windows, describing the manner in which Windows, BIOS, the applications, the drivers, and the hardware all work together, including an approach for determining the memory requirements for a WindowsĆ based PEN*KEY 6000 Series system.
" Design Notes for PEN*KEY WAN Power Management
Describes the application programming interface (API) for power manageĆ ment of the NORAND WideĆArea Network (WAN) implementation for a PEN*KEY 6000 Series computer.
Index
This section is partitioned into the following subsections:
" General Index
Consists of a variety of useful topics in this publication, excluding those topĆ ics listed in the following subsections.
" Files Index
This is a fairly comprehensive list of the file names, applications, and device drivers that are described (or mentioned) in this publication.
" Interrupt Index
A complete list of interrupts defined in this publication, organized alphabetĆ ically by topic.
Locating Information
Describes several documentation tools to assist you in navigating through the information in this book.
Contents
The Contents section is a good place to begin searching for information in this publication, since it is an outline of the book.
Topic Summaries
There is a Topic Summary at the beginning of each section in this publication. It provides a (miniature) table of contents for the section. For example, the Topic Summary in Section 2 provides an index to each of the DOS applications, includĆ ing a topic title, the name of each application, and the page number where that topic is described.
Tabs
Since various paragraphs throughout the book see information in other sections, the bleed tabs" (located along the right margin) are provided to assist you in loĆ cating sections quickly.
R
4 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 19
Preface
Index
The Index section, at the end of this publication, also provides a quick method of locating information. It is divided into three subsections, as previously deĆ scribed.
Locating Files and Applications
There are several ways to locate the information for a particular file:
" The Files Index is probably the most useful source, because it is a fairly
comprehensive list of the names of all files, application programs, device drivers, batch files, and utilities described in this book.
" The Contents is another source for locating applications. If the topic deĆ
scribes an application, the name of that application is included in the paraĆ graph title.
" The Topic Summary (at the beginning of each section) is a miniĆTable of
Contents for the topics included in that section. If the topic describes an application, the name of that application is included in the Topic Summary.
" If you know the file is a DOS application, look in Section 2. Check out
the Topic Summary, first.
" If you know the file is a Windows application, look in Section 3. Check
out the Topic Summary, first.
The following items are lists of files and applications:
" The Key Files Used in Flash Upgrade paragraph, in Section 1, contains
a list of files, on page 1Ć14.
" CardSoft Utilities, in Section 1, contains a list of SystemSoft files, beginĆ
ning on page 1Ć22.
" DOS Device Drivers are listed in Section 1, on page 1Ć32, including a brief
title of the software driver.
" Windows Device Drivers are listed in Section 1, on page 1Ć32, including a
brief title of the software driver.
" A few Utility Programs are briefly defined in Section 1, on page 1Ć33. " Some Batch File Enhancers are briefly defined in Section 1, beginning on
page 1Ć33.
" Windows Components are listed in Section 3, beginning on page 3Ć4.
Preface
Locating Interrupt Definitions
There are several ways to locate the information for an interrupt.
" The Contents contains entries that can lead you to the general location
where each set of interrupts is documented. For example, System Timer Interrupt, Display Services Interrupt, Standard Mouse Interface.
" The Interrupt CrossĆReference table, in Section 6, is organized by interĆ
rupt number and includes page numbers to the locations where these interĆ rupts are defined.
" The Interrupt Index (at the end of this publication) lists all of the interĆ
rupt definitions included in this book, organized alphabetically by topic.
" See Section 8 for the names of publications that provide information about
other general and special purpose interrupts.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 5
Page 20
Preface
Preface
Support Available
As you pursue your PEN*KEY 6000 Series computer development activity, you can obtain information and personal assistance from various resources.
This Programmer's Reference Guide pulls together, under one cover, many diĆ verse and separate topics related to PEN*KEY 6000 Series development activity.
"
NOTE: Other related information is available from third-party suppliers. Many of these sources are
identified in Section 8.
Factory Service
If your unit is faulty, you can ship it to the nearest authorized Service Center for factoryĆquality service.
Customer Support Center
The Intermec Customer Support Center (technical support) telephone number is 800Ć755Ć5505 (U.S.A. or Canada) or 425Ć356Ć1799. The facsimile number is 425Ć356Ć1688. Email is support@intermec.com.
If you email or fax a problem or question include the following information in your message: your name, your company name and address, phone number and email to respond to, and problem description or question (the more specific, the better). If the equipment was purchased through a ValueĆAdded Reseller please include that information.
Web Site
The Customer Support File Libraries, including Hot Tips and Product Awareness Bulletins, are available via the Intermec Product Support page at this URL: http://norbbs.norand.com/index.htm. New users can sign up for a new account on this page.
PDF versions of Intermec manuals can be found at this URL:
http://corp.intermec.com/manuals/english.htm.
Bulletin Board Service
The Customer Support Bulletin Board (BBS), maintained by Intermec TechnoloĆ gies Corporation, provides software and documentation:
" Phone number: 319Ć369Ć3515 (14.4 Kbps modem)
" Protocol: Full duplex, ANSI or ANSIĆBBS; 300 to 28,800 bps; v.32bis; 8
bits, no parity, 1 stop bit. For highĆspeed modems, disable XON/XOFF and enable RTS/CTS.
This is the same location available via the web site. If your web access uses highĆspeed phone lines, the web interface provides a faster response.
R
6 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
319Ć369Ć3516 (28.8 Kbps modem)
Page 21
Section 1
Getting Started
""""""""""""""""""""
This section contains information to help you become familiar with your 6200 or 6300 Series HandĆHeld Computer (HHC), so you can start building applications.
R
If you are not familiar with the structure of the PEN*KEY Programmer's Reference Guides, be sure to turn back to the introductory section and read Structure of the Book and Locating Information.
Topic Summary
Topic Page
Open System Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć2
Introduction to the 6200 and 6300 Series Computers . . . . . . . . . . . . . . . . . . . . . . . . 1Ć2
Toolkit for 6200 and 6300 Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć5
Tips for Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć6
System Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć7
Reprogramming Flash Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć8
IFL Card Creation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć9
Direct Copy Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć11
Booting to the PC Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć13
Creating a Custom Flash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć14
Development Environments
DOS, Windows, Other . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć15
Some Considerations and Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć19
Setup for PC Development . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć20
Development Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
Open Systems Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
Card and Socket Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
SystemSoft Card and Socket Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
SanDisk Support with Stacker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć25
Communication using INTERLNK and INTERSVR . . . . . . . . . . . . . . . . . . . . . 1Ć25
RAM Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć26
Norand Utilities and Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć27
Other INTERMEC Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć32
Device drivers, utility programs, and DOS batch file enhancers
6000 Series
1. Getting Started
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide 1-1
Page 22
1. Getting Started
Open System Environment
SECTION 1Getting Started
The following list contains other topics of interest:
List of Figures and Tables
Topic Page
Figure 1Ć1 Location of Battery Compartment & Switch . . 1Ć20
Table 1Ć1 SystemSoft Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć23
Table 1Ć2 Initialization Files . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć23
Table 1Ć3 Card Libraries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć23
Table 1Ć4 DOS Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć32
Table 1Ć5 Windows Device Drivers . . . . . . . . . . . . . . . . . . . . . 1Ć32
Table 1Ć6 DELAY.EXE Error Levels . . . . . . . . . . . . . . . . . . . . 1Ć34
Table 1Ć7 MMBFLAG.COM Error Levels . . . . . . . . . . . . . . . 1Ć35
The operating systems for the 6200 and 6300 Series computers consist of standard MSĆDOS and Windows, as described in a later paragraph in this section, entitled, Toolkit for the 6200 and 6300 Computers.
One of the major benefits of this openĆsystems approach is that you are able to acquire development equipment and software from many different vendors, including Intermec. This provides you with wide latitude in selecting the equipment and software tools that are best suited to your particular development needs. The challenge lies in finding pieces that work well together, especially when you are working in the areas of communications and interfaces.
If you have DOS or Windows programming experience, you can quickly feel comfortable with the PEN*KEY 6000 Series platform.
Introduction to the 6200 and 6300 Series Computers
From the viewpoint of an application, the 6200 and 6300 Series computers are like other PCs, with some exceptions, as described below.
Operating System
The operating systems in these computers are very much like standard PCs. However, keep in mind, the 6200 Computers are DOS only. The 6300 Computers are DOS and Windows. See also Section 7, Reference, System Information.
How the Software is Different
For a description of operating systems, see the Development Environments paragraph, page 1Ć15.
How the Hardware is Different
These computers are ruggedized, ergonomic, batteryĆpowered, touchĆbased computers, with input from finger touch, stylus, keyboard, or scanner. They are designed for a mobile environment.
R
1-2 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 23
SECTION 1 Getting Started
Processor
The 6200 Series computer contains a 80386SL 25 MHz processor. The standard processor for the 6300 Series computer is an 80386SX 25 MHz processor. It can be ordered with an 80486SL processor, with the option of either 25 MHz (6325 Computer) or 50 MHz (6350 Computer). Some models, such as 6210 and 6350 Computers, use TI 486 processors.
Display
The normal display, for all models in the 6200 and 6300 Series, is landscape. However, most applications use a rotated (portrait mode) screen. Features and option:
" 6200 Computer Ċ Backlit display and touch screen options. " 6300 Computer Ċ Comes equipped with the backlit display.
The number of pixels:
" 6200 Computer Ċ 160 (width) x 200 (length) pixels " 6300 Computer Ċ 320 (width) x 480 (length) pixels
The 6360 Computer has a larger screen than the 6350 Computer.
1. Getting Started
User Input
All models have builtĆin keypads. The 6200 Series computers come with either a numeric or alphanumeric keypad, and the 6300 Series computers have numeric keypads. See Section 5 for details. Most user input is done using touch, pen, or bar code scanning.
Power Management
Advanced Power Management (APM) is critical. It consists of a main battery and a backup battery. This combination of APM software and batteries provides a smart battery pack.
B
CAUTION: These computers have ONE primary power source. That is the MAIN Battery. The
only function for the Backup Battery is to maintain power to RAM while changing the Main Battery. 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.
The Main Battery, even in suspend mode, maintains RAM, RTC, and CMOS settings. When the HHC is off charge, the Main Battery also supplies any needed charge to the Backup Battery.
The Backup Battery is for emergencies only. The Backup Battery should not be relied upon, for extended periods, to support the system with no Main Battery.
A unit with functioning Main and Backup Batteries can be left off charge overnight or for a long weekend, presuming it has fully charged and functioning Main and Backup Batteries.
"
NOTE: A discharged Backup Battery takes 14 hours to recharge. A discharged Main Battery takes 2
hours to recharge.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-3
Page 24
1. Getting Started
SECTION 1Getting Started
System Memory
System memory is provided via DRAM and flash memory modules.
" Flash memory provides storage for executable and system files.
" 6200 Series computers have 512 KB, except the 6210 with 1 MB " 6300 Series computers have 1 MB
At the time of this publication, the following flash versions were available:
" 6200 and 6210, 0.5 MB flash, version 1.61 " 6210, 1 MB flash, version 1.00 " 6300 and 6360, 1 MB flash, version 1.60
" DRAM memory:
" 6200 Computer has 2 MB, and can be expanded to 4 MB. " 6210 Computer can have 2, 4, 6, 8, or 12 MB of system RAM. " 6300 Series computers have 4 MB, and can be expanded to 12 MB.
Input, Output, and Storage Devices
PC Card
The PC Card slots are used for nonvolatile SRAM or flash data storage, radio, radio or land modems, or other devices. System resources, which are available to the applications, may also be stored on the flash drive. PC Card supports one ATA type III flash or two ATA type II cards.
"
NOTE: Throughout this publication, cards that conform to the PC Card interface standard (new stan-
dard) or the PCMCIA interface standard (old standard) are commonly referred to as, “PC Card xxxxx (where xxxxx consists of modem, drive, or other device type), or PC Card (re­ferring to the standard or to a card). This is because PC Card is becoming the accepted in­dustry term for a storage medium that conforms to one of these standards.
Infrared Printing
IrDA printing is also available.
Serial Data Communications
Data communications (TCOM) takes place through standard ports. Transfer of data takes place on a regular basis; in most applications, it is one or more times daily; and in wireless applications, it is on a realĆtime basis. Intermec supplies methods and utilities for management of communications.
System Environments
The 6200 and 6300 System Environments should be kept in mind, while writing applications for them. Each of the HHCs may have different processors with different speeds. They each use a flash memory file system, and have a builtĆin VGA viewing screen. Application programmers need to remember the constraints listed previously; and the flash file system, which is usually kept writeĆprotected and to which cannot be written.
The 6200 Series computers have no external keyboard capability. Each of the computers contains a builtĆin keypad with a limited number of keys. Most of the scan codes returned are the same as standard PCs.
Hardware Ports
For information relating to the communication ports, addresses, IRQs, and devices supported for the hardware ports, see Section 7.
R
1-4 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 25
SECTION 1 Getting Started
Toolkit for 6200/6300 Computers
General Information
The file complement in the toolkit for the 6200 or 6300 Series computer differs from one release to the next. For an accurate list of toolkit files, see the RELNOTES.TXT file, included in the toolkit distribution package.
The following available toolkits contain DOS and Windows resources for configuration, power management, communications, and peripherals:
Part Number Description
P/N 215Ć452Ć001 6200/6300 DOS (only) toolkit P/N 215Ć455Ć001 6300 DOS and Windows toolkit
The files and documentation in the toolkit are available to those who hold licenses for the operating systems for the 6200 or 6300 Series computers.
As shipped from the factory, flash memory in the 6200 and 6300 Computers are preloaded with files for booting and telecommunicating. At a minimum, ROM DOS 5 is preloaded in flash memory. To create the environment required by your application software, select any other system files needed from the toolkit and copy them to the HHC.
Some files mentioned in this publication may not exist in flash memory. Most of these files are in the toolkit. If not, try one of the BBS Product Forums. The toolkit does not include application software. You may obtain such software from Intermec, from thirdĆparty suppliers, or design your own.
The files necessary to run Windows and the application software are often loaded onto the RAM drive. The instructions included in the toolkit assume that you will install all files on the RAM drive. Other methods of arranging files are possible. And in some cases, this requires substitution of the appropriate drive letter in place of the drive letter of the RAM drive.
1. Getting Started
File Integrity Verification Utility: CRC32.EXE
The toolkit contains a utility, CRC32.EXE, for verifying the integrity of the files provided on the toolkit disks. CRC32.EXE calculates a 32Ćbit CRC value for a file. This value may then be compared with the factory CRC value for the file. Usage is as follows:
CRC32 [filename | pathname] [/s]
where: filename is the name of the file on which the CRC is calculated. One or more
files or directories can be processed at one time. pathname is the location of the filename to be processed. Wildcard processing
is not allowed, either in the pathname specified after the @" symbol, nor any of the pathnames within the argument file. An example of a valid argument file is the same as those used by the IPLFMT program.
/s indicates that all subdirectories should be searched for matching file names. @ is (optionally) included in front of a filename to indicate that it is an argument
file, containing names of files to be checked by CRC32.EXE. There is a list of the factory CRC values for the released files included in the
RELNOTES.TXT file in the toolkit.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-5
Page 26
Tips for Getting Started
1. Getting Started
SECTION 1Getting Started
As you prepare to develop applications for your HHC (or port existing applications), keep the following basic suggestions in mind:
1. The operating system for your HHC is most likely ROM DOS 5 with Windows 3.1. If you are experienced with these operating systems, you should easily start developing or porting applications.
2. Understanding how the system configuration files are used in the HHC environment provides easier application development. These files include DOS configuration files: CONFIG.SYS and AUTOEXEC.BAT; and Windows configuration files: SYSTEM.INI and WIN.INI.
3. Become familiar with the tools and techniques for power management. Monitoring the state of battery power can be an especially critical function.
4. When developing for pen input, remember that interpreting handwriting is still a developing field; accuracy has not yet reached 100 percent. Furthermore, interpreting and storing the results puts an additional load on the processor. Excessive use of handwriting recognition software can slow down an otherwise speedy application. Use buttons, item lists, and pullĆdown menus for common tasks, instead.
5. When designing a pencentric interface, make full use of the area provided by the VGA screen. Make buttons, pullĆdown menus, text entry fields, etc. large enough for easy, accurate use in a mobile or highĆpressure environment.
6. Make your applications driveĆindependent. Do not hardĆcode drive designations. Utilize the many available PC Card storage solutions, remembering that the devices can be moved about as required by different configurations. The PC Card slots can accept nonvolatile SRAM, flash, hard disk devices, RF devices, radio or land modems, and other devices.
7. Keep in mind the general system design of your penĆoriented HHC: flash memory file system, a CGA screen and keyboard that are builtĆin, etc.
8. There are some files listed in this publication that could be useful for your configuration or application. If you need any of these files, first look in the toolkit for them. If not found there, try one of the Product Forums on our BBS.
9. Finally, for development purposes regarding the external devices, note whether these items are available (or practical) for the application to use in the field.
R
1-6 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 27
SECTION 1 Getting Started
System Configuration
Minimum Development Configuration
Note that the following paragraphs apply to the standard configuration for the 6200 or 6300 Series computer; but keep in mind that both of these computers can be configured to meet your specific needs. For example, additional RAM can be obtained to bring the total RAM up to the maximum capability.
The following constitutes the configuration items needed for a minimum development, except for items 4 and 5, which are only useful if you do not have a docking station.
1. A 6200 or 6300 Series computer, with the minimum number of megabytes of system RAM (as specified in the Introduction to the 6200 and 6300 Series Computers paragraph).
2. DOS or Windows toolkit.
3. Main and backup batteries; at least one of each.
4. One 2 MB or 4 MB SRAM card. You need at least one 2 MB SRAM card, which is useful when you need to update the flash software. For larger storage, SanDisk flash memory cards are available.
5. PC Card reader/writer (for example, Databook card readerĆwriter or notebook computer that can read/write PC Cards).
6. NULL modem cable for connecting the PEN*KEY dock to a PC.
7. Cable for connecting the PEN*KEY dock to a serial printer, or to a 4800 Series or 6800 Series Printer (if printing is required).
8. Single dock with wall charger.
1. Getting Started
Sample Configuration Files
The configuration files, CONFIG.SYS and AUTOEXEC.BAT (for 6300 Computer) and the CONFIG.SYS and ROMINIT.BAT (for the 6200 Computer), are required for an appropriate environment for the 6200 and 6300 Series computers.
For examples of configuration files for these computers, see Appendix A, Sample Configuration Files.
"
NOTE: The name SunDisk has been changed to SanDisk.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-7
Page 28
Reprogramming Flash Memory
1. Getting Started
SECTION 1Getting Started
General Information
Please read through all the following instructions before performing them.
Computer Model Numbers
When a particular model is not specified in the text, the information applies to all of the computers in the 6200 and 6300 Series. Also, keep in mind that when 6200 Computer" is specified, this refers to all computers in the 6200 Series. And when 6300 Computer" is specified, this refers to all computers in the 6300 Series. Finally, when HHC" is used, it refers to any computer in the 6200 or 6300 Series.
Information that applies to a particular model is designated by the number of that model, such as 6210 Computer" or 6360 Computer."
Executable Archive File
The files associated with this procedure (usually supplied in an archive file provided by Intermec) update from a previous version of the flash memory on the HHC.
For new flash versions, a selfĆextracting executable archive file, included in the toolkit, contains the entire flash load for your current version of flash. Run the executable archive file from a temporary directory on a desktop or laptop (host) PC. After executing the archive, a text file is produced (among others) that explains how to reprogram the flash, which is essentially the same information presented below.
Updating Older Configurations
Intermec recommends you upgrade to the latest flash version. Check with your Intermec sales representative to find out what flash version is currently being shipped. You can order flash memory updates on disk or SRAM cards, or download the update files from our Bulletin Board. For details of the Bulletin Board, see the Support Available paragraph, in the introductory section of this publication. Contact an Intermec sales representative to obtain the preferred media.
Determining Which Archive File to Use
There are two procedures currently available for updating the contents of the flash memory on a 6200 or 6300 Series computer: the IFL Card Creation method and the Direct Copy method. The Direct Copy method has two options. It can be performed either from a host PC or from a network.
IFL Card Creation
Use this method if your flash is corrupt. Use the selfĆextracting archive file, 62B0100B.EXE, which contains a special utility to copy a binary file (supplied by Intermec) to an SRAM card mounted in a PC Card drive connected to a development PC (referred to hereafter as, host PC). This step creates an Initial Flash Load (IFL) card. The IFL card is then plugged into your HHC and the image is transferred to the flash memory.
R
1-8 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 29
SECTION 1 Getting Started
The selfĆextracting archive file contains the following files:
" 62BIxxxx.BIN, the 6200/6300 Initial Flash Load (IFL) card image. " PROG.BAT, an automatic reflashing batch file. " DD.EXE, the application used to do the copying. " README.TXT, the IFL Card Update procedure (duplicated below). " RELNOTES.TXT, notes on the current version of flash.
The batch file, PROG.BAT, is used with the .BIN and DD.EXE to create an IFL card, which in turn installs the flash image on your HHC.
Direct Copy from Host PC
Use this method if your HHC is currently working properly, with no corruption of the current contents of flash memory, use the selfĆextracting archive files, 62B0100I, which transfer the files directly from the host PC.
Establish an INTERLNK session to transfer files from a host PC to a RAM drive on the HHC. Reset your HHC. The selfĆextracting archive file contains a number of useful files, including README.TXT, that explain the procedure for copying files (duplicated below) and RELNOTES.TXT, notes on the current version of flash.
1. Getting Started
Direct Copy from a Network
Use this method if your HHC is currently working properly, with no corruption of the current contents of flash memory, you can the selfĆextracting archive file, 62B0100N, which transfers the files directly from a network.
Use INTERSVR, as a communication option in the Norand Utilities to transfer files from the network to a RAM drive on the HHC. Reset your HHC. The selfĆextracting archive file contains a number of useful files, including README.TXT, that explain the procedure for downloading files (duplicated below) and RELNOTES.TXT, notes on the current version of flash.
"
NOTE: Always keep the HHC on charge while performing any setup, reprogramming, or reflashing,
to preclude the possibility of corrupting the flash due to a battery failure.
IFL Card Creation
Prerequisites for IFL Card Creation
The following items are required for creating an IFL card for the 6200 Computer:
" A formatted 1 MB (or larger) SRAM card with battery installed. " A PCĆcompatible computer that can read/write PC Cards. " A PC directory that contains the new flash file, the utility PROG.BAT, and
the utility DD.EXE (extracted from the selfĆextracting archive file). For the 6200 Computer, the new flash file would be 62BIxxxx.BIN . For
the 6300 Computer, the new flash file would be PKBIxxxx.BIN. Either file is usually provided in a selfĆextracting archive file set.
" A paper clip or similar long thin probe for activating the reset switch.
B
CAUTION: When resetting the HHC, use a solid probe, such as a ball point pen. DO NOT use the
point of a pencil, since it can break off and jam the reset condition.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-9
Page 30
"
1. Getting Started
NOTE: The PROG.BAT file performs a write operation followed by a verify operation. It is possible
SECTION 1Getting Started
Creating a Master Mode Boot (IFL) Card
To create an IFL card, use the PROG.BAT utility to copy the IFL card image to the SRAM card by entering the following at the DOS command prompt:
for the 6200 Computer, enter: PROG 62BIxxxx.BIN d: for the 6300 Computer, enter: PROG PKBIxxxx.BIN d:
where:
d" is the drive letter of the PC Card drive. xxxx" is the version of flash.
This command copies the contents of the .BIN file to the SRAM card in the format needed to perform a master mode boot. After successfully creating the IFL card, writeĆprotect it.
for the write operation to succeed and the verify operation to fail. This is particularly true when using a DataBook TMD-500-03.
If you are using such a card drive, download updated drivers from the DataBook BBS to correct this problem. For instructions on updating your software, see the Updating the Databook Software on Your PC paragraph on page 1Ć11.
"
NOTE: Do not use the DOS COPY or XCOPY command to create the IFL card. Master mode boot-
ing requires certain files at specific locations on the SRAM card. DD.EXE is designed to place every byte in a specific location on the media; these DOS commands are not.
Updating 6210 Flash (preferred approach)
To boot the IFL card, place it in drive B (the drive furthest from the display). Press and release the reset button. Repeatedly press and release the [ until you hear a key beep and then press and hold the [
F4] key until the ROM
F4] key
DOS 5 boot menu is displayed. Press the [2] key in order to boot from drive B.
Follow the prompts on the display to update the 6210 Flash. To verify that you have updated the flash, look for the text, PEN*KEY 6210 FLASH," and the current version number on the display when starting from drive D.
For information about changes in this version of flash, see the release notes in the RELNOTES.TXT file in the toolkit.
Updating 6210 Flash (Master Mode Boot)
It is possible to boot an IFL card even if the flash in your 6210 Computer has never been programmed or has been corrupted. Use this procedure if the preferred approach above does not work.
To perform a master mode boot on a 6210 Computer, insert the IFL card in drive B (the drive furthest from the display). Press and hold the [ holding the [
ON] key, press and release the reset button. When you are
successful, the screen displays Master Mode Boot," then release the [
ON] key. While
ON] key (if
you do not see the words Master Mode Boot," try it again).
Follow the prompts on the display to update the 6210 Flash. To verify that you have updated the flash, look for the text, PEN*KEY 6210 FLASH," and the current version number on the display when starting from drive D.
For information about changes in this version of flash, see the release notes in the RELNOTES.TXT file in the toolkit.
R
1-10 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 31
SECTION 1 Getting Started
Updating the Databook Software on Your PC
If the verify step performed by PROG.BAT (using DD.EXE) indicates that the programmed card is not identical to the source file, then you probably need to update the PC Card drivers on your PC. To obtain updated drivers for the DataBook TMDĆ500Ć03 you can follow the procedures documented here.
1. Prepare your modem to use:
" 9600 B or 19.2 KB (other baud rates may also work) " 8 data bits " no parity " 1 stop bit
2. Call 508Ć777Ć9819 to log into the DataBook BBS. You will supply your name, password, and other such details the first time you log in.
3. From the file area, download the file:
File name Size Date Description
T650_315.ZIP 1,036,416 03/31/95 CardTalk V3.15 for TMD650/550
1. Getting Started
4. Create a new directory and use PKZIP to unarchive this file into that new directory. Then run the INSTALL.EXE program to update your drivers.
5. Reboot with the new drivers loaded.
Direct Copy Method INTERLNK Procedure for 6200/6300 Computers
General Precautions
B
CAUTION: Do not attempt to perform this update procedure on F-model or preproduction model
6300 Computers or on 6300 Computers with 512K flash memory (P/N 225-505-xxx/001 or /002. Further, older 6300 Computers (with a red [NO] key) cannot be updated to the current flash version at the time of this writing. Attempts to do so renders these computers unusable. Contact your Intermec sales representative.
Do not attempt to use the files associated with the INTERLNK procedure to perform a master mode boot. To use the INTERLNK procedure, you must have a working 6200 Computer. If flash memory is corrupted (or has not been programmed), you must perform a master mode boot using an IFL card.
To minimize the possibility of flash memory's being corrupted by a power failure, connect the 6200 Computer to an external power supply (such as a docking station) during the update procedure.
INTERSVR Installation
You may use the following instructions only if you currently have a version of flash that includes INTERSVR as a possible communication option in the Norand Utilities application. If you do not have INTERSVR support, you must update flash using an Initial Flash Load (IFL) card. These instructions assume that you have placed all of the files needed by this procedure in a uniquely named directory (C:\PK6200\FLASH for the 6200 Computer) and (C:\PK6300\FLASH for the 6300 Computer). If the files are in a directory of a different name, adjust these instructions accordingly.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-11
Page 32
1. Getting Started
SECTION 1Getting Started
The host PC must be running INTERLNK, which is part of MSĆDOS 6.x. Load INTERLNK as a device driver in the CONFIG.SYS file, using this statement:
DEVICE=C:\DOS\INTERLNK.EXE /DRIVES:4
The above statement should be inserted at the end of the CONFIG.SYS file (after any other statement that creates a drive letter) and assumes that MSĆDOS
6.x is in the C:\DOS directory on the host PC. The 
/DRIVES:4" parameter
allows the mapping of four drives between the host PC and the HHC.
Begin at the NORAND UTILITIES LOAD PROGRAMS/DATA menu, on your HHC. You may need to force the HHC to start from the ROM Drive (D:) by activating the reset switch (see the Setup for PC Development paragraph, in this section, for position of reset switch).
Then press and hold the [F4] key (6200 Computer) or the [Next] key (6300 Computer) while the startup messages are displayed. This action brings up a menu that allows selection of the startĆup drive. Select [
4] to start from ROM
Drive (D:).
1. Press [Enter] at the main menu to advance to the LOAD PROGRAMS/DATA menu. Select Option 9 ADVANCED UTILITIES."
2. Select Option 3FORMAT RAM DRIVE."
3. Create a RAM drive on the HHC:
" For the 6200 Computer:
The RAM drive is 960 KB. If you already have a RAM drive that is smaller, you may want to continue, to reformat with a larger size.
" For the 6300 Computer, the RAM drive is 2 MB.
4. After completion, return to the option select option
2, COMM. At the COMM menu, select option 6, INTERSVR. Now
1, BEGIN COMM SESSION.
LOAD PROGRAMS/DATA menu and select
5. Establish the INTERSVR connection to the host PC, using:
" For the 6200 Computer, a 6210 Single Dock and cable or a
6210ĆtoĆserialĆport cable.
" For the 6300 Computer, a PEN*KEY 6000 Series
computerĆtoĆserialĆport cable.
6. Copy all the files from the uniquely named directory on the host PC to the RAM drive (C:) on the HHC. This could be one of the following (for example, C:\PK6210\FLASH, C:\PK6200\FLASH, C:\PENKEY\FLASH, etc.), whatever name you have chosen:
" For the 6200 Computer: C:\PK6200\FLASH " For the 6300 Computer: C:\PENKEY\FLASH
To identify the host PC drive that corresponds to the RAM drive on the HHC, type INTERLNK" at the DOS prompt.
C:\>INTERLNK
A chart, like the following example, is displayed (files are copied to drive H):
Port=COM2 This Computer Other Computer
(Client) (Server) —————————————— ———————————————— F: equals A: G: equals B: H: equals C: I: equals D: (519 KB)
R
1-12 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 33
SECTION 1 Getting Started
7. Once the files are transferred, press [No] to exit INTERSVR on the HHC. The HHC automatically resets at this time.
8. When the unit resets, it begins the flash update process. You are not prompted further unless an error occurs or a file is missing.
9. After reflashing, the HHC resets itself and boots to the default drive. To confirm the flash version, observe the screen while booting from drive D. If necessary, see the above instructions or those instructions provided in the Boot Drive Selection paragraph of the Communications and Device Support section, for overriding the default boot drive.
Booting to the PC Card
Use a PC Card in either a standard boot cycle or a Master Mode Boot cycle. The Master Mode Boot cycle provides a reboot technique for an HHC that does not have functioning software in flash memory (absent or corrupted contents).
If there is a problem with the IFL image, see the To Update the Databook Software on Your PC paragraph, on page 1Ć11, for possible remedies.
Standard Boot Cycle
1. Insert the IFL card into drive B (the slot farther from the display). Activate the reset switch.
2. Press and release the [F4] key (6200 Computer) or the [Next] key (6300 Computer), until you hear a key beep, then press and hold the same key until the ROM DOS 5 boot menu is displayed.
3. Press the [2] key to boot from drive B:. Follow the prompts on the display to update the flash memory. To verify that the update has occurred, look for the following message on the top line of the display when you start from ROM drive D.
" For the 6200 Computer:
PEN*KEY 6200 FLASH 62BInnnn (and current version #)
" For the 6300 Computer:
PEN*KEY 6300 FLASH PKBInnnn (and current version #)
1. Getting Started
Master Mode Boot Cycle
You can boot from an IFL card even if the flash memory in the HHC has never been programmed or if it has been programmed but has become corrupted. This method is called a Master Mode Boot.
1. Insert the IFL card into drive B (the slot farther from the display).
" For the 6200 Computer:
Press and release the gold key; then, press and hold the [YES] key. While pressing the [YES] key, activate the reset switch.
" For the 6300 Computer:
Press and release the Suspend/Resume key, and activate the reset switch. When you see the message Master Mode Boot" on the display, release the key. If the message fails to appear, redo this step.
2. Follow the prompts on the display to update the flash memory.
3. To verify that the update has occurred, look for the following message on the top line of the display when you start from ROM drive D.
" For the 6200 Computer:
PEN*KEY 6200 FLASH 62BInnnn (and current version #)
" For the 6300 Computer:
PEN*KEY 6300 FLASH PKBInnnn (and current version #)
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-13
Page 34
1. Getting Started
SECTION 1Getting Started
Creating a Custom Flash
Should you find it necessary to create a custom flash for a particular application, a utility is available to help you. The following is a general procedure for creating that custom flash:
1. For the 6200 Computer, FLASH.BIN is a 525 KB file. Program a 1 MB or larger SRAM card with the FLASH.BIN file that is reĆ
leased in the INTERLNK update version or that is on an IFL card update version of the flash. This becomes the actual contents of the flash.
For the 6300 Computer, FLASH.BIN is a 1.1 MB file.
2. Add, delete, or modify the files on the SRAM card to achieve the desired configuration. That is, modify the CONFIG.SYS or AUTOEXEC.BAT files and add other files as necessary.
3. Read the files on the SRAM card into a 1 MB (6200 Computer) or 2 MB (6300 Computer) image file for the flash.
4. For a Master Mode Boot update configuration, program the released Master Mode Boot image file 62BInnnn.BIN or PKBInnnn.BIN or to a 2 MB or larger SRAM card. Update the FLASH.BIN file that is now written to the 2 MB SRAM card with the custom image file produced in step 3. This is now a Master Mode Boot (Initial Flash Load) card.
5. Finally, read the image of this card to another 2 MB image file. This is the new file that can program 2 MB SRAM cards as custom Initial Flash Load cards.
Some batch files and the two image files are available as aids for customizing flash. The main batch file is named CUSTOM.BAT.
This requires a PC Card reader/writer and a 2 MB or larger SRAM card. It creates only the Master Mode Boot format IFL card.
Put the exact file structure desired on the flash drive of the HHC in a subdirectory called CUSTOM, within CUSTOM.BAT. Place the custom AUTOEXEC.BAT and CONFIG.SYS files in this subdirectory. Execute the batch file CUSTOM.BAT once everything is in place.
A file, PKBICSTM.BIN, is the binary image of the IFL card.
Key Files Used in Flash Upgrade
The following files are necessary for reflashing a 6200 or 6300 Series computer:
DD.EXE Copies data to flash. 6xBIxxxx.BIN Flash image that goes into flash. EEPFIX.EXE Checks and, if necessary, sets EEPROM as required by the new flash
version.
RESET.EXE Performs hardware reset.
R
1-14 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 35
SECTION 1 Getting Started
Development Environments
DOS is supported as a development environment, as well as numerous DOS applications, in both the 6200 and 6300 Series computers:
Microsoft DOS 5.0
" PenPal (DOS), by PenPal Associates, Inc. " PenRight! Pro (DOS), by PenRight Corporation
Windows is supported as a development environment for the Windows version of the 6300 Computer, as well as numerous DOS and Windows applications:
Microsoft Windows 3.1
" Microsoft Pen Extensions, for Windows " Microsoft Visual Basic, for Windows " Borland Delphi, for Windows " Microsoft Visual C++ or Borland C++, for Windows
Other Environments:
Considerations for other environments are also described in this section.
1. Getting Started
DOS
The 6200 Computer can run mouseĆaware DOS programs, using only DOS. And the 6300 Computer can run mouseĆaware programs using DOS and Windows. The toolkit provides DOS pen drivers for the 6200 and 6300 Series computers (See Sections 2 and 3 for the names of these drivers). The pen drivers, which emulate a mouse driver, can be used with most mouseĆaware applications. This means the program would run in landscape mode on the 6300 Computer. If you use Borland graphics, there is a BGI driver, PENKEY.BGI, in the toolkit to enable portrait orientation.
PenDOS Handwriter Recognition System
CIC's PenDOS Handwriter Recognition System is a DOS application. It is not included in the toolkit. A license for CIC's PenDOS (specific to the PEN*KEY 6000 Series computers) can be obtained through Intermec. To order PenDOS, contact an Intermec sales representative.
PenPal (DOS)
Use PenPal to quickly draw screens and develop small, simple applications and prototypes. PenPal provides an easyĆtoĆuse interface for both experienced and relatively inexperienced programmers. It uses a simple proprietary language for defining the functionality of the application. PenPal was developed specifically for mobile systems. Because of this, it is of a manageable size for any of the PEN*KEY 6000 Series computers. PenPal handles dBase, ASCII, and text files.
"
NOTE: PenPal Associates no longer provides enhancement support for PenPal in the environment in
which our PEN*KEY 6000 Series computers operate, except for bug fixes. This means that if you want to continue to use PenPal with the display configuration with which your HHC was shipped, it continues to serve you well; but, if you want to use PenPal with a different display configuration, PenPal Associates does not provide you with a version that necessarily works with that configuration.
PenPal runs with CIC's PenDOS Handwriter Recognition System, or with no recognizer at all. With no recognizer, signature capture is still available and character recognition is disabled.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-15
Page 36
1. Getting Started
SECTION 1Getting Started
See the Setups for Third Party Applications paragraph, in Appendix A, Sample Configuration Files, for an example of setting up PenPal (for DOS).
PenPal runtime licenses (specific to the PEN*KEY 6000 Series computers) can be obtained through Intermec. To order PenPal runtime licenses, contact an Intermec sales representative. PenPal development packages can be ordered from the manufacturer, PenPal Associates.
For an example setup for the Handwriting Recognition System, see the
Handwriting Recognition System Setup paragraph in Appendix A, Sample Configuration Files.
PenRight! Pro
PenRight! is a development environment that can be used across both DOS and Windows platforms. It includes screenĆdrawing and C code capability. These tools make it possible for an experienced C programmer to add extra functionality to an application. PenRight! Pro was also developed specifically for mobile systems, and creates programs of a manageable size for any of the PEN*KEY 6000 Series computers. PenRight!, which is slightly harder to use than PenPal, has dBase and communications support, as well as ASCII text files. PenRight Pro! development kits can be obtained through the manufacturer, PenRight! Corporation. The resource file, 63PENRT.RSC, is included in the toolkit (for DOS) on the DOSUTIL disk.
See the Setups for Third Party Applications paragraph in Appendix A, Sample Configuration Files, for an example of setting up PenRight! (DOS).
Windows
The 6200 and 6300 Series computers can run any mouseĆaware Windows application. Note that the Windows configuration provided by Intermec is not a fullĆfeatured Windows package. This was done to save space in flash memory. Add the needed files if they were not included.
Borland's C compiler includes a utility called TDUMP. You can run TDUMP on an executable file to display the files or libraries called by the executable.
Handwriting Recognition
If handwriting recognition is required, there are two options available. One option is provided by a product from Communication Intelligence Corp. (CIC); the other option is provided by a product from Synaptics. See the CIC
Handwriter Recognition System for Windows paragraph and the Synaptics Handwriter Recognition HRĆ1200 paragraph, below, for product descriptions.
If signature capture (bit maps) is required, but handwriting recognition is not required, this can be done with regular Windows. Trap the mouseĆmove and mouseĆpressed events and manually draw the ink. The ink then can be saved as bit maps and compressed, if necessary. Microsoft Visual Basic Professional Edition has an example of catching ink" in this way. The extra files for enabling the Pen Extensions are provided in the toolkit.
Standard and Enhanced modes for Windows are discussed the in Memory Overview topic, in Appendix B, Common PEN*KEY 6000 Series Information.
Contact your Intermec sales representative to order software and manuals. Any of the following handwriter recognition packages can be ordered:
" Handwriting Recognition System for Windows by Communication
Intelligence Corporation (CIC)
" Handwriting Recognition HRĆ1200 by Synaptics
R
1-16 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 37
SECTION 1 Getting Started
CIC Handwriter Recognition System for Windows
This system is a fullĆfeatured recognizer which includes a trainer" that provides a means to train the recognizer to better recognize your handwriting.
"
NOTE: This product only works in the ENHANCED mode.
This software also requires numerous files to be installed, which may take up 720 KB of disk space. Once loaded, it recognizes handwriting in any text field. In addition, it recognizes standard Pen Extensions for Windows 1.0 gestures.
Synaptics Handwriter Recognition HR-1200
This system requires only one file to be installed, which is about 200 KB in size. It can run in standard or enhanced mode Windows.
This recognizer is limited, in that it only recognizes handwriting in boxed or hashed edits, which are Pen Windows controls.
Boxed edit (or bEdit) looks like the following, and each letter goes in a box:
Hashed edit (or hEdit) looks like the following, and each letter goes in a slot:
A Pen Extensions for Windows program, PENPAL.EXE, (or Pen Palette) makes use of the hashed edit, and can enable applications not written for handwriting recognition. This program allows a user to write in the boxes, then send the characters to the application with the current focus. This file and the Pen Extensions for Windows files can be found in the toolkit.
Pen Extensions for Windows
Pen Extensions for Windows consists of standard Windows with extra files and some changes to SYSTEM.INI and a new file called PENWIN.INI. Pen Extensions for Windows provides character recognition and an easier interface for capturing ink. A handwriting capture engine must be purchased separately, either through Intermec or other sources.
1. Getting Started
PenRight! Pro (Windows)
PenRight! is a development environment used across both DOS and Windows platforms. See the previous description under DOS.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-17
Page 38
1. Getting Started
SECTION 1Getting Started
Pen Extensions for Windows
Pen Extensions for Windows is standard Microsoft Windows with extra files, some changes to SYSTEM.INI, and a new file (PENWIN.INI). Pen Extensions for Windows provides character recognition and an easier interface for capturing ink. Two handwritingĆrecognition engines are supported for Windows on our handĆheld computers: Synaptics and CIC. These products are not in the toolkit. If handwriting recognition is required, it can be ordered from Intermec. To order, contact an Intermec sales representative.
If signature capture is required, but handwriting recognition is not required, this can be done with regular Windows. Trap the mouseĆmove and mouseĆpressed events and manually draw the ink. The ink then can be saved as bit maps and compressed, if necessary. Visual Basic 3.0 Professional Edition has an example of catching ink" in this way. The extra files for enabling the Pen Extensions are provided in the toolkit.
See the Memory Overview paragraph, in Appendix B, Common PEN*KEY 6000 Series Information, for a description of Standard and Enhanced modes for Windows.
Microsoft Visual Basic for Windows
Microsoft Visual Basic (VB), for Windows, includes screenĆdrawing plus an easy method for inserting code to control the application. It is very easy to program for Windows with this tool. A few warnings, however, are in order. If frequently used forms are not preloaded, the screen drawing may be slow. Also, the dataĆaware controls are very nice, but supporting a database with these controls consumes a lot of memory. VB can handle a large number of databases, including dBase, Access, Paradox, and Foxpro. It can also handle ASCII and text files.
"
NOTE: Be aware! The performance of the processor in the HHC, used with Visual Basic may be an
issue, especially with the latest Visual Basic offerings. In addition, keep in mind that Visual Basic writes directly to the screen, instead of through the
BIOS. If you install an application that places annunciators on the screen, Visual Basic may write over them.
Borland Delphi for Windows
Delphi is a Borland product, that allows quick application development with Pascal support.
Microsoft Visual C++ or Borland C++ for Windows
These are tools for experienced C Windows programmers. The foundation class libraries or the object windows library can be used; just make sure to keep an eye out for space limitations. Windows programs in general grow to a large size quickly and require a lot of extra DLLs or VBXs.
Other Environments
Obviously, any development environment, that runs on the aforementioned operating systems, may potentially be used to develop software for the HHC. However, not all of the development environments necessarily work as well, nor are they recommended. This is mainly because of size and speed limitations of the HHC.
R
1-18 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 39
SECTION 1 Getting Started
Some Considerations and Guidelines
Screen
Some of the standard Windows dialog boxes are too large. For example, the file open dialog does not fit. Running in landscape mode requires a different display driver, VGAP.DRV. This is the standard display driver for Windows and is not customized to the smaller screen of the 6200 or 6300 Series computer. You need to make changes in the SYSTEM.INI file for correctly aligning the pen. Look in the [Pen Driver] section of SYSTEM.INI. See the 6300 Forum on the BBS for more details and a sample configuration.
Keyboard
Even though the onscreen keyboard from Microsoft Windows for Pen Computing (SKB.EXE) is available in the toolkit, it is too wide for the portraitĆoriented screen on both of the 6200 and 6300 Series computers. Since it is impossible to use both landscape and portrait modes within the same application in Windows, it is not advisable to run SKB.EXE in landscape mode. If you need an onscreen keyboard that runs in portrait mode, you may want to write your own keyboard application or consider ordering another keyboard application.
The Configurable Popup Keyboard from Intermec is suitable for portrait screens. The User's Guide and software come in one package using the following part number: P/N 215Ć601Ć001.
1. Getting Started
System Guidelines
There are other useable development environments. Here are some guidelines that can help you determine whether a particular environment is viable for a 6200 or 6300 Application.
1. How much space is required? Many environments assume that the target machine is a desktop or laptop with virtually unlimited hard drive space. This is certainly not the case with a PEN*KEY 6000 Series computer; memory is still at a premium. For example, Power Builder is a very popular environment for development. However, just to get an application started, Power Builder uses more than 3 MB of DLLs in addition to Windows just to run a program to display Hello World" on the screen. Power Builder applications tend to be large and slow; at this time, it is not recommended.
2. (Windows) How are the dialogs being stored? This is a question you must ask if you want to use a tool that provides one environment for both DOS and Windows applications. If the dialog information is stored as separate files, you may find it very hard to get adequate response time for drawing the screens. Also, some of these tools insulate you from the Windows APIs; consequently, it becomes very difficult to use any of the APIs that are provided for you.
3. The 6200 and 6300 Series computer uses a processor that is common to many recent PCs, as described in the Introduction to the 6200 and 6300 Series Computers paragraph. But, be sure to test the performance of your application on a comparable computer.
"
NOTE: A PC development computer (60 to 100 MHz 486) may hide some potential speed issues
that would become evident on a PEN*KEY 6000 Series computer with a slower processor.
4. (Windows) Standard Mode Windows is smaller and runs faster than Enhanced Mode Windows. However, you should use Enhanced Mode only if a particular program or environment requires it. Some applications and communications protocols require the Enhanced Mode.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-19
Page 40
Setup for PC Development
"
NOTE: Always keep the HHC on charge while performing any setup.
1. Getting Started
SECTION 1Getting Started
1. Connect power to the single dock.
2. Connect a NULL modem cable between the dock and the serial port on the desktop or portable PC. For a 6300 Computer, connect the cable to the COM1 port on the dock.
3. For a 6300 Computer, you can connect an auxiliary keyboard to the dock. The auxiliary keyboard is not required. Also note that the onĆboard keyboard is not functional when an auxiliary keyboard is attached. However, the backlight and contrast keys continue to work normally.
4. If the PC Card slots contain cards, remove the cards (see the User's Guide for your HHC, to locate the PC Card slots).
5. Install backup and main batteries. The backup battery for the 6300 Computer is installed at the factory. A switch behind the HHC's memory card door turns the battery on and off (see Figure 1Ć1 below, for location of switch and batteries).
1
2
ON
Ö
OFF
1. Main battery compartment
2. Backup battery switch
Figure 1Ć1
Location of Battery Compartment and Switch
6. Insert the HHC into the dock.
7. Verify the HHC has booted. If a box is displayed at the top of the screen, with NORAND UTILITIES", then skip to step 10. Otherwise, proceed with step 8.
8. If the Norand Utilities screen is not displayed, press the reset switch on the HHC. The reset switch is located behind the memory card door at the top of the HHC. On a 6300 Computer, the access hole for the switch is located behind the card slots and close to the battery door. On a 6200 Computer, the hole is located about 1.5 inches from the top of the HHC (see the User Manual for your HHC, for further assistance in locating the reset switch).
"
NOTE: The reset button on the 6210 HHC is located at the top of the unit next to the 15-pin connec-
tor. It is recessed in a small hole and can be accessed using a paper clip.
9. As the HHC boots and you hear a clicking sound:
" On a 6300 Computer, with no external keyboard attached, press the
[NEXT] key, or press the [Alt] key on the external keyboard.
" For a 6200 Computer, press the [F4] key.
R
1-20 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 41
SECTION 1 Getting Started
10. The HHC should display the Start From" menu, similar to the following:
ROM DOS 5
Start from:
1) Memory card 1=A:
2) Memory card 2=B:
3) RamDrive =C:
4) RomDrive =D:
Press the [4] key to choose option 4. The HHC should boot to the Norand Utilities screen.
11. Press [
YES] at the Norand Utilities banner screen to open the main menu.
The Norand Utilities program supports a variety of communication options for loading application programs. Each option is explained later.
Press [2] to select a communication option from a drop down menu, then press [1] from the main menu to initiate a communication session. For getĆ ting started, the most common option is INTERSVR.
For a complete description of navigating the screens in the Norand Utilities program, see the User's Guide for your particular HHC.
12. Prepare the files required for initial program load. For a 6300 Computer, the standard configuration files are CONFIG.SYS and AUTOEXEC.BAT. For a 6200 Computer, the standard configuration files are CONFIG.SYS and ROMINIT.BAT (see Appendix A, Sample Configuration Files, for a listing of these files).
At a minimum, the CONFIG.SYS file needs the following line:
device=d:\norapm.exe
The AUTOEXEC.BAT file needs only to execute the application. Actually, the content of these files depends upon the type of application being loaded. Examples for DOS and Windows can be found on the toolkit disks.
13. Using one of the communication options described later in this section, transfer the application program files to the HHC. Following a successful communication session, the Norand Utilities program executes the application program files.
1. Getting Started
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-21
Page 42
Development Resources
1. Getting Started
SECTION 1Getting Started
Topics Page Open Systems Resources
SystemSoft Card and Socket Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
CardSoft Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć22
Booting from an SRAM Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć24
Booting from the RAM drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć24
SanDisk Support with Stacker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć25
Communication using INTERLNK and INTERSVR . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć25
Intermec Resources
RAM Drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć26
Norand Utilities and Communications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć27
Norand Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć27
Creating a (Host) Download Include File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć27
NPCP Network . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć28
TTY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć28
Novell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć28
NRInet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć29
TFTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć29
TCP/IP Bootp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć30
Other Intermec Software
DOS Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć32
Windows Device Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć32
Utility Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
NORAPM.EXE: APM BIOS Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
62CALIB.EXE: DOS Pen Calibration (6200 Series) . . . . . . . . . . . . . . . . . . . . . 1Ć33
CALIB.EXE: DOS Pen Calibration (6300 Series) . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
PENALIGN.EXE: Windows Pen Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
DOS Batch File Enhancers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
BOOTDRV.COM: Determine default boot drive . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
DD.EXE: Disk duplicator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
DELAY.EXE: Display message, return error level . . . . . . . . . . . . . . . . . . . . . . . 1Ć33
FNDRAMD.COM: Identify RAM drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć34
FNDROMD.COM: Identity ROM drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć35
ISRAMDRV.COM: Determine if RAM drive exists . . . . . . . . . . . . . . . . . . . . . . . 1Ć35
MMBFLAG.COM: Set/Get ROM DOS boot flags . . . . . . . . . . . . . . . . . . . . . . . . 1Ć35
RESET.EXE: Reset the system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć35
THISDRV.EXE: Identify the current drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1Ć35
Open Systems Resources
SystemSoft Card and Socket Services
CardSoft Utilities
CardSoft files (by SystemSoft), used in early releases, can continue to be used. This product has been configured, integrated, and tested in the PEN*KEY 6000
Series product line. In flash, it is a minimal configuration of the full CardSoft product offering.
R
1-22 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 43
SECTION 1 Getting Started
See the RELNOTES.TXT file in the toolkit for a listing of the full CardSoft 3.1 Card and Socket Services support.
Table 1Ć1
SystemSoft Files
File Description
ATADRV.EXE /s:2 A block device driver that supports ATA type II flash or ATA type III hard disk PC
Cards. ATA drives are allocated the drive letters of E: and F: when this driver loads. The /s:2 option installs this ATA driver as a slave to the memory technology driver (MTDDRV.EXE) that follows, thus preventing the creation of new drive letters as additional memory technology drivers are installed.
ATAINIT.EXE This is a lowĆlevel format for SanDisk cards. It places a hard disk partition table onto
a blank ATA drive. This utility initializes the ATA drive the same as FDISK does with a standard hard drive. Note: use with CardSoft drivers only.
CARDID.EXE Client device driver for the configuration of the PC Card slot/adapter and card on card
insertion detection. Also frees allocated system resources upon detection of card removal.
CARDINFO.EXE Helps diagnose problems with cards by verifying if the card is recognized. It is a DOS
utility that scans the PC Card slots on the system and lists information about the cards in the slots. It also lists any warnings or error messages that may have occurred during the configuration of the cards by the CardSoft drivers. Note: use
with CardSoft drivers only.
CS.EXE Card services driver to manage the configuration of the system PC Card resources. CS_APM.EXE Enabling TSR for communication between power management and card services
software for the processing of suspend/resume requests.
CSALLOC.EXE Resolution and assignment of system memory, I/O port, and IRQ resources for card
services.
MTDDRV.EXE Memory technology driver; supports PC Card SRAM cards through MTSRAM.EXE
and allows for drive letter sharing between different types of memory cards (SRAM
and ATA). MTSRAM.EXE Memory technology driver for PC Card SRAM cards. SSCIRRUS.EXE Standard Socket Services driver interface to the Cirrus CLĆPD67xx host controller
chip.
1. Getting Started
The following initialization files are provided:
File Description
CARDID.INI Default settings for card identification. CSALLOC.INI Used by CardSoft to determine which system resources may be used by PC Cards.
The following card libraries for the support of modems and ATA drives:
File Description
GENATA.CLB SUNDISK5.CLB SanDisk SDPL5 5 MB ATA drive library. GENMODEM.CLB Generic modem library.
Generic ATA drive library.
PEN*KEY
Table 1Ć2
Initialization Files
Table 1Ć3
Card Libraries
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-23
Page 44
"
NOTE: ASSIGN.COM is a DOS utility that accesses drives E and F by reassigning drives A and B
1. Getting Started
SECTION 1Getting Started
The CardSoft device drivers cause memory cards in the card slots to be accessed as drives E and F.
as E and F.
These drivers also provide audio feedback when a card is inserted or removed from the card slot. When the HHC recognizes that a card has been inserted, it sounds like booĆBEEP." When a card is removed, it sounds like BEEĆboop."
Before the Norand Utilities program is executed, each accessory card slot (E and F) is checked. If a card is present and contains the appropriate startup file (ROMINIT.BAT or AUTOEXEC.BAT), that drive is made the current drive and the .BAT file is processed immediately. No Norand Utilities program screens are seen.
Please note that the Norand Utilities program does not process a CONFIG.SYS file on the card. If an application requires a CONFIG.SYS file that differs from the one in flash, it is necessary to either boot directly from an SRAM card or boot from the RAM drive.
Booting from an SRAM Card
When booting from an SRAM card, the CardSoft package cannot be installed. The reconfiguration of the Cirrus controller, during a driver load process, causes a loss of the use of the SRAM card that was being booted from. You must boot from the RAM drive to use a CONFIG.SYS file that installs the CardSoft package.
To boot from an SRAM card, add the following lines to the AUTOEXEC.BAT (or ROMINIT.BAT) file on the SRAM card:
REM Determine which drive was booted
BOOTDRV.COM REM If A: was booted, continue with application
REM processing IF NOT ERRORLEVEL 2 GOTO CONTINUE
REM Make A: the default boot drive
MMBFLAG.COM 0 REM Reset the computer RESET.EXE :CONTINUE . . .
Booting from the RAM Drive
There are several configurations that provide booting from the RAM drive. See the SanDisk Card with Stacker paragraph, in Appendix A, Sample Configuration Files.
R
1-24 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 45
SECTION 1 Getting Started
SanDisk Support with Stacker
To support SanDisk cards loaded with STACKER, the CONFIG.SYS file in flash loads STACKER (if it is present). In this case, the startup file (AUTOEXEC.BAT or ROMINIT.BAT), on the stacked volume of the card, is processed.
Access a SanDisk card loaded with Stacker from a laptop computer that supports PC Cards, doing one of two things:
" Install the Stacker device driver on the laptop. This is done by running
SINSTALL from the SanDisk drive. SINSTALL is on the unstacked portion of the SanDisk drive, or
" Run Stacker Anywhere, which is a TSR shell that allows you to access the
stacked portions of the SanDisk card without having to modify the CONFIG.SYS file. Start Stacker Anywhere by typing STACKER" and exit by typing EXIT."
"
NOTE: The version of Stacker, shipped on SanDisk cards, is incompatible with Windows 95. If your
development environment is Windows 95, and you need to leave Stacker on the SanDisk card, then when you copy files over to the SanDisk card, boot a previous version of DOS to access the card.
When loading Stacker and INTERLNK, be sure that Stacker is loaded before INTERLNK, in the CONFIG.SYS file. Also, to write files to the SanDisk card using INTERLNK, both the HHC and the development PC need Stacker loaded. If a SanDisk card becomes corrupted by INTERLNK, it can be restored by reformatting it using FORMAT.COM from ROM DOS 5 (also supplied in the Programmer's toolkit).
1. Getting Started
"
NOTE: All data is lost when the card is formatted. You need to boot a previous version of DOS to
run INTERLNK, if you have a Windows 95 development environment.
See Appendix A, Sample Configuration Files, for an example a configuration that demonstrates a configuration for a 6300 Computer that uses a SanDisk card with Stacker and a custom CONFIG.SYS file.
Communication using INTERLNK and INTERSVR
INTERLNK, a device driver that interconnects an HHC and a host PC via serial ports, and INTERSVR, the INTERLNK server, are provided with ROM DOS 5 and DOS 6 and also are shipped with the 6200 and 6300 Toolkit. The cable that connects the PC to the HHC is a standard null modem cable. A NULL modem TTY TCOM cable also works.
INTERLNK causes the HHC drives to appear as virtual drives on the PC, with drive letters that are immediately beyond the highest drive letter currently used on the PC. Typing INTERLNK" from the PC command line displays the designations of the redirected drives. For details on the INTERLNK and INTERSVR topics, see the DOS online help text.
INTERLNK is installed on the PC by the following declaration in the CONFIG.SYS file:
device=c:\dos\interlnk.exe /drives:4
INTERSVR is provided as a communication option in the Norand Utilities program.
You can now copy the application files to the HHC. To terminate INTERSVR, press the [NO] key. If an external keyboard is attached, press <Alt> + [F4].
Example Boot Files
See Appendix A, Sample Configuration Files, for examples of CONFIG.SYS, AUTOEXEC.BAT, and ROMINIT.BAT files.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-25
Page 46
1. Getting Started
SECTION 1Getting Started
RAM Drive
RAMDFMT.EXE creates a RAM Drive on the HHC. This RAM drive is a block of system memory that is treated as DOS drive C:. The data stored on the RAM drive is maintained as long as power is supplied to the system and the drive is not reformatted.
When a RAM drive is created, this results in less extended memory available for programs. No additional conventional memory is required for the RAM drive. Because the support for accessing the RAM drive is embedded in the DOS BIOS, no additional drivers need to be loaded. The extended memory test (with the corresponding boot messages) reserves memory for the RAM drive. Only one RAM drive can be created.
The size selected for the RAM drive represents the total memory required by the RAM drive, not the free space that is available on the drive. DOS file system overhead reduces the specified memory by the size of the file allocation table (FAT) and root directory created.
If CONFIG.SYS loads HIMEM.SYS and sets DOS=HIGH, the first 64 KB of extended memory is used for the High Memory Area. As a result, the maximum size of the RAM drive is 64 KB less than total extended memory.
The following switches are allowed for RAMDFMT.EXE. All values are in decimal. You must specify either size or address, but not both.
ća address of RAM disk (in kilobytes) ćd drive number (0 = A, 1 = B, ... etc.) će number of directory entries ćs size of RAM drive (in kilobytes) ćh help
"
NOTE: Reboot the HHC after the RAM drive is created (or altered), to make the change effective.
If a communications option other than Accessory Card is selected, the Norand Utilities program automatically creates a RAM drive if one does not already exist. If the accessory card option is selected, the startup files on the card must create a RAM Drive if one is needed.
For a system with 6 MB (or more) of total memory, Norand Utilities creates a RAM drive of size 3 MB plus 960 KB, that is, 64KB less than 4MB to ensure room for the High Memory Area. For lower system RAM capacities, only 1 MB plus 64 KB of RAM is reserved for conventional use and the remainder is allocated to the RAM drive.
The Norand Utilities program provides a menu that allows the RAM drive to be formatted in 64 KB increments.
The RAM drive created by Norand Utilities allocates 128 directory entries, that is, it specifies će128 as a parameter to RAMDFMT.EXE.
When NPCP, TTY, NRInet, TFTP, TCP/IP bootp, or Novell communication options are used, another choice exists for creating a RAM drive. If the RAMDFMT.CTL file is downloaded, Norand Utilities executes the program RAMDFMT.EXE to create a RAM drive. RAMDFMT.CTL is a text file that must contain the commandĆline parameters for RAMDFMT.EXE.
For example, if RAMDFMT.CTL contains the ćs2048 line, then Norand Utilities executes RAMDFMT.EXE ćs2048", which creates a 2 MB RAM drive.
When processing RAMDFMT.CTL, if RAMDFMT.EXE cannot be executed or returns an error, the communication session fails with error F 0." Also, if the parameters in RAMDFMT.CTL cause the RAM drive to be removed (such as -s0"), the communication session fails with error F 0."
R
1-26 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 47
SECTION 1 Getting Started
Norand Utilities and Communications
Norand Utilities
See the Norand Utilities paragraph in Section 5 for a description of calling Norand Utilities from an application, to perform data communications.
The following paragraphs describe the use of Norand Utilities for Initial Program Load.
Creating a (Host) Download Include File
Most of the communication options for performing an initial program load require a download include file to be used on a host computer.
First, to create a download include file, create a download list file.
You create a download list file, as follows:
A download list file contains the names of the files to be sent to the HHC. Each line in the file specifies one name. The file names may include path information so that all the files need not be in the same directory on the host. However, the file is transmitted to the HHC without the source path information and placed in the current directory of the HHC.
1. Getting Started
To specify a destination path on the HHC or to rename a file, use a line of the
newname=oldnameformat. This causes the file oldname" to be read from the
PC and transmitted to the HHC with the name  
newname" may include path information.
newname." Both oldname" and
The following is a sample download list file (6200 Computer):
CONFIG.SYS ROMINIT.BAT 6X00DOS\PC4800.SYS 6200DOS\FONTMAP.EXE 6200DOS\GR12X22.FNT MYAPP.EXE
The following filenames cannot be used in a download list file because they are used by Norand Utilities to perform communications:
NRTLOG.DAT NRUPLD.CTL PSROM0C.DAT PSROM0C.INI
Execute the following command to create the download include file:
IPLFMT.EXE <list file> <include file>
where:
<list file> is the name of the download list file created, above. <include file> is the name of the download include file. The Norand
Utilities program specifically requests a file named <workgroup>.INC, where <workgroup>.INC is the value of the WORKGROUP field in the UNIT ID menu. For the 6200 Computer, the default for this field is 6200IPL; for the 6300 Computer, the default is 6300IPL. This file is created by IPLFMT.EXE.
Please note that IPLFMT.EXE can be found in the toolkit.
IPLFMT.EXE concatenates files listed in the list file, inserting appropriate Intermec file headers for download. See TCOM Session Overview in Section 5 for a description of file headers.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-27
Page 48
1. Getting Started
SECTION 1Getting Started
NPCP Network
NPCP is the NORAND Portable Communications Protocol. This protocol is supported by the 492x Tcom Packages, 6920 Communications Server, 498x Network Communication Controllers, and 6980/6985 Network Managers. You would substitute the name of your include file for the text, <include file>."
1. Create a download include file, as described in the preceding paragraphs.
2. Create either Boot Disk, if necessary:
" 4920 Boot Disk:
The only file on a 4920 Boot Disk is a download include file. The include file is copied to the DOWNLOAD subdirectory of the 4920.
" 4980 Boot Disk:
Be aware there is limited space on the 4980 System. Place the 4980 System Files on the 4980 Boot Disk in the same way as is done for 4000 Series applications (using the 4980 Boot Toolkit, for example).
Execute the following to place the download include file on the disk:
MD A:\DATA COPY <include file> A:\DATA NCDIR.EXE A:\DATA
"
NOTE: 4000 Series applications are copied to a BOOT directory.
6000 Series applications are copied to the DOWNLOAD directory.
"
NOTE: NCDIR.EXE is included in the 4980 Boot Toolkit.
Norand Utilities Internals
The Norand Utilities program, 2.00 and later, first attempts a session to
NORAND_SERVER, which allows the application to be retrieved from a 498x
controller. If the application is not stored on the 498x controller, a session is initiated to
NORAND_HOST, which connects to the host.
TTY
TTY is an industry standard implemented by Intermec Technologies Corporation, also supported by the communication servers.
" Create a 4920/6920 Boot Disk, as described in the preceding paragraphs for
the NPCP Network.
Novell
The following setup is required for Novell:
1. On a Novell NetWare server, create user account NORAND," having root context and no password.
2. Create a download include file (described earlier in this section) and copy it to the NORAND login directory.
R
1-28 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 49
SECTION 1 Getting Started
The following errors may be displayed on the 6200 or 6300 Series Computer, when a Novell connection is attempted:
Error Description
Lnnn Connection to host failed. nnn is one of the following:
100 Network drive did not mount successfully. Verify the network connection and that a
NORAND login name exists.
Tnnn File transfer failed. nnn is one of the following:
0 Unexpected end of transmission, verify network connection. 101 Could not access include file. 102 Could not allocate needed memory.
Norand Utilities Internals
The Norand Utilities program creates a NET.CFG file on the RAM drive. The NET.CFG file is not erased. It is left on the RAM drive so that it may be used by applications.
NRInet
NRInet is a protocol that performs a NORAND file transfer session over TCP/IP Ethernet. It is supported by the Norand 6920 Communications Server. See the Norand Utilities paragraph in Section 5 for a description of a NORAND file transfer session and for a list of errors that may be displayed when an NRInet session is attempted.
1. Getting Started
Setup
1. Create a download include file, as described in the preceding paragraphs, and place it in the download directory of the 6920 Communications Server.
2. Optionally, configure a DHCP server to provide some or all of the information required by the HHC, including the IP addresses of the client, router, and subnet mask. Any information not provided by DHCP must be entered manually by the user on the HHC. A DHCP server can also provide a domain name and IP addresses of domain name servers, which allows the HHC user to enter a host name rather than an IP address. If the SERVER_NAME field on the HHC is left blank, a connection to the name Norand6920" is attempted, as a default.
Norand Utilities Internals
Version 2.xx of the Norand Utilities program creates NET.CFG and PCTCP.INI files on the RAM drive. The NET.CFG and PCTCP.INI files are not erased, so they may be used by applications. For a description of the contents of these files, see the Norand Utilities paragraph in Section 5.
TFTP
TFTP (Trivial File Transfer Protocol) is a standard TCP/IP protocol supported on many TCP/IP servers.
Setup
1. A tftpd service must be running on a TCP/IP server.
2. Optionally, configure a DHCP server to provide some or all of the information required by the HHC (IP addresses of the client, router, and subnet mask). Any information not provided by DHCP must be entered manually by the user on the HHC. A DHCP server can also provide a domain name and IP addresses of domain name servers, which allows the HHC user to enter a server name rather than an IP address. If the SERVER NAME field on the HHC is left blank, a connection is attempted to the name NorandTftp" as a default.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-29
Page 50
1. Getting Started
SECTION 1Getting Started
3. Create a download list file, as described previously, and place it in the default working directory for the tftpd server. The list file must be named <workgroup>.BCF where <workgroup> is the value of the WORKGROUP field in the UNIT ID menu.
The following errors may be displayed when attempting a TFTP connection:
Error Description
1 PSROB0C.EXE could not be loaded 100 TCP/IP Kernel is not loaded 101 Invalid client IP address 201 TFTP.EXE failed 202 TFTP.EXE not found 203 Unknown server 204 Remote file name is invalid 205 Local file name is invalid 206 File not found on server 207 Timeout
TCP/IP Bootp
"
NOTE: This option applies only to Norand Utilities program versions prior to V2.00. In V2.00 and
later, this option is replaced by the TFTP option described above.
The following setup is required for TCP/IP Bootp:
1. Bootpd and tftp services must be running on a TCP/IP server.
2. On the bootpd server, add entries for the HHCs to the bootpd configuration file, usually named bootptab. The following would be a typical entry in this file on a UNIX server:
username:\ bf=6200ipl.bcf:ht=ether:ha=xxxxxxxxxxxx:ip=nnn.nnn.nnn.nnn:\ hd=/usr/boot:
On a DOS server, a typical entry would be
username:\ bf=6200ipl.bcf:ht=ether:ha=xxxxxxxxxxxx:ip=nnn.nnn.nnn.nn:\ hd=\apps”:
where:
bf = Bootfile. This should be 6200IPL.BCF or 6300IPL.BCF.
ht = Hardware type.
ha = Hardware address. This is the Ethernet address of the HHC. This address is displayed on the HHC when TCP/IP is selected in the Norand Utilities program.
hd = Home directory. This specifies the directory where the bootfile is located.
ip = IP address.
3. Create a download list file, as described previously, and place it in the directory specified by the hd parameter in bootptab.
R
1-30 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 51
SECTION 1 Getting Started
On the 6200 or 6300 Series Computer, the following errors may be displayed when attempting a TCP/IP connection:
Error: Lnnn
Description: Connection to host failed. nnn is one of the following:
101 Could not allocate memory. 102 Novell TCP/IP driver not loaded. 103 Could not create a socket. 104 Unknown host. 105 Error trying to bind BOOTPC port. 106 Could not get MAC address. 107 Error accessing vendor file. 108 Error sending to server. 109 No response from server.
Error: Tnnn
Description: File transfer failed. nnn is one of the following:
1. Getting Started
201 The tftp service is not defined. 202 Could not create a socket. 203 Bind error. 204 Unknown host. 205 Error sending to server. 206 Error receiving from server. 207 Receive timeout. 208 Server error. 209 Error writing to file.
Norand Utilities Internals:
The Norand Utilities program creates a NET.CFG file on the RAM drive, then broadcasts a bootp request with the PEN*KEY 6000 Series Ethernet address included. The bootpd server sends a response that includes an IP address and boot file name. Norand Utilities then uses tftp to download the boot file from the tftpd server. If the boot file name is blank, the Norand Utilities program requests 6200IPL.BCF or 6300IPL.BCF.
The boot file is expected to be a download list file. The Norand Utilities program uses tftp to download each file in the list. However, if the boot file has an extension of .INC, it is processed as a download include file.
The NET.CFG file is not erased. It is left on the RAM drive so that it may be used by applications.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-31
Page 52
1. Getting Started
SECTION 1Getting Started
Other Intermec Software
DOS Device Drivers
These device drivers are used in the DOS environment:
Table 1Ć4
DOS Device Drivers
Driver Description
62MOUSE.COM DOS pen driver for 6200 Computer 63MOUSE.COM DOS pen driver for 6300 Computer 62CALIB.EXE DOS pen calibration, 6200 Computer CALIB.EXE DOS pen calibration, 6300 Computer CLOCK.EXE DOS power management clock driver IRDAPDRV.EXE DOS IrDA printer support MININET.EXE DOS NPCP LAN NGENMOD.SYS DOS PC Card modem driver NGENWAN.SYS DOS PC Card WAN power management NORAPM.EXE DOS NORAND ATA card support NORATA.SYS DOS NORAND ATA card support NORMOD.SYS DOS PC Card modems driver NPOWER.EXE DOS power management PC4800.SYS DOS NPCP printing support PRDRV.SYS DOS IrDA printing support SCANTSR.EXE DOS scanner support
Windows Device Drivers
These device drivers are used in the Windows environment:
Table 1Ć5
Windows Device Drivers
Driver Description
MMSYSTEM.DLL Windows multimedia extensions NOR4800.DRV Windows NPCP printing support NORNPCP.DRV Windows NPCP printing support NOR6805.DRV Windows IrDA printing support NORIRDA.DRV Windows IrDA printing support NORAPM.DLL Windows APM driver NORPEN.DLL Windows pen driver NORSCAN.DRV Windows scanner support NORSHELL.EXE Windows shell PENALIGN.EXE Windows pen driver UNIDRV.DLL Windows NPCP printing support
R
1-32 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 53
SECTION 1 Getting Started
Utility Programs
NORAPM.EXE APM BIOS Installation for DOS This is a DOS TSR (taking no parameters) that installs an APM BIOS for the PEN*KEY 6000 Series computers. It is needed for running NPOWER.EXE. See the DOS Power Management paragraph in Section 2 for details for installing NPOWER.EXE.
62CALIB.EXE DOS Pen Calibration utility (6200 Computer) See the DOS Pen Calibration paragraph in Section 2 for more information.
CALIB.EXE DOS Pen Calibration utility (6300 Computer) See the DOS Pen Calibration paragraph in Section 2 for more information.
PENALIGN.EXE Windows Pen Calibration A Windows penĆcalibration utility. See the Windows Pen Calibration paragraph in Section 2 for more information.
DOS Batch File Enhancers
BOOTDRV.COM Determine Default Boot Drive This application is for use in batch files that have a requirement to know which drive was the default drive when the system was first booted. It returns an error level indicating which drive is the boot drive: 1=A, 2=B, 3=C, ...
This program performs two simple DOS calls:
mov ax, 3305h ; Get boot drive int 21h ; DL = boot drive mov al, dl ; errorlevel = boot drive mov ah, 4Ch ; Exit( errorlevel ); int 21h
Batch file example:
BOOTDRV.COM SET BootDrive=A: IF ERRORLEVEL 2 SET BootDrive=B: IF ERRORLEVEL 3 SET BootDrive=C: IF ERRORLEVEL 4 SET BootDrive=D:
DD.EXE Disk Duplicator This utility copies SRAM and disk images.
DELAY.EXE Display Message, Wait, Pause, Return Error Level Serves four functions:
1. Display a message to the screen (like the Echo command).
2. Wait for some amount of time to expire before continuing (like a Sleep command or DOS 6 Choice command with a timeout specified).
3. Pause execution of the system until a key is pressed, such as Pause."
4. Return an error level based on which key, if any, was pressed (like the DOS 6 Choice command).
The first three functions can be performed even when DELAY is loaded as a device driver. Since the error level concept does not apply to CONFIG.SYS processing, the fourth function applies only to command line (or batch file) execution. To perform each of these functions:
1. No command line parameters are required to display the message Press any key to continue . . . To display one or more different messages, supply the new messages in double quotes on the command line. Each quoted text string displays on a separate line. A null message (") displays a blank line. To keep the cursor positioned immediately following the last character displayed, do not use the trailing quote ("). To display a message without waiting for a timeout or a key press, specify zero (/0) for a delay timeout.
1. Getting Started
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-33
Page 54
1. Getting Started
SECTION 1Getting Started
2. To force DELAY to exit after a period of time has elapsed, even if no key has been pressed, specify a /nnnn" switch on the command line anywhere, even within quoted text. The value of nnnn is the decimal value for how many hundredths of seconds that must elapse before DELAY automatically exits. The maximum delay is about 640 seconds (or about 10 minutes).
3. No command line parameter is required to cause this program to wait for a key press. DELAY always exits whenever a key is pressed, even if it is waiting for time to elapse first.
4. When DELAY is executed from a command shell, as opposed to being loaded as a device driver, the error level set upon return is based on the key, if any, that was pressed prior to exiting. The return value is specifically geared to make it easy to tell which numeric key was pressed.
Table 1Ć6
DELAY.EXE Error Levels
Error Level Key Pressed
0 0" 1 1" 2 2" 3 3" 4 4" 5 5" 6 6" 7 7" 8 8"
9 9" 10 :" 11 ;"
12 to 154 Values returned for these keys consist of key value minus 30h.
255 No key was pressed; the time expired first.
1-34 PEN*KEY
Simple examples:
Pause DELAY.EXE Echo message DELAY.EXE /0 message" Sleep 10 seconds DELAY.EXE /1000 Choice message DELAY.EXE message"
IF ERRORLEVEL 3 GOTO InvalidDigit IF ERRORLEVEL 2 GOTO PressedTwo IF ERRORLEVEL 1 GOTO PressedOne
IF ERRORLEVEL 0 GOTO PressedZero Echo message two Pause DELAY.EXE message two" Press any key to continue... "
FNDRAMD.COM Identify RAM Drive This utility identifies the drive letter that corresponds to your RAM drive. The drive letter is returned by way of the errorlevel:
0 = No RAM drive found 1 = Drive A is the RAM drive 2 = Drive B is the RAM drive etc.
R
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 55
SECTION 1 Getting Started
FNDROMD.COM Identify ROM Drive This utility identifies the drive letter that corresponds to your ROM drive. The drive letter is returned in the same way that FNDRAMD.COM does.
ISRAMDRV.COM Determine if RAM Drive Exists This program returns an error level that answers the question, Do I have a RAM drive?" If the error level is set to zero, then a RAM drive exists. Use this command in batch files to indicate whether a RAM drive was already formatted.
Batch file example:
ISRAMDRV.COM IF ERRORLEVEL 1 GOTO NoRamDrive IF NOT ERRORLEVEL 1 GOTO RamDrivePresent
MMBFLAG.COM Set/Get ROM DOS Boot Flags This program satisfies a couple of batch file needs:
1. The error level returned by MMBFLAG.COM indicates the current value of the ROM DOS boot flags. The boot flags keep track of the default boot drive and serve as an indicator of Master Mode Booting.
2. You can change the default boot drive by supplying a simple command parameter:
MMBFLAG.COM 0 (Drive A:) MMBFLAG.COM 1 (Drive B: MMBFLAG.COM 2 (Drive C:) MMBFLAG.COM 3 (Drive D:)
1. Getting Started
Table 1Ć7
MMBFLAG.COM Error Levels
Error Level Meaning
131 Master Mode Boot from drive B (default boot drive is D) 130 Master Mode Boot from drive B (default boot drive is C) 129 Master Mode Boot from drive B (default boot drive is B) 128 Master Mode Boot from drive B (default boot drive is A)
3 Drive D is the default boot drive 2 Drive C is the default boot drive 1 Drive B is the default boot drive 0 Drive A is the default boot drive
RESET.EXE Reset the System Enables batch files or other software to reset the system.
THISDRV.COM Identify the current drive This utility identifies the drive letter that corresponds to your current drive. The drive letter is returned in the same way that FNDRAMD.COM does.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 1-35
Page 56
1. Getting Started
SECTION 1Getting Started
R
1-36 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 57
Section 2
Supporting DOS Applications
""""""""""""""""""""
This section is about applications that run in DOS on the PEN*KEYR 6200 and 6300 HandĆHeld Computers.
Topic Summary
Topic File Name Page
DOS Power Management Drivers NPOWER.EXE, NORAPM.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć2
Installation Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć3
Command Line Switches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć4
Interrupt Vectors Supported by NPOWER.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć6
Interrupts Supported by NORAPM.EXE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć11
NORAND Proprietary System Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć13
Power Management Clock Driver CLOCK.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć13
DOS Pen Drivers 62MOUSE.COM, 63MOUSE.COM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć14
Interrupts Supported by DOS pen drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć15
Pen Calibration 62CALIB.EXE, CALIB.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć16
DOS Scanner SCANTSR.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć16
DOS NPCP Printing PC4800.SYS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć18
DOS IrDA Printing PRDRV.SYS, IRDAPDRV.EXE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć20
Device Driver Entry Points . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć20
PC Card Modem Driver NGENMOD.SYS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć23
Application Interfaces and Device Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć24
Supported DOS Driver IOCTL Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć25
Interrupts Supported by NGENMOD.SYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć28
PC Card WAN Power Manager NGENWAN.SYS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć29
Qualifying Wireless WAN Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć30
Interrupts Supported by NGENWAN.SYS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Ć30
2. DOS Applications
Detailed definitions of the interrupts are located in Section 6. They are matrixed into the entire set of interrupts, in the Interrupt Definitions paragraph, and are identified by a symbolic notation.
To locate interrupts by number, see the Interrupt CrossĆReference table in Section
6. To locate interrupts alphabetically, see the Interrupts Index.
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide 2-1
Page 58
SECTION 2Supporting DOS Applications
DOS Power Management Drivers: NPOWER.EXE, NORAPM.EXE
Device drivers, NPOWER.EXE and NORAPM.EXE, are part of the Advanced Power Management (APM) system when running under DOS.
NPOWER broadcasts APM events to applications, notifies the APM BIOS when the system is busy performing DOS calls, and provides a command line interface for configuring APM settings (most of which are managed by NORAPM).
NORAPM.EXE is the interface between applications and the APM BIOS. It installs an APM BIOS; then gathers information from this BIOS and broadcasts the information to APMĆaware applications. It also monitors DOS function calls and notifies the APM BIOS when the system is busy.
For more information, see Section 4.
Installation
To run NPOWER.EXE and NORAPM.EXE, they must be installed as device drivers, in the CONFIG.SYS file, at system startup time. NORAPM.EXE takes no parameters and must be installed prior to NPOWER.EXE.
2. DOS Applications
"
These would be a typical entry in the CONFIG.SYS file:
device=norapm.exe device=npower.exe device=clock.exe
After installation, NPOWER displays the program name and version, similar to the following:
NORAND Power Monitor Extension Version n.nn Copyright (C) nnnn by Norand Corporation
NOTE: In future revisions of this product, the name, Intermec Technologies Corporation, may appear
after the Copyright in the line above.
Operational Switches for NPOWER.EXE
NPOWER provides switches for both installation and command line operation.
The table on the next page enumerates the states that are valid for certain switches, as per the APM BIOS specification. Remember, as you read the installation descriptions that follow for any particular INT 15h call, NPOWER may report an error, based on the configuration of the HHC.
For example, if a command to set the POD power on a 6200 Computer is issued, NPOWER does not report an error because that option is not supported on the 6200 Computer.
States
0 Ready 1 Standby 2 Suspend 3 Off
R
2-2 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 59
SECTION 2 Supporting DOS Applications
Installation Switches
At installation time, use switches to set various power parameters. The following line is an example:
device=npower.exe /BL:120
The switch /BL controls backlight timeout. The preceding line would set the backlight timeout to 120 seconds. After 120 seconds with no activity, the backlight would be turned off.
More than one switch can be set on the same line. For example:
device=npower.exe /BL:300 /SY:600
This line would set the backlight timeout to 300 seconds and the system suspend timeout to 600 seconds.
The switches in the following table are valid for installation:
"
NOTE: Each italicized element is a value you supply.
Switch Description
/B1:nnn When the main battery is expected to go critical in less than 10 minutes, then 10 minute
warnings are broadcast at regular intervals. The value of nnn defines how often those warnings are broadcast. The default is 60 seconds.
/B2:nnn When the main battery is expected to go critical in less than 20 minutes, then 20 minute
warnings are broadcast at regular intervals. The value of nnn defines how often the warnings are broadcast. The default is 120 seconds.
/B3:nnn When the main battery is expected to go critical in less than 30 minutes, then 30 minute
warnings are broadcast at regular intervals. The value of nnn defines how often those warnings are broadcast. The default is 120 seconds.
/B4:nnn When the main battery low warnings are posted by the APM BIOS, but the time remaining is
more than 30 minutes, low main battery warnings are broadcast at regular intervals. The value of nnn defines how often those warnings are broadcast. The default is 160 seconds.
/BB:nnn When the backup battery is low, warnings are broadcast at regular intervals. The value of
nnn defines how often those warnings are broadcast. Note that the H8 sends backup battery warnings at a rate of about once every 10 seconds. If
the warning interval specified is less than 10 seconds, then somewhat erratic behavior results. The default is 60 seconds. For example, suppose /BB:3 is specified as:
TIME Event start First H8 notification of a low backup battery occurs. +0 sec NPOWER broadcasts a low backup report +3 sec NPOWER broadcasts a low backup report +7 sec Second H8 notification of a low backup battery occurs.
+0 sec NPOWER broadcasts a low backup report +3 sec NPOWER broadcasts a low backup report +7 sec Third H8 notification of a low backup battery occurs. etc.
/BL:nn The value of nn defines how soon the backlight is turned off after a period of inactivity. The
default is 60 seconds.
2. DOS Applications
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-3
Page 60
SECTION 2Supporting DOS Applications
Switch Description (Continued)
/GBL:nn Global backlight timeout in minutes. Normally the backlight is automatically turned back on
upon resume or when a key is pressed. Twenty minutes after turning on the backlight, the light turns off. You then need to manually turn the backlight back on to start the timer going again. The twenty minutes are measured only while the terminal is on. To disable this feaĆ ture entirely, set a timeout of zero. To simply change the timeout period, specify a new timeĆ out in minutes.
The default is 20 minutes.
/SS:n Sets SystemSoft flag to 0 or 1. If using SystemSoft for PC Cards, set it to the value of 1.
Due to a bug in Card Soft version 3.12 software, suspend notifications must be broadcast somewhat differently when Card Soft is loaded. When this switch is supplied the following translations are applied prior to broadcasting APM events:
APM_SUSPEND_REQ is changed to APM_USER_SUSPEND. All OEM specific broadcast messages are disabled.
The default is 0 (disabled).
Command Line Switches
There are some switches that you can use at any time to change the configuration of NPOWER.EXE:
2. DOS Applications
Switch Description
/AC:bl,ch,cl Sets the three activity masks maintained by the APM BIOS (NORAPM). The definition
/Cp:s Sets communications port x to power management state n.
/ID:nn System idle timeout in seconds. The value of nn defines how long the terminal runs full
/AC /Cp /ID /L1 /PCM /Sp /Pp /SW /SY /WU
To use a command line switch, type NPOWER, followed by the setting that you want to change; for example:
NPOWER /SY:100
Use these command line switches at any time. Valid values for the state s" are shown in the Operational Switches for NPOWER.EXE paragraph, page 2Ć2.
for each mask value is defined by the APM SetActivityMask function, (INT 15h, AX=5380h, BH=2Eh). The values for bl, ch, and cl are in hex and are described in the APM BIOS description.
bl indicates activity monitor 3 ch indicates activity monitor 2 cl indicates activity monitor 1
The defaults are determined by APM BIOS (NORAPM).
Valid values for the COM port (p) are 1 and 2.
To disable power to the selected COM port (p,) set the state (s) for that COM port
to OFF (3). For example: /C1:3
To enable power to the selected COM port (p,) set the state (s) for that COM port to ON (0). For example: /C2:0 This switch is equivalent to performing an APM Set Power State function call for the seĆ lected COM port (INT 15h, AX=5307h, BH=04h, BL=com port, CX=power state). The deĆ faults are determined by APM BIOS (NORAPM).
speed with no activity. Once idle, activity is required before the idle loop ends. Activity is defined by the activity masks. Various DOS function calls also prevent the terminal from idling. An idle timeout of zero prevents background system idling. An application can still perform idling to save power. A timeout value of zero is appropriate for all PL/N applications. A value of 0 disables idle detection. The default is 2 seconds.
R
2-4 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 61
SECTION 2 Supporting DOS Applications
Switch Description (Continued)
/L1:s Sets LAN to power management state s.
Enable power to the onboard LAN controller by setting the state (s) to On (0). For example: /L1:0.
Disable power to the onboard LAN controller by setting the state (s) to Off (3). For example: /L1:3. The default is determined by APM BIOS (NORAPM).
/Pp:s Sets POD p to power management state s. Valid POD values for (p) are 0 and 1. The
following examples show the most likely values that work:
To enable power to a selected POD (p) set the state (s) to On (0). For example, to enable power POD1: /P1:0.
To disable power to a selected POD (p) set state (s) to Off (3). For example, to enable power POD2: /P2:3. This switch is equivalent to performing an APM Set Power State function call for the seĆ lected OEMĆdefined power device (INT 15h, AX=5307h, BH=0E0h, BL=pod number, CX=power state). The defaults are determined by APM BIOS (NORAPM).
/PCM:s Sets PC Card to power management state n.
To enable APM for all PC Card sockets set the power management state (s) to On (0). For example: /PCM:0.
To disable APM for all PC Card sockets set the power management state (s) to Off (3). For example: /PCM:3. This switch is equivalent to performing an APM Set Power State function call for the priĆ mary PC Card controller, (INT 15h, AX=5307h, BX=0200h, CX=power state). The deĆ fault is determined by APM BIOS (NORAPM).
2. DOS Applications
/Sp:s Sets PC Card socket (p) to power management state (s). The following examples show the
valid socket (p) values that work:
To enable power to a selected PC Card socket (p) set the power management state (s) for that socket to ON (0). For example, to enable power to socket 1 (drive B:): /S1:0
To disable power to a selected PC Card socket (p) set the power management state (s) for that socket to OFF (3). For example, to disable power to socket 0 (drive B:): /S0:3 This switch is equivalent to performing an APM Set Power State function call for the seĆ lected PC Card socket, (INT 15h, AX=5307h, BH=06h, BL=socket, CX=power state). DeĆ fault value for state (s) is ON (0).
/SW:s Sets SWV power management to state s (5 volts to keyboard connector).
To enable power to switch V+ (SWV+) set the power management state (s) for that socket to ON (0). For example: /SW:0
To disable power to switch V+ (SWV+) set the power management state (s) for that socket to OFF (3). For example: /SW:3 This switch is equivalent to performing an APM Set Power State function call for the seĆ lected PC Card socket, (INT 15h, AX=5307h, BH=06h, BL=socket, CX=power state). The default value is OFF (3).
/SY:nnn System timeout in seconds. The value of (nnn) defines how long the terminal remains
awake with no activity. No activity for this time causes the HHC to suspend. Setting the timeout to zero prevents sleep from occurring prior to a critically low battery condition. The default is determined by APM BIOS (NORAPM).
/WU:bl Sets the wakeĆup mask maintained by the APM BIOS.
The value of (bl) defines which activities wakes a terminal up from suspend. The BL valĆ ue is defined by the SetWakeupMask APM function: (INT 15h, AX=5380h, BH=2Fh). The value of (bl) is in hex. The default is determined by APM BIOS (NORAPM).
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-5
Page 62
2. DOS Applications
SECTION 2Supporting DOS Applications
Broadcasting Messages
NPOWER uses the 2Fh software interrupt to broadcast certain power management messages. NPOWER places 0530Bh in register AX and the event code in BX before issuing the 2F interrupt. Any messages not shown in the following paragraphs likely results in NPOWER reporting they are not valid.
Interrupt Vectors Supported by NPOWER.EXE
NPOWER.EXE interrupts are identified by the symbolic notation, NPOWER, within each interrupt definition. The following paragraphs describe the interrupt vectors that NPOWER hooks to achieve its resident functionality.
Broadcast Event
To modularize the broadcasting of APM events this procedure was added. The special processing required by the retail CardSoft product is handled here. Whenever the /SS:1 switch is specified:
" No OEM events are broadcast " System suspend events are translated to user suspend events prior to
broadcasting them. This is done because CardSoft only acts on low numbered events; and in the case of a Suspend event we would rather that CardSoft did nothing. By converting it to a larger value, it does just that.
SystemResumeNotification
Use this procedure whenever there is any reason to perform resume processing. It in turn checks before performing any processing to make sure that a redundant call has not occurred. Assuming this is not a redundant call, the following occurs:
" INT 6Ch is issued to restore DOS clock from the RTC " Resume notification is broadcast (see also BroadcastEvent).
INT 08h ISR: Timer T ick
When NPOWER is disconnected from the APM BIOS, the timer tick ISR installed by NPOWER does nothing but pass it on. When NPOWER is connected to the APM BIOS, it continues to pass on the interrupt as the first thing it does. Upon return from the previous handler it performs the following functions:
1. Turn off the backlight after a period of inactivity.
2. Manage the global backlight timer.
3. Turn on the backlight if the global backlight timer is enabled, and an event has occurred that signals that the backlight should be turned back on.
4. Poll the APM BIOS event queue (details covered in the following paragraphs).
Other than decrementing counters, the work performed by the timer ISR is done after swapping to a local stack and incrementing the DOS busy flag. Recursion is allowed, but only within the section of code that updates the counters. None of the previous four functions are acted on when NPOWER is disconnected from the APM BIOS. NPOWER connects to the APM BIOS when it loads (as a device driver) and stays connected unless an INT 2Fh call is issued to perform a disconnect.
R
2-6 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 63
SECTION 2 Supporting DOS Applications
Standard APM Event Processing
The standard APM events are those for which NPOWER performs specific actions. Any APM event not listed is simply broadcast. These are descriptions of all of the interrupt vectors that NPOWER hooks to achieve its resident functionality. The event code values are hex.
0002 System Suspend Request Notification (APM_SUSPEN_REQ)
A Get Power Status call is issued to determine if the terminal is on charge. If the terminal is on charge then the event is simply ignored. If the /SS:1 switch was specified, then a userĆsuspend event is broadcast instead of a system suspend; otherwise, a systemĆsuspend event is broadcast via Int2Fh.
0003 Normal Resume System Notification (APM_NORM_RESUME)
If the backlight was on when the HHC was suspended and the global backlight timer was enabled, then the backlight is turned back on using a Set Power State call with the OEM device ID of 0E200h. INT 6Ch is issued to restore the DOS clock from the RTC. This is the normal resume notification that is broadcast.
0004 Critical Resume System Notification
If the backlight was on when the terminal was suspended, and the global backlight timer was enabled, then the backlight is turned back on using a Set Power State call with the OEM device ID of 0E200h. INT 6Ch is issued to restore the DOS clock from the RTC. The critical resume notification is broadcast.
0005 Main Battery Low Notification
The broadcast of low main warnings is maintained by a timer that is updated every timer tick. There are two variables used for control when a warning is issued, together with a table of values to arm those two variables. The first variable is a flag that indicates whether or not warnings are to be issued at all. The second is a counter that indicates whether it is time for another warning to be broadcast. When warnings are enabled and the counter has counted down to zero, a warning is broadcast. At that time, a Get Power Status call is issued to determine whether or not to rearm the counter for another warning. The Get Power Status call returns how much time is left. That value determines which timeout period (if any) should be used for the next warning. It also determines which warning to broadcast. The default values for the table are:
Time Remaining Broadcast Value New Timeout Period
10 minutes or less 020Dh (OEM) 60 seconds 20 minutes or less 020Eh (OEM) 120 seconds 30 minutes or less 020Fh (OEM) 180 seconds over 30 minutes 0005h disable warnings The first main battery low notification received starts the warning process. If warnings are already enĆ abled, additional main battery notifications are ignored. The warning process is started by enabling the flag and then performing the same process described above. A Get Power Status call determines which value to immediately broadcast as well as when the next broadcast is performed.
0006 Power Status Change Notification (APM_PWR_CHANGE)
A Get Power Status call determines if the terminal was placed on or removed from ac power. If the termiĆ nal is on battery power then the power status change event is simply broadcast. If the terminal is on ac power, but was previously suspended, then a resume notification event is broadcast. After the power staĆ tus change event is broadcast, the return value is checked for an audible signal. If the return value of BH is nonzero, then a beep is issued via the APM OEM BIOS extension (Int 15h, AX=5380h, BH=11h).
2. DOS Applications
0007 Update Time Notification
Fix the DOS Clock. Broadcast the time update.
0008 Critical System Suspend Notification (APM_CRIT_SUSPEND)
A Get Power Status call determines if the terminal is on charge. If the terminal is on charge then the event is simply ignored. The critical system suspend event is broadcast via Int. 2Fh. A Set Power State command is issued to the APM BIOS to suspend all power managed devices.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-7
Page 64
000A User System Suspend Request Notification (APM_USER_SUSPEND)
A Get Power Status call determines if the terminal is on charge. If the terminal is on charge then the event is simply ignored. The user suspend event is broadcast via Int. 2Fh. The value returned in BH from the broadcast call determines if the suspend request is rejected. If zero is returned in BH, then a Set Power State command is issued to the APM BIOS to suspend all power managed devices. Otherwise, a beep is issued via the APM OEM BIOS extension (Int 15h, AX=5380h, BH=11h).
000B User System Suspend Request Notification (APM_USER_SUSPEND)
A Get Power Status call determines if the terminal is on charge.
0203 Pod 1 Ring Detect (APM_OEM_POD1) If the terminal was previously suspended, then all of the processing normally performed for a Normal ReĆ
sume System Notification is performed. Unless the /SS:1 switch has been specified, the Pod 1 Ring Detect is also broadcast.
0204 Pod 2 Ring Detect (APM_OEM_POD2) If the terminal was previously suspended, then all of the processing normally performed for a Normal ReĆ
2. DOS Applications
sume System Notification is performed. Unless the /SS:1 switch has been specified, the Pod 2 Ring Detect is also broadcast.
0205 COM1 Ring Detect (APM_OEM_EXTRING) If the terminal was previously suspended, then all of the processing normally performed for a normal reĆ
sume system notification resume notification is performed. Unless the /SS:1 switch was specified, the COM1 Ring Detect is also broadcast.
0206 PCMCIA Ring Detect (APM_OEM_PCMCIA) If the terminal was previously suspended, then all of the processing normally performed for a Normal ReĆ
sume System Notification is performed. Unless the /SS:1 switch has been specified, the PCMCIA Ring Detect is also broadcast.
0207 RealĆTime Clock (RTC) Alarm (APM_OEM_ALARM) If the terminal was previously suspended, then all of the processing normally performed for a Normal ReĆ
sume System Notification is performed. Unless the /SS:1 switch has been specified, the RTC Alarm Detect is also broadcast.
020B Backup Battery Low
Backup battery low warnings are handled significantly different from main battery warnings. First of all, there is no way for NPOWER to query the state of the backup battery. That means that once a warning is received, there is no way to query the system to determine when warnings are no longer required. The only way to determine if warnings are still required is the absence of additional warnings being received from the APM BIOS. Thus, low backup battery warnings are broadcast:
" Each time a warning is received from the APM BIOS. " Each time a timer expires after having broadcast the first" warning. " At regular intervals (based upon the warning timer) so long as another warning is received
0214 Backlight On Pressed (APM_OEM_EL) If backlight management is enable (via the /BL switch), a backlight change event from the APM BIOS
causes NPOWER to perform a Get Power State to get the current state, and then rearms the countdown timers (including the global backlight counter). This event is not broadcast.
SECTION 2Supporting DOS Applications
OEM Extended APM Event Processing
Any APM event in the range of 200h to 2FFh is defined to be an OEM extension by the APM standard. Below are the OEM extended APM events for which NPOWER will perform specific actions. APM events not listed are broadcast:
from the APM BIOS while the timer is still counting
R
2-8 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 65
SECTION 2 Supporting DOS Applications
INT 15h API
NPOWER monitors several functions using this interrupt vector, but it does not act on any of them unless NPOWER is actively connected to APM BIOS.
" APM BIOS: Set Power State for OEM Backlight
(AX=5307h, BX=0E200h) When NPOWER is loaded and connected to the APM BIOS, it may manage the backlight timeout. Backlight management can be disabled using the /BL:0 and /GBL:0 switches. With backlight management this function keeps track of three possible states for the backlight: on, suspended, and off (CX=0, 2, or 3 respectively). Standby (CX=1) is treated the same as off. Resume from the suspended state causes the backlight to automatically turn back on. A backlight resume occurs either when the terminal itself resumes or when a key is pressed (assuming the global backlight timer is enabled and active).
" APM OEM BIOS: Set Idle Timeout
(AX=5380h, BX=3107h) This function is intercepted because NPOWER has to set the APM idle timeout every time it connects to the APM BIOS. All that is done with this interceptor is to keep track of the last value used to set the timeout. After recording the new value, the function is passed on to the APM BIOS.
" APM OEM BIOS: Set Backlight Timeout
(AX=5380h, BX=3110h) When NPOWER is loaded and connected to the APM BIOS, it manages the backlight timeout. This function call is intercepted to keep track of what timeout value to use to control the backlight.
" Key Post Ċ (AX=9102h)
This function call is issued whenever the keyboard BIOS puts a key in the keyboard buffer. This occurs either in response to a keyboard interrupt, or an INT 16h call that specifically requests that a key be posted. Scanner drivers use the INT 16h call to place keys into the keyboard buffer that are received from the scanner.
This interceptor uses this function as a sign of activity that causes the backlight to come back on if the global backlight timer is enabled.
" Key Pend Ċ (AX=9002h)
This function call is repetitively issued whenever the keyboard BIOS is about to check for a key in the keyboard queue. Unfortunately it is issued prior to checking at least once. This interceptor first checks to see if there is a key pending. If not, it issues a CPU Idle call prior to returning that the wait operation has completed. Note that if there is no key available, the keyboard BIOS continues to issue this call repeatedly, so there is no need for NPOWER to perform any looping. This interceptor can be disabled using the /WA:0 command line parameter.
2. DOS Applications
" Wait for any System Event Ċ (AX=4100h)
INT 15h function AH=41h is defined as Wait for External Event." When AL=00h, the event that is to be waited on is any external event." This function call is not frequently used in the PC compatibles environment, but it has been used by NORAND function call simply issues a CPU Idle.
This interceptor can be disabled using the /WA:0 command line parameter. Note this one switch is disabling two separate, but similar, functions.
PEN*KEY
R
products in the past. The interceptor of this
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-9
Page 66
INT 21h API: DOS System API
"
NOTE: If NPOWER is disconnected, this interrupt is not intercepted.
This interrupt is intercepted as a means of monitoring when the system is busy. A lookup table determines which system function represents activity. For each of the functions whose AH values are marked in that table, NPOWER performs a read from a system busy port" prior to passing that function on to DOS for execution. The default value used as the system busy port" is 3ffh; the scratch pad register for COM1. This default can be changed automatically by the APM BIOS, simply by supporting the APM OEM BIOS extension Int 15h, AX=5380h, BX=C200h. This is a relatively new addition to the portable APM OEM BIOS specification, so it is expected that it is not supported at first, thus the need for a default port value to use when the function call is not supported.
Function 40h (Write to File or Device) is handled somewhat differently. With that function, BX is also checked to see which file handle is used. Only those file handles greater than or equal to three denote system activity. In other words, writing to stdout is not recorded as activity.
The lookup table is used by INT 28h to determine when idling is performed. For functions between 00h and 0Ch, the lookup value is saved each time a call is intercepted. See INT 28h for how that value is used.
SECTION 2Supporting DOS Applications
2. DOS Applications
INT 28h API: DOS Idle API
This interrupt is issued by DOS from the standard input/output functions whenever it believes that it is idle. Unfortunately, that includes situations such as the time spent polling on a COM port when data is being sent to or received from a COM port, as in the case where the console is redirected via TTY. Thus, a write string call directed to a COM port would run very slowly if idling occurred every time INT 28h is invoked. If NPOWER is disconnected, this interrupt is not
intercepted.
To prevent a slow down, INT 28h looks at the value saved by INT 21h to determine which function was last performed. Only those DOS functions that perform input from the console are allowed to cause idling out of INT 28h. By modifying that saved value under some circumstances, INT 28h idles if:
" The last recorded DOS call is an input function and at least two INT 28h
calls have been issued since that time. The second call is first to idle.
" If the last recorded DOS call was function 0Ch (Flush Buffer and Read
Standard Input), idling occurs with the first INT 28h call received.
Note only those DOS calls in the range of 00h through 0Ch are even recorded. These DOS function calls represent the functions to be recorded as activity:
AH AL Function description
11 Find first matching file using FCB 12 Find next matching file using FCB 13 Delete file using FCB 14 Sequential read from FCB file 15 Sequential write to FCB file 16 Create or truncate file using FCB 17 Rename file using FCB 21 Read random record from FCB file 22 Write random record to FCB file 27 Random block read from FCB file
R
2-10 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 67
SECTION 2 Supporting DOS Applications
AH Function description (Continued)AL
28 Random block write to FCB file 93 Create subdirectory 3A Remove subdirectory 3C Create or truncate file 3F Read from file or device 40 Write to file or device (if file handle >= 5) 41 Delete file 4B Load and/or execute program 4B 05 Set execution state 4E Find first matching file 4F Find next matching file 56 Rename file 5A Create temporary file 5B Create new file
INT 2Fh API: DOS Multiplex Interrupt
Windows Release Virtual Machine Time Slice (AX=1680h)
"
NOTE: If NPOWER is disconnected, this function is not intercepted.
This function saves power when the system is idle and performs a CPU Idle call prior to passing on the interrupt.
NPOWER.EXE Multiplex Handle (AH=54h)
NPOWER is basically implementing a subset of the following function calls. The function 547Fh is a new function that is unique to NPOWER. The following is a list of the functions implemented by NPOWER. See the Interrupt Definitions paragraph in Section 6 for further details.
" Installation Check, (AX=5400h) " Get/Set Power Status, (AX=5401h) " Get/Set APM Polling Frequency, (AX=5482h) " Extended Installation Check, (AX=547Fh) " Get APM Polling Frequency, (AX=5482h, BX=0000h)
" Set APM Polling Frequency, (AX=5482h, BX0000h)
INT 74h ISR: Touch Screen Interrupt
This interrupt is intercepted to turn the backlight back on when the global backlight timer is enabled. A touchscreen driver must be installed and that driver must pass the interrupt on to NPOWER rather than handling the EOI.
2. DOS Applications
Interrupts Supported by NORAPM.EXE
The definitions of the 4000 Series interrupts supported by NORAPM.EXE, the APM BIOS, are identified by the symbolic notation, NORAPM.
"
NOTE: These interfaces are reserved solely for internal use and application use of these methods
may affect application portability. Therefore, applications should not use them.
NORAPM.EXEĆsupported APM interrupts are listed in Table 2Ć1. Note that NORAPM can be configured with certain switches to ignore specific interrupts.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-11
Page 68
SECTION 2Supporting DOS Applications
"
NOTE: Table 2-1 assumes no switches are used and includes the NORAND Proprietary Interrupts,
as indicated by “Yes” in the “Proprietary” column.
Table 2Ć1
Power Management Interrupts Supported
INT#
15h
2. DOS Applications
NORAPM Interrupts System Services Register Values Proprietary
APM Installation Check AX=5300h APM Real Mode Interface Connect AX=5301h APM Interface Disconnect AX=5304h CPU Idle AX=5305h CPU Busy AX=5306h
Set Power State AX=5307h Enable/Disable Power Management AX=5308h Get Power Status AX=530Ah Get PM Event AX=530Bh Get Power State AX=530Ch Enable/Disable Device Power Mgmt AX=530Dh
Driver Version, APM v1.1 AX=530Eh Set VPP1 AX=5380h BH=09h Yes Set VPP2 AX=5380h BH=0Ah Yes Contrast Adjust AX=5380h BH=0Dh Yes Backlight Adjust AX=5380h BH=0Eh Yes Read ID AX=5380h BH=0Fh Yes Set Click AX=5380h BH=10h Yes
Beep AX=5380h BH=11h Yes Define Key Macro AX=5380h BH=14h Yes Define Key AX=5380h BH=15h Yes Key Click AX=5380h BH=1Ah Yes Restore Mup Keyboard AX=5380h BH=1Bh Yes Mup Version AX=5380h BH=1Ch Yes
System Reset AX=5380h BH=1Dh Yes Write EEPROM AX=5380h BH=25h Yes Read EEPROM AX=5380h BH=26h Yes Set COM2 Mux AX=5380h BH=28h Yes Set Pen Calibration AX=5380h BH=2Ch Yes Get Pen Calibration AX=5380h BH=2Dh Yes
Set Activity Mask AX=5380h BH=2Eh Yes Set Wakeup Mask AX=5380h BH=2Fh Yes Set ID AX=5380h BH=30h Yes Set Timeout AX=5380h BH=31h Yes Set Dock Port Control AX=5380h BH=32h Yes Get Timeout AX=5380h BH=33h Yes
Get Dock Control AX=5380h BH=34h Yes Get Wakeup Mask AX=5380h BH=35h Yes Get Activity Mask AX=5380h BH=36h Yes Main Voltage AX=5380h BH=37h Yes Backup Battery Voltage AX=5380h BH=38h Yes Charge Voltage AX=5380h BH=39h Yes
R
2-12 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 69
SECTION 2 Supporting DOS Applications
NORAND Proprietary System Interfaces
NORAND Proprietary System functions are part of the INT 15h interface for the PEN*KEY 6000 Series platforms. These interrupt functions are provided by NORAPM.EXE and are callable only after NORAPM.EXE is loaded.
The interrupts can convert applications from the 4000 Series platform to the PEN*KEY 6000 Series platforms. See the Interrupts paragraph in Section 6.
When creating new applications, see the APM BIOS Interface Specification 1.1 publication from Intel Corporation for portable definitions of the functions required for these system interfaces, rather than using the following interrupts.
Calling Convention
Call these functions by loading register AX with 5380h, loading the other registers in the function description, and issuing a call to INT 15h. Each function returns with the carry flag cleared and AH equal to zero if the function succeeds. If the function fails, each function returns with the carry flag set and AH set to an error code.
Supported Proprietary System Interrupts
A list of the NORAND Proprietary System interrupts, supported by the Power Management BIOS, are included with the other Power Management interrupts, as shown in Table 2Ć1 on page 2Ć12. The Power Management interrupts are identified by the symbolic notation, NORAPM.
2. DOS Applications
Power Management Clock Driver: CLOCK.EXE
CLOCK.EXE is part of the APM system when running under DOS. CLOCK is a device driver that replaces the standard DOS clock driver. It must be installed as a device driver at system startup time.
Besides the normal clock driver functions, CLOCK makes sure that the date and time are maintained during suspends. It does this by forcing a read from the CMOS realĆtime clock upon Resume.
Installing CLOCK.EXE
CLOCK is installed as a device driver in the CONFIG.SYS file. CLOCK should be installed after NPOWER.EXE. A typical entry in CONFIG.SYS to install CLOCK would look like this:
DEVICE=NORAPM.EXE DEVICE=NPOWER.EXE DEVICE=CLOCK.EXE
After installation, CLOCK displays the following message:
CLOCK.SYS: NORAND DOS Clock Driver Version n.nn Copyright (c) nnnn by Norand Corporation All rights reserved.
"
NOTE: In future revisions of this product, the name, Intermec Technologies Corporation, may appear
after the Copyright in the line.
Installation Switches
There are no installation switches or userĆprogrammable parts of CLOCK.EXE.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-13
Page 70
SECTION 2Supporting DOS Applications
DOS Pen Driver: 62MOUSE.COM, 63MOUSE.COM
The PEN*KEY touchĆscreen driver, for DOS applications, emulates the standard INT 33h mouse interface. The driver for the 6200 Series computer, is 62MOUSE.COM, and the driver for the 6300 Series computer, is 63MOUSE.COM. Most mouseĆaware applications should work properly on either the 6200 Computer or the 6300 Computer, using the touch screen.
See Standard Mouse Interface: INT 33, in the Conversions and Interfaces section of this publication, for the details on the available function calls.
Installation
The pen driver installs as a TSR, by placing the following statement in the AUTOEXEC.BAT file, for the 6200 Series computer:
62MOUSE.COM
and the following statement for the 6300 Series computer:
63MOUSE.COM
After installation, the driver displays the following message:
Pen Driver Version 1.xx Installed successfully
2. DOS Applications
"
Switch Event Controlled Default Value
/C Calibrate (store calibration values in EEPROM) ćććć /Ixxx Set Interrupt request line (hex) 00C /Kx Set clock (0 = 33 KHz, 1 = 1.8 MHz, 2 = 14 MHz) 0 /Dxxx Set divisor (decimal)
/Xxxx Set screen width (decimal)
/Yxxx Set screen height (decimal)
/Axxx Set port base address (hex) 208 /Vxxx Set API interrupt number (hex) 33 /S Secondary interrupt level cascade required ćććć /G Ignore Hardware ćććć /Wxxx Set wait count (decimal) 4 /Mxxx Set maximum motion tolerance (decimal). Ignore point if difference from last
/H List commands ćććć
NOTE: APM driver should be loaded before the mouse driver.
Configuration and Options
The installed default values for the driver are satisfactory installing either mouse driver. However, for special applications, you can use the following switches to control the driver's operation:
32 = 100 conversions/second 64 = 50 conversions/second
6200 6300
6200 6300
point exceeds this value.
32
160 480
200 320
24
R
2-14 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 71
SECTION 2 Supporting DOS Applications
Supported DOS Pen Driver Interrupts
Detailed definitions of the INT 33h are identified by the symbolic notation, MOUSE.
Table 2Ć2
INT 33h Interrupts Supported
INT#
33h
MOUSE Interrupts Standard Mouse Interface Register Values
Mouse Reset and Status AX=0000h Show Cursor AX=0001h Hide Cursor AX=0002h Get Button Status and Mouse Position AX=0003h Set Cursor Position AX=0004h
Get Button Press Information AX=0005h Get Button Release Information AX=0006h Set Minimum and Maximum x Cursor Position AX=0007h Set Minimum and Maximum y Cursor Position AX=0008h Set Graphics Cursor Block AX=0009h Set Text Cursor AX=000Ah
Read Motion Counters AX=000Bh Set Interrupt Subroutine Call Mask and Address AX=000Ch Light Pen Emulation Mode On AX=000Dh Light Pen Emulation Mode Off AX=000Eh Set Mickey to Pixel Ratio AX=000Fh Conditional Off AX=0010h
Set DoubleĆSpeed Threshold AX=0013h Swap Interrupt Subroutines AX=0014h Get Status Block Size AX=0015h Save Driver Status AX=0016h Restore Driver Status AX=0017h
Set Alternate Subroutine Call Mask and Address AX=0018h Get User Alternate Interrupt Address AX=0019h Set Mouse Sensitivity AX=001Ah Get Mouse Sensitivity AX=001Bh Set Mouse Interrupt Rate AX=001Ch
Set Display Page Number AX=001Dh Get Display Page Number AX=001Eh Disable Mouse Driver AX=001Fh Enable Mouse Driver AX=0020h Software Reset AX=0021h Set Language for Messages AX=0022h Get Language Number AX=0023h Get Driver Version, Mouse Type, and IRQ Number AX=0024h
2. DOS Applications
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-15
Page 72
SECTION 2Supporting DOS Applications
Pen Calibration
The only difference between the Pen Calibration program (62CALIB.EXE) for the 6200 Computer and the Pen Calibration program (CALIB.EXE) for the 6300 Computer, is the screen size it is designed to operate within.
When running the calibration program, you are requires to touch each of the four crosshairs three times on the screen as they appear. Then press YES to save the settings.
"
NOTE: Even though the HHC can be run without performing a pen calibration, the calibration is rec-
ommended to obtain better results.
There are two command line switches:
Switch Description
ćv This displays the current calibration values. ć? This displays the help screen.
2. DOS Applications
DOS Scanner: SCANTSR.EXE
"
The program SCANTSR.EXE collects and passes scanned data to an application via the standard DOS typeĆahead buffer, where the scanned bar code is available to an application as simple keystrokes. The program also manages power for the scan operations.
SCANTSR is installed from the AUTOEXEC.BAT file via this statement:
scantsr [/option:value] ...
Install this program after the CardSoft drivers and TSRs are installed (if they are used) and after NORAPM.EXE is installed.
NOTE: If CardSoft drivers and TSRs are present in the system, the command line option on NPOW-
ER.EXE that “fixes” some CardSoft bugs (/ss:1) must not be used on NPOWER.EXE, but instead used as an option to SCANTSR.
SCANTSR is activated by an application generating an interrupt on 0x7A with the processor register AH set equal to 0x80. This results in one scan decode event, where the scanned data becomes available to the application as if the user had typed the bar code. If for any reason a symbology is not scannable, the user may use the keyboard to key in the data. However, upon detecting a key press, SCANTSR disengages itself to prevent the corruption of the data being keyed in by the user; the program must then be reactivated to collect another scan.
R
2-16 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 73
SECTION 2 Supporting DOS Applications
Installation Options
SCANTSR recognizes the following /option:value pairs:
For both the tethered and integrated scanners:
/ss:1 Fix" the SystemSoft bugs that NPOWER normally fixes. SCANTSR must
be loaded after NPOWER and any CardSoft drivers and TSRs used.
For the integrated scanner only:
/aim:nnn Set the aiming beam duration (in milliseconds) for the longĆrange
integrated scanner. The aiming beam is a narrower, brighter scan, allowing the user to position the scanning beam correctly. Note during the aiming time, no symbology decoding is attempted. This option does not result in a narrower, brighter, beam on the standard range integrated scanner; but it still has the effect of not decoding the symbology while aiming. It should not be used with a standardĆrange scanner.
Example
/* This scanner testware enables scanner, then displays the DOS keystrokes until the return or newline character is encountered, where we exit. */
#include <dos.h> #include <stdio.h> #include <conio.h>
void main (void) {
int c;
delay(250); // do not accidentally see the enter key that
// launched the test program as the user’s
// desire to enter the symbol manually _AH = 0x80; // collect only one scan 4500 compatible geninterrupt(0x7a); // enable scan tsr for (;;) { // look for keystrokes until \n
while (kbhit()) { // or \r
c = getch(); putchar(c);
if (c == \n || c == \r) break; } if (c == \n || c == \r) break;
}
}
2. DOS Applications
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-17
Page 74
DOS NPCP Printing: PC4800.SYS
2. DOS Applications
SECTION 2Supporting DOS Applications
PC4800.SYS is a DOS device driver that allows DOS and PL/N applications written for the 6200 and 6300 Computers to print to NORAND 4810, 4815, and 4820 Printers, using the NPCP protocol.
Driver Installation and Configuration
Required CONFIG.SYS Entry
To install the DOS driver for the 4815 or 4810 Printers, place the following statement in the CONFIG.SYS file and reboot. If PC4800.SYS is not in the root directory, be sure to include the path.
device=PC4800.SYS LPT1 1 /I1
NP4800 is the default name for the device driver that opens the device. By using PC4800.SYS, a specific device driver is specified.
You can override this by adding a command line parameter ( the preceding statement. The driver is then accessed via this name when the device is opened. You can call it whatever you want (except PRN), using up to eight characters. You can add a second parameter that indicates the communications port number to use for output: 1 = COM1, 2 = COM2, etc.
To set the communications port number, specify the device name. Parameter order is important. The default port is COM1. By default, PC4800.SYS supplies only the DOS device driver interface to NPCP printers.
To support PL/N applications, INT 17h interface must also be installed. To do so, add an /I switch to the command line, as shown in the preceding statement. The digit that appears after the I" refers to the LPT port that gets redirected to the device driver at the INT 17h prompt. For example, if a 1" is specified, all INT 17h calls for LPT1 are redirected to the PC4800.SYS device driver.
LPT1), as shown in
Required AUTOEXEC.BAT Entry
In addition to loading PC4800.SYS from the CONFIG.SYS file, also place the following line in the AUTOEXEC.BAT file on the boot drive. This line installs the NORAND API kernel and is necessary for the correct functioning of the driver for PL/N applications: and for nonĆPL/N applications: 4000API.EXE /c3 /pc /10 /14 /16
where: /c3 means treat COM3 as COM3, not COM1
/pc is PC emulation
/10 /14 /16 means ignore INT 10, INT 14, and
INT 16 interrupts.
4000API.EXE /c3
Functionality and Usage
Intermec Technologies Corporation supplies PL/N and C standard printer routines that handle critical errors and the printing of text to Norand printers. This information is for those who might want to create their own print routines.
The DOS driver for the 4815 and other NPCP printers must be opened before it can be used. Use the correct open call, for the language being used. For example, there are two open calls available:
Open Mode Function Description of Function 1 Opens a device (file) (only if existing) Checks for the existence of the device and returns
an error if it is not there.
2 Creates files when opening (not existing) Creates a file upon opening.
R
2-18 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 75
SECTION 2 Supporting DOS Applications
To write to the device, use any appropriate output function that can be directed to the device (for example, in C you can use
fprintf()).
You should install a critical error handler that processes errors from the printer. The printer driver returns only device not ready" errors to DOS for the sake of compatibility with the standard PRINT program supplied with DOS. You can retrieve the extended error if you bypass DOS and call the driver directly from the error handler. See the example listing of CRITICAL.C and errors returned in Appendix B, Common PEN*KEY 6000 Series Information.
IOCTL calls (DOS Function AH = 44h, AL = 02h) are supported by the device driver (see the DOS technical reference manual). Calls require the handle number of the printer device in register BX, a data item with this structure pointed to by DS:DX, and the number of bytes to be read in register CX.
struct ioargs {
far *unsigned char ioctl_cmd; far *unsigned char ioctl_buf;
};
These commands may be pointed to by the ioctl_command field to be executed by the driver:
ONLINE = 2 STATUS = 3 GET DEVICE FEATURES = 4 SELFTEST = 5 RESET = 6 GET CURRENT CONFIGURATION =7 XTENDED ERROR = 255
Data is returned to the buffer pointed to by the ioctl_buf, for the number of bytes specified in register CX when the IOCTL call is made. The first byte of the returned data represents any error encountered during the call. If the call was successful, this byte is zero. If the call was unsuccessful, this byte represents the extended error. The format for the rest of the data is described in the documentation for the printer.
2. DOS Applications
Notes
The printer driver must be opened and closed for each report transaction with the printer if you want to take advantage of the lineĆloss detection features of the NPCP protocol. Applications should do an (ioctl 3) status call to the printer after the last line of a report or a series of reports are sent to the printer to ensure that all lines were printed successfully by the printer.
The printer driver is multiĆtasking. For the application to take full advantage of this feature, it must enable timeĆslicing through the appropriate call to INT 15h. (See the 4000API documentation.)
If timeĆslicing is not activated, the last line buffered by the driver is not sent to the printer until the device is closed or an IOCTL status call is made to the printer. Perform an IOCTL status call before all closes to ensure the driver print buffer is sent to the printer successfully, because DOS closes to character devices do not perform output flushes as part of the close operation. The driver flushes the buffer upon a close, but no error is returned if the flush is unsuccessful.
The printer driver intercepts INT 17h (Printer BIOS Services) and translates the requested functions to provide PL/N support. The BIOS interface for INT 17h is not 100 percent PC compatible, it is meant to be compatible with PL/N. The support provided by the BIOS interface for standard applications is unknown.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-19
Page 76
DOS IrDA Printing: PRDRV.SYS, IRDAPDRV.EXE
2. DOS Applications
SECTION 2Supporting DOS Applications
The 6210 Computer supports IrDA printing under DOS. It consists of the device driver, PRDRV.SYS, plus IRDAPDRV.EXE, the driver handler, link management wrapper, and protocol stack. Together these form the IrDA printer solution, providing a standard DOS character driver to support IrDA printers.
Installation and Configuration
Make sure the IRDAPDRV.EXE and PRDRV.SYS files are on the system. If the system was delivered with an application requiring these files, they should already be in flash. If not, look in the toolkit.
Required CONFIG.SYS Entry
The following entries are required in the CONFIG.SYS file:
device=d:\pathname\prdrv.sys install=d:\pathname\irdapdrv.exe –txxxx
where d:\pathname is the specific path to the directory where your printer drivers exist; and where driver is used. In the case of the 6200 Computer, 6300 Computer,
xxxx should be 6300.
Required AUTOEXEC.BAT Entry
There are no required entries in the AUTOEXEC.BAT file for IRDAPDRV.EXE.
xxxx is the technology" for the platform on which this
xxxx should be 6210. For the
Device Driver Entry Points
The IrDA printer driver supports the following DOS device driver entry points, compatible with the standard input and output libraries provided by DOS compilers, handling the request as indicated by the summarized processes details (open, read, write, IOCTL, and close), as described:
open ć Attempts discovery of an IrDA device, and if found, establishes an IrLMP
connection for a printer with the device.
"
NOTE: Only one open connection is allowed.
read ć Returns data sent by the system. A return count of zero implies that no
data is available.
write ć The written character is stored in a local coalescence buffer (with the
IrLMP protocol header inserted) until the frame size is reached, when the frame is transmitted to the printer. If the ćn switch is used, each user write byte count is sent with the IrLMP protocol header inserted without any attempt at local coalescence.
IOCTL ć This processing is specific to NORAND products and supports printing
applications. A printing program may hook the DOS INT 24 critical error interrupt and then call the driver's IOCTL directly using the information provided by INT 24. The driver responds by setting an extended error code in the application's memory, using a pointer that was passed to it through the IOCTL interface. The following IOCTL call switch is implemented.
R
2-20 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 77
SECTION 2 Supporting DOS Applications
IOCMD_STATUS : // 0x03
requestHeader.headerStatus = detailedErrorCode; break;
IOCMD_ID : // 0x80
requestHeader.headerStatus = 0x0a; break;
default :
requestHeader.headerStatus = detailedErrorCode; break;
where detailedErrorCode is one of the following:
0 PREADY
Device driver is open Ċ a printer connection is established.
50 IRLAP_DISCONNECT_ERROR
Close failure Ċ a disconnect event state change failure occurred during the disĆ connect procedure processing.
51 DISCOVERY_FAILURE
Open failure Ċ no devices responded during the discovery procedure.
52 LINK_MANAGEMENT_CONNECT_FAILURE
Open failure Ċ a buffer flushing operation failed during establishment of the link management session with a discovered device.
53 TX_BUFFER_DESC_GET_FAILURE
Write failure Ċ could not get a transmit buffer descriptor to send the data to the printer.
54 BUFFER_GET_FAILURE
Write failure Ċ could not get a transmit buffer to send the data to the printer.
2. DOS Applications
55 BAD_CONNECTION_HANDLE
Open, write, or close failure Ċ a defective connection handle was encountered while flushing the driver's coalescence buffer.
56 UNKNOWN_TRANSMIT_FAILURE
Open, write, or close failure Ċ the link access protocol failed for unknown" reaĆ sons during an attempt to flush the driver's coalescence buffer.
57 WRITE_WITH_PRINTER_NOT_READY
Write failure Ċ attempted a write to the driver while the driver was in an error state.
58 I_QUEUE_FULL
Open, write, or close failure Ċ the driver could not get a queue for the transmisĆ sion of an information frame.
59 CONNECT_FAILURE
Open failure Ċ after a successful discover of an IrDA device, a connection could not be established.
60 DRIVER_CLOSED
Write, read, IOCTL, close failure Ċ an attempt was made to access the driver while the driver was in a closed state.
61 NO_RECURSION
Write, read, IOCTL, close failure. An attempt was made to recursively access the driver.
62 BAD_LINK_CONTROL_FRAME_SIZE
Open failure, link management failure Ċ the system did not receive the correct frame size for a connect confirmation by IrLMP after the IrLAP link session was established with the remote device.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-21
Page 78
2. DOS Applications
SECTION 2Supporting DOS Applications
63 LINK_MANAGEMENT_CONTROL_FRAME_EXPECTED
Open failure, link management failure Ċ the system did not receive an IrLMP control frame from the remote device after the IrLAP link session was established.
64 NON_LINK_MANAGEMENT_CONNECT_CONFIRM
Open failure, link management failure Ċ the system did not receive an IrLMP connect confirm frame from the remote device after the IrLAP link session was established.
65 RECEIVE_FRAME_FAILURE
Open failure, link management failure Ċ the system did not receive the IrLMP connect confirm frame from the remote device that had a successful IrLAP link established.
66 READ_FAILURE_PRINTER_NOT_READY
Read failure Ċ an attempt was made to read from the character stream with the connection not in ready state.
67 READ_FAILURE_PRINTER_IN_NDM
Read failure Ċ an attempt was made to read from the character stream with the connection in the normal disconnect mode.
68 READ_FAILURE_BAD_CONNECTION_HANDLE
Read failure Ċ an attempt was made to read from the core, and the connection handle used was found to be no longer valid.
69 READ_FAILURE_UNKNOWN_STATUS
Read failure Ċ an attempt was made to read from the core that resulted in the core posting an unknown error.
70 WRITE_REQUEST_EXCEEDS_COALESCING_BUFFER
Write failure Ċ the write buffer is too large to fit in the local coalescing buffer and is rejected. Present the data to the driver with a buffer size less than 128 bytes.
close ć The coalescence buffer is sent to the printer and, after having verified that
all data is sent to the printer, IrLMP and IrLAP disconnects are performed (if there is a coalescence buffer being used, see the -n switch for details).
Usage
Both PRDRV.SYS and IRDAPDRV.EXE have optional parameters.
PRDRV.SYS [fileNameToUse]
where fileNameToUse is the name of the device to which this driver should respond. If this option is used, the f" option for IRDAPDRV.EXE must be used, and the optional name selected must match this name string. The default is IRDALPT.
IRDAPDRV [ –? –bn –dn –fs –n –rn –ts –x ]
-? Provides information about version, revision level, a command line example, a
list of the available switches, and brief descriptions of each.
"
NOTE: Use only the switches shown here. This driver is a multiplatform program, providing features
for all of the 6000 Series platforms. None of the other switches are intended for the 6200 or 6300 Computer and could cause a malfunction, if used on this platform.
-bn Removes a baud rate from consideration for data transfer rate negotiated during
connect. The (n) parameter is one of 19200, 38400, 57600, or 115200. This switch is cumulative and can REMOVE any, or all, of the above rates from the default negotiables. When the two systems negotiate, the largest common value is selected and that baud rate is used for communication after negotiation.
R
2-22 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 79
SECTION 2 Supporting DOS Applications
-dn Specifies the disconnect time (in seconds) requested during negotiation. The (n)
parameter is one of 3, 8, 12, 16, 20, 25, 30, or 40. This switch is cumulative and can add any, or all, of the preceding disconnect times to the default of 3. The two systems negotiating select the largest common value.
-fs Defines the file name used by the driver. This parameter string (s) must be supĆ
plied, and must match the driver name option used with PRDRV.SYS when it was loaded (if used). IRDALPT is default name for this driver.
-n Designates no coalescing buffer support for devices that send data back to escape
sequence queues.
-rn Specifies the number of discovery retries done at the DOS open command by the
driver. For each (n) count, the user has 500 ms to bring the system within range of the printer for data transfer discovery. The default is two retries.
-ts Identifies the IrDAĆequipped system on which the driver is running. The options
for the (s) parameter are: 6210, 6300 (see comments above in Required CONFIG.SYS Entry).
-x Specifies that the driver should disable interrupts not in the open state. This
implies that the core is not discoverable and connectable, and therefore cannot perform that role.
PC Card Modem Driver: NGENMOD.SYS
NGENMOD.SYS is a DOS device driver that enables PC Card modems. The driver allows applications to specify when the modem is powered on and off via standard interfaces, thereby conserving battery power.
Driver Installation
Place the following line in the CONFIG.SYS to install the driver:
device=ngenmod.sys
NGENMOD.SYS defaults to installing the PC Card modem as COM3 at base address 3E8h. By default, it expects the modem to be in socket 1 (slot B) and assigns IRQ5 as the system interrupt for COM3. It also utilizes IRQ14 to detect card change events. The driver name is MODEM."
Most default settings are overridden by switches on the driver install line in CONFIG.SYS. The following switches are defined:
Switch Function Description
-N device name Up to 8 characters long. Default name is MODEM.
-S socket (in hex) 0ć3 supported. Choose based on the number of slots in your system. Slot A is socket 0. Default socket is 1.
-C COM PORT
(in hex)
-I IRQ for COM3
(in hex)
1ć4 supported. For 6300 and 6200 HHCs, select only 3 or 4. Default COM port is COM3.
Must be properly chosen to avoid IRQ conflicts in the system. Default IRQ is IRQ5.
2. DOS Applications
For example the following installation line sets the driver name to MYMOD, installs the modem on socket 0, selects IRQ12 for the modem, and selects COM4.
All numbers must be in hexadecimal.
device=ngenmod.sys –NMYMOD –C4 –S0 –IC
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-23
Page 80
SECTION 2Supporting DOS Applications
Configuration Information
All applications that use UMP.SYS must exclude C800 and CC00 segments. These are used by the NGENMOD for PC Card access. NGENMOD.SYS requires NORAPM.EXE V2.20 or higher. Otherwise, the device driver cannot operate correctly. The following configuration information is important to the proper operation of NGENMOD.SYS in PL/N and DOS environments.
PL/N applications require 4000API.EXE and NORAPM.EXE for proper operation of NGENMOD.SYS. Install NORAPM.EXE as a device driver in the CONFIG.SYS before installing NGENMOD.SYS and install 4000API.EXE as a TSR after NGENMOD.SYS.
DOS applications require NORAPM.EXE to properly operate NGENMOD.SYS. Install NORAPM.EXE as a device driver in the CONFIG.SYS prior to installing NGENMOD.SYS. DOS applications using 4000API.EXE with NGENMOD.SYS must install 4000API as a TSR after NGENMOD.SYS is installed.
4000API.EXE must have the /C3 switch set, when using PC Card modems, which tells 4000API.EXE to treat COM3 calls as COM3 instead of COM1 with no modem control signals.
2. DOS Applications
See the DOS NPCP Printing paragraph, page 2Ć18, for examples of AUTOEXEC.BAT entries, using the /C3 and other switches.
Qualifying PC Card Modems
Several modems have been tested with NGENMOD and are known to contain a valid CIS that allows NGENMOD to properly enable and disable the PC Card modem. The following modems have qualified:
" AMP 14.4 " AMP 9600 " Microcom
This list is constantly changing as new modems become available. For information on the latest qualifying PC card modems, call the Customer Support Center at 800Ć755Ć5505 (U.S.A. or Canada) or 425Ć356Ć1799.
Application Interfaces and Device Behavior
This driver allows applications to power the modem on by application request. This is supported by the following methods.
" DOS OPEN command " INT 14h, function 0 (SERIAL BIOS INITIALIZE) " INT 14h, function FF01h (SERIAL BIOS PORT POWER ON) " APM function 5307h (SET DEVICE POWER STATE) to the correct serial
port and power state
The modem can be turned off by application request. Use the following methods:
" DOS close command " INT 14h, function FF00h (SERIAL BIOS PORT POWER OFF) " APM function 5307h (SET DEVICE POWER STATE) to the correct serial
port and power state.
R
2-24 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 81
SECTION 2 Supporting DOS Applications
The modem driver monitors the system voltage and refuses to enable the modem during powerĆon operations if battery voltage is too low. The battery level, below which the modem cannot operate correctly, is 7.0 volts for the 6300 Computer and 6.0 volts for the 6200 Computer. If the modem fails to respond while an application is improperly functioning, the application should check this voltage level to determine if that is the cause of the problem.
Power is also be removed from the modem on any ejection of the card. Card power is not applied on insertion of the card. Applications are expected to recover from modem ejection and installation via protocol errors.
"
NOTE: To recover properly, applications must always power-down (CLOSE) the modem before mo-
dem power-up (OPEN).
Once the driver is opened, power is maintained to the PC Card as long as the card is in the slot and batteryĆlow or powerĆfail events are not detected. On detection of batteryĆlow or powerĆfail events, power is removed from the card and the application is to recover from modem failure by detection of protocol errors.
It is not be possible to SUSPEND the system, while the modem driver is opened. The modem driver suspends the request to preserve the communications session.
"
NOTE: The driver owns the slot and only a modem device can exist in the socket.
Supported DOS Driver IOCTL_IN Functions
The driver supports DOS init, open, close, and IOCTL functions. Open and close are standard language functions. IOCTL_IN calls (reqpk.cmd = 3) exist to get the driver command line parameters, the modem manufacturer's ID, and the Version 1 product information string. The following is the structure of the DOS request packet to the driver for IOCTL_IN (in C" format):
typedef struct {
unsigned char reqlen; // length of request structure unsigned char unit; // sub unit code for block devices only unsigned char cmd; // driver command unsigned status; // error returned by driver long rsrv1; // area reserved by DOS long rsrv2; // area reserved by DOS unsigned char media; // area reserved by DOS IOCTLPARMS far* ioctl; // ioctl buffer unsigned len; // length of ioctl buffer
} reqpk;
The structure of an IOCTLPARMS buffer is defined as follows in C"
typedef struct {
unsigned char far *cmd;// pointer to a command value unsigned char far *buf;// pointer to a buffer to place data in
} IOCTLPARMS;
The cmd" values are defined as follows for the modem driver. For each command, the buffer buf" must have the minimum size specified. This length must be inserted into the reqpk.len field.
2. DOS Applications
Cmd Value Buffer Length Description
1 12 Return the command line parameters 216 Return the manufacturer ID string 364 Return the product version 1 information string 42 Return the current extended device error
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-25
Page 82
SECTION 2Supporting DOS Applications
CMD 1: Command Line Parameters
The buffer returned, for the command line parameters, has the following format:
struct cmdline {
unsigned char len; // length of data returned unsigned char devname[8]; // device driver name. unsigned char socket; / / PC Card socket device to load in unsigned char IRQ; // syst em irq associated with modem unsigned int base; // base i/o address of modems UART
}
CMD 2: Manufacturer ID String
Manufacturer IDs are assigned by the PCMCIA standards committee. Each modem manufacturer is required to provide their ID in the card CIS for examination by software. Consult the PCMCIA specification for the format of the TUPLE string returned by this call.
CMD 3: Product Version 1 Information String
Each PC Card manufacturer is required to provide a Version 1 Information TUPLE in the card CIS for examination by software. Consult the PCMCIA specification for the format of the TUPLE string returned by this call.
2. DOS Applications
Status Variable Value Meaning
SUCCESS 0x00 BAD_ADAPTER 0x01 Possibly the device in the slot is not a modem. BAD_ATTRIBUTE 0x02 Possibly the device in the slot is not a modem. BAD_BASE 0x03 The requested COM port is already assigned. BAD_IRQ 0x06 The requested IRQ is already assigned. BAD_SOCKET 0x0B Requested socket is already owned by another device. BAD_TYPE 0x0D Possibly the device in the slot is not a modem. NO_CARD 0x14 No card is present in the socket IN_USE 0x1E Requested configuration is already in use. NO_MORE_ITEMS 0x1F Requested configuration did not match configurations POWER_ERR 0xF0 Modem power was removed because of a power event. NOT_INITIALIZED 0xF1 Card ejected or inserted after driver was opened.
"
CMD 4: Return Extended Error
Status of the modem driver or an extended error can be retrieved via this call.
IOCTL_IN Sample Code
NOTE: The following sample code is written for the modem device, if you are using this code for the
wireless WAN card, make the appropriate changes.
#include <stdio.h> #define GET_DRIVER_PARMS 0x01 // ret urn the command line parameters #define GET_MFGID 0x02 // ret ur n manufacturer ’s ID string #define GET_PRODINFO 0x03 / / return produc t vers 1 int o string typedef struct {
unsigned char far *ioctl_cmd; // points to the ioctl cmd unsigned char far *ioctl_buf; // points to the argument buffer unsigned ioctl_len; // length of ioctl_buf } IOARGS;
IOARGS ioargs; UC buffer[64]; // this buffer is pointed to by ioargs.ioctl_cmd
R
2-26 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 83
SECTION 2 Supporting DOS Applications
// and ioargs.ioctl_buf
FILE *modem; int hndl;
// do DOS IOCTL_IN CALL. Inline assembler works for Microsoft C. // Other C compilers may support IOCTL directly.
void Ioctl(int handle, IOARGS *args, UI len) {
_asm {
mov cx,len ; cx is the length of the buffer mov bx,handle ; bx is the file handle mov dx,args ; dx is the pointer to our IOARGS buffer mov ax,4402h ; 4402h is the DOS function to call int 21h ; this is the DOS software interrupt call
}
} // print a buffer
void printbuf() {
int i; for (i = 0; i < 64; i++ ) {
printf (%2.2x ,buffer[i]);
if (i % 16 == 0) printf (\n”); } printf(\n);
} // get manufacturer’s ID
void GetMfgId() {
buffer[0] = GET_MFGID; // insert the command Ioctl(hndl,&ioargs,63); printf(mfgid = \n); // display the returned data printbuf();
} // get the product information
#define GET_PRODINFO void GetProdInfo() {
buffer[0] = GET_PRODINFO; // insert the command Ioctl(hndl,&ioargs,63); printf(prodinfo = \n); // display the returned data printbuf();
} // get the command line parameters
void GetDriverParms() {
buffer[0] = GET_DRIVER_PARMS; // insert the command Ioctl(hndl,&ioargs,63); printf(driverparms = \n); // display the returned data printbuf();
} void main() {
ioargs.ioctl_cmd = &buffer[0]; // assign pointer to cmd buffer ioargs.ioctl_buf = &buffer[1]; // assign pointer to argument buffer
// open the driver; // this applies power to the modem and initializes the PC Card.
if ((modem = fopen(MODEM”,r+”)) == NULL) {
2. DOS Applications
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-27
Page 84
printf(Cant open modem\n);
exit(255); }
// get file handle of driver
hndl = _fileno(modem);
// do the IOCTL_IN calls
GetDriverParms(); GetMfgId(); GetProdInfo(); fclose(modem); // close driver to conserve power
}
Device Driver Errors
The following errors are returned to DOS applications:
0x0100 Command OK. 0x8102 Device not ready. Indicates card not in slot. 0x8103 Unknown DOS command. 0x810c General failure; All other errors and power too low to run device.
SECTION 2Supporting DOS Applications
2. DOS Applications
"
Interrupts Supported by NGENMOD.SYS
The 4000 Series interrupts supported by NGENMOD.SYS are identified by the symbolic notation, NGENMOD.
INT 14h
INT 14h interfaces manage modem power or get error codes dealing with the modem powerĆon sequence. The supported INT 14h functions are intercepted when DX+1 represents the COM port specified on the modem driver line.
The list of INT 14 functions supported by the NGENMOD device driver is as follows:
" Initialize Communications Port AH=00h " Extended Initialize AH=04h
NOTE: These two functions apply only to modems:
" Get Extended Error AH=FEh " Port Power Off/On AH=FFh
INT 15h
APM interfaces manage modem power. The list of INT 15 functions supported by the NGENMOD device driver is as follows:
" Set Power State AX=5307 " Get Power State AX=530C
"
NOTE: These interfaces are reserved solely for internal use and application use may affect applica-
tion portability. Therefore, applications should not use them.
R
2-28 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 85
SECTION 2 Supporting DOS Applications
PC Card WAN Power Manager: NGENWAN.SYS
NGENWAN.SYS is a DOS device driver that enables and powerĆmanages PC Card wireless Wide Area Network (WAN) cards; and allows applications to specify the power state of network cards, allowing various system power states.
Driver Installation
Place the following line in the CONFIG.SYS file to install the device driver:
device=ngenwan.sys –Ix –Cx –Sx –Vl –Rl –Ol –Pl –Nname
The following is a list of options for this device driver. Note that all numbers must be hexadecimal.
Switch Function Description
-Ix IRQ for COM3 (in hex) Must be properly chosen to avoid IRQ conflicts in the system. Default IRQ is IRQ5.
-Cx COM PORT (in hex) 1ć4 supported. For 6300 and 6200 HHCs, select only 3 or 4. Default COM port is COM3.
-Sx socket (in hex) Only 0ć3 supported. Choose based on the number of slots in your sysĆ tem. Slot A is socket 0. Default socket is 1.
-Vx Vpp State Sets the Vpp state to the socket, where x = 0 (vpp off)
1 (vpp on)
-Rx Ring Active Allows the network card to wake up the system from suspend, based on the value of x. If x = 0, the feature is disabled. If x = 1, the feature is enabled.
-Ox Slot power control x = 0 (inactive)
1 (active)
See page 2Ć30, for information about the values for this option.
-Px POD 2 power control x = 0 (inactive)
1 (active)
-Nname device name Up to 8 characters. Default name is MODEM.
-Mx Manufacturer ID x = 0 (WAN card is Ericsson Mobidem (default))
1 (WAN card is IBM)
-Hx Hook APM 2F Chain x = 0 (Use APM callback for event processing (default))
1 (Use INT 2Fh broadcast for APM event processing)
2. DOS Applications
By default, NGENWAN.SYS by installs the PC Card network card as COM3 at base address 3E8h. It expects the modem to be in socket 1 (slot B) and assigns IRQ5 as the system interrupt for COM3. It also utilizes IRQ14 to detect card change events. The driver name is MODEM."
Configuration Information
All applications that use UMP.SYS must exclude C800 and CC00 segments. These are used by the NGENWAN for PC Card access.
NGENWAN.SYS requires NORAPM.EXE V3.00 or higher. Otherwise, the device driver cannot operate correctly.
The following configuration information is important for proper operation of NGENWAN.SYS in PL/N and DOS environments.
PL/N applications require 4000API.EXE and NORAPM.EXE for proper operation of NGENWAN.SYS. NORAPM.EXE must be installed as a device driver in CONFIG.SYS prior to the installation of NGENWAN.SYS; 4000API.EXE must
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 2-29
Page 86
SECTION 2Supporting DOS Applications
be installed as a TSR after NGENWAN.SYS. 4000API.EXE must have the /C3 switch set, which tells 4000API.EXE to treat COM3 calls as COM3 instead of COM1 with no modem control signals.
DOS applications require only NORAPM.EXE for proper operation of NGENWAN.SYS. NORAPM.EXE must be installed as a device driver in CONFIG.SYS prior to the installation of NGENWAN.SYS. DOS applications that need to use 4000API.EXE with NGENWAN.SYS must install 4000API as a TSR after NGENWAN.SYS is installed. 4000API.EXE must have the /C3 switch set, which tells 4000API.EXE to treat COM3 calls as COM3 instead of COM1 with no modem control signals.
Qualifying Wireless WAN Cards
Several PC Card Wireless WAN cards have been tested with NGENWAN and are known to contain a valid CIS that allows NGENWAN to properly enable/disable the Wireless WAN PC card. The IBM ARDIS, IBM CDPD, and ERICSSON MOBIDEM cards do qualify.
This information is constantly changing as new cards become available. For information on the latest qualifying PC Card Wireless WAN cards, call the Customer Support Center at 800Ć755Ć5505 (U.S.A. or Canada) or 425Ć356Ć1799.
"
2. DOS Applications
"
NOTE: See page 2-24 for application interfaces and device behavior information. Be sure to make
modem to wireless WAN card changes where necessary.
While the wireless WAN card driver is opened, it is possible to SUSPEND the system. The behavior of the network card during suspend is based on the device driver's -O option.
" If the -O option is set active, the driver removes all power (Vcc, Vpp and
POD2) during suspend. It is the responsibility of the application or middleware to open the driver and reinitialize the COM port settings after power is restored. If the -O option is set active, the -R option has no effect.
" If the -O option is set inactive, all power (specified by -V and -P options)
remains on during suspend. If the -R option is also set active, the STSCHG PC Card pin causes the HHC to resume and the driver is not reset or does not reinitialize the radio on resume. If the -R option is inactive, then the radio cannot resume the HHC, but can still receive and buffer messages.
The wireless WAN card driver configuration is specified on the device driver command line. The socket, COM port, driver name and system IRQ are global system resources. No other PC Card can use these system resources.
NOTE: The driver owns the slot and only a wireless WAN card device can exist in the socket.
See page 2Ć25 for supported DOS driver IOCTL_IN functions. Be sure to make modem" to wireless WAN card" changes where necessary.
Interrupts Supported by NGENWAN.SYS
The 4000 Series interrupts supported by NGENWAN.SYS are identified by the symbolic notation,
The INT 14h function, Turn Wireless WAN Card Power Off/On, is intercepted and processed entirely by the driver when DX + 1 equals the COM port specified on the driver command line.
"
NOTE: See page 2-28 for INT 14h and INT 15h information.
R
2-30 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
NGENWAN.
Page 87
Section 3
Supporting Windows Applications
""""""""""""""""""""
This section contains information about Windows Applications for the Windows version of the PEN*KEY
R
6300 HandĆHeld Computer. Included is a description of the minimal installation required for a Windows configuration, the components required for this Windows installation, and a discussion of the NORAND
Topic Page
Minimal Windows Installation . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć2
Standard SRAM Installation . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć2
Custom SanDisk or PC Card Installation . . . . . . . . . . . . . . 3Ć2
Other Custom Installations . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć3
Windows Operation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć3
Normal Startup (Standard Mode) . . . . . . . . . . . . . . . . . . . . . 3Ć3
DOSX.EXE Startup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć4
Windows Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć4
Windows Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć7
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć7
NORSHELL WIN.INI Example . . . . . . . . . . . . . . . . . . . . . . 3Ć7
Shutting Down Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć8
Windows Power Management Driver . . . . . . . . . . . . . . . . . . . 3Ć8
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć8
User Messages and Alerts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć11
Windows Background Power Management . . . . . . . . . . . . 3Ć13
APM Event Broadcasts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć15
Power Management Programming Interface . . . . . . . . . . . 3Ć17
6300 Windows Pen Driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć20
Pen Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć20
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć20
Pen Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć24
6300 Integrated Scanner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć25
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć25
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć27
Installing Multimedia Extensions . . . . . . . . . . . . . . . . . . . . . . 3Ć28
NPCP Printing for Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć29
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć29
Usage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć30
R
Windows Shell, and a few Windows applications.
Topic Summary
Applications
3. Windows
PEN*KEYR 6200/6300 Hand-Held Computer Programmers Reference Guide 3-1
Page 88
Topic Summary
Topic Page
Windows Error Codes/Messages . . . . . . . . . . . . . . . . . . . . . . 3Ć35
IrDA Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć36
Installation and Configuration . . . . . . . . . . . . . . . . . . . . . . . 3Ć36
Error Codes and Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Ć41
Minimal Windows Installation
The following paragraphs describe the Windows 3.1 installation and configuration for the 6300 Computer.
General information relating to the installing and configuring of Windows 3.1 is available from vendors, such as Microsoft Corporation.
SECTION 3Supporting Windows Applications
Applications
3. Windows
Standard SRAM Installation
The standard installation uses SRAM. The following descriptions relate only to this type of installation.
You can install Windows on a 6300 Computer by copying the Windows disk to a memory card or by copying the files to the RAM drive on the 6300 Computer. You can then start Windows by running the WIN.COM program. Table 3Ć1 in the Windows Components paragraph, page 3Ć4, describes the files provided by Intermec Technologies Corporation.
To illustrate a complete boot sequence from DOS into Windows, the Windows configuration also includes DOS startup files such as COMMAND.COM, AUTOEXEC.BAT, and CONFIG.SYS.
The Windows 3.1 package is shipped with a default configuration appropriate for the 6300 Computer and should require no further configuration to run. Configurations for drivers provided are described in Sections 2 and 3.
Custom SanDisk or PC Card Installation
If you are running Windows from a SanDisk or PC Card hard drive or other ATA device, take note of the following differences.
1. The CONFIG.SYS file on the card is not processed because these types of cards are not recognized until the CONFIG.SYS file is processed. Thus, the boot drive is actually the flash drive, drive D:\. The default AUTOEXEC.BAT file on drive D:\ tries to execute the AUTOEXEC.BAT on a card in drive B:\ (slot 0 Ċ farthest from the display). Note that the drive letter for the device is drive E:\ or F:\, pending on which slot the card is in.
2. Change all references to drive A:\, in the AUTOEXEC.BAT file, so they reference drive E:\.
3. Remove the WINFILE.INI file in the sample configuration. This file makes reference to the A:\ drive when one does not exist. A default WINFILE.INI file is created when Windows starts up.
R
3-2 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 89
SECTION 3 Supporting Windows Applications
4. If the CONFIG.SYS from the D:\ drive is inadequate, you may create a small RAM drive. Copy over your boot files, and reset the device. This can be done automatically by modifying the AUTOEXEC.BAT on the root directory of your card. Put the desired CONFIG.SYS and AUTOEXEC.BAT files in a subdirectory of the card, DRIVEC for example. Determine the proper CONFIG.SYS and AUTOEXEC.BAT by consulting the sample boot files in the toolkit. Locate the utility program, RESET.EXE and put it in the root directory of the card. Then use the following AUTOEXEC.BAT (do not include comments in parenthesis):
D:\RAMDFMT –s300 (This creates a ramdrive (drive C:) to size of 300 KB) D:\MMBFLAG 2 (Ramdrive (drive C:) becomes the boot drive) COPY E:\DRIVEC\*.* C:\ (Your boot files are copied to the ramdrive) E:\RESET (Automatically resets the device)
The RAM drive is persistent, it survives resets. So the only time the RAM drive creation process takes place is if you lose main and backup batteries.
Other Custom Installations
If you have another type of custom installation, not mentioned here, call the Customer Support Center at 800Ć755Ć5505 (U.S.A. or Canada) or 425Ć356Ć1799.
Windows Operation Modes
The Windows 3.1 minimal configuration is shipped with all the files necessary for operating Windows in Standard and Enhanced modes. Where possible, you should run Windows in Standard mode. Standard mode can be configured into a much smaller footprint and can provide better performance. You can start Standard mode by using the /s" option when running WIN.COM. For more information on files that can be removed from the configuration if Enhanced mode is not required, see the Windows Components topic, on page 3Ć4.
Normal Startup (Standard Mode)
The Windows startup sequence follows:
1. MSĆDOS boots and processes CONFIG.SYS and AUTOEXEC.BAT.
2. AUTOEXEC.BAT runs WIN.COM.
3. WIN.COM displays the Windows 3.1 logo and launches DOSX.EXE (standardĆmode DPMI server).
4. DOSX.EXE loads WSWAP.EXE and launches KRNL386.EXE (Windows kernel for 32Ćbit processors).
5. KRNL386.EXE initializes GDI.EXE, USER.EXE (system drivers Ċ mouse, keyboard, etc.), and the installable drivers. During and after this step, the SYSTEM.INI file is referenced to locate drivers and driver configuration settings.
6. KRNL386.EXE now loads the Windows shell program. In this case, NORSHELL.EXE is loaded.
7. After referring to the WIN.INI initialization file, NORSHELL.EXE immediately launches the user application, which, in this case, is the Windows 3.1 File Manager. Windows startup is now complete and you are left in the File Manager.
Applications
3. Windows
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-3
Page 90
SECTION 3Supporting Windows Applications
DOSX.EXE Startup
As mentioned earlier, you can start Windows 3.1 StandardĆMode simply by running WIN.COM. An alternative method is to run DOSX.EXE directly. If you run DOSX.EXE directly, the WIN.COM and WSWAP.EXE files can be left out of the system to save space. This configuration does not support execution of DOS programs. For a more detailed discussion of Windows startup, see chapter 1 of the book Windows Internals, by Matt Pietrek.
Windows Components
The components included for the 6300 Computer systems equipped with Windows 3.1 are listed below.
Each of the files in these tables are marked Optional" or Required." Any of the Optional" components may be deleted from the configuration if you decide that you can get along without them. This helps to conserve space on the system.
Table 3Ć1
Windows Startup and Shell Programs
Component Description
CONFIG.SYS Minimal DOS configuration. Sets SHELL to D:COMMAND.COM and
AUTOEXEC.BAT Minimal DOS startup. Sets path, runs H8 download, APM BIOS, then
20.BAT Runs WIN.COM with /S switch to force Windows into Standard Mode.
21.BAT Runs WIN.COM with /3 switch to force Windows into Enhanced Mode. Optional
22.BAT Runs WIN.COM with no switches so that Windows can pick the run mode
911.BAT Minimal Windows command menu. Required WIN.COM Our version of WIN.COM (DOS program that launches Windows) with roĆ
Applications
3. Windows
WINTITLE.RLE Default desktop wallpaper (Windows 3.1 logo). Optional NORSHELL.EXE NORAND shell program, replaces Program Manager Optional WINFILE.EXE Windows File Manager shell. WINFILE.EXE is launched by
Component Description
SYSTEM.INI Initialization file for Windows system and drivers. A
WIN.INI Initialization file for Windows applications. Required WINFILE.INI Initialization file for WINFILE.EXE. Optional SYSTEM\DOSX.EXE DPMI server. Required SYSTEM\WSWAP.EXE Swaps out StandardĆMode Windows when DOS applications are
SYSTEM\KRNL386.EXE Windows 3.1 kernel for 32Ćbit systems Required SYSTEM\GDI.EXE Windows 3.1 Graphical Device Interface code. Required SYSTEM\USER.EXE Windows 3.1 user interface. Required
Required
loads D:HIMEM.SYS.
Required
911.BAT.
Optional
according to available resources.
Optional
tated logo.
Optional
NORSHELL.EXE.
Table 3Ć2
Initialization Files
Required
[BOOT.DESCRIPTION] section may contain version strings for some drivers and applications developed by Intermec Technologies.
Optional
run. Optional, if DOS applications are not run during Windows session
R
3-4 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 91
SECTION 3 Supporting Windows Applications
The Table 3Ć3 files are required only in the Enhanced mode.
Table 3Ć3
Windows Enhanced Mode Files
Component Description
SYSTEM\WIN386.EXE Virtual machine manager and default virtual device drivers. Required SYSTEM\VTDAPI.386 Virtual Timer Device API. Needed for Enhanced Mode multimedia. Required SYSTEM\VPWRD.386 Virtual Power Device. Needed for Enhanced Mode Power ManageĆ
ment.
Table 3Ć4
Windows System Device Drivers
Component Description
SYSTEM\COMM.DRV Windows 3.1 serial port driver. Required SYSTEM\KEYBOARD.DRV Windows 3.1 keyboard driver. Required SYSTEM\SYSTEM.DRV Windows 3.1 system driver. Required SYSTEM\YESMOUSE.DRV Windows 3.1 mouse driver that reports that a mouse is
available. NORPEN.DLL generates the actual mouse and pen
events. SYSTEM\PKROTATE.DRV PEN*KEY portrait VGA video driver. Required SYSTEM\MMSOUND.DRV Windows 3.1 sound driver. Required SYSTEM\SPEAKER.DRV Windows 3.1 PC speaker multimedia driver. Optional SYSTEM\NOR4800.DRV Windows 3.1 printer driver to support printing to NORAND
4800 Series Printers. SYSTEM\NOR6805.DRV Windows 3.1 printer driver to support IrDA printing. Optional
SYSTEM\UNIDRV.DLL Windows 3.1 universal printer driver; used by NOR4800.DRV
and NOR6905.DRV. Required only if NOR4800.DRV or
NOR6805.DRV is used for printing.
Required
Required
Optional
Required
Table 3Ć5
Windows Installable Device Drivers
Component Description
SYSTEM\NORAPM.DLL PEN*KEY Advanced Power Management (APM) driver for
Required Windows. Provides interface to power management and system control hardware. APM BIOS must be loaded (currently, this is NORAPM.EXE).
SYSTEM\NORPEN.DLL PEN*KEY pen driver. Provides mouse input for Windows 3.1 and
Required pen input for Windows for Pen Computing 3.1, if used.
SYSTEM\NORSCAN.DRV PEN*KEY scanner driver, provides bar code scanning support
Optional under Windows 3.1.
SYSTEM\NORNPCP.DRV Provides NPCP printing support under Windows 3.1. Optional SYSTEM\NORIRDA.DRV Windows 3.1 driver to support IrDA printing. Required only if
Optional IrDA printing is used.
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-5
Applications
3. Windows
Page 92
SECTION 3Supporting Windows Applications
Table 3Ć6
VGA Device Fonts
Component Description
SYSTEM\VGAFIX.FON FixedĆpitch device font. Required SYSTEM\VGAOEM.FON OEM device font. Required SYSTEM\VGASYS.FON Proportional device font. Required
Table 3Ć7
Popular System DLLs
Component Description
SYSTEM\COMMDLG.DLL Provides common dialogs, such as file open, file save, printing. Optional SYSTEM\LZEXPAND.DLL Functions for file expansion and copying. Optional SYSTEM\SHELL.DLL Basic services common to Windows 3.1 shell programs, such as
Optional
File Manager. SYSTEM\VER.DLL Windows versioning API. Optional SYSTEM\WIN87EM.DLL FloatingĆpoint emulator. Optional SYSTEM\MMSYSTEM.DLL Multimedia extensions. Optional SYSTEM\OLECLI.DLL Object Linking and Embedding client. Optional SYSTEM\OLESVR.DLL Object Linking and Embedding server. Optional SYSTEM\DDEML.DLL Dynamic Data Exchange. Optional SYSTEM\TOOLHELP.DLL Debugging services. Optional
Component Description
TADA.WAV Sample multimedia sounds. Optional CHIMES.WAV Sample multimedia sounds. Optional
Applications
3. Windows
Component Description
PENALIGN.EXE Pen calibration application (Windows) Optional
Table 3Ć8
Sound Files
Table 3Ć9
Utilities
R
3-6 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 93
SECTION 3 Supporting Windows Applications
Windows Shell
NORSHELL.EXE, the Windows shell replacement, provides system management functions specific to NORAND handĆheld computers. NORSHELL.EXE, which must be loaded in all Windows configurations, provides a method for launching multiple applications when Windows startsĆfunctionality similar to that provided by the standard Windows shells (Program Manager and File Manager).
Installation and Configuration
To install NORSHELL.EXE as the Windows shell program, edit the shell=" line in SYSTEM.INI to 
SYSTEM.INI: shell=norshell.exe
To configure NORSHELL.EXE, make the following entries in the [WINDOWS]" section of the WIN.INI Windows initialization file:
" NorShellRun
Add the NorShellRun=<application command line>" line to WIN.INI to launch an application. Specify command line switches if required.
" NorShellRunDir
If you need to specify a startup drive and directory for an application, add the NorShellRunDir=<drive:directory>" line to WIN.INI. NORSHELL changes the default drive and directory, as needed.
" NorShellLaunch
Note that NORSHELL does not interpret the run=" and load=" lines in WIN.INI to avoid conflicts with other Windows shell programs. For example, you might want to use the Windows File Manager as your application and have it process the WIN.INI run=" and load=" lines.
If you do need to launch several utilities or applications before starting a particular application, add a NorShellLaunch=<program list>" line to WIN.INI. This line is formatted identically with the run= line used by the standard Windows shell programs. The programs are run in the order they appear and are displayed with the SW_SHOWMINIMIZED setting. (See the Windows 3.1 documentation for the ShowWindow function.)
shell=norshell.exe", as shown in the following example:
Applications
3. Windows
NORSHELL WIN.INI Example
All examples in this section assume the SYSTEM.INI entry documented in the preceding paragraphs. The WIN.INI example shows running an application, MYAPP.EXE," after changing to drive C" and directory \app." The Windows clock and calculator programs are executed before running the application.
WIN.INI:
[WINDOWS] NorShellRun=MYAPP.EXE /aswitch /anotherswitch NorShellRunDir=c:\app NorShellLaunch=clock.exe calc.exe
This example launches the Windows File Manager shell application, which launches the clock and calculator in turn.
WIN.INI:
[WINDOWS] NorShellRun=WINFILE.EXE run=clock.exe calc.exe
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-7
Page 94
Shutting Down Windows
Windows shuts down automatically when the shell program exits. However, because NORSHELL does not exit, it shuts Windows down when it detects that the application from the
NorShellRun line no longer exists. An application may
shut down Windows on its own by calling the Windows 3.1 ExitWindows function. This is the preferred method.
Windows Power Management Driver
The NORAPM.DLL driver provides a Windows interface to the APM BIOS extensions. The driver's functions include the following:
" Idling the CPU when Windows has nothing to do. " TimingĆout the backlight and suspending the computer after periods of user
inactivity.
" Warning the user about critical power management events, such as low
batteries, unless an application wants to take over that responsibility.
" Broadcasting APM event codes to Windows applications and drivers and
DOS TSRs.
" Providing a Windows API for APM functions, such as setting and getting
the power state of system components.
The NORAPM.DLL version number is logged into the NORAPM.DLL= entry in the [boot.description] area of the SYSTEM.INI file each time Windows is started.
SECTION 3Supporting Windows Applications
Applications
3. Windows
Installation and Configuration
NORAPM.DLL is a Windows 3.1 installable driver. The APM 1.1 BIOS extensions are required to be installed before Windows is started. The APM BIOS (that NORAPM needs) may come from the builtĆin system BIOS or from a separate DOS TSR, NORAPM.EXE, which must be run before Windows is started. To install NORAPM.DLL:
Place a keyword (e.g., power) on the drivers=" line, and add a line to the [drivers]" section of SYSTEM.INI, equating that keyword with the actual path to the power management driver. However, if this path is included in the DOS path, then use the name of the power management driver, NORAPM.DLL. Also, the power management keyword should be first on the drivers=" line.
The following is an example of a section of the SYSTEM.INI file, showing a typical installation.
[boot] drivers= power pen penwindows scanner npcp irda
[drivers] power=norapm.dll pen=norpen.dll
drivers= Tells Windows to load the installable drivers. This list of drivers is the standard set (and organized in the exact order shown in the example above). The significant drivers here, are power and pen. These are token names for the drivers. The actual driver names are defined in the SYSTEM.INI file (e.g., power=, pen=, etc.).
power= Tells Windows the actual name of the installable Power Management driver named in the [boot] section of the SYSTEM.INI file (listed above).
[drivers] section of the
R
3-8 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 95
SECTION 3 Supporting Windows Applications
pen= Tells Windows the actual name of the installable Pen driver named in the [boot] section of the SYSTEM.INI file (listed above).
"
NOTE: Do not load the DOS Power Management driver, NPOWER.EXE, if the 6300 Computer is
running Windows.
NORAPM.DLL supports the SYSTEM.INI entries described in the following paragraphs. Place the entries in a SYSTEM.INI section entitled 
Driver]". Note that case is not important.
ApmSuspendDialog
[Power
Valid values: 0, 1 Default value: 1
When you press the suspend/resume switch (I/O switch), NORAPM.DLL polls all the drivers and programs in the system with a USERSUSPEND message to determine whether it is OK to suspend. This configuration entry determines whether or not NORAPM.DLL displays a dialog if an application or driver refuses to suspend. If this entry is not present, the default setting is 1.
0 Do not display any dialogs if the user suspend request fails. It is assumed that the
system component that fails the request either notifies the user on its own or susĆ pend the system itself after finishing whatever critical activity it was involved in. It is very impolite to ignore the switch press and not give the user some feedback.
1 NORAPM.DLL notifies the user that the suspend request failed by displaying a
message in a dialog box. Execution continues after the user presses an OK button.
ApmEventDialogs
Valid values: 0, 1, 2, 8, 10, 15 Default value: 1
This configuration entry indicates the APM events that causes NORAPM.DLL to display a dialog. If this entry is not present, the default setting is 1. Note that each dialog level includes all the messages from the levels below it.
0 Display critical errors only. This setting is appropriate when an application
wants to control the timing and presentation of power management event notification. The application catches the WM_POWER" messages broadcast by NORAPM.DLL and deal with them accordingly. Errors are still displayed by NORAPM.DLL.
1 Display dialogs only for APM warnings, such as battery status. (See
MsgRepeatMinutes) This is the driver default.
2 Display dialogs for warnings and informational messages that appear frequently,
such as suspend/resume, etc. This is a debugĆmode switch.
8 A debug setting that displays frequent nonrepeating messages.
10 A debug setting that displays frequent repeating messages. This setting causes
messages to appear at a steady interval.
15 A debug setting that causes the system to beep when it detects system activity or
charge. This can determine whether the power management software is detecting activity correctly in order to hold off power management timeouts.
Applications
3. Windows
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-9
Page 96
SECTION 3Supporting Windows Applications
MsgRepeatMinutes
Valid values: 0 to 65535 Default value: 1
When ApmEventDialogs=1 , warning dialogs are displayed. The MsgRepeatMinutes entry indicates the interval at which the warnings should be repeated, if the warning condition remains. The default value is one minute when this switch is not present. A value of zero causes the messages to display every time the warning condition is checked.
SuspendSeconds
Valid values: 0 to 65535 Default value: 60
Sets the suspend timeout length by indicating the number of seconds that must pass with no user or system activity before the system automatically suspends. A value of zero disables suspend timeouts.
Applications
3. Windows
BacklightSeconds
Valid values: 0 to 65535 Default value: 30
Sets the display backlight timeout length by indicating the number of seconds that must pass with no user (pen or keyboard) activity before the backlight is turned off. A value of zero disables backlight timeouts.
ApmAcDebouceMs
Valid values: 0 to 65535 Default value: 1000
This entry sets the debounce period for power change broadcasts, which typically occur when the unit is inserted into or removed from the dock. The debounce period starts after a power change is seen and ends when no further power changes are seen for the debounce period. This should not need adjusting.
ApmDosOemEvents
Valid values: 0, 1 Default value: 1
This entry disables the broadcast of APM events (defined by us) to DOS drivers and TSRs. Windows drivers and applications are not affected. This disabling is done to sidestep broken behavior in some DOS TSRs and drivers that monitor power management event broadcasts, specifically the current PC Card management software from SystemSoft.
DOS drivers examine only the lower eight bits of the event ID. OEMĆdefined events are 16 bits, so the broken DOS drivers misidentify the events. This entry defaults to 1 if not present, but sets it to 0 if using the SystemSoft PC Card drivers. Also, if the
ApmFixSystemSoft entry is set to 1, this entry is forced to 0.
R
3-10 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 97
SECTION 3 Supporting Windows Applications
ApmFixSystemSoft
Valid values: 0, 1 Default value: 0
This entry enables the workarounds required by the current SystemSoft PC Card software. This switch makes the following changes to standard APM 1.1 behavior:
SUSPEND event notifications to DOS convert to USER_SUSPEND events. Windows drivers and applications are not affected.
This entry defaults to 0 if not present but set it to 1 if you are using the SystemSoft PC Card drivers. This procedure is applicable until further revisions of the SystemSoft drivers are made available.
ApmDebugOutput
Valid values: 0, 1 Default value: 0
Setting this entry to 1 causes NORAPM.DLL to output debug messages to the Windows debug port. Uses the OutputDebugString() function. You can view output by hooking up a serial debug terminal or by running the DBWIN.EXE utility shipped with the Windows 3.1 SDK. See the SDK documentation of the Windows 3.1 kernel debugger for details (chapter 5 of SDK Programming Tools manual). Debug output is not intended for use on production systems.
EXAMPLE: The following lines are an example of SYSTEM.INI:
[Power Driver] ApmEventDialogs=1 ; Display warnings only (typical) MsgRepeatMinutes=15 ; Repeat war nings ever y 15 minutes BacklightSeconds=15 ; Timeout backlight after 15 seconds of inactivity =30 ; Suspend sy st em after 30 sec onds of inactivity
User Messages and Alerts
" Installation error " Battery Status and Failure " APM Events
" Audible Alerts
Message Window
All user messages appear in a fullĆscreen window and are accompanied by an audio alert, usually a simple beep. The message window contains one button labeled Continue. Pressing this button (or pressing the space bar) causes the message window to close or to display the next waiting message. The message window is an alwaysĆonĆtop window. Periodically it repositions itself at the top of the window stack. If you need to see the underlying windows while a message is displayed, move the message window temporarily by dragging the title bar.
Applications
3. Windows
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-11
Page 98
SECTION 3Supporting Windows Applications
Errors During Installation
The following messages may be displayed in a dialog box if errors occur while NORAPM.DLL is initializing:
" APM BIOS not found! " Could not connect to APM BIOS! " Could not disable APM BIOS! " Could not allocate a timer for polling APM BIOS! " Could not enable power management of serial ports! " Could not load multimedia extensions! " Could not install system activity monitor!
Battery Status
The following messages are displayed in a dialog box when the warning condition occurs. These messages are not displayed again until the interval set by the MsgRepeatMinutes entry in SYSTEM.INI (page 3Ć10) is reached and the condition persists.
" Main battery is low! " Only <0 . . 60> minutes of battery life remaining! " Only <0 . . 60> seconds of battery life remaining! " Power failure! " Dead or missing backup battery!
Applications
3. Windows
Suspend Errors
These messages appear in a dialog when you press the suspend/resume switch and the system cannot suspend, because external charge is present or because a Windows application, driver, or DOS TSR refused the suspend request.
" System does not suspend while charge is applied " An application or driver is refusing to suspend
Event Messages
The following messages appear in a dialog box whenever the ApmEventDialogs entry in SYSTEM.INI (page 3Ć11) is set to 2" or above. These messages are intended for power management debugging. See the Standard APM Event Codes paragraph, on page 3Ć16, for APM event code descriptions.
" APM Event <Hex APM Event ID> " APM OEM Event <Hex OEM Event ID> " Time updated from <code> D/M/Y H:M:Sć>D/M/Y H:M:S " Backlight Timeout " Suspend Timeout
R
3-12 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Page 99
SECTION 3 Supporting Windows Applications
Audible Alerts
NORAPM.DLL can alert you to various system events either by issuing beeps or by playing Windows 3.1 WAV" audio files through the system speaker. If WAV files are to be played, you must Install the Windows 3.1 multimedia extensions. See Installing Windows Multimedia Extensions, page 3Ć28.
NORAPM.DLL can issue an audible alert whenever it detects a change in the ac online status. For example, this kind of status change occurs when the HHC is inserted into or removed from the dock or when a wall charger is connected or disconnected. NORAPM debounces the status change for approximately two seconds before issuing the alert. Note that some systems delay notification of power changes for up to ten seconds. Alerts could therefore take up to about 12 seconds to sound on these systems.
If you want to attach multimedia audio alerts (WAV files) to ac status changes, insert the following entries into the configuration file.
ApmAcOn and ApmAcOff
[Sounds] section of the WIN.INI
Valid values: WAV filename path Default values: None
These entries identify the WAV files that play when ac online status changes occur. If an entry is blank or missing, the default system beep is substituted. If WAV files are to play, Windows 3.1 multimedia extensions must be installed.
Windows Background Power Management
As the APM operating system driver, NORAPM.DLL cooperates with the APM BIOS to save as much power as possible without application or driver intervention. This arrangement lets you build a system with reasonable power consumption without having to create powerĆaware drivers and applications. You can often achieve even better power management by cooperating with applications and drivers. See Power Management Programming Interface for Windows, on page 3Ć17, for details.
Windows Power States
Four power states are currently implemented in Windows by NORAPM.DLL. Each state may see the system as a whole or to individual devices, such as a LAN interface or a serial port. However, unless otherwise specified, the terms for these states see the entire system.
" On
System or peripheral device is running at full speed.
" Idle
System or device is placed in a lowĆpower state from which it returns when activity occurs. For example, the CPU is idled between hardware interrupts.
" Off
System or device is powered completely off. It loses all volatile state information and does not respond to any external events until power is reapplied. This state is not typically supported for the system itself in NORAND products, because the Suspend state draws so little power. Some peripheral devices, however, may support this state.
Applications
3. Windows
PEN*KEY
R
6200/6300 Hand-Held Computer Programmers Reference Guide 3-13
Page 100
SECTION 3Supporting Windows Applications
" Suspended
System or device is placed in a lowĆ or noĆpower state from which it cannot resume without special system or user intervention (button press, etc.). All volatile state information is maintained; most external events are not detected. Also, events detected during suspend typically resume the system; they may not be processed. For example, a suspended system may be configured to resume when an RI is seen on a PC Card modem. However, the first ring might just wake the system up and might not be detected by the communications software. The second ring would probably be seen by the software because time had elapsed for the system to resume and continue processing.
CPU Power Management
NORAPM.DLL monitors the Windows task scheduler to detect the CPU idle state. When the idle state is detected, the CPU and other components are placed into a lowĆpower state until the next hardware interrupt occurs. The system then returns to full speed to process the interrupt and any Windows events created by the interrupt.
When an application is idle, 95 percent of the CPU current can usually be saved. This saving is in addition to the power savings from other system components that are idled or that consume less power because they are not being gated by the CPU. See Power Management Programming Interface for Windows, page 3Ć17, for suggestions on maximizing power savings in an application or driver.
Applications
3. Windows
System Power Management
NORAPM.DLL attempts to save power by monitoring user and system activity.
User Activity
User activity consists of direct input from the user, such as keyboard or digitizer input. The presence of user activity implies that user interface devices such as the digitizer, keyboard, display, and backlight should remain active. (See the
BacklightSeconds entry on page 3Ć10.)
System Activity
System activity consists of user activity plus activity generated by ongoing processing or communications. Examples of system activity, aside from user input, are serial communications and direct calls made to the NORAPM
SystemActivity() function by busy applications. The presence of system
activity implies that the system is actively processing and may not be suspended, although the user interface devices may be turned off if no user activity is detected. (See the
NORAPM.DLL monitors the following types of activity. Monitoring is subject to the configuration settings described in the preceding paragraphs.
Window Messages:
WM_COMMNOTIFY (system) WM_MOUSEMOVE (user) WM_RCRESULT (user) WM_KEYDOWN (user)
SuspendSeconds entry on page 3Ć10.)
R
3-14 PEN*KEY
6200/6300 Hand-Held Computer Programmers Reference Guide
Loading...