• Please review our updated Terms and Rules here

Tektronix 4052/4054 Multifunction modules available.

jdreesen

Experienced Member
Joined
Jul 5, 2012
Messages
414
Location
Switzerland
So I created a mutifunction module / ROMPack for the Tektronix 4052/4054

- This covers the ROM-expander (Tektronix 4050E01) functionality in that it allows the equivalent of up to 8 ROMpacks into a single ROMpack module. ( Actually 16, if the TEK would have been able to handle that...)
- One of these can be the equivalent of the Transera 741-RTC module. ( This is verified working ) Not Y2K compliant !
- and one of these can be the equivalent of the serial printer interface. (functionality to be tested when PCB's are back from the fab)

For good measure there is also the possibilty to add a reset button that will reset the whole machine.

The 8 ROM images are combined into 8 16K slots in a 27c010 Eprom and can be choosen at will. If RTC and / or printer functionality is not required, then you can just not populate these devices, and use the freed-up space for other rom images.

That is what it looks like :

TekMFM_front.jpg

Sorry 4052/54 (-a) only, the 4051 will need a slightly different PCB, but ready to help out if some 4051 owner wants to try out things !


Key components :

27c010 Eprom ( ROM images)
22V10 GAL (system decoder),
DS12885 chip ( or DS12887 module) RTC,
74ls580 (sub-second timer)
MC6850 (ACIA)
SN75155 ( 2x, line xref)
74hc4040 baud rate clock divider,
74ls173 (bank switch latch)
74ls245 (data xfer)


Who wants a PCB ( 15 $ ) ?
a set of the above components (China-sourced, approx. 30$) ?

I'd rather not create full kits, nevertheless if that is what you want, shout !
And who needs build & tested PCB's ( approx 70$) ?

( all without shipping that is.... )

Oh yes : Tektronix 4052/4054 diagnostic packs (equivalents..) are still available !
 
Last edited:
By the way - here is my list of Tektronix 4052/4054 ROMs that I've posted to github that could be put into a 4052/4054 Multi-function ROM Pack:


  1. 4052/4054 ROMs that could be put in a 4052 Multi-function ROM Pack include my posts of:
  2. 4052 Editor
  3. 4052 GPIB Enhancement (one for 4052 and other for A-series)
  4. 4052/4054 File Manager (for 4907 Floppy Drive System)
  5. 4052 Graphics Enhancement (fast graphics & music!)
  6. 4052 Character and Symbol (scalable vector character sets)
  7. 4052 Advanced File Manager (for 4909 Hard Disk System)
  8. 4052 RS-232 Printer Interface ROM
  9. TransEra RTC ROM
  10. TransEra Super Utilities (I use this one for tape backup/restore including binary and secret files)
 
Last edited:
And for those with 4051 computers, interested in working with Jos on a slightly different board and components, here are some 4051 ROMs I have posted that could be put in a 4051 Multi-function ROM Pack:

  1. 4051 Binary Program Loader
  2. 4051 Editor
  3. 4051 Matrix Functions
  4. 4051 RS-232 Printer Interface
  5. and Clay's TransEra RTC ROM (hardware design could be incorporated into 4051 MFM ROM Pack board
 
By the way - here is my list of Tektronix 4052/4054 ROMs that I've posted to github that could be put into a 4052/4054 Multi-function ROM Pack:


  1. 4052/4054 ROMs that could be put in a 4052 Multi-function ROM Pack include my posts of:
  2. 4052 Editor
  3. 4052 GPIB Enhancement (one for 4052 and other for A-series)
  4. 4052/4054 File Manager (for 4907 Floppy Drive System)
  5. 4052 Graphics Enhancement (fast graphics & music!)
  6. 4052 Character and Symbol (scalable vector character sets)
  7. 4052 Advanced File Manager (for 4909 Hard Disk System)
  8. 4052 RS-232 Printer Interface ROM
  9. TransEra RTC ROM
  10. TransEra Super Utilities (I use this one for tape backup/restore including binary and secret files)

That's 9 roms... which one will you leave out ?
 
I would leave out the 4052 Editor. If I'm editing a Tektronix 4050 BASIC program, I use Notepad++ on my PC :)
 
Jos,

I have cross posted your Multi-function board to the "Tek 4051 BASIC" facebook group.

Ruben Aparicio in that group is interested in a 4051 version of your board, but is unable to register here.
 
Jos,

Some of the folks interested in your multi-function ROM Pack don't have 3D printers.

They might also be interested in ordering a case for the ROM Pack.
 
Here they are...

TekMFM1.jpg

..and another pic with empty PCB and 3D printed casing...

TekMFM2.jpg

They are functional, for the RTC part and at least the first 4 ROM images. My eprommer doesn't want to program the 1M Eproms, broken pindriver or something, have to check. I also have not yet received the components ordered, that is why there is a DS12887 RTC module instead of the DS12885 RTC chip ( a DS12887 is a DS12885, potted up with a surprisingly small battery and a 32KHz chrystal). Serial not yet tested, also due to lack of components...
 
Looks great! Can't wait!

I've received EPROMs and blank PAL and hope to upgrade my DataIO to program big EPROMs too :)
 
Looks like you will have to wait some more.....

The DS12885's I received after 5 weeks wait were fake ( some odd memory chip inside...)
The other Chinese outfit send me 74ls90 instead of 74ls590......

Ready to give up on Chinese part vendors and just sell the boards !

Jos
 
Jos,

I believe that may be the best route. I think I can find all the parts in your list in the first post.

Monty
 
In debugging Jos Dreesen's 4052 Multi-Function ROM Pack, I encountered a System Error message this morning, which results in clearing the program from memory.

I remembered a Tekniques article showed a small program to decode that System Error message - the article is in Tekniques Vol 6 Number 3 on bitsavers.
http://www.bitsavers.org/.../Tekniques_V6N3_Fall_1982.pdf

attachment.php


This article uses the 4050 BASIC "POINTER" command to accept one character from the keyboard without requiring a RETURN.

The interesting thing about the error code I got was it pointed to the seventh ROM Pack in the ROM Expander in the right slot - and I have the MFM ROM Pack plugged in the left slot, so we have an issue right now with the bank switch decoder on the MFM that emulates the bank switch decoder in the 4050E01 ROM Expander.

Here is the System Error message I got this morning with the MFM ROM Pack plugged into my 4052 in the left slot:

attachment.php


At the top of the screen I had typed one command:

CALL "R12LVL"

This is the command to a Graphics Enhancement R12 ROM Pack to PRINT the version of the firmware.

The SYSTEM ERROR message at the bottom of the screen indicates that ROM Pack 7 in an eight slot ROM Expander "BE" plugged into the right ROM Pack slot on the back of the 4052 had an error.

Since I have the MFM ROM Pack which emulates all eight ROM slots in a 4050E01 ROM Expander, and contained the Graphics Enhancement ROM in slot seven, I would have expected the system error message to report "B7" as the location of the ROM Pack with the error.

I am debugging issues with ROM decoding in Jos Dreesen's new MFM ROM Pack, so this message indicates the 4052 'discovered' the Graphics Enhancement ROM was in slot BE, and likely had an illegal opcode trying to access it for the CALL "R12LVL".

4052/4054 ROM Pack "discovery" performed immediately by the system BASIC ROM on power up is to write to a ROM bank switch in the system the bank address for a single ROM slot (table in article above) and then fetch two bytes from hex address 0x00010. Every 4052/4054 ROM Pack will respond with "4052" for those two bytes, and if there is no ROM Pack installed in that slot address, the system will ignore any other values and continue discovery with the next possible ROM slot.

The 4050 ROM Expander (and Jos' MFM ROM Pack) emulate the system bank switch, adding decodes for 8 additional slots within one of the four major slot addresses.

Each 'ordinary' ROM Pack gets a slot specific "BS" signal from the system bank switch to use to decode the ROM or I/O based on the additional A15 address signal. A15 is high for all I/O and low for all ROMs in a ROM Pack.

A different and also unique ROM slot signal "BSX" is decoded by the system bank switch to address a (possible) bank switch decoder which is located inside the 4050E01 ROM Expander.
This BSX signal is then used in the 4050E01 ROM Expander, and Jos' MFM ROM Pack to decode the three LSB bank switch register data bits which further decode to select one of eight ROM Packs in the Expander or MFM.

After initial ROM Pack "discovery", the system ROM will go back to the discovered ROM Pack locations and read ROM CALL names followed by ROM CALL entry addresses. The system BASIC ROM will add the ROM bank switch address information with the base address of these ROM CALL names for use when this call is made in a program or from the immediate command line.

The 4052/4054 computers supported up to four ROM slots, each slot capable of supporting an eight-slot 4050E01 ROM Expander for up to 32 ROM Packs!

Each 4052/4054 ROM Pack could contain up to 16KB of ROM and was typically constructed with up to four 2732 4Kx8 EPROMs.

The 4052/4054 ROM Pack architecture could also support ROMs plus I/O adapters such as RS-232, Real-Time-Clock, A/D converter, D/A converter, even memory expansion.

Jos' Multi-function ROM Pack includes not only up to eight ROM slots, but the hardware for the Tektronix RS-232 Printer Interface, and the hardware for the TransEra 741-RTC Real-Time-Clock module!

The 4052/4054 ROM Pack data bus was only 8-bits wide, but the 4052/4054 computers had a 16-bit bit-slice processor architecture which always fetched 16-bits at a time from ROM or RAM, and the system board handled even or odd starting addresses for program or data and 8-bit I/O devices properly.

The 4052/4054 has 128KB of address space with 64KB of BASIC ROM (actually 8KB more ROM plus I/O register decode is at the top of RAM space) and 64KB of RAM (minus the 8KB of ROM plus I/O space for 52KB of usable RAM).
The ROM Packs share a 16KB bank switch space at the bottom of the ROM space. The System ROM contains 16KB of code including RS-232 and other CALLs in the low 16KB space that is bank switched out to support a CALL to an option ROM.

This bank switch works as the 4052/4054 is single-threaded code, and after an optional ROM Pack CALL is made, the system may or may not have to change the bank switch to run the next step in the program.
 
Last edited:
Hi Monty,

Good work! It keeps you quite busy :D I have added a 74LS138 into Jos's
module to use the serial port as the primary port. This is because I don't
like to cut traces inside my machine... But I still have to test that serial port.
Then I got the message from Jos that he had updated the GAL program.
So now I'm waiting for my new programmer to update that chip...

Very nice to read the progress on the module! Next week I get the tapes
and some other documentation for the 4052.

Regards, Roland
 
Hi Monty,

Good work! It keeps you quite busy :D I have added a 74LS138 into Jos's
module to use the serial port as the primary port. This is because I don't
like to cut traces inside my machine... But I still have to test that serial port.
Then I got the message from Jos that he had updated the GAL program.
So now I'm waiting for my new programmer to update that chip...

Very nice to read the progress on the module! Next week I get the tapes
and some other documentation for the 4052.

Regards, Roland

Roland,

I believe I'm dealing with a GAL timing problem on my board.

I've hooked my HP16500B Logic Analyzer to my MFM board - and it looks like the clock to the 74LS173 is less than 10nsec from the end of the data bus buffer enable. If I had a 25nsec GAL, I might get an additional 10nsec of setup time on the very critical writes to the bank switch register.

Jos sent an AMI 22V10-AP25, but I can't reprogram it on my Data I/O LogicPak or TL866ii-Pro.

I purchased Atmel 22V10C-15, which I can program with my TL866ii-Pro inexpensive programmer.

Best I can do with the Atmel 22V10C installed on my MFM is see a couple of quick option rom calls like CALL "750SPU" to print the version of the TransEra Special Utilities or CALL "R12LVL" which prints the version of the Graphics Enhancement R12 ROM.
Anything else fails and locks up my 4054A or 4052.

Also, I have found the slot position matters. On my 4054A I can only get the above results from the right slot - MFM in the left slot locks up with all front lights on :(
On my 4052 it is the opposite - MFM in left slot locks up the 4052 with all lights on and right slot works (to the limit of the commands mentioned)

I was getting a bit farther on the AMI GAL, but may have damaged it trying to reprogram it :( It is now erased but not programmable.

You should have better results if you can program the GAL you received with the MFM from Jos.

I have ordered 3 NOS Lattice 22V10D-25 parts from EBAY, but I've already been burned with three EBAY Lattice 22V10 which cannot be programmed by my programmer - I suspect clone 22V10 ICs that are not programmer compatible :(

I also found that Digikey - a US Electronics distributor has about 1000 Atmel 22V10C-30, so I ordered five of them, should get them by Friday to try on my board since my programmer can only program Atmel or Lattice 22V10 GALs.

I haven't been able to test the RS-232 or TransEra 741-RTC as I'm waiting for the ROMs to work first :(

What programmer have you ordered?

I have made progress on my program that calls the Diagnostic ROM pack CRC - I now can get Jos' Diagnostic ROM pack CALL "CRC" to list the CRCs for ROMs plugged into my 4050E01.

When I get my new (SLOW) GALs, my program should be able to list those same ROM CRCs in Jos' MFM! Currently, that program shows a CRC equal to no ROM found :(

Monty
 
Last edited:
Roland,

The GAL Jedec file ver. C, with checksum 7553, that is on my FTP site is the current one. I am using that on my non-A 4052 and do not see issues. It is however the same version that Monty is having severe problems with. It seems non-A and -A machines have sufficiently different timing to cause issues.

Monty,
do try the "slow" option that you can populate on my MFM board. It might very well be the solution. I will also try to come up with a solution to defuse the timing issues.

All signals BSX-R, BSX-L, BS-R and BS-L are outputs of the same 74s138 decoder. And they are the only difference between right slot and left slot.....The timing must be very critical indeed if that causes issues.
 
Roland,

The GAL Jedec file ver. C, with checksum 7553, that is on my FTP site is the current one. I am using that on my non-A 4052 and do not see issues. It is however the same version that Monty is having severe problems with. It seems non-A and -A machines have sufficiently different timing to cause issues.

Monty,
do try the "slow" option that you can populate on my MFM board. It might very well be the solution. I will also try to come up with a solution to defuse the timing issues.

All signals BSX-R, BSX-L, BS-R and BS-L are outputs of the same 74s138 decoder. And they are the only difference between right slot and left slot.....The timing must be very critical indeed if that causes issues.

Jos,

My 4054 is the only one that is A-series, my 4052 is non-A, which is why I suspect my faster GAL timing may be the issue: -15 vs -25 on the GAL you sent me that I cannot reprogram on my Data I/O LogicPak nor TL866ii-Pro, but must have been able to erase while trying to program it :(

I have tried my Atmel 22V10C-15 and same EPROM as you sent ST 27C1001-15 on both your original board and my assembled board on both my 4052 and 4054A in both slots with same results :(

On my 4054A I can do the CALL "CLIST" and see the TransEra 750SPU, Character & Symbol, and Graphics Enhancement ROMs, but most commands lock up the machine or throw the System Error message.

Since I can get the MFM to boot in the right slot in the 4054A - I can plug in your Diagnostic ROM pack in the left slot and run my CRC test program on the MFM 'slots' but they all show up with 5000 (all FFs) on this test.

When I plug my 4050E01 into the 4054A right slot with the Diagnostic ROM pack in the left slot - and insert those actual ROM packs in the same slots as the MFM images, my CRC test program gives the correct checksums for all those ROM packs and they work fine - same thing in the 4052.

Monty
 
Back
Top