Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
74 giacomo 1
#include "libvga.h"
2
#include <stdio.h>
3
 
4
static int __svgalib_r128_inmisc(void)
5
{
6
   return 0;
7
}
8
 
9
static void __svgalib_r128_outmisc(int i)
10
{
11
}
12
 
13
static int __svgalib_r128_incrtc(int i)
14
{
15
   return 0;
16
}
17
 
18
static void __svgalib_r128_outcrtc(int i, int d)
19
{
20
}
21
 
22
static int __svgalib_r128_inseq(int index)
23
{
24
    return 0;
25
}
26
 
27
static void __svgalib_r128_outseq(int index, int val)
28
{
29
}
30
 
31
static int __svgalib_r128_ingra(int index)
32
{
33
    return 0;
34
}
35
 
36
static void __svgalib_r128_outgra(int index, int val)
37
{
38
}
39
 
40
static int __svgalib_r128_inis1(void)
41
{
42
   return 0;
43
}
44
 
45
static int __svgalib_r128_inatt(int index)
46
{
47
    return 0;
48
}
49
 
50
static void __svgalib_r128_outatt(int index, int val)
51
{
52
}
53
 
54
static void __svgalib_r128_attscreen(int i)
55
{
56
}
57
 
58
static void __svgalib_r128_inpal(int i, int *r, int *g, int *b)
59
{
60
    volatile int rgb;
61
    if(chiptype==Radeon) {
62
        OUTREG(R128_PALETTE_INDEX, i );
63
        rgb=INREG(R128_PALETTE_DATA);
64
        *r=(rgb>>16) & 0xff;
65
        *g=(rgb>>8) & 0xff;
66
        *b=rgb & 0xff;
67
        if(dac6bits) {
68
            *r>>=2;
69
            *g>>=2;
70
            *b>>=2;
71
        }
72
    } else {
73
        OUTREG(R128_PALETTE_INDEX, i<<16 );
74
        rgb=INREG(R128_PALETTE_DATA);
75
        *r=(rgb>>16) & 0xff;
76
        *g=(rgb>>8) & 0xff;
77
        *b=rgb & 0xff;
78
    }
79
}
80
 
81
static void __svgalib_r128_outpal(int i, int r, int g, int b)
82
{
83
    OUTREG(R128_PALETTE_INDEX, i );
84
    if((chiptype==Radeon) && dac6bits) {
85
        r<<=2;
86
        g<<=2;
87
        b<<=2;
88
    }
89
    OUTREG(R128_PALETTE_DATA, b | (g<<8) | (r<<16) );
90
}
91
 
92
static void r128_mapio(void)
93
{
94
#ifndef __PPC
95
    if(__svgalib_secondary) {
96
#endif
97
        __svgalib_inmisc=__svgalib_r128_inmisc;
98
        __svgalib_outmisc=__svgalib_r128_outmisc;
99
        __svgalib_incrtc=__svgalib_r128_incrtc;
100
        __svgalib_outcrtc=__svgalib_r128_outcrtc;
101
        __svgalib_inseq=__svgalib_r128_inseq;
102
        __svgalib_outseq=__svgalib_r128_outseq;
103
        __svgalib_ingra=__svgalib_r128_ingra;
104
        __svgalib_outgra=__svgalib_r128_outgra;
105
        __svgalib_inatt=__svgalib_r128_inatt;
106
        __svgalib_outatt=__svgalib_r128_outatt;
107
        __svgalib_attscreen=__svgalib_r128_attscreen;
108
        __svgalib_inis1=__svgalib_r128_inis1;
109
#ifndef __PPC
110
    }
111
#endif
112
    __svgalib_inpal=__svgalib_r128_inpal;
113
    __svgalib_outpal=__svgalib_r128_outpal;
114
}
115