IC・トランジスタで出来たコンピューターを設計・製作するためのブログ
Jeans & Development | 電子ブロック工房 | 三日坊主 | フロントページ |
KM-BASIC for MIPSの紹介 [PIC]
2015年4月14日
KM-BASIC for MIPSは、PIC32MX上で動く整数型BASICコンパイラーです。ケンケンさん作成のPIC32テレビゲームシステム(以下、PIC32TVGS)上で動くアプリケーションとして作成しました。表示はテキストのみですが、カラーでの表示が可能です。BASICプログラムを機械語コードにコンパイルしてから実行するので、高速な動作が特徴です。SDカードに複数のBASICプログラムを入れておき、PIC32TVGSの選択画面で選択して実行することが可能です。SDカード上のファイルの配置方法については、ダウンロードファイルのreadme.txtを参照して下さい。記事の最後に、ダウンロードのためのリンクがあります。
NAND型 CPU [CPU]
2015年3月16日
演算がNANDと左シフトのみが可能な、6ビットCPUを考えてみた。
ここのところ、PICやLPCなどの組込みマイコンと、MZ-80Kの話題ばかり続いたが、このブログは本来、副題にもあるとおり「IC・トランジスタで出来たコンピューターを設計・製作する」ためのもので、久々にその初心の話。
NANDの組み合わせだけですべての論理演算が可能であるのはよく知られていることであり、初期のコンピューターの中には、このロジックで作成されていたものもあったらしい。
ということは、CPUで使える演算子としてNANDだけを用意しておけば良いはずで、あと、上位ビットと下位ビットとの間での情報のやりとりとして、シフト演算(左シフト)があれば、すべての演算が行える。加えて、条件分岐できれば、CPUとしての体裁が整うはずである。
この、必要最小限の機能を持ったCPUを如何にシンプルな構造で構築するかというのを、この1-2週間考えていた。
ここのところ、PICやLPCなどの組込みマイコンと、MZ-80Kの話題ばかり続いたが、このブログは本来、副題にもあるとおり「IC・トランジスタで出来たコンピューターを設計・製作する」ためのもので、久々にその初心の話。
NANDの組み合わせだけですべての論理演算が可能であるのはよく知られていることであり、初期のコンピューターの中には、このロジックで作成されていたものもあったらしい。
ということは、CPUで使える演算子としてNANDだけを用意しておけば良いはずで、あと、上位ビットと下位ビットとの間での情報のやりとりとして、シフト演算(左シフト)があれば、すべての演算が行える。加えて、条件分岐できれば、CPUとしての体裁が整うはずである。
この、必要最小限の機能を持ったCPUを如何にシンプルな構造で構築するかというのを、この1-2週間考えていた。
LPC810を使ったコンソール(技術編) [LPC]
2015年1月20日
先日公開した、Console 810の技術的なことに関するノート。特徴は、以下の通り。
・NXPのDIP-8の石、LPC810を使用
・モニター出力はNTSCビデオ信号
・キー入力はPS/2キーボード
・9600 bpsでのシリアル入出力
・NXPのDIP-8の石、LPC810を使用
・モニター出力はNTSCビデオ信号
・キー入力はPS/2キーボード
・9600 bpsでのシリアル入出力
LPC810を使ったコンソール(紹介編) [LPC]
2015年1月13日
Console 810を紹介します。

Console 810は、NXPの8ピンdipパッケージの32ビットマイコンである、LPC810を用いた、シリアルコンソールです。次の特徴があります。
・ 英数字を横32文字、縦24文字表示する、キャラクターディスプレイ
・ NTSCビデオ信号を通じて、モニターに文字を表示
・ PS/2 キーボードを接続可
・ 9600 bpsでの、シリアル入出力を実装
・ DIP-8の石を用いた省スペース設計
・ 外付け部品は、電源・コネクター以外は、パスコンと5つの抵抗だけ
・ ライセンスはLGPL

Console 810は、NXPの8ピンdipパッケージの32ビットマイコンである、LPC810を用いた、シリアルコンソールです。次の特徴があります。
・ 英数字を横32文字、縦24文字表示する、キャラクターディスプレイ
・ NTSCビデオ信号を通じて、モニターに文字を表示
・ PS/2 キーボードを接続可
・ 9600 bpsでの、シリアル入出力を実装
・ DIP-8の石を用いた省スペース設計
・ 外付け部品は、電源・コネクター以外は、パスコンと5つの抵抗だけ
・ ライセンスはLGPL
MIPS用BASICコンパイラーを制作中 [PIC]
2014年7月28日
ケンケンさんのPIC32MX用SDカードブートローダー(+カラーNTSC出力)用に、整数型BASICコンパイラーを作成することにした。仕様は、以前にMZ-80用に作成したKM-BASICと同じに。必要最小限の仕様。SDカードにBASICのソースコードをテキストファイルで置いておけば、それをコンパイルして即実行するような物を考えている。
9割以上出来上がっているのだが、最後に、RAM上のプログラムの実行権限を得るところで手間取っていて、公開は次の週末以降になる見込み。ここでは、基本的な構造に関する覚え書きなど、記しておく。
9割以上出来上がっているのだが、最後に、RAM上のプログラムの実行権限を得るところで手間取っていて、公開は次の週末以降になる見込み。ここでは、基本的な構造に関する覚え書きなど、記しておく。
SDカードブートローダー用API [PIC]
2014年6月22日
ケンケンさんのSDカードブートローダーは、PIC32MX150F128Bを搭載した、SDカードのアクセスとカラーのビデオ出力(NTSC)が可能な、ゲーム用のシングルボードコンピューターである。hexファイルをSDカードに書き込むことで、様々なアプリケーションを読み込んで実行することが可能な仕様だ。これ用のアプリケーションを色々と考えるのは、PIC使い(最近はPIC32ばかり)の私にとっては凄く楽しい。
このブートローダーは24KBの大きさがあり、SDカードへのアクセスとカラーのキャラクターディスプレイの機能がすべて含まれている。アプリケーションを作成する場合、これらの機能が使えるようになれば、色々と応用が利くし、バイナリーのサイズも小さく抑えることが出来る。
そこで、アプリケーション側から、ブートローダーのSDカードアクセスと、カラー・キャラクターディスプレイのコードを呼び出して、これらの機能を簡便に使うことが出来るようにしてみた。
このブートローダーは24KBの大きさがあり、SDカードへのアクセスとカラーのキャラクターディスプレイの機能がすべて含まれている。アプリケーションを作成する場合、これらの機能が使えるようになれば、色々と応用が利くし、バイナリーのサイズも小さく抑えることが出来る。
そこで、アプリケーション側から、ブートローダーのSDカードアクセスと、カラー・キャラクターディスプレイのコードを呼び出して、これらの機能を簡便に使うことが出来るようにしてみた。
KM-Z80 gameの紹介 [PIC]
2014年6月15日
KM-Z80 gameは、ケンケンさん製作の、SDカードブートローダー用のソフトウェアで、MZ-80K互換機で動くゲームを楽しむための物です。
MZ-80K用のゲームは、例えば以下のサイトでフリーで配布されています。
http://www.retropc.net/mz-memories/mz700/
http://www.maroon.dti.ne.jp/youkan/mz700/zeplis/
これらのファイルをSDカードから読み込んで楽しむことが出来ます。
MZ-80K用のゲームは、例えば以下のサイトでフリーで配布されています。
http://www.retropc.net/mz-memories/mz700/
http://www.maroon.dti.ne.jp/youkan/mz700/zeplis/
これらのファイルをSDカードから読み込んで楽しむことが出来ます。
KM-Z80C miniの紹介 [PIC]
2014年5月19日
KM-Z80C miniは、Microchip社のPIC32MX350F256Hを用いた、1チップMZ-80C互換機です。KM-Z80 mini (ver 0.3)では、24 KBのRAMを搭載していましたが、KM-Z80C miniでは、48 KBになりました。また、カセットテープインターフェースに加えて、SDカードを用いたプログラムのLOAD/SAVEが行えます。




PIC32MXと23LC512をSQIモードで接続 [PIC]
2014年5月10日
Microchipの8ピンSRAMの23LC512は、65536バイトの容量を持つSRAMで、通常はSPI接続で使用する。最高速度が20 MHzであるが、1バイトの読み書き共に、32クロックを要するから、1.6μ秒(0.625 MHz相当)を要することになる。MicrochipのAN1277を見ると、実際にはその1.5倍ほど、2.4μ秒(0.42 MHz相当)ぐらいかかるようだ。この速度では、拙作のKM-Z80 miniの外部メモリーとしては、使えない。
一方、23LC512には、4本のデーターラインを平行して扱う、SQIモードというのがあるので、コレを使えば、4倍速で接続できるようだ。実際、どれぐらいの速度で読み書きできるようになるのか、試してみた。
一方、23LC512には、4本のデーターラインを平行して扱う、SQIモードというのがあるので、コレを使えば、4倍速で接続できるようだ。実際、どれぐらいの速度で読み書きできるようになるのか、試してみた。