Hot answers tagged

30

The BIOS originated as part of the CP/M operating system. It was the "layer" that interfaced directly with the hardware and as such, was usually machine specific. The idea is that, if you separate out the hardware interactions into one module and provide a standardised interface that the rest of the OS uses (and user programs), then the only thing ...


28

Different terminals didn’t (and don’t) use different kernel-level drivers. In Unix-style systems, the kernel does provide some terminal-related features, called line disciplines and the TTY layer which you mention; there is typically at least a raw line discipline (which doesn’t perform any translation), and a cooked line discipline (which provides more-or-...


25

By their contents. When Windows boots, the I/O Supervisor VxD (IOS) uses BIOS interrupt 0x13 services to read sector 0 (the Master Boot Record) of each drive. It then looks at two bytes at offset 0x0DA. If they are zeroes, IOS checks the following four bytes: if they are also zeroes (like in the standard MBR code written by Microsoft’s FDISK), IOS overwrites ...


23

It was a DOS-Windows 3.x and DOS-Windows 9x/ME thing. It was a driver named speaker.drv, written by Microsoft. It turned off interrupts for significant periods of time, which caused I/O problems with other devices but which was inherent in the nature of the hardware. It came in a self-extracting archive named speak.exe, and could be found on the companion ...


16

CP/M was hardware independent - there was no notion of a reference machine (as the IBM PC was for MS-DOS), so CP/M could not provide drivers. The hardware producer had to develop the drivers and deliver them with CP/M, and the driver package was simply called BIOS ("Basic Input/Output System"). This worked quite well over the lifetime of CP/M. MS-DOS ...


16

they save every program from needing its own separate encyclopedic knowledge of every printer on the market. But then came PostScript, the theory behind which was that you would prepare a printable file in a standard format For one, Postscript isn't a standard format printable file, but a standard format document description. It may (and does) contain many ...


12

Cost There are significant licensing costs and equipment costs. I'm sure PostScript needs quite a bit more RAM & processing than some of the lower levels of PCL and similar printer languages. As I noted in my answer on trackballs and elsewhere, even a small increase in cost can have a big impact on sales and/or profitability, particularly at the low end ...


12

The simple answer is that they just didn't need them! Why reinvent the wheel, when the required interface is already provided by the ROM BIOS? This allows the operating system to be more portable and to support a wider variety of machines and hardware from different vendors, because the vendor provides and is responsible for the ROM BIOS routines. Size of ...


11

This was not done by a “driver” at the OS level as you are thinking of it. In Unix, there were drivers that dealt with the RS232 interface and these were surfaced as /dev/tty* devices and dealt with things like speed, echo, etc. As for escape sequences controlling the display of the terminal, that is not done at the “driver” level as you are thinking of it....


11

PostScript was quite demanding. In the early days a PostScript printer might well be the most powerful computer in the building, hence expensive. University students ran jobs on the printer to get done faster. In a world where price is important, this was most likely the primary reason. Look at the cheapest printers available and check if they run ...


10

Like most busses of its time, you had to write your own software to communicate between the cards. The term device driver wasn't widespread at the time, but that is what you were writing. The S-100 bus (IEEE696), with its standard 100-pin socket could support a number of different cards. While it was common to have a processor card, memory card and ...


9

"It depends". I'm answering this in the context of DEC timesharing systems, since that's the natural habitat of a DEC VT100. There's a hardware device such as a DZ11 terminal multiplexer (8 lines) that controls terminal lines by some physical protocol, such as RS232 or 20mA current loop. The physical protocol is a matter for the hardware. But the OS needs ...


9

Trying to get more into the specifics of the BBC connection, there is a substantial hint in the user guide: However only 5 bits of the [user] port, and CB1, CB2 are used: This leaves bits 1,3 and 4 available for other uses. Which is backed up by the schematic provided by Simon Inns in the doco for SmallyMouse2; comparing that to the user port's pinout ...


9

It wasn't anything to do with drive letters, or the Windows NT disc signature in the MBR. DOS-Windows 9x, in particular the infamous wdctrl virtual device driver (often known colloquially and misleadingly as "32-bit disk access"), after determining that it was reasonable for it to supplant the real-mode firmware in the first place, issued three INT 13h ...


8

From your pictures you have a CD-ROM manufactured by Matsushita for IBM with a model number of CR-563BBZ. This drive uses Matsushita's proprietary interface, so won't work with the the OAKCDROM.SYS driver which only supports CD-ROM drives using the IDE interface. It is however not connected to your sound card, its connected to it's own LaserMate CD-ROM ...


8

The simplest Unibus card is the G727 Grant Continuity Card, which does nothing except forward certain daisy-chained bus signals from one slot to the next. You can see a picture of one on the Wikipedia Unibus page. But a Grant Continuity Card is arguably not really a "device". I think the simplest device would be a 1-word ROM. Still pretty useless but at ...


8

It seems unlikely that a fully-functional VBE driver for Windows 3.x exists. Microsoft started bundling a VBE driver with the operating system only as late as with Windows XP, by which time the Windows 3.x (and 9x) driver architecture was long obsolete. According to a post on OS/2 Museum, the display driver architecture of Windows 3.x was pretty baroque: the ...


7

To expand on @RicoPajarola's comment, this is almost definitely the software not properly handling files with long (or lowercase / etc.) filenames on a FAT filesystem. Originally, the FAT filesystem only supported filenames of up to 8 characters (+ up to 3 characters for the extension). Also - lowercase letters, spaces and unicode weren't supported. Later, ...


7

An important thing is that old-style expansion buses - that includes S100, als well as the PC ISA bus and various proprietary buses, had no enumeration capability - a computer system was not aware of what was installed in the slots unless it explicitedly tried using any of that hardware - and what I/O addresses it responded to. Neither could I/O resource ...


7

With only a 250W power supply you may be pushing the limit with two video cards, but it's hard to be sure. Neither of the video cards you're planning on using are particularly power hungry. I suspect nether comes with a fan, and the GeForce2 MX may not even have a heat sink. The PCI connector can only supply 25W and I believe the AGP 1.0 interface had the ...


7

To my knowledge, no such driver has ever been written. Since the very earliest versions, Linux has been a pure 32-bit protected-mode kernel that drove most devices (including disk controllers) directly, without going through the BIOS. The kernel has never had any facility to invoke 16-bit code from kernel mode during normal operation (after early boot); even ...


6

If you're using Linux, there is kernel support for the parallel ZIP disk, at least on Intel architectures; if you're willing to play with the dependencies, it might even be possible to compile the drivers on non-Intel architectures, but I make no guarantees! You'll need to enable the following drivers in Device Drivers: parport_pc (under Parallel port ...


6

"Protection error" is primarily a memory management violation. A process executes with its own address space. Particular pages (range of virtual addresses) may or may not be assigned to the address space. The hardware triggers a fault on an attempt to reference an address not assigned to the address space. The OS then aborts the process, if this was a user-...


5

[I am assuming the question is limited to functionality built into the PC, not functionality added via installed cards etc. Obviously the BIOS couldn't provide routines for the latter, so drivers would have to be supplied] Having lived through the introduction of the original IBM PC, I have to say that in my opinion the submitter has the question backwards ...


5

Yet another factor that hasn't been mentioned is that ink jet printers have become far more common than laser printers, and have a critical ability that laser printers lack, which in turn propelled the use of PostScript: the ability to suspend and resume printing in the middle of a page. Normal printer drivers could print pages which were too complex to fit ...


5

Two more slightly different situations from the past (well, everything in Retrocomputing is from the past...): 3270 Emulation When I was at the University of Maryland, College Park in the early 1980s, there were some Vaxes, a Univac 1100/80 and some other non-IBM large systems, and there were some micros (my first networking course was on the then brand new ...


5

The message "Windows protection error. You need to restart your computer." is the default message Windows 9x/ME displays when a fatal error occurs. As such it can be result of a lot of different errors Windows might encounter, even ones not involving any sort hardware protection being violated. It can happen, for example, when Windows can't allocate a ...


4

I guess that's a field one can come up with many views - and all presented answers so far give a valid view with lots of additional information. This is intended to break it down to a more general statements: No, at the core no OS offers terminal drivers. Just serial (or whatever) line drivers handling bare communication to a device connected. Input (and ...


4

I don't know the specific details, but in general the mouse uses standard quadrature encoders so for each axis you get two data pins that output movement data. While several ways to decode the quadrature data for each edge to achieve maximum resolution, the hardware uses a simplest possible approach with the PIO chip. Basically a pulse on one pin can be used ...


4

https://web.archive.org/web/20070227091822/http://download.microsoft.com/download/win98/utility/1/w9x/en-us/speak.exe Designed for Windows 3.1, though also known to work for Windows 95 and 98. When sound was played, sound could get tremendous priority, causing an inability to move the mouse cursor while sound was played. Or, alternatively, moving the ...


Only top voted, non community-wiki answers of a minimum length are eligible