flat assembler
Message board for the users of flat assembler.

Index > OS Construction > Memory Spectrum

Author
Thread Post new topic Reply to topic
Navic



Joined: 05 Mar 2007
Posts: 16
Location: USA
Navic
After searching for weeks trying to find a standard map of the entire PC memory in reference to all existing, necessary structures such as memory mapped I/O, PCI, ROM, etc, I have come up very short. The following questions are assuming operation in protected mode only:

1. What structures exist in memory that are needed for complete PC operation in which all operating systems use? (PCI, mem mapped I/O, VGA, etc)

2. What are the physical addresses and maximum sizes of these structures? (Ex: hdd I/O ports 1F0h - 1F7h are all 1 byte long, so is the physical address 0x00001F0 - 0x00001F7 ?)

3. Does every x86 PC contain these structures with the same physical addresses and sizes?

Thank you!
Post 07 Mar 2007, 18:19
View user's profile Send private message Reply with quote
Navic



Joined: 05 Mar 2007
Posts: 16
Location: USA
Navic
0F-1F DMA 8237 One
20-3F PIC 8259A Master
40-5F 8254-2
60-6F 8042 Keyboard
70-7F CMOS, RTC
70 CMOS Command
71 CMOS Data
80-9F DMA Page Register
87 DMA Ch.0
83 DMA Ch.1
81 DMA Ch.2
82 DMA Ch.3
8B DMA Ch.5
89 DMA Ch.6
8A DMA Ch.7
8F Refresh
A0-BF PIC 8259A Slave
C0-DF DMA 8237 Two
F0 Clear 80287 Math Coprocessor Busy
F1 Reset 80287 Math Coprocessor
F8-FF 80287 Math Coprocessor
170-177 IDE ATA Secondary Controller
170 Data
171 Error
172 Sector Count
173 LBA Sector Low
174 LBA Sector Mid
175 LBA Sector Hi
176 Drive/Head
177 Status (Read)
1F0-1F7 IDE ATA Primary Controller
1F0 Data
1F1 Error
1F2 Sector Count
1F3 LBA Sector Low
1F4 LBA Sector Mid
1F5 LBA Sector Hi
1F6 Drive/Head
1F7 Status (Read)
Command (Write)
200-20F Game Controller
210-217 Expansion Unit
278-27F LPT2 Parallel Port
280-29F ?
2E8-2EF COM4
2E1 GPIB Adapter 0
2F8-2FF COM2
2E2-2E3 Data Acquisition
300-31F Prototype Card / 3COM
320-32F XT Hard Disk
378-37F LPT1 Parallel Port
380-38C Seconday Bi-sync
3A0-3A9 Primary Bi-sync
3B0-3BB Monochrome Display
3C0-3CF EGA Display
3D0-3DF CGA Display
3E8-3EF COM3
3F0-3F7 Floppy Controller
3F8-3FF COM1


This is what I've found so far. I'm sure there are more devices than this, and I know the PCI space is in a different place completely.
Post 10 Mar 2007, 00:17
View user's profile Send private message Reply with quote
Chewy509



Joined: 19 Jun 2003
Posts: 297
Location: Bris-vegas, Australia
Chewy509
You're after the "Ralf Brown's Int List" or RBIL. It has most BIOS INT's, memory maps, PCI device cfg lists, etc.

It should have everything you're after.

Grab it here: http://www.cs.cmu.edu/~ralf/files.html
Post 10 Apr 2007, 02:54
View user's profile Send private message Visit poster's website Reply with quote
f0dder



Joined: 19 Feb 2004
Posts: 3170
Location: Denmark
f0dder
There's also an online/html version, which might be more handy: http://www.ctyme.com/rbrown.htm
Post 10 Apr 2007, 06:02
View user's profile Send private message Visit poster's website Reply with quote
Hayden



Joined: 06 Oct 2005
Posts: 132
Hayden
checkout dosref33.zip chapter 2 I've just posted it in the DOS forum
Post 10 Apr 2007, 06:34
View user's profile Send private message Reply with quote
Adam Kachwalla



Joined: 01 Apr 2006
Posts: 150
Adam Kachwalla
The first 512 addresses are reserved for system devices (eg. system speaker that makes beeeeeps, int. controllers, etcetera)

BTW, is this any different for 64-bit processors? Ralf Brown's Interrupt List (as I found it) only specifies interrupts for up to 80586 (Pentium)
Post 25 Apr 2007, 08:20
View user's profile Send private message Reply with quote
Display posts from previous:
Post new topic Reply to topic

Jump to:  


< Last Thread | Next Thread >
Forum Rules:
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Copyright © 1999-2020, Tomasz Grysztar.

Powered by rwasa.