2008, January 9th

**************************************************
MyPSP Robotics v.5.2.1 

- On hardware control :
...

- Software implementation :
--> Bugs removing! (RAM Space shortage)
--> MyVVoIP set up for FULL Duplex 
--> MyVoice with new Voice set-up
--> Stand Alone Modules for Fat and Slim MyVVoIP, MyEye, MyTAlk
**************************************************


Attention, please,

**************************************************
Tested on 3.72 HX - 2 
**************************************************
PURPOSE OF THE PROOF of CONCEPT HOMEBREW MyPSP

A new version of the "Proof of concept" homebrew for Robotics under 3.xx custom firmware under Fat or S&L
has at least a double purpose:
- check full control of hardware and software and pspsdk libraries under 3.xx CF on both Fat and S&L 
- setting-up and running basic features for robotics application on PSP
**************************************************

**************************************************
MyPSP Robotics v.5.2.0 

- On hardware control :
...

- Software implementation :
--> Bugs removing! (RAM Space shortage)
--> MyVVoIP set up for FULL Duplex 
**************************************************

**************************************************
LAST UPDATE v.5.1.0 with MyTalk - Voice Speech Recognition via GoCam and Socom microphones.

- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
--> Bugs removing! (RAM Space shortage)
--> Implementation of Voice Speech Recognition by porting of Pocketsphinx, source code from 
http://www.speech.cs.cmu.edu/pocketsphinx/. 
English language.
**************************************************


**************************************************
LAST UPDATE VERS: 4.5.4 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
--> Intel OpenCV Libraries more image processing and recognition exmamples
--> PCA for face recognition from faces database
--> GOCR Optical Character Recognition
--> SIFT Scale Invariant Features 
**************************************************


**************************************************
LAST UPDATE VERS: 4.4.0 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
--> Intel OpenCV Libraries fully ported under cf 3.xx for 
Image Processing and Image Recognition 
**************************************************



**************************************************
NEXT UPDATE VERS: x.x.1 - INTRODUCTION
CHANGELOG:
- Software implementation :

MyPSP Walkie Talkie 
--> two ways Video & Audio continuous flow in real time between 2 PSPs

MyAI OpenMind
--> ADD and ANALYZE function to Data base
**************************************************

**************************************************
UPDATE VERS: 4.3.0 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
--> OpenMind Knowledge Base implementation (130.000 istances)
**************************************************


**************************************************
UPDATE VERS: 4.2.3 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
MyPSP Walkie Talkie 
--> Adhoc or Access Point trx/rx
--> Continuous in real time flow
--> From Server to Client (at present)
--> Only Audio input and buffer txr/rx
--> Only Video frames trx/rx
--> Audio & Video both in one trx/rx
--> Two ways Audio Walkie Talkie

**************************************************

**************************************************
UPDATE VERS: 4.2.2 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Some bugs removed
--> Improvements
--> Enhancements

- Software implementation :
--> Access Point connection added among PSPs for Audio trasmission from Server to Client 
--> Access Point connection added among PSPs for Video frames (160x120) trasmission from Server to Client
both RGB (76800 bytes per frame) and monochromatic (19200 bytes per frame)
--> IP Address of PSP Client could be modified from pre-set 192.168.1.22 
**************************************************

**************************************************
UPDATE VERS: 4.2.1 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Variuos corrections

- Software implementation :
--> Adhoc connection between 2 PSPs for Audio trasmission from Server to Client 
------> 5125 hz of audio trasmission for faster results: using both Socom or GoCam Microphones
--> Adhoc connection between 2 PSPs for Video frames (160x120) trasmission from Server to Client 
------> 160x120 of video frame trasmission for faster results
**************************************************

**************************************************
UPDATE VERS: 4.2 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Improvements on Audio input from headphone set (socom type, with remote controller)
--> Improvements on Video management
--> Variuos corrections

- Software implementation :
--> Adhoc connection between 2 PSPs for Audio trasmission from Server to Client 
------> 5125 hz of audio trasmission for faster results
--> Adhoc connection between 2 PSPs for Video frames (160x120) trasmission from Server to Client 
------> 160x120 of video frame trasmission for faster results
**************************************************
**************************************************
UPDATE VERS: 4.1 - INTRODUCTION
CHANGELOG:
- Software implementation :
--> Correction of Audio Input from headphone set (socom type, with remote controller) 
**************************************************
LAST VERS. 4 - INTRODUCTION
CHANGELOG:
- On hardware control :
--> Audio input from headphone set (socom type, with remote controller)
--> Remote Controller keys check

- Software implementation :
--> Audio input loop and playback output loop from Audio Mechanica 
--> On Screen Keyboard $0NY 

WARNING: 
for RAM space semplification (Audio mechanica was using a 22Mb buffer and 44100 hz of audio sample rate)
MyPSP is using for this "proof of concept" lower audio quality at 5125 hz and 0.5 Mb of buffer.
A full version of Audio mechanica ported to User Mode and 3.xx is also available with full features.

**************************************************
**************************************************
PREVIOUS VERS. 3 - INTRODUCTION
This version 3 of tests presents the following new features:

CHANGELOG: 
- On hardware control : 
--> Display brightness control 
--> Audio Volume control 
--> System infor on RAM Partitions on Fat and S&L 
--> Active modules while running 
--> Active threads while running 

- Software implementation: 
--> first working test of a Knowledge Data Base for dialog with voice realized using SQLite3
from OpenMind data base model, which is an experiment of "Common sense knowledge data base" for
Artficial Intelligence computerized applications. 

Here following links for anybody would like to go deeply into features for a "PSP knlowledge data base": 
OPENMIND SITE: http://www.openmind.org/ 
EXAMPLE of MS-ACCESS OPENMIND KNOWLEDGE DATA BASE: http://rapidshare.com/files/63895601/OpenMind.ZIP.html 
SQLITE SITE: http://www.sqlite.org/ 
PSPSDK SQLITE3 LIBRARY: svn.ps2dev.org/psp/trunk/sqlite 
BROWSER SQLITE FOR PC: 
http://rapidshare.com/files/63894809/sqlitebrowser-1.3-win.zip.html 

OpenMind data base according to me could be well implemented on PSP with the voice output for creating dialogs:
from key words, PSP could exstract from the OpenMind database some istances for discussion.
Flite Text To Speech is already been implemented, even if the voice could be still improved: work is in progress.
Il Text to Speech Flite implementato su PSP e' gi integrato. 

A missing component is PocketShpinx for speech recognition from an audio input 
like socom microphone or USB GoCam/Talkman microphone.
When Pocket sphinx will be implemented on PSP, an open dialog could be realized between users and PSP with Openmind 
knowledge....
Similar applications were implemented on PC, have a look to this old DOS program (you could run it on PSP under DOSBOX):
http://www.download-full-games.com/pc/utilities/dr._sbaitso.html 

**************************************************

INSTALLATIION:
- Copy EBBOT.PBP, Folder PRX, Folder SQLite3 and Folder FONT into ms0:/PSP/GAME371/MyPSP folder on both S&L or Flat PSP

BEFORE RUNNING:
- Some firmware PRX are required from the firmware and they are loaded only from memory stick, not from flash0. 
Let copy by hand (without deleting them from flash0) the following prx's from flash0:/kd/ or dumped version of the 3.71 
firmware to the folder ms0:/PSP/GAME371/MyPSP/prx:

-> idstorage.prx 
-> semawm.prx
-> usbacc.prx
-> usbgps.prx
-> usbstor.prx
-> usbstorboot.prx
-> usbstormgr.prx
-> usbstorms.prx

the following prx's are already zipped into MyPSP/prx/ folder:

-> MyPRX.prx a test of call to an external 1.50 kernel mode prx
-> display.prx for controlling brightness
-> idstorage.prx for motherboard type detection
-> pspremoteprx.prx for controlling SIO port
-> MyRAMPRX.prx for checking RAM Partitions

File property of these prx's should be read/write/non-system.

Errors will be rised if these prx's are not present in ./prx/ folder and program flows could be impredictable.

Nothing should damage PSP or flash, of course.

FULL BASIC FEATURES:
A sequence of tests and system information messages are displayed.

	check_installation();

	SOFTWARE SAMPLES:

[NEW]	run_Austreaming();		/* Audio Walkie Talkie between 2 PSPs with adhoc connection
[NEW]	run_Vistreaming();		/* Video frames transmitted from PSP Server to PSP Client using adhoc connection
[NEW]	run_ViAustreaming();		/* Video and Audio Walkie Talkie between 2 PSPs with adhoc connection
[NEW] MyEye();                      /* OpenCV 4 examples for Image processing 
[NEW]	check_openmind();			/* Openmind knowledge database for Aritificial Intelligence applications
[NEW] MyAI;                         /* OpenMind Knowledge Data Base fully ported to SQLLite3

	HARDWARE SAMPLES of CONTROL

	LoadGPSModules();
	LoadSIOModule();

	system_introduction();		/* system information
	check_mobo_keys();		/* detects motherboard and show test on keys
	power_introduction();		/* power information
	check_system();
	check_brightness();
	test_freetype(); 			/* load and show comic and times fonts 
	power_led();			/* doesn't work properly swithing on and off leds
	from_prx();				/* test of call to a 1.50 external prx
	check_ms0();			/* check memory stick inserted or not (try to eject it when shown the menu)
	run_usbstorage();			/* existing usb cable and activate or disactivate usb (ms0)
	check_directory();		/* check existing directories example
	check_thread_status();		/* show thread status information
	check_UMD();			/* check presence of UMD (try to insert and eject it when menu is displayed)
	hprm_port_check();		/* check if headset and/or remote controller are in or not
	if (kuKernelGetModel() != PSP_MODEL_SLIM_AND_LITE)
	{
		IRKeyboard_init();	/* only for Fat PSP IR Keyboard test
	}
	check_osk();			/* Sony On Screen Keyboard Input
	sio_init();				/* Sio input test
	play_sound();			/* output of wavegen sound
	audio_input();			/* audio input 5125hz, 47 sec, 0.5Mb wav reel
	network_introduction();		/* Network connection info set up on PSP
	run_lan_scan();			/* execute a WiFi Lan Scanning and show details
	run_server();			/* run a server listening: try from PC or from another PSP with Client
	run_client();			/* run a client on PSP calling 192.168.1.22 IP server 
	run_FTPserver();			/* run a FTP server on a PSP
	run_FTPquery();			/* CURL calling an ftp server at address ftp://MyPSP:pspftp@192.168.1.22:21
	run_FTPclient();			/* run a FTP client calling an FTP server ftp://MyPSP:pspftp@192.168.1.22:21 with commands
	run_HTTPclient();			/* CURL calling "www.google.com" to resolve( doeesn't work on ADSL access point)
	run_WEBGETclient();		/* example of Getting an html page ASCII text from the web with CURL
	check_resolver();			/* Resolver of a web URL under 3.xx
	run_adhoc();			/* run a client or a server to be connected or to be called by another PSP
	run_gocam();			/* run cam video from Go!Cam and takes pictures saving them to ms0
	run_gocammic();			/* run microphone from Go!Cam or Talkman and save audio recording to ms=
	run_gps();				/* run a test on a GPS 290
	run_3Dengine();			/* show a 3D example of surface, volume, curve with texture, light etc...
	check_sqlite();			/* Test of using a Data Base SQL

Instructions and help are on the display step by step.

Thanks for attention
