松下電器が発行していた技術報告書からJR-100の論文を入手しました。
JR-100に搭載されているMB14392というLSIの仕様が長年謎だったのですが、この論文に情報が載っていたので、少しずつ分析していこうと思います。
※ 分析のまとめはこのサイトのまとめページの方に順次追記していきます。
さてまずMB14392は、200ゲートアレイのセミカスタムLSI(マスタスライス方式)とのこと。マスタ・スライスLSIとは、
配線層のみの変更で専用回路を設計できるLSI。セルベースLSIでは,40枚程度のマスクを機器メーカーが用途に応じてカスタマイズする。マスタ・スライスLSIは,トランジスタ層と配線層の一部を使って回路を作り込んだウエハー(スライス)を半導体メーカーが提供することにより,新たにカスタマイズするマスクの枚数を減らせる。設計可能な専用回路の規模は減るが,開発費の低減や納期の短縮などの利点がある。
(出典: 日経テクノロジオンライン)
とのこと。もしかすると同じマスクベースでカスタムされたチップが他のマイコンでも使われているかもしれませんね。
で、このMB14392は予想通りCRTコントローラとして使われているのですが、MPUに与えるΦ1、Φ2クロックを生成するのにも使われていました。つまり水晶発振子の出力は直接MPUに入力されるのではなく、一度MB14392に入力して、MB14392が生成するΦ1、Φ2クロックをMPUなどに提供しています。
続く。
コメント
はじめまして。
松下電器の技術報告書を見てみたいのですが、お題を教えていただけませんか。
また、パナソニック技報ですと2009からですが、もしかしてコピーサービス必要ですか?
このページ(http://asamomiji.jp/contents/documents/retropc/jr100)の参考文献1.でも挙げていますが、以下の報告書です。
稲本敏晴, 安田育生, 有馬正木, “パーソナルコンピュータ JR-100”, National Technical Report, Vol 28, No.4, pp 635-634, Aug. 1982.
私は国会図書館の複写サービスを使って入手しました。相当古いので、普通の図書館では入手できないかもしれませんね。。。
ごめんなさい。ページ番号が間違ってました。
誤:pp 635-634
正:pp 635-643
です。
早っ!数日後でもありがたいと思っていました。
早々のご回答ありがとうございます。
古い文献からのコピーサービス。そうですよね。
私は国会図書館には行ったことがありません。他にも色々引き戻したい情報があるので
機会があったら行ってみたいと常々思ってはいるのですが、遠くて。。
TL/1系の情報が欲しいところです。
ご紹介のページ、これから拝読させていただきます。
ありがとうございました!
国会図書館の文献はwebで申請して郵送でもらうこともできますよ~。
この記事が参考になるかもしれません。
文献を国立国会図書館から入手する
http://asamomiji.jp/contents/how-to-get-literature-from-national-diet-library
TL/1ってプログラミング言語のやつですか?
私はあまり知りませんが、昔の雑誌で見たような気がします。。。
またまた素早く・・・
TL/1 。そうですコンパイラです。昔ASCIIに載ってました。
初代は6800(H68/TR)だったと思います。(JR-100も・・・)
↑これが載ってたEncyclopedia ASCII(合本です)を捨てられてしまって。
その後PC8001,APPLEII,BASIC MASTER L3,MZ,FM8,MSX,他へ移植されていました。
似たようなプログラミング言語にGAMEというのもあって、こちらはちらほらネット上で情報があるのですが、TL/1は無いです。
MSXに移植した方のサイトは見つけたのですが、版権の問題で具体的なDATAなどは判らないままです。
シロピョン様:https://ameblo.jp/siropyon/
ネットサービスの件、ありがとうございます。検討します。
情報ありがとうございます。私も別冊付録時代のベーマガとかPiOとか創刊号からすべて持っていたのですが、引っ越しのどさくさで誤って処分してしまい落ち込んだ経験があります(笑)
TL/1の情報がうまく集められることを祈っています!
TL/1(Tiny Language 1)、懐かしいですね。私も一瞬だけ触った事あります(家にH68/TR&TVがありましたので)。文法はPascalのようだったという事しか記憶になく、他の細かいところはよく覚えていません。TL/1で書かれた連珠に勝てなくて、悔しかった思い出があります(笑)
TL/1の言語仕様(の独自解析結果)はここにありました。
http://www7b.biglobe.ne.jp/~saia/tl1.html
(私の環境だと文字化けするのでgoogleのキャッシュから読みました)。
ちょっとマシン語を意識した仕様になってますね。
確かにJR-100レベルの貧弱な環境でも動きそうな雰囲気はあります。
H68/TRに比べればかなり高機能ですけど(笑)
あっ、すごい。 読めない~
unicodeにしたら読めました(IE11)。保存保存。
このページにはどう行くのかは判りませんが、http://www7b.biglobe.ne.jp/~saia/ からはTL/1トランスレータと言うのに辿り着きますね。
また脇道になってしまいますがGAME86コンパイラ(32bitのみ64bit下ではエラーでした)が落とせますね。
GAME言語のコンパイラ版の元のインタプリタ版はTL/1と同じ作者です。
あまりに記号っぽくて私は使ったことはありませんが。
どちらの言語も自分自身を再構築できるとかどこかで見たことがあります。
何度もすみません。
移植が進んで、FM8に載ったものは、TL/1のプログラムリスト中に6809のコードが書けた記憶があります。同行のコメントでアセンブラ命令を手で書いていたような・・
独自設計の言語だと作者は好き勝手できていいですねww
インラインアセンブラは今どきのコンパイラでも使う技術なので、効率を求めようとするとやはりそこに行きつきますねー。
最初のH68/TRに実装するのに何号にも渡っていました。その過程では移植に関する記事もあった気がします。他機種に移植された時点ではその辺が余り書かれていなく、また其々の機種に合わせて主に画面周りが拡張されていて複雑に。
自分は最初期の数号分を所有していたかったのですが、今は全部無い(泣
TL/1は変数1byte整数の言語です。JR-100は変数2byte整数機でキャラクタベースだし、6800だし。H68/TRもキャラクタべース?相性良さそうじゃないです?w
あ、自分はFM8でした。
エンサイクロペディア・アスキー volume 1~volume5は国会図書館にあるのを確認しましたが、volume1だけでも384ページあるので、前頁コピーだと8000円くらいかかりますね。目次が分かれば指定のページだけ複写することも可能ですが。。。それでもヤフオクとかで落札するよりも安いかもしれません。
一時期レトロPCの収集をしていた時期があってH68/TRやFM8も手に入れようとしたのですがだめでしたね~。
Windows上でTL/1のクロスコンパイラを作るのはできそうな気がしますが、TL/1用のプログラムを作るのもそれはそれで大変そうですねww
誤字がありました。前頁→全頁です。すみません。
また雑誌一冊丸ごとコピーはできなかったような気がするので(引用の範囲を超えるため)、目的の記事のページ範囲だけを指定しないといけないかもしれません。。。
いえ~
¥13000/冊とかで手が出ませんでした。。(これも6・7年前ですが)
今TL/1で検索していてHit数に驚いてます。
昔検索ではさっぱりで大きい図書館しかないかと思っていたのですが。。
http://rpcg1.home.mindspring.com/proglangdevsys.html 中の下の方
アスキーの掲載号、ページ一覧まである。。
ここは昔から有ったのでしょうね。
おお、すごく詳細な情報が出てますね~。
これは保存しておきます。
何か注目を浴びるきっかけがあったんですかね。
あれ?サイト毎保存しようとしたら、既に保存していました(汗。2013/5。
でも、その当時には上記引用のページは無いですね。
その他にも大分追加更新されています。
まだ更新されているんですね。 もう一回保存。
MB14392についてのページを荒らした感じになってすみません。つい・・・
初めの書き込みに続いて、「国会図書館の複写サービス」要との事なのでお聞きします。
MB14392はクロック生成+CRTコントローラとのことですが、CRTコントローラ部については
MC(HD)6845等とソフト上互換品だったのでしょうか?←これが一番初めに知りたかった事です。。
全然気にしてませんよ~。
MB14392は6845(CRTC)や6847(VDC)のような一般的なCRTコントローラとは互換性は無く、完全に独自の制御をしています。MB14392の機能は3つあります。
(1)水晶発振子の信号を入力して、MB8861H(6800)のΦ1、Φ2クロックを生成
(2)VRAMから文字コード読み込み→SRAMから対応する文字のビットパターンを読み取り→ビデオ出力回路にHigh/Lowを出力
(3)コンポジット信号の同期信号を生成
MB14392が生成するビデオ信号はNTSCの規格を大幅に無視したものになっていて、いまどきのビデオキャプチャカードだとまともにキャプチャできなかったりします。。。
おはようございます。
補足しますと、4番目の機能として、DRAMのリフレッシュアドレスとリフレッシュタイミングの生成もしています。また、これ自体にはシフトレジスタとしての機能はありません。キャラクタコードをフェッチするラッチも外付けとなります。
このCRTCはΦ2期間には同期信号などの処理以外には何もしません。Φ1期間を2つに分け、前半にVRAMアドレス(10bit)を、後半にキャラクタジェネレータのラスタアドレス(7+3bit)を、出力します。したがって、VRAMとキャラジェネのアクセスタイムは250ns未満でなければなりません。CRTCには7bitの入力端子があり、キャラジェネアドレスの上位7bitにはこれがそのまま出力されます。この入力端子にラッチを外付けし、VRAMアドレスが出力された時に、そのアドレスの内容(キャラクタコード)をラッチさせます。
以上が、JR-100の回路図から読み取れる、CRTCの動作です。
たぶん、CPLDで動作を模倣できると思います。5Vトレラントな、例えばATF150xASやispMach4000等です。近頃の高速なマイコンでも置換可能だと思います。
つまり、このCRTCには、プログラマブルな部分は全くないです。
補足ありがとうございます。さすがですね。
文献によるとMB14392は200ゲートアレイのカスタムLSIとのことなので、いまどきのCPLDなら簡単に実装できそうですね(そのための機材も買ってたりします)。
ついでにMB8861HとR6522の互換チップW65C22N6TPG-14(いまでも生産中です)を入手してあるので、いつかJR-100のクローンが作れればいいなと思っています。
さらに言えばFPGAで1チップJR-100も作れそうなのですが、なかなか手が付けられていないんですよね。
MB14392は恐らくスタティック動作ですので、静的に解析できると思います。
そのうちやろうと思って準備はすすめているのですが、なかなか手が付けられなくて…。
ICを取り外す前にノーマル状態で起動したいなと思っていますので。
>さらに言えばFPGAで1チップJR-100も作れそうなのですが
そういえばこの方のブログ、最近更新されていないですが、
「1Chip JR-100を作ってみよう」 https://blogs.yahoo.co.jp/monster_mie2000
ここを拝見して、私も真似して作ってみたいな、なんて思ってました。
その方のブログは私も見てました。お忙しいのか最近は更新されていないようですね(よく分かります)。
MB14392はまだしも、MB8861HとR6522をHDLに起こすところが大変で、いかに楽して作るかをずっと考えてます。