Mercurial > sdl-ios-xcode
annotate src/video/xbios/SDL_xbios_centscreen.h @ 2661:d38309be5178 gsoc2008_audio_resampling
The windowed sinc filter generation code seems to be working fine. The FIR filtering code is also now working reasonably well. Occasionally the FIR filter will pop, but setting the normalization factor lower seems to help this. I suspect the problem is in the fixed point multiply/add. I also have a hunch the zero stuffing/sample discarding code is not correct, and I'll look at that soon to get it sorted out.
author | Aaron Wishnick <schnarf@gmail.com> |
---|---|
date | Wed, 02 Jul 2008 08:04:50 +0000 |
parents | c121d94672cb |
children | 99210400e8b9 |
rev | line source |
---|---|
1061
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
1 /* |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
3 Copyright (C) 1997-2004 Sam Lantinga |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
4 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
6 modify it under the terms of the GNU Library General Public |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
7 License as published by the Free Software Foundation; either |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
8 version 2 of the License, or (at your option) any later version. |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
9 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
13 Library General Public License for more details. |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
14 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
15 You should have received a copy of the GNU Library General Public |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
16 License along with this library; if not, write to the Free |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
18 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
19 Sam Lantinga |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
20 slouken@libsdl.org |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
21 */ |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1064
diff
changeset
|
22 #include "SDL_config.h" |
1061
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
23 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
24 /* |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
25 Centscreen extension definitions |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
26 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
27 Patrice Mandin |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
28 */ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
29 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
30 #ifndef _SDL_xbios_centscreen_h |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
31 #define _SDL_xbios_centscreen_h |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
32 |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
33 #include <mint/falcon.h> /* for trap_14_xxx macros */ |
1061
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
34 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
35 #include "SDL_xbios.h" |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
36 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
37 /*--- Defines ---*/ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
38 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
39 #ifndef C_CNTS |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
40 #define C_CNTS 0x434e5453L |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
41 #endif |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
42 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
43 #define CSCREEN_ENERGYSTAR (1<<9) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
44 #define CSCREEN_SAVER (1<<10) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
45 #define CSCREEN_VIRTUAL (1<<11) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
46 #define CSCREEN_EXTCLOCK_CT2 (1<<12) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
47 #define CSCREEN_EXTCLOCK (1<<13) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
48 #define CSCREEN_STANDARD (1<<14) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
49 #define CSCREEN_DEFAULT (1<<15) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
50 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
51 /*--- Structures ---*/ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
52 |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
53 typedef struct |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
54 { |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
55 unsigned short handle; /* videomode handle */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
56 unsigned short mode; /* Falcon videomode code */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
57 unsigned short physx; /* visible width */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
58 unsigned short physy; /* visible height */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
59 unsigned short plan; /* bitplanes */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
60 unsigned short logx; /* virtual width */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
61 unsigned short logy; /* virtual height */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
62 unsigned short eco; /* screen saver delay */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
63 unsigned short eco2; /* energy star screen saver delay */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
64 unsigned short wsize; /* screen width (mm) */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
65 unsigned short hsize; /* screen height (mm) */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
66 unsigned short dummy[21]; |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
67 unsigned char name[32]; /* videomode name */ |
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
68 } __attribute__ ((packed)) centscreen_mode_t; |
1061
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
69 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
70 /*--- Functions prototypes ---*/ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
71 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
72 #define Vread(current_mode) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
73 (void)trap_14_wl((short)0x41,(long)(current_mode)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
74 #define Vwrite(init_vdi, inparam, outparam) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
75 (long)trap_14_wwll((short)0x42,(short)(init_vdi),(long)(inparam),(long)(outparam)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
76 #define Vattrib(inparam, outparam) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
77 (void)trap_14_wll((short)0x43,(long)(inparam),(long)(outparam)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
78 #define Vcreate(inparam, outparam) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
79 (void)trap_14_wll((short)0x44,(long)(inparam),(long)(outparam)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
80 #define Vdelete(handle) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
81 (long)trap_14_ww((short)0x45,(short)(handle)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
82 #define Vfirst(mask,mode) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
83 (long)trap_14_wll((short)0x46,(long)(mask),(long)(mode)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
84 #define Vnext(mask,mode) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
85 (long)trap_14_wll((short)0x47,(long)(mask),(long)(mode)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
86 #define Vvalid(handle) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
87 (long)trap_14_ww((short)0x48,(short)(handle)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
88 #define Vload() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
89 (long)trap_14_w((short)0x49) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
90 #define Vsave() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
91 (long)trap_14_w((short)0x4a) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
92 #define Vopen() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
93 (long)trap_14_w((short)0x4b) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
94 #define Vclose() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
95 (long)trap_14_w((short)0x4c) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
96 #define Vscroll(scrollmode) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
97 (long)trap_14_ww((short)0x4d,(short)(scrollmode)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
98 #define Voffset() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
99 (long)trap_14_w((short)0x4e) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
100 #define Vseek() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
101 (long)trap_14_w((short)0x4f) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
102 #define Vlock(cmd) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
103 (long)trap_14_ww((short)0x50,(short)(cmd)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
104 #define SetMon(montype) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
105 (long)trap_14_ww((short)0x51,(short)(montype)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
106 #define MultiMon(cmd) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
107 (long)trap_14_ww((short)0x52,(short)(cmd)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
108 #define VSizeComp() \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
109 (long)trap_14_w((short)0x53) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
110 #define Vsize(mode) \ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
111 (long)trap_14_wl((short)0x54,(long)(mode)) |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
112 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
113 /*--- Functions prototypes ---*/ |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
114 |
1064
fba6b67b4d60
Add Centscreen extended modes support
Patrice Mandin <patmandin@gmail.com>
parents:
1061
diff
changeset
|
115 int SDL_XBIOS_CentscreenInit(_THIS); |
fba6b67b4d60
Add Centscreen extended modes support
Patrice Mandin <patmandin@gmail.com>
parents:
1061
diff
changeset
|
116 void SDL_XBIOS_CentscreenSetmode(_THIS, int width, int height, int planes); |
fba6b67b4d60
Add Centscreen extended modes support
Patrice Mandin <patmandin@gmail.com>
parents:
1061
diff
changeset
|
117 void SDL_XBIOS_CentscreenRestore(_THIS, int prev_handle); |
1061
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
118 |
5023cde12cbd
Add Falcon Centscreen extension support
Patrice Mandin <patmandin@gmail.com>
parents:
diff
changeset
|
119 #endif /* _SDL_xbios_centscreen_h */ |
1895
c121d94672cb
SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents:
1402
diff
changeset
|
120 /* vi: set ts=4 sw=4 expandtab: */ |