7548-MEMLO Non-resident portion of DUP.SYS, DOS utility routines. DUP provides the utilities chosen from the DOS menu page, not from BASIC. It is not resident in RAM when you are using BASIC or another cartridge; rather it is loaded when DOS is called from BASIC or on autoboot powerup (and no cartridge supersedes it). When DUP is loaded, it overwrites the lower portion of memory. If you wish to save your program from destruction, you must have created a MEM.SAV file on disk before you called DOS from your program. See the DOS Reference Manual. --------------------------------------------------------------------------- Locations 1792 to 2047 ($700 to $7FF; page seven) are the user boot area. MEMLO and LOMEM point to 1792 when no DOS or DUP program is loaded. This area can then be used for your BASIC or machine language programs. The lowest free memory address is 1792, and programs may extend upwards from here. There is a one-page buffer before the program space used for the tokenization of BASIC statements, pointed to by locations 128, 129 ($80, $81). Actually a program may start from any address above 1792 and below the screen display list as long as it does not overwrite this buffer if it is a BASIC program. Also, 1792 is the start of the FMS portion of DOS when resident. When software is booted, the MEMLO pointer at 743,744 ($2E7,$2E8) in the OS data base (locations 512 to 1151; $512 to $47F) points to the first free memory location above that software; otherwise, it points to 1792. The DUP portion of DOS is partly resident here, starting at 5440 ($1540) and running to 13062 ($1540 to $3306). The location of the OS disk boot entry routine (DOBOOT) is 62189 ($F2ED). The standard Atari DOS 2.OS takes up sectors one through 83 ($53) on a disk. Sector one is the boot sector. Sectors two through 40 ($28) are the FMS portion, and sectors 41 ($29) through 83 are the DUP.SYS portion of DOS. For more information, see the DOS and OS source listings and Inside Atari DOS. --------------------------------------------------------------------------- FMS, DOS.SYS and DUP.SYS Disk boot records (sector one on a disk) are read into 1792 ($700). Starting from $700 (1792), the format is: Byte Hex Label and use 0 700 BFLAG: Boot flag equals zero (unused). 1 701 BRCNT: Number of consecutive sectors to read (if the file is DOS, then BRCNT equals one). 2,3 702,703 BLDADR: Boot sector load address ($700). 4,5 704,705 BIWTARR: Initialization address. 6 706 JMP XBCONT: Boot continuation vector; $4C