Changeset 90 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Boot
- Timestamp:
- Jan 27, 2011, 11:31:31 AM (14 years ago)
- google:author:
- aitotat
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Boot/BootVars.asm
r84 r90 1 ; File name : BootVars.asm 2 ; Project name : IDE BIOS 3 ; Created date : 1.4.2010 4 ; Last update : 14.1.2011 5 ; Author : Tomi Tilli, 6 ; : Krister Nordvall (optimizations) 1 ; Project name : XTIDE Universal BIOS 7 2 ; Description : Functions to access BOOTVARS struct. 8 3 … … 77 72 sti ; Enable interrupts 78 73 jmp ax 79 80 81 ;--------------------------------------------------------------------82 ; Backups system INT 18h ROM Boot / Boot Failure handler and83 ; installs our own for boot menu INT 18h callbacks.84 ;85 ; BootVars_StoreSystemInt18hAndInstallOurs86 ; Parameters:87 ; DS: BDA and Interrupt Vector segment (zero)88 ; Returns:89 ; Nothing90 ; Corrupts registers:91 ; AX, BX, ES92 ;--------------------------------------------------------------------93 ALIGN JUMP_ALIGN94 BootVars_StoreSystemInt18hAndInstallOurs:95 mov bx, INTV_BOOT_FAILURE*4 ; Offset to INT 18h vector96 les ax, [bx] ; Load system INT 18h97 mov [BOOTVARS.dwSys18h], ax98 mov [BOOTVARS.dwSys18h+2], es99 mov WORD [bx], Int18h_BootError ; Install our INT 18h100 mov WORD [bx+2], cs101 ret102 103 104 ;--------------------------------------------------------------------105 ; Restores system INT 18h ROM Boot or Boot Error handler.106 ;107 ; BootVars_RestoreSystemInt18h108 ; Parameters:109 ; Nothing110 ; Returns:111 ; Nothing112 ; Corrupts registers:113 ; AX, DS, ES114 ;--------------------------------------------------------------------115 ALIGN JUMP_ALIGN116 BootVars_RestoreSystemInt18h:117 LOAD_BDA_SEGMENT_TO ds, ax118 les ax, [BOOTVARS.dwSys18h]119 mov [INTV_BOOT_FAILURE*4], ax120 mov [INTV_BOOT_FAILURE*4+2], es121 ret
Note:
See TracChangeset
for help on using the changeset viewer.