電子書籍の厳選無料作品が豊富!

お世話になります。
現在、FD起動で動くプログラムを作りたいと考えています。

環境は、PC-AT互換機の5x86マシンで、

FDからブート
プログラムが起動

プログラムの内容は、
起動すると、
バンゴウ ヲ ニュウリョク?
任意の数字が正しい順に、
テンキーより4桁入力されたら、
ビープが鳴りガセイカイと表示され、
300ミリ秒位で、画面がクリアされ、
バンゴウヲニュウリョクに戻る。
正しくない四桁が入力されると、
ビープが鳴り、マチガイと表示され、
300ミリ秒位でガ画面がクリアされ、
ループしてバンゴウ ヲ ニュウリョクに戻る。

といった、
プログラムを作ろうと考えています。

FD起動で、かつ電源を入れると、自動的に上記の画面まで持ってこれるようなプログラムで、
無料で開発できるようなものはあるでしょうか。。。

どうぞ、よろしくお知恵をお貸しください。

A 回答 (5件)

>sysでFDブート可能な状態


dos起動用フォーマットしたFDが有ると言うことですね。config.sys も作成済み?
ここまで出来ていれば、あとはバッチプログラムを作って
autoexec.bat の最後に実行したいバッチプログラム名を記述すれば自動実行となります。
さて、実際の実行プログラムの作成は、windows 上で作って、フロッピーにコピーすれば、デバッグというか実行もwindows コマンドプロンプトで一定確認は可能。

-- 以下を 拡張子 .bat で保存
@echo off
rem counter
set n =0
:loop
rem make numbers
set ss=%TIME:~6,5%
set ss=%ss:.=%
set USR_INPUT_STR=
rem input
set /P USR_INPUT_STR="input a four-digit number : "
rem check
if %USR_INPUT_STR%. == %ss%. goto right
echo there is mismatch.
goto next
:right
set /A n= %n%+1
echo that's right! get %n% points
:next
set USR_INPUT_STR=
set /P USR_INPUT_STR="1.go next, enter [y]. 2.ended, enter else key: "
if %USR_INPUT_STR%. == y. goto loop
echo see you again!
-- ここまで --

「画面クリア」とか「ビープ」とかのコマンドも有った気がするがコマンド表記法を忘れたので、未実装。
「x秒で表示切り替え」は自動ではなく、ユーザーに何かキーを押させるのをトリガーとして次の動作を行っている。
数当ての元数値は、バッチコマンドだけでは、ランダムとか出来ないので、現在秒数から作成。
vistaのコマンドプロンプトでは動いたけど、DOS6のsetコマンドってどのくらい対応しているのだろう?でも、bu.comつかえば、もっと細かい指定ができるだろう。
dos起動だけで、半角カナも表示できるか不明なので、とりあえずascii 文字のみとした。

この回答への補足

回答ありがとうございます。

setコマンドが中々に認識してくれない状況でしたので、
外部プログラムであるbu.comを使って何とかならないか…
もう一度考えていこうと思います。

プログラミングはやりたいやりたいと思いながら、
PC-98を使っていた頃のN88-BASICで挫折し、
ポケコンのBASICで簡単なゲームをトレスして満足して…。

といった経緯もあり、改めてCUIで動作可能なCも覚えていこうかと考えています。

もう少し、試行錯誤してみます。

ありがとうございました。

補足日時:2014/09/24 00:50
    • good
    • 0

現在のDOS(たとえばDOS-V6.2)はHDDにインストールしないと動作しません。

FDD一枚には収まりません。やはり何かコンパクトなプログラムをDOSの力を借りないで動作させるようにする必要があります。或は、DOSに精通していればうまくDOSのファイル群から必要なものを集めて一枚に収められるかもしれないですが。日本語表示にかなりの容量を食います。(漢字フォントなど)。

この回答への補足

回答ありがとうございます。

日本語フォントに関してですが、
コンベンショナルメモリが少なくなるので、
英字のみか、半角カナANKのみにしようと考えています。

試しにBATファイルで

ifとelseを組み合わせて、

==============================================

color f0

@echo off

:START

cls

set TB_ANS_COD=

set /a TB_CNT_MAS=TB_CNT_MAS+1

echo:
echo: ++アナタハ %TB_CNT_MAS% カイ チョウセン シマシタ++
echo:
echo:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo:@
echo:@ ナカマ ヲ タスケル タメニ
echo:@
echo:@ カイジョコード 4ケタ ヲ ニュウリョク
echo:@
echo:@ ハヤクシナイト バクハツ シマス!!!
echo:@
echo:@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
echo:

set /P TB_ANS_COD="カイジョコード 4ケタ ヲ ニュウリョク シテクダサイ:"

set a=a+1

IF "%TB_ANS_COD%" == "5963" (goto TB_YES_PRT) ELSE (IF "%TB_ANS_COD%" == "493731" (goto TB_CLS_CNT) ELSE goto TB_NOT_PRT)
echo:
echo:

pause

goto START

:TB_CLS_CNT

echo:
echo: RAM-C
echo:

set TB_CNT_MAS=


pause

goto START

:TB_YES_PRT

echo:oooooooooooooooooooooooooo
echo:o o
echo:o セイカイ デス o
echo:o o
echo:o タスカリマシタ o
echo:o o
echo:oooooooooooooooooooooooooo
echo:
echo:

pause

goto START

:TB_NOT_PRT

echo:xxxxxxxxxxxxxxxxxxxxxxxxxx
echo:x x
echo:x カイジョコード ガ チガイマス x
echo:x x
echo:xxxxxxxxxxxxxxxxxxxxxxxxxx
echo:
echo:

pause

goto START

====================================

Win8.1のcmdのDOSプロンプト上で確認した所、
思った通りの動きをしたのですが、
手持ちのi386のサブマシン(5x86でなく、i386SXでした)
では、setを認識しないのか、うまく実行できず、
そのまま終了してしまいました。。。

また、振出しに戻ってしまいました。

ありがとうございます。

補足日時:2014/09/24 00:45
    • good
    • 0

FD起動の意味ですが、何にもOSがインストールされていないPCでFDから起動してプログラムを実行するとなると、ブートセクターなどの知識が必要です。

OSがないのですべの処理を自分で作成しなければなりません。難易度はかなり高いです。アセンブラの知識は最低限必要です。キーボード入力、表示ともBIOSのルーチンを利用します。情報源としてDDKなどか必要でしょう。デバッガーが全く使用出来ないので、デバッグに苦労する事になります。デバッグ機能を持つエミュレーター上でデバッグとか考えた方が良いかも。

この回答への補足

回答ありがとうございます。

OSには手元にあるMS-DOSないしPC-DOSを使用する予定です。

以前使っていたFlexOSは互換性の問題から今回は見送らせていただいています。

よろしくお願いします。

補足日時:2014/09/22 15:14
    • good
    • 0

ポイントは3点



(1)きょうびFDの付いたマシンなんかまず存在しませんが大丈夫ですか?
お手持ちのマシンがその構成であればとくに問題ありません。

(2)MS-DOSはお持ちですが?またそのDOSは該当マシンで動作しますか?

上記2点を満たしたうえでbatで処理することになります

(3)プログラムとしてはbu.comなどバッチ系のユーティリティソフトを
利用するとすこし楽になると思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

とりあえず、sysでFDブート可能な状態まで持ってきている状態です。

帰社後、該当プログラムを探してみます。
ありがとうございました。

お礼日時:2014/09/22 13:38

開発環境はLSI C-86 v3.30c 試食版というC言語が使えると思います。


http://www.vector.co.jp/soft/maker/lsi/se001169. …

あとFD起動ですが、OSは持っていますか?
MS-DOSからWindows98までならFD起動可能かつ上記コンパイラで作ったソフトが動作可能です。

OSがなければFreeDOSとかを探してください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
私が使っているワープロ専用マシンが、
PC-AT互換機のMS-DOS6ベースのWindows3.1なので、これを使おうと思っています。
早速探してみようと思います。
ありがとうございました。

お礼日時:2014/09/22 13:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!