![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
お世話になります。
現在、FD起動で動くプログラムを作りたいと考えています。
環境は、PC-AT互換機の5x86マシンで、
FDからブート
プログラムが起動
プログラムの内容は、
起動すると、
バンゴウ ヲ ニュウリョク?
任意の数字が正しい順に、
テンキーより4桁入力されたら、
ビープが鳴りガセイカイと表示され、
300ミリ秒位で、画面がクリアされ、
バンゴウヲニュウリョクに戻る。
正しくない四桁が入力されると、
ビープが鳴り、マチガイと表示され、
300ミリ秒位でガ画面がクリアされ、
ループしてバンゴウ ヲ ニュウリョクに戻る。
といった、
プログラムを作ろうと考えています。
FD起動で、かつ電源を入れると、自動的に上記の画面まで持ってこれるようなプログラムで、
無料で開発できるようなものはあるでしょうか。。。
どうぞ、よろしくお知恵をお貸しください。
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.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も覚えていこうかと考えています。
もう少し、試行錯誤してみます。
ありがとうございました。
No.4
- 回答日時:
現在の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を認識しないのか、うまく実行できず、
そのまま終了してしまいました。。。
また、振出しに戻ってしまいました。
ありがとうございます。
No.3
- 回答日時:
FD起動の意味ですが、何にもOSがインストールされていないPCでFDから起動してプログラムを実行するとなると、ブートセクターなどの知識が必要です。
OSがないのですべの処理を自分で作成しなければなりません。難易度はかなり高いです。アセンブラの知識は最低限必要です。キーボード入力、表示ともBIOSのルーチンを利用します。情報源としてDDKなどか必要でしょう。デバッガーが全く使用出来ないので、デバッグに苦労する事になります。デバッグ機能を持つエミュレーター上でデバッグとか考えた方が良いかも。この回答への補足
回答ありがとうございます。
OSには手元にあるMS-DOSないしPC-DOSを使用する予定です。
以前使っていたFlexOSは互換性の問題から今回は見送らせていただいています。
よろしくお願いします。
No.2
- 回答日時:
ポイントは3点
(1)きょうびFDの付いたマシンなんかまず存在しませんが大丈夫ですか?
お手持ちのマシンがその構成であればとくに問題ありません。
(2)MS-DOSはお持ちですが?またそのDOSは該当マシンで動作しますか?
上記2点を満たしたうえでbatで処理することになります
(3)プログラムとしてはbu.comなどバッチ系のユーティリティソフトを
利用するとすこし楽になると思います。
ありがとうございます。
とりあえず、sysでFDブート可能な状態まで持ってきている状態です。
帰社後、該当プログラムを探してみます。
ありがとうございました。
No.1
- 回答日時:
開発環境はLSI C-86 v3.30c 試食版というC言語が使えると思います。
http://www.vector.co.jp/soft/maker/lsi/se001169. …
あとFD起動ですが、OSは持っていますか?
MS-DOSからWindows98までならFD起動可能かつ上記コンパイラで作ったソフトが動作可能です。
OSがなければFreeDOSとかを探してください。
ありがとうございます。
私が使っているワープロ専用マシンが、
PC-AT互換機のMS-DOS6ベースのWindows3.1なので、これを使おうと思っています。
早速探してみようと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) Windows 11 Version 22H2 の (KB5023706)のアップデートに失敗する 2 2023/03/25 21:06
- Windows 10 windows11 update の「更新の再開」について初歩的な質問なのですが 1 2022/10/19 00:57
- C言語・C++・C# 10個の実数に対する降順ソート結果を出力するプログラムを作りたいのですが、写真のプログラムをどう直せ 2 2022/07/09 21:13
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- PHP 掲示板を資料を参考にして開発中ですが、画像がアップされません? 1 2022/11/21 06:44
- Windows 10 Win10 21H1 のアップデート 5 2022/05/14 19:10
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- Windows 7 更新プログラムを入れたら操作出来なくなりました(泣) 1 2023/02/26 11:04
- その他(メールソフト・メールサービス) メールソフトを教えてください 1 2023/03/28 23:32
- CPU・メモリ・マザーボード HP製パソコンのBIOSの立上げ方を教えて下さい。 2 2022/10/28 18:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
バッチファイル実行時に起動す...
-
ExcelVBAにてアプリをタスクマ...
-
ショートカットの作成とコピー
-
Visual basic6.0からショートカ...
-
バッチファイルでAPを終了さ...
-
ASPからのEXEファイル起動
-
VB.NETでDOSコマンドの複数実行
-
xampp1.7.4のApacheが起動しない
-
PATHに登録がないのに、Excelが...
-
C#でMediaPlayerを立ち上げた後
-
batからvbs起動
-
コマンドプロンプトのエラーに...
-
コマンドプロンプトの「%1」と...
-
大量のフォルダからひとつのフ...
-
時間短縮のために、テキストフ...
-
バッチ処理でファイルの中身を...
-
#include <Windows.h>というヘ...
-
binファイルを解凍したいの...
-
.NETアプリを作ったときの .man...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチファイル 特定ウインドウ...
-
ExcelVBAにてアプリをタスクマ...
-
EXCELをバッチコマンドで...
-
stable diffusionのインストー...
-
batファイルで立ち上げたaplを...
-
ショートカットの作成とコピー
-
exe間での引き値の受け取り方法
-
VB.NETでDOSコマンドの複数実行
-
バッチファイル実行時に起動す...
-
VB.NETでコマンドプロンプトの操作
-
プログラムを実行すると、なぜ...
-
c#でコマンドプロンプトを実行...
-
gccがコマンドプロンプト上で使...
-
VBAからキャッシュを削除する方...
-
64bitのwindowsサーバーで32bit...
-
UWSCについて
-
ショートカットのリンク先が参...
-
バッチファイルからftpを実行時...
-
Shiftキーを押しながら起動
-
batからvbs起動
おすすめ情報