Jump to content

Photo

TI-99/4A development resources

TI-99/4A Forth Extended Basic Books Game Development Emulators VDP9918 TMS9900 Compilers

168 replies to this topic

#1 retroclouds ONLINE  

retroclouds

    Stargunner

  • 1,437 posts
  • Location:Germany

Posted Thu Nov 19, 2009 11:35 AM

Don't forget to visit Ninerpedia; our wiki about the TI-99/4A. Check here.

If you are the owner of one of the programs or sites and do not want it posted, please let me know and it will be removed immediately.
Also if you think a reference to an important development resource is missing, then please let me know and I'll be happy to add to the list.

If you are new to the TI-99/4A or returning after a long time, then you might want to check out the TI-FAQ page here.
Also make sure to visit the TI-99/4A Home Computer Book Archive by airernie, now hosted by acadiel.
It's a great collection of excellent technical books about programming the TI-99/4A.

Latest update: March 22nd 2015


1. Emulators


classic99 win
Windows-based emulator including TI-99 ROMs under license from Texas Instruments.
Debugger, memory heatmap, OS file support, support for 128K bank-switch carts, can create ROM/GROM cartridges, possibility to record AVI movies.
User manual is included.
Check the classic99 Updates thead for the latest news on classic99.
Click here to watch Tursi's classic99 tips and tricks video tutorial.
(Author: Tursi)

MESS win+linux
Multiple system emulator that supports the TI-99/4, TI-99/4A, TI-99/8, and Geneve.
Emulates more than 400 systems. Requires ROMs from the original systems.
Features a powerful Debugger, most accurate emulation, support for 64K bank-switch carts / Gram Kracker / UCSD p-code expansion card.
Possibility to record AVI movies.
Also see the MESS section in ninerpedia.
The MESS debugger documentation can be found here.
(Author: mizapf)

Js99'er All major browsers
TI-99/4A emulator written in javascript. Has support for TMS9918A VDP & supports most of the F18A functionality, TMS9919 sound.
Virtual disk drives using google drive.
Some preloaded games, demos and applications included.
Js99'er development thread can be found here.
(Author: Rasmus-M)

V9t9 win+linux
TI-99/4A emulator written in java. Has support for TMS9918A VDP, TMS9919 sound & TMS5220 speech.
Debugger included. V9t9 also supports the UCSD P-Code system.
Some of the advanced V9t9 features include: ability to save/restore emulator state, record & playback, support for V9938 VDP.
Requires ROMs from the original systems.
This emulator needs the Java Runtime Environment available for free at Oracle.
V9t9 discussion thread can be found here.
(Author: eswartz)

Win994a win
Windows-based emulator of the TI-99/4a
Good TMS9900 cross-assembler included. No debugger.

Ti994w win
Windows based emulator by Fred Kaal. Offers 80 column support, SAMS card 1Mb of RAM, V9938 support, built-in debugger, ...
devres_icon_star_gold_hof2.png

TI-99/Sim linux
Linux-based software simulation of the TI-99/4A.

PC99 DOS
Commercial DOS-based emulator licensed by Texas Instruments to sell ROMs.

 
2. Programming languages


Assembly language
Winasm99 win
Windows based TMS9900 cross assembler with GUI and ability to build 8K cartridge roms.
Is part of the Win994a emulator.

asm990 linux
Linux based cross Assembler for the TI 990 by Dave Pitts.
You'll also need lnk990 a separate linker which can be found on the same page.

TIasm win
TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) rom.
Is part of the old V9T9 emulator package. Source is included.

XA99 - Cross Assembler 99 win
XA99 (Cross Assembler 99) is a program by Fred Kaal for assembling TMS9900 assembler code on the PC.
devres_icon_star_gold_hof2.png

L99 - Linker 99 win
L99 is a tagged object file linker by Fred Kaal for creating program files for the TI99 and Geneve home computer.
devres_icon_star_gold_hof2.png

TI 99 Cross-Development Tools win, linux, OS X
The TI 99 Cross-Development Tools (xdt99) are a small suite of programs that facilitate the development of programs for the TI 99 family of home computers on modern computer systems.
All programs are written in Python and thus run on any platform that Python supports, including Linux, Windows, and Mac OS X.
Includes xas99 (TMS9900 cross-assembler), xga99 (GPL cross-assembler!) and some command line tools for handling disk images and nanoPEB/CF7A+ volumes.
The development thread on atariage can be found here.
(Author: ralphb)

devres_bookcovers_kombi2.png
Editor/Assembler reference manual PDF
The official Editor/Assembler reference manual. Note that this is not a tutorial for beginners.
Still, it's an essential manual when writing assembler for the TI-99/4A.
The online version can be found here.

COMPUTE!'s beginner's guide to assembly language on the TI-99/4A PDF
The Lottrup book. The only manual available today focusing on programming games in TMS9900 assembler.
The examples in the book are for the Mini Memory line-by-line assembler which is rather limited.
The manual also contains a few errors. Check here for the corrections.
Nonetheless this book is a must-read for everyone seriously interested in writing assembler games for the TI-99/4A.
The online version can be found here.

Introduction to Assembly Language for the TI Home Computer PDF
The Molesworth assembly language introduction book.
Covers VDP communication, keyboard reading, file access and a lot more.

The Art of Assembly series PDF
The full series of articles by the late Bruce Harrison compiled as PDF. Over 600 pages, very well written and thorough.
devres_icon_star_gold_hof2.png

SPECTRA2 TI-99/4A
Library for programming games in TMS9900 assembly language.
Has routines for handling tiles, sprites, sound & task scheduler.
Documentation manual PDF is included.
(Author: retroclouds)


BASIC
Harry Wilhelms' Basic compiler TI-99/4A
The zip archive contains the disk with compiler and documentation. As this is a TI-Basic compiler no sprites are supported.
This is the compiler used to convert the great TI-Basic game Bouncing Babies to assembly language.
Here's a tutorial video by Opry99er showing how to compile a basic program.
And this is another video demonstrating the difference in speed between normal and compiled code.
(Author: senior_falcon)
devres_icon_star_gold_hof2.png

Power BASIC TI-99/4A
This is a port of the 'Power BASIC' interpreter used with the TMS9995-based Powertran Cortex machine.
It is written in pure assembly. Graphic commands, sprites and saving to disk are supported. Currently no sound and speech supported.
Power BASIC instruction manual available.

Playground TI-99/4A
Playground is a package making it possible to create assembly language programs that run from TI BASIC on an unexpanded console using only a cassette player to load the program(!)
Although primarily intended for use in TI BASIC, programs written for playground can be run from XB, saved in E/A 5 format, loaded into a supercart, and even made into an actual cartridge.
The manual describes in detail the differences in style necessary when programming for an environment that runs in only 256 bytes of memory.
There is a library of subroutines for printing text, printing a number, shifting blocks in VDP, generating random numbers, using the line editor from BASIC, HCHAR, VCHAR,GPLLNK, a bit reversal routine, and a fast scroll routine.
Source code is included for three different programs that should help you get started.
Check here for the development thread on Atariage.
Check this related thread for some clever work based on Playground.
(Author: senior_falcon)
devres_icon_star_gold_hof2.png


Extended BASIC
Extended Basic Game Developers Package TI-99/4A
This package contains two applications that make it possible to produce arcade quality games with XB.
Although they are designed to complement each other, they are stand alone utilities.
Both can be run on a real TI99 with nothing more than XB, 32K and a disk drive.
(Author: senior_falcon)
devres_icon_star_gold_hof2.png

1) XB256
XB256 lets you toggle between two independent screens as desired. Screen2 lets you define all 256 characters and have up to 28 double sized sprites using the character definitions available to Screen1.
Scrolling routines let you scroll characters left, right, up, or down or scroll using single pixels. There is a text crawl that gives an effect similar to the STAR WARS title screen.
You can highlight text, set the sprite early clock, print in any direction on the screen using 32 columns, read/write to VDP ram, write compressed strings or sound tables to VDP ram, play a sound list, and catalog a disk.
A utility lets you save selected areas of VDP memory as compressed strings that can be merged with your program.
Character definitions, sound tables, screen images, etc. are saved in a more compact form that can be loaded virtually instantaneously.
There are two utilities that convert the CALL SOUNDs in an XB program into a sound table containing music and sound effects.
This can be loaded directly into VDP memory and played automatically while your XB program does other things. Also, a second player can play a different sound list simultaneously with the first, so you can have background
music playing and add sound effects on top of the background music.

2) COMPILER v2.56C
COMPILER v2.56C lets you compile an XB program into an equivalent assembly language program that will run about 20 times faster.
All the XB256 subprograms are supported by the compiler and in general, all the major features of XB are supported.

RXB TI-99/4A
RXB is a updated version of TI Extended Basic and the most recently updated in 2012.
Most bugs in XB have been fixed in RXB and GKXB is in the main core of RXB.
RXB has features no other XB has such as Batch processing or Hard Drive Access or updated CALL routines.

Full documentation, examples and GPL source code included. Cartridge image for classic99 emulator included.
Requires a GRAM device such as a GRAM Kracker for running RXB on the TI-99/4A.
The RXB thread on Atariage contains a video tutorial and can be found here.
(Author: RXB)

My Little Compiler (MLC) TI-99/4A
Library for using assembler-like language & routines from Extended Basic.
Great for putting more power in Extended Basic programs. Now includes a precompiler for high-level language syntax. Demo Pong game and documentation included.
The MLC development thread can be found here.
Check out the video by rocky007 on his MLC based TI-99/4A port of Kaboom!
(Author: moulinaie)

The Missing Link 2.0 (TML) TI-99/4A
The zip archive contains "The Missing Link 2.0" and its documentation. This was published by Texaments in 1990.
It gives the XB programmer easy access to the bit mapped features of the 9918 VDP.
Full color cartesian graphics, turtle graphics, sprite graphics (32 sprites with auto motion) are supported.
Text can be displayed on screen with fonts having sizes ranging from 4x6 pixels to 8x8 pixels.
The manual is updated with many previously undocumented features. A tutorial called "Potatohead" is included.
There is a loader that embeds A/L programs in high memory - they can be saved as an XB program and run directly out of high memory.
(Author: senior_falcon)
devres_icon_star_gold_hof2.png

TidBiT - BASIC/XB Translator win, linux, OS X
A translator program that reads a program written in a custom, structured form of BASIC and translates it to a BASIC / Extended BASIC program.
PHP required when doing a local installation.
Check here for the latest revision, installation instructions included.
(Author: matthew180)

devres_bookcovers_kombi4.png
COMPUTE!'s Programmer's Reference Guide to the TI-99/4A PDF
TI-Basic programming manual touching graphics and sound.

COMPUTE!'s TI Collection volume One PDF
The online version can be found here.
Best of TI-Basic programming by C. Regena
devres_icon_star_gold_hof2.png

Texas Instruments TI-99/4A user reference guide PDF
The official user reference guide with details how to setup and connect your TI-99/4A.
Includes an introduction on the TI-BASIC programming language.

Extended Basic reference manual PDF
The official extended basic manual, explaining the 40 new or expanded commands, sprites, etc.
Check here for the online version with command lookup functionality.

MG Night Mission PDF
Advanced tutorial on how to program an arcade game in Extended Basic.

MG Smart Programming Guide for Sprites PDF
Advanced tutorial on how to efficiently use sprites in Extended Basic.

C
C99 TI-99/4A
C99 is a small C compiler for the TI-99/4A written by the famous Client Pulley. The zip archive contains C99 v4.0 in PC99 disk format.
The documentation packagezip contains some introduction tutorials in PDF format.
devres_icon_star_gold_hof2.png

C99C - C99 cross compiler and optimizers win
C99C is the enhanced PC version by Fred Kaal of the C99 compiler for the TI99/4A home computer.
Also included are multiple optimizers for compacting the generated assembly source (C Optimizer, Function Call Optimizer, ...)
devres_icon_star_gold_hof2.png

GNU C Compiler (GCC) win + linux + osx
GCC for the TMS9900 allows you to cross-compile C programs on your PC (Linux, OSX or Windows) for the TI.
Insomnia's release contains a set of patches against GCC 4.4. Just check out the code from the GCC project, apply the patches and build according to the build instructions
for your platform and you're on your way to write programs and games for the TI in a high level language that rival the speed of assembly. And if you need just that little
bit extra in terms of speed, you can always inline TMS9900 assembly for the critical sections of your code and compile everything with the same toolchain.
For access to the VDP, the SN76489, etc... you can use Tursi's ti99 library, which you can find in the GCC thread.
Hop over to the INSOMNIA LABS blog for background information on this port.
Check the "Setting up the GCC compiler for the TI-99/4A" video by Tursi for detailed steps on how to build and install GCC on your Windows PC.
You can now download the cygwin binary port for Windows here. (Thanks lucien2).
(Author: insomnia)


Fortran
99-9640 Fortran TI-99/4A & Geneve
The zip archive contains LGMA Products' FORTRAN v4.4 in both a version for the TI-99/4A and the Geneve 9640 computer.
Documentation in PDF format included. The discussion thread on Atariage can be found here.
Special thanks to: dano
devres_cover_fortran_package.png


Forth
Turboforth TI-99/4A
A brand new implementation of the Forth langugage for the TI-99/4A.
The Forth system itself is written in assembler and is optimized for speed.
It runs from the cartridge space so there's plenty of space for your program in the 32K memory expansion.
Check TurboForth.net the companion web site for the TurboForth system.
Click here for seeing some Turboforth video tutorials.
(Author: Willsy)

TI Forth Instruction Manual "2nd Edition 2013" PDF
2012 enhanced version of the original TI Forth Instruction Manual in PDF format by Lee Stewart.
Look here for details on manual improvements, etc.
The updated TI-Forth system disk can be found here.
(Author: Lee Stewart)
devres_bookcovers_kombi5.png

fbForth TI Forth with File-based Block I/O zip
fbForth 1.0 uses Level 3 file I/O for I/O of Forth blocks. It also implements 80-column text mode if you have a system with that facility.
See the fbForth manual PDF for details.
Check this thead for the latest news on fbForth.
(Author: Lee Stewart)


GPL
GPL Programmers Guide PDF
The original GPL programming reference manual from Texas Instruments.
Covers all opcodes and advanced stuff like coincidence detection, I/O routines, etc.

devres_bookcovers_kombi3.png

GPL HOW 2 Series video
A complete series on how to program GPL (Graphics Progroamming Language) on the TI-99/4A.
Each tutorial has its own support package with example code, GPL assembler, etc.
Video tutorials done by Rich, the programmer of Rich Extended Basic.
(Author: RXB)

GPLHOW2A - Introduction video / zip
GPLHOW2B - Sprite demo video / zip
GPLHOW2C - How to make a Screen Editor like TI Writer or Editor Assembler video / zip
GPLHOW2D - Editor Assembler TI BASIC support.video / zip
GPLHOW2E - DMII cartridge upgrades and how GPL works video / zip
GPLHOW2F - TI Basic to GPL. Converting a TI Basic program to GPL video / zip
GPLHOW2G - TI Basic CALL SOUND to GPL video / zip
GPLHOW2H - Simultaneous sound lists and interrupt timer in GPL video / zip
GPLHOW2I - XB2GPL demo of a XB game Baloons converted into a GPL program video / zip
GPLHOW2J - Update to GPLHOW2I and adds a automatic music to the game from the last demo video / zip
GPLHOW2K - How to make XB Program Image files into I/V 254 files video / zip

TI-Intern PDF
Details on "Monitor", the OS of the TI-99/4A. Disassembly of console ROM/GROMS and GPL interpreter.
Has details on interrupt routine, utility subprograms, basic interpreter, etc.
devres_icon_star_gold_hof2.png


LOGO
TI-LOGO programming manual PDF
The official TI-LOGO programming manual.
The online version can be found here.
devres_bookcovers_kombi7.png

Pascal
Turbo Pasc'99 TI-99/4A
The zip archive has the patched version of Wiposofts Turbo Pasc'99 which you can run on your favorite emulator or on the TI-99/4A itself.
While Turbo Pasc'99 is not as complete an implementation of Pascal as the UCSD Pascal system, it does have the advantage of not requiring
any special hardware other than 32K RAM and a disk drive, and will likely meet the programming needs of most TIers.
Check here for an english translation of the german documentation.
This version is started by running the Editor Assembler #EA5 program image DSK1.TP99A
Special thanks to: Vorticon, apersson850, retroclouds and lucien2

UCSD Pascal ZIP + PDF
The official UCSD Pascal programming manuals and disks. The zip file (70 megabytes) contains all manuals in PDF format.
Here are the PDF manuals for online viewing: Compiler, Editor, Filer, Utilities, Assembler, Linker, p-code card
The UCSD system disk images in v9t9/MESS format can be found here.
Note that you need the UCSD P-code expansion card for running UCSD Pascal on the TI-99/4A.

Thierry Nouspikel has lots of information on the technical implementation of UCSD Pascal on the TI-99/4A.
Check here for details on the P-Code card and here for details on the P-Code system software.
Also a lot of details on UCSD Pascal in general (p-system vm, documentation, cross compiler, ...) can be found here.
devres_bookcovers_kombi6.png

 
3. Technical Documentation


Hardware
bookcovers_kombi1.png

TMS9900 Microprocessor Data Manual PDF
Data Manual on the TMS9900 16-bit processor. The TMS9900 is the CPU used in the Texas Instruments TI-99/4A Home Computer.
Contains instruction execution times, opcode size, etc.

TMS9901 Programmable Systems Interface Data Manual PDF
Data Manual for the TMS9901, Interrupt and I/O interface controller

VDP Programmer's guide PDF
The official programmer'a guide for the TMS9918A and its variants. The 9918A is the Video Display Processor
chip used in the TI-99/4A and several other home computers + game consoles of that era.

SN76489 sound chip datasheet PDF
Data sheet for the SN76489 sound generator. The TMS9919 in the TI-99/4A is close to being identical with the SN76489.

TMS5220 Speech Synthesizer Data manual PDF
Data manual for the TMS5220 chip used in the TI-99/4A speech synthesizer device.

Guide for ROM command module PDF
Description on how to write software that runs from cartridge ROM.


DSR (Device Service Routine) / Disk & File Management
Device Service Routine Specification for the TI-99/4(A) Personal Computer PDF
Functional Specification for the 99/4 Disk Peripheral PDF
Software Specification for the 99/4 Disk Peripheral PDF
GPL Interface Specification for the 99/4 Disk Peripheral PDF
File Management Specification for the TI-99/4 Home Computer PDF

 
4. Homebrew Hardware


Graphics & Sound
F18A Video Display Processor
The F18A is a FPGA based hardware and pin compatible replacement for the TMS9918A/TMS9928/TMS9929 VDP's (Video Display Processor).
Besides VGA output it offers enhanced functionalities such as 80-column mode, additional video resolutions, hardware register scrolling, an embedded TMS9900 compatible GPU, etc.
The development thread on Atariage, which includes the F18A programming documentation can be found here.
The store on code|hack|create has the details on F18A availability, costs, etc.
(Author: matthew180)

SID Master 99 sound synthesizer card
The SID Master 99 is a new sound synthesizer expansion card for the Peripheral Expansion Box.
It integrates the famous MOS 6581 or 8580 SID chip (as used in the Commodore 64 home computer).
SIDPLAY99 sound player software available for use with this expansion card.
The store on DSAPC has the details on Sid Master 99 availability, costs, etc.
(Author: marc.hull)

Homebrew cartridge boards
There are a number of Homebrew cartridge boards available to the users of the TI-99/4A now.
Each has its own advantages and disadvantages from a usability standpoint, and some earlier types are only available by having your own made.

To read the PCB layout files mentioned below, you need the ExpressPCB software which is available for free. Check here.
The files are currently not released in Gerber/Excellon format, but can be converted to it using the RobotRoom Copper Connection software, available here.
Note that to convert files to Gerber format you have to have the licensed version of the software ($50).

16K board PCB file
The first of the new cartridge boards is the 16K board designed by acadiel and Stuart.
This board used an inverted output from a 74LS379 to select between two 8K banks at >6000 in the TI memory map.
The banks are selected by writing to >6000. This board allows most of the third-party cartridges designed for the 99/4A to be replicated.
Further details on this board (components, EPROMS, software, etc.) can be found in: Attached File  16k_board_details.rtf   3.87MB   4 downloads

 
5. Utilities (file transfer, graphics, sound, ...)


File Transfer
TIImageTool win + linux
TIImageTool is a tool that allows you to open disk image files as used with many emulators, and to work on them with common disk operations (like cut/copy/paste of files).
It is particularly tailored for use with MESS but can also be used with other emulators.
Has support for v9t9 format, PC99 format, CHD format, working with files & directories, Archiver support (can process Archiver files on the images), ...
This utility needs the Java Runtime Environment available for free at Oracle.
Supports Cf7a+ card images.
(Author: mizapf)

TI99Dir win
TI99 filemanager for windows. Great for transferring disk images to the TI-99/4A.
Supports Cf7a+ cards and Cf7a+ card images.
devres_icon_star_gold_hof2.png.


TiDisk-Manager OS X
The TiDisk-Manager is a disk tool for disk images from floppy disks used by a TI-99/4A home computer.
You will need an Apple Macintosh or Hackintosh running with Mac OS X 10.9 or newer.
Has many features including file preview, export, etc. and even an interactive editor to disassemble program files and create good readable source code.
The development thread on atariage can be found here
(Author: HackMac)


Cf2k - Compact Flash 2000 TI-99/4A
Cf2k (Compact Flash 2000) is a file manager for the TI99/4a with a CF7A+ compact flash adapter.
With CF2k it is possible to protect/unprotect files, rename files/volumes, format volume, mount volume, copy/move/delete files,
execute program files, ...
Supports Cf7a+ cards.
devres_icon_star_gold_hof2.png

Graphics
Convert9918 win
Windows program for converting images into TMS9918A Graphics II (bitmap) mode.
Output is in TI-Artist format or raw image/pattern dump.
The article Modern Graphics on the 9918APDF gives an interesting overview on the techniques used in Convert9918.
(Author: Tursi)

GraphiCV win/linux/osx
Sprite Editor written in java. Draw your sprites on the PC and export them for use in Extended Basic and Assembler.
Also supports export to Colecovision C format.
Work with multiple sprite "layers" for creating multi-colored sprites.
Click here for the GraphiCV development thread on atariage.
Source code is also available at github. Check here.
This utility needs the Java Runtime Environment available for free at Oracle.
(Author: unhuman)

Magellan win/linux/osx
TI-99/4A map editor written in java. This is the latest, updated, unofficial version.
Draw your maps/screens on the PC and export them for use in Extended Basic and Assembler.
Has a rich feature set: Import character set from '.PNG' or '.GIF' file, copy & paste, drawing functions, support for half-bitmap mode, Export in XB display merge format, etc.
Possibility to export maps as data statements for Extended Basic and Assembler, binary export also possible.
Click here for the latest news on Magellan.
This utility needs the Java Runtime Environment available for free at Oracle.
(Author: The Codex). Enhanced by retroclouds, sometimes99er, Rasmus-M.

Sprite Editor TI-99/4A
TI-99/4A sprite editor written in C99. Runs from Editor/Assembler #EA5.
Draw your sprites in an emulator or on the TI-99/4A machine.
The zip file contains both the files for use in emulator and a TI disk image for easy transfer to the TI-99/4A.
README file with detailed instructions included.
You can see the Sprite Editor at work building some sprites: Jet Set Willyvideo and Parsecvideo.
(Author: Willsy)



Sound & Speech
VGM player
Compresses VGM files into a format that can be played back on the TI using the included player from C and assembly.
(Author: Tursi)

Mod2PSG2
Fully featured PC tracker for arranging music for the SN76489 and compatible sound chips. Can export to VGM and other formats.
(Author: KonTechs/Martin)

Sound List Ripper 
PC tool for ripping and playing back sound lists from TI files. Supports basic editing of sounds lists.
(Author: Rasmus-M)

Sound list player
Plays back sound lists from XB and assembly.
(Author: matthew180)

Advanced Sound List Player
TI tools for editing and playing back advanced sounds lists.
(Author: marc.hull)

QBOX Pro win
QBOX Pro is the windows software that converts WAV files to LPC speech data for playback on the TI-99/4A speech synsthesizer.
This is a 16bit windows application but it still runs in Windows 2000/XP/Vista.
It requires the BWCC.DLL library which can be found here.


Editors
Notepad++ win
Notepad++ is a free source code editor that supports several languages.
Runs in Windows environment.

Notepad++ syntax highlighting file win
Syntax highlighting file for Assembler and Extended Basic to be used with the Notepad++ text editor.

 
6. Tutorials


Assembly language
Building a multi-bank ROM image PDF
Tutorial on compiling a 32K bank-switched cartridge ROM image starting from assembly source code (deref utility included).

How to implement an assembly sound player for XB web
Very well written tutorial on how to implement an assembly sound player for Extended Basic.
It covers the tools needed and steps involved.

Commented assembly source code
Not a tutorial in the classical sense, but the commented source codes of the below games should help you get the idea.
Pitfall! source code web
Munchman source code PDF
TI invaders source code PDF

We now have the OCR'ed and tweaked TI Invaders source code TXT available & ready for assembly with Winasm99.
Thank you Stuart!

PARSEC source code PDF
Thank you Ksarul!


TMS9918/TMS9928 Video Display Processor
TMS9918/9928 video modes video
Video tutorial explaining the supported graphic modes of the video processor used in the TI-99/4A.

TMS9918/TMS9928 Sprites and Characters video
Video tutorial about the use of sprites and character patterns in the different video modes.

TMS9918/TMS9928 How to create a bitmap title screens video
Video tutorial on how to create a bitmap screen for games.

Speech Synthesizer
Convert WAV file for playback using speech synthesizer video
Video tutorial on how to use QBOX Pro to convert a 8kHz mono WAV file to LPC speech data
for playback on the TI-99/4A with the speech synthesizer device.
It shows how to embed the LPC byte stream into your own assembly language program.

Compilers
The Wilhelm Basic compiler video
Video tutorial on how to compile a basic program to assembly language.
(Author: Opry99er)

File transfer
(TI99->PC) RS232 File Transfer video
Video tutorial on file transfer from the TI-99/4A to the PC using a serial connection cable.
(Author: Opry99er)

(PC->TI99) RS232 File Transfer VIEW PART 1 / VIEW PART 2 video
Video tutorial split in 2 parts dealing with file transfer from the PC to the TI-99/4A using a serial connection cable.
In detail: DL a game from TI Gameshelf, Use ARC303G to unarchive it, Test in Classic99, Transfer using QModem and MFM, Running game on TI.
(Author: Opry99er)

 
7. TI-99/4A related websites


TI-99/4A @ wikipedia
Introduction and basics of Texas Instruments TI-99/4A Home Computer.

ninerpedia
Wiki with information on MESS and its multicart format (RPK). Home of the TI-FAQ.

Thierry Nouspikel's Tech Pages
Probably the best TI hardware and software tech page. It has a wealth of technical details on all things TI-99/4A.
This includes GPL, GROM, keyboard scanning, speech, etc.
You can also download the full site as a zip file for offline viewing.
devres_icon_star_gold_hof2.png

Mainbyte's home of the TI-99/4A
Very good tech site with many detailed pictures and reference area.
Includes various projects for upgrading your TI-99/4A, e.g. build a supercart cartridge.

Jon's hexbus page
Several hardware projects including pictures. [b]Home of the 64K bank-switched cartridge project.
(Author: acadiel)

[code|Hack|Create]
New website run by Matthew of the Atariage group. The site covers many new hardware projects as the F18A FPGA based VDP and Bank-switch mini 256K.
There's also a store where you can buy cartridge PCB's and other funky stuff.
Author: matthew180

The nanoPEB & CF7+ Website
The official website. Has the documentation, tools and some source code of the popular TI-99/4A Compact Flash device.

TurboForth.net
TurboForth.net is the companion web site for the TurboForth system written in TMS9900 Assembly Language by Mark Wills for the Texas Instruments TI-99/4A computer.

TI projects page (Fred Kaal)
Several hardware and software projects for the TI-99/4A.
Home of TI-99Dir, TI99HDX and several other must-see projects.
devres_icon_star_gold_hof2.png

TI-99/4A Home Computer Book Archive
A new site where you find many books about the TI-99/4A not seen elsewhere.
(Author: airernie)

TI-99/4A Game Shelf
Provides a gallery of interesting games with images of the opening screen as well as an
in-play snapshot, along with a brief review tested on a real TI 99/4A system. Hardware
requirements are also listed. Has many good Extended Basic games.
(Author: Vorticon)

Gamebase TI99/4A Version rar
Dropbox link for downloading TI-99/4A software collection and configuration for use with Gamebase emulator Front-end.
Check this thread on Atariage for details.

WHTech
WHTech is the primary archive - though it's a bit overwhelming.
But pretty much all software, hardware docs, etc, are available there.

Navigate WHTech using PEEKBOT
Alternate interface that allows you to view/download the contents of files stored in disk images on WHTech.

99er.net
Site with useful file archive and forum functionality.

YAHOO! TI-99/4A list group 1
YAHOO! TI-994A list group 2
YAHOO! TMS9900 programming list group
comp.sys.ti - Covers all TI devices, including calculators.


Edited by retroclouds, Sun Mar 22, 2015 8:32 AM.


#2 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Dec 6, 2009 9:50 AM

ok, I just updated the list of TI-99/4A development resources icon_smile.gif
  


Edited by retroclouds, Sun Oct 20, 2013 7:05 AM.


#3 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Sun Dec 6, 2009 1:27 PM

TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) roms. TIasm with source can be found here:
ftp://ftp.whtech.com/emulators/v9t9/v9t9src.zip

:)

#4 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Dec 6, 2009 1:48 PM

TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) roms. TIasm with source can be found here:
ftp://ftp.whtech.com/emulators/v9t9/v9t9src.zip

:)


Thanks for the hint, I'll update the list ;)

#5 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Sun Dec 6, 2009 2:05 PM

  • classic99
    Windows-based emulator including TI-99 ROMs under license from Texas Instruments
    Best debugger, OS file support, support for 64K bank-switch carts
    Status: Still under active development
  • MESS
    Multiple system emulator that supports the TI-99/4A
    Basic debugger, most accurate emulation, support for 64K bank-switch carts
    Status: Still under active development

The MESS debugger has many features that the Classic99 does not have and vice versus.

:|

#6 Tursi OFFLINE  

Tursi

    River Patroller

  • 2,970 posts
  • Location:PVG

Posted Sun Dec 6, 2009 5:15 PM

Classic99 supports 128k bank switch carts, actually.

For MakeCart, today it only outputs GROM code - you can't burn the result to an EPROM and have it work (so the comment is a little misleading). I did start the ROM output version though and will get that done eventually. ;)

Edited by Tursi, Sun Dec 6, 2009 5:17 PM.


#7 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Mon Dec 7, 2009 3:10 AM


  • classic99
    Windows-based emulator including TI-99 ROMs under license from Texas Instruments
    Best debugger, OS file support, support for 64K bank-switch carts
    Status: Still under active development
  • MESS
    Multiple system emulator that supports the TI-99/4A
    Basic debugger, most accurate emulation, support for 64K bank-switch carts
    Status: Still under active development

The MESS debugger has many features that the Classic99 does not have and vice versus.

:|


Noted, I've just adjusted the wording a bit. I also just checked the debugger page at MESS wiki;
The debugger really has some features I didn't think were there. Cool :cool:
I'll also try to be more objective ;)

Oh, on a sidenote, I just checked David Pitts' page and his asm990 cross-assembler runs on Linux, now supports
macros and has a "TI-99/4A mode". It can't create any cartridge images yet. But definitly worth testing more.
I'll be adding that to the resources together with TI-asm.

Edited by retroclouds, Tue Jul 17, 2012 11:49 AM.


#8 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Mon Dec 7, 2009 3:14 AM

Classic99 supports 128k bank switch carts, actually.

For MakeCart, today it only outputs GROM code - you can't burn the result to an EPROM and have it work (so the comment is a little misleading). I did start the ROM output version though and will get that done eventually. ;)


Thanks for the info on this Tursi. I've updated the post. :)

#9 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Mon Dec 7, 2009 4:06 AM

Noted, I've just adjusted the wording a bit. I also just checked the debugger page at MESS wiki;
The debugger really has some features I didn't think were there. Cool :cool:
I'll also try to be more objective ;)


;)

Although MESS does not have a "memory heatmap" as Classic99, you gotta love the flexibility of MESSí watchpoints ...

Examples:

hotspot 0,10
Looks for hotspots on CPU 0 using a search buffer of 16 entries, reporting any entries which end up with 250 or more hits.

hotspot 1,40,#1000
Looks for hotspots on CPU 1 using a search buffer of 64 entries, reporting any entries which end up with 1000 or more hits.

wp 1234,6,rw
Set a watchpoint that will halt execution whenever a read or write occurs in the address range 1234-1239 inclusive.

wp 23456,a,w,wpdata == 1
Set a watchpoint that will halt execution whenever a write occurs in the address range 23456-2345f AND the data written is equal to 1.

wp 3456,20,r,1,{printf "Read @ %08X\n",wpaddr; g}
Set a watchpoint that will halt execution whenever a read occurs in the address range 3456-3475. When this happens, print Read @ <wpaddr> and continue executing.

temp0 = 0; wp 45678,1,writeval==f0,{temp0++; g}
Set a watchpoint that will halt execution whenever a write occurs to the address 45678 AND the value being written is equal to f0. When that happens, increment the variable temp0 and resume execution.

:cool:

#10 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Mon Dec 7, 2009 4:17 AM

... possibility to record AVI movie ...

With or without sound, I donít think that is important features. There are many excellent screen and window video grapping software applications available and also for free.

I sometimes use Camtasia Studio to grap, zoom and analyze pixels and animations frame by frame.

Also, feel free to delete my comments/viewpoints, as to keep this thread a bit "clean".

;)

#11 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Mon Dec 7, 2009 4:31 AM

... support for 128K bank-switch carts ...

Now that Classic99 supports 128K bank-switch carts, you might add MESSí ability to support RAM in cartridges with "type of" Mini Memory (4K persistent), MBX (1K persistent) and SuperSpace II (32K).

Yes, you should be able to make games using persistent RAM to keep track of high scores, remember settings, save and load game facilities etc. - all ultraquick !

;)

#12 Tursi OFFLINE  

Tursi

    River Patroller

  • 2,970 posts
  • Location:PVG

Posted Mon Dec 7, 2009 10:27 AM

The feature lists will start getting very long if we put in all the little features. Classic99 supports RAM in cartridges too (just not persistent, nobody's ever asked for it ;) ). I think it's fine that there's a summary list and a link, so long as what's listed is accurate and relatively independent.

#13 Kurt_Woloch OFFLINE  

Kurt_Woloch

    Stargunner

  • 1,042 posts

Posted Tue Dec 15, 2009 12:58 PM

I just downloaded the latest version of MESS, and contrary to the last one I used, the TI-99 emulation doesn't support cartridges anymore! Can anyone tell me why this has been removed and how cartridges can be loaded into MESS now?

#14 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Tue Dec 15, 2009 2:08 PM

Well, MESS does still handle cartridges. There is a new format for storing ROMS.
The ROMS are now in .rpk files (basically a zip file with .rpk extension containing rom and metadata).

Check here:
http://ninerpedia.or...MESS_ROM_format

and here:
ftp://whtech.com/emulators/cartridge_images/rpk/

#15 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Tue Dec 15, 2009 2:15 PM

Yep, as of version 0.135. Unfortunately the old method has been cancelled and even makes the system crash. The new method takes more and newer types of cartridges.

MESS history:
http://www.ninerpedi...version_history

:)

#16 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Jan 17, 2010 12:38 PM

Made a few updates and added several new resources :)

#17 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Jan 17, 2010 1:50 PM

Added my new tutorial "how to build a multi-bank ROM image". Enjoy :D

#18 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Mon Jan 18, 2010 2:13 AM


TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) roms. TIasm with source can be found here:
ftp://ftp.whtech.com/emulators/v9t9/v9t9src.zip

:)


Thanks for the hint, I'll update the list ;)

Still not there ?

#19 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Mon Jan 18, 2010 5:15 AM



TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) roms. TIasm with source can be found here:
ftp://ftp.whtech.com/emulators/v9t9/v9t9src.zip

:)


Thanks for the hint, I'll update the list ;)

Still not there ?


ooopps, sorry about that :ponder:
Will add it this evening, I promise :D

#20 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Mon Jan 18, 2010 12:48 PM




TMS9900 cross assembler TIasm will build 8K console (>0000) or cartridge (>6000) roms. TIasm with source can be found here:
ftp://ftp.whtech.com/emulators/v9t9/v9t9src.zip

:)


Thanks for the hint, I'll update the list ;)

Still not there ?


ooopps, sorry about that :ponder:
Will add it this evening, I promise :D


ok, I've just added the reference to TIasm :)

#21 sometimes99er OFFLINE  

sometimes99er

    River Patroller

  • 2,903 posts
  • Location:Denmark

Posted Mon Jan 18, 2010 2:02 PM

ok, I've just added the reference to TIasm :)

Excellent !

:)

#22 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sat Jan 23, 2010 12:10 PM

Several updates: added reference to QBOX Pro & speech tutorial by Mark W., Added reference to TI-Intern.

#23 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Jan 24, 2010 1:57 PM

Added reference to TI99-PC

#24 retroclouds ONLINE  

retroclouds

    Stargunner

  • Topic Starter
  • 1,437 posts
  • Location:Germany

Posted Sun Jan 31, 2010 12:24 PM

Added repositories section, Grapefruit and TI-99/4A user reference guide.

#25 Willsy OFFLINE  

Willsy

    River Patroller

  • 2,222 posts
  • Location:Uzbekistan (no, really!)

Posted Thu Feb 11, 2010 7:24 AM

Syntax highlighting file for TMS9900 assembly language and TI Extended Basic.

For use with Notepad++

Attached Files







Also tagged with one or more of these keywords: TI-99/4A, Forth, Extended Basic, Books, Game Development, Emulators, VDP9918, TMS9900, Compilers

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users