A month of planning and coding between other projects has brought BranchMap v1.0 to completion. Written entirely in Python, and tested on Linux and Windows, this program allows you to generate postscript or PDF files containing a summary and semi-graphical overview of z80 ASM code. I intended this project as a way to trace program flow without staring at thousands of lines of z80 code for hours. It can do all of the following and more:

:: Displays all files, labels, and jumps in source file(s)
:: Optionally track and displays calls and bcalls
:: Tracks and tries to determine stack depth of all instructions. Looks for unreachable blocks.
:: Finds and warns of dangerous stack manipulation, such as returning from a call with the stack pointer misset.
:: Displays easy-to-read color-coded cross-file call/jump references
:: Can optionally graphically track intra-routine stack manipulation
:: Easy-to-use PS/PDF output files

I've used it pretty thoroughly, testing everything from simple contrived source to Invalid Tangram to the monstrous behemoth that is Doors CS 7-in-progress. Doors CS has the most strange and tricky code, and hence had the most strange interpretations of nonstandard code, but even within the 108-page summary it produced there was a ton of useful information that I will be using to help me develop and debug faster, including 14 stack manipulation warnings.

BranchMap v1.0 (Direct Download)

Edit: BranchMap v1.0 has been featured on ticalc.org, the flagship community website. Thanks to everyone's positive comments there.


That looks great! Have you uploaded it to ticalc.org yet?
elfprince13 wrote:
That looks great! Have you uploaded it to ticalc.org yet?
Thanks, and of course! Smile I look forward to it being available there soon; when they process it, I'll update the article with a link. And as always, feel free to hit me with comments, questions, criticism and praise, and most importantly, feature requests and bug reports.
congrats on the feature on ticalc Kerm!
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz
Ultimate Dev'r wrote:
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz
Doors CS has never previously been featured on ticalc.org, mostly because Michael Vincent was the news editor, and Michael Vincent is not too fond of me for the n00b that I once was. He has never really forgiven me for that for some reason. Razz
Ultimate Dev'r wrote:
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz


There is of course the legal battle between us, the EFF, and TI for the right to release third-party operating systems as well as the official method of creating them which the whole world is watching.
brandonw wrote:
Ultimate Dev'r wrote:
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz


There is of course the legal battle between us, the EFF, and TI for the right to release third-party operating systems as well as the official method of creating them which the whole world is watching.


I read about that on google news; is the EFF going to pay for a lengthly legal battle?
Ultimate Dev'r wrote:
brandonw wrote:
Ultimate Dev'r wrote:
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz


There is of course the legal battle between us, the EFF, and TI for the right to release third-party operating systems as well as the official method of creating them which the whole world is watching.


I read about that on google news; is the EFF going to pay for a lengthly legal battle?
How lengthy could it be when TI has no ground to stand on?
calc84maniac wrote:
Ultimate Dev'r wrote:
brandonw wrote:
Ultimate Dev'r wrote:
KermMartian wrote:
Eeems wrote:
congrats on the feature on ticalc Kerm!
Thanks, Eeems. Smile I hope that brings the project a bit more attention, and it makes me hopeful that DCS7 might actually be featured once it's released/


Why wouldn't it be? Not like anything else is going on in the calc world Razz


There is of course the legal battle between us, the EFF, and TI for the right to release third-party operating systems as well as the official method of creating them which the whole world is watching.


I read about that on google news; is the EFF going to pay for a lengthly legal battle?
How lengthy could it be when TI has no ground to stand on?


This is America; he with the most money, lawyers and connections wins.
Ultimate Dev'r wrote:
This is America; he with the most money, lawyers and connections wins.


Ain't that the truth! This nation is so going to pot! Very Happy (except for the pot comment Sad )

By the way, great program! Smile Is there anyway you could port it over into binary files for the two systems? (Windows at least?) That would be great since the only time I have to do this kind of stuff is at the library or at school, it would be nice to be able to click and run without installing python. Thanks! Cool
Thanks! I don't see why not, isn't there a way to package Python scripts as executables? Elfprince, Kllrnohj, Python gurus?
py2exe/py2app will work for Windows and Mac respectively, and there's also cx_freeze, which apparently works on all platforms supported by Python.

Note that I've never tried any of those..
KermMartian wrote:
Thanks! I don't see why not, isn't there a way to package Python scripts as executables? Elfprince, Kllrnohj, Python gurus?


The last time I looked into such a thing it basically just created a C app that embedded the python runtime and called the script, so you still needed the python dll and such. It should work for what JustBasicElial wants, though.
JustBasicElial, do you still need this? I realized I haven't dealt with this in quite some time.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement