Jump to content
Sign in to follow this  
RevEng

780heat - profiling tool

Recommended Posts

Just a heads-up that I put together a tool - 7800heat - that can be used for performance analysis of 7800 games.

 

The basic idea is you run your game in a7800/mame with tracing turned on, which logs all executed instructions to a trace file. 7800heat will take this trace file and generate an html disassembly file, with lines colorized based on how many times they were encountered. Less frequently encountered code is blue, and most-frequently encountered code is red. You can then see where the hot spots are, so you can better spend your optimisation time.

 

While it's fairly basic, already I've found it useful. Running the tool against an existing 7800basic homebrew, I already found one area for improvement in the sprite-indexing code I use.

 

Presently only flat roms and SuperGame bankswitching is supported. The generated hotspot assembly is generic, so I find the best approach is to find the hotspot, and then figure out exactly where it is by looking at the corresponding area of my project's dasm list file.

 

A heatmap from salvo is attached, for the curious. Enjoy!

salvo-heatmap.html

  • Like 8

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...