English
PROGRAMMER'S GUIDEバックアップライブラリユーザーズマニュアル
戻る|   ■
バックアップライブラリユーザーズマニュアル/リファレンス

詳細仕様


■データ仕様



Title

データ仕様

Data

記憶装置接続情報

Data Name

BupConfig

No

1

typedef struct BupConfig {
  Uint16  unit_id;    /*  ユニットID   */
  Uint16  partition;  /*  パーティション数 */
} BupConfig;

※unit_idが0の場合は、未接続を表します。

装置種類
unit_id
partition
内蔵メモリ
1
1
外付けカートリッジ
2
1




Title

データ仕様

Data

ステータス情報

Data Name

BupStat

No

2

typedef  struct  BupStat {
  Uint32  totalsize;  /* 全容量()       */
  Uint32  totalblock; /* ブロック数      */
  Uint32  blocksize;  /* 1ブロックのサイズ() */
  Uint32  freesize;   /* 空き容量       */
  Uint32  freeblock;  /* 空きブロック数    */
  Uint32  datanum;    /* 書き込み可能件数   */
} BupStat;

datanumは、BUP_Stat()でdatasizeを指定したサイズに対しての値が格納される。




Title

データ仕様

Data

日付時間

Data Name

BupDate

No

3

typedef  struct  BupDate {
  Uint8  year;   /* 年  (西暦から1980引いた値) */
  Uint8  month;  /* 月  (1〜12)         */
  Uint8  day;    /* 日  (1〜31)         */
  Uint8  time;   /* 時  (0〜23)         */
  Uint8  min;    /* 分  (0〜59)         */
  Uint8  week;   /* 曜日 (日0〜土6)       */
} BupDate;



Title

データ仕様

Data

ディレクトリ情報

Data Name

BupDir

No

4

typedef  struct  BupDir {
  Uint8  filename[12];  /* ファイル名                         */
                        /*(アスキー11文字+NULの計12バイト)  */
  Uint8  comment[11];   /* コメント                           */
                        /*(アスキー10文字+NULの計11バイト)  */
  Uint8  language;      /* コメントの言語種類                 */
                        /*  日本語  :BUP_JAPANESE          */
                        /*  英語   :BUP_ENGLISH           */
                        /*  フランス語:BUP_FRANCAIS          */
                        /*  ドイツ語 :BUP_DEUTSCH           */
                        /*  スペイン語:BUP_ESPANOL           */
                        /*  イタリア語:BUP_ITALIANO          */
  Uint32  date;         /* 日付時間データ                     */
  Uint32  datasize;     /* データのサイズ(単位:バイト)       */
  Uint16  blocksize;    /* データのサイズ(単位:ブロック)     */
} BupDir;

■関数仕様




Title

関数仕様

Func

バックアップライブラリの初期化

Function 

BUP_Init

No

1

 書 式
void BUP_Init(Uint32 *libaddr,Uint32 *workbuff,BupConfig conf[3])
 入 力
libaddr: ライブラリをロードするアドレスを指定ライブラリの大きさは16Kバイトです。
workbuff: ライブラリの作業領域のポインタ作業領域の大きさは8192バイト必要です。ロングワードアクセスすることもありますので必ずUint32で確保してください。
 出 力  
conf:接続されている記憶装置の情報を得ます。
 機 能  
バックアップライブラリを指定されたメモリ領域上へ読み込み、使用するための前処理を行います。接続記憶装置の情報が得られます。3つのテーブルにはそれぞれ、以下の装置番号に対応しています。

装置番号
装置種類
0
内蔵メモリカートリッジ
1
メモリカートリッジまたはパラレルインタフェース
2
シリアルインタフェース

 備 考
記憶装置接続情報テーブルは、必ず3つ用意してください。
 例
#define  BUP_START_ADDR 0x6??????
#include  "sega_bup.h"
Uint32  workmemory[2048+30];

  void sample()
  {
    BupConfig conf[3];

    BUP_Init(BUP_START_ADDR, workmemory, conf);
    ...............
  }



Title

関数仕様

Func

パーティションの選択

Function 

BUP_SelPart

No

2

 書 式  
Sint32 BUP_SelPart(Uint32 device,Uint16 num)
 入 力  
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
num:パーティション番号
 0〜(パーティション数−1)
 出 力  
なし
 関数値 
0:成功
他:失敗
 機 能  
パーティションの選択を行います。初期状態では、パーティション0が選択されています。



Title

関数仕様

Func

フォーマットの実行

Function 

BUP_Format

No

3

 書 式  
Sint32 BUP_Format(Uint32 device)
 入 力  
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
 出 力  
なし
 関数値 
0:成功
BUP_WRITE_PROTECT:ライトプロテクト有り
他:失敗
 機 能  
バックアップ記憶装置の初期化を行います。
パーティションで区切られているバックアップ記憶装置に関しては、現在のパーティションに対してだけフォーマットします。



Title

関数仕様

Func

ステータスの取得

Function 

BUP_Stat

No

4

 書 式  
Sint32 BUP_Stat(Uint32 device,Uint32 datasize,BupStat *stat)
 入 力  
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
datasize:書き込みたいデータのサイズを単位で指定
 出 力
stat:ステータス情報
 関数値
装置の状態を返す
0:成功
BUP_NON:未接続
BUP_UNFORMAT:未フォーマット
 機 能  
ステータス情報を取得します。



Title

関数仕様

Func

データの書き込み

Function 

BUP_Write

No

5

 書 式  
Sint32 BUP_Write(Uint32 device,BupDir *dir,Uint8 *data,Uint8 owsw)
 入 力  
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
dir   :ファイル管理情報(dir.blocksize以外の入力)
data  :書き込みデータのポインタ
owsw  :オーバーライトチェックモード
ON    :同名のファイルが存在したら書き込まない。
OFF   :同名のファイルが存在したら上書きする。
 出 力
なし
 関数値
 関 数 値 
 意 味 
0
成功
BUP_NON
未接続
BUP_UNFORMAT
未フォーマット
BUP_WRITE_PROTECT
ライトプロテクト有り
BUP_FOUND
同名のファイルが存在する。
失敗
 機 能
バックアップ記憶装置へデータを書き込む



Title

関数仕様

Func

データの読み込み

Function 

BUP_Read

No

6

 書 式
Sint32 BUP_Read(Uint32 device, Uint8 *fname,Uint8 *data)
 入 力
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
fname :ファイル名の指定(必ずアスキーで11文字必要)
 出 力
data :読み込み先バッファのポインタ
 関数値
 関 数 値 
 意 味 
0
成功
BUP_NON
未接続
BUP_UNFORMAT
未フォーマット
BUP_NOT_FOUND
ファイルが見つからない
BUP_BROKEN
ファイルがこわれている
失敗
 機 能
バックアップ記憶装置からデータを読み込む。



Title

関数仕様

Func

データの削除

Function 

BUP_Delete

No

7

 書 式
Sint32 BUP_Delete(Uint32 device, Uint8 *fname)
 入 力
device:装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
fname :ファイル名(必ずアスキーで11文字必要)
 出 力
なし
 関数値
 関 数 値 
 意 味 
0
成功
BUP_NON          
未接続
BUP_UNFORMAT     
未フォーマット
BUP_NOT_FOUND    
ファイルが見つからない
BUP_WRITE_PROTECT
ライトプロテクト有り
失敗
 機 能
バックアップ記憶装置上のデータを削除する。



Title

関数仕様

Func

ディレクトリ情報の取得

Function 

BUP_Dir

No

8

 書 式
Sint32 BUP_Dir(Uint32 device, Uint8 *fname,Uint16 dirsize,BupDir *dir)
 入 力
device :装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
fname :ファイル名の指定(アスキーで11文字以内)
dirsize:確保したディレクトリ情報の数を指定
 出 力
dir:ディレクトリ情報が格納される
 関数値
ディレクトリ情報のヒット件数。
 機 能
ファイル名を前方一致で検索してディレクトリ情報をテーブルに格納する。
検索によりヒットしたディレクトリ情報の件数が、関数値として返る。
負の場合は、テーブルサイズが不足していることを表し、符号反転することで件数が確認できる。
(tbsizeを10と設定して検索した結果11件だった場合は、-11が返される)



Title

関数仕様

Func

データの照合

Function 

BUP_Verify

No

9

 書 式
Sint32 BUP_Verify(Uint32 device,Uint8 *filename,Uint8 *data)
 入 力
device :装置番号
装置番号
記憶装置
0
内蔵メモリ
1
メモリカートリッジorパラレルインタフェース
2
シリアルインタフェース
filename:ファイル名(必ずアスキーで11文字必要)
data :照合データのポインタ
 出 力
なし
 関数値
 関 数 値 
 意 味 
0
成功
BUP_NON
未接続
BUP_UNFORMAT
未フォーマット
BUP_NO_MATCH
データが一致しない
BUP_NOT_FOUND
ファイルが見つからない
BUP_BROKEN
ファイルがこわれている
 機 能
バックアップファイルに書き込んだデータを照合する。



Title

関数仕様

Func

日付時間データの展開

Function 

BUP_GetDate

No

10

 書 式
void BUP_GetDate(Uint32 pdate,BupDate *date)
 入 力
pdate:ディレクトリ情報の日付時間データ
date :日付時間テーブル
 出 力
なし
 関数値
なし
 機 能
ディレクトリ情報テーブル中の日付時間データを展開する。



Title

関数仕様

Func

日付時間データの圧縮

Function 

BUP_SetDate

No

11

 書 式
Uint32 BUP_SetDate(BupDate *date)
 入 力
date:日付時間
 出 力
なし
 関数値
ディレクトリ情報テーブル中の日付時間データ形式のデータ
 機 能
ディレクトリ情報テーブル中の日付時間データを圧縮する。

戻る|   ■
PROGRAMMER'S GUIDEバックアップライブラリユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997