monotech / NuXT

MicroATX Turbo XT Motherboard, with VGA, Floppy, CF, Serial
GNU General Public License v3.0
100 stars 12 forks source link

A variant with Tandy 1000 / PCjr compatibility? #4

Open volkertb opened 5 years ago

volkertb commented 5 years ago

This is such an amazing project! 😍

I was wondering, however. Would it be possible to develop a variant of the NuXT board that offered compatibility with Tandy 1000 and IBM PCJr computers, particularly the graphics and sound capabilities of those systems?

I reckon integrating the sound part would be relatively easy, since one could simply integrate an existing available design such as the Lo-tech Tandy Compatible Sound Adapter into such NuXT motherboard variant.

I expect that the graphics part would pose a much bigger challenge. There are no existing open source and/or DIY projects for a Tandy 1000 compatible graphics adapter or controller that I'm aware of. The fact that this graphics standard is reliant on shared memory in the first 128KB of the 640KB conventional memory range would make it even more challenging. Perhaps this would require the use of dual ported RAM, at least for the first 128KB of RAM. And additionally, some circuitry would be required to map some of that memory to address 0xB8000 for CGA compatibility. And then there is the matter of subtle compatibility issues between PCJr and Tandy 1000 graphics controllers. Ideally, we'd want such a NuXT board to offer compatibility with both systems as best as possible. I'm no expert, but this would probably require an FPGA-based graphics controller. The obvious output ports would be a RGB TTL DB9 port for CGA monitors and an NTSC composite video port, which would also allow the display of 16 color composite mode CGA graphics, if the CGA compatibility of such a solution were good enough. There are already solutions out there to convert CGA/Tandy signals to something more modern, should people need it.

Anyway, perhaps it would be something to consider. It would better justify an on-board graphics solution, due to the shared memory requirement. It would perhaps also be more "era-appropriate" than a VGA chip.

What do you think? Is this a crazy idea? As popular as the NuXT product already is, releasing a Tandy 1000 compatible variant would cause even more retro computing and gaming enthusiasts to take notice.

As a possible less ambitious alternative suggestion: perhaps a separate ISA card could be designed that would offer this compatibility (both graphics and sound) with the NuXT board, if the board could somehow allow the video memory of such a card to be mapped to both the lower part of the system RAM (up to 128KB) and the 0xB8000 memory range for CGA compatibility.

What do you all think? Crazy? Doable? Or both? 🙂

At any rate, thanks for producing this awesome piece of retro kit. Keep on tinkering!