       _             __
  ____(_)__ _______ / /____ ____
 / __/ (_-</ __(_-</ __/ -_) __/
/_/ /_/___/\__/___/\__/\__/_/   

About
=====
Riscster is a RISC OS compatible client for Napster, the online mp3 music community.  The Napster community allows users to share mp3's directly, with the Napster server providing search and chat facilities.
It was based on gnap, a GPL'd linux client, although there isn't much gnap code left since gnap 'disagreed' with the cooperative multitasking of RISC OS.
It was started and mostly done over the Easter holidays before A-Levels, and probably shouldn't have been.

Riscster is available from http://riscster.iconbar.com

Support
=======
Riscster currently supports a subset of the Napster protocol which provides the basic functionality of logging in and downloading from other users.

Bugs
====
Yes, lots.  If you discover any then please either i. Download the source and fix them or ii. Tell me or someone else about them so they can fix them.
Various people have been very kind in giving up time to beta test this software, but unfortunately it is unlikely that every possible situation has been tested, with the internet being the unpredictable and complex monster that it is.


Requirements
============
RISC OS 3.1 or better (RISC OS 4 is recommended).
A RiscPC with StrongARM is required to play MP3's in real time.
An Acorn compatible TCP/IP stack must be running.


Basic Instructions
==================
Install by dragging both !Riscster and !MP3's to a convenient place.  !MP3's must be seen and in a read/write partition.
I'd recommend putting !MP3's somewhere where long filenames are supported, like a '+' formatted ADFS disc or perhaps RAFS if you don't have RISC OS <4, but of course you _do_ have RISC OS 4 don't you ;).
Double click !Riscster and click menu over the iconbar icon.  Select console to bring up the console if you wish to see exactly what Riscster is doing, then select Connect and fill in the relevant details to create a new account.
Click 'Connect' and then wait until the message of the day appears in the console and the search and disconnect options are ungreyed on the menu.
If the server is busy the login process may take a while.  If everything seems to lock up then you can try disconnecting and reconnecting.
To search for an mp3 enter the relevant details into the search window.  Set the maximum results to about 10 which should be plenty.
Choose an mp3 from the list which appears below and click menu over the most suitable, then click download in this window.  Hopefully after a short while, the progress bar should begin to climb.  You can download up to 5 files concurrently.  You can also download from users who are behind firewalls, something which most of the linux clients can't do and the Mac client didn't do until recently... see, who said RISC OS software is behind ;)

A StrongHelp manual is now available from the website.

Playing
=======
If you don't have a StrongARM you can use dmpa to convert the tracks to raw PCM so you can
play them on !PlaySound or !Player.
If you have a PC card it may be faster to use something like MPXPLAY on this to do the
conversion.  You might be able to play in real time, but I have a 5x86 and I can't manage
this.
If you have a StrongARM there are plenty of players available.

Compiling
=========
At the time of writing I use:
Archimedes GNU make 1.02
GCC 2.96 (prerelease 2)
!Clib 1.03
!Netlib
!OSLib 5.5


Porting
=======
proto.c should be fairly portable... if you replace the socket SWI calls with the relevant calls for your opearting system.  Lots of Napster client sources are available under the GPL, but Riscster may have a few advantages for people porting to non UNIX platforms.


Current TODO list
=================
Support 206 errors.
Support whois (603).
Respond to ping.
Browse users files.
Resumable downloads.
Implement file sharing.
Better error handling.
Resolve server rather than assuming IP.
Better documentation.

Not supported (yet)
=============
Sharing (i.e. uploading), you can only download ATM.
Operation behind a firewall.

Credits
=======
Coding, templates, general:
Rob Dimond (Drobe Software)

Testing:
Chris Egan 

Thanks:
Friendly people on c.s.a.programming, notably Mr. David Ruck.

The numerous unofficial documenters of the Napster protocol:
DrScholl
Ben Byer 
JT 
Evan Martin 
Colten Edwards

Ryan Dahl (author of gnap).
Colin Plumb (author of MD5 code used).
Josh Guilfoyle (author of gnapster). 
Nick Burrett (porter of GCC to RISC OS).

People who have sent me bug reports and fixes:
Chris Egan
Michael Barnes
PaulBell
Chris Morison
David Bryan

Disclaimer
==========
Napster Inc's official message is, at the time of release:

PLEASE NOTE: Napster, Inc. makes no representations or warranties regarding MP3 files possessed by Napster users.  Thousands of MP3 files have been authorised for distribution over the Internet by copyright owners; however, Napster users should understand that MP3 files may have been created without copyright owner authorisation.  Neither the MP3 file format not the Napster software indicates whether a particular MP3 file has been authorised for copying or distribution.  Copying or distributing unauthorised MP3 files may violate United States and/or foreign copyright laws.  Compliance with copyright law remains your responsibility.

I similarly disclaim responsibility for whatever use this software is put to.
It is YOUR responsibility to ensure that you have a legal right to anything that you download through Riscster.

I am not a 'piracy guru' and I don't condone ripping off the music industry.  The theory behind Riscster is... you can try listening to a track... and if you want it you go to a record shop and buy it!  Since getting Riscster working I have bought two albums that I wouldn't have thought of buying normally.

If you've already bought it on CD, then you may have a CDROM that doesn't support sampling (like I do), in which case if you want an mp3 to load onto your mp3 walkman, you need to download it.  Even if your CDROM does support sampling, with current RISC OS machines it's also probably quicker to download it than to compress it.
  

Licence (Whoo hoo it's GNU!)
=======

Napster client for RISC OS
Copyright (C) 2000 Robert Dimond

Portions are based on gnap by Ryan Dahl and public domain MD5 code is included 
written by Colin Plumb.

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

Robert Dimond, ISE Course, Imperial College, Department of Electrical & Electronic
Engineering, Exhibition Road, London.  SW7 2BT.


Please note the change in email address to robdimond@bigfoot.com which should
work while I'm at Uni as well.

You can also contact me on my academic email address at Imperial College, you are
likely to get a much faster response (checked at least once a day):

robert.dimond@ic.ac.uk

I want an Omega.







