48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
|
Notes on conversion from win3.1 to NT.
|
||
|
======================================
|
||
|
|
||
|
1. Change from MSCDEX to NT CDRom driver IOCTLs.
|
||
|
|
||
|
-- Driver sharing capabilities (??) - does the driver allow anything ?
|
||
|
-- Drive labelling (config stuff too).
|
||
|
|
||
|
|
||
|
Problems :
|
||
|
|
||
|
Apparently no SCSI-2 command to tell if the tray is open.
|
||
|
|
||
|
For now the only conditions we detect are the PLAY_STATUS conditions
|
||
|
and inability to read the TOC. We only read the TOC when asked to
|
||
|
by CdReady or CdGetNumTracks.
|
||
|
|
||
|
2. Device sharing implications ??
|
||
|
|
||
|
Seems at the moment that ANYONE can open CDRom (is it exclusive ?).
|
||
|
|
||
|
The MCICDA on windows allows sharing between apps. This means we
|
||
|
need a server implementation or a kernel driver or just proper
|
||
|
sharing access in the kernel driver (what should be access required
|
||
|
for playing CDs ?).
|
||
|
|
||
|
3. Beware track numbering problems - is there always a 1 ?
|
||
|
|
||
|
4. PAUSE-RESUME. This is effectively NOOPED (or at least the RESUME is).
|
||
|
So PAUSE always stops.
|
||
|
|
||
|
Underneath in MSCDEX the thing they're fighting is that PAUSE while
|
||
|
PAUSEd STOPs (ie forgets its PAUSED). Also MSCDEX calls PAUSE
|
||
|
STOP.
|
||
|
|
||
|
In NT to STOP we ... ?
|
||
|
|
||
|
|
||
|
5. A BASIC problem with the way all this stuff is written is that
|
||
|
it's written by people all the way over to CDEX land.
|
||
|
The devices report status AFTER they've tried to do what you want.
|
||
|
This helps greatly with integrity. The code is written with all
|
||
|
kinds of defensive test BEFORE issuing a command which is pretty
|
||
|
bogus.
|
||
|
|
||
|
6. flip3, flip4 etc. Change these to portable versions where necessary.
|
||
|
(flip4 seems OK and fits in with other poor implementations).
|