Player initialisation/detection
This describes how the NEX is deteted and initilised.
Basic sequence
To initialise the player, a sequence of bytes are sent to and receved from the
player. The sequence is:
- 0x0C0 sent through the 08 method
- The low bye of the result is read
- 0x0D0 sent through the 08 method
- 0x085 sent through the 02 method
- 0x0D0 sent through the 08 method
- 0x080 sent through the 02 method
- 0x0C8 sent through the 08 method
- The high bye of the result is read
The low nibble of the high byte of the result is 0x0F
if successful. Any other value represents failure. The low byte of the result is
the status code, with 0x055 representing "OK".
function InitPlayer1 : word; // 00409F30
var
TmpByte : byte;
begin
SendByte08($C0);
TmpByte := RecvByte02;
SendByte08($D0);
SendByte02($85);
SendByte08($D0);
SendByte02($80);
SendByte08($C8);
Result := (RecvByte02 shl 8) or (TmpByte);
end;