BCOS 80x86 Stage 1 SourceProject Map
80x86 Common PC BIOS Module
File: 80x86/sys_src/p1/pc_bios/commonpc/0index.asm
 

Copyright © Brendan Trotter 2008

This material is provided by Brendan Trotter as a service to interested parties on an "as-is" basis, for informational purposes only. Brendan Trotter assumes no responsibility for any errors or omissions. Brendan Trotter does not make, and expressly disclaims any, representations or warranties, express or implied, regarding this web page and the host web site, including, without limitation, any implied warranties of merchantability or fitness for a particular purpose.

Under no circumstances shall Brendan Trotter, or any associated contributors, volunteers or representatives be liable for any damages, whether direct, indirect, special or consequential damages for lost revenues, lost profits, or otherwise, arising from or in connection with this web page, the host web site, or the materials contained herein.

All materials contained in these files are protected by copyright laws, and may not be reproduced, republished, distributed, transmitted, displayed, broadcast or otherwise exploited in any manner without the express prior written permission of Brendan Trotter. You may make one copy of this web page for your personal and non-commercial use only, without altering or removing this copyright notice or any other notice.




Overview

This index file determines the layout of all other source files in memory. The final binary is used to complete the firmware specific part of boot on behalf of boot loaders designed for the PC BIOS (so that all the code here doesn't need to be duplicated in each of these boot loaders).

The boot loader is responsible for complying with the Common PC BIOS Module Transition State Specification before starting this code. This code is responsible for complying with the BCOS Transition State 1 Specification before starting the (firmware independant) Boot Manager.


Start Of Code


Included System Files

The following line/s include standard "include" files into the binary.

26: ;Standard include files
27: 
28: 
%include "asm.inc"
29: %include "ff/header.inc"
30: %include "kernel/log.inc"
31: 
32: 
%include "options.inc"
33: %include "vbe.inc"
34: %include "kernel/a20.inc"
35: %ifdef ENABLE_INTERACTIVE
36:  %include "kernel/pasm.inc"
37:  %include "object.inc"
38: %endif


Assembler Setup

Here we tell the assembler what address the code starts at, what mode the CPU is expected to be operating in and which instructions to accept.

47:       ORG 0x00001000
48: 
49: 
      BITS 16
50:       CPU 486
51: 
52: 
TEXT_START:
53:       section .bss
54: BSS_START:
55:       section .text


Executable Header

61: ;Native File Format Header
62: 
63: 
      NFF_HEADER TEXT_END - TEXT_STARTFILETYPE_BCOS_commonPCBIOS
64: 
65: 
;Extended Header (see the BCOS 80x86 Common PC BIOS Module File Format Specification)
66: 
67: 
      dw START                            ;Entry Point


Source Code

 74: %include "data.asm"
 75: %include "init.asm"
 76: %include "abort.asm"
 77: %include "goflat.asm"
 78: %include "findtble.asm"
 79: %include "unicode/toascii.asm"
 80: %include "video1/init.asm"
 81: %include "video1/print.asm"
 82: %include "bcat/init.asm"
 83: %include "bcat/find.asm"
 84: %include "bcat/addentry.asm"
 85: %include "bcat/finalize.asm"
 86: %include "mem/init.asm"
 87: %include "mem/clean.asm"
 88: %include "mem/alloc.asm"
 89: %include "mem/realloc.asm"
 90: %include "mem/free.asm"
 91: %include "mem/show.asm"
 92: %include "log/init.asm"
 93: %include "log/addchar.asm"
 94: %include "log/adddec.asm"
 95: %include "log/addhex.asm"
 96: %include "log/addstrng.asm"
 97: %include "bimage/init.asm"
 98: %include "bimage/find.asm"
 99: %include "file/check.asm"
100: %include "file/crc.asm"
101: %include "file/decomp.asm"
102: %include "script/init.asm"
103: %include "script/addbool.asm"
104: %include "script/addstrng.asm"
105: %include "script/addfile.asm"
106: %include "script/addint.asm"
107: %include "script/getinfo.asm"
108: %include "script/getspace.asm"
109: %include "script/fndentry.asm"
110: %include "script/fndbool.asm"
111: ;%include "script/fndstrng.asm"
112: %include "script/fndfile.asm"
113: %include "script/fndint.asm"
114: %include "script/delentry.asm"
115: %include "script/dump.asm"
116: %include "script/finalize.asm"
117: 
118: 
%include "acpi/check.asm"
119: %include "acpi/init.asm"
120: %include "mps/check.asm"
121: %include "mps/init.asm"
122: %include "mps/default.asm"
123: %include "smbios/check.asm"
124: %include "smbios/init.asm"
125: %include "smbios/find.asm"
126: %include "smbios/getinfo.asm"
127: %include "pci/init.asm"
128: 
129: 
%include "edid/getedid.asm"
130: %include "edid/parse.asm"
131: %include "edid/showedid.asm"
132: %include "edid/ratevga.asm"
133: %include "edid/rateet.asm"
134: %include "edid/ratenofr.asm"
135: %include "edid/findft.asm"
136: %include "gtf/simple.asm"
137: ;%include "gtf/getvrate.asm"
138: %include "cvt/simple.asm"
139: %include "video2/getlist.asm"
140: %include "video2/sort.asm"
141: %include "video2/getspace.asm"
142: %include "video2/vbemode.asm"
143: %include "video2/getpfrqs.asm"
144: %include "video2/forceft.asm"
145: ;%include "video2/sqrt.asm"
146: ;%include "video2/gtf.asm"
147: %include "video2/showlist.asm"
148: ;%include "video2/ratevga.asm"
149: ;%include "video2/rateedid.asm"
150: %include "video2/setmode.asm"
151: %include "video2/badcrtc.asm"
152: %include "video2/getpref.asm"
153: %include "video2/findbest.asm"
154: %include "video2/setosvmd.asm"
155: %include "video2/restore.asm"
156: %include "s2managr/init.asm"
157: %include "s2managr/start.asm"
158: %include "s2managr/intrface.asm"
159: 
160: 
%ifdef ENABLE_INTERACTIVE
161:  %include "interact/data.asm"
162:  %include "interact/init.asm"
163:  %include "interact/vidreset.asm"
164:  %include "interact/main.asm"
165:  %include "interact/mainmenu.asm"
166:  %include "interact/vidmenu.asm"
167:  %include "interact/vprfmenu.asm"
168:  %include "interact/vpxmenu.asm"
169:  %include "interact/vpymenu.asm"
170:  %include "interact/vpdmenu.asm"
171:  %include "interact/vprmenu.asm"
172:  %include "interact/vtestoth.asm"
173:  %include "interact/vtstconf.asm"
174:  %include "interact/vtstmode.asm"
175:  %include "interact/bootlog.asm"
176:  %include "interact/memmenu.asm"
177:  %include "interact/memstats.asm"
178:  %include "interact/pasm.asm"
179:  %include "interact/pageuse.asm"
180:  %include "interact/redraw.asm"
181:  %include "interact/object/addobj.asm"
182:  %include "interact/object/remobj.asm"
183:  %include "interact/object/drawobj.asm"
184:  %include "interact/object/redrwobj.asm"
185:  %include "interact/object/drawactv.asm"
186:  %include "interact/graphics/dobox.asm"
187:  %include "interact/graphics/dohline.asm"
188:  %include "interact/graphics/doborder.asm"
189:  %include "interact/graphics/doscroll.asm"
190:  %include "interact/graphics/dochar8.asm"
191:  %include "interact/graphics/dostr8.asm"
192:  %include "interact/graphics/dochar16.asm"
193:  %include "interact/graphics/dostr16.asm"
194:  %include "interact/graphics/dodec8.asm"
195:  %include "interact/graphics/dohex8.asm"
196:  %include "interact/graphics/setdepth.asm"
197:  %include "interact/graphics/doshadow.asm"
198:  %include "interact/graphics/blitall.asm"
199:  %include "interact/graphics/blit.asm"
200:  %include "interact/testpat/gen.asm"
201:  %include "interact/testpat/gen4bpp.asm"
202:  %include "interact/testpat/gen8bpp.asm"
203:  %include "interact/testpat/gen15bpp.asm"
204:  %include "interact/testpat/gen16bpp.asm"
205:  %include "interact/testpat/gen24bpp.asm"
206:  %include "interact/testpat/gen32bpp.asm"
207:  %include "interact/keyboard/init.asm"
208:  %include "interact/keyboard/flush.asm"
209:  %include "interact/keyboard/check.asm"
210:  %include "interact/keyboard/getkey.asm"
211:  %include "interact/keyboard/waitkey.asm"
212: %endif


The End

Here we define a few labels that are used later.

221:       align 4
222: TEXT_END:
223:       section .bss
224:       alignb 4
225:       resb 2048                                 ;Stack space
226: STACK_TOP:
227: BSS_END:


Generated on Sat Oct 17 14:06:01 2009