Skip to content(if available)orjump to list(if available)

The x86 Interrupt List, aka “Ralf Brown's Interrupt List” (2018)

summa_tech

Long 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

Absolutely. 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

Linux 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

Int 80h still works as well as ever on i386.

kaladin-jasnah

I recently found out about swi 0x123456 on ARM...

OCTAGRAM

There 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

userbinator

This 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.

aforwardslash

Oh the memories :) I still have somewhere a dot-matrix printed copy of the list I used religiously in the 90's

peterfirefly

I 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.

wvenable

For 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.

AndrewStephens

This 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.

NooneAtAll3

how much of this info has been subsumed by standardized uefi?

whizzter

Many hours spent reading this even if I was quite late to the party.

FpUser

Was my bible at some point. Thanks for memories