openMSX toolset

By PingPong

Prophet (3460)

PingPong의 아바타

06-10-2019, 20:43

Hi, all.
i wondering how much complex is to create this kind of tools using TCL in openMSX. I do not know a single bit of TCL nor i ignore how much deeper is the integration in openMSX. There are my wishes, aimed most at hacking and or convertion from ZX Spectrum or other platforms and patching existing msx games:

- Call Graph/Profiler tool: the tool should have the ability to trace and record the call graph the z80 is executing with addresses, number of calls, time wasted, and memory slot configuration during the call.
- On the fly VRAM Spectrum to MSX2 screen 2: this tool should dump the ZX Spectrum Display File (VRAM) and quickly convert to Screen 2 in a transparent way. this allows for ZX Spectrum convertions more easily. Just load the Speccy code and let it to draw in it's own display buffer like it was on a spectrum machine, transparently dumping in MSX VDP VRAM.
So while you do your conversion you can posticipate the graphic routine management and see what is happening on screen.

so i ask, are those tool possible with current openMSX TCL integration?

Login or 등록 to post comments

By Grauw

Ascended (8515)

Grauw의 아바타

06-10-2019, 20:50

For profiling code see this thread.

TCL is a bit of an unusual programming language (“everything is a string” based philosophy), but with some perseverance you’ll get used to its quirks, and it can do quite a lot of cool stuff for development in the emulator.

By PingPong

Prophet (3460)

PingPong의 아바타

06-10-2019, 21:15

thanks Grauw, but i'm concerned about "hooks". For example, for the ZX Spectrum VRAM -> Screen 2 conversion one thing i need is somewhat like a piece of code that execute at every vblank or at least periodically (20ms). Is there a way to hook some piece of code in openMSX?

By Manuel

Ascended (15829)

Manuel의 아바타

06-10-2019, 22:29

Yes, with the after command you can execute code on many kinds of events, like frame, time, etc. See https://openmsx.org/manual/commands.html#after