SSブログ

「モトローラ6800伝説」で遊ぶ 6809編その7 [マイコン]

vinatgechips さんのホームページにMSBASICが動いたと報告が出ました。
すでにROMデータも公開されていますが、それを見ずにやってみようとしました。

ネタもとであるGrant 氏のシステムは、ROMが$E000から、RAMは$0000からになっていますから、
RAMの最終アドレスが書いてあれば修正が必要ですが、見あたりません。
ACIA(UART)のアドレスが$FFD0なので$8018に変更します。
また、115200 Baud の通信速度とのことなので、9600 Baud にしたければ変更します。 (ここ間違い)
RTS_LOWという変数名のところです。
あっ、いや違う。インターラプトは使っていないので、$95での初期化はダメだ。
$15でないと。

ここまではわかりました。
わからなかったのは、RAMエリアであるはずのアドレスに、
GETNCH INC
BNE
INC
GETCCH FCB $B6
CHARAD RMB 2
JMP BROMHK
こんなコードがあります。(全部は出しません。)
FCB $B6
RMB 2
なんて、トリッキーなことしています。
これではROMに持って行けません。
でも、Grant 氏も無視しているように思います。
シリアル通信のみなら使わないのでしょうか、ひとまず、無視します。

これで一度動かして見よう。
と言うことで、カンニング。
あれ、
COMPARISON て、ラベルではなく、前の行のコメントが途中で改行されて落ちてきただけですか。
良く見つけられたものです。すばらしい。
MSBASIC1.jpg
動いた、でもお見せできないけどなんか変。
また、アセンブラX6809.exeが
FCB '*+$80 A8
FCB '/+$80 A9
FCB '^+$80 AA
この辺りを上手くアセンブルしていないようだ。
nice!(0)  コメント(0) 

FlashAir て、何だ? [電子工作]

ああ、またにんじんがぶら下がったようだ。
不完全燃焼するのだろうなあ。
nice!(0)  コメント(0) 

mbedでインラインアセンブラ [マイコン]

どれもこれもよくわからないが、

main.cpp
://Nucleo_blink_led2
:#include "mbed.h"

:DigitalOut myled(LED1);
:DigitalOut myout(D8);

:int main() {
: while(1) {
: myled = 1; // LED is ON
: myout = 0;
: wait(0.2); // 200 ms
: myled = 0; // LED is OFF
: myout = 1;

: __asm volatile
: (
: " NOP \n"
: " NOP \n"
: " NOP \n"
: " NOP \n"
: );
: wait(1.0); // 1 sec
: }
:}

これでよいのか?  とりあえずは、エラーが出ない。
できあがったバイナリファイルはNOPが無いときより6バイト増えている。
しかし、わからないのは、NOP1つでは無いときと変わらない。

次はもう少し中身のあるアセンブラにしよう。

あっ、: はスペースが消えないように入れただけで、
本当はありません。でも、消えているなあ。インデントはどうするのだ。

追記
見つけました。
STM32マイコンでアセンブリしたい!(インラインアセンブラ編)
http://blueeyes.sakura.ne.jp/2018/01/23/825/

nice!(0)  コメント(0) 

Z80 覚え書き [マイコン]

中日電工さんのND80Z3.5を持っていまして、
このたび、新マイコン独立化セットを注文しました。
届くのが楽しみです。

で、このボードはZ80で動きますが、乗っかっているCPUは、ZilogのZ84C0006PECです。
よく考えると、初期の頃は、Zilog製のZ80は見たことがありませんでした。
始めて入手したZ80は、MOSTEK製でした。その後はSHARP製をどんどん見掛けるようになり、
価格も暴落状態でしたので、少々お高いZilog製は見掛けることは無かったのかもしれません。
そこで、手持ちのZ80CPUを抜き出しました。

MOSTEK MK7880 NMOSです。
SHARP LH0080(A) NMOS
LH5080 CMOS
NEC uPD780C NMOS Zではなく7になっています。
uPD70008AC CMOS
TOSHBA TMPZ84C00 CMOS
Zilog Z84C0006PEC CMOS
変わり種
NS NSC800D     CMOS ソフトウエア互換
複合 
TOSHIBA TMPZ84C011 FP
TMPZ84C013 PLCC
TMPZ84C015 FP
複合かつMMU付き
HITACHI HD64180RP SDIPは512MBまで、PLCCは1MB
HD64180ZCP 制御信号がZilogタイプ
KAWASAKI KL5C80A12CF
KL5C80A16CF     1MBまでだったはず
Zilog Z8018010VSC

こうしてみると、Zilogの現在のラインアップ
Z84C00はTOSHIBAのTMPZ84C00の、
Z80180はHITACHIのHD64180Zのセカンドソース、本家帰りなのでしょうね。

そして、Z80からの鞍替えを狙ったのが、
TOSHIBA TLCS-90シリーズ、TMP90C841
NECの78のつくシリーズも、オリジナルと言いながら、
レジスタがA,B,C,Dと続くZ80を意識した作りになっています。

忘れてはいけないのが、
忘れられた
Zilog Z8028010VSC
いわゆる、Z280です。
nice!(0)  コメント(0) 

EEPROM覚え書き [マイコン]

先日、こちらで

http://daisan.blog.so-net.ne.jp/2018-01-08

2716を数個仕入れることにしました。
入手はできましたが、ふと、
Atmelに2716相当のEEPROMがあることに気づきました。
AT28C16です。
もう少し早く気づいていれば、と思いながらも、
ポチッとしてしまったのでありました。

AT28C64もあるのか。2732相当は無いようだ。

nice!(0)  コメント(0) 

ダイニチ ファンヒーター 換気サインの嵐 [故障と修理(その他)]

もう5年目になるダイニチ ファンヒーター、
またまた換気サインの嵐になった。

昨シーズンも換気サインが出まくり、最後に「HHH」のエラーになり動かなくなった。
こちら
http://daisan.blog.so-net.ne.jp/2017-02-14

このときはフレームロッドのみを磨いただけでした。

これのセンサーとしての働きは、炎の中にあるイオン化したガスに電流を流して、
その抵抗値の変化で不完全燃焼を判断していると理解した。

と言うことは、もう片方の電極に相当するバーナーの金網も掃除する必要があるはず。

と言うことで、今回はフレームロッドと金網を磨いて掃除した。

ついでに気化器も分解。こちらは頑固な汚れはなかった。

今のところ、換気サインは出ていません。
が、何かでシリコン使っているのでしょう。いずれまた掃除が必要になるでしょうね。

1月20日追記
カウンタの上がりが早いので、きっと同じ目に遭っている人が多いのでしょうね。
私はこちらを参考にしました。
https://takubeya.com/fw-477lx_4/

現在まで、換気サインは出ていません。

1月30日追記
また出るようになったので、昨夜分解掃除をしました。単に磨くだけではダメなのかもしれない。
とりあえず、フレームロッドから基板に繋がるコネクタをいったん外してもう一度つなぎました。
このコネクタの接触不良を疑っています。次は、基板上の部品か・・・。
nice!(1)  コメント(0) 

「モトローラ6800伝説」で遊ぶ その5 [マイコン]

6800S.jpg
一番下がブルガリアから届いたCM601なんだけど、
マークが消えて読めない。そこがCM601なる所以かもしれない。

写真の三つとも1.33MHzで動きました。

nice!(0)  コメント(0) 

「モトローラ6800伝説」で遊ぶ その4 [マイコン]

現在CPUを交換できる状態なので、ちょいと実験をしてみました。
ほうめいさんのTwitterで

SBC6800 ちょっぴりクロックアップ成功 1.33MHz
mc6800crgen.cの PR2=5; CCPR1L=3; に変えてみた

とあったので1.33MHzにした上で、CPUをノーマルMC6800PとこすれMC68A00Pの両方をためしてみた。

結果、どちらもMIKBUGが動きました。

予想を外しました。
nice!(0)  コメント(0) 

ピギーバックCPUの覚え書き [マイコン]

PPCPU.jpg
左から
HITACHI HD63P01M
言わずとしれた、MOTOROLAのMC6801をCMOS化したものです。
使用可能なEPROMは4KBytesの2732 もしくは、8KBytesの2764 です。

ZILOG Z8603
Z8シリーズです。
EPROMは2KBytesの2716 です。

TOSHIBA TMP90G840E
これは、東芝のTLCS-90シリーズの一種です。
内蔵レジスタは、Z80を拡張したようになっています。
ただし、パッケージは、シュリンクDIP64pinです。
データシートは、TMP90CG841用が見つかりました。
内蔵ROMは8KBytesなので、2764ですが、27128を使っている例があります。

MOSTEK
MK38P70
FairchildのF8をワンチップ化したものです。
EPROMは、4KBytesまでですが、MK38P70にはいくつかタイプがあり、
写真のタイプは、MK97501と言い、2732、2764がつけられます。

と言うことで、2716をもう少し仕入れておこう。
2764はAT28C64が使えるかな。
nice!(0)  コメント(0) 

「モトローラ6800伝説」で遊ぶ その3 [マイコン]

SBC3078.jpg
私は、素手で基板をべたべた触るのはよしとしません。
なにか適当な物はないかとさがしたところ、
ダ○ソーでこんな物を見つけました。
商品名は、「アクリル陳列台A」です。
サイドをカットしたり、ネジ穴を開けたりと加工が必要ですが、
そのままよりましかなと思っています。
下に敷いているカッティングマットも一緒に買ってきました。
nice!(0)  コメント(2) 

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。