2 ms·
4.77MHz = frequency of the original IBM PC. 0xB8000 is the base address for the CGA video buffer on a 1980s era PC. 0xB0000 was for MDA (eg, a Hercules card).
by eesmith 5y ago
4.77MHz = frequency of the original IBM PC.
0xB8000 is the base address for the CGA video buffer on a 1980s era PC. 0xB0000 was for MDA (eg, a Hercules card).
MDA's memory range didn't overlap with CGA, EGA, or VGA, so dual-head systems were possible, eg, program display on the color display, debugger in the monochrome display.
My go-to book for the internals, with all sorts of numbers like the above, was "The Peter Norton Programmer's guide to the IBM PC", available at https://archive.org/details/peternortonprogr00nort https://archive.org/details/peternortonprogr00nort .
For example, philipswood at https://news.ycombinator.com/item?id=28053235 https://news.ycombinator.com/item?id=28053235 pointed out the IBM PC timer interrupt was 18.2 ticks per second. Norton explains that at https://archive.org/details/peternortonprogr00nort/page/148/mode/2up?q=keyboard https://archive.org/details/peternortonprogr00nort/page/148/... - the main clock, the 8284A, oscillates at 1,193,180 times per second. The clock interrupt is every 65536 oscillations = 18.20648... ticks per second. And 1,193,180 * 4 = 4.77 MHz.
Decimal 27 = hex 1B is a number I associate both with writing ANSI escape codes (still useful today), and with writing printer commands to my Epson MX-80, like setting to quad density mode for higher quality output. With 9-pins it could make very nice graphical printouts.
300, 1200, and 2400 baud were important modem speeds in my era. The earlier Bell 101 era used 110 baud.