アカウント名:
パスワード:
リンカーがパディングする際、メモリ上のデータで埋めてしまったことが原因のようです。
自然対数の底をBCDで100桁求めるプログラムをZ80命令を駆使して64バイトぐらいまで縮めた
2バイトの命令の2バイト目にジャンプして違う命令として処理する
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
人生の大半の問題はスルー力で解決する -- スルー力研究専門家
そんなに余っている空間があるのか (スコア:4, おもしろおかしい)
昨今は携帯ゲーム機でもこんな有様なのですか。爺は情けのうございまするぞ。
爺の子供の頃は、メモリの1バイトは血の一滴、数バイトをめぐって担当者間で…
# …というような経験は私にはないのですが、ある人はぜひ語ってください。
Re:そんなに余っている空間があるのか (スコア:3, おもしろおかしい)
知人から「1バイトのメモリには8人の仏様がいる」という話なら聞いたことがある.
# 昔,メモリをとるか実行速度をとるかよく悩んだが...
# いつも結果は大差ない場合がほとんどだった.
Re:そんなに余っている空間があるのか (スコア:0)
Re:そんなに余っている空間があるのか (スコア:0)
Re:そんなに余っている空間があるのか (スコア:1)
進められたことを、当時の我々は知る由もなかった。
赤下げなくて、白上げる (スコア:1)
片手で2^5-1までカウントできる器用さはないけど、両腕で4進表現くらいならできますぞ。
# 20年くらい昔のI/O誌で、松下が4進数コンピュータを開発、とかって記事をみたような。
# あれはどうなったのやら。
Re:そんなに余っている空間があるのか (スコア:3, 興味深い)
行番号BASICでゲーム(マインスイーパもどき)を作っていたのですが、
メモリが512バイトしかなく、1バイトでも削れるものは削っていました。
幸いにも、printコマンドを記号の“?”に換えることが可能でして、
すべての画面出力部分を“?”で記述して、カセットテープに保存していました。
4バイト分得します。
ほかには行番号とコマンドの間のスペースを省いたりしてました。
ちなみにlistコマンドでプログラムをみる事が出来るのですが、
一度でも実行してしまうと、行番号とコマンドの間にスペースが挿入され、
せっかく書いた“?”が“print”に展開されて表示されてしまいます。
プログラムの最後から(4バイトד?”個数)+(行数)分のバイトが自動的に消去され、
runするとsyntaxエラーが出まくりでした。
こんなんでどうでしょうか。
あ、なんか読みにくい文になってしまった。
もう寝ます。お休み。
Re:そんなに余っている空間があるのか (スコア:1)
ともあれ、「リンカーがパディングする際」と聞くと、主人公がなにかを切ってるのかと思った。
Re:そんなに余っている空間があるのか (スコア:1, 興味深い)
高校生の頃(28年ほど前?)のTK80とかが存在してたころ、自作のZ80のマイコンに2進スイッチでパチパチと直接メモリにプログラムを打ち込んでました(手動DMA転送)。
メモリは1024バイトでした。いくら何でもこれでは非効率なんで、テンキーとLEDをつけて、それをうごかすマシン語モニタなるものを、カセットテープ(サッポロシティスタンダード)から読む込むブートローダーを必死こいて短くしてました。そのうち空でプログラムのバイナリーを暗記するようになりました。
また、自然対数の底をBCDで100桁求めるプログラムをZ80命令を駆使して64バイトぐらいまで縮めた記憶があるんだけど、コーディングシートとっときゃよかった....。
その自作Z80マシンにS*Aマイコンクラブの「マイコンゲーム21」を移植するのが目標でした。なにもかも懐かしい :-)
Re:そんなに余っている空間があるのか (スコア:1)
(私が念頭にあったのは、なんとかあと1バイト削ってくれと依頼されたサウンドプログラマの、「しかし曲データ削れって言われても、音楽として別物になるし。困ったなあ」という悩みくらいのことで)
や。もはや、ぱっと思い浮かばない領域なんですが…100桁と同じだけのワークエリアが別にあって、70あたりまで除算ループします?
# 常用対数の底なら、私でもなんとか。
Re:そんなに余っている空間があるのか (スコア:1)
2バイトの命令の2バイト目にジャンプして違う命令として処理すること
で1バイト減らす荒業を多用してて解読するのが非常につらかったとか。
つまりプログラムを直接脳内アセンブルして書いてたわけですね。
#MSXのROMダンプさっと見て直接ゲームミュージックのソースを書く凄い人もいま
#したが今は何しているんだろう。
--
Epsilon
Re:そんなに余っている空間があるのか (スコア:1)
Re:そんなに余っている空間があるのか (スコア:0)
>で1バイト減らす荒業を多用してて解読するのが非常につらかったとか。
>つまりプログラムを直接脳内アセンブルして書いてたわけですね。
別にそこだけなら簡単だろう。
3E AF LD A,0AFh ; AF = XOR A
なんて、往年のZ80プログラマならいまでもそらんじられるはずだ。
そういうテクニックを使っているからといって
まさか全編脳内アセンブルなわけもあるまい。
Re:そんなに余っている空間があるのか (スコア:0)
チャレアベに載ってたハイドライド3の開発話を思い出したよ。