misc. > アタリ仕様ジョイスティック研究 > 機器側の仕様 > ATARI系列(Vcc:pin7, GND:pin8) > Commodore VIC-1001/20(1980)

Commodore VIC-1001/20(1980)

ハードウェア概要

コモドールによる低価格パソコン。もともとはコモドールジャパンによる開発で、欧米に先駆けて日本国内でVIC-1001という名称で1980年11月に発売された[1]。翌年にはVIC-20(ドイツではVC-20)と名を変えて世界各国で販売された。日本ではPC-6001との競合もありぱっとしなかったが、欧米では世界発の100万台売れたパソコンとなるなどヒット製品となった。

コントローラ端子の特徴

以下の説明は"VIC-20 Programmer's Reference Guide"及びzimmers.netにあった回路図に基づく。本機はコントローラ端子を1つもっており、ピンアウトは以下の通りである。

pin#

Function

1

Digital in / Digital out

2

Digital in / Digital out

3

Digital in / Digital out

4

Digital in

5

Analog in

6

Digital in / Digital out / Light Pen

7

VCC

8

GND

9

Analog in

ピン1〜3、6はピンごとにデジタル入力とデジタル出力を切替可能である。また、ピン1〜4、6は本体内でプルアップされている。ピン6はライトペン入力にも用いられる(後述)。

ハードウェア実装

上記回路図からコントローラ端子周りを抜粋したものを下図に示す。

/static/images/atari/vic20.png

コントローラ端子はCPU(MOS6502)の周辺チップであるMOS6522(通称VIA)と、ビデオコントローラであるMOS6560(通称VIC)[2]のI/Oポートを使って実装されている。なお、VIAは2つ使われている。

コントローラ端子のピン1〜3及び6はVIA#1のPA2~5に接続されている。また、コントローラ端子のピン4はVIA#2のPB7に接続されている。なお、VIA#2のPA0~7(READ)、PB0~7(WRITE)は通常はキーボードスキャンのために使用されている。ピン5, 9はVICのアナログ入力端子に、ピン6はVICのライトペン入力端子に接続されている。

制御方法

各ピンの制御方法は以下の通りである。

ピン1〜4、6のデジタル入出力については、アドレス$9111、$9113、$9120、$9122を使用する。

port#

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

9111 (R/W)

Read / Write PA of VIA#1

PA7

PA6

PA5

PA4

PA3

PA2

PA1

PA0

9113 (W)

Set Direction for PA of VIA#1

PA7

PA6

PA5

PA4

PA3

PA2

PA1

PA0

9120 (R/W)

Read / Write PB of VIA#2

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

9122 (W)

Set Direction for PB of VIA#2

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

デジタル信号の読出しは以下の手順となる。なお、Hレベルが1、Lレベルが0である。

  1. アドレス$9113に$00を書き込む。

  2. アドレス$9122に$7Fを書き込み、すぐにアドレス$9120を読み出してアドレス$9122に$FFを書き込む[3]

  3. アドレス$9111を使って信号入力を読み出す。

信号の出力を行う場合は、出力を行いたいピンに対応したアドレス$9113のビットに1を書き込み、アドレス$9111から出力を行う。

ピン5、9の読み取り手順は、それぞれアドレス$9008、$9009を読み出すだけでよい。ライトペンも、アドレス$9006にX座標が、$9007にY座標が保存されるようになっている。


コメント(0)


Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。