Patent nr 1 i zarazem propozycja do dyskusji, gdyż wpadłem na to dopiero parę dni temu (lepiej późno niż wcale).
Mianowicie istnieje pewien problem z szybkim łatwym i przyjemnym wykryciem, że aktywny w danej chwili OS zawiera procedury obsługi przerwań trybu natywnego. Gdyby natomiast taki sposób istniał, wtedy każdy program aplikacyjny mógłby w takowy tryb przełączyć CPU szybko, łatwo, przyjemnie, bez rzeźbienia i obawy, że nastąpi zwis.
Takich OS-ów może być milion, można napisać procedurę, która je oddzielnie rozpoznaje, ale żeby każdy ewentualnie nowy wymagał jej poprawienia, to kiepska perspektywa. Potrzebna jest uniwersalna i w miarę prosta metoda szybkiego sprawdzenia, czy ta możliwość istnieje. Kontrolowanie wszystkich wektorów po kolei na okoliczność, czy ich wartości mieszczą się się w zakresie $C000-$CFFF oraz $E400-$FFDF, mimo że może działać, dobre nie jest.
Zatem wymyśliłem coś takiego: ponieważ WDC definiuje obszar wektorów przerwań CPU jako $FFE0-$FFFF, zatem, gdyby bezpśrednio przedtem, tj. pod $FFDD-$FFDF, znajdowała się konkretna wartość magiczna, której odczytanie walidowałoby wektory trybu natywnego $FFE0-$FFEF, wtedy mielibyśmy uniwersalny i prosty sposób rozpoznania, czy w OS-ie istnieje wsparcie dla trybu natywnego. Wystarczyłoby odczytać 3 bajty ROM spod $FFDD, $FFDE, $FFDF, porównać z wzorcem, i z prawdopodobieństwem 1/16777216 zyskać pewność, że można się spokojnie przełączyć w tryb natywny bez dodatkowych zmartwień, albo że nie.
Jako wartość magiczną proponuję:
$00FFDD: $65
$00FFDE; $C8
$00FFDF: $16
? HEX$(6670358)