XEiJ (X68000 Emulator in Java)- XEiJ - STUDIO KAMADA

Version : 0.25.12.08 バージョン : 0.25.12.08

Author : Makoto Kamada 作者 : Makoto Kamada

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

### Table of contents 目次

1. Introduction はじめに
2. Recent changes 最近の更新
   - 0.25.12.08
   - 0.25.11.08
   - 0.25.10.08
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.25.12.08

#### Palette viewer window パレットビュアウインドウ

Added the Palette viewer window. パレットビュアウインドウを追加しました。

Clicking the palette viewer button in the display menu opens the palette viewer window. 画面メニューのパレットビュアボタンをクリックするとパレットビュアウインドウが開きます。

##### Arrgt drop-down list 配置ドロップダウンリスト

Use the Arrgt drop-down list to select the page from G, TS, H or V. G displays the graphic palette, TS displays the text and sprite palette, H displays both in horizontal alignment, and V displays both in vertical alignment. The default is H. This setting is saved in the parameter plvarrgt. 配置ドロップダウンリストを用いて表示するページを G、TS、H または V から選択します。G はグラフィックパレット、TS はテキストおよびスプライトパレット、H は両方を横並びで、V は両方を縦並びで表示します。 デフォルトは H です。 この設定はパラメータ plvarrgtに保存されます。

##### Scale drop-down list 倍率ドロップダウンリスト

Use the Scale drop-down list to select the display scale from 1/2 to 16. The default is 1. This setting is saved in the parameter plvscale. 倍率ドロップダウンリストを用いて表示倍率を 1/2～16 から選択します。 デフォルトは 1 です。 この設定はパラメータ plvscaleに保存されます。

##### Hex checkbox Hex チェックボックス

When the Hex checkbox is ON, the header numbers are displayed in hexadecimal. The default is OFF. This setting is saved in the parameter plvhex. Hex チェックボックスが ON のときヘッダの数字が 16 進数で表示されます。 デフォルトは OFF です。 この設定はパラメータ plvhexに保存されます。

##### Text field テキストフィールド

The text field displays the page, number, palette code, and color code of the palette pointed to by the mouse pointer. テキストフィールドにはマウスポインタが指しているパレットのページ、番号、パレットコードおよびカラーコードが表示されます。

##### Stop checkbox 停止チェックボックス

When the Stop checkbox is turned ON, the system copies the information at that point and transitions to the stopped state. In the stopped state, the system is decoupled from the X68000's operation, allowing you to observe the palette at the moment it was stopped. 停止チェックボックスを ON にするとその時点の情報を複製して停止状態に移行します。 停止状態では X68000 の動作と切り離され、停止した時点のパレットを観察できます。

##### Mouse operation マウスによる操作

Use the wheel to change the display scale. ホイールで表示倍率を変更できます。

Drag to change the display position. ドラッグで表示位置を変更できます。

Left-click stops updating the text field. Left-click again to resume. 左クリックでテキストフィールドの更新が停止します。 もう一度左クリックで再開します。

Right-click displays a pop-up menu. Selecting Copy as hexadecimal copies one line of palette data as a hexadecimal string to the clipboard. 右クリックでポップアップメニューが表示されます。16 進数でコピーを選択すると 1 行分のパレットのデータが 16 進数の文字列でクリップボードにコピーされます。

#### Sprite pattern viewer window スプライトパターンビュアウインドウ

The sprite pattern viewer window has been updated. スプライトパターンビュアウインドウを更新しました。

Display settings have been adjusted. 表示を調整しました。

The scale range has been changed. 倍率の範囲を変更しました。

Bank setting is saved in the parameter spvbank. バンクの設定がパラメータ spvbankに保存されます。

Size setting is saved in the parameter spvsize. サイズの設定がパラメータ spvsizeに保存されます。

Block setting is saved in the parameter spvblock. ブロックの設定がパラメータ spvblockに保存されます。

Flip setting is saved in the parameter spvflip. 反転の設定がパラメータ spvflipに保存されます。

Scale setting is saved in the parameter spvscale. 倍率の設定がパラメータ spvscaleに保存されます。

Added Hex checkbox. Hex チェックボックスを追加しました。

##### Hex checkbox Hex チェックボックス

When the Hex checkbox is ON, the header numbers are displayed in hexadecimal. The default is OFF. This setting is saved in the parameter spvhex. Hex チェックボックスが ON のときヘッダの数字が 16 進数で表示されます。 デフォルトは OFF です。 この設定はパラメータ spvhexに保存されます。

#### RS-232C and terminal RS-232C とターミナル

Fixed an issue where attempting to read the RTS of a terminal connected to the CTS of the AUX port via software returned a value of 0. AUX の CTS に接続されたターミナルの RTS をソフトウェアで読み出そうとすると 0 が返る問題を修正しました。

#### Troubleshooting XRender issues XRender の不具合対策

The occasional crash when displaying sub-windows in a Linux environment appears to be caused by XRender issues. To work around this problem, code has been added to set the system property `sun.java2d.xrender` to false at startup. If this proves ineffective (i.e., changing it at startup is too late), please specify it as a Java option as follows: Linux 環境でサブウインドウの表示がクラッシュすることがあるのは、XRender の不具合が原因のようです。 この問題を回避するため、起動時にシステムプロパティ sun.java2d.xrender を false にするコードを追加しました。 効果がない (起動時に変更しても間に合わない) 場合は、以下のように java のオプションとして記述してください。

    ~$ java -Dsun.java2d.xrender=false -jar XEiJ.jar ...

#### Keyboard キーボード

When converting key events to X68000 key inputs on macOS, if the extendedKeyCode is 0 and does not match any key, a re-search is performed using the keyCode instead of the extendedKeyCode. (Thanks Hiroyuki Iwatsuki) macOS で、キーイベントを X68000 のキー入力に変換するとき、extendedKeyCode が 0 かつどのキーともマッチしなければ、extendedKeyCode の代わりに keyCode を用いて再検索します。(Thanks Hiroyuki Iwatsuki)

Notation for mouse button status in the miscellaneous menu has been changed to print key and mouse button events. その他メニューのマウスのボタンの状態の表記をキーとマウスのボタンのイベントを表示に変更しました。

### 0.25.11.08

#### OpenJDK 25.0.1

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

#### jSerialComm-2.11.4

The jSerialComm library included with XEiJ has been updated to the latest version 2.11.4 at the time of writing. XEiJ に添付しているjSerialCommを、これを書いている時点で最新の 2.11.4 に更新しました。

jSerialComm-2.11.2 contained a bug that caused jSerialComm.dll to fail to generate on Windows, which could prevent XEiJ from launching. This bug has been fixed in the newly released jSerialComm-2.11.3. jSerialComm-2.11.2 に Windows で jSerialComm.dll の生成に失敗する不具合があり、XEiJ を起動できない場合がありました。 この不具合は新たに公開された jSerialComm-2.11.3 で修正されました。

- On Java 25 on Windows, the dll fails to load with an error · Issue #608 · Fazecast/jSerialComm

jSerialComm handles cached dll files carelessly, which can cause problems. Therefore, when XEiJ starts up, it deletes the cache directory and forces the dll files to be rebuilt each time. I believe it will also be somewhat effective in reducing security risks. jSerialComm はキャッシュされた dll ファイルの扱いが雑で問題を引き起こすことがあるので、XEiJ の起動時にキャッシュディレクトリを削除して毎回 dll ファイルを作り直させるようにしました。

#### FE function instructions FE ファンクション命令

Fixed an issue where specifying -1 for the number of decimal places in __USING did not omit the decimal point. (Thanks スズ ロウ) __USING で、小数部の桁数に -1 を指定したとき、小数点が省略されない問題を修正しました。(Thanks スズ ロウ)

Fixed an issue where the integer part was one digit short when using __USING with settings that prevent exponential notation and display the sign on the left side. __USING で、指数形式にしないかつ左側に符号を書く設定のとき、整数部の桁数が 1 桁不足する問題を修正しました。

#### Text and sprite palette テキストスプライトパレット

Fixed a bug where ArrayIndexOutOfBoundsException could occur when manipulating the text and sprite palette. (Thanks saku39) テキストスプライトパレットの操作で ArrayIndexOutOfBoundsException が出ることがあるバグを修正しました。(Thanks saku39)

#### Sprite pattern viewer window スプライトパターンビュアウインドウ

The sprite pattern viewer window has been updated. スプライトパターンビュアウインドウを更新しました。

##### Bank drop-down list バンクドロップダウンリスト

Use the Bank drop-down list to select the pattern bank from 0 to 15, 0-3 to 12-15, or 0-15. The default is 0. Banks 1 to 15 are available when 4096 patterns are enabled. バンクドロップダウンリストを用いて表示するパターンのバンクを 0～15、0-3～12-15 または 0-15 から選択します。 デフォルトは 0 です。 バンク 1～15 は4096 個のパターンを有効にしたとき使用できます。

##### Size drop-down list サイズドロップダウンリスト

Use the Size drop-down list to select the pattern size from Auto, 8x8, or 16x16. The default is Auto, and the initial value is 16x16. When set to Auto, the information associated with the pattern is used when the pattern is displayed on the X68000 screen. Since the information is not updated until the pattern is displayed on the X68000 screen, the display may differ from expectations. The sprite pattern size is 16x16. The background pattern size is also 16x16 when the display screen size is 512x512. The background pattern size is 8x8 when the display screen size is 256x256. サイズドロップダウンリストを用いてパターンのサイズを自動、8x8 または 16x16 から選択します。 デフォルトは自動で初期値は 16x16 です。 自動のときはパターンが X68000 の画面に表示されたときにパターンに紐づけられた情報が使用されます。 パターンが X68000 の画面に表示されるまで情報が更新されないので、期待と異なる表示になることがあります。 スプライトのパターンのサイズは 16x16、表示画面サイズが 512x512 のときのバックグラウンドのパターンのサイズも 16x16、表示画面サイズが 256x256 のときのバックグラウンドパターンのサイズは 8x8 です。

##### Block drop-down list ブロックドロップダウンリスト

Use the Block drop-down list to select the palette block from Auto, or 0 to 15. The default is Auto, and the initial value is 1. When set to Auto, the information associated with the pattern is used when the pattern is displayed on the X68000 screen. Since the information is not updated until the pattern is displayed on the X68000 screen, the display may differ from expectations. ブロックドロップダウンリストを用いてパレットブロックを自動または 0～15 から選択します。 デフォルトは自動で初期値は 1 です。 自動のときはパターンが X68000 の画面に表示されたときにパターンに紐づけられた情報が使用されます。 パターンが X68000 の画面に表示されるまで情報が更新されないので、期待と異なる表示になることがあります。

##### Flip drop-down list 反転ドロップダウンリスト

Use the Flip drop-down list to select the flip method from Auto, -, H, V or H&V. The default is Auto. When set to Auto, the information associated with the pattern is used when the pattern is displayed on the X68000 screen. Since the information is not updated until the pattern is displayed on the X68000 screen, the display may differ from expectations. A gray line and dots representing palette blocks are displayed on the left side of the pattern. When the pattern inverts, the line and dots invert together, allowing you to see the pattern's original orientation. 反転ドロップダウンリストを用いて反転を自動、なし、左右、上下または上下左右から選択します。 デフォルトは自動です。 自動のときはパターンが X68000 の画面に表示されたときにパターンに紐づけられた情報が使用されます。 パターンが X68000 の画面に表示されるまで情報が更新されないので、期待と異なる表示になることがあります。 パターンの左側に灰色の線とパレットブロックを表す点が表示されており、パターンが反転するとき線と点も一緒に反転することで、パターンの本来の向きが分かるようになっています。

##### Text field テキストフィールド

The text field displays the size, number, coordinates, palette code, and color code of the pattern pointed to by the mouse pointer. テキストフィールドにはマウスポインタが指しているパターンのサイズ、番号、座標、パレットコードおよびカラーコードが表示されます。

##### Stop checkbox 停止チェックボックス

When the Stop checkbox is turned ON, the system copies the information at that point and transitions to the stopped state. In the stopped state, the system is decoupled from the X68000's operation, allowing you to observe the pattern at the moment it was stopped. 停止チェックボックスを ON にするとその時点の情報を複製して停止状態に移行します。 停止状態では X68000 の動作と切り離され、停止した時点のパターンを観察できます。

##### Scale drop-down list 倍率ドロップダウンリスト

Use the Scale drop-down list to select the display scale from 1/4 to 32. The default is 2. 倍率ドロップダウンリストを用いて表示倍率を 1/4～32 から選択します。 デフォルトは 2 です。

##### Mouse operation マウスによる操作

Use the wheel to change the display scale. ホイールで表示倍率を変更できます。

Drag to change the display position. ドラッグで表示位置を変更できます。

Left-click stops updating the text field. Left-click again to resume. 左クリックでテキストフィールドの更新が停止します。 もう一度左クリックで再開します。

Right-click displays a pop-up menu. Selecting Copy as hexadecimal copies the pattern data as a hexadecimal string to the clipboard. 右クリックでポップアップメニューが表示されます。16 進数でコピーを選択するとパターンのデータが 16 進数の文字列でクリップボードにコピーされます。

#### Branch log 分岐ログ

The values of registers D0-D7/A0-A7 at the branch point are saved in the branch record. When the R checkbox in the branch log window is selected, the register values are displayed at the beginning of the record. 分岐時のレジスタ D0-D7/A0-A7 の値が分岐レコードに保存されます。 分岐ログウィンドウの R チェックボックスを ON にすると、レコードの先頭にレジスタの値が表示されます。

#### misc/060tsys/060turbo.sys

Added processing to work around the bug in 9SCDRV.X 3.14+2 (where the upper word of d2 is undefined when executing divu.w L00072A(pc),d2 at L002568). 9SCDRV.X 3.14+2 のバグ (L002568 にある divu.w L00072A(pc),d2 を実行するとき d2 の上位ワードが不定) を回避する処理を加えました。

### 0.25.10.08

#### Execution environment 実行環境

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

#### RS-232C and terminal RS-232C とターミナル

Fixed a bug in the queue. キューのバグを修正しました。

#### Disassemble list 逆アセンブルリスト

The buttons are now arranged in two rows. ボタンの並びを 2 行にしました。

When the size of the immediate operand is a byte and the value is negative, write it with the sign reversed and the sign included. イミディエイトオペランドのサイズがバイトで値が負のとき、符号反転して符号を付けて書きます。

#### Rapid clear 高速クリア

Fixed a bug where an IllegalArgumentException occurred when performing a rapid clear while the X-axis scroll position was 512 or higher. X 方向のスクロール位置が 512 以上のとき高速クリアを行うと IllegalArgumentException が出るバグを修正しました。

Fixed the timing at which values read from the action port change during rapid clearing. 高速クリアを行うとき動作ポートから読み出される値が変化するタイミングを修正しました。

Ensured that rapid clearing always starts on an even frame during interlacing. インターレースのとき高速クリアが必ず偶数フレームから始まるようにしました。

#### rapidcleartest.x

Added rapidcleartest.x. rapidcleartest.xを追加しました。

Tests rapid clearing of the graphics screen. Performs area testing and port testing simultaneously. Area testing verifies the correctness of the cleared VRAM range. Port testing verifies the correctness of changes in CRTC port bit 1. グラフィック画面の高速クリアをテストします。 エリアテストとポートテストを同時に行います。 エリアテストは VRAM のクリアされた範囲が正しいか調べます。 ポートテストは CRTC の動作ポート bit1 の変化が正しいか調べます。

## 3. Past changes 過去の更新 ▶

## 4. Download ダウンロード

- XEiJ_0251208.zip (40877KB)…XEiJ (X68000 Emulator in Java) version 0.25.12.08

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

- XEiJ_0251108.zip (40797KB)…XEiJ (X68000 Emulator in Java) version 0.25.11.08
- XEiJ_0251008.zip (40774KB)…XEiJ (X68000 Emulator in Java) version 0.25.10.08
- XEiJ_0250908.zip (40752KB)…XEiJ (X68000 Emulator in Java) version 0.25.09.08
- XEiJ_0250808.zip (40489KB)…XEiJ (X68000 Emulator in Java) version 0.25.08.08
- XEiJ_0250708.zip (38737KB)…XEiJ (X68000 Emulator in Java) version 0.25.07.08
- XEiJ_0250608.zip (38034KB)…XEiJ (X68000 Emulator in Java) version 0.25.06.08

## 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 メール

STUDIO KAMADA
Copyright © 1999-2025 Makoto Kamada