Main Page
Related Pages
Modules
Classes
Files
File List
File Members
dbutton.h
Go to the documentation of this file.
1
9
/*
10
* The contents of this file are subject to the Mozilla Public License
11
* Version 1.0 (the "License"); you may not use this file except in
12
* compliance with the License. You may obtain a copy of the License
13
* at http://www.mozilla.org/MPL/
14
*
15
* Software distributed under the License is distributed on an "AS IS"
16
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
17
* the License for the specific language governing rights and
18
* limitations under the License.
19
*
20
* The Original Code is legOS code, released October 17, 1999.
21
*
22
* The Initial Developer of the Original Code is Markus L. Noga.
23
* Portions created by Markus L. Noga are Copyright (C) 1999
24
* Markus L. Noga. All Rights Reserved.
25
*
26
* Contributor(s): Markus L. Noga <markus@noga.de>
27
*/
28
29
#ifndef __dbutton_h__
30
#define __dbutton_h__
31
32
#ifdef __cplusplus
33
extern
"C"
{
34
#endif
35
37
//
38
// Definitions
39
//
41
42
#define BUTTON_ONOFF 0x0002
43
#define BUTTON_RUN 0x0004
44
#define BUTTON_VIEW 0x4000
45
#define BUTTON_PROGRAM 0x8000
46
47
// buttons are active low
48
//
49
51
//
52
#define RELEASED(state,button) ((state) & (button))
53
55
//
56
#define PRESSED(state,button) (!RELEASED(state,button))
57
59
//
60
// Functions
61
//
63
65
67
extern
inline
int
dbutton
(
void
)
68
{
69
int
rv;
70
__asm__
__volatile__(
"\n\
71
mov.b @_PORT4,%0l\n\
72
mov.b @_PORT7,%0h\n\
73
"
:
"=r"
(rv)
// output
74
:
// input
75
:
"cc"
// clobbered
76
);
77
78
return
rv;
79
}
80
81
#ifdef __cplusplus
82
}
83
#endif
84
85
#endif // __dbutton_h__
__asm__
__asm__("\n\ .text\n\ .globl _atomic_inc\n\ _atomic_inc:\n\ stc ccr, r1h ; save flags\n\ orc #0x80, ccr ; disable all but NMI\n\ mov.b @r0, r1l\n\ inc r1l\n\ mov.b r1l, @r0\n\ ldc r1h, ccr ; restore flags\n\ rts\n\ ")
dbutton
int dbutton(void)
get button states
Definition:
dbutton.h:67
brickOS
is released under the
Mozilla Public License
.
Original code copyright 1998-2005 by the authors.
Generated on Sun Jun 29 2014 23:26:59 for brickOS Kernel Developer by
1.8.7