Msx games dissasembled source code archives

Страница 3/3
1 | 2 |

By santiontanon

Paragon (1639)

Аватар пользователя santiontanon

07-01-2018, 21:54

@NYYRIKKI very looking forward to developments in your tool! I have always been very curious to see how Konami handled a few of their routines in some of their games!

And perhaps looking at the code would finally help me know why does Nemesis 3 have a 0.5 seconds pause toward the beginning of level 2! Smile

By NYYRIKKI

Enlighted (5939)

Аватар пользователя NYYRIKKI

07-01-2018, 22:14

Manuel wrote:

NYYRIKKI: very interesting! Is this a tool running on the MSX, like your AI?

Yes, naturally. Big smile

PingPong wrote:

I'm wondering if this kind of tool can be used to identify gfx routines on zx spectrum ported games and related gfx data in order to convert to msx2 gfx or improve msx1 with sprites.

Why not... It does not take away the effort of doing so, but naturally it is much easier to start this kind of project if you have a source code first. How ever as I said it does not quite work yet and so I can't say much about output quality ATM... Naturally I've placed the bar quite high, but until all parts work as intended it is very hard to evaluate how well it will work in the end.

Quote:

Can you give some more info about the pratical usage of your AI tool?

The original AI is actually pretty dead simple to use... You need to adjust few routines, pointers and tables to describe the environment where the evaluated routines should be working, but that sounds more hard than it is. After that you just point (HL) the memory location where you expect to be Z80-code and call the AI-routine. The routine then returns you result in C-flag indicating either "Yes, this code looks ok" or "No, I don't think I should execute this". When combined with simple string search this is how I have ie. located all the I/O routines that should be patched in games when they run in SVI or Memotech. (There is platform customized C-BIOS & other support routines in RAM, so that BIOS routines don't need patching)

This new AI is quite a bit more complex to get in to as there is this "Falken" around that runs the show. It's main purpose is to find & report data & code blocks with kind of intelligent paint routine as well as keep track of how memory is used. They share some of the information with each other. These routines call each other back and forth and there are loop limitters so that they don't end up to endless loops and eat all memory while making decisions together. Falken's job is to generate metadata in multiple passes so that different parts can be identified correctly. After they are happy they give execution to post processing that generates the final code map from the generated data or passes the execution back to the AI pair if linear processing still finds unknown holes from the plan. In this case the evaluation starts again using already generated data & found hole as input. Practically only way to control Falken is to pregenerate as much as possible metadata from the known facts (such as known entry points) before start. I don't want to go any deeper down to the details as all of them may still change.

By NYYRIKKI

Enlighted (5939)

Аватар пользователя NYYRIKKI

07-01-2018, 22:21

santiontanon wrote:

@NYYRIKKI very looking forward to developments in your tool! I have always been very curious to see how Konami handled a few of their routines in some of their games!

And perhaps looking at the code would finally help me know why does Nemesis 3 have a 0.5 seconds pause toward the beginning of level 2! Smile

I don't think this will help with Nemesis 3... Currently I do not support any kind of mapped memory... and I probably will not ever do so because that would pretty much explode the metadata size & handling complexity to a level I can't maintain.

By Gregory

Master (197)

Аватар пользователя Gregory

04-04-2022, 03:24

Maybe this is of interest:
Reversing Z80
But I don't know if similar tools are available for the MSX.

Страница 3/3
1 | 2 |