From de087a68310f656a0d2317065eedc49cea9280b3 Mon Sep 17 00:00:00 2001 From: sparky4 Date: Sun, 18 May 2014 16:14:40 -0500 Subject: [PATCH] modified: 16/DOS_GFX.EXE modified: 16/dos_gfx.cpp modified: 16/dos_gfx.h --- 16/DOS_GFX.EXE | Bin 27992 -> 27598 bytes 16/dos_gfx.cpp | 187 ++++++++++++++++++++++++++++++++++++++++++------- 16/dos_gfx.h | 4 +- 3 files changed, 164 insertions(+), 27 deletions(-) diff --git a/16/DOS_GFX.EXE b/16/DOS_GFX.EXE index 469e3a8b28162d678e871dcda1105622af6bb2aa..d93fb11fa129b4fb6be1c07f7a678844e63ac2ee 100644 GIT binary patch delta 8995 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 delta 9508 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 diff --git a/16/dos_gfx.cpp b/16/dos_gfx.cpp index 3853cd3d..360137ed 100644 --- a/16/dos_gfx.cpp +++ b/16/dos_gfx.cpp @@ -45,7 +45,7 @@ #if !defined(__COMPACT__) # if !defined(__LARGE__) # if !defined(__HUGE__) -# error Large data model required! Try compiling with 'bcc -ml lib.c'. +# error Large data model required! Try compiling with 'wcc -0 -ml lib.c'. # endif # endif #endif @@ -145,7 +145,49 @@ void set320x200x256_X(void) /* By default we want screen refreshing and drawing operations to be based at offset 0 in the video segment. */ - actStart = visStart = 0; + actStart = visStart = 0; + + /* +-------------------- +HORIZONTAL SCROLLING +-------------------- +Horizontal scrolling is essentially the same as vertical scrolling, all +you do is increment or decrement the VGA offset register by 1 instead of +80 as with vertical scrolling. + +However, horizontal scrolling is complicated by two things + + 1. Incrementing the offset register by one actually scrolls by FOUR + pixels (and there are FOUR planes on the VGA, what a coincidence) + + 2. You can't draw the image off the screen and then scroll it on + because of the way the VGA wraps to the next row every 80 bytes + (80 bytes * 4 planes = 320 pixels), if you tried it, you would + actually be drawing to the other side of the screen (which is + entirely visible) + +I'll solve these problems one at a time. + +Firstly, to get the VGA to scroll by only one pixel you use the horizontal +pixel panning (HPP) register. This register resides at + + PORT: 3C0H + INDEX: 13h + +and in real life, you use it like this + +----------------- Pixel Panning --------------- +IN PORT 3DAH (this clears an internal + flip-flop of the VGA) +OUT 13H TO PORT 3C0H +OUT value TO PORT 3C0H (where "value" is the + number of pixels to offset) +----------------------------------------------- +*/ + inp(0x3DA) + outpw(0x3C0, 0x13); + outpw(0x3C0, 0x58); + } /* @@ -236,8 +278,8 @@ void set320x240x256_X(void) outpw(0x3D4, 0xAC11); /* vertical retrace end AND wr.prot */ outpw(0x3D4, 0xDF12); /* vertical display enable end */ outpw(0x3D4, 0xE715); /* start vertical blanking */ - outpw(0x3D4, 0x0616); /* end vertical blanking */ - + outpw(0x3D4, 0x0616); /* end vertical blanking */ + /* Update mode info, so future operations are aware of the resolution */ height = 240; @@ -267,25 +309,118 @@ void vScroll(int rows) // Scrolling = current start + (rows * bytes in a row) setVisibleStart(visStart + (rows * width)); } + +void scrolly(int bong) +{ + int boing=0; + if(bong<0) + boing=-1; + else if(bong>0) + boing=1; + else break; + + for(int i=0;i= (200 * 80) THEN OFFSET = 0 - DRAW TO ROW 200 - SET VGA OFFSET = OFFSET - DRAW TO ROW -1 (was row 0 before scroll) -END WHILE*//* -void scrolly(){ - int OFFSET = 0 - WHILE NOT FINISHED DO - OFFSET = OFFSET + 80 - IF OFFSET >= (240 * 80) THEN OFFSET = 0 - RAW TO ROW 240 - SET VGA OFFSET = OFFSET - DRAW TO ROW -1 (was row 0 before scroll) - } -} */ //--------------------------------------------------- // @@ -293,7 +428,7 @@ void scrolly(){ // // You need a font if you are going to draw text. // - +/* int far * getFont() { @@ -343,7 +478,7 @@ void drawText(int x, int y, int color, byte string) string++; } } - +*/ ///////////////////////////////////////////////////////////////////////////// // // // setvideo() - This function Manages the video modes // @@ -422,11 +557,11 @@ int ding(int q){ if(yy