Skip to content

Commit 7260f8a

Browse files
committed
Добавлена поддержка USB клавиатуры, исправлен i8253 PIT, стабильная работа на 5.75 МГц
- USB HID: Полная поддержка USB клавиатур через TinyUSB Host - Intel 8253 PIT: Исправлена логика чтения/записи счетчиков, корректная обработка режимов LOBYTE/HIBYTE/TOGGLE - Частота i8086: Увеличена до 5.75 МГц (RP2350) со стабильной работой - PIO оптимизация: Убрана лишняя задержка sideset в цикле захвата адреса - BIOS: Обновлена версия GLaBIOS 4.1 - Дискета: Обновлен загрузочный образ - CMake: Интеграция TinyUSB Host, отключен USB CDC для stdio
1 parent 4d45d91 commit 7260f8a

15 files changed

Lines changed: 82380 additions & 81456 deletions

File tree

CMakeLists.txt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ add_executable(${PROJECT_NAME}
3333
src/common.c
3434
)
3535

36+
add_subdirectory(drivers/usbhid)
3637
add_subdirectory(drivers/graphics)
3738
add_subdirectory(drivers/vga-nextgen)
3839
target_link_libraries(${PROJECT_NAME} PRIVATE vga-nextgen)
@@ -60,24 +61,31 @@ pico_generate_pio_header(${PROJECT_NAME}
6061
)
6162

6263
pico_enable_stdio_uart(${PROJECT_NAME} 0)
63-
pico_enable_stdio_usb(${PROJECT_NAME} 1)
64+
pico_enable_stdio_usb(${PROJECT_NAME} 0)
6465

6566
target_include_directories(${PROJECT_NAME} PRIVATE
6667

6768
${CMAKE_CURRENT_LIST_DIR}
6869
${CMAKE_CURRENT_SOURCE_DIR}/rom
6970
)
7071

71-
72+
set(FAMILY rp2040)
73+
set(BOARD pico_sdk)
74+
set(TINYUSB_FAMILY_PROJECT_NAME_PREFIX "tinyusb_host_")
7275
target_link_libraries(${PROJECT_NAME} PRIVATE
7376
graphics
77+
usbhid
7478

7579
pico_runtime
80+
pico_stdlib
7681
pico_stdio
7782
pico_multicore
7883
hardware_pio
7984
hardware_pwm
8085

86+
tinyusb_board tinyusb_host
87+
88+
8189
)
8290
pico_set_binary_type(${PROJECT_NAME} copy_to_ram)
8391

drivers/usbhid/CMakeLists.txt

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
add_library(usbhid INTERFACE)
2+
3+
target_sources(usbhid INTERFACE
4+
${CMAKE_CURRENT_LIST_DIR}/hid_app.c
5+
${CMAKE_CURRENT_LIST_DIR}/hid_app.h
6+
)
7+
8+
target_link_libraries(usbhid INTERFACE hardware_pio hardware_clocks tinyusb_host tinyusb_board)
9+
10+
target_include_directories(usbhid INTERFACE
11+
${CMAKE_CURRENT_LIST_DIR}
12+
)
13+
14+
15+
#pico_generate_pio_header(usbhid
16+
# ${CMAKE_CURRENT_LIST_DIR}/usbhid_mrmltr.pio
17+
#)

0 commit comments

Comments
 (0)