TIP: Click on subject to list as thread! ANSI
echo: power_bas
to: ALL
from: KURT KUZBA
date: 1996-08-26 15:01:00
subject: Is anybody out there?

Test message to monitor system connectivity. Also a neat graphic! :)
'_|_|_|   BIGPAL.BAS
'_|_|_|   This program uses a 32K rotating palette.
'_|_|_|   No warrantee or guarantee is given or implied.
'_|_|_|   Released to   PUBLIC DOMAIN   by Kurt Kuzba.  (8/25/96)
DECLARE SUB Vmode(a%)
DECLARE SUB BCircle (xc%, yc%, r%, c%)
DECLARE SUB PutDot (x%, y%, c%)
'$LIB -all
HIGH% = 200: WIDE% = 320
DIM RED(32767) AS STRING * 1
DIM BLU(32767) AS STRING * 1
DIM GRN(32767) AS STRING * 1
RANDOMIZE TIMER
Vmode 19
H% = 159
FOR CRCL% = 1 TO 200
   BCircle H%    , 99, (201 - CRCL%), (CRCL%)
   BCircle H% + 1, 99, (201 - CRCL%), (CRCL%)
   BCircle H% - 1, 99, (201 - CRCL%), (CRCL%)
   IF (CRCL% AND 1) = 0 THEN H% = H% - 1
NEXT
RC% = RND * 63: GC% = RND * 63: BC% = RND * 63
RD% = 1: GD% = 1: BD% = 1
FOR PAL% = 0 TO 32766
   R% = RC%: G% = GC%: B% = BC%
   IF R% < 0 THEN R% = 0
   IF G% < 0 THEN G% = 0
   IF B% < 0 THEN B% = 0
   RED(PAL%) = CHR$(R%): GRN(PAL%) = CHR$(G%): BLU(PAL%) = CHR$(B%)
   IF RC% = 63 THEN RD% = -1
   IF GC% = 63 THEN GD% = -1
   IF BC% = 63 THEN BD% = -1
   IF RC% < -1 THEN RD% =  1
   IF GC% < -4 THEN GD% =  1
   IF BC% < -7 THEN BD% =  1
   RC% = RC% + RD%: GC% = GC% + GD%: BC% = BC% + BD%
NEXT
HUE% = 0: SOUND 999, 1
DO
   WHILE (INP(&H3DA) AND 8) = 0: WEND
   WHILE (INP(&H3DA) AND 8) > 0: WEND
   FOR PAL% = 1 TO 200
      OUT &H3C8, PAL%
      OUT &H3C9, ASC(RED((PAL% + HUE%) MOD 32766))
      OUT &H3C9, ASC(GRN((PAL% + HUE%) MOD 32766))
      OUT &H3C9, ASC(BLU((PAL% + HUE%) MOD 32766))
   NEXT
   HUE% = (HUE% + 1) MOD 32766
   WHILE (INP(&H3DA) AND 8) = 0: WEND
   WHILE (INP(&H3DA) AND 8) > 0: WEND
LOOP WHILE INKEY$ = ""
Vmode 3
SUB BCircle (xc%, yc%, r%, c%)
'_|_|_|   Bresenham Circle Drawing Algorithm
'_|_|_|   Adapted from BRESNHAM.C in Bob Stout's SNIPPETS.
   SHARED WIDE%, HIGH%
   x% = 0: d% = 2 * (1 - r%): W% = 2 * WIDE% \ HIGH%
   WHILE r% >= 0
      PutDot xc% + x%, yc% + r%, c%
      PutDot xc% + x%, yc% - r%, c%
      PutDot xc% - x%, yc% + r%, c%
      PutDot xc% - x%, yc% - r%, c%
      IF (d% + r%) > 0 THEN r% = r% - 1: d% = d% - W% * r% - 1
      IF x% > d% THEN x% = x% + 1: d% = d% + 2 * x% + 1
   WEND
END SUB
SUB PutDot (x%, y%, c%)
   SHARED WIDE%, HIGH%
   IF (y% >= HIGH%) or (x% >= WIDE%) THEN EXIT SUB
   IF (y% < 0) or (x% < 0) THEN EXIT SUB
   DEF SEG = &HA000
   POKE y% * WIDE% + x%, c%
END SUB
SUB Vmode(a%)
   DIM m as STRING * 1
   m = CHR$(a% AND 255)
   !  mov   ah, &H00
   !  mov   al, m
   !  int   &H10
END SUB
'_|_|_|   end   BIGPAL.BAS
---
> ] Opossums on the Information Rustic Road.....................
---
---------------
* Origin: Exec-PC BBS > World's Largest BBS (414-789-4360) < (1:154/280)

SOURCE: echomail via exec-pc

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.