PCエンジンの天の声2などのバックアップメモリーを消去するソフトをHuCで作ってみた。
TURBO EVERDRIVE(のパチモノ)を使って動作させた。
使い方は、1+2+RUNボタンを押すと、メモリーの中身が初期化される。
実際に、天の声2をFRAMに換装したやつと、CD-ROM2のインターフェースユニットをFRAMに換装したやつを使って試してみたが、ちゃんと初期化することができた。
フリーの開発環境のHuCというのを使ってこのソフトを作った。
ソースコードは、こんな感じだ。
#include "huc.h"
main() {
unsigned char d0;
int i;
disp_off();
cls();
disp_on();
set_color_rgb(1,7,7,7);
set_font_color(1,0);
set_font_pal(0);
load_default_font();
/* Backup Memory check */
put_string("Backup Memory Eraser ver1.0", 1, 1);
if (!bm_check()) {
put_string("Error: No Backup Memory", 4, 7);
} else {
put_string("Push 1+2+RUN to erase.", 4, 7);
/* joypad input check */
while(1) {
vsync();
d0=joy(0);
if (d0==0x0B) { break; }
}
/* overwrite header */
bm_rawwrite(0,0x48);
bm_rawwrite(1,0x55);
bm_rawwrite(2,0x42);
bm_rawwrite(3,0x4D);
bm_rawwrite(4,0x00);
bm_rawwrite(5,0x88);
bm_rawwrite(6,0x10);
bm_rawwrite(7,0x80);
/* erase data */
for (i=8;i<2048;i++) {
bm_rawwrite(i,0);
}
/* finished */
put_string("Backup Memory Erased.", 4, 15);
}
}
天の声2をFRAM化した場合、データを消す方法が無くてちょっとだけ困っていたのだが、これで初期化をすることが可能になった。