Abort: kill the requesting process. Retry: jump back to the entry point. Ignore: return as if the request was OK.
Later DOS versions added the "Fail" option, which was like "Ignore", but returned an actual error code. But since most applications were not aware of that, "Fail" was pretty much equivalent to "Ignore" for a long time.
A common third-party TSR at the time was PC Magazine's SAFARI: "Stay Away From Abort, Retry, Ignore". It would retry a few times, then ignore and/or fail depending on OS capabilities.
"Abort, Retry, Ignore (and/or Fail)" was pretty much the "BSOD" of the DOS generation: misunderstood, yet useful for those who understood its code.
Of course, nowadays, the "intercept anything, do with it whatever you like" mindset is, at best, a security nightmare, and in any case an adware vector. "Hey, you just had an read error on your Seagate device... Don't you know Micropolis does a lot better?"
So, rightfully so. But I still miss those days...
DOS itself literally took up an entire disk. You'd have a DOS disk with the DOS utilities like fdisk.exe and format.exe, but you'd boot off that, then swap to a program disk to do actual stuff.
One early DOS IDE (Turbo Pascal 2 or 3 I think?) would prompt you to load error messages off disk at startup. If you chose not to, it would free up some memory for your project and you'd need to look up the messages in the manual by error number.
Only a few years later, every PC had a hard drive, >1MB storage on a floppy, and the full 1MB real mode address space filled with RAM.
With software, it's probably a matter of prioritization, why invest into explaining errors when you can work on preventing them? Not that this error prevention always works out, but still.
The issue was quickly solved but the prompt remained on screen. The funny thing about the prompt was that, at the time (I was 8?), I didn't understand that it was asking a question and provided for more than one answer. Every time my Dad had seen the prompt, he hit "A" and redid whatever trivial thing he was doing. I had learned to do the same.
Confidently, and very unhelpfully, I hit "A", watching the past hours work vanish. It was the first time DOS made my mom cry.
[0] Forgive me, it was a while ago; it may have been unplugged or some other trivial issue.
Nice piece of redirection there :P
— Bad’l Ron, Wakener, Morgan Polysoft
From Sid Meier's Alpha Centauri (1999) when you discover Matter Editation
That game was awesome. I remember seeing it in DOS games when I was younger and laughing at the joke.
And there was nothing like it ever since. Single aspects yes, but not the whole package of game mechanics and story.
I had no clue what any of the commands meant, but I knew how to boot up an Apple II, load a disk, and type in the commands to run a game (at age 4), to set up DMA, IRQ, PORT, etc. settings to make sound work for Warcraft 1 or other DOS games (7 or 8), and many other things. But again, I had no clue what any of it meant. I just had an older brother write down the incantations and a lot of patience.
That evolved a bit when I got into Robot Odyssey at age 9 or 10. I didn't know anything about logic gates, but because I have no Internet and I loved computers, I would bash my head against it for hours and hours and hours, organically learning how the logic gates differed from each other. (tangent: I loved this game so much despite it being far far too much for me. I did a presentation on logic gates, which was beyond my 4th grade teacher, and it got me put into an "enrichment" class, which in many ways screwed up grade school for me.)
220 5 1
Typing “kick cat” in King’s Quest 3 was the highlight of my computing experience back then. https://youtu.be/rFp0I5nalLs
https://www.theregister.com/2022/02/14/dave_plummer_abort_re...
> What was the difference between extended memory and expanded memory?
10yo me never did figure out why Kings Quest would play with one and not the other.
Expanded memory bank switched the additional memory into an area of high memory below 1MB.
Basically, with DOS, a program had to be designed and the system configured for one or the other.
Or, on the 386 and later, permanently, running DOS as a vm86 task instead. EMM386 and similar did that. It was very transparent, so you usually wouldn't notice, and even for programs that would like to drive protected mode themselves, there was an interface called DPMI (earlier VCPI) with which they could wrestle protected mode away from the memory manager (being the exception to "permanent").
DOS4/GW, which most probably know from DOOM and other games, used that interface.
For software that did not use DPMI/VCPI, you usually got a message like "CPU already in protected mode" and had to disable your memory manager (usually by rebooting).
Expanded memory (EMS) is bank switched RAM that stays inside the 640K barrier.
Yes, but to be super pedantic, it stayed within the 1MB barrier[1] that real mode could "officially" address. It was perfectly okay to have your EMS window above the A000h segment in memory, i.e. above 640k, if no device was using it.
[1] Plus some change known as the "high memory area" (HMA), an artifact of how linear addresses are calculated from segment and offset.
It's extra confusing because initially expanded memory was done with add-on cards and later extended memory drivers (on 286 and up) could emulate expanded.
There were a lot of essentially kludges in the latter days of DOS that weren't really made unnecessary until Windows 3.0 (or other OSs with a protected mode) and the 80386 and later processors.
Extended Memory/XMS was pretty much a DOS thing, though. Anything using protected mode would not need it, and be able to just access the memory directly.
> that weren't really made unnecessary until Windows 3.0 (or other OSs with a protected mode)
Windows 3.0 was "sort of" a protected mode OS. The actual Windows part ran as a 16bit task, similar to DOS in EMM386. That changed, again "sort of", with Windows 3.1. There was a thing called "Win32s" to run 32bit Windows applications, but most of Windows was still a single 16bit task.
Windows NT was the real deal, though, shedding off its real mode roots with essentially a reimplementation. It only became part of the "mainstream" Windows versions with Windows XP (Windows 2000 was based on NT already, but still marketed alongside the "legacy" Windows 95/98/ME).
The first kind of further memory expansion was classic bank-switching. Within that 1 megabyte address space, you insert a window, say 32 kilobytes, which can be set to some 32 KB section of the extra memory. Same way more than 64 KB was added to systems like the Apple II, which could only address 64 KB. It's a pain to program for this kind of arrangement.
Later, when running in protected mode, the Intel 286 would be able to directly address up to 16 megabytes of RAM, and the Intel 386 up to 4 gigabytes. Memory managers running in protected mode that could access this memory directly were created, which would handle memory for DOS applications.
Those two approaches for > 1 MB are XMS and EMS. Though I can't remember which is which!
I use a UI with the option to cancel a workflow and when you select 'cancel' it comes up with a modal 'ok' or 'cancel'. Does cancel cancel the cancel? Or is it ok to cancel? WE CAN USE MORE THAN ONE WORD PEOPLE. We have the bytes!
You couldn't make up this stuff.
Block?
Data?
Rewind TapeAs an aside, if UoSAT-2/Oscar-11 is overhead it transmits tones identical to BBC Micro tape tones sending its (sadly now nonsense) telemetry back down to Earth, on 145.800MHz - and it was designed that way for a good reason ;-)
I also remember the equivalent rattling on my Apple ][ disk drive right before something goes wrong.
You see retry mechanisms in modern software. For instance in Windows, installers will prompt you to retry an operation. For instance if you're reinstalling a program whose components are still running, it cannot copy those files over. You get prompted to stop the software and try that again, rather than bail the entire installer.
Or bulk file copy operations give you the opportunity to do something with the one file that isn't working: like skip this file, retry, do this for all others from now on ...
So Abort/Retry/Fail lives on.
I think we were the only family in my elementary school who had a computer for a few years, until modern PCs became more within reach of some folks.
It did make me go pick up an old copy of PC Magazine from 1995 from the other side of the room and start leafing through it, though.
FWIW, I never followed that advice for anything as far as I can remember (save for really obvious stuff like ISA or PCI cards, or in professional settings where I was following some procedure), and nothing ever blew up. Could have been lucky.
(Super-IO was very late, by the way, it was 8042s and derivative microcontrollers originally.)
I once unplugged a NCR/Symbios Logic SCSI-controller from a running system.
And plugged it back in very carefully after a while.
While running graphically under NetBSD with 1.5GB Virtual Channel Memory. (Slightly better SD-RAM, only supported by some chipsets)
Monitor went ZONK, because NetBSD switched to text-mode console, which 21" Supersync barely supported, spewed endless alerts, after alerts.
After replugging something like found controller, resetting, found disk(s), resetting, alerts gone, switching back to X.
Magic.
Didn't even have filesystem errors, which I checked for after that stunt.
Which btw. didn't work with an Adaptec2940 fast and wide.
Nor Linux, in whichever config.
Some hot plugging, eh? :-)
That's just how it was in the old days.
Long story short: you may have a point there, because lossy memory compression :-)
OTOH some memories aren't that lossy, and I'm absolutely sure of the 'variety' of this one message across different vendors.
Yes.
Abort just... aborts everything, potentially dropping you to the prompt.
Fail responds with an error and let the software handle what to do now.
panic!("just stop everything");
fail: return Err("let someone try to handle this");Retry: retry the operation (great after you put a floppy in the drive)
Fail: return from system call with an error code, program keeps running
g=c800:5
What do I win? I didn't look it up!
(But don't ask me what I had for lunch, can't remember)
Seriously though - I had to run that for every PC we pushed out the door. In my later years I looked up what I was really doing - very interesting stuff indeed!
Also, i happily recall years ago when i first saw "Abort. Retry. Fail?" printed on a fortune cookie from a local (and deliciously amazing) Chinese restaurant! I was so perplexed for a few moments until i realized that it was simply an error being spit out/printed in the manufcaturing process by whatever computer emits the fortunes for each cookie! I've seen it a couples of times since then too. Hilarious!
Making that joke tended to mean someone just lost something important.
That's how I remember it! I also remember a cartoon of someone calling support telling them that "his computer is not working and makes weird sounds", the support person asks: "Did you backup?" to what the terrified user asks back: "Why? is it going to explode?"
https://www.discogs.com/master/106568-White-Town-Abort-Retry...
Trumpet sample re-sampled in 2020 by Dua Lipa
1996. How time flies...
[I think the first time I touched ms-dos was years later because of getting a Thinkpad. My path was VMS -> OS/2 -> Mac OS (because of Java) and then *nixes.]
[1]: https://www.unige.ch/medecine/nouspikel/ti99/titechpages.htm
The first computer I owned was a ZX81 that my parents bought me when I was about 8, and (around roughly the same time) a ZX Spectrum for Christmas 1983 and a Jupiter Ace which a friend of the family bought and couldn't get his head round - and which didn't have Manic Miner or Atic Atac, so he got a Spectrum instead. The Jupiter Ace gave me my long-standing love of Forth, which I will attempt to use on any kind of microprocessor I can get my hands on (Z80, 6809/63C09, 6502, 68000, and PDP11 so far).
The first PC-like machine I used was maybe a little later, and was an ACT Sirius, with an absolutely gorgeous keyboard and a monitor with a kind mesh-like thing bonded to the screen as an anti-glare thing, and disks that spun up and down at different speeds. I did some stuff for school in WordStar (vim has become my muscle-memory-first-language, but really the WordStar keystrokes are just under the surface) and printed it out on the screechy howly Epson MX80. Then came the ACT Apricot with a flappy door over the drives and a little LCD and softkeys on the keyboard - a genius idea that it would take over 30 years for Apple to reinvent with the TouchBar :-D
Still working professionally in information analytics/coding (UK National Health Service)
Now I suddenly want to play SimCity
So in the restricted world of 80s software without much ram/disk room for robust error handling the in practice difference is usually nothing
Even worse, programs almost never handled this gracefully so if you were trying to save your work it was effectively lost and you might as well ctrl-alt-del, even if you had another disk or drive (already attached).
But the association allowed me to remember the abbreviation. I called it the Riker Maneuver
Basically "E" and "S" were an attempt to save as much data as possible and "R" may not be needed (but including it created the word "busier" backwards). I'm guessing "I" may have been to be sure "U" wouldn't get stuck somehow, but don't really know.
Or both?
:)