Información cedida por Pableras3D (The P3D group) COMO PONER 16 COLORES DE FONDO EN MS-DOS? El procedimiento es muy simple. La BIOS posee un registro en el que se encuentra el blink de parpadeo. Puede activarse o desactivarse. La opción predeterminada de la BIOS es que parpadee, pero con un código de reducidas dimensiones podr s cambiar este registro. Hemos incluido el código en Visual Basic 1.0 para DOS/Quick Basic 1.0/7.0 para DOS y ENSAMBLADOR x86/88. Desde C o Pascal puede ser llamado con una llamada a código en Ensamblador. VISUAL BASIC 1.0 DOS/QUICK BASIC 7.0 DOS '1) Definir Registros del sistema '2) AX=1003 (funcion AH=10h y Subfunción 03h) '3) BX=0 (0=16 colores, 1=Parpadeo) '4) Realizar llamada a BIOS DIM Regs AS RegType Regs.ax = &H1003 Regs.bx = &H0 CALL INTERRUPT(&H10, Regs, Regs) ENSAMBLADOR PUSH AX ;Salvar Registros del sistema usados PUSH BX MOV AX,1003h ;AX=1003 (func AH=10h y Subf=03h) MOV BX,0 ;BX=0 (0=16 colores, 1=Parpadeo) INT 10h ;Realizar llamada al BIOS POP BX ;Restaurar registros POP AX Este código puede introducirse en una llamada de C a Ensamblador (ASM) o una llamada Pascal a Ensamblador. QUICK BASIC 1.0 DOS (el que viene con el MS-DOS 6) Aqui viene también, si está utilizando el MS-Quick Basic de MS-DOS 1.0, existe un código para el, y es llamar a un código en lenguaje máquina mediante la instrucción CALL ABSOLUTE. Es válido también para Quick Basic 7.0 DOS y Visual Basic 1.0 DOS. '1) Reservar memoria para guardar el código '2) Definir segmento de redirección '3) Repetir con todos los bytes '4) Leer byte '5) Guardar byte en posición de memoria correspondiente '6) Siguiente '7) Código en lenguaje máquina '8) Realizar el código '9) Volver al segmento predeterminado al Basic DIM C16%(12) DEF SEG = VARSEG(C16%(0)) FOR I% = 0 TO 12 READ D% POKE VARPTR(C16%(0)) + I%, D% NEXT DATA 80,83,184,3,16,187,0,0,205,16,91,88,203 CALL ABSOLUTE(VARPTR(C16%(0))) DEF SEG