Timeline for Why did CP/M and MS-DOS use the BIOS instead of their own drivers to access hardware?
Current License: CC BY-SA 3.0
10 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Dec 17, 2020 at 19:51 | comment | added | supercat | @TonyM: Although the BIOS screen functions were implemented less efficiently than it could have been, a bigger problem with them is that they were all based on the idea of outputting a character at a time. If one knew what one wanted to display on two full rows of text (320 bytes) before the start of a vertical blanking interval, the CGA could write them during the vertical blanking interval, but it would otherwise be limited be limited to outputting one byte per scan line. If the BIOS had included a "write two rows" function, it could have been easily made much faster. | |
| Oct 7, 2020 at 15:08 | comment | added | TonyM | ...Then all motherboard I/O had to match the IBM PC because that's the hardware circuit the early software expected. And IBM ended up creating the problem they'd set out to eradicate with the BIOS idea: tied to a particular circuit and I/O ICs. That also stopped the 80186/80188 being used to make a truly PC-compatible PC, explaining that microprocessor-with-I/O's brief place in Intel history. (Amongst probably others, Acorn used it on a Second Processor board for the BBC Master to turn the latter into a kinda PC but it was consequently fussy about what it could run. We had 5 of them at work.) | |
| Oct 7, 2020 at 15:04 | comment | added | TonyM | It's you who's got it spot on, upvoted. BIOS was a good idea carried out badly, meant to be the HAL of its day. Each motherboard manufacturer would have their own BIOS variant to communicate with the particular hardware ICs they'd chosen with the I/O address map they wanted. So they'd be free to use any ICs or circuit for the timers, DMACs, keyboard interfaces etc. But... when programmers bypassed the painfully slow BIOS and talked directly to hardware to squeeze performance out of those also-slow CPUs, the BIOS idea fell apart... | |
| Apr 18, 2019 at 18:17 | comment | added | hmakholm left over Monica | @ThorbjørnRavnAndersen: BIOS has/had calls to program the video card into graphics modes and write single pixels (int 10h, AH=0Ch). Slow enough to be useless in practice already when conceived, bit it was there! (The mode-setup calls were less useless, and tended to be used even by software that would subsequently access the video RAM directly to write pixels). | |
| Dec 24, 2018 at 21:21 | comment | added | Thorbjørn Ravn Andersen | Graphics (pixels and such) were never supported in BIOS. That was text only. | |
| Aug 10, 2017 at 14:04 | comment | added | user | Many add-on cards did provide their own BIOS. For example, you could install a disk controller that hooked into INT 13H by way of its own BIOS. That way, no extra drivers were needed, as all software already used INT 13H (one way or another) for disk access. | |
| Aug 9, 2017 at 20:37 | comment | added | manassehkatz-Moving 2 Codidact | Actually, plenty of software wrote directly to video memory - bypassing both the BIOS & DOS function calls - even for text. This became so common that true multitasking/multiuser systems were relatively limited until the 80386. With the 80386, the OS could trap video memory accesses from processes not in the foreground and either save for screen refresh later or even route to serial terminals (Concurrent DOS 386 - an evolution of CPM->MPM->CPM86->MPM86->Concurrent CPM->Concurrent DOS 386). | |
| Aug 9, 2017 at 20:37 | review | Late answers | |||
| Aug 9, 2017 at 21:23 | |||||
| Aug 9, 2017 at 20:22 | review | First posts | |||
| Aug 9, 2017 at 21:23 | |||||
| Aug 9, 2017 at 20:22 | history | answered | PMar | CC BY-SA 3.0 |