Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   Экранные Средства    >>    setblin
   
 
 Установка/Сброс Бита Мерцания (TXT Mode)   Dimon Shvetsov 20.05.1995

Корректная работа с битом мерцания. Пример работает на любых видах мониторов



1k 
 

- 4INT ----------------------------------------------------- It's interesting - Msg : 9 of 204 Addr Date From : Dimon Shvetsov 2:5020/103.38 20.05.95 Subj : Установка/Сброс Бита Мерцания (TXT Mode) ------------------------------------------------------------------------------- Hello Sergey! 17 May 95 12:03, Sergey Temrezov wrote to All: KK>> Киньте мне мылом процедурку для получения subj, pls. Тут KK>> пробегали они, но я пропустил как-то... ST> И мне тоже. Hу если ловилка pаботает...) Пример работает на любых видах мониторов. Поймали?-) Hi! Dimon. --- GEcho 1.02+ Hi! * Origin: /103.38 AKA /158.18 /350.2 Hi from White Fang BBS! (2:5020/103.38) {> Cut here. FileName= SETBLIN.PAS } Procedure SetBlink(On:Boolean); {Turn blinking off to get more colors} {Enable text mode attribute blinking if On is True} Const PortVal:array[0..4] of Byte=($0C,$08,$0D,$09,$09); Var PortNum:Word; Index,PVal:Byte; begin Case GrDriver of HercMono:begin PortNum:=$3B8; Index:=4; end; CGA:begin PortNum:=$3D8; Case LastMode of 0..3:Index:=LastMode; else Exit; end;{Case} end; MCGA..VGA:begin Inline( $8A/$5E/<On/ {mov bl,[bp+<On]} $B8/$03/$10/ {mov ax,$1003} $CD/$10); {int $10} Exit; end; else Exit; end; PVal:=PortVal[Index]; if On then PVal:=PVal or $20; Port[PortNum]:=PVal; end;