レス数が1スレッドの最大レス数(1000件)を超えています。残念ながら投稿することができません。
おちゃめくらぶ掲示板
-
やっぱり、セルフ開発できないと・・・
私がポケコンにハマったのは「お手軽」かつ「いつでもどこでもプログラミングできる」
というのが大きいにょ。
「お手軽」というのは初心者でも扱い安い高級言語のBASICを搭載しているということや
ハードウェアキーボードを備えているというのが大きいにょ。
「いつでもどこでもプログラミングできる」というのは本体が小型軽量で長時間駆動ができ
そして欠かせないのがスタンドアローンでセルフ開発可能なことにょ。
ポケコンに出会う前にすでにパソコン(当時は「マイコン」と呼んでいた)に触れていた
ために当時は主流だった1行表示(機種によって異なるけど1画面に12〜24文字しか表示
できなかった)のポケコンを見て「これがコンピュータなのか」と思っていた部分もあった
けれど実際に触ってみると「ちゃんと自作プログラムが動く」ということでその不安点は
払拭されたにょ。
当時パソコンが欲しくても買えなかった(PC-8801ならば本体+モニタで20万円以上していた)
けどポケコンならば安い機種ならば1万円台なので小遣いを数ヶ月分ためれば何とか手が
届く金額であるためポケコンを買うことにしたにょ。
まぁ「ちっちゃいものが好き」というのもかなり影響しているけどね(笑)
ここで難しいのは当時ポケコン界のトップ2であるカシオとシャープのどちらにするのか
ということにょ。
周りに使っているユーザーが多かったのと自由にキャラ表示を行えるシャープの機種に
することにしたにょ。
ただし、予算の関係もあって買えたのはローエンドのPC-1245だったけどね。
このPC-1245はメモリ2.2KB(この2.2KBにはVRAMなどのワークエリアや変数記録専用の領域を
含んでいるため実際にユーザーが使えるのは1486バイト)、12文字表示の液晶ということで
上位機種のPC-1251やPC-1255と比べると見劣りしていたけどメモリと画面サイズ以外は同一で
あるためソフトウェア資産を生かすことが可能にょ。
このPC-12xxシリーズは後継となったPC-1246系を除けばPOKEでVRAMに直接データを書き込む
ことでオリジナルのキャラ表示(グラフィック表示)が可能だったということが上記の
ように私の大きな選択ポイントになったにょ。
ただし、その反面コンソール(文字)のみでゲームを作る場合にはカシオのPB-100シリーズ
と比べて大きく劣っていたにょ。
それは、PB-100系はPRINT CSRで12桁の液晶の自由な位置に(LOCATE表示と同じ)文字表示が
できたけどシャープのPC-12系(126x系を除く)はそれができなかったからね。
それに使用できるキャラ数もPB-100系の方が多く文字だけでゲームを作る場合にはかなり
不利な立場だったにょ。(PC-12系は演算中は文字が消えてしまう仕様であるためそれを
防ぐにはCALL &11E0としてLCDをONの設定にする必要があったけどPOKEやCALLは隠し命令
扱いだったためマニュアルには記載されていない)
それに処理速度の面もPB-100系の方が速かったにょ。
何せPC-1245はFOR〜NEXTの1000回ループで42秒もかかったからね。
これは同じシャープのポケコンでも最近まで現役機種だったPC-E650が1.4秒であるため
30倍の速度差となるにょ。(FOR〜NEXT以外はそこまでの差はないけどそれでも10倍以上
PC-E650より遅かった)
しかし、PC-12系はPB-100系と比べて圧倒的に優れている点はマシン語が使えるという点にょ。
VRAMに直接書き込むことでグラフィック表示が可能になるとはいえ、速度面ではかなり
厳しかったからね。
アクションゲームなんてとても実用レベルという速度は無理で固定画面のゴルフゲーム
とかのそこまで処理速度を要求しないゲームが精一杯だったにょ。
「ポケコンマシン語入門」を片手にハンドアセンブルして簡単なマシン語プログラムを
作ってみたけどマシン語の場合は事前にセーブすることが必要不可欠だったにょ。
当時セーブする媒体といえばカセットテープだったにょ。
部屋の中をあさったらポケコンプログラムをセーブしたカセットテープが見つかったにょ。
http://twitpic.com/a5p4zy
たぶん部屋の中を探せばさらに10本くらいは見つかりそうにょ。
ちなみに新品のカセットテープもあったにょ。
http://twitpic.com/a5p77i
今は無き「パソコン用カセットテープ」にょ。
昔はFDは高価であり、8ビット機の時代はパソコンでもカセットテープによるプログラムの
保存はポピュラーなものだったにょ。
当時のポケコンの記録速度は300bpsであったため2KBのプログラムのセーブやロードに
約1分かかる計算となるにょ。(PC-1245を購入当初はカセットデッキと接続するインター
フェイスを購入する予算が無かったのでプログラムはすべて紙に書き写すという原始的な
方法で保存していたためカセットに記録できるというだけでもかなりの恩恵があった)
PC-1245は1486バイトだったけど次に買ったPC-1401は3534バイト、PC-1350は3070バイトで
あったため1分半〜2分必要だったにょ。
カセットテープの場合は音量などの調整をしないとロード時にエラーが発生することが多く
あるためセーブやロードが頻発するだけではなくアセンブラは非搭載であるため紙に
アセンブラを記述した後にニモニック表を見ながらハンドアセンブルをしなくては開発
できなかったマシン語はポケコンの手軽さを損ねることになったにょ。(脳内でバグ無しの
プログラムを書けてニモニック表を無しで直接入力できる人ならばまた変わってくるだろう
けれど私はマシン語をそのレベルに達することはできなかった)
PC-1245が故障してから次に買ったのは上記のようにPC-1401にょ。
これはPC-1245と同じ12桁表示の液晶だけどCPUのクロックがPC-1245の576KHzから768KHzに
なっているため演算速度の高速化が行われており「高速版PC-1245」として重宝したにょ。
メモリもPC-1245の上位機種のPC-1251と同じ3534バイトだし、購入当時の価格はPC-1251
よりも安かったからね。(ただし、ROMアドレスやフリーエリアのアドレスが異なるため
POKEやCALLを使ったBASICプログラムや絶対ジャンプを使ったマシン語プログラムは作り
変えないと動作しなくなってしまった)
それに、電卓モードが搭載され関数電卓感覚で計算可能になったのは便利にょ。
元々ポケコンはRUNモード(プチコンで言うと実行用モード)とPROGRAMモード(プチコンで
言うと編集用モード)を備えておりRUMモードではプチコンとは異なりPRINT命令を使わなく
ても「2*3[ENTER]で6を表示可能」なものだったので電卓モードが無くても電卓的な使い方は
できていたけどね。
PC-1350を買ってからは画面サイズが大きく(24文字x4行と当時のポケコンの中では最大
クラス)、直接VRAMにPOKEで書き込まなくてもPSETやLINEやGPRINTといったグラフィック用
命令を備えているためBASICでもグラフィカルなゲームを作れるようになったにょ。
また演算速度もPC-1401と同レベルであり、PC-1245と比べれば速いとはいえ、それでも画面
サイズの割にかなり遅かったため100m走のプログラムをBASICで書いたら表示を簡略化しても
9fpsしか出なかったため連射ではなくボタンを押すタイミングを重視したゲームとなったにょ。
そこで重宝したのが「ポケコンマシン語ブック」に掲載されていた「BASICコンパイラ」にょ。
一部互換性のない命令があり、BASICプログラムはそのまますべて使えるというわけではない
もののBASICで普通に作ったものと比べ簡単に10〜30倍程度の速度が得られたにょ。
PC-12系用にも「ポケコンパイラ1251」があったもののPC-1245ではメモリ不足で使えなかった
けれどメモリが標準で3070バイトあるPC-1350ならばコンパイラを使用してもフリーメモリが
1000バイト少々あるため簡単なアクションゲームは十分に作れたにょ。
カセットテープによるセーブ、ロード地獄から逃れられたわけではないけど速度面においては
不満がないレベルになったにょ。
ポケコンはカセットテープにしかプログラムを記録できないというわけではなくオプションで
FDDも用意されていたにょ。
ただし、シャープのポケコン用に用意されたポケットディスクは厳密にはランダムアクセスが
できないクイックディスクと同じ原理の製品であり、片面64KB(両面128KB)の記録容量にょ。
それで、定価が49800円(メディアが10枚で5000円)というのは当時としてもやや高めの価格
設定だったにょ。(あまり売れないオプションだから仕方ないけど)
やはり、プログラムを保存する媒体として重宝したのがメモリーカードにょ。
ただし、今で言うとSDカードのような汎用品ではなくプレステやPS Vitaのメモリーカードの
ような専用品だったにょ。(当時は汎用規格そのものが無かったから当然だけど)
ちなみに私の手元にあるのは8KBと32KBのメモリーカードにょ。
http://twitpic.com/a5pafi
これは8「GB」でも8「MB」でもなく8「KB」にょ。
これで定価が18000円だったからいかに当時とはいえ割高感は否めなかったにょ。
これも大量に売れないオプションであるから仕方ないことだけど・・・。
メモリーカードはPC-1350用のは持っておらず、これはその後継機種PC-1360以降のポケコンで
使えるものにょ。
このメモリーカード(RAMカード)はメインメモリと同じSRAMが使用されているため単なる
外部記録装置ではなく動作用メモリ(メインメモリ)の拡張用にも使えたにょ。(本体メモリを
メインにするかRAMカードをメインにするか、合算したものをメインにするかはMEM$命令で
簡単に設定できるけどこれはプチコンのMEM$とは全く異なるものとなっている)
さて、やはり開発環境が大きく変わったのはPC-E500の登場だと思われるにょ。
PC-E500はPC-8801(初代)に匹敵する演算速度(ただし、表示に関してはPC-88と比べたら
さすがに完敗だった)を持ちポケコンの中では当時最速でありPC-1350と比べると何と5倍以上の
速度だったにょ。(それに標準で32KB、フリーエリアも28600バイトもメモリがあったため
当時としてはすごい大容量だった)
そして、プログラムの高速化を駆使(普通に組んだ場合と比べて2〜5倍速になり、雑誌掲載の
プログラムでも平均3倍速を実証済み)すればPC-1350のBASICコンパイラ以上の速度となった
ためにマシン語を使わなくてもBASICでもそれなりに高速なゲームを作れるようになったにょ。
http://ww5.tiki.ne.jp/~ochame/E500/TECH/basic1.htm
もっともその高速なポケコンもプチコン(ver.1.1)と比べた場合でも60〜100倍くらい遅い
のだけど・・・。
http://ww5.tiki.ne.jp/~ochame/petitcom/what.htm
PC-E500系はPC-1350と互換性があるGRPINT命令によるグラフィックキャラ表示も行えるけど
それは非常に遅いためフォント書き換え(プチコンではBGF0をCHRSETで書き換えるPCGに相当
するもの)がポピュラーなテクニックとして定着したにょ。
http://ww5.tiki.ne.jp/~ochame/E500/TECH/TECH005.HTM
さらに、その「フォント書き換え」を応用したOPASを使えばドット単位の横スクロールゲームも
作れるようになったにょ。(プチコンでいえばPCGを駆使してBG画面によるスクロールのような
ものを実現している感じだけどこれはポケコンのPCGの柔軟性が高いからこそ実現可能になった
機能といえる)
http://ww5.tiki.ne.jp/~ochame/E500/TECH/OPAS.HTM
演算速度は現在唯一の現行生産されているポケコンである「PC-G850VS」と比べて半分くらい
しかないものの上記のフォント書き換えやOPASを使えばゲーム作成においては速度面では有利な
立場に立てるわけだし、RAMカードが使えるし、BTEXT$によってセーブ無しで複数のプログラムの
同時編集が可能になるためお手軽さはポケコンの中でもナンバーワンといっても過言ではない
感じにょ。
PC-E500が経年劣化が原因ボタンが言うことを効かなくなり(それが発端となって接触不良を
招き動作自体しなくなった)、PC-E650に買い換えたけどそのE650も3月27日に書いたように
液晶破損で使えなくなってしまったにょ。
お手軽プログラミング環境といえばやはり最近ハマっているのはプチコンにょ。
プリセットキャラが豊富に用意されているためグラフィカルなゲームも手軽に作れるし
処理速度を考えなくてもよほど重いゲームでない限りは快適な動作が期待できるため
(いくらポケコンの中では速いPC-E500系とはいえ速度を意識して高速になるように
プログラミングしなければならない)ポケコンと比べたらプログラミングのハードルは下に
なる(より簡単にゲームが作れる)かもしれないにょ。
http://ww5.tiki.ne.jp/~ochame/E500/LECTURE/making_3.htm
ソフトウェアキーボードも当初はかなり厳しかったけど慣れれば普通に両手持ちで親指で
高速タイピングも可能だしね(ただし、タイプミスも多いため3DS LLが欲しいところ)
また、いつでもどこでもプログラミング可能かどうかという点に関しては3DSは十分小さい
ので気にならないにょ。
むしろ、ほぼバッテリ残量が気にならないポケコンと異なり、3DSだと4時間くらいで
バッテリ切れになるためその点がやや不満なところにょ。
あと、当初問題だった手軽に公開できないという点に関してはmkIIでQRコードに対応した
ために全く気にならなくなったにょ。(とはいえ、大量のリソースを使ったり、数1000行の
大作プログラムを作るとQRコードを公開する側も読み取る側も大変だけど)
では、プチコンでポケコン(PC-E650)の代わりができるかというと微妙にょ。
それは1つはバッテリ駆動時間の短さもあるし、もう1つは電卓的な活用ができないという
ことにょ。
PC-E650は標準で倍精度演算(有効数字20桁の浮動小数点演算)を備えており、かつBCD演算
であるため非常に演算誤差が少ないため電卓として考えた場合には極めて優秀な存在にょ。
それに対してプチコンは32ビット固定小数点であるため演算誤差が大きくそれがおきにくい
ようにするためにはプログラムも工夫が必要になるにょ。
ゲームを作るならばプチコンの方が絶対的に有利なのだけど向き不向きがあるからね。
しかし、「お手軽」かつ「いつでもどこでもプログラミングできる」という点を満たせる
ものがあればそれも使ってみたいところにょ。
以前、P/ECEでのプログラミング(C言語に関しては、四半世紀前に「はじめてのC」で少し
勉強した程度であり、昨今ポピュラーなC++は未経験)も一時期やったことがあるけどPCで
開発してそれを転送して実機で動作させるというクロス開発は私には向かないと思ったにょ。
やはり、スタンドアローンでセルフ開発できないと駄目ということにょ。
スマホ用アプリでも様々な開発言語アプリが登場しているけど使い勝手のよいものがある
ならばそれも一度試してみたいところにょ。
|
|
|
掲示板管理者へ連絡
無料レンタル掲示板