Z80の話しようぜ
■ このスレッドは過去ログ倉庫に格納されています
「Z-Berry」は、Raspberry Piと同じ大きさで、「Zilog Z80」プロセッサをベースとするシングルボードコンピュータだ。
Zilog Z80は、1982年に英国で発売されたベストセラーコンピュータ「ZX Spectrum」に搭載されていたものだ。
https://sites.google.com/site/zberrysbc/_/rsrc/1490016399636/home/ZB_poster.jpg
https://sites.google.com/site/zberrysbc/ >>4
今の金太郎飴パチンコだとデータ部分を差し替えるだけでプログラムなんていじらんからな 日産のZってもう80まで出てんのかと思ったら違った push A
push B
pop B
pop A 国内メーカーのセカンドソースが山ほどあって色々楽しかったね >>7
PC-88のIPLに LD A,0 と書かれていて、XORにすれば1バイト少なくてすむのに
と指摘していた本があったな
記憶不確かだけど セガマークIIIのメインCPU
メガドラのサブCPU HLレジスタにして、なんと16bitの計算が出来る HALT命令を実行するとHALTピンがLowになるんだよな CALL命令がCDでRETURN命令がC9だったな 十年くらい前Z80は枯れすぎてバグとかがないからロケットなんかに使われているって聞いた頃ある Z80でもturbo pascal動くでしょ。バッチリだな。 ZX Spectrumだとかって言われても知らん
普通にMSXのCPUでいいじゃん >>22
ん?もう35年程前なので、かなりうろ覚えだが
ガキの頃PC88やPC98系でもマシン語でゲーム作ってたけどな?作ってたの確定で、うろ覚えなのがCPUが386とな486だったかのx86系だったかな
アセンブラ覚えたのはZ80よりこっちが先だった >>22
>>44
486までくらいなら普通だった
いまでも使うよね
SSEやら使うとき 中学生の時DMAでCPUの動作を止めて
トグルスイッチで直接RAMにコードを書き込むものを作って遊んでた
そのうち面倒臭くなったのでモニタプログラムを2716に書き込んで使いやすくした >>4
あんまり高度なCPUはイカサマしほうだいだから禁止されてるとか プログラムコードの大きさを何メーターとか長さで表してた時代ですよね? >>25
xor Aではゼロフラグが立ってしまうので
直前の演算結果を残してゼロクリアする場合ならld A,0も意味がある db 0xed
ld h,a
とかやって遊んだよな 俺は6809派だったからZ80? ハッ!って感じだったな そろそろクロック周波数4GHzのZ80もあったりするの? 最初のマシンはシャープのZ 80。家にまだNEC 8200完動品ある。32KBバンク切り替え >>58
究極の8ビットか
高校に行ったらPC-8001があってBASICで遊んだな 誤動作したらコードのバグなのかEPROMへ紫外線の照射が不足したのか悩んだりもしてたな >>59
嶋さんの「マイクロコンピュータの誕生―わが青春の4004」面白かったよ。
70年代の活気のある雰囲気まで伝わる。 >>16
RET
ちなCDはCALLでC3はJPだ。
3Eとか11とか21とかFEとかよく使うヘキサは未だにほとんど覚えてるわ。 >>11
Rレジスタの値をシードにすれば良いんじゃね? >>69
↓ココに解説がありました。
http://www.st.rim.or.jp/~nkomatsu/intel4bit/i4004.html >>31
同じ本持ってた。
家探しすれば出てくるかも。 >>70
21h は 6809 の LBRN みたく2バイトスキップ的に使って(HLは壊れるけど)
LD A,XXh でエラーコードをAに入れてスキップスキップスキップ。。。って
エラーメッセージ出力ルーチンまで堕ちていくコード。。。あかん、伝わらんwww シャープのポケコンPC-G805とかいうでかい電卓がなかったら俺はプログラマーにならなかったかもしれない。 >>37
DJNZ と LDIR/LDDR はよく使ったけど
JP (HL) は使ったことなかったなぁ
COBOL の計算型GOTO的な?w
EXX なんて割り込みルーチンとかで
使うモンなんだろうけど、存在すら
忘れてた
ぁー、走馬灯ww その昔、自分自身を壊すプログラムコンテストなんてのがあったな。
どこまで自己破壊が可能なのか競ってた。
よく覚えてないけど、自分を完全破壊できるコードが可能だったような? >>83
トラ技に出てた
自殺プログラム
すべて00にしてしまう
あと走るプログラムというのもあったな
コードがRAM上を動き回るやつ >>76
大丈夫伝わってる
オペランドをオペコードにするのは楽しい。スキップだけじゃなくてフラグをセットしたり JR命令は符号付き8ビットの範囲しかPC加減算できなくて、リロケータブルなアセンブラ書くのに3段ジャンプとかやってたなぁ。
今考えると早熟な小学生だった。 >>84
ああいうのってファームのアップデートで実際おんなじことやるんだよね。
コード領域からRAMに展開してRAMにジャンプ、
コード領域をブロック消去して、新プログラムを書き込みみたいに。 OUT (C),A なのに何故かBCレジスタでGRAM弄る不思議 あれはレジスタが加減算でLDIR/LDDRだからFEのヘキサがゼロフラグだからいいんだよ 実家に眠ってるPC8801mk2FRとX68000が動くかなーと帰省する度に思ってるけど実行するほどではない >>89
あれは確かOUT命令でCPUアドレスバスの上位8ビットにBCレジスタのどっちかの8ビット値が出力されるというZ80のエラッタに近い挙動を利用していたような記憶が。 >>80
switch文のようなテーブルジャンプはJP (HL)がないとできない >>87
ひっさびさにそのクソ不愉快なフレーズを見た
死んでくれないかな >>87
↓こゆのだっけ?(ロード後、NMIで開始)
ORG 0000h
PUSH HL
RET
ORG 0066h
JP FFF9h
ORG FFF9h
LD SP,0
LD HL,0
JP (HL) >>95
PUSH HL
RET
て言いがかりをつける友人がいましたw >>96
君が不愉快かどうかなんて俺にはまったく関係ない。
>>97
よく覚えてるなぁ。
ぱっと見、スタック破壊を利用してゼロ埋めするのか。 >>91
うちの実家には OKI if800 model 10 がありますw 来年からプログラミングの授業が必修になるみたいだけどZ80採用するところあるんだろうか
定期テストとか考えるとフローチャートで机上プログラムになるのかな >>97
確かリセットでSPやHLレジスタを設定し、PUSH HLとRETを0000及び0001番地にコピーしてJP (HL)するようなやつがあったと思う
考え方は一緒 MSXとメガドライブとネオジオか
どれも好きだったなぁ >>4
当たり判定だけに使われているとか
有名&古くて簡素なつくりだから不正がやりにくいからだとかなんとか >>105
レスありがとです。
>トグルスイッチで
Z80のクロックにコンセントから50Hzだか60Hzを供給して動いた、
みたいな記事を読んだ記憶が。ダイナミック動作では絶対無理な
スタティック動作の説明の文脈だったかなー、全然記憶違いかもw モトローラは8ビットではZ80に負け
16ビット以降はインテルに袋だたきに遭ってもCPUを出し続けた >>4
基盤って書くなボケ。誤字だ。イライラする。
いいか、教えてやる
×基盤
○基盤
わかったか低学歴 >>92
i286にもエラッタっぽい仕様を使って、リアルモードのままプロテクト領域にアクセスする規格があったな。 小学校の頃M80が買えなくて
MSX2 テクニカルハンドブック見ながら、システムコールを確認し
学習帖に、Z80のアセンブラでプログラム書いて
ニーモニック表見ながらハンドアセンブルして
マシン語モニタで打ち込んで走らせてたよ
今の子供はハンドアセンブルしなくても
他人の作ったゲームができてうらやましい
ハンドアセンブルしてた影響で
今でもCDがCALL、C3がJP、C9がRET
とかわかるよ もっといっぱいレスしたいけど
酔いと涙のせいで読めないww
IX とか IY って、なくてもいいんじゃね?と思ってたけど
コンパイラが吐くコードでは多用されてたのかしら? >>121
インデックスレジスタってほとんど使った記憶がないね
コードが長くなる分スピードも落ちるから >>121
コンパイラなんて8080の流用だから拡張命令なんて一切吐かないぞ。 >>122
そですよね、プリバイトが邪魔!みたいなw
6809 の Y もそんな感じ、あったかなぁ。
>>123
そですよね、アセンブラで書かれたと思しきモノも
後付けで部分的に DJNZ とか LDIR とか、手作業で
詰め込んでる感、ありました。
OKI-BASICの逆アセンブルを眺めてた日々の想ひ出w >>11
ラジオの音声を簡単なAD変換して取り込むユニットがあった そーいえば、いまだにパチンコ台の乱数発生器はZ80なんかな? >>130
はい、CMOS前の時代なのでコゲ臭くなってますよwwwwwww やっぱみんなすごいね。
今はAIガーとか言われてるけど、俺は石は高級と単純安の二極化になると思ってる。
AIがおかしくなった時に単純石が日の目をみると思うんだけど、今ここにいる人たちが生きているかどうか… >>129
求人サイト見てみると
よくパチ関連の開発会社がZ80できる人探してるよ
でもキツそうだ >>128
音声合成にチャレンジしようとしてPIOからマイクの音を1bit A/D入力(1bitなのでA/Dというのも変だけど)して再生させたら絶望的な音質で諦めたのは俺の黒歴史。 >>131
クロック停止しても電力バカ喰いするからな、、、 >>134
Z80から離れちゃうけど、ASCIIの記事で
ゼロクロス法という音声出力のハナシが
あって、Yo〜のけそう文のよーちゃんの
声をガギャガギャ聞いた想い出がw LH0080A、TMPZ84C015なら見たことある >>92
シャープのMZ-80C/Kは、たしかメモリマップトI/Oで、
IN/OUT命令があるのに貴重なRAMアドレス空間(笑)を
食いつぶして勿体ない、とか思ったス。。。
いかん、ビール2リットルで限界近しw 当時はマシン語使う俺偉いと思ってた
本当に偉いのは高級言語使う人の方だった SHARP MZ-80B
今では全く解らんが、小学生のときマシン語組めた
小学生の時が脳ミソピークだな 組み込み屋は爺になっても仕事があって良いよな。若者は組み込みやりたがらないし。 >>145
ぉー!
https://ja.wikipedia.org/wiki/SMC-777
エラッタに近い、と私も思ってましたが、
ハード屋さんがしっかりデコードして
可能性を拡げた例だったんですねー
ここはジジイどもの巣窟か! ザイログとインテルは、ワンチップマイコンの販売も同時期で
ザイログのZ8が1979年、インテルの8051が1980年だった
Atmelも最初はAT89という8051の互換マイコン出してたけど
1命令1クロックのAT90コアを開発してこれが大ベストセラーの
ATmegaになった XOR A
LD HL,0x78FF
LD DE,0x0000
CALL HL
ポケコンはボタンつるつるになるまで触ってた LSIC-86(r86)でJ3100SLのUSART(8251)のドライバを作って、
SONY NEWS にシリアル接続して、vi(笑)とLSIC-80でMSXの
統合環境 HALNOTE のプログラムを書いてたのが8bit最後の
想い出でした。
1スレに10レス以上書いたのは初めてだ。
レスをくれたみなさんも、レスを返せなかったみなさんも、
ありがとうございました、こんな一期一会があるんだよね、
だから2ちゃん(5ちゃん)はやめられない。
股いつか、お会いしましょう(^o^)/ 最後のZ80メインのハードってゲームギアかな
実質マークスリーだけど >>113
俺の目がおかしくなったのかと思ったわ
びっくりさせやがって Z80マシン語秘伝の書のマシン語とは関係ないムダ知識好き >>101
それだとメモリアクセスが増えるだけだが
HLレジスタに重要な値が入ってて破壊したくない場合は
PUSH HL (内容を保存)
... (ここでHLに飛び先をロード)
PUSH HL (飛び先をPUSH)
EX (SP),HL (保存した内容を戻す)
RET
のように使ったな 8ビットCPUをアセンブラでプログラミングするなら
6809しか使いたくない >>43
日本は御三家が鎖国してたから海外の8ビット機が入ってこなかったけど、
ZX spectrumは未だに年間30本ぐらいアプリが発表される
世界で最も活発な8ビットパソコンやぞ。 >>134
MSX2のデータレコーダーのI/Oポートから音声取り込めると聞いて、サンプリングレート10kHzくらいのレコーダーをハンドアセンブルしたっけな。
メインメモリの内16KB使って記録して、満タンになったらVRAMへ転送するようにした。(転送中はサンプリングが停まるのでプチノイズが入る仕様)
音質は推して知るべしだったが、PSGとSCCしか鳴らしたことがないMSX2からはっきり聞き取れる人の声が出てきた時は素直に感動した。 >>134
1bit A/Dって結局パルス幅を変えて変調してたからな PWM わらった
やっぱり>>120みたい奴いた
俺は今の職業は農業
人生先なんてわかんないよね 単純CALLならPUSHやPOPせずEX命令で
裏レジスタと一発反転させて飛んでた >>177
そうだそうだ
切なくてじわっと涙出てきたわ
本立てにマニュアルあったはずと探してみたけどないや
あるのは成長点培養とか、いつの間にか本の種類が変わっちゃった この頃は自己書き換えしながらデータを命令として実行させてバイト数稼ぐとかよくやった X1のTOYPOPが素晴らしい移植だった
敵の兵隊さんが1ドットで動いて
しかもちらつかないという ポケコンとか懐かしすぎる。
80年代当時高校生で、ドラクエ作りたくてチュンソフト受けに東京行ったなあ。 >>31
もっと地味な表紙だと思ったが・・・
年かw Z8
Z80
Z800
Z8000
Z80000
Z280 >>181
信頼性が高いからな。スペースシャトルもこれで制御されてたな 当時ファミコンのCPUが6502カスタムだと初めて知った時「?」という感想だった。
後に6502のアーキテクチャーと高速アクセス可能なSRAMの合わせ技が
アクションゲーとかには半端ない効果を生むことを知って
任天堂スンゲーと感服した。 6502は当時のヒット作Apple IIに搭載された
マシン語セットはZ80ほど強力ではない >>31そんなもんやったのか、奴隷にされちゃうやん ゼッパチもいいけどアセンブラでがりがり組むならh8のがいい H8は25年以上前日立の純正コンパイラを導入して職場で使ってた
使いやすいCPUだったな >>200
いまH8で仕事しとるけど
癖がなくていい子だ >>204
アドレッシングがもろに直交してるしな。
でもまあ、、、遅いw NECは無許可でコンパチ作ってたね
シャープはちゃんとライセンス結んでた
東芝は知らん
ゼット80?ジー80?どっちなん? >>198
自社OSにPLMとアセンブラだったな。
あ、それは8086か?
記憶が途切れるわw >>194
スーパーファミコンでは足を引っ張ったけどな
65816w R800という異色のZ80もあったな。
昔MSXのアセンブラでゲーム作ってたなー。
そんな今の俺はPHPプログラマ。退化している気がする。 >>192
今時のCPUは、設計ルールがnm単位だから、電磁波とか磁界に弱い。 某電子機器メーカの工場では1990年代になってもPC-8001を使っていたな CQ出版のZ80ファミリ・ハンドブックの初版を持ってる いまなら中日電工のTK-80コンパチやらTTL-CPU TK-80とかがあるし
SBCなら6800,6809に6803があってこの間8080用も出たぞい >>31
まだ持ってる
みんな持ってたのか、定番なのかな? シンクレアのZX81ってマイコン持っていたよ
BASICがところどころ微妙に違っていて(文字の表示座標指定がLOCATEじゃなくATだったり)
戸惑いながらも結構プログラム打ち込んで遊んでだ z80を使って
自作で80年代の頃のパソコンとか
MSXとか
つくれちゃったりするの? IX、IYを8bitレジスタとして使えるのは微妙に便利。 >>226
biosは?
z80使わなくても1chip msx出てる おっさんホイホイスレか。
Z80全盛の頃は面白いゲームを作ったりコピーする作家がいて楽しかった。 何故かゲームボーイはZ80(一部命令セット省略などあり)CPUだったよね
ファミコンと同じ6502にしなかった理由は何だろう そういや、日立のz80上位互換CPUってどうなったんかな。かなり強化されてたが >>212
乗算命令とインデックスレジスタの8ビットアクセス正式サポートを追加した、高速版だっけな。 Z80のワンボードマイコン買って遊んだよ。
Z80のマシン語は分かりやすかった。
確か29800円だったかな。
今は29800円出せばWindows10のPAD買えちゃう。 >>233
6502のゼロページアクセスに似た機能がついていて
ページをまたがない256バイト以内のメモリアクセスが速い
これを意識してアセンブラ組むと速くなる >>230
Z80の方がプログラマ人口が多かったから?
いや、ハード設計者がそんな事考慮するはずもなく、、、
単にチップ単価が安かったんじゃね。 シャープから液晶と抱き合わせでCPUも仕入れたんじゃないの 加齢臭すぐる。
退職後の余生を、SteamでTIS-100やSHENZHEN I/Oあたりで楽しみ給え Z80のマシン語入門を読んだ当時は小学生だったんで、分からない部分も多かった
そのレジスタが何のために用意されていて、どう使うのが効果的か、みたいな説明が少なかったように思う
あと演算の仕方、高校で数学やった時に「ああ、あれはこういう原理だったのか」とようやく分かる始末
やっぱ馬鹿はコンピュータに向いてないわw あとからつながったから>>239はそれを覚えてるわけじゃん。
十分に意味があったと思うよ。 >>194
あえてそれを選定したわけじゃなくて、たまたまなんだけどな ベーマガ読んでるとマシン語操れる人が憧れだった
basicがある程度わかってマシン語にステップアップしようと本を買ったが、
レジスタ?お店にあるやつ?
ってサッパリ分からなくて挫折した
1985年の中学一年の時 ゲームグラフィックTVシーズン5第1回
http://www.nico video.jp/watch/sm32154059
レトログラフィックTV
https://com.nico video.jp/live_archives/co142661 ____
/ \
/ _ノ ヽ、_ \ そんなこと言われても
/ (●) (●) \ どうすりゃいいのさ
| (__人__) |
\ ` ⌒´ /
/´ `\
/ / l l .
__l l_.[] _____/_/__
\, ´-'ヽ
ヾ_ノ
|
|
|__ コロ・・・・
_____\ コロ・・・・
()__)」 >>109
そもそも検査官がそれしか読めないからじゃないかな
台ごとに好き好きなマイコン使ったらその数だけ理解できないといけないし 昔を懐かしむならこれぐらい大人の本気出してやらないと。
8080だがほぼロジックICだけで互換品作って売ってる頭良いのか悪いのかよく分からない人がいる。
でも俺は結構真面目に欲しい。
http://userweb.alles.or.jp/chunichidenko/mycpu873.html >>249
ここの中の人、オールドCPUファンには感涙物の超大作ブログもやってて、そのへんの下手な小説なんかよりはるかに読み応えがある。
http://userweb.alles.or.jp/chunichidenko/index.htm >>248
これ面白そうだね、プローブ付けてステップ実行しながらレジスタの動きとか全部見れるな。
未組立とはいえ、全部そろって4万なら特価だわwww
親父がマイコンを商売にしだした時に自習用に買ったTK-80かなんかのキットがうちにある。
本人は引退後にシャープのポケコンPC-G8**シーリーズ買って「スゲーよくできる」って感心してる、もう病気。 1970年代の「電波科学」に16ビットマイコンを作るという連載があったな
標準TTLを使って5Vで10Aとか食っていたらしい >>252
ああ、確かにインストラクションデコードの瞬間とかをロジアナで観測できたら胸熱だわw MSXでスカイジャガーのROMを斜めに挿す
↓
BASIC+アセンブラでROMを解析
↓
BASICからサブルーチンコール、空きRAMを使ってセーブ・ロード機能を付ける
↓
グラディウスにも挑戦、挫折する
そんな中2でした TTLでCORE i7とか作ったら部屋一杯になるんだろうか。 >>207
NECはガリガリ色んな互換品作ってたからな
オリジナルのバグも治しちゃったりして差し替えできない奴とかもあったり 8080とか6809はないのか?
TK−80なら、マニュアルだけ買ってきて自分で集めた部品を組み合わせて自作した記憶があるな。ROMライタも自作した。 CPU自作するのはちょっと物量的に敷居が高いけど、時計IC相当のものを汎用ロジックで作ろうかと思ってはや1年。
カウンタの組み合わせでほぼ終わりなんだけど、問題は20秒ごとのクロック誤差の補正の仕組み。 >>258
両方とも間違えていると言うこと
正しくは 基板 と書く >>263
32.768kHzのクロックか水晶使ってないのん? >>266
産業用で既製品の時計IC使ってるんだけど、いくら水晶が32768Hzでも
水晶の誤差と、発振回路のパターンの容量とかで実際に+-0.3Hz位はずれるんですよ。
その補正の為に時計ICには20秒に一回だけ補正値を加えます。
19秒間は32768Hzで1秒カウントのところを1秒だけ32766Hzで1秒カウントみたいな感じで。
温度によるブレは残りますが、この補正値を加えると通年で月差5-10秒くらいに追い込めます。 >>267
確かに温度補償用に温度センサ内蔵のRTCあるね。
誤差補正用のレジスタ内蔵したやつも。
でもそこまで追い込んで考えたこともないわ。 >>267
>19秒間は32768Hzで1秒カウントのところを1秒だけ32766Hzで1秒カウントみたいな感じで。
ちょっとおかしいですね。訂正
↓
20秒中に19秒間はクロックを32768カウントで1秒カウントして1秒だけ32766カウントで1秒カウントみたいな感じで。
私が使った時計ICでは20秒に2カウント単位でカウントを補正できるのでたしか最小で0.1Hz単位まで調整できたはずです。 >>267
GPSパルスなしのローカルだけで補正できるの?
±のどっちにずれてるかわからないのに?
室温とかでの微少な誤差分を補正するってこと? >>269
計測ものは面白いですよ、汎用マイコンを使用しましたが周波数カウンタも作ったことがあります。
マイコン内蔵の割り込み機能付きカウンタが威力を発揮します。 基盤 風俗用語で本番のこと
円盤 風俗用語で金とって本番のこと
基板 電子パーツが乗っかる板のこと >>272
いわゆるインプットキャプチャだね。
俺は計測ではなくて通信屋だが、その機能使って簡易FSK通信やったことあるわ。 >>271
最初の補正はあくまで基準値からの補正ですよ。
プリント基板は水晶メーカーのリファレンス通りに作ってもらってますが、パターンの容量とか水晶のばらつきは出るので。
試作時に市販の周波数カウンタで0.001Hz単位まで計測して、試作完成後に10日程度電波時計と比較して確認しました。
温度による+-のずれはデータシートで20-25°程度はほぼフラットであることを確認して決め打ち。
(温度によるズレはほぼ調整不能の程度のズレしか出ない)
調整するのはあくまで水晶とプリント基板の容量による個体差です。
要求を月差30秒にしてもらって、手持ちの測定器と量産時に生産現場で簡単に設定できる治具を作製して実力月差10秒くらいで出荷してます。
>>274
優秀なハードのおかげでソフトで楽できるって素晴らしいと思いました。 >>261
8080と6809ならSBC8080とSBC6809がある
スイッチサイエンスでルーズキットで手に入る
TK-80コンパチなら中日電工へ逝け 無印を4MHzのオーバークロックで動かしてみた思い出 >>190
R800は?
もう、使われていないのか
turboRで感激したな おまえらが日本語みたいな何かを話してる人工知能AIみたいにしか見えない
さっぱりわかんねぇ R800って、てっきり軍用とか民間汎用で開発されたものだと思ってたら、
アスキーのエンジニアのお手製だったとは >>222
それ、買って貰う約束だったのになんだかんだ理由付けて反故にされたわ
未だに根に持ってる >>289
あれゼッパチか。
道理で使いにくいと思った。 >>281 >>286
今のパソコンをマイコンと呼んでいたり、ポケコンをいじってた世代だから
わからなくて大丈夫かと ■ このスレッドは過去ログ倉庫に格納されています