Getting limited version of CP/M-86 up and running? - CP/M

This is a discussion on Getting limited version of CP/M-86 up and running? - CP/M ; First I'll start by admitting that this post is being written on a Windoze XP machine which has crashed in the middle of authoring this, the CP/M machine has been switched on all day and hasn't crashed once. So if ...

+ Reply to Thread
Results 1 to 18 of 18

Thread: Getting limited version of CP/M-86 up and running?

  1. Getting limited version of CP/M-86 up and running?

    First I'll start by admitting that this post is being written on a Windoze
    XP machine which has crashed in the middle of authoring this, the CP/M
    machine has been switched on all day and hasn't crashed once. So if I sound
    a little harassed then it's being reminded of where we were 20 years ago
    when a computer did exactly what it was told to do for months on end.

    Hello I posted some weeks back seeking a boot disk for a Rohde and
    Schwarz logic analyser which runs CP/M. A boot disk has now been sourced
    although appears very limited. A directory listing follows;

    A>DIR
    A: CPM SYS : ED CMD : ASM86 CMD : DDT86 CMD
    A: PIP CMD : STAT CMD : GENCMD CMD : LMCMD CMD
    A: SUBMIT CMD : COPYDISK CMD : HELP CMD : HELP HLP
    A: FORM CMD : VFLOP CMD : SETSIO CMD : MCONFIG CMD
    A: CPM H86 : BASWAR CMD : LASBAS CMD : PRICONF BAS
    A>

    http://www.retro.dial.pipex.com/las5/DIR.TXT

    The question for comp.os.cpm would be, "What do I do next?" Communication
    with a PC has been established via the LASs RS232C port using PIP (AXI: and
    AXO and also by stat reassigning the LST: device to CRT: and using Ctrl-P
    to dump everything as it's typed. It hasn't yet been possible to initiate
    some form of CTTY (DOS convention) reassignment so commands can be typed on
    the PC. BASIC is available on the system (LASBAS) and the ability to create
    and write to files has been achieved although reading them back in isn't so
    easy without the exact format of how the INPUT# function is structured, I
    get immiediate end of file errors when trying to read a single byte, INPUT#
    1,A(0). OPENO# , OPENI# , PRINT# , and INPUT# appear to be all that's
    available. The dump of the LASBAS.CMD follows and is how the available
    commands were obtained (about offset 8400:0C20);

    http://www.retro.dial.pipex.com/las5/LASBAS.TXT

    Disk format of the machine appears to be SSDD 80-track on a 3.5" drive
    (supplied on manufacturer's 3.5" SSDD disk). The stat output follows;

    http://www.retro.dial.pipex.com/las5/STAT.TXT

    So, where should I go from here? 22DISK appears unable to read the disk
    format having tried 10 or so of the SS defaults it comes with. Also
    archived is the CPM.H86 file here with the faqs mentioning rebuilding and
    changing various bytes in mind;

    http://www.retro.dial.pipex.com/las5/CPMH86.TXT

    The VFLOP.CMD file you see right up above configures a virtual floppy drive
    as G: which can be as much as 256K. BASIC reports about 40K free from
    FRE(0). COPYQM has been used to successfully create a backup of the disk I
    received, all bootable readable and writable without any problems. The
    machine has an 8088 processor in it.

    Would it be possible to use vanilla CP/M-86 binaries with this version of
    CP/M? It reports as 2.3 when it boots. The first step though would be to
    get binaries onto the machine with the immiediate idea being to write a
    BASIC program with DATA statements to create a file hard coding the data by
    hand, unless of course some way was found to read/write the disks. Kermit
    would be the first file on there to make use of AXI: and AXO: for binary
    transfer. It'd be great to get the RS232 port up and running in basic if I
    knew how, there appear to be references to COM in the dump of the
    interpreter. The main port btw is an IEEE-488 which is the LST: device by
    default.

    What would you do? Any ideas on what I should do next to get up and running
    would be so much appreciated.

    Thanks hugely in advance,

    Aly



  2. Re: Getting limited version of CP/M-86 up and running?


    techie_alison wrote:
    > First I'll start by admitting that this post is being written on a Windoze
    > XP machine which has crashed in the middle of authoring this, the CP/M
    > machine has been switched on all day and hasn't crashed once. So if I sound
    > a little harassed then it's being reminded of where we were 20 years ago
    > when a computer did exactly what it was told to do for months on end.
    >
    > Hello I posted some weeks back seeking a boot disk for a Rohde and
    > Schwarz logic analyser which runs CP/M. A boot disk has now been sourced
    > although appears very limited. A directory listing follows;
    >
    > A>DIR
    > A: CPM SYS : ED CMD : ASM86 CMD : DDT86 CMD
    > A: PIP CMD : STAT CMD : GENCMD CMD : LMCMD CMD
    > A: SUBMIT CMD : COPYDISK CMD : HELP CMD : HELP HLP
    > A: FORM CMD : VFLOP CMD : SETSIO CMD : MCONFIG CMD
    > A: CPM H86 : BASWAR CMD : LASBAS CMD : PRICONF BAS
    > A>
    >
    > http://www.retro.dial.pipex.com/las5/DIR.TXT
    >
    > The question for comp.os.cpm would be, "What do I do next?" Communication
    > with a PC has been established via the LASs RS232C port using PIP (AXI: and
    > AXO and also by stat reassigning the LST: device to CRT: and using Ctrl-P
    > to dump everything as it's typed. It hasn't yet been possible to initiate
    > some form of CTTY (DOS convention) reassignment so commands can be typed on
    > the PC. BASIC is available on the system (LASBAS) and the ability to create
    > and write to files has been achieved although reading them back in isn't so
    > easy without the exact format of how the INPUT# function is structured, I
    > get immiediate end of file errors when trying to read a single byte, INPUT#
    > 1,A(0). OPENO# , OPENI# , PRINT# , and INPUT# appear to be all that's
    > available. The dump of the LASBAS.CMD follows and is how the available
    > commands were obtained (about offset 8400:0C20);



    The INPUT # command should work just like the INPUT command, it will
    keep inputing bytes till a C/R is encountered. Try using INPUT #1,A$


    Looking further into the Basic dump, I see it has CSAVE, CLOAD etc - so
    you seem to have cassette i/o on there also.

    This looks like a port or copy of Microsoft basic (or Gw Basic). One
    thing you could try is write a small program in basic, hook up your XP
    to the system and use hyperterminal and then use variations of SAVE
    "COM:" to see if the text shows up on the XP (you may have to keep
    changing baud rates on the XP to find out what the default rate is on
    the CP/M machine).

    On a side note, on a Model 100 running Microsoft basic, the format for
    the SAVE command is: SAVE "COM:58N1E" for save 1200 baud, 8 bits, no
    parity, 1 stop bit, Xon/Xoff error control, SAVE "COM:38N1E" is for 300
    baud.

    If you get this to work, then you can reverse it and use LOAD
    "COM:58N1E" to load an ascii fill through the com port from the XP.
    When done sending, hit CTRL-Z a few times on the XP to get the OK
    prompt on the Cp/m machine.

    Bill H - www.ts1000.us

    >
    > http://www.retro.dial.pipex.com/las5/LASBAS.TXT
    >
    > Disk format of the machine appears to be SSDD 80-track on a 3.5" drive
    > (supplied on manufacturer's 3.5" SSDD disk). The stat output follows;
    >
    > http://www.retro.dial.pipex.com/las5/STAT.TXT
    >
    > So, where should I go from here? 22DISK appears unable to read the disk
    > format having tried 10 or so of the SS defaults it comes with. Also
    > archived is the CPM.H86 file here with the faqs mentioning rebuilding and
    > changing various bytes in mind;
    >
    > http://www.retro.dial.pipex.com/las5/CPMH86.TXT
    >
    > The VFLOP.CMD file you see right up above configures a virtual floppy drive
    > as G: which can be as much as 256K. BASIC reports about 40K free from
    > FRE(0). COPYQM has been used to successfully create a backup of the disk I
    > received, all bootable readable and writable without any problems. The
    > machine has an 8088 processor in it.
    >
    > Would it be possible to use vanilla CP/M-86 binaries with this version of
    > CP/M? It reports as 2.3 when it boots. The first step though would be to
    > get binaries onto the machine with the immiediate idea being to write a
    > BASIC program with DATA statements to create a file hard coding the data by
    > hand, unless of course some way was found to read/write the disks. Kermit
    > would be the first file on there to make use of AXI: and AXO: for binary
    > transfer. It'd be great to get the RS232 port up and running in basic if I
    > knew how, there appear to be references to COM in the dump of the
    > interpreter. The main port btw is an IEEE-488 which is the LST: device by
    > default.
    >
    > What would you do? Any ideas on what I should do next to get up and running
    > would be so much appreciated.
    >
    > Thanks hugely in advance,
    >
    > Aly



  3. Re: Getting limited version of CP/M-86 up and running?

    "techie_alison" wrote:

    > Hello I posted some weeks back seeking a boot disk for a Rohde and
    > Schwarz logic analyser which runs CP/M. A boot disk has now been sourced
    > although appears very limited. A directory listing follows;
    >
    > A>DIR
    > A: CPM SYS : ED CMD : ASM86 CMD : DDT86 CMD
    > A: PIP CMD : STAT CMD : GENCMD CMD : LMCMD CMD
    > A: SUBMIT CMD : COPYDISK CMD : HELP CMD : HELP HLP
    > A: FORM CMD : VFLOP CMD : SETSIO CMD : MCONFIG CMD
    > A: CPM H86 : BASWAR CMD : LASBAS CMD : PRICONF BAS


    The computer that I use at this cybercafe refuse to display the files that
    you put on your Web site, so my following comments will be done blindly
    (I hate Micro****'s Windows!).

    > The question for comp.os.cpm would be, "What do I do next?" Communication
    > with a PC has been established via the LASs RS232C port using PIP (AXI:
    > and
    > AXO and also by stat reassigning the LST: device to CRT: and using
    > Ctrl-P
    > to dump everything as it's typed. It hasn't yet been possible to initiate
    > some form of CTTY (DOS convention) reassignment so commands can be typed
    > on
    > the PC.


    So, if I have well understood, your logic analyzer has no screen or
    keyboard.
    I find it surprising, because the files that you have (which are the classic
    set of files for CP/M-86: note the presence of ED and your LASBAS
    BASIC interpreter...) seem to indicate that the system was used
    interactively.
    So, you should have another look to the hardware, to see how to connect
    a terminal. Depending upon the date when it was build, some terminals
    were standard. Since it was a CP/M-86 system, I would think that a
    WYSE terminal (Model 60?) could be a good estimate. If I were you, the
    first thing I would do would be to copy all the files on a PC, then study
    the CPM.SYS file. I have made a DUMPASC utility that allows that.
    Either read the contents of the CPM.SYS file on-screen, or dump the
    whole thing to a file, then read it with your favorite word processor.
    (By the way, since this is a standard CP/M-86 system, WordStar 3.3
    and New Word 3 (available on the Internet) will run on it.)

    > BASIC is available on the system (LASBAS) and the ability to create
    > and write to files has been achieved although reading them back in isn't
    > so
    > easy without the exact format of how the INPUT# function is structured


    I would need more info before giving you any advice. Since I am able
    to read what you post, I suggest that, next time, you include the more
    interesting part of your dumps in your message. However, since I have
    used BASIC for over 20 years, I can tell you that most BASIC follow
    the standard established by MBASIC, but that some commands are
    worded differently under MS-DOS than under CP/M. Since this is
    a CP/M-86 system (meaning: IBM Clown), its syntax is probably
    more like the one of GW-BASIC.

    > So, where should I go from here? 22DISK appears unable to read the disk
    > format having tried 10 or so of the SS defaults it comes with.


    So, you can't read the disk under MS-DOS? ****. There are several
    utilities able to read funny disks under MS-DOS. Try another one.
    I am thinking about TeleDisk. I think there must also be a utility
    to analyze foreign disks (AnyDisk?), but someone familiar with
    its use would be more productive.

    > Also archived is the CPM.H86 file here with the faqs mentioning
    > rebuilding and
    > changing various bytes in mind;


    Yes, that's it. Standard CP/M-86. (CPM.H86 contains the BDOS.)

    > http://www.retro.dial.pipex.com/las5/CPMH86.TXT
    >
    > The VFLOP.CMD file you see right up above configures a virtual floppy
    > drive
    > as G: which can be as much as 256K. BASIC reports about 40K free from
    > FRE(0). COPYQM has been used to successfully create a backup of the disk
    > I
    > received, all bootable readable and writable without any problems. The
    > machine has an 8088 processor in it.


    So, COPYQM should be able to read and copy your disk. Now, you can
    copy those files on your PC. VFLOP probably makes a RAM disk inside
    the TPA. Under CP/M-86, programs use "segments" usually 64K long.
    Most ComManD files have a Data Segment and a Code Segment. Your
    BASIC says that 40K remains free of the Data Segment. That's surprising:
    I was expecting almost 64K. Maybe it is a "8080 Memory Model" CMD
    file, where the code and data are in one single segment (just like Good
    Old 8080 programs). In that case, your BASIC should be about 24K,
    so that 24 + 40 = 64 K. Your logic analyzer has a 8088 CPU. This is
    also the case of my IBM PC Convertible. How much RAM do you have?
    Is there a Hard Disk?

    > Would it be possible to use vanilla CP/M-86 binaries with this version of
    > CP/M? It reports as 2.3 when it boots.


    Haha! Interesting. On the comp.os.cpm Newsgroup, we have a fan
    would insist on remaining at Version 1.1. Personally, I am more
    familiar with Version 3.1 (CP/M-86 Plus). Be assured: so far,
    we have not found any CMD files that would not run on CP/M-86
    systems, except if it is accessing directly the hardware.

    > (...) Kermit
    > would be the first file on there to make use of AXI: and AXO: for binary
    > transfer. It'd be great to get the RS232 port up and running in basic if
    > I
    > knew how, there appear to be references to COM in the dump of the
    > interpreter. The main port btw is an IEEE-488 which is the LST: device by
    > default.


    Kermit is, unfortunately, overweight, but I agree that it is the standard,
    and that it is available for more systems than anything else.

    Must leave now: the cybercafe is closing.

    Yours Sincerely,
    "French Luser"




  4. Re: Getting limited version of CP/M-86 up and running?

    The other utility is called anadisk - from the same company as 22disk.
    It should be possible to construct a 22disk definition from the output
    There is also a rumour that 22disk will not work if the pc is "too
    fast"
    have you an old 486 to run it on?
    Phil


  5. Re: Getting limited version of CP/M-86 up and running?

    wrote in message
    news:1146574886.384566.274110@j73g2000cwa.googlegr oups.com...
    > The other utility is called anadisk - from the same company as 22disk.
    > It should be possible to construct a 22disk definition from the output
    > There is also a rumour that 22disk will not work if the pc is "too
    > fast"
    > have you an old 486 to run it on?
    > Phil
    >


    Hi Phil, just getting round to replying to these with good info. Yep, have
    an IBM Thinkpad laptop back home which is a 486, and from experience also
    does weird formats, it was used to restore a bulk load of Atari ST disks.
    There's also my totally bog standard 486 desktop back home which was used
    with even weirder formats on a Melco embroidery system, SD...

    Actually...... If worst comes to worst tell you what I do have... Some old
    IDE/FDD IO ISA cards which support the old formats before the manufacturers
    started writing them out of their firmware, a Promise IDE
    cache controller I think is one of them.. Some of the firmware now on these
    integrated PCs won't even read or acknowledge 720s, only work with USB
    drives for example (ugh!).

    Next step today is to create a DOS 5 boot disk and use it to create a
    bootable CD with everything on it, images, copyqm, 22disk, anadisk etc.

    :-)

    Aly



  6. Re: Getting limited version of CP/M-86 up and running?

    wrote in message
    news:1146574886.384566.274110@j73g2000cwa.googlegr oups.com...
    > The other utility is called anadisk - from the same company as 22disk.
    > It should be possible to construct a 22disk definition from the output
    > There is also a rumour that 22disk will not work if the pc is "too
    > fast"
    > have you an old 486 to run it on?
    > Phil
    >


    Brilliant!! :-) Have Anadisk and here's it's dump of the disk;

    http://www.retro.dial.pipex.com/las5/LAS_S0.BIN (260K odd)

    It's a SSDD disk with 80 tracks, 128byte sectors, 25 sectors per track, FAT
    at track 2. Seems that it's interleaved 1,3,5,7 although not sure, just
    getting that impression trawling through.

    Anadisk can't copy the disk, the resulting exact copy ends up as 26 sectors
    per track for some reason.

    Will have a go at creating a new defination later.



  7. Re: Getting limited version of CP/M-86 up and running?

    "Bill H" wrote in message
    news:1146532463.666333.5410@y43g2000cwc.googlegrou ps.com...
    >
    > The INPUT # command should work just like the INPUT command, it will
    > keep inputing bytes till a C/R is encountered. Try using INPUT #1,A$
    >
    >
    > Looking further into the Basic dump, I see it has CSAVE, CLOAD etc - so
    > you seem to have cassette i/o on there also.
    >
    > This looks like a port or copy of Microsoft basic (or Gw Basic). One
    > thing you could try is write a small program in basic, hook up your XP
    > to the system and use hyperterminal and then use variations of SAVE
    > "COM:" to see if the text shows up on the XP (you may have to keep
    > changing baud rates on the XP to find out what the default rate is on
    > the CP/M machine).
    >
    > On a side note, on a Model 100 running Microsoft basic, the format for
    > the SAVE command is: SAVE "COM:58N1E" for save 1200 baud, 8 bits, no
    > parity, 1 stop bit, Xon/Xoff error control, SAVE "COM:38N1E" is for 300
    > baud.
    >
    > If you get this to work, then you can reverse it and use LOAD
    > "COM:58N1E" to load an ascii fill through the com port from the XP.
    > When done sending, hit CTRL-Z a few times on the XP to get the OK
    > prompt on the Cp/m machine.
    >
    > Bill H - www.ts1000.us
    >


    Hi Bill,

    Yep, have tried allsorts of variations on that INPUT# statement and
    referencing to GWBASIC, Mallard basic, BasicA, and anything I could think
    of. It's going to be something silly with brackets.

    COM stuff next on the list



  8. Re: Getting limited version of CP/M-86 up and running?

    French Luser wrote:
    : "techie_alison" wrote:

    :> Would it be possible to use vanilla CP/M-86 binaries with this version of
    :> CP/M? It reports as 2.3 when it boots.

    : Haha! Interesting. On the comp.os.cpm Newsgroup, we have a fan
    : would insist on remaining at Version 1.1. Personally, I am more
    : familiar with Version 3.1 (CP/M-86 Plus).

    Of course, the version number displayed may not bear any relation to the
    internal CP/M version number. You can get at the version number by doing
    this:

    A>ddt86 ddt86.cmd
    DDT86 1.2
    START END
    CS 9910:0000 9910:377F
    -a0
    9910:0000 mov cl,0c
    9910:0002 int e0
    9910:0004 int 3
    9910:0005
    -g0
    *9910:0004
    -x
    AX BX CX DX SP BP SI DI CS DS SS ES IP
    --I----- 0022 0022 0000 0000 092C 0000 0000 0000 9910 9910 0051 0051 0004
    INT 3
    -

    (for the avoidance of doubt, what you type is:

    ddt86 ddt86.cmd
    a0
    mov cl,0c
    int e0
    int 3
    (ie, just a blank line)
    g0
    x
    )
    Then the value in AX will be the BDOS version number. This is:
    0022 for CP/M-86 v1.x;
    1031 for Personal CP/M-86 v1.x;
    1033 for Apricot Personal CP/M-86 v3.x;
    1041 for Personal CP/M-86 v2.x, and DOS Plus 1.x;
    1050 for DOS Plus 2.x.

    I would expect 0022, but who knows?

    --
    ------------- http://www.seasip.demon.co.uk/index.html --------------------
    John Elliott |BLOODNOK: "But why have you got such a long face?"
    |SEAGOON: "Heavy dentures, Sir!" - The Goon Show
    :-------------------------------------------------------------------------)

  9. Re: Getting limited version of CP/M-86 up and running?

    "French Luser" wrote in message
    news:4457193b$0$20165$8fcfb975@news.wanadoo.fr...
    >
    > The computer that I use at this cybercafe refuse to display the files that
    > you put on your Web site, so my following comments will be done blindly
    > (I hate Micro****'s Windows!).
    >


    :-( :-)

    >
    > So, if I have well understood, your logic analyzer has no screen or
    > keyboard.


    Yep, it has a screen and a keyboard.

    > I find it surprising, because the files that you have (which are the

    classic
    > set of files for CP/M-86: note the presence of ED and your LASBAS
    > BASIC interpreter...) seem to indicate that the system was used
    > interactively.


    As far as logic analysers go it's pretty powerful, 48 channel 20Mhz 1K depth
    per channel, 8 channel 100Mhz 1K per channel, dual trace digitising 20Mhz
    scope 4K depth per channel. And I have this $10,000 piece of 80's equipment
    playing Greensleeves, PLAY "C1D1".


    > So, you should have another look to the hardware, to see how to connect
    > a terminal. Depending upon the date when it was build, some terminals
    > were standard. Since it was a CP/M-86 system, I would think that a
    > WYSE terminal (Model 60?) could be a good estimate. If I were you, the
    > first thing I would do would be to copy all the files on a PC, then study
    > the CPM.SYS file. I have made a DUMPASC utility that allows that.
    > Either read the contents of the CPM.SYS file on-screen, or dump the
    > whole thing to a file, then read it with your favorite word processor.
    > (By the way, since this is a standard CP/M-86 system, WordStar 3.3
    > and New Word 3 (available on the Internet) will run on it.)
    >


    :-) Excellent news!! :-) Currently trying anadisk to do this atm.

    >
    > I would need more info before giving you any advice. Since I am able
    > to read what you post, I suggest that, next time, you include the more
    > interesting part of your dumps in your message.


    Okies :-)

    > However, since I have
    > used BASIC for over 20 years, I can tell you that most BASIC follow
    > the standard established by MBASIC, but that some commands are
    > worded differently under MS-DOS than under CP/M. Since this is
    > a CP/M-86 system (meaning: IBM Clown), its syntax is probably
    > more like the one of GW-BASIC.
    >
    >
    > So, you can't read the disk under MS-DOS? ****. There are several
    > utilities able to read funny disks under MS-DOS. Try another one.
    > I am thinking about TeleDisk. I think there must also be a utility
    > to analyze foreign disks (AnyDisk?), but someone familiar with
    > its use would be more productive.
    >


    Finally found it in the end too..

    >
    > So, COPYQM should be able to read and copy your disk.


    Yep, COPYQM seems able to but ANADISK creates a different format, 1 sector
    more than is read per cylinder.

    > Now, you can
    > copy those files on your PC. VFLOP probably makes a RAM disk inside
    > the TPA. Under CP/M-86, programs use "segments" usually 64K long.


    I remember :-) From the days of 8088/8086 coding :-)


    > Most ComManD files have a Data Segment and a Code Segment. Your
    > BASIC says that 40K remains free of the Data Segment. That's surprising:
    > I was expecting almost 64K. Maybe it is a "8080 Memory Model" CMD
    > file, where the code and data are in one single segment (just like Good
    > Old 8080 programs). In that case, your BASIC should be about 24K,
    > so that 24 + 40 = 64 K. Your logic analyzer has a 8088 CPU. This is
    > also the case of my IBM PC Convertible. How much RAM do you have?
    > Is there a Hard Disk?


    It actually has two CPU's, well, a master and a host board. The memory is
    unknown. No hard disk or facility to add one either. Uses a WD2792
    controller for the FDD.


    > Haha! Interesting. On the comp.os.cpm Newsgroup, we have a fan
    > would insist on remaining at Version 1.1.


    Nothing wrong with that :-) Dad is still using an IBM XT-286 expanded to
    the hilt, 16Mb of RAM, and have just moved him over to 256Mb IDE CF cards as
    hard disks.

    > Personally, I am more
    > familiar with Version 3.1 (CP/M-86 Plus). Be assured: so far,
    > we have not found any CMD files that would not run on CP/M-86
    > systems, except if it is accessing directly the hardware.
    >


    Yep, a little bit of weird hardware there. Most of it I've documented here;
    www.retro.dial.pipex.com/las5

    >
    > Kermit is, unfortunately, overweight, but I agree that it is the standard,
    > and that it is available for more systems than anything else.
    >


    Nods.

    > Must leave now: the cybercafe is closing.
    >


    Awwww :-) Quite enjoyed reading your post actually :-) Take care.

    > Yours Sincerely,
    > "French Luser"
    >


    With friendly regards,

    Aly



  10. Re: Getting limited version of CP/M-86 up and running?

    "John Elliott" wrote in message
    news:d0a83e.is3.ln@seasip.demon.co.uk...
    >
    > Then the value in AX will be the BDOS version number. This is:
    > 0022 for CP/M-86 v1.x;
    > 1031 for Personal CP/M-86 v1.x;
    > 1033 for Apricot Personal CP/M-86 v3.x;
    > 1041 for Personal CP/M-86 v2.x, and DOS Plus 1.x;
    > 1050 for DOS Plus 2.x.
    >
    > I would expect 0022, but who knows?
    >


    Hiya John!!

    Hey, I'm starting to enjoy this :-) Back to hacking O/Ss, been a long long
    time. Here's the outcome of your post (this is my machine);

    A>DDT86 DDT86.CMD
    DDT86 1.1
    START END
    CS 8933:0000 8933:365F
    -A0
    8933:0000 MOV CL,0C
    8933:0002 INT E0
    8933:0004 INT 3
    8933:0005
    -G0
    *8933:0004
    -X
    AX BX CX DX SP BP SI DI CS DS SS ES IP
    --I------ 0022 0022 0000 0000 092C 0000 0000 0000 8933 8933 8000 8000 0004
    INT 3
    -

    v1.? it is then?





  11. Re: Getting limited version of CP/M-86 up and running?

    "John Elliott" wrote in message
    news:d0a83e.is3.ln@seasip.demon.co.uk...
    >
    > Then the value in AX will be the BDOS version number. This is:
    > 0022 for CP/M-86 v1.x;
    > 1031 for Personal CP/M-86 v1.x;
    > 1033 for Apricot Personal CP/M-86 v3.x;
    > 1041 for Personal CP/M-86 v2.x, and DOS Plus 1.x;
    > 1050 for DOS Plus 2.x.
    >
    > I would expect 0022, but who knows?
    >


    Hiya John!!

    Hey, I'm starting to enjoy this :-) Back to hacking O/Ss, been a long long
    time. Here's the outcome of your post (this is my machine);

    A>DDT86 DDT86.CMD
    DDT86 1.1
    START END
    CS 8933:0000 8933:365F
    -A0
    8933:0000 MOV CL,0C
    8933:0002 INT E0
    8933:0004 INT 3
    8933:0005
    -G0
    *8933:0004
    -X
    AX BX CX DX SP BP SI DI CS DS SS ES IP
    --I------ 0022 0022 0000 0000 092C 0000 0000 0000 8933 8933 8000 8000 0004
    INT 3
    -

    v1.? it is then?






  12. Re: Getting limited version of CP/M-86 up and running?

    Strings in LASBAS.CMD file by Emmanuel ROCHE
    --------------------------

    1) Used by the error message

    IN LINE $
    ERROR $


    2) Obviously, the keywords of this BASIC

    CHR$
    STR$
    LEFT$
    RIGHT$
    MID$
    HEX$ No DEC$, OCT$, or BIN$...
    VAL
    ASC
    LEN
    HEX What is the difference with HEX$ ?
    SIN
    COS
    TAN
    ATN
    LOG
    EXP
    SQR
    PEEK
    ABS
    SGN
    INT
    RND
    INP
    FRE
    TAB
    ERM What's that? (ERror Message?)
    NOT
    -
    (
    )
    >=

    <=
    <>
    +
    - Twice?
    *
    /
    ^ Exponential
    =
    >

    <
    RETURN
    GOSUB
    GOTO
    STEP
    THEN
    ELSE
    TAB
    TO
    CALL
    TRACEOFF TROFF in other BASICs
    VIEWPORT What's that?
    COPYOUT And this?
    SEGMENT Set up a 8088 segment
    TRACE TRON in other BASICs
    INKEY
    RESTORE
    RETURN
    WINDOW What's that?
    INVERT Reverse video?
    LABEL A structured BASIC?
    WIDTH
    CLEAR CLS?
    RDRAW What is the R for?
    RMOVE What is the R for?
    LOAD
    SAVE
    PRINT#
    INPUT#
    EXIT SYSTEM in other BASICs
    HOLD Hold what?
    GOSUB
    INPUT
    DATA
    PRINT
    CLOSE#
    OPENI# For Input file
    OPENO# For Output file
    READ
    GOTO
    STOP
    NEXT
    POKE
    MOVE Move what?
    DRAW Draw what?
    PLAY Play what?
    SET Setting the color of the dot?
    DOT This must be a dot on screen
    FOR
    DIM
    REM
    END
    LET
    IEC What's that?
    OUT
    CLR Another?
    ON
    IF
    ?
    X What's that?
    XOR
    OR
    AND
    "
    )
    ,
    ;
    :
    ELSE
    ERROR
    EOF
    INTR What's that?
    SRQ What's that?


    3) Finally, the copyright message

    LAS-BASIC Vers. 2.1
    COPYRIGHT 1983, 1987 ROHDE & SCHWARZ, MUNICH.$


    4) Obviously, the keywords for floppy/tape

    CLOAD
    CSAVE
    ALOAD
    ASAVE
    LIST
    RUN
    NEW
    CONT
    BYE
    PLIST What's that?
    DELETE
    AUTO
    RENUMBER
    FETCH What's that?
    REWIND Rewind the cassette
    CAPPEND Cassette append


    5) The message when the user press Ctrl-C

    STOP IN LINE $


    6) Obviously, lots of names belonging to the IEC-Bus

    IEC
    X Again the X...
    LLO
    DCL
    PPU
    SPE
    SPD
    GTL
    SDC
    PPC
    GET
    GXT
    TCT
    UNL
    MTA
    UNT
    REN
    NREN
    IFC
    NIFC
    CLEAR
    NCLEAR
    ATN
    ATT
    NATN
    NATT
    LAD
    TAD
    SAD
    PPD
    PPE
    PPL
    SPL
    IN
    OUT
    LISTON Echo to printer?
    LISTOFF
    RLC
    TERM
    ADR
    EOI
    NEOI
    TIME
    $IN
    %IN.
    $OUT
    %OUT
    RQS
    WTCT
    WMLA
    WMTA


    7) It is really a IEC-Bus

    IEC-BUS TCT RECEIVED.$
    IEC-BUS UNIDTFD. CMDRECEIVED


    8) Messages for floppy/tape

    floppy/tape not inserted$
    floppy/tape write protected$
    tape end reached$
    floppy/tape CRC-error$
    bad tape$
    bad tape$ Twice?
    $$$ (Must be temporary filetype)
    IEC-bus timeout$
    IEC-bus handshake error$
    not a IEC-bus talker/listener$
    not a IEC-bus controller$
    IEC-bus MLA received$
    IEC-bus MTA received$
    LAS IEC-bus error$
    $ (Where is the message?)
    too deeply nested$
    FOR without TO$
    redimensioned array$
    $$ (Where are the messages?)
    GOSUB without RETURN$
    linenumber > 65534$
    undefined line$
    FOR without matching NEXT$
    ) and ( out of balance$
    undefined command$
    out of memory$
    undefined variable$
    numeric overflow$
    subscript out of range$
    illegal math. operation$
    RETURN without GOSUB$
    syntax error$
    lines nested$
    variable type mismatch$
    undefined operator$
    out of data$
    parameter too large$
    line too long$
    illegal quantity$
    can`t continue$
    framing on COM$ Interesting...
    parity on COM$ Interesting 2
    overrun on COM$ Interesting 3
    $$ (Where are the messages?)
    file already open$
    file not open$
    BDOS close error$
    BDOS open error$
    BDOS write error$
    no valid file number$
    file not open for output$ It really likes I/O files
    file not open for input$ (No random access files?)
    file name error$


    EOF



  13. Re: Getting limited version of CP/M-86 up and running?

    "French Luser" wrote in message
    news:4458a104$0$18323$8fcfb975@news.wanadoo.fr...
    > Strings in LASBAS.CMD file by Emmanuel ROCHE
    > --------------------------
    >
    > 1) Used by the error message
    >
    > IN LINE $
    > ERROR $
    >
    >
    > 2) Obviously, the keywords of this BASIC


    The thing is a beast, it's a piece of lab test equipment, hence the custom
    basic and such.

    Sorry for going quiet, becoming totally obsessed with this disk format, but
    to give something in basic :-)

    10 REM Program to assist in determining disk sector layout
    20 REM 64 files will be created to fill the allocated directory space
    30 REM File AAAAAAAA.BIN will contain 1024 bytes of ASCII AAAAAAAA
    40 REM File AAAAAACM.BIN will contain 1024 bytes of AAAAAACM
    50 FOR A=65 TO 68
    55 N=0
    60 FOR B=65 TO 90
    65 N=N+1
    70 A$=CHR$(65)+CHR$(65)+CHR$(65)+CHR$(65)+CHR$(65)+CH R$(65)
    80 B$=CHR$(A)+CHR$(B)
    90 C$=B$
    100 D$=C$+".BIN"
    110 GOSUB 150
    120 NEXT B
    130 NEXT A
    140 STOP
    150 REM Create file
    160 SEGMENT 0
    170 PRINT D$,N
    180 OPENO# 1,D$
    190 FOR Z=1 TO 25
    200 E$=CHR$(Z)
    210 O$=C$+" "+E$
    220 FOR X=1 TO 16
    230 PRINT# 1,O$;
    240 NEXT X
    250 NEXT Z
    270 CLOSE# 1
    280 RETURN

    Terrible isn't it! But does it's job. It's to fill the disk and FAT up so
    I can trace stuff back. Ended up with this though;

    BEGIN
    AAAA LAS5 -- SSDD 135 tpi 3.5"
    DENSITY
    MFM,LOW
    CYLINDERS
    79
    SIDES
    1
    SECTORS
    25,128
    SIDE1 0
    1,7,13,19,25,6,12,18,24,5,11,17,23,4,10,16,22,3,9, 15,21,2,8,14,20

    BSH 3 BLM 7 EXM 0 DSM 243 DRM 63
    AL0 11000000B AL1 00H OFS 2

    END

    What a lovely disk format!! NOT. Will have to wait for a few days until I
    can pick up these old 486 machines.

    My DELL, Toshiba, and HP machines all report that the disk isn't ready, and
    won't even attempt to format based on those Anadisk specifications. Daft
    thing is that Copyqm can create copies of the boot disk, admiittedly not
    like for like, my master disk somehow becomes DSDD.... Behaves as normal in
    the LAS CPM machine but Anadisk reports different.

    Other worrying thing is that the Dell picks up an extra sector without an
    ID, calls it 128. That'd then make the disk 26,128 but then doesn't tie in
    with how the disk sectors interleave logically.





  14. DuMP-to-CMD/COM File Converters

    AROBASE.TXT
    -----------

    Ok. So, there is a Newbie on the comp.os.cpm Newsgroup that got
    very cheaply a 20-years old German logic analyser (Logic
    Analyser System 5 (LAS-5) by Rohde & Schwarz, Munich) which has
    a floppy disk drive. Upon inserting a floppy in it, CP/M-86
    boots! So, this Newbie made the right decision to come to this
    Newsgroup. Now, there are 2 problems: 1) What is this version of
    CP/M-86, and 2) What is this LAS-BASIC whose dump he provided.

    1) Since the BDOS returns 0022, this is a standard CP/M-86
    (Version 1.0 and/or 1.1). However, I could not escape noticing
    that the CPM.SYS file is only 15KB long... That means that its
    BIOS is very, very small, so it should be very easy to
    disassemble... (The simplest CP/M-86 version known, inside the
    complex electronic device known!) Another thing that I noticed
    in the STAT.TXT file made available by the Newbie is that the
    floppy size is only 243KB... This sounds amazingly like the Good
    Old 8" standard... So, I wonder if this funny system (a computer
    inside a logic analyser!) does not simply use 5"1/4 floppies
    instead of 8" floppy (physically, but with the same logical
    parameters as 8" floppies, the ones that are given in the
    manual. If so, the BIOS would be very similar to the one in the
    manual). (Once the BIOS will be disassembled, it could be a good
    opportunity to either increase the size of the floppy, or to add
    a hard disk... From experience, I know that CP/M is not happy on
    a single 243KB drive, especially the 16-bit version, able to
    load programs bigger than this drive!)

    2) The Newbie provided a dump (made with DDT-86) of a LASBAS.CMD
    file that he found on his floppy. Since I have done quite a few
    disassemblies of CMD files since I got involved with CP/M-86
    Plus a few years ago, I had a look (also, since I am a fan of
    BASIC, I was wondering what was this unknown BASIC? The problem
    was that the computer that I use at the cybercafe to read the
    comp.os.cpm Newsgroup refuses to display the links that the
    Newbie provided. I had to go to another cybercafe (the most
    expensive of the next city) to have a look. I copied this file
    on my floppy, and went back home to try to understand it. I
    first removed all the hex dump with one of my BASIC programs,
    then edited the ASCII dump until it made sense, and uploaded the
    result to the comp.os.cpm Newsgroup, under the name "Keywords of
    the LAS-BASIC". There were lots of IEC-Bus stuff included in
    this LAS-BASIC Vers. 2.1 dated 1983-1987. I asked some
    electronicians I know what it was, and, in short, they said:
    "Hahaha! IEC (International Electrotechnical Commission) is the
    name under which GPIB is known in Germany! One problem of this
    bus is that it is known under several names: IEC-Bus = GPIB =
    IEEE-488 = HP-IB = ANSI MC 1.1-1975. It is a "National" standard
    in the USA, introduced in April 1975, that became an Internation
    standard just a few months later... with 25 pins, while the US
    version has only 24 pins. As a result, in Europe, we are used to
    fit 25-to-24 pins adaptors when using American-made GPIB
    devices. A good reference is: "PET and the IEEE 488 [GPIB]" by
    Fisher & Jensen, Osborne/McGraw-Hill, 1980." Most companies
    (like Hewlett-Packard) that produced GPIB devices were
    furnishing their own programming languages to use it. So, this
    LAS-BASIC is, indeed, a BASIC specialised to communicate with a
    GPIB network, under CP/M-86. Let us now have a (short) look to
    the dump of the CMD file provided by the Newbie:

    A>DDT86 LASBAS DDT86 1.1
    START END
    CS 8400:0000 8400:490F
    -D0,490ff0F
    8400:0000 0F 49 00 00 84 01 0F 49 00 00 00 00 00 00 00 00 .I.....I........
    8400:0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0050 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 .............
    8400:0060 20 20 20 20 20 20 20 20 00 00 00 00 00 20 20 20 .....
    8400:0070 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 ........
    8400:0080 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 ...p............
    8400:0090 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00B0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00D0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:00F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0100 EB 0B 90 EB 34 90 EB 4E 90 4F 4B 31 31 B8 00 84 ....4..N.OK11...
    8400:0110 8E D8 BE 00 00 B8 00 70 8E C0 BF 00 00 B9 00 50 .......p.......P
    8400:0120 F3 A4 EA 27 01 00 70 8C C8 8E D8 8E D0 8D 26 C0 ...'..p.......&.
    (...)
    8400:48E0 80 CD 80 8A CD E8 FD F2 59 FE C9 80 F9 00 75 9A ........Y.....u.
    8400:48F0 E8 14 FF 58 FE C0 3C 50 75 83 E8 F6 FE E8 0D FF ...X.. 8400:4900 E8 04 FF 8F 06 6E F1 5B C3 00 00 00 00 00 00 00 .....n.[........
    -

    ??? Big problem: I simply don't recognise the standard CMD file format!

    1) The first byte contains a OF that is known as "Escape code"
    in the old CP/M-86 doc. (By the way, for people new to CP/M-86
    like this Newbie, a good source of information is a paper by
    Digital Research titled: "CP/M-86 Compatibility Guide For
    CP/M-86 Users". It can be found with Google on the comp.os.cpm
    Newsgroup under the abbreviation CCGFCU.) And the problem is
    that no other CMD files with this G-Form is known... (It was to
    be a future file format, but DRI introduced "Large" files
    instead.)

    2) Another big problem: This CMD file does not look like other
    CMD files, which have a "Header Record" followed by the
    segment(s) used. From the 20hs, it is obvious that this file is
    the result of a DDT-86 manipulation, since the BDOS initialized
    the FCB... (Note also the 70h...) However, here, the Header
    Record is INSIDE the Base Page!!! Seems like it was hand-made
    patched under DDT-86. It is pretty amazing that the CCP of
    CP/M-86 is able to load this CMD file in the TPA! Also, DDT-86
    loads it, but displays only one single CS, just like if it was a
    "8080 Memory Model" CMD file. (This leads directly to the
    question: could it be that this is an 8086 version of a 8080
    program? Was there a LAS-BASIC running under CP/M 2.2?) In
    short, short of any official doc from DRI telling us what would
    have been a standard "Escape code" CMD file, we can only accept
    that this file loads and runs correctly on this logic analyser
    when it runs as a CP/M-86 computer.

    3) Third amazing thing in this CMD file: it loads at an absolute
    address in the TPA! Until then, the only exception known was
    CPM.SYS, which loads immediately after the Data Area of
    computers using the 8086 CPU architecture. Since this LAS-BASIC
    is specialized with the GPIB, it could be done so that it reads
    directly some memory-mapped I/O ports?

    4) To be complete, the command line -D0,490ff0F simply does not
    look right. In fact, at the beginning, I was thinking that this
    typo was the origin of the 0F found in the first byte. One more
    thing that the Newbie will have to check/explain.

    So, the Newbie provided a dump of LAS-BASIC, instead of an Intel
    Hex file, as is commonly done on the comp.os.cpm Newsgroup.
    Since it was the only thing available, I had a try at recreating
    the CMD file from the dump. I started by editing the file,
    making a version with only the dump:

    ---------
    8400:0000 0F 49 00 00 84 01 0F 49 00 00 00 00 00 00 00 00 .I.....I........
    8400:0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    8400:0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    (...)
    8400:48E0 80 CD 80 8A CD E8 FD F2 59 FE C9 80 F9 00 75 9A ........Y.....u.
    8400:48F0 E8 14 FF 58 FE C0 3C 50 75 83 E8 F6 FE E8 0D FF ...X.. 8400:4900 E8 04 FF 8F 06 6E F1 5B C3 00 00 00 00 00 00 00 .....n.[........
    ---------

    (The "----" lines appear here simply to mark the begin/end of
    the file.)

    Since I have made various LOAD and UNLOAD, SAVEHEX and LOADHEX
    over the years, I simply started by modifying one. However, the
    file was simply exploding the output CMD file. There was one
    problem inside the provided dump. So, I added the following
    statements:

    130 GET 1
    140 ' PRINT
    150 ' PRINT " Address| " address$
    160 ' PRINT " Hex dump|" hexdump$
    170 ' PRINT "ASCII dump|" asciidump$
    180 ' IF lc = 6 THEN lc = 0 : WHILE INKEY$ = "" : WEND
    190 ' GOTO 130

    to try to find where was the error(s). I ended finding that:

    1) At line 8400:0BDO, one space was missing at the end of the
    ASCII dump!

    2) At line 8400:1220, one could read: 0D 75 01 D... Obviously,
    something was missing inside this line! not one nibble, but one
    byte and a nibble, or 3 nibbles. Since I have, of course, no
    idea what was the original values, I typed 0D 00 to replace the
    D.

    3) At line 8400:29A0, the hex dump ends with 3C<, so I typed a
    space between the 3C and the < character, and added 2 spaces at
    the end of the ASCII dump.

    4) At line 8400:4110, the hex dump contains 33 FE E81, so I
    typed E0 81.

    After those 4 modifications were made, I could see the following
    on my screen:

    run

    DMP-to-CMD> Enter DMP File Name: lasbas

    0000| 0F 49 00 00 84 01 0F 49 00 00 00 00 00 00 00 00 |.I.....I........
    0010| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    0020| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    0030| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    0040| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    0050| 00 00 00 00 00 00 00 00 00 00 00 00 00 20 20 20 |.............
    0060| 20 20 20 20 20 20 20 20 00 00 00 00 00 20 20 20 | .....
    0070| 20 20 20 20 20 20 20 20 00 00 00 00 00 00 00 00 | ........
    0080| 00 00 00 70 00 00 00 00 00 00 00 00 00 00 00 00 |...p............
    0090| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00A0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00B0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00C0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00D0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00E0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    00F0| 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................
    0100| EB 0B 90 EB 34 90 EB 4E 90 4F 4B 31 31 B8 00 84 |....4..N.OK11...
    0110| 8E D8 BE 00 00 B8 00 70 8E C0 BF 00 00 B9 00 50 |.......p.......P
    0120| F3 A4 EA 27 01 00 70 8C C8 8E D8 8E D0 8D 26 C0 |...'..p.......&.
    (...)
    48E0| 80 CD 80 8A CD E8 FD F2 59 FE C9 80 F9 00 75 9A |........Y.....u.
    48F0| E8 14 FF 58 FE C0 3C 50 75 83 E8 F6 FE E8 0D FF |...X.. 4900| E8 04 FF 8F 06 6E F1 5B C3 00 00 00 00 00 00 00 |.....n.[........

    First address: 0000
    Last address: 490F
    Bytes read: 4910
    Records read: 92

    Ok

    Haaa!!! And, of course, I now had a CMD file on my disk (but
    with the errors listed above inside it). By the way, notice that
    the addresses printed correspond to those displayed by DDT-86.

    So, this experience learned me that dumps are a very bad ways of
    sharing binary files. It is much better to provide Intel Hex
    files, since they contain a CheckSum at every 16 bytes. (Many
    years ago, I played with a HEY file format, which was intended
    to be a simpler way to retype binary files: it is a variation of
    HEX file with spaces and an ASCII dump, which make retyping a
    binary file much easier.) I hope that the Newbie will check and
    provide the missing hex values of his dump, so that everybody
    has the same version.

    However, from time to time, one sees (on the Internet) old files
    which are now only available as a dump. In this case, the
    following BASIC program should be useful:

    list
    10 REM DMPCMD.BAS by Emmanuel ROCHE
    20 :
    30 PRINT
    40 INPUT "DMP-to-CMD> Enter DMP File Name: " ; file$
    50 PRINT
    60 file1$ = file$ + ".DMP"
    70 file2$ = file$ + ".CMD"
    80 OPEN "R", #1, file1$, 76
    90 OPEN "R", #2, file2$, 1
    100 FIELD #1, 9 AS address$, 48 AS hexdump$, 16 AS asciidump$
    110 FIELD #2, 1 AS db2$
    120 lc = 1
    130 GET 1
    140 ' PRINT
    150 ' PRINT " Address| " address$
    160 ' PRINT " Hex dump|" hexdump$
    170 ' PRINT "ASCII dump|" asciidump$
    180 ' IF lc = 6 THEN lc = 0 : WHILE INKEY$ = "" : WEND
    190 ' GOTO 130
    200 la$ = RIGHT$ (address$, 4)
    210 IF la$ = CHR$(26)+CHR$(26)+CHR$(26)+CHR$(26) THEN GOTO 420
    220 PRINT la$ "|" ;
    230 la = VAL ("&H" + la$)
    240 IF lc = 1 THEN fa = la
    250 alpha$ = ""
    260 FOR i = 0 TO 15
    270 db$ = MID$ (hexdump$, 1+i*3, 3)
    280 PRINT db$ ;
    290 db = VAL ("&H" + db$)
    300 al$ = CHR$ (db)
    310 LSET db2$ = al$
    320 PUT 2
    330 IF (db < &H20) OR (db > &H7E) THEN al$ = "."
    340 alpha$ = alpha$ + al$
    350 la = la + 1
    360 NEXT i
    370 PRINT " |" alpha$
    380 lc = lc + 1
    390 ' IF lc = 24 THEN lc = 0 : WHILE INKEY$ = "" : WEND
    400 GOTO 130
    410 :
    420 PRINT
    430 PRINT "First address: " ; HEX$ (fa, 4)
    440 PRINT "Last address: " ; HEX$ (la - 1, 4)
    450 PRINT "Bytes read: " ; HEX$ (la - fa, 4)
    460 PRINT "Records read: " ; HEX$ ( (la - fa) / 128, 2)
    470 PRINT
    480 CLOSE
    490 END

    (BASIC programmers could note that I was careful to use FIELDs,
    so that this program can be easily modified for producing 8-bit
    COMmand files. Simply change the length of the address (no
    segment on the 8080! and don't forget to change the "76" in the
    OPEN statement), and remove the ASCII dump for CP/M 2.2 dumps.
    You now have DMPCOM.BAS. 2 programs for the same price!)

    So, this Newbie found a BASIC specialised to communicate to/from
    a GPIB network. The problem is that it appears to be tied to its
    particular "computer": it loads at an absolute address, and
    hangs my computer when I tried it. However, it is now available,
    is very small (as far as 16-bit programs are) and could "easily"
    be disassembled. The question, now, is: Is the GPIB an
    interesting thing to have under CP/M-86, 20 years later? (At
    least, GPIB stuff is inexpensive, now!) Since there are so many
    hardware hackers in the comp.os.cpm Newsgroup, maybe they have
    an opinion?

    system
    A>That's all, folks!

    Yours Sincerely,
    "French Luser"


    EOF



  15. Re: DuMP-to-CMD/COM File Converters


    "French Luser" wrote in message
    news:445b3f41$0$18341$8fcfb975@news.wanadoo.fr...
    > AROBASE.TXT
    > -----------
    >
    > Ok. So, there is a Newbie on the comp.os.cpm Newsgroup that got
    > very cheaply a 20-years old German logic analyser (Logic
    > Analyser System 5 (LAS-5) by Rohde & Schwarz, Munich) which has
    > a floppy disk drive. Upon inserting a floppy in it, CP/M-86
    > boots! So, this Newbie made the right decision to come to this
    > Newsgroup. Now, there are 2 problems: 1) What is this version of
    > CP/M-86, and 2) What is this LAS-BASIC whose dump he provided.
    >
    > So, this experience learned me that dumps are a very bad ways of
    > sharing binary files. It is much better to provide Intel Hex
    > files, since they contain a CheckSum at every 16 bytes. (Many
    > years ago, I played with a HEY file format, which was intended
    > to be a simpler way to retype binary files: it is a variation of
    > HEX file with spaces and an ASCII dump, which make retyping a
    > binary file much easier.) I hope that the Newbie will check and
    > provide the missing hex values of his dump, so that everybody
    > has the same version.


    Hi again,

    I'll do whatever I can to help out here, and have successfully ported the
    binaries over to DOS and they're sitting in the new thread I've just
    created. :-) Hopefully as much info as anyone needs.

    It definitely has an IEEE-488 on the back (GPIB, IEC). Primarily the kit is
    a piece of lab equipment.

    Talking about what you say about the disk format... It has a WD2797A-PL
    which is indeed an 8" controller with 5.25" support, no mention of 3.5" in
    the datasheets.

    French, whatever you do don't click on those images at
    http://www.retro.dial.pipex.com/las5 , they're about 500k each the ones of
    the internal cards. :-)

    Aly

    ps. French :-) I'm a girl!! :-) Admittedly one that was banned from
    every computer in the school in the early 90's.. ;-)



  16. Re: DuMP-to-CMD/COM File Converters

    French Luser wrote:
    : A>DDT86 LASBAS DDT86 1.1
    : START END
    : CS 8400:0000 8400:490F
    : -D0,490ff0F
    : 8400:0000 0F 49 00 00 84 01 0F 49 00 00 00 00 00 00 00 00 .I.....I........
    : 8400:0010 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    : 8400:0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................

    : ??? Big problem: I simply don't recognise the standard CMD file format!

    Of course not. And the other things you've pointed out are all for the
    same reason, which is quite simple: DDT-86 has loaded the CMD file and what
    you are seeing is not the CMD header, but the Base Page. Therefore it should
    be read as:

    8400:0000 0F 49 00 Length of code group = 490Fh bytes
    8400:0003 00 84 Base of code group = 84000h
    8400:0005 01 8080 model

    This also, of course, explains why there are FCBs and a command line
    further down the dump.

    : 4) To be complete, the command line -D0,490ff0F simply does not
    : look right. In fact, at the beginning, I was thinking that this
    : typo was the origin of the 0F found in the first byte.

    Could this be explained by the delete key echoing the characters it
    deletes?

    --
    ------------- http://www.seasip.demon.co.uk/index.html --------------------
    John Elliott |BLOODNOK: "But why have you got such a long face?"
    |SEAGOON: "Heavy dentures, Sir!" - The Goon Show
    :-------------------------------------------------------------------------)

  17. Re: DuMP-to-CMD/COM File Converters

    "John Elliott" wrote in message
    news:du4g3e.ej4.ln@seasip.demon.co.uk...

    > : 4) To be complete, the command line -D0,490ff0F simply does not
    > : look right. In fact, at the beginning, I was thinking that this
    > : typo was the origin of the 0F found in the first byte.
    >
    > Could this be explained by the delete key echoing the characters it
    > deletes?
    >


    Yes, I believe this is the case, it does do this, echos keystrokes back, my
    mistake in not removing it from the ascii dump. The full binary is over in
    the other thread, but for completeness here;

    http://www.retro.dial.pipex.com/las/LASBAS.CMD

    And here is CPM.SYS;

    http://www.retro.dial.pipex.com/las/CPM.SYS
    http://www.retro.dial.pipex.com/las/CPM.H86

    The above files are new as of a few hours ago having started running 22disk
    on a 486 IBM laptop with a new definition file.



  18. Re: DuMP-to-CMD/COM File Converters

    "John Elliott" wrote:

    > Of course not. And the other things you've pointed out are all for the
    > same reason, which is quite simple: DDT-86 has loaded the CMD file and
    > what
    > you are seeing is not the CMD header, but the Base Page.


    Ho boy! I was thinking that she had loaded the CMD file using the R command
    (I did not see that the filename was following DDT-86...).

    Must have been pretty tired, that night. (I have done too many hard physical
    work, those last months: I need an office work now, at my age!)

    Yours Sincerely,
    "French Luser"




+ Reply to Thread