MiSTer-devel / MSX_MiSTer

MSX for MiSTer
41 stars 22 forks source link

ROM to VHD converter and autoreset on mount feature #11

Closed nilp0inter closed 4 years ago

nilp0inter commented 4 years ago

Hi,

I found the process of SD creation pretty challenging because in my case the core rejected almost all SD card I have. Then I discovered I can create VHD files and mount them through the menu which I think is much more convenient.

The only problem I see with .VHD files is that is painful to update the .VHD file to add more ROMs.

That's why I coded this tool (msxrom2vhd). With it you can pack a MSX .ROM file into a .VHD image with the necessary files and configuration to autorun the .ROM file at core startup.

This is working great for me and the UX is getting similar to the console cores, where you can select the ROM file from the MiSTer menu and the game starts automatically. The last thing that is different from the UX point of view is that with the MSX core and the .VHD files I create you have to load the file and then reset the core.

I am thinking about adding an option to the core's menu to automatically reset the core when a new .VHD file gets mounted.

Are you open to this contribution?

P.S. Sorry for the long history.

MP2E commented 4 years ago

Yes, that would be great! I am planning on adding direct cartridge rom loading support to the MISTer menu, however, I am still new to HDL and tackling smaller tasks before I do that, so this would be a very very nice stopgap measure.

In general, I do think that the core should automatically reset on menu selection of a VHD or ROM anyway.

Also I greatly appreciate you making this utility, this will be quite useful

nilp0inter commented 4 years ago

Thank you!

I think direct rom loading support is the way to go but, as you mentioned this can be a good temporary measure.

I do think that auto reset on ROM change is correct, but I am not sure about auto reset on VHD change. Couldn't be the case that some software requires a disk change on the middle of the execution? I've never used a real MSX with disks, so I really don't know how the system should behave in this case.

So, if you agree, I am going to try to write a pull request implementing this feature (I am pretty new to HDL too) and test it against some .VHD files generated with my tool.