Home
2024年
2023年
2022年
2021年
2020年

7月31日 なぜWZetaはブロック転送命令でも割込みが可能なのか?

8bit CPUにはマイクロコードを使って1命令で長いブロック転送のような命令があることがある。 マイクロコードの実行途中で、割込みが入る実装は、できても、あまり、やらないだろう。
WZetaが2048bitを1命令でシフトする命令の実装を分析すると、 カウンタが0になるまで相対ジャンプするループ命令で、相対ジャンプ先を自分にしている。 つまり1命令のように見えているだけで、カウンタが0になるまで、自分自身の命令を繰り返しているからなのです。
自分自身の命令を繰り返して意味のある命令が可能だったのは、WZetaの特長である 命令逆順のオペランド投機によって1命令内にリードとライトの2つのメモリアクセスを入れることができたからです。


7月31日 製造原価最安のIoTマイコンで儲けるビジネスにならないか

既に数日前の日記、「みんなで8bit CPU WZetaで儲かることを考えよう」 で書いていますが、僕のWZetaが持つポテンシャルを活かせることを考えられるのが、 僕と相性最悪の日立しかないという状況を、どうにかしたい。 僕と相性の良い人たちでビジネスが立ち上がるように、状況を 改善していかないといけないと感じています。

これまでの低価格なマイコンは1コアのものが多く、要求仕様を満たすために、 高周波数で高性能なものを選択しなければならない。 例え周波数の低いマルチコアがあっても、シングル性能が不足する問題がありました。

これまでのCPUに無いWZetaの画期的な技術、ゼロ遅延マルチコアがリアルタイム処理と 暗号演算性能を飛躍的に向上させ、製造原価最安で地球資源に優しいIoTマイコンを 提供できるポテンシャルを持っている。 OSがダイナミックに複数のコアでシングル性能を向上させたり、完全に別スレッドとして 動かすことで、非常に低い周波数で要求仕様を満たすことが可能になります。

WZetaの命令セットはZ80や6502よりも効率良く公開鍵暗号を演算できます。 例えば2048bitの1bit左シフト、右シフトが1命令で高速に実行できます。 さらに、この命令実行中は256バイトのメモリにアクセスしますが、命令中でも、 即時に割込みを受け付けるので、リアルタイム処理の設計がしやすいのです。

ゼロ遅延マルチコアの性能を発揮するRTOSを開発して、スマートメーターみたいな大きなところとか、 高速道路での自動運転で使うビーコンみたいなものとか、そういうところで必要になれば、 儲かるビジネスになるのだろうと思うのですけど。 少なくとも日本道路公団の人で、僕を知っている人は、いると思うし、、、直接知っている人は無いけど。 父親は北陸自動車道の建設で成功したらしい。当時、建設局の局長だったらしく、 パーキングエリアに公園を作ったら収益が向上したということくらいしか知らないけど。

ポテンシャルという言葉を使っているのは、まだ十分に確認できていないからなのですが、 確認できてからでは、僕と相性の悪い人たちに囲まれ、かなり無駄に上納しなければ、 動かない状況に確実になると思います。つまり、ほぼ動くことはない。 (グローバル企業は海外で開発したほうが都合が良いから、僕が頑張っているのに、、、)

SNSで補足投稿したものを、そのまま転記
リアルタイム処理でタスクの切替に時間がかかるのは8bit OSでは外部記憶から カーネルを読み込むから遅いみたいに「解釈」できる記事とかあるけど、 8bit OSが必ず外部記憶からカーネルを読むということはないと思う。 タスク切替に時間がかかる要因は、割込み禁止区間が長いとか、 ブロック転送命令のように長い実行時間の命令で命令実行中、割込みが入らないという要因もある。 ちなみにWZetaは、先ほどの日記に書いたようにブロック転送のような命令でも、即時割込みが入る実装が作れる。


7月31日 eWZ-660のBIOS開発進捗2

BIOS ROMのコードに埋め込んだ5x7の英数字フォントでSHA-1のRFCドキュメントを 表示させてみた。今回は320x240 16色の画面に16色、背景も16色の色が出せるサンプル。 画像は1行単位ですが1文字単位で文字色16色、背面16色の設定が可能です。 5x7のフォントを6x8間隔で表示させているので文字と文字の間は黒です。

図をマウスでクリックすると拡大されます


7月31日 eWZ-660のBIOS開発進捗

BIOS ROMのコードに埋め込んだ5x7の英数字フォントでSHA-1のRFCドキュメントを 表示させてみた。320x240の画面です。

図をマウスでクリックすると拡大されます


7月30日 eWZ-660のBIOS開発進捗

昨日作成したフォント5x7をBIOS ROMのコード上に直接埋め込む方式の実装をしている。 BIOS ROMに割当てた$E000h~$FFFFhに余裕があるので。 1文字のデータは5バイトですがWZetaをHALFモードにするとコードを参照できなくなるので、 コード上にデータを配置すると4倍~6倍に膨れ上がる。これを少なくするために工夫をしていました。 現在2.8倍まで圧縮。ハードマクロ命令を使えば2倍になるが、 ハードマクロ命令内でハードマクロ命令は使えない。


7月29日 eWZ-660のBIOS開発進捗

目と頭と体と、いろいろローテーションしながら問題を起こすので苦労してます。
漢字ROMがない場合に備えて、半角英数字だけでも表示できるようにフォント作成しました。 ネットからフォントをダウンロードするより、95文字なら、自作したほうが手っ取り早いので。 C言語のソースコードに直接、フォントデータを記述したので、フォント作成ツールも不要。 いい加減に作ったので市販のフォントより下手かもしれない。

とにかく僕の頭がまともに動作しないと、作業が進まないのです。

図をマウスでクリックすると拡大されます


7月28日 DetachSignサービスを終了します

2022年8月24日にDetachSign電子署名サービスを終了します。 2014年から約8年間運営してきましたが、運営コストをかけない現状では、 セキュリティを維持できないと判断しました。

インプレスの窓の杜Vectorをはじめ、 フリーソフト100オールフリーソフトOnlineSoft VersionUp.infoソフコレさんなど、 多くのフリーウエア紹介サイトで、お騒がせしました。
これまで、ご利用いただきありがとうございました。

https://detachsign.idletime.be/
https://detachverify.cipher.jp/


7月28日 新型コロナウイルスの「第7波」で急増している

自宅にいる親は通勤もしていないし、僕もほとんど自宅から出ないので、 コロナ警戒意識は低いのですが「第7波」大きいみたいなので、 もう飽き飽きしていることと思いますが、皆さまもコロナ対策を心掛けましょう。


7月27日 ガーシーが作ったマストドンの僕のアカ休止

国会議員のガーシーが作ったマストドンの僕のアカウントを休止しました。 アカウントを乗っ取られる可能性もあるので、気になる投稿をしていたら、 本人確認をしてください。マストドンの名前を「GC2」に改名したみたいです。


7月27日 eWZ-660のBIOS開発進捗

まだ頭がフラフラして、目も良く見えていませんが、eWZ-660 BIOSの開発中。 疑似乱数の機能を追加しました。ゲーム向けの粗悪で高速、省メモリ、 AES暗号兼用のオリジナル疑似乱数。 ゲームでは厳格な疑似乱数よりは、高速性が優先される場合が多いと思ったので、 オリジナルの疑似乱数にしてみました。思考型のゲームの場合は、必要に応じた疑似乱数を追加することになるかも。 暇があれば、もう1種類、疑似乱数をBIOSに追加するかもしれません。

とにかく僕の頭がまともに動作しないと、作業が進まないのです。


7月26日 みんなで8bit CPU WZetaで儲かることを考えよう

WZetaの命令セットは僕が考えた 命令逆順の命令フォーマットです。逆順のデメリットを抑え、実用性ある命令セットに仕上げていくうちに、 このクラスでは技術的に圧倒的なCPUとなりました。家電やIoTの世界では、その製品の要求仕様を満たせる、 最小のCPUがいいので、このWZetaで要求仕様を満たせるかを、みなさんが考えることになります。 技術解説などの書籍や、評価基板が売れるということは、あると思います。 僕が壊れないように、頑張れる環境に。

後は、既にSNSで投稿したものです。読んで知っている方は、読み飛ばしてください。

僕の8bit CPUがIT産業に衝撃を与え、世界へと波及するマイコン技術を持っていることを 文系にもわかるように説明してみる。
僕のツイッターのフォロワさんが作ってくれたこのブログのお陰で説明にかかる手間が省けました。 「リアルタイム処理を再考してみる」
https://ryuz.hatenablog.com/entry/2022/07/09/120333

ブログにはマルチプロセッサよりも、シングルプロセッサのほうが良い場合があるから、 安易にマルチは、どうかな?という内容。
僕のCPUでは1つのタスクを2コアで処理してもゼロ遅延なので1.4倍の性能を出すことが楽なのです。
これまでに、できなかったことが僕のCPUで可能になるのです。
例えば自動車みたいなものの制御ではセンサーからの入力を受けて制御信号がでるまでの時間には限界値があって、 それを越えられない。例えばブレーキを踏んでから作動するまで10秒かかることがあってはいけない。
1のCPUで複数の仕事(タスク)をさせると入力信号が入ってからタスクを切り替えるまでの時間で最悪値となるケースで考えなければならない。
最悪値を取るタスクと入力を受けて処理するタスクを別のCPUコアに割り当てれれば
★かなり遅いクロック(周波数)で済む。
また最悪値の計算が難しい場合もある。
★WZetaは他であまりない超小型のマルチコアになるので経済的
★加えて先ほどの投稿で説明したような従来ではできなかった高速処理が可能になるため、さらに周波数は遅くても良くて、製造原価が安価になる場合がある。

参考
6月30日 WZetaのゼロ遅延マルチコアの用途
6月29日 マイコン新技術、ゼロ遅延マルチコア、CPUアーキテクチャの超電導!?


7月25日 ファイル暗号ソフトToraToraのダウンロードリンクを削除

ウクライナ戦争の影響で、暗号技術のわからない人が、僕の足元をすくえるネタだと 勘違いすることもあるかもしれないと思ったので自主規制しました。 当面はファイル暗号ソフトToraToraのダウンロードリンクを削除しますが、 あまり心配がなさそうなら復活します。
世界には数千のファイル暗号がダウンロード可能なので、自主規制するのは、 大袈裟で、他のファイル暗号に迷惑ではないかということも言えるのですが、念のため。
ファイル暗号ToraToraはOS標準の暗号関数を使っています。 つまり暗号専用ハードが搭載されていれば、それを使って高速に暗号化が可能です。 ただOSに鍵を鍵として渡すため、非常にわかりやすいということでもある。 このためFBIみたいなところから、睨まれずに済むと思って公開していました。

●ファイル暗号ソフトToraTora
https://icanal.idletime.tokyo/toratora/


7月24日 8bitパソコンWZ-660用のゲームを作ったよ

BIOSファームをテストする目的なのでノベルゲーム風のゲームですが、 キーボードを叩くと文章が表示されていくだけのものです。

640x480の画像を320x240 16色の画面に変換するとディザリングで、 あまりいい画質にならないようです。

近日中にeWZ-660で試せるようにとeWZ-660のバージョンアップを考えていますが、 今回はWindows版の動画だけです。4分弱の動画ですが、僕の中学時代の実話になります。

WZ-660用のゲームを、みなさんが開発するにあたって。 実機で16x16の漢字を表示させる機能を追加するまでに時間がかかることがあるので、 フォントは、8x8半角英数字のみを想定していたほうがいいのかも。 この日記で作業を報告していきます。

ゲーム「BASICマガジン初投稿」のYouTube動画


7月24日 僕の持つ世界最高の暗号技術の運用には政府の関与が必須

今年の5月1日のニュースですが、
安全保障に関わる技術流出防止へ きょうから規制強化 経産省

この規制強化では、海外の人だけでなく、国内の人に重要な技術を提供する場合にも、 事前に国の許可を得ることが義務づけられるとのこと。

これまで国にいろいろ提案してきました。 その甲斐があって関連するところからアンケートやコメントを聞きにくるメールもあったのですが、 ここ数カ月、政府関係からの連絡を、何者かによってメールを遮断されていたことが発覚しています。

僕の持つ世界最高の暗号技術、暗号プロセッサSnakeCubeは、僕以外に利権がある人は、 いないし、類似する技術では、コストパフォーマンスが、かなり悪くなるか、代替できない。

国と連絡が取れるように考えないといけないことに気付いた。 政府関係からのメールを遮断することは、法律に触れるということは、ないのだろうか。


7月23日 先日の選挙で入れた一票

先日の選挙のときにツイッターのTL上で盛んに赤松健先生を応援していた投稿があったので、 僕の一票を赤松先生に投票した。
僕は、僕の開発している8bit CPU WZetaを普及させるために、8bitパソコンWZ-660を開発している。 低スペックなので、緩いゲームしか作れそうにないのだけど戦争シミュレーションゲームは、 低スペックなマシンでも動作する。一方、戦争シミュレーションゲームを良く思わない人もあるので、 ここに「表現の自由」が役に立つのかと思えたからだ。

そして、赤松先生は、過去作品の保存に力を入れるらしいことを聞いた。 僕のオープンなパソコンWZ-660にゲームを移植して保存するのではなくて、 非合法なエミュレータを合法化する方向なのかもしれない。 僕が流行らなくなる方向のように見える人に、一票を投じたのかと嘆いている。


7月23日 eWZ-660の画面モード

1980年代の8bitパソコンでも画面モードは複数ありました。 グラフィック関数をBIOSで、どこまで対応するのかという議論は、さておき、 複数の画面モードがあると、線を引く関数も、複数用意しないといけない。 そして8bitパソコンではメモリが非常に限られる。

そこで1つ、あるいは2くらいの画面モードに対応するBIOSを 複数用意するという方向になる。

当面、作る1つめのBIOSは320x240 16色のみにしようかと思っています。 240x160の液晶モノクロも、いいなぁと思っていますが、僕の工数が不足。

MSX3が気になるところですが、やっぱりZ80とWZetaを比較できる、 またと無い機会になることが、いいかもしれないと思っています。 (相乗効果が期待できると思っている)

無駄話ですが、中学生の頃、NECのパソコンを持っていた友人に、 僕の持っていたSHARP MZ-2000のことを「イモZ」と言われて散々、冷やかされました。 そのお陰でSHARP MZ-2000がNECのPC-8801に勝る点を調べ、言い返せるようにしていた。
CPUは、どちらも同じZ80ですが、実質クロックがMZは4MHzなので処理能力はMZが勝っています。 サウンド機能もMZは疑似3和音ができるので、勝っています。 あと1つあったような気がしましたが、、、しかし、子供のオモチャとして必要だったのは、 CPUが倍速いことでも、サウンド機能でもなく、BEEP音による疑似音階が出る優秀な ゲームソフトがあることだった。

産業スパイによる妨害が、無くなると、いいのですけど。 ここ1週間、食事の度に虫歯の痛みで苦しんでいます。 食事の後、20分くらい動けなくなるとか。


7月22日 eWZ-660ゲーム開発進捗

ノベルゲームの背景素材をWZ-660用の画像データに変換する方法の研究。

eWZ-660は画面表示用のライブラリを使わないため、ライブラリに振り回されることがなく、 安心できるものとなっているのですがテキスト表示用に作られた16色ということもあって、 扱いが、少しだけ難しい。

先ほどの投稿では、他の人が作ったレトロPC用の画像変換ツールを使っていますが、 自分が運営している 動画変換サイトでも、画像変換が可能であることがわかったので、そちらに切り替えました。

https://neo.icf3.net/web/idleencoder_js/index.html

ページの左側にある「コマンドライン」を選択。どれでもいいのでffmpegで使うメモリを選択。 次のようなコマンドラインを入力します。通常のffmpegと同じコマンドラインなので詳しくはffmpegを調べてください。


-i infile -f rawvideo -pix_fmt bgr4 -s 320x240 out.raw

図をマウスでクリックすると拡大されます


7月22日 eWZ-660のサンプル・ゲームの開発を開始

8bitパソコンWZ-660のBIOSファームの開発をしていますが、 やっぱり実際のアプリを動作させながら調整を進めていく方法でないと、 まともなBIOSにならないと思っています。

そこでゲームのサンプルくらいの短いものを作ることにしました。 どんなゲームを作るのかを考え、最も単純なものがノベルゲームだろうということで、 ノベルゲームの背景素材を購入してeWZ-660の320x240の画面に変換してみました。
画像は、まだ画像変換の調整が甘いので、今一つかもしれない。 学校の下駄箱の絵を640x480から320x207のサイズに変換したもの。 下の黒い部分に16x16の漢字の文字列が入る予定。Linux版のeWZ-660で表示させています。

図をマウスでクリックすると拡大されます


7月21日 取り急ぎ8bit CPU WZetaは世界に必要

WZetaの設計方針はトランジスタ数を少なくして製造原価を安く、地球資源に優しいこと。 8bit CPUの設計を、やりはじめて3年以上になる。この設計方針のCPUでは、圧倒的に良くできている。 ゼロ遅延マルチコアは、 ダメ押しとなったことと思っています。CPUアーキテクチャの超電導かもしれない。 世界初?の超小型のマルチプロセッサは、タスク毎にCPUコアを割り当てれば、 プログラミングも容易で、安定した動作を確保しやすい。 日本のIT産業が凋落しつづけることに歯止めをかけることができる重要なCPUになるかもしれない。

取り急ぎ、新しいCPUなので普及に力を入れようとしています。 8bitパソコンを作ってゲームが作れるようになればと思っています。 まずは、僕がつまらないゲームを作ることを始めました。 ノベルゲームの背景素材というものを、さっき購入してみた。


7月21日 産業スパイによるサイバー攻撃で脳破壊が侵攻中

痛みの無い攻撃だから、見逃されると思っているのかもしれない。 ネット上の記事を読んでいれば脳破壊の具合がわかる。 普通1秒で読めるものが、つっかえながら、10秒かかる。 そして声を出して、学習しなければ、読めない現象が起きている。

視力の問題ではないけど、視力で例えると
視力が1.2から十分の一以下の0.1になっても、眼鏡をかければ、何の苦労もなく生活ができる。 0.01でも、何の問題もなかった。ところが0.001以下になれば、様々な問題が発生する。

0.1から0.01へと壊れていったときも、騒いだけど、少し状況を考えられないものだろうか。 8bit CPU WZetaの仕様が劣悪なものになった場合の問題もあるように思う。


7月20日 WZ-660で16bit漢字ROMを搭載するコスト

とりあえずXilinxのFPGAを搭載するArty S7-25をWZ-660にするハードとして考えています。 他の評価用ボードより割高なので、入手性は良いという想定です。
漢字を表示させるにはCPUの実装で使いきれなかったファブリック(LUT)に漢字データを入れる 方法を考えましたが、これでもゲームで利用する漢字データを入れるのがやっとかも。 でもBIOSコードを変更することなく、運用できる予定なので、この方法で採用できる場合もある。

しかし全然、容量が足りないので、EEPROMに漢字データをいれてI/Oの8bitバスを使って読み出す 方法を考えていました。

EEPROMが高いと思う人が、いたので、もう少し考えました。マイクロSDに漢字データを入れて置いて、 起動時にSDRAMに転送すれば、良さそう。この方法の問題は、僕の頭が破壊されているため、 非常に時間がかかること。産業スパイを止める必要がありそうです。


7月18日 eWZ-660開発進捗、BIOSファームの読み込み機能(2)

取り急ぎBIOSファームのコードをアセンブラのプログラムから分離できました。 次のようなコードを書くだけで、文字列を画面に表示できます。 最初の2個のBIOSコールで320x240の画面を準備して3個目のBIOSコールで文字列を表示させています。 表示させた後は、何かキーが入力されるまで、表示を続けるというコード。
観衆の人たちが思っていたより、早く実装できたのではないだろうか。ということくらい。


	MEMORY 128
	MODEL HALF
	USE OFFSET 3
	.HMAC
BIOSCALL:
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP
	NOP

	.PROG
	OFFSET 2
	LD A,0x52       	# 320x240 4bit color 0x6A00
	^BIOSCALL 0x01
	LD A,0x01		# display ON
	^BIOSCALL 0x01

	LD B,&bios_param.L
	LD A,0x00
	!ST [&bios_param:B],A
	LD A,3			# sub function puts
	!ST [&bios_param:B],A
	LD A,&MSG.H
	!ST [&bios_param:B],A
	LD A,&MSG.L
	!ST [&bios_param:B],A
	LD A, &bios_param.H
	LD B, &bios_param.L
	^BIOSCALL 0x02
### #########################################
key_loop:
	LD C,0xF8		# PortID kbhit
	INPUTA
	XOR A,0
	JRZ1 ^key_loop

	LD C,0xF9		# PortID getch
	INPUTA
	ST %key,A
	LD A,%key
	XOR A,10
	JRZ1 ^exit
	LD A,%key
	XOR A,13
	JRZ1 ^exit
	JR ^key_loop
exit:	
	EXIT
### #########################################
	.DATA
	OFFSET 2
	REG 1 key 
	MEM 0x10 bios_param !0x10
	MEM 666 MSG \
	0xE2 0x96 0xA0 0xE3 0x82 0xAA 0xE3 0x83 0xBC 
	0xE3 0x83 0x97 0xE3 0x83 0xB3 0xE3 0x82 0xBD
	0xE3 0x83 0xBC 0xE3 0x82 0xB9 0xE3 0x81 0xAE

残りの文字列データは省略

図をマウスでクリックすると拡大されます


7月17日 少し気の早いWZeta互換マイコンの話

WZetaはオープンソースなのでライセンスを守って互換マイコンを開発することができます。 ただ互換マイコンが、それぞれ機能追加すると、あとあとコンパイラやソフト開発する人が、 困ることになるので、機能追加については、僕の動向を見て欲しいと思っていたりします。

例えばWZetaには無い「乗算命令」。 1980年代の8bit CPUは乗算命令が無いものも多いのですが、機能追加したくなる 最有力候補だと思っています。

いくつかのアイディアを持っています。 ハードマクロ命令で実装を隠ぺいする案もあるのですが、トランジスタ数を多数使えば、 乗算は1サイクルで可能になるので、比較的軽いハードマクロ命令のオーバーヘッドすら、 問題になるように思っています。

そしてARMの問題も、乗算命令の実装を遅らせている理由の1つなのです。 整数の乗算器については、僕は、自在に開発できるので、心配していただく必要は、ありません。


7月17日 eWZ-660開発進捗、BIOSファームの読み込み機能

eWZ-660は1つのアセンブラのソースコードを実行することしかできませんでした。 このためアセンブラのソースコード内にBIOSファームもいっしょに含める必要がありました。 不便なのでBIOSファームを別途、読み込める仕組みを開発中です。

当面、シングルタスクのフリーウエア版なので、マルチタスクとは異なり、簡単なので、 開発工数が減りました。8bitパソコンに特化したBIOSとして作り直しているのも、 開発工数が減った理由。

シングルタスク版の話をすると、すぐにマルチタスク版との互換性は? みたいな反応をする人があるのですが、なるべく互換性を保つようには、 考えます。開発したゲームが、ソースコードレベルの互換性で、 動作することはあるかもしれない。あまり修正しなくても、動作するようになるはずですが、 大幅な仕様変更をしなければ、ならないときは、大幅変更すると思います。


7月15日 RSA 15360bitの実現には僕の力が必要です

7月6日の日記「政府調達要件の暗号強度基準2022年版が公開」 に書いていますが、RSA 15360bitが計画されています。RSA 15360bitを実現するためには、 僕の力が必要なはずで、それ以外の選択肢は無いと認識しています。 産業スパイは東北大学で、できることを、散々いっていますが、 東北大学は、税金で開発したRSA演算器、SASEBOの開発で、僕のSnakeCubeよりも、 ずっと性能の低いものしか、できなかった実績があるのです。

政府がRSA 15360bitを計画したのは、僕のSnakeCubeの影響が大きいと思います。 これは他の公開鍵暗号を使う費用よりRSA暗号が外交上、安価になるためだと予測しています。 量子コンピュータで扱える量子ビットが多くなっていると言っても、 1モジュールに入る量子ビットの数には限度があって、大きな鍵のRSA暗号が解読できないという ことが発生した場合、当面、RSA暗号で、安価に乗り切れてしまえる。 公開鍵暗号だけに頼らないシステムならば、RSAが最安かもしれないのです。

政府主導の暗号プロセッサが、今一つと、思うのであれば、RSA暗号だけに絞った 暗号プロセッサなら、僕1人で設計が可能です。誰からも声が、かからないので、 8bit CPU WZetaの開発を急いでいますが、これはSnakeCubeのコントローラになるので、 WZetaの開発は、暗号プロセッサの開発でもあるのです。


7月14日 WZetaのライセンスの話

この国のためには暗号プロセッサSnakeCubeの開発を進めるべきだと思っていますが、 話にくる人がありません。なのでWZetaの開発を進めています。
8bit CPU WZetaをRISC-VのようなオープンソースのCPUにしようとしています。 まだ詳細なゲートレベルの図面だけしか公開していませんが、 僕に憑依している産業スパイを異動させることができれば、 verilogのほうも、急いでオープンソースとして公開することを考えています。

CPUだけでは普及しないのでWZetaを搭載した8bitパソコンを開発しています。 ハードウェアを無料にすることは、できませんが、ハードウェアの品質を 僕が保証するのは、実は、結構大変だと思っていて、パソコンのハードは 最終的に外部に出すことを考えています。 (例外的に一部、残す場合もあるかもしれませんが)

そうすると膨大な作業を1人で頑張っても僕の収益はゼロということになります。

そしてBIOSファームの有料化を考えるのですが、間違いなく無料でないと普及しない。

そこでシングルタスク版のBIOSファームを永遠のフリーウェアとして、 マルチタスク版のBIOSファームを有料化とすれば、いいのかもと思っています。

当面は、永遠フリーウエアのシングルタスク版のBIOSファームを頑張っていきます。 浮動小数点のコードや、三角関数のコードを寄付したいなど、お話があればご連絡ください。

日本は他の国と比較してZ80、6502などの8bit CPUのマシン語に強い人が多くいます。 その優位を8bit CPU WZetaの新技術に活かし、日本の未来を作っていければと思っています。 時間のある学生さんも、やりましょう。
先日、ルールを改定しましたが基本的にWZetaは税金プロジェクトでは利用できない方針です。 WZetaに関係の無い人も、暖かく見守っていただければと。


7月14日 eWZ-660でカラー画面に漢字表示できた

eWZ-660の320x240 16色の画面に漢字を表示するBIOSコードを作りました。 今回はLinux版のeWZ-660の画像です。

図をマウスでクリックすると拡大されます


7月13日 WZetaは2重化の高信頼マイコンが低コストにできる

WZetaのSDogコアでは2重化の高信頼マイコンが低コストにできる。 SDogコアはプログラムメモリ、データメモリを1サイクル毎に交互にアクセスする。 この特性が便利であることに気付くのは難しかったのかもしれない。 僕も偶然できてから、気付いた。

ハーバードアーキテクチャのマイコンで2重化をすると
CPUチップ×2
プログラム用不揮発メモリ×2個
データ用SRAM×2個

不揮発メモリはNORフラッシュ以外にも、リードが高速で書き換え回数の 限られた安価なMRAMなどが考えられる。

WZetaのマイコンで2重化をすると
2コアCPUチップ 1個
プログラム用不揮発メモリ2倍の容量、1個
データ用SRAM2倍の容量、1個

2倍の容量になっても2倍の原価にはならないし、メモリへの配線も半分だから、 高信頼なマイコンの製造原価を低減できると思う。


7月12日 eWZ-660のBIOSに漢字表示機能が付いた

2日前の日記にも漢字表示ができるようになった話を書いていてますが、もっと機能が良くなりました。 半角混じりの全角漢字(UTF-8)の文字列を表示させるBIOSコールを作りました。 C言語で説明するならputs()関数と同じ機能のBIOSコールです。まだ制御文字の実装は 改行だけなので、まだまだですけど。画面は240×160ドットです。

図をマウスでクリックすると拡大されます


7月11日 ファミコンのCPUは大阪府池田市で作られていた

僕が知ったのは比較的、最近。ファミコン開発に関わった1人である進藤昌弘氏の話が ツイッターのTL上に出現したので読んでみた。 いい話すぎたので、思わず、購入。僕も3年連続で3個の暗号プロセッサを開発したので 力はあると思っています。でも力だけでなく人との巡り合わせも、大切なんだと思える話でした。

もう少し進藤昌弘氏をネットで調べてみました。
大阪府池田市で半導体事業を起ち上げ、と進藤昌弘氏が創業した会社のサイトにあった。

1981年に立ち上げをしてファミコンのCPUを開発。ちょうどその頃、僕は東京から大阪府池田市に 引っ越している。僕が小学校6年になったときのことでした。

僕はファミコンのCPU、6502と比較できるくらいのCPU、WZetaを開発している。 大雑把に言うと6502は大流行したZ80の4分の一の大きさでZ80並みの性能なのですが、 僕のWZetaもZ80より小さく、Z80より高速というようなCPUなのです。

何かの偶然だろうか。

WZetaは6502に似ていると思いたい人も、あるかもしれない。 似ている点はゼロページ、アドレス低位にあるメモリをレジスタのように使う仕様です。 しかしWZetaはインデックスレジスタもスタックも無い。 Z80、6502は、どちらもインデックスレジスタ、スタックを持っています。 6502とZ80のほうが、ずっと似ている。WZetaは6502にもZ80にも似ていない、全く新しいアーキテクチャのCPUです。


7月10日 BASICマガジンから学んだこと

BASICマガジンは電波新聞社が1982年から2003年まで刊行していたプログラムの投稿雑誌です。 スマホのCPUの9割のシェアを持つといわれるイギリスのARM。 そんな圧倒的なARMを世に送ったイギリスですがベーマガ(BAISCマガジン)の創刊から4,5年のころは日本では、 64KBのメモリを搭載したNEC、SHARP、富士通などの8bitパソコンがひしめいていた。 たった1KBのメモリしか標準実装されないイギリスのシンクレア ZX81が、ベーマガにも登場している。 64x48の疑似グラフィックでポケコン以下のゲームがベーマガに掲載されているいことが多かった。 群を抜いて貧相なマシンであったため、逆にマイナーなパソコンであるにもかかわらず、 僕の記憶に残る結果となった。

日本の8bitパソコンとは目的が違っていたのかもしれない。 シンクレアZX81はコンピュータを学ぶための最安なパソコンを目指していたのかもしれない。

ZX81をネットで調べると、このマシンで巨万の富を築いたとか、景気のいいべた褒めな記事が見つかる。 そして人生で初めて思ったのは「ネットの情報は信用できない」ということだった。

BAISCマガジンもネットを調べると見出しなどの情報が出てくるのですが、 トップに大きく置かれるマシンは日立のベーシックマスターだった。 それほどマイナーではないのかもしれないけど、NEC、SHARP、富士通の3強を、 追い越しての起用。サイトの管理者の好みと言えば、それまでかもしれない。

真実が永遠に語り継がれることは無いということを痛感しました。


7月9日 eWZ-660で漢字が表示できるように!

WZ-660はCPUにWZetaを搭載した8bitパソコンを示す単語です。 部品は買ってありますが、組み立てていないので、実機はまだありません。 エミュレータを使って開発作業をしています。実機とエミュレータの区別をわかりやすくするために、 エミュレータのほうをeWZ-660と呼ぶようにします。
7月に入って漢字ROMデータを作成していましたが、ようやくエミュレータに漢字ROMデータを取り付けて 漢字を表示できるようになりました。まだカーソル位置を指定して1文字の漢字を表示する機能だけですけど。 BIOSコールで漢字を表示できるので、ROMの実装が変更になっても、BIOSを通せば、 アプリ側の変更は不要です。(BIOSだから、当たり前か)
240x32のLCDに16x16の漢字を表示させています。漢字コードはUTF-8です。

図をマウスでクリックすると拡大されます


7月8日 WZetaの命令セット仕様を更新しました

更新前とほぼ同じですが、7月7日の日記 「WZetaの画面を両方のビットオーダーに対応させる方法」で予定された 新規命令、ROOPSHLC、ROOPSHRC命令を追加しました。実装するのかは未定です。 公式サイトの ダウンロードのページから。


7月8日 WZetaの方針に追加、脆弱性限定で税金許容

これまで8bit CPUのオープンソースWZetaは税金を使わないことを方針としてきましたが、 WZeta公式サイトのライセンスのページに許容するケースを追加しました。 OS、コンパイラは、これまで通り不可なので、ご注意ください。 詳しくはライセンスのページ を参照してください。


7月8日 WZetaの隠された16bitレジスタで高速化

実はWZetaには隠された16bitレジスタがあり、これを使うと、サブルーチンなどが高速化される。 便利に使えるテクニックです。 別に隠れていたわけではなくて、設計者の僕も今まで気付いてなかっただけでした。
隠れた16bitレジスタとは、ハードマクロ命令のカウンタのことで、ハードマクロ命令を 実行していないときはレジスタとして使えます。

SETMC ; MC=A:B
SETMCは、1命令でAレジスタ、Bレジスタをハードマクロ命令のカウンタに代入できます。

GETMC ; A:B = MC
GETMCは1命令でSETMCで代入した値をA、Bに戻します。


7月8日 赤松健(代理)が営業に来た

赤松健(代理)が営業に来たので、投票しようかと思っています。 WZ-660で開発をするクリエーターが安心して開発できるようにと思ったからだ。
WZ-660に搭載されるCPU、WZetaは非常に良くできた8bit CPUで、 最近、偶然にもプロセッサ間の通信遅延ゼロのマルチコアにもなることが判明した。 (6月29日の日記6月30日の日記)
プロセッサ間の通信遅延ゼロなので、これまで全く並列処理できなかった問題が解けるので、 従来にない並列処理による性能向上が可能です。

複数のタスクを処理する場合、1コアではタイマー割込みで時分割処理することになりますが、 マルチコアではタスクに1コアを割り当てれば、割込みによるタスクスイッチのオーバーヘッドがないので、 低スペックで安定した動作が期待できる利点が大きいのです。そして恐らく世界最小か、 世界最小クラスのマルチコアだと思われます。プログラム開発コストは 上昇しますが、原価は下がると思われます。 そしてCPUコアとメモリはバスを介することなく直接接続され、ウェイトすることなく、 動作するので、効率的なのです。
将来、ゼロ遅延マルチコアを搭載したマイコンの販売価格を決めるのはメーカーなので、 原価が本当に下がるのかは、僕のほうでは決められないのですけど。

今頃、気付いたのですが、赤松健(代理)はおおよそ権力系の人たちなので、一見、 赤松氏のお手伝いをするふりをして、赤松健費を、赤松健氏が嫌いになるまで、 僕らから絞り取ることがあります。 表現の自由を掲げる赤松健氏が流行るのを防ぐ裏の仕事もやっているかもしれない。

これは僕の人生経験から得られた推測ですけれども。 僕が権力系の人と勘違いすることがないようにするには、 霊感商法的なアクセスをしてもらわないほうがいいです。


7月7日 WZetaの画面を両方のビットオーダーに対応させる方法

全面改定しました。
WZeta搭載のWZ-660ではバイト中のbit0が左端になるような表示を採用しました。 理由は1つ前の日記にあります。しかしbit0が右端になる表示が、今後、 主流となるとWZetaが取り残される可能性を考え、両方のビットオーダーに対応できる方法を考えました。 すぐに実装するということもなく、bit0左端が主流となれば、永遠に対応しないこともあります。

新規命令2個、ROOPSHLCとROOPSHRCを追加してbit0右端に対応します。すぐに実装しても問題は小さいのですが、 極限までトランジスタ数を減らすことを設計目標としているWZetaでは、トランジスタ数を優先したいのです。

ROOPSHLCはLOOPSHLCと同じでBレジスタをインクリメントするかわりにデクリメントします。
ROOPSHRCはLOOPSHRCと同じでBレジスタをデクリメントするかわりにインクリメントします。

ST [A:B],Aの命令は、あまり意味の無い命令なので、その命令コードをROOPSHLCに割り当てます。
ST [A:B],Bの命令も、あまり意味の無い命令なので、その命令コードをROOPSHRCに割り当てます。


7月7日 WZ-660の画面が左右逆な理由

1980年代の8bit機の画面がどうなっているのか、覚えていません。 WZ-660の画面はVGAに最適な設計になっています。 WZetaフォーラムで議論できれば良かったのかもしれないのですが、 Webサイトをサイバー攻撃で沈められたため、日記に左右逆である理由を書いておきます。

どうも画面のビットの並びが普通と逆みたいな、ことを言いたいような人が多いのです。 WZ-660のビットの方向を決めているのは2048bitの整数を1命令で左シフトしたり、 右シフトできる命令です。LOOPSHRC命令とLOOPSHLC命令です。 この命令を使って画面を左右に1bitシフトできるようにしているからです。 LOOPSHRC命令は乗算命令のないCPUで公開鍵暗号を高速化するのに大きく貢献します。

ポケコン系の画面では90度違う場合が多いようです。スイッチサイエンスにある数百円の 漢字ROMも90度違います。 WZ-660はエミュレータのほうで90度回転することはできます。現在はPC-1350のみですけれど。 実機では機種ごとに1バイトのビットの並びを90度回転させるのかを決めれば、いいように思います。

WZetaの画面が左右逆な問題で普及しない可能性を考え、対応する方法を考えました。 次の日記「WZetaの画面を両方のビットオーダーに対応させる方法」に書いています。


7月6日 政府調達要件の暗号強度基準2022年版が公開

政府が「暗号強度要件(アルゴリズム及び鍵長選択)に関する設定基準」 のPDFを公開したようです。まだ量子コンピュータの解読に強い耐量子暗号は登場していません。
文章への電子署名で長期保存が必要なものは安全性の不足が発生しているように思われます。 RSA 15360bit(現行 2048bit)まで予定に入ったようです。

RSA暗号は鍵長が長くなると計算量が激増するため、稼働しているタイムスタンプサーバーなどでは、 暗号プロセッサによる高速化の必要性が増しているはずです。

鍵長の大きなRSA暗号が得意な 暗号プロセッサSnakeCubeが必要ではないかと思います。

これまでSnakeCubeが実現しなかった理由は、シンプルで1つです。 大活躍して、なんの問題もなかった僕をとても汚い方法でリストラし、 それを隠ぺいするために現在もボコボコに殴って解決しようとしてきたから。 僕をすりつぶして東大卒の処遇向上のために使われたので周囲の東大卒が すりつぶした東大卒を応援したため、非常に苦労させられました。 まずは正しい事実を理解してもらいたかった。

1999年の大型コンピュータの暗号装置は、 IBM互換ですが、僕が米国の出張から帰ってきてから、僕がリーダーになって開発が 立ち上がったことなどから、米国の技術が入っているとか、欧州の技術が入っているとか、 ロシアや東欧の技術が入っているとか、いろいろ、うわさされたことがありますが、 純粋に、僕の発明です。

僕が日本人でない説も、あったようですが、多分、日本人です。 この多分ということを説明すると長くなりますが、だいたい僕が誰の遺伝子を持つ子供なのか、 いまだに不明だというのは、いったい、どうしたものかなという気がします。僕も本当に知らない。 東大理3の精子から製造されたとか、名家の子供として生まれたけど暗殺されそうになったから、 暗殺して別人として育てられたとか、そんなところかと予想していたり。

まずは僕を取り巻く産業スパイを異動して、人間的なコミュニケーション方法に切り替えて欲しいです。 僕の街の警察署は、旧米軍基地の敷地の一角にあり、この街全体が米国ライクな地域なのかもしれない。 米軍ハウス みたいなものもあるようですし。

念を押して言います。SnakeCube暗号プロセッサの開発は重要だと思います。 そしてこの国の僕の扱いを考えると、どのくらい頑張れるのか、疑問なのです。 RSA暗号が発明されて以来45年、僕しかSnakeCubeを発明できなかった。 トルコ大学のレイテンシ性能に特化したものはありますが、大きな鍵に対応するのは、難しいのです。 政府は僕を呼ぶしかないと思います。

デジタル庁の人でも、知らない人もあるかもしれませんが、2002年ごろ、 デジタル庁の前組織ともいえる政府認証基盤GPKIで、総務省のある九段下に打合せに 何度か通ったことがあります。

この国の国民は僕を良く観察して下さい。さもなければ、優先順位の間違ったところに、 税金が投入され、肝心なところへは、投入されないこと間違い無いです。 大事な点は経済的な安全だけではなく、他国に脅かされることのない信用できる暗号です。 国民が意識的に考えなければなりません。今までそれをしてこなかった結果、 全く自立できてない国になっている。そして自立しようとすれば、他国の脅威にさらされる。 ゆっくりひとつひとつ解決していくことかもしれない。

暗号プロセッサにハードウェア的に制限をして暗号化のできない電子署名専用の 暗号プロセッサであれば、暗号に絡む問題も緩和されると思います。


7月5日 WZ-660の漢字フォント作成中(4)

東雲フォント 16ドットの全角、半角のROMデータを作成。 MS-DOS時代にはFONTXという形式があったらしいのですが、 この時代ではROMの価格が下がっているはずなので大容量を活かした 高速な形式を独自に作ってみた。非力な8bit CPUでフォントを表示させるのに、 この高速な形式は合っているかもしれない。

東雲フォント 16ドットの全角、半角のROMデータの容量は2MB。 かなり冗長なので、やっぱり圧縮を考えるかもしれない。


7月4日 WZ-660の漢字フォント作成中(3)

東雲フォント16のデータから8bitパソコンWZ-660向けの漢字フォントを作成中。 (2)で東雲フォント16から16x16のビットマップを 切り出すのに苦労したことを書きましたが、なんと、東雲フォント16は最初から16x16の データなので加工する必要がなかった。
東雲フォントのJISコードを変換するためのnkfも、無事、パッチを当てて C言語から使えるようになりました。

WZ-660の漢字コードは、何がいいだろう?

ツイッターのTL上にはMSXでunicodeみたいな動きが3年前にあったとか、、、

UTF-8が各国語に惑わされず手間が無いかなとか思うけど、 非常にメモリが少ない8bit機にUTF-8はメモリの無駄かもと思いつつ。


7月3日 WZ-660の漢字フォント作成中(2)

東雲フォント16のデータから8bitパソコンWZ-660向けの漢字フォントを作成中。 東雲フォント16の全ての文字を16x16ドットのデータにした。この作業は予想に反して面倒でした。 切り出せたデータの横幅が15ドット、14ドットなら1ドット左にシフト。 横幅が13ドットで右端にドットがはみ出していれば1ドット左にシフト。 横幅が9ドットの縦棒の漢字が左に寄りすぎているけど、いいことに。など。

驚いたのはJISコードが、現在、ほとんど使われていない。 JISコードの東雲フォントは、JISコードのままでは、あまり役立たない。

文字コードを変換する方法を探す。 CentOS7のiconvのライブラリを使ってみたが、機能しない。 これが産業スパイのサイバー攻撃によるものかを考えている時間が惜しいので、 nkfをネットで探してみた。nkfのC言語APIが塞がっていた。 C言語APIを復活させる方法も、ネットで見つかった。 今日は、ここまで。


7月2日 日立が自社製フォントのパクリを捕まえていた件

WZ-660向けの漢字フォントに東雲フォント16を使うことを日記に書いたら、 やっぱり、多少、うるさく言う人が出たので、東雲フォントについて、もう少し調べました。 作者は、古川泰之さんで古川さんは東風フォントの作者でもある。2003年に渡邊フォントが 日立製のフォントをパクっていた問題が発覚し、東風フォントも、その影響があるということだった。

「東雲」と「東風」は何が違うのかをネットで調べると古川さんが「東雲(ビットマップ)」を作った後に ビットマップを含んだ「東風」のアウトラインフォントを作った、とあった。

OSDNの記事
https://mag.osdn.jp/03/09/29/1416204
これを読むと東雲フォント16は、古川泰之さんのオリジナルであることがわかる。

東雲フォントのおかげでWZ-660はフリーウェアとして、今後も、配信できそうです。 古川泰之さんに感謝。 まだ本当に配信するのか、決めていません。
産業スパイ曰く「少しも払わなくていいのか?」とうるさいのです。 少し払うのに、古川泰之さんの所在を調べるの、大変かも。

わかりやすい記事のOSDNにも感謝ということなのかもしれない。 感謝の「量」の出入り管理、大変かも。

何者かが、朝日新聞関係のサイト使って誘導しているようにも見えています。 朝日SHOPのウナギの宣伝メールが、タイミング良く来た。 朝日SHOPのウナギ、親が安くなくて買えないと言ってました。

結局、細かいお金の出入りを管理できるのは、産業スパイなのだけど、 産業スパイは、僕の人生を踏み倒すために存在している。 その産業スパイは、僕の日立における大型コンピュータ事業の大活躍の成果に対して払わないのだ。 たいしたことのない特許だけど地デジの機器に僕の特許が多分、使われていて儲かっているはず。 にもかかわらず当時、僕は、半人前未満の生活しか、させてもらえなかった。 そしてリストラされて、さらに状況が悪化。


7月1日 WZ-660の漢字フォント作成中

8bitパソコンWZ-660向けの漢字フォントをフリーの漢字フォントのデータから、 作ろうとしています。8x12サイズのフォントからデータを作ろうとしたのですが、 どう見ても読める漢字になってなくて16x16サイズのフリーのフォントをネットで探した。 ネットで数時間の検索をして、ようやく全フォント、パブリックドメインの東雲フォント16というやつを、 ダウンロードできた。画像の大きい文字は東雲フォント16を表示させたもの。

図をマウスでクリックすると拡大されます


7月1日 産業スパイのサイバー攻撃が続いてる

産業スパイのサイバー攻撃によって連日、脳細胞が壊れていくような感じだ。 いや感じではない。10年前から比較して、なだらかに全体が衰弱している。 攻撃力は低いももの、既にかなり衰弱しているという問題はある。
本格的に壊れたら、どうするのだろう。


暗号プロセッサ OpenICF3