general: Fix brand name to КолибриОС (#280)
- Ensure consistent brand name`КолибриОС`; update Docs and source code. Fixes #6. - Minimal whitespace clean-up; remove some trailing space from end of lines. Reviewed-on: #280 Reviewed-by: Burer <burer@noreply.localhost> Reviewed-by: Mikhail Frolov <mixa.frolov2003@gmail.com> Co-authored-by: Andrew <dent.ace@gmail.com> Co-committed-by: Andrew <dent.ace@gmail.com>
This commit was merged in pull request #280.
This commit is contained in:
@@ -5,7 +5,7 @@ diamond'ом. Она используется в проектах xonix и fara
|
||||
Kolibri-программу. Утилита всего лишь изменяет формат exe-шника, так что,
|
||||
чтобы действительно получилась работающая программа, нужно выполнение
|
||||
определённых условий. Понятно, что требуется, чтобы программа общалась
|
||||
с внешним миром средствами Колибри (т.е. int 0x40) и не использовала
|
||||
с внешним миром средствами КолибриОС (т.е. int 0x40) и не использовала
|
||||
никаких Windows-библиотек. Помимо этого, требуется также, чтобы программа
|
||||
размещалась по нулевому адресу (ключ линкера "/base:0"). Как писать такие
|
||||
программы - смотрите в уже упомянутых проектах xonix и fara.
|
||||
|
||||
@@ -9,15 +9,15 @@
|
||||
pre {white-space: pre-wrap;}
|
||||
h2 {margin-bottom:0;}
|
||||
blockquote {
|
||||
margin-bottom:0;
|
||||
border-left: 5px solid #EFE8D5;
|
||||
margin-bottom:0;
|
||||
border-left: 5px solid #EFE8D5;
|
||||
padding-left: 10px;}
|
||||
</style>
|
||||
</head>
|
||||
<body bgcolor="#FDF6E3" link="#5551FF"><pre><h1>Решение проблем и часто задаваемые вопросы</h1>
|
||||
<a href="guide.htm" param="d">< Назад</a>
|
||||
|
||||
<b>Какие есть варианты загрузки Колибри?</b>
|
||||
<b>Какие есть варианты загрузки КолибриОС?</b>
|
||||
С флешки, жесткого диска, CD, дискеты. Смотрите папку /HD_Load в скачанном дистрибутиве.
|
||||
При загрузке с флешки иногда может требоваться использование setmbr.exe, иногда нет. Вначале попробуйте загрузится без него, если не получится, то с ним.
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
2. Поменять настройки в BIOS: зайти в раздел с жесткими дисками и выставить режим совместимости с IDE или что-то похожее. (После всех эксперименов не забудьте поменять все обратно!)
|
||||
3. Воспользоваться драйвером ACHI. Для этого зайдите в SYSPANEL > <a href="/kolibrios/drivers/DRVINST.KEX">DriverInstall</a>.
|
||||
|
||||
<b>Как установить Колибри как основную ОС, скажем, на старенький ноутбук?</b>
|
||||
<b>Как установить КолибриОС как основную ОС, скажем, на старенький ноутбук?</b>
|
||||
Есть масса вариантов. Вот один из них.
|
||||
Если на ноутбуке нет ОС, то ставим на него Windows 98. Если на нем уже стоит Windows 95/98/2k/XP, то они тоже подойдут.
|
||||
Заходим в папку /HD_Load поставляемую в дистрибутиве. Там с помощью утилит устанавливаем Kolibri в дуалбут с Windows.
|
||||
@@ -49,7 +49,7 @@
|
||||
|
||||
MTRRs (Memory type range registers — Диапазонные регистры типа памяти) — используются для назначения типа (политики кеширования) участкам памяти. Регистры MTRR предоставляют механизм, связывающий типы памяти с физическими адресными диапазонами системной памяти. Они позволяют процессору оптимизировать операции для разных типов памяти, таких как ПЗУ, ОЗУ, кадровый буфер и отображаемые в памяти устройства ввода-вывода. Они также упрощают разработку системного оборудования, уменьшая количество контактов управляющих памятью, которые использовались для этой цели в ранних процессорах и внешних логических устройствах.
|
||||
|
||||
<b>На каких ещё языках программирования, кроме ассемблера, можно разрабатывать приложения для Колибри?</b>
|
||||
<b>На каких ещё языках программирования, кроме ассемблера, можно разрабатывать приложения для КолибриОС?</b>
|
||||
|
||||
Портированы:
|
||||
• Компилятор Oberon-07
|
||||
@@ -68,7 +68,7 @@ MTRRs (Memory type range registers — Диапазонные регистры
|
||||
Подробная статья по поддерживаемым компиляторам и их настройке <a href="http://kolibri-n.org/inf/hll/hll">здесь</a>.
|
||||
|
||||
<b>Wi-Fi работает?</b>
|
||||
Нет ни драйверов ни подсистемы.
|
||||
Нет ни драйверов ни подсистемы.
|
||||
Если вы хотите разработать подсистему и драйвер(а) WiFi - напишите нам на форум или в группу ВК, есть возможность оплатить разработку. Для этого нужно весьма неплохо знать ассемблер.
|
||||
|
||||
<b>Не работает мышь, флешка, клавиатура</b>
|
||||
@@ -79,28 +79,28 @@ MTRRs (Memory type range registers — Диапазонные регистры
|
||||
• Использовать PS/2 мышь...
|
||||
• Купить PCI карту на несколько USB 2.0 портов, благо стоит она копейки, часто продается на барахолках
|
||||
|
||||
<b>Можно ли в Колибри запускать EXE (приложения Windows)?</b>
|
||||
<b>Можно ли в КолибриОС запускать EXE (приложения Windows)?</b>
|
||||
Нет, это невозможно.
|
||||
Есть эмулятор DOS и <a href="http://board.kolibrios.org/viewtopic.php?f=9&t=2318&p=48991">PELoad</a> эмулятор некоторых функций WIN32 (в зачаточном состоянии).
|
||||
|
||||
<b>Когда будет нормальный браузер?</b>
|
||||
Браузер штука очень сложная, как в написании, так и в портировании. Есть наработки по портированию Netsurf, но пока все заглохло.
|
||||
Что и когда будет не известно.
|
||||
Что и когда будет не известно.
|
||||
|
||||
<b>У меня есть идея, давайте я вам ее напишу, а вы реализуете!</b>
|
||||
Чаще всего эти идеи мало полезны. Дело в том, что у каждого человека уже вовлеченного в проект, тоже есть множество нереализованных идей, подчас более ценных, чем у новичков, за счет того, что участники лучше разбираются в системе, ее возможностях и ограничениях. Проблема, как всегда, или в мотивации, или в отсутствии времени. Пожалуйста, учитывайте это приходя в проект и не требуйте ничего от незнакомых вам людей. Участвуйте, как наблюдатель и комментатор; и со временем вы сможете генерировать хорошие идеи предметно.
|
||||
К сожалению даже клевая идея не гарантирует ее скорейшей реализации, потому самый надежный шанс воплотить идею в жизнь - реализовать самому.
|
||||
Чаще всего эти идеи мало полезны. Дело в том, что у каждого человека уже вовлеченного в проект, тоже есть множество нереализованных идей, подчас более ценных, чем у новичков, за счет того, что участники лучше разбираются в системе, ее возможностях и ограничениях. Проблема, как всегда, или в мотивации, или в отсутствии времени. Пожалуйста, учитывайте это приходя в проект и не требуйте ничего от незнакомых вам людей. Участвуйте, как наблюдатель и комментатор; и со временем вы сможете генерировать хорошие идеи предметно.
|
||||
К сожалению даже клевая идея не гарантирует ее скорейшей реализации, потому самый надежный шанс воплотить идею в жизнь - реализовать самому.
|
||||
|
||||
<b>Почему в Колибри все еще нет ХХХ? Это же так важно!</b>
|
||||
Потому что это ХХХ еще никто не сделал.
|
||||
<b>Почему в КолибриОС все еще нет ХХХ? Это же так важно!</b>
|
||||
Потому что это ХХХ еще никто не сделал.
|
||||
См. предыдущий ответ.
|
||||
|
||||
<b>Какие у вас дальнейшие планы развития?</b>
|
||||
Большинство путей развития упирается не в планы, а в свободные руки. Особенно в квалифицированные рабочие руки.
|
||||
|
||||
<b>Как насчет версии для ARM вместо Android?</b>
|
||||
Нативно это невозможно. Абсолютно и полностью.
|
||||
Дело в том, что Колибри ОС написана на ассемблере x86, тем самым овермаксимально оптимизирована под процессоры x86. На мобильных девайсах используется другой тип процессора и другая архитектура - arm, что делает портирование невозможным.
|
||||
Нативно это невозможно. Абсолютно и полностью.
|
||||
Дело в том, что КолибриОС написана на ассемблере x86, тем самым овермаксимально оптимизирована под процессоры x86. На мобильных девайсах используется другой тип процессора и другая архитектура - arm, что делает портирование невозможным.
|
||||
Колибри - десктопная ОС для Пека, любите ее такой, какая она есть.
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
Загрузочный сектор для ОС Колибри (FAT12, дискета)
|
||||
Загрузочный сектор для КолибриОС (FAT12, дискета)
|
||||
|
||||
- Описание
|
||||
Позволяет загружать KERNEL.MNT с дискет/образов
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
Загрузочный сектор для ОС Колибри (FAT12, дискета)
|
||||
Загрузочный сектор для КолибриОС (FAT12, дискета)
|
||||
|
||||
- Описание
|
||||
Позволяет загружать KERNEL.MNT с дискет/образов
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
Загрузочный сектор для ОС Колибри (FAT12, дискета)
|
||||
Загрузочный сектор для КолибриОС (FAT12, дискета)
|
||||
|
||||
- Описание
|
||||
Позволяет загружать KERNEL.MNT с дискет/образов
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
;; ;;
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
Загрузочный сектор для ОС Колибри (FAT12, дискета)
|
||||
Загрузочный сектор для КолибриОС (FAT12, дискета)
|
||||
|
||||
- Описание
|
||||
Позволяет загружать KERNEL.MNT с дискет/образов
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
// ╚ёїюфэшъ шуЁ√ "╩Єю їюўхЄ с√Є№ ьшыышюэхЁюь?" фы ╩юышсЁш ╬╤
|
||||
// ╚ёїюфэшъ шуЁ√ "╩Єю їюўхЄ с√Є№ ьшыышюэхЁюь?" фы ╩юышсЁш╬╤
|
||||
// by └эфЁхщ ╠шїрщыютшў (Dron2004)
|
||||
|
||||
#include <kosSyst.h>
|
||||
@@ -83,7 +83,7 @@ void getFilePathName(){
|
||||
for (tmpcnt=0; tmpcnt<strlen(ourfilename); tmpcnt++){
|
||||
filepathname[tmpcnt+lastslashindex+1]=ourfilename[tmpcnt];
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
void prepareFileData() { //╧ЁхфтрЁшЄхы№э√х яюфёў╕Є√
|
||||
@@ -105,22 +105,22 @@ void loadquestion(){
|
||||
int qcodee;
|
||||
|
||||
int skipsleft;
|
||||
|
||||
|
||||
regenerate:
|
||||
qcodee=(rtlRand()%questioncount)+1;
|
||||
|
||||
qcodee=(rtlRand()%questioncount)+1;
|
||||
|
||||
Byte inputbyte[1]={0x00};
|
||||
|
||||
|
||||
//╧хЁт√щ яЁюїюф - яЁютхЁ хь ёыюцэюёЄ№ ш ёўшЄрхь фышэ√ ёЄЁюъ
|
||||
tempquestionlength = 0;
|
||||
tempanswerAlength = 0;
|
||||
tempanswerBlength = 0;
|
||||
tempanswerClength = 0;
|
||||
tempanswerDlength = 0;
|
||||
|
||||
|
||||
skipsleft=qcodee;
|
||||
CKosFile basefile(filepathname);
|
||||
|
||||
skipsleft=qcodee;
|
||||
CKosFile basefile(filepathname);
|
||||
//═рщф╕ь Єю ьхёЄю, юЄъєфр эрўшэрхЄё эр° тюяЁюё
|
||||
while (skipsleft>0){
|
||||
basefile.Read (inputbyte,1);
|
||||
@@ -132,7 +132,7 @@ regenerate:
|
||||
|
||||
//╧ЁютхЁшь ёыюцэюёЄ№
|
||||
basefile.Read (inputbyte,1);
|
||||
|
||||
|
||||
// ═рь эєцэю, ўЄюс√ ёыюцэюёЄ№ чрфртрхьюую тюяЁюёр ёююЄтхЄёЄтютрыр эюьхЁє чрфртрхьюую
|
||||
// т шуЁх тюяЁюёр (эр ъръє■ ёєььє ь√ шуЁрхь; тюяЁюё эр 1000000 фюыцхэ с√Є№ яюёыюцэхх,
|
||||
// ўхь тюяЁюё эр 100 Ёєсыхщ :-)))
|
||||
@@ -155,7 +155,7 @@ regenerate:
|
||||
goto regenerate;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
for (int counter=0; counter <currentquestion; counter++){
|
||||
if (askedquestions[counter]==qcodee){goto regenerate;}
|
||||
@@ -163,7 +163,7 @@ regenerate:
|
||||
|
||||
|
||||
askedquestions[currentquestion-1]=qcodee;
|
||||
|
||||
|
||||
|
||||
inputbyte[0]=0x00;
|
||||
//╤ўшЄрхь, ёъюы№ъю ёшьтюыют т тюяЁюёх
|
||||
@@ -210,12 +210,12 @@ regenerate:
|
||||
tempanswerD = new char[tempanswerDlength+1];
|
||||
|
||||
|
||||
|
||||
|
||||
// ┬╥╬╨╬╔ ╧╨╬╒╬─: ╘╬╨╠╚╨╙┼╠ ┬ ╧└╠▀╥╚ ┬╬╧╨╬╤ ╚ ┬└╨╚└═╥█ ╬╥┬┼╥└
|
||||
CKosFile basefile2(filepathname);
|
||||
inputbyte[0]=0x00;
|
||||
skipsleft=qcodee;
|
||||
|
||||
skipsleft=qcodee;
|
||||
|
||||
//═рщф╕ь Єю ьхёЄю, юЄъєфр эрўшэрхЄё эр° тюяЁюё
|
||||
while (skipsleft>0){
|
||||
basefile2.Read (inputbyte,1);
|
||||
@@ -224,11 +224,11 @@ regenerate:
|
||||
}
|
||||
inputbyte[0]=0x00;
|
||||
}
|
||||
|
||||
|
||||
basefile2.Read (inputbyte,1); // ▌Єю - ёыюцэюёЄ№ тюяЁюёр. ╠√ х╕ єцх яЁютхЁшыш.
|
||||
|
||||
//╫шЄрхь тюяЁюё
|
||||
int currentbyte=0;
|
||||
int currentbyte=0;
|
||||
while (inputbyte[0]!=0x01){
|
||||
basefile2.Read (inputbyte,1);
|
||||
if (inputbyte[0]!=0x01){tempquestion[currentbyte]=inputbyte[0];}
|
||||
@@ -237,7 +237,7 @@ regenerate:
|
||||
tempquestion[currentbyte]='\n';
|
||||
|
||||
//╫шЄрхь юЄтхЄ A
|
||||
currentbyte=0;
|
||||
currentbyte=0;
|
||||
while (inputbyte[0]!=0x02){
|
||||
basefile2.Read (inputbyte,1);
|
||||
if (inputbyte[0]!=0x02){tempanswerA[currentbyte]=inputbyte[0];}
|
||||
@@ -246,7 +246,7 @@ regenerate:
|
||||
tempanswerA[currentbyte]='\n';
|
||||
|
||||
//╫шЄрхь юЄтхЄ B
|
||||
currentbyte=0;
|
||||
currentbyte=0;
|
||||
while (inputbyte[0]!=0x03){
|
||||
basefile2.Read (inputbyte,1);
|
||||
if (inputbyte[0]!=0x03){tempanswerB[currentbyte]=inputbyte[0];}
|
||||
@@ -255,7 +255,7 @@ regenerate:
|
||||
tempanswerB[currentbyte]='\n';
|
||||
|
||||
//╫шЄрхь юЄтхЄ C
|
||||
currentbyte=0;
|
||||
currentbyte=0;
|
||||
while (inputbyte[0]!=0x04){
|
||||
basefile2.Read (inputbyte,1);
|
||||
if (inputbyte[0]!=0x04){tempanswerC[currentbyte]=inputbyte[0];}
|
||||
@@ -264,7 +264,7 @@ regenerate:
|
||||
tempanswerC[currentbyte]='\n';
|
||||
|
||||
//╫шЄрхь юЄтхЄ D
|
||||
currentbyte=0;
|
||||
currentbyte=0;
|
||||
while (inputbyte[0]!=0x08){
|
||||
basefile2.Read (inputbyte,1);
|
||||
if (inputbyte[0]!=0x08){tempanswerD[currentbyte]=inputbyte[0];}
|
||||
@@ -275,7 +275,7 @@ regenerate:
|
||||
basefile2.Read (inputbyte,1); // ▌Єю-яЁртшы№э√щ юЄтхЄ
|
||||
tempcorrectanswer=inputbyte[0];
|
||||
// ┬╤и!!!!!! ├╬╥╬┬╬!!!! ╙╨└!
|
||||
|
||||
|
||||
//╤ўшЄрыш. ╥хяхЁ№ эрфю яхЁхЄрёютрЄ№ тюяЁюё√.
|
||||
questionlength = 0;
|
||||
answerAlength = 0;
|
||||
@@ -297,7 +297,7 @@ regenerate:
|
||||
bool answerDfree = true;
|
||||
|
||||
int tmpvalue=0;
|
||||
|
||||
|
||||
//╧хЁт√щ тюяЁюё
|
||||
regenA:
|
||||
tmpvalue = (rtlRand() % 4) +1;
|
||||
@@ -306,7 +306,7 @@ regenA:
|
||||
answerAfree=false;
|
||||
answerAlength=tempanswerAlength;
|
||||
answerA= new char [answerAlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerAlength; c++){
|
||||
answerA[c]=tempanswerA[c];
|
||||
}
|
||||
@@ -322,7 +322,7 @@ regenA:
|
||||
answerBfree=false;
|
||||
answerBlength=tempanswerAlength;
|
||||
answerB= new char [answerBlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerBlength; c++){
|
||||
answerB[c]=tempanswerA[c];
|
||||
}
|
||||
@@ -338,7 +338,7 @@ regenA:
|
||||
answerCfree=false;
|
||||
answerClength=tempanswerAlength;
|
||||
answerC= new char [answerClength];
|
||||
|
||||
|
||||
for (int c=0; c<answerClength; c++){
|
||||
answerC[c]=tempanswerA[c];
|
||||
}
|
||||
@@ -354,7 +354,7 @@ regenA:
|
||||
answerDfree=false;
|
||||
answerDlength=tempanswerAlength;
|
||||
answerD= new char [answerDlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerDlength; c++){
|
||||
answerD[c]=tempanswerA[c];
|
||||
}
|
||||
@@ -374,7 +374,7 @@ regenB:
|
||||
answerAfree=false;
|
||||
answerAlength=tempanswerBlength;
|
||||
answerA= new char [answerAlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerAlength; c++){
|
||||
answerA[c]=tempanswerB[c];
|
||||
}
|
||||
@@ -390,7 +390,7 @@ regenB:
|
||||
answerBfree=false;
|
||||
answerBlength=tempanswerBlength;
|
||||
answerB= new char [answerBlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerBlength; c++){
|
||||
answerB[c]=tempanswerB[c];
|
||||
}
|
||||
@@ -406,7 +406,7 @@ regenB:
|
||||
answerCfree=false;
|
||||
answerClength=tempanswerBlength;
|
||||
answerC= new char [answerClength];
|
||||
|
||||
|
||||
for (int c=0; c<answerClength; c++){
|
||||
answerC[c]=tempanswerB[c];
|
||||
}
|
||||
@@ -422,7 +422,7 @@ regenB:
|
||||
answerDfree=false;
|
||||
answerDlength=tempanswerBlength;
|
||||
answerD= new char [answerDlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerDlength; c++){
|
||||
answerD[c]=tempanswerB[c];
|
||||
}
|
||||
@@ -442,7 +442,7 @@ regenC:
|
||||
answerAfree=false;
|
||||
answerAlength=tempanswerClength;
|
||||
answerA= new char [answerAlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerAlength; c++){
|
||||
answerA[c]=tempanswerC[c];
|
||||
}
|
||||
@@ -458,7 +458,7 @@ regenC:
|
||||
answerBfree=false;
|
||||
answerBlength=tempanswerClength;
|
||||
answerB= new char [answerBlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerBlength; c++){
|
||||
answerB[c]=tempanswerC[c];
|
||||
}
|
||||
@@ -474,7 +474,7 @@ regenC:
|
||||
answerCfree=false;
|
||||
answerClength=tempanswerClength;
|
||||
answerC= new char [answerClength];
|
||||
|
||||
|
||||
for (int c=0; c<answerClength; c++){
|
||||
answerC[c]=tempanswerC[c];
|
||||
}
|
||||
@@ -490,7 +490,7 @@ regenC:
|
||||
answerDfree=false;
|
||||
answerDlength=tempanswerClength;
|
||||
answerD= new char [answerDlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerDlength; c++){
|
||||
answerD[c]=tempanswerC[c];
|
||||
}
|
||||
@@ -510,7 +510,7 @@ regenD:
|
||||
answerAfree=false;
|
||||
answerAlength=tempanswerDlength;
|
||||
answerA= new char [answerAlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerAlength; c++){
|
||||
answerA[c]=tempanswerD[c];
|
||||
}
|
||||
@@ -526,7 +526,7 @@ regenD:
|
||||
answerBfree=false;
|
||||
answerBlength=tempanswerDlength;
|
||||
answerB= new char [answerBlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerBlength; c++){
|
||||
answerB[c]=tempanswerD[c];
|
||||
}
|
||||
@@ -542,7 +542,7 @@ regenD:
|
||||
answerCfree=false;
|
||||
answerClength=tempanswerDlength;
|
||||
answerC= new char [answerClength];
|
||||
|
||||
|
||||
for (int c=0; c<answerClength; c++){
|
||||
answerC[c]=tempanswerD[c];
|
||||
}
|
||||
@@ -558,7 +558,7 @@ regenD:
|
||||
answerDfree=false;
|
||||
answerDlength=tempanswerDlength;
|
||||
answerD= new char [answerDlength];
|
||||
|
||||
|
||||
for (int c=0; c<answerDlength; c++){
|
||||
answerD[c]=tempanswerD[c];
|
||||
}
|
||||
@@ -585,7 +585,7 @@ void draw_window(void){ //
|
||||
kos_WindowRedrawStatus(1);
|
||||
kos_DefineAndDrawWindow(10,10,619,179+kos_GetSkinHeight(),0x74, 0xDDDDFF, 0,0, (Dword)header);
|
||||
kos_WindowRedrawStatus(2);
|
||||
|
||||
|
||||
kos_ProcessInfo( &sPI );
|
||||
if (sPI.rawData[70]&0x04) return; //эшўхую эх фхырЄ№ хёыш юъэю ёїыюяэєЄю т чруюыютюъ
|
||||
|
||||
@@ -593,9 +593,9 @@ void draw_window(void){ //
|
||||
if (status==0){ //╠хэ■
|
||||
kos_DrawBar(0,0,610,175,0xFFFFBB);
|
||||
kos_WriteTextToWindow (10,10,0x80,0x000000, "Кто хочет быть миллионером?", 3);
|
||||
|
||||
|
||||
kos_WriteTextToWindow (10,25,0x80,0x000000, sVersion, 3);
|
||||
|
||||
|
||||
kos_WriteTextToWindow (10,70,0x80,0x770000, "<ENTER> - начать игру", 0);
|
||||
kos_WriteTextToWindow (10,85,0x80,0x770000, "<ESC> - выход", 0);
|
||||
|
||||
@@ -607,7 +607,7 @@ void draw_window(void){ //
|
||||
kos_DrawBar(0,0,610,175,0xEEEEFF);
|
||||
|
||||
kos_WriteTextToWindow (10,10,0x0,0x000000, question, questionlength-1);
|
||||
|
||||
|
||||
if (drawA==true){
|
||||
kos_WriteTextToWindow (10,40,0x80,0x000000, "A. ", 0);
|
||||
kos_WriteTextToWindow (30,40,0x0,0x000000, answerA, answerAlength-1);
|
||||
@@ -637,12 +637,12 @@ void draw_window(void){ //
|
||||
kos_WriteTextToWindow (500,150,0x80,0x000000, summs[currentquestion-1], 0);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
if (status==2){ //╬ъэю "▌Єю - яЁртшы№э√щ юЄтхЄ"
|
||||
kos_DrawBar(0,0,610,175,0xDDFFDD);
|
||||
kos_WriteTextToWindow (10,10,0x80,0x000000, "Да, это правильный ответ!", 0);
|
||||
|
||||
|
||||
kos_WriteTextToWindow (10,150,0x80,0x000000, "<ENTER> - продолжить", 0);
|
||||
}
|
||||
if (status==3){ //┬√ т√шуЁрыш ьшыышюэ, юфэръю ц!!!
|
||||
@@ -683,7 +683,7 @@ void draw_window(void){ //
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
kos_WriteTextToWindow (10,150,0x80,0x000000, "<ENTER> - продолжить", 0);
|
||||
}
|
||||
|
||||
@@ -696,7 +696,7 @@ void draw_window(void){ //
|
||||
if (status==-1){ //┬√ ю°шсышё№ :-(
|
||||
kos_DrawBar(0,0,610,175,0xFF8888);
|
||||
kos_WriteTextToWindow (10,10,0x80,0x000000, "К сожалению, вы ошиблись... Правильный ответ -", 0);
|
||||
|
||||
|
||||
switch (correctanswer){
|
||||
case 0x01:
|
||||
kos_WriteTextToWindow (10,25,0x80,0x000000, "A. ", 0);
|
||||
@@ -716,7 +716,7 @@ void draw_window(void){ //
|
||||
break;
|
||||
}
|
||||
kos_WriteTextToWindow (10,50,0x80,0x000000, "В результате вы выиграли:", 0);
|
||||
|
||||
|
||||
if (currentquestion<6) {kos_WriteTextToWindow (220,50,0x80,0x000000,summs[0], 0);}
|
||||
if ((currentquestion>5)&&(currentquestion<11)) {kos_WriteTextToWindow (220,50,0x80,0x000000,summs[5], 0);}
|
||||
if (currentquestion>10) {kos_WriteTextToWindow (220,50,0x80,0x000000,summs[10], 0);}
|
||||
@@ -733,9 +733,9 @@ void draw_window(void){ //
|
||||
|
||||
void call_friend(){
|
||||
int tmpcodee;
|
||||
|
||||
|
||||
recode5:
|
||||
tmpcodee =(rtlRand()%10)+1;
|
||||
tmpcodee =(rtlRand()%10)+1;
|
||||
int tmpbyte;
|
||||
|
||||
if (currentquestion < 6 ){
|
||||
@@ -747,7 +747,7 @@ void call_friend(){
|
||||
}
|
||||
else //─Ёєу уютюЁшЄ эрєурф
|
||||
{
|
||||
|
||||
|
||||
int tmpbyte2=0;
|
||||
recode51:
|
||||
int tmpcodee2=(rtlRand()%4)+1;
|
||||
@@ -779,7 +779,7 @@ void call_friend(){
|
||||
}
|
||||
else //─Ёєу уютюЁшЄ эрєурф
|
||||
{
|
||||
|
||||
|
||||
int tmpbyte2=0;
|
||||
recode52:
|
||||
int tmpcodee2=(rtlRand()%4)+1;
|
||||
@@ -917,7 +917,7 @@ void call_zal(){ //
|
||||
zalA=100-zalD;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((drawB==true)&&(drawC==true)){
|
||||
if (correctanswer==0x02){
|
||||
zalB=maxpercent;
|
||||
@@ -940,7 +940,7 @@ void call_zal(){ //
|
||||
zalB=100-zalD;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ((drawC==true)&&(drawD==true)){
|
||||
if (correctanswer==0x03){
|
||||
zalC=maxpercent;
|
||||
@@ -1005,7 +1005,7 @@ void kos_Main(){
|
||||
drawB = true;
|
||||
drawC = true;
|
||||
drawD = true;
|
||||
|
||||
|
||||
draw_window();
|
||||
}
|
||||
}
|
||||
@@ -1023,8 +1023,8 @@ void kos_Main(){
|
||||
drawB = true;
|
||||
drawC = true;
|
||||
drawD = true;
|
||||
|
||||
draw_window();
|
||||
|
||||
draw_window();
|
||||
}
|
||||
}
|
||||
if (drawC==true){
|
||||
@@ -1040,8 +1040,8 @@ void kos_Main(){
|
||||
drawB = true;
|
||||
drawC = true;
|
||||
drawD = true;
|
||||
|
||||
draw_window();
|
||||
|
||||
draw_window();
|
||||
}
|
||||
}
|
||||
if (drawD==true){
|
||||
@@ -1057,11 +1057,11 @@ void kos_Main(){
|
||||
drawB = true;
|
||||
drawC = true;
|
||||
drawD = true;
|
||||
|
||||
|
||||
draw_window();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (callfriendavailable==true){ //╨хрышчрЎш яюфёърчъш "╟тюэюъ фЁєує"
|
||||
if (keyCode==56){
|
||||
callfriendavailable=false;
|
||||
@@ -1082,17 +1082,17 @@ void kos_Main(){
|
||||
|
||||
if (na50available==true){ //╨хрышчрЎш яюфёърчъш "50 эр 50"
|
||||
if (keyCode==55){
|
||||
|
||||
|
||||
if (correctanswer==0x01){
|
||||
drawA=true;
|
||||
|
||||
int tmpcodee;
|
||||
|
||||
|
||||
recode1:
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
int tmpbyte;
|
||||
|
||||
|
||||
switch(tmpcodee){
|
||||
case 1:
|
||||
drawB=true;
|
||||
@@ -1107,19 +1107,19 @@ void kos_Main(){
|
||||
drawB=false;
|
||||
drawC=false;
|
||||
drawD=true;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if (correctanswer==0x02){
|
||||
drawB=true;
|
||||
|
||||
int tmpcodee;
|
||||
|
||||
|
||||
recode2:
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
int tmpbyte;
|
||||
|
||||
|
||||
|
||||
switch(tmpcodee){
|
||||
case 1:
|
||||
@@ -1135,18 +1135,18 @@ void kos_Main(){
|
||||
drawA=false;
|
||||
drawC=false;
|
||||
drawD=true;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if (correctanswer==0x03){
|
||||
drawC=true;
|
||||
|
||||
int tmpcodee;
|
||||
|
||||
|
||||
recode3:
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
int tmpbyte;
|
||||
|
||||
|
||||
|
||||
switch(tmpcodee){
|
||||
case 1:
|
||||
@@ -1162,19 +1162,19 @@ void kos_Main(){
|
||||
drawB=false;
|
||||
drawA=false;
|
||||
drawD=true;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if (correctanswer==0x04){
|
||||
drawA=true;
|
||||
|
||||
int tmpcodee;
|
||||
|
||||
|
||||
recode4:
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
tmpcodee =(rtlRand()%3)+1;
|
||||
|
||||
int tmpbyte;
|
||||
|
||||
|
||||
|
||||
switch(tmpcodee){
|
||||
case 1:
|
||||
@@ -1190,7 +1190,7 @@ void kos_Main(){
|
||||
drawB=false;
|
||||
drawC=false;
|
||||
drawA=true;
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
na50available=false;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
└тЄюЁ: Mario79
|
||||
xx.01.2006 - эрсюЁ ёЄрЄ№ш
|
||||
20.03.2006 - яєсышърЎш ёЄрЄ№ш
|
||||
└тЄюЁ: Mario79
|
||||
xx.01.2006 - эрсюЁ ёЄрЄ№ш
|
||||
20.03.2006 - яєсышърЎш ёЄрЄ№ш
|
||||
23.03.2006 - шёяЁртыхэшх ш фюяюыэхэшх ёЄрЄ№ш
|
||||
26.02.2007 - яхЁхЁрсюЄрэю ш фюяюыэхэю т ёт чш ё шчьхэшт°шьшё Ёхрыш ьш
|
||||
|
||||
╟руЁєчър ╬╤ ╩юышсЁш ё USB Flash Drive
|
||||
═р ёхуюфэ °эшщ фхэ№ ╬╤ ╩юышсЁш эх шьххЄ яюффхЁцъш USB єёЄЁющёЄт эр єЁютэх ёрьющ ёшёЄхь√, яю ¤Єющ яЁшўшэх фы чряєёър ё USB Flash эръюяшЄхыхщ яЁшїюфшЄё шфЄш эр юяЁхфхыхээ√х їшЄЁюёЄш.
|
||||
╤є∙хёЄтєхЄ 2 шчтхёЄэ√ї ёяюёюср чряєёЄшЄ№ ╬╤ ╩юышсЁш ё лЇых°ъш╗.
|
||||
╟руЁєчър ╩юышсЁш╬╤ ё USB Flash Drive
|
||||
═р ёхуюфэ °эшщ фхэ№ ╩юышсЁш╬╤ эх шьххЄ яюффхЁцъш USB єёЄЁющёЄт эр єЁютэх ёрьющ ёшёЄхь√, яю ¤Єющ яЁшўшэх фы чряєёър ё USB Flash эръюяшЄхыхщ яЁшїюфшЄё шфЄш эр юяЁхфхыхээ√х їшЄЁюёЄш.
|
||||
╤є∙хёЄтєхЄ 2 шчтхёЄэ√ї ёяюёюср чряєёЄшЄ№ ╩юышсЁш╬╤ ё лЇых°ъш╗.
|
||||
|
||||
1) ▌ьєы Ўш Їыюяяш фшёър т BIOS.
|
||||
╠хЄюф яЁюёЄ фю ЄєяюёЄш эр лЇых°ъє╗ чряшё√трхЄё IMG юсЁрч, ё яюыэющ ¤ьєы Ўшхщ, Єю хёЄ№ 0 ёхъЄюЁ IMG юсЁрчр ёЄрэютшЄё 0 ёхъЄюЁюь лЇых°ъш╗, ш Єръ фрыхх яюър тёх ёхъЄюЁр юсЁрчр эх сєфєЄ ёъюяшЁютрэ√ эр эръюяшЄхы№. ╚ч эхфюёЄрЄъют ¤Єюую ёяюёюср ёЁрчє ьюцэю чрьхЄшЄ№ яюЄхЁ■ Ёрсюўхую яЁюёЄЁрэёЄтр т√°х 1,44 ╠с. ╬ёюсхээю юсшфэ√ь ¤Єю ты хЄё фы эръюяшЄхыхщ, хьъюёЄ№ ъюЄюЁ√ї эрьэюую яЁхт√°рхЄ ¤ЄюЄ ЁрчьхЁ.
|
||||
@@ -23,7 +23,7 @@ xx.01.2006 -
|
||||
╧юёъюы№ъє эр фрээ√щ ьюьхэЄ ╩юышсЁш эх ты хЄё яюыэюёЄ№■ ёрьюёЄю Єхы№эющ ╬╤, Єю яютёхьхёЄэю юэр яЁшьхэ хЄё ярЁрыыхы№эю ё фЁєушьш ╬╤. ▌Єр ёшЄєрЎш яЁштхыр ъ Єюьє, ўЄю ёюсёЄтхээюую эхчртшёшьюую чруЁєчўшър (хёыш эх ёўшЄрЄ№ Їыюяяш фшёъш) є ╩юышсЁш ЇръЄшўхёъш эхЄ.
|
||||
═р ёхуюфэ °эшщ фхэ№ юёЄрышё№ ръЄєры№э√ьш Єюы№ъю 2 чруЁєчўшър: meosload.com ш mtldr.
|
||||
╬ср ьюуєЄ чряєёърЄ№ё шч ёЁхф√ DOS.
|
||||
╙ёЄрэютър ╩юышсЁш эр Їых°ъє т ьюхь трЁшрэЄх эрўшэрхЄё ё єёЄрэютъш DOS эр Їых°ъє, ъръ яхЁтшўэющ ёшёЄхьющ, шч-яюф ъюЄюЁющ сєфєЄ чряє∙хэ√ чруЁєчўшъш ╩юышсЁш. ╩юэхўэю, т ¤Єюь ёыєўрх ё Єюўъш чЁхэш ышЎхэчшш ыєў°х шёяюы№чютрЄ№ яюыэ√х рэрыюуш DOS, ъюЄюЁ√х шьх■Є ётюсюфэє■ ышЎхэчш■ эр шёяюы№чютрэшх, эю эх т ¤Єюь ёєЄ№, Єръ ўЄю эх сєфхь юЄтыхърЄ№ё эр ьхыюўш.
|
||||
╙ёЄрэютър ╩юышсЁш╬╤ эр Їых°ъє т ьюхь трЁшрэЄх эрўшэрхЄё ё єёЄрэютъш DOS эр Їых°ъє, ъръ яхЁтшўэющ ёшёЄхьющ, шч-яюф ъюЄюЁющ сєфєЄ чряє∙хэ√ чруЁєчўшъш ╩юышсЁш╬╤. ╩юэхўэю, т ¤Єюь ёыєўрх ё Єюўъш чЁхэш ышЎхэчшш ыєў°х шёяюы№чютрЄ№ яюыэ√х рэрыюуш DOS, ъюЄюЁ√х шьх■Є ётюсюфэє■ ышЎхэчш■ эр шёяюы№чютрэшх, эю эх т ¤Єюь ёєЄ№, Єръ ўЄю эх сєфхь юЄтыхърЄ№ё эр ьхыюўш.
|
||||
|
||||
╙ёЄрэютшЄ№ DOS эр лЇых°ъє╗ ьюцэю эхёъюы№ъшьш ёяюёюсрьш:
|
||||
р) ╬╤ Windows яЁш ЇюЁьрЄшЁютрэшш Їых°ъш т√сЁрЄ№ яєэъЄ ёъюяшЁютрЄ№ ёшёЄхьэ√х Їрщы√, т юс∙хь, Єю цх ёрьюх ўЄю ш фы Їыюяяш фшёъхЄ√. ╩ ёюцрыхэш■, ¤ЄюЄ ьхЄюф яюфїюфшЄ Єюы№ъю фы ышэхщъш 9ї, эр 2╩ эх яЁютхЁ ы, эю т ╒╨ ¤ЄюЄ яєэъЄ эхфюёЄєяхэ.
|
||||
@@ -54,4 +54,4 @@ xx.01.2006 -
|
||||
|
||||
P.S.
|
||||
1) ╒юўє т√ЁрчшЄ№ сюы№°є■ яЁшчэрЄхы№эюёЄ№ чр яюью∙№ т яюфуюЄютъх ьрЄхЁшрыр └эфЁх■ (NoName), ▌фєрЁфє (DoomEdArchangel) ш ╤хЁух■ (Serge).
|
||||
2) ┬ рЁїштх ё ¤Єшь Їрщыюь ёюфхЁцрЄ№ё єяюь эєЄ√х т ЄхъёЄх enable.exe ш meosload.com ш шї шёїюфэ√х ъюф√.
|
||||
2) ┬ рЁїштх ё ¤Єшь Їрщыюь ёюфхЁцрЄ№ё єяюь эєЄ√х т ЄхъёЄх enable.exe ш meosload.com ш шї шёїюфэ√х ъюф√.
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Автор: Mario79
|
||||
xx.01.2006 - набор статьи
|
||||
20.03.2006 - публикация статьи
|
||||
Автор: Mario79
|
||||
xx.01.2006 - набор статьи
|
||||
20.03.2006 - публикация статьи
|
||||
23.03.2006 - исправление и дополнение статьи
|
||||
26.02.2007 - переработано и дополнено в связи с изменившимися реалиями
|
||||
|
||||
Загрузка ОС Колибри с USB Flash Drive
|
||||
На сегодняшний день ОС Колибри не имеет поддержки USB устройств на уровне самой системы, по этой причине для запуска с USB Flash накопителей приходится идти на определенные хитрости.
|
||||
Существует 2 известных способа запустить ОС Колибри с лфлешки╗.
|
||||
Загрузка КолибриОС с USB Flash Drive
|
||||
На сегодняшний день КолибриОС не имеет поддержки USB устройств на уровне самой системы, по этой причине для запуска с USB Flash накопителей приходится идти на определенные хитрости.
|
||||
Существует 2 известных способа запустить КолибриОС с лфлешки╗.
|
||||
|
||||
1) Эмуляция флоппи диска в BIOS.
|
||||
Метод прост до тупости на лфлешку╗ записывается IMG образ, с полной эмуляцией, то есть 0 сектор IMG образа становится 0 сектором лфлешки╗, и так далее пока все сектора образа не будут скопированы на накопитель. Из недостатков этого способа сразу можно заметить потерю рабочего пространства выше 1,44 Мб. Особенно обидным это является для накопителей, емкость которых намного превышает этот размер.
|
||||
@@ -23,7 +23,7 @@ xx.01.2006 -
|
||||
Поскольку на данный момент Колибри не является полностью самостоятельной ОС, то повсеместно она применяется параллельно с другими ОС. Эта ситуация привела к тому, что собственного независимого загрузчика (если не считать флоппи диски) у Колибри фактически нет.
|
||||
На сегодняшний день остались актуальными только 2 загрузчика: meosload.com и mtldr.
|
||||
Оба могут запускаться из среды DOS.
|
||||
Установка Колибри на флешку в моем варианте начинается с установки DOS на флешку, как первичной системой, из-под которой будут запущены загрузчики Колибри. Конечно, в этом случае с точки зрения лицензии лучше использовать полные аналоги DOS, которые имеют свободную лицензию на использование, но не в этом суть, так что не будем отвлекаться на мелочи.
|
||||
Установка КолибриОС на флешку в моем варианте начинается с установки DOS на флешку, как первичной системой, из-под которой будут запущены загрузчики КолибриОС. Конечно, в этом случае с точки зрения лицензии лучше использовать полные аналоги DOS, которые имеют свободную лицензию на использование, но не в этом суть, так что не будем отвлекаться на мелочи.
|
||||
|
||||
Установить DOS на лфлешку╗ можно несколькими способами:
|
||||
а) ОС Windows при форматировании флешки выбрать пункт скопировать системные файлы, в общем, то же самое что и для флоппи дискеты. К сожалению, этот метод подходит только для линейки 9х, на 2К не проверял, но в ХР этот пункт недоступен.
|
||||
@@ -54,4 +54,4 @@ xx.01.2006 -
|
||||
|
||||
P.S.
|
||||
1) Хочу выразить большую признательность за помощь в подготовке материала Андрею (NoName), Эдуарду (DoomEdArchangel) и Сергею (Serge).
|
||||
2) В архиве с этим файлом содержаться упомянутые в тексте enable.exe и meosload.com и их исходные коды.
|
||||
2) В архиве с этим файлом содержаться упомянутые в тексте enable.exe и meosload.com и их исходные коды.
|
||||
|
||||
@@ -30,7 +30,7 @@ format binary as "" ; Binary file format without extension
|
||||
use32 ; Tell compiler to use 32 bit instructions
|
||||
org 0 ; the base address of code, always 0x0
|
||||
|
||||
; Зруюыютюъ шёяюыэ хьюую Їрщыр ╩юышсЁш ╬╤
|
||||
; Зруюыютюъ шёяюыэ хьюую Їрщыр ╩юышсЁш╬╤
|
||||
db 'MENUET01'
|
||||
dd 1
|
||||
dd START
|
||||
@@ -1662,7 +1662,7 @@ but_open_dlg:
|
||||
.end_open:
|
||||
popad
|
||||
ret
|
||||
|
||||
|
||||
;фрээ√х фы▀ фшрыюур юЄъЁ√Єш▀ Їрщыют
|
||||
align 4
|
||||
OpenDialog_data:
|
||||
@@ -1684,12 +1684,12 @@ OpenDialog_data:
|
||||
.y:
|
||||
.y_size dw 320 ;+52 ; Window y size
|
||||
.y_start dw 10 ;+54 ; Window Y position
|
||||
|
||||
|
||||
default_dir db '/sys',0 ;фшЁхъЄюЁш▀ яю єьюыўрэш■
|
||||
communication_area_name: db 'FFFFFFFF_open_dialog',0
|
||||
open_dialog_name: db 'opendial',0
|
||||
communication_area_default_path: db '/sys/File managers/',0
|
||||
|
||||
|
||||
Filter:
|
||||
dd Filter.end - Filter.1
|
||||
.1:
|
||||
|
||||
Reference in New Issue
Block a user