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><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><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. ==============
|
============== <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> <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>ந<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> <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>. =
|
= <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><><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> <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>. ==
|
=== <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
|
* Previously CD base port must be defined by call to
|
||||||
subfunction 3 of function 21.
|
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. ==================
|
=================== Function 25 - set SBPro volume. ==================
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -4077,7 +4105,7 @@ For CD-drives due to hardware limitations only subfunctions
|
|||||||
with code 2.
|
with code 2.
|
||||||
At the first call subfunctions 0,1,5,7 to devices ATAPI (CD and DVD) the locking
|
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
|
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.
|
to the appropriate device.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
@@ -4433,64 +4461,6 @@ Remarks:
|
|||||||
* The parent folder must already exist.
|
* The parent folder must already exist.
|
||||||
* If target folder already exists, function returns success (eax=0).
|
* 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. ==========
|
========== Function 71, subfunction 1 - set window caption. ==========
|
||||||
======================================================================
|
======================================================================
|
||||||
|
@@ -388,8 +388,6 @@ fs_RamdiskServices:
|
|||||||
dd 0
|
dd 0
|
||||||
dd fs_RamdiskDelete
|
dd fs_RamdiskDelete
|
||||||
dd fs_RamdiskCreateFolder
|
dd fs_RamdiskCreateFolder
|
||||||
dd fs_NotImplemented
|
|
||||||
dd fs_NotImplemented
|
|
||||||
fs_NumRamdiskServices = ($ - fs_RamdiskServices)/4
|
fs_NumRamdiskServices = ($ - fs_RamdiskServices)/4
|
||||||
|
|
||||||
fs_OnFloppy:
|
fs_OnFloppy:
|
||||||
@@ -421,8 +419,6 @@ fs_FloppyServices:
|
|||||||
dd 0
|
dd 0
|
||||||
dd fs_FloppyDelete
|
dd fs_FloppyDelete
|
||||||
dd fs_FloppyCreateFolder
|
dd fs_FloppyCreateFolder
|
||||||
dd fs_NotImplemented
|
|
||||||
dd fs_NotImplemented
|
|
||||||
fs_NumFloppyServices = ($ - fs_FloppyServices)/4
|
fs_NumFloppyServices = ($ - fs_FloppyServices)/4
|
||||||
|
|
||||||
fs_OnHd0:
|
fs_OnHd0:
|
||||||
@@ -496,8 +492,6 @@ fs_HdServices:
|
|||||||
dd 0
|
dd 0
|
||||||
dd fs_HdDelete
|
dd fs_HdDelete
|
||||||
dd fs_HdCreateFolder
|
dd fs_HdCreateFolder
|
||||||
dd fs_NotImplemented
|
|
||||||
dd fs_NotImplemented
|
|
||||||
fs_NumHdServices = ($ - fs_HdServices)/4
|
fs_NumHdServices = ($ - fs_HdServices)/4
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
@@ -579,8 +573,6 @@ fs_CdServices:
|
|||||||
dd 0
|
dd 0
|
||||||
dd fs_NotImplemented
|
dd fs_NotImplemented
|
||||||
dd fs_NotImplemented
|
dd fs_NotImplemented
|
||||||
dd fs_EjectDeviceTray
|
|
||||||
dd fs_LoadDeviceTray
|
|
||||||
fs_NumCdServices = ($ - fs_CdServices)/4
|
fs_NumCdServices = ($ - fs_CdServices)/4
|
||||||
|
|
||||||
;*******************************************************
|
;*******************************************************
|
||||||
|
@@ -489,17 +489,6 @@ fs_CdGetFileInfo:
|
|||||||
pop edi
|
pop edi
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
;----------------------------------------------------------------
|
|
||||||
fs_EjectDeviceTray:
|
|
||||||
call clear_CD_cache
|
|
||||||
call allow_medium_removal
|
|
||||||
call EjectMedium
|
|
||||||
ret
|
|
||||||
;----------------------------------------------------------------
|
|
||||||
fs_LoadDeviceTray:
|
|
||||||
call LoadMedium
|
|
||||||
ret
|
|
||||||
;----------------------------------------------------------------
|
|
||||||
|
|
||||||
cd_find_lfn:
|
cd_find_lfn:
|
||||||
mov [cd_appl_data],0
|
mov [cd_appl_data],0
|
||||||
|
@@ -4957,8 +4957,46 @@ align 4
|
|||||||
|
|
||||||
syscall_cdaudio: ; CD
|
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
|
call sys_cd_audio
|
||||||
mov [esp+36],eax
|
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
|
ret
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
|
@@ -55,48 +55,19 @@ still:
|
|||||||
|
|
||||||
button:
|
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>
|
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
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 2,3,4,5 - load tray CD0/CD1/CD2/CD3
|
||||||
jne b3
|
movzx ecx, ah
|
||||||
mov dword [load_tray.name],cd0
|
sub ecx, 2
|
||||||
jmp b5.1
|
cmp ecx, 3
|
||||||
b3:
|
ja b6
|
||||||
cmp ah,3
|
mcall 24,5
|
||||||
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
|
|
||||||
jmp red
|
jmp red
|
||||||
b6:
|
b6:
|
||||||
cmp ah,6
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 6,7,8,9 - eject tray CD0/CD1/CD2/CD3
|
||||||
jne b7
|
sub ecx, 4
|
||||||
mov dword [eject_tray.name],cd0
|
cmp ecx, 3
|
||||||
jmp b9.1
|
ja b1
|
||||||
b7:
|
mcall 24,4
|
||||||
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
|
|
||||||
jmp red
|
jmp red
|
||||||
b1:
|
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,
|
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
|
text3 db 'eject eject eject eject',0
|
||||||
text2 db 'load load load load',0
|
text2 db 'load load load load',0
|
||||||
text1 db '/cd0/ /cd1/ /cd2/ /cd3/',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>
|
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