|
Login [Register]
Latest Headlines
» TI, the DMCA, and the Calculator Programming Community
» BranchMap v1.0 » BranchMap Beta 1 » [Idea] Calculator Laptop
Online Users
There are a total of 11 users online: 1 member, 7 guests and 3 bots.
Member: KeithJohansen. Bots: MSN (1), Googlebot (1), Yahoo! Slurp (1).
RSS Feeds
SAX
You must log in to view the SAX chat widget
|
TI, the DMCA, and the Calculator Programming Community
Published by KermMartian on October 30, 2009 at 9:14:15 AM CST | Discuss this article (50)
We haven't really discussed this ongoing situation here at Cemetech, but unless you've been living in a hole for the last few months and/or don't keep up with TI community news, there's an ongoing battle between our favorite technology giant and the community about the keys used to sign the TI-OS. As many of you know, we've long been able to sign our own Apps using the 0104 key, but that was not always the case. Back in the day you had to submit Apps to TI, who would approve (or disapprove) and then sign your Apps for distribution. The TI-OS, however, is signed by a similar key, a mathematical combination of two very large prime numbers. To date, the community has had to use various tricks and hacks in order to trick the calculator into accepting an unsigned OS, but recently, the situation changed. On July 31st, 2009, ticalc.org reported that Benjamin Moody, a member of United TI and other sites, had posted the factorization of the TI-83+ OS key, which would allow programmers to sign their own OSes. Flush with excitement, members of the community quickly set up an initiative to factor the remaining calculator keys via distributed computing. Needless to say, TI was not happy, and responded swiftly and vengefully. A week after the last key was factored, TI started sending DMCA takedown notices to UnitedTI, Benjamin Moody, Brandon Wilson, and many others who either worked on the key-cracking project or hosted the results on their websites. The keys appeared on Wikileaks following the takedown notices, and on October 13th, ticalc.org once again reported that the Electronic Frontier Foundation (EFF), an organization that fights for the rights of free/open-source software authors and reverse-engineers, had taken up the banner for the community. They took over legal defense for the interested parties, issued a press release warning TI against issuing improper DMCA takedown notices, and stated that pending subsequent developments, the keys would be reposted on October 26th, 2009. The Internet always loves a story of David vs. corporate Goliath, so soon stories on the topic appeared at Slashdot, Boing Boing, CNet, Ars Technica, and innumerable websites and blogs around the internet. Two days later, CNet then posted another article addressing the TI calculator hacking and programming community, and what drives us to do what we do; the IEEE Spectrum, the publication of the largest associated of Electrical Engineers, has written a similar article criticizing TI and supporting the community's efforts. This morning, ticalc.org posted the latest update, that since TI has not addressed the EFF's ultimatum regarding October 26th, and in fact continues to spam websites and universities with improper takedown notices, that the original keys have been restored to their original websites. So what do you think? Even though the TI-OS is not covered as encrypted content under the DMCA, is the community wrong to want to modify the software on hardware that they own? Is this incident an example of the problems with the DMCA or an argument towards why the DMCA is important? What should the key-crackers and posters do? Permalink |
BranchMap v1.0
Published by KermMartian on October 7, 2009 at 2:39:35 AM CST | Discuss this article (11)
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. Edit: BranchMap v1.0 has been featured on ticalc.org, the flagship community website. Thanks for everyone's positive comments there.
Permalink |
BranchMap Beta 1
Published by KermMartian on September 17, 2009 at 2:08:01 AM CST | Discuss this article (18)
After a bit over a week of heavy-duty Python coding, I'm ready to unveil the first beta of BranchMap, a tool to simplify tracing and debugging program flow in z80 ASM source code. It takes in a plaintext z80 source file, parses it and any files included in that source file, and generates a postscript or (optionally) PDF file containing a detailed representation of the program flow. It can do all of the following and more: :: Displays all files, labels, and jumps in source file(s) :: Tracks and tries to determine stack depth of all instructions. Looks for unreachable blocks. :: Displays easy-to-read color-coded cross-file call/jump references :: Can optionally track calls and bcalls :: 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. I humbly request that you give this little program a download, run branchmap.py -h to see what you can do, and try out some of your own z80 ASM programs on it. I look forward to all your comments, criticisms, feedback, suggestions, bug reports, and feature requests. Permalink |
[Idea] Calculator Laptop
Published by KermMartian on September 11, 2009 at 9:58:44 PM CST | Discuss this article (66)
Someone inspired me to think about this project, so here it is. Basically, it would be reconfiguring a TI-84+ calculator to fit inside a clamshell form-factor. I'm considering a Nintendo DS-sized case for it, but that might be too small to fit the keyboard that I want. Here's the basic outline, sketched roughly below. The (backlit) LCD would go in the top half of the clamshell, flanked by two piezo speakers. In the body would be a (probably) rechargeable lithium-polymer battery, the mainboard of the calculator, and a second PCB containing a microcontroller for the trackball, the amp for the piezo speakers, breakouts for the connectors along the right side, and of course contacts for the reconfigured keypad, shown in the second image.
Now, I know that a lot of you are going to kvetch and moan about how everything's moved around, it makes no sense to rearrange the keypad into a qwerty layout, it's going to be a horrible pain to find the number keys, and I hear you. To you I say, sure, this isn't for everyone. However, over the first few months of using my calculator, I quickly learned to touchtype in the awkward ALPHA layout, and I know from intuition and our interactions on the forums that most of you did as well to at least some extent. I think it will be at least as easy to learn this layout, if not easier. I believe that it will be significantly easier, because the tiny-font alpha functions are where you'd expect from typing on a computer, and the rearranged "main" key functions (like math operators, numbers, etc) are written in much larger font on each key.
As always, because of the massive numbers of projects I have on my plate or planned before you even begin to consider my academic projects, my personal life, and work, I give no guarantees that I will get to working on this project in the near or foreseeable future. With that said, I'll certainly try to make time for it, and I hope all of you will post comments, thoughts, and criticisms. Permalink | |
![[RSS]](/forum/templates/Cemetech6/images/rss.png)