Show Posts

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 ... 10 11 [12] 13 14 ... 38
166
Oh I didn't know the clock used Crystal timers. I was sure it was an extra thing added to the calc.
I'm not sure what you mean by that. It uses the same frequency reference, a single generic 32768 Hz crystal, but is an entirely separate circuit from the three timers. It would have been silly for TI to build a calculator with four identical crystals. Well, at least my calculator only has one physical crystal in it. (If you open up your calculator or watch, the crystal can be found in a metal cylinder less than 0.5 cm in diameter and less than 2 cm long, with two wires coming out of it.) Almost all quartz-crystal-based clocks, both "analog" and digital, use a 32768 Hz crystal as their time reference. The power of 2 makes it easy to make a counter that increments or pulses once a second.

167
The TI-83+SE is the beta edition of the TI-84+ series. Hardware-wise, the TI-83+SE is a major change compared to the original TI-83+, for it switches to a very different, ASIC-centric design; the TI-84+(SE)'s only major change is the addition of the USB port. (The three crystal timers all use the same single quartz crystal as the primary clock source; the TI-84+(SE) real-time clock uses the same crystal, too, so adding an RTC is a simple matter of adding a 32-bit seconds counter and a 15-bit subcounter.)

168
News / Re: TI launches the official TI-Nspire iPad application !
« on: February 06, 2013, 06:59:38 pm »
I guess Apple's prohibition against "3rd party runtimes" doesn't apply if you're a big company with lots of money. I would have thought that if Apple forbids C64 emulators, there would be no chance of a Lua interpreter.

169
TI Z80 / Re: Mimas - an on-calculator assembly IDE
« on: February 05, 2013, 09:59:06 pm »
Mostly unrelated to the above, did you released any documentation on writing plug-ins for Mimas ? I dig through all the files included in TiCalc's mimas-0.4.zip and found many docs on how to use them, install them etc but nothing about how to create one D:
He expects you to dig through to the source code and base your plugin on the example provided. This is an attitude common in Unix/Linux culture.

170
TI Z80 / Re: Mimas - an on-calculator assembly IDE
« on: February 04, 2013, 04:32:05 pm »
If you want to define a constant, the syntax is as follows:
Code: [Select]
symbol = valueThere is no macro support.

171
News / Re: TI-83 Plus moves to TI-84 Plus case in France
« on: February 04, 2013, 01:32:52 pm »
MathPrint for the TI-84+ requires at least one extra RAM page. Either the MathPrint code has been refactored a lot, or the new model includes extra RAM like the TI-84+. Perhaps it's actually just based on the existing TI-84-series hardware. That would make sense, because maintaining two separate production lines for the TI-83+ and TI-84+ hardware series costs money. They could even pull a stunt like using a 1 MB flash chip and just programming the OS to hide some archive space so it looks like you have the same amount of archive space as the original TI-83+.

172
TI Z80 / Re: zStart - an app that runs on ram clears
« on: February 04, 2013, 02:36:58 am »
-Add a turn calc off function to zStaxe. It would quit the program then turn the calc off "completely" and "truly". I mean not an APD and not a low-battery trick, but a power down that would trigger the 8scale picture and the startup program at startup.
The only to truly turn off a calculator is to remove all four AAAs and the backup battery. The calculator requires about 70 microamps to maintain RAM contents and to be able to sense when the ON key is pressed. The OS itself uses the same "low-battery trick" you speak of. Some really old programs may not do it correctly, but I doubt that's a problem anymore. (The correct code should be located on WikiTI.)

More technical information: During a normal power-down, writing to a port configures the ASIC to enter a special low-power mode when it sees the CPU core enter the HALT state. Hardware-wise, there is no difference between the OS doing it and a RAM program or application doing it. In both cases, pressing ON issues an interrupt that terminates the HALT state, and the ASIC exits low-power mode. The CPU then continues executing instructions from where ever it left off.

So why does removing a battery when in a RAM program cause a RAM reset, but no reset happens when the OS does it? It's a bit of a long story: Disconnecting the main AAAs will cause the ASIC and the CPU to hard-reset---except for RAM, which continues to be powered from the backup battery. When power is restored, the CPU is immediately hard-reset, and the boot code boots. It sees that the OS is valid, and transfers control to the OS after initializing some hardware. Now, when the OS turns off normally or APDs, it calculates a checksum for RAM. So, after you reinsert the AAAs, the OS sees that the RAM checksum is still valid, and that RAM should not be reset.

Cool fact: The calculator boots immediately after restoring main power. The OS (or boot code, if no OS is present) checks the state of the ON key after booting; if it isn't being pressed, it immediately does a normal power-off, as mentioned above.

Also, if you remove a battery at the homescreen with the blinking cursor, the calculator actually stays on for a split second, during which time an interrupt (HW timer 2) fires. The OS, seeing the power outage, changes the RAM checksum to a special value to signal that a RAM reset should be not performed after power is restored. This behavior is activated by a particular flag, which assembly programs should not normally use due to a memory-leak issue. (Specifically, CPU control is not returned to the running program; it's just like doing JForceCmdNoChar.) Although, I suppose a custom OS could take a few microseconds to save the CPU state. Actually, that should be a zStart feature: improved RAM-reset prevention for compatible programs. (It won't work if the interrupt handler is not called, which can be either because interrupts are disabled or the current program is using a custom interrupt.)

173
Other / Re: How do you make 2.5 mm to 2.5 mm link cable?
« on: January 30, 2013, 09:25:05 pm »
Many older cell phones use TRRS- or TRRRS-style 2.5 mm jacks, which will probably also work fine. Find an identical pair, and solder them together. Or use wire glue and epoxy.

174
TI Z80 / Re: Mimas - an on-calculator assembly IDE
« on: January 22, 2013, 05:28:43 pm »
Could someone make a plugin for Mimas that's basically the Asm in 28 Days tutorial, so I could read asmin28days on-calc and on the go/at school with no computer?
Moody's Flash Book app is, perhaps, the best e-book reader for the TI-83+ series.

BTW is Mimas bootstrapped? :P Just wondering...
No, Mimas is written for ZDS. I don't think Mimas could build a 2-page app at once due to memory limitations. It also doesn't support directly writing to flash. It's certainly possible to build and sign apps on-calc, but he seems unlikely to implement such functionality since he seems to think screwing with flash is too dangerous.

175
News / Re: Lots of new TI-84 Plus C related images!
« on: January 19, 2013, 11:54:38 pm »
There are serious theoretical issues with what pimathbrainiac asks, namely the Turing Completeness Theorem. There's no perfect way to tell whether a given byte sequence is code or data until it actually gets executed by the CPU. (In fact, some very clever coders write code that is both code and data (e.g. a sprite whose bitpattern is also a routine), resulting in code that is nearly impossible to change.) You'd probably need to do emulation or very careful dynamic recomplication. Most games are released with source code, so manual porting is the best option. Nevertheless, the set of all Z80 assembly programs ever written is finite, so writing a program to port them is not impossible. That is, it is possible to map a finite number of inputs to a finite number of outputs, but finding the transformation algorithm you need is rather the non-trivial problem.

176
News / Re: Lots of new TI-84 Plus C related images!
« on: January 18, 2013, 10:17:34 pm »
I would expect more from what I have to assume they made as a prizm competitor. They have the native asm support, but I'd hope for specs that were close to matching the prizm. It has about 1/5th the RAM of the prizm. I still think this is an interesting calc for how it should be a very easy/popular transition for schools.

Based on the spec saying that the calculator has 21 K of user RAM, it seems reasonable to conclude that the OS is largely based on previous OSes, especially the parts of it not related to the user interface. Ergo, the OS and boot code required for OS and app transfers is already valid. It just doesn't make sense to write an entirely new protocol. It's possible that TI will modify the computer-side 8xk format to prevent people from trying to send a TI-84+CSE app to a regular-series calculator, but I highly doubt any major changes in the protocol.

177
News / Re: Lots of new TI-84 Plus C related images!
« on: January 18, 2013, 10:00:31 pm »
New OS and app formats? The apps will simply use a different signing key, and the OS will also use the same format, just a different key.

178
News / Re: Lots of new TI-84 Plus C related images!
« on: January 18, 2013, 09:46:01 pm »
Well, I feel snubbed. I.Q. Joe gets to beta test the calculator---or at least the new SDK---but nobody from the community does.

Price: $130 USD from SchoolMart. I specifically mention them because they're within driving distance for me.

179
ASM / Re: 84+ Extra Ram Page
« on: January 17, 2013, 10:39:31 pm »
You can do that in Axe? Also, page 83h? That's the same as page 82h on port 15h=55h models.

Anyway, according to WikiTI:
* RAM page 3, 977Eh–9A7Dh -- previous entries. Destroying this causes crashes.
* RAM page 3, 9A7Eh–9D7Dh -- homescreen graph buffer. Zero after destroying to prevent flicker.

If that's not enough information, try using an emulator: set up a memory watch on all addresses on page 82/83h and see what addresses the OS touches. Or, make a series of programs that overwrite blocks of memory and see which ones cause a crash.

180
Computer Programming / Re: Ah! Help!
« on: January 17, 2013, 12:13:57 am »
How advanced is the class? What sort of data structures are you supposed to be working with? There are plenty of good guides to basic Java syntax, and Google is your friend for finding out about the Java API.

A dictionary is an abstract data structure in which each unique key maps to one output. For the first problem, you would want a dictionary in which the key is a String (do .toLowerCase() before adding) and the output is an Integer. For each word in the list, check if it is in the dictionary and set the associated Integer object to 1 if not; otherwise, increment the Integer by 1. When you're done, collect the word-number pairs into an array (e.g. by making a new WordPair class which implements Comparable<WordPair> and filling it by iterating over the HashMap<String, Integer> or whatever) and sort it (java.util.Arrays.Sort()). Remember that Comparable<T> is a useful interface.

For the second problem, use a regex. Remember that underscores are a special case; specifically, the regex needs to include the clause that after each underscore, there needs to be one of the allowed characters or nothing at all (that is, an underscore can be at the end of an identifier). Or just iterate over the characters using a for(...){...} loop, checking if the char is valid using a switch{...}.

Pages: 1 ... 10 11 [12] 13 14 ... 38