5 ms·
Bonus trivia: those "Raw, unadorned, inscrutable hexadecimal numbers"? Those would not have been the 0-9a-f we're familiar with today, but 0-9fgjkqw[1]! [1]: h
by naniwaduni 4y ago
Bonus trivia: those "Raw, unadorned, inscrutable hexadecimal numbers"? Those would not have been the 0-9a-f we're familiar with today, but 0-9fgjkqw[1]!
[1]: http://ed-thelen.org/comp-hist/lgp-30-man.html#R4.13 http://ed-thelen.org/comp-hist/lgp-30-man.html#R4.13
- ragnot 4y agoI've never heard of this. Was this just a quirk of the LGP-30?
- Anarch157a 4y agoProbably not. Look at your keyboard. Those are the keys on the right side of the home row. They probably used them because it was easier and quicker to type than 'abcdef'.
- masklinn 4y ago> Those are the keys on the right side of the home row. Why would you want that alongside numbers which are either two rows up or to the side? Unless the keyboard was something like USPS’s which has numbers as an alternate mode on the home row, and thus made this layout sensible? But that would still make it a quirk of the system. Edit: yeah it was absolutely a quirk of the LPG-30, per a sibling comment: http://laboratorium.net/archive/2008/04/28/a_few_facts_about_the_lgp30 http://laboratorium.net/archive/2008/04/28/a_few_facts_about...
- taneq 4y agoWhat keyboard layout do you use? Q and L sure aren't in the home row on a QWERTY keyboard unless you're one of those sales guys that only ever types TYPEWRITER. :P
- tjoff 4y agoI'm disgusted... What was the motivation for that?
- maccard 4y agoI found this [0] which says that the layout of the LGP-30 Flexowriter (linked in the article) conformed to fgjkqw, so it may be related. [0] http://laboratorium.net/archive/2008/04/28/a_few_facts_about_the_lgp30 http://laboratorium.net/archive/2008/04/28/a_few_facts_about...
- kps 4y agoFrom https://ub.fnwi.uva.nl/computermuseum//DWcodes.html#A077 https://ub.fnwi.uva.nl/computermuseum//DWcodes.html#A077 the Flexowriter character code was: +----------------------------------------------+ | 00 20 40 60 00 20 40 60 | (1) triangle +--------------------+ +--------------------+ (2) pi | RE NL ST | 00 | RE NL ST | (3) sigma | z i p h | 01 | Z I P H | | 0 4 8 j | 02 | ) (1) (3) J | BS Back Space | SP / o | 03 | SP ? O | COL COLor | LC BS | 04 | LC BS | DEL DELete | b d e c | 05 | B D E C | HT Horizontal Tab | l 5 9 k | 06 | L % ( K | LC Lower Case | - . x | 07 | _ ] X | NL New Line | UC HT | 10 | UC HT | RE REad | y n u a | 11 | Y N U A | SP SPace | 2 6 f q | 12 | * $ F Q | ST STop | + , | 13 | = [ | UC Upper Case | COL | 14 | COL | | r m t s | 15 | R M T S | | 3 7 g w | 16 | " (2) G W | | , v DEL | 17 | : V DEL | +--------------------+ +--------------------+ | lower case upper case | +----------------------------------------------+ Taking bits 2–5 gives you: 0 l 2 3 4 5 6 7 8 9 f g j k q w
- drfuchs 4y agoThe convention of using "ABCDEF" didn't get established until well after the LGP-30 was designed in the 1950's. The Wikipedia entry on "Hexadecimal" says "The now-current notation using the letters A to F establishes itself as the de facto standard beginning in 1966, in the wake of the publication of the Fortran IV manual for IBM System/360, which (unlike earlier variants of Fortran) recognizes a standard for entering hexadecimal constants." The comments elsewhere that note the layout of the Flexowriter character set risk conflating cause with effect. The single-character mnemonics for the sixteen hardware instructions were chosen by the LGP-30 designers to be, well, mnemonic; and then the remaining characters FGJKQW were left to represent the values ten through fifteen. This then forced the assignment of character positions for the Flexowriter device, so that no table lookup would be required when reading opcode mnemonics and also when reading hex numbers; all bits could just be shifted into place in both cases. Trigger warning: The phrase we were taught was standard in the LGP community to help remember FGJKQW was, I'm afraid, "For Good Jokes, Kill Quiet Women." This seems to have been excised from the written lore fairly early on, as search engines have no record of it.
- drfuchs 4y agoThe reason for FGJKQW is simple: Look at the list of single-letter mnemonics for the 16 opcodes (called “orders” in the manual you cite). Sort them alphabetically, and look for the first six letters that are unused. Viola! (Of course, the problematic letter O is skipped, and for some reason, V as well.) That’s how it was explained to me in 1973 by Mr. Willoughby, a math teacher who also taught Computer Programming in my high school. We didn’t actually have an LGP30, but he had learned on one, and graded our programs handed in written on paper. Fortunately, this was only for the first half of the class; after we learned this machine language, we graduated to a higher-level language, Neat3, for the NCR (yes, the cash register company) Century 100, one of which the school district did own. Subsequent assignments were handed in on punchcards and actually compiled and run. By the teacher. After school. So you’d get back your compile error the next day, or if you were more fortunate, your output. If your program compiled and ran and gave the right answer the first time, you’d get a grade of 100. Then 97, 94, 91, etc. It was quite the motivation for carefully planning things out ahead of time. And his reason for starting with machine language? “Well, you can’t expect anyone to understand what’s really going on in higher-level languages if you don’t know what’s happening underneath, right?” Worked for me.
- deleted 4y ago[deleted]
- mlyle 4y ago> And his reason for starting with machine language? “Well, you can’t expect anyone to understand what’s really going on in higher-level languages if you don’t know what’s happening underneath, right?” Worked for me. I teach a middle school class called "Computer Organization and Design". It's basically from gates and truth tables, up to implementing ALU functions, to understanding bits of sequential logic... then some handwavy computer architecture stuff to save time, and finally on to handing out a simplified, reduced-instruction ARMv7 THUMB machine language reference, and students writing their own programs on paper and assembling them. There's a couple digital logic labs in there, and finally they get their own little computers with a simple monitor program that lets them enter programs, single step, and view registers. I wasn't sure how reaction would be. Many of the students love it. Middle school students seem to do pretty good at this stuff, too-- their memory of learning arithmetic is recent enough that learning a bunch of new similar rules (combinatorial operations, multiplexing, hexadecimal, instruction encodings, etc) seems simple. And, well, no one told them this stuff is often considered "hard."
- dzdt 4y agoIts even worse. The keyboard (as normal for typewriters of the day) had no numeral '1'. Instead you would type a lower-case 'L'. So the actual hex encoding is 0L23456789FGJKQW.
- masswerk 4y agoThis was partly because letters also served as instruction codes with some mnemonic aspects to them. (This is also found on early Univacs. Coincidentally, Stan Frankel, the designer of the LGP-30, came from Eckert’s and Mauchly’s team.) As in: b - bring from memory (load into AC) h - hold and store (deposit AC in memory) c - clear and store (deposit AC and set it to zero) y - store address (store AC as operand) u - unconditional transfer (jump) r - return address (stores PC+2 as operand at given address) t - test (conditional transfer on AC negative) z - stop (break point in operand) p - print i - input a - add s - subtract m - multiply (most significant bits of result in AC) n - multiply (least significant bits of result in AC) d - divide e - extract (mask, logical AND) This left only a limited set for hexadecimal encoding, namely f, g, j, k, q, w. (And yes, "l" is 1, since Flexowriters weren't invented as computer terminals, rather they are electric typewriters with a potential for automatization.) Since hexadecimal was used for operands, which were actually addresses on the magnetic drum given by track and sector numbers in binary, which in turn resulted in a rather interesting single-word instruction format, this further complication may not have mattered much. Compare https://www.masswerk.at/nowgobang/2019/lgp-30 https://www.masswerk.at/nowgobang/2019/lgp-30