How to enable/show mouse cursor on bootloader-screen?
BITS 16
jmp short _start ; Jump past disk description section
nop
; Disk description table, to make it a valid usb
OEMLabel db "usb-label" ; Disk label
BytesPerSector dw 512 ; Bytes per sector
SectorsPerCluster db 1 ; Sectors per cluster
ReservedForBoot dw 1 ; Reserved sectors for boot record
NumberOfFats db 2 ; Number of copies of the FAT
RootDirEntries dw 224
LogicalSectors dw 2880 ; Number of logical sectors
MediumByte db 0F0h ; Medium descriptor byte
SectorsPerFat dw 9 ; Sectors per FAT
SectorsPerTrack dw 18 ; Sectors per track (36/cylinder)
Sides dw 2 ; Number of sides/heads
HiddenSectors dd 0 ; Number of hidden sectors
LargeSectors dd 0 ; Number of LBA sectors
DriveNo dw 0 ; Drive No: 0
Signature db 41 ; Drive signature: 41 for floppy
VolumeID dd 87654321h ; Volume ID: any number
VolumeLabel db "usb-lable"; Volume Label: any 11 chars
FileSystem db "FAT12 " ; File system type: don't change!
_start:
mov ax, 07C0h ; move 0x7c00 into ax
mov ds, ax ; set data segment to where we're loaded
mov si, string ; Put string position into SI
call print_string ; Call our string-printing routine
jmp $ ; infinite loop!
string db "hello world! from usb", 0
print_string:
mov ah, 0Eh ; int 10h 'print char' function
.loop:
lodsb ; load string byte to al
cmp al, 0 ; cmp al with 0
je .done ; if char is zero, ret
int 10h ; else, print
jmp .loop
.done:
ret
times 510-($-$$) db 0 ; Pad remainder of boot sector with 0s
dw 0xAA55 ; The standard PC boot signature
We've made this bootloader which prints "hello world" and it works! Now, we want to show the mouse cursor on the bootloader screen and we have already used int 33
(mouse enabling interupt) in bootloader but it doesn't show the cursor! [we have not studied OS course yet.]
assembly x86 usb bootloader mouse-cursor
migrated from superuser.com 18 hours ago
This question came from our site for computer enthusiasts and power users.
add a comment |Â
BITS 16
jmp short _start ; Jump past disk description section
nop
; Disk description table, to make it a valid usb
OEMLabel db "usb-label" ; Disk label
BytesPerSector dw 512 ; Bytes per sector
SectorsPerCluster db 1 ; Sectors per cluster
ReservedForBoot dw 1 ; Reserved sectors for boot record
NumberOfFats db 2 ; Number of copies of the FAT
RootDirEntries dw 224
LogicalSectors dw 2880 ; Number of logical sectors
MediumByte db 0F0h ; Medium descriptor byte
SectorsPerFat dw 9 ; Sectors per FAT
SectorsPerTrack dw 18 ; Sectors per track (36/cylinder)
Sides dw 2 ; Number of sides/heads
HiddenSectors dd 0 ; Number of hidden sectors
LargeSectors dd 0 ; Number of LBA sectors
DriveNo dw 0 ; Drive No: 0
Signature db 41 ; Drive signature: 41 for floppy
VolumeID dd 87654321h ; Volume ID: any number
VolumeLabel db "usb-lable"; Volume Label: any 11 chars
FileSystem db "FAT12 " ; File system type: don't change!
_start:
mov ax, 07C0h ; move 0x7c00 into ax
mov ds, ax ; set data segment to where we're loaded
mov si, string ; Put string position into SI
call print_string ; Call our string-printing routine
jmp $ ; infinite loop!
string db "hello world! from usb", 0
print_string:
mov ah, 0Eh ; int 10h 'print char' function
.loop:
lodsb ; load string byte to al
cmp al, 0 ; cmp al with 0
je .done ; if char is zero, ret
int 10h ; else, print
jmp .loop
.done:
ret
times 510-($-$$) db 0 ; Pad remainder of boot sector with 0s
dw 0xAA55 ; The standard PC boot signature
We've made this bootloader which prints "hello world" and it works! Now, we want to show the mouse cursor on the bootloader screen and we have already used int 33
(mouse enabling interupt) in bootloader but it doesn't show the cursor! [we have not studied OS course yet.]
assembly x86 usb bootloader mouse-cursor
migrated from superuser.com 18 hours ago
This question came from our site for computer enthusiasts and power users.
You can't useInt 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.
â Michael Petch
9 hours ago
add a comment |Â
BITS 16
jmp short _start ; Jump past disk description section
nop
; Disk description table, to make it a valid usb
OEMLabel db "usb-label" ; Disk label
BytesPerSector dw 512 ; Bytes per sector
SectorsPerCluster db 1 ; Sectors per cluster
ReservedForBoot dw 1 ; Reserved sectors for boot record
NumberOfFats db 2 ; Number of copies of the FAT
RootDirEntries dw 224
LogicalSectors dw 2880 ; Number of logical sectors
MediumByte db 0F0h ; Medium descriptor byte
SectorsPerFat dw 9 ; Sectors per FAT
SectorsPerTrack dw 18 ; Sectors per track (36/cylinder)
Sides dw 2 ; Number of sides/heads
HiddenSectors dd 0 ; Number of hidden sectors
LargeSectors dd 0 ; Number of LBA sectors
DriveNo dw 0 ; Drive No: 0
Signature db 41 ; Drive signature: 41 for floppy
VolumeID dd 87654321h ; Volume ID: any number
VolumeLabel db "usb-lable"; Volume Label: any 11 chars
FileSystem db "FAT12 " ; File system type: don't change!
_start:
mov ax, 07C0h ; move 0x7c00 into ax
mov ds, ax ; set data segment to where we're loaded
mov si, string ; Put string position into SI
call print_string ; Call our string-printing routine
jmp $ ; infinite loop!
string db "hello world! from usb", 0
print_string:
mov ah, 0Eh ; int 10h 'print char' function
.loop:
lodsb ; load string byte to al
cmp al, 0 ; cmp al with 0
je .done ; if char is zero, ret
int 10h ; else, print
jmp .loop
.done:
ret
times 510-($-$$) db 0 ; Pad remainder of boot sector with 0s
dw 0xAA55 ; The standard PC boot signature
We've made this bootloader which prints "hello world" and it works! Now, we want to show the mouse cursor on the bootloader screen and we have already used int 33
(mouse enabling interupt) in bootloader but it doesn't show the cursor! [we have not studied OS course yet.]
assembly x86 usb bootloader mouse-cursor
BITS 16
jmp short _start ; Jump past disk description section
nop
; Disk description table, to make it a valid usb
OEMLabel db "usb-label" ; Disk label
BytesPerSector dw 512 ; Bytes per sector
SectorsPerCluster db 1 ; Sectors per cluster
ReservedForBoot dw 1 ; Reserved sectors for boot record
NumberOfFats db 2 ; Number of copies of the FAT
RootDirEntries dw 224
LogicalSectors dw 2880 ; Number of logical sectors
MediumByte db 0F0h ; Medium descriptor byte
SectorsPerFat dw 9 ; Sectors per FAT
SectorsPerTrack dw 18 ; Sectors per track (36/cylinder)
Sides dw 2 ; Number of sides/heads
HiddenSectors dd 0 ; Number of hidden sectors
LargeSectors dd 0 ; Number of LBA sectors
DriveNo dw 0 ; Drive No: 0
Signature db 41 ; Drive signature: 41 for floppy
VolumeID dd 87654321h ; Volume ID: any number
VolumeLabel db "usb-lable"; Volume Label: any 11 chars
FileSystem db "FAT12 " ; File system type: don't change!
_start:
mov ax, 07C0h ; move 0x7c00 into ax
mov ds, ax ; set data segment to where we're loaded
mov si, string ; Put string position into SI
call print_string ; Call our string-printing routine
jmp $ ; infinite loop!
string db "hello world! from usb", 0
print_string:
mov ah, 0Eh ; int 10h 'print char' function
.loop:
lodsb ; load string byte to al
cmp al, 0 ; cmp al with 0
je .done ; if char is zero, ret
int 10h ; else, print
jmp .loop
.done:
ret
times 510-($-$$) db 0 ; Pad remainder of boot sector with 0s
dw 0xAA55 ; The standard PC boot signature
We've made this bootloader which prints "hello world" and it works! Now, we want to show the mouse cursor on the bootloader screen and we have already used int 33
(mouse enabling interupt) in bootloader but it doesn't show the cursor! [we have not studied OS course yet.]
assembly x86 usb bootloader mouse-cursor
assembly x86 usb bootloader mouse-cursor
edited 9 hours ago
Michael Petch
25.1k556100
25.1k556100
asked 21 hours ago
linxnerd
61
61
migrated from superuser.com 18 hours ago
This question came from our site for computer enthusiasts and power users.
migrated from superuser.com 18 hours ago
This question came from our site for computer enthusiasts and power users.
You can't useInt 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.
â Michael Petch
9 hours ago
add a comment |Â
You can't useInt 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.
â Michael Petch
9 hours ago
You can't use
Int 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.â Michael Petch
9 hours ago
You can't use
Int 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.â Michael Petch
9 hours ago
add a comment |Â
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid â¦
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid â¦
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53930033%2fhow-to-enable-show-mouse-cursor-on-bootloader-screen%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
You can't use
Int 33h
MS mouse interrupts in a bootloader because those interrupts aren't available until DOS is running and it has installed the MS Mouse driver. You will effectively have to write your own mouse code and update the cursor yourself. This would involve replacing the mouse interrupt with your own, reading the PS/2 port for data, building up a mouse packet and then processing the coordinates in the packet and then place a cursor on the screen at that location.â Michael Petch
9 hours ago