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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
|
/* ****************************************************************************
* RevolutionFX's main header.
* ************************************************************************* */
#include <cdefs.h>
#include <fx/display.h>
#include <fx/keyboard.h>
#define AllClr_DD Bdisp_AllClr_DD
#define PutDisp_DD Bdisp_PutDisp_DD
#define SetPoint_DD Bdisp_SetPoint_DD
#define SetPoint_VRAM Bdisp_SetPoint_VRAM
__BEGIN_DECLS
/* VRAM */
#ifndef VRAM
# define VRAM ((unsigned char*)0x8800498D) /* FIXME */
#endif
/* ************************************************************************* */
/* Access the RTC */
/* ************************************************************************* */
/* The SuperH sees these values as BCD (binary coded decimals).
* For coding 2007 in decimal:
* thousands = 2, hundreds = 0, tens = 0, ones = 7 */
extern void RTCReset _OF((void)) __THROW;
extern void RTCStart _OF((void)) __THROW;
extern void RTCStop _OF((void)) __THROW;
extern void RTCSetYear _OF((unsigned char __thousands,
unsigned char __hundreds, unsigned char __tens, unsigned char __ones))
__THROW;
extern void RTCSetMonth _OF((unsigned char __tens, unsigned char __ones))
__THROW;
extern void RTCSetDayOfMonth _OF((unsigned char __tens, unsigned char __ones))
__THROW;
extern void RTCSetDayOfWeek _OF((unsigned char __ones)) __THROW;
extern void RTCSetHour _OF((unsigned char __tens, unsigned char __ones))
__THROW;
extern void RTCSetMinute _OF((unsigned char __tens, unsigned char __ones))
__THROW;
extern void RTCSetSecond _OF((unsigned char __tens, unsigned char __ones))
__THROW;
extern int RTCReadYear _OF((void)) __THROW;
extern int RTCReadMonth _OF((void)) __THROW;
extern int RTCReadDayOfMonth _OF((void)) __THROW;
extern int RTCReadDayOfWeek _OF((void)) __THROW;
extern int RTCReadHour _OF((void)) __THROW;
extern int RTCReadMinute _OF((void)) __THROW;
extern int RTCReadSecond _OF((void)) __THROW;
/* ************************************************************************* */
/* Access the ports */
/* ************************************************************************* */
/* Ports A~N (excluding I) and the SCP (Serial Communications Port). */
extern unsigned char ReadPort_A _OF((void)) __THROW;
extern unsigned char ReadPort_B _OF((void)) __THROW;
extern unsigned char ReadPort_C _OF((void)) __THROW;
extern unsigned char ReadPort_D _OF((void)) __THROW;
extern unsigned char ReadPort_E _OF((void)) __THROW;
extern unsigned char ReadPort_F _OF((void)) __THROW;
extern unsigned char ReadPort_G _OF((void)) __THROW;
extern unsigned char ReadPort_H _OF((void)) __THROW;
extern unsigned char ReadPort_J _OF((void)) __THROW;
extern unsigned char ReadPort_K _OF((void)) __THROW;
extern unsigned char ReadPort_L _OF((void)) __THROW;
extern unsigned char ReadPort_M _OF((void)) __THROW;
extern unsigned char ReadPort_N _OF((void)) __THROW;
extern unsigned char ReadPort_SCP _OF((void)) __THROW;
/* ************************************************************************* */
/* Change the CPU speed */
/* ************************************************************************* */
/* This is called overclocking.
* Before doing this, please check that your program really cannot be
* optimized enough to run correctly. */
extern void CPUSpeedNormal _OF((void)) __THROW;
extern void CPUSpeedDouble _OF((void)) __THROW;
extern void CPUSpeedTriple _OF((void)) __THROW;
extern void CPUSpeedQuadruple _OF((void)) __THROW;
/* ************************************************************************* */
/* Access and control the serial port */
/* ************************************************************************* */
/* Initialize, start, stop. */
extern void Init_SerialPort _OF((void)) __THROW;
extern void Start_SerialPort _OF((void)) __THROW;
extern void Stop_SerialPort _OF((void)) __THROW;
/* Transmit and receive data. */
extern void SerialTransmit _OF((unsigned char __value)) __THROW;
extern unsigned char SerialReceive _OF((void)) __THROW;
/* ************************************************************************* */
/* Miscallaneous hardware functions */
/* ************************************************************************* */
/* Reboot the calculator. */
extern void Reset_Calc _OF((void)) __THROW;
/* ************************************************************************* */
/* Graphic functions */
/* ************************************************************************* */
/* Constants. */
enum __REVOLUTION_COLOR {
__REVOLUTION_WHITE = 0,
__REVOLUTION_BLACK = 1,
__REVOLUTION_INVERT = 2
};
#ifdef WHITE
# undef WHITE
#endif
#define WHITE __REVOLUTION_WHITE
#ifdef BLACK
# undef BLACK
#endif
#define BLACK __REVOLUTION_BLACK
#ifdef INVERT
# undef INVERT
#endif
#define INVERT __REVOLUTION_INVERT
/* Gray engine related functions */
# if 0 /* gray engine is yet to be implemented */
extern void DrawAll _OF((unsigned long *__buffer)) __THROW;
extern void GrayInit _OF((int __countdown, int __countdown2)) __THROW;
extern void GrayLinkBuffers _OF((unsigned long *__buf0,
unsigned long *__buf1)) __THROW;
extern void GrayEnd _OF((void)) __THROW;
extern void CopyVRAM _OF((unsigned int *__buffer)) __THROW;
extern void Change_Contrast _OF((char __contrast)) __THROW;
# endif
/* And the functions. */
extern char GetPixel _OF((char __x, char __y, unsigned char *__buf)) __THROW;
extern void PlotPixel _OF((char __x, char __y, unsigned char *__buf,
char __drawtype)) __THROW;
extern void DrawLine _OF((char __x1, char __y1, char __x2, char __y2,
unsigned char *__buf, char __color)) __THROW;
extern void DrawSprite8 _OF((char __x, char __y, unsigned char *__buffer,
char *__bitmap, int __trans)) __THROW;
extern void DrawSprite8x16 _OF((char __x, char __y, unsigned char *__buffer,
char *__bitmap, int __trans)) __THROW;
extern void DrawSprite16 _OF((char __x, char __y, unsigned char *__buffer,
char *__bitmap, int __trans)) __THROW;
extern void DrawSprite32 _OF((char __x, char __y, unsigned char *__buffer,
char *__bitmap, int __trans)) __THROW;
# if 0 /* gray engine is yet to be implemented */
extern void DDrawSprite8 _OF((char __x, char __y,
unsigned char *__buf0, unsigned char *__buf1,
char *__bitmap0, char *__bitmap1, int __trans)) __THROW;
extern void DDrawSprite8x16 _OF((char __x, char __y,
unsigned char *__buf0, unsigned char *__buf1,
char *__bitmap0, char *__bitmap1, int __trans)) __THROW;
extern void DDrawSprite16 _OF((char __x, char __y,
unsigned char *__buf0, unsigned char *__buf1,
char *__bitmap0, char *__bitmap1, int __trans)) __THROW;
# endif
/* Other functions */
extern int string_input _OF((int __x, int __y, char __string[])) __THROW;
__END_DECLS
|