New tool to read openMSX savestates into MSX2 or FPGA

ページ 2/3
1 | | 3

By Manuel

Ascended (18784)

Manuel さんの画像

15-09-2020, 22:24

Well, it would cost 4 I/O ports... Now it's one memory location.

By mcolom

Master (241)

mcolom さんの画像

15-09-2020, 22:42

Manuel wrote:

Well, it would cost 4 I/O ports... Now it's one memory location.

In the main system, moreover. Putting it as a memory location moves the complexity of the circuitry to the connected device. Perhaps that's the reason...

By pgimeno

Champion (317)

pgimeno さんの画像

15-09-2020, 23:45

My (uninformed) guess is that as MMIO, it's automatically mapped to the currently selected primary slot in page 3, so that may mean less extra circuitry to let the user select the primary slot that the desired secondary slot mapping applies to.

By gdx

Enlighted (5492)

gdx さんの画像

16-09-2020, 02:16

mcolom wrote:

Sure, and not taking that into account is a flaw of the sofware. That's why I said programmers without access to documentation.

I don't know where it came from but in Europe many people thought that MSX1 machines can't have expanded slots. I saw this several times at the time and many programs were developed like this. For cartridges this is understandable as MSXs normally have at least one primary slot but for other software I think there is false information that circulated.

By Grauw

Ascended (10581)

Grauw さんの画像

16-09-2020, 02:36

People drew conclusions based on a limited set of machines they had access to and circulated this as fact.

By mcolom

Master (241)

mcolom さんの画像

31-10-2020, 20:01

I've added another tool (same repository) to convert states into ROMs.
It seems to work with most games, but still not finished. For the moment it can't handle the case the game has selected the system's ROM (only RAM in the four slots), and when using interrupt mode IM 2.
The MSX-DOS tool is more advanced, but the ROM one seems to go towards the right direction! Smile

By mcolom

Master (241)

mcolom さんの画像

01-04-2022, 21:21

Hi all!
Just to let you know that I've released a new version of this MSX-DOS tool to load openMSX savestates into real MSX with memory mappers.

Not 100% perfect, and a few games might present some small graphical corruption or even hang sometimes.
But many others work flawlessly Smile
Useful as a fast way to play those games in CAS format which can't be loaded with the usual patching tools.

Link to this release: https://github.com/mcolom/MSX_lstate/releases/tag/v1.0

By Manuel

Ascended (18784)

Manuel さんの画像

01-04-2022, 21:32

Can you explain what the tool does exactly?

By mcolom

Master (241)

mcolom さんの画像

01-04-2022, 21:48

Manuel wrote:

Can you explain what the tool does exactly?

Sure.
My motivation for this was that I couldn't play many of the CAS games I had as a child in my OCM (soon I'll be able to try on a real machine myself). Most of the time the existing tools simply can't load them, probably because they read the cassette port directly instead of using the BIOS.

The idea is to load the CAS into an emulated MSX1 (I use the Sony_HB-20P) and save a state. Then, there's a small Python script which read the state and converts it into a de-compressed format which can be used directly by the MSX-DOS tool. This file contains essentially the value of the CPU and VDP registers, and dumps of the RAM and VRAM.

The tool reads the file and dumps the RAM contents of the state in segments of the memory mapper, dumps also the VRAM, configures the pages of the memory and the segments of the mapper to to what the game expects, and finally jumps to the PC address given in the state.

As I say, for some games it works perfectly, but for others there's still work to do.
I can send you some files for the games which work well, if you want to try Smile

By Grauw

Ascended (10581)

Grauw さんの画像

02-04-2022, 02:12

That’s pretty cool! I wonder what’s wrong with the games where it doesn’t work.

ページ 2/3
1 | | 3