2022-09-01から1ヶ月間の記事一覧

GBEのu16+i8、キャリーしてない場合はフラグを立てるっぽいな

前記事においてよくわからんなとかいってたやつ。単純にキャリーしないときにオンにするかんじやな。 .carry = (a ^ i ^ result) & 0x100 != 0を逆にして.carry = (a ^ i ^ result) & 0x100 == 0でよいかんじでした。 fn addU16ToSingedU8WithCarryHalf(a: u…

GBEの16bit+8bitIntのときのフラグがよくわからん

ADD SP NやLD HL SP+N命令においての引き算時のキャリーとハーフキャリーのフラグの建て方がよくわからんかってしばらく詰んでた。昔書いたコード適当にコピペしてパスしたけど、よくわからんままやな。普通の引き算とは違うフラグの建て方してるっぽいんだ…

zigでゲームボーイエミュレータ書いてる

github/kmtoki/gbe-zig エミュレータ開発用テストROMのgb_test_roms/cpu_instrsがパスしたのでcpuはざっくり書けたっぽい。過去にTypescriptとHaskellとRustで書いてて、TSはなんとか動いたけど、haskellとrustはcpuのテストをパスできなかったので三度目の…