みなさん、こんにちは。
今回は遊技機で使用されているプログラミング言語についてお話しします。遊技機で使用されるプログラミング言語ですが、主基板(メイン基板)には『アセンブリ言語』と呼ばれる言語を使っています。これは、別の呼び名で『アセンブラ』とも呼ばれています。サブ基板(周辺基板)には『C言語』が用いられることが多い)
今回は、メイン基板のプログラミングについて書いていきます。

アセンブリ言語とは?

そもそも、『アセンブリ言語』や『アセンブラ』とはどういったプログラムなの?という所からお話ししましょう。『アセンブリ言語』とは機械語(2進数の羅列)をニーモニックと呼ばれる命令語に置き換え、記述したものになります。例えば、機械語で「0111 1000」はアセンブリ言語では「LD A,B」となります。(「AレジスタにBを格納する」という意味)このような命令が全部で67個あり、現在でも家電製品の中でプログラムを組込んで制御を行なっているものに使用されています。
また、アセンブリ言語で記述したプログラムを機械語に変換することを「アセンブルする」ということで「アセンブラ」と呼んでいます。
ただし、『アセンブリ言語』自体は古い言語で「低級言語」と呼ばれおり、現在専門学校などで教えているところはあまりありません。
(これに対して、C言語やJAVAは人間に解るように書かれた「高級言語」と呼ばれています。)

続いて、遊技機に使用されているメインCPU(※)の話をします。
(※)メインCPUとは大当りや払出しに関する制御を行なっているもの
現在、メインCPUには「Z80」(ゼッパチ)と呼ばれるアセンブリ言語で書かれた8ビットマイクロプロセッサーを使用しています。(「Z80」は1976年にザイログ社によって発表されたCPUで当時では高性能だったため人気があった。ファミコンなどにも使用された。)このCPUの特徴は、一部の転送や演算は16ビットで行なうことができ、アドレス空間に最大65536まで使用できたことにあります。

なぜ遊技機のメイン基板はアセンブリ言語なの?

では、何故パチンコ業界では未だに『アセンブリ言語』を使ったり『Z80 CPU』を使ったりしているのでしょうか?
それは、「遊技機の認定及び型式の検定等に関する規則」において遊技機の「ROM」や「RAM」の容量や領域のサイズについて定められており、例えば、ROMの記憶容量は最大で16KB、RAMの記憶容量は1024バイトまでと決められているためです。
この大きさの中でプログラミングするとなると、どうしても機械語に変換するのが少なくて済む言葉が必要になり、そこで選ばれたのが【アセンブリ言語】や【Z80】という訳です。

現在、メーカーではメインプログラマーといえば「アセンブリ言語」が組める人を表しております。しかも、ただでさえ少ない容量の中に多くの仕様を盛り込みたい要望があるため、いかに効率良くコードが書けるかがメインプログラマーの腕の見せ所になっています。

主基板(メイン基板)以外に使用される言語

先ほどご説明した通り、遊技機の主基板(メイン基板)に関しては記憶容量の点で『アセンブリ言語』が使われていますが、他の基板(特に演出をつかさどるサブ基板)に関しては記憶容量が大きく、C言語などが使用されています。
液晶が搭載されているパチンコ・パチスロのサブ基板は、映像データ(楽曲データ含む)等、非常に大きな容量が必要とされるとともに高い画像処理を可能とするため、高価なLSI製品を使用しています。

 

プログラミングを学びプログラマーになって手に職をつける。私たちが当たり前のように使用している物や便利なツール・アプリなども全てプログラマーの方々が実現させていると考えると、とても幅が広い職種です。
プログラマーをはじめ、他の遊技機の企画・開発職に関心がある方は、下記のパチンコ・パチスロ業界の仕事をご覧ください。
<パチンコ・パチスロ業界の仕事>
https://www.g-e.jp/structure/job/