Dump of megarom files within an emulaor

By nikodr

Paladin (748)

nikodr's picture

03-11-2006, 15:51

Within an msx2 i remember it was possible to dump the contents of megarom files and break them in to smaller kbyte files by doing the following:I know it is dangerous to load a cartridge into an msx2 while it is in use

You put the rom into slot 0 to 3

then

POKE &HF676,1
POKE &HF677,&HC0
POKE &HC000,0

NEW
OUT &HA8,(INP(&HA8) AND &B11001111) OR &B00010000

(this has to be the specific slot if not then change is required after the OR)

next usually someone can run the following program in the msx basic
it can save the contents of a 128 kbyte memory mapper in 16 files of 8 kbytes

10 X=15
20 FOR I=0 TO X
30 POKE &H9000,I
40 BSAVE "MEGAROM."+RIGHT$("000"+HEX$(I),3),&H8000,&H9FFF
50 NEXT

the previous listings were taken from http://www.secoh.ru/msx/emulator/msx1emul.doc.txt

The problem is that i have not found a way for the emulators to allow me to insert a cartridge
while the emulator is in use,it resets!Is there a way for this to be done in a emulated enviroment?

Actually what i want to do is make cracks of 128kbyte games for 128kbyte ram machines only and i need to break
the rom into smaller files and i would not want to risk putting anything on my msx while it is in use.

It this possible?
Thank you

Login or register to post comments

By wolf_

Ambassador_ (9950)

wolf_'s picture

03-11-2006, 15:54

try NLMSX

By arnold_m

Master (173)

arnold_m's picture

03-11-2006, 16:39

Try openMSX and insert the megarom using the console:
carta /path/to/megarom
Alternatively, if you have a posix compliant system you can use split to break down the megarom image into smaller files:
split -bytes=8k mega.rom megarom.
You can then copy the resulting files to a floppy disk for use on your msx.

By mars2000you

Enlighted (6179)

mars2000you's picture

03-11-2006, 17:13


The problem is that i have not found a way for the emulators to allow me to insert a cartridge
while the emulator is in use,it resets!Is there a way for this to be done in a emulated enviroment?

In blueMSX, you need only to deselect the "Reset After Insert/Remove" feature in the File/Cartridge Slot 1 menu.

By AuroraMSX

Paragon (1902)

AuroraMSX's picture

03-11-2006, 17:30

It this possible?
Thank you
Eh Question Why go through all that fuzz (hi ro! Smile) if you already have the ROM file?
A simple script in any PC programming language - bash, perl, python, Java, C, or even Visual Basic (take your pick) - should suffice to split a romfile into 16KB chunks...

By pitpan

Prophet (3152)

pitpan's picture

03-11-2006, 17:44

Or if you download asMSX v.0.12e (http://www.robsy.net) you can use a simple way:

; asMSX 0.12e sample program
; -Extracts a 16 KB data chunk from any file
; Substitute the N with the selected page value and assemble

.incbin "megarom.rom" skip 16384*N size 16384

; Assemble the program and the output will be the 16 KB block you wanted ;)
; Of course, using SPLIT is easier...

By cax

Prophet (3737)

cax's picture

03-11-2006, 23:14

You can use any hex editor to save file blocks,
and there are also tons of special split utilities on the net...