GithubHelp home page GithubHelp logo

l-assembly's Introduction

                         MSDOS 2.0 RELEASE


The 2.0 Release of MSDOS includes five 5 1/4 double density single sided
diskettes or three 8 iinch CP/M 80 format diskettes.

The software/documentation on the five inch diskettes is arranged
as follows:

1.   DOS distribution diskette.  This diskette contains files which
     should be distriibuted to all users.  This allows the DOS distri-
     bution diskette to meet the requirements of users of high level
     language compilers as well as users running only applications.
     Many compilers marketed independently through the retail channel
     (including those of Microsoft) assume LINK comes with the DOS, as
     in the case of IBM.  How you choose to distrubute BASIC (contracted
     for separately) is up to you.

2.   Assembly Language Development System diskette.  This diskette
     contains files of interest to assembly language programmers.
     High level language programmers do not need these programs unless
     they are writing assembly language subroutines.  IBM chose to
     unbundle this package from the DOS distribution diskette (except
     for DEBUG), but you do not have to do so.

3.   PRINT and FORMAT diskette.  This diskette contains .ASM source
     files which are necessary to assemble the print spooler, which you
     may wish to customize for greater performance.  .OBJ files are also
     included for the FORMAT utility.

4.   Skeltal BIOS and documentation diskette.  This diskette contains
     the skeltal BIOS source code and the SYSINIT and SYSIMES object
     modules which must be linked with your BIOS module.  The proper
     sequence for linking is BIOS - SYSINIT - SYSIMES.
     A profiler utiliity is also included on the diskette, but this
     is not intended for end-users.  This is distributed for use by
     your development staff only and is not supported by Microsoft
     If you do decide to distribute it, it is at your own risk!


5.   Documentation.  Features of 2.0 are documented on this disk.

The user manual contains some significant errors.  Most of these are
due to last minute changes to achieve a greater degree of compatibility
with IBM's implementation of MS-DOS (PC DOS).  This includes the use
of "\" instead of "/" as the path separator, and "/" instead of "-"
as the switch character.  For transporting of batch files across
machines, Microsoft encourages the use of "\" and "/" respectively
in the U.S. market.  (See DOSPATCH.TXT for how you can overide this.
The user guide explains how the end-user can override this in CONFIG.SYS).
Both the printer echo keys and insert mode keys have now been made to
toggle.  The default prompt (this may also be changed by the user
with the PROMPT command) has been changed from "A:" to "A>".
We apologize for any inconveniences these changes may have caused
your technical publications staff.


Here is what you need to do to MSDOS 2.0 to create a shipable product:
(see "Making a Bootable Diskette" below)

1.  BIOS.  If you have developed a BIOS for the Beta Test 2.0 version
    You should link your BIOS module to SYSINIT.OBJ and SYSIMES.OBJ.
    You must modify your BIOS to accomodate the call back to the BIOS
    at the end of SYSINIT.  If you have no need for this call, simply
    find a far RET and label it RE_INIT and declare it public.
    An example of this can be found in the skeletal BIOS.  In addition
    please add support for the new fast console output routine as
    described in the device drivers document.  We strongly recommend
    that you adapt the standard boot sector format also described in
    device drivers.  Once again, please refer to the skeletal BIOS.
    If you have not yet implemented version 2.0 please read the device
    drivers document.  Microsoft strongly recommends that machines
    incorporating integrated display devices with memory mapped video
    RAM implement some sort of terminal emulations through the use of
    escape sequences.  The skeletal  BIOS includes a sample ANSI
    terminal driver.

2.  Please refer to DOSPATCH.TXT for possible changes you might wish
    to make.  We strongly recommend that you not patch the switch
    characters for the U.S. market.  Your one byte serial number
    will be issued upon signing the license agreement.  Please patch
    the DOS accordingly.  If you wish to serialize the DOS, this is
    described in DOSPATCH.TXT.  Please patch the editing template
    definitions.  Please note the addition of the Control-Z entry
    at the beginning of the table.   Also note that the insert switches
    have now both been made to toggle.

3.  Utilities.  FORMAT must be configured for each specific system.
    GENFOR is a generic example of a system independent format module,
    but it is not recommended that this be distributed to your customers.
    Link in the following order:  FORMAT, FORMES, (your format module).
    The print spooler is distributed as an executable file, which only
    prints during wait for keyboard input.  If you wish with your
    implementation to steal some compute time when printing as well,
    you will need to customize it and reassemble.  Please note that
    you can use a printer-ready or timer interrupt.  The former is more
    efficient, but ties the user to a specific device.  Sample code
    is conditionaled out for the IBM PC timer interrupt.

The following problems are known to exist:

1.  Macro assembler does not support the initialization of 10-byte
    floating point constants in 8087 emulation mode - the last two bytes
    are zero filled.

2.  LIB has not been provided.  The version which incorporates support
    for 2.0 path names will be completed in a couple of weeks.  The
    1.x version should work fine if you cannot wait.  Because the library
    manager acts as a counterpart to the linker, we recommend that it
    be distributed with the DOS distribution diskette as opposed to the
    assembly language development system.

3.  International (French, German, Japanese, and U.K.) versions will be
    available in several months.

4.  COMMAND.ASM is currently too large to assemble on a micro.  It is
    being broken down into separate modules so it can be asembled on
    a machine.  Source licensees should realize that the resultant
    binaries from the new version will not correspond exactly to the
    old version.

5.  If you have any further questions regarding the MSDOS 2.0 distribution
    please contact Don Immerwahr (OEM technical support (206) 828-8086).


    Sincerely yours,


    Chris Larson
    MS-DOS Product Marketing Manager
    (206) 828-8080



            BUILDING A BOOTABLE (MSDOS FORMAT) DISKETTE


1.  In implementing MSDOS on a new machine, it is highly recommended
    that an MSDOS machine be available for the development.
    Please note that utilities shipped with MSDOS 2.0 use MSDOS 2.0
    system calls and WILL NOT not run under MSDOS 1.25.

2.  Use your MSDOS development machine and EDLIN or a word processor
    package to write BOOT.ASM, your bootstrap loader BIOS.ASM and
    your Format module.

3.  Use MASM, the Microsoft Macro-86 Assembler, to assemble these
    modules.  LINK is then used to link together the .OBJ modules in
    the order specified.

4.  Link creates .EXE format files which are not memory image files
    and contain relocation information in their headers.  Since your
    BIOS and BOOT routines will not be loaded by the EXE loader in
    MSDOS, they must first be turned into memory image files by
    using the EXE2BIN utility.

5.  The easiest thing to do is to (using your development machine)
    FORMAT a single sided diskette without the system.  Use DEBUG
    to load and write your BOOT.COM bootstrap loader to the BOOT
    sector of that diskette.  You may decide to have your bootstrap
    load BIOS and let the BIOS load MSDOS or it may load both.  Note that
    the Bootstrap loader will have to know physically where to go on
    the disk to get the BIOS and the DOS.   COMMAND.COM is loaded
    by the SYSINIT module.

6.  Use the COPY command to copy your IO.SYS file (what the
    BIOS-SYSINIT-SYSIMES module is usually called) onto the disk
    followed by MSDOS.SYS and COMMAND.COM.   You may use DEBUG
    to change the directory attribute bytes to make these files hidden.

CAUTION:

At all times, the BIOS writer should be careful to preserve the state
of the DOS - including the flags.  You should be also be cautioned that
the MSDOS stack is not deep.  You should not count on more than one or
two pushes of the registers.

l-assembly's People

Contributors

lizhhhh avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.