Image Map Image Map
Page 3 of 3 FirstFirst 123
Results 21 to 24 of 24

Thread: Tek4052/4 generic ROM PCB's

  1. #21
    Join Date
    Jul 2012
    Location
    Switzerland
    Posts
    124

    Default

    Progress !

    So my prototype can indeed access the RTC chip, also bankswitching the ROM's seems to work. Here a trial run of my prototype, build upon a badly misused, leftover, diagnostic pack PCB :
    tek_mfm_proto.jpg
    Sometimes it is only a typing error in the GAL definition file.....
    To bad the Transera code is not y2k complient : the weekday calculations are a day off as it sees year 20 as 1920, not 2020. Anyone up for changing the Transera ROM ?
    The RTC chip I use is a code-compatible DS12885, here in its DS12887 guise as a complete module, with potted (empty) battery and 32KHz crystal.

    Still not there yet, that counter thingy refuses to comply.

    Jos
    Last edited by jdreesen; May 1st, 2020 at 11:58 PM. Reason: better pic

  2. #22

    Default

    Quote Originally Posted by jdreesen View Post
    Progress !

    So my prototype can indeed access the RTC chip, also bankswitching the ROM's seems to work. Here a trial run of my prototype, build upon a badly misused, leftover, diagnostic pack PCB :
    tek_mfm_proto.jpg
    Sometimes it is only a typing error in the GAL definition file.....
    To bad the Transera code is not y2k complient : the weekday calculations are a day off as it sees year 20 as 1920, not 2020. Anyone up for changing the Transera ROM ?
    The RTC chip I use is a code-compatible DS12885, here in its DS12887 guise as a complete module, with potted (empty) battery and 32KHz crystal.

    Still not there yet, that counter thingy refuses to comply.

    Jos
    Jos,

    Great progress!

    I assume you are using the TransEra RTC BASIC test program I uploaded to my github repository to test your board?

    https://github.com/mmcgraw74/Tektronix-4051-4052-4054-Program-Files/TransEra_ROM_Packs/TransEra_741_RTC_Real_Time_Clock/RTCTest.TXT

    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"
    I did notice in running this test that the day of the week calculation was wrong and attributed it to Y2K.

    If you post your disassembly of the RTC ROM firmware, I'll take a look at trying to fix that bug.

    Monty

  3. #23
    Join Date
    Jul 2012
    Location
    Switzerland
    Posts
    124

    Default

    Yes, the weekday calculation is correct for 19xx, not 20xx. I guess that it it will not be worthwhile to adapt the code, not enough people left that do anything with a 405x.
    Like the HD146818, the DS12887 doesn't do centuries...
    Yep, I used the RTC testprogram you provided

  4. #24
    Join Date
    Jul 2012
    Location
    Switzerland
    Posts
    124

    Default

    And some more progress : full pass on theTransera RTC test program !
    PCB's are ordered, I'll open a new thread to check for interest.

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
  •