X68000 関係資料正誤表のコーナー

ここでは X68000 関係の資料のうち既出の正誤表に載っていないものを載せていきます。 この正誤表に先立って既出の各正誤表も確認してください。 なお、ここに載せているものはいずれも非公式な正誤表ですので この文書を参照するにあたってはそれなりに留意してください。


Inside X68000 と X68030 Inside/Out の非公式正誤表その2

立花えり子氏著「Inside X68000 と X68030 Inside/Out の非公式正誤表」 (INS6BUG5.ZIP、1999/09/03 最終改訂) に載っていない正誤表を、補足という形でメモしています。 従って、まずは桑島技研ARCHIVESの正誤表を参照してください。 ここは、立花さんの正誤表が改訂されるまでの一時的なもののつもりです。
2021/03/01: 立花さんの正誤表が更新されましたのでそちらを参照してください → Inside X68000, X68030 Inside/Out 非公式正誤表。 以下は記録のために残しておきます。

技術的に影響しない誤植は薄い色で記述しています。

1. X68030 回路図
X68030 Inside/Out 付属の回路図「メイン基本配線図(1)」の MC68EC030 の左の一番下のピン L1 に信号名 CIIN (CIIN にオーバーライン) が抜けている。
(2010/12/01)

2. MFP の AER
InsideX68000 p.81 の図3 の下の方、AER レジスタの説明中、
誤:0:'0'→'1'…
1:'1'→'0'…
正:1:'0'→'1'…
0:'1'→'0'…
次ページの 4.2 節中の本文の記述は合っている。
(2012/05/20)

3. FDC の DIO
InsideX68000 p.397 の図11、DIO ビットの説明中
誤:FCDから…
正:FDCから…
(2012/06/05)

4. FDC の SENSE INTERRUPT STATUS
InsideX68000 p.417 の図32、フェーズ欄2行目
誤:E-PHASE
正:R-PHASE
(2012/06/05)

5. FDD 仕様表
InsideX68000 p.390 の図2
誤:メディア回転送
正:メディア回転数
(2012/11/09 @moveccr さんより)

6. キーコード表
InsideX68000、p.358 の図6 (下) のキーボードの刻印中
誤:
かな
ローマ字
カナ入力
正:
かな
ローマ字
コード入力
(2013/02/10)

7. USART の UCR レジスタ
InsideX68000、p.94、7.2.2 WL の本文2行目。
誤: '00' のときには5ビットとなります。…
正: '11' のときには5ビットとなります。…
なお、同ページ上の図10 中の WL(データ長) の記述は正しい。
(2013/11/11 @moveccr さんより)

8. 68030 CACR バースト転送モード
X68030 Inside/Out、p.36 最下行
誤: …制御ビット (CBE/DBE) が…
正: …制御ビット (IBE/DBE) が…
(2013/12/26 @moveccr さんより)

また同様に、p.38 1行目
誤: …対応していないため、CBE/DBE ビットの
正: …対応していないため、IBE/DBE ビットの

9. 68030 CACR
X68030 Inside/Out、p.37 の図21、 MC68030 のキャッシュコントロールレジスタのビット14は CD ではなく 0。 ビット11のほうの CD は正しい。

誤:
CD
WA
DBE
CD
CED
FD
ED
0
0
0
IBE
CI
CEI
FI
EI
正:
0
WA
DBE
CD
CED
FD
ED
0
0
0
IBE
CI
CEI
FI
EI

(2013/12/26 @moveccr さんより)

10.
Inside X68000 p.420
誤:RESTE STANDBY
正:RESET STANDBY

(2014/05/28 @moveccr さんより)

11. OPM レジスタ
Inside X68000 p.292 最下行、
誤:OPM の汎用出力端子 CT2 で行えるようにしています。
正:OPM の汎用出力端子 CT1 で行えるようにしています。
(2018/12/03)

12. OPM レジスタ
Inside X68000 p.293 OPM レジスタ $1B
誤:
bit7 bit6 ...
CT2 CT1
正:
bit7 bit6 ...
CT1
CT2
(2018/12/03)


M68000PRM.pdf 正誤表

"M68000 FAMILY Programmer's Reference Manual" (M68000PRM.pdf) の正誤表です。
一覧したいので "68K Programmer's Reference Manual Errata" (M68000PRMER.pdf) Rev.1, 03/2007 の内容も勝手に転載しておきます。

p.1-16: パックド BCD 形式のフォーマット
図1-11。
誤:
96   65
SM SE Y Y EXP0 EXP1 EXP0 (EXP3) XXX XXX DIGIT16
DIGIT15 DIGIT14 DIGIT13 DIGIT12 DIGIT11 DIGIT10 DIGIT9 DIGIT8
DIGIT7 DIGIT6 DIGIT5 DIGIT4 DIGIT3 DIGIT2 DIGIT1 DIGIT0
32                                                             0
正:
95   64
SM SE Y Y EXP2 EXP1 EXP0 (EXP3) XXX XXX DIGIT16
DIGIT15 DIGIT14 DIGIT13 DIGIT12 DIGIT11 DIGIT10 DIGIT9 DIGIT8
DIGIT7 DIGIT6 DIGIT5 DIGIT4 DIGIT3 DIGIT2 DIGIT1 DIGIT0
31                                                             0
(2013/04/04)
(2024/12/17 https://x.com/kg68k/status/13642296395986124875 をマージ)

p.1-22: 倍精度
Table 1-5. Double-Precision Real Format Summary の NANs のところ
Biased Exponent Format Maximum は 255 ($7FF) ではなく 2047 ($7FF)
(2025/08/13 https://x.com/kg68k/status/1955316865422811353)

p.1-22: 倍精度
Table 1-5. Double-Precision Real Format Summary の下から3行目、
Maximum Positive Normalized は 18×10308 ではなく 1.8×10308
(2024/12/20 @moveccr さんより)

p.1-24: 拡張精度
Table 1-6. Extended-Precision Real Format Summary の下から2行目、
Minimum Positive Denormalized は 3.7×104951 ではなく 1.8×10-4951
(2024/12/20 @moveccr さんより)

p.3-31: 浮動小数点の条件論理式
表 3-23 の IEEE Aware Tests のうち以下の3つの式が違うようです。 また IEEE Nonaware Tests、Miscellaneous Tests の欄にも オーバーライン抜けがあるような気がしますが調べてません。
NEZ
UGENAN ∨ Z ∨ N
ORNAN
NEZ
UGENAN ∨ Z ∨ N
ORNAN
(2012/02/24)

p.5-20: FATANH
FATANH 命令の Description: の中、
誤:and the result is equal to -infinity or +infinity if the source is equal to +1 or -1,
正:and the result is equal to -infinity or +infinity if the source is equal to -1 or +1,
のような気がします。
(2013/04/04)

p.5-67: FLOGNP1(-1.0)
FLOGNP1 の Operation Table の NOTES: 2 の2行目
誤?:exception byte and returns a NAN. …
とありますが、返すのは NAN ではなく -infinity だと思います。
(2014/01/03)

p.5-35: FDBcc のディスプレースメント
M68000PRMER.pdf より転載。
In the Instruction Fields section of the FDBcc instruction summary, the displacement field description should be: “Specifies the branch distance (from the address of the instruction plus four) to the destination in bytes.”
つまり、
誤:(from the address of the instruction plus two)
正:(from the address of the instruction plus four)
(M68000PRMER.pdf Rev.1 より)

p.5-71: FMOD
In the Instruction Format figure of the FMOD instruction summary, bits 6:0 of the second word should be 0100001 (matching the figure on page 8-33), not 0101101.
(M68000PRMER.pdf Rev.1 より転載)

p.5-78: FMOVE
In the Instruction Format figure of the FMOVE instruction summary:
• The COPROCESSOR ID field should be located in bits 9-11
• Bit 12 has a fixed value of 1
(M68000PRMER.pdf Rev.1 より転載)

p.5-84: FMOVECR の定数
定数表の写植か OCR のミスのようです。
誤:$30     1n(2)
$31     1n(10)
$32     100
正:$30     ln(2)
$31     ln(10)
$32     100
要するに $30 は loge(2)、 $31 は loge(10)、 $32 は 1 ということです。
(2012/11/07 @moveccr さんより)
(2012/12/08 @moveccr さんより追加)

p.6-6: cpRESTORE の EA
cpRESTORE 命令の EA の表 (右側)、cpRESTORE に即値は指定出来ません。
誤:正:
Addressing Mode Mode Register
(xxx).W 111 000
(xxx).L 111 001
#<data> 111 100
Addressing Mode Mode Register
(xxx).W 111 000
(xxx).L 111 001
#<data>
(2024/12/09)

p.6-12: FRESTORE
FRESTORE 命令のフレーム長の説明で、 BUSY のほうは M68000PRMER.pdf で既出ですが、 そのすぐ上の UNIMP のほうも誤っています。

誤: UNIMP: This state frame is generated only by the MC68040. It is 48 ($30) bytes long. …
正: UNIMP: This state frame is generated only by the MC68040. It is 52 ($34) bytes long. …
 
誤: BUSY: This state frame is 96($60) bytes long in the MC68040, …
正: BUSY: This state frame is 100($64) bytes long in the MC68040, …

(BUSY のほうは M68000PRMER.pdf Rev.1 より改変して掲載)
(2024/12/09: UNIMP 追加)

p.6-26: 68040 のアドレス空間とデータ空間
MOVES 命令の NOTE の最後の段落の2行目以降、 データ空間を命令空間に読み替えると読めますが逆のような気がします。 またこの段落に2箇所ある OinstructionO は物理本では “instruction” だそうです。
誤?: data space, the MC68040's integer unit into data references
(SFC/DFC = 5 or 1) translates MOVES accesses to the
OinstructionO address spaces (SFC/DFC = 6 or 2)
.
一方、MC68040UM.pdf の p.3-22 の本文2行目以降にはこう書いてあり、 命令空間をデータ空間に読み替えると読めます。 こちらのほうが正しそうです。
正?: … Because the M68040 implements a merged
instruction and data space, the integer unit translates MOVES accesses to instruction
address spaces (SFC/DFC = $6 or $2) into data references (SFC/DFC = $5 or $1).
(2024/12/09)
(2025/08/14: @kg68k さんのツイート1, 2, 3 の内容をマージ)

p.A-4: 68040 の FSGLDIV, FSGLMUL サポート
Table A-1 中ほどの FSGLDIV、FSGLMUL の 68040 の欄が「2,3」 (ソフトウェアサポートの意) になっていますが、 「X2」(ハードウェアサポート)では? (要確認)
(2024/12/13)


MC68030UM.pdf 正誤表

M68030 User's Manual (MC68030UM.pdf) の正誤表です。

p.6-7: Data Cache
6.1.2.1 WRITE ALLOCATION の3段落目の4行目以降、 7行目で文が分かれるような気がしますが、誰か〜
誤: When a tag miss occurs on a write of long-word data that is long-word
aligned, the corresponding tag is replaced, and only the long word being
written is marked as valid. The other three entries in the cache line are
invalidated when a tag miss occurs on a misaligned long-word write or on
a byte or word write, the data is not written in the cache, the tag is unaltered,
and the valid bit(s) are cleared.
正?: When a tag miss occurs on a write of long-word data that is long-word
aligned, the corresponding tag is replaced, and only the long word being
written is marked as valid. The other three entries in the cache line are
invalidated. When a tag miss occurs on a misaligned long-word write or on
a byte or word write, the data is not written in the cache, the tag is unaltered,
and the valid bit(s) are cleared.
(2024/10/15 @moveccr さんより)

p.11-26: Brief Format Extension Word のクロック数、その2
11.6.1 Fetch Effective Address (fea) の表のうち、 BRIEF FORMAT EXTENSION WORD の欄。

誤:
(d8,An,Xn) or (d8,PC,Xn) 4 2 6(1/0/0) 6(1/1/0)
正:
(d8,An,Xn) or (d8,PC,Xn) 6 2 8(1/0/0) 8(1/1/0)

日本語版「MC68030ユーザーズ・マニュアル」でも同様。 p.549、11.6.1 実効アドレスのフェッチ (fea) の表のうち 「簡潔フォーマット拡張ワード」の欄がこれにあたる。
(2013/05/01 @kugimoto0715 さんより)

p.11-31: Brief Format Extension Word のクロック数
11.6.3 Calculate Effective Address (cea) の表のうち、 BRIEF FORMAT EXTENSION WORD の欄。

誤:
(d8,An,Xn) or (d8,PC,Xn) 4+op head 0 4(0/0/0) 4(0/1/0)
正:
(d8,An,Xn) or (d8,PC,Xn) 6+op head 0 6(0/0/0) 6(0/1/0)

日本語版「MC68030ユーザーズ・マニュアル」でも同様。 p.552、11.6.3 実効アドレスの計算 (cea) の表のうち 「簡潔フォーマット拡張ワード」の欄がこれにあたる。
(2013/05/01 @kugimoto0715 さんより)


MC68040UM.pdf 正誤表

"M68040 User's Manual" (MC68040UM.pdf) の正誤表です。

p.9-9: 倍精度
Table 9-4. Double-Precision Real Format Summary の NANs のところ
Biased Exponent Format Maximum は 255 ($7FF) ではなく 2047 ($7FF)
(2025/08/13)

p.9-11: 拡張精度
Table 9-5 Extended-Precision Real Format Summary の最下行、
Minimum Positive Denormalized は 3.7×10-4951 ではなく 1.8×10-4951
(2024/12/20 @moveccr さんより)

p.9-21: FLOG2
Table 9-10 Unimplemented Instructions に FLOG2 が載っていませんが、 FLOG2 も未実装命令のはずです。
(2024/12/13)

p.10-10: BRA
10.5 MISCELLANEOUS INTEGER UNIT INSTRUCTION TIMINGS の表中、 BRA が条件分けされていますが誤りのはずです。 (Bcc のコピペミスかな)
Instruction Condition <ea> Calculate Execute
Bcc
 
Branch Taken 2 2
Branch Not Taken 3 3
BRA
 
Branch Taken 2 2
Branch Not Taken 3 3
(2025/02/13)

p.10-37: FTST
10.7.3 節 Timings in the Floating-Point Unit に FTST が載っていないようです。 (要確認)
(2025/02/14)

p.10-*: FSGLMUL、FSGLDIV
10章 INSTRUCTION TIMING に FSGLMUL、FSGLDIV が載っていませんが、 ハードウェアサポート命令のはずです (要確認)
(2024/12/13)


「MC68030ユーザーズ・マニュアル」(日本語版) 正誤表

p.457: MMUSR の透過(T)ビット
表9-3、透過(T)の行、レベル0欄の説明の後半の一文。
誤:Iビットがセットされている場合は未定義
正:Tビットがセットされている場合は他のすべてのビットは未定義
なお MC68030UM.pdf の該当部分は "If the T bit is set, all remaining MMUSR bits are undefined."
(2022/08/22)

p.557: 命令実行時間の表注釈
11.6.7 特殊目的の MOVE 命令、の表の下の注釈がいろいろ崩れています。

誤:   
CR-A 制御レジスタ USP、VBR、CAAR、MSP, およ     MOVEM EARL — n レジスタ…
     びISP+
CR-A 制御レジスタ SFC、DFC、および CACR
正:
CR-A 制御レジスタ USP、VBR、CAAR、MSP, およ   + MOVEM EA,RL — n レジスタ…
     びISP 
CR-B 制御レジスタ SFC、DFC、および CACR
(2024/10/16)


「MC68040ユーザーズ・マニュアル」(日本語版)(第1版第1刷) 正誤表

p.244: 浮動小数点ステートフレーム
図 9-7。 3つ並んでいる図の一番下 (このページは90度回転しているので物理的には右) の図中に2箇所誤植がありますが、そもそも図のキャプションが抜けています。 (英語版の同箇所は Unimplemented Instruction FPU State Frame)
バージョン番号=$41 $30
CMDREG38 CMDREG3B
 
STAG WBT
M[66]
WBT
M1
WBT
M0
SBIT
CMDREG38 CMDREG1B
(俺注: 7列省略)
ETM[31-00]
未実装命令 FPU ステート・フレーム
(2024/12/09)

p.247: FSGLMUL、FSGLDIV
9.8.1 未実装浮動小数点命令、の本文中、未実装命令に FSGLMUL、FSGLDIV が列挙されていますが、実装されている (のでここには列挙されない) はず? (要確認)
(2024/12/13)

2012/06/10 初版
2025/08/14 最終更新

isaki@NetBSD.org