6802アセンブラで逆アセンブラ形式の出力に対応

6802アセンブラで逆アセンブラ形式の出力に対応した。こんな感じで出力する。とりあえず相対分岐命令の時にラベル名を出すようにした。理想的にはアドレッシングモードがdirectとextendedのときもラベル名を出すべきな気もするけどまだできていない。まあいいか。だいぶ完成形に近づいてきた気がするな。 … “6802アセンブラで逆アセンブラ形式の出力に対応”の続きを読む

R6522のシフトレジスタの挙動が分からない

R6522のシフトレジスタの挙動をデータシートをもとに調べていますが、理解できないところが多い。 モード0: SRが無効になるモードなのに、CB1の立ち上がりエッジでCB2にシフトアウトするように読める。(“In this mode the microprocessor can writ … “R6522のシフトレジスタの挙動が分からない”の続きを読む

6802用アセンブラを作る(5) 一応完成

ひとまず仕様をfixさせ、ユーザーズガイドを作成しました。結局構文解析部分は命令毎に規則を書き下す方式にしました。状態遷移表の状態数は740状態、遷移数は3445個です。これくらいなら許容範囲かな? 規則部はこんな感じ。各命令に対応するシンボルから始まり、それぞれの命令で指定可能なアドレシングモード … “6802用アセンブラを作る(5) 一応完成”の続きを読む

6802用アセンブラを作る(4) JR-100でのテスト

作成したアセンブラのプロトを使って、JR-100の実機試してみました。最終的な目的はJR-100に搭載されているVIA(6522)のテストのためなので、マシン語から直接VIAのレジスタを叩いてJR-100のスピーカーから音階を鳴らしてみました。JR-100への入力は同じく自作のFSKプレイヤーを使い … “6802用アセンブラを作る(4) JR-100でのテスト”の続きを読む

6802用アセンブラを作る(3) プロトタイプ完成

構文解析部分で少し悩みましたが、ひとまずプロトタイプはできました。パーサーを自分で作るのとは異なり、ジェネレータを使うとエラー処理をうまく書くのが難しいです。いまのところ最低限の処理しか実装していません。またたまに例外を発生しますのでお気を付けを……。 2017/3/25追記 アセンブラの正式版の説 … “6802用アセンブラを作る(3) プロトタイプ完成”の続きを読む

6802用アセンブラを作る(2) JFlexとCUPの導入

6802用アセンブラの構文解析部分を、将来の拡張性を見据えて、自前で作成するのではなく字句解析にJFlex、構文解析にCUPを使って作成することにしました。この記事ではそれぞれの導入と、それらを使った構文解析部分のプロトタイプを紹介します。 インストール 以下の環境にインストールするためのメモを記し … “6802用アセンブラを作る(2) JFlexとCUPの導入”の続きを読む

6802用アセンブラを作る(1) はじめに

VIA(6522)の動作をJR-100上で試すために、マシン語をハードコーディングする必要があります。中学生の頃は16進数のマシン語コードのまま平気でハードコーディングできましたが、この歳になるとさすがにつらい。 web上ではMS-DOS用のものなどが公開されていますが、JR-100エミュレータ用に … “6802用アセンブラを作る(1) はじめに”の続きを読む

JR-100のプログラムデータを再生するツール

JR-100: 全体

JR-100ではプログラムを音声データにより外部媒体(カセットテープ)に保存することが可能です。この音声データ(仕様)を再生するプログラムを作成しました。目的は、JR-100のVIAのエミュレーションを正しく行うために、VIAの仕様書を読むだけでは理解できない動作をJR-100実機を使って検証するた … “JR-100のプログラムデータを再生するツール”の続きを読む

PNG API

自前で進めている古パソコンの解析作業(古パソコンの部屋参照)を進めるにあたって、文字フォントのビットマップから画像ファイルを機械的に生成するために、ビットマップデータから画像ファイルへの変換プログラムが必要になった。ブラウザで画像が見られることを前提としたため当初はGIFを検討したが、GIFを生成す … “PNG API”の続きを読む

MMLプレイヤ

古いパソコンのエミュレータ作成の一環として、各種音源ICのエミュレーションをしたいと思っています。また、昔さんざんいじったMMLを使って今のマシンから簡単に音楽演奏できたら楽しそうだと考えました。そこで、Javaのプログラミングテクニック向上も兼ねて、プレイヤを自作することにしました。 プログラム … “MMLプレイヤ”の続きを読む