スーファミプログラミング近況・今年買った物
スーファミプログラミング近況
ローカル変数の使い方がわかって、かなり楽にプログラムが書けるようになった。今まで書いたつらいプログラムは捨てる。
お前は何を言っているんだと思われそうなので補足しておくと、初代ファミコンのCPU 6502ではおそらくローカル変数は使えなくて、全ての変数をグローバルにぶちまけて、衝突しないよう気を使いながらプログラムを書いていた、と思う(そんなことはない、という情報があればお教えください)
しかしスーパーファミコンのCPU(65816)の仕様をよく調べると、スタックの中身をロード・ストア可能になっていて、つまり現代の一般的なCPUと同じ機構でローカル変数が使える。これとは別に、ファミコン時代に使っていたグローバル領域(zero pageと呼ばれる)のアドレスをオフセットしていく方法もあって、初代ファミコンのプログラミングに慣れていた人たちはこれを使っていたのではないかと想像している。
現代のプログラミング環境に慣れた身からすると、ローカル変数なしでプログラムを書けと言われたら精神に異常をきたしそうになるが、昔の行番号BASICにはグローバル変数しかなかったので、それでプログラミングを覚えた人々にとっては、アセンブリで同じことをするのに疑問を抱くことすらなかったのではないか。
今年買った物
I/Oとベーマガ
I/Oとベーマガは割と最近まで実家にあったんだけど、ある年帰るときれいに消滅していた。15年前なら泣き叫んでいたかもしれないが、この歳になると感情が希薄になり国会図書館で見ればいいか、と思って再入手もしなかった。
しかし去年、一時ライターをされていた方にベーマガを一冊譲っていただいたのをきっかけにまた読んでみたくなり、ちょうど開店した秋葉原BEEPでベーマガを何冊か買ってみた。I/Oの方は駿河屋だけど。
スーファミのゲームができたらどっかで雑誌と一緒に展示したい。もっとも、雑誌を来場者に読ませるために置くと著作権の問題があるので、あくまでオブジェとして置いといて、でも来場者が勝手に手に取って読んじゃうのは仕方ないよね、みたいな白々しいことを言う用意がある。