プチコンまとめWiki (初代/mkII)

Mame/リソースの使いどころ

はじめに

これを書いている人は学生(orirakkusuです)なので、なかなか更新できませんが、あたたかく見守ってやってください。

まずはリソースの種類から

リソースの種類は、以下の表1のように6種類あります。

表1
PRGMEMCHR
GRPSCUCOL

ではここで、おおざっぱに説明を加えた表2をごらんください。

表2
リソース名保存する内容
PRGプログラム
MEM256文字までの文字列
CHRBGやSPなどのキャラクタ(8*8ドット*256キャラ)
GRP256x192のグラフィック
SCRBGチップの並べ方(orirakkusuもよくわかりません)
COL

この中から、今回はPRGとCHRを特にクローズアップしてみます。

プログラムの中にしまえるもの

事実PRG以外のリソース全部ですが、 GRPは描画がおそい(信じられない人のためにサンプル1を用意しました)ので、

  1. FOR Y=0 TO 191:’タテルーフ゜
  2.  FOR X=0 TO 255:’ヨコルーフ゜
  3.    GPSET X,Y,X
  4.  NEXT
  5. NEXT
  6. END:’サンフ゜ル1

事実しまえるのは

SCRCHRCOLMEM

の四つとなります。

CHRをプログラムにしまう

まずは、CHREDでもUX_CHREDでもなんでも、使いやすいキャラクターエディターを立ち上げて、SP0を真っ黒にしてください。 そしてNEW:ACLS!(ホームメニューとかには戻らないでね) で、サンプル2を打ち込んでください。

  1. CHRREAD ”SPU0”,0,C$
  2. PRINT C$
  3. CLEAR
  4. END:’サンフ゜ル2

で、実行すると、

  1. 0000000000000000
  2. 0000000000000000
  3. 0000000000000000
  4. 0000000000000000

か、

  1. EEEEEEEEEEEEEEEE
  2. EEEEEEEEEEEEEEEE
  3. EEEEEEEEEEEEEEEE
  4. EEEEEEEEEEEEEEEE

が表示されたと思います。

コラム(書いてる人がよく使う技)
  1. CLEAR
  2. FOR I=0 TO 7
  3. READ A$
  4. B$=B$+A$
  5. NEXT
  6. CHRSET ”SPU0”,0,B$
  7. END
  8. DATA 00000000
  9. DATA 00000000
  10. DATA 00000000
  11. DATA 00000000
  12. DATA 00000000
  13. DATA 00000000
  14. DATA 00000000
  15. DATA 00000000

なぜなら、(ここは行と行の間が空いているから見にくいけど)2色フォントには見やすいのですよ。 (かえってきたら画像挿入予定) だからよく使います。

DATA文に納めちゃいたいなぁ〜

はい、可能です。
■□□□□□□□
■□□□□□□□
■■□□□□□□
■■□□□□□□
■■■□□□□□
■■■□□□□□
■■■■□□□□
■■■■□□□□
を一行のDATA文にしますと、

  1. READ A$:CHRSET ”SPU0”,32,A$
  2. DATA 1000000010000000110000001100000011100000111000001111000011110000

です。 なんでこれかって? これをZATEWIN7としてSAVEしておくとね、PRG:ZASSI、PRG:WINDOUS(どちらもorirakkusuの今後発表予定作品です)でやくにたつかもしれないよー。 と、ずいぶんながくなりました。

先生!あの、キャラクタをファンクションキーにDATA文ごと保存できないんですか?

を、するどい。 UX_CHREDを使え! ...では不親切なので、プログラムを作りました。

  1. CHRREAD (”SPU0”,0),A$
  2. KEY 1,”DATA ”+A$

これでどうだ!

で、圧縮かけたいよね!

作者が成功したことないんだよね!が、作者が給食を食べている時に気がつきました。 プチコンの文字で今回つかうのは

  1. 0123456789
  2. ABCDEF
  3. GHIJKLMNOPRQSabcdefghijklmnoprqs

だけ。 が、急遽変更に!発表までもうしばらくお待ちください 現在絶賛打ち込み中!しばらく待ってね!

プチコンの文字フル活用できないの?

いくら「コントロールコードがない」と言っても、ヌル文字と改行コードはありますからね。
ということは、プログラムリストに打てない文字が出るわけですね。

で、具体的に打てない文字は?

ヌル文字(   ,0)、改行コード( Л ,13)の2種類です。
DATA文のなかで言えば、ダブルクォーテーション( ,34)も打てませんね。(打つ方法もあるが、それを使うとコロンとコンマの2種類が使えなくなるのでむしろ損です。)

で、結局結論は?

堂々と文字コードをずらせば大丈夫です。
「文字コードをずらした」ことが分かる印を用意すれば、問題なく解凍出来ます。

あとがき

なんか終盤ぐだぐだじゃね?
さらに、別の人が追記をしたので表記ゆれがあるかもです。

ご要望などありましたら

下のコメント欄にお書きください。 また、荒しはorirakkusuが見つけた場合、何の告知もなく削除するかもしれません。また、このまめちしきに関係無い話は、掲示板へどうぞ。

  • 名無しさん : 圧縮は文字で表せば半分になる。FF→CHR$(VAL("&HFF")) (2012/06/26 (火) 10:28:08)
  • 名無しさん : リソースの種類、SCUじゃなくてSCRですよーっと (2012/06/26 (火) 12:17:44)
  • orirakkusu : ↑↑でもそれだとCHR$(13)とかCHR$(0)とか入力できない文字が出てくるんですよ。 ↑あ!そうでした、寝ぼけてました(起きたばっかりだったもんで。) (2012/06/26 (火) 16:15:20)
  • 名無しさん : GRPは圧縮・展開が遅いけどキャラクタページ12枚分保存できるお( ^ω^) (2012/06/26 (火) 16:26:58)
  • 名無しさん : ↑追加:GRP2枚分で (2012/06/26 (火) 16:28:01)
  • orirakkusu : ↑、↑↑ この豆知識はPRGに埋め込むか、CHR等のリソースに別にするか、という事を論議しているので、そういう話ではないんですよ。なんかすみませんorzorzorzorzorz (2012/06/26 (火) 16:30:52)
  • 名無しさん : リソースの使いどころというより、CHRの収納の仕方という感じかも。 (2012/06/26 (火) 18:07:17)
  • 名無しさん : このwikiにも圧縮プログラムなかたっけ。 (2012/06/26 (火) 19:05:25)
  • orirakkusu : ↑↑いやいや、今はこういう知識をぶつぶつかいてて、結論でリソースの使いどころにふさわしい結論になるわけですよ。↑ありましたっけ?探してみます。 (2012/06/27 (水) 17:16:39)
  • 名無しさん : 圧縮方法思いついた!0~Fでキャラデータで2個以上続いた場合a~pでその個数 012cで01222 (2012/06/27 (水) 19:25:01)
  • 名無しさん : ↑↑じゃあまだ半分以下しか書いて無いのか… (2012/06/27 (水) 19:27:13)
  • 名無しさん : 誰でも編集できるのだからいいものがあればどんどん追加していけば良いかと (2012/06/27 (水) 19:28:45)
  • 名無しさん : >3つ上の名無しさん それ「連長圧縮」とか「ランレングス圧縮」とか言って有名みたいです (2012/06/28 (木) 00:09:06)
  • 名無しさん : あとまあ、今時容量なんてそこまで気にしなくてもいいわけで、プチコンのリソースくらいなら圧縮よりも無圧縮の展開の速さのほうが大事かもしれない。 (2012/06/28 (木) 00:14:21)
  • 名無しさん : 給食を食ってる時かよ (2012/06/28 (木) 11:57:47)
  • 名無しさん : 給食も圧縮しちゃったらどうだ (2012/06/29 (金) 12:29:28)
  • 名無しさん : 給食を潰す:メリット:小さくなる:デメリット:気持ち悪い、いろいろ混ざって食えない。: (2012/06/29 (金) 17:41:03)
  • バイカウントメルビル : 幼稚園の初日、給食を残すのがもったいなくて水筒に圧縮した経験がある (2012/08/15 (水) 23:50:22)
  • 燻製 : ↑どんだけ濃い経験なんだよww圧縮だけに (2012/08/16 (木) 00:19:27)
  • 天郷思音 : いまさらながら、打てない文字が出たときだけ文字コードをずらせばいいんです。 (2012/11/16 (金) 20:40:58)

表示モード : [ スマホ・3DS対応表示 | クラシック表示 ]
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team. License is GPL. Based on "PukiWiki" 1.3 by yu-ji
ページの処理時間 : 0.029 秒 | このページの最終更新 : 2012/11/18 (日) 17:16:00 (2529d) | ログイン
Copyright(C) 2011-2014 プチコンまとめWiki ◆1sxkymI8ji30