From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 171198690594775.36854063764201; Mon, 1 Apr 2024 08:55:05 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id E9F5F225D2; Mon, 1 Apr 2024 15:55:00 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 625342247E for ; Mon, 1 Apr 2024 15:54:26 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:26 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id ks28-20020a056214311c00b0068f35e9e9a2sm4615920qvb.8.2024.04.01.08.54.24 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986865; x=1712591665; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zqC0WkgJnosuNh3fc7KqGFY730MJZmlHMmMM6gMyVN8=; b=TrgYZH2bSJRtwmdvpcrtvU8wX3LbXmpqpvBW3S69lusdhwuZWL0A3zDzL0K9n8OQuX Kb+u7B9sWNH2T2nfaz7kRppYJ1xjQ2HnNqCo9VIGqlUFT/Q64cOie/QkvG9dVMSmbtP5 ElRuWBgjxQd7EYeyb3zlXGe0GVgN9sMjo7ymE= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986865; x=1712591665; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zqC0WkgJnosuNh3fc7KqGFY730MJZmlHMmMM6gMyVN8=; b=h2o7jleL4Qpzz8JKAfbs9ElNpSQYmVqFlWL39chQhDUiEnVV+ZFRqdU8JrHNDcUGig u9M8KVU2WlGH/Z1ksG0CY3rP86eBqApoI+bHJuQQZcw3JVqa9hDvpa6XJKUciBUfAUO8 +3U0JJ3T+CRvg429RG6o4UyIt3pOwiSzNBhM4Ow0HtwgEVIS2WXe8lRnBSM4Ae3nntjO BPDGzt/XfmzaFXWvexE0P6Sb5q/6AhvLRamTugVOTQLtn+lJzDwNwQOs1h20jUxkmHbN PgZLLsvcjhFz5W6eZIMiEvQONEKmfQCwaX8qv6LFoDFdt2nLktthxzFFc+wAwFkal7RZ wlrw== X-Gm-Message-State: AOJu0YzBfWVD0+Taok+VKFh8cHEijUFGw/lMc9LeQVXm+avxo3UCqgWO L6KiLNjUN47F5OqkwnAG0WoHTy30tnS3zd7h5/KHF81/gf/kf+mjd9d5WUW0wKiCivOJ15TfXgD T X-Google-Smtp-Source: AGHT+IEQw8EeXss6nRwDm5Gqxhj62NJbB1DKnRaLEghbTQyLBt3M7fLif/0HahFgaY0mdKQLB8JaBg== X-Received: by 2002:a0c:dd0d:0:b0:691:8661:1069 with SMTP id u13-20020a0cdd0d000000b0069186611069mr9324750qvk.25.1711986865027; Mon, 01 Apr 2024 08:54:25 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:23 -0400 Message-ID: <20240401155420.880666-2-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: *** Message-ID-Hash: WSQ6CHP3XL4SKJL4JEOGJI3CTUVDOI2U X-Message-ID-Hash: WSQ6CHP3XL4SKJL4JEOGJI3CTUVDOI2U X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 1/9] stdvgamodes: No need to store pelmask in vga_modes[] List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986907913100001 Content-Type: text/plain; charset="utf-8" The pelmask is always 0xff so no need to store in a static table. Signed-off-by: Kevin O'Connor --- vgasrc/stdvgamodes.c | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index 3e6b575..ed1d983 100644 --- a/vgasrc/stdvgamodes.c +++ b/vgasrc/stdvgamodes.c @@ -263,7 +263,6 @@ struct stdvga_mode_s { u16 mode; struct vgamode_s info; =20 - u8 pelmask; u8 *dac; u16 dacsize; u8 *sequ_regs; @@ -275,39 +274,39 @@ struct stdvga_mode_s { =20 static struct stdvga_mode_s vga_modes[] VAR16 =3D { //mode { model tx ty bpp cw ch sstart } - // pelm dac sequ misc crtc actl grdc + // dac sequ misc crtc actl grdc {0x00, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT } - , 0xFF, PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, + , PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, {0x01, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT } - , 0xFF, PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, + , PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, {0x02, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT } - , 0xFF, PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, + , PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, {0x03, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT } - , 0xFF, PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, + , PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, {0x04, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT } - , 0xFF, PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, + , PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, {0x05, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT } - , 0xFF, PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, + , PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, {0x06, { MM_CGA, 640, 200, 1, 8, 8, SEG_CTEXT } - , 0xFF, PAL(palette1), sequ_06, 0x63, crtc_06, actl_06, grdc_06}, + , PAL(palette1), sequ_06, 0x63, crtc_06, actl_06, grdc_06}, {0x07, { MM_TEXT, 80, 25, 4, 9, 16, SEG_MTEXT } - , 0xFF, PAL(palette0), sequ_03, 0x66, crtc_07, actl_07, grdc_07}, + , PAL(palette0), sequ_03, 0x66, crtc_07, actl_07, grdc_07}, {0x0D, { MM_PLANAR, 320, 200, 4, 8, 8, SEG_GRAPH } - , 0xFF, PAL(palette1), sequ_0d, 0x63, crtc_0d, actl_0d, grdc_0d}, + , PAL(palette1), sequ_0d, 0x63, crtc_0d, actl_0d, grdc_0d}, {0x0E, { MM_PLANAR, 640, 200, 4, 8, 8, SEG_GRAPH } - , 0xFF, PAL(palette1), sequ_0e, 0x63, crtc_0e, actl_0d, grdc_0d}, + , PAL(palette1), sequ_0e, 0x63, crtc_0e, actl_0d, grdc_0d}, {0x0F, { MM_PLANAR, 640, 350, 1, 8, 14, SEG_GRAPH } - , 0xFF, PAL(palette0), sequ_0e, 0xa3, crtc_0f, actl_0f, grdc_0d}, + , PAL(palette0), sequ_0e, 0xa3, crtc_0f, actl_0f, grdc_0d}, {0x10, { MM_PLANAR, 640, 350, 4, 8, 14, SEG_GRAPH } - , 0xFF, PAL(palette2), sequ_0e, 0xa3, crtc_0f, actl_10, grdc_0d}, + , PAL(palette2), sequ_0e, 0xa3, crtc_0f, actl_10, grdc_0d}, {0x11, { MM_PLANAR, 640, 480, 1, 8, 16, SEG_GRAPH } - , 0xFF, PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_11, grdc_0d}, + , PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_11, grdc_0d}, {0x12, { MM_PLANAR, 640, 480, 4, 8, 16, SEG_GRAPH } - , 0xFF, PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_10, grdc_0d}, + , PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_10, grdc_0d}, {0x13, { MM_PACKED, 320, 200, 8, 8, 8, SEG_GRAPH } - , 0xFF, PAL(palette3), sequ_13, 0x63, crtc_13, actl_13, grdc_13}, + , PAL(palette3), sequ_13, 0x63, crtc_13, actl_13, grdc_13}, {0x6A, { MM_PLANAR, 800, 600, 4, 8, 16, SEG_GRAPH } - , 0xFF, PAL(palette2), sequ_0e, 0xe3, crtc_6A, actl_10, grdc_0d}, + , PAL(palette2), sequ_0e, 0xe3, crtc_6A, actl_10, grdc_0d}, }; =20 =20 @@ -457,7 +456,7 @@ stdvga_set_mode(struct vgamode_s *vmode_g, int flags) =20 // if palette loading (bit 3 of modeset ctl =3D 0) if (!(flags & MF_NOPALETTE)) { // Set the PEL mask - stdvga_pelmask_write(GET_GLOBAL(stdmode_g->pelmask)); + stdvga_pelmask_write(0xff); =20 // From which palette u8 *palette_g =3D GET_GLOBAL(stdmode_g->dac); --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711986920863627.702119116763; Mon, 1 Apr 2024 08:55:20 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id 020102247A; Mon, 1 Apr 2024 15:55:15 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 00EE321C45 for ; Mon, 1 Apr 2024 15:54:26 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:26 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id i2-20020ac84882000000b00432feda5986sm323861qtq.35.2024.04.01.08.54.25 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986866; x=1712591666; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=D5fPoZtxuUJNbhtVxKqJC4+BYcDd/u4KhCrPqv/QUX0=; b=JN1CCBe7sP7r8usR9t9URw5Mp6741eetiAttFKkKDBCn9wMOefyIduxdT7EKygmPtt lfeU7FxeYjavJ7fW5xjUT9vKKSzLa/9X5cRWrz7cnWyFAQr2pady0xC3jVLnwVM+9zc9 sM6QvFMVVzkpatfXoNo80KX5+Q2zXbfFnz0GQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986866; x=1712591666; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=D5fPoZtxuUJNbhtVxKqJC4+BYcDd/u4KhCrPqv/QUX0=; b=HeemNl2wkmh0/gsPyPwVRuuoaNby3yO2MsfDz6Slxl2AJkrWMy7hwOTyIrHY5eMtN5 myhBi5W6YEFVPLBJ8AKRzMLuiCCKtEjuyFFL/1A7XD1U2IodorLbIicUXbYIrVZM8RBq zjbXIrS/WzZmroOBUEd1UYEBsTxr9eTAtnuUpuOmXTebHdidr0IA+yt0a3E1CyCG+EXH 05NKPik4D+LLNuFLkwf/LQXbpp5kBJqJ4rNCAmzaIg8EMqIp2molJRhjMTJxIvBCGLZ4 Q959rawWYXfJ48DLSu0I3uaNk81i3AjkaHRxMiHll48bEgEKeqVgU8tKXov087Ht4ael DhNg== X-Gm-Message-State: AOJu0YxuwugcegVu344uUbU6ubkAihqd3cw65LKeVfmcE2+7fNVA4qbm ydNn9ub/KdbWO8NBKfNawPoJqZGfC+ZldXSMKYMNXHLxBEKaMR0s4Svoez14RtvBxpAlZivNL0u I X-Google-Smtp-Source: AGHT+IFHPPz5CSEMpVgbxrKZ3e7H9KLlCbPzPjY3WubXtIZ0ugr/FCmG71g87OZTnvs+c345AbJBvA== X-Received: by 2002:a05:622a:11ca:b0:432:dd26:e1db with SMTP id n10-20020a05622a11ca00b00432dd26e1dbmr5153062qtk.59.1711986865697; Mon, 01 Apr 2024 08:54:25 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:24 -0400 Message-ID: <20240401155420.880666-3-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: A56ZSOGGFE6DYJSS4XDQOH27ED4HWAXT X-Message-ID-Hash: A56ZSOGGFE6DYJSS4XDQOH27ED4HWAXT X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 2/9] stdvgamodes: Improve naming of dac palette tables List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986922237100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor --- vgasrc/stdvgamodes.c | 92 ++++++++++++++++++++++++-------------------- 1 file changed, 50 insertions(+), 42 deletions(-) diff --git a/vgasrc/stdvgamodes.c b/vgasrc/stdvgamodes.c index ed1d983..c1d9722 100644 --- a/vgasrc/stdvgamodes.c +++ b/vgasrc/stdvgamodes.c @@ -15,11 +15,11 @@ =20 =20 /**************************************************************** - * Video mode register definitions + * Default color palettes (stored in DAC registers) ****************************************************************/ =20 -/* Mono */ -static u8 palette0[] VAR16 =3D { +// 4 grey palette used for MDA card compatibility +static u8 pal_mda[] VAR16 =3D { 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, 0x2a,0x2a,0x2a, @@ -38,7 +38,8 @@ static u8 palette0[] VAR16 =3D { 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f, 0x3f,0x3f,0x3f }; =20 -static u8 palette1[] VAR16 =3D { +// 16 colors used for CGA mode compatibility +static u8 pal_cga[] VAR16 =3D { 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, @@ -57,7 +58,8 @@ static u8 palette1[] VAR16 =3D { 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f }; =20 -static u8 palette2[] VAR16 =3D { +// 64 colors used for EGA mode compatibility +static u8 pal_ega[] VAR16 =3D { 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x2a,0x00, 0x2a,0x2a,0x2a, 0x00,0x00,0x15, 0x00,0x00,0x3f, 0x00,0x2a,0x15, 0x00,0x2a,0x3f, @@ -76,7 +78,8 @@ static u8 palette2[] VAR16 =3D { 0x3f,0x15,0x15, 0x3f,0x15,0x3f, 0x3f,0x3f,0x15, 0x3f,0x3f,0x3f }; =20 -static u8 palette3[] VAR16 =3D { +// Default 256 colors used in VGA "packed" mode +static u8 pal_vga[] VAR16 =3D { 0x00,0x00,0x00, 0x00,0x00,0x2a, 0x00,0x2a,0x00, 0x00,0x2a,0x2a, 0x2a,0x00,0x00, 0x2a,0x00,0x2a, 0x2a,0x15,0x00, 0x2a,0x2a,0x2a, 0x15,0x15,0x15, 0x15,0x15,0x3f, 0x15,0x3f,0x15, 0x15,0x3f,0x3f, @@ -146,6 +149,11 @@ static u8 palette3[] VAR16 =3D { 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00, 0x00,0x00,0x00 }; =20 + +/**************************************************************** + * Video mode register definitions + ****************************************************************/ + static u8 sequ_01[] VAR16 =3D { 0x08, 0x03, 0x00, 0x02 }; static u8 crtc_01[] VAR16 =3D { 0x2d, 0x27, 0x28, 0x90, 0x2b, 0xa0, 0xbf, 0x1f, @@ -262,9 +270,9 @@ static u8 crtc_6A[] VAR16 =3D { struct stdvga_mode_s { u16 mode; struct vgamode_s info; - u8 *dac; u16 dacsize; + u8 *sequ_regs; u8 miscreg; u8 *crtc_regs; @@ -273,40 +281,40 @@ struct stdvga_mode_s { }; =20 static struct stdvga_mode_s vga_modes[] VAR16 =3D { - //mode { model tx ty bpp cw ch sstart } - // dac sequ misc crtc actl grdc - {0x00, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT } - , PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, - {0x01, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT } - , PAL(palette2), sequ_01, 0x67, crtc_01, actl_01, grdc_01}, - {0x02, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT } - , PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, - {0x03, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT } - , PAL(palette2), sequ_03, 0x67, crtc_03, actl_01, grdc_01}, - {0x04, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT } - , PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, - {0x05, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT } - , PAL(palette1), sequ_04, 0x63, crtc_04, actl_04, grdc_04}, - {0x06, { MM_CGA, 640, 200, 1, 8, 8, SEG_CTEXT } - , PAL(palette1), sequ_06, 0x63, crtc_06, actl_06, grdc_06}, - {0x07, { MM_TEXT, 80, 25, 4, 9, 16, SEG_MTEXT } - , PAL(palette0), sequ_03, 0x66, crtc_07, actl_07, grdc_07}, - {0x0D, { MM_PLANAR, 320, 200, 4, 8, 8, SEG_GRAPH } - , PAL(palette1), sequ_0d, 0x63, crtc_0d, actl_0d, grdc_0d}, - {0x0E, { MM_PLANAR, 640, 200, 4, 8, 8, SEG_GRAPH } - , PAL(palette1), sequ_0e, 0x63, crtc_0e, actl_0d, grdc_0d}, - {0x0F, { MM_PLANAR, 640, 350, 1, 8, 14, SEG_GRAPH } - , PAL(palette0), sequ_0e, 0xa3, crtc_0f, actl_0f, grdc_0d}, - {0x10, { MM_PLANAR, 640, 350, 4, 8, 14, SEG_GRAPH } - , PAL(palette2), sequ_0e, 0xa3, crtc_0f, actl_10, grdc_0d}, - {0x11, { MM_PLANAR, 640, 480, 1, 8, 16, SEG_GRAPH } - , PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_11, grdc_0d}, - {0x12, { MM_PLANAR, 640, 480, 4, 8, 16, SEG_GRAPH } - , PAL(palette2), sequ_0e, 0xe3, crtc_11, actl_10, grdc_0d}, - {0x13, { MM_PACKED, 320, 200, 8, 8, 8, SEG_GRAPH } - , PAL(palette3), sequ_13, 0x63, crtc_13, actl_13, grdc_13}, - {0x6A, { MM_PLANAR, 800, 600, 4, 8, 16, SEG_GRAPH } - , PAL(palette2), sequ_0e, 0xe3, crtc_6A, actl_10, grdc_0d}, + //mode { model tx ty bpp cw ch sstart } dac + // sequ misc crtc actl grdc + {0x00, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT }, PAL(pal_ega) + , sequ_01, 0x67, crtc_01, actl_01, grdc_01}, + {0x01, { MM_TEXT, 40, 25, 4, 9, 16, SEG_CTEXT }, PAL(pal_ega) + , sequ_01, 0x67, crtc_01, actl_01, grdc_01}, + {0x02, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT }, PAL(pal_ega) + , sequ_03, 0x67, crtc_03, actl_01, grdc_01}, + {0x03, { MM_TEXT, 80, 25, 4, 9, 16, SEG_CTEXT }, PAL(pal_ega) + , sequ_03, 0x67, crtc_03, actl_01, grdc_01}, + {0x04, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT }, PAL(pal_cga) + , sequ_04, 0x63, crtc_04, actl_04, grdc_04}, + {0x05, { MM_CGA, 320, 200, 2, 8, 8, SEG_CTEXT }, PAL(pal_cga) + , sequ_04, 0x63, crtc_04, actl_04, grdc_04}, + {0x06, { MM_CGA, 640, 200, 1, 8, 8, SEG_CTEXT }, PAL(pal_cga) + , sequ_06, 0x63, crtc_06, actl_06, grdc_06}, + {0x07, { MM_TEXT, 80, 25, 4, 9, 16, SEG_MTEXT }, PAL(pal_mda) + , sequ_03, 0x66, crtc_07, actl_07, grdc_07}, + {0x0D, { MM_PLANAR, 320, 200, 4, 8, 8, SEG_GRAPH }, PAL(pal_cga) + , sequ_0d, 0x63, crtc_0d, actl_0d, grdc_0d}, + {0x0E, { MM_PLANAR, 640, 200, 4, 8, 8, SEG_GRAPH }, PAL(pal_cga) + , sequ_0e, 0x63, crtc_0e, actl_0d, grdc_0d}, + {0x0F, { MM_PLANAR, 640, 350, 1, 8, 14, SEG_GRAPH }, PAL(pal_mda) + , sequ_0e, 0xa3, crtc_0f, actl_0f, grdc_0d}, + {0x10, { MM_PLANAR, 640, 350, 4, 8, 14, SEG_GRAPH }, PAL(pal_ega) + , sequ_0e, 0xa3, crtc_0f, actl_10, grdc_0d}, + {0x11, { MM_PLANAR, 640, 480, 1, 8, 16, SEG_GRAPH }, PAL(pal_ega) + , sequ_0e, 0xe3, crtc_11, actl_11, grdc_0d}, + {0x12, { MM_PLANAR, 640, 480, 4, 8, 16, SEG_GRAPH }, PAL(pal_ega) + , sequ_0e, 0xe3, crtc_11, actl_10, grdc_0d}, + {0x13, { MM_PACKED, 320, 200, 8, 8, 8, SEG_GRAPH }, PAL(pal_vga) + , sequ_13, 0x63, crtc_13, actl_13, grdc_13}, + {0x6A, { MM_PLANAR, 800, 600, 4, 8, 16, SEG_GRAPH }, PAL(pal_ega) + , sequ_0e, 0xe3, crtc_6A, actl_10, grdc_0d}, }; =20 =20 @@ -527,5 +535,5 @@ stdvga_set_mode(struct vgamode_s *vmode_g, int flags) void stdvga_set_packed_palette(void) { - stdvga_dac_write(get_global_seg(), palette3, 0, sizeof(palette3) / 3); + stdvga_dac_write(get_global_seg(), pal_vga, 0, sizeof(pal_vga) / 3); } --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711986936714185.4601073309151; Mon, 1 Apr 2024 08:55:36 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id 55B3E22944; Mon, 1 Apr 2024 15:55:31 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 94D6621C45 for ; Mon, 1 Apr 2024 15:54:27 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:27 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id a2-20020a056214062200b006967ba7f1adsm4616915qvx.96.2024.04.01.08.54.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986866; x=1712591666; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=Ck8cJbn+o3SJsuCnl5T4bzWz/DOT6jjVVvfjF1ZdKKo=; b=V/vgf6WwG5AmP56ieliEchI5yewx5Ub39+IXt7Fxcfnm8sy/9jbj+c4QPCtRhLFaiq nXw8mDMJIx7UQHwjxXVkTfUwORRQCHMmySSv0MJ7FIUOVR6dvhXs/OtfO9OyY4qgmZXi FcjwUnoOdK/iYuC2y2JxH52ySgQvKnWMa2VGQ= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986866; x=1712591666; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Ck8cJbn+o3SJsuCnl5T4bzWz/DOT6jjVVvfjF1ZdKKo=; b=d7qu7UvnB9qTIG7P4hIQ9GWVFZVluYrfcfpgGz+ci5GcdkK9Bt4OFVm6wFy2U2XSAI g3GGNyuaD/4gyZVlpS8godcCNgg05mHKxobmS8iGCLGj+9TBUs3jR3ryrJbFtbOnmEzG 4+xUZMT2eqbv93vSwWG1Kddiv/3BotxBa4/E2p8L9wQcPSewt00BIfAnKhxlvxJ8UVoD 6ipPVcOgZJ2yVFTasMKOD1kxockp5iWOjUsCgBofffOaI4UU1I0dyJadmA1OAG/w18eE piL9T5WC/zTKJGxwnUE5lQqWGK1tE7F6/S+55vk9BY+fwQq+zyMh77BouaZtZ8MNUQdl ecEg== X-Gm-Message-State: AOJu0YwV2FvxG84PVcwVFEnvkdUbOfBW4rb4U2XmRVUO+iVx/yuYWHlD Sk2vPLeONm397htsGL2H26Ms6TbvkMpOPR5klVVRhsANQcqpHOsd2Kk6fOIHcIaID/FJbfhMgUC S X-Google-Smtp-Source: AGHT+IERy2CEjPvwouXL+1esSkBzBHI36MzMz/ZwyHAtsZ/oE/2jsYTdUSNrRaPIkA83ACT/IaLWHA== X-Received: by 2002:a05:6214:247:b0:696:7565:b058 with SMTP id k7-20020a056214024700b006967565b058mr8819259qvt.0.1711986866377; Mon, 01 Apr 2024 08:54:26 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:25 -0400 Message-ID: <20240401155420.880666-4-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: JSKUBAISUNPXWZQM6FZ2KKDLMGVSXXHH X-Message-ID-Hash: JSKUBAISUNPXWZQM6FZ2KKDLMGVSXXHH X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 3/9] stdvga: Rename CGA palette functions List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986937937100001 Content-Type: text/plain; charset="utf-8" Rename stdvga_set_border_color() to stdvga_set_cga_background_color() and stdvga_set_palette() to stdvga_set_cga_palette(). These functions implement compatibility for old CGA cards - rename them so they are not confused with the functions that manipulte the VGA palette. Signed-off-by: Kevin O'Connor Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- vgasrc/stdvga.c | 23 ++++++++++++++--------- vgasrc/stdvga.h | 4 ++-- vgasrc/vgabios.c | 4 ++-- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index da67af4..eac0357 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -18,19 +18,32 @@ * Attribute control ****************************************************************/ =20 +// Emulate CGA background setting via VGA palette index registers void -stdvga_set_border_color(u8 color) +stdvga_set_cga_background_color(u8 color) { + // Set the background color (via palette index 0) u8 v1 =3D color & 0x0f; if (v1 & 0x08) v1 +=3D 0x08; stdvga_attr_write(0x00, v1); =20 + // Dim/brighten foreground (see pal_cga[] in stdvgamodes.c) int i; for (i =3D 1; i < 4; i++) stdvga_attr_mask(i, 0x10, color & 0x10); } =20 +// Emulate CGA palette setting by altering VGA palette index registers +void +stdvga_set_cga_palette(u8 palid) +{ + // Switch foreground colors (see pal_cga[] in stdvgamodes.c) + int i; + for (i =3D 1; i < 4; i++) + stdvga_attr_mask(i, 0x01, palid & 0x01); +} + void stdvga_set_overscan_border_color(u8 color) { @@ -43,14 +56,6 @@ stdvga_get_overscan_border_color(void) return stdvga_attr_read(0x11); } =20 -void -stdvga_set_palette(u8 palid) -{ - int i; - for (i =3D 1; i < 4; i++) - stdvga_attr_mask(i, 0x01, palid & 0x01); -} - void stdvga_set_all_palette_reg(u16 seg, u8 *data_far) { diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index ce79783..a2375c7 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -45,10 +45,10 @@ #define SEG_MTEXT 0xB000 =20 // stdvga.c -void stdvga_set_border_color(u8 color); +void stdvga_set_cga_background_color(u8 color); +void stdvga_set_cga_palette(u8 palid); void stdvga_set_overscan_border_color(u8 color); u8 stdvga_get_overscan_border_color(void); -void stdvga_set_palette(u8 palid); void stdvga_set_all_palette_reg(u16 seg, u8 *data_far); void stdvga_get_all_palette_reg(u16 seg, u8 *data_far); void stdvga_toggle_intensity(u8 flag); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index 2ca8c3d..d522f83 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -457,13 +457,13 @@ handle_100a(struct bregs *regs) static void handle_100b00(struct bregs *regs) { - stdvga_set_border_color(regs->bl); + stdvga_set_cga_background_color(regs->bl); } =20 static void handle_100b01(struct bregs *regs) { - stdvga_set_palette(regs->bl); + stdvga_set_cga_palette(regs->bl); } =20 static void --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711986953699148.06625351396394; Mon, 1 Apr 2024 08:55:53 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id 20F53228F4; Mon, 1 Apr 2024 15:55:49 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 825C221C45 for ; Mon, 1 Apr 2024 15:54:28 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:28 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id dr14-20020a05622a528e00b0042f43a486c9sm4692698qtb.77.2024.04.01.08.54.26 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986867; x=1712591667; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=grbSaK/M3mBNMHt1di1KSQZWMoAO6gdw5pw9D47JlUE=; b=Yv/XZbAxguKX6eBfLvweQNM/QjqafeJ2mmh/hAm02EFXqFP2PVsX2NGfnLULclsMHq nPpk7zQeuCyqp3+hzofjiHMekiLKRf0cHva8k09Q+FKOX8Aa0QUQGrqAi2TnxiwwjFtA PiLDMISCh731XANfsDdAQeRO+dKQMj4GdlkTM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986867; x=1712591667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=grbSaK/M3mBNMHt1di1KSQZWMoAO6gdw5pw9D47JlUE=; b=GRAwL7FnKCpOI47dn5+/fnPkhs8AXAc2p8nOwqjP3ZqYIi3EYyBnwNUpXPR+EuIlsK hq9g7T4V6KxtaLx2pMr3/Col48XGBCHGhcnoKIdX1meWk1l16U4EVF6wcQhCKhhEhu80 kn17v9bFql9BMMkfiM5UQ/jNXVV2+I5ofjGoVTQDCsAbNyKZ6f3U5o8bkBHcGTlkISxj gfPXoWG5dWBuh/NUZpqOjpABBh+7W7OhsyaB5nlGJhs5HGdexQxNWj828tFvBHzFwqnx Ajx1LAm4ay/opxq8Ln8+PG2wlXjh5pDHnMs+bODOL9rLlj+pkYPcbfgrVMilGWu2sbmO FMoQ== X-Gm-Message-State: AOJu0YxovEfcO9y8loOFIjVTVSSnvMHXFRiUogfZ2sAWsuf9c9RUyeEK N123uZU50bIu/uuwaOBsBmg4Ko7vh08qhHBZugjURazC4nga+O/PF8g09Il3eccYd9d+5N8krIo y X-Google-Smtp-Source: AGHT+IEG18rq/cGr4kUuoxirAwo5Atev0p0nEa/kVBgf0mBpzlJO/DMMnNfzMOGS1i9/MSWxd35P0g== X-Received: by 2002:a05:6808:384e:b0:3c3:eee8:cc89 with SMTP id ej14-20020a056808384e00b003c3eee8cc89mr15750565oib.23.1711986866992; Mon, 01 Apr 2024 08:54:26 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:26 -0400 Message-ID: <20240401155420.880666-5-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: FL3ZVNAFPBLVSVFMPLU5IPAUDGCR425J X-Message-ID-Hash: FL3ZVNAFPBLVSVFMPLU5IPAUDGCR425J X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 4/9] stdvga: Add comments to interface functions in stdvga.c List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986953998100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor --- vgasrc/stdvga.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index eac0357..149c88a 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -1,6 +1,6 @@ // Standard VGA driver code // -// Copyright (C) 2009 Kevin O'Connor +// Copyright (C) 2009-2024 Kevin O'Connor // Copyright (C) 2001-2008 the LGPL VGABios developers Team // // This file may be distributed under the terms of the GNU LGPLv3 license. @@ -44,29 +44,35 @@ stdvga_set_cga_palette(u8 palid) stdvga_attr_mask(i, 0x01, palid & 0x01); } =20 +// Set the VGA palette index register for the "overscan" area void stdvga_set_overscan_border_color(u8 color) { stdvga_attr_write(0x11, color); } =20 +// Get the VGA palette index register for the "overscan" area u8 stdvga_get_overscan_border_color(void) { return stdvga_attr_read(0x11); } =20 +// Set the VGA palette index registers void stdvga_set_all_palette_reg(u16 seg, u8 *data_far) { + // Set palette indexes (offset into DAC colors) int i; for (i =3D 0; i < 0x10; i++) { stdvga_attr_write(i, GET_FARVAR(seg, *data_far)); data_far++; } + // Set "overscan" palette index (offset into DAC colors) stdvga_attr_write(0x11, GET_FARVAR(seg, *data_far)); } =20 +// Get the VGA palette index registers void stdvga_get_all_palette_reg(u16 seg, u8 *data_far) { @@ -78,6 +84,7 @@ stdvga_get_all_palette_reg(u16 seg, u8 *data_far) SET_FARVAR(seg, *data_far, stdvga_attr_read(0x11)); } =20 +// Set blinking mode (when enabled, palette index bit 0x08 indicates blink= ing) void stdvga_toggle_intensity(u8 flag) { @@ -116,6 +123,7 @@ stdvga_read_video_dac_state(u8 *pmode, u8 *curpage) * DAC control ****************************************************************/ =20 +// Convert all loaded colors to shades of gray void stdvga_perform_gray_scale_summing(u16 start, u16 count) { @@ -141,6 +149,7 @@ stdvga_perform_gray_scale_summing(u16 start, u16 count) * Memory control ****************************************************************/ =20 +// Set the video memory location of the start of character fonts void stdvga_set_text_block_specifier(u8 spec) { @@ -210,6 +219,7 @@ stdvga_load_font(u16 seg, void *src_far, u16 count * CRTC registers ****************************************************************/ =20 +// Return the IO port used to access the CRTC register u16 stdvga_get_crtc(void) { @@ -234,6 +244,7 @@ stdvga_vram_ratio(struct vgamode_s *vmode_g) } } =20 +// Set cursor shape (when in text mode) void stdvga_set_cursor_shape(u16 cursor_type) { @@ -242,6 +253,7 @@ stdvga_set_cursor_shape(u16 cursor_type) stdvga_crtc_write(crtc_addr, 0x0b, cursor_type); } =20 +// Set the position of the text cursor (as offset into system framebuffer) void stdvga_set_cursor_pos(int address) { @@ -251,6 +263,7 @@ stdvga_set_cursor_pos(int address) stdvga_crtc_write(crtc_addr, 0x0f, address); } =20 +// Set the character height (when in text mode) void stdvga_set_scan_lines(u8 lines) { @@ -268,15 +281,19 @@ stdvga_get_vde(void) return vde; } =20 +// Get offset into framebuffer accessible from real-mode 64K segment int stdvga_get_window(struct vgamode_s *curmode_g, int window) { return -1; } =20 +// Set offset into framebuffer that is accessible from real-mode 64K +// segment (in units of VBE_win_granularity windows) int stdvga_set_window(struct vgamode_s *curmode_g, int window, int val) { + // Stdvga does not support changing window offset return -1; } =20 @@ -325,15 +342,18 @@ stdvga_set_displaystart(struct vgamode_s *curmode_g, = int val) return 0; } =20 +// Report if using 8bit per rgb (24bit total) or 6bit per rgb (18bit total) int stdvga_get_dacformat(struct vgamode_s *curmode_g) { return -1; } =20 +// Set 8bit per rgb (24bit total) or 6bit per rgb (18bit total) int stdvga_set_dacformat(struct vgamode_s *curmode_g, int val) { + // Stdvga only supports 6bits for each color channel return -1; } =20 @@ -477,6 +497,7 @@ stdvga_save_restore(int cmd, u16 seg, void *data) * Misc ****************************************************************/ =20 +// Enable/disable system access to the video memory void stdvga_enable_video_addressing(u8 disable) { --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711986971644648.296351221749; Mon, 1 Apr 2024 08:56:11 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id DEC0C21C58; Mon, 1 Apr 2024 15:56:06 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id CAA802248A for ; Mon, 1 Apr 2024 15:54:28 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:28 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id q15-20020ad45caf000000b00698facb19d5sm2525201qvh.106.2024.04.01.08.54.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986867; x=1712591667; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=1pfkGkii8twPSePBNNz8D88YPLGvQqMKFt4KDjIbFyw=; b=cH9XuZs5XwPY7szXqMVYF/g7jvK+8zm1Jq2yfxvNcWudLO6BjPyDrox5qLyM824WBp lumMZPrm5QRsjNoOUQxXCDk6cwzFe9H+pvIQow+jAIjbNd+w6QhVRR5AEbYqrNNneOwx O+C3nOcFBcw3CAfGjtSiGboKDSdiHR4mC3S6U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986867; x=1712591667; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=1pfkGkii8twPSePBNNz8D88YPLGvQqMKFt4KDjIbFyw=; b=fJa3HKgwZJ7F8RKT48uBNFMnkfoziaSCyXqfGQXj96InS+Znfzoz4y+9NEeENTzLh8 HBRqImiFukqLfaRoEJpYE1UVR8Od6Mr2ETh+VcoGQ1hzdexNgID/G2CGl5hRm6lpfeGT fFyGGiFoiONrSrkjLETg4/4F2dCt64tZku0laK8HcG0P1Hz1j7L1ODhNO5aXzQiLHolc lGVMNHsGNBMYajsAT7t+HKtu/OmUv78NAzkE70AEZyDG+S307dIcoYJkJb+SRyFUmCr9 21fzLe704r3QJDNBZ3/yGL/6OQsLwyh/Pk90pPt8o/YNpPFg0KeKjjSwQkNGmGLAetwB kwTA== X-Gm-Message-State: AOJu0Yzexbits1bwi3SAWYR4x1tg8H0o2v8qyZGnNoh4SStMddQs52kc bDe9Fftw2aP0ZvXosBt6SnRsqK+Q6ompTYagjVbOfwSNPL9uZbP5TZjNMxLAFqVNbf+eTtso7Cj G X-Google-Smtp-Source: AGHT+IEFmKRx2uLtXr1XLhlkRQGnSRbC0+Qqc00BRIhF3eRt1mE7OzoXGmIK8/kmpk8csVMakPQ1aQ== X-Received: by 2002:a0c:9c43:0:b0:698:6e9a:f08e with SMTP id w3-20020a0c9c43000000b006986e9af08emr8871098qve.14.1711986867590; Mon, 01 Apr 2024 08:54:27 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:27 -0400 Message-ID: <20240401155420.880666-6-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: LTD2UPM55E2X47PRDZ2AXCKZAEZSSH5F X-Message-ID-Hash: LTD2UPM55E2X47PRDZ2AXCKZAEZSSH5F X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 5/9] stdvga: Rename stdvga_toggle_intensity() to stdvga_set_palette_blinking() List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986972031100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor --- vgasrc/stdvga.c | 4 ++-- vgasrc/stdvga.h | 2 +- vgasrc/vgabios.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 149c88a..63700d4 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -86,9 +86,9 @@ stdvga_get_all_palette_reg(u16 seg, u8 *data_far) =20 // Set blinking mode (when enabled, palette index bit 0x08 indicates blink= ing) void -stdvga_toggle_intensity(u8 flag) +stdvga_set_palette_blinking(u8 enable_blink) { - stdvga_attr_mask(0x10, 0x08, (flag & 0x01) << 3); + stdvga_attr_mask(0x10, 0x08, (enable_blink & 0x01) << 3); } =20 void diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index a2375c7..6ce6a90 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -51,7 +51,7 @@ void stdvga_set_overscan_border_color(u8 color); u8 stdvga_get_overscan_border_color(void); void stdvga_set_all_palette_reg(u16 seg, u8 *data_far); void stdvga_get_all_palette_reg(u16 seg, u8 *data_far); -void stdvga_toggle_intensity(u8 flag); +void stdvga_set_palette_blinking(u8 enable_blink); void stdvga_select_video_dac_color_page(u8 flag, u8 data); void stdvga_read_video_dac_state(u8 *pmode, u8 *curpage); void stdvga_perform_gray_scale_summing(u16 start, u16 count); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index d522f83..b55a4db 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -544,7 +544,7 @@ handle_101002(struct bregs *regs) static void handle_101003(struct bregs *regs) { - stdvga_toggle_intensity(regs->bl); + stdvga_set_palette_blinking(regs->bl); } =20 static void --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711986988594227.3790264815002; Mon, 1 Apr 2024 08:56:28 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id EAD192270D; Mon, 1 Apr 2024 15:56:23 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 62D7221C45 for ; Mon, 1 Apr 2024 15:54:29 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:29 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id jm15-20020ad45ecf000000b00690afbf56d5sm4559546qvb.66.2024.04.01.08.54.27 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986868; x=1712591668; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=zr4F7jB3z3KMc4JUKgFsNLQ3X4eCwBNK2sVpyPs7QWY=; b=TNa0h1vl3Sy564maBgoPGIGulseymWB6/I9dUhPZYn/nJ+hYLZSG7kptd4Gl11Kwou 1uXHIJ3D6nFaGIgKzlIZs1xFcOlkb4IZ5Mk25W3+SABkKKVJKQ+YEQJ2alDip9ZTFHeY /VZrv6RspJDs6sR4rEhrbEjRvS4FygcttXkvc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986868; x=1712591668; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=zr4F7jB3z3KMc4JUKgFsNLQ3X4eCwBNK2sVpyPs7QWY=; b=rcRCKV3l+7rkvs3cMjObCwZGdwXRdL63+H0t8B/QcEP3B063sTQ8VeOWsBuCcbcj76 hURpUeWyjtfkDy5Z1UNPuzSN8ePqwpzJM2IrwFVl+zqX9AQjzO/GPhQ1tI9TaQfIZfMM 2MW4x2p9qeQ3fEChabUolHqQCFlxIm7LYMyd6QSx1C9UcL+bJFktzXkYmGzPJqqr3ZOu xAwdmQaOhf0II/P3Vnz9ElTnkOsozikV3yGgzL+hKUTHfhDcDdZgqccNmcF1XL3J46/N dHJ25OCCxa1Iv3VsMeUJurSdFgvdbBfzubJ7DOu0CuST8JW+IWdWfyst4vUn+ZgROk0Q yROg== X-Gm-Message-State: AOJu0YyWwpfZJBRDzlpUBlJIuSlt6HWWnELr8RfniWvTp4FwOKgrscpL XorPdTpyZn/XILc/vMDjELiTjuM1/vTlbJ0hAIc6ok7SosRYxtK3YGjOjcv1lptNTPIiAPSmH06 1 X-Google-Smtp-Source: AGHT+IEEhOPxgk37mVtpidZFg7U0WX5QX2eLQRCR1C3l5fXwYZnnqI/4+U4+be2+YCSESdWSFPuHoQ== X-Received: by 2002:ad4:5949:0:b0:698:ffc1:4cbf with SMTP id eo9-20020ad45949000000b00698ffc14cbfmr8102334qvb.56.1711986868233; Mon, 01 Apr 2024 08:54:28 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:28 -0400 Message-ID: <20240401155420.880666-7-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: ZEA634XNA5LMVCP7RERG4XHD5QPC4IPN X-Message-ID-Hash: ZEA634XNA5LMVCP7RERG4XHD5QPC4IPN X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 6/9] stdvga: Rework stdvga palette index paging interface functions List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711986990087100001 Content-Type: text/plain; charset="utf-8" Rename the functions to make them a little easier to understand. Signed-off-by: Kevin O'Connor --- vgasrc/stdvga.c | 31 ++++++++++++++++++------------- vgasrc/stdvga.h | 5 +++-- vgasrc/vgabios.c | 7 +++++-- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 63700d4..2edd6d7 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -91,31 +91,36 @@ stdvga_set_palette_blinking(u8 enable_blink) stdvga_attr_mask(0x10, 0x08, (enable_blink & 0x01) << 3); } =20 +// Select 4-bit or 6-bit palette indexes (for "page" switching of colors) void -stdvga_select_video_dac_color_page(u8 flag, u8 data) +stdvga_set_palette_pagesize(u8 pal_pagesize) { - if (!(flag & 0x01)) { - // select paging mode - stdvga_attr_mask(0x10, 0x80, data << 7); - return; - } - // select page + stdvga_attr_mask(0x10, 0x80, pal_pagesize << 7); +} + +// Set palette index offset (enables color switching via "pages") +void +stdvga_set_palette_page(u8 pal_page) +{ + // Check if using 4-bit or 6-bit "palette index pages" u8 val =3D stdvga_attr_read(0x10); if (!(val & 0x80)) - data <<=3D 2; - data &=3D 0x0f; - stdvga_attr_write(0x14, data); + pal_page <<=3D 2; + // select page + pal_page &=3D 0x0f; + stdvga_attr_write(0x14, pal_page); } =20 +// Report current pallete index pagesize and current page void -stdvga_read_video_dac_state(u8 *pmode, u8 *curpage) +stdvga_get_palette_page(u8 *pal_pagesize, u8 *pal_page) { u8 val1 =3D stdvga_attr_read(0x10) >> 7; u8 val2 =3D stdvga_attr_read(0x14) & 0x0f; if (!(val1 & 0x01)) val2 >>=3D 2; - *pmode =3D val1; - *curpage =3D val2; + *pal_pagesize =3D val1; + *pal_page =3D val2; } =20 =20 diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index 6ce6a90..e9cd2f0 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -52,8 +52,9 @@ u8 stdvga_get_overscan_border_color(void); void stdvga_set_all_palette_reg(u16 seg, u8 *data_far); void stdvga_get_all_palette_reg(u16 seg, u8 *data_far); void stdvga_set_palette_blinking(u8 enable_blink); -void stdvga_select_video_dac_color_page(u8 flag, u8 data); -void stdvga_read_video_dac_state(u8 *pmode, u8 *curpage); +void stdvga_set_palette_pagesize(u8 pal_pagesize); +void stdvga_set_palette_page(u8 pal_page); +void stdvga_get_palette_page(u8 *pal_pagesize, u8 *pal_page); void stdvga_perform_gray_scale_summing(u16 start, u16 count); void stdvga_set_text_block_specifier(u8 spec); void stdvga_planar4_plane(int plane); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index b55a4db..00325f5 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -583,7 +583,10 @@ handle_101012(struct bregs *regs) static void handle_101013(struct bregs *regs) { - stdvga_select_video_dac_color_page(regs->bl, regs->bh); + if (!(regs->bl & 0x01)) + stdvga_set_palette_pagesize(regs->bh); + else + stdvga_set_palette_page(regs->bh); } =20 static void noinline @@ -617,7 +620,7 @@ handle_101019(struct bregs *regs) static void handle_10101a(struct bregs *regs) { - stdvga_read_video_dac_state(®s->bl, ®s->bh); + stdvga_get_palette_page(®s->bl, ®s->bh); } =20 static void --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 171198700253672.8829137356339; Mon, 1 Apr 2024 08:56:42 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id A09C421B6F; Mon, 1 Apr 2024 15:56:37 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 18D0D224B6 for ; Mon, 1 Apr 2024 15:54:30 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:29 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id fz10-20020a05622a5a8a00b0042eef160b4dsm4643117qtb.76.2024.04.01.08.54.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986869; x=1712591669; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=YDir5kNxS136CSLy+4r8QfV+Dfc7dGJ6ZXcZTNcm2tI=; b=g1xZ9lvkcYC8KOvZJsOO4wn255cIAmt7rTqglQJOUY5oW2sYJC8tXs1ptVYHzxYcST C6jYWH79N3oi3XizFD1OeUw0w8oGs0PwucZEjvVL6vZAhG+ktkYi2TDxDm+nQEAI2IbY m0hfR6e6fpR7cb5gBKpvUL6OXzBQ/3fXMmy6s= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986869; x=1712591669; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=YDir5kNxS136CSLy+4r8QfV+Dfc7dGJ6ZXcZTNcm2tI=; b=G5G06swxF1ZuXmNwDOW1zg68J3Sr+jVaFKtXVCxl+kvAwLwI+Nv6tOtihK2ShUoc07 vreBPQJjSWvY/JUgDQuEA5+ZurgA/Ba3oMqIczTYsdYpWk9ZQx9msB15ykvI1PFibinw Tje9KvQadcUZUCt4g40lRVlo/aMCDAbFdVhVcK1IqhcU1rPZbXdKv91uifIju7ihVfbj 4iA4Ej0NnuCoUHISx1QJ66S5vEuJT1zQUOAo7Gb93qBhShUZ0PboeIi7bEYXLZTrTHHT Cl7b9Car8VgF6C6fwQQ6B8ggetQdL1NCZDL53x5YKoSbGzu184gjJ0AtkZgFIFJzzJrb Pg8g== X-Gm-Message-State: AOJu0Yxz44yjbsvZu7kXi0GxeB6rLyz4NSGqp5c3qBaeYBsaqMLwXhO6 xmZ86A7bZe4VI16n/0vQDhx42zt61rbY+q48PTIiwLdaaATZO2/CQrqAYwdxZlu/6OuWII5OrSU w X-Google-Smtp-Source: AGHT+IFgFH/axV0sxiYhU+126rTvGAPm6iHlNXQe1PVgiJFGTnoKSZD0VAnWRYEyWmBQg3YTyh5nVA== X-Received: by 2002:a05:622a:1a09:b0:432:f64d:2bd3 with SMTP id f9-20020a05622a1a0900b00432f64d2bd3mr2263651qtb.3.1711986868897; Mon, 01 Apr 2024 08:54:28 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:29 -0400 Message-ID: <20240401155420.880666-8-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 Message-ID-Hash: 2MCS63SBABUG2YM2NFSL5MGEZAR65G3Z X-Message-ID-Hash: 2MCS63SBABUG2YM2NFSL5MGEZAR65G3Z X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 7/9] stdvga: Rename stdvga_set_text_block_specifier() to stdvga_set_font_location() List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711987004125100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- vgasrc/stdvga.c | 14 +++++++------- vgasrc/stdvga.h | 2 +- vgasrc/vgabios.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 2edd6d7..060e866 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -154,13 +154,6 @@ stdvga_perform_gray_scale_summing(u16 start, u16 count) * Memory control ****************************************************************/ =20 -// Set the video memory location of the start of character fonts -void -stdvga_set_text_block_specifier(u8 spec) -{ - stdvga_sequ_write(0x03, spec); -} - // Enable reads and writes to the given "plane" when in planar4 mode. void stdvga_planar4_plane(int plane) @@ -180,6 +173,13 @@ stdvga_planar4_plane(int plane) * Font loading ****************************************************************/ =20 +// Set the video memory location of the start of character fonts +void +stdvga_set_font_location(u8 spec) +{ + stdvga_sequ_write(0x03, spec); +} + static void get_font_access(void) { diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index e9cd2f0..8760486 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -56,8 +56,8 @@ void stdvga_set_palette_pagesize(u8 pal_pagesize); void stdvga_set_palette_page(u8 pal_page); void stdvga_get_palette_page(u8 *pal_pagesize, u8 *pal_page); void stdvga_perform_gray_scale_summing(u16 start, u16 count); -void stdvga_set_text_block_specifier(u8 spec); void stdvga_planar4_plane(int plane); +void stdvga_set_font_location(u8 spec); void stdvga_load_font(u16 seg, void *src_far, u16 count , u16 start, u8 destflags, u8 fontsize); u16 stdvga_get_crtc(void); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index 00325f5..22c0261 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -686,7 +686,7 @@ handle_101102(struct bregs *regs) static void handle_101103(struct bregs *regs) { - stdvga_set_text_block_specifier(regs->bl); + stdvga_set_font_location(regs->bl); } =20 static void --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711987019439615.6529828415975; Mon, 1 Apr 2024 08:56:59 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id C03FA229E3; Mon, 1 Apr 2024 15:56:54 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 33FAE224D0 for ; Mon, 1 Apr 2024 15:54:31 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:31 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id qm18-20020a056214569200b006906adc8aa2sm4563936qvb.102.2024.04.01.08.54.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986870; x=1712591670; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=QoOglXcQqdkXKU6isHtQu0yzrgdapYTFdEGr++9NlHs=; b=Cw/MGaAvjJ9OmUnG2yA2tcZMz9aPCegLyJHOrQcsJzPj5QXrZcadbX5dIqDVY3dyk6 Hfzfe8z9UqVP3AmCow+oM6MJxLzteudKKhQErBGpYkQDbK1hUZ+a5b7qc5iX94d2Gb4T bpDXkLLfl+/+TsxpraLJpPjH7mpn7g59NkV10= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986870; x=1712591670; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=QoOglXcQqdkXKU6isHtQu0yzrgdapYTFdEGr++9NlHs=; b=wafDh7SaQvjzmYf0LzgYM+kToAagNX9fcNQ4bF31nkhi8KZFoFT0WKKsDKgy7dkyZ9 nsUpESXgLrVlErSqYt6hIMJGXVle7JqkOyXbx1ack6rmP8Pb83yi4A+TZRcRn+TyzwET B9AXhPE2QZsHFX0f5KBMVzI5H6tFSzX0/dZpugOqtClXrPFgI34ajFt3nYxNrWqLauWw cisxI5ta6m13JnF4wiscHu5EsQLvJM0Wt5pWUuvxJzM7RHnBJGDNMbo1QPBEH1qJR+6A o6ABskLlMff0JBsHbiHXFxzapBuqj841Svdkr8DAI2qjVDgnu+Totfd9TYRmBGpebIQZ lUXQ== X-Gm-Message-State: AOJu0Yyq6zbyQ1uanOyjz3FKJJHj9lo2L9a0qLw5e3K9bFOcEJbWdYvF IxpgtUyFCsFy36aTKRopm9z4YmC3msYItjARPP8RT8xOZWB+mUNxs09HX1pJVhQxHh8xTCgzUv7 N X-Google-Smtp-Source: AGHT+IHGXI4sphHZXq9qhHxCZ25HQDAUnKp2QGngohcf4805hGEw1tNjSs8oMWjWCycMkC3ah5d9PQ== X-Received: by 2002:ad4:5150:0:b0:698:7ab0:eb4d with SMTP id g16-20020ad45150000000b006987ab0eb4dmr8424481qvq.30.1711986869514; Mon, 01 Apr 2024 08:54:29 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:30 -0400 Message-ID: <20240401155420.880666-9-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: * Message-ID-Hash: MZAJIRYXH524KVHTNFOQ5KSWJRU5HPYF X-Message-ID-Hash: MZAJIRYXH524KVHTNFOQ5KSWJRU5HPYF X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 8/9] stdvga: Rename stdvga_set_scan_lines() to stdvga_set_character_height() List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711987020200100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- vgasrc/stdvga.c | 2 +- vgasrc/stdvga.h | 2 +- vgasrc/vgabios.c | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 060e866..839bd06 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -270,7 +270,7 @@ stdvga_set_cursor_pos(int address) =20 // Set the character height (when in text mode) void -stdvga_set_scan_lines(u8 lines) +stdvga_set_character_height(u8 lines) { stdvga_crtc_mask(stdvga_get_crtc(), 0x09, 0x1f, lines - 1); } diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index 8760486..439930a 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -65,7 +65,7 @@ struct vgamode_s; int stdvga_vram_ratio(struct vgamode_s *vmode_g); void stdvga_set_cursor_shape(u16 cursor_type); void stdvga_set_cursor_pos(int address); -void stdvga_set_scan_lines(u8 lines); +void stdvga_set_character_height(u8 lines); u16 stdvga_get_vde(void); int stdvga_get_window(struct vgamode_s *curmode_g, int window); int stdvga_set_window(struct vgamode_s *curmode_g, int window, int val); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index 22c0261..a68cae1 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -134,9 +134,9 @@ set_active_page(u8 page) } =20 static void -set_scan_lines(u8 lines) +set_character_height(u8 lines) { - stdvga_set_scan_lines(lines); + stdvga_set_character_height(lines); SET_BDA(char_height, lines); u16 vde =3D stdvga_get_vde(); u8 rows =3D vde / lines; @@ -700,28 +700,28 @@ handle_101110(struct bregs *regs) { stdvga_load_font(regs->es, (void*)(regs->bp+0), regs->cx , regs->dx, regs->bl, regs->bh); - set_scan_lines(regs->bh); + set_character_height(regs->bh); } =20 static void handle_101111(struct bregs *regs) { stdvga_load_font(get_global_seg(), vgafont14, 0x100, 0, regs->bl, 14); - set_scan_lines(14); + set_character_height(14); } =20 static void handle_101112(struct bregs *regs) { stdvga_load_font(get_global_seg(), vgafont8, 0x100, 0, regs->bl, 8); - set_scan_lines(8); + set_character_height(8); } =20 static void handle_101114(struct bregs *regs) { stdvga_load_font(get_global_seg(), vgafont16, 0x100, 0, regs->bl, 16); - set_scan_lines(16); + set_character_height(16); } =20 static void --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org From nobody Fri May 17 12:14:32 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) client-ip=78.46.105.101; envelope-from=seabios-bounces@seabios.org; helo=coreboot.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of seabios.org designates 78.46.105.101 as permitted sender) smtp.mailfrom=seabios-bounces@seabios.org; dmarc=fail(p=none dis=none) header.from=koconnor.net Return-Path: Received: from coreboot.org (coreboot.org [78.46.105.101]) by mx.zohomail.com with SMTPS id 1711987033096596.1324673224949; Mon, 1 Apr 2024 08:57:13 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTPA id A2508229DB; Mon, 1 Apr 2024 15:57:08 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by coreboot.org (Postfix) with ESMTP id 6186D21C45 for ; Mon, 1 Apr 2024 15:54:31 +0000 (UTC) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) for ; Mon, 01 Apr 2024 08:54:31 -0700 (PDT) Received: from authenticated-user (PRIMARY_HOSTNAME [PUBLIC_IP]) by smtp.gmail.com with ESMTPSA id hg3-20020a05622a610300b004313b4ccfa6sm4627967qtb.13.2024.04.01.08.54.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 01 Apr 2024 08:54:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=koconnor.net; s=google; t=1711986870; x=1712591670; darn=seabios.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=e4sIOay3FSnLAGFlmjqvfz8wj/E5rPLszbsKa/Lg/3Q=; b=DLLxANI8cNuNhsFRGc3cYuSsnsDXgPsHebVU5ISuMo13c4VdpVTZoJzi7vXUij4xV4 bqWV4Me6ysJvdMBsebNLTUNbydWQo8c6uYQeSoLdG9juFyRTKOQTT1yOZ0xNEHl38nay nrt4GK394ycOjbT2W8nVC8qe9QAgK5FY9e4xI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711986870; x=1712591670; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=e4sIOay3FSnLAGFlmjqvfz8wj/E5rPLszbsKa/Lg/3Q=; b=Qty1R8k8ZxecyCG09vaEwdnNMnxf24lbfYlwwDqBsNtLmJtXwpRQ1tSFdNBFSioeuq f2h5TAC01EKAMTF3s/VtRxc1LPKK1fF9q7QQeCYXcAL0yW3bbGs4t9Fh18RZkaYj5tkt 3egxIe3Qdiii62dGJvkPr/3sHxkrDgs2XUgcdbyhBWPKkeIJM8kQ+M2ysvRoLUbUFZXF x2XHmxrazRUyBEZ+fOswko1s4HhUTe9dg8jKgvem8qpJJzjUdMHtbkxeiUg4jOipnaIl DHUDAduT6hvNSGboY7Y001EYKQpNQA9+QNRS2REu//2X9kl4VGAB3RbcA8RpgPXXk/pE l+Zw== X-Gm-Message-State: AOJu0Yyj9+gshlDD610d1Sdt97VfxVAwQyzfbCZ1wx6Yg3iuk+o7gFjP NyG5QXuT99txKCaEpxrpraUku4DyLf9+GU977CHSgjjazijbHu2uWg7qa7byoYJ4YMjqqoEGmH7 d X-Google-Smtp-Source: AGHT+IEOylzvo6c6q+XhsAAn8VAimtx0aTSqVSeJPzC6n7M0C8/xvzP4y8B7ukNQXQrRmb0QVNLscA== X-Received: by 2002:ac8:5c8f:0:b0:432:cf69:dc60 with SMTP id r15-20020ac85c8f000000b00432cf69dc60mr7737152qta.58.1711986870188; Mon, 01 Apr 2024 08:54:30 -0700 (PDT) From: Kevin O'Connor To: seabios@seabios.org Date: Mon, 1 Apr 2024 11:51:31 -0400 Message-ID: <20240401155420.880666-10-kevin@koconnor.net> In-Reply-To: <20240401155420.880666-1-kevin@koconnor.net> References: <20240401155420.880666-1-kevin@koconnor.net> MIME-Version: 1.0 X-Spam-Level: ** Message-ID-Hash: WNYMBDRQBQA3KQNEG5A7MXUTOO365TYE X-Message-ID-Hash: WNYMBDRQBQA3KQNEG5A7MXUTOO365TYE X-MailFrom: kevin@koconnor.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-seabios.seabios.org-0; header-match-seabios.seabios.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [SeaBIOS] [PATCH 9/9] stdvga: Rename stdvga_get_vde() to stdvga_get_vertical_size() List-Id: SeaBIOS mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Content-Transfer-Encoding: quoted-printable Authentication-Results: coreboot.org; auth=pass smtp.auth=mailman@coreboot.org smtp.mailfrom=seabios-bounces@seabios.org X-Spamd-Bar: --- X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1711987034262100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kevin O'Connor --- vgasrc/stdvga.c | 8 ++++---- vgasrc/stdvga.h | 2 +- vgasrc/vgabios.c | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/vgasrc/stdvga.c b/vgasrc/stdvga.c index 839bd06..991c791 100644 --- a/vgasrc/stdvga.c +++ b/vgasrc/stdvga.c @@ -275,15 +275,15 @@ stdvga_set_character_height(u8 lines) stdvga_crtc_mask(stdvga_get_crtc(), 0x09, 0x1f, lines - 1); } =20 -// Get vertical display end +// Get vertical screen size (number of horizontal lines in the display) u16 -stdvga_get_vde(void) +stdvga_get_vertical_size(void) { u16 crtc_addr =3D stdvga_get_crtc(); u16 vde =3D stdvga_crtc_read(crtc_addr, 0x12); u8 ovl =3D stdvga_crtc_read(crtc_addr, 0x07); - vde +=3D (((ovl & 0x02) << 7) + ((ovl & 0x40) << 3) + 1); - return vde; + vde +=3D ((ovl & 0x02) << 7) + ((ovl & 0x40) << 3); + return vde + 1; } =20 // Get offset into framebuffer accessible from real-mode 64K segment diff --git a/vgasrc/stdvga.h b/vgasrc/stdvga.h index 439930a..1828585 100644 --- a/vgasrc/stdvga.h +++ b/vgasrc/stdvga.h @@ -66,7 +66,7 @@ int stdvga_vram_ratio(struct vgamode_s *vmode_g); void stdvga_set_cursor_shape(u16 cursor_type); void stdvga_set_cursor_pos(int address); void stdvga_set_character_height(u8 lines); -u16 stdvga_get_vde(void); +u16 stdvga_get_vertical_size(void); int stdvga_get_window(struct vgamode_s *curmode_g, int window); int stdvga_set_window(struct vgamode_s *curmode_g, int window, int val); int stdvga_minimum_linelength(struct vgamode_s *vmode_g); diff --git a/vgasrc/vgabios.c b/vgasrc/vgabios.c index a68cae1..3659f01 100644 --- a/vgasrc/vgabios.c +++ b/vgasrc/vgabios.c @@ -138,8 +138,8 @@ set_character_height(u8 lines) { stdvga_set_character_height(lines); SET_BDA(char_height, lines); - u16 vde =3D stdvga_get_vde(); - u8 rows =3D vde / lines; + u16 vertical_size =3D stdvga_get_vertical_size(); + u8 rows =3D vertical_size / lines; SET_BDA(video_rows, rows - 1); u16 cols =3D GET_BDA(video_cols); SET_BDA(video_pagesize, calc_page_size(MM_TEXT, cols, rows)); --=20 2.44.0 _______________________________________________ SeaBIOS mailing list -- seabios@seabios.org To unsubscribe send an email to seabios-leave@seabios.org