つじるの忘れんぼ鉄道

DCC自動運転で秋葉原にあった交通博物館のジオラマを目指すブログ

DSbasic 入門してみる(5)slot命令

次は、2つの機関車を動かしていきたいので、アドレスベタ打ちのコードをslotに直しておこうと思います。

Slotって?

Slotとは、下図のキャブ画面右側にある4つのロコアドレス登録箇所のことを指します。

f:id:tsujiru:20190501202603p:plain

上記画面だと、Slot0がアドレス3、Slot1がアドレス51、Slot2がアドレス4、Slot3がアドレス22 となります。要は、よく使うロコのアドレスを4つ登録しておくことで、これをクリックするだけで切り替えることができて便利だよー、という機能です。

 ※スロット番号は、0~3です。1~4ではないので注意。

 

DSbasicでも、このスロットを指定して命令を出すことができます。

Wikiを見てみると、Slot関連の命令として以下4つが記載されてます。

f:id:tsujiru:20190501214617p:plain


まずは基本的な命令の「getslotaddr」の動きを確認します。

これは指定したスロットのアドレスを取得するコマンドなので、スロット0~3のアドレスを取得し、それを変数に格納して警笛を鳴らす動きをみてみました。

screen(7)
s88start

pwr 1
print "START S88 Control -slot test-"

SLOT0 = getslotaddr(0)
SLOT1 = getslotaddr(1)
SLOT2 = getslotaddr(2)
SLOT3 = getslotaddr(3)

print SLOT0
print SLOT1
print SLOT2
print SLOT3

sleep 10000
fnx SLOT1,2

end

 実行結果は以下の通り。f:id:tsujiru:20190501202609p:plain

 スロットに設定した、アドレス3,51,4,22 と取得できました。

また18行目のfnxで、SLOT1(アドレス51)のロコが警笛を鳴らすのも確認できました。

 

以上で、 ある程度の動きを把握できたので、前回のアドレスベタ打ちコードをSlotベースに修正しつつ、2両を動かすコードを作ってみます。

 

つづく