4 ms·
The x86 Interrupt List, aka “Ralf Brown's Interrupt List” (2018)
- aforwardslash 1y agoOh the memories :) I still have somewhere a dot-matrix printed copy of the list I used religiously in the 90's
- peterfirefly 1y agoI remember looking at a print out of some of it in the late 80's and learning about the "list of lists", the critical section flag, and the alternate stack.
- userbinator 1y agoThis was, and for some purposes still is, one of the most useful documentation sets for the PC architecture. It's worth noting that Ralf himself isn't a specialist low-level programmer, as this came from an era when there was a far smaller divide between users, power users, and developers.
- whizzter 1y agoMany hours spent reading this even if I was quite late to the party.
- AndrewStephens 1y agoThis was invaluable when I was tasked with writing a stay-resident boot loader just after the turn of the century. Even then, such information was considered arcane and Ralf Browns Interrupt List was much better than any official documentation I could find.
- summa_tech 1y agoLong ago, before access to the Internet was cheap and plentiful, and way before search engines made finding this kind of information easy, this was a priceless find for an aspiring low-level programmer. All the (semi-)common PC hardware and software documented in one place. Endless hours spent exploring VGA hardware registers and trying to apply them for cool visual effects. Learning how the then-new 32-bit Windows interacted with DOS extenders, and trying to make a homemade - very basic - operating system that could do it, too. The thrill of writing a Terminate and Stay Resident alarm clock, and having it finally not explode... I have very fond memories of the Ralf Brown's Interrupt List.
- jesuslop 1y agoAbsolutely. Title says 2018 but it really comes from the dawn of pc. DOS was at 21h, and now linux system calls in x86 are INT 80h.
- EarlKing 1y agoLinux system calls WERE 80h. If your code is still using an interrupt to access kernel functions then you've got problems. Syscall exists for the simple reason that interrupts are expensive.
- kragen 1y agoInt 80h still works as well as ever on i386.
- zeusk 1y agoWhat do you mean by that? Most syscalls are still interrupt based.
- maggit 1y agox86-64 introduced a `syscall` instruction to allow syscalls with a lower overhead than going through interrupts. I don't know any reason to prefer `int 80h` over `syscall` when the latter is available. For documentation, see for example https://www.felixcloutier.com/x86/syscall https://www.felixcloutier.com/x86/syscall
- messe 1y ago32 bit x86 also has sysenter/sysexit.
- adrian_b 1y agoOnly Intel. AMD had its own "syscall" instead of Intel's "sysenter" since the K6 CPU, so x86-64 has inherited that. AMD's "syscall" corrects some defects of Intel's "sysenter", but unfortunately it introduces some new defects. Details can be found in the Linux documentation, in comments by Linus Torvalds about the use of these instructions in the kernel.
- OCTAGRAM 1y agoThere was unloved informatics in school and loved informatics at home. Unloved informatics consisted of graph flow optimizations. Loved informatics consisted of EGA programming and IRQ interrupt handling for multiple keypress detection and other stuff. Both informatics were in Turbo Pascal, but in sport olympiads going to interrupts or assembler was prohibited. Not that it was going to help, but… when olympiads end, I was going those doors again, and others did not. For others my loved informatics was door remaining shut. 20 years later it is an excercize to find a device where loved EGA programming tricks work. Only unloved informatics remained
- int_19h 1y ago86Box is what you want for this kind of nostalgic programming, comrade. Our teachers didn't know much about this stuff in school. The origin of my username here (and elsewhere) is from those classes at school; I once submitted an assignment that, under certain conditions, used inline asm in Turbo Pascal to do "INT 19h". Had to explain it later, but thankfully that particular teacher was more amused than offended.
- FpUser 1y agoWas my bible at some point. Thanks for memories
- wvenable 1y agoFor those way to young to even know what this is, it's basically like MDN web documentation but for the DOS era. It was a community-maintained API reference for IBM PC hardware, DOS operating system, and other software.
- NooneAtAll3 1y agohow much of this info has been subsumed by standardized uefi?
- sim7c00 1y agopresumably nothing because its about old devices which dont have UEFI. that being said, i suppose you mean BIOS interrupts are silly and you dont really want to know about them these days. that's true. (theres more than bios stuff in this list tho). for ppl looking to discover BIOS interrupts and their meanings in this list, follow the breadcrumb given and go and checkout EDK2.
- notorandit 1y agoI too have spent hours of assembly code on PC hardware. My freshly downloaded copy of the interrupt list has always been at my (virtual) side when designing tests or libraries. I think that has been one of the very first and largest information collection shared for free on the internet. Kudos to Ralf Brown and whoever participated in keeping the list compete, accurate and timely.
- gblargg 1y agoHTML version if you're just curious about what it looks like (all the links on the linked site seem to be zip files). https://www.ctyme.com/rbrown.htm https://www.ctyme.com/rbrown.htm
- djmips 1y agoWhen I came upon this list, and I don't remember how, I went from the The 97 Pound Weakling to a perfectly developed hacker. Seriously, it was a game changer and launched me into a game of catchup on the PC (I was a Apple II and C64 guy). I had so much fun at work with hacks but also making cool utilities.
- stuaxo 1y agoAre there any interviews with Ralph Brown around? It doesn't help that he's not the only RB.
- burnt-resistor 1y agoBefore there was PC Interrupts, there was the The Prgrammer's PC Sourcebook and similar available at specialized bookstores like Computer Literacy Bookshops. Regular bookstores would generally contain a few computer and programming titles, but they weren't necessarily the best references.
- khedoros1 1y agoI'm not quite old enough to have needed to use this while writing my own software. But I've come back to it repeatedly while learning enough about the operation of DOS PCs to try my hand at reverse-engineering some games. That was at least 10 years ago. (It became clear that I'd bitten off more than I could chew, so no full game RE, but I documented a couple more file formats, wrote some file viewers, and learned a lot).
- kazinator 1y agoI wonder how things were done in this thing: https://en.wikipedia.org/wiki/Sun386i https://en.wikipedia.org/wiki/Sun386i Was that DOS emulation running some real DOS that though it was invoking BIOS calls? According to a HN submission 3 years ago, evidently, Peter Norton once wrote a book on the 386i: https://www.amazon.co.uk/exec/obidos/ASIN/0136616127/ref%3Dnosim/%20dannyyeesbook-21/026-8524307-5200414 https://www.amazon.co.uk/exec/obidos/ASIN/0136616127/ref%3Dn...
- pharaohgeek 1y agoI remember the first time I found this list and playing around with it using Microsoft QuickBASIC. I couldn't believe how much more functionality it opened up to me. Mouse support. Graphics support. Fun memories!