復活!CP/M ワンボードマイコンでCP/Mを!
CP/MがTK−80互換のワンボードマイコンの上で復活します
ND80ZVとMYCPU80の上でCP/Mが走ります!
[第440回]
●正しくコピーされません?
この数日は更新ができませんでした。
このところの猛暑でぶったおれていたわけではありません。
暑さ以上に悩ましい問題が重なっておきてしまったおかげで、とてもHPの更新をしている余裕がなかったのです。
それもなんとかクリアできてきたようで、やっとすこしは余裕が取り戻せましたので、久方ぶりの更新です。
ZB3DOS(CP/M互換DOS)のバグもどうやら大体はつぶしたように思って、ぼちぼち皆様方に再修正版をお送りしようと思っておりましたら、H様からメールが届きました。
またしても誤動作の報告でした。
Cドライブで正常動作することを確認したプログラムをDドライブにコピーして、そこで同じことを実行したところエラーになってしまいました、とのことです。
以下はH様からいただいたメールからの引用です。
同時に添付していただいたログの内容についての説明です。
@CドライブでMTPLUSによりHELLO.PASをコンパイルしました。 A次にLINKMTでHELLOの実行ファイルHELLO.COMを作成しました。 BHELLOを実行し、「Hello World!」と表示、正常に終了しました。 CDドライブのファイルを全件消去しました。 DCドライブからDドライブにすべてのファイルをコピーしました。 EDドライブでMTPLUSによりHELLO.PASをコンパイルしました。 FLINKMTでHELLOの実行ファイルを作成しようとしましたが、 「Incompatible relocatable file」と表示されて終了しました。 GHELLOを実行しようとしましたが、「HELLO?」と怒られました。 HDドライブのファイルを全件消去しました。 IDドライブに「TURBO Pascalと「HELLO」のソースをコピーしました。 J「TURBO Pascalで「HELLO」をコンパイル実行しました。正常に終了しました。 念のため、zドライブからDドライブに転送して実行してみましたが結果は同様でし た。 03.TXTがzドライブからのコピー実行のログです。 おかしいのは今のところ「LINKMT」だけで、コピーしたら正常に動作しない。 他のプログラムは、正常に動作する。 どうして?? というのが今回の報告ですが、 今のところ手がかりがありません。 どうして、特定のプログラムだけが影響を受けるというのが、よく解りません。 |
こちらがそのログです。
logfile nd80zlog\07111128.txt open ND80ZVに接続しました 0001 0000 - z 1000 00C3 - *** nd80z3 basic **** >/bat mtp.bat >/CPM loading zbds4k.bin ...19c1(6593)bytes loaded,from CC00 to E5C0 drive D ................................ drive C ................................ drive B ................................ drive A ................................ A>DIR C: C: HELLO PAS : LINKMT COM : MOD1 SRC : MOD2 SRC C: MTPLUS 000 : MTPLUS 001 : MTPLUS 002 : MTPLUS 003 C: MTPLUS 004 : MTPLUS 005 : MTPLUS 006 : MTPLUS COM C: PASLIB ERL : PROG SRC : READ ME : ROVLMGR ERL C: HELLO ERL : AMD9511X CMD : AMDIO SRC : APUSUB MAC C: ATWNB SRC : BCDREALS ERL : CALC SRC : CHN MAC C: CPMRD SRC : CWT MAC : DBUGHELP TXT : DEBUGGER ERL C: DIS8080 COM : DIV MAC : FIBDEF LIB : FPREALS ERL C: FPRTNS ERL : FULLHEAP ERL : GET SRC : HLT MAC C: INDEXER DOC : INDEXER PAS : IOCHK BLD : IOERR SRC C: LIBMT COM : MTERRS TXT : OVLMGR MAC : PINI SRC C: PUT SRC : RANDOMIO ERL : RNB SRC : RNC SRC C: RST MAC : SPPFIX COM : STRIP CMD : STRIP SRC C: TRAN9511 ERL : TRAN9511 SRC : TRANCEND ERL : UTILMOD ERL C: UTILMOD SRC : WNC SRC : XBDOS SRC : XREF COM C: XREF DOC : XREF SRC : HELLO COM A>C: C>ERA HELLO.ERL C>ERA HELLO.COM C>DIR C: HELLO PAS : LINKMT COM : MOD1 SRC : MOD2 SRC C: MTPLUS 000 : MTPLUS 001 : MTPLUS 002 : MTPLUS 003 C: MTPLUS 004 : MTPLUS 005 : MTPLUS 006 : MTPLUS COM C: PASLIB ERL : PROG SRC : READ ME : ROVLMGR ERL C: AMD9511X CMD : AMDIO SRC : APUSUB MAC : ATWNB SRC C: BCDREALS ERL : CALC SRC : CHN MAC : CPMRD SRC C: CWT MAC : DBUGHELP TXT : DEBUGGER ERL : DIS8080 COM C: DIV MAC : FIBDEF LIB : FPREALS ERL : FPRTNS ERL C: FULLHEAP ERL : GET SRC : HLT MAC : INDEXER DOC C: INDEXER PAS : IOCHK BLD : IOERR SRC : LIBMT COM C: MTERRS TXT : OVLMGR MAC : PINI SRC : PUT SRC C: RANDOMIO ERL : RNB SRC : RNC SRC : RST MAC C: SPPFIX COM : STRIP CMD : STRIP SRC : TRAN9511 ERL C: TRAN9511 SRC : TRANCEND ERL : UTILMOD ERL : UTILMOD SRC C: WNC SRC : XBDOS SRC : XREF COM : XREF DOC C: XREF SRC C>MTPLUS HELLO ************************************************* @ -------------------------------------------------- PASCAL/MT+ (80) Version 5.6.1 Serial No. 3024-0000-003657 All Rights Reserved Copyright (c) 1982,1983 Digital Research, Inc. -------------------------------------------------- Source lines: 4 Available memory: 15321 User table space: 11325 (Phase 1) Remaining memory: 11363 (Phase 2) HELLO Lines : 4 Errors: 0 Code : 61 Data : 0 Compilation complete C>LINKMT HELLO,TRANCEND,BCDREALS,PASLIB/S ******************** A -------------------------------------------------- LINK/MT+ (80) Version 5.6.1 Serial No. 3024-0000-003657 All Rights Reserved Copyright (c) 1982 Digital Research, Inc. -------------------------------------------------- Reading HELLO .ERL Reading TRANCEND.ERL Reading BCDREALS.ERL Reading PASLIB .ERL 0070 (decimal) records written to .COM file Total data: 0361H bytes Total code: 2282H bytes Remaining : 7AE5H bytes C>HELLO ****************************************************** B Hello World! C>A: A>ERA D:*.* ************************************************** C A>COPY C:*.* D: ********************************************** D HELLO PAS to HELLO PAS.. done LINKMT COM to LINKMT COM............................................................................................... done MOD1 SRC to MOD1 SRC... done MOD2 SRC to MOD2 SRC... done MTPLUS 000 to MTPLUS 000....................................................................................................... done MTPLUS 001 to MTPLUS 001........................................................................................ done MTPLUS 002 to MTPLUS 002......................................................... done MTPLUS 003 to MTPLUS 003........................................................... done MTPLUS 004 to MTPLUS 004...................................................................................................................................... done MTPLUS 005 to MTPLUS 005..................................................................... done MTPLUS 006 to MTPLUS 006.................................................. done MTPLUS COM to MTPLUS COM............................................................................................................................................................................................................................................................................................ done PASLIB ERL to PASLIB ERL.................................................................................................................................................................................................... done PROG SRC to PROG SRC........ done READ ME to READ ME ............................................................................................................................................................................................... done ROVLMGR ERL to ROVLMGR ERL........ done HELLO ERL to HELLO ERL.. done AMD9511XCMD to AMD9511XCMD.. done AMDIO SRC to AMDIO SRC........... done APUSUB MAC to APUSUB MAC.............. done ATWNB SRC to ATWNB SRC................ done BCDREALSERL to BCDREALSERL........................... done CALC SRC to CALC SRC.................... done CHN MAC to CHN MAC............. done CPMRD SRC to CPMRD SRC.... done CWT MAC to CWT MAC......... done DBUGHELPTXT to DBUGHELPTXT........ done DEBUGGERERL to DEBUGGERERL.......................................................................................... done DIS8080 COM to DIS8080 COM................................................................................................................................................................................... done DIV MAC to DIV MAC.......................................... done FIBDEF LIB to FIBDEF LIB........ done FPREALS ERL to FPREALS ERL............................................................. done FPRTNS ERL to FPRTNS ERL............ done FULLHEAPERL to FULLHEAPERL.................... done GET SRC to GET SRC......... done HLT MAC to HLT MAC.... done INDEXER DOC to INDEXER DOC..... done INDEXER PAS to INDEXER PAS..................................................... done IOCHK BLD to IOCHK BLD.. done IOERR SRC to IOERR SRC..... done LIBMT COM to LIBMT COM........................................................................................................................................................................................... done MTERRS TXT to MTERRS TXT....................................... done OVLMGR MAC to OVLMGR MAC.................................................................................................................... done PINI SRC to PINI SRC.............. done PUT SRC to PUT SRC.... done RANDOMIOERL to RANDOMIOERL...................... done RNB SRC to RNB SRC................... done RNC SRC to RNC SRC...... done RST MAC to RST MAC.......................... done SPPFIX COM to SPPFIX COM............................................................................................................................................................ done STRIP CMD to STRIP CMD.. done STRIP SRC to STRIP SRC................................. done TRAN9511ERL to TRAN9511ERL..... done TRAN9511SRC to TRAN9511SRC............ done TRANCENDERL to TRANCENDERL........................... done UTILMOD ERL to UTILMOD ERL.... done UTILMOD SRC to UTILMOD SRC......... done WNC SRC to WNC SRC.... done XBDOS SRC to XBDOS SRC......... done XREF COM to XREF COM............................................................................................................................................................................................................... done XREF DOC to XREF DOC....... done XREF SRC to XREF SRC...................................................................................................... done HELLO COM to HELLO COM...................................................................... done A>DIR D: D: HELLO PAS : LINKMT COM : MOD1 SRC : MOD2 SRC D: MTPLUS 000 : MTPLUS 001 : MTPLUS 002 : MTPLUS 003 D: MTPLUS 004 : MTPLUS 005 : MTPLUS 006 : MTPLUS COM D: PASLIB ERL : PROG SRC : READ ME : ROVLMGR ERL D: HELLO ERL : AMD9511X CMD : AMDIO SRC : APUSUB MAC D: ATWNB SRC : BCDREALS ERL : CALC SRC : CHN MAC D: CPMRD SRC : CWT MAC : DBUGHELP TXT : DEBUGGER ERL D: DIS8080 COM : DIV MAC : FIBDEF LIB : FPREALS ERL D: FPRTNS ERL : FULLHEAP ERL : GET SRC : HLT MAC D: INDEXER DOC : INDEXER PAS : IOCHK BLD : IOERR SRC D: LIBMT COM : MTERRS TXT : OVLMGR MAC : PINI SRC D: PUT SRC : RANDOMIO ERL : RNB SRC : RNC SRC D: RST MAC : SPPFIX COM : STRIP CMD : STRIP SRC D: TRAN9511 ERL : TRAN9511 SRC : TRANCEND ERL : UTILMOD ERL D: UTILMOD SRC : WNC SRC : XBDOS SRC : XREF COM D: XREF DOC : XREF SRC : HELLO COM A>D: D>ERA HELLO.ERL D>ERA HELLO.COM D>DIR D: HELLO PAS : LINKMT COM : MOD1 SRC : MOD2 SRC D: MTPLUS 000 : MTPLUS 001 : MTPLUS 002 : MTPLUS 003 D: MTPLUS 004 : MTPLUS 005 : MTPLUS 006 : MTPLUS COM D: PASLIB ERL : PROG SRC : READ ME : ROVLMGR ERL D: AMD9511X CMD : AMDIO SRC : APUSUB MAC : ATWNB SRC D: BCDREALS ERL : CALC SRC : CHN MAC : CPMRD SRC D: CWT MAC : DBUGHELP TXT : DEBUGGER ERL : DIS8080 COM D: DIV MAC : FIBDEF LIB : FPREALS ERL : FPRTNS ERL D: FULLHEAP ERL : GET SRC : HLT MAC : INDEXER DOC D: INDEXER PAS : IOCHK BLD : IOERR SRC : LIBMT COM D: MTERRS TXT : OVLMGR MAC : PINI SRC : PUT SRC D: RANDOMIO ERL : RNB SRC : RNC SRC : RST MAC D: SPPFIX COM : STRIP CMD : STRIP SRC : TRAN9511 ERL D: TRAN9511 SRC : TRANCEND ERL : UTILMOD ERL : UTILMOD SRC D: WNC SRC : XBDOS SRC : XREF COM : XREF DOC D: XREF SRC D>MTPLUS HELLO *********************************************** E -------------------------------------------------- PASCAL/MT+ (80) Version 5.6.1 Serial No. 3024-0000-003657 All Rights Reserved Copyright (c) 1982,1983 Digital Research, Inc. -------------------------------------------------- Source lines: 4 Available memory: 15321 User table space: 11325 (Phase 1) Remaining memory: 11363 (Phase 2) HELLO Lines : 4 Errors: 0 Code : 61 Data : 0 Compilation complete D>LINKMT HELLO,TRANCEND,BCDREALS,PASLIB/S ********************* F -------------------------------------------------- LINK/MT+ (80) Version 5.6.1 Serial No. 3024-0000-003657 All Rights Reserved Copyright (c) 1982 Digital Research, Inc. -------------------------------------------------- Reading HELLO .ERL Reading TRANCEND.ERL Reading BCDREALS.ERL Reading PASLIB .ERL Incompatible relocatable file D>HELLO ****************************************************** G HELLO? D>ZB3 /BAT end end of ZBDOS >/bat tp.bat >/CPM loading zbds4k.bin ...19c1(6593)bytes loaded,from CC00 to E5C0 drive D ................................ drive C ................................ drive B ................................ drive A ................................ A>ERA D:*.* ************************************************** H A>DIR D: no file A>PIP D:=A:TURBO.* ******************************************* I COPYING - TURBO.COM TURBO.MSG TURBO.OVR A>PIP D:=A:HELLO.PAS A>D: D>DIR D: TURBO COM : TURBO MSG : TURBO OVR : HELLO PAS D>TURBO ****************************************************** J --------------------------------------- TURBO Pascal system Version 3.01A CP/M-80, Z80 Copyright (C) 1983,84,85 BORLAND Inc. --------------------------------------- Terminal: Teleray series 10 Include error messages (Y/N)? Y Loading D:TURBO.MSGLogged drive: D Work file: Main file: Edit Compile Run Save eXecute Dir Quit compiler Options Text: 0 bytes (8118-8118) Free: 20205 bytes (8119-D006) > Work file name: HELLO Loading D:HELLO.PAS > Compiling 0 4 lines Code: 53 bytes (8154-8189) Free: 21108 bytes (818A-D3FE) Data: 7 bytes (D3FF-D406) > Running Hello World! > D> D>DIR H*.* D: HELLO PAS D>TYPE HELLO.PAS program hello; begin writeln('Hello World!') end. D>ZB3 /BAT end end of ZBDOS >/exit 0000 00C3 - リモート接続を終了しました logfile closed at Thu Jul 11 11:51:36 2013 |
このログのボリュームにはたまげてしまいます。
すごい、です。
あ、しかし、これだけのことができるということを実証していただいているわけで、本当に有難いことです。
今回の問題はH様のメールにありますようにCドライブで正しく実行できたLINKMT(A)が、Dドライブではエラーになってしまったことです(F)。
ログからはCドライブの中身がそっくりそのままDドライブにコピーされていることがわかります。
確かにこういう現象にでくわすとどこから手をつけていこうかと途方にくれてしまうのですけれど。
しかしおそらくは何らかの問題があって、おそらくCドライブからDドライブに正しくコピーがされていないことが推測されます。
LINKMTでエラーが発生していることから、まずはLINKMTが正しくコピーされているかどうかを調べてみることにしました。
本日も時間がありません。
続きは次回にいたします。
ワンボードマイコンでCP/Mを![第440回]
2013.7.18upload
前へ
次へ
ホームページトップへ戻る