🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.pascal
Article #168

Re: Kursor textowy i porty komunikacyjne

#168
From: Artur Jedlinski
Date: Wed, 16 Dec 1998 11:02
102 lines
3912 bytes
Piotr Bochaczyk <piotrb@mops.uci.agh.edu.pl> wrote:
: Te dwie procedurki rozwiązują chyba problem ukrywania kursora
: tekstowego?

: Procedure KursorOff; Assembler;
:  Asm
:   MOV AH,01h
:   MOV CH,10h
:   MOV CL,00h
:   INT 10H
:  End;

: Procedure KursorOn; Assembler;
:  Asm
:   MOV AH,01h
:   MOV CH,07h
:   MOV CL,07h
:   INT 10H
:  End;

: Jak sprawdzić jakie porty COM i LPT są zainstalowane? Bardzo prosto!

: COM1BaseAdr:word absolute $0:0400;
: COM2BaseAdr:word absolute $0:0402;
: COM3BaseAdr:word absolute $0:0404;
: COM4BaseAdr:word absolute $0:0406;

: LPT1BaseAdr:word absolute $0:0408;
: LPT2BaseAdr:word absolute $0:040A;
: LPT3BaseAdr:word absolute $0:040C;
: LPT4BaseAdr:word absolute $0:040E;

: Wiadomo o co chodzi? W odpowiednich zmiennych znajdują się adresy Portów
: dla poszczególnych portów. Jak tego używać? Poczytajcie w literaturze. W
: niektorych przypadkach lepiej bedzie uzyc typu pointer, ale to zalezy od
: zastosowania.
: Jeśli któregoś z portów brakuje, to zmienna nie jest określona. Zwykle
: oznacza to wartość 0:0, ale częściej jest po prostu przypadkowy adres.
: Jak wobec tego zdobyć pewność, że dany adres jest prawdziwy? Ano
: odczytujemy zmienną $0:0410, której zawartość wygląda tak:

: bity
: 0       : =0 Brak stacji dysków
: 1       : =1 obecność kooprocesora
: 2-3     : Pamięć RAM płyty głównej
:           =01 16K; =10 32K; =11 64+K
: 4-5     : Aktywny tryb graficzny
:           =00 możliwa EGA (nie zawsze prawda, lepiej użyć przerwania
: 10h)
:           =01 40 kolumn kolor; =10 80 kolumn kolor; =11 TTL Mono
: 6-7     : Całkowita liczba napędów

: ---          =00 1; =01 2; =10 3; =11 4
: 8       : Obecność DMA
: 9-11    : Porty RS232
:           =000 brak; =001 1; ... =111 7
: 12      : =1 obecność karty GAME
: 13      : =1 obecność drukarki szeregowej (zwykle drukarka jest
: równoległa)
: 14-15   : Zainstalowane drukarki
:           =00 brak; =01 1; =10 2; =11 3

: Te informacje zwraca także przerwanie 11h w rejestrze AX, np:

: Label IsHere,Quit;

: ...

: {Funkcja zwraca TRUE jeśli w systemie jest obecny}
: {kooprocesor matematyczny, w przeciwnym przypadku zwraca FALSE}
: Function Check4MathCoopr:Boolean; Assembler; Far;
:   Asm
:     MOV @Result,00
:     INT 11h
:     AND AX,0002h
:     JNE IsHere
:     JMP Quit
: :IsHere
:     MOV @Result,01
: :Quit
:     NOP
:   End;

: W Linux'ie nie działa F9, więc piszę z pamięci. Wniosek - funkcja
: może się nie kompilować. Ale to już chyba nie jest problem. Nie piszę
: komentaży, bo chyba wszystko jest jasne.

: O obsłudze myszki w tekstówce napiszę następnym razem.

:                  __          Piotr ,,Neevor'' Bochaczyk	
:   ___   ___     __    ___    member of Team OS/2 Poland	
:  _   _ _       __   _    _   & Asu'a Programmers Group	
:  _   _  __    __       _				
:  _   _    _  __      _       neevor@teamos2.org.pl	
:   ___  ___  __     ______				
:            __                Uroda x Rozum = const

-- 
	Nataniel <nataniel@rpg.pl>
        editor of "Nowe WIZJE"

"Co to za czasy, ze byle chlystek moze mowic NI do starej kobiety"
Technical Details
Message-ID: <75840l$ini$1@zeus.polsl.gliwice.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!orion.cst.tpsa.pl!news.task.gda.pl!news.man.poznan.pl!polsl.gliwice.pl!not-for-mail
References: <367784A4.30191855@mops.uci.agh.edu.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!mat.uni.torun.pl!news.nask.pl!orion.cst.tpsa.pl!news.task.gda.pl!news.man.poznan.pl!polsl.gliwice.pl!not-for-mail
From: Artur  Jedlinski <nataniel@infeco.pb.bialystok.pl>
Newsgroups: pl.comp.lang.pascal
Subject: Re: Kursor textowy i porty komunikacyjne
Date: 16 Dec 1998 11:02:45 GMT
Organization: Infeco HQ
Lines: 102
Message-ID: <75840l$ini$1@zeus.polsl.gliwice.pl>
References: <367784A4.30191855@mops.uci.agh.edu.pl>
NNTP-Posting-Host: infeco.pb.bialystok.pl
Mime-Version: 1.0
User-Agent: tin/pre-1.4-980226 (UNIX) (Linux/2.0.35 (i586))
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit