]>
Commit | Line | Data |
---|---|---|
1 | diff -Nur SDL-1.2.9.orig/config.sub SDL-1.2.9/config.sub | |
2 | --- SDL-1.2.9.orig/config.sub 2004-05-06 11:55:06.000000000 -0400 | |
3 | +++ SDL-1.2.9/config.sub 2006-05-08 08:01:42.000000000 -0400 | |
4 | @@ -135,6 +135,9 @@ | |
5 | ### recognize some manufacturers as not being operating systems, so we | |
6 | ### can provide default operating systems below. | |
7 | case $os in | |
8 | + -uclinux*) | |
9 | + os=-linux-gnu | |
10 | + ;; | |
11 | -sun*os*) | |
12 | # Prevent following clause from handling this invalid input. | |
13 | ;; | |
14 | @@ -224,7 +227,8 @@ | |
15 | case $basic_machine in | |
16 | # Recognize the basic CPU types without company name. | |
17 | # Some are omitted here because they have special meanings below. | |
18 | - 1750a | 580 \ | |
19 | + bfin \ | |
20 | + | 1750a | 580 \ | |
21 | | a29k \ | |
22 | | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | |
23 | | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | |
24 | diff -Nur SDL-1.2.9.orig/readme.537 SDL-1.2.9/readme.537 | |
25 | --- SDL-1.2.9.orig/readme.537 1969-12-31 19:00:00.000000000 -0500 | |
26 | +++ SDL-1.2.9/readme.537 2006-05-08 06:53:08.000000000 -0400 | |
27 | @@ -0,0 +1,5 @@ | |
28 | +1.configure\r | |
29 | +CFLAGS="-Dunix" ./configure --host=bfin-uclinux --disable-threads --disable-pth --disable-pthreads --disable-sdl-dlopen --disable-esd --disable-video-x11 --disable-cdrom --with-pic=no --disable-arts --disable-shared\r | |
30 | +\r | |
31 | +2.make\r | |
32 | +./make | |
33 | --- SDL-1.2.9.orig/src/video/fbcon/SDL_fbevents.c 2005-01-04 14:04:14.000000000 -0500 | |
34 | +++ SDL-1.2.9/src/video/fbcon/SDL_fbevents.c 2006-05-08 08:02:28.000000000 -0400 | |
35 | @@ -159,7 +159,7 @@ | |
36 | int FB_EnterGraphicsMode(_THIS) | |
37 | { | |
38 | struct termios keyboard_termios; | |
39 | - | |
40 | + int ret; | |
41 | /* Set medium-raw keyboard mode */ | |
42 | if ( (keyboard_fd >= 0) && !FB_InGraphicsMode(this) ) { | |
43 | ||
44 | @@ -184,6 +185,7 @@ | |
45 | keyboard_fd = -1; | |
46 | return(-1); | |
47 | } | |
48 | + #if 0 //lee | |
49 | if ( ioctl(keyboard_fd, KDGKBMODE, &saved_kbd_mode) < 0 ) { | |
50 | SDL_SetError("Unable to get current keyboard mode"); | |
51 | if ( keyboard_fd > 0 ) { | |
52 | @@ -192,27 +194,31 @@ | |
53 | keyboard_fd = -1; | |
54 | return(-1); | |
55 | } | |
56 | + #endif //lee | |
57 | keyboard_termios = saved_kbd_termios; | |
58 | keyboard_termios.c_lflag &= ~(ICANON | ECHO | ISIG); | |
59 | keyboard_termios.c_iflag &= ~(ISTRIP | IGNCR | ICRNL | INLCR | IXOFF | IXON); | |
60 | keyboard_termios.c_cc[VMIN] = 0; | |
61 | keyboard_termios.c_cc[VTIME] = 0; | |
62 | + | |
63 | if (tcsetattr(keyboard_fd, TCSAFLUSH, &keyboard_termios) < 0) { | |
64 | FB_CloseKeyboard(this); | |
65 | SDL_SetError("Unable to set terminal attributes"); | |
66 | return(-1); | |
67 | } | |
68 | + #if 0 //lee | |
69 | /* This will fail if we aren't root or this isn't our tty */ | |
70 | - if ( ioctl(keyboard_fd, KDSKBMODE, K_MEDIUMRAW) < 0 ) { | |
71 | + if ( (ret = ioctl(keyboard_fd, KDSKBMODE, K_MEDIUMRAW)) < 0 ) { | |
72 | FB_CloseKeyboard(this); | |
73 | - SDL_SetError("Unable to set keyboard in raw mode"); | |
74 | + SDL_SetError("Unable to set keyboard in raw mode %d",ret); | |
75 | return(-1); | |
76 | } | |
77 | - if ( ioctl(keyboard_fd, KDSETMODE, KD_GRAPHICS) < 0 ) { | |
78 | + if ( (ret = ioctl(keyboard_fd, KDSETMODE, KD_GRAPHICS)) < 0 ) { | |
79 | FB_CloseKeyboard(this); | |
80 | - SDL_SetError("Unable to set keyboard in graphics mode"); | |
81 | + SDL_SetError("Unable to set keyboard in graphics mode %d",ret); | |
82 | return(-1); | |
83 | } | |
84 | + #endif //lee | |
85 | } | |
86 | return(keyboard_fd); | |
87 | } | |
88 | @@ -288,6 +299,8 @@ | |
89 | /* Last resort, maybe our tty is a usable VT */ | |
90 | current_vt = 0; | |
91 | keyboard_fd = open("/dev/tty", O_RDWR); | |
92 | + //keyboard_fd = dup(0); | |
93 | + fprintf(stderr,"Last resort open /dev/tty=%d\n",keyboard_fd); | |
94 | } | |
95 | #ifdef DEBUG_KEYBOARD | |
96 | fprintf(stderr, "Current VT: %d\n", current_vt); | |
97 | @@ -295,14 +308,15 @@ | |
98 | saved_kbd_mode = -1; | |
99 | ||
100 | /* Make sure that our input is a console terminal */ | |
101 | - { int dummy; | |
102 | + //lee 2006-4-22 | |
103 | + /*{ int dummy; | |
104 | if ( ioctl(keyboard_fd, KDGKBMODE, &dummy) < 0 ) { | |
105 | close(keyboard_fd); | |
106 | keyboard_fd = -1; | |
107 | SDL_SetError("Unable to open a console terminal"); | |
108 | } | |
109 | - } | |
110 | - | |
111 | + }*/ | |
112 | + | |
113 | /* Set up keymap */ | |
114 | FB_vgainitkeymaps(keyboard_fd); | |
115 | } | |
116 | @@ -891,7 +906,11 @@ | |
117 | int scancode; | |
118 | SDL_keysym keysym; | |
119 | ||
120 | + | |
121 | + SDL_ResetKeyboard();//lee 5-5 | |
122 | + | |
123 | nread = read(keyboard_fd, keybuf, BUFSIZ); | |
124 | + | |
125 | for ( i=0; i<nread; ++i ) { | |
126 | scancode = keybuf[i] & 0x7F; | |
127 | if ( keybuf[i] & 0x80 ) { | |
128 | @@ -1081,15 +1103,51 @@ | |
129 | default: break; | |
130 | } | |
131 | } | |
132 | +/* | |
133 | + { | |
134 | + int i; | |
135 | + for (i = 0; i<128;i++) | |
136 | + fprintf(stderr,"%d:%d\n",i,keymap[i]); | |
137 | + | |
138 | + } | |
139 | +*/ | |
140 | } | |
141 | ||
142 | static SDL_keysym *TranslateKey(int scancode, SDL_keysym *keysym) | |
143 | { | |
144 | /* Set the keysym information */ | |
145 | keysym->scancode = scancode; | |
146 | + #if 0 | |
147 | + | |
148 | keysym->sym = keymap[scancode]; | |
149 | + | |
150 | + #else //lee | |
151 | + | |
152 | + keysym->sym = 0; | |
153 | + if(scancode == 0x31) | |
154 | + keysym->sym = SDLK_1; | |
155 | + if(scancode == 0x35) | |
156 | + keysym->sym = SDLK_5; | |
157 | + else if(scancode == 0x44) | |
158 | + keysym->sym = SDLK_LEFT; | |
159 | + else if(scancode == 0x43) | |
160 | + keysym->sym = SDLK_RIGHT; | |
161 | + else if(scancode == 0x41) | |
162 | + keysym->sym = SDLK_UP; | |
163 | + else if(scancode == 0x42) | |
164 | + keysym->sym = SDLK_DOWN; | |
165 | + else if(scancode == 0x6f) | |
166 | + keysym->sym = SDLK_o; | |
167 | + else if(scancode == 0x6b) | |
168 | + keysym->sym = SDLK_k; | |
169 | + else if(scancode == 0x71) | |
170 | + keysym->sym = SDLK_q; | |
171 | + | |
172 | + #endif | |
173 | + | |
174 | keysym->mod = KMOD_NONE; | |
175 | ||
176 | + | |
177 | /* If UNICODE is on, get the UNICODE value for the key */ | |
178 | keysym->unicode = 0; | |
179 | if ( SDL_TranslateUNICODE ) { | |
180 | diff -Nur SDL-1.2.9.orig/src/video/fbcon/SDL_fbvideo.c SDL-1.2.9/src/video/fbcon/SDL_fbvideo.c | |
181 | --- SDL-1.2.9.orig/src/video/fbcon/SDL_fbvideo.c 2005-02-12 13:03:54.000000000 -0500 | |
182 | +++ SDL-1.2.9/src/video/fbcon/SDL_fbvideo.c 2006-05-08 08:02:26.000000000 -0400 | |
183 | @@ -79,7 +79,8 @@ | |
184 | { 0, 0, 640, 400 }, /* 8 bpp: 0x100, or 256 */ | |
185 | { 0, 0, 512, 384 }, | |
186 | { 0, 0, 320, 240 }, | |
187 | - { 0, 0, 320, 200 } | |
188 | + { 0, 0, 320, 200 }, | |
189 | + { 0, 0, 240, 320 } //lee 2006-4-22:to support 240*320 display mode | |
190 | }; | |
191 | static const struct { | |
192 | int xres; | |
193 | @@ -123,6 +124,7 @@ | |
194 | { 1280, 1024, 9369, 224, 32, 32, 4, 136, 4, 0, 0 }, /* 60 Hz */ | |
195 | { 1408, 1056, 8214, 256, 40, 32, 5, 144, 5, 0, 0 }, /* 60 Hz */ | |
196 | { 1600, 1200,/*?*/0, 272, 48, 32, 5, 152, 5, 0, 0 }, /* 60 Hz */ | |
197 | + { 240, 320,63492, 16, 16, 16, 4, 48, 2, 0, 2 }, //lee 2006-4-22:to support 240*320 display mode | |
198 | #endif | |
199 | }; | |
200 | ||
201 | @@ -279,6 +281,9 @@ | |
202 | /* Only allow a mode if we have a valid timing for it */ | |
203 | next_mode = -1; | |
204 | for ( i=0; i<(sizeof(vesa_timings)/sizeof(vesa_timings[0])); ++i ) { | |
205 | + #ifdef USE_VESA_TIMINGS | |
206 | + fprintf(stderr,"USE_VESA_TIMINGS\n"); | |
207 | + #endif | |
208 | if ( (w == vesa_timings[i].xres) && | |
209 | (h == vesa_timings[i].yres) && vesa_timings[i].pixclock ) { | |
210 | next_mode = i; | |
211 | @@ -408,7 +413,7 @@ | |
212 | (((long)finfo.smem_start)&~(PAGE_SIZE-1))); | |
213 | mapped_memlen = finfo.smem_len+mapped_offset; | |
214 | mapped_mem = mmap(NULL, mapped_memlen, | |
215 | - PROT_READ|PROT_WRITE, MAP_SHARED, console_fd, 0); | |
216 | + PROT_READ|PROT_WRITE, /*MAP_SHARED*/MAP_PRIVATE, console_fd, 0); | |
217 | if ( mapped_mem == (char *)-1 ) { | |
218 | SDL_SetError("Unable to memory map the video hardware"); | |
219 | mapped_mem = NULL; | |
220 | @@ -452,7 +457,7 @@ | |
221 | if ( finfo.accel && finfo.mmio_len ) { | |
222 | mapped_iolen = finfo.mmio_len; | |
223 | mapped_io = mmap(NULL, mapped_iolen, PROT_READ|PROT_WRITE, | |
224 | - MAP_SHARED, console_fd, mapped_memlen); | |
225 | + /*MAP_SHARED*/MAP_PRIVATE, console_fd, mapped_memlen); | |
226 | if ( mapped_io == (char *)-1 ) { | |
227 | /* Hmm, failed to memory map I/O registers */ | |
228 | mapped_io = NULL; | |
229 | @@ -725,12 +730,12 @@ | |
230 | Uint32 Bmask; | |
231 | char *surfaces_mem; | |
232 | int surfaces_len; | |
233 | - | |
234 | + | |
235 | /* Set the terminal into graphics mode */ | |
236 | if ( FB_EnterGraphicsMode(this) < 0 ) { | |
237 | return(NULL); | |
238 | } | |
239 | - | |
240 | + | |
241 | /* Restore the original palette */ | |
242 | FB_RestorePalette(this); | |
243 | ||
244 | @@ -769,6 +774,7 @@ | |
245 | fprintf(stderr, "Printing wanted vinfo:\n"); | |
246 | print_vinfo(&vinfo); | |
247 | #endif | |
248 | +#if 0 //lee | |
249 | if ( ioctl(console_fd, FBIOPUT_VSCREENINFO, &vinfo) < 0 ) { | |
250 | vinfo.yres_virtual = height; | |
251 | if ( ioctl(console_fd, FBIOPUT_VSCREENINFO, &vinfo) < 0 ) { | |
252 | @@ -776,6 +782,7 @@ | |
253 | return(NULL); | |
254 | } | |
255 | } | |
256 | +#endif | |
257 | } else { | |
258 | int maxheight; | |
259 | ||
260 | @@ -817,11 +824,12 @@ | |
261 | /* Get the fixed information about the console hardware. | |
262 | This is necessary since finfo.line_length changes. | |
263 | */ | |
264 | + | |
265 | if ( ioctl(console_fd, FBIOGET_FSCREENINFO, &finfo) < 0 ) { | |
266 | SDL_SetError("Couldn't get console hardware info"); | |
267 | return(NULL); | |
268 | } | |
269 | - | |
270 | + | |
271 | /* Save hardware palette, if needed */ | |
272 | FB_SavePalette(this, &finfo, &vinfo); | |
273 | ||
274 | @@ -1107,10 +1115,12 @@ | |
275 | FB_WaitBusySurfaces(this); | |
276 | } | |
277 | wait_vbl(this); | |
278 | + #if 0 //lee 5-1 | |
279 | if ( ioctl(console_fd, FBIOPAN_DISPLAY, &cache_vinfo) < 0 ) { | |
280 | SDL_SetError("ioctl(FBIOPAN_DISPLAY) failed"); | |
281 | return(-1); | |
282 | } | |
283 | + #endif | |
284 | flip_page = !flip_page; | |
285 | ||
286 | surface->pixels = flip_address[flip_page]; |