So-net無料ブログ作成
  • ブログをはじめる
  • ログイン
前の15件 | -

64bit Windows でアセンブル [マイコン]

MS-DOS時代をしらない人のために。

電脳伝説vintagechipsさんが始められたルーズキットも800 6809 6303 8080 8085 Z8
と対応CPUは増え続け、多くの方々がよってたかって盛り上がりを見せています。

これらCPUのソフト開発は、アセンブラが基本の様に思います。

アセンブラと言えば、アークピットさんのアセンブラが幸いにもこれらCPUに対応していますが、いかんせん、MS-DOS時代のソフトで、64bitWindoes環境ではそのまま動きません。

そこで私の行っている方法を書いておきます。

jまず、作業用のフォルダを作ります。とりあえず、デスクトップにworkと言うフォルダでよいです。
このフォルダにアークピットさんのアセンブラをコピーします。6800用なら、X6801.EXEですね。
これを64bit環境で動かすには、MS-DOSプレイヤーを使いますので、64bit用のmsdos.exeも一緒にコピーします。
つぎに、テキストエディタもしくはメモ帳で、
msdos X6801 %1
という中身のファイルを
assembl.bat
と言う名前で同じフォルダに保存します。名前は何でも良いですが、batとするのがミソです。
これで用意ができました。
アセンブラのファイルを用意しますが、とりあえず、vintagechipsさん作のHELLO.ASMをフォルダにコピーします。
動かし方です。
HELLO.ASMをマウスでドラッグ、assembl.batにドロップするとX6801.EXEがDOS窓で動きます。
とりあえず、Enterキーを数回たたくとフォルダにHELLO.Sができています。


アークピットのホームページ
http://archive.fo/yae0K#selection-383.0-378.2

MS-DOS Player for Win32-x64
http://takeda-toshiya.my.coocan.jp/msdos/
nice!(1)  コメント(0) 

近況 [その他]

最近、と言うか、3ヶ月前くらいからこのブログに貼り付けた画像が表示されなくなった。
どうも、このパソコンからSo-netのブログを開いたときのみのようようだ。
これを機会にWindows10のパソコンに変えようかな。
でも、軍資金を貯めないといけないので、しばらく活動を控えめにする必要がある。

悩みどころだ。
nice!(0)  コメント(0) 

XILINX iMPACTを使った書き込み [電子工作]

XILINX iMPACTを使った書き込みについて、まとめました。

http://www.page.sannet.ne.jp/je3nqy/pld/imppact10/iMPACT10.html
nice!(1)  コメント(0) 

68katy-ae cpldの書き込み [マイコン]

iMPACT10.jpg
XILINXのXC9532にiMPACT10.1を使って書き込み。
写真に写っているのは、中華クローン。接続しただけでドライバーもインストールされ、(3つ組み込んだみたい。)認識されています。
書き込みも無事終了したのですが、書き込んだjedファイルが違っており、もう一度書き込んだところ、Faildの表示。
いろいろいじってみると、どうも、verifyでこけているようだ。
Readbackって、チップからデータを読み出すことなのだろうか。コレをやってみると、微妙に元データと違う。

Device ID は読み出せるから、通信は確立しているはずだ。

書き込みテスト環境を別に作って見ようか。
nice!(0)  コメント(0) 

ブログ画像の表示 [その他]

最近、このブログの画像がうまく表示されていない気がする。
nice!(0)  コメント(0) 

LPC810を使ったコンソール 2 [電子工作]

cons810.jpg
ようやくテストしました。
TXDとRXDをショートさせると、キー入力文字が表示されます。

メモ
NTSCの信号は、V P-P 1V 一応、75Ωで。
nice!(1)  コメント(0) 

SBC6809+6309 リセット対策 [マイコン]

6309DS1233.jpg
SBC6809ボードに6309をつけたときの立ち上げ時の不具合も何とかしようとDS1233を取り付けた。
R2,C1,D1を取り払うと、うまい具合、Vdd,RESET,GNDのホールが集まっている。

現状では、シリアルラインに抵抗をかましてパワーオンで動きます。しかし、その後のスイッチOFF ONではホットスタートしかしません。
DS1233を取り付けたところ、シリアルラインに抵抗をかまさずにパワーオンで動きました。そのままスイッチをOFF ONすると、コールドスタートはしてくれないのは同じです。シリアルラインに抵抗を入れても変わりません。

そこで、tomi9さんの指示に従い、500Ωを電源ラインとGNDの間に入れます。と言って、1kのチップ抵抗(1608)2個をコンデンサの足に挟み込み半田付け。

これでいつでも正常に立ち上がるようになりました。

それにしても、よくわからない。SBC6303はオールC-MOSにもかかわらず、500Ωの抵抗なしで動く。
こちらはロジックICがLSTTLなのに500Ωの抵抗が必要。

いずれにしても、シリアルラインからの漏れ電流は害にしかなりませんね。



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

SBC6303 リセット対策 [マイコン]

6303DS1233.jpg
SBC6809ボードでもC-MOS化すると立ち上げ時の挙動がおかしかったが、SBC6303ボードでも問題になっている。
とりあえず、間違いなく動くボードにしておこうと、リセットICをつけてみた。
型番は、DS1233-10です。
はじめの意味なし文字は、シリアル接続時のノイズなので無視してください。
電源スイッチのON OFFが3回、リセットスイッチ2回です。

改造は、D1とR2の取り払い、C3を10uFから0.01uFセキセラに変更、チャタリング対策用に変更です。
取り払った、D1R2の所に、Vdd,RESET,Vssが並んでいたので、ここにDS1233を取り付けました。
nice!(0)  コメント(0) 

リセットIC考 [マイコン]

「考」と書きながら、単なるだらだら覚え書きです。
vintagechips さんのSBCマイコンボードシリーズ、C-MOSで構成すると、パワーオンリセットがうまくいかない件、当時からいろいろ問題になっていたのではないかと、トラ技の目次を検索してみた。

1983,6,電源電圧監視用IC TL7700シリーズ
1985,3,リセット用ICの実験,マイコンの電源監視などに利用する
1991,2,システム・リセット用ICの実験,マイコン・システムの信頼性を上げるため
1992,5,ウォッチドグ・タイマ内蔵のリセットIC NJM2102,
1994,6,クロック&リセット周辺回路の設計,電源ONからマイコンを動作させるまでの回路
1996,4,リセットICのノイズ・マージン評価,読者の実験室,
2001,8,電源投入直後のリセット状態を保持できる 外付け部品の要らないリセットIC S-801シリーズ
2002,9,マイコン回路のトラブル事例とその対策,リセット,割り込み
2004,1,マイコン関連回路,外部メモリ接続,バックアップ,リセット,I/Oなど
2004,7,確実に動作するマイコン・リセット回路
2011,4,リミッタ/コンパレータ/リセット/サ
2012,10,リセット解除後のマイコンの動きを徹底研究,電源を入れたのに動かない
2015,5,第2章 百戦錬磨のマイコン周辺回路,リセット回路

残念ながら、80年代はもう手元にない。でも、問題の解決策としてリセットICを採用したように思える。
さて、手持ちのリセットICを探し出した。
ミツミ PST520 PST524  これは初期の物だと思われる。バイポーラでオープンコレクタ。外部に2.2kでプルアップが必要。OCなので、スイッチによるリセットも可能。ただし、電流が多めに流れる。
セイコー(略) S-8054AL 秋月のAKI-80に使われていた。C-MOSタイプなので、外付け部品が要らない。逆にリセットスイッチの取り付けには工夫が必要。
マキシム DS1233 内部にプルアップ抵抗を内蔵したオープンドレインと言っていいのかな。
マイクロチップ TCM809 秋月で売っているが、これ、パッケージがSC70と小さい。出力がPush-Pullと書いてあるが、コンプリメンタリと同じ意味ならC-MOSと理解して良いのかな。なら、S-8054に似ている。

リセットの基準電圧は、大きく分けて、4V~4.5V辺りと、2.6V辺りに区分できるが、用途が5Vシステムと3.3Vシステムの違いだろう。

さて、どれで実験するかだ。

訂正
S-8054は、S-8054AL のように、LがつけばC-MOSです。Nなら、Nchオープンドレインです。
手持ちは、S-8054AL です。
DS1233には、D付きとDなしがあります。違いは、リセットスイッチ取り付けが考慮されている(Dなし)かいない(D付き)かです。
nice!(1)  コメント(6) 

新たな工具 [電子工作]

KOUGU_BUN.jpg
小物を作るときの補助工具で良い物は無いかと思っていました。
これまでは10均で売っていた万力におもりを入れて使っていましたが、どうも挟む力が弱い。
これ、居酒屋ガレージ店主さんのところからやってきました。
これなら、作業中しっかり固定できるので動き回ったりしません。
ほかの使い方もありそうだ。

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

L-Star をつくる 2 [マイコン]

L-Star3.jpg
まず、EEPROMへの書き込みですが、このEEPROMは、Propellerの外付けメモリという位置づけです。
なので、書き込みには、Propeller Toolを使います。
このPropeller Toolをパソコンにインストールし、USBシリアル変換アダプターを使ってL-Star基板と接続するのですが、直接接続しても動きません。上の回路図はPropellerデモボードの一部ですが、FT232RQのRXD,TXD,DTRが使用する信号で、DTRがトランジスタで信号を反転しています。
この部分をアダプターにしてみました。
FT232          L-Star
RXD-------TXD
TXD-------RXD
DTR-------!RES 反転のつもり
GND-------GND
信号はこのように繋がります。
TXD.RXDラインには、途中に100オームの抵抗を入れています。
DTR,RESに使うトランジスタは、2SC1815Yを使いました。
写真のアダプタは、もともとCH340Gアダプタを意識して6ピンにしたのですが、ボードは認識できても書き込めません。
そこで秋月のAE-UM232Rで書き込んだのが上の写真です。
方法は、
Propeller Toolをインストールし、基板を写真のように接続します。Propeller Toolを起動します。
基板の電源を入れます。
まず、Propeller ToolのメニューからRun->Identify Hardware を選択すると、何番のCOMポートに接続していいるかがわかります。エラーになれば繋がっていません。
繋がっておれば、ソースファイルを開きます。
ソースファイルは、githubにあるL-StarのZIPファイルにありますので、ダウンロードしておいてください。
\Software\Apple1のフォルダーにある、Apple1.spinが目的のソースファィルです。
このファイルをPropeller Toolで開いて、CTRL+F11で書き込みです。
書き込めたら、Propeller Serial Terminalを起動し、ボードをリセットしたらターミナルに出てきた文字が最後の絵です。
もう一度、CH340Gボードに交換してみると、この文字は出てきましたので、メモリへの書き込みだけができないようです。

今は、tomi9jpさんのこれはまだやっていません。

製作時の注意点
RAMがCPUと逆向きになっています。
nice!(0)  コメント(0) 

L-Star をつくる 1 [マイコン]

L-Star1.jpg
半田付け完了。 SRAMのソケットが逆です。ご注意ください。
現在、電源は、5V供給にしています。

次は、書き込みだな。

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

L-Star 準備編 [マイコン]

L-Star0.jpg
tomi9jpさんちからやってきたL-Star基板です。
Western Design Center のW65C02S6は持っていましたので挑戦です。

基板以外で必要なパーツは、
CPU W65C02S6TPG-14 WDC 1個 mouser
P8X32A-D40 Parallax Propeller 1個 秋月電子
SRAM AS6C1008-55PCN Alliance 1個 mouser/Ali
EEPROM 24LC512-I/P Microchip 1個 秋月電子
LDC LM1086-5V Texas Instruments 1個 樫木総業
LDO LM1086-3.3V Texas Instruments 1個 樫木総業
クリスタル 5MHz 1個 秋月電子
LED 1個
電解コンデンサ  47uF/16V 3個
積層セラミックコンデンサ    0.1uF 5個
470pF 1個
4700pF 1個 調整用
抵抗100オーム 3個
270オーム 1個
3.3Kオーム 6個
10kオーム 6個
RCAソケット 1個 秋月電子
Mini DIN ソケット6p 1個 秋月電子
DCジャック 1個 秋月電子
スライドスイッチ CS12AAP1 マルツ
タクトスイッチ 2個 秋月電子
ピンヘッダー
1x4p L型 1個
2x25p
2x5p 4個
1x2p 2個
ジャンパーピン 5個
ICソケット 40p 2個 32p 1個 8p 1個

そのほかに、
Propeller 書き込み用に、USBシリアル変換モジュール、
NPNトランジスタ1個、10k ,1個、100,1個、4.7uF 1個、0.1uF 1個、0.01uF 1個、LED 2個
が必要。
nice!(0)  コメント(0) 

LPC810を使ったコンソール [電子工作]

FM.jpg
オレンジピコさんから「LPC810 開発ボード(Console 810) 組立てキット」を購入した。
https://store.shopping.yahoo.co.jp/orangepico/p44gfnwyc0.html
組み立てはそんなに難しくはないが、LPC810にファームを書き込まなければならない。
手持ちのROMライターでは対応していないので、
こちら
を参考にした。

vintagechipsさん、いつもありがとうございます。
無事書き込めたかな。
電源のみ繋いでオシロで観察すると、規則正しいパルスが出ている。
とりあえずはここまでできたことにしよう。

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

SWTPC 4k BASICの改造 その2 [マイコン]

SWTPC 4k BASICが要求しているRAM領域は、主メモリとスクラッチパッドメモリがあるらしい。
このスクラッチパッドメモリがアドレス$A000でスタックポインタの領域になる。
肝心なことは、連続してはいけない。
理由は、主メモリの最終アドレスをチェックするため、$00を書き込んでチェックしている。

ならば、SBC6800ボードで使うときは、このチェックを止めて替わりに、
主メモリとして使うメモリの上下をアドレス$0044と$0045に書き込めば良いのではないか。

まずは、このアドレスに何が入っているか見ることにしよう。
MIKBUGにジャンプすればいけるかな。
コールドスタートへジャンプするなら、これか。
7E E0D0
nice!(0)  コメント(0) 
前の15件 | -