Changeset 294 in xtideuniversalbios for trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
- Timestamp:
- Mar 4, 2012, 1:35:10 AM (13 years ago)
- google:author:
- krille_n_@hotmail.com
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Src/VariablesAndDPTs/CreateDPT.asm
r262 r294 18 18 ; Returns: 19 19 ; DL: Drive number for new drive 20 ; DS:DI: Ptr to Disk Parameter Table (if succes full)20 ; DS:DI: Ptr to Disk Parameter Table (if successful) 21 21 ; CF: Cleared if DPT created successfully 22 22 ; Set if any error … … 202 202 ;---------------------------------------------------------------------- 203 203 ; Update drive counts (hard and floppy) 204 ;---------------------------------------------------------------------- 205 204 ;---------------------------------------------------------------------- 205 206 206 %ifdef MODULE_SERIAL_FLOPPY 207 207 ; 208 208 ; These two instructions serve two purposes: 209 209 ; 1. If the drive is a floppy drive (CF set), then we effectively increment the counter. 210 ; 2. If this is a hard disk, and there have been any floppy drives previously added, then the hard disk is 210 ; 2. If this is a hard disk, and there have been any floppy drives previously added, then the hard disk is 211 211 ; effectively discarded. This is more of a safety check then code that should ever normally be hit (see below). 212 ; Since the floppy DPT's come after the hard disk DPT's, without expensive (code size) code to relocate a DPT, 212 ; Since the floppy DPT's come after the hard disk DPT's, without expensive (code size) code to relocate a DPT, 213 213 ; this was necessary. Now, this situation shouldn't happen in normal operation, for a couple of reasons: 214 ; A. xtidecfg always puts configured serial ports at the end fothe IDEVARS list214 ; A. xtidecfg always puts configured serial ports at the end of the IDEVARS list 215 215 ; B. the auto serial code is always executed last 216 216 ; C. the serial server always returns floppy drives last 217 217 ; 218 218 adc byte [RAMVARS.xlateVars+XLATEVARS.bFlopCreateCnt], 0 219 jnz .AllDone 219 jnz .AllDone 220 220 %else 221 221 ; 222 222 ; Even without floppy support enabled, we shouldn't try to mount a floppy image as a hard disk, which 223 ; could lead to unpredictable results since no MBR will be present, etc. The server doesn't know that 223 ; could lead to unpredictable results since no MBR will be present, etc. The server doesn't know that 224 224 ; floppies are supported, so it is important to still fail here if a floppy is seen during the drive scan. 225 225 ; … … 228 228 229 229 inc BYTE [RAMVARS.bDrvCnt] ; Increment drive count to RAMVARS 230 231 .AllDone: 230 231 .AllDone: 232 232 clc 233 233 ret
Note:
See TracChangeset
for help on using the changeset viewer.