X



懐かしのMS-DOSプログラミング ver.2
■ このスレッドは過去ログ倉庫に格納されています
0005デフォルトの名無しさん
垢版 |
2014/05/18(日) 23:08:49.99ID:wTsBQBni
DOSのエミュレータを使えば、いろんな環境でDOSとまったく同じように使えます。
0011デフォルトの名無しさん
垢版 |
2014/05/19(月) 08:32:35.99ID:JapMjw/D
>1000 デフォルトの名無しさん [sage] 2014/05/18(日) 23:04:42.60 ID:rUyw0YMJ Be:
> Windows 8.1でもdosソフトウェアは、うごきますか?

DOXBOX おすすめ
0014デフォルトの名無しさん
垢版 |
2014/05/19(月) 22:00:24.02ID:2b3njYOH
>>6
でもfarが使えるから大きなデータは外へ出しちゃえばかなりのことができる。
ご丁寧にfar文字列処理関数も入ってる。
0017デフォルトの名無しさん
垢版 |
2014/05/19(月) 22:58:44.19ID:hJ6U6wcV
CP/M86なんて使ってたやついたのかね。
call 5なんて、知識レベルでの互換性の意味しかないだろ…。
0018デフォルトの名無しさん
垢版 |
2014/05/19(月) 23:16:56.59ID:zeiiQxJy
四半世紀前に、バイト先の別働隊が
コンカレントCP/MとかC-DOSの案件
やってたのを思い出した。
0022デフォルトの名無しさん
垢版 |
2014/05/20(火) 07:28:38.16ID:wQYgGtk6
>>17
そゆこと
DOSでcall 5を使うのは「俺はお前らと違ってCP/Mから知ってんだぞドヤァ」の意味にしかならない
0024デフォルトの名無しさん
垢版 |
2014/05/20(火) 12:39:07.22ID:XZ8PbsoH
>>21
turbo c ってフリーなの?
でもオープンソースじゃないよね
gcc(djgpp) は i386 以上を要求するしね
0025デフォルトの名無しさん
垢版 |
2014/05/20(火) 13:07:11.55ID:3nhdRzVT
>>24
オープンソースでi386未満がターゲットのコンパイラが欲しかったの?
条件後出し乙。

その条件だと心当たり無いわ。
役立たずで申し訳ない。
0027デフォルトの名無しさん
垢版 |
2014/05/20(火) 22:16:41.98ID:DTGkTniz
パソ通全盛期の80年代末、フリーウェアはほとんどがTurbo Cで書かれてたね。
俺はQuick Cへ行ったけど。
0028デフォルトの名無しさん
垢版 |
2014/05/20(火) 22:49:40.37ID:EHPnqsKB
そうか?
アセンブラも多かった気がするよ。
そんな俺は、TurboPascalをasm文だけ使って構造化アセンブラとして駆使してた。
0029デフォルトの名無しさん
垢版 |
2014/05/21(水) 01:21:44.42ID:0dccVoFD
TurboPascalってasm文をテンポラリファイルに書き出して子プロセスでtasm呼び出してたし、
asm文しか使わんなら素直にtasm直に使ったほうが便利だろ。
0030デフォルトの名無しさん
垢版 |
2014/05/21(水) 02:16:52.39ID:4HBOiu0N
いや、tasmいらんよ、アセンブラを内蔵してる。
tasmとか呼び出すのはとろくさいC系だろ。
0036デフォルトの名無しさん
垢版 |
2014/05/22(木) 21:58:06.98ID:YYZRRS+G
QuickCって学習用と謳っておきながら
ラージどころかヒュージモデルのライブラリまで入ってたね。
実際にQCでそんな巨大なアプリ書く奴いたのだろうか・・・
0038デフォルトの名無しさん
垢版 |
2014/05/22(木) 22:21:04.27ID:RtFeOXjE
ヒュージポインタはいまいち信頼出来ないと思っていた‥‥
セグメント-オフセット処理は自分でなんとかしないといけないと思うよ‥‥
というか、やっぱり 64KB 以上のオブジェクトをそのまま使おうと思っちゃいけない、自分で完全管理するしかないと

というわけで、LSI-C にラージモデル(だけでいいのでそ)のサポートがほしかった

>>35
自分で探すべきなんだろうけれども、たとえばどんなところが罠なんですか?
0039デフォルトの名無しさん
垢版 |
2014/05/22(木) 22:35:13.79ID:JBRw0Ovv
>>38
Open WatcomのBugzillaでinlineとかをキーワードで検索するといろいろと
何年も放置された未修正のバグの山が出てくる
0040デフォルトの名無しさん
垢版 |
2014/05/23(金) 22:03:27.43ID:8WEuVIde
鯖移転完了age
0041デフォルトの名無しさん
垢版 |
2014/05/25(日) 03:30:28.41ID:zdwlk8KI
LSIC-80 今でも使ってますよ。XPまではDOS窓で動いたのに、7になったら
動かなくなって、仮想マシンとか調べたら対象のOSをインストールしなければ
いけないのね。困ってたらnetでmsdos.exe見つけ、それ経由で使えてラッキー。

8085+82XXの基板がまだあって、去年は\3万の仕事を2件やりました(w
DOSでCW、エコロジーとか使ってた頃が懐かしい(w
0045デフォルトの名無しさん
垢版 |
2014/05/29(木) 23:17:32.12ID:r/lE+ONP
MELEMM.386 が一番使いやすかったな。
0047デフォルトの名無しさん
垢版 |
2014/05/30(金) 21:55:57.25ID:k82pJ+V4
細かな指定ができるのはメルウェアが一番だったな。
ディスクキャッシュは糞だったけど。
0049デフォルトの名無しさん
垢版 |
2014/05/31(土) 18:47:26.00ID:zlcjKUg4
MSDN垢持ってるひとは今でもMS-DOS6.22が手に入る。6.2/Vも。
16bitコンパイラはあったかな。
Visual C++1.52cのリンカーってDOSのEXE吐けたっけ?
0051デフォルトの名無しさん
垢版 |
2014/05/31(土) 23:28:30.03ID:RXEJjbIi
吐けるよ。win3.1用exeもdllもvbxも
quick win用exeもスタティックlibも
P-codeもcomも。
0052デフォルトの名無しさん
垢版 |
2014/06/05(木) 15:33:44.43ID:1e659sg9
RAMDiskで768KBぐらい使って、そこに中間ファイルのパス張っておくと
コンパイルが速いってのをやったなあ。5インチ縦置き20MBのディスクの頃。
0053デフォルトの名無しさん
垢版 |
2014/06/06(金) 07:01:46.25ID:GhQ1NNeD
TurboPASCALはコンパイル速かったなあ
ディスクキャッシュ上でコンパイルして実行。フロッピーへは遅延書き込み
0054デフォルトの名無しさん
垢版 |
2014/06/06(金) 14:24:57.88ID:Lk2ev8dF
パスカルはワンパスでコンパイルできる言語仕様だからな。
ヘッダも分離してないし、当時のマシンスペックには最適の高級言語だった。
関係ないが、アップルのSwiftがちょっとパスカル臭がしてうれしい。
0055デフォルトの名無しさん
垢版 |
2014/06/06(金) 22:16:08.58ID:C9rQRi3A
Turbo Cも1パスで高速、安価、吐き出したコードもMS-Cより高速と
いいところずくめだった。日曜プログラマは一斉にTCへ流れた感じがある。
特にMSAが98用に移植した1.5が大ヒットしたね。
0056デフォルトの名無しさん
垢版 |
2014/06/06(金) 23:07:19.53ID:eycrJLmS
プリプロセッサがあったり前方参照が可能なCが1パスでコンパイルできるわけない
0057デフォルトの名無しさん
垢版 |
2014/06/06(金) 23:49:03.75ID:Rvh1VUpU
ところが、BorlandのCはプリプロセッサも含めて1パス
#if中でsizeofあたりも使えたんだぜ

最近clang化したせいでできなくなった
0059デフォルトの名無しさん
垢版 |
2014/06/07(土) 00:06:16.41ID:Rlb4AoSA
理解不足で速いと言いたいだけだろとも思ったけど、clang化でできなくなったというからには何か構造的なレベルでこ違いを感じてるのかなあ

つか#if内でsizeofって逆にパス増やしてない?それともプリプロセッサ内でも自然に扱えるように独自実装積み上げてたのかな
0063デフォルトの名無しさん
垢版 |
2014/06/07(土) 00:47:18.01ID:ftf2LwSc
>>57
> #if中でsizeofあたりも使えたんだぜ

#if sizeof(int)==4
typedef int int32;
#elif sizeof(long)==4
typedef long int32;
#endif

とかやれても limits.h あるし意味ないよなあ、移植性失うし。どういう便利な使い方あんの?
0064デフォルトの名無しさん
垢版 |
2014/06/07(土) 01:01:08.85ID:xkbQeKRh
>>56
pascal にも前方参照あるし、前方参照は call 命令だけ吐いといてあとからオペランド埋めればいいだけだよ
0065デフォルトの名無しさん
垢版 |
2014/06/07(土) 01:14:04.36ID:ftf2LwSc
>>64
> pascal にも前方参照あるし、

本質的にできないからforwardなんてのが後からUCSDに追加されたりしたんだけど。
0067デフォルトの名無しさん
垢版 |
2014/06/07(土) 01:59:08.37ID:Rlb4AoSA
ん?
横レス
本質的にできない、ってワンパスでは、ってことではないのかな。実際ワンパスで実現する方法はないよね
いや、まああえて言えばシンボル保存した上での実行時の遅延評価までやるのなら可能だろうけど。
cでそんなことやるにはobj-cみたいにランタイム用意しなきゃ無理だろ
0068デフォルトの名無しさん
垢版 |
2014/06/07(土) 08:34:28.22ID:Q+8mfhVa
機械語レベルの前方参照なら>>64の言う通り、何も難しい事は無いし
ソースレベルの前方参照は、C言語はそもそも不可能だろ、普通forward宣言が必要なのを前方参照とは言わんしな
(C++でクラス内ではまだソースコードに出現してないメンバ変数名を使えたりするようなのがそれ)

>>59 ひとつのコンパイラがプリプロセスから構文解析、意味解析をトークンごとに一気に行ってるからできるわけでパスは増えてないよ
ていうかこれが1パスでないなら1パスって何なんだ
0069デフォルトの名無しさん
垢版 |
2014/06/07(土) 08:37:32.96ID:xkbQeKRh
>>68
> ソースレベルの前方参照は、C言語はそもそも不可能だろ、普通forward宣言が必要なのを前方参照とは言わんしな

ごめん、意味がわからない

> (C++でクラス内ではまだソースコードに出現してないメンバ変数名を使えたりするようなのがそれ)

そんなことできないし
0070デフォルトの名無しさん
垢版 |
2014/06/07(土) 08:58:02.74ID:Q+8mfhVa
話にならんな

class t {
 int f(){
  return m; //この時点でmを参照できる
 }
 int m;
};

こういう風にまだ出てきてない宣言を使えるのが前方参照で、これは1パスでは無理
CやPascalみたいにプロトタイプやforward宣言が必須なものは、その情報だけで呼び出し側の生成には充分だからこそ必須になってる訳で1パスで可能
0071デフォルトの名無しさん
垢版 |
2014/06/07(土) 09:50:05.47ID:x1mq/AuX
バブル絶頂の80年代末、パソ通が黎明期から普及期へと移り変わった頃
Vz + TCCは俺の青春って人は多いだろうね
0074デフォルトの名無しさん
垢版 |
2014/06/07(土) 20:54:24.74ID:A/YL8+nC
VZを常駐させるようになって、いままで多数使用していたフリーソフトを整理できたからな。
0079デフォルトの名無しさん
垢版 |
2014/06/13(金) 16:54:32.08ID:5PYqtJdq
各自がシステムのフロッピーとデータ用フロッピー持って、共同パソコンを一々
立ち上げてはエディット・コンパイルとかやってたな。システムは左側。
HDD内蔵のパソコンが出た時は、フロッピースロットが1つしかない!って慌てたわ。
0082デフォルトの名無しさん
垢版 |
2014/06/13(金) 21:25:25.51ID:nMwWs4TK
フロッピースロットが1つでも何とかなってたような記憶が
なんかフロッピー入れ替えてた覚えがある
0084デフォルトの名無しさん
垢版 |
2014/06/13(金) 23:26:29.98ID:Dklz7Mrg
おれが大学当時、大学の授業のために5インチフロッピーが必要ってのがあった。
生協で買ったよ。1枚700円ぐらいしてた。
0085デフォルトの名無しさん
垢版 |
2014/06/14(土) 00:15:02.36ID:qR+dLg+1
>>80
書込み防止したまま書込みをすると警告と再試行、中止、無視の
指示要求が出る
その状態でフロッピーを入れ換えて再試行をするとDOSは入れ替え前の
状態から書き込むのでフロッピーの中身が大変なことになる
0087デフォルトの名無しさん
垢版 |
2014/06/14(土) 01:05:43.43ID:SwBFDyk2
>>85
PC-9801で最初にHDDを内蔵したやつでは、普段の使い方で同様に
「さっきまでのディスクのディレクトリを上書き」が発生するという酷いバグが
0088デフォルトの名無しさん
垢版 |
2014/06/14(土) 07:57:39.11ID:gjSJ5u3i
受信ringバッファから読みだすルーチン: LSIC80、石は8085=8080コード
char* _asm_u(char*);    /* 左辺値にするための宣言*/
#define ring(ptr,ring) *(_asm_u("\n\tMVI\tH, HIGH " #ring "_\n" \
"\tLDA\t" #ptr "_\n\tMOV\tL,A\n\tINR\tA\n\tSTA\t" #ptr "_\n"))
char ch1read(void) { return ring(c1r_rpt,r1ring);

受信ringバッファに書込む割込み処理の、正常受信時の処理:
    ring(c1r_wpt,r1ring) = ACHDR;<---I/Oreg. B000h番地

rptとwptはbyte、ringは[256]にして自然ラップアラウンド、添え字計算時の
アドレス演算がワード演算されないように最適化させてます。
0089デフォルトの名無しさん
垢版 |
2014/06/14(土) 10:52:22.24ID:EZBaXLlr
ptrを1バイトにするために

    MVI  H,HIGH ring
    LDA  ptr
    MOV  L,A
    INR   A
    STA  ptr
    MOV  A,M

として11バイト50クロックにするより、素直にptrに2バイト使って

    LHLD  ptr
    MOV  A,M
    INR   L
    SHLD  ptr

として8バイト44クロックのほうがメリットあると思う。

ptrを1バイトにする以前にringバッファに256バイトもいるのかまず検討すべき。
0090デフォルトの名無しさん
垢版 |
2014/06/14(土) 16:06:44.75ID:gjSJ5u3i
わを!4行でできるのか(*o*) ptrの頭はゼロのまま・・・あ!違うか初期化で
先頭+00にしとくのですね。今度使ってみます。ありがとう!!
ringは32と64で周回遅れが出たことがありますが、
主な理由は++した後マスク演算が要らないからです。
4CHあって、各受信256送信512、実装8KBの半分近くがringです(w
再構成するフレームがせいぜい80byte5種類位なのでこれでも余裕です。
最初に書いたときは受信バイト数を持って、書き込みで++読み出しで--、
片方は割込みだからタスク側で DI/EI してとかややこしい事書いてました。
自分では簡潔になったと思ってましたが、診て貰ってよかったです(m_ _m)
009190
垢版 |
2014/06/15(日) 02:32:02.60ID:n1YZfzi+
>>88 の部分は確かに上の最適化可能ですが、システム全体の性能はどっこい
なことが判りました。メインループで「そのCHに受信データがあるか?」の判定
のところで、rptrとwptrを並べて配置してあることを利用して、
    LHLD rptr  ;wptrとrptr両方
    MOV  A,H
    XRA  L
    CNZ  そのCHの受信フレーム再構成処理   と最適化してます。
こっちでメモリアクセスが1行増えるから、全体の性能はどっこいなのでした。

80C85のデータシート見たら、機械語の説明表でステート数とサイクル数
という欄があるのですが、これらはどう見ればいいのですか?
009390
垢版 |
2014/06/15(日) 03:32:31.88ID:n1YZfzi+
一般用語から類推すると、ステート数=CPUクロック数 だと思えますが、
サイクル数ってのがステートより少し小さい数字で出ていて、こちらが何の事か
想像できないんです。どちらの数字に1/原CLKを掛けたものが実行時間とか。
0094デフォルトの名無しさん
垢版 |
2014/06/15(日) 04:19:34.74ID:4v6gpdfe
メーカーさんのサイトでも覗いてみれば
もしくは電凸?答えられる人いるかな
うろ覚えだからな、ヘタにかけないし
0095デフォルトの名無しさん
垢版 |
2014/06/15(日) 09:45:03.27ID:UYBdvTKq
当時はステート数で実行時間を計算してたよ
DMAがどうとかウェイトサイクルがどうとか、そんな話だった気がする
0096デフォルトの名無しさん
垢版 |
2014/06/15(日) 22:24:56.95ID:QhTFjgfY
何クロックだかで1ステートとか1サイクルとか、そういう定義があった。
きちんとした資料なら定義がちゃんと書いてあるだろうし、書いてないならいまさら
確認するのは無理だからあきらめろ。
009790
垢版 |
2014/06/18(水) 04:47:59.32ID:Nalm9W0l
沖電気の80C85のpdfの中探してみましたが、定義なしで使っていました。
4ステートの命令が1サイクル、7ステートが2サイクル、10ステートが3サイクル
なので、3で割った商で近似できそう。メモリアクセスの量みたいですね。
reg,reg 命令が一番少なくて、LDA/STAのようにメモリアクセス1回だと2サイクル
メモリアクセス2回だと3サイクル、call/return はpush/pop & jump だから
もっとサイクル数が多い。
0098デフォルトの名無しさん
垢版 |
2014/06/18(水) 04:53:41.05ID:Aotfe+zg
8085は条件分岐が成立しないと 命令の3バイト目の読み込みをスキップするから2サイクルになるぞ
009990
垢版 |
2014/06/18(水) 17:22:44.57ID:Nalm9W0l
その辺は成立/不成立で両方書かれています
0105デフォルトの名無しさん
垢版 |
2014/06/28(土) 22:23:23.14ID:mzWdk+zj
1980年代、NECのドットプリンタ(PC201HPR*?)が70万円だった。

PC9801VM2が40数万円、40MBのHDD付のPC9801VX4(?型式忘れた)が80万円。
たった40MB(GBじゃない)のHDD付で40万円も高かった。信じられる?

もっとも、ずっと前のYHPなんかFDに相当するシステムだけで1千万円、
プリンタみたいにきれいな印字ができなくてグラフを描画するプロッタ
が300万円したから、その時代よりは随分安くなったが。

ああ、当然、FORTRANのプログラムはタイプライタで横にテープに穴を
空ける装置で打ち込んでた。ディスプレイなんて気のきいたものはなかった。
0106デフォルトの名無しさん
垢版 |
2014/06/28(土) 23:09:11.24ID:q7wXIZ2k
VM2とCバスに差す40MBHDD(互換品)なら持ってた
DOSの起動が速くて感動した

FORTRANはグリーンディスプレイが付いてた世代
メインフレームに転送ボタンを押すと、瞬時に実行された!
0108デフォルトの名無しさん
垢版 |
2014/07/20(日) 11:52:05.80ID:UVunCW/j
★2ch勢いランキングサイトリスト★

◎ +ニュース板
・ 2NN
・ 2chTimes
◎ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
◎ +ニュース板他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
・ ログ速
◎ 全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索
0109デフォルトの名無しさん
垢版 |
2014/07/30(水) 17:51:53.69ID:mLoOPXGz
またとんでもない懐古趣味のスレがあった物だ。
懐かしいな。
4bit,8bitでゲームを作り、インベーダーではCPUやROMが無くなり海外まで資材担当にリュックを背負わせて買いに行かせたり。
インベーダーゲームの基板を買取にヤクザが会社に押しかけたり。

CP/M CP/M86 MP/M 色々やったな。
DOSには腹立たしい思いしか無い。
CP/Mのライセンスは10万とか30万とか安かったしただで使うケースも多かった。
しかしMSDOSになってから突然1000万だとふっかけられて頭に来た。
西みたいな若造が窓口だなんて頭に来た。
0110デフォルトの名無しさん
垢版 |
2014/07/31(木) 00:37:06.37ID:DmfmvJIe
LSIC-80のリンカで、ROMのアドレスを指定しないと0100h番地からになるのは
CP/M時代のルールを引きずってるんだよね。
0111 ◆QZaw55cn4c
垢版 |
2014/07/31(木) 19:17:58.52ID:XPS+ftrb
>>110
あれだろ,メモリ上ではプロセスの頭にヘッダが確保されている,そのヘッダの大きさにあわせているんだろ.
でもあのヘッダ(Program Segment Prefix) の半分はコマンドラインの内容だったたりするのは MS-DOS 的だったかと
(CP/M なら FCB(FileControlBlock) で引数を指定するからな

なんのための 80h バイトだったんだろ?
0112デフォルトの名無しさん
垢版 |
2014/07/31(木) 20:14:48.22ID:D+uyueSN
>(CP/M なら FCB(FileControlBlock) で引数を指定するからな
>
>なんのための 80h バイトだったんだろ?

コマンドライン全体がコピーされるしデフォルトのDMAでもあった筈
0113デフォルトの名無しさん
垢版 |
2014/07/31(木) 21:42:42.33ID:bL+lPW5R
80h〜ffhのディスクバッファはなぜかDMAと呼ばれたたな。
フロッピーはDMAで転送すると思い込まれてたんだろうね。
それともdisk 何とか areaとかの略称だったのかな
0114デフォルトの名無しさん
垢版 |
2014/07/31(木) 22:04:25.98ID:D+uyueSN
>>113
CP/M 2.2のマニュアル(http://www.cpm.z80.de/manuals/cpm22-m.pdf)では、
システムコールの説明で

> FUNCTION 26: SET DMA ADDRESS
> Entry Parameters:
> Register C: 1AH
> Registers DE: DMA Address
>
> DMA is an acronym for Direct Memory Address,

となっているが、巻末の用語説明では

> DMA: Direct Memory Access. DMA is a method of transferring data from the disk into memory
> directly.

とも書かれているので用語として統一されたものではない感じ。
0115デフォルトの名無しさん
垢版 |
2014/07/31(木) 23:33:10.93ID:bL+lPW5R
さんくす。結構曖昧なんだね。

PC-88の内蔵フロッピーはDMA使ってなかったりする
0116デフォルトの名無しさん
垢版 |
2014/08/01(金) 04:27:29.00ID:5JZNpp1J
>>113
> フロッピーはDMAで転送すると思い込まれてたんだろうね。

当時の CPU の能力では、DMAC を使うか、転送に専任しないと FDD (30kbyte/sec ぐらい) に間に合わなかった様な気がする。
0117デフォルトの名無しさん
垢版 |
2014/08/01(金) 05:38:24.00ID:SrmWi7ta
PC-88はメインCPUがZ80だけど、FDにも専用のZ80(とRAM)を持っていて
データはそれら同士でI/Oポート介してハンドシェイクしていたんだよね。

FDの方のZ80がDMA使っていたんじゃないの? 俺は詳しくしらんけど。
0118デフォルトの名無しさん
垢版 |
2014/08/01(金) 05:43:42.66ID:Mjd2jJg4
>データはそれら同士でI/Oポート介してハンドシェイク

ハンドシェイクはI/O経由でも良いけど
データ転送はDMA使った方が良くね?
0119デフォルトの名無しさん
垢版 |
2014/08/01(金) 05:48:27.07ID:SrmWi7ta
Web見てもオーバーヘッドの問題はあったみたいだね。

もともとFDDの無かったPC-8801(8001?)から拡張して、何かしら互換性を持たせるために
建て増し的に設計して、それでFDDはサブシステムに追い出したのかも知れないし
NECの中の人が何を思う所あってそう設計したのか俺には分からないw
0120デフォルトの名無しさん
垢版 |
2014/08/01(金) 07:12:40.09ID:xs1nYim3
PC-8001の外付けFDDから既にサブシステムだったから、それを継承したんだろう
0121デフォルトの名無しさん
垢版 |
2014/08/01(金) 09:53:03.81ID:HJ5f+bIF
元々PC-8001とPC-8031とは別々に開発がスタートしたんじゃなかったかな。
PC-8031を開発始めた段階で、どんな代物と繋ぐのかよく分かってなかったと言うw
0122デフォルトの名無しさん
垢版 |
2014/08/01(金) 10:10:57.54ID:BqYlDfLw
PC-8031は簡単な外付け回路でセルフブートできるし、プリンタ等繋げられるI/Fもついてるから
スタンドアロンのマイコン装置としての活用も想定されてたと思う。
0123デフォルトの名無しさん
垢版 |
2014/08/01(金) 23:42:03.61ID:nZRBmnl1
スタンドアロンで音楽を演奏(ヘッドをガチャガチャ動かして)というのがあった記憶が
0126デフォルトの名無しさん
垢版 |
2014/08/04(月) 15:12:23.97ID:EtLZ/ffW
PC-8031にプログラムを転送して実行、結果を受け取るプログラムなら作った事ある
0127デフォルトの名無しさん
垢版 |
2014/08/05(火) 23:37:25.93ID:capu4pfu
>>124
そうか8255を使ったパラレルポートだからプログラム次第でプリンタを繋いで動かしたりとかできたんだな
0131デフォルトの名無しさん
垢版 |
2014/08/07(木) 23:47:24.63ID:Y3l8XqEs
8001用のペンプリンタの試作機って見たことある
カンカンカンカンうるせーのw
0132デフォルトの名無しさん
垢版 |
2014/08/07(木) 23:52:41.27ID:UoXeeMAF
あのPC-8023だって十分うるさい
PC-8023でググったらWindowsから印刷してる人がしてわらた
0134デフォルトの名無しさん
垢版 |
2014/08/27(水) 22:04:17.16ID:4mdNC+SS
csvdeでメンバーのデータをツリー状に出力する方法ってありませんか?
0136デフォルトの名無しさん
垢版 |
2014/10/04(土) 15:55:30.42ID:FYPOos8R
LSIC80は完全に16bitアプリなので、win7にしたら使えなくなった。
(今でも8085のコードを書く仕事がある)
netで msdos.exe というのを拾って使えるようになった。感謝。
0138デフォルトの名無しさん
垢版 |
2014/10/04(土) 23:18:16.48ID:wDmms0dV
8085が現役なんじゃなくて、互換チップが未だ生き延びているんじゃないか?
川崎重工辺りが頑なに作っていた気がするぞ。
0140デフォルトの名無しさん
垢版 |
2014/10/04(土) 23:52:47.09ID:MWF+hnjT
>>139
そのFreeBSD/Linuxパックも2.2.6-RELEASEだのlibc5だのって
20年くらい前のバージョンだろ
Windowsパックだって32bit版OSのみって時点で
16bit DOSアプリだと考えた方が自然
0141136
垢版 |
2014/10/05(日) 03:49:49.38ID:Hj6+65GA
川重が作ってるのはZ80(Z180?)互換チップです。
8085は今はどこも作ってないでしょう。年に数枚しか作らない基板なので、
必要なCPUはアキバで別の基板から抜いた奴を調達してるのではないかと。

今売ってるLXIC80があれば64bit環境にも対応してるかもしれませんが、
私のは20年近く前にお客のPC98の中から拾ってきた奴なのでもろ16bit製品(w
0142デフォルトの名無しさん
垢版 |
2014/10/05(日) 04:18:19.98ID:d1ExbQ1S
>>140
> Windowsパックだって32bit版OSのみって時点で
> 16bit DOSアプリだと考えた方が自然

動作環境にDOSもWin3.1もないんだしそれはなかろ。
いまだに売ってるDOS用ツールはDOS用って言って売ってるし。

http://www.lsi-j.co.jp/products/lsic80_debug.html
> 動作環境
> 対応OS MS-DOS 2.11以上 
> 対応メモリ 384KB以上
> 対応機種 NEC PC-9800シリーズ(XA,XL,XL2,RLのハイレゾリューションモードも含む)
> PC-H98シリーズ およびその互換機
0145デフォルトの名無しさん
垢版 |
2014/10/05(日) 14:07:19.03ID:a6/ySe32
C9
0148 ◆QZaw55cn4c
垢版 |
2014/10/06(月) 00:14:25.04ID:iTveHmgo
さて質問だ
com 形式で 'C9' だけおきリターンすると,無事にプロセス終了となるわけだが,そう簡単な話ではない
なぜこれでうまく終了できるのか説明願いたい.RET っていってもいったいどこに戻るのか?
0152デフォルトの名無しさん
垢版 |
2014/10/06(月) 03:50:15.50ID:FnO6nfIg
8080でもRETだよ。
C9の場所をcallする前にSPに適切な値を入れてやる必要がある。
それをするのはOS(の、ローダー機能)のはずだから、OSの存在が前提に
なってるね。デバッカなどでRETの場所をステップ実行すれば、PCの値が
SPの指していたメモリの内容に置換されるのが見える。
0154デフォルトの名無しさん
垢版 |
2014/10/12(日) 08:23:29.47ID:YCvc+Saz
DOSエクステンダを自作したい人なんかには有用な本だとは思うが、あんま一般的な内容じゃないと
思うんだがツイッター見てると絶賛の声が多いな >はじめて読む486
0156デフォルトの名無しさん
垢版 |
2014/10/12(日) 10:39:58.25ID:WCTqGOa3
リセット直後の32bitリアルモードがずっと使えると便利なんだけどな。
リアルモードのアドレッシングだけど4GB全部アクセスできるモードが。
0157デフォルトの名無しさん
垢版 |
2014/10/12(日) 10:50:11.65ID:Du/HgjiN
486の頃は既に高級言語に移行してたな…。
パフォーマンス必要なとこだけアセンブラで書いてた。

それにしても、MONコマンドとBSAVEだけでプログラム作ってたとか今じゃありえんよな。
ってこれはDOSじゃなくてN88BASICの話だけど。
DOSもDEBUGコマンドで似たような事してたから、やはりマジキチ。
0158デフォルトの名無しさん
垢版 |
2014/10/12(日) 20:22:07.87ID:RJuqu4jR
>>157
え、DATA分にバイナリを羅列しておいて、BACIS では確保していた領域に POKE し、USR 関数でジャンプしていたんでは?あーわすれたね
0159デフォルトの名無しさん
垢版 |
2014/10/12(日) 21:19:59.24ID:Du/HgjiN
>>158
そのバイナリを作るのに、俺はまだ厨房だったからさすがに直接ニモニックコードは書けず、アセンブラでやってたのです。
読むのはできたけどね、プロテクトディスクダンプして解除とか(笑
ちなみに引数もPOKEで書いてCALLしてた。
0160デフォルトの名無しさん
垢版 |
2014/10/12(日) 21:28:48.11ID:sv4A2Uaz
>>159
> 直接ニモニックコードは書けず、アセンブラでやってたのです。

意味がわからん。
単語は知らんが、英語はしゃべれるみたいな?
0161デフォルトの名無しさん
垢版 |
2014/10/12(日) 21:41:44.92ID:YCvc+Saz
    db   XX,YY,ZZ〜

みたいなソース書いてアセンブラに食わせてたんじゃないの
0162デフォルトの名無しさん
垢版 |
2014/10/13(月) 01:18:33.22ID:jfB1gY05
>>160
16進数でcd 21とか直接バイト列をゴリゴリ書くレベルではなかったけど、int 21hと打つことはできた、みたいな。
まあ実際は上くらいならいいけど、アドレス計算が面倒なので、機械語コードを言語に翻訳してくれるdebugコマンドはありがたかったという話。
今で言うなら、メモ帳だけでプログラム書くのはめんどいけど、IDE使うなら楽ちん、みたいな感覚かな。
0164デフォルトの名無しさん
垢版 |
2014/10/13(月) 01:24:20.43ID:jfB1gY05
ついでに言えば、masmを使えるようになった時の快適さもすごかったな。
エディタはedlinだったけど。
今じゃviエディタすら使う気がしない、もうろくしたものです。

そういや、みんなはDOS最終期は何のエディタ使ってたの?
俺はeliseだったなあ。
Turbo系のIDE系はUMBを限界まで張ってると起動できなかったから、結局コンパイラ単体しか使わなかったなあ。
0165デフォルトの名無しさん
垢版 |
2014/10/13(月) 01:42:18.51ID:gNcTGi1f
MIFES, Vz …と言いたいが、俺はその時大学生だったのでフリーソフトくらいしか
選択肢が無くSE3を使っていた。
 教育用 フルスクリーンテキストエディタ PC-98 アナログカラー 版
 http://www.vector.co.jp/soft/dos/writing/se004927.html

パソ通の書き込みをそれで作ってkmtermで送信していたような記憶が。
FEPはソフトベンダーTAKERUで入手したWXPだったかな。
0166デフォルトの名無しさん
垢版 |
2014/10/13(月) 02:22:44.55ID:jfB1gY05
おお、こんなのあったんだね、知らなかった。
ニフティに入ってなかったから、地元の草の根でしかフリーソフトの情報なんて仕入れられなかったよ。
これ移植してる機種数すごいな。

それにしても、ベクターは偉大だなあ、本業はもうすっかりゲームになったけど、ソフトライブラリは会社がつぶれても何らかの形で残してほしい、ここからしかもう入手できない遺産が多すぎる。
実際、俺が作ったソフトもいくつか登録されてんだが、作った俺本人がここからしか入手できない、ソースも実行ファイルも読む手段のない5インチフロッピーに封印されてるので。

TAKERUも懐かしいね、魔導物語かなんかを買った記憶があるなあ。
FEPは最後までNECAIだった。
あれをUMBに入れるには、いったんVRAMもUMB領域に割り当てる必要があったなあ。
0168デフォルトの名無しさん
垢版 |
2014/10/13(月) 07:21:01.53ID:i5IJ2YRD
viは、exモードを駆使して初めて真価を発揮する。
それができないなら、使う意味はあまりない。
0173デフォルトの名無しさん
垢版 |
2014/10/13(月) 18:42:11.67ID:Yn9IVcvc
おっちゃんの最期のDOSエディタはVzだった
Win3.1に入り秀丸に出会った。
今も秀丸だ。

キーバインドはWordStart&Vzな変態だw
0176デフォルトの名無しさん
垢版 |
2014/10/14(火) 21:51:02.03ID:PauNPyXj
Vzが出てMIFESが食われたかは知らんけど、Finalは消えた。

まあFinalは品質に問題あるソフトだったけどな。
0178デフォルトの名無しさん
垢版 |
2014/10/15(水) 02:08:30.29ID:Dhllwyhw
そういうけどエディタってIMEやフォントと同じで慣れたものから離れられない。
生き延びるって重要だ。
仕事で永く使えるといったらMIFESの他に何かあるかな? (秀丸はちょっと…)
0180デフォルトの名無しさん
垢版 |
2014/10/15(水) 04:20:42.63ID:nbJxHgCG
うーん、仕事でプレーンなテキストを書きまくるっていうシチュエーションがまず思いつかないなあ。
最近のMIFESはCSVに特化したモードとかはあるらしいけど、Excelでいいじゃん、みたいな。
1万以上する価格設定も今時強気すぎる気がする…。
今公式サイト見てきたら、内容をSNSに投稿できますってのをウリにしてる段階で、なんかもうなんか違う気がする。
0181デフォルトの名無しさん
垢版 |
2014/10/15(水) 09:32:16.09ID:pTiG4blG
ソースコード作成とか閲覧とかはテキストエディタを使うよ
csvもexcelを通すと変に加工されることがあるし、そもそも使いにくいので、csvエディタ機能はあると嬉しい
高すぎるからmifesは使わないけど
0183デフォルトの名無しさん
垢版 |
2014/10/15(水) 10:37:42.49ID:nbJxHgCG
ソースなんてもうコード補完がないと書きたくないくらいに怠け者になってしまった
0186デフォルトの名無しさん
垢版 |
2014/10/18(土) 10:08:59.98ID:/bV95tiS
Vzなつかしいな
Windows版のVzもっと早く出てれば
秀丸には乗り換えなかっただろうな
0192デフォルトの名無しさん
垢版 |
2014/10/18(土) 12:30:03.58ID:/oNwCDSd
>>166
nifty にしかないものも多かったからね‥MIDI データ群は返す返すも惜しい‥今 MIDI やってる人はどういう発表形態をとるの?
0193デフォルトの名無しさん
垢版 |
2014/10/18(土) 12:35:50.47ID:AfuyHwSy
>>190
作業比率は減ってるらしいがDOS版の作者が今も関わっててるみたいだから別物ではないだろ
0195デフォルトの名無しさん
垢版 |
2014/10/18(土) 13:50:17.03ID:nuW1Uj67
>>192
オリジナルならニコ動とかにうpするんじゃないかな?
版権ものは分からん。

>>193
開発者がどうであれ、ソフトそのものはスクラッチだろ。
0198デフォルトの名無しさん
垢版 |
2014/10/18(土) 15:19:22.09ID:/oNwCDSd
>>154
あれが有用なのは「動く」32ビットコードが省略なしに載っていて誰でも試せるところにある
実際、アラインメントの調整くらいで、タスクスイッチングが動いた、‥i386SX でのお話
0200デフォルトの名無しさん
垢版 |
2014/10/18(土) 16:08:03.00ID:HmaK9Dpm
>>156
リセット直後ってCSのベース値が特殊なだけで32bitでも何でもないぞ

いったんプロテクトモードにしてからリミット4Gのセレクタをロードして
そのままリアルモードに戻すと4GBアクセスできたりするらしいが
0205デフォルトの名無しさん
垢版 |
2014/10/26(日) 16:16:13.83ID:hUa4ZeCn
MIFESはDOSの頃はメガソフトの外部の人ひとりでやってて、Windowsになってその人とメガソフトの中の
チームとでやってるんでなかったかな。
020641
垢版 |
2014/12/01(月) 03:51:37.76ID:OW3QXxN0
8085の仕事がまたキター---いよいよ基板がなくなるみたいなのでこれが最後
かな〜。使われてる石見ると1980年代の半ば頃の設計のはずなんだけど、
よく同じ石があるなと感心する。
0207デフォルトの名無しさん
垢版 |
2014/12/01(月) 12:35:08.80ID:GrWyVyTu
初期化のバグも残ってますとか
021041
垢版 |
2014/12/02(火) 04:01:46.83ID:ror4iJjw
うん、それはお客さんも言ってた。年に数枚しか出ない基板だから、その起こし
の費用が出ないんだって。今後は最近の1チップでuartが4CH載ってる適当な
基板にソフトを載せ換えることで対応するらしいので、実際にあるH8Sの基板を
想定してHEWに移植してみた。XPマシンが壊れる前に単体までは動かしてみた。
ルネでHEWなら石に見合ったiodefine.h使うだけで移植可能なので、それを
お奨めしてみたい。
021341
垢版 |
2014/12/06(土) 03:54:06.69ID:aCbxE5A/
1週間返信が無いから、動いてる(確認中)なのだとおもう。
動かなければ動かんぞゴルァ!はすぐ来るだろうから。暇だったので最適化(w
    _asm_c("\n\tEXTRN\teventfg_,clrdata_\n");
    _asm_c("\n\tLDA\teventfg_\n\tORA\tA\n"); /* if(eventfg) */
    _asm_c("\n\tCNZ\tclrdata_\n");         /* crldata() */
0215デフォルトの名無しさん
垢版 |
2014/12/06(土) 23:15:47.02ID:Qc8SbiZd
まあインラインアセンブラなんて局所的にしか使わんし
使い勝手なんてどうでもいいよ。
0224デフォルトの名無しさん
垢版 |
2014/12/09(火) 04:39:58.09ID:BAVYOY2g
LSI-C80でビルドしたモジュールは8080上で動くが、
LSI-C80はMS-DOS環境でしか動かないよ。
だからWindows7標準では動かせないって話を>213=>41が書いているわけだ。
0230デフォルトの名無しさん
垢版 |
2014/12/09(火) 22:06:35.11ID:/y3UNA7Y
CP/Mはこれからも8080/Z80の開発環境として生き残りそうだし、
x64が主流になって仮想86が捨てられ、DOSの方が先に忘れられそうな気がす
0231デフォルトの名無しさん
垢版 |
2014/12/12(金) 00:09:19.32ID:SHR/Y9Rm
64ビットのWindowsOSで16ビットアプリケーションが動きました!
http://www.alles.or.jp/~thisida/mycpu619.html
0233デフォルトの名無しさん
垢版 |
2014/12/12(金) 03:16:36.00ID:M8cFK+bI
MSが言ってる16bitの断念って、win3.1用のソフトの動作とかじゃないの?
ていうか、次期OSではwin32すら切り捨てるという噂もあるけど、どうなることやら
0238デフォルトの名無しさん
垢版 |
2014/12/13(土) 08:26:16.02ID:a5W7vrBh
>>232
全角英数を使うのが当たり前、半角英数を使う奴は非常識馬鹿
…そう言われてた時代もかつてあったんだよ
技術的な理由もちゃんとあった
まあその元記事を書いた奴はその時代で頭が固まってるってことで、やっぱり非常識馬鹿なんだけど
0240デフォルトの名無しさん
垢版 |
2014/12/13(土) 09:08:05.17ID:PfYynooy
>>238
パソコン通信の頃の話だっけか
全角半角が混在してると何かあったときに文字化けしやすくなるとか聞いたことがある
だがな、全角英数きもっ
0244デフォルトの名無しさん
垢版 |
2014/12/13(土) 10:44:22.36ID:A1iecfRs
>>238
>全角英数を使うのが当たり前、半角英数を使う奴は非常識馬鹿
>…そう言われてた時代もかつてあったんだよ

ねぇよバカかよw
0246デフォルトの名無しさん
垢版 |
2014/12/13(土) 10:56:08.89ID:U8eX8arB
つまり、void さんは文字コードが特定のフォント中のグリフに対応することはあってはならない、と主張していた
だから、半角と全角でグリフが異なるのはおかしい、と。

しかし、void さんのシグナチャー「ヘミ猫」はその主張とは裏腹に半角全角が混在していたのであった‥
0252名無しさん@そうだ選挙に行こう
垢版 |
2014/12/13(土) 13:39:49.72ID:U8eX8arB
>>248
もうIE8..ごめん/Operaでは気軽に JISコード(ISO-2022-JP) を閲覧できない‥手元の環境ではいちいちエディタで変換しないと
他のブラウザはどうなってんの?
0253名無しさん@そうだ選挙に行こう
垢版 |
2014/12/13(土) 15:06:01.60ID:a5W7vrBh
どいつもこいつも…頭カッチカチだから文字化けの話からどうしても抜け出せないとはw
当時の半角英数の画面や印刷物を一目見れば理由が分かるのに
0254名無しさん@そうだ選挙に行こう
垢版 |
2014/12/13(土) 16:38:37.00ID:md/0oTMx
10年位前だったか、voidさんが2ちゃんねるに遊びに来てた頃、
「voidには読めないスレ」と題して半角カナだけで会話してたスレが有ったな
0257名無しさん@そうだ選挙に行こう
垢版 |
2014/12/13(土) 22:05:54.42ID:/7e0hvt5
まさか出版業界という狭い世界でしか通用しない「常識」を
一般でも当然であるかのように偉そうに言い張るジジイだったとは
0259名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 04:00:51.32ID:QEpJ0bQG
voidさんは荒らしてない
荒らしてたのはvoidさんに突っ込まれて発狂した人たちの方
0262名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 08:41:09.08ID:xqizqHdC
そもそも出版業界は当時からそんなチンケなシステム使ってないし(笑)

>>259
coolを装って他人を発狂させるように持って行くのが奴のやり口
つまり荒らしの一種であることには変わりない
その辺が、ただ吠えるだけだったmohtaと違うところだが
0264名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 09:59:22.50ID:QEpJ0bQG
半角カナが本文とかタイトルとかに含まれてると
ハングアップするメールソフトがあったんだわ
0265名無しさん@そうだ選挙に行こう
垢版 |
2014/12/14(日) 10:00:30.37ID:QEpJ0bQG
あとNeXTのメールソフトはJISのESCシーケンスが途中で終わってるメールが来ると良くハングアップした
0269デフォルトの名無しさん
垢版 |
2014/12/15(月) 15:01:35.76ID:S12Bl0xh
縦書きにするときの折り返しがうまくいかない、という理由以外
英数字を半角にしてはダメ、という理由は見たことがないよね
ダサダサの全角英数で書かれた横書きWeb記事は笑えるけど

今時、文章を書くのは縦書きを要求されない事案の方がずっと多いのに
それが当然かのごとく言い続けるバカ
0270デフォルトの名無しさん
垢版 |
2014/12/16(火) 04:13:14.47ID:TqAHWkrR
プロポーショナルフォントなら全角でも違和感ないぞ。
少なくとも、他人に半角を強制する理由もない。
0271デフォルトの名無しさん
垢版 |
2014/12/16(火) 06:29:04.39ID:Y09zRoZG
>>269
だからさ、「Web記事」の時代しか知らないようなお子様は大人しく黙ってればいいと思うよ、見てて滑稽だから。
そもそも、なんでそんなお子様がこのスレに来るのかが意味不明(笑)
0275デフォルトの名無しさん
垢版 |
2014/12/21(日) 04:40:14.34ID:SzaLx6Ws
>>271
98で一太郎使ってる頃から、英数は半角が当然
論文だろうと企画書とかのレジメだろうと、ね

縦書きにする必要があるものは当然全角で原稿を書くけど
全角が必要ない場所に全角使用を強制するなどという
狭い世界での馬鹿げた習慣は無かったよ
0276デフォルトの名無しさん
垢版 |
2014/12/21(日) 04:52:50.92ID:SzaLx6Ws
「本屋新聞の原稿」以外にパソコンとか使ってなかったのかね
会議の資料の手書きとか考えられないんだが

それとも、専用のワープロ(死語)でも使って書いていて
文字コードの変換で苦労するから全角英数の強制かね


いずれにしろ、無知の老害は邪魔以外の何者でもないね
全角英数の使用を、でかい声で、さも全世界で普通に行われていたかのごとく言い張ってたのに
それが単なる「縦書き改行の都合」とは
0280デフォルトの名無しさん
垢版 |
2014/12/23(火) 14:08:09.73ID:CpoMz/jA
そもそも、Windows環境でコンソールアプリをちょっと作ったぐらいで
「俺はDOSも知ってるぜぃ」などと勘違いしてる奴が多いんじゃないのかな
0283デフォルトの名無しさん
垢版 |
2014/12/24(水) 22:25:12.00ID:NXoDExpJ
デバドラとしても実行ファイルとしても常駐コマンドとしても使えるファイル
ネ申業に見えたな
0284デフォルトの名無しさん
垢版 |
2014/12/24(水) 23:20:14.86ID:+1mcRXwz
デバイスドライバも兼用できるか?!いや、emm386.exe はあったか‥こいつが dos の最高峰かもしれん‥
0286デフォルトの名無しさん
垢版 |
2014/12/25(木) 11:00:25.05ID:Y5il8ylR
割り込みベクタをリンクして
あとから取り外すとき
ほかの常駐がリンク追加してても
自分のベクタだけ消す親切仕様ですねわかります
0288デフォルトの名無しさん
垢版 |
2014/12/25(木) 15:58:48.20ID:9LCXhqZT
えぅ
チェーンの方がいいか?
0290デフォルトの名無しさん
垢版 |
2014/12/25(木) 17:36:22.76ID:L/jFdBQ0
.exe形式のデバドラってどういう構造なんだろう
デバイスヘッダが先頭になきゃいけないわけだし・・・
0291デフォルトの名無しさん
垢版 |
2014/12/25(木) 17:48:27.48ID:EJcNEjL/
割り込みベクタはチェーンになってないぞ。
デバドラチェーンと混同してない?
0293デフォルトの名無しさん
垢版 |
2014/12/25(木) 18:09:48.21ID:EJcNEjL/
いずれにしろ、チェーンから自分だけ外す、というのは無理。

自分が書き換えたより後で誰かが書き換えてたら、常駐解除を
中止する、ということしかできない。
0294デフォルトの名無しさん
垢版 |
2014/12/25(木) 19:51:19.13ID:EL6gBj3v
チェーン部分だけ切り離して常駐したままとし,他の主要機能は解放してしまう,というのはありかな‥結構難しいな‥
0298デフォルトの名無しさん
垢版 |
2014/12/26(金) 18:15:16.88ID:U37YhbAO
割込みベクタの場合は、自分が書き換える前にあった番地を、アプリ側で
どこかに持っておいて、自分の処理をやる前あるいは後に、そっちも呼んでやる、
という風になってるから、自分以外のアプリについては手が出せない。
0299デフォルトの名無しさん
垢版 |
2015/02/19(木) 21:19:28.51ID:hgzMijvn
ちと知恵を貸してくれ

CONFIG.SYSでデバイスドライバ内から環境変数にセットしたいんだが
この時、Master Enviroment Blockは存在しない様で煮詰まってます
なんかいい方法無いですかね

shellとして実装してcommand.comを呼び出すのもアリかなとは思いますが
スマートじゃないもんで・・
0300デフォルトの名無しさん
垢版 |
2015/02/19(木) 22:25:09.86ID:LWlw/bQR
Function 52hあたりで取れなかったっけ?
ドライバの組み込み段階でPSPとかあるのかものすごく疑問だが
0301デフォルトの名無しさん
垢版 |
2015/02/19(木) 22:36:11.17ID:hgzMijvn
int 21h ah=52hでFirst MCBからたどってたんだけど見つけられなかった
PC-DOSとかのRAMDISKとかもバッチ側から判定してるし無理なんかな
0302デフォルトの名無しさん
垢版 |
2015/02/20(金) 01:03:48.98ID:YdLhjXHH
config.sysの段階ではまだ環境変数そのものが無いんじゃないか?
あれはcommand.comの担当だし。
一時的に適当なメモリに渡したい値を書いておいて、autoexec.bat内でそれを参照して環境変数をセットするプログラムを走らせるとか。
0303デフォルトの名無しさん
垢版 |
2015/02/20(金) 01:21:34.71ID:E5Tlwj2H
たしかに、デバイス読込み時には環境変数は1個もなかったですね
一応ブロック型のデバイスなのでCONFIGで組込む必要があるんですが
ドライバ内で作業域作って、後から別プログラムで参照した方が簡単でいいかもですね

どうも有り難うございました
0304デフォルトの名無しさん
垢版 |
2015/02/20(金) 02:52:39.83ID:YdLhjXHH
え、もしかして実務のデバドラなのか。
環境変数にこだわってるわけではなくて、実行構成も固定されてて、クライアント?に値を渡したいだけなら、適当な割り込みベクタを使ってオレオレシステムコールを作ればいいんじゃないかな。
産業用途の環境なら、あえて予約はされてるけど絶対に使われない割り込み番号を乗っ取るのが一番安全だな。
例えばサウンドボードとかMIDIとかのメディア系。
0305デフォルトの名無しさん
垢版 |
2015/02/20(金) 03:01:15.57ID:YdLhjXHH
ついでに書けば、ドライバ内に作業域とあるが、起動シーケンスで一回しか使われない情報は、必ずしもお行儀よくmallocとかしなくていいんだぜ。
起動時なんだから、他に動くプログラムが固定されてるなら、メインメモリの一番おしりあたりとかを勝手に書き換えてしまえば良い。
Turbo系のデバッガだって、MCBを無視して勝手にUMB領域使ってたしなあ(笑)
0306デフォルトの名無しさん
垢版 |
2015/02/21(土) 15:07:24.84ID:qawIJ4u+
未だにこんなの使ってるということはエミュ運用も考えられるので
あまり裏ワザじみたことはしないほうがいいかも
0309デフォルトの名無しさん
垢版 |
2015/04/02(木) 21:55:36.57ID:/mItJeV5
巨人3連敗ざまぁ
0310309
垢版 |
2015/04/02(木) 21:56:29.54ID:/mItJeV5
誤爆失礼
0312デフォルトの名無しさん
垢版 |
2015/04/13(月) 21:05:32.51ID:qtTodoaL
あまり裏ワザ使うと、エミュでも再現できず、作動しないと思うのだが。
0316デフォルトの名無しさん
垢版 |
2015/07/26(日) 12:50:57.68ID:YJ+DIjqN
サブディレクトリを含む、ファイル名の一覧を出力したい
フォルダは除きたい

▼入力
dir /a-d /s /b

上記から、ファイルのパス部分を削除したい

for /f "delims=" %%a in ('dir /a-d /s /b') do @set x=%%a

変数に代入
ここからファイル名のみ取り出す方法がわかりません
なにか、いい案ないでしょうか
0317デフォルトの名無しさん
垢版 |
2015/09/17(木) 21:56:25.06ID:XhnyECMl
たまに上げとくか
0318デフォルトの名無しさん
垢版 |
2015/09/18(金) 00:39:31.72ID:jgQeR3+L
>>316
もう自己解決しているかもしれないが

REM もっとシンプルに出来るかどうかは知らん
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /s /b') do @CALL :proc %%a
goto BYE

:proc
@set x=%~n1%~x1
@echo %x%
@goto :EOF

:BYE
endlocal
0320デフォルトの名無しさん
垢版 |
2015/09/18(金) 00:47:54.86ID:jgQeR3+L
↑↑
更に修正
for /f "delims=" %%a in ('dir /a-d /s /b') do @CALL :proc "%%a"
末尾の %%a はダブルクォートでくくる。ファイルメーにスペースが有るときに必要だった。
0321デフォルトの名無しさん
垢版 |
2015/09/18(金) 00:53:56.15ID:jgQeR3+L
↑↑↑
後出しですまんが、表示するだけなら

for /f "delims=" %%a in ('dir /a-d /s /b') do @echo %%~na%%~xa

で充分
0323デフォルトの名無しさん
垢版 |
2015/09/19(土) 22:24:15.58ID:+yAAtXTu
LSI C-86は出来過ぎた試食版だったからな。
Sモデルのみ以外に何の制約もない。
0324デフォルトの名無しさん
垢版 |
2015/09/19(土) 22:46:17.70ID:1gNO/ViF
64KB以上のコードなんて個人じゃほとんど書かないしね。
データ用メモリならBMSなりEMSなりでいくらでもなんとかなったし。
0325デフォルトの名無しさん
垢版 |
2015/09/20(日) 07:47:24.22ID:Iri/6B1b
サポート無しと書いてあるにもかかわらずサポート電話は鳴り止まず
アセンブラR86への質問が集中したという(のちにオンライン公開)
なお、一番売れたのはLSI C-86のマニュアルだったという
0328デフォルトの名無しさん
垢版 |
2015/09/21(月) 03:02:51.18ID:WqC2QgKA
farデータ、farポインタはそのまま使える(Sモデル向けのライブラリ関数は当然未対応)
far関数はそのままだと共通のTEXTセグメントに入れられちゃうけど
一度アセンブリ言語で吐き出してから、所属するセグメントを例えばTEXT CSEGから
<ファイル名>_TEXT CSEGに書き換えて、RETでなくRETFで帰るようにしてやると……
0330デフォルトの名無しさん
垢版 |
2015/09/21(月) 06:47:34.13ID:WqC2QgKA
ごめん、訂正、呼び出される側はfar指定付けた時点でRETFになる(当たり前)
外部関数の宣言でfarつけとけば、Sモデルでもきちんとセグメント指定したfarコールしてくれる
手動で手間かけなきゃいけないのは呼び出される側のセグメント名の修正だけ(なハズ)

なので1ファイル=1モジュール=1セグメントで、同一モジュール内のstatic関数だけnearコールする感じの使い方が
試食版でも(やろうと思えば割と簡単に)できちゃう(書き換えたファイルでは標準ライブラリ呼び出せなくなるから苦労は増えるけど)
0332デフォルトの名無しさん
垢版 |
2015/09/28(月) 21:42:24.90ID:tVvff2lk
ライブラリで master.lib を活用してたっけなぁ
その作者がその後ニコニコ動画を作成するとは
0334デフォルトの名無しさん
垢版 |
2015/10/02(金) 21:40:07.85ID:sNptuE4Z
diorとは何か?
ググってフランスのブランドだと知る。
俺ら引きこもりプログラマはブランド品など縁がないからな(笑)
0336デフォルトの名無しさん
垢版 |
2016/01/15(金) 00:41:51.09ID:6o0fYWvH
microsoft嫌いの俺が唯一評価するツールはm80だけだな
0338デフォルトの名無しさん
垢版 |
2016/01/15(金) 07:41:12.81ID:POz82VxF
ディオール知らないとかネタじゃないならビビる
ヴィトンやエルメスぐらい有名だぞ
ユニクロ知らねえって言ってるようなもんだ
0340デフォルトの名無しさん
垢版 |
2016/01/16(土) 23:38:29.37ID:cvqdiWLy
尺度の揃ってない比較だよな
俺もガキの頃エルメス読めなくて恥かいたけど、今でも男性向け商品そんな目立ってないし、そもそも日本人男性に合うのかとか思うしね
ジップネックニットとか10万超すのにジップ裏地が弱くてしばらく着てると痒くなったのよ。洗濯機に気軽に放り込めてなんぼだよ。ユニクロでいいよアホかと

男が詳しい必要ないと思うんだよな
腕時計とジャケットとクツだけはっときゃいいんじゃ
0341デフォルトの名無しさん
垢版 |
2016/05/01(日) 16:16:59.40ID:tKi6j9CT
匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています

言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか?

Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします
https://twitter.com/Lyrise_al

ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw


The Covenant Project
概要

Covenantは、純粋P2Pのファイル共有ソフトです

目的

インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します

特徴

Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW)

接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です
DHTにはKademlia + コネクションプールを使用します
UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります)
検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません
15
0342デフォルトの名無しさん
垢版 |
2017/01/03(火) 23:12:51.54ID:tIB0Geiv
timeout で最後まで待ったら処理A、途中でキーを押したら処理Bに分岐したいです
0343デフォルトの名無しさん
垢版 |
2017/01/04(水) 01:01:34.11ID:MZRDhGwM
for /f "usebackq tokens=3" %i in (`timeout 3`) do set res=%i
「0 秒待っています。続行するには何かキーを押してください ...」←普段はこの左の数字が変化するけど
「3 秒待っています。続行するには何かキーを押してください ..0」←for文では左の数字は固定で..のあとに変化する数字が付くことに気づきました
これで途中でキーを押せば「...」「..2」など、最後まで待てば「..0」を取得できました

しかし、なぜか
if %res%==..0
で比較できません…
何か目に見えない特殊な文字コードが入っている?
0344デフォルトの名無しさん
垢版 |
2017/01/04(水) 01:33:52.26ID:MZRDhGwM
%res:~8,1%
これが空なら途中でキーを押した、0なら最後まで待ったということが分かりましたw
なんとかなりましたorz
見た目は「..0」でも1文字ずつ調べるとピリオドは3つあり、「...(空)2(空)1(空)0」となっていました
(空)はたぶん制御文字で、途中でキーを押すと最後の0まで伸びない
秒数に応じて(空)も合わせて2つづつ位置が伸びるようで、5秒なら %res:~12,1%
0345デフォルトの名無しさん
垢版 |
2017/04/23(日) 03:31:30.84ID:H8Cvp+NU
AT-互換機のDOS互換FDDブートかWindowsの16bitモードやDOSBOX等で動くLSI-Cで
VRAMに図形を出すのって何処かに例はありますか?
0347デフォルトの名無しさん
垢版 |
2017/06/05(月) 14:58:52.67ID:yTD0hQm/
memo

【ランサムウエア】「身代金要求型」不正ウイルス作成の疑い 中学生を逮捕
asahi.2ch.net
test
read.cgi
newsplus
1496631476

【自作PC】AMD、32コア/64スレッドのEPYCを6月20日、次世代のRadeon VegaはSIGGRAPHで発表
asahi.2ch.net
test
read.cgi
newsplus
1496264554
0348デフォルトの名無しさん
垢版 |
2018/02/16(金) 06:36:37.30ID:W1XJdyx1
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆
0349デフォルトの名無しさん
垢版 |
2018/05/23(水) 22:16:44.71ID:Au5e7VGg
僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

2FT6E
0350デフォルトの名無しさん
垢版 |
2018/07/04(水) 23:47:27.16ID:gFgZc5FG
EIR
0351デフォルトの名無しさん
垢版 |
2018/11/08(木) 16:09:22.71ID:vbhiXs8X
PC/AT の VGA カードって、PC-9801みたいに、テキストとグラフィックの画面の合成はできないのでしょうか。
0352デフォルトの名無しさん
垢版 |
2018/11/08(木) 18:45:12.55ID:cDcIjCKR
>>351
多分、出来ないんじゃないかな、たとえ1バイトの ASCII 文字であっても。

「text mode」はあるけれど、「mode」という言葉が示すとおり、グラフィック mode
とは切り替えて使っていただと思う。PC-9801 や PC-8801 では、text と
graphic をハードウェア的に重ね合わせることが出来て便利だったけれど。
0353352
垢版 |
2018/11/09(金) 15:22:02.19ID:mgnuIu1c
[VGA]
・640 x 480, 16色/モノクロ
・640 x 200, 16色/モノクロ (EGA 互換)

16色は、4BIT分使うから、(640*480*4/8)/1024 = 150 で、
640 x 480 x 4BIT は、150(KB)。また、
640*480*4/8 = 0x25800。

[EGA]
典型例:
・640 x 350, 64色中の16色/モノクロ
・640 x 200, 16色

[CGA]
text mode と graphic mode を持つ。
・320 x 200, 16色のうちの4色
・640 x 200, 2色

PC/AT の video memory は、古い仕様書では、0xA0000 - 0xBFFFF (128KB)と
なっているが、実際は 「RAM」だけでも、150(KB)以上あるはず。
仕様書的には典型的なアドレスは、
0xA0000 : EGA/VGA graphics modes (64 KB)
0xB0000 : monochrome text mode (32 KB)
0xB8000 : color text mode and CGA-compatible graphics modes (32 KB)
0xC0000 : Video BIOS の ROM ---> VGA の場合は、ROM ではなく、VRAMのはず。

となっており、VGA での text buffer は、0xB8000 となっている。
0xA0000 から 150KB までの領域は、最終アドレスが、0xC57FF となり、
0xB8000 と重なってしまう。なので、graphic と text の同時使用は出来
ないハズ。ただし、ネットで入手できる仕様書は概ね かなり古いようだが。
0354352
垢版 |
2018/11/09(金) 16:06:28.02ID:mgnuIu1c
【CGA】

https://www.seasip.info/VintagePC/cga.html


[Graphics Modes]

In the two graphics modes, all memory is used for the framebuffer. Each row is 80 bytes.
At the beginning of memory are the first set of rows (0, 2, 4, ..., 198); offset by 8k are
the second set (1, 3, 5, ..., 199). This may have been to make it easier for the hardware
to produce an interlaced picture, but it's a pain to program.

グラフィック・モードでは、1ラインは、80バイトで、
0行目、2行目、4行目、・・・、198行目
と続いた後、先頭から 8KB 離れて、
1行目、3行目、5行目、・・・、199行目

となっていたらしい。

In low-resolution graphics mode (320x200), a byte corresponds to four pixels; in high-resolution
mode (640x200), a byte corresponds to 8. In each case, the highest-numbered bits correspond
to the leftmost pixel.

↑は、つまり、320x200 では、4色だから、1ピクセル当たり2BIT。
よって、8/2 = 4 で、1バイト当たりで、4ピクセル。
この場合、1行は、4(ピクセル/バイト) × 80(バイト) = 320(ピクセル)。

640x200 は、モノクロモードだから、8BIT で、8ピクセルに相当。
つまり、4色カラーモードでも、当初からパックド・ピクセル方式だったらしい。
この場合、1行は、8(ピクセル/バイト) × 80(バイト) = 640(ピクセル)。
0355352
垢版 |
2018/11/09(金) 16:41:28.91ID:mgnuIu1c
>>351
見つけた。CGA では、排他使用しか出来なかったらしい。
多分、この伝統を VGA も受け継いでいたと考えられる:

【Register I/O】

03D8h: Mode control register

The following bits are used:

Bit 1: Graphics mode

If this bit is set, the display RAM will be treated as bitmap graphics rather than as text.

↑[I/O ポート、0x3D8]

BIT1 = 0 : display RAM will be treated as text.
     1 : display RAM will be treated as bitmap graphics.
0358デフォルトの名無しさん
垢版 |
2018/11/10(土) 16:53:22.03ID:mr47SEAg
ちなみに、おいらは、昔の人全体の代表ではない。
昔から、浮いた、もとい、特殊な存在だったよ。
0365◆QZaw55cn4c
垢版 |
2020/01/02(木) 15:13:56.73ID:VmmTWzwp
Windows7 が走る機械で編集・コンパイルして PC-9801FA にバイナリーを送り込む、ってのを最終的にやりたいのですが、
そしてデータ受け渡しは RS-232C が適当だと思っていますが、手をつけるにあたって何かいい方法・書籍・Cバス基盤はありませんか?
0366デフォルトの名無しさん
垢版 |
2020/01/05(日) 02:26:57.67ID:/f8ZqQ50
>>365
PC9801関連のスレで聞いた方がよいのでは?
RS-232Cなら標準搭載しているのでCバス拡張ボードは不要なんじゃ。

それよりバイナリ転送するなら、ホスト側はUSBポートしかない機種だとRS-USB変換アダプタの
フロー制御でハードウェア・ハンドシェイクできる製品を検討することが重要な気がするけど。

仮に、MS-DOS側(=PC9801)の転送ソフトを知識ゼロから自作したいという話だとしても
CCT-98IIIとかフリーソフトとかの転送用ソフトで試してみては?

様々なバイナリ転送プロトコルを勉強したいとかなら廃刊になったCマガジンとか。
(今では電子書籍で安価に買えるみたい)
0368デフォルトの名無しさん
垢版 |
2021/08/09(月) 03:13:50.04ID:TVSytFqE
>>365
Windows7→Windows98(PC-98)にネットワーク経由でデータ移動
Windows98(PC-98)→PC9801FAにMAXLINKで転送
0369デフォルトの名無しさん
垢版 |
2021/08/09(月) 03:14:58.82ID:TVSytFqE
あるいはヘキサダンプをプリントアウトしてPC-9801FAでバイナリエディタを使って手入力w
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況