喫茶XRAYトップページ

[スレッド全体
]

[7028] TurboPASCALで苦闘中返信 削除
2013/10/15 (火) 22:30:45 たてぐや
 皆さんお久しぶりです。たてぐやです。
 仕事で、PC-98のMS-DOS上で動くプログラムを作らなくちゃならなくなりま
した。PC-98で作ったテキストデータをRS-232CでDOS/V機に取り込むものです。
最初はDOSのバッチを書いて済まそうと思ったのですが、ダメ出しが来て、は
てさてどうやって書こうかとPC-98を見れば、N88-BASICとTurboPASCALの古い
バージョンが入っています。ここはBASICはないなと、TurboPASCALで書き始め
たのですが、これがなかなか大変。もう20数年使っていなかったもので、プロ
シジャもファンクションもすっかり忘れている…。当たり前のようにIntToStr
と書いてコンパイルエラー。さすがにこの時代の資料はネット上にもなく、お
ぼろげな記憶と某パソコン通信ホストプログラムのソースを参考にしながらポ
ツポツと書いています。改めてDelphiの便利さを痛感しました。


[7029] Re:TurboPASCALで苦闘中返信 削除
2013/10/17 (木) 20:20:54 宮 〔HomePage
▼ たてぐやさん

>  仕事で、PC-98のMS-DOS上で動くプログラムを作らなくちゃならなくなりま
> した。


こんにちは。
今時N88BACKの資産を活用やリメークをすることが仕事なら仕方がありませんね。
1991年頃、私が昔会社勤めの頃、ソフト開発部門にお客からあるソフトの
開発打診があったけど「そんなのに関わっている時間がないからと
場違いな技術部門に「どう?やってみない?」ということがありました。
メカニックが個人的にN88BASICをいじっている者はいたけど、
とてもBASICで商品にして売るなんて考えられないと思っているとき、
見つけました。BASICので組めて、インタプリタ不要でコンパイルしてexeを作成し
中を見られないようにして、
フロッピーでコピープロテクトが可能なものでした。
それが電脳組のBASIC/98でした(当時は電脳組の前身の会社でした)。
それでやってみようということになりました。
依頼のあった会社は皆さんも知っている大きな会社ですが、
デモンストレーション・コンペで勝ち注文をいただいたことがあります。
その会社でも開発チームを組んで作成していたのですが、それも押さえての
優勝です(*^_^*)(C言語も知らないメカニック作が)。
後で質問攻めでした、処理が早い、インタプリタがない、ISAMも高速、
いったいどんな言語で組んだんですがという質問がありました。
恥ずかしくて言いにくかったけどBASICで組んだといったら、
唖然としていましたよ。
だってBASICしか知らないプログラマなんていませんよね。
でもこれは商品も組めることを証明しました。

考えてみればDelphiに似ている。
いまでもあるのかなと久しぶりに探したら、まだやっているみたいです。
http://www.dennougumi.co.jp/products/basic98/ver5/index.html
これなら今でもサポート、マニュアル、サポートがあるのでは。
現在でも通用しているなんて信じられないが。ご参考までに。では。


[7035] Re2:TurboPASCALで苦闘中返信 削除
2013/10/23 (水) 21:15:06 たてぐや
 なんとかものになりました。
 扱うデータは、DXFファイルです。ご存じの方もいらっしゃると思いますが、
DXFファイルというのは、せいぜい8bytesの行が千数百行もあるデータです。最
初のバージョンでは…

while not eof(f) do begin
 readln(f,s);
 Lineout(s)
end:

 といったように1行読んではそれをRS-232Cに出力する、というオーソドック
スなやり方をしていました。だけどこれだとやたら遅いんですね。「もっと速
くならないの?」とダメ出しが来ました。そこで考えました。

whilenot eof(f) do begin
 s := '';
 repeat
  readln(f,s1);
  s := s + s1 + #$0D + #$A;
 until (Length(s)> 240) or (eof(f));
end;
lineout(s);

 これで240bytes程度のデータを一気に送ることができそうです。やってみた
ところ、これは速い! 計測してみると1行読んで1行送る方式の10倍以上速く
送信できます。ところが、TurboPASCALにサンプルとして入っていたRS-232C
BIOSがヘボなのか、大量にデータを送ると、メモリを食いつぶしてしまうのか、
テキストのアトリビュートがおかしくなってしまいます。いろいろ試行錯誤し
ましたが、ふと思いついて1行送信するたびにRS-232Cポートを開閉するように
したところ、この不具合は解決しました。明日さっそく実稼働に入ります。
 FDとVzエディターとTPCの世界をしばらく楽しみました。かれこれ四半世紀
前のテクノロジーです。


[7036] Re3:TurboPASCALで苦闘中返信 削除
2013/10/24 (木) 18:08:21 たてぐや
 うまく動いたと安心して今日実稼働機に持って行ったらダメでした。送信を
繰り返しているうちにメモリを壊してしまうようで、テキストのアトリビュー
トがめちゃくちゃになります。
 結局アセンブラで書かれているRS-233Cを制御するものが悪いんだと思いま
す。どこかにTurboPASCALのRS-232C制御ユニットがないだろうかとググって見た
のですが、さすがにこの時代の資料は見つかりません。んー、困りました。


[7037] Re4:TurboPASCALで苦闘中返信 削除
2013/10/26 (土) 10:05:48 taki
▼ たてぐやさん

>  結局アセンブラで書かれているRS-233Cを制御するものが悪いんだと思いま
> す。どこかにTurboPASCALのRS-232C制御ユニットがないだろうかとググって見た
> のですが、さすがにこの時代の資料は見つかりません。んー、困りました。


お疲れ様です。

PUG BOOKS ターボパスカル・エキスパートマニュアル(小林r史)が手元に
残っています。
その中に「第10章ターボ通信」があり、RS-232Cについて載っています。
コンテンツは

10-1 RS-232C
10-2 RS-232CのBIOS -> PC9800に用意されているRS-232C関係のBIOSの紹介
 (a)RS-232Cの初期化
 (b)フロー制御を伴う初期化
 (c)受信データ長入手
 (d)データ送信
 (e)データ受信
 (f)コマンド出力
 (g)RS-232Cステータス入手
10-3 パソコン通信
10-4 日本語の問題 -> シフトJIS <-> JIS 変換の話?

です。
お役にたちますか。


[▼次のスレッド]
INCM/CMT
Cyclamen v3.82