アカウント名:
パスワード:
汎用ロジック+プログラムでフロッピーディスクに読み書きをすると言う点じゃないかと。アセンブラバリバリで、この命令が〇クロックで動くから、ああしてこうしてという職人芸のソースコードなのでしょう。
実際、Apple ][のゲーム等でプロテクトがかけられたとき、解析の糸口として使いまわされるリードルーチンを探してから解析したと聞いてます(………つまり、難読化をしてなかったわけだな)。
この命令が〇クロックで動くから、ああしてこうしてという職人芸のソースコードなのでしょう。
“The source code of the low-level read/write routines by Steve Wozniak and Randy Wigginton.” とコメントされてる Apple_DOS_RW_30May1978.txt [amazonaws.com] 見ても、とてもそんな感じの内容ではないですが。
APPLE2のディスクコントローラはバッファがないので、厳密なクロック数で1バイトずつI/Oアドレスに書き続ける実行するコードを書かないと、正しくディスクにデータを書き込むことができません。例えば8サイクルで書き込むとデータとして扱われ、10サイクルで書き込むと同期バイトとして扱われる…みたいな感じです。また、if文の様な条件分岐では1サイクル追加されるので、アセンブルするアドレスにも気を遣う必要があります。
それってそういうハードでは当たり前でしょう? どこが職人芸??
そのころすでに「それってそういうハード」が当たり前ではなくなっていたから、当時としても驚かれていたのですよ。
今でもAVRのSoftUSBが、そんな感じのコードですね。いい意味でとってもアマチュア的。
ハードウェアの構造として時代遅れなのであって、プログラムとして特に高度なことをしてるわけじゃないんだけど?
MacのFDDはBDのように(角速度一定ではなく)線速度一定だった記憶があるけど、AppleIIはどうだったんでしょう。
角速度一定です。フロッピーに位置決めの穴が開いていますが、全てソフトで管理しているので穴は見ていません。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
あれのDOSの大変なところは (スコア:0)
汎用ロジック+プログラムでフロッピーディスクに読み書きをすると言う点じゃないかと。
アセンブラバリバリで、この命令が〇クロックで動くから、ああしてこうしてという職人芸のソースコードなのでしょう。
実際、Apple ][のゲーム等でプロテクトがかけられたとき、解析の糸口として使いまわされるリードルーチンを探してから解析したと聞いてます(………つまり、難読化をしてなかったわけだな)。
Re: (スコア:0)
この命令が〇クロックで動くから、ああしてこうしてという職人芸のソースコードなのでしょう。
“The source code of the low-level read/write routines by Steve Wozniak and Randy Wigginton.” とコメントされてる Apple_DOS_RW_30May1978.txt [amazonaws.com] 見ても、とてもそんな感じの内容ではないですが。
Re:あれのDOSの大変なところは (スコア:1)
APPLE2のディスクコントローラはバッファがないので、厳密なクロック数で1バイトずつI/Oアドレスに書き続ける実行するコードを書かないと、正しくディスクにデータを書き込むことができません。例えば8サイクルで書き込むとデータとして扱われ、10サイクルで書き込むと同期バイトとして扱われる…みたいな感じです。
また、if文の様な条件分岐では1サイクル追加されるので、アセンブルするアドレスにも気を遣う必要があります。
Re: (スコア:0)
それってそういうハードでは当たり前でしょう? どこが職人芸??
Re: (スコア:0)
そのころすでに「それってそういうハード」が当たり前ではなくなっていたから、
当時としても驚かれていたのですよ。
Re: (スコア:0)
今でもAVRのSoftUSBが、そんな感じのコードですね。いい意味でとってもアマチュア的。
Re: (スコア:0)
ハードウェアの構造として時代遅れなのであって、プログラムとして特に高度なことをしてるわけじゃないんだけど?
Re: (スコア:0)
MacのFDDはBDのように(角速度一定ではなく)線速度一定だった記憶があるけど、AppleIIはどうだったんでしょう。
Re: (スコア:0)
角速度一定です。フロッピーに位置決めの穴が開いていますが、全てソフトで管理しているので穴は見ていません。