アカウント名:
パスワード:
昔は大変だったんだなあとしみじみおもう。
最近だったら、逃走回数カウントするのに、特に気にせずにint変数とか使っちゃいそうだよねぇ……
FC時代のバグや裏技には、こういうギリギリの節約のせいで生まれたものも多いはず。
マイナスはあり得ないとか言ってunsigned intか、微妙にケチってunsigned charとかにしそう。がっつりけちると共用体でビットフィールドかなぁ。値範囲チェックを入れたクラスにしてSet/Getで使うのが今時流か?
ただのフラグなのにintとかも。
最近は8bit型ですね。さすがに32bit型はやりすぎでした。
えー。「BOOL型だけど、エラー値は-1」みたいなことができなくなるじゃないですかっ。
GetMessage function (winuser.h) - Win32 apps | Microsoft Docs [microsoft.com]
# それ、駄目な例。
WindowsのBOOLはtypedefしたものだからboolと同じに考えてはいけないのでは。
Windows データ型 (BaseTsd.h) - Win32 apps | Microsoft Docs [microsoft.com](このページは英語に切り替えて読むのがお勧めです)
いつからintが32bitだと錯覚していた?
# 仮にファミコン用のCコンパイラがあったとしたら、int は 8bit になるのだろうか
ファミコン時代は知りませんが、最近のCだとintは最小16bitが保証されてたような。
すくなくとも、今でも普通に組み込みで多用されている8bitマイコンのコードでは、intは16bit。
というか、コンパイラが対応してようがいなかろうが、int8_tとかを使ってる。intとかlongは使わないな。さすがにcharは使うが。
コンパイラ変えたり処理系変えたりでバグるからね。C言語の仕様を変えろとおもわんでもない。
CPUによっては8bitアクセスのほうが速度、コードサイズのコスト高かったりするんですよネイティブサイズが最大の効率なんてよくある話で
組み込み用の低速なCPUでは8bitアクセスも1命令でできるので高速です。逆に、今どきの高速なCPUでは、メモリアクセスがボトルネックなので、データサイズを小さくしてキャッシュメモリの効率を上げるのが望ましいのです。
あのバグのせいでカジノは楽しめなかったような
そもそもドラクエのカジノやミニゲームは面白くないので、作業回避のためにシリーズのすべてで実装すべきだとすら思う。
11のマジスロは面白かったよ。マジでスロットだった。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
ノリが組み込みソフトウェア (スコア:0)
昔は大変だったんだなあとしみじみおもう。
Re:ノリが組み込みソフトウェア (スコア:1)
最近だったら、逃走回数カウントするのに、
特に気にせずにint変数とか使っちゃいそうだよねぇ……
FC時代のバグや裏技には、
こういうギリギリの節約のせいで生まれたものも多いはず。
Re:ノリが組み込みソフトウェア (スコア:1)
マイナスはあり得ないとか言ってunsigned intか、微妙にケチってunsigned charとかにしそう。
がっつりけちると共用体でビットフィールドかなぁ。
値範囲チェックを入れたクラスにしてSet/Getで使うのが今時流か?
Re: (スコア:0)
ただのフラグなのにintとかも。
Re: (スコア:0)
最近は8bit型ですね。
さすがに32bit型はやりすぎでした。
Re: (スコア:0)
えー。
「BOOL型だけど、エラー値は-1」みたいなことができなくなるじゃないですかっ。
GetMessage function (winuser.h) - Win32 apps | Microsoft Docs [microsoft.com]
# それ、駄目な例。
Re: (スコア:0)
WindowsのBOOLはtypedefしたものだからboolと同じに考えてはいけないのでは。
Windows データ型 (BaseTsd.h) - Win32 apps | Microsoft Docs [microsoft.com]
(このページは英語に切り替えて読むのがお勧めです)
Re: (スコア:0)
いつからintが32bitだと錯覚していた?
# 仮にファミコン用のCコンパイラがあったとしたら、int は 8bit になるのだろうか
Re: (スコア:0)
ファミコン時代は知りませんが、最近のCだとintは最小16bitが保証されてたような。
すくなくとも、今でも普通に組み込みで多用されている8bitマイコンのコードでは、intは16bit。
Re: (スコア:0)
というか、コンパイラが対応してようがいなかろうが、int8_tとかを使ってる。
intとかlongは使わないな。さすがにcharは使うが。
Re: (スコア:0)
コンパイラ変えたり処理系変えたりでバグるからね。
C言語の仕様を変えろとおもわんでもない。
Re: (スコア:0)
CPUによっては8bitアクセスのほうが速度、コードサイズのコスト高かったりするんですよ
ネイティブサイズが最大の効率なんてよくある話で
Re: (スコア:0)
組み込み用の低速なCPUでは8bitアクセスも1命令でできるので高速です。
逆に、今どきの高速なCPUでは、メモリアクセスがボトルネックなので、データサイズを小さくしてキャッシュメモリの効率を上げるのが望ましいのです。
Re: (スコア:0)
当時のファミマガには具体的な枚数が伏せられてましたけど、
1回の購入枚数を上げていくと計算合わなくなるのでピンとくるんですよね。
[]_g@
Re: (スコア:0)
あのバグのせいでカジノは楽しめなかったような
Re: (スコア:0)
そもそもドラクエのカジノやミニゲームは面白くないので、作業回避のために
シリーズのすべてで実装すべきだとすら思う。
Re: (スコア:0)
11のマジスロは面白かったよ。マジでスロットだった。