Using the HP200LX to label Mini Discs

Helmut Lucke
This file describes how the HP100LX/HP200LX palmtop computers (hereafter simply HPLX) can be used as an MD titler by sending the apropriate IR codes to the MD recorder.

What you can do:

  1. Use the HPLX as an IR Titler much like the RMD10P for SONY MD decks.
  2. Send entire text files to the MD player. The first line becomes the title of the MD, each successive line becomes the title of a track.
  3. Make a database of all your recorded MDs as you record them. Then send an entry from the Database to the MD player for labelling.

What you need:



I find the MD database very convenient. Whenever I record an MD now, I type in the title and contents into the database while I am recording. I can do this leaning back on my couch without having to point the HPLX to the MD recorder. Then when recording is finished I "upload" the entire contents to the MD recorder. The labeling takes a bit of time (about 5 mins) partly because the program is implemented in an interpretive language, but mainly because the MD recorder won't accept IR codes at a tremendous speed anyway. The database allows me to keep track of what I have recorded. I can browse through my MD collection doing title searches etc, wherever I am (for example in a CD rental place).

I will explain how to do 1, 2 and 3 based on my SONY JA3ES recorder. I think with minor changes most MD recorders can be served. I will try to explain which parts are JA3ES specific and may need to be changed.

1. Using RC to emulate a remote control.

The RC program (written by Diomides Spinellis) allows you to record the IR codes of any remote control and bind them to keys on your HPLX. To do this follow the intructions that come with the RC package. Now you have a qwerty MD labeler much like the RMD10P for SONY recorders. However, depending on your MD recorder, you may not be able to bind lower-case letters to lower-case keys and upper-case letters to upper-case keys. This is the case, for example, for my JA3ES, because the remote can only send generic letters and you have to put the JA3ES into lower-case or upper-case mode before sending the characters. If you want to utilize upper and lower case characters in 2. and 3. and your MD recorder has a similar limitation you have to proceed as follows:

Make an RC program which looks something like this (You are welcome to use mine, but be prepared to rerecord the IR sequences, because I changed the chrystal in my HP200LX):

define main
  key 0x1b exit             ; ESC key, terminates RC
  key '_ call pause
  key 'a call a
  key 'b call b
  key 'c call c
  key 'd call d
  key 'e call e
  key 'A call A
  key 'B call B
  key 'C call C
  key 'D call D
  key 'E call E

define a
  send "xxxxxxxxxxxx"       ;- code for generic 'a'

define b
  send "xxxxxxxxxxxx"       ;- code for generic 'b'

define A 
  call shift
  call pause
  call a
  call pause
  call shift

define B 
  call shift
  call pause
  call b
  call pause
  call shift


define shift
  send "xxxxxxxxxxxx"       ;- code to switch between upper and lower
end                                  case mode

define pause
  send "xxxxxxxxxxxx"       ;- bogus codes to cause delay
  send "xxxxxxxxxxxx" 
  send "xxxxxxxxxxxx"
  cls                       ; Clear the screen a few times
  cls                       ; to cause further delay

Whereever there is "xxxxxx" above, you have to substitute the IR codes you recorded from your remote. The ones in the pause subroutine are bogus ones to cause a delay. I used the codes for the Yamaha CD player that are included in the RC package. They have no effect on my SONY recorder. It would be much nicer if there was a command to tell RC to pause for a certain number of milliseconds. But since this doesn't exist, we have to do it the hacky way.

Now when we press 'a' we get an 'a' and when we press 'A' we get an 'A'. (Assuming that the MD recorder is in lower-case mode to start with.)

Note that the above is not necessary for MD recorders that accept separate IR codes for upper and lower case letters. This is, for example, the case for all SONY MD decks that accept the RMD10P remote labeller.

2. Using LXBatch to send an entire textfile to the MD.

After having configured RC, the rest is relatively easy. To send an entire textfile I use a little program written in LXBatch. It works by pushing the necessary keys into the keyboard buffer of the HPLX and then calling RC to send the keys to the MD. I called it mdlbl.lxb :

------ mdlbl.lxb -------------

openread 1 c:\md.txt          ; md.txt contains the data to be sent
                              ; we open it for reading
read 1 *string                ; read one line
checkeof 1
if errorlevel 1 goto close
gosub sendstring              ; and send it to the MD recorder
goto mainloop

stuffkey 0 13                 ; 13 is the [ENTER] key which is bound 
                              ; to the "Name-in" function
stuffkey 0 95                 ; This is "_" key, which calls PAUSE
stuffkey 0 9                  ; TAB key, calls SHIFT to put MD
                              ; recorder into lower-case mode
stuffkey 0 95                 ; another pause
set *i 1
strlen *len @string@
:loop                         ; loop through all characters of string
if @i@ > @len@ goto endloop
strmid *c @i@ 1 @string@      ; get i'th character
stuffstring "@c@"             ; stuff it into the KB buffer as well
stuffkey 0 27                 ; ESC key, causes RC to terminate and
                              ; give control back to LXBatch
c:\bin\rc  c:\ja3es.rc        ; call RC and process all the keys in
                              ; the keyboard buffer so far
CheckKey                      ; keyboard buffer should be empty now. 
if errorlevel 1 goto abort    ; if not, user has pressed a key, abort
calc *i @i@ + 1
goto loop
:endloop                      ; finish off the line
stuffkey 0 13                 ; send "Name-in" again to put Recorder
                              ; into stand-by mode
stuffkey 0 95                 ; pause
stuffkey 80 0                 ; This is the down-arrow key which is
                              ; bound to "Next Track"  ( >> )
                              ; This will advance us to the first
                              ; track, if we were labeling the title
                              ; of the MD or any successive track
stuffkey 0 27                 ; ESC, terminate RC
c:\bin\rc c:\ja3es.rc         ; process keyboard buffer

getkey *c
close 1

---------------END  mdlbl.lxb -------------------


3. Use within the HPLX database application

By far the most convenient way to utilize the above is by creating an MD database, using the build-in Database application. You can create an entry for each MD that you record. Each entry should contain the name of the artist, the title of the MD and the title of each track. I've also added some other useful information, such as the date of recording, the length of the recording, the remaining free space and the music category. The scanned-in cover of the CD is a bit of extravaganca that I treated myself to lately. To do the same, you need a program called iPeX by Brahma.

Here is a database template that you can use to get started. It includes several SmartClips. The one I use most often is called "with artist" and copies the following information onto the clipboard:

[artist]: [title]
[track 1]
[track 2]

You can change these or define your own as you like. Remember, the first line will become the title of the MD, each successive one the title of a track. Selecting a SmartClip will put the information onto the clipboard, but the LXBatch program needs it inside a textfile. To save the clipboard as a textfile I use the following keyboard macro:

which I put on Fn-F1 (Function F1).

So what do I do when I want to label an MD? First, I select the apropriate entry in the MD Database and press F5 (Clip). This will display a choice of SmartClips. I select the one I want (e.g. "with artist") and press Fn-F1. This will copy the data onto the clipboard in the format specified by the Clip, then call Memo, paste the info, save it under the name c:\md.txt and quit Memo. Now the data sits in MD.txt ready to be sent to the MD recorder by the LXBatch program described above.


If you have any comments about this method, or if you know a more elegant approach (especially a better way to control timing in RC), please, let me know. I have also started an archive of LXBatch and RC control files . If you have any interesting ones, please contribute them.

Finally ...

Since I don't want to get into the Palmtop's way while it is uploading a file, I designed an IR router out of an old beer can.
NOTE: This page is formatted for use with HV the HTML viewer for the HP200LX.
Last modified: August 26, 1997

Return to the Mini Disc Home Page.