# @(#) sony.dat 1.1 1992-01-14
# John H. DuBois III 1991-12-21

name=Sony CD Player Remote RM-D505

# Sony remote sensor works well with a transmitter rate of 1600
# transitions/sec

# carrier is the carrier frequency required, in Hz.
# This information may be used by a driver that has access to more than
# one transmitter, or with a system that can set the transmitter frequency.
carrier=40000

# cd player needs power for ~380 mS before it will accept remote commands

# Transmitter codes are given as a string of 1s and 0s in the function code
# table.  The actual IR pulse codes emitted for each 1 and 0 are given by the
# value that "one" and "zero" are set to.  Each character of the values of 
# "one" and "zero" indicates whether the 40 kHz IR transmitter is on for a unit
# of time.  The duration of the unit of time represented by each character of
# the values of "one" and "zero" is given by the value of "cycles".

# cycles is the number of 40 kHz cycles (25 uS periods) represented by each
# character in the definitions of "one" and "zero".
cycles=24

# repeat is the number of times the code should be sent
repeat=2

# pause is the length of time to wait between code repeats.
# It is given in the units given by the definition of "cycles"
# instead of in mS so that equipment that requires a very short
# pause can be accommodated.
pause=41

# sleep is the length of time to wait between sending different codes, 
# in milliseconds
# Actual minimum measured at 60 mS
sleep=100

# zero and one describe the waveform used to transmit a zero and one as given
# in the function table.  A '~' represents a period of tranmitter "on" time,
# during which time the emitter will be modulated by a 40 kHz square wave.
# For each '~', <cycles> IR pulses will be transmitted.  A '_' (underscore)
# represents a period of transmitter "off" time.  The period is given by the
# value of cycles.  
zero=~_
one=~~_

# start and stop give start and stop codes, if any, that cannot be described
# using ones and zeros as used in the function table and so cannot be given
# as prefixes and suffixes.
# start and stop are given in the same representation as zero and one.
# start and stop are the first and last codes transmitted (they are sent
# before and after prefix and suffix, respectively).
start=~~~~_
stop=

# prefix and suffix give the standard preamble and postamble, if any,
# that come immediately before and after the function code.
# Prefix and suffix are given in the same representation as function codes.
prefix=
suffix=10001

component=cd

# Remote functions are given as a line of tab-separated fields:
# Code	Key	Word	Label	Vars	Description
# Code is given as a string of 0's and 1's whose meaning is
# in turn given by the definitions of "zero" and "one".
# Remote is the name of the remote that this function is for.
# Key and Word are the key and word that can be used to send this code.
# If Word is a single character, it should be the same as Key.
# Label is the label to put on a button representation of this function.
# Variable assignments that should only have effect for one function
# are given in the Vars field.
# Description is a description of what this function does.
# Any further fields are appended to Description preceded by a newline.
# A function line can be extended onto multiple lines by beginning the
# extension lines with a tab.
# The tab is included in the value, so a field boundary always exists
# between extention lines.

#Code	Key	Word	Label	Vars	Description
1111100	P	program	program	*
	Select programmed selection play/enter selection in program.
	To use the program feature, send program, then disk n/disk skip to get 
	to a disk, then last/next selection to get to a selection, then 
	program to enter the selection in the program.  Repeat to enter more 
	selections.  To select an entire disk, send program immediately after 
	selecting a disk.  The program can contain up to 32 selections 
	(selection of an entire disk counts as a single selection).  The 
	program is cleared by using stop, or by selecting another play mode, 
	or by pressing the tray eject button, or if power is turned off.
1010110	s	shuffle	shuffle	*
	Select shuffle play, then select one/all disk play
cd:continue,shuffle	a	shufall	shuffle all	*
	Shuffle-play all disks
cd:continue,shuffle,shuffle	S	shufone	shuffle one	*
	Shuffle-play a single disk
1011100	c	continue	continue	*
	Select continuous (unshuffled) play, then select one/all disk play
cd:shuffle,continue	A	contall	continuous all	*
	Play all disks in continuous (unshuffled) mode
cd:shuffle,continue,continue	C	contone	continuous one	*
	Play a single disk in continuous (unshuffled) mode
0001010	t	time	time	*
	Display time: elapsed in sel/remaining in sel/remaining on disk
0011010	r	repeat	repeat	*
	Continuously repeat selections in current mode/cancel repeat
0000001	1	1	disk 1	*	Go to disk 1
1000001	2	2	disk 2	*	Go to disk 2
0100001	3	3	disk 3	*	Go to disk 3
1100001	4	4	disk 4	*	Go to disk 4
0010001	5	5	disk 5	*	Go to disk 5
0111110	+	skip	disk skip	*	Go to next disk
0100110	p	play	play	*	Play disk
1111101	f	fade	fader	*	Fade out & pause/Unpause & fade in
1001110	"	pause	pause	*	Pause/Unpause
0000110	l	last	last selection		*
	Start of current selection, or prior selection
1000110	n	next	next selection		*
	Start of next selection (random in shuffle mode)
0001110	.	stop	stop		*
	Stop playing/Delete selection from program
1100110	<	reverse	reverse	*	Reverse search
0010110	>	forward	fast forward	*	Forward search