Address translation caches monitor displays contents of the address translation caches of MMU. The address translation caches of XEiJ are an original specification different from MC68060. アドレス変換キャッシュモニタは MMU のアドレス変換キャッシュの内容を表示します。XEiJ のアドレス変換キャッシュは MC68060 と異なる独自仕様です。
XEiJ saves the branch target address and the branch source address of the latest 65536 branches in the branch log. Branches mentioned here include all non-incremental changes of program counter such as interrupts. You can trace back changes of program counter and disassemble codes at the branch source address. XEiJ はプログラムカウンタのインクリメント以外の変化すなわち割り込みを含むすべての分岐の分岐元と分岐先のアドレスを直近の 65535 回までメモリ上の分岐ログに保存しています。分岐ログウインドウを開くとプログラムカウンタの変化を遡って逆アセンブルすることができます。
Core control buttons are located. コア制御ボタンが配置されています。
ISO files are accessed as if they are SCSI CD-ROM drives. In X68000 Hybrid, X68030 and 060turbo mode, you can boot the system from an ISO file by clicking "Reboot from it" button if a boot sector exists. Files in CD-ROM are accessed via susie.x in Human68k environment. *.ISO ファイルを SCSI CD-ROM とみなします。ブートセクタがあるときは「ここから再起動」で CD-ROM から直接起動できます。Human68k からは susie.x でアクセスできます。
Common core control buttons are located in the branch log, disassemble list, and register list. 分岐ログ、逆アセンブルリスト、レジスタリストに共通のコア制御ボタンが配置されています。
Consider ORI.B #$00,D0 as an illegal instruction. The instruction code for ORI.B #$00,D0 is $0000,$0000. This instruction is rarely written intentionally, but is often executed when a runaway condition occurs with a jump to an unintended address. By treating this as an illegal instruction, it makes it easier for the debugger to catch the runaway. If the runaway is caught at an early stage, it is expected to reduce the time and effort required to find the cause of the problem. ORI.B #$00,D0 を不当命令とみなします。ORI.B #$00,D0 の命令コードは $0000,$0000 です。 この命令は意図して書かれることはほとんどありませんが、意図しないアドレスにジャンプして暴走したときにしばしば実行されます。 これを不当命令とみなすことで、デバッガで暴走を捕捉しやすくします。 暴走を早い段階で捉えられれば、原因を探る手間が減ることが期待できます。
The core is stopped when a bus error, address error, illegal instruction, divide by zero, CHK instruction, TRAPV instruction, or privilege violation occurs. If an abnormality is caught at an early stage, it is expected to reduce the time and effort required to find the cause. A bus error intentionally generated to check for the presence of an expansion board will also stop the system. バスエラー、アドレスエラー、不当命令、ゼロ除算、CHK 命令、TRAPV 命令、特権違反などが発生したらコアを停止させます。 異常を早い段階で捉えられれば、原因を探る手間が減ることが期待できます。 拡張ボードの有無を確認するために意図的に発生させられたバスエラーでも停止します。
Stops the core at the start of program execution. It is used when you want to set a breakpoint in a program before executing it. The disassemble list shows the name of the program and the offset from the beginning, so you can easily find the place to set a breakpoint by comparing it with the assembly list generated by HAS060.X and the disassembly list generated by dis.x. This feature is only available when Human68k 3.02 is running. プログラムの実行開始位置でコアを停止させます。 プログラムにブレークポイントを仕掛けてから実行したいときに使います。 逆アセンブルリストにはプログラムの名前と先頭からのオフセットが表示されるので、HAS060.Xが生成したアセンブルリストやdis.xが生成した逆アセンブルリストと照合することで、ブレークポイントを仕掛ける場所を簡単に見つけられます。 この機能は Human68k 3.02 が動作しているときだけ有効です。
Stops the core. All peripheral circuits as well as the MPU will stop. The cursor will also stop blinking, but this is not abnormal. Note that the RTC is based on the platform time and does not stop. In programs that use the RTC to measure time, the time the core was stopped is included in the elapsed time. コアを停止させます。MPU だけでなく周辺回路もすべて止まります。 カーソルの点滅も止まりますが異常ではありません。RTC はプラットフォームの時刻を基準にしているので止まらないことに注意してください。RTC を使って時間を計るプログラムではコアが止まっていた時間も経過時間に含まれます。
Trace execution is performed. Trace execution executes the instruction pointed to by the program counter. It can trace areas that cannot be traced by the DB.X trace command, such as inside raster interrupt routines. トレース実行を行います。 トレース実行は、プログラムカウンタが指す命令を実行します。 ラスタ割り込みルーチンの中などの DB.X のトレースコマンドではトレースできない領域もトレースできます。
Repeat trace execution 10 times. トレース実行を 10 回繰り返します。
Repeat trace execution 100 times. トレース実行を 100 回繰り返します。
Step execution is performed. Step execution executes the instruction pointed to by the program counter if it is a branch instruction, or else it places a temporary breakpoint immediately after the instruction and executes up to that point. Subroutine calls, DOS calls, IOCS calls, etc. do not stop until they return. ステップ実行を行います。 ステップ実行は、プログラムカウンタが指す命令が分岐命令ならばそれを実行し、さもなくばその命令の直後に臨時のブレークポイントを置いてそこまで実行します。 サブルーチン呼び出し、DOS コール、IOCS コールなどは復帰するまで止まりません。
Repeat step execution 10 times. ステップ実行を 10 回繰り返します。
Repeat step execution 100 times. ステップ実行を 100 回繰り返します。
Step execution is repeated until an attempt is made to execute a return instruction with the stack pointer not decremented. スタックポインタが減っていない状態で復帰命令を実行しようとするまで、ステップ実行を繰り返します。
Unstops the core. コアの停止を解除します。
MPU stops just after it reads or writes data in the specified range at the specified physical address. Data break point shows its power in the following case: "You know that the direct cause of malfunction of the program is broken code or data. But you do not know when and who broke them." You can catch directly the instruction that destroyed code or data by placing a data break point. When you think that the instruction is not written with the intention and the program runs away, trace the branch-log back to an instruction that has additional information such as a device name or an executable file name. If a copied data was broken, put a data break point at the copy source. You will efficiently find the root of the problem. 特定の物理アドレスで特定の範囲のデータの読み書きを行った命令の直後で MPU を停止させます。「プログラムの誤動作の直接的な原因がコードやデータが破壊されているためであることは分かったけれど、いつ誰が壊したのか分からない」というときにデータブレークポイントが威力を発揮します。データブレークポイントを使えばコードやデータを破壊した命令を直接捉えることができます。その命令が正しく記述されたものではなく暴走していると思われる場合は 分岐ログ を使って 逆アセンブルリスト で近くにデバイス名または実行ファイル名が表示されるところまで遡ります。別の場所からコピーされたデータが壊れていたときはコピー元にデータブレークポイントを仕掛けます。効率よく問題の大元を見つけることができるでしょう。
Memory map of XEiJ is an array of memory mapped devices. Each page size is 8KB. Data break point device, which is an indirect memory mapped device, is assigned to the page that has data break points. When MPU reads or writes the page, data break point device invokes previous memory mapped device and stops MPU if the stop conditions are satisfied. An advantage of this method is its lightness. If a data break point starts monitoring all bus access, overall performance will significantly decrease. However, by using an indirect memory mapped device, overhead at a page that has no data break point becomes always zero even if you put several hundred data break points on other pages. There are some defects of this method. Misaligned accesses are not able to be detected because MPU splits them before bus access. In multi-task environment, code and data on RAM that physical address is not fixed are not able to be monitored. XEiJ のメモリマップはメモリマップトデバイスの配列です。データブレークポイントが設定されたページには間接メモリマップトデバイスであるデータブレークポイントデバイスが割り当てられ、データブレークポイントデバイスが元のメモリマップトデバイスを呼び出して停止条件が成立していたら MPU を止めます。この方法の利点は軽量であることです。データブレークポイントを 1 個設定しただけですべてのバスアクセスの監視が始まったのでは全体のパフォーマンスが大幅に低下してしまいますが、この方法ならばデータブレークポイントを何百個設定しようと設定されていないページのオーバーヘッドは常にゼロです。欠点はアラインメントの合っていないアクセスは分割されていて直接検出できないことと、マルチタスク環境の RAM 上のコードやデータは物理アドレスが固定されていないので監視できないことです。
You can stop, run, disassemble and dump by command input. コマンド入力で停止、実行、逆アセンブル、ダンプなどの処理を行います。
[enter h to display usage] > h Command d<size> <start-address>,<end-address¹> dump f<size> <start-address>,<end-address¹>,<data>,… fill g <start-address> run h help i stop l <start-address>,<end-address¹> disassemble p <expression>,… calculate and print r step until return s <number-of-times> step t <number-of-times> trace x list registers xf list floating point registers <expression> calculate <command>;… sequential execution ¹The end address is within the range. -- more -- [y/n] y Size b byte (8bit) w word (16bit) l long (32bit) q quad (64bit) s single (32bit) d double (64bit) x extended (80bit) t triple (96bit) p packed decimal (96bit) -- more -- [y/n] y Floating point number 1.0e+2 decimal number 0b1.1001p+6 binary number 0o1.44p+6 octal number 0x1.9p+6 $64 hexadecimal number Infinity NaN infinity,not a number Mathematical constant Apery Catalan E Eular Pi Character code 'A' String "ABC" -- more -- [y/n] y Register General register d0 … d7 r0 … r7 data register a0 … a7 r8 … r15 sp address register fp0 … fp7 floating point register Control register pc sr ccr sfc dfc cacr tc itt0 itt1 dtt0 dtt1 buscr usp vbr caar ssp msp isp urp srp pcr fpiar fpsr fpcr Variable foo floating point variable foo$ string variable -- more -- [y/n] y Address <address> current address space <physical-address>@0 physical address space <logical-address>@1 user data space <logical-address>@2 user code space <logical-address>@5 supervisor data space <logical-address>@6 supervisor code space -- more -- [y/n] y Operator <general-register>.<size> general register access <variable>.<size> variable access [<address>].<size> memory access x.<size> cast x(y) function call x++ ++x x-- --x increment,decrement +x -x ~x !x signum,bitwise NOT,logical NOT x**y x*y x/y x%y exponentiation,multiplication,division x+y x-y addition,subtraction,concatenation x<<y x>>y x>>>y shift x<y x<=y x>y x>=y comparison x==y x!=y equality x&y x^y x|y x&&y x||y bitwise AND,XOR,OR,logical AND,OR x?y:z conditional x=y x**=y x*=y x/=y x%=y x+=y x-=y x<<=y x>>=y x>>>=y x&=y x^=y x|=y assignment x,y sequential evaluation -- more -- [y/n] y Function abs acos acosh acot acoth acsc acsch agi agm asc asec asech asin asinh atan atan2 atanh bin$ cbrt ceil chr$ cmp cmp0 cmp1 cmp1abs cmpabs cos cosh cot coth csc csch cub dec deg div2 div3 divpi divrz exp exp10 exp2 exp2m1 expm1 floor frac getexp getman hex$ ieeerem inc iseven isinf isint isnan isodd isone iszero lgamma log log10 log1p log2 max min mul2 mul3 mulpi oct$ pow quo rad random rcp rint rmode round rprec sec sech sgn sin sinh sqrt squ str$ tan tanh tgamma trunc ulp val >
[ h で使用法を表示] > h コマンド d<サイズ> <開始アドレス>,<終了アドレス¹> ダンプ f<サイズ> <開始アドレス>,<終了アドレス¹>,<データ>,… フィル g <開始アドレス> 実行 h ヘルプ i 停止 l <開始アドレス>,<終了アドレス¹> 逆アセンブル p <式>,… 計算結果表示 r ステップアンティルリターン s <回数> ステップ t <回数> トレース x レジスタ一覧 xf 浮動小数点レジスタ一覧 <式> 計算 <コマンド>;… 逐次実行 ¹終了アドレスは範囲に含まれる -- more -- [y/n] y サイズ b バイト (8bit) w ワード (16bit) l ロング (32bit) q クワッド (64bit) s シングル (32bit) d ダブル (64bit) x エクステンデッド (80bit) t トリプル (96bit) p パックトデシマル (96bit) -- more -- [y/n] y 浮動小数点数 1.0e+2 10進数 0b1.1001p+6 2進数 0o1.44p+6 8進数 0x1.9p+6 $64 16進数 Infinity NaN 無限大,非数 数学定数 Apery Catalan E Eular Pi 文字コード 'A' 文字列 "ABC" -- more -- [y/n] y レジスタ 汎用レジスタ d0 … d7 r0 … r7 データレジスタ a0 … a7 r8 … r15 sp アドレスレジスタ fp0 … fp7 浮動小数点レジスタ 制御レジスタ pc sr ccr sfc dfc cacr tc itt0 itt1 dtt0 dtt1 buscr usp vbr caar ssp msp isp urp srp pcr fpiar fpsr fpcr 変数 foo 浮動小数点変数 foo$ 文字列変数 -- more -- [y/n] y アドレス <アドレス> 現在のアドレス空間 <物理アドレス>@0 物理アドレス空間 <論理アドレス>@1 ユーザデータ空間 <論理アドレス>@2 ユーザコード空間 <論理アドレス>@5 スーパーバイザデータ空間 <論理アドレス>@6 スーパーバイザコード空間 -- more -- [y/n] y 演算子 <汎用レジスタ>.<サイズ> 汎用レジスタアクセス <変数>.<サイズ> 変数アクセス [<アドレス>].<サイズ> メモリアクセス x.<サイズ> キャスト x(y) 関数呼び出し x++ ++x x-- --x インクリメント,デクリメント +x -x ~x !x 符号,ビットNOT,論理NOT x**y x*y x/y x%y 累乗,乗除算 x+y x-y 加減算,連結 x<<y x>>y x>>>y シフト x<y x<=y x>y x>=y 比較 x==y x!=y 等価 x&y x^y x|y x&&y x||y ビットAND,XOR,OR,論理AND,OR x?y:z 条件 x=y x**=y x*=y x/=y x%=y x+=y x-=y x<<=y x>>=y x>>>=y x&=y x^=y x|=y 代入 x,y 逐次評価 -- more -- [y/n] y 関数 abs acos acosh acot acoth acsc acsch agi agm asc asec asech asin asinh atan atan2 atanh bin$ cbrt ceil chr$ cmp cmp0 cmp1 cmp1abs cmpabs cos cosh cot coth csc csch cub dec deg div2 div3 divpi divrz exp exp10 exp2 exp2m1 expm1 floor frac getexp getman hex$ ieeerem inc iseven isinf isint isnan isodd isone iszero lgamma log log10 log1p log2 max min mul2 mul3 mulpi oct$ pow quo rad random rcp rint rmode round rprec sec sech sgn sin sinh sqrt squ str$ tan tanh tgamma trunc ulp val >
The disassembler used in the disassemble list and the branch log disassembles programs in instruction units. Some information are inserted at break positions such as immediately after unconditional branch instructions in disassemble lists. If the address is in the exception vector table, the type of the exception is displayed at the beginning of the exception handler. In loaded device drivers and executable files, the file name and the offset from the top of the program are displayed. You can easily compare them with assemble lists made by HAS.X or HAS060.X and disassemble lists made by dis.x. So you can anticipate where break points should be set. 逆アセンブルリストや 分岐ログ で使用されているのは普通の命令単位の逆アセンブラですが、無条件分岐命令の直後などの区切りの位置にいくつかの情報が表示されます。例外ベクタが指しているアドレスにはその例外の種類が、また、Human68k が読み込まれているときはデバイス名または実行ファイル名とその先頭からのオフセットが表示されます。HAS.X や HAS060.X で -p を指定して作成したアセンブルリストや dis.x で作成した逆アセンブルリストと容易に照合できるので、デバッグしたい場所に先回りしてブレークポイントを仕掛けるといった作業がやりやすいと思います。
Core control buttons are located. コア制御ボタンが配置されています。
In the seamless mouse mode, mouse data that shows mouse cursor moves outwardly of the screen is generated when mouse cursor is in the edge of the screen. In the real screen mode of SX-WINDOW, you can scroll the screen by pressing mouse cursor against the edge of the screen. シームレスマウスモード でマウスカーソルが画面の端にあるとき、マウスカーソルが画面の外方向に動いているように見えるデータを作ります。SX-WINDOW の実画面モードでマウスカーソルを画面の端に押し付けて画面をスクロールさせることができます。
The exclusive mouse mode is the mode that XEiJ monopolizes the mouse cursor of the host machine. It is sometimes called simply a mouse mode in other X68000 emulators. You can operate software that uses its own mouse driver that does not depend on IOCS. But there is an inconvenience that you have to change the mouse mode every time you operate other software of the host machine because the mouse cursor of the host machine is occupied. エクスクルーシブマウスモードは XEiJ がホストマシンのマウスカーソルを占有するモードです。他の X68000 エミュレータでは単にマウスモードと呼ばれることがあります。IOCS に依存しない独自のマウスドライバを使用するソフトウェアも操作できますが、ホストマシンのマウスカーソルを占有してしまうので、ホストマシンの他のアプリケーションを操作する度にマウスモードを切り替えなければならないという不便さがあります。
When in seamless mouse mode, clicking the wheel (or right-clicking while holding down the Alt key on a two-button mouse) or pressing the F12 key will switch to exclusive mouse mode. シームレスマウスモード のとき、ホイールをクリックする (2 ボタンマウスのときは Alt キーを押しながら右クリックする) か F12 キーを押すとエクスクルーシブマウスモードに切り替わります。
Extended graphic screens are graphic screens that consist of 1024×1024 dots real screen and 256 or 65536 colors. They are not available on real machines. 拡張グラフィック画面は実画面サイズが 1024×1024 ドットで色数が 256 色または 65536 色のグラフィック画面です。実機では使えません。
memory mode メモリモード | real screen size 実画面サイズ | number of colors 色数 | number of pages ページ数 | GVRAM size GVRAM サイズ |
---|---|---|---|---|
0 | 512×512 | 16 | 4 | 512KB |
1 | 256 | 2 | ||
3 | 65536 | 1 | ||
4 | 1024×1024 | 16 | ||
5 | 256 | 1MB | ||
7 | 65536 | 2MB |
IOCS _G_GLR_ON does not work as expected in memory mode 5,7. IOCS _G_GLR_ON はメモリモード 5,7 では期待通りに動作しません。
512KB GVRAM in memory modes 0,1,3,4 and 2MB GVRAM in memory modes 5 and 7 are different entities. Clearing all 2MB of GVRAM in memory mode 7 does not clear the 512KB of GVRAM in memory mode 3. メモリモード 0,1,3,4 の 512KB の GVRAM とメモリモード 5,7 の 2MB の GVRAM は実体が異なります。メモリモード 7 で 2MB の GVRAM をすべてクリアしてもメモリモード 3 の 512KB の GVRAM はクリアされません。
Tools for utilizing the extended graphic screen are available on tantan's website. tantan さんのサイトで拡張グラフィック画面を活用するツールが公開されています。
In 060turbo mode, you can cut FC2 pin. The whole physical address space becomes accessible in user mode and X Window System runs on NetBSD/x68k. 060turbo モードのとき FC2 ピンをカットできます。物理空間全体がユーザモードでアクセスできるようになり、NetBSD/x68k で X Window System が動きます。
FE function calls are service calls to perform floating point arithmetic and number-string conversion in environment of Human68k. They are registered to the system by FLOAT2.X, FLOAT3.X or FLOAT4.X and called via F-line exception by placing undefined instruction code $FExx like $FFxx of DOS call. They are usually used in programs written in X-BASIC and C language. FE ファンクションコールは Human68k の環境で浮動小数点演算や数値と文字列の変換を行うサービスコールです。通常は FLOAT2.X、FLOAT3.X、FLOAT4.X のいずれかを用いてシステムに登録し、DOS コールの $FFxx と同様に $FExx という形の未実装命令コードを配置することで F ライン例外を経由して呼び出します。X-BASIC や C 言語で書かれたプログラムで使われています。
MPU of XEiJ can handle opcodes of the form $FExx as not "unimplemented instructions that generate F-line exceptions" but "FE function instructions that perform floating point arithmetic". This feature eliminates exception processing time of FE function calls. Moreover, floating point arithmetic is performed fast by Java operators and APIs. X-BASIC and other software that use a lot of floating point arithmetic run faster. XEiJ の MPU は $FExx という命令コードを「F ライン例外を発生させる未実装命令」ではなく「浮動小数点演算を行う実装済みの FE ファンクション命令」として処理することができます。FE ファンクションコールで発生する例外処理のオーバーヘッドがなくなり、浮動小数点演算も Java の演算子や API を用いて計算するので高速です。X-BASIC や浮動小数点演算を多用するソフトウェアの動作が軽くなます。
FE function calls not implemented in genuine FLOATn.X and __FEVECS which is an FE function call to replace processing routines of FE function calls generate F-line exceptions as usual. You can assign new FE function calls to unused unimplemented instruction codes by using FLOATn.X together but you can not change FE function instructions already implemented by using __FEVECS. 純正の FLOATn.X に実装されていない FE ファンクションコールおよび FE ファンクションコールの処理ルーチンを変更する __FEVECS を呼び出したときは従来通り F ライン例外が発生します。FLOATn.X を併用することで、空いている未実装命令コードに FE ファンクションコールを追加することはできますが、実装済みの FE ファンクション命令の処理を __FEVECS で差し替えることはできません。
list 10 int n=100000,k,t 20 float a=0#,b=1#,d,s 30 t=time():d=(b-a)/n:a=a-d*0.5#:s=0#:for k=1 to n:s=s+atan(a+d*k):next:s=d*s:t=time()-t 40 print s,t;"sec" 50 end 60 func time() 70 str c$,d$,s$,t$ 80 int y,m,d 90 d$=date$:t$=time$ 100 repeat 110 c$=d$:s$=t$ 120 d$=date$:t$=time$ 130 until c$=d$ and s$=t$ 140 y=((atoi(left$(d$,2))+50) mod 100)+1950:m=atoi(mid$(d$,4,2)):d=atoi(right$(d$,2)) 150 if m<3 then { y=y-1:m=m+12 } 160 c=floor(365.25#*y)+floor(30.59#*(m-2))+d-719501 170 if -141417<=c then c=c+floor(y/400)-floor(y/100)+2 180 return(c*86400+(atoi(left$(t$,2))-9)*3600+atoi(mid$(t$,4,2))*60+atoi(right$(t$,2))) 190 endfunc 200 func floor(x;float) 210 int y 220 y=fix(x):if x<y then y=y-1 230 return(y) 240 endfunc Ok
run 0.43882457311956 18 sec Ok
run 0.43882457311956 12 sec Ok
π /4-log(2)/2 = 0.4388245731174756549…
You can set operating frequency of MPU from 1MHz to 1000MHz in units of 1MHz. Maximum load factor is 90 percent if the sound output is enabled. MPU の動作周波数を 1MHz から 1MHz 刻みで 1000MHz まで設定できます。音声出力が ON のときは負荷率 80%、音声出力が OFF のときは負荷率 100% を上限としてそれ以上動作周波数が上がらないようになっています。
In the fixed load factor mode, operating frequency of MPU is automatically controlled to keep the load factor. You can set the load factor from 1% to 100% in units of 1%. MPU の動作周波数を自動的に変化させて負荷率を一定に保ちます。負荷率を 1% から 1% 刻みで 100% まで設定できます。
When in Windows, the named pipe "\\.\pipe\XEiJControl", you can send control commands, such as pressing an interrupt switch, from other processes via this pipe. Place the supplied xeijwin.dll in the current directory or in a directory that is in your path. Activating the paste pipe via the paste settings menu or the parameter pastepipe also activates the control pipe. Windows のとき、名前付きパイプ「\\.\pipe\XEiJControl」を介して他のプロセスからインタラプトスイッチを押すなどの制御コマンドを送信できます。 付属の xeijwin.dll をカレントディレクトリまたはパスの通っているディレクトリに置いてください。 貼り付け設定メニューまたはパラメータ pastepipeで貼り付けパイプを有効にすると制御パイプも有効になります。
control command制御コマンド | function機能 |
---|---|
interrupt | press the interrupt switchインタラプトスイッチを押す |
presskey keyname ... | press keysキーを押す |
releasekey keyname ... | release keysキーを離す |
reset | press the reset switchリセットスイッチを押す |
typekey keyname ... | type keysキーを押して離す |
key nameキーの名前 | scan codeスキャンコード | note備考 |
---|---|---|
ESC | 1 | |
1 | 2 | |
2 | 3 | |
3 | 4 | |
4 | 5 | |
5 | 6 | |
6 | 7 | |
7 | 8 | |
8 | 9 | |
9 | 10 | |
0 | 11 | |
MINUS | 12 | - |
CARET | 13 | |
YEN | 14 | \ |
BS | 15 | |
TAB | 16 | |
Q | 17 | |
W | 18 | |
E | 19 | |
R | 20 | |
T | 21 | |
Y | 22 | |
U | 23 | |
I | 24 | |
O | 25 | |
P | 26 | |
AT | 27 | @ |
LEFTBRACKET | 28 | [ |
RETURN | 29 | |
A | 30 | |
S | 31 | |
D | 32 | |
F | 33 | |
G | 34 | |
H | 35 | |
J | 36 | |
K | 37 | |
L | 38 | |
SEMICOLON | 39 | ; |
COLON | 40 | : |
RIGHTBRACKET | 41 | ] |
Z | 42 | |
X | 43 | |
C | 44 | |
V | 45 | |
B | 46 | |
N | 47 | |
M | 48 | |
COMMA | 49 | , |
PERIOD | 50 | |
SLASH | 51 | |
UNDERLINE | 52 | |
SPACE | 53 | |
HOME | 54 | |
DEL | 55 | |
ROLLUP | 56 | |
ROLLDOWN | 57 | |
UNDO | 58 | |
LEFT | 59 | ← |
UP | 60 | ↑ |
RIGHT | 61 | → |
DOWN | 62 | ↓ |
CLR | 63 | |
TENKEYSLASH | 64 | テンキー / |
TENKEYASTERISK | 65 | テンキー * |
TENKEYMINUS | 66 | テンキー - |
TENKEY7 | 67 | |
TENKEY8 | 68 | |
TENKEY9 | 69 | |
TENKEYPLUS | 70 | テンキー + |
TENKEY4 | 71 | |
TENKEY5 | 72 | |
TENKEY6 | 73 | |
TENKEYEQUAL | 74 | テンキー = |
TENKEY1 | 75 | |
TENKEY2 | 76 | |
TENKEY3 | 77 | |
ENTER | 78 | |
TENKEY0 | 79 | |
TENKEYCOMMA | 80 | テンキー , |
TENKEYPERIOD | 81 | テンキー . |
KIGOU | 82 | 記号入力 |
TOUROKU | 83 | 登録 |
HELP | 84 | |
XF1 | 85 | |
XF2 | 86 | |
XF3 | 87 | |
XF4 | 88 | |
XF5 | 89 | |
KANA | 90 | かな |
ROMA | 91 | ローマ字 |
CODE | 92 | コード入力 |
CAPS | 93 | |
INS | 94 | |
HIRAGANA | 95 | ひらがな |
ZENKAKU | 96 | 全角 |
BREAK | 97 | |
COPY | 98 | |
F1 | 99 | |
F2 | 100 | |
F3 | 101 | |
F4 | 102 | |
F5 | 103 | |
F6 | 104 | |
F7 | 105 | |
F8 | 106 | |
F9 | 107 | |
F10 | 108 | |
SHIFT | 112 | |
CTRL | 113 | |
OPT1 | 114 | OPT.1 |
OPT2 | 115 | OPT.2 |
NUM | 116 |
XEiJ is equipped with two floating point coprocessor boards (CZ-6BP1), which is commonly called copro board. Their coprocessors are compatible with MC68881 at instruction level. FLOAT3.X is available. Programs that were compiled by GCC (Mariko version) or GCC2 and linked with libc bypass FLOAT3.X and access the coprocessor directly. 浮動小数点プロセッサボード CZ-6BP1 (通称、コプロボード) を 2 枚挿してあります。FPCP は MC68881 と命令互換のコプロセッサです。FLOAT3.X を利用できます。GCC(真里子版) または GCC2 でコンパイルして libc をリンクしたプログラムは FLOAT3.X を経由せずコプロセッサを直接操作します。
When the FE function instructions are enabled, to reduce overheads of DOS calls, unnecessary FLOATn.X is rejected even if FLOATn.X is written in CONFIG.SYS. FE ファンクション命令 が有効なとき、DOS コールのオーバーヘッドを減らすために、CONFIG.SYS に 不要な FLOATn.X が書かれていても組み込まれないようにします。
Full specification FPU can perform all floating point instructions of MC68882 and MC68060. フルスペック FPU は MC68882 と MC68060 のすべての浮動小数点命令を実行できます。
The X68000 screen can be captured frame by frame and saved as a GIF animation. X68000 の画面をフレーム毎に取り込んで GIF アニメーションとして保存できます。
GIF images can only use up to 256 colors, so screens with many colors cannot be saved well. GIF 画像では 256 色までしか使えないので色数が多い画面はうまく保存できません。
High memory starting at address $10000000 is available for 060turbo. High memory size is 0MB, 16MB, 32MB, 64MB, 128MB, 256MB, 384MB, 512MB, or 768MB. The contents of the high memory can be saved in a configuration file. These settings can be changed in the high memory on 060turbo menu, parameter localmemory and parameter localmemorysave. 060turbo でアドレス $10000000 から始まるハイメモリを使用できます。 ハイメモリの容量は 0MB、16MB、32MB、64MB、128MB、256MB、384MB、512MB、768MB のいずれかです。 ハイメモリの内容を設定ファイルに保存できます。 これらの設定は060turbo のハイメモリメニュー、パラメータ localmemoryおよびパラメータ localmemorysaveで変更できます。
High memory equivalent to TS-6BE16 starting at address $01000000 is available for X68030 and Xellent30. High memory size is 0MB or 16MB. The contents of the high memory can be saved in a configuration file. Large amount of high memory starting from address $10000000 can also be used with the X68030 and Xellent30. These settings can be changed in the high memory on X68030/Xellent30 menu, parameter highmemory, parameter highmemorysave and parameter highmemory060turbo. X68030 と Xellent30 でアドレス $01000000 から始まる TS-6BE16 相当のハイメモリを使用できます。 ハイメモリの容量は 0MB、16MB のいずれかです。 ハイメモリの内容を設定ファイルに保存できます。X68030 と Xellent30 でアドレス $10000000 から始まる大容量のハイメモリを使うこともできます。 これらの設定はX68030/Xellent30 のハイメモリメニュー、パラメータ highmemory、パラメータ highmemorysaveおよびパラメータ highmemory060turboで変更できます。
XEiJ has a virtual expansion board to boot from a remote device and can treat any directory of the host machine as a boot drive of Human68k. Image files of floppy disks and hard disks have a weak point that it is generally troublesome to manipulate its data from the host machine. However, you do not have to make image files to configure a Human68k environment on XEiJ because all files including files required in the starting sequence such as CONFIG.SYS, device driver and so on are searched in directories of the host machine. You will start to think that making a Human68k environment in image files is very tiresome after getting used to X68000 that has been released from miniature gardens of image files. XEiJ はリモートデバイスから ROM 起動するための仮想拡張ボードを搭載しており、ホストマシンの任意のディレクトリを Human68k の起動ドライブにすることができます。CONFIG.SYS やデバイスドライバなどの起動シーケンスに必要なファイルがすべてホストマシンのディレクトリで検索されるので、Human68k の環境を構築するためにホストマシン側から内容を操作しにくいフロッピーディスクやハードディスクのイメージファイルを作る必要がありません。イメージファイルという箱庭から開放された X68000 に慣れると、イメージファイルの中に Human68k の環境を構築するのがとても面倒なことに思えてきます。
To boot from a floppy disk or hard disk image file and access the host file system, write the following in config.sys. フロッピーディスクやハードディスクのイメージファイルから起動してホストファイルシステムにアクセスするには config.sys に以下のように書きます。
device=[rom$00e9f020]
Draw changed pictures intermittently. Reducing frequency of drawing makes the look awkward, but the emulation load is lightened. 変化した画像を断続的に描きます。 描画の頻度を減らすと見た目がぎこちなくなりますが、エミュレーションの負荷は軽くなります。
Instruction break point stops MPU just before the instruction at specified physical address. Like data break point, instruction break point is an indirect memory mapped device. So it is light. You can put an instruction break point in ROM because it does not change opcodes. 特定の物理アドレスの命令の直前で MPU を停止させます。データブレークポイント と同様に間接メモリマップトデバイスを使用しているので軽量です。コードを変更しないので ROM にも仕掛けられます。
See About IPLROM 1.6. IPLROM 1.6 について を参照。
XEiJ is written in the Java language. It will run on any operating system if the OpenJDK has been installed. XEiJ は Java 言語で記述されています。 最新の OpenJDK がインストールされていれば OS に関係なく動作します。
The Java applet mode to run XEiJ on web browsers and the JNLP mode to run XEiJ via the Java Web Start had been removed. ウェブブラウザ上で XEiJ を起動する Java アプレットモードおよび Java Web Start を介して XEiJ を起動する JNLP モードは廃止されました。
TNB Seisakusho's JoyPortUkun is supported. Input/output devices connected to the joystick port of the actual X68000 may be used with XEiJ. You can select whether to connect to JoyPortUkun or not in the joystick port setting window or parameter joyportukun. TNB 製作所さんのじょいぽーと U 君に対応しました。X68000 実機のジョイスティックポートに繋いでいた入出力デバイスが XEiJ で使えるかも知れません。 じょいぽーと U 君に接続するかどうかをジョイスティックポート設定ウインドウまたはパラメータ joyportukunで選択できます。
JoyPortUkun has two modes: the Notify mode in which notifications are sent when the status changes, and the Command mode in which the status is queried when the I/O port is read. When an I/O port is written in the Notify mode, the Notify(A) mode confirms the status change before proceeding to the next instruction, while the Notify(B) mode proceeds to the next instruction without confirmation and confirms when the I/O port is accessed next. You can select which mode to use in the joystick port settings window or in the parameter ukunmode. The default is the Notify(A) mode. じょいぽーと U 君には、I/O ポートの状態が変化したとき通知が届く Notify モードと、I/O ポートがリードされたとき状態を問い合わせる Command モードがあります。Notify モードで I/O ポートがライトされたとき、状態の変化を確認してから次の命令に進むのが Notify(A) モード、確認せず次の命令に進み次に I/O ポートがアクセスされたとき確認するのが Notify(B) モードです。 どのモードを使用するかをジョイスティックポート設定ウインドウまたはパラメータ ukunmodeで選択できます。 デフォルトは Notify(A) モードです。
Since it takes time to communicate with the physical device, a wait of 100 us, or 1000 cycles at 10 MHz, is added to each PPI access when JoyPortUkun is connected. There may be some software that may malfunction or slow down when JoyPortUkun is connected. 物理デバイスとの通信に時間がかかるので、じょいぽーと U 君が接続されているとき PPI のアクセスに 1 回あたり 100us すなわち 10MHz に換算して 1000 サイクルのウェイトを追加しています。 じょいぽーと U 君を接続すると動作がもたついたり誤動作するソフトウェアがあるかも知れません。
jSerialComm is used for connecting to the JoyPortUkun except Windows. You may be able to use the JoyPortUkun on macOS and Linux. On Windows, the conventional native code is used for connecting to the JoyPortUkun, but jSerialComm can also be selected. Added parameter ukunjsc. Windows 以外のとき、じょいぽーと U 君との接続にjSerialCommを使用します。macOS や Linux でもじょいぽーと U 君が使えるかも知れません。Windows のときはじょいぽーと U 君との接続に従来の native コードを使用しますが、jSerialComm も選択できます。 パラメータ ukunjscを追加しました。
Added output interval adjustment to stabilize the initialization sequence of Shiromadokun. The interval between writes to PPI is measured in virtual time and real time, respectively. If the virtual time interval is shorter, a wait cycle is added. If the real time interval is shorter, an empty loop is added with an upper limit of 500 us to reduce the gap between the virtual time interval and the real time interval. The load factor increases when adding an empty loop. This feature is enabled by parameter ukuninterval. 白窓君の初期化シーケンスを安定させるため、出力間隔調整を追加しました。PPI への書き込みの間隔を仮想時間と実時間でそれぞれ計測します。 仮想時間の間隔の方が短ければウェイトサイクルを、実時間の間隔の方が短ければ空ループを、500us を上限として追加することで、仮想時間の間隔と実時間の間隔のずれを軽減します。 空ループを追加するとき負荷率が高くなります。 この機能はパラメータ ukunintervalで有効になります。
The Key assignments window allows you to set the correspondence between the keys on the X68000 and the keys on the host machine. キー割り当てウインドウで X68000 のキーとホストマシンのキーの対応を設定できます。
The Key assignments window has input areas arranged in the shape of a standard X68000 keyboard. Click on the input area of the X68000 key you want to assign, and then press the key on the host machine you want to assign. キー割り当てウインドウには入力エリアが X68000 の標準キーボードの形に並んでいます。 割り当てたい X68000 のキーの入力エリアをクリックしてから、割り当てたいホストマシンのキーを押してください。
You can assign up to three keys of the host machine's key to one key on the X68000. Pressing an unassigned key will add a key. Pressing the fourth key will unassign the first key and reduce the number of keys to three. Pressing a key that has already been assigned to a key will unlock the other key and reduce the number of keys to one. X68000 の 1 個のキーにホストマシンのキーのキーを 3 個まで割り当てられます。 割り当てられていないキーを押すとキーが追加されます。4 個目を押すと 1 個目が解除されて 3 個になります。 既に割り当てられているキーを押すと他のキーが解除されて 1 個になります。
Pressing the Esc key on the host machine other than the ESC key on the X68000 will cancel all assignments for that key and set it to 0. It is not possible to assign the Esc key to any key other than the ESC key. Also, the ESC key cannot be unassigned. X68000 の ESC キー以外でホストマシンの Esc キーを押すとそのキーの割り当てがすべて解除されて 0 個になります。ESC キー以外に Esc キーを割り当てることはできません。 また、ESC キーの割り当てを解除することはできません。
Pressing the Tab key on the host machine other than the TAB key on the X68000 will shift the focus to the next key. The Tab key cannot be assigned to any key other than the TAB key. X68000 の TAB キー以外でホストマシンの Tab キーを押すとフォーカスが次のキーに移ります。TAB キー以外に Tab キーを割り当てることはできません。
Unassigns all keys. すべてのキーの割り当てを解除します。
Selects whether or not to use the US layout when resetting to the initial value with the Default button. 初期値ボタンで初期値に戻すとき英語配列にするかどうか選択します。
Resets all key assignments to their default values. The default values are different for Windows, macOS, and Linux. すべてのキーの割り当てを初期値に戻します。Windows と macOS と Linux で初期値が異なります。
Saves key assignments to a file in CSV format. Since XEiJ saves key assignments in a configuration file, when you initialize XEiJ settings, the key assignments are also initialized together. By saving key assignments to a file, you can restore key assignments after initializing XEiJ settings. キー割り当てを CSV 形式でファイルに保存します。XEiJ ではキー割り当てを設定ファイルに保存しているので、XEiJ の設定を初期化するとキー割り当ても一緒に初期化されてしまいます。 キー割り当てをファイルに保存しておくことで、XEiJ の設定を初期化した後にキー割り当てを復元できます。
Restores key assignments saved in a file in CSV format. CSV 形式でファイルに保存されたキー割り当てを復元します。
Undo changes to key assignments. If a key assigned to another key is pressed by mistake when changing a key assignment, the two keys will be in the wrong state, but they can be undone together. Operations of the blank button, initial value button, and restore button can also be undone. You can undo up to 1000 previous changes until you exit XEiJ. To undo a key assignment change after exiting XEiJ, extract the keymap= line from the XEiJ.ini.bak file, write it to a file named keymap.txt, and restore it. キー割り当ての変更を取り消します。 キー割り当てを変更するとき他のキーに割り当てられているキーを間違って押してしまうと、2 つのキーが間違った状態になってしまいますが、まとめて取り消せます。 白紙ボタン、初期値ボタン、復元ボタンの操作も取り消せます。XEiJ を終了するまで、1000 回前の変更まで取り消せます。XEiJ を終了した後にキー割り当ての変更を取り消すには、XEiJ.ini.bak ファイルから keymap= の行を取り出して keymap.txt というファイルに書き込み、それを復元してください。
Redo the undone operation. 取り消した操作をやり直します。
Logical space monitor shows physical address assigned to logical address. 論理アドレスに割り当てられている物理アドレスを表示します。
You can connect MEGA DRIVE 3 button pads to joystick ports. Joystick driver that supports the Chelnov adapter is required to use them. ジョイスティックポートにメガドラ 3 ボタンパッドを接続できます。メガドラパッド変換アダプタに対応しているジョイスティックドライバが必要です。
Settings of MEGA DRIVE 3 button pads are stored in the parameter megadrive3buttonN. メガドラ 3 ボタンパッドの設定はパラメータ megadrive3buttonN に保存されます。
You can connect MEGA DRIVE 6 button pads to joystick ports. Joystick driver that supports the Chelnov adapter is required to use them. ジョイスティックポートにメガドラ 6 ボタンパッドを接続できます。メガドラパッド変換アダプタに対応しているジョイスティックドライバが必要です。
Settings of MEGA DRIVE 6 button pads are stored in the parameter megadrive6buttonN. メガドラ 6 ボタンパッドの設定はパラメータ megadrive6buttonN に保存されます。
Contents of memory are shown. メモリの内容を表示します。
The MPU type and operating frequency, IPLROM version, built-in hard disk interface type, etc. are automatically set according to the model selected in the change the model and reset menu or parameter model. 機種を変更してリセットメニューまたはパラメータ modelで選択された機種に応じて、MPU の種類と動作周波数、IPLROM のバージョン、内蔵ハードディスクインターフェイスの種類などが自動的に設定されます。
The MPU type is MC68000 and the operating frequency is 10 MHz. The IPLROM version is 1.0. Internal hard disk interface type is SASI. MPU の種類は MC68000、動作周波数は 10MHz です。IPLROM のバージョンは 1.0 です。 内蔵ハードディスクインターフェイスの種類は SASI です。
PRO has one more DMAC wait cycle than EXPERT, so DMA transfers are slightly slower. PRO は EXPERT よりも DMAC のウェイトサイクルが 1 個多いので、DMA 転送が少し遅くなります。
The MPU type is MC68000 and the operating frequency is 10 MHz. The IPLROM version is 1.0. Internal hard disk interface type is SCSI. MPU の種類は MC68000、動作周波数は 10MHz です。IPLROM のバージョンは 1.0 です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
The MPU type is MC68000 and the operating frequency is 16.7 MHz. The IPLROM version is 1.1. Internal hard disk interface type is SCSI. MPU の種類は MC68000、動作周波数は 16.7MHz です。IPLROM のバージョンは 1.1 です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
Xellent30 on X68000 XVI. The MC68EC030 operates at twice the frequency of the MC68000. You can switch between MC68EC030 and MC68000 without resetting. X68000 XVI に Xellent30 を載せます。MC68EC030 は MC68000 の 2 倍の周波数で動作します。MC68EC030 と MC68000 をリセットせずに切り替えることができます。
MPU の種類は MC68000、動作周波数は 16.7MHz です。IPLROM のバージョンは 1.2 です。 内蔵ハードディスクインターフェイスの種類は SCSI です。 MPU の種類は MC68000、動作周波数は 16.7MHz です。IPLROM のバージョンは 1.2 です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
The X68000 Hybrid is XEiJ's default model, a fictional X68000 Compact with an X68030 IPLROM. The MPU type is MC68000 and the operating frequency is 33.3 MHz. The version of IPLROM is IPLROM 1.6. The type of internal hard disk interface is SCSI. X68000 Hybrid は XEiJ のデフォルトの機種で、X68000 Compact に X68030 の IPLROM を載せた架空の機種です。MPU の種類は MC68000、動作周波数は 33.3MHz です。IPLROM のバージョンはIPLROM 1.6です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
The MPU type is MC68EC030 and the operating frequency is 25 MHz. The version of IPLROM is IPLROM 1.3. The type of internal hard disk interface is SCSI. MPU の種類は MC68EC030、動作周波数は 25MHz です。IPLROM のバージョンは 1.3 です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
060turbo on X68030. The MPU type is MC68060 and the operating frequency is 50 MHz. The version of IPLROM is IPLROM 1.6. The type of internal hard disk interface is SCSI. X68030 に 060turbo を載せます。MPU の種類は MC68060、動作周波数は 50MHz です。IPLROM のバージョンはIPLROM 1.6です。 内蔵ハードディスクインターフェイスの種類は SCSI です。
060turboPRO is a fictional model of X68000 PRO with 060turbo. The MPU type is MC68060 and the operating frequency is 50 MHz. The version of IPLROM is IPLROM 1.6. The type of internal hard disk interface is SCSI. 060turboPRO は X68000 PRO に 060turbo を載せた架空の機種です。MPU の種類は MC68060、動作周波数は 50MHz です。IPLROM のバージョンはIPLROM 1.6です。 内蔵ハードディスクインターフェイスの種類は SASI です。
From a comparative view point between the mother board and daughter board, I call MC68882 on mother board of X68030 a mother board coprocessor. Mother board coprocessor is used when MC68EC030 performs floating point instructions. MC68060 on daughter board can access mother board coprocessor via CPU space. Presence and type of mother board coprocessor are displayed in the starting messages in 060turbo mode. ドーターボードにある MC68060 から見てマザーボードにある MC68882 をマザーボードコプロセッサと呼んでいます。X68030 (実機) で MC68EC030 が浮動小数点命令を実行するときに使用するコプロセッサに、060turbo (実機) と同様に MC68060 からアクセスできます。起動メッセージなどでマザーボードコプロセッサの有無と種類が表示されます。
You can connect normal 2 button pads to joystick ports. It is a normal joy pad. No special joystick driver is required to use them. ジョイスティックポートにノーマル 2 ボタンパッドを接続できます。普通のジョイパッドです。特別なジョイスティックドライバは不要です。
Settings of normal 2 button pads are stored in the parameter normal2buttonN. ノーマル 2 ボタンパッドの設定はパラメータ normal2buttonN に保存されます。
Writes to YM2151 registers during operation can be recorded with the elapsed time in units of 1 μ s and the performance can be replayed. 動作中の YM2151 のレジスタへの書き込みを 1 μ s 単位の経過時間とともに記録して演奏を再生できます。
You can check the emulation of YM2151 and the operation of the sound source driver. YM2151 のエミュレーションや音源ドライバの動作を確認できます。
Transfers the text on the host machine's clipboard to the input buffer of the X68000's CON device (ASK68K.SYS). ホストマシンのクリップボードにあるテキストを X68000 の CON デバイス (ASK68K.SYS) の入力バッファに転送します。
On Windows, you can paste text from other processes via the named pipe "\\.\pipe\XEiJPaste". Put xeijwin.dll in the current directory or in a directory in your path. Windows のとき、名前付きパイプ「\\.\pipe\XEiJPaste」を介して他のプロセスからテキストを貼り付けられます。xeijwin.dll をカレントディレクトリまたはパスの通っているディレクトリに置いてください。
echo memfree > \\.\pipe\XEiJPaste
PCM interpolation algorithms for converting the ADPCM sampling frequency (3.9kHz-31.3kHz) to the internal sampling frequency (62.5kHz) are : ADPCM のサンプリング周波数 (3.9kHz-31.3kHz) を内部サンプリング周波数 (62.5kHz) に変換するための PCM 補間アルゴリズムは以下の通りです :
Physical space monitor shows devices assigned to each physical address. 物理アドレスに割り当てられているデバイスを表示します。
Data that you output to printer port are converted into image files by each page. Fonts of host machine are used. For example, you can print a text file by doing : プリンタポートに出力されたデータを 1 ページずつ画像に変換してイメージファイルに出力します。ホストマシンのフォントを使います。例えば、テキストファイルは以下のようにすれば“印刷”できます。
B:\>type xxx.txt > prn
You can get a hard copy of screen by COPY key. Control code of the printer is "SHARP CZ 48-pin". Use PRNDRV.SYS (SHARP CZ 24-pin), which is the default printer driver, in Human68k environment. In case of SX-WINDOW, choose printer "SHARP CZ 48-pin" and color conversion system "Error diffusion (Floyd Steinberg) method" to get a fine color print. また、COPY キーで画面のハードコピーをとることができます。制御コードは「SHARP CZ 48 ピン」です。Human68k のプリンタドライバは標準の PRNDRV.SYS (SHARP CZ 24 ピン) を使います。SX-WINDOW ではプリンタを標準の「SHARP CZ 24 ピン」から「SHARP CZ 48 ピン」に変更してデフォルトの色変換方式を「誤差分散 (Floyd Steinberg) 方式」にすると綺麗に“カラー印刷”できます。
Program flow visualizer is a tool to visualize the branch log in real time. It shows where the program counter is walking in 4GB address space. By clicking a bright spot to disassemble code, you can tell what is done there. You will understand large structure of the program easily than tracing each instruction. プログラムフロービジュアライザは 分岐ログ をリアルタイムに可視化するツールです。プログラムカウンタが 4GB のアドレス空間のどこを巡回しているのかがひと目でわかり、クリックで逆アセンブルさせればそこで何をやっているのかもすぐにわかります。1 命令ずつトレースするよりもプログラムの大きな構造を把握しやすいと思います。
MPU stops at the beginning of the horizontal front porch of a specified fixed raster or the current IRQ raster. You can easily trace V-DISP, H-SYNC and CRTC IRQ interrupt routines because the MPU and the synchronous signal of CRTC stop simultaneously. That is difficult to do on real machines. 指定された固定ラスタまたは IRQ ラスタの水平フロントポーチの先頭で MPU を停止させます。MPU が止まると CRTC の同期信号も止まるので、実機では困難な V-DISP、H-SYNC、CRTC IRQ の割り込みルーチンのトレースが簡単にできます。
Contents of program counter, status register, general registers and floating point registers are displayed on register window. Situation of the establishment of condition is shown too. プログラムカウンタ、ステータスレジスタ、汎用レジスタ、浮動小数点レジスタなどの内容を表示します。 条件の成立状況が表示されます。
Core control buttons are located. コア制御ボタンが配置されています。
You can choose a task that you want to stop in multi-task environment. マルチタスク環境で停止させるタスクを選択できます。
From the above three, you can choose two to connect. In the following, they are written as RS-232C, terminal, and serial port, respectively. 以上の 3 つから、2 つを選んで接続できるようにしました。 以下ではそれぞれ RS-232C、ターミナル、シリアルポートと書きます。
For example, small file exchanges can be made between the emulator and the actual machine. 例えば、エミュレータと実機の間で小規模なファイル交換ができます。
The sxmr.bas and TeraTerm written in file exchange with Windows are no longer needed and only XEiJ and ZM.X are needed for file exchange. RSDRV.SYS is on the Human68k 3.0 system disk and is used to set flow control to RTS. Windows とのファイル交換に書いた sxmr.bas と TeraTerm は不要になり、XEiJ と ZM.X だけでファイル交換ができます。RSDRV.SYS は Human68k 3.0 のシステムディスクに入っていてフロー制御を RTS にするとき使います。
Select RS-232C and terminal from the config menu to open the RS232C and terminal window. The RS-232C and terminal window is divided into connection, communication settings, transfer, and terminal. 「設定」メニューの「RS-232C とターミナル」を選択すると「RS232C とターミナル」ウインドウが開きます。 「RS232C とターミナル」ウインドウは「接続」、「通信設定」、「転送」、「ターミナル」に分かれています。
In the "Connection" section of the "RS232C and terminal" window, you can select whether to connect to a terminal (Terminal), RS-232C (AUX), or serial port (COM3, etc.). This setting is stored in the parameter rs232cconnection. Pressing the "Refresh" button will re-search the serial port. 「RS232C とターミナル」ウインドウの「接続」では、ターミナル (Terminal)、RS-232C(AUX)、シリアルポート (COM3 など) のどれとどれを接続するか選択します。 この設定はパラメータ rs232cconnectionに保存されます。 「更新」ボタンを押すとシリアルポートが再検索されます。
When the port you want to connect to is not displayed after pressing the refresh button, enter the descriptor of the port you want to connect to in the additional port text field and press the refresh button. Typically, the descriptor is a string such as "COM[*]" on Windows or "/dev/tty[*]" on Linux and macOS. You can add ports that can be connected to with SerialPort.getCommPort(portDescriptor) but do not appear in the list of SerialPort.getCommPorts(). Be careful not to enter a descriptor for a port that does not exist or is already on the list. The contents of the additional port text field are stored in the parameter additionalport. 更新ボタンを押しても接続したいポートが表示されないとき、追加ポートテキストフィールドに接続したいポートのデスクリプタを入力して更新ボタンを押します。 通常、デスクリプタは Windows では「COM[*]」、Linux および macOS では「/dev/tty[*]」のような文字列です。SerialPort.getCommPort(portDescriptor) で接続できるが SerialPort.getCommPorts() のリストに出てこないポートを追加できます。 存在しないポートや既にリストにあるポートのデスクリプタを入力しないように注意してください。 追加ポートテキストフィールドの内容はパラメータ additionalportに保存されます。
When a terminal (Terminal) and RS-232C (AUX) are connected, the ROM debugger can be operated with the terminal as before. Also, when you want to copy a string of characters displayed on the screen by a command, you can easily copy it by using "CTTY AUX" to move the command prompt to the terminal and execute the command. ターミナル (Terminal) と RS-232C(AUX) を接続すると、従来通りターミナルで ROM デバッガを操作できます。 また、コマンドが画面に表示した文字列をコピーしたいとき、「CTTY AUX」でコマンドプロンプトをターミナルに移してコマンドを実行すると簡単にコピーできます。
By connecting a serial port (e.g. COM3) and RS-232C (AUX), serial communication between X680x0 on XEiJ and a device outside the host machine is possible. You may be able to exchange files with the actual X680x0 machine and even play communication games. シリアルポート (COM3 など) と RS-232C(AUX) を接続すると、XEiJ 上の X680x0 とホストマシンの外にある機器の間でシリアル通信ができます。X680x0 実機とファイルのやり取りをしたり、通信対戦もできるかも知れません。
If you connect a serial port (COM3, etc.) to a terminal (Terminal), you can move the command prompt of the actual X680x0 device to the terminal. In the "Communication settings" section, match the settings with those of the actual device and enter "CTTY AUX" on the actual device. シリアルポート (COM3 など) とターミナル (Terminal) を接続すると、X680x0 実機のコマンドプロンプトをターミナルに移すことができます。 「通信設定」で実機と設定を合わせて実機で「CTTY AUX」と入力します。
"Communication settings" in the "RS232C and terminal" window is used when a serial port (e.g. COM3) is connected to a terminal (Terminal). It selects baud rate, data bits, parity, stop bit, and flow control. These settings are stored in the parameter terminalsettings. 「RS232C とターミナル」ウインドウの「通信設定」は、シリアルポート (COM3 など) とターミナル (Terminal) を接続しているときに使います。 ボーレート、データビット、パリティ、ストップビット、フロー制御を選択します。 この設定はパラメータ terminalsettingsに保存されます。
The "Send file" button under "Transfer" in the "RS232C and terminal" window is used to transfer a small file from the host to the actual X680x0 device when the serial port (COM3, etc.) is connected to the terminal (Terminal). Type "CTTY AUX" on the actual device to move the command prompt of the actual device to the terminal, press the "Send file" button, select a file, and press the "Send" button. The selected file is converted into a self-restoring file named a.r that does not contain any control code, and is sent in the following order: string "copy aux a.r", new line, contents of a.r, string "a.r", new line. As long as COMMAND.X is running on the actual device, the process of converting a binary file into a file that does not contain control codes, sending it, and restoring it is done automatically. 「RS232C とターミナル」ウインドウの「転送」の「ファイル送信」ボタンは、シリアルポート (COM3 など) とターミナル (Terminal) を接続しているとき、ホストから X680x0 実機に小さいファイルを転送したいときに使います。 実機で「CTTY AUX」と入力して実機のコマンドプロンプトをターミナルに移し、「ファイル送信」ボタンを押してファイルを選択して、「送信」ボタンを押します。 選択されたファイルが、制御コードを含まない a.r という自己復元ファイルに変換され、文字列「copy aux a.r」、改行、a.r の内容、文字列「a.r」、改行の順に送信されます。 実機で COMMAND.X さえ動いていれば、バイナリファイルを制御コードを含まないファイルに変換して送信して復元する作業が自動で行われます。
This transfer function is a simple one that uses the COMMAND.X copy command. The file to be transferred must fit into the memory of the actual device, including the area needed for decompression. Once the transfer is started, it cannot be stopped. The transfer may not be stopped due to communication errors. If the decoder is corrupted, a white window may appear. If the file is corrupted, a CRC error will be displayed. If the transfer fails, check the flow control, lower the baud rate, and try again. Data bits must be 8 bits. この転送機能は COMMAND.X の copy コマンドを用いる簡易的なものです。 転送するファイルは解凍に必要な領域を含めて実機のメモリに収まらなければなりません。 転送を始めたら途中で止められません。 通信エラーで転送が止まらなくなることがあるかも知れません。 デコーダが破損したときは白窓が表示されるかも知れません。 ファイルが破損したときは CRC エラーが表示されます。 転送に失敗するときはフロー制御を確認してボーレートを下げてやり直してください。 データビットは 8 ビットに限ります。
Turning on the 7.3728MHz checkbox changes the SCC operating frequency from 5MHz to 7.3728MHz. 7.3728MHz チェックボックスを ON にすると SCC の動作周波数が 5MHz から 7.3728MHz に変更されます。
modeモード | SCC set valueSCC 設定値 | at 5MHz5MHz のとき | at 7.3728MHz7.3728MHz のとき | ||||
nominal公称値 | theoretical理論値 | error誤差 | nominal公称値 | theoretical理論値 | error誤差 | ||
0 | 2081 | 75.000 | 75.012 | +0.000 | 112.500 | 110.610 | -0.017 |
1 | 1040 | 150.000 | 149.952 | -0.000 | 225.000 | 221.113 | -0.017 |
2 | 519 | 300.000 | 299.904 | -0.000 | 450.000 | 442.226 | -0.017 |
3 | 258 | 600.000 | 600.962 | +0.002 | 900.000 | 886.154 | -0.015 |
4 | 128 | 1200.000 | 1201.923 | +0.002 | 1800.000 | 1772.308 | -0.015 |
5 | 63 | 2400.000 | 2403.846 | +0.002 | 3600.000 | 3544.615 | -0.015 |
6 | 31 | 4800.000 | 4734.848 | -0.014 | 7200.000 | 6981.818 | -0.030 |
7 | 14 | 9600.000 | 9765.625 | +0.017 | 14400.000 | 14400.000 | 0.000 |
8 | 6 | 19200.000 | 19531.250 | +0.017 | 28800.000 | 28800.000 | 0.000 |
9 | 2 | 38400.000 | 39062.500 | +0.017 | 57600.000 | 57600.000 | 0.000 |
10 | 0 | 76800.000 | 78125.000 | +0.017 | 115200.000 | 115200.000 | 0.000 |
At the terminal, press the Pause key or select "Send ^C" from the pop-up menu to send 0x03. ターミナルで、Pause キーを押すか、ポップアップメニューの「^C 送信」を選択すると、0x03 が送信されます。
In low-resolution mode, you can choose how to represent gaps between scanning lines. This is a feature designed to give the atmosphere of a CRT in a non-powerful execution environment. It is well known that two vertical dots on an LCD monitor cannot represent one vertical dot on a CRT. 低解像度モードのとき走査線の隙間を表現する方法を選択できます。 これは非力な実行環境でブラウン管の雰囲気を出そうとして作られた機能です。 液晶モニタの縦 2 ドットでブラウン管の縦 1 ドットを表現できないことは百も承知です。
If the vertical magnification of the screen is not an integer multiple and not large enough, the scanline effect will not look good. Use Fixed scale to set the screen's vertical magnification to an integer multiple. 画面の縦方向の倍率が整数倍でなくかつ十分に大きくないとき、走査線エフェクトは綺麗に見えません。 固定倍率を用いて画面の縦方向の倍率を整数倍にしてください。
Copies the displayed raster as is. 表示したラスタをそのままコピーします。
Copies the displayed raster with brightness multiplied by 7/8. 表示したラスタを明るさを 7/8 倍してコピーします。
Copies the displayed raster with brightness multiplied by 3/4. 表示したラスタを明るさを 3/4 倍してコピーします。
Copies the displayed raster with brightness multiplied by 1/2. 表示したラスタを明るさを 1/2 倍してコピーします。
Draw a black line. 黒線を描きます。
Screen mode test assists debugging of emulator by overwriting registers of CRTC, video controller and sprite controller with arbitrary value. CRTC、ビデオコントローラ、スプライトコントローラのレジスタに任意の値を上書きすることで、エミュレータ自身のデバッグを補助します。
Sprite patterns are overwritten by test patterns that show the pattern number in hexadecimal. Near sprites are displayed brighter and distant sprites are displayed darker. You can play games that you get used to play while the test patterns are displayed. スプライトパターンにパターン番号を 16 進数で書いたパターンを上書きすることで、表示されているスプライトのパターン番号がわかるようにします。手前のスプライトのパターン番号は明るく、奥のスプライトとバックグラウンドのパターン番号は暗く表示されるようになっており、遊び慣れたゲームならばパターン番号を表示した状態でプレイできます。
The seamless mouse mode is default mouse mode of XEiJ. Mouse cursor of host machine turns into mouse cursor of X68000 and acts as mouse cursor of IOCS or SX-WINDOW when it moves over the screen of X68000. You can operate software of X68000 that uses a mouse with the feeling of applications of host machine without monopolizing mouse cursor of host machine. Jong helps to understand effect of the seamless mouse mode. You can also easily operate DSHELL that is a special browser for the Dennou Club. In the case of SX-WINDOW (FSX.X version 3.10), you can also use the actual screen mode under the seamless mouse mode if edge acceleration is enabled. シームレスマウスモードは XEiJ のデフォルトのマウスモードです。ホストマシンのマウスカーソルが X68000 の画面に差し掛かった瞬間に X68000 のマウスカーソルに化け、X68000 の画面から出た瞬間にホストマシンのマウスカーソルに戻ります。ホストマシンのマウスカーソルは X68000 のマウスカーソルに化けている間だけ X68000 の IOCS または SX-WINDOW のマウスカーソルとして振る舞います。X68000 用のマウスを使うソフトウェアをマウスカーソルを占有せずにホストマシンのアプリケーションに近い感覚で操作することができます。シームレスマウスモードの効果は じょんぐ を見ていただくとわかりやすいと思います。電脳倶楽部 の DSHELL もらくらく操作できます。SX-WINDOW (FSX.X version 3.10) の場合は 縁部加速 を ON にすると実画面モードもシームレスのまま操作できます。
You can return the mode from the exclusive mouse mode to the seamless mouse mode by one of F12 key, wheel click or Alt-right click. エクスクルーシブマウスモード のとき F12 キーを押すか、ホイールクリックするか、Alt キーを押しながら右ボタンをクリックするとシームレスマウスモードに切り替わります。
To stick mouse cursor of X68000 on mouse cursor of host machine, perform reverse accelerating calculation by relative position of them. Make transparent mouse cursor of host machine while it moves over the screen of X68000 and mouse cursor of X68000 is displayed. If you know current position of mouse cursor and the formula of reverse accelerating calculation, you will be able to perform the same method on other emulators. X68000 のマウスカーソルとホストマシンのマウスカーソルの相対位置を元に逆アクセラレーション計算を行ってマウスデータを作り、X68000 のマウスカーソルをホストマシンのマウスカーソルの真下に貼り付けます。さらに、X68000 のマウスカーソルが表示されていてホストマシンのマウスカーソルが X68000 の画面の上にある間だけホストマシンのマウスカーソルを透明にします。これでホストマシンのマウスカーソルが X68000 の画面の上にある間だけ X68000 のマウスカーソルに化けたように見えます。マウスカーソルの座標とアクセラレーションの計算式が分かれば IOCS でなくても、あるいは X68000 のエミュレータでなくても、同じことができると思います。
Left click…Apple menu→System Preferences→Trackpad→Enable "Tap to click". Tap with one finger. 左クリック…「リンゴ」→「システム環境設定」→「トラックパッド」の「タップでクリック」を ON にしておいて、1 本指でタップします。
Right click…Apple menu→System Preferences→Trackpad→Enable "Secondary click" and choose "Click or tap with two fingers". Tap with two fingers. 右クリック…「リンゴ」→「システム環境設定」→「トラックパッド」の「副ボタンのクリック」を ON にして「2 本指でクリックまたはタップ」を選択しておいて、2 本指でタップします。
Emulates TNB Seisakusho's LCD unit Shiromadokun. TNB 製作所さんの LCD ユニット「白窓君」をエミュレートします。
You can select Japanese specification or European specification in the joystick port settings window or with the parameter shiromadokunN. ジョイスティックポート設定ウインドウまたはパラメータshiromadokunNで日本仕様と欧州仕様を選択できます。
Sound interpolation algorithms for converting the internal sampling frequency (62.5kHz) to the output sampling frequency (48kHz) are : 内部サンプリング周波数 (62.5kHz) を出力サンプリング周波数 (48kHz) に変換するための音声補間アルゴリズムは以下の通りです :
Waveforms, frequency distribution (spectrum analyzer), keyboards, tone data and ADPCM status are shown in the sound monitor of XEiJ. XEiJ の音声モニタには、波形、周波数分布 (スペクトラムアナライザ)、鍵盤、音色データおよび ADPCM の状態が表示されます。
Waveforms are waveforms before mixing OPM and ADPCM. You can zoom the graph in the direction of time axis by left-click or right-click. And you can zoom the graph in the direction of amplitude axis by Shift-left click or Shift-right click. Click the button in the bottom right corner to stop the graph before zooming a particular place. 波形は OPM と ADPCM の合成前の波形です。左クリックまたは右クリックで時間方向を拡大縮小、Shift キーを押しながら左クリックまたは右クリックで振幅方向を拡大縮小できます。波形の狙ったところを拡大縮小させたいときは右下のボタンで更新を停止させてから行います。
Frequency axis of the spectrum analyzer (FFT analyzer) are divided into five ranges to achieve both high resolution in lower range and high speed in upper range. Frequency axis is adjusted to the keyboard below instead of writing numerals. Emission lines of simple tones appear just above the center of corresponding key regardless of its color. スペクトラムアナライザ (FFT アナライザ) は低音域の分解能と高音域の反応速度を両立させるために周波数の範囲を 5 分割しています。また、どこが何 Hz か数字で書く代わりに周波数を下の鍵盤に合わせてあり、単純な音色ならば白鍵でも黒鍵でも鍵の中央の真上に輝線が現れます。
The keyboard shows which key is pressed. The nearest key to the frequency that consists of KC (KEY CODE) and KF (KEY FRACTION) in equal temperament reacts. 鍵盤はキーオンとリリースの様子を示しています。平均律で KC (KEY CODE) と KF (KEY FRACTION) を合わせた周波数に近い鍵が反応します。
The tone data are transformed contents of YM2151 registers in the format of MML tone definition data. It may be easier to read than raw data of registers. Displayed tone data do not always express the played sound because there are items that can not be perfectly recovered by only contents of YM2151 registers of a certain moment in MML tone definition data. 音色データは YM2151 のレジスタの内容を MML の音色定義データのフォーマットに変換したものです。レジスタの内容をそのまま表示するよりも読みやすいかも知れません。MML の音色定義データにはある瞬間の YM2151 のレジスタの内容だけでは復元できない項目もあるので、表示されたデータをそのまま用いても同じ音が出るとは限りません。
In the ADPCM status section, source oscillator frequency (4MHz | 8MHz | 16MHz), frequency division ratio (1/1024 | 1/768 | 1/512), sampling frequency (3.9kHz | 5.2kHz | 7.8kHz | 10.4kHz | 15.6kHz | 20.8kHz | 31.3kHz), playing (PLAY), data exists (DATA), left output (LEFT) and right output (RIGHT) are displayed. ADPCM の状態は、原発振周波数 (4MHz | 8MHz | 16MHz)、分周比 (1/1024 | 1/768 | 1/512)、サンプリング周波数 (3.9kHz | 5.2kHz | 7.8kHz | 10.4kHz | 15.6kHz | 20.8kHz | 31.3kHz)、再生中 (PLAY)、データあり (DATA)、左側出力 (LEFT)、右側出力 (RIGHT) が表示されます。
The source oscillator frequency is the source of the sampling frequency of the ADPCM sound source. In case of an unmodified X68000, you can choose the source oscillator frequency from 8MHz and 4MHz. And you can choose the frequency division ratio from 1/1024, 1/768 and 1/512. Therefore, available sampling frequencies are 3.9kHz, 5.2kHz, 7.8kHz, 10.4kHz and 15.6kHz. ここで言う原発振周波数とは ADPCM 音源のサンプリング周波数の元となるオシレータ (水晶振動子) の発振周波数のことです。X68000 の ADPCM 音源は原発振周波数を 8MHz と 4MHz から、分周比を 1/1024、1/768、1/512 からそれぞれ選択できるので、サンプリング周波数は 3.9kHz、5.2kHz、7.8kHz、10.4kHz、15.6kHz の 5 種類となっています。
Method to replace the 4MHz oscillator with the 16MHz oscillator was published by Taki Yasushi in the article "project to improve sound quality of built-in ADPCM" in the fourth edition of "low-tech workshop" in the August 1994 issue of "Oh!X" magazine. Like the article, you can change the source oscillator frequency of XEiJ to 16MHz. The sampling frequencies after modification are 7.8kHz, 10.4kHz, 15.6kHz, 20.8kHz and 31.3kHz. PCM data will be reproduced in sampling frequency 31.3kHz by keeping PCM8A.X with switch "-M1 -F2". Oh!X 1994 年 8 月号の「ローテク工作実験室 第 4 回 内蔵 AD PCM 高音質化計画」(瀧康史さん) で 4MHz のオシレータを 16MHz のものに換装する方法が紹介されており、XEiJ はこの方法で ADPCM 音源を改造できます。改造後のサンプリング周波数は 7.8kHz、10.4kHz、15.6kHz、20.8kHz、31.3kHz の 5 種類になり、PCM8A.X に -M1 -F2 というスイッチを指定して常駐させることで PCM データがサンプリング周波数 31.3kHz で再生されるようになります。
You can confirm current source oscillator frequency, frequency division ratio and sampling frequency by the sound monitor. 現在の原発振周波数、分周比およびサンプリング周波数は 音声モニタ で確認することができます。
frequency division ratio 分周比 | ||||
---|---|---|---|---|
1/1024 | 1/768 | 1/512 | ||
source oscillator frequency 原発振周波数 | 4MHz | 3.9kHz | 5.2kHz | 7.8kHz |
8MHz | 7.8kHz | 10.4kHz | 15.6kHz | |
16MHz | 15.6kHz | 20.8kHz | 31.3kHz |
All defined sprite patterns are displayed. 定義されているスプライトパターンをすべて表示します。
It supports stereoscopic viewing using the STEREOSCOPIC connector on the back of the X68000. X68000 の背面にある STEREOSCOPIC コネクタを用いる立体視に対応しています。
The stereoscopic viewing method can be selected from naked-eye crossing method, naked-eye parallel method, side-by-side method, and top-and-bottom method. 立体視の方法を、裸眼交差法、裸眼平行法、サイドバイサイド、トップアンドボトムから選択できます。
In X68030 mode and 060turbo mode, XEiJ performs floating point arithmetic in higher precision than MC68882. Parameters and results can be read and written as 96-bit triple precision that is 16-bit longer than 80-bit extended precision. MC68882 stores an extended precision floating point number to memory with inserting 16-bit reserved area between exponent and mantissa. So an extended precision floating point number consumes a 96-bit area. XEiJ stores the least 16-bit of mantissa of a triple precision floating point number to the reserved area. Be careful when you use binary data that has non-zero reserved area in other environment. XEiJ は X68030 および 060turbo モードのとき浮動小数点演算を MC68882 よりも高い精度で行い、その引数や結果を MC68882 の拡張精度 (80 ビット) よりも 16 ビット多い三倍精度 (96 ビット) で読み書きすることができます。MC68882 は拡張精度浮動小数点数を 16 ビットの予約領域を挟んで 96 ビットを消費する形でメモリに書き込みますが、XEiJ はその予約領域に三倍精度浮動小数点数の仮数部の末尾の 16 ビットを格納します。予約領域が $0000 になっていないのでバイナリデータを他所の環境で利用する場合は注意してください。
π = 3.141592653589793238462643383...
-l200000 20000d 00200000 fmovecr.x #$00,FP0 00200004 fmove.x FP0,$00200010 0020000C _EXIT
0xc90fdaa22168c235/262 = 3.1415926535897932385128... (19 digit) (19 桁)
-g=200000 program terminated normally -d200010 20001b 00200010 4000 0000 C90F DAA2 2168 C235 @...ノ.レ「!hツ5
0xc90fdaa22168c234c4c6/278 = 3.141592653589793238462642109... (24 digit) (24 桁)
-g=200000 program terminated normally -d200010 20001b 00200010 4000 C4C6 C90F DAA2 2168 C234 @.トニノ.レ「!hツ4
A cyber stick can be connected to the joystick port. The analog mode can be operated with an XInput gamepad, and the digital mode can be operated with an XInput gamepad or keyboard. Cyberstick button assignments can be set in the joystick port settings window or with the parameters cyberstickanalogN and cyberstickdigitalN. ジョイスティックポートにサイバースティックを接続できます。 アナログモードは XInput 方式のゲームパッドで、また、デジタルモードは XInput 方式のゲームパッドまたはキーボードで操作できます。 サイバースティックのボタンの割り当てはジョイスティックポート設定ウインドウまたはパラメータcyberstickanalogNおよびcyberstickdigitalNで設定できます。
When using Windows, the normal 2 button pad, the MEGA DRIVE 3 button pad, the MEGA DRIVE 6 button pad, and the cyber stick can be operated with an XInput gamepad. This functionality can be configured in the joystick port settings window or with the parameter xinput. Place the included xeijwin.dll in the current directory or in a directory in your path. Windows のとき、ノーマル 2 ボタンパッド、メガドラ 3 ボタンパッド、メガドラ 6 ボタンパッドおよびサイバースティックを XInput 方式のゲームパッドで操作できます。 この機能はジョイスティックポート設定ウインドウまたはパラメータ xinputで設定できます。 付属の xeijwin.dll をカレントディレクトリまたはパスの通っているディレクトリに置いてください。
In a Windows 10 and Microsoft IME or Google Japanese Input environment, all keys on the X68000 Z keyboard can be entered, with some limitations, by remapping the special keys to the F13-F24 keys using Microsoft PowerToys Keyboard Manager. You can control the 7 LEDs on the X68000 Z keyboard. Windows 10 と Microsoft IME または Google 日本語入力の環境で、Microsoft PowerToys Keyboard Manager を用いて特殊キーを F13~F24 キーへ再マップすることで、いくつかの制約はありますが、X68000 Z のキーボードのすべてのキーを入力できます。X68000 Z のキーボードの 7 個の LED を制御できます。
This function can be selected in the Z keyboard menu or with the parameter zkeyboard. Place the included xeijwin.dll in the current directory or in a directory in your path. この機能はZ キーボードメニューまたはパラメータ zkeyboardで選択できます。 付属の xeijwin.dll をカレントディレクトリまたはパスの通っているディレクトリに置いてください。
Input from the Z keyboard was adjusted using the X68000 Z EARLY ACCESS KIT keyboard and Windows 10 with Microsoft IME and Google Japanese Input. Z キーボードからの入力は X68000 Z EARLY ACCESS KIT のキーボードと Windows 10 と Microsoft IME および Google 日本語入力の環境で調整しました。
Most keys can be operated in the same way as on the X68000, but there are still restrictions on the operation of some keys. In Microsoft IME or Google Japanese Input, it seems that AWT key events are not fired when the BREAK (Halfwidth/Fullwidth) key, CAPS (CapsLock i.e. alphanumeric) key and XF4 (Katakana/Hiragana) key are released. XEiJ uses AWT key events to know when keys are pressed or released, so the current method does not know when these keys are released. Therefore, the behavior of these three keys was changed as follows. 大部分のキーを X68000 と同じように操作できますが、一部のキーの動作に制約が残っています。Microsoft IME または Google 日本語入力の場合、BREAK(半角 / 全角) キーと CAPS(CapsLock すなわち英数字) キーと XF4(カタカナ / ひらがな) キーを離したときに AWT のキーイベントが発火しないようです。XEiJ はキーが押されたまたは離されたことを AWT のキーイベントで把握しているので、現在の方法ではこれらのキーがいつ離されたのか分かりません。 そこで、この 3 個のキーの動作を以下のように変更しました。
The switch on the back of the Z keyboard is set to X68. The reason is that the CTRL and CAPS keys cannot be distinguished when set to WIN. The default key assignment is set to X68. Z キーボードの裏面のスイッチを X68 にします。 理由は、WIN になっていると CTRL キーと CAPS キーを区別できないからです。 キー割り当ての初期値は X68 に合わせてあります。
Install Microsoft PowerToys from the Microsoft Store and use Keyboard Manager to remap the following keys. Microsoft Store から Microsoft PowerToys をインストールして Keyboard Manager を使って以下のキーを再マップします。
key on Z keyboardZ キーボードのキー | before remapping再マップ前 | after remapping再マップ後 |
---|---|---|
CTRL (Right)CTRL (右) | Ctrl (Right) | F11 |
OPT.1 | F11 | F13 |
XF2 | IME Non-Convert | F14 |
XF3 | IME Convert | F15 |
XF4 | VK 242 | F16 |
CAPS | VK 240 | F17 |
kanaかな | Print Screen | F18 |
romajiローマ字 | Scroll Lock | F19 |
hiraganaひらがな | Win (Left) | F20 |
fullwidth全角 | Win (Right) | F21 |
symbol input記号入力 | Volume Mute | F22 |
registration登録 | Volume Down | F23 |
HELP | Volume Up | F24 |
Remove F13 for direct input in the key settings of the properties of Google Japanese Input. If you do not remove it, you will not be able to input OPT.1 which is remapped to F13. Google 日本語入力のプロパティのキー設定で直接入力の F13 を削除します。 これを削除しないと F13 に再マップされている OPT.1 が入力できません。
モード | 入力キー | コマンド |
直接入力 | F13 | IME を有効化 |
Select Connect in the Z keyboard menu to switch to key assignments for the Z keyboard. You can change key assignments for the Z keyboard in the Key assignments window. Key assignments for the Z keyboard are stored in the parameter zkeymap. Z キーボードメニューで接続を選択すると、Z キーボード用のキー割り当てに切り替わります。 キー割り当てウインドウで Z キーボード用のキー割り当てを変更できます。Z キーボード用のキー割り当てはパラメータ zkeymapに保存されます。
You can control the 7 LEDs on the keyboard of the X68000 Z. Thanks to yunk for disclosing the control method. X68000 Z のキーボードにある 7 個の LED を制御できます。 制御方法を公開してくださったyunk さんに感謝します。
The LEDs on the Z keyboard are over-specified for an X68000 keyboard, and each of the seven LEDs can be independently specified with 256 levels of brightness. It would be a waste not to take advantage of this, so XEiJ provides a programmable mode that allows direct specification of LED brightness via the Z keyboard LED control I/O port in addition to the normal mode. Z キーボードの LED は X68000 のキーボードとしてはオーバースペックで、7 個の LED に独立してそれぞれ 256 段階の輝度を指定できます。 これを活用しないのはもったいないので、XEiJ ではノーマルモードの他に Z キーボード LED 制御 I/O ポートを介して LED の輝度を直接指定できるプログラマブルモードを用意しました。
The Z keyboard LED control I/O ports are temporarily located at addresses $00E9F040 to $00E9F04F. Changing bit 0 of address $00E9F048 from 0 to 1 switches from normal mode to programmable mode. In programmable mode, setting the LED brightness to addresses $00E9F040 to $00E9F046 and writing 1 to bit 1 of address $00E9F048 will send the set brightness to the keyboard. The brightness is 0 for off and 255 for on. In normal mode, dark corresponds to 32, slightly dark to 64, slightly bright to 128, and bright to 255. Z キーボード LED 制御 I/O ポートはアドレス $00E9F040~$00E9F04F に仮に配置されています。 アドレス $00E9F048 の bit0 を 0 から 1 に変更するとノーマルモードからプログラマブルモードに切り替わります。 プログラマブルモードのときアドレス $00E9F040~$00E9F046 に LED の輝度を設定してアドレス $00E9F048 の bit1 に 1 を書き込むと設定された輝度がキーボードに送信されます。 輝度は 0 が消灯、255 が点灯です。 ノーマルモードの暗いは 32、やや暗いは 64、やや明るいは 128、明るいは 255 に相当します。
I/O port address (temporary)I/O ポートアドレス (仮) | contents内容 | ||
---|---|---|---|
$00E9F040 | kanaかな | brightness of LED in programmable mode プログラマブルモードでの LED の輝度 | |
$00E9F041 | romajiローマ字 | ||
$00E9F042 | code inputコード入力 | ||
$00E9F043 | CAPSCAPS | ||
$00E9F044 | INSINS | ||
$00E9F045 | hiraganaひらがな | ||
$00E9F046 | fullwidth全角 | ||
$00E9F047 | 0 | ||
$00E9F048 | bit0 | 0=normal modeノーマルモード, 1=programmable modeプログラマブルモード | |
bit1 | 1=send送信 | ||
bit2-7 | 0 | ||
$00E9F049-$00E9F04F | 0 |
Check the LED operation check box in the Z keyboard menu to confirm that the LEDs are controlled. Z キーボードメニューの LED の動作確認チェックボックスを ON にすると LED を制御できているか確認できます。
zkeytest.x tests the Z keyboard LED control I/O port. zkeytest.xは Z キーボード LED 制御 I/O ポートをテストします。