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 ... 9 10 [11] 12 13 ... 38
151
« on: February 19, 2013, 03:32:12 pm »
Just to reiterate, everybody is correct: display performance is vastly improved by not updating the whole screen. I'm sorry if people got the impression that we have to update the whole screen every time we want to change anything. (A controller that accepts only full frames yet operates at less than 10 fps would be extremely strange.) I gave the worst-case scenario of updating the whole screen so that people could know what sort of things are impossible, like full-screen full-motion video and Sonic-style games; and what sort of things are do-able, like Tetris, Snake, Sokoban, Blockdude, Galaxian, Pong, Pac-Man, Solitaire, &c. Also, with any luck, TI will get word of this and do something to address the speed issues. Although, that seems unlikely, since the beta testers would have already mentioned it anyway. Also, note that the pixels are really, really tiny! If you made a 5x7 font, each character would be a little less than 1 mm wide, which may cause some slight readability issues for some people (!) So, people should not plan on using sprites smaller than 16x16. Similarly, high-resolution fonts are a pretty good idea. Unfortunately, large sprites require lots of memory, so it's a good thing we have more of it.
152
« on: February 19, 2013, 01:08:03 pm »
Xeda, you don't have to update the whole screen at once. For example, TI only updates the current line you're currently typing on, which is much faster, although KermM says it still flickers a little bit. In fact, the screen controller has windowing function, which allows you to confine writes to an arbitrary rectangular section of the screen. So you can just define a window and fill it, without ever having to move the write pointer. I'm reading the data sheet now and will post a WikiTI page summarizing all the features relevant to us.
153
« on: February 19, 2013, 12:29:21 pm »
Community members critor and KermM have received preview units of the TI-84 Plus C Silver Edition. So, over the weekend (and all of today, for KermM), BrandonW, calc84, critor, DrDnar, and KermM been working to get simple assembly programs running on the TI-84+CSE. We made significant progress, and have discovered the following: - The ASIC is exactly the same as the TA3 ASIC on the TI-84+/SE, where port 15h reads 45h.
- Consequently, the CPU speed is still 6/15 MHz.
- There is (again) 128 KB of RAM.
- The TA3 ASIC has always supported 4 MB of flash. It's accessed by writing to ports 0E and 0F. (There's a mystery solved.) There might be support for 8 MB chips, too, but TI seems unlikely to release a such a calculator.
- The screen controller is an ILI9325 or equivalent (http://www.adafruit.com/datasheets/ILI9325.pdf) and is permanently attached to the screen unit.
- Graph screen background images are 16-bit color, uncompressed, but are scaled up 2x for display; the actual data size is 133x83.
- The pixels are likely non-square: the old resolution is 96x64---a 3:2 ratio---and the new one is 320x240, which 4:3. So, the pixels will likely be about 9:8, or 1.125.
The UI feels a little bit sluggish; indeed, simple calculations suggest that this is because the 15 MHz Z80 is just not fast enough to drive such a large display. Adding a faster CPU mode like 20 or 25 MHz (like the TI-83+SE was originally intended to support) would go a long way toward making the UI feel more responsive. Alternatively, a lower-resolution display, automatic 2x or 3x scaling, or a palette-based or grayscale 8- or 4-bit color mode would also do the trick, or perhaps TI could even switch to the fully-pipelined eZ80. More technically, the controller only accepts 16- or 18-bit color, meaning 2 to 3 writes per pixel. Outputting a single pixel takes at least 29 clock cycles (for filling the screen with a single color). By contrast, the old controller needed about 100 clock cycles per write, but each write could send 8 pixels, so each pixel only averaged 12 clock cycles. So it takes three times as long to write a single pixel (if you want actual graphics), and the screen has 12.5 times as many pixels. The old controller can accept 120 96x64 frames per second (but it only displays at 60 fps); the new one, displaying only a shrunken 96x64 subsection, can only manage 60 fps. So, the maximum frame rate for full-screen display is 7 fps (0.15 sec/frame), and that's only possible if you're filling the screen with a single color. In practice, 5-6 fps (about 0.2 s/f) is the best you can possibly get for full screen graphics. Critor ran a CPU test program that DrDnar wrote, which was the first program to produce screen output, and the first to produce troll output: http://tiplanet.org/forum/gallery/image.php?album_id=144&image_id=2100&view=no_countKermM is already working to add TI-84+CSE support to jsTIfied. Given that he has a head start and the only major changes are screen-related, he's likely to claim the honor of being the first to add emulator support; however, there is also word of competition from the TilEm team. EDIT: To clarify, when I said "competition from the TilEm team", I meant that FloppusMaximus has also been in on the action, although he keeps quiet about it.
154
« on: February 19, 2013, 01:39:16 am »
Given the range of possible color depth, palette, transparency, and sizes, it might prove impossible for shells to provide for all the possible needs of various softwares in an efficient manner. I think our best bet is to provide basic routines that aren't as fast but more versatile, and leave the coding of super-fast routines to game coders, who have many different needs.
155
« on: February 18, 2013, 02:48:28 pm »
{13960 33651 33669 33686} * 451.529 = {6.30 15.19 15.20 15.21} MHz So the CPU speeds are about the same. Here a quote from the CPU clock speed tester I put on TIcalc.org a few years ago. Jim_E's own program revealed the following values for CPU speed: Mode Speed 0 ~6.089 MHz 1 ~14.965 MHz 2 ~14.980 MHz 3 ~14.990 MHz On my unit, a TI-84+SE, with this program I got: Mode Speed 0 ~6.480 MHz 1 ~15.395 MHz 2 ~15.405 MHz 3 ~15.415 MHz On a TI-83+SE, I got: Mode Speed 0 6.135 MHz 1 15.185 MHz 2 15.200 MHz 3 15.210 MHz
My speed tester uses floating-point math to average the results of several speed tests for each of the four modes. The one critor posted above uses the same crystal timer technique, but it only uses the PutC B_CALL, because that's the only one we know. That's why it only posts integers, which can easily be converted to ASCII; and it doesn't average results.
156
« on: February 18, 2013, 02:18:03 pm »
DJ_O, the old LCD controller has no support for transparency/OR logic. That's implemented in software.
157
« on: February 16, 2013, 04:37:19 pm »
I bet the OS stores a (probably compressed to 8-bit color) copy of the graph screen into the extra RAM, because when drawing to the graph screen, it remembers what you put there after switching to a different screen. (Special thanks to critor and KermM for these pictures.)
158
« on: February 15, 2013, 12:54:09 pm »
To out knowledge, the memory mapper on the old "TA3"-type ASICs does not support mapping 4 MB of flash. It used a 7-bit page + 14-bit address scheme. It might be based on the older design, but some modification is definitely required to support the extra flash memory, unless one of those unknown ports enables a heretofore secret 4-MB chip mode. (There is speculation that port 0E and 0F are related to swapping with ports 6 and 7.) Out best guess is they made the page selector 8-bit, removing the ability to map RAM into any area that can map flash, and vice versa. I do hope you're right about the RAM coming back, and hopefully they made CPU speeds 2 and 3 faster. Also, if they were as lazy as we like to think they are, the boot sector unlock feature is still there, which would be great.
159
« on: February 15, 2013, 02:48:31 am »
Most likely, the image files can only be stored in the archive, and are streamed directly from the archive for display. (Doing this is relatively easy for assembly programmers; in fact, it's documented in TI's SDK for the original TI-83+.) A full-resolution, uncompressed image would be larger than 64 K; files in the archive cannot exceed 64 K for technical reasons. (Mainly that TI is lazy.)
160
« on: February 15, 2013, 02:08:03 am »
The flash chip, as I predicted, is simply the 4 MB version of the same series of chips that are used on the TI-84+(SE) and TI-83+(SE). In fact, it's compatible with the TI-89T chip. Like the TI-89T, it features 63 x 64 K main sectors + 8 x 8 K boot sector. (The boot sector arrangement is unlike the TI-83+ series, and is the same as on the TI-89T. Specifically, the TI-83+ series used 1 x 16 K + 2 x 8 K + 1 x 32 K.) It also has 1 x 64 K "security sector", which can be factory-locked, or locked by the end user. Either way, once locked, the data in the security sector is forever fixed. Conversely, if left unlock, the security sector can be used as an extra 64 K generic data sector. The command set for the new flash is the same for basic operation. There are new commands for accessing and using the security sector. (Also, there is no "unlock bypass" feature.) Calc84 also points out: (2:06:48 AM) calc84: also there seems to be a 48MHz clock in there, but we don't know how it's divided (2:06:58 AM) calc84: could be the CPU is 16MHz (2:07:25 AM) calc84: the USB needs a 12MHz, or so I hear (2:08:25 AM) calc84: I will be thrilled if they managed to clock the CPU to 24MHz
161
« on: February 10, 2013, 10:47:35 pm »
I think what Flop is getting at is that he is still working on the plug-in API; it hasn't really be finalized. He encourages you to add hooks, which may be incorporated into the official releases.
162
« on: February 10, 2013, 10:44:23 pm »
How difficult depends on your skill level. However, it certainly will take quite a time investment. The Nspire has more than enough CPU power to emulate the Z80 and 68K series calculators. If you're not already familiar with the details of the platform you're trying to emulate, you'll likely have problems implementing it.
163
« on: February 10, 2013, 10:00:59 pm »
320x240 = 76800 pixels. Variables can be sent directly to the archive (thus, you can upload files larger than available RAM), but variables in the archive cannot exceed about 65500 bytes in contiguous size.
We need to get right on making Z80 a Z80 GIF decoder.
164
« on: February 09, 2013, 02:23:55 am »
If the screen is cracked, replacing the whole screen is the only option. It's possible the ribbon cable attaching the screen is damaged, but even Kerm (who has a master's degree in electrical engineering) had trouble fixing that.
The screws are indeed Torx-style. I have a set from Radioshack. Maybe they're hard to find in Canada, but there are a few stores selling them here in the US (subject to regional variation).
165
« on: February 08, 2013, 07:46:45 pm »
ld hl, sp ld ix, sp ld iy, sp
And an indexRegister+reg8 addressing mode.
But, you know, pipe-lining like the eZ80 has would be just as nice.
Pages: 1 ... 9 10 [11] 12 13 ... 38
|