eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.telefoniaPołączenie modemów przez VoIPRe: Połączenie modemów przez VoIP
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erj
    e.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!new
    s.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-sp
    o-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    From: Krzysztof Halasa <k...@p...waw.pl>
    Newsgroups: pl.misc.telefonia
    Subject: Re: Połączenie modemów przez VoIP
    References: <9...@g...com>
    <m...@i...localdomain>
    <16jfjbcx9bpkt$.agbjl81nivm7.dlg@40tude.net>
    <m...@i...localdomain>
    <d...@4...net>
    <m...@i...localdomain>
    <17cq9v2hiia5c.5hhfxm97f2y$.dlg@40tude.net>
    <m...@i...localdomain>
    <1vmix87l2k510$.1evnm1d4822im.dlg@40tude.net>
    <m...@i...localdomain>
    <9...@4...net>
    <m...@i...localdomain>
    <b0ixs6q9v5ba$.r4nb190kozzq$.dlg@40tude.net>
    <m...@i...localdomain>
    <1...@4...net>
    <m...@i...localdomain>
    <8...@4...net>
    <m...@i...localdomain>
    <1ej8oahwlyrtg$.1lzcqu1kgbb6r$.dlg@40tude.net>
    <m...@i...localdomain>
    <bvy07t6laktq$.nmukvw00msee$.dlg@40tude.net>
    Date: Sat, 03 Sep 2022 13:25:52 +0200
    Message-ID: <m...@i...localdomain>
    Cancel-Lock: sha1:0tpS3RQjEXo0Z440CfFRjGE63OI=
    MIME-Version: 1.0
    Content-Type: text/plain; charset=utf-8
    Content-Transfer-Encoding: 8bit
    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: a...@n...neostrada.pl
    X-Received-Bytes: 5464
    Xref: news-archive.icm.edu.pl pl.misc.telefonia:242906
    [ ukryj nagłówki ]

    "J.F" <j...@p...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/dr
    ivers/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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: