Инструменты пользователя

Инструменты сайта


pro_spk:воспроизведение_мелодий_через_встроенный_динамик_компьютера_pc-speaker_в_gnu_linux

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pro_spk:воспроизведение_мелодий_через_встроенный_динамик_компьютера_pc-speaker_в_gnu_linux [2019/01/23 14:20] dwadminpro_spk:воспроизведение_мелодий_через_встроенный_динамик_компьютера_pc-speaker_в_gnu_linux [2023/10/01 09:45] (текущий) dwadmin
Строка 1: Строка 1:
 ====== Воспроизведение мелодий через встроенный динамик компьютера (PC-Speaker) в GNU/Linux ====== ====== Воспроизведение мелодий через встроенный динамик компьютера (PC-Speaker) в GNU/Linux ======
  
-[[http://soft.self-made-free.ru/spk_play.pas|spk_play.pas]]+Демонстрационная программа: [[http://soft.self-made-free.ru/spk_play.pas|spk_play.pas]]
  
 <code pascal> <code pascal>
Строка 80: Строка 80:
 Sleep(100); Sleep(100);
 spkoff; // Выключить динамик. spkoff; // Выключить динамик.
 +
 +end.
 +</code>
 +
 +Юнит: [[http://soft.self-made-free.ru/spkunit.pas|spkunit.pas]]
 +
 +<code pascal>
 +unit spkunit;
 +
 +{$MODE OBJFPC}
 +{$ASMMODE INTEL}
 +{$CODEPAGE UTF8}
 +
 +{
 +    Unit for playing melodys on PC-Speaker.
 +    For GNU/Linux 64 bit version. Root priveleges needed.
 +    Version: 3.
 +    Written on FreePascal (https://freepascal.org/).
 +    Copyright (C) 2000-2019  Artyomov Alexander
 +    http://self-made-free.ru/ (Ex http://aralni.narod.ru/)
 +    aralni@mail.ru
 +
 +    This program is free software: you can redistribute it and/or modify
 +    it under the terms of the GNU Affero General Public License as
 +    published by the Free Software Foundation, either version 3 of the
 +    License, or (at your option) any later version.
 +
 +    This program is distributed in the hope that it will be useful,
 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 +    GNU Affero General Public License for more details.
 +
 +    You should have received a copy of the GNU Affero General Public License
 +    along with this program.  If not, see <https://www.gnu.org/licenses/>.
 +}
 +
 +interface
 +
 +uses X86;
 +
 +procedure spk(b : word); procedure spkon; procedure spkoff;
 +
 +implementation
 +
 +procedure spkon; assembler;
 +asm
 +        push    rax
 +        in      al, 61h
 +        or      al, 03h
 +        out     61h, al
 +        pop     rax
 +end;
 +procedure spkoff; assembler;
 +asm
 +        push    rax
 +        in      al, 61h
 +        or      al, 03h
 +        xor     al, 03h
 +        out     61h, al
 +        pop     rax
 +end;
 +procedure spk(b : word);
 +var hb, lb : byte;
 +begin
 +hb := hi(b); lb := lo(b);
 + asm
 +        push    rax
 +        mov     al, 0B6h
 +        out     43h, al
 +        mov     al, lb
 +        out     42h, al
 +        mov     al, hb
 +        out     42h, al
 +        pop     rax
 + end;
 +end;
 +
 +initialization
 +
 +fpioperm($42, 2, 1);
 +fpioperm($61, 1, 1);
  
 end. end.
 </code> </code>
pro_spk/воспроизведение_мелодий_через_встроенный_динамик_компьютера_pc-speaker_в_gnu_linux.1548242413.txt.gz · Последнее изменение: 2019/01/23 14:20 — dwadmin

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: GNU Free Documentation License 1.3
GNU Free Documentation License 1.3 Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki