#3 不思議ちゃん2の謎(Gens編) | //www.旧型、PSP開発幼稚園.game.jp/(本館)

#3 不思議ちゃん2の謎(Gens編)

#3 不思議ちゃん2の謎(Gens編)(SEGADRIVE)

なんとなく、管理人のHDDにGens212があったので、ソース読んで遊んでた。

で、Gensのメモリ周りはアッセンブラなんね。まあ、合理的っちゃあ合理的だな。

噂の「68000から見て、0xC00005番地」を調べて見たつ。

/*Gens*/ //unsigned short Read_VDP_Status(void) unsigned md::vdp_ctrl_r(void){ unsigned short i; unsigned short temp; i=coo5;         //注記:A20はcoo5ですが、現在のA21ではcoo5じゃ訳ワカンナイので、「vdp_status」に変えました。 temp=i; i ^= 0xFF00; /* xor */ i &= 0xFF9F; if( (i & 0x0008) ) { i &= 0xFF1F; } //In_VBlank: coo5=i; // test byte [VDP_Reg.Set_2], 0x40 coo5=temp; // jz short .Display_OFF if( 0x40==(vdpreg[1]&0xff)){/*Display_OFF:*/ temp|=8; }   //多分こう return(temp); }
<資料> struct Reg_VDP_Type { /* 0 */ unsigned int Set1; /* 1 */ unsigned int Set2; //←これ!! /* 2 */ unsigned int Pat_ScrA_Adr; /* 3 */ unsigned int Pat_Win_Adr; /* 4 */ unsigned int Pat_ScrB_Adr; /* 5 */ unsigned int Spr_Att_Adr; 以下略
ほい、Gensたんは、こんな感じ。VDPのレジスタ見て消えてるときはビット変えてたけど、 そこは移植してないつ。(あ、ナイツだ!)(移植済み) ええとX86のアセンブラ昔はやったんだけど、もうすっかり忘れたけど、たぶんOKでしょ。(自信はない) で、早速PSPに持ってって実行してみたつ。 対応ソフトは、変わんなかったつ。
ところで、このルーチン何ヤッテルの?なんて聞かれたって、知るもんか。 丁度、外国語の短い文章、訳してよって頼まれて、訳してやったら、納得されて感謝されたけど、 訳した本人は、ぜーーーんぜんさっぱり意味が不明だったりする。ありがちな、あの現象と同じつ。 深く考えても意味はない。 よくワカンナイからGensの真似しよ。
つー訳で、ここはこれでOK(VDPなんたらも後で付ける予定つ)(やったけど、変わらない) 不思議ちゃんの謎は、まだまだ残つたのだつた。 <次回へつづく>