プチコンまとめArchive

投稿プログラム : プチコンmkII at 3号 ver4.1.2

パンくずリスト

このページの最終更新 : 2021/05/01 (土) 16:11:58

2019年5月17日投稿 / 2020年4月12日更新 / 投稿者 : Na / タグ : 投稿プログラム 実用ツール

概要

プチコンmkII用のプログラムやグラフィックなどを3号用に変換します。
(すべてのプログラムが動くわけではありませんが)
mkIIのプログラムやリソースをPetitModemなどでPCから転送して使用できます。
ver4.0で初代プチコンのプログラムに対応しました。

SmileBASIC Sourceに投稿しました(英語)

使い方

mkIIからファイルを転送

  • (サンプルゲームなどは転送しなくても初めから入っています。)
  1. PetitModemを用意する。
  2. mkIIでSDカード書き出しするか、どこかからダウンロードして拡張子が「.PTC」のファイルを用意する
  3. PTCファイルの拡張子を「.dat」に変更。
  4. PetitModem(PC側)に入っている「LZSS for PetitCom」を起動し、datファイルをPDAに圧縮する。(3. 4. はしなくてもよい。)
  5. PetitModemを起動し、PTCまたはPDAを3DSに転送する。

PTCファイルの変換

  • 「-MKIICVT」を起動します。(公開キーには変換前のPDAファイルが入っているので、ダウンロード後に1度は実行してください。)
  • まず、プロジェクト内にある拡張子が「.PTC」「.PDA」のファイルがすべて展開されます。
    • 展開後のファイル拡張子は「.PRG1」「.PRG2」「.MEM2」「.GRP2」「.CHR2」「.SCR2」「.COL2」になります。
    • PRGにパッケージされたリソースは「(PRG名)_Pxx」のようなファイル名で書き出されます。
  • 次に「.PRG1」「.PRG2」ファイルが3号用に変換されます。
    • ファイルによっては数分かかることもあります。
    • 拡張子が「.PRG」になります。
  • 既にプロジェクト内に同名の「.PRG」ファイルがある場合は変換されません。
    • 再変換させたい場合は変換後のファイルを削除してください。
  • 変換させたくないファイルがある場合は「-MKIICVT」の@SKIPLIST以下にファイル名を書くとスキップされます。
    • DATA ””を最後に忘れず追加してください

プログラムを直接書いて実行する場合

  • スロット2にプログラムを書きます。
  • 1行目に必ず'PRG1(初代の場合)または'PRG2(mkIIの場合)と書いてください。
    • ただしファイルをロードして編集した場合など、スロット2のファイル名拡張子が「.PRG1」「.PRG2」になっている場合は不要です。
  • 「-MKIICVT」を起動すると、「スロット2を変換しますか?」と聞かれるので、はいを押すと変換されます。
    • 変換後のプログラムはスロット3に書き出されます。

変換後のファイルからプログラムを実行する場合

  • 変換された「.PRG」を直接実行するか、後述の「-MKIIMENU」から起動してください。
  • 十字キーとABXYLRはmkIIと同様に使えます。
  • 左スティック(スライドパッド)は十字キー、右スティック(Cスティック)はABXYボタンとして機能します。
  • mkIIのSTARTボタンはZL,ZRまたはSELECTで代用します。
    • ボタンの設定は「-MKIILIB」の最初にある変数を書き換えると変更できます。
  • 濁点や半濁点を入力したい場合、mkIIにない濁点付きの文字などは入力できません。
    • ひらがなの「た」を打つと濁点、「は」を打つと半濁点が入力されます。
  • 「-MKIIMENU」を起動するとファイルメニューが開きます。
  • 操作方法
    • 上下キー:ファイル選択
    • 左右キーまたはLRボタン:タブ切り替え
  • 「PRG」タブ
    • Aボタン:実行します。
  • 「MEM」タブ
    • MEMリソースの中身が表示されます。
  • 「GRP」タブ
    • GRPリソースの中身が表示されます。
    • Aボタン:GRPファイルとして出力します。
    • Bボタン:TXT,DAT(8bitパレット番号,32bitパレット番号(1要素に4ドット入る),GLOAD用32bit)で出力できます。
  • 「CHR」タブ
    • CHRリソースの中身が表示されます。
    • Xボタン:キャラサイズを変更して表示します。
    • Yボタン:カラーパレットを変更します。
    • Bボタン:「SCR」タブで使用されるキャラに設定します。
    • Aボタン:GRPファイルとして出力します。
  • 「SCR」タブ
    • BGマップが表示されます。
    • スライドパッドで移動します。
  • 「COL」タブ
    • COLリソースの中身が表示されます。
    • Xボタン:「GRP」タブで使用するカラーパレットとして設定します。
    • Yボタン:「CHR」タブで使用するカラーパレットとして設定します。
    • Aボタン:GRPファイルとして出力します。

仕様

使用できないシステム変数
  • FREEVARは通常の変数となります。
その他
  • 濁点、半濁点はひらがなの「た」「は」をうつと入力できる。(INPUTなどの時)
    • 濁点付きの文字など、mkIIにない文字は入力しないでください。
  • コンソールの色がすこし異なる。
  • VISIBLEのパネルの設定は無視される。
  • リソース"BGD","SPK"は使用できない。
  • GDRAWMD使用時とても遅い
  • TALKが違う(音程や速度などは若干変更できるが、mkIIのTALKを完全には再現できない)
  • MMLのマクロ二重定義がエラーになる(mkIIではエラーにならない)
  • MMLの一部音色が違う
  • FORの仕様が少し違う
  • 一部の命令はWAITVSYNCが実行されるまで画面に反映されません。
  • 各ソフトのタイトル画面やゲームの開始1フレームだけ重いことがあるのは仕様(SPやBGの更新をまとめて行うため)
    など。
変換内容(ver3.2)
  • PTCファイルの読み込みについてはPTCファイル仕様
    +  長いです

スクリーンショット・動画

動作しているところを撮影した写真や動画があれば貼り付けてください。

※ロゴは合成です

ptcmkIIat3.png
menu.JPG

(写真は最新バージョンでない場合があります。)

公開キー

プチコン3号用の公開キーです。トップメニューの「作品公開とダウンロード」から公開キーを入力すると、作品をダウンロードすることができます。

ver4.1.2

  • 「-MKIILIB」のWIIU=01にするとXSCREEN 5/6で起動できる
  • バグ修正 INKEY$,KEYBOARD

ver4.0

  • サンプルプログラムSAMPLE1~SAMPLE13を追加
  • スロット2変換をファイル変換より優先
    • 「変換しますか?」と「実行しますか?」のダイアログを別にしました
  • ファイル変換をスキップするファイルの指定ができるようになる
    • 「-MKIICVT」の@SKIPLIST以下に記述
  • 引数省略のDEFを使用(Mame/DEF 引数の省略)
    • 省略時に代わりに-524289を置かないようになる
  • 変換時にコメント等はすべて残すようにした
  • DATAの修正
  • STR$で小数第1位が0の時のバグを修正
    • 例えばSTR$(0.01)0.1になる
  • ASC高速化(GAME1が遅い原因)
  • GDRAWMDの実装(ただし非常に遅い)
  • 下画面フォント(BGF0L)実装
    • 漢字256個に割り当てました
  • RENAMEを実行してもDELETEされるバグを修正
  • SENDFILE,RECVFILE実装
  • 実行時にKEYTABSTEPをデフォルトに戻す
  • EXEC時に変数を保持
    • PRGEDITでごり押し実装
  • COL0の0番をBACKCOLORに反映
  • 初代仕様のPTCファイル(PETC0100RPRG)に対応
    • mkII仕様(VSYNCWAITに置き換えられる)で読み込む
  • 初代モード
    • PTCファイルが初代仕様か、拡張子が「.PRG1」か、スロット2の1行目に「'PRG1」の時に初代モードになる
    • VSYNC,SPANGLE,SPSCALE,BGMSTOP,VERSIONの仕様が変わる
    • ラベルが8文字までになる
  • LABEL命令(@ラベルに置き換え)
  • BGMPRGで&H80を&H7Fに自動補正
    • SINの精度の問題で正弦波がおかしくなるため
  • その他バグ修正:VAL,COLINIT,GCOPY,LOAD,SAVE
+  過去の更新履歴
本体+リソース+サンプルプログラム+サンプルゲーム ver4.1.2
NRQ4B33D

ver4.1.2時点でのバグ

※時々タイムスタンプを変更せずにページ更新しているため、いつのまにか追加されていることがあります

  • 変数名がDATAで始まるときエラー
  • BEEP 70以降への対応
  • SPANIMで時間0を指定するとエラー(本来は1として扱われる)
  • VALに524288以上の数値を16進または2進で入れたとき負数にする
  • 桁数を指定しないHEX$に負数を入れたときの桁数を5桁にする
  • BGOFSの補完がうまく動作しない
  • 下画面のSPREADのキャラ番号の戻り値が違う(下画面は+512する)
  • SPOFSなどで移動時間を指定していても、SPREADが常に移動後の値を返してしまう
  • SPANGLEの回転方向が-1のときの挙動がおかしい
  • TABSTEPの初期値が違う(4ではなく8)
  • SUBST$の4番目の引数が””のときの挙動が違う
  • FREEMEMの値が違う(mkIIでは変数に使うメモリの残量ではなくプログラムスロットの空きを表示)
  • BGMVOLの値を半分にする(mkIIの音量127が3号の64相当)
  • MMLの@MA,@MP,@MLの4番目の値を3分の1にする
  • キーボード実装、フルスクリーンモード実装(3号)
  • MKIICVTで変換するファイルを選べるようにする
  • MKIIMENUでパッケージリソースも表示

第1回プチコン大喜利 受賞作品

  • サイト
    +  詳細

第2回プチコン大喜利 受賞作品

  • サイト
    +  詳細
  • 本体のプロジェクトへコピーしてご使用ください。
  • (ファイル数が多いのでむしろ本体をこっちのプロジェクトにコピーしたほうが早いかもしれません)
    第1回/第2回プチコン大喜利 受賞作品 2次配布
    5BRE533E

CHECKER FLAG (ひとことコメント)

この作品に対するコメントがあれば一言どうぞ。(作品に直接関係ない質問や雑談は掲示板へ)
バグ報告も受け付けています。

  • ugly777 : 感動した (2019/05/17 (金) 20:51:37)
  • はる : すごい。 (2019/05/17 (金) 20:51:55)
  • ichi : スゴ過ぎです... (2019/05/17 (金) 21:19:34)
  • TASさん[TASソフト] : 凄い!すごすぎる!!!!!!!! (2019/05/17 (金) 21:43:11)
  • takumi : やばい (2019/05/17 (金) 22:31:16)
  • 名無しさん : 「mkIIのプログラムをPetitModemなどでPCから転送して使用」のやり方を詳しくおしえてください。 (2019/05/19 (日) 11:12:00)
  • Na : 0. PetitModemをダウンロードする。(PC,3DSともに) 1. mkIIでSDカード書き出しするか、どこかからダウンロードして拡張子が「.PTC」のファイルを用意する。 2. PTCファイルの拡張子を「.dat」に変更。 3. PetitModem(PC側)に入っている「LZSS for PetitCom」を起動し、datファイルをPDAに圧縮する。 (2.3.はしなくてもよい) 4. PetitModemを起動し、PTCまたはPDAを3DSに転送する。 (2019/05/19 (日) 11:27:26)
  • TAFUO5 : こんなものが実現できたとは...信じられない (2019/05/19 (日) 12:01:37)
  • ugly777 : >0. PetitModemをダウンロードする。(後略 それは使い方に書けば良い気がします (2019/05/19 (日) 13:38:55)
  • Na : いろいろ更新しました。 (2019/05/19 (日) 14:58:09)
  • Na : 人気ページ1位...こんなにたくさんの人が見てくれるとは思っていませんでした。 (2019/05/19 (日) 14:59:50)
  • しょうご : エミュレータのようで物凄いですね。効果音や画面、文字もしっかり動作するんですね。 (2019/05/19 (日) 22:50:05)
  • あまさとしおん : IF 条件 THEN @ラベル が正しく解釈されないらしく「ラベルの二重定義」エラーが発生するのはバグだろうか (2019/05/21 (火) 15:12:52)
  • あまさとしおん : あらかじめ、IF 条件 THEN GOTO @ラベル に置換してから実行するのが回避策っぽい (2019/05/21 (火) 15:13:52)
  • あまさとしおん : あとmkIIだと PRINT SCORE"てん" みたいに「PRINT文で;を省略する」ことが許されていたけど3号では不可能になったので、そこの読み替え機能があると便利かなぁと思ったり (2019/05/21 (火) 15:15:51)
  • Na : IF 条件 THEN @ラベル は動作するはずですよ? (2019/05/22 (水) 08:56:34)
  • Na : ;省略や :省略は現状非対応ですがそのうち直します。仮に3号で;が省略できたとしても今のところPRINT文自体をDEFしているのでどのみち動かないですね... (2019/05/22 (水) 08:58:17)
  • あまさとしおん : 『THEN @ラベル』の件について追調査したのですが、どうやら「IF ~ THEN IF ~ THEN @ラベル」というようにIFをネストしたケースが怪しいようです (2019/05/22 (水) 19:20:40)
  • あまさとしおん : 具体的にはIF M2 THEN IF BT AND 128 THEN @GAMEENDというプログラムが変換後にIF M2 THEN(改行)IF BT AND 128 THEN(改行)@GAMEEND(改行)ENDIF(改行)ENDIFというように翻訳されているようです(見づらくてすみません) (2019/05/22 (水) 19:24:15)
  • Na : >『THEN @ラベル』の件について... なるほど。ver1.2で修正します。しばらくお待ちください。 (2019/05/23 (木) 17:26:39)
  • Na : >消させていただきます 何故ですか? (2019/05/23 (木) 17:26:48)
  • あまさとしおん : なんか偽者臭があるような… ほしけんさんなら理由を添えてくれると思うし、緊急なら既にページ削除するだろうし… (2019/05/24 (金) 16:31:26)
  • Na : ver1.2公開です。エミュレーターではなく2→3変換ソフトのほうがいいかとも思いましたがどうでしょうか。 (2019/05/24 (金) 22:55:28)
  • プチコンまとめWiki管理人 : 「消させていただきます」はニセモノの騙り書き込みです。この書き込みは消させていただきます (2019/05/25 (土) 01:03:40)
  • 名無しさん : TALK命令は無理な模様。 (2019/11/23 (土) 19:58:18)
  • 名無しさん : Is anyone able to upload this again? (2019/12/13 (金) 10:31:25)
  • Na : I uploaded. I'm surprised that this page is visited by foreigners.
    更新しました。まさか外国人まで来るとは (2019/12/13 (金) 20:18:43)
  • 名無しさん : 外国人ニキオッスオッス (2019/12/13 (金) 21:05:17)
  • Na : プチコンバータを見てやっぱりコンバータの方が便利そうだと思ったのでそのうちこれもコンバータにしようと思います (2020/01/06 (月) 19:25:27)
  • 名無しさん : @Na Thank you! I was hoping to find a program like this, and I am surprised someone uploaded it again. I did not expect a response. (2020/01/07 (火) 11:12:02)
  • うつりきまぐれ : SBSource のリンクが InterWikiName として解釈されてて飛べなかったから勝手に修正した (2020/02/29 (土) 17:17:37)
  • ugly777 : どのように私はXOFF MICを消せますか?プチコンBIGは変換されたプログラムをそれにより実行できません。 (2020/04/07 (火) 20:09:34)
  • Na : WiiUだとXOFF MICがエラーになるんですか? 初めて知りました。
    XOFF MICは「-MKIILIB」の中にあるのでそれを消してください。次のバージョンでは消しておきます。 (2020/04/07 (火) 20:35:23)
  • ugly777 : ありがとうございます。そしてプチコンBIGをGamePadのみで遊ぶとき、XSCREEN 3は下半分に空白を作ります。なので私はプチコンBIGではXSCREEN 3をしないようにすれば良いと考えます。 (2020/04/07 (火) 23:30:13)
  • Na : 「-MKIIMENU」の方ですかね? なるほど。分かりました。 (2020/04/08 (水) 08:54:28)
  • ugly777 : はい、それです。 (2020/04/08 (水) 13:15:31)
  • ugly777 : プチコンBIGは256×192(DSiと同じ)の画面モードがありますので余裕があれば実装しても良いかと思います。 (2020/04/11 (土) 20:26:41)
  • Na : BIGを持ってないので試せないんですよね... あとTV画面256x192,GamePadはキーボードっていうモードがないような...(それともmkIIのキーボードを実装するか) (2020/04/11 (土) 20:34:07)
  • ugly777 : TV画面は256x192でGamePadはキーボードのモードはXSCREEN 5,0ですね。ちなみに256×192モードはあまり綺麗に表示できないので(Petitverseのver4.0の日記参照)もし実装するのなら切り替えできた方が良いかと。 (2020/04/12 (日) 12:36:05)
  • Na : GRPの位置などの定数などを変更してXSCREEN 5/6に対応させてみました。WIIU=0 を1に変えて動くか試してもらえますか? MKIILIB単体【5ERXD23V】 (2020/04/12 (日) 13:31:30)
  • Na : いきなりミスしてました。再公開【7KXKNENY】 (2020/04/12 (日) 13:32:54)
  • ugly777 : LOCATE 0,23の状態でPRINTをする(;を付けない)とOut of range in 1:449が出てしまいます。 (2020/04/12 (日) 14:50:10)
  • Na : 修正しました。これでどうでしょうか【Q3QJKE33】 (2020/04/12 (日) 15:31:44)
  • ugly777 : 直りました。 (2020/04/12 (日) 16:50:33)
  • 天郷思音 : BGOFS補完の扱いがバグってるのか mk2:Toukou/Petit Slash IIを送って動かすと異常な挙動(無意味にスクロール繰り返す)しますね (2021/04/15 (木) 20:07:12)
  • 天郷思音 : それと、フォントの読み込みが実行されない現象が起きます(画面切り替えで直ったり直らなかったりする) (2021/04/16 (金) 16:28:17)
  • 天郷思音 : 反映がすぐにされないのは仕様なんですね… 確かに速度考えると止むを得ないか… (2021/04/16 (金) 16:32:05)
  • Na : ↑3 mk2:Toukou/Drop-eでもBGOFSの補完で表示が崩れるのを確認しているのでBG関連はどこかバグってますね。mkIIのBGはループして表示されますが3号ではループされないので、64x64のBGマップを4つ並べて128x128のBGマップとして表示...もできないので128x127にしています。その状態でBGOFSの補完はBGANIMでやってますが、その時の座標設定(+64するかしないか)を間違えてる気がします。(たぶん毎フレームBGOFSで表示するときれいにできそうだが毎フレーム割り込む処理ができない) (2021/04/17 (土) 00:06:53)
  • Na : ↑2 すぐ反映するようにしてしまうと、CHR,COLのLOADとかCHRSETとかCOLSETを1つ実行するたびに全画面描画し直しとなり、ものすごく遅くなります。 (2021/04/17 (土) 00:12:16)
  • Na : あと、1年近くこのプログラムを放置していたので、今更プログラム読んでバグ修正するのだるい (2021/04/17 (土) 00:14:52)
  • 天郷思音 : これはNaさんが何か悪いわけではないのですが、事実として「色付き絵文字にCOLOR命令で色を変えると見えなくなる場合がある」という現象を見つけたので書いておきます http://petitverse.hosiken.jp/community/petitcom/diary/?read=4634 (2021/04/18 (日) 15:35:54)
  • あまさとしおん : BGOFS2の問題について調べてみたところ、まさかのミスでした。http://petitverse.hosiken.jp/community/petitcom/diary/?read=4652 (2021/04/26 (月) 19:07:52)
  • あまさとしおん : そういえば、元のコード(.PRG2)で3号の命令になる変数名があるとエラーでそのまま実行できないですね。(具体的にはDECとか) (2021/05/01 (土) 16:11:58)