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

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

・多色刷り、
・ドット単位横スクロール、
・エスケープシークエンス・・・
色々ありましたよね。
思い出したらなんでも書き込みよろしく。
2デフォルトの名無しさん
垢版 |
NGNG
とりあえず多色刷りの前振り

10 SCREEN1:WIDTH32:DEFUSR=&H7E:A=USR(0)
NGNG
PCG の弄り方忘れた。
NGNG
POKE(&HFDCC,119)
5デフォルトの名無しさん
垢版 |
NGNG
ドット単位横スクロールはVDP命令を使うんだったよな。
SETADJUSTだと画面位置がバックアップされてしまうから。
でも肝心のVDP(N)のNの値が思い出せない。。。
6デフォルトの名無しさん
垢版 |
NGNG
R#26 VDP(27) 画面の水平スクロール量 (High)
R#27 VDP(28) 画面の水平スクロール量 (Low)

何故かあったM・FAN95年6月号より。
でも、もうVDPの弄くりかたも忘れたなあ。。。
7スプライト定義
垢版 |
NGNG
SPRITE$(0)="■♥♥♥♥♥♥■"
NGNG
A1-WX(WSX) クロック周波数アップ
OUT 64, 8
OUT 65, 1
ちょっと、自信ない・・・
NGNG
OPEN"GRP"ほにゃららAS#1
10
垢版 |
NGNG
>>6
サンクス。
しかしこの情報を何に生かしたらよいのやら・・・w
116
垢版 |
NGNG
>しかしこの情報を何に生かしたらよいのやら・・・w
(苦笑
まあ、うちのMSXはとっくの昔にぶっ壊れましたけど、TVに直接出せるし
一応持ち運べるし、A1GTならMIDIポートついてるし、なんかの時に何か
の役にたつこともないことはないかも(いや、多分ないが(藁
NGNG
>>10
MSXエミュは結構いいのがいろいろ出てますぜ。
もっとも、実機もちゃんと持ってますが、いつ壊れるかわからんからな〜。
ひょっとすると、知らないうちに壊れてたりして。
NGNG
defusr=0:a=usr(0)
NGNG
>>9
ほにゃらら = FOR OUTPUT ?
NGNG
家のMSX(A1ST)君はスペースキーが効きません、助けてアルゴマン!
16キングコング
垢版 |
NGNG
>>9
セミコロンが抜けてると思われ
NGNG
実家にFDD2ドライブのMSX2+がありまっせ。
18デフォルトの名無しさん
垢版 |
NGNG
>>12
実機をもってても、フロッピーの保管が大変じゃない?
どんなに、厳重にしまっていても、3〜5年で壊れるでしょ。
NGNG
FS-A1Mk2だった。あのキーボードの押しにくさが忘れられない。
NGNG
>>8
out64,8:out65,0じゃないかな。
ASCATのテクニカルガイドではFS-A1WX/FX/WSXで使えるとある。
あと、BASIC ROMを覗いてDSKI$, DSKI$を発見して使ったはいいが、
ディスク壊してしまったこともあったなあ。
21デフォルトの名無しさん
垢版 |
NGNG
リストを見れなくするのってどうやるんだっけ?

たしか行番号のあたりに直接
最終行番号の値を書いちまう方法があったが
どこの番地にナニを書けばいいか忘れた

実機があればリスト格納先頭番地からダンプするところだけど
NGNG
MSXのエロゲーは良かったなァ。
あの時代のエロゲーには現代にはない何かがあった・・・
NGNG
俺は98時代の同人エロゲーに、現代にはない良さを感じる。
NGNG
>>21
TXTTAB(0F676H,2)の値+2と+3のアドレスにそれぞれ&HFFを書けばいいらしいな。
つーか、これも受け売りだけど(w
あと>>20はDSKI$, DSKO$な。DSKI$じゃディスク壊せん。
NGNG
そういやOPLLデータをmidiに変換するやつ作ったっけ。
Mファンのタイトル音楽を久々に聴く。なつかし。
NGNG
>>16
セミコロンじゃなく、コロンだと思われ。
NGNG
X=X+(STICK(6)=1)-(STICK(2)=1)+(X>39)-(X<0)

今なら普通に if で書くけどな。
2827
垢版 |
NGNG
うわ〜、大間違いっス。
ホントは、こうね。

' ジキ イドウ
X=X+(STICK(0)=6)-(STICK(0)=2)+(X>39)-(X<0)

鬱だァァァァ。
29デフォルトの名無しさん
垢版 |
NGNG
>>28
それも間違ってるぞ(w

X=X-(STICK(0)=7)*(X>0)+(STICK(0)=3)*(X<39)
が正解かと。

>+(X>39)-(X<0)
にしちゃうと、端まで行った時に1ドット跳ね返るからね。
あとスティック関数値も間違いw
30デフォルトの名無しさん
垢版 |
NGNG
>>27-29
配列使った方が読みやすいしスピードが少しはあがるんじゃない?
なんでみんなこの方法を使ったんだろ。
NGNG
>>30
配列つかうと行数とメモリ使用量増えるから
NGNG
1画面プログラムとか向けの手法だな>論理式
NGNG
>>31
なんとなくかっこいいからという理由もあったかも。
NGNG
行番号0の行を作る

LISTで表示

表示された0行にカーソル移動

RETURNキー押す

もう一度LIST

行番号直後の空白が1つ増える

(゜д゜)バグー
351
垢版 |
NGNG
というワケで(?)、簡単にスカッシュを作ってみました(w
(所要時間40分)

10 SCREEN1,0,0:WIDTH32:KEYOFF:COLOR1,14,1
20 X=112:BX=112:BY=4:MX=2:MY=2:SC=0
40 FOR J=0 TO 23:PRINT"########## ##########";:NEXT J
60 SPRITE$(0)=""
70 SPRITE$(2)="タタ"
80 REM =========ball move=====
90 BX=BX+MX:BY=BY+MY
100 MX=MX*((BX=78)*2+1)*((BX=174)*2+1)
110 PUTSPRITE2,(BX,BY),1
120 REM =======key input========
130 T=STRIG(0)
140 X=X-(T=0)*(X>78)+(T=-1)*(X<166)
150 PUTSPRITE0,(X,160),1
160 REM =======judge=========
170 IF BY=158 AND BX>X-1 AND BX<X+9 THEN MY=-2:SC=SC+1
180 IF BY=170 THEN 220
190 IF BY=2 THEN MY=2
200 GOTO 90
210 REM ===========game over=======
220 PRINT"SCORE=";SC*10:FOR I=0 TO 500:NEXT
230 FOR I=0 TO 1:I=-STRIG(0):NEXT I:GOTO 10


Ruでのみ動作確認してます。
(まぁ、動作確認とるまでもないショボプログラムだがw)

ちなみに最後の までを含めたリストをメモ帳等にコピってSAVEした後、
そのTXTファイルをDISK-manegerでDSKイメージに突っ込んでsaveすれば、
いちいちプログラムを入力しなくてもOKなんで楽チンです。
36デフォルトの名無しさん
垢版 |
NGNG
>>35
こんな時間になにやっとるんだ(藁
オレモナー
371
垢版 |
NGNG
補足

またエミュ上でプログラムをアスキーセーブすれば(save"*****.bas",a)
Win上でプログラムの閲覧、編集等ができます。

手順は、そのプログラムを・・・
・DISK-MANEGERでEXTRACTを選択してデスクトップ等に出す。
・拡張子をTXTに変更
・メモ帳で開く
という手順です。
その際プログラム末尾に” ”が付きますが、
これはアスキーセーブを有効にする為に必要なので削除しないで下さい。
381
垢版 |
NGNG
>>36
ぐは!ソレは突っ込まないで・・・(w
NGNG
おぉ!!
つー事は2chで簡単な自作プログラムの公開なんかもできるワケですな!
まぁ、漏れは公開するようなブツは持ち合わせてないんダガナ…(藁
皆さんの日の目を見なかった作品のうpをキボンしてよいですか?
NGNG
ところで>>35のプログラムの40行は
###と###の間に12個のスペースが入ると解釈してよいんですね?
そうしないとワケワカラン画面になりましたぜ〜。
NGNG
つーかムズ過ぎ!
ラリー10回すら続かない…
鬱駄氏脳
42デフォルトの名無しさん
垢版 |
NGNG
ファンダムの1画面モノとか勝手に2chに載せたらズイマーかなー?
著作権関係の問題ってやっぱあるよなー。
43デフォルトの名無しさん
垢版 |
NGNG
Disk-Managerってなんじゃらホイ?
NGNG
>>42
時効。気にすんな。
■ このスレッドは過去ログ倉庫に格納されています