2008 年 12 月 17 日

ATSチャイムの制御プログラム その2

Filed under: パソコン,日記,鉄道 — わぴこ @ 1:36 AM

というわけでGUIベースのプログラムを数日掛けて作りました。
ダイアログベースのMFCスケルトン??を元にぐぐりまくりました。
この辺の用語はVC(C)初心者なのでまったく分かりません。

まずは設定画面です。というか設定画面しかありません(爆
数値を入力してかえるという方法を試してみましたがうまくいきません (つД`)
とりあえずiniファイルを読み書きする機構をぐぐって取り付けました。
その後も数値変更のためにいろいろやってみるもことごとく失敗_| ̄|○
ふとリソースエディタを見てみるとスピンボタンなるものを(・∀・)ハケーン!!
早速試してみましたがエディットボックスとくっつかないのでプロジェクトごと破棄(爆

2回目はデザインからはじめました。
今度はスピンボタンの取り付けに成功。
いろいろやっているうちに悟りを開き
数値変更によるリアルタイム設定値更新はあきらめました。
OKボタンで設定更新をするようにしました。

次にATSの制御関係です。
基本的には前回書いたソースを移植しただけなので省略♪

OKボタンを押すと終了するのが気に食わないので抹殺しました。
ついでにATSテストボタンを追加しました(笑
一応完成しました。

しかしっ、動作させると操作を受け付けなくなることに気が付きました(爆
というわけでマルチスレッド化することに・・・
いったんはあきらめましたががんばってマルチスレッド化に成功しました(^^)v
まだまだ問題があります。終了処理です。
終了されるとバックグラウンドで動いているATS制御ルーチンが強制終了されます。
何の処理もしていないのでメモリリークすると思われます。
終了処理を変更しましたがこれがなかなかうまくいきませんでした。
ぐぐりまくって先ほど完成しました。

あとはアイコン化したいのですがそれはまた別の機会に・・・
まだソフト上にATS確認ボタンとかつけてみたいですし。
(本来はATS装置側に確認ボタンをつけますが
ソフト上にもテスト用に用意しておこうかと・・・)

部品を注文したので早く届かないかなあ・・・

俺様メモ
グローバル変数の設定
ヘッダーに
extern int ats_on;
本体(cpp)に
int ats_on;
と書くべし。

他のファイル?クラス?の変数などにアクセスする場合。
ATS::on -> X
ATS.on -> X
—————–
ATS ats;
ats.on -> OK

他の関数から戻り値が欲しいとき
int atskakunin(){
return (1);
}

void型はだめかも??? void以外だと戻り値必須???

2008 年 12 月 8 日

VFXが壊れてました_| ̄|○

Filed under: シンセサイザー,日記,鉄道 — わぴこ @ 1:51 AM

久しぶりにensoniq VFXを引っ張り出してきました。
TMNのRHYTHM REDライブの影響です。
ちなみに初めて買ったTMのビデオテープです。
EOSで弾いているブラス・アコピ・サックスがVFXの音に聴こえました。
一部のアコピはYAMAHちっくな音ですが・・・
Tomorrow Made NewなんてVFX大活躍ですYO。

さっそく弾いてみました。ついでに音色をEDITしましたが
電源を切ると忘れるみたいでデフォルトに戻るために分解。


この基板ならラックマウントも不可ではないですね。
まあキーボードやディスプレイやボタンなしで動作すればの話ですが(笑

改造したときに使った電池ホルダーの接触不良が原因でした。
しかし・・・特定の音色だけしつこく壊れます_| ̄|○
どうやらRAMが不良みたいです。オワタ\(^o^)/

INT4とINT9の下側だけ内容が破壊されます。・゜・(ノД`)・゜・。 うえええん

俺様メモ
VFXのEDIT方法♪
マニュアルを持っていないので書き留めておこうっと・・・
音色を選ぶ->Copyボタン->MAKE COPY->Copyボタン->RECALL ->
実際にEDIT->セーブ
セーブ方法はWrite->Soundsをホールドしたままバンクを選ぶ->
Soundsをホールドしたまま音色の場所ボタンを押すとセーブ


ERJ TMN/WORLD’S END Rhythm Red Live

ATS制御基板の製作
最初にして最大の難関がリレーの選択です_| ̄|○
DC100Vなもので安全を考えると安くていいものがありません。
AC100Vなら適当に選んでもOKなのですが_| ̄|○
AC100VならSSRという選択肢も出てきますし・・・
というわけでまだ部品の注文もしていません。

2008 年 11 月 16 日

8086はだめぽ(´・ω・`)ショボン

Filed under: パソコン,日記 — わぴこ @ 2:44 AM

PC-9801F3が到着したので早速分解(何
F2との違いは中のスロットにSASI I/Fが入っています。
Cバスの一番上は2DD I/Fとマウス I/Fの複合ボードが入っています。
このボードは分解しないとはずせません。
Cバスの2番目はメモリボードが入っていますが交換されていました。
スロット番号にMとかいてあってメモリ専用みたいです。
もっとも普通のCバスのボードも入るでしょうけど・・・
HDDにはDISK BASICが入ってました。とりあえず放置ヘ(゚∀゚ヘ)アヒャ
1MB I/Fが動作することを確認して手持ちのPIO-9100と交換しましたが
やっぱり動作しないのでPIO-9100はダメなようです。
一番下のスロットしか1MB I/Fが使えないみたいです???
他のスロットだとなぜかハングしました。

ここで驚愕の事実が発覚しました。
なぜかEPSONのDOSが起動しません。
もともとあった9801Fでは動くのに・・・差を考えるとCPUしかありません。
もとの9801FにはCPUコレクションの都合でV30がさしてあります。
今回の9801F3はもとのuPD8086のままです。
どうやら起動するにはuPD70116(V30)以降のCPUが必要なようです。
多分EPSON PCシリーズらは8086機が無いからでしょう。
8086機でEPSONのMS-DOSが立ち上がった人がいたら教えてください。


真中の手前のフラットが伸びているボードがSASI I/Fです。奥は漢字ボード??分かりません。

PIO-9100のさらに続き
今日も調べまくりました。
BIOSの領域を調べ上げたところフラグがうまくたっていませんでした。
55 AAとなるべきところがD5 AAとなっていました。
BIOS ROMを一つずつさしてみると単体では55 AAと出ているので
基板の汎用ロジックが壊れている可能性が出てきました。
BIOS ROMなしでD000-DA000までのぞいてみると
FFで埋まっていないといけない場所が別の数値で埋まっていました。
どうりでこいつをさすだけで2DD側から起動できないわけだ・・・_| ̄|○
PIO-9100のROM領域を別のと移動すると運がよければ起動します。
常時か特定のアドレスに反応してゲートが開いているのかなあ・・・
これで原因がわからなくなったので復活はあきらめました。

ちなみにまともなほうのBIOSをFDから別領域にロードして
フラグをいろいろと書き換えてアクセスしてみると
アクセスランプが光って1MB FDD側にアクセスしましたが
結局そのまま固まってしまいました。
もうちょっと研究すればいける??

初代PC-9801のキーボードの話(つづき?)
RAM ERROR 1
で落ちるタイミングが大体分かりました。
リターンキーを押したときに落ちます。必ず落ちるわけではないみたいです。
もしかしたらピンアサインが違うのかもしれません。
現に98のキーボードでは未使用のピンに5Vがきていたので
専用のキーボードを用意しないと実質使い物にならないのかもしれません。
もしかしたらシリアルコントローラーが壊れていて
変な領域にアクセスしたりするのかもしれませんが・・・
あいかわらずDOSもDISk BASICも起動しません。・゚・(ノД`)・゚・。 うえええん

真中のROMが大量に刺さっているのがBIOSボードです。
初代PC-9801はこのボードがないと何も出来ません。
右は多分グラフィック関係のサブボードです。

俺様メモ(作業メモ)
某本にも無い2DD/2HD I/F混在の時のフラグ状況
0000:0040 2C 08 80 FD 2C 08 80 FD-54 05 00 D6 58 03 00 D7
00 D7が2HD 00 D6が2DD
0000:04B0 00 00 00 00 00 00 00 D6-00 D7 00 00 00 00 00 00
0000:04D0 00 00 00 00 00 00 C7 C9-00 00 00 00 00 00 00 00
C7が2DDでC9が2HD

DEBUGのファイルの扱い方
-n ファイル名
-r cx
CX=ファイルの大きさ
-w xxxx:xxxx
書き込み
-l xxxx:xxxx
読み込み

« 前ページへ次ページへ »

HTML convert time: 0.535 sec. Powered by WordPress ME