Changeset 152 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/Initialization
- Timestamp:
- May 1, 2011, 10:42:58 AM (14 years ago)
- google:author:
- aitotat
- Location:
- trunk/XTIDE_Universal_BIOS/Src/Initialization
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/Initialization/FloppyDrive.asm
r124 r152 19 19 ;-------------------------------------------------------------------- 20 20 FloppyDrive_IsInt40hInstalled: 21 cmp WORD [es: INTV_FLOPPY_FUNC*4+2], 0C000h ; Any ROM segment?21 cmp WORD [es:BIOS_DISKETTE_INTERRUPT_40h*4+2], 0C000h ; Any ROM segment? 22 22 %ifdef USE_AT ; No need to verify on XT systems. 23 23 jb SHORT .Int40hHandlerIsNotInstalled … … 45 45 46 46 call .LoadInt40hVerifyParameters 47 int INTV_DISK_FUNC47 int BIOS_DISK_INTERRUPT_13h 48 48 jc SHORT .Int40hIsInstalled ; Maybe there are not any floppy drives at all 49 49 push es … … 51 51 52 52 call .LoadInt40hVerifyParameters 53 int INTV_FLOPPY_FUNC53 int BIOS_DISKETTE_INTERRUPT_40h 54 54 55 55 pop dx … … 113 113 mov ah, 08h ; Get Drive Parameters 114 114 xor bx, bx ; FLOPPY_TYPE_525_OR_35_DD when function not supported 115 int INTV_FLOPPY_FUNC115 int BIOS_DISKETTE_INTERRUPT_40h 116 116 ret 117 117 … … 167 167 mov ah, 08h ; Get Drive Parameters 168 168 cwd ; Floppy Drive 00h 169 int INTV_FLOPPY_FUNC169 int BIOS_DISKETTE_INTERRUPT_40h 170 170 mov cl, dl ; Number of Floppy Drives to CL 171 171 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Initialize.asm
r150 r152 89 89 .StoreDptPointersToIntVectors: 90 90 mov dl, 80h 91 call RamVars_IsDriveHandledByThisBIOS 92 jnc SHORT .FindForDrive81h ; Store nothing if not our drive 91 93 call FindDPT_ForDriveNumber ; DPT to DS:DI 92 jnc SHORT .FindForDrive81h ; Store nothing if not our drive 93 mov [es:INTV_HD0DPT*4], di 94 mov [es:INTV_HD0DPT*4+2], ds 94 mov [es:HD0_DPT_POINTER_41h*4], di 95 mov [es:HD0_DPT_POINTER_41h*4+2], ds 95 96 .FindForDrive81h: 96 97 inc dx 98 call RamVars_IsDriveHandledByThisBIOS 99 jnc SHORT .ResetDetectedDrives 97 100 call FindDPT_ForDriveNumber 98 jnc SHORT .ResetDetectedDrives 99 mov [es:INTV_HD1DPT*4], di 100 mov [es:INTV_HD1DPT*4+2], ds 101 mov [es:HD1_DPT_POINTER_46h*4], di 102 mov [es:HD1_DPT_POINTER_46h*4+2], ds 101 103 ; Fall to .ResetDetectedDrives 102 104 -
trunk/XTIDE_Universal_BIOS/Src/Initialization/Interrupts.asm
r150 r152 29 29 ;-------------------------------------------------------------------- 30 30 .InitializeInt13hAnd40h: 31 mov ax, [es: INTV_DISK_FUNC*4]; Load old INT 13h offset32 mov dx, [es: INTV_DISK_FUNC*4+2]; Load old INT 13h segment31 mov ax, [es:BIOS_DISK_INTERRUPT_13h*4] ; Load old INT 13h offset 32 mov dx, [es:BIOS_DISK_INTERRUPT_13h*4+2]; Load old INT 13h segment 33 33 mov [RAMVARS.fpOldI13h], ax ; Store old INT 13h offset 34 34 mov [RAMVARS.fpOldI13h+2], dx ; Store old INT 13h segment 35 mov bx, INTV_DISK_FUNC; INT 13h interrupt vector offset35 mov bx, BIOS_DISK_INTERRUPT_13h ; INT 13h interrupt vector offset 36 36 mov si, Int13h_DiskFunctionsHandler ; Interrupt handler offset 37 37 call Interrupts_InstallHandlerToVectorInBXFromCSSI … … 42 42 call FloppyDrive_IsInt40hInstalled 43 43 jc SHORT .InitializeInt19h 44 mov [es: INTV_FLOPPY_FUNC*4], ax ; Store old INT 13h offset45 mov [es: INTV_FLOPPY_FUNC*4+2], dx ; Store old INT 13h segment44 mov [es:BIOS_DISKETTE_INTERRUPT_40h*4], ax ; Store old INT 13h offset 45 mov [es:BIOS_DISKETTE_INTERRUPT_40h*4+2], dx ; Store old INT 13h segment 46 46 ; Fall to .InitializeInt19h 47 47 … … 57 57 ;-------------------------------------------------------------------- 58 58 .InitializeInt19h: 59 mov bx, INTV_BOOTSTRAP59 mov bx, BIOS_BOOT_LOADER_INTERRUPT_19h 60 60 mov si, Int19hMenu_BootLoader 61 61 call Interrupts_InstallHandlerToVectorInBXFromCSSI … … 110 110 ;-------------------------------------------------------------------- 111 111 .InstallHighIrqHandler: 112 add bx, BYTE INTV_IRQ8 - 8; Interrupt vector number112 add bx, BYTE HARDWARE_IRQ_8_INTERRUPT_70h - 8 ; Interrupt vector number 113 113 mov si, IdeIrq_InterruptServiceRoutineForIrqs8to15 114 114 jmp SHORT Interrupts_InstallHandlerToVectorInBXFromCSSI … … 125 125 ;-------------------------------------------------------------------- 126 126 .InstallLowIrqHandler: 127 add bx, BYTE INTV_IRQ0; Interrupt vector number127 add bx, BYTE HARDWARE_IRQ_0_INTERRUPT_08h ; Interrupt vector number 128 128 mov si, IdeIrq_InterruptServiceRoutineForIrqs2to7 129 129 ; Fall to Interrupts_InstallHandlerToVectorInBXFromCSSI … … 177 177 .UnmaskHighIrqController: 178 178 sub al, 8 ; Slave interrupt number 179 mov dx, PORT_8259SL_IMR ; Load Slave Mask Register address179 mov dx, SLAVE_8259_IMR 180 180 call .ClearBitFrom8259MaskRegister 181 181 mov al, 2 ; Master IRQ 2 to allow slave IRQs … … 192 192 ;-------------------------------------------------------------------- 193 193 .UnmaskLowIrqController: 194 mov dx, PORT_8259MA_IMR ; Load Mask Register address194 mov dx, MASTER_8259_IMR 195 195 ; Fall to .ClearBitFrom8259MaskRegister 196 196
Note:
See TracChangeset
for help on using the changeset viewer.