Hey Doug,
I actually started a projec to replace the DVI many years ago (I called
it TDock). I had the same idea of using an RPi to supply the HDMI with
custom-built hat to interface with the Model T. I actually built 3 hat
boards that contained a Xilinx 5V tolerant CPLD (though I think those
aren't available any longer).
Since the system bus is different between M100, M102 and T200, I was
using the parallel port for I/O. I worked out a mechanism for
bi-direction communication using the parallel port (even though in
ModelT, it is only build for output). I wrote assembly code that gives
a DVI like "screen 1" with 80 cols x 25 lines and communicates via the
parallel port. I also extended VirtualT emulation to emulate my idea
for TDock to have a platform to test the software on.
I didn't ever actually get the TDock hat up and running and the project
has been just sitting there since probaly 2013 or so. I think I had
gotten to the point were I was asking myself "Does it really make sense
to use a Linux machine as a display / TPDD terminal for a Model 100?".
If I were going to revive that project today, I would probably opt to
use a Tang Nano 4K FPGA (it has HDMI) and 5V to 3.3V level translators
for the 11 or so I/O required to interface on the parallel port. The
Tang Nano FPGA is really inexpensive and doesn't have the boot time of
Linux, require Linux drivers, etc.
I will see if I can dig up my old files, etc.
Ken
On 12/14/24 4:26 PM, Doug Jackson wrote:
Hi Everybody,
A few people have expressed interest in a re-creation of the DVI, so I
thought I would start a new thread. My plan is to recreate the DVI,
providing support for everything that the DVI used to support (Video /
Disk - And extending that to the modern world. Disk support would be
as far as possible 5.25 and 3.5", with the ability to load 'slices'
from a SD card in the same way that the GoTec allows us to.
Video support would be composite 40 char / 80 char and some way of
supporting HDMI, so it would plug into a modern display. To provide
HDMI, it would likely have a raspberry Pi in there - that allows us to
emulate the entire DVI function. No need for a Z80 (They are out of
manufacture now anyway) - Connectivity to the M100 would be via the
GPI connection into the Pi.
Now - I need to understand some facts, and the quickest way to get
them correct, is to publish something on the Internet :-)
- My understanding of the DVI interface is that it uses something like
an 8255 PIO communicating with the M100 across the system bus on the
underside of the machine.
- A review of the M100 code suggests that there are a heap of DVI
functions built in around address 0x767D.
- It looks like the DVI implements a status port at IO address
0x82 and some data ports at 0x80 and 0x81. The DVI implements some
sort of buffer using these ports to allow comms to / from the M100.
- On bootup, if the DVI is present, it sends some initialization code
to the M100 which is loaded at 0xE000 and executed. I suspect this
then loads the Disk Basic updates from the FDD to the M100 modifying
hooks in the various jump tables.
I haven't found a disassembly of the IPL code, or the Disk Basic
extensions - These are likely key to understanding the comms, so that
it can be emulated.
The nice thing about this project, is that it wouldn't rely on a boot
disk. Everything would be in software.
Does anybody have any pointers?
Kindest regards,
Doug Jackson
em: [email protected]
ph: 0414 986878
Follow my amateur radio adventures at vk1zdj.net <http://vk1zdj.net>