Ver el código de Página 6 a la 15

#|
*|Decimal |Hexadecimal|Nombre|Descripción|*
||1536, 1791|$600, $6FF|Página 6|Página seis: 256 ($FF) bytes protegidos contra el uso del sistema operativo. El sistema operativo no utiliza la página seis y puede usarse de forma segura para subrutinas de lenguaje de máquina, controladores de E/S especiales, conjuntos de caracteres alterados o cualquier cosa que el usuario pueda colocar en el espacio. Puede surgir algún problema cuando la declaración INPUT recupera más de 128 caracteres.
Las ubicaciones de 1536 a 1663 ($600 a $67F) se utilizan inmediatamente como buffer para los caracteres sobrantes. Para evitar el desbordamiento, evite que las declaraciones INPUT recuperen más de 128 caracteres. La implementación valFORTH de fig-FORTH (de ValPar International) utiliza toda la página seis para su código de inicio, por lo que no está disponible para su uso. Sin embargo, FORTH le permite reservar otros bloques de memoria para funciones similares. BASIC A+ utiliza ubicaciones de $0600 - $67F.||
|#

Las localizaciones 1792 a la dirección especificada por LOMEM (localizaciones 128, 129; ($80, $81) - el puntero a la memoria baja del BASIC) también son utilizadas por el DOS y el Sistema de Gestión de Archivos (FMS). Consulte el código fuente del DOS e Inside Atari DOS para más detalles. Las direcciones que siguen son las del DOS 2.0S, el DOS oficial de Atari en el momento de escribir esto. Hay otro DOS disponible como alternativa al DOS 2.0 -- K-DOS (TM), de K-BYTE (R). El K-DOS no está basado en menús, sino en comandos. No utiliza todas las mismas posiciones de memoria que el DOS Atari, aunque utiliza una versión modificada del FMS Atari. (Otro DOS manejado por comandos, llamado OS/A+, es completamente compatible con el DOS 2.OS y está disponible en OSS, los creadores del DOS 2.0S). 

#|
*|Decimal|Hexadecimal|Nombre|Descripción|*
||1792, 5377|$700, $1501|Página 7 a la 15|Sistema de gestión de archivos RAM. FMS proporciona la interfaz entre BASIC o DUP y la unidad de disco. Es un controlador de dispositivo sofisticado para todas las operaciones de entrada y salida que involucran el dispositivo "D:".
Permite a los usuarios del disco usar los comandos especiales del disco XIO en el BASIC (vea el área IOCB 832 a 959: $340 a $3BF). Es residente en RAM debajo de su RAM del BASIC y proporciona el punto de entrada a DOS cuando BASIC lo llama.||
||5440, 13062|$1540, $3306| |DUP.SYS RAM. La parte superior variará según la cantidad de espacio de almacenamiento en búfer asignado a la unidad y a los búferes de sector.||
||6780, 7547|$1A7C, $1D7B| |Búfers de unidad y búferes de datos sectoriales. La cantidad de memoria variará según la cantidad de buffers asignados.||
||7548, MEMLO|$1D7C, $3306|(máxima)|Porción no residente de DUP.SYS, rutinas de utilidad de DOS. DUP proporciona las utilidades elegidas en la página del menú de DOS, no en BASIC. No reside en la RAM cuando utiliza BASIC u otro cartucho; más bien se carga cuando se llama a DOS desde BASIC o durante el arranque automático (y ningún cartucho lo reemplaza).
Cuando se carga DUP, sobrescribe la parte inferior de la memoria. Si desea salvar su programa de la destrucción, debe haber creado un archivo MEM.SAV en el disco antes de llamar a DOS desde su programa. Consulte el Manual de referencia de DOS.||
|#

Las ubicaciones 1792 a 2047 ($700 a $7FF; página siete) son el área de inicio del usuario. MEMLO y LOMEM apuntan a 1792 cuando no se carga ningún programa DOS o DUP. Esta área luego se puede utilizar para sus programas BASIC o en lenguaje de máquina.
La dirección de memoria libre más baja es 1792 y los programas pueden extenderse hacia arriba desde aquí. Hay un búfer de una página antes del espacio de programa utilizado para la tokenización de declaraciones BASIC, al que apuntan las ubicaciones 128, 129 ($80, $81).
En realidad, un programa puede comenzar desde cualquier dirección por encima de 1792 y por debajo de la lista de visualización en pantalla siempre que no sobrescriba este búfer si es un programa en BASIC. Además, 1792 es el comienzo de la parte FMS de DOS cuando se reside.
 
Cuando se inicia el software, el puntero MEMLO en 743,744 ($2E7, $2E8) en la base de datos del sistema operativo (ubicaciones 512 a 1151; $512 a $47F) apunta a la primera ubicación de memoria libre encima de ese software; de lo contrario, apunta a 1792.
La porción DUP de DOS reside parcialmente aquí, comenzando en 5440 ($1540) y llegando hasta 13062 ($1540 a $3306). La ubicación de la rutina de entrada de inicio del disco del sistema operativo (DOBOOT) es 62189 ($F2ED). El Atari DOS 2.OS estándar ocupa los sectores del uno al 83 ($53) en un disco.

El sector uno es el sector de arranque. Los sectores del dos al 40 ($28) son la porción FMS y los sectores del 41 ($29) al 83 son la porción DUP.SYS de DOS. Para obtener más información, consulte los listados de fuentes de DOS y SO y Inside Atari DOS.

====FMS, DOS.SYS y DUP.SYS====

Los registros de arranque del disco (sector uno en un disco) se leen en 1792 ($700). A partir de $700 (1792), el formato es:

#|
*|Byte|Hexadecimal|Etiqueta y uso|*
||0|$700|BFLAG: El indicador de inicio es igual a cero (sin usar).||
||1|$701|BRCNT: Número de sectores consecutivos a leer (si el archivo es DOS, entonces BRCNT es igual a uno).||
||2, 3|$702, $703|BLDADR: Dirección de carga del sector de arranque ($700).||
||4, 5|$704, $705|BIWTARR: Dirección de inicialización.||
||6|$706|JMP XBCONT: Vector de continuación de arranque; $4C (76): comando JMP a la siguiente dirección en los bytes siete y ocho.||
||7,8|$707, $708|Dirección de continuación de lectura de arranque (LSB/MSB).||
||9|$709|SABYTE: Número máximo de archivos abiertos simultáneamente. El valor predeterminado es tres (ver 1801 a continuación).||
||10|$70A|DRVBYT: Bits de unidad: el número máximo de unidades conectadas al sistema. El valor predeterminado es dos (ver 1802 a continuación).||
||11|$70B|(sin usar) Dirección de asignación de búfer, establecida en cero.||
||12 ,13|$70C, $70D|SASA: Dirección de inicio de la asignación de búfer. Apunta a 1995 ($7CB) cuando se carga DOS.||
||14|$70E|DSFLG: Bandera de DOS. El indicador de inicio está establecido en un valor distinto de cero. Debe ser distinto de cero para la segunda fase del proceso de inicio. Indica que el archivo DOS.SYS ha sido escrito en el disco; cero equivale a ningún archivo DOS, uno equivale a un disco de sector de 128 bytes, dos equivale a un disco de sector de 256 bytes.||
||15, 16|$70F, $710|DFLINK: Puntero al primer sector del archivo DOS.SYS.||
||17|$711|BLDISP: Desplazamiento al byte 125 del enlace del sector ($7D). El byte de enlace del sector es el puntero al siguiente sector del disco que se leerá. Si es cero, se ha llegado al final del archivo.||
||18, 19|$712,$713|DFLADR: Dirección de inicio del archivo DOS.SYS.||
||20+|$714+|Continuación del archivo de carga de arranque. Consulte el Manual del usuario del sistema operativo y el Capítulo 20 de Inside Atari DOS.||
|#

Los datos del sector de arranque se colocan en las ubicaciones 1792 a 1916 ($700 a $77C). Los datos del resto de DOS.SYS se encuentran a partir de 1917 ($77D). Todas las cargas de archivos binarios comienzan con 255 ($FF). El siguiente cuatro bytes son las direcciones inicial y final (LSB/MSB), respectivamente.