]> 4ch.mooo.com Git - 16.git/blob - 16/x_/mxgc.asm
wwww
[16.git] / 16 / x_ / mxgc.asm
1 ;-----------------------------------------------------------\r
2 ;\r
3 ; MXGC.ASM - Get color function\r
4 ; Copyright (c) 1994 by Alessandro Scotti\r
5 ;\r
6 ;-----------------------------------------------------------\r
7 WARN    PRO\r
8 INCLUDE MODEX.DEF\r
9 \r
10 PUBLIC  mxGetColor\r
11 \r
12 MX_TEXT         SEGMENT USE16 PARA PUBLIC 'CODE'\r
13                 ASSUME cs:MX_TEXT, ds:NOTHING, es:NOTHING\r
14 \r
15 ;-----------------------------------------------------------\r
16 ;\r
17 ; Returns the current setting of the selected DAC register.\r
18 ;\r
19 ; Input:\r
20 ;       Index   = color index (0-255)\r
21 ;       R, G, B = byte pointers to red, green and blue\r
22 ; Output:\r
23 ;       none\r
24 ;\r
25 mxGetColor      PROC FAR\r
26         ARG     B:DWORD,        \\r
27                 G:DWORD,        \\r
28                 R:DWORD,        \\r
29                 Index:WORD      = ARG_SIZE\r
30         .enter  0\r
31         .push   ds, si\r
32 \r
33         mov     ax, [Index]\r
34         mov     dx, 3C7h                ; PEL read address register\r
35         out     dx, al\r
36         inc     dx\r
37         inc     dx\r
38 \r
39         lds     si, [R]\r
40         in      al, dx\r
41         mov     ds:[si], al\r
42         lds     si, [G]\r
43         in      al, dx\r
44         mov     ds:[si], al\r
45         lds     si, [B]\r
46         in      al, dx\r
47         mov     ds:[si], al\r
48 \r
49         .pop    ds, si\r
50         .leave  ARG_SIZE\r
51 mxGetColor      ENDP\r
52 \r
53 MX_TEXT         ENDS\r
54 END\r