Ralf Brown's Interrupt List
en.wikipedia.org
en.wikipedia.org
Language as in human languages, not computer languages --- and this is noteworthy because it's illustrative of how many in the PC software/hardware scene were back then; they didn't learn programming and the details of the PC architecture to become specialised career developers, but because they wanted to create software/hardware to serve some other purpose related to their actual work/personal life. Of course there were career developers, but there were also far more "power users" who "graduated" into programming too. For example, I remember interacting with a gardener who learned and wrote an application --- in x86 Asm --- because she wanted to make various calculations regarding the plants she was managing.
Contrast that with these days where many low-level details are heavily guarded, there's plenty of people willing to sell you something close to what you want (and try to convince you that it is exactly what you want), users are strongly divided into "consumers" and "developers" and the former largely discouraged from learning about how things work, and the average career developer is completely clueless about what would traditionally be considered "power user" features, and might even struggle with basic concepts like a command line. The Internet is filled with plenty of information only a search away, but the majority of it isn't good.
Really, the only advantage you had back then is that you often had no other choices but to learn to program computers in order to use them. It's much easier to program computers today, and it's much easier to learn to program, but the only problem here is that you're faced with a hundred or a thousand different alternatives for how to learn to program, or how to solve your task in ways that don't involve learning to program.
I like showing off the Apple II to younger programmers. You turn it on and immediately you start writing code. This had the benefit of immediacy, but it was worse in almost every other conceivable way. Basic was horrible and didn't let you do structured programming. It was easy to lose your program. It was hard to make changes and iterate. Easier to start, but much harder to develop mastery.
This is a well studied and absolutely serious issue called decision fatigue [1]. You seem to be downplaying it's consequences by a large margin, most likely because you do not understand it.
Continuing the analogy, we dreamed for our experience to see the light, but that never came true. I think that’s where the nostalgic sentiment comes from.
We are in a golden age for accessible electronics, programming, and computing in general. As a bonus, filesystem are generally reliable; you no longer have to deal with fiddly and unreliable magnetic storage (tapes and floppies). It’s harder to lose work than ever before.
Are you serious?! This is what they call schematics:
https://wiki.geekworm.com/File:Raspberry_Pi_4_Model_B_schema...
And what passes for a datasheet is, because Broadcom, horribly incomplete (I'm still surprised no one has leaked the full datasheet yet; but thanks to the latter, even MTK-based Android smartphones are more "open and infinitely better documented"...)
There was actually lots of great printed documentation for the Apple II, but you had to actually find it. And it was not easy to find it, and it was expensive to buy it, and you couldn’t buy much of it if you were of limited means.
But you didn't have to sign an NDA for it, nor be big and important enough to even get a chance of being offered an NDA.
For a "more open and infinitely better documented" general-purpose computer, IMHO nothing beats the IBM PC up to the AT, and even after that, PC-compatibles up to perhaps the mid 2000s. Full schematics --- even for the floppy drive, PSU, and monitor(!), CPU datasheets, BIOS source code, etc. Then came RBIL, and the rest is history.
Or maybe some other vendor comes in (possibly with something RISC-V-based, and at least using only open source drivers, if not an open hardware GPU). They could do upstream Debian or a fork of Raspian on it, and to most users operate the same as a RasPi, only more open. (Maybe compatibility problems would be mostly due to people using closed software on a RasPi, perhaps without realizing it.)
The Apple 2 is much simpler, sure, but these documents were really professional and comprehensive.
The Arms are just little slave CPUs masked onto a spare corner of the VideoCore die.
I was almost unique in that my qualification was computer science. My boss was a mechanical engineer. His partner was a land surveyor. I would go to a conference and I'd meet doctors, lawyers, mechanics, pilots, police, pretty much every occupation under the sun except "programmer".
All of these folk had the same story, they needed something for their day job, so they learned, and wrote it. Many pivoted into selling the stuff they wrote. I made/make a living selling technology and training to this generation. They often have significant market share in niche markets.
But today its different. Table stakes for entry is two magnitudes larger. I started with a thin apple 2 book, and coded the same day. Our commercial programs (for DOS) were primitive. They've had 30 years to grow. Today out the box you need to understand Windows, databases, integrations, networking and do on. The days of Dr Bob writing some software for his practice are gone. Programming, like doctoring, requires a lot more now to make an impact.
The next generation will have their own path to tread, their own stories to tell. But our path, our experience, is of limited value to them.
The Macs all hid their interrupts but could handle all the same default number peripherals as an IBM PC.
The IBM PC had all sorts of configuration files. These files included describing the hard drive's mechanical specifics. The network cards all needed a to be assigned an open IRQ.
This was the defining difference between a Macintosh and an IBM PC. The other more obvious difference was the GUI.
I became a Metcalfe Law zealot.
I actually feel we are entering the same sort of frenzy of new development.
A part of me wishes DOS was still relevant.
https://arstechnica.com/information-technology/2021/07/dos-b...
It also makes a great boot loader for hobby OSes. Both Windows and Novell Netware worked in this way.
In the end, it depends on the environment that you use to run the FreeDOS, whether it forwards them or not. Note that windows does not provide binary compatibility at syscall level, only at ntdll level, which would be useless outside currently running windows, so it could be useless even if it was forwarded.
Great times!
Nowadays, I am sad it is not as easy to play with our hardware such as Mobile phones at the same level. I wish we could at least use C to interact at the hardware level with mobile phones. Shit, it was even possible to do it with the Nintendo DS (via devkitARM)
It could also double-buffer, unlike the standard mode 0x13.
Sure, there were games pre-91, but in the '90, the PC market exploded, together with available games. The amount what was available in '90s dwarfs the older titles, so "almost all" is greatly fitting.
Another cool feature (back then) was this TSR which would let you save the state of the RAM running, and then save again and again, and by doing diffing you can find where certain game would keep life points, etc.
Oh, and that tool was someone else that wrote it, not me. But was quite popular in the PC clubs I was going to.
I might well have an image of the SIMTEL CD it was on. I remember it being a .zip file a few hundred kB long that took a good ten minutes or so to download on the modem I'd borrowed.
But Ralf's one, sure, it was so useful when Internet didn't exist for us !
The real question is - whatever happened to Ralf Brown?
INT 21h