バイナリファイル(バイナリデータ)の編集で関連しそうなHSPの命令。
- poke / wpoke / lpoke ... 1/2/4バイト分の書き込み
- memcpy ... メモリブロックのコピー(移動)
- memset ... メモリブロックのクリア
- memexpand ... メモリブロックのサイズ拡張
- bload / bsave ... バイナリファイルの入出力
ファイルのバイナリデータを(バイナリエディタ風に)表示するHSP(HSP3)のコード。もっとウマイ具合に書けるような気がするけど、何だか頭が回らん。
// バイナリデータのテキトー表示 (by 無題な濃いログ)
; 等幅フォント
font "MS ゴシック", 14
dialog "", 16
if stat = 0 : stop
; ひとまず256バイト分
sdim buf, 256
bload refstr, buf
; 描画一時停止
redraw 0
; 最初の0x00000000のアドレス表示
mes ""+strf(" %08X |", 0)
position.0 = ginfo(14)
position.1 = 0
repeat strsize
; 1バイト分読んで表示
pos position.0, position.1
mes strf(" %02X", peek(buf, cnt))
; 下の段へ
if cnt \ $10 = 15 {
position.1 + ginfo(15)
; アドレス表示
pos 0, position.1
mes strf(" %08X |", cnt + 1)
position.0 = ginfo(14)
} else {
position.0 + ginfo(14)
}
loop
; 描画反映
redraw
- Let's HSP! ... HSPプログラミング情報サイト
- Let's HSP! モバイル ... がしゃがしゃページ
- HSPミニ情報 ... 特定HSPネタ追及ページ
- Let's モバ!? ... モバイルHSP紹介ページ