Changeset 536 in xtideuniversalbios
- Timestamp:
- Apr 10, 2013, 6:27:15 PM (12 years ago)
- google:author:
- krille_n_@hotmail.com
- Location:
- trunk
- Files:
-
- 1 added
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/XTIDE_Universal_BIOS/Inc/CustomDPT.inc
r526 r536 30 30 .bIdevarsOffset resb 1 ; Offset to IDEVARS for this drive 31 31 .bInitError resb 1 ; Flags for AH=09h initialization errors 32 .wBasePort resb 2 ; Segment for JR-IDE/ISA 32 .wBasePort resb 2 ; Segment for JR-IDE/ISA and ADP50L 33 33 34 34 ; CHS variables -
trunk/XTIDE_Universal_BIOS/Inc/EBIOS.inc
r535 r536 74 74 75 75 ; Flags for DPTE.wFlags 76 FLG_FAST_PIO_ENABLED EQU (1<<0) ; Set i susing PIO mode 1 or above (DPTE.bPioMode is valid when set)76 FLG_FAST_PIO_ENABLED EQU (1<<0) ; Set if using PIO mode 1 or above (DPTE.bPioMode is valid when set) 77 77 FLG_DMA_ENABLED EQU (1<<1) ; Set if DMA enabled (DPTE.bDmaChannelAndType is valid when set) 78 78 FLG_BLOCK_MODE_ENABLED EQU (1<<2) ; Set if Block Mode transfers are enabled (DPTE.bBlockSize is valid when set) 79 79 FLG_CHS_TRANSLATION_ENABLED EQU (1<<3) ; Set for drives with more than 1024 cylinders 80 FLG_LBA_TRANSLATION_ENABLED EQU (1<<4) ; Set when LBA add ersses from DAP are passed directly to the drive80 FLG_LBA_TRANSLATION_ENABLED EQU (1<<4) ; Set when LBA addresses from DAP are passed directly to the drive 81 81 FLG_REMOVABLE_MEDIA EQU (1<<5) 82 82 FLG_ATAPI_DEVICE EQU (1<<6) -
trunk/XTIDE_Universal_BIOS/Inc/ModuleDependency.inc
r526 r536 38 38 %include "XTCF.inc" ; For Lo-tech XT-CF 39 39 %include "JRIDE_ISA.inc" ; For JR-IDE/ISA 40 %include "ADP50L.inc" ; For SVC ADP50L 40 41 %endif 41 42 -
trunk/XTIDE_Universal_BIOS/Inc/RomVars.inc
r535 r536 122 122 STANDARD_CONTROL_BLOCK_OFFSET EQU 200h 123 123 XTIDE_CONTROL_BLOCK_OFFSET EQU 8h 124 XTCF_CONTROL_BLOCK_OFFSET EQU (XTIDE_CONTROL_BLOCK_OFFSET << 1) 124 XTCF_CONTROL_BLOCK_OFFSET EQU 10h 125 ADP50L_CONTROL_BLOCK_OFFSET EQU 10h 125 126 126 127 ; Default values for Port and PortCtrl, shared with the configurator … … 146 147 ; 147 148 COUNT_OF_STANDARD_IDE_DEVICES EQU 2 ; 16- and 32-bit controllers 148 COUNT_OF_8BIT_IDE_DEVICES EQU 7149 COUNT_OF_8BIT_IDE_DEVICES EQU 8 149 150 COUNT_OF_ALL_IDE_DEVICES EQU (COUNT_OF_8BIT_IDE_DEVICES + COUNT_OF_STANDARD_IDE_DEVICES) 150 151 ; Standard port mapped I/O … … 161 162 ; Memory Mapped I/O 162 163 DEVICE_8BIT_JRIDE_ISA EQU ((COUNT_OF_STANDARD_IDE_DEVICES+6)<<1) ; JR-IDE/ISA (Memory Mapped I/O) 164 DEVICE_8BIT_ADP50L EQU ((COUNT_OF_STANDARD_IDE_DEVICES+7)<<1) ; SVC ADP50L (Memory Mapped I/O) 163 165 ; Virtual devices 164 166 DEVICE_SERIAL_PORT EQU (COUNT_OF_ALL_IDE_DEVICES<<1) -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeCommand.asm
r526 r536 175 175 %ifdef MODULE_8BIT_IDE_ADVANCED 176 176 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_XTCF_MEMMAP 177 jae SHORT JrIdeTransfer_StartWithCommandInAL ; DEVICE_8BIT_XTCF_MEMMAP or DEVICE_8BIT_JRIDE_ISA177 jae SHORT JrIdeTransfer_StartWithCommandInAL ; DEVICE_8BIT_XTCF_MEMMAP, DEVICE_8BIT_JRIDE_ISA or DEVICE_8BIT_ADP50L 178 178 %endif 179 179 jmp IdeTransfer_StartWithCommandInAL -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/IdeIO.asm
r526 r536 61 61 je SHORT .ReverseA0andA3fromRegisterIndexInDX 62 62 63 eSHL_IM dx, 1 ; ADP50L and XT-CF 63 64 cmp al, DEVICE_8BIT_JRIDE_ISA 64 jne SHORT .ShlRegisterIndexInDX ; All XT-CF modes 65 ; Fall to .InputToALfromMemoryMappedRegisterInDX 66 67 .InputToALfromMemoryMappedRegisterInDX: 65 jb SHORT .InputToALfromRegisterInDX ; All XT-CF modes 66 mov bh, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET >> 8 67 je SHORT .InputToALfromMemoryMappedRegisterInBX 68 mov bl, dl 69 mov bh, ADP50L_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET >> 8 70 71 .InputToALfromMemoryMappedRegisterInBX: 68 72 push ds 69 mov ds, [di+DPT.wBasePort] ; Segment for JR-IDE/ISA 70 mov al, [bx +JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET]73 mov ds, [di+DPT.wBasePort] ; Segment for JR-IDE/ISA and ADP50L 74 mov al, [bx] 71 75 pop ds 72 76 ret … … 75 79 .ReverseA0andA3fromRegisterIndexInDX: 76 80 mov dl, [cs:bx+g_rgbSwapA0andA3fromIdeRegisterIndex] 77 SKIP2B bx ; Skip shl dx, 178 79 .ShlRegisterIndexInDX:80 eSHL_IM dx, 181 ; Fall to .InputToALfromRegisterInDX82 81 83 82 .InputToALfromRegisterInDX: … … 108 107 je SHORT .ReverseA0andA3fromRegisterIndexInDX 109 108 109 ; At this point remaining controllers (JRIDE, XTCF and ADP50L) all have a control 110 ; block offset of 8 or (8<<1) so we add 8 here and do the SHL 1 later if needed. 111 add dx, 8 110 112 cmp bl, DEVICE_8BIT_JRIDE_ISA 111 jne SHORT .ShlRegisterIndexInDX ; All XT-CF modes 112 ; Fall to .OutputALtoMemoryMappedRegisterInDX 113 114 .OutputALtoMemoryMappedRegisterInDX: 115 mov bx, JRIDE_CONTROL_BLOCK_REGISTER_WINDOW_OFFSET 116 jmp SHORT IdeIO_OutputALtoIdeRegisterInDL.OutputALtoMemoryMappedRegisterInDXwithWindowOffsetInBX 113 jb SHORT IdeIO_OutputALtoIdeRegisterInDL.ShlRegisterIndexInDXandOutputAL ; All XT-CF modes 114 mov bx, JRIDE_CONTROL_BLOCK_REGISTER_WINDOW_OFFSET - 8 ; Zeroes BL. -8 compensates for the ADD 115 je SHORT IdeIO_OutputALtoIdeRegisterInDL.OutputALtoMemoryMappedRegisterInDXwithWindowOffsetInBX 116 ; The commented instructions below shows what happens next (saved for clarity) but as an optimization 117 ; we can accomplish the same thing with this jump. 118 jmp SHORT IdeIO_OutputALtoIdeRegisterInDL.ShlDXandMovHighByteOfADP50LoffsetsToBH 119 ; eSHL_IM dx, 1 120 ; mov bh, (ADP50L_CONTROL_BLOCK_REGISTER_WINDOW_OFFSET - 16) >> 8 ; -16 compensates for the ADD and SHL 121 ; jmp SHORT IdeIO_OutputALtoIdeRegisterInDL.OutputALtoMemoryMappedRegisterInDXwithWindowOffsetInBX 117 122 %endif 118 123 … … 122 127 ; a small trick since we only access Device Control Register at 123 128 ; offset 6h: Always clear A3 and set A0. 129 mov bh, dh ; Zero BH 124 130 add dx, [cs:bx+IDEVARS.wControlBlockPort] 125 131 xor dl, 1001b ; Clear A3, Set A0 126 jmp SHORT OutputALtoPortInDX 127 128 .ShlRegisterIndexInDX: 129 eSHL_IM dx, 1 130 add dx, BYTE XTCF_CONTROL_BLOCK_OFFSET 131 jmp SHORT OutputALtoRegisterInDX 132 out dx, al 133 ret 132 134 133 135 .OutputALtoControlBlockRegisterInDX: 134 call AccessDPT_GetIdevarsToCSBX 136 call AccessDPT_GetIdevarsToCSBX ; *FIXME* Why is this call here but not in the above block? 135 137 add dx, [cs:bx+IDEVARS.wControlBlockPort] 136 jmp SHORT OutputALtoPortInDX 138 out dx, al 139 ret 137 140 138 141 … … 160 163 161 164 cmp bl, DEVICE_8BIT_JRIDE_ISA 162 jne SHORT .ShlRegisterIndexInDX ; All XT-CF modes 163 ; Fall to .OutputALtoMemoryMappedRegisterInDX 164 165 .OutputALtoMemoryMappedRegisterInDX: 166 mov bx, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET 165 jb SHORT .ShlRegisterIndexInDXandOutputAL ; All XT-CF modes 166 mov bx, JRIDE_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET ; Zeroes BL 167 je SHORT .OutputALtoMemoryMappedRegisterInDXwithWindowOffsetInBX 168 .ShlDXandMovHighByteOfADP50LoffsetsToBH: 169 eSHL_IM dx, 1 170 mov bh, ADP50L_COMMAND_BLOCK_REGISTER_WINDOW_OFFSET >> 8 ; BL is zero so we only need to change BH 171 167 172 .OutputALtoMemoryMappedRegisterInDXwithWindowOffsetInBX: 168 173 add bx, dx 169 174 push ds 170 mov ds, [di+DPT.wBasePort] ; Segment for JR-IDE/ISA 175 mov ds, [di+DPT.wBasePort] ; Segment for JR-IDE/ISA and ADP50L 171 176 mov [bx], al 172 177 pop ds … … 177 182 mov bx, dx 178 183 mov dl, [cs:bx+g_rgbSwapA0andA3fromIdeRegisterIndex] 179 SKIP2B bx ; Skip shldx, 1180 181 .ShlRegisterIndexInDX :184 SKIP2B bx ; Skip eSHL_IM dx, 1 185 186 .ShlRegisterIndexInDXandOutputAL: 182 187 eSHL_IM dx, 1 183 188 ; Fall to OutputALtoRegisterInDX … … 186 191 OutputALtoRegisterInDX: 187 192 add dx, [di+DPT.wBasePort] 188 OutputALtoPortInDX:189 193 out dx, al 190 194 ret -
trunk/XTIDE_Universal_BIOS/Src/Device/IDE/JrIdeTransfer.asm
r526 r536 27 27 .bSectorsDone resb 1 ; 8, Number of sectors xferred 28 28 endstruc 29 30 SECTOR_ACCESS_WINDOW_SIZE EQU 512 ; 512 bytes31 29 32 30 … … 68 66 mov dx, [di+DPT.wBasePort] 69 67 cmp BYTE [di+DPT_ATA.bDevice], DEVICE_8BIT_JRIDE_ISA 70 jne SHORT .GetSectorAccessWindowForXTCF 71 72 ; Get Sector Access Window for JR-IDE/ISA 68 jb SHORT .GetSectorAccessWindowForXTCF 69 70 ; Get Sector Access Window for JR-IDE/ISA and ADP50L 71 mov ds, dx ; Segment for JR-IDE/ISA and ADP50L 73 72 mov di, JRIDE_SECTOR_ACCESS_WINDOW_OFFSET 74 mov ds, dx ; Segment for JR-IDE/ISA 73 je SHORT .SectorAccessWindowLoadedToDSDI 74 mov di, ADP50L_SECTOR_ACCESS_WINDOW_OFFSET 75 75 jmp SHORT .SectorAccessWindowLoadedToDSDI 76 76 … … 231 231 mov bx, di 232 232 mov dx, cx 233 xor c l, cl233 xor cx, cx 234 234 ALIGN JUMP_ALIGN 235 235 .WriteNextSector: 236 mov ch, SECTOR_ACCESS_WINDOW_SIZE >> 9236 inc ch 237 237 rep movsw 238 238 mov di, bx ; Reset for next sector … … 258 258 mov bx, si 259 259 mov dx, cx 260 xor c l, cl260 xor cx, cx 261 261 ALIGN JUMP_ALIGN 262 262 .ReadNextSector: 263 mov ch, SECTOR_ACCESS_WINDOW_SIZE >> 9263 inc ch 264 264 rep movsw 265 265 mov si, bx ; Reset for next sector … … 289 289 ret 290 290 291 292 %ifndef CHECK_FOR_UNUSED_ENTRYPOINTS293 %if SECTOR_ACCESS_WINDOW_SIZE <> 512294 %error "SECTOR_ACCESS_WINDOW_SIZE is no longer equal to 512. JrIdeTransfer.asm needs changes."295 %endif296 %endif -
trunk/XTIDE_Universal_BIOS/Src/Main.asm
r529 r536 147 147 at ROMVARS.ideVars1+IDEVARS.bXTCFcontrolRegister, db XTCF_8BIT_PIO_MODE 148 148 at ROMVARS.ideVars1+IDEVARS.bDevice, db DEVICE_8BIT_XTCF_PIO8 149 %endif 150 149 151 at ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags, db DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) 150 152 at ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags, db DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) 151 %else152 at ROMVARS.ideVars1+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags, db DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)153 at ROMVARS.ideVars1+IDEVARS.drvParamsSlave+DRVPARAMS.wFlags, db DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION)154 %endif155 153 156 154 at ROMVARS.ideVars2+IDEVARS.drvParamsMaster+DRVPARAMS.wFlags, db DISABLE_WRITE_CACHE | FLG_DRVPARAMS_BLOCKMODE | (TRANSLATEMODE_AUTO<<TRANSLATEMODE_FIELD_POSITION) -
trunk/XTIDE_Universal_BIOS/Src/Strings.asm
r526 r536 144 144 g_szDeviceTypeValues_XTCFmem: db "M8 ",NULL ; Memory Mapped 8-bit 145 145 g_szDeviceTypeValues_JrIde: db "M8 ",NULL 146 g_szDeviceTypeValues_ADP50L: db "M8 ",NULL 146 147 g_szDeviceTypeValues_Serial: db "SER",NULL 147 148 … … 178 179 %error "g_szDeviceTypeValues Displacement Incorrect 8" 179 180 %endif 180 %if g_szDeviceTypeValues_ Serial<> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement181 %if g_szDeviceTypeValues_ADP50L <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement 181 182 %error "g_szDeviceTypeValues Displacement Incorrect 9" 182 183 %endif 184 %if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_ADP50L + g_szDeviceTypeValues_Displacement 185 %error "g_szDeviceTypeValues Displacement Incorrect 10" 186 %endif 183 187 %endif 184 188 185 189 186 190 g_szSelectionTimeout: db DOUBLE_BOTTOM_LEFT_CORNER,DOUBLE_LEFT_HORIZONTAL_TO_SINGLE_VERTICAL,"%ASelection in %2-u s",NULL 187 188 189 ; Boot Menu information strings190 g_szCapacity: db "Capacity : %s",NULL191 g_szCapacityNum: db "%5-u.%u %ciB",NULL192 g_szInformation: db "%s",LF,CR193 db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR194 db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL195 191 196 192 … … 220 216 %endif 221 217 %endif 218 219 220 ; Boot Menu information strings 221 g_szCapacity: db "Capacity : %s",NULL 222 g_szCapacityNum: db "%5-u.%u %ciB",NULL 223 g_szInformation: db "%s",LF,CR 224 db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR 225 db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL 222 226 223 227 %endif ; MODULE_BOOT_MENU -
trunk/XTIDE_Universal_BIOS/Src/StringsCompressed.asm
r526 r536 289 289 db 53h, 30h, 00h ; compressed 290 290 291 g_szDeviceTypeValues_ADP50L: ; db "M8 ",NULL 292 ; db 4dh, 38h, 20h, 00h ; uncompressed 293 db 53h, 30h, 00h ; compressed 294 291 295 g_szDeviceTypeValues_Serial: ; db "SER",NULL 292 296 ; db 53h, 45h, 52h, 00h ; uncompressed … … 326 330 %error "g_szDeviceTypeValues Displacement Incorrect 8" 327 331 %endif 328 %if g_szDeviceTypeValues_ Serial<> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement332 %if g_szDeviceTypeValues_ADP50L <> g_szDeviceTypeValues_JrIde + g_szDeviceTypeValues_Displacement 329 333 %error "g_szDeviceTypeValues Displacement Incorrect 9" 334 %endif 335 %if g_szDeviceTypeValues_Serial <> g_szDeviceTypeValues_ADP50L + g_szDeviceTypeValues_Displacement 336 %error "g_szDeviceTypeValues Displacement Incorrect 10" 330 337 %endif 331 338 %endif … … 335 342 ; db 0c8h, 0b5h, 25h, 41h, 53h, 65h, 6ch, 65h, 63h, 74h, 69h, 6fh, 6eh, 20h, 69h, 6eh, 20h, 25h, 32h, 2dh, 75h, 20h, 73h, 00h ; uncompressed 336 343 db 31h, 32h, 3bh, 59h, 6bh, 72h, 6bh, 69h, 7ah, 6fh, 75h, 0f4h, 6fh, 0f4h, 3ah, 20h, 0b9h ; compressed 337 338 339 340 ; Boot Menu information strings341 g_szCapacity: ; db "Capacity : %s",NULL342 ; db 43h, 61h, 70h, 61h, 63h, 69h, 74h, 79h, 20h, 3ah, 20h, 25h, 73h, 00h ; uncompressed343 db 49h, 67h, 76h, 67h, 69h, 6fh, 7ah, 0ffh, 0c0h, 1dh ; compressed344 345 g_szCapacityNum: ; db "%5-u.%u %ciB",NULL346 ; db 25h, 35h, 2dh, 75h, 2eh, 25h, 75h, 20h, 25h, 63h, 69h, 42h, 00h ; uncompressed347 db 36h, 29h, 35h, 20h, 3ch, 6fh, 88h ; compressed348 349 g_szInformation: ; db "%s",LF,CR350 ; db 25h, 73h, 0ah, 0dh ; uncompressed351 db 3dh, 39h ; compressed352 353 ; db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR354 ; db 41h, 64h, 64h, 72h, 2eh, 20h, 0b3h, 42h, 6ch, 6fh, 63h, 6bh, 0b3h, 42h, 75h, 73h, 0b3h, 49h, 52h, 51h, 0b3h, 52h, 65h, 73h, 65h, 74h, 0ah, 0dh ; uncompressed355 db 47h, 6ah, 6ah, 78h, 29h, 20h, 23h, 48h, 72h, 75h, 69h, 71h, 23h, 48h, 7bh, 79h, 23h, 4fh, 58h, 57h, 23h, 58h, 6bh, 79h, 6bh, 7ah, 39h ; compressed356 357 ; db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL358 ; db 25h, 73h, 0b3h, 25h, 35h, 2dh, 75h, 0b3h, 25h, 73h, 0b3h, 20h, 25h, 32h, 2dh, 49h, 0b3h, 25h, 35h, 2dh, 78h, 00h ; uncompressed359 db 3dh, 23h, 36h, 23h, 3dh, 23h, 20h, 34h, 23h, 18h ; compressed360 344 361 345 … … 404 388 %endif 405 389 %endif 390 391 392 ; Boot Menu information strings 393 g_szCapacity: ; db "Capacity : %s",NULL 394 ; db 43h, 61h, 70h, 61h, 63h, 69h, 74h, 79h, 20h, 3ah, 20h, 25h, 73h, 00h ; uncompressed 395 db 49h, 67h, 76h, 67h, 69h, 6fh, 7ah, 0ffh, 0c0h, 1dh ; compressed 396 397 g_szCapacityNum: ; db "%5-u.%u %ciB",NULL 398 ; db 25h, 35h, 2dh, 75h, 2eh, 25h, 75h, 20h, 25h, 63h, 69h, 42h, 00h ; uncompressed 399 db 36h, 29h, 35h, 20h, 3ch, 6fh, 88h ; compressed 400 401 g_szInformation: ; db "%s",LF,CR 402 ; db 25h, 73h, 0ah, 0dh ; uncompressed 403 db 3dh, 39h ; compressed 404 405 ; db "Addr. ",SINGLE_VERTICAL,"Block",SINGLE_VERTICAL,"Bus",SINGLE_VERTICAL,"IRQ",SINGLE_VERTICAL,"Reset",LF,CR 406 ; db 41h, 64h, 64h, 72h, 2eh, 20h, 0b3h, 42h, 6ch, 6fh, 63h, 6bh, 0b3h, 42h, 75h, 73h, 0b3h, 49h, 52h, 51h, 0b3h, 52h, 65h, 73h, 65h, 74h, 0ah, 0dh ; uncompressed 407 db 47h, 6ah, 6ah, 78h, 29h, 20h, 23h, 48h, 72h, 75h, 69h, 71h, 23h, 48h, 7bh, 79h, 23h, 4fh, 58h, 57h, 23h, 58h, 6bh, 79h, 6bh, 7ah, 39h ; compressed 408 409 ; db "%s",SINGLE_VERTICAL,"%5-u",SINGLE_VERTICAL,"%s",SINGLE_VERTICAL," %2-I",SINGLE_VERTICAL,"%5-x",NULL 410 ; db 25h, 73h, 0b3h, 25h, 35h, 2dh, 75h, 0b3h, 25h, 73h, 0b3h, 20h, 25h, 32h, 2dh, 49h, 0b3h, 25h, 35h, 2dh, 78h, 00h ; uncompressed 411 db 3dh, 23h, 36h, 23h, 3dh, 23h, 20h, 34h, 23h, 18h ; compressed 412 406 413 407 414 %endif ; MODULE_BOOT_MENU … … 554 561 ;; translated usage stats 555 562 ;; 33:1 556 ;; 32:3 4563 ;; 32:35 557 564 ;; 181:1 558 565 ;; 53:2 … … 568 575 ;; 34:3 569 576 ;; 49:1 570 ;; 56: 7577 ;; 56:8 571 578 ;; 45:2 572 579 ;; 175:1 … … 609 616 ;; 75,K:1 610 617 ;; 76,L:4 611 ;; 77,M: 7618 ;; 77,M:8 612 619 ;; 78,N:2 613 620 ;; 79,O:2 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Main.asm
r526 r536 27 27 %include "IdeRegisters.inc" ; Needed for port and device autodetection 28 28 %include "JRIDE_ISA.inc" ; For JR-IDE/ISA default segment 29 %include "ADP50L.inc" ; For ADP50L default segment 29 30 %include "XTCF.inc" ; For XT-CF modes 30 31 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm
r526 r536 214 214 dw DEVICE_8BIT_XTCF_MEMMAP 215 215 dw DEVICE_8BIT_JRIDE_ISA 216 dw DEVICE_8BIT_ADP50L 216 217 dw DEVICE_SERIAL_PORT 217 218 g_rgszValueToStringLookupForDevice: … … 225 226 dw g_szValueCfgDeviceMemXTCF 226 227 dw g_szValueCfgDeviceJrIdeIsa 228 dw g_szValueCfgDeviceADP50L 227 229 dw g_szValueCfgDeviceSerial 228 230 … … 381 383 mov bx, g_MenuitemIdeControllerControlBlockAddress 382 384 cmp al, DEVICE_8BIT_XTCF_PIO8 383 jb SHORT .EnableMenuitemFromCSBX ; Not needed for XT-CF and JR-IDE/ISA385 jb SHORT .EnableMenuitemFromCSBX ; Not needed for XT-CF, JR-IDE/ISA and ADP50L 384 386 jmp SHORT .DisableMenuitemFromCSBX 385 387 … … 603 605 cmp al, DEVICE_8BIT_JRIDE_ISA 604 606 je SHORT .ChangingToJrIdeIsa 607 cmp al, DEVICE_8BIT_ADP50L 608 je SHORT .ChangingToADP50L 605 609 606 610 ; Restore ports to default values … … 620 624 621 625 .ChangingToJrIdeIsa: 622 mov ax, JRIDE_DEFAULT_SEGMENT_ADDRESS 626 mov ah, JRIDE_DEFAULT_SEGMENT_ADDRESS >> 8 627 SKIP2B bx 628 629 .ChangingToADP50L: 630 mov ah, ADP50L_DEFAULT_BIOS_SEGMENT_ADDRESS >> 8 631 xor al, al 623 632 xor bx, bx 624 633 jmp SHORT .writeNonSerial -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
r532 r536 228 228 g_szNfoIdeSlave: db "Settings for Slave Drive.",NULL 229 229 g_szNfoIdeDevice: db "Select controller device type.",NULL 230 g_szNfoIdeCmdPort: db "IDE Controller Command Block (base port) address or segment address for JR-IDE/ISA .",NULL230 g_szNfoIdeCmdPort: db "IDE Controller Command Block (base port) address or segment address for JR-IDE/ISA and SVC ADP50L.",NULL 231 231 g_szNfoIdeCtrlPort: db "IDE Controller Control Block address. Usually Cmd Block + 8 for XTIDE, and Cmd Block + 200h for ATA.",NULL 232 232 g_szNfoIdeEnIRQ: db "Interrupt or polling mode.",NULL … … 241 241 db " By default the primary IDE controller uses port 1F0h and secondary controller uses port 170h." 242 242 db " XTIDE card uses port 300h by default." 243 db " JR-IDE/ISA do not use ports but you need to set ROM space segment address for JR-IDE/ISA.",NULL243 db " JR-IDE/ISA and SVC ADP50L do not use ports but needs the ROM segment address set here instead.",NULL 244 244 245 245 g_szHelpIdeCtrlPort: db "IDE controller Control Block address is normally Command Block address + 200h." … … 282 282 db "XT-CF v2 in memory mode",LF 283 283 db "JR-IDE/ISA",LF 284 db "SVC ADP50L",LF 284 285 db "Serial port virtual device",NULL 285 286 … … 293 294 g_szValueCfgDeviceMemXTCF: db "XTCF MEM",NULL 294 295 g_szValueCfgDeviceJrIdeIsa: db "JR-ISA",NULL 296 g_szValueCfgDeviceADP50L: db "ADP50L",NULL 295 297 g_szValueCfgDeviceSerial: db "Serial",NULL 296 298
Note:
See TracChangeset
for help on using the changeset viewer.