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

このエントリーをはてなブックマークに追加
369GIGAMIX撲殺委員会:2005/07/25(月) 14:39:20
GIGAMIXて、他人のプログラムの寄せ集めじゃん。
370デフォルトの名無しさん:2005/08/13(土) 05:40:54
>>353
現在の予約注文数:2900台
商品化決定まで、あと2100台
予約受付終了まで、あと7日

もうだめぽ
371デフォルトの名無しさん:2005/08/13(土) 17:52:54
アンカーで検索結果を増やそうってな魂胆か?
372デフォルトの名無しさん:2005/08/14(日) 00:41:13
3000くらいまで行けばなんとかなるかもしれへんよ?
373デフォルトの名無しさん:2005/08/14(日) 13:55:36
>>370
残り7000台をポケットマネーで買う羽目になった西さんですね。
1億4000万円用意しておいて下さいよお〜w
374デフォルトの名無しさん:2005/09/26(月) 19:12:23
>現状ではmixi内のMSXユーザーズコミュニティでスロット数に関するアンケートを取っている場所がありまして、画像のように
>面白い結果になっています。
>ttp://mixi.jp/view_enquete.pl?id=1873267
>mixiは「招待されないと入れない」という大問題があるものの、ここなら「投票は一人一回まで」が守られるし、第三者機関が
>管理しているので信頼され易いと思われます。まだ投票数が40強と少ないのですが、それなりに数がまとまれば説得力を持つ
>でしょう(結果として1スロットに傾くかもしれませんけど)。

そういう閉鎖されたアンケートに対し、取り敢えずここで回答。
「予約数が5000に遠く及ばなかったんだから、集計中とかアスキーからは出さないがMSXAから出すよう交渉中とか、女の腐ったのみてぇにぐたぐた言ってねえで即刻発売中止にしろ!!」
375デフォルトの名無しさん:2005/09/26(月) 21:44:34
mixiって最近流行ってるみたいだけど、どれくらい人いんの?
376デフォルトの名無しさん:2005/09/26(月) 23:17:03
むかP板によるとMSXユーザーズコミュニティだけで1100人余だって
377デフォルトの名無しさん:2005/09/27(火) 00:14:18
MSXか、なつかしいなぁ。ロードランナーばっかりやってたなぁ。
378デフォルトの名無しさん:2005/11/05(土) 18:37:57
mixiの他にMSXで盛り上がってそうな場所はあるの?
379デフォルトの名無しさん:2005/11/05(土) 19:33:59
380デフォルトの名無しさん:2005/11/06(日) 01:41:11
381デフォルトの名無しさん:2005/11/06(日) 09:16:02
>>378
          ,′  //,,-‐"//ヽ ヽ
          l    |'〆-‐/' ‐-ゞ l
           |     |'   _       l| |
          |    l ,r7〒  〒=、/ l
          l∧.,∧|',弋ノ‐、 ,弋ノ、/l
           l:;、;:::;:lヘ_  _.ノ ̄、_ _ノ:;l
.        || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|
     .__ ||                      |
     ヽヽ||     トイレ            |
      t==、                       ,=、
      l '=',    行ってくるね        `=3
        ヽ'||'                         |`′
.        ||                      |
.        ||                      |
.        ||______________|
382警告:2005/12/07(水) 19:54:52
383デフォルトの名無しさん:2005/12/07(水) 20:04:00
おお、警告サンクス!
384デフォルトの名無しさん:2005/12/23(金) 00:33:50
どう見てもMSX支持者の落胆です。本当にありがとうございました。
385デフォルトの名無しさん:2006/01/16(月) 23:01:49
MSX−BASICの詳しい解説してくれてるサイトはないものか・・・
386デフォルトの名無しさん:2006/01/17(火) 06:25:24
ここで聞けよww
387デフォルトの名無しさん:2006/01/17(火) 10:23:23
>>385
何が聞きたいんだ?
388デフォルトの名無しさん:2006/01/17(火) 10:32:47
LD BC,$0501
389デフォルトの名無しさん:2006/01/17(火) 21:50:27
76
390デフォルトの名無しさん:2006/01/18(水) 10:14:06
さっさと 318 が流れてくれるとありがたいんだがなあ
391デフォルトの名無しさん:2006/01/29(日) 01:02:37
今でも、アルゴリズムっていうほどでもないんだけど‥
考え方なんかは、VisualBasicで利用できるものが多いと思う。

Mid$("123456789ABCDEF",A,1) とかで、簡単に1〜16の、10進数の変数Aを
16進数に変換できる。とかね。
392デフォルトの名無しさん:2006/01/29(日) 01:05:08
間違った、0〜15までの10進数だった。
393デフォルトの名無しさん:2006/01/29(日) 13:35:09
つ Hex$
394デフォルトの名無しさん:2006/01/29(日) 14:05:34
何で最近のVBとかにはHEXは会ってもBINはないのかねぇ
395デフォルトの名無しさん:2006/02/11(土) 10:44:02
>>391
独自仕様の62進数(数字10+英小26+英大26)とかが
手軽に変換できるってやつじゃのー
20年も前の雑誌とかではよく使われてたのー
396デフォルトの名無しさん:2006/02/11(土) 19:58:13
62進数・・・64進数(BASE64)じゃねーの?
397デフォルトの名無しさん:2006/02/13(月) 19:10:22
>>396が何を言いたいのかさっぱりわからん。
398395:2006/02/18(土) 10:13:10

俺もなんとなくしか解らなかったけど、
BASE64って64進数だったのか…って事が解って勉強になった。

(参考)
http://search.yahoo.co.jp/bin/search?p=MIME*BASE64


399デフォルトの名無しさん:2006/02/18(土) 22:15:02
n進数のnのことを基数って言うでしょ
それはbaseの訳なのよ
400デフォルトの名無しさん:2006/02/18(土) 22:16:22
>>397
62進数じゃ使いにくいから64進数じゃないの?ってことでしょ
401デフォルトの名無しさん:2006/02/25(土) 22:23:56
>>382
新着スレ
【M S X】maebashi301=sanibu1818【吊上注意】
http://pc7.2ch.net/test/read.cgi/yahoo/1140692617/l50
402デフォルトの名無しさん:2006/04/02(日) 01:12:33
漢字BASICで、テキスト表示とLINE文とが同時に混在させられるって
あったような
403デフォルトの名無しさん:2006/04/10(月) 23:16:18
87 :名無しさん(新規) :2006/04/09(日) 14:38:45 ID:R8bwXkp00
ヴァーラ=エンジョゲ!?

【永遠に】 MSXスレ Part15 【集計作業中】
http://bubble4.2ch.net/test/read.cgi/i4004/1132584409/l50

88 :名無しさん(新規) :2006/04/10(月) 15:49:14 ID:qeIF0Rhr0
正義は武器に似たものである。武器は金を出しさえすれば、敵にも味方にも買われるであろう。
正義も理屈さえつけさえすれば、敵にも味方にも買われるものである。
                                        − 芥川龍之介 −


89 :名無しさん(新規) :2006/04/10(月) 22:09:26 ID:+psJvhrV0
ハァ?

90 :名無しさん(新規) :2006/04/10(月) 23:02:37 ID:OSgWs4AU0
敵だの味方だのって‥‥‥。

どう見てもヴァーラ=エンジョゲです。
本当にありがとうございました。
404デフォルトの名無しさん:2006/04/11(火) 10:37:54
>>391
つうかそんなの他の言語でも文字変換や文字種判定なんかで普通に使うじゃん
ちなみにmid$(”0123456789ABCDEF",a-1,1)でないと使えないけどな
405デフォルトの名無しさん:2006/04/26(水) 20:47:24
>>404
人の訂正をするときに間違えると、恥ずかしさ倍増だよねw
406デフォルトの名無しさん:2006/05/27(土) 04:33:48
Mファンについて語れる奴は、明日の夜10時にここへ

http://bubble4.2ch.net/test/read.cgi/i4004/1143312133/1-100
407デフォルトの名無しさん:2006/06/12(月) 13:39:41
on A gosub(goto) 200,300,400,500,600
みたいな制御構文大好きだったな
408デフォルトの名無しさん:2006/06/13(火) 22:49:27
後追い者(リアルタイムに触ってない)からの質問ですが
MSX-BASIC+マシン語プログラムの場合、どんな処理を
マシン語に任せてたんですか?
409デフォルトの名無しさん:2006/06/13(火) 23:25:00
>>408
ループが大量に回ったり、連続するアドレスを読み書きするケースが多かった。

もちろん全てマシン語なんていうのも結構あったぞ。
410デフォルトの名無しさん:2006/06/14(水) 23:05:26
>>409
なるほどー。素早いレスありがとうございました。
411デフォルトの名無しさん:2006/06/17(土) 00:36:09
>>408
ループが回る系の処理で、スプライトに対して場所&移動データを用意して一斉に動かすルーチンと
スプライトの当たり判定とかだけやらせてるってのもみた事あるな。
412デフォルトの名無しさん:2006/06/17(土) 01:06:54
極まったのでは、水平帰線割り込みでカラーパレットやスプライトパターンテーブルを書き換えて、
スペックよりも色数やパターン数を多く見せるのもあった。
413デフォルトの名無しさん:2006/07/03(月) 04:06:49
414デフォルトの名無しさん:2006/07/20(木) 11:37:34
V&Zエディタの日本語表示のデカさは今でも覚えているぜ
415デフォルトの名無しさん:2006/08/06(日) 00:13:53
>>414
目にやさしいマシンだったな…
416るぶ:2006/09/03(日) 21:30:56
MSXのBASICでロードランナーのような壁を表示させるにはどうしたらよいのでしょうか?
VPOKEを使っているみたいだけどよくわかりません
サンプルプログラムがあれば教えてください
417デフォルトの名無しさん:2006/09/04(月) 14:52:36
MSX-BASIC初心者の漏れがエミュレータ使いながら頑張って答えてみる。
VPOKE使うってことはVRAMを直接操作するって事ね。
VRAMのどの番地がどんな役割をもっているかは、多分Google検索でもすれば見つかると思う。

-- SCREEN1(32x24,TEXT)で座標(X,Y)にA(キャラクターコード&H41)を表示するには
VPOKE &H1800 + 32*Y + X, &H41

-- キャラクタコード&H41のキャラクタを再定義するには
VPOKE &H41*8+0, &B11111110
VPOKE &H41*8+1, &B11111110
VPOKE &H41*8+2, &B11111110
VPOKE &H41*8+3, &B11111110
VPOKE &H41*8+4, &B10111111
VPOKE &H41*8+5, &B10111111
VPOKE &H41*8+6, &B10111111
VPOKE &H41*8+7, &B10111111

SCREEN1したあとに上だけやればAが表示されて、
下をやるとAが再定義されたキャラクタに変わるはず。
Aを入力しようとしても再定義されたキャラクタが表示される。
あとはいろいろいじくってみて。

色を変える方法については目下勉強中。
418デフォルトの名無しさん:2006/09/04(月) 18:12:01
つ【多色刷り】
419デフォルトの名無しさん:2006/09/05(火) 02:35:48
多色刷り、最近始めた初心者だから何か新鮮な言葉に感じるぜーーー!
いろいろググりながら試してみたけど、BASICのみでやると準備が激しく遅いね。
あと、ちゃんとした資料が手元にない状態でいじるのは激しくつらい。
テクニカルハンドブックとかPDF化して販売してくれないかなぁ。
420るぶ:2006/09/05(火) 06:30:25
416の回答ありがとうございました
入力して確認とれました
421るぶ:2006/09/27(水) 20:37:43
MSXのBASICで8キャラスクロールをさせるには
どの命令文を使うのでしょうか?
422デフォルトの名無しさん:2006/09/28(木) 14:56:15
自力
423デフォルトの名無しさん:2006/09/30(土) 18:12:30
>>421
下スクロールなら、PRINT1個かますだけで楽なんだけどな…
424デフォルトの名無しさん:2006/10/09(月) 20:19:31
>>421
左スクロール:
FOR I=&H1ADE TO &H1820 STEP -1:VPOKE I+1,VPEEK(I):NEXT

ベーシックからマシン語のスクロールルーチンを読み出すのが普通と思う。
21,DE,1A,01,9F,02,CD,4A,00,23,CD,4D,00,2B,2B,0B,78,B1,20,F2,C9
425デフォルトの名無しさん:2006/10/09(月) 20:28:24
>>417
スクリーン1の場合、
FOR I=0 TO 255:VPOKE &H1800+I,I:NEXT
で全文字を画面に表示させ、

VPOKE &H2000,&HF1

と実行すると、色の変わるのが分かる。8文字ずつ文字色(F)+背景(1)で指定。

多色刷りモードの場合、1文字に8バイトで、文字の横列ごとに指定できる。
また、8行目まで・16行目まで・24行目までの3ブロックで別々に指定できる。

初心者は応援するぞ、ガンガレ。
426デフォルトの名無しさん:2006/12/03(日) 23:05:13
このスレ開くとブラウザの行間がおかしくなるんだけど
なんで?
427デフォルトの名無しさん:2006/12/04(月) 00:05:56
>>426
>>318が原因だろ
「シリア語ブラクラ」と呼ばれてる物
428デフォルトの名無しさん:2006/12/04(月) 04:25:15
>>427
ありがとう
とりあえずl50で解決しますた
429デフォルトの名無しさん:2007/01/29(月) 20:24:45
保守
430デフォルトの名無しさん:2007/02/08(木) 01:45:09
保守
431デフォルトの名無しさん:2007/02/12(月) 19:09:28
既出ならスマソ
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キットとして欲しかったけど、もう熱冷めた。
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#の時はどうしたらいいの?
438デフォルトの名無しさん:2007/03/26(月) 21:12:47
>>437
確かグラフィック命令で使われる現在位置が流用されてて、
PSET とかで背景色で点を打って位置指定してたような気がする。
439デフォルトの名無しさん: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付いてるから(公式は知らない)できるはず・・
443デフォルトの名無しさん:2007/03/31(土) 17:31:38
そういやMSX FANにFinal Fantasy の戦闘時BGMをMSX-MUSICで再現した投稿はすげーと思った。
444デフォルトの名無しさん:2007/03/31(土) 18:50:05
>>443
いわゆる耳コピができる人間なら容易いことだとは思うけどな。
確か音源も同じPSGでしょ?
445デフォルトの名無しさん:2007/03/31(土) 19:27:51
>>444
>確か音源も同じPSGでしょ?

空気嫁。FMPAC≒MSX-MUSIC
446デフォルトの名無しさん:2007/03/31(土) 21:19:40
同じピコピコだけどね
447デフォルトの名無しさん:2007/04/01(日) 16:11:51
ぜんぜん違う。
エミュしか知らねーんだろ。
448デフォルトの名無しさん:2007/04/01(日) 20:07:34
というか、なんで内蔵音源だけで再現できなかったんだろう?
どこにmsx-music使うの?ユーザ音色1色しか同時に使えないアホ音源。
449デフォルトの名無しさん:2007/04/01(日) 21:57:54
誘導されてきた者です。

実は、中学生の頃から疑問に思っていて、いまだに解けない問題があります。
それは、on sprite gosub命令で、どのスプライトとどのスプライトが衝突したのかを
サブルーチン内で判定する方法はないのでしょうか?ということです。

これができないことにはシューティングゲームが作れません。
だって自機と自機の玉と敵機と敵機の玉と何が何に衝突しても同じ処理になるからです。
450デフォルトの名無しさん:2007/04/02(月) 00:24:02
どの種類のスプライトを移動したかを記憶しておく変数を用意して
ON SPRITE GOSUBで飛んだ先で、ON 変数 GOSUBで分岐。
分岐先で衝突しうるスプライトの座標を比較する。
とかじゃダメなの?
451デフォルトの名無しさん:2007/04/02(月) 00:32:23
>>449
on sprite gosubで飛ぶサブルーチン側で、
当たったら処理しなきゃいけないスプライトを必死に探す。
449の例で言うなら自機と敵&敵の弾、自機の弾と敵について座標を比べまくって探すんだ。
それ以外が当たってるんだったら無視。

スピードが遅くなる?
そこは各自で工夫。
450の様に、動かしたスプライトについてだけ調べてみるとかも良い。
この判定処理を機械語ルーチン化するのは非常に有効な方法だ。
452デフォルトの名無しさん:2007/04/02(月) 00:40:36
>>450-451
やはり用意された方法というのはなく、座標を探すということになるのですね。
参考になりました。本当にありがとうございました。
453デフォルトの名無しさん: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では機械語をサブルーチンのように呼び出せるので、
ベーシックの一部分を少しずつ機械語にしていくと良い。
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
456デフォルトの名無しさん:2007/04/04(水) 12:15:17
DEFINTとかPUTSPRITEとか…
懐かしくもせつない響きのステートメント
457449:2007/04/04(水) 14:18:36
>>453
>>455
本当にすばらしいです。
目からうろこです。
今後の参考にしたいと思います。
本当にありがとうございました。
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ドット単位で移動することになるわけですが、
任意のドット単位で動かすにはどうすればいいんでしたっけ?

あと、斜め移動とかもどうしてたのか分からなくなってしましました。
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になるから、
そこから考えれば。
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〜よりもスッキリとして良かろう。
462デフォルトの名無しさん:2007/04/10(火) 11:55:59
>>460-461
レスありがとうございます。
これで昔のようにゲームが作れそうです。
463デフォルトの名無しさん:2007/04/14(土) 19:31:15
なるほど、べーしっ君に頼るという方法も在りますね、機械語わからんし。
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秒ごとに動くようにウエイトを掛けなければいけない。
465デフォルトの名無しさん:2007/04/16(月) 08:42:16
機械語覚えたい。
当時は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でプログラムを組むのと違って
「おもちゃをいらっている」感があって、純粋に面白いと思う。
467デフォルトの名無しさん:2007/04/25(水) 21:05:47
キーワード【 MSX MSX プログラム NEXT PRINT FOR BASIC 】
468デフォルトの名無しさん:2007/04/25(水) 21:13:47
>>465
機械と仲良くなると自然に覚えるよ
覚えられないとしたら
君が無意識で機械を拒絶してるってことだよ
469デフォルトの名無しさん:2007/04/25(水) 21:18:59
限定5千台まだ売れ残ってる見たいな
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なんて命令セットもしれてるし、使えるメモリだってそんなにないんだから
よほど本格的なものでないかぎりそこまで言うほどじゃない。
ただ現在のリッチな環境に一度でも慣れてしまった者からすれば結構苦痛な作業だとは思う。
473デフォルトの名無しさん:2007/04/26(木) 07:29:38
昔は、漏れもごく当たり前のようにハンドアセンブルしていたな。
相対ジャンプ命令を数え間違えたり、なぜか頭の中から命令が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の機械語より速いのに
愕然とはするけどさ、オモチャで遊びたいのよ。
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のユーザーレベルを落とした張本人はおまえらだ!
479デフォルトの名無しさん:2007/05/25(金) 18:38:01
技術の蓄積もなけりゃ、他人へのフィードバックも無い状況なんてのは最悪。
ユーザのレベルを云々する前に、自分の胸に手を当てて考えてみるべきだ。
自分は、MSXユーザ全体の質を向上させるために、何か努力をしてきたか、と。

努力と苦行をはき違えてるのは痛々しい。
「自力で解析する能力が衰えるから、MSX内部の技術資料は抹殺するべき。」とか
「ハンドアセンブル能力が衰えるから、アセンブラはなくすべき。」とか
「漢字コードから漢字入力する能力を身につけるために、漢字変換FPはなくすべき。」とか考えるか?

そもそも、MSXユーザのレベル以前に、ろくな開発環境も構築できない
安物のオモチャだったせいで、人をつなぎ止められなかったろう。
こんな変な制限ばかりでプログラミングしづらいヘッポコ8bit機を
好んで使うような奴は、貧乏人か、変態か、その両方でしかない。

普通はみんなX68000みたいな開発のしやすい、ぬるま湯のような環境を好むんだよ。
480デフォルトの名無しさん:2007/05/25(金) 20:21:43
>>479
GIGAMIX関係者乙
481デフォルトの名無しさん:2007/05/25(金) 23:21:46
>>479
で、今のオープン系の惨状があるわけか。
482デフォルトの名無しさん:2007/06/12(火) 09:59:46
>>460
> 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)

この書き方は速度とスペースの観点からオススメしない。
(S=2)という書き方はマシン語レベルでは条件分岐になって
速度が落ちる大きな原因の1つだから
できるものは>>461のようになるべく配列用意したほうが良いよ。
483デフォルトの名無しさん: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系の某所掲示板より…
何この管理人、ホームラン級のバカだな、こいつ。
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に転送するプログラム作れば終わりだけど
配布はしない方がいいに決まっている。
作者の鈴木さんはオブジェクトコード直接吐く版も作りたいとか言ってたけど実現せず。
この人ビルゲイツにコード書きで勝利した逸話があるらしい。
487デフォルトの名無しさん:2007/11/26(月) 12:20:33
&HF000はDISK-BASICのワークエリアにひっかかる。
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
491デフォルトの名無しさん:2007/11/29(木) 23:48:41
>490
⊇Mマガ保存版2
492デフォルトの名無しさん:2007/11/30(金) 05:39:21
>>490
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  )   
496デフォルトの名無しさん:2008/01/13(日) 03:49:20
MSX-BASICでなんとなくゲームを作るwiki
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を付けているが多いので気になります。
500デフォルトの名無しさん:2008/01/28(月) 01:04:41
そりゃよかった
501デフォルトの名無しさん:2008/01/28(月) 01:34:21
>>499
慣例みたいなものなんで、別に何でも良いよ

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

>>504
シンプル イズ ベストとか思ったりしまして・・・。
506デフォルトの名無しさん: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の例を出されても・・・
508デフォルトの名無しさん:2008/01/28(月) 14:46:31
拡張子つけないってアホか?と思ったけど、最近のWindowsは非表示ががデフォだからなぁ。

拡張子がないと「中身は独自バイナリかな?」と思ってしまう。
509デフォルトの名無しさん:2008/01/28(月) 15:20:44
Macは拡張子が無いです。隠された属性になります。
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なら公式エミュもあるし、ワンチもあるし、
非公式エミュも発展しているしで、動作させるには困らない。
515デフォルトの名無しさん:2008/01/30(水) 08:43:10
BASICマガジンなんかを中古で買った場合、
中にある手本の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の場合はネットで検索すればある程度は出てくる。
517デフォルトの名無しさん:2008/01/30(水) 12:03:38
リストは、Win上のメモ帳とかに打って"xxxx.bas"と保存して、
そのファイルを実機や公式エミュなら2Dフロッピーに、
1チップならSDカードに、非公式エミュならdiskmgrとかでディスクファイルに
入れると動作するので、ひょっとしたらプログラムの入力は
OCRソフトが役に立つかも。
518デフォルトの名無しさん:2008/01/30(水) 16:28:35
>>516
そういうのは上位互換って言うんだよ!
下位互換っていうのはturboRがMSX1でも動くようなことを言うんだよ!
519デフォルトの名無しさん:2008/01/30(水) 17:43:39
ツッコミ乙
520デフォルトの名無しさん:2008/01/30(水) 20:50:10
1チップMSXにてSDカードにSAVEすることはできましたが、
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コマンドは記載しておりません。
このコマンドは昔からあったコマンドでしょうか?
フロッピーディスク内のファイルをいじる際に使うコマンドだったのでしょうか?
527デフォルトの名無しさん:2008/02/01(金) 10:45:53
528デフォルトの名無しさん:2008/02/01(金) 11:39:12
をを〜っ、スバラシイページができてる!
DataPackのWiki化計画はないかな。
529デフォルトの名無しさん:2008/02/01(金) 12:15:06
MSX DISK-BASICってFDD用ということでしょうか?
530デフォルトの名無しさん:2008/02/01(金) 13:13:48
>ディスクシステムを使用している場合には、このver2.0に
>さらにディスク操作の命令が追加されたMSX DISK-BASICが利用できます

テクハンHPの、ベーシックの項目にちゃんと説明がある。
ゆっくり読んで勉強してくれ。
531デフォルトの名無しさん:2008/02/01(金) 15:58:50
>>529
「DISK」ってのは、ドライブレター("A:"とか"B:"とか)でアクセスできる
デバイスの総称。RAMDISKも含まれる。
あとはのんびり勉強してくれ。
532デフォルトの名無しさん:2008/02/01(金) 20:05:50
このスレって、意外と見ている人多いのか?
533デフォルトの名無しさん:2008/02/01(金) 20:33:04
多色刷りを勉強し始めました・・・
534デフォルトの名無しさん:2008/02/02(土) 00:29:17
>>531
ありがとうございました!
535デフォルトの名無しさん:2008/02/02(土) 01:09:19
シューティングゲームを作ろうとしたけどテキストとグラフィックが同時に使えないから
点数表示ができない。助けて!アルゴマン!
536デフォルトの名無しさん:2008/02/02(土) 09:24:18
open "grp:" as #1
preset (x,y)
print #1, score
だっけ?
537デフォルトの名無しさん: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命令(またはそれに準じるもの)でスコアを表示するのもアリだな。

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

こんな画面構成にしたいんですが
539デフォルトの名無しさん:2008/02/02(土) 19:56:34
スクリーン4を使って、8ドットスクロールさせれ。
その画面割りで1ドットスクロールは、漏れにはでけん。
540デフォルトの名無しさん:2008/02/04(月) 14:58:46
MSX-DOSの話題はスレ違いでしょうか?
新スレ立てるのもアレですし、
このスレに統合しても構わないですか?
541デフォルトの名無しさん:2008/02/04(月) 21:01:33
>>538
お前、わかっててわざと言ってるだろ。
542デフォルトの名無しさん:2008/02/04(月) 22:25:55
>>537
垂直帰線(V-Sync)ではなく水平帰線(H-Sync)ね。念のため。
543デフォルトの名無しさん:2008/02/05(火) 12:51:02
MS-DOSとMSX-DOSはどの程度共通しておりますか?
MSX-DOSを使いこなせれば、その知識でMS-DOSも使いこなせるものでしょうか?
544デフォルトの名無しさん: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最高
545デフォルトの名無しさん:2008/02/05(火) 13:50:51
>>544
すみません。私がやりたいのはMSX-DOS2の方ですね。
こちら方ではMS-DOSと共通部分が多いということですか?
MS-DOSは16ビットでMSX-DOSは8ビットの機能限定版と聞いたこともあります。
546デフォルトの名無しさん:2008/02/05(火) 14:24:27
どのような事をもって使いこなせる。と感じるかだと思いますよ。
実際のプログラムは「まったく」使えないし。
ファイル管理方法が同じで、COMMAND2.COM(DOS2)とCOMMAND.COM(MS-DOS)上の
コマンドでよく使うのが同じ。ってくらい。

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

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

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

552デフォルトの名無しさん:2008/02/07(木) 03:36:46
シューティングの部分スクロールって
widthで幅を少なくして余白をずらすってテクニックがあったよな。
553デフォルトの名無しさん:2008/02/09(土) 08:52:18
MSX1のゲームってシンプルなものが多いですが、
全てBASICで作られたものでしょうか?マシン語で作られたものでしょうか?

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

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

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

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

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

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

スコア部背景無地なら擬似的にできる、ということになるか
570デフォルトの名無しさん: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プレーンまで文字重ねてかけるぞ。
パレットで色も合成も自在。
573デフォルトの名無しさん:2008/02/12(火) 00:51:41
懐かしいなー。
PC-8801/PC-9801系は、テキスト+RGB3(98VM2以降はさらに+1)プレーンあったから
プレーンとパレットの割り振り次第では結構できるはず。Xanaduとか旨く利用してた。

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

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

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

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

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

レースゲームでSC3はちょくちょくあるかなーとおもてたら
こんなんみつけた
ttp://ameblo.jp/msx-lab/entry-10007181938.html
一番下の。
598デフォルトの名無しさん:2008/02/28(木) 13:26:53
なつかしいなw
それのサウンドドライバのMPKが使いやすくて好きだった
599デフォルトの名無しさん: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。
遅いのは、他の処理がベーシックだからしょうがない。
600デフォルトの名無しさん:2008/02/28(木) 19:30:53
最後の2文字がRETなのだけわかった
601デフォルトの名無しさん:2008/02/29(金) 09:26:42
>>600
それが分かったら、マシン語の第一歩だな
602デフォルトの名無しさん:2008/02/29(金) 10:13:33
C3 48 45 4C 4C
603デフォルトの名無しさん:2008/02/29(金) 11:35:41
スレ違いだが相対ジャンプのアドレス計算が苦手だ。
パッと出てこない。

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

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

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

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


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

612デフォルトの名無しさん:2008/03/06(木) 08:03:29
>>611
dは、好きな数を入れる。dに8を指定したら、
IXの指定番地+8番地目の値をレジスタAに読む。
613デフォルトの名無しさん: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の転送とか使えるな〜とかおもた。


ひさびさに逆汗して遊ぶ(゚∀゚)
615デフォルトの名無しさん: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
617デフォルトの名無しさん: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
618デフォルトの名無しさん:2008/04/24(木) 20:28:29
書き換えても問題ないシステム用ワークエリアを拝借(ダイレクトモード専用命令のAUTO関係とか)
REM文上の文字が直接マシン語のコードになってるプログラムなどで自前のワークエリアを用意できないときに便利
619デフォルトの名無しさん: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文で作った音楽集で演奏中いつでもジョイスティックのトリガでメニューに戻るとかもできる
620デフォルトの名無しさん: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


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

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

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

625デフォルトの名無しさん: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
627デフォルトの名無しさん: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行の後に移すか、見なかったことにしてください
628デフォルトの名無しさん: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
629デフォルトの名無しさん: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/
犯罪者塩沢俊平太の情報を収集しております
情報をお持ちの方はご協力お願いします
631デフォルトの名無しさん:2008/07/21(月) 22:40:42
ヘクスマップを描画する良い方法はありませんか?
632デフォルトの名無しさん:2008/07/21(月) 23:29:49
いろいろあるのに、どこがダメなの?
633デフォルトの名無しさん:2008/07/22(火) 13:20:54
どうやらMSXではヘクスマップを簡単に表示する方法は無いみたいですね。
残念です。
634デフォルトの名無しさん:2008/07/22(火) 14:11:27
■■◎◎■■
■■☆☆■■
□□☆☆□□
□□★★□□
■■★★■■
■■◎◎■■

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

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

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

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

あとは、中の24x24をどう埋めるかか。
642デフォルトの名無しさん:2008/07/28(月) 23:24:28
| (縦線)と∧∨みたいなの使って、

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

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

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

>>639の大きさなら、PCG定義を4ドット横にズラした方が
作りやすいかな。
648デフォルトの名無しさん:2008/08/01(金) 03:23:48
2chらしからぬ親切レス。
647 は最上級に褒め称えられて良いし、もっとあれこれスレに投下すべき。
649デフォルトの名無しさん:2008/08/01(金) 10:15:36
ヒマなんだろ。
650デフォルトの名無しさん:2008/08/01(金) 11:56:37
こうしてみると、難しそうに見えるだけで
ムチャクチャ簡単な処理だな
651デフォルトの名無しさん:2008/08/01(金) 15:18:37
LINE命令で作るとどうなる?
652デフォルトの名無しさん:2008/08/01(金) 22:55:07
即興で作ってみた
http://ossan.fam.cx/up/gazo/src/1217598415478.png

即興すぎてわざわざ3行余分にLINE文書いてるのに、Yの字をズラしただけという…
同じ行数で左側あけずに書けるのに
653デフォルトの名無しさん:2008/08/18(月) 16:49:34
ここが一番古いのか
654デフォルトの名無しさん:2008/08/26(火) 00:46:37
保守
655デフォルトの名無しさん:2008/09/06(土) 11:20:01
PLAY"T40S8M60C1."

ぎょんぎょん
656デフォルトの名無しさん:2008/09/06(土) 18:11:44
>>34
そのバグのせいで1画面におさまらなかったプログラムもあるんだろうな・・・。
657デフォルトの名無しさん:2008/09/29(月) 23:20:22
サブルーチンを呼び出すとき、引数を渡す代わりに、変数領域をいじって変数名を書き換える。
X=.... : POKE VARPTR(X)-n,ASC("Y") : GOSUB ....
......
PRINT Y : RETURN
658あぼーん:あぼーん
あぼーん
659あぼーん:あぼーん
あぼーん
660あぼーん:あぼーん
あぼーん
661あぼーん:あぼーん
あぼーん
662あぼーん:あぼーん
あぼーん
663あぼーん:あぼーん
あぼーん
664デフォルトの名無しさん:2008/10/31(金) 01:37:50
汚いスレだなあ
665あぼーん:あぼーん
あぼーん
666あぼーん:あぼーん
あぼーん
667あぼーん:あぼーん
あぼーん
668あぼーん:あぼーん
あぼーん
669あぼーん:あぼーん
あぼーん
670あぼーん:あぼーん
あぼーん
671イサキは獲れたの?:2008/10/31(金) 17:18:18
>>663
ホモセックス-ベーシックの奥義を伝授するスレか?奥が深そうだなあ〜
672デフォルトの名無しさん:2008/10/31(金) 17:47:08
いつのまにシゲルのスレになってるんだ?
673あぼーん:あぼーん
あぼーん
674あぼーん:あぼーん
あぼーん
675デフォルトの名無しさん:2008/11/01(土) 00:18:07
>>674
こっ、こんなこと初めてだけどいいんです…
ボッ、ボク…阿部さんみたいな人 好きですから…
676デフォルトの名無しさん:2008/11/01(土) 01:21:07
変なホモネタ貼るのやめろよ!MSXの話ができねぇだろが!!
677デフォルトの名無しさん:2008/11/01(土) 10:00:39
昔のPC板→レトロゲーム板→ここまで荒らしに来たか

荒らし野郎はアク禁にしてもらいたいものだが、
運営は何を放置しているのやら。スレの空気が悪くなるばかりだ。
678あぼーん:あぼーん
あぼーん
679あぼーん:あぼーん
あぼーん
680デフォルトの名無しさん:2008/11/01(土) 23:01:51
クルルァ!スレ荒らすんじゃねぇよ。
681デフォルトの名無しさん:2008/11/01(土) 23:04:29
AAの板でやってくれ! 

MSXplayerのMusicaでSCCの音が鳴って感動した
682デフォルトの名無しさん:2008/11/02(日) 00:36:15
>>680
荒らすなと言いつつageるアホ
683デフォルトの名無しさん:2008/11/04(火) 21:28:03
>>681
なんかSCCはMSXの標準音源にされつつあるな
まあ今更SCCカートリッジを入手するのもめどいけど

ちなみに、MuSICA
684デフォルトの名無しさん:2008/12/06(土) 15:24:45
24時間MSXカテに貼りついてるhellomsx(hotwaterplus)
買う気がないのは吊り上げ、欲しいものはスナイプ
ようちゅういw
685デフォルトの名無しさん:2008/12/09(火) 23:48:39
↑藤原覚ってやつだな。コイツが入札してきたら削除しようw
686デフォルトの名無しさん:2008/12/14(日) 12:20:09
吊り上げてきたら早期終了してやるよ
687デフォルトの名無しさん:2008/12/21(日) 04:13:53
_memini
688デフォルトの名無しさん:2008/12/21(日) 19:26:21
>>687
懐かしすぎて何の命令だったかしばらく思い出せなかった
689デフォルトの名無しさん:2008/12/21(日) 20:55:18
質問
今さらハードを買ってmsxを知る価値はありますか?
ちなみに昔msxに憧れた世代だけど・・・
690デフォルトの名無しさん:2008/12/21(日) 21:51:54
>>689
CPUとIOを直接いじくってなにかをするというのがやりやすい。
OSを介さずにグラフィックさわれるし、制限がきついので、コンピュータのアーキテクチャを感じやすい。
BASICだけさわったり、過去ゲームで遊ぶだけなら、あまり価値はないと思う。
691デフォルトの名無しさん:2008/12/22(月) 01:02:23
>コンピュータのアーキテクチャを感じやすい。

名言の気がするぜ
692デフォルトの名無しさん:2008/12/22(月) 10:50:51
アキティクチャいうても、スロットとVDP以外はZ80の基本だと思うけどね
Z80(つか、コンピュータのありよう)を知るにはいいと思う
MSXを知るってよりは、Z80を知るためにMSXを利用する、のほうが有意義な気がす

MSXがなかったら、俺はマイコンのPGなんかやってなかっただろうなあ…。
693デフォルトの名無しさん:2008/12/22(月) 13:32:56
某工学社でバイト募集してて、応募したらPC歴を聞かれてMSXって言ったら鼻で笑われたおもひで・・・
98か68じゃないとパソコンとは言わないよーって言われたぜ・・・もう20年近く前になるのか・・・
あれは本当にPIOやI/Oの工学社だったのか?
694デフォルトの名無しさん:2008/12/22(月) 16:05:55
>>692
スロットはMSXの特徴だろうね
あのスロットを選択する仕組み(Chip Selectみたいなピン)を
知ったときは、結構衝撃的だった。

VRAMがメモリマップでないのも、ビデオアクセラレータの流れと
似ていて古くて新しい感じ

>>693
まあ仕方ない
695デフォルトの名無しさん:2008/12/22(月) 17:54:13
20年前じゃなく25年前なら少しは勝負できたかも
80年代終わりの頃には既にPCの32ビット時代が叫ばれていて
次世代の覇権OSはどれかとか
それでもまだまだ膨大な資産のある16ビットMS-DOSは安泰とか
そういう時代じゃなかったっけ
696デフォルトの名無しさん:2008/12/22(月) 18:22:57
25年前ってちょど初代マックが発売されたころか。
勝負って何の勝負よ?
697デフォルトの名無しさん:2008/12/22(月) 20:24:51
>>696
>>693の話からして「パソコンとして」の勝負じゃなかろか

98でいうとRAの頃かな?
そのころはまだ32ビットでも過去のアキティクチャ引きずったグダグダだし
MSXでもどこまで使い込んだか次第だと思うんだけどね
698デフォルトの名無しさん:2008/12/23(火) 10:22:14
98の場合は漢字をテキストVRAMで表示できたのが大きいからなあ。
699デフォルトの名無しさん:2008/12/23(火) 12:02:44
MSXでは、どう足掻いても一瞬で漢字を表示できなかったからなぁ。
ああMSXのVDP、遅ぇーー! って毎度叫ぶことになる。
700デフォルトの名無しさん:2008/12/23(火) 18:51:58
そこでハイドライド3の漢字フォントですよ
たしか 8x8 サイズだったよね?多分PCG定義だから一瞬で表示可能

しいて欠点を言えば、マニュアルの対応表みないと判読できない
文字があるぐらい
701デフォルトの名無しさん:2008/12/23(火) 19:30:56
MSXで利用されたことがあるかはわからいないが、りさふぉんとは8x8っすよ。
702デフォルトの名無しさん:2008/12/23(火) 19:31:50
えりさ。ね。「え」が消えてた。。。
703デフォルトの名無しさん:2008/12/29(月) 02:54:34
>>701-702
恵梨沙フォントすげーな
これか
http://hp.vector.co.jp/authors/VA002310/
704デフォルトの名無しさん:2008/12/29(月) 03:22:17
ググルと(画像検索すると)結構利用例が見つかるね

かな混じり文だと、脳内補完が働くから結構読めるな
705デフォルトの名無しさん:2008/12/29(月) 04:25:44
http://www.geocities.jp/littlimi/index.html
美咲フォント 8x8(7x7)
k6x8 6x8(5x7)

screen3でも安心!
706デフォルトの名無しさん:2008/12/31(水) 17:43:12
MSXでメガデモ
http://www.intro-inferno.com/files.php?platform=msx
スレ違いだけど面白かったんで貼り
707デフォルトの名無しさん:2008/12/31(水) 19:32:24
メガデモといえば…
むかし、ANMAだかなんだかいうのが作ってたやつが回ってきてたなあ
64kbのMSX2用のはずなのに、メモリマッパ乗ってないと動かないという不思議な仕様だったが
708デフォルトの名無しさん:2009/01/14(水) 17:30:39
poke&H8003,1:poke&H8004,0
709デフォルトの名無しさん:2009/09/03(木) 10:21:43
BASIC繁栄時代?
710デフォルトの名無しさん:2009/12/12(土) 02:31:17
全部読んだ〜。ハイドライドの説明書には漢字の判読表が付いてたね。
自作ゲームで英小文字や記号を漢字に書き換えたり、←↑キャラクタコードを使って濁点を一文字に含めなくしたりして悦に入っていたなぁ…。
wizardry風の曲がった矢印のフォント、Ultima風棒人間キャラ、32268階建ての塔を攻略するRPG…アホな事に真剣だったよ。
711デフォルトの名無しさん:2010/08/03(火) 20:48:20

712デフォルトの名無しさん:2010/09/17(金) 23:16:43
えむえすせっ○すべーしっく?
713デフォルトの名無しさん:2010/09/17(金) 23:35:13
またえらい使い古されたネタを…酸素欠乏症?
714デフォルトの名無しさん:2010/09/18(土) 00:20:57
昔、MSXで、2人対戦型の戦車ゲームで遊んだことあるのだが、どなたかご存知ないでしょうか?

・たぶん、雑誌の投稿コード。マシン語を多用。
・2D。上から見下ろし。
・画面は、左右に2つ、2人のプレイヤー別に表示。 中央に自機の戦車がある。
それぞれ、縦・横にスクロールする。画面の回転はしない。普通の2D見下ろし画面。
・マップが4つくらいある。2Dだけど、まあまあ広い。

・2人対戦が凄く面白かった。
715デフォルトの名無しさん:2010/09/18(土) 01:07:55
知ってるよ

と言ったところで何になんの?
716714:2010/09/18(土) 02:55:41
>>715

名称を知りたい。
ソースを見て、どんなコードになっていたのか見たい。
また遊びたい。
717デフォルトの名無しさん:2010/09/18(土) 03:20:25
そんなに難しくなさそうだから作れば?
ム板なんだし
718デフォルトの名無しさん:2010/09/18(土) 03:47:00
719デフォルトの名無しさん:2010/09/18(土) 11:44:30
こんな古いスレがあったのか
720デフォルトの名無しさん:2010/09/18(土) 14:48:16
>>714
そのゲーム知らんけどネットワーク越しに対戦出来たら確かに面白そうだ
721デフォルトの名無しさん:2010/09/19(日) 15:23:37
>>714
フィールドマスターだな、ログインで掲載されていた
722デフォルトの名無しさん:2010/09/19(日) 17:12:10
723デフォルトの名無しさん:2010/09/20(月) 12:51:25
奥義を詰め込んだコードを見せてくれ
724デフォルトの名無しさん:2010/09/20(月) 19:06:50
MSXナツカシー

かまぼこ板のプロトタイプとかすごくおもしろかった
開発の中心にいたASCIIの人たち今何やってるんだろう
725714:2010/09/20(月) 20:41:52
>>721 >>722
> フィールドマスターだな、ログインで掲載されていた
> ttp://tape-load.blog.so-net.ne.jp/2008-06-19


!!これです!! すげー!!感激!



今時のプログラム環境、例えば、Javaアプレットででも作れそうだなあ。
726デフォルトの名無しさん:2010/09/20(月) 22:07:45
http://www.nicovideo.jp/watch/sm12045899

こいつマジやべぇな
727デフォルトの名無しさん:2010/09/21(火) 18:13:45
そろそろ奥義をみせてくださいよw
728デフォルトの名無しさん:2010/09/21(火) 18:14:58
せっかく伝授したのに・・・
729デフォルトの名無しさん:2010/09/21(火) 19:04:37
なにを?だれに?いつ?どこで?どのように?
730デフォルトの名無しさん:2010/09/22(水) 11:03:53
スレ読め
731デフォルトの名無しさん:2011/01/19(水) 00:03:04
VDPの性能がファミコンのリアルタイム性に遠く及ばなかったのが
敗因だよなぁ
732デフォルトの名無しさん:2011/01/19(水) 01:31:51
>VDPの性能がファミコンのリアルタイム性に遠く及ばなかったのが
背景とスプライトの色表現力で負けてるから
リアルタイム性は9918の方があるよ、ファミコンはDMAでVSYNC中に300バイト程度しか送れない
733デフォルトの名無しさん:2011/01/21(金) 18:48:19
あんな表現力でリアルタイム性だけ勝っててもねえ。
比較するならせめて 9938 だろ。
734デフォルトの名無しさん:2011/03/27(日) 20:22:50.35
10 print "名無し"
20 goto 10
end
735デフォルトの名無しさん:2011/03/27(日) 20:45:46.03
10 POKE RND(1) * 65535, RND(1) * 255
20 GOTO 10
736デフォルトの名無しさん:2011/03/27(日) 21:29:49.27
>>735
RNDって、0〜1未満じゃなかったっけ? で、RND(1) * 65536, RND(1) * 256 じゃない?
あと、BASIC上にいるときは、上32KBはROMだから、 RND(1)*32768+32768 じゃない?
737デフォルトの名無しさん:2011/03/27(日) 22:10:50.35
>>736
ROMに書き込んでどうすんの?
738デフォルトの名無しさん:2011/03/27(日) 22:12:53.58
上って0番地側か
ずっと8000H〜ffffHがROMだと思ってた
739デフォルトの名無しさん:2011/03/27(日) 22:16:45.58
で,
>>735 は,どんなことが起こるの?
ひたすらランダムにメモリを破壊していくようにしか見えないが?
740デフォルトの名無しさん:2011/03/27(日) 23:00:10.88
どうでもいいけど、「上」ってffffH寄りじゃないのか?
741デフォルトの名無しさん:2011/03/27(日) 23:15:54.84
コードやデータを読むとき上から下にたどっていくって感覚だと先頭に近いほうのアドレスが上になる
742デフォルトの名無しさん:2011/03/28(月) 01:07:40.20
>>738
0〜7FFFがROMだね。
ワークがFFFFからさかのぼってくるハズだから、MSX1の16KB機種はC000からRAMか。

>>739
どっかのワークに当たった瞬間に暴走するだけかと。
BlueMSXのturboR設定で試したら、しばらくしてイリーガルファンクションコールをはき続けたわ。
743デフォルトの名無しさん:2011/04/24(日) 04:46:57.82
数々のMSBASICがあるなかでMSX-BASICは最低だったね
こういう事言うと必ず信者が噛み付いてくるけど
事実は事実として歪曲することなく認めないとね
まぁ今更なんだけど使っていた奴に同情するよ
反論があればよろしく
744デフォルトの名無しさん:2011/04/24(日) 17:36:13.80
何が最低なのかも書かないってのはアタマの悪い証拠にしかならんぞ
745デフォルトの名無しさん:2011/04/24(日) 19:00:24.62
だってアホやもん
746デフォルトの名無しさん:2011/04/24(日) 19:20:25.66
前スレから1ヶ月あいてるのに… もう一ヶ月放置しといたら独り相撲だったのに…
747デフォルトの名無しさん:2011/04/24(日) 19:21:10.88
×前スレ
○前レス

やっちまったーい。
748デフォルトの名無しさん:2011/06/23(木) 00:29:54.64
10 'LND712を仮定しGM管のパルス数(CPM)からシーベルト(uSv/h)へ単位変換
20 input "cpm";a
30 print a/108;"uSv/h"

10 '毎時の放射線量から一年間累積した時の実効線量を求める
20 input "uSv/h";a
30 print a*24*365;"uSv"
749デフォルトの名無しさん:2011/06/23(木) 00:47:25.30
ガイガーカウンタのパルスをジョイスティックポート等に入力し、パルスをカウントすればデジタル方式の。
ガイガーカウンタになる。一分間のパルス数を計数したものがCPM。
シーベルトへ単位変換する際には、ガイガーカウンタがγ線のみを検出している事を前提とする。
ガイガーカウンタに金属製のシールドがしてあれば、ほぼγ線を検出していると考えられる。
このガイガーカウンタの値に対して時間累積すると線量計となる。1uSv/hの場所に4時間居れば1*4=4uSv。
線量計は累積した放射線量。年間20mSvという表現は、この線量計の一年間累積した値を示している。
750デフォルトの名無しさん:2011/08/26(金) 13:54:23.16
復元
751デフォルトの名無しさん:2011/11/26(土) 11:41:35.37
また復元
752デフォルトの名無しさん:2011/11/29(火) 11:09:43.44
Xbox360/XNAで動くMSX-BASIC互換アプリってないの?
753デフォルトの名無しさん:2011/12/01(木) 20:25:30.78
裏レジスタは癖が強くて使えない
754デフォルトの名無しさん:2011/12/02(金) 19:29:22.07
裏レジスタは頭が弱くて使えない
755デフォルトの名無しさん:2011/12/02(金) 20:01:07.80
IRQ処理で頻繁に使う者だとおもってた
756デフォルトの名無しさん:2011/12/17(土) 14:53:45.63
757デフォルトの名無しさん:2011/12/19(月) 13:42:33.16
>>756
>>1-1000って自分自身も入れてどうする。
あとCOBOLとBASICは全くの別言語。どちらかというとBASICはFortranの系譜だ

MSX-DOS用に一応COBOLもあったけど、使っていた人はわずかでしょう。
ちなみに自分はX1のCP/M 80用のFortranをMSX-DOSに移植して使っていた
758デフォルトの名無しさん:2011/12/19(月) 13:56:45.47
おい、なんかマジっぽいレスしてる奴がいるぞ
759デフォルトの名無しさん:2011/12/19(月) 14:18:03.31
そこは「マジレスしてる奴がいるぞ」にしとけ
「マジっぽいレス」だと理解不足なのが丸バレで757が図に乗るぞ

真面目な奴ほどキれると暴れるから荒れるのはカンベン
760デフォルトの名無しさん:2011/12/19(月) 14:48:29.85
>>759
もしかしたら俺の理解できないボケかもしれないので、少し逃げた。
761デフォルトの名無しさん:2011/12/26(月) 17:26:33.06
少し逃げたね。
762デフォルトの名無しさん:2012/01/02(月) 17:57:05.98
うん、少し逃げたね
763デフォルトの名無しさん:2012/09/03(月) 01:32:23.10
>2012年 9月 2日(日) 13:00〜
>MSX30周年が来年だと思ったら、ミナカンも今年15周年だった...

ふーん、よくやるね(呆…
764デフォルトの名無しさん:2012/10/09(火) 14:29:01.18
765電脳プリオン 忍法帖【Lv=40,xxxPT】(1+0:5) 【32.1m】 :2013/01/27(日) 19:00:43.97 BE:121623326-PLT(12080)
  ∧_∧
  ( ・∀・)            人 ガッ
  (    つ―-‐-‐-‐-‐-‐○ <  >__Λ∩
  人 Y ノ.             V`Д´)/
  し(_)                  /  ←>>269
766デフォルトの名無しさん:2013/02/06(水) 13:34:07.37
序破急(じょは きゅう)
767デフォルトの名無しさん:2013/02/06(水) 13:35:36.64
奥義(おくぎ)
奥義(おうぎ)
768デフォルトの名無しさん:2013/02/24(日) 07:48:22.15
どんだけ過疎ってんだよ。お前らのMSXに対する愛はそんなものか!
769デフォルトの名無しさん:2013/02/24(日) 15:59:45.43
愛ってなんだ
770デフォルトの名無しさん:2013/02/24(日) 16:11:01.59
振り向かないことさ
771デフォルトの名無しさん:2013/02/24(日) 18:10:28.96
え?じゃあ若さって何だ?
772デフォルトの名無しさん:2013/02/24(日) 23:10:39.51
アキムカないことさ
773デフォルトの名無しさん:2013/03/02(土) 13:35:36.02
MSXFANの1画面プログラムは色々とマニアックなことが書いてあったな
STOPキー押すまで入力待ちとかあったような
774デフォルトの名無しさん:2013/05/25(土) 02:05:38.26
なつかしい。昔ログインにゲーム投稿してお金貰ったわ
775デフォルトの名無しさん:2013/09/27(金) 09:13:12.19
保守
776デフォルトの名無しさん:2013/10/21(月) 19:41:55.44
777デフォルトの名無しさん:2013/10/22(火) 12:49:05.01
バカな!
しかし、パッケージは紛れもなく本物……ッ!!
778デフォルトの名無しさん:2013/10/22(火) 17:25:20.94
MSXちゃうやん
779デフォルトの名無しさん:2013/10/22(火) 20:38:30.87
その人何の技術もないからフェイクしかできないでしょ
780デフォルトの名無しさん:2013/10/23(水) 12:32:15.62
奥義伝承の儀とかやらんの?
781デフォルトの名無しさん:2013/10/23(水) 15:20:38.16
>>776
MSXじゃなくてPC6Kシリーズじゃねぇか!!!
782デフォルトの名無しさん:2013/10/24(木) 08:23:50.03
キーボードはパピコンだけど、こんなにカラフルで高精細な画面モード無いし
783デフォルトの名無しさん:2013/11/16(土) 07:44:01.61
画面だけエミュで映し出してるな
784デフォルトの名無しさん:2013/11/16(土) 07:52:01.86
>>461
配列の定義をサブルーチンの頭に挿れてるのはどうしてなの?
ベーマガではそういうプログラムの書き方は教えてないぞ
785デフォルトの名無しさん:2013/11/16(土) 08:26:02.58
元ベーマガスタッフキタ━━ヽ(゚∀゚)ノ━━!!!!
786デフォルトの名無しさん:2013/12/05(木) 21:10:30.52
でもプログラム末尾にDATA文で並べるより
使ってる近辺に書いたほうが分かりやすいよね今考えれば
787デフォルトの名無しさん:2013/12/06(金) 00:21:13.46
エディタがまともならな
788デフォルトの名無しさん:2014/01/03(金) 00:28:03.71
データとプログラムは分離されてた方が訂正するのは楽かな。
どうせ構造や意味は開発資料としてメモしておくでしょ。
789デフォルトの名無しさん:2014/01/03(金) 14:41:05.34
配列の定義だから、DIMのことだろう
790デフォルトの名無しさん:2014/02/06(木) 03:33:44.69
あれだけいろいろ作ってたのに今見たらもうBASIC読めないな。
配列の確保ってその行の実行時だったけ?
791デフォルトの名無しさん:2014/02/06(木) 08:37:37.66
10個ぐらいだったら宣言しなくても使えたような気がする。忘れた。
そういうデフォルト設定や裏技を極限まで使いこなすのが「テクニック」だったよなあ。
今ではクソコードに分類されるけど。
792デフォルトの名無しさん:2014/02/06(木) 12:11:32.90
>>791
>10個ぐらいだったら宣言しなくても使えたような気がする。

古いBASIC
793デフォルトの名無しさん:2014/02/06(木) 13:29:46.17
>>790
時間があまりにも過ぎてるからじゃね?

俺もマシン語・アセンブラでバリバリやってて
ハードウェアの隅から隅まで知っていたつもりだけど
今じゃ何も思い出せないなw

まあ資料見ればすぐに思い出せるだろうけど
さすがに全く触らなくなってから時間が経ち過ぎてる
794デフォルトの名無しさん:2014/02/06(木) 13:41:28.12
てきとーに配列に数値をぶち込むものを書いてみる。

10 DIM A(100)
20 CLS
30 FOR I=0 TO 100
40 A(I)=I
50 LOCATE 0,0:PRINT I
60 NEXT

10行がないと、I=10 の時点でエラーになるな。
795デフォルトの名無しさん:2014/02/07(金) 05:57:15.58
ワ、ワタシハタダシイ
796デフォルトの名無しさん:2014/02/13(木) 22:37:49.35
読める、読めるぞ〜、インストラクション表を片手に

しかしコードの真意は書いた本人にしかわからない

数年後には書いた本人にもわからない古文書となる
797デフォルトの名無しさん:2014/02/16(日) 12:25:00.81
DarkBASIC Pro Freeで最新技術を誰よりも早く習得 - VC++プログラマーより情報が早い

- DarkBASIC Professional - FREE Download(英語版のみ)
 [ http://www.thegamecreators.com/?m=view_product&id=2000&page=free ]
 [ http://www.thegamecreators.com/?m=download&file=5003 ]

 U77 Public Release Candidate(最新バージョンアップデート)
 [ http://forum.thegamecreators.com/?m=forum_view&t=180294&b=1 ]
 [ http://files.thegamecreators.com/darkbasicprofessional/upgrade/dbpro_upgrade_7_7_RC7.zip ]
798デフォルトの名無しさん:2014/02/16(日) 12:26:25.19
今回紹介するのはDarkBASIC Professinalフリーバージョン。
商用利用をしないと言う条件ですべての機能が使える。

DarkBASIC本体をダウンロードしたら、メールアドレスを送信してアンロックキーをメール受信する。
次にメールアドレスとアンロックキーをアクティベーション(認証)すればDarkBASICが使えるようになる。
さらに、最新バージョンアップデートを適用すれば、実行速度が高速になる。

DarkBASICはVisualBasic以前の古いBASICの延長上の別系統の設計にある最新BASICで、記述
が簡単で本格的な構造化もサポートしている。

簡単なゲームから大規模プロジェクトまで作成可能だ。

また、外部モデリングフォーマットを通さずにプログラム中で3Dオブジェクトの定義も可能で、非常に自由度
の高いプログラミングができる。

英語版と言うことであるが、BASICと3Dの基礎知識があれば、誰でも使える。
799デフォルトの名無しさん:2014/03/12(水) 07:21:04.94 ID:9nRIvxt0
Mファン1990年9月号に掲載された1行プログラム(システム上の1行、の意)

「200年カレンダー」
(万年カレンダーから100年毎の閏年判定ルーチンを除いたもの、
1900年3月1日〜2100年2月28日に対応)

#SCREEN1:WIDTH29(以上)で実行すること


1 CLS:INPUT"年,月";Y,M:Y=(Y+4)MOD28:J=YMOD4:D=(Y\4)*5-(J>0)+J
:FORI=1TOM:D=(D+X)MOD7:READX:X=X+(I=2)*(J=0):NEXT:PRINT:PRINT
SPC(D*4);:FORI=1TOX+28:PRINTUSING" ## ";I;:A=D=6:A$=CHR$(A*-10)
+CHR$(A*-13):PRINTA$;A$;:D=(D+1)MOD7:NEXT:DATA3,,3,2,3,2,3,3,2,3,2,3
800799:2014/03/14(金) 03:44:10.36 ID:Dt0a1Iuk
799の「200年カレンダー」を、Windows用の「99Basic」向けに作り直した
(「移植」とは呼べない。文字化けを除けばMSXでも動く。論理式を追放した。)


100 CLS
110 INPUT "年(1900〜2100),月 ";Y,M
120 IF Y<1900 OR Y>2100 OR M<1 OR M>12 THEN RUN
130 YY=Y:Y=(Y+4) MOD 28
140 J=Y MOD 4:D=INT(Y/4)*5+J
150 IF J>0 THEN D=D+1
160 IF YY=1900 THEN D=1
170 X=0
180 FOR I=1 TO 12
190 IF I<=M THEN D=(D+X) MOD 7
200 READ X
210 IF I=2 AND J=0 THEN X=1
220 IF (YY=1900 AND I=2) OR (YY=2100 AND I=2) THEN X=0
230 IF I=M THEN XX=X+28
240 NEXT
250 PRINT:PRINT
260 FOR I=1 TO 7
270 READ A$:PRINT " ";A$;" ";
280 NEXT
290 PRINT:PRINT:PRINT SPACE$(D*4);

(続く)
801799:2014/03/14(金) 03:58:27.59 ID:Dt0a1Iuk
300 FOR I=1 TO XX
310 PRINT USING" ## ";I;:D=D+1
320 IF D=7 THEN D=0:PRINT:PRINT
330 NEXT
340 PRINT
350 IF D>0 THEN PRINT:PRINT
360 END
370 DATA 3,0,3,2,3,2,3,3,2,3,2,3
380 DATA "日","月","火","水","木","金","土"


主な修正点:1900年1・2月と2100年3月〜12月も表示できるように。

・MSXで実行するときの注意点
110行のINPUT文・380行のDATA文にある「年」「月」「火」などの全角文字、
場合によっては270行の曜日前後にある空白を修正する必要がある。

・MSXの漢字BASICで実行するときの注意点
最低でも100行を「100 _CLS」に修正する必要がある。
インターレスモード〜_KANJI2・_KANJI3でないと、上部が強制スクロールされる。
画面がちらつかない_KANJI・_KANJI1で実行するときは、改行の「PRINT」を削除する、
最後にINPUT$(1)やIF INKEY$="" THEN を加えるなどの工夫が必要。
802799:2014/03/14(金) 04:13:09.54 ID:Dt0a1Iuk
もう一つ。海外のBASICのことを考え、140行は Y\4 から INT(Y/4) に変更した。
整数除算の"\"は、海外(日本語環境以外・日本のMSX以外)では半角"\"になる。

110行 INPUT"年(1900〜2100),月" ;Y,M → INPUT"M,Y(1900-2100)";M,Y
270行 PRINT " ";A$;" "; → PRINT A$;" "; (曜日名を英3文字にするため)
380行 DATA "日","月","火","水","木","金","土"
→DATA "SUN","MON","TUE","WED","THU","FRI","SAT"


それ以外の変更はなし……で動く海外のBASICはあるだろうか?
803799:2014/03/15(土) 03:32:57.56 ID:GTtrbY0y
訂正。MSXと99Basicは問題ないが、
N88互換のBASICの一つ「MBASIC86」でエラーが出た。

99Basicは作者が元MSXユーザーなので、MSXとの互換性をある程度重視している。
けど、N88BASIC系統は空白の省略は許されない。

PRINT命令やPRINT USING命令などの次には、空白が必要。


310 PRINT USING " ## ";I;:D=D+1


↑310行を訂正してほしい。申し訳ない。
「MBASIC86」は、これで動作した。
804デフォルトの名無しさん:2014/03/15(土) 12:51:19.31 ID:8TvWREf7
なにこの独り相撲
805デフォルトの名無しさん:2014/03/15(土) 13:37:16.17 ID:E7qCmrfx
IDありになって良かったな
806799:2014/03/15(土) 22:22:48.57 ID:GTtrbY0y
わざわざ過疎スレまで煽りに来たのか。

……昔のMファンをヤフオクで落札したので、自作品をここに書いただけ。
他人様の作品を無断転載はしないよ。
落札前に再び同じプログラムを作ろうとしたが、肝心の自分がアルゴリズムを忘れた。


私のカレンダーでは使っていないけど(28年分のカレンダーを使いまわしているだけ〜例:1986年=2014年=2042年)
カレンダーのプログラムを作るなら、「ツェラーの公式」
http://ja.wikipedia.org/wiki/%E3%83%84%E3%82%A7%E3%83%A9%E3%83%BC%E3%81%AE%E5%85%AC%E5%BC%8F
を参考にするといいと思う。


……と書いたら、また煽られるだろうな。
昔〜ひろゆき氏が熱心に活動していた頃〜の2chは、
この程度で煽られることは少ない気はしたが。
ひろゆき氏が「PCが安価になったので、一部を除いては、2chは馬鹿ばかりになった」
と嘆いたのもわかる気が。
807799:2014/03/15(土) 22:31:04.32 ID:GTtrbY0y
ID制…といっても、末尾が「0」「O」「i」「P」ではないので、
ID云々で煽る板ではない気がする(少数だが、現時点でもIDがない板がある)。

内容はどうであれ、末尾が「P」はボロクソに罵倒される。
「P」はp2。p2はものすごく嫌われている。悪質な荒らしが多いのかも。
(そのせいで、荒らし以外が罵倒の被害に遭っている)

アク禁になったら、別の携帯電話や避難所のスレに代理書き込み依頼が多数のはず。

あと、書き込みが1日1回限定だとIDの意味をなさないと思う。
808デフォルトの名無しさん:2014/03/16(日) 14:24:59.42 ID:SqWBi3v6
なんかよくわからんけど、どうせなら、この世の全ての BASIC で動くコード
とかだと面白いんだけどな
809デフォルトの名無しさん:2014/03/16(日) 14:50:41.80 ID:4mUPyn+t
独り相撲してナンボのスレだけどな
まあ、番号コテの人にはスレタイくらい読んでおいてほしかったとは思うな
810デフォルトの名無しさん:2014/03/16(日) 15:08:12.80 ID:gkqHMcUQ
BASICでは、ダークと99はNGに入ってるわ、俺。
811799:2014/03/16(日) 16:50:59.39 ID:P7mFBOx5
Wikiや他サイトを参考にし、カレンダーの曜日を求める式を作ったところ…


変数 H:曜日(0〜6、0=日・1=月…6=土)、Y:年(2014など) M:月(3など) D:日(今回は1のみ)

H=(365*Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((306*(M+1))/10)+D-428) MOD 7


N88互換系では実行できたけど……MSXでは"Overflow in xxx"エラー。

MSXのMOD演算子や整数除算"\(海外版は\)"は、
2バイトの整数型(-32768〜32767)の範囲に限られる。
365×西暦4桁がある時点でアウト。


……ので、MODの被除数を32767以下にしてみるか。7の倍数で最も32767に近い値を減算するとどうだろう。
MSXで動かないプログラムを作っても……と思うし。

行番号は追放する方針。>>800->>801のプログラムも、最初はDATA命令の行番号を指示する
"RESTORE 380"があったが、180〜240行を無駄ループにして回避。
812799(MSXで動作可):2014/03/16(日) 17:47:43.30 ID:P7mFBOx5
100 CLS
110 INPUT "Y,M ";Y,M:MM=M:D=1:U=Y MOD 4
120 IF U=0 THEN UU=1
130 IF U=0 AND (Y MOD 100)=0 AND (Y MOD 400)>0 THEN UU=0
140 IF M=1 OR M=2 THEN M=M+12:Y=Y-1
150 IF Y<0 OR Y>9999 OR MM<1 OR MM>12 THEN RUN
160 H1=(365*Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((306*(M+1))/10)+D-428)
170 HH=INT(H1/32767):H=(H1-32767*HH) MOD 7
180 FOR I=1 TO 12
190 READ X
200 IF MM=I THEN D=X+28
210 IF MM=2 AND UU=1 THEN D=29
220 NEXT
230 PRINT:PRINT
240 FOR I=1 TO 7
250 READ A$:PRINT A$;" ";
260 NEXT
270 PRINT:PRINT:PRINT SPACE$(H*4);
280 FOR I=1 TO D
290 PRINT USING " ## ";I;:H=H+1
300 IF H=7 THEN H=0:PRINT:PRINT
310 NEXT
320 PRINT
330 IF H>0 THEN PRINT:PRINT
340 END
350 DATA 3,0,3,2,3,2,3,3,2,3,2,3
360 DATA "SUN","MON","TUE","WED","THU","FRI","SAT"
813デフォルトの名無しさん:2014/03/16(日) 21:18:49.40 ID:lTEgNzO7
>>807
俺P2からの書き込みだけどPにならんよ
814799:2014/03/17(月) 00:30:21.19 ID:wkMqB80o
>>813
この板ではならない。
末尾に"7"などの数字・"Q"などその他の英字がある時点で
「ここはp2・ガラケー・iPhone・PCなどその他 の判別がない」とわかるはず?

末尾が"P"になってもp2とは無関係。"0" "O" "i"も同様。
このような板だと、プロバイダがアク禁のときにp2から書き込んでもバレないけど。

>>809
>スレタイくらい読んでおいてほしかったとは思うな

MSXでMファンに採用された1行プログラムを作ったとき、「これはMSXの仕様に依存している」
と意識した。SPC関数はMSX独自。論理式の"A=D=6"は、正しくは"A=(D=6)"
(D=6のときAが-1に・その他はAが0に、の意)と書くべきだが、エラー覚悟で書いたところ実行できた。

99BasicやMBASIC86でも動く…を目指すと、どうしても脱MSXになる傾向が。
>>812のプログラムの160行・170行はMSX対策。
MODや整数除算"\"は、MSXは32767以下限定。「MSX対策」と書かないとなぜ?と聞かれると思う。
815デフォルトの名無しさん:2014/03/17(月) 00:41:51.33 ID:cdm9pD2a
「これはMSXの仕様に依存している」…まさしくそれがスレタイの意味するところじゃねかしら?
ほかのBASICで動くなら、MSX-BASICの奥義でもなんでもないし
816799:2014/03/17(月) 04:47:53.34 ID:wkMqB80o
>>812のカレンダーだけど、MSXでもエラーが出ない式があったので訂正。

160 '
170 H=(Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((13*M+8)/5)+D) MOD 7

(160行は削除してもよい。GOTO xxなどがないので、RENUMコマンドも問題ない。)

被除数は常に32767未満なので、MOD演算子でOverflowが出ることはない。
曜日は 0=日・1=月…6=土 なので使いやすい。
調べたところ、0=土・1=日…6=金 と返す式もあるから。


あとは…漢字BASICの_KANJI版を作ったら、カレンダーは終わりにするか。
_KANJI2・_KANJI3を除く漢字BASICは、いかに改行を減らすか…
改行の問題さえ解決すれば、数字が大きいので見やすいはず。


そのうち〜バスの電磁大光ブザーを真似た PLAY"S8M90O6G" とSOUND命令版も紹介するか。
これは自分で考えたもの。 PLAY"S8M90O7G" だと、通常のアナログブザーに。
…当時のMSXのクイズプログラムは、不正解の音は PLAY"O1C" などワンパターンだった。
ちなみにエミュレータのfMSXとRuMSXは、これらの音は再現できない=PSG再現に難がある。
817799(漢字BASIC版、改行は最小限に):2014/03/17(月) 05:17:53.14 ID:wkMqB80o
100 _KANJI:WIDTH 29:_CLS
110 INPUT "Y,M ";Y,M:MM=M:D=1:U=Y MOD 4:UU=0
120 IF U=0 THEN UU=1
130 IF U=0 AND (Y MOD 100)=0 AND (Y MOD 400)>0 THEN UU=0
140 IF M=1 OR M=2 THEN M=M+12:Y=Y-1
150 IF Y<0 OR Y>9999 OR MM<1 OR MM>12 THEN RUN
160 H=(Y+INT(Y/4)-INT(Y/100)+INT(Y/400)+INT((13*M+8)/5)+D) MOD 7
170 D=31:M=MM
180 IF M=4 OR M=6 OR M=9 OR M=11 THEN D=30
190 IF M=2 THEN D=28+UU
200 PRINT:PRINT "SUN MON TUE WED THU FRI SAT"
210 PRINT SPACE$(H*4);
220 FOR I=1 TO D
230 PRINT USING " ## ";I;:H=H+1
240 IF H=7 THEN H=0:PRINT
250 NEXT
260 PRINT
270 IF H>0 THEN PRINT
280 END
818デフォルトの名無しさん:2014/03/19(水) 12:04:38.51 ID:OxhLoqdL
ここもちらしの裏だし
まいっか
819デフォルトの名無しさん:2014/06/04(水) 15:34:40.19 ID:ZiHf6GEW
揚げろや屑やろう!
820デフォルトの名無しさん:2014/06/04(水) 15:40:59.44 ID:3TCFL1gZ
断る
821デフォルトの名無しさん:2014/07/09(水) 09:59:00.63 ID:jeW2TfnT
保守
822デフォルトの名無しさん:2014/07/12(土) 17:02:47.46 ID:dhVKd2av
奥義はよ
823デフォルトの名無しさん:2014/07/14(月) 22:42:26.64 ID:4A74nF8C
奥義マダー?
824デフォルトの名無しさん:2014/07/15(火) 06:39:57.66 ID:mWyocOMn
奥義・光子力まるはだか!
825デフォルトの名無しさん:2014/07/15(火) 11:46:12.23 ID:6lvRYATA
ジャパニウム、だっけ?
826デフォルトの名無しさん:2014/07/15(火) 19:41:46.28 ID:uDYfEjIO
そのジャパニウムの力で、
小学4年生の江久保葉子ちゃんをまるはだかにむくのじゃあ!
827デフォルトの名無しさん:2014/07/25(金) 13:12:32.97 ID:RkXLEhxK
>>826
通報しますた
828デフォルトの名無しさん:2014/07/28(月) 11:47:27.95 ID:XCE2nVfS
★2ch勢いランキングサイトリスト★

◎ +ニュース
・ 2NN
・ 2chTimes
◎ +ニュース新着
・ 2NN新着
・ Headline BBY
◎ +ニュース他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
◎ 実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索
829デフォルトの名無しさん:2014/09/09(火) 20:53:47.73 ID:xGs4sfhV
2001年の生き残りはこのスレだけ
最長老ごきげんよろし
830デフォルトの名無しさん:2014/09/26(金) 15:40:44.73 ID:cDF8qWEh
多色刷りって、BIOS使わずVDP直接操作だけでやるとしたら
どうやるんだろうか…(市販ゲームとか)
BIOSのINIT32(006FH)とかSETGRP(007EH)とかを解析したら良いんだろうけど、
めんどいなw

スクリーンモードってVDPのR#0と#1だけで決めていると思ってるんだけど、
それ以外に何かいじらないと多色刷りモードにはならないってことか
831デフォルトの名無しさん:2014/09/28(日) 10:53:47.04 ID:nD5Yu8m1
多色刷りってのは BASIC で手軽に Graphic 2 の性能を引き出す手法の俗称だろ。
市販ゲームなんかは、それこそすべての操作を VDP に直接アクセスしてやってるから、
多色刷り云々の話ではないよ。
832デフォルトの名無しさん:2014/09/28(日) 11:28:05.44 ID:/z7vQ2zP
833デフォルトの名無しさん:2014/09/28(日) 14:43:20.51 ID:DVWno/3n
>>134
お願いします
834デフォルトの名無しさん:2014/09/28(日) 15:22:11.12 ID:8Hq1x0kC
反応するのに12年もかかるのかよ
835デフォルトの名無しさん:2014/09/28(日) 15:28:43.79 ID:J5abx0zT
12年後が楽しみだ
836830:2014/09/29(月) 00:58:02.60 ID:EDDV56hZ
>>831
それは知ってるんだが、
なぜVDPがscreen2であるにも関わらず、
VDPに対してprint文などでキャラクタコードで書けるのかが不思議だったんだよ
screen2はパターンジェネレータテーブルとカラーテーブルだけが有効で、
パターンネームテーブルは無効だと思ってたから。

…と思いながら、screen2をテクハン片手にvpokeでいじってたら、
screen2でもパターンネームテーブルは生きてるんだな。
今ごろになって気が付いたwこれでスッとしたわ…自己解決。

screen2のパターンネームテーブルは&h1800から値が順に01,02,03,…とデフォでは入っていて、
これによってパターンジェネレータテーブルの定義内容が順に表示されるようになっているみたいだな。
(これでグラフィック画面らしい挙動ができるわけだ)

で、多色刷りだと、screen2でもscreen1同様このテーブルをprint文などで書き換えると。
(今までscreen2のパターンネームテーブルは無効だと思い込んでいたから、この1点が謎だった)

じゃあ多色刷りって、VDP側はただのscreen2だな。
別にどうってことない話じゃないかw(←オイ
837デフォルトの名無しさん:2014/10/01(水) 09:01:42.86 ID:1BRcjDE3
screen2はぶっちゃけ画面全部を違うパターンの文字にしたものだからね
多食刷りのミソは、本来テキストを扱うscreen1用のbasicコマンドが
(内部が)screen2でもそのまま使えたことだろうな
838デフォルトの名無しさん:2014/10/08(水) 10:54:52.16 ID:2a6Sl7jH
なつかしいFANダムに4本載ったワシ
839デフォルトの名無しさん:2014/10/09(木) 13:56:29.65 ID:MpVmhvXd
何の作品か言うてみい。打ち込んでやるわボケ。
840デフォルトの名無しさん:2014/10/23(木) 03:08:20.65 ID:khbr0nbg
MSX1で縦スクロールする。スペースで終了

100 SCREEN2:COLOR15,4,4:CLEAR1000:KEYOFF:SCREEN1:DEFINTA-Z:ONSTRIGGOSUB200:STRIG(0)ON
110 P$=" MSX SCROLL "
120 PM=LEN(P$)*8:DIMP$(PM):C!=PEEK(4)+PEEK(5)*256:FORA=0TOLEN(P$)-1:I=ASC(MID$(P$,A+1,1)):FORB=0TO7:P$(A*8+7-B)=RIGHT$("00000000"+BIN$(PEEK(I*8+B+C!)),8):NEXTB,A
130 FORA=0TOPM-2:I!=VARPTR(P$(A)):I1!=PEEK(I!+1)+PEEK(I!+2)*256:I!=VARPTR(P$(A+1)):I2!=PEEK(I!+1)+PEEK(I!+2)*256:FORB=0TO7:POKEI1!+B,PEEK(I1!+B)-(PEEK(I1!+B)=49)-(PEEK(I2!+B)=49):NEXTB,A
140 FORA=0TO15:VPOKE384+A,0:VPOKE400+A,255:VPOKE2432+A,0:VPOKE2448+A,255:NEXT:FORA=5120TO5887:VPOKEA,0:NEXT
150 ONINTERVAL=4GOSUB300:INTERVALON
160 GOTO160
200 STRIG(0)OFF:INTERVALOFF:SCREEN0:FORA=-1TO0:A=INKEY$<>"":NEXT:END
300 INTERVALOFF:B=PCAND7:ONBGOTO330,330,330,320,330,330,330
310 GOSUB350:D=1-D:GOSUB360:GOTO340
320 GOSUB350
330 A=391+B+2048*(1-D):VPOKEA,255:VPOKEA+8,0:VPOKEA+16,255
340 A=384+B+2048*D:VPOKEA,0:VPOKEA+8,0:VPOKEA+16,255:VPOKEA+24,255:PC=(PC+1)MOD(PM*8):INTERVALON:RETURN
350 PRINTCHR$(27);"Y! ";CHR$(27);"L";P$(PC/8):RETURN
360 VDP(1)=VDP(1)AND191:VDP(2)=6-D:VDP(4)=1-D:VDP(1)=VDP(1)OR64:POKE&HF923,20+D*4:RETURN
841デフォルトの名無しさん:2014/10/23(木) 06:59:36.83 ID:QsQhyUlJ
テープに録音するときってどんな音に聞こえた?
ピー
ガラガラガラ
ピロピロピロ
842デフォルトの名無しさん:2014/10/23(木) 09:03:15.77 ID:sksS7kTY
ピー−ガッ! ←最初に必ずこの工程があるでしょ
ピーーガゴギゴギゴ…
843デフォルトの名無しさん:2014/10/23(木) 09:29:44.09 ID:GVukQ4G4
緊急地震速報の音が当時のやつに一番近いかな
844デフォルトの名無しさん:2014/10/23(木) 09:31:17.65 ID:GVukQ4G4
ああ間違えた
大津波警報の方です
すみません
845デフォルトの名無しさん:2014/10/23(木) 09:33:03.26 ID:GVukQ4G4
あれ?
ぐぐって聴いてみたら最近JALERTのは違うんだね
846デフォルトの名無しさん:2014/10/23(木) 09:39:04.77 ID:xi8wnWKn
847デフォルトの名無しさん:2014/10/23(木) 09:40:34.27 ID:GVukQ4G4
>>846
へーこんなのあるんだ
ありがとう
ほんとにセーブ出来てるなら
ロードも試してみたくなるな
848デフォルトの名無しさん:2014/10/23(木) 10:53:09.83 ID:GVukQ4G4
作者のページも逝ってみたけど
ロードエミュレータは無いんだね

ぐぐってたらこんなページはあった
http://psyzans.com/Testsite/Tape/Tape.html
849デフォルトの名無しさん:2014/10/23(木) 11:28:00.27 ID:ISc0F2Qf
>>843-845
どんだけ古いおっさんやねん
http://radio1ban.com/jikken_ews1.htm
850デフォルトの名無しさん:2014/11/15(土) 10:36:19.60 ID:gWegtIR0
REM文を利用するプログラムを作ってみた。
内容は>>35

1 'ッツ`メピョマャヘマモッ」ェマ゚ャユソ`」リ。モカト`ィセ」モソホサワスヤショ`シユァ`ャラャ`「ァノワモク。ィモクョィモク。モカィ`ィー`ク`ーネ`ッツッュオタ`ヲ・メ、カヲャキナ`アー`ッツッュオタ」チ`イ``「シ、ーロタ、ェ`」リテモオク`ィーモア、ー`リ`ア``モオミ`ィイ」ア、イウアソマリ」ャ`ャ゙
2 '`チィコチヌシテ、ムハヲスンケッ゚ナワリ。。ヒヘア。ェマモスタ`チモモヘア「、スヤクザウテタ・゚ハクミ`キシチァュ、ア`。フ。「`」ュキ``チィュ・゙゚ハネミォマレセィ。リテソツ、スヤケクワ゚タネミ、モロ゙ャツウアィウォアソフク。ゥラシヒソフリ`ゥラシヲェ、タヲ`。」゙ーア」リヲィヌュオタ、ヲ「メ、ニヤキリテ
3 'モコィ`、ッニマ」タィヲ`ホユマヘメタ・ンテ」ュネタ`ーンョユマィミヤタロ」リミモコィ`メソ゚゚゚゚ワ`````ミャ````````「タシ``。。ァ`。`ーィ「ヲユトラィ`ノウーヤンイアウヤ`````
10 CLEAR 300,&HD000:DEFINTA-Z:A=&HD800:DEFUSR=A
20 A$="2148FC5E2356EB1100D0010500092323237EB7283DD620E63F878747237ED620E6300F0F0F0F8012137ED620E60F8787878747237ED620E63C0F0F8012137ED620E6030F0F47237E23D620E63F80121318BF010500097EFE3A28B3C300D0C9"
30 FORI=1TOLEN(A$)STEP2:POKEA,VAL("&H"+MID$(A$,I,2)):A=A+1:NEXT:A=USR(0)

blueMSXで動作確認。

blueMSXにはディレクトリをMSXディスクとして読み込む機能があるので、コピペしてファイルに書き込んだ後、[ファイル]-[ディスクドライブA]-[ディレクトリ挿入]でディレクトリを指定してやると、ディスクイメージを作らなくてもファイルが読める。
851デフォルトの名無しさん:2014/11/15(土) 10:44:03.15 ID:gWegtIR0
補足
コピペの際、各行の終わりにスペースがつく場合は、スペースを消して実行してくれ
852デフォルトの名無しさん
REM文に書かれた文字そのものがプログラムだっていうのは結構やってたな
プログラムすべてを文字化するのは面倒だから、文字だけでデコーダを書いて、
文字にエンコードされたメインプログラムを展開して実行みたいなことが多かった

小さなちょっとしたことなら文字だけでプログラムを書くのも普通にやってたね
そもそも上記のデコーダがそうだし

で、REM文の内容の書かれたアドレスを直接指定してマシン語として実行するわけだけど
GRAPH文字には結構お世話になった気がする
ご存知だろうがGRAPH文字は01hを頭とする2バイト文字なのだ

01hを表現したいときに、たとえば >円 と書くと
文字コードが 3e 01 49 となって
LD A,01h → LD C,C になる、みたいな



文字コードとか覚えてなくてググりながら書いてみたんで間違いがあったりするかもだけど、
とにかく、GRAPH文字の01hっていうのはREMに直接マシン語を書くとき便利だったなあ
というお話