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>

Reply via email to