OSDev

для всех
Текущее время: 21 окт 2017, 06:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Forth
СообщениеДобавлено: 09 фев 2009, 18:25 

Зарегистрирован: 17 янв 2009, 15:09
Сообщения: 2
Начал Форт писать под EOS. Не знаю как считывать нажатие одной клавиши и как
определить нажата-ли клавиша (если что-то в приемном буфере клавиатуры)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Forth
СообщениеДобавлено: 09 фев 2009, 20:02 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1025
Откуда: Балаково
Проект ОС пока что в тупике, и времени пока не хватает, поэтому хочу сразу сказать, что нет особого смысла сейчас что-то писать под EOS. Ну а в целом программирование точно такое же, как под Windows, поэтому просто используй WinAPI. Но реализованы не все функции, поэтому смотри список имеющихся функций в исходниках, в файлах с расширением LK.
Отслеживать нажатия клавиш можно по сообщениям WM_KEYDOWN (в параметре wParam младшие 8 бит содержат код клавиши, а следующие 8 бит - флаги нажатия Alt,Shift,Ctrl,Numlock,Caps,Scroll), WM_KEYUP, WM_CHAR (чтобы это сообщение приходило, нужно вызываеть TranslateMessage).
Если нужно получить целую строку, то используй ReadConsole(), это стандартная WinAPI процедура, справку на неё смотри в MSDN. Пример использования - в файле hello.cpp, через неё собственно говоря и работает консоль системы. Ещё есть целый класс консольных функций IConsole, пример тоже в файле hello.cpp.
Сначала получаешь указатель на объект:
IConsole* pConsole = (IConsole*)NtCurrentPeb()->nProcessParameters.hConsole;
потом через pConsole вызываешь методы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re^2: Forth
СообщениеДобавлено: 16 фев 2009, 22:33 
> хочу сразу сказать, что нет особого смысла сейчас что-то писать под EOS.

Писать приложения следует как можно раньше. В результате реализаций пиложений
могут быть выявлены наиболее объективные требования к системы
Добавил Форт к EOS в качестве приложения http://depositfiles.com/files/ie4qplw1u
Думал Форт в ядро внедрить, но и у меня времени пока не это нет.


Вернуться к началу
  
 
 Заголовок сообщения: Re^3: Forth
СообщениеДобавлено: 17 фев 2009, 11:46 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1025
Откуда: Балаково
Насчёт приложений совершенно согласен.
Не знаю, что конкретно ты имел ввиду насчёт ядра, но в него ни каких языков программирования встраиваться не будет - всё должно находиться на уровне приложений. Твою программу пока не посмотрел, но если всё будет нормально, то помещу её в дистрибутив системы и образ диска.
Касательно проекта, работа потихоньку идёт, но в основном над низкоуровневыми внутренностями ядра, поэтому малозаметно для пользователя.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re^3: Forth
СообщениеДобавлено: 21 фев 2009, 15:42 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1025
Откуда: Балаково
Посмотрел твоё творение, вроде работает (кому интересно - в архиве есть файл cdrom.iso - образ CD. После загрузки с CD запустить файл f.exe). Но я Forth не знаю, поэтому кроме команды WORDS ничего не пробовал.
По поводу реализации. Я так понял, что for4th.cpp это переделанный hello.cpp. Там осталось очень много мусора в виде лишних функций и строковых констант, желательно почистить. И ещё, в конце строки переменной msgStart поставь символы "\r\n", иначе текст сливается со следующей строкой. И в этой же строке стоит неполный адрес http://forth, исправь на http://forth.spb.su:8888
По поводу файла comp.bat, там 2 командные строки закомментированы, не ясно это нужные строки или не нужные.
И верно, у тебя какая-то другая версия mkisofs.exe, у меня он сообщил об ошибке. Я использую этот файл: http://express-os.googlecode.com/files/mkisofs.exe


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Forth
СообщениеДобавлено: 24 мар 2009, 20:16 

Зарегистрирован: 09 дек 2008, 00:48
Сообщения: 16
А можно спросит вы вот EOS создаёте, и там WinAPI реализуються, а что присоединиться к ReactOS нельзя, или что? Вас там что, то не устраивает?

Вот мне бы очень хотелось видеть поддержку USB в ReactOS, наверно там есть чем заняться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re^2: Forth
СообщениеДобавлено: 26 мар 2009, 00:25 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1025
Откуда: Балаково
В том и дело, что хочется сделать не Windows и не ReactOS. Существующая поддержка Win API это всего лишь шелуха. Она только лишь для того, чтобы хоть что-то было на пользовательском уровне, чтобы была возможность хоть как-то пользоваться системой, хоть как-то запускать программы, и тестировать ядро на реальных приложениях. Когда ядро будет более мощным, тогда можно будет подумать и над новым API взамен Windows API.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB