Extensión XEX
Archivo binario ejecutable de Atari de 8bits, consta de uno o más segmentos cuyo formato es el siguiente :
N° Bytes | Descripción |
---|---|
00-01 | Indica que es un archivo de carga binario contiene los bytes $FF $FF. Obligatorio para el primer segmento, opcional para cualquier otro segmento |
02-03 | Dirección de inicio. El segmento se cargará en esta dirección |
04-05 | Dirección final. El último byte a cargar para este segmento |
06-xx | Los datos reales del segmento a cargar (Dirección final - Dirección inicial + 1 byte) |
INITAD
Después de cargar cada segmento, si contiene las ubicaciones $02E2 y $02E3 se comprueba para ver si se llenó. Si es así, se llama a esa ubicación como subrutina antes de procesar cualquier otro segmento.
RUNAD
Después de cargar todos los segmentos, se verifican las ubicaciones $02E0 y $02E1 ya que estas contiene la dirección de memoria donde inicia el programa a ejecutar.
Si ninguna de estas direcciones de memoria está cargada, depende del cargador o DOS si el control se transfiere a los datos cargados, generalmente la dirección de inicio del primer o último segmento.
Los ejecutables Atari pueden tener prácticamente cualquier extensión, pero XEX, EXE o COM son las más comunes.
Ejemplo :
Usando la utilidad xex-filter del amigo Víctor Parada :
xex-filter.pl Kaboom.xex Analyzing "Kaboom.xex"... -: 65535 [$FFFF] BINHEAD 1: 40960-45055 [$A000-$AFFF] (4096) CARTA <- CODE/DATA 2: 49146-49151 [$BFFA-$BFFF] (6) <- CODE/DATA 3: 38400-38451 [$9600-$9633] (52) <- CODE/DATA 4: 736-737 [$02E0-$02E1] (2) RUNAD -> 38400 [$9600]