EMMA 02

BASIC

  • Home
  • Download
  • Change Log
  • Help
  • Compilation
    • Windows
    • OS X
    • Ubuntu
    • Fedora
    • openSUSE
  • Forums
  • Tape Conversion
  • Machine Code
    • SYSTEM00
    • CDP1801
    • CDP1802
    • CDP1804
    • CDP1805
    • Differences
  • Pseudo Code
    • AMVBAS
    • AM4KBAS
    • CARDTRAN
    • Chip-8, 8X, ETI-660 & Elf
    • FEL-1
    • FPA-1
    • FPL-2
    • FPL-4
    • GPL-2
    • GPL-3
    • GPL-4
    • GPL-A (2K RAM)
    • GPL-A (2K ROM)
    • ST2
    • ST4
    • STK
    • Test-Word
    • Super-chip
  • XML Code
    • Main Elements
    • I/O
    • System
    • A/D Convertor
    • BASIC
    • Batch wav
    • Bootstrap
    • Cassette
    • CD4536B
    • CDP1851
    • CDP1852
    • CDP1854
    • CDP1855
    • CDP1877
    • CDP1878
    • CDP1879
    • Debugger
    • COMX Diagnostic
    • Dip switch
    • Disk
    • EF Buttons
    • Flip Flop
    • Front Panel
    • GUI
    • HEX Modem
    • I/O Group
    • Keyboard
    • Keyfile
    • Locations
    • Memory
    • MM57109
    • Printer
    • RTC
    • Sound
    • Splash
    • USB
    • Video
    • Videodump
    • vt
    • X Modem
  • BASIC
    • General Information
    • COMX BASIC V1.00
    • Floating Point BASIC 2.2
    • Pecom 32 BASIC
    • Pecom 64 BASIC 1.0 & 4.0
    • Quest Super BASIC 1.4
    • Quest Super BASIC 3.0
    • Quest Super BASIC 5.0
    • Quest Super BASIC 6.0
    • RCA BASIC3 V1.1
    • Telmac SBASIC v24.3
    • Error Messages
  • Computer List

 

 

 

 

 

 

 

 

 

 

 

 

RCA BASIC3 V1.1

Two versions of this BASIC are available: one running on the ELf machines in Emma 02 and one running from ROM on the RCA MDCS. On this site I have indicated where there ar differences with 'Elf version' and MDCS version'.

Start-up

To start RCA BASIC3 V1.1 in the Elf version first wait a few seconds (until the data display on the main Elf board shows 14) then press return followed by ‘C’ for a cold start and ‘W’ for a warm start.

To start RCA BASIC3 on the MDCS type 'B' from within the UT62 and then press return followed by ‘C’ for a cold start and ‘W’ for a warm start.

Commands

All RCA BASIC3 V1.1 Commands including some of the start addresses of these commands are listed below. Click on the command itself to get a description of command format and usage. The first address listed is for the Elf version, the second for the MDCS.

The commands BYE, DLOAD, DSAVE, PLOAD, PSAVE only work on the MCDS version.

ABS

@4B09 - @CDD9

INUM

@3B03

ASC

@3991 - @D15C

LEN

@4004

ATN

@3D06 - @D067

LET

@3500

BYE

@2997 - @B225

LIST

@2A68

CALL

@3B6B - @CF01

LOG

@3D0C

CHR$

 

MEM

@3FAC

CLD

@31D0 -  @B9ED

MID$

 

CLOSE

@2927 - @B19F

MOD

@22C2

CLS

@40F3 - @C6FF

NEW

@2833

COS

@3D03 - @D064

NEXT

@3E7B

DATA

@34FB - @C2FB

OUT

@2800

DEFINT

@48D8 - @C8DA

PEEK

@39DF

DEFUS

@44ED - @C8FA

PI

@38E2

DEG

@51F7

PLOAD

@2524

DIM

@3900

POKE

@40C1

DIN

@31B9

PRINT / PR

@4501 - @C900

DISINT

@422D

PSAVE

@273F

DLOAD

@2527

RAD

@51FA

DMAPT

@2FF8

READ

@4F6C

DOUT

@31A2

REM

@3FF9

DSAVE

@2742

RENUMBER

@3600

EDIT

@2600

RESTORE

@34EF

EF

@228C

RETURN

@3EAB

END

@30C9

RFLN

@26F5

ENINT

@47E1

RND

@3800

EOD

@41B9

RUN

@3276

EOP

@41B6

RUN+

 

EXIT

@51AF

SGN

@3899

EXP

@3D09

SIN

@3D00

FIXED

@3DE7

SQR

@3D0F

FNUM

@3E00

STQ

@27F5

FOR TO STEP

@3400

TAB

 

FORMAT

@50F0

TIN

@2FEA

FVAL

@398E

TOUT

@29F2

GOSUB

@3EB7

TRACE

@40E0

GOTO

@412A

USR

@3B6E

IF THEN

@4233

WAIT

@35DA

INP

@28C3

WFLN

@296C

INPUT

@3F74

QST

@2286

INT

 

 

 

Operators

Arithmetic operators
Unary minus - (first priority)
Exponentiation ↑ (first priority)
Multiply * (second priority)
Divide / (second priority)
Add + (third priority)
Subtract - (third priority)
Assignment operator

The assignment symbol is the equal sign ‘=‘.

Relational operators

Equality: =
Inequality: <>
Greater than: >
Less than: <
Greater than or equal to: >=
Less than or equal to: <=

Logical operators

AND
XOR
OR
NOT

Miscellaneous operators
: separates statements on the same line
; PRINT delimiter
, PRINT delimiter
“ string delimiter
( group terms
) group terms
\..\ 8 bit binary values
# 8 bit hexadecimal values
@ 16 bit hexadecimal values

System Parameters

In the Elf version memory @5200-@5400 and in the MCDS version @0000-@0200 is used by the BASIC for storing data, usage for some of the addresses is explained below. MCDS addresses are shown, for the ELf version add @5200.

0000 - 005F Line Buffer
0081 - 0082 DEFUS value
0083 - 0084 EOP (End Of Program) value
008A - 008D In hook, call to input routine
008E - 0091 Out hook, call to output routine
0092 - 0093 End array/start string value
0094 - 0095 Start array value
0099 - 009A EOD (End Of Data) and end string value
009B X value TAB
009D Flags
009E Start address user RAM
009F - 00A2 Call to BASIC functions
00A3 - 00A6 Call to BASIC functions
00B1 - 00B2 DATA pointer
00BB High byte memory end
00D0 - 00xx Converted Line buffer, this will overwrite A - Z variable storage
0100 - 0168 Storage A, B, C.... Z, 4 bytes per variable