Manual · 2

El editor de código

En la 2600 el programa dibuja la imagen mientras se mueve el haz, así que cada ciclo cuenta. El editor muestra los ciclos de cada instrucción y de lo que selecciones, y conoce todos los registros, etiquetas y macros de tu programa.

La columna de ciclos

Junto a cada instrucción aparece su coste en ciclos de CPU. Cuando el coste puede variar, se muestran los dos números:

Que una dirección esté en la página cero (3 ciclos para LDA $80) o sea absoluta (4 ciclos) depende del valor del símbolo. El editor usa los símbolos de la última compilación, y las constantes que acabas de escribir, para distinguirlas.

Direcciones y páginas

Haz clic en los ciclos de una línea para ver dónde la puso la última compilación: su dirección (y banco), su posición en el archivo de la ROM, cuántos bytes ocupa y si entra en otra página. Copiar lo lleva al portapapeles.

En los archivos de ensamblador, una raya fina marca dónde empieza cada página de 256 bytes del 6502, con la dirección de la página a la derecha. Un salto al otro lado de la raya cuesta un ciclo más, y también la lectura indexada de una tabla que la cruza; cuando una tabla empieza en una página y acaba en la siguiente, la raya va debajo y lo indica. Las rayas se quitan en Ver → Mostrar separadores de página del 6502. Todo sale de la última compilación: vuelve a compilar si mueves código.

Totales de una selección

Selecciona unas líneas y la barra de estado muestra su total: los ciclos mínimo y máximo, los bytes que ocupan y la fracción de una línea (una línea son 76 ciclos de CPU, o 228 relojes de color). Es la forma más rápida de comprobar que una línea de un kernel cabe.

Líneas seleccionadas con sus ciclos, bytes y fracción de una línea en la barra de estado
Una selección de una línea de kernel: sus ciclos y bytes en la barra de estado.

Ayuda al pasar el ratón y autocompletado

Deja el ratón sobre una instrucción, un registro o un símbolo para ver qué es:

Ctrl+Space (Cmd+Espacio es Spotlight) completa instrucciones, registros y símbolos. Las etiquetas, constantes y macros cuentan en cuanto las escribes, en los archivos abiertos y en el resto del proyecto, antes de compilar. Un símbolo que las fuentes ya no definen (porque lo has borrado o renombrado) deja de ofrecerse.

F12 sobre una etiqueta, constante o macro abre la línea donde se define. Si mantienes Ctrl (Cmd en macOS), la palabra bajo el ratón se subraya; haz clic para ir allí.

El mismo Ctrl+clic sobre una línea que nombra un archivo lo abre: include e incbin de DASM, #include de C, include, inline e incgraphic de batari Basic, y el .vcsgfx de un bloque rem vcsgfx. Se busca junto al archivo, en el proyecto, en sus carpetas de inclusión y en include/.

Ctrl+G va a un número de línea, y Ir a dirección va de una dirección del emulador a su línea.

Edición

Plegado

Las fuentes largas se pueden plegar por partes con las flechas del margen, Ctrl+Alt+↑ y ↓, o Editar → Plegar todo. Las regiones salen del propio texto, sin compilar:

Una región plegada deja su primera línea con una marca que dice cuántas líneas oculta. Los pliegues siguen al texto mientras editas, y se abren cuando el cursor entra en ellos, por ejemplo para enseñar un resultado de búsqueda o un error.

Colores de la sintaxis

El ensamblador, batari Basic y C tienen cada uno su propio coloreado. En ensamblador, las instrucciones, directivas, registros, etiquetas, números y comentarios tienen colores distintos, y los opcodes ilegales también:

Opcodes ilegales

El 6502 tiene opcodes que no figuran en la lista oficial. Algunos hacen siempre lo mismo y muchos juegos de 2600 los usan; otros dependen del chip y es mejor evitarlos. Cada proyecto elige qué hacer con ellos (illegal_opcodes en el .vcsproj):

PolíticaEfecto
PermitirCualquier opcode, sin avisos.
Solo establesLos opcodes ilegales estables se admiten; los inestables son errores y el autocompletado no los ofrece.
AvisarCada opcode ilegal es un aviso en Problemas.
ProhibirCada opcode ilegal es un error, y el autocompletado no ofrece ninguno.