National JR-800 Documentation

Hardware specifications

CPU

  • 63A01 (CMOS 8-bit CPU) (6801 family extended instruction set)
  • CPU clock 4. 9152MHz
  • System Clock 1. 2288MHz

Memory

  • ROM CMOS 20K byte standard mounting Up to 32K bytes can be added in the body
  • RAM CMOS 16K byte standard mounting up to 24K bytes can be added in the body with battery backup
  • DISPLAY RAM CMOS 1552 bytes (in LCD driver)

Programming languageJR-800BASIC
Constant● Numerical constant constant -32,768~32,768

Single-digit constant 10-digit exponential

range -154-153 double-precision

constant 20-digit exponential range -154-153 16-decimal constant &h

8 progressive constant &o

● Character constant up to 255 characters
Variable● Valid number of characters 2 digits
● numeric variable :
integer type : % single precision
real form! (Exponential E)
double precision real form #(exponential D)
● character variables $
system variable timer variables, carsonal variables, error variables
● Array dimensions are within the memory range unlimited subscript is 0~ memory range
Statement● 1 line of characters up to 128 characters
● Line number 1 to 65534
Virtual Screen● Horizontal 32-254 digits
● Vertical 8-255 lines
Operation● Arithmetic +,-,*,
● Relationship operation =,<>>>,
Program Management● Store eight types of programs independently with battery backup
● menu function (auto-start possible)
User settings with POKE● User-defined characters (32 species)
● Format specification (decimal number, integer number of digits specified)
● Scroll margin setting, key-click sound release, etc.

Control commands, text editing commands

AUTO : AUTO [start],[increment]
Start auto numbering program lines from start by increment. by default start = 10 and increment = 10

CONT : Continue program execution after BREAK

DELETE: ???

EDIT : EDIT x
E
dit program line number x

FIND

LFIND

LIST : LIST x,y
List program from line x to line y included

LLIST: LLIST x,y
list the program from line x to line y included to the printer

NEW : Erase the program in the current page

NEWON : ???

PAGE : PAGE x
Select Program page number x

PAGELIST : list all pages information

RENUM

RUN : RUN [x]
Start the program at the line x if defined

TITLE : TITLE string
give a title to a program page. string can be literal enclosed by double quotes or a string variable

TROFF : Execution trace off

TRON : Execution trace on

General statements

CALL : CALL adr
Call a LM program at adr

CLEAR : CLEAR variable memory

DEFDBL : Declare a variable as double precision

DEFINT : Declare a variable as INT

DEFSNG : Declare a variable as single precision

DEFSTR : Declae a variable as string

DIM

END : Stop execution of a BASIC program

FOR-NEXT-STEP

GOSUB

RETURN

GOTO

IF_ELSE

IF_GOSUB

IF-GOTO

IF-THEN

LET

ON-GOSUB

ON-GOTO

ON RESTORE

ON_RESUME

ON_RETURN

POKE : POKE adr,x[,y],[z]…
Store valures x,y,… at the memory address adr

REM : Insert a remark in a BASIC program. The rest of the line is ignored.

STOP ???

File I/O commands, statements

CLOSE

DATA

HCOPY : make a screen hardcopy to the printer

INPUT

INPUT#

LOAD

LPRINT : Same as PRINT to the printer

MERGE

MLOAD

MSAVE

OPEN

PRINT

PRINT#

READ

RESTORE

SAVE

SINIT

SLOAD

SSAVE

VERIFT

Screen control commands, statements

CLS : clear the screen

FLD: FLD x
With x between 0 and &FF. Fild background color.

LINE : LINE (x1 , y1) – (x2 , y2)
Draw a line from point (x1,y1) to point (x2,y2)

LOCATE Set the cursor position

PRESET : PRESET (x,y)
reset a point on the lcd screen at (x,y)

PSET : PSET (x,y)
Set a point on the LCD screen at (x,y)

WIDTH

WLOCATE

Other statements

DEG : Degree mode

ERL : Error Line Number

ERR : ???

ERROR : ERROR x
Generate an error number x. x must be between 0 and 255

GRAD : Grad mode. No indicator on the right side of the screen

KEY : KEY n,”….”
Function key definition. Assign a string to a PFn Key

KEYφ

KEYLIST : List Key definition

ON ERROR GOTO

RAD : Radian mode

RESUME

SOUND : Sound x,y
Produce a sound

WAKE

Numeric functions

ABS

ACS

ASN

ATEN

CDBL : CDBL(x)
return x in Double precision

CINT

COS

CSNG

EXP

FIX

INT : INT(x)
Returns the largest integer value that does not exceed a value

LOG

LN

PI : PI(x) return x * pi

RND : RND (0)
Returns a random float between 0 and 1

SGN

SIN

SQR : SQR(x) returns square root of x

TAN

String functions

ASC

CHR$

HEX$

INSTR

LEFT$

LEN

MID$

OCT$

RIGHT$

STR$

STRING$

VAL : VAL(string)
Convert a string to a value

Special functions

CALC

CSRLIN

DATE$ : Display or set current date. format is a string YY/MM/DD

DAY$ : Display or set the day of week. In uppercase : MON, TUE, WEN, …

EOF : End of file ???

FRE : FRE(0)
Amount of free memory

INKEY$ : INKEY$(0)
capture the pressed key

LPOS

MEM$ ???

PEEK : PEEK adr
Return memory value at address adr

POINT : POINT (x,y)
Test if lcd point at (x,y) is set or not

POS

SCRN$
Read characters on the screen

SPC : SPC(x)
create a string of x space

TAB

TIME$ : Display or set TIME. Format is “HH:MM:SS”