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

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

・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。
2008/01/30(水) 20:57:48
KILL "ファイル名"
2008/01/31(木) 10:41:53
>>521
ありがとうございます!
2008/01/31(木) 15:03:46
サブルーチンがやっと分かった!
2008/01/31(木) 15:20:39
マヂで今勉強してるやついんの?
悪いとは言わんが。

俺ももうちょっと年寄りになって余裕ができてきたら
また遊ぶかもしれん。
2008/01/31(木) 19:39:17
ム板最古スレ
2008/02/01(金) 09:26:33
>>521
KILL"ファイル名”で問題なくSDカードにあるファイルを削除できました。
ありがとうございます。
当方、手持ちのMSX1のマニュアルや全BASICコマンドのリファレンスカード、
またはテープレコーダーのマニュアルにもこのKILLコマンドは記載しておりません。
このコマンドは昔からあったコマンドでしょうか?
フロッピーディスク内のファイルをいじる際に使うコマンドだったのでしょうか?
2008/02/01(金) 10:45:53
>>526
ttp://www.imasy.or.jp/~ngs/fsw/wiki.cgi/TechHan?page=1.2+MSX+DISK-BASIC%A4%CE%CC%BF%CE%E1
2008/02/01(金) 11:39:12
をを〜っ、スバラシイページができてる!
DataPackのWiki化計画はないかな。
2008/02/01(金) 12:15:06
MSX DISK-BASICってFDD用ということでしょうか?
2008/02/01(金) 13:13:48
>ディスクシステムを使用している場合には、このver2.0に
>さらにディスク操作の命令が追加されたMSX DISK-BASICが利用できます

テクハンHPの、ベーシックの項目にちゃんと説明がある。
ゆっくり読んで勉強してくれ。
2008/02/01(金) 15:58:50
>>529
「DISK」ってのは、ドライブレター("A:"とか"B:"とか)でアクセスできる
デバイスの総称。RAMDISKも含まれる。
あとはのんびり勉強してくれ。
2008/02/01(金) 20:05:50
このスレって、意外と見ている人多いのか?
2008/02/01(金) 20:33:04
多色刷りを勉強し始めました・・・
2008/02/02(土) 00:29:17
>>531
ありがとうございました!
2008/02/02(土) 01:09:19
シューティングゲームを作ろうとしたけどテキストとグラフィックが同時に使えないから
点数表示ができない。助けて!アルゴマン!
2008/02/02(土) 09:24:18
open "grp:" as #1
preset (x,y)
print #1, score
だっけ?
2008/02/02(土) 09:40:15
10 SCREEN 5,2,0:DEFINT A-Z
20 OPEN "GRP:" FOR OUTPUT AS #1
100 PRESET(100,100)
110 PRINT #1,"HELLO WORLD!"
120 GOTO 120

グラフィック画面でテキストを表示する場合、こうやる。
凝りたければ、COPY命令(またはそれに準じるもの)でスコアを表示するのもアリだな。

スクロールするゲームが作りたいという場合は、
スプライトでスコアを表示させるか、垂直帰線割り込みによる
画面分割というテクニックが必要になってくる。
2008/02/02(土) 19:28:02
■■■■■■■■□□□□
■■■■■■■■タイトル
■■■■■■■■□□□□
■■ゲーム画面■□点数□
■■■■■■■■□□□□
■縦スクロール■□残機□
■■■■■■■■□□□□
■■■■■■■■□□□□

こんな画面構成にしたいんですが
2008/02/02(土) 19:56:34
スクリーン4を使って、8ドットスクロールさせれ。
その画面割りで1ドットスクロールは、漏れにはでけん。
2008/02/04(月) 14:58:46
MSX-DOSの話題はスレ違いでしょうか?
新スレ立てるのもアレですし、
このスレに統合しても構わないですか?
2008/02/04(月) 21:01:33
>>538
お前、わかっててわざと言ってるだろ。
2008/02/04(月) 22:25:55
>>537
垂直帰線(V-Sync)ではなく水平帰線(H-Sync)ね。念のため。
2008/02/05(火) 12:51:02
MS-DOSとMSX-DOSはどの程度共通しておりますか?
MSX-DOSを使いこなせれば、その知識でMS-DOSも使いこなせるものでしょうか?
2008/02/05(火) 13:35:31
MSX-DOS2だったら、結構近いけど、MSX-DOSだと微妙。
CD
MD (Mkdir)
RD (Rmdir)
がMSX-DOSには無かった記憶が。

結局、MSX-DOSもMS-DOSもMSX-DOS2も、そこから動かすコマンド次第なので、
使えるようにはなるけど使いこなせていない。と感じると思う。

PJだよ。PJ.PatternJack最高
2008/02/05(火) 13:50:51
>>544
すみません。私がやりたいのはMSX-DOS2の方ですね。
こちら方ではMS-DOSと共通部分が多いということですか?
MS-DOSは16ビットでMSX-DOSは8ビットの機能限定版と聞いたこともあります。
2008/02/05(火) 14:24:27
どのような事をもって使いこなせる。と感じるかだと思いますよ。
実際のプログラムは「まったく」使えないし。
ファイル管理方法が同じで、COMMAND2.COM(DOS2)とCOMMAND.COM(MS-DOS)上の
コマンドでよく使うのが同じ。ってくらい。

MS-DOSとの関係的に話を広げちゃうと
・CONFIG.SYSによるデバイスの設定
・常駐プログラムの概念
・EMS/BMSなどの追加メモリ管理の概念(デバイスドライバだけど)
とか、範囲が広がりすぎる。

MS-DOSで何をしたいんでしょう?
2008/02/05(火) 15:12:52
Windowsのコマンドプロンプトで詰まってる奴を見ると、
「プログラム書いててDOSも知らねーのかよ」と思うことがあるが、
今からDOSを学習しようとする奴を見ると、
「何で今頃DOS?」と思ってしまう、矛盾した俺。
2008/02/05(火) 15:33:15
>>547
なるほど。そういうレベルでの利用法ならMSX-DOS2でも勉強になるかもしれないな。
2008/02/05(火) 15:35:56
>>545
MSX-DOSはファイル形式とシェルがMS-DOS風味になったCP/Mです。
BDOSコールなどは完全にCP/Mですから。
2008/02/05(火) 16:53:53
>>546
1chipMSXやMSXPLAYerでのファイル管理です。
またMSX-DOS2を覚えることが、MS-DOSを覚えることと等しいのであれば、
ウインドウズでのコマンドプロンプトも使いこなせることになると思ったからです。
当方、今のところコマンドプロンプトを使えません。
2008/02/05(火) 17:16:18
>>550
ファイル名を指定して実行
cmd
でコマンドプロンプトを開けて、
help | more

DOSのシェルでやれることなんてしれてるからね。

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


となり、ダイレクトモードで何度も計算や実験をするときに便利
上に戻るカーソル移動量も減るし、必要だった文字をプロンプトに消されたりしないし
うっかりプロンプト上でリターンを押してシンタックスエラーが出るのともおさらば
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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