Re: [Simh] Question about card readers.

2016-05-26 Thread Paul Koning

> On May 26, 2016, at 6:05 PM, Clem Cole  wrote:
> 
> 
> On Thu, May 26, 2016 at 4:56 PM, Mark Pizzolato  > wrote:
> I agree.  If this whole discussion is about if a simulated card reader device
> interface should try to magically correct for garbage input (i.e. lines longer
> than card images), then I suggest that the best simulation is to behave as
> closely to how real systems worked. 
> 
> ​The question of what real systems did is open.  IIRC TSS as a system read in 
> all 80 columns, ​but as was pointed out the FTN compiler ignored them.   But 
> not all of them did.   I still have the algol-w compiler source around 
> somewhere in PL/360 -- which might give you a hint

I have never heard of any device that wouldn't give you 80 columns.  Even 
limited systems like the 1620 which believed that the only I/O encoding was the 
one it implemented didn't do any such thing.

I just remembered one example of an 80 column card with something beyond column 
80, but that isn't really relevant to computer I/O and I don't think computers 
paid attention. That is the verifying mode of some keypunches (model 129?) 
where successful verification of the card would cause it to be marked with a 
punch in "column 81".  

paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Clem Cole
On Thu, May 26, 2016 at 4:56 PM, Mark Pizzolato  wrote:

> I agree.  If this whole discussion is about if a simulated card reader
> device
> interface should try to magically correct for garbage input (i.e. lines
> longer
> than card images), then I suggest that the best simulation is to behave as
> closely to how real systems worked.
>

​The question of what real systems did is open.  IIRC TSS as a system read
in all 80 columns, ​but as was pointed out the FTN compiler ignored them.
But not all of them did.   I still have the algol-w compiler source around
somewhere in PL/360 -- which might give you a hint
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Mark Pizzolato
On Thursday, May 26, 2016 at 1:37 PM, Paul Koning wrote:
> > On May 26, 2016, at 4:34 PM, Quentin North 
> wrote:
> >
> > I wonder whether OP is referring to a situation where there is a 96 
> > character
> > line, such as a programming language statement, and that the first 80
> > characters would be on a card and then the remaining 16 characters would
> > be on the next card but with a continuation character in, say, column 1.
> 
> > Fortran and some other languages certainly had the notion of continuation
> > cards, but then the statement length was pretty much unlimited, certainly a
> > whole lot more than 96 characters.  In any case, that has no bearing on the
> > I/O device (real or emulated), cards still only deal with 80 character 
> > records.

I agree.  If this whole discussion is about if a simulated card reader device 
interface should try to magically correct for garbage input (i.e. lines longer 
than card images), then I suggest that the best simulation is to behave as 
closely to how real systems worked.  Specifically, they'd pass garbage input 
in (truncated to the card image size for the specific device) and you'd get 
garbage output.  The user would have to puzzle out, just like they originally 
did if they typed what they thought was part of a Fortran statement past 
column 72.  Automatically wrapping extra-long lines may or may not be 
the right thing to do VERY MUCH depending on the context of the data 
being wrapped.

That said, it would certainly be completely reasonable for a simulated 
device to read and analyze all of the input is being asked to process when 
an input file is "ATTACH"ed.  If problems in the data are observed, the attach 
could fail with appropriate diagnostic details being emitted.

- Mark
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Paul Koning

> On May 26, 2016, at 4:34 PM, Quentin North  wrote:
> 
> I wonder whether OP is referring to a situation where there is a 96 character 
> line, such as a programming language statement, and that the first 80 
> characters would be on a card and then the remaining 16 characters would be 
> on the next card but with a continuation character in, say, column 1. 

Fortran and some other languages certainly had the notion of continuation 
cards, but then the statement length was pretty much unlimited, certainly a 
whole lot more than 96 characters.  In any case, that has no bearing on the I/O 
device (real or emulated), cards still only deal with 80 character records.

paul


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Quentin North
I wonder whether OP is referring to a situation where there is a 96 character 
line, such as a programming language statement, and that the first 80 
characters would be on a card and then the remaining 16 characters would be on 
the next card but with a continuation character in, say, column 1. I seem to 
recall that this was common in RPG-ii, Fortran and cobol when I was a kid. 

Found a reference at 
http://www.edwardbosworth.com/MY3121_LectureSlides_HTML/IBM370_ProgrammingEnvironment.htm

Here is a card with column markings appropriate for FORTRAN programs.
Again, it has 12 rows, ten of which are labeled.

Note the division of columns into fields appropriate for the language
Columns 1 – 5:   Either a “C” for comment or a five digit statement 
label
Column 6:   Any nonblank character to indicate a 
continuation card
Columns 7 – 72: The FORTRAN statement
Columns 73 – 80:   The card’s collating sequence.

Sent from my iPad

On 26 May 2016, at 20:29, Rich Alderson  wrote:

>> Date: Wed, 25 May 2016 19:54:22 -0400
>> From: Richard Cornwell 
> 
 Date: Wed, 25 May 2016 18:07:15 -0400
 From: Richard Cornwell 
> 
 I am asking for feedback on how to handle Punched card input. I am
 wondering about how to handle the case of reading a greater then 80
 character record on a 80 character punch card. Should characters beyond
 the end of the card be truncated, or should they continue on the next
 card.
> 
   Any ideas?
> 
>   [I wrote:]
> 
>>> Would you mind expanding on the query a bit?  Since an 80-column card
>>> can't store more than 80 characters' worth of data, how can there be
>>> anything to be truncated or continued in a read?
> 
>>  Sometimes there is extra stuff in a line, or sometimes records come
>>  from other sources. For example the IBM 7090 used 84 character
>>  records on tape. But the native reader could only read in 72 columns.
>>  Sometimes when editing a file, you end up putting blanks at the end
>>  of the line, that you might miss.
> 
>>  One use for producing longer then 80 character records at a punch
>>  would be to include the stacker information at the end of the record.
>>  The deck could then be read directly back in without manual editing.
> 
>>  I am going to be adding card reader/card punch support to my KA10
>>  simulator soon now and wanted to get some feedback on how to handle
>>  this.
> 
> "Extra stuff in a line"?  "Records on tape"?  Color me confused.
> 
> I began my programming career on an IBM 1401 using 80-column Hollerith
> cards and a 132-column 1403 printer, so I have some experience with fixed-
> width devices.
> 
> A card is 80 columns wide.[1]  (OK, there were special purpose 51-, 60-, and
> 66-column cards, but the data on them would fit into 80 columns.)  There is
> no way to put more than 80 columns of data onto a Hollerith card.
> 
> Tape is a different medium, and has nothing to say about how cards behave.
> (By the way, I had a look at the IOCS manual for the 7090, and the only
> reference I see to "84 character records" on tape refers specifically to
> tape labels, which are metadata on the tape, and not even required.)  The
> fact that the card reader only passed 72 columns' worth of data to the
> processor again has nothing to do with how many columns of data are present.
> 
> I agree with Bob about adding metadata to the card image, so nothing's
> needed for that.  Recording "column binary" data in 160 characters is an
> implementation decision, but it does not mean that there are more than 80
> columns on the physical card which is represented.
> 
> So what do you mean by "extra stuff on a line"?  There are no lines, only
> 80-column cards.  What are you trying to represent here?
> 
>Rich
> 
> [1] OK, there are the Univac "90-column" cards, which are the same
>dimensions as the IBM Hollerith card.  They record 90 6-bit characters
>across 45 columns, upper and lower halves of the card.  The holes are
>circular and larger than the rectangular IBM holes.  They would have to
>be special-cased in SimH.
> ___
> Simh mailing list
> Simh@trailing-edge.com
> http://mailman.trailing-edge.com/mailman/listinfo/simh
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread khandy21yo
I once saw a IBM punch card that was small as a playing card, had three rows of 
8? Punches, and held more than 80 characters. The operators actually used them 
as playing cards.


Sent from my Galaxy Tab® A Original message From: Robert 
Armstrong <b...@jfcl.com> Date: 05/26/2016  1:55 PM  (GMT-07:00) To: 
simh@trailing-edge.com Subject: Re: [Simh] Question about card readers. 
> IBM 96-column cards ... the IBM System/3 and perhaps other

  And UNIVAC had a 90 column card for a long time.  It looked something like a 
traditional Hollerith card but had round punches and two rows of six bit 
characters.

Bob
 


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Robert Armstrong
> IBM 96-column cards ... the IBM System/3 and perhaps other

  And UNIVAC had a 90 column card for a long time.  It looked something like a 
traditional Hollerith card but had round punches and two rows of six bit 
characters.

Bob
 


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Alan Frisbie

On 05/26/2016 12:29 PM, Rich Alderson wrote:


A card is 80 columns wide.[1]  (OK, there were special purpose 51-, 60-, and
66-column cards, but the data on them would fit into 80 columns.)  There is
no way to put more than 80 columns of data onto a Hollerith card.

...  Rich

[1] OK, there are the Univac "90-column" cards, which are the same
 dimensions as the IBM Hollerith card.  They record 90 6-bit characters
 across 45 columns, upper and lower halves of the card.  The holes are
 circular and larger than the rectangular IBM holes.  They would have to
 be special-cased in SimH.


You are forgetting the late-in-the-game (1969) IBM 96-column cards that
used the little tiny holes in an almost square card.   They were used
on the IBM System/3 and perhaps others, but only had six bits per character
(upper case only).

Alan Frisbie
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Rich Alderson
> Date: Wed, 25 May 2016 19:54:22 -0400
> From: Richard Cornwell 

>>> Date: Wed, 25 May 2016 18:07:15 -0400
>>> From: Richard Cornwell 

>>> I am asking for feedback on how to handle Punched card input. I am
>>> wondering about how to handle the case of reading a greater then 80
>>> character record on a 80 character punch card. Should characters beyond
>>> the end of the card be truncated, or should they continue on the next
>>> card.

>>>Any ideas? 

   [I wrote:]

>> Would you mind expanding on the query a bit?  Since an 80-column card
>> can't store more than 80 characters' worth of data, how can there be
>> anything to be truncated or continued in a read?

>   Sometimes there is extra stuff in a line, or sometimes records come
>   from other sources. For example the IBM 7090 used 84 character
>   records on tape. But the native reader could only read in 72 columns.
>   Sometimes when editing a file, you end up putting blanks at the end
>   of the line, that you might miss. 

>   One use for producing longer then 80 character records at a punch
>   would be to include the stacker information at the end of the record.
>   The deck could then be read directly back in without manual editing. 

>   I am going to be adding card reader/card punch support to my KA10
>   simulator soon now and wanted to get some feedback on how to handle
>   this.

"Extra stuff in a line"?  "Records on tape"?  Color me confused.

I began my programming career on an IBM 1401 using 80-column Hollerith
cards and a 132-column 1403 printer, so I have some experience with fixed-
width devices.

A card is 80 columns wide.[1]  (OK, there were special purpose 51-, 60-, and
66-column cards, but the data on them would fit into 80 columns.)  There is
no way to put more than 80 columns of data onto a Hollerith card.

Tape is a different medium, and has nothing to say about how cards behave.
(By the way, I had a look at the IOCS manual for the 7090, and the only
reference I see to "84 character records" on tape refers specifically to
tape labels, which are metadata on the tape, and not even required.)  The
fact that the card reader only passed 72 columns' worth of data to the
processor again has nothing to do with how many columns of data are present.

I agree with Bob about adding metadata to the card image, so nothing's
needed for that.  Recording "column binary" data in 160 characters is an
implementation decision, but it does not mean that there are more than 80
columns on the physical card which is represented.

So what do you mean by "extra stuff on a line"?  There are no lines, only
80-column cards.  What are you trying to represent here?

Rich

[1] OK, there are the Univac "90-column" cards, which are the same
dimensions as the IBM Hollerith card.  They record 90 6-bit characters
across 45 columns, upper and lower halves of the card.  The holes are
circular and larger than the rectangular IBM holes.  They would have to
be special-cased in SimH.
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-26 Thread Bob Supnik
There is a proposed card reader library (not mine) in the GitHub 
repository, which you could try.


On the 1401, the handling is as follows:

1. The card reader buffer is 2*CBUFSIZE + 1, where CBUFSIZE is an 
internal SimH constant for buffer size. The buffer is zeroed before a read.
2. The card is read with fgets (buf, CBUFSIZE/2*CBUFSIZE, file), 
depending on whether the data is text or column binary.  This guarantees 
that there is a null at the end of the string, because the buffer is one 
character longer than the maximum read.
3. The card reader then picks up 80/160 characters to process and 
discards the rest.


The 7094 card reader behaves the same way.

So...

If the line is less than 256 characters, it is read in its entirety. Any 
characters beyond 80/160 are discarded.


If the line is 256 characters or more, 255 characters are read. Any 
characters beyond 80/160 are discarded. However, the rest of the line 
will be read by the next "read card".


In general, card lines are expected to be no more than 80 characters 
(text) or 160 characters (column binary). If presented with a long input 
line, the card reader simulator can do what it wants, but I think 
discarding the excess characters is correct.


I'm not in favor of putting metadata into card files. Multiple stackers 
can be implemented by having a separate file for each stacker bin.


In general, card readers were very rare on DEC equipment, and card 
punches even more so - even on PDP-10s.


/Bob

On 5/26/2016 12:00 PM, simh-requ...@trailing-edge.com wrote:

--

Message: 1
Date: Wed, 25 May 2016 18:07:15 -0400
From: Richard Cornwell
To:simh@trailing-edge.com
Subject: [Simh] Question about card readers.
Message-ID: <20160525180715.56de6419@hobbit>
Content-Type: text/plain; charset=US-ASCII

Hello all,

I am asking for feedback on how to handle Punched card input. I am
wondering about how to handle the case of reading a greater then 80
character record on a 80 character punch card. Should characters
beyond the end of the card be truncated, or should they continue on
the next card.

Any ideas?

Rich


___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-25 Thread Cory Smelosky

On Wed, 25 May 2016, Richard Cornwell wrote:


 I am going to be adding card reader/card punch support to my KA10
 simulator soon now and wanted to get some feedback on how to handle
 this.



What's the current state of the KA/KI sim?  Wondering if the KI will boot 
TOPS-10 to attempt to assemble TENEX...;)


Unsure how I'd get files in...;)


Rich




--
Cory Smelosky
http://gewt.net Personal stuff
http://gimme-sympathy.org Projects
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-25 Thread Richard Cornwell
Hi Rich

> > Date: Wed, 25 May 2016 18:07:15 -0400
> > From: Richard Cornwell 
> 
> >I am asking for feedback on how to handle Punched card input. I
> > am wondering about how to handle the case of reading a greater then
> > 80 character record on a 80 character punch card. Should characters
> >beyond the end of the card be truncated, or should they continue
> > on the next card. 
> 
> >Any ideas? 
> 
> Hi, Rich,
> 
> Would you mind expanding on the query a bit?  Since an 80-column card
> can't store more than 80 characters' worth of data, how can there be
> anything to be truncated or continued in a read?

  Sometimes there is extra stuff in a line, or sometimes records come
  from other sources. For example the IBM 7090 used 84 character
  records on tape. But the native reader could only read in 72 columns.
  Sometimes when editing a file, you end up putting blanks at the end
  of the line, that you might miss. 

  One use for producing longer then 80 character records at a punch
  would be to include the stacker information at the end of the record.
  The deck could then be read directly back in without manual editing. 

  I am going to be adding card reader/card punch support to my KA10
  simulator soon now and wanted to get some feedback on how to handle
  this.

Rich

-- 
==
Richard Cornwell
sky...@sky-visions.com
http://sky-visions.com
LinkedIn:   https://www.linkedin.com/in/richard-cornwell-991076107
==

___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh

Re: [Simh] Question about card readers.

2016-05-25 Thread Rich Alderson
> Date: Wed, 25 May 2016 18:07:15 -0400
> From: Richard Cornwell 

>I am asking for feedback on how to handle Punched card input. I am
>wondering about how to handle the case of reading a greater then 80
>character record on a 80 character punch card. Should characters
>beyond the end of the card be truncated, or should they continue on
>the next card. 

>Any ideas? 

Hi, Rich,

Would you mind expanding on the query a bit?  Since an 80-column card can't
store more than 80 characters' worth of data, how can there be anything to
be truncated or continued in a read?

Rich


Rich Alderson
Vintage Computing Sr. Server Engineer
Vulcan, Inc.
505 5th Avenue S, Suite 900
Seattle, WA 98104

mailto:ri...@livingcomputermuseum.org

http://www.LivingComputerMuseum.org/
___
Simh mailing list
Simh@trailing-edge.com
http://mailman.trailing-edge.com/mailman/listinfo/simh