Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

OFFICIAL USAGE MANUAL

1000-BIT AND ITS AFFILIATES ARE THE PROPERTY OF GRINK, INC.


PART ​1​: BINARY
THE 1000-BIT CALCULATING MACHINE OPERATES
ON BINARY, A TWO-DIGIT POSITIONAL SYSTEM.
ANY DIGITS ENTERED OTHER THAN 0 OR 1 WILL
NOT BE INTERPRETED AS NUMBERS. IN THIS
MANUAL, NUMBERS IN BLUE ARE IN DECIMAL,
OTHERWISE THEY ARE IN BINARY.
BINARY IS ESSENTIALLY THE SAME AS DECIMAL,
WHICH MOST PEOPLE USE EVERY DAY, EXCEPT
THERE ARE ONLY ​2​ DIGITS. EXAMPLE:
0 = 0
1 = 1
2 = 10
3 = 11
4 = 100
5 = 101
6 = 110
7 = 111
8 = 1000
NOTICE HOW WHENEVER 1 IS TO BE ADDED TO THE
RIGHTMOST SPACE, IF THERE IS ALREADY A 1
THERE, IT BECOMES 0 AND THE SPACE ON THE
LEFT INCREASES BY 1; LIKE IN DECIMAL, WHERE
IF THERE IS A ​9​, IT BECOMES ​0​ AND THE SPACE
ON THE LEFT INCREASES BY ​1​.
IN DECIMAL, THE DIGITS IN ORDER FROM RIGHT
TO LEFT REPRESENT THE NUMBER OF ONES, TENS,
HUNDREDS, THOUSANDS, ETC. I.E. LARGER AND
LARGER POWERS OF TEN.
IN THE SAME WAY, IN BINARY, THE DIGITS IN
ORDER FROM RIGHT TO LEFT REPRESENT THE
NUMBER OF ONES, TWOS, FOURS, EIGHTS, ETC.
I.E. LARGER AND LARGER POWERS OF TWO.
THIS CAN BE USED TO CONVERT BETWEEN THESE
TWO NUMBER SYSTEMS, E.G.

10100​ =
1​ * ​16​ + 0
​ ​ * ​8​ + ​1​ * ​4​ + ​0​ * ​2​ + ​0​ * ​1​ =
16​ + ​0​ + 4​ ​ + 0
​ ​ + 0
​ ​ =
20​.

FOR CONVENIENCE OF ITS PROGRAMMERS, THE


1000-BIT COMPUTATIONAL MACHINE PROVIDES A
BINARY-DECIMAL CONVERTER WHICH CAN BE USED
BOTH IN THE MAIN SCREEN AND WHILE
PROGRAMMING TO CONVERT NUMBERS BETWEEN
THESE TWO SYSTEMS IN EITHER DIRECTION.
PART ​2​: SYNTAX
THE SEMICOLON ;
SEMICOLONS DENOTE WHERE ONE STATEMENT ENDS
AND ANOTHER ONE BEGINS. IT IS RECOMMENDED
TO SEPARATE EVERY STATEMENT WITH A
SEMICOLON AND A LINE BREAK. HOWEVER, A
SKILLED PROGRAMMER MAY CONTRACT SOME OF
THEIR CODE INTO A SINGLE LINE. ONE MAY ALSO
WRITE A SINGLE STATEMENT THROUGHOUT
MULTIPLE LINES. THE ONLY OTHER USE FOR
SEMICOLONS IS ​RAISE​ LOOPS, WHICH WILL BE
DISCUSSED IN PART ​3​.

PARENTHESES ()
PARENTHESES ACT JUST AS IN ARITHMETIC - THE
EXPRESSION INSIDE A PARENTHESIS IS
EVALUATED BEFORE THE ONE OUTSIDE IT.

SQUARE BRACKETS []
SQUARE BRACKETS ARE USED TO SET AND RECEIVE
THE VALUE OF A SINGLE BIT OF A VARIABLE.
THE VALUE INSIDE THE BRACKETS SIGNIFIES
WHICH BIT IS READ OR SET, STARTING FROM THE
RIGHTMOST ONE AND MOVING TO THE LEFT.
CURLY BRACKETS / BRACES ​{}
CURLY BRACKETS SIGNIFY THE BEGINNINGS AND
ENDS OF LOOPS, WHICH WILL BE DISCUSSED IN
PART ​3​. ALTERNATIVELY, THEY CAN BE REPLACED
WITH ​BEGIN​ AND ​END​.

COMMENTS ​#
COMMENTS ARE STATEMENTS THAT DO NOT DO
ANYTHING IN THE CODE ITSELF, BUT ARE PURELY
FOR THE PROGRAMMER TO PLACE FOR THEIR OWN
UNDERSTANDING OF THE PROGRAM. THEY ARE
DENOTED WITH A HASH AND COMMENT OUT THE
WHOLE LINE.
NOTE:​ ONE MAY COMMENT OR UNCOMMENT A LINE
OR NUMBER OF LINES BY PRESSING CTRL+K OR
CTRL+SHIFT+K.

BREAKPOINTS ​@
BREAKPOINTS CAN BE PLACED ANYWHERE WITHIN
THE CODE, AND IMMEDIATELY PAUSE THE PROGRAM
ONCE THE EXECUTOR REACHES THAT LINE.
NOTE:​ CTRL-CLICKING A ROW IN THE INPUT OR
OUTPUT WILL CAUSE THE PROGRAM TO RUN AND
PAUSE ONCE THE CURSOR REACHES THAT ROW.
SETTING VARIABLES
ONE MAY SET A VARIABLE TO A GIVEN AMOUNT BY
SIMPLY STATING THE AMOUNT AFTER THE
VARIABLE NAME, E.G. ​V​ 1 (SET ​V​ TO 1).

OPERATORS
OPERATORS USUALLY TAKE TWO VALUES AND
RETURN ONE VALUE. THE VALUES MUST BE PLACED
ON EITHER SIDE OF THE OPERATOR, E.G.
VAL0​ AND ​VAL1
THE OPERATORS WILL BE DISCUSSED IN PART ​3​.
IN ADDITION, THERE IS THE ​NOT​ OPERATOR,
WHICH TAKES EITHER ONE VALUE OR ONE
OPERATOR, AND THE ​BOOL​ AND ​SIZE​ OPERATORS
WHICH TAKE ONLY ONE VALUE.
BITWISE OPERATORS WORK JUST LIKE NORMAL
OPERATORS, BUT GO THROUGH NUMBERS BIT BY
BIT AND PERFORM OPERATIONS ON THEM.
NOTE:​ THE SYNTAX USES LEFT-GROUPING
PRECEDENCE, WHICH MAY CAUSE UNEXPECTED
RESULTS WITH INDICES, SUCH AS:
A​[0] ​AND​ ​B​[0]
BEING READ AS:
(​A​[0] ​AND​ ​B​)[0]
PART ​3​: KEYWORDS
BUILT-IN VARIABLES
IN​ - READ-ONLY VARIABLE
RETURNS THE VALUE OF THE CURRENT INPUT

OUT​ - WRITE-ONLY VARIABLE


USED TO SET THE CURRENT OUTPUT

FUNCTIONS
UP​/​DOWN​ ​VALUE​ - MOVES THE CURSOR UP OR DOWN
BY THE GIVEN AMOUNT

BREAK​ ​VALUE​ - BREAKS OUT OF THE GIVEN


NUMBER OF (NESTED) LOOPS

OPERATORS
BOOL​ - RETURNS WHETHER THE NUMBER IS
GREATER THAN 0; CAN BE REPLACED WITH ?

SIZE​ - RETURNS THE LENGTH IN BITS OF THE


NUMBER; CAN BE REPLACED WITH $
LOOPS
IF​ ​CONDITION​ - EXECUTES THE GIVEN CODE ONCE
IF THE GIVEN CONDITION IS MET, OTHERWISE
SKIPS IT

ELSE​ - CAN BE PLACED AFTER AN ​IF​ LOOP;


EXECUTES THE GIVEN CODE ONCE IF THE
PREVIOUS ​IF​ LOOP WAS ​NOT​ EXECUTED,
OTHERWISE SKIPS IT; ​ELIF​ IS A SHORT FORM OF
ELSE IF​;

WHILE​ ​CONDITION​ - PERPETUALLY EXECUTES THE


GIVEN CODE UNTIL THE GIVEN CONDITION IS NOT
MET; IF THE CONDITION IS NOT MET FROM THE
START, THE CODE IS SKIPPED

TIMES​ ​NUMBER​ - EXECUTES THE GIVEN CODE THE


GIVEN NUMBER OF TIMES
NOTE:​ THE VALUE IS ONLY READ THE FIRST
TIME; IF THE VALUE IS CHANGED DURING THE
LOOP, IT WILL NOT CHANGE HOW OFTEN THE LOOP
WILL BE EXECUTED
RAISE​ ​VARIABLE​; ​INITIAL​; ​FINAL​; - SETS THE
GIVEN VARIABLE TO THE GIVEN INITIAL VALUE
AND THEN EXECUTES THE GIVEN CODE
PERPETUALLY, INCREMENTING THE GIVEN
VARIABLE BY 1, CONTINUING AS LONG AS THE
VARIABLE IS LESS THAN THE FINAL VALUE
NOTE:​ THE GIVEN VARIABLE DOES NOT HAVE TO
BE DEFINED BEFOREHAND
NOTE:​ THE ARGUMENTS MUST BE SEPARATED BY ;
NOTE:​ THE FINAL VALUE IS THE ​FIRST​ VALUE OF
THE VARIABLE THAT THE CODE WILL ​NOT​ BE
EXECUTED UPON

LOWER​ ​VARIABLE​; ​INITIAL​; ​FINAL​; - THIS LOOP


IS THE OPPOSITE OF THE ​RAISE​ LOOP: THE
VARIABLE STARTS OUT AS THE INITIAL VALUE
MINUS 1, IS DECREMENTED EACH STEP, AND
STOPS ONCE THE VARIABLE IS LESS THAN THE
FINAL VALUE.
COMPARISON OPERATORS
EQUAL/SAME​ - RETURNS 1 IF BOTH ARGUMENTS
ARE EQUAL, OTHERWISE 0; CAN BE REPLACED
WITH =

LESS​ - RETURNS 1 IF THE ARGUMENT ON THE


LEFT IS SMALLER THAN THE ARGUMENT ON THE
RIGHT, OTHERWISE 0; CAN BE REPLACED WITH <
NOTE:​ ≤ DOES NOT EXIST; USE !> INSTEAD

MORE​ - RETURNS 1 IF THE ARGUMENT ON THE


LEFT IS GREATER THAN THE ARGUMENT ON THE
RIGHT, OTHERWISE 0; CAN BE REPLACED WITH >
NOTE:​ ≥ DOES NOT EXIST; USE !< INSTEAD
BITWISE OPERATORS
NOT​ - RETURNS 1 IF THE ARGUMENT IS EQUAL TO
0 AND RETURNS 0 IF THE ARGUMENT IS GREATER
THAN 0; CAN ALSO BE USED TO NEGATE OTHER
OPERATORS; CAN BE REPLACED WITH !

AND​ - RETURNS 1 IF BOTH ARGUMENTS ARE


GREATER THAN 0; CAN BE REPLACED WITH &; ​NOT
AND​ CAN BE REPLACED WITH ​NAND

OR​ - RETURNS 1 IF AT LEAST ONE OF THE


ARGUMENTS IS GREATER THAN 0; CAN BE
REPLACED WITH /; ​NOT OR​ CAN BE REPLACED
WITH ​NOR

XOR​ - RETURNS 1 IF AT ONLY ONE OF THE


ARGUMENTS IS GREATER THAN 0; CAN BE
REPLACED WITH |; ​NOT XOR​ CAN BE REPLACED
WITH ​XNOR​ OR ​NXOR

LEFT​/​RIGHT​ - SHIFTS EACH BIT OF THE FIRST


ARGUMENT TO THE LEFT OR RIGHT BY SECOND
ARGUMENT OF BITS; CAN BE REPLACED WITH
<<​/​>>
PART ​4​: EXTENSIONS
DCM-12 CHIP
THE DCM-12 CHIP ALLOWS DISPLAYING AND
READING DECIMAL NUMBERS, AS WELL AS THE ​5
BASIC ARITHMETIC OPERATIONS:
● ADDITION (+)
● SUBTRACTION (-)
● MULTIPLICATION (*)
● DIVISION (\)
● MODULO (%)
NOTE THAT WHEN A NEW VARIABLE IS CREATED,
IT WILL ALWAYS BE A BINARY VARIABLE, UNLESS
ONE USES THE ​DVAR​ FUNCTION.
DECIMAL VARIABLES CANNOT BE IN ANY WAY
COMBINED WITH BINARY VARIABLES, NOR CAN
BITWISE OR SHIFTING OPERATORS BE USED WITH
THEM.
IF ONE CHOOSES TO CONVERT A DECIMAL NUMBER
TO A BINARY ONE, THE FUNCTIONS ​DEC​ AND ​BIN
CAN BE USED.
STR-101 CHIP
THE STR-101 CHIP ADDS STRING SUPPORT, I.E.
WORDS THAT CAN BE DISPLAYED. ONE MAY USE
THE ​STR​ FUNCTION TO CONVERT A BINARY NUMBER
TO A STRING, WITH THE FOLLOWING RESULTS:
● 0​ - SPACE
● 1​-​26​ - LETTERS, IN QWERTY ORDER
● 27​ - ,
● 28​ - .
● 29​ - :
● 30​ - ?
● 31​ - !
TO WRITE A SET STRING TO A STRING VARIABLE,
ONE SHOULD USE QUOTATION MARKS (‘ OR “).
JUST LIKE WITH DECIMAL VARIABLES, STRING
VARIABLES NEED TO BE CREATED WITH ​SVAR​.
STRING VARIABLES HAVE THEIR OWN OPERATORS
AS WELL.

ECR-01 CHIP
THE ECR-01 CHIP CHANGES THE INPUT, OUTPUT,
OR BOTH, TO A MONITOR THAT DISPLAYS BINARY
NUMBERS. EVERY DIGIT CORRESPONDS TO A
PIXEL, WHERE 0 IS BLACK AND 1 IS WHITE.
ECR-12 CHIP
THE ECR-12 CHIP IS LIKE THE ECR-01 CHIP,
BUT FOR DECIMAL NUMBERS. THIS TIME THOUGH,
DIFFERENT DIGITS CORRESPOND TO DIFFERENT
COLORS. 0 REPRESENTS BLACK, WHICH IS THE
DEFAULT COLOR, AND THE REMAINING DIGITS
REPRESENT THE FOLLOWING:
● 1 - 25% GRAY
● 2 - 50% GRAY
● 3 - WHITE
● 4 - RED
● 5 - YELLOW
● 6 - GREEN
● 7 - CYAN
● 8 - BLUE
● 9 - MAGENTA
MES-PLAY CHIP
THE MES-PLAY CHIP ALLOWS READING INPUT FROM
A STANDARD MES CONTROLLER. EVERY TICK,
EVERY SLOT OF THE INPUT WILL HOLD A BINARY
VALUE, WHERE THE CORRESPONDING BIT WILL
INDICATE WHETHER THE FOLLOWING KEY IS
PRESSED:
● 0​ - LEFT D-PAD
● 1​ - RIGHT D-PAD
● 2​ - UP D-PAD
● 3​ - DOWN D-PAD
● 4​ - A BUTTON
● 5​ - B BUTTON
● 6​ - SELECT
● 7​ - START
IN THE CASE THAT YOU DON’T HAPPEN TO HAVE
AN MES CONTROLLER NEAR YOU, THE INPUT CAN
BE EMULATED WITH A KEYBOARD, WITH THE ARROW
OR ADWS KEYS FOR THE D-PAD, A, Z OR Q FOR
THE A BUTTON, B, X OR E FOR THE B BUTTON,
SPACE FOR THE SELECT BUTTON, AND ENTER FOR
THE START BUTTON.
SND-1000 CHIP
THE SND-1000 CHIP ALLOWS LISTENING TO
SOUND. EACH OF THE ​64​ SLOTS CAN HAVE ONE
PIECE OF SOUND DATA INPUTTED INTO IT. THE
SND-1000 OUTPUT BEHAVES EXACTLY LIKE A
BINARY NUMBER OUTPUT.
THE ​2​ LEFTMOST DIGITS CONTROL THE TIMBRE OF
THE SOUND:
● 00 - NO SOUND
● 01 - SQUARE WAVE
● 10 - SAWTOOTH WAVE
● 11 - TRIANGLE WAVE
THE NEXT ​2​ DIGITS CONTROL THE OCTAVE OF THE
SOUND, AND THE FINAL ​4​ CONTROL WHICH DEGREE
OF THE OCTAVE IS PLAYED. THE SND-1000 CHIP
DOES NOT USE STANDARD TUNING (​12​-TONE EQUAL
TEMPERAMENT); RATHER, TO MATCH THE ​16
POSSIBLE VALUES, IT USES THE ​16​-TONE
OVERTONE SERIES FRAGMENT ​16​-​32​. FOR MORE
DATA, SEE PART ​6​.
NOTE: ​THE MES-PLAY AND SND-1000 CHIPS ONLY
WORK IN THE SANDBOX MODE AND REQUIRE
SLEEPING. FOR MORE INFORMATION, SEE PART ​5​.
PART ​5​: AUXILIARY
KEYWORDS
DVAR​ NAME - CREATES A NEW DECIMAL VARIABLE
WITH THE GIVEN NAME.

SVAR​ NAME - CREATES A NEW STRING VARIABLE


WITH THE GIVEN NAME.

ADD​ - DECIMAL/STRING OPERATOR, RETURNS THE


TWO VALUES ADDED TOGETHER; CAN BE SHORTENED
TO +; WHEN USED WITH STRINGS, IT COMBINES
TWO STRINGS

SUB​ - DECIMAL/STRING OPERATOR, RETURNS THE


SECOND VALUE SUBTRACTED FROM THE FIRST; CAN
BE SHORTENED TO -; WHEN USED WITH STRINGS,
IT REMOVES A CERTAIN AMOUNT OF LETTERS FROM
THE END OF THE STRING, WHERE THE SECOND
ARGUMENT IS A BINARY NUMBER
MUL​ - DECIMAL OPERATOR, RETURNS THE TWO
VALUES MULTIPLIED TOGETHER; CAN BE
SHORTENED TO *

DIV​ - DECIMAL OPERATOR, RETURNS THE RESULT


OF EUCLIDEAN DIVISION OF THE TWO VALUES;
CAN BE SHORTENED TO \

MOD​ - DECIMAL OPERATOR, RETURNS THE


EUCLIDEAN MODULO OF THE TWO VALUES; CAN BE
SHORTENED TO %

SLEEP​ VALUE - SLEEPS A GIVEN AMOUNT OF


TICKS.
NOTE:​ ONLY WORKS FOR INPUTS/OUTPUTS THAT
REQUIRE SLEEPING

FPS​ VALUE - SETS THE FRAMES PER SECOND FOR


THE GIVEN PROGRAM.
NOTE:​ ONLY WORKS FOR INPUTS/OUTPUTS THAT
REQUIRE SLEEPING
BIN​[VALUE] - RETURNS THE BINARY NUMBER FOR
THE GIVEN DECIMAL VALUE. IF THE RESULT IS
OVER ​255​, IT IS TRUNCATED TO ​255​.

DEC​[VALUE] - RETURNS THE DECIMAL NUMBER FOR


THE GIVEN BINARY VALUE.

STR​[VALUE] - RETURNS THE STRING FOR THE


GIVEN BINARY VALUE. IF THE VALUE IS OVER
31​, IT’S CHANGED TO ​31​.

NOTE:​ ALL FUNCTIONS ON THIS PAGE MUST USE


SQUARE BRACKETS
PART ​6​: DATASHEETS
SND-1000 PITCH VALUES
NUMBER HARMONIC CENTS APPROX. NOTE
0 16 0 C
1 17 105 C SHARP
10 18 204 D
11 19 298 E FLAT
100 20 386 E
101 21 471 F
110 22 551 F HALF SHARP
111 23 628 F SHARP
1000 24 702 G
1001 25 773 G SHARP
1010 26 841 A HALF FLAT
1011 27 906 A
1100 28 969 B FLAT
1101 29 1030 B HALF FLAT
1110 30 1088 B
1111 31 1145 B HALF SHARP
(NEXT OCTAVE) 32 1200 C

You might also like