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

Version : 0.25.06.08 バージョン : 0.25.06.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.06.08
   - 0.25.05.08
   - 0.25.04.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.06.08

#### Restore window ウインドウの復元

When restoring a window, the process of finding the screen where the window fits was missing. (Thanks ついっこー (Kotaro Horie)) ウインドウを復元するときウインドウが収まる画面を探す処理が抜け落ちていました。(Thanks ついっこー (Kotaro Horie))

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

Added 230400bps to the baud rate options when connecting a serial port to a terminal in the RS-232C and terminal window. RS-232C とターミナルウインドウで、シリアルポートとターミナルを接続するときのボーレートの選択肢に、230400bps を追加しました。

#### Extended graphic screen 拡張グラフィック画面

GVRAM in the extended graphic screen has been integrated with GVRAM in the standard graphic screen. Clearing GVRAM in memory mode 7 also clears GVRAM in memory modes 0, 1, 3, 4, and 5. 拡張グラフィック画面の GVRAM を標準のグラフィック画面の GVRAM と統合しました。 メモリモード 7 の GVRAM をクリアするとメモリモード 0,1,3,4,5 の GVRAM もクリアされます。

#### Rapid clear 高速クリア

Corrected the range of rapid clearing on the graphic screen. グラフィック画面の高速クリアの範囲を修正しました。

#### Data break point データブレークポイント

Fixed a bug that forgot to delete read and write checkboxes when deleting data breakpoints. (Thanks ついっこー (Kotaro Horie)) データブレークポイントを削除するときリードチェックボックスとライトチェックボックスを削除し忘れるバグを修正しました。(Thanks ついっこー (Kotaro Horie))

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

The address and/or offset button have been added. At the beginning of a line in the disassembly list, at the relative branch instruction, and at the program counter relative addressing and absolute long addressing locations, the address is normally displayed, but you can choose whether to display the address or the offset there. When the address and/or offset button is "$", the address is displayed; when it is "L", the offset is displayed; and when it is "$L", both the address and offset are displayed. アドレスとオフセットボタンを追加しました。 逆アセンブルリストの行頭、相対分岐命令、プログラムカウンタ相対アドレッシングおよび絶対ロングアドレッシングの場所には、通常はアドレスが表示されますが、そこにアドレスとオフセットのどちらを表示するか選択できます。 アドレスとオフセットボタンが「$」のときはアドレスが、「L」のときはオフセットが、「$L」のときはアドレスとオフセットの両方が表示されます。

The program name combo box has been added. By selecting device drivers, resident programs, or running programs, you can enter the offset from the top of the program instead of the address in the address spinner. プログラム名コンボボックスを追加しました。デバイスドライバ、常駐プログラム、実行中のプログラムを選択することで、アドレススピナーでアドレスの代わりにプログラムの先頭からのオフセットを入力できます。

When a program name is duplicated, a serial number is added to the end of the program name. プログラム名が重複しているときプログラム名の末尾に通し番号が付きます。

You can scroll with the mouse wheel. マウスホイールでスクロールできます。

### 0.25.05.08

#### Execution environment 実行環境

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

#### Manifest file マニフェストファイル

The following line has been added to the manifest file to suppress warning messages about the use of JNI. JNI の使用に対する警告メッセージを抑制するため、マニフェストファイルに以下の 1 行を追加しました。

    Enable-Native-Access: ALL-UNNAMED

#### Disassembler 逆アセンブラ

Adjusted the number of spaces on the right side of st.b/sf.b. st.b/sf.b の右側の空白の数を調整しました。

#### sprdrv.x (2025-04-10)

Changed the numbering of sprites in the argument of IOCS _SP_REGST/_SP_REGGT to a form with packed missing numbers. Modified IOCS _BGTEXTST. IOCS _SP_REGST/_SP_REGGT の引数のスプライトの番号を、欠番を詰めた形式に変更しました。IOCS _BGTEXTST を修正しました。

#### spr1016test.x

Followed changes in sprdrv.x. sprdrv.x の変更に追従しました。

#### Keyboard キーボード

The use of threads for keystrokes has been changed. キー入力時のスレッドの使い方を変更しました。

Fixed a problem in which changing the keyboard availability while in full-screen mode would cause the keyboard availability to revert to the state before the change when the full-screen mode was exited. 全画面表示中にキーボードの有無を変更すると、全画面表示を終了したときに、キーボードの有無が変更する前の状態に戻ってしまう問題を修正しました。

Keys have been removed from the full screen radio button in the display menu and the seamless mouse checkbox in the input menu. The function of the F11 and F12 keys can be changed using the F11/F12 and button function assignments window. 画面メニューの全画面表示ラジオボタンと入力メニューのシームレスマウスチェックボックスからキーの表示を削除しました。F11 キーと F12 キーの機能はF11/F12 およびボタン機能割り当てウインドウで変更できます。

#### crtmod16.s/crtmodtest.s/stupsnd.s

Corrected stou. (Thanks TcbnErik) stou を修正しました。(Thanks TcbnErik)

#### XInput

The technology used to process XInput has been changed from JNI to a standard API derived from Project Panama. XInput の処理に使用する技術を JNI から Project Panama 由来の標準 API に変更しました。

#### Sprite controller スプライトコントローラ

Fixed a problem in which bits 6, 7, and 8 of $00EB0808 were not fixed to 0. $00EB0808 の bit6,7,8 が 0 に固定されていなかった問題を修正しました。

Bit 10 of $00EB0808 is implemented. When this bit is 1, writing to the pattern/text area is ignored and reading it returns $FFFF. $00EB0808 の bit10 を実装しました。 このビットが 1 のとき、パターン / テキストエリアへ書き込むと無視され、読み出すと $FFFF が返ります。

Although there is no proof, bit 10 of $00EB0808 and bit 2 of the priority word in the sprite scroll register are both considered to be bits for selecting the chip select signal output from the sprite controller CYNTHIA. A 32 KB SRAM is connected to the XPC0/PCS0 pin of the CYNTHIA, but the XPC1/PCS1 pin is unconnected. Since no memory is connected to XPC1/PCS1, it is believed that writing to the pattern/text area is ignored and reading back returns $FFFF, resulting in the sprite appearing tofu. 確証はありませんが、$00EB0808 の bit10 とスプライトスクロールレジスタのプライオリティワードの bit2 はいずれも、スプライトコントローラ CYNTHIA から出力されるチップセレクト信号を選択するためのビットであると考えられます。CYNTHIA の XPC0/PCS0 ピンには 32KB の SRAM が接続されていますが、XPC1/PCS1 ピンは非接続です。XPC1/PCS1 ピンにメモリが接続されていないため、パターン / テキストエリアへ書き込むと無視され、読み出すと $FFFF が返り、その結果スプライトが豆腐に見えるのだと考えられます。

#### Wait cycle ウェイトサイクル

Added wait cycles to the sprite scroll register and pattern area. スプライトスクロールレジスタとパターンエリアにウェイトサイクルを追加しました。

#### Minimum screen width 画面の最小幅

The minimum screen width was changed from 256 dots to 64 dots. 画面の最小幅を 256 ドットから 64 ドットに変更しました。

#### MFP

Fixed timer behavior. タイマーの動作を修正しました。

#### Modification menu 改造メニュー

Organized modification menu. 改造メニューを整理しました。

#### Drawing improvements 描画の改善

##### Draw screen at regular intervals 一定の間隔で画面を描画する

The drawing method has been changed from a virtual time vertical cycle to a real time vertical cycle. 仮想時間の垂直周期で行っていた描画を実時間の垂直周期で行う方法に変更しました。

##### Use canvas キャンバスを使う

The canvas is used by default to lighten the drawing process. 描画の処理を軽くするためデフォルトでキャンバスを使います。

The use canvas checkbox in the display menu allows you to choose whether to use the canvas. This setting is saved in the parameter usecanvas. You need to re-launch XEiJ for the changes to take effect. 画面メニューのキャンバスを使うチェックボックスでキャンバスを使うか選択できます。 この設定はパラメータ usecanvasに保存されます。 変更を反映させるには XEiJ を起動し直す必要があります。

##### Adjust to host refresh rate ホストのリフレッシュレートに合わせる

Added adjust to host refresh rate. ホストのリフレッシュレートに合わせるを追加しました。

Adjust VSYNC frequency to the host refresh rate. When the adjust to host refresh rate checkbox in the modification menu is ON, the dot clock frequency is adjusted so that they match if the host refresh rate is 0.75 to 1.25 times the vertical sync frequency. Changes will take effect immediately. This setting is saved in the parameter adjustvsync. 垂直同期周波数をホストのリフレッシュレートに合わせます。 改造メニューのホストのリフレッシュレートに合わせるチェックボックスが ON のとき、ホストのリフレッシュレートが垂直同期周波数の 0.75～1.25 倍ならばそれらが一致するようにドットクロック周波数を調整します。 変更は直ちに反映されます。 この設定はパラメータ adjustvsyncに保存されます。

The host refresh rate text field in the modification menu allows you to specify the host refresh rate. If not specified, DisplayMode.getRefreshRate() is used to try to get the refresh rate. If it is not specified and cannot be obtained, 59.94 Hz is used. Changes will take effect immediately. This setting is saved in the parameter refreshrate. 改造メニューのホストのリフレッシュレートテキストフィールドでホストのリフレッシュレートを指定できます。 指定がないときは DisplayMode.getRefreshRate() を用いてリフレッシュレートの取得を試みます。 指定がなく取得もできなかったときは 59.94Hz を使用します。 変更は直ちに反映されます。 この設定はパラメータ refreshrateに保存されます。

The current vertical sync frequency can be checked with the screen mode test window. 現在の垂直同期周波数は表示モードテストウィンドウで確認できます。

To quickly check the effect, use "echo ^[[?4h" (for ^[, press the ESC key twice) to put the console in 8-dot smooth scroll mode and then display a long text file. If you do not match the refresh rate of the host, the scrolling will rattle, but if you do, the scrolling will be smooth. If you set "mew d0a 1" in db.x to 4-dot smooth scroll mode, the smoothness will increase. 手っ取り早く効果を確認するには、「echo ^[[?4h」(^[は ESC キーを 2 回押す) でコンソールを 8 ドットスムーススクロールモードにしてから長いテキストファイルを表示するとよいでしょう。 ホストのリフレッシュレートに合わせないとガタガタとスクロールしますが、合わせるとスムースにスクロールします。db.x で「mew d0a 1」として 4 ドットスムーススクロールモードにするとヌルヌル感が増します。

With these changes, the intermittent drawing mode has been discontinued. Intermittent drawing mode was a product of the days when it was not possible to draw every frame. It may now be difficult to run XEiJ in environments that are so unpowered that intermittent drawing mode is necessary. これらの変更に伴い、間欠描画モードを廃止しました。 間欠描画モードはすべてのフレームを描画することができなかった時代の産物です。 間欠描画モードが必要なほど非力な環境で XEiJ を動かすことは難しくなったかも知れません。

#### Full screen and maximized 全画面表示と最大化

Since I could not find a way to have the menu bar and canvas coexist in full screen, I have added and modified functions in the direction of using full screen when you want to immerse yourself in the X68000 screen and maximized when you want to make the window wider. 全画面表示の状態でメニューバーとキャンバスを共存させる方法を見つけられなかったので、全画面表示は X68000 の画面に没入したいときに使い、ウインドウを広くしたいときは最大化を使う方向で、機能の追加と修正を行いました。

The F11/F12 and button function assignments window allows you to assign a key or button to toggle full screen and maximized. By default, the F11 key is assigned to toggle full screen and the Shift+F11 key is assigned to toggle maximized. Either key or button can be used to exit both full screen and maximized. F11/F12 およびボタン機能割り当てウィンドウで、キーまたはボタンに全画面表示の切り替えと最大化の切り替えを割り当てることができます。 デフォルトで F11 キーに全画面表示の切り替えが、Shift+F11 キーに最大化の切り替えが割り当てられています。 全画面表示の切り替えと最大化の切り替えのどちらのキーまたはボタンでも、全画面表示と最大化の両方を終了させることができます。

Selecting full screen radio button in the display menu will bring the window into full screen, while selecting maximized radio button will maximize the window. The menu bar is not displayed while in full screen, so it is not possible to exit full screen via the menu. It is not possible to switch to full screen without a key or button assigned to exit full screen. 画面メニューの全画面表示ラジオボタンを選択するとウインドウが全画面表示になり、最大化ラジオボタンを選択するとウインドウが最大化します。 全画面表示の間はメニューバーが表示されないので、メニューで全画面表示を終了させることはできません。 全画面表示を終了させるキーまたはボタンが割り当てられていない状態で全画面表示に切り替えることはできないようにしてあります。

A bubble will appear for 5 seconds after switching to full screen, indicating the key or button to exit full screen. 全画面表示に切り替えてから 5 秒間、全画面表示を終了させるキーまたはボタンを知らせるバブルが表示されます。

When the hide keyboard in full screen checkbox in the input menu is ON, the keyboard is turned off when going to full screen and turned back on when exiting full screen. If the keyboard is changed by pressing Alt+Shift+K while in full screen, it will not be restored. This setting is saved in the parameter hidekeyboard. 入力メニューの全画面表示のときキーボードを隠すチェックボックスが ON のとき、全画面表示へ移行するときキーボードが消え、全画面表示を終了するとき元に戻ります。 全画面表示中に Alt+Shift+K でキーボードの有無を変更した場合は元に戻りません。 この設定はパラメータ hidekeyboardに保存されます。

There was a function to hide the keyboard when stereoscopic viewing and full screen were used together, but it has been eliminated because it was redundant. 立体視と全画面表示を併用したときキーボードを非表示にする機能がありましたが、重複するので廃止しました。

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

Added 50000bps to the baud rate options when connecting a serial port to a terminal in the RS-232C and terminal window. When the USB-RS232C converter supports 50000bps, setting X680x0 to asynchronous 51200bps (theoretical value 52083bps) seems to be able to connect just barely, although there is a 4% error margin. RS-232C とターミナルウインドウで、シリアルポートとターミナルを接続するときのボーレートの選択肢に、50000bps を追加しました。USB-RS232C 変換器が 50000bps に対応しているとき、X680x0 を非同期 51200bps(理論値 52083bps) に設定すると、誤差が 4% あるものの、ぎりぎり接続できるようです。

#### 38400bps.x/51200bps.x

Added 38400bps.x and 51200bps.x. 38400bps.xと51200bps.xを追加しました。

### 0.25.04.08

#### Key assignments キー割り当て

Fixed a bug that prevented restoring key assignments from CSV files containing 13- to 16-bit keyCodes (especially F13-F24) when using Windows. Windows のとき 13～16 ビットの keyCode(特に F13～F24) を含む CSV ファイルからキー割り当てを復元できないバグを修正しました。

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

The behavior of the MC68010 checkbox in the change the model and reset menu has been changed. It selects whether to use 68000 or 68010 when reset, not only when using the change the model and reset menu. This setting is saved in parameter mpu010. 機種を変更してリセットメニューのMC68010 チェックボックスの動作を変更しました。機種を変更してリセットメニューを使う場合に限らず、リセットしたとき 68000 と 68010 のどちらを使うか選択します。この設定はパラメータ mpu010に保存されます。

#### IPLROM 1.6 (2025-03-23)

Fixed a bug that address errors were not displayed correctly in the error display at startup when in 68060 mode. 68060 モードのとき起動時のエラー表示でアドレスエラーが正しく表示されないバグを修正しました。

Errors 4-11 are now displayed as words such as Illegal instruction instead of numbers in the error display at startup. 起動時のエラー表示でエラー 4～11 が番号ではなく Illegal instruction などの言葉で表示されるようにしました。

IOCS _CRTMOD had added a process to set dummy values in the sprite control registers when the lower 5 bits of R20 of CRTC are %1xx1x, but this process was removed because it interferes when sprites displayed at 768x512. IOCS _CRTMOD に CRTC の R20 の下位 5bit が %1xx1x のときスプライト制御レジスタにダミーの値を設定する処理が追加されていましたが、768x512 でスプライトを表示するとき邪魔なので削除しました。

Moved the position of the cache flush patch in the SASI BIOS before the start of the DMA transfer from just before the start of the DMA transfer to just before the last byte of the command is sent. SASI BIOS の DMA 転送開始前のキャッシュフラッシュのパッチの位置を、DMA 転送開始の直前から、コマンドの最後の 1 バイトを送信する直前に移動させました。

Added a process to IOCS _CRTMOD to write $60 when the content of $00ED0095 is not $6x. This is to reduce the possibility that the startup screen is not displayed or LCD mode is unexpectedly enabled because $00ED0095 is not initialized when IPLROM 1.6 is installed in an actual X68000 device for the first time. When you install IPLROM 1.6 on an actual X68000 machine for the first time, please boot the machine while pressing the N key (CRT mode) or the L key (LCD mode) to check the startup screen. IOCS _CRTMOD に $00ED0095 の内容が $6x でないとき $60 を書き込む処理を加えました。X68000 実機に IPLROM 1.6 を初めて載せたときに、$00ED0095 が初期化されていないために起動画面非表示や LCD モードが予期せず有効になってしまう可能性を下げるためです。X68000 実機に IPLROM 1.6 を初めて載せたときは、N キー (CRT モード) または L キー (LCD モード) を押しながら起動して、起動画面を確認するようにしてください。

#### crtmod16.x/crtmrb16.x (2025-03-23)

Same changes as IPLROM 1.6 (2025-03-23). IPLROM 1.6 (2025-03-23) と同じ変更を加えました。

#### ROM image file parameters ROM イメージファイルのパラメータ

When IPLROM 1.6 is deployed in a 256KB configuration, parameters that overwrite only a portion of it instead of the whole of it are disabled. IPLROM 1.6 が 256KB の構成で配置されているとき、その全体ではなく一部分だけを上書きするようなパラメータは無効になります。

- When -scsiinrom is specified -scsiinrom を指定したとき
- When a 128KB file is specified for -rom30 and -iplrom is not specified -rom30 に 128KB のファイルを指定して -iplrom を指定しなかったとき
- When -iplrom is specified without -rom30 -rom30 を指定せず -iplrom を指定したとき

The following specification is valid because it overwrites the entire IPLROM 1.6. 以下の指定は IPLROM 1.6 の全体を上書きするので有効です。

- When a 256KB file is specified for -rom30 -rom30 に 256KB のファイルを指定したとき
- When a 128KB file is specified for -rom30 and -iplrom is specified -rom30 に 128KB のファイルを指定して -iplrom を指定したとき

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

Corrected display of base displacement for full-format PC indirect addressing. フルフォーマット PC 間接アドレッシングのベースディスプレースメントの表示を修正しました。

#### ROM Debugger 3.60 (2025-03-23) ROM デバッガ 3.60 (2025-03-23)

Updated ROM Debugger 3.60 included in IPLROM 1.6. IPLROM 1.6に含まれるROM デバッガ 3.60を更新しました。

CON mode has been added. The ROM debugger is operated from a terminal connected via RS-232C in the conventional AUX mode, but in CON mode, the ROM debugger is operated from the X68000 screen and keyboard. CON モードを追加しました。従来の AUX モードのときは RS-232C 経由で接続されたターミナルから ROM デバッガを操作しますが、CON モードのときは X68000 の画面とキーボードで ROM デバッガを操作します。V コマンドで AUX モードと CON モードを切り替えられます。

The ROM debugger start flag ($00ED0058) in SRAM is set to $00 for OFF, $FF for AUX, and $01 for CON. switch d=off sets the flag to OFF, switch d=on sets the flag to AUX. SRAM にある ROM デバッガ起動フラグ ($00ED0058) の設定値は、$00 が OFF、$FF が AUX、$01 が CON です。switch d=off でフラグが OFF に、switch d=on でフラグが AUX になります。

If the OPT.2 key is pressed at startup, the flag changes to AUX if the flag was OFF or CON, and the flag changes to OFF if the flag was AUX. If the D key is pressed at startup, the flag changes to CON if the flag was OFF or AUX, and the flag changes to OFF if the flag was CON. Note that the effect of the OPT.2 key has changed from temporary to permanent. 起動時に OPT.2 キーが押されていると、フラグが OFF または CON だったときはフラグが AUX に、フラグが AUX だったときはフラグが OFF に変化します。起動時に D キーが押されていると、フラグが OFF または AUX だったときはフラグが CON に、フラグが CON だったときはフラグが OFF に変化します。OPT.2 キーの効果が一時的なものから永続的なものに変更されていることに注意してください。

ROM debugger 2.32 and DB.X 3.00/3.02 defects listed here have been largely fixed in db350.x and ROM Debugger 3.60. こちらに記載されている ROM デバッガ 2.32 と DB.X 3.00/3.02 の不具合は db350.x と ROM デバッガ 3.60 では概ね修正されています。

#### ROM debugger start flag menu ROM デバッガ起動フラグメニュー

The ROM debugger start flag checkbox in the debug menu has been changed to the ROM debugger start flag menu. デバッグメニューの ROM デバッガ起動フラグチェックボックスをROM デバッガ起動フラグメニューに変更しました。

Select which mode to overwrite the ROM debugger start flag in SRAM when reset. リセットしたとき SRAM にある ROM デバッガ起動フラグにどのモードを上書きするか選択します。

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

##### Follow settings in SWITCH.X radio button SWITCH.X の設定に従うラジオボタン

No overwrite. 上書きしません。

##### OFF radio button OFF ラジオボタン

Overwrite OFF. OFF を上書きします。

##### AUX radio button AUX ラジオボタン

Overwrite AUX. AUX を上書きします。

##### CON (when using IPLROM 1.6) radio button CON (IPLROM 1.6 使用時) ラジオボタン

Overwrite CON when IPLROM 1.6, otherwise AUX. IPLROM 1.6 のときは CON を、さもなくば AUX を上書きします。

#### db350.bfd

Added db350.bfd. db350.bfdを追加しました。

db350.bfd is a binary diff file to make db350.x from DB.X. Run bup db350.bfd in the directory where you put DB.X 3.00 to make db350.x. db350.bfd は DB.X 3.00 から db350.x を作るバイナリ差分ファイルです。DB.X 3.00 を置いたディレクトリで bup db350.bfd を実行すると db350.x ができます。

bup.x can be found here. bup.x はこちらにあります。

db350.x is a byproduct of ROM Debugger 3.60, a sort of child between DB.X 3.00 and ROM Debugger 3.60. db350.x は ROM デバッガ 3.60 の副産物で、DB.X 3.00 と ROM デバッガ 3.60 の間の子のようなものです。

ROM debugger 2.32 and DB.X 3.00/3.02 defects listed here have been largely fixed in db350.x and ROM Debugger 3.60. こちらに記載されている ROM デバッガ 2.32 と DB.X 3.00/3.02 の不具合は db350.x と ROM デバッガ 3.60 では概ね修正されています。

#### Sprite screen スプライト画面

Bit 2 of the 4th word (priority) of the sprite scroll register, which had not been implemented, is now implemented. Pattern data is ignored and a square (tofu) filled with palette code 15 is displayed. 未実装だったスプライトスクロールレジスタの 4 ワード目 (プライオリティ) のビット 2 を実装しました。パターンデータが無視されてパレットコード 15 で埋め尽くされた四角形 (豆腐) が表示されます。

#### prwbit2.x

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

Check the operation of bit 2 of the 4th word (priority) of the sprite scroll register. スプライトスクロールレジスタの 4 ワード目 (プライオリティ) のビット 2 の動作を確認します。

#### Modification menu 改造メニュー

Fixed a problem that sprites displayed in 768x512 does not appear in the modification menu. (Thanks みゆ🌹ฅ^•ω•^ฅ) 改造メニューに 768x512 でスプライトを表示が表示されない問題を修正しました。(Thanks みゆ🌹ฅ^•ω•^ฅ)

#### Seamless mouse mode シームレスマウスモード

Fixed a problem in which the apparent Y-coordinate of the mouse cursor on the X68000 was doubled when the CRTC reads the raster twice. On Windows, the host mouse cursor disappears, so the X68000 can be operated without any problem even if it is doubled, but on macOS, there was a problem when the host mouse cursor did not disappear. (Thanks megazone-mc21) CRTC がラスタを 2 度読むとき X68000 のマウスカーソルの見かけの Y 座標が 2 倍になる問題を修正しました。Windows ではホストのマウスカーソルが消えるので 2 倍になっていても問題なく操作できましたが、macOS でホストのマウスカーソルが消えないとき支障がありました。(Thanks megazone-mc21)

#### crtmodtest.x (2025-04-01)

Fixed a problem that caused screen distortion when running in environments other than IPLROM 1.6/CRTMOD16.X. IPLROM 1.6/CRTMOD16.X 以外の環境で動かすと画面が乱れる問題を修正しました。

#### Number of sprites スプライトの枚数

The number of sprites can be selected from 128, 256, 504, and 1016 in the number of sprites menu in the modification menu. Changes will take effect after the reset. This setting is saved in the parameter numspr. 改造メニューのスプライトの枚数メニューでスプライトの枚数を 128、256、504、1016 から選べます。 変更はリセット後に反映されます。 この設定はパラメータ numsprに保存されます。

There are 1024 sprites numbered from 0 to 1023, but 8 sprites numbered from 256 to 263 are missing. In terms of the sprite scroll register addresses, $00EB0000 to $00EB1FFF, of which $00EB0800 to $00EB083F are in the range of missing numbers. Since there are control registers in the missing range, be careful not to write to them as if they were sprite scroll registers. スプライトの番号は 0 番から 1023 番までの 1024 個ですが、256 番から 263 番までの 8 個は欠番です。 スプライトスクロールレジスタのアドレスで言うと、$00EB0000～$00EB1FFF のうち $00EB0800～$00EB083F が欠番の範囲です。 欠番の範囲には制御レジスタがあるので、スプライトスクロールレジスタのつもりで書き込まないように注意してください。

The 256 sprites checkbox in the modification menu has been eliminated. The parameter dblspr has been eliminated. 改造メニューにあった 256 枚のスプライトチェックボックスを廃止しました。 パラメータ dblspr を廃止しました。

#### sprdrv.x (2025-04-07)

Added extended sprite and background driver sprdrv.x. 拡張スプライト・バックグラウンドドライバ sprdrv.x を追加しました。

Enables XEiJ extensions to be used with sprite and background related IOCS calls. Processes that have enabled extensions with _SP_INIT will disable them when they exit. See sprdrv.s for details. スプライト・バックグラウンド関連の IOCS コールで XEiJ の拡張機能を使用できるようにします。_SP_INIT で拡張機能を有効にしたプロセスが終了するとき拡張機能を無効にします。 詳細は sprdrv.s を参照してください。

Insufficient specification review or behavior check. Please let me know when you think the specification or behavior is not appropriate. 仕様の検討や動作の確認が不十分です。 仕様や動作が適切でないと思われるときはご指摘ください。

#### spr1016test.x

spr1016test.x is added. spr1016test.x を追加しました。

This is a test program to display 1016 sprites using only IOCS calls with sprdrv.x. Run it with the following settings. sprdrv.x を使って IOCS コールだけで 1016 枚のスプライトを表示するテストプログラムです。 以下の設定で実行してください。

- Number of sprites is 1016 スプライトの枚数は 1016
- 4096 patterns 4096 個のパターン
- Display sprites at 768x512 768x512 でスプライトを表示
- Number of sprites per raster is 1016 ラスタあたりのスプライトの枚数は 1016
- Resident sprdrv.x sprdrv.x を常駐させる

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

## 4. Download ダウンロード

- XEiJ_0250608.zip (38034KB)…XEiJ (X68000 Emulator in Java) version 0.25.06.08

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

STUDIO KAMADA
Copyright © 1999-2025 Makoto Kamada