マイコン

マイクロプロセッサ・マイクロコントローラ等です。

V60ボード(ソフトウェア編 その2)

2025-08-23 18:10 — asano

動かなくて悩んでいた例外処理ですが、わかってみれば簡単なことでした。

例外関係をもう一度始めから実装しなおしてみました。今度は一歩ずつ確認しながら進めていったのですが、やはり変です。デバッグ用にストア命令を追加したりするととたんに動作が変わってしまいます。

広義のprintfデバッグです。HEXOUT8ルーティンなどを使ってコンソール出力するのも手ですがそれだとスタックを消費するのでMOV R0,/0F80Hなどとしてメモリに書きます。EMILY Boardではプロセッサの状態にかかわらずメモリを読めますのでこれで十分です。

どう考えても関係なさそうなところを変更しても影響が出ます。

なにか重大な勘違いをしているのではとリファレンスマニュアルを読み直していると……

割込・例外のハンドラはワード境界になければならないと書かれているではないですか。

ハンドラは後ろの方にあるので変更のたびにアドレスがずれてこの条件を満たしたり満たさなかったりしたようです。各ハンドラの前にALIGN 4を追加したところ安定して動作するようになりました。

V60ボード(ソフトウェア編 その1)

2025-08-17 13:37 — asano

テーマ

カテゴリー

前回書いたようにモニタ移植して例外処理を調べていたのですが、先日遂にコロナに罹ってしまいあまり進捗していません。

そこで現時点でのまとめを書いておこうと思います。

Universal Monitorの移植は基本MC68000用をベースにL(oad), P(unch)コマンドについてはH8/300H用を元にしています。この辺りの事情はNS32016のときと一緒です。早くMC68000用も長いアドレス対応しなくては。

いつものように移植にあたって気付いたV60の特徴を挙げてみます。

V60ボード(ハードウェア編)

2025-08-07 18:10 — asano

テーマ

カテゴリー

一昨年のNS32016ボード以来なので一年半ぶりになるEMILY Board用のプロセッサボードになります。


ということでNECのV60(μPD70616)を載せたボードです。

EMILY Board使用なのでアドレスデコーダが不要(普通はROMとRAMが必要でアドレスデコードは必須)なおかげで部品点数は最小限で済んでいます。

NSC800 ADAPTER for SBCZ80

2025-08-01 22:13 — asano

テーマ

カテゴリー

昨日予告したマイコンボード、Z80180-Z80 ADAPTER for SBCZ80などとともにはせりん@haserin09さんから頂いたボードです。


SBCZ80のZ80 CPUの代わりにNSC800を搭載できるアダプタです。

当時まだ動作確認が取れていないので製作は待ってと言われていたものですが、3月頃に確認の取れたJEDECファイルを頂きました。それから部品を揃えたりしていたのですが……

Super AKI-80を動かしてみた

2025-05-03 23:32 — asano

テーマ

カテゴリー

秋月の2階にてしばらく前からSuper AKI-80の基板のみを280円という安価で販売しています。SuperではないAKI-80は持っているので様子見していたのですが、結局値段につられて買ってしまいました。


基板のみとはいっても表面実装部品は実装済みです。

CPUは東芝のTMPZ84C015BF-12, RAMは32k×8bitのSRM2B256SLMX55が載っています。他に74VHCのロジックICが4つあります。その他の部品は各自で揃える必要があります。

NSC810

2025-04-18 22:26 — asano

テーマ

カテゴリー

ちょっと理由あってNSC800を追加購入しようとしまして、ショップを見ていたところNSC810もあったので一緒に注文していました。


National Semiconductor製のNSC810AN-3I、1987年製のものです。

このNSC810というのは次の機能を持っています。

  1. 1024bit(128×8bit)RAM
  2. Parallel I/O 22本
  3. 16bitタイマ ×2

なんか8155/8156とそっくりなデバイスですね。RAM容量は半分、タイマは倍の2本、I/O本数は一緒です。

UA6527P

2025-02-15 18:24 — asano

テーマ

カテゴリー

またちょっと変わったデバイスを調達してみました。


UMCのUA6527P、デートコードが1810だから2018年製…… いや、まさか、2018年まで作ってるとは思えないからリマーク品ですね。

このUA6527というのはRP2A03の互換品、つまりはファミコン互換機のためのプロセッサです。

RP2C02 PPUの互換品UA6528というのも存在します。

既にRP2A03は持っていますが、買おうと思った理由は2つあります。

一つはRP2A03を1つしか持っていないので予備が欲しかったこと。

80386DX と 80387DX

2025-02-12 23:24 — asano

テーマ

カテゴリー

今回のものは一世を風靡したプロセッサです。


Intelの80386DXです。80386には16ビットバスの80386SXと、32ビットバスの80386DXがあり、これは後者です。

これの前の80286は高速な8086として使われることがよくありました。

拡張された16Mバイトのメモリ空間を活用するためにはプロテクトモードを使用(専用のOSも必要)しなくてはならず、このモードではMS-DOS用の過去のソフトウェアを実行することができません。モードは自由に行き来は出来ないので、過去のソフトウェア資産を捨て去ることができない(多くの)人はせっかくのプロテクトモードを活用できませんでした。

AMD Am29030

2024-12-25 23:15 — asano

テーマ

カテゴリー

AMD Am29000でAm29030買い直した方がいいかもと書きましたが、結局買っちゃいました。


25MHz版のAm29030-25GCです。

金色のフタ付きパッケージでこちらの方が豪華に見えますね。

前回写真は出しませんでしたがAm29000の方は裏(ピン側)にフタが付いていました。

周囲にある金の帯は何でしょう? このような位置にキャパシタの載ったものはたまに見かけますが。

INMOS IMST805

2024-12-22 23:39 — asano

テーマ

カテゴリー

さらにこんなのも買ってしまいました。


INMOS IMST805といってもピンとこないかもしれませんが、Transputerといえば「あぁ昔そんなのあったな」と思う人も多いかもしれません。プロセッサ間を簡単に接続する"Link"という機能があり、多数を並べてマルチプロセッサ構成を容易に作ることができました。

そのマルチプロセッサを活用するために"Occam"と呼ばれる平行プログラミング言語が作られ、TransputerとOccamはペアとして扱われることが多かったようです。

ですが、私はプロセッサの生のアーキテクチャを体験することを目的としているのでアセンブリ言語でゴリゴリ書くつもりです。

ということでその特徴を見ていきます。