忘れない内に皆に伝授しときましょう。
・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。
探検
MSX-BASICの奥義を伝授するスレ
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
NGNG427デフォルトの名無しさん
2006/12/04(月) 00:05:56428デフォルトの名無しさん
2006/12/04(月) 04:25:15429デフォルトの名無しさん
2007/01/29(月) 20:24:45 保守
430デフォルトの名無しさん
2007/02/08(木) 01:45:09 保守
431デフォルトの名無しさん
2007/02/12(月) 19:09:28 既出ならスマソ
MSXのBIOSはUNIXマシンで開発され
ソースコードは8進数で記述されていたことをご存知でしたか?
MSXのBIOSはUNIXマシンで開発され
ソースコードは8進数で記述されていたことをご存知でしたか?
432デフォルトの名無しさん
2007/02/12(月) 23:54:17 1チップMSX2が出たってのに相変わらず盛り下がってるな。
結局、割れ物のゲーム動かすだけで満足しちゃってるんだろうか。
結局、割れ物のゲーム動かすだけで満足しちゃってるんだろうか。
433デフォルトの名無しさん
2007/02/18(日) 11:47:39 保守
434デフォルトの名無しさん
2007/02/24(土) 14:18:48 定期点検
435デフォルトの名無しさん
2007/02/25(日) 00:02:00 すっかり忘れてた。
FPGAキットとして欲しかったけど、もう熱冷めた。
FPGAキットとして欲しかったけど、もう熱冷めた。
436デフォルトの名無しさん
2007/02/25(日) 00:27:08 9800円のターボRに期待
437デフォルトの名無しさん
2007/03/26(月) 14:58:27 気が向いたんで1ChipMSXを買ってみたMSX初心者なんだが
グラフィック画面に文字を出力したいんだ。
で、書いてみたのが↓のプログラム。
10 screen2:cls:open"grp:"foroutputas#1
20 print#1,"Hello, MSX World"
30 i$=inkey$:ifi$=""then30
実行すると確かに文字は表示される事はされるんだが、実行する度に
表示位置が8ドットずつ下にずれていくんだ。なんでだろう?
printの時はlocateで出力位置指定できるけど、print#の時はどうしたらいいの?
グラフィック画面に文字を出力したいんだ。
で、書いてみたのが↓のプログラム。
10 screen2:cls:open"grp:"foroutputas#1
20 print#1,"Hello, MSX World"
30 i$=inkey$:ifi$=""then30
実行すると確かに文字は表示される事はされるんだが、実行する度に
表示位置が8ドットずつ下にずれていくんだ。なんでだろう?
printの時はlocateで出力位置指定できるけど、print#の時はどうしたらいいの?
438デフォルトの名無しさん
2007/03/26(月) 21:12:47439デフォルトの名無しさん
2007/03/26(月) 22:32:50 15 PRESET (x,y),c
440デフォルトの名無しさん
2007/03/27(火) 11:18:28 お、ほぼ期待した通りの動作をした。
ありがとう。
ありがとう。
441デフォルトの名無しさん
2007/03/27(火) 14:15:59 ロードランナー
442デフォルトの名無しさん
2007/03/29(木) 12:10:27 _fmpac
エミュには大抵FMPAC.ROM付いてるから(公式は知らない)できるはず・・
エミュには大抵FMPAC.ROM付いてるから(公式は知らない)できるはず・・
443デフォルトの名無しさん
2007/03/31(土) 17:31:38 そういやMSX FANにFinal Fantasy の戦闘時BGMをMSX-MUSICで再現した投稿はすげーと思った。
444デフォルトの名無しさん
2007/03/31(土) 18:50:05445デフォルトの名無しさん
2007/03/31(土) 19:27:51446デフォルトの名無しさん
2007/03/31(土) 21:19:40 同じピコピコだけどね
447デフォルトの名無しさん
2007/04/01(日) 16:11:51 ぜんぜん違う。
エミュしか知らねーんだろ。
エミュしか知らねーんだろ。
448デフォルトの名無しさん
2007/04/01(日) 20:07:34 というか、なんで内蔵音源だけで再現できなかったんだろう?
どこにmsx-music使うの?ユーザ音色1色しか同時に使えないアホ音源。
どこにmsx-music使うの?ユーザ音色1色しか同時に使えないアホ音源。
449デフォルトの名無しさん
2007/04/01(日) 21:57:54 誘導されてきた者です。
実は、中学生の頃から疑問に思っていて、いまだに解けない問題があります。
それは、on sprite gosub命令で、どのスプライトとどのスプライトが衝突したのかを
サブルーチン内で判定する方法はないのでしょうか?ということです。
これができないことにはシューティングゲームが作れません。
だって自機と自機の玉と敵機と敵機の玉と何が何に衝突しても同じ処理になるからです。
実は、中学生の頃から疑問に思っていて、いまだに解けない問題があります。
それは、on sprite gosub命令で、どのスプライトとどのスプライトが衝突したのかを
サブルーチン内で判定する方法はないのでしょうか?ということです。
これができないことにはシューティングゲームが作れません。
だって自機と自機の玉と敵機と敵機の玉と何が何に衝突しても同じ処理になるからです。
450デフォルトの名無しさん
2007/04/02(月) 00:24:02 どの種類のスプライトを移動したかを記憶しておく変数を用意して
ON SPRITE GOSUBで飛んだ先で、ON 変数 GOSUBで分岐。
分岐先で衝突しうるスプライトの座標を比較する。
とかじゃダメなの?
ON SPRITE GOSUBで飛んだ先で、ON 変数 GOSUBで分岐。
分岐先で衝突しうるスプライトの座標を比較する。
とかじゃダメなの?
451デフォルトの名無しさん
2007/04/02(月) 00:32:23 >>449
on sprite gosubで飛ぶサブルーチン側で、
当たったら処理しなきゃいけないスプライトを必死に探す。
449の例で言うなら自機と敵&敵の弾、自機の弾と敵について座標を比べまくって探すんだ。
それ以外が当たってるんだったら無視。
スピードが遅くなる?
そこは各自で工夫。
450の様に、動かしたスプライトについてだけ調べてみるとかも良い。
この判定処理を機械語ルーチン化するのは非常に有効な方法だ。
on sprite gosubで飛ぶサブルーチン側で、
当たったら処理しなきゃいけないスプライトを必死に探す。
449の例で言うなら自機と敵&敵の弾、自機の弾と敵について座標を比べまくって探すんだ。
それ以外が当たってるんだったら無視。
スピードが遅くなる?
そこは各自で工夫。
450の様に、動かしたスプライトについてだけ調べてみるとかも良い。
この判定処理を機械語ルーチン化するのは非常に有効な方法だ。
452デフォルトの名無しさん
2007/04/02(月) 00:40:36453デフォルトの名無しさん
2007/04/03(火) 15:31:31 >>449
基本的に on sprite gosub は、処理ムラや処理が重くなる原因なので
使わない方がよい。
以下のようにすれば、使わなくても判定できる。
5 ' スプライト しょうとつはんていサンプル
10 X=100:Y=100'じぶん
20 TX(0)=50:TY(0)=70'てき0
30 TX(1)=105:TY(1)=92'てき1
100 '
110 FOR I=0 TO 1
120 IF ABS(X-TX(I))<16 AND ABS(Y-TY(I))<16 THEN PRINT"てき";I;"とせっしょくしました"
130 NEXT
140 END
>>451のように、機械語にするのは有効。
MSXでは機械語をサブルーチンのように呼び出せるので、
ベーシックの一部分を少しずつ機械語にしていくと良い。
基本的に on sprite gosub は、処理ムラや処理が重くなる原因なので
使わない方がよい。
以下のようにすれば、使わなくても判定できる。
5 ' スプライト しょうとつはんていサンプル
10 X=100:Y=100'じぶん
20 TX(0)=50:TY(0)=70'てき0
30 TX(1)=105:TY(1)=92'てき1
100 '
110 FOR I=0 TO 1
120 IF ABS(X-TX(I))<16 AND ABS(Y-TY(I))<16 THEN PRINT"てき";I;"とせっしょくしました"
130 NEXT
140 END
>>451のように、機械語にするのは有効。
MSXでは機械語をサブルーチンのように呼び出せるので、
ベーシックの一部分を少しずつ機械語にしていくと良い。
454デフォルトの名無しさん
2007/04/03(火) 19:11:19 最近始めた初心者がいるのが驚きです
なんのメリットが・・・
なんのメリットが・・・
455デフォルトの名無しさん
2007/04/03(火) 19:34:36 折角なので、機械語で簡単に組んでみた。F020Hに、衝突元のスプライト番号を入れて、機械語を実行すると
F000HからF01FHに、スプライト番号0〜31と衝突したかどうかが入る。
(0なら衝突していない、1なら衝突している) F021H、F022Hも作業領域として使用している。
5 ' スプライト ショウトツハンテイサンプル
6 'F000~F01F ニ スプライトガ ショウトツシテイルカドウカガ ハイル(1:ショウトツ シテイル)
7 '
8 DEFINT A-Z:CLEAR 3000,&HCFFF:SCREEN 1,2,0:KEY OFF:WIDTH 32:SPRITE$(0)=STRING$(32,255)
9 GOSUB 1000
10 X=100:Y=100'ジブン
20 TX(0)=50:TY(0)=70'テキ1
30 TX(1)=105:TY(1)=92'テキ2
40 PUTSPRITE 0,(X,Y),15,0
50 FOR I=0 TO 1
60 PUTSPRITE I+1,(TX(I),TY(I)),8,0
70 NEXT
80 POKE &HF020,0:A=USR(0):'F020ニ ハンテイモト ノ スプライトバンゴウ ヲ イレル
90 FOR I=0 TO 31:VPOKE 6144+32*10+I,PEEK(&HF000+I)+48:NEXT:END
1000 '
1010 FOR I=0 TO &H5E
1020 READ A$
1030 POKE &HD000+I,VAL("&H"+A$)
1040 NEXT
1050 DEFUSR=&HD000
1060 RETURN
1070 '
1080 DATA 3a,20,f0,87,87,26,1b,6f, cd,4a,00,32,21,f0,23,cd
1090 DATA 4a,00,32,22,f0,06,00,78, 87,87,26,1b,6f,cd,4a,00
1100 DATA 4f,3a,21,f0,b9,28,0e,30, 05,57,79,92,18,01,91,fe
1110 DATA 10,38,02,18,17,23,cd,4a, 00,4f,3a,22,f0,b9,28,10
1120 DATA 30,05,57,79,92,18,01,91, fe,10,38,04,1e,00,18,02,1e
1130 DATA 01,78,26,f0,6f,7b,77,04, 78,fe,20,20,b9,c9
F000HからF01FHに、スプライト番号0〜31と衝突したかどうかが入る。
(0なら衝突していない、1なら衝突している) F021H、F022Hも作業領域として使用している。
5 ' スプライト ショウトツハンテイサンプル
6 'F000~F01F ニ スプライトガ ショウトツシテイルカドウカガ ハイル(1:ショウトツ シテイル)
7 '
8 DEFINT A-Z:CLEAR 3000,&HCFFF:SCREEN 1,2,0:KEY OFF:WIDTH 32:SPRITE$(0)=STRING$(32,255)
9 GOSUB 1000
10 X=100:Y=100'ジブン
20 TX(0)=50:TY(0)=70'テキ1
30 TX(1)=105:TY(1)=92'テキ2
40 PUTSPRITE 0,(X,Y),15,0
50 FOR I=0 TO 1
60 PUTSPRITE I+1,(TX(I),TY(I)),8,0
70 NEXT
80 POKE &HF020,0:A=USR(0):'F020ニ ハンテイモト ノ スプライトバンゴウ ヲ イレル
90 FOR I=0 TO 31:VPOKE 6144+32*10+I,PEEK(&HF000+I)+48:NEXT:END
1000 '
1010 FOR I=0 TO &H5E
1020 READ A$
1030 POKE &HD000+I,VAL("&H"+A$)
1040 NEXT
1050 DEFUSR=&HD000
1060 RETURN
1070 '
1080 DATA 3a,20,f0,87,87,26,1b,6f, cd,4a,00,32,21,f0,23,cd
1090 DATA 4a,00,32,22,f0,06,00,78, 87,87,26,1b,6f,cd,4a,00
1100 DATA 4f,3a,21,f0,b9,28,0e,30, 05,57,79,92,18,01,91,fe
1110 DATA 10,38,02,18,17,23,cd,4a, 00,4f,3a,22,f0,b9,28,10
1120 DATA 30,05,57,79,92,18,01,91, fe,10,38,04,1e,00,18,02,1e
1130 DATA 01,78,26,f0,6f,7b,77,04, 78,fe,20,20,b9,c9
456デフォルトの名無しさん
2007/04/04(水) 12:15:17 DEFINTとかPUTSPRITEとか…
懐かしくもせつない響きのステートメント
懐かしくもせつない響きのステートメント
458デフォルトの名無しさん
2007/04/04(水) 15:48:00 プログラムの入門用にいいのでは。
命令数が少なく覚えやすいし、インタプリタでエラーも分かりやすい。
機械語を覚えるにしても、さほど苦労しない。
枯れた技術だけど、資料はネットでも書籍でも手に入る。
エミュレータ(公式エミュが望ましいが)を使えば、世界も広がるし。
命令数が少なく覚えやすいし、インタプリタでエラーも分かりやすい。
機械語を覚えるにしても、さほど苦労しない。
枯れた技術だけど、資料はネットでも書籍でも手に入る。
エミュレータ(公式エミュが望ましいが)を使えば、世界も広がるし。
459デフォルトの名無しさん
2007/04/09(月) 19:34:51 X=X-(S=7)*(X>0)+(S=3)*(X<100)
Y=Y-(S=1)*(Y>0)+(S=5)*(Y<100)
スプライトの移動で、こういう書き方があったと思うのですが、
このままでは1ドット単位で移動することになるわけですが、
任意のドット単位で動かすにはどうすればいいんでしたっけ?
あと、斜め移動とかもどうしてたのか分からなくなってしましました。
Y=Y-(S=1)*(Y>0)+(S=5)*(Y<100)
スプライトの移動で、こういう書き方があったと思うのですが、
このままでは1ドット単位で移動することになるわけですが、
任意のドット単位で動かすにはどうすればいいんでしたっけ?
あと、斜め移動とかもどうしてたのか分からなくなってしましました。
460デフォルトの名無しさん
2007/04/09(月) 22:39:16 S=STICK(0)+STICK(1)
任意のドット数で動かす(この場合、2ドットずつ)
X=X-2*(S=7)*(X>0)+2*(S=3)*(X<100)
Y=Y-2*(S=1)*(Y>0)+2*(S=5)*(Y<100)
斜め移動
X=X-(S=2)-(S=3)-(S=4)+(S=6)+(S=7)+(S=8)
Y=Y-(S=4)-(S=5)-(S=6)+(S=8)+(S=1)+(S=2)
簡単に書けば、こうだな。カッコの中の条件が揃えば−1になるから、
そこから考えれば。
任意のドット数で動かす(この場合、2ドットずつ)
X=X-2*(S=7)*(X>0)+2*(S=3)*(X<100)
Y=Y-2*(S=1)*(Y>0)+2*(S=5)*(Y<100)
斜め移動
X=X-(S=2)-(S=3)-(S=4)+(S=6)+(S=7)+(S=8)
Y=Y-(S=4)-(S=5)-(S=6)+(S=8)+(S=1)+(S=2)
簡単に書けば、こうだな。カッコの中の条件が揃えば−1になるから、
そこから考えれば。
461デフォルトの名無しさん
2007/04/09(月) 23:20:51 ベーマガとかでは、この書き方が推奨されていたけど
漏れ自身は必ずしもこの書き方にこだわる必要もないと思っている。
べーしっ君(ベーシックコンパイラ)でもコンパイルできないし。
10 DEFINT A-Z:SCREEN1,2,0:KEYOFF:WIDTH32
20 SPRITE$(0)=STRING$(32,255)
30 X=100:Y=100
40 GOSUB 1000
100 S=STICK(0)+STICK(1)
110 X=X+MX(S):Y=Y+MY(S)
120 PUTSPRITE 0,(X,Y),15,0
130 GOTO 100
1000 '
1010 DIM MX(8),MY(8)
1020 FOR I=0 TO 8
1030 READ A,B
1040 MX(I)=A:MY(I)=B
1050 NEXT I
1060 RETURN
1070 DATA 0,0, 0,-2, 2,-2, 2,0, 2,2, 0,2, -2,2, -2,0, -2,-2
機械語ライクに考えると、こんな書き方になる。
ON S GOSUB〜よりもスッキリとして良かろう。
漏れ自身は必ずしもこの書き方にこだわる必要もないと思っている。
べーしっ君(ベーシックコンパイラ)でもコンパイルできないし。
10 DEFINT A-Z:SCREEN1,2,0:KEYOFF:WIDTH32
20 SPRITE$(0)=STRING$(32,255)
30 X=100:Y=100
40 GOSUB 1000
100 S=STICK(0)+STICK(1)
110 X=X+MX(S):Y=Y+MY(S)
120 PUTSPRITE 0,(X,Y),15,0
130 GOTO 100
1000 '
1010 DIM MX(8),MY(8)
1020 FOR I=0 TO 8
1030 READ A,B
1040 MX(I)=A:MY(I)=B
1050 NEXT I
1060 RETURN
1070 DATA 0,0, 0,-2, 2,-2, 2,0, 2,2, 0,2, -2,2, -2,0, -2,-2
機械語ライクに考えると、こんな書き方になる。
ON S GOSUB〜よりもスッキリとして良かろう。
462デフォルトの名無しさん
2007/04/10(火) 11:55:59463デフォルトの名無しさん
2007/04/14(土) 19:31:15 なるほど、べーしっ君に頼るという方法も在りますね、機械語わからんし。
CALL TURBO ONとか懐かしい‥
CALL TURBO ONとか懐かしい‥
464デフォルトの名無しさん
2007/04/15(日) 11:35:47 べーしっ君だとプログラムを組むのに限界がある上に、
作ったソフトを配布するなら相手もべーしっ君を持っていないといけないので、
機会があれば機械語に是非挑戦してもらいたいものだけど。
Z80はシンプルなので、考え方は難しくない。
PCG定義など時間のかかる処理を一部機械語に任せるだけでも劇的に違う。
10 DEFINT A-Z:SCREEN 1,2,0:KEY OFF:WIDTH 32
20 SPRITE$(0)=STRING$(32,255)
30 PUTSPRITE 0,(100,100),15,0
40 GOSUB 1000
100 A=USR(0):GOTO 100
1000 '
1010 FOR I=0 TO &H75
1020 READ A$
1030 POKE &HD000+I,VAL("&H"+A$)
1040 NEXT
1050 DEFUSR=&HD000
1060 RETURN
1070 DATA 3e,00,cd,d5,00,47,3e,01, c5,cd,d5,00,c1,80,47,21
1080 DATA 64,d0,7d,80,6f,7e,4f,21, 00,1b,cd,4a,00,81,57,79
1090 DATA fe,02,20,07,7a,fe,b0,28, 10,18,0a,79,fe,fe,20,09
1100 DATA 7a,fe,fe,28,04,7a,cd,4d, 00,21,6d,d0,7d,80,6f,7e
1110 DATA 4f,21,01,1b,cd,4a,00,81, 57,79,fe,02,20,07,7a,fe
1120 DATA f2,28,10,18,0a,79,fe,fe, 20,09,7a,fe,fe,28,04,7a
1130 DATA cd,4d,00,c9,00,fe,fe,00, 02,02,02,00,fe,00,00,02
1140 DATA 02,02,00,fe,fe,fe
>>461のプログラムのスティック判断部分・移動部分・画面外に行かないように
判定する部分・スプライト表示部分を機械語化すると、こうなる。
この例では1回1回ベーシックに戻っているが、完全機械語化すると
爆速過ぎて、60分の1秒ごとに動くようにウエイトを掛けなければいけない。
作ったソフトを配布するなら相手もべーしっ君を持っていないといけないので、
機会があれば機械語に是非挑戦してもらいたいものだけど。
Z80はシンプルなので、考え方は難しくない。
PCG定義など時間のかかる処理を一部機械語に任せるだけでも劇的に違う。
10 DEFINT A-Z:SCREEN 1,2,0:KEY OFF:WIDTH 32
20 SPRITE$(0)=STRING$(32,255)
30 PUTSPRITE 0,(100,100),15,0
40 GOSUB 1000
100 A=USR(0):GOTO 100
1000 '
1010 FOR I=0 TO &H75
1020 READ A$
1030 POKE &HD000+I,VAL("&H"+A$)
1040 NEXT
1050 DEFUSR=&HD000
1060 RETURN
1070 DATA 3e,00,cd,d5,00,47,3e,01, c5,cd,d5,00,c1,80,47,21
1080 DATA 64,d0,7d,80,6f,7e,4f,21, 00,1b,cd,4a,00,81,57,79
1090 DATA fe,02,20,07,7a,fe,b0,28, 10,18,0a,79,fe,fe,20,09
1100 DATA 7a,fe,fe,28,04,7a,cd,4d, 00,21,6d,d0,7d,80,6f,7e
1110 DATA 4f,21,01,1b,cd,4a,00,81, 57,79,fe,02,20,07,7a,fe
1120 DATA f2,28,10,18,0a,79,fe,fe, 20,09,7a,fe,fe,28,04,7a
1130 DATA cd,4d,00,c9,00,fe,fe,00, 02,02,02,00,fe,00,00,02
1140 DATA 02,02,00,fe,fe,fe
>>461のプログラムのスティック判断部分・移動部分・画面外に行かないように
判定する部分・スプライト表示部分を機械語化すると、こうなる。
この例では1回1回ベーシックに戻っているが、完全機械語化すると
爆速過ぎて、60分の1秒ごとに動くようにウエイトを掛けなければいけない。
465デフォルトの名無しさん
2007/04/16(月) 08:42:16 機械語覚えたい。
当時はDATA 3e,00,cd,d5,00,47,3e,01とか書かれてるのを見ると、
神かと思ったものだ。
当時はDATA 3e,00,cd,d5,00,47,3e,01とか書かれてるのを見ると、
神かと思ったものだ。
466デフォルトの名無しさん
2007/04/16(月) 20:52:38 機械語の習得は、入門書なりネットなりで基本をあらかた掴んで、
人が作ったプログラムを逆アセンブルしてみるのが一番かな。
プログラムは人のソースを見るのが一番の教材だわな、昔から。
「この機械語は、こんなことをしている」という情報が
予め分かっているプログラムの方がなお良し。
上のプログラムだと 3e 00 でAレジスタに0を代入、
cd d5 00 でスティック情報を調べるBIOSにアクセス…という感じ。
つまり、S=STICK(0) 相当。
プログラムの速度向上なら、MSXのCを覚えるという方法もあるけど
漏れはMSXのCは分からん。Cだと「BASICの奥義」からも外れちゃうし。
どちらにしても、画面表示の場合はVRAM(やVDP)を直接いじるので、
その辺のハードの資料なり知識も必要になってくる。
とは言っても、資料はネットで出てくるので問題ない。
また、ハードの知識はBASICのプログラム作成にも有効。
MSXのプログラム作成は、Winでプログラムを組むのと違って
「おもちゃをいらっている」感があって、純粋に面白いと思う。
人が作ったプログラムを逆アセンブルしてみるのが一番かな。
プログラムは人のソースを見るのが一番の教材だわな、昔から。
「この機械語は、こんなことをしている」という情報が
予め分かっているプログラムの方がなお良し。
上のプログラムだと 3e 00 でAレジスタに0を代入、
cd d5 00 でスティック情報を調べるBIOSにアクセス…という感じ。
つまり、S=STICK(0) 相当。
プログラムの速度向上なら、MSXのCを覚えるという方法もあるけど
漏れはMSXのCは分からん。Cだと「BASICの奥義」からも外れちゃうし。
どちらにしても、画面表示の場合はVRAM(やVDP)を直接いじるので、
その辺のハードの資料なり知識も必要になってくる。
とは言っても、資料はネットで出てくるので問題ない。
また、ハードの知識はBASICのプログラム作成にも有効。
MSXのプログラム作成は、Winでプログラムを組むのと違って
「おもちゃをいらっている」感があって、純粋に面白いと思う。
467デフォルトの名無しさん
2007/04/25(水) 21:05:47 キーワード【 MSX MSX プログラム NEXT PRINT FOR BASIC 】
468デフォルトの名無しさん
2007/04/25(水) 21:13:47469デフォルトの名無しさん
2007/04/25(水) 21:18:59 限定5千台まだ売れ残ってる見たいな
ttp://www.msx.d4e.co.jp/
ttp://www.msx.d4e.co.jp/
470デフォルトの名無しさん
2007/04/26(木) 03:08:29 MSXだけでプログラムを組むのは、純粋に苦痛でしかない。
マクロアセンブラが標準で付属してないし、高機能なモニタもない。
ハンドアセンブルして機械語直打ちなんて正気の沙汰じゃあない。
実行するだけならファミコンよりかなり見劣りけど我慢できるけどさ。
入門用の環境としては最悪だね。
マクロアセンブラが標準で付属してないし、高機能なモニタもない。
ハンドアセンブルして機械語直打ちなんて正気の沙汰じゃあない。
実行するだけならファミコンよりかなり見劣りけど我慢できるけどさ。
入門用の環境としては最悪だね。
471デフォルトの名無しさん
2007/04/26(木) 04:11:21 エディタもない
472デフォルトの名無しさん
2007/04/26(木) 05:56:17 >>470
お前、Z80のハンドアセンブルやったことないだろ?
Z80なんて命令セットもしれてるし、使えるメモリだってそんなにないんだから
よほど本格的なものでないかぎりそこまで言うほどじゃない。
ただ現在のリッチな環境に一度でも慣れてしまった者からすれば結構苦痛な作業だとは思う。
お前、Z80のハンドアセンブルやったことないだろ?
Z80なんて命令セットもしれてるし、使えるメモリだってそんなにないんだから
よほど本格的なものでないかぎりそこまで言うほどじゃない。
ただ現在のリッチな環境に一度でも慣れてしまった者からすれば結構苦痛な作業だとは思う。
473デフォルトの名無しさん
2007/04/26(木) 07:29:38 昔は、漏れもごく当たり前のようにハンドアセンブルしていたな。
相対ジャンプ命令を数え間違えたり、なぜか頭の中から命令が1個
抜けたり、ハンドアセンブルミスしたりでデバッグに3時間とかしょっちゅうだった。
大きなプログラムをハンドアセンブルは正気の沙汰じゃないけど、
小さなプログラムならパパッとチラシの裏にハンドアセンブルした方が速い。
今の時代なら、Win用のZ80アセンブラとかも使えば。
フロッピーで実機とやりとりできるわけだし。
ファミコンの開発だって、今はWin用の6502アセンブラ使うんだから。
MSXベーシックは命令数が少なく簡単なので、マニュアルなくてもパパッと書けるから
漏れにとっては思考を阻害されずにプログラムを書ける、有り難い機械だけど。
相対ジャンプ命令を数え間違えたり、なぜか頭の中から命令が1個
抜けたり、ハンドアセンブルミスしたりでデバッグに3時間とかしょっちゅうだった。
大きなプログラムをハンドアセンブルは正気の沙汰じゃないけど、
小さなプログラムならパパッとチラシの裏にハンドアセンブルした方が速い。
今の時代なら、Win用のZ80アセンブラとかも使えば。
フロッピーで実機とやりとりできるわけだし。
ファミコンの開発だって、今はWin用の6502アセンブラ使うんだから。
MSXベーシックは命令数が少なく簡単なので、マニュアルなくてもパパッと書けるから
漏れにとっては思考を阻害されずにプログラムを書ける、有り難い機械だけど。
474デフォルトの名無しさん
2007/04/26(木) 08:17:37 そんなのMSXから足抜けできなかった逸般人だけだろう・・・。
475デフォルトの名無しさん
2007/04/26(木) 08:41:13 ま、いいんじゃね? MSXのスレだし。
HSPとかで書いた方がMSXの機械語より速いのに
愕然とはするけどさ、オモチャで遊びたいのよ。
HSPとかで書いた方がMSXの機械語より速いのに
愕然とはするけどさ、オモチャで遊びたいのよ。
476デフォルトの名無しさん
2007/05/16(水) 00:38:49 MSXび最きぃ王
477デフォルトの名無しさん
2007/05/16(水) 00:40:26 あげてもおいい
478GIGAMIX撲殺委員会
2007/05/25(金) 12:24:33 オレはGIGAMIXが嫌いだ。
DM-SYSTEM2みたいな他人のプログラム寄せ集めただけのクズソフトがあるから
みんなそれに甘えてしまってマシン語の勉強すらしなくなってしまう。
いいかげんにしろGIGAMIX!!
MSXのユーザーレベルを落とした張本人はおまえらだ!
DM-SYSTEM2みたいな他人のプログラム寄せ集めただけのクズソフトがあるから
みんなそれに甘えてしまってマシン語の勉強すらしなくなってしまう。
いいかげんにしろGIGAMIX!!
MSXのユーザーレベルを落とした張本人はおまえらだ!
479デフォルトの名無しさん
2007/05/25(金) 18:38:01 技術の蓄積もなけりゃ、他人へのフィードバックも無い状況なんてのは最悪。
ユーザのレベルを云々する前に、自分の胸に手を当てて考えてみるべきだ。
自分は、MSXユーザ全体の質を向上させるために、何か努力をしてきたか、と。
努力と苦行をはき違えてるのは痛々しい。
「自力で解析する能力が衰えるから、MSX内部の技術資料は抹殺するべき。」とか
「ハンドアセンブル能力が衰えるから、アセンブラはなくすべき。」とか
「漢字コードから漢字入力する能力を身につけるために、漢字変換FPはなくすべき。」とか考えるか?
そもそも、MSXユーザのレベル以前に、ろくな開発環境も構築できない
安物のオモチャだったせいで、人をつなぎ止められなかったろう。
こんな変な制限ばかりでプログラミングしづらいヘッポコ8bit機を
好んで使うような奴は、貧乏人か、変態か、その両方でしかない。
普通はみんなX68000みたいな開発のしやすい、ぬるま湯のような環境を好むんだよ。
ユーザのレベルを云々する前に、自分の胸に手を当てて考えてみるべきだ。
自分は、MSXユーザ全体の質を向上させるために、何か努力をしてきたか、と。
努力と苦行をはき違えてるのは痛々しい。
「自力で解析する能力が衰えるから、MSX内部の技術資料は抹殺するべき。」とか
「ハンドアセンブル能力が衰えるから、アセンブラはなくすべき。」とか
「漢字コードから漢字入力する能力を身につけるために、漢字変換FPはなくすべき。」とか考えるか?
そもそも、MSXユーザのレベル以前に、ろくな開発環境も構築できない
安物のオモチャだったせいで、人をつなぎ止められなかったろう。
こんな変な制限ばかりでプログラミングしづらいヘッポコ8bit機を
好んで使うような奴は、貧乏人か、変態か、その両方でしかない。
普通はみんなX68000みたいな開発のしやすい、ぬるま湯のような環境を好むんだよ。
480デフォルトの名無しさん
2007/05/25(金) 20:21:43 >>479
GIGAMIX関係者乙
GIGAMIX関係者乙
481デフォルトの名無しさん
2007/05/25(金) 23:21:46 >>479
で、今のオープン系の惨状があるわけか。
で、今のオープン系の惨状があるわけか。
482デフォルトの名無しさん
2007/06/12(火) 09:59:46483デフォルトの名無しさん
2007/07/31(火) 17:51:50 07/27 11:24 管理人 : 他にも言いたいことは山ほどありますが、ここでやるべきではないかな、と。
07/27 11:23 管理人 : 公開できない名前など使わないのが正しいと思いますが…。本名でもないのに何を言い出すのか。その態度が他人にとって迷惑なことに、いい加減気づいていただきたい。
07/23 03:08 名称未設定 : 前使っていた仮名の正体を思いっきりバラされてしまったもので……。というわけで、この名前ももう使えませんね。
07/21 17:55 管理人 : 名称未設定なんて名前をわざわざ設定してる時点で…。時間に関しては申し訳なかったです。もうここ需要無いと思ってたんですけどねぇ。
07/14 01:51 名称未設定 : 7/14の飲み会、何時から開催か書いてあれば助かりますですね……。
MSX系の某所掲示板より…
何この管理人、ホームラン級のバカだな、こいつ。
07/27 11:23 管理人 : 公開できない名前など使わないのが正しいと思いますが…。本名でもないのに何を言い出すのか。その態度が他人にとって迷惑なことに、いい加減気づいていただきたい。
07/23 03:08 名称未設定 : 前使っていた仮名の正体を思いっきりバラされてしまったもので……。というわけで、この名前ももう使えませんね。
07/21 17:55 管理人 : 名称未設定なんて名前をわざわざ設定してる時点で…。時間に関しては申し訳なかったです。もうここ需要無いと思ってたんですけどねぇ。
07/14 01:51 名称未設定 : 7/14の飲み会、何時から開催か書いてあれば助かりますですね……。
MSX系の某所掲示板より…
何この管理人、ホームラン級のバカだな、こいつ。
484デフォルトの名無しさん
2007/09/16(日) 16:45:52 カキーン!!
485デフォルトの名無しさん
2007/11/25(日) 22:01:03 ぱ
486デフォルトの名無しさん
2007/11/26(月) 12:16:36 poke-869,1 STOPキーで解除。
poke-1,1 メモリマッパがあると爆走するらしい。
MSX2の縦スクロールゲームは1ドットだけスプライトが上か下にずれる箇所がある。
スプライト一斉消去ラインの座標。
MSX2以降はSHIFT+かなでロマかな打ちモード。
ROM版のべーしっ君は16KROMなので裏RAMに転送するプログラム作れば終わりだけど
配布はしない方がいいに決まっている。
作者の鈴木さんはオブジェクトコード直接吐く版も作りたいとか言ってたけど実現せず。
この人ビルゲイツにコード書きで勝利した逸話があるらしい。
poke-1,1 メモリマッパがあると爆走するらしい。
MSX2の縦スクロールゲームは1ドットだけスプライトが上か下にずれる箇所がある。
スプライト一斉消去ラインの座標。
MSX2以降はSHIFT+かなでロマかな打ちモード。
ROM版のべーしっ君は16KROMなので裏RAMに転送するプログラム作れば終わりだけど
配布はしない方がいいに決まっている。
作者の鈴木さんはオブジェクトコード直接吐く版も作りたいとか言ってたけど実現せず。
この人ビルゲイツにコード書きで勝利した逸話があるらしい。
487デフォルトの名無しさん
2007/11/26(月) 12:20:33 &HF000はDISK-BASICのワークエリアにひっかかる。
RAM8Kのマシンがあったこともお忘れでいいです。
RAM8Kのマシンがあったこともお忘れでいいです。
488デフォルトの名無しさん
2007/11/26(月) 13:39:21 まあ、HC-90/95以外の高級機はゴミだし。
489デフォルトの名無しさん
2007/11/26(月) 20:41:32 >オフジェクトコードを吐く版
あってもおかしくないな、とは思っていたけど。
実現していたら最強のベーシックコンパイラだっただけに、残念。
あってもおかしくないな、とは思っていたけど。
実現していたら最強のベーシックコンパイラだっただけに、残念。
490デフォルトの名無しさん
2007/11/29(木) 05:56:58 >>486
その鈴木さん、今フリータかwww
その鈴木さん、今フリータかwww
491デフォルトの名無しさん
2007/11/29(木) 23:48:41 >490
⊇Mマガ保存版2
⊇Mマガ保存版2
492デフォルトの名無しさん
2007/11/30(金) 05:39:21 >>490
40過ぎてフリータ(で密航して捕まったの)はエメドラのコード書いた人
40過ぎてフリータ(で密航して捕まったの)はエメドラのコード書いた人
493デフォルトの名無しさん
2007/12/01(土) 09:30:40 >>491
ボーステックの人か。懐かしいな。
ボーステックの人か。懐かしいな。
494デフォルトの名無しさん
2007/12/03(月) 11:00:41 直人にょ.
495デフォルトの名無しさん
2007/12/27(木) 01:18:02 ク ク || プ / ク ク || プ // ,へ ヘ
ス ク ス _ | | │ //. ス ク ス _ | | │ // /ハ \_/ 八
/ ス ─ | | ッ // / ス ─ | | ッ // /_______}
/ _____ // / // ..{_____ニート_|
. / l⌒l l⌒l \ )) ____ |ミ/ ー―◎-◎-)
. / / ̄| ,=| |=、| ̄ヾ / ____ヽ (6 u (_ _) )
/ ̄/ ̄. ー'●ー'  ̄l ̄ | | /, −、, -、l )) ―-、ノ/| .∴ ノ 3 ノ 直人にょ.
| ̄l ̄ ̄ __ |.  ̄l ̄.| _| -| ,=|=、 || | -⊂)/ _\_____ノ__
|. ̄| ̄ ̄ `Y⌒l__ ̄ノ ̄ (6. ー っ-´、} | |/ 粘 ≡ :::: (、 ヽ
ヽ ヽ 人_( ヾ ヽ `Y⌒l_ノ ヽ `\( 着 ≡ :::: |___|
>〓〓〓〓〓〓-イ /ヽ 人_( ヽ `− ´ ( .無職 ::::. | |
/ / Θ ヽ| /  ̄ ̄ ̄ ヽ-イ (うーたん萌え.(t )
ス ク ス _ | | │ //. ス ク ス _ | | │ // /ハ \_/ 八
/ ス ─ | | ッ // / ス ─ | | ッ // /_______}
/ _____ // / // ..{_____ニート_|
. / l⌒l l⌒l \ )) ____ |ミ/ ー―◎-◎-)
. / / ̄| ,=| |=、| ̄ヾ / ____ヽ (6 u (_ _) )
/ ̄/ ̄. ー'●ー'  ̄l ̄ | | /, −、, -、l )) ―-、ノ/| .∴ ノ 3 ノ 直人にょ.
| ̄l ̄ ̄ __ |.  ̄l ̄.| _| -| ,=|=、 || | -⊂)/ _\_____ノ__
|. ̄| ̄ ̄ `Y⌒l__ ̄ノ ̄ (6. ー っ-´、} | |/ 粘 ≡ :::: (、 ヽ
ヽ ヽ 人_( ヾ ヽ `Y⌒l_ノ ヽ `\( 着 ≡ :::: |___|
>〓〓〓〓〓〓-イ /ヽ 人_( ヽ `− ´ ( .無職 ::::. | |
/ / Θ ヽ| /  ̄ ̄ ̄ ヽ-イ (うーたん萌え.(t )
496デフォルトの名無しさん
2008/01/13(日) 03:49:20 MSX-BASICでなんとなくゲームを作るwiki
ttp://www29.atwiki.jp/msx_basic/
ttp://www29.atwiki.jp/msx_basic/
497デフォルトの名無しさん
2008/01/21(月) 20:44:30 MSX-DOSはどれくらいMS-DOSみたいに使えたのか・・・(´・ω・`)
498デフォルトの名無しさん
2008/01/21(月) 22:24:35 CP/Mくらいかな?
499デフォルトの名無しさん
2008/01/27(日) 07:12:20 BASICプログラムを保存する際、
拡張子.BASは付けなくても保存できますが、
拡張子は付けなくても問題はありませんか?
.BASを付けているが多いので気になります。
拡張子.BASは付けなくても保存できますが、
拡張子は付けなくても問題はありませんか?
.BASを付けているが多いので気になります。
500デフォルトの名無しさん
2008/01/28(月) 01:04:41 そりゃよかった
501デフォルトの名無しさん
2008/01/28(月) 01:34:21502デフォルトの名無しさん
2008/01/28(月) 07:54:14503デフォルトの名無しさん
2008/01/28(月) 10:39:20 漏れは拡張子をつけることを勧める。
それが何のファイルかが拡張子で分かりやすいから。
つけないと、ファイル整理で困ることになると思われ。
それが何のファイルかが拡張子で分かりやすいから。
つけないと、ファイル整理で困ることになると思われ。
504デフォルトの名無しさん
2008/01/28(月) 11:40:10 なぜ付けたくないのかが気になる。
505デフォルトの名無しさん
2008/01/28(月) 13:35:26506デフォルトの名無しさん
2008/01/28(月) 13:36:35 N88しか知らんが、save”program”だけなら勝手にprogram.basでsaveされる。
save”program.”だと拡張子なしのprogramでsaveされる。
別に同じ名前のファイルがなければ拡張子はあってもなくても問題はないが、loadするときbas以外は拡張子が省略できないので面倒。
save”program.”だと拡張子なしのprogramでsaveされる。
別に同じ名前のファイルがなければ拡張子はあってもなくても問題はないが、loadするときbas以外は拡張子が省略できないので面倒。
507デフォルトの名無しさん
2008/01/28(月) 14:09:32 MSX-BASICスレでN88の例を出されても・・・
508デフォルトの名無しさん
2008/01/28(月) 14:46:31 拡張子つけないってアホか?と思ったけど、最近のWindowsは非表示ががデフォだからなぁ。
拡張子がないと「中身は独自バイナリかな?」と思ってしまう。
拡張子がないと「中身は独自バイナリかな?」と思ってしまう。
509デフォルトの名無しさん
2008/01/28(月) 15:20:44 Macは拡張子が無いです。隠された属性になります。
MS-DOSには拡張子があります。
基本は、MS-DOSの流儀に従って拡張子を付けるべきです。
これはWindowsでも同じように通用します。
MS-DOSには拡張子があります。
基本は、MS-DOSの流儀に従って拡張子を付けるべきです。
これはWindowsでも同じように通用します。
510デフォルトの名無しさん
2008/01/28(月) 16:50:05 良く見たら、他のスレでも同じ質問しているな。
新手の釣りだったのか?
新手の釣りだったのか?
511デフォルトの名無しさん
2008/01/28(月) 21:05:13 拡張子のあとにスペースを160個入れて最後に.scrをつけます
512デフォルトの名無しさん
2008/01/29(火) 06:31:51 >>510
勝手にコピペしてあたかもマルチしているように邪魔されてるんです。
勝手にコピペしてあたかもマルチしているように邪魔されてるんです。
513デフォルトの名無しさん
2008/01/29(火) 17:58:14 今、MSX-BASICをやる意義とは?
514デフォルトの名無しさん
2008/01/29(火) 23:23:15 オモチャで遊ぶ感覚を楽しむこと。
MSXなら公式エミュもあるし、ワンチもあるし、
非公式エミュも発展しているしで、動作させるには困らない。
MSXなら公式エミュもあるし、ワンチもあるし、
非公式エミュも発展しているしで、動作させるには困らない。
515デフォルトの名無しさん
2008/01/30(水) 08:43:10 BASICマガジンなんかを中古で買った場合、
中にある手本のBASICプログラムをMSXに打ち出した場合、
ちゃんとRUNするのでしょうか?
BASICにも色々種類があるようですし、
「こんにはマイコン」でもMSX版とPC-6001版とかがあります。
中古でBASIC本を買うときはその辺りが難しいです。
中には表紙に対応ハードを書かずに単にBASICというだけのものもあり、
それがMSXでも使えるのかどうかなど。
MSX以外のBASIC本を買った場合、MSXユーザーとしては、
どういうところを読み替えたりする必要がありますでしょうか?
大抵は問題ありませんか?
中にある手本のBASICプログラムをMSXに打ち出した場合、
ちゃんとRUNするのでしょうか?
BASICにも色々種類があるようですし、
「こんにはマイコン」でもMSX版とPC-6001版とかがあります。
中古でBASIC本を買うときはその辺りが難しいです。
中には表紙に対応ハードを書かずに単にBASICというだけのものもあり、
それがMSXでも使えるのかどうかなど。
MSX以外のBASIC本を買った場合、MSXユーザーとしては、
どういうところを読み替えたりする必要がありますでしょうか?
大抵は問題ありませんか?
516デフォルトの名無しさん
2008/01/30(水) 08:56:30 MSX用のものは、MSXで間違いなく動作する。
MSXは下位完全互換なので、MSX1用のものはMSX2でも2+でも動く。
他機種のベーシックからの移植は、難しいと思う。
両機種のハードを知っていないといけないから。
MSXは、まず他機種よりも画面が狭いので、画面回りは
大きく手を入れる必要が出てくる。
なので、「MSX用」かどうかを確認してから打ち込まなければいけないし、
他機種用のベーシック本を買って勉強は間違っていると考えるべき。
資料なら、MSXの場合はネットで検索すればある程度は出てくる。
MSXは下位完全互換なので、MSX1用のものはMSX2でも2+でも動く。
他機種のベーシックからの移植は、難しいと思う。
両機種のハードを知っていないといけないから。
MSXは、まず他機種よりも画面が狭いので、画面回りは
大きく手を入れる必要が出てくる。
なので、「MSX用」かどうかを確認してから打ち込まなければいけないし、
他機種用のベーシック本を買って勉強は間違っていると考えるべき。
資料なら、MSXの場合はネットで検索すればある程度は出てくる。
517デフォルトの名無しさん
2008/01/30(水) 12:03:38 リストは、Win上のメモ帳とかに打って"xxxx.bas"と保存して、
そのファイルを実機や公式エミュなら2Dフロッピーに、
1チップならSDカードに、非公式エミュならdiskmgrとかでディスクファイルに
入れると動作するので、ひょっとしたらプログラムの入力は
OCRソフトが役に立つかも。
そのファイルを実機や公式エミュなら2Dフロッピーに、
1チップならSDカードに、非公式エミュならdiskmgrとかでディスクファイルに
入れると動作するので、ひょっとしたらプログラムの入力は
OCRソフトが役に立つかも。
518デフォルトの名無しさん
2008/01/30(水) 16:28:35519デフォルトの名無しさん
2008/01/30(水) 17:43:39 ツッコミ乙
520デフォルトの名無しさん
2008/01/30(水) 20:50:10 1チップMSXにてSDカードにSAVEすることはできましたが、
SAVEしたファイルを削除する方法が分かりません。
BASIC命令で削除するにはどうすれば良いのでしょうか?
SAVEしたファイルを削除する方法が分かりません。
BASIC命令で削除するにはどうすれば良いのでしょうか?
521デフォルトの名無しさん
2008/01/30(水) 20:57:48 KILL "ファイル名"
522デフォルトの名無しさん
2008/01/31(木) 10:41:53 >>521
ありがとうございます!
ありがとうございます!
523デフォルトの名無しさん
2008/01/31(木) 15:03:46 サブルーチンがやっと分かった!
524デフォルトの名無しさん
2008/01/31(木) 15:20:39 マヂで今勉強してるやついんの?
悪いとは言わんが。
俺ももうちょっと年寄りになって余裕ができてきたら
また遊ぶかもしれん。
悪いとは言わんが。
俺ももうちょっと年寄りになって余裕ができてきたら
また遊ぶかもしれん。
525デフォルトの名無しさん
2008/01/31(木) 19:39:17 ム板最古スレ
526デフォルトの名無しさん
2008/02/01(金) 09:26:33 >>521
KILL"ファイル名”で問題なくSDカードにあるファイルを削除できました。
ありがとうございます。
当方、手持ちのMSX1のマニュアルや全BASICコマンドのリファレンスカード、
またはテープレコーダーのマニュアルにもこのKILLコマンドは記載しておりません。
このコマンドは昔からあったコマンドでしょうか?
フロッピーディスク内のファイルをいじる際に使うコマンドだったのでしょうか?
KILL"ファイル名”で問題なくSDカードにあるファイルを削除できました。
ありがとうございます。
当方、手持ちのMSX1のマニュアルや全BASICコマンドのリファレンスカード、
またはテープレコーダーのマニュアルにもこのKILLコマンドは記載しておりません。
このコマンドは昔からあったコマンドでしょうか?
フロッピーディスク内のファイルをいじる際に使うコマンドだったのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 渡邊渚「性を売ってるくせに」批判に反論 幻滅「これが日本の現状だよなー」「『渾身の下着!』というような意味でやってない」★2 [Ailuropoda melanoleuca★]
- ひろゆき氏、日中対立に 「結局、人口というのは国力なので。10億人以上いる国に、1億2000万人で対抗可能であるというのが間違い」 [冬月記者★]
- 「おこめ券」でJAを救済したいだけ…税金4000億円で"史上最高値のコメ"を買わせる農水大臣とJAの癒着ぶり [バイト歴50年★]
- 渡邊渚さん脅迫か 写真集に包丁置く写真投稿 30代女性書類送検 渡邊さん「外に出るのも怖く身の危険を感じる」 [ひかり★]
- 【千葉】会社で58歳女性刺される 殺人未遂容疑で同僚の中国籍の男(39)逮捕 女性死亡 いすみ市 [ぐれ★]
- 【格闘技】朝倉未来「てめえ、今からやってやろうか?」 前代未聞のブチギレ! 関東最大級ギャングの元ボスと一触即発 [冬月記者★]
