| 07 Oct 2009 01:39:35 am by KermMartian |
BranchMap v1.0 |
Quote |
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.
 |
| 07 Oct 2009 08:33:46 am by elfprince13 |
|
Quote |
| That looks great! Have you uploaded it to ticalc.org yet? |
| 07 Oct 2009 10:15:13 am by KermMartian |
|
Quote |
| elfprince13 wrote: |
| That looks great! Have you uploaded it to ticalc.org yet? |
Thanks, and of course! 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. |
| 08 Oct 2009 04:00:57 pm by Eeems |
|
Quote |
| congrats on the feature on ticalc Kerm! |
| 08 Oct 2009 04:43:09 pm by KermMartian |
|
Quote |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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/ |
| 08 Oct 2009 06:14:54 pm by Ultimate Dev'r |
|
Quote |
| KermMartian wrote: |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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  |
| 09 Oct 2009 03:31:29 pm by KermMartian |
|
Quote |
| Ultimate Dev'r wrote: |
| KermMartian wrote: |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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  |
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.  |
| 15 Oct 2009 07:53:23 am by BrandonW |
|
Quote |
| Ultimate Dev'r wrote: |
| KermMartian wrote: |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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  |
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. |
| 15 Oct 2009 03:22:47 pm by Ultimate Dev'r |
|
Quote |
| brandonw wrote: |
| Ultimate Dev'r wrote: |
| KermMartian wrote: |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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  |
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? |
| 15 Oct 2009 03:41:37 pm by calc84maniac |
|
Quote |
| Ultimate Dev'r wrote: |
| brandonw wrote: |
| Ultimate Dev'r wrote: |
| KermMartian wrote: |
| Eeems wrote: |
| congrats on the feature on ticalc Kerm! |
Thanks, Eeems. 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  |
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? |
| 15 Oct 2009 05:16:43 pm by Ultimate Dev'r |
|
Quote |
| 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. 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  |
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. |
| 25 Nov 2009 02:16:18 pm by JustBasicElial |
|
Quote |
| 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! (except for the pot comment )
By the way, great program! 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!  |
| 25 Nov 2009 03:13:11 pm by KermMartian |
|
Quote |
| Thanks! I don't see why not, isn't there a way to package Python scripts as executables? Elfprince, Kllrnohj, Python gurus? |
| 25 Nov 2009 04:19:21 pm by Tari |
|
Quote |
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.. |
| 25 Nov 2009 11:59:17 pm by Kllrnohj |
|
Quote |
| 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. |
| 14 Dec 2009 04:53:21 pm by KermMartian |
|
Quote |
| JustBasicElial, do you still need this? I realized I haven't dealt with this in quite some time. |