English
PROGRAMMER'S GUIDEバックアップライブラリユーザーズマニュアル
▲   | 進む
バックアップライブラリユーザーズマニュアル

ガ イ ド


■目 的

 本ゲーム機には、ゲーム途中の情報を保存しておく為に本体内蔵メモリをはじめ数種類の記憶装置が用意される予定です。
 本ライブラリは、これらのバックアップ用記憶装置への読み書きと検索機能を提供します。

■解 説

 ●はじめに

 バックアップ用記憶装置へのアクセスは必ず本ライブラリを使用してください。

 ●ライブラリの使用方法

 本ライブラリの本体は、BOOT ROM内に圧縮されて格納されています。
 アプリケーション作成者は、これを展開して使用します。展開は、プログラム展開領域を確保してBUP_Init()を実行することにより行われます。以後、各関数が使用可能となります。

 ●記憶容量について

 本ライブラリでは、将来サポートされる装置に対しても共通のインターフェイスでアクセスできることを目標にしています。そのため、今後開発される記憶装置の容量は不明です。また、装置によってはいくつかに区切られています。以後、区切られた1単位をパーティションと呼びます。(パーティションごとに容量が異なる場合もあります。)
 データの記憶を行う場合には、 BUP_SelPart()BUP_Stat()を実行して容量を確認してから書き込みを行ってください。
 内蔵バックアップメモリは、32Kです。

 ●日付設定について

 本ライブラリは、ライブラリの独立性を保つために内部に日付時間取得機能を有しません。日付時間データは、アプリケーション側で取得したデータをBUP_SetDate()を使用して設定してください。

 ●注意事項

 本ライブラリはデータ書き込み中に中断すると、データを破壊します。 BUP_Init()BUP_Format()BUP_Write()BUP_Delete() を実行する前には、 ペリフェラルライブラリ中のPER_SMPC_RES_DIS()を使用してリセットボタンを無効にしてください。

■プログラム記述例

 C言語による実際のプログラムの記述例を以下に示します。
#include  "sega_per.h"
#define   BUP_START_ADDR 0x60????0   /* ライブラリを読み込むアドレスの指定 */
#include  "sega_bup.h"
Uint32    BackUpRamWork[2048+30];     /* 2048=ブロックアクセステーブル */
                                      /*   30=バックアップライブラリ変数領域 */
main()
{
  BupConfig  conf[3];
  BupStat  sttb;
  BupDir  writetb;
  BupDate  datatb;
  Uint8  *time;

PER_SMPC_RES_DIS(); /* リセットボタン無効 */ BUP_Init(BUP_START_ADDR, BackUpRamWork, conf); if(BUP_Stat(0, &sttb)==BUP_UNFORMAT){   BUP_Format(0); } PER_SMPC_RES_ENA(); /* リセットボタン有効 */ BUP_Stat(0, &sttb); if(sttb.freeblock > 0){   strcpy((char *)writetb.filename, "FILE_NAME01");   strcpy((char *)writetb. comment, "テスト");   writetb.language = BUP_JAPANESE;   time = PER_GET_TIM(); /* 日付時間取得 */   datetb.year = (Uint8 )( (Uint16 )(time[6]>>4) * 1000       + (Uint16 )(time[6] & 0x0F) * 100       + (Uint16 )(time[5]>>4) * 10       + (Uint16 )(time[5] & 0x0F) - 1980);   datetb.month = time[4] & 0x0F;   datetb.day = (time[3]>>4)*10 + (time[3] & 0x0F);   datetb.time = (time[2]>>4)*10 + (time[2] & 0x0F);   datetb.min = (time[1]>>4)*10 + (time[1] & 0x0F);   writetb.date = BUP_SetDate(&datetb);   writetb.datasize = 10;   PER_SMPC_RES_DIS(); /* リセットボタン無効 */   BUP_Write(0, &writetb, "Dummy Data");   PER_SMPC_RES_ENA(); /* リセットボタン有効 */ } }

参照Developer's Infomation STN-52「バックアップライブラリ作業領域サイズ

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