スーパバイザコールAPI 機能一覧

# スーパバイザコール(SVC)API 機能一覧

### 割り込みウェイト

SVC_WaitVBlankIntr |  | Vブランク割り込みが発生するまでHalt状態で待ちます。
SVC_Halt |  | CPUコアを停止させてHalt状態に入ります。
SVC_Sleep |  | 原発信を停止します。(ARM7のみ)

### ウェイト

SVC_WaitByLoop |  | システムROM上でループしてウェイトします。

### メモリ操作

SVC_CpuClear* |  | CPUでメモリクリアを行います。
SVC_CpuCopy* |  | CPUでメモリコピーを行います。

### 圧縮データ展開

SVC_UnpackBits |  | 0固定のビットを詰めたデータを展開します。
SVC_UncompressLZ8 |  | LZ77圧縮データを8bit単位で展開します。
SVC_UncompressRL8 |  | ランレングス圧縮データを8bit単位で展開します。
SVC_UncompressLZ8FromDevice |  | デバイス上のLZ77圧縮データを8bit単位で展開します。
SVC_UncompressLZ16FromDevice |  | デバイス上のLZ77圧縮データを16bit単位で展開します。
SVC_UncompressRL16FromDevice |  | デバイス上のランレングス圧縮データを16bit単位で展開します。
SVC_UncompressHuffmanFromDevice |  | デバイス上のハフマン圧縮データを32bit単位で展開します。

### 算術演算

SVC_Div |  | 除算を行い結果を取得します。
SVC_DivRem |  | 除算を行い余りを取得します。
SVC_Sqrt |  | 平方根演算を行い結果を取得します。

### CRC

SVC_GetCRC16 |  | CRC-16を算出します。

### 署名

SVC_InitSignHeap |  | SVC_Decrypt*で使用するヒープを指定します。
SVC_DecryptRSA |  | RSA復号を行います。
SVC_DecryptSign |  | 署名データを復号します。
SVC_DecryptSignDER |  | DER形式の署名データを復号します。

### ハッシュ

SVC_SHA1Init |  | SHA1用のコンテキスト設定を行います。
SVC_SHA1Update |  | SHA1のダイジェスト値を更新します。
SVC_SHA1GetHash |  | SHA1のダイジェスト値を取得します。
SVC_CalcSHA1 |  | SHA1の計算を行うユーティリティ関数です。
SVC_CompareSHA1 |  | ２つのSHA1のダイジェスト値を比較します。
SVC_RandomSHA1 |  | SHA1を利用して擬似的に乱数を取得します。
SVC_HMACSHA1Init |  | HMAC-SHA1用のコンテキスト設定を行います。
SVC_HMACSHA1Update |  | HMAC-SHA1のダイジェスト値を更新します。
SVC_HMACSHA1GetHash |  | HMAC-SHA1のダイジェスト値を取得します。
SVC_CalcHMACSHA1 |  | HMAC-SHA1の計算を行うユーティリティ関数です。