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 - DrDnar
Pages: 1 ... 11 12 [13] 14 15 ... 38
181
« on: January 15, 2013, 11:09:34 pm »
You shouldn't have any problem putting that in a loop. It's probably an issue with pointers or memory; for example, you might have code that depends on previous results which have been overwritten. It might be helpful for us to see the code you're trying. Perhaps we can spot a mistake.
(I'm not ruling out a bug in the Axiom, but if there is a bug, I need to know how to reproduce it.)
182
« on: January 15, 2013, 04:13:11 pm »
Axe's input lets the user enter any token. The user can get tokens from the Catalog, and they can even use 2nd+Rcl to recall strings.
183
« on: January 14, 2013, 10:40:52 pm »
Fixed bugs in the sample program above and in the Axiom itself.
184
« on: January 14, 2013, 08:15:13 pm »
You can get string input using the Axe input command and then convert it to ASCII using the Detokenize Axiom. The detokenize command is a bit large (about 115 bytes), but still smaller than a sophisticated input routine.
185
« on: January 13, 2013, 01:06:59 am »
Initial tests done by a person whose school happened to be selected for beta testing indicate that it is most likely a native Z80 platform. He reported that the UI was a bit slow and that the screen flickered during screen changes. These suggest that the hardware has not been substantially upgraded, specifically that there is not enough RAM for a full frame buffer and that the Z80 has trouble computing pixels to be pushed to the graphics chip's internal RAM in real time.
EDIT: So I found 8xp files for the Coin Toss activity on the Web site, which I promptly downloaded. Source Coder easily parsed the files, so it looks like BASIC programs can be ported pretty easily.
186
« on: January 10, 2013, 04:05:23 pm »
FlashToRam has the quirk that on the TI-83+SE/TI-84+SE, it can read from RAM pages 80h-87h, but not on the TI-84+ non-SE. However, on all models you can use it to copy from regular memory in the 8000h-FFFFh region. See also the Wiki page.
187
« on: January 10, 2013, 04:08:33 am »
Omnicalc already had a similar feature, but it only worked with tokens from the Catalog menu, probably due to hooks.
On a tangentially related note, I've bugged thepenguin about putting Omnicalc functionality into zStart, but he won't.
188
« on: December 23, 2012, 10:25:51 pm »
I believe the TI-83+SE/TI-84+/SE clock generator is in the ASIC. In fact, the TI-83+ now uses an ASIC which probably has an internal clock source. So overclocking modern calcs is probably impossible. I mean, otherwise, Kerm would have already done it, right?
189
« on: December 23, 2012, 02:46:31 am »
The runprgm Axiom lets you convert an assembly/Axe program into an appvar, and execute it. The only difference between a program and an appvar is the type byte, so it was easy functionality to implement. Of course, the program is still copied to RAM and run from RAM. Executing an appvar in flash without coping it to RAM is just too much of a headache, due to both the need to change the execution permissions (requires unlocking flash), and the fact that the location would be variable and might cross page boundries. If you really want execution from flash, use an application.
The problem is that with that axiom I can't call functions that are not part of the appvar/the prog.
What do you want to do? If your main program is an application, the program you called can call functions in the application if you swap it back into memory. There's already an Axiom for that.
190
« on: December 22, 2012, 02:43:28 pm »
The runprgm Axiom lets you convert an assembly/Axe program into an appvar, and execute it. The only difference between a program and an appvar is the type byte, so it was easy functionality to implement. Of course, the program is still copied to RAM and run from RAM. Executing an appvar in flash without coping it to RAM is just too much of a headache, due to both the need to change the execution permissions (requires unlocking flash), and the fact that the location would be variable and might cross page boundries. If you really want execution from flash, use an application.
191
« on: December 21, 2012, 12:13:32 am »
I think we claimed that flash wear isn't a concern for the average user. I doubt that anybody said it was a total myth, just that it's unlikely to be an issue.
192
« on: December 20, 2012, 09:13:11 pm »
You'd have to rewrite half the OS to support paging RAM. Not impossible, just more work than any of us are apparently willing to do.
193
« on: December 20, 2012, 09:02:07 pm »
However, you can still access only 24K for your programming/math purposes.
For BASIC programmers, sure. Assembly programmers can use the extra RAM to great effect, e.g. tiboyse, Omnicalc RAM recovery. It wouldn't be impossible to get Axe to support the RAM, either. In fact, you can probably read from those extra pages by hacking the files feature: just overwrite the page number with 82h. Writing might take some more effort, though.
194
« on: December 20, 2012, 08:56:58 pm »
how is the ti 84+ series crippeld? (without CSE)
It has less RAM than a Commodore 64.
The original TI-83+SE and TI-84+/SE had 128 K. It's crippled because in 2008ish TI revised the ASIC such that the new TI-84+/SEs have only 48 K.
195
« on: December 20, 2012, 08:11:02 pm »
Nice. Is the source also in the .zip? (Can't view on ipod) for people who would want to optimise it themself...?
Yes, it is. SPASM is the recommended assembler, but you could trivially substitute Brass, or with a little work use Mimas. You could probably even use TASM because there are no absolute jumps. By the way, Runer pointed out to me that the input command isn't totally useless: it's actually just fine for getting the name of a program. You see, the tokens for the A-Z, theta, and the numbers 0-9 are the same as their regular ASCII values. So to validate the name, all you have to do is check that the length (which is stored before the token data itself, just like regular files) is less than 8 and that the only bytes in there are in the right range. Also, here's a bonus trick: The program-to-appvar converter I wrote for the runprgm Axiom takes its input from the Ans variable. Here's how to do it in Axe: :Asm(EF524BD77EEE04EB2802ED62)->A :!If A :Disp "Error in input!" :Return :End ; More code here ; Assembly: b_call(_AnsName) \ rst 10h \ ld a, (hl) \ xor StrngObj \ ex de, hl \ jr z, $+4 \ sbc hl, hl The above Asm( code returns 0 (false) if Ans is not a string. Otherwise, it returns a pointer to the length bytes of Ans, not the start of the data like Axe normally does. You can then detokenize the string by doing something like this (note the +2 to account for the length bytes): :Detokenize(A+2,L1,256) Consider the following: :.ANSDISP :#Axiom(DETOKENI) :Asm(EF524BD77EEE04EB2802ED62)->A :!If A :Disp "Error in input!" :Return :End :Detokenize(A+2,L1,256) :Disp L1 "Test string to display!":Asm(pr gmANSDISP) Test string to d isplay! Done EDIT 14 Jan 2013: Fixed a bug in the Asm( code. It would sometimes return 0xFFFF if Ans was not a string. Also added 8xps for super lazy people.
Pages: 1 ... 11 12 [13] 14 15 ... 38
|