 |
| View previous topic :: View next topic |
 |
 |
samor
Joined: 18 Sep 2006 Posts: 8
|
Posted: Mon Oct 23, 2006 9:13 pm Post subject: Gamereader workaround.... |
|
|
Since the implementation of the gamereader in bluemsx, it's been clear that this method, while accurate, is kinda slow, probably because the gamereader was not designed that way. It appears the MSXPLAYer emulator simply dumps the roms before running it.
That gave me an idea... a really simple one actually.
Vincent van Dam's grdump tool does just that, dumping a game.... as long as you specify the correct mapper it ought to make a working dump.
I figured, what's keeping me from making a simple batch script (or frontend, but a script seemed sufficient) that uses grdump to dump a rom and then boots that dumped rom in an emulator?
Allthough that way it's not really the gamereader running in bluemsx, it does work well, and it seems as if it's really running it (hence why I named the script PretendPlayer )
Here's the batch script ...5 minutes of work was enough (I got the dump parameters from Bifi's site). For it to work, it's convenient to place both grdump.exe and this script in the bluemsx directory (and optionally make a shortcut from there).
| Code: |
@echo off
del temp.rom
cls
:start
ECHO PretendPlayer - simple batch script to use grdump with your favourite emu
echo.
echo Please specify the rom type inserted in the Game Reader
echo 1-Normal
echo 2-ASCII 8Kb
echo 3-ASCII 16Kb
echo 4-Konami Megarom (NO SCC)
echo 5-Konami Megarom (SCC)
echo.
set choice=
set /p choice=Your choice:
if not '%choice%'=='' set choice=%choice:~0,1%
if '%choice%'=='1' goto normal
if '%choice%'=='2' goto ascii8
if '%choice%'=='3' goto ascii16
if '%choice%'=='4' goto konami4
if '%choice%'=='5' goto konami5
ECHO "%choice%" is not a valid entry
ECHO.
goto start
:normal
grdump -b 4000 -s 8000 temp.rom
goto end
:ascii8
grdump -b a000 -s 2000 -m 7800 -n 16 temp.rom
goto end
:ascii16
grdump -b 8000 -s 4000 -m 7000 -n 8 temp.rom
goto end
:konami4
grdump -b a000 -s 2000 -m a000 -n 16 temp.rom
goto end
:konami5
grdump -b a000 -s 2000 -m b000 -n 16 temp.rom
goto end
:end
bluemsx temp.rom
|
That's all very basic, yes (just the most common mappers too).
Something like this could be "fancified" in a frontend, or, what I think would be better, it could be easily implemented within BlueMSX.
While it's more of a pretend-mode than true cartridge emulation, due to the gamereader's design I think you're gonna end up with something like this anyway. |
|
| Back to top |
|
 |
BiFiMSX
Joined: 15 May 2004 Posts: 72
|
Posted: Thu May 17, 2012 5:03 am Post subject: |
|
|
Nice and simple... there are a few small side notes about this:
1. In the batch file the Normal option only dumps 32KB in a single range. There is no way to dump 8KB, 16KB or 48KB (grdump needs 2 ranges to dump 64KB) in any of the other ranges.
2. Yes, it's slow, but blueMSX can run many more cartridges like this without the requirement of extra romtype emulation, as the actual hardware is used. _________________ バイファイ
Personal Home Page, Funet MSX Archive, MSX IPS Patch Archive |
|
| Back to top |
|
 |
|
|
You can post new topics in this forum You can reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|