Shinobiライブラリ - BootROMサービス関数

syBtGetCurrentSystemID

ディスクのシステムID情報の取得

書式

Sint32 syBtGetCurrentSystemID( *pData ) 
SYS_BT_SYSTEMID *pData 

引数

*pData   システムID情報を格納する構造体のアドレス

戻り値

エラーコード

解説

現在認識中のディスクのシステムIDの情報を取得します。

pDataが指すシステムID情報を格納する構造体の実体は、事前にアプリケーションで確保してください。

エラーコードには以下の値が戻ります。

 SYD_BT_OK   正常終了 
 SYD_BT_NG   異常終了 

異常終了が戻った場合、以下の状況が考えられます。


1.メディア情報で'0'〜'9'であるべき個所に他の文字が記述されている。
2.アドレスにNULLが渡された。


用例

SYS_BT_SYSTEMID     systemidBoot ;
SYS_BT_SYSTEMID     systemidCurrent ;

int                 nRet1,nRet2;
int                 y ;
nRet1 = syBtGetBootSystemID( &systemidBoot ) ;
nRet2 = syBtGetCurrentSystemID( &systemidCurrent ) ;
y = 2 ;
njPrintC( NJM_LOCATION( 4,y++),"BOOT DISC INFO" ) ;
njPrintC( NJM_LOCATION( 4,y), "SYSTEM ID ADDRESS") ;
njPrintH( NJM_LOCATION(25,y++),(Uint32)pAddr1,8) ;
y++ ;
njPrintC( NJM_LOCATION( 4,y),"ID GET RETURN CODE") ;
njPrintH( NJM_LOCATION(25,y++),(Uint32)nRet1, 8) ;
njPrintC( NJM_LOCATION( 4,y),"NO." ) ;
njPrintD( NJM_LOCATION(10,y++), systemidBoot.nNo ,8 ) ;
njPrintC( NJM_LOCATION( 4,y),"All." ) ;
njPrintD( NJM_LOCATION(10,y++), systemidBoot.nAll,8 ) ;
njPrintC( NJM_LOCATION( 4,y),"PID." ) ;
njPrintC( NJM_LOCATION(10,y++), systemidBoot.szProduct ) ;
y = 10 ;
njPrintC( NJM_LOCATION( 4,y++),"NEW DISC INFO" ) ;
njPrintC( NJM_LOCATION( 4,y),"SYSTEM ID ADDRESS") ;
njPrintH( NJM_LOCATION(25,y++),(Uint32)pAddr2,8) ;
y++ ;
njPrintC( NJM_LOCATION( 4,y),"ID GET RETURN CODE") ;
njPrintH( NJM_LOCATION(25,y++),(Uint32)nRet2, 8) ;
njPrintC( NJM_LOCATION( 4,y),"NO." ) ;
njPrintD( NJM_LOCATION(10,y++), systemidCurrent.nNo ,8 ) ;
njPrintC( NJM_LOCATION( 4,y),"All." ) ;
njPrintD( NJM_LOCATION(10,y++), systemidCurrent.nAll,8 ) ;
njPrintC( NJM_LOCATION( 4,y),"PID." ) ;
njPrintC( NJM_LOCATION(10,y++), systemidCurrent.szProduct ) ;

備考

本関数は、ディスクチェック関数syBtCheckDisc()でDreamcast専用ディスクと判定され、その後にディスクドアが一度もオープンされていない場合にのみ動作します。 ディスク交換を行った場合や、ディスクチェックの認識に失敗した場合などには動作の保証はしません。

参照

syBtCheckDisc()

syBtGetCurrentSystemID
COPYRIGHT © SEGA ENTERPRISES, LTD., 1998,1999