UK Vintage Radio Repair and Restoration Powered By Google Custom Search Vintage Radio and TV Service Data

Go Back   UK Vintage Radio Repair and Restoration Discussion Forum > Specific Vintage Equipment > Vintage Computers

Notices

Vintage Computers Any vintage computer systems, calculators, video games etc., but with an emphasis on 1980s and earlier equipment.

Reply
 
Thread Tools
Old 3rd Aug 2022, 8:19 pm   #1
coolsnaz2
Triode
 
Join Date: Aug 2020
Location: Wallington, Greater London, UK.
Posts: 44
Default Pi based MK14 VDU

Over the past year I have developed a MK14 tape interface using an ESP32 device. I then created a ROM/RAM board for the MK14, details of these two projects can be found under ďYet another MK14 tape interface (ESP32)Ē. At posting #103 in the same thread, I mentioned the idea of using a Raspberry Pi to create a MK14 VDU board simulator.

So with the help of some expert forum members I have created a Pi based MK14 VDU board, using a Raspberry Pi and 3 other chips (IDT7132A100P, SN74LVC245A and SN74LS156N), see photo attached. The board provides 1.5k of Ram, 0.5k is used for the VDU.

The program on the Pi is written in python and still needs further development, currently character/graphics mode is hard coded in the python code, as is the VDU memory address. The font has been created using fontstruct with the help of Karenís Ortonview source code.
Attached Thumbnails
Click image for larger version

Name:	20220801_134354.jpg
Views:	93
Size:	73.4 KB
ID:	262099   Click image for larger version

Name:	20220722_133424.jpg
Views:	89
Size:	127.9 KB
ID:	262100   Click image for larger version

Name:	20220801_210416.jpg
Views:	87
Size:	140.2 KB
ID:	262101   Click image for larger version

Name:	20220802_205324.jpg
Views:	92
Size:	74.8 KB
ID:	262102  
coolsnaz2 is offline   Reply With Quote
Old 3rd Aug 2022, 8:39 pm   #2
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,157
Default Re: Pi based MK14 VDU

So the current state of play is what... you have a dual port RAM with its main port (Address, Data, Read, Write, etc) mapped into the MK14 memory hole at address 0200-07FF, and then you have a Raspberry Pi connected to the dual port RAM's second port (address, data, read line) with the data lines at least passing through 5V to 3V3 level converters because Pi GPIO pins are not 5V tolerant in input mode.

For the address bus and read line which are all outputs from the Pi and inputs to the second port on the dual port RAM, you aren't using level converters, you are just relying on the fact that the 3V3 out from a Raspberry Pi GPIO port is above the threshold level to be seen as logic '1' by a 5V device.

The Pi runs a Python program which continually reads a 512-byte block of the dual port RAM and renders the contents to a display window on the Pi.

Besides the dual port RAM itself, the other two ICs are the address decoder (SN74LS156N) and the data bus level converter (SN74LVC245A)

Is that correct so far?

I see you have 'Falling Man' running there already, how does that look?

Obviously the program itself is running at full MK14 speed, but with the relatively low RAM to screen refresh rate, do you notice any tearing or breakup of the 'man' sprites as they are falling?
SiriusHardware is offline   Reply With Quote
Old 4th Aug 2022, 7:35 pm   #3
coolsnaz2
Triode
 
Join Date: Aug 2020
Location: Wallington, Greater London, UK.
Posts: 44
Default Re: Pi based MK14 VDU

SirusHardware

All correct except for one small detail, the read line on the pi side is currently connected to ground, this may change in the future.

I also forgot to mention the reason for creating this project was that I have an original MK14 VDU board but was finding it increasingly difficult to find a TV to connect it to, the output from the original board is not compatible with modern day TVís.

According to the datasheet on the IDT7132A100P the Recommended DC Operating Conditions for Minimum Input High Voltage is 2.2v and Maximum 6.0v, so hopefully the 3.3v will not give me any problems in the future.

The datasheet also refers the ports as Left and Right, currently the MK14 is connected to the Right ports, and the Pi to the Left ports.

Currently both my original and replica MK14ís are running with a crystal value of 4Mhz.

The ĎFalling Maní is working well, I occasionally get sprites left behind. Presumable this is when both PI and MK14 try to address the same byte at the same time, further investigation required. See attached photos.
Attached Thumbnails
Click image for larger version

Name:	20220802_a.jpg
Views:	33
Size:	35.4 KB
ID:	262200   Click image for larger version

Name:	20220802_b.jpg
Views:	36
Size:	29.1 KB
ID:	262201  
coolsnaz2 is offline   Reply With Quote
Old 4th Aug 2022, 8:24 pm   #4
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,157
Default Re: Pi based MK14 VDU

One thing I have noticed which never occurred to me before is that the falling figure's head is somewhat stretched (in height) compared to the head of the 'landed' figure - not your fault, that's presumably just how the figure was originally defined. I've just never noticed that before.

It's interesting that the access clash from both sides at once seems to cause occasional corruption, how are the left and right sides prioritised, does one side always win or does accessing from the left temporarily lock the right side out, and vice-versa?

I'm surprised you are not using a read signal line (output from Pi, input to dual port RAM) and actually I was going to ask if you have also implemented write ability from the Pi to the Dual-Port RAM because if you do that you then have something quite powerful and independent of the VDU feature, the possibility for the Pi to send executable code directly to the dual-port RAM.

For example, I presume that replacing your original RAM/ROM expansion with this project means you've lost the facility of your fast-loader code which was held in 512 bytes of EPROM at 0200->

If you give the Pi the ability to write to the dual port RAM as well as reading from it that opens up the possibility of having executable code stored in an array in a Pi script which can then fast-load it into dual-port RAM, so for example you could have your VDU script run a one-shot startup procedure which pre-loads your tape fast load code into dual port RAM at 0200-> ready to be called whenever you want to load something quickly from the ESP32 loader - but - further than that, you could store full sized MK14 programs as data arrays in Python scripts and fast-load entire programs from the Pi into dual port RAM, the only limitation being that some of the original programs from the manual may need to be rewritten to run at addresses in the dual port RAM area if they are not already fully relocatable.

As regards the difficulty of connecting the SOC VDU to a modern display, I only very occasionally connect mine to a contemporary black and white UHF TV. Usually, I just make clip lead connections to the composite-video input of the modulator and jump that signal across to the composite-in of my Philips CM8254 video monitor, from the 16-bit (Atari ST / Amiga) era and it works fine. I think Tim said he does something similar. Very likely, the sort of conversion where the innards of the modulator are removed and replaced with a composite video buffer, commonly done on ZX81s, would work on the SOC VDU but I could never bring myself to modify mine so heavily now, not when it has survived for so long in its original form.

However, fast forward to today and many TVs aren't even coming with composite AV or SCART inputs any more and the only kind of input you are guaranteed to find on a modern TV is HDMI, so your project is 'just in time'.
SiriusHardware is offline   Reply With Quote
Old 4th Aug 2022, 9:38 pm   #5
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,157
Default Re: Pi based MK14 VDU

Incidentally the same principle - use dual port RAM to allow the VDU to read from the RAM without having to stop the SC/MP while it does it - would work equally well with a SOC VDU or an OrtonView, and that was the context in which I originally mentioned the dual-port RAM ICs. It just never occurred to me (and never would have occurred to me) to try to read and display the content of the dual-port RAM with a Raspberry Pi instead!
SiriusHardware is offline   Reply With Quote
Old 5th Aug 2022, 12:37 pm   #6
coolsnaz2
Triode
 
Join Date: Aug 2020
Location: Wallington, Greater London, UK.
Posts: 44
Default Re: Pi based MK14 VDU

SiriusHardware


I donít think either the left or right side has priority, the schematic shows the left side is a mirror image of the right, but we do have a busy pin on each side, which currently is not being used.

Yes, this project has removed the ROM and therefore my fast loader code. I was originally going to include the ROM, but then decided as you suggested the PI could populate 0200 to 03FF with code whenever the Pi booted. There should be no need for the ESP32 loader, again as you say all the MK14 programs could be stored in the Pi. I donít think we need to rewrite any code, all we need is a bit of code that can transfer code from the new memory to the old memory.

With regard to your last suggestion, you could create a dual port RAM card which can be used standalone to provide additional 1.5k of memory, or have the ability to connect to SOC VDU, OrtonView or Raspberry Pi.

I would also like to develop the Raspberry Pi to provide a web server of the MK14, this would mean you can have access your MK14 from any in the world, but that would be another thread.
Attached Files
File Type: pdf IDT7132SA100P_Page1.pdf (151.7 KB, 20 views)
coolsnaz2 is offline   Reply With Quote
Old 5th Aug 2022, 1:02 pm   #7
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,157
Default Re: Pi based MK14 VDU

Your fellow brainiac DeltaAlpha52 got dangerously close to that aim (of putting an MK14 online), he may even have succeeded by now but we have not heard back from him for a while. Have a look around for his MK14 related posts here on the forum.

As cool as it would be to do in a Big-Bang-Theory kind of way, I'm not sure how well it would be possible to share a single physical MK14 among many users online - these questions were already raised in DA52's relevant thread. As I said in that thread it would only be up and running for about five minutes before someone had it displaying 'bOObS' (or worse). DA52's original concept had a webcam looking at the MK14's display and something similar to my keypad optocoupler interface to allow an ESP type controller connected to the web to 'press' the keys on the MK14, mirroring user input on a webpage.

Like you, DA52 wondered whether it might be possible to mirror what was being displayed on the MK14's display to a 'mimic' display on a webpage but I was beginning to wonder, why involve a real MK14 at all if the user is not going to be able to see that they are interacting with the real thing.

As you may or may not be aware there is already an online MK14 emulator, written by Doug Rice. I occasionally use it to test bits of code myself, as it is quicker than getting one of the MK14s out and setting it up.

http://www.dougrice.plus.com/dev/seg_mk14.htm

This has the advantage that it can be used by many, not just one.
SiriusHardware is offline   Reply With Quote
Old 30th Aug 2022, 8:53 pm   #8
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 9,157
Default Re: Pi based MK14 VDU

Coming back onto this:

Quote:
One thing I have noticed which never occurred to me before is that the falling figure's head is somewhat stretched (in height) compared to the head of the 'landed' figure
I had a look back at Tim's video where he demoed Karen's Ortonview (with early firmware) working with various bits of software written for the SOC VDU:-

https://www.youtube.com/watch?v=kcIyj-8Lh3c

I've just realised that the falling figure does not have a vertically stretched head when being rendered by OrtonView and presumably the original SOC VDU, so that's another interesting artefact which is currently unique to the Pi-VDU.
SiriusHardware is offline   Reply With Quote
Old 30th Aug 2022, 9:24 pm   #9
Timbucus
Octode
 
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,235
Default Re: Pi based MK14 VDU

Here is my Replica SOC VDU running the falling man...

https://youtu.be/vtL2yKEOh74
Timbucus is offline   Reply With Quote
Reply

Thread Tools



All times are GMT. The time now is 3:36 pm.


All information and advice on this forum is subject to the WARNING AND DISCLAIMER located at https://www.vintage-radio.net/rules.html.
Failure to heed this warning may result in death or serious injury to yourself and/or others.


Powered by vBulletin®
Copyright ©2000 - 2022, vBulletin Solutions, Inc.
Copyright ©2002 - 2021, Paul Stenning.