Skompiluj sobie BIOS dla 8088!

Dwa tygodnie temu na GitHubie otagowano pierwszą wersję (v1.0.0) BIOSu dla systemów opartych na procesorze Intel 8088! [8088_bios na GitHubie].

Co to oznacza w praktyce?

  • 8088: Intel 8088 to bliski odpowiednik Intela 8086, od którego wywodziły się procesory 286 i 386 znane z pecetów z lat 80., kiedy zamiast określenia “pecety” równie często były to “IBMy”. Intel 8088 Pojawił się na rynku 1 czerwca 1979. To właśnie on był w pierwszym IBM PC! Działa z taktowaniem od 5 do 16 MHz, ogarnia adresowaniem do megabajta pamięci, ale w przeciwieństwie do 8086 ma nie 16-, a 8-bitową szynę danych (co znaczy, że podobnie jak chociażby Z80, z innymi urządzeniami komunikuje się wymieniając najwyżej jeden bajt na raz). Produkowany w technologii 3μm, czyli taki właśnie był rozmiar tranzystorów wewnątrz układu. Dla porównania, iPhone 15 Pro jako pierwsze urządzenie na rynku konsumenckim oparte jest o procesor, w którym tranzystory są tysiąckrotnie mniejsze (3nm) i wymieniają sygnały niemal 700-krotnie szybciej (3.5GHz vs 5MHz). Unikałbym określenia “działają 700 razy szybciej”, gdyż nowoczesne procesory mają mnóstwo innych optymalizacji i rozwiazań zwiększających ich skomplikowanie, ale i szybkość działania przy tym samym taktowaniu.
  • BIOS to Basic Input Output System – odpowiedzialny za uruchomienie najbardziej podstawowych komponentów komputera, wykrycie i obsługę klawiatury (później także myszki i jej odpowiedników), przygotowanie układu graficznego do wyświetlania czegokolwiek, obsługę zegara czasu rzeczywistego (tego, dzięki któremu komputer “wie”, jaką mamy datę i godzinę), dysku czy też stacji dyskietek (zwłaszcza, żeby dało się uruchomić system z dyskietki). Zwykle oprogramowanie układowe komputerów PC odpowiedzialne za te rzeczy nie było otwarcie dostępne, co prowadzi do ostatniego punktu:
  • Open Source. To pierwszy otwarty kod źródłowy mogący pełnić funkcję BIOSu na tych komputerach (IBM XT 8088, Xi 8088, Micro 8088…), mamy więc do czynienia z otwartym oprogramowaniem na licencji GPL, które można dowolnie analizować i modyfikować. Całość zakodowana jest bezpośrednio w asemblerze 8088, by zachować pełną kontrolę nad każdą operacją systemu i zmieścić się w ograniczonych zasobach.

Teraz i Ty możesz zobaczyć, w jaki dokładnie sposób na IBM XT uruchamia tryb tekstowy, ustala kształt kursora i jak wykrywa i obsługuje port szeregowy, a nawet jakie polecenia wysyłane są do kontrolera stacji dyskietek podczas formatowania jej pojedynczej ścieżki.

Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments