6 Commits

Author SHA1 Message Date
clobber 1df666842f Bump version for sparkle updater. 2018-11-05 15:03:10 -06:00
clobber 5ad07bfca1 Set -aspectSize 2018-09-20 10:57:27 -05:00
clobber 0a92d0e120 Cleanup audio 2018-09-20 10:56:53 -05:00
clobber 6c18fff3a3 Fix compiling on Xcode 10 2018-09-20 00:09:08 -05:00
Rudy Richter 5113296815 free mbmp 2017-07-21 23:39:27 -04:00
Rudy Richter 18916bf0e2 Enable direct-rendering 2017-07-21 23:33:39 -04:00
4 changed files with 42 additions and 36 deletions
+1 -1
View File
@@ -17,7 +17,7 @@
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>1.18</string>
<string>1.18.1</string>
<key>NSPrincipalClass</key>
<string>OEGameCoreController</string>
<key>OEGameCoreClass</key>
+9 -2
View File
@@ -158,6 +158,7 @@
);
name = VisualBoyAdvance;
sourceTree = "<group>";
usesTabs = 0;
};
089C1671FE841209C02AAC07 /* Frameworks and Libraries */ = {
isa = PBXGroup;
@@ -419,7 +420,10 @@
COMBINE_HIDPI_IMAGES = YES;
EXPORTED_SYMBOLS_FILE = "";
FRAMEWORK_SEARCH_PATHS = "";
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/src\"";
HEADER_SEARCH_PATHS = (
"\"$(SRCROOT)/src\"",
"\"$(SRCROOT)/allegrowrapper\"",
);
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "\"$(USER_LIBRARY_DIR)/Application Support/OpenEmu/Cores\"";
OTHER_CFLAGS = "-D__LIBRETRO__";
@@ -439,7 +443,10 @@
COMBINE_HIDPI_IMAGES = YES;
EXPORTED_SYMBOLS_FILE = "";
FRAMEWORK_SEARCH_PATHS = "";
HEADER_SEARCH_PATHS = "\"$(SRCROOT)/src\"";
HEADER_SEARCH_PATHS = (
"\"$(SRCROOT)/src\"",
"\"$(SRCROOT)/allegrowrapper\"",
);
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "\"$(USER_LIBRARY_DIR)/Application Support/OpenEmu/Cores\"";
OTHER_CFLAGS = "-D__LIBRETRO__";
+31 -32
View File
@@ -57,7 +57,7 @@
//uint16_t mbmp[EMUWIDTH * EMUHEIGHT];
//unsigned short int mbmp[TEX_WIDTH * TEX_HEIGHT];
uint16_t mbmp[TEX_WIDTH * TEX_HEIGHT];
uint16_t *mbmp;
//short signed int SNDBUF[1024*2];
uint8_t soundBuffer[1056];
int SND;
@@ -388,13 +388,16 @@ OdysseyGameCore *current;
close_voice();
close_display();
retro_destroybmp();
if(mbmp)
{
free(mbmp);
}
}
#pragma mark Execution
- (BOOL)loadFileAtPath:(NSString *)path
{
memset(mbmp, 0, sizeof(mbmp));
RLOOP=1;
static char file[MAXC], attr[MAXC], val[MAXC], *p, *binver;
@@ -472,33 +475,17 @@ OdysseyGameCore *current;
{
//run();
cpu_exec();
int len = evblclk == EVBLCLK_NTSC ? 44100/60 : 44100/50;
//for(int x=0; x<len; x++)
//[[current ringBufferAtIndex:0] write:soundBuffer maxLength:len];
// signed short int *p=(signed short int *)SNDBUF;
// for(int x=0; x<len; x++)
// {
// //[[current ringBufferAtIndex:0] write:p maxLength:len*4];
// [[current ringBufferAtIndex:0] write:p[0] maxLength:2];
// [[current ringBufferAtIndex:0] write:p[1] maxLength:2];
// }
//audio_cb(*p, *p++);
// Convert 8u to 16s
for(int i = 0; i != len; i ++)
for(int i = 0; i < len; i++)
{
int16_t sample16 = (soundBuffer[i] << 8) - 32768;
int16_t frame[2] = {sample16, sample16};
//audio_cb(frame[0], frame[1]);
//[[current ringBufferAtIndex:0] write:frame maxLength:2];
//[[current ringBufferAtIndex:0] write:frame[1] maxLength:2];
[[current ringBufferAtIndex:0] write:&frame[0] maxLength:2];
[[current ringBufferAtIndex:0] write:&frame[1] maxLength:2];
int16_t sample16 = (soundBuffer[i] - 128 ) << 8;
[[current ringBufferAtIndex:0] write:&sample16 maxLength:2];
}
RLOOP=1;
}
@@ -512,6 +499,11 @@ OdysseyGameCore *current;
#pragma mark Video
- (OEIntSize)aspectSize
{
return OEIntSizeMake(EMUWIDTH, EMUHEIGHT);
}
- (OEIntRect)screenRect
{
return OEIntRectMake(0, 0, EMUWIDTH, EMUHEIGHT);
@@ -522,8 +514,20 @@ OdysseyGameCore *current;
return OEIntSizeMake(TEX_WIDTH, TEX_HEIGHT);
}
- (const void *)videoBuffer
- (const void *)getVideoBufferWithHint:(void *)hint
{
if(!hint)
{
if(!mbmp)
{
hint = mbmp = (uint16_t*)malloc(TEX_WIDTH * TEX_HEIGHT * sizeof(uint16_t));
}
}
else
{
mbmp = hint;
}
return mbmp;
}
@@ -537,11 +541,6 @@ OdysseyGameCore *current;
return GL_UNSIGNED_SHORT_5_6_5;
}
- (GLenum)internalPixelFormat
{
return GL_RGB5;
}
- (NSTimeInterval)frameInterval
{
return 60;
@@ -551,7 +550,7 @@ OdysseyGameCore *current;
- (NSUInteger)channelCount
{
return 2;
return 1;
}
- (double)audioSampleRate
+1 -1
View File
@@ -340,7 +340,7 @@ static void draw_grid(void){
#ifdef __LIBRETRO__
//extern unsigned short int mbmp[TEX_WIDTH * TEX_HEIGHT];
extern uint16_t mbmp[TEX_WIDTH * TEX_HEIGHT];
extern uint16_t *mbmp;
void retro_blit(){