flat assembler
Message board for the users of flat assembler.
Index
> OS Construction > What is A20 Enabler?? |
Author |
|
decard 29 Feb 2004, 18:41
By default, when you turn your computer on, line A20 is disabled, which means that you cannot access the memory above 1MB - the addreses will be rounded. You have to enable this line to gain full access to your memory.
|
|||
29 Feb 2004, 18:41 |
|
milind 29 Feb 2004, 21:09
Ok yes I understood upto that part, I was looking for a more specific answer, why do access the keyboard controller to enable it and again as i said i could not find anything about this in the pentium manuals, is it more specific to the motherboard design?
I would really like to know why we do , what we do to enable this A20 line. And why is it not enabled by default in restart. |
|||
29 Feb 2004, 21:09 |
|
f0dder 29 Feb 2004, 22:00
Iirc, A20 is not enabled by default, because a few 8086 apps depended on the wraparound that occurs at the very last high addresses - pretty moronic, imo.
And why do we use the keyboard controller? They needed to put the ability in some controller somewhere, and it was probably too expensive to make a controller just to fiddle with the A20 line, so - "might as well use the keyboard controller". Just PS/2 mice feels somewhat hacky to work with. |
|||
29 Feb 2004, 22:00 |
|
decard 29 Feb 2004, 22:11
At start A20 is disabled to provide backward compatibility. I don't know exactly why it uses keyboard controller, but is it important?
Anyway you can take a look at http://www.osdever.net - you will surely find something interesting about A20 line. regards |
|||
29 Feb 2004, 22:11 |
|
milind 01 Mar 2004, 14:32
f0dder wrote: Iirc, A20 is not enabled by default, because a few 8086 apps depended on the wraparound that occurs at the very last high addresses - pretty moronic, imo. Ok 1st of all please clarify what exactly is A20 enabler. Enabling it enables access of addresses above 1 MB or it enables accesses upto 1MB?? In the Intel Manual it says that in Real Address mode post reset 1MB memory is addressable and when switched to protected mode full 64GB of physical space can be addressed. So it seems to me this thing is not actually a processor thing which one can also get the hint because we are writing to the keyboard controller. So this means it is a board specific thing. SO why have they implemented this if the processor itself restrics addresses upto 1MB. |
|||
01 Mar 2004, 14:32 |
|
milind 01 Mar 2004, 14:41
Ok Sorry for my previous post, I found the explanation in the Intel manual, I was wrong, the processor does not do wraparound, and so the A20# pin has to enabled. But still one thing is unclear. From where did the steps to enable the line are known. I have seen some boot loader codes thats the only source aren't there any datasheets or manuals for this available?
|
|||
01 Mar 2004, 14:41 |
|
Gomer73 01 Mar 2004, 19:11
You might want to look at the FASM code.
Apparently the PS/2's have even a different way of enabling the A20 line. Schematics for IBM computers would definitely show it. I have some old schematics(not in computer format) which show some of the stuff like A20, but they aren't up to date. The thing is that the A20 has nothing to do with the processor. It also has nothing to do with the chips on the motherboard. The commands to enable the A20 is just how the manufacturer(IBM) chose to solder the chips on the motherboard. Since IBM set the standard as to how a "PC" was built, everybody copied them in order for the software to work. IBM would be the source for the info you are looking for, good luck. It is just like the keyboard port could be port 1234h if that is what IBM chose. It is important to note that ports 60h-64h are not the keyboard controller. You can use the ports to access the keyboard controller, but those ports are wired to do a whole lot more. Ralph Brown's Interrupt List will show you what you need to know although his stuff is tough to read and it is not the "official" documentation. |
|||
01 Mar 2004, 19:11 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.