Version : 0.26.05.17 TEST バージョン : 0.26.05.17 TEST

Author : Makoto Kamada 作者 : Makoto Kamada

Website : https://stdkmd.net/xeij/ ウェブサイト : https://stdkmd.net/xeij/

Table of contents目次

  1. Introductionはじめに
  2. Recent changes 最近の更新
  3. Past changes 過去の更新
  4. Download ダウンロード
  5. Install インストール
  6. Explanation of menu メニューの説明
  7. Configuration file 設定ファイル
  8. Parameters パラメータ
  9. Source code ソースコード
  10. Functions and features 機能と特徴
  11. About IPLROM 1.6 IPLROM 1.6について
  12. Explanation of misc/* misc/*の説明
  13. Execution examples 実行サンプル
  14. Try to run the NetBSD/x68k NetBSD/x68kを動かしてみる
  15. Reference materials 参考資料
  16. Link collection リンク集
  17. License / Copyright / Disclaimer 使用許諾条件/著作権/免責事項
  18. Acknowledgement 謝辞
  19. Contact information 連絡先

1. Introduction はじめに

XEiJ (X68000 Emulator in Java) is an experimental X68000 emulator written in the Java language. Although XEiJ is an emulator, the sameness to real machines over the details of peripheral circuits is not necessarily top priority. I enjoy thinking new form of X68000 rather than copying old form. When I hit on an idea of an implementation method or a new function, I begin to write a program first of all even if I can not see its entire structure. If the idea goes nowhere, I put it aside until another idea occurs to me. I repeat such things. As a result, many unfinished parts are seen here and there. But I believe that it is meaningful to release XEiJ to the public if any comment in the source code helps someone. XEiJ (X68000 Emulator in Java) は Java 言語で記述された実験的な X68000 エミュレータです。エミュレータといっても周辺回路の隅々まで実機とまったく同じものを作ろうとしているわけではなく、どちらかと言えば X68000 の新しい形を考えることを楽しんでいます。実装方法のアイデアや新しい機能を思い付いたら全体像など見えなくてもとりあえずプログラムを書き始め、詰まったらまた何か湧いてくるまで脇に置いておく、そんなことを繰り返しているので ソースコード は作りかけのところばかりですが、注釈のどれか 1 つでも誰かの役に立つことがあれば公開する意味があると思っています。

2. Recent changes 最近の更新

0.26.05.17 TEST

RS-232C and terminal window RS-232C とターミナルウインドウ

Dragging the dotted line (divider) at the top of the communication settings pane upward will narrow the connection pane and widen the terminal pane. You can view the hidden portion of the connection pane by using the scroll bar. 通信設定の枠の上側にある凹凸線 (ディバイダ) を上にドラッグすると、接続の枠が狭くなり、ターミナルの枠が広くなります。 接続の枠の隠れた部分はスクロールバーを操作すると見えます。

The modification section has been removed. The 7.3728 MHz checkbox has been moved to the SCC menu. 改造の枠を廃止しました。7.3728MHz チェックボックスはSCC メニューへ移動しました。

The transfer section has been changed to the command section. 転送の枠をコマンドの枠に変更しました。

The set clock button has been added to the command section. When the date and time on a real X68000 machine are incorrect -- for example, due to a dead SRAM battery -- this button allows you to set the date and time using the DATE and TIME commands with a single click. コマンドの枠に時計合わせボタンを追加しました。SRAM の電池切れなどで X68000 実機の日時が合っていないとき、DATE コマンド TIME コマンドで日時を合わせる作業をボタン 1 つで済ませます。

The default communication setting has been changed from 38400 bps to 19200 bps. 通信設定のデフォルトを 38400bps から 19200bps に変更しました。

SCC menu SCC メニュー

The SCC menu has been added to the config menu. 設定メニューSCC メニューを追加しました。

5 MHz radio button and 7.3728 MHz radio button 5MHz ラジオボタンと 7.3728MHz ラジオボタン

These are the same as the 7.3728 MHz checkbox found in the RS-232C and terminal window. Select the SCC oscillator frequency from 5 MHz or 7.3728 MHz. The default is 5 MHz. This setting is saved in the parameter sccfreq. これらはRS-232C とターミナルウインドウにあった 7.3728MHz チェックボックスと同じものです。SCC のオシレータの周波数を 5MHz と 7.3728MHz から選びます。 デフォルトは 5MHz です。 この設定はパラメータ sccfreqに保存されます。

Communication is not possible at transfer speeds that are not supported by the host machine's serial port. ホストマシンのシリアルポートが対応していない転送速度では通信できません。

Nominal vs. theoretical baud rate ボーレートの公称値と理論値の比較
mode モード SCC set value SCC 設定値 at 5MHz 5MHz のとき at 7.3728MHz 7.3728MHz のとき
nominal 公称値 theoretical 理論値 error 誤差 nominal 公称値 theoretical 理論値 error 誤差
0208175.00075.012+0.000112.500110.610-0.017
11040150.000149.952-0.000225.000221.113-0.017
2519300.000299.904-0.000450.000442.226-0.017
3258600.000600.962+0.002900.000886.154-0.015
41281200.0001201.923+0.0021800.0001772.308-0.015
5632400.0002403.846+0.0023600.0003544.615-0.015
6314800.0004734.848-0.0147200.0006981.818-0.030
7149600.0009765.625+0.01714400.00014400.0000.000
8619200.00019531.250+0.01728800.00028800.0000.000
9238400.00039062.500+0.01757600.00057600.0000.000
10076800.00078125.000+0.017115200.000115200.0000.000

Configuration file 設定ファイル

If more than 10 MB of data from main memory or high memory needs to be restored or saved at startup or shutdown, the progress will be displayed in the terminal where Java is running. 開始時と終了時にメインメモリやハイメモリの内容を 10MB 以上復元または保存するとき、Java を実行したターミナルに進捗を表示します。

Cache mode at startup 起動時のキャッシュモード

Added the cache mode at startup menu to the MPU menu. MPU メニュー起動時のキャッシュモードメニューを追加しました。

This option rewrites the cache mode stored in SRAM at boot time. Although XEiJ does not have these caches physically, this setting affects the operating speed of models equipped with caches because it changes the cache miss penalty time. 起動時に SRAM にあるキャッシュモードを書き換えます。XEiJ にこれらのキャッシュの実体はありませんが、キャッシュミスペナルティの時間が変化するため、キャッシュのある機種の動作速度に影響します。

This setting is saved in the parameter cache. この設定はパラメータ cacheに保存されます。

Startup sound 起動音

Added the startup sound menu to the sound menu. 音声メニュー起動音メニューを追加しました。

This option rewrites the startup sound settings stored in SRAM at boot time. The feature to play a startup sound is available in IPLROM 1.3 for the X68030 and IPLROM 1.6. The feature to change the keycode for the startup sound is available in IPLROM 1.6. 起動時に SRAM にある起動音の設定を書き換えます。 起動音を鳴らす機能は X68030 の IPLROM 1.3 と IPLROM 1.6 にあります。 起動音のキーコードを変更する機能は IPLROM 1.6 にあります。

This setting is saved in the parameter stupsnd. この設定はパラメータ stupsndに保存されます。

Immediately after startup, the system may be under heavy load, so the startup sound may not play clearly. 起動直後は負荷が嵩むため、起動音が綺麗に聞こえないことがあります。

Cleanup 終了処理

Sections that relied on the interrupt status flag during the cleanup process have been removed. (Thanks tantan) 終了処理の過程で割り込みステータスフラグに依存していた箇所を排除しました。(Thanks tantan)

0.26.05.08

OpenJDK 26.0.1

As of this writing, the latest OpenJDK is 26.0.1. Older versions of JDK may not work. Please use the latest OpenJDK if possible. これを書いている時点で最新のOpenJDKは 26.0.1 です。 これより古いバージョンの JDK では動作しないかも知れません。 可能な限り最新の OpenJDK を使用してください。

Flashing lights reduction 点滅光の軽減

Added the flashing lights reduction. 点滅光の軽減を追加しました。

The flashing lights reduction feature is designed to help prevent photosensitive seizures. Enabling this feature prioritizes safety over emulation accuracy. 点滅光の軽減は光過敏性発作予防のための機能です。 この機能を有効にするとエミュレーションの正確さよりも安全性が優先されます。

When you launch the app for the first time, a dialog will appear asking if you want to enable the flashing lights reduction. Once you select either“Yes (Y)”or“No (N)”in this dialog, it will no longer appear in future sessions. 初回起動時、点滅光の軽減を有効にするかを確認するダイアログが表示されます。 このダイアログは「はい (Y)」か「いいえ (N)」のどちらかを選ぶと次回以降は表示されなくなります。

You can configure the flashing lights reduction settings in the flashing lights reduction menu located in the accessibility menu. 点滅光の軽減の設定は、アクセシビリティメニューにある点滅光の軽減メニューで行います。

Stop flashing with palette パレットによる点滅を止める

Stop flashing caused by the palette. Specifically, when the palette register is written with a sequence of High→Low→High at short intervals, the second High output is suppressed. This has no effect if the flashing is caused by a method other than a square wave or the palette. パレットによる点滅を止めます。 具体的には、パレットレジスタに短い間隔で High→Low→High の書き込みがあったとき、2 回目の High の出力を抑制します。 矩形波でないかパレットでない方法で点滅している場合は効果がありません。

Limit contrast コントラストを制限する

Set an upper limit for the contrast so that the screen does not become brighter than that. コントラストの上限を決めて、画面がそれより明るくならないようにします。

Brighten screen slowly 画面を徐々に明るくする

The screen brightens gradually rather than all at once. 画面がぱっとではなくふわっと明るくなります。

Accessibility menu アクセシビリティメニュー

The accessibility menu has been added to the config menu, and it now includes the flashing lights reduction menu, the font size menu, and the color menu. 設定メニューアクセシビリティメニューを追加し、点滅光の軽減メニューフォントサイズメニュー色メニューを配置しました。

Display menu 画面メニュー

Some item names of the display menu have been changed. The functionality remains the same. 画面メニューの項目名を一部変更しました。 機能は変わっていません。

0.26.04.08

OpenJDK 26

As of this writing, the latest OpenJDK is 26. Older versions of JDK may not work. Please use the latest OpenJDK if possible. これを書いている時点で最新のOpenJDKは 26 です。 これより古いバージョンの JDK では動作しないかも知れません。 可能な限り最新の OpenJDK を使用してください。

SASI hard disk SASI ハードディスク

Fixed an issue where the first external transfer request during the data transfer phase occurred too early, causing a hang. データ転送フェーズの最初の外部転送要求が早すぎてハングアップする問題を修正しました。

crtmodtest.x

The hyphen has been removed. ハイフンを撤去しました。

fullpat.x and fullpat.fnc fullpat.x と fullpat.fnc

Added fullpat.x and fullpat.fnc. These are a driver that adapts sprite-related IOCS calls to support full pattern memory, and an external function for X-BASIC that utilizes it. fullpat.xfullpat.fncを追加しました。 スプライト関連の IOCS コールをフルパターンメモリに対応させるドライバと、それを活用する X-BASIC 用の外部関数です。

Address translation cache monitor アドレス変換キャッシュモニタ

Cash mode is also displayed. キャッシュモードも表示されます。

MC68060

The MOVES instruction replaces the instruction space (2 or 6) with the data space (1 or 5). MOVES 命令は命令空間 (2 または 6) をデータ空間 (1 または 5) に読み替えます。

When a table search fails, the FSLW TM becomes either the MMU data space (3) or the MMU instruction space (4). テーブルサーチに失敗したとき、FSLW の TM は MMU データ空間 (3) または MMU 命令空間 (4) になります。

The cache mode is reflected in the cache miss penalties for main memory, ROM, and high memory. Specifically, when a transparent translation hit occurs, the cache mode set in DTT0/DTT1/ITT0/ITT1 is applied; when address translation is enabled via the translation control register (TCR), the cache mode set in the page descriptor is applied; otherwise, the default cache mode set in the TCR is applied. メインメモリ、ROM およびハイメモリのキャッシュミスペナルティに、キャッシュモードが反映されます。 具体的には、透過変換がヒットしたときは DTT0/DTT1/ITT0/ITT1 に設定されたキャッシュモードが、変換制御レジスタ TCR でアドレス変換が有効なときはページデスクリプタに設定されたキャッシュモードが、さもなくば、TCR に設定されたデフォルトキャッシュモードが反映されます。

Fixed a bug where FMOVEM.L (Ar)+,<list> and FMOVEM.L <list>,(Ar)+ applied the increment for Ar to Dr instead of Ar. It appears this bug occurred when the transfer order for -(Ar) was corrected. (Thanks カタ) FMOVEM.L (Ar)+,<list> と FMOVEM.L <list>,(Ar)+ が Ar の増分を Ar でなく Dr に加えるバグを修正しました。-(Ar) の転送順序を修正したときにエンバグしたようです。(Thanks カタ)

Rounded corner adjustment 角丸調整

Added rounded corner adjustment. The rounded corner adjustment prevents the corners of the screen from being cut off when switching to full-screen mode, provided the monitor has rounded corners and its aspect ratio is similar to that of the X68000 screen. This setting must be configured manually. Use the rounded corner ratio spinner in the display menu to specify the radius of the rounded corners as a percentage of the shorter side's length, then switch to full-screen mode. This setting is saved in the parameter roundedcornerratio. (Thanks カリーあげ正太) 角丸調整を加えました。 角丸調整は、モニタの角が丸く、モニタと X68000 の画面の縦横比が近いとき、全画面表示にすると画面の角が欠ける問題を回避します。 この項目は手動で設定する必要があります。 画面メニュー角丸率スピナーで、短辺の長さに対する角丸の半径をパーセントで指定してから、全画面表示に切り替えてください。 この設定はパラメータ roundedcornerratioに保存されます。(Thanks カリーあげ正太)

The rounded corner shape is based on a Fermat cubic curve. 角丸の形状はフェルマー 3 次曲線を想定しています。

Aspect ratio アスペクト比

Fixed an issue where 1024x424 images were displayed extremely wide. 1024x424 が極端な横長に表示される問題を修正しました。

Added 640x480 and 1024x848 to the aspect ratio menu. アスペクト比メニューに 640x480 と 1024x848 を追加しました。

Text screen copy テキスト画面コピー

Fixed a bug where the position of the red border displayed when selecting range of the text screen copy with a mouse on a Retina display was misaligned. (Thanks Hiroyuki Iwatsuki) Retina ディスプレイを使用しているとき、テキスト画面コピーのコピー範囲をマウスで選択するときに表示される赤枠の表示位置がずれるバグを修正しました。(Thanks Hiroyuki Iwatsuki)

3. Past changes 過去の更新

4. Download ダウンロード

――Read more―――― 続きを読む ―― ――Hide more―――― 続きを隠す ――

5. Install インストール

6. Explanation of menu メニューの説明

7. Configuration file 設定ファイル

8. Parameters パラメータ

9. Source code ソースコード

10. Functions and features 機能と特徴

11. About IPLROM 1.6 IPLROM 1.6 について

12. Explanation of misc/* misc/* の説明

13. Execution examples 実行サンプル

14. Try to run the NetBSD/x68k NetBSD/x68k を動かしてみる

15. Reference materials 参考資料

16. Link collection リンク集

17. License / Copyright / Disclaimer 使用許諾条件 / 著作権 / 免責事項

18. Acknowledgement 謝辞

I would like to thank: Right-holder companies and staffs of the SHARP PRODUCTS USERS FORUM who made efforts to distribute the basic software products of X68000 for free to the public. Keitarou Hiraki and Num Kadoma, they distribute beautiful fonts. Authors of free software that are used as execution examples of XEiJ. Everyone who reported problems and supported XEiJ by warm messages. X68000 の基本的なソフトウェアの無償公開に尽力された権利各社およびシャープ・プロダクツ・ユーザーズ・フォーラムの方々、美しいフォントを公開されている平木敬太郎さん、門真なむさん、実行サンプルとして使わせていただいたフリーソフトウェアの作者の方々、動作報告と応援のメッセージを寄せてくださった皆さん、ありがとうございます。

19. Contact information 連絡先

Makoto Kamada

X

@kamadox

Discord

kamadox68k

E-mail メール

E-mail