for your next edition of "TI's constantly been smoking crack since the 80s and has no intention of ever stopping":

the TI-8x calculators have a hardware buffer and an OS-provided buffer for screen data, effectively being an "immediate" buffer in hardware, to be displayed next VBlank, and a "slower" buffer, being what's copied to the "immediate" buffer when the OS decides it's time to update the screen. All well and good, maybe a little weirdly done but all in all makes sense. (You can even define a third buffer in RAM if you need to triple-buffer your shit.)

The problem arises when you use TI-BASIC and try to draw to the screen:
If you do something like, say, draw a circle, you'll notice that it's visibly drawn to the screen one pixel at a time. However, looking through what bits of the SDK I can find, the OS' "draw circle" assembly routine *doesn't update the immediate buffer!*

This means that, in TI-BASIC, the "draw circle" routine doesn't use the ACTUAL circle-drawing routine the OS provides, but instead individually calculates and plots a pixel, then updates the hardware buffer (an ENTIRE 768 bytes are copied EVERY TIME) and waits for VBlank to pass before repeating for the next one. In other words, it's deliberately slow as fuck.

Why? All the drawing commands, outside of like 2 or 3, do this. Why would you deliberately slow down the process of drawing to the screen on a system that you KNEW would be popular for people to code on???

  • 7
    Because TI has no real competition and so they can be as wasteful as they want as long as the design is conservative and does its job.
  • 1
    It's nice to get even more post facto justification for sticking with HP. Current calculator: 48sx emulator on the phone.
  • 1
    @halfflat i've wanted to get my hands on a 48sx for a while now, maybe some expander cards too... problem is they're $1000 or so and a lot of the ones i can find for sale are bricked.
  • 2
    @halfflat problem is that in schools and universities require the TI's. At least in my country. But personally I haven't gotten any problems with them I guess except for their high price..
  • 2
    @NEMESISprj why do they are required? For what purpose?
  • 3
    @iiii In many states the devices allowed for an exam are specified on a list or only models from certain companies are permitted. Now, lawmakers in the US and many other places don't understand capitalism on a high-school level or are just incredibly corrupt, so it's standard practice to officially approve only one company thus artificially eliminating competition.
  • 2
    @iiii what @homo-lorens said, except with the added point of all calculators for SAT/ACT/other massive regulated formal tests must be "certified" for the test to be usable at all on said tests. This is why each calculator has an individual MD5 certificate, and why if that cert is modified, the calculator's bricked. To develop Archive-based applications, you even need to get a developer cert for EACH the TI-83 models and TI-84 models (Z80 only) and TI-84 models (eZ80 only) and TI-85 models, etc. to develop for everything. (Archive applications have higher permissions, are stored in and run from flash memory instead of RAM, and even have the ability to page RAM in and out to flash memory! This basically requires anything complex be signed by TI to run on each model. This is all part of the certification model.)
  • 2
    @iiii basically what @homo-lorens said. But this also happened in the Netherlands for high school as far as I can remember (not 100% sure about anymore now that I think of it). But here in the Netherlands it's mostly a battle between Casio and TI when you look around in the general shops.
  • 2
    @homo-lorens but what calculations are so advanced that only such an advanced calculator is required instead of something simpler? Doesn't sound even a tiny bit logical to me
  • 4
    @iiii I was really happy ro have a graphic calculator when using differentials, polynomials, inter/extrapolation, geometry (getting things like tangents/normals & seeing them visually), finding global & local maxima/minima, keeping notes and template functions on all kinds of formulas/rules/etc. and of course last but not least: playing Mario and other games!
Add Comment