X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fwin32%2Fplat.c;h=a9cceb7965b52fde71ca05de462931081dc85646;hb=93f9619ed819dee07948416c98ca2f1c70a22666;hp=2770b94384c4565fbe9b5db79f3eb7759ef20a37;hpb=697746df021a83dcb556afdb36abc6977780985c;p=picodrive.git diff --git a/platform/win32/plat.c b/platform/win32/plat.c index 2770b94..a9cceb7 100644 --- a/platform/win32/plat.c +++ b/platform/win32/plat.c @@ -1,3 +1,10 @@ +/* + * PicoDrive + * (C) notaz, 2009,2010 + * + * This work is licensed under the terms of MAME license. + * See COPYING file in the top-level directory. + */ #include #include @@ -11,10 +18,8 @@ #include "main.h" static unsigned short screen_buff[320 * 240]; -static unsigned char PicoDraw2FB_[(8+320) * (8+240+8)]; -unsigned char *PicoDraw2FB = PicoDraw2FB_; - -char cpu_clk_name[] = "unused"; +const char *renderer_names[] = { NULL }; +const char *renderer_names32x[] = { NULL }; void plat_init(void) { @@ -59,7 +64,6 @@ int plat_wait_event(int *fds_hnds, int count, int timeout_ms) void pemu_prep_defconfig(void) { memset(&defaultConfig, 0, sizeof(defaultConfig)); - defaultConfig.s_PicoOpt|= POPT_6BTN_PAD; // for xmen proto defaultConfig.s_PicoCDBuffers = 0; defaultConfig.Frameskip = 0; } @@ -68,17 +72,10 @@ void pemu_validate_config(void) { } -static int EmuScanBegin16(unsigned int num) -{ - DrawLineDest = (unsigned short *) g_screen_ptr + g_screen_width * num; - - return 0; -} - void pemu_loop_prep(void) { - PicoDrawSetColorFormat(1); - PicoScanBegin = EmuScanBegin16; + PicoDrawSetOutFormat(PDF_RGB555, 1); + PicoDrawSetOutBuf(g_screen_ptr, g_screen_width * 2); pemu_sound_start(); } @@ -87,11 +84,15 @@ void pemu_loop_end(void) pemu_sound_stop(); } -void pemu_forced_frame(int opts) +void pemu_forced_frame(int no_scale, int do_emu) +{ +} + +void pemu_finalize_frame(const char *fps, const char *notice_msg) { } -void pemu_update_display(const char *fps, const char *notice_msg) +void plat_video_flip(void) { DirectScreen(g_screen_ptr); DirectPresent(); @@ -101,10 +102,10 @@ void plat_video_wait_vsync(void) { } -void plat_video_toggle_renderer(int is_next, int force_16bpp, int is_menu) +void plat_video_toggle_renderer(int change, int is_menu) { // this will auto-select SMS/32X renderers - PicoDrawSetColorFormat(1); + PicoDrawSetOutFormat(PDF_RGB555, 1); } void emu_video_mode_change(int start_line, int line_count, int is_32cols) @@ -122,7 +123,7 @@ static int sndbuff[2*44100/50/2 + 4]; static void update_sound(int len) { /* avoid writing audio when lagging behind to prevent audio lag */ - if (PicoSkipFrame != 2) + if (PicoIn.skipFrame != 2) DSoundUpdate(sndbuff, (currentConfig.EmuOpt & EOPT_NO_FRMLIMIT) ? 0 : 1); } @@ -138,7 +139,7 @@ void pemu_sound_start(void) { PsndRerate(0); - ret = DSoundInit(FrameWnd, PsndRate, (PicoOpt & POPT_EN_STEREO) ? 1 : 0, PsndLen); + ret = DSoundInit(FrameWnd, PsndRate, (PicoIn.opt & POPT_EN_STEREO) ? 1 : 0, PsndLen); if (ret != 0) { lprintf("dsound init failed\n"); return; @@ -220,12 +221,12 @@ void plat_debug_cat(char *str) } // required by pico -int mp3_get_bitrate(FILE *f, int size) +int mp3_get_bitrate(void *f, int size) { return 128; } -void mp3_start_play(FILE *f, int pos) +void mp3_start_play(void *f, int pos) { }