F18A Firmware Update


MSC file for JTAG update with Xilinx IMPACT tool: f18a_250k_v18-mcs

In-System Update for TI-99/4A Computer: F18AUpdate_v18

Checksum History:


A small update to fix a sprite collision bug where sprite collisions were being incorrectly detected outside of the active display, and added hybrid VDP register write restriction to mask VDP register writes […]



For a long time I hesitated engaging the idea of writing an SDRAM controller. I think my reluctance was due to the stigma that SDRAM controllers are extremely hard and complicated, and I always wanted something quick and simple. Once I finally committed to designing one, and after looking at two other more simplistic […]

Disconnect Between the Layers

I have been programming for a long time, and for the last few years I started working on the hardware side of things too. Something that has really come to my attention recently is how much disconnect there is between the “layers” of producer-to-user. I suppose this kind of disconnect might also exist in other […]

F18A Programming Introduction

0.0 F18A Register Use Spreadsheet

The register use spreadsheet is essential to programming the F18A and shows how all the extra VDP registers are used and what features they provide.

Download the F18A_Register_Use Spreadsheet

1.0 Introduction

Programming the F18A is very similar to the original 9918A VDP. Because the F18A is a pin-compatible replacement for […]

Learn VHDL or Verilog?

The quick answer is, VHDL, then Verilog. Yes, both! There is a lot of existing HDL out there, examples, complete “cores”, etc. and the one you need, or want to look at to get ideas, might be written in the HDL that you decided not to learn.

I learned VHDL first, and I’m working on […]

FPGA Education, Books, and Community


I’m a self learner. If I want to know about something, I’ll generally start with a Google search and usually end in shopping trip to Amazon (with a wish list full of the books I can’t afford yet.) When I decided to start FPGA development, I purchased my devboard and found the 5-star […]

TIdBiT – TI BASIC Translator

Download: TidBit source

V3.0 – Updated on September 13, 2016

TidBit was created to help write TI-99/4A BASIC and Extended BASIC programs. TidBit is a pre-processor that lets you write your code in a more natural way (no line numbers, use indentation and comments, use labels, etc.) and then generates a normal BASIC/XB program that […]

Integer to ASCII Conversion in Assembly

I wrote this code to demonstrate how to convert a binary number into ASCII digits for display on the screen. This is a complete program that has been tested on a real TI-99/4A computer. The code assumes VDP graphics mode I (the default) and includes the VDP routines I wrote as replacements to the ones […]

Recursive Descent Child-Watching

Yes, this is a true story.

Recently (if you consider the course of a year as “recent”) I have been interested in parsers, particularly the kinds that are used for creating programming languages, which include as a subset, expression parsing. Such an expression might be: (1 + 2) * 3 – (4 / 5). This […]