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

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

・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。
2007/11/30(金) 05:39:21
>>490
40過ぎてフリータ(で密航して捕まったの)はエメドラのコード書いた人
2007/12/01(土) 09:30:40
>>491
ボーステックの人か。懐かしいな。
2007/12/03(月) 11:00:41
直人にょ.
2007/12/27(木) 01:18:02
 ク    ク    || プ  / ク   ク  || プ  //         ,へ      ヘ 
  ス  ク ス _  | | │ //. ス ク ス _ | | │ //         /ハ \_/ 八 
  / ス   ─  | | ッ // /  ス   ─ | | ッ //      /_______}       
  / _____  // /          //      ..{_____ニート_|       
.  /   l⌒l l⌒l \  ))   ____           |ミ/ ー―◎-◎-)      
. / / ̄| ,=| |=、| ̄ヾ   / ____ヽ         (6 u    (_ _) )      
/ ̄/ ̄.  ー'●ー'  ̄l ̄ |  | /, −、, -、l  ))   ―-、ノ/| .∴ ノ  3 ノ     直人にょ.
| ̄l ̄ ̄  __ |.    ̄l ̄.| _| -| ,=|=、 ||      | -⊂)/ _\_____ノ__     
|. ̄| ̄ ̄  `Y⌒l__ ̄ノ ̄ (6.   ー っ-´、}      |   |/  粘 ≡ :::: (、  ヽ   
ヽ  ヽ    人_(  ヾ    ヽ    `Y⌒l_ノ      ヽ  `\(  着 ≡ :::: |___|    
  >〓〓〓〓〓〓-イ   /ヽ  人_(  ヽ      `− ´ (  .無職 ::::.  |  |    
/   /  Θ  ヽ|  /    ̄ ̄ ̄ ヽ-イ         (うーたん萌え.(t  )   
2008/01/13(日) 03:49:20
MSX-BASICでなんとなくゲームを作るwiki
ttp://www29.atwiki.jp/msx_basic/
2008/01/21(月) 20:44:30
MSX-DOSはどれくらいMS-DOSみたいに使えたのか・・・(´・ω・`)
2008/01/21(月) 22:24:35
CP/Mくらいかな?
2008/01/27(日) 07:12:20
BASICプログラムを保存する際、
拡張子.BASは付けなくても保存できますが、
拡張子は付けなくても問題はありませんか?
.BASを付けているが多いので気になります。
2008/01/28(月) 01:04:41
そりゃよかった
2008/01/28(月) 01:34:21
>>499
慣例みたいなものなんで、別に何でも良いよ

でも起動直後に実行させたいプログラムだけは
autoexec.basというファイル名にしないといけない
2008/01/28(月) 07:54:14
>>501
ありがとうございます。
では、autoexec.bas以外の自作ゲームのようなプログラムで
拡張子を付けずとも後々に困るというような局面はないということで宜しいでしょうか?
2008/01/28(月) 10:39:20
漏れは拡張子をつけることを勧める。
それが何のファイルかが拡張子で分かりやすいから。
つけないと、ファイル整理で困ることになると思われ。
2008/01/28(月) 11:40:10
なぜ付けたくないのかが気になる。
2008/01/28(月) 13:35:26
>>503
なるほど。整理用としての拡張子という訳ですね!

>>504
シンプル イズ ベストとか思ったりしまして・・・。
2008/01/28(月) 13:36:35
N88しか知らんが、save”program”だけなら勝手にprogram.basでsaveされる。
save”program.”だと拡張子なしのprogramでsaveされる。

別に同じ名前のファイルがなければ拡張子はあってもなくても問題はないが、loadするときbas以外は拡張子が省略できないので面倒。
507デフォルトの名無しさん
垢版 |
2008/01/28(月) 14:09:32
MSX-BASICスレでN88の例を出されても・・・
2008/01/28(月) 14:46:31
拡張子つけないってアホか?と思ったけど、最近のWindowsは非表示ががデフォだからなぁ。

拡張子がないと「中身は独自バイナリかな?」と思ってしまう。
2008/01/28(月) 15:20:44
Macは拡張子が無いです。隠された属性になります。
MS-DOSには拡張子があります。

基本は、MS-DOSの流儀に従って拡張子を付けるべきです。
これはWindowsでも同じように通用します。
2008/01/28(月) 16:50:05
良く見たら、他のスレでも同じ質問しているな。
新手の釣りだったのか?
2008/01/28(月) 21:05:13
拡張子のあとにスペースを160個入れて最後に.scrをつけます
2008/01/29(火) 06:31:51
>>510
勝手にコピペしてあたかもマルチしているように邪魔されてるんです。
2008/01/29(火) 17:58:14
今、MSX-BASICをやる意義とは?
2008/01/29(火) 23:23:15
オモチャで遊ぶ感覚を楽しむこと。
MSXなら公式エミュもあるし、ワンチもあるし、
非公式エミュも発展しているしで、動作させるには困らない。
2008/01/30(水) 08:43:10
BASICマガジンなんかを中古で買った場合、
中にある手本のBASICプログラムをMSXに打ち出した場合、
ちゃんとRUNするのでしょうか?
BASICにも色々種類があるようですし、
「こんにはマイコン」でもMSX版とPC-6001版とかがあります。
中古でBASIC本を買うときはその辺りが難しいです。
中には表紙に対応ハードを書かずに単にBASICというだけのものもあり、
それがMSXでも使えるのかどうかなど。

MSX以外のBASIC本を買った場合、MSXユーザーとしては、
どういうところを読み替えたりする必要がありますでしょうか?
大抵は問題ありませんか?
2008/01/30(水) 08:56:30
MSX用のものは、MSXで間違いなく動作する。
MSXは下位完全互換なので、MSX1用のものはMSX2でも2+でも動く。

他機種のベーシックからの移植は、難しいと思う。
両機種のハードを知っていないといけないから。
MSXは、まず他機種よりも画面が狭いので、画面回りは
大きく手を入れる必要が出てくる。
なので、「MSX用」かどうかを確認してから打ち込まなければいけないし、
他機種用のベーシック本を買って勉強は間違っていると考えるべき。
資料なら、MSXの場合はネットで検索すればある程度は出てくる。
2008/01/30(水) 12:03:38
リストは、Win上のメモ帳とかに打って"xxxx.bas"と保存して、
そのファイルを実機や公式エミュなら2Dフロッピーに、
1チップならSDカードに、非公式エミュならdiskmgrとかでディスクファイルに
入れると動作するので、ひょっとしたらプログラムの入力は
OCRソフトが役に立つかも。
2008/01/30(水) 16:28:35
>>516
そういうのは上位互換って言うんだよ!
下位互換っていうのはturboRがMSX1でも動くようなことを言うんだよ!
2008/01/30(水) 17:43:39
ツッコミ乙
2008/01/30(水) 20:50:10
1チップMSXにてSDカードにSAVEすることはできましたが、
SAVEしたファイルを削除する方法が分かりません。
BASIC命令で削除するにはどうすれば良いのでしょうか?
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のなんじゃこりゃ画面にスプライトでスコア?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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