delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/02/09/09:03:15

From: Airhead Zoom - Programmer <airhead_zoom AT hetnet DOT nl>
X-Priority: Normal
To: sletuffe AT iut DOT ujf-grenoble DOT fr
Subject: Re: Problem with video-Banks writing to Dos Memory
CC: djgpp AT delorie DOT com
X-Mailer: Pronto Pro [ver 1.00 (0225)Trio]
Mime-Version: 1.0
Message-ID: <04dea5403140929MCIS2MAIL1@hetnet.nl>
Date: 9 Feb 1999 15:03:55 +0100
Reply-To: djgpp AT delorie DOT com

> THIS IS A MESSAGE IN 'MIME' FORMAT.  Your mail reader does not support MIME.
> Please read the first section, which is plain text, and ignore the rest.

--Interpart.Boundary.11.22.33.M2Y2516
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

> >Hy there !
> >
> >	I am currently writing a programm (with DJGPPP of course !) where I need
> to access very 
> >quickly to the video memory...(like most of graphical programmers I think)
> >
> >I don't whant to use Allegro or other libs... I want to do it on my own !!
> >
> >
> >With the 320x200x8 graphical mode I have no problems ( of course there is
> only one bank )
> >
> >But with VESA mode like 101h,125h.. (640x480x8 800x600x8 and higher)
> >	I need to bank my memory (previously allocated with malloc() ) with a
> fast methode
> >The dosmemput() function looks fast enought and I don't think I will need
> an acces by out().
> >
> >BUT,
> >
> >When I want to bank all my memory the only way (I have) to do this is to
> use the 
> >
> >int 10h (with ax=0x4F05 and bx=0 and dx=bank number)
> >
Check out the function returned by modeinfo.
This is a VERY fast setwinpos function. Just have a look at this old TurboC 
source I've found rotting on my HDD somewhere.
I believe exactly THIS function must be changed.. Kill all 'far' keywords and 
the _BX isn't available in DJGPP. Just make an assembly function for it or 
something...

Don't have too much criticism, it's one of my first 'libs'. It can be linked to 
your program easily. Just make sure you translated it to DJGPP correctly.

Greetz,

Airhead Zoom of Dancing Pumpkin Productions
--Interpart.Boundary.11.22.33.M2Y2516
Content-Type: application/octet-stream; name="vesa.zip"
Content-Description: VESA functions -- no warranty provided....
Content-Transfer-Encoding: base64
Content-Disposition:  attachment; filename="vesa.zip"

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
5ZLS3gp8hq4kJXaSum3C9m/fy59Lf93L96/fteu4lms/1j+vhP112HbyRj5DPcbtdnc0GLfe
4U/qdKN2xsnJb9uv43+E54HgM9QhpdsRTxE48g+fo8FbTZrLpQSvPmnb63PDsO0zFCU1NJ6B
z/tJ93JvP/UO/wvH11a5n/oPkX0v5/84qU/CGkc+qc/QjSFtLTSIn5sVc5IbcxI9erpvoTr9
cbv1O28Yg/ag29Ma/nOi+wz1CWFQB12IWVRcVBxMrtqB7Y8bEnGYlCTy7f3cIidKp63Qkt7h
m9KWugI7+uMs4Uq3z1/zKnFY/n3UrxrbGzPWdCpwFAFsFX2kbei18mxI7hGe7Xqa5+0dIAQO
Fz1uNHTB9OWZUwfd9n+O+m88G6HT2r6VHxCvf102Gu95u/OYvDbRdrh/3IR7PyT+5O+1v1Tu
9VaqYN0/wr0+FHdRcQji5oa74b5Bx+tVjZQVajAiHnHY7at6PNBv/s/6570QeK/RfmyeNfbv
dX+71Rn0oobS+SF7Z9Lj2x3hWrm26ansJALjd1zD54XL//GVe7u/t/EqdvY8eLUr0YjnH/v0
4e1e0wvdRe54rP0uyw6nu5OfY649jp0t9ora9XdKfz53ja91bTwlmSz9kZErz/KvBecfv77/
QvzWJsm/3E0XaJ6vY6HwaYSrXt7r9wrT2Pg8/xPhuU7o9xP9e/9Kj8go4vHyXd63cFyF6B7T
5o6V1bnz3Y02KvORsJJkY2QlQBXY9d4i3PVIOdkxBNIe6z/3he2F3LX5/M1wi8WOf1i3dzno
BSOmNzUcddbla//umyz/HzDz7nZVr+M5/xuy+SqVb7it3TjgLR0NPRaO4AkjxvQqvYKRSRqp
1Z1LpX1bghFyUdlX5Zr367k/7U/yoZuAtFCu17KKdR1PouHcAu+Q7tU8zqqasa/H83lDnQq8
uWlSzyHYax3oSZrrgRpOAPYbfvFxvjk8pOYYYXCts2/DZFa2g5uwHRTZoYY5LLs7L6V5+bX5
EFPVcrQZDtINzeBih1k1Uu0QE7VDix3UMBuscuyNyoYiHrOxn/tGulgVNNKF51CTtBHcoYZZ
Gil4ZkEPb93hF8pDRN2eUuVqrJqHZ06Hk0zR35Hw9Rem5Yoqhgom82Hx1zG2jrDI11Hf4+X8
Za7aPni6n0p3sKl0h7kEYvR1Li6BsoToXTGKPRruc72UC6HTcKZTokPrxwBdN3xp7gjJfKTS
wSsfFzrMMsbnGr9dC/KBUTp45ONChw2zp8MM64LQLkzWxcnq6ubnfAqpL+h2yIrCnPzC8h7h
nnLaU5oDBQuYFPTw9QqppwlXLIX53NUwr3NHt014sOP1rtraZUzaBrnZrGJE1jvYVL0Dnap3
jrBfUn2NMR7L7gN4LfiFKG8BmElrwOpGvOPtnqlFR8oT2QYLvKyC+ieauOSlt+UZrPhzSfQD
XSwHPjx4v5/zYqNSVzPr5Ws19KnOKd/Bh+M7yND4DsHp4+ExXszC3OQY1oTb5jU3plEWrZau
8PfJWYTxeDjGowSHHuvzOWxVwviDye/WPsud/+9nDUdULxUqZZMH8uAVlVf63voJRpBnxw/z
xmR58nqkdlbLcE4w8DpOMzDNh0JZXcFoFpYH7eAhlansnmjHAPkVVuxo5zSwIubgyTgnq6FG
cnMrWFvHgsqdwLyjqGNOv0JWbE5ybN4o99aYbXgFOlQ20Js11WwrvM+mc5Kl8yY9jQRqb56O
zUmmzdvbj6n5lq2z8n9OZozP2lE6iVGZ5qZUyFyS/5f9N50pam/YVVCy00luZZpC9rSgDkeS
imqCc6iwuBh26+oQFaps47ZpXGCu8lPlT6Tgi1+F9Df8PjeEEASAYU42Myj/Et7n19hxYDHZ
l5+VcrhlIPVruy3FNVSzs0v1mq6pg1abZWDrtes+66XddaI6Bfmkb7+dyvBiHojV7b4PnmE4
Ayv1iB7wQMN4BsF5wDfP+eZrJNAAoOgL2Ei/BhCjHLcAB5fq9RaKvgWih9B6nsVMv8kzOpQ8
7iCI0D2D6MIXwTByzskNFfI8rsr6i/Pm5IBdPDkEnQYcMTvIrPX9y0+CvXjlWqk4CucF9Qlx
XA4NZSgHyUndTmvca4UylNEI2DNupOlH2tA9/4fEz7JzJjHyf+zGzrMN0Q4j9V0VuEeA39TL
eS0LiHFzrlah1RuVu5HwE3sDpp//1yecw95d9l4giajK9llXGlaac61G758TI/dzqlSXjIYo
eVza9mUnsgpLBlKXjHLA+ch7USEXmNNfyESG/VgFWIGSSvu7gSFRzUP6MOQXAqvny6SwMVj0
0fxRqeAHpmUKzGbOQ684s9DDeSP8AqMIww/V1G5UUGIfNyoBGoToKYEc4Yno4UBrY942DLHi
C+jBG3j1aj8L6ad587/CoanPsleQWFLToof2joseaAxhRK9tolCvm/Owc3/qnAeEtvmyb6IH
o1LzCndzWog7qlIQ0iuS8pTrT73+BWawScE9D+1S0Dj8eB6c3kIvqM0g8uX4OBlfqOcULr7Z
TjWPyQyc5wFee3BKPhd6XhyOlF/1WqnO531UKwtGQXAeiXk46inpcdGDAlpUjbovMoPmLSSf
oaWKvlO2x2jgRI+ZJQRwqejBqcALIFoA4SsAl1BLAwQKAAAABgDOgkMm4mdy+ooCAABuCAAA
CgAAAFRZUEVERUZTLkgNAgESIxQVNjdoiZrbPAUGEhNExfaW91+qBBEcVci1oQLjB5nU6VCm
VYkWBWk0KRPi7TRoE+Lt0kVwB0kUKtSTc0HSzQu3LNmyZpB3Wrdj2dZJ3mRBmk3Ltsz9Cg5d
xTMVHEWo4mvITIM6PVo16JGxHeTQl0NXrngGsL5GOUKtKhXq0ylC0iCbhl1z5k5LF2TZsHPT
lpWDpH4Lsk30DCMlB1nXTfU+68ZJ+xr1GHTq1KdDkwalWpRI1y316VEpYSgx9JQ/e9CxdOuG
Zcs2L0sQxdeGBAlX7tuzcsO2WUPfRZt2LBrrLcfsZhtWb56vUY5Gn0qJXRYcIeoOE7tFu33G
7q7bFu4a5HW8um6ydebutG/yXF9AVQrN4jU4XzfUsnSscKFl8YJEGTStXDRmqCW01rdv2zip
RQo5Q88VmeJrtCQRLSxs8EHGtPkSpsyXMXPmxPFZ6A7Z6KlUQUotajXp1KRPnbSNBQmz5gvh
+xrdyQUSUYYvoFXwHpnWrBtXOkiqWaHEZhc1OvXLZa76pC+wu0x1uODFiYLRCPJN52teZ/l3
iIc8F+1bOeRlneW+4+I/6ck2mHoxrTrYCMHpOazaSVxV00WzquQcsi0adLZvSnPRxPLcCSLa
tJmtqFdxFI7cbvM0W/HGMz2puHa3jXkzBTRwdq10raCx5bljLfDK48XmUVdrAfdO8iYjHgLf
eDLjje80gry8lWI03DCtVlNuNlUuvPsO8UazZKNXZR6S+62ZJQOTjTP6Df7L6STeRnnPAVOX
nYO/OqV8KY4hwY0LTh1hilHHDOH33LJtxcgfGatc7WKfLTMN8zQ4bcAgU+SJtXHssDNlnBm4
dcgzzHmZ1qnYqa1DczCL7VBLAQILAAoABgAGAIpzSSabr49YyBAAANR5AAAGAAAAAAAAAAEA
IAAAAAAAAABWRVNBLkNQSwECCwAKAAYABgBTikUm578j+5IIAAAkHgAABgAAAAAAAAABACAA
AADsEAAAVkVTQS5IUEsBAgsACgAAAAYAzoJDJuJncvqKAgAAbggAAAoAAAAAAAAAAQAgAAAA
ohkAAFRZUEVERUZTLkhQSwUGAAAAAAMAAwCgAAAAVBwAAAAA
--Interpart.Boundary.11.22.33.M2Y2516--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019