notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
reverted useless threaded buffering code
[picodrive.git]
/
platform
/
win32
/
GenaDrive
/
Emu.cpp
diff --git
a/platform/win32/GenaDrive/Emu.cpp
b/platform/win32/GenaDrive/Emu.cpp
index
4e5bc95
..
b7a019c
100644
(file)
--- a/
platform/win32/GenaDrive/Emu.cpp
+++ b/
platform/win32/GenaDrive/Emu.cpp
@@
-2,9
+2,9
@@
#include "app.h"
\r
\r
unsigned short *EmuScreen=NULL;
\r
#include "app.h"
\r
\r
unsigned short *EmuScreen=NULL;
\r
-
extern "C" unsigned short *framebuff=NULL
;
\r
-
int EmuWidth=0,EmuHeight=0
;
\r
-static int frame=0;
\r
+
int EmuWidth=320,EmuHeight=224
;
\r
+
RECT EmuScreenRect = { 0, 0, 320, 224 }
;
\r
+
\r
static int EmuScan(unsigned int num, void *sdata);
\r
unsigned char *PicoDraw2FB = NULL;
\r
\r
static int EmuScan(unsigned int num, void *sdata);
\r
unsigned char *PicoDraw2FB = NULL;
\r
\r
@@
-18,10
+18,9
@@
int EmuInit()
EmuWidth=320; EmuHeight=224;
\r
len=EmuWidth*EmuHeight; len<<=1;
\r
EmuScreen=(unsigned short *)malloc(len); if (EmuScreen==NULL) return 1;
\r
EmuWidth=320; EmuHeight=224;
\r
len=EmuWidth*EmuHeight; len<<=1;
\r
EmuScreen=(unsigned short *)malloc(len); if (EmuScreen==NULL) return 1;
\r
-
framebuff=(unsigned short
*)malloc((8+320)*(8+224+8)*2);
\r
+
PicoDraw2FB=(unsigned char
*)malloc((8+320)*(8+224+8)*2);
\r
memset(EmuScreen,0,len);
\r
\r
memset(EmuScreen,0,len);
\r
\r
- PicoDraw2FB = (unsigned char *)framebuff;
\r
PicoDrawSetColorFormat(1);
\r
PicoScan=EmuScan;
\r
\r
PicoDrawSetColorFormat(1);
\r
PicoScan=EmuScan;
\r
\r
@@
-32,7
+31,7
@@
void EmuExit()
{
\r
//RomFree();
\r
free(EmuScreen); EmuScreen=NULL; // Deallocate screen
\r
{
\r
//RomFree();
\r
free(EmuScreen); EmuScreen=NULL; // Deallocate screen
\r
- free(
framebuff
);
\r
+ free(
PicoDraw2FB
);
\r
EmuWidth=EmuHeight=0;
\r
\r
PicoExit();
\r
EmuWidth=EmuHeight=0;
\r
\r
PicoExit();
\r
@@
-41,16
+40,16
@@
void EmuExit()
// Megadrive scanline callback:
\r
static int EmuScan(unsigned int num, void *sdata)
\r
{
\r
// Megadrive scanline callback:
\r
static int EmuScan(unsigned int num, void *sdata)
\r
{
\r
- unsigned short *pd=NULL
,*end=NULL
;
\r
+ unsigned short *pd=NULL;
\r
unsigned short *ps=NULL;
\r
\r
if (num>=(unsigned int)EmuHeight) return 0;
\r
\r
// Copy scanline to screen buffer:
\r
unsigned short *ps=NULL;
\r
\r
if (num>=(unsigned int)EmuHeight) return 0;
\r
\r
// Copy scanline to screen buffer:
\r
- pd=EmuScreen+(num<<8)+(num<<6);
end=pd+320;
\r
+ pd=EmuScreen+(num<<8)+(num<<6);
\r
ps=(unsigned short *)sdata;
\r
\r
ps=(unsigned short *)sdata;
\r
\r
-
do { *pd++=*ps++; } while (pd<end
);
\r
+
memcpy(pd, ps, 320*2
);
\r
\r
return 0;
\r
}
\r
\r
return 0;
\r
}
\r
@@
-69,8
+68,9
@@
int EmuFrame()
\r
PicoPad[0]=input;
\r
\r
\r
PicoPad[0]=input;
\r
\r
- frame++;
\r
- PsndOut=(short *)DSoundNext; PicoFrame(); PsndOut=NULL;
\r
+ PsndOut=(short *)DSoundNext;
\r
+ PicoFrame();
\r
+ PsndOut=NULL;
\r
\r
return 0;
\r
}
\r
\r
return 0;
\r
}
\r