GPU - Lista de modos gráficos estándar usados en múltiples plataformas

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:

  1. Detectar dinámicamente qué resoluciones están disponibles, especialmente si accedes a la BIOS con INT 10h y VESA VBE.

  2. Cubrir una gama muy amplia de hardware, desde computadoras viejas hasta configuraciones modernas.

  3. 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)
  • 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.

Destacado

Bootloader Avanzado en Ensamblador

Bootloader Avanzado en Ensamblador Características del Bootloader Se carga en la dirección 0x7C00 (BIOS). ...