bue aca la pregunta que significa esta parte del code
o seas s q es para ingresar letras pero
1)porque EB800 y no EB799
2)porque A0 y no A1
3)1F y no F sola
Código:
Echo.EB800:A0 "R"1F"o"1F"d"1F"r"1F"i"1F"g"1F"o"1F" "1F"K"1F"I"1F"L"1F"L"1F"E"1F"R"1F
1)porque EB800 y no EB799
2)porque A0 y no A1
3)1F y no F sola
q es para salir
1)b800 es la dirección de la memoria de vídeo.
2)La e es para ingresar (significa enter) otra alternativa es el uso de f (fill)
el número después de los dos puntos es el punto dónde comenzará a escribir en memoria, en el caso de fill el número que viene después es el límite. Si vemos la memoria cómo un vector y la pantalla cómo una matriz de dos dimensiones, podemos convertir la dirección especificada en dos dimensiones a una dimensión así:
fila * ancho + columna
con el comando mode con
podemos ver el tamaño, el número de columnas y las líneas.
por defecto es:
cols 80
lines 300
si queremos escribir en la segunda línea en el tercer carácter, y tenemos la configuración por defecto :
fila:2 (partiendo del índice 0 y avanzando de dos en dos: 0 2 4 (la segunda fila es 2 y la tercera es 4))
columna=4 (partiendo del índice 0) (0 2 4)
ancho=80 (el valor de cols en mode con)
cálculo: 2 * 80 + 4 = 164 y ahora convertido a hexadecimal: A4
Ejemplo: presionar enter dos veces.
Código:
@echo off
Color 6D
(
Echo.F B800:00 F9F "h" 4f "o" 4f "l" 4f "a" 4f
Echo.Q
) | Debug > nul
pause > nul
cls
(
Echo.E B800:A4 68 4f "o" 4f "l" 4f "a" f
Echo.Q
) | Debug > nul
pause > nul
en el ejemplo, el carácter encerrado entre comillas es para cómodidad, también podrías especificarlo en ascii hexadecimal por ejemplo reemplaza "h" por 68 y verás que es lo mismo.
En la especificación del color:
4f el primer número es el fondo del carácter y el segundo es el color del carácter, en este caso es para cambiar el color del fondo y que no tome el color negro, si especificamos solamente f toma como fondo el 0 (que es el color negro).
En este caso el color especificado es como aparece en comando color /?
Aquí tienes más información del comando debug, en este caso para reconstruir archivos binarios: http://ss64.org/viewtopic.php?pid=3152#p3152