This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Messages - FloppusMaximus
Pages: 1 ... 9 10 [11] 12 13 ... 20
151
« on: January 01, 2011, 10:17:13 pm »
Could one theoretically unlock flash, write a routine to output to protected ports to a privileged page, and adjust those ports?
Yes, theoretically, that should be possible. The simplest way to adjust the Flash execution limits, though, is to use the BCALL 80CF. Will the OS change them outside of receiving/deleting apps? I don't think so, but I'm not sure. On a related note, WikiTI's Port $05 page makes it seem like, on a regular TI-83+, the execution protection could be removed. Do you know if this is possible?
I believe so.
152
« on: January 01, 2011, 09:29:06 pm »
Right. The OS adjusts the limits whenever you install or delete an application. On the SE/84+, the "archive area" is defined by ports 22 and 23; on the 83+ BE, pages can be individually enabled or disabled using port 16. All these ports are protected so that user programs can't (normally) modify them.
153
« on: January 01, 2011, 09:20:39 pm »
No. Each archive sector is a separate "box" that can hold up to 64k of variables. So a single variable can't cross a sector boundary. But the OS will pack variables as tightly as it can into each box, not worrying about the internal page boundaries.
Also, the archive area is restricted; if you try to execute code there, the calculator will reset, just as if you try to execute code on RAM page zero.
154
« on: January 01, 2011, 09:13:07 pm »
That's right.
155
« on: January 01, 2011, 07:38:36 pm »
Well, to compute an OS signature, you take the MD5 hash of the complete OS (the OS header followed by each of the pages, in the order they're listed in the 8xu file), and sign that number using RSA, with a validation exponent of 17 decimal (if x is the MD5 hash, you want to find s such that s17 ≡ x mod n.)
The signature, then, consists of the bytes 02 0D, followed by the length of s (in bytes), followed by the bytes of s in little-endian order (least significant first.) Look at the OS files from TI to see how it's stored in the 8xu file.
156
« on: January 01, 2011, 07:20:25 pm »
There is a field in the app header that if it's not signed, it's considered a temporary or trial app, which gets deleted after 16 (or maybe 18) times.
A small quibble: it's not the app header or signature that's the issue; there's a separate field (stored on the certificate page) that indicates whether it's a limited-trial app. That field gets set when you install an app by normal means (over the link port), but not when it's created by Axe. Signing the application is a tangential issue: it needs to be signed in order to be transferred to another calculator.
157
« on: January 01, 2011, 07:09:12 pm »
It's defined as "ionPutSprite", not "iPutSprite".
If you do have a program that isn't being assembled correctly, please send me a copy if you can (post it here, or PM or email it to me, or whatever. I won't distribute it to anyone else if you don't want me to.) If you can find a small test case that exhibits the bug, that's always appreciated, but don't let that stop you from posting a large test case if you're not sure how to simplify it.
You're right that there ought to be a menu of symbols that are provided by libraries, but that proved to be rather difficult; I'm planning to implement it eventually, but I haven't done so yet.
158
« on: January 01, 2011, 06:50:47 pm »
That's exactly what Flashbook does. (In fact, I used Flashbook to generate the manual there, using an extremely kludgy perl script to convert the HTML user's manual into Flashbook XML format. I don't recommend my exact method. )
159
« on: January 01, 2011, 06:37:28 pm »
To be clear: RabbitSign implements both application and OS signing, which work somewhat differently, both in terms of the file formats, and in terms of the algorithms used (Rabin for Z80 applications; RSA for 68k apps and both Z80 and 68k OSes.) Are you interested in signing apps, or OSes, or both? You may want to read up on the Rabin and RSA algorithms before trying to understand how TI's system works.
160
« on: December 18, 2010, 10:52:48 pm »
Let's blame 2.53MP again
Wait, people actually use 2.53MP?
161
« on: December 18, 2010, 10:49:59 pm »
If there is something testable, I will be glad tot help
I really must get of my lazy ass and get myself a usb converter... I still need to know which would be the best ocnverter
Thanks. I will definitely let you guys know when I have something that can be tested. As far as USB adapters go, they can indeed be tricky to find. I have one that was part of an adapter kit, which I believe I got from Target, and which was ridiculously overpriced. I did get a nice long standard-A extension cable out of it, though. Another option would be to find a small USB hub with a mini-B socket; you could connect that to the calculator using a calc-to-calc cable, and connect whatever peripheral you like to the other side.
162
« on: December 18, 2010, 10:34:29 pm »
Virtual Calc is probably a lost cause.
Omnicalc-like RAM backups, though, might be possible, by backing up only the parts of memory you actually care about (mainly programs and variables.) You could also try compressing the data. On the other hand, keep in mind that there are a fair number of programs that will use the (single) extra page for scratch space, and overwrite your backup. As opposed to the current situation, where programmers are aware of Omnicalc, and try to avoid using those last four pages if they can. (At least, I do.)
As for Emu8x, I haven't looked at its internals in much detail. Emulating an 81 shouldn't be hard, though, and using the same backup techniques as above, emulating an 82, 83, or 85 isn't out of the question.
163
« on: December 13, 2010, 10:17:25 pm »
Thanks to the structure of the Flash memory, it's possible to have a substantial amount of "free archive space" yet be unable to install an app. If memory is full when you try to archive something, the OS will show an error message telling you (a) the largest possible variable you could archive, and (b) the largest possible app you could install. The two numbers may be quite different.
If you have more than 64k free and still can't install any apps, I don't know what else might be wrong. Have you tried a full archive reset?
164
« on: December 13, 2010, 10:05:38 pm »
The appData area is also used for ONSCRPT/OFFSCRPT, so it may be overwritten when APD occurs.
165
« on: December 12, 2010, 12:28:10 am »
If you're dealing with the parser, I'm not sure how much of a speedup you can really expect to get by avoiding B_CALLs. But anyway...
I assume by DelAllocFPS you mean DeallocFPS. That routine is very, very simple: it multiplies the input by 9, then subtracts that value from the current (FPS). It doesn't check that there are actually that many entries allocated on the FPS. So you could simply do
ld hl, (FPS) ld de, -18 add hl, de ld (FPS), hl
(Depending on the situtation, it might be good to verify that you're not popping past the start of the FPS, but the OS routines don't do that.)
Pages: 1 ... 9 10 [11] 12 13 ... 20
|