X



トップページ昔のPC
233コメント76KB
OSと言えばコレでしょ!CP/Mスレ ver.4
0004ナイコンさん
垢版 |
2018/10/08(月) 17:51:02.08
Z80でTCP/IPって、どんな用途に使うんだろう・・・?
ちょっと高いけど大きめのRJ-45コネクタで、CPU側からはシリアルポートに見えるようなものもあるのに??

SDのドライバも存在するからTCP/IPがあってもいいと思うけど。
0005ナイコンさん
垢版 |
2018/10/08(月) 22:37:59.61
sharpランゲージシリーズのCP/M買ったけどほとんど使わなかったw
OSと別に言語買わないといけなくて、しかもPascalがディスク待ちばかりで萎えた。
0006ナイコンさん
垢版 |
2018/10/09(火) 21:25:09.63
前スレにも出てきたが、このサイトはテンプレに入れてもいいんじゃないかな。
The Unofficial CP/M Web site
h ttp://www.cpm.z80.de/
0007ナイコンさん
垢版 |
2018/10/10(水) 21:36:27.05
>>6
何年後かわからんが、次スイ建てるひとはよろしくやってくれると俺は信じる!

来年中には次スレ建つとは思うけど。
0009ナイコンさん
垢版 |
2018/10/10(水) 22:56:11.18
最初のスレは埋まるのに12年かかったのを思うと
書き込みが多くなったんだな。
0010ナイコンさん
垢版 |
2018/10/11(木) 04:07:53.49
CP/Mに対するニーズが増えたのか、CP/Mを知ってる人が増えたのか、
それともCP/Mスレの住民が暇になっただけか。
0012ナイコンさん
垢版 |
2018/10/11(木) 17:24:09.31
趣味じゃなく、今もCP/Mを使って仕事してる人がいたらすごい
0013ナイコンさん
垢版 |
2018/10/11(木) 18:44:36.30
CP/MクローンのMS-Dosの子孫のwindosを使わず仕事してる奴いるの?実質CP/Mじゃん
0015ナイコンさん
垢版 |
2018/10/11(木) 20:57:24.78
フォルダ使わずにすべてのファイルをルートに置いてたら認めよう
0016ナイコンさん
垢版 |
2018/10/11(木) 22:02:26.37
コンカレントCP/Mってマウス対応してたような
0017ナイコンさん
垢版 |
2018/10/11(木) 22:15:50.18
GEMとかGSXといったグラフィクス環境で実現されてた
0019ナイコンさん
垢版 |
2018/10/14(日) 05:49:58.06
CP/Mとかの昔モノが絶えたからじゃない?
地方の市が栄えているのと同じ理由。

市の人口が増えてるんで栄えてると思いきや、その周辺が滅びて住人が市に移動してる感じ
0020ナイコンさん
垢版 |
2018/10/17(水) 02:48:52.27
 私たち日本人の、日本国憲法を改正しましょう。
総ム省の、『憲法改正國民投票法』、でググって
みてください。拡散も含め、お願い致します。
0021ナイコンさん
垢版 |
2018/11/11(日) 05:41:16.14
憲法とか関係ないから。
こんな過疎板までやって楽しいの?
0022ナイコンさん
垢版 |
2018/11/11(日) 05:51:09.16
つか、CP/Mを個人で買ったのがどんだけいるのかと。

TurboPascal目的\やSharpランゲージシリーズ(どちらも後期)以外では多くないんじゃ…って思う。
0023ナイコンさん
垢版 |
2018/11/11(日) 09:41:37.58
日本では39000円くらいしたかな
8bitパソコンが出る前はCP/Mを個人で買う人はマニアくらいのもんだな
既に動いているCP/Mマシンが無いと別マシン用のCP/Mを作れなかった
自分は会社のマシンを休み時間に使わせてもらった
“当然”自分では買ってないw
0024ナイコンさん
垢版 |
2018/11/11(日) 11:12:49.41
パソコンショップでバイトしてたとき、客先行ってちょっと
様子見てくれって言われて。

MS-DOSかと思っていじったらCP/M-86で驚いた。よく似てた。

昭和の話。
0025ナイコンさん
垢版 |
2018/11/11(日) 11:49:48.65
パクリだしな
コンピュータ関係の著作権が緩かった古き良き時代
0026ナイコンさん
垢版 |
2018/11/29(木) 05:48:04.82
TP(TurboPascal) サザンパシフィックとマイクロソフトどっちが良かったんだろ?
なんか雑誌でもめてるって記事見た記憶がある。遠い昔だけど
0027ナイコンさん
垢版 |
2018/11/29(木) 06:33:49.91
SPLとMSAが雑誌で揉めたのはTPではなくてTCだろ。
0029ナイコンさん
垢版 |
2018/12/22(土) 12:57:12.03
DDTって機種依存するっけ?
0030ナイコンさん
垢版 |
2018/12/22(土) 13:33:03.86
環境によっては 0038H をハードウェア割り込みに使ってたりするので
そういう場合は要パッチ >DDT
0031ナイコンさん
垢版 |
2018/12/22(土) 13:38:57.53
0038H(RST7)ってメモリが無い場所へ暴走したときのトラップに使ってたかも
0032ナイコンさん
垢版 |
2018/12/22(土) 15:08:49.88
>>30
情報あんがと。
CP/Mのエミュ環境作りだして、CP/M Playerを移植しようかと思ったんだけど8ビットPCエミュの上に作ったほうがよさげだね。

正月、どうせ暇だしほかにやることないから頑張ってみるかな。
0034ナイコンさん
垢版 |
2018/12/23(日) 11:57:19.11
RST 38H = FFHだから、メモリが存在しない番地を実行しようとしたときは都合がいい
0035ナイコンさん
垢版 |
2019/03/16(土) 09:18:13.63
vectorでソース付きでZ80エミュ公開してる人のをいくつか見たけどC言語で書かれてるのが多いね・・・
0038ナイコンさん
垢版 |
2019/03/22(金) 01:46:31.35
CP/Mってファイルエントリーが144ででかいファイルがあるとファイル数が減るみた
いな事書いてあったけどこれってディスクを丸ごと144等分してて一定のサイズを超
えると次ファイルまで潰れるってことですかね
小さいファイルを大量に扱う場合はまとめるためのアーカイバが必要とか思ったり
(x68kに無圧縮のアーカイバが付属してて何のためにあるのか疑問だったけど
開発初期はCP/Mファイルシステムだったのかしら
0039ナイコンさん
垢版 |
2019/03/22(金) 13:14:17.81
Cで使う.libなんてのも中身はarだし、リソースの少なかった昔の環境では無駄はあまりないよ
0040ナイコンさん
垢版 |
2019/03/22(金) 19:35:24.16
>>38
たしか、
どのセクタにデータが書かれているかの情報がファイルエントリー内にあって、
大きいファイルになると足りなくなって別のエントリーを使うような感じ。だったはず。
0041ナイコンさん
垢版 |
2019/03/22(金) 20:12:36.62
>>38
1つの管理領域(extent)で16KBまでの管理ができる
24KBくらいのプログラムを読み込むときはFDDのシーク音が
トン トン トン ギーコ トン トン
というような感じだった
ギーコで2個目のextentをアクセスしている
0042ナイコンさん
垢版 |
2019/03/22(金) 20:13:07.57
>>38
ちょっと違うかな。
それはFAT12ファイルシステムの話。
エントリの最大数は112だったような?(細かい数字は失念)

FAT12を採用してる限り、CP/Mに限らずどのOSでも同じだったはず。
あと2Dとか2DDなど、メディアの種類によってもエントリ数が違ったような…
0043ナイコンさん
垢版 |
2019/03/22(金) 21:19:56.48
CP/MはFATではない
ディレクトリエントリに直接FATみたいなデータがあって大きいファイルはディレクトリエントリを複数使う
0044ナイコンさん
垢版 |
2019/03/23(土) 13:46:25.81
1エントリー16kで等分されてるんですか小さいファイルでも16k消費するみたいな
工夫でなんとかなるから無駄とは思わないし直感的に分かりやすいですね
0045ナイコンさん
垢版 |
2019/05/12(日) 23:30:24.20
武田さんところのCPMPlayerをVCからBCC/GCCに移植したんだが元ソース読みづらいし
元々Windows環境のためかutils関数群がWindows依存で困る。
raspi上で動かせるよう目指したが、関数依存で他の環境に移植できず止まってる
0046ナイコンさん
垢版 |
2019/05/13(月) 11:57:05.55
>Windows依存で困る

それをなんとかするのが移植でしょうに
0048ナイコンさん
垢版 |
2019/05/18(土) 18:39:56.73
今時のPCは99%Windowsなんだから困る奴のほうがゴミ技術者だろ
0049ナイコンさん
垢版 |
2019/05/18(土) 19:03:42.59
Windows向けに書いてるのにWindowsに依存するなとかw 素人プログラマかよw
0050ナイコンさん
垢版 |
2019/05/18(土) 22:04:30.12
そういうバカに限ってマックを使いたがるのは何でだぜ?
0051ナイコンさん
垢版 |
2019/05/18(土) 23:03:01.73
LinuxにCP/Mエミュぐらいいろいろあるだろうに移植しなくても
0052ナイコンさん
垢版 |
2019/05/24(金) 05:38:08.89
Javaで書いちゃいなよYou。
0053ナイコンさん
垢版 |
2019/05/24(金) 15:57:12.56
コンソールアプリのわりには、Windowsに依存してるよね。

まー、エスケープシーケンスの処理とか入ってると思うと仕方ないかなー、ともおもう。
0054ナイコンさん
垢版 |
2019/05/24(金) 22:38:54.55
一体この子は何を言ってるんだw
大多数の人、市場はCP/M→DOS→Windowsって進んだんだよw
0055ナイコンさん
垢版 |
2019/05/25(土) 02:50:37.54
Linuxが安定したのがつい最近、ここ10年だということを知らないのさ。
0056ナイコンさん
垢版 |
2019/05/25(土) 15:24:14.74
Linaxが安定したのがつい最近ならMaicrosoftはいつ安定するんだい?いまだに毎月アップデートしてるけど
0058ナイコンさん
垢版 |
2019/05/25(土) 19:23:35.21
Linuxが安定ねぇ。
カーネルは20年ぐらい前から安定動作してるけどXより上は今でも不安定っちゃ不安定だろ。
ひところよりはましになってるけど。
0060ナイコンさん
垢版 |
2019/05/26(日) 08:15:22.97
CP/MプレイヤーをJavaで書き換えてる俺より先にGCCに書き換えちゃった人が出てきたみたいだ。
正月に手を付けたけどなかなか気が向かなくて、ちょっとずつやってるんでトータルでまだ5日分ぐらいかな?
でも夏休みまでには終わりそうだ(今年の夏休みとは言ってないw
0061ナイコンさん
垢版 |
2019/05/26(日) 14:44:23.49
Java屋はなんでもJavaで置き換えようと必死だけど需要ないよね。
0062ナイコンさん
垢版 |
2019/05/26(日) 17:53:22.92
冷蔵庫の閉め忘れをセンサーで検出する機能のようなものであるとハードと連携しないとうまくいかないからエミュレーターでI/Oポートが利用できないと難しいが
CP/Mで動くBMI計算とか簡単なお薬り検索データベースとか簡単な健康用アプリ作ればjavaでも需要はあるかもね
高齢だからな
0063ナイコンさん
垢版 |
2019/05/26(日) 18:58:31.58
Javaで書いてるのはAndroidのソフト作るための勉強だよ。
完全に趣味だからのんびりやってる。
50すぎてからJavaに手を出したけど、なかなか面白い言語だよねJava。
0064ナイコンさん
垢版 |
2019/05/26(日) 22:39:51.97
googleはJavaパクリ訴訟で負けたから、これからのandroidはkotlinの時代なのに
0065ナイコンさん
垢版 |
2019/05/26(日) 22:59:35.38
今更JABAとかこの板らしくて微笑ましいじゃないかw
0066ナイコンさん
垢版 |
2019/05/27(月) 00:09:44.14
8(オレオ)も9(パイ)もAOSP見たら中はJavaだったし、AndroidStudioもコトリンと言いつつJavaみたいだったけど?
コンパイラの名前が違うぐらいじゃねーのか?
0067ナイコンさん
垢版 |
2019/05/29(水) 00:18:25.15
OS本体の話ではなくアプリ作成だろう既に50%超えてるらしいよコトリン
0068ナイコンさん
垢版 |
2019/06/02(日) 06:05:35.88
古都リンってなんや?
アンドロイドのせいで
やっとJAVA一色の世界がやってきたのかと思ったのにちがうのか
0069ナイコンさん
垢版 |
2019/06/16(日) 09:22:23.71
>>51
Linuxで動くsimhというエミュレーターがいろいろなハードウェアに対応してるね
vax780やPDP-11にも対応してて4.2BSDや4.3BSD、Version7 UNIXなど昔のUNIXも走る
その中でAltairZ80というのがあってこれがAltair 8800のエミュレーターで8080だけでなくZ80にも対応してる
simh、AltairZ80でGoogleで検索するとCP/Mを動かしてる人のページがいろいろ出てくる
0070ナイコンさん
垢版 |
2019/06/16(日) 09:24:19.26
あと、simhはWindows上のCygwinでもコンパイルして動作する
0071ナイコンさん
垢版 |
2019/06/16(日) 09:31:23.88
ttps://schorn.ch/altair.html
ここにsimhのWindows版やMac版のバイナリがある
CP/Mのディスクイメージもここにある
Linuxならsimhを自分でビルドした方がいい
Raspberry PIでやってる人もいるね
0072ナイコンさん
垢版 |
2019/07/29(月) 13:10:06.31
文字コードのマルチバイト系は動作するのかな?
0076ナイコンさん
垢版 |
2019/10/06(日) 17:34:12.75
なんとかキー入力とテキスト表示が実装できたぞJava版(になると良いな)CP/M Player。
CPUと仮想マシン部分が別物になってしまってるけど・・・
0078ナイコンさん
垢版 |
2019/10/07(月) 22:16:05.94
今も昔もみんなJVM入れたがらないから使ってもらえないぞ。
0079ナイコンさん
垢版 |
2019/10/11(金) 09:29:19.82
Java版CP/Mplayerは自習用だから公開するつもりはないよ。
0080ナイコンさん
垢版 |
2019/10/12(土) 01:06:59.88
なら開発過程はチラシのウラにでも書いてろ
0081ナイコンさん
垢版 |
2019/10/12(土) 13:23:40.70
ここがチラシの裏なんだが?
0083ナイコンさん
垢版 |
2019/10/13(日) 08:28:31.97
なら開発過程は自分の日記にでも書いてろ
0086ナイコンさん
垢版 |
2019/10/14(月) 21:42:22.02
ここは公衆便所の壁だろw
チラシの裏の方が数段格上だ
チラ裏なら他人様に一切迷惑をかけたりはしないからなw
0087ナイコンさん
垢版 |
2019/10/15(火) 01:13:56.00
>チラシの裏
おまえんちで閉じてろ=他人の目にさらすな
って意味だと思ったが、今は違うのか
0088ナイコンさん
垢版 |
2019/10/17(木) 13:40:45.67
過疎スレなんだからCP/M関連なら何書いてもいいと思うが
0089ナイコンさん
垢版 |
2019/10/17(木) 17:48:16.97
現時点でCP/Mはフリー配布ってことになってるのかしら
0090ナイコンさん
垢版 |
2019/10/17(木) 23:30:31.56
>>89
ライセンスはSCO子会社のLineoが持っている(らしい)
Lineoの許諾を受けたUnofficialなサイトからダウンロード可能

自分で使う分には実質フリーだと思っていいのでは
Unofficial CP/M pageのFAQにも書いてある
0091ナイコンさん
垢版 |
2019/10/27(日) 10:51:34.03
年末にZ80伝説が出るけど、やっぱり自分で作る人増えるのかな?
Z80はまだ手に入るよね
するとプログラム作る上でCP/Mエミュレータとフリーで配布されてるソフトが役に立ちそうだね
0092ナイコンさん
垢版 |
2019/11/09(土) 12:30:11.28
6502や8080だと命令数が少なくて実装作業は楽なのだがZ80や6809になると命令数が
16bitのように増えるので個人レベルで楽しむのはかなり大変な作業になると思う。
オープンソースのソフトがあると便利だね。
0093ナイコンさん
垢版 |
2019/11/09(土) 19:53:23.40
CP/M(1.4)は当時38000円だったかな (Lifeboat?)
BIOSは自分のマシンに合わせてASMソースレベルでカスタマイズが必要
それには既に稼働している別のCP/Mマシンが必要だった
0094ナイコンさん
垢版 |
2019/11/15(金) 13:39:09.17
8080伝説にCP/Mはアメリカでは75ドルで売られてたと書かれてたような
1ドル250円として計算しても19000円くらいか
アメリカでは安かったので爆発的に普及
日本とアメリカではずいぶんと事情が違ってたんだろうね
0096ナイコンさん
垢版 |
2019/11/16(土) 01:57:39.80
>>95
MAC? …Appleはデジタルリサーチから権利買ったんだろうか?
0097ナイコンさん
垢版 |
2019/11/16(土) 08:08:40.55
>>96
8080、Z80用のマクロアセンブラ。MAC80.COMだったかな。
自分はずっとM80使ってたけど、
ネット上に有ったCP/MをPC-8801に移植する際に
付属のセクターデブロッキングのソースがMACでしかアセンブル出来なかった。

昔のASMソースにはMAC専用のマクロが書かれている場合もあるようだ。
0098ナイコンさん
垢版 |
2019/11/18(月) 13:57:01.11
関係ないけどAppleIIにはz80拡張ボードがあってCP/Mが使えた
0099ナイコンさん
垢版 |
2019/11/19(火) 11:52:10.44
>>95
シンボリックデバッガってこの時代からあったのか
0100ナイコンさん
垢版 |
2019/11/19(火) 11:53:55.17
>>98
MicrosoftのSoftCardでしょ。Z80カードとCP/Mのセット
単体としては世界で最も売れたCP/Mだったらしいね
0101ナイコンさん
垢版 |
2019/11/19(火) 13:55:19.99
>>100
WikipediaのSoftCardの項目に
The SoftCard was developed by Tim Paterson of Seattle Computer Products (SCP).
と書かれてるね
MS-DOSの元となったQDOSを開発したのがSCPのTim Patersonだから
このときの付き合いがきっかけでMS-DOSが誕生したのかな?
0102ナイコンさん
垢版 |
2019/11/19(火) 13:56:46.06
ちなみにマイクロソフトはQDOSの件でTim Patersonに訴訟を起こされて和解してるんだよね
0103ナイコンさん
垢版 |
2019/11/20(水) 01:26:28.02
Java版CP/MプレイヤーをAndroidに移植完了!って自分のサイトにひっそりとおいておいたらダウンロードしていった奇特な奴がいたw
サーチエンジンのクロウラーかなぁ?
0104ナイコンさん
垢版 |
2019/11/20(水) 09:06:26.56
多分それ。
うちも誰も来ない個人ホームページ(死語)を放置してあるけど
1日2〜3のアクセスがある。
0106ナイコンさん
垢版 |
2019/12/14(土) 14:44:09.51
CP/Mで動くブラウザってあったっけ?
0107ナイコンさん
垢版 |
2019/12/14(土) 17:13:57.84
昔ドスパラにCPMの詰合せがCD5枚組とかで売っていたから購入しとけば良かった。
0108ナイコンさん
垢版 |
2019/12/16(月) 04:14:46.80
CD5枚組?
どんな内容だったんだろ。
0109ナイコンさん
垢版 |
2019/12/16(月) 09:59:48.68
そんなに入れるものあるのか?
ウォールナッツクリークのCP/M CD-ROMでも、一枚で随分余裕があったぞ。
0110ナイコンさん
垢版 |
2019/12/16(月) 18:16:37.38
マイナーなヤツとバージョン毎では無いかと。
0111ナイコンさん
垢版 |
2019/12/18(水) 22:19:21.36
111
0112ナイコンさん
垢版 |
2019/12/18(水) 22:49:03.12
PC−98版のCP/Mってでてたのね。ジャンクで見つけた。
0113ナイコンさん
垢版 |
2019/12/19(木) 11:57:46.81
DOSが一般化する前はCP/M86も結構使われていたような
0114ナイコンさん
垢版 |
2019/12/19(木) 20:19:58.57
V30で8080エミュレーション使う話じゃないのか。
0115ナイコンさん
垢版 |
2019/12/24(火) 22:53:05.75
CP/M86 は初代9801とほぼ同時に出荷。82年末。MS-DOSは翌年春。
9801用にはシングルユーザ・マルチタスク版のコンカレントCP/M86もあった。
といってもせいぜいプリンタをバックグラウンドで動かす程度しかできなかったけど。

さらに98用ではなかったっと思うけどマルチユーザ版のMP/M86もあった。
ホスト機のシリアルに文字端末を1ー2台程度つなげて複数人で使えるというもの。
ノンプリエンティブで初期8086が非力なのでお待たさせ感いっぱいで重かったです。

VM2@v30の8080エミュ利用のナンチャッテCP/Mは実際に商品として売られていたです。
83-88年?くらいまではC-BUSなz80基板のカノープスのplus80が人気で
横浜のサザンパシフィックの64180基板とか、類似のCP/Mエミュも売られていた。

ま、それらもDOS用のクロス環境の充実とともにサチュレートしちゃいましたが。
0116ナイコンさん
垢版 |
2019/12/26(木) 12:18:50.35
文豪Mini5
0117ナイコンさん
垢版 |
2019/12/26(木) 13:40:01.74
>>115
98用CP/M86は、ディスクが一万円でマニュアルが1.5万円だったんだよな。

DiskBasicで使ってたけど、アセンブラが欲しかったんでCP/M86のディスクだけ買って
CP/MでアセンブルしてオブジェクトファイルをBASIC側で読むプログラム作って
BASIC+機械語で使ってたわ。
0118ナイコンさん
垢版 |
2019/12/27(金) 22:14:22.56
>>115
>それらもDOS用のクロス環境の充実とともに

たしかに、DOS版PROASM-II が出てから、98+Z80カードのCP/Mエミュとはいえ、
CP/MのバッチファイルでM80でアセンブルするのが面倒くさくなったな。

DOS版ならMakeもつかえるし。
0120ナイコンさん
垢版 |
2020/03/10(火) 22:20:12.78
インターコネクトにリングバス使ってるのが堅実でいいね
クロスバーで16ノードとか個人だと手に余りそうだし
0121ナイコンさん
垢版 |
2020/06/09(火) 13:51:19.36
X1 turboZ用にCP/Mとhitech C買ってC言語勉強した想い出。
320kb RAMボードも買って無音コンパイルがすげー速くて感動したっけ。
0122ナイコンさん
垢版 |
2020/06/19(金) 23:45:15.60
CP/M Version3(CP/M Plus)はZ80でなくi8080やi8085でもよかったんだね。
非バンクメモリ版とバンクメモリ版(最大16バンク)があり、
最大16台のストレージ(A:〜P:)を扱える。
0123ナイコンさん
垢版 |
2020/06/21(日) 14:15:08.63
CP/Mのアプリは80桁欲しい。
ビルゲイツがV9938に80桁を求めたのもそれ。
0124ナイコンさん
垢版 |
2020/07/15(水) 21:55:24.93
>>116
文豪の件は雑誌にもあったはず、プロセッサかザBasic。
本当かな?とショップで文豪の特殊キー押したりしたあの頃。
0125ナイコンさん
垢版 |
2020/07/18(土) 15:36:10.57
雑誌THE BASICで知った。
文豪mini5は何かのキーを押しながら電源入れると
CP/Mが立ちあがったと記憶。

FDDは3.5インチ2DD 640KB 8セクタ/トラック。だったと思う。
80/88用CP/MとMBASIC.COMの正規品を購入して
CP/Mが立ち上がってる文豪にCOMファイルをシリアル転送。
ただし、エディターは行数変更の必要あり、フォーマットは
文豪の文書ディスクフォーマット機能を使ったかな。
旅行先に持って行ったりした。まだ、ノートPCが高価な頃。
0126ナイコンさん
垢版 |
2020/10/06(火) 22:09:09.51
640KB(2DD)のメディアで80トラックだとすると1セクタが512バイトの計算になるかな?
0128ナイコンさん
垢版 |
2020/10/07(水) 02:31:32.36
その種の源流辿りということなら、CP/MはDECのPDP-8,PDP11というミニコン系列の
OSのRT-11、OS/8、TOPS-10あたりまで辿れる。PIPコマンドや論理デバイスの扱い
などモロにDEC系。というのもキルダールがDEC使いでCP/Mの記述言語PL/MはPDP-8上で
8080の命令語エミュレータを書いた上で開発されたという経緯。依頼主はインテル。さらに
聞くところによれば日立がインテルからPL/Mのソースライセンスを買ってPL/M68Kを
ポーティングしそれを元にDRIがPL/M68Kが。ということらしい。
0130ナイコンさん
垢版 |
2020/10/07(水) 10:42:34.97
英語圏ではビジネスアプリも売れたからCP/Mマシンの需要が高かったけど、日本だと開発ツールくらいしか需要がなかった。
0132ナイコンさん
垢版 |
2020/10/07(水) 15:39:21.93
その思想で馬鹿売れしたのがオズボーン1
0133ナイコンさん
垢版 |
2020/10/13(火) 23:02:02.45
ちょっと気が付いたんだが
CP/Mで扱えるディスクの最大サイズが8MB、
今Windows10が扱えるパーティションの最小サイズが8MB
なにか関連でもあったりするかなぁ?
0134ナイコンさん
垢版 |
2020/10/22(木) 17:07:26.32
特にないと思うけどCP/Mのドライブをwin10で読めるなら面白いかもね
Wordstarファイルのサルベージが出来るとか
0135ナイコンさん
垢版 |
2020/10/30(金) 19:05:43.06
叔父が入院したときにもう使わなくなるだろうからと
CP/Mplus一式をくれたんだ…
もうワードマスター付きだったから
ヒーロー?
0136ナイコンさん
垢版 |
2020/11/03(火) 00:20:58.57
>>132
一応OSBORNEについて調べてみたよ。ようつべ?に
8bit guysシリーズのビデオで〜Demonstration and Reviewというのがあり、ひととおり動いているところが見れる。
CP/Mは60Kのシステムらしい。”1”の後継機も2種類紹介されていた・・・
0137ナイコンさん
垢版 |
2020/11/05(木) 01:24:17.91
CP/M-86 2D のシステムFD を
CP/M-86 2HD のシステムFD に
コンバートするには如何やったら
正解なの?
0138ナイコンさん
垢版 |
2020/11/05(木) 06:29:27.72
CP/Mは88/C1で2HDのFDDやHDD起動できたんですかね?
0139ナイコンさん
垢版 |
2020/12/11(金) 07:24:55.46
X1のCP/Mはエスケイプシーケンスで画面制御できるみたいだが、PC88用は動かない?
0140ナイコンさん
垢版 |
2020/12/19(土) 09:29:51.23
CP/Mのbdosコール使ってワイルドカードでのファイル探索のプログラムを作ってみたいのだが、たかがDIRと同じ機能を実現しようとして難儀してます。
コールの順番とかあるのでしょうか。
エロい人教えてください。
0141ナイコンさん
垢版 |
2020/12/19(土) 15:12:44.55
CCPソースのDIRコマンドのところ見たらそのものずばりのような気が
2.2のOS2CCP.ASMのdirect:のラベルのところ見たら、なんやかやサブルーチンで最終的に
jmp bdosになる
0142ナイコンさん
垢版 |
2020/12/19(土) 19:08:51.05
やはりそれしかないようですね。
調べてみます。
0143ナイコンさん
垢版 |
2020/12/19(土) 20:07:14.82
>>141
FCBが36バイト単位だと勘違いしてました。
C言語のヘッダー見て勘違いしてました。
BDOSコールしたバッファみたら32バイト単位でした。
お騒がせしました。
0144ナイコンさん
垢版 |
2021/01/10(日) 07:26:32.21
CP/Mでプログラム終了時にCCP読みに行くのを止める方法ありますかね。
Warmbootに飛ばしても読み出すみたいなので。
0145ナイコンさん
垢版 |
2021/01/11(月) 11:04:23.52
>>144
Worm bootに飛ばすとCCPをリロードするのは定番ですね (^^
5番のBDOSコール実行で実現できます。
LD C,0
JP 0005H
0146ナイコンさん
垢版 |
2021/01/11(月) 12:45:27.45
>>145
コールドブートの方は試してませんでした。
やってみまーす。
0147ナイコンさん
垢版 |
2021/01/11(月) 17:35:13.42
>>144
スタックを少ししか使わないアプリなら RETで戻れるんじゃなかったっけ?

SPを自領域に設定する場合は、
CPPのSP値を覚えておいてアプリ終了直前にそのSPに戻してからRET
0148ナイコンさん
垢版 |
2021/01/12(火) 21:04:18.81
CP/M-80のHDD限界は、128Byte管理で、65536管理の8MByteになるのでしょうか?
0149ナイコンさん
垢版 |
2021/01/12(火) 21:11:46.44
>5番のBDOSコール実行で実現できます。
すまん、まちがったので念のため。
Cに0を設定しているので「0番のBDOSコール」と書くべきだった。

>>147
なるほどたしかに、C9(RET)のコードで始まる.COMを作成した場合、
実行するとそのままプロンプトが出る。
0150ナイコンさん
垢版 |
2021/01/17(日) 12:34:04.97
>>148
自分の考え方(論)です。
DPB(Disk Parameter Block)というメディア・ドライブの仕様より
トラック、セクタの数がいずれも1バイトで示されているから。

セクタのサイズ(論理)は128バイト固定。
それぞれ最大値を入れて計算してみてね。
0151ナイコンさん
垢版 |
2021/02/10(水) 12:25:08.95
最近思うのだが、16ビットのCP/M-86がMS-DOSの前に破れ去ったのは
ゲーリー・キルドールの「進取の無さ」が原因かなと思う。
CP/M-80で一応成功したので、あくせくしなくたって一生遊んで暮らせる
金が手に入ったのだから。
CP/M の構造的な改革に手を出す気なんて無かったんだろうな。
0153ナイコンさん
垢版 |
2021/02/11(木) 00:32:11.29
CP/M-86でも、ディスク入れ替えたら^cは必要だったの?
0154ナイコンさん
垢版 |
2021/02/11(木) 00:58:51.34
>>153
ただね、CP/M の あのディレクトリ・ファイル構造が如何にも
前時代的だったというか、一過性の造りとしか思えない...
0155ナイコンさん
垢版 |
2021/02/11(木) 01:00:45.20
すまん、154は、>>152 宛てだった
0156ナイコンさん
垢版 |
2021/02/11(木) 01:16:08.60
ディレクトリエントリ内にFATに相当するテーブルも持っていて、それが16バイトしかないから、
16クラスタを超えたら同じ名前のディレクトリエントリをもう1つ作って続番を増やすってやつね。
0157ナイコンさん
垢版 |
2021/02/11(木) 18:29:54.39
>>151
奥さんの爪が長かったから、と聞いておる
0158ナイコンさん
垢版 |
2021/04/18(日) 12:49:11.57
CP/Mは値段がねぇ
シャープランゲージシリーズが出るまでは、PCメーカーからは安価なのがなかった。

サードパーティ製は知らん。
0159ナイコンさん
垢版 |
2021/04/21(水) 00:37:33.68
当時中学生〜高校生でとにかくカネが無かったので
レンタルソフト屋でコピーして使ってた…
レンタル屋のデモ機でメディアコンバートまでして持ってくるという図々しさ

クラスの奴らには、ただでさえ乏しい小遣いでゲームをコピーしてこない「使えない奴」呼ばわりまでされる始末
0160ナイコンさん
垢版 |
2021/04/24(土) 20:35:53.16
PC買い替えたとき友人からコピーソフト入カセットテープもらっただーよ。
反射神経ゼロなんで遊べなかったが(´・ω・`)
0161ナイコンさん
垢版 |
2021/04/24(土) 20:38:34.98
そういえばCP/Mってカセットテープをストレージに使えたっけ?
全然記憶にない(汗;
0162ナイコンさん
垢版 |
2021/04/27(火) 23:04:26.76
EPSONならそんな仕様だったか
FM-8,7系はROMのBIOS解析するとその機能があった記憶が
PC系は全部自己開発だろ
0163ナイコンさん
垢版 |
2021/05/08(土) 09:02:55.21
>>161
X1のCP/MならCMT.COMってのがあり、
CP/MとBASIC間でデータ交換ができたんだ・・・
0164ナイコンさん
垢版 |
2021/05/08(土) 13:42:44.15
>>161
CP/M自体のサポートは無いけど遊びでディジタルカセット(TEAC MT-2)をドライブに仕立てたことがあった
FD的に「フォーマット」してトラック・セクタに対応したブロックにR/Wする
カセット片面で100KBくらいしか入らなかったかな
ディレクトリ管理領域とデータ領域とが何十メートルも離れてたりw (FDでは数センチ程度)
0165ナイコンさん
垢版 |
2021/05/26(水) 19:05:23.81
カセットテープにはMOUNT REMOVEがいるなんて完全に忘れていたが考えてみれば当然か
昔の人はすごいと思う
0168ナイコンさん
垢版 |
2021/09/27(月) 07:02:20.59
VMwareでCP/M-86が動くね
ASM86も入ってるのでアセンブラプログラミングでもきるよ

ttp://www.z80.eu/blog/index.php?entry=entry120807-180000
ttp://www.z80.eu/downloads/cpm86fl2.zip
0169ナイコンさん
垢版 |
2021/09/27(月) 08:47:58.30
iPadでエミュで610円はお高いカモだが。まあ全部入り簡便なので。

iAltairHD pretends to be a MITS Altair 8800 computer and gives you a glimpse how old operating systems like CP/M 2 have felt. It is fully loaded with software but please note that the system is completely self contained and this means that you cannot remotely add any code.

If you want to play a classic text based adventure game such as Zork, talk to Eliza, play Startrek, do a little bit of WordStar or create a little program in Basic or TurboPascal, iAltairHD is for you.

The iAltairHD computer supports
- 8080, Z80 and 8086 CPU
- Basic VT100 terminal emulation for full screen editors and games
- CPU speed throttling for classic terminal games
- Dropbox integration for disk backup

The following software is included:
- Altair Basic (4k and 8k) and Altair DOS
- CP/M 2 with Basic, Pascal MT+, Prolog, TurboPascal, WordStar, VEDIT screen editor, Multiplan, dBASE II, a collection of classic Basic games and text based adventures
- CP/M 3 with the possibility to exchange data between CP/M 2 and CP/M 3
- CP/M 86 with VEDIT and Pascal MT+ 86
- MS-DOS 1.25 with Basic-86 and Perfect Writer

https://apps.apple.com/jp/app/ialtairhd/id413875670
0170ナイコンさん
垢版 |
2021/09/27(月) 18:19:54.04
>>168のCP/M-86でAztec C 3.2dが走ったよ

ダウンロードファイル
https://pastebin.com/TeeWWEfs

cpm86fl2.zipのfloppy.flpでVMwareで起動できます

vmwareイメージからcp/m-86イメージに変換
cpm86cnv blank_disk_vmware01.flp blank_disk_cpm01.flp vmw-to-cpmt

cp/m-86イメージからvmwareイメージに変換
cpm86cnv blank_disk_cpm01.flp blank_disk_vmware01.flp cpmt-to-vmw

cp/m-86のイメージにバイナリファイルをコピー
cpmcp -f cpm86-144feat convert_disk_cpm01.flp cc.cmd 0:cc.cmd

cp/m-86のイメージにテキストファイルをコピー(改行文字をCRLFにしてから変換する)
cpmcp -t -f cpm86-144feat convert_disk_cpm01.flp hogehoge.c 0:hogehoge.c


Aztec Cのイメージディスク作成方法

cpm86fl2.zipの中のfloppy.flpをコピーして消せるファイルはすべて消してbland_disk_vmware.flpを作りました
floppy.flpの中のファイルを消さないと容量的に厳しいようでイメージの中のファイルが壊れました

こんな感じでイメージファイルを作りました
https://pastebin.com/uDPv0N43

作成されたaztec_c.flpがVMware用のAztec Cのイメージファイルです
作成したaztec_c.cpm.flp、aztec_c.flpは容量的にこれ以上ファイルを詰め込むと
イメージの変換時に壊れるようなのでHDDにコピーするなどして使ってください
0171ナイコンさん
垢版 |
2021/09/27(月) 18:20:56.11
続き
VMwareでCP/M-86でHDDを使う方法

1.仮想マシン起動時にF2を押してVMWareのBIOSを起動する
2.上のメニューのMain画面でPrimary Masterを選択してEnter
3.Type:をUserにする
4.Cylinders:を615にする
5.Heads:を4にする
6.Sectors:を17にする
7.Maximum Capacityが21MBになってることを確認する
8.Multi-Sector Transfers:を16 Sectorsにする
9.LBA Mode Control:をDisabledにする
10.32bit I/O:をDisabledにする
11.Transfer Mode:をStandardにする
12.ESCを押してPrimary Master画面を抜ける
13.F10を押すか上のメニューのEXITにカーソルを合わせてExit Saving Changesを選択してEnter
14.Aドライブにcpm86fl2.zipの中のfloppy.flpを入れてフロッピーから起動する
15.B:ドライブがHDDになっていればOK

b:
stat dsk:
で確認できる

pip b:=a:*.*
でAドライブの中のファイルをすべてBドライブにコピーできる
0172ナイコンさん
垢版 |
2021/09/27(月) 18:23:01.41
続き
コンパイル方法
cc exmpl.c
ln exmpl.o c.lib

アセンブラ出力が必要な場合
cc -a exmpl.c
as exmpl.asm
ln exmpl.o c.lib

浮動小数点演算を使う場合はm.libもリンクする
cc exmpl.c
ln exmpl.o m.lib c.lib

インクルードファイルのドライブを指定する場合は-iオプションでドライブを指定する
(例ではBドライブがインクルードファイルの置かれてる場所)
cc -ib: exmpl.c
ln exmpl.o m.lib c.lib
0173ナイコンさん
垢版 |
2021/09/27(月) 18:47:36.09
続き
書き忘れましたがHDDのフォーマットはHDMAINT.CMDで行います
1.コマンドラインから
HDMAINT
と入力して起動します
2.F1を押します
3.F6を押します
4.F10を押します
5.Enter partition size:と聞かれるので再度、F10を押します
6.F2を押して2048を選択し、F4を押してwillを選択してF10を押します
7.Creation of CP/M volume completeと出たらF9を押します
8.cpm86fl2.zipの中のfloppy.flpをAドライブに入れてF9を押して再起動します

コマンドラインで
a:
a:stat dsk:

と入力して認識してるか確認してください

a:pip b:=a:*.*
でAドライブの中のファイルをすべてBドライブにコピーできます
0174ナイコンさん
垢版 |
2021/09/27(月) 18:49:27.70
確認はコマンドラインで
b:
a:stat dsk:
でした
0175ナイコンさん
垢版 |
2021/09/27(月) 19:08:51.88
cpmcp.exeを他のの場所にをコピーするときは
同じ場所にdiskdefsも一緒にコピーしてください
0176ナイコンさん
垢版 |
2021/09/27(月) 19:13:50.47
CP/M-86の使い方はこれを見てください
ttp://www.cpm.z80.de/randyfiles/DRI/CPM-86_Users_Guide.pdf
0177ナイコンさん
垢版 |
2021/09/27(月) 19:24:37.14
簡単な使い方はこんな感じです
eraやpipはMS-DOSと同じようにワイルドカードが使えます

era hogehoge.txt         hogehoge.txtを削除
pip b:hagehage=a:hogehoge.txt  Aドライブのhogehoge.txtをBドライブにhagehage.txtという名前でコピー
pip b:=a:hogehoge.txt      Aドライブのhogehoge.txtをBドライブにコピー
type hogehoge.txt         hogehoge.txtを画面に出力
submit hoge.sub          hoge.subという名前のバッチファイルを実行する

画面出力はCTRL+Sで止まります再開もCTRL+Sです
0178ナイコンさん
垢版 |
2021/09/27(月) 19:32:49.64
最後にフロッピーディスクを入れ替えたらCTRL+Cを押して
ディレクトリ情報の更新を必ずしてください
0179ナイコンさん
垢版 |
2021/09/27(月) 19:50:45.34
CP/M86は1981年の暮れに、DRIのオリジナルターゲットの構成で走らせた。
インテル純正のマルチバス基板 iSBC86/12A(cpu+64KB)+iSBC064(64kb)
iSBC208(FDC)。CP/M86は青山の青学会館近くのマンションの一室に
オフィスを開設したばかりのMSA(マイクロソフトアソシエイツ)で入手。
空便で今初便が届いたよと連絡を受けて青山に取りに行った。自作PCのように
全てインテル純正の基板と筐体、電源を組み上げて、8インチFDDを接続。
空輸便のオリジナルフロッピー入れて起動。改造無し。一発起動成功でした。

CP/M機を製造販売していた三鷹の某D社の課長に電話入れたら、ウチは
もうすでに動いていますよ。DRIとは直接取引していますから。ってね
マウント取られちゃったよw

この世にIBM-PCも9801も存在していなかった1981年。大昔の話ですなあ。
0180ナイコンさん
垢版 |
2021/09/27(月) 20:56:33.10
cpm86cnv.zipの中のCPM86CNV.Cのビルドは
Visual Studio Community 2019で行う場合は
Visual Studio Community 2019のインストールで
「C++によるデスクトップ環境」を選択してインストールします
インストールしたらWindowsを一度再起動します
再起動したら、Developer Command Prompt for VS 2019を起動します
cdコマンドでCPM86CNV.Cを保存したディレクトリにカレントディレクトリを移動します
例えばc:\Users\username1\DocumentsにCPM86CNV.Cを保存した場合は
cd c:\Users\username1\Documents
になります
カレントディレクトリを移動したら
cl cpm86cnv.c
と入力すればcpm86cmv.exeができます

Visual Studio Community 2019のインストールは
https://www.visualstudio.com/ja/dev-essentials/
にアクセスして「今すぐ参加またはアクセス」をクリックします
(Microsoftアカウントが必要になります)
0181ナイコンさん
垢版 |
2021/09/27(月) 21:38:02.73
簡単な使い方と簡単なアセンブラのプログラミングと
ラインエディタのEDの使い方が載ってます

CP/M−86について
ttps://libir.josai.ac.jp/il/user_contents/02/G0000284repository/pdf/JOS-KJ00000589197.pdf
0182ナイコンさん
垢版 |
2021/09/27(月) 23:33:49.53
CP/M86のエディタって相変わらずCP式のやつだったんだ
0183ナイコンさん
垢版 |
2021/09/27(月) 23:41:41.68
CP/M86やCP/M68Kでもテキストファイル末尾に0x1aは必要だったんですか?
0184ナイコンさん
垢版 |
2021/09/30(木) 07:06:19.30
http://www.brackeen.com/vga/
ここにVGAの320x200の256色表示のC言語でのプログラミングの方法が載ってるね
CP/M-86版のAztec C 3.2d用にとりあえず、pixel.cを移植してみました
CP/M-86版のAztec C 3.2dはメモリモデルにsmallモデルしか使えないようなので
VGAのメモリアクセスにはAztec C 3.2dの組み込み関数のpokebを使ってます

CP/M-86 Aztec C 3.2d VGA TEST pixel.c
https://pastebin.com/iNnP3t6P

コンパイル方法は
cc pixel.c
ln pixel.o m.lib c.lib
です
Bドライブをカレントディレクトリにしてコンパイルする時に
インクルードファイルがBドライブにある場合は
cc -ib: pixel.c
ln pixel.o m.lib c.lib
になります
0185ナイコンさん
垢版 |
2021/09/30(木) 22:33:39.13
>>184にアップしたプログラムで時間計測の部分にミスがありました
修正版をアップします

CP/M-86 Aztec C 3.2d VGA TEST pixel.c
https://pastebin.com/JV0sDqR2



また、lines.cも移植してみました

CP/M-86 Aztec C 3.2d VGA TEST lines.c
https://pastebin.com/ShmSSnec

コンパイル方法は
cc lines.c
ln lines.o m.lib c.lib
です
Bドライブをカレントディレクトリにしてコンパイルする時に
インクルードファイルがBドライブにある場合は
cc -ib: lines.c
ln lines.o m.lib c.lib
になります
0186ナイコンさん
垢版 |
2021/10/01(金) 07:50:00.65
上のCP/M-86でAztec C Ver 3.2dを使う方法がわかりにくいと思われるので
CP/M-86でAztec C Ver 3.2dを使う方法をまとめてみました

VMware PlayerのCP/M-86上でAztec C Ver3.2dを使う方法
https://pastebin.com/0zpmybh7
0187ナイコンさん
垢版 |
2021/10/02(土) 12:23:35.35
こちらのVGAの320x200の256色画面のC言語によるプログラミングのサンプルプログラムを
CP/M-86のAztec C 3.2dに移植してみました

256-Color VGA Programming in C
http://www.brackeen.com/vga/

ここのこれらのプログラムを移植しました
pixel.c lines.c rect.c circle.c bitmap.c palette.c unchain.c modes.c
mouse.cはマウスが使えないので移植してません

5chはたくさんのURLを一度に貼れないのでこちらに各ソースコードのURLを貼ってあります
https://pastebin.com/tGGgYmGQ
0188ナイコンさん
垢版 |
2021/10/02(土) 12:40:42.01
続き
コンパイル方法は8つのプログラムどれも一緒です

コンパイル方法は
cc pixel.c
ln pixel.o m.lib c.lib
です
Bドライブをカレントディレクトリにしてコンパイルする時に
インクルードファイルがBドライブにある場合はccで-iオプションで-ib:のように指定します
cc -ib: pixel.c
ln pixel.o m.lib c.lib
になります
0189ナイコンさん
垢版 |
2021/10/04(月) 21:05:44.10
PC-9801Fを買ったとき、N88diskBASIC環境でアセンブラがなかったから
CP/M86のディスクだけ買ってきた。
(ディスク1万円、マニュアル1.5万円でNECは売ってたんだよね)

で、CP/M86のアセンブラ使ってプログラム作っては、DiskBasic側で読み込んで
BASIC+機械語の形で動かしてた。
0190ナイコンさん
垢版 |
2022/05/14(土) 10:57:13.77
ロマンティックが止まらない?
0191ナイコンさん
垢版 |
2023/01/04(水) 00:52:10.32
CP/M86が動くx86系CPUって、どれが最後なんだろ?
0192ナイコンさん
垢版 |
2023/01/04(水) 19:51:19.59
リアルモードがある奴ならCP/M86は動きそうな気はするけどFD付かないマザボでも動くんだろうか?
0193ナイコンさん
垢版 |
2023/01/05(木) 07:23:18.56
vmware上でなら、ryzenでも動いた。実機では試してないけど。
0196ナイコンさん
垢版 |
2023/01/10(火) 11:10:40.21
uefiのみになってBIOS互換モード廃止されたM/BならCPU自体は対応できても起動できなくなるのでは?
0197ナイコンさん
垢版 |
2023/01/10(火) 15:50:35.72
いちおうBIOS対応してても動作が酷くて実用にならないようなのもあるしな
0198ナイコンさん
垢版 |
2023/01/11(水) 10:37:50.21
MS-DOSにはさすがに自己書き換えコードは入ってないかな?
0199ナイコンさん
垢版 |
2023/01/11(水) 13:44:24.90
どうだろうね。masmの教科書で、任意のソフト割り込みをかけるマクロがint21→バイナリでcd 21だけど、この21を書き換えることで任意の割り込みをかけるようなマクロの記載があったから、そのまま使っていれば自己書き換えするはず
0200ナイコンさん
垢版 |
2023/05/09(火) 12:04:54.52
ひさびさage
0202199
垢版 |
2023/05/11(木) 12:49:48.03
Cのマクロならね。
masmだからそのまま展開されます。
0203ナイコンさん
垢版 |
2023/05/11(木) 13:44:07.26
ソースを書き換えるマクロじゃなくてコードを書き換えるマクロが展開されるならCでもアセンブラでもコード書き換えは出来るか
0204ナイコンさん
垢版 |
2023/05/11(木) 21:27:51.90
コードセグメントのアドレスさえ手に入れられる言語で、8086のようにコードセグメントでも書き込みができるCPUなら
0205ナイコンさん
垢版 |
2023/05/12(金) 10:30:50.83
ジャンプテーブルとか動的に生成したりしたよな
0206ナイコンさん
垢版 |
2023/10/18(水) 13:11:29.02
わかんねぇわかんねぇって思いながら、ずっと俺のこと考えてな
0207ナイコンさん
垢版 |
2023/10/19(木) 10:35:26.01
5年で206書き込みか。
0208ナイコンさん
垢版 |
2023/11/14(火) 20:19:14.86
・CP/M68Kを98に移植する。I/O雑誌 工学社 1986年8月号 (234ページ参照)
------------------------------------------------------------------
https://archive.org/details/Io19868/page/n235/mode/2up
------------------------------------------------------------------

ハード構成: PC-9801本体 + PC-9801-16(68000ポード) + PC-9801-17(68000専用メモリポード)
ソフト構成: CP/M-86(OS) + CPM400.SR など

・CP/M-68K バージョン 1.2 バイナリファイル
------------------------------------------------------------------
http://www.cpm.z80.de/download/68kv1_2.zip
------------------------------------------------------------------

「68kv1_2.zip」を解凍し、「DISK」フォルダの中にある「CPM400.SR」「CPMLIB」「LO68.REL」
「RELOC.REL」ファイルが既に入っています。
0209ナイコンさん
垢版 |
2023/11/14(火) 20:21:18.68
バイナリエディタで「SREAD.CMD」「L68K.CMD」「HI68.CMD」バイナリファイルを編集しますが、
そのまま実行できないので、以下のようにCMDベッターを作成する必要があります。

[1]「SREAD.CMD」CMDベッターファイル内容は次のとおり。
------------------------------------------------------------------
0000 01 27 00 00 00 27 00 00 ・・・・・・・・・00
0010 00 00 00 00 00 00 00 00 ・・・・・・・・・00

0180 B8 00 00 2E A3 3C 02 B8 ・・・・・・・・・BA
------------------------------------------------------------------

※ PC-9801-16(68000ポード)が無くても「CPM400.SRO」ファイル出力可能です。

[2]「L68K.CMD」CMDベッターファイル内容は次のとおり。
------------------------------------------------------------------
0000 01 31 00 00 00 31 00 00 ・・・・・・・・・00
0010 00 00 00 00 00 00 00 00 ・・・・・・・・・00

0180 BB CA 02 E8 1F 00 B8 00 ・・・・・・・・・41
------------------------------------------------------------------

[3]「HI68.CMD」CMDベッターファイル内容は次のとおり。
------------------------------------------------------------------
0000 01 34 00 00 00 34 00 00 ・・・・・・・・・00
0010 00 00 00 00 00 00 00 00 ・・・・・・・・・00

0180 BB E5 02 E8 0E 00 B8 00 ・・・・・・・・・30
------------------------------------------------------------------
0210ナイコンさん
垢版 |
2023/11/14(火) 20:24:48.14
「SREAD.CMD」「L68K.CMD」「HI68.CMD」バイナリファイルを編集した後、
できれば、MS-DOS上で逆アセンブルして、「CSEG」「ORG 100H」を追加し、
プログラムを編集してからCP/M-86上でASM86コマンドでアセンブルして、
GENCMDコマンドで「CMD」実行形式ブログラムを出力しておけば良いです。

「SREAD.CMD」バイナリファイルの中に一部の逆アセンブルできない部分がありますが、
しかたなく、DW命令でバイナリデータ([例] DW 2EA3H)を直接編集しておくと良いです。

GENCMDコマンドで「CMD」実行形式ブログラムを出力した後、ちょっと面倒ですが、
バイナリエディタで「A3 2E」<->「2E A3」を逆変換して修正する必要があります。
それは2バイトのチェックサム値っぽいではないか?と推測されますが。

・バイナリエディタ MEDIT
------------------------------------------------------------------
https://www.vector.co.jp/soft/dos/util/se020725.html
------------------------------------------------------------------

・マルチプル機械語エディター EDIX (チェックサム機能付き)
------------------------------------------------------------------
https://www.vector.co.jp/soft/dos/util/se000796.html
------------------------------------------------------------------
0212ナイコンさん
垢版 |
2023/11/15(水) 03:10:49.88
PC-9801用で68000ボードっていうと勝山システムのKSB-2が圧倒的に
安かったからな
 CPU乗っ取り形じゃなくてI/Oや表示は本体のCPUにやらせてCP/M-86と
CP/M-68Kが98側とボード側で同時に動く変態ボードだった。
0213ナイコンさん
垢版 |
2023/11/15(水) 20:08:18.81
L68K.CMD からL68D.CMD(デバッグ用)にコピーして、
0239アドレスに下記の5バイト分を書き換える。
------------------------------
0239 F4 E9 FC FF FA
0239 B1 00 CD E0 00
------------------------------

HI68.CMDからHI68D.CMD(デバッグ用)にコピーして、
0254アドレスに下記の5バイト分を書き換える。
------------------------------
0254 F4 E9 FC FF FA
0254 B1 00 CD E0 00
------------------------------

CP/M-68Kが起動できない場合、上記のデバッグプログラムを作成しておけば、
デバッグプログラムを実行後、DDT86コマンドでメモリダンプを参照できます。

A>DDT86
-D1000:0400 (CPM400.SROメモリダンプが表示されるはず)
-D1000:6000 (BIOS68Kメモリダンプが表示されるはず)
0214ナイコンさん
垢版 |
2023/11/18(土) 16:12:28.05
68000ボードの0番地のアドレス設定値(スイッチ2G2)と
クロック周波数(スイッチ2G3)を取得するプログラムを
作成してみました。
------------------------------------------
BDOS EQU 0E0h
CR EQU 0DH
LF EQU 0AH

cseg
org 100h
in al,9Fh
and ax,0Fh
cmp al,0Ch
jnz LBL1
mov cl,9
mov dx,offset OK1
int BDOS
jmp LBL5
LBL1:
cmp al,0Dh
jnz LBL2
mov cl,9
mov dx,offset OK2
int BDOS
jmp LBL5
0215ナイコンさん
垢版 |
2023/11/18(土) 16:13:36.28
LBL2:
cmp al,0Eh
jnz LBL3
mov cl,9
mov dx,offset OK3
int BDOS
jmp LBL5
LBL3:
cmp al,0Fh
jnz LBL4
mov cl,9
mov dx,offset OK4
int BDOS
jmp LBL5
LBL4:
mov cl,9
mov dx,offset NG
int BDOS
LBL5:
mov cl,00h
int BDOS
0216ナイコンさん
垢版 |
2023/11/18(土) 16:14:32.49
dseg
org 100h
OK1 db CR,LF
db 'PC-9801-16 Board 5MHz + 10000h SET OK!!'
db CR,LF,'$'
OK2 db CR,LF
db 'PC-9801-16 Board 5MHz + 20000h SET OK!!'
db CR,LF,'$'
OK3 db CR,LF
db 'PC-9801-16 Board 8MHz + 10000h SET OK!!'
db CR,LF,'$'
OK4 db CR,LF
db 'PC-9801-16 Board 8MHz + 20000h SET OK!!'
db CR,LF,'$'
NG db CR,LF
db 'PC-9801-16 Board no Found!!'
db CR,LF,'$'
end
------------------------------------------
0217ナイコンさん
垢版 |
2023/11/19(日) 14:05:25.33
現時点では、CP/M-68Kが起動できない原因はまだわかりませんが、
下記のように、スタートアドレス設定が必要とか、スタックをセットし、
INITへジャンプする必要があると思いますけど。

L68K,HI68プログラム(後半)にスタックプログラム(PUSH,POP,IRETなど)が既に入っていますが、
何も実行されない状態で、CP/M-68Kが起動できないみたいですが。

例えば、L68KのCMDベッターにスタートアドレスとか、04のスタックアドレスをセットするとか。
もしくはSR400.MAPファイルを正しく編集するとか。

逆アセンブラで(L68K),HI68プログラムに6F01,(6F06)アドレスが記載されてあり、
INITへジャンプするための作業領域?とか、チェックサム値?をセットするとか?

●SREAD
「スタートアドレスとチェックサムはすべて省略しています」と記載されてありますけど、
スタートアドレスをどのように設定するのがよくわからず、
CMDベッターにスタートアドレスを入れるとか、まだ不明ですが。
0218ナイコンさん
垢版 |
2023/11/19(日) 14:06:57.44
[参考文献]

https://archive.org/details/Io19837/page/n321/mode/2up

[表1 CP/M-68K 移植手順] (I/O雑誌 1983年7月号 319ページ参照)
--------------------------------------------------------------------------------
@他のシステムもしくは68KモニタなどでBIOSを作成する。
ASフォーマット・ローダーを作成し、SR400.SYSまたはSR128K.SYSファイルを
メモリにロードする(BDOSとCCPのみのファイル)。
B@で作成したBIOSをロードする。
CAでロードしたプログラムの頭($400,$15000)から実行する(スタックをセットし、INITへジャンプする)。

注)BIOS作成時のCP/Mのエントリ・ポイントの変更点
-------------------------------------------------
INIT:SR400 $5F96 ,SR128K $19B96
SR400 $4F4 ,SR128K $150F4
-------------------------------------------------

●CCP,BDOS,BIOSはどこにあってもかまいません。
--------------------------------------------------------------------------------
0219ナイコンさん
垢版 |
2023/11/19(日) 17:52:47.65
[参考文献]

プロセッサ 1985年11月号 技術評論社(54〜64ページ参照)
https://www.suruga-ya.jp/product/detail/ZSARU6973

その内容にPC-9801-16 ボードの機能概要とMS-DOS上で動作する
サポートソフト(NEC製)の概要が記載されてあります。

PC-9801-16 メモリマップとメモリ動作概要とIN,OUT命令(I/Oポート)しかなく、
サポートソフトの概要を読んでも使いものになりません。
0220ナイコンさん
垢版 |
2023/11/19(日) 19:36:33.88
おう、阪神が西武をこてんぱんにして日本一になった年だな
0221ナイコンさん
垢版 |
2023/11/20(月) 08:05:52.44
-----------
 :
 :
 CALL SUBR
 RET
----↓-----
 :
 :
 JMP SUBR
----↓-----
 :
 :
SUBR:
-----------
0222ナイコンさん
垢版 |
2023/11/20(月) 20:42:20.37
-----------
 :
 :
 CALL SUBR
 RET
----↓-----
 :
 :
SUBR:
----↓-----
 :
 :
 JMP SUBR
0223ナイコンさん
垢版 |
2023/11/25(土) 20:59:01.64
・・・BIOSをCCPとBDOSに接ぎますが、このとき_ccpと_initの2つの
アドレスだけはリンクしなければなりません。
リンカならすぐにできる、この作業も手で書き加えなければなりません。
SR400.SYSの$4F96は、4EF900000000になっています。
4EF9は絶対アドレス・ジャンプで、この次の部分を
_initのアドレスに改めることによりリンクできます。
_ccpは$4F9Cなので、BIOS中の_ccpをこのアドレスにします。

BIOSとのリンクが終わったシステムは、CCPとBDOSの先頭アドレスから
実行を開始することにより、CP/M68Kが走り始めます。
このとき、ディスクが少し動いて何もメッセージもなく、
いきなり、A>のプロンプトが表われ、CP/M68Kが動きます。
このときからCP/M68Kの全ての機能が働きます。
とマイコンピュータNO.12 (徹底特殊 MC68000とCP/M68K)雑誌
(135ページ)に記載してありました。

CPM400.MAPの中身を覗いてみたら、
_ccp(4B8)と_init(6000)アドレスが入っていました。
-----------------------------------------------
_ccp 4B8 global text
cpm 400 global text
_bdos 4C6 global text
_init 6000 equ global abs
-----------------------------------------------
0224ナイコンさん
垢版 |
2023/11/25(土) 21:01:43.45
DDT.68Kを起動してから「-R BIOS68K」を入力し、
BIOS68Kプログラムを逆アセンブラで覗いてみました。
-----------------------------------------------
movea.l #6F01,A1
   :
jmp $4B8
:
movea.l #6F06,A0
:
movea.l #6F80,A1
:
movea.l #6F80,A2
-----------------------------------------------
上記の6F01と6F06と4B8アドレスが見つかっており、
BIOS68Kプログラムを書き換える必要はないですが、
CP/M86のCMDヘッダ側(04)でスタック領域を確保しておかないと
CP/M68Kが起動できないのではないかと思うけど?
0225ナイコンさん
垢版 |
2023/11/26(日) 15:59:42.03
例外(動作保証なし)ですが、「SREAD」CMDベッターを編集してみて、
それを実行してみたら、SR400.SROが勝手に出力されました。
------------------------------------------------------------------
0000 01 18 40 00 00 18 40 00 00 02 C0 0B 00 00 C0 0B
0010 00 00 00 00 00 00 00 00 ・・・・・・・・・・・00

0080 B8 00 00 2E A3 3C 02 B8 ・・・・・・・・・・・BA
------------------------------------------------------------------
上記のアドレス0180ではなく、0080でした。半年前だけど、
DSEGセグメント(02)を用いて、プログラム実行を試してみました。
0226ナイコンさん
垢版 |
2023/11/26(日) 21:03:14.76
再度、BIOS68Kプログラムを逆アセンブラで覗いてみたら、
なぜ、stop命令が入っていたかわからないですが。
----------------------------
move.b D0,$600000
stop #$2000
clr.l D0
----------------------------
0227ナイコンさん
垢版 |
2023/11/28(火) 21:53:53.94
BDOS機能の呼出しには68000の例外処理命令Trapを使用する。

68000は0番地から3FFFHまでの各4バイトには
255個の例外ベクターを持つ必要があります。

やはり、例外ベクター領域が何も入ってないと
CP/M68Kが起動できないのではないかと思うけど。

https://ipsj.ixsq.nii.ac.jp/ej/index.php?action=pages_view_main&active_action=repository_action_common_download&item_id=25038&item_no=1&attribute_id=1&file_no=1&page_id=13&block_id=8
0229ナイコンさん
垢版 |
2023/11/29(水) 20:34:16.82
>>228
ありがとうございます。_intが既にわかっていたけど、
CP/M68K(英語版)の68ページを参照し、
_ccpが記載してあるけど、_intが見つからなかった。
http://www.bitsavers.org/pdf/digitalResearch/cpm-68k/CPM-68K_System_Guide_Jan83.pdf

166ページに前回(NO.11)の訂正と補足が記載してありますけど、
次回NO.13に訂正箇所が記載してあるかどうか確認すると良いですが。
0230ナイコンさん
垢版 |
2023/11/30(木) 21:29:49.63
マイコンピュータNO.14 入門特集8086
アセンブリ・プログラミング103ページを参照し、
プログラム本体はコード領域に、メモリはデータ領域に
指定して用いましたが、さらにスタックを用いるときは、
それをスタック領域に、また繰り返し転送、比較を行うときには、
予備領域を用います。これらのいくつかの領域を用いるときは、
それぞれの区分名がどの領域に属するものであるかを、
すべてASSUME命令で指定しておきます。
例えば、CSEG、DSEG、SSEGをそれぞれコード、データ、
スタック領域に指定するには、
ASSUME CS:CSEG
ASSUME DS:DSEG
ASSUME SS:SSEG
ASSUME ES:NOTHING
のように書きます。
0231ナイコンさん
垢版 |
2023/11/30(木) 21:36:39.99
1つのASSUME命令の処理対象に、いくつかの領域指定を
同時に行うことができます。このときはそれらを ,(カンマ)で
区切って並べておきます。例えば、
上の例は、
ASSUME CS:CSEG , ASSUME DS:DSEG
ASSUME SS:SSEG , ASSUME ES:NOTHING
と書きます。
0232ナイコンさん
垢版 |
2024/01/21(日) 19:38:09.52
>>212
あぁ勝山さん元気かなぁ?独特の雰囲気のエンジニアだった
0233ナイコンさん
垢版 |
2024/05/02(木) 02:42:18.31
最近になってPlus初めて使った。
リブートなしってこんなに快適だったのかと
レスを投稿する


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