タイトル | : J31用BASICコンパイラの各エミュ対応沼 |
投稿日 | : 2024/04/23(火) 01:23 |
投稿者 | : konno | 番 号 | : 11226 コメント数 1 |
STIME のTurboBasic用のBASICソースを J31BASICに逆移植しました。 元々は J3100で開発、運用していたので、動くようになるまで1時間も掛かりませんでした。 ところが、その後の各エミュでの挙動が違いすぎてその対応は非常に困難なものでした。 まるで底なし沼に落ちたような、藻掻けば藻掻くほど深くなるその深淵は、地獄か。 ということで、地獄から生還した私の地獄巡り体験記(違う)改造遍歴を書いてみたいと思います。(^^; 始めに両コンパイラの違いの説明です。 ソースの冒頭 TurboBasic 1 'STIME5 Menu 1994-08-10 96-05-27 97-9-12 98-04-23 09- 24-04-21 10 'TB 50 REM $DYNAMIC 55 $INCLUDE "REGNAMES.INC" J31BASIC 1 'STIME6 Menu 1994-08-10 96-05-27 97-9-12 98-04-23 09- 24-04-22 10 'J31 50 REM $DYNAMIC 55 rem '$INCLUDE "REGNAMES.INC" 1994年頃は J3100で運用していましたが、Windows95が出てPCもWinノートに変わりました。 DOSの画面モードは VGAになり、J31用のプログラムは動かない。(>_<) 仕方なく手持ちのTurboBasicに移植することに。それが恐らく 96年以降の日付。 50行は J31用の設定ですが、TurboBasicでも同じようです。REM も含めてメタコマンドか。 55行は、TurboBasic用で、J31コンパイラではエラーになります。 55 '$INCLUDE "REGNAMES.INC" 55 rem $INCLUDE "REGNAMES.INC" 実は上のどちらにしてもエラーになるので、REM ' としてやっとコメントになりました。 後はテキストカラー属性指定かな。 TurboBasicは、 COLOR 7,0 グラフィックモード COLOR 7,0,0 テキストモード J31 COLOR 7,0 グラフィック COLOR @7,0,0 テキスト "@" だけの違いのように見えますが、実は TurboBasicでは文字の反転はテキストモードだけ つまり、SCREEN 0 の英語テキストモードでしか使えないようです。 J31は基本グラフィックモードだけなので、@でテキスト文字用に使い分けできます。 他にもあったかもですが、僅かの変更でコンパイラは通るようになり、動き始めました。 だが本当の地獄はこれから始まるのであった。 続く ・・・のか
- No.11226 一括表示へ - [ 返信 ] [引用無し] pre