Hacker News new | past | comments | ask | show | jobs | submit login
Getting Color Output out of a TI-99/4A (netzhansa.com)
77 points by commons-tragedy on Sept 5, 2020 | hide | past | favorite | 34 comments



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.


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

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


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


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.


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.


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.


Count me among those whose first computer was a TI-99/4A. Learned so much on that little machine, esp. hexadecimal with the way sprites worked. Extended BASIC cartridge was a must have. I wrote so, so many half-finished game programs on that thing.


I went there with the assumption this was a modern tweak, but nonetheless enjoyed learning a bit about the hardware and the video output situation.


It seems to be a perennial retrocomputing thing.

For example: https://retrocomputing.stackexchange.com/questions/15915/wha...


It's still amazing to see an image coming out of the TI-99/4A without any ghosting or other analog artifacts.

It was years into my computing journey before I saw such a crisp display. It always throws me for a little bit of dissonance whenever I see a TI-99/4A on an emulator or here with a VGA output going to a LCD display.


Yeah, that is beautiful.


Wow, what a coincidence: I, too, first programmed on a TI-99/4A, mostly with the small B&W TV in my room, for the same reasons. I saw the color output on one we had at school, and at a friend’s house, but I outgrew the machine before I ever got my own color TV.


16 bits with hardware sprites. Used to write games and rudimentory physics-engine (canons shooting, that sort of stuff) for it in highschool. I still have mine!


I think his headline was possibly poorly phrased- I parsed his post as “getting a TI-99/4a to output to a modern monitor without using an RF modulator.” I also had this as my first computer. I also remember getting infuriated by the game “the attack”. I was made fun of because it had TI munch man and not the “real” pac man.

I think my brother ended up with ours and I kinda want to see if I could find one again...


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.


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.


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.


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.


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


The TI-99/4 was Uppercase only. I think the lower case font for /4A was a rush job but I don't know that for certain. For the hobbyist playing with the machine today there are many 10s of different fonts that have been developed and it doesn't take much to load them in BASIC, Forth, C or Assembler.


I'd be interested to see whether you got an answer to that on Retrocomputing Stack Exchange.

* https://retrocomputing.stackexchange.com/questions/tagged/ti...


Awesome insight. I didn't know any better at the time, but it's always cool to hear about little things that made one machine or another stand out from the pack.


That brings back memories. Parsec was a great game.



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


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.embedded-computing.com/embedded-computing-design...

https://spectrum.ieee.org/computing/software/did-bill-gates-...


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.


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


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...


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


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


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.


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


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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: