CP/M PCGET Fehlerbehandlung

    • Offizieller Beitrag

    Da mein zweiter serieller Port nicht an 0x90h liegt, sondern an 0xA8H,

    möchte ich mir Monitor, CP/M BIOS und die Transferprogramme passend kompilieren.

    Also habe ich die .ASM Daterien entsprechend editiert.

    Assemblieren möchte ich das auf dem MFA, also muß ich erstmal die Dateien dahin übertragen.


    Erster Versuch:

    A>PCGET B:BIOS.ASM

    Bleibt mittendrin stehen. Noch zwei mal versucht: Bleibt reproduzierbar nach 153 XModem-Paketen hängen.

    Abbruch mit CTRL-C ist möglich.


    Nächster Versuch: Datei auf Laufwerk A speichern, also:

    A>PCGET BIOS.ASM

    Läuft ohne Probleme durch.


    Daß das auf dem einen Laufwerk klappt, und dem anderen nicht, deutet auf ein Diskettenproblem hin.

    Also die Diskette in Laufwerk B: mit Verify im COPY-Programm überprüft.

    Und siehe da: Auf der Disk sind tatsächlich ein paar Sektoren fehlerhaft.


    Kann man im PCGET Programm eine bessere Fehlerbehandlung einbauen?

    Gut wäre, in so einem Fall den XMODEM Transfer erst abzubrechen,

    und danach eine entsprechende Fehlermeldung auszugeben,

    damit diese auch auf dann dem Terminal erscheint, wenn man über den Konsolenport überträgt.

    Wenn man den Transfer vorher nicht abbricht,

    würde das XMODEM der Gegenstelle die Fehlermeldung sonst vermutlich verschlucken.

  • Ich frage beim nächsten Kontakt mit Mike mal nach ... wir haben tatsächlich Debugging mit zwei seriellen Schnittstellen gemacht, damit die Fehlermeldungen sichtbar blieben.


    Gruß

    Robert

    NCR DMV/Olivetti M20/ITT 3030/DEC Rainbow 100/Siemens PC-D/OlyPeople/MFA 8085/TA Alphatronic

  • Vielleicht fehlerhafte Disketten mit FINDBAD behandeln (oder testen) und am PC entsorgen. (falls ich das jetzt nicht falsch verstanden habe)



    ; FINDBAD.ASM ver. 5.4

    ; (revised 05/21/81)

    ;

    ; NON-DESTRUCTIVE DISK TEST PROGRAM

    ;

    ;FINDBAD will find all bad blocks on a disk and build a file

    ;named [UNUSED].BAD to allocate them, thus "locking out" the

    ;bad blocks so CP/M will not use them.

    ;

    ;Originally written by Gene Cotton, published in "Interface

    ;Age", September 1980 issue, page 80.

    ;

    Mit freundlichen Grüßen


    fritz

  • Das ist richtig. Ich nutze immer nsweep a*: (bei mir nswp.com) um mir alle Dateien in allen Userverzeichnisse anzuzeigen.



    ; FINDBAD.ASM ver. 5.4

    ; (revised 05/21/81)

    ;

    ; NON-DESTRUCTIVE DISK TEST PROGRAM

    ;

    ;FINDBAD will find all bad blocks on a disk and build a file

    ;named [UNUSED].BAD to allocate them, thus "locking out" the

    ;bad blocks so CP/M will not use them.

    ;

    ;Originally written by Gene Cotton, published in "Interface

    ;Age", September 1980 issue, page 80.

    ;

    ;See notes below concerning 'TEST' conditional assembly option,

    ;SYSTST and BADUSR directives.

    ;

    ;********************************************************

    ;* *

    ;* NOTE *

    ;* *

    ;* This program has been re-written to allow it to *

    ;* work with (hopefully) all CP/M 2.x systems, and *

    ;* most 1.4 CP/M systems. It has been tested on sev- *

    ;* eral different disk systems, including Northstar, *

    ;* Micropolis, DJ2D, and Keith Petersen's 10 MByte *

    ;* hard disk system. I have tested it personally on *

    ;* my "modified" Northstar, under several different *

    ;* formats (including >16K per extent), and have ob- *

    ;* no difficulties. *

    ;* If you have have difficulties getting this pro- *

    ;* gram to run, AND if you are using CP/M 2.x, AND *

    ;* if you know your CBIOS to be bug-free, leave *

    ;* me a message on the CBBS mentioned below ... I am *

    ;* interested in making this program as "universal" *

    ;* as possible. *

    ;* I can't help with any version of CP/M 1.4, other *

    ;* than "standard" versions (whatever that means), *

    ;* because there are just too many heavily modified *

    ;* versions available. *

    ;* One possible problem you may find is with the *

    ;* system tracks of your diskettes...if they are of *

    ;* a different density than the data tracks, then *

    ;* see the note regarding the "SYSTST" equate. *

    ;* *

    ;* Ron Fowler *

    ;* Westland, Mich *

    ;* 7 April, 1981 *

    ;* *

    ;********************************************************

    ;

    ;SYSTST and BADUSR options:

    ; Many double-density disk systems have single-density system

    ;tracks. If this is true with your system, you can change the

    ;program to skip the system tracks, without re-assembling it.

    ;To do this, set the byte at 103H to a 0 if you don't want the

    ;system tracks tested, otherwise leave it 1. This is also

    ;necessary if you have a "blocked" disk system; that is, when

    ;the same physical disk is seperated into logical disks by use

    ;of the SYSTRK word in the disk parameter block.

    ; If you are a CP/M 2.x user, you may assign the user number

    ;where [UNUSED.BAD] will be created by changing the byte at

    ;104H to the desired user number. If you want it in the

    ;default user, then leave it 0FFH. CP/M 1.4 users can ignore

    ;this byte altogether.

    ;

    ;Note that these changes can be done with DDT as follows:

    ;

    ; A>DDT FINDBAD.COM

    ; -S103

    ; 103 01 0 ;DON'T TEST SYSTEM TRACKS

    ; 104 FF F ;PUT [UNUSED.BAD] IN USER 15

    ; 105 31 . ;DONE WITH CHANGES

    ; -^C

    ; A>SAVE XX FINDBAD.COM

    Mit freundlichen Grüßen


    fritz

    3 Mal editiert, zuletzt von fritzeflink ()