フォト
2018年12月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ

2018年12月18日 (火)

ジャンク品のMSXの修理 その3

ヤフオクで入手した3台目のMSXパソコンを修理しました。

3台目 カシオ計算機 PV7 (1984年[昭和59年] 10月発売の機種)

Dscn9115

出品内容:
本体、ACアダプター(10V)、カセットインタフェース、ジョイスティック、
ゲームカセット4本、良く分からない外付けスピーカー、良く分からない充電器
動作確認で電源入らずとの記載あり

4,980円 で落札しました。
少々割高な気もしましたが、調べると、カセットインタフェース、ジョイスティックは
オプションパーツで、それそれ3,200円、2,900円するそうで、ゲームもついているので
むしろお得でしょう。


動作確認と修理

動作確認すると、出展者の製品説明の記載通り、電源が入りませんでした。
問題箇所を、ACアダプタ、本体電源コネクタ、本体内部電源回路と順番に調べていくと、
背面のシーソー型スイッチが怪しい。

Dscn9024

シーソースイッチを分解すると、
中が錆びていて、小さな錆びた鉄球が出てきました。

とりあえす、接点を磨いて綺麗にします。
この2枚の金属の上を鉄球が移動するすることで、電源がON・OFFする構造のようです。
鉄球が山を越えるときに、「カチ」っとの感触でシーソーが上下します。

Dscn9022

鉄球の代わりに、直接ピンセットで挟んで通電させてみると

Dscn9020

電源ランプが点灯しました。

Dscn9021

とりあえす、稼働出来ました。

次にシーソースイッチをどう修理するか悩みました。
「そうだ、代替え鉄球を見つけよう」
といことで、余っていたキャスターから取り出しました。

Dscn9044

シーソースイッチを組み立てて、装着すると、
「カチ、カチ」という、感触で電源のオン・オフを行うことが出来ました。

(ここで、シーソースイッチの分解・組み立て作業の写真が欲しいところですが、
非常に神経を使う手作業だったため、写真を撮ることが出来ませんでした^^; )

Dscn9023

画面もちゃんと映りました。

キーボードのいくつかが、反応しなかったため再度分解し、フレキシブル基板の接点を
掃除したところ、ちゃんと入力出来るようになりました。

20181218183448

このMSXパソコン、RAMが8kバイト搭載のため、残りメモリが4239ですね。
あまり、大きなプログラムの作成は出来ませんが、
小さく、軽くていい感じのマシンです。
机の上でのスペースを取らず、ちょっとした調査に利用出来そうです。


今回の落札品、出品説明にはマニュアル添付の記載が無かったのですが、
マニュアルが付いていました。

3冊の薄い冊子ですが、記載内容が分かりやすく、
私にとっては、本体よりもこちらの方が価値があり、ありがたかったです。
30年前のパソコンのマニュアル、ちょっとワクワク

Dscn9033

30年前のパソコンのマニュアル、取扱説明書みたいな堅苦しさはなく、
全体的にパソコン入門風の解説です。

Dscn9035

BASICを使った、プログラム作成まで解説しています。
ちょっとしたゲーム作成の解説なんかもあり、非常に良い内容です。

Dscn9036

30年前の製品のマニュアル、今でもプログラミングの教本として利用出来る内容です。

                                                                                                                   

2018年12月13日 (木)

豊四季Tiny BASIC for Arduino STM32 をV0.87に更新しました

豊四季Tiny BASIC for Arduino STM32 をV0.87に更新しました。

公開サイト
・豊四季タイニーBASIC for Arduino STM32V0.87β
  https://github.com/Tamakichi/ttbasic_arduino_stm32

  テストが不十分でβ版です^^;

マニュアルの作成がまだまだ進まないのですが、とりあえすコマンドリファレンスを
V0.87対応に更新しました。

・「豊四季タイニーBASIC for Arduino STM32」 コマンドリファレンス(更新中)

V0.87の主な追加機能


・漢字フォント利用の対応(SDカード上のシフトJISコードフォントファイルを利用)
   - KANJI コマンドによる全角文字列の描画が出来る
   - SETKANJI コマンドで全角文字描画時のフォントサイス等の設定が出来る
   - KFONT コマンドによる、漢字フォントデータの取得が出来る

・内部フラッシュメモリのプログラム保存領域の直接書き換え対応
   - 仮想化ドレスPRG2 の追加
   - BANK コマンドの追加
   - FWRITE コマンドの追加、
   - BLOAD コマンドの機能強化でバイナリファイルに直接書き込みに対応

   この機能は少々危険ですが、プログラム保存領域4096バイト x 6本の領域を
   有効利用するために、データを配置して利用出来たら.. と思い追加しました。
   
   SDカード上のバイナリーファイルをBLOADコマンドでフラッシュメモリに
   読み込んだり出来ちゃいます。
   ファイルからちょっとした画像や文書データを読み込んで配置出来ます。

・バイナリファイル操作の機能強化
   - BLOADBSAVE コマンドで、ファイル内読み書き位置を指定可能にしました

   ちょっとしたレコードファイルの構造を実現できると思います。

・文字列比較関数の追加
   - STRCMP 関数を追加しました

・グラフィック描画関連のコマンド追加
   - GCOLOR GCLS コマンドの追加

・その他
   いくつかの不具合対応を行いました


ここで、あらためて補足ですが、
豊四季Tiny BASICのオリジナル版開発は私ではなく、鈴木氏です。
私は、オリジナル版をSTM32対応し、機能拡張しているのみです。
オリジナル版  https://github.com/vintagechips/ttbasic_arduino


今後の予定としては、機能追加はこのあたり迄として、
ドキュメントの充実、BASICプログラムの作成、基板作成を行っていこうと思っています。

2018年12月 7日 (金)

豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(4)

豊四季Tiny BASIC for Arduino STM32の日本語フォント対応版、
ちびちびとドキュメント類を作成しています。
ドキュメント作成は、モチベ―ジョンが下がり、なかなか作業が進みません。

今回は、リファレンスマニュアルよりも先に「早見表」(クイックリファレンス)を
先に作成しました。PDF化して添付を予定しています。

Dscn9093

パウチして、傍らにおいて参照する感じでの利用を想定しています。

Dscn9091

コマンド、編集キー、ボードピン配置、ピン用途一覧、結線図の
7ページにまとめています。

01

コマンド一覧を1枚に収めるのにちょっと苦労しました。

02

ピン割り付けと、起動時のコンソール選択の設定関連のシート

03

英語版も作成したいところですが、とりえずは後回しです。

追記

このドキュメントをブランチの方に追加しました。
ttbasic_arduino_stm32/TinyBASIC早見表.pdf

2018/12/08 修正

マスターブランチにマージしました。
早見表は下記のリンクからの参照となります。
ttbasic_arduino_stm32/TinyBASIC早見表.pdf

キーワード一覧(簡易コマンドリファレンス) キーワード.html追加しました。

04


2018年12月 1日 (土)

ジャンク品のMSXの修理 その2

調子にのって、ポチってしまった2台目MSXの修理です。

2台目 SANYO MPC-2 WAVY2

Iimg360x4801540566898yxoeq3157157_2
(写真は、出品者掲載のものを拝借しました)

通電のみ確認、カセットのふた破損、ジャンク品あつかい、付属品無し
こちらも1000円で落札、入札は私のみでした。


動作確認と修理

電源は問題なく入りましたが、映像が映りません。
「ありゃ」っと思ったのですが、コンポジット端子を「ぐりぐり」と回したりすると
一瞬映像が映ったので、端子の接触不良と判明。

端子をメガネクリーナーをしみこませた綿棒で掃除したら、
ちゃんと映像が映りました。

キーボードの全キー入力チェックも問題なし。

掃除を兼ねて分解しました。
基板の状態は良く、特にメンテナンスする必要なしでした。

Dscn9009

カートリッジのふたはの修理にちょっと手こずりました。
本体内部に破損部とねじりばねを発見し、接着剤等での補修を試みたのですが、
負荷かかる箇所のため、直ぐに取れてしまいました。

結局、加熱した針金を挿入して補修しました。

Dscn9006

ふたを装着、針金ならこの負荷に耐えられますね(たぶん)。

Dscn9008

修理完了。
クリーナーで全体の汚れをふき取る等すると、意外と良い状態です。

Dscn9030

IchigoJamで使っていたモニターを接続してみました。
これで、プログラミング等が出来そうです。

Dscn9060

本体は先日のパナソニックMSXよりも軽くて、キーボードのタッチ感も良好です。

デザインも意外とかっこいいです。

Dscn9061






2018年11月30日 (金)

豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(3)

豊四季Tiny BASIC for Arduino STM32の日本語フォント乗せ対応、
追加したい機能の実装はほぼ完了し、マニュアル作成と動作確認中です。
文字列比較関数等も追加しました。

動作の様子


NTSC版で全角フォントを表示するデモです。
全角フォントは8、10、12、14、16、20、24ドットの7種類が利用出来ます。
また、倍角、四倍角等の拡大表示も可能です。

デモのプログラムソース

10 CONSOLE 0
20 GCLS
30 SETKANJI 20,1,0,0
40 KANJI 10,0,"こんにちは、埼玉!"
50 SETKANJI 10,1,2,1
60 KANJI 10,30,"7種類の漢字フォントを使って、"
70 KANJI 10,42,"全角表示が出来るようになりました。"
80 SETKANJI 24,2,2,2
90 KANJI 0,60,"豊四季"
100 SETKANJI 20,2,0,0
110 KANJI 0,106,"Tiny BASIC"
120 SETKANJI 16,1,0,0
130 KANJI 0,150,"for Arduino STM32"
140 SETKANJI 24,2,0,0
150 KANJI 90,170,"V0.87"
160 WAIT 2000
170 FOR I=1 TO GW
180 GSCROLL 0,0,GW-1,GH-1,LEFT
190 WAIT 10
200 NEXT I
210 WAIT 2000
220 GOTO 20

マニュアル作成とテストにちょっと手こずっています。

現時点のバージョンは、GitHubのブランチからダウンロード可能です。
(このブランチは随時更新しています)
https://github.com/Tamakichi/ttbasic_arduino_stm32/tree/add_SDSfonts

   2018/12/08 修正 マスターブランチにマージしました(上記ブランチは削除します)。
                     => https://github.com/Tamakichi/ttbasic_arduino_stm32

ただし、ファームウェア・マニュアル等は旧版のままです。
ソースからコンパイルする必要があります。

フォント利用には、解凍したfontbinの下にあるSFONT.BINをSDカードに入れる必要があります。

描画速度をもう少し何とかしたいです。
漢字フォントをSPI接続のフラッシュメモリに配置すれば高速化出来るのですが、
フラッシュメモリの入手と書き込みがちょっと面倒なので悩みどころです。

また、BASICプログラムのソースが英字大文字だと可読性が悪いので、
GOTO => GoTo
WAIT => Wait
SETKANJI => SetKanji
IF => If
FOR I=0 TO 10 STEP  2:NEXT I => For I=0 To 10 Step 2: Next I
のように大文字小文字を混ぜる感じにしようかと検討中です。

2018年11月26日 (月)

ジャンク品のMSXの修理 その1

ヤフオクでMSXを入手して、修理にチャレンジしました。
この修理作業がとても楽しくて、ついついポチって、3台に^^

最初の1台、National(パナソニック)  CF-2700

Dscn9000

1000円で落札、入札は私のみでした。

付属品無し、本体のみです。
通電確認済とのことでしたが、電源が不安定で起動したり、しなかたり。
起動後もすぐに落ちたりしました。
カートリッジのふたの破損、CAPSキーの黒塗り。

とりあえず、掃除もかねて分解

分解して色々と調べてみると、

Dscn8995
(30年前の基板、DIP形状のICがいっぱい)

単に、電源ケーブルの本体に固定する部分の内部の断線でした。

Dscn8997

手持ちの電源ケーブルに付け替えてました。

Dscn8998

そのままつけると、本体の付け根部はスカスカになってしまうため、
オリジナル電源ケーブルの本体固定部を再利用しました。
本体固定部はケーブルとの一体成型でしたので、カットして中央にドリルで穴をけて、
その穴に新しいケーブルを通しました。

Dscn9003

見た目はオリジナルのものと同じ感じに出来ました。

次にカートリッジのふたの修理、
ふたは、プラスチックの固定部(棒状)が折れて外れていました。
(修理過程の写真をとり忘れました)
また、開いた状態から閉めるためのねじりばね がなく、ふたがパカパカ状態です。

対応としては、
廃材のプラスチックを固定部の棒状にカットし、
ふたの破断部と棒をホットナイフ(はんだごて)で溶かして、取り付けました。
当初、接着剤で付けましたが、ふたの開閉を繰り返すとすぐに取れてしまいました。

ねじりばねは、100均ノック式ボールペンから取り出して加工して利用しました。


キーボードの黒塗りは、ダイソーで購入した「はがし液」で消すことが出来ました。
有機溶剤入りなので、油性ペンやペンキが落とせます。

Dscn9046

なぜに、CAPSキーを黒塗りしたのでしょう、謎です。

こうして、とりあえず修理完了。見た目も良くなりました。
比較的、軽微な不具合でラッキーでした。

Dscn9031

画面表示、キーボードの入力等問題なしです。

20181110214916

30年前のMSXパソコンですが、使えそうです。
このMSX、意外と大きくて重いです(3.6キロあります)。

机の上に置いて利用するにはちょっと邪魔です。
使いたい時に出して利用っていうのも、ちょっとしんどいです。

データ保存がカセットテープなのも何とかしたいです。

2018年11月20日 (火)

RobotDyn STM32 Miniボード(Blue Pill互換)でJPEG画像表示

RobotDyn STM32 Miniボード(Blue Pill互換)でJPEG画像の表示をやってみました。
(BluePillより面積が狭いので、ブレッドボードで多線が出来ます)

グラフィック液晶モジュール は、
ILI9341搭載(SPI接続)+ SDカードスロット付きのものを利用しました。

Dscn9014

グラフィック液晶モジュールのスロットに刺したSDカードに
320x240ドット JPEG形式のフルカラー画像を配置し、それを表示しています。
開発環境はArduino STM32を利用しています。

JPEG表示は、Arduino UNOではSRAMの容量的に無理(バッファに2kバイト必要)ですが、

Blue Pillでは比較的簡単に表示出来ました。

動いている様子

これくらいの、速度で表示出来ればOKでしょう。

構成

03
※クリックすると拡大表示します

結線表
04
利用したテスト画像(test1.jpg)

Test1


スケッチは下記のサイトのESP8266用のJPEG画像表示スケッチを
参考にしました。

参考にしたサイト
・楽しくやろう。 ESP8266でJPEG画像をTFT LCDに表示する
   https://blog.boochow.com/article/427690966.html


利用ライブラリ

・JPEGデコーダーライブラリ
   MakotoKurauchi/JPEGDecoder
 https://github.com/MakotoKurauchi/JPEGDecoder
 
   ※fdfat対応にJPEGDecoder.cppの一部を修正しています。

   修正
    ・
#include <SD.h> を #include <SdFat.h> に変更
   
・ その下に
       extern SdFat SD;
      を追加

スケッチ
(こちらからも参照出来ます Tamakichi/stm32_jpeg_tft.ino)

//
// Arduino STM32 TFT(ILI9341) SPI接続 jpeg画像表示サンプル
//
// 参考にしたサイト
//  元にしたスケッチ
//  ・楽しくやろう。 ESP8266でJPEG画像をTFT LCDに表示する
//    https://blog.boochow.com/article/427690966.html
//  ライブラリ
//  ・MakotoKurauchi/JPEGDecoder
//    https://github.com/MakotoKurauchi/JPEGDecoder
//  Jpegに関する情報
//  ・JPEG/MCU
//    https://monobook.org/wiki/JPEG/MCU
//

#include <SPI.h>
#include <Adafruit_GFX_AS.h>
#include <Adafruit_ILI9341_STM.h>
#include <SdFat.h>
#include <JPEGDecoder.h>

// SDカード(SPI2利用)
#if ENABLE_EXTENDED_TRANSFER_CLASS == 1
  SdFatEX  SD(2);
#else
  SdFat  SD(2);  
#endif

#define SPI_SPEED SD_SCK_MHZ(36) // バスクロック
#define SD_CS PB0                // SDカード選択

// TFT制御用ピン (SPI1利用)
#define TFT_CS  PA0
#define TFT_RST PA1
#define TFT_DC  PA2

// TFT制御用オブジェクト
Adafruit_ILI9341_STM tft = Adafruit_ILI9341_STM(TFT_CS, TFT_DC, TFT_RST);

void setup() {
  Serial.begin(115200);
  delay(200);
  
  if (!SD.begin(SD_CS,SPI_SPEED)) {
    Serial.println("failed!");
  }
 
  tft.begin();
  tft.setRotation(3);
  tft.fillScreen(ILI9341_BLUE);
  Serial.println("OK!");

  jpegDraw("/test1.jpg"); // 320x240ドットフルカラー画像の表示
}

void jpegDraw(char* filename) {
 char str[100];
 uint8_t *pImg;
 int x,y,bx,by;
 
 // Decoding start
 JpegDec.decode(filename,0);
 uint16_t buf[JpegDec.MCUWidth*JpegDec.MCUHeight];
 uint16_t pos = 0;

 // Image Information
 Serial.print("Width     :");
 Serial.println(JpegDec.width);
 Serial.print("Height    :");
 Serial.println(JpegDec.height);
 Serial.print("Components:");
 Serial.println(JpegDec.comps);
 Serial.print("MCU / row :");
 Serial.println(JpegDec.MCUSPerRow);
 Serial.print("MCU / col :");
 Serial.println(JpegDec.MCUSPerCol);
 Serial.print("Scan type :");
 Serial.println(JpegDec.scanType);
 Serial.print("MCU width :");
 Serial.println(JpegDec.MCUWidth);
 Serial.print("MCU height:");
 Serial.println(JpegDec.MCUHeight);
 Serial.println("");
 
 sprintf(str,"#SIZE,%d,%d",JpegDec.width,JpegDec.height);
 Serial.println(str);

  // Raw Image Data
  while( JpegDec.read() ){    // MCU毎の描画処理
    pImg = JpegDec.pImage ;   // MCUブロックの先頭アドレス
    pos = 0;                   // バッファ位置初期化
    
    // MCUブロック描画ウィンドウの設定
    tft.setAddrWindow(JpegDec.MCUx * JpegDec.MCUWidth,
                      JpegDec.MCUy * JpegDec.MCUHeight,
                      JpegDec.MCUx * JpegDec.MCUWidth+JpegDec.MCUWidth-1,
                      JpegDec.MCUy * JpegDec.MCUHeight+JpegDec.MCUHeight-1);
 
    // ウィンドウ領域へのデータ転送
    for( by = 0; by < JpegDec.MCUHeight; by++)
      for( bx = 0; bx < JpegDec.MCUWidth; bx++, pImg += JpegDec.comps, pos++)
        buf[pos] = (JpegDec.comps == 1) ? 
         tft.color565(pImg[0], pImg[0], pImg[0]) : tft.color565(pImg[0], pImg[1], pImg[2]);
    tft.pushColors(buf, JpegDec.MCUWidth*JpegDec.MCUHeight, 0); 
  }
}
   
void loop() {
}

スケッチは高速化優先で、MCU内の端数画像には考慮していません。

SDカード利用のためのライブラリは、SdFatを利用しています。
SDカードアクセルのパフォーマンス改善のために、SdFatConfig.hの設定を修正しています。

変更
#define ENABLE_EXTENDED_TRANSFER_CLASS 1

2018年11月15日 (木)

豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中(2)

前回からの修正、全角文字列を表示できるコマンドを追加しました。

表示している様子

01

プログラム

02

10 'OLED日本語表示デモ
20 @(0)=8,10,12,14,16,20,24
30 S="吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。"
40 L=LEN(S)
50 FOR J=0 TO 6
60 SETKANJI @(J):CLS 1:KANJI 0,0,STR$(S):WAIT 500
70 NEXT J
80 GOTO 50

KANJIコマンドで指定した座標に文字列を描画します。
  KANJI x,y,"文字列"
  KANJI x,y,STR$(文字列を格納した変数)

SETKANJIコマンドは、フォントサイズ等の設定を行います。

これで、簡単に全角文字列を描画出来るようになりました。
前回と同じことやってますが、プログラムがかなり短く出来ます。

OLED版では、CONSOLEコマンドにてプログラム編集画面をシリアルターミナルに
切り替えることが出来ます。
この場合でも、OLEDディスプレイへのグラフィック描画を行うことが出来ます。

2018年11月 7日 (水)

豊四季Tiny BASIC for Arduino STM32で日本語フォント利用対応中

先日作成した「Arduino用SJIS漢字フォントライブラリ SDカード版」を
豊四季Tiny BASIC for Arduino STM32に組み込んで日本語表示対応を試みています。

(現時点の修正案は下記のリンク先にまとめています。
  ttbasic_arduino_stm32のプロジェクトのissues#58にまとめています^^)

日本語表示が出来れば、簡単なアドベンチャーゲームが作成出来ると思います。


日本語表示表示の雰囲気は次のような感じです。

OLED版の表示デモ


プログラムソース

10 'OLED日本語表示デモ
20 @(0)=8,10,12,14,16,20,24
30 S="吾輩は猫である。名前はまだ無い。どこで生れたかとんと見当がつかぬ。"
40 L=LEN(S)
50 FOR J=0 TO 6
60 Z=@(J):X0=0:X=X0:Y=0
70 CLS 1
80 FOR I=1 TO L
90 R=KFONT(MEM,ASC(S,I),Z)
100 BITMAP X,Y,MEM,0,Z,Z,1
110 IF (X+Z*2+1)>(GW-1) X=0:Y=Y+Z ELSE X=X+Z+1
120 IF Y+Z>GH-1 I=L
130 NEXT I
140 WAIT 500
150 NEXT J
160 GOTO 160

プログラムはKFONT関数で1文字ずつフォントデータを取得して表示しています。
フォントをSDカードから逐次参照して表示しているため、表示は遅いです。

表示専用のKANJIコマンドを追加予定です。
これを使えばもう少しプログラムが短くなり、表示も早くなると思います。

OLEDの他に、NTSC画面、TFT画面にも表示出来ます。


NTSCビデオ出力画面での表示デモ

プログラムソース

5 CONSOLE 0
10 CLS
20 S="日本語表示にほんご"
30 L=LEN(S):X0=0:X=X0:Y=30:@(0)=8,10,12,14,16,20,24
35 FOR J=0 TO 6
40 FOR I=1 TO L
50 R=KFONT(MEM,ASC(S,I),@(J))
60 BITMAP X,Y,MEM,0,@(J)/R,@(J),1
70 X=X+@(J)/R+0
80 NEXT I
90 X=X0:Y=Y+@(J)+10
100 NEXT J
110 GOTO 110

プログラムの日本語入力は、NTSC、OLED、TFT画面では入力出来ないため、
シリアル接続したTeraTermにて行います。

01


TFT版ではカラー表示に対応しています。

Dscn8965

2018年11月 4日 (日)

ESP-01モジュールにcpm8266を載せてみました

前回の続きです。

ESP8266がのっている安価なESP-01モジュールに無理やりcpm8266を載せて、
Z80 CP/M 2.2 エミュレータを動かしてみました。
前回試したESPr Developerは二千円近くするので、これで動けば大変お安いですね^^

ESP-01は、2、3前にAliexpressにて購入したのですが、
技適無しのため放置していました。

製品的には、sparkfunのWiFi Module - ESP8266 WRL-13678 と同じだと思われます。
(この製品と、ESP-01、ESP-01SでRESETピン等のプルアップ有り無しの違いがあるようです)

Dscn8954

フラッシュメモリの容量は1Mバイトしかなく、このままでは動かないので、
手持ちの4MバイトのフラッシュメモリW25Q32に置き換えてみました。
W25Q32はeBayで購入しました。

はんだ吸い取り線ではんだを吸い取りピンセットで横ひねりして取外せました。

Dscn8956

ちょっと幅が広いですが、乗っかりました。
WiFiは使わないので、アンテナ部をカットします。

Dscn8959

完成しました。
サイズも小さくなりました。

Dscn8962

USBシリアルモジュールにて書き込みを行いなす。
接続には一緒に買っていた、アダプターを使いました。

Dscn8961

結線表
04

cpm8266の書き込み
フラッシュメモリも認識されて、ちゃんと書き込めました。

02


CP/M の実行

結線を下記に修正し、

05

RESETはワイヤーの抜き差しでGND接続⇒切り離し
でリセットしました。あとで、ちゃんとタクトスイッチでリセットボタンをつけることにします。

起動出来ました。
マイクロソフトBASICも問題なく動作しました。

03

こんな、小さなモジュールでCP/M が動くのはすごいですね。

«「Z80-CP/M 2.2 emulator running on ESP8266」を試してみました