手持ちのW65C02Sについてだが、VPB(pin1)とMLB(pin5)を観測してみようと思いLEDを付けてみた。VPBは割り込みベクタ参照時にアサートされる。これは周辺デバイスから割り込みがあった時にデバイスごとに飛び先のアドレスをすり替えることができる。MLBはマルチプロセッサのためのメモリロック信号でASL,DEC,INC,LSR,ROL,ROR,TRB,TSB命令のメモリアクセスでアサートされる。

IMGP3488

 実際に動かしてみるとVPB側は点灯したまま。TSB命令を適当なRAMのアドレスを参照させて無限ループさせてもそちら側のLEDはなにも点灯しない。

 R65C02に追加されたW65C02Sの命令にWAI,STPがある。WAI命令は実行すると割り込みが発生するまで一時停止する。次のコードで停止すればW65C02Sのはずなのだが、通り過ぎてモニタに戻ってしまう。

SEI
WAI
NOP NOP NOP NOP NOP
RTS

追記:
※unimonではRTSではなくBRK命令でモニタに戻ると教えてもらいました。これはRTSで偶然戻っているようです。
WAI

 これらのW65C02Sは2014年にebay経由でgc_marketsというところから5個セットで購入。1つはPET2001で使用中。一番左は動かなかったもの。
IMGP3489

IMGP3490

 刻印は以下のとおり。

W65C02S8P-10 SA1034A // II450HI 0212 MEXICO
W65C02S8P-10 SA1034A // II450 77072-4 MEXICO
W65C02S8P-10 SA1034A // 11450 A48380-2 MEXICO
W65C02S8P-10 SA1034A // なし

 ということで別のところからW65C02Sを手配中。確認する予定。

 さてW65C02Sの作例だがL-Star-Liteのボードを確認してみた。VPBはオープンでバスはプルアップなどしていない。ただし電源は3.3V。

LStar-Lite-MPU


 他にもAN-002: Replecement Notes for Obsolete Versions of 6502 8-bit Microprocessors には各種6502/65C02の違いについてまとめてある。