Version : 0.24.03.08 バージョン : 0.24.03.08

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. Functions and features 機能と特徴
  5. Execution environment 実行環境
  6. Downloadダウンロード
  7. How to start起動方法
  8. Execution examples実行サンプル
  9. Try to run the NetBSD/x68kNetBSD/x68k を動かしてみる
  10. Explanation of menuメニューの説明
  11. Configuration file設定ファイル
  12. Parametersパラメータ
  13. License / Copyright / Disclaimer使用許諾条件 / 著作権 / 免責事項
  14. Source codeソースコード
  15. Steps to compileコンパイル手順
  16. About IPLROM 1.6IPLROM 1.6 について
  17. Explanation of misc/*misc/* の説明
  18. Reference materials参考資料
  19. Link collectionリンク集
  20. Acknowledgement謝辞
  21. 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.24.03.08

CRTC

Cannot write 0 to bit 0 of CRTC R00. When creating a 384x256, some software programs, in an attempt to make the synchronization frequency the same as that of a 768x512, write 0 to bit 0 of CRTC R00, which is not allowed to write 0. When such software is executed, the actual device does not have the synchronization frequency expected by the software author, but the emulator, which can write 0 to bit 0 of CRTC R00, has the synchronization frequency expected by the software author, resulting in a discrepancy between the operation of the actual device and the emulator. CRTC R00 のビット 0 に 0 を書き込めないようにしました。384x256 を作るとき、768x512 と同じ同期周波数にしようとして、0 を書き込んではいけない CRTC R00 のビット 0 に 0 を書き込んでいるソフトウェアがあります。 そのようなソフトウェアを実行したとき、実機ではソフトウェアの作者が期待した同期周波数になりませんが、CRTC R00 のビット 0 に 0 を書き込めるエミュレータではソフトウェアの作者が期待した同期周波数になってしまい、実機とエミュレータの動作にずれが生じます。

Added "Can write 0 to bit 0 of CRTC R00" checkbox to the modification menu. The change will take effect from the next write to CRTC R00. 改造メニューに「CRTC R00 のビット 0 に 0 を書き込める」チェックボックスを追加しました。 変更は次の CRTC R00 への書き込みから反映されます。

Added parameter r00bit0zero. パラメータ r00bit0zeroを追加しました。

r00bit0test.x

Added r00bit0test.x. Verify that bit 0 of CRTC R00 is fixed to 1. r00bit0test.xを追加しました。CRTC R00 の bit0 が 1 に固定されていることを確認します。

vperiod.x

Added vperiod.x. Measure the vertical period (vertical synchronous signal period). vperiod.xを追加しました。 垂直周期 (垂直同期信号の周期) を計測します。

IPLROM 1.6 (2024-03-04)

The startup screen can now display an operating frequency higher than 65535*12/1000=786.42MHz. Placed [$0CB8].w and [$0CBA].w as longwords in [$0D20].l and [$0D24].l. 起動画面で 65535*12/1000=786.42MHz より高い動作周波数を表示できるようにしました。[$0CB8].w と [$0CBA].w をロングワードにしたものを [$0D20].l と [$0D24].l に配置しました。

You can use stupsnd.x to change the height of the startup sound. stupsnd.xを使って起動音の高さを変更できます。

Changed the timing of displaying "Hit any key" when the L/N/V key is pressed at startup from before to after SCSI bus reset. This eliminates the unnatural appearance that a key is pressed but the device does not start moving immediately. It is not necessary to hold down the L/N/V key until "Hit any key" is displayed. When SCSIINROM displays a message, "Hit any key" is displayed afterwards. 起動時に L/N/V キーが押されていたとき「Hit any key」を表示するタイミングを SCSI バスリセットの前から後に変更しました。 キーを押したのにすぐに動き出さないように見える不自然さを解消しました。 「Hit any key」が表示されるまで L/N/V キーを押し続けている必要はありません。SCSIINROM がメッセージを表示したときはその後に「Hit any key」が表示されます。

stupsnd.x (2024-03-04)

In addition to turning the startup sound on and off with stupsnd.x, the startup sound height can be changed. The startup sound height is specified by a number representing a key code or a string such as o5c. stupsnd.xで起動音の on/off に加えて起動音の高さを変更できます。 起動音の高さは、キーコードを表す数字または o5c などの文字列で指定します。

How to use IPLROM 1.6 on real machines or other X68000 emulators 実機または他の X68000 エミュレータで IPLROM 1.6 を使う方法

Updated how to use IPLROM 1.6 on real machines or other X68000 emulators. SRAM initialization data now reflects the size of main memory. The procedure has been modified so that it does not affect the XEiJ environment in use. Added instructions for creating CGROM30.DAT. 実機または他の X68000 エミュレータで IPLROM 1.6 を使う方法を更新しました。SRAM 初期化データにメインメモリのサイズが反映されるようにしました。 使用中の XEiJ の環境に影響を及ぼさないように手順を改めました。CGROM30.DAT の作り方を追記しました。

Host file system ホストファイルシステム

The interpretation of the argument OFFSET of DOS _SEEK depends on MODE. DOS _SEEK の引数の OFFSET の解釈が MODE によって変わります。

0.24.02.08

Execution environment 実行環境

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

File menu ファイルメニュー

Fixed a bug that prevented the parameters scappreboot, hfreadonly, and hfappreboot from being saved. パラメータ scappreboot、hfreadonly、hfappreboot が保存されないバグを修正しました。

RS-232C, terminal, and serial port RS-232C とターミナル

When interconnecting RS-232C, terminal and serial ports, data is now routed through a queue. RS-232C とターミナルとシリアルポートを相互に接続するとき、データがキューを経由するようにしました。

Added 57600, 76800, and 115200 baud rate options in RS-232C and terminal. RS-232C とターミナルのボーレートの選択肢に 57600、76800、115200 を追加しました。

Added 7.5MHz checkbox. Changes the SCC operating frequency from 5MHz to 7.5MHz. The connection must be initialized using misc/set232c.x or similar to reflect the changes. 7.5MHz チェックボックスを追加しました。SCC の動作周波数を 5MHz から 7.5MHz に変更します。 変更を反映させるにはmisc/set232c.xなどを使って接続を初期化する必要があります。

SCC

The SCC operating frequency can be specified with the parameter sccfreq. The possible values are either 5000000 or 7500000. パラメータ sccfreqで SCC の動作周波数を指定できます。 指定できる値は 5000000 または 7500000 のいずれかです。

IPLROM 1.6 (2024-02-02)

Measure the transfer rate of the DMAC displayed on the startup screen with the instruction cache disabled. 起動画面に表示する DMAC の転送速度の計測を命令キャッシュを無効にした状態で行います。

Added patch for IOCS _SET232C. IOCS _SET232C のパッチを追加しました。

RSDRV.SYS patches RSDRV.SYS のパッチ

When RSDRV.SYS 2.02 is built in, it will be patched in memory. RSDRV.SYS 2.02 が組み込まれたときメモリ上でパッチをあてます。

misc/set232c.x

misc/set232c.x added. Change the current or startup RS-232C settings. 38400bps and 76800bps can be specified. Note that using SPEED.X or SWITCH.X will restore the original settings. misc/set232c.xを追加しました。 現在または起動時の RS-232C の設定を変更します。38400bps と 76800bps を指定できます。SPEED.X や SWITCH.X を使うと元に戻ってしまうので注意してください。

misc/stupsnd.x

misc/stupsnd.x added. Turn on/off startup sound switch of X68030 or higher and IPLROM 1.6. misc/stupsnd.xを追加しました。X68030 以上と IPLROM 1.6 の起動音のスイッチを ON/OFF します。

0.23.12.08

IPLROM 1.6/crtmod16.x

Calling IOCS _CRTMOD with D1.W=$16FF returns D0.L=$16xxxxxxx when the sync frequency for CRT is selected and D0.L=$96xxxxxxx when the sync frequency for LCD is selected. The difference from the call with D1.W=$56FF is that the flags for CRT and LCD are added to bit 31 of the result. IOCS _CRTMOD を D1.W=$16FF で呼び出すと、CRT 向けの同期周波数が選択されているときは D0.L=$16xxxxxx が、LCD 向けの同期周波数が選択されているときは D0.L=$96xxxxxx が返ります。D1.W=$56FF で呼び出したときとの違いは、結果のビット 31 に CRT 向けと LCD 向けのフラグが追加されていることです。

crtmodtest.x

When the synchronization frequency for CRT and LCD is selected with option -l, the synchronization frequency is restored before exiting. When option -s is specified, the synchronization frequency is not restored but saved in SRAM. オプション -l で CRT 向けと LCD 向けの同期周波数を選択したとき、同期周波数を元に戻してから終了するようにしました。 オプション -s を指定すると同期周波数を元に戻さず SRAM に保存します。

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

Fixed a bug that prevented the Communication Settings and Transfer buttons from being enabled or disabled when changing connections. 接続を変更したとき通信設定と転送のボタンが有効または無効にならないバグを修正しました。

CRTC

Fixed a bug that prevented full-screen redrawing when the scroll position in the Y direction on the text and graphics screens was changed. テキスト画面とグラフィック画面の Y 方向のスクロール位置が変更されたとき全画面再描画が行われないことがあるバグを修正しました。

Fixed behavior when the scroll position in the X direction of the text screen is outside the range of cylindrical scrolling. テキスト画面の X 方向のスクロール位置が円筒スクロールの範囲外のときの動作を修正しました。

cylindertest.x

cylindertest.png

Test the cylindrical scrolling of the text screen. Use the cursor keys to move, the CTRL key to move fast, and the ESC key to exit. テキスト画面の円筒スクロールをテストします。 カーソルキーで移動、CTRL キーで高速移動、ESC キーで終了します。

Aspect ratio アスペクト比

For the 256x256, 384x256, 512x512, and 768x512 resolutions, the screen aspect ratio can be selected from 4:3 (1.333), 7:5 (1.400), 13:9 (1.444), and 3:2 (1.500), respectively. The default screen aspect ratios are 4:3 (1.333) for 256x256, 384x256, and 512x512, and 3:2 (1.500) for 768x512. 解像度 256x256、384x256、512x512、768x512 について、それぞれ画面アスペクト比を 4:3 (1.333)、7:5 (1.400)、13:9 (1.444)、3:2 (1.500) から選べます。 デフォルトの画面アスペクト比は、256x256、384x256、512x512 が 4:3 (1.333)、768x512 が 3:2 (1.500) です。

HRL square pixel checkbox in the display menu has been eliminated and an aspect ratio menu has been added. Selecting 384x256 3:2 (1.500) @ 1:1 (1.000) will give the same aspect ratio as HRL square pixel. Changes take effect immediately. 画面メニューの HRL 正方形ピクセルチェックボックスを廃止し、アスペクト比メニューを追加しました。384x256 3:2 (1.500) @ 1:1 (1.000) を選択すると HRL 正方形ピクセルと同じアスペクト比になります。 変更は直ちに反映されます。

The parameter hrlsquare was removed and the parameter aspectratioNxN was added. Specifying aspectratio384x384=3:2 will give the same aspect ratio as hrlsquare=on. パラメータ hrlsquare を廃止し、パラメータ aspectratioNxNを追加しました。aspectratio384x384=3:2 を指定すると hrlsquare=on と同じアスペクト比になります。

MEGA DRIVE 6 button pad メガドラ 6 ボタンパッド

Corrected 1111MXYZ to 1CB1MXYZ. 1SA100DU immediately following 1CB1MXYZ was corrected to 1SA1111. 1111MXYZ を 1CB1MXYZ に修正しました。1CB1MXYZ の直後の 1SA100DU を 1SA11111 に修正しました。

3. Past changes 過去の更新

4. Functions and features 機能と特徴

5. Execution environment 実行環境

6. Download ダウンロード

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

7. How to start 起動方法

8. Execution examples 実行サンプル

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

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

11. Configuration file 設定ファイル

12. Parameters パラメータ

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

14. Source code ソースコード

15. Steps to compile コンパイル手順

16. About IPLROM 1.6 IPLROM 1.6 について

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

18. Reference materials 参考資料

19. Link collection リンク集

20. 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 の基本的なソフトウェアの無償公開に尽力された権利各社およびシャープ・プロダクツ・ユーザーズ・フォーラムの方々、美しいフォントを公開されている平木敬太郎さん、門真なむさん、実行サンプルとして使わせていただいたフリーソフトウェアの作者の方々、動作報告と応援のメッセージを寄せてくださった皆さん、ありがとうございます。

21. Contact information 連絡先

Makoto Kamada

Twitter ツイッター

@kamadox

E-mail メール

E-mail