Image Map Image Map
Results 1 to 9 of 9

Thread: TransEra 741-RTC Real-Time-Clock for Tektronix 4052/4054

  1. #1

    Default TransEra 741-RTC Real-Time-Clock for Tektronix 4052/4054

    Thanks to the generosity of Walter Devaney - I have a working TransEra 741-RTC Real-Time-Clock ROM pack for my Tektronix 4054A computer.

    Here is a photo of the TransEra 741-RTC ROM Pack. The module uses the Hitachi CMOS HD146818 real time clock IC:



    The gold fingers were a bit tarnished on the edge connector - so I carefully rubbed them with a white rubber eraser from Staedtler #526 50 UP (eraser crumbs are visible in the next photo).

    Before plugging into my Tektronix 4054A - I unbolted the ROM pack case and saw that the three small NiCAD batteries were corroded, and the battery pack voltage was near zero.



    I did some cleaning of the battery corrosion, and reseated all the socketed ICs.
    I also tried to charge the NiCADs, but they quickly began to discharge.

    I checked the resistance of the module across the +5V and GND edge connector contacts - and the board (one Tantalum capacitor) was ok.

    I first powered on my 4054A and verified it was still working.
    Then turned off the 4054A and waited for several seconds - and plugged in the 741-RTC ROM pack.

    I turned the 4054A back on and ran the CALL "CLIST" command (only in the 4052A and 4054A, underlined characters are actually typed as Control characters) and did not see any new CALLs for the 741-RTC.
    I then powered off the 4054A, reseated the ROM pack, turned on the 4054A a couple more times, but did not see any new CALLs - which means the ROM pack was not detected.

    Then I turned off the 4054A, unplugged the ROM pack for a closer examination.
    I unsoldered the tantalum capacitor and found it checked out ok with my Fluke meter capacitor test function.
    I reinstalled the capacitor and reseated all three socketed ICs again.

    After inserting the cartridge and powering on my 4054A - I saw the new BASIC CALLs - highlighted in yellow:



    There were a lot more calls than the cartridge label indicated.

    I tried the first command in the list: 741RTC and it indicated Firmware version 1.3 from 1984.

    I had some TransEra manuals included with a shipment of tapes I received in 2001 after I first purchased my Tektronix - and I had the Real Time Clock Operators Manual!!



    I decided to type in the test program listed in the appendix and everything worked!

    The tests include:
    - Read Clock Commands (date and time)
    - Extended Read Clock Commands (seconds, weekday, day and month)
    - Clock Mode Commands (12 versus 24 hour, standard versus daylight savings)
    - Timer Commands (PAUSE)
    - CMOS Memory Read/Write Commands
    - PERIOD interrupt Commands
    - TIMER interrupt Commands
    - ALARM interrupt Commands
    - Power-Up String (loads and runs your program loaded into RTC CMOS at powerup)



    Only the WEEKDAY was wrong - and the Hitachi datasheet indicates parts with an "X" do not support daylight savings time, but the rest of the commands worked great!

    Here is the listing of the test program - I will also upload it to my github repository for recovered Tektronix 405x programs:

    Code:
    1 REM RTC.TEK -- Test the New 641/741RTC ROM Pack
    2 GO TO 100
    80 REM Interrupt Routine Entry Points for PERIOD, TIMER, and ALARM
    90 GO TO 1310
    91 GO TO 1520
    92 GO TO 1790
    100 PAGE 
    110 PRINT "641/741 Real Time Clock Test Program"
    120 PRINT 
    130 PRINT "1. Read Firmware Level and Set Clock"
    140 PRINT "   Firmware message ";
    150 IF INT(RND(0)*10)<>1 THEN 180
    160 CALL "641RTC"
    170 GO TO 190
    180 CALL "741RTC"
    182 PRINT "   Enter date&time: Example:27-APR-19 10:00:00  ";
    184 INPUT B$
    188 REM   CALL "!SETTIME","04-APR-19 10:00:00"
    190 CALL "!SETTIME",B$
    200 PRINT 
    210 PRINT "2. Simple Read Clock Commands"
    220 PRINT 
    230 PRINT "   Current Date and Time=";
    240 CALL "!DATETIME"
    250 CALL "!DATETIME",B$
    260 PRINT "    Date and Time String=";B$
    270 PRINT 
    280 PRINT "   Current Date=";
    290 CALL "!DATE"
    300 CALL "!DATE",B$
    310 PRINT "    Date String=";
    320 CALL "!DATE",D,T,Y
    330 PRINT " Numbers=";D;T;Y
    340 PRINT 
    350 PRINT "   Current Time=";
    360 CALL "!TIME"
    370 CALL "!TIME",B$
    380 PRINT "    Time String=";B$;
    390 CALL "!TIME",H,M,S,B
    400 PRINT " Numbers=";H;M;S;B
    410 PRINT 
    420 PRINT "3. Extended Read Clock Commands"
    430 PRINT 
    440 CALL "!SECONDS",N
    450 PRINT "   Current Seconds=";N;
    460 CALL "!TIME",H,M,S,B
    470 CALL "!SECONDS",H,M,S,N
    480 PRINT " Find Seconds=";N
    490 PRINT 
    500 CALL "!WEEKDAY",N
    510 PRINT "   Current Weekday Number=";N;
    520 CALL "!WEEKDAY",B$
    530 PRINT " String=";B$
    540 CALL "!WEEKDAY",D,T,Y,N
    550 PRINT "      Find Weekday Number=";N;
    560 CALL "!WEEKDAY",D,T,Y,B$
    570 PRINT " String=";B$
    580 PRINT 
    590 CALL "!DAY",J
    600 PRINT "   Current Julian Day=";J
    610 CALL "!DAY",D,T,Y,J
    620 PRINT " Find Julian Day=";J
    630 CALL "!MONTH",J,Y,D,T
    640 PRINT "   Julian Day=";J;" Year=";Y;" Day=";D;" Month=";T
    650 PRINT 
    660 PRINT "4.  Clock Mode Commands"
    670 PRINT 
    680 CALL "!24HOUR"
    690 CALL "!STANDARD"
    700 PRINT "   Should be 24 Hour Standard-";
    710 CALL "!MODES"
    720 CALL "!12HOUR"
    730 PRINT "   Should be 12 Hour Standard-";
    740 CALL "!MODES"
    750 CALL "!24HOUR"
    760 CALL "!DAYLIGHT"
    770 PRINT "   Should be 24 Hour Daylight Savings-";
    780 CALL "!MODES"
    790 CALL "!STANDARD"
    800 PRINT "   Should be 24 Hour Standard-";
    810 CALL "!MODES"
    820 PRINT "   End of Modes Test"
    830 PRINT "Press Carriage Return to Continue.";
    840 INPUT B$
    850 PAGE 
    860 PRINT "5. Timer Commands"
    870 PRINT 
    880 PRINT "  PAUSE Test 10 Seconds"
    890 PRINT "    Start Time=";
    900 CALL "!TIME"
    910 CALL "!PAUSE",10
    920 PRINT "      End Time=";
    930 CALL "!TIME"
    940 REM
    950 PRINT 
    960 PRINT "  CMOS Memory Test"
    970 FOR I=1 TO 40
    980 CALL "!WRITE",I,I
    990 NEXT I
    1000 FOR I=0 TO 3
    1010 PRINT "     ";
    1020 FOR J=1 TO 10
    1030 P=I*10+J
    1040 CALL "!READ",N,P
    1050 PRINT N;
    1060 IF P=N THEN 1090
    1070 PRINT "    Number Error P/J=";P;J
    1080 STOP 
    1090 NEXT J
    1100 PRINT 
    1110 NEXT I
    1120 PRINT "    Pass Byte Read/Write"
    1130 B$="TEST STRING"
    1140 CALL "!WRITE",B$,1
    1150 CALL "!READ",C$,LEN(B$),1
    1160 IF C$=B$ THEN 1190
    1170 PRINT "CMOS STRING ERROR B$/C$=";B$;C$
    1180 STOP 
    1190 PRINT "      ";B$,C$
    1200 PRINT "    Pass String Read/Write"
    1210 PRINT 
    1220 PRINT "  Test PERIOD interrupt at 1 Hz"
    1230 I=0
    1240 PRINT "   ";
    1250 CALL "!PERIOD",1,90
    1260 REM PROCESSING LOOP
    1270 J=0
    1280 IF I>20 THEN 1350
    1290 J=J+1
    1300 GO TO 1280
    1310 REM PERIOD INTERRUPT ROUTINE
    1320 I=I+1
    1330 PRINT "*";
    1340 RETURN 
    1350 CALL "!PERIOD"
    1360 PRINT 
    1370 PRINT "    End PERIOD Test J=";J
    1400 PRINT 
    1410 PRINT "  TIMER Interrupt Test for 10 seconds"
    1420 PRINT "    Start at ";
    1430 CALL "!TIME"
    1440 I=0
    1450 CALL "!TIMER",10,91
    1460 REM PROCESSING LOOP
    1470 J=0
    1480 IF I>0 THEN 1560
    1490 J=J+1
    1500 GO TO 1480
    1510 REM TIMER INTERRUPT ROUTINE
    1520 PRINT "    TIMER Interrupt !! at ";
    1530 CALL "!TIME"
    1540 I=1
    1550 RETURN 
    1560 PRINT "    End TIMER test J=";J
    1590 PRINT 
    1600 PRINT "  Start ALARM Interrupt Test at ";
    1610 CALL "!TIME"
    1620 I=0
    1630 CALL "!TIME",H,M,S,B
    1640 S=S+10
    1650 IF S<60 THEN 1700
    1660 S=S-60
    1670 M=M+1
    1680 IF M<60 THEN 1700
    1690 H=H+1
    1700 CALL "!ALARM",H,M,S,92
    1710 CALL "!RALARM",J,H,M,S
    1720 PRINT "    ALARM Set to ";H;":";M;":";S
    1730 REM PROCESSING LOOP
    1740 J=0
    1750 IF I>0 THEN 1830
    1760 J=J+1
    1770 GO TO 1750
    1780 REM ALARM INTERRUPT ROUTINE
    1790 PRINT "    ALARM Interrupt !! at ";
    1800 CALL "!TIME"
    1810 I=1
    1820 RETURN 
    1830 CALL "!ALARM"
    1840 PRINT "    End ALARM test J=";J
    1860 PRINT 
    1870 PRINT "  Power-Up String Test"
    1880 B$="1FORJ=1TO10 2PRIJ 3NEXJ RUN "
    1890 C$=CHR(13)
    1900 B$=REP(C$,12,1)
    1910 B$=REP(C$,18,1)
    1920 B$=REP(C$,24,1)
    1930 B$=REP(C$,28,1)
    1940 CALL "!SETPU",B$,1
    1950 PRINT "    Please turn OFF the power switch,"
    1960 PRINT "    and then turn it back ON."
    1970 PRINT "    Don't forget to CALL ""!SETPU"" after the test"
    1980 PRINT "    to clear the power up string test"
    Walter also sent me several other TransEra ROM cartridges for the Tektronix 4052/4054:
    - Super Utilities
    - four A/D Converters with the Differential Connector panel
    - Auxiliary Memory (only the ROM pack - he didn't have the actual memory module)

    I have already cleaned the contacts of the Super Utilities ROM and got a dump of all the CALL commands - 78 in all!

    I'll start a new thread about that cartridge.

    Monty
    Last edited by nikola-wan; April 27th, 2019 at 12:45 PM.

  2. #2

    Default

    Actually, I was cleaning both the RTC ROM and Super Utilities ROMs at the same time.

    I did not have to work on the RTC board - I only used the white gum eraser carefully on the edge connector.

    The Super Utilities ROM was the board with three socketed ICs and a single tantalum capacitor that I removed, tested then put it back on the board.

    Monty

  3. #3

    Default

    I broke my Data I/O Unipak 2 - trying to build an extension cable

    The Unipak 2 was unable to verify EPROMs, so I tried to build a cable to allow me to calibrate it - and I didn't buy the correct ribbon cable mating connector and had reversed wiring - so shorted out the Unipak 2

    I bought a Unipak 2B on EBAY which had a label indicating it was tested and working in 2019.

    I used it to dump the EPROMs and used my Data I/O LogicPak to dump the National Semiconductor 12L6 PALs on my TransEra ROM Packs.

    Here is a link to the RAR archive with the Motorola S-Format captures and the HxD saved Binary files including the 12L6 PAL for the RTC board:

    TransEra 741-RTC ROMs and PAL files

  4. Default 4051 rtc

    I have the 4051 version of the TransEra RTC, model 641-RTC. I have a dump of the EPROM if anyone is interested. It doesn't have any PAL's and it's built around an AM8253 with a few 7400 series chips and a couple other analog chips for the crystal oscillator circuit. The battery pack is external.
    20190625_181251.jpg20190625_181347.jpg20190625_181412.jpg

  5. #5
    Join Date
    Jun 2012
    Location
    UK - Worcester
    Posts
    3,853

    Default

    Monty (the post above yours) is the main Tek collector here - after very successfully resurrecting his machines. He is a "one-man-mission" to preserve everything Tek computer related ! Hi Monty...

    Dave

  6. #6

    Default

    Hi Dave!

    Yes - I guess I'm the last Tektronix computer collector in the known universe

    Last night I got an HP 82161A tape drive working with my HP 1630A logic analyzer - although I've ordered a new set of NIMH batteries to replace the ancient NICAD battery pack.

    I've got a Motorola 6800 preprocessor coming from Australia that plugs into the HP 1630A and will reverse disassemble the 6800 instructions in the controller inside my Tek 4907 Floppy drive - so I can debug the Error 16 Device Not Ready issue. There are also a half dozen other 8 and 16-bit micro preprocessors coming with that one.

    Getting the Floppy drive working will enable me to try to recover the Tektronix 405x floppy disk based programs I found in the Living Computer Museum last fall. Programs like CAD drawing and Graphics Editing.

    Monty

  7. #7

    Default I replaced the corroded NiCd batteries in my TransEra RTC module

    I have successfully replaced the three corroded NiCad batteries in my TransEra 741-RTC ROM pack!

    The original batteries were beyond repair and my earlier photos in this post showed significant corrosion on the ends of a couple of the batteries.

    These batteries were 1/3 AAA NiCd batteries - I haven't been able to find any replacements.

    Since the batteries are recharged directly from the +5V logic power on the board - other rechargeable battery chemistry like NiMH would likely experience overcharge, so I began looking for a different size NiCd battery for replacement.

    I found an interesting 4.8 Volt 5/4 AAA NiCd battery pack on OnlyBatteries.com:

    https://www.onlybatteries.com/showit...t1=12&uid=1008

    I ordered one of these - here is the size next to an alkaline AAA battery - this pack looks a tad longer, more like 1 1/3 AAA size.



    I cut the wrap open to see one of the batteries inside - here is the new pack next to my RTC module with original battery pack:



    The new batteries are shorter than the original batteries - possibly 1/3 AAA, versus the original 1/2 AAA size batteries.

    The new battery pack is only 50mA - but I think it will be fine for RTC backup.

    First step was measure the battery pack voltage - it was barely 2V

    I hooked up the entire pack to a multi-chemistry RC battery charger and set the pack to charge on a NiCd trickle charge setting with a charge current of 10mA - which was the lowest current on this charger. I would have preferred 5mA for C/10 charge rate.

    I nursed the charger - watching the charge rate, and finally got the battery pack over 4.8V - but that voltage is actually zero capacity! Some internet searching showed that NiCd batteries at full charge are closer to 1.6V per cell - or almost 6.4V for a nominal 4.8V NiCd battery pack.

    Also several charge/discharge cycles are necessary to get a battery pack back to health, so I did that on this pack and after charging, I disconnected the pack and waited overnight.
    The pack held the charge at about 5.8V (60% charge according to NiCd charge curves I found on the web).

    Now I was ready to replace the batteries in my RTC.

    I cut out three of the cells from the new battery pack - the welded tabs between cells were too short to allow the batteries to fold next to each other.

    I put shrink wrap on each individual cell, and soldered jumper wires between batteries and for the positive lead, then soldered the new pack to the board.

    Then I desoldered the original pack and put in the new one:



    I checked that the battery voltage was connected to the board - and plugged the RTC into my Tektronix 4054A and powered on the system. I set the RTC clock, and left the module plugged in while I was playing Adventure64 on my Tektronix 4054 for a couple of hours, and then shut off the system.

    Here is a screenshot showing that the board was working - after waiting over night after the repair.



    The first command showed that the battery kept the RTC running all night.

    I then used the RTC time to initialize the Tektronix 4907 Floppy Drive system time, and the last command shows that the 4907 time was updated and running!

    Now I'll create a thread to discuss my latest Adventure program for the Tektronix 4050 computers

  8. #8

    Default

    More photos of the RTC board:

    top view before replacing the batteries:



    side view:



    closeup of the crystal - it has a clear cover on the side next to the RTC IC:


  9. #9

    Default

    I just scanned and uploaded the TransEra 741-RTC Operators Manual to my Tektronix 4050 github repository:

    TransEra_741-RTC_Operators_Manual_1.0_May1983.pdf

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •