Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
54 pj 1
#include "libvga.h"
2
#include "io.h"
3
 
4
unsigned long __svgalib_vgammbase;
5
 
6
int __svgalib_mm_inmisc(void)
7
{
8
   return v_readb(__svgalib_vgammbase+MIS_R);
9
}
10
 
11
void __svgalib_mm_outmisc(int i)
12
{
13
   v_writeb(i, __svgalib_vgammbase+MIS_W);
14
}
15
 
16
int __svgalib_mm_incrtc(int i)
17
{
18
   v_writeb(i, __svgalib_vgammbase+__svgalib_CRT_I);
19
   return v_readb(__svgalib_vgammbase+__svgalib_CRT_D);
20
}
21
 
22
void __svgalib_mm_outcrtc(int i, int d)
23
{
24
   v_writeb(i, __svgalib_vgammbase+__svgalib_CRT_I);
25
   v_writeb(d, __svgalib_vgammbase+__svgalib_CRT_D);
26
}
27
 
28
int __svgalib_mm_inseq(int i)
29
{
30
   v_writeb(i, __svgalib_vgammbase+SEQ_I);
31
   return v_readb(__svgalib_vgammbase+SEQ_D);
32
}
33
 
34
void __svgalib_mm_outseq(int i, int val)
35
{
36
   v_writeb(i, __svgalib_vgammbase+SEQ_I);
37
   v_writeb(val, __svgalib_vgammbase+SEQ_D);
38
}
39
 
40
int __svgalib_mm_ingra(int index)
41
{
42
   v_writeb(index, __svgalib_vgammbase+GRA_I);
43
   return v_readb(__svgalib_vgammbase+GRA_D);
44
}
45
 
46
void __svgalib_mm_outgra(int index, int val)
47
{
48
   v_writeb(index, __svgalib_vgammbase+GRA_I);
49
   v_writeb(val, __svgalib_vgammbase+GRA_D);
50
}
51
 
52
int __svgalib_mm_inis1(void)
53
{
54
   return v_readb(__svgalib_vgammbase+__svgalib_IS1_R);
55
}
56
 
57
int __svgalib_mm_inatt(int index)
58
{
59
    __svgalib_mm_inis1();
60
    v_writeb(index, __svgalib_vgammbase+ATT_IW);
61
    return v_readb(__svgalib_vgammbase+ATT_R);
62
}
63
 
64
void __svgalib_mm_outatt(int index, int val)
65
{
66
    __svgalib_mm_inis1();
67
    v_writeb(index, __svgalib_vgammbase+ATT_IW);
68
    v_writeb(val, __svgalib_vgammbase+ATT_IW);
69
}
70
 
71
void __svgalib_mm_attscreen(int i)
72
{
73
    __svgalib_mm_inis1();
74
    v_writeb(i, __svgalib_vgammbase+ATT_IW);
75
}
76
 
77
void __svgalib_mm_inpal(int i, int *r, int *g, int *b)
78
{
79
    v_writeb(i, __svgalib_vgammbase+PEL_IR);
80
    *r=v_readb(__svgalib_vgammbase+PEL_D);
81
    *g=v_readb(__svgalib_vgammbase+PEL_D);
82
    *b=v_readb(__svgalib_vgammbase+PEL_D);
83
}
84
 
85
void __svgalib_mm_outpal(int i, int r, int g, int b)
86
{
87
    v_writeb(i, __svgalib_vgammbase+PEL_IW);
88
    v_writeb(r, __svgalib_vgammbase+PEL_D);
89
    v_writeb(g, __svgalib_vgammbase+PEL_D);
90
    v_writeb(b, __svgalib_vgammbase+PEL_D);
91
}
92
 
93
void __svgalib_mm_io_mapio(void)
94
{
95
    __svgalib_inmisc=__svgalib_mm_inmisc;
96
    __svgalib_outmisc=__svgalib_mm_outmisc;
97
    __svgalib_incrtc=__svgalib_mm_incrtc;
98
    __svgalib_outcrtc=__svgalib_mm_outcrtc;
99
    __svgalib_inseq=__svgalib_mm_inseq;
100
    __svgalib_outseq=__svgalib_mm_outseq;
101
    __svgalib_ingra=__svgalib_mm_ingra;
102
    __svgalib_outgra=__svgalib_mm_outgra;
103
    __svgalib_inatt=__svgalib_mm_inatt;
104
    __svgalib_outatt=__svgalib_mm_outatt;
105
    __svgalib_attscreen=__svgalib_mm_attscreen;
106
    __svgalib_inis1=__svgalib_mm_inis1;
107
    __svgalib_inpal=__svgalib_mm_inpal;
108
    __svgalib_outpal=__svgalib_mm_outpal;
109
}