Hi,
Here's a list of BASIC tokens for Family BASIC V2 and V3. I have 'saved' the programs used to obtain these as screen grabs using FCE Ultra. Contact me if you want the images.
I couldn't find anything like this on teh interweb so set about finding them myself. Some are obvious, others I'm still trying to understand. Unusual, NES-specific ones include "FILTER" on V3 (which sets the colour emphasis bits using an operand from 0 to 7) and "SCREEN" on V3 (which selects one of the two name tables).
One further thing to note is that, although both BASICs are integer BASICs using signed numbers from -32768 to 32767, V2 allows positive numbers to be input from 32768 to 65535 (although it treats them internally as negative), whereas V3 gives an error. Hence the BASIC program for V3 reads from 'negative' memory locations. The tokens seem to be stored in <token number> <ascii representation> format, where the token number is 128 or more.
Hope this is of some use to the Nesdev community. I think V2 uses the internal 2K SRAM only and V3 adds an 8K SRAM at $6000 - $7FFF, although it might in fact be 4K (2 x 2K SRAMs perhaps).
Richard
Family BASIC V2 tokens
GOTO
GOSUB
RUN
RETURN
RESTORE
THEN
LIST
SYSTEM
TO
STEP
SPRITE
PRINT
FOR
NEXT
PAUSE
INPUT
LINPUT
DATA
IF
READ
DIM
REM
STOP
CONT
CLS
CLEAR
ON
OFF
CUT
NEW
POKE
CGSET
VIEW
MOVE
END
PLAY
BEEP
LOAD
SAVE
POSITION
KEY
COLOR
DEF
CGEN
SWAP
CALL
LOCATE
PALET
ERA
XOR
OR
AND
NOT
<>
>=
<=
=
>
<
+
-
MOD
/
*
ABS
ASC
STR$
FRE
LEN
PEEK
RND
SGN
SPC
TAB
MID$
STICK
STRIG
XPOS
YPOS
VAL
POS
CSRLIN
CHR$
HEX$
INKEY$
RIGHT$
LEFT$
SCR$
Family BASIC V3 tokens
GOTO
GOSUB
RUN
RETURN
RESTORE
THEN
LIST
SYSTEM
TO
STEP
SPRITE
PRINT
FOR
NEXT
PAUSE
INPUT
LINPUT
DATA
IF
READ
DIM
REM
STOP
CONT
CLS
CLEAR
ON
OFF
CUT
NEW
POKE
CGSET
VIEW
MOVE
END
PLAY
BEEP
LOAD
SAVE
POSITION
KEY
COLOR
DEF
CGEN
SWAP
CALL
LOCATE
PALET
ERA
TR
FIND
GAME
BGTOOL
AUTO
DELETE
RENUM
FILTER
CLICK
SCREEN
BACKUP
ERROR
RESUME
BGPUT
BGGET
CAN
XOR
OR
AND
NOT
<>
>=
<=
=
>
<
+
-
MOD
/
*
ABS
ASC
STR$
FRE
LEN
PEEK
RND
SGN
SPC
TAB
MID$
STICK
STRIG
XPOS
YPOS
VAL
POS
CSRLIN
CHR$
HEX$
INKEY$
RIGHT$
LEFT$
SCR$
INSTR
CRASH
ERR
ERL
VCT
Here's a list of BASIC tokens for Family BASIC V2 and V3. I have 'saved' the programs used to obtain these as screen grabs using FCE Ultra. Contact me if you want the images.
I couldn't find anything like this on teh interweb so set about finding them myself. Some are obvious, others I'm still trying to understand. Unusual, NES-specific ones include "FILTER" on V3 (which sets the colour emphasis bits using an operand from 0 to 7) and "SCREEN" on V3 (which selects one of the two name tables).
One further thing to note is that, although both BASICs are integer BASICs using signed numbers from -32768 to 32767, V2 allows positive numbers to be input from 32768 to 65535 (although it treats them internally as negative), whereas V3 gives an error. Hence the BASIC program for V3 reads from 'negative' memory locations. The tokens seem to be stored in <token number> <ascii representation> format, where the token number is 128 or more.
Hope this is of some use to the Nesdev community. I think V2 uses the internal 2K SRAM only and V3 adds an 8K SRAM at $6000 - $7FFF, although it might in fact be 4K (2 x 2K SRAMs perhaps).
Richard
Family BASIC V2 tokens
GOTO
GOSUB
RUN
RETURN
RESTORE
THEN
LIST
SYSTEM
TO
STEP
SPRITE
FOR
NEXT
PAUSE
INPUT
LINPUT
DATA
IF
READ
DIM
REM
STOP
CONT
CLS
CLEAR
ON
OFF
CUT
NEW
POKE
CGSET
VIEW
MOVE
END
PLAY
BEEP
LOAD
SAVE
POSITION
KEY
COLOR
DEF
CGEN
SWAP
CALL
LOCATE
PALET
ERA
XOR
OR
AND
NOT
<>
>=
<=
=
>
<
+
-
MOD
/
*
ABS
ASC
STR$
FRE
LEN
PEEK
RND
SGN
SPC
TAB
MID$
STICK
STRIG
XPOS
YPOS
VAL
POS
CSRLIN
CHR$
HEX$
INKEY$
RIGHT$
LEFT$
SCR$
Family BASIC V3 tokens
GOTO
GOSUB
RUN
RETURN
RESTORE
THEN
LIST
SYSTEM
TO
STEP
SPRITE
FOR
NEXT
PAUSE
INPUT
LINPUT
DATA
IF
READ
DIM
REM
STOP
CONT
CLS
CLEAR
ON
OFF
CUT
NEW
POKE
CGSET
VIEW
MOVE
END
PLAY
BEEP
LOAD
SAVE
POSITION
KEY
COLOR
DEF
CGEN
SWAP
CALL
LOCATE
PALET
ERA
TR
FIND
GAME
BGTOOL
AUTO
DELETE
RENUM
FILTER
CLICK
SCREEN
BACKUP
ERROR
RESUME
BGPUT
BGGET
CAN
XOR
OR
AND
NOT
<>
>=
<=
=
>
<
+
-
MOD
/
*
ABS
ASC
STR$
FRE
LEN
PEEK
RND
SGN
SPC
TAB
MID$
STICK
STRIG
XPOS
YPOS
VAL
POS
CSRLIN
CHR$
HEX$
INKEY$
RIGHT$
LEFT$
SCR$
INSTR
CRASH
ERR
ERL
VCT