Return to BSD News archive
Newsgroups: comp.os.386bsd.development Path: sserve!newshost.anu.edu.au!munnari.oz.au!news.Hawaii.Edu!ames!agate!howland.reston.ans.net!xlink.net!gmd.de!mururoa!veit From: veit@mururoa.gmd.de (Holger Veit) Subject: Re: Doing a screen write from Protected Mode Message-ID: <1993Aug24.141400.19414@gmd.de> Sender: veit@mururoa (Holger Veit) Nntp-Posting-Host: mururoa Organization: GMD - German National Research Center for Computer Science References: <MAILQUEUE-101.930824092308.288@AA.csc.peachnet.edu> Date: Tue, 24 Aug 1993 14:14:00 GMT Lines: 28 In article <MAILQUEUE-101.930824092308.288@AA.csc.peachnet.edu>, NEWCOMBE@AA.csc.Peachnet.EDU ("Dan Newcombe" ) writes: |> [I know this is a little of subject, but please bear with me] |> |> |> I am working on program that will run in protected mode. I have |> it in protected mode already and the code is being attached to |> the protected mode statup code via gcc and a few other things. |> |> But how would I do a write to the screen once I'm in protected mode? |> I know that BIOS interuppts won't work, and that I basically need |> to write to the address's starting at the video display b8000h, but |> what do I need to do, as just moving a value there does nothing and |> I keep having to press reset. You need to declare a LDT or GDT segment pointing to the physical screen base 0xb8000, and then you should be able to write to the screen via a far pointer using the corresponding selector. Whether this actually succeeds is highly OS dependent (you didn't say whether you use e.g. *BSD/Linux or DOS with djgpp). At least the Unixes will prevent you from doing this without further preparation. -- Dr. Holger Veit | INTERNET: Holger.Veit@gmd.de | | / GMD-SET German National Research | Phone: (+49) 2241 14 2448 |__| / Center for Computer Science | Fax: (+49) 2241 14 2342 | | / P.O. Box 13 16 | Had a nightmare yesterday: | |/ Schloss Birlinghoven | My system started up with 53731 St. Augustin, Germany | ... Booting vmunix.el ...