| ▲ | summa_tech 4 days ago | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 4 days ago | parent | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | anotherlab 3 days ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I was using this before 2018. I used to write TSR applets for data collection. Knowing what interrupts were being was critical. It could mean the difference between your code working and it dying somewhere in expanded memory space. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ▲ | burnt-resistor 3 days ago | parent | prev [-] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Running disassembly on the system, VGA, and other add-in card BIOSes was often helpful. I recall figuring out how to cycle the palette faster than calling an interrupt, although it would still require vsync to prevent snow* and tearing. * When updating the overscan region border color on some video cards DACs via direct port I/O, there would be random speckling of dots of previous and new colors like analog snow if synchronization to wait for the vertical blanking interval wasn't observed. This is the sort of shit emulation doesn't reproduce faithfully. It sometimes took having access to a lot of hardware to verify a program doing hardware-specific VGA tweaks worked correctly. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||