1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
/******************************************************************************
*
* Copyright (c) 1999 Palm Computing, Inc. or its subsidiaries.
* All rights reserved.
*
* File: HAL.h
*
* Description:
* General HAL Equates. This header file contains function prototypes for
* HAL routines, and is used by both Palm OS and the HAL module.
*
* History:
* 5/31/99 SCL Created by Steve Lemke
*
*****************************************************************************/
#ifndef PUBLIC_STUFF_STRIPPED
// DOLATER ¥¥¥ Turned this off, because HAL calls *are* portable, right Steve?
#endif // PUBLIC_STUFF_STRIPPED
// #ifdef NON_PORTABLE // So app's don't mistakenly include this
#ifndef __HAL_H__
#define __HAL_H__
#include <PalmOptErrorCheckLevel.h>
/**************************************************************************
* HAL routine selectors
***************************************************************************/
/*
#define halBootBase 0
typedef enum {
halBootHwrPreDebugInit = halBootBase, // 0
halBootHwrInit, // 1
halBootHwrModelSpecificInit, // 2
halBootHwrEnableDataWrites, // 3
halBootHwrDisableDataWrites, // 4
halBootHwrMemReadable, // 5
halBootHwrMemWritable, // 6
halBootHwrResetNMI, // 7
halBootHwrResetPWM, // 8
halBootKeyBootKeys, // 9
halBootHwrDisplayCursor, // 10
halBootDrvOpen, // 11
halBootDrvClose, // 12
halBootDrvControl, // 13
halBootDrvStatus, // 14
halBootDrvWriteChar, // 15
halBootDrvReadChar, // 16
halBootLastSelector
} halBootSelector;
*/
/************************************************************
* New HAL function prototypes
*************************************************************/
#if DISABLE_HAL_TRAPS
#define HAL_CALL(trapNum)
#else
#define HAL_CALL(trapNum) \
_HAL_API(_CALL)(_HAL_TABLE, trapNum)
#endif
// HwrInit is passed as a parameter to InitStage1 in RomBoot.c
typedef void (*HwrInitProcPtr)(void);
/**************************************************************************
* Prototypes of functions used only when running on the real hardware
***************************************************************************/
#ifdef REMOVE_FOR_EMULATOR
#ifdef __cplusplus
extern "C" {
#endif
// These routines are "private" prototypes for the HAL code...
void HwrPreRAMInit(void);
void HwrInit(void);
#ifdef __cplusplus
}
#endif
#endif
#endif //__HAL_H__
// #endif // NON_PORTABLE
|