[最新] ■[前年|前月|前日|2015/07/18|翌日|翌月|翌年] ■表示[全て|@gorry5のみ|個別]
■グループ[Mention] ■その他[Twitter:@gorry5][日記] ■[twtlog 20100921a]

--------
07/18 01:08 明日明後日は作業になりそうなので月曜は豊洲のオクフェスにでも行くかのう… (bubu)
--------
07/18 15:29 これ、「音が抜けている(鳴っていない)」のではなく、「1つ低いオクターブで鳴ってしまっている」ことが判明… https://twitter.com/syntaxerrors72/status/622282179221979136 (hepo)
07/18 15:32 ギャラガ'88 X68版の音楽は「基板ROMデータを逆コンパイル、自作のドライバ用のデータに変換して演奏」という実装になっている。なおこのときは「アレンジ音楽を入れる」ことが先に決まっていたので、「基板のドライバをコンバートして演奏」という選択はなかった (home)
07/18 15:34 (@Niratama) @gorry5 両方やる、って選択肢はなかったのか (hogo)
07/18 15:34 ギャラガ'88 X68版 MMLデータの一部 URL:p.upa.jp URL:t.co (hoda)
07/18 15:41 1オクターブ低く鳴っている(抜けてしまっている)のは「オクターブ0で演奏している部分」。コンパイラのミスで、「オクターブが0未満になったら8として演奏」という判断を「オクターブが0以下になったら」と記述してしまっていた。よくあるミス… (maba)
07/18 18:49 @jin1016 タイ語で来たらと考えるとヤバそう…(苦笑 (bitu)
07/18 18:49 (@jin1016) @gorry5 中国語はまだ読める漢字が混じっているのでマシですねw (bihu)
07/18 20:34 pack alignment非互換の問題を持った行儀悪いC++コードを直す日。Win=8, Android=8, iOS(32)=4, iOS(64)=8で、iOS(32)はpack(8)を指定しても無効。正直「alignment依存コード書くな」をお願いしたい… (simi)
07/18 20:37 ただ、pack alignmentの問題は「もうそれで動いちゃってて変更できないのよ」なことがわりと普通で、結局ちまちまと環境別アラインメント対応コードを仕組むしかなくてな…めんどいんじゃよ… (sido)
07/18 20:46 同じようなトラブルを引き起こすものとしてendiannessの問題があるのだけど、これは今時だと大抵のひとは気にするようになっていて、しかも対処するとほぼ自動的にpack alignmentの問題も解消するので、最近はあまり見かけなくなったはずなんだが…いるところにはいるなと… (suzu)
07/18 20:47 てゆーか、今時データのシリアライズに「メモリイメージそのまま」とかお行儀悪いことしないよね普通… :D (subi)
07/18 20:53 (@nnk_osn) @gorry5 今時WindowsNTや2000がサーバでie5.5向けに書かれたhtmlをメンテしている… (sepa)
07/18 21:39 (@syntaxerrors72) @gorry5 見逃していましたが、X68版ギャラッパチの件、解説してくださっていたのですね。ありがとうございます!なるほど、未満と以下……ちなみに「8として」とはどういう意味なのでしょうか。 (nime)
07/18 22:05 @gorry5 あ、よく見たらこのコードもう1つおかしい…以下、アセンブラなので疑似コードにて (hibo)
07/18 22:06 @gorry5 想定していたコード:
07/18 22:06 if (oct > 8) goto l1
07/18 22:06 if (oct < 0) goto l2
07/18 22:06 goto l3
07/18 22:06 l1: oct=8; goto l3
07/18 22:06 l2: oct=0; goto l3
07/18 22:06 l3: (husi)
07/18 22:07 @gorry5 実際の誤ったコード:
07/18 22:07 if (oct > 8) goto l2
07/18 22:07 if (oct <= 0) goto l1
07/18 22:07 goto l3
07/18 22:07 l1: oct=8; goto l3
07/18 22:07 l2: oct=0; goto l3
07/18 22:07 l3: (hutu)
07/18 22:11 (@sinpen) @gorry5 違い派手過ぎませんか、、 (heko)
07/18 22:15 @gorry5 つまり、「オクターブ0?8を超えたらクリップ」するはずのコードが、「以下/未満」を間違った上にジャンプ先のラベルがテレコになってて全然まともじゃないコードだったと…上限下限のオクターブはあまり使わないので気づかなかったんですな :D (heze)
07/18 22:16 @sinpen アセンブラならよくある間違いじゃないですかええ…(苦笑 (hoko)
07/18 22:19 @syntaxerrors72 というわけで、かなりのボケたミスでした…(苦笑 (hora)
07/18 22:20 (@sinpen) @gorry5 まあ確かに、、w (hoga)
07/18 22:22 (@syntaxerrors72) @gorry5 詳細読ませて頂いていました。詳細ありがとうございます。当時から気になっていたこと、やっと理由がわかってすっきり(?)しました。確かにオクターブ下になってしまっている感じですね。歌ってて声域オーバーしてしまって声が出きらないときのような出音。笑 (mani)
07/18 22:24 @Shinra8801 インジェクション攻撃されそう…w (mamo)
07/18 22:28 @syntaxerrors72 今日指摘されるまで25年間全く気づいていませんでした…いやはや(苦笑 (misa)
07/18 22:30 なお、当該MMLのタイムスタンプは90年6月でした…ただでさえ休日返上の作業をしている日に、25年前のバグを探す行為とは…(苦笑 (mima)
07/18 22:33 (@inuchin) @gorry5 PIC触ってるとメモリイメージをまんまUARTに投げ込んでたりしてるコードによく遭遇します。メモリエリア狭いですからねー (muku)
07/18 23:04 そういえばさっきのpack alignmentの話。
07/18 23:04 struct hoge { double a; char b; } でsizeof(hoge)がいくつになるかとか、仕様で理解していたって実際に実行してみないと怖いところだけど、気にせずやっちゃう人はいる… (rede)
07/18 23:13 @inuchin そういう環境だと「高級アセンブラ」的な使い方はむしろアリかなーと :D (gati)
07/18 23:46 (@Shinra8801) @gorry5 はい、無防備もいいところです。 (zaba)

■グループ[Mention] ■その他[Twitter:@gorry5][日記] ■[twtlog 20100921a]
[最新] ■[前年|前月|前日|2015/07/18|翌日|翌月|翌年] ■表示[全て|@gorry5のみ|個別]