VOGONS


First post, by videogamer555

User metadata
Rank Member
Rank
Member

After reading how complicated this is (for something so commonly used on any modern CPU that it should NOT be this complicated), I'm wondering which method of enabling the A20 line that DosBox uses. Here's the article I read about how to program in ASM to activate the A20 line.
http://www.independent-software.com/operating … g-a20-line.html

I hope that DosBox allows for a very easy method of doing this.

Reply 1 of 2, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie

Abstracting away those differences is part of the job of XMS e.g. HIMEM.SYS. I think you should be checking whether an XMS provider is installed (which in DOSBOX should always be the case) and then use the XMS API calls to enable and disable A20. What are you trying to do, write a DOS extender?

Reply 2 of 2, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The most direct way to control the A20 line is with bit 1 of port 92h, but as already mentioned there are XMS functions which might be a better choice to use because they manage the state of the A20 line across possible multiple client situations. Keyboard hardware methods of controlling the A20 line are supported. BIOS subfunctions of INT 15h/24h were added in SVN, yet another way to control the A20 line.