Diferencia entre revisiones de Biblioteca / Mapeando El Atari / Pagina 6
Añadido:
||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.|| 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.0S estándar ocupa los sectores del uno al 83 ($53) en un disco. ||18, 19|$712, $713|DFLADR: Dirección de inicio del archivo DOS.SYS.|| ||1801|$709|SABYTE|Registra el límite del número de archivos que pueden abrirse simultáneamente. Normalmente se establece en tres, el máximo es siete (uno por cada IOCB disponible -- recuerde que IOCB0 se utiliza para la visualización en pantalla). Cada fichero disponible toma 128 bytes para un buffer, si aumentas el número de buffers, disminuyes tu espacio RAM en consecuencia. Puedes hacer POKE 1801 con tu nuevo número para aumentar o disminuir el número de ficheros y luego reescribir el DOS (llamando al DOS desde BASIC y eligiendo la selección de menú "H") y tener este número como predeterminado en el nuevo DOS.|| ||1802|$70A|DRVBYT|El número máximo de unidades de disco en su sistema, el valor por defecto del DOS 2.0 es dos. Los menos cuatro bits se utilizan para registrar qué unidades están disponibles, por lo que si tiene unidades uno, tres y cuatro, esta ubicación se leería: 00001101 o 13 en decimal. Cada unidad tiene un buffer separado de 128 bytes reservado para ella en RAM. Si tiene más o menos que el predeterminado (dos), entonces POKE 1802 con el número apropiado: 1 drive = 1 BIT 0 = 00000001 2 drives = 3 BITS 0 & 1 = 00000011 3 drives = 7 BITS 0, 1 & 2 = 00000111 4 drives = 15 BITS 0, 1, 2 & 3 = 00001111 Esto supone que las tiene numeradas secuencialmente. Si no es así, haga POKE en la traducción decimal apropiada para obtener el código binario correcto: cada unidad está especificada por uno de los cuatro bits inferiores, desde el uno en BIT 0 hasta el cuatro en BIT 3. Si hace PEEK (1802) y obtiene tres, por ejemplo, significa que las unidades uno y dos están asignadas, no tres unidades. Puede guardar su modificación en un nuevo disco llamando al DOS y eligiendo la selección de menú "H". Este nuevo DOS arrancará con el número de unidades y búferes que haya asignado. Un sistema de una unidad puede ahorrar 128 bytes de esta manera (256 si se elige un búfer de datos menos). Véase el Manual del DOS, Apéndice G ((https://archive.org/details/disk-operating-system-iireference-manual /page/86/mode/2up página 87)).|| ||1900|$76C|BSIO|Punto de entrada a las rutinas de E/S del sector de disco FMS.|| ||1906|$772|BSIOR|Punto de entrada al gestor de discos FMS.|| ||1913|$779|....|Bandera de verificación de escritura para operaciones de E/S de disco. POKE con 80 ($50) para desactivar la función de verificación, 87 ($57) para volver a activarla. La escritura en disco sin verificación es más rápida, pero puedes obtener errores en tus datos. He tenido muy pocos errores generados desactivando la función verify, pero incluso un error en material crítico puede destruir todo un programa. Tenga cuidado al usar esta ubicación. Puede guardar DOS (como arriba con la selección de menú «H») sin escribir verify como su nuevo valor por defecto escribiendo DOS en un nuevo disco. Vea el Manual del DOS, apéndice F ((https://archive.org/details/disk-operating-system-iireference-manual /page/84/mode/2up página 85)). La bandera de verificación de escritura de K-DOS se encuentra en 1907 ($773).|| ||1995|$7CB|DFMSDH|Punto de entrada a un manejador de dispositivo (disco) FMS de 21 bytes. La dirección de este manejador se coloca en HATABS (posiciones 794 a 831; $31A a $33F) por la rutina de inicialización del FMS. Cuando CIO necesite llamar a una función FMS, localizará la dirección de esa función a través de la tabla de direcciones del manejador. Ver ((https://archive.org/details/Inside_Atari_DOS/page/n39/mode/2up Capítulos 8 al 11)) de Inside Atari DOS, publicado por COMPUTE! Books.|| ||2016|$7E0|DINT|Rutina de inicialización del FMS. El punto de entrada es 1995 ($7CB). DUP llama a FMS en este punto. K-DOS utiliza la misma ubicación para su rutina de inicialización.|| ||2219|$8AB|DFMOPN|Rutinas OPEN, incluyendo open para append, update y output.|| ||2508|$900|DFMPUT|Rutinas de bytes PUT.|| ||2591|$A1F|WTBUR|Rutinas de E/S en ráfaga.|| ||2592-2773|$A20, $AD5|....|En COMPUTE!, ((https://archive.org/details/1982-05-compute-magazine/page/162/mode/2 up mayo y julio de 1982)), Bill Wilkinson analizó BURST I/O, que no debería tener lugar cuando un archivo está abierto para su actualización, pero sí lo hace debido a un error menor en DOS 2.0 (consulte también Inside Atari DOS, Capítulo 12). Esto hará que las escrituras de actualización funcionen correctamente, pero las lecturas de actualización sean malas. Los siguientes POKE corregirán el problema. Recuerde guardar DOS nuevamente en un disco nuevo. POKE 2592,130 ($A20,$82) POKE 2593,19 ($A21,$13) POKE 2594,73 ($A22,$49) POKE 2595,12 ($A23,$0C) POKE 2596,240 ($A24,$F0) POKE 2597,36 ($A25,$24) POKE 2598,106 ($A26,$6A) POKE 2599,234 ($A27,$EA) POKE 2625,16 ($A41,$10) POKE 2773,31 ($AD5,$1F) Tenga en cuenta que la edición de julio de 1982 de COMPUTE! contenía un error tipográfico en el que el valor que se iba a insertar en 2773 aparecía erróneamente como 13, no 31). Wilkinson señala que una manera de desactivar completamente BURST I/O (útil en algunas circunstancias, como usar DOS BINARY SAVE para guardar el contenido de ROM al disco!) es por: POKE 2606,0 ($A2E,$0) Esto, sin embargo, hará que el sistema CARGUE y GUARDE archivos de forma considerablemente más lenta, por lo que no se recomienda como un cambio permanente al DOS.|| ||2751|$ABF|DFMGET|Rutinas GET byte, incluidas las rutinas GET archivo.|| ||2817|$B0l|DFMSTA|Rutinas de estado del disco.|| ||2837|$B15|DFMCLS|Rutinas IOCB CLOSE.|| ||2983|$BA7|DFMDDC|Inicio de las rutinas de comandos dependientes del dispositivo, incluidos los comandos especiales BASIC XIO.|| ||3033|$BD9|XRENAME|Renombrar un fichero.|| ||3122|$C32|XDELETE|Borrar un fichero.|| ||3196|$C7C|XLOCK, XUNLOCK|Bloquear y desbloquear archivos. Las rutinas de UNLOCK comienzan en 3203 ($C83).|| ||3258|$CBA|XPOINT|Comando POINT del BASIC.|| ||3331|$D03|XNOTE|Comando NOTE del BASIC. Consulte el Manual del DOS para obtener información sobre estos dos comandos BASIC, y consulte De Re Atari para ver un ejemplo de uso.|| ||3352|$D18|XFORMAT|Formatea todo el disquete.|| ||3501|$DAD|LISTDIR|Lista el directorio del disco.|| ||3742|$E9E|FNDCODE|Descodificación del nombre de archivo, incluida la prueba de validez de comodines. El nombre de archivo actual es señalado por ZBUFP en las posiciones 67, 68 ($43, $44).|| ||3783|$EC7|....|Introduciendo aquí el valor ATASCII deseado, puede cambiar el carácter comodín (*; ATASCII 42, $2A) utilizado por el DOS por cualquier otro carácter de su elección. El DOS modificado puede guardarse en el disco con la selección "H" del menú DOS.|| ||3818,3822|$EEA, $EEE|....|Haciendo POKE en el 3818 con 33 y en el 3822 con 123 ($21 ,$7B;), puede modificar el DOS para que acepte como válidos nombres de ficheros con signos de puntuación, números y minúsculas; 33 es el rango bajo del código ATASCII y 127 el rango alto (los valores más bajos o altos son códigos de control y gráficos y caracteres inversos). Por supuesto, cualquier DOS sin modificar seguirá sin aceptar tales nombres de archivo. En realidad podría cambiar el rango a cualquier valor de cero a 255 a su discreción. Esto, sin embargo, puede causar otros problemas con códigos ATASCII como espacios y el comodín (*; ver arriba). Se puede volver a guardar en disco con la selección de menú "H".|| ||3850|$F0A|FDSCHAR|Almacena los caracteres de nombre de archivo resultantes de las rutinas de descodificación de nombres de archivo.|| ||3873|$F21|SFDIR|Rutinas de búsqueda en directorios; busca el nombre de archivo especificado por el usuario.|| ||3988|$F94|WRTNXS|Rutina del sector de escritura de datos.|| ||4111|$100F|RDNXTS|Rutina de lectura del sector de datos.|| ||4206|$106E|RDDIR|Rutinas de lectura y escritura de sectores de directorio.|| ||4235|$108B|RDVTOC|Leer o escribir los sectores de la tabla de contenidos del volumen (VTOC).|| ||4293|$10C5|FRESECT|Rutina de sectores libres; devuelve el número de sectores libres en un disco que están disponibles para el usuario.|| ||4358|$1106|GETSECTOR|Rutina de obtención de sector; recupera del disco un sector libre para su uso.|| ||4452|$1164|SETUP|SETUP -- Inicialización de los parámetros de FMS. Prepara al FMS para tratar la operación a realizar y para acceder a un fichero en particular. Ver Inside Atari DOS, ((https://archive.org/details/Inside_Atari_DOS/page/n33/mode/2up Capítulo Siete)).|| ||4618|$120A|WRTDOS|Escribir nuevo archivo DOS.SYS a la rutina de disco, incluyendo nuevo archivo FMS al archivo DOS.SYS.|| ||4789|$12B5|ERRNO|Inicio de la tabla de números de error FMS.|| ||4856, 4978|12F8, 1372|....|Área de almacenamiento FMS diversa: longitud del sector, cinta de la unidad, nivel de pila, número de archivo, etc.|| ||*|*|*|*|| ||5121|$1401|FILDIR|Directorio de archivos, un búfer secuencial de 256 ($100) bytes para las entradas al directorio del disco.|| ||5377|$1501|ENDFMS|Búfer de directorio de disco (VTOC -- Volume Table Of Contents). Se reservan 64 ($40) bytes, un byte para cada archivo posible. También marca el final de FMS. El VTOC (sector 360; $168) es un mapa secuencial de bits de cada uno de los 720 sectores del disco. Comienza en el byte diez y continúa hasta el byte 99. Cuando un bit está activado (uno), indica que el sector asociado está en uso.|| ||5440|$1540|DOS|Dirección de inicialización de DUP.SYS. Comienzo de mini-DOS; la parte residente en RAM de DUP. Usada para el mismo propósito en K-DOS.|| ||5446, 5450|$1546, $154A|....|Contiene la ubicación (LSB/MSB) del VEC del DOS (ubicación 10; $A). Este es el puntero a la dirección a la que BASIC saltará cuando DOS sea llamado.|| ||5533|$159D|DUPFLG|Bandera para comprobar si DUP ya reside en la memoria. Cero es igual a DUP no está allí.|| ||5534|$159E|OPT|Se utiliza para almacenar el valor de la opción del menú de disco elegida por el usuario.|| ||5535|$159F|LOADFLG|Si en esta posición se lee 128, no es necesario cargar un archivo de memoria (MEM.SAV).|| ||5540|$15A4|SFLOAD|Rutinas para cargar un archivo MEM.SAV si existe.|| ||5888|$1700|USRDOS|Aparece en el archivo de equivalencias DUP.SYS, pero nunca se explica en los listados.|| ||5899|$170B|MEMLDD|Indica que se ha cargado el archivo MEM.SAV. Cero significa que no se ha cargado.|| ||5947|$173B|....|Las rutinas de creación de archivos MEM.SAV (MEMSAVE) comienzan aquí. Comienzan con el nombre de archivo MEM.SAV almacenado en formato ATASCII. Las rutinas de escritura comienzan en MWRITE, 5958 ($1746). La utilidad del DOS MEMSAVE copia los 6000 bytes inferiores de memoria al disco para evitar que tu programa BASIC sea destruido cuando llamas al DOS, que entonces carga DUP.SYS en esa área de memoria.|| ||6044,6045|$179C, $179D|INISAV|DOSINI (ver ubicación 12, 13; $C, $D) ubicación para guardar vectores. Punto de entrada al DOS en una llamada desde BASIC.|| ||6046|$179E|MEMFLG|Indicador que muestra si la memoria se ha escrito en el disco mediante un archivo MEM.SAV.|| ||6418|$1912|CLMJMP|Prueba para ver si el DOS debe cargar MEM.SAV desde el disco antes de hacer una ejecución en la dirección del cartucho, luego salta a la dirección del cartucho.|| ||6432|$1920|LMTR|Prueba para ver si el DOS debe cargar MEM.SAV antes de realizar un comando de ejecución en dirección desde el menú DOS.|| ||6457|$1939|LDMEM|Rutinas de carga MEMSAVE (para el archivo MEM.SAV).|| ||6518|$1979|INITIO|Entrada de arranque en caliente DUP.SYS. Un excelente programa para eliminar la necesidad de DUP.SYS y MEM.SAV (¡por no mencionar el tiempo requerido para cargarlos!) fue presentado en COMPUTE!, julio de 1982, llamado ((https://archive.org/details/1982-07-compute-magazine/page/106/mode/2 up MicroDOS)); merece la pena examinarlo. Véase también "The Atari Wedge", COMPUTE!, ((https://archive.org/details/1982-12-compute-magazine/page/240/mode/2 up diciembre)) de 1982.|| ||6630|$19E6|ISRODN|Inicio de la rutina de servicio de interrupción serie para dar salida a los datos necesarios rutinas en DUP.SYS.|| ||6691|1A23|ISRSIR|Inicio de las rutinas de servicio de interrupción en serie en DUP.SYS.|| ||6781|1A7D|....|Inicio de los búferes de accionamiento y de datos. Los búferes de accionamiento se numeran secuencialmente del uno al cuatro, los búferes de datos del uno al ocho, suponiendo que se asignen muchos para cada uno. Normalmente, los dos primeros búferes se asignan a las unidades y los tres siguientes a los datos. Los búferes tienen una longitud de 128 ($80) bytes cada uno y comienzan en 6908 ($1AFC), 7036 ($1B7C), 7162 ($1BFA) y 7292 ($1C7C). Ver posiciones 1801 y 1802 ($709, $70A).|| ||7420|$1CFC|....|MEMLO (743, 744; $2E7, $2E8) apunta aquí cuando el DOS es residente a menos que la asignación del buffer haya sido alterada. MEMLO apuntará a 7164 para una configuración de una unidad, dos búferes de datos, un ahorro de 256 bytes. Si se carga el manejador RS-232 desde la Interfaz 850, MEMLO subirá otros 1728 bytes. El manejador RS-232 en la Interfaz 850 sólo arrancará (cargará en memoria) si primero arranca el archivo AUTORUN.SYS en su disquete maestro Atari o usa otro programa de arranque RS-232 como un paquete de terminal. El manejador RS-232 arrancará en memoria si no tiene un disco conectado y lo ha encendido antes de encender el ordenador. Puede seguir utilizando el puerto de impresora (paralelo) del 850 incluso si el manejador RS-232 no está arrancado.|| ||7548|$1D7C|....|Comienzo de la parte no residente del DUP; búfer de parámetros de 40 ($28) bytes.|| ||7588|$1DA4|LINE|Búfer de línea de 80 ($50) bytes.|| ||7668|$1DF4|DBUF|Búfer de datos de 256 ($100) bytes para las rutinas de copia. Las rutinas de copia trabajan en pasadas de 125 bytes, igual al número de bytes de datos en cada sector del disco. Hay 256 bytes porque Atari había planeado un disco de doble densidad que tiene 253 bytes de datos en cada sector.|| ||7924|$1EF4|....|Área de almacenamiento de variables varias y búferes de datos.|| ||7951, 8278|$1F0F, $2056|DMENU|Aquí se almacenan los datos de visualización de la pantalla del menú del disco.|| ||8191|1FFF|....|Esta es la parte superior de la RAM mínima requerida para el funcionamiento (8K). Para usar DOS, debe tener un mínimo de 16K.||
Borrado:
||1536, 1791|$600, $6FF|Página 6|Esta zona de memoria está totalmente disponible para el usuario debido a que el Sistema Operativo no la ocupa. En ella se pueden ubicar rutinas en lenguaje de máquina con la plena seguridad que no afecten al Basic o a cualquier sistema implementado en el Atari.|| 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. ||18, 19|$712,$713|DFLADR: Dirección de inicio del archivo DOS.SYS.||