q2K BHP
Black History Portal
THE BHP WIRE —
HIDDEN TRUTHS
What's New!
THE JOURNEY THROUGH TIME

Explore Black History

Explore the people, places, events, achievements, struggles and stories that shaped our journey.

✊🏾

Civil Rights

Movements, leaders, victories and the continuing fight for equality.

⚙️

Black Inventors

Innovation, patents, science, technology and world-changing contributions.

🏆

Sports

Pioneers, champions, Negro Leagues, records, activism and excellence.

♟️

People

Meet the people whose lives, choices and achievements shaped the journey.

📍

Places

Black towns, communities, institutions and places where history happened.

📜

Events

Moments that changed communities, movements, institutions and the nation.

Enter a person, place, event, or topic.
MY'STORY

The MOVE Fire

This is a personal recollection on the Move fire on May 13, 1985 Philadelphia police fired thousands of rounds at the MOVE house, city officials approved dropping an explosive device on the roof, the resulting fire was allowed to burn, 11 people—including five children—died, and 61 homes were destroyed. Philadelphia City Council later called it a “brutal attack carried out by the City of Philadelphia on its own citizens” and acknowledged that no individual faced criminal consequences for the bombing. One timeline correction worth preserving for the BHP record: the major previous MOVE-police confrontation was August 8, 1978, about seven years before the bombing, not a year or two earlier. Officer James Ramp was killed, other police and firefighters were wounded, nine MOVE members were later convicted, and television cameras recorded police beating Delbert Africa during his arrest. The 1985 MOVE Commission later specifically criticized city planners for failing to adequately use lessons from that 1978 confrontation. And that actually strengthens the point you’re making: 1985 did not happen without precedent or institutional memory. There had already been a deadly confrontation with MOVE, years of conflict, negotiations and police involvement before Osage Avenue.

MORE →
BLACK FACTS
The Truths They Never Taught You...

Wilmington 1898 — An American Coup

Wilmington, North Carolina once had a thriving Black middle class and an elected interracial government. In 1898 white supremacists used violence to overthrow that government, kill Black residents and drive many others from the city.

MORE →
BHP gathered finds from its connected research sources. Showing the 4 strongest Black History matches.
← BACK TO RESULTS
Wikipedia

Color BASIC

Color BASIC
Designed byBill Gates[1]
DeveloperMicrosoft
First appeared1980; 46 years ago (1980)
Stable release
Color BASIC 1.3 (1982)
Extended Color BASIC ("ECB") (1984)
Disk Extended Color BASIC ("DECB") (1984)
PlatformTRS-80 Color Computer

Color BASIC is the implementation of Microsoft BASIC that is included in the ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All-purpose Symbolic Instruction Code) is a high level language with simple syntax that makes it easy to write simple programs. Color BASIC is interpreted, that is, decoded as it is run.

Background

[edit]
Disk Extended Color BASIC 2.1 on a Tandy Color Computer 3

The nucleus of Color BASIC was Microsoft BASIC-69 which Tandy licensed from Microsoft. Color BASIC 1.0 was released with the original 4k TRS-80 Color Computer in 1980. It resides on 8k bytes of ROM, and is responsible for all 'housekeeping' duties on the system. This includes hardware initialization, memory management, interrupt processing, etc. Like most implementations of BASIC, each line of code starts with a line number and consists of one or more statements with variables and operators. 16k of memory is required for the next level of BASIC, Extended Color BASIC ("ECB"). Extended BASIC is required for the floppy disk controller, which then gives you Disk Extended Color BASIC ("DECB"). Emulators of the Color Computers running this interpreter and the others are available for modern computers, some of which require a "snapshot" file of the physical machine.[2]

Variables

[edit]

Color BASIC understands one type of numeric variable and string variables. Variable names in Color BASIC have the first two characters significant. The first character of the variable name must be a letter. The second can be either a letter or number. String variables are indicated by adding a dollar sign ($) after the variable name.

Examples

[edit]
A=5
A$="THIS IS A STRING"
K7=10
BB$="HELLO!"
ZZ=1.54

Numeric variables have only one type, a binary floating point implementation. Each numeric variable uses 5 bytes of memory and can be in the range from -1E+38 up to 1E+37.

Unlike most implementations of Microsoft BASIC, Color BASIC requires the user to reserve space for string variables via the CLEAR statement.

Multidimensional arrays are also supported with both numeric and string variables. In the case of an array, the element address is enclosed with a parenthesis:

A(1)=1
A$(1)="BOOKS"

Multiple dimensions are separated by commas

A(1,3)=4
A$(2,2)="XYZ123"

Operators and symbols

[edit]

Color BASIC provides several operators for both mathematic and, to a lesser extent, string operations.

+ can be used to concatenate strings or for mathematical addition
- is used for subtraction
* is used for multiplication
/ is used for division

Parenthesis ( ) are used to override mathematical order of operation

AND is used for logical 'and' operations
OR is used for logical 'or' operations
NOT is used for logical 'not' operations

For testing, the following operators are used:

= is equal to
> is greater than
< is less than
>= is greater than or equal to (also => is acceptable)
<= is less than or equal to (also =< is acceptable)
<> is not equal to (also >< is acceptable)

Other symbols used in BASIC:

" " indicates string data is a constant (static)
: separates multiple commands on a single program line
A semicolon, when encountered in a PRINT function, will cause the output to remain on the same line
A comma, when encountered in a PRINT function, will tab to the next column

Key

[edit]

num indicates a numeric expression is required. This can be a fixed number, a variable, or other operation or function that returns a numeric quantity.

str indicates a string expression is required. This can be a static string value (in quotes), a string variable, or other function or expression that returns a string of characters.

device number indicates a device. By default, device 0 (screen and keyboard) is assumed. In Color BASIC, device #-1 (cassette) and #-2 (printer) are available to the programmer.

Edit mode

[edit]

If you make a mistake typing in a line, you can either retype it from scratch (or DEL it).. or you can EDIT it. When in EDIT mode, you get a reprint of the line, and a second copy that you SPACEbar across chars. You cannot use arrow keys. backspace takes you left, but does not actually erase it in the buffer. 'i' puts you in insert mode. pressing return gets you out of it. 'c' changes one char, 'd' deletes one char. 'x' takes you to end of line, allowing you to e'x'tend it. 'l' redraws the line. 's' searches for the next instance of a character. For the 's', 'c' and 'd' commands you can also enter a number (#) before pressing any of them which will: 's' - search for the # instance of the character, 'c' - allow you to change # of characters, 'd' - delete # amount characters.

Functions

[edit]
ABS(num)
returns the absolute value of num
ASC(str)
returns the ASCII code of the first character in str
CHR$(num)
returns a single string character with the ASCII code num
EOF(device number)
returns 0 if the file has data, or -1 if at the end of the file
INKEY$
returns a character if a key on the keyboard has been pressed, or null if nothing is pressed
INT(num)
returns the integer portion of num
INSTR(startpos,search str,target str)
searches for the first string, in the target str. startpos is optional.
JOYSTK(num)
returns the position of the joystick axis (0-3) with a value from 0 to 63
LEFT$(str,num)
returns the first ("left") num characters of string str
LEN(str)
returns the length (in characters) of string str
MEM
returns the available free memory in bytes
MID$(str,start num,length num)
returns a sub-string of string str beginning at position start num and length num characters long. Can also reassign by adding ="newvalue"
PEEK(num)
returns the value of the memory location num (0-65535)
POINT(x num,y num)
returns the color of the semigraphics dot at position x numm (0-63) and y num (0-31)
RIGHT$(str,position num)
returns the end ("right") portion of string str beginning at character position num
RND(number)
returns a random number (integer) between 1 and num
SGN(num)
returns the sign of a number num, 1 if positive, -1 if negative, 0 if 0
SIN(num)
returns the sine of num in radians
STR$(num)
returns a string of the number num
USR(num)
calls a machine language subroutine whose address is stored in memory locations 275 and 276. num is passed to the routine, and a return value is assigned when the routine is done

Commands

[edit]
AUDIO [ON|OFF]
Connects or disconnects cassette audio from the TV sound
CLEAR variable space[,highest memory location]
reserves memory for string variables, and optionally, a machine language program
CLOAD ["name"]
loads BASIC program from cassette. If no name is specified, the next program is loaded
CLOADM ["name"]
loads machine language program from cassette. If no name is specified, the next program is loaded
CLOSE [device number]
closes a device (in Color BASIC this can only be #-1, the cassette)
CLS(num)
clears the screen. An optional color num (0-8) can be specified
CONT
continues a program after pressing BREAK or a STOP statement
CSAVE ["name"]
saves a BASIC program to cassette with optional name
DATA var,var,var...
stores data in a BASIC program for retrieval with the READ command
DIM variable(dimension[,dimension 2,...]
dimensions an array and reserves memory space for it
END
indicates the end of a BASIC program
EXEC
[memory address] executes the machine language program at memory address. If none specified, the execute address of the program loaded off tape is used
INPUT [device number] [{prompt text};] variable [,variable 2, variable n]
Waits for input from device number. If not specified, device 0 (keyboard) is assumed. An optional prompt can be printed on the screen for the input statement
LIST [starting line] - [ending line]
lists line(s) of your program. Either start or end can be omitted, or if both are omitted, the entire program will be listed
LLIST [starting line] - [ending line]
works like LIST, but outputs to the printer
MOTOR [ON|OFF]
turns the cassette motor on or off
NEW
erases contents of memory (program and variable)
ON {num} GOSUB line 1, line 2, ... line n
evaluates expression num and calls the numth subroutine listed
ON (num) GOTO line 1, line 2, ... line n
evaluates expression num and jumps to the numth line listed
OPEN "[I|O]",device number[,"filename"]
opens a device for communication
POKE memory address, data
writes data (0-255) into memory address (0-65535)
PRINT device number,expression
prints data to device specified. If omitted, #0 (screen) is assumed
PRINT @{screen position} expression
works like PRINT, but prints at the location specified (0-511)
READ variable[,variable,...]
reads the next variable(s) from the BASIC program embedded with DATA statements
RENUM NewStart num, OldStart num, Increment num
renumbers each line (optional Oldstart ) (with optional NewStart) of the program : at multiples of (optional num).: If all options are omitted, the list will use 10 for increment. : With a program with 10 lines, with 10 separation. 10,20,30,40,50,60,70,80,90,100: renum 100, 40, 2. This will renumber, Starting at line number 40. It will change all line number following and including 40 by 2. lines now 10,20,30,100,102,104,106,108,110, 112
RESET(x,y)
sets the semigraphics pixel at location x (0-63) and y (0-31) to black
RESTORE
resets the READ pointer back to the first DATA statement
RETURN
returns from a subroutine
RUN num
runs the BASIC program, optionally, at the line number specified
SET(x,y,color)
sets the semigraphics pixel at location x (0-63) y (0-31) to color (0-8)
SKIPF ["filename"]
skips over BASIC programs on tape until the program name specified is found
SOUND tone,duration
sounds a tone with frequency (1-255) and duration (1-255)
STOP
causes the program to stop executing
TAB(column)
tabs to the column specified (used with PRINT)
VAL(str)
returns the numeric value of a string that contains a number in string form

Control flow

[edit]
GOSUB {line number}
calls the subroutine at the line number specified
GOTO {line number}
jumps to the program's line number specified
IF {test} THEN {command(s)} [ELSE {command(s)}]
performs conditional test. If the test is true THEN commands are executed, otherwise (ELSE) other commands are executed. If the no ELSE is specified, and the test is false, the next line of the program will be run
FOR {num} = {number} TO {number} [STEP {number}]
...
NEXT (num)
creates a loop where the numeric variable (num) runs from start number to end number in increments of number (STEP). If step is omitted, 1 is assumed

Error Messages

[edit]
/0
division by zero
AO
file specified is already open
BS
bad subscript. subscript is out of DIM range
CN
can't continue (see CONT command)
DD
attempt to redimension an array
DN
invalid device number
DS
direct statement error (program has no line numbers)
FC
illegal function call: function contains a value that is out of range
FD
bad file data: attempt to read a number into a string value, etc.
FM
bad file mode, attempt to INPUT data to a file open for OUTPUT, etc.
ID
illegal direct: the specified command can only be run in a program
IE
input past end of file. See EOF
IO
input/output error
LS
long string: strings can only have 255 characters
NF
NEXT without FOR
NO
file not open
OD
out of data: attempt to read beyond the last DATA in the program
OM
out of memory
OS
out of string space: see CLEAR
OV
overflow: the number is out of range
RG
RETURN without GOSUB
SN
syntax error
ST
string operation too complex
TM
type mismatch (A$=3, A="CAT")
UL
attempt to GOTO or GOSUB to a line that doesn't exist

Documented ROM subroutines

[edit]

There are a few subroutines available for machine language programs in the Color BASIC ROM that are available for general purpose programming.

POLCAT
address [$A000]: polls keyboard for a character
CHROUT
address [$A002]: outputs a character to screen or device
CSRDON
address [$A004]: starts cassette and prepares for reading
BLKIN
address [$A006]: reads a block from cassette
BLKOUT
address [$A008]: writes a block to cassette
JOYIN
address [$A00A]: reads joystick values

References

[edit]
  1. ^ 80-U-S. Interviews Bill Gates of Microsoft, 80-U.S. - Volume IV Number 3 (1981-05)(80-Northwest Publishing)(US), Page 8. Most recently he completed the work on the Radio Shack color computer. He is most excited about the Extended Color Basic package he wrote.
  2. ^ MESS
Notes

Source: Wikipedia. Article content is retrieved live through the MediaWiki API.

No preview image
Wikipedia

Color BASIC

Color BASIC is the implementation of Microsoft BASIC that is included in the ROM of the Tandy/Radio Shack TRS-80 Color Computers manufactured between 1980 and 1991. BASIC (Beginner's All-purpose Symbolic Instruction Code) is a high level language with simple syntax that makes it easy to write simple programs. Color BASIC is interpreted, that is, decoded as it is run.

MORE →
No preview image
Wikipedia

Extended Color BASIC

Extended Color Basic is an update to the Color BASIC interpreter for the Radio Shack/Tandy TRS-80 Color Computer series, and is the default Basic interpreter for the Color Computer 2. The Color Computer Basic implementations are somewhat different for the versions of Basic which come with the other family of TRS-80 machines, namely Basic Levels I, II, and III. Assemblers and Pascal and C programming language compilers are available for the different machines in the series. Modified subsets of Color Basic may be found on many of the Radio Shack PC series of pocket computers (PC-1 to PC-4 by Sharp, PC-5, PC-6 to PC-8 by Casio) of the era. Color Basic was updated again for the Color Computer 3 and some sources refer to it as Enhanced Color Basic. A version containing routines for disk management known as Disk Color BASIC was also developed for these machines. Updates to the language include routines such as PLAY (for use with the sound facility), DRAW (for vector graphics and other things with lines) and other additions as well as undocumented functions such as those inherited originally from the original Color Basic to work with the semi-graphics modes. A fifth programming language for this series of computers is the Basic interpreter which runs on the Radio Shack/Tandy MC-10, a small computer marketed beginning in 1984.

MORE →
No preview image
Wikipedia

Disk Extended Color BASIC

Disk Extended Color Basic is an update to the Color BASIC interpreter for the Radio Shack/Tandy TRS-80 Color Computer series and is the default BASIC interpreter, and therefore the de facto operating system, for the Color Computer 3. The Color Computer Basic implementations are somewhat different for the versions of Basic which come with the other family of TRS-80 machines, namely Basic Levels I, II, and III. Assemblers and Pascal and C compilers are available for the different machines in the series. Modified subsets of Color Basic may be found on many of the Radio Shack PC series of pocket computers (PC-1 to PC-4 by Sharp, PC-5, PC-6 to PC-8 by Casio) of the era. Color Basic was updated again for the Color Computer 3 and some sources refer to this fourth as Enhanced Color Basic. This version containing routines for disk management is known as Disk Extended Color BASIC. Updates to the language include routines for disk management, therefore the name. A fifth programming language for this series of computers is the Basic interpreter which runs on the Radio Shack/Tandy MC-10, a small computer marketed beginning in 1984. Emulators of the Color Computers running this programme interpreter and the others are available for modern computers, some of which require a "snapshot" file of the physical machine.

MORE →
No preview image
Wikipedia

Basic Color Terms

Basic Color Terms: Their Universality and Evolution (1969; ISBN 1-57586-162-3) is a book by Brent Berlin and Paul Kay. Berlin and Kay's work proposed that the basic color terms in a culture, such as black, brown, or red, are predictable by the number of color terms the culture has. All cultures have terms for black/dark and white/bright. If a culture has three color terms, the third is red. If a culture has four, it has either yellow or green. (Note that this counts only the "basic" color terms. It does not include terms or descriptions such as "light blue", "carrot-colored", or "taupe". For more information, see the page on color terms.) Berlin and Kay posit seven levels in which cultures fall, with Stage I languages having only the colors black (dark–cool) and white (light–warm). Languages in Stage VII have eight or more basic color terms. This includes English, which has eleven basic color terms. The authors theorize that as languages evolve, they acquire new basic color terms in a strict chronological sequence; if a basic color term is found in a language, then the colors of all earlier stages should also be present. The sequence is as follows: Stage I: Dark-cool and light-warm (this covers a larger set of colors than just English "black" and "white".) Stage II: Red Stage III: Either green or yellow Stage IV: Both green and yellow Stage V: Blue Stage VI: Brown Stage VII: Purple, pink, orange, or gray The work has achieved widespread influence. However, the constraints in color-term ordering have been substantially loosened, both by Berlin and Kay in later publications and by various critics. Barbara Saunders questioned the methodologies of data collection and the cultural assumptions underpinning the research, as has Stephen C. Levinson.

MORE →
TOPIC OF THE DAY

Greenwood / Black Wall Street

Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.

MORE →
TRIVIA QUESTION OF THE DAY

Which heavyweight champion was known as the “Brown Bomber”?

Joe Louis.