Digital」カテゴリーアーカイブ

NTVDM error

Windowsで16bit版アプリがNTVDMエラーで使えない場合の対処方法

比較的新しめのWindowsで16bit版アプリなどを使う場合の選択肢の1つは、32bit版WindowsがサポートしているNTVDMの機能を使います。

64bit版WindowsではNTVDMは利用出来ません。
ちなみにNTVDMはwindows NT Virtual Dos Machineのことです。

32bit版で初めて使う場合はNTVDMのインストール作業がありますが、その後になぜか設定が変わって「NTVDM encountered a System Error」というエラーで使えなくなることがある用です。

その場合、NTVDM関連の設定を確認します。

Windowsのコントロールパネルでプログラムと機能から、Windowsの機能の有効化または無効化からレガシコンポーネントにあるNTVDMをチェックします。

そして、コマンドプロンプトのプロパティから、レガシコンソールを使用するをチェックします。

これで動作するようになります。

レジゴー

AEONのレジゴーとイトーヨーカドーのIYマイレジ

近所のAEONは2020年にレジゴー対応。近所のイトーヨーカドーは2022年末にIYマイレジに対応した。
これはスマートフォンなどで、自分で購入する商品をスキャンし、レジでは会計だけするようなシステムで、セルフレジではなく、セルフスキャンのようなシステム。

AEON系のレジゴーは、店舗にあるスマートフォンのような物でもスキャンできるし、自分のスマートフォンも専用アプリを入れれば使える。イトーヨーカドー系のIYマイレジは、自分のスマートフォンで専用アプリを入れないと利用出来ない。

IYマイレジ

レジゴーの場合は自分のスマートフォンを使う際には、まずどの店舗で使うかを選ぶ必要がある。IYマイレジは店舗内にあるQRコードをスキャンするところから始まる。IYマイレジで使う場合、買う気が無く店に行って急に買う気になった場合にはQRコードを探すところから始まる。
店舗内のQRコードの位置を把握しておく必要がある。

店舗内で、店舗の設定をした上で、購入する商品をそれぞれスキャンする。バーコードがない商品は自分で一覧から入力する。例: 長ネギ1個、トウモロコシ1個など。
それはともかく、IYマイレジは利用開始前に真面目に読むと30分以上かかりそうな長文の利用規約を確認させる。この手の誰も読まない利用規約の確認システムは法的に規制した良いと個人的に思っている。

スキャンが終わって会計する際には、レジゴーは会計する操作をしてQRコードを表示させ、そのQRコードをレジでスキャンする。IYマイレジは会計操作をした後に、バーコードが表示され、手動でバーコードスキャナを持ってスキャン。

レジゴーはQRコードを見せ、店員に確認したらAEONのレジシステムで会計をする。
IYマイレジは会計操作をスキャンした端末でそのまま会計する。

レジゴーは会計した後は通常と同じ。
IYマイレジは会計後に店員にレシートを見せて、そのコードをスキャンした後にIYマイレジシステムの出口からでる。

レジゴーとIYマイレジのどちらが良いかは微妙だが、AEONのどのレジでも使えるレジゴー、IYマイレジは店舗のQRコード探しから始まり、専用レジに行かないと行けないという点を考えると、レジゴーの方が利便性は高いと言える。

バックアップのすすめ

バックアップとは一般的にデータを他の場所に保存する事ですが、2022年7月に発生したauの回線障害によって、ようやく通信回線のバックアップに関しても注目が集まろうとしていると個人的には感じています。
(結局の所、データのバックアップと同様に多分誰もやらないでしょうが)

IT機器ほどバックアップがやりやすく、バックアップしておく事によって、何かあったときにも、ほぼ何の問題も無く業務、趣味、遊びなどなどを続ける事が可能になります。
この負担はたいしたことありません。

バックアップは誰でも簡単、機器のコスト負担はなし

バックアップ用に新たに機器等を買う必要は無く、新機種等の買換タイミングを多少短めにして、旧機種をバックアップにすればいいだけです。
もちろん、バックアップ用の機器を買うのも良いでしょう。

つまりこうです。

スマートフォンなら、仮に3年に一度買い替えている場合、3年後に下取りに出したりせずに、古い機種もそのまま使える状態にしておくだけです。
この場合、3年に1度の買い替えをそのままにしている場合、古い機種はタイミングによっては6年前の機種になってしまいますが、新しい機種が壊れた場合などにも以前の機種がそのまま使えます。サービスによりますが、登録しているアカウント等もそのままにしておけば、簡単に今までのデータも継続して使えます。

パソコンの場合も、同じように古い機種をそのまま保管しておくだけです。

どちらも、そのままどこかにバックアップ用として補完して置くのではなく、例えば家でながら見の動画視聴用に使う、スマートフォンは何かのゲーム専用にしておくなどして普段から使い、古い機種も常に活用しておくのがおすすめです。

このようなバックアップ用に古い機種も併用する場合は、ギリギリまで使わず、比較的早めに新しい機種に交換していった方が何かあったときも比較的に快適に使えます。
スマートフォンなら2から3年おき、パソコンなら3から4年おきくらいが現実的でしょうか。

通信回線はどうする

事業者の場合は考える必要がありますが、個人宅の通信回線をNTT系とKDDI系を引くというのはあまり現実的ではないです。
個人宅の場合、固定回線と携帯電話系の回線の2種類あればどちらかのバックアップは可能です。

固定回線と携帯電話系回線を用意している方は多いと思いますが、携帯電話系回線を複数用意している方は多くはないでしょう。

日本の場合、携帯電話系回線は、docomo系、au系、ソフトバンク系、楽天モバイル系があります。
楽天モバイルは2022年のプランの見直しで、最低料金が上がってしまいましたが、数百円程度から維持できる回線もあります。自分が何かあった時用の回線として、メイン回線とは別系列の回線を用意しましょう。

例えば、docomoをメインに使っていて、ahamoやドコモのMVNOをバックアップ回線にすることは意味が無いです。同じdocomoの回線ではなく、au、ソフトバンク、楽天モバイルなどのdocomoとは関係ない回線をバックアップにします。

例えば、ahamoがメイン回線なら、povoをバックアップにすれば、どちらかのサービスが止まった場合も問題なく通信サービスが利用出来ます。

最近はeSIMも普及し始めているので、積極的に使いましょう。eSIMなら1つの端末に物理SIMに加えてeSIMを入れておけるし、複数のeSIMの登録も可能です。複数設定しておけば、細い針金などを用意する必要なく、いつでも切り替えて使えます。

ネットサービスはどうする

スマートフォンが壊れる、パソコンが壊れる事は数年に一度はあり得ます。通信回線が障害で使えなくなることはめったにないですが、これらの障害に備える必要があります。
これらの障害以上にたびたび障害が発生しているのがネットサービスです。一般的なネットサービスの稼働率(SLA)は99.9%程度です。1000日に1日程度は止まる。これは100日に0.1日くらいになります。
つまり、3ヶ月に1度程度、2.4時間程度はサービスが止まる可能性があるという事です。
(Googleなどのどこかのサービスは実際に定期的に止まってます)

例えば電子メールはGmailをメインで使っている場合、Google系のサービスが止まった場合に連絡手段がなくなってしまいます。

電子メールはGmailに加えて、例えばMicrosoftのOutlookなどをバックアップ用に設定します。
チャットサービス等を使っている場合も、AmazonのAWS系列を使っているところをメインに使っているなら、MicrosoftのAzureかGoogle Cloudのどちらかを使っているサービスをバックアップ用に用意しておく位のことは必要です。

電源も気にする

外出先でスマートフォンの充電容量が減ったときのためなどに、モバイルバッテリーを持ち運ぶのは一般的かも知れないですが、自宅の電源はあまり考えていない方も多いと思われます。

最近は、自宅のバックアップ電源に使える大型のバッテリーも増えています。
以前は選択肢が少なすぎた太陽電池も、品揃えが増えているようです。

何らかの形で、自宅での電源バックアップも考えるようにしましょう。

端末、通信回線、サービスのバックアップに加えて緊急連絡先も用意して情報を共有しておこう

何かあっても通常業務が続けられるように、端末や通信回線のバックアップを用意しましょう。このような事は冗長化などとも言われていて、重大システムでは当たり前に行われている事です。
その上で、利用しているサービスの代替手段も用意しておきましょう。

特に普段やりとりしている人とは、メールアドレスや、メッセージアプリだけでなく、複数の連絡先を複数共有し、何かあったときに慌てないような他のサービスの利用についても共有しましょう。

このような準備体制は、BCP(Business Continuity Plan : 事業継続計画)と言われています。
機器やサービスでの体制を整えた上で、運用方法についてもしっかり体制を整えることが重要です。

もちろん、データのバックアップも行いましょう。

PDP-1

1950年代からやってるDX

2010年代後半からDX、Digital Transformationが重要だとして、各社が売り込み、導入に躍起になっていますが、このようなデジタルによる様々な改革は1950年代から名前と形を多少変えて繰り返されています。

DXとはデジタル化ではない

DXとデジタル化と勘違いして、紙ベースで行っていた業務をデジタル化しようという動きもありますが、DX自体はデジタル情報を活用してビジネスを変革させようというような動きです。

DXはすでにデジタル化はされている中で、その情報をどう活用しているかという事が重要であって、デジタル化自体はそれ以前の問題です。

実際に企業がDXにどのように取り組んでいるかをデルが2020年より開催している「中堅企業DXアクセラレーションプログラム」の内容をみると、デジタル化などはすでに終わらせ、実勢にどう活用していくかを各社が実施していることがよくわかります。

注目すべきは、大企業では無く中堅企業の情報システム部門では無い各事業部門の担当者がデジタル化された情報を、いかに活用するかを様々な方法で実際に実施して事業に生かしているという事です。

例えば、社内の売上げデータと、他のオープンデータと組み合わせて、オープンデータからの売上げ予測を分析するシステムを自分で設定して、業務計画に生かすのようなことを、デルのDXプログラムに参加している企業の担当者は行っています。

現在は2回目となるプログラムが開催されています。
https://www.dell.com/ja-jp/blog/dx-2-2/
DXを本気で活用したい方は、他社がどうやっているのかを確認する意味でも注目のプログラムです。

1950年代のEDPから続く情報改革

世界初の1チップとマイクロプロセッサといわれる、インテルの4004の登場は1971年。それ以前からコンピュータは存在し、DEC(現在のHP)のミニコンピュータPDP-1は1960年代に登場。
初期のメインフレームの日立製作所 HITAC 5020 は1963年に登場、日立の初のデジタルコンピュータ HIPAC MK-1 は1957年に登場した。
初期の商業コンピュータは真空管を使った1956年のRCA BIZMAC、1954年に初の量産されたされたIBM 650、主に米国政府に導入された1951年のUNIVAC Iなどがある。初の商業コンピュータはイギリスで開発され、1951年2月にマンチェスター大学に納入されたFerranti Mark 1と言われている。

このような状況で、1950年代は実際にコンピュータを導入する企業や組織、その検討が広まっていた時代で、人がやると何時間もかかる計算をコンピュータだと一瞬で出来るなどとして、EDPという考え方が広まったそうだ。

EDPはElectronic Data Processingの略で、その後ADP(Automatic Data Processing)、オンライン化したIDP(Integrated Data Processing)などに発展。
1960年代頃になると、これらを発展させた、経営情報システム(MIS, Management Information System)、1970年代には意思決定支援システム(DSS, Decision Support System)のようなシステムが登場。

参考 https://www.issj.net/is/02/index5.html

その後1980年代頃になるとマイクロコンピュータの発展によって大きな部屋に置いておくコンピュータが、事務所内に入っていくことでのオフィスオートメーション、いわゆるOA(Office Automation)につながっていく。

つまり、まだまだ一般企業にパーソナルコンピュータが入る30年前の、大型コンピュータがやっと大企業等に導入されるような状況からこのような用語が使われているということ。

その後は1990年代にパーソナルコンピュータは一人1台の時代へ、2000年代になると、携帯電話が普及。2010年代になると手のひらで使えるコンピュータ、スマートフォンが普及、クラウドサービスも一般化し、2010年代後半から始まるDXへとつながっていく。

形を変えてやってくるコンピュータ活用

1950年代のEDPから、2020年代のDXまで、70年間に様々なコンピュータ活用の悪く言えばバズワード(buzzword)が登場しました。

おそらく、2030年代、2040年代にも新しい名前を付けたこのような流れは登場するのでしょう。
それが量子コンピュータなのか、AIが本格的に普及した頃のなにかなのか、それとも今は存在しない、存在してても誰も知らない何かから来るのか誰もわからないでしょう。

DX自体は2004年に提唱されていたそうなので、そろそろ新しい概念はどこかで公表されていて、誰かがどこかで広めるのを待っている状況かもしれません。

確実に言えるのはDXの次の用語は確実に来るだろうということです。

Gameboy開発環境の情報を集めてみる

ゲームボーイカラーのCPU

プログラミング学習にはいろいろとやり方がありますが、なんだかんだであの伝説のポータブルゲーム機Gameboy(ゲームボーイ)用のソフト開発が一番いいのではないかと思って調べてみました。

もちろん、正規の開発環境は任天堂からしか提供されないですが、有志が勝手に調べた開発環境がかなり充実しています。
一般的なプログラムをやりたくなる目的の1つは「ゲームを作りたい」だと思います。それもWindowsなんかではなく、最終的にはゲーム専用機でやってみたい方が多いのではと思います。
実際にゲームを作っている方でも、任天堂のプラットフォームでゲームをリリースする夢を持って始めた方も多いのではと思います。

その夢に一番近いのがゲームボーイでの開発の気がします。
ゲームボーイなら8ビットCPUなので、コンピュータの基本的な事を学ぶのにシンプルで、アセンブラで機能のすべてを使った事もやろうと思えばやりやすい。ゲーム機本体自体も基本は十字キーとボタン、ディスプレイとスピーカーというシンプルな構成。
ここである程度出来るようになれば、コンピュータの深いところも理解出来たという事なので、これから出てくる新しい事なんかは簡単に応用できるようになるのではないでしょうか。

このゲームボーイのCPUはZ80と8080が混ざったような物なので、PCで一般的なCPUのx86の基本的な事が学べます。
この後にゲームボーイアドバンスの開発をかじれば、CPUはARMになるので、スマートフォンで一般的なARMの基本的な事が学べるでしょう。
いきなりセキュリティ関連でややこしい最新の64bit CPUから学習するよりも、ハードウェアの基本的な事は学びやすいはずです。

2022年現在利用出来る開発環境はC言語とアセンブラ。
まずはC言語である程度やってからアセンブラもちょっと足を踏み入れて、ちょっとでも出来るようになれば、今後の応用次第で何でも可能になるだろう。そんな流れです。
C言語をある程度知っているなら、いきなりアセンブラから入って苦労するというのもいいでしょう。

作ったプログラムをどうやって実機で動かすのかという問題はともかく、エミュレーターで動かせるので、実機自体は後でどうかすれば良いです。
実機は中古で数千円で購入できるので、その辺からどうにかすれば良いです。

そんなことで2022年現在の開発環境です。

ゲームボーイ開発環境

GB Studio

Windows、Mac、Linuxなどでローコード的にGameboyのゲームを開発できる環境。
入門の入門によさそう。

https://www.gbstudio.dev

GBDK

2001年までのGameboy Development Kitが2020年に新しくリブートされた。
C言語とアセンブラで開発出来る。

http://gbdk.sourceforge.net
https://sourceforge.net/projects/gbdk/

https://github.com/gbdk-2020/gbdk-2020

RGBDS

Rednex Game Boy Development System。アセンブラで開発出来る。

https://github.com/gbdev/rgbds
https://rgbds.gbdev.io

WLA-DX

アセンブラで開発出来る。

https://github.com/vhelin/wla-dx

デバッガ

BGB

http://bgb.bircd.org

各種情報源

https://gbdev.io

Gameboy Development Wiki
https://gbdev.gg8.se/wiki/articles/Main_Page

GameBoy Dev’rs
http://www.devrs.com/gb/

PD Roms
https://pdroms.de

https://github.com/gitendo/helloworld
https://gbdev.gg8.se/files/roms/blargg-gb-tests/

コミュニティ

Gameboy Development Forum
https://gbdev.gg8.se/forums/index.php

日本語の情報源

http://boy.game-pc7.com
http://gb-dev.blogspot.com

http://mydocuments.g2.xrea.com/html/gb/gb.html
https://www.dkrk-blog.net/game/gb_dev_basic
https://www.wizforest.com/diary/120123.html