notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minor refactoring (lprintf)
[picodrive.git]
/
pico
/
cart.c
diff --git
a/pico/cart.c
b/pico/cart.c
index
42d0817
..
8ac330a
100644
(file)
--- a/
pico/cart.c
+++ b/
pico/cart.c
@@
-439,6
+439,9
@@
static unsigned char *PicoCartAlloc(int filesize, int is_sms)
if (filesize > (1 << s))
\r
s++;
\r
rom_alloc_size = 1 << s;
\r
if (filesize > (1 << s))
\r
s++;
\r
rom_alloc_size = 1 << s;
\r
+ // be sure we can cover all address space
\r
+ if (rom_alloc_size < 0x10000)
\r
+ rom_alloc_size = 0x10000;
\r
}
\r
else {
\r
// make alloc size at least sizeof(mcd_state),
\r
}
\r
else {
\r
// make alloc size at least sizeof(mcd_state),
\r
@@
-592,6
+595,17
@@
int PicoCartInsert(unsigned char *rom, unsigned int romsize, const char *carthw_
return 0;
\r
}
\r
\r
return 0;
\r
}
\r
\r
+int PicoCartResize(int newsize)
\r
+{
\r
+ void *tmp = plat_mremap(Pico.rom, rom_alloc_size, newsize);
\r
+ if (tmp == NULL)
\r
+ return -1;
\r
+
\r
+ Pico.rom = tmp;
\r
+ rom_alloc_size = newsize;
\r
+ return 0;
\r
+}
\r
+
\r
void PicoCartUnload(void)
\r
{
\r
if (PicoCartUnloadHook != NULL) {
\r
void PicoCartUnload(void)
\r
{
\r
if (PicoCartUnloadHook != NULL) {
\r