Re: VCF/PNW Exhibit & Trip Report - The Old Calculator Museum

2019-03-29 Thread Johnny Eriksson via cctalk
Noel Chiappa wrote:

> > It has been in use at STACKEN at least since the beginning of the 80ies
> 
> I was meaning before that; somewhere in Scandanavia, I expect? Eh, not that
> important, I guess.

>From Finland.  Sold used by DEC Sweden to Stacken, for 1 SEK (aound 20 cents
at that time).

>Noel

--Johnny

  /\_/\
 ( *.* )
  > ^ <


Re: Microcode, which is a no-go for modern designs

2019-01-06 Thread Johnny Eriksson via cctalk
> Few people (but most are right here) can recite PI to enough digits to 
> reach the level of inaccuracy.   And those who believe that PI is exactly 
> 22/7 are unaffected by FDIV.   (YES, some schools do still teach that!)

Why remember the digits, when a small program can provide them?

  +0un qn"E20Un' 0Uh 0uv HK
  Qn
  Qq/10Ut Qh+Qt+48Uw Qw-58"E48Uw %v' Qv"N:Qv,1^T' QwUv Qq-(Qt*10)Uh>
  :Qv,1^T
  !Can you figure out what this macro does before running it?  It was
  written by Stan Rabinowitz with modifications by Mark Bramhall and
  appeared as the Macro of the Month in the Nov. 1977 issue of the TECO
  SIG newsletter, the "Moby Munger".  For information on the TECO Special
  Interest Group, write to Stan at P.O. Box 76, Maynard, Mass. 01754!

--Johnny


Re: Happy Armed Forces Day 2018

2018-05-21 Thread Johnny Eriksson via cctalk
Fred Cisin  wrote:

> d) The TRULY IMPORTANT issues will never be solved through the use of 
> armed forces:
> big-endian V little-endian
> vi v emacs
> DEC V IBM
> CDC V IBM
> TRS80 V Apple
> Atari V Commodore
> IBM V Apple
> Android V IOS
> Linux V Windoze V MacOS
> number of buttons on a mouse

On the other hand, the fight against the X86 architecture might be done
with the help of arm forces...

--Johnny

  /\_/\
 ( *.* )
  > ^ <


Re: USB Panda Display for klh10 help

2018-04-22 Thread Johnny Eriksson via cctalk
David Griffith  wrote:

> I'm looking for someone who knows TOPS10 / TOPS20 well enough to figure 
> out for me why this test program won't compile.  Once that's done, I can 
> complete the firmware for the USB Panda Display an its support within 
> klh10.  I'll then make more copies of the USB Panda Display board (and 
> maybe overlays) for whoever wants them.

A couple of observations on the following code:

1/ It is written for, and uses TOPS20 syscalls.  If you intend to run this
   under TOPS10 change the syscalls (LITES% and DISMS%) to the equvialent
   TOPS10 counterparts, can be done by including these lines:

   SEARCH UUOSYM

   OPDEF LITES% [LIGHTS]
   OPDEF DISMS% [HIBER]

2/ The program uses the CIRC instruction, which is not present in stock
   DEC processors, and possibly not known to MACRO-10.  You could try

   OPDEF CIRC [247000,,0]

   if that is indeed the problem.

[source code trimmed down]

> David Griffith

--Johnny


Re: 8085 Dissasembly?

2018-04-17 Thread Johnny Eriksson via cctalk
Bill Gunshannon wrote:

> Many of us think that the advent of the x86 architecture is what led to
> masochism.

... or masochism led to the x86 architecture.

> bill

--Johnny


Re: Speed now & then (Space and time?)

2018-04-13 Thread Johnny Eriksson via cctalk
Ethan Dicks  wrote:

> There are times when video instruction makes sense - describing, for
> example, a chemical reaction that produces major visible change in a
> few moments is better to watch than to try to describe.  The vast
> majority of stuff?  Teaching programming?  I don't want to watch 2
> hours of someone editing text... give me words and perhaps a
> screenshot or two if there's something too complicated to simply write
> about.

How about language courses on audio cassettes?

For instance a course on Macro-10, over several of them?

Yes, it does (or at least did) exist.

> -ethan

--Johnny


Re: DL10 documentation

2018-01-09 Thread Johnny Eriksson via cctalk
Lars Brinkhoff  wrote:

> Hello,
> 
> Richard Cornwell wants to implement DL10 for his KA10/KI10 simulator,
> but he doesn't have any documentation for it.  Any leads?

First question is: since the DL10 is a DMA device for a handful of PDP11s,
what is intended at the other (unibus) end of it?

I have found that

  
http://bitsavers.trailing-edge.com/pdf/dec/pdp10/periph/MP00068_DN87_Universal_Comm_System_Front_End_Jan76.pdf

contains the engineering drawings for the DL10.

Also, the tops-10 source file D85INT.MAC (from the unsmon directory)
contains the driver for it.

If the idea is to get more terminal lines, maybe a DC10 scanner would
be an easier starting point.

--Johnny



Re: Which Dec Emulation is the MOST useful and Versatile?

2017-10-30 Thread Johnny Eriksson via cctalk
Lars Brinkhoff wrote:

> Jon Elson wrote:
> > I'm not sure the original DEC PDP-10 (KA-10) used microcode, but the
> > KI-10 did.
> 
> As far as I understand, the PDP-6 (type 166), KA10, and KI10 were
> hardwired.  KL10 and KS10 were microcoded.  The Foonly F1 preceeded and
> influenced the KL10 design.

This is exactly correct.

BTW: they still are...

--Johnny


Re: Unknown 8085 opcodes

2017-01-11 Thread Johnny Eriksson
> I built a disassembler years ago to pick apart captured malware.  By
> now it handles about a dozen ISAs.  While 8080 and 8085 are not on the
> list, Z-80 is; adding 8080 would be a relatively simple thing.  I've
> added that to my to-do list; if someone can point me to 8080/8085
> machine language documentation that would save me some searching (which
> is something I'm not much good at in these days when frickin'
> *everything* is shoehorned into a Web page).

You mean something like this, from another disassembler project:

/*  Intel opcode table  */

static dispblock inteldisp[256] = {
  { 0x00, 1, inst,   0,   "nop" },
  { 0x01, 3, inst,   0,   "lxi b,%2" },
  { 0x02, 1, inst,   0,   "stax b" },
  { 0x03, 1, inst,   0,   "inx b" },
  { 0x04, 1, inst,   0,   "inr b" },
  { 0x05, 1, inst,   0,   "dcr b" },
  { 0x06, 2, inst,   0,   "mvi b,%1" },
  { 0x07, 1, inst,   0,   "rlc" },
  { 0x08, 1, unused, 0,   0 },
  { 0x09, 1, inst,   0,   "dad b" },
  { 0x0A, 1, inst,   0,   "ldax b" },
  { 0x0B, 1, inst,   0,   "dcx b" },
  { 0x0C, 1, inst,   0,   "inr c" },
  { 0x0D, 1, inst,   0,   "dcr c" },
  { 0x0E, 2, inst,   0,   "mvi c,%1" },
  { 0x0F, 1, inst,   0,   "rrc" },
  { 0x10, 2, unused, 0,   0 },
  { 0x11, 3, inst,   0,   "lxi d,%2" },
  { 0x12, 1, inst,   0,   "stax d" },
  { 0x13, 1, inst,   0,   "inx d" },
  { 0x14, 1, inst,   0,   "inr d" },
  { 0x15, 1, inst,   0,   "dcr d" },
  { 0x16, 2, inst,   0,   "mvi d,%1" },
  { 0x17, 1, inst,   0,   "ral" },
  { 0x18, 2, unused, 0,   0 },
  { 0x19, 1, inst,   0,   "dad d" },
  { 0x1A, 1, inst,   0,   "ldax d" },
  { 0x1B, 1, inst,   0,   "dcx d" },
  { 0x1C, 1, inst,   0,   "inr e" },
  { 0x1D, 1, inst,   0,   "dcr e" },
  { 0x1E, 2, inst,   0,   "mvi e,%1" },
  { 0x1F, 1, inst,   0,   "rar" },
  { 0x20, 1, inst,   I85, "rim" },
  { 0x21, 3, inst,   0,   "lxi h,%2" },
  { 0x22, 3, instw,  0,   "shld %a" },
  { 0x23, 1, inst,   0,   "inx h" },
  { 0x24, 1, inst,   0,   "inr h" },
  { 0x25, 1, inst,   0,   "dcr h" },
  { 0x26, 2, inst,   0,   "mvi h,%1" },
  { 0x27, 1, inst,   0,   "daa" },
  { 0x28, 2, unused, 0,   0 },
  { 0x29, 1, inst,   0,   "dad h" },
  { 0x2A, 3, instw,  0,   "lhld %a" },
  { 0x2B, 1, inst,   0,   "dcx h" },
  { 0x2C, 1, inst,   0,   "inr l" },
  { 0x2D, 1, inst,   0,   "dcr l" },
  { 0x2E, 2, inst,   0,   "mvi l,%1" },
  { 0x2F, 1, inst,   0,   "cma" },
  { 0x30, 1, inst,   I85, "sim" },
  { 0x31, 3, inst,   0,   "lxi sp,%2" },
  { 0x32, 3, instb,  0,   "sta %a" },
  { 0x33, 1, inst,   0,   "inx sp" },
  { 0x34, 1, inst,   0,   "inr m" },
  { 0x35, 1, inst,   0,   "dcr m" },
  { 0x36, 2, inst,   0,   "mvi m,%1" },
  { 0x37, 1, inst,   0,   "stc" },
  { 0x38, 2, unused, 0,   0 },
  { 0x39, 1, inst,   0,   "dad sp" },
  { 0x3A, 3, instb,  0,   "lda %a" },
  { 0x3B, 1, inst,   0,   "dcr sp" },
  { 0x3C, 1, inst,   0,   "inr a" },
  { 0x3D, 1, inst,   0,   "dcr a" },
  { 0x3E, 2, inst,   0,   "mvi a,%1" },
  { 0x3F, 1, inst,   0,   "cmc" },
  { 0x40, 1, inst,   0,   "mov b,b" },
  { 0x41, 1, inst,   0,   "mov b,c" },
  { 0x42, 1, inst,   0,   "mov b,d" },
  { 0x43, 1, inst,   0,   "mov b,e" },
  { 0x44, 1, inst,   0,   "mov b,h" },
  { 0x45, 1, inst,   0,   "mov b,l" },
  { 0x46, 1, inst,   0,   "mov b,m" },
  { 0x47, 1, inst,   0,   "mov b,a" },
  { 0x48, 1, inst,   0,   "mov c,b" },
  { 0x49, 1, inst,   0,   "mov c,c" },
  { 0x4A, 1, inst,   0,   "mov c,d" },
  { 0x4B, 1, inst,   0,   "mov c,e" },
  { 0x4C, 1, inst,   0,   "mov c,h" },
  { 0x4D, 1, inst,   0,   "mov c,l" },
  { 0x4E, 1, inst,   0,   "mov c,m" },
  { 0x4F, 1, inst,   0,   "mov c,a" },
  { 0x50, 1, inst,   0,   "mov d,b" },
  { 0x51, 1, inst,   0,   "mov d,c" },
  { 0x52, 1, inst,   0,   "mov d,d" },
  { 0x53, 1, inst,   0,   "mov d,e" },
  { 0x54, 1, inst,   0,   "mov d,h" },
  { 0x55, 1, inst,   0,   "mov d,l" },
  { 0x56, 1, inst,   0,   "mov d,m" },
  { 0x57, 1, inst,   0,   "mov d,a" },
  { 0x58, 1, inst,   0,   "mov e,b" },
  { 0x59, 1, inst,   0,   "mov e,c" },
  { 0x5A, 1, inst,   0,   "mov e,d" },
  { 0x5B, 1, inst,   0,   "mov e,e" },
  { 0x5C, 1, inst,   0,   "mov e,h" },
  { 0x5D, 1, inst,   0,   "mov e,l" },
  { 0x5E, 1, inst,   0,   "mov e,m" },
  { 0x5F, 1, inst,   0,   "mov e,a" },
  { 0x60, 1, inst,   0,   "mov h,b" },
  { 0x61, 1, inst,   0,   "mov h,c" },
  { 0x62, 1, inst,   0,   "mov h,d" },
  { 0x63, 1, inst,   0,   "mov h,e" },
  { 0x64, 1, inst,   0,   "mov h,h" },
  { 0x65, 1, inst,   0,   "mov h,l" },
  { 0x66, 1, inst,   0,   "mov h,m" },
  { 0x67, 1, inst,   0,   "mov h,a" },
  { 0x68, 1, inst,   0,   "mov l,b" },
  { 0x69, 1, inst,   0,   "mov l,c" },
  { 0x6A, 1, inst,   0,   "mov l,d" },
  { 0x6B, 1, inst,   0,   "mov l,e" },
  { 0x6C, 1, inst,   0,   "mov l,h" },
  { 0x6D, 1, inst,   0,   "mov l,l" },
  { 0x6E, 1, inst,   0,   "mov l,m" },
  { 0x6F, 1, inst,   0,   "mov l,a" },
  { 0x70, 1, inst,   0,   "mov m,b" },
  { 0x71, 1, inst,   0,   "mov m,c" },
  { 0x72, 1, inst,   0,   "mov m,d" },
  { 0x73, 1, inst,   0,   "mov m,e" 

Re: PDP-10 Foonex

2017-01-03 Thread Johnny Eriksson
> Appeared here:
> 
> http://github.com/PDP-10/FOONEX

The web says:
  "Initial checkin whilst I figure out what format the files are"

I took a quick look and guessed a little:

  #include 

  typedef unsigned long long w36;

  void pchar(char c)
  {
c &= 0177;
if ((c < ' ') || (c == 0177))
  c = ' ';
putchar(c);
  }

  int main(int argc, char* argv[])
  {
int wnum = 0;
int c1, c2, c3, c4, c5;
w36 w;
int lh, rh;

for (;;) {
  w  = getchar();
  w <<= 8; w |= getchar();
  w <<= 8; w |= getchar();
  w <<= 8; w |= getchar();
  w <<= 4; c5 = getchar();
  if (c5 == EOF)
break;
  w |= (c5 & 0x0f);

  lh = w >> 18;
  rh = w & 077;
  c1 = (w >> 29) & 0177;
  c2 = (w >> 22) & 0177;
  c3 = (w >> 15) & 0177;
  c4 = (w >> 8) & 0177;
  c5 = (w >> 1) & 0177;

  printf("  %6o:  %9llx  %06o,,%06o", wnum, w, lh, rh);
  printf("  %3o %3o %3o %3o %3o  \"", c1, c2, c3, c4, c5);
  pchar(c1); pchar(c2); pchar(c3); pchar(c4); pchar(c5);
  printf("\"\n");
  wnum += 1;
}

return 0;
  }

resulted in:

   0:737  000700,,670  34   0   0  33  " "
   1:  21f30  00,,4174600   0   4  37  30  " "
   2:  894e5ba78  422471,,335170  104 123 113  72  74  "DSK:<"
   3:  8d3e7ce8a  432371,,747212  106 117 117 116 105  "FOONE"
   4:  b0fa1c882  541750,,344202  130  76 103 110 101  "X>CHA"
   5:  9f4d74d82  476465,,646602  117 123  56 115 101  "OS.MA"
   6:  86ed9b972  415666,,334562  103  73  63  71  71  "C;399"
   7:  0  00,,000   0   0   0   0  " "

  [snip]

 777:  0  00,,000   0   0   0   0  " "
1000:  774e94374  356472,,241564   73 123 122 103  72  ";SRC:"
1001:  794ecd35c  362473,,151534   74 123 131 123  56  "CH"
1004:  833e9ae9a  406372,,327232  101 117 123  56 115  "AOS.M"
1005:  830d73372  406065,,631562  101 103  56  63  71  "AC.39"
1006:  6e810375a  335004,,033532   67  40  40  67  55  "7  7-"
1007:  9b87cad70  467037,,126560  115 141 171  55  70  "May-8"
1010:  62818b974  305006,,134564   61  40  61  71  72  "1 19:"
1011:  66d5d346c  315527,,232154   63  65  72  64  66  "35:46"
1012:  58822e4d2  261010,,562322   54  40 105 144 151  ", Edi"
1013:  e88317940  721014,,274500  164  40 142 171  40  "t by "
1014:  9b361cd1a  466330,,346432  115 115 103 115  15  "MMCM "

  [and so on]

Looks like a tape in core-dump format with a header page.

Should be kindof trivial to process these into plain text automagically.

--Johnny


Re: PDP-6s at MIT

2016-12-22 Thread Johnny Eriksson
> Did the original KA10 have XCT too?

XCT is present in all PDP-10 processors.  From the KI10 and onwards it
includes PXCT, since these have the concept of a previous context...

Given a pager for the KA10 PXCT would make sense there.

>  Noel

--Johnny