Changeset 631 in xtideuniversalbios
- Timestamp:
- Feb 1, 2025, 12:45:33 PM (3 hours ago)
- Location:
- trunk
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Assembly_Library/Inc/Macros.inc
r602 r631 7 7 8 8 ;-------------------------------------------------------------------- 9 ; The long (two byte) form of PUSH. Supported by NEC V20/V30. 10 ; 11 ; LPUSH 12 ; Parameters: 13 ; %1: Any 16 bit general purpose register. 14 ; Returns: 15 ; Nothing 16 ; Corrupts registers: 17 ; Nothing 18 ;-------------------------------------------------------------------- 19 %macro LPUSH 1.nolist 20 %ifidni %1, ax 21 db 0FFh, 0F0h 22 %elifidni %1, cx 23 db 0FFh, 0F1h 24 %elifidni %1, dx 25 db 0FFh, 0F2h 26 %elifidni %1, bx 27 db 0FFh, 0F3h 28 %elifidni %1, sp 29 db 0FFh, 0F4h 30 %elifidni %1, bp 31 db 0FFh, 0F5h 32 %elifidni %1, si 33 db 0FFh, 0F6h 34 %elifidni %1, di 35 db 0FFh, 0F7h 36 %else 37 %error "Invalid parameter passed to LPUSH" 38 %endif 39 %endmacro 40 41 42 ;-------------------------------------------------------------------- 43 ; The long (two byte) form of POP. Not supported by NEC V20/V30. 44 ; NEC V20/V30 CPU:s will adjust SP but not actually move the contents 45 ; of the top WORD on the stack to the destination register. 46 ; 47 ; LPOP 48 ; Parameters: 49 ; %1: Any 16 bit general purpose register. 50 ; Returns: 51 ; Nothing 52 ; Corrupts registers: 53 ; Nothing 54 ;-------------------------------------------------------------------- 55 %macro LPOP 1.nolist 56 %ifidni %1, ax 57 db 8Fh, 0C0h 58 %elifidni %1, cx 59 db 8Fh, 0C1h 60 %elifidni %1, dx 61 db 8Fh, 0C2h 62 %elifidni %1, bx 63 db 8Fh, 0C3h 64 %elifidni %1, sp 65 db 8Fh, 0C4h 66 %elifidni %1, bp 67 db 8Fh, 0C5h 68 %elifidni %1, si 69 db 8Fh, 0C6h 70 %elifidni %1, di 71 db 8Fh, 0C7h 72 %else 73 %error "Invalid parameter passed to LPOP" 74 %endif 75 %endmacro 76 77 78 ;-------------------------------------------------------------------- 9 79 ; Skips the immediately following 1 byte instruction by using it 10 80 ; as an immediate value to a dummy instruction. … … 21 91 %macro SKIP1B 1.nolist 22 92 %ifidni %1, f 23 db 03Ch; Opcode byte for CMP AL, <immed>24 ;db 0A8h; Alt. version TEST AL, <immed>93 db 03Ch ; Opcode byte for CMP AL, <immed> 94 ;db 0A8h ; Alt. version TEST AL, <immed> 25 95 %elifidni %1, al 26 db 0B0h; Opcode byte for MOV AL, <immed>96 db 0B0h ; Opcode byte for MOV AL, <immed> 27 97 %elifidni %1, ah 28 db 0B4h; Opcode byte for MOV AH, <immed>98 db 0B4h ; Opcode byte for MOV AH, <immed> 29 99 %elifidni %1, bl 30 db 0B3h; Opcode byte for MOV BL, <immed>100 db 0B3h ; Opcode byte for MOV BL, <immed> 31 101 %elifidni %1, bh 32 db 0B7h; Opcode byte for MOV BH, <immed>102 db 0B7h ; Opcode byte for MOV BH, <immed> 33 103 %elifidni %1, cl 34 db 0B1h; Opcode byte for MOV CL, <immed>104 db 0B1h ; Opcode byte for MOV CL, <immed> 35 105 %elifidni %1, ch 36 db 0B5h; Opcode byte for MOV CH, <immed>106 db 0B5h ; Opcode byte for MOV CH, <immed> 37 107 %elifidni %1, dl 38 db 0B2h; Opcode byte for MOV DL, <immed>108 db 0B2h ; Opcode byte for MOV DL, <immed> 39 109 %elifidni %1, dh 40 db 0B6h; Opcode byte for MOV DH, <immed>110 db 0B6h ; Opcode byte for MOV DH, <immed> 41 111 %else 42 112 %error "Invalid parameter passed to SKIP1B" 43 113 %endif 44 114 %endmacro 115 45 116 46 117 ;-------------------------------------------------------------------- … … 59 130 %macro SKIP2B 1.nolist 60 131 %ifidni %1, f 61 db 03Dh; Opcode byte for CMP AX, <immed>62 ;db 0A9h; Alt. version TEST AX, <immed>132 db 03Dh ; Opcode byte for CMP AX, <immed> 133 ;db 0A9h ; Alt. version TEST AX, <immed> 63 134 %elifidni %1, ax 64 db 0B8h; Opcode byte for MOV AX, <immed>135 db 0B8h ; Opcode byte for MOV AX, <immed> 65 136 %elifidni %1, cx 66 db 0B9h; Opcode byte for MOV CX, <immed>137 db 0B9h ; Opcode byte for MOV CX, <immed> 67 138 %elifidni %1, dx 68 db 0BAh; Opcode byte for MOV DX, <immed>139 db 0BAh ; Opcode byte for MOV DX, <immed> 69 140 %elifidni %1, bx 70 db 0BBh; Opcode byte for MOV BX, <immed>141 db 0BBh ; Opcode byte for MOV BX, <immed> 71 142 %elifidni %1, sp 72 db 0BCh; Opcode byte for MOV SP, <immed>143 db 0BCh ; Opcode byte for MOV SP, <immed> 73 144 %elifidni %1, bp 74 db 0BDh; Opcode byte for MOV BP, <immed>145 db 0BDh ; Opcode byte for MOV BP, <immed> 75 146 %elifidni %1, si 76 db 0BEh; Opcode byte for MOV SI, <immed>147 db 0BEh ; Opcode byte for MOV SI, <immed> 77 148 %elifidni %1, di 78 db 0BFh; Opcode byte for MOV DI, <immed>149 db 0BFh ; Opcode byte for MOV DI, <immed> 79 150 %else 80 151 %error "Invalid parameter passed to SKIP2B" -
trunk/BIOS_Drive_Information_Tool/Src/Strings.asm
r630 r631 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 4by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2025 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 22 22 23 23 g_szProgramName: db "BIOS Drive Information Tool v1.0.3",CR,LF 24 db "(C) 2012-202 4by XTIDE Universal BIOS Team",CR,LF24 db "(C) 2012-2025 by XTIDE Universal BIOS Team",CR,LF 25 25 db "Released under GNU GPL v2",CR,LF 26 26 db "http://xtideuniversalbios.org/",CR,LF,NULL -
trunk/XTIDE_Universal_BIOS/Inc/Revision.inc
r630 r631 1 63 01 631 -
trunk/XTIDE_Universal_BIOS/Src/Handlers/Int19h.asm
r605 r631 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-20 13by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2025 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 250 250 retf ; NOTE: DL is set to the drive number 251 251 252 ; Boot by calling INT 18h (ROM Basic o fROM DOS)252 ; Boot by calling INT 18h (ROM Basic or ROM DOS) 253 253 .RomBoot: 254 254 int BIOS_BOOT_FAILURE_INTERRUPT_18h ; Never returns -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Menupages/IdeControllerMenu.asm
r625 r631 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 3by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2025 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 133 133 at MENUITEM.bType, db TYPE_MENUITEM_HEX 134 134 at MENUITEM.itemValue + ITEM_VALUE.wRomvarsValueOffset, dw NULL 135 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgIde CmdPort135 at MENUITEM.itemValue + ITEM_VALUE.szDialogTitle, dw g_szDlgIdeSerialPort 136 136 at MENUITEM.itemValue + ITEM_VALUE.wMinValue, dw 8h 137 137 at MENUITEM.itemValue + ITEM_VALUE.wMaxValue, dw 3F8h … … 578 578 push ax 579 579 xlat 580 mov [es:di+IDEVARS.bIRQ -IDEVARS.wBasePort], al580 mov [es:di+IDEVARS.bIRQ], al 581 581 pop ax 582 582 … … 639 639 ; XT-CF does not support IRQ so it must be disabled (IRQ setting is not visible for XT-CF) 640 640 ; XTIDE does not use IRQs by default 641 mov BYTE [es:di+IDEVARS.bIRQ -IDEVARS.wBasePort], 0641 mov BYTE [es:di+IDEVARS.bIRQ], 0 642 642 643 643 .WriteNonSerial: … … 658 658 659 659 .ChangingToSerial: 660 ; 661 ; For serial drives, we pack the port number and baud rate into a single byte, and thus 662 ; we need to take care to properly read/write just the bits we need. In addition, since 663 ; we use the Port/PortCtrl bytes in a special way for serial drives, we need to properly 664 ; default the values stored in both these words when switching in and out of the Serial 665 ; device choice. 666 ; 667 mov al, SERIAL_DEFAULT_COM 668 mov BYTE [es:di+IDEVARS.bSerialBaud-IDEVARS.wBasePort], SERIAL_DEFAULT_BAUD 669 mov [es:di+IDEVARS.bIRQ-IDEVARS.wBasePort], ah ; Clear .bIRQ to keep the boot menu from printing it 670 660 mov al, ah ; Clear AL to point to the default COM port in the PackedCOMPortAddresses table 661 mov BYTE [es:di+IDEVARS.bSerialBaud], SERIAL_DEFAULT_BAUD 662 mov [es:di+IDEVARS.bIRQ], ah ; Clear .bIRQ to keep the boot menu from printing it 671 663 sub di, IDEVARS.wBasePort - IDEVARS.bSerialCOMPortChar 664 mov BYTE [es:di], SERIAL_DEFAULT_COM 672 665 call IdeControllerMenu_SerialWriteCOM 673 stosb674 666 675 667 .Done: … … 685 677 ; 686 678 ; Parameters: 687 ; A L: COM port679 ; AX: COM port menu choice index 688 680 ; ES:DI: Ptr to IDEVARS.bSerialCOMPortChar 689 681 ; DS:SI: MENUITEM pointer 690 682 ; Returns: 691 ; Nothing683 ; AX: COM port menu choice index 692 684 ; Corrupts registers: 693 685 ; BX … … 695 687 ALIGN JUMP_ALIGN 696 688 IdeControllerMenu_SerialWriteCOM: 697 push ax 698 push si 699 700 mov bx, PackedCOMPortAddresses - 1 701 mov si, g_rgbChoiceToValueLookupForCOM - 2 702 703 .Loop: 704 inc bx 705 inc si 706 inc si 707 708 mov ah, [bx] 709 cmp ah, SERIAL_DEFAULT_CUSTOM_PORT >> 2 710 je SHORT .NotFound 711 712 cmp al, [si] 713 jne SHORT .Loop 714 715 .NotFound: 716 mov [es:di+IDEVARS.bSerialPort-IDEVARS.bSerialCOMPortChar], ah 717 718 pop si 719 pop ax 689 xchg bx, ax 690 mov al, [bx+PackedCOMPortAddresses] 691 mov [es:di+IDEVARS.bSerialPort-IDEVARS.bSerialCOMPortChar], al 692 xchg bx, ax 720 693 ret 721 694 -
trunk/XTIDE_Universal_BIOS_Configurator_v2/Src/Strings.asm
r630 r631 4 4 ; 5 5 ; XTIDE Universal BIOS and Associated Tools 6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 4by XTIDE Universal BIOS Team.6 ; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2025 by XTIDE Universal BIOS Team. 7 7 ; 8 8 ; This program is free software; you can redistribute it and/or modify … … 98 98 g_szNfoMainFlash: db "Flash loaded BIOS image to EEPROM.",NULL 99 99 g_szNfoMainSave: db "Save BIOS changes back to original file from which it was loaded.",NULL 100 g_szNfoMainLicense: db "XTIDE Universal BIOS and XTIDECFG Copyright (C) 2009-2010 by Tomi Tilli, 2011-202 4by XTIDE Universal BIOS Team."100 g_szNfoMainLicense: db "XTIDE Universal BIOS and XTIDECFG Copyright (C) 2009-2010 by Tomi Tilli, 2011-2025 by XTIDE Universal BIOS Team." 101 101 db " Released under GNU GPL v2, with ABSOLUTELY NO WARRANTY. Press ENTER for more details...",NULL 102 102 g_szNfoMainHomePage: db "Visit http://xtideuniversalbios.org (home page) and http://forum.vcfed.org (support)",NULL 103 103 104 104 g_szHelpMainLicense: db "XTIDE Universal BIOS and XTIDECFG Configuration program are Copyright 2009-2010 by Tomi Tilli," 105 db " 2011-202 4by XTIDE Universal BIOS Team. Released under GNU GPL v2. This software comes with ABSOLUTELY NO WARRANTY."105 db " 2011-2025 by XTIDE Universal BIOS Team. Released under GNU GPL v2. This software comes with ABSOLUTELY NO WARRANTY." 106 106 db " This is free software, and you are welcome to redistribute it under certain conditions." 107 107 db " See the LICENSE.TXT file that was included with this distribution," … … 250 250 g_szDlgIdeEnIRQ: db "Enable interrupt?",NULL 251 251 g_szDlgIdeIRQ: db "Enter IRQ channel (2...7 for 8-bit controllers, 2...15 for any other controller).",NULL 252 g_szDlgIdeSerialPort: db "Enter serial port I/O address.",NULL 252 253 g_szUnsupportedDevice: db "There is no support for this device type in the currently loaded BIOS." 253 254 db " You must load a BIOS built with the proper module included to be able to use this type of device.",NULL
Note:
See TracChangeset
for help on using the changeset viewer.