-
Data: 2022-09-03 13:25:52
Temat: Re: Połączenie modemów przez VoIP
Od: Krzysztof Halasa <k...@p...waw.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
Następne wpisy z tego wątku
- 04.09.22 20:00 Piotr C.
- 05.09.22 01:01 Krzysztof Halasa
- 08.09.22 21:26 J.F
- 09.09.22 16:00 Krzysztof Halasa
- 09.09.22 22:23 J.F
- 10.09.22 23:24 Krzysztof Halasa
- 15.09.22 17:15 J.F
- 15.09.22 21:56 Krzysztof Halasa
- 16.09.22 06:52 J.F
- 17.09.22 00:41 Krzysztof Halasa
- 19.09.22 10:23 J.F
- 20.09.22 21:21 Krzysztof Halasa
- 22.09.22 13:48 J.F
Najnowsze wątki z tej grupy
- "betamaxy" i inne voip-y dzisiaj
- Hackowanie SS7
- nowe spamerstwo ?
- Przychodzące impulsy telefon nie dzwoni
- Re: Zgody...
- Jak tanio dzwonic do Wielkiej Brytani?
- Chess
- Vitruvian Man - parts 7-11a
- Czas umierać.
- [ot] aplikacja - ameryk. nr. telef + dzwonienie za free do stanow i kanady
- Vectra 'Plan domowy bez limitu'
- Re: Ponownie: Android i zarządzanie książką telefoniczną z komputera
- Re: Ponownie: androSRAJ i zarządzanie książką teleSRAną z bitMłyna
- Re: Ponownie: Android i zarządzanie książką telefoniczną z komputera
- Android, export/import książki telefonicznej
Najnowsze wątki
- 2024-11-25 Karty przedpłacone (podarunkowe) Google Play - pytanie do korzystających
- 2024-11-26 wina Tóska
- 2024-11-26 Rewolucja/Rewelacja!
- 2024-11-25 grupa ożyła ;)
- 2024-11-24 Być jak Clint
- 2024-11-24 Rura kanalizacja konceptu Franke = problem
- 2024-11-25 Wrocław => Lead Java EE Developer <=
- 2024-11-25 Warszawa => Business Development Manager - Network and Network Securit
- 2024-11-25 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-25 Lublin => Senior PHP Developer <=
- 2024-11-25 Karlino => Konsultant wewnętrzny SAP (FI/CO) <=
- 2024-11-25 Warszawa => ECM Specialist / Consultant <=
- 2024-11-25 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2024-11-25 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-11-25 Lublin => Inżynier Serwisu Sprzętu Medycznego <=