Idea for an MSX hardware config dumping tool

Pagina 1/2
| 2

Door Manuel

Ascended (18246)

afbeelding van Manuel

02-01-2006, 12:22

For good MSX emulation and for general interest (think about the MSX hardwarelist), we need good hardware info on the machines that we are trying to emulate or list.
I already asked BiFi a few days ago if he'd be interested in writing an MSX program that runs on any MSX and that can dump all data about this MSX to a file (either on tape or disk, the latter preferred of course), so that we can easily generate a hardwareconfig.xml (or similar for other emulators) from it.
I know quite some folks with rare MSXes, but there are simply no good tools to get all data from the MSX dumped...

A rough overview on what such a tool needs to output:
- ROM dumps of all embedded ROMs (may not be always possible to do it automatically for all ROM types, see the turboR e.g.)
- Complete slot layout
- Detection of VDP type, as accurately as possible
- Detection of amount of RAM and VRAM
- Detection of other MSX devices (the usual stuff mostly), I suppose an I/O port scan would be part of this as well
- Detection of disk drives and their type, if possible
- Actually: all info of the hardware of the machine that can possibly be extracted from an MSX program!

Well, you know what I mean Smile

So, the idea is that you just give this program to any user and that it dumps all detectable info about it on a disk or cassette and that this user sends it to emulator developers so that they can use the data to emulate the machine (I will of course also use it to update the MSX hardware list!). Hence, it should be as automatical as possible.

BiFi is a bit busy at the moment, so if someone else is interested in this: please create it! It would be extremely useful and you have the opportunity to combine all your detection algos in one program! Smile (Some could be reused from C-BIOS, new ones might be usable in C-BIOS or other projects...)

So, any MSX coding gurus who can do this: please think about it! Again: it would be extremely useful, at least for the emulation developers and for general interest things like the hardware list! I think that it could be an interesting project, even from programming point of view. It could also be a good resource: a nice collection of hardware detection routines.

(Maybe this topic should be moved to development? Or to emulation? Whatever...)

Aangemeld of registreer om reacties te plaatsen

Van SaebaMSX

Hero (533)

afbeelding van SaebaMSX

02-01-2006, 15:46

All you need is almost made in different tools, just try to get all the sources and join them. Wink

KSAVER.COM by K. Tsujikawa was a very good tool to dump internal roms (I think it was the name).

I believe that most of coders have such utils for their own purposes (of course more concrete utils), so they could share the sourcecodes...

Good luck! Tongue

Van BiFi

Enlighted (4348)

afbeelding van BiFi

02-01-2006, 18:29

it's not just internal roms here...it's also the complete slot structure and extra internal hardware which is detectable to create the openMSX hardwareconfig.xml file.

Van Manuel

Ascended (18246)

afbeelding van Manuel

02-01-2006, 18:41

Yep, some tools can dump roms, other tools display the slot layout, but there's no single tool that can do all of it. Also, I haven't seen any GOOD tools that do e.g. the slot layout (there seem to be bugs in MSXMEM).

Van SaebaMSX

Hero (533)

afbeelding van SaebaMSX

02-01-2006, 20:19

That is what I meant, surely some coders have that you ask for... compass tells you the slot layout... just ask for these sources and get it all working together. Smile

I am working in something like that right now, but my code is a bit crappy. I can give you it if you need it, just let me take all the bugs out first. Tongue And I already created a dumping roms tool (even internal roms). The problem is... there are much better tools than the one I created... as KSAVER or others (this one even lets you to copy turboR diskrom without disabling the diskdrive).

And BiFi, in order to get all the info with a ROMs searcher, you have to detect it all, so searching over all the slots/subslots is necessary (which normally a ROM dumper can implement).

Van Manuel

Ascended (18246)

afbeelding van Manuel

02-01-2006, 20:29

I'm not an MSX asm coder myself, so I'm not really capable to do it... That's why I was posting this: people, unite and write such a tool together!

Van BiFi

Enlighted (4348)

afbeelding van BiFi

02-01-2006, 20:47

actually, you need to search all pages in all slots...

Van SaebaMSX

Hero (533)

afbeelding van SaebaMSX

02-01-2006, 23:36

or course, that is obvious. Tongue

Right now my program does it for pages 1, 2 and 3 (for all slots/subslots depending if they are expanded or not). For page 0 it is the same, just relocating the code should be done but now I have more things to do. I'm sorry Manuel, I am not your man now since my skills does not let me to do it quickly, heheheh.

The best code I saw for this was called SIGSLOT by konamiman. It rocks. (But I don't remember if it works for each page, he could answer this I think). Tongue

And yes, that is a nice tool to be created, I hope someone more will colaborate.

Van NYYRIKKI

Enlighted (5889)

afbeelding van NYYRIKKI

03-01-2006, 06:09

Hmm... Yes, this can be done... First you would need to write program similar to MegaReport and then add dumping routines. It will newer work 100% sure, but I agree, that 90% is better than not trying at all. Expetially things like customized disk ROM's & used controller circuits can be really tricky to get detected right.

If you start doing this kind of hardware detection & dumping tool, I think, that more than fast you have a huge program, that is filled with exeption statements. I mean, that it is going to be like running Hardware Wizard on Win95 & 486 setup and hoping, that it will automaticly find all the needed drivers. Smile

How about turning the problem another way around... Make a program, that reads hardwareconfig.xml and makes a dump using that information?

...or maybe there should be detection and dumping tools as different (but compatible) programs... I just mean, that I really think, that automatic detection will not be working always, you should be able to modify the dumping rules by hand.

Van Manuel

Ascended (18246)

afbeelding van Manuel

03-01-2006, 11:14

MegaReport is indeed one of those programs that contain a lot of detection; it could also be a base for the config dumping tool.

Indeed, 100% is maybe not doable, especially because not everything can be detected from software. But a version that does the most important things at least, would already be very useful.

Turning it the other way round won't work, because for the MSXes we want to use this tool for, we don't have (enough) data to make a hardwareconfig.xml, that's exacty why we want to run the tool on those machines! Smile

After the detection and attempt to dump the ROMs, we could use the data to make a more specialized dumping routine (so indeed; modification of the dumping rules) to get the last details (and/or ROMs) out of the machine.

Van Manuel

Ascended (18246)

afbeelding van Manuel

21-01-2006, 15:24

NYYRIKKI: I found some idea from you called BITS: isn't this exactly the same, actually? Or mostly?

Pagina 1/2
| 2