notaz.gp2x.de
/
fceu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fixed: broken fs0, sram saves
[fceu.git]
/
fds.c
diff --git
a/fds.c
b/fds.c
index
8e2fa60
..
e5307ac
100644
(file)
--- a/
fds.c
+++ b/
fds.c
@@
-22,6
+22,10
@@
#include <stdlib.h>
\r
#include <string.h>
\r
\r
#include <stdlib.h>
\r
#include <string.h>
\r
\r
+#ifdef GP2X
\r
+#include <unistd.h> // for sync()
\r
+#endif
\r
+
\r
#include "types.h"
\r
#include "x6502.h"
\r
#include "fce.h"
\r
#include "types.h"
\r
#include "x6502.h"
\r
#include "fce.h"
\r
@@
-85,12
+89,13
@@
static uint8 SelectDisk,InDisk;
\r
#define DC_INC 1
\r
\r
\r
#define DC_INC 1
\r
\r
-void FDSGI(int h)
\r
+void FDSGI(int h
, void *param
)
\r
{
\r
switch(h)
\r
{
\r
case GI_CLOSE: FDSClose();break;
\r
case GI_POWER: FDSInit();break;
\r
{
\r
switch(h)
\r
{
\r
case GI_CLOSE: FDSClose();break;
\r
case GI_POWER: FDSInit();break;
\r
+ case GI_INFOSTRING: sprintf(param, "FDS, Sides: %d", TotalSides);break;
\r
}
\r
}
\r
\r
}
\r
}
\r
\r
@@
-150,9
+155,9
@@
static void FDSInit(void)
int page;
\r
// asm code needs pages to be set again..
\r
for (page=12; page<28; page++) // 0x6000-0xdfff 32K RAM
\r
int page;
\r
// asm code needs pages to be set again..
\r
for (page=12; page<28; page++) // 0x6000-0xdfff 32K RAM
\r
- Page[page]=FDSRAM - (
page<<11) + ((page-12)
<<11);
\r
+ Page[page]=FDSRAM - (
12
<<11);
\r
for (; page<32; page++) // 0xe000-0xffff 8K BIOS
\r
for (; page<32; page++) // 0xe000-0xffff 8K BIOS
\r
- Page[page]=FDSBIOS - (
page<<11) + ((page-28)
<<11);
\r
+ Page[page]=FDSBIOS - (
28
<<11);
\r
}
\r
#endif
\r
}
\r
}
\r
#endif
\r
}
\r
@@
-910,10
+915,12
@@
void FDSClose(void)
{
\r
FILE *fp;
\r
int x;
\r
{
\r
FILE *fp;
\r
int x;
\r
- char *fn
=FCEU_MakeFName(FCEUMKF_FDS,0,0)
;
\r
+ char *fn;
\r
\r
if(!DiskWritten) return;
\r
\r
\r
if(!DiskWritten) return;
\r
\r
+ fn=FCEU_MakeFName(FCEUMKF_FDS,0,0);
\r
+
\r
if(!(fp=FCEUD_UTF8fopen(fn,"wb")))
\r
{
\r
free(fn);
\r
if(!(fp=FCEUD_UTF8fopen(fn,"wb")))
\r
{
\r
free(fn);
\r
@@
-932,4
+939,8
@@
void FDSClose(void)
}
\r
FreeFDSMemory();
\r
fclose(fp);
\r
}
\r
FreeFDSMemory();
\r
fclose(fp);
\r
+#ifdef GP2X
\r
+ sync();
\r
+#endif
\r
}
\r
}
\r
+
\r