![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]()
Всем привет! Это мой первый пост на данном форуме, поэтому прошу строго не судить
![]() Я написал свою ОСь, и запустив эмулятор Bochs получилось так, что клавиатура не работает, либо, не идёт переход к ядру ОСи. Прилагаю архив с исодниками и бинарниками, JOS.BIN это уже все скомпилированные файлы. Ассемблер FASM. |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 183
|
![]()
в файле FBOOT.ASM в начале такой текст:
Код:
функцией 00h преррывания 16h. "Функция 00h выполняет чтение кода символа из буфера клавиатуры, если он там есть. Если буфер клавиатуры пуст, программа переводится в состояние ожидания до тех пор, пока не будет нажата какая-нибудь клавиша. Скан-код и ASCII-код нажатой клавиши передаются программе." https://frolov-lib.ru/books/bsp/v02/ch2_4.htm И мне кажется, в случае с клавишей ENTER, лучше считывать не ASCII-код, а аппаратный scan-код. По той ссылке что я привёл выше, скан-код ENTER равен 1Ch. Значит надо написать: Код:
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]()
При эмулировании в Bochs 2.6.5 выдаёт в консоли такой текст при нажатии ENTER.
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]()
Данный текст выдавался ещё при старом коде из архива
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 183
|
![]()
- Какую версию bochs используете?
- Какую конфигурацию виртуальной машины используете? (приведите текст файл) - С какого образа загружаетесь? с floppy или hdd - Как сделали образ носителя данных и как в него записали свою ОС? |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 16.05.2024
Сообщений: 183
|
![]()
Я попробовал Bochs 2.7 - постоянно падает. Используйте лучше Qemu, он хороший.
|
![]() |
![]() |
![]() |
#7 | |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]() Цитата:
2. BIN файл через FLOPPY. 3. Через макрос, существующий в архиве под название JOS.ASM (BIN формат уже скомпилированная система макросом) |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]()
Насчёт конфигурации - текст из файла bochsxrc.
# configuration file generated by Bochs plugin_ctrl: unmapped=1, biosdev=1, speaker=1, extfpuirq=1, parallel=1, serial=1, gameport=1 config_interface: win32config display_library: win32 memory: host=32, guest=32 romimage: file="C:\Program Files (x86)\Bochs-2.6.5/BIOS-bochs-latest" vgaromimage: file="C:\Program Files (x86)\Bochs-2.6.5/VGABIOS-lgpl-latest" boot: floppy floppy_bootsig_check: disabled=0 floppya: type=1_44, 1_44="C:\Users\Jenefs44\Documents\J OS\ASM\JOS.BIN", status=inserted, write_protected=0 # no floppyb ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 ata0-master: type=none ata0-slave: type=none ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15 ata1-master: type=none ata1-slave: type=none ata2: enabled=0 ata3: enabled=0 pci: enabled=1, chipset=i440fx vga: extension=vbe, update_freq=5 cpu: count=1, ips=4000000, model=bx_generic, reset_on_triple_fault=1, cpuid_limit_winnt=0, ignore_bad_msrs=1, mwait_is_nop=0 cpuid: level=6, stepping=3, model=3, family=6, vendor_string="GenuineIntel", brand_string=" Intel(R) Pentium(R) 4 CPU " cpuid: mmx=1, apic=xapic, simd=sse2, sse4a=0, misaligned_sse=0, sep=1, movbe=0, adx=0 cpuid: aes=0, sha=0, xsave=0, xsaveopt=0, x86_64=1, 1g_pages=0, pcid=0, fsgsbase=0 cpuid: smep=0, smap=0, mwait=1, vmx=1 print_timestamps: enabled=0 port_e9_hack: enabled=0 private_colormap: enabled=0 clock: sync=none, time0=local, rtc_sync=0 # no cmosimage # no loader log: - logprefix: %t%e%d debug: action=ignore info: action=report error: action=report panic: action=ask keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none mouse: type=ps2, enabled=0, toggle=ctrl+mbutton sound: driver="default", waveout=none, wavein=none speaker: enabled=1, mode=sound parport1: enabled=1, file=none parport2: enabled=0 com1: enabled=1, mode=null com2: enabled=0 com3: enabled=0 com4: enabled=0 |
![]() |
![]() |
![]() |
#9 |
Пользователь
Регистрация: 13.04.2025
Сообщений: 10
|
![]() |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 17.01.2020
Сообщений: 14
|
![]()
Смелое заявление (https://metanit.com/assembler/articles/MiniOS.php).
Там вся работа идет с жестким диском, поэтому образ нужно подключать как жесткий диск, и грузиться, соответственно, с него. И будьте внимательны: учитывайте в коде изменение длины выводимых сообщений, если уж меняете их на свои. |
![]() |
![]() |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает клавиатура | KT82 | Компьютерное железо | 0 | 16.11.2016 18:04 |
не работает USB клавиатура из БИОС | SAMOUCHKA | Компьютерное железо | 3 | 07.01.2013 10:35 |
В Counter-Strike 1.6 не работает мыш и клавиатура | Pasha__12 | Компьютерное железо | 5 | 31.03.2011 13:25 |
В Counter-Strike 1.6 не работает мыш и клавиатура | Pasha__12 | Компьютерное железо | 0 | 28.03.2011 21:11 |
Клавиатура не работает | ViNcHeStEr | Компьютерное железо | 1 | 04.07.2008 15:52 |