KCEJ CD/DVD MANAGER (cdbios)

	$Id: readme.txt,v 1.4 2001/01/12 06:26:06 usr01475 Exp $



SCEcdvdmanȤäCD/DVD꡼ɥ饤֥ꡣ

EE¦sceCdϤδؿ󥯤ʤ

IOP¦32*2Υ֥Хåեݡ

EEž롣

IOP¦ΥơϤĤͤEE¦ž



Ǥեž˳ߤ򤪤ȤǤ롣



٥Υ饤֥ŰƤ뤿ᡢEE¦Υåʤɤ

ƤӽФ¦Ȥ뤳Ȥ



--- 2000/01/12 ɲ HDб ---



Ťϡɥǥ䳫ȯĶǤHDΥȥ꡼б뤿ᡢ

openϤδؿȤäǡɤ߹ߤ򥵥ݡȤ롣



EEƱ󥿡եǸƤӽФ褦ˤ뤿ᡢ

ֹλĥ

((եID)<<24)|(ƬΥñ̤Υեå)

ǡեIDλCD顢ʳλϥե뤫ɤߤ褦ˤ롣

äơեκ祵0x00FFFFFF*2048=32G¡



cdbios_get_fileposǡƬcdrom0:ʳξ硢

Υե̾IOP¦Ͽơ((եID)<<24)֤ͤȤ

EEƱνǤ褦ˤ롣եIDϣϤޤEE¦

ˤɬפϤʤ



ɤ߹߳ϻ˥ե򥪡ץ󤷤ʤ

®٤꤬褦ʤ饪ץ󤷤äѤʤ⸡Ƥ롣



------------------------------



ե빽



cdbios.c		; IOPץ

entry.o			; IOPΥȥ롼(tbl)

cdbios_ee.c		; EEθƽФ롼

cdbios.tbl		; IOPθƽФȥ



EE¦鸫󥿡ե



// 



typedef struct {

	int pos;			// ߤɤ߼

	void *ee_buffer;	// EE¦ɤ߹ߥХåե

	int read_size;		// Τɤ߼ꥵ

	int	intr_size;		// ߤγߥ(-1:ߤʤ)

	int total_size;		// λ

} CDBIOS_READ_STATUS;



// ¦



--------------------------------------------------------------

void cdbios_init( void );



IOPץ̿ƥνԤʤɬǽ˸ƤӽФȡ



--------------------------------------------------------------

int cdbios_get_status( void );



IOPץΥơ򤨤롣ɥ֤ʤ飰



--------------------------------------------------------------

int cdbios_get_read_size( void );



꡼˿ʹԾ롣

ɤ߼괰λХñ̤֤

	int cdbios_get_read_remain( void );()



--------------------------------------------------------------

void cdbios_read( void *buffer, int pos, int size );



bufferˡposΥsizeХɤ߹ࡣ

Ʊ˼¹ԤԤʤ

ɤ߹߽λ cdbios_get_status()ˤʤ뤳ȤǼǤ롣

顼ȯ̵¥ȥ饤Ԥʤcdbios_get_status()

顼֤ΥåϹԤʤɬפ롣



--------------------------------------------------------------

void cdbios_callback_read( void *buffer, int pos, int size

						   , void (*callback)(CDBIOS_READ_STATUS *), int intr_size );



bufferˡposΥsizeХɤ߹ࡣ

Ʊ˼¹ԤԤʤ

ɤ߹߽λ cdbios_get_status()ˤʤ뤳ȤǼǤ롣



int_sizeХɤ߼callbackƤӽФ

callbackɬפʤϡint_size = -1, callback = NULLꤹ롣

callbackϳߥƥȤǼ¹Ԥ롣

callbackǡCDBIOS_READ_STATUSѹɤ߼ꥵž֤

ѹ뤳ȤǤ롣intr_sizecallbackθƽФ˥ꥻåȤΤ

դ뤳ȡ

CDBIOS_READ_STATUS *ϡå她롼ɥ쥹Ϥ롣



--------------------------------------------------------------

int cdbios_preseek( int pos );



posɤ߹िԥԤʤ

ɤߥåѤ뤿ᡢǤϤľ1꡼ɤƤ롣

⤷顼ȯƤ⡢Ȥ˥ȥ饤ϹԤʤʤ

seekλԤreadȯԤǤ뤬ξseekλ衢

readȤ롣



--------------------------------------------------------------

int cdbios_stop( void );



CDread, seekŪ˽λ롣



--------------------------------------------------------------

int cdbios_get_time( sceCdClock *rtc );



ɥ饤֤RTC֤ɤ߹ࡣ

sceCdClockѤ뤿˥饤֥libcdvd.h򥤥󥯥롼ɤ뤳ȡ

Ϣ³ƽФ300msec = 0.3sec٤δֳ֤򳫤ɬפ褦



--------------------------------------------------------------

int cdbios_get_filepos( char *name );



nameȤѥ̾ΥեƬ롣

֥åؿƱѥϢ³ᤤ

¾δؿ¹Ϥʤ롣

