From cd3c763e6ef2a5b4d0777eb39d2a41451df7c344 Mon Sep 17 00:00:00 2001 From: Robbbert Date: Mon, 7 Oct 2013 18:20:52 +0000 Subject: [PATCH] (MESS) vboy : added fullpath support for small homebrews (nw) --- src/mess/drivers/vboy.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/src/mess/drivers/vboy.c b/src/mess/drivers/vboy.c index 0570fe7d179..42ca78eb0d7 100644 --- a/src/mess/drivers/vboy.c +++ b/src/mess/drivers/vboy.c @@ -1357,21 +1357,28 @@ DEVICE_IMAGE_LOAD_MEMBER( vboy_state, vboy_cart ) if (image.software_entry() == NULL) { cart_size = image.length(); + image.fread(ROM, cart_size); switch (cart_size) { + case 0x001000: + memcpy(ROM + 0x001000, ROM, 0x001000); + case 0x002000: + memcpy(ROM + 0x002000, ROM, 0x002000); + case 0x004000: + memcpy(ROM + 0x004000, ROM, 0x004000); + case 0x008000: + memcpy(ROM + 0x008000, ROM, 0x008000); + case 0x010000: + memcpy(ROM + 0x010000, ROM, 0x010000); + case 0x020000: + memcpy(ROM + 0x020000, ROM, 0x020000); + case 0x040000: + memcpy(ROM + 0x040000, ROM, 0x040000); case 0x080000: - image.fread(ROM, cart_size); - memcpy(ROM + 0x080000, ROM, cart_size); - memcpy(ROM + 0x100000, ROM, cart_size); - memcpy(ROM + 0x180000, ROM, cart_size); - break; + memcpy(ROM + 0x080000, ROM, 0x080000); case 0x100000: - image.fread(ROM, cart_size); - memcpy(ROM + 0x100000, ROM, cart_size); - break; - case 0x200000: + memcpy(ROM + 0x100000, ROM, 0x100000); default: - image.fread(ROM, cart_size); break; } }