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

Version : 0.26.02.08 バージョン : 0.26.02.08

Author : Makoto Kamada 作者 : Makoto Kamada

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

### Table of contents 目次

1. Introduction はじめに
2. Recent changes 最近の更新
   - 0.26.02.08
   - 0.26.01.08
   - 0.25.12.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.26.02.08

#### Mercury-Unit V4

Fixed an issue where the Mercury-Unit V4 would become unstable at 10MHz. 10MHz のとき Mercury-Unit V4 の動作が安定しない問題を修正しました。

The 768x512 dot 256-color mode of the Mercury-Unit V4 does not function on the first model. This is because only the first model has negative logic for the HSYNC and VSYNC signals on the expansion slot. Mercury-Unit V4 の 768x512 ドット 256 色モードは初代だけ動作しません。 これは初代だけ拡張スロットの HSYNC と VSYNC が負論理であるためです。

#### DMAC

Fixed the processing of external transfer requests. (Thanks スズ ロウ) 外部転送要求の処理を修正しました。(Thanks スズ ロウ)

Fixed the behavior of PCT. PCT の挙動を修正しました。

#### mu4sim.pl and mu4sim.c mu4sim.pl と mu4sim.c

Added mu4sim.pl and mu4sim.c. mu4sim.pl と mu4sim.cを追加しました。

mu4sim.pl and mu4sim.c are programs for obtaining the EXPCL and EXREQ timing information necessary for emulating the Mercury-Unit V4. mu4sim.pl converts ABEL source code into C language, while mu4sim.c acts as a simple circuit simulator to observe signals. This was included as an answer to the question:“How did the author, who doesn't own a Mercury-Unit V4, create its emulator?” mu4sim.pl と mu4sim.c は、Mercury-Unit V4 のエミュレーションに必要な EXPCL と EXREQ のタイミングの情報を得るためのプログラムです。mu4sim.pl が ABEL ソースコードを C 言語に変換し、mu4sim.c が簡易的な回路シミュレータとなって信号を観測します。 「Mercury-Unit V4 を持っていない作者がどうやってそのエミュレータを作ったのか」という疑問に対する回答として収録しました。

I have the ABEL source code for the ispLSI on the Mercury-Unit V4, but I couldn't directly decipher the list of circuits described there. So, I devised and implemented a method:“Create a simple circuit simulator and observe the signals it outputs.”Someone familiar with HDL might think,“Even for a simple one, that's a terrible circuit simulator.”However, since the goal of enabling PCM output and 768x512 dot 256-color mode was achieved, I hope you'll overlook its shortcomings. Mercury-Unit V4 に載っている ispLSI の ABEL ソースコードがあるのですが、私にはそこに書かれている回路の羅列を直接読み解くことができませんでした。 そこで、「簡易的な回路シミュレータを作り、それが出す信号を観測する」という方法を考え、実行しました。HDL に慣れた人が見たら「簡易的だとしても酷い回路シミュレータだ」と思われてしまうかも知れません。PCM 出力と 768x512 ドット 256 色モードが使えるようにするという目的は達成されたということで、大目に見ていただきたいと思います。

#### Full pattern memory フルパターンメモリ

Full pattern memory has been added. フルパターンメモリを追加しました。

Enabling the full pattern memory checkbox in the sprite screen menu of the modification menu activates full pattern memory. This setting is saved in the parameter sprfpm. 改造メニューのスプライト画面メニューのフルパターンメモリチェックボックスを ON にすると、フルパターンメモリが有効になります。 この設定はパラメータ sprfpmに保存されます。

The X68000 could handle 256 patterns for sprites and backgrounds, but it was highly anticipated that CYNTHIA could handle 512 patterns. In February 2026, Koucha Yokan confirmed this fact by modifying an actual X68030 unit and verifying its operation. X68000 のスプライトとバックグラウンドで使えるパターンは 256 個ですが、CYNTHIA は 512 個のパターンを扱えることが高い確度で予想されていました。2026 年 2 月、紅茶羊羹さんが実際に X68030 実機を改造して動作を確認したことで、CYNTHIA が 512 個のパターンを扱えるのは事実であると確認されました。

While the sprite scroll registers are located inside CYNTHIA, the pattern memory is outside CYNTHIA. CYNTHIA has two sets of chip select signals for accessing pattern memory: XPC0/PCS0 and XPC1/PCS1. Connecting the pattern memory to the latter set, which is normally unconnected, enables handling of 512 patterns. スプライトスクロールレジスタが CYNTHIA の内側にあるのに対して、パターンメモリは CYNTHIA の外側にあります。CYNTHIA がパターンメモリにアクセスするためのチップセレクト信号は XPC0/PCS0 と XPC1/PCS1 の 2 組あり、非接続になっている後者にパターンメモリを接続すると 512 個のパターンを扱えるようになります。

The chip select bit selects which pattern memory to use: either the one connected to XPC0/PCS0 or the one connected to XPC1/PCS1. When the full pattern memory is disabled, setting the chip select bit to 1 causes the sprite to display as a solid block, and whatever is written to the pattern memory from the MPU will be read as 0xffff. チップセレクトビットで、XPC0/PCS0 と XPC1/PCS1 のどちらに接続されているパターンメモリを使うか選択します。 フルパターンメモリが無効のときチップセレクトビットを 1 にすると、スプライトは豆腐になり、MPU からパターンメモリに何を書き込んでも 0xffff が読み出されます。

chip select bit チップセレクトビット
address アドレス | bit ビット | label ラベル | content 内容
--- | --- | --- | ---
$00EB0000+8*n+6 | bit2 | SPCS | chip select for pattern used by sprite スプライトが使うパターンのチップセレクト
$00EB0808 | bit10 | MPUCS | chip select for pattern and text visible to MPU MPU から見えるパターンとテキストのチップセレクト
bit5 | B1CS | chip select for text used by BG1 BG1 が使うテキストのチップセレクト
bit2 | B0CS | chip select for text used by BG0 BG0 が使うテキストのチップセレクト

#### bgcstest.x

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

Tests the operation of the chip select in the text used by the BG. BG が使うテキストのチップセレクトの動作をテストします。

### 0.26.01.08

#### DMAC DMAC

Fixed an issue where PCL and REQ were connected even on channels other than Channel 3. チャンネル 3 以外でも PCL と REQ が接続されていた問題を修正しました。

#### System property システムプロパティ

Added the system property -Dsun.java2d.d3d=false. When using the canvas setting with cubic interpolation as the interpolation algorithm, changing the fixed scaling to 200% and then back to 100% caused menus and window borders to disappear. This appears to have been fixed. システムプロパティ -Dsun.java2d.d3d=false を追加しました。 キャンバスを使う設定になっていて補間アルゴリズムが三次補間のとき、固定倍率の選択を 200% に変更してから 100% に戻すとメニューやウインドウの枠が消えてしまう症状がありましたが、それが改善するようです。

#### Aspect ratio アスペクト比

Added 1:1 to the 256x256 and 512x512 options in the aspect ratio menu. While this may differ from the aspect ratio the creator intended when the work is displayed on screen, a 256x256 dot screen becomes dot-by-dot at a fixed magnification of 50% and an aspect ratio of 1:1, and a 512x512 dot screen becomes dot-by-dot at a fixed magnification of 100% and an aspect ratio of 1:1. This makes text as easy to read as on a 768x512 dot screen. アスペクト比メニューの 256x256 と 512x512 に 1:1 を追加しました。 画面に表示されている作品があるときその作者が期待するアスペクト比とは違ってしまいますが、256x256 ドットの画面は固定倍率が 50% でアスペクト比が 1:1 のとき、512x512 ドットの画面は固定倍率が 100% でアスペクト比が 1:1 のとき、それぞれドットバイドットになり、768x512 ドットの画面と同様に文字が読みやすくなります。

#### Mercury-Unit V4 (MK-MU1)

Added Mercury-Unit V4 (MK-MU1). Supports PCM output and 768x512 dot 256-color mode. Mercury-Unit V4 (MK-MU1) を追加しました。PCM 出力と 768x512 ドット 256 色モードに対応しています。

Check the Mercury-Unit V4 (MK-MU1) checkbox in the sound menu and reset to integrate the Mercury-Unit. Uncheck the MU4 output checkbox to mute only the Mercury-Unit's output. 音声メニューの Mercury-Unit V4 (MK-MU1) チェックボックスを ON にしてリセットすると、Mercury-Unit が組み込まれた状態になります。MU4 出力チェックボックスを OFF にすることで、Mercury-Unit の出力だけミュートできます。

#### m256test.x

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

### 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. その他メニューのマウスのボタンの状態の表記をキーとマウスのボタンのイベントを表示に変更しました。

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

## 4. Download ダウンロード

- XEiJ_0260208.zip (41413KB)…XEiJ (X68000 Emulator in Java) version 0.26.02.08

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

- XEiJ_0260108.zip (40969KB)…XEiJ (X68000 Emulator in Java) version 0.26.01.08
- XEiJ_0251208.zip (40877KB)…XEiJ (X68000 Emulator in Java) version 0.25.12.08
- 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-2026 Makoto Kamada