source: xtideuniversalbios/trunk/Assembly_Library/Inc/BiosFunctions.inc

Last change on this file was 603, checked in by krille_n_, 3 years ago

Changes:

  • Fixed a bug in Strings.asm from r589 where building the BIOS without MODULE_STRINGS_COMPRESSED would fail. Also removed a redundant CR to save a byte when building without MODULE_STRINGS_COMPRESSED.
  • Optimized the code in MODULE_HOTKEYS to reduce ROM space usage, stack usage and time spent in the user timer tick interrupt handler (1Ch). I hope this will fix the problem with hangs introduced in r599.
File size: 2.3 KB
RevLine 
[41]1; Project name  :   AssemblyLibrary
2; Description   :   Defines for BIOS functions.
3%ifndef BIOS_FUNCTIONS_INC
4%define BIOS_FUNCTIONS_INC
5
6; BIOS interrupts
[603]7BIOS_SYSTEM_TIMER_TICK_INTERRUPT_08h    EQU     08h
[601]8BIOS_VIDEO_INTERRUPT_10h                EQU     10h
9BIOS_EQUIPMENT_INTERRUPT_11h            EQU     11h
10BIOS_DISK_INTERRUPT_13h                 EQU     13h
11BIOS_SYSTEM_INTERRUPT_15h               EQU     15h
12BIOS_KEYBOARD_INTERRUPT_16h             EQU     16h
13BIOS_BOOT_FAILURE_INTERRUPT_18h         EQU     18h
14BIOS_BOOT_LOADER_INTERRUPT_19h          EQU     19h
15BIOS_TIME_PCI_PNP_INTERRUPT_1Ah         EQU     1Ah
[603]16BIOS_USER_TIMER_TICK_INTERRUPT_1Ch      EQU     1Ch
[601]17BIOS_DISKETTE_INTERRUPT_40h             EQU     40h
18HD0_DPT_POINTER_41h                     EQU     41h
19HD1_DPT_POINTER_46h                     EQU     46h
[41]20
[151]21; Hardware interrupts
[601]22HARDWARE_IRQ_0_INTERRUPT_08h            EQU     08h     ; System timer
23HARDWARE_IRQ_1_INTERRUPT_09h            EQU     09h     ; Keyboard
24HARDWARE_IRQ_2_INTERRUPT_0Ah            EQU     0Ah
25HARDWARE_IRQ_3_INTERRUPT_0Bh            EQU     0Bh
26HARDWARE_IRQ_4_INTERRUPT_0Ch            EQU     0Ch
27HARDWARE_IRQ_5_INTERRUPT_0Dh            EQU     0Dh
28HARDWARE_IRQ_6_INTERRUPT_0Eh            EQU     0Eh
29HARDWARE_IRQ_7_INTERRUPT_0Fh            EQU     0Fh
30HARDWARE_IRQ_8_INTERRUPT_70h            EQU     70h
31HARDWARE_IRQ_9_INTERRUPT_71h            EQU     71h
32HARDWARE_IRQ_10_INTERRUPT_72h           EQU     72h
33HARDWARE_IRQ_11_INTERRUPT_73h           EQU     73h
34HARDWARE_IRQ_12_INTERRUPT_74h           EQU     74h
35HARDWARE_IRQ_13_INTERRUPT_75h           EQU     75h
36HARDWARE_IRQ_14_INTERRUPT_76h           EQU     76h
37HARDWARE_IRQ_15_INTERRUPT_77h           EQU     77h
[41]38
39; BIOS video functions
[601]40SET_VIDEO_MODE                          EQU     00h
41SET_TEXT_MODE_CURSOR_SHAPE              EQU     01h
42SET_CURSOR_POSITION                     EQU     02h
43GET_CURSOR_POSITION_AND_SIZE            EQU     03h
44SELECT_ACTIVE_DISPLAY_PAGE              EQU     05h
45TELETYPE_OUTPUT                         EQU     0Eh
[41]46
[146]47; BIOS disk functions
[601]48READ_SECTORS_INTO_MEMORY                EQU     02h
49GET_DRIVE_PARAMETERS                    EQU     08h
50RESET_HARD_DISK                         EQU     0Dh
51GET_DISK_TYPE                           EQU     15h
52LOTECH_XTCF_FEATURES                    EQU     1Eh
53GET_DRIVE_INFORMATION                   EQU     25h
54CHECK_EXTENSIONS_PRESENT                EQU     41h
55GET_EXTENDED_DRIVE_INFORMATION          EQU     48h
[146]56
[147]57; BIOS system functions
[601]58OS_HOOK_DEVICE_BUSY                     EQU     90h
59OS_HOOK_DEVICE_POST                     EQU     91h
[147]60
[41]61; BIOS keyboard functions
[601]62GET_KEYSTROKE                           EQU     00h
63CHECK_FOR_KEYSTROKE                     EQU     01h
[41]64
65; BIOS system functions
[601]66EVENT_WAIT                              EQU     86h
[41]67
[601]68; BIOS PCI 2.0c+ functions
69PCI_INSTALLATION_CHECK                  EQU     0B101h
[41]70
71%endif ; BIOS_FUNCTIONS_INC
Note: See TracBrowser for help on using the repository browser.