エラーNo |
エラーメッセージ |
エラー内容 |
1 |
dsBusError |
バスエラー |
ID=01 バスエラー
これは、メモリアクセスを行おうとしたが、それが存在しないアドレスであったことを意味しています。このエラーはほとんどの Macintosh で起こる可能性があります。RAM の総バイト数に対し、それを 1 バイトでも超えたアドレスのメモリをアクセスしようとすると、バスエラーが発生します。Macintosh Plus や Macintosh SE では、このエラーは起きません。なぜなら、範囲外のアドレス参照は「ロールオーバー (roll over)」するからです。これは、MacintoshPlus や Macintosh SE で RAM の総バイト数を 1 バイト越えるメモリアクセスは、実際にはメモリの先頭 1 バイト目へのアクセスになるということです。したがって、Macintosh Plus やMacintosh SE などでこのエラーが表示された場合には、それは間違ったエラー報告であるか、または、ハードウェアレベルで何らかの障害が起きていると考えられます。 |
2 |
dsAddressErr |
アドレスエラー |
ID=02 アドレスエラー
Motorola 68000 マイクロプロセッサでは、1 バイト(8 ビット)、1 ワード(16 ビット)、あるいは 1 ロングワード(32 ビット)ごとのメモリアクセスが可能です。マイクロプロセッサが1 バイト単位でメモリアクセスする場合、偶数アドレスもしくは奇数アドレスに対してアクセスできます。しかし、1 ワード単位、または 1 ロングワード単位でメモリアクセスを行う場合は、偶数アドレスにしかアクセスすることができません。そのため、マイクロプロセッサが 1 ワードあるいは 1 ロングワードを読んだり書いたりする時に、それが奇数アドレスであると、このエラーが発生します。誤ってでたらめなコードが実行されている場合には、2 回に 1 回の確率で起きるため、このエラーはかなり頻繁に発生することになります。 |
3 |
dsIllInstErr |
非合法命令エラー |
ID=03 不正な命令
コンピュータは自分自身が理解できる特定の機械語命令の語彙を持っています。コンピュータがその語彙の中にない命令を実行しようとすると、このエラーが発生します。このエラーは前述のエラー 02 と比べると確率は少ないものの、頻繁に発生するエラーです。 |
4 |
dsZeroDivErr |
ゼロ除算エラー |
ID=04 ゼロ除算エラー
このエラーは、マイクロプロセッサがある数値をゼロで除算しようとすると発生します。プログラマが、ゼロ除算を行うコードをデバッグ作業のためにわざと入れたもので、それを外し忘れてしまったために、このエラーが起きる場合もあります。 |
5 |
dsChkErr |
チェックトラップエラー |
ID=05 範囲チェックエラー
プログラマは、Motorola 68000 命令を使って、ある数値が一定の範囲に収まっているかどうかを確認できます。このエラーはテストされた数値が指定された範囲に収まっていないことを示します。 |
6 |
dsOvflowErr |
オーバーフロートラップエラー |
ID=06 オーバーフローエラー
ある数をコンピュータに格納しておくためには、それを格納するだけの領域が必要になります。大きい数にはより大きな領域が必要になります。生成された数値が、それを格納するために割り付けられた領域よりも大きい場合にオーバーフロー状態になります。Motorola 68000 命令がオーバーフロー条件をテストしてオーバーフローを検出すると、このエラーが表示されます。 |
7 |
dsPrivErr |
特権違反エラー |
ID=07 特権違反
Motorola 68000 は、スーパーバイザー(特権)モードあるいはユーザモードで動作します。Macintosh コンピュータは通常はスーパーバイザーモードで動作しますが、ユーザモードに切り替わることがあります。いくつかの命令はスーパーバイザーモードでのみ動作するようになっているため、もし、コンピュータがこのような命令の 1 つをユーザモードで実行しようとすると、特権違反エラーとなります。 |
8 |
dsTraceErr |
トレースモードエラー |
ID=08 トレースモードエラー
プログラマはトレースモードでランタイムデバッガを使用することができます。これにより、一度に 1 命令ずつプログラムをトレースすることができるようになります。もし、デバッガがインストールされていないのに、68000 がなにかの原因でトレースモードに切り替わったりすると、このエラーが発生します。 |
9 |
dsLineAErr |
ライン 1010 トラップエラー |
10 |
dsLineFErr |
ライン 1111 トラップエラー |
ID=09 と ID=10 ライン 1010 & 1111 トラップ
Macintosh の ROM には、68000 の機械語命令の語彙にはありませんが、プログラムの中の命令によって呼び出されるたくさんのルーチンがあります。(訳注:Macintosh ROM に格納されている様々なルーチンは、通常のルーチン呼び出しとは違う形でプログラムから呼び出されます。つまり、各ルーチンに対応づけた 68000 の疑似命令コードが用意されており、プログラムは、その疑似命令を実行します。この疑似命令を実行すると、68000 プロセッサが例外処理動作(トラップ)を行い、その結果上記のような処理の流れが起き、Macintosh ROM 内のルーチンが呼び出されるのです。)68000 はそのような命令を受け取ると、まず命令テーブルを検索します。このテーブルには、それぞれの命令と、対応するルーチンの格納場所(アドレス)の対が格納されており、ある命令に対するエントリがそのテーブルで見つかれば、処理がそのルーチンに分岐します。一方、エントリが見つからない場合には、このエラーが発生します。 |
11 |
dsMiscErr |
ハードウェア例外エラー |
12 |
dsCoreErr |
未実装コアルーチンエラー |
ID=12 未実装コアルーチン
プログラマは、プログラムの誤りを見つけるために、いろいろなところにブレークポイントを設定することがあります。これを行うためにはデバッガが必要ですが、デバッガがインストールされていないのに実行中のプログラムがブレークポイントに到達すると、このエラーが発生します。 |
13 |
dsIrqErr |
インストールされていない割り込みエラー |
ID=13 インストールされていない割り込み
Macintosh は、キーボード、ディスクドライブのようなデバイスがサービスを必要とするときを判断するために、割り込みを使います。デバイスに対してどのようにサービスをおこなうかコンピュータに伝えるルーチンを、メモリ上で利用できるようになっています。これが利用できない場合、このエラーが発生します。 |
14 |
dsIOCoreErr |
入出力コアエラー |
15 |
dsLoadErr |
セグメントローダエラー |
ID=15 セグメントローダエラー
Macintosh のプログラムは、セグメントと呼ばれる単位に分割されており、1 つ 1 つのプログラムは少なくとも 1 つ以上のセグメントを持っています。複数セグメントによりプログラムを部分に分けてメモリにロードできるので、内蔵 RAM 上のデータに多く領域を与えることができます。セグメントローダは、必要なセグメントを RAM にロードする役割をもっています。セグメントローダがこの処理を実行できないとき、セグメントローダエラーになります。 |
16 |
dsFPErr |
浮動小数エラー |
17 |
dsNoPackErr |
パッケージ 0 が見つからない [ List Manager ] |
18 |
dsNoPk1 |
パッケージ 1 が見つからない [ アップル社予約 ] |
19 |
dsNoPk2 |
パッケージ 2 が見つからない [ Disk Initialization(ディスク初期化) ] |
20 |
dsNoPk3 |
パッケージ 3 が見つからない [ Standard File(標準ファイル) ] |
21 |
dsNoPk4 |
パッケージ 4 が見つからない [ 浮動小数演算 ] |
22 |
dsNoPk5 |
パッケージ 5 が見つからない [ 超越関数 ] |
23 |
dsNoPk6 |
パッケージ 6 が見つからない [ International Utilities(国際化ユーティリティ ] |
24 |
dsNoPk7 |
パッケージ 7 が見つからない [ Binary-Decimal Conversion(2 進/10 進変換) ] |
ID=17 〜 ID=24 パッケージが見つからない 0-7
Macintoshでは、特定のタスクを実行するのにいくつかのパッケージを使用しています。たとえば、International Utilities(国際化ユーティリティ)、Binary-Decimal Conversion(2 進/10 進変換)、Standard File Utilities(標準ファイルユーティリティ)、Disk Initialization(ディスク初期化)などが、それに相当します。これらのパッケージはシステムファイルの中に置かれています。このエラーが発生した場合には、おそらくシステムファイルがなんらかの損傷を受けています。エラーコード 15、 16、26、27、30 、 31 についても同様です。このようなときは、システムファイルを入れ替えてみてください。 |
25 |
dsMemFullErr |
メモリ不足 |
ID=25 メモリフルエラー
おそらく RAM を使い果たした可能性があります。ただし、すでに説明したエラーが原因でMacintosh がメモリ不足条件を誤って検出し、このエラーを発生することがあります。 |
26 |
dsBadLaunch |
ファイルを起動できない |
ID=26 不正プログラムの起動
開いたアプリケーションを実行することができなかったときに発生します。 |
27 |
dsFSErr |
ァイルシステムマップが破棄されている |
28 |
dsStknHeap |
スタックがアプリケーションヒープ領域に侵入 |
ID=28 スタックがヒープ領域に侵入
このエラーは、メモリフルエラーに似ています。編集中のファイルや作業中のデータなどを頻繁に保存したり、ハードディスクにあるデータの最新のバックアップコピーをとっておくことは、とてもよい方法です。そのような予防措置をとることにより、システムクラッシュが起きても、多くのデータを失わずに済みます。 |
30 |
dsReinsert |
オフラインのボリュームを再セットするようにユーザに要求 |
31 |
dsNotThe1 |
期待されていないディスク (旧コード) |
33 |
negZcbFreeErr |
ZcbFree が負 |
40 |
dsGreeting |
Macintosh 起動時の[Welcome to Macintosh」メッセージ |
41 |
dsFinderErr |
Finder をロードできなかったときのエラー |
42 |
shutDownAlert |
システム終了エラーとして処理(旧コード) |
43 |
dsSystemFileErr |
システムファイルを開こうとしたが見つからない(旧コード) |
51 |
dsBadSlotInt |
サービス未対応スロット割り込み |
81 |
dsBadSANEopcode |
SANE Pack4 に対して誤ったオペコードが与えられた |
84 |
menuPrgErr |
メニューをパージしたときに発生 |
85 |
dsMBarNFnd |
SysErr -- MBDF が見つからない |
86 |
dsHMenuFindErr |
SysErr -- HMenu が再帰的に定義されている |
87 |
dsWDEFnFnd |
WDEF をロードできない |
88 |
dsCDEFnFnd |
CDEF をロードできない |
89 |
dsMDEFnFnd |
MDEF をロードできない |
98 |
dsNoPatch |
特定のモデルの Macintosh へのパッチに失敗 |
99 |
dsBadPatch |
パッチリソースのロードに失敗 |
101 |
dsParityErr |
メモリパリティエラー |
102 |
dsOldSystem |
現在使用している ROM に比べてシステムが古すぎる |
103 |
ds32BitMode |
24 ビットシステム上で 32 ビットシステムが起動されている |
20000 |
dsShutDownOrRestart |
システム終了または再起動をユーザが選択 |
20001 |
dsSwitchOffOrRestart |
電源切断または再起動をユーザが選択 |
20002 |
dsForcedQuit |
ユーザが ExitToShell ルーチンを使うことを許可する。Cancel 時は戻る |
32767 |
dsSysErr |
一般的なシステムエラー (DSAT では「その他」とされていたもの) |