2017年05月19日
NEC PC98の牙城を崩したもの(中(前)編)
NEC PC98の牙城を崩したもの(前編)のつづきです。
誰でも公開された仕様通りにパーツを集め組み上げると、まるでPC/ATパソコンが出来上がります。
これがPC/AT互換機です。
でもこれではIBM製品の模倣品だ!
ともいえるようですが、
確かに仕様が公開されていない製品を解析し、その通りに作れば、知的財産の侵害に当たります。
しかし、解析部門と制作部門とに分かれ、作る側が解析に当たらなければ合法というものがあります。これをクリーンルーム方式といいます。
まして、仕様は公開されています。
このように海外では公然とIBMのPC/AT互換機がシェアを占めるようになっていました。
一方、国内でNECが台頭できた理由に、早くに漢字をROMで内蔵していたということがありました。
もともと英語圏でできたPCは、アルファベットの大文字・小文字と数字、それから多少の記号があれば良かったのです。
PC内部で文字は文字コードで扱われます。
簡単にいうと、文字にはそれぞれ番号が付けられており、番号を呼べばその文字が出てくるのです。
当時PCの画面は、テキストモードとグラフィックモードに分けて使われておりました。テキストモードは文字を表示するモード。グラフィックモードは画面にドットで絵や図形を書くモードです。
文字を画面に表示するには、まずプログラムでテキストモードにします。
テキストモード画面は、横80桁(全角40桁)、縦20行の原稿用紙みたいなもので、何桁目、何行目がそれぞれ、V-RAM(ビデオラム)のアドレスと一対一でつながっており、例えば1行目の1桁目に「A」と表示させたければ、対応するV-RAMのアドレスに「A」の文字コードを書き込めばその通り画面に表示さる仕組みになっていました。
ものすごく簡単に言ってしまうと、V-RAMがアドレス10000番地から始まっていた場合、アドレス10000番地が1行の1桁目。1行80桁だと、10079番地が1行80桁目。10080番地が2行1桁目となります。
現在でもWindowsのメモ帳にその名残りがあります。
アルファベットの大文字・小文字と数字、多少の記号だけなら、合わせて256文字にも至りません。
コンピュータが扱うデータの最小単位、1バイトで表現できてしまいます。
今さらですが、1バイトというのは、8ビットです。
0か1かの2進数が8桁です。
コンピュータは電気で動いていますから、電位があるかないかです。人間のように10本指で数を数える10進数は直接扱えません。
電位があるのを “1”、ないのを “0” で表します。
10進数なら、0、1、2、3、4、5、6、7、8、9、10と、10で2桁に桁上がりします。
2進数なら、0、1、10と、10進数では2のところで桁上がりします。
0、1、10、11、100、101、110、111、1000、1001、1010、1011、1100、1101、1110、1111
これが2進数です。すぐに桁が増えてしまいます。10進数では0〜15まで数えるのに、4桁も必要です。
1バイトで表現できる数字は2の8乗ですから、2×2×2×2×2×2×2×2=256
アルファベット、数字、記号だけなら1バイトのデータで識別できます。
ところが漢字はそうはいきません。何千文字とあります。
1バイトの文字コードでは表現できません。2バイトの文字コードが必要です。。
2バイトなら、2の16乗なので、65,536まで識別できます。これなら漢字もいけます。
いわゆる半角文字をPCでは1バイト文字。漢字などは2バイト文字と言います。もちろん、2バイト文字にもアルファベットや数字、記号があります。
勘の良い人なら、もうわかったかも知れません。
全角文字と半角文字は、このようにしてできました。
アルファベットの1バイト文字では1行80桁でも、漢字など2バイト文字は40桁です。漢字に比べ、アルファベットは半分なのです。V-RAMも2バイト文字は1文字につき2倍ずつ使うので、1行あたりに必要なV-RAM容量は変わりません。
このように日本語を表示するのに必要な仕組みをNECは早くに実装していたため、優位にシェアを伸ばすことができました。
しかし、PCに漢字を表示する機能を実装しなくてもソフトで表示することができるようになったのです。
誰でも公開された仕様通りにパーツを集め組み上げると、まるでPC/ATパソコンが出来上がります。
これがPC/AT互換機です。
でもこれではIBM製品の模倣品だ!
ともいえるようですが、
確かに仕様が公開されていない製品を解析し、その通りに作れば、知的財産の侵害に当たります。
しかし、解析部門と制作部門とに分かれ、作る側が解析に当たらなければ合法というものがあります。これをクリーンルーム方式といいます。
まして、仕様は公開されています。
このように海外では公然とIBMのPC/AT互換機がシェアを占めるようになっていました。
一方、国内でNECが台頭できた理由に、早くに漢字をROMで内蔵していたということがありました。
もともと英語圏でできたPCは、アルファベットの大文字・小文字と数字、それから多少の記号があれば良かったのです。
PC内部で文字は文字コードで扱われます。
簡単にいうと、文字にはそれぞれ番号が付けられており、番号を呼べばその文字が出てくるのです。
当時PCの画面は、テキストモードとグラフィックモードに分けて使われておりました。テキストモードは文字を表示するモード。グラフィックモードは画面にドットで絵や図形を書くモードです。
文字を画面に表示するには、まずプログラムでテキストモードにします。
テキストモード画面は、横80桁(全角40桁)、縦20行の原稿用紙みたいなもので、何桁目、何行目がそれぞれ、V-RAM(ビデオラム)のアドレスと一対一でつながっており、例えば1行目の1桁目に「A」と表示させたければ、対応するV-RAMのアドレスに「A」の文字コードを書き込めばその通り画面に表示さる仕組みになっていました。
ものすごく簡単に言ってしまうと、V-RAMがアドレス10000番地から始まっていた場合、アドレス10000番地が1行の1桁目。1行80桁だと、10079番地が1行80桁目。10080番地が2行1桁目となります。
現在でもWindowsのメモ帳にその名残りがあります。
アルファベットの大文字・小文字と数字、多少の記号だけなら、合わせて256文字にも至りません。
コンピュータが扱うデータの最小単位、1バイトで表現できてしまいます。
今さらですが、1バイトというのは、8ビットです。
0か1かの2進数が8桁です。
コンピュータは電気で動いていますから、電位があるかないかです。人間のように10本指で数を数える10進数は直接扱えません。
電位があるのを “1”、ないのを “0” で表します。
10進数なら、0、1、2、3、4、5、6、7、8、9、10と、10で2桁に桁上がりします。
2進数なら、0、1、10と、10進数では2のところで桁上がりします。
0、1、10、11、100、101、110、111、1000、1001、1010、1011、1100、1101、1110、1111
これが2進数です。すぐに桁が増えてしまいます。10進数では0〜15まで数えるのに、4桁も必要です。
1バイトで表現できる数字は2の8乗ですから、2×2×2×2×2×2×2×2=256
アルファベット、数字、記号だけなら1バイトのデータで識別できます。
ところが漢字はそうはいきません。何千文字とあります。
1バイトの文字コードでは表現できません。2バイトの文字コードが必要です。。
2バイトなら、2の16乗なので、65,536まで識別できます。これなら漢字もいけます。
いわゆる半角文字をPCでは1バイト文字。漢字などは2バイト文字と言います。もちろん、2バイト文字にもアルファベットや数字、記号があります。
勘の良い人なら、もうわかったかも知れません。
全角文字と半角文字は、このようにしてできました。
アルファベットの1バイト文字では1行80桁でも、漢字など2バイト文字は40桁です。漢字に比べ、アルファベットは半分なのです。V-RAMも2バイト文字は1文字につき2倍ずつ使うので、1行あたりに必要なV-RAM容量は変わりません。
このように日本語を表示するのに必要な仕組みをNECは早くに実装していたため、優位にシェアを伸ばすことができました。
しかし、PCに漢字を表示する機能を実装しなくてもソフトで表示することができるようになったのです。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/6279888
この記事へのトラックバック