Skip to content

v0.3.5

Choose a tag to compare

@TheCawa TheCawa released this 30 Sep 23:58
· 1 commit to main since this release

CawOS v0.3.5

Прокачанные команды

  • font: поддержка загрузки PSF-шрифтов (font <8x8|8x16|filename.psf>), сохранение выбора в конфиг, отображение текущего шрифта
  • bigclock: переписан для графического режима с пиксельной отрисовкой, добавлен режим текстового VGA
  • edit: оптимизирована перерисовка (только изменённые строки вместо полного экрана), улучшено поведение курсора

Системные улучшения

  • Новая система шрифтов: структура font_t, встроенные 8x8 и 8x16, загрузка PSF, конфигурация через /core/config/font, функции screen_push_font/screen_pop_font, gfx_draw_char_ex/gfx_draw_char_px, screen_flip_rect, gfx_fill_rect_px
  • Файловая система: защита каталога /core и его подкаталогов от удаления/переименования/форматирования; новые функции fs_get_size_abs и fs_load_to_memory_abs для абсолютных путей; fs_format сохраняет все файлы в /core; изменено расположение FS_TABLE_LBA и DATA_REGION_START
  • Аудио: загрузочный звук теперь /core/res/audio/boot; удалён boot_sound_cawos и все связанные проверки
  • BSOD: расширенные имена исключений, вывод кода ошибки, динамическая компоновка, поддержка как текстового, так и графического режима
  • Recovery: режим восстановления теперь использует VGA-текст при отсутствии VBE, переведён на шрифт 8x16
  • Ядро: инициализация шрифта, загрузка выбранного шрифта из конфига при старте, очистка экрана в начале загрузки
  • ATA: добавлены проверки статуса и сброс кэша для повышения надёжности
  • Логгер: добавлена функция log_dump_hex
  • vsnprintf: добавлена поддержка %u и %p
  • Explorer: добавлен в меню Пуск и на рабочий стол (иконка)
  • Log Off: новый пункт меню для выхода из графической оболочки без выключения

Критические фиксы

  • ac97.c: закомментирована неиспользуемая функция nabm_read8
  • fs.c: защита от зацикливания при освобождении цепочки кластеров; исправлена запись/чтение FS через ATA (по секторам); защита от некорректных значений в CAWFAT
  • edit.c: исправлено мерцание курсора и избыточная перерисовка
  • desktop.c: исправлены артефакты курсора, добавлено сохранение фона под курсором с запасом
  • window.c: исправлена фокусировка при закрытии окна, добавлена обработка scancode и мыши
  • start_menu.c: исправлен выбор пунктов меню с разделителями