CGA136.BAS 1/6

 BBS: Inland Empire Archive
Date: 06-14-93 (11:54)             Number: 394
From: PETER BARNEY                 Refer#: NONE
  To: GERALD RICHTER                Recvd: NO  
Subj: CGA136.BAS 1/6                 Conf: (2) Quik_Bas
GR>Is there a way to run a CGA card in 16-color mode? 4-
GR>colors is kinda tiring!
  >and does the code work with qb 4.00? If you've got some, send some. Thanx.

The following messages are some code that I was working on a couple years ago
when I had a cga monitor.  Included are a 16-color mode and a 136-color mode.

This should get you started in the right direction.

'________O_/________________________| SNIP |______________________\_O_______
'        O \                        | HERE |                      / O
'This file created by PostIt! v6.0.
'>>> Start of page 1.

DECLARE SUB Moire ()
DECLARE SUB Demo ()
DECLARE SUB GPrint (A$, x%, y%, Colr%, Size%)
DECLARE SUB Mode (M%, BG%)
DECLARE SUB PCircle (x%, y%, r%, c%)
DECLARE FUNCTION PixColr% (x%, y%)
DECLARE SUB PixSet (x%, y%, Colr%)
DECLARE SUB SaveScreen (f$)
DECLARE FUNCTION Sequence% (PickCol%)
DECLARE SUB Setup ()
DECLARE FUNCTION Spectral% (PickCol%)
DECLARE SUB TextDemo ()
DIM SHARED ModeNum

SCREEN 0

'=================== Main Code ===================

Begin:

    Setup  ' this creates the screen modes (do this only once)
    Mode 136, 0 ' or Mode 136 , Color


' This is where you would add your code.
    Demo
    TextDemo

Done:
    SOUND 1160, 2
    SLEEP
    WHILE INKEY$ = "": WEND
    SCREEN 0, 0
    END

'================= End Main Code =================
'
'
'initial data for 6845 chip (80 x 100 pixels)
'
DATA 113:  'register 0    horizontal total
DATA  80:  'register 1    horizontal displayed
DATA  90:  'register 2    horizontal sync position
DATA  10:  'register 3    horizontal sync width
DATA 127:  'register 4    vertical total
DATA   6:  'register 5    vertical adjust
DATA 100:  'register 6    vertical displayed
DATA 112:  'register 7    vertical sync position
DATA   2:  'register 8    interlace mode (non-interlaced)
DATA   1:  'register 9    maximum scan line address
DATA  32:  'register 10   cursor start (32 makes cursor
' invisible)
DATA   0:  'register 11   cursor end

DEFINT A-Z
SUB Demo
'draw screen (136 color demo)

' You MUST use this command to set up the screen properly.
' (note that the number may be changed, however)
Mode 136, 0


' draw Spectral circle
FOR r = 0 TO 19
     PCircle 60, 60, r, Spectral(r)
NEXT

'this one shows how to blend the two colors
FOR x = 0 TO 31
         FOR y = 0 TO 63
                c1 = Sequence(x \ 2 MOD 16)
                c2 = Sequence(y \ 4 MOD 16)
                Colr = c1 * 16 + c2             ' this blends
' color 1 with color 2
                PixSet x, y, Colr
        NEXT

'>>> Continued on page 2

 * Call PTS!  * If a tree fell on a deaf forester, would he make a sound?

--- TMail v1.31.3
 * Origin: Programmer's Tech Shop - Toledo, Ohio (1:234/56)
Outer Court
Echo Basic Postings

Books at Amazon:

Back to BASIC: The History, Corruption, and Future of the Language

Hackers: Heroes of the Computer Revolution (including Tiny BASIC)

Go to: The Story of the Math Majors, Bridge Players, Engineers, Chess Wizards, Scientists and Iconoclasts who were the Hero Programmers of the Software Revolution

The Advent of the Algorithm: The Idea that Rules the World

Moths in the Machine: The Power and Perils of Programming

Mastering Visual Basic .NET