summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/i386/ts_386ex/tools/dos_sup/ts1325.inc
blob: 40ed3659ab20f0100eff28f35ee471b566c3bd2c (plain) (blame)
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
; Some nasm macros to turn on TS-1325 LEDs and wait for button presses.
; This should be '%include'ed in your nasm source file.
;
; Tony Ambardar

P1LTC  equ  0F862h
P1PIN  equ  0F860h

%macro	LED_OFF		0
	mov	dx, P1LTC
	in	al, dx
	or	al, 01000000b		; turn off red
	and	al, 11011111b		; turn off green
	out	dx, al
%endmacro

%macro	LED_GRN		0
	mov	dx, P1LTC
	in	al, dx
	or	al, 01100000b		; turn off red, turn on green
	out	dx, al
%endmacro

%macro	LED_YEL		0
	mov	dx, P1LTC
	in	al, dx
	or	al, 00100000b		; turn on green
	and	al, 10111111b		; turn on red
	out	dx, al
%endmacro

%macro	LED_RED		0
	mov	dx, P1LTC
	in	al, dx
	and	al, 10011111b		; turn on red, turn off green
	out	dx, al
%endmacro

%macro	PSW_WAIT	0
	mov	dx, P1PIN		; Get PSW state
	mov	ecx, 80000h
%%read	in	al, dx
	test	al, 00000001b		; is PSW asserted?
	jnz	%%read			; if not, we're done
	dec	ecx
	jnz	%%read
%endmacro