Writing FreeDOS Programs in C
Представлено руководство "Writing FreeDOS Programs in C" от Джима Холла, которое учит создавать программы для FreeDOS на языке C. Книга состоит из 9 частей, охватывающих основы программирования, синтаксис C, управление потоком, функции, массивы, работу с файлами и консольное программирование, завершаясь созданием пошаговой игры.
Проект изначально стартовал как видеосериал на YouTube с поддержкой через Patreon, где спонсоры получали ранний доступ к материалам и эксклюзивные ресурсы. После завершения видео серии руководство было отредактировано в книгу через издателя Lulu. Книга опубликована под лицензией CC BY 4.0 и скоро будет перемещена в обновленную Wiki FreeDOS.
Комментарии (57)
- Обсуждение охватывает вопросы от выбора компилятора до лицензий, где упоминается как компиляторы с открытым исходным кодом, так и старые компиляторы вроде Turbo C, и при этом подчеркивается, что важно, чтобы компилятор мог породить код, который будет работать в DOS или FreeDOS без необходимости кросс-компиляции.
- Участники обсуждают, что важно иметь компилятор, который может породить код, который будет работать в DOS или FreeDOS, и что это может быть важно для сохранения старого кода, который может быть важен для поддержания старого оборудования.
- Также обсуждается, что FreeDOS может быть полезен для обновления BIOS и для запуска старого кода, который может быть важен для поддержания старого оборудования.
- Участники также обсуждают, что важно иметь компилятор, который может породить код, который будет работать в DOS или FreeDOS, и что это может быть важно для сохранения старого кода, который может быть важен для поддержания старого оборудования.
- Также упоминается, что FreeDOS может быть полезен для обновления BIOS и для запуска старого кода, который может быть важен для поддержания старого оборудования.
MS-DOS development resources
DOSDevelResources — подборка инструментов и ссылок для разработки под DOS.
Содержание
-
Языки
- C/C++: Watcom, DJGPP, OpenWatcom, SmallerC, SubC
- Pascal: Free Pascal, Turbo Pascal 5.5
- BASIC: FreeBASIC, QB64, QuickBASIC 4.5
- Сборка: NASM, FASM, WASM, TASM, MASM 6.11
- Прочее: Rust (rustc-dos), Go (gccgo), Lua, Python 2.4
-
Библиотеки и API
- Allegro, SDL, Raylib, GRX, pdcurses, OpenGL (Mesa3D), VESA, SoundBlaster, TCP/IP (Watt-32, mTCP)
-
Утилиты
- Редакторы: RHIDE, FTE, SETEdit, TDE, Vim, Emacs
- Отладчики: GDB, WD, TD, SoftICE
- Упаковка: UPX, LZEXE, PKLite, Diet
- Эмуляция: DOSBox, DOSBox-X, 86Box, PCem, Bochs
- Разное: Git, Make, Doxygen, Valgrind-like (Dr. Memory)
-
Документация
- Ralf Brown’s Interrupt List, PCGPE, Intel/AMD manuals, OSDev Wiki
-
Ссылки
Как пользоваться
Клонируйте репозиторий:
git clone https://github.com/SuperIlu/DOSDevelResources.git
Все файлы/архивы лежат в каталогах по темам.
Лицензия
MIT.
Комментарии (32)
- Участники вспомнили, что DOS-ретросцена жива: анонсирован 3-месячный DOSember game-jam.
- Перечислены доступные инструменты: HX DOS Extender, JWasm, Borland C++ 3.1, Free Pascal, DJGPP, GW-BASIC/PC-BASIC, а также MIT-лицензированный набор Microsoft 1988 года.
- Названы ключевые ресурсы: PC Games Programming Encyclopedia, эмулятор PCjs, книги «Black Book of Graphics Programming», «Programmer’s Guide to the EGA/VGA» и «PC-Intern».
- Отмечены удобные IDE: RHIDE и клон Turbo Vision от Free Pascal, а также ностальгия по быстрым Borland-IDE.
- Обсуждали, что современные ассемблеры (FASM/NASM) удобнее старых MASM/TASM, а DOS-цели можно собирать даже из Win32 PE.