
Getting Color Output out of a TI-99/4A - commons-tragedy
https://netzhansa.com/ti99-4a-color/
======
incanus77
Not to denigrate the post, but the TI-99/4A did color out of the box; this
post is talking about a modern adapter board to work with a modern display
instead of TI's proprietary monitor or a TV. I know because I first programmed
on a TI-99/4A and we didn't have the space nor free connection to hook it to
the living room TV, so I used a 13" B&W TV in my room for years before ever
seeing the color that it was capable of.

~~~
wsc981
My father owned a TI-99/4A and used it to teach me some programming.
Afterwards I mostly just copied listings from the TI-jdingen magazine
(published by the Dutch TI users group TIGG [0]). Together with my dad I also
made a small game. Nothing to impressive. Basically just a ship that
automatically moved from the left to the right side of the screen. The player
could press a button to shoot a projectile on randomly generated airplanes
that would fly from right to left.

I know Edsger Dijkstra considered the BASIC language to cause brain damage
[1], but still at times I feel like it would be nice to program in a language
like TI-BASIC again, just modernised a bit.

\---

[0]: [http://www.ti-99.nl](http://www.ti-99.nl)

[1]:
[https://programmingisterrible.com/post/40132515169/dijkstra-...](https://programmingisterrible.com/post/40132515169/dijkstra-
basic)

~~~
incanus77
What sorts of modernizations would you like to see? Things removed (GOTO) or
things added?

~~~
wsc981
Mostly stuff you see in other modern BASIC variants. Like line numbers
removed. Labels for GOSUB. Multiline scope for things like IF THEN ELSE,
etc... GOTO should be removed as well. And I'd like to see a BASIC
specifically developed for making games and also working for iOS, Android, ...
Perhaps such a BASIC language already exists by the way, I haven't done a
whole lot of research on this.

~~~
incanus77
I'm curious, then: why not use the modern variants? What is it about the TI
BASIC experience that you'd rather have?

Reason I'm asking is I'm working actively on a TBA project around retro-ish
BASIC hardware/software as a learning / confidence-building tool. I'm
genuinely curious.

Related: have you seen the PICO-8 system? It's Lua, but it's specifically
designed for games, has some nice constraints that encourage a certain retro
look & feel, and is pretty approachable.

~~~
wsc981
I kinda like to see the same kind of environment I guess. But somewhat
improved for the modern age.

Recently I was discussing with my brother that I got kinda annoyed that
software got so complex these days. The simplicity of the TI-99/4A stuff was
kinda nice. It was pretty easy to get some nice results quickly. The language
was quite limited which made it easy to learn. For games I guess it's kinda
nicer to work with PNGs these days then to figure out what HEX codes to use to
draw a sprite, but with tooling that could be eased a bit. The resolution of
the TI-99/4A made this stuff more manageable as well I guess.

Yes, I find the PICO-8 charming, perhaps that's kinda what I'm looking for.
But PICO-8 might maybe be too limited. If I'm not mistaken the screen
resolution seems lower than what the TI had, causing the graphics to become
quite ugly (imo).

Actually I've been contemplating on creating my own TI-BASIC interpreter as
well. And after finishing the interpreter, my goal would be to modernise the
language for my purposes. But I haven't really started on that yet (and not
yet sure I will, since there's other stuff I work on as well). Another area
that I would improve upon would be sound generation, since the sounds of these
machines aren't too easy on the ears.

------
at_a_remove
I had such great times with mine, aside from the games.

I remember the first game I programmed on it, sort of a cross between Pac-Man
and Berzerk, so walls and pits and various things chasing you. Due to the
doubly-interpreted BASIC, it was quite slow and I was vexed; checking motion
into walls and pits got more and more slow with each obstacle. Eventually I
hit on, rather than a series of IF statements defining a wall that one might
not move onto, I could simply _draw_ my walls and pits, then check the video
array directly! Suddenly, my game was so much faster.

It was the first time I had an optimization that relied on knowing _something_
about the hardware.

------
bitwize
Props to you. The TI-99/4A was my second -- and longest childhood -- computer.
Getting one working again so perfectly warms my heart.

Fun fact about the TI-99/4A: It was actually _fast_ , sporting a 16-bit CPU in
an 8-bit era. The BASIC interpreter was slow because it, like many TI-99/4A
programs, was written in a sort of interpreted bytecode that could live in
video RAM/ROM. The CPU itself had access to only 256 bytes of system RAM; all
other RAM in the system was video RAM that had to be accessed through the
video chip. The slowness of the video RAM access, coupled with the fact that
the interpreter for your BASIC ran on interpreted bytecode instead of native
CPU instructions, meant that your BASIC programs would crawl, but give that
16-bit chip a chance to open up and it can do some amazing things. The game
_Parsec_ has a smooth scrolling playfield, which the TMS9918A wasn't able to
achieve on its own. The CPU is shifting the scenery graphics "by hand" as part
of the main game loop.

~~~
13of40
You sound like you know a bit about TI-99s, so let me ask you this: Do you
have any idea why they made the lower case character set be small upper case
letters instead of real lowercase like the Apple II or C64? A couple of years
ago I did a Sunday morning project of inserting the Apple II font into the
TI-99 ROM to run on an emulator, and other than having to shift the j's and
g's up a pixel or two it worked beautifully.

~~~
blazor
The TI 990/10 DX 10 minicomputer was exactly the same. The teacher at my old
school actually picked the TI990/10 over the PDP/11 because the PDP11 did not
have "true descenders". The 990 didn't either but avoided the problem by
having miniature capitals for lowercase.

He was a strange guy. Long since departed.

~~~
blazor
additional: His name was Billy Boyd. And he pronounced it: "TWOO descenders"

------
icedchai
I had a TI-99/4A when I was 6 or 7. I remember playing Parsec, and typing in
BASIC programs from the manual.

------
anonymousiam
I was a young adult when the TI-99/4A hit the market. I worked in the digital
communications industry and considered getting one, but I ended up waiting for
something better and comparably priced. I put together a Ferguson Big Board II
a few years later. Many of you might say the TI was "better", and you would be
right about the CPU and the color graphics, but not about the software
availability. CP/M was the best "business" OS of the day until MS-DOS
eventually overtook it. It still makes me sad to think about what Bill Gates
did to Gary Kildall.

[https://www.theregister.com/2007/07/30/msdos_paternity_suit_...](https://www.theregister.com/2007/07/30/msdos_paternity_suit_resolved/)

[https://www.embedded-computing.com/embedded-computing-
design...](https://www.embedded-computing.com/embedded-computing-
design/software-forensics-lay-ms-dos-cp-m-controversy-to-rest)

[https://spectrum.ieee.org/computing/software/did-bill-
gates-...](https://spectrum.ieee.org/computing/software/did-bill-gates-steal-
the-heart-of-dos)

------
musiccog
In my last year of primary school a teacher brought in a mate he had to give
the class a lesson on computers for an hour or two. He brought in a TI99 and
we spent the afternoon learning about programming, graphics and 'sprites'(yes
he had the expansion)

..after the lesson, I went up to him (Graeme) and asked if he would tutor me
after school.

I then spent the rest of the year - (two afternoons a week) learning
programming - and have been doing it ever since.

Graeme wasn't what I would call a great teacher - but he gave me the
opportunity.

I remember my first program was a copy of a game called something like 'Wild
Gunmen' where one or two players tried to get into a situation to shoot each
other.

I eventually got a TI99/4a a few years later (as it was selling for $99(AUD).
Wrote a flight simulator (dials only) and something that I really loved - an
almost perfect copy of Frogger including music! The most annoying problem with
the TI99/4a (apart from loading from tape) was that it _hated_ running out of
memory - and when it did would just crash. That always meant a reload from
tape, optimize something, save to tape, and try again. Lots of fun.

------
nsxwolf
Unfortunately the US variant of the VDP, the 9918, only outputs composite.

------
fferen
When I was a teenager with a TI-84 calculator, I used the trick of blinking
the screen quickly at a fixed duty cycle to get "grayscale" from the black and
white screen. Good times...

------
sendbits
fond memories -- spent couple years coding away on that :)

------
SpikedCola
I really enjoy the little mod PCB "TMS-RGB"[0] that makes this possible. Takes
me back to my modchip days. I'd like to find a project that needs one of these
designed - always wanted to make one myself but never had a reason.

[0] [https://github.com/npiegdon/tms-rgb](https://github.com/npiegdon/tms-rgb)

------
gbin
I am confused, just get a scart cable and a scart to hdmi. Done. Scart
supports a bunch of TV image formats (composite, svideo, rgb etc..). In

All the TIs, Amiga, Amstrad, etc... Work ootb. You can find those converters
for a few bucks on ebay. If you want to get fancy buy yourself an OSSC to get
a really good image quality.

~~~
Zardoz84
this wouldn't work fine with a Amiga. It supports some video modes that can be
displayed on a TV. So needs a Commodore monitor or a scan doublet.

Also, the video output of some computers barely get in the standard. Yes, an
analog TV can handle it fine, but try again on digital. I have a
composite/SCART to VGA and can't sync correctly the composite output of my
Spectrum +2. However, the same output it's handled correctly on my Commodore
monitor

------
blazor
the TI99/4A is a beautiful machine.

The first computer I ever used back in 1982 was Texas Instruments 990/10
minicomputer (384K) running an operating system called DX10, based on the same
instruction set as the 99/4A.

That system was originally built for a US Motel operator reservation system.
Back in the days when you would quote for developing not only the software but
the hardware too!

Today if you are interested you can download a 990 emulator and experiment
with DX10/DNOS for yourself

