TI-99/4A FAQ: TIPI – TI To Raspberry PI connection

What is TIPI?

TIPI is an inexpensive hard drive replacement for the TI-99/4A.

Sidecar TIPI with budget case
Sidecar TIPI with budget case

TIPI is an inexpensive hard drive replacement for the Geneve directly supported with MDOS 7.30 and also is available in GPL/Rompage mode in 7.30 and older versions of MDOS.

TIPI stands for TI to Raspberry PI connection. This leverages the cheap storage and internet connectivity of the PI for use on your TI-99/4a computer.

In a nutshell, you get an equivalent to a hard disk, floppy drive emulation and internet connection as well as access to peripherals on the PI (such as the mouse, ports, clock etc)

TIPI also provides DSKx. redirect that allows you to “map” a floppy drive device to a folder on TIPI.. This is not disk “image” emulation but allows you to use level 1 and level 2 file access to data on the drive.  This is compatible with 99% of software out there with only a few exceptions.

TIPI provides access to the internet including FTP and TELNET applications that run natively on the TI.  PI.HTTP device allows you to read files from a HTTP server on the internet, effectively allowing you to load programs from a web server such as PI.HTTP://ftp.whtech.com/TIPI/DM2K  or read in data from a website such as the WEATHER program that is written in extended basic and reads in the national weather service data for your local airport or weather station.

The Raspberry PI is connected to the TI-99/4a via a sidecar or PEB box TIPI card.

      • The sidecar TIPI card requires the Jedimatt42 style sidecar memory card with 44pin connector and external power supply to operate.  There are both 32k and 1mb SAMS sidecars available now.
        Sidecar TIPI mounted to 32k sidecar board with Raspberry PI Zero installed
        Sidecar TIPI mounted to 32k sidecar board with Raspberry PI Zero installed

        Sidecar TIPI mounted to a 32k ram card and a raspberry PI 3B connected
        Sidecar TIPI mounted to a 32k ram card and a raspberry PI 3B connected
      • The PEB card plugs directly into the expansion box and requires a 32k memory expansion to load it’s tools/utilities.
        tipi peb with Raspberry PI 3B mounted on the board
        tipi peb with Raspberry PI 3B mounted on the board

        tipi peb installed in TI Expansion Box
        tipi peb installed in TI Expansion Box
      • There is a new combo 32k/tipi sidecar that will also conveniently fits in a speech synth case.

        TIPI/32K combo sidecar board with PI Zero installed
        TIPI/32K combo sidecar board with PI Zero installed

For updated/more info see: https://github.com/jedimatt42/tipi/wiki

TONS of info here: https://www.arcadeshopper.com/wp/the-ti-raspberry-pi-connection/

TIPI related videos:

 

TIPI is an inexpensive hard drive replacement for the TI-99/4A

 

 

 

 

TI-99/4A FAQ: Speech Synthesizer

Speech Synthesizer

TI Speech Synth
TI Speech Synth
TI Speech Synth bare board
TI Speech Synth bare board

Just plug it in to the side expansion port of your TI-99/4(a) and it is available to any program that supports it.

Speech Synthesizer Technical information http://www.unige.ch/medecine/nouspikel/ti99/speech.htm

http://www.unige.ch/medecine/nouspikel/ti99/speech.htm#ROM%20pinout

Dimensions:

Speech Synthesizer General Information

Extended basic will only say the words in the included vocabulary in the Extended basic manual. Make sure you enter them in UPPER CASE ONLY if you use lower case it will say “UH OH” for every letter..

Terminal Emulator II will do “text to speech” and say any word spelled in the format documented in the manual.

Speech Editor will also do “text to speech” but they are pretty rare! (I have them in stock!)

Text To Speech was available from TI as a extended basic package that would extend extended basic to have text to speech functions. It’s available here:

http://ftp.whtech.com/emulators/pc99/pc99 dsk collection/Numbered/@Named/TEXTSPCH.ZIP

What about the little door on the front?

Originally when the Speech Synthesizer was designed, it was programmed with about 300 words and phrases (the ones you can get from CALL SAY in Extended BASIC). TI’s intention was to sell add-in modules that went into this compartment that would add additional words to the resident vocabulary. TI then figured out how to do unlimited text to speech through software, added that to Terminal Emulator II, and then there was no need for the add-in modules. So none were ever sold and very few of the speech synthesizers even have the connector inside the door for these to plug into.

Photos of the connector:

There is no data available at this time on the pinout or design of the connector or the never released modules.

I hear there are a couple of side expansion port lines that aren’t passed through the Speech Synthesizer? (these can be jumpered across the board to resolve)

      • 5v on pin 1 (Jedimatt sidecar32 requires this OR an external power supply)
      • Sound through (SID99 requires this to play sound from the PBOX)

Can I put the Speech Synthesizer in the console?

Can I put the Speech Synthesizer board in the PEB?

TI-99/4A FAQ: Technical Specifications

Technical specifications

from: https://en.wikipedia.org/wiki/Texas_Instruments_TI-99/4A#Technical_specifications

CPU

Texas Instruments TMS9900 @ 3 MHz, 16-bit, 64-pin DIP

Memory

  • 256 bytes scratchpad RAM for the CPU
  • 16 kB Video Display Processor RAM
  • 32k expansion ram on expansion bus (see memory expansion for more info)
  • 8k expansion ram on cartridge port (see supercart and mini memory for more info)

Video

TMS9918A VDP, 40 pin DIP. The earlier 99/4 uses the TMS9918. PAL systems use the “9929” versions of each.

  • 32 single-color sprites in defined layers allowing higher-numbered sprites to transparently flow over lower-numbered sprites. Sprites are available at 8×8 pixels or 16×16 pixels, with a “magnify” bit that doubled all sprites’ size but not their resolution. A single bit is available in hardware for collision detection, and the console supports automatic movement via an interrupt routine in the ROM. There can only be 4 visible sprites per scan line.
  • 16 fixed colors (15 visible, one color reserved for “transparent” which shows the background color). Transparent is intended for the 9918’s genlock which is disabled in the system.
  • Text mode: 40×24 characters (256 6×8 user-definable characters, no sprites, foreground and background color only, not accessible in BASIC)
  • Graphics mode: 32×24 characters (256 8×8 user-definable characters, full 15 color palette + transparent (available in groups of 8 through the character table) and 32 sprites (The only mode available in BASIC. Extended BASIC is required for sprites, and can access only 28 of them.)
  • Bitmap mode: 256×192 pixels (no more than two colors in an eight-pixel row, full 15 color palette + transparent, all 32 sprites available but interrupt-based motion through the ROM routine is not due to the memory layout, not available to BASIC or the original 9918).
  • Multicolor mode: 64×48 pixels (each pixel may be any color, all 32 sprites are available)
  • All of the above comprise 36 layers starting with the video overlay input, then the background color, then two graphics mode layers, then a layer for each of the 32 sprites. A higher layer obscures a lower layer in hardware, unless that higher layer is transparent.

Sound

TMS9919, later SN94624, identical to the SN76489 used in many other systems

  • 3 voices, 1 noise (white or periodic)
  • Voices generate square waves from 110 Hz to approximately 115 kHz
  • Console ROM includes interrupt-driven music playback

TI-99/4A FAQ: Memory expansion

The 99/4a came with 16k VDP ram on board. This is memory shared with the Video Display Processor and Basic.  It can not be used for running assembly language or GPL programs. They run from cartridge or expansion memory.

32k ram expansion gives you additional memory for Extended basic, assembly language programs and GPL programs. It also is required for most of the utilities and fun 3rd party/homebew stuff.

        • Editor Assembler requires 32k memory expansion.
        • Extended Basic can use up to 24k of the 32k memory expansion and 8k  is available for loading assembly language programs.
        • Logo can use 32k
        • Multiplan requires 32k memory expansion
        • TI-writer requires 32k memory expansion

The 32k can not be duplicated in multiple cards/expansions so if you want to use another device that provides 32k you must remove or disable the existing 32k device.  (this is a issue with the nanopeb/cf7 device as they can not easily have their 32k disabled and so therefore can not share the buss with other 32k ram expansion easily)

          How do I get 32k ram expansion? 

          If you have an expansion box:

          You can insert a 32k ram card into the Peripheral expansion box,  Many were made by TI, Corcomp and others. (see below under PEB cards)

          You can also use a SAMS card in a PEB that provides 32k as well as additional memory addressable by SAMS compatible software.

          The 9900 Micro expansion from Corcomp provided 32k and also an optional board can be installed to provide a DSDD disk controller and RS232/PIO ports

          TI also produced a 32k sidecar that plugged in the expansion port on the right side of your 99/4a.
          sidecar_memory.jpg

          Myarc designed and produced  the MPES/50 sidecar expansion system that included 32k.
          Image result for myarc expansion system

          Boxcar 32k is a sidecar 32k expansion system

          JediMatt42 designed and released a new 32k sidecar in 2018 that has a very small footprint and expansion pins for future add on devices such as TIPI:

          You can buy a Jedimatt42 sidecar 32k here:

          There are a couple of projects to add the 32k expansion memory directly to the console

          Also you get 32k ram expansion with the NanoPEB and CF7 sidecars.

           Can I get bigger memory cards than 32k?

          Yes you can get bigger memory cards such as:

          Myarc 128k and 512k memory card

                • These include the 32k expansion ram and use a proprietary method to address/bank in the additional ram.
                • They also include DSR routines to do print buffering, ram disk etc.
                • With the Extended Basic II DSR ROM installed you can use 128k of this memory in Myarc Extended Basic II.
                • Myarc Extended Basic II is a software package that comes on diskette and requires a compatible Myarc or Foundation 128k/512k memory card, a cartridge with ram at 6000 (supercart) and a disk drive to load the program.
                • EBII is significantly faster than the TI Basic and Extended Basic interpreters and also provides additional functionality such as bitmap graphics and other features.
                  • More info: https://www.ninerpedia.org/wiki/Myarc_Extended_BASIC_II

          Foundation 32k/128k memory card – also includes the 32k expansion ram, These are basically identical to the Myarc card in fact there’s a ROM swap to make it 100% compatible and work with Myarc Extended Basic II (there is also a hack for these to make them 512k) (roms available at https://arcadeshopper.com)

          AMS – Asgard Memory System cards were available in 128k-512k sizes. These set the standard for AMS memory and were quite expensive when they first came out. (discontinued – rare)

          SAMS – Super AMS supporting up to 1mb of ram. 32k expansion is included and the rest is only compatible with software that works with AMS (discontinued rare)

          Ksarul SAMS – The latest incarnation of the SAMS with 1mb or 4mb ram capabilities. Currently only the 1mb version is available.  32k expansion ram is included with SAMS.

                • Buy the board here and build your own: https://www.ar
                • Contact Kasrul on atariage to purchase an assembled one.
                • More info/discussion here: http://atariage.com/forums/topic/252171-1-meg-super-ams-discussion-thread/

          Sidecar SAMS – Equivalent to the 1mb SAMS pbox cards now in tiny sidecar format with 44pin header compatible with the TIPI sidecar available here:

          TI-99/4A FAQ: ROM and GROM what’s a GROM?!

          ROM

          ROM is Read Only Memory and is used widely in the electronics industry as a standard storage for program and data on hardware.

          Read-only memory (ROM) is a type of non-volatile memory used in computers and other electronic devices. Data stored in ROM can only be modified slowly, with difficulty, or not at all, so it is mainly used to store firmware (software that is closely tied to specific hardware, and unlikely to need frequent updates) or application software in plug-in cartridges.

          https://en.wikipedia.org/wiki/Read-only_memory for more info on how it works.

            • ROM cartridges can not be used on a Version 2.2 QI model 99/4a due to changes made in the operating system to block non-TI cartridges. See here for more info on working around this.
            • Some ROM cartridges were made that plugged in to the side port to bypass QI protection as well. Arcturus and Miner 2049er for examples. They work on all versions of the console.
            • ROM cartridge boards are available from 8k to 2mb

            GROM

            GROM is a TI propitiatory standard memory device only found on TI-99 and compatible systems.

            Some interesting devices were made to get around TI’s GROM restrictions including:

              TI-99/4A FAQ: SD-card Flash carts and Multi-carts

              SD-Card Flash Carts

              NOTE: Cartridges can NOT be used for loading disk files. You need a disk controller or equivalent for disk capabilities.

              FinalGROM99 has been released, this replaces the Flashrom99 and has 1mb ROM and GROM space for full cartridge emulation. It also supports multiple folders on the SD Card!

              purchase through Ralph directly information is here: (Ralph is no longer manufacturing these) https://endlos99.github.io/finalgrom99/

              Still available at arcadeshopper.com

              Flashrom99 (discontinued/replaced by Finalgrom99) that uses an SDcard to load 32k ROM files: https://endlos99.github.io/flashrom99/ I have a few cases left https://www.arcadeshopper.com/wp/?page_id=11#!/FlashROM-Cartridges-cases-and-parts/c/22342012

              ROM/GROM multi-carts are available here:

               

              Also there’s a XB27 suite that is a ROM/GROM multi-cart with many utilities, extended basic, editor assembler, disk manager, diagnostics and 10 games and more: 

               

               

               

               

              TI-99/4A FAQ: Loading Assembly Language Programs

              What do I need to load assembly language programs?

              The big requirement is RAM, assembly language programs need the extra 32k memory expansion to load into since they are programmed for that memory space.

              The basic playground loader uses the teeny amount of cpu RAM in the console to leverage loading assembly in TI basic but that’s limited to very small programs. TI basic has no built in ability to access expansion RAM.

              Most games from TI on cartridge for instance are written in GPL and run from GROM carts. They can be copied to RAM and run from there but it has to be the 32k expansion RAM. This is how we run GROM games from a ROM cartridge board such as the flashROM99.

              The Mini-Memory cartridge includes 4k of battery backed ram* that can be used for small assembly language programs. See Mini Memory entry for more details. This can NOT load programs into 32k like the editor assembler.

              The Editor assembler cartridge gives you the loader to load assembly programs.  Assembly programs come in two varieties. DF/80 object files and PROGRAM image programs. In the EA cartridge you pick option 3 for loading DF/80 object files and option 5 for loading PROGRAM image programs. 

              DF/80 object files tend to have a start program name defined that should be included in the documentation for the program,  most programmers used START as the program name for starting the program so try that if you don’t have the info on the specific program name to use.  After you load the file you will be prompted for the program name.

              EA option 5 programs start automatically

              Editor assembler sets up a environment with routines that can be called by programs. It also has add on routines for TI basic while the cart is installed. Both require 32k expansion RAM to do this.

              Extended basic gives you the ability to load SOME assembly natively.  People have written loaders for extended basic that create the editor assembler environment that many programs require to load correctly.

              These days with sidecar 32k availability for a reasonable price and SAMS cards for less than $100us and the FinalGrom99 sd card cart you can have a full assembly language capable TI for not much investment.

              Also the TIPI DSR rom contains an EA option 5 PROGRAM loader that can be called from basic with CALL TIPI(“DSKX.PROGRAMNAME”) it can also load programs from http sites!

              TI-99/4A FAQ: Cassette FAQ

              I don’t have a cassette cable to store/load programs how do I get one?

                • Build one
                • Buy one here:

              Can I use any cassette drive/audio source?

                • In short Yes you can. As long as the volume is loud enough.

              There is an official TI program recorder but it is a standard audio cassette player, any player with the proper connections (mono audio out, mic in and remote) will work with the TI. Good tips on that link for setting up your recorder with the correct volume etc..

              I have had success with a stereo to mono splitter on my PC and playing WAV files out using VLC to my TI

              Cassette Software resources:

                  • WAV files are here: http://ftp.whtech.com/Cassettes/
                  • Cassettes are also available on arcadeshopper.com

              How do I load a cassette program?

              in TI BASIC and EXTENDED BASIC you type OLD CS1 and hit enter. You will be prompted to rewind the tape then hit PLAY etc..

              How do I save a cassette program?

              in TI BASIC and EXTENDED BASIC you type SAVE CS1 and hit enter. You will be prompted to rewind the tape then hit RECORD etc..

              Other programs?

              Programs such as Tunnels of Doom, Adventure, Video Chess etc let you load and save from cassette. They will prompt you the same as Basic does.

              Man this is slow and unwieldly!

              That’s what we all said when we went and got a disk system for our TI’s 🙂 If you are tired of cassette unreliability and slowness  Get a Expansion Box, TIPI or Nanopeb and use disks instead..

               

               

              TI-99/4A FAQ: Monitor and TV hookups

              How do I hook up my TI to a modern tv/monitor?

              The TI-99/4A NTSC model released in the USA and other countries supports a standard 5 pin DIN connector.  Many 8 bit computers of the era all share the same cable, Atari 800, ColecoVision, Coleco Adam, C64 are some examples.

              The TI-99/4A PAL model relased in Europe and other PAL countries supports a 7 pin DIN connector.

              NTSC: Composite cable

               

              VGA:  (works on both PAL and NTSC consoles)

                  • F18A VDP replacement from https://dnotq.io/ allows you VGA out from your TI 
                    • For those interested in getting a F18A VGA VDP replacement for your TI-99/4a here’s the latest status and updates:  https://dnotq.io/f18a/f18a.html
                    • I periodically have these in stock:
                  • VGA to HDMI adapters have been used to make this work with HDMI only displays. http://atariage.com/forums/topic/234226-hdmi-for-the-ti/ I have these in my store at arcadeshopper.com
                  • The audio is still output through the 5pin DIN video port so you will still need a composite cable with at least the audio pins connected to a speaker if you install a F18A you can buy these at arcadeshopper.com

              Convert NTSC console to PAL