旧型ムーブマスタをWindowsから動かす(2003.04〜)
事情があって旧型ムーブマスタをWindowsから動かす必要がでてきた。 マシンは RV-M1である。 当初はN88-BASIC/PC9801(注:MS-DOS版でない)で制御されていた。
- 再稼働の試み1
すでにN88-BASIC/PC9801が稼働するマシンはなく、 なんとかN88-BASIC(MS-DOS版)/MS-DOS/PC9801でトライしてみる。
当初のN88-BASIC/PC9801ではRS232Cを使用していたが、 N88-BASIC(MS-DOS版)では設定方法の詳細が分からず、 うまく通信できない。
しかたなくセントロニクス経由に変更。 LPRINT文を使って久しぶりにムーブマスタが動き出す。
ムービー(N88BASICを起動し「NT」と「OG」を送る)旧型DOSマシンでのRS232Cの使い方など
徳島大学、村上氏のページ- 再稼働の試み2
- ..
- 再稼働の試み3
サンプルプログラム
#include#include #include #include"cdio.h" void outx( int ); short id; void main() { int r; BYTE data; r = DioInit("DIO000",&id); printf("ret %d \n", r); // getch(); outx( 'N'); outx( 'T' ); outx( 0x0d ); outx( 0x0a ); outx( 'O'); outx( 'G' ); outx( 0x0d ); outx( 0x0a ); } void outx( int x) { BYTE busy,data; while( 1 ){ DioInpByte(id, 0, &busy); if( (busy & 0x10) == 0x10) break; } data = 0x7f & x | 0x80; DioOutByte(id, 0, ~data); data = 0x7f & x ; DioOutByte(id, 0, ~data); data = 0x7f & x | 0x80; DioOutByte(id, 0, ~data); } I/Oモジュールとの接続回路
使用したI/Oモジュールは8入力・8出力なので、 I/Oモジュール出力の7ビット目をストローブ信号として使い、 プリンタポートのデータ線の7ビット目は常に0とする。