Browse Source

Merge pull request #1 from grissiom/update-more-crlf

LGTM, thanks!
Ming, Bai 12 years ago
parent
commit
02b8e9366f

+ 6 - 0
.gitattributes

@@ -23,14 +23,20 @@
 *.xml text
 SConscript text
 Makefile text
+AUTHORS text
+COPYING text
 
 *.LZO -text
 *.Opt -text
 *.Uv2 -text
+*.ewp -text
+*.eww -text
+*.vcproj -text
 *.bat -text
 *.dos -text
 *.icf -text
 *.inf -text
 *.ini -text
 *.sct -text
+*.xsd -text
 Jamfile -text

+ 45 - 45
AUTHORS

@@ -1,45 +1,45 @@
-Kernel Design & Implementation
-- Bernard Xiong <bernard.xiong@gmail.com>
-
-LwIP 1.3.0/1.3.1/1.3.2/1.4.0
-- Porting
-  Qiu Yi
-  Mbbill
-- Testing
-  Bernard Xiong
-
-Filesystem
-- Porting and Add Virtual Filesystem
-- Testing
-  Qiu Yi
-  prife
-
-RTGUI
-- Design and Implemenation
-  Bernard Xiong
-  Grissiom
-
-BSP
-Bernard Xiong
-- ATMEL AT91SAM7S64 & AT91SAM7X256 Porting
-- STM32 Porting
-- S3C4510 Porting
-
-Mbbill
-- ATMEL AT91SAM7X256
-
-Xulong Cao
-- QEMU/x86
-
-Aozima
-- LPC 2148 Porting
-- STM32 Porting
-
-Jing Lee
-- LPC 2478 Porting
-
-Qiu Yi
-- S3C2410 & S3C2440 Porting
-- TI LM3S
-
-others...
+Kernel Design & Implementation
+- Bernard Xiong <bernard.xiong@gmail.com>
+
+LwIP 1.3.0/1.3.1/1.3.2/1.4.0
+- Porting
+  Qiu Yi
+  Mbbill
+- Testing
+  Bernard Xiong
+
+Filesystem
+- Porting and Add Virtual Filesystem
+- Testing
+  Qiu Yi
+  prife
+
+RTGUI
+- Design and Implemenation
+  Bernard Xiong
+  Grissiom
+
+BSP
+Bernard Xiong
+- ATMEL AT91SAM7S64 & AT91SAM7X256 Porting
+- STM32 Porting
+- S3C4510 Porting
+
+Mbbill
+- ATMEL AT91SAM7X256
+
+Xulong Cao
+- QEMU/x86
+
+Aozima
+- LPC 2148 Porting
+- STM32 Porting
+
+Jing Lee
+- LPC 2478 Porting
+
+Qiu Yi
+- S3C2410 & S3C2440 Porting
+- TI LM3S
+
+others...

+ 1 - 1
bsp/avr32uc3b0/SOFTWARE_FRAMEWORK/DRIVERS/INTC/exception.x

@@ -1,4 +1,4 @@
-/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */
+/* This file is part of the ATMEL AVR-UC3-SoftwareFramework-1.7.0 Release */
 
 /*This file is prepared for Doxygen automatic documentation generation.*/
 /*! \file *********************************************************************

+ 740 - 740
bsp/bf533/vdsp/bf533.dpj

@@ -1,740 +1,740 @@
-<?xml version="1.0" encoding='ISO-8859-1'?>
-<visualdsp-project schema="17" name="bf533" file="bf533.dpj" version="1">
-	<!-- Project build target -->
-	<target>
-		<processor revision="Automatic">ADSP-BF533</processor>
-		<extension>.ldr</extension>
-		<type>Loader file</type>
-	</target>
-	<!-- Configurations -->
-	<configurations active="Debug">
-		<configuration name="Debug">
-			<intermediate-dir>.\Debug</intermediate-dir>
-			<output-dir>.\Debug</output-dir>
-			<changed-property-page-flags>0</changed-property-page-flags>
-			<tools>
-				<tool type="Compiler">
-					<option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>50|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>../../../include;../;../../../components/finsh;../../../libcpu/blackfin/bf53x;../../../src;|-no-std-inc>0|-double-size-64>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
-				</tool>
-				<tool type="Assembler">
-					<option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0|-i>../../../include;../;../../../components/finsh;../../../libcpu/blackfin/bf53x;../../../src;]]></option>
-				</tool>
-				<tool type="Linker">
-					<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-MD>USE_FILEIO,__cplusplus,USER_CRT="bf533_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>1|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1|AdditionalOptions>-T ./bf533_ram.ldf]]></option>
-				</tool>
-				<tool type="Archiver">
-					<option><![CDATA[]]></option>
-				</tool>
-				<tool type="Loader">
-					<option><![CDATA[|-Version>4.5|-b Flash>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >0|-init>"./bf533_init.dxe"|-o>bf533.ldr|-zinit>0|-COMPRESSION>0|-COMPRESSIONOVERLAY>0|-RETAINSECONDSTAGEKERNEL>0|-COMPRESSWS>9|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
-				</tool>
-				<tool type="VdkGen">
-					<option><![CDATA[]]></option>
-				</tool>
-			</tools>
-		</configuration>
-		<configuration name="Release">
-			<intermediate-dir>.\Release</intermediate-dir>
-			<output-dir>.\Release</output-dir>
-			<changed-property-page-flags>12</changed-property-page-flags>
-			<tools>
-				<tool type="Compiler">
-					<option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>0|-g>0|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>../uCOS-II/Source;../uCOS-II/Config;../uCOS-II/Ports;../Apps;../BSP|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
-				</tool>
-				<tool type="Assembler">
-					<option><![CDATA[|-Version>4.5|-v>0|-g>0|-l>0|-save-temps>0|-sp>0|-i>../uCOS-II/Source;../uCOS-II/Config;../uCOS-II/Ports;../Apps;../BSP]]></option>
-				</tool>
-				<tool type="Linker">
-					<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>1|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1|-flags-link -MDUSE_CACHE>0|-MD>USE_FILEIO,__cplusplus,USER_CRT="ARZ-3B_basiccrt.doj",USER_CRT="ARZ-3B-DSP_basiccrt.doj",USER_CRT="ARZ-3M3B_basiccrt.doj",USER_CRT="bf533_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE]]></option>
-				</tool>
-				<tool type="Archiver">
-					<option><![CDATA[]]></option>
-				</tool>
-				<tool type="Loader">
-					<option><![CDATA[|-Version>4.5|-b Flash>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-HoldTime >-1|-pFlag >0|-zinit>0|-COMPRESSION>0|-COMPRESSIONOVERLAY>0|-RETAINSECONDSTAGEKERNEL>0|-COMPRESSWS>9|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
-				</tool>
-				<tool type="VdkGen">
-					<option><![CDATA[]]></option>
-				</tool>
-			</tools>
-		</configuration>
-	</configurations>
-	<!-- Project folders -->
-	<folders>
-		<folder name="Generated Files">
-			<folders>
-				<folder name="Startup">
-					<files>
-						<file name=".\bf533_basiccrt.s">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-				<folder name="User Heap">
-					<files>
-						<file name=".\bf533_heaptab.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-			</folders>
-		</folder>
-		<folder name="Header Files" ext=".h,.hpp,.hxx">
-		</folder>
-		<folder name="Linker Files" ext=".ldf,.dlb">
-		</folder>
-		<folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
-			<folders>
-				<folder name="finsh">
-					<files>
-						<file name="..\..\..\components\finsh\cmd.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_compiler.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_error.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_heap.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_init.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_node.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_ops.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_parser.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_token.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_var.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\finsh_vm.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\shell.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\components\finsh\symbol.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-				<folder name="kernel">
-					<files>
-						<file name="..\..\..\src\clock.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\device.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\idle.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\ipc.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\irq.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\kservice.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\mem.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\mempool.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\module.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\module.h">
-						</file>
-						<file name="..\..\..\src\object.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\rtm.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\scheduler.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\slab.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\thread.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\src\timer.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-				<folder name="port">
-					<files>
-						<file name="..\..\..\libcpu\blackfin\bf53x\context_vdsp.S">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\libcpu\blackfin\bf53x\cpuport.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\..\..\libcpu\blackfin\bf53x\serial.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-				<folder name="startup">
-					<files>
-						<file name="..\application.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\board.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-						<file name="..\startup.c">
-							<file-configurations>
-								<file-configuration name="Debug">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Debug</intermediate-dir>
-									<output-dir>.\Debug</output-dir>
-								</file-configuration>
-								<file-configuration name="Release">
-									<excluded-flag value="no"/>
-									<build-with-flag value="project"/>
-									<intermediate-dir>.\Release</intermediate-dir>
-									<output-dir>.\Release</output-dir>
-								</file-configuration>
-							</file-configurations>
-						</file>
-					</files>
-				</folder>
-			</folders>
-		</folder>
-	</folders>
-	<!-- System Builder Components -->
-	<system-builder-component-tables>
-		<system-builder-plugin name="Standard application">
-			<system-builder-component name="Application Settings">
-				<property name="Add source code"><![CDATA[False]]></property>
-				<property name="Output type"><![CDATA[Loader file]]></property>
-			</system-builder-component>
-			<system-builder-component name="Select Processor">
-				<property name="Processor family"><![CDATA[Blackfin]]></property>
-			</system-builder-component>
-		</system-builder-plugin>
-		<system-builder-plugin name="Startup Code Wizard" version="2.0">
-			<system-builder-component name="Cache and Memory Protection">
-				<property name="DCBS"><![CDATA[Set]]></property>
-				<property name="Data cache memory configuration"><![CDATA[RAM with no memory protection]]></property>
-				<property name="Generate support for memory protection"><![CDATA[False]]></property>
-				<property name="Instruction cache memory configuration"><![CDATA[Instruction cache]]></property>
-				<property name="Write-back cache"><![CDATA[False]]></property>
-				<property name="Write-through cache"><![CDATA[False]]></property>
-			</system-builder-component>
-			<system-builder-component name="Compiler Instrumented Profiling">
-				<property name="Enable profiling"><![CDATA[False]]></property>
-				<property name="Profiling output"><![CDATA[mon.out]]></property>
-			</system-builder-component>
-			<system-builder-component name="Configuration">
-				<property name="Add startup code"><![CDATA[True]]></property>
-				<property name="Startup code template schema"><![CDATA[3.6]]></property>
-			</system-builder-component>
-			<system-builder-component name="Linker Options">
-				<property name="Search Directory"><![CDATA[]]></property>
-			</system-builder-component>
-			<system-builder-component name="Processor clock and power settings">
-				<property name="Clock and power settings"><![CDATA[Optimize for speed]]></property>
-				<property name="Configure clock and power settings"><![CDATA[False]]></property>
-				<property name="EZ-KIT"><![CDATA[600 MHz ADSP-BF533 EZ-KIT (silicon revisions up to 1.6)]]></property>
-			</system-builder-component>
-			<system-builder-component name="Program Running From">
-				<property name="Internal Memory"><![CDATA[True]]></property>
-			</system-builder-component>
-			<system-builder-component name="Project Options">
-				<property name="Compiler Multicore"><![CDATA[False]]></property>
-				<property name="Configuration"><![CDATA[Debug]]></property>
-				<property name="Intermediate Directory"><![CDATA[.\Debug]]></property>
-				<property name="Linker Multicore"><![CDATA[False]]></property>
-				<property name="Name"><![CDATA[bf533]]></property>
-				<property name="Processor"><![CDATA[ADSP-BF533]]></property>
-				<property name="Silicon Revision"><![CDATA[Automatic]]></property>
-				<property name="Strict IEEE Floating Point Compliance"><![CDATA[False]]></property>
-				<property name="Use C++ exceptions libraries"><![CDATA[False]]></property>
-			</system-builder-component>
-			<system-builder-component name="Run-time Initialization">
-				<property name="I/O device initialization"><![CDATA[True]]></property>
-				<property name="Initialize data registers"><![CDATA[False]]></property>
-				<property name="Initialize return registers to zero"><![CDATA[False]]></property>
-				<property name="Run-time memory initialization"><![CDATA[False]]></property>
-			</system-builder-component>
-			<system-builder-component name="Welcome">
-				<property name="Enabled"><![CDATA[True]]></property>
-			</system-builder-component>
-		</system-builder-plugin>
-	</system-builder-component-tables>
-</visualdsp-project>
+<?xml version="1.0" encoding='ISO-8859-1'?>
+<visualdsp-project schema="17" name="bf533" file="bf533.dpj" version="1">
+	<!-- Project build target -->
+	<target>
+		<processor revision="Automatic">ADSP-BF533</processor>
+		<extension>.ldr</extension>
+		<type>Loader file</type>
+	</target>
+	<!-- Configurations -->
+	<configurations active="Debug">
+		<configuration name="Debug">
+			<intermediate-dir>.\Debug</intermediate-dir>
+			<output-dir>.\Debug</output-dir>
+			<changed-property-page-flags>0</changed-property-page-flags>
+			<tools>
+				<tool type="Compiler">
+					<option><![CDATA[|-Version>5.0|-O>0|-O1>0|-Ov>50|-ipa>0|-g>1|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>1|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>0|-misra-testing>0|-misra-suppress-advisory>0|-I>../../../include;../;../../../components/finsh;../../../libcpu/blackfin/bf53x;../../../src;|-no-std-inc>0|-double-size-64>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
+				</tool>
+				<tool type="Assembler">
+					<option><![CDATA[|-Version>4.5|-v>0|-g>1|-l>0|-save-temps>0|-sp>0|-i>../../../include;../;../../../components/finsh;../../../libcpu/blackfin/bf53x;../../../src;]]></option>
+				</tool>
+				<tool type="Linker">
+					<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>0|-MD>USE_FILEIO,__cplusplus,USER_CRT="bf533_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>1|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1|AdditionalOptions>-T ./bf533_ram.ldf]]></option>
+				</tool>
+				<tool type="Archiver">
+					<option><![CDATA[]]></option>
+				</tool>
+				<tool type="Loader">
+					<option><![CDATA[|-Version>4.5|-b Flash>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-BaudRate 500k>1|-HoldTime >-1|-pFlag >0|-init>"./bf533_init.dxe"|-o>bf533.ldr|-zinit>0|-COMPRESSION>0|-COMPRESSIONOVERLAY>0|-RETAINSECONDSTAGEKERNEL>0|-COMPRESSWS>9|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
+				</tool>
+				<tool type="VdkGen">
+					<option><![CDATA[]]></option>
+				</tool>
+			</tools>
+		</configuration>
+		<configuration name="Release">
+			<intermediate-dir>.\Release</intermediate-dir>
+			<output-dir>.\Release</output-dir>
+			<changed-property-page-flags>12</changed-property-page-flags>
+			<tools>
+				<tool type="Compiler">
+					<option><![CDATA[|-Version>5.0|-O>1|-O1>1|-Ov>100|-ipa>0|-g>0|-no-annotate>0|-save-temps -path-output>0|-ED>0|-no-auto-attrs>0|-no-builtin>0|-no-extra-keywords>0|-enum-is-int>0|-no-fp-associative>0|-structs-do-not-overlap>1|-implicit-pointers>0|-eh >0|-rtti>0|-check-init-order>0|-ignore-std>0|-const-read-write>0|-const-strings>0|-no-multiline>1|-misra>0|-misra-strict>0|-misra-no-cross-module>0|-misra-no-runtime>1|-misra-testing>1|-misra-suppress-advisory>0|-I>../uCOS-II/Source;../uCOS-II/Config;../uCOS-II/Ports;../Apps;../BSP|-no-std-inc>0|-double-size-32>1|-double-size-any>0|-Ofp>0|-full-io>0|-guard-vol-loads>0|-decls-strong>1|-no-saturation>0|-cplbs>0|-sdram>0|-multicore>0|-pguide>0|NOSWITCH>0|-flags-compiler --diag_warning,implicit_func_decl>0|-warn-protos>1|-flags-compiler --diag_warning,call_not_inlined>0|-Wremarks>0|-w>0]]></option>
+				</tool>
+				<tool type="Assembler">
+					<option><![CDATA[|-Version>4.5|-v>0|-g>0|-l>0|-save-temps>0|-sp>0|-i>../uCOS-II/Source;../uCOS-II/Config;../uCOS-II/Ports;../Apps;../BSP]]></option>
+				</tool>
+				<tool type="Linker">
+					<option><![CDATA[|-Version>5.0|-flags-link -t>0|-flags-link -S>0|-flags-link -s>0|-mem>0|-flags-link -warnonce>0|-map>1|-flags-link -xref>0|-flags-link -save-temps>0|-flags-link -ip>1|-flags-link -e>1|-flags-link -ev>0|-add-debug-libpaths>0|-flags-link -MD__ADI_LIBEH__>0|-multicore>0|NOSWITCH>1|-flags-link -MDUSE_CACHE>0|-MD>USE_FILEIO,__cplusplus,USER_CRT="ARZ-3B_basiccrt.doj",USER_CRT="ARZ-3B-DSP_basiccrt.doj",USER_CRT="ARZ-3M3B_basiccrt.doj",USER_CRT="bf533_basiccrt.doj",USE_CACHE,USE_INSTRUCTION_CACHE]]></option>
+				</tool>
+				<tool type="Archiver">
+					<option><![CDATA[]]></option>
+				</tool>
+				<tool type="Loader">
+					<option><![CDATA[|-Version>4.5|-b Flash>1|-f BINARY>1|-Width 16>1|-p>0x0|DefaultStart>0|-v>0|-waits >-1|-HoldTime >-1|-pFlag >0|-zinit>0|-COMPRESSION>0|-COMPRESSIONOVERLAY>0|-RETAINSECONDSTAGEKERNEL>0|-COMPRESSWS>9|-No2Kernel>0|-o2>0|-kb Flash>1|-kf HEX>1|-kWidth 8>1|-kp>0x0|DefaultKernelStart>1|UserKernel>1|-romsplitter>0|split HEX>1|-maskaddr>0]]></option>
+				</tool>
+				<tool type="VdkGen">
+					<option><![CDATA[]]></option>
+				</tool>
+			</tools>
+		</configuration>
+	</configurations>
+	<!-- Project folders -->
+	<folders>
+		<folder name="Generated Files">
+			<folders>
+				<folder name="Startup">
+					<files>
+						<file name=".\bf533_basiccrt.s">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+				<folder name="User Heap">
+					<files>
+						<file name=".\bf533_heaptab.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+			</folders>
+		</folder>
+		<folder name="Header Files" ext=".h,.hpp,.hxx">
+		</folder>
+		<folder name="Linker Files" ext=".ldf,.dlb">
+		</folder>
+		<folder name="Source Files" ext=".c,.cpp,.cxx,.asm,.dsp,.s">
+			<folders>
+				<folder name="finsh">
+					<files>
+						<file name="..\..\..\components\finsh\cmd.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_compiler.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_error.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_heap.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_init.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_node.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_ops.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_parser.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_token.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_var.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\finsh_vm.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\shell.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\components\finsh\symbol.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+				<folder name="kernel">
+					<files>
+						<file name="..\..\..\src\clock.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\device.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\idle.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\ipc.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\irq.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\kservice.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\mem.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\mempool.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\module.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\module.h">
+						</file>
+						<file name="..\..\..\src\object.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\rtm.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\scheduler.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\slab.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\thread.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\src\timer.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+				<folder name="port">
+					<files>
+						<file name="..\..\..\libcpu\blackfin\bf53x\context_vdsp.S">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\libcpu\blackfin\bf53x\cpuport.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\..\..\libcpu\blackfin\bf53x\serial.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+				<folder name="startup">
+					<files>
+						<file name="..\application.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\board.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+						<file name="..\startup.c">
+							<file-configurations>
+								<file-configuration name="Debug">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Debug</intermediate-dir>
+									<output-dir>.\Debug</output-dir>
+								</file-configuration>
+								<file-configuration name="Release">
+									<excluded-flag value="no"/>
+									<build-with-flag value="project"/>
+									<intermediate-dir>.\Release</intermediate-dir>
+									<output-dir>.\Release</output-dir>
+								</file-configuration>
+							</file-configurations>
+						</file>
+					</files>
+				</folder>
+			</folders>
+		</folder>
+	</folders>
+	<!-- System Builder Components -->
+	<system-builder-component-tables>
+		<system-builder-plugin name="Standard application">
+			<system-builder-component name="Application Settings">
+				<property name="Add source code"><![CDATA[False]]></property>
+				<property name="Output type"><![CDATA[Loader file]]></property>
+			</system-builder-component>
+			<system-builder-component name="Select Processor">
+				<property name="Processor family"><![CDATA[Blackfin]]></property>
+			</system-builder-component>
+		</system-builder-plugin>
+		<system-builder-plugin name="Startup Code Wizard" version="2.0">
+			<system-builder-component name="Cache and Memory Protection">
+				<property name="DCBS"><![CDATA[Set]]></property>
+				<property name="Data cache memory configuration"><![CDATA[RAM with no memory protection]]></property>
+				<property name="Generate support for memory protection"><![CDATA[False]]></property>
+				<property name="Instruction cache memory configuration"><![CDATA[Instruction cache]]></property>
+				<property name="Write-back cache"><![CDATA[False]]></property>
+				<property name="Write-through cache"><![CDATA[False]]></property>
+			</system-builder-component>
+			<system-builder-component name="Compiler Instrumented Profiling">
+				<property name="Enable profiling"><![CDATA[False]]></property>
+				<property name="Profiling output"><![CDATA[mon.out]]></property>
+			</system-builder-component>
+			<system-builder-component name="Configuration">
+				<property name="Add startup code"><![CDATA[True]]></property>
+				<property name="Startup code template schema"><![CDATA[3.6]]></property>
+			</system-builder-component>
+			<system-builder-component name="Linker Options">
+				<property name="Search Directory"><![CDATA[]]></property>
+			</system-builder-component>
+			<system-builder-component name="Processor clock and power settings">
+				<property name="Clock and power settings"><![CDATA[Optimize for speed]]></property>
+				<property name="Configure clock and power settings"><![CDATA[False]]></property>
+				<property name="EZ-KIT"><![CDATA[600 MHz ADSP-BF533 EZ-KIT (silicon revisions up to 1.6)]]></property>
+			</system-builder-component>
+			<system-builder-component name="Program Running From">
+				<property name="Internal Memory"><![CDATA[True]]></property>
+			</system-builder-component>
+			<system-builder-component name="Project Options">
+				<property name="Compiler Multicore"><![CDATA[False]]></property>
+				<property name="Configuration"><![CDATA[Debug]]></property>
+				<property name="Intermediate Directory"><![CDATA[.\Debug]]></property>
+				<property name="Linker Multicore"><![CDATA[False]]></property>
+				<property name="Name"><![CDATA[bf533]]></property>
+				<property name="Processor"><![CDATA[ADSP-BF533]]></property>
+				<property name="Silicon Revision"><![CDATA[Automatic]]></property>
+				<property name="Strict IEEE Floating Point Compliance"><![CDATA[False]]></property>
+				<property name="Use C++ exceptions libraries"><![CDATA[False]]></property>
+			</system-builder-component>
+			<system-builder-component name="Run-time Initialization">
+				<property name="I/O device initialization"><![CDATA[True]]></property>
+				<property name="Initialize data registers"><![CDATA[False]]></property>
+				<property name="Initialize return registers to zero"><![CDATA[False]]></property>
+				<property name="Run-time memory initialization"><![CDATA[False]]></property>
+			</system-builder-component>
+			<system-builder-component name="Welcome">
+				<property name="Enabled"><![CDATA[True]]></property>
+			</system-builder-component>
+		</system-builder-plugin>
+	</system-builder-component-tables>
+</visualdsp-project>

+ 236 - 236
bsp/m16c62p/lnkm30627fhp.xcl

@@ -1,236 +1,236 @@
-//================================================================
-//
-//  IAR XLINK command file for the IAR C/C++ Compiler for 
-//  Renesas M16C/R8C
-//
-//  This is an example XLINK command file for use with the
-//  M30627FHP derivative.
-// 
-//  Derivative group: m16c 62p 
-//  
-//
-//  Usage:  xlink  your_file(s)  -f this_file  clm16c*.r48
-//
-//  Copyright 2001-2008 IAR Systems AB.
-//
-//  $Revision: 2144 $ 
-//
-//================================================================
-
-//================================================================
-// The M16C IAR C/EC++ Compiler places code and data into named
-// segments which are referred to by the IAR XLINK Linker. The
-// table below shows the available segments.
-//
-// SEGMENT REFERENCE
-// =================
-//
-// Segment   Description                                             
-// -------   -----------                                             
-// BITVARS      Bit variables.                                          
-// CODE         The program code.                                       
-// CSTACK       The stack used by C or Embedded C++ programs.           
-// CSTART       The startup code.        
-// DATA16_HEAP  Heap data used by malloc and free. Used by CLib and DLib
-// FAR_HEAP     Heap used by malloc and free in DLib
-// DATA20_HEAP  Heap used by malloc and free in DLib
-//
-// x_AC         Non-initialized located const objects.         
-// x_AN         Non-initialized located non-const objects.     
-// x_C          Constant data, including string literals.      
-// x_I          Initialized data.                              
-// x_ID         Data that is copied to x_I by cstartup.   
-// x_N          Uninitialized data.                            
-// x_Z          zero initialized data.                         
-//
-// Where x can be one of:
-//    DATA13  (Range: 0-0x1FFF)
-//    DATA16  (Range: 0-0xFFFF, except DATA16_ID)
-//    DATA20  (Range: 0-0xFFFFF)
-//    FAR     (Range: 0-0xFFFFF)
-//
-// DIFUNCT      Pointers to code, typically EC++ constructors           
-// FLIST        Jump table for __tiny_func functions.
-// INTVEC       Contains reset and interrupt vectors.                   
-// INTVEC1      Contains the fixed reset and interrupt vectors.         
-// ISTACK       The stack used by interrupts and exceptions.            
-//================================================================
-
-// Define CPU
--cm16c
-
-//================================================================
-// USER DEFINITIONS
-// Please customize according to your preferences.
-//================================================================
-
-// Size of the user stack 
-// Uncomment for command line use
-//-D_CSTACK_SIZE=100
-
-// Size of the interrupt stack
-// Uncomment for command line use
-//-D_ISTACK_SIZE=40
-
-// Size of the heap
-// Uncomment for command line use
-//-D_DATA16_HEAP_SIZE=400
-//-D_FAR_HEAP_SIZE=400
-//-D_DATA20_HEAP_SIZE=400
-
-// Reserved memory
-// Reservation of RAM and ROM memory not to be used by the application.
-// Preset for use with the E8 emulator.
-// NOTE! Set these values to zero to utilize the whole RAM and ROM memory.
--D_RESERVED_RAM_SIZE=80
--D_RESERVED_ROM_SIZE=800
-
-//================================================================
-// Memory Definitions
-//================================================================
-
-// Memory areas available for the application
--D_USER_RAM_BEGIN=(00400+_RESERVED_RAM_SIZE)
--D_USER_RAM_END=07FFF
--D_DATA_FLASH_BEGIN=0F000
--D_DATA_FLASH_END=0FFFF
--D_USER_ROM_BEGIN=(A0000+_RESERVED_ROM_SIZE)
--D_USER_ROM_END=FFFFF
-
-// Relocatable "bit" segment (must be in near area).
-// As BITVARS contains bit addresses, the address has to be recalculated. 
-// Byte address 400 --> 400 * 8 = bit address 2000
--D_BITVAR_BEGIN=2000 // address 400
--D_BITVAR_END=FFFF   // address 1FFF
-
-// ID code and OFS value written to ROM memory
--D_ID_CODE_1=FF
--D_ID_CODE_2=FF
--D_ID_CODE_3=FF
--D_ID_CODE_4=FF
--D_ID_CODE_5=FF
--D_ID_CODE_6=FF
--D_ID_CODE_7=FF
--D_OFS_VALUE=FF
-
-// _OFS2_VALUE has to be defined. It is only used in some R8C devices and will
-// not result in any additional code or data for any other device.
--D_OFS2_VALUE=FF
-
-// =======================
-//      DATA13 RAM
-// =======================
-
--Z(NEAR)DATA13_AN=0-01FFF
--Z(NEAR)DATA13_I=_USER_RAM_BEGIN-01FFF
--Z(NEAR)DATA13_Z,DATA13_N=_USER_RAM_BEGIN-01FFF
-
-// Relocatable "bit" segment. As BITVARS contains bit addresses,
-// the desired (byte) address has to be multiplied by 8.
--Z(BIT)BITVARS=_BITVAR_BEGIN-_BITVAR_END
-
-// =======================
-//       DATA16 RAM
-// =======================
-
-// Set up interrupt stack
--Z(NEAR)ISTACK+_ISTACK_SIZE#_USER_RAM_BEGIN-_USER_RAM_END
-
-// Set up user stack
--Z(NEAR)CSTACK+_CSTACK_SIZE#_USER_RAM_BEGIN-_USER_RAM_END
-
-// Set up near heap
--Z(NEAR)DATA16_HEAP+_DATA16_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
-
-// Near variables
--Z(NEAR)DATA16_I,DATA16_Z,DATA16_N,DATA16_AN=_USER_RAM_BEGIN-_USER_RAM_END
-
-// User defined near DATA segments
-
-
-// =======================
-//       DATA16 ROM
-// =======================
-// Data flash
--Z(CONST)DATA_FLASH=_DATA_FLASH_BEGIN-_DATA_FLASH_END
-
-// Constant segments (in ROM), reachable for near pointers
-// (Use declaration -Z(CONST)DATA16_C if near ROM exists)
-
-// User defined near CONST segments
-
-// =======================
-//     FAR/DATA20 RAM
-// =======================
-
-// Far and huge data segments
--Z(FAR)FAR_I,FAR_Z,FAR_N,FAR_AN=_USER_RAM_BEGIN-_USER_RAM_END
--Z(FAR)FAR_HEAP+_FAR_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
--Z(HUGE)DATA20_I,DATA20_Z,DATA20_N,DATA20_AN=_USER_RAM_BEGIN-_USER_RAM_END
--Z(HUGE)DATA20_HEAP+_DATA20_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
-
-// User defined far & huge DATA segments
-
-// =======================
-//     FAR/DATA20 ROM
-// =======================
-
-// Fixed interrupt vector table 
--Z(CONST)INTVEC1=FFFDC-FFFFF
-
- 
-// Special page table
--Z(CONST)FLIST=FFE00-FFFDB
-
-// Variable vector table (growing downwards from _USER_ROM_END)
-// The added -1 is too assure that all vectors start at even
-// addresses.
--Z(CONST)INTVEC=D0000-(_USER_ROM_END-1)
-
-// Constant and initializer segments (in ROM)
--Z(FARCONST)FAR_ID=_USER_ROM_BEGIN-_USER_ROM_END
--Z(FARCONST)FAR_C=_USER_ROM_BEGIN-_USER_ROM_END
--Z(HUGECONST)DATA20_C,DATA20_ID,CHECKSUM=_USER_ROM_BEGIN-_USER_ROM_END
--Z(FARCONST)DATA16_ID,DATA13_ID,DIFUNCT=_USER_ROM_BEGIN-_USER_ROM_END
-
-// User defined far & huge CONST segments
-
-// CODE segments 
-// TINYFUNC code must be located above 0xF0000
--P(CODE)TINYFUNC=F0000-_USER_ROM_END
-
-// Startup code 
--P(CODE)CSTART=D0000-_USER_ROM_END
-
-// "Regular" code
--P(CODE)CODE=_USER_ROM_BEGIN-_USER_ROM_END
-// User defined CODE segments
-
-// ========================
-// IAR C library formatting
-// ========================
-
-// Uncomment for command line use
-//-e_small_write=_formatted_write
-//-e_medium_read=_formatted_read 
-
-// ========================
-// Output files
-// ========================
-// Use the -O option to create one or more output files
-// at the same link session. Formats flags, file name and
-// extension is optional. Please un-comment the wanted
-// output formats below.
-//
-// CAUTION: Do not combine other output formats with -rt (special
-// UBROF for Terminal I/O in C-SPY). Output files are valid but
-// contain code that expects to be run under C-SPY.
-
-// Motorola output
-//-Omotorola=.mot
-
-// IEEE-695 output with format flags for the Renesas debugger
-//-Oieee695,lbm=.x30
-
-// ELF/DWARF output with format flags for the Renesas debugger
-//-Oelf,spc=.elf
+//================================================================
+//
+//  IAR XLINK command file for the IAR C/C++ Compiler for 
+//  Renesas M16C/R8C
+//
+//  This is an example XLINK command file for use with the
+//  M30627FHP derivative.
+// 
+//  Derivative group: m16c 62p 
+//  
+//
+//  Usage:  xlink  your_file(s)  -f this_file  clm16c*.r48
+//
+//  Copyright 2001-2008 IAR Systems AB.
+//
+//  $Revision: 2144 $ 
+//
+//================================================================
+
+//================================================================
+// The M16C IAR C/EC++ Compiler places code and data into named
+// segments which are referred to by the IAR XLINK Linker. The
+// table below shows the available segments.
+//
+// SEGMENT REFERENCE
+// =================
+//
+// Segment   Description                                             
+// -------   -----------                                             
+// BITVARS      Bit variables.                                          
+// CODE         The program code.                                       
+// CSTACK       The stack used by C or Embedded C++ programs.           
+// CSTART       The startup code.        
+// DATA16_HEAP  Heap data used by malloc and free. Used by CLib and DLib
+// FAR_HEAP     Heap used by malloc and free in DLib
+// DATA20_HEAP  Heap used by malloc and free in DLib
+//
+// x_AC         Non-initialized located const objects.         
+// x_AN         Non-initialized located non-const objects.     
+// x_C          Constant data, including string literals.      
+// x_I          Initialized data.                              
+// x_ID         Data that is copied to x_I by cstartup.   
+// x_N          Uninitialized data.                            
+// x_Z          zero initialized data.                         
+//
+// Where x can be one of:
+//    DATA13  (Range: 0-0x1FFF)
+//    DATA16  (Range: 0-0xFFFF, except DATA16_ID)
+//    DATA20  (Range: 0-0xFFFFF)
+//    FAR     (Range: 0-0xFFFFF)
+//
+// DIFUNCT      Pointers to code, typically EC++ constructors           
+// FLIST        Jump table for __tiny_func functions.
+// INTVEC       Contains reset and interrupt vectors.                   
+// INTVEC1      Contains the fixed reset and interrupt vectors.         
+// ISTACK       The stack used by interrupts and exceptions.            
+//================================================================
+
+// Define CPU
+-cm16c
+
+//================================================================
+// USER DEFINITIONS
+// Please customize according to your preferences.
+//================================================================
+
+// Size of the user stack 
+// Uncomment for command line use
+//-D_CSTACK_SIZE=100
+
+// Size of the interrupt stack
+// Uncomment for command line use
+//-D_ISTACK_SIZE=40
+
+// Size of the heap
+// Uncomment for command line use
+//-D_DATA16_HEAP_SIZE=400
+//-D_FAR_HEAP_SIZE=400
+//-D_DATA20_HEAP_SIZE=400
+
+// Reserved memory
+// Reservation of RAM and ROM memory not to be used by the application.
+// Preset for use with the E8 emulator.
+// NOTE! Set these values to zero to utilize the whole RAM and ROM memory.
+-D_RESERVED_RAM_SIZE=80
+-D_RESERVED_ROM_SIZE=800
+
+//================================================================
+// Memory Definitions
+//================================================================
+
+// Memory areas available for the application
+-D_USER_RAM_BEGIN=(00400+_RESERVED_RAM_SIZE)
+-D_USER_RAM_END=07FFF
+-D_DATA_FLASH_BEGIN=0F000
+-D_DATA_FLASH_END=0FFFF
+-D_USER_ROM_BEGIN=(A0000+_RESERVED_ROM_SIZE)
+-D_USER_ROM_END=FFFFF
+
+// Relocatable "bit" segment (must be in near area).
+// As BITVARS contains bit addresses, the address has to be recalculated. 
+// Byte address 400 --> 400 * 8 = bit address 2000
+-D_BITVAR_BEGIN=2000 // address 400
+-D_BITVAR_END=FFFF   // address 1FFF
+
+// ID code and OFS value written to ROM memory
+-D_ID_CODE_1=FF
+-D_ID_CODE_2=FF
+-D_ID_CODE_3=FF
+-D_ID_CODE_4=FF
+-D_ID_CODE_5=FF
+-D_ID_CODE_6=FF
+-D_ID_CODE_7=FF
+-D_OFS_VALUE=FF
+
+// _OFS2_VALUE has to be defined. It is only used in some R8C devices and will
+// not result in any additional code or data for any other device.
+-D_OFS2_VALUE=FF
+
+// =======================
+//      DATA13 RAM
+// =======================
+
+-Z(NEAR)DATA13_AN=0-01FFF
+-Z(NEAR)DATA13_I=_USER_RAM_BEGIN-01FFF
+-Z(NEAR)DATA13_Z,DATA13_N=_USER_RAM_BEGIN-01FFF
+
+// Relocatable "bit" segment. As BITVARS contains bit addresses,
+// the desired (byte) address has to be multiplied by 8.
+-Z(BIT)BITVARS=_BITVAR_BEGIN-_BITVAR_END
+
+// =======================
+//       DATA16 RAM
+// =======================
+
+// Set up interrupt stack
+-Z(NEAR)ISTACK+_ISTACK_SIZE#_USER_RAM_BEGIN-_USER_RAM_END
+
+// Set up user stack
+-Z(NEAR)CSTACK+_CSTACK_SIZE#_USER_RAM_BEGIN-_USER_RAM_END
+
+// Set up near heap
+-Z(NEAR)DATA16_HEAP+_DATA16_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
+
+// Near variables
+-Z(NEAR)DATA16_I,DATA16_Z,DATA16_N,DATA16_AN=_USER_RAM_BEGIN-_USER_RAM_END
+
+// User defined near DATA segments
+
+
+// =======================
+//       DATA16 ROM
+// =======================
+// Data flash
+-Z(CONST)DATA_FLASH=_DATA_FLASH_BEGIN-_DATA_FLASH_END
+
+// Constant segments (in ROM), reachable for near pointers
+// (Use declaration -Z(CONST)DATA16_C if near ROM exists)
+
+// User defined near CONST segments
+
+// =======================
+//     FAR/DATA20 RAM
+// =======================
+
+// Far and huge data segments
+-Z(FAR)FAR_I,FAR_Z,FAR_N,FAR_AN=_USER_RAM_BEGIN-_USER_RAM_END
+-Z(FAR)FAR_HEAP+_FAR_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
+-Z(HUGE)DATA20_I,DATA20_Z,DATA20_N,DATA20_AN=_USER_RAM_BEGIN-_USER_RAM_END
+-Z(HUGE)DATA20_HEAP+_DATA20_HEAP_SIZE=_USER_RAM_BEGIN-_USER_RAM_END
+
+// User defined far & huge DATA segments
+
+// =======================
+//     FAR/DATA20 ROM
+// =======================
+
+// Fixed interrupt vector table 
+-Z(CONST)INTVEC1=FFFDC-FFFFF
+
+ 
+// Special page table
+-Z(CONST)FLIST=FFE00-FFFDB
+
+// Variable vector table (growing downwards from _USER_ROM_END)
+// The added -1 is too assure that all vectors start at even
+// addresses.
+-Z(CONST)INTVEC=D0000-(_USER_ROM_END-1)
+
+// Constant and initializer segments (in ROM)
+-Z(FARCONST)FAR_ID=_USER_ROM_BEGIN-_USER_ROM_END
+-Z(FARCONST)FAR_C=_USER_ROM_BEGIN-_USER_ROM_END
+-Z(HUGECONST)DATA20_C,DATA20_ID,CHECKSUM=_USER_ROM_BEGIN-_USER_ROM_END
+-Z(FARCONST)DATA16_ID,DATA13_ID,DIFUNCT=_USER_ROM_BEGIN-_USER_ROM_END
+
+// User defined far & huge CONST segments
+
+// CODE segments 
+// TINYFUNC code must be located above 0xF0000
+-P(CODE)TINYFUNC=F0000-_USER_ROM_END
+
+// Startup code 
+-P(CODE)CSTART=D0000-_USER_ROM_END
+
+// "Regular" code
+-P(CODE)CODE=_USER_ROM_BEGIN-_USER_ROM_END
+// User defined CODE segments
+
+// ========================
+// IAR C library formatting
+// ========================
+
+// Uncomment for command line use
+//-e_small_write=_formatted_write
+//-e_medium_read=_formatted_read 
+
+// ========================
+// Output files
+// ========================
+// Use the -O option to create one or more output files
+// at the same link session. Formats flags, file name and
+// extension is optional. Please un-comment the wanted
+// output formats below.
+//
+// CAUTION: Do not combine other output formats with -rt (special
+// UBROF for Terminal I/O in C-SPY). Output files are valid but
+// contain code that expects to be run under C-SPY.
+
+// Motorola output
+//-Omotorola=.mot
+
+// IEEE-695 output with format flags for the Renesas debugger
+//-Oieee695,lbm=.x30
+
+// ELF/DWARF output with format flags for the Renesas debugger
+//-Oelf,spc=.elf

+ 1 - 1
bsp/mini2440/Readme

@@ -1,2 +1,2 @@
-Documents here
+Documents here
 http://www.rt-thread.org/dokuwiki/doku.php?id=s3c2440

+ 194 - 194
bsp/pic32ethernet/project.mcp

@@ -1,194 +1,194 @@
-[HEADER]
-magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
-file_version=1.0
-device=PIC32MX795F512L
-[PATH_INFO]
-BuildDirPolicy=BuildDirIsProjectDir
-dir_src=
-dir_bin=./obj
-dir_tmp=./obj
-dir_sin=
-dir_inc=.;../../include;../../components/finsh
-dir_lib=C:\Program Files\Microchip\MPLAB C32 Suite\lib;C:\Program Files\Microchip\MPLAB C32 Suite\pic32mx\lib
-dir_lkr=
-[CAT_FILTERS]
-filter_src=*.s;*.c
-filter_inc=*.h;*.inc
-filter_obj=*.o
-filter_lib=*.a
-filter_lkr=*.ld
-[CAT_SUBFOLDERS]
-subfolder_src=finsh;kernel;pic32
-subfolder_inc=
-subfolder_obj=
-subfolder_lib=
-subfolder_lkr=
-[FILE_SUBFOLDERS]
-file_000=.
-file_001=.
-file_002=kernel
-file_003=kernel
-file_004=kernel
-file_005=kernel
-file_006=kernel
-file_007=kernel
-file_008=kernel
-file_009=kernel
-file_010=kernel
-file_011=kernel
-file_012=kernel
-file_013=kernel
-file_014=kernel
-file_015=kernel
-file_016=kernel
-file_017=.
-file_018=pic32
-file_019=.
-file_020=finsh
-file_021=finsh
-file_022=finsh
-file_023=finsh
-file_024=finsh
-file_025=finsh
-file_026=finsh
-file_027=finsh
-file_028=finsh
-file_029=finsh
-file_030=finsh
-file_031=finsh
-file_032=finsh
-file_033=.
-file_034=pic32
-file_035=pic32
-file_036=.
-[GENERATED_FILES]
-file_000=no
-file_001=no
-file_002=no
-file_003=no
-file_004=no
-file_005=no
-file_006=no
-file_007=no
-file_008=no
-file_009=no
-file_010=no
-file_011=no
-file_012=no
-file_013=no
-file_014=no
-file_015=no
-file_016=no
-file_017=no
-file_018=no
-file_019=no
-file_020=no
-file_021=no
-file_022=no
-file_023=no
-file_024=no
-file_025=no
-file_026=no
-file_027=no
-file_028=no
-file_029=no
-file_030=no
-file_031=no
-file_032=no
-file_033=no
-file_034=no
-file_035=no
-file_036=no
-[OTHER_FILES]
-file_000=no
-file_001=no
-file_002=no
-file_003=no
-file_004=no
-file_005=no
-file_006=no
-file_007=no
-file_008=no
-file_009=no
-file_010=no
-file_011=no
-file_012=no
-file_013=no
-file_014=no
-file_015=no
-file_016=no
-file_017=no
-file_018=no
-file_019=no
-file_020=no
-file_021=no
-file_022=no
-file_023=no
-file_024=no
-file_025=no
-file_026=no
-file_027=no
-file_028=no
-file_029=no
-file_030=no
-file_031=no
-file_032=no
-file_033=no
-file_034=no
-file_035=no
-file_036=no
-[FILE_INFO]
-file_000=board.c
-file_001=application.c
-file_002=..\..\src\device.c
-file_003=..\..\src\idle.c
-file_004=..\..\src\ipc.c
-file_005=..\..\src\irq.c
-file_006=..\..\src\kservice.c
-file_007=..\..\src\mem.c
-file_008=..\..\src\mempool.c
-file_009=..\..\src\module.c
-file_010=..\..\src\object.c
-file_011=..\..\src\rtm.c
-file_012=..\..\src\scheduler.c
-file_013=..\..\src\slab.c
-file_014=..\..\src\thread.c
-file_015=..\..\src\timer.c
-file_016=..\..\src\clock.c
-file_017=startup.c
-file_018=..\..\libcpu\mips\pic32\context_gcc.S
-file_019=console.c
-file_020=..\..\components\finsh\finsh_node.c
-file_021=..\..\components\finsh\finsh_ops.c
-file_022=..\..\components\finsh\finsh_parser.c
-file_023=..\..\components\finsh\finsh_token.c
-file_024=..\..\components\finsh\finsh_var.c
-file_025=..\..\components\finsh\finsh_vm.c
-file_026=..\..\components\finsh\shell.c
-file_027=..\..\components\finsh\symbol.c
-file_028=..\..\components\finsh\cmd.c
-file_029=..\..\components\finsh\finsh_compiler.c
-file_030=..\..\components\finsh\finsh_error.c
-file_031=..\..\components\finsh\finsh_heap.c
-file_032=..\..\components\finsh\finsh_init.c
-file_033=uart.c
-file_034=..\..\libcpu\mips\pic32\exceptions.c
-file_035=..\..\libcpu\mips\pic32\cpuport.c
-file_036=rtconfig.h
-[SUITE_INFO]
-suite_guid={14495C23-81F8-43F3-8A44-859C583D7760}
-suite_state=
-[TOOL_SETTINGS]
-TS{CB0AF4B8-4022-429D-8F99-8A56782B2C6D}=--gdwarf-2
-TS{9C698E0A-CBC9-4EFF-AE7D-B569F93E7322}=-g -DPIC32_STARTER_KIT
-TS{77F59DA1-3C53-4677-AC5F-A03EB0125170}=-Map="$(BINDIR_)$(TARGETBASE).map" -o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)"
-TS{0396C0A1-9052-4E4F-8B84-EF0162B1B4E9}=
-[INSTRUMENTED_TRACE]
-enable=0
-transport=0
-format=0
-[CUSTOM_BUILD]
-Pre-Build=
-Pre-BuildEnabled=1
-Post-Build=pic32-size $(BINDIR_)$(TargetName)
-Post-BuildEnabled=1
+[HEADER]
+magic_cookie={66E99B07-E706-4689-9E80-9B2582898A13}
+file_version=1.0
+device=PIC32MX795F512L
+[PATH_INFO]
+BuildDirPolicy=BuildDirIsProjectDir
+dir_src=
+dir_bin=./obj
+dir_tmp=./obj
+dir_sin=
+dir_inc=.;../../include;../../components/finsh
+dir_lib=C:\Program Files\Microchip\MPLAB C32 Suite\lib;C:\Program Files\Microchip\MPLAB C32 Suite\pic32mx\lib
+dir_lkr=
+[CAT_FILTERS]
+filter_src=*.s;*.c
+filter_inc=*.h;*.inc
+filter_obj=*.o
+filter_lib=*.a
+filter_lkr=*.ld
+[CAT_SUBFOLDERS]
+subfolder_src=finsh;kernel;pic32
+subfolder_inc=
+subfolder_obj=
+subfolder_lib=
+subfolder_lkr=
+[FILE_SUBFOLDERS]
+file_000=.
+file_001=.
+file_002=kernel
+file_003=kernel
+file_004=kernel
+file_005=kernel
+file_006=kernel
+file_007=kernel
+file_008=kernel
+file_009=kernel
+file_010=kernel
+file_011=kernel
+file_012=kernel
+file_013=kernel
+file_014=kernel
+file_015=kernel
+file_016=kernel
+file_017=.
+file_018=pic32
+file_019=.
+file_020=finsh
+file_021=finsh
+file_022=finsh
+file_023=finsh
+file_024=finsh
+file_025=finsh
+file_026=finsh
+file_027=finsh
+file_028=finsh
+file_029=finsh
+file_030=finsh
+file_031=finsh
+file_032=finsh
+file_033=.
+file_034=pic32
+file_035=pic32
+file_036=.
+[GENERATED_FILES]
+file_000=no
+file_001=no
+file_002=no
+file_003=no
+file_004=no
+file_005=no
+file_006=no
+file_007=no
+file_008=no
+file_009=no
+file_010=no
+file_011=no
+file_012=no
+file_013=no
+file_014=no
+file_015=no
+file_016=no
+file_017=no
+file_018=no
+file_019=no
+file_020=no
+file_021=no
+file_022=no
+file_023=no
+file_024=no
+file_025=no
+file_026=no
+file_027=no
+file_028=no
+file_029=no
+file_030=no
+file_031=no
+file_032=no
+file_033=no
+file_034=no
+file_035=no
+file_036=no
+[OTHER_FILES]
+file_000=no
+file_001=no
+file_002=no
+file_003=no
+file_004=no
+file_005=no
+file_006=no
+file_007=no
+file_008=no
+file_009=no
+file_010=no
+file_011=no
+file_012=no
+file_013=no
+file_014=no
+file_015=no
+file_016=no
+file_017=no
+file_018=no
+file_019=no
+file_020=no
+file_021=no
+file_022=no
+file_023=no
+file_024=no
+file_025=no
+file_026=no
+file_027=no
+file_028=no
+file_029=no
+file_030=no
+file_031=no
+file_032=no
+file_033=no
+file_034=no
+file_035=no
+file_036=no
+[FILE_INFO]
+file_000=board.c
+file_001=application.c
+file_002=..\..\src\device.c
+file_003=..\..\src\idle.c
+file_004=..\..\src\ipc.c
+file_005=..\..\src\irq.c
+file_006=..\..\src\kservice.c
+file_007=..\..\src\mem.c
+file_008=..\..\src\mempool.c
+file_009=..\..\src\module.c
+file_010=..\..\src\object.c
+file_011=..\..\src\rtm.c
+file_012=..\..\src\scheduler.c
+file_013=..\..\src\slab.c
+file_014=..\..\src\thread.c
+file_015=..\..\src\timer.c
+file_016=..\..\src\clock.c
+file_017=startup.c
+file_018=..\..\libcpu\mips\pic32\context_gcc.S
+file_019=console.c
+file_020=..\..\components\finsh\finsh_node.c
+file_021=..\..\components\finsh\finsh_ops.c
+file_022=..\..\components\finsh\finsh_parser.c
+file_023=..\..\components\finsh\finsh_token.c
+file_024=..\..\components\finsh\finsh_var.c
+file_025=..\..\components\finsh\finsh_vm.c
+file_026=..\..\components\finsh\shell.c
+file_027=..\..\components\finsh\symbol.c
+file_028=..\..\components\finsh\cmd.c
+file_029=..\..\components\finsh\finsh_compiler.c
+file_030=..\..\components\finsh\finsh_error.c
+file_031=..\..\components\finsh\finsh_heap.c
+file_032=..\..\components\finsh\finsh_init.c
+file_033=uart.c
+file_034=..\..\libcpu\mips\pic32\exceptions.c
+file_035=..\..\libcpu\mips\pic32\cpuport.c
+file_036=rtconfig.h
+[SUITE_INFO]
+suite_guid={14495C23-81F8-43F3-8A44-859C583D7760}
+suite_state=
+[TOOL_SETTINGS]
+TS{CB0AF4B8-4022-429D-8F99-8A56782B2C6D}=--gdwarf-2
+TS{9C698E0A-CBC9-4EFF-AE7D-B569F93E7322}=-g -DPIC32_STARTER_KIT
+TS{77F59DA1-3C53-4677-AC5F-A03EB0125170}=-Map="$(BINDIR_)$(TARGETBASE).map" -o"$(BINDIR_)$(TARGETBASE).$(TARGETSUFFIX)"
+TS{0396C0A1-9052-4E4F-8B84-EF0162B1B4E9}=
+[INSTRUMENTED_TRACE]
+enable=0
+transport=0
+format=0
+[CUSTOM_BUILD]
+Pre-Build=
+Pre-BuildEnabled=1
+Post-Build=pic32-size $(BINDIR_)$(TargetName)
+Post-BuildEnabled=1

+ 18 - 18
bsp/simulator/SDL/BUGS

@@ -1,18 +1,18 @@
-
-Bugs are now managed in the SDL bug tracker, here:
-
-    http://bugzilla.libsdl.org/
-
-You may report bugs there, and search to see if a given issue has already
- been reported, discussed, and maybe even fixed.
-
-
-
-You may also find help at the SDL mailing list. Subscription information:
-
-    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
-
-Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
- bugs discussed on the mailing list may be forgotten or missed.
-
-
+
+Bugs are now managed in the SDL bug tracker, here:
+
+    http://bugzilla.libsdl.org/
+
+You may report bugs there, and search to see if a given issue has already
+ been reported, discussed, and maybe even fixed.
+
+
+
+You may also find help at the SDL mailing list. Subscription information:
+
+    http://lists.libsdl.org/listinfo.cgi/sdl-libsdl.org
+
+Bug reports are welcome here, but we really appreciate if you use Bugzilla, as
+ bugs discussed on the mailing list may be forgotten or missed.
+
+

+ 458 - 458
bsp/simulator/SDL/COPYING

@@ -1,458 +1,458 @@
-		  GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
-     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-  
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
+		  GNU LESSER GENERAL PUBLIC LICENSE
+		       Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+     51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL.  It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+			    Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+  This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it.  You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+  When we speak of free software, we are referring to freedom of use,
+not price.  Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+  To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights.  These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+  For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you.  You must make sure that they, too, receive or can get the source
+code.  If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it.  And you must show them these terms so they know their rights.
+
+  We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+  To protect each distributor, we want to make it very clear that
+there is no warranty for the free library.  Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+  Finally, software patents pose a constant threat to the existence of
+any free program.  We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder.  Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+  Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License.  This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License.  We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+  When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library.  The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom.  The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+  We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License.  It also provides other free software developers Less
+of an advantage over competing non-free programs.  These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries.  However, the Lesser license provides advantages in certain
+special circumstances.
+
+  For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard.  To achieve this, non-free programs must be
+allowed to use the library.  A more frequent case is that a free
+library does the same job as widely used non-free libraries.  In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+  In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software.  For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+  Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.  Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library".  The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+		  GNU LESSER GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+  A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+  The "Library", below, refers to any such software library or work
+which has been distributed under these terms.  A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language.  (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+  "Source code" for a work means the preferred form of the work for
+making modifications to it.  For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+  Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it).  Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+  
+  1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+  You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+  2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) The modified work must itself be a software library.
+
+    b) You must cause the files modified to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    c) You must cause the whole of the work to be licensed at no
+    charge to all third parties under the terms of this License.
+
+    d) If a facility in the modified Library refers to a function or a
+    table of data to be supplied by an application program that uses
+    the facility, other than as an argument passed when the facility
+    is invoked, then you must make a good faith effort to ensure that,
+    in the event an application does not supply such function or
+    table, the facility still operates, and performs whatever part of
+    its purpose remains meaningful.
+
+    (For example, a function in a library to compute square roots has
+    a purpose that is entirely well-defined independent of the
+    application.  Therefore, Subsection 2d requires that any
+    application-supplied function or table used by this function must
+    be optional: if the application does not supply it, the square
+    root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library.  To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License.  (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.)  Do not make any other change in
+these notices.
+
+  Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+  This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+  4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+  If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library".  Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+  However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library".  The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+  When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library.  The
+threshold for this to be true is not precisely defined by law.
+
+  If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work.  (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+  Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+  6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+  You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License.  You must supply a copy of this License.  If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License.  Also, you must do one
+of these things:
+
+    a) Accompany the work with the complete corresponding
+    machine-readable source code for the Library including whatever
+    changes were used in the work (which must be distributed under
+    Sections 1 and 2 above); and, if the work is an executable linked
+    with the Library, with the complete machine-readable "work that
+    uses the Library", as object code and/or source code, so that the
+    user can modify the Library and then relink to produce a modified
+    executable containing the modified Library.  (It is understood
+    that the user who changes the contents of definitions files in the
+    Library will not necessarily be able to recompile the application
+    to use the modified definitions.)
+
+    b) Use a suitable shared library mechanism for linking with the
+    Library.  A suitable mechanism is one that (1) uses at run time a
+    copy of the library already present on the user's computer system,
+    rather than copying library functions into the executable, and (2)
+    will operate properly with a modified version of the library, if
+    the user installs one, as long as the modified version is
+    interface-compatible with the version that the work was made with.
+
+    c) Accompany the work with a written offer, valid for at
+    least three years, to give the same user the materials
+    specified in Subsection 6a, above, for a charge no more
+    than the cost of performing this distribution.
+
+    d) If distribution of the work is made by offering access to copy
+    from a designated place, offer equivalent access to copy the above
+    specified materials from the same place.
+
+    e) Verify that the user has already received a copy of these
+    materials or that you have already sent this user a copy.
+
+  For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it.  However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+  It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system.  Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+  7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+    a) Accompany the combined library with a copy of the same work
+    based on the Library, uncombined with any other library
+    facilities.  This must be distributed under the terms of the
+    Sections above.
+
+    b) Give prominent notice with the combined library of the fact
+    that part of it is a work based on the Library, and explaining
+    where to find the accompanying uncombined form of the same work.
+
+  8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License.  Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License.  However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+  9. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Library or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+  10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+  11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded.  In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+  13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation.  If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+  14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission.  For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this.  Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+			    NO WARRANTY
+
+  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+		     END OF TERMS AND CONDITIONS

+ 49 - 49
bsp/simulator/SDL/README

@@ -1,49 +1,49 @@
-
-                         Simple DirectMedia Layer
-
-                                  (SDL)
-
-                                Version 1.2
-
----
-http://www.libsdl.org/
-
-This is the Simple DirectMedia Layer, a general API that provides low
-level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
-and 2D framebuffer across multiple platforms.
-
-The current version supports Linux, Windows CE/95/98/ME/XP/Vista, BeOS,
-MacOS Classic, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX,
-and QNX.  The code contains support for Dreamcast, Atari, AIX, OSF/Tru64,
-RISC OS, SymbianOS, Nintendo DS, and OS/2, but these are not officially
-supported.
-
-SDL is written in C, but works with C++ natively, and has bindings to
-several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
-Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
-Pike, Pliant, Python, Ruby, and Smalltalk.
-
-This library is distributed under GNU LGPL version 2, which can be
-found in the file  "COPYING".  This license allows you to use SDL
-freely in commercial programs as long as you link with the dynamic
-library.
-
-The best way to learn how to use SDL is to check out the header files in
-the "include" subdirectory and the programs in the "test" subdirectory.
-The header files and test programs are well commented and always up to date.
-More documentation is available in HTML format in "docs/index.html", and
-a documentation wiki is available online at:
-	http://www.libsdl.org/cgi/docwiki.cgi
-
-The test programs in the "test" subdirectory are in the public domain.
-
-Frequently asked questions are answered online:
-	http://www.libsdl.org/faq.php
-
-If you need help with the library, or just want to discuss SDL related
-issues, you can join the developers mailing list:
-	http://www.libsdl.org/mailing-list.php
-
-Enjoy!
-	Sam Lantinga				(slouken@libsdl.org)
-
+
+                         Simple DirectMedia Layer
+
+                                  (SDL)
+
+                                Version 1.2
+
+---
+http://www.libsdl.org/
+
+This is the Simple DirectMedia Layer, a general API that provides low
+level access to audio, keyboard, mouse, joystick, 3D hardware via OpenGL,
+and 2D framebuffer across multiple platforms.
+
+The current version supports Linux, Windows CE/95/98/ME/XP/Vista, BeOS,
+MacOS Classic, Mac OS X, FreeBSD, NetBSD, OpenBSD, BSD/OS, Solaris, IRIX,
+and QNX.  The code contains support for Dreamcast, Atari, AIX, OSF/Tru64,
+RISC OS, SymbianOS, Nintendo DS, and OS/2, but these are not officially
+supported.
+
+SDL is written in C, but works with C++ natively, and has bindings to
+several other languages, including Ada, C#, Eiffel, Erlang, Euphoria,
+Guile, Haskell, Java, Lisp, Lua, ML, Objective C, Pascal, Perl, PHP,
+Pike, Pliant, Python, Ruby, and Smalltalk.
+
+This library is distributed under GNU LGPL version 2, which can be
+found in the file  "COPYING".  This license allows you to use SDL
+freely in commercial programs as long as you link with the dynamic
+library.
+
+The best way to learn how to use SDL is to check out the header files in
+the "include" subdirectory and the programs in the "test" subdirectory.
+The header files and test programs are well commented and always up to date.
+More documentation is available in HTML format in "docs/index.html", and
+a documentation wiki is available online at:
+	http://www.libsdl.org/cgi/docwiki.cgi
+
+The test programs in the "test" subdirectory are in the public domain.
+
+Frequently asked questions are answered online:
+	http://www.libsdl.org/faq.php
+
+If you need help with the library, or just want to discuss SDL related
+issues, you can join the developers mailing list:
+	http://www.libsdl.org/mailing-list.php
+
+Enjoy!
+	Sam Lantinga				(slouken@libsdl.org)
+

+ 727 - 727
bsp/simulator/SDL/WhatsNew

@@ -1,727 +1,727 @@
-
-This is a list of API changes in SDL's version history.
-
-Version 1.0:
-
-1.2.14:
-	Added cast macros for correct usage with C++:
-		SDL_reinterpret_cast(type, expression)
-		SDL_static_cast(type, expression)
-
-	Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for 
-	SDL_VIDEO_FULLSCREEN_HEAD on X11.
-
-	Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal
-	up/down events for Caps-Lock and Num-Lock keys.
-
-1.2.13:
-	Added SDL_BUTTON_X1 and SDL_BUTTON_X2 constants.
-
-1.2.12:
-	Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling
-	of the screensaver on Mac OS X and X11.
-
-1.2.10:
-	If SDL_OpenAudio() is passed zero for the desired format
-	fields, the following environment variables will be used
-	to fill them in:
-		SDL_AUDIO_FREQUENCY
-		SDL_AUDIO_FORMAT
-		SDL_AUDIO_CHANNELS
-		SDL_AUDIO_SAMPLES
-	If an environment variable is not specified, it will be set
-	to a reasonable default value.
-
-	Added support for the SDL_VIDEO_FULLSCREEN_HEAD environment
-	variable, currently supported on X11 Xinerama configurations.
-
-	Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications.
-
-	Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration.
-
-	Added current_w and current_h to the SDL_VideoInfo structure,
-	which is set to the desktop resolution during video intialization,
-	and then set to the current resolution when a video mode is set.
-
-	SDL_SetVideoMode() now accepts 0 for width or height and will use
-	the current video mode (or the desktop mode if no mode has been set.)
-
-	Added SDL_GetKeyRepeat()
-
-	Added SDL_config.h, with defaults for various build environments.
-
-1.2.7:
-	Added CPU feature detection functions to SDL_cpuinfo.h:
-		SDL_HasRDTSC(), SDL_HasMMX(), SDL_Has3DNow(), SDL_HasSSE(),
-		SDL_HasAltiVec()
-	Added function to create RWops from const memory: SDL_RWFromConstMem()
-
-1.2.6:
-	Added SDL_LoadObject(), SDL_LoadFunction(), and SDL_UnloadObject()
-
-	Added SDL_GL_MULTISAMPLEBUFFERS and SDL_GL_MULTISAMPLESAMPLES for FSAA
-
-1.2.5:
-	Added SDL_BUTTON_WHEELUP (4) and SDL_BUTTON_WHEELDOWN (5)
-
-	Added SDL_GL_STEREO for stereoscopic OpenGL contexts
-
-1.2.0:
-	Added SDL_VIDEOEXPOSE event to signal that the screen needs to
-	be redrawn.  This is currently only delivered to OpenGL windows
-	on X11, though it may be delivered in the future when the video
-	memory is lost under DirectX.
-
-1.1.8:
-	You can pass SDL_NOFRAME to SDL_VideoMode() to create a window
-	that has no title bar or frame decoration.  Fullscreen video
-	modes automatically have this flag set.
-
-	Added a function to query the clipping rectangle for a surface:
-		void SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect)
-
-	Added a function to query the current event filter:
-		SDL_EventFilter SDL_GetEventFilter(void)
-
-	If you pass -1 to SDL_ShowCursor(), it won't change the current
-	cursor visibility state, but will still return it.
-
-	SDL_LockSurface() and SDL_UnlockSurface() are recursive, meaning
-	you can nest them as deep as you want, as long as each lock call
-	has a matching unlock call.  The surface remains locked until the
-	last matching unlock call.
-
-	Note that you may not blit to or from a locked surface.
-
-1.1.7:
-	The SDL_SetGammaRamp() and SDL_GetGammaRamp() functions now take
-	arrays of Uint16 values instead of Uint8 values.  For the most part,
-	you can just take your old values and shift them up 8 bits to get
-	new correct values for your gamma ramps.
-
-	You can pass SDL_RLEACCEL in flags passed to SDL_ConvertSurface()
-        and SDL will try to RLE accelerate colorkey and alpha blits in the
-	resulting surface.
-
-1.1.6:
-	Added a function to return the thread ID of a specific thread:
-		Uint32 SDL_GetThreadID(SDL_Thread *thread)
-	If 'thread' is NULL, this function returns the id for this thread.
-
-1.1.5:
-	The YUV overlay structure has been changed to use an array of
-	pitches and pixels representing the planes of a YUV image, to
-	better enable hardware acceleration.  The YV12 and IYUV formats
-	each have three planes, corresponding to the Y, U, and V portions
-	of the image, while packed pixel YUV formats just have one plane.
-
-	For palettized mode (8bpp), the screen colormap is now split in
-	a physical and a logical palette. The physical palette determines
-	what colours the screen pixels will get when displayed, and the
-	logical palette controls the mapping from blits to/from the screen.
-	A new function, SDL_SetPalette() has been added to change
-	logical and physical palettes separately. SDL_SetColors() works
-	just as before, and is equivalent to calling SDL_SetPalette() with
-	a flag argument of (SDL_LOGPAL|SDL_PHYSPAL).
-
-	SDL_BlitSurface() no longer modifies the source rectangle, only the
-	destination rectangle. The width/height members of the destination
-	rectangle are ignored, only the position is used.
-
-	The old source clipping function SDL_SetClipping() has been replaced
-	with a more useful function to set the destination clipping rectangle:
-		SDL_bool SDL_SetClipRect(SDL_Surface *surface, SDL_Rect *rect)
-		
-	Added a function to see what subsystems have been initialized:
-		Uint32 SDL_WasInit(Uint32 flags)
-
-	The Big Alpha Flip: SDL now treats alpha as opacity like everybody
-	else, and not as transparency:
-
-	A new cpp symbol: SDL_ALPHA_OPAQUE is defined as 255
-	A new cpp symbol: SDL_ALPHA_TRANSPARENT is defined as 0
-	Values between 0 and 255 vary from fully transparent to fully opaque.
-
-	New functions:
-	SDL_DisplayFormatAlpha()
-	    Returns a surface converted to a format with alpha-channel
-	    that can be blit efficiently to the screen. (In other words,
-	    like SDL_DisplayFormat() but the resulting surface has
-	    an alpha channel.)  This is useful for surfaces with alpha.
-	SDL_MapRGBA()
-	    Works as SDL_MapRGB() but takes an additional alpha parameter.
-	SDL_GetRGBA()
-	    Works as SDL_GetRGB() but also returns the alpha value
-	    (SDL_ALPHA_OPAQUE for formats without an alpha channel)
-
-	Both SDL_GetRGB() and SDL_GetRGBA() now always return values in
-	the [0..255] interval. Previously, SDL_GetRGB() would return
-	(0xf8, 0xfc, 0xf8) for a completely white pixel in RGB565 format.
-	(N.B.: This is broken for bit fields < 3 bits.)
-
-	SDL_MapRGB() returns pixels in which the alpha channel is set opaque.
-
-	SDL_SetAlpha() can now be used for both setting the per-surface
-	alpha, using the new way of thinking of alpha, and also to enable
-	and disable per-pixel alpha blending for surfaces with an alpha
-	channel:
-		To disable alpha blending:
-			SDL_SetAlpha(surface, 0, 0);
-		To re-enable alpha blending:
-			SDL_SetAlpha(surface, SDL_SRCALPHA, 0);
-	Surfaces with an alpha channel have blending enabled by default.
-
-	SDL_SetAlpha() now accepts SDL_RLEACCEL as a flag, which requests
-	RLE acceleration of blits, just as like with SDL_SetColorKey().
-	This flag can be set for both surfaces with an alpha channel
-	and surfaces with an alpha value set by SDL_SetAlpha().
-	As always, RLE surfaces must be locked before pixel access is
-	allowed, and unlocked before any other SDL operations are done
-	on it.
-
-	The blit semantics for surfaces with and without alpha and colorkey
-	have now been defined:
-
-	RGBA->RGB:
-	    SDL_SRCALPHA set:
-		alpha-blend (using alpha-channel).
-		SDL_SRCCOLORKEY ignored.
-	    SDL_SRCALPHA not set:
-		copy RGB.
-		if SDL_SRCCOLORKEY set, only copy the pixels matching the
-		RGB values of the source colour key, ignoring alpha in the
-		comparison.
-
-	RGB->RGBA:
-	    SDL_SRCALPHA set:
-		alpha-blend (using the source per-surface alpha value);
-		set destination alpha to opaque.
-	    SDL_SRCALPHA not set:
-		copy RGB, set destination alpha to opaque.
-	    both:
-		if SDL_SRCCOLORKEY set, only copy the pixels matching the
-		source colour key.
-
-	RGBA->RGBA:
-	    SDL_SRCALPHA set:
-		alpha-blend (using the source alpha channel) the RGB values;
-		leave destination alpha untouched. [Note: is this correct?]
-		SDL_SRCCOLORKEY ignored.
-	    SDL_SRCALPHA not set:
-		copy all of RGBA to the destination.
-		if SDL_SRCCOLORKEY set, only copy the pixels matching the
-		RGB values of the source colour key, ignoring alpha in the
-		comparison.
-
-	RGB->RGB: 
-	    SDL_SRCALPHA set:
-		alpha-blend (using the source per-surface alpha value).
-	    SDL_SRCALPHA not set:
-		copy RGB.
-	    both:
-		if SDL_SRCCOLORKEY set, only copy the pixels matching the
-		source colour key.
-
-	As a special case, blits from surfaces with per-surface alpha
-	value of 128 (50% transparency) are optimised and much faster
-	than other alpha values. This does not apply to surfaces with
-	alpha channels (per-pixel alpha).
-
-	New functions for manipulating the gamma of the display have
-	been added:
-		int SDL_SetGamma(float red, float green, float blue);
-		int SDL_SetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
-		int SDL_GetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
-	Gamma ramps are tables with 256 entries which map the screen color
-	components into actually displayed colors.  For an example of
-	implementing gamma correction and gamma fades, see test/testgamma.c
-	Gamma control is not supported on all hardware.
-
-1.1.4:
-	The size of the SDL_CDtrack structure changed from 8 to 12 bytes
-	as the size of the length member was extended to 32 bits.
-
-        You can now use SDL for 2D blitting with a GL mode by passing the
-	SDL_OPENGLBLIT flag to SDL_SetVideoMode().  You can specify 16 or
-	32 bpp, and the data in the framebuffer is put into the GL scene
-	when you call SDL_UpdateRects(), and the scene will be visible
-	when you call SDL_GL_SwapBuffers().
-
-	Run the "testgl" test program with the -logo command line option
-	to see an example of this blending of 2D and 3D in SDL.
-
-1.1.3:
-	Added SDL_FreeRW() to the API, to complement SDL_AllocRW()
-
-	Added resizable window support - just add SDL_RESIZABLE to the
-	SDL_SetVideoMode() flags, and then wait for SDL_VIDEORESIZE events.
-	See SDL_events.h for details on the new SDL_ResizeEvent structure.
-
-	Added condition variable support, based on mutexes and semaphores.
-		SDL_CreateCond()
-		SDL_DestroyCond()
-		SDL_CondSignal()
-		SDL_CondBroadcast()
-		SDL_CondWait()
-		SDL_CondTimedWait()
-	The new function prototypes are in SDL_mutex.h
-
-	Added counting semaphore support, based on the mutex primitive.
-		SDL_CreateSemaphore()
-		SDL_DestroySemaphore()
-		SDL_SemWait()
-		SDL_SemTryWait()
-		SDL_SemWaitTimeout()
-		SDL_SemPost()
-		SDL_SemValue()
-	The new function prototypes are in SDL_mutex.h
-
-	Added support for asynchronous blitting.  To take advantage of this,
-	you must set the SDL_ASYNCBLIT flag when setting the video mode and
-	creating surfaces that you want accelerated in this way.  You must
-	lock surfaces that have this flag set, and the lock will block until
-	any queued blits have completed.
-
-	Added YUV video overlay support.
-	The supported YUV formats are: YV12, IYUV, YUY2, UYVY, and YVYU.
-	This function creates an overlay surface:
-		SDL_CreateYUVOverlay()
-	You must lock and unlock the overlay to get access to the data:
-		SDL_LockYUVOverlay() SDL_UnlockYUVOverlay()
-	You can then display the overlay:
-		SDL_DisplayYUVOverlay()
-	You must free the overlay when you are done using it:
-		SDL_FreeYUVOverlay()
-	See SDL_video.h for the full function prototypes.
-
-	The joystick hat position constants have been changed:
-	Old constant            New constant
-	------------            ------------
-	     0                  SDL_HAT_CENTERED
-	     1                  SDL_HAT_UP
-	     2                  SDL_HAT_RIGHTUP
-	     3                  SDL_HAT_RIGHT
-	     4                  SDL_HAT_RIGHTDOWN
-	     5                  SDL_HAT_DOWN
-	     6                  SDL_HAT_LEFTDOWN
-	     7                  SDL_HAT_LEFT
-	     8                  SDL_HAT_LEFTUP
-	The new constants are bitmasks, so you can check for the
-	individual axes like this:
-		if ( hat_position & SDL_HAT_UP ) {
-		}
-	and you'll catch left-up, up, and right-up.
-
-1.1.2:
-	Added multiple timer support:
-		SDL_AddTimer() and SDL_RemoveTimer()
-
-	SDL_WM_SetIcon() now respects the icon colorkey if mask is NULL.
-
-1.1.0:
-	Added initial OpenGL support.
-	First set GL attributes (such as RGB depth, alpha depth, etc.)
-		SDL_GL_SetAttribute()
-	Then call SDL_SetVideoMode() with the SDL_OPENGL flag.
-	Perform all of your normal GL drawing.
-	Finally swap the buffers with the new SDL function:
-		SDL_GL_SwapBuffers()
-	See the new 'testgl' test program for an example of using GL with SDL.
-
-	You can load GL extension functions by using the function:
-		SDL_GL_LoadProcAddress()
-
-	Added functions to initialize and cleanup specific SDL subsystems:
-		SDL_InitSubSystem() and SDL_QuitSubSystem()
-
-	Added user-defined event type:
-		typedef struct {
-        		Uint8 type;
-        		int code;
-        		void *data1;
-        		void *data2;
-		} SDL_UserEvent;
-	This structure is in the "user" member of an SDL_Event.
-
-	Added a function to push events into the event queue:
-		SDL_PushEvent()
-
-	Example of using the new SDL user-defined events:
-	{
-		SDL_Event event;
-
-		event.type = SDL_USEREVENT;
-		event.user.code = my_event_code;
-		event.user.data1 = significant_data;
-		event.user.data2 = 0;
-		SDL_PushEvent(&event);
-	}
-
-	Added a function to get mouse deltas since last query:
-		SDL_GetRelativeMouseState()
-
-	Added a boolean datatype to SDL_types.h:
-		SDL_bool = { SDL_TRUE, SDL_FALSE }
-
-	Added a function to get the current audio status:
-		SDL_GetAudioState();
-	It returns one of:
-		SDL_AUDIO_STOPPED,
-		SDL_AUDIO_PLAYING,
-		SDL_AUDIO_PAUSED
-
-	Added an AAlib driver (ASCII Art) - by Stephane Peter.
-
-1.0.6:
-	The input grab state is reset after each call to SDL_SetVideoMode().
-	The input is grabbed by default in fullscreen mode, and ungrabbed in
-	windowed mode.  If you want to set input grab to a particular value,
-	you should set it after each call to SDL_SetVideoMode().
-
-1.0.5:
-	Exposed SDL_AudioInit(), SDL_VideoInit()
-	Added SDL_AudioDriverName() and SDL_VideoDriverName()
-
-	Added new window manager function:
-		SDL_WM_ToggleFullScreen()
-	This is currently implemented only on Linux
-
-	The ALT-ENTER code has been removed - it's not appropriate for a
-	lib to bind keys when they aren't even emergency escape sequences.
-
-	ALT-ENTER functionality can be implemented with the following code:
-
-	int Handle_AltEnter(const SDL_Event *event)
-	{
-	    if ( event->type == SDL_KEYDOWN ) {
-	        if ( (event->key.keysym.sym == SDLK_RETURN) &&
-	             (event->key.keysym.mod & KMOD_ALT) ) {   
-	                SDL_WM_ToggleFullScreen(SDL_GetVideoSurface());
-	                return(0);
-	        }
-	    }
-	    return(1);
-	}
-	SDL_SetEventFilter(Handle_AltEnter);
-
-1.0.3:
-	Under X11, if you grab the input and hide the mouse cursor,
-	the mouse will go into a "relative motion" mode where you
-	will always get relative motion events no matter how far in
-	each direction you move the mouse - relative motion is not
-	bounded by the edges of the window (though the absolute values
-	of the mouse positions are clamped by the size of the window).
-	The SVGAlib, framebuffer console, and DirectInput drivers all
-	have this behavior naturally, and the GDI and BWindow drivers
-	never go into "relative motion" mode.
-
-1.0.2:
-	Added a function to enable keyboard repeat:
-		SDL_EnableKeyRepeat()
-
-	Added a function to grab the mouse and keyboard input
-		SDL_WM_GrabInput()
-
-	Added a function to iconify the window.
-		SDL_WM_IconifyWindow()
-	If this function succeeds, the application will receive an event
-	signaling SDL_APPACTIVE event 
-
-1.0.1:
-	Added constants to SDL_audio.h for 16-bit native byte ordering:
-		AUDIO_U16SYS, AUDIO_S16SYS
-
-1.0.0:
-	New public release
-
-Version 0.11:
-
-0.11.5:
-	A new function SDL_GetVideoSurface() has been added, and returns
-	a pointer to the current display surface.
-
-	SDL_AllocSurface() has been renamed SDL_CreateRGBSurface(), and
-	a new function SDL_CreateRGBSurfaceFrom() has been added to allow
-	creating an SDL surface from an existing pixel data buffer.
-
-	Added SDL_GetRGB() to the headers and documentation.
-
-0.11.4:
-	SDL_SetLibraryPath() is no longer meaningful, and has been removed.
-
-0.11.3:
-	A new flag for SDL_Init(), SDL_INIT_NOPARACHUTE, prevents SDL from
-	installing fatal signal handlers on operating systems that support
-	them.
-
-Version 0.9:
-
-0.9.15:
-	SDL_CreateColorCursor() has been removed.  Color cursors should
-	be implemented as sprites, blitted by the application when the
-	cursor moves.  To get smooth color cursor updates when the app
-	is busy, pass the SDL_INIT_EVENTTHREAD flag to SDL_Init().  This
-	allows you to handle the mouse motion in another thread from an
-	event filter function, but is currently only supported by Linux
-	and BeOS.  Note that you'll have to protect the display surface
-	from multi-threaded access by using mutexes if you do this.
-
-	Thread-safe surface support has been removed from SDL.
-	This makes blitting somewhat faster, by removing SDL_MiddleBlit().
-	Code that used SDL_MiddleBlit() should use SDL_LowerBlit() instead.
-	You can make your surfaces thread-safe by allocating your own
-	mutex and making lock/unlock calls around accesses to your surface.
-
-0.9.14:
-	SDL_GetMouseState() now takes pointers to int rather than Uint16.
-
-	If you set the SDL_WINDOWID environment variable under UNIX X11,
-	SDL will use that as the main window instead of creating it's own.
-	This is an unsupported extension to SDL, and not portable at all.
-
-0.9.13:
-	Added a function SDL_SetLibraryPath() which can be used to specify
-	the directory containing the SDL dynamic libraries.  This is useful
-	for commercial applications which ship with particular versions
-	of the libraries, and for security on multi-user systems.
-	If this function is not used, the default system directories are 
-	searched using the native dynamic object loading mechanism.
-
-	In order to support C linkage under Visual C++, you must declare
-	main() without any return type:
-		main(int argc, char *argv[]) {
-			/* Do the program... */
-			return(0);
-		}
-	C++ programs should also return a value if compiled under VC++.
-
-	The blit_endian member of the SDL_VideoInfo struct has been removed.
-
-	SDL_SymToASCII() has been replaced with SDL_GetKeyName(), so there
-	is now no longer any function to translate a keysym to a character.
-
-	The SDL_keysym structure has been extended with a 'scancode' and
-	'unicode' member.  The 'scancode' is a hardware specific scancode
-	for the key that was pressed, and may be 0.  The 'unicode' member
-	is a 16-bit UNICODE translation of the key that was pressed along
-	with any modifiers or compose keys that have been pressed.
-	If no UNICODE translation exists for the key, 'unicode' will be 0.
-
-	Added a function SDL_EnableUNICODE() to enable/disable UNICODE
-	translation of character keypresses.  Translation defaults off.
-
-	To convert existing code to use the new API, change code which
-	uses SDL_SymToASCII() to get the keyname to use SDL_GetKeyName(),
-	and change code which uses it to get the ASCII value of a sym to
-	use the 'unicode' member of the event keysym.
-
-0.9.12:
-	There is partial support for 64-bit datatypes.  I don't recommend 
-	you use this if you have a choice, because 64-bit datatypes are not
-	supported on many platforms.  On platforms for which it is supported,
-	the SDL_HAS_64BIT_TYPE C preprocessor define will be enabled, and
-	you can use the Uint64 and Sint64 datatypes.
-
-	Added functions to SDL_endian.h to support 64-bit datatypes:
-	    SDL_SwapLE64(), SDL_SwapBE64(),
-	    SDL_ReadLE64(), SDL_ReadBE64(), SDL_WriteLE64(), SDL_WriteBE64()
-
-	A new member "len_ratio" has been added to the SDL_AudioCVT structure,
-	and allows you to determine either the original buffer length or the
-	converted buffer length, given the other.
-
-	A new function SDL_FreeWAV() has been added to the API to free data
-	allocated by SDL_LoadWAV_RW().  This is necessary under Win32 since
-	the gcc compiled DLL uses a different heap than VC++ compiled apps.
-
-	SDL now has initial support for international keyboards using the
-	Latin character set.
-	If a particular mapping is desired, you can set the DEFAULT_KEYBOARD
-	compile-time variable, or you can set the environment variable 
-	"SDL_KEYBOARD" to a string identifying the keyboard mapping you desire.
-	The valid values for these variables can be found in SDL_keyboard.c
-
-	Full support for German and French keyboards under X11 is implemented.
-
-0.9.11:
-	The THREADED_EVENTS compile-time define has been replaced with the
-	SDL_INIT_EVENTTHREAD flag.  If this flag is passed to SDL_Init(),
-	SDL will create a separate thread to perform input event handling.
-	If this flag is passed to SDL_Init(), and the OS doesn't support 
-	event handling in a separate thread, SDL_Init() will fail.
-	Be sure to add calls to SDL_Delay() in your main thread to allow
-	the OS to schedule your event thread, or it may starve, leading
-	to slow event delivery and/or dropped events.
-	Currently MacOS and Win32 do not support this flag, while BeOS 
-	and Linux do support it.  I recommend that your application only
-	use this flag if absolutely necessary.
-
-	The SDL thread function passed to SDL_CreateThread() now returns a
-	status.  This status can be retrieved by passing a non-NULL pointer
-	as the 'status' argument to SDL_WaitThread().
-
-	The volume parameter to SDL_MixAudio() has been increased in range
-	from (0-8) to (0-128)
-
-	SDL now has a data source abstraction which can encompass a file,
-	an area of memory, or any custom object you can envision.  It uses
-	these abstractions, SDL_RWops, in the endian read/write functions,
-	and the built-in WAV and BMP file loaders.  This means you can load
-	WAV chunks from memory mapped files, compressed archives, network
-	pipes, or anything else that has a data read abstraction.
-
-	There are three built-in data source abstractions:
-	    SDL_RWFromFile(), SDL_RWFromFP(), SDL_RWFromMem()
-	along with a generic data source allocation function:
-	    SDL_AllocRW()
-	These data sources can be used like stdio file pointers with the
-	following convenience functions:
-	    SDL_RWseek(), SDL_RWread(), SDL_RWwrite(), SDL_RWclose()
-	These functions are defined in the new header file "SDL_rwops.h"
-
-	The endian swapping functions have been turned into macros for speed
-	and SDL_CalculateEndian() has been removed.  SDL_endian.h now defines
-	SDL_BYTEORDER as either SDL_BIG_ENDIAN or SDL_LIL_ENDIAN depending on
-	the endianness of the host system.
-
-	The endian read/write functions now take an SDL_RWops pointer
-	instead of a stdio FILE pointer, to support the new data source
-	abstraction.
-
-	The SDL_*LoadWAV() functions have been replaced with a single
-	SDL_LoadWAV_RW() function that takes a SDL_RWops pointer as it's
-	first parameter, and a flag whether or not to automatically 
-	free it as the second parameter.  SDL_LoadWAV() is a macro for
-	backward compatibility and convenience:
-	    SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
-
-	The SDL_*LoadBMP()/SDL_*SaveBMP() functions have each been replaced
-	with a single function that takes a SDL_RWops pointer as it's
-	first parameter, and a flag whether or not to automatically 
-	free it as the second parameter.  SDL_LoadBMP() and SDL_SaveBMP()
-	are macros for backward compatibility and convenience:
-	    SDL_LoadBMP_RW(SDL_RWFromFile("sample.bmp", "rb"), 1, ...);
-	    SDL_SaveBMP_RW(SDL_RWFromFile("sample.bmp", "wb"), 1, ...);
-	Note that these functions use SDL_RWseek() extensively, and should
-	not be used on pipes or other non-seekable data sources.
-
-0.9.10:
-	The Linux SDL_SysWMInfo and SDL_SysWMMsg structures have been 
-	extended to support multiple types of display drivers, as well as
-        safe access to the X11 display when THREADED_EVENTS is enabled.
-        The new structures are documented in the SDL_syswm.h header file.
-
-	Thanks to John Elliott <jce@seasip.demon.co.uk>, the UK keyboard
-	should now work properly, as well as the "Windows" keys on US
-	keyboards.
-
-	The Linux CD-ROM code now reads the CD-ROM devices from /etc/fstab
-	instead of trying to open each block device on the system.
-	The CD must be listed in /etc/fstab as using the iso9660 filesystem.
-
-	On Linux, if you define THREADED_EVENTS at compile time, a separate
-	thread will be spawned to gather X events asynchronously from the
-	graphics updates.  This hasn't been extensively tested, but it does
-	provide a means of handling keyboard and mouse input in a separate
-	thread from the graphics thread.  (This is now enabled by default.)
-
-	A special access function SDL_PeepEvents() allows you to manipulate
-	the event queue in a thread-safe manner, including peeking at events,
-	removing events of a specified type, and adding new events of arbitrary
-	type to the queue (use the new 'user' member of the SDL_Event type).
-
-	If you use SDL_PeepEvents() to gather events, then the main graphics
-	thread needs to call SDL_PumpEvents() periodically to drive the event
-	loop and generate input events.  This is not necessary if SDL has been 
-	compiled with THREADED_EVENTS defined, but doesn't hurt.
-
-	A new function SDL_ThreadID() returns the identifier associated with
-	the current thread.
-
-0.9.9:
-	The AUDIO_STEREO format flag has been replaced with a new 'channels'
-	member of the SDL_AudioSpec structure.  The channels are 1 for mono
-	audio, and 2 for stereo audio.  In the future more channels may be
-	supported for 3D surround sound.
-
-	The SDL_MixAudio() function now takes an additional volume parameter,
-	which should be set to SDL_MIX_MAXVOLUME for compatibility with the
-	original function.
-
-	The CD-ROM functions which take a 'cdrom' parameter can now be
-	passed NULL, and will act on the last successfully opened CD-ROM.
-
-0.9.8:
-	No changes, bugfixes only.
-	
-0.9.7:
-	No changes, bugfixes only.
-	
-0.9.6:
-	Added a fast rectangle fill function: SDL_FillRect()
-
-	Addition of a useful function for getting info on the video hardware:
-	    const SDL_VideoInfo *SDL_GetVideoInfo(void)
-        This function replaces SDL_GetDisplayFormat().
-
-	Initial support for double-buffering:
-	  Use the SDL_DOUBLEBUF flag in SDL_SetVideoMode()
-	  Update the screen with a new function: SDL_Flip()
-
-	SDL_AllocSurface() takes two new flags:
-	SDL_SRCCOLORKEY means that the surface will be used for colorkey blits
-	  and if the hardware supports hardware acceleration of colorkey blits
-	  between two surfaces in video memory, to place the surface in video
-	  memory if possible, otherwise it will be placed in system memory.
-	SDL_SRCALPHA means that the surface will be used for alpha blits and
-	  if the hardware supports hardware acceleration of alpha blits between
-	  two surfaces in video memory, to place the surface in video memory
-	  if possible, otherwise it will be placed in system memory.
-	SDL_HWSURFACE now means that the surface will be created with the 
-	  same format as the display surface, since having surfaces in video
-	  memory is only useful for fast blitting to the screen, and you can't
-	  blit surfaces with different surface formats in video memory.
-
-0.9.5:
-	You can now pass a NULL mask to SDL_WM_SetIcon(), and it will assume
-	that the icon consists of the entire image.
-
-	SDL_LowerBlit() is back -- but don't use it on the display surface.
-	It is exactly the same as SDL_MiddleBlit(), but doesn't check for
-	thread safety.
-
-	Added SDL_FPLoadBMP(), SDL_FPSaveBMP(), SDL_FPLoadWAV(), which take
-	a FILE pointer instead of a file name.
-
-	Added CD-ROM audio control API:
-	    SDL_CDNumDrives()
-	    SDL_CDName()
-	    SDL_CDOpen()
-	    SDL_CDStatus()
-	    SDL_CDPlayTracks()
-	    SDL_CDPlay()
-	    SDL_CDPause()
-	    SDL_CDResume()
-	    SDL_CDStop()
-	    SDL_CDEject()
-	    SDL_CDClose()
-
-0.9.4:
-	No changes, bugfixes only.
-
-0.9.3:
-	Mouse motion event now includes relative motion information:
-	    Sint16 event->motion.xrel, Sint16 event->motion.yrel
-
-	X11 keyrepeat handling can be disabled by defining IGNORE_X_KEYREPEAT
-	    (Add -DIGNORE_X_KEYREPEAT to CFLAGS line in obj/x11Makefile)
-
-0.9.2:
-	No changes, bugfixes only.
-
-0.9.1:
-	Removed SDL_MapSurface() and SDL_UnmapSurface() -- surfaces are now
-	automatically mapped on blit.
-
-0.8.0:
-	SDL stable release
+
+This is a list of API changes in SDL's version history.
+
+Version 1.0:
+
+1.2.14:
+	Added cast macros for correct usage with C++:
+		SDL_reinterpret_cast(type, expression)
+		SDL_static_cast(type, expression)
+
+	Added SDL_VIDEO_FULLSCREEN_DISPLAY as a preferred synonym for 
+	SDL_VIDEO_FULLSCREEN_HEAD on X11.
+
+	Added SDL_DISABLE_LOCK_KEYS environment variable to enable normal
+	up/down events for Caps-Lock and Num-Lock keys.
+
+1.2.13:
+	Added SDL_BUTTON_X1 and SDL_BUTTON_X2 constants.
+
+1.2.12:
+	Added SDL_VIDEO_ALLOW_SCREENSAVER to override SDL's disabling
+	of the screensaver on Mac OS X and X11.
+
+1.2.10:
+	If SDL_OpenAudio() is passed zero for the desired format
+	fields, the following environment variables will be used
+	to fill them in:
+		SDL_AUDIO_FREQUENCY
+		SDL_AUDIO_FORMAT
+		SDL_AUDIO_CHANNELS
+		SDL_AUDIO_SAMPLES
+	If an environment variable is not specified, it will be set
+	to a reasonable default value.
+
+	Added support for the SDL_VIDEO_FULLSCREEN_HEAD environment
+	variable, currently supported on X11 Xinerama configurations.
+
+	Added SDL_GL_SWAP_CONTROL to wait for vsync in OpenGL applications.
+
+	Added SDL_GL_ACCELERATED_VISUAL to guarantee hardware acceleration.
+
+	Added current_w and current_h to the SDL_VideoInfo structure,
+	which is set to the desktop resolution during video intialization,
+	and then set to the current resolution when a video mode is set.
+
+	SDL_SetVideoMode() now accepts 0 for width or height and will use
+	the current video mode (or the desktop mode if no mode has been set.)
+
+	Added SDL_GetKeyRepeat()
+
+	Added SDL_config.h, with defaults for various build environments.
+
+1.2.7:
+	Added CPU feature detection functions to SDL_cpuinfo.h:
+		SDL_HasRDTSC(), SDL_HasMMX(), SDL_Has3DNow(), SDL_HasSSE(),
+		SDL_HasAltiVec()
+	Added function to create RWops from const memory: SDL_RWFromConstMem()
+
+1.2.6:
+	Added SDL_LoadObject(), SDL_LoadFunction(), and SDL_UnloadObject()
+
+	Added SDL_GL_MULTISAMPLEBUFFERS and SDL_GL_MULTISAMPLESAMPLES for FSAA
+
+1.2.5:
+	Added SDL_BUTTON_WHEELUP (4) and SDL_BUTTON_WHEELDOWN (5)
+
+	Added SDL_GL_STEREO for stereoscopic OpenGL contexts
+
+1.2.0:
+	Added SDL_VIDEOEXPOSE event to signal that the screen needs to
+	be redrawn.  This is currently only delivered to OpenGL windows
+	on X11, though it may be delivered in the future when the video
+	memory is lost under DirectX.
+
+1.1.8:
+	You can pass SDL_NOFRAME to SDL_VideoMode() to create a window
+	that has no title bar or frame decoration.  Fullscreen video
+	modes automatically have this flag set.
+
+	Added a function to query the clipping rectangle for a surface:
+		void SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect)
+
+	Added a function to query the current event filter:
+		SDL_EventFilter SDL_GetEventFilter(void)
+
+	If you pass -1 to SDL_ShowCursor(), it won't change the current
+	cursor visibility state, but will still return it.
+
+	SDL_LockSurface() and SDL_UnlockSurface() are recursive, meaning
+	you can nest them as deep as you want, as long as each lock call
+	has a matching unlock call.  The surface remains locked until the
+	last matching unlock call.
+
+	Note that you may not blit to or from a locked surface.
+
+1.1.7:
+	The SDL_SetGammaRamp() and SDL_GetGammaRamp() functions now take
+	arrays of Uint16 values instead of Uint8 values.  For the most part,
+	you can just take your old values and shift them up 8 bits to get
+	new correct values for your gamma ramps.
+
+	You can pass SDL_RLEACCEL in flags passed to SDL_ConvertSurface()
+        and SDL will try to RLE accelerate colorkey and alpha blits in the
+	resulting surface.
+
+1.1.6:
+	Added a function to return the thread ID of a specific thread:
+		Uint32 SDL_GetThreadID(SDL_Thread *thread)
+	If 'thread' is NULL, this function returns the id for this thread.
+
+1.1.5:
+	The YUV overlay structure has been changed to use an array of
+	pitches and pixels representing the planes of a YUV image, to
+	better enable hardware acceleration.  The YV12 and IYUV formats
+	each have three planes, corresponding to the Y, U, and V portions
+	of the image, while packed pixel YUV formats just have one plane.
+
+	For palettized mode (8bpp), the screen colormap is now split in
+	a physical and a logical palette. The physical palette determines
+	what colours the screen pixels will get when displayed, and the
+	logical palette controls the mapping from blits to/from the screen.
+	A new function, SDL_SetPalette() has been added to change
+	logical and physical palettes separately. SDL_SetColors() works
+	just as before, and is equivalent to calling SDL_SetPalette() with
+	a flag argument of (SDL_LOGPAL|SDL_PHYSPAL).
+
+	SDL_BlitSurface() no longer modifies the source rectangle, only the
+	destination rectangle. The width/height members of the destination
+	rectangle are ignored, only the position is used.
+
+	The old source clipping function SDL_SetClipping() has been replaced
+	with a more useful function to set the destination clipping rectangle:
+		SDL_bool SDL_SetClipRect(SDL_Surface *surface, SDL_Rect *rect)
+		
+	Added a function to see what subsystems have been initialized:
+		Uint32 SDL_WasInit(Uint32 flags)
+
+	The Big Alpha Flip: SDL now treats alpha as opacity like everybody
+	else, and not as transparency:
+
+	A new cpp symbol: SDL_ALPHA_OPAQUE is defined as 255
+	A new cpp symbol: SDL_ALPHA_TRANSPARENT is defined as 0
+	Values between 0 and 255 vary from fully transparent to fully opaque.
+
+	New functions:
+	SDL_DisplayFormatAlpha()
+	    Returns a surface converted to a format with alpha-channel
+	    that can be blit efficiently to the screen. (In other words,
+	    like SDL_DisplayFormat() but the resulting surface has
+	    an alpha channel.)  This is useful for surfaces with alpha.
+	SDL_MapRGBA()
+	    Works as SDL_MapRGB() but takes an additional alpha parameter.
+	SDL_GetRGBA()
+	    Works as SDL_GetRGB() but also returns the alpha value
+	    (SDL_ALPHA_OPAQUE for formats without an alpha channel)
+
+	Both SDL_GetRGB() and SDL_GetRGBA() now always return values in
+	the [0..255] interval. Previously, SDL_GetRGB() would return
+	(0xf8, 0xfc, 0xf8) for a completely white pixel in RGB565 format.
+	(N.B.: This is broken for bit fields < 3 bits.)
+
+	SDL_MapRGB() returns pixels in which the alpha channel is set opaque.
+
+	SDL_SetAlpha() can now be used for both setting the per-surface
+	alpha, using the new way of thinking of alpha, and also to enable
+	and disable per-pixel alpha blending for surfaces with an alpha
+	channel:
+		To disable alpha blending:
+			SDL_SetAlpha(surface, 0, 0);
+		To re-enable alpha blending:
+			SDL_SetAlpha(surface, SDL_SRCALPHA, 0);
+	Surfaces with an alpha channel have blending enabled by default.
+
+	SDL_SetAlpha() now accepts SDL_RLEACCEL as a flag, which requests
+	RLE acceleration of blits, just as like with SDL_SetColorKey().
+	This flag can be set for both surfaces with an alpha channel
+	and surfaces with an alpha value set by SDL_SetAlpha().
+	As always, RLE surfaces must be locked before pixel access is
+	allowed, and unlocked before any other SDL operations are done
+	on it.
+
+	The blit semantics for surfaces with and without alpha and colorkey
+	have now been defined:
+
+	RGBA->RGB:
+	    SDL_SRCALPHA set:
+		alpha-blend (using alpha-channel).
+		SDL_SRCCOLORKEY ignored.
+	    SDL_SRCALPHA not set:
+		copy RGB.
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
+		RGB values of the source colour key, ignoring alpha in the
+		comparison.
+
+	RGB->RGBA:
+	    SDL_SRCALPHA set:
+		alpha-blend (using the source per-surface alpha value);
+		set destination alpha to opaque.
+	    SDL_SRCALPHA not set:
+		copy RGB, set destination alpha to opaque.
+	    both:
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
+		source colour key.
+
+	RGBA->RGBA:
+	    SDL_SRCALPHA set:
+		alpha-blend (using the source alpha channel) the RGB values;
+		leave destination alpha untouched. [Note: is this correct?]
+		SDL_SRCCOLORKEY ignored.
+	    SDL_SRCALPHA not set:
+		copy all of RGBA to the destination.
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
+		RGB values of the source colour key, ignoring alpha in the
+		comparison.
+
+	RGB->RGB: 
+	    SDL_SRCALPHA set:
+		alpha-blend (using the source per-surface alpha value).
+	    SDL_SRCALPHA not set:
+		copy RGB.
+	    both:
+		if SDL_SRCCOLORKEY set, only copy the pixels matching the
+		source colour key.
+
+	As a special case, blits from surfaces with per-surface alpha
+	value of 128 (50% transparency) are optimised and much faster
+	than other alpha values. This does not apply to surfaces with
+	alpha channels (per-pixel alpha).
+
+	New functions for manipulating the gamma of the display have
+	been added:
+		int SDL_SetGamma(float red, float green, float blue);
+		int SDL_SetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
+		int SDL_GetGammaRamp(Uint8 *red, Uint8 *green, Uint8 *blue);
+	Gamma ramps are tables with 256 entries which map the screen color
+	components into actually displayed colors.  For an example of
+	implementing gamma correction and gamma fades, see test/testgamma.c
+	Gamma control is not supported on all hardware.
+
+1.1.4:
+	The size of the SDL_CDtrack structure changed from 8 to 12 bytes
+	as the size of the length member was extended to 32 bits.
+
+        You can now use SDL for 2D blitting with a GL mode by passing the
+	SDL_OPENGLBLIT flag to SDL_SetVideoMode().  You can specify 16 or
+	32 bpp, and the data in the framebuffer is put into the GL scene
+	when you call SDL_UpdateRects(), and the scene will be visible
+	when you call SDL_GL_SwapBuffers().
+
+	Run the "testgl" test program with the -logo command line option
+	to see an example of this blending of 2D and 3D in SDL.
+
+1.1.3:
+	Added SDL_FreeRW() to the API, to complement SDL_AllocRW()
+
+	Added resizable window support - just add SDL_RESIZABLE to the
+	SDL_SetVideoMode() flags, and then wait for SDL_VIDEORESIZE events.
+	See SDL_events.h for details on the new SDL_ResizeEvent structure.
+
+	Added condition variable support, based on mutexes and semaphores.
+		SDL_CreateCond()
+		SDL_DestroyCond()
+		SDL_CondSignal()
+		SDL_CondBroadcast()
+		SDL_CondWait()
+		SDL_CondTimedWait()
+	The new function prototypes are in SDL_mutex.h
+
+	Added counting semaphore support, based on the mutex primitive.
+		SDL_CreateSemaphore()
+		SDL_DestroySemaphore()
+		SDL_SemWait()
+		SDL_SemTryWait()
+		SDL_SemWaitTimeout()
+		SDL_SemPost()
+		SDL_SemValue()
+	The new function prototypes are in SDL_mutex.h
+
+	Added support for asynchronous blitting.  To take advantage of this,
+	you must set the SDL_ASYNCBLIT flag when setting the video mode and
+	creating surfaces that you want accelerated in this way.  You must
+	lock surfaces that have this flag set, and the lock will block until
+	any queued blits have completed.
+
+	Added YUV video overlay support.
+	The supported YUV formats are: YV12, IYUV, YUY2, UYVY, and YVYU.
+	This function creates an overlay surface:
+		SDL_CreateYUVOverlay()
+	You must lock and unlock the overlay to get access to the data:
+		SDL_LockYUVOverlay() SDL_UnlockYUVOverlay()
+	You can then display the overlay:
+		SDL_DisplayYUVOverlay()
+	You must free the overlay when you are done using it:
+		SDL_FreeYUVOverlay()
+	See SDL_video.h for the full function prototypes.
+
+	The joystick hat position constants have been changed:
+	Old constant            New constant
+	------------            ------------
+	     0                  SDL_HAT_CENTERED
+	     1                  SDL_HAT_UP
+	     2                  SDL_HAT_RIGHTUP
+	     3                  SDL_HAT_RIGHT
+	     4                  SDL_HAT_RIGHTDOWN
+	     5                  SDL_HAT_DOWN
+	     6                  SDL_HAT_LEFTDOWN
+	     7                  SDL_HAT_LEFT
+	     8                  SDL_HAT_LEFTUP
+	The new constants are bitmasks, so you can check for the
+	individual axes like this:
+		if ( hat_position & SDL_HAT_UP ) {
+		}
+	and you'll catch left-up, up, and right-up.
+
+1.1.2:
+	Added multiple timer support:
+		SDL_AddTimer() and SDL_RemoveTimer()
+
+	SDL_WM_SetIcon() now respects the icon colorkey if mask is NULL.
+
+1.1.0:
+	Added initial OpenGL support.
+	First set GL attributes (such as RGB depth, alpha depth, etc.)
+		SDL_GL_SetAttribute()
+	Then call SDL_SetVideoMode() with the SDL_OPENGL flag.
+	Perform all of your normal GL drawing.
+	Finally swap the buffers with the new SDL function:
+		SDL_GL_SwapBuffers()
+	See the new 'testgl' test program for an example of using GL with SDL.
+
+	You can load GL extension functions by using the function:
+		SDL_GL_LoadProcAddress()
+
+	Added functions to initialize and cleanup specific SDL subsystems:
+		SDL_InitSubSystem() and SDL_QuitSubSystem()
+
+	Added user-defined event type:
+		typedef struct {
+        		Uint8 type;
+        		int code;
+        		void *data1;
+        		void *data2;
+		} SDL_UserEvent;
+	This structure is in the "user" member of an SDL_Event.
+
+	Added a function to push events into the event queue:
+		SDL_PushEvent()
+
+	Example of using the new SDL user-defined events:
+	{
+		SDL_Event event;
+
+		event.type = SDL_USEREVENT;
+		event.user.code = my_event_code;
+		event.user.data1 = significant_data;
+		event.user.data2 = 0;
+		SDL_PushEvent(&event);
+	}
+
+	Added a function to get mouse deltas since last query:
+		SDL_GetRelativeMouseState()
+
+	Added a boolean datatype to SDL_types.h:
+		SDL_bool = { SDL_TRUE, SDL_FALSE }
+
+	Added a function to get the current audio status:
+		SDL_GetAudioState();
+	It returns one of:
+		SDL_AUDIO_STOPPED,
+		SDL_AUDIO_PLAYING,
+		SDL_AUDIO_PAUSED
+
+	Added an AAlib driver (ASCII Art) - by Stephane Peter.
+
+1.0.6:
+	The input grab state is reset after each call to SDL_SetVideoMode().
+	The input is grabbed by default in fullscreen mode, and ungrabbed in
+	windowed mode.  If you want to set input grab to a particular value,
+	you should set it after each call to SDL_SetVideoMode().
+
+1.0.5:
+	Exposed SDL_AudioInit(), SDL_VideoInit()
+	Added SDL_AudioDriverName() and SDL_VideoDriverName()
+
+	Added new window manager function:
+		SDL_WM_ToggleFullScreen()
+	This is currently implemented only on Linux
+
+	The ALT-ENTER code has been removed - it's not appropriate for a
+	lib to bind keys when they aren't even emergency escape sequences.
+
+	ALT-ENTER functionality can be implemented with the following code:
+
+	int Handle_AltEnter(const SDL_Event *event)
+	{
+	    if ( event->type == SDL_KEYDOWN ) {
+	        if ( (event->key.keysym.sym == SDLK_RETURN) &&
+	             (event->key.keysym.mod & KMOD_ALT) ) {   
+	                SDL_WM_ToggleFullScreen(SDL_GetVideoSurface());
+	                return(0);
+	        }
+	    }
+	    return(1);
+	}
+	SDL_SetEventFilter(Handle_AltEnter);
+
+1.0.3:
+	Under X11, if you grab the input and hide the mouse cursor,
+	the mouse will go into a "relative motion" mode where you
+	will always get relative motion events no matter how far in
+	each direction you move the mouse - relative motion is not
+	bounded by the edges of the window (though the absolute values
+	of the mouse positions are clamped by the size of the window).
+	The SVGAlib, framebuffer console, and DirectInput drivers all
+	have this behavior naturally, and the GDI and BWindow drivers
+	never go into "relative motion" mode.
+
+1.0.2:
+	Added a function to enable keyboard repeat:
+		SDL_EnableKeyRepeat()
+
+	Added a function to grab the mouse and keyboard input
+		SDL_WM_GrabInput()
+
+	Added a function to iconify the window.
+		SDL_WM_IconifyWindow()
+	If this function succeeds, the application will receive an event
+	signaling SDL_APPACTIVE event 
+
+1.0.1:
+	Added constants to SDL_audio.h for 16-bit native byte ordering:
+		AUDIO_U16SYS, AUDIO_S16SYS
+
+1.0.0:
+	New public release
+
+Version 0.11:
+
+0.11.5:
+	A new function SDL_GetVideoSurface() has been added, and returns
+	a pointer to the current display surface.
+
+	SDL_AllocSurface() has been renamed SDL_CreateRGBSurface(), and
+	a new function SDL_CreateRGBSurfaceFrom() has been added to allow
+	creating an SDL surface from an existing pixel data buffer.
+
+	Added SDL_GetRGB() to the headers and documentation.
+
+0.11.4:
+	SDL_SetLibraryPath() is no longer meaningful, and has been removed.
+
+0.11.3:
+	A new flag for SDL_Init(), SDL_INIT_NOPARACHUTE, prevents SDL from
+	installing fatal signal handlers on operating systems that support
+	them.
+
+Version 0.9:
+
+0.9.15:
+	SDL_CreateColorCursor() has been removed.  Color cursors should
+	be implemented as sprites, blitted by the application when the
+	cursor moves.  To get smooth color cursor updates when the app
+	is busy, pass the SDL_INIT_EVENTTHREAD flag to SDL_Init().  This
+	allows you to handle the mouse motion in another thread from an
+	event filter function, but is currently only supported by Linux
+	and BeOS.  Note that you'll have to protect the display surface
+	from multi-threaded access by using mutexes if you do this.
+
+	Thread-safe surface support has been removed from SDL.
+	This makes blitting somewhat faster, by removing SDL_MiddleBlit().
+	Code that used SDL_MiddleBlit() should use SDL_LowerBlit() instead.
+	You can make your surfaces thread-safe by allocating your own
+	mutex and making lock/unlock calls around accesses to your surface.
+
+0.9.14:
+	SDL_GetMouseState() now takes pointers to int rather than Uint16.
+
+	If you set the SDL_WINDOWID environment variable under UNIX X11,
+	SDL will use that as the main window instead of creating it's own.
+	This is an unsupported extension to SDL, and not portable at all.
+
+0.9.13:
+	Added a function SDL_SetLibraryPath() which can be used to specify
+	the directory containing the SDL dynamic libraries.  This is useful
+	for commercial applications which ship with particular versions
+	of the libraries, and for security on multi-user systems.
+	If this function is not used, the default system directories are 
+	searched using the native dynamic object loading mechanism.
+
+	In order to support C linkage under Visual C++, you must declare
+	main() without any return type:
+		main(int argc, char *argv[]) {
+			/* Do the program... */
+			return(0);
+		}
+	C++ programs should also return a value if compiled under VC++.
+
+	The blit_endian member of the SDL_VideoInfo struct has been removed.
+
+	SDL_SymToASCII() has been replaced with SDL_GetKeyName(), so there
+	is now no longer any function to translate a keysym to a character.
+
+	The SDL_keysym structure has been extended with a 'scancode' and
+	'unicode' member.  The 'scancode' is a hardware specific scancode
+	for the key that was pressed, and may be 0.  The 'unicode' member
+	is a 16-bit UNICODE translation of the key that was pressed along
+	with any modifiers or compose keys that have been pressed.
+	If no UNICODE translation exists for the key, 'unicode' will be 0.
+
+	Added a function SDL_EnableUNICODE() to enable/disable UNICODE
+	translation of character keypresses.  Translation defaults off.
+
+	To convert existing code to use the new API, change code which
+	uses SDL_SymToASCII() to get the keyname to use SDL_GetKeyName(),
+	and change code which uses it to get the ASCII value of a sym to
+	use the 'unicode' member of the event keysym.
+
+0.9.12:
+	There is partial support for 64-bit datatypes.  I don't recommend 
+	you use this if you have a choice, because 64-bit datatypes are not
+	supported on many platforms.  On platforms for which it is supported,
+	the SDL_HAS_64BIT_TYPE C preprocessor define will be enabled, and
+	you can use the Uint64 and Sint64 datatypes.
+
+	Added functions to SDL_endian.h to support 64-bit datatypes:
+	    SDL_SwapLE64(), SDL_SwapBE64(),
+	    SDL_ReadLE64(), SDL_ReadBE64(), SDL_WriteLE64(), SDL_WriteBE64()
+
+	A new member "len_ratio" has been added to the SDL_AudioCVT structure,
+	and allows you to determine either the original buffer length or the
+	converted buffer length, given the other.
+
+	A new function SDL_FreeWAV() has been added to the API to free data
+	allocated by SDL_LoadWAV_RW().  This is necessary under Win32 since
+	the gcc compiled DLL uses a different heap than VC++ compiled apps.
+
+	SDL now has initial support for international keyboards using the
+	Latin character set.
+	If a particular mapping is desired, you can set the DEFAULT_KEYBOARD
+	compile-time variable, or you can set the environment variable 
+	"SDL_KEYBOARD" to a string identifying the keyboard mapping you desire.
+	The valid values for these variables can be found in SDL_keyboard.c
+
+	Full support for German and French keyboards under X11 is implemented.
+
+0.9.11:
+	The THREADED_EVENTS compile-time define has been replaced with the
+	SDL_INIT_EVENTTHREAD flag.  If this flag is passed to SDL_Init(),
+	SDL will create a separate thread to perform input event handling.
+	If this flag is passed to SDL_Init(), and the OS doesn't support 
+	event handling in a separate thread, SDL_Init() will fail.
+	Be sure to add calls to SDL_Delay() in your main thread to allow
+	the OS to schedule your event thread, or it may starve, leading
+	to slow event delivery and/or dropped events.
+	Currently MacOS and Win32 do not support this flag, while BeOS 
+	and Linux do support it.  I recommend that your application only
+	use this flag if absolutely necessary.
+
+	The SDL thread function passed to SDL_CreateThread() now returns a
+	status.  This status can be retrieved by passing a non-NULL pointer
+	as the 'status' argument to SDL_WaitThread().
+
+	The volume parameter to SDL_MixAudio() has been increased in range
+	from (0-8) to (0-128)
+
+	SDL now has a data source abstraction which can encompass a file,
+	an area of memory, or any custom object you can envision.  It uses
+	these abstractions, SDL_RWops, in the endian read/write functions,
+	and the built-in WAV and BMP file loaders.  This means you can load
+	WAV chunks from memory mapped files, compressed archives, network
+	pipes, or anything else that has a data read abstraction.
+
+	There are three built-in data source abstractions:
+	    SDL_RWFromFile(), SDL_RWFromFP(), SDL_RWFromMem()
+	along with a generic data source allocation function:
+	    SDL_AllocRW()
+	These data sources can be used like stdio file pointers with the
+	following convenience functions:
+	    SDL_RWseek(), SDL_RWread(), SDL_RWwrite(), SDL_RWclose()
+	These functions are defined in the new header file "SDL_rwops.h"
+
+	The endian swapping functions have been turned into macros for speed
+	and SDL_CalculateEndian() has been removed.  SDL_endian.h now defines
+	SDL_BYTEORDER as either SDL_BIG_ENDIAN or SDL_LIL_ENDIAN depending on
+	the endianness of the host system.
+
+	The endian read/write functions now take an SDL_RWops pointer
+	instead of a stdio FILE pointer, to support the new data source
+	abstraction.
+
+	The SDL_*LoadWAV() functions have been replaced with a single
+	SDL_LoadWAV_RW() function that takes a SDL_RWops pointer as it's
+	first parameter, and a flag whether or not to automatically 
+	free it as the second parameter.  SDL_LoadWAV() is a macro for
+	backward compatibility and convenience:
+	    SDL_LoadWAV_RW(SDL_RWFromFile("sample.wav", "rb"), 1, ...);
+
+	The SDL_*LoadBMP()/SDL_*SaveBMP() functions have each been replaced
+	with a single function that takes a SDL_RWops pointer as it's
+	first parameter, and a flag whether or not to automatically 
+	free it as the second parameter.  SDL_LoadBMP() and SDL_SaveBMP()
+	are macros for backward compatibility and convenience:
+	    SDL_LoadBMP_RW(SDL_RWFromFile("sample.bmp", "rb"), 1, ...);
+	    SDL_SaveBMP_RW(SDL_RWFromFile("sample.bmp", "wb"), 1, ...);
+	Note that these functions use SDL_RWseek() extensively, and should
+	not be used on pipes or other non-seekable data sources.
+
+0.9.10:
+	The Linux SDL_SysWMInfo and SDL_SysWMMsg structures have been 
+	extended to support multiple types of display drivers, as well as
+        safe access to the X11 display when THREADED_EVENTS is enabled.
+        The new structures are documented in the SDL_syswm.h header file.
+
+	Thanks to John Elliott <jce@seasip.demon.co.uk>, the UK keyboard
+	should now work properly, as well as the "Windows" keys on US
+	keyboards.
+
+	The Linux CD-ROM code now reads the CD-ROM devices from /etc/fstab
+	instead of trying to open each block device on the system.
+	The CD must be listed in /etc/fstab as using the iso9660 filesystem.
+
+	On Linux, if you define THREADED_EVENTS at compile time, a separate
+	thread will be spawned to gather X events asynchronously from the
+	graphics updates.  This hasn't been extensively tested, but it does
+	provide a means of handling keyboard and mouse input in a separate
+	thread from the graphics thread.  (This is now enabled by default.)
+
+	A special access function SDL_PeepEvents() allows you to manipulate
+	the event queue in a thread-safe manner, including peeking at events,
+	removing events of a specified type, and adding new events of arbitrary
+	type to the queue (use the new 'user' member of the SDL_Event type).
+
+	If you use SDL_PeepEvents() to gather events, then the main graphics
+	thread needs to call SDL_PumpEvents() periodically to drive the event
+	loop and generate input events.  This is not necessary if SDL has been 
+	compiled with THREADED_EVENTS defined, but doesn't hurt.
+
+	A new function SDL_ThreadID() returns the identifier associated with
+	the current thread.
+
+0.9.9:
+	The AUDIO_STEREO format flag has been replaced with a new 'channels'
+	member of the SDL_AudioSpec structure.  The channels are 1 for mono
+	audio, and 2 for stereo audio.  In the future more channels may be
+	supported for 3D surround sound.
+
+	The SDL_MixAudio() function now takes an additional volume parameter,
+	which should be set to SDL_MIX_MAXVOLUME for compatibility with the
+	original function.
+
+	The CD-ROM functions which take a 'cdrom' parameter can now be
+	passed NULL, and will act on the last successfully opened CD-ROM.
+
+0.9.8:
+	No changes, bugfixes only.
+	
+0.9.7:
+	No changes, bugfixes only.
+	
+0.9.6:
+	Added a fast rectangle fill function: SDL_FillRect()
+
+	Addition of a useful function for getting info on the video hardware:
+	    const SDL_VideoInfo *SDL_GetVideoInfo(void)
+        This function replaces SDL_GetDisplayFormat().
+
+	Initial support for double-buffering:
+	  Use the SDL_DOUBLEBUF flag in SDL_SetVideoMode()
+	  Update the screen with a new function: SDL_Flip()
+
+	SDL_AllocSurface() takes two new flags:
+	SDL_SRCCOLORKEY means that the surface will be used for colorkey blits
+	  and if the hardware supports hardware acceleration of colorkey blits
+	  between two surfaces in video memory, to place the surface in video
+	  memory if possible, otherwise it will be placed in system memory.
+	SDL_SRCALPHA means that the surface will be used for alpha blits and
+	  if the hardware supports hardware acceleration of alpha blits between
+	  two surfaces in video memory, to place the surface in video memory
+	  if possible, otherwise it will be placed in system memory.
+	SDL_HWSURFACE now means that the surface will be created with the 
+	  same format as the display surface, since having surfaces in video
+	  memory is only useful for fast blitting to the screen, and you can't
+	  blit surfaces with different surface formats in video memory.
+
+0.9.5:
+	You can now pass a NULL mask to SDL_WM_SetIcon(), and it will assume
+	that the icon consists of the entire image.
+
+	SDL_LowerBlit() is back -- but don't use it on the display surface.
+	It is exactly the same as SDL_MiddleBlit(), but doesn't check for
+	thread safety.
+
+	Added SDL_FPLoadBMP(), SDL_FPSaveBMP(), SDL_FPLoadWAV(), which take
+	a FILE pointer instead of a file name.
+
+	Added CD-ROM audio control API:
+	    SDL_CDNumDrives()
+	    SDL_CDName()
+	    SDL_CDOpen()
+	    SDL_CDStatus()
+	    SDL_CDPlayTracks()
+	    SDL_CDPlay()
+	    SDL_CDPause()
+	    SDL_CDResume()
+	    SDL_CDStop()
+	    SDL_CDEject()
+	    SDL_CDClose()
+
+0.9.4:
+	No changes, bugfixes only.
+
+0.9.3:
+	Mouse motion event now includes relative motion information:
+	    Sint16 event->motion.xrel, Sint16 event->motion.yrel
+
+	X11 keyrepeat handling can be disabled by defining IGNORE_X_KEYREPEAT
+	    (Add -DIGNORE_X_KEYREPEAT to CFLAGS line in obj/x11Makefile)
+
+0.9.2:
+	No changes, bugfixes only.
+
+0.9.1:
+	Removed SDL_MapSurface() and SDL_UnmapSurface() -- surfaces are now
+	automatically mapped on blit.
+
+0.8.0:
+	SDL stable release