ブックマーク / vintagechips.wordpress.com (84)

  • EMU68k8の成果

    往年のCPUをPICひとつで動かす試みは、Z80のEMUZ80が思いのほかうまくいったから、引き続きMC68008のEMU68k8に着手。データシートを見る限り制御はMC68008のほうが簡単。タイミングの制約が緩く、PICをマイペースで動かせる。試作機は、EMUZ80からZ80を取り外し、ジャンパー線でブレボのMC68008へつないで、たちまち完成。 この種の制御は、PICが面倒な処理をする間、CPUをうまく待たせられるかどうかが成否のカギを握る。Z80を始めとするほとんどのCPUは限られた時間のうちに待ち信号を送らなければならない。そこへいくとMC68008は、何もしなければ待ちに入り、抜けていいときDTACKを送る仕組み。こういっちゃあナンだけど、楽勝だわ。 試作機でHELLO, WORLDが動き、やや不安定だったんだけど、えいやっとプリント基板を作った。いやちゃんと確認しなきゃダメ

    EMU68k8の成果
    zu2
    zu2 2022/10/23
    “往年のCPUをPICひとつで動かす試み”
  • 最少部品オシロの雑な説明

    アナログのオシロは高級な部品と高度な技術を詰め込んだ芸術作品だよね。デジタルはもっと凄いんだろうなと思ったら逆にシンプル、仕組みがぜんぜん違って、いわば手抜きのし放題。そういうの得意なんだよね。てことで、なるべく少数の安価な部品で作ったオシロがこれ。曲がりなりにも信号の波形を表示したから、取り急ぎ雑な説明で公開する。 回路はこんな感じ。概略、マイコン(PIC16F18313)にOLED(製品名不詳)をつないただけ。マイコンにファームを書き込む端子が完成後は電源と信号の入力端子になる。信号はマイコンがAD変換器でスイープする。こんな仕組みなので信号はGND~5Vの範囲で振れなければならない。そうでない信号は、外部に差動増幅とかが必要になる。 回路図のピン配置はたいがい実物と違うもんだが、シンボルを妙に生々しく描いちゃったので、間違える人がいるかもしれない。念のために実体配線図を追加しておこう

    最少部品オシロの雑な説明
    zu2
    zu2 2022/08/12
    “アナログのオシロは高級な部品と高度な技術を詰め込んだ芸術作品だよね。デジタルはもっと凄いんだろうなと思ったら逆にシンプル、仕組みがぜんぜん違って、いわば手抜きのし放題”
  • EMUZ80が完成

    Z80とPIC18F47Q43で動く挑戦的なコンピュータEMUZ80が完成した。設計の目標は、できるだけ少数の安価な部品と簡素なソフトウェアで動かすこと。CPU以外のICが1個だけなので部品はもう減らない。Z80はジャンクが格安だしPIC18F47Q43も40ピンで最低の価格帯。ソフトウェアはあとでどうにかする、ってことで目標は完全に達成された。 納得のいく設計ができて試作機がうまく動いたらプリント基板を頒布してお祭り騒ぎをするのが恒例だ。その先に起きるかもしれない、ふたつの出来事に、いま期待を膨らませている。第1に、噂話でZ80を知っている人が実物を動かす面白さも知ってくれること。第2に、どこからか凄腕の週末プログラマが現れてソフトウェアを改善してくれること。 EMUZ80技術資料-emuz80_techdata.pdf(3.7Mバイト) 関連ファイル-https://github.co

    EMUZ80が完成
    zu2
    zu2 2022/03/12
    “設計の目標は、できるだけ少数の安価な部品と簡素なソフトウェアで動かすこと。CPU以外のICが1個だけなので部品はもう減らない。Z80はジャンクが格安だしPIC18F47Q43も40ピンで最低の価格帯”
  • CP/Mega88 on Picoを動かした

    Norihiro Kumagaiさんが開発したCP/Mega88 on Picoは超シンプルなCP/Mマシン。どのくらいシンプルかっていうのが下の写真。まんまRaspberry pi Pico(以下Pico)だから、もはや電子工作ですらない。ボクは過去に何回かCP/Mマシンを作ろうとして挫折しているが、さすがにこれは失敗しない。簡単に動いてくれたので、ここに過程をまとめておく。 CP/Mega88 on Picoを作る流れは、概略、GithubプロジェクトをクローニングしてPicoの開発環境でビルドする。公式な説明は開発環境をUbuntu20に構築しているが、ボクは初代Raspberry Piに構築した。Raspberry Pi OSであればシェルスクリプト1発で開発環境が出来上がる(Getting started with Raspberry Pi Pico参照)。まあ4時間ほどかかる

    CP/Mega88 on Picoを動かした
    zu2
    zu2 2022/01/24
  • PIC18F47Q43のUARTで悩む

    PIC18F47Q43をZ80につないでIC2個のみのコンピュータを作ろうと考えている。PICはZ80に対し、NCOでクロックを生成、ポートでリセットして起動、Z80からアクセスが来たらCLCでウェイトを出しておいてベクタ割り込みでメモリやUARTの働きをする。UARTを除くモジュールの雑なテストはすでに成功。ところが、ちょろいと思ったUARTがダメ。PICで普通に動かしてみるだけの試みがいまだ成功していない。 UARTのテストは慣例にしたがい端末にハローワールドを表示したあと入力のエコーバックをやってみるやつ。ハローワールドは成功。しかし入力のエコーバックができない。見てもしかたがないと思うが、いちおうスクショを貼っておく。受信ピンは製造元推奨のRA7、初期設定から受信までマニュアルどおりの手順。不幸中の幸いで送信はできるからあちこちのフラグを表示してみたら入力をしても受信可フラグが立た

    PIC18F47Q43のUARTで悩む
    zu2
    zu2 2022/01/13
  • SBC6809Eが完成

    [2022/2/2追記] MC6883は高速モードだとDRAMのリフレッシュをしないようなのでEPROMには標準モードまたはマップタイプ#0アドレス依存モードのBASICを書き込んでください。その際EPROMにはBASICの先頭アドレスが$E000となるように書き込みます(SBC6809と同じ)。 レトロCPUがまだレトロではなかったころMC6809EとMC6883を入手した知人が自作のコンピュータを見せびらかしに来て以来ボクはずっとそれらに憧れがあった。MC6809Eは比較的入手しやすい。MC6883は少なくとも国内だと入手困難。何かの機会にそんな話をしたところRetro PC Galleryを運営するはせりんさんが手持ちのMC6883をプレゼントしてくださった。おかげで下のようなコンピュータを完成できたから情報をまとめておく。 SBC6809E全回路図(PDF)-SBC6809E_sc

    SBC6809Eが完成
    zu2
    zu2 2022/01/06
  • SD8031のハードだけ完成

    電気が1979年に発売したパソコンPC-8001をいまだ後生大事に持っている。使う面白さはもう十分に味わって、ここ数年は電子工作の対象。その一環として製作した拡張基板のひとつが下に示すSD8031。フロッピーディスクドライブPC-8031のエミュレータでフロッピーディスクのかわりにSDカードを使う。見た目はまあまあカッコいいでしょ。 ファームウェアの開発効率を考慮してマイコンはATmega32A、回路の要所はMightyCore互換。したがってこちらの説明にしたがいArduino IDEが対応するし同ライブラリが使える。マイコンにブートローダを書き込むところが難関かと思うが、みんな持ってるTL866で書き込めた。これでSDカードの取り扱いもポートの振り方も自由自在(のはず)。 ※画像の回路図をクリックするとPDFの回路図が開きます。 USB-シリアル変換アダプタとGroveがつながるよ

    SD8031のハードだけ完成
    zu2
    zu2 2021/12/04
    “フロッピーディスクドライブPC-8031のエミュレータでフロッピーディスクのかわりにSDカードを使う。見た目はまあまあカッコいいでしょ”
  • 8752同等品でBASIC-52が動いた

    インテルがMCS-51ファミリーのために作ったBASIC-52は組み込み用のCPUでここまでやるかってくらい高機能。ぜひ動かしてみたいと思い、先達の製作例を調べたら、ああそうか、高機能なんだから回路も複雑になるわけだ。でもさ、美味しいところだけ安直にいただきたいよね。てことで、機能の一部を捨てるかわりに回路をぐっと簡略化したのが下に示すMCS8051。うまいこと動いちゃったので、ここに情報をまとめておく。 MCS8051ではBASIC-52をCPUの内蔵ROMに持たせて外部ROMをなくした。その結果、外部ROMはもちろんのことアドレスデコーダやプルアップ抵抗など多くの部品がごっそり不要となった。詳細は下のMCS8051技術資料をご覧いただきたい。引き換えに捨てた機能は、外部ROMからデータを読み込むXFER命令とか、外部EPROMに書き込むPROG命令とか、まあだいたいそのあたりかな。こう

    8752同等品でBASIC-52が動いた
    zu2
    zu2 2021/08/23
  • SBC1802最終版が完成

    RCA(インターシル/ルネサス)のCDP1802、通称COSMACはレトロCPUの実物を動かしてみる趣味と相性がいいと思う。ガリレオに乗って木星へ行った実績があり、微妙に偏屈な仕様を備え、速度はともかく低消費電力を目指した点が個性的。すなわち、夢と壁と設計上の目標が揃っている。そりゃあ挑戦するよね。出来上がったのがこちら、SBC1802。 CDP1802はインテルのCPUを基準にすればプログラミングモデルが偏屈だがハードウェアはまあ普通。特に8085とよく似ていてメモリまわりはSBC8085のコピペで完成。32KバイトのROMとRAMをつなぐもっとも簡単な構成だからアドレスデコーダは74HC04の1素子しか使わない。残り5素子がもったいないのでステータス等のインジケータを付けた。 まだ消費電力がどのくらい低いかわからない段階で作った試作機がこちら。バスパワーで動くだろうとは思ったが、ぜんぜ

    SBC1802最終版が完成
    zu2
    zu2 2021/05/31
  • 実はCOSMACやってます

    1970年代のCPUを語って間もなく14年めに突入するこのブログでいまだCOSMACに一言も触れていないのは恥ずかしながらその存在を知らなかったから。知ったのは3年前、世界で最初のCMOSマイクロプロセッサはHD6303だよねってツイッターで言ったらほうめいさんが違うよCOSMACだよと教えてくれた。いまさらわかったような解説をするのもどうかと思うので概要はWikipediaのRCA 1802にお任せする。実物(同等品)はこれね。 COSMACの実践的な情報源は、世界的にはThe 1802 Membership Card、日ではCOSMAC研究会かな。実物を入手したあと動かしかたで悩んでいたらCOSMAC研究会のかんぱぱさんがCPUボードとプログラムローダーボードをプレゼントしてくださって、とんとん拍子にLチカへ到達。おかげでハードウェアの構造はほぼ理解できた。ソフトウェアは勉強不足だが

    実はCOSMACやってます
    zu2
    zu2 2021/05/31
  • SBCV20のソフト開発

    前回の投稿に続きSBCV20のソフトウェアの話。最初にネイティブモードのハローワールドとエコーバックテスト(受信割り込み付き)でハードウェアの動作を確認。次に、エミュレーションモード(CPU判定付き)で同じことをやって8080の機械語の動作を確認。参考までにソースをGistに貼っておく。これで8080の機械語の、いわば入れ物が完成。あとはいまハローワールドとエコーバックテストが書いてあるところにBASICを埋め込むだけ。 8080とV20はROM、RAMの順序が逆なので、8080のBASICは前後を入れ替えてからV20へ持ち込むことになる。その入れ替えがしやすいように、8080のBASICをあらかじめアドレス非依存に書き直しておく。この過程で1バイトのRST命令を3バイトのCALL命令へ置き換えたが、先頭のスカスカな領域が詰まって、全体では1バイト減。これをSBC8080で動作確認。実行速

    SBCV20のソフト開発
    zu2
    zu2 2021/02/14
  • SBCF8が完成

    F8(3850/3853)で動くシンプルボードコンピュータSBCF8は最大の難関だったタイニーBASICの移植に成功し、このたびようやく完成にこぎつけた。SBCF8の大きな特徴は下に示すとおりSBC8080サブボードと接続してそのメモリと8251を利用するところ。特にF8を8251と組み合わせて端末制御する仕組みは世界で最初に実現した快挙、だと思う。 SBCF8の成果を第三者に検証していただけるよう、技術的な資料を下に公開する。最後まで苦しめられたタイニーBASICはデータパックに含まれる。そのソースは一見ダセぇ書きかたをしており、もうちょっとどうにかならないかと言われることが予想されるため、アセンブラを一緒に入れておいた。やれるもんならやってください。 回路図-sbcf8sch.pdf 部品表-sbcf8bom.pdf データパック-sbcf8_datapack.zip(2.44Mバイト

    SBCF8が完成
    zu2
    zu2 2021/02/14
  • 手ごわいぞF8

    SBCF8は固有の装置が端末だけなので、普通、端末制御サブルーチンを書けばプログラムの移植が完了する。なのにいまだタイニーBASICを動かせないのはボクがとろいからではなく、いやまあそういう側面はあるにしろ、大きな理由はF8が普通でないからだ。ボクが書いた端末制御サブルーチンは、hello, worldを成功させたものの、タイニーBASICで使えるかどうか判断しきれていない。そのへんの事情を理路整然と説明してみる。 1.SBC8080サブボードの8251を流用するという妙案が仇となる SBCF8はSBC8080サブボードと組み合わせてそのメモリと8251を拝借する。メモリは問題ない。8251は、8080だとIOアドレスに割り当てるが、F8のIOアドレスは内蔵IO専用だから、SBCF8ではメモリアドレスに割り当てた。これが問題の芽となる。でもさ、SBC8080サブボードと組み合わせるのは経済

    手ごわいぞF8
    zu2
    zu2 2021/02/14
  • F8でLチカとhello, worldに成功

    F8開発ボードとSBC8080サブボードの組み合わせでLチカとhello, worldに成功した。これでF8の基を理解できたといえる。ただし、製作の過程でいくつかの小さな間違いを修正している。そのへんを述べた上で、番のボードSBCF8を披露したい。情報不足で行き詰っていたとき貴重な資料を提供してくださったtendai22plusさんに感謝します。 F8開発ボードで最大の冒険はSBC8080サブボードとつないでメモリと8251を流用するところ。すなわち、風変わりなF8の構造で普通のメモリと8251を動かせるかっていうこと。信号の遣り繰りは、たぶん試行錯誤が必要だと思ったのでGALに押し込んだ。F8開発ボードにSBC8080サブボードを乗せちゃうと見えないんだけど、ここね。 最初のテストはLチカをやるのが普通だが、当初はサブルーチンの呼び出しかたがわからず、点滅の間隔をとるために遅延を入れ

    F8でLチカとhello, worldに成功
    zu2
    zu2 2021/02/14
  • 電脳伝説

    パラレルのLCD(液晶表示器)は現在だともっぱらマイコンの汎用ポートで制御されるから、どうかすると「訳のわからん独自インタフェース」なんて説明される。なに言ってくれちゃってんだろうね。当のところあれは68系バスで、実際、68系CPUだと直結して動かすことができる。はい、やって見せましょうってことで作った拡張基板を下に示す。 LCDにはCS(チップセレクト)がなくてEで兼用することになっている。そのためCSとEのANDをとってLCDのEへ入れる。その部分にちょっとしたロジックが必要で、うるさくいえばEが直結でない。あとは疑いようのない直結。LCDまわりの回路を下に示す。CSとEのANDをとるロジックは、拡張基板だと7400のNANDを3個使って構成している。 68系CPUの代表格はMC6800で、それを載せたSBC6800が手もとに売るほどあるが、困ったことにバスが外部へ出ていない。接続し

    電脳伝説
    zu2
    zu2 2020/10/08
  • V20はじめました

    話せば長いあれこれをごっそり省略して言うと日電気のμPD70108いわゆるV20で平凡なコンピュータを作ることにした。オレンジピコショップでV20と、勇み足で来は不要な128KバイトのSRAMを調達。これで8080のエミュレーションをやってGrant’s BASICを動かすのが当面の目標。先々はZ80onSTM32やレトロシールドみたいに周辺部品をマイコンボードで代替するのが目標だが、それは話すと長いから省略したあれこれに含まれる。 V20の動かしかたは8088と同じ。厳密にはクロックの使いかたが違うが、V20は8088のクロックで動くし、専用のクロックもピン互換のクロックジェネレータで作ることができる。したがって設計は以前tomi9さんに作ってもらったSBC8088を流用。動作確認用のhello, worldもそのまま使えると思う。上位互換のCPUとはこんなに楽なものかと実感。 回路

    V20はじめました
    zu2
    zu2 2020/10/08
  • F8はじめました

    秋葉原のコテコテな一帯から少し離れたところにあるaitendoはレトロCPUを気まぐれに並べてくれるから油断がならない。ついこの間はフェアチャイルドF8ファミリーを五月雨式に売り出した。3853かよそれだけあってどうせいっちゅうねんと無視した翌日に一式が揃って瞬殺、日々後悔していたところ、運よく少量再入荷したやつにあり付けた。 F8の構造は、仮にインテルの構造を普通の基準とすれば、ものすごく変わっている。そのことは、このブログにたびたびお越しくださるDAIさんからきいていたが、実物を手にして真剣にマニュアルを読むとつくづく実感する。こういうのわくわくするよね。いろいろ検討した結果、3861は置いといて、3850と3853で動かす回路を描いてみた。 別窓でPDFの回路図を開く 実物のメモリをつなぐとプリント基板がサービスサイズに収まらないから拡張コネクタを出しておいてSBC8080サブボード

    F8はじめました
    zu2
    zu2 2020/10/08
  • 6809Eと8051を買う

    Google codeにGNU C Compiler for the Motorola 6809 processorというプロジェクトがあって6809対応gccのCygwinのバイナリが配布されている。豊四季タイニーBASICの6809版はソースに手を加えてSmall Cでコンパイルするつもりだったが、gccならそのまんまいける。ぼくはgccのツールチェインのインストールが苦手で、バイナリを入手したにもかかわらずアセンブラがうまく動いてくれないのだが、その前の段階、つまりコンパイラでアセンブリ言語のソースを出力すること(コマンドでいうとgcc -S ttbasic.c)に成功した。ここまでくれば、あとはいずれ何とかなると思う。 6809のコンピュータは、いちおう、もうできている。下に示すとおり、CPUが6809、パラレルインタフェースが6821、シリアルインタフェースが6850というなかな

    6809Eと8051を買う
    zu2
    zu2 2020/07/18
  • SBC6800のプチ改造で6502を動かす

    つねづね6502を動かしてみたいと思っていたところ、ツイッターに画期的な情報があがった。ほうめいさんが無改造のSBC6800とゲタで6502を動かせるとツイート。最終形がまごころせいじつ堂のSBC6800を改造せずに6502を動かす&unimon_6502の移植にまとめられている。後を追ってボクなりのやつを作ったので経緯をまとめておく。ボクはプチ改造してるし6502の一部品種に完全対応していないけれど工数がいくらか少ない。 SBC6800で修正が必要なのは下の回路図の赤字部分。X印は切断、▽印はプルアップ。ほうめいさんと違うのはプルアップを抵抗なしの電源直結にして手抜きしたところ。その一環でRDY(2番ピン)を現状のまま電源直結としている。RDYはW65C02でWAI命令を実行したときLを出力するから当はまずい。しかし元祖6502やR65C02などは(たぶん)大丈夫だと思うのでW65C0

    SBC6800のプチ改造で6502を動かす
    zu2
    zu2 2020/04/17
  • WRT8755を暫定的に完成とする

    WRT8755(8755書き込み装置)は手作り基板で動作確認した製作物の焼き直しだからちょろいと思っていたら唯一の変更点、書き込み電圧25Vを作る昇圧回路でつまずいた。詳しく言うと製作過程のテストではきっちり25Vを出していたのに完成したら30V付近をふらふらして安定しない。しかたなくアドリブで変更したかもしれない部品をもとあったんじゃないかと思われる部品に戻してみながら原因を追究。記憶が曖昧で迷走を極める。 スルーホールにハンダ付けした部品を取り換えるという苦行に耐えて数日、原因が判明。ICソケットのMC34063をNJM2360に挿し替えたら安定的な約25Vが出た。MC34063とNJM2360はピン互換だが電気的特性に差異があるらしい。MC34063は手持ち5個が全部ダメ、NJM2360は手持ち2個が全部OK。SBC8080の12Vの昇圧回路では問題にならなかったから、電圧が出力可能

    WRT8755を暫定的に完成とする
    zu2
    zu2 2019/08/05