-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathsi.txt
699 lines (456 loc) · 23.1 KB
/
si.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
┌─────────────────────────────────────┐
│ System Infomation Version 1.03 │
│ Copyright 1992-1993 Programed By M.Satake │
│ │
│ Modified Version Programed By BEL. │
│ BEL's DIVE Ware #2 │
│ │
│ System Information version 3.00 │
│ Copyright (C)1997 Arisugawa Seara │
│ │
│ System Information Extended Edition │
│ Copyright (C)1999-2024 TcbnErik │
└─────────────────────────────────────┘
☆ 機能
X680x0 のシステムリポートを行います。
引数を与えずに起動した場合、各種情報を表示して簡単なベンチマークを行
います。引数を指定すれば、状態を表示せず終了コードとして返すことも出来
ます。
☆ オプション
'-'+アルファベット一文字のオプションは、アルファベットを続けて指定
できます。'-f-'+機能名のオプションと '--'+英単語のオプションは必ず区
切って指定して下さい。オプションは基本的に全て小文字で指定して下さい。
-a と --all、-a -c と -ac などは同じ意味になります。ちなみに -a、-c、
-o、-p は指定するごとに有効無効が反転します。
-a / --all
デバイスが存在しない場合その項目は表示されませんが、このオプションを
指定すると常に表示するようになります。
-b / --board
拡張 I/O ボードの表示だけを行います。
-c / --cut
速度表示を行ないません。
-o / --omit
性能や機能に影響しない項目の表示を行いません。
-a、--all オプションより優先されます。
-p / --power
速度表示だけを行ないます。
-e / --expose
既定では私的な情報は表示されませんが、このオプションを指定すると表示
するようになります。
以下のものが該当します。
Neptune-X 及び互換イーサネットボードの MAC アドレス
-m / --m35
Mercury-Unit の V3.1 以下と V3.5 は再生周波数をハーフレートに設定で
きるかどうかで判別できますが、フルレートで再生中にハーフレートに変更す
ると音が乱れるので、通常はこの方法による判別は行いません。
このオプションを指定するとハーフレートへの変更を試みて判別を行います。
ただし、再生中に実行すると音が乱れることがあります。
このオプションを指定しない場合は V3.5 以下と V4 / V4 OPNA 付きの判別
のみ行います。V3.5 でハーフレートに設定されている場合はこのオプション
なしでも判別されます。
-f-merc と併用する場合は必ず -m / --m35 オプションの方を先に記述して
下さい。
-i / --int
割り込みの使用状態を表示します。
-s / --scsi
SCSI に接続されている機器の情報を表示します。
-v / --version
このプログラムのバージョンを表示します。
-l / --license
このプログラムのバージョンと著作権を表示します。
-? / -h / --help
使用法を表示します。
以下のオプションを指定した場合、表示は行なわずに終了コードを返します。
それより後に指定したオプションは評価されません。
-f-ms
メインメモリの実装容量をメガバイト単位で返します。
-f-memf
メインメモリの空き容量をキロバイト単位で返します。
-f-cs
クロックスイッチの状態を返します。XVI 及び Compact XVI では MPU クロ
ックを 10MHz と 16MHz に変更できますが、それ以外の X68000 では 10MHz、
X68030 では 25MHz に固定されています。
X68030 でウェイトが入っている、クロックアップ改造が行われている、ア
クセラレータが装着されているなどの場合は正しく反映されないので、この機
能でマシンの速度を判定しようとしてはいけません。
返値 0 1 2 3 4 5 6
クロック 10MHz 16MHz 20MHz 25MHz 33MHz 40MHz 50MHz
-f-fpu
FPU/FPCP が装着されているかどうか、装着されているならその種類を返し
ます。複数の FPU が存在する場合、4 > 3 > 1 > 2 の順に優先されます。
返値 0 1 2 3 4
FPU なし I/O 接続(ID=0) I/O 接続(ID=1) MPU 直結 MPU 内蔵
-f-mpu
MPU の種類を返します。
返値 0 1 2 3 4 6
MPU 68000 68010 68020 68030 68040 68060
-f-mmu
MMU が装着されているかどうかを返します。装着(または MPU に内蔵)され
ている場合は 1、そうでない場合は 0 を返します。
-f-midi
MIDI ボードが装着されているかどうかを返します。RS-MIDI には対応して
いません。
返値 0 1 2 3
MIDI なし ID=0 ID=1 ID=0 及び ID=1
-f-merc
Mercury-Unit が装着されているかどうか、装着されているならそのバージ
ョンを返します。
返値 バージョン
---- ----------
0 なし
1 Mercury-Unit V3.5 以下
2 MK-MU1
3 MK-MU1O
-m / --m35 オプションを併用した場合、V3.1 以下と V3.5 の判別が
行われ、返値は以下のようになります。
返値 バージョン
---- ----------
0 なし
1 Mercury-Unit V3.1 以下
2 MK-MU1
3 MK-MU1O
4 Mercury-Unit V3.5
-f-emu
Si がエミュレータ上で実行されているかどうか、エミュレータ上であれば
その種類を返します。
返値 種類
---- ----
0 実機
1 EX68
2 WinX68k
3 WinX68030
4 XM6
5 (予約)
6 WinX68k S.E.
7 WinX68k C.E.
☆ 表示内容
System Information
実行した Si 自身のバージョンを表示します。
○この項目は常に表示されます。
emulator
エミュレータ上での実行時に、エミュレータの名称を表示します。可能であ
ればバージョンも表示します。
○この項目はエミュレータ上での実行時に表示されます。
(ただし -a、--all 指定時には常に表示されます。以下同じ)
host computer
X680x0 本体の機種名、アクセラレータ名を表示します。また、環境変数
HOSTNAME が設定されている場合はその値も表示します。
機種名は自動判別しますが、IPL ROM 末尾($ffffe0)に機種名文字列が埋め
込まれている場合はそれを使用します。
アクセラレータは 060turbo、040turbo、JUPITER-X、Xellent30(s|PRO)、
040Excel、060Excel、PhantomX に対応しています。ただし、68030 モードで
の 040turboや、68000 モードでの JUPITER-X・040Excel・060Excel は認識で
きません。また、Xellent30PRO は Xellent30s と表示されます。
一部の機種は判別することが出来ません。以下の一覧で同じ行に並んでいる
ものがそれに該当します。HD 内蔵モデルかどうかは判別しません。
X68000(初代)
X68000 ACE、X68000 PRO(II)、X68000 EXPERT(II)
X68000 SUPER
X68000 XVI
X68000 Compact XVI
X68030、X68030 Compact
EX68
WinX68k、WinX68k高速版
WinX68030
XM6
○この項目は常に表示されます。
PhantomX
アクセラレータ PhantomX が装着されていれば、バージョン番号、エミュレ
ーション中の MPU、ウェイトレベル、FDD スワップ設定、RaspberryPi の SOC
温度を表示します。
○この項目は PhantomX 装着時に表示されます。
BIOS ROM
IOCS ROM のバージョンと年月日を表示します。
○この項目は常に表示されます。
clock switch
クロックスイッチの状態を表示します。
○この項目は XVI もしくは Compact XVI で実行した時だけ表示されます。
micro processing unit
MPU の種類と動作クロックを表示します。環境変数 MPUPACK が設定されて
いる場合は代わりにその値と動作クロックを表示します。
68010 以下の MPU で XVI 以前の機種の場合、動作クロックの測定の為に一
時的に SRAM を書き換えて使用します。また、MPU の種類が IOCS ワークに正
しく設定されていない場合と、68020 以上の MPU で動作クロックが計測され
ていない場合は警告を表示します。
○この項目は常に表示されます。
cache (instruct / data)
cache (ss/bc/sb/i/d)
MPU の内蔵キャッシュの状態を表示します。
68020~68040 では (instruct / data)、68060 では (ss/bc/sb/i/d) が表
示されます。ss=スーパースケーラ、bc=ブランチキャッシュ、sb=ストアバ
ッファ、i=命令キャッシュ、d=データキャッシュです。
○この項目は 68020 以上で表示されます。
secondary cache
二次キャッシュボード VENUS-X が装着されていれば、二次キャッシュの状
態とボードのリビジョンを表示します。
○この項目は VENUS-X 装着時に表示されます。
memory management unit
MMU が実装されていれば、その種類を表示します。
○この項目は MMU 実装時に表示されます。
floating point unit
FPU/FPCP が実装されていれば、その種類を表示します。環境変数 FPUPACK
が設定されている場合は代わりにその値を表示します。
なお、ツクモ製の Compact XVI 専用メモリ増設・コプロセッサボードに搭
載されている 68882 は PLCC パッケージですが、判別が不可能なため PGA パ
ッケージとして表示されます。
○この項目は FPU/FPCP 実装時に表示されます。
operating system
OS(Human68k)のバージョンを表示します。
○この項目は常に表示されます。
system patch driver
アクセラレータ用などのドライバが組み込まれていれば、その種類とバージ
ョンを表示します。判別できるものは以下の通りです。
060turbo.sys
jupiter.x (JUPITER-X 専用版)
jupiter.x (040Excel/060Excel 専用版)
040sipl.x
040SYSpatch.x
040SRAMpatch.r
030SYSpatch.x
_30SYSpatch.x
○この項目はドライバ組み込み時に表示されます。
fefunc driver
浮動小数点演算パッケージの種類(浮動小数点のフォーマット及びプロセッ
サ)を表示します。
FLOATn.X には数多くの不具合があり、特に古いバージョンで FPACK __IDIV
が正常動作しないことが頻繁に問題となります。そこで、同コールが正常動作
しない場合は警告を表示するようにしてあります。
○この項目は浮動小数点演算パッケージ組み込み時に表示されます。
main memory
メインメモリのアドレス範囲、実装容量と空き容量を表示します。
switch.x の設定に関係なく実際の実装容量を表示します。空き容量は OS
で確保可能な最大サイズのメモリブロックの大きさです。
○この項目は常に表示されます。
high memory
ハイメモリ(060turbo、TS-6BE16)のアドレス範囲、実装容量と空き容量を表
示します。
各情報はハードウェアへのアクセスではなく、HIMEM.SYS または上位互換の
ハイメモリ管理ドライバのファンクションコールによって取得しています。
対応しているドライバは以下の通りです。
ドライバ名 アドレス範囲と実装容量の取得方法
---------- --------------------------------
HIMEM.SYS $01000000-$01ffffff、16MB 固定
TS16DRV.X 同上
TS16DRVp.X IOCS _HIMEM(10)
060turbo.sys IOCS _SYS_STAT($4000)
○この項目はIOCS _HIMEM が使用可能なときに表示されます。
SRAM
$ed0000 からの SRAM のアドレス範囲、実装容量と使用状況を表示します。
48KB までの増設(合計 64KB)に対応しています。
ch30*_omake.sys が組み込まれている場合はそのバージョンも表示します。
○この項目は常に表示されます。
boot count
本体の電源が入れられた回数を表示します。
○この項目は -o、--omit 指定時には省略されます。
boot device / switch
起動したデバイスと、何によって電源が入れられたかを表示します。
○この項目は -o、--omit 指定時には省略されます。
SCSI
認識できる SCSI を表示します。内蔵ポート、拡張 I/O ボード(CZ-6BS1、
SX-68SC、TS-6BSImkIII、Mach-2、mach2p)、SxSI を認識します。
○この項目は常に表示されます。
elapsed time (H:M:S)
起動してからの経過時間を表示します。
○この項目は -o、--omit 指定時には省略されます。
run time (day/H:M:S)
現在までの累積稼働時間を表示します。
○この項目は -o、--omit 指定時には省略されます。
error count ADDRESS/BUS
「あすかしすてむ」常駐時に、アドレスエラー/バスエラーの発生回数を表
示します。
○この項目はあすかしすてむが常駐している時に表示されますが、常駐してい
なければ -a、--all を指定しても表示されません。
printer
プリンタへの出力が可能であれば online と表示されます。
○この項目はプリンタへの出力が可能な時に表示されます。
ただしその場合でも -o、--omit 指定時には省略されます。
optional board
拡張 I/O ボードが装着されていれば、その名称、占有アドレス、ID 番号を
表示します。ID 番号はボードのアドレスを変更する設定であり、スロット番
号とは違うものなので気をつけて下さい。
認識するボードは以下の通りです。
TS-6BGA
ispr16bitPCMBoard
CZ-6BS1 (SCSI ボード)
SX-68SC (SCSI ボード)
TS-6BSImkIII (SCSI ボード)
Mach-2
mach2p
FAX
MIDI
Parallel
RS-232C
Universal I/O
GP-IB
AWESOME-X
X68K-PPI
FineScanner-X68 (HGS-68) 制御ボード
BANK RAM BOARD
Mercury-Unit (~V3.1 / V3.5)
Mercury-Unit V4 MK-MU1
Mercury-Unit V4 MK-MU1O
Neptune-X、Neptune-Evolution(II)
Nereid
POLYPHON
PSX16550
PSX16750
KeplerX (開発中の仕様に基づきます)
なお、TS-6BGA や TS-6BSImkIII は満開製作所から MK-GA1、MK-HA1 といっ
た型番でリバイバル版が出ていますが、名称が違うだけで同一のものなので判
別はしません。SHARP 製品の互換ボードについても同じです。
Neptune-X、Neptune-Evolution(II)、Nereid の MAC アドレスは既定では表
示されません。-e または --expose オプションを指定すれば表示されます。
○この項目はボード装着時に表示されます。
☆ パフォーマンス表示
-p、--power 指定時には以上の項目は表示されません。また、-c、--cut 指
定時には以下の項目は表示されません。
processor performance
MPU の速度を計測します。一秒間にどの程度演算とメモリ参照が出来るかを
10MHz モード無負荷の X68000 XVI と比較しています。
Timer-C 割り込みの設定が既定値から変更されている場合、正しい計測がで
きないことがあります。
○この項目は常に表示されます。
system performance
割り込みを禁止した状態で I/Oのアクセス速度を計測します。一秒間に何回
RTC の一秒カウンタから読み込めるかを 10MHz モード無負荷の X68000 XVI
と比較しています。
X68030 では I/O にウェイトが入る為、040turbo/060turbo であってもかな
り低い値になります。
○この項目は常に表示されます。
machine performance
割り込みを許可した状態で I/O のアクセス速度を計測します。
特に負荷のない状態では、Timer-C 割り込みの分、system performance よ
り数ポイント小さい値になります。
○この項目は常に表示されます。
☆ 割り込み表示
-i、--int 指定時には割り込み機能の情報が表示されます。
enable であれば割り込みが許可されている状態、disable であれば禁止さ
れている状態です。また、(can hook) であれば IOCS によって割り込みを設
定でき、(cannot hook) であれば割り込みは設定できない状態(既に設定済み)
です。どちらの括弧も表示されていなければ、IOCS では設定できない割り込
みです。
Spurious の項目だけは、スプリアス例外処理が rte だけになっているかど
うかを調べます。rte だけなら masked、そうでないなら not masked と表示
されます。
☆ SCSI 機器表示
-s、--scsi 指定時には SCSI に接続されている機器の情報が表示されます。
ID 0~7(TWOSCSI 組み込み時には ID 0~15)を順に検索していき、機器が接
続されている ID か、本体(イニシエータ)の ID のみ、以下の情報を表示しま
す。
Vendor Unique Parameter
製品名など。X680x0 本体の場合は末尾に IOCS _S_LEVEL の返値が表示され
ます。
○この項目は常に表示されます。
Peripheral Device Type
物理デバイス種別。
○この項目は常に表示されます。
ANSI-Approved Version
対応している ANSI のバージョン。
○この項目はイニシエータ以外で表示されます。
Medium Type
着脱可能なメディアであるか及び、書き込み禁止であるか。
○この項目はどちらかの条件にあてはまる場合に表示されます。
☆ 使用上の注意
無保証です。各自の責任で使用して下さい。
初期の ROM で MPU クロックを表示する時、SRAM の $ed00c0 から数バイト
を一時的に書き換えて使用しています。基本的には XVI と同じアルゴリズム
です。
68020 以降の MPU なのに IOCS _SYS_STAT が使用できない環境や、同コー
ルが正しい返値を返さない環境では正常動作しません。
エミュレータ上で Si を実行した場合、その結果は X680x0 上で Si を実行
した時のものとは異なり、あくまでもエミュレータによるエミュレーションの
結果となります。予期しない結果が得られた場合、Si の不具合を除き、その
原因はエミュレータの不具合もしくは仕様によるものです。
なお、WinX68k Version 0.59、WinX68030 v0.02(共にそれ以前のバージョン)
では、一部の MPU 命令を正しく実行できず Si 自体の動作に支障があるので、
起動時にチェックして何もせず終了するようにしています。
☆ 許諾
Si はフリーソフトウェアです。自由に配布していただいて結構ですが、配
布は無償で行って下さい。メディア代金等流通代金はこの限りではありません。
転載等は自由ですが, 転載後のバージョンアップサポートをお願いします。
無保証です。本プログラム使用に際して不具合が発生しても作者は一切責任
は無い物とします。
☆ 著作権の扱いについて
著作権は原作者「佐竹」氏、「BEL.」氏、「有須川せあら」氏、及び現在の
サポート担当者「立花@桑島技研」が保有します。
BEL. 氏は特に著作権を主張しないそうですが、佐竹氏の意向は不明です。
ただし、原著作者である佐竹氏の記述したコード自体が極めて少なくなって
いるので(一部の文字列程度)、問題はないと思います。
私も著作権は放棄しません。著作者として以下の権利を主張します。
ユーザは、作者及び他のユーザの不利益にならない限り、このソフトウェア
を自由に改変し、改変したものを公開してよいものとする。
ただし、その場合コピーライトから原著作者の名前を削除しないこと。
改変したものを公開する場合、改変したソースコードか、テキスト形式の差
分も公開すること。
☆ 謝辞
不安定なバージョンの頃から不都合の報告などをしていただいた方々に感謝
します。
開発には以下のソフトウェアを使用しました。
Human68k version 3.02
060turbo.sys version 0.54+2
060dmam version 0.02
Console driver version 1.09c+13[em]
HIOCS PLUS version 16.13
FLOAT4.X version 1.02
FLOAT2.X version 2.03
SUSIE V1.21A+2
(V)TwentyOne.sys version 1.36c modified +14 patchlevel 9
RJJ Ver 0.22.0
INTERRUPT SWITCH DRIVER version 1.10
GRAD version 1.30 patchlevel 1
Hi-speed DSKF ver0.08+ patchlevel 1
lzd version 1.20
DCACHE v2.12
KeyWitch version 2.13 patchlevel 5
Graphic Mask version 0.87 patchlevel 3
Madoka INTerpreter version 3.00
MicroEMACS j1.43 (rel.5c7-beta4)
GNU Make version 3.79 human68k-1.2
HAS060 version 3.09+87+15
HLK evolution version 3.01+14
GNU diffutils version 2.7 human68k-1.3
Zip 2.3 human68k-1.2
☆ 参考文献
書籍
68000 プログラマーズ・ハンドブック 宍倉幸則,技術評論社
Inside X68000 桑野雅彦,SOFT BANK
Outside X68000 〃 ,〃
X68030 Inside/Out 〃 ,〃
MC68030 ユーザーズ・マニュアル 日本モトローラ
ファイル
ぷにぐらま~ずまにゅある 第七版第二刷 立花えり子
XTDRV216.LZH (XT30DRV.X version 2.16) E.Watanabe
CH30X211.LZH (ch30_omake.sys version 2.11) 〃
TWOSC055.LZH (TWOSCSI.x version 0.55) TNB 製作所
UCRTECH.TXT (PSX16750 暫定技術資料 1997/08/25) N.Higashino
PSXIO version 0.52 〃 / Project PSX
PSX UART Access Checker v1.1 Project PSX :-)
JUPITER.X version 0.79 ~ 0.82A1 yamapu
060turbo.sys version 0.54 鎌田誠,満開製作所
040sipl.x Version 1.16 BEEPs /
First Class Technology
040SYSpatch.x v2.77 BEEPs / じゃぎゅあ
040SRAMpatch.r v2.77.Z007 〃
030/_30SYSpatch.x v2.06 じゃぎゅあ
FALDRV.R v2.9 Falcom,PI.,Fu-.
MercuryUnit.make (V3) nenetto
MercuryUnitV35.doc まるむ
MercuryV4.doc 山内 千里
TS6BGAG V0.04A GORRY.
EB.X version 0.07 Shi-MAD.
NDRV002S.LZH (Neptune-X board driver version 0.02) 〃
68060_07.txt (『68060を斬る!!』第7回) 鎌田誠
ROM
IOCS ROM version 1.00 (X68000 初代、1987/05/07 版)
IOCS ROM version 1.00 (X68000 ACE)
IOCS ROM version 1.00 (X68000 SUPER)
IOCS ROM version 1.10 (X68000 XVI)
IOCS ROM version 1.20 (X68000 Compact XVI)
IOCS ROM version 1.30 (X68030)
IOCS ROM version 1.50 (060turbo、1997/05/29 版)
TS-6BSImkIII
(順不同、敬称略)
☆ 連絡先
TcbnErik / 立花@桑島技研
https://github.com/kg68k/si-ee
[EOF]