🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.misc.telefonia
Article #243379

Re: Połączenie modemów przez VoIP

#243379
From: Krzysztof Halasa
Date: Sat, 03 Sep 2022 11:25
110 lines
5619 bytes
"J.F" <jfox_xnospamx@poczta.onet.pl> writes:

>> Tak. Po zakończeniu obsługi - tak jak w przypadku każdego innego
>> przerwania (teraz - "twardego" przerwania).
>
> A nie mozna bylo wczesniej? Tzn jeszcze w przerwaniu?

Teoretycznie czy sensownie?
Bo teoretycznie to oczywiście wszystko można było zrobić - tylko
chodziło też o to, by to jakoś sensownie działało. Priorytety przerwań
są jednak po coś.

> Choc moze jeszcze nie bylo tych najszybszych modemow.

No tak, nie było, albo nie były używane. A jak ktoś miał i używał, to
kupował kartę z 16550, koszt typu 1/30 ceny CPU, i też mu działało.

> Normalna obsluga dysku w DOS chyba nie blokowala przerwan, i w ogole
> ich nie używala. Tzn dyskow IDE-ATA.

To raczej kwestia BIOSu (int 13h), nie samego DOSu.
Przyznaję, że nie pamiętam już dokładnych szczegółów, ale pamiętam, że
po wyjęciu zworek INT14/15 dyski nie działały. Może to było tak, że
CD-ROMy działały bez przerwania, a dyski nie? Albo Linux i np. Windows
wymagały IRQ, a BIOS nie?

Tak czy owak, dyski powodowały problemy w serialach 16450.

Trudno to teraz ocenić, w oderwaniu od konkretnego BIOSu, ale zapytajmy
google: ibm pc at bios source code
https://github.com/kaneton/appendix-bios/blob/master/src/disk.asm
----------------------------------------
; COMMANDI		:
;	REPEATEDLY INPUTS DATA TILL	:
;	NSECTOR RETURNS ZERO	:
;------------------------------------------

COMMANDI:
	CALL	CHECK_DMA		; CHECK 64K BOUNDARY ERROR
	JC	CMD_ABORT
	MOV	DI,BX
	CALL	COMMAND			; OUTPUT COMMAND
	JNZ	CMD_ABORT

CMD_I1:
	CALL	WAIT			; WAIT FOR DATA REQUEST INTERRUPT
	JNZ	TM_OUT			; TIME OUT
	MOV	CX,256D			; SECTOR SIZE IN WORDS
	MOV	DX,HF_PORT
>>>>>	CLI
	CLD
>>>>>	REP	INSW			; GET THE SECTOR
	STI

Samo to wystarczyło, by przerwania z 16450 nie mogły być obsłużone.

Podobnie:

;------------------------------------------
; COMMANDO		:
;	REPEATEDLY OUTPUTS DATA TILL	:
;	NSECTOR RETURNS ZERO	:
;------------------------------------------
COMMANDO:
	CALL	CHECK_DMA		; CHECK 64K BOUNDARY ERROR
	JC	CMD_ALORT
CMD_OF:	MOV	SI,BX
	CALL	COMMAND			; OUTPUT COMMAND
	JNZ	CMD_ABORT
	CALL	WAIT_DRQ		; WAIT FOR DATA REQUEST
	JC	TM_OUT			; TOO LONG
CMD_O1:	PUSH	DS
	PUSH	ES			; MOVE ES TO DS
	POP	DS
	MOV	CX,256D			; PUT THE DATA OUT TO THE CARD
	MOV	DX,HF_PORT
>>>>>	CLI
	CLD
>>>>>	REP	OUTSW
	STI

Swoją drogą, wydaje mi się że było jakieś specjalne wytłumaczenie
dlaczego transfer danych wymaga wyłączonych przerwań - ale już nie
pamiętam.

>> i najlepiej w ogóle nie używać żadnych funkcji DOSu ani BIOSu.
>
> One raczej tez nie blokowały.

Przeciwnie, one wszystkie domyślnie blokowały przerwania (instrukcja
INT x). Jednakże mogły je następnie odblokować - zależnie od konkretnej
funkcji (przerwania "programowe" nie miały związku z 8259).

> https://docs.microsoft.com/en-us/windows-hardware/drivers/serports/sharing-a-serial-device-interrupt
>
> rok 2021 - dzielic przerwania mozna, ale tylko jeden port moze działac
> jednoczenie na przerwaniu :-)

No coż. W każdym razie Linux nie miał tego typu problemów, oczywiście
zakładając, że sam hardware był ok (co w praktyce oznaczało, że karty
wieloportowe działały na jednym przerwaniu, ale karty Multi-I/O (Super
I/O) - niekoniecznie).

Karty wieloportowe miały z konieczności wszystkie przerwania zsumowane,
natomiast przypuszczalnie multi-I/O miały indywidualne wyjścia
2-stanowe, które się następnie przypinało do konkretnych linii na złączu
jumperami. Pewnie jakby zrobić "jumper" z dwiema diodami to też by
magicznie zaczęło działać.
-- 
Krzysztof Hałasa
Technical Details
Message-ID: <m3edwsitrz.fsf@intrepid.localdomain>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <9137c096-eed0-46b4-a048-f7f2e75295fbn@googlegroups.com> <m3y1vtyyeq.fsf@intrepid.localdomain> <16jfjbcx9bpkt$.agbjl81nivm7.dlg@40tude.net> <m3edxg2nt8.fsf@intrepid.localdomain> <ddtt0r312est.abzmrt8obfif.dlg@40tude.net> <m3czcxp8dc.fsf@intrepid.localdomain> <17cq9v2hiia5c.5hhfxm97f2y$.dlg@40tude.net> <m3h728e17q.fsf@intrepid.localdomain> <1vmix87l2k510$.1evnm1d4822im.dlg@40tude.net> <m3k06yve27.fsf@intrepid.localdomain> <9287039d32iz.16bswik2el0aa.dlg@40tude.net> <m3tu5y0xod.fsf@intrepid.localdomain> <b0ixs6q9v5ba$.r4nb190kozzq$.dlg@40tude.net> <m3r1106xf9.fsf@intrepid.localdomain> <1vc1aqo0h73ph.1k2tgl2wzagtb.dlg@40tude.net> <m3czcgtu3o.fsf@intrepid.localdomain> <8ya4v0v1gm8f.1cmttawuyze7d.dlg@40tude.net> <m3v8q7whr7.fsf@intrepid.localdomain> <1ej8oahwlyrtg$.1lzcqu1kgbb6r$.dlg@40tude.net> <m3o7vyqa30.fsf@intrepid.localdomain> <bvy07t6laktq$.nmukvw00msee$.dlg@40tude.net>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.ams4!peer.am4.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
From: Krzysztof Halasa <khc@pm.waw.pl>
Newsgroups: pl.misc.telefonia
Subject: Re: Połączenie modemów przez VoIP
References: <9137c096-eed0-46b4-a048-f7f2e75295fbn@googlegroups.com> <m3y1vtyyeq.fsf@intrepid.localdomain> <16jfjbcx9bpkt$.agbjl81nivm7.dlg@40tude.net> <m3edxg2nt8.fsf@intrepid.localdomain> <ddtt0r312est.abzmrt8obfif.dlg@40tude.net> <m3czcxp8dc.fsf@intrepid.localdomain> <17cq9v2hiia5c.5hhfxm97f2y$.dlg@40tude.net> <m3h728e17q.fsf@intrepid.localdomain> <1vmix87l2k510$.1evnm1d4822im.dlg@40tude.net> <m3k06yve27.fsf@intrepid.localdomain> <9287039d32iz.16bswik2el0aa.dlg@40tude.net> <m3tu5y0xod.fsf@intrepid.localdomain> <b0ixs6q9v5ba$.r4nb190kozzq$.dlg@40tude.net> <m3r1106xf9.fsf@intrepid.localdomain> <1vc1aqo0h73ph.1k2tgl2wzagtb.dlg@40tude.net> <m3czcgtu3o.fsf@intrepid.localdomain> <8ya4v0v1gm8f.1cmttawuyze7d.dlg@40tude.net> <m3v8q7whr7.fsf@intrepid.localdomain> <1ej8oahwlyrtg$.1lzcqu1kgbb6r$.dlg@40tude.net> <m3o7vyqa30.fsf@intrepid.localdomain> <bvy07t6laktq$.nmukvw00msee$.dlg@40tude.net>
Date: Sat, 03 Sep 2022 13:25:52 +0200
Message-ID: <m3edwsitrz.fsf@intrepid.localdomain>
Cancel-Lock: sha1:0tpS3RQjEXo0Z440CfFRjGE63OI=
MIME-Version: 1.0
Lines: 110
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 195.187.100.13
X-Trace: 1662204354 unt-rea-a-01.news.neostrada.pl 6208 195.187.100.13:42800
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 5464
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit