mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 12:23:31 +00:00
Merge trunk head (r45466)
svn path=/branches/ros-amd64-bringup/; revision=45467
This commit is contained in:
+103
-42
@@ -1,4 +1,4 @@
|
||||
# Doxyfile 1.5.8
|
||||
# Doxyfile 1.6.2
|
||||
|
||||
# This file describes the settings to be used by the documentation system
|
||||
# doxygen (www.doxygen.org) for a project
|
||||
@@ -54,11 +54,11 @@ CREATE_SUBDIRS = YES
|
||||
# information to generate all constant output in the proper language.
|
||||
# The default language is English, other supported languages are:
|
||||
# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
|
||||
# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
|
||||
# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
|
||||
# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
|
||||
# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
|
||||
# Spanish, Swedish, and Ukrainian.
|
||||
# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
|
||||
# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
|
||||
# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
|
||||
# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak,
|
||||
# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
|
||||
|
||||
OUTPUT_LANGUAGE = English
|
||||
|
||||
@@ -124,7 +124,7 @@ FULL_PATH_NAMES = YES
|
||||
# If left blank the directory from which doxygen is run is used as the
|
||||
# path to strip.
|
||||
|
||||
STRIP_FROM_PATH = .
|
||||
STRIP_FROM_PATH =
|
||||
|
||||
# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
|
||||
# the path mentioned in the documentation of a class, which tells
|
||||
@@ -169,13 +169,13 @@ MULTILINE_CPP_IS_BRIEF = NO
|
||||
# member inherits the documentation from any documented member that it
|
||||
# re-implements.
|
||||
|
||||
INHERIT_DOCS = NO
|
||||
INHERIT_DOCS = YES
|
||||
|
||||
# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
|
||||
# a new page for each member. If set to NO, the documentation of a member will
|
||||
# be part of the file/class/namespace that contains it.
|
||||
|
||||
SEPARATE_MEMBER_PAGES = NO
|
||||
SEPARATE_MEMBER_PAGES = YES
|
||||
|
||||
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
|
||||
# Doxygen uses this value to replace tabs by spaces in code fragments.
|
||||
@@ -224,7 +224,8 @@ OPTIMIZE_OUTPUT_VHDL = NO
|
||||
# the parsers supported by doxygen: IDL, Java, Javascript, C#, C, C++, D, PHP,
|
||||
# Objective-C, Python, Fortran, VHDL, C, C++. For instance to make doxygen treat
|
||||
# .inc files as Fortran files (default is PHP), and .f files as C (default is Fortran),
|
||||
# use: inc=Fortran f=C
|
||||
# use: inc=Fortran f=C. Note that for custom extensions you also need to set
|
||||
# FILE_PATTERNS otherwise the files are not read by doxygen.
|
||||
|
||||
EXTENSION_MAPPING =
|
||||
|
||||
@@ -396,6 +397,12 @@ HIDE_SCOPE_NAMES = NO
|
||||
|
||||
SHOW_INCLUDE_FILES = YES
|
||||
|
||||
# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
|
||||
# will list include files with double quotes in the documentation
|
||||
# rather than with sharp brackets.
|
||||
|
||||
FORCE_LOCAL_INCLUDES = NO
|
||||
|
||||
# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
|
||||
# is inserted in the documentation for inline members.
|
||||
|
||||
@@ -415,6 +422,16 @@ SORT_MEMBER_DOCS = YES
|
||||
|
||||
SORT_BRIEF_DOCS = NO
|
||||
|
||||
# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
|
||||
# will sort the (brief and detailed) documentation of class members so that
|
||||
# constructors and destructors are listed first. If set to NO (the default)
|
||||
# the constructors will appear in the respective orders defined by
|
||||
# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
|
||||
# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
|
||||
# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
|
||||
|
||||
SORT_MEMBERS_CTORS_1ST = NO
|
||||
|
||||
# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
|
||||
# hierarchy of group names into alphabetical order. If set to NO (the default)
|
||||
# the group names will appear in their defined order.
|
||||
@@ -573,7 +590,7 @@ WARN_LOGFILE =
|
||||
# directories like "/usr/src/myproject". Separate the files or directories
|
||||
# with spaces.
|
||||
|
||||
INPUT =
|
||||
INPUT = .
|
||||
|
||||
# This tag can be used to specify the character encoding of the source files
|
||||
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
|
||||
@@ -591,11 +608,13 @@ INPUT_ENCODING = UTF-8
|
||||
# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
|
||||
|
||||
FILE_PATTERNS = *.c \
|
||||
*.cc \
|
||||
*.cxx \
|
||||
*.cpp \
|
||||
*.c++ \
|
||||
*.h \
|
||||
*.hh \
|
||||
*.hxx \
|
||||
*.hpp \
|
||||
*.idl
|
||||
|
||||
@@ -644,7 +663,7 @@ EXAMPLE_PATH =
|
||||
# and *.h) to filter out the source-files in the directories. If left
|
||||
# blank all files are included.
|
||||
|
||||
EXAMPLE_PATTERNS =
|
||||
EXAMPLE_PATTERNS = *
|
||||
|
||||
# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
|
||||
# searched for input files to be used with the \include or \dontinclude
|
||||
@@ -704,13 +723,13 @@ INLINE_SOURCES = YES
|
||||
# doxygen to hide any special comment blocks from generated source code
|
||||
# fragments. Normal C and C++ comments will always remain visible.
|
||||
|
||||
STRIP_CODE_COMMENTS = YES
|
||||
STRIP_CODE_COMMENTS = NO
|
||||
|
||||
# If the REFERENCED_BY_RELATION tag is set to YES
|
||||
# then for each documented function all documented
|
||||
# functions referencing it will be listed.
|
||||
|
||||
REFERENCED_BY_RELATION = NO
|
||||
REFERENCED_BY_RELATION = YES
|
||||
|
||||
# If the REFERENCES_RELATION tag is set to YES
|
||||
# then for each documented function all documented entities
|
||||
@@ -737,7 +756,7 @@ USE_HTAGS = NO
|
||||
# will generate a verbatim copy of the header file for each class for
|
||||
# which an include is specified. Set to NO to disable this.
|
||||
|
||||
VERBATIM_HEADERS = YES
|
||||
VERBATIM_HEADERS = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the alphabetical class index
|
||||
@@ -787,13 +806,13 @@ HTML_FILE_EXTENSION = .html
|
||||
# each generated HTML page. If it is left blank doxygen will generate a
|
||||
# standard header.
|
||||
|
||||
HTML_HEADER = Doxygen/header.html
|
||||
HTML_HEADER =
|
||||
|
||||
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
|
||||
# each generated HTML page. If it is left blank doxygen will generate a
|
||||
# standard footer.
|
||||
|
||||
HTML_FOOTER = Doxygen/footer.html
|
||||
HTML_FOOTER =
|
||||
|
||||
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
|
||||
# style sheet that is used by each HTML page. It can be used to
|
||||
@@ -804,6 +823,12 @@ HTML_FOOTER = Doxygen/footer.html
|
||||
|
||||
HTML_STYLESHEET =
|
||||
|
||||
# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
|
||||
# page will contain the date and time when the page was generated. Setting
|
||||
# this to NO can help when comparing the output of multiple runs.
|
||||
|
||||
HTML_TIMESTAMP = NO
|
||||
|
||||
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
|
||||
# files or namespaces will be aligned in HTML using tables. If set to
|
||||
# NO a bullet list will be used.
|
||||
@@ -937,6 +962,23 @@ QHP_SECT_FILTER_ATTRS =
|
||||
|
||||
QHG_LOCATION =
|
||||
|
||||
# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
|
||||
# will be generated, which together with the HTML files, form an Eclipse help
|
||||
# plugin. To install this plugin and make it available under the help contents
|
||||
# menu in Eclipse, the contents of the directory containing the HTML and XML
|
||||
# files needs to be copied into the plugins directory of eclipse. The name of
|
||||
# the directory within the plugins directory should be the same as
|
||||
# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
|
||||
# the help appears.
|
||||
|
||||
GENERATE_ECLIPSEHELP = NO
|
||||
|
||||
# A unique identifier for the eclipse help plugin. When installing the plugin
|
||||
# the directory name containing the HTML and XML files should also have
|
||||
# this name.
|
||||
|
||||
ECLIPSE_DOC_ID = org.doxygen.Project
|
||||
|
||||
# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
|
||||
# top of each HTML page. The value NO (the default) enables the index and
|
||||
# the value YES disables it.
|
||||
@@ -950,20 +992,18 @@ ENUM_VALUES_PER_LINE = 4
|
||||
|
||||
# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
|
||||
# structure should be generated to display hierarchical information.
|
||||
# If the tag value is set to FRAME, a side panel will be generated
|
||||
# If the tag value is set to YES, a side panel will be generated
|
||||
# containing a tree-like index structure (just like the one that
|
||||
# is generated for HTML Help). For this to work a browser that supports
|
||||
# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
|
||||
# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
|
||||
# probably better off using the HTML help feature. Other possible values
|
||||
# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
|
||||
# and Class Hierarchy pages using a tree view instead of an ordered list;
|
||||
# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
|
||||
# disables this behavior completely. For backwards compatibility with previous
|
||||
# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
|
||||
# respectively.
|
||||
# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
|
||||
# Windows users are probably better off using the HTML help feature.
|
||||
|
||||
GENERATE_TREEVIEW = NONE
|
||||
GENERATE_TREEVIEW = NO
|
||||
|
||||
# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
|
||||
# and Class Hierarchy pages using a tree view instead of an ordered list.
|
||||
|
||||
USE_INLINE_TREES = NO
|
||||
|
||||
# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
|
||||
# used to set the initial width (in pixels) of the frame in which the tree
|
||||
@@ -979,6 +1019,26 @@ TREEVIEW_WIDTH = 250
|
||||
|
||||
FORMULA_FONTSIZE = 10
|
||||
|
||||
# When the SEARCHENGINE tag is enabled doxygen will generate a search box
|
||||
# for the HTML output. The underlying search engine uses javascript
|
||||
# and DHTML and should work on any modern browser. Note that when using
|
||||
# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
|
||||
# (GENERATE_DOCSET) there is already a search function so this one should
|
||||
# typically be disabled. For large projects the javascript based search engine
|
||||
# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
|
||||
|
||||
SEARCHENGINE = YES
|
||||
|
||||
# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
|
||||
# implemented using a PHP enabled web server instead of at the web client
|
||||
# using Javascript. Doxygen will generate the search PHP script and index
|
||||
# file to put on the web server. The advantage of the server
|
||||
# based approach is that it scales better to large projects and allows
|
||||
# full text search. The disadvances is that it is more difficult to setup
|
||||
# and does not have live searching capabilities.
|
||||
|
||||
SERVER_BASED_SEARCH = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the LaTeX output
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -995,7 +1055,10 @@ GENERATE_LATEX = NO
|
||||
LATEX_OUTPUT = latex
|
||||
|
||||
# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
|
||||
# invoked. If left blank `latex' will be used as the default command name.
|
||||
# invoked. If left blank `latex' will be used as the default command name.
|
||||
# Note that when enabling USE_PDFLATEX this option is only used for
|
||||
# generating bitmaps for formulas in the HTML output, but not in the
|
||||
# Makefile that is written to the output directory.
|
||||
|
||||
LATEX_CMD_NAME = latex
|
||||
|
||||
@@ -1055,6 +1118,13 @@ LATEX_BATCHMODE = NO
|
||||
|
||||
LATEX_HIDE_INDICES = NO
|
||||
|
||||
# If LATEX_SOURCE_CODE is set to YES then doxygen will include
|
||||
# source code with syntax highlighting in the LaTeX output.
|
||||
# Note that which sources are shown also depends on other settings
|
||||
# such as SOURCE_BROWSER.
|
||||
|
||||
LATEX_SOURCE_CODE = NO
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# configuration options related to the RTF output
|
||||
#---------------------------------------------------------------------------
|
||||
@@ -1206,14 +1276,14 @@ PERLMOD_PRETTY = YES
|
||||
PERLMOD_MAKEVAR_PREFIX =
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the preprocessor
|
||||
# Configuration options related to the preprocessor
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
|
||||
# evaluate all C-preprocessor directives found in the sources and include
|
||||
# files.
|
||||
|
||||
ENABLE_PREPROCESSING = NO
|
||||
ENABLE_PREPROCESSING = YES
|
||||
|
||||
# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
|
||||
# names in the source code. If set to NO (the default) only conditional
|
||||
@@ -1272,7 +1342,7 @@ EXPAND_AS_DEFINED =
|
||||
SKIP_FUNCTION_MACROS = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration::additions related to external references
|
||||
# Configuration::additions related to external references
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The TAGFILES option can be used to specify one or more tagfiles.
|
||||
@@ -1315,7 +1385,7 @@ EXTERNAL_GROUPS = YES
|
||||
PERL_PATH = /usr/bin/perl
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Configuration options related to the dot tool
|
||||
# Configuration options related to the dot tool
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
|
||||
@@ -1507,12 +1577,3 @@ GENERATE_LEGEND = YES
|
||||
# the various graphs.
|
||||
|
||||
DOT_CLEANUP = YES
|
||||
|
||||
#---------------------------------------------------------------------------
|
||||
# Options related to the search engine
|
||||
#---------------------------------------------------------------------------
|
||||
|
||||
# The SEARCHENGINE tag specifies whether or not a search engine should be
|
||||
# used. If set to NO the values of all tags below this one will be ignored.
|
||||
|
||||
SEARCHENGINE = YES
|
||||
|
||||
@@ -111,17 +111,7 @@
|
||||
<xi:include href="ntoskrnl/ntoskrnl.rbuild" />
|
||||
</directory>
|
||||
<directory name="hal">
|
||||
<directory name="halarm">
|
||||
<directory name="generic">
|
||||
<xi:include href="hal/halarm/generic/generic.rbuild" />
|
||||
</directory>
|
||||
<directory name="up">
|
||||
<xi:include href="hal/halarm/up/halup.rbuild" />
|
||||
</directory>
|
||||
</directory>
|
||||
<directory name="hal">
|
||||
<xi:include href="hal/hal/hal.rbuild" />
|
||||
</directory>
|
||||
<xi:include href="hal/hal.rbuild" />
|
||||
</directory>
|
||||
<directory name="boot">
|
||||
<xi:include href="boot/boot.rbuild" />
|
||||
|
||||
@@ -21,12 +21,12 @@ BEGIN
|
||||
EDITTEXT IDC_TEXTBOX, 74, 186, 114, 13, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "Âèáðàòè", IDC_SELECT, 194, 186, 44, 13
|
||||
PUSHBUTTON "Êîï³þâàòè", IDC_COPY, 242, 186, 44, 13, WS_DISABLED
|
||||
//AUTOCHECKBOX "Advanced view", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
//AUTOCHECKBOX "Ðîçøèðåíèé âèãëÿä", IDC_ADVVIEW, 10, 204, 64, 9, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
//EDITTEXT IDC_DISPLAY, 8, 217, 278, 13, WS_VISIBLE | WS_TABSTOP | ES_READONLY
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 22,16,210,182
|
||||
CAPTION "Ïðî Òàáëèöþ ñèìâîë³â"
|
||||
CAPTION "Ïðî ïðîãðàìó..."
|
||||
FONT 8,"MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_DLGFRAME | WS_SYSMENU | DS_MODALFRAME
|
||||
BEGIN
|
||||
@@ -38,6 +38,6 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_LICENSE "Òàáëèöÿ ñèìâîë³â - â³ëüíå ïðîãðàìíå çàáåçïå÷åííÿ; Âè ìîæåòå ðîçïîâñþäæóâàòè ¿¿ òà (àáî) çì³íþâàòè, äîòðèìóþ÷èñü óìîâè ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU, îïóáë³êîâàíî¿ Ôîíäîì â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ; àáî ðåäàêö³¿ 2 Óãîäè, àáî áóäü-ÿêî¿ ðåäàêö³¿, âèïóùåíî¿ ï³çí³øå.\r\n\r\nÖÿ ïðîãðàìà ðîçïîâñþäæóºòüñÿ â íà䳿 íà òå, ùî âîíà âèÿâèòüñÿ êîðèñíîþ, àëå ÁÅÇ ÁÓÄÜ-ßÊÈÕ ÃÀÐÀÍÒ²É, âêëþ÷àþ÷è ÓßÂÍÎÞ ÃÀÐÀÍÒ²ªÞ ßÊÎÑÒ² àáî ÏÐÈÄÀÒÍÎÑÒ² äëÿ ïåâíèõ ö³ëåé. Ïîäðîáèö³ ì³ñòÿòüñÿ ó ³äêðèò³é ë³öåíç³éí³é óãîä³ GNU.\r\n\r\nÐàçîì ç ö³ºþ ïðîãðàìîþ ïîâèíåí ïîøèðþâàòèñÿ ïðèì³ðíèê ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU. ßêùî â³í â³äñóòí³é, ïîâ³äîìòå ïðî öå â Ôîíä â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
IDS_ABOUT "&Ïðî Òàáëèöþ ñèìâîë³â..."
|
||||
IDS_LICENSE "Òàáëèöÿ ñèìâîë³â - â³ëüíå ïðîãðàìíå çàáåçïå÷åííÿ; Âè ìîæåòå ðîçïîâñþäæóâàòè ¿¿ òà çì³íþâàòè, äîòðèìóþ÷èñü óìîâè ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU, îïóáë³êîâàíî¿ Ôîíäîì â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ; àáî ðåäàêö³¿ 2 Óãîäè, àáî áóäü-ÿêî¿ ðåäàêö³¿, âèïóùåíî¿ ï³çí³øå.\r\n\r\nÖÿ ïðîãðàìà ðîçïîâñþäæóºòüñÿ â íà䳿 íà òå, ùî âîíà âèÿâèòüñÿ êîðèñíîþ, àëå ÁÅÇ ÁÓÄÜ-ßÊÈÕ ÃÀÐÀÍÒ²É, âêëþ÷àþ÷è ÓßÂÍÎÞ ÃÀÐÀÍÒ²ªÞ ßÊÎÑÒ² àáî ÏÐÈÄÀÒÍÎÑÒ² äëÿ ïåâíèõ ö³ëåé. Ïîäðîáèö³ ì³ñòÿòüñÿ ó ³äêðèò³é ë³öåíç³éí³é óãîä³ GNU.\r\n\r\nÐàçîì ç ö³ºþ ïðîãðàìîþ ïîâèíåí ïîøèðþâàòèñÿ ïðèì³ðíèê ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU. ßêùî â³í â³äñóòí³é, ïîâ³äîìòå ïðî öå â Ôîíä â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
IDS_ABOUT "&Ïðî ïðîãðàìó..."
|
||||
END
|
||||
|
||||
@@ -0,0 +1,232 @@
|
||||
/*
|
||||
* PROJECT: ReactOS dxdiag
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/dxdiag/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS dxdiag
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_MAIN_DIALOG DIALOGEX DISCARDABLE 0, 0, 478, 280
|
||||
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP |
|
||||
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
|
||||
WS_THICKFRAME
|
||||
CAPTION "Çàñ³á ä³àãíîñòèêè ReactX"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
CONTROL "Tab1",IDC_TAB_CONTROL,"SysTabControl32",WS_TABSTOP,2,2,474,250
|
||||
PUSHBUTTON "&Äîâ³äêà", IDC_BUTTON_HELP, 2, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
DEFPUSHBUTTON "&Íàñòóïíà ñòîð³íêà", IDC_BUTTON_NEXT, 203, 260, 94, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Çáåðåãòè âñþ ³íôîðìàö³þ...", IDC_BUTTON_SAVE_INFO, 301, 260, 120, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
PUSHBUTTON "&Âèõ³ä", IDC_BUTTON_EXIT, 425, 260, 50, 14, WS_CHILD | WS_VISIBLE | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_SYSTEM_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 190
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Öÿ ïðîãðàìà äîçâîëÿº îòðèìàòè äîêëàäí³ â³äîìîñò³ ïðî âñòàíîâëåí³ êîìïîíåíòè ³ äðàéâåðè ReactX.", -1, 10, 10, 443, 17
|
||||
LTEXT "ßêùî âè çíàºòå ìîæëèâó ïðè÷èíó íåïîëàäêè, ìîæíà â³äðàçó âèáðàòè â³äïîâ³äíó âêëàäêó.  ³íøîìó âèïàäêó âèêîðèñòîâóéòå êíîïêó ""Íàñòóïíà ñòîð³íêà"" äëÿ ïîñë³äîâíîãî ïåðåãëÿäó ñòîð³íîê.", -1, 10, 30, 443, 25
|
||||
GROUPBOX "³äîìîñò³ ïðî ñèñòåìó", -1, 10, 58, 443, 130, SS_RIGHT
|
||||
LTEXT "Ïîòî÷í³ ÷àñ ³ äàòà:", -1, 70, 70, 80, 10, SS_RIGHT
|
||||
LTEXT "²ì'ÿ êîìï'þòåðà:", -1, 70, 80, 80, 10, SS_RIGHT
|
||||
LTEXT "Îïåðàö³éíà ñèñòåìà:", -1, 50, 90, 100, 10, SS_RIGHT
|
||||
LTEXT "Ìîâà:", -1, 70, 100, 80, 10, SS_RIGHT
|
||||
LTEXT "Âèðîáíèê êîìï'þòåðà:", -1, 50, 110, 100, 10, SS_RIGHT
|
||||
LTEXT "Ìîäåëü êîìï'þòåðà:", -1, 70, 120, 80, 10, SS_RIGHT
|
||||
LTEXT "BIOS:", -1, 70, 130, 80, 10, SS_RIGHT
|
||||
LTEXT "Ïðîöåñîð:", -1, 70, 140, 80, 10, SS_RIGHT
|
||||
LTEXT "Ïàì'ÿòü:", -1, 70, 150, 80, 10, SS_RIGHT
|
||||
LTEXT "Ôàéë ï³äêà÷êè:", -1, 70, 160, 80, 10, SS_RIGHT
|
||||
LTEXT "Âåðñ³ÿ ReactX:", -1, 70, 170, 80, 10, SS_RIGHT
|
||||
LTEXT "", IDC_STATIC_TIME, 155, 70, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_COMPUTER, 155, 80, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_OS, 155, 90, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_LANG, 155, 100, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_MANU, 155, 110, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_MODEL, 155, 120, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_BIOS, 155, 130, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_PROC, 155, 140, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_MEM, 155, 150, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_SWAP, 155, 160, 195, 10, SS_LEFT
|
||||
LTEXT "", IDC_STATIC_VERSION, 155, 170, 195, 10, SS_LEFT
|
||||
END
|
||||
|
||||
IDD_DISPLAY_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Ïðèñòð³é", -1, 10, 10, 220, 100
|
||||
RTEXT "Íàçâà:", -1, 20, 25, 70, 10
|
||||
RTEXT "Âèðîáíèê:", -1, 20, 35, 70, 10
|
||||
RTEXT "Òèï ì³êðîñõåì:", -1, 20, 45, 70, 10
|
||||
RTEXT "Òèï êîíâåðòåðà DAC:", -1, 15, 55, 75, 10
|
||||
RTEXT "Âñüîãî ïàì'ÿò³:", -1, 20, 65, 70, 10
|
||||
RTEXT "Ðåæèì åêðàíó:", -1, 20, 75, 70, 10
|
||||
RTEXT "Ìîí³òîð:", -1, 20, 85, 70, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_ID, 95, 25, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VENDOR, 95, 35, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_CHIP, 95, 45, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DAC, 95, 55, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MEM, 95, 65, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MODE, 95, 75, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MONITOR, 95, 85, 130, 10
|
||||
|
||||
GROUPBOX "Äðàéâåðè", -1, 240, 10, 220, 100
|
||||
RTEXT "Ãîëîâíèé:", -1, 245, 30, 55, 10
|
||||
RTEXT "Âåðñ³ÿ:", -1, 245, 40, 55, 10
|
||||
RTEXT "Äàòà:", -1, 245, 50, 55, 10
|
||||
RTEXT "ϳäïèñ:", -1, 245, 60, 55, 10
|
||||
RTEXT "̳í³-VDD:", -1, 245, 70, 55, 10
|
||||
RTEXT "VDD:", -1, 245, 80, 55, 10
|
||||
RTEXT "Âåðñ³ÿ DDI:", -1, 245, 90, 55, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DRIVER, 305, 30, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VERSION, 305, 40, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DATE, 305, 50, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_LOGO, 305, 60, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_MINIVDD, 305, 70, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_VDD, 305, 80, 130, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_DDI, 305, 90, 130, 10
|
||||
|
||||
GROUPBOX "Ìîæëèâîñò³ ReactX", -1, 10, 115, 450, 65
|
||||
RTEXT "Ïðèñêîðåííÿ DirectDraw:", -1, 15, 130, 110, 12
|
||||
RTEXT "Ïðèñêîðåííÿ Direct3D:", -1, 15, 145, 110, 12
|
||||
RTEXT "Ïðèñêîðåííÿ òåêñòóð AGP:", -1, 15, 160, 110, 12
|
||||
LTEXT "", IDC_STATIC_DDSTATE, 130, 130, 40, 10
|
||||
LTEXT "", IDC_STATIC_D3DSTATE, 130, 145, 40, 10
|
||||
LTEXT "", IDC_STATIC_AGPSTATE, 130, 160, 40, 10
|
||||
PUSHBUTTON "Óâ³ìêíóòè", IDC_BUTTON_DDRAW, 170, 126, 60, 14, WS_DISABLED
|
||||
PUSHBUTTON "Óâ³ìêíóòè", IDC_BUTTON_D3D, 170, 142, 60, 14, WS_DISABLED
|
||||
PUSHBUTTON "Óâ³ìêíóòè", IDC_BUTTON_AGP, 170, 158, 60, 14, WS_DISABLED
|
||||
PUSHBUTTON "Ïåðåâ³ðêà DirectDraw", IDC_BUTTON_TESTDD, 250, 126, 80, 14
|
||||
PUSHBUTTON "Ïåðåâ³ðêà Direct3D", IDC_BUTTON_TEST3D, 250, 142, 80, 14, WS_DISABLED
|
||||
|
||||
GROUPBOX "Ïðèì³òêè", -1, 10, 185, 450, 34
|
||||
EDITTEXT IDC_TEXT_INFO, 20, 195, 432, 18, WS_DISABLED | WS_TABSTOP
|
||||
END
|
||||
|
||||
|
||||
IDD_SOUND_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Ïðèñòð³é", -1, 10, 10, 250, 100
|
||||
RTEXT "Íàçâà:", -1, 20, 25, 70, 10
|
||||
RTEXT "Êîä ïðèñòðîþ:", -1, 20, 35, 70, 10
|
||||
RTEXT "Êîä âèðîáíèêà:", -1, 20, 45, 70, 10
|
||||
RTEXT "Êîä ïðîäóêòó:", -1, 20, 55, 70, 10
|
||||
RTEXT "Òèï:", -1, 20, 65, 70, 10
|
||||
RTEXT "Çà çàìîâ÷óâàííÿì:", -1, 20, 75, 70, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_NAME, 95, 25, 150, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_DEVICEID, 95, 35, 150, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_VENDORID, 95, 45, 150, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_PRODUCTID, 95, 55, 150, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_TYPE, 95, 65, 150, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_STANDARD, 95, 75, 150, 10
|
||||
GROUPBOX "Äðàéâåðè", -1, 270, 10, 190, 100
|
||||
RTEXT "Íàçâà:", -1, 275, 25, 55, 10
|
||||
RTEXT "Âåðñ³ÿ:", -1, 275, 35, 55, 10
|
||||
RTEXT "Äàòà:", -1, 275, 45, 55, 10
|
||||
RTEXT "ϳäïèñ:", -1, 275, 55, 55, 10
|
||||
RTEXT "²íø³ ôàéëè:", -1, 275, 65, 55, 10
|
||||
RTEXT "Ïîñòà÷àëüíèê:", -1, 275, 75, 55, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_DRIVER, 335, 25, 100, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_VERSION, 335, 35, 100, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_DATE, 335, 45, 100, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_LOGO, 335, 55, 100, 10
|
||||
LTEXT "", IDC_STATIC_DSOUND_FILES, 335, 65, 100, 10
|
||||
LTEXT "", IDC_STATIC_ADAPTER_PROVIDER, 335, 75, 100, 10
|
||||
GROUPBOX "Ìîæëèâîñò³ ReactX", -1, 10, 115, 450, 60
|
||||
CONTROL "", IDC_SLIDER_DSOUND, "msctls_trackbar32", TBS_BOTTOM | TBS_AUTOTICKS | WS_TABSTOP, 120, 135, 80, 17
|
||||
RTEXT "гâåíü àïàðàòíîãî\nïðèñêîðåííÿ:", -1, 20, 135, 90, 20
|
||||
PUSHBUTTON "Ïåðåâ³ðêà DirectSound", IDC_BUTTON_TESTDSOUND, 270, 130, 80, 14
|
||||
GROUPBOX "Ïðèì³òêè", -1, 10, 180, 450, 40
|
||||
EDITTEXT IDC_TEXT_DSOUNDINFO, 20, 190, 432, 20, WS_DISABLED | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_MUSIC_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
END
|
||||
|
||||
|
||||
IDD_INPUT_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Ïðèñòðî¿ DirectInput", -1, 10, 10, 452, 80
|
||||
CONTROL "", IDC_LIST_DEVICE, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 20, 432, 60
|
||||
GROUPBOX "Ïðèñòðî¿ ââåäåííÿ", -1, 10, 100, 452, 60
|
||||
CONTROL "", IDC_TREE_PORT, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | WS_VISIBLE | WS_BORDER | WS_TABSTOP, 20, 110, 432, 40, 0x00000200
|
||||
GROUPBOX "²íôîðìàö³ÿ", -1, 10, 170, 452, 50
|
||||
EDITTEXT IDC_RICH_INFO, 20, 180, 432, 30, WS_DISABLED | WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_NETWORK_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Çàðåºñòðîâàí³ ïîñòà÷àëüíèêè DirectPlay", -1, 10, 10, 452, 80
|
||||
CONTROL "", IDC_LIST_PROVIDER, "SysListView32", LVS_REPORT | WS_CHILD | WS_BORDER | WS_TABSTOP, 20, 22, 432, 60
|
||||
END
|
||||
|
||||
IDD_HELP_DIALOG DIALOGEX DISCARDABLE 0, 0, 462, 220
|
||||
STYLE DS_SHELLFONT | DS_CONTROL | WS_CHILD | WS_CLIPCHILDREN
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_MAIN_DIALOG "Çàñ³á ä³àãíîñòèêè ReactX"
|
||||
IDS_SYSTEM_DIALOG "Ñèñòåìà"
|
||||
IDS_DISPLAY_DIALOG "Åêðàí"
|
||||
IDS_SOUND_DIALOG "Çâóê"
|
||||
IDS_MUSIC_DIALOG "Ìóçèêà"
|
||||
IDS_INPUT_DIALOG "Ââåäåííÿ"
|
||||
IDS_NETWORK_DIALOG "Ìåðåæà"
|
||||
IDS_HELP_DIALOG "Äîâ³äêà"
|
||||
IDS_FORMAT_MB "%I64uÌÁ ÎÇÓ"
|
||||
IDS_FORMAT_SWAP "%I64u ÌÁ âèêîðèñòàíî, %I64u ÌÁ â íàÿâíîñò³"
|
||||
IDS_FORMAT_UNIPROC "%s (%u ÖÏ)"
|
||||
IDS_FORMAT_MPPROC "%s (%u ÖÏ)"
|
||||
IDS_VERSION_UNKNOWN "Íåâ³äîìà âåðñ³ÿ"
|
||||
IDS_DEVICE_STATUS_ATTACHED "ϳä'ºäíàíî"
|
||||
IDS_DEVICE_STATUS_MISSING "³ä'ºäíàíî"
|
||||
IDS_DEVICE_STATUS_UNKNOWN "Íåâ³äîìî"
|
||||
IDS_DEVICE_NAME "Íàçâà ïðèñòðîþ"
|
||||
IDS_DEVICE_STATUS "Ñòàí"
|
||||
IDS_DEVICE_CONTROLLER "ID êîíòðîëåðà"
|
||||
IDS_DEVICE_MANUFACTURER "ID âèðîáíèêà"
|
||||
IDS_DEVICE_PRODUCT "ID ïðîäóêòó"
|
||||
IDS_DEVICE_FORCEFEEDBACK "Äðàéâåð Force Feedback"
|
||||
IDS_NOT_APPLICABLE "Í/Ä"
|
||||
IDS_OPTION_YES "Òàê"
|
||||
IDS_DIRECTPLAY_COL_NAME1 "Íàçâà"
|
||||
IDS_DIRECTPLAY_COL_NAME2 "Ðåºñòð"
|
||||
IDS_DIRECTPLAY_COL_NAME3 "Ôàéë"
|
||||
IDS_DIRECTPLAY_COL_NAME4 "Âåðñ³ÿ"
|
||||
IDS_DIRECTPLAY8_MODEMSP "Ïîñòà÷àëüíèê ñëóæáè ìîäåìó DirectPlay8"
|
||||
IDS_DIRECTPLAY8_SERIALSP "Ïîñòà÷àëüíèê ñëóæáè îñòàí. ïîðòó DirectPlay8"
|
||||
IDS_DIRECTPLAY8_IPXSP "Ïîñòà÷àëüíèê ñëóæáè IPX DirectPlay8"
|
||||
IDS_DIRECTPLAY8_TCPSP "Ïîñòà÷àëüíèê ñëóæáè TCP/IP DirectPlay8"
|
||||
IDS_DIRECTPLAY_TCPCONN "²íòåðíåò-ï³äêëþ÷åííÿ TCP/IP äëÿ DirectPlay"
|
||||
IDS_DIRECTPLAY_IPXCONN "IPX ï³äêëþ÷åííÿ äëÿ DirectPlay"
|
||||
IDS_DIRECTPLAY_MODEMCONN "ϳäêëþ÷åííÿ ÷åðåç ìîäåì äëÿ DirectPlay"
|
||||
IDS_DIRECTPLAY_SERIALCONN "Ïîñë³äîâíå ï³äêëþ÷åííÿ äëÿ DirectPlay"
|
||||
IDS_REG_SUCCESS "Òàê"
|
||||
IDS_REG_FAIL "Ïîìèëêà"
|
||||
IDS_DDTEST_ERROR "Çá³é ó ïåðåâ³ðö³!"
|
||||
IDS_DDTEST_DESCRIPTION "Áóäå âèêîíàíà ïåðåâ³ðêà DirecDraw íà öåé ïðèñòð³é. Ïðîäîâæèòè?"
|
||||
IDS_DDPRIMARY_DESCRIPTION "Öåé òåñò áóäå âèêîðèñòîâóâàòè DirectDraw äëÿ ìàëþâàííÿ íà ïåðâèíí³é ïîâåðõí³. Áóäóòü âèâîäèòèñü ÷îðí³ òà á³ë³ ïðÿìîêóòíèêè. Ïðîäîâæèòè?"
|
||||
IDS_DDPRIMARY_RESULT "Âè áà÷èëè ÷îðí³ òà á³ë³ ïðÿìîêóòíèêè?"
|
||||
IDS_DDOFFSCREEN_DESCRIPTION "Öåé òåñò áóäå âèêîðèñòîâóâàòè DirectDraw äëÿ ìàëþâàííÿ â çàêàäðîâèé áóôåð. Ïîâèíåí ðóõàòèñü á³ëèé ïðÿìîêóòíèê. Ïðîäîâæèòè?"
|
||||
IDS_DDOFFSCREEN_RESULT "Âè áà÷èëè, ÿê ðóõàâñÿ á³ëèé ïðÿìîêóòíèê?"
|
||||
IDS_DDFULLSCREEN_DESCRIPTION "Öåé òåñò áóäå âèêîðèñòîâóâàòè DirectDraw äëÿ ìàëþâàííÿ â ïîâíîåêðàííîìó ðåæèì³. Ïîâèíåí ðóõàòèñü á³ëèé ïðÿìîêóòíèê. Ïðîäîâæèòè?"
|
||||
IDS_DDFULLSCREEN_RESULT "Âè áà÷èëè, ÿê ðóõàâñÿ á³ëèé ïðÿìîêóòíèê â ïîâíîåêðàííîìó ðåæèì³?"
|
||||
IDS_FORMAT_ADAPTER_MEM "%u Ìá"
|
||||
IDS_FORMAT_ADAPTER_MODE "%04u x %04u (%u á³ò)(%uÃö)"
|
||||
IDS_OPTION_NO "ͳ"
|
||||
END
|
||||
@@ -17,5 +17,6 @@ LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
#include "lang/pl-PL.rc"
|
||||
#include "lang/ru-RU.rc"
|
||||
#include "lang/sk-SK.rc"
|
||||
#include "lang/ua-UA.rc"
|
||||
#include "lang/zh-CN.rc"
|
||||
//#include "lang/zh-TW.rc"
|
||||
|
||||
@@ -18,8 +18,8 @@ CAPTION "
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "Êàðòè", -1, 7, 7, 65, 40
|
||||
AUTORADIOBUTTON "&Ïî îäí³é", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP
|
||||
AUTORADIOBUTTON "Ï&î òðè", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
|
||||
AUTORADIOBUTTON "Ïî &îäí³é", IDC_OPT_DRAWONE, 14, 19, 52, 10, WS_GROUP | WS_TABSTOP
|
||||
AUTORADIOBUTTON "Ïî &òðè", IDC_OPT_DRAWTHREE, 14, 32, 52, 10
|
||||
|
||||
AUTOCHECKBOX "&Ãðà çà ÷àñîì", IDC_OPT_SHOWTIME, 7 ,51 ,65 ,10, WS_TABSTOP | WS_DISABLED
|
||||
AUTOCHECKBOX "&Ðÿäîê ñòàíó", IDC_OPT_STATUSBAR, 7, 66, 64, 10, WS_TABSTOP
|
||||
@@ -58,7 +58,7 @@ BEGIN
|
||||
IDS_SOL_ABOUT "Êîñèíêà â³ä J Brown\n\nCardLib âåðñ³¿ 1.0."
|
||||
IDS_SOL_QUIT "Âèéòè ç ïîòî÷íî¿ ãðè?"
|
||||
IDS_SOL_WIN "³òàííÿ, Âè âèãðàëè!!"
|
||||
IDS_SOL_DEAL "Deal again?"
|
||||
IDS_SOL_DEAL "Ðîçäàòè çíîâó?"
|
||||
END
|
||||
|
||||
|
||||
@@ -71,14 +71,14 @@ BEGIN
|
||||
MENUITEM "&Ðîçäàòè êàðòè\tF2", IDM_GAME_NEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Êîëîäà...", IDM_GAME_DECK
|
||||
MENUITEM "&Ïàðàìåòðè...", IDM_GAME_OPTIONS
|
||||
MENUITEM "Ïà&ðàìåòðè...", IDM_GAME_OPTIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", IDM_GAME_EXIT
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Çì³ñò\tF1", IDM_HELP_CONTENTS
|
||||
MENUITEM "&Ïðî", IDM_HELP_ABOUT
|
||||
MENUITEM "&Ïðî ïðîãðàìó...", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
@@ -34,17 +34,17 @@ BEGIN
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 126, 84, 54, 13
|
||||
END
|
||||
|
||||
IDD_DIFFICULTY DIALOGEX DISCARDABLE 100, 100, 106, 80
|
||||
IDD_DIFFICULTY DIALOGEX DISCARDABLE 100, 100, 112, 80
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT
|
||||
CAPTION "Óðîâåíü"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Ïðîñòîé: &îäèí öâåò", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP
|
||||
AUTORADIOBUTTON "Ñðåäíèé: &äâà öâåòà", IDC_DIF_TWOCOLORS, 8, 23, 80, 10
|
||||
AUTORADIOBUTTON "Ñëîæíûé: &÷åòûðå öâåòà", IDC_DIF_FOURCOLORS, 8, 36, 80, 10
|
||||
AUTORADIOBUTTON "Ïðîñòîé: &îäèí öâåò", IDC_DIF_ONECOLOR, 8, 10, 102, 10, WS_GROUP | WS_TABSTOP
|
||||
AUTORADIOBUTTON "Ñðåäíèé: &äâà öâåòà", IDC_DIF_TWOCOLORS, 8, 23, 102, 10
|
||||
AUTORADIOBUTTON "Ñëîæíûé: &÷åòûðå öâåòà", IDC_DIF_FOURCOLORS, 8, 36, 102, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 8, 58, 40, 14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 58, 58, 40, 14
|
||||
PUSHBUTTON "Îòìåíà", IDCANCEL, 63, 58, 40, 14
|
||||
END
|
||||
|
||||
/* Strings */
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Spider
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/games/spider/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Spider
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
|
||||
|
||||
/* Dialogs */
|
||||
|
||||
IDD_CARDBACK DIALOGEX 6, 6, 186, 104
|
||||
CAPTION "Âèá³ð îôîðìëåííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT
|
||||
BEGIN
|
||||
CONTROL "", IDC_CARDBACK1, "Static", SS_NOTIFY, 4, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK2, "Static", SS_NOTIFY, 34, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK3, "Static", SS_NOTIFY, 64, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK4, "Static", SS_NOTIFY, 94, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK5, "Static", SS_NOTIFY, 124, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK6, "Static", SS_NOTIFY, 154, 7, 26, 32
|
||||
CONTROL "", IDC_CARDBACK7, "Static", SS_NOTIFY, 4, 46, 26, 32
|
||||
CONTROL "", IDC_CARDBACK8, "Static", SS_NOTIFY, 34, 46, 26, 32
|
||||
CONTROL "", IDC_CARDBACK9, "Static", SS_NOTIFY, 64, 46, 26, 32
|
||||
CONTROL "", IDC_CARDBACK10, "Static", SS_NOTIFY, 94, 46, 26, 32
|
||||
CONTROL "", IDC_CARDBACK11, "Static", SS_NOTIFY, 124, 46, 26, 32
|
||||
CONTROL "", IDC_CARDBACK12, "Static", SS_NOTIFY, 154, 46, 26, 32
|
||||
DEFPUSHBUTTON "OK", IDOK, 66, 84, 54, 13
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 126, 84, 54, 13
|
||||
END
|
||||
|
||||
IDD_DIFFICULTY DIALOGEX DISCARDABLE 100, 100, 106, 80
|
||||
STYLE DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_SHELLFONT
|
||||
CAPTION "гâåíü"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "Ïðîñòèé: &Îäèí êîë³ð", IDC_DIF_ONECOLOR, 8, 10, 80, 10, WS_GROUP | WS_TABSTOP
|
||||
AUTORADIOBUTTON "Ñåðåäí³é: &Äâà êîëüîðè", IDC_DIF_TWOCOLORS, 8, 23, 80, 10
|
||||
AUTORADIOBUTTON "Ñêëàäíèé: &×îòèðè êîëüîðè", IDC_DIF_FOURCOLORS, 8, 36, 80, 10
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 8, 58, 40, 14
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 58, 58, 40, 14
|
||||
END
|
||||
|
||||
/* Strings */
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_SPI_NAME "Ïàñ’ÿíñ Ïàóê"
|
||||
IDS_SPI_ABOUT "Ïàñ’ÿíñ Ïàóê, Gregor Schneider\n\nCardLib âåðñ³¿ 1.0"
|
||||
IDS_SPI_QUIT "Âèéòè ç ïîòî÷íî¿ ãðè?"
|
||||
IDS_SPI_WIN "³òàºìî, âè âèãðàòè!"
|
||||
IDS_SPI_DEAL "Ñïðîáóâàòè çíîâó?"
|
||||
END
|
||||
|
||||
|
||||
/* Menus */
|
||||
|
||||
IDR_MENU1 MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Ãðà"
|
||||
BEGIN
|
||||
MENUITEM "&Íîâà ãðà\tF2", IDM_GAME_NEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îôîðìëåííÿ...", IDM_GAME_DECK
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Âèõ³ä", IDM_GAME_EXIT
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "Ïå&ðåãëÿä äîâ³äêè\tF1", IDM_HELP_CONTENTS
|
||||
MENUITEM "&Ïðî ïðîãðàìó...", IDM_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
|
||||
/* Accelerator */
|
||||
|
||||
IDR_ACCELERATOR1 ACCELERATORS DISCARDABLE
|
||||
BEGIN
|
||||
VK_F1, IDM_HELP_CONTENTS, VIRTKEY, NOINVERT
|
||||
VK_F2, IDM_GAME_NEW, VIRTKEY, NOINVERT
|
||||
END
|
||||
@@ -16,4 +16,5 @@ IDI_SPIDER ICON DISCARDABLE "spider.ico"
|
||||
#include "lang/pl-PL.rc"
|
||||
#include "lang/ru-RU.rc"
|
||||
#include "lang/sk-SK.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
|
||||
|
||||
@@ -19,15 +19,15 @@ END
|
||||
|
||||
IDM_WINEMINE MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Game"
|
||||
POPUP "&Ãðà"
|
||||
BEGIN
|
||||
MENUITEM "&Íîâà\tF2", IDM_NEW
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&̳òêè (?)", IDM_MARKQ
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Íîâà÷îê", IDM_BEGINNER
|
||||
MENUITEM "Íîâà&÷îê", IDM_BEGINNER
|
||||
MENUITEM "&Àìàòîð", IDM_ADVANCED
|
||||
MENUITEM "&Ïðîôåñ³îíàë", IDM_EXPERT
|
||||
MENUITEM "Ïðî&ôåñ³îíàë", IDM_EXPERT
|
||||
MENUITEM "&Îñîáëèâ³...", IDM_CUSTOM
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&×åìï³îíè...", IDM_TIMES
|
||||
@@ -55,7 +55,7 @@ BEGIN
|
||||
LTEXT "", IDC_NAME1, 132, 20, 55, 8
|
||||
LTEXT "", IDC_NAME2, 132, 30, 55, 8
|
||||
LTEXT "", IDC_NAME3, 132, 40, 55, 8
|
||||
DEFPUSHBUTTON "OK", IDOK, 127, 57, 50, 15
|
||||
DEFPUSHBUTTON "OK", IDOK, 127, 57, 50, 15
|
||||
PUSHBUTTON "&Ñêèäàííÿ ðåçóëüòàò³â", IDRESET, 18, 57, 67, 15
|
||||
END
|
||||
|
||||
@@ -66,7 +66,7 @@ FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "Ââåä³òü Âàøå ³ì'ÿ", IDIGNORE, 25, 10, 150, 10
|
||||
EDITTEXT IDC_EDITNAME, 25, 20, 110, 12
|
||||
DEFPUSHBUTTON "OK", IDOK, 60, 40, 40, 15
|
||||
DEFPUSHBUTTON "OK", IDOK, 60, 40, 40, 15
|
||||
END
|
||||
|
||||
IDD_CUSTOM DIALOGEX DISCARDABLE 0, 0, 139, 80
|
||||
|
||||
@@ -59,7 +59,7 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
IDS_LICENSE "Öå â³ëüíå ïðîãðàìíå çàáåçïå÷åííÿ; Âè ìîæåòå ðîçïîâñþäæóâàòè ¿¿ òà çì³íþâàòè, äîòðèìóþ÷èñü óìîâè ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU, îïóáë³êîâàíî¿ Ôîíäîì â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ; àáî ðåäàêö³¿ 2 Óãîäè, àáî áóäü-ÿêî¿ ðåäàêö³¿, âèïóùåíî¿ ï³çí³øå.\r\n\r\nÖÿ ïðîãðàìà ðîçïîâñþäæóºòüñÿ â íà䳿 íà òå, ùî âîíà âèÿâèòüñÿ êîðèñíîþ, àëå ÁÅÇ ÁÓÄÜ-ßÊÈÕ ÃÀÐÀÍÒ²É, âêëþ÷àþ÷è ÓßÂÍÎÞ ÃÀÐÀÍÒ²ªÞ ßÊÎÑÒ² àáî ÏÐÈÄÀÒÍÎÑÒ² äëÿ ïåâíèõ ö³ëåé. Ïîäðîáèö³ ì³ñòÿòüñÿ ó ³äêðèò³é ë³öåíç³éí³é óãîä³ GNU.\r\n\r\nÐàçîì ç ö³ºþ ïðîãðàìîþ ïîâèíåí ïîøèðþâàòèñÿ ïðèì³ðíèê ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU. ßêùî â³í â³äñóòí³é, ïîâ³äîìòå ïðî öå â Ôîíä â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
||||
@@ -14,7 +14,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "&Åêñïîðò...", ID_EXPORT
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", ID_EXIT
|
||||
MENUITEM "&Âèõ³ä", ID_EXIT
|
||||
END
|
||||
POPUP "ijÿ"
|
||||
BEGIN
|
||||
@@ -110,7 +110,7 @@ BEGIN
|
||||
END
|
||||
|
||||
IDD_DLG_DEPEND DIALOGEX 6,6,253,225
|
||||
CAPTION "Dependencies"
|
||||
CAPTION "Çàëåæíîñò³"
|
||||
FONT 8, "MS Shell Dlg",0,0
|
||||
STYLE DS_SHELLFONT | WS_BORDER | WS_VISIBLE | WS_DLGFRAME | WS_SYSMENU | WS_THICKFRAME | WS_GROUP | WS_TABSTOP
|
||||
BEGIN
|
||||
@@ -151,8 +151,8 @@ BEGIN
|
||||
LTEXT "²ì'ÿ ñëóæáè:",IDC_STATIC, 6, 40, 80, 9
|
||||
LTEXT "", IDC_DEL_NAME, 15, 53, 160, 15
|
||||
EDITTEXT IDC_DEL_DESC, 6, 73, 174, 48, WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_EX_STATICEDGE | ES_MULTILINE | ES_READONLY
|
||||
PUSHBUTTON "Òàê", IDOK, 26, 129, 54, 13
|
||||
DEFPUSHBUTTON "ͳ", IDCANCEL, 102, 129, 54, 13
|
||||
PUSHBUTTON "OK", IDOK, 26, 129, 54, 13
|
||||
DEFPUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 102, 129, 54, 13
|
||||
END
|
||||
|
||||
IDD_DLG_HELP_OPTIONS DIALOGEX 6,6,200,150
|
||||
@@ -161,7 +161,7 @@ FONT 8, "MS Shell Dlg",0,0
|
||||
STYLE 0x10CF0000
|
||||
BEGIN
|
||||
LTEXT "", IDC_CREATE_HELP, 6, 5, 200, 150
|
||||
PUSHBUTTON "Ok", IDOK, 75, 130, 44, 13
|
||||
PUSHBUTTON "OK", IDOK, 75, 130, 44, 13
|
||||
END
|
||||
|
||||
IDD_DLG_PROGRESS DIALOGEX 6,6,255,89
|
||||
@@ -199,9 +199,9 @@ END
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_NUM_SERVICES "Íîìåð ñëóæáè: %d"
|
||||
IDS_STOP_DEPENDS "When %s stops, these other services will also stop"
|
||||
IDS_STOP_DEPENDS "Êîëè %s çóïèíåòüñÿ, ³íø³ ñëóæáè òàêîæ áóäå çóïèíåíî"
|
||||
IDS_NO_DEPENDS "<No Dependencies>"
|
||||
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
IDS_LICENSE "Öå â³ëüíå ïðîãðàìíå çàáåçïå÷åííÿ; Âè ìîæåòå ðîçïîâñþäæóâàòè ¿¿ òà çì³íþâàòè, äîòðèìóþ÷èñü óìîâè ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU, îïóáë³êîâàíî¿ Ôîíäîì â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ; àáî ðåäàêö³¿ 2 Óãîäè, àáî áóäü-ÿêî¿ ðåäàêö³¿, âèïóùåíî¿ ï³çí³øå.\r\n\r\nÖÿ ïðîãðàìà ðîçïîâñþäæóºòüñÿ â íà䳿 íà òå, ùî âîíà âèÿâèòüñÿ êîðèñíîþ, àëå ÁÅÇ ÁÓÄÜ-ßÊÈÕ ÃÀÐÀÍÒ²É, âêëþ÷àþ÷è ÓßÂÍÎÞ ÃÀÐÀÍÒ²ªÞ ßÊÎÑÒ² àáî ÏÐÈÄÀÒÍÎÑÒ² äëÿ ïåâíèõ ö³ëåé. Ïîäðîáèö³ ì³ñòÿòüñÿ ó ³äêðèò³é ë³öåíç³éí³é óãîä³ GNU.\r\n\r\nÐàçîì ç ö³ºþ ïðîãðàìîþ ïîâèíåí ïîøèðþâàòèñÿ ïðèì³ðíèê ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU. ßêùî â³í â³äñóòí³é, ïîâ³äîìòå ïðî öå â Ôîíä â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
||||
@@ -44,7 +44,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "&Ñòâîðèòè\tCtrl+N", CMD_NEW
|
||||
MENUITEM "&³äêðèòè...\tCtrl+O", CMD_OPEN
|
||||
MENUITEM "&Ç&áåðåãòè\tCtrl+S", CMD_SAVE
|
||||
MENUITEM "&Çáåðåãòè\tCtrl+S", CMD_SAVE
|
||||
MENUITEM "Çáåðåãòè &ÿê...", CMD_SAVE_AS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ïàðà&ìåòðè ñòîð³íêè...", CMD_PAGE_SETUP
|
||||
@@ -53,40 +53,40 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", CMD_EXIT
|
||||
END
|
||||
POPUP "&Ïðàâêà"
|
||||
POPUP "Ïð&àâêà"
|
||||
BEGIN
|
||||
MENUITEM "&Ñêàñóâàòè\tCtrl+Z", CMD_UNDO
|
||||
MENUITEM "Ñ&êàñóâàòè\tCtrl+Z", CMD_UNDO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Âèð³çàòè\tCtrl+X", CMD_CUT
|
||||
MENUITEM "&Êîï³þâàòè\tCtrl+C", CMD_COPY
|
||||
MENUITEM "Âñò&àâèòè\tCtrl+V", CMD_PASTE
|
||||
MENUITEM "Â&èäàëèòè\tDel", CMD_DELETE
|
||||
MENUITEM "Âèð&³çàòè\tCtrl+X", CMD_CUT
|
||||
MENUITEM "Êîï³&þâàòè\tCtrl+C", CMD_COPY
|
||||
MENUITEM "Âñ&òàâèòè\tCtrl+V", CMD_PASTE
|
||||
MENUITEM "Âè&äàëèòè\tDel", CMD_DELETE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Ç&íàéòè...\tCtrl+F", CMD_SEARCH
|
||||
MENUITEM "Çíà&éòè äàë³\tF3", CMD_SEARCH_NEXT
|
||||
MENUITEM "&Çàì³íèòè\tCtrl+H", CMD_REPLACE
|
||||
MENUITEM "Ïåðåé&òè...\tCtrl+G", CMD_GOTO
|
||||
MENUITEM "Çàì&³íèòè\tCtrl+H", CMD_REPLACE
|
||||
MENUITEM "Ï&åðåéòè...\tCtrl+G", CMD_GOTO
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Âèä³&ëèòè âñå\tCtrl+A", CMD_SELECT_ALL
|
||||
MENUITEM "&Äàòà é ÷àñ\tF5", CMD_TIME_DATE
|
||||
MENUITEM "Äàòà é &÷àñ\tF5", CMD_TIME_DATE
|
||||
END
|
||||
POPUP "Ôîð&ìàò"
|
||||
POPUP "Ô&îðìàò"
|
||||
BEGIN
|
||||
MENUITEM "&Ïåðåíîñ ïî ñëîâàõ", CMD_WRAP
|
||||
MENUITEM "Ïåðåíîñ ïî ñëîâà&õ", CMD_WRAP
|
||||
MENUITEM "&Øðèôò...", CMD_FONT
|
||||
END
|
||||
POPUP "&Âèãëÿä"
|
||||
POPUP "Âè&ãëÿä"
|
||||
BEGIN
|
||||
MENUITEM "&Ðÿäîê ñòàíó", CMD_STATUSBAR
|
||||
MENUITEM "Ðÿä&îê ñòàí&ó", CMD_STATUSBAR
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
POPUP "Äîâ&³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Çì³ñò", CMD_HELP_CONTENTS
|
||||
MENUITEM "&Ïîøóê...", CMD_HELP_SEARCH
|
||||
MENUITEM "&Help on help", CMD_HELP_ON_HELP
|
||||
MENUITEM "Çì³&ñò", CMD_HELP_CONTENTS
|
||||
MENUITEM "Ïîø&óê...", CMD_HELP_SEARCH
|
||||
MENUITEM "Âèêîðèñò&àííÿ äîâ³äêè", CMD_HELP_ON_HELP
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Ïðî" CMD_ABOUT
|
||||
MENUITEM "&Ïðî ïðîãðàìó", CMD_ABOUT_WINE
|
||||
MENUITEM "Ïðî ïðîãðàì&ó", CMD_ABOUT_WINE
|
||||
END
|
||||
END
|
||||
|
||||
@@ -112,8 +112,8 @@ EDITTEXT /*STRING_PAGESETUP_RIGHTVALUE,*/ 0x14D, 130, 55, 35, 11, WS_CHILD
|
||||
LTEXT "&Íèæíº:", 0x14E,100, 73, 30, 10, WS_CHILD
|
||||
EDITTEXT /*STRING_PAGESETUP_BOTTOMVALUE,*/ 0x150, 130, 73, 35, 11, WS_CHILD | WS_BORDER | WS_TABSTOP
|
||||
|
||||
DEFPUSHBUTTON "OK", IDOK, 180, 3, 40, 15, WS_TABSTOP
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 180, 21, 40, 15, WS_TABSTOP
|
||||
DEFPUSHBUTTON "Òàê", IDOK, 180, 3, 40, 15, WS_TABSTOP
|
||||
PUSHBUTTON "ͳ", IDCANCEL, 180, 21, 40, 15, WS_TABSTOP
|
||||
PUSHBUTTON "&Äîâ³äêà", IDHELP, 180, 39, 40, 15, WS_TABSTOP
|
||||
END
|
||||
|
||||
@@ -159,7 +159,7 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
STRING_LICENSE, "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
STRING_LICENSE, "Öå â³ëüíå ïðîãðàìíå çàáåçïå÷åííÿ; Âè ìîæåòå ðîçïîâñþäæóâàòè ¿¿ òà çì³íþâàòè, äîòðèìóþ÷èñü óìîâè ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU, îïóáë³êîâàíî¿ Ôîíäîì â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ; àáî ðåäàêö³¿ 2 Óãîäè, àáî áóäü-ÿêî¿ ðåäàêö³¿, âèïóùåíî¿ ï³çí³øå.\r\n\r\nÖÿ ïðîãðàìà ðîçïîâñþäæóºòüñÿ â íà䳿 íà òå, ùî âîíà âèÿâèòüñÿ êîðèñíîþ, àëå ÁÅÇ ÁÓÄÜ-ßÊÈÕ ÃÀÐÀÍÒ²É, âêëþ÷àþ÷è ÓßÂÍÎÞ ÃÀÐÀÍÒ²ªÞ ßÊÎÑÒ² àáî ÏÐÈÄÀÒÍÎÑÒ² äëÿ ïåâíèõ ö³ëåé. Ïîäðîáèö³ ì³ñòÿòüñÿ ó ³äêðèò³é ë³öåíç³éí³é óãîä³ GNU.\r\n\r\nÐàçîì ç ö³ºþ ïðîãðàìîþ ïîâèíåí ïîøèðþâàòèñÿ ïðèì³ðíèê ³äêðèòî¿ ë³öåíç³éíî¿ óãîäè GNU. ßêùî â³í â³äñóòí³é, ïîâ³äîìòå ïðî öå â Ôîíä â³ëüíîãî ïðîãðàìíîãî çàáåçïå÷åííÿ (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
@@ -200,5 +200,5 @@ STRING_UTF8, "UTF-8"
|
||||
STRING_CRLF, "Windows"
|
||||
STRING_LF, "Unix"
|
||||
STRING_CR, "Mac"
|
||||
STRING_LINE_COLUMN, "Line %d, column %d"
|
||||
STRING_LINE_COLUMN, "Ðÿäîê %d, ñòîâï÷èê %d"
|
||||
END
|
||||
|
||||
@@ -200,6 +200,6 @@ BEGIN
|
||||
IDS_TOOLTIP16, "Ïðÿìîêóòíèê ç îêðóãëåíèìè êóòàìè"
|
||||
IDS_OPENFILTER, "Òî÷êîâ³ ðèñóíêè (*.bmp;*.dib)\1*.bmp;*.dib\1Óñ³ ôàéëè (*.*)\1*.*\1"
|
||||
IDS_SAVEFILTER, "24-ðîçðÿäíèé ðèñóíîê (*.bmp;*.dib)\1*.bmp;*.dib\1"
|
||||
IDS_FILESIZE, "%d bytes"
|
||||
IDS_PRINTRES, "%d x %d pixels per meter"
|
||||
IDS_FILESIZE, "%d áàéò"
|
||||
IDS_PRINTRES, "%d x %d ï³êñåë³â íà ìåòð"
|
||||
END
|
||||
|
||||
@@ -59,10 +59,10 @@ BEGIN
|
||||
AUTOCHECKBOX "&Log of installation and removal of programs", IDC_LOG_ENABLED, 15, 46, 219, 12
|
||||
|
||||
GROUPBOX "Downloading", -1, 4, 65, 240, 51
|
||||
LTEXT "Folder for downloadings:", -1, 16, 75, 100, 9
|
||||
LTEXT "Downloads folder:", -1, 16, 75, 100, 9
|
||||
EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP
|
||||
PUSHBUTTON "&Choose", IDC_CHOOSE, 187, 85, 50, 14
|
||||
AUTOCHECKBOX "&Delete installers of programs after installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
AUTOCHECKBOX "&Delete program installer after installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
|
||||
PUSHBUTTON "Default", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 124, 60, 14
|
||||
@@ -184,9 +184,9 @@ BEGIN
|
||||
IDS_AVAILABLEFORINST "Available for installation"
|
||||
IDS_UPDATES "Updates"
|
||||
IDS_APPLICATIONS "Applications"
|
||||
IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will be used for downloading of programs:"
|
||||
IDS_CHOOSE_FOLDER_ERROR "You have specified a nonexistent folder!"
|
||||
IDS_USER_NOT_ADMIN "You should be administrator for start ""ReactOS Applications Manager""!"
|
||||
IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will store Downloads:"
|
||||
IDS_CHOOSE_FOLDER_ERROR "The folder you have specified does not exist."
|
||||
IDS_USER_NOT_ADMIN "You must be an administrator to start ""ReactOS Applications Manager""!"
|
||||
IDS_APP_REG_REMOVE "Are you sure you want to delete the data on the installed program from the registry?"
|
||||
IDS_INFORMATION "Information"
|
||||
IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!"
|
||||
|
||||
@@ -19,17 +19,17 @@ BEGIN
|
||||
POPUP "&Ïðîãðàìè"
|
||||
BEGIN
|
||||
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
|
||||
MENUITEM "&Âèäàëèòè",ID_UNINSTALL
|
||||
MENUITEM "Âèä&àëèòè",ID_UNINSTALL
|
||||
MENUITEM "&Çì³íèòè", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Remove from Registry", ID_REGREMOVE
|
||||
MENUITEM "Âèäà&ëèòè ç ðåºñòðó", ID_REGREMOVE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îíîâèòè", ID_REFRESH
|
||||
END
|
||||
POPUP "Äîâ³äêà"
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "Äîâ³äêà", ID_HELP, GRAYED
|
||||
MENUITEM "Ïðî ïðîãðàìó...", ID_ABOUT
|
||||
MENUITEM "Äîâ&³äêà", ID_HELP, GRAYED
|
||||
MENUITEM "Ïðî ïðî&ãðàìó...", ID_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -47,10 +47,10 @@ BEGIN
|
||||
POPUP "popup"
|
||||
BEGIN
|
||||
MENUITEM "&Âñòàíîâèòè", ID_INSTALL
|
||||
MENUITEM "&Âèäàëèòè", ID_UNINSTALL
|
||||
MENUITEM "Â&èäàëèòè", ID_UNINSTALL
|
||||
MENUITEM "&Çì³íèòè", ID_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Remove from Registry", ID_REGREMOVE
|
||||
MENUITEM "Âèä&àëèòè ç ðåºñòðó", ID_REGREMOVE
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îíîâèòè", ID_REFRESH
|
||||
END
|
||||
@@ -58,37 +58,37 @@ END
|
||||
|
||||
IDD_SETTINGS_DIALOG DIALOGEX DISCARDABLE 0, 0, 250, 144
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Settings"
|
||||
CAPTION "Íàëàøòóâàííÿ"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
GROUPBOX "General", -1, 4, 2, 240, 61
|
||||
AUTOCHECKBOX "&Save window position", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12
|
||||
AUTOCHECKBOX "&Update the list of accessible programs at start", IDC_UPDATE_AVLIST, 15, 29, 219, 12
|
||||
AUTOCHECKBOX "&Log of installation and removal of programs", IDC_LOG_ENABLED, 15, 46, 219, 12
|
||||
GROUPBOX "Çàãàëüí³", -1, 4, 2, 240, 61
|
||||
AUTOCHECKBOX "&Çáåð³ãàòè ïîëîæåííÿ â³êíà", IDC_SAVE_WINDOW_POS, 15, 12, 219, 12
|
||||
AUTOCHECKBOX "&Îíîâëþâàòè ñïèñîê íàÿâíèõ ïðîãðàì ïðè çàïóñêó", IDC_UPDATE_AVLIST, 15, 29, 219, 12
|
||||
AUTOCHECKBOX "&Âåñòè ëîã âñòàíîâëåííÿ/âèäàëåííÿ ïðîãðàì", IDC_LOG_ENABLED, 15, 46, 219, 12
|
||||
|
||||
GROUPBOX "Downloading", -1, 4, 65, 240, 51
|
||||
LTEXT "Folder for downloadings:", -1, 16, 75, 100, 9
|
||||
GROUPBOX "Çàâàíòàæåííÿ", -1, 4, 65, 240, 51
|
||||
LTEXT "Òåêà äëÿ çàâàíòàæåíü:", -1, 16, 75, 100, 9
|
||||
EDITTEXT IDC_DOWNLOAD_DIR_EDIT, 15, 86, 166, 12, WS_CHILD | WS_VISIBLE | WS_GROUP
|
||||
PUSHBUTTON "&Choose", IDC_CHOOSE, 187, 85, 50, 14
|
||||
AUTOCHECKBOX "&Delete installers of programs after installation", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
PUSHBUTTON "&Îáðàòè", IDC_CHOOSE, 187, 85, 50, 14
|
||||
AUTOCHECKBOX "&Âèäàëÿòè ³íñòàëÿòîðè ïðîãðàì ï³ñëÿ âñòàíîâëåííÿ", IDC_DEL_AFTER_INSTALL, 16, 100, 218, 12
|
||||
|
||||
PUSHBUTTON "Default", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14
|
||||
PUSHBUTTON "Çà çàìîâ÷óâàííÿì", IDC_DEFAULT_SETTINGS, 8, 124, 60, 14
|
||||
PUSHBUTTON "OK", IDOK, 116, 124, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 181, 124, 60, 14
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 181, 124, 60, 14
|
||||
END
|
||||
|
||||
IDD_INSTALL_DIALOG DIALOGEX DISCARDABLE 0, 0, 216, 97
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Program installation"
|
||||
CAPTION "Âñòàíîâëåííÿ ïðîãðàìè"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "...", IDC_INSTALL_TEXT, 4, 5, 209, 35
|
||||
|
||||
AUTORADIOBUTTON "&Install from a disk (CD or DVD)", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Download and install", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
AUTORADIOBUTTON "&Âñòàíîâèòè ç äèñêó", IDC_CD_INSTALL, 10, 46, 197, 11, WS_GROUP
|
||||
AUTORADIOBUTTON "&Çàâàíòàæèòè òà âñòàíîâèòè", IDC_DOWNLOAD_INSTALL, 10, 59, 197, 11, NOT WS_TABSTOP
|
||||
|
||||
PUSHBUTTON "OK", IDOK, 86, 78, 60, 14
|
||||
PUSHBUTTON "Cancel", IDCANCEL, 150, 78, 60, 14
|
||||
PUSHBUTTON "Ñêàñóâàòè", IDCANCEL, 150, 78, 60, 14
|
||||
END
|
||||
|
||||
IDD_DOWNLOAD_DIALOG DIALOGEX LOADONCALL MOVEABLE DISCARDABLE 0, 0, 220, 76
|
||||
@@ -192,10 +192,10 @@ BEGIN
|
||||
IDS_AVAILABLEFORINST "Äîñòóïí³ äëÿ âñòàíîâëåííÿ"
|
||||
IDS_UPDATES "Îíîâëåííÿ"
|
||||
IDS_APPLICATIONS "Äîäàòêè"
|
||||
IDS_CHOOSE_FOLDER_TEXT "Choose a folder which will be used for downloading of programs:"
|
||||
IDS_CHOOSE_FOLDER_ERROR "You have specified a nonexistent folder!"
|
||||
IDS_USER_NOT_ADMIN "You should be administrator for start ""ReactOS Applications Manager""!"
|
||||
IDS_APP_REG_REMOVE "Are you sure you want to delete the data on the installed program from the registry?"
|
||||
IDS_INFORMATION "Information"
|
||||
IDS_UNABLE_TO_REMOVE "Unable to remove data on the program from the registry!"
|
||||
IDS_CHOOSE_FOLDER_TEXT "Îáåð³òü òåêó, ÿêà áóäå âèêîðèñòîâóâàòèñÿ äëÿ çàâàíòàæåííÿ ïðîãðàì:"
|
||||
IDS_CHOOSE_FOLDER_ERROR "Âè âêàçàëè íå³ñíóþ÷ó òåêó!"
|
||||
IDS_USER_NOT_ADMIN "Âè ïîâèíí³ áóòè àäì³í³ñòðàòîðîì äëÿ çàïóñêó ""Ìåíåäæåðà ïðîãðàì ReactOS""!"
|
||||
IDS_APP_REG_REMOVE "Âè ä³éñíî õî÷åòå âèäàëèòè äàí³ ïðî âñòàíîâëåíó ïðîãðàìó ç ðåºñòðó?"
|
||||
IDS_INFORMATION "²íôîðìàö³ÿ"
|
||||
IDS_UNABLE_TO_REMOVE "Íå âäàëîñÿ âèäàëèòè äàí³ ïðî ïðîãðàìó ç ðåºñòðó!"
|
||||
END
|
||||
|
||||
@@ -41,13 +41,13 @@ BEGIN
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Ïðî ïðîãðàìó", ID_HELP_ABOUT
|
||||
MENUITEM "Ïð&î ïðîãðàìó", ID_HELP_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
IDR_REGEDIT_MENU MENU DISCARDABLE
|
||||
BEGIN
|
||||
POPUP "&Ôàéë"
|
||||
POPUP "Ôà&éë"
|
||||
BEGIN
|
||||
MENUITEM "&²ìïîðò...", ID_REGISTRY_IMPORTREGISTRYFILE
|
||||
|
||||
@@ -68,7 +68,7 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", ID_REGISTRY_EXIT
|
||||
END
|
||||
POPUP "&Ïðàâêà"
|
||||
POPUP "Ïðà&âêà"
|
||||
BEGIN
|
||||
MENUITEM "&Çì³íèòè", ID_EDIT_MODIFY
|
||||
MENUITEM SEPARATOR
|
||||
@@ -83,7 +83,7 @@ BEGIN
|
||||
MENUITEM "Ðîç&øèðþâàíå ñòðîêîâå çíà÷åííÿ", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
END
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Äîçâîëè...", ID_EDIT_PERMISSIONS
|
||||
MENUITEM "Äîçâ&îëè...", ID_EDIT_PERMISSIONS
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èäàëèòè\tDel", ID_EDIT_DELETE
|
||||
MENUITEM "Ïåðåé&ìåíóâàòè", ID_EDIT_RENAME
|
||||
@@ -101,7 +101,7 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Îíîâèòè\tF5", ID_VIEW_REFRESH
|
||||
END
|
||||
POPUP "&Îáðàíå"
|
||||
POPUP "Îáð&àíå"
|
||||
BEGIN
|
||||
MENUITEM "&Äîäàòè â îáðàíå", ID_FAVOURITES_ADDTOFAVOURITES
|
||||
, GRAYED
|
||||
@@ -135,8 +135,8 @@ BEGIN
|
||||
MENUITEM "&Ðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_STRINGVALUE
|
||||
MENUITEM "&Äâ³éêîâå çíà÷åííÿ", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "&DWORD çíà÷åííÿ", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "&Multi-String Value", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "&Expandable String Value", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
MENUITEM "&Áàãàòîðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "&Ðîçøèðåíå ðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
END
|
||||
END
|
||||
POPUP ""
|
||||
@@ -149,8 +149,8 @@ BEGIN
|
||||
MENUITEM "&Ðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_STRINGVALUE
|
||||
MENUITEM "&Äâ³éêîâå çíà÷åííÿ", ID_EDIT_NEW_BINARYVALUE
|
||||
MENUITEM "&DWORD çíà÷åííÿ", ID_EDIT_NEW_DWORDVALUE
|
||||
MENUITEM "&Multi-String Value", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "&Expandable String Value", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
MENUITEM "&Áàãàòîðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_MULTISTRINGVALUE
|
||||
MENUITEM "&Ðîçøèðåíå ðÿäêîâå çíà÷åííÿ", ID_EDIT_NEW_EXPANDABLESTRINGVALUE
|
||||
END
|
||||
MENUITEM "Ç&íàéòè", ID_EDIT_FIND
|
||||
MENUITEM SEPARATOR
|
||||
@@ -328,7 +328,7 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_FLT_REGFILE "Registration File"
|
||||
IDS_FLT_REGFILE "Ôàéë ðåºñòðó"
|
||||
IDS_FLT_REGFILES "Ôàéëè ðåºñòðó"
|
||||
IDS_FLT_REGFILES_FLT "*.reg"
|
||||
IDS_FLT_REGEDIT4 "Ôàéëè ðåºñòðó Win9x/NT4 (REGEDIT4)"
|
||||
@@ -339,7 +339,7 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_ACCESS_FULLCONTROL "Full Control"
|
||||
IDS_ACCESS_FULLCONTROL "Ïîâíèé êîíòðîëü"
|
||||
IDS_ACCESS_READ "×èòàííÿ"
|
||||
IDS_ACCESS_QUERYVALUE "Çàïèò çíà÷åííÿ"
|
||||
IDS_ACCESS_SETVALUE "Óñòàíîâëåííÿ çíà÷åííÿ"
|
||||
@@ -350,7 +350,7 @@ BEGIN
|
||||
IDS_ACCESS_DELETE "Âèäàëåííÿ"
|
||||
IDS_ACCESS_WRITEDAC "Çàïèñ DAC"
|
||||
IDS_ACCESS_WRITEOWNER "Çàïèñ âëàñíèêà"
|
||||
IDS_ACCESS_READCONTROL "Read Control"
|
||||
IDS_ACCESS_READCONTROL "×èòàííÿ äîçâîëó"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
|
||||
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Sound Volume Control
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/sndrec32/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Volume Control
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDC_REACTOS_SNDREC32 ACCELERATORS
|
||||
BEGIN
|
||||
"?", IDM_ABOUT, ASCII, ALT
|
||||
"/", IDM_ABOUT, ASCII, ALT
|
||||
END
|
||||
|
||||
IDD_ABOUTBOX DIALOGEX 0, 0, 196, 75
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "²íôîðìàö³ÿ ïðî reactOS_sndrec32"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
ICON 128,IDC_REACTOS_SNDREC32,19,14,21,20
|
||||
LTEXT "reactOS_sndrec32, âåðñ³¿ 1.0",IDC_STATIC,56,16,114,8,SS_NOPREFIX
|
||||
LTEXT "Copyright (C) 2009",IDC_STATIC,55,25,114,8
|
||||
DEFPUSHBUTTON "OK",IDOK,139,54,50,14,WS_GROUP
|
||||
END
|
||||
|
||||
IDR_MENU1 MENU
|
||||
BEGIN
|
||||
POPUP "Ôàéë"
|
||||
BEGIN
|
||||
MENUITEM "Íîâèé", ID_NEW
|
||||
MENUITEM "³äêðèòè...", ID_FILE_OPEN
|
||||
MENUITEM "Çáåðåãòè", ID_FILE_SAVE, GRAYED
|
||||
MENUITEM "Çáåðåãòè ÿê...", ID_FILE_SAVEAS, GRAYED
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Âèõ³ä", ID_EXIT
|
||||
END
|
||||
MENUITEM "todo1", 0
|
||||
MENUITEM "todo2", 0
|
||||
POPUP "?"
|
||||
BEGIN
|
||||
MENUITEM "Ïðî ïðîãðàìó...", ID__ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_APP_TITLE "Çâóêîçàïèñ"
|
||||
IDC_REACTOS_SNDREC32 "REACTOS_SNDREC32"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_STRPOS "Ïîçèö³ÿ: %.2f s"
|
||||
IDS_STRDUR "Äîâæèíà: %.2f s"
|
||||
IDS_STRBUF "Áóôåð: %.2f kb"
|
||||
IDS_STRFMT "%.1f kHz %u bits"
|
||||
IDS_STRMONO "ìîíî"
|
||||
IDS_STRSTEREO "ñòåðåî"
|
||||
IDS_STRCHAN "%s"
|
||||
END
|
||||
@@ -22,4 +22,5 @@ IDB_BITMAP2_STOP_DIS BITMAP "resources/but_stop_dis.bmp"
|
||||
#include "lang/it-IT.rc"
|
||||
#include "lang/ja-JP.rc"
|
||||
#include "lang/sk-SK.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Sound Volume Control
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/applications/sndvol32/Uk.rc
|
||||
* FILE: base/applications/sndvol32/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Volume Control
|
||||
* TRANSLATOR: Artem Reznikov
|
||||
*/
|
||||
@@ -17,7 +17,7 @@ BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Â&èõ³ä", IDC_EXIT
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
POPUP "Äî&â³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Çì³ñò", IDC_HELP_TOPICS
|
||||
MENUITEM SEPARATOR
|
||||
|
||||
@@ -151,7 +151,7 @@ BEGIN
|
||||
|
||||
END
|
||||
MENUITEM "Ó&ñòàíîâèòè â³äïîâ³äí³ñòü...", ID_PROCESS_PAGE_SETAFFINITY
|
||||
MENUITEM "Edit Debug &Channels...", ID_PROCESS_PAGE_DEBUGCHANNELS
|
||||
MENUITEM "Ðåäàãóâàòè íàëàãîäæåííÿ &ïîòîê³â...", ID_PROCESS_PAGE_DEBUGCHANNELS
|
||||
END
|
||||
END
|
||||
|
||||
@@ -192,7 +192,7 @@ BEGIN
|
||||
WS_BORDER | WS_TABSTOP,7,7,233,177
|
||||
PUSHBUTTON "Çí&ÿòè çàâäàííÿ",IDC_ENDPROCESS,171,189,69,14
|
||||
CONTROL "&³äîáðàæàòè ïðîöåñè âñ³õ êîðèñòóâà÷³â",IDC_SHOWALLPROCESSES,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,111,10
|
||||
"Êíîïêà",BS_AUTOCHECKBOX | WS_TABSTOP,7,191,111,10
|
||||
END
|
||||
|
||||
//IDD_PERFORMANCE_PAGE DIALOGEX 0, 0, 247, 210
|
||||
@@ -270,8 +270,8 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "³äïîâ³äí³ñòü ïðîöåñîð³â"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,120,133,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,174,133,50,14
|
||||
DEFPUSHBUTTON "Òàê",IDOK,120,133,50,14
|
||||
PUSHBUTTON "ͳ",IDCANCEL,174,133,50,14
|
||||
LTEXT "Ïàðàìåòð â³äïîâ³äíîñò³ ïðîöåñîð³â âèçíà÷àº, íà ÿêîìó ÖÏ áóäå äîçâîëåíî âèêîíóâàòè ïðîöåñ.",
|
||||
IDC_STATIC,5,5,220,16
|
||||
CONTROL "ÖÏ 0",IDC_CPU0,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,
|
||||
@@ -345,8 +345,8 @@ STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Âèá³ð ñòîâïö³â"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
DEFPUSHBUTTON "OK",IDOK,84,178,50,14
|
||||
PUSHBUTTON "Ñêàñóâàòè",IDCANCEL,138,178,50,14
|
||||
DEFPUSHBUTTON "Òàê",IDOK,84,178,50,14
|
||||
PUSHBUTTON "ͳ",IDCANCEL,138,178,50,14
|
||||
LTEXT "Âèáåð³òü ñòîâïö³, ÿê³ ñë³ä â³äîáðàæàòè íà âêëàäö³ Ïðîöåñ äèñïåò÷åðà çàâäàíü.",
|
||||
IDC_STATIC,7,7,181,17
|
||||
CONTROL "&²ì'ÿ îáðàçó",IDC_IMAGENAME,"Button",BS_AUTOCHECKBOX |
|
||||
|
||||
@@ -831,8 +831,24 @@ DWORD PNP_CreateKey(
|
||||
DWORD samDesired,
|
||||
DWORD ulFlags)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return CR_CALL_NOT_IMPLEMENTED;
|
||||
HKEY hKey = 0;
|
||||
|
||||
if (RegCreateKeyExW(HKEY_LOCAL_MACHINE,
|
||||
pszSubKey,
|
||||
0,
|
||||
NULL,
|
||||
0,
|
||||
KEY_ALL_ACCESS,
|
||||
NULL,
|
||||
&hKey,
|
||||
NULL))
|
||||
return CR_REGISTRY_ERROR;
|
||||
|
||||
/* FIXME: Set security key */
|
||||
|
||||
RegCloseKey(hKey);
|
||||
|
||||
return CR_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base\setup\reactos\lang\uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Setup
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
* TRANSLATOR: Artem Reznikov, Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
@@ -83,8 +83,8 @@ BEGIN
|
||||
LTEXT "Ãá",IDC_UNIT, 117,24,14,9
|
||||
LTEXT "Ôàéëîâà ñèñòåìà:",IDC_STATIC,13,46,35,9
|
||||
CONTROL "",IDC_FSTYPE,"ComboBox",WS_VISIBLE|WS_TABSTOP|CBS_DROPDOWNLIST,52,42,79,50
|
||||
PUSHBUTTON "&Òàê",IDOK,35,68,47,15, WS_VISIBLE|WS_TABSTOP
|
||||
PUSHBUTTON "&ͳ",IDCANCEL,87,68,47,15, WS_VISIBLE|WS_TABSTOP
|
||||
PUSHBUTTON "&OK",IDOK,35,68,47,15, WS_VISIBLE|WS_TABSTOP
|
||||
PUSHBUTTON "&Ñêàñóâàòè",IDCANCEL,87,68,47,15, WS_VISIBLE|WS_TABSTOP
|
||||
END
|
||||
|
||||
IDD_BOOTOPTIONS DIALOGEX DISCARDABLE 0, 0, 305, 105
|
||||
@@ -99,8 +99,8 @@ BEGIN
|
||||
|
||||
CONTROL "Âñòàíîâèòè çàâàíòàæóâà÷ íà äèñê (MBR)", IDC_INSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP, 10,46,278,11
|
||||
CONTROL "Íå âñòàíîâëþâàòè çàâàíòàæóâà÷", IDC_NOINSTFREELDR, "Button", BS_AUTORADIOBUTTON | WS_TABSTOP | WS_DISABLED , 10,57,278,11
|
||||
PUSHBUTTON "&Òàê", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&ͳ", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&OK", IDOK, 180,83,50,15, WS_TABSTOP | WS_VISIBLE
|
||||
PUSHBUTTON "&Ñêàñóâàòè", IDCANCEL, 240,83,50,15, WS_TABSTOP | WS_VISIBLE
|
||||
END
|
||||
|
||||
IDD_SUMMARYPAGE DIALOGEX 0, 0, 317, 193
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,9 +1,9 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Explorer
|
||||
* PROJECT: ReactOS Explorer-New
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/shell/explorer-new/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Explorer
|
||||
* TRANSLATOR: Artem Reznikov
|
||||
* PURPOSE: Ukraianian Language File for ReactOS Explorer-New
|
||||
* TRANSLATOR: Artem Reznikov & Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
@@ -13,7 +13,7 @@ BEGIN
|
||||
POPUP ""
|
||||
BEGIN
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "Task Manager", ID_SHELL_CMD_OPEN_TASKMGR
|
||||
MENUITEM "Ïàíåëü çàâäàíü", ID_SHELL_CMD_OPEN_TASKMGR
|
||||
MENUITEM SEPARATOR
|
||||
MENUITEM "&Çàêð³ïèòè ïàíåëü çàâäàíü", ID_LOCKTASKBAR
|
||||
MENUITEM "Â&ëàñòèâîñò³", ID_SHELL_CMD_PROPERTIES
|
||||
@@ -37,7 +37,7 @@ BEGIN
|
||||
BEGIN
|
||||
MENUITEM "(ïóñòî)", -1, MFT_STRING, MFS_GRAYED
|
||||
END
|
||||
POPUP "Í&àñòðîéêà", IDM_SETTINGS
|
||||
POPUP "Í&àëàøòóâàííÿ", IDM_SETTINGS
|
||||
BEGIN
|
||||
MENUITEM "Ï&àíåëü êåðóâàííÿ", IDM_CONTROLPANEL, MFT_STRING, MFS_GRAYED
|
||||
MENUITEM "", -1, MFT_SEPARATOR
|
||||
@@ -53,10 +53,10 @@ BEGIN
|
||||
MENUITEM "&Äîâ³äêà òà ï³äòðèìêà", IDM_HELPANDSUPPORT, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Çàïóñê ïðî&ãðàìè...", IDM_RUN, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "", 450, MFT_SEPARATOR, MFS_ENABLED
|
||||
MENUITEM "Ñèí&õðîí³çóâàòè", IDM_SYNCHRONIZE, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Ñèí&õðîí³çàö³ÿ", IDM_SYNCHRONIZE, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Çàâåð&øåííÿ ñåàíñó %s...", IDM_LOGOFF, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Â&³äêëþ÷èòè...", IDM_DISCONNECT, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "³äñòèêóâàòè êîìï'&þòåð", IDM_UNDOCKCOMPUTER, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Â&èìêíåííÿ...", IDM_DISCONNECT, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "Çàáëîêóâàííÿ êîìï'&þòåðà", IDM_UNDOCKCOMPUTER, MFT_STRING, MFS_ENABLED
|
||||
MENUITEM "&Çàâåðøåííÿ ðîáîòè...", IDM_SHUTDOWN, MFT_STRING, MFS_ENABLED
|
||||
END
|
||||
END
|
||||
@@ -64,60 +64,60 @@ END
|
||||
|
||||
IDD_TASKBARPROP_TASKBAR DIALOGEX 0, 0, 252, 218
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Taskbar"
|
||||
CAPTION "Ïàíåëü çàäà÷"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
GROUPBOX "Taskbar appearance", IDC_STATIC, 6,6,240,121
|
||||
GROUPBOX "Âëàñòèâîñò³ ïàíåë³ çàäà÷", IDC_STATIC, 6,6,240,121
|
||||
CONTROL "", IDC_TASKBARPROP_TASKBARBITMAP, "Static", SS_BITMAP | SS_SUNKEN, 13,18,224,21
|
||||
AUTOCHECKBOX "&Lock the taskbar", IDC_TASKBARPROP_LOCK, 13,45,200,10
|
||||
AUTOCHECKBOX "A&uto-hide the taskbar", IDC_TASKBARPROP_HIDE, 13,58,200,10
|
||||
AUTOCHECKBOX "Keep the &taskbar on top of other windows", IDC_TASKBARPROP_ONTOP, 13,71,200,10
|
||||
AUTOCHECKBOX "&Group similar taskbar buttons", IDC_TASKBARPROP_GROUP, 13,84,200,10
|
||||
AUTOCHECKBOX "Show &Quick Launch", IDC_TASKBARPROP_SHOWQL, 13,97,200,10
|
||||
AUTOCHECKBOX "&Show window previews (thumbnails)", IDC_TASKBARPROP_WNDPREV, 13,110,200,10
|
||||
AUTOCHECKBOX "&Çàáîðîíèòè ïàíåëü çàäà÷", IDC_TASKBARPROP_LOCK, 13,45,200,10
|
||||
AUTOCHECKBOX "&Àâòîìàòè÷íî ïðèõîâóâàòè ïàíåëü çàäà÷", IDC_TASKBARPROP_HIDE, 13,58,200,10
|
||||
AUTOCHECKBOX "&Ïîâåðõ ³íøèõ â³êîí", IDC_TASKBARPROP_ONTOP, 13,71,200,10
|
||||
AUTOCHECKBOX "&Ãðóïóâàòè ñõîæ³ êíîïêè", IDC_TASKBARPROP_GROUP, 13,84,200,10
|
||||
AUTOCHECKBOX "³äîáðàæàòè ïàíåëü &øâèäêîãî çàïóñêó", IDC_TASKBARPROP_SHOWQL, 13,97,200,10
|
||||
AUTOCHECKBOX "&³äîáðàæàòè çðàçêè â³êîí (åñê³çè)", IDC_TASKBARPROP_WNDPREV, 13,110,200,10
|
||||
END
|
||||
|
||||
IDD_TASKBARPROP_STARTMENU DIALOGEX 0, 0, 252, 218
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Start Menu"
|
||||
CAPTION "Ìåíþ ""Ïóñê"""
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
AUTORADIOBUTTON "&Start menu", IDC_TASKBARPROP_STARTMENU, 7,7,105,10
|
||||
LTEXT "This menu style gives you easy access to your folders, favorite programs, and search.", IDC_STATIC, 20,17,150,24, WS_DISABLED
|
||||
PUSHBUTTON "&Customize...", IDC_TASKBARPROP_STARTMENUCUST, 192,4,53,14, WS_DISABLED
|
||||
AUTORADIOBUTTON "Classic Start &menu", IDC_TASKBARPROP_STARTMENUCLASSIC, 7,47,105,10, WS_DISABLED
|
||||
LTEXT "This menu style gives you the classic look and functionality",-1,20,57,150,24, WS_DISABLED
|
||||
PUSHBUTTON "&Customize...", IDC_TASKBARPROP_STARTMENUCLASSICCUST, 192,44,53,14, WS_DISABLED
|
||||
GROUPBOX "Privacy",IDC_STATIC, 7,100,238,42
|
||||
AUTOCHECKBOX "Store and display a list of recently opened &files", IDC_TASKBARPROP_RECENTFILES, 14,114,224,10, WS_DISABLED
|
||||
AUTOCHECKBOX "Store and display a list of recently opened &programs",IDC_TASKBARPROP_RECENTFOLDERS, 14,128,224,10, WS_DISABLED
|
||||
AUTORADIOBUTTON "&Ìåíþ ""Ïóñê""", IDC_TASKBARPROP_STARTMENU, 7,7,105,10
|
||||
LTEXT "Öåé ñòèëü ìåíþ çàáåçïå÷óº çðó÷íèé äîñòóï äî ïàïîê, ÷àñòî âèêîðèñòîâóâàíèõ ïðîãðàì òà ïîøóêó.", IDC_STATIC, 20,17,150,24, WS_DISABLED
|
||||
PUSHBUTTON "&Íàëàøòóâàòè...", IDC_TASKBARPROP_STARTMENUCUST, 192,4,53,14, WS_DISABLED
|
||||
AUTORADIOBUTTON "Êëàñè÷íå ìåíþ ""Ïóñê""", IDC_TASKBARPROP_STARTMENUCLASSIC, 7,47,105,10, WS_DISABLED
|
||||
LTEXT "Öåé ñòèëü ìåíþ ìຠêëàñè÷íèé âèãëÿä ³ ôóíêö³îíàëüí³ñòü",-1,20,57,150,24, WS_DISABLED
|
||||
PUSHBUTTON "&Íàëàøòóâàòè...", IDC_TASKBARPROP_STARTMENUCLASSICCUST, 192,44,53,14, WS_DISABLED
|
||||
GROUPBOX "Êîíô³äåíö³éí³ñòü",IDC_STATIC, 7,100,238,42
|
||||
AUTOCHECKBOX "Çáåð³ãàòè òà â³äîáðàæàòè ñïèñîê íåäàâíî â³äêðèòèõ &ôàéë³â", IDC_TASKBARPROP_RECENTFILES, 14,114,224,10, WS_DISABLED
|
||||
AUTOCHECKBOX "Çáåð³ãàòè òà â³äîáðàæàòè ñïèñîê íåäàâíî â³äêðèòèõ &ïðîãðàì",IDC_TASKBARPROP_RECENTFOLDERS, 14,128,224,10, WS_DISABLED
|
||||
END
|
||||
|
||||
IDD_TASKBARPROP_NOTIFICATION DIALOGEX 0, 0, 252, 218
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Notification Area"
|
||||
CAPTION "Îáëàñòü ñïîâ³ùåíü"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
CONTROL "", IDC_TASKBARPROP_NOTIFICATIONBITMAP, "Static", SS_BITMAP | SS_SUNKEN,7,6,238,21, WS_DISABLED
|
||||
GROUPBOX "Icons", IDC_STATIC, 6,33,240,58, WS_DISABLED
|
||||
LTEXT "You can keep the notification area uncluttered by hiding icons that you have not clicked recently.", IDC_STATIC, 13,48,223,16, WS_DISABLED
|
||||
AUTOCHECKBOX "&Hide inactive icons", IDC_TASKBARPROP_HIDEICONS, 13,70,125,10, WS_DISABLED
|
||||
PUSHBUTTON "&Customize...", IDC_TASKBARPROP_ICONCUST, 188,70,50,14, WS_DISABLED
|
||||
GROUPBOX "System icons", IDC_STATIC, 6,97,240,84, WS_DISABLED
|
||||
LTEXT "Select which system icons to always show.", IDC_STATIC, 13,112,223,16, WS_DISABLED
|
||||
AUTOCHECKBOX "Cloc&k", IDC_TASKBARPROP_CLOCK, 13,126,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Volume", IDC_TASKBARPROP_VOLUME, 13,139,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Network", IDC_TASKBARPROP_NETWORK, 13,152,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Power", IDC_TASKBARPROP_POWER, 13,164,200,10, WS_DISABLED
|
||||
GROUPBOX "Çíà÷êè", IDC_STATIC, 6,33,240,58, WS_DISABLED
|
||||
LTEXT "Ìîæíà óíèêíóòè çàõàðàùåííÿ îáëàñò³ ïîâ³äîìëåíü, ïðèõîâóþ÷è çíà÷êè, ÿê³ äàâíî íå âèêîðèñòîâóâàëèñÿ.", IDC_STATIC, 13,48,223,16, WS_DISABLED
|
||||
AUTOCHECKBOX "&Ïðèõîâóâàòè íåâæèâàí³ çíà÷êè", IDC_TASKBARPROP_HIDEICONS, 13,70,125,10, WS_DISABLED
|
||||
PUSHBUTTON "&Íàëàøòóâàòè...", IDC_TASKBARPROP_ICONCUST, 188,70,50,14, WS_DISABLED
|
||||
GROUPBOX "Ñèñòåìí³ çíà÷êè", IDC_STATIC, 6,97,240,84, WS_DISABLED
|
||||
LTEXT "Îáåð³òü ñèñòåìí³ çíà÷êè äëÿ ïîñò³éíîãî â³äîáðàæåííÿ.", IDC_STATIC, 13,112,223,16, WS_DISABLED
|
||||
AUTOCHECKBOX "&Ãîäèííèê", IDC_TASKBARPROP_CLOCK, 13,126,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Ãó÷í³ñòü", IDC_TASKBARPROP_VOLUME, 13,139,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Ìåðåæà", IDC_TASKBARPROP_NETWORK, 13,152,200,10, WS_DISABLED
|
||||
AUTOCHECKBOX "&Æèâëåííÿ", IDC_TASKBARPROP_POWER, 13,164,200,10, WS_DISABLED
|
||||
|
||||
END
|
||||
|
||||
IDD_TASKBARPROP_TOOLBARS DIALOGEX 0, 0, 252, 218
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Toolbars"
|
||||
CAPTION "Ïàíåë³ ³íñòðóìåíò³â"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x1
|
||||
BEGIN
|
||||
LTEXT "Select which toolbars to add to the taskbar.", IDC_STATIC, 7,7,223,12, WS_DISABLED
|
||||
LTEXT "Îáåð³òü ïàíåë³ ³íñòðóìåíò³â, ÿê³ áóäóòü â³äîáðàæàòèñü íà ïàíåë³ çàâäàíü.", IDC_STATIC, 7,7,223,12, WS_DISABLED
|
||||
CONTROL "", IDC_TASKBARPROP_DESKBANDLIST, "SysTreeView32",WS_BORDER | WS_TABSTOP | WS_DISABLED, 7,20,236,160, WS_EX_CLIENTEDGE
|
||||
END
|
||||
|
||||
@@ -127,10 +127,10 @@ BEGIN
|
||||
IDS_START "Ïóñê"
|
||||
IDS_PROPERTIES "Â&ëàñòèâîñò³"
|
||||
IDS_OPEN_ALL_USERS "&Âñ³ êîðèñòóâà÷³"
|
||||
IDS_EXPLORE_ALL_USERS "&Îãëÿä Âñ³õ êîðèñòóâà÷³â"
|
||||
IDS_EXPLORE_ALL_USERS "&Îãëÿä âñ³õ êîðèñòóâà÷³â"
|
||||
END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_TASKBAR_STARTMENU_PROP_CAPTION "Taskbar and Start Menu Properties"
|
||||
IDS_TASKBAR_STARTMENU_PROP_CAPTION "Âëàñòèâîñò³ ìåíþ Ïóñê òà Ïàíåë³ çàâäàíü"
|
||||
END
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
/*
|
||||
* Copyright 1997 Victor Schneider
|
||||
* Copyright 2002 Alexandre Julliard
|
||||
* Copyright 2007 Hans Leidekker
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
@@ -14,44 +15,178 @@
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <windows.h>
|
||||
#include <lzexpand.h>
|
||||
#include <tchar.h>
|
||||
#include <setupapi.h>
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
int _tmain(int argc, TCHAR *argv[])
|
||||
static UINT CALLBACK set_outfile( PVOID context, UINT notification, UINT_PTR param1, UINT_PTR param2 )
|
||||
{
|
||||
OFSTRUCT SourceOpenStruct1, SourceOpenStruct2;
|
||||
LONG ret;
|
||||
HFILE hSourceFile, hDestFile;
|
||||
TCHAR szMsg[RC_STRING_MAX_SIZE];
|
||||
FILE_IN_CABINET_INFO_A *info = (FILE_IN_CABINET_INFO_A *)param1;
|
||||
char buffer[MAX_PATH];
|
||||
char* basename;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
LoadString( GetModuleHandle(NULL), IDS_Copy, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||
_ftprintf( stderr, szMsg, argv[0] );
|
||||
return 1;
|
||||
}
|
||||
hSourceFile = LZOpenFile(argv[1], &SourceOpenStruct1, OF_READ);
|
||||
if (argv[2])
|
||||
hDestFile = LZOpenFile(argv[2], &SourceOpenStruct2, OF_CREATE | OF_WRITE);
|
||||
else
|
||||
{
|
||||
TCHAR OriginalName[MAX_PATH];
|
||||
GetExpandedName(argv[1], OriginalName);
|
||||
hDestFile = LZOpenFile(OriginalName, &SourceOpenStruct2, OF_CREATE | OF_WRITE);
|
||||
}
|
||||
ret = LZCopy(hSourceFile, hDestFile);
|
||||
LZClose(hSourceFile);
|
||||
LZClose(hDestFile);
|
||||
LoadString( GetModuleHandle(NULL), IDS_FAILS, (LPTSTR) szMsg,RC_STRING_MAX_SIZE);
|
||||
if (ret <= 0) _ftprintf(stderr,szMsg,ret);
|
||||
return (ret <= 0);
|
||||
switch (notification)
|
||||
{
|
||||
case SPFILENOTIFY_FILEINCABINET:
|
||||
{
|
||||
LPSTR outfile = context;
|
||||
if (outfile[0] != 0)
|
||||
{
|
||||
SetLastError( ERROR_NOT_SUPPORTED );
|
||||
return FILEOP_ABORT;
|
||||
}
|
||||
GetFullPathNameA( info->NameInCabinet, sizeof(buffer), buffer, &basename );
|
||||
strcpy( outfile, basename );
|
||||
return FILEOP_SKIP;
|
||||
}
|
||||
default: return NO_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
static UINT CALLBACK extract_callback( PVOID context, UINT notification, UINT_PTR param1, UINT_PTR param2 )
|
||||
{
|
||||
FILE_IN_CABINET_INFO_A *info = (FILE_IN_CABINET_INFO_A *)param1;
|
||||
|
||||
switch (notification)
|
||||
{
|
||||
case SPFILENOTIFY_FILEINCABINET:
|
||||
{
|
||||
LPCSTR targetname = context;
|
||||
|
||||
strcpy( info->FullTargetName, targetname );
|
||||
return FILEOP_DOIT;
|
||||
}
|
||||
default: return NO_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
static BOOL option_equal(LPCSTR str1, LPCSTR str2)
|
||||
{
|
||||
if (str1[0] != '/' && str1[0] != '-')
|
||||
return FALSE;
|
||||
return !lstrcmpA( str1 + 1, str2 );
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ret = 0;
|
||||
char infile[MAX_PATH], outfile[MAX_PATH], actual_name[MAX_PATH];
|
||||
char outfile_basename[MAX_PATH], *basename_index;
|
||||
UINT comp;
|
||||
|
||||
if (argc < 3)
|
||||
{
|
||||
fprintf( stderr, "Usage:\n" );
|
||||
fprintf( stderr, "\t%s infile outfile\n", argv[0] );
|
||||
fprintf( stderr, "\t%s /r infile\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (argc == 3 && (option_equal(argv[1], "R") || option_equal(argv[1], "r")))
|
||||
GetFullPathNameA( argv[2], sizeof(infile), infile, NULL );
|
||||
else
|
||||
GetFullPathNameA( argv[1], sizeof(infile), infile, NULL );
|
||||
|
||||
if (!SetupGetFileCompressionInfoExA( infile, actual_name, sizeof(actual_name), NULL, NULL, NULL, &comp ))
|
||||
{
|
||||
fprintf( stderr, "%s: can't open input file %s\n", argv[0], infile );
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (argc == 3 && (option_equal(argv[1], "R") || option_equal(argv[1], "r")))
|
||||
{
|
||||
switch (comp)
|
||||
{
|
||||
case FILE_COMPRESSION_MSZIP:
|
||||
{
|
||||
outfile_basename[0] = 0;
|
||||
if (!SetupIterateCabinetA( infile, 0, set_outfile, outfile_basename ))
|
||||
{
|
||||
fprintf( stderr, "%s: can't determine original name\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
GetFullPathNameA( infile, sizeof(outfile), outfile, &basename_index );
|
||||
*basename_index = 0;
|
||||
strcat( outfile, outfile_basename );
|
||||
break;
|
||||
}
|
||||
case FILE_COMPRESSION_WINLZA:
|
||||
{
|
||||
GetExpandedNameA( infile, outfile_basename );
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
fprintf( stderr, "%s: can't determine original\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
GetFullPathNameA( argv[2], sizeof(outfile), outfile, NULL );
|
||||
|
||||
if (!lstrcmpiA( infile, outfile ))
|
||||
{
|
||||
fprintf( stderr, "%s: can't expand file to itself\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
|
||||
switch (comp)
|
||||
{
|
||||
case FILE_COMPRESSION_MSZIP:
|
||||
{
|
||||
if (!SetupIterateCabinetA( infile, 0, extract_callback, outfile ))
|
||||
{
|
||||
fprintf( stderr, "%s: cabinet extraction failed\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case FILE_COMPRESSION_WINLZA:
|
||||
{
|
||||
INT hin, hout;
|
||||
OFSTRUCT ofin, ofout;
|
||||
LONG error;
|
||||
|
||||
if ((hin = LZOpenFileA( infile, &ofin, OF_READ )) < 0)
|
||||
{
|
||||
fprintf( stderr, "%s: can't open input file %s\n", argv[0], infile );
|
||||
return 1;
|
||||
}
|
||||
if ((hout = LZOpenFileA( outfile, &ofout, OF_CREATE | OF_WRITE )) < 0)
|
||||
{
|
||||
LZClose( hin );
|
||||
fprintf( stderr, "%s: can't open output file %s\n", argv[0], outfile );
|
||||
return 1;
|
||||
}
|
||||
error = LZCopy( hin, hout );
|
||||
|
||||
LZClose( hin );
|
||||
LZClose( hout );
|
||||
|
||||
if (error < 0)
|
||||
{
|
||||
fprintf( stderr, "%s: LZCopy failed, error is %ld\n", argv[0], error );
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
default:
|
||||
{
|
||||
if (!CopyFileA( infile, outfile, FALSE ))
|
||||
{
|
||||
fprintf( stderr, "%s: CopyFileA failed\n", argv[0] );
|
||||
return 1;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
<module name="expand" type="win32cui" installbase="system32" installname="expand.exe" >
|
||||
<include base="ReactOS">include/reactos/wine</include>
|
||||
<include base="expand">.</include>
|
||||
<define name="ANONYMOUSUNIONS" />
|
||||
<library>lz32</library>
|
||||
<library>setupapi</library>
|
||||
<library>user32</library>
|
||||
<file>expand.c</file>
|
||||
<file>expand.rc</file>
|
||||
|
||||
@@ -3,5 +3,3 @@
|
||||
#define REACTOS_STR_INTERNAL_NAME "expand\0"
|
||||
#define REACTOS_STR_ORIGINAL_FILENAME "expand.exe\0"
|
||||
#include <reactos/version.rc>
|
||||
|
||||
#include "rsrc.rc"
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_BULGARIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Ïðèíàäëåæíîñò íà ÐåàêòÎÑ çà ðàçãúâàíå (ðàçêîìïðåñèðàíå) íà ôàéëîâå, â. 1.0\n\
|
||||
Âúçïðîèçâîäñòâåíî ïðàâî íà Victor Schneider 1997\n\n\
|
||||
Óïîòðåáà: %s âõîäÿùôàéë [èçõîäÿùôàéë]\n"
|
||||
|
||||
IDS_FAILS "LZCopy íåóñïåøíî: âúðíàòî å %ld\n"
|
||||
END
|
||||
@@ -1,21 +0,0 @@
|
||||
/* FILE: system/expand/lang/cs-CZ.rc
|
||||
* TRANSLATOR: Radek Liska aka Black_Fox (radekliska at gmail dot com)
|
||||
* UPDATED: 2008-04-21
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_CZECH, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS rozbalovaè souborù - verze 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Použití: %s vstupní soubor [výstupní soubor]\n"
|
||||
|
||||
IDS_FAILS "LZCopy selhalo: návratový kód je %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Translated into German.
|
||||
* By Rouven Wessling 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Dateiexpansionsprogramm Version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Verwendung: %s Eingabedatei [Ausgabedatei]\n"
|
||||
|
||||
IDS_FAILS "LZCopy fehlgeschlagen: Rückgabe ist %ld\n"
|
||||
END
|
||||
@@ -1,18 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
* GR.rc by Dj Apal®
|
||||
*
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_GREEK, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Expansion Utility Version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
×ñÞóç: %s infile [outfile]\n"
|
||||
|
||||
IDS_FAILS "LZÁíôéãñáöÞ áðÝôõ÷å: åðéóôñÜöçêå %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS File Expansion Utility Version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Usage: %s infile [outfile]\n"
|
||||
|
||||
IDS_FAILS "LZCopy failed: return is %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Utilidad de Descompresión de Archivos Versión 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Utilización: %s archivo entrada [archivo salida]\n"
|
||||
|
||||
IDS_FAILS "LZCopy falló: el resultado es %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Utilitaire de décompression de fichiers Version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Utilisation : %s FichierEntrée [fichierdesortie]\n"
|
||||
|
||||
IDS_FAILS "LZCopy a echoué : code d'erreur retourné : %ld\n"
|
||||
END
|
||||
@@ -1,17 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
* Hungarian version is Copyright 2005 - Peter Nagy <[email protected]>
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_HUNGARIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Fájlkicsomagoló segédprogram 1.0 verzió\n\
|
||||
Szerzõi jog: Victor Schneider 1997\n\n\
|
||||
Használat: %s forrás [cél]\n"
|
||||
|
||||
IDS_FAILS "LZCopy sikertelen, visszatérése: %ld\n"
|
||||
END
|
||||
@@ -1,18 +0,0 @@
|
||||
/*
|
||||
* Translated into Indonesian.
|
||||
* By Zaenal Mutaqin 2007 [email protected]
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_INDONESIAN, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Utilitas Ekspansi File ReactOS Versi 1.0\n\
|
||||
Hak Cipta Victor Schneider 1997\n\n\
|
||||
Pemakaian: %s infile [outfile]\n"
|
||||
|
||||
IDS_FAILS "LZCopy gagal: hasilnya adalah %ld\n"
|
||||
END
|
||||
@@ -1,13 +0,0 @@
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_ITALIAN, SUBLANG_NEUTRAL
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Programma per la espansione dei file di ReactOS Versione 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Usage: %s infile [outfile]\n"
|
||||
|
||||
IDS_FAILS "LZCopy fallito: return è %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_JAPANESE, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS File Expansion Utility Version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
使用法: %s 展開元ファイル [展開先ファイル]\n"
|
||||
|
||||
IDS_FAILS "LZCopy に失敗しました: 返り値は %ld です。\n"
|
||||
END
|
||||
@@ -1,14 +0,0 @@
|
||||
/* Translation by Vytis 'CMan' Girdþijauskas [email protected] */
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_LITHUANIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS bylø iðplëtimo pagalbinë programa. Versija 1.0\n\
|
||||
(C) Victor Schneider 1997\n\n\
|
||||
Naudojimas: %s ðaltinio_byla [iðvesties_byla]\n"
|
||||
|
||||
IDS_FAILS "LZCopy nepavyko: graþino %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_NORWEGIAN, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Fil ekstrakterings Verktøy Versjon 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Bruk: %s innfil [utfil]\n"
|
||||
|
||||
IDS_FAILS "LZCopy mislykket: retur ble %ld\n"
|
||||
END
|
||||
@@ -1,17 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* translated by xrogers (http://rogers.cyberdusk.pl/)
|
||||
* [email protected]
|
||||
* https://sourceforge.net/projects/reactospl
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_POLISH, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Narzêdzie rozwijania plików ReactOS wersja 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Sposób u¿ycia: %s plik_wejœciowy [plik_wyjœciowy]\n"
|
||||
|
||||
IDS_FAILS "Nieudane LZCopy: zwrócony wynik %ld\n"
|
||||
END
|
||||
@@ -1,16 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Moved all hardcoded strings to En.rc.
|
||||
* By Magnus Olsen 2005 [email protected]
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS Utilitário para Expandir Arquivos - Versão 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Uso: %s origem [destino]\n"
|
||||
|
||||
IDS_FAILS "LZCopy falhou: resultado é %ld\n"
|
||||
END
|
||||
@@ -1,12 +0,0 @@
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Утилита распаковки файлов ReactOS, версия 1.0\n\
|
||||
Авторские права (с) Виктор Шнейдер 1997\n\n\
|
||||
Использование: %s исходный_файл [выходной_файл]\n"
|
||||
|
||||
IDS_FAILS "Не удалось выполнить LZCopy, возвращено: %ld\n"
|
||||
END
|
||||
@@ -1,15 +0,0 @@
|
||||
#include "resource.h"
|
||||
/*
|
||||
* Copyright 2005 David Nordenberg
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "ReactOS verktyg för filextrahering version 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Användning: %s källfil [målfil]\n"
|
||||
|
||||
IDS_FAILS "LZCopy misslyckades, felkod: %ld\n"
|
||||
END
|
||||
@@ -1,33 +0,0 @@
|
||||
/*
|
||||
* ReactOS File Expansion Utility
|
||||
*
|
||||
* Copyright 2006 Sumath Aowsakulsutthi (Thai translation)
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_THAI, SUBLANG_DEFAULT
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "â»Ãá¡ÃÁÍÃö»ÃÐ⪹ìà¾×èÍ»ÃѺáµè§á¿éÁ¢Í§ ReactOS ÃØè¹·Õè 1.0\n\
|
||||
ʧǹÅÔ¢ÊÔ·¸Ôì Victor Schneider 1997\n\n\
|
||||
ÊÀÒÇÐãªé§Ò¹: %s á¿éÁÀÒÂã¹ [á¿éÁÀÒ¹͡]\n"
|
||||
|
||||
IDS_FAILS "¡ÒäѴÅÍ¡ÅéÁàËÅÇ: Âé͹¡ÅѺà»ç¹ %ld\n"
|
||||
END
|
||||
@@ -1,19 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS File Expansion Utility
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/system/expand/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for Expand
|
||||
* TRANSLATOR: Artem Reznikov
|
||||
*/
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
|
||||
IDS_Copy, "Ïðîãðàìà ðîçïàêîâêè ôàéë³â ReactOS âåðñ³ÿ 1.0\n\
|
||||
Copyright Victor Schneider 1997\n\n\
|
||||
Usage: %s infile [outfile]\n"
|
||||
|
||||
IDS_FAILS "Íå âäàëîñÿ âèêîíàòè: return is %ld\n"
|
||||
END
|
||||
@@ -1,10 +0,0 @@
|
||||
#ifndef RESOURCE_H__
|
||||
#define RESOURCE_H__
|
||||
|
||||
#define RC_STRING_MAX_SIZE 4096
|
||||
#define IDS_Copy 100
|
||||
#define IDS_FAILS 101
|
||||
|
||||
#endif
|
||||
|
||||
/* EOF */
|
||||
@@ -1,24 +0,0 @@
|
||||
#include <windows.h>
|
||||
#include "resource.h"
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
#include "lang/bg-BG.rc"
|
||||
#include "lang/cs-CZ.rc"
|
||||
#include "lang/de-DE.rc"
|
||||
#include "lang/el-GR.rc"
|
||||
#include "lang/en-US.rc"
|
||||
#include "lang/es-ES.rc"
|
||||
#include "lang/fr-FR.rc"
|
||||
#include "lang/hu-HU.rc"
|
||||
#include "lang/id-ID.rc"
|
||||
#include "lang/it-IT.rc"
|
||||
#include "lang/ja-JP.rc"
|
||||
#include "lang/lt-LT.rc"
|
||||
#include "lang/no-NO.rc"
|
||||
#include "lang/pl-PL.rc"
|
||||
#include "lang/pt-BR.rc"
|
||||
#include "lang/ru-RU.rc"
|
||||
#include "lang/sv-SE.rc"
|
||||
#include "lang/th-TH.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
@@ -37,43 +37,42 @@
|
||||
#include <debug.h>
|
||||
|
||||
INT WINAPI
|
||||
wWinMain(
|
||||
IN HINSTANCE hInstance,
|
||||
IN HINSTANCE hPrevInstance,
|
||||
IN LPWSTR lpCmdLine,
|
||||
IN INT nShowCmd)
|
||||
wWinMain(IN HINSTANCE hInstance,
|
||||
IN HINSTANCE hPrevInstance,
|
||||
IN LPWSTR lpCmdLine,
|
||||
IN INT nShowCmd)
|
||||
{
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
NTSTATUS Status = STATUS_SUCCESS;
|
||||
|
||||
DPRINT("Local Security Authority Subsystem\n");
|
||||
DPRINT(" Initializing...\n");
|
||||
DPRINT("Local Security Authority Subsystem\n");
|
||||
DPRINT(" Initializing...\n");
|
||||
|
||||
/* Initialize the LSA server DLL. */
|
||||
Status = LsapInitLsa();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("LsapInitLsa() failed (Status 0x%08lX)\n", Status);
|
||||
goto ByeBye;
|
||||
}
|
||||
/* Initialize the LSA server DLL. */
|
||||
Status = LsapInitLsa();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("LsapInitLsa() failed (Status 0x%08lX)\n", Status);
|
||||
goto ByeBye;
|
||||
}
|
||||
|
||||
#if 0
|
||||
/* Initialize the SAM server DLL. */
|
||||
Status = SamIInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("SamIInitialize() failed (Status 0x%08lX)\n", Status);
|
||||
goto ByeBye;
|
||||
}
|
||||
/* Initialize the SAM server DLL. */
|
||||
Status = SamIInitialize();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("SamIInitialize() failed (Status 0x%08lX)\n", Status);
|
||||
goto ByeBye;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* FIXME: More initialization */
|
||||
/* FIXME: More initialization */
|
||||
|
||||
DPRINT(" Done...\n");
|
||||
DPRINT(" Done...\n");
|
||||
|
||||
ByeBye:
|
||||
NtTerminateThread(NtCurrentThread(), Status);
|
||||
NtTerminateThread(NtCurrentThread(), Status);
|
||||
|
||||
return 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* PROJECT: ReactOS runonce.exe
|
||||
* LICENSE: GPL - See COPYING in the top level directory
|
||||
* FILE: base/system/runonce/lang/uk-UA.rc
|
||||
* PURPOSE: Ukraianian Language File for runonce
|
||||
* TRANSLATOR: Sakara Yevhen
|
||||
*/
|
||||
|
||||
LANGUAGE LANG_UKRAINIAN, SUBLANG_DEFAULT
|
||||
|
||||
IDD_RUNONCE_DLG DIALOG DISCARDABLE 0, 0, 239, 170
|
||||
STYLE DS_SHELLFONT | DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "Âñòàíîâëåííÿ ReactOS"
|
||||
FONT 8, "MS Shell Dlg"
|
||||
BEGIN
|
||||
LTEXT "ReactOS íàëàøòîâóº íàñòóïí³ êîìïîíåíòè:", -1, 38, 8, 196, 18
|
||||
LISTBOX IDC_COMP_LIST, 36, 32, 197, 131, LBS_OWNERDRAWVARIABLE | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP
|
||||
ICON IDI_ICON, -1, 5, 6, 21, 20
|
||||
END
|
||||
@@ -3,4 +3,5 @@
|
||||
#include "lang/ja-JP.rc"
|
||||
#include "lang/ru-RU.rc"
|
||||
#include "lang/sk-SK.rc"
|
||||
#include "lang/uk-UA.rc"
|
||||
|
||||
|
||||
@@ -644,6 +644,14 @@ DWORD RControlService(
|
||||
if ((dwError == ERROR_SUCCESS) && (pcbBytesNeeded))
|
||||
dwError = ERROR_DEPENDENT_SERVICES_RUNNING;
|
||||
|
||||
if (dwError == ERROR_SUCCESS &&
|
||||
dwControl == SERVICE_CONTROL_STOP &&
|
||||
lpServiceStatus->dwCurrentState == SERVICE_STOPPED)
|
||||
{
|
||||
lpService->ProcessId = 0; /* FIXME */
|
||||
lpService->ThreadId = 0;
|
||||
}
|
||||
|
||||
/* Return service status information */
|
||||
RtlCopyMemory(lpServiceStatus,
|
||||
&lpService->Status,
|
||||
@@ -3241,8 +3249,135 @@ DWORD RCreateServiceA(
|
||||
DWORD dwPwSize,
|
||||
LPSC_RPC_HANDLE lpServiceHandle)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
return ERROR_CALL_NOT_IMPLEMENTED;
|
||||
DWORD dwError = ERROR_SUCCESS;
|
||||
LPWSTR lpServiceNameW = NULL;
|
||||
LPWSTR lpDisplayNameW = NULL;
|
||||
LPWSTR lpBinaryPathNameW = NULL;
|
||||
LPWSTR lpLoadOrderGroupW = NULL;
|
||||
LPWSTR lpDependenciesW = NULL;
|
||||
LPWSTR lpServiceStartNameW = NULL;
|
||||
DWORD dwDependenciesLength = 0;
|
||||
DWORD dwLength;
|
||||
int len;
|
||||
LPSTR lpStr;
|
||||
|
||||
if (lpServiceName)
|
||||
{
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpServiceName, -1, NULL, 0);
|
||||
lpServiceNameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!lpServiceNameW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, lpServiceName, -1, lpServiceNameW, len);
|
||||
}
|
||||
|
||||
if (lpDisplayName)
|
||||
{
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpDisplayName, -1, NULL, 0);
|
||||
lpDisplayNameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!lpDisplayNameW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, lpDisplayName, -1, lpDisplayNameW, len);
|
||||
}
|
||||
|
||||
if (lpBinaryPathName)
|
||||
{
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpBinaryPathName, -1, NULL, 0);
|
||||
lpBinaryPathNameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!lpBinaryPathNameW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, lpBinaryPathName, -1, lpBinaryPathNameW, len);
|
||||
}
|
||||
|
||||
if (lpLoadOrderGroup)
|
||||
{
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpLoadOrderGroup, -1, NULL, 0);
|
||||
lpLoadOrderGroupW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!lpLoadOrderGroupW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, lpLoadOrderGroup, -1, lpLoadOrderGroupW, len);
|
||||
}
|
||||
|
||||
if (lpDependencies)
|
||||
{
|
||||
lpStr = (LPSTR)lpDependencies;
|
||||
while (*lpStr)
|
||||
{
|
||||
dwLength = strlen(lpStr) + 1;
|
||||
dwDependenciesLength += dwLength;
|
||||
lpStr = lpStr + dwLength;
|
||||
}
|
||||
dwDependenciesLength++;
|
||||
|
||||
lpDependenciesW = HeapAlloc(GetProcessHeap(), 0, dwDependenciesLength * sizeof(WCHAR));
|
||||
if (!lpDependenciesW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, (LPSTR)lpDependencies, dwDependenciesLength, lpDependenciesW, dwDependenciesLength);
|
||||
}
|
||||
|
||||
if (lpServiceStartName)
|
||||
{
|
||||
len = MultiByteToWideChar(CP_ACP, 0, lpServiceStartName, -1, NULL, 0);
|
||||
lpServiceStartNameW = HeapAlloc(GetProcessHeap(), 0, len * sizeof(WCHAR));
|
||||
if (!lpServiceStartNameW)
|
||||
{
|
||||
SetLastError(ERROR_NOT_ENOUGH_MEMORY);
|
||||
goto cleanup;
|
||||
}
|
||||
MultiByteToWideChar(CP_ACP, 0, lpServiceStartName, -1, lpServiceStartNameW, len);
|
||||
}
|
||||
|
||||
dwError = RCreateServiceW(hSCManager,
|
||||
lpServiceNameW,
|
||||
lpDisplayNameW,
|
||||
dwDesiredAccess,
|
||||
dwServiceType,
|
||||
dwStartType,
|
||||
dwErrorControl,
|
||||
lpBinaryPathNameW,
|
||||
lpLoadOrderGroupW,
|
||||
lpdwTagId,
|
||||
(LPBYTE)lpDependenciesW,
|
||||
dwDependenciesLength,
|
||||
lpServiceStartNameW,
|
||||
lpPassword,
|
||||
dwPwSize,
|
||||
lpServiceHandle);
|
||||
|
||||
cleanup:
|
||||
if (lpServiceNameW !=NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpServiceNameW);
|
||||
|
||||
if (lpDisplayNameW != NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpDisplayNameW);
|
||||
|
||||
if (lpBinaryPathNameW != NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpBinaryPathNameW);
|
||||
|
||||
if (lpLoadOrderGroupW != NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpLoadOrderGroupW);
|
||||
|
||||
if (lpDependenciesW != NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpDependenciesW);
|
||||
|
||||
if (lpServiceStartNameW != NULL)
|
||||
HeapFree(GetProcessHeap(), 0, lpServiceStartNameW);
|
||||
|
||||
return dwError;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
<?xml version="1.0"?>
|
||||
<!DOCTYPE group SYSTEM "../../../tools/rbuild/project.dtd">
|
||||
<group>
|
||||
<module name="armllb" type="bootloader" installbase=".." installname="armllb.bin">
|
||||
<bootstrap installbase="loader" />
|
||||
<library>libcntpr</library>
|
||||
<library>rtl</library>
|
||||
<include base="armllb">./inc</include>
|
||||
<if property="SARCH" value="omap3">
|
||||
<define name="_OMAP3_" />
|
||||
<group linkerset="ld">
|
||||
<linkerflag>-Wl,--image-base=0x401FEFF8</linkerflag>
|
||||
</group>
|
||||
</if>
|
||||
<if property="SARCH" value="versatile">
|
||||
<define name="_VERSATILE_" />
|
||||
<group linkerset="ld">
|
||||
<linkerflag>-Wl,--image-base=0xF000</linkerflag>
|
||||
</group>
|
||||
</if>
|
||||
<file first="true">boot.s</file>
|
||||
<file>main.c</file>
|
||||
<file>crtsupp.c</file>
|
||||
<file>envir.c</file>
|
||||
<file>fw.c</file>
|
||||
<directory name="hw">
|
||||
<file>keyboard.c</file>
|
||||
<file>serial.c</file>
|
||||
<file>time.c</file>
|
||||
<file>video.c</file>
|
||||
<if property="SARCH" value="omap3">
|
||||
<directory name="omap3">
|
||||
<file>hwdata.c</file>
|
||||
<file>hwdss.c</file>
|
||||
<file>hwuart.c</file>
|
||||
<file>hwinfo.c</file>
|
||||
<file<hwinit.c</file>
|
||||
</directory>
|
||||
</if>
|
||||
<if property="SARCH" value="versatile">
|
||||
<directory name="versatile">
|
||||
<file>hwclcd.c</file>
|
||||
<file>hwkmi.c</file>
|
||||
<file>hwuart.c</file>
|
||||
<file>hwinfo.c</file>
|
||||
<file>hwinit.c</file>
|
||||
</directory>
|
||||
</if>
|
||||
</directory>
|
||||
<directory name="os">
|
||||
<file>loader.c</file>
|
||||
</directory>
|
||||
<group compilerset="gcc">
|
||||
<compilerflag>-fms-extensions</compilerflag>
|
||||
<compilerflag>-ffreestanding</compilerflag>
|
||||
<compilerflag>-fno-builtin</compilerflag>
|
||||
<compilerflag>-fno-inline</compilerflag>
|
||||
<compilerflag>-fno-zero-initialized-in-bss</compilerflag>
|
||||
<compilerflag>-Os</compilerflag>
|
||||
</group>
|
||||
<group linkerset="ld">
|
||||
<linkerflag>-lgcc</linkerflag>
|
||||
</group>
|
||||
</module>
|
||||
</group>
|
||||
@@ -0,0 +1,39 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/boot.s
|
||||
* PURPOSE: Implements the entry point for ARM machines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
.title "ARM LLB Entry Point"
|
||||
.include "ntoskrnl/include/internal/arm/kxarm.h"
|
||||
.include "ntoskrnl/include/internal/arm/ksarm.h"
|
||||
|
||||
NESTED_ENTRY _start
|
||||
PROLOG_END _start
|
||||
|
||||
#ifdef _OMAP3_
|
||||
/*
|
||||
* On OMAP3, the boot is directly from TI BootROM that reads NAND flash.
|
||||
* First word is size of program to load.
|
||||
* Second word is load address of program. Since DDR is not initialized,
|
||||
* we load to SDRAM at 40200000h. Max 64K.
|
||||
*/
|
||||
.word 0x8000
|
||||
.word 0x40200000
|
||||
#endif
|
||||
|
||||
/* Load C entrypoint and setup LLB stack */
|
||||
ldr lr, L_LlbStartup
|
||||
ldr sp, L_BootStackEnd
|
||||
bx lr
|
||||
ENTRY_END _start
|
||||
|
||||
L_BootStackEnd:
|
||||
.long 0x00010000
|
||||
|
||||
L_LlbStartup:
|
||||
.long LlbStartup
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/crtsupp.c
|
||||
* PURPOSE: CRT Support Code
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
int
|
||||
putchar(int c)
|
||||
{
|
||||
/* Write to the screen */
|
||||
LlbVideoPutChar(c);
|
||||
|
||||
/* For DEBUGGING ONLY */
|
||||
LlbSerialPutChar(c);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int
|
||||
puts(const char* string)
|
||||
{
|
||||
while (*string) putchar(*string++);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int printf(const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
unsigned int i;
|
||||
char printbuffer[1024];
|
||||
|
||||
va_start(args, fmt);
|
||||
i = vsprintf(printbuffer, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
/* Print the string */
|
||||
return puts(printbuffer);
|
||||
}
|
||||
|
||||
VOID
|
||||
DbgPrint(const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
unsigned int i, j;
|
||||
char Buffer[1024];
|
||||
|
||||
va_start(args, fmt);
|
||||
i = vsprintf(Buffer, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
for (j = 0; j < i; j++) LlbSerialPutChar(Buffer[j]);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,149 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/envir.c
|
||||
* PURPOSE: LLB Environment Variable Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
ULONG LlbEnvHwPageSize;
|
||||
ULONG LlbEnvHwMemStart;
|
||||
ULONG LlbEnvHwMemSize;
|
||||
ULONG LlbEnvRamDiskStart;
|
||||
ULONG LlbEnvRamDiskSize;
|
||||
CHAR LlbEnvCmdLine[256];
|
||||
CHAR LlbValueData[32];
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbEnvParseArguments(IN PATAG Arguments)
|
||||
{
|
||||
PATAG Atag;
|
||||
|
||||
/* Parse the ATAGs */
|
||||
Atag = Arguments;
|
||||
while (Atag->Hdr.Size)
|
||||
{
|
||||
/* Check tag type */
|
||||
switch (Atag->Hdr.Tag)
|
||||
{
|
||||
case ATAG_CORE:
|
||||
|
||||
/* Save page size */
|
||||
LlbEnvHwPageSize = Atag->u.Core.PageSize;
|
||||
break;
|
||||
|
||||
case ATAG_MEM:
|
||||
|
||||
/* Save RAM start and size */
|
||||
LlbEnvHwMemStart = Atag->u.Mem.Start;
|
||||
LlbEnvHwMemSize = Atag->u.Mem.Size;
|
||||
break;
|
||||
|
||||
case ATAG_INITRD2:
|
||||
|
||||
/* Save RAMDISK start and size */
|
||||
LlbEnvRamDiskStart = Atag->u.InitRd2.Start;
|
||||
LlbEnvRamDiskSize = Atag->u.InitRd2.Size;
|
||||
|
||||
/* Make sure it's 16MB-aligned */
|
||||
LlbEnvRamDiskSize = (LlbEnvRamDiskSize + (16 * 1024 * 1024) - 1)
|
||||
&~ ((16 * 1024 * 1024) - 1);
|
||||
|
||||
/* The RAMDISK actually starts 16MB later */
|
||||
LlbEnvRamDiskStart += 16 * 1024 * 1024;
|
||||
LlbEnvRamDiskSize -= 16 * 1024 * 1024;
|
||||
break;
|
||||
|
||||
case ATAG_CMDLINE:
|
||||
|
||||
/* Save command line */
|
||||
strncpy(LlbEnvCmdLine,
|
||||
Atag->u.CmdLine.CmdLine,
|
||||
Atag->Hdr.Size * sizeof(ULONG));
|
||||
break;
|
||||
|
||||
/* Nothing left to handle */
|
||||
case ATAG_NONE:
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
/* Next tag */
|
||||
Atag = (PATAG)((PULONG)Atag + Atag->Hdr.Size);
|
||||
}
|
||||
|
||||
/* For debugging */
|
||||
DbgPrint("[BOOTROM] PageSize: %dKB RAM: %dMB CMDLINE: %s\n",
|
||||
LlbEnvHwPageSize / 1024, LlbEnvHwMemSize / 1024 / 1024, LlbEnvCmdLine);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbEnvGetMemoryInformation(IN PULONG Base,
|
||||
IN PULONG Size)
|
||||
{
|
||||
/* Return RAM information */
|
||||
*Base = LlbEnvHwMemStart;
|
||||
*Size = LlbEnvHwMemSize;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbEnvGetRamDiskInformation(IN PULONG Base,
|
||||
IN PULONG Size)
|
||||
{
|
||||
/* Do we have a ramdisk? */
|
||||
if (LlbEnvRamDiskSize == 0)
|
||||
{
|
||||
/* No */
|
||||
*Base = 0;
|
||||
*Size = 0;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Return ramdisk information */
|
||||
*Base = LlbEnvRamDiskStart;
|
||||
*Size = LlbEnvRamDiskSize;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
PCHAR
|
||||
NTAPI
|
||||
LlbEnvRead(IN PCHAR ValueName)
|
||||
{
|
||||
PCHAR ValuePointer;
|
||||
ULONG Length = 0;
|
||||
|
||||
/* Search for the value name */
|
||||
ValuePointer = strstr(LlbEnvCmdLine, ValueName);
|
||||
if (ValuePointer)
|
||||
{
|
||||
/* Get the value data and its length */
|
||||
ValuePointer += strlen(ValueName) + 1;
|
||||
if (strchr(ValuePointer, ','))
|
||||
{
|
||||
/* Stop before next parameter */
|
||||
Length = strchr(ValuePointer, ',') - ValuePointer;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Stop before the string ends */
|
||||
Length = strlen(ValuePointer);
|
||||
}
|
||||
|
||||
/* Copy it */
|
||||
strncpy(LlbValueData, ValuePointer, Length);
|
||||
}
|
||||
|
||||
/* Terminate the data */
|
||||
LlbValueData[Length] = ANSI_NULL;
|
||||
|
||||
/* Return the data */
|
||||
return LlbValueData;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
@@ -0,0 +1,181 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/fw.c
|
||||
* PURPOSE: LLB Firmware Routines (accessible by OS Loader)
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID
|
||||
LlbFwPutChar(INT Ch)
|
||||
{
|
||||
/* Just call directly the video function */
|
||||
LlbVideoPutChar(Ch);
|
||||
|
||||
/* DEBUG ONLY */
|
||||
LlbSerialPutChar(Ch);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
LlbFwKbHit(VOID)
|
||||
{
|
||||
/* Check RX buffer */
|
||||
return LlbHwKbdReady();
|
||||
}
|
||||
|
||||
INT
|
||||
LlbFwGetCh(VOID)
|
||||
{
|
||||
/* Return the key pressed */
|
||||
return LlbKeyboardGetChar();
|
||||
}
|
||||
|
||||
ULONG
|
||||
LlbFwVideoSetDisplayMode(IN PCHAR DisplayModeName,
|
||||
IN BOOLEAN Init)
|
||||
{
|
||||
/* Return text mode */
|
||||
return 0;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoGetDisplaySize(OUT PULONG Width,
|
||||
OUT PULONG Height,
|
||||
OUT PULONG Depth)
|
||||
{
|
||||
/* Query static settings */
|
||||
*Width = LlbHwGetScreenWidth() / 8;
|
||||
*Height = LlbHwGetScreenHeight() / 16;
|
||||
|
||||
/* Depth is always 16 bpp */
|
||||
*Depth = 16;
|
||||
}
|
||||
|
||||
ULONG
|
||||
LlbFwVideoGetBufferSize(VOID)
|
||||
{
|
||||
/* X * Y * BPP */
|
||||
return LlbHwGetScreenWidth() * LlbHwGetScreenHeight() * 2;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoSetTextCursorPosition(IN ULONG X,
|
||||
IN ULONG Y)
|
||||
{
|
||||
printf("%s is UNIMPLEMENTED", __FUNCTION__);
|
||||
while (TRUE);
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoHideShowTextCursor(IN BOOLEAN Show)
|
||||
{
|
||||
/* Nothing to do */
|
||||
return;
|
||||
}
|
||||
|
||||
USHORT ColorPalette[16][3] =
|
||||
{
|
||||
{0x00, 0x00, 0x00},
|
||||
{0x00, 0x00, 0xAA},
|
||||
{0x00, 0xAA, 0x00},
|
||||
{0x00, 0xAA, 0xAA},
|
||||
{0xAA, 0x00, 0x00},
|
||||
{0xAA, 0x00, 0xAA},
|
||||
{0xAA, 0x55, 0x00},
|
||||
{0xAA, 0xAA, 0xAA},
|
||||
{0x55, 0x55, 0x55},
|
||||
{0x55, 0x55, 0xFF},
|
||||
{0x55, 0xFF, 0x55},
|
||||
{0x55, 0xFF, 0xFF},
|
||||
{0xFF, 0x55, 0x55},
|
||||
{0xFF, 0x55, 0xFF},
|
||||
{0xFF, 0xFF, 0x55},
|
||||
{0xFF, 0xFF, 0xFF},
|
||||
};
|
||||
|
||||
VOID
|
||||
LlbFwVideoCopyOffScreenBufferToVRAM(IN PVOID Buffer)
|
||||
{
|
||||
/* No double-buffer is used on ARM */
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoClearScreen(IN UCHAR Attr)
|
||||
{
|
||||
/* Clear the screen */
|
||||
LlbVideoClearScreen(TRUE);
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoPutChar(IN INT c,
|
||||
IN UCHAR Attr,
|
||||
IN ULONG X,
|
||||
IN ULONG Y)
|
||||
{
|
||||
ULONG Color, BackColor;
|
||||
PUSHORT Buffer;
|
||||
|
||||
/* Convert EGA index to color used by hardware */
|
||||
Color = LlbHwVideoCreateColor(ColorPalette[Attr & 0xF][0],
|
||||
ColorPalette[Attr & 0xF][1],
|
||||
ColorPalette[Attr & 0xF][2]);
|
||||
BackColor = LlbHwVideoCreateColor(ColorPalette[Attr >> 4][0],
|
||||
ColorPalette[Attr >> 4][1],
|
||||
ColorPalette[Attr >> 4][2]);
|
||||
|
||||
/* Compute buffer address */
|
||||
Buffer = (PUSHORT)LlbHwGetFrameBuffer() + (LlbHwGetScreenWidth() * (Y * 16)) + (X * 8);
|
||||
|
||||
/* Draw it */
|
||||
LlbVideoDrawChar(c, Buffer, Color, BackColor);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
LlbFwVideoIsPaletteFixed(VOID)
|
||||
{
|
||||
printf("%s is UNIMPLEMENTED", __FUNCTION__);
|
||||
while (TRUE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoSetPaletteColor(IN UCHAR Color,
|
||||
IN UCHAR Red,
|
||||
IN UCHAR Green,
|
||||
IN UCHAR Blue)
|
||||
{
|
||||
printf("%s is UNIMPLEMENTED", __FUNCTION__);
|
||||
while (TRUE);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoGetPaletteColor(IN UCHAR Color,
|
||||
OUT PUCHAR Red,
|
||||
OUT PUCHAR Green,
|
||||
OUT PUCHAR Blue)
|
||||
{
|
||||
printf("%s is UNIMPLEMENTED", __FUNCTION__);
|
||||
while (TRUE);
|
||||
return;
|
||||
}
|
||||
|
||||
VOID
|
||||
LlbFwVideoSync(VOID)
|
||||
{
|
||||
printf("%s is UNIMPLEMENTED", __FUNCTION__);
|
||||
while (TRUE);
|
||||
return;
|
||||
}
|
||||
|
||||
TIMEINFO*
|
||||
LlbFwGetTime(VOID)
|
||||
{
|
||||
/* Call existing function */
|
||||
return LlbGetTime();
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+242
@@ -0,0 +1,242 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/keyboard.c
|
||||
* PURPOSE: LLB Keyboard Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define E0_KPENTER 96
|
||||
#define E0_RCTRL 97
|
||||
#define E0_KPSLASH 98
|
||||
#define E0_PRSCR 99
|
||||
#define E0_RALT 100
|
||||
#define E0_BREAK 101
|
||||
#define E0_HOME 102
|
||||
#define E0_UP 103
|
||||
#define E0_PGUP 104
|
||||
#define E0_LEFT 105
|
||||
#define E0_RIGHT 106
|
||||
#define E0_END 107
|
||||
#define E0_DOWN 108
|
||||
#define E0_PGDN 109
|
||||
#define E0_INS 110
|
||||
#define E0_DEL 111
|
||||
#define E1_PAUSE 119
|
||||
#define E0_MACRO 112
|
||||
#define E0_F13 113
|
||||
#define E0_F14 114
|
||||
#define E0_HELP 115
|
||||
#define E0_DO 116
|
||||
#define E0_F17 117
|
||||
#define E0_KPMINPLUS 118
|
||||
#define E0_OK 124
|
||||
#define E0_MSLW 125
|
||||
#define E0_MSRW 126
|
||||
#define E0_MSTM 127
|
||||
|
||||
/* US 101 KEYBOARD LAYOUT *****************************************************/
|
||||
|
||||
CHAR LlbHwScanCodeToAsciiTable[58][2] =
|
||||
{
|
||||
{ 0,0 } ,
|
||||
{ 27, 27 } ,
|
||||
{ '1','!' } ,
|
||||
{ '2','@' } ,
|
||||
{ '3','#' } ,
|
||||
{ '4','$' } ,
|
||||
{ '5','%' } ,
|
||||
{ '6','^' } ,
|
||||
{ '7','&' } ,
|
||||
{ '8','*' } ,
|
||||
{ '9','(' } ,
|
||||
{ '0',')' } ,
|
||||
{ '-','_' } ,
|
||||
{ '=','+' } ,
|
||||
{ 8,8 } ,
|
||||
{ 9,9 } ,
|
||||
{ 'q','Q' } ,
|
||||
{ 'w','W' } ,
|
||||
{ 'e','E' } ,
|
||||
{ 'r','R' } ,
|
||||
{ 't','T' } ,
|
||||
{ 'y','Y' } ,
|
||||
{ 'u','U' } ,
|
||||
{ 'i','I' } ,
|
||||
{ 'o','O' } ,
|
||||
{ 'p','P' } ,
|
||||
{ '[','{' } ,
|
||||
{ ']','}' } ,
|
||||
{ 13,13 } ,
|
||||
{ 0,0 } ,
|
||||
{ 'a','A' } ,
|
||||
{ 's','S' } ,
|
||||
{ 'd','D' } ,
|
||||
{ 'f','F' } ,
|
||||
{ 'g','G' } ,
|
||||
{ 'h','H' } ,
|
||||
{ 'j','J' } ,
|
||||
{ 'k','K' } ,
|
||||
{ 'l','L' } ,
|
||||
{ ';',':' } ,
|
||||
{ 39,34 } ,
|
||||
{ '`','~' } ,
|
||||
{ 0,0 } ,
|
||||
{ '\\','|'} ,
|
||||
{ 'z','Z' } ,
|
||||
{ 'x','X' } ,
|
||||
{ 'c','C' } ,
|
||||
{ 'v','V' } ,
|
||||
{ 'b','B' } ,
|
||||
{ 'n','N' } ,
|
||||
{ 'm','M' } ,
|
||||
{ ',','<' } ,
|
||||
{ '.','>' } ,
|
||||
{ '/','?' } ,
|
||||
{ 0,0 } ,
|
||||
{ 0,0 } ,
|
||||
{ 0,0 } ,
|
||||
{ ' ',' ' } ,
|
||||
};
|
||||
|
||||
/* EXTENDED KEY TABLE *********************************************************/
|
||||
|
||||
UCHAR LlbHwExtendedScanCodeTable[128] =
|
||||
{
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
E0_KPENTER, E0_RCTRL, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, E0_KPSLASH, 0, E0_PRSCR,
|
||||
E0_RALT, 0, 0, 0,
|
||||
0, E0_F13, E0_F14, E0_HELP,
|
||||
E0_DO, E0_F17, 0, 0,
|
||||
0, 0, E0_BREAK, E0_HOME,
|
||||
E0_UP, E0_PGUP, 0, E0_LEFT,
|
||||
E0_OK, E0_RIGHT, E0_KPMINPLUS, E0_END,
|
||||
E0_DOWN, E0_PGDN, E0_INS, E0_DEL,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, E0_MSLW,
|
||||
E0_MSRW, E0_MSTM, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, E0_MACRO,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0,
|
||||
0, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
USHORT LlbKbdLastScanCode;
|
||||
|
||||
UCHAR
|
||||
NTAPI
|
||||
LlbKbdTranslateScanCode(IN USHORT ScanCode,
|
||||
IN PUCHAR KeyCode)
|
||||
{
|
||||
ULONG LastScanCode;
|
||||
|
||||
/* Check for extended scan codes */
|
||||
if ((ScanCode == 0xE0) || (ScanCode == 0xE1))
|
||||
{
|
||||
/* We'll get these on the next scan */
|
||||
LlbKbdLastScanCode = ScanCode;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Check for bogus scan codes */
|
||||
if ((ScanCode == 0x00) || (ScanCode == 0xFF))
|
||||
{
|
||||
/* Reset */
|
||||
LlbKbdLastScanCode = 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Only act on the break, not the make */
|
||||
if (ScanCode > 0x80) return 0;
|
||||
|
||||
/* Keep only simple scan codes */
|
||||
ScanCode &= 0x7F;
|
||||
|
||||
/* Check if this was part of an extended sequence */
|
||||
if (LlbKbdLastScanCode)
|
||||
{
|
||||
/* Save the last scan code and clear it, since we've consumed it now */
|
||||
LastScanCode = LlbKbdLastScanCode;
|
||||
LlbKbdLastScanCode = 0;
|
||||
switch (LastScanCode)
|
||||
{
|
||||
/* E0 extended codes */
|
||||
case 0xE0:
|
||||
|
||||
/* Skip bogus codes */
|
||||
if ((ScanCode == 0x2A) || (ScanCode == 0x36)) return 0;
|
||||
|
||||
/* Lookup the code for it */
|
||||
if (!LlbHwExtendedScanCodeTable[ScanCode]) return 0;
|
||||
*KeyCode = LlbHwExtendedScanCodeTable[ScanCode];
|
||||
break;
|
||||
|
||||
/* E1 extended codes */
|
||||
case 0xE1:
|
||||
|
||||
/* Only recognize one (the SYSREQ/PAUSE sequence) */
|
||||
if (ScanCode != 0x1D) return 0;
|
||||
LlbKbdLastScanCode = 0x100;
|
||||
break;
|
||||
|
||||
/* PAUSE sequence */
|
||||
case 0x100:
|
||||
|
||||
/* Make sure it's the one */
|
||||
if (ScanCode != 0x45) return 0;
|
||||
*KeyCode = E1_PAUSE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Otherwise, the scancode is the key code */
|
||||
LlbKbdLastScanCode = 0;
|
||||
*KeyCode = ScanCode;
|
||||
}
|
||||
|
||||
/* Translation success */
|
||||
return 1;
|
||||
}
|
||||
|
||||
CHAR
|
||||
NTAPI
|
||||
LlbKeyboardGetChar(VOID)
|
||||
{
|
||||
UCHAR ScanCode, KeyCode;
|
||||
|
||||
do
|
||||
{
|
||||
/* Read the scan code and convert it to a virtual key code */
|
||||
ScanCode = LlbHwKbdRead();
|
||||
} while (!LlbKbdTranslateScanCode(ScanCode, &KeyCode));
|
||||
|
||||
/* Is this ASCII? */
|
||||
if (KeyCode > 96) return ScanCode;
|
||||
|
||||
/* Return the ASCII character */
|
||||
return LlbHwScanCodeToAsciiTable[KeyCode][0];
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+78
@@ -0,0 +1,78 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/omap3/hwinfo.c
|
||||
* PURPOSE: LLB Hardware Info Routines for OMAP3
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenWidth(VOID)
|
||||
{
|
||||
return 1280;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenHeight(VOID)
|
||||
{
|
||||
return 720;
|
||||
}
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
LlbHwGetFrameBuffer(VOID)
|
||||
{
|
||||
return (PVOID)0x80500000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetBoardType(VOID)
|
||||
{
|
||||
return MACH_TYPE_OMAP3_BEAGLE;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetPClk(VOID)
|
||||
{
|
||||
return 48000000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetTmr0Base(VOID)
|
||||
{
|
||||
return 0x48318000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetUartBase(IN ULONG Port)
|
||||
{
|
||||
if (Port == 1)
|
||||
{
|
||||
return 0x4806A000;
|
||||
}
|
||||
else if (Port == 2)
|
||||
{
|
||||
return 0x4806C000;
|
||||
}
|
||||
else if (Port == 3)
|
||||
{
|
||||
return 0x49020000;
|
||||
}
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetSerialUart(VOID)
|
||||
{
|
||||
return 3;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+18
@@ -0,0 +1,18 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/omap3/hwinit.c
|
||||
* PURPOSE: LLB Hardware Initialization Routines for OMAP3
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwInitialize(VOID)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+25
@@ -0,0 +1,25 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/serial.c
|
||||
* PURPOSE: LLB Serial Port Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbSerialPutChar(IN CHAR c)
|
||||
{
|
||||
/* Properly support new-lines */
|
||||
if (c == '\n') LlbSerialPutChar('\r');
|
||||
|
||||
/* Wait for ready */
|
||||
while (!LlbHwUartTxReady());
|
||||
|
||||
/* Send character */
|
||||
LlbHwUartSendChar(c);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+91
@@ -0,0 +1,91 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/time.c
|
||||
* PURPOSE: LLB Time Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define LEAPS_THRU_END_OF(y) ((y)/4 - (y)/100 + (y)/400)
|
||||
|
||||
UCHAR LlbDaysInMonth[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
|
||||
TIMEINFO LlbTime;
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbIsLeapYear(IN ULONG Year)
|
||||
{
|
||||
/* Every 4, 100, or 400 years */
|
||||
return (!(Year % 4) && (Year % 100)) || !(Year % 400);
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbDayOfMonth(IN ULONG Month,
|
||||
IN ULONG Year)
|
||||
{
|
||||
/* Check how many days a month has, accounting for leap yearS */
|
||||
return LlbDaysInMonth[Month] + (LlbIsLeapYear(Year) && Month == 1);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbConvertRtcTime(IN ULONG RtcTime,
|
||||
OUT TIMEINFO* TimeInfo)
|
||||
{
|
||||
ULONG Month, Year, Days, DaysLeft;
|
||||
|
||||
/* Count the days, keep the minutes */
|
||||
Days = RtcTime / 86400;
|
||||
RtcTime -= Days * 86400;
|
||||
|
||||
/* Get the year, based on days since 1970 */
|
||||
Year = 1970 + Days / 365;
|
||||
|
||||
/* Account for leap years which changed the number of days/year */
|
||||
Days -= (Year - 1970) * 365 + LEAPS_THRU_END_OF(Year - 1) - LEAPS_THRU_END_OF(1970 - 1);
|
||||
if (Days < 0)
|
||||
{
|
||||
/* We hit a leap year, so fixup the math */
|
||||
Year--;
|
||||
Days += 365 + LlbIsLeapYear(Year);
|
||||
}
|
||||
|
||||
/* Count months */
|
||||
for (Month = 0; Month < 11; Month++)
|
||||
{
|
||||
/* How many days in this month? */
|
||||
DaysLeft = Days - LlbDayOfMonth(Month, Year);
|
||||
if (DaysLeft < 0) break;
|
||||
|
||||
/* How many days left total? */
|
||||
Days = DaysLeft;
|
||||
}
|
||||
|
||||
/* Write the structure */
|
||||
TimeInfo->Year = Year;
|
||||
TimeInfo->Day = Days + 1;
|
||||
TimeInfo->Month = Month + 1;
|
||||
TimeInfo->Hour = RtcTime / 3600;
|
||||
RtcTime -= TimeInfo->Hour * 3600;
|
||||
TimeInfo->Minute = RtcTime / 60;
|
||||
TimeInfo->Second = RtcTime - TimeInfo->Minute * 60;
|
||||
}
|
||||
|
||||
TIMEINFO*
|
||||
NTAPI
|
||||
LlbGetTime(VOID)
|
||||
{
|
||||
ULONG RtcTime;
|
||||
|
||||
/* Read RTC time */
|
||||
RtcTime = LlbHwRtcRead();
|
||||
|
||||
/* Convert it */
|
||||
LlbConvertRtcTime(RtcTime, &LlbTime);
|
||||
return &LlbTime;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+77
@@ -0,0 +1,77 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/versatile/hwclcd.c
|
||||
* PURPOSE: LLB CLCD Routines for Versatile
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define LCDTIMING0_PPL(x) ((((x) / 16 - 1) & 0x3f) << 2)
|
||||
#define LCDTIMING1_LPP(x) (((x) & 0x3ff) - 1)
|
||||
#define LCDCONTROL_LCDPWR (1 << 11)
|
||||
#define LCDCONTROL_LCDEN (1)
|
||||
#define LCDCONTROL_LCDBPP(x) (((x) & 7) << 1)
|
||||
#define LCDCONTROL_LCDTFT (1 << 5)
|
||||
|
||||
#define PL110_LCDTIMING0 (PVOID)0x10120000
|
||||
#define PL110_LCDTIMING1 (PVOID)0x10120004
|
||||
#define PL110_LCDTIMING2 (PVOID)0x10120008
|
||||
#define PL110_LCDUPBASE (PVOID)0x10120010
|
||||
#define PL110_LCDLPBASE (PVOID)0x10120014
|
||||
#define PL110_LCDCONTROL (PVOID)0x10120018
|
||||
|
||||
PUSHORT LlbHwVideoBuffer;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaClcdInitialize(VOID)
|
||||
{
|
||||
/* Set framebuffer address */
|
||||
WRITE_REGISTER_ULONG(PL110_LCDUPBASE, (ULONG)LlbHwGetFrameBuffer());
|
||||
WRITE_REGISTER_ULONG(PL110_LCDLPBASE, (ULONG)LlbHwGetFrameBuffer());
|
||||
|
||||
/* Initialize timings to 1024x720 */
|
||||
WRITE_REGISTER_ULONG(PL110_LCDTIMING0, LCDTIMING0_PPL(LlbHwGetScreenWidth()));
|
||||
WRITE_REGISTER_ULONG(PL110_LCDTIMING1, LCDTIMING1_LPP(LlbHwGetScreenHeight()));
|
||||
|
||||
/* Enable the TFT/LCD Display */
|
||||
WRITE_REGISTER_ULONG(PL110_LCDCONTROL,
|
||||
LCDCONTROL_LCDEN |
|
||||
LCDCONTROL_LCDTFT |
|
||||
LCDCONTROL_LCDPWR |
|
||||
LCDCONTROL_LCDBPP(4));
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenWidth(VOID)
|
||||
{
|
||||
return 720;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenHeight(VOID)
|
||||
{
|
||||
return 400;
|
||||
}
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
LlbHwGetFrameBuffer(VOID)
|
||||
{
|
||||
return (PVOID)0x000A0000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwVideoCreateColor(IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue)
|
||||
{
|
||||
return (((Blue >> 3) << 11)| ((Green >> 2) << 5)| ((Red >> 3) << 0));
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+109
@@ -0,0 +1,109 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/versatile/hwinfo.c
|
||||
* PURPOSE: LLB Hardware Info Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define PL031_RTC_DR (LlbHwVersaRtcBase + 0x00)
|
||||
static const ULONG LlbHwVersaRtcBase = 0x101E8000;
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetBoardType(VOID)
|
||||
{
|
||||
return MACH_TYPE_VERSATILE_PB;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetPClk(VOID)
|
||||
{
|
||||
return 24000000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetTmr0Base(VOID)
|
||||
{
|
||||
return 0x101E2000;
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetSerialUart(VOID)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
//
|
||||
// Versatile Memory Map
|
||||
//
|
||||
// 0x00000000 - 0x000000FF ARM Vectors [ 1 KB]
|
||||
// 0x00000100 - 0x000001FF ATAG Structures [ 1 KB]
|
||||
// 0x00000200 - 0x0000FFFF ARM STACK [ 62 KB]
|
||||
// 0x00010000 - 0x0001FFFF ARM LLB [ 64 KB]
|
||||
// 0x00020000 - 0x0009FFFF ARM OS LOADER [512 KB]
|
||||
// 0x000A0000 - 0x000FFFFF ARM FRAMEBUFFER [384 KB]
|
||||
// 0x00100000 - 0x007FFFFF OS LOADER FREE/UNUSED [ 7 MB]
|
||||
// 0x00800000 - 0x017FFFFF KERNEL, HAL, INITIAL DRIVER LOAD ADDR [ 16 MB]
|
||||
// 0x01800000 - 0x037FFFFF RAM DISK [ 32 MB]
|
||||
// 0x03800000 - 0x07FFFFFF FREE RAM [ 72 MB]
|
||||
// 0x08000000 - 0x0FFFFFFF FREE RAM IF 256MB DEVICE [128 MB]
|
||||
// 0x10000000 - 0x1FFFFFFF MMIO DEVICES [256 MB]
|
||||
BIOS_MEMORY_MAP LlbHwVersaMemoryMap[] =
|
||||
{
|
||||
{0x00000000, 0x00000100, BiosMemoryReserved, 0},
|
||||
{0x00000100, 0x00000100, BiosMemoryBootStrap, 0},
|
||||
{0x00000200, 0x0000FE00, BiosMemoryBootStrap, 0},
|
||||
{0x00010000, 0x00010000, BiosMemoryBootStrap, 0},
|
||||
{0x00020000, 0x00080000, BiosMemoryBootLoader, 0},
|
||||
{0x000A0000, 0x00060000, BiosMemoryBootLoader, 0},
|
||||
{0x00100000, 0x01700000, BiosMemoryUsable, 0},
|
||||
{0x01800000, 0x02000000, BiosMemoryReserved, 0},
|
||||
{0x10000000, 0x10000000, BiosMemoryReserved, 0},
|
||||
{0, 0, 0, 0}
|
||||
};
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwBuildMemoryMap(IN PBIOS_MEMORY_MAP MemoryMap)
|
||||
{
|
||||
PBIOS_MEMORY_MAP MapEntry;
|
||||
ULONG Base, Size, FsBase, FsSize;
|
||||
|
||||
/* Parse hardware memory map */
|
||||
MapEntry = LlbHwVersaMemoryMap;
|
||||
while (MapEntry->Length)
|
||||
{
|
||||
/* Add this entry */
|
||||
LlbAllocateMemoryEntry(MapEntry->Type, MapEntry->BaseAddress, MapEntry->Length);
|
||||
|
||||
/* Move to the next one */
|
||||
MapEntry++;
|
||||
}
|
||||
|
||||
/* Query memory and RAMDISK information */
|
||||
LlbEnvGetMemoryInformation(&Base, &Size);
|
||||
LlbEnvGetRamDiskInformation(&FsBase, &FsSize);
|
||||
|
||||
/* Add-in the size of the ramdisk */
|
||||
Base = FsBase + FsSize;
|
||||
|
||||
/* Subtract size of ramdisk and anything else before it */
|
||||
Size -= Base;
|
||||
|
||||
/* Allocate an entry for it */
|
||||
LlbAllocateMemoryEntry(BiosMemoryUsable, Base, Size);
|
||||
}
|
||||
|
||||
ULONG
|
||||
LlbHwRtcRead(VOID)
|
||||
{
|
||||
/* Read RTC value */
|
||||
return READ_REGISTER_ULONG(PL031_RTC_DR);
|
||||
}
|
||||
/* EOF */
|
||||
Executable
+54
@@ -0,0 +1,54 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/versatile/hwinit.c
|
||||
* PURPOSE: LLB Hardware Initialization Routines for Versatile
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwInitialize(VOID)
|
||||
{
|
||||
/* Setup the CLCD (PL110) */
|
||||
LlbHwVersaClcdInitialize();
|
||||
|
||||
/* Setup the UART (PL011) */
|
||||
LlbHwVersaUartInitialize();
|
||||
|
||||
/* Setup the KMI (PL050) */
|
||||
LlbHwVersaKmiInitialize();
|
||||
}
|
||||
|
||||
//
|
||||
// Should go to hwdev.c
|
||||
//
|
||||
POSLOADER_INIT
|
||||
NTAPI
|
||||
LlbHwLoadOsLoaderFromRam(VOID)
|
||||
{
|
||||
ULONG Base, RootFs, Size;
|
||||
PCHAR Offset;
|
||||
CHAR CommandLine[64];
|
||||
|
||||
/* On versatile we load the RAMDISK with initrd */
|
||||
LlbEnvGetRamDiskInformation(&RootFs, &Size);
|
||||
|
||||
/* The OS Loader is at 0x20000, always */
|
||||
Base = 0x20000;
|
||||
|
||||
/* Read image offset */
|
||||
Offset = LlbEnvRead("rdoffset");
|
||||
|
||||
/* Set parameters for the OS loader */
|
||||
sprintf(CommandLine, "rdbase=0x%x rdsize=0x%x rdoffset=%s", RootFs, Size, Offset);
|
||||
LlbSetCommandLine(CommandLine);
|
||||
|
||||
/* Return the OS loader base address */
|
||||
return (POSLOADER_INIT)Base;
|
||||
}
|
||||
|
||||
|
||||
/* EOF */
|
||||
Executable
+133
@@ -0,0 +1,133 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/versatile/hwkmi.c
|
||||
* PURPOSE: LLB KMI Support for Versatile
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
//
|
||||
// Control Register Bits
|
||||
//
|
||||
#define KMICR_TYPE (1 << 5)
|
||||
#define KMICR_RXINTREN (1 << 4)
|
||||
#define KMICR_TXINTREN (1 << 3)
|
||||
#define KMICR_EN (1 << 2)
|
||||
#define KMICR_FD (1 << 1)
|
||||
#define KMICR_FC (1 << 0)
|
||||
|
||||
//
|
||||
// Status Register Bits
|
||||
//
|
||||
#define KMISTAT_TXEMPTY (1 << 6)
|
||||
#define KMISTAT_TXBUSY (1 << 5)
|
||||
#define KMISTAT_RXFULL (1 << 4)
|
||||
#define KMISTAT_RXBUSY (1 << 3)
|
||||
#define KMISTAT_RXPARITY (1 << 2)
|
||||
#define KMISTAT_IC (1 << 1)
|
||||
#define KMISTAT_ID (1 << 0)
|
||||
|
||||
//
|
||||
// KMI Registers
|
||||
//
|
||||
#define PL050_KMICR (LlbHwVersaKmiBase + 0x00)
|
||||
#define PL050_KMISTAT (LlbHwVersaKmiBase + 0x04)
|
||||
#define PL050_KMIDATA (LlbHwVersaKmiBase + 0x08)
|
||||
#define PL050_KMICLKDIV (LlbHwVersaKmiBase + 0x0c)
|
||||
static const ULONG LlbHwVersaKmiBase = 0x10006000;
|
||||
|
||||
//
|
||||
// PS/2 Commands/Requests
|
||||
//
|
||||
#define PS2_O_RESET 0xff
|
||||
#define PS2_O_RESEND 0xfe
|
||||
#define PS2_O_DISABLE 0xf5
|
||||
#define PS2_O_ENABLE 0xf4
|
||||
#define PS2_O_ECHO 0xee
|
||||
#define PS2_O_SET_DEFAULT 0xf6
|
||||
#define PS2_O_SET_RATE_DELAY 0xf3
|
||||
#define PS2_O_SET_SCANSET 0xf0
|
||||
#define PS2_O_INDICATORS 0xed
|
||||
#define PS2_I_RESEND 0xfe
|
||||
#define PS2_I_DIAGFAIL 0xfd
|
||||
#define PS2_I_ACK 0xfa
|
||||
#define PS2_I_BREAK 0xf0
|
||||
#define PS2_I_ECHO 0xee
|
||||
#define PS2_I_BAT_OK 0xaa
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaKmiSendAndWait(IN ULONG Value)
|
||||
{
|
||||
volatile int i = 1000;
|
||||
|
||||
/* Send the value */
|
||||
LlbHwKbdSend(Value);
|
||||
|
||||
/* Wait a bit */
|
||||
while (--i);
|
||||
|
||||
/* Now make sure we received an ACK */
|
||||
if (LlbHwKbdRead() != PS2_I_ACK) DbgPrint("PS/2 FAILURE!\n");
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaKmiInitialize(VOID)
|
||||
{
|
||||
UCHAR Divisor;
|
||||
|
||||
/* Setup divisor and enable KMI */
|
||||
Divisor = (LlbHwGetPClk() / 8000000) - 1;
|
||||
WRITE_REGISTER_UCHAR(PL050_KMICLKDIV, Divisor);
|
||||
WRITE_REGISTER_UCHAR(PL050_KMICR, KMICR_EN);
|
||||
|
||||
/* Reset PS/2 controller */
|
||||
LlbHwVersaKmiSendAndWait(PS2_O_RESET);
|
||||
if (LlbHwKbdRead() != PS2_I_BAT_OK) DbgPrint("PS/2 RESET FAILURE!\n");
|
||||
|
||||
/* Send PS/2 Initialization Stream */
|
||||
LlbHwVersaKmiSendAndWait(PS2_O_DISABLE);
|
||||
LlbHwVersaKmiSendAndWait(PS2_O_SET_DEFAULT);
|
||||
LlbHwVersaKmiSendAndWait(PS2_O_SET_SCANSET);
|
||||
LlbHwVersaKmiSendAndWait(1);
|
||||
LlbHwVersaKmiSendAndWait(PS2_O_ENABLE);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwKbdSend(IN ULONG Value)
|
||||
{
|
||||
ULONG Status;
|
||||
|
||||
/* Wait for ready signal */
|
||||
do
|
||||
{
|
||||
/* Read TX buffer state */
|
||||
Status = READ_REGISTER_UCHAR(PL050_KMISTAT);
|
||||
} while (!(Status & KMISTAT_TXEMPTY));
|
||||
|
||||
/* Send value */
|
||||
WRITE_REGISTER_UCHAR(PL050_KMIDATA, Value);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbHwKbdReady(VOID)
|
||||
{
|
||||
return READ_REGISTER_UCHAR(PL050_KMISTAT) & KMISTAT_RXFULL;
|
||||
}
|
||||
|
||||
INT
|
||||
NTAPI
|
||||
LlbHwKbdRead(VOID)
|
||||
{
|
||||
/* Read current data on keyboard */
|
||||
return READ_REGISTER_UCHAR(PL050_KMIDATA);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+115
@@ -0,0 +1,115 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/versatile/hwuart.c
|
||||
* PURPOSE: LLB UART Initialization Routines for Versatile
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
//
|
||||
// UART Registers
|
||||
//
|
||||
#define UART_PL01x_DR (LlbHwVersaUartBase + 0x00)
|
||||
#define UART_PL01x_RSR (LlbHwVersaUartBase + 0x04)
|
||||
#define UART_PL01x_ECR (LlbHwVersaUartBase + 0x04)
|
||||
#define UART_PL01x_FR (LlbHwVersaUartBase + 0x18)
|
||||
#define UART_PL011_IBRD (LlbHwVersaUartBase + 0x24)
|
||||
#define UART_PL011_FBRD (LlbHwVersaUartBase + 0x28)
|
||||
#define UART_PL011_LCRH (LlbHwVersaUartBase + 0x2C)
|
||||
#define UART_PL011_CR (LlbHwVersaUartBase + 0x30)
|
||||
#define UART_PL011_IMSC (LlbHwVersaUartBase + 0x38)
|
||||
|
||||
//
|
||||
// LCR Values
|
||||
//
|
||||
#define UART_PL011_LCRH_WLEN_8 0x60
|
||||
#define UART_PL011_LCRH_FEN 0x10
|
||||
|
||||
//
|
||||
// FCR Values
|
||||
//
|
||||
#define UART_PL011_CR_UARTEN 0x01
|
||||
#define UART_PL011_CR_TXE 0x100
|
||||
#define UART_PL011_CR_RXE 0x200
|
||||
|
||||
//
|
||||
// LSR Values
|
||||
//
|
||||
#define UART_PL01x_FR_RXFE 0x10
|
||||
#define UART_PL01x_FR_TXFF 0x20
|
||||
|
||||
static const ULONG LlbHwVersaUartBase = 0x101F1000;
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaUartInitialize(VOID)
|
||||
{
|
||||
ULONG Divider, Remainder, Fraction, ClockRate, Baudrate;
|
||||
|
||||
/* Query peripheral rate, hardcore baudrate */
|
||||
ClockRate = LlbHwGetPClk();
|
||||
Baudrate = 115200;
|
||||
|
||||
/* Calculate baudrate clock divider and remainder */
|
||||
Divider = ClockRate / (16 * Baudrate);
|
||||
Remainder = ClockRate % (16 * Baudrate);
|
||||
|
||||
/* Calculate the fractional part */
|
||||
Fraction = (8 * Remainder / Baudrate) >> 1;
|
||||
Fraction += (8 * Remainder / Baudrate) & 1;
|
||||
|
||||
/* Disable interrupts */
|
||||
WRITE_REGISTER_ULONG(UART_PL011_CR, 0);
|
||||
|
||||
/* Set the baud rate to 115200 bps */
|
||||
WRITE_REGISTER_ULONG(UART_PL011_IBRD, Divider);
|
||||
WRITE_REGISTER_ULONG(UART_PL011_FBRD, Fraction);
|
||||
|
||||
/* Set 8 bits for data, 1 stop bit, no parity, FIFO enabled */
|
||||
WRITE_REGISTER_ULONG(UART_PL011_LCRH,
|
||||
UART_PL011_LCRH_WLEN_8 | UART_PL011_LCRH_FEN);
|
||||
|
||||
/* Clear and enable FIFO */
|
||||
WRITE_REGISTER_ULONG(UART_PL011_CR,
|
||||
UART_PL011_CR_UARTEN |
|
||||
UART_PL011_CR_TXE |
|
||||
UART_PL011_CR_RXE);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwUartSendChar(IN CHAR Char)
|
||||
{
|
||||
/* Send the character */
|
||||
WRITE_REGISTER_ULONG(UART_PL01x_DR, Char);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbHwUartTxReady(VOID)
|
||||
{
|
||||
/* TX output buffer is ready? */
|
||||
return ((READ_REGISTER_ULONG(UART_PL01x_FR) & UART_PL01x_FR_TXFF) == 0);
|
||||
}
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetUartBase(IN ULONG Port)
|
||||
{
|
||||
if (Port == 0)
|
||||
{
|
||||
return 0x101F1000;
|
||||
}
|
||||
else if (Port == 1)
|
||||
{
|
||||
return 0x101F2000;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,380 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/hw/video.c
|
||||
* PURPOSE: LLB Video Output Routines
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define FONT_HEIGHT 16
|
||||
|
||||
CHAR LlbHwBootFont[] =
|
||||
{
|
||||
0x00,0x00,0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00, /* 0x00 */
|
||||
0x00,0x00,0x7e,0x81,0xa5,0x81,0x81,0xa5,0x99,0x81,0x81,0x7e,0x00,0x00,0x00,0x00, /* 0x01 */
|
||||
0x00,0x00,0x7e,0xff,0xdb,0xff,0xff,0xdb,0xe7,0xff,0xff,0x7e,0x00,0x00,0x00,0x00, /* 0x02 */
|
||||
0x00,0x00,0x00,0x00,0x6c,0xfe,0xfe,0xfe,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00, /* 0x03 */
|
||||
0x00,0x00,0x00,0x00,0x10,0x38,0x7c,0xfe,0x7c,0x38,0x10,0x00,0x00,0x00,0x00,0x00, /* 0x04 */
|
||||
0x00,0x00,0x00,0x18,0x3c,0x3c,0xe7,0xe7,0xe7,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0x05 */
|
||||
0x00,0x00,0x00,0x18,0x3c,0x7e,0xff,0xff,0x7e,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0x06 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00,0x00,0x00, /* 0x07 */
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xc3,0xc3,0xe7,0xff,0xff,0xff,0xff,0xff,0xff, /* 0x08 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x3c,0x66,0x42,0x42,0x66,0x3c,0x00,0x00,0x00,0x00,0x00, /* 0x09 */
|
||||
0xff,0xff,0xff,0xff,0xff,0xc3,0x99,0xbd,0xbd,0x99,0xc3,0xff,0xff,0xff,0xff,0xff, /* 0x0a */
|
||||
0x00,0x00,0x1e,0x06,0x0e,0x1a,0x78,0xcc,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00, /* 0x0b */
|
||||
0x00,0x00,0x3c,0x66,0x66,0x66,0x66,0x3c,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00, /* 0x0c */
|
||||
0x00,0x00,0x3f,0x33,0x3f,0x30,0x30,0x30,0x30,0x70,0xf0,0xe0,0x00,0x00,0x00,0x00, /* 0x0d */
|
||||
0x00,0x00,0x7f,0x63,0x7f,0x63,0x63,0x63,0x63,0x67,0xe7,0xe6,0xc0,0x00,0x00,0x00, /* 0x0e */
|
||||
0x00,0x00,0x00,0x18,0x18,0xdb,0x3c,0xe7,0x3c,0xdb,0x18,0x18,0x00,0x00,0x00,0x00, /* 0x0f */
|
||||
0x00,0x80,0xc0,0xe0,0xf0,0xf8,0xfe,0xf8,0xf0,0xe0,0xc0,0x80,0x00,0x00,0x00,0x00, /* 0x10 */
|
||||
0x00,0x02,0x06,0x0e,0x1e,0x3e,0xfe,0x3e,0x1e,0x0e,0x06,0x02,0x00,0x00,0x00,0x00, /* 0x11 */
|
||||
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00,0x00, /* 0x12 */
|
||||
0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x66,0x66,0x00,0x00,0x00,0x00, /* 0x13 */
|
||||
0x00,0x00,0x7f,0xdb,0xdb,0xdb,0x7b,0x1b,0x1b,0x1b,0x1b,0x1b,0x00,0x00,0x00,0x00, /* 0x14 */
|
||||
0x00,0x7c,0xc6,0x60,0x38,0x6c,0xc6,0xc6,0x6c,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00, /* 0x15 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xfe,0xfe,0xfe,0x00,0x00,0x00,0x00, /* 0x16 */
|
||||
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x7e,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00, /* 0x17 */
|
||||
0x00,0x00,0x18,0x3c,0x7e,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00, /* 0x18 */
|
||||
0x00,0x00,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x3c,0x18,0x00,0x00,0x00,0x00, /* 0x19 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x18,0x0c,0xfe,0x0c,0x18,0x00,0x00,0x00,0x00,0x00,0x00, /* 0x1a */
|
||||
0x00,0x00,0x00,0x00,0x00,0x30,0x60,0xfe,0x60,0x30,0x00,0x00,0x00,0x00,0x00,0x00, /* 0x1b */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xc0,0xc0,0xc0,0xfe,0x00,0x00,0x00,0x00,0x00,0x00, /* 0x1c */
|
||||
0x00,0x00,0x00,0x00,0x00,0x28,0x6c,0xfe,0x6c,0x28,0x00,0x00,0x00,0x00,0x00,0x00, /* 0x1d */
|
||||
0x00,0x00,0x00,0x00,0x10,0x38,0x38,0x7c,0x7c,0xfe,0xfe,0x00,0x00,0x00,0x00,0x00, /* 0x1e */
|
||||
0x00,0x00,0x00,0x00,0xfe,0xfe,0x7c,0x7c,0x38,0x38,0x10,0x00,0x00,0x00,0x00,0x00, /* 0x1f */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* */
|
||||
0x00,0x00,0x18,0x3c,0x3c,0x3c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00, /* ! */
|
||||
0x00,0x66,0x66,0x66,0x24,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* " */
|
||||
0x00,0x00,0x00,0x6c,0x6c,0xfe,0x6c,0x6c,0x6c,0xfe,0x6c,0x6c,0x00,0x00,0x00,0x00, /* # */
|
||||
0x18,0x18,0x7c,0xc6,0xc2,0xc0,0x7c,0x06,0x06,0x86,0xc6,0x7c,0x18,0x18,0x00,0x00, /* $ */
|
||||
0x00,0x00,0x00,0x00,0xc2,0xc6,0x0c,0x18,0x30,0x60,0xc6,0x86,0x00,0x00,0x00,0x00, /* % */
|
||||
0x00,0x00,0x38,0x6c,0x6c,0x38,0x76,0xdc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* & */
|
||||
0x00,0x30,0x30,0x30,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ' */
|
||||
0x00,0x00,0x0c,0x18,0x30,0x30,0x30,0x30,0x30,0x30,0x18,0x0c,0x00,0x00,0x00,0x00, /* ( */
|
||||
0x00,0x00,0x30,0x18,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x18,0x30,0x00,0x00,0x00,0x00, /* ) */
|
||||
0x00,0x00,0x00,0x00,0x00,0x66,0x3c,0xff,0x3c,0x66,0x00,0x00,0x00,0x00,0x00,0x00, /* * */
|
||||
0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00, /* + */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x18,0x30,0x00,0x00,0x00, /* , */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00, /* . */
|
||||
0x00,0x00,0x00,0x00,0x02,0x06,0x0c,0x18,0x30,0x60,0xc0,0x80,0x00,0x00,0x00,0x00, /* / */
|
||||
0x00,0x00,0x38,0x6c,0xc6,0xc6,0xd6,0xd6,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00, /* 0 */
|
||||
0x00,0x00,0x18,0x38,0x78,0x18,0x18,0x18,0x18,0x18,0x18,0x7e,0x00,0x00,0x00,0x00, /* 1 */
|
||||
0x00,0x00,0x7c,0xc6,0x06,0x0c,0x18,0x30,0x60,0xc0,0xc6,0xfe,0x00,0x00,0x00,0x00, /* 2 */
|
||||
0x00,0x00,0x7c,0xc6,0x06,0x06,0x3c,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 3 */
|
||||
0x00,0x00,0x0c,0x1c,0x3c,0x6c,0xcc,0xfe,0x0c,0x0c,0x0c,0x1e,0x00,0x00,0x00,0x00, /* 4 */
|
||||
0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xfc,0x06,0x06,0x06,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 5 */
|
||||
0x00,0x00,0x38,0x60,0xc0,0xc0,0xfc,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 6 */
|
||||
0x00,0x00,0xfe,0xc6,0x06,0x06,0x0c,0x18,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0x00, /* 7 */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7c,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 8 */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0x7e,0x06,0x06,0x06,0x0c,0x78,0x00,0x00,0x00,0x00, /* 9 */
|
||||
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00, /* : */
|
||||
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x18,0x18,0x30,0x00,0x00,0x00,0x00, /* ; */
|
||||
0x00,0x00,0x00,0x06,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x06,0x00,0x00,0x00,0x00, /* < */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* = */
|
||||
0x00,0x00,0x00,0x60,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x60,0x00,0x00,0x00,0x00, /* > */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0x0c,0x18,0x18,0x18,0x00,0x18,0x18,0x00,0x00,0x00,0x00, /* ? */
|
||||
0x00,0x00,0x00,0x7c,0xc6,0xc6,0xde,0xde,0xde,0xdc,0xc0,0x7c,0x00,0x00,0x00,0x00, /* @ */
|
||||
0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* A */
|
||||
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x66,0x66,0x66,0x66,0xfc,0x00,0x00,0x00,0x00, /* B */
|
||||
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x00,0x00,0x00,0x00, /* C */
|
||||
0x00,0x00,0xf8,0x6c,0x66,0x66,0x66,0x66,0x66,0x66,0x6c,0xf8,0x00,0x00,0x00,0x00, /* D */
|
||||
0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00, /* E */
|
||||
0x00,0x00,0xfe,0x66,0x62,0x68,0x78,0x68,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00, /* F */
|
||||
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xde,0xc6,0xc6,0x66,0x3a,0x00,0x00,0x00,0x00, /* G */
|
||||
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* H */
|
||||
0x00,0x00,0x3c,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* I */
|
||||
0x00,0x00,0x1e,0x0c,0x0c,0x0c,0x0c,0x0c,0xcc,0xcc,0xcc,0x78,0x00,0x00,0x00,0x00, /* J */
|
||||
0x00,0x00,0xe6,0x66,0x66,0x6c,0x78,0x78,0x6c,0x66,0x66,0xe6,0x00,0x00,0x00,0x00, /* K */
|
||||
0x00,0x00,0xf0,0x60,0x60,0x60,0x60,0x60,0x60,0x62,0x66,0xfe,0x00,0x00,0x00,0x00, /* L */
|
||||
0x00,0x00,0xc6,0xee,0xfe,0xfe,0xd6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* M */
|
||||
0x00,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* N */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* O */
|
||||
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00, /* P */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xd6,0xde,0x7c,0x0c,0x0e,0x00,0x00, /* Q */
|
||||
0x00,0x00,0xfc,0x66,0x66,0x66,0x7c,0x6c,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00, /* R */
|
||||
0x00,0x00,0x7c,0xc6,0xc6,0x60,0x38,0x0c,0x06,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* S */
|
||||
0x00,0x00,0x7e,0x7e,0x5a,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* T */
|
||||
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* U */
|
||||
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x6c,0x38,0x10,0x00,0x00,0x00,0x00, /* V */
|
||||
0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xd6,0xd6,0xd6,0xfe,0xee,0x6c,0x00,0x00,0x00,0x00, /* W */
|
||||
0x00,0x00,0xc6,0xc6,0x6c,0x7c,0x38,0x38,0x7c,0x6c,0xc6,0xc6,0x00,0x00,0x00,0x00, /* X */
|
||||
0x00,0x00,0x66,0x66,0x66,0x66,0x3c,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* Y */
|
||||
0x00,0x00,0xfe,0xc6,0x86,0x0c,0x18,0x30,0x60,0xc2,0xc6,0xfe,0x00,0x00,0x00,0x00, /* Z */
|
||||
0x00,0x00,0x3c,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x3c,0x00,0x00,0x00,0x00, /* [ */
|
||||
0x00,0x00,0x00,0x80,0xc0,0xe0,0x70,0x38,0x1c,0x0e,0x06,0x02,0x00,0x00,0x00,0x00, /* \ */
|
||||
0x00,0x00,0x3c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x0c,0x3c,0x00,0x00,0x00,0x00, /* ] */
|
||||
0x10,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ^ */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00, /* _ */
|
||||
0x30,0x30,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ` */
|
||||
0x00,0x00,0x00,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* a */
|
||||
0x00,0x00,0xe0,0x60,0x60,0x78,0x6c,0x66,0x66,0x66,0x66,0x7c,0x00,0x00,0x00,0x00, /* b */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc0,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* c */
|
||||
0x00,0x00,0x1c,0x0c,0x0c,0x3c,0x6c,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* d */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* e */
|
||||
0x00,0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00, /* f */
|
||||
0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0xcc,0x78,0x00, /* g */
|
||||
0x00,0x00,0xe0,0x60,0x60,0x6c,0x76,0x66,0x66,0x66,0x66,0xe6,0x00,0x00,0x00,0x00, /* h */
|
||||
0x00,0x00,0x18,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* i */
|
||||
0x00,0x00,0x06,0x06,0x00,0x0e,0x06,0x06,0x06,0x06,0x06,0x06,0x66,0x66,0x3c,0x00, /* j */
|
||||
0x00,0x00,0xe0,0x60,0x60,0x66,0x6c,0x78,0x78,0x6c,0x66,0xe6,0x00,0x00,0x00,0x00, /* k */
|
||||
0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* l */
|
||||
0x00,0x00,0x00,0x00,0x00,0xec,0xfe,0xd6,0xd6,0xd6,0xd6,0xc6,0x00,0x00,0x00,0x00, /* m */
|
||||
0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00, /* n */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* o */
|
||||
0x00,0x00,0x00,0x00,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xf0,0x00, /* p */
|
||||
0x00,0x00,0x00,0x00,0x00,0x76,0xcc,0xcc,0xcc,0xcc,0xcc,0x7c,0x0c,0x0c,0x1e,0x00, /* q */
|
||||
0x00,0x00,0x00,0x00,0x00,0xdc,0x76,0x66,0x60,0x60,0x60,0xf0,0x00,0x00,0x00,0x00, /* r */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7c,0xc6,0x60,0x38,0x0c,0xc6,0x7c,0x00,0x00,0x00,0x00, /* s */
|
||||
0x00,0x00,0x10,0x30,0x30,0xfc,0x30,0x30,0x30,0x30,0x36,0x1c,0x00,0x00,0x00,0x00, /* t */
|
||||
0x00,0x00,0x00,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* u */
|
||||
0x00,0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x3c,0x18,0x00,0x00,0x00,0x00, /* v */
|
||||
0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xd6,0xd6,0xd6,0xfe,0x6c,0x00,0x00,0x00,0x00, /* w */
|
||||
0x00,0x00,0x00,0x00,0x00,0xc6,0x6c,0x38,0x38,0x38,0x6c,0xc6,0x00,0x00,0x00,0x00, /* x */
|
||||
0x00,0x00,0x00,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0xf8,0x00, /* y */
|
||||
0x00,0x00,0x00,0x00,0x00,0xfe,0xcc,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00, /* z */
|
||||
0x00,0x00,0x0e,0x18,0x18,0x18,0x70,0x18,0x18,0x18,0x18,0x0e,0x00,0x00,0x00,0x00, /* { */
|
||||
0x00,0x00,0x18,0x18,0x18,0x18,0x00,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00, /* | */
|
||||
0x00,0x00,0x70,0x18,0x18,0x18,0x0e,0x18,0x18,0x18,0x18,0x70,0x00,0x00,0x00,0x00, /* } */
|
||||
0x00,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ~ */
|
||||
0x00,0x00,0x00,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xc6,0xfe,0x00,0x00,0x00,0x00,0x00, /* 0x7f */
|
||||
0x00,0x00,0x3c,0x66,0xc2,0xc0,0xc0,0xc0,0xc2,0x66,0x3c,0x0c,0x06,0x7c,0x00,0x00, /* 0x80 */
|
||||
0x00,0x00,0xcc,0x00,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x81 */
|
||||
0x00,0x0c,0x18,0x30,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x82 */
|
||||
0x00,0x10,0x38,0x6c,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x83 */
|
||||
0x00,0x00,0xcc,0x00,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x84 */
|
||||
0x00,0x60,0x30,0x18,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x85 */
|
||||
0x00,0x38,0x6c,0x38,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x86 */
|
||||
0x00,0x00,0x00,0x00,0x3c,0x66,0x60,0x60,0x66,0x3c,0x0c,0x06,0x3c,0x00,0x00,0x00, /* 0x87 */
|
||||
0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x88 */
|
||||
0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x89 */
|
||||
0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xfe,0xc0,0xc0,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x8a */
|
||||
0x00,0x00,0x66,0x00,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0x8b */
|
||||
0x00,0x18,0x3c,0x66,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0x8c */
|
||||
0x00,0x60,0x30,0x18,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0x8d */
|
||||
0x00,0xc6,0x00,0x10,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* 0x8e */
|
||||
0x38,0x6c,0x38,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* 0x8f */
|
||||
0x18,0x30,0x60,0x00,0xfe,0x66,0x60,0x7c,0x60,0x60,0x66,0xfe,0x00,0x00,0x00,0x00, /* 0x90 */
|
||||
0x00,0x00,0x00,0x00,0x00,0xcc,0x76,0x36,0x7e,0xd8,0xd8,0x6e,0x00,0x00,0x00,0x00, /* 0x91 */
|
||||
0x00,0x00,0x3e,0x6c,0xcc,0xcc,0xfe,0xcc,0xcc,0xcc,0xcc,0xce,0x00,0x00,0x00,0x00, /* 0x92 */
|
||||
0x00,0x10,0x38,0x6c,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x93 */
|
||||
0x00,0x00,0xc6,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x94 */
|
||||
0x00,0x60,0x30,0x18,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x95 */
|
||||
0x00,0x30,0x78,0xcc,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x96 */
|
||||
0x00,0x60,0x30,0x18,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0x97 */
|
||||
0x00,0x00,0xc6,0x00,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7e,0x06,0x0c,0x78,0x00, /* 0x98 */
|
||||
0x00,0xc6,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x99 */
|
||||
0x00,0xc6,0x00,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0x9a */
|
||||
0x00,0x18,0x18,0x3c,0x66,0x60,0x60,0x60,0x66,0x3c,0x18,0x18,0x00,0x00,0x00,0x00, /* 0x9b */
|
||||
0x00,0x38,0x6c,0x64,0x60,0xf0,0x60,0x60,0x60,0x60,0xe6,0xfc,0x00,0x00,0x00,0x00, /* 0x9c */
|
||||
0x00,0x00,0x66,0x66,0x3c,0x18,0x7e,0x18,0x7e,0x18,0x18,0x18,0x00,0x00,0x00,0x00, /* 0x9d */
|
||||
0x00,0xf8,0xcc,0xcc,0xf8,0xc4,0xcc,0xde,0xcc,0xcc,0xcc,0xc6,0x00,0x00,0x00,0x00, /* 0x9e */
|
||||
0x00,0x0e,0x1b,0x18,0x18,0x18,0x7e,0x18,0x18,0x18,0x18,0x18,0xd8,0x70,0x00,0x00, /* 0x9f */
|
||||
0x00,0x18,0x30,0x60,0x00,0x78,0x0c,0x7c,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0xa0 */
|
||||
0x00,0x0c,0x18,0x30,0x00,0x38,0x18,0x18,0x18,0x18,0x18,0x3c,0x00,0x00,0x00,0x00, /* 0xa1 */
|
||||
0x00,0x18,0x30,0x60,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0xa2 */
|
||||
0x00,0x18,0x30,0x60,0x00,0xcc,0xcc,0xcc,0xcc,0xcc,0xcc,0x76,0x00,0x00,0x00,0x00, /* 0xa3 */
|
||||
0x00,0x00,0x76,0xdc,0x00,0xdc,0x66,0x66,0x66,0x66,0x66,0x66,0x00,0x00,0x00,0x00, /* 0xa4 */
|
||||
0x76,0xdc,0x00,0xc6,0xe6,0xf6,0xfe,0xde,0xce,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* 0xa5 */
|
||||
0x00,0x3c,0x6c,0x6c,0x3e,0x00,0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xa6 */
|
||||
0x00,0x38,0x6c,0x6c,0x38,0x00,0x7c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xa7 */
|
||||
0x00,0x00,0x30,0x30,0x00,0x30,0x30,0x60,0xc0,0xc6,0xc6,0x7c,0x00,0x00,0x00,0x00, /* 0xa8 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00,0x00, /* 0xa9 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00, /* 0xaa */
|
||||
0x00,0xc0,0xc0,0xc2,0xc6,0xcc,0x18,0x30,0x60,0xdc,0x86,0x0c,0x18,0x3e,0x00,0x00, /* 0xab */
|
||||
0x00,0xc0,0xc0,0xc2,0xc6,0xcc,0x18,0x30,0x66,0xce,0x9e,0x3e,0x06,0x06,0x00,0x00, /* 0xac */
|
||||
0x00,0x00,0x18,0x18,0x00,0x18,0x18,0x18,0x3c,0x3c,0x3c,0x18,0x00,0x00,0x00,0x00, /* 0xad */
|
||||
0x00,0x00,0x00,0x00,0x00,0x36,0x6c,0xd8,0x6c,0x36,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xae */
|
||||
0x00,0x00,0x00,0x00,0x00,0xd8,0x6c,0x36,0x6c,0xd8,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xaf */
|
||||
0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44,0x11,0x44, /* 0xb0 */
|
||||
0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa,0x55,0xaa, /* 0xb1 */
|
||||
0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77,0xdd,0x77, /* 0xb2 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xb3 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xb4 */
|
||||
0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xb5 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xb6 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xfe,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xb7 */
|
||||
0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xb8 */
|
||||
0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xb9 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xba */
|
||||
0x00,0x00,0x00,0x00,0x00,0xfe,0x06,0xf6,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xbb */
|
||||
0x36,0x36,0x36,0x36,0x36,0xf6,0x06,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xbc */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xfe,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xbd */
|
||||
0x18,0x18,0x18,0x18,0x18,0xf8,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xbe */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xf8,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xbf */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xc0 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xc1 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xc2 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xc3 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xc4 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xc5 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xc6 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xc7 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xc8 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x3f,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xc9 */
|
||||
0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xca */
|
||||
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xcb */
|
||||
0x36,0x36,0x36,0x36,0x36,0x37,0x30,0x37,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xcc */
|
||||
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xcd */
|
||||
0x36,0x36,0x36,0x36,0x36,0xf7,0x00,0xf7,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xce */
|
||||
0x18,0x18,0x18,0x18,0x18,0xff,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xcf */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xd0 */
|
||||
0x00,0x00,0x00,0x00,0x00,0xff,0x00,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xd1 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xd2 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xd3 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x1f,0x18,0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xd4 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xd5 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3f,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xd6 */
|
||||
0x36,0x36,0x36,0x36,0x36,0x36,0x36,0xff,0x36,0x36,0x36,0x36,0x36,0x36,0x36,0x36, /* 0xd7 */
|
||||
0x18,0x18,0x18,0x18,0x18,0xff,0x18,0xff,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xd8 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xd9 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1f,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xda */
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, /* 0xdb */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff, /* 0xdc */
|
||||
0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0,0xf0, /* 0xdd */
|
||||
0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f,0x0f, /* 0xde */
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xdf */
|
||||
0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0xd8,0xd8,0xd8,0xdc,0x76,0x00,0x00,0x00,0x00, /* 0xe0 */
|
||||
0x00,0x00,0x78,0xcc,0xcc,0xcc,0xd8,0xcc,0xc6,0xc6,0xc6,0xcc,0x00,0x00,0x00,0x00, /* 0xe1 */
|
||||
0x00,0x00,0xfe,0xc6,0xc6,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0xc0,0x00,0x00,0x00,0x00, /* 0xe2 */
|
||||
0x00,0x00,0x00,0x00,0xfe,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00, /* 0xe3 */
|
||||
0x00,0x00,0x00,0xfe,0xc6,0x60,0x30,0x18,0x30,0x60,0xc6,0xfe,0x00,0x00,0x00,0x00, /* 0xe4 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7e,0xd8,0xd8,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00,0x00, /* 0xe5 */
|
||||
0x00,0x00,0x00,0x00,0x66,0x66,0x66,0x66,0x66,0x7c,0x60,0x60,0xc0,0x00,0x00,0x00, /* 0xe6 */
|
||||
0x00,0x00,0x00,0x00,0x76,0xdc,0x18,0x18,0x18,0x18,0x18,0x18,0x00,0x00,0x00,0x00, /* 0xe7 */
|
||||
0x00,0x00,0x00,0x7e,0x18,0x3c,0x66,0x66,0x66,0x3c,0x18,0x7e,0x00,0x00,0x00,0x00, /* 0xe8 */
|
||||
0x00,0x00,0x00,0x38,0x6c,0xc6,0xc6,0xfe,0xc6,0xc6,0x6c,0x38,0x00,0x00,0x00,0x00, /* 0xe9 */
|
||||
0x00,0x00,0x38,0x6c,0xc6,0xc6,0xc6,0x6c,0x6c,0x6c,0x6c,0xee,0x00,0x00,0x00,0x00, /* 0xea */
|
||||
0x00,0x00,0x1e,0x30,0x18,0x0c,0x3e,0x66,0x66,0x66,0x66,0x3c,0x00,0x00,0x00,0x00, /* 0xeb */
|
||||
0x00,0x00,0x00,0x00,0x00,0x7e,0xdb,0xdb,0xdb,0x7e,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xec */
|
||||
0x00,0x00,0x00,0x03,0x06,0x7e,0xdb,0xdb,0xf3,0x7e,0x60,0xc0,0x00,0x00,0x00,0x00, /* 0xed */
|
||||
0x00,0x00,0x1c,0x30,0x60,0x60,0x7c,0x60,0x60,0x60,0x30,0x1c,0x00,0x00,0x00,0x00, /* 0xee */
|
||||
0x00,0x00,0x00,0x7c,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0xc6,0x00,0x00,0x00,0x00, /* 0xef */
|
||||
0x00,0x00,0x00,0x00,0xfe,0x00,0x00,0xfe,0x00,0x00,0xfe,0x00,0x00,0x00,0x00,0x00, /* 0xf0 */
|
||||
0x00,0x00,0x00,0x00,0x18,0x18,0x7e,0x18,0x18,0x00,0x00,0xff,0x00,0x00,0x00,0x00, /* 0xf1 */
|
||||
0x00,0x00,0x00,0x30,0x18,0x0c,0x06,0x0c,0x18,0x30,0x00,0x7e,0x00,0x00,0x00,0x00, /* 0xf2 */
|
||||
0x00,0x00,0x00,0x0c,0x18,0x30,0x60,0x30,0x18,0x0c,0x00,0x7e,0x00,0x00,0x00,0x00, /* 0xf3 */
|
||||
0x00,0x00,0x0e,0x1b,0x1b,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 0xf4 */
|
||||
0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0xd8,0xd8,0xd8,0x70,0x00,0x00,0x00,0x00, /* 0xf5 */
|
||||
0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x7e,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00, /* 0xf6 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x76,0xdc,0x00,0x76,0xdc,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xf7 */
|
||||
0x00,0x38,0x6c,0x6c,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xf8 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xf9 */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xfa */
|
||||
0x00,0x0f,0x0c,0x0c,0x0c,0x0c,0x0c,0xec,0x6c,0x6c,0x3c,0x1c,0x00,0x00,0x00,0x00, /* 0xfb */
|
||||
0x00,0xd8,0x6c,0x6c,0x6c,0x6c,0x6c,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xfc */
|
||||
0x00,0x70,0xd8,0x30,0x60,0xc8,0xf8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0xfd */
|
||||
0x00,0x00,0x00,0x00,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x7c,0x00,0x00,0x00,0x00,0x00, /* 0xfe */
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 /* 0xff */
|
||||
};
|
||||
|
||||
ULONG ScreenCursor;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoDrawChar(IN CHAR c,
|
||||
IN PUSHORT Buffer,
|
||||
IN USHORT Color,
|
||||
IN USHORT BackColor)
|
||||
{
|
||||
PCHAR Pixels;
|
||||
CHAR Line;
|
||||
ULONG y, ScreenWidth;
|
||||
LONG x;
|
||||
|
||||
/* Get screen width */
|
||||
ScreenWidth = LlbHwGetScreenWidth();
|
||||
Pixels = LlbHwBootFont + c * FONT_HEIGHT;
|
||||
|
||||
/* Loop y pixels */
|
||||
for (y = 0; y < FONT_HEIGHT; y++)
|
||||
{
|
||||
/* Loop x pixels */
|
||||
Line = *Pixels++;
|
||||
for (x = 7; x >= 0; x--)
|
||||
{
|
||||
/* Draw either a character or background pixel */
|
||||
Buffer[x] = (Line & 1) ? Color : BackColor;
|
||||
Line >>= 1;
|
||||
}
|
||||
|
||||
/* Next line */
|
||||
Buffer += ScreenWidth;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoClearScreen(IN BOOLEAN OsLoader)
|
||||
{
|
||||
ULONG ScreenSize, p;
|
||||
ULONG BackColor;
|
||||
PUSHORT VideoBuffer;
|
||||
|
||||
/* Get frame buffer and reset cursor position */
|
||||
VideoBuffer = LlbHwGetFrameBuffer();
|
||||
ScreenCursor = 0;
|
||||
|
||||
/* Backcolor on this machine */
|
||||
if (OsLoader)
|
||||
{
|
||||
/* Black */
|
||||
BackColor = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Deep blue */
|
||||
BackColor = LlbHwVideoCreateColor(14, 0, 82);
|
||||
BackColor = (BackColor << 16) | BackColor;
|
||||
}
|
||||
|
||||
/* Screen size on this machine */
|
||||
ScreenSize = LlbHwGetScreenWidth() * LlbHwGetScreenHeight();
|
||||
|
||||
/* Clear the screen with the given color */
|
||||
for (p = 0; p < ScreenSize * 2; p += 4)
|
||||
{
|
||||
*(PULONG)((PCHAR)VideoBuffer + p) = BackColor;
|
||||
}
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoPutChar(IN CHAR c)
|
||||
{
|
||||
ULONG cx, cy, CharsPerLine, BackColor, ScreenWidth;
|
||||
|
||||
/* Forecolor on this machine */
|
||||
BackColor = LlbHwVideoCreateColor(14, 0, 82);
|
||||
|
||||
/* Amount of characters in a line */
|
||||
ScreenWidth = LlbHwGetScreenWidth();
|
||||
CharsPerLine = ScreenWidth / 8;
|
||||
|
||||
/* Handle new line and scrolling */
|
||||
if (c == '\n')
|
||||
{
|
||||
/* Move a line down */
|
||||
ScreenCursor += CharsPerLine - (ScreenCursor % CharsPerLine);
|
||||
|
||||
/* FIXME: Scrolling */
|
||||
}
|
||||
else
|
||||
{
|
||||
/* Calculate character position from pixel position */
|
||||
cy = (ScreenCursor / CharsPerLine) * FONT_HEIGHT;
|
||||
cx = (ScreenCursor % CharsPerLine) * 8;
|
||||
|
||||
/* Draw the character and increment the cursor */
|
||||
LlbVideoDrawChar(c,
|
||||
(PUSHORT)LlbHwGetFrameBuffer() + ScreenWidth * cy + cx,
|
||||
0xFFFF,
|
||||
BackColor);
|
||||
ScreenCursor++;
|
||||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
||||
Executable
+88
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/envir.h
|
||||
* PURPOSE: LLB Environment Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
typedef struct _ATAG_HEADER
|
||||
{
|
||||
ULONG Size;
|
||||
ULONG Tag;
|
||||
} ATAG_HEADER, *PATAG_HEADER;
|
||||
|
||||
typedef struct _ATAG_CORE
|
||||
{
|
||||
ULONG Flags;
|
||||
ULONG PageSize;
|
||||
ULONG RootDev;
|
||||
} ATAG_CORE, *PATAG_CORE;
|
||||
|
||||
typedef struct _ATAG_MEM
|
||||
{
|
||||
ULONG Size;
|
||||
ULONG Start;
|
||||
} ATAG_MEM, *PATAG_MEM;
|
||||
|
||||
typedef struct _ATAG_INITRD2
|
||||
{
|
||||
ULONG Start;
|
||||
ULONG Size;
|
||||
} ATAG_INITRD2, *PATAG_INITRD2;
|
||||
|
||||
typedef struct _ATAG_CMDLINE
|
||||
{
|
||||
CHAR CmdLine[ANYSIZE_ARRAY];
|
||||
} ATAG_CMDLINE, *PATAG_CMDLINE;
|
||||
|
||||
typedef struct _ATAG
|
||||
{
|
||||
ATAG_HEADER Hdr;
|
||||
union
|
||||
{
|
||||
ATAG_CORE Core;
|
||||
ATAG_MEM Mem;
|
||||
ATAG_INITRD2 InitRd2;
|
||||
ATAG_CMDLINE CmdLine;
|
||||
} u;
|
||||
} ATAG, *PATAG;
|
||||
|
||||
#define ATAG_NONE 0x00000000
|
||||
#define ATAG_CORE 0x54410001
|
||||
#define ATAG_MEM 0x54410002
|
||||
#define ATAG_VIDEOTEXT 0x54410003
|
||||
#define ATAG_RAMDISK 0x54410004
|
||||
#define ATAG_INITRD2 0x54420005
|
||||
#define ATAG_SERIAL 0x54410006
|
||||
#define ATAG_REVISION 0x54410007
|
||||
#define ATAG_VIDEOLFB 0x54410008
|
||||
#define ATAG_CMDLINE 0x54410009
|
||||
|
||||
PCHAR
|
||||
NTAPI
|
||||
LlbEnvRead(
|
||||
IN PCHAR Option
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbEnvGetRamDiskInformation(
|
||||
IN PULONG Base,
|
||||
IN PULONG Size
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbEnvGetMemoryInformation(
|
||||
IN PULONG Base,
|
||||
IN PULONG Size
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbEnvParseArguments(
|
||||
IN PATAG Arguments
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+112
@@ -0,0 +1,112 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/fw.h
|
||||
* PURPOSE: LLB Firmware Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
typedef struct _TIMEINFO
|
||||
{
|
||||
USHORT Year;
|
||||
USHORT Month;
|
||||
USHORT Day;
|
||||
USHORT Hour;
|
||||
USHORT Minute;
|
||||
USHORT Second;
|
||||
} TIMEINFO;
|
||||
|
||||
VOID
|
||||
LlbFwPutChar(
|
||||
INT Ch
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
LlbFwKbHit(
|
||||
VOID
|
||||
);
|
||||
|
||||
INT
|
||||
LlbFwGetCh(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
LlbFwVideoSetDisplayMode(
|
||||
IN PCHAR DisplayModeName,
|
||||
IN BOOLEAN Init
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoGetDisplaySize(
|
||||
OUT PULONG Width,
|
||||
OUT PULONG Height,
|
||||
OUT PULONG Depth
|
||||
);
|
||||
|
||||
ULONG
|
||||
LlbFwVideoGetBufferSize(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoSetTextCursorPosition(
|
||||
IN ULONG X,
|
||||
IN ULONG Y
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoHideShowTextCursor(
|
||||
IN BOOLEAN Show
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoCopyOffScreenBufferToVRAM(
|
||||
IN PVOID Buffer
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoClearScreen(
|
||||
IN UCHAR Attr
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoPutChar(
|
||||
IN INT c,
|
||||
IN UCHAR Attr,
|
||||
IN ULONG X,
|
||||
IN ULONG Y
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
LlbFwVideoIsPaletteFixed(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoSetPaletteColor(
|
||||
IN UCHAR Color,
|
||||
IN UCHAR Red,
|
||||
IN UCHAR Green,
|
||||
IN UCHAR Blue
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoGetPaletteColor(
|
||||
IN UCHAR Color,
|
||||
OUT PUCHAR Red,
|
||||
OUT PUCHAR Green,
|
||||
OUT PUCHAR Blue
|
||||
);
|
||||
|
||||
VOID
|
||||
LlbFwVideoSync(
|
||||
VOID
|
||||
);
|
||||
|
||||
TIMEINFO*
|
||||
LlbFwGetTime(
|
||||
VOID
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+132
@@ -0,0 +1,132 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/hw.h
|
||||
* PURPOSE: LLB Hardware Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwInitialize(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenWidth(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetScreenHeight(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwVideoCreateColor(
|
||||
IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue
|
||||
);
|
||||
|
||||
PVOID
|
||||
NTAPI
|
||||
LlbHwGetFrameBuffer(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetBoardType(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetPClk(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetTmr0Base(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetUartBase(
|
||||
IN ULONG Port
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwGetSerialUart(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwUartSendChar(
|
||||
IN CHAR Char
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbHwUartTxReady(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwBuildMemoryMap(
|
||||
IN PBIOS_MEMORY_MAP MemoryMap
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwKbdSend(
|
||||
IN ULONG Value
|
||||
);
|
||||
|
||||
BOOLEAN
|
||||
NTAPI
|
||||
LlbHwKbdReady(
|
||||
VOID
|
||||
);
|
||||
|
||||
INT
|
||||
NTAPI
|
||||
LlbHwKbdRead(
|
||||
VOID
|
||||
);
|
||||
|
||||
POSLOADER_INIT
|
||||
NTAPI
|
||||
LlbHwLoadOsLoaderFromRam(
|
||||
VOID
|
||||
);
|
||||
|
||||
ULONG
|
||||
NTAPI
|
||||
LlbHwRtcRead(
|
||||
VOID
|
||||
);
|
||||
|
||||
//fix
|
||||
TIMEINFO*
|
||||
NTAPI
|
||||
LlbGetTime(
|
||||
VOID
|
||||
);
|
||||
|
||||
#ifdef _VERSATILE_
|
||||
#include "versa.h"
|
||||
#elif _OMAP3_
|
||||
#include "omap3.h"
|
||||
#endif
|
||||
|
||||
/* EOF */
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/keyboard.h
|
||||
* PURPOSE: LLB Keyboard Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
CHAR
|
||||
NTAPI
|
||||
LlbKeyboardGetChar(
|
||||
VOID
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/machtype.h
|
||||
* PURPOSE: Standard machine type definitions defined by Linux/U-boot
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
//
|
||||
// Marvell Feroceon-based SoC:
|
||||
// Buffalo Linkstation, KuroBox Pro, D-Link DS323 and others
|
||||
//
|
||||
#define MACH_TYPE_FEROCEON 526
|
||||
|
||||
//
|
||||
// ARM Versatile PB:
|
||||
// qemu-system-arm -M versatilepb, RealView Development Boards and others
|
||||
//
|
||||
#define MACH_TYPE_VERSATILE_PB 387
|
||||
|
||||
//
|
||||
// TI Beagle Board, OMAP3530 SoC
|
||||
// qemu-system-arm -M beagle, Beagle Board
|
||||
//
|
||||
#define MACH_TYPE_OMAP3_BEAGLE 1546
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,113 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/osloader.h
|
||||
* PURPOSE: Shared header between LLB and OS Loader
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
//
|
||||
// OS Loader Main Routine
|
||||
//
|
||||
typedef
|
||||
VOID (*POSLOADER_INIT)(
|
||||
IN PVOID BoardInit
|
||||
);
|
||||
|
||||
#ifndef __REGISTRY_H
|
||||
//
|
||||
// Type of memory detected by LLB
|
||||
//
|
||||
typedef enum
|
||||
{
|
||||
BiosMemoryUsable = 1,
|
||||
BiosMemoryBootLoader,
|
||||
BiosMemoryBootStrap,
|
||||
BiosMemoryReserved
|
||||
} BIOS_MEMORY_TYPE;
|
||||
|
||||
//
|
||||
// Firmware Memory Map
|
||||
//
|
||||
typedef struct
|
||||
{
|
||||
LONGLONG BaseAddress;
|
||||
LONGLONG Length;
|
||||
ULONG Type;
|
||||
ULONG Reserved;
|
||||
} BIOS_MEMORY_MAP, *PBIOS_MEMORY_MAP;
|
||||
#endif
|
||||
|
||||
//
|
||||
// Information sent from LLB to OS Loader
|
||||
//
|
||||
#define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1
|
||||
#define ARM_BOARD_CONFIGURATION_MINOR_VERSION 4
|
||||
typedef struct _ARM_BOARD_CONFIGURATION_BLOCK
|
||||
{
|
||||
ULONG MajorVersion;
|
||||
ULONG MinorVersion;
|
||||
ULONG BoardType;
|
||||
ULONG ClockRate;
|
||||
ULONG TimerRegisterBase;
|
||||
ULONG UartRegisterBase;
|
||||
ULONG MemoryMapEntryCount;
|
||||
PBIOS_MEMORY_MAP MemoryMap;
|
||||
CHAR CommandLine[256];
|
||||
PVOID ConsPutChar;
|
||||
PVOID ConsKbHit;
|
||||
PVOID ConsGetCh;
|
||||
PVOID VideoClearScreen;
|
||||
PVOID VideoSetDisplayMode;
|
||||
PVOID VideoGetDisplaySize;
|
||||
PVOID VideoGetBufferSize;
|
||||
PVOID VideoSetTextCursorPosition;
|
||||
PVOID VideoHideShowTextCursor;
|
||||
PVOID VideoPutChar;
|
||||
PVOID VideoCopyOffScreenBufferToVRAM;
|
||||
PVOID VideoIsPaletteFixed;
|
||||
PVOID VideoSetPaletteColor;
|
||||
PVOID VideoGetPaletteColor;
|
||||
PVOID VideoSync;
|
||||
PVOID GetTime;
|
||||
} ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbAllocateMemoryEntry(
|
||||
IN BIOS_MEMORY_TYPE Type,
|
||||
IN ULONG BaseAddress,
|
||||
IN ULONG Length
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbSetCommandLine(
|
||||
IN PCHAR CommandLine
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBuildArmBlock(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBuildMemoryMap(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbLoadOsLoader(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBoot(
|
||||
VOID
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/precomp.h
|
||||
* PURPOSE: Precompiled header for LLB
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "ntdef.h"
|
||||
#include "stdio.h"
|
||||
#include "ioaccess.h"
|
||||
#include "machtype.h"
|
||||
#include "osloader.h"
|
||||
#include "fw.h"
|
||||
#include "hw.h"
|
||||
#include "serial.h"
|
||||
#include "video.h"
|
||||
#include "keyboard.h"
|
||||
#include "envir.h"
|
||||
|
||||
VOID
|
||||
DbgPrint(
|
||||
const char *fmt,
|
||||
...
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/serial.h
|
||||
* PURPOSE: LLB Serial Port Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbSerialPutChar(
|
||||
IN CHAR c
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/versa.h
|
||||
* PURPOSE: LLB Board-Specific Hardware Functions for Versatile
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaUartInitialize(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaClcdInitialize(
|
||||
VOID
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbHwVersaKmiInitialize(
|
||||
VOID
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+30
@@ -0,0 +1,30 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/inc/video.h
|
||||
* PURPOSE: LLB Videl Output Functions
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoClearScreen(
|
||||
IN BOOLEAN OsLoader
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoPutChar(
|
||||
IN CHAR c
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbVideoDrawChar(
|
||||
IN CHAR c,
|
||||
IN PUSHORT Buffer,
|
||||
IN USHORT Color,
|
||||
IN USHORT BackColor
|
||||
);
|
||||
|
||||
/* EOF */
|
||||
Executable
+36
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/main.c
|
||||
* PURPOSE: Main LLB Code
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
VOID
|
||||
LlbStartup(IN ULONG Reserved,
|
||||
IN ULONG BoardInfo,
|
||||
IN PATAG Arguments)
|
||||
{
|
||||
/* Make sure we are booting on the correct kind of machine */
|
||||
if (BoardInfo != LlbHwGetBoardType()) while (TRUE);
|
||||
|
||||
/* Either QEMU or U-Boot itself should send this information */
|
||||
LlbEnvParseArguments(Arguments);
|
||||
|
||||
/* Initialize hardware components */
|
||||
LlbHwInitialize();
|
||||
|
||||
/* Clean up the screen */
|
||||
LlbVideoClearScreen(FALSE);
|
||||
|
||||
/* Print header */
|
||||
printf("ReactOS ARM Low-Level Boot Loader [" __DATE__ " "__TIME__ "]\n");
|
||||
|
||||
/* Boot the OS Loader */
|
||||
LlbBoot();
|
||||
while (TRUE);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Executable
+150
@@ -0,0 +1,150 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/armllb/os/loader.c
|
||||
* PURPOSE: OS Loader Code for LLB
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
BIOS_MEMORY_MAP MemoryMap[32];
|
||||
ARM_BOARD_CONFIGURATION_BLOCK ArmBlock;
|
||||
POSLOADER_INIT LoaderInit;
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbAllocateMemoryEntry(IN BIOS_MEMORY_TYPE Type,
|
||||
IN ULONG BaseAddress,
|
||||
IN ULONG Length)
|
||||
{
|
||||
PBIOS_MEMORY_MAP Entry;
|
||||
|
||||
/* Get the next memory entry */
|
||||
Entry = MemoryMap;
|
||||
while (Entry->Length) Entry++;
|
||||
|
||||
/* Fill it out */
|
||||
Entry->Length = Length;
|
||||
Entry->BaseAddress = BaseAddress;
|
||||
Entry->Type = Type;
|
||||
|
||||
/* Block count */
|
||||
ArmBlock.MemoryMapEntryCount++;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbSetCommandLine(IN PCHAR CommandLine)
|
||||
{
|
||||
/* Copy the command line in the ARM block */
|
||||
strcpy(ArmBlock.CommandLine, CommandLine);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBuildArmBlock(VOID)
|
||||
{
|
||||
/* Write version number */
|
||||
ArmBlock.MajorVersion = ARM_BOARD_CONFIGURATION_MAJOR_VERSION;
|
||||
ArmBlock.MinorVersion = ARM_BOARD_CONFIGURATION_MINOR_VERSION;
|
||||
|
||||
/* Get arch type */
|
||||
ArmBlock.BoardType = LlbHwGetBoardType();
|
||||
|
||||
/* Get peripheral clock rate */
|
||||
ArmBlock.ClockRate = LlbHwGetPClk();
|
||||
|
||||
/* Get timer and serial port base addresses */
|
||||
ArmBlock.TimerRegisterBase = LlbHwGetTmr0Base();
|
||||
ArmBlock.UartRegisterBase = LlbHwGetUartBase(LlbHwGetSerialUart());
|
||||
|
||||
/* Debug */
|
||||
DbgPrint("Machine Identifier: %lx\nPCLK: %d\nTIMER 0: %p\nSERIAL UART: %p\n",
|
||||
ArmBlock.BoardType,
|
||||
ArmBlock.ClockRate,
|
||||
ArmBlock.TimerRegisterBase,
|
||||
ArmBlock.UartRegisterBase);
|
||||
|
||||
/* Now load the memory map */
|
||||
ArmBlock.MemoryMap = MemoryMap;
|
||||
|
||||
/* Write firmware callbacks */
|
||||
ArmBlock.ConsPutChar = LlbFwPutChar;
|
||||
ArmBlock.ConsKbHit = LlbFwKbHit;
|
||||
ArmBlock.ConsGetCh = LlbFwGetCh;
|
||||
ArmBlock.VideoClearScreen = LlbFwVideoClearScreen;
|
||||
ArmBlock.VideoSetDisplayMode = LlbFwVideoSetDisplayMode;
|
||||
ArmBlock.VideoGetDisplaySize = LlbFwVideoGetDisplaySize;
|
||||
ArmBlock.VideoGetBufferSize = LlbFwVideoGetBufferSize;
|
||||
ArmBlock.VideoSetTextCursorPosition = LlbFwVideoSetTextCursorPosition;
|
||||
ArmBlock.VideoSetTextCursorPosition = LlbFwVideoSetTextCursorPosition;
|
||||
ArmBlock.VideoHideShowTextCursor = LlbFwVideoHideShowTextCursor;
|
||||
ArmBlock.VideoPutChar = LlbFwVideoPutChar;
|
||||
ArmBlock.VideoCopyOffScreenBufferToVRAM = LlbFwVideoCopyOffScreenBufferToVRAM;
|
||||
ArmBlock.VideoIsPaletteFixed = LlbFwVideoIsPaletteFixed;
|
||||
ArmBlock.VideoSetPaletteColor = LlbFwVideoSetPaletteColor;
|
||||
ArmBlock.VideoGetPaletteColor = LlbFwVideoGetPaletteColor;
|
||||
ArmBlock.VideoSync = LlbFwVideoSync;
|
||||
ArmBlock.GetTime = LlbFwGetTime;
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBuildMemoryMap(VOID)
|
||||
{
|
||||
/* Zero out the memory map */
|
||||
memset(MemoryMap, 0, sizeof(MemoryMap));
|
||||
|
||||
/* Call the hardware-specific function for hardware-defined regions */
|
||||
LlbHwBuildMemoryMap(MemoryMap);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbLoadOsLoader(VOID)
|
||||
{
|
||||
PCHAR BootDevice;
|
||||
|
||||
/* Read the current boot device */
|
||||
BootDevice = LlbEnvRead("boot-device");
|
||||
printf("Loading OS Loader from: %s...\n", BootDevice);
|
||||
if (!strcmp(BootDevice, "NAND"))
|
||||
{
|
||||
// todo
|
||||
}
|
||||
else if (!strcmp(BootDevice, "RAMDISK"))
|
||||
{
|
||||
/* Call the hardware-specific function */
|
||||
LoaderInit = LlbHwLoadOsLoaderFromRam();
|
||||
}
|
||||
else if (!strcmp(BootDevice, "MMC") ||
|
||||
!strcmp(BootDevice, "SD"))
|
||||
{
|
||||
//todo
|
||||
}
|
||||
else if (!strcmp(BootDevice, "HDD"))
|
||||
{
|
||||
//todo
|
||||
}
|
||||
printf("OS Loader loaded at 0x%p...JUMP!\n\n\n\n\n", LoaderInit);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
LlbBoot(VOID)
|
||||
{
|
||||
/* Setup the ARM block */
|
||||
LlbBuildArmBlock();
|
||||
|
||||
/* Build the memory map */
|
||||
LlbBuildMemoryMap();
|
||||
|
||||
/* Load the OS loader */
|
||||
LlbLoadOsLoader();
|
||||
|
||||
/* Jump to the OS Loader (FreeLDR in this case) */
|
||||
LoaderInit(&ArmBlock);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -4,6 +4,11 @@
|
||||
<directory name="freeldr">
|
||||
<xi:include href="freeldr/freeldr.rbuild" />
|
||||
</directory>
|
||||
<if property="ARCH" value="arm">
|
||||
<directory name="armllb">
|
||||
<xi:include href="armllb/armllb.rbuild" />
|
||||
</directory>
|
||||
</if>
|
||||
<directory name="bootdata">
|
||||
<xi:include href="bootdata/bootdata.rbuild" />
|
||||
</directory>
|
||||
|
||||
@@ -1790,14 +1790,14 @@ HKCU,"AppEvents\Schemes\Apps\.Default\SystemQuestion",,0x00000012
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemQuestion\.Current","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemQuestion\.Default","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemStart",,0x00000012
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemStart\.Current","",0x00020000,"%SystemRoot%\media\ReactOS_LogOn.wav"
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemStart\.Default","",0x00020000,"%SystemRoot%\media\ReactOS_LogOn.wav"
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemStart\.Current","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\SystemStart\.Default","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogoff",,0x00000012
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogoff\.Current","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogoff\.Default","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogon",,0x00000012
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogon\.Default","",0x00020000,""
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogon\.Current","",0x00020000,"%SystemRoot%\media\ReactOS_LogOn.wav"
|
||||
HKCU,"AppEvents\Schemes\Apps\.Default\WindowsLogon\.Default","",0x00020000,"%SystemRoot%\media\ReactOS_LogOn.wav"
|
||||
HKCU,"AppEvents\Schemes\Apps\Explorer","",0x00000002,"ReactOS Explorer"
|
||||
HKCU,"AppEvents\Schemes\Apps\Explorer","DispFileName",0x00000000,"@mmsys.cpl,-5854"
|
||||
HKCU,"AppEvents\Schemes\Apps\Explorer\EmptyRecycleBin",,0x00000012
|
||||
|
||||
@@ -30,7 +30,7 @@ BEGIN
|
||||
END
|
||||
POPUP "&Äîâ³äêà"
|
||||
BEGIN
|
||||
MENUITEM "&Ïðî ïðîãðàìó ...", IDM_ABOUT
|
||||
MENUITEM "Пр&о програму ...", IDM_ABOUT
|
||||
END
|
||||
END
|
||||
|
||||
@@ -124,7 +124,7 @@ BEGIN
|
||||
CONTROL "Íàëàãîäæóâà÷ FreeLoader v1.0\nCopyright (C) 2003\nby Brian Palmer ([email protected])",
|
||||
IDC_STATIC,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,53,28,
|
||||
122,26
|
||||
DEFPUSHBUTTON "OK",IDOK,183,189,44,14,WS_GROUP
|
||||
DEFPUSHBUTTON "Так",IDOK,183,189,44,14,WS_GROUP
|
||||
ICON IDI_FDEBUG,IDC_STATIC,19,30,20,20
|
||||
EDITTEXT IDC_LICENSE_EDIT,53,63,174,107,ES_MULTILINE |
|
||||
ES_READONLY | WS_VSCROLL
|
||||
@@ -171,7 +171,7 @@ END
|
||||
|
||||
STRINGTABLE DISCARDABLE
|
||||
BEGIN
|
||||
IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
IDS_LICENSE "Це вільне програмне забезпечення; Ви можете розповсюджувати її та змінювати, дотримуючись умови Відкритої ліцензійної угоди GNU, опублікованої Фондом вільного програмного забезпечення; або редакції 2 Угоди, або будь-якої редакції, випущеної пізніше.\r\n\r\nЦя програма розповсюджується в надії на те, що вона виявиться корисною, але БЕЗ БУДЬ-ЯКИХ ГАРАНТІЙ, включаючи УЯВНОЮ ГАРАНТІЄЮ ЯКОСТІ або ПРИДАТНОСТІ для певних цілей. Подробиці містяться у Відкритій ліцензійній угоді GNU.\r\n\r\nРазом з цією програмою повинен поширюватися примірник Відкритої ліцензійної угоди GNU. Якщо він відсутній, повідомте про це в Фонд вільного програмного забезпечення (Free Software Foundation, Inc.), 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA."
|
||||
END
|
||||
|
||||
#endif // Ukrainian resources
|
||||
|
||||
@@ -32,9 +32,7 @@ static const MEMORY_DESCRIPTOR_INT MemoryDescriptors[] =
|
||||
{ { MemoryFirmwarePermanent, 0xA0, 0x60 }, 6, }, // ROM / Video
|
||||
{ { MemorySpecialMemory, 0xFFF, 1 }, 7, }, // unusable memory
|
||||
#elif __arm__ // This needs to be done per-platform specific way
|
||||
{ { MemoryLoadedProgram, 0x80000, 32 }, 0, }, // X-Loader + OmapLdr
|
||||
{ { MemoryLoadedProgram, 0x81000, 128 }, 1, }, // FreeLDR
|
||||
{ { MemoryFirmwareTemporary, 0x80500, 4096 }, 2, }, // Video Buffer
|
||||
|
||||
#endif
|
||||
};
|
||||
MEMORY_DESCRIPTOR*
|
||||
|
||||
@@ -13,133 +13,25 @@
|
||||
NESTED_ENTRY _start
|
||||
PROLOG_END _start
|
||||
|
||||
//
|
||||
// C entrypoint
|
||||
//
|
||||
ldr lr, L_ArmInit
|
||||
|
||||
//
|
||||
// Turn off FIQs and IRQs
|
||||
// FreeLDR runs without interrupts, and without paging, just like on x86
|
||||
//
|
||||
mrs r1, cpsr
|
||||
orr r1, r1, #CPSR_IRQ_DISABLE | CPSR_FIQ_DISABLE
|
||||
msr cpsr, r1
|
||||
b ArmInit
|
||||
|
||||
//
|
||||
// Turn off caches and the MMU
|
||||
//
|
||||
mrc p15, 0, r1, c1, c0, 0
|
||||
bic r1, r1, #C1_DCACHE_CONTROL
|
||||
bic r1, r1, #C1_ICACHE_CONTROL
|
||||
bic r1, r1, #C1_MMU_CONTROL
|
||||
mcr p15, 0, r1, c1, c0, 0
|
||||
|
||||
//
|
||||
// Flush everything away
|
||||
//
|
||||
mov r1, #0
|
||||
mcr p15, 0, r1, c7, c7, 0
|
||||
|
||||
//
|
||||
// Okay, now give us a stack
|
||||
//
|
||||
//ldr sp, L_BootStackEnd
|
||||
|
||||
//
|
||||
// Go ahead and call the C initialization code
|
||||
// r0 contains the ARM_BOARD_CONFIGURATION_DATA structure
|
||||
//
|
||||
bx lr
|
||||
ENTRY_END _start
|
||||
|
||||
L_BootStackEnd:
|
||||
.long BootStackEnd
|
||||
|
||||
L_ArmInit:
|
||||
.long ArmInit
|
||||
|
||||
.section pagedata
|
||||
.global TranslationTableStart
|
||||
TranslationTableStart:
|
||||
.global PageDirectoryStart, PageDirectoryEnd
|
||||
.global startup_pagedirectory
|
||||
.global kernel_pagetable
|
||||
|
||||
.global ArmTranslationTable
|
||||
ArmTranslationTable:
|
||||
.space 0x4000 // 0x00000000->0xFFFFFFFF
|
||||
.bss
|
||||
PageDirectoryStart:
|
||||
kernel_pagetable:
|
||||
.fill 2*4096, 1, 0
|
||||
.space 4096
|
||||
startup_pagedirectory:
|
||||
.fill 4*4096, 1, 0
|
||||
|
||||
|
||||
.global BootTranslationTable
|
||||
BootTranslationTable:
|
||||
.space 0x0400 // 0x00000000->0x800FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00100000->0x801FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00200000->0x802FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00300000->0x803FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00400000->0x804FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00500000->0x805FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00600000->0x806FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00700000->0x807FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
|
||||
.global KernelTranslationTable
|
||||
KernelTranslationTable:
|
||||
.space 0x0400 // 0x00800000->0x808FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00900000->0x809FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00A00000->0x80AFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00B00000->0x80BFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00C00000->0x80CFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0x00D00000->0x80DFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
|
||||
.global FlatMapTranslationTable
|
||||
FlatMapTranslationTable:
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC00FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC01FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC02FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC03FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC04FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC05FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC06FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC07FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC08FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC09FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0AFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0BFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0CFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0DFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0EFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC0FFFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
|
||||
.global MasterTranslationTable
|
||||
MasterTranslationTable:
|
||||
.space 0x0400 // 0xYYYYYYYY->0xC10FFFFF
|
||||
.space 0x0C00 // PADDING FOR 4KB GRANULARITY
|
||||
|
||||
.global TranslationTableEnd
|
||||
TranslationTableEnd:
|
||||
.global PageDirectoryEnd
|
||||
PageDirectoryEnd:
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/freeldr/arch/arm/ferouart.c
|
||||
* PURPOSE: Implements code for Feroceon boards using the 16550 UART
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
//
|
||||
// UART Registers
|
||||
//
|
||||
#define UART0_RBR (ArmBoardBlock->UartRegisterBase + 0x00)
|
||||
#define UART0_THR UART0_RBR
|
||||
#define UART0_IER (ArmBoardBlock->UartRegisterBase + 0x04)
|
||||
#define UART0_FCR (ArmBoardBlock->UartRegisterBase + 0x08)
|
||||
#define UART0_LCR (ArmBoardBlock->UartRegisterBase + 0x0C)
|
||||
#define UART0_MCR (ArmBoardBlock->UartRegisterBase + 0x10)
|
||||
#define UART0_LSR (ArmBoardBlock->UartRegisterBase + 0x14)
|
||||
#define UART0_MSR (ArmBoardBlock->UartRegisterBase + 0x18)
|
||||
#define UART0_SCR (ArmBoardBlock->UartRegisterBase + 0x1C)
|
||||
|
||||
//
|
||||
// When we enable the divisor latch
|
||||
//
|
||||
#define UART0_DLL UART0_RBR
|
||||
#define UART0_DLM UART0_IER
|
||||
|
||||
//
|
||||
// FCR Values
|
||||
//
|
||||
#define FCR_FIFO_EN 0x01
|
||||
#define FCR_RXSR 0x02
|
||||
#define FCR_TXSR 0x04
|
||||
|
||||
//
|
||||
// LCR Values
|
||||
//
|
||||
#define LCR_WLS_8 0x03
|
||||
#define LCR_1_STB 0x00
|
||||
#define LCR_DIVL_EN 0x80
|
||||
#define LCR_NO_PAR 0x00
|
||||
|
||||
//
|
||||
// LSR Values
|
||||
//
|
||||
#define LSR_DR 0x01
|
||||
#define LSR_THRE 0x20
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
ArmFeroSerialInit(IN ULONG Baudrate)
|
||||
{
|
||||
ULONG BaudClock;
|
||||
|
||||
//
|
||||
// Calculate baudrate clock divider to set the baud rate
|
||||
//
|
||||
BaudClock = (ArmBoardBlock->ClockRate / 16) / Baudrate;
|
||||
|
||||
//
|
||||
// Disable interrupts
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_IER, 0);
|
||||
|
||||
//
|
||||
// Set the baud rate to 115200 bps
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_LCR, LCR_DIVL_EN);
|
||||
WRITE_REGISTER_UCHAR(UART0_DLL, BaudClock);
|
||||
WRITE_REGISTER_UCHAR(UART0_DLM, (BaudClock >> 8) & 0xFF);
|
||||
|
||||
//
|
||||
// Set 8 bits for data, 1 stop bit, no parity
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_LCR, LCR_WLS_8 | LCR_1_STB | LCR_NO_PAR);
|
||||
|
||||
//
|
||||
// Clear and enable FIFO
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_FCR, FCR_FIFO_EN | FCR_RXSR | FCR_TXSR);
|
||||
}
|
||||
|
||||
VOID
|
||||
ArmFeroPutChar(IN INT Char)
|
||||
{
|
||||
//
|
||||
// Properly support new-lines
|
||||
//
|
||||
if (Char == '\n') ArmFeroPutChar('\r');
|
||||
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_THRE) == 0);
|
||||
|
||||
//
|
||||
// Send the character
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_THR, Char);
|
||||
}
|
||||
|
||||
INT
|
||||
ArmFeroGetCh(VOID)
|
||||
{
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_DR) == 0);
|
||||
|
||||
//
|
||||
// Read the character
|
||||
//
|
||||
return READ_REGISTER_UCHAR(UART0_RBR);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
ArmFeroKbHit(VOID)
|
||||
{
|
||||
//
|
||||
// Return if something is ready
|
||||
//
|
||||
return ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_DR) != 0);
|
||||
}
|
||||
@@ -39,17 +39,17 @@ MEMORY_DESCRIPTOR MDArray[16] = {{0}};
|
||||
ULONG ArmSharedHeapSize;
|
||||
PCHAR ArmSharedHeap;
|
||||
|
||||
extern ADDRESS_RANGE ArmBoardMemoryMap[16];
|
||||
extern ULONG ArmBoardMemoryMapRangeCount;
|
||||
extern ARM_TRANSLATION_TABLE ArmTranslationTable;
|
||||
extern ARM_COARSE_PAGE_TABLE BootTranslationTable, KernelTranslationTable, FlatMapTranslationTable, MasterTranslationTable;
|
||||
extern PAGE_DIRECTORY_ARM startup_pagedirectory;
|
||||
extern ROS_KERNEL_ENTRY_POINT KernelEntryPoint;
|
||||
extern ULONG_PTR KernelBase;
|
||||
|
||||
extern ADDRESS_RANGE ArmBoardMemoryMap[16];
|
||||
extern ULONG ArmBoardMemoryMapRangeCount;
|
||||
extern ULONG_PTR AnsiData, OemData, UnicodeData, RegistryData, KernelData, HalData, DriverData[16];
|
||||
extern ULONG RegistrySize, AnsiSize, OemSize, UnicodeSize, KernelSize, HalSize, DriverSize[16];
|
||||
extern PCHAR DriverName[16];
|
||||
extern ULONG Drivers;
|
||||
extern ULONG BootStack, TranslationTableStart, TranslationTableEnd;
|
||||
extern ULONG BootStack;
|
||||
|
||||
ULONG SizeBits[] =
|
||||
{
|
||||
@@ -675,11 +675,52 @@ ArmBuildLoaderMemoryList(VOID)
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
#define PFN_SHIFT 12
|
||||
#define LARGE_PFN_SHIFT 20
|
||||
|
||||
#define STARTUP_BASE 0xC0000000
|
||||
#define HAL_BASE 0xFFC00000
|
||||
#define MMIO_BASE 0x10000000
|
||||
|
||||
#define LowMemPageTableIndex 0
|
||||
#define StartupPageTableIndex (STARTUP_BASE >> PDE_SHIFT)
|
||||
#define MmioPageTableIndex (MMIO_BASE >> PDE_SHIFT)
|
||||
#define HalPageTableIndex (HAL_BASE >> PDE_SHIFT)
|
||||
|
||||
/* Converts a Physical Address into a Page Frame Number */
|
||||
#define PaToPfn(p) ((p) >> PFN_SHIFT)
|
||||
#define PaToLargePfn(p) ((p) >> LARGE_PFN_SHIFT)
|
||||
|
||||
VOID
|
||||
ArmSetupPageDirectory(VOID)
|
||||
{
|
||||
ARM_TTB_REGISTER TtbRegister;
|
||||
ARM_DOMAIN_REGISTER DomainRegister;
|
||||
{
|
||||
PPAGE_DIRECTORY_ARM PageDir;
|
||||
ULONG KernelPageTableIndex;
|
||||
//ULONG i;
|
||||
|
||||
/* Get the Kernel Table Index */
|
||||
KernelPageTableIndex = KernelBase >> PDE_SHIFT;
|
||||
printf("Kernel Base: 0x%p (PDE Index: %lx)\n", KernelBase, KernelPageTableIndex);
|
||||
|
||||
/* Get the Startup Page Directory */
|
||||
PageDir = (PPAGE_DIRECTORY_ARM)&startup_pagedirectory;
|
||||
printf("Initial Page Directory: 0x%p\n", PageDir);
|
||||
|
||||
/* Setup the Low Memory PDE as an identity-mapped Large Page (1MB) */
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[LowMemPageTableIndex].LargePage = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[LowMemPageTableIndex].Accessed = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[LowMemPageTableIndex].PageFrameNumber = 0;
|
||||
|
||||
/* Setup the MMIO PDE as two identity mapped large pages -- the kernel will blow these away later */
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex].LargePage = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex].Accessed = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex].PageFrameNumber = PaToLargePfn(0x10000000);
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex+1].LargePage = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex+1].Accessed = 1;
|
||||
((PHARDWARE_LARGE_PTE_ARMV6)PageDir->Pde)[MmioPageTableIndex+1].PageFrameNumber = PaToLargePfn(0x10100000);
|
||||
printf("Paging init done\n");
|
||||
|
||||
#if 0
|
||||
ARM_PTE Pte;
|
||||
ULONG i, j;
|
||||
PARM_TRANSLATION_TABLE ArmTable;
|
||||
@@ -989,34 +1030,40 @@ ArmSetupPageDirectory(VOID)
|
||||
MasterTable->Pte[i] = Pte;
|
||||
Pte.L2.Small.BaseAddress++;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
VOID
|
||||
ArmSetupPagingAndJump(IN ULONG Magic)
|
||||
{
|
||||
ULONG_PTR PageDirectoryBaseAddress = (ULONG_PTR)&startup_pagedirectory;
|
||||
ARM_CONTROL_REGISTER ControlRegister;
|
||||
ARM_TTB_REGISTER TtbRegister;
|
||||
ARM_DOMAIN_REGISTER DomainRegister;
|
||||
|
||||
//
|
||||
// Enable MMU, DCache and ICache
|
||||
//
|
||||
/* Set the TTBR */
|
||||
TtbRegister.AsUlong = PageDirectoryBaseAddress;
|
||||
ASSERT(TtbRegister.Reserved == 0);
|
||||
KeArmTranslationTableRegisterSet(TtbRegister);
|
||||
|
||||
/* Disable domains and simply use access bits on PTEs */
|
||||
DomainRegister.AsUlong = 0;
|
||||
DomainRegister.Domain0 = ClientDomain;
|
||||
KeArmDomainRegisterSet(DomainRegister);
|
||||
|
||||
/* Enable ARMv6+ paging (MMU), caches and the access bit */
|
||||
ControlRegister = KeArmControlRegisterGet();
|
||||
ControlRegister.MmuEnabled = TRUE;
|
||||
ControlRegister.ICacheEnabled = TRUE;
|
||||
ControlRegister.DCacheEnabled = TRUE;
|
||||
ControlRegister.ForceAp = TRUE;
|
||||
ControlRegister.ExtendedPageTables = TRUE;
|
||||
KeArmControlRegisterSet(ControlRegister);
|
||||
|
||||
//
|
||||
// Reconfigure UART0
|
||||
//
|
||||
ArmBoardBlock->UartRegisterBase = UART_VIRTUAL |
|
||||
(ArmBoardBlock->UartRegisterBase &
|
||||
((1 << PDE_SHIFT) - 1));
|
||||
TuiPrintf("Mapped serial port to 0x%x\n", ArmBoardBlock->UartRegisterBase);
|
||||
|
||||
//
|
||||
// Jump to Kernel
|
||||
//
|
||||
(*KernelEntryPoint)(Magic, (PVOID)((ULONG_PTR)ArmLoaderBlock | KSEG0_BASE));
|
||||
/* Jump to Kernel */
|
||||
TuiPrintf("Hello from MMU Enabled!\n");
|
||||
while (TRUE);
|
||||
(*KernelEntryPoint)((PVOID)((ULONG_PTR)ArmLoaderBlock | KSEG0_BASE));
|
||||
}
|
||||
|
||||
VOID
|
||||
@@ -1031,9 +1078,12 @@ ArmPrepareForReactOS(IN BOOLEAN Setup)
|
||||
PLIST_ENTRY NextEntry, OldEntry;
|
||||
PARC_DISK_INFORMATION ArcDiskInformation;
|
||||
PARC_DISK_SIGNATURE ArcDiskSignature;
|
||||
ULONG ArcDiskCount = 0, Checksum = 0;
|
||||
ULONG ArcDiskCount = 0;
|
||||
#if 0
|
||||
ULONG Checksum = 0;
|
||||
PMASTER_BOOT_RECORD Mbr;
|
||||
PULONG Buffer;
|
||||
#endif
|
||||
PWCHAR ArmModuleName;
|
||||
|
||||
//
|
||||
@@ -1104,7 +1154,7 @@ ArmPrepareForReactOS(IN BOOLEAN Setup)
|
||||
0,
|
||||
&Dummy);
|
||||
if (Status != STATUS_SUCCESS) return;
|
||||
|
||||
#if 0
|
||||
//
|
||||
// Setup descriptor for the boot page tables
|
||||
//
|
||||
@@ -1115,7 +1165,7 @@ ArmPrepareForReactOS(IN BOOLEAN Setup)
|
||||
0,
|
||||
&Dummy);
|
||||
if (Status != STATUS_SUCCESS) return;
|
||||
|
||||
#endif
|
||||
//
|
||||
// Setup descriptor for the kernel
|
||||
//
|
||||
@@ -1530,6 +1580,7 @@ ArmPrepareForReactOS(IN BOOLEAN Setup)
|
||||
InitializeListHead(&ArcDiskInformation->DiskSignatureListHead);
|
||||
ArmLoaderBlock->ArcDiskInformation = (PVOID)((ULONG_PTR)ArcDiskInformation | KSEG0_BASE);
|
||||
|
||||
#if 0
|
||||
//
|
||||
// Read the MBR
|
||||
//
|
||||
@@ -1543,12 +1594,13 @@ ArmPrepareForReactOS(IN BOOLEAN Setup)
|
||||
for (i = 0; i < 128; i++) Checksum += Buffer[i];
|
||||
Checksum = ~Checksum + 1;
|
||||
|
||||
#endif
|
||||
//
|
||||
// Allocate a disk signature and fill it out
|
||||
//
|
||||
ArcDiskSignature = ArmAllocateFromSharedHeap(sizeof(ARC_DISK_SIGNATURE));
|
||||
ArcDiskSignature->Signature = Mbr->Signature;
|
||||
ArcDiskSignature->CheckSum = Checksum;
|
||||
ArcDiskSignature->Signature = 0xBADAB00B;// Mbr->Signature;
|
||||
ArcDiskSignature->CheckSum = 0xFAB4BEEF; //Checksum;
|
||||
|
||||
//
|
||||
// Allocare a string for the name and fill it out
|
||||
@@ -1597,7 +1649,7 @@ VOID
|
||||
FrLdrStartup(IN ULONG Magic)
|
||||
{
|
||||
//
|
||||
// Disable interrupts (aleady done)
|
||||
// Disable interrupts (already done)
|
||||
//
|
||||
|
||||
//
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
#define RGB565(r, g, b) (((r >> 3) << 11)| ((g >> 2) << 5)| ((b >> 3) << 0))
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
@@ -19,6 +20,7 @@ ULONG BootDrive, BootPartition;
|
||||
VOID ArmPrepareForReactOS(IN BOOLEAN Setup);
|
||||
ADDRESS_RANGE ArmBoardMemoryMap[16];
|
||||
ULONG ArmBoardMemoryMapRangeCount;
|
||||
ULONG gDiskReadBuffer, gFileSysBuffer;
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
@@ -33,7 +35,7 @@ ArmInit(IN PARM_BOARD_CONFIGURATION_BLOCK BootContext)
|
||||
ArmBoardBlock = BootContext;
|
||||
|
||||
//
|
||||
// Let's make sure we understand the boot-loader
|
||||
// Let's make sure we understand the LLB
|
||||
//
|
||||
ASSERT(ArmBoardBlock->MajorVersion == ARM_BOARD_CONFIGURATION_MAJOR_VERSION);
|
||||
ASSERT(ArmBoardBlock->MinorVersion == ARM_BOARD_CONFIGURATION_MINOR_VERSION);
|
||||
@@ -68,25 +70,26 @@ ArmInit(IN PARM_BOARD_CONFIGURATION_BLOCK BootContext)
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
ArmDiskGetDriveGeometry(IN ULONG DriveNumber,
|
||||
OUT PGEOMETRY Geometry)
|
||||
ArmDiskNormalizeSystemPath(IN OUT PCHAR SystemPath,
|
||||
IN unsigned Size)
|
||||
{
|
||||
return FALSE;
|
||||
/* Only RAMDISK supported for now */
|
||||
if (!strstr(SystemPath, "ramdisk(0)")) return FALSE;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
ArmDiskReadLogicalSectors(IN ULONG DriveNumber,
|
||||
IN ULONGLONG SectorNumber,
|
||||
IN ULONG SectorCount,
|
||||
IN PVOID Buffer)
|
||||
ArmDiskGetBootPath(OUT PCHAR BootPath,
|
||||
IN unsigned Size)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ULONG
|
||||
ArmDiskGetCacheableBlockCount(IN ULONG DriveNumber)
|
||||
{
|
||||
return 0;
|
||||
PCCH Path = "ramdisk(0)";
|
||||
|
||||
/* Make sure enough space exists */
|
||||
if (Size < sizeof(Path)) return FALSE;
|
||||
|
||||
/* On ARM platforms, the loader is always in RAM */
|
||||
strcpy(BootPath, Path);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
PCONFIGURATION_COMPONENT_DATA
|
||||
@@ -106,6 +109,11 @@ ArmHwDetect(VOID)
|
||||
// or OpenFirmware device trees, and we will convert it to ARC.
|
||||
//
|
||||
|
||||
//
|
||||
// Register RAMDISK Device
|
||||
//
|
||||
RamDiskInitialize();
|
||||
|
||||
//
|
||||
// Return the root node
|
||||
//
|
||||
@@ -133,32 +141,41 @@ MachInit(IN PCCH CommandLine)
|
||||
//
|
||||
switch (ArmBoardBlock->BoardType)
|
||||
{
|
||||
//
|
||||
// Check for Feroceon-base boards
|
||||
//
|
||||
//
|
||||
// Check for Feroceon-base boards
|
||||
//
|
||||
case MACH_TYPE_FEROCEON:
|
||||
|
||||
//
|
||||
// These boards use a UART16550. Set us up for 115200 bps
|
||||
//
|
||||
ArmFeroSerialInit(115200);
|
||||
MachVtbl.ConsPutChar = ArmFeroPutChar;
|
||||
MachVtbl.ConsKbHit = ArmFeroKbHit;
|
||||
MachVtbl.ConsGetCh = ArmFeroGetCh;
|
||||
TuiPrintf("Not implemented\n");
|
||||
while (TRUE);
|
||||
break;
|
||||
|
||||
//
|
||||
// Check for ARM Versatile PB boards
|
||||
//
|
||||
//
|
||||
// Check for ARM Versatile PB boards
|
||||
//
|
||||
case MACH_TYPE_VERSATILE_PB:
|
||||
|
||||
//
|
||||
// These boards use a PrimeCell UART (PL011)
|
||||
//
|
||||
ArmVersaSerialInit(115200);
|
||||
MachVtbl.ConsPutChar = ArmVersaPutChar;
|
||||
MachVtbl.ConsKbHit = ArmVersaKbHit;
|
||||
MachVtbl.ConsGetCh = ArmVersaGetCh;
|
||||
/* Copy Machine Routines from Firmware Table */
|
||||
MachVtbl.ConsPutChar = ArmBoardBlock->ConsPutChar;
|
||||
MachVtbl.ConsKbHit = ArmBoardBlock->ConsKbHit;
|
||||
MachVtbl.ConsGetCh = ArmBoardBlock->ConsGetCh;
|
||||
MachVtbl.VideoClearScreen = ArmBoardBlock->VideoClearScreen;
|
||||
MachVtbl.VideoSetDisplayMode = ArmBoardBlock->VideoSetDisplayMode;
|
||||
MachVtbl.VideoGetDisplaySize = ArmBoardBlock->VideoGetDisplaySize;
|
||||
MachVtbl.VideoGetBufferSize = ArmBoardBlock->VideoGetBufferSize;
|
||||
MachVtbl.VideoSetTextCursorPosition = ArmBoardBlock->VideoSetTextCursorPosition;
|
||||
MachVtbl.VideoSetTextCursorPosition = ArmBoardBlock->VideoSetTextCursorPosition;
|
||||
MachVtbl.VideoHideShowTextCursor = ArmBoardBlock->VideoHideShowTextCursor;
|
||||
MachVtbl.VideoPutChar = ArmBoardBlock->VideoPutChar;
|
||||
MachVtbl.VideoCopyOffScreenBufferToVRAM = ArmBoardBlock->VideoCopyOffScreenBufferToVRAM;
|
||||
MachVtbl.VideoIsPaletteFixed = ArmBoardBlock->VideoIsPaletteFixed;
|
||||
MachVtbl.VideoSetPaletteColor = ArmBoardBlock->VideoSetPaletteColor;
|
||||
MachVtbl.VideoGetPaletteColor = ArmBoardBlock->VideoGetPaletteColor;
|
||||
MachVtbl.VideoSync = ArmBoardBlock->VideoSync;
|
||||
MachVtbl.GetTime = ArmBoardBlock->GetTime;
|
||||
|
||||
/* Setup the disk and file system buffers */
|
||||
gDiskReadBuffer = 0x00090000;
|
||||
gFileSysBuffer = 0x00090000;
|
||||
break;
|
||||
|
||||
//
|
||||
@@ -166,14 +183,8 @@ MachInit(IN PCCH CommandLine)
|
||||
// For now that means only Beagle, but ZOOM and others should be ok too
|
||||
//
|
||||
case MACH_TYPE_OMAP3_BEAGLE:
|
||||
|
||||
//
|
||||
// These boards use a UART16550
|
||||
//
|
||||
ArmOmap3SerialInit(115200);
|
||||
MachVtbl.ConsPutChar = ArmOmap3PutChar;
|
||||
MachVtbl.ConsKbHit = ArmOmap3KbHit;
|
||||
MachVtbl.ConsGetCh = ArmOmap3GetCh;
|
||||
TuiPrintf("Not implemented\n");
|
||||
while (TRUE);
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -190,19 +201,12 @@ MachInit(IN PCCH CommandLine)
|
||||
//
|
||||
// Setup disk I/O routines
|
||||
//
|
||||
MachVtbl.DiskReadLogicalSectors = ArmDiskReadLogicalSectors;
|
||||
MachVtbl.DiskGetDriveGeometry = ArmDiskGetDriveGeometry;
|
||||
MachVtbl.DiskGetCacheableBlockCount = ArmDiskGetCacheableBlockCount;
|
||||
|
||||
//
|
||||
// Now set default disk handling routines -- we don't need to override
|
||||
//
|
||||
MachVtbl.DiskGetBootPath = DiskGetBootPath;
|
||||
MachVtbl.DiskNormalizeSystemPath = DiskNormalizeSystemPath;
|
||||
MachVtbl.DiskGetBootPath = ArmDiskGetBootPath;
|
||||
MachVtbl.DiskNormalizeSystemPath = ArmDiskNormalizeSystemPath;
|
||||
|
||||
//
|
||||
// We can now print to the console
|
||||
//
|
||||
TuiPrintf("%s for ARM\n", GetFreeLoaderVersionString());
|
||||
TuiPrintf("Bootargs: %s\n", CommandLine);
|
||||
TuiPrintf("Bootargs: %s\n\n", CommandLine);
|
||||
}
|
||||
|
||||
@@ -1,162 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/freeldr/arch/arm/omapuart.c
|
||||
* PURPOSE: Implements code for TI OMAP3 boards using the 16550 UART
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
//
|
||||
// UART Registers
|
||||
//
|
||||
#define UART0_RHR (ArmBoardBlock->UartRegisterBase + 0x00)
|
||||
#define UART0_THR UART0_RHR
|
||||
#define UART0_IER (ArmBoardBlock->UartRegisterBase + 0x04)
|
||||
#define UART0_FCR (ArmBoardBlock->UartRegisterBase + 0x08)
|
||||
#define UART0_LCR (ArmBoardBlock->UartRegisterBase + 0x0C)
|
||||
#define UART0_MCR (ArmBoardBlock->UartRegisterBase + 0x10)
|
||||
#define UART0_LSR (ArmBoardBlock->UartRegisterBase + 0x14)
|
||||
#define UART0_MDR1 (ArmBoardBlock->UartRegisterBase + 0x20)
|
||||
|
||||
//
|
||||
// When we enable the divisor latch
|
||||
//
|
||||
#define UART0_DLL UART0_RHR
|
||||
#define UART0_DLH UART0_IER
|
||||
|
||||
//
|
||||
// FCR Values
|
||||
//
|
||||
#define FCR_FIFO_EN 0x01
|
||||
#define FCR_RXSR 0x02
|
||||
#define FCR_TXSR 0x04
|
||||
|
||||
//
|
||||
// LCR Values
|
||||
//
|
||||
#define LCR_WLS_8 0x03
|
||||
#define LCR_1_STB 0x00
|
||||
#define LCR_DIVL_EN 0x80
|
||||
#define LCR_NO_PAR 0x00
|
||||
|
||||
//
|
||||
// LSR Values
|
||||
//
|
||||
#define LSR_DR 0x01
|
||||
#define LSR_THRE 0x20
|
||||
|
||||
//
|
||||
// MCR Values
|
||||
//
|
||||
#define MCR_DTR 0x01
|
||||
#define MCR_RTS 0x02
|
||||
|
||||
//
|
||||
// MDR1 Modes
|
||||
//
|
||||
#define MDR1_UART16X 1
|
||||
#define MDR1_SIR 2
|
||||
#define MDR1_UART16X_AUTO_BAUD 3
|
||||
#define MDR1_UART13X 4
|
||||
#define MDR1_MIR 5
|
||||
#define MDR1_FIR 6
|
||||
#define MDR1_CIR 7
|
||||
#define MDR1_DISABLE 8
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
ArmOmap3SerialInit(IN ULONG Baudrate)
|
||||
{
|
||||
ULONG BaudClock;
|
||||
|
||||
//
|
||||
// Calculate baudrate clock divider to set the baud rate
|
||||
//
|
||||
BaudClock = (ArmBoardBlock->ClockRate / 16) / Baudrate;
|
||||
|
||||
//
|
||||
// Disable serial port
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_MDR1, MDR1_DISABLE);
|
||||
|
||||
//
|
||||
// Disable interrupts
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_IER, 0);
|
||||
|
||||
//
|
||||
// Set the baud rate to 115200 bps
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_LCR, LCR_DIVL_EN);
|
||||
WRITE_REGISTER_UCHAR(UART0_DLL, BaudClock);
|
||||
WRITE_REGISTER_UCHAR(UART0_DLH, (BaudClock >> 8) & 0xFF);
|
||||
|
||||
//
|
||||
// Setup loopback
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_MCR, MCR_DTR | MCR_RTS);
|
||||
|
||||
//
|
||||
// Set 8 bits for data, 1 stop bit, no parity
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_LCR, LCR_WLS_8 | LCR_1_STB | LCR_NO_PAR);
|
||||
|
||||
//
|
||||
// Clear and enable FIFO
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_FCR, FCR_FIFO_EN | FCR_RXSR | FCR_TXSR);
|
||||
|
||||
//
|
||||
// Enable serial port
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_MDR1, MDR1_UART16X);
|
||||
}
|
||||
|
||||
VOID
|
||||
ArmOmap3PutChar(IN INT Char)
|
||||
{
|
||||
//
|
||||
// Properly support new-lines
|
||||
//
|
||||
if (Char == '\n') ArmOmap3PutChar('\r');
|
||||
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_THRE) == 0);
|
||||
|
||||
//
|
||||
// Send the character
|
||||
//
|
||||
WRITE_REGISTER_UCHAR(UART0_THR, Char);
|
||||
}
|
||||
|
||||
INT
|
||||
ArmOmap3GetCh(VOID)
|
||||
{
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_DR) == 0);
|
||||
|
||||
//
|
||||
// Read the character
|
||||
//
|
||||
return READ_REGISTER_UCHAR(UART0_RHR);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
ArmOmap3KbHit(VOID)
|
||||
{
|
||||
//
|
||||
// Return if something is ready
|
||||
//
|
||||
return ((READ_REGISTER_UCHAR(UART0_LSR) & LSR_DR) != 0);
|
||||
}
|
||||
@@ -1,132 +0,0 @@
|
||||
/*
|
||||
* PROJECT: ReactOS Boot Loader
|
||||
* LICENSE: BSD - See COPYING.ARM in the top level directory
|
||||
* FILE: boot/freeldr/arch/arm/versuart.c
|
||||
* PURPOSE: Implements code for Versatile boards using the PL011 UART
|
||||
* PROGRAMMERS: ReactOS Portable Systems Group
|
||||
*/
|
||||
|
||||
/* INCLUDES *******************************************************************/
|
||||
|
||||
#include <freeldr.h>
|
||||
|
||||
/* GLOBALS ********************************************************************/
|
||||
|
||||
//
|
||||
// UART Registers
|
||||
//
|
||||
#define UART_PL01x_DR (ArmBoardBlock->UartRegisterBase + 0x00)
|
||||
#define UART_PL01x_RSR (ArmBoardBlock->UartRegisterBase + 0x04)
|
||||
#define UART_PL01x_ECR (ArmBoardBlock->UartRegisterBase + 0x04)
|
||||
#define UART_PL01x_FR (ArmBoardBlock->UartRegisterBase + 0x18)
|
||||
#define UART_PL011_IBRD (ArmBoardBlock->UartRegisterBase + 0x24)
|
||||
#define UART_PL011_FBRD (ArmBoardBlock->UartRegisterBase + 0x28)
|
||||
#define UART_PL011_LCRH (ArmBoardBlock->UartRegisterBase + 0x2C)
|
||||
#define UART_PL011_CR (ArmBoardBlock->UartRegisterBase + 0x30)
|
||||
#define UART_PL011_IMSC (ArmBoardBlock->UartRegisterBase + 0x38)
|
||||
|
||||
//
|
||||
// LCR Values
|
||||
//
|
||||
#define UART_PL011_LCRH_WLEN_8 0x60
|
||||
#define UART_PL011_LCRH_FEN 0x10
|
||||
|
||||
//
|
||||
// FCR Values
|
||||
//
|
||||
#define UART_PL011_CR_UARTEN 0x01
|
||||
#define UART_PL011_CR_TXE 0x100
|
||||
#define UART_PL011_CR_RXE 0x200
|
||||
|
||||
//
|
||||
// LSR Values
|
||||
//
|
||||
#define UART_PL01x_FR_RXFE 0x10
|
||||
#define UART_PL01x_FR_TXFF 0x20
|
||||
|
||||
/* FUNCTIONS ******************************************************************/
|
||||
|
||||
VOID
|
||||
ArmVersaSerialInit(IN ULONG Baudrate)
|
||||
{
|
||||
ULONG Divider, Remainder, Fraction;
|
||||
|
||||
//
|
||||
// Calculate baudrate clock divider and remainder
|
||||
//
|
||||
Divider = ArmBoardBlock->ClockRate / (16 * Baudrate);
|
||||
Remainder = ArmBoardBlock->ClockRate % (16 * Baudrate);
|
||||
|
||||
//
|
||||
// Calculate the fractional part
|
||||
//
|
||||
Fraction = (8 * Remainder / Baudrate) >> 1;
|
||||
Fraction += (8 * Remainder / Baudrate) & 1;
|
||||
|
||||
//
|
||||
// Disable interrupts
|
||||
//
|
||||
WRITE_REGISTER_ULONG(UART_PL011_CR, 0);
|
||||
|
||||
//
|
||||
// Set the baud rate to 115200 bps
|
||||
//
|
||||
WRITE_REGISTER_ULONG(UART_PL011_IBRD, Divider);
|
||||
WRITE_REGISTER_ULONG(UART_PL011_FBRD, Fraction);
|
||||
|
||||
//
|
||||
// Set 8 bits for data, 1 stop bit, no parity, FIFO enabled
|
||||
//
|
||||
WRITE_REGISTER_ULONG(UART_PL011_LCRH,
|
||||
UART_PL011_LCRH_WLEN_8 | UART_PL011_LCRH_FEN);
|
||||
|
||||
//
|
||||
// Clear and enable FIFO
|
||||
//
|
||||
WRITE_REGISTER_ULONG(UART_PL011_CR,
|
||||
UART_PL011_CR_UARTEN |
|
||||
UART_PL011_CR_TXE |
|
||||
UART_PL011_CR_RXE);
|
||||
}
|
||||
|
||||
VOID
|
||||
ArmVersaPutChar(IN INT Char)
|
||||
{
|
||||
//
|
||||
// Properly support new-lines
|
||||
//
|
||||
if (Char == '\n') ArmVersaPutChar('\r');
|
||||
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_ULONG(UART_PL01x_FR) & UART_PL01x_FR_TXFF) != 0);
|
||||
|
||||
//
|
||||
// Send the character
|
||||
//
|
||||
WRITE_REGISTER_ULONG(UART_PL01x_DR, Char);
|
||||
}
|
||||
|
||||
INT
|
||||
ArmVersaGetCh(VOID)
|
||||
{
|
||||
//
|
||||
// Wait for ready
|
||||
//
|
||||
while ((READ_REGISTER_ULONG(UART_PL01x_FR) & UART_PL01x_FR_RXFE) != 0);
|
||||
|
||||
//
|
||||
// Read the character
|
||||
//
|
||||
return READ_REGISTER_ULONG(UART_PL01x_DR);
|
||||
}
|
||||
|
||||
BOOLEAN
|
||||
ArmVersaKbHit(VOID)
|
||||
{
|
||||
//
|
||||
// Return if something is ready
|
||||
//
|
||||
return ((READ_REGISTER_ULONG(UART_PL01x_FR) & UART_PL01x_FR_RXFE) == 0);
|
||||
}
|
||||
@@ -28,8 +28,6 @@ extern PAGE_DIRECTORY_X86 startup_pagedirectory;
|
||||
extern PAGE_DIRECTORY_X86 lowmem_pagetable;
|
||||
extern PAGE_DIRECTORY_X86 kernel_pagetable;
|
||||
extern PAGE_DIRECTORY_X86 apic_pagetable;
|
||||
extern PAGE_DIRECTORY_X86 kpcr_pagetable;
|
||||
extern PAGE_DIRECTORY_X86 kuser_pagetable;
|
||||
extern ULONG_PTR KernelBase;
|
||||
extern ROS_KERNEL_ENTRY_POINT KernelEntryPoint;
|
||||
|
||||
|
||||
@@ -35,8 +35,6 @@
|
||||
.globl _lowmem_pagetable
|
||||
.globl _kernel_pagetable
|
||||
.globl _apic_pagetable
|
||||
.globl _kpcr_pagetable
|
||||
.globl _kuser_pagetable
|
||||
|
||||
.globl _PageDirectoryEnd
|
||||
|
||||
@@ -66,10 +64,4 @@ _kernel_pagetable:
|
||||
_apic_pagetable:
|
||||
.fill 4096, 1, 0
|
||||
|
||||
_kpcr_pagetable:
|
||||
.fill 4096, 1, 0
|
||||
|
||||
_kuser_pagetable:
|
||||
.fill 4096, 1, 0
|
||||
|
||||
_PageDirectoryEnd:
|
||||
|
||||
@@ -21,7 +21,7 @@ VOID
|
||||
CmdLineParse(IN PCHAR CmdLine)
|
||||
{
|
||||
PCHAR End, Setting;
|
||||
ULONG Length;
|
||||
ULONG Length, Offset = 0;
|
||||
|
||||
//
|
||||
// Set defaults
|
||||
@@ -76,6 +76,21 @@ CmdLineParse(IN PCHAR CmdLine)
|
||||
sizeof(ANSI_NULL),
|
||||
NULL,
|
||||
0);
|
||||
|
||||
//
|
||||
// Get ramdisk offset
|
||||
//
|
||||
Setting = strstr(CmdLine, "rdoffset=");
|
||||
if (Setting) Offset = strtoul(Setting +
|
||||
sizeof("rdoffset=") -
|
||||
sizeof(ANSI_NULL),
|
||||
NULL,
|
||||
0);
|
||||
|
||||
//
|
||||
// Fix it up
|
||||
//
|
||||
gRamDiskBase = (PVOID)((ULONG_PTR)gRamDiskBase + Offset);
|
||||
}
|
||||
|
||||
PCCH
|
||||
|
||||
@@ -108,6 +108,14 @@ static const DEVVTBL RamDiskVtbl = {
|
||||
RamDiskSeek,
|
||||
};
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RamDiskInitialize(VOID)
|
||||
{
|
||||
/* Setup the RAMDISK device */
|
||||
FsRegisterDevice("ramdisk(0)", &RamDiskVtbl);
|
||||
}
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RamDiskLoadVirtualFile(IN PCHAR FileName)
|
||||
|
||||
@@ -32,8 +32,14 @@
|
||||
<library>rtl</library>
|
||||
<library>libcntpr</library>
|
||||
<group linkerset="ld">
|
||||
<linkerflag>-static</linkerflag>
|
||||
<linkerflag>-lgcc</linkerflag>
|
||||
<linkerflag>-Wl,--image-base=0x80FFF000</linkerflag>
|
||||
<if property="SARCH" value="omap3">
|
||||
<linkerflag>-Wl,--image-base=0x80FFF000</linkerflag>
|
||||
</if>
|
||||
<if property="SARCH" value="versatile">
|
||||
<linkerflag>-Wl,--image-base=0x0001F000</linkerflag>
|
||||
</if>
|
||||
</group>
|
||||
</module>
|
||||
</if>
|
||||
|
||||
@@ -73,11 +73,8 @@
|
||||
<directory name="arm">
|
||||
<if property="ARCH" value="arm">
|
||||
<file first="true">boot.s</file>
|
||||
<file>ferouart.c</file>
|
||||
<file>loader.c</file>
|
||||
<file>macharm.c</file>
|
||||
<file>omapuart.c</file>
|
||||
<file>versuart.c</file>
|
||||
</if>
|
||||
</directory>
|
||||
|
||||
|
||||
@@ -47,9 +47,13 @@
|
||||
#define FILESYSBUFFER 0x80000 /* Buffer to store file system data (e.g. cluster buffer for FAT) */
|
||||
#define DISKREADBUFFER 0x90000 /* Buffer to store data read in from the disk via the BIOS */
|
||||
#define DISKREADBUFFER_SIZE 512
|
||||
#elif defined(_M_PPC) || defined(_M_MIPS) || defined(_M_ARM)
|
||||
#elif defined(_M_PPC) || defined(_M_MIPS)
|
||||
#define DISKREADBUFFER 0x80000000
|
||||
#define FILESYSBUFFER 0x80000000
|
||||
#elif defined(_M_ARM)
|
||||
extern ULONG gDiskReadBuffer, gFileSysBuffer;
|
||||
#define DISKREADBUFFER gDiskReadBuffer
|
||||
#define FILESYSBUFFER gFileSysBuffer
|
||||
#endif
|
||||
|
||||
/* Makes "x" a global variable or label */
|
||||
|
||||
@@ -13,41 +13,8 @@
|
||||
#include "../../reactos/registry.h"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Marvell Feroceon-based SoC:
|
||||
// Buffalo Linkstation, KuroBox Pro, D-Link DS323 and others
|
||||
//
|
||||
#define MACH_TYPE_FEROCEON 526
|
||||
|
||||
//
|
||||
// ARM Versatile PB:
|
||||
// qemu-system-arm -M versatilepb, RealView Development Boards and others
|
||||
//
|
||||
#define MACH_TYPE_VERSATILE_PB 387
|
||||
|
||||
//
|
||||
// TI Beagle Board, OMAP3530 SoC
|
||||
// qemu-system-arm -M beagle, Beagle Board
|
||||
//
|
||||
#define MACH_TYPE_OMAP3_BEAGLE 1546
|
||||
|
||||
//
|
||||
// Compatible boot-loaders should return us this information
|
||||
//
|
||||
#define ARM_BOARD_CONFIGURATION_MAJOR_VERSION 1
|
||||
#define ARM_BOARD_CONFIGURATION_MINOR_VERSION 1
|
||||
typedef struct _ARM_BOARD_CONFIGURATION_BLOCK
|
||||
{
|
||||
ULONG MajorVersion;
|
||||
ULONG MinorVersion;
|
||||
ULONG BoardType;
|
||||
ULONG ClockRate;
|
||||
ULONG TimerRegisterBase;
|
||||
ULONG UartRegisterBase;
|
||||
ULONG MemoryMapEntryCount;
|
||||
PBIOS_MEMORY_MAP MemoryMap;
|
||||
CHAR CommandLine[256];
|
||||
} ARM_BOARD_CONFIGURATION_BLOCK, *PARM_BOARD_CONFIGURATION_BLOCK;
|
||||
#include "../../../../../armllb/inc/osloader.h"
|
||||
#include "../../../../../armllb/inc/machtype.h"
|
||||
|
||||
//
|
||||
// Static heap for ARC Hardware Component Tree
|
||||
@@ -79,42 +46,6 @@ FldrCreateComponentKey(
|
||||
OUT PCONFIGURATION_COMPONENT_DATA *ComponentKey
|
||||
);
|
||||
|
||||
VOID
|
||||
ArmFeroSerialInit(IN ULONG Baudrate);
|
||||
|
||||
VOID
|
||||
ArmFeroPutChar(IN INT Char);
|
||||
|
||||
INT
|
||||
ArmFeroGetCh(VOID);
|
||||
|
||||
BOOLEAN
|
||||
ArmFeroKbHit(VOID);
|
||||
|
||||
VOID
|
||||
ArmOmap3SerialInit(IN ULONG Baudrate);
|
||||
|
||||
VOID
|
||||
ArmOmap3PutChar(IN INT Char);
|
||||
|
||||
INT
|
||||
ArmOmap3GetCh(VOID);
|
||||
|
||||
BOOLEAN
|
||||
ArmOmap3KbHit(VOID);
|
||||
|
||||
VOID
|
||||
ArmVersaSerialInit(IN ULONG Baudrate);
|
||||
|
||||
VOID
|
||||
ArmVersaPutChar(IN INT Char);
|
||||
|
||||
INT
|
||||
ArmVersaGetCh(VOID);
|
||||
|
||||
BOOLEAN
|
||||
ArmVersaKbHit(VOID);
|
||||
|
||||
extern PARM_BOARD_CONFIGURATION_BLOCK ArmBoardBlock;
|
||||
|
||||
#endif
|
||||
|
||||
@@ -18,6 +18,12 @@ RamDiskLoadVirtualFile(
|
||||
IN PCHAR FileName
|
||||
);
|
||||
|
||||
VOID
|
||||
NTAPI
|
||||
RamDiskInitialize(
|
||||
VOID
|
||||
);
|
||||
|
||||
extern PVOID gRamDiskBase;
|
||||
extern ULONG gRamDiskSize;
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user