Hello, World! 🎄
Чому так лагает?
На виртуалке примерно 3 fps, а вот уже на arch linux запустил там уже 50 fps!
Hello, World! 🎄
1000 обновлений за 20 секунд
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
wow
Hello, World! 🎄
Мне осталось нормально мышку доделать и уже можно приступать к отрисовке gui
Snusmumriken
@fhello_world ммм, зачем?
Snusmumriken
Is there multithreading in lua? You need to continuously read the file and at the same time execute other code (By multithreading, I mean the pseudo-multithreading provided by the task scheduler)
Hello, World! 🎄
Is there multithreading in lua? You need to continuously read the file and at the same time execute other code (By multithreading, I mean the pseudo-multithreading provided by the task scheduler)
bytes = read(fd, data, sizeof(data)); Ожидает получение информации из /dev/mice, пока не произойдет события мыши код не продолжет выполнятся
Snusmumriken
Ну да )
Snusmumriken
А ты хотел сделать управление мышкой на подобных штуках?
Snusmumriken
А сигналы окну на что?
Snusmumriken
Ладно, для этого понадобится Х ))
Snusmumriken
Карочи, оформи себе функции select/poll и читай из файлика без блокировки.
Hello, World! 🎄
Ладно, для этого понадобится Х ))
У меня через fb вся графика
Hello, World! 🎄
Карочи, оформи себе функции select/poll и читай из файлика без блокировки.
У меня открытие вот так: fd = open(pDevice, O_RDWR); Если сделать так: fd = open(pDevice, O_NONBLOCK); То продолжает выполнятся, но значение не читает (постоянно нули возвращает)
Snusmumriken
А ты подвигай мышкой, чтобы не нули возвращал ))
Snusmumriken
Это первое. Второе — select и poll. Вообще, привыкай к этим функциям, они довольно много где используются.
Snusmumriken
Второе.
Hello, World! 🎄
А ты подвигай мышкой, чтобы не нули возвращал ))
Он всегда 0 возвращает, я думаю, что он читает файл в то время, когда событие мыши уже обработалось x сервером.
Snusmumriken
se le ct
Snusmumriken
> событие мыши уже обработалось x сервером Да, если у тебя вдруг стоит x-server — он потребляет эту строчечку. И высылает её окошкам сигналами или загребается всякими функциями чтения вроде XQuerryPointer(display, window, ...).
Hello, World! 🎄
se le ct
Я увидел, буду щас искать и читать
Hello, World! 🎄
Hello, World! 🎄
А вот допустим если взять select, то как потом в блоке 2 обработать вывод? Если сейчас я получаю данные из файла /dev/input/mice (когда перемещу мышку), то этот блок начинает выполняться снова и снова, а мне нужно как-то получить данные и продолжить ожидать от файла новые изменения (события).
Hello, World! 🎄
Чтение из read уже не работает: bytes = read(fd, data, sizeof(data));
Hello, World! 🎄
Hello, World! 🎄
Кажется все работает как нужно в цикле выводится пробел и информация о событии мышки если она есть.
Snusmumriken
Лол, я даже вижу откуда ты скопипастил.
Snusmumriken
Snusmumriken
Алсо.
Hello, World! 🎄
Вроде бы библиотека сейчас работает как нужно
Hello, World! 🎄
Лол, я даже вижу откуда ты скопипастил.
Я в man select смотрел пример и переписал его часть
Hello, World! 🎄
Сейчас все нормально работает, процесс не останавливается в ожидании ввода. Белый квадрат это мышка.
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
hello
Hello, World! 🎄
Окно приложения (пока, что просто заготовка)
Hello, World! 🎄
Перемещение окна
Hello, World! 🎄
клеточный автомат
Hello, World! 🎄
Не знаю зачем, мне это, но я смог написать вывод текста.
Hello, World! 🎄
Не знаю зачем, мне это, но я смог написать вывод текста.
Смещение уже сам сделал (Вывод посимвольно) и cmp, je.
Hello, World! 🎄
Возможно почитав кучу документации или посмотрев код смогу написать что-то простое. Калькулятор на чистом железе (т.е без ос). Думаю написание кода на ассемблере повышает мышление и математику, а также придумывание алгоритмов как это все написать.
Hello, World! 🎄
Смещение уже сам сделал (Вывод посимвольно) и cmp, je.
Думаю, что самое эффективное (Для запоминания) будет написание собственных подсказок в текстовом файле (ассемблерные команды, синтаксис извлечения значения из адреса и прочее)
Aqendo
Многие через это проходили
Hello, World! 🎄
Aqendo
Через что?
ассемблер)
Hello, World! 🎄
Hello, World! 🎄
Вывод несколько раз текста, написать это одно потом просто как это все читать и разбирать) Наверно нужно оставлять почти везде комментарии.
Hello, World! 🎄
Ввод текста. И зачем я только его в MBR делаю, вместо того, что бы писать загрузчик.
Hello, World! 🎄
Насчет вывода можно было написать код который выводит заданный текст, вместо того, чтобы каждый символ вручную в al записывать, но не вижу смысла, насколько я понял мне нужно написать загрузчик, а потом уже делать подобные вещи + там переход в защищенный режим и код будет выглядет по другому.
Hello, World! 🎄
Ну что ж, заготовка для ос есть.
Hello, World! 🎄
Ну что ж, заготовка для ос есть.
вот отсуда переписал код: https://arjunsreedharan.org/post/82710718100/kernels-101-lets-write-a-kernel
Hello, World! 🎄
Вместо gcc собирал с помощью clang
Hello, World! 🎄
Ну что ж, заготовка для ос есть.
А вот написал вывод без Си. - 292 бит от размера ядра.
Hello, World! 🎄
Окей, вывод символов есть, также хочу попробовать заполнить это все рандомными значениями (цвет, символ), но для этого нужно написать функцию псевдо рандома.
Hello, World! 🎄
Дождь из символов
Hello, World! 🎄
Получение данных с клавиатуры
Hello, World! 🎄
Думаю, сейчас самое время начать писать shell оболочку
Hello, World! 🎄
Как реализовано получение данных с клавиатуры смотрел здесь: https://github.com/arjun024/mkeykernel
Hello, World! 🎄
Вроде работает
Igor
А ты не думал там например дневник разработки завести? Чтобы не приходилось вместо него чат использовать, раз уж тебе так сильно хочется делиться процессом разработки с публикой. А то сколько вверх ни полистай, одними только твоими скриншотами всё завалено.
Igor
Не думал, что это кому-то мешает. Чат все равно не активен, я думал, что это будет кому-то интересно.
Чат активен, когда есть темы для обсуждений. В принципе как и основной. Ну а ты с таким же успехом можешь создать канал в телеге и постить всё туда и подпишутся те, кому действительно это интересно читать.
UtoECat
Вроде работает
В чём цель этого всего кста? Написать очередной дос?
Igor
Хорошо, сообщений в этом чате от меня будет меньше.
Я тебя не прогоняю и не хочу как-то обидеть, а лишь говорю, что этот чат не только про тебя и твою разработку, хотя последнюю неделю или около того, твоими стараниями, он именно так и выглядит. Задавай вопросы на здороьве, но прогрессом разработки делиться желательно в специально отведённых для этого местах.
Hello, World! 🎄
В чём цель этого всего кста? Написать очередной дос?
Просто как развлечение и для образовательной цели
Igor
Я и не обиделся, я понимаю, что кому-то может это не нравится читать, но в этом чате нечего такого сейчас не происходит и поэтому я решил хотя бы что-то суда скидывать.
Лично мне - не мешает, отвлекает разве что иногда. Но кому-то может и мешает, но он просто молчит. Я тебе говорю, с таким же успехом можно создать канал в телеге и кинуть на него сюда ссылку, к примеру.
Igor
Ну и ещё о нём рассказать где-нибудь, потому что отсюда вряд ли много народу наберётся.
Hello, World! 🎄
У меня нету задачи продвинуть канал или что-то подобное, сообщение продолжу суда публиковать (т.к флудилка же), но буду делать это реже.
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
i looking for sprite games with type ghost on my country but i can't found in google only international ghost sprite.
ᴠɪᴋᴀʀɪ ʜᴏɴᴇsᴛ
@fhello_world can you drawing sprite games for me ?
Hello, World! 🎄
I can't draw
0xSU
Решил устроиться писарем на Tarantool. Пожелайте удачи, в глаза tarantool не видел.
Nikolai
Там нужен не столько lua, сколько Linux и сети. Меня хорошо поелозили со всей моей экспертизой. Посоветовали несколько книжек базы и разошлись