STAR was dead on with the dashpot... it gets dirty with paper dust, oil from the mechanisms, and oily chad which gets everywhere.
This simplified shock absorber gets out of alignment due to the constant slamming of the printhead back to the left side for every RETURN.
I think 2 screws on top of the cup mounted on the frame get loose and you simply need to align it so the DASH plunger slids in freely... also adjust the sliding handle thats over the vent hole on the right so you hear that nice PHISSHH sound after every RETURN.
I remember a manual paper tape reader that me and Don Harrison hard wired it into an original IMSAI computer as we were tired with the teletype's 110 baud slow rate. We were amazed when we manally loaded the program and then started pulling the tape through the reader and the data appeared on the screen. The data was read by photocells under the tape and since the feedhole was smaller it was used to clock the data into the computer.
And yes, my ASR still works but is in the attic and the EX got it along with the house...
@FlyByPC...I have heard about FreeBASIC and might give it a try sometime. I used GWBasic here as it was from about the right era for the program. FreeBASIC says on its website that it is very compatible with QuickBASIC which I worked with a bit. I'll put FreeBASIC on my ever-growing list of things to do. I need to win the lotto and retire so I can get time for all the interesting stuff... :-)
It's nice that GWBASIC is still available, but you ought to check out FreeBASIC. It can be set to accept old-school GWBASIC syntax, but has a lot more modern capabilities, as well -- arrays of up to 2GB or so, high-resolution graphics in true color, user-defined types, and structured programming (functions, subroutines, etc.)
I use FreeBASIC with FBIDE: http://fbide.freebasic.net/
@betajet: "Thank you for contributing this week's dose of nostalgia."
You're welcome! When I'm not reading SciFi I'm reading history.
@betajet: "A Pascal semicolon is a statement separator. You put it between statements. Thou shalt never place a semicolon in front of "else". In contrast, a C semicolon is a statement terminator."
Coming from a PL/I background I probably thought of it as a terminator, thinking of "else" as a separate statement (line). My brief encounter with Pascal was 30-some-odd years ago.
I try to write code so I can follow it a later time (somewhat self-documenting), using indenting. I would write: if (x >= 0) y = x; else y = -x; in two lines as:
if (x >= 0) y = x; else y = -x;"
I can see how if you read the Pascal statement from left-to-right it's almost a complete sentence, not broken down into separate steps like above:
if x >= 0 then y:= x else y:= -x
but, "OTOH, in C you can write "y = x >= 0? x: -x;" is great for compact syntax and saving space back when disk space was dear. But hey, it was written by system programmers looking for something between assembler and a high level language. I hope to learn it and play with it some day (I like the bit where you can stuff in some assembler or machine code in-line; a hacker's dream (from the original def of hacker).
@Stargzer: If it's not returning, I'm not sure what the problem is.
If you type characters you can see them on the paper (very faint because the ribbon is 30 years old -- I iave to pick up a new one when I get round to it) -- but when you hit the return key, the carriage returrns but there's no line feed, which there shoudl be when you are manually typing on the keyboard.
The Betajet wrote: in C you can write "y = x >= 0? x: -x;" which much nicer than Pascal.
Flurmy wrote: Yuk! That's exactly what I try to avoid like hell.As you said, chacun a son goût, but I think I'm in good company. MISRA and alike strictly forbid mumbo jumbo like this.
Well, I learned LISP before I learned C. LISP's fundamental conditional operator is COND, which is an extended version of "a? b: c". LISP is a great language for reasoning about programs, and proving that they work. (For best results, use equivalent mathematical notations rather than lots of parentheses.) "a? b: c" is also a great notation for writing multiplexers in Verilog.
I'm puzzled that some people don't like "a? b: c", but I accept that some people would rather write Basic or Fortran :-)
betajet: in C you can write "y = x >= 0? x: -x;" which much nicer than Pascal.
Yuk! That's exactly what I try to avoid like hell. As you said, chacun a son goût, but I think I'm in good company. MISRA and alike strictly forbid mumbo jumbo like this.
If their program got into a loop (but not a hard Sys) and printed one character and a page feed continuously, well, there would be a pile of scrap paper.
I worked on a CDC6600 via punched cards and batch processing. When, hours later, I went to pick up the result of my program I met a friend who told me: "Ha, ha, ha! Someone printed a pile of paper so high full of numbers! Ha, ha, ha!" Surprise: someone was... me! I mistakenly swapped the job control cards, putting the "load and run" before the "link" one. obviously the "program" crashed violating the memory fence and I got the dump of the whole memory in octal (each location was 60 bits, i.e. 20 octal digits)...