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 ... 16 17 [18] 19 20 ... 38
256
« on: November 09, 2012, 11:28:05 am »
Zilong does not manufacture most Z80s; rather, they licensed the design to many other companies royalty-free. It is this license that lets TI manufacture calculator ASICs with an embedded Z80. Basically, TI paid a free for the Z80 design once more than a decade ago, and can now manufacture as many Z80-based graphing calculators as they want without having to pay anything more to Zilog. Also, the ASIC probably contains no other IP cores, so TI essentially manufactures ASICs for the literal silicon cost only. (And the LCD controller costs about a dollar a piece, and the flash chips are less than two dollars a piece, and the calculator contains no other digital ICs.)
257
« on: November 08, 2012, 07:32:12 pm »
A MUL instruction! Pipe-lining! There would be orgasms amongst assembly programmers!
258
« on: November 08, 2012, 07:30:32 pm »
It is a problem for me because if I want to add some ASM Code in an Axe Programm with the Asm() command, I don't really know where the ASM code is stored.
In that case, you may want to use an Axiom, since the Axe Axiom parser supports resolving jump references. (More information is in the SDK. The Axe Parser will parse the Axiom's bytestream so it can identify jumps and calls that need references resolved.) If you want to make Axioms on-calc, you can actually just use Mimas. It doesn't support the standard helper macro used for Axiom jump resolution, but there's an easy enough workaround you can use instead.
259
« on: November 08, 2012, 02:12:15 pm »
There is no "push pc". The "call $+3 \ pop hl" will work, though. (But just to reiterate, it's not relocatable, which probably isn't a problem for you.)
260
« on: November 08, 2012, 02:00:47 pm »
TI still has the option of upping to clock rate of the CPU to at least 20 MHz; supposedly, they experimented with clock speeds of up to 25 MHz on the TI-83+SE, which was, for the young folks, the beta version of the TI-84+/SE.
I also second the idea of it being based on the Nspire, with the OS user interface rewritten to look like the UI of the TI-83+ series so that it's more familiar to teachers, who are of course the people TI actually markets graphing calculators too.
261
« on: November 08, 2012, 01:41:11 pm »
Because I'm pessimistic and skeptical, I suspect it will have poor compatibility and be locked down. If it is based on a Z80 running software based on the TI-84+ OS, it will probably come with BOOT 1.04, which will feature 8192-bit encryption---not just signing---, and will take approximately half an hour to validate.
262
« on: November 07, 2012, 07:59:06 pm »
The calculator does indeed use dynamic memory allocation for user data. And BASIC programs don't get moved before execution; the parser is able to parse BASIC programs from where ever they're located in memory. However, the Z80 CPU doesn't well-support doing that for assembly programs. In particular, the JP and CALL instructions have to know the exact location they're branching to before program execution begins. So the OS always copies assembly programs to the exact same location in RAM so that the assembler can always compute before hand the address to jump to.
In theory, you could have your program store a list of the locations of+ instructions in the program that need to be fiddled with before executing, but that's more complicated solution than anybody so far has been willing to deal with.
263
« on: October 31, 2012, 06:37:09 pm »
It works fine, as long as you know what you're doing. That means keeping track of what app page is active and making sure you reset the current app page to the correct value before returning. This applies even if you ran the program from the OS, which still has associated fixed app pages. Also, still no multi-page app support.
264
« on: October 18, 2012, 10:52:39 pm »
ERR:VERSION is definitely because the calculator thinks there's something in the file the TI-83+ won't like. The TI-84+ 2.22 OS also has tokens not present on the TI-83+, so there still could be something in the program you're not aware of that's causing the program.
The calculator keeps track of the supposed version in the VAT. I could throw together a program that resets the version field of all programs, so you can send them again. But probably not tonight, as I have homework and need to wake up early.
You could try putting the program(s) in a group variable, but if the TI-83+ accepts the group, it'll probably still throw an error upon extraction.
265
« on: October 13, 2012, 02:00:18 am »
Yeah, it's pretty simple. You can also monitor switches and drive small relays from the link port. One addendum: The correct link voltage is 3.3 V OR 5.0 V. The higher voltage is used only on the early TI-83+ models. But frying newer calculators isn't an issue; modern calculators probably tolerate up to at least 6 or so volts. Kerm already implemented a similar idea for an Etch-a-Sketch. Also, you can control many Canon and Pentax dSLRs from your calculator---and others with an adapter---cf. my program and a less accurate method for the TI-83+.
266
« on: October 12, 2012, 07:45:19 pm »
For the record, I got the list of hex codes by opening the .8xp file in the XVI32 hex editor. I looked for the tell-tale byte codes I know represent the untypeable tokens. The start 8xp program data is always somewhere between 0x40 and 0x50, and the last two bytes are always a checksum.
267
« on: October 11, 2012, 07:54:51 pm »
yeongJIN_COOL, you can't do it that way. Axe deals with 8-bit character codes, but TI-BASIC deals with tokens that are either 8 or 16 bits. You have to look up the character's token code and store that into the string. It's a pain to deal with. To do what Rollum78 wants to do, you need to define the string as a set of tokens, entering in their codes using Data(. Sorry, there are no B_CALLs that can perform tokenization of text. You'll have to find a list of token codes. ti83plus.inc has a fairly complete list, but the symbols are a little iffy.
Edit: Here's the list of hex codes from the above BASIC program:
BB 9A BB 9B BB 9C BB 9D BB 9E BB 9F BB A0 BB A1 BB A2 BB A3 BB A4 BB A5 BB A6 BB A7 BB A8 BB A9 BB AB BB AC BB AD BB AE BB CB BB CC 7F 80 81 BB D1 BB D2 BB D3 BB D4 BB D5 BB D6 BB D7 BB D8 BB D9 BB DA BB DB BB DC BB DD BB DE BB DF BB E0 BB E1 BB E2 BB E3 BB E4 BB E5 BB E6 BB E7 BB E8 BB E9 BB EA BB EB BB EC BB ED BB EE BB EF BB F0 BB F1 BB F2 BB F3 BB F4 BB F5 63 2B 29 BB CF 83 82 71 70 10 11 08 09 06 07 F0 2B BB 71 BB 73 BB 74 BB 75 BB 6F BB 70 BB 6E BB 72 BB 7A BB 7B BB 7C BB 76 BB 77 BB 78 BB 79 BB 7D BB 81 BB 84 BB 85 BB CD BB 80 BB 7F BB 83 BB 82 BB 8A BB 8C BB 86 BB 87 BB 88 BB 89 BB 8B BB 8D BB 91 BB 93 BB 95 BB 8F BB 90 BB 92 BB 94 BB 8E BB 98 BB 99 BB 96 BB 97
268
« on: October 10, 2012, 12:53:38 am »
The idea is simple: You can now write an Axe app and an Axe program, and the program can call routines stored in the app. Since apps can be up to 16 K, and programs up to 24 K, you can now write combination Axe programs/apps with up to 40 K of combined code and data. (And if you need even more, there's still the files interface.)
269
« on: October 09, 2012, 05:37:58 am »
This is nice work. Now you can write a shell in Axe.
Be forewarned: this will not play nice with Axe Fusion.
Also, there's the slight problem that it depends on Axe not changing the structure of its app initialization code. Fortunately, that's unlikely, and you can just keep using the old compiler for updates if such happens.
270
« on: October 09, 2012, 05:25:19 am »
Your way is definitely cleaner. I can imagine there being one reason for wanting to keep your extra code in a program---it lets users start the app, instead of the program. You're not far from writing a shell now.
Pages: 1 ... 16 17 [18] 19 20 ... 38
|