89 lines
3.5 KiB
Markdown
89 lines
3.5 KiB
Markdown
|
---
|
||
|
layout: project
|
||
|
title: Adventures with old calculators
|
||
|
description: Shenanigans with graphing calculators my school was throwing away
|
||
|
thumbnail_url: /assets/images/calculators.webp
|
||
|
SEO_tags: [Calculator, Texas Instruments, TI82, Z80, Assembly, MS-DOS, Overclocking]
|
||
|
---
|
||
|
|
||
|
**Note: This article is still expanding, check back later for more content!**
|
||
|
|
||
|
In January 2023, my high school was getting rid of over a hundred old calculators. Around half were mismatched
|
||
|
scientific and 4-function calculators, and the other half consisted of graphing calculators from the early and mid
|
||
|
1990s. Most of the graphing calculators are Texas Instruments TI-82, so this article will be focused on them, but I do
|
||
|
plan on making other posts.
|
||
|
|
||
|
After replacing the dead batteries every single TI-82 turned on and functioned, but some had malfunctioning screens.
|
||
|
|
||
|
# Overclocking
|
||
|
|
||
|
This section is based on
|
||
|
[this archived webpage](https://web.archive.org/web/20220303160216/http://richfiles.solarbotics.net/Turbo82.html).
|
||
|
|
||
|
There is a 26pf capacitor labeled **C7** on the top right of the TI-82's motherboard. When this is replaced with a 15pf
|
||
|
capacitor, the speed of the calculator increases by 2-2.5x.
|
||
|
|
||
|
Here is the resistor before and after replacement:
|
||
|
<img src="/assets/images/resistorcomparison.webp" class="auto-scale" alt="Split photo of motherboard with old and new resistor">
|
||
|
|
||
|
And here is a speed comparison between a stock TI-82 (left), and an overclocked TI-82 (right):
|
||
|
<video src="/assets/videos/calculatorperf.webm" class="auto-scale" loop autoplay></video>
|
||
|
|
||
|
# Connecting to computer
|
||
|
|
||
|
The TI-82 and TI-85 introduced the ability to connect to another calculator or to a computer to share programs.
|
||
|
|
||
|
## Hardware
|
||
|
|
||
|
The TI-82 (and TI-85) used the TI Graph-link adapter, which connected to the calculator's link port and to a computer's
|
||
|
9 or 25-pin serial port. Luckily, this serial adapter can be converted to USB (shown below).
|
||
|
|
||
|
<img src="/assets/images/graphlinkadapter.webp" class="auto-scale" alt="Photo of TI-Graph Link adapter attached to a serial to USB adapter">
|
||
|
|
||
|
## Software
|
||
|
|
||
|
The TI-Graph Link™ software only supports very old versions of Microsoft Windows based on DOS, and some ancient versions
|
||
|
of Mac OS. I chose to run the software in an MS-DOS virtual machine with Windows 3.1 since I already have experience
|
||
|
with the platform.
|
||
|
|
||
|
If you want to replicate my virtual machine, use the [MS-DOS 6.22](https://winworldpc.com/product/ms-dos/622) and
|
||
|
[Windows 3.1](https://winworldpc.com/product/windows-3/31) images from WinWorldPC, and use this archive of the
|
||
|
[TI Graph Link Software](https://archive.org/details/TiGraphLink). For transferring files I decided to use a physical
|
||
|
Floppy Drive since I had one lying around. Here is my Proxmox configuration file (I would recommend editing the config
|
||
|
file after creating a VM through Proxmox).
|
||
|
|
||
|
```yaml
|
||
|
# Replace with your floppy drive block device
|
||
|
args: -fda /dev/sdb
|
||
|
acpi: 0
|
||
|
|
||
|
# You may need to enable booting from floppy to install DOS
|
||
|
boot: order=ide0
|
||
|
cores: 1
|
||
|
cpu: kvm32
|
||
|
hotplug: disk
|
||
|
|
||
|
# Change this to the storage device you want to store your OS
|
||
|
ide0: local-lvm:vm-69420-disk-0,size=2G
|
||
|
|
||
|
localtime: 0
|
||
|
memory: 512
|
||
|
name: msdos
|
||
|
numa: 0
|
||
|
ostype: other
|
||
|
scsihw: virtio-scsi-pci
|
||
|
|
||
|
# Replace with your serial adapter
|
||
|
serial0: /dev/ttyUSB0
|
||
|
|
||
|
sockets: 1
|
||
|
tablet: 1
|
||
|
tags: ms-dos
|
||
|
vga: std
|
||
|
```
|
||
|
|
||
|
|
||
|
## What's next
|
||
|
|
||
|
Both CRASH and ASH allow you to create and load programs written in Z80 assembly. In the near future I plan on creating
|
||
|
some basic programs in assembly and stretching the limits on what can be run on a TI-82.
|