forked from KolibriOS/kolibrios
Load/eject CD/DVD device tray moved from sysfn 70 to sysfn 24 (see sysfunc*),
because these actions do not involve file system. git-svn-id: svn://kolibrios.org@588 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -1462,6 +1462,34 @@ dd 533
|
||||
* <20>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD>⥫쭮 <20>㦭<EFBFBD> <20><>।<EFBFBD><E0A5A4><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> CD <20>맮<EFBFBD><EBA7AE><EFBFBD>
|
||||
<20><><EFBFBD><EFBFBD>㭪樨 3 <20>㭪樨 21.
|
||||
|
||||
======================================================================
|
||||
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 24, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 4 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⮪ <20>ਢ<EFBFBD><E0A8A2><EFBFBD> <20><>᪠. ============
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 24 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 4 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> CD/DVD-<2D><>᪠ (<28><> 0=Primary Master <20><> 3=Secondary Slave)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD> ATAPI <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD> (CD <20> DVD).
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>⪠ <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><>筮<EFBFBD><E7ADAE> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><>堭<EFBFBD><E5A0AD><EFBFBD><EFBFBD><EFBFBD> <20><>⪠.
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>⪠ <20><><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <20><><EFBFBD>ன<EFBFBD>⢠.
|
||||
* <20>ਬ<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD_tray.
|
||||
|
||||
======================================================================
|
||||
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 24, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 5 - <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8> <20><>⮪ <20>ਢ<EFBFBD><E0A8A2><EFBFBD> <20><>᪠. ===========
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 24 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 5 - <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* ecx = <20><><EFBFBD><EFBFBD><EFBFBD> CD/DVD-<2D><>᪠ (<28><> 0=Primary Master <20><> 3=Secondary Slave)
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD> ATAPI <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD> (CD <20> DVD)
|
||||
* <20>ਬ<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD_tray.
|
||||
|
||||
======================================================================
|
||||
============== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 25 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEAC><EFBFBD><EFBFBD><EFBFBD> SBPro. ==============
|
||||
======================================================================
|
||||
@@ -4129,7 +4157,7 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
<EFBFBD><EFBFBD><EFBFBD> <20><>ࢮ<EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD> <20><><EFBFBD><EFBFBD>㭪権 0,1,5,7 <20> <20><><EFBFBD>ன<EFBFBD>⢠<EFBFBD> ATAPI (CD <20> DVD)
|
||||
<EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><>筮<EFBFBD><E7ADAE> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><>堭<EFBFBD><E5A0AD><EFBFBD><EFBFBD><EFBFBD> <20><>⪠. <20><><EFBFBD> <20><>易<EFBFBD><EFA7A0>
|
||||
<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⬮<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD><EFBFBD> <20><> <20>ਢ<EFBFBD><E0A8A2><EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2>
|
||||
<EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD>㭪樥<EFBFBD> 10 <20> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饬<EFBFBD> <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD>.
|
||||
<EFBFBD>ந<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>饭<EFBFBD><E9A5AD><EFBFBD> <20>㭪樨 24.4 <20> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饬<EFBFBD> <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD><EFBFBD>.
|
||||
|
||||
======================================================================
|
||||
= <20>㭪<EFBFBD><E3ADAA><EFBFBD> 70, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 0 - <20>⥭<EFBFBD><E2A5AD> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD>প<EFBFBD><E0A6AA> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>. =
|
||||
@@ -4489,66 +4517,6 @@ Architecture Software Developer's Manual, Volume 3, Appendix B);
|
||||
* <20><><EFBFBD><EFBFBD>⥫<EFBFBD>᪠<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><><EFBFBD><EFBFBD><EFBFBD>⢮<EFBFBD><E2A2AE><EFBFBD><EFBFBD>.
|
||||
* <20> <20><><EFBFBD><EFBFBD><EFBFBD> 㦥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ᯥ譮 (eax=0).
|
||||
|
||||
======================================================================
|
||||
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 70, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 10 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>⮪ <20>ਢ<EFBFBD><E0A8A2><EFBFBD> <20><>᪠. ============
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 70 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ଠ樮<E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD>ଠ<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樮<E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* +0: dword: 10 = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* +4: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +8: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +12 = +0xC: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +16 = +0x10: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +20 = +0x14: ASCIIZ-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20>ࠢ<EFBFBD><E0A0A2><EFBFBD> <20><>ନ<E0ACA8><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 㪠<><E3AAA0><EFBFBD><EFBFBD> <20>
|
||||
<20><>饬 <20><><EFBFBD>ᠭ<EFBFBD><E1A0AD>
|
||||
<20><><EFBFBD>
|
||||
* +20 = +0x14: db 0
|
||||
* +21 = +0x15: dd 㪠<><E3AAA0>⥫<EFBFBD> <20><> ASCIIZ-<2D><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD> ATAPI <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD> (CD <20> DVD).
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>⪠ <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E0AEA2> <20><>筮<EFBFBD><E7ADAE> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD> <20><>堭<EFBFBD><E5A0AD><EFBFBD><EFBFBD><EFBFBD> <20><>⪠.
|
||||
* <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>祭<EFBFBD><E7A5AD> <20><>⪠ <20><><EFBFBD> <20>ந<EFBFBD><E0AEA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ᮮ⢥<E1AEAE><E2A2A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>饣<EFBFBD> <20><><EFBFBD>ன<EFBFBD>⢠.
|
||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20><><EFBFBD> 70 <20>㭪樨 <20><><EFBFBD><EFBFBD>. <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD>ᯮᮡ<E1AFAE><E1AEA1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ﬨ <20><><EFBFBD><EFBFBD>:
|
||||
db '/cd0/1/',0
|
||||
db '/cd1/1/',0
|
||||
db '/cd2/1/',0
|
||||
db '/cd3/1/',0
|
||||
* <20>ਬ<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD_tray.
|
||||
|
||||
======================================================================
|
||||
========== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 70, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 11 - <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8> <20><>⮪ <20>ਢ<EFBFBD><E0A8A2><EFBFBD> <20><>᪠. ===========
|
||||
======================================================================
|
||||
<EFBFBD><EFBFBD>ࠬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* eax = 70 - <20><><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨
|
||||
* ebx = 㪠<><E3AAA0>⥫<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>ଠ樮<E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD>ଠ<EFBFBD> <20><><EFBFBD><EFBFBD>ଠ樮<E0ACA0><E6A8AE><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:
|
||||
* +0: dword: 11 = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㭪樨
|
||||
* +4: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +8: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +12 = +0xC: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +16 = +0x10: dword: 0 (<28><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>)
|
||||
* +20 = +0x14: ASCIIZ-<2D><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20>ࠢ<EFBFBD><E0A0A2><EFBFBD> <20><>ନ<E0ACA8><E0AEA2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> 㪠<><E3AAA0><EFBFBD><EFBFBD> <20>
|
||||
<20><>饬 <20><><EFBFBD>ᠭ<EFBFBD><E1A0AD>
|
||||
<20><><EFBFBD>
|
||||
* +20 = +0x14: db 0
|
||||
* +21 = +0x15: dd 㪠<><E3AAA0>⥫<EFBFBD> <20><> ASCIIZ-<2D><>ப<EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>祭<EFBFBD><E7A5AD>:
|
||||
* <20><>祣<EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>頥<EFBFBD><E9A0A5><EFBFBD>.
|
||||
<EFBFBD><EFBFBD><EFBFBD><EFBFBD>砭<EFBFBD><EFBFBD>:
|
||||
* <20>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ন<EFBFBD><E0A6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ⮫쪮 <20><><EFBFBD> ATAPI <20><><EFBFBD>ன<EFBFBD><E0AEA9><EFBFBD> (CD <20> DVD)
|
||||
* <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20>⠭<EFBFBD><E2A0AD><EFBFBD>⭮<EFBFBD> <20><><EFBFBD> 70 <20>㭪樨 <20><><EFBFBD><EFBFBD>. <20><><EFBFBD> ࠡ<><E0A0A1><EFBFBD>ᯮᮡ<E1AFAE><E1AEA1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||
<20><>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ﬨ <20><><EFBFBD><EFBFBD>:
|
||||
db '/cd0/1/',0
|
||||
db '/cd1/1/',0
|
||||
db '/cd2/1/',0
|
||||
db '/cd3/1/',0
|
||||
* <20>ਬ<EFBFBD> <20>ᯮ<EFBFBD>짮<EFBFBD><ECA7AE><EFBFBD><EFBFBD><EFBFBD> <20>㭪樨 <><EFA2AB><EFBFBD><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD> CD_tray.
|
||||
|
||||
======================================================================
|
||||
=== <20>㭪<EFBFBD><E3ADAA><EFBFBD> 71, <20><><EFBFBD><EFBFBD>㭪<EFBFBD><E3ADAA><EFBFBD> 1 - <20><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>. ==
|
||||
======================================================================
|
||||
|
@@ -1445,6 +1445,34 @@ Remarks:
|
||||
* Previously CD base port must be defined by call to
|
||||
subfunction 3 of function 21.
|
||||
|
||||
======================================================================
|
||||
================ Function 24, subfunction 4 - eject tray of disk drive. ==============
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 24 - function number
|
||||
* ebx = 4 - subfunction number
|
||||
* ecx = position of CD/DVD-drive (from 0=Primary Master to 3=Secondary Slave)
|
||||
Returned value:
|
||||
* Nothing comes back.
|
||||
Remarks:
|
||||
* The function is supported only for ATAPI devices (CD and DVD).
|
||||
* At extract of a tray is made deblocking of handle mechanism of a tray.
|
||||
* At extract of a tray the code makes clearing the cache of the appropriate device.
|
||||
* An example of usage of the function is the application CD_tray.
|
||||
|
||||
======================================================================
|
||||
============== Function 24, subfunction 5 - load tray of disk drive. =================
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 24 - function number
|
||||
* ebx = 5 - subfunction number
|
||||
* ecx = position of CD/DVD-drive (from 0=Primary Master to 3=Secondary Slave)
|
||||
Returned value:
|
||||
* Nothing comes back.
|
||||
Remarks:
|
||||
* The function is supported only for ATAPI devices (CD and DVD).
|
||||
* An example of usage of the function is the application CD_tray.
|
||||
|
||||
======================================================================
|
||||
=================== Function 25 - set SBPro volume. ==================
|
||||
======================================================================
|
||||
@@ -4077,7 +4105,7 @@ For CD-drives due to hardware limitations only subfunctions
|
||||
with code 2.
|
||||
At the first call subfunctions 0,1,5,7 to devices ATAPI (CD and DVD) the locking
|
||||
of handle mechanism of a tray is made. It is connected to algorithm of caching
|
||||
given obtained from a drive. Deblocking is made by call subfunction 10
|
||||
given obtained from a drive. Deblocking is made by call function 24.4
|
||||
to the appropriate device.
|
||||
|
||||
======================================================================
|
||||
@@ -4433,64 +4461,6 @@ Remarks:
|
||||
* The parent folder must already exist.
|
||||
* If target folder already exists, function returns success (eax=0).
|
||||
|
||||
======================================================================
|
||||
================ Function 70, subfunction 10 - eject tray of disk drive. ==============
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 70 - function number
|
||||
* ebx = pointer to the information structure
|
||||
Format of the information structure:
|
||||
* +0: dword: 10 = subfunction number
|
||||
* +4: dword: 0 (reserved)
|
||||
* +8: dword: 0 (reserved)
|
||||
* +12 = +0xC: dword: 0 (reserved)
|
||||
* +16 = +0x10: dword: 0 (reserved)
|
||||
* +20 = +0x14: ASCIIZ-name of folder, the rules of names forming are
|
||||
given in the general description
|
||||
or
|
||||
* +20 = +0x14: db 0
|
||||
* +21 = +0x15: dd pointer to ASCIIZ-string with folder name
|
||||
Returned value:
|
||||
* Nothing comes back.
|
||||
Remarks:
|
||||
* The function is supported only for ATAPI devices (CD and DVD).
|
||||
* At extract of a tray is made deblocking of handle mechanism of a tray.
|
||||
* At extract of a tray the code makes clearing the cache of the appropriate device.
|
||||
* The path is standard for 70 functions. For serviceability it is possible to be limited to paths:
|
||||
db '/cd0/1/',0
|
||||
db '/cd1/1/',0
|
||||
db '/cd2/1/',0
|
||||
db '/cd3/1/',0
|
||||
* An example of usage of the function is the application CD_tray.
|
||||
|
||||
======================================================================
|
||||
============== Function 70, subfunction 11 - load tray of disk drive. =================
|
||||
======================================================================
|
||||
Parameters:
|
||||
* eax = 70 - function number
|
||||
* ebx = pointer to the information structure
|
||||
Format of the information structure:
|
||||
* +0: dword: 11 = subfunction number
|
||||
* +4: dword: 0 (reserved)
|
||||
* +8: dword: 0 (reserved)
|
||||
* +12 = +0xC: dword: 0 (reserved)
|
||||
* +16 = +0x10: dword: 0 (reserved)
|
||||
* +20 = +0x14: ASCIIZ-name of folder, the rules of names forming are
|
||||
given in the general description
|
||||
or
|
||||
* +20 = +0x14: db 0
|
||||
* +21 = +0x15: dd pointer to ASCIIZ-string with folder name
|
||||
Returned value:
|
||||
* Nothing comes back.
|
||||
Remarks:
|
||||
* The function is supported only for ATAPI devices (CD and DVD).
|
||||
* The path is standard for 70 functions. For serviceability it is possible to be limited to paths:
|
||||
db '/cd0/1/',0
|
||||
db '/cd1/1/',0
|
||||
db '/cd2/1/',0
|
||||
db '/cd3/1/',0
|
||||
* An example of usage of the function is the application CD_tray.
|
||||
|
||||
======================================================================
|
||||
========== Function 71, subfunction 1 - set window caption. ==========
|
||||
======================================================================
|
||||
|
@@ -388,8 +388,6 @@ fs_RamdiskServices:
|
||||
dd 0
|
||||
dd fs_RamdiskDelete
|
||||
dd fs_RamdiskCreateFolder
|
||||
dd fs_NotImplemented
|
||||
dd fs_NotImplemented
|
||||
fs_NumRamdiskServices = ($ - fs_RamdiskServices)/4
|
||||
|
||||
fs_OnFloppy:
|
||||
@@ -421,8 +419,6 @@ fs_FloppyServices:
|
||||
dd 0
|
||||
dd fs_FloppyDelete
|
||||
dd fs_FloppyCreateFolder
|
||||
dd fs_NotImplemented
|
||||
dd fs_NotImplemented
|
||||
fs_NumFloppyServices = ($ - fs_FloppyServices)/4
|
||||
|
||||
fs_OnHd0:
|
||||
@@ -496,8 +492,6 @@ fs_HdServices:
|
||||
dd 0
|
||||
dd fs_HdDelete
|
||||
dd fs_HdCreateFolder
|
||||
dd fs_NotImplemented
|
||||
dd fs_NotImplemented
|
||||
fs_NumHdServices = ($ - fs_HdServices)/4
|
||||
|
||||
;*******************************************************
|
||||
@@ -579,8 +573,6 @@ fs_CdServices:
|
||||
dd 0
|
||||
dd fs_NotImplemented
|
||||
dd fs_NotImplemented
|
||||
dd fs_EjectDeviceTray
|
||||
dd fs_LoadDeviceTray
|
||||
fs_NumCdServices = ($ - fs_CdServices)/4
|
||||
|
||||
;*******************************************************
|
||||
|
@@ -489,17 +489,6 @@ fs_CdGetFileInfo:
|
||||
pop edi
|
||||
xor eax, eax
|
||||
ret
|
||||
;----------------------------------------------------------------
|
||||
fs_EjectDeviceTray:
|
||||
call clear_CD_cache
|
||||
call allow_medium_removal
|
||||
call EjectMedium
|
||||
ret
|
||||
;----------------------------------------------------------------
|
||||
fs_LoadDeviceTray:
|
||||
call LoadMedium
|
||||
ret
|
||||
;----------------------------------------------------------------
|
||||
|
||||
cd_find_lfn:
|
||||
mov [cd_appl_data],0
|
||||
|
@@ -4957,8 +4957,46 @@ align 4
|
||||
|
||||
syscall_cdaudio: ; CD
|
||||
|
||||
cmp eax, 4
|
||||
jb .audio
|
||||
jz .eject
|
||||
cmp eax, 5
|
||||
jnz .ret
|
||||
.load:
|
||||
call .reserve
|
||||
call LoadMedium
|
||||
call .free
|
||||
ret
|
||||
.eject:
|
||||
call .reserve
|
||||
call clear_CD_cache
|
||||
call allow_medium_removal
|
||||
call EjectMedium
|
||||
call .free
|
||||
ret
|
||||
.audio:
|
||||
call sys_cd_audio
|
||||
mov [esp+36],eax
|
||||
.ret:
|
||||
ret
|
||||
|
||||
.reserve:
|
||||
call reserve_cd
|
||||
mov eax, ebx
|
||||
shr eax, 1
|
||||
and eax, 1
|
||||
inc eax
|
||||
mov [ChannelNumber], eax
|
||||
mov eax, ebx
|
||||
and eax, 1
|
||||
mov [DiskNumber], eax
|
||||
call reserve_cd_channel
|
||||
inc ebx
|
||||
mov [cdpos], ebx
|
||||
ret
|
||||
.free:
|
||||
call free_cd_channel
|
||||
and [cd_status], 0
|
||||
ret
|
||||
|
||||
align 4
|
||||
|
@@ -55,48 +55,19 @@ still:
|
||||
|
||||
button:
|
||||
mcall 17 ; 17 - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
cmp ah,2
|
||||
jne b3
|
||||
mov dword [load_tray.name],cd0
|
||||
jmp b5.1
|
||||
b3:
|
||||
cmp ah,3
|
||||
jne b4
|
||||
mov dword [load_tray.name],cd1
|
||||
jmp b5.1
|
||||
b4:
|
||||
cmp ah,4
|
||||
jne b5
|
||||
mov dword [load_tray.name],cd2
|
||||
jmp b5.1
|
||||
b5:
|
||||
cmp ah,5
|
||||
jne b6
|
||||
mov dword [load_tray.name],cd3
|
||||
.1:
|
||||
mcall 70, load_tray
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2,3,4,5 - load tray CD0/CD1/CD2/CD3
|
||||
movzx ecx, ah
|
||||
sub ecx, 2
|
||||
cmp ecx, 3
|
||||
ja b6
|
||||
mcall 24,5
|
||||
jmp red
|
||||
b6:
|
||||
cmp ah,6
|
||||
jne b7
|
||||
mov dword [eject_tray.name],cd0
|
||||
jmp b9.1
|
||||
b7:
|
||||
cmp ah,7
|
||||
jne b8
|
||||
mov dword [eject_tray.name],cd1
|
||||
jmp b9.1
|
||||
b8:
|
||||
cmp ah,8
|
||||
jne b9
|
||||
mov dword [eject_tray.name],cd2
|
||||
jmp b9.1
|
||||
b9:
|
||||
cmp ah,9
|
||||
jne b1
|
||||
mov dword [eject_tray.name],cd3
|
||||
.1:
|
||||
mcall 70, eject_tray
|
||||
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6,7,8,9 - eject tray CD0/CD1/CD2/CD3
|
||||
sub ecx, 4
|
||||
cmp ecx, 3
|
||||
ja b1
|
||||
mcall 24,4
|
||||
jmp red
|
||||
b1:
|
||||
cmp ah, 1 ; <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1,
|
||||
@@ -160,27 +131,6 @@ header db ' ATAPI Device Tray Control',0
|
||||
text3 db 'eject eject eject eject',0
|
||||
text2 db 'load load load load',0
|
||||
text1 db '/cd0/ /cd1/ /cd2/ /cd3/',0
|
||||
cd0: db '/cd0/1/',0
|
||||
cd1: db '/cd1/1/',0
|
||||
cd2: db '/cd2/1/',0
|
||||
cd3: db '/cd3/1/',0
|
||||
;---------------------------------------------------------------------
|
||||
load_tray:
|
||||
.subfunction dd 11
|
||||
.rezerv dd 0
|
||||
.rezerv1 dd 0
|
||||
.rezerv2 dd 0
|
||||
.rezerv3 dd 0
|
||||
db 0
|
||||
.name: dd cd0
|
||||
|
||||
eject_tray:
|
||||
.subfunction dd 10
|
||||
.rezerv dd 0
|
||||
.rezerv1 dd 0
|
||||
.rezerv2 dd 0
|
||||
.rezerv3 dd 0
|
||||
db 0
|
||||
.name: dd cd0
|
||||
|
||||
I_END: ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
|
Reference in New Issue
Block a user