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.

Closed Thread
 
Thread Tools
Old 6th Sep 2022, 8:18 pm   #1
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default DM8678 replacement

Hi, as indicated on the "Yet another MK14 VDU" thread, I have been working in parallel on a replacement for the DM8678 character generator device. When I was developing the VDU module I only had a version of the DM8678 that produces 7x9 fonts (BWF version) instead of the standard 5x7 fonts used in the original MK14 VDU module (CAB version) and possibly other VDU's of the time (??).
The BWF's are hard to get hold of but the CABs are like rocking horse do-dah these days. As a result I looked into producing something along the lines of the DM8678 Emulator described in the National Semiconductors' Memory Applications Handbook from 1978. The aim being it would be pin compatible, on something the size of a 40 pin DIP instead of a small eurocard and plug into the DM8678 IC socket. This would allow it to be used in the replica MK14 VDU PCBs that are out there. The other aim was to provide up to 4 different fonts selectable via jumpers with, of course, the primary font being the CAB version.

With all that in mind, I designed a module based around a 5V tolerant CPLD. The attached photos show the bare board (manufactured in China) and the first populated board. I put them to one side while I got the VDU card working but I'm now ready to start testing the design and associated VHDL. It's not an overly complex piece of code and uses about 50% of the device (compared to about 90% of the same device required by the VDU). The character ROM is a 2K x 8 PROM or EPROM in a 0.3" package.

The jumpers are temporarily laid flat to allow easier access while testing.

I'll post some more photos and updates as it happens.
Attached Thumbnails
Click image for larger version

Name:	PCB 01092022.JPG
Views:	147
Size:	182.9 KB
ID:	264368   Click image for larger version

Name:	DM8678_EMU Top.jpg
Views:	169
Size:	52.9 KB
ID:	264369   Click image for larger version

Name:	DM8678_EMU Rear.jpg
Views:	143
Size:	59.9 KB
ID:	264370  
Realtime is offline  
Old 6th Sep 2022, 11:15 pm   #2
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,264
Default Re: DM8678 replacement

Thats an unusual package choice for the prom, do you have a specific part in mind? I don’t think I know of an eraseable prom in that package type.
Mark1960 is offline  
Old 7th Sep 2022, 10:04 pm   #3
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

The OTPROM I’ve purchased is the 2Kx8 CY7C291-50. I was intending to use the CYC245 EPROM while developing the fonts but I hadn’t realised that it’s a synchronous device. So I’ve made a 24 pin wide to 24 pin narrow adapter to use a 27C292-35 EPROM. It needs to be quite a fast part. In hindsight I could have fitted a 24pin wide socket with only a small increase in the board width. Leave that for the Rev B perhaps.

Just programmed an eprom with some 7x5 font tables so can start testing tomorrow.
Realtime is offline  
Old 7th Sep 2022, 10:06 pm   #4
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

Sorry that should be CY7C245
Realtime is offline  
Old 11th Sep 2022, 4:30 pm   #5
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

The DM8678 character generator replacement appears to be operating as per the original DM8678, with the exception that I haven't implemented the code for the dropdown lower case feature as yet. The attached photos show a 24 pin wide to 24 pin narrow ZIF socket plugged into the new PCB allowing me to prove the fonts before committing to a PROM. I've got 3 character fonts programmed in currently - I'll post some photos comparing them later. this video shows the 5x7 DM8678CAB font in action.
Attached Thumbnails
Click image for larger version

Name:	Character Font ROM.jpg
Views:	83
Size:	102.9 KB
ID:	264582  
Realtime is offline  
Old 11th Sep 2022, 6:44 pm   #6
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

So, here are the font examples. Sorry about the grainy photos.

Photo 1 : DM8678CAB 5x7. This is the font used in the SoC VDU card

Photo 2 : DM8678CAH 5x7. This is the additional lower case and symbols font. The reason the g, p, q and y characters have vertical lines next to them is that bit 7 is set indicating it should be dropped down 2 lines on the display. I haven't implemented that yet.

Photo 3: Do you recognise it? ZX80 font remapped to the DM8678 character codes. The graphics symbols have been fitted into character codes where the ZX80 did not have equivalent characters to the DM8678.
Attached Thumbnails
Click image for larger version

Name:	CAB FONT.jpg
Views:	109
Size:	85.4 KB
ID:	264587   Click image for larger version

Name:	CAH FONT.jpg
Views:	103
Size:	91.6 KB
ID:	264588   Click image for larger version

Name:	ZX80 FONT.jpg
Views:	112
Size:	85.5 KB
ID:	264589  
Realtime is offline  
Old 16th Sep 2022, 9:59 pm   #7
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

The CAB font is essential to include and I like the ZX80 font but I realised the CAH font is only usable if an extra address line is added to the 8678 emulator so it can be used along side the CAB.
The prom has space for four character sets with fonts up to 8x8 pixels. If anyone can suggest other fonts I should include and where to get the bit tables I will try them out.
Realtime is offline  
Old 17th Sep 2022, 12:37 am   #8
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: DM8678 replacement

If you are going to include optional fonts which the original VDU didn't have, the only other thing I might suggest is a standard ASCII character set to make it easier to interact with other systems - unfortunately I can't think where you might get a suitable ready baked upper / lower case ASCII font - the character set used by generic HD44780 based alphanumeric LCD displays is well documented in data sheets but the lower case characters, especially the descenders, don't look very good in that font.
SiriusHardware is online now  
Old 17th Sep 2022, 1:01 am   #9
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: DM8678 replacement

On what matrix is the Sinclair Spectrum character set? You could probably rip that from a copy of the 48K Spectrum ROM.
SiriusHardware is online now  
Old 17th Sep 2022, 1:08 am   #10
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: DM8678 replacement

Ah, sorry, I'm not thinking straight, I guess the architecture of the original chip limits the total span of the character set to 64 codes, making it impossible to provide a full ASCII character set.

On the other hand there's no reason why your CPLD VDU needs to limit itself to the restrictions imposed on the original VDU by the character generator, I would think you probably could provide a full ASCII character set on that.
SiriusHardware is online now  
Old 17th Sep 2022, 3:24 am   #11
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,264
Default Re: DM8678 replacement

The microtan 65 used a similar character generator, there was an option to use two 64 character generators to support both upper and lower case. The same method could be used by the cpld vdu, I’m sure there is a lower case generator to match the one used in the mk14 vdu.

There was also a later device, I think DM86S128, that generates 128 characters, both upper and lower case.

Last edited by Mark1960; 17th Sep 2022 at 3:30 am. Reason: Added not on DM86S128
Mark1960 is offline  
Old 17th Sep 2022, 12:44 pm   #12
Timbucus
Octode
 
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
Default Re: DM8678 replacement

Yes there were designated lower case versions - I always intended to modify the OrtonView to emulate the VDU for the SCRUMPI 3 as a first step to re-creating one but, this may offer a better route:

DM8678BWF 7x9 Upper Case Block Letters - SCRUMPI 3
DM8678CAE 7x9 Shifted Lower Case Block
DM8678CAB 5x7 Upper Case Block Letters - Original MK14 VDU and also System 68...
DM8678CAH 5x7 Shifted Lower Case Block
DM8678CAD 7x9 Kata Kana
DM8678BTK 7x9 Upper Case Script Letters
DM8678CAS 7x9 IBM 3741 Selectric
Timbucus is offline  
Old 19th Sep 2022, 4:46 pm   #13
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

I didn't realise the SCRUMPI used a 7x9 font. I was going to scrap it from the emulator as I thought it would only be useful for my own VDU card that can do 7x9 fonts with a different FW build. In that case the first issue of the PROM is now defined:

DM8678CAB 5x7 Upper Case Block Letters - Original MK14 VDU and also System 68
ZX80 font 7x7 upper case
DM8678BWF 7x9 Upper Case Block Letters - SCRUMPI 3

The 7x9 font requires 1K of memory to keep everything aligned to 16 byte characters; the others are 512 bytes each aligned as 8 byte characters. So that's the 2K bytes filled.

I have just found a 2Kx8 0.3" pitch EPROM which is fast enough for the emulator and will allow for future flexibility.
Realtime is offline  
Old 25th Oct 2022, 8:41 pm   #14
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

I've been using the 8678 emulator during the Invaders game development and for the posted videos, so I'm happy with it's operation now and I'll be bringing it along to the Retro Computer Festival on the 5th. If possible I'd like to try it with an SoC (replica) VDU card, if Tim is open to that.
Realtime is offline  
Old 25th Oct 2022, 9:54 pm   #15
Timbucus
Octode
 
Join Date: Mar 2019
Location: Barry, Vale of Glamorgan, Wales, UK.
Posts: 1,362
Default Re: DM8678 replacement

Quote:
Originally Posted by Realtime View Post
I've been using the 8678 emulator during the Invaders game development and for the posted videos, so I'm happy with it's operation now and I'll be bringing it along to the Retro Computer Festival on the 5th. If possible I'd like to try it with an SoC (replica) VDU card, if Tim is open to that.
No problem I will have it with me and a CRT TV that will display its output despite the lack of backporch.
Timbucus is offline  
Old 29th Oct 2022, 4:04 pm   #16
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

The DM8678 emulator design is now complete. The only feature of the original DM8678 that I haven't included is the ability to drop lower case letters by 2 video lines (e.g. q,p,g and y). The characters display correctly, just not shifted (it was getting too messy to accommodate alternate fonts and that feature, which will probably never be used anyway).

I've settled on 2 versions of the module (different FW builds and character PROMs):
  • FONTSET1: provides 4 different fonts, selectable by jumpers - the original MK14 DM86778CAB font, ZX80 font, ZX Spectrum font and DM8678CAH which is a lower case font and special characters.
  • FONTSET2: provides 3 different fonts, selectable by jumpers - the original MK14 DM86778CAB font, ZX80 font and the DM8678BWF 7x9 font, as used on SCRUMPI.

The photo shows the DM8678 emulator fitted to 'Realview'.
Attached Thumbnails
Click image for larger version

Name:	Realview, DM8678EMU.jpg
Views:	65
Size:	72.5 KB
ID:	267112  
Realtime is offline  
Old 30th Oct 2022, 10:21 am   #17
SiriusHardware
Dekatron
 
Join Date: Aug 2011
Location: Newcastle, Tyne and Wear, UK.
Posts: 11,482
Default Re: DM8678 replacement

I would be interested to know how many MK14 owners bought SOC VDUs but didn't buy the (optional) character generator. Certainly I think there must have been more VDUs sold than their current profile suggests, because there are so many online images of MK14s which are fitted with the tell-tale 'small' crystal shrink-wrapped in grey with black writing printed on them - in other words, the crystals supplied with the VDU kit.

I don't know what the current state of play from the Czech supplier of the replica SOC VDUs is, whether he is still doing them or has moved on to something else now.

I would think the main demand for this DM8678 hardware substitute would be from purchasers of Realview, but it would be nice to see one or two people taking it and using it as the basis of a VDU for other retro systems.
SiriusHardware is online now  
Old 8th Nov 2022, 4:11 pm   #18
Pernod70
Triode
 
Join Date: Nov 2022
Location: Croydon, Surrey, UK
Posts: 37
Default Re: DM8678 replacement

Is the font data ROM that you use available anywhere? I'd like to use it so that I can emulate the MK14 VDU in MAME.

Was the font data extracted from actual 8678CAB/BWF/CAH, or was it hand made from datasheets/observation?
Pernod70 is offline  
Old 8th Nov 2022, 9:53 pm   #19
Mark1960
Octode
 
Join Date: Mar 2020
Location: Kitchener, Ontario, Canada
Posts: 1,264
Default Re: DM8678 replacement

Does anyone know what character set is in the 86S64CRC variant?
Mark1960 is offline  
Old 8th Nov 2022, 11:04 pm   #20
Realtime
Hexode
 
Join Date: Jan 2021
Location: Ashford, Kent, UK
Posts: 318
Default Re: DM8678 replacement

Quote:
Originally Posted by Pernod70 View Post
Is the font data ROM that you use available anywhere? I'd like to use it so that I can emulate the MK14 VDU in MAME.

Was the font data extracted from actual 8678CAB/BWF/CAH, or was it hand made from datasheets/observation?
I will post the font data files tomorrow evening for you.

The fonts were coded by hand from the DM8678 data sheet (or application note) - I believe they are accurate. As far as I know you can’t directly read the character Rom in the DM8678, as there’s no data bus. I’ve never seen an example of the CAH version for sale (lower case and symbols) so thought it would be good to include it in the emulator module.
Realtime is offline  
Closed Thread

Thread Tools



All times are GMT +1. The time now is 5:07 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 - 2024, vBulletin Solutions, Inc.
Copyright ©2002 - 2023, Paul Stenning.