Z80

パチパチ1号、完成

2011年12月25日

パチパチマイコンが、完成品になった。

2011-12-25-IMG_9501_2.jpg

ハードウェア上は、予定通りの動きをすることが確認できたので、とりあえず完成としたい。性能は、次の通り。

CPU: Z80
clock: 2 MHz
RAM: 32K bytes
BIOS: 256 bytes
human interface: 8 bits LED & 8 bits toggle switches for data + 10 bits toggle switches for address
mass storage: tape-recorder interface. average 1600 bps.

BIOSは、PIC16F690内蔵のEEPROMに書かれている。本来、トグルスイッチで手入力する類のものであるが、256 bytesと比較的大きなプログラムのため、手入力の代わりをPIC16F690が行う形になっている。

回路図は、次の通り。

2011-12-25-schematics.png
2011-12-09-Image.png
2011-12-06-Image.png

BIOS入力用のPIC16F690のプログラムは、先に書いた記事を参照のこと。

BIOSは、現在製作中であるが、暫定的には次のようなソースコード。リセットスイッチを押すと、カセットテープインターフェースからの入力待ちになり、プログラムが入力できれば実行するようになっている。

org 0000
ld sp,8000
call init:
ld hl,(00f8)
call read8bytes:
pop hl
push hl
ld bc,(00fa)
inc b
loop1:
call read8bytes:
dec c
jr nz,loop1:
dec b
jr nz,loop1:
in a,80
pop hl
jp (hl)
end:

org 0020
save:
call beginsignal:
ld hl,00f8
call write8bytes:
ld hl,(00f8)
ld bc,(00fa)
inc b
s_loop1:
call write8bytes:
dec c
jr nz,s_loop1:
dec b
jr nz,s_loop1:
ret

check:
ld b,00
c_loop1:
in a,ff
rra
jr c,c_loop1:
c_loop2:
inc b
in a,ff
rra
jr nc,c_loop2:
ld a,b
ret

read8bytes:
push bc
push de
xor a
ld e,08
r8_loop1:
call read1byte:
ld (hl),d
inc hl
xor d
dec e
jr nz,r8_loop:
call read1byte:
cp d
pop de
pop bc
ret z

show_error:
in a,40
call e_wait:
in a,80
call e_wait:
jr show_error:
e_wait:
djnz e_wait:
dec c
jr nz,e_wait:
ret

get1bit:
call check:
cp 08
jr c,show_error:
cp 31
jr nc,show_error:
cp 20
ret

read1byte:
ld c,08
r1_loop1:
call get1bit:
rr d
dec c
jr nz, r1_loop1:
ret

init:
ld hl,0000
in a,80
i_loop1:
call check:
cp 08
jr c,init:
cp 20
jr nc,i_begin:
inc hl
dec h
inc h
jr z,i_loop1:
in a,40
jr i_loop1:
i_begin:
dec h
inc h
jr z,init:
ret

writeabit:
jr nc,writebit0:

writebit1:
ld b,1c
djnz fe
in a,80
ld b,1f
djnz fe
in a,40
ret

beginsignal:
ld bc,06dc
bs_loop1:
ld d,ff
call write1byte:
dec c
jr nz,bs_loop1:
dec b
jr nz,bs_loop1:

writebit0:
ld b,3c
djnz fe
in a,80
ld b,3f
djnz fe
in a,40
ret

write8bytes:
ld e,08
xor a
w8_loop1:
ld d,(hl)
xor d
inc hl
call write1byte:
dec e
jr nz,w8_loop1:
ld d,a

write1byte:
push bc
push af
ld c,08
w1_loop1:
rr d
call writeabit:
dec c
jr nz,w1_loop1:
pop af
pop bc
ret

256バイトに収めるために、必要最小限の仕様。本当は、保存を行った後に確認の動作を組み込みたかったが、容量が足りなかった。

次のマイコンでは、キャラクターディスプレイとキーボードを使えるようにしたい。

コメント

mulberry sale (2018年10月14日 16:05:28)

http://www.adidasoriginalsnmd.us.com/ adidas nmd r1
http://www.ray--bansunglassess.us.com/ ray ban
http://www.pandorasjewelry.co.uk/ pandora uk
http://www.skechers--shoes.us.com/ skechers women
http://www.asicss.us.com/ asics running shoes
http://www.uggsformen.us.com/ ugg boots
http://www.pandoras-uk.co.uk/ pandora bracelet
http://www.birkenstocksandalssale.us.com/ birkenstock sale
http://www.pandorauk.us.com/ pandora uk
http://www.fitflop--shoes.us.com/ fitflop shoes
http://www.salvatore-ferragamo.us.com/ salvatore
http://www.skechersuk.co.uk/ skechers
http://www.adidas-superstarshoes.us.com/ adidas superstar
http://www.adidasnmdrunnerr1.us.com/ yeezy boost 350
http://www.airjordan11spacejam.us.com/ air jordan
http://www.chromehearts-jewelry.us.com/ chrome hearts sunglasses
http://www.katespade--outlet.us.com/ kate spade purses
http://www.jimmychooheels.us.com/ jimmy choo
http://www.uggs--boots.us.com/ uggs for men
http://www.monclers.uk/ moncler jacket womens
http://www.burberrys.org.uk/ burberry scarf
http://www.kyrie-irving-shoes.us.com/ kyrie
http://www.ugg--slippers.us.com/ uggs for women
http://www.fitflopsshoes.us.com/ fitflop sandals
http://www.hermesbirkin-handbags.us.com/ Hermes Belts
http://www.salomon--shoes.us.com/ Salomon xa pro 3d
http://www.adidas--shoes.co.uk/ adidas shoes
http://www.monclerjacketmens.us.com/ moncler coat
http://www.cartier-bracelet.us.com/ cartier love ring
http://www.truereligion--jeans.us.com/ true religion jeans men
http://www.fitflop--sandals.us.com/ fitflop sale
http://www.nike-airmax-2018.us.com/ nike air max
http://www.northfacejacketoutlets.us.com/ north face vest
http://www.redbottom--shoes.us.com/ red bottoms
http://www.salomonshoes.co.uk/ salomon skis
http://www.pandorajewelryrings.us.com/ pandora necklace
http://www.michaelkors-handbagss.us.com/ michael kors outlet
http://www.chrome--hearts.us.com/ chrome hearts bracelet
http://www.air-max-95.us.com/ air max 95
http://www.adidasyeezys.org.uk/ yeezy
http://www.rayban--glasses.us.com/ ray ban
http://www.jordanretro11-shoes.us.com/ jordan retro 11
http://www.eccoshoesoutlets.us.com/ ecco outlet
http://www.moncler--jacket.us.com/ moncler jacket
http://www.nike-huaraches.us.com/ huarache shoes
http://www.nikeair-max90.co.uk/ air max 90
http://www.celines.us.com/ celine purse
http://www.northface-jacket.us.com/ north face coats
http://www.yeezyboost350v2.co.uk/ yeezy boost 350 v2
http://www.james-hardenshoes.us.com/ james harden
http://www.burberry--scarf.us.com/ burberry
http://www.nike-airmax270.us.com/ air max 270
http://www.jordan11spacejams.us.com/ jordan space jams
http://www.montblancs.us.com/ mont blanc pens
http://www.nikeairmax270.org.uk/ nike air max 270
http://www.nikelebron15.us.com/ lebron
http://www.airmax95.co.uk/ air max 95
http://www.adidas-yeezy-shoes.us.com/ Adidas Yeezy
http://www.longchampbag.us.com/ longchamp backpack
http://www.jordans11shoes.us.com/ air jordan
http://www.adidasnmds.co.uk/ adidas originals nmd
http://www.nikeairmax-95.us.com/ nike air max 95
http://www.monclerjacket.org.uk/ moncler
http://www.nikeairmax-90.us.com/ nike air max
http://www.curry4-shoes.us.com/ curry shoes
http://www.redbottoms-louboutin.us.com/ red bottom shoes
http://www.coach--bags.us.com/ coach bags
http://www.pandoraearrings.us.com/ pandora
http://www.adidasnmd-womens.us.com/ nmd
http://www.yeezyboost350--v2.us.com/ yeezy shoes
http://www.barbourjackets.co.uk/ barbour coats
http://www.airmax90shoes.us.com/ nike air max
http://www.burberry-bags.us.com/ burberry wallet
http://www.ralphlaurenspoloshirts.us.com/ ralph lauren shirts
http://www.christianlouboutinredbottoms.us.com/ christian louboutin
http://www.mulberrys.org.uk/ mulberry bayswater
http://www.michael-kors-bags.us.com/ michael kors bags
http://www.fitflops-sale.us.com/ fitflop sale
http://www.air-max-97.us.com/ air max 97 mens
http://www.swarovskisjewelry.us.com/ swarovski necklace
http://www.pandora--rings.us.com/ Pandora
http://www.oakley--glasses.us.com/ oakley prescription sunglasses
http://www.skecherss.us.com/ skechers
http://www.hermes--belt.us.com/ hermes belt men
http://www.uggs-forwomen.us.com/ ugg slippers
http://www.barbours.org.uk/ barbour
http://www.swarovskis.us.com/ swarovski
http://www.nikeair-max.co.uk/ nike air max 97
http://www.pandora-charmsjewelry.us.com/ pandora bracelet
http://www.supremeshirt.us.com/ supreme jacket
http://www.longchampbackpack.us.com/ longchamp bag
http://www.ferragamoshoess.us.com/ ferragamo shoes
http://www.nike--shoes.co.uk/ nike outlet
http://www.ultra--boost.us.com/ adidas ultra boost uncaged
http://www.chromeheartsjewelrys.us.com/ chrome hearts bracelet
http://www.pandora-jewelrysale.us.com/ pandora jewelry official site
http://www.moncler-coat.us.com/ moncler coat
http://www.stephen-curry-shoes.us.com/ stephen curry
http://www.balenciaga--shoes.us.com/ balenciaga sneakers
http://www.salomonspeedcross3.us.com/ salomon speedcross 3
http://www.lebron15-shoes.us.com/ lebron 14
http://www.huaraches.us.com/ huarache
http://www.kevin-durant-shoes.us.com/ kd 10
http://www.prada--handbags.us.com/ prada wallet
http://www.adidas-ultraboost.us.com/ ultra boost
http://www.pandorajewelryscharms.us.com/ pandora Charms
http://www.salomon-boots.us.com/ salomon speedcross 3
http://www.mbts.us.com/ mbt mens shoes
http://www.vapormaxs.us.com/ air vapormax
http://www.pandora-jewelrybracelet.us.com/ pandora jewelry
http://www.polo-ralphlauren-outlet.us.com/ polo ralph lauren
http://www.pumarihannafenty.us.com/ rihanna fenty puma
http://www.nike--vapormax.us.com/ vapormax
http://www.katespadebags.us.com/ kate spade outlet
http://www.air-max-90.us.com/ air max
http://www.supreme--clothing.us.com/ supreme
http://www.true--religion.us.com/ true religion sale
http://www.pandoras-jewelrys.us.com/ pandora jewelry
http://www.nikeairmax97.co.uk/ nike air max 97
http://www.balenciagas-sneakers.us.com/ balenciaga bags
http://www.polo-ralph-lauren.org.uk/ ralph lauren polo shirts
http://www.birkenstock--sandals.us.com/ birkenstock
http://www.adidasyeezy-350.us.com/ yeezy
http://www.katespadepurses.us.com/ kate spade bags
http://www.monclerjacketwomens.us.com/ moncler
http://www.yeezyboost350shoes.us.com/ yeezy boost 350
http://www.oakley--sunglassess.us.com/ cheap oakley sunglasses
http://www.valentino--shoes.us.com/ valentino shoes
http://www.airmax270.co.uk/ nike vapormax
http://www.rayban-glasses.us.com/ ray ban glasses
http://www.ralphlauren--polo.us.com/ polo ralph lauren
http://www.louboutinredbottoms.us.com/ louboutin
http://www.nikeairmax-97.us.com/ air max 97 silver bullet
http://www.mcms.us.com/ mcm
http://www.goyardbackpack.us.com/ goyard wallet
http://www.airmax-2018.us.com/ nike air max 2018
http://www.under-armour-shoes.us.com/ under armour shirts
http://www.adidas-yeezyboost350.us.com/ yeezy boost 350 v2
http://www.new--balance.us.com/ new balance
http://www.nikeairvapormaxflyknit.us.com/ nike air max 90
http://www.lacosteshirts.us.com/ lacoste outlet
http://www.kd10-shoes.us.com/ nike kd
http://www.bvlgaris.us.com/ bvlgari
http://www.prada--bags.us.com/ prada bags
http://www.mcm--bags.us.com/ mcm wallet
http://www.adidasoriginalsultraboost.us.com/ ultra boost
http://www.asics--shoes.us.com/ asics mens running shoes
http://www.air-max-270.us.com/ nike air max 270 men
http://www.goyardbag.us.com/ goyard
http://www.mulberry-handbags.us.com/ mulberry sale
http://www.pandora--jewelrys.us.com/ pandora earrings
http://www.ed-hardys.us.com/ ed hardy jeans
http://www.nikekdshoes.us.com/ kd 10
http://www.jordan11.co.uk/ jordan shoes
http://www.jordan--11.us.com/ jordan
http://www.kyrie-4.us.com/ kyire 3
http://www.coachbags-outlet.us.com/ coach purses
http://www.ray--ban.us.com/ ray ban prescription sunglasses
なかなか活動

てつや (2023年9月22日 15:12:51)

最近、昔のマイコンを自作することに興味があって、こちらの記事に辿り着きました。

YouTubeで3つのCMOS ICのうちクロック作成用以外の2つは省略できると思うとおっしゃっていたと思いますが、その場合回路をどのように変更したら良いのでしょうか。
リセットスイッチ周りの回路がよりシンプルになっているものはいくつか例が見つかりますが、
データ読み出し用の発光ダイオードについてはnot回路を入れている例と入れてない例があり、その辺りが特によくわからず困っています。

また、スイッチの部分について、分岐している先にそれぞれ抵抗が入っていますが、分岐している元の方に1つの抵抗を入れるようにしたら問題がありますでしょうか。

だいぶ前の記事に対して全くの素人の質問で恐縮ですが、お答えいただいたら幸いです。

Katsumi (2023年9月23日 18:55:18)

こんにちは。

幾つか質問いただきました。順にお答えします。

1.クロック以外のCMOS ICが省略できるかどうか。

私がそれを言ったのか、どこで言ったのか思い出せないので、見当違いの答えになるかもしれませんが…。このプロジェクトでは、トグルスイッチによるプログラミングとデーターの読み出しが必要なので、ICを減らすのはなかなか難しいと思います。

2.リセットスイッチ周りの回路

リセットスイッチ周りに2つのNANDゲートを使っているのは、チャタリング対策です。場合によっては、リセットスイッチを何回押したかが重要になるケースがあるので、そういった場合に「1回押せば1回のリセット」となるようにNANDゲートを使ってチャタリング対策をしています。リセットボタンを押したときに複数回のリセットイベントが許容されるようなケース(チャタリング対策が必要ないようなケース)では、よりシンプルな回路で良いと思います。

3.データー読み出し用の発光ダイオード周りの回路

最近のZ80はCMOS製なので出力が大きくとれるため(昔のTTL製のものではダメ)、抵抗を繋いだLEDの直接駆動が可能です。ただ、その方法をここに採用すると、常にプルダウンされているような状況になります。このプロジェクトでは、トグルスイッチによりデーターバスをプルアップしたりプルダウンしたりする必要があるため、そういった直接駆動方式は取れません。ですので、間にNOT回路を入れています。

4.トグルスイッチ周りの抵抗の接続位置

おっしゃるような方法でもおそらく動作しますが、スイッチのロットによってはH側とL側と同時に接続するような瞬間があるかもしれません。この回路では、そういった予期しない時間帯があっても誤作動しないように設計しています。

てつや (2023年9月23日 23:59:33)

こんにちは。

ご丁寧にお答えいただきありがとうございます。

私も黎明期のマイコンのようなものの自作にチャレンジしてみたいと思っているのですが、まともにはんだごてを握ったこともなく右も左もわからないため、いきなり複雑なものを作ろうとしても頓挫する可能性が高いように思いましたので、
Katsumiさんの必要最小限構成の作例を参考に作ってみようと思ったのでした。

必要最小限であるということにハードルの低さと同時に美しさも感じていたため、もっと省略できる可能性があるのならと、思い切って質問させていただいた次第です。

ICを減らすのはなかなか難しいとのことですので、まずはほぼ回路図の通りに作らせていただいて、動作させてみて、電子回路やマシン語の理解を深めつつ、あれこれ応用ができたらいいなと思いました。


ちなみにICの省略の可能性についてはYouTube上でこちらのパチパチマイコンを解説されている動画の中でお話されていました(2011年10月26日の記事の最後に触れられている動画かと思います)。

もしかしたら今回お答えいただいたチャタリング対策が必要ないケースについてのお話だったのかも知れません。

P.S. 6502を使った必要最小限構成のパチパチ2号も楽しみにしています(笑)

Katsumi (2023年9月25日 19:01:31)

このプロジェクトに関するブログ記事、さらにいろいろ発展させるようなことを書いているのですが、実際はこのページの内容でストップしています。つまり、これで完成という事ですね。カセットテープインタフェースも使っていないし、BIOSも使っていません。回路は、一番上の基本形で完成です。

コンピューターの基本原理を知るには、このパチパチ一号は最適だと思います。トグルスイッチでバイナリーの入出力が出来るので、必要最小限のコンピューターの動作を確認することができます。ただ、発展性がないのが残念ですが、興味がおありならぜひ作ってみて下さい。

もし、マイクロコントローラーの知識があるなら、EMUZ80というのがあります。BASICが走ったりするはずです。
https://vintagechips.wordpress.com/2022/03/05/emuz80_reference/
キットも販売されています。
https://store.shopping.yahoo.co.jp/orangepicoshop/pico-a-052.html

Katsumi (2023年9月25日 19:16:10)

あと、Z80のアセンブラーは、これを使ってください。パチパチ1号用に作ってあって、2進数表示もされるので、便利だと思います。
https://www.rad51.net/blog/mycom/index.php?itemid=826

てつや (2023年9月25日 22:21:05)

パチパチマイコンを作って、完成したらアセンブラーも利用させていただきたいと思います。
有益な情報を公開してくださり、また、ご丁寧に教えてくださり、本当にありがとうございます。

パチパチマイコンの先の目標としては、入出力のあるバージョンを作り、その後手動のROMライターを作り、TK80みたいなものを作り、Tiny BASICを動かしたり、LEDドットマトリクスでゲームを作ってみたりしたいです。
部品は現代の技術を反映したものになるかと思いますが、コンピューターを所有するには自分で作るしかなかった時代の真似事をしてみたい想いがあります。
ただ、これらは今の私には夢物語に近いので、とにかくまずはパチパチマイコンです!


EMUZ80もミニマルな構成ですごいですね。
マイクロコントローラーの知識はないのですが、色々調べてみたいと思います。
教えてくださりありがとうございます。

Katsumi (2023年9月27日 13:34:25)

色々と楽しみですね。私も、パチパチマイコンに戻って、新規格を始めたくなりました。2号の設計を、考えてみます。

てつや (2023年9月27日 18:32:54)

パチパチ2号!
とても楽しみです!

コメント送信