Wyświetlenie informacji o położeniu kursora

0

Witajcie,
Moje zadanie jest bardzo proste w wytłumaczeniu, ale gdzie zacząć - nie mam pojęcia.
Programuję high-level, muszę zrobić coś ultra low-level.

Na czystym hardware, po inicjalizacji biosa bez żadnego OS, po poruszaniu myszy, na dole ekranu białymi literami mają się wyświetlać współrzędne, w których znajduje się kursor.

Jakieś wskazówki? Od czego zacząć, jak i w czym to napisać, jak skompilować, jak przechwycić informacje o myszy oraz jak w ogóle zainicjalizować taki program podczas gdy komputer prosi o jakieś działanie (biała, migająca kreseczka w lewym górnym rogu).

Każda chociaż jednozdaniowa wskazówka będzie dla mnie na wagę złota.
Pozdrawiam

2

ale to tak nie działa - BIOS to tylko zunifikowany podstawowy interfejs do obsługi urządzeń I/O. Aby cokolwiek móc zrobić to trzeba mieć bootloadera i chociaż namiastkę systemu, która będzie potrafiła skomunikować się z myszą i ekranem. Jak nie masz ani jednego ani drugiego to trzeba to samemu napisać. Szukaj pod hasłami writing operating system

0

Czyli muszę napisać mini OS.
Myślałem inaczej, mniej więcej tak, że sobie machne kod w assemblerze, który z zczyta sygnał myszki i zkoreluje go z ekranem wyświetlając np biały punkt. Myślałem że ma to być skomplikowane do binarki i heja. Tyle żeby załadować tą binarke z dysku.

0

po pierwsze co Ci ma odczytać tą binarkę z dysku jak nie będziesz miał żadnego SO a po drugie jak ją chcesz uruchomić jak nie będziesz miał żadnego SO. I koło się zamyka. Musisz mieć jakikolwiek, choćby podstawowy SO aby móc coś uruchomić. Zauważ, że binarka dla windowsa jest całkiem inna od tej dla linuxa. Jeśli napisałbyś własny system to binarka dla niego mogła by być jeszcze inna.

3
NeutrinoSpinZero napisał(a):

Jakieś wskazówki? Od czego zacząć, jak i w czym to napisać, jak skompilować, jak przechwycić informacje o myszy oraz jak w ogóle zainicjalizować taki program podczas gdy komputer prosi o jakieś działanie (biała, migająca kreseczka w lewym górnym rogu).

Oczekiwanie kompa na działanie sugeruje, że już jakiś OS się tam podniósł, i co najmniej bufor klawiatury obsługuje.
Może inaczej Bracie, jaki finalnie efekt chcesz uzyskać tym machaniem myszą?

0

@MasterBLB: Po przemieleniu biosa, chcę aby tak samo jak np. GRUB, mój mały program mógł się zaczytać z dysku, na którym nie ma nic innego oprócz tego pliku. Jak wytriggerować taki event.
Potem w tym programiku chcę mieć dane wejściowe z myszki i klawiatury. Potem tylko wyświetlać wspólrzędne kursora na monitorze. Tyle. Problem z tym, że nie wiem co zrobić, żeby komputer wiedział co ma zrobić. Żeby wiedział, że po uruchomieniu kompa, nie ma GRUBa, nie ma Windows Boot Managera, a jest mój skompilowany program w postaci binarnej.

0

Według tego, i podobnych źródeł BIOS jak wstanie to sprawdza pierwszy sektor dysku w poszukiwaniu bootloadera.
Zatem aby uzyskać taki efekt jak chcesz potrzebujesz napisać własny ala bootloader (nie musi ładować OSa), i wgrać go do odpowiedniego sektora dysku. Czy do myszy dasz radę się dobrać to już insza sprawa, sterownika nie będziesz jeszcze w tym momencie prawdopodobnie posiadał, więc pozostaje Ci nasłuchiwanie gołych sygnałów przesyłanych na wejście. Pewnie też będziesz musiał samodzielnie zlokalizować na którym porcie mysza jest wpięta; no i powstaje zagadnienie, czy porty USB będą już dostępne.

2

Jeśli nie jest potrzebne wsparcie dla BIOS to można przygotować binarkę dla EFI, np. rEFInd zdaje się, że ma wbudowaną obsługę myszy.

1
NeutrinoSpinZero napisał(a):

Jakieś wskazówki? Od czego zacząć, jak i w czym to napisać, jak skompilować, jak przechwycić informacje o myszy oraz jak w ogóle zainicjalizować taki program podczas gdy komputer prosi o jakieś działanie (biała, migająca kreseczka w lewym górnym rogu).

W taki sposób to się zgłasza system operacyjny działający w trybie wiersza poleceń, czyli żeby zobaczyć białą migającą kreseczkę, jakiś OS musisz tam już mieć.

Może napisz, do czego to ci właściwie potrzebne, bo zakonotowałeś się na tym, że chcesz to zrobić z gołego BIOSA, a może potrzebujesz np. DOS-a / Linuksa odpalanego z pendrajwa i na nim prostej binarki.

1 użytkowników online, w tym zalogowanych: 0, gości: 1