-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.cdo179.neoplus.adsl.tpnet.pl!no
t-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Re: Portowanie CP/M
Date: Tue, 9 Jul 2024 10:42:22 +0200
Organization: ICM, Uniwersytet Warszawski
Message-ID: <v6it5e$14ec2$2@news.icm.edu.pl>
References: <v6h7gt$11nrq$1@news.icm.edu.pl>
<o7faz70e4d2w$.79mo6m18nev9$.dlg@40tude.net>
<v6io2b$147g9$1@news.icm.edu.pl> <v6ipum$149vs$1@news.icm.edu.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 9 Jul 2024 08:42:22 -0000 (UTC)
Injection-Info: news.icm.edu.pl;
posting-host="cdo179.neoplus.adsl.tpnet.pl:83.30.164.179";
logging-data="1194370"; mail-complaints-to="u...@n...icm.edu.pl"
User-Agent: Mozilla Thunderbird
Content-Language: en-US, pl-PL
In-Reply-To: <v6ipum$149vs$1@news.icm.edu.pl>
Xref: news-archive.icm.edu.pl pl.misc.elektronika:792739
[ ukryj nagłówki ]On 9.07.2024 09:47, Jacek Konieczny wrote:
> Mnie to brzmi jakby jakieś funkcje twojego BIOSu kłóciły się z
> przerwaniami, które ten sam BIOS obsługuje - gdzieś brak synchronizacji
> w dostępie do wspólnych danych.
Tyle tylko, że tam tak naprawdę nie ma zbyt wielu rzeczy wspólnych.
Obsługa przerwań (realizowana za pomocą 8259) jest inicjowana przy
rozruchu sprzętu, jeszcze przed odpaleniem bootloadera. Potem w
kluczowych momentach, przy starcie CP/M co najwyżej wyłączam przerwania
globalnie.
Procedury obsługujące przerwania siedzą w EPROM-ie, który jest na stałe
dostępny w przestrzeni adresowej. Na chwilę obecną są to:
1. UART RX - obecnie niezaimplementowane - po prostu wraca
2. UART TX - obecnie niezaimplementowane - po prostu wraca
3. Klawiatura - pobiera jeden bajt z rejestru klawiatury i zapisuje jego
wartość w zmiennej. Potem wraca. W tej chwili to jedyne dane pobierane w
przerwaniu, które są także używane w BIOS-ie.
4. TIMER 8253 - Inkrementuje szenstastobitową zmienną "systick" i
przeładowuje przerwanie pisząc do rejestru układu. Potem wraca. Na
chwilę obecną ta zmienna nie jest używana w BIOS-ie.
5. RTC - czyści flagę przerwania w układzie przerwania, potem
inkrementuje szesnastobitową zmienną "rtctick" (zliczającą sekundy).
Potem wraca. Na chwilę obecną zmienna ta nie jest używana w BIOS-ie.
6. Przerwanie układu graficznego (TMS9918). Na chwilę obecną nieużywane
- po prostu wraca.
7. Wektory dwóch nieużywanych przerwań po prostu wracają.
> Druga sprawa - czy przerwanie w nieodpowiednim momencie nie psuje
> krytycznego timingu w operacjach I/O? Może akurat wstawia jakąś
> milisekundę opóźnienia gdzie nie powinno? I np. gubisz jeden sektor, bo
> w buforze już kolejny wylądował.
Teoretycznie to mogłoby powodować problemy w przypadku fizycznego dysku
z obracającym się tależem. Ale czy przypadkiem karta CF nie powinna być
odporna na takie zachowania? Ona po prostu wystawia flagi i dane na
magistralę.
Poza tym w chwili obecnej (eksperymentalnie) wyłączyłem globalnie
przerwania w procedurze odczytu z dysku. To powinno zupełnie rozwiązać
problemy o takiej genezie.
Następne wpisy z tego wątku
- 09.07.24 11:21 J.F
- 09.07.24 12:26 Atlantis
- 09.07.24 22:57 Atlantis
- 10.07.24 07:28 J.F
- 10.07.24 09:03 Atlantis
- 11.07.24 09:31 J.F
- 11.07.24 09:59 J.F
- 12.07.24 19:14 Atlantis
- 12.07.24 20:45 J.F
- 13.07.24 07:59 Atlantis
Najnowsze wątki z tej grupy
- Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- Odkurzacz Smapp Dynamic - dawny Zelmer
- Nagra IV i zewnętrzny pilot
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
Najnowsze wątki
- 2025-03-18 Tesla na złom
- 2025-03-18 Ziobrotura 3.0 będzie w prawie przesłuchać "świadka" Tuska bez adwokata w sprawach Sienkiewicza/Bodnara/...?
- 2025-03-18 Produkty ,,Made in Germany" wciąż na topie - art. na www.dw.com
- 2025-03-18 ulaskawienia
- 2025-03-18 Gdynia => Sales Executive / KAM <=
- 2025-03-18 42 MILIARDY ZŁOTYCH ZYSKU W ROK. DLACZEGO BANKI TYLE ZARABIAJĄ W POLSCE?
- 2025-03-17 Nie matura lecz chęć szczera ...
- 2025-03-17 Pendrive zdycha, czy coś jeszcze innego? Problem z plikami.
- 2025-03-17 Odkurzacz Smapp Dynamic - dawny Zelmer
- 2025-03-17 Nagra IV i zewnętrzny pilot
- 2025-03-17 Rzeszów => Spedytor Międzynarodowy <=
- 2025-03-17 Warszawa => Junior Account Manager <=
- 2025-03-17 Białystok => Gen AI Engineer <=
- 2025-03-17 Białystok => Generative AI Engineer <=
- 2025-03-17 Częstochowa => Backend Developer (Node + Java) <=