Форум программистов, компьютерный форум, киберфорум
Assembler: DOS/Real Mode/16-bits
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
TASM

Системный динамик: воспроизвести мелодию

24.11.2019, 21:43. Показов 2498. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Посмотрите пожалуйста курсовую по ассемблеру. В чем может быть проблема, не работает программа?
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
Assume CS: Code
Code SEGMENT
286 
Start proc; Основная процедура 
mov ax,cs
mov ds,ax; DS = CS 
iniflag db 0; Флаг звучания 
old_int1c_off dw 0; Смещение старого вектора
old_int1c_seg dw 0; Сегмент старого вектора
tek_mel dw?; Адрес текущей ноты выбранной мелодии 
mov ax,351ch 
int 21h
mov cs:old_int1c_off,bx 
mov cs:old_int1c_seg,es
lea dx,new_int1c 
mov ax,251ch 
int 21h; DS:DX – адрес новой программы обр. 
mov ah,09h 
lea dx,menu 
int 21h
beg1: 
call kbin; Опрос клавиатуры
cmp al,'1' 
jnz beg2 ; Нет
mov byte ptr iniflag,1; Взведение флага звуч.
lea ax,mel1
mov tek_mel,ax
jmp beg1; Переход на начало цикла 
beg2: 
cmp al,'2' 
jnz beg3 
mov byte ptr iniflag,1 
lea ax,mel2
mov tek_mel,ax
jmp beg1
beg3: 
cmp al,'q' 
jnz beg4 
jmp beg5
beg4: 
mov ah,09h
lea dx,er
int 21h 
jmp beg1 
beg5:
Восстановление старого вектора 1с и выход
mov dx,old_int1c_off 
mov ax,old_int1c_seg 
mov ds,ax; DS:DX – адрес устанавл. вектора
mov ax,251ch 
int 21h 
movax,4c00h
int21h
start endp 
Новый обработчик прерывания 1ch
new_int1c proc far
pusha 
call muz; Вызов процедура извлечения звука
popa 
iret
new_int1c endp
Процедура извлечения очередного звука
tek_mel – адрес текущей ноты выбранной мелодии
muz proc near
test byte ptr cs:iniflag,0ffh; Проверка флага
jnz muz1 
muze: 
in al,61h ; Чтение состояния системного порта В
and al,0fch; Запрещение звучания (биты 0 и 1)
out 61h,al; Запись в системный порт В
jmp ex ; Выход, если флаг не взведен
muz1: 
mov si,cs:tek_mel; Адрес текущей ноты
mov bl,cs:[si]; Текущая нота
cmp bl,255; Пауза?
jnz muz2 
Выключение звука
in al,61h 
and al,0fch 
out 61h,al 
inc cs:tek_mel; Переход к адресу след. ноты
jmp ex
muz2: 
or bl,bl; = 0?
jnz muz3 
jmp muze 
muz3:
xor bh,bh 
mov ax,cs:noty [bx]
Программирование делителя частоты 2 канала
inc cs:tek_mel; Переход к адресу след. ноты
out 42h,al; Мл.байт частоты. канал 2 таймера
xchg al,ah; AH. AL
out 42h,al; Ст. байт частоты. канал 2 таймера 
Разрешение звучания
in al,61h 
or al,3; Разрешение звучания (биты 0 и 1)
out 61h,al; Запись в системный порт В
ex: 
ret 
muz endp 
kbin proc near; Ввод с клавиатуры и проверка на выбор игры
mov ah,0 
int 16h
ret 
kbin endp 
Мелодия "Чижик Пыжик"
mel1 db 17,17,255,13,13,255,17,17,255,13,13,255,18,18,255
db 17,17,255,15,15,15,15,255,255
db 8,8,255,8,8,255,8,8,255,10,255,12,255
db 13,13,255,13,13,255,13,13,13,13
db 0 
Мелодия "Подмосковные вечера"
mel2 db 1,1,1,4,4,4,8,8,8,4,4,4,6,6,6,6,6,6,4,4,4,3,3,3
db 8,8,8,8,8,8,6,6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1
db 0 
menu db 10 dup(0ah), 30 dup(20h), 'Enter the point of menu:'
db 0dh,0ah,30 dup(20h),'1 - CHIZHIK-PYZHIK'.0dh,0ah,30 dup(20h),'2 - PODMOCKOVNYE VECHERA'.0dh,0ah,30 dup(20h), 'q - Quit',5 dup(0ah), "$ "
er db 'Incorrect input! Try again!',0dh,0ah,"$ "
Коэффициенты деления для нот
noty dw 0eeeh,0e18h,0d49h,0c8eh,0bdfh,0b2fh,0abeh
dw 9f7h,968h,8e0h,861h,7e8h,777h,70ch,6a5h,647h
dw 5edh,597h,547h,4fbh,4b4h,470h,430h,3f4h
dw 3bbh,386h,352h,323h,2f6h,2cbh,2a3h,27dh,25ah,238h,218h,1fah
dw 1ddh,1c3h,1a9h,192h,17bh,166h,152h,13fh,12dh,11ch,10ch,0fdh
dw 0 
code ends
END
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.11.2019, 21:43
Ответы с готовыми решениями:

Системный динамик: воспроизвести мелодию
помогите исправить ошибку пожалуйста Assume CS: Code Code SEGMENT .286 Start proc; Основная процедура mov ax,cs mov ds,ax; DS =...

Мигание светодиодов и системный динамик
Доброго времени суток! у меня тут возникла такая проблема, нужно написать программу что бы пикнул системный динамик и мигнули диоды на...

Звук через системный динамик. Таймер не работает, звук не прекращается
.186 TITLE SOUND (COM) PROCEDURA DLYA GENERACII ZVUKA SOUNG SEGMENT ASSUME CS:SOUNG,DS:SOUNG,SS:SOUNG ORG ...

11
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 00:20
1. Переменные перемешаны с кодом и их значения воспринимаются процессором как коды инструкций.
и ещё и ещё.

Так программа компилируется и выполняется. Качество воспроизведения ужасное. Но это оставляю вам на самостоятельное исправление, т.к. в код не вникал.
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
Assume CS: Code
Code SEGMENT
.286
org 100h
Start proc                                ; Основная процедура
jmp begin
;Мелодия "Чижик Пыжик"
mel1 db 17,17,255,13,13,255,17,17,255,13,13,255,18,18,255
db 17,17,255,15,15,15,15,255,255
db 8,8,255,8,8,255,8,8,255,10,255,12,255
db 13,13,255,13,13,255,13,13,13,13
db 0
;Мелодия "Подмосковные вечера"
mel2 db 1,1,1,4,4,4,8,8,8,4,4,4,6,6,6,6,6,6,4,4,4,3,3,3
db 8,8,8,8,8,8,6,6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1
db 0
menu db 10 dup(0ah), 30 dup(20h), 'Enter the point of menu:'
db 0dh,0ah,30 dup(20h)
db '1 - CHIZHIK-PYZHIK',0dh,0ah,30 dup(20h)
db '2 - PODMOCKOVNYE VECHERA',0dh,0ah,30 dup(20h), 'q - Quit',5 dup(0ah), "$ "
er db 'Incorrect input! Try again!',0dh,0ah,"$ "
;Коэффициенты деления для нот
noty dw 0eeeh,0e18h,0d49h,0c8eh,0bdfh,0b2fh,0abeh
dw 9f7h,968h,8e0h,861h,7e8h,777h,70ch,6a5h,647h
dw 5edh,597h,547h,4fbh,4b4h,470h,430h,3f4h
dw 3bbh,386h,352h,323h,2f6h,2cbh,2a3h,27dh,25ah,238h,218h,1fah
dw 1ddh,1c3h,1a9h,192h,17bh,166h,152h,13fh,12dh,11ch,10ch,0fdh
dw 0
iniflag db 0                              ; Флаг звучания
old_int1c_off dw 0                        ; Смещение старого вектора
old_int1c_seg dw 0                        ; Сегмент старого вектора
tek_mel dw ?                               ; Адрес текущей ноты выбранной мелодии
begin:
        mov     ax, 351ch
        int     21h
        mov     cs:old_int1c_off, bx
        mov     cs:old_int1c_seg, es
        lea     dx, new_int1c
        mov     ax, 251ch
        int     21h                       ; DSX – адрес новой программы обр.
        mov     ah, 09h
        lea     dx, menu
        int     21h
beg1:
        call    kbin                      ; Опрос клавиатуры
        cmp     al, '1'
        jnz     beg2                      ; Нет
        mov     byte ptr iniflag, 1       ; Взведение флага звуч.
        lea     ax, mel1
        mov     tek_mel, ax
        jmp     beg1                      ; Переход на начало цикла
beg2:
        cmp     al, '2'
        jnz     beg3
        mov     byte ptr iniflag, 1
        lea     ax, mel2
        mov     tek_mel, ax
        jmp     beg1
beg3:
        cmp     al, 'q'
        jnz     beg4
        jmp     beg5
beg4:
        mov     ah, 09h
        lea     dx, er
        int     21h
        jmp     beg1
beg5:
;Восстановление старого вектора 1с и выход
        mov     dx, old_int1c_off
        mov     ax, old_int1c_seg
        mov     ds, ax                    ; DSX – адрес устанавл. вектора
        mov     ax, 251ch
        int     21h
mov ax,4c00h
int 21h
start endp
;Новый обработчик прерывания 1ch
new_int1c proc far
        pusha
        call    muz                       ; Вызов процедура извлечения звука
        popa
        iret
new_int1c endp
;Процедура извлечения очередного звука
;tek_mel – адрес текущей ноты выбранной мелодии
muz proc near
        test    byte ptr cs:iniflag, 0ffh ; Проверка флага
        jnz     muz1
muze:
        in      al, 61h                   ; Чтение состояния системного порта В
        and     al, 0fch                  ; Запрещение звучания (биты 0 и 1)
        out     61h, al                   ; Запись в системный порт В
        jmp     ex                        ; Выход, если флаг не взведен
muz1:
        mov     si, cs:tek_mel            ; Адрес текущей ноты
        mov     bl, cs:[si]               ; Текущая нота
        cmp     bl, 255                   ; Пауза?
        jnz     muz2
;Выключение звука
        in      al, 61h
        and     al, 0fch
        out     61h, al
        inc     cs:tek_mel                ; Переход к адресу след. ноты
        jmp     ex
muz2:
        or      bl, bl                    ; = 0?
        jnz     muz3
        jmp     muze
muz3:
        xor     bh, bh
        mov     ax, cs:noty [bx]
;Программирование делителя частоты 2 канала
        inc     cs:tek_mel                ; Переход к адресу след. ноты
        out     42h, al                   ; Мл.байт частоты. канал 2 таймера
        xchg    al, ah                    ; AH. AL
        out     42h, al                   ; Ст. байт частоты. канал 2 таймера
;Разрешение звучания
        in      al, 61h
        or      al, 3                     ; Разрешение звучания (биты 0 и 1)
        out     61h, al                   ; Запись в системный порт В
ex:
        ret
muz endp
kbin proc near                            ; Ввод с клавиатуры и проверка на выбор игры
        mov     ah,0
        int     16h
        ret
kbin endp
code ends
END Start
Добавлено через 1 час 23 минуты
Судя по
Системный динамик: воспроизвести мелодию
мелодии и раньше скрипели.

Добавлено через 1 минуту
Интересно узнать первоисточник...

Добавлено через 14 минут
Ага, нашёл
Рощин А.В. СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ: УЧЕБНОЕ ПОСОБИЕ
1
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
25.11.2019, 12:28  [ТС]
как выбрать мелодию?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 12:40
Скомпилируйте, запустите - появится подсказка.
Это же не моя программа - я её только до компиляции довёл и раз запустил.
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
25.11.2019, 22:09  [ТС]
После компиляции программа не реагирует ни на что, выходит окно программы с подсказкой, а во время попытки выбора мелодии программа не реагирует ни на одну клавишу, что можно сделать подскажите пожалуйста?
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 22:17
Я компилировал DOS com программу
tasm music.asm
tlint /Tdc music.obj music.com


Добавлено через 1 минуту

Не по теме:

Что же вы - коня украли, а перекрасить не можете...

0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
25.11.2019, 22:20  [ТС]
что с этим делать?
tasm music.asm
tlint /Tdc music.obj music.com
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 22:21
А как вы компилируете и запускаете программу?
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
25.11.2019, 22:28  [ТС]
Ну я вставляю код в программу(GUI TURBO ASSEMBLER) и нажимаю F9
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 22:49
Не знаю как быть. Этот ваш GUI TURBO ASSEMBLER не создаёт DOS com программы.
Я уже что-то пробовал в нём делать, но не получилось - это студенческая поделка под конкретную методичку его преподавателя.

Попробуйте научиться пользоваться DOSBox и компилятором tasm.
0
0 / 0 / 0
Регистрация: 13.11.2019
Сообщений: 8
25.11.2019, 22:51  [ТС]
Понял. Спасибо большое.
0
Модератор
Эксперт по электронике
 Аватар для ФедосеевПавел
8659 / 4494 / 1669
Регистрация: 01.02.2015
Сообщений: 13,907
Записей в блоге: 12
25.11.2019, 23:57
Или переделать программу в формат DOS exe
Assembler
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
.model medium
 
.stack 200h
 
.data
;Мелодия "Чижик Пыжик"
mel1 db 17,17,255,13,13,255,17,17,255,13,13,255,18,18,255
db 17,17,255,15,15,15,15,255,255
db 8,8,255,8,8,255,8,8,255,10,255,12,255
db 13,13,255,13,13,255,13,13,13,13
db 0
;Мелодия "Подмосковные вечера"
mel2 db 1,1,1,4,4,4,8,8,8,4,4,4,6,6,6,6,6,6,4,4,4,3,3,3
db 8,8,8,8,8,8,6,6,6,6,6,6,1,1,1,1,1,1,1,1,1,1,1,1
db 0
menu db 10 dup(0ah), 30 dup(20h), 'Enter the point of menu:'
db 0dh,0ah,30 dup(20h)
db '1 - CHIZHIK-PYZHIK',0dh,0ah,30 dup(20h)
db '2 - PODMOCKOVNYE VECHERA',0dh,0ah,30 dup(20h), 'q - Quit',5 dup(0ah), "$"
er db 'Incorrect input! Try again!',0dh,0ah,"$"
;Коэффициенты деления для нот
noty dw 0eeeh,0e18h,0d49h,0c8eh,0bdfh,0b2fh,0abeh
dw 9f7h,968h,8e0h,861h,7e8h,777h,70ch,6a5h,647h
dw 5edh,597h,547h,4fbh,4b4h,470h,430h,3f4h
dw 3bbh,386h,352h,323h,2f6h,2cbh,2a3h,27dh,25ah,238h,218h,1fah
dw 1ddh,1c3h,1a9h,192h,17bh,166h,152h,13fh,12dh,11ch,10ch,0fdh
dw 0
iniflag db 0                              ; Флаг звучания
old_int1c_off dw 0                        ; Смещение старого вектора
old_int1c_seg dw 0                        ; Сегмент старого вектора
tek_mel dw ?                               ; Адрес текущей ноты выбранной мелодии.code
 
.code
.286
main    proc
        ;инициализация сегментного регистра ds адресом сегмента данных
        mov     ax,     @data
        mov     ds,     ax
 
        ;установка обработчика прерывания
        mov     ax,     351Ch           ; AH = 35h, AL = номер прерывания
        int     21h                     ; получить адрес обработчика
        mov     word ptr old_int1c_off, bx ; и записать его в old_int1Ch
        mov     word ptr old_int1c_seg, es
        push    ds
        mov     ax,     251Ch           ; AH = 25h, AL = номер прерывания
        mov     dx, offset new_int1c    ; DS:DX - адрес обработчика
        mov     bx, seg new_int1c
        mov     ds,     bx
        int     21h                     ; установить обработчик
        pop     ds
 
        mov     ah, 09h
        lea     dx, menu
        int     21h
beg1:
        call    kbin                      ; Опрос клавиатуры
        cmp     al, '1'
        jnz     beg2                      ; Нет
        mov     byte ptr iniflag, 1       ; Взведение флага звуч.
        lea     ax, mel1
        mov     tek_mel, ax
        jmp     beg1                      ; Переход на начало цикла
beg2:
        cmp     al, '2'
        jnz     beg3
        mov     byte ptr iniflag, 1
        lea     ax, mel2
        mov     tek_mel, ax
        jmp     beg1
beg3:
        cmp     al, 'q'
        jnz     beg4
        jmp     beg5
beg4:
        mov     ah, 09h
        lea     dx, er
        int     21h
        jmp     beg1
beg5:
        ;восстановление вектора прерывания
        push    ds
        mov     ax,     251Ch           ; АН = 25h, AL = номер прерывания
        lds     dx,     dword ptr old_int1c_off   ; DS:DX = адрес обработчика
        int     21h                     ; восстановить старый обработчик
        pop     ds
        mov     ax, 4c00h
        int     21h
main    endp
 
;Новый обработчик прерывания 1ch
new_int1c proc far
        pusha
        call    muz                       ; Вызов процедура извлечения звука
        popa
        iret
new_int1c endp
;Процедура извлечения очередного звука
;tek_mel – адрес текущей ноты выбранной мелодии
muz proc near
        push    ds
        mov     ax,     @data
        mov     ds,     ax
        test    byte ptr iniflag, 0ffh ; Проверка флага
        jnz     muz1
muze:
        in      al, 61h                   ; Чтение состояния системного порта В
        and     al, 0fch                  ; Запрещение звучания (биты 0 и 1)
        out     61h, al                   ; Запись в системный порт В
        jmp     ex                        ; Выход, если флаг не взведен
muz1:
        mov     si, tek_mel            ; Адрес текущей ноты
        mov     bl, [si]               ; Текущая нота
        cmp     bl, 255                   ; Пауза?
        jnz     muz2
;Выключение звука
        in      al, 61h
        and     al, 0fch
        out     61h, al
        inc     tek_mel                ; Переход к адресу след. ноты
        jmp     ex
muz2:
        or      bl, bl                    ; = 0?
        jnz     muz3
        jmp     muze
muz3:
        xor     bh, bh
        mov     ax, noty [bx]
;Программирование делителя частоты 2 канала
        inc     tek_mel                ; Переход к адресу след. ноты
        out     42h, al                   ; Мл.байт частоты. канал 2 таймера
        xchg    al, ah                    ; AH. AL
        out     42h, al                   ; Ст. байт частоты. канал 2 таймера
;Разрешение звучания
        in      al, 61h
        or      al, 3                     ; Разрешение звучания (биты 0 и 1)
        out     61h, al                   ; Запись в системный порт В
ex:
        pop     ds
        ret
muz endp
kbin proc near                            ; Ввод с клавиатуры и проверка на выбор игры
        mov     ah,0
        int     16h
        ret
kbin endp
 
end     main
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.11.2019, 23:57
Помогаю со студенческими работами здесь

Воспроизвести параллельно еще одну мелодию
у меня играет мелодия Playsound("x.wav",NULL,SND_ASUNC|SND_LOOP); но потом у меня другая мелодия воспроизводится и эта исчезает. как...

Как воспроизвести выбранную мелодию в listview в mediaelemnt?
Доброе всем время суток. У меня есть listview, куда я гружу мелодии. Как воспроизвести выбранную мелодию в listview в mediaelemnt????

NAudio - воспроизвести мелодию по значениям амплитуд из wav-файла
Всем привет! Подскажите, можно ли с помощью библиотеки NAudio воспроизвести мелодию, если у меня есть массив со значениями амплитуд из...

системный динамик
одна старая программа воспроизводит звук через спикер, необходимо записать в файл, то что звучит в системном динамике в формате ...

Не работает системный динамик
На компьютере под управлением windows7 не работает системный динамик, звук выводится на аудиовыход. При загрузке компа есть одиночный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек SDL3 и Box2D из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия SDL 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual. . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru