mov dx,offset msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
msg db '懐かしのDOS時代のプログラミングについて語ろうぜ ver.2',0dh,0ah,'$'
前スレ
懐かしのMS-DOSプログラミング
http://toro.2ch.net/test/read.cgi/tech/1271821343/
探検
懐かしのMS-DOSプログラミング ver.2
■ このスレッドは過去ログ倉庫に格納されています
2014/05/15(木) 22:29:17.71ID:wgclvry3
2014/05/20(火) 14:31:21.65ID:H9rWh2ee
2014/05/20(火) 22:16:41.98ID:DTGkTniz
パソ通全盛期の80年代末、フリーウェアはほとんどがTurbo Cで書かれてたね。
俺はQuick Cへ行ったけど。
俺はQuick Cへ行ったけど。
2014/05/20(火) 22:49:40.37ID:EHPnqsKB
そうか?
アセンブラも多かった気がするよ。
そんな俺は、TurboPascalをasm文だけ使って構造化アセンブラとして駆使してた。
アセンブラも多かった気がするよ。
そんな俺は、TurboPascalをasm文だけ使って構造化アセンブラとして駆使してた。
2014/05/21(水) 01:21:44.42ID:0dccVoFD
TurboPascalってasm文をテンポラリファイルに書き出して子プロセスでtasm呼び出してたし、
asm文しか使わんなら素直にtasm直に使ったほうが便利だろ。
asm文しか使わんなら素直にtasm直に使ったほうが便利だろ。
2014/05/21(水) 02:16:52.39ID:4HBOiu0N
いや、tasmいらんよ、アセンブラを内蔵してる。
tasmとか呼び出すのはとろくさいC系だろ。
tasmとか呼び出すのはとろくさいC系だろ。
2014/05/21(水) 10:42:59.38ID:4V2JTL+X
OpenWatcomのことを思い出してあげてください・・・
2014/05/21(水) 14:20:23.49ID:9UV2dBKd
2014/05/21(水) 14:21:42.68ID:9UV2dBKd
リロってなかった。スマソ
2014/05/21(水) 23:02:34.16ID:IjzJywdz
Turbo Cはコンパイルも速いし、吐き出したコードもMS-Cより2〜3割速かった
2014/05/21(水) 23:53:33.54ID:+bwDOnUf
Open Watcomはインラインアセンブラ周りでいろいろ罠があって勧めにくい
2014/05/22(木) 21:58:06.98ID:YYZRRS+G
QuickCって学習用と謳っておきながら
ラージどころかヒュージモデルのライブラリまで入ってたね。
実際にQCでそんな巨大なアプリ書く奴いたのだろうか・・・
ラージどころかヒュージモデルのライブラリまで入ってたね。
実際にQCでそんな巨大なアプリ書く奴いたのだろうか・・・
2014/05/22(木) 22:12:43.70ID:b8lwZlJ1
そらゲームとかの素材置きまくったらあっという間ですわ
2014/05/22(木) 22:21:04.27ID:RtFeOXjE
ヒュージポインタはいまいち信頼出来ないと思っていた‥‥
セグメント-オフセット処理は自分でなんとかしないといけないと思うよ‥‥
というか、やっぱり 64KB 以上のオブジェクトをそのまま使おうと思っちゃいけない、自分で完全管理するしかないと
というわけで、LSI-C にラージモデル(だけでいいのでそ)のサポートがほしかった
>>35
自分で探すべきなんだろうけれども、たとえばどんなところが罠なんですか?
セグメント-オフセット処理は自分でなんとかしないといけないと思うよ‥‥
というか、やっぱり 64KB 以上のオブジェクトをそのまま使おうと思っちゃいけない、自分で完全管理するしかないと
というわけで、LSI-C にラージモデル(だけでいいのでそ)のサポートがほしかった
>>35
自分で探すべきなんだろうけれども、たとえばどんなところが罠なんですか?
2014/05/22(木) 22:35:13.79ID:JBRw0Ovv
40デフォルトの名無しさん
2014/05/23(金) 22:03:27.43ID:8WEuVIde 鯖移転完了age
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
動かなくなって、仮想マシンとか調べたら対象のOSをインストールしなければ
いけないのね。困ってたらnetでmsdos.exe見つけ、それ経由で使えてラッキー。
8085+82XXの基板がまだあって、去年は\3万の仕事を2件やりました(w
DOSでCW、エコロジーとか使ってた頃が懐かしい(w
2014/05/28(水) 21:59:10.29ID:YXeI0Mct
CWはemm386.exeと相性悪くロックしたりした。
2014/05/29(木) 02:06:23.46ID:PdPWqwDY
REDもそうかな? CWとほとんど同じ使い勝手だったのは覚えてるけど。
2014/05/29(木) 21:52:52.51ID:iJk0mA8D
初期の仮想EMSドライバは各社癖があったよな
45デフォルトの名無しさん
2014/05/29(木) 23:17:32.12ID:r/lE+ONP MELEMM.386 が一番使いやすかったな。
2014/05/29(木) 23:33:26.42ID:bDiV044Z
ああ俺もだな。
メルコの4MB-EMSボード使っていたからというのもあるけど
メルコの4MB-EMSボード使っていたからというのもあるけど
2014/05/30(金) 21:55:57.25ID:k82pJ+V4
細かな指定ができるのはメルウェアが一番だったな。
ディスクキャッシュは糞だったけど。
ディスクキャッシュは糞だったけど。
2014/05/30(金) 23:53:37.60ID:l4Bla4Ts
ダメルコのディスクキャッシュソフトで何枚FDが死んだ事か…。
2014/05/31(土) 18:47:26.00ID:zlcjKUg4
MSDN垢持ってるひとは今でもMS-DOS6.22が手に入る。6.2/Vも。
16bitコンパイラはあったかな。
Visual C++1.52cのリンカーってDOSのEXE吐けたっけ?
16bitコンパイラはあったかな。
Visual C++1.52cのリンカーってDOSのEXE吐けたっけ?
2014/05/31(土) 18:51:06.64ID:zlcjKUg4
そういえば今年はIBM-PC/AT誕生30年
2014/05/31(土) 23:28:30.03ID:RXEJjbIi
吐けるよ。win3.1用exeもdllもvbxも
quick win用exeもスタティックlibも
P-codeもcomも。
quick win用exeもスタティックlibも
P-codeもcomも。
2014/06/05(木) 15:33:44.43ID:1e659sg9
RAMDiskで768KBぐらい使って、そこに中間ファイルのパス張っておくと
コンパイルが速いってのをやったなあ。5インチ縦置き20MBのディスクの頃。
コンパイルが速いってのをやったなあ。5インチ縦置き20MBのディスクの頃。
2014/06/06(金) 07:01:46.25ID:GhQ1NNeD
TurboPASCALはコンパイル速かったなあ
ディスクキャッシュ上でコンパイルして実行。フロッピーへは遅延書き込み
ディスクキャッシュ上でコンパイルして実行。フロッピーへは遅延書き込み
2014/06/06(金) 14:24:57.88ID:Lk2ev8dF
パスカルはワンパスでコンパイルできる言語仕様だからな。
ヘッダも分離してないし、当時のマシンスペックには最適の高級言語だった。
関係ないが、アップルのSwiftがちょっとパスカル臭がしてうれしい。
ヘッダも分離してないし、当時のマシンスペックには最適の高級言語だった。
関係ないが、アップルのSwiftがちょっとパスカル臭がしてうれしい。
2014/06/06(金) 22:16:08.58ID:C9rQRi3A
Turbo Cも1パスで高速、安価、吐き出したコードもMS-Cより高速と
いいところずくめだった。日曜プログラマは一斉にTCへ流れた感じがある。
特にMSAが98用に移植した1.5が大ヒットしたね。
いいところずくめだった。日曜プログラマは一斉にTCへ流れた感じがある。
特にMSAが98用に移植した1.5が大ヒットしたね。
2014/06/06(金) 23:07:19.53ID:eycrJLmS
プリプロセッサがあったり前方参照が可能なCが1パスでコンパイルできるわけない
2014/06/06(金) 23:49:03.75ID:Rvh1VUpU
ところが、BorlandのCはプリプロセッサも含めて1パス
#if中でsizeofあたりも使えたんだぜ
最近clang化したせいでできなくなった
#if中でsizeofあたりも使えたんだぜ
最近clang化したせいでできなくなった
2014/06/06(金) 23:51:25.06ID:eycrJLmS
ああ、1パスの意味が分からん人か。
2014/06/07(土) 00:06:16.41ID:Rlb4AoSA
理解不足で速いと言いたいだけだろとも思ったけど、clang化でできなくなったというからには何か構造的なレベルでこ違いを感じてるのかなあ
つか#if内でsizeofって逆にパス増やしてない?それともプリプロセッサ内でも自然に扱えるように独自実装積み上げてたのかな
つか#if内でsizeofって逆にパス増やしてない?それともプリプロセッサ内でも自然に扱えるように独自実装積み上げてたのかな
2014/06/07(土) 00:12:52.09ID:1rlrU+oI
たーCは無駄なコード吐いてたな(Pコード形式?)
2014/06/07(土) 00:23:13.63ID:URPK0ZG/
Cはどれも似たり寄ったりだけど、ターボアセンブラは至宝!
2014/06/07(土) 00:26:28.78ID:URPK0ZG/
QuickCのコンパイル速度だけは感動した気がする
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 あるし意味ないよなあ、移植性失うし。どういう便利な使い方あんの?
> #if中でsizeofあたりも使えたんだぜ
#if sizeof(int)==4
typedef int int32;
#elif sizeof(long)==4
typedef long int32;
#endif
とかやれても limits.h あるし意味ないよなあ、移植性失うし。どういう便利な使い方あんの?
2014/06/07(土) 01:01:08.85ID:xkbQeKRh
>>56
pascal にも前方参照あるし、前方参照は call 命令だけ吐いといてあとからオペランド埋めればいいだけだよ
pascal にも前方参照あるし、前方参照は call 命令だけ吐いといてあとからオペランド埋めればいいだけだよ
2014/06/07(土) 01:14:04.36ID:ftf2LwSc
2014/06/07(土) 01:31:51.39ID:xkbQeKRh
2014/06/07(土) 01:59:08.37ID:Rlb4AoSA
ん?
横レス
本質的にできない、ってワンパスでは、ってことではないのかな。実際ワンパスで実現する方法はないよね
いや、まああえて言えばシンボル保存した上での実行時の遅延評価までやるのなら可能だろうけど。
cでそんなことやるにはobj-cみたいにランタイム用意しなきゃ無理だろ
横レス
本質的にできない、ってワンパスでは、ってことではないのかな。実際ワンパスで実現する方法はないよね
いや、まああえて言えばシンボル保存した上での実行時の遅延評価までやるのなら可能だろうけど。
cでそんなことやるにはobj-cみたいにランタイム用意しなきゃ無理だろ
2014/06/07(土) 08:34:28.22ID:Q+8mfhVa
2014/06/07(土) 08:37:32.96ID:xkbQeKRh
>>68
> ソースレベルの前方参照は、C言語はそもそも不可能だろ、普通forward宣言が必要なのを前方参照とは言わんしな
ごめん、意味がわからない
> (C++でクラス内ではまだソースコードに出現してないメンバ変数名を使えたりするようなのがそれ)
そんなことできないし
> ソースレベルの前方参照は、C言語はそもそも不可能だろ、普通forward宣言が必要なのを前方参照とは言わんしな
ごめん、意味がわからない
> (C++でクラス内ではまだソースコードに出現してないメンバ変数名を使えたりするようなのがそれ)
そんなことできないし
2014/06/07(土) 08:58:02.74ID:Q+8mfhVa
話にならんな
class t {
int f(){
return m; //この時点でmを参照できる
}
int m;
};
こういう風にまだ出てきてない宣言を使えるのが前方参照で、これは1パスでは無理
CやPascalみたいにプロトタイプやforward宣言が必須なものは、その情報だけで呼び出し側の生成には充分だからこそ必須になってる訳で1パスで可能
class t {
int f(){
return m; //この時点でmを参照できる
}
int m;
};
こういう風にまだ出てきてない宣言を使えるのが前方参照で、これは1パスでは無理
CやPascalみたいにプロトタイプやforward宣言が必須なものは、その情報だけで呼び出し側の生成には充分だからこそ必須になってる訳で1パスで可能
2014/06/07(土) 09:50:05.47ID:x1mq/AuX
バブル絶頂の80年代末、パソ通が黎明期から普及期へと移り変わった頃
Vz + TCCは俺の青春って人は多いだろうね
Vz + TCCは俺の青春って人は多いだろうね
2014/06/07(土) 12:49:34.43ID:b5C+7+IW
>>71
ちょっとおそい90年代前半だが、それでも Vz + lsic が青春でした‥
ちょっとおそい90年代前半だが、それでも Vz + lsic が青春でした‥
2014/06/07(土) 15:05:20.64ID:jBtwYmah
EZ→TunedEZ→NITemacsだったかな。
VZは仕事で使ってたか。
VZは仕事で使ってたか。
2014/06/07(土) 20:54:24.74ID:A/YL8+nC
VZを常駐させるようになって、いままで多数使用していたフリーソフトを整理できたからな。
2014/06/07(土) 21:51:29.55ID:SxbAzKvi
FDか
2014/06/08(日) 10:30:07.52ID:tmGKmt/N
fdとki-shell 手放せなかったな
2014/06/08(日) 10:33:51.59ID:397riybv
FDのひと死んじゃったんだよね南無南無
2014/06/08(日) 15:14:31.88ID:tmGKmt/N
【FD,MIEL,WTERM作者】出射 厚氏にお礼を言うスレ
http://hello.2ch.net/test/read.cgi/i4004/1128860398/
http://hello.2ch.net/test/read.cgi/i4004/1128860398/
2014/06/13(金) 16:54:32.08ID:5PYqtJdq
各自がシステムのフロッピーとデータ用フロッピー持って、共同パソコンを一々
立ち上げてはエディット・コンパイルとかやってたな。システムは左側。
HDD内蔵のパソコンが出た時は、フロッピースロットが1つしかない!って慌てたわ。
立ち上げてはエディット・コンパイルとかやってたな。システムは左側。
HDD内蔵のパソコンが出た時は、フロッピースロットが1つしかない!って慌てたわ。
2014/06/13(金) 20:08:52.74ID:18fXhIp8
システム用フロッピーには書込み防止シールを貼る
2014/06/13(金) 21:23:35.62ID:OOuIm2sp
8inchだと角を切るだっけ?
2014/06/13(金) 21:25:25.51ID:nMwWs4TK
フロッピースロットが1つでも何とかなってたような記憶が
なんかフロッピー入れ替えてた覚えがある
なんかフロッピー入れ替えてた覚えがある
2014/06/13(金) 22:49:15.95ID:dvtrgKhY
MS5550は3FDDでシステム&プログラム&データ
2014/06/13(金) 23:26:29.98ID:Dklz7Mrg
おれが大学当時、大学の授業のために5インチフロッピーが必要ってのがあった。
生協で買ったよ。1枚700円ぐらいしてた。
生協で買ったよ。1枚700円ぐらいしてた。
2014/06/14(土) 00:15:02.36ID:qR+dLg+1
>>80
書込み防止したまま書込みをすると警告と再試行、中止、無視の
指示要求が出る
その状態でフロッピーを入れ換えて再試行をするとDOSは入れ替え前の
状態から書き込むのでフロッピーの中身が大変なことになる
書込み防止したまま書込みをすると警告と再試行、中止、無視の
指示要求が出る
その状態でフロッピーを入れ換えて再試行をするとDOSは入れ替え前の
状態から書き込むのでフロッピーの中身が大変なことになる
2014/06/14(土) 00:33:31.63ID:k0KIn+V4
int 1bh
2014/06/14(土) 01:05:43.43ID:SwBFDyk2
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]にして自然ラップアラウンド、添え字計算時の
アドレス演算がワード演算されないように最適化させてます。
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]にして自然ラップアラウンド、添え字計算時の
アドレス演算がワード演算されないように最適化させてます。
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バイトもいるのかまず検討すべき。
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バイトもいるのかまず検討すべき。
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)
先頭+00にしとくのですね。今度使ってみます。ありがとう!!
ringは32と64で周回遅れが出たことがありますが、
主な理由は++した後マスク演算が要らないからです。
4CHあって、各受信256送信512、実装8KBの半分近くがringです(w
再構成するフレームがせいぜい80byte5種類位なのでこれでも余裕です。
最初に書いたときは受信バイト数を持って、書き込みで++読み出しで--、
片方は割込みだからタスク側で DI/EI してとかややこしい事書いてました。
自分では簡潔になったと思ってましたが、診て貰ってよかったです(m_ _m)
9190
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のデータシート見たら、機械語の説明表でステート数とサイクル数
という欄があるのですが、これらはどう見ればいいのですか?
なことが判りました。メインループで「そのCHに受信データがあるか?」の判定
のところで、rptrとwptrを並べて配置してあることを利用して、
LHLD rptr ;wptrとrptr両方
MOV A,H
XRA L
CNZ そのCHの受信フレーム再構成処理 と最適化してます。
こっちでメモリアクセスが1行増えるから、全体の性能はどっこいなのでした。
80C85のデータシート見たら、機械語の説明表でステート数とサイクル数
という欄があるのですが、これらはどう見ればいいのですか?
2014/06/15(日) 02:37:47.49ID:4v6gpdfe
ここで答え書いてもらうより
ステートとかで検索してみれば
ステートとかで検索してみれば
9390
2014/06/15(日) 03:32:31.88ID:n1YZfzi+ 一般用語から類推すると、ステート数=CPUクロック数 だと思えますが、
サイクル数ってのがステートより少し小さい数字で出ていて、こちらが何の事か
想像できないんです。どちらの数字に1/原CLKを掛けたものが実行時間とか。
サイクル数ってのがステートより少し小さい数字で出ていて、こちらが何の事か
想像できないんです。どちらの数字に1/原CLKを掛けたものが実行時間とか。
2014/06/15(日) 04:19:34.74ID:4v6gpdfe
メーカーさんのサイトでも覗いてみれば
もしくは電凸?答えられる人いるかな
うろ覚えだからな、ヘタにかけないし
もしくは電凸?答えられる人いるかな
うろ覚えだからな、ヘタにかけないし
2014/06/15(日) 09:45:03.27ID:UYBdvTKq
当時はステート数で実行時間を計算してたよ
DMAがどうとかウェイトサイクルがどうとか、そんな話だった気がする
DMAがどうとかウェイトサイクルがどうとか、そんな話だった気がする
2014/06/15(日) 22:24:56.95ID:QhTFjgfY
何クロックだかで1ステートとか1サイクルとか、そういう定義があった。
きちんとした資料なら定義がちゃんと書いてあるだろうし、書いてないならいまさら
確認するのは無理だからあきらめろ。
きちんとした資料なら定義がちゃんと書いてあるだろうし、書いてないならいまさら
確認するのは無理だからあきらめろ。
9790
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 だから
もっとサイクル数が多い。
4ステートの命令が1サイクル、7ステートが2サイクル、10ステートが3サイクル
なので、3で割った商で近似できそう。メモリアクセスの量みたいですね。
reg,reg 命令が一番少なくて、LDA/STAのようにメモリアクセス1回だと2サイクル
メモリアクセス2回だと3サイクル、call/return はpush/pop & jump だから
もっとサイクル数が多い。
2014/06/18(水) 04:53:41.05ID:Aotfe+zg
8085は条件分岐が成立しないと 命令の3バイト目の読み込みをスキップするから2サイクルになるぞ
9990
2014/06/18(水) 17:22:44.57ID:Nalm9W0l その辺は成立/不成立で両方書かれています
100デフォルトの名無しさん
2014/06/18(水) 20:20:12.69ID:yyD7Duxd すでに全然DOSと関係ないな…
101デフォルトの名無しさん
2014/06/18(水) 20:28:09.97ID:F0gj5v/Q V30の80モードでも動かしてるんだろう…(笑
102デフォルトの名無しさん
2014/06/18(水) 21:24:27.45ID:uuptSN8c 男なら黙ってリアルモード実行
プロテクトモード、なにそれ美味しいの?
プロテクトモード、なにそれ美味しいの?
103デフォルトの名無しさん
2014/06/18(水) 22:51:53.40ID:Ls9SsycK >>101
Z80にしてほしかったね、多分今でも買う‥
Z80にしてほしかったね、多分今でも買う‥
104デフォルトの名無しさん
2014/06/18(水) 22:53:07.93ID:Ls9SsycK >>102
VRAM を一時的に UMB にして FEP を放り込むとかできないじゃないか
VRAM を一時的に UMB にして FEP を放り込むとかできないじゃないか
105デフォルトの名無しさん
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のプログラムはタイプライタで横にテープに穴を
空ける装置で打ち込んでた。ディスプレイなんて気のきいたものはなかった。
PC9801VM2が40数万円、40MBのHDD付のPC9801VX4(?型式忘れた)が80万円。
たった40MB(GBじゃない)のHDD付で40万円も高かった。信じられる?
もっとも、ずっと前のYHPなんかFDに相当するシステムだけで1千万円、
プリンタみたいにきれいな印字ができなくてグラフを描画するプロッタ
が300万円したから、その時代よりは随分安くなったが。
ああ、当然、FORTRANのプログラムはタイプライタで横にテープに穴を
空ける装置で打ち込んでた。ディスプレイなんて気のきいたものはなかった。
106デフォルトの名無しさん
2014/06/28(土) 23:09:11.24ID:q7wXIZ2k VM2とCバスに差す40MBHDD(互換品)なら持ってた
DOSの起動が速くて感動した
FORTRANはグリーンディスプレイが付いてた世代
メインフレームに転送ボタンを押すと、瞬時に実行された!
DOSの起動が速くて感動した
FORTRANはグリーンディスプレイが付いてた世代
メインフレームに転送ボタンを押すと、瞬時に実行された!
107デフォルトの名無しさん
2014/06/29(日) 00:55:14.11ID:6LH5HMWz うちはイエローディスプレイだったな。
108デフォルトの名無しさん
2014/07/20(日) 11:52:05.80ID:UVunCW/j ★2ch勢いランキングサイトリスト★
◎ +ニュース板
・ 2NN
・ 2chTimes
◎ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
◎ +ニュース板他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
・ ログ速
◎ 全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi
※ 要サイト名検索
◎ +ニュース板
・ 2NN
・ 2chTimes
◎ +ニュース板新着
・ 2NN新着
・ Headline BBY
・ unker Headline
◎ +ニュース板他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
・ ログ速
◎ 全板実況込み
・ 2勢
・ READ2CH
・ i-ikioi
※ 要サイト名検索
109デフォルトの名無しさん
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万だとふっかけられて頭に来た。
西みたいな若造が窓口だなんて頭に来た。
懐かしいな。
4bit,8bitでゲームを作り、インベーダーではCPUやROMが無くなり海外まで資材担当にリュックを背負わせて買いに行かせたり。
インベーダーゲームの基板を買取にヤクザが会社に押しかけたり。
CP/M CP/M86 MP/M 色々やったな。
DOSには腹立たしい思いしか無い。
CP/Mのライセンスは10万とか30万とか安かったしただで使うケースも多かった。
しかしMSDOSになってから突然1000万だとふっかけられて頭に来た。
西みたいな若造が窓口だなんて頭に来た。
110デフォルトの名無しさん
2014/07/31(木) 00:37:06.37ID:DmfmvJIe LSIC-80のリンカで、ROMのアドレスを指定しないと0100h番地からになるのは
CP/M時代のルールを引きずってるんだよね。
CP/M時代のルールを引きずってるんだよね。
>>110
あれだろ,メモリ上ではプロセスの頭にヘッダが確保されている,そのヘッダの大きさにあわせているんだろ.
でもあのヘッダ(Program Segment Prefix) の半分はコマンドラインの内容だったたりするのは MS-DOS 的だったかと
(CP/M なら FCB(FileControlBlock) で引数を指定するからな
なんのための 80h バイトだったんだろ?
あれだろ,メモリ上ではプロセスの頭にヘッダが確保されている,そのヘッダの大きさにあわせているんだろ.
でもあのヘッダ(Program Segment Prefix) の半分はコマンドラインの内容だったたりするのは MS-DOS 的だったかと
(CP/M なら FCB(FileControlBlock) で引数を指定するからな
なんのための 80h バイトだったんだろ?
112デフォルトの名無しさん
2014/07/31(木) 20:14:48.22ID:D+uyueSN >(CP/M なら FCB(FileControlBlock) で引数を指定するからな
>
>なんのための 80h バイトだったんだろ?
コマンドライン全体がコピーされるしデフォルトのDMAでもあった筈
>
>なんのための 80h バイトだったんだろ?
コマンドライン全体がコピーされるしデフォルトのDMAでもあった筈
113デフォルトの名無しさん
2014/07/31(木) 21:42:42.33ID:bL+lPW5R 80h〜ffhのディスクバッファはなぜかDMAと呼ばれたたな。
フロッピーはDMAで転送すると思い込まれてたんだろうね。
それともdisk 何とか areaとかの略称だったのかな
フロッピーはDMAで転送すると思い込まれてたんだろうね。
それともdisk 何とか areaとかの略称だったのかな
114デフォルトの名無しさん
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.
とも書かれているので用語として統一されたものではない感じ。
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.
とも書かれているので用語として統一されたものではない感じ。
115デフォルトの名無しさん
2014/07/31(木) 23:33:10.93ID:bL+lPW5R さんくす。結構曖昧なんだね。
PC-88の内蔵フロッピーはDMA使ってなかったりする
PC-88の内蔵フロッピーはDMA使ってなかったりする
116デフォルトの名無しさん
2014/08/01(金) 04:27:29.00ID:5JZNpp1J >>113
> フロッピーはDMAで転送すると思い込まれてたんだろうね。
当時の CPU の能力では、DMAC を使うか、転送に専任しないと FDD (30kbyte/sec ぐらい) に間に合わなかった様な気がする。
> フロッピーはDMAで転送すると思い込まれてたんだろうね。
当時の CPU の能力では、DMAC を使うか、転送に専任しないと FDD (30kbyte/sec ぐらい) に間に合わなかった様な気がする。
117デフォルトの名無しさん
2014/08/01(金) 05:38:24.00ID:SrmWi7ta PC-88はメインCPUがZ80だけど、FDにも専用のZ80(とRAM)を持っていて
データはそれら同士でI/Oポート介してハンドシェイクしていたんだよね。
FDの方のZ80がDMA使っていたんじゃないの? 俺は詳しくしらんけど。
データはそれら同士でI/Oポート介してハンドシェイクしていたんだよね。
FDの方のZ80がDMA使っていたんじゃないの? 俺は詳しくしらんけど。
118デフォルトの名無しさん
2014/08/01(金) 05:43:42.66ID:Mjd2jJg4 >データはそれら同士でI/Oポート介してハンドシェイク
ハンドシェイクはI/O経由でも良いけど
データ転送はDMA使った方が良くね?
ハンドシェイクはI/O経由でも良いけど
データ転送はDMA使った方が良くね?
119デフォルトの名無しさん
2014/08/01(金) 05:48:27.07ID:SrmWi7ta Web見てもオーバーヘッドの問題はあったみたいだね。
もともとFDDの無かったPC-8801(8001?)から拡張して、何かしら互換性を持たせるために
建て増し的に設計して、それでFDDはサブシステムに追い出したのかも知れないし
NECの中の人が何を思う所あってそう設計したのか俺には分からないw
もともとFDDの無かったPC-8801(8001?)から拡張して、何かしら互換性を持たせるために
建て増し的に設計して、それでFDDはサブシステムに追い出したのかも知れないし
NECの中の人が何を思う所あってそう設計したのか俺には分からないw
120デフォルトの名無しさん
2014/08/01(金) 07:12:40.09ID:xs1nYim3 PC-8001の外付けFDDから既にサブシステムだったから、それを継承したんだろう
121デフォルトの名無しさん
2014/08/01(金) 09:53:03.81ID:HJ5f+bIF 元々PC-8001とPC-8031とは別々に開発がスタートしたんじゃなかったかな。
PC-8031を開発始めた段階で、どんな代物と繋ぐのかよく分かってなかったと言うw
PC-8031を開発始めた段階で、どんな代物と繋ぐのかよく分かってなかったと言うw
122デフォルトの名無しさん
2014/08/01(金) 10:10:57.54ID:BqYlDfLw PC-8031は簡単な外付け回路でセルフブートできるし、プリンタ等繋げられるI/Fもついてるから
スタンドアロンのマイコン装置としての活用も想定されてたと思う。
スタンドアロンのマイコン装置としての活用も想定されてたと思う。
123デフォルトの名無しさん
2014/08/01(金) 23:42:03.61ID:nZRBmnl1 スタンドアロンで音楽を演奏(ヘッドをガチャガチャ動かして)というのがあった記憶が
124デフォルトの名無しさん
2014/08/02(土) 17:20:35.31ID:w2qydRR0 PC-8031にプリンタ繋いで、プリンタサーバにしたことならある。
125デフォルトの名無しさん
2014/08/03(日) 00:37:03.77ID:2tEYqPx0 PC-8031って変換アダプタつければP6にも繋げたよな。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 731部隊の新資料、中国が公開 「日本が細菌戦の罪を自白」と主張 ロシアが引き渡し [少考さん★]
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★8 [ぐれ★]
- 「おこめ券は米以外の食品も買える。効果的な活用を」 地元で農水相 [山形県] [少考さん★]
- 【芸能】『女芸人No.1決定戦THE W』 粗品が最後にバッサリ「優勝賞金1000万円にしてはレベル低い大会」 [冬月記者★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 【実況】博衣こよりのえちえちダンガンロンパ4🧪
- 千晴!😡
- 🏡パン🍞つー✌まる👌見え👊😅👊
- 【悲報】日本人が散々ホルホルしていたオオスズメバチ、アメリカでいつの間にか根絶されていた [603416639]
- 俺のチンコが真っ赤に燃えるぅ!
- 【緊急高市朗報】WBC全試合、地上波完全生放送決定wmwmwmwmwmwmwmwmwmwmwmwmwmwmwmw [517459952]
