2019.05.23作成
2019.05.25更新
特に重要そうなものを抜粋してみる。
・先頭に@がついたものはラベルという
・先頭に#がついているものは定数
・整数リテラルのうち、16進数は&Hがつく。(ヘキサゴンのHと覚える)
・整数リテラルのうち、2進数は&Bがつく。(バイナリのBと覚える)
・ダブルクォーテーションで囲まれたものは文字列リテラル
・小数点(これはわかる)または指数表記(指数表記とは?)のものは実数リテラル
・整数型は32bit符号あり 4byte C言語で言うところのlong型
・実数型は64bit 8byte C言語で言うところのdouble型
・文字列型がある。C++で言うところのstring型というイメージ?〇文字目を読み取る方法とかは個人的にチェックしておきたい。
・配列型がある。普通の配列と違うもの?
・空白型がある。用途不明である。でもわざわざ用意するということは多分便利な使い方があるのだろう。どこかのページに載ってるかな?
・暗黙の型変換ルールは少し複雑。演算子によって結果が整数か実数か異なる。
・参照型がある。文字列型と配列型は参照型になるため、この2つはノリと感覚で代入したりなんかしちゃったりすると想定と異なる動作をする可能性あり?
・変数宣言時サフィックスなしだと、OPTION DEFINT指定時は整数の0、指定なしの時は実数の0
・サフィックス$は空文字列
・サフィックス%は整数の0
・サフィックス#は実数の0
・個人的な好みになると思うが、変数宣言時のサフィックス無しは避けて、$か%か#をつける運用で行こうと思う。OPTION DEFINTが指定されてるかされてないか見るの面倒だし。
特に重要そうなものを抜粋してみる。
・/は実数除算
・DIVは整数除算
・MODは剰余
・ANDは論理積
BITを定数化してフラグ管理することに使えそう?整数型がunsignedじゃないので使用に注意。
・ORは論理和
これもフラグ管理に。
・XORは排他的論理和
・NOTはBIT反転
・「かつ」は&&
・「または」は||
・「でない」は!
・優先度はなんやかんや書かれてるけど正直興味ない。かっこ無しだと考える時間が発生して無駄なので計算順にかっこつけてく。
・配列の添字指定はa[1,2,3,4]みたいな感じ
・文字列+文字列は文字列連結するタイプ
・文字列*整数は文字列を整数回繰り返すらしい。使用頻度低そうだけど覚えといて損は無さそう
・0割りするとエラーになる。どんなエラーが出るかはあらかじめ見ておくと開発途中で困ることはなさそう。
・文字列==文字列で文字列が等しい場合1
・文字列!=文字列で文字列が等しくない場合1
特に重要そうなものを抜粋してみる。
・ファイル名は32文字まで
・ファイル名に指定する英文字は大文字と小文字が同じ扱い。ABCとしてもabcとしても同じになる。
・ファイル種類は大きく分けてTXT・DAT・GRPがある。
・プロジェクト単位で作品分けしている。
・現在実行中のプログラムがある場所がカレントプロジェクトとなる。
・プロジェクトに関わる命令は以下の通り。
PROJECT(あとでリンク化)
LOAD(あとでリンク化)
EXEC(あとでリンク化)
SAVE(あとでリンク化)
・プロジェクト名の先頭に#がついたものはシステムプロジェクトと呼ばれる。(デフォルトで入ってて消せないやつのことか?)
・ツールかそうでないかによって、他のプロジェクトのファイルを読み書きできるかできないかが変わるっぽい。
・初期状態ではワークスペースプロジェクトがカレントプロジェクトとなる。
・1度に4つのプログラムをロードできる。
・COMMONキーワードを使用しないと他のプログラムから参照できない。
・1つのプログラムに汎用関数をまとめ、もう1つのプログラムにメイン処理を実装するとか、そんな感じの使い方ができるということ?
・無理してプログラム分けしようと頭が混乱する可能性あり。
・イカれた頭の持ち主は、プログラムのロードを上手いこと使ってプログラムをガチャガチャ組み替えてエグいことできそう。
特に重要そうなものを抜粋してみる。
・解像度の指定がXSCREEN(あとでリンク化)
・背景色の指定がBACKCOLOR(あとでリンク化)
・フェーダの指定がFADE(あとでリンク化)
・座標系は左上が原点
・座標系は右に正
・座標系は下に正
・一番奥に描画する場合はZに4095を指定
・1番前に描画する場合はZに-4095を指定
・動くものに対して奥行きの描画にこだわる場合は8191個を仕様で切り分けて、位置情報を元にソートするとかするといい感じになると思う。各要素の間にマージンを設けるなどの運用をしていこうと思う。
・グラフィックページは下記6種類
GRP-1 書き込み不可 白ピクセル
GRP0
GRP1
GRP2
GRP3
GRP4
GRP5 テキスト格納用(GRPFとも)
・各GRPのサイズは2048×2048
・各GRPの1ピクセルは32bit ARGB8888タイプ
・各GRP1つにつき16MB領域を使用し、合計96MB使用している計算(GRP-1は含んでない)
・テキストスクリーンは5つ
・スプライトは4096個
・レイヤーは8枚、数字が小さい方が手前。Zと同じ考え方。綺麗な画面作りをする場合はレイヤー効果を弄るといい感じになるかも?
・スプライトとテキストには優先度を設定できる。これもZと同じ考え方で、-4095から4095までという数値設定も同じ。
・表示できる色数は16万色くらい(256×256×256)
・GRP-1の用途が不明…だったが、
・それぞれの描画順がよく分からなくて読み飛ばそうと思ったが、そもそも書かれていなかったっぽい。描画順を一括してまとめたものは下記画像の通り。(プチコン製作者のtwitterから拝借)
書いてある内容は理解しやすいが、曲を作りたい人や曲制作ツール作りたい人向けのページ。ゲーム作りたい人向けのページではない。読むと日が暮れるので読まないことにした。
さらっと読んだ感じ、マルチタスクやマルチスレッドっぽくするやつ。高度なことができるっぽい。
リアルタイム性を求めないデータ処理を後ろで処理しておいてメイン側に負荷を与えないみたいな使い方ができる?よく分からんけど。
使用例や実装意図が知りたい。
それが分かるまではサブプログラムは無理に使用しなくて良さそう。
特に重要そうなものを抜粋してみる。
・変数が型を持たない
・配列定義と同時に要素を初期化できる
・多次元配列で定義しても1次元配列としてアクセス可能
・システム変数廃止
・バックスラッシュを行末に記述すると複数行を1行として扱う
・値の型を識別する関数追加
・CASE文が追加(あとでリンク化)
・LOOP文が追加(あとでリンク化)
・CONST文が追加(あとでリンク化)
・ENUM文が追加(あとでリンク化)
・設定と取得が同じ命令
・BG廃止→テキストスクリーンに統合
・グラフィック画面表示廃止→スプライトに統合
・&H5Cが¥(円マーク)ではなく\(バックスラッシュ)になった。¥(円マーク)は&HA5を使用。
これ普通のキーボード無理?試してないから分からんけど。
便利そうなやつあったら抜粋して書く。
眠いからあとで便利そうなやつあったら抜粋して書く
・汎用8種類(EXPの使い方だけ知らない。僕だけ?)
・色コード19種類(プログラマーがよく使いそうなしょーもない色しか定義されておらず、綺麗な色は定義されてない。デバッグ用で使用するくらいか?)
・BUTTON関数の値21種類(SLSRS1S2はなんだろう?)
・TATTR、SPSET、SPCHR命令のパラメータ7種類
・SPCHK、BGCHK関数の値8種類
・TYPEOFの返値7種類
・グラフィック描画方法5種類
・BQPARAM命令のパラメータ8種類
・FFTWFN命令のパラメータ4種類
・ARYOP命令のパラメータ7種類
・EFCEN、EFCSET命令のパラメータ15種類
・PCMVOL命令のパラメータ2種類
・グラフィックに関わる8種類
・ハードウェア情報に関わる2種類
・デバッグ用に使用する3種類
合計124種類
命令に対応する定数はリンク化予定
1つ1つの動作とか用途とか調べるが、とりあえずカテゴリだけ。
まとめたものはあとでリンク化
・制御と分岐
・数学
・文字列操作
・その他
・各種入力
・ファイル
・スクリーン制御
・テキストスクリーン
・グラフィック描画
・スプライト
・レイヤー
・サウンド
・高度演算
・ソースコード操作
・サブプログラム
間違いがあったら誰かが指摘してくれるはず。たぶん。
前のページ | 第0回 | 次のページ


