問題タブ [retro-computing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
3727 参照

boot - フロッピー ディスク (NON-DOS) から起動可能な Amiga アプリケーションを開発するには?

「 Amiga アプリケーションをコーディングしてコンパイルするにはどうすればよいですか? 」という質問の続きですが、フロッピー ディスクから Amiga アプリケーションを起動するには、どの開発ライブラリが必要ですか?

更新: (2012-04-10) 質問が解決したと見なすために、タイトルと本文を編集してライブラリのみに焦点を合わせました。別の質問で尋ねることができるフロッピー展開ツールからの起動がまだありません。

0 投票する
9 に答える
8255 参照

retro-computing - コモドール64で画面の境界線に描画します

私はこの好奇心を25年間持っており、そのトリックを理解したいと思っています。

コモドール64では、国境は6569VICによって対処できませんでした。カーソルが移動した中央の領域にピクセルを描画するだけで済みました。境界線は常に均一でしたが、正しく覚えていれば、ポーク53280、colorで色を変更できます。

それでも、完全にアドレス可能であるかのように、境界線がグラフィックで特徴づけられたゲームのイントロをはっきりと覚えています。私はそれがどのように機能するかを理解しようとしましたが、要点に到達しませんでした。伝説によると、それはスプライトの巧妙な使用であり、状況によっては境界線に描画される可能性がありますが、それが都市伝説であるかどうかはわかりません。

編集:提供されたリンクの1つからこれを読んでください

スプライトは垂直ラスターライン全体に多重化されました(8つ以上のスプライト、場合によっては最大120のスプライト)。GroupCrestが2007年5月にKrestage3をリリースするまで、1つのラスターラインに表示できるスプライトは8つまでであるという一般的な認識がありましたが、新しいY座標を割り当てると、画面のさらに下に再表示されました。

これは悪です....ラスターを打ち負かし、そこに到達する前にスプライトを再配置します...

0 投票する
7 に答える
3951 参照

assembly - 8080 から x86 へのアセンブラー変換ツールはどこにありますか?

編集、グッドニュース!

10 年後、私はついに腰を据えてこれを実現する必要があると判断しました。必要な convert-8080-to-z80-or-x86 および convert-z80-to-x86 ツールを作成し、Sargon コードを x86 コードに変換し、以下で説明するように検索の深さを増やし、基本的にすべての目標を達成しました。プロジェクトのウェブサイト

レトロ コンピューティング プロジェクトでは、1970 年代の 8080 アセンブリ言語の本体を x86 形式に変換する必要があります。まさにそれを行うためのツールが、Intel の 80x86 ファミリの導入に関するマーケティングの重要な部分であった時期がありました。しかし、私のグーグル スキルは、その元のツールまたは類似のものを見つける仕事には及ばないようです。そのようなツールがどこでも利用できるかどうかは誰にもわかりませんか?

編集

私がやろうとしていることをより明確にするために、いくつかの背景情報を追加することにしました。これは一般的な関心のためであり、さらにフィードバックを引き出すためのものです。

以前のプロジェクトで、私は 1970 年代のチェス プログラムである Microchess を調べ、著者の Peter Jennings の協力を得て、現代のマシンで実行できるようにしました。Peter は彼の Web サイトで Microchess の話を詳しく説明し、6502 アセンブリ言語のソースを提供しました。私の貢献がストーリーに追加され、次の場所で見つけることができます。

http://benlo.com/microchess/microchess9.html

私がそのプロジェクトに取り組んだ方法は、手作業でコードを最小限に変換して、C 言語のセマンティクスに一致させることでした。たとえば、これを変換しました。

これに;

必要な 6502 命令すべてに対応する C プリプロセッサ マクロを作成しました。たとえば、LDYi() は、エミュレートされたレジスタ Y に (i) 中間値をロードします。

しばらくして、ドイツ人の Andre Adrian が私のコードを取得し、最新のチェス GUI からコードを駆動できるようにするインターフェイスを追加したことを発見しました。いいですね、考えればよかったのに。これは彼のウェブサイトで見ることができます。

http://www.andreadrian.de/schach/index.html

同じページ (Google 翻訳を使用) で、彼は元のバージョンの Sargon にリンクしています。これは、別の古典的なチェス プログラムであり、おそらくレトロなチェスの古典であり、誰かがこのコードを私が行ったのと同じ方法で生き返らせてくれることを願っています。マイクロチェス (とにかく、Google 翻訳が言っていることだと思います)。よしよし、私は奉仕するためにここにいる!今度は GUI インターフェースの追加もおろそかにするか、Andre と協力するか。

Sargon アセンブリ言語はこちらです。

http://web.archive.org/web/20040217034933/madscientistroom.org/chm/Sargon.html

Andre は不要なものをすべて削除し、アセンブリ言語コードだけをここに残しました。

http://www.andreadrian.de/schach/sargon.asm

さて、プロットは厚くなります。Andre は、エミュレーターを使用して、この機能を自分で動作させようとしました。(2012 年 1 月 3 日編集 - Andre はこれを大幅に前進させ、最新の PC で古い Sargon コードを実行できるようになりました - 以下の彼の回答と上にリンクされている彼の Web サイトを参照してください)。しかし、彼が理解しているとは思えない複雑な問題があります。Sargon コードは、実際には Z80 をターゲットにしています。しかし、アセンブリ言語は通常の Z80 アセンブリではなく、代わりに 8080 アセンブリであり、Z80 のみの命令に奇妙な Intel スタイルのニーモニックが使用されています。いくつかの背景。Zilog Z80 は、Intel 8080 のサード パーティの子孫です。8080 命令セットのバイナリ互換スーパーセットを使用します。Zilog は、Z80 用に、よりクリーンで、より直交的であるが (ソース レベルで) まったく異なるアセンブリ言語を提供することを決定しました。サードパーティ (第 4 の?) パーティは、これが悪い決定であると明確に判断し、Z80 拡張機能を Intel のような方法で表現した、別の Intel スタイルの Z80 アセンブラを作成しました。あるいは、既存の 8080 アセンブラのマクロ機能を使用して Z80 拡張機能を追加しただけかもしれません。それは問題ではありません; 複雑なのは、Sargon コードがこのかなり奇妙なハイブリッド アセンブラを使用していることです。

Z80 のエミュレーションや私の Microchess プロジェクトからの C マクロ アプローチの繰り返しではなく、8080 から x86 へのトランスレータが必要な理由がいくつかあります。

1) 今回はもっと多くのコードがあります。最小限の変換であっても、できれば行ごとの編集は避けたいと思います。

2) 今回はコードをフルスピードで実行したい。マイクロチェスではできなかった、検索の深さを増やすことができるように思えます。チェスのコードは CPU サイクルを消費します。

3) 便利なエミュレーション ソリューションがあったとしても、このようなものをアセンブルする必要があります。これは、奇妙なアセンブラ規則を考えると問題です。しかし、すべての 8080 ニーモニックを x86 に変換できれば、x86 の土地で快適に作業でき、Z80 拡張の <10% 程度の行を同等の x86 コードに手で変換するだけです。

とりとめのない投稿で申し訳ありません。うまくいけば、少なくとも1人がそれを面白いと思うでしょう。もう 1 つの要求。伝説的な Sargon プログラマーである Dan と Kathe Spracklen の祝福を得たいと思っています。しかし、彼らはウェブでの存在感をまったく持っていないようです. Dan Spracklen は LinkedIn を利用していますが、アカウントが機能していないようで、応答がありません。この人たち、または連絡方法を知っている人がいたら教えてください。

0 投票する
3 に答える
5819 参照

graphics - モード 0Dh での DOS EGA グラフィックス プログラミング

私は楽しみのために少しレトロなプログラミングをしています。私が作成したいのは、EGA グラフィックスを使用した DOS ゲームですが、Web 上で適切なリファレンスを見つけるのに少し苦労しています。DOS プログラミングについて話す人は皆、プログラマーがモード 13h を使用することを想定しています。他のグラフィック モードについて言及しているページもありますが、それらの適切な使用法について説明しているページはまだ見つけていません。

これが私が今働こうとしているものです:

このサンプル コードは、set_video_mode() を 0x0d の代わりに 0x13 を取るように変更するとうまく機能しますが、前述したように、ここでは VGA ではなく EGA グラフィックを取得しようとしています。:) ピクセルあたり 4 ビットを実行するには、plot_pixel が同時に 2 つのピクセルを書き込むと仮定するか、少しいじって、4 ビットのみを書き込むようにする必要があることを認識しています。実際に欲しい。

私の問題は、期待どおりの出力が表示されないことです。特に、色がありません。すべてが単色に見えますが、これは私が望んでいるものではありません。このグラフィック モードでカラー パレットを使用するには、13h とは異なる手順がありますか? それとも、意図したものとはまったく異なるグラフィック モードを何らかの方法で呼び出したのでしょうか? ガイダンスをいただければ幸いです。

コンパイラの引数は関係ないと思いますが、念のため:

0 投票する
5 に答える
4667 参照

macos - Mac OS Classic の開発に関するリソースはどこで入手できますか?

私は最近退屈して古い Mac OS Classic エミュレーターを起動し、そのシステム用の昔ながらのアプリケーションを書くことに懐かしくなりました。だから、私の質問:

  1. Classic をターゲットにできる開発ツールはどこで入手できますか? (これはただの楽しみのためなので、理想的には無料ですが、eBay で CodeWarrior の中古バージョンを入手するのが最善の方法である場合は、それで構いません。)
  2. Carbon/System Toolbox を推測して確認する必要がないように、少なくとも参考資料はどこで入手できますか?
  3. 私が行き詰まったときに古い学校の Mac に関する質問に答えてくれるフォーラムがまだ開催されていますか?

これは純粋に楽しむためのものです。知っている。

0 投票する
5 に答える
2885 参照

retro-computing - レトロなビデオゲームのプログラミング

スーパー マリオ ブラザーズ -1 ワールドの不具合を youtube で見たところ、これらのゲームの背後にあるコードについて本当に疑問に思い始めました。どの言語が使用されましたか? ビデオ ゲーム コンソールの OS はどうですか? このテーマに関するリソースが掲載されている Web サイトはありますか? (私は 90 年代のビデオ ゲーマーなので、これらのゲームの背後にあるプログラミングに特に興味がありますが、必要に応じて、これを wiki にして、ビデオ ゲーム プログラミング全般に関するリソースへのリンクを含めてください)

0 投票する
7 に答える
3340 参照

embedded - どの Ford から移植を開始しますか?

1 つまたは複数のレトロ コンソール プラットフォームでゲーム開発を容易にすることを目的とした、新しいForthシステムの開発を検討しています。私は Forth の初心者で、どの Forth コードベースから移植を開始するかを決めるのに助けが必要です。

私は基本的に、特定の Forth と互いの長所/短所を探しています。JonesFORTHのソースを読み、それに対する賞賛と批判、および ANS に関する議論を読みましたが、残念ながらかなり混乱したままです。Forth コミュニティは、私が知る限り、標準準拠の問題に沿ってかなり残酷に分かれているようで、標準が良いものであると同時にひどいものである理由について、両方の陣営によって非常に良い議論がなされています。しかし、標準が正確に何を変更するかについて、必要以上に複雑で肥大化するという一般的な感覚を除いて、良い実用的なアドバイスを見つけることができないようです.

アセンブリーや C での開発の可能性に現在怯えているプログラマーや愛好家のために、開発を容易にしたいと考えています。教育を受けた決定。

0 投票する
1 に答える
219 参照

graphics - Applesoft Basic から Apple 2 の DHR にアクセスする方法はありますか

Apple 2 で 80 カラム カードを搭載した Applesoft Basic を使用する場合、POKE のみを使用して DHR グラフィックスを作成する方法はありますか?

Beagle Graphicsなどのサードパーティの拡張機能を使用したソリューションをいくつか見つけましたが、自分で実装したいと思っています。Nibble の雑誌の所蔵品や基本的な書籍を検索しましたが、詳細な情報は見つかりませんでした。

ウィキペディア:

ダブルハイレゾ ダブルハイレゾ画面の構成は非常に複雑です。64:1 のインターリーブに加えて、個々の行のピクセルは通常とは異なる方法で格納されます。各ピクセルは通常の半分の幅で、ピクセルの各バイトは 64KB メモリの最初と 2 番目のバンクの間で交互に使用されます。3 つの連続したオン ピクセルが白であった場合、2 倍の高解像度では 6 つが必要になりました。事実上、Lo-Res グラフィックス ブロックでカラーを作成するために使用されるすべてのピクセル パターンは、Double Hi-Res グラフィックスで再現できます。その RAM ディスクの ProDOS 実装は、/RAM に保存された最初の 8 KB ファイルが設計により 0x012000 から 0x013fff にデータを保存するようにすることで、Double Hi-Res 画面へのアクセスを容易にしました。また、2ページ目も可能でしたが、2 番目のファイル (またはそれより大きい最初のファイル) は、そのデータを 0x014000 から 0x015fff に格納します。ただし、ProDOS ファイル システムを介したアクセスは低速であり、メモリ要件を超えて、Double Hi-Res でのページめくりアニメーションにはあまり適していませんでした。

ウィキペディアは、DHR が 64:1 インターレースを使用していると述べていますが、実装については言及していません。さらにウィキペディアは、/RAM ディスクを使用してアクセスできると言っていますが、実装への参照はありません。

Connet の Circle パターンの単純なバージョンをプロットする小さなプログラムを作成しています。速度は解像度ほど重要ではありません。

0 投票する
1 に答える
320 参照

graphics - オリジナルのオレゴン トレイルのパロディ/リメイクを作成するための言語を推奨できる人はいますか?

兄と私は Apple II エミュレーターでオリジナルの Oregon Trail をプレイしています。とても楽しいです。パロディのようなものですが、同じコンセプトと類似のエンジンのクローンを作成したいと考えています。また、非常に類似した解像度と同じスタイルのローカラー ビットマップ グラフィックを使用することで、クラシックなレトロな魅力を維持したいと考えています (例:ゲーム: http://www.youtube.com/watch?v=QBOLN7I8omY )。

私の質問は、これを達成するための最も簡単な、または推奨される言語は何ですか? C を使用する必要がありますか? C でこのようなビットマップ グラフィックスを作成するのは難しいですか? 子供の頃に QBasic を使ってゲームを作成していたことは知っていますが、記憶が正しければ、文字列の配列を介してビットマップ メソッドを使用してグラフィックスを作成していました。それは次のようなものでした。

ここで、各 2 桁の数字はピクセルであり、数字に基づいて色付けされています...

とにかく、ここで十分な情報を提供したと思います。お勧めしません:)

編集: 私はキャリアのこの時点で、C# の構文スタイルに最も精通しています。

0 投票する
2 に答える
384 参照

winapi - win32でファイルを読む

win32 で古い学校の mmorpg をプログラミングしています (非常に古いマシンで実行されるはずです)。ASCII または Unicode (まれに) のファイルを読み取り、その行数をカウントしたいと考えています。これらのマシンのメモリは非常に少ないため、RAM に一度に 4KB 以上を保持することはできません。

何か案は?ありがとう