Back to files
README This file
rio.txt Protocol information
std.h standard defines
binary.h defines for binary numbers from 0-255
rioioctl.h ioctl constants used for WinNT version
rio.h rio class header
rio.cpp rio class
app.cpp utility which uses rio class
playlist.txt example playlist file
makefile linux makefile
winnt.mak MSVC++ v5.0 makefile for WinNT v4
win9x.mak MSVC++ v5.0 makefile for Win9x
dos.mak Borland Turbo C++ v1.01 for DOS
'rio' is a simple command line utility which allows
you to display and manage files on your Diamond Rio
portable music player.
At present the Rio utility supports the Diamond Rio PMP300
with 32M internal flash memory.
Additional external flash memory is now supported thanks to
the work done by Guido March (march@pc40.mpier.uni-frankfurt.de).
command line switches available :-
-d display directory
-iy initialize with check for bad blocks
-in initialize without check for bad blocks
-x perform operations on external flash ram
-u specify file to upload
-g specify file to download
-f specify text based playlist file which contains files to be upload
-z specify file to delete
-za delete all files
-o specify new playlist order in quotes
-p specify parallel port base IO address, default=0x378
-v enable verbose mode
examples...
; display directory using parallel port at 0x278
rio -p 0x278 -d
; initialize (with bad block check) and upload file
rio -iy -u song.mp3
; delete existing files and upload playlist onto external flash ram
rio -za -f playlist.txt -x
; initialize, upload files in playlist and then display directory
rio -d -in -f playlist.txt
; download file then delete it and finally display directory
rio -d -g mp3Files/song.mp3 -z song.mp3
; reverse playlist order and then display directory
rio -o "5 4 3 2 1" -d
Initialization should only be performed on new or corrupt cards.
You can initialize with bad block checking enabled (-iy) which
will test all blocks on the internal or external flash ram (which
ever is selected) and note all bad blocks. This process will
take some time (upto 20 minutes on slow machines).
You can also initialize with bad block checking disabled (-in)
which is much quicker but all blocks (even bad blocks) will
be used.
If you want to delete all files on the device, the (-za) option
should be used instead of using the initialization options
mentioned above.
To build and run the application you must be
logged on as root, then use 'make'.
(rio utility has been built and tested
using gcc compiler v2.7.2.3 under Linux v2.0.34)
Use 'nmake /fwinnt.mak'.
(rio utility has been built and tested using
MS Visual C++ compiler v5 under
Windows Workstation NT 4.0)
Use 'nmake /fwin9x.mak'.
(rio utility has been built and tested
using MS Visual C++ compiler v5 under Windows 98)
Use 'make -fdos.mak'
(rio utility has been built and tested
using Borland Turbo C++ v1.01 under DOS v6.22 and
Windows 98).
Because of the difference in timings between different machines
it is possible that you may experience problems when downloading
and displaying the directory.
If you encounter this problem try one or both of the following...
Try doubling the value of IODELAY_1 and/or IODELAY_2
#define's in mpm.cpp. This will only increase the time
it takes to download and will not have an effect on
file upload times.
Use the utility when the device is powered on as this
seems to improve IO performance.
If you encounter any problems using this utility please send
e-mail outlining the problem along with details about your
Rio (memory installed, memory remaining and tracks loaded) to...
sba@tessier-ashpool.cix.co.uk