public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Timothy Miller <miller@techsource.com>
To: "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>
Cc: Helge Hafting <helgehaf@aitel.hist.no>,
	John Bradford <john@grabjohn.com>,
	chakkerz@optusnet.com.au,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [OT] Crazy idea:  Design open-source graphics chip
Date: Fri, 30 Jan 2004 12:40:38 -0500	[thread overview]
Message-ID: <401A9716.3040607@techsource.com> (raw)
In-Reply-To: <Pine.LNX.4.55.0401301812380.10311@jurand.ds.pg.gda.pl>



Maciej W. Rozycki wrote:
> On Fri, 30 Jan 2004, Timothy Miller wrote:
> 
> 
>>>Another reason to drop VGA then - money.
>>
>>As soon as PC BIOS's don't require it, we can drop it.
> 
> 
>  No PC BIOS recognizes a VGA.  The PC/AT firmware uses int 0x10 to
> communicate with the console and as long as there is a handler there,
> console output works.  Most systems will actually run without a handler,
> too, but they'll usually complain to the speaker.  The handler is provided
> by the ROM firmware of the primary graphics adapter.
> 
>  Old PC/AT firmware actually did recognize a few display adapters, namely
> the CGA and the MDA which had no own firmware.  These days support for
> these option is often absent, even though the setup program may provide an
> option to select between CGA40/CGA80/MDA/none (the latter being equivalent
> to an option such as an EGA or a VGA, providing its own firmware).
> 

You're not entirely correct here.  I attempted to write a VGA BIOS for a 
card which did not have hardware support for 80x25 text.

I first tried intercepting int 0x10.  I quickly discovered that most DOS 
programs bypass int 0x10 and write directly to the display memory.  As a 
result, very little of what should have displayed actually did.

Next, I tried hanging off this timer interrupt.  I had two copies of the 
text display, "now" and "what it was before".  I would compare the 
characters and render any differences.  This worked quite well for DOS, 
but the instant ANY OS switched to protected mode, they took over the 
interrupt and all console messages stopped.  Actually, the same was true 
for int 0x10.

Even just the DOS shell command-line tends to bypass int 0x10 and write 
directly to display memory.

Furthermore, 640x480x16 simply won't happen at all without direct 
hardware support.  Some things rely on that (or mode X or whatever) for 
initial splash screens.

In the PC world, too many assumptions are made about the hardware for 
any kind of software emulation to work.

The suggestion that a general-purpose CPU on the graphics card could be 
used to emulate it is correct, but the logic area of the general-purpose 
CPU is greater than that of the dedicated VGA hardware.  Furthermore, 
you can't just "stick a Z80 onto the board", because multi-chip 
solutions up the board cost too much.


  reply	other threads:[~2004-01-30 17:38 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-01-28 17:34 [OT] Crazy idea: Design open-source graphics chip Timothy Miller
2004-01-29  1:11 ` Christian Unger
2004-01-29 15:59   ` Stephen Smoogen
2004-01-29 16:07     ` Maciej Soltysiak
2004-01-29 16:21     ` John Bradford
2004-01-29 16:13   ` Timothy Miller
2004-01-29 16:29     ` John Bradford
2004-01-29 16:52       ` Timothy Miller
2004-01-29 17:18         ` John Bradford
2004-01-29 17:47           ` Timothy Miller
2004-01-29 18:55             ` John Bradford
2004-01-29 19:11               ` Timothy Miller
2004-01-29 21:36                 ` John Bradford
2004-01-29 21:36                   ` Timothy Miller
2004-01-30 10:36                 ` Helge Hafting
2004-01-30 17:02                   ` Timothy Miller
2004-01-30 17:20                     ` Maciej W. Rozycki
2004-01-30 17:40                       ` Timothy Miller [this message]
2004-01-30 18:11                         ` Maciej W. Rozycki
2004-01-30 18:21                           ` Timothy Miller
2004-01-30 19:09                             ` Maciej W. Rozycki
2004-01-30 21:09                         ` Helge Hafting
2004-01-30 21:23                           ` Timothy Miller
2004-01-31 17:32                             ` John Bradford
2004-01-31 18:39                             ` Roland Dreier
2004-01-30 17:23                     ` Måns Rullgård
2004-01-30 17:44                       ` Timothy Miller
2004-01-30 19:01                     ` John Bradford
2004-01-30 21:19                     ` Helge Hafting
2004-02-01 10:36                 ` Geert Uytterhoeven
2004-02-01 11:06                   ` John Bradford
2004-02-01 11:46                     ` Måns Rullgård
2004-02-01 22:41                   ` Christian Unger
2004-02-02 17:13                   ` Timothy Miller
2004-02-02 17:11                     ` Geert Uytterhoeven
2004-01-30 16:54               ` Jesse Pollard
2004-02-01 10:35         ` Geert Uytterhoeven
2004-02-02 17:03           ` Timothy Miller
2004-01-29 16:30     ` Richard B. Johnson
2004-01-29 16:58       ` Timothy Miller
2004-01-29 18:08         ` Frank Gevaerts
2004-01-30 22:35           ` Esben Stien
2004-01-29 18:06     ` Torrey Hoffman
2004-01-29 18:58       ` Timothy Miller
2004-01-31 18:41     ` Pavel Machek
2004-01-31 18:15 ` Tomas Zvala
  -- strict thread matches above, loose matches on Subject: below --
2004-02-01 14:58 DaMouse Networks
2004-02-02 17:16 ` Timothy Miller
2004-02-02 17:37   ` DaMouse Networks
2004-02-02 18:45     ` Timothy Miller
2004-02-02 19:43       ` DaMouse Networks

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=401A9716.3040607@techsource.com \
    --to=miller@techsource.com \
    --cc=chakkerz@optusnet.com.au \
    --cc=helgehaf@aitel.hist.no \
    --cc=john@grabjohn.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=macro@ds2.pg.gda.pl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox