Issue title: "cache" for arcade games
 Issue body: Hi

I know that this could be/is a non issue but I want to express anyway (you can close right away the issue if its a bad idea) with arcade game "roms" being bigger and bigger and making some shuffle with reading and byte order, taking a "while" to boot, why not to have a "simple caching system".

My idea:
- mister loads the mra and checks for md5 in index. if md5 is filled it checks for md5.rom in a specific cache folder. if it isn't there it will try to load parts from mra (like today)
- if mra has the md5 filled and if the load is successful it saves that "rom" like md5.rom to be used the next time..


 Comments: 
 Comment 0: I think this would be benefitial. CPS1 games at least take very long to load, particularly when compared to MiST. So MRA is absolutely great but a twist for performance would be nice.
I think caching ROM index 0 is the only one that makes sense.
 Comment 1: Some arcades like CPS1 take long time to start, so cache won't make it start quick.
Also MiSTer policy: minimize writes as much as possible.

COMPLETELY DISAGREE!
 Comment 2: MiSTer supports loading to DDR3 which is much faster.
So FPGA can pick the ROM from DDR3 and copy to SDRAM.
From whole loading time (including construction the ROM from parts) it may shorten the loading time twice, i think.
 Comment 3: CPS1 uses byte transfer instead of word - lol.. 
 Comment 4: > As for "CPS1 games at least take very long to load, particularly when compared to MiST." this is utterly untrue. Loading just raw data from SD card to FPGA on MiST for file ~6MB takes forever. So don't spread false info.

Alexey, come on. Look, MiST now has a direct SD card control system, which means that the SD card is read at core speed, in this case 96MHz. Street Fighter 2 (7.3 MB) gets read in measured 5 seconds in MiST. The same game takes measured 8 seconds in MiSTer LOL. Maybe it's a small difference. I'll try using word writes and see if the bottle neck is there.


 Comment 5: SPI interface for SD cards is max 50MHz AKAIK. Definitely not 96MHz.
I've told you many times, leave MiSTer port for developers who know how to make it more effective.
 Comment 6: 5s MiST
8s MiSTer

That's all my input. Do with this whatever you see fit.
 Comment 7: NeoGeo core can load a 128mb rom in about 15 seconds. I think maybe the problem isn't with MiSTer.
 Comment 8: well because the main idea will not be done (already answered why), should the issue be closed?
 Comment 9: > 
> 
> NeoGeo core can load a 128mb rom in about 15 seconds. I think maybe the problem isn't with MiSTer.

The load speed is set by MiSTer not by the core. I think the core can only select between 8 or 16 bit transfer, which should be a factor of 2 in the result. Other than that, it is completely passive as far as I know.

I guess there is a large difference in the time needed to process the NeoGeo MRA vs the CPS1 MRA.
 Comment 10: Processing of MRA is finished before USER LED turned ON.
 Comment 11: Just a final remark: using the 16-bit interface roughly took the time down to half so now MiST and MiSTer versions load games at about the same speed.
{'source': 'GithubIssues', 'repo_name_with_owner': 'MiSTer-devel/Main_MiSTer', 'issue_id': 596746330, 'repo_stars': 2650.0}