RetroBSD

2.11BSD operating system for microcontrollers
It is currently Mon Sep 24, 2018 11:12 pm

All times are UTC




Post new topic Reply to topic  [ 86 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next
Author Message
PostPosted: Wed Nov 09, 2016 9:16 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Mandelbrot from Rosetta code:
Code:
LIST

MANDEL  BA    4A

10 X1=59\Y1=21
20 I1=-1.0\I2=1.0\R1=-2.0\R2=1.0
30 S1=(R2-R1)/X1\S2=(I2-I1)/Y1
40 FOR Y=0 TO Y1
50 I3=I1+S2*Y
60 FOR X=0 TO X1
70 R3=R1+S1*X\Z1=R3\Z2=I3
80 FOR N=0 TO 30
90 A=Z1*Z1\B=Z2*Z2
100 IF A+B>4.0 GOTO 130
110 Z2=2*Z1*Z2+I3\Z1=A-B+R3
120 NEXT N
130 PRINT CHR$(62-N);
140 NEXT X
150 PRINT
160 NEXT Y
170 END

READY
RUN

MANDEL  BA    4A

>>>>>>=====<<<<<<<<<<<<<<<;;;;;;:::96032:;;;;<<<<===========
>>>>>===<<<<<<<<<<<<<<<<;;;;;;;:::873*079::;;;;<<<<<========
>>>>===<<<<<<<<<<<<<<<;;;;;;;::9974    (.9::::;;<<<<<=======
>>>==<<<<<<<<<<<<<<<;;;;;;:98888764     5789999:;;<<<<<=====
>>==<<<<<<<<<<<<<;;;;::::996. &2           45335:;<<<<<<====
>>=<<<<<<<<<<<;;;::::::999752                 *79:;<<<<<<===
>=<<<<<<<<;;;:599999999886                    %78:;;<<<<<<==
><<<<;;;;;:::972456-567763                      +9;;<<<<<<<=
><;;;;;;::::9875&      .3                       *9;;;<<<<<<=
>;;;;;;::997564'        '                       8:;;;<<<<<<=
>::988897735/                                 &89:;;;<<<<<<=
>::988897735/                                 &89:;;;<<<<<<=
>;;;;;;::997564'        '                       8:;;;<<<<<<=
><;;;;;;::::9875&      .3                       *9;;;<<<<<<=
><<<<;;;;;:::972456-567763                      +9;;<<<<<<<=
>=<<<<<<<<;;;:599999999886                    %78:;;<<<<<<==
>>=<<<<<<<<<<<;;;::::::999752                 *79:;<<<<<<===
>>==<<<<<<<<<<<<<;;;;::::996. &2           45335:;<<<<<<====
>>>==<<<<<<<<<<<<<<<;;;;;;:98888764     5789999:;;<<<<<=====
>>>>===<<<<<<<<<<<<<<<;;;;;;;::9974    (.9::::;;<<<<<=======
>>>>>===<<<<<<<<<<<<<<<<;;;;;;;:::873*079::;;;;<<<<<========
>>>>>>=====<<<<<<<<<<<<<<<;;;;;;:::96032:;;;;<<<<===========

READY

Trying to enter Date in all possible formats. None success yet..
Code:
.
.DATE 11/11/16
BAD DATE
.

Update:
Code:
.DATE 11-NOV-72
.DATE
SATURDAY NOVEMBER 11, 1972
.DATE 11-NOV-79
.DATE
SUNDAY NOVEMBER 11, 1979
.DATE 11-NOV-16
BAD DATE
.DATE 11-NOV-88
.DATE
FRIDAY NOVEMBER 11, 1988
.DATE 11-NOV-96
.DATE
MONDAY NOVEMBER 11, 1996
.DATE 11-NOV-99
.DATE
THURSDAY NOVEMBER 11, 1999
.DATE 11-NOV-01
BAD DATE
.

y2k ??

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Wed Nov 09, 2016 11:25 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
And the same benchmark in FORTRAN IV (test 1.b from above link).
Code:
.CREATE TEST.FT

#?
#A
C       SIGH, THOSE WERE THE DAYS
        DIMENSION A(4,500)
        N = 500
..

#L
C       SIGH, THOSE WERE THE DAYS
        DIMENSION A(4,500)
        N = 500
        WRITE (4,400)
400     FORMAT (' START')
        X = 0.01
        J = 2
        DO 100 I = 1,N
        A(1,I) = X
        Y = SQRT(X)
        A(J,I) = Y
        Y = SIN(X)
        A(J+1,I) = Y
        Y = ALOG(X)
        A(J+2,I) = Y
        X = X + 0.01
100     CONTINUE

        WRITE (4,404)
404     FORMAT(' END')
        WRITE (4,440)
C                        1         2         3         4         5
C               123456789a123456789b123456789c123456789d123456789e12
440     FORMAT('  #   X         SQRT           SIN            N-LOG')

        DO 110 I = 1,17
        WRITE (4,444) I, A(1,I), A(2,I), A(3,I), A(4,I)
444     FORMAT(I3,F7.3,3X,3(F13.9,2X))
110     CONTINUE

        STOP
        END

#?
#E

.
.R F4
*
*TEST/G$
START
END
 #   X         SQRT           SIN            N-LOG
 1  0.010     0.100000023    0.009999170   -4.605169296
 2  0.020     0.141421377    0.019998097   -3.912022709
 3  0.030     0.173205137    0.029995018   -3.506557941
 4  0.040     0.199999988    0.039988934   -3.218876123
 5  0.050     0.223606824    0.049978864   -2.995732426
 6  0.060     0.244948923    0.059963786   -2.813410758
 7  0.070     0.264575123    0.069942712   -2.659260034
 8  0.080     0.282842695    0.079914629   -2.525728940
 9  0.090     0.299999952    0.089877808   -2.407945394
10  0.100     0.316227674    0.099832785   -2.302585244
11  0.110     0.331662416    0.109777808   -2.207275629
12  0.120     0.346410095    0.119711756   -2.120264172
13  0.130     0.360554993    0.129633784   -2.040220499
14  0.140     0.374165654    0.139542877   -1.966113448
15  0.150     0.387298226    0.149437963   -1.897120475
16  0.160     0.399999916    0.159317374   -1.832582354
17  0.170     0.412310421    0.169181585   -1.771957278

.

The same timing, ~1sec..
PDP-8/XC6 - the Mainframe in '65 :)

I modded the above test such it runs 50x in a loop, thus we can measure the elapsed time better.
Code:
#L
C       SIGH, THOSE WERE THE DAYS
C       MODDED BY PITO 11/2016
C       WE LOOP THE TEST 50X
        DIMENSION A(4,500)
        L = 50
        N = 500
        WRITE (4,400)
400     FORMAT (' START')
        DO 200 M = 1,L
        X = 0.01
        J = 2
        DO 100 I = 1,N
        A(1,I) = X
        Y = SQRT(X)
        A(J,I) = Y
        Y = SIN(X)
        A(J+1,I) = Y
        Y = ALOG(X)
        A(J+2,I) = Y
        X = X + 0.01
100     CONTINUE
200     CONTINUE
        WRITE (4,404)
404     FORMAT(' END')
        WRITE (4,440)
C                        1         2         3         4         5
C               123456789a123456789b123456789c123456789d123456789e12
440     FORMAT('  #   X         SQRT           SIN            N-LOG')
        DO 110 I = 1,17
        WRITE (4,444) I, A(1,I), A(2,I), A(3,I), A(4,I)
444     FORMAT(I3,F7.3,3X,3(F13.9,2X))
110     CONTINUE
        STOP
        END

#?
#E

.
.R F4
*
*SHRUD1/G$
START
END
 #   X         SQRT           SIN            N-LOG
 1  0.010     0.100000023    0.009999170   -4.605169296
 2  0.020     0.141421377    0.019998097   -3.912022709
 3  0.030     0.173205137    0.029995018   -3.506557941
 4  0.040     0.199999988    0.039988934   -3.218876123
 5  0.050     0.223606824    0.049978864   -2.995732426
 6  0.060     0.244948923    0.059963786   -2.813410758
 7  0.070     0.264575123    0.069942712   -2.659260034
 8  0.080     0.282842695    0.079914629   -2.525728940
 9  0.090     0.299999952    0.089877808   -2.407945394
10  0.100     0.316227674    0.099832785   -2.302585244
11  0.110     0.331662416    0.109777808   -2.207275629
12  0.120     0.346410095    0.119711756   -2.120264172
13  0.130     0.360554993    0.129633784   -2.040220499
14  0.140     0.374165654    0.139542877   -1.966113448
15  0.150     0.387298226    0.149437963   -1.897120475
16  0.160     0.399999916    0.159317374   -1.832582354
17  0.170     0.412310421    0.169181585   -1.771957278

.

The result is 58secs, that means 1.16sec single loop.
Not sure we run the Fortran with "27bit precision", but based on the link above this PDP-8/A (XC6) is 18s / 1.16s = 15.5x faster than the original PDP-8/E.
Now, what is the CPU_clk then :?:
PS: Who is using Fortran? http://web.mit.edu/humor/Computers/real.programmers

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Thu Nov 10, 2016 9:02 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Entering in a "valid Date" will show up the file's time-stamps, cool..
Code:
.DATE 10-NOV-86

.
.ASSIGN RKA0: A:
.
.DIR A:

 10-NOV-86

BOOT  .SV   5 05-JUL-85
DIRECT.SV   7 05-JUL-85
FOTP  .SV   8 05-JUL-85
CCL   .SV  18 23-MAY-79
PIP   .SV  11 05-JUL-85
LOADER.SV  12 05-JUL-85
FORT  .SV  25 05-JUL-85
LIB8  .RL  29 05-JUL-85
F4    .SV  20 27-APR-81
PASS2 .SV  20 19-APR-81
PASS2O.SV   5 17-APR-81
PASS3 .SV   8 19-APR-81
RALF  .SV  19 27-APR-81
LOAD  .SV  15 19-APR-81
XYPLOT.RL   9 01-DEC-83
LIBRA .SV  11 19-APR-81
FORLIB.RL 165 09-MAY-81
FRTS  .SV  26 28-AUG-80
NUMBER.RL   5 01-DEC-83
EDIT  .SV  10 23-JUL-80
PLOTLB.RL 195 28-AUG-80
PLOTR .FT   2 28-AUG-80
AXIS  .RL   6 01-DEC-83
PSCALE.RL   4 01-DEC-83
LINE  .RL   3 01-DEC-83
PLOTR .LD  25 28-AUG-80
PAL8  .SV  19 05-JUL-85
BUILD .SV  33 13-JAN-80
TDFRMT.SV   9 05-JUL-85
FORTRN.RL   3
FORTRN.LD  28 10-NOV-86
SHRUDD.FT   3
SHRUD1.FT   3
TEST1 .FT   1 10-NOV-86


2430 FREE BLOCKS


.

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Thu Nov 10, 2016 9:11 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
Haven't you fixed the Y2K bug on there yet? Or is it the Y1K99 bug?

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Thu Nov 10, 2016 9:31 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
After I had spent a few hours reading https://groups.google.com/forum/#!forum/alt.sys.pdp8 (all the gurus there) I learned the OS/8 uses 12bit for the date. I do not understand how they packed in all the 1972-1999 days. Maybe there were less days in that period..
I started to add the LED's. I added ledRUN which shows cpu.run signal. The actual result is the led lits (nice blue one), but that it is all.. It is mainly because I did with verilog and this is vhdl I do not like :) Why the people use vhdl?? Btw, a translator from vhdl to verilog would be handy..
Update: It was not because of the Led, but because I had changed version to PDP-8/E.. It does not start.. Why..

Btw - the same issue as we have got with RetroBSD and LiteBSD - how to mess with file transfers.. This gadget has got something called Kermit12.. :P
To create a file inside Basic or Fortran or Focal is easy - cut and paste via TeraTerm - I am using 50ms char delay and 200ms line delay and it works fine.

And there is Five Words FP package too..
Attachment:
paper-tape-decus-8-103a-four-word-floating-point-routines-function-package-symbolic-420098-small.jpg
paper-tape-decus-8-103a-four-word-floating-point-routines-function-package-symbolic-420098-small.jpg [ 55.99 KiB | Viewed 11786 times ]

Copyright Museum Victoria / CC BY

A list http://pdp-8.org/decus/

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Thu Nov 10, 2016 10:45 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
You should come over to the UK on holiday (quick while you still can) and I'll take you to the computing museum at bletchley park. You'd have a field day...

http://www.tnmoc.org/

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Thu Nov 10, 2016 11:59 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
I've seen almost all the videos on the Tunny and Enigma efforts there :)
The Bombe and Colossus are great machines for that time! 10k chars per second reading the tape, unbelievable..
Why quick :) - are you going to move the isles somewhere into antarctic waters?

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 12:32 am 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
Yep, the brexiteers are poised to cut the cables that moor us to Europe. Once they have gone we'll be adrift on a sea of Trumps.

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 1:05 am 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
May be you would adrift around the Cape of Good Hope..

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 2:10 am 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Small-C for PDP-8.
Not touched since 2012.
http://so-much-stuff.com/pdp8/C/C.php

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 5:03 am 
Contributor

Joined: Mon Apr 29, 2013 1:56 am
Posts: 196
Pito wrote:
I learned the OS/8 uses 12bit for the date. I do not understand how they packed in all the 1972-1999 days. Maybe there were less days in that period..

Microsoft squeezed the time of day into 16 bits in DOS by throwing out odd seconds.
If you do the same with your days, you get close to 12 bits. You could also throw out Sabbaths. :)


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 10:54 am 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
I managed to "edit" a 419 lines large Fortran source. The EDITOR works, with rather smaller edit buffer (a few kW) so it needs to be done per-partes. After each chunk of text you typed in (in my case 3 chunks) you do P K A (save buffer, delete buffer, append new) and at the end E the whole source is saved on the disk.
Copy/paste via TeraTerm works with 115k2 and 1ms char and 200ms line delays fine.. Maybe without.
Update: Nope, the min working transmit delay is 1ms char and 0ms line (115k2 7M2).

Ok, let us try with Kermit, actually Kermit-12. The original RKA0: disk includes it
Code:
K12ENC.SV   6            JUGGLE.RA   3            VOCAB .RL   3
K12DEC.SV   5            RL2FMT.SV   8            USR   .RL   4
K12MIT.SV  33            LOAD  .BI   1            ATEXT .DA 144
K12DJG.SV  33            RXCOPY.SV   9            ADVENT.LD 145
K12DEB.SV   4            FLOP  .HN   3            LOAD  .LS   8
K12ENB.SV   4   

http://www.columbia.edu/kermit/k12doc.html
Btw, CharlesL (CJL) still active on the google group (see the link above).
The main Q: would TeraTerm's Kermit cooperate :?:

Step1: goto linux :) and make the SYS disk
Code:
pito@ubu1604:~/pdp8$ sudo dd if=diag-games-kermit.rk05 of=/dev/sdf seek=0 count=6496
[sudo] password for pito:
6496+0 records in
6496+0 records out
3325952 bytes (3.3 MB, 3.2 MiB) copied, 1.03103 s, 3.2 MB/s
pito@ubu1604:~/pdp8$

Step2: goto win7 into TeraTerm and boot OS/8, then try with K12MIT
Code:
.DIR

ABSLDR.SV   5             TD8EDT.BN   3             DIRXBD.SV  17
..
BASIC .AF   4             DJCLAA.SV  12             K12CLR.BN  42
BASIC .FF   4             DHCMAA.SV  10             K12ENC.BN   6
BASIC .UF   4             DILPAC.SV  24             K12DEC.BN   5
BACKUP.BI   1             DHLSAC.SV  17             K12ENC.SV   6
FLOP1 .BI   2             DHVTCD.SV  16             K12DEC.SV   5
FLOP2 .BI   2             DHDPAC.SV  19             K12MIT.SV  33
FLOP3 .BI   2             D5CG  .SV  17             K12DJG.SV  33
FLOPX8.BI   2             AUVAAA.SV  16             K12DEB.SV   4
CUSPAK.BI   2             AUVBAB.SV  16             K12ENB.SV   4
BOOK  .BI   1             AUVCAA.SV   6             K12MIT.BN  24
RK8E  .SY  50             AUVDAB.SV   9             K12DJG.BN  24
RX8E  .SY  50             AUVEAD.SV   8             K12DEB.BN   3
TC08  .SY  50             INSTR1.SV  14             K12ENB.BN   3
TD8E  .SY  50             INSTR2.SV  11             BASIC .BA  11
HELP  .HL 102             DHKAAB.SV  15             BASIC .SV   9
MRI08A.BN   2             DHKLDA.SV  15             BRTS  .SV  15
OPRATE.BN   2             DHTMAA.SV  17             F4    .SV  20
RANMRI.BN   2             DHTMBA.SV  17             FRTS  .SV  26
NOTFUN.BN   2             DHTMCA.SV  10             PASS2 .SV  20
EAEALL.BN   3             DHTMDA.SV  15             PASS2O.SV   5
EAEDP .BN   2             DHTMEA.SV  15             PASS3 .SV   8
FLOPPY.BN   3             DHTMFB.SV  11             RALF  .SV  19
RF08DS.BN   3             D5DB  .SV   4             LOAD  .SV  16
DF32DS.BN   3             DIRFAA.SV  11             T     .FT   1
RK8EDS.BN   3             D5FA  .SV   5             MY1   .BA   1
RK8DS .BN   3             DHCRAA.SV  10             BASIC .WS   1
TC01DT.BN   4

 405 FREE BLOCKS

.R K12MIT

PS/8 PS/12 OS/8 OS/12 OS/78 OS/278  Kermit-12  V10g   06 September 1990
[Cpu type is: PDP-8/a]

Insert local user message here!

Type HELP<CR> for help

Kermit-8/a>
Kermit-8/a>HELP

Supported commands are:

CONNECT (to remote system)
SEND DEV:FILNAM.EX
RECEIVE DEV: (filename and extension NOT allowed)
GET DEV:FILNAM.EX
FINISH (server)
EXIT (to operating system)
HELP (this message)

Escape character: Control-]

Kermit-8/a>CONNECT

(Connecting to host, type Control-] C to return to PDP-8/a)

C
C

The only issue remains - how tho jump off the K12's Connect session - the Control-] C does not work here :? Any idea?
Also - it might have crashed..


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 12:21 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
Pito wrote:
May be you would adrift around the Cape of Good Hope..


The Cape of No Hope more like ;)

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 1:49 pm 
Committer
User avatar

Joined: Thu Oct 11, 2012 8:45 am
Posts: 1801
Location: Room 217, Floor 8, Arm 8, Wheel S7, Mars Base Alpha 3
alexfru wrote:
Pito wrote:
I learned the OS/8 uses 12bit for the date. I do not understand how they packed in all the 1972-1999 days. Maybe there were less days in that period..

Microsoft squeezed the time of day into 16 bits in DOS by throwing out odd seconds.
If you do the same with your days, you get close to 12 bits. You could also throw out Sabbaths. :)

Discount national holidays too. That'd save a few bits ;)

_________________
Why not visit my shop? http://majenko.co.uk/catalog
Universal IDE: http://uecide.org
"I was trying to find out if it was possible to only eat one Jaffa Cake. I had to abandon the experiment because I ran out of Jaffa Cakes".


Top
 Profile  
 
PostPosted: Fri Nov 11, 2016 6:45 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Frankly, I have not had such big Fun :D since ever (maybe last time as the Sdcard started working fairly fast on the retrobsd)..
A Lot of Fun! :D
While 5th day in the pdp business, my overall confusion starts to rise.. An example is the Kermit stuff, I fully misunderstood the CONNECT command above. I cannot remember whether I worked with Kermit at all..
I learned something else - running such Comm stuff on never existing machines (like pdp-8/a/xc) is not easy. For example the K12 RECEIVE and SEND and GET timeout in 3.5secs, as I can see here. That is about 4secs, 4secs x 15 is 60, that is a minute. So maybe the original pdp/e had waited 1 minute long before it dropped the line.
And the Q is what is the baud setting there and so on..
Maybe the next step should be to learn PAL and to try to compile the K12 sources..

Update: After an intensive search inside our forum I can see we held an intensive research re Kermit exactly 1 year back.. Therefore maybe I've been so confused - thinking the K12 can be run in the kermit's server mode "kermit -x" which might have something to do with "K12 - connect".
I've learned the K12 is just the "other side". What I need is a "kermit" which can do "server mode".. :oops:

Ok, better let us plan a holiday in UK.. I am really interested to see the Bletchley etc. before it all drifts away..

Update1: I have enabled the TTY2 and added another few LEDs - sdCS, RX2, TX2 (the RX1 and TX1 lit already). The TTY2 must be enabled in the OS system as well.

PS: A very good blog https://bigdanzblog.wordpress.com/tag/pdp-8/ by DanTheMan (our contributor too). A pity the latest pdp-8 post at his blog is 2.5y old.. A lack of real HW? :)

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Sat Nov 12, 2016 11:28 am 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
While the tty2 has been enabled in vhdl and the rx tx leds as well, testing it works is not easy. No PEEK and POKE in the Basic here :)
Dan made an intro on his blog how to build a disk image with additional peripherals. Even though I do not know how to quickly test the tty2 works. In meantime I've done at least following - I've found a disk with enabled tty2 (a part of something bigger). After booting up it sends a short blib via tty2, I see the tx led blinks, I see a small chunk of garbage in TT. So far so good..

BTW, the XC6SLX9 FPGA NANO board I use is here:

http://www.ebay.com/itm/Xilinx-XC6SLX9- ... Sw-7RVF8vl

They sell a new revision actually (the picture there is old), 4 layers pcb, FT230x usb/serial, and without the big jtag connector at the short side (a single pin row only instead), as well as an additional header with a few more fpga pins available at the short side too. A lot of components from the bottom side (voltage regs, flash, jtag io buffers, resistors, lots of decoupling caps). The size is 49x72mm so Itead friendly. The pin-headers are 0.1inch. The 2x40pin headers fits in 0.1inch grid (important if you want to stack it in an 0.1inch perfboard), the pin-headers at the short side are little bit off. It would be better they sell it without pin headers soldered in so you may swap the sides. Otherwise perfect quality and it works fine.. :)

Attached are the two crucial files you want in order to become a follower of mine :mrgreen:

For Xilinx ISE 14.7 and the Rob's vhdl source from OpenCores.org:
1. the XC6SLX9 NANO board .ucf file v1.0. (it defines how the signals are routed off the fpga to the real Board)
2. the mini_PDP8A top file v1.0. (the minimal version top level wiring with various config settings for the entire machine, as well as with small changes related to my LEDs).


Attachments:
MINI_PDP8A_XC6SLX9_NANO_BOARD_V1_0.zip [2.98 KiB]
Downloaded 177 times

_________________
Pukao Hats Cleaning Services Ltd.
Top
 Profile  
 
PostPosted: Sat Nov 12, 2016 11:03 pm 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
Code:
.R PASCAL
*TESTS/G

P A S C A L - S   COMPILER V02                        HTL-MOEDLING, 78-11-12


    0  PROGRAM FACT (OUTPUT);
    0  VAR I:INTEGER;
    0      F:REAL;
    0  BEGIN
    0    F:=1.0;
    3    FOR I:=1 TO 10 DO BEGIN
    7      F:=F*I;
   13      WRITELN(F);
   16    END;
   17  END.


KOMPILATION EINWANDFREI!

  1.000000000E+000
  2.000000000E+000
  6.000000000E+000
  2.400000000E+001
  1.200000000E+002
  7.199999999E+002
  5.040000000E+003
  4.032000000E+004
  3.628800000E+005
  3.628800000E+006

.

Code:
.R PFOCAL


DO YOU WANT THE STANDARD FEATURES OF PS/8 FOCAL, 1971?  Y


PROCEED.

*L C LUNAR
*GO
CONTROL CALLING LUNAR MODULE. MANUAL CONTROL IS NECESSARY.
YOU MAY RESET FUEL RATE K EACH 10 SECS TO 0 OR ANY VALUE
BETWEEN 8&200 LBS/SEC. YOU'VE 16000 LBS FUEL ESTIMATED.
FREE FALL IMPACT TIME-120 SECS. CAPSULE WEIGHT-32500 LBS.
FIRST RADAR CHECK COMING UP.


COMMENCE LANDING PROCEDURE.
TIME,SECS   ALTITUDE,MILES+FEET   VELOCITY,MPH   FUEL,LBS   FUEL RATE
        0         120       0         3600.00      16500.0      K=100
       10         110    1191         3436.60      15500.0      K=100
       20         100    4824         3266.87      14500.0      K=100
       30          92     436         3090.39      13500.0      K=300
NOT POSSIBLE...................................................K=30
       40          83    2843         3061.26      13200.0      K=20
       50          75     241         3053.48      13000.0      K=100
       60          66    4342         2866.01      12000.0      K=100
       70          59     690         2670.56      11000.0      K=100
       80          51    5248         2466.53      10000.0      K=100
       90          45    2304         2253.27       9000.0      K=100
      100          39    2560         2030.03       8000.0      K=100
      110          34     889         1795.99       7000.0      K=100
      120          29    2735         1550.21       6000.0      K=100
      130          25    2999         1291.62       5000.0      K=100
      140          22    1877         1018.99       4000.0      K=100
      150          19    4864          730.92       3000.0      K=100
      160          18    1640          425.79       2000.0      K=1
NOT POSSIBLE...................................................K=
      170          17     411          461.79       2000.0      K=100
      180          16    1270          137.69       1000.0      K=100
FUEL OUT AT    190.00 SECS.
ON THE MOON AT    437.38 SECS.
IMPACT VELOCITY OF    682.96M.P.H.
FUEL LEFT: -    0.00 LBS.
SORRY, BUT THERE WERE NO SURVIVORS-YOU BLEW IT!
INFACT YOU BLASTED A NEW LUNAR CRATER    189.71FT. DEEP.
CONTROL OUT
*

Code:
.TYPE TEST.AL
'BEGIN'
'INTEGER' I;
'REAL'    R;
  SKIP(1); TEXT(1,"FACTORIALS"); SKIP(1);
  R:=1.0;
  'FOR' I:=1 'STEP' 1 'UNTIL' 10 'DO'
  'BEGIN'
    R:=R*I;
    RWRITE(1,R,7,3); SKIP(1);
  'END'
'END'$$$

.R RALGOL
LOADER
INPUT FILENAME ?*TEST.AC$
ENDS 0255
FACTORIALS
 +1.000
 +2.000
 +6.000
+24.000
+120.000
+720.000
+5040.000
+40320.000
+362880.000
+3628800.000

^

Code:
.TYPE TEST.PA
/ TYPE CHARACTERS

FIELD  0
*0200
BEGIN,  CLA
        TAD CHAR
        TLS
        TSF
        JMP .-1
        ISZ CHAR
        ISZ COUNT
        JMP BEGIN
        JMP I CP7605
CHAR,   0040
COUNT,  7700
CP7605, 7605
$
.R MACREL
*TEST<TEST.PA/G
NO ERRORS
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_

Code:
.R SV2BN
*ABSLDR<ABSLDR
*$
.R DASM
*ABSLDR.TX<ABSLDR.BN
*$USER ERROR 6 AT 00317
.
.TYPE ABSLDR.TX
/DASM V 1.01 MRM 1/20/74

        *2000
ZZ2000, JMS I   ZZ2177
        JMS I   ZZ2177
        JMP     .+3
        JMP     ZZ2010
ZZ2004, JMS I   ZZ2176
        JMS I   ZZ0174
        AND     ZZ0005
        AND     .+7
ZZ2010, TAD     ZZ0107
        CDF     0000
        DCA I   ZZ0171
        CDF     0010
        TAD I   ZZ0106
        AND     ZZ0156
        SZA CLA
        JMS I   ZZ2177
ZZ2020, 7400
..
ZZ3765, DCA     ZZ3672
ZZ3766, 7645
ZZ3767, AND     ZZ0003
ZZ3770, 7377
ZZ3771, ISZ I   ZZ3760
ZZ3772, AND     ZZ0035
ZZ3773, DCA     ZZ3700
ZZ3774, DCA     ZZ3740
ZZ3775, ISZ     ZZ0104
ZZ3776, ISZ     ZZ0043
ZZ3777, ISZ     ZZ0160
        $END$

.

Code:
.TYPE TEST.P8
/ TYPE CHARACTERS

        RADIX   8
        ORG     0200
BEGIN,  CLA
        TAD     CHAR
        IOT     4,6
        IOS     4,1
        JMP     *-1
        INC     CHAR
        ISZ     COUNT
        JMP     BEGIN
        JMPI    CP7605
CHAR,   0040
COUNT,  7700
CP7605, 7605
.
.R PAGE8
*TEST<TEST.P8

NO HPSORT.7A
<PASS 1>
ERRORS:   0
<PASS 2>
ERRORS:   0

.R ABSLDR
*TEST/G
 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
.

Code:
.TYPE TEST.LI
DEFINE(((LAST (LAMBDA(X)
          (COND ((NULL (CDR X)) (CAR X))
                (T (LAST (CDR X))))
))))
ICLOSE()
.R LISP

IOPEN(SYS TEST LI)

 NIL

 (LAST)

 NIL

May be Wiz could help me with the Lisp..

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Sun Nov 13, 2016 6:20 am 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1091
Hi Pito :),

Amazing!!

I have a book whose title is "The Lessons of Simplicity Applied".

Kinda like you are doing. PDP-8 was simple, easy to understand, easy to program, easy to debug, fun to play with, etc.

It had VERY powerful assembly code particularly from that point of view. IMHO 6502 with the early Apple extensions was also pretty good when looked at that way.

And it seems to me MIPS and maybe Arm are pretty awful when looked at that way, branch slots, large illogical instructions, etc.

Thus I wonder if PDP-8 under RetroBSD would be as easy to use and play with?

It seems to me that that is what you and Serge had in mind with Basic on RetroBSD or even RetroForth on RetroBSD which I liked.

When a box is easy to use, I tend to use it and play with it.

Kinda the opposite of the java world, html5, etc. Multi-megabytes of garbage to accomplish a simple task.

Probably like what this web site downloads?

Thus my question as to whether PDP-8 under RetroBSD makes more sense than one might first think? We still need easy networking though.

Right now it seems as if Linux it taking over the world for those same reasons. That said, MUCH more RAM needed for Linux.

Lots of fun :).

Wiz


Top
 Profile  
 
PostPosted: Sun Nov 13, 2016 10:00 am 
Contributor
User avatar

Joined: Thu Nov 08, 2012 7:04 am
Posts: 2401
Location: Rapa Nui
@Wiz - a simple pdp-8 instruction interpreter (max 4kW ram) is about 150 lines of C and can be certainly run under RetroBSD. I ran it on 20kB ram large stm32F103. The example includes FOCAL69 which is loaded into the 4kW memory via C #include directly. So no support for standard pdp8 peripherals. The feasible option would be to take SIMH, cut off everything not related to pdp8 and try to compile with SmallC. A nice exercise for our experts during long winter evenings :)
A PDP-8 is an amazing machine. Imagine its hw resources and what the people had done with it. The majority of the 190.000 pdp8 machines sold had 4-8kWords of ram only. As I started with DEC my first machine I touched was a 16CPU Alpha 64bit DEC8400 and DEC Corp. was at seep decline. When I traveled around the world and showed my DEC badge we were welcomed everywhere. The immigration officers at the airports let us pass through with an "welcome without any Q" based on the badge, not the passport, everywhere :) In early 90ties DEC was definitely much more admired than the other TLAs even by none technical population. Now I know it was successful because of these pdp machines..

_________________
Pukao Hats Cleaning Services Ltd.


Top
 Profile  
 
PostPosted: Sun Nov 13, 2016 10:38 am 
Contributor

Joined: Mon Nov 12, 2012 1:34 pm
Posts: 1091
Hi Pito,

It is a good idea. Having some way to easily connect "none of the above" peripherals seems to be needed also. Along with easy networking.

One model in my mind is to connect say my door open or closed to the greater web in some easy to use way.

Ease of use seems to be where it is at. Much of the stuff now on the web is in some proprietary format or other. A big pain!

Along these lines a message box / feature would seem pretty handy.

You type me a message and it arrives at my 'always connected machine' and waits for me to look at it.

Whether the message goes VIA internet, HF, VHF or whatever would depend on what 'cards' are plugged in and where connectivity has been found.

Could be pretty easy? And as you say a fun winter project.

Lots of fun :).

Wiz


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 86 posts ]  Go to page Previous  1, 2, 3, 4, 5  Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
cron




Powered by phpBB® Forum Software © phpBB Group

BSD Daemon used with permission