TMS9918A Retro Video Chip Reimplemented In FPGA, With VGA Out 126
acadiel writes "Matthew H from the AtariAge.com TI-99/4A forum has finalized a design of a TMS 9918A replacement (with VGA out) for classic computer systems such as the ColecoVision, TI-99/4A, SpectraVision, MSX1, SpectraVision 128, and Tomy Tutor Home computers. This hardware project replaces the native video controller on these classic systems and enables them to have VGA output for the first time." (It's just under $100 to order one.)
Re:Um.... (Score:4, Insightful)
Re:Um.... (Score:5, Insightful)
there's actually quite a community for these old systems, and a lot of people who don't enjoy playing on emulators, or who want to recapture the original experience.
it's pretty cool that they've managed to do this, though I might prefer a different connection type... my current TV does have a VGA input, but I doubt my next one will.
Re:Implemented the wrong connector (Score:4, Insightful)
Re:Implemented the wrong connector (Score:4, Insightful)
It not excessive. It's about supporting widely available monitors.
Re:Implemented the wrong connector (Score:4, Insightful)
...that is freely downloadable from Chinese web sites... :]
Which is fine until you try selling a chip or distributing the plans, then the IP Barons come to beat you with a big stick.
Re:Um.... (Score:5, Insightful)
Actually, it was 32 sprites, with a limit of 4 to a line. It had collision detection but it was rarely useful. It had a single bit to tell you that any sprite hit any other sprite. To figure out what hit what, you'd have to walk the descriptor list and do the actual computation yourself. (Or, in the case of TI Extended BASIC, the interpreter had to do it for you.)
On the TI-99/4A, that meant actually accessing VDP memory, since there wasn't much other RAM in the system. That itself was pretty slow, because it wasn't memory mapped for the CPU. You have to write to the VDP's address register, and then do repeated reads after it fetched the byte. Depending on the display mode, that could be as long as 8us during active display (Graphics II mode -- everybody's favorite "bitmap" mode.). Fortunately, the address pointer auto-incremented, so if you were accessing a contiguous structure like the sprite descriptor list, at least you didn't have to keep reloading the address.
Not that TI Extended BASIC was necessarily able to do that, of course. (Read up on the abomination that was GPL. Not the license, but the interpreted language that much TI software was written in, including TI BASIC.) But if you wrote your own assembly code, you could make that optimization, which is probably how Parsec was able to do its soft-scrolling in the time allotted.
(Actually, VDP RAM isn't memory mapped on any platform that I know of. But other systems have CPU-addressable memory that you could store a shadow copy of data in at least. The paltry 256 bytes on the TI-99/4A, though, are far from enough in many cases.)
Comment removed (Score:5, Insightful)