MSX-BASICの奥義を伝授するスレ

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
NGNG
忘れない内に皆に伝授しときましょう。

・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。
2008/02/07(木) 03:36:46
シューティングの部分スクロールって
widthで幅を少なくして余白をずらすってテクニックがあったよな。
553デフォルトの名無しさん
垢版 |
2008/02/09(土) 08:52:18
MSX1のゲームってシンプルなものが多いですが、
全てBASICで作られたものでしょうか?マシン語で作られたものでしょうか?

MSX1のボコスカウォーズのようなものが作りたいのですが、
BASICだけで再現できますか?マシン語は必要ですか?

Mマガに作者が大学生の時に作ったと言っていました。
一人であれだけのゲームを作れるなんて凄いですね。
2008/02/09(土) 09:12:43
当然、ベーシックでは速度的に限界があるので
マシン語で作られているのがほとんどだが、
ベーシックでも作れなくはない。まずは、作ってみればよい。

ベーシックで遅いと思ったら、処理の重い部分を一部マシン語にして
ベーシックからその部分を読み出すようにするだけで全然違う。
そうやって、徐々にマシン語にしていけばよい。
2008/02/09(土) 09:27:43
>>554
市販のパッケージソフトでオールBASICで作ったゲームタイトルはありましたか?
2008/02/09(土) 10:36:25
ミステリーハウスとかが、そうじゃねぇ?>オールベーシック
あれ、工夫したらリスト表示されたし。
2008/02/09(土) 18:56:20
>>556
ROMカートリッジでお願いします。
2008/02/09(土) 19:25:14
ファンダムコレクションが市販パッケージだしROMカートリッジだしBASICだぞ。
2008/02/09(土) 20:22:37
>>557
偉そうだな
自分で調べる気、ない?
2008/02/09(土) 20:37:06
こないだからずっとだが、多分MSXの事をかなり深く
知っていて、面白半分に質問していると思われ。
2008/02/09(土) 22:45:47
>Mマガに作者が大学生の時に作ったと言っていました。
この時点でイマドキノヒトではないな・・・
2008/02/10(日) 07:37:42
>>561
イマドキの新参者です。
Mマガ永久保存版にボコスカウォーズの作者が寄稿していたのです。
2008/02/11(月) 08:02:55
>>541
いいえ、最近1チップMSXを買って始めた初心者です。
2008/02/11(月) 11:15:57
>>538,>>563
ほんとうにMSX初心者であるなら、とりあえず…

横に割るのはOKで、縦に割るのがNGな理由はハードウェア(というかビデオ信号の理屈)を知っていればすぐ判る
というか、判ってないならスクロール型のSTGなんかそうそう作れない
って書いてたら、ZANACのMSX1版とMSX2版の差を思い出した

ファミコンですら画面縦割りでスムーズスクロールするSTGなんて思いつかんしなあ
2008/02/11(月) 13:21:27
ええと、もしかしてMSXってグラフィック二画面の重ね合わせとか出来なかったりしますか?
2008/02/11(月) 13:41:54
できません。表示は1枚です。
SET PAGE の命令の説明を見れば分かるかと。
2008/02/11(月) 13:44:07
ってか、MSX発売当時のPCで、そんなことが出来る機械といえば16bit機ぐらいだな。X68000とか。
テキストが独立するけど単色しか出ない88や98ってのも、いちおーありか?

FM-77AVあたりだとテキストすらグラフィック画面に上書きで吹いた覚えがあるなあ
2008/02/11(月) 16:21:36
>564
ファミコンのロードファイターが画面縦割りだったぞ。
あれはスコアとかをオブジェでやってたんかな。
2008/02/11(月) 17:25:54
>>568
ついでにギャラガもそうだっけか
背景無地だし、多分、スコア部分はスプライトだろうかな。ロードファイターのロードマップは縦線だし
ギャラガぐらいの背景なら、書き換えてもチラつきは「演出です」でごまかせそうだが

スコア部背景無地なら擬似的にできる、ということになるか
2008/02/11(月) 17:43:34
ファミコンの場合、ギャラガはスコアをBGで表示している。
左メイン部分の星のスクロールをスプライトで描いている。

ロードファイターは、右のスコア部分全てをスプライトで描いている。
だから、画面を縦割りできている。

工夫の産物だな。
571デフォルトの名無しさん
垢版 |
2008/02/11(月) 18:35:44
MSXなら8ドットスクロールで我慢汁
572デフォルトの名無しさん
垢版 |
2008/02/11(月) 18:40:30
>>567
FM-7はテキストもグラフィックVRAM直書きなのを逆手にとって
RGM3プレーンまで文字重ねてかけるぞ。
パレットで色も合成も自在。
2008/02/12(火) 00:51:41
懐かしいなー。
PC-8801/PC-9801系は、テキスト+RGB3(98VM2以降はさらに+1)プレーンあったから
プレーンとパレットの割り振り次第では結構できるはず。Xanaduとか旨く利用してた。

MSXはプレーンタイプの割り振りじゃないから厳しいよね。
2008/02/12(火) 07:04:45
何だよロードファイターってwロードランナーだろww
2008/02/12(火) 08:40:38
知らないなら、せめてぐぐればいいのに。
2008/02/12(火) 08:52:28
                             |
                             |
      ∩___∩             |
      | ノ  _,  ,_ ヽ        ((  | プラプラ
     /  ●   ● |         (=)
     |    ( _●_)  ミ _ (⌒)   J  ))
    彡、   |∪|  ノ
⊂⌒ヽ /    ヽノ  ヽ /⌒つ
  \ ヽ  /         ヽ /
   \_,,ノ      |、_ノ
2008/02/14(木) 00:56:19
縦分割のSTGって話が出てたんでブラスターバーンを思い出した。
8ドット単位の潔いスクロールだったなぁ。そういえば。
でも回転する面はすばらしかった。
2008/02/14(木) 11:00:22
その回転する面のBGMが、ガーディックのアレンジだとわかったのはずいぶん後だった。
2008/02/16(土) 04:49:26
右側のスコア部分を、スクロールに合わせて毎回書き直すのでは
間に合いませんか?
2008/02/16(土) 07:51:42
まずは、自分でやってみれ。
どれだけのものを書き直すかにもよるだろ。
2008/02/16(土) 07:51:57
MSXでビットマップ描画をするのか
2008/02/16(土) 21:50:33
暇つぶしにBASICでやってみた

適当にゴミ描いて、85x10のサイズをYMMMでコピーしてスクロール
ページはスプライトエリア触るのがめどいから、1と3を使ってかぶらんよーに回避
画面の切り替わり部分で表示が消えるけどスルー
見た目の同期を取るためのウェイトも無し
310行目はZ80モードなら、YMMM終了にBASICが追いつかないから要らんけどね

100 SCREEN 5:OPEN"GRP:"FOR OUTPUT AS #1
120 SETPAGE 1,1:CLS:FOR I=0 TO 100
140 LINE(RND(1)*160,RND(1)*212)-(RND(1)*160,RND(1)*212),RND(1)*16
160 NEXT:COPY(0,100)-(255,200) TO (0,190)
170 SETPAGE 1,3:CLS:PSET(169,1),0:PRINT#1,"SCR:000000"
190 FOR I=0 TO 255
210 VDP(35)=0:VDP(36)=3:VDP(37)=170:VDP(38)=0:VDP(39)=(I+20)AND255
260 VDP(40)=1:VDP(43)=10:VDP(44)=0:VDP(46)=0:VDP(47)=&HE0
310 IF(VDP(-2)AND1)=1THEN310
340 VDP(24)=I:NEXT:GOTO 190

あー遅い。
2008/02/16(土) 22:10:30
前から思っていたが、VDPコマンドは知らない人が見てもさっぱりだな。
2008/02/16(土) 23:02:17
COPY文とかで描けない領域描くには、これしかないからなぁ
つくづく、そのあたりが面倒な画面仕様だな。
2008/02/16(土) 23:50:04
>>584
SETPAGEと送り先ページ指定で、どこからどこへもCOPYは出来ると思うが
SETPAGEとかの手続きがめどいってのは確かだな
でもページを1枚1枚分割するほうが、とっつきやすいからの
2008/02/18(月) 09:25:48
SCREEN3を使えば高速に画面をいじれるよ
2008/02/18(月) 13:50:21
その代わり、なんじゃこりゃな画面になるがなw
2008/02/18(月) 14:01:49
そのまえに本題の根底な「スコア」が書けない… スコア縦に2桁?
2008/02/18(月) 14:27:48
数字を色に置き換えれば1桁1ドットで…やっぱりなんじゃこりゃだな。
2008/02/24(日) 22:50:02
スコア用にスプライトを定義すればよかろうなのだ
2008/02/25(月) 12:23:52
>>590
>>570ですでにFCを例にしてその解決策が出ているにもかかわらず
>>579みたいな質問がキタからこの流れなわけだが…

もしや、SC3のなんじゃこりゃ画面にスプライトでスコア?
2008/02/25(月) 13:08:21
SC3に妖精だとおもってた
2008/02/25(月) 16:27:35
星のスクロールなら、1ドット毎にずれたキャラをつくっておいて書き換えれば済む。
グラディウスは星だけスムーズスクロール
2008/02/25(月) 20:01:22
おまいら、まずスクリーン3から頭を離せw
スクリーン3はネタだろww
595デフォルトの名無しさん
垢版 |
2008/02/25(月) 21:44:10
>>594
スマン
俺がスクリーン3などと言ったばかりにw

でも、縦横回転スクロールをやりたかったのでスクリーン3を使ってお試しプログラムを書いたことがあるよ。
マシン語だったけど、グルグルグイグイ面白かった。
そこから何にも発展なかったけどw
2008/02/25(月) 23:55:18
MSXじゃないけど「スティールガンニャン」とか観ると、
MSXのScreen3でも頑張ればどうにかなる気がする

http://gunnyan.hp.infoseek.co.jp/
2008/02/27(水) 16:32:29
>>596
見てみた。計算してみた。
フル画面で80x60か。

レースゲームでSC3はちょくちょくあるかなーとおもてたら
こんなんみつけた
ttp://ameblo.jp/msx-lab/entry-10007181938.html
一番下の。
2008/02/28(木) 13:26:53
なつかしいなw
それのサウンドドライバのMPKが使いやすくて好きだった
2008/02/28(木) 19:20:41
暇ながら、スプライトでスコアを表示するプログラムを簡単に作ってみた。
スコアの値をスプライトに定義するところだけ機械語。

10 SCREEN 5,2,0:CLEAR 200,&HCFFF:DEFINT A-Z
20 FOR I=&HD000 TO &HD039
30 READ A$:POKE I,VAL("&H"+A$)
40 NEXT
50 DEFUSR=&HD000
60 FOR I=0 TO 5:POKE &HF000+I,0:NEXT:'F000〜5に6桁の数字が入る
100 FOR I=0 TO 32767:A=I
110 FOR J=0 TO 2:PUTSPRITE J,(100+J*16,I MOD 190),15:NEXT
120 B=10000
130 FOR J=0 TO 4
140 POKE &HF000+J,ABS(A/B):A=A MOD B
150 B=B\10
160 NEXT:'F000〜5に表示させたい数字を1桁ずつ入れる
170 A=USR(0)
180 NEXT
190 GOTO 100
1000 'スコアの値(F000〜5)をスプライトに定義する
1010 DATA dd,21,00,f0,06,00,c5,dd, 7e,00,c6,30,26,00,6f,29
1020 DATA 29,29,44,4d,2a,04,00,09, c1,78,c5,e5,26,00,6f,29
1030 DATA 29,29,29,11,08,78,19,54, 5d,e1,01,08,00,cd,5c,00
1040 DATA dd,23,c1,04,78,fe,06,20, cd,c9

この例ではMSX内蔵フォントを読んでいるので、自分で定義したフォントを
使いたければ、1020行の 2a,04,00 のところを 22,nn,nn というように指定すればOK。
スクリーン5/6以外なら、1030行の 08,78 をスプライトジェネレータVRAMアドレス+8でOK。
遅いのは、他の処理がベーシックだからしょうがない。
2008/02/28(木) 19:30:53
最後の2文字がRETなのだけわかった
2008/02/29(金) 09:26:42
>>600
それが分かったら、マシン語の第一歩だな
2008/02/29(金) 10:13:33
C3 48 45 4C 4C
2008/02/29(金) 11:35:41
スレ違いだが相対ジャンプのアドレス計算が苦手だ。
パッと出てこない。

>>602
JP 4548h
LD C,H
LD C,H

二度転送するのは何かのおまじないであろうか?あろうか?
2008/02/29(金) 12:42:28
>>603
48 H
45 E
4C L
4C L
2008/02/29(金) 13:26:32
BASICではないが、オッサン臭がして面白い。
2008/02/29(金) 14:47:40
>>604
それは気付かなかった。面白いな。
2008/03/05(水) 19:30:27
こいつって評価乞食じゃない?
ちゃんと金を払って取引終了した落札者に評価がないからといって、
非常に悪いの評価を下す出品者ってどうなのでしょうか?
見ていて腹が立ちました。

m_interest88
http://page4.auctions.yahoo.co.jp/jp/auction/d75623450
2008/03/05(水) 19:47:07
晒しは(゚听)イラネ
2008/03/05(水) 20:02:02
>>608
こいつって評価乞食じゃない?
ちゃんと金を払って取引終了した落札者に評価がないからといって、
非常に悪いの評価を下す出品者ってどうなのでしょうか?
見ていて腹が立ちました。

m_interest88
http://page4.auctions.yahoo.co.jp/jp/auction/d75623450
2008/03/05(水) 21:06:12
まじかよ、そいつひでーな
元気出せ
俺はおまえの味方だぞ
2008/03/06(木) 01:02:27
こんなとこまで出張してきてるのか…


>>599
せっかくだからマシン語もBASICにしようと思ってハンド逆汗しようとしたが
LD A,(IX+d) で「d」ってなんだっけっていう挫折… orz

2008/03/06(木) 08:03:29
>>611
dは、好きな数を入れる。dに8を指定したら、
IXの指定番地+8番地目の値をレジスタAに読む。
2008/03/06(木) 08:27:57
>>611

機械語でやっていることは、
(1)文字フォントを格納しているROMの番地を調べ、そこから(48+表示する数字)×8を
足して、表示する数字のフォント番地を求める
(2)7808h(SC5の場合)+16×桁(左から。十万→一万→…の順)から8バイトに
上で求めた数字フォントから8バイトを書き込む。つまりスプライトジェネレータの
下半分しか触っていないため、上半分は好きに使える
(3)これを6桁分行う(ので、スプライト定義番号0〜2を使う)
なので、この考えをベーシックにすればOKだな。

500 '
510 A=PEEK(4)+PEEK(5)*256
520 FOR K=0 TO 5
530 B=(PEEK(&HF000+K)+48)*8+A
540 FOR L=0 TO 7
550 VPOKE &H7808+K*16+L,PEEK(B+L)
560 NEXT
570 NEXT
580 RETURN

なのでベーシックならこのようにして、A=USR(0) を GOSUB 500 にすればOK。
614611
垢版 |
2008/03/06(木) 10:20:21
>>612
せんくす
直接数値ってと[n]とか[m]しか記憶になかった。

ひさしぶりにべったりZ80触るかな…

>>613
やっぱりそういう流れだわね
ふと、先にROMをVRAMの空きに展開しておけば、
VDPの転送とか使えるな〜とかおもた。


ひさびさに逆汗して遊ぶ(゚∀゚)
2008/03/08(土) 17:14:33
767 :ナイコンさん:2008/03/08(土) 09:57:39
じぶんの出品物が安く落札されそうなら、捨てIDで吊上げる。
これ藤原組は,白上はじめ皆が使ってる手口www

名作MSX ELLE
http://page6.auctions.yahoo.co.jp/jp/show/bid_hist?aID=f65589301
入札者 入札額 数量 最終手動入札時刻
egulin_jp (45) 最高額入札者 3,500 円 1 3月 7日 19時 36分
msxtech (新規) 3,400 円 1 3月 7日 18時 46分 ←sanibu藤原覚satopin,potetolife
616デフォルトの名無しさん
垢版 |
2008/03/09(日) 22:33:40
ギザカワイソス


非常に良い出品者です。 評価者:x68000acehd2000 (3)
◆即決◆MSX グラディウスシリーズ5本+スペースマンボウ (終了日時:2008年 2月 21日 0時 18分)
コメント : 本日商品を受領しました。とても素早い対応で安心して取引が出来ました。
ただ、経年劣化が予想を超えてあまりに酷く、残念な結果でしたが、そこは賭けでしたので納得してます。ありがとうございました。 (評価日時 :2008年 2月 25日 22時 11分)

http://page8.auctions.yahoo.co.jp/jp/auction/h54614200
2008/04/18(金) 16:05:08
とりあえず投下。VDPコマンドがまともに動いてないのでCOPY文・・・orz

100 'COPY命令によるパレット切替テスト
110 DEFINTA-Z:P=3 'スクロール速度(P>18では正常に動作しません)
140 COLOR15,0,0:SCREEN5,0:SETPAGE1,1:CLS
160 FORI=0TO15:LINE(I*16,0)-(I*16+15,210),IXOR(I+1AND15):NEXT
170 COPY(0,0)-(254,210)TO(1,0),,XOR
180 FORI=16TO31:LINE(I,I)-(255-I,210-I),15,B,XOR:NEXT
190 SETPAGE1,0:IFSTICK(0)=0THEN220 'カーソルでデバッグモード
210 SETPAGE1,1:VDP(24)=128
220 CLS:vdp(9)=vdp(9)OR2
230 A=A*5+13AND4095
240 NR=A\8AND7:NG=A\64AND7:NB=A\512AND7
250 'パレット座標指定
260 SL=(SL)MODP+193:LL=SL*128
270 '色指定 (R,G,B のいずれか1つのみ、変化させる)
280 XB=XB+SGN(NB-XB)*(XR=NR)*(XG=NG):XG=XG-SGN(NG-XG)*(XR=NR):XR=XR+SGN(NR-XR)
310 'パレット情報を移動
320 COPY(59,SL)-(0,SL)TO(63,SL):VPOKELL,XR*16+XB:VPOKELL+1,XG
350 'RESTOREさせる座標にパレット情報複製(スプライト破壊が起きています)
360 COPY(0,SL-26)-STEP(63,26)TO(0,211):COLOR=RESTORE
380 IFSTRIG(0)THENEND
390 '色変化がなくなったときは色を再指定
400 IFNR=XRANDNG=XGANDNB=XBTHEN230ELSE260
2008/04/24(木) 20:28:29
書き換えても問題ないシステム用ワークエリアを拝借(ダイレクトモード専用命令のAUTO関係とか)
REM文上の文字が直接マシン語のコードになってるプログラムなどで自前のワークエリアを用意できないときに便利
2008/04/24(木) 20:29:27
INTFLG(FC9BH,)に3を入れるとMSX-BASICはCTRL+STOPが押されたときの処理をする
そこで、H.TIMIでキー入力を監視してINTFLGを操作することでCTRL+STOP以外でもCTRL+STOPできる

普通はPLAY文の演奏中にキー入力によって演奏を中断させようとすると、区切りのいいところまで演奏してから止まるけど
この技とON STOP GOSUBを使えば、PLAY文で作った音楽集で演奏中いつでもジョイスティックのトリガでメニューに戻るとかもできる
2008/04/27(日) 16:08:24
ダイレクトモードでカーソルを画面右端に置いてスペースキー
カーソルは次の行の左端に移動するが、このとき2行が接続される
バックスペースを押すとカーソルを先頭にした行が前の行を削っていくように見える

10 CLS    ■
20 BEEP



10 CLS
■0 BEEP



10 CLS    ■0 BEEP

のようにできて、最終的には
10 CLS:BEEP と1行にまとめることができる
DATA文をまとめたいときなどに便利
621デフォルトの名無しさん
垢版 |
2008/04/27(日) 16:23:45
?1+1■
でリターンを押すと

?1+1
2
Ok


となるが、
SETPROMPT CHR$(30)でカーソルの上移動をプロンプトに設定すると

?1+1
2


となり、ダイレクトモードで何度も計算や実験をするときに便利
上に戻るカーソル移動量も減るし、必要だった文字をプロンプトに消されたりしないし
うっかりプロンプト上でリターンを押してシンタックスエラーが出るのともおさらば
2008/04/27(日) 16:40:04
プログラム実行中に使うとダイレクトモードに移行してしまうlist命令なども
キーバッファにrunやgotoとリターンコードを入れておけばプログラムに自動復帰できる
プログラム実行中にリストを表示したいときなどに便利
ためしてはいないけど、autoでこれをやるとプログラムの自己書き換えもできるかも?
2008/04/27(日) 18:32:34
>>622
キーバッファに書き込む方法ぷりーず
ワークエリアの指してるアドレスに書くだけ?
2008/04/27(日) 20:36:43
>>623
これをズラす

PUTPNT(F3F8H, 2)
初期値    KEYBUF(FBF0H)
内容     キーバッファへの書き込みを行う番地を指す

GETPNT(F3FAH, 2)
初期値    KEYBUF(FBF0H)
内容     キーバッファからの読み込みを行う番地を指す

2008/04/30(水) 10:41:42
>>624
やってみた
なんかできそーだったけど、バッファの使い方がいまいちわからなくて
てきとーにやってたら、延々自分を実行し続けたりして笑た
626デフォルトの名無しさん
垢版 |
2008/04/30(水) 14:09:17
>>617 を応用して星を流してみた
ゲームとして使うには速度が足りない・・・ orz

10 'スプライトの擬似スクロール
11 '(初回起動時はカーソル右を押したまま実行してください)
12 CLEAR200:DEFINTA-Z:SCREEN5,3:COLOR15,0,0:CLS:DIMS$(7):A=RND(-TIME)
13 FORI=0TO15:SPRITE$(I)=STRING$(I,0)+" ":NEXT
14 SETPAGE0,1:IFSTICK(0)THENCLS
15 'スプライトカラー定義(コピー元)
16 FORI=0TO511:VPOKE&H6700+I,15:NEXT
17 'スプライト定義 (星)
18 'メイン処理 (スペースキーで終了)
19 X=RND(1)*25088:Y=X\128:G=XAND15:X=XAND255:P=P+1AND31
20 COPY(55,L)-(0,L)TO(63,L)
21 V=L*128:VPOKEV,Y:VPOKEV+1,X:VPOKEV+2,G
22 COPY(0,L)-(63,L)TO(0,210)
23 COPY(0,185)-(63,210)TO(192,211),0
24 G=G+4:L=L+1AND63
25 IFSTRIG(0)+1THENIFG>63THEN19ELSE20
2008/05/04(日) 12:40:11
擬似回転プログラム (不完全)
まじめに計算すると遅くなる人向け
スペースキーで終了ですが、長押ししないと効きません。
計算式は絶対間違ってるので、修正できる人に回します。
縦横比の修正だけでも処理できれば、
スプライトの回転グラフィック生成用に使えるかもしれません。

10 '_TURBO ON
20 SCREEN5:SZ=16 'MAX:64
30 FORI=3TOSZ\2STEP4:CIRCLE(SZ\2,SZ\2),I,I\3:NEXTI
40 LINE(0,0)-(SZ,SZ),14,B:LINE(0,0)-(SZ,SZ):LINE(SZ,0)-(0,SZ)
70 FORJ=1TO0STEP-.05:SX=J:SY=SQR(SX)/2
80 LINE(128,0)-STEP(SZ*2,SZ),0,BF
90 FORI=0TOSZ:COPY(0,I)-STEP(SZ,0)TO(I*SX+128,I):NEXTI
110 LINE(128,96-SZ\2)-STEP(SZ*2,SZ*2),0,BF
120 FORI=0TO(SX+1)*SZ:COPY(I+128,0)-STEP(0,SZ)TO(I+128,(SZ-I)*SY+96):NEXTI
150 COPY(128,96)-STEP((1+SX)*SZ+3,SZ)TO(0,96)
160 NEXTJ
165 IFSTRIG(0)THEN270
170 FORJ=0TO1STEP.05:SX=J:SY=SQR(SX)/2
180 LINE(128,0)-STEP(SZ*2,SZ),0,BF
190 FORI=0TOSZ:COPY(0,I)-STEP(SZ,0)TO((SZ-I)*SX+128,I):NEXTI
210 LINE(128,96-SZ\2)-STEP(SZ*2,SZ*2),0,BF
220 FORI=0TO(SX+1)*SZ:COPY(I+128,0)-STEP(0,SZ)TO(I+128,I*SY+96-J*SZ/2):NEXTI
250 COPY(128,96)-STEP((1+SX)*SZ+3,SZ)TO(0,96)
260 NEXTJ
270 IFSTRIG(0)+1THEN70


もし、 >>626>>617 が動作しないときはツッコんで下さい

>>626 の 17行目は12行の後に移すか、見なかったことにしてください
2008/06/22(日) 16:35:11
COPY命令だけで色の置換を行うプログラム
応用すればVDPで乗除算も可能だが、実用になるかどうかはわからない。

10 'SAVE"colorchg.txt",a
20 'CALL TURBO ON
30 DEFINTA-Z:COLOR15,0,0:SCREEN8
40 FORI=1TO7:FORJ=0TO1:CIRCLE(31+J*64,31),31-I*4,I*(4+J*28):NEXTJ:PAINT(31,31),I*4:NEXTI
50 FORI=0TO7:COPY(0,I*8)-STEP(127,7)TO(0,64)
60 COPY(0,64)-(127,119)TO(0,72)
70 FORJ=0TO7:LINE(0,J*8+64)-STEP(127,7),2^J,BF,AND:LINE(0,J*8+64)-STEP(127,7),2^J,BF,XOR:NEXTJ
85 FORJ=2TO7:LINE(128,J*8+64)-STEP(127,7),2^JXOR2^((J+1)MOD6+2),BF:NEXTJ
90 COPY(0,64)-STEP(127,63)TO(128,64),,TPSET
95 FORJ=2TO7:LINE(128,J*8+64)-STEP(127,7),2^J,BF,XOR:NEXTJ
120 COPY(128,64)-(255,119)TO(128,72),,OR
130 COPY(128,120)-STEP(127,7)TO(128,I*8):NEXTI
140 IFSTRIG(0)+1THEN140
2008/07/02(水) 21:53:26
MSXマガジンに載ってた
BASICROMを音データにして演奏するやつ>>前衛ジャズそのもので聞き惚れ
テープI/Oを超高速で唸らせてサンプリング音再生するやつ>>機械語だったかもしれんが
630デフォルトの名無しさん
垢版 |
2008/07/19(土) 05:47:56
【wanwan】塩沢俊平太 2【millennum】
http://pc11.2ch.net/test/read.cgi/net/1212676558/
犯罪者塩沢俊平太の情報を収集しております
情報をお持ちの方はご協力お願いします
2008/07/21(月) 22:40:42
ヘクスマップを描画する良い方法はありませんか?
2008/07/21(月) 23:29:49
いろいろあるのに、どこがダメなの?
2008/07/22(火) 13:20:54
どうやらMSXではヘクスマップを簡単に表示する方法は無いみたいですね。
残念です。
2008/07/22(火) 14:11:27
■■◎◎■■
■■☆☆■■
□□☆☆□□
□□★★□□
■■★★■■
■■◎◎■■

こんな感じの組み合わせでヘックスっぽく使ってたソフトもあったような。
2008/07/22(火) 14:23:23
ユニットの向きも視覚的に扱いたいのでヘクスでお願いします。
2008/07/22(火) 14:49:24
ユニットの向きを6方向分用意すればいいだけじゃ?
2008/07/22(火) 17:22:37
MSX限定でもないが、ヘクス升を画像データで用意しといて
中に四角の地形やキャラを置くというのはありそうだ。
方向が欲しいならキャラクタを用意するか、スプライトで方向矢印をだな…
まあ奥義ではないな。

ところで、MSX1なのか2以降なのかによって、盛大に話が変わると思うが
2008/07/22(火) 17:35:30
Screen3 か Screen12 でやれば漢
2008/07/22(火) 18:30:50
>ヘクスマップ

http://ossan.fam.cx/up/gazo/src/1216719217354.png
こうやりゃいい。難しく考えすぎだ。
2008/07/22(火) 19:43:15
QVGAの携帯画面に縮小されてもバッチリ全部読めてワラタ

解像度的には確にそんなもんだったな。
2008/07/22(火) 19:50:19
>>639
8x8幅で収まるんだなーとおもたが、よく考えたら四角を半分ずらしたマップと一緒なんだな。
これは知らなかった。

あとは、中の24x24をどう埋めるかか。
2008/07/28(月) 23:24:28
| (縦線)と∧∨みたいなの使って、

| | | |
∨ ∨ ∨
| | |
∧ ∧ ∧
| | | |

ってやったらどうだろう。
同一フォントはないから、PCG使って。
縦線と縦線の間に、一文字分のスペースがとれるから、
そこにキャラのPCGを入れる。方向別に6種類の絵を作る必要があるけど。
(斜め上+横+斜め下の三種類に左右反転表示を組み合わせて6種類、または、斜め上のPCGを上下反転で斜め下とすれば2種類でもOk?)
2008/07/28(月) 23:25:58
僕は、エイダちゃん!
2008/07/28(月) 23:58:29
>>642
ズレとるズレとる
ちょっと縦長すぎやしまいか?
| | | |
 ∨ ∨ ∨
 | | |
 ∧ ∧ ∧
| | | |

せめて横にも2キャラ
.|  |  |  |
 \/\/\/
 . |  |  |
 /\/\/\
.|  |  |  |
2008/07/29(火) 09:40:13
>>664
なんか、今にも横に歩き出しそうだな
2008/07/29(火) 11:01:16
>>664に期待wktk
2008/07/31(木) 22:52:05
http://ossan.fam.cx/up/gazo/src/1217511981574.png
もっと単純に、こう描けばいいということか。

>>639の大きさなら、PCG定義を4ドット横にズラした方が
作りやすいかな。
2008/08/01(金) 03:23:48
2chらしからぬ親切レス。
647 は最上級に褒め称えられて良いし、もっとあれこれスレに投下すべき。
2008/08/01(金) 10:15:36
ヒマなんだろ。
2008/08/01(金) 11:56:37
こうしてみると、難しそうに見えるだけで
ムチャクチャ簡単な処理だな
2008/08/01(金) 15:18:37
LINE命令で作るとどうなる?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況