スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --/--/-- --:-- ] スポンサー広告 | TB(-) | CM(-)

DSを自動操作してみるprojectのプログラムの説明

今日は意味不明な人にとっては暇な記事だと思います(´・ω・`)

とりあえずプログラムの説明でも。

まず、昨日から言っているEEPROMですが、EEPROM上に先にプログラムを展開しておきます。

PICBASICの命令I2CWRITEでI2Cを使ってEEPROMの1つのアドレスごとにデータを書き込んでいきます。

ただし、自分は今までPICBASICでEEPROMの読み書きをしたこと無いので、うまく行くかは不明(・∀・)


以下に記載しているプログラムはコンパイルしていないので動作しない可能性があります。
それに、これだけで完成ではありません。

Dim R1L1
Dim R1L0
Dim R0L1
Dim R0L0

Let R1L1 = 3
Let R1L0 = 2
Let R0L1 = 1
Let R0L0 = 0

I2CWRITE &HA0,&H0000,R1L1
sleep 1
I2CWRITE &HA0,&H0000,R1L0
sleep 1
I2CWRITE &HA0,&H0000,R0L1



dim で変数を指定して、変数の型は何も指定していないのでword型となります。
そのあとletで変数に値を代入
とりあえず今のところ10進数で代入
EEPROMの関係で2進数or16進数になるかもしれません。
その後I2CWRITEでEEPROMに0,1,2,3のどれかを書き込んでいく
L1R1と言うのはDSの十字ボタンのLEFT(左)をON、RIGHT(右)をONと言う意味の変数です。(変数は何でもいいんですが、後からプログラムが見やすいように意味のある変数にしています)
EEPROMから読み込んだ数字のデータが0の時は、L0R0と言う意味なので左ボタンOFF、右ボタンOFFになります。

読み込む時のプログラムは




Dim DETA

loop:
I2CWRITE &HA0,&H0000,DETA
if DETA = 0 then
sleep ○←if文のタイムラグを計算して停止する時間を設定
low rd.bit0
low rd.bit0
else
if DETA = 1 then
sleep ○
low rd.bit0
high rd.bit1
else
if DETA = 2 then
sleep ○
high rd.bit0
low rd.bit1
else
if DETA = 3 then
sleep ○
high rd.bit1
high rd.bit1
else
'通常読み込んだ値が0~3以外になることは通常無いので、ここに来た場合は液晶にエラーと表示する。
clear lcd
loop1:
put lcd "Err!! "
sleep 100
clear lcd
home lcd
sleep 100
goto loop1
endif
endif
endif
endif

goto loop


このプログラムだと永久的に&H0000の値を読み込み続けるから、1つ読み込んだら次のアドレスに移動したいんだけどどうすればいいのかな?

ちなみにEEPROMを使わなければもっと簡単にプログラムが書けるけど、容量がたりないかもしれない。


loop:
sleep ○
high rd.bit0
high rd.bit1
sleep 5
low rd.bit0
low rd.bit1
sleep ○
high rd.bit0
low rd.bit1
sleep 5
low rd.bit0
low rd.bit1
sleep ○
low rd.bit0
high rd.bit1
sleep 5
low rd.bit0
low rd.bit1
sleep ○
low rd.bit0
low rd.bit1
sleep 5
low rd.bit0
low rd.bit1

end


このプログラムを永遠に書いていくから多分容量が足りない。
たとえば太鼓の譜面にドンカッが合計100個あるとします。
そうすると↓の文をドンカッに合わせて100個書かないとダメなので
sleep ○
low rd.bit0
low rd.bit1
sleep 5
low rd.bit0
low rd.bit1

コレを100回繰り返し書くことになります。
まぁ楽ですけど容量が;;;

ウーン、分かりやすく書いたつもりだけど、国語だけ成績が悪い自分には説明は向いていないようです(´Д`)
[ 2009/12/22 21:36 ] DS | TB(0) | CM(0)
コメントの投稿

コメントを投稿する際の注意点
・アフィリエイトコメントは即消去してアクセス規制させて頂きます。
・「@」を含む文は投稿できません。
@は☆や○、「あっと」などに置き換えてください。
・誹謗中傷コメントは消去、悪質な場合にはアクセス規制させて頂きます。
・質問する際には、まず自分である程度調べてから質問してください。













管理者にだけ表示を許可する
トラックバック
この記事のトラックバックURL

プロフィール

儚

Author:儚
PSPやDSのハードウエア改造関係の記事をちまちま書いています( ´∀`)ノ
誤字脱字は報告していただけるとウレシイです(^_^)

GNCT1年生。

最近ブログの更新が少ないですが生きてます。

所持物
PSP10002台,PSP20001台
DS DSi
ネットノートUL20A
自作PC(corei7860 GTS250)
iphone 3GS
ipod touch 2nd

所持マイコン
PIC各種 H8/3052 H8SX/1655
インタプリタ型所持マイコン
arduino 秋月PICBASIC

とりあえず書けるプログラム言語など
BASIC C C++.NET PHP HTML CSS javascript

やってみたい言語
java

twitterやってます。

よかったらフォローしてください。

ブログ内の記事を参考に行った改造について私は責任を負いません。
自己責任で行ってください。




ブラウザはFirefox3以上Opera10.0以上を推薦。
IE6以下はテンプレートが崩れる可能性があります。




スペシャルリンク
僕とPSPとPCの生活。

ユタスケブログ
のりんむらBLOG
相互リンクをしている中から激選してスペシャルリンクさせて頂きました。
最新コメント
メールフォーム
修理改造を希望される方はこちらのメールフォームより必要事項を記入した上で送信してください。

名前:
メール:
件名:
本文:

コメント・トラバ・総記事数
コメント数:  トラバ数:  総記事数:
管理人のやる気


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。