2015年6月16日火曜日

CP/M2.2とTINY BASIC

[C] CP/M80 シミュレーターで懐かしの BDS-C を動かしてみた

を参考に

C:\Altair 8800 simulator を作成
altaiz80.zip
bdsc.zip
を解凍します。
c:\Altair 8800 simulator>dir
・・・・
2013/02/10  17:37           623,104 altairz80.exe
2015/06/03  11:41           923,373 altairz80.zip
2012/08/24  19:37           555,471 altairz80_doc.pdf
2006/11/01  22:04               229 bdsC
2015/06/03  12:13         1,056,967 bdsc.zip
2015/06/12  16:35         1,113,536 bdsc160.dsk
2002/10/21  19:27         1,113,536 bdsc160source.dsk
2006/11/01  21:38         1,113,536 cpm2.dsk
2015/06/12  12:56                63 Hello.c
2015/06/12  14:48         8,388,608 i.dsk
2009/04/12  21:52           141,822 simh_doc.pdf
2009/04/12  21:52           100,894 simh_faq.pdf
・・・
c:\Altair 8800 simulator>altairz80 bdsC
で起動します。
Altair 8800 (Z80) simulator V3.9-0 build 1625 (scp created Feb 10 2013 at 09:37:45 with gcc 4.2.4)

64K CP/M Version 2.2 (SIMH ALTAIR 8800, BIOS V1.23, 2 HD, 08-Oct-06)
A>

たけおかさんが打ち込んだ 東大版 Palo Alto Tiny BASIC ソース,CP/M 2.2
 たけおか ぼちぼち日記
 8bit CPU BASIC 言語の処理系
 僕が打ち込んだ 東大版 Palo Alto Tiny BASIC ソース,CP/M 2.2

pbas.asmaltairz80.exeのあるディレクトリーに置いて、読み込んで、アセンブル、COM化します。
b:
B>R PBAS.ASM

READ V-2.14 (15-Aug-04)  SIMH Interface V004
13.875kB written.

B>ASM PBAS
CP/M ASSEMBLER - VER 2.0
0A00
009H USE FACTOR
END OF ASSEMBLY

B>LOAD PBAS

FIRST ADDRESS 0100
LAST  ADDRESS 08CD
BYTES READ    07CE
RECORDS WRITTEN 10


B>LS PBAS.*
Name    Ext Bytes   Name    Ext Bytes   Name    Ext Bytes   Name    Ext Bytes
PBAS    ASM   14K ! PBAS    COM    2K ! PBAS    HEX    6K ! PBAS    PRN   34K
4 File(s), occupying 56K of 984K total capacity
147 directory entries and 110K bytes remain on B:

アセンブルリストを印刷したいのでwindows側に渡します。
B>W PBAS.PRN

WRITE V-1.09 (30-Oct-06)  SIMH Interface V004
33.25kB written (Text).

B>

Palo Alto TINY BASIを起動します。
B>PBAS
Palo Alto TINY BASIC

OK
>10 FOR I=1 TO 5
>20 PRINT I,"HELLO WORLD !!"
>30 NEXT I
>LIST
  10 FOR I=1 TO 5
  20 PRINT I,"HELLO WORLD !!"
  30 NEXT I

OK
>RUN
     1HELLO WORLD !!
     2HELLO WORLD !!
     3HELLO WORLD !!
     4HELLO WORLD !!
     5HELLO WORLD !!

OK
>SYSTEM 
で終了します。


電子工作 『古典電脳物語』から
80系プログラムの開発
のタイニーBASIC TBCPM.ZIP
TBCPM.COM(CP/Mのもとで実行可能なプログラム)使ってみます。
B>R TBCPM.COM

READ V-2.14 (15-Aug-04)  SIMH Interface V004
2kB written.

B>TBCPM

PALO ALTO TINY BASIC
PORTABLE 8080 VERSION
CP/M EDITION

OK
>100 INPUT "HANKEI ",R
>110 IF R=0 STOP
>120 PRINT "MENSEKI",R*R*3
>130 GOTO 100
>RUN
HANKEI R:72
MENSEKI  15552
HANKEI R:0

OK
>



参考にしたところ:
Altair 8800 simulatorの使い方メモ

はじめにソフトウェアー基礎コースTiny BASIC

東京版 Tiny BASIC シミュレータ

2014年9月30日火曜日

LTspiceでメリゴ方式3 RC Polyphase Filter

RC Polyphase Filterを10K入力op ampで受けましたが、300Hzと2.4kHzで約8dbの差がありました。
Bufferで受けると差はほぼなくなります。

rc_polyphase_filter_5.asc











モンテカルロ解析はねがてぃぶろぐ さんの
ねがてぃぶろぐ LTspiceモンテカルロ解析の定数分布 その1
から
ねがてぃぶろぐ LTspiceモンテカルロ解析の定数分布 その6

を参考に、
一様分布のmc関数
公称誤差が3σとなる正規分布モンテカルロ関数  .funcでgmc(val,tol)を定義
三角関数のモンテカルロ解析関数   .funcでtmc(val.tol)を定義

それぞれ抵抗は±1%、コンデンサーは±5%です



rc_polyphase_filter_5_mc.asc 

rc_polyphase_filter_5_gmc.asc

rc_polyphase_filter_5_tmc.asc

2014年9月26日金曜日

LTspiceでメリゴ方式2 90度位相FF回路


90度位相FF回路をdflopでシミュレーションはエラーとなります。loop backがあるとうまくいきません。















HC74シリーズのLTspiceでのシミュレーションが"wsnakのブログ"
で紹介されていました。

Ltspice用マクロがたくさんあるところ
LTwiki

74HC74libsymLtspiceに登録(Windows8.1では管理者権限でLTspiceを実行の必要がありました)して90度位相FF回路をシミュレーションをしました。

 HC74_loop2.asc

2014年9月19日金曜日

LTspiceでメリゴ方式

JA2KAI 野澤康夫さんの
メリゴ方式によるSSBジェネレータとSSB復調器
にある回路を省略してLTspiceでやってみました。
OPアンプなどは適当に割り付けました。たぶんこうなるのかな程度です。

MERRYGO_SR.asc

820Hzと2.4Kを合成して、250KHzで変調しました。













U3のout端子です。

ssb1_outの出力です。







ssb1_outの出力をFFTしました。












250k±5kに拡大です。USB側が出ています。
+Q→+R→-Q→-Rの順に回しました。










-R→-Q→+R→+Qの順に回しました。
ssb2_outを250k±5kに拡大です
LSB側が出ています。










 SIG_OUT端子です。

SIG_OUTのFFTです。
一応820Hzと2.4Kは出ています。

いろいろまだまだです。

2014年9月15日月曜日

LTspiceでAM同期検波

LTspiceでAM同期検波を作ってみました。

SDR_AM.asc

変調はMODULATORを使いました。
V1でDCoffsetを40mVにしてあります。
Amplitudeは20mVとしましたので、変調度50%と
なります。
DCoffseを0mVにすると変調度100%でDSB出力されます。
変調度100%にすると、検波後の出力が1kHzとなりませんでした。
また、V3のTdelayに値を入れると搬送はとの位相が変かするので、I_out,q_outの波形が変わります。

変調後搬送波と検波後の出力です。
















変調後搬送波をFFT計算すると、1MHzと±1kHZがあるとこがわかります。

2014年8月2日土曜日

Lubuntu 14.04 Mozcかな入力

Lubuntu 14.04 (64bit)にChromiumを入れたのですがキー入力ができませんでした。
Ubuntu 日本語フォーラムに

対策として
”iBus Mozcから、fcitx Mozcに変更”とありました。


Synapticパッケージマネージャにて”fcitx-mozc"をインストールします。
インストール後の設定です。
[設定][言語サポート][言語]で”キーボード入力に使うIMシステム:”にfcitxを設定します。

[設定][Mozcの設定][一般]で 基本設定 ローマ字入力・かな入力を選択します。

バネルで”あ”になっている時、右キーで”Mozcツール””設定ツール”で”Mozc”プロパティを呼び出すこともできます。




fcitx-mozcとfcitx-anthyにはかな入力に問題があって、「ー」が「ろ」になっ
てしまっていたのですが(fcitx-mozcの場合)、これを修正してもらい、パッケー
ジをアップロードしました。

sudo add-apt-repository ppa:ikuya-fruitsbasket/fcitx
sudo apt-get update
sudo apt-get upgrade
でインストール後Fcitxを再起動したら有効になります。

       対応していただいた方に感謝です。
                                                

2014年8月1日金曜日

4NEC2のインストールとTutorial

4NEC2  http://www.qsl.net/4nec2/ Downloadsより

4nec2(setup.exe)  4nec2.zip
GnuPlot plotting  gp400win32.zip downloadします。
4nec2.zipを解凍して、Setup_4nec2.exeを実行します。






4NEC2を実行すると、EXAMPLE1となります。




http://www.qsl.net/4nec2/ DownloadsよりGnuplotをインストールします。
gp400win32.zipを展開して¥gp400win32下の¥gnuplotc:ドライブの下にコピーします
c:gnuplot です。
EXAMPLE1のPattern>Plot>3D Plot 


のTutorialにgoogle翻訳を追加したものをTutorial_4NEC2_english_g翻訳.pdfに置いておきます。

4nec2でSRA(スーパーラドアンテナ)をシミュレーションしてみました。

4NEC2でSRA(スーパーラドアンテナ)をシミュレート1にリンクしておきます。