Thread: Mk14 vdu
View Single Post
Old 9th Nov 2020, 9:46 pm   #853
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,556
Default Re: Mk14 vdu

On the separate subject of how to do VDU memory page and control mode switching I was wondering if we could do this with a single programmed memory device like a PROM or EPROM or logic array like a GAL.

Inputs to the A0-A3 pins from four 8154 I/O pins configured as output:-
One other address pin takes input from VDU TOP PAGE which only goes to there and not directly to any of the VDU pins. Outputs from D0-D3 on the memory device go to VDU PS1-PS4.

Example, you want to use 0Fxx (upper screen), and 0Bxx (lower screen), and this is going to be 'Mode 1'. For this mode PS1 needs to be 1, PS2 needs to be 1, PS3 needs to be whatever the state of TOP PAGE is and PS4 needs to be 1.

If TOP PAGE is connected to A4 of the memory device, then location 0x0001 of the device would be programmed with xxxx1011 and location 0x0011 of the device would be programmed with xxxx1111 so that the state of TOP PAGE would be passed through onto PS3.

Now let's define Mode 2: Use 02xx (upper screen) and 03xx (lower screen). In location 0x0002 of the memory device you program xxxx0000 and in location 0x0012 you program xxxx0001, so that now PS2-PS4 are held low and toggling the state of memory device A4 with TOP PAGE toggles the state of the output to PS1.

The upper four bits of each programmed byte could obviously be used to control the other VDU control inputs, especially SWAP PAGES so that in the second mode above, 02xx is displayed above 03xx and of course GRAPH / CHAR and INVERSE and VDU_ON if you just wanted to do the whole VDU control setup with a simple 4 bit 'mode' code from the 8154 - maybe move TOP PAGE to A5 and have a 5-bit MODE code so you don't run out of modes too quickly.

If VDU_ON is one of the control inputs being controlled in this way then it makes sense for 'Mode 0' to be 'VDU off', since the default output states of the 8154 pins is 0.

Of course this is equally a job for a GAL but I have no experience with programming those, the principle would be the same though.

The main question is whether TOP PAGE would be propagated through the memory device quickly enough to be read by the VDU, especially the SOC VDU which responds to TOP PAGE in real time.
SiriusHardware is offline