Lista de modos gráficos estándar usados en múltiples plataformas (PC, laptops, móviles, TV y proyectores) con la estructura, usando db
para modos VGA clásicos (8 bits) y dw
para modos VESA o resoluciones modernas (16 bits y mayores).
🧾 section .data
– Lista de gpu_modes
en formato NASM
section .data
gpu_modes:
; ----- Modo
texto y VGA clásicos (BIOS - 8 bits) -----
db
0x00
; Modo texto: 40x25
db
0x03
; Modo texto: 80x25
db
0x0D
; VGA: 320x200, 16 colores
db
0x0E
; VGA: 640x200, 16 colores
db
0x10
; VGA: 640x350, 16 colores
db
0x12
; VGA: 640x480, 16 colores
db
0x13
; VGA: 320x200, 256 colores (modo 13h)
; -----
VESA BIOS Extensions (16 bits) -----
dw
0x100
; VESA: 640x400, 256 colores
dw
0x101
; VESA: 640x480, 256 colores
dw
0x103
; VESA: 800x600, 256 colores
dw
0x105
; VESA: 1024x768, 256 colores
dw
0x107
; VESA: 1280x1024, 256 colores
dw
0x10C
; VESA: 1280x1024, 16-bit color
dw
0x10D
; VESA: 1280x1024, 24-bit color
dw
0x114
; VESA: 800x600, 64k colores
dw
0x117
; VESA: 1024x768, 64k colores
dw
0x11A
; VESA: 1280x1024, 64k colores
dw
0x11B
; VESA: 1280x1024, 16.8M colores
; ----- Modos
modernos (no BIOS, solo para referencia con APIs gráficas) -----
; Estos no tienen número de modo VESA estándar, pero puedes mapearlos por
resolución:
; Se listan aquí para compatibilidad
conceptual con resoluciones comunes en TV/móviles
; Se
usarían con APIs modernas como SDL, OpenGL, DirectX, etc.
; Resolución ; Tipo
;
------------ -----------------------
; Estas
entradas son referenciales y no válidas directamente en BIOS
dw 0x720 ; 1280x720
(HD)
dw
0xF00 ; 1920x1080 (Full
HD)
dw
0x1400 ; 2560x1440 (QHD)
dw 0x1800 ; 3840x2160 (4K
UHD)
❓ ¿Te da esto más compatibilidad multiplataforma?
✅ Sí, en parte.
Esto te ayuda a:
-
Detectar dinámicamente qué resoluciones están disponibles, especialmente si accedes a la BIOS con
INT 10h
y VESA VBE. -
Cubrir una gama muy amplia de hardware, desde computadoras viejas hasta configuraciones modernas.
-
Crear una base de compatibilidad para código que funcione en:
-
BIOS (modo real)
-
Entornos de sistema operativo embebido o propio
-
Emuladores como QEMU, Bochs, DOSBox
-
Sistemas operativos que ofrecen drivers con soporte VESA (como FreeDOS)
-
❌ Pero no garantiza compatibilidad directa con todas las plataformas, porque:
-
Sistemas modernos (Windows, Linux, Android, etc.) no usan estos códigos VESA para configurar gráficos. Usan APIs como:
- DirectX, OpenGL, Vulkan (Windows, Linux)
- HAL + SurfaceFlinger (Android)
- Metal (macOS, iOS)
- DirectX, OpenGL, Vulkan (Windows, Linux)
-
Para esos sistemas, debes detectar resoluciones y modos soportados a través de sus APIs de alto nivel.
✅ En resumen:
-
Esta lista es muy útil como base de compatibilidad universal, especialmente para:
- Soporte básico de gráficos en BIOS.
- Desarrollo en bare-metal o sistemas operativos propios.
- Emuladores.
-
Para sistemas modernos, esta lista sirve solo como referencia; se requiere otra vía para acceder a los modos gráficos reales del hardware.