89

Short Answer: BCD rules over a single byte integer. The claim that programs stored dates as two ASCII or similar characters because computers were limited in resources seems wrong to me The point wasn't about using ASCII or 'similar', using only two decimal digits. That can be two characters (not necessary ASCII) or two BCD digits in a single byte. ...


51

I programmed in Cobol for nearly 20 years at the start of my career and it was quite common to see two digit years used. Initially this was due to storage concerns - not necessarily only memory, but disk storage also. Cobol has no intrinsic date field. It was very common to store dates in Cobol like: 01 EMP-HIRE-DATE. 03 EMP-HIRE-DATE-YY PIC 99. ...


39

Specifically concerning EISPACK. what happened was that James Hardy "Jim" Wilkinson in the UK (whose career as an applied mathematician started with practical ballistic modelling in WWII, working with Turing and other computing pioneers, and continued for the rest of his life at the UK National Physical Laboratory, not in some academic ivory tower) ...


24

To add to Raffzahn's answer, here's an example from a 1958 book on data processing: … The names of authors are coded in columns 11-14. The first four consonants of the name form the code. The last two digits of the year of the reference are punched directly into columns 15-16. The journal, or other source for the reference, is coded in columns 17-20. … (...


14

Delphi 1.0 was released Feb 14, 1995. By my (now somewhat foggy) recollection, research / experimentation that directly contributed to defining the Delphi visual development experience started around 1992. The research group included some folks who had previously worked at Xerox Parc Place on human-machine interface design and theory, as well as the Turbo ...


12

There are actually still RTC chips on the market which store the year only as a pair of BCD digits, and do not have a century field. These are usually packed into one byte when read, in common with the fields for day-of-month, month-of-year, hour, minute, and second. The same format is used for the alarm settings. Old software using these chips would ...


10

I believe that the intent is that, since UNRAVEL is intended as a tool for building raw-memory interpretation programs (dump analyzers), then the main use of non-decimal notation would be to interpret memory content at the level of a field within a word, possibly even a single bit. Given the state of art at the time, such interpretation would be specific to ...


9

Leela is not going to fit in an 8-bit machine, period. The NN weights take many megabytes to represent. It's conceivable that Stockfish's evaluation function could fit - I think it's only comparable in complexity to some of the better 8-bit engines (eg. those by Ed Schröder). However, Stockfish's main strength is that it can do a lot of searching very ...


8

I worked with IBM minicomputers (S/36, S/38, and AS/400) in the 1980s and 1990s. The very ugly programming language RPG was popular. It looked very different from Cobol but had similar abilities. It supported only two data types: fixed length alphanumeric and fixed precision decimal numeric. The numeric variables could be zoned which meant one digit per ...


8

Another point that hasn't yet been mentioned is that many programs would store data in whatever format it was keyed in. If data was stored as six digits YYMMDD, that's what data-entry clerks would be expected to type. For a program to store data as YYYYMMDD, it would be necessary to either have clerks enter an extra two digits per record, or have software ...


7

Microsoft Word did I distinctly remember looking into the binary .doc format used by Microsoft Word 5.0 for DOS, because documents saved when the year was after 1999 couldn't be opened again. It turned out that the internal meta-data included the date using two ASCII digits for the year and 2000 was blindly stored as 100, thus overwriting one byte of an ...


7

The mainframes have been covered. Let's look at what led up to the PC which of course is where a lot of business software evolved. Many PC programmers had previously been programmers for 8-bit systems, and had grown up on the "every cycle counts" mentality. Many programs for MS-DOS had ports for older 8-bit systems, too, so would have often ...


7

Additional examples: In banking, many computations have historically used binary-coded decimal (BCD) as a compromise between space, speed, and consistent rounding rules. Floating point was uncommon, slow, and difficult to round off consistently. So even things like interest rates might be stored in fixed-point BCD. Something like an interest rate might ...


7

Back in olden times (1960s and earlier), when data came on Hollerith cards (80 columns, 12 rows), using 2 extra columns (of the 80 available) to store the fixed string "19" as part of a date seemed useless. Having more than 80 columns of data meant that one had to use multiple cards, and lost several columns to the overhead needed to say "I'm ...


7

The BC-7 had a SQL like query language called ESCORT. You could indeed write a simple query in this manner: SELECT * FROM FILENAME OUTPUT TO PRINTER [] and this would dump the contents of a file.


6

So: what's the core idea of this algorithm? It looks like some variation of a linear-feedback shift register. These look at some of the bits in the value, and then produce another bit which is shifted in to form the next value. They can be made to loop through (almost) all possible values of a word, and so have even been used as program counters. Where ...


6

You may not remember the enormous market share that IBM occupied in the business computing space in the 20th century. I don't mean just the mainframe market where S/360, S/370, S/390 & their successors play, but also the much larger (in terms of units) midrange/small business market occupied by the S/3, S/32, S/34, S/36, S/38, AS/400, and their ...


6

Even systems that stored the year as a byte often just printed "19" in front of the value. So the year 2000 (stored as 100) would be printed as 19100 or 1910 or 1900 depending on exactly how the number was converted from a byte to printable characters. Of course a lot of systems didn't even both printing the 19, they just printed 100/01/01 or 00/01/...


6

The NORAD Two Line Element format remains in wide use for cataloging satellite orbits. Originally intended for punched cards, it uses a two character year. Years <57 are defined to be in the 21st century. It may be supplanted soon, though. The immediate problem is not years, but the number of trackable objects in orbit.


6

Many fixed record text formats (with or without COBOL copybook definitions) used two digit years, and some do still in this year. So it does not only affect storage format (like in databases) but also interchange formats. Those formats deliberately did not use binary representations but did try to be compact. This happened way into the 90ies, where everybody ...


5

VisiCalc doesn’t “decide”, it does what the user asks it to. As far as displaying values, it supports a few different display formats: general (the default), which displays however many significant digits the value contains, within the column limits (which result in rounding to the closest digit, e.g. π is shown as 3.141593 on the default PC display), ...


5

Several of the approaches listed in the answers to Why did MS-DOS applications built using Turbo Pascal fail to start with a division by zero error on faster systems? should work; in particular, c’t’s patch, which includes a working Delay routine, or one of the Pascal fix TSRs.


4

But there are dozens of CHIP-8 games around. By my count so far: 456. Does any of them depend on the correct behavior of SAVE / RESTORE and break if I is not updated? Yes, there are CHIP-8 games that will break if Fx55/Fx65 do not increment the index variable I. Here's an excerpt from the source code listing to the game "5 Row Mastermind" by ...


4

It crippled DOS quite half-heartedly. As for why, Microsoft has apparently been intending to deprecate DOS (and Win16) in favour of Windows NT for quite some time0, for both technical and business reasons: I estimate it was since at least the inception of Windows 95, and possibly even earlier. They couldn’t afford to drop support for DOS software right away, ...


4

Without detailed sales and usage figures, “the most common” is probably impossible to answer, and even considering only the 8087, the answer depends on “when” — reasons to buy 8087s changed as programs using it became available. The more open plural variant of your question is largely answered in the question. Byte’s 1984 “Guide to the IBM PCs” gives a good ...


4

A partial answer that I nevertheless hope contributes: It doesn’t sound like an Acorn machine because the data isn’t in chunks, and probably isn’t an Amstrad because that uses the same physical encoding as the Spectrum so the lead-in tone for samples 3 & 4 would be the same as for 1 & 2. By ear, my best guess for Tape 4 is a Commodore but I couldn’t ...


3

To extend and compliment (and not compete with) the answer above also check out bbcelite.com Fully documented source code for Elite on the BBC Micro The algorithms behind the procedural generation of system data I know stackexchange convention is to quote the source a) in case the source later no longer exists (I'd certainly hope not with bbcelite.com) ...


3

On the Amstrad CPC machines, the bottom and top of the address space was taken up by the firmware and the Basic ROMs respectively, each taking 16Kb from the 64kb, leaving 32kb for the programs and OS data. However they each shadowed 16KB of RAM. Each ROM could be paged in or out to allow full use of the memory. The setup allowed all writes to RAM, but reads ...


3

on ZX Spectrum 48K BASIC there are the PEEK and POKE commands which allow access to whole RAM/ROM. So any BASIC game can use the additional RAM. The memory map was this: 0000h ROM 4000h VRAM screen 5800h VRAM attr 5B00h buffer LP 5C00h system variables 5CB6h microdrive maps CHANS channels info 00h PROG BASIC source code VARS BASIC variables ...


3

I saw the "Novell Netware for Amiga" live at the Cebit und it was impressive. There were some A2000 connected to an Netware 3.x Server. The main disadvantage is that a separate driver is required for each network card. So only network cards will work that were there at that time and were supported. IMO: SANA-II Network Device Driver Specification does not ...


Only top voted, non community-wiki answers of a minimum length are eligible