Changeset 553 in xtideuniversalbios
- Timestamp:
- Jun 8, 2013, 10:32:10 AM (11 years ago)
- google:author:
- aitotat@gmail.com
- Location:
- trunk/XTIDE_Universal_BIOS/Src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int13hBiosInit.asm
r552 r553 28 28 LOAD_BDA_SEGMENT_TO ds, ax 29 29 30 ; Restore system INT 13h handler that we backuped31 les ax, [TEMPORARY_VECTOR_FOR_SYSTEM_INT13h*4]32 mov [BIOS_DISK_INTERRUPT_13h*4], ax33 mov [BIOS_DISK_INTERRUPT_13h*4+2], es34 35 30 ; Now install our handler and call 19h since non-standard motherboard BIOS did not 36 31 ; do that or our INT 19h hander was replaced by other BIOS. … … 38 33 mov [BIOS_BOOT_LOADER_INTERRUPT_19h*4+2], cs 39 34 int BIOS_BOOT_LOADER_INTERRUPT_19h ; Does not return 35 36 37 ;-------------------------------------------------------------------- 38 ; Int13hBiosInit_RestoreSystemHandler 39 ; Parameters: 40 ; Nothing 41 ; Returns: 42 ; Nothing 43 ; Corrupts registers: 44 ; AX, DS, ES 45 ;-------------------------------------------------------------------- 46 Int13hBiosInit_RestoreSystemHandler: 47 LOAD_BDA_SEGMENT_TO ds, ax 48 49 ; Is our very late init handler in place 50 cmp WORD [BIOS_DISK_INTERRUPT_13h*4], Int13hBiosInit_Handler 51 jne SHORT .SystemHandlerAlreadyInPlace 52 53 les ax, [TEMPORARY_VECTOR_FOR_SYSTEM_INT13h*4] 54 mov [BIOS_DISK_INTERRUPT_13h*4], ax 55 mov [BIOS_DISK_INTERRUPT_13h*4+2], es 56 .SystemHandlerAlreadyInPlace: 57 ret -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
r547 r553 29 29 ;-------------------------------------------------------------------- 30 30 Int19h_BootLoaderHandler: 31 sti ; Enable interrupts 32 cld ; String instructions to increment pointers 33 LOAD_BDA_SEGMENT_TO es, ax ; Load BDA segment (zero) to ES 31 sti ; Enable interrupts 32 cld ; String instructions to increment pointers 33 call Int13hBiosInit_RestoreSystemHandler ; Needed if initialization was started on INT 13h instead on 19h 34 LOAD_BDA_SEGMENT_TO es, ax ; Load BDA segment (zero) to ES 34 35 ; Fall to .PrepareBootLoaderStack 35 36 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm
r552 r553 53 53 mov [BIOS_BOOT_LOADER_INTERRUPT_19h*4+2], cs 54 54 55 ; Install special INT 13h hander that initialize dXTIDE Universal BIOS55 ; Install special INT 13h hander that initializes XTIDE Universal BIOS 56 56 ; when our INT 19h is not called 57 57 les ax, [BIOS_DISK_INTERRUPT_13h*4] ; Load system INT 13h handler
Note:
See TracChangeset
for help on using the changeset viewer.