how does the BIOS Initialize the Screen? I'm looking for an answer I've been searching through the web but, can't find something... but, I've found a website! but, it says here that the is initialized to address C000h. is the video card really hard wired to the memory address C000h? please enlighten me and TY in advance... :D
How does the BIOS initialize the screen?
679 Views Asked by AudioBubble At
1
There are 1 best solutions below
Related Questions in ASSEMBLY
- Is there some way to use printf to print a horizontal list of decrementing hex digits in NASM assembly on Linux
- How to call a C language function from x86 assembly code?
- Binary Bomb Phase 2 - Decoding Assembly
- AVR Assembly Clock Cycle
- Understanding the differences between mov and lea instructions in x86 assembly
- ARM Assembly code is not executing in Vitis IDE
- Which version of ARM does the M1 chip run on?
- Why would %rbp not be equal to the value of %rsp, which is 0x28?
- Move immediate 8-bit value into RSI, RDI, RSP or RBP
- Unable to run get .exe file from assembly NASM
- DOSbox automatically freezes and crashes without any prompt warnings
- Load function written in amd64 assembly into memory and call it
- link.exe unresolved external symbol _mainCRTStartup
- x86 Wrote a boot loader that prints a message to the screen but the characters are completely different to what I expected
- running an imf file using dosbox in parallel to a game
Related Questions in BIOS
- how to access to the bios in a thomson SP-HERO91.1BK32
- Purpose of stack register(s) in holding 0x7c00
- Behavior of the adress 0x7e00 in different sectors and their alternatives
- UEFI Event Logs
- Loading disk sector into memory (AT&T)
- x86 BIOS stage 1 boot code halting after loop from interrupt
- Patching UEFI Pei module problems with addresses
- Thunderbolt ex4 and Docking Station
- Bios enable disable buttons are not clickable
- memory allocation in real mode in the MBR
- Calculate time taken by program to run in uefi
- Confusion regarding CS and DS segment registers during bootloading process
- Bootloader Functionality in Context of JOS and significance of the MBR signature
- UEFI how to add user
- is there a bios interrupt or something like that to wait?
Related Questions in FIRMWARE
- IMX8Mmini firmware upgrade with fallback mechanism
- Using SST89E516RD controller, how to write the variable values into internal flash memory and read back from flash memory
- Change text color in Z80 assembly for Amstrad CPC 464
- Can customers share their code without expose it?
- Save Bcdedit Firmware to Array in Batch File
- Problem on executing firmware from Bank2 on STM32 Dual-Bank flash
- PC cannot detect USB when update firmware for alwinner board
- Can't extract squashfs file system using unsquashfs tools
- adding firmware binary(.bin) in flash image in Modular FIT?
- How to program (compile/write) a firmware of DSPGroup's baseband chip DE56
- MC3635 convert Gs to delta and mux for interupt threshold
- RP2040-Zero (using Arduino C++) does not persist loaded program
- Reading 14 bytes of factory calibration for the TM8801 in the ESP32
- Is possible to connect to a device passing security keys/token and authenticate without bonding/pairin
- H3C MSR20 40 Firmware
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
You are talking about the video BIOS, not about the screen memory?
In early IBM computers (like the "PC", the "XT" or the "AT"), the 128K addresses range from
C000h:0htoD000h:FFFFh(this is the linear address rangeC0000htoDFFFFh) was intended for the firmware (BIOS) of add-on cards which were not supported by the "on-board" BIOS.The first 32K (
C0000htoC7FFFh) of this address range were reserved for video cards that were not supported by the on-board BIOS; the remaining 96K could be used by other types of cards (such as SCSI hard-disk controllers or network cards supporting booting from the network).For computers with an on-board video card, this is done by the BIOS itself. In the technical reference manual of the "IBM PCjr" (a computer sold in 1983), you'll find the source code of such a BIOS.
When the BIOS starts up the computer, it is searching for add-on cards which have a firmware in the 128K address range mentioned above.
It detects the firmware of the video card and runs this firmware.
The reason why a video card has an own firmware is simple:
Especially for video cards providing more than VGA (16 colors at 640x480 pixels and 256 colors at 320x200 pixels) the initialization sequence is depending from manufacturer to manufacturer.
So for modern computers you cannot answer the "generic" question: "How does the BIOS initialize the screen?", but you could only answer the question how this is done for a certain manufacturer.
However, I suspect that most video cards' firmwares would put the card into a state where the card behaves like a VGA card, put the card into BIOS video mode 3 (80x25 text), fill the video memory with space characters (so the screen is empty) and put the text cursor to the top left corner.