redetect BIOS function

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
Philippe
Posts: 2
Joined: Mon Jul 07, 2008 9:25 am

redetect BIOS function

Post by Philippe »

Hi , everybody.
When I boot my panel PC with a USB key , it is detect correctly like a floppy with the letter a:.
My Panel PC have no physical floppy.
So when I boot my PC with no USB key then I have no floppy -> it's normal.
So do you know the BIOS function which allow to redetect the USB key like the boot operation without switch off the PC?
and the function to tell DOS (MS-DOS 6.22) to indicate a new device floppy?
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: redetect BIOS function

Post by jal »

Philippe wrote:So do you know the BIOS function which allow to redetect the USB key like the boot operation without switch off the PC?
I'm pretty sure there is none. The BIOS API hasn't changed in ages. Remember also that the only reason for the USB-stick floppy emulation is to boot from it. Pretty pointless then to use it once booted.
and the function to tell DOS (MS-DOS 6.22) to indicate a new device floppy?
I'm not sure what you mean. The DOS API has been frozen for decades, search the Ralf Brown list for it (whatever you mean).


JAL
User avatar
Dex
Member
Member
Posts: 1444
Joined: Fri Jan 27, 2006 12:00 am
Contact:

Re: redetect BIOS function

Post by Dex »

There is no way you can do this useing normal commands, the best you could hope for is that a WARM REBOOT works.

Code: Select all

;Warm Boot By Dex (untested)
        xor   ax,ax            ;*SET FLAG FOR WARM REBOOT*
        mov   ds,ax            ; dos flags memory segment address
        mov   si,0x0472        ; dos reboot type flag offset
        mov   cx,0x1234        ; warm boot indicator
        mov   word[ds:si],cx   ; set the flag

                               ;*WARM REBOOT*
        db    0xea             ; Machine language to jump to
                               ; address FFFF:0000 (reboot)
        dw    0x0000
        dw    0xffff           ; No return required
                               ; we're rebooting!

        jmp $                  ; Just incase 

On some PC it works, on other it does not.
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: redetect BIOS function

Post by jal »

Dex wrote:

Code: Select all

;*WARM REBOOT*
        db    0xea             ; Machine language to jump to
                               ; address FFFF:0000 (reboot)
        dw    0x0000
        dw    0xffff           ; No return required
Why the db/dw-s? Why not just "jmp 0ffffh:0000"?


JAL
Philippe
Posts: 2
Joined: Mon Jul 07, 2008 9:25 am

Re: redetect BIOS function

Post by Philippe »

Thanks for your response but I explain me:
The PC boot on HDD c: and the USB KEY is for the data.
I must boot my PC with the USB KEY to be able to use it!I can unplug and plug the key without problem.
The BIOS isn't frozen. The BIOS on the PC is AwardBIOS V6.00 of 2006!
And if you can use the USB Key , it's thanks to BIOS!!
So the function to detect the USB is not a Standard BIOS function but a specific of AWARDBIOS or AMIBIOS, and if you experience on this.
jal
Member
Member
Posts: 1385
Joined: Wed Oct 31, 2007 9:09 am

Re: redetect BIOS function

Post by jal »

Philippe wrote:So the function to detect the USB is not a Standard BIOS function but a specific of AWARDBIOS or AMIBIOS, and if you experience on this.
No, it is not. You didn't read what I wrote. The code to detect the USB and emulate a floppy is inside the BIOS, of course. There is just no way for you to access that code. There is no 'function' for you to call. USB detection is part of BIOS POST, not something you can call afterwards.


JAL
Post Reply