Is TI-86 calculator capable of producing sounds?

In what ways the sound is produced (like timers, beeper bits or alike) if yes?

If no, are there any mods that add this capability?


No, there is no speaker or buzzer integrated into the ti-86.

It does however have a jack port (2,5mm if I remember correctly) which can be used to transfer data between calculators. It is possible to control this output with a program written in assembly or Axeparser (i'm not sure about ti-basic). You can then connect a speaker to this port and play sounds with it. However this output is digital, not analog, so you will not be able to make anything pretty.

Edit :

See https://axe.eeems.ca/Commands.html for a reference of Axe Parser (my favorite language for programming on a ti) In the "Link Port" section, it describes the usage of commande Freq(WAVE, TIME) to generate sound.

See https://www.ticalc.org/pub/text/calcinfo/86ports.txt for a reference of how to control output to the port in assembly.

This is a really cool example of what can be achieved Thanks @tofro for this one.

  • Digital sound can be quite "pretty" - think "CD" or "streaming audio". But that requires high frequency control (several kHz) which I suspect the TI-86 can't do. Jul 5 '18 at 14:45
  • 1
    @manassehkatz Sorry for the confusion, I'm not talking about the storage of the sound wave shape, but the actual voltage seen by the speaker. In a CD, an integer value is written on a digital support, but then a DAC converts this digital value to a voltage between a min and a max value. The jack of the ti-86 has no such DAC, and can produce only either 0 or +~5v. It sounds "ugly" because only square shapes can then be created, which hold many harmonics. One could filter these with an analog signal filter of course, but it would have to be tuned to a specific output sound.
    – Vince
    Jul 5 '18 at 14:55
  • 3
    @Vince You can actually make a one-bit DAC. You just need a high enough output bitrate (think MHz). The bit rate is typically chosen to be a large multiple of the sample frequency. The output is pulse frequency modulated and dithered (IIRC; there are a number of ways to approach the problem) and a capacitor smooths the output signal. These are extremely common in portable CD players and the like. Jul 5 '18 at 15:46
  • 2
    @tofro what Alex is talking about is PWM. For each sample of the output signal, an analog voltage can be created by oscillating very quickly between 0 and +X volts. One would need several samples per period of the highest desired harmonic. (Sampling at least at 100kHz or so). Then, for PWM to be effective, it needs to oscillate many times very fast (the more the better). We easily reach MHz rage here. This begins to be a lot for a 6MHz Z80...
    – Vince
    Jul 6 '18 at 10:10
  • 2
    @Vince You might want to look a bit into what can be done with 1-bit PCM on a ZX Spectrum with 3.5MHz: converter.dev.artweb.ee/music/… Should be doable with nearly double the CPU speed...
    – tofro
    Jul 6 '18 at 10:49

Back in the TI-58/59 days, there was some games that made sounds using the natural ambient RF leakage of the device. You put it next to an AM radio, and then it would do internal loops of varying types to make noises in the radio.

  • This technique could be dated back to 'mainframe' times, for example pdp8.net/sound/sound.shtml (though PDP-8 is not a mainframe)
    – lvd
    Jul 9 '18 at 15:44

No, TI-86 does not have a purpose-built sound output. However, it has a "link port" (2.5mm Mono Jack connector). People seem to usually connect this jack to a piezo-buzzer or to a mono headphones, see e.g. here. At the same time, it is actually possible to control the stereo channels separately, so you can, if you want to, connect it to stereo headphones and interpret it as a stereo-beeper.

The sound is produced via port #7 using direct CPU control. The wiring and relevant values to be outputted to the port are explained here. The available interrupts are not useful for sound as they only happen at 200Hz rate.

I personally consider ZX Spectrum the most mature platform for beeper sound technologies. Beeper music has been very substantially explored both during the commercial era for ZX Spectrum, as well as during a sort of rebirth of the interest to 1-bit music during the last 10 years. The example of beeper track discussed in the other answer is cool, but is merely a single example. You can find many more ZX Spectrum beeper tracks, both old and new, here.

Last but not least, higher CPU frequency in the TI-8x calculators, as well as the availability of the stereo outputs (with just a tiny bit of modding) actually makes TI-8x calculators a very nice platform for beeper music. So it may come as no big surprise to you that probably the most active beeper music coder and composer utz, who also goes under the label Irrlicht Project, created a purpose-built tracker for TI-82, TI-83/82STATS, and TI-83+/84+/SE called HoustonTracker 2, see also here. Of course, TI-86 belongs to a different family and there is a certain amount of porting that would have to happen to replicate same results on TI-86. However, there is nothing to prevent your TI-86 to output, with a bit of perseverance, something akin to


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.