1976年に発売され8bitCPUでは初めての本格的なOSとなったcp/m
そのころは英語のDDJ(Dr. Dobb's Journal)でTinyBASICが紹介され始めた頃で実際に動く姿を見ることはまるでなかった。
自分もTK-80BSをあえてTK-80と組み合わせずに自作のZ80のcpuボードを組み合わせて動かすのが精一杯だった。(手配線が下手くそで連続使用するとすぐにストールしたものだ)
Z80は最初の8bitCPUインテルの8008の改良型の8080の上位互換でかなり力の入ったCPUだった。それが動くマイコン(personal computerの当時の呼び方)を持つのがステータスだった。
より安定した環境を求めてNECから発表されたPC-8001を名古屋で予約をして年を越した1980初頭に手に入れるのがやっとでIOとしてはRF変調器を介してTVにコンソール画面を写し、カセットに600bpsでプログラムを記録するのがせいぜいだった。Z80の存在は知っていたけど当時としては非常に高価なFDDを必要としたためなかなか実機を手に入れることができなかった。
※当時の友人がPC8001の拡張ボードとFDD2基のセットを親に買ってもらったのがたいそう羨ましかった記憶がある。
そんなz80やcp/mであるがそれから40年以上の月日を経た今日、ワンコイン(100円)で入手できるatmega88を使ってz80や周辺をエミュレートさせてcp/mを動かすといった試みも多くある。
そもそもcp/mやその上で動く開発系ソフトやゲームが無料でネットで自由にダウンロードして使える時代になったのである。その他にもwindowsでcp/mマシンをエミュレートしたりcp/mのコマンドラインをエミュレートするフリーソフトも多く存在する。
8bitのz80や8080について調べることは趣味としてもPCの構造に対する総計を深めたり過去の簡素な環境でソフトを作成するための工夫に触れたりする良い機会になると思う。
2019年1月29日火曜日
2019年1月23日水曜日
arduino グラフィック
arduinoでカラーLCDを接いでグラフィックで遊びたい
uno R3が必要か? (@2,940)
MEGA 2560との違いはなんだ? (@1,150)
unoがAT328でMEGAがflash256KBの違いか?
上記では2560のほうが断然安い?
しかも格安のLCD Kuman Arduino用UNO R3 2.8 inch TFT モニターに至っては320x240 タッチスクリーン,SDカードリーダ付きで (@1,190)で驚き。これでmandelbrotしたい
uno R3が必要か? (@2,940)
MEGA 2560との違いはなんだ? (@1,150)
unoがAT328でMEGAがflash256KBの違いか?
上記では2560のほうが断然安い?
しかも格安のLCD Kuman Arduino用UNO R3 2.8 inch TFT モニターに至っては320x240 タッチスクリーン,SDカードリーダ付きで (@1,190)で驚き。これでmandelbrotしたい
2019年1月15日火曜日
クラウドとSNSを活用する
まず今年注目したいのは
- notion : 活用例と紹介 これも これもそう
※機能としては申し分ないけどグループで使おうと思うと一人$8/月はどうか? - dropbox paper : もはやchromeでは自動でパーソナルエリアに飛ぶので本来のHPがでない 紹介記事 ビジネスwikiとして文書間リンクやページ内リンクがマニュアルなどを作るのに良さそう 共有ホワイトボードって言い方がツボ 目下のマニュアルなどの共有はこれのつもり
- torello , slack : torelloの紹介 この他多数あり slackはビジネスのtwitterのようなもの
- google drive , onedrive : スプレッドシートなどを伴うクラウドストレージ APIあり
- evernote , dropbox : ともにメモツール付きのクラウドストレージ(と言いつつevernoteはメモのみ無料は60MB) 最初から有料ならDOCBASEもあり
- twitter, instgram , line : いずれも有名なSNSでスマホではlineを利用中 twitterに注目
とどこから手をつけて良いものやら・・・
使用中は
- dropboxとpaper : paperはevernote 同様、入れているだけ。活用したい
- line : スマホのメイン利用ツール
- google drive : 誰かと情報を共有するツールとしてはいい感じ onedriveにも手を伸ばす
- twitterを不特定多数への宣伝ツールにできれば面白い
- 機能に引かれるのがnotionでtorelloやslackに対する優位性を考えてみたい
なんとも壮大な・・・誰かを巻き込んでやってみたい
2019年1月12日土曜日
paiza.io と paiza cloud
最近のお客様の依頼で調査していて浮かんできたのがクラウド実行環境のレンタル(月額@1,980)のpaiza.cloudだ
そして無料の各種言語のプログラミング練習環境 paiza.io である
対応する言語は
Bash, C, C#, C++, Clojure, Cobol, CoffeeScript, D, Elixir, Erlang, F#, Go, Haskell, Java, JavaScript, Kotlin, MySQL, Objective-C, Perl, PHP, Python2, Python3, R, Ruby, Rust, Scala, Scheme, Swift, VB
ぐらいか?凄い
手持ちの環境を離れてまで触る必要も感じないがちょっと書いてみたりするには良さげ
(ただし1RUNの実行時間の制限が2秒は結構きつくてmandelbrotなど重い処理のベンチなどは取れなさそう)
そして無料の各種言語のプログラミング練習環境 paiza.io である
対応する言語は
Bash, C, C#, C++, Clojure, Cobol, CoffeeScript, D, Elixir, Erlang, F#, Go, Haskell, Java, JavaScript, Kotlin, MySQL, Objective-C, Perl, PHP, Python2, Python3, R, Ruby, Rust, Scala, Scheme, Swift, VB
ぐらいか?凄い
手持ちの環境を離れてまで触る必要も感じないがちょっと書いてみたりするには良さげ
(ただし1RUNの実行時間の制限が2秒は結構きつくてmandelbrotなど重い処理のベンチなどは取れなさそう)
2019年1月8日火曜日
linux mint を約半年運用して思うこと
HP dv6が調子悪くなってwindowsの更新すら上手く当たらなくなってlinux専用機にして約半年ある程度見えてきたこともある。知見と展望を書く
- 日常の利用は困らない・・・webはchromeで見るmailもwebmailだしOSは何でも同じ
- 言語も.net以外はほとんど動くので実験などは困らない、文字コードがGUIもコンソールもutf-8なので管理が楽(windowsはshift-jisとunicode16beとutf-8の混在がうざい)
- ubuntu系のaptに代表されるッケージ管理がめっちゃ楽
ただしいろいろなインストール方法をネットなどでコピペしまくると収集がつかない
javaの環境でおかしなことになってnetbeansも動かないしswingすらimportできなくなった - ubuntuの標準ファイラよりもmintのほうがrarの解凍はエラーが出ない(これは良い)
- ubuntuの標準ファイラのほうがmintのファイラよりもsmbには接続しやすい
最初はNASに繋がれなくて困った。gigoloで解決した - Windows系の開発はリモートで行う
相手がproならRemminaでリモート接続すれば超快適
相手がhomeだとWindowsリモートはできないのでTeamViewを使う
(anydeskは自分の環境では上手く行かない) - ターミナルが賢いので「小説家になろう」などをkidleに変換するのはlinux系のほうがかなり楽、windowsではブラウザからのコピーが超面倒
- 印刷はlinux mintではoki c301dnに出力できない(pdf経由でWinPCにから行う)
今後は
- 手持ちのSSDにlinux mint 19.1を試してみる
- HP s5-1050jpのメモリーを16GBに増設
- windows10ノートをゲットしたらWSLを導入して上記のメリットを享受する
- サーバが必要になればnp11にubuntuサーバを入れて使う
2018年12月26日水曜日
やっぱりcp/mが好き
ことの始まりは「マイクロコンピュータのプログラミング bit '78」なのだ。
この書籍ではモニタプログラム、エディタ、アセンブラ、tinyBASIC、μPLANが紹介されている。
やはり8bitcpuを自在に使いこなすことに憧れがある。
そしてFDDを使った高度なプログラミングの象徴が高嶺の花だったcp/mなのだ
現在ならwindowsPCでもmacでもそしてlinuxでもエミュレータで動かせる
この書籍ではモニタプログラム、エディタ、アセンブラ、tinyBASIC、μPLANが紹介されている。
やはり8bitcpuを自在に使いこなすことに憧れがある。
そしてFDDを使った高度なプログラミングの象徴が高嶺の花だったcp/mなのだ
現在ならwindowsPCでもmacでもそしてlinuxでもエミュレータで動かせる
- cp/m player 日本で旧PCのエミュレータといえばこの人
- CP/M program EXEcutor for Win32 ソースも入っているらしので楽しみ
- altair 8800 CP/Mシミュレータ 他サイト さらに他サイト
上記の1,2がwin32でcp/mを実行する環境を提供するのに対して
altair 8800はwin,osx,linux,ザウルスでの実行ができるようだ。
結局、2019初頭での現状としてlinux mintではyazeを動かしている。
cp/m2.2の動作でtypeとか効かないとか悲しいのでデフォのcp/m3.0で使っている
(mbasic = basic-80動く turbo pascalはまだ試していない)
(mbasic = basic-80動く turbo pascalはまだ試していない)
もちろんエミュレータで動かすほうが快適で楽ちんなのだが実機で動かす醍醐味というものもある
残念ながら投入する金と手間暇に対するリターンを考えたときにSBC8080とかはもっと自己研鑽がすすんでからの挑戦になるのは明らか
で、ロクにハンダも使わずにハードウェア上でcp/mを動かしたいとなればハードウェアのありものを使ったエミュレーションということになる。で、注目しているのがこれら
- CP/M 8266 これESP-WROOM-02 (EP8266) モジュールの載ったボードであるESPr® Developer を用いてWSLのubuntuなどでコンパイルしたcp/mエミュレータを入れて動かすもので本体は2000円で送料を見込んでもおつりがくるもの マイクロSDすらいらないみたい
(年が明けて見てみたらESPrは年末特価が終わって送料込みだと2,000円は越すなあ)
このESPr@DeveloperについてはここをみるArduino IDEでいろいろ出来るようなので1枚はCP/M8266用としてそしてもう一枚はその予備兼本来の機能の実験用として2枚ほしい。
因みに上記の実験用ピンソケット実装済みのものは2,376円
またAitendoでESPr@Developerと同様の仕様かは不明なれどこんな製品もある
(こちらはピンヘッダ付きで@695 使っている人のブログ、これも)
(Amazonでも@495である 紹介ブログ)
wo!やばい めっちゃいいいって浮かれてたけどflashが4MBでないと動かないらしく
現在流通しているのはFlash2MBらしい どうするよ?俺
秋月のESP-WROOM-02開発ボードなら@1,280で4MBらしい
めっちゃ怪しげだがこんなサイトもある@333ってすごくね ただしchipはESP12Sだけど
※Wifi使わないから技適関係ないしな - RunCPM こちらは Arduino DUE または Teensy 3.5 / 3.6 または ESP32 または STM32 (F4) のボードが必要でさらにマイクロSDがTeensy 3.6ならamaで4,680円とかでゲットできる
ESP32のdev-kitは秋月で@1,450 なのでこれかな? - mbed版CP/M 秋月のSTM32 Nucleo Board STM32F401で動くCP/Mエミュ
@1,800なので動けば面白いしこのボード自身はArduino互換なので楽しめそう
(このmbedのnucleoのシリーズはarduino互換ボードとしての興味も強くあって
現時点で最高峰のNUCLEO-H743ZIもマルツで@3,150+TAXでclock400MHz,Flash2MB,RAM640KBEthernet付きでちょっとしたPCなのだ。)
このNucleoシリーズはMicroPythonが使えるのでcp/mの後も楽しみは続く
上記の二者を比較してみたわけではないけどコンパイルの手間を惜しまなければ1のcp/m8266のほうが実行速度も速くて最初のチャレンジとしては良さげに思う
因みにESPr@基板はフリスクのケースに楽勝で収まる大きさ
因みにESPr@基板はフリスクのケースに楽勝で収まる大きさ
さて何から着手すべきか
※2019/01/30追記
普通追記はより発展する方向への記述が多いけどより後ろ向きの追記かも
※2019/01/30追記
普通追記はより発展する方向への記述が多いけどより後ろ向きの追記かも
- ブレッドボードでZ80 ここの「自作Z80 CP/Mマシン(4)」からブレッドボード活躍という感じ
- AVRCPM ATMega88と4bit x 256KのD-RAMとSD-Cardだけでエミュレータをつくるらしい
ただし日本語の紹介サイトによるとBuggyな感じもする。他の日本語の製作例 この方はFLISKの空き箱をケースにしていくつか作っている
UARTはaitendoのこれが使えそうだ
ドイツ語のページ もしかしたらBIOS等が使えないか?
AVRCPMのgithubサイト こちらは姉妹品?cp-mega88
なんで徒花っぽいのに惹かれるのだろう
※2019/01/31追記
※2019/01/31追記
でもやはりZ80を普通に使うほうが良いしPCB基板も欲しいのでZ-80MBCが正しいかも・・
2018年11月19日月曜日
cross-platformなbasicでマンデルブローを描く
まずはlinux mintでchipmunkbasicを使って
速度は17秒と我慢できないほどではないという程度
続いて同じソースをmacbookproで実行すると
なんと実行速度は7倍以上で3.07秒で完了
しかしながらこれがWindowsになると・・・まずはmint上のvirtualBoxのWinXPでは
時間は59秒となるが色がつかないというお粗末な結果
しからばWin7では・・・まずはmacbookproのparallels上のwin7だと
時間は29秒だけど色は相変わらずでNG bootcampで実行しても時間が17秒になるだけ
仮想環境とかだからダメと言われないように最近グラボを入れたExpress5800(Win7pro 32bit)では35秒で処理は終わるけど画面はでず(今回の試験中もっとも悪い結果になった)
ではもう一つのクロスプラットフォームを標榜するbasic-256はどうか?
windows xp(on virtualbox on linuxmint)で
描画はきれいに成功。しかし422秒かーと落胆しつつlinux mintでは
-1744秒??? これは所要時間計測の機能があんまりないので時計機能から分と秒をもらって[分*60+秒]を開始時と終了時に各々変数に入れておいて引いたものを表示しているからだ。
正しくは時間の補正を10800加えて9、056秒が正解・・・・超〜遅い。linuxの実装はどうなっているのか?ちなみにmacbookproだと良いバイナリーがみつからなくて試験をやめました。
もしwindows+linuxでの共通なソースで書くことに軸足を置くのなら十進BASICと言う手もあるけど・・・
悩ましい結果ですね
登録:
投稿 (Atom)
dosvaxj3が更新されていた。
最近、エミュレータ系をあまり触っていなかったのだけど久しぶりに見てみたらタイトルのようにdosvaxj3が更新されていた。 on emulatorでセルフにcなどのソースを書いて実行するのに母艦側の特定のフォルダをドライブとしてマウント出来たり普通に母艦のimeで漢字が入力でき...
-
まず今年注目したいのは notion : 活用例と紹介 これも これも そう ※機能としては申し分ないけどグループで使おうと思うと一人$8/月はどうか? dropbox paper : もはやchromeでは自動でパーソナルエリアに飛ぶので本来のHPがでない...
-
今年はずいぶんおかしな一年であった。 って年の瀬のような書き出しだが昨年11月末に持病が見つかってから1年間、治療、身内の特殊事情、9月の事故と結構な綱渡り もう残りの2ヶ月くらいは平穏に過ごせることをひたすら願う そしてこのページにもっと退屈しのぎ的な戯言を書き綴りたいもので...
-
Q. 上の 20×20 の格子のうち, 斜めに並んだ4つの数字が赤くマークされている. 08 02 22 97 38 15 00 40 00 75 04 05 07 78 52 12 50 77 91 08 49 49 99 40 17 81 18 57 60 87 1...



