backported fixes from 256boss
[bootcensus] / src / test / vbetest.c
index 8625631..7dd2bad 100644 (file)
@@ -41,7 +41,7 @@ extern int snd_click_size;
 
 int vbetest(void)
 {
-       int i, j, nmodes, mx, my;
+       int i, j, nmodes, mx, my, idx;
        unsigned int st, prev_st = 0;
        struct video_mode vi;
        uint16_t *fbptr;
@@ -60,7 +60,12 @@ int vbetest(void)
                }
        }
 
-       if(!(framebuf = set_video_mode(find_video_mode(640, 480, 16)))) {
+       if((idx = find_video_mode_idx(640, 480, 16)) == -1) {
+               return -1;
+       }
+       video_mode_info(idx, &vi);
+
+       if(!(framebuf = set_video_mode(vi.mode))) {
                return -1;
        }
        get_color_bits(&vi.rbits, &vi.gbits, &vi.bbits);
@@ -105,7 +110,6 @@ int vbetest(void)
                        }
                }
                if(click) {
-                       printf("click!\n");
                        audio_play(22050, 1);
                }
 
@@ -176,24 +180,7 @@ static void draw_cursor(int x, int y, uint16_t col)
 static int click_sound_callback(void *buffer, int size, void *cls)
 {
        if(click) {
-               int i;
-               signed char *ptr = buffer;
-               signed char *src = snd_click;
-               /*
-               for(i=0; i<size; i++) {
-                       if((i / 32) & 1) {
-                               *ptr++ = -64;
-                       } else {
-                               *ptr++ = 64;
-                       }
-               }
-               */
-               /*memcpy(buffer, snd_click, snd_click_size);*/
-
-               for(i=0; i<snd_click_size; i++) {
-                       *ptr++ = *src++;
-               }
-
+               memcpy(buffer, snd_click, snd_click_size);
                click = 0;
                return snd_click_size;
        }