Table of Contents

 • 1. Introduction
 • 2. RPN
 • 3. Calculus made easy
 • 4. Laplace and Z transform
 • 5. Symbulator
     □ 5.1. AC analysis
         ☆ 5.1.1. Display angle
         ☆ 5.1.2. Input data
         ☆ 5.1.3. Impedance
         ☆ 5.1.4. Use approx
     □ 5.2. FD analysis
     □ 5.3. Expert mode
 • 6. Compare to GNUCap

1. Introduction

I got my TI Voyage 200, a M68k based calculator stopped manufacture at 2013. I
don't like these new colored LCD calculators but my good old CASIO FX-9800GII
SD lacks a usable CAS program, although I could play Wolfenstein on it.

Before get into the topic I'll introduce a few goodies I found for V200.

2. RPN

Whoever (Lars Frederiksen) wrote this plugin must be a huge HP calculator fan.

There is a bug with APPROX key on Voyage 200, which makes me learned M68k
assembly language, and disassembled the executable. They I found the code was
written in a messy way or at least complied from C, and the internal model of
TI-89/TI-92+/V200 series uses RPN, so if I want I could probably came up with a
better one later.

This assembly program is very easy to use for entering large expressions.
Another flash application you could try is Equation Writer.

3. Calculus made easy

This is paid software, my conclusion is you don't need it if you are the senior
calculator programmer. Most of the features are builtin of AMS, the OS running
on TI M68k calculators, or easy enough to be implemented in TI-BASIC in a
couple hours if you know the method. But if you'll have tests soon this could
be a good review guide.

⚠︎
Caution

Their software has serial code protection and each code only works for one
product ID of calculator. So if your calculator got broken you would lose
access to these paid software.

4. Laplace and Z transform

Besides the DiffEq program, there are other Laplace transform programs, this
one also has a symbolic circuit solver similar to the features provided by
Symbulator. However since this requires an assembly shell to be functional and
the source code is not disclosed, Symbulator is still a better choice. And I
did a little benchmark and found it surprisingly that this assembly program
does not outperform the DiffEq programmed with only interpreted scripts.

5. Symbulator

✎︎
Note

Not long after I uploaded a version of Symbulator that contains the bug fix I
mentioned later in this article, Roberto Perez-Franco, who is the author of the
Symbulator program, contacted me about his plan on continuing on the
development. Now the latest version is Symbulator 7 in beta phase, with many
improvements on its interface compared to version 6, is available from the
renewed symbulator.com domain.

⚠︎
Caution

The content below should be considered somewhat outdated. Please check the
website above for up-to-date documentation and examples.

Finally, into the main topic. The latest and final version is Symbulator 6, a
slightly order version from paxm.org on Internet Achieve is Q, where you can
also find the DiffEq programs by Lars Frederiksen that is the dependency of
Symbulator. Both version are tested and work on V200, and version 6 is
definitely superior (despite there is a bug in the lasted version that is still
available). There are also many useful programs on that site exclusively, so
please checkout them if you are interested in numeric methods and electrical
engineering.

The netlist convention is similar to SPICE (while actually I only used GNUCap
which is compatible), except current is not i but instead j, and voltage is e
rather than v, this is due to these variable prefixes has special meanings.
Symbulator has the symbolic feature powered by AMS which is impossible with
SPICE, and as a result there is no need for special syntax for dependent
sources.

A Voyage 200 screen showing up the result.
Figure 1. A Symbulator example for Thevenin-Norton equivalent.

Remember to run dif\language() before transient analysis to ensure the
variables necessary to run DiffEq are initialized, especially when you have
reset the RAM.

✎︎
Note

The following sections are based from machine translated thesis in Spanish by
Roberto Pérez-Franco on Symbulator, adapted to the latest available release of
Symbulator 6 so the differences are explicitly pointed out if you have read the
documentation of older version of Symbulator, such as version Q.

5.1. Alternating current analysis

While there are some documentation in English on how to use Symbulator for DC,
and TR analysis is straightforward, there are not much information on AC with
complex number. The gateway is s\ac(cir,ω).

The capacitors and inductors only have 4 elements in AC analysis, that is,
there is no need for initial current/voltage. If the values are already in
impedance (Ohm), just use the resistor instead.

Symbulator would use RECTANGULAR and RADIAN modes for internal processing but
user's configuration would be saved and restored.

⚠︎
Patch the program before try AC

It seems the only available version of Symbulator 6 Beta's AC function was not
complete, as the examples from the thesis cannot be solved. A workaround for
this is to replace the solve() call in s\s8 to cSolve(). The context is change
from:

 |If βtool="fd" or βtool="tr" Then
 |expr("solve((v"&αζ2&"-v"&αζ3&")/(s)=("&αζ4&")*(i"&αζ1&"-("&αζ5&")/s)+("&ζζ&"),i"&αζ1&")→eq"&αζ1)
 |Else
 |expr("solve((v"&αζ2&"-v"&αζ3&")/(ω*ⅈ)=("&αζ4&")*(i"&αζ1&")+("&ζζ&"),i"&αζ1&")→eq"&αζ1)
5 |EndIf

To:

 |If βtool="fd" or βtool="tr" Then
 |expr("solve((v"&αζ2&"-v"&αζ3&")/(s)=("&αζ4&")*(i"&αζ1&"-("&αζ5&")/s)+("&ζζ&"),i"&αζ1&")→eq"&αζ1)
 |Else
 |expr("cSolve((v"&αζ2&"-v"&αζ3&")/(ω*ⅈ)=("&αζ4&")*(i"&αζ1&")+("&ζζ&"),i"&αζ1&")→eq"&αζ1)
5 |EndIf

There could be other improvements to the program, that I might start work on
these later.

5.1.1. Display angle in polar form

The V200 comes with ▶Polar command. However from AMS 3.0 above the result would
be given in a less readable form. For example 3+4𝕚▶Polar gives

                      − 1
𝕚 ⋅  (  pi  ⁄ 2 − tan     ⁡  ( 3 ⁄ 4 )  )
e                                           ⋅ 5