Jump to content
CyranoJ

RAPTOR Basic - Calling all testers and programmers

Recommended Posts

If you've been watching the programming forum (What? people post in there??) you might know that last weekend we released our RAPTOR library.

 

Well, since then we've bolted Enhanced BASIC 3.52 onto it, and started patching in commands to call RAPTOR.  

 

What this gives you is a very powerful BASIC with a full GPU/DSP back-end manager for all the hardware.

 

Attached to this post is an example binary, and the BASIC code in a zipfile.

 

If you would like to help test/expand this BASIC, please sign up at our forum and request access to the RAPTOR Basic dev forum. It's address is here:

 

http://dbug.kicks-ass.net/dbugforums/cgi-bin/yabb2/YaBB.pl

 

Currently RBASIC has a full basic command set, plus:

 

RPRINT - direct access to RAPTOR Print to complement BASICs 'PRINT' command

U235PAD1 - function to read Jagpad1

RGETOBJ - function to read a RAPTOR object's values

RSETOBJ - function to set a RAPTOR object's value

RUPDALL - command to vsync and update all objects

RSETLIST - command to switch between RAPTOR lists

RHIT - function to call RAPTOR collision handler

 

Auto conversion of bitmap assets is also included, to make asset importing easier for the novice programmer.

 

These commands give you enough to start making very simple RAPTOR Basic games.

 

This is very real, and both ggn and myself are quite willing to continue working on this for the community to use. However, you have to show us we're not wasting our time.  Over to you guys!

 

Here's the example program included:

 

100 REM SPRITE TEST
110 REM
111 RSETLIST 1: RUPDALL
112 IF U235PAD1=0 GOTO 112
113 RSETLIST 0: RUPDALL
115 PX=100
116 PY=100
120 SPRX=8: SPRY=12
130 OFFD=PI*2/3
140 FOR POS=0 TO (PI*2) STEP (PI*2) / 200
150 FOR OBJ=1 TO 3
160 RSETOBJ OBJ,SPRX,(160+(SIN(POS+OFFS)*120))<<16
170 RSETOBJ OBJ,SPRY,(120+(COS(POS+OFFS)*90))<<16
180 OFFS=OFFS+OFFD
190 NEXT OBJ
191 HIT=RHIT 1,3,4,4: IF HIT<>-1 THEN RPRINT "COLLISION!",0,0,2,1 ELSE RPRINT "          ",0,0,2,1
192 PAD=U235PAD1 
193 IF PAD=1 THEN PY=PY-1
194 IF PAD=2 THEN PY=PY+1
195 IF PAD=4 THEN PX=PX-1
196 IF PAD=8 THEN PX=PX+1
197 RSETOBJ 4,SPRX,PX<<16: RSETOBJ 4,SPRY,PY<<16
200 RUPDALL
210 NEXT POS
220 GOTO 130
 

 [attachment=368092:rbasic-example.zip]

 

 

Share this post


Link to post
Share on other sites

Got issues registering at the forum keeps on telling me that the displayed code is incorrect I am absolute sure I typed it correct.

Did try it 20 times now I stopped.

Share this post


Link to post
Share on other sites

Ironically, ever since the forum software added this check (yes it was my suggestion originally) the forum's been free of spambots ;)

Share this post


Link to post
Share on other sites

I've never used EhBASIC before, the only fairly complete looking reference I could find was for the 6502 version. 

 

http://forum.6502.org/download/file.php?id=1053

 

Is there any language reference out there specifically for the 68k version?  I'm wondering if not all the commands and features that would be available would be in the 6502 doc.

 

I also think that it would be cool if in the language could be extended sometime in the future to support subroutines and functions so we could get away from the line numbers.

Edited by Tenorman

Share this post


Link to post
Share on other sites

I've never used EhBASIC before, the only fairly complete looking reference I could find was for the 6502 version. 
 
http://forum.6502.org/download/file.php?id=1053
 
Is there any language reference out there specifically for the 68k version?  I'm wondering if not all the commands and features that would be available would be in the 6502 doc.


At the time of writing, the keyword table for the 68k version, including our 4-5 additions is:

*
+
-
/
<<
<
=
>>
>
?
ABS(
AND
ASC(
ATN(
BIN$(
BITCLR
BITSET
BITTST(
CALL
CHR$(
CLEAR
CONT
COS(
DATA
DEC
DEEK(
DEF
DIM
DOKE
DO
ELSE
END
EOR
EXP(
FOR
FN
FRE(
GET
GOTO
GOSUB
HEX$(
IF
INC
INPUT
INT(
LCASE$(
LEEK(
LEFT$(
LEN(
LET
LIST
LOAD
LOG(
LOKE
LOOP
MAX(
MID$(
MIN(
NEW
NEXT
NOT
NULL
ON
OR
PEEK(
PI
POKE
POS(
PRINT
RAMBASE
READ
REM
RESTORE
RETURN
RIGHT$(
RND(
RUN
RPRINT
RSETOBJ
RUPDALL
RGETOBJ
RSETLIST
RHIT
SADD(
SAVE
SGN(
SIN(
SPC(
SQR(
STEP
STOP
STR$(
SWAP
TAB(
TAN
THEN
TO
TWOPI
U235PAD1
UCASE$(
UNTIL
USING$(
USR(
VAL(
VARPTR(
WAIT
WHILE
WIDTH
^
 

I also think that it would be cool if in the language could be extended sometime in the future to support subroutines and functions so we could get away from the line numbers.


Well that is probably a big undertaking which would probably lead to rewriting a large part of the language (I might be wrong but that's what I think atm). But of course you know what we say about the patches, right? :) [spoiler]they're welcome[/spoiler]

Share this post


Link to post
Share on other sites

 


Well that is probably a big undertaking which would probably lead to rewriting a large part of the language (I might be wrong but that's what I think atm). But of course you know what we say about the patches, right? :) [spoiler]they're welcome[/spoiler]

 

Oh I wouldn't doubt it.  A man can dream  :).

Share this post


Link to post
Share on other sites
This is aweome CJ! it takes my childhood memories of the Atari VCS and the Basic Programming cart & keyboard controllers that slide together to a far off distant much higher level!! lol This is going to open up the Jag floodgates for new games - really cool stuff here! Well im going to go get the package and start reading that manual! Cheers bro! ☺☺😆😀😃👍👌👏 Edited by ovalbugmann

Share this post


Link to post
Share on other sites

Subroutines and functions are supported already, so that's not an issue. EhBASIC is more of an oldschool type BASIC so we need to go back to our A8 days. Especially those of us spoiled by GFA BASIC.

Share this post


Link to post
Share on other sites
Hello!

At the time of writing, the keyword table for the 68k version, including our 4-5 additions is:
*
+
-
/
>
>
?
ABS(
AND
...
..
VAL(
VARPTR(
WAIT
WHILE
WIDTH
^

When i worked on my own BASIC system for the Jaguar based on EhBASIC (see http://www.mdgames.de/jagbasic_eng.htm) i also started work on a manual, attached is the Word-file, feel free to use it for your Raptor BASIC.


Kind regards
Matthias Edited by Matthias

Share this post


Link to post
Share on other sites

Will be interesting to see how it compares to VRBASIC although I am not sure I will have enough time to have more than a quick look until I clear some of my other projects.

Share this post


Link to post
Share on other sites

Will be interesting to see how it compares to VRBASIC although I am not sure I will have enough time to have more than a quick look until I clear some of my other projects.

 

I wouldn't hold my breath waiting for that comparison.

Share this post


Link to post
Share on other sites

 

I wouldn't hold my breath waiting for that comparison.

Damn - I was hoping for a virtual comparison, posting FPS results while running in an emulator.

Share this post


Link to post
Share on other sites

Will be interesting to see how it compares to VRBASIC although I am not sure I will have enough time to have more than a quick look until I clear some of my other projects.

 

I find that its more interesting to see how it compares against a finished project than vapourware.  For the all trousers and no mouth version:

 

http://atariage.com/forums/topic/233093-raptor-basic/

Share this post


Link to post
Share on other sites

If you've been watching the programming forum (What? people post in there??) you might know that last weekend we released our RAPTOR library.

 

Well, since then we've bolted Enhanced BASIC 3.52 onto it, and started patching in commands to call RAPTOR.

 

What this gives you is a very powerful BASIC with a full GPU/DSP back-end manager for all the hardware.

 

Attached to this post is an example binary, and the BASIC code in a zipfile.

 

If you would like to help test/expand this BASIC, please sign up at our forum and request access to the RAPTOR Basic dev forum. It's address is here:

 

http://dbug.kicks-ass.net/dbugforums/cgi-bin/yabb2/YaBB.pl

 

Currently RBASIC has a full basic command set, plus:

 

RPRINT - direct access to RAPTOR Print to complement BASICs 'PRINT' command

U235PAD1 - function to read Jagpad1

RGETOBJ - function to read a RAPTOR object's values

RSETOBJ - function to set a RAPTOR object's value

RUPDALL - command to vsync and update all objects

RSETLIST - command to switch between RAPTOR lists

RHIT - function to call RAPTOR collision handler

 

Auto conversion of bitmap assets is also included, to make asset importing easier for the novice programmer.

 

These commands give you enough to start making very simple RAPTOR Basic games.

 

This is very real, and both ggn and myself are quite willing to continue working on this for the community to use. However, you have to show us we're not wasting our time.  Over to you guys!

 

Here's the example program included:

 

100 REM SPRITE TEST
110 REM
111 RSETLIST 1: RUPDALL
112 IF U235PAD1=0 GOTO 112
113 RSETLIST 0: RUPDALL
115 PX=100
116 PY=100
120 SPRX=8: SPRY=12
130 OFFD=PI*2/3
140 FOR POS=0 TO (PI*2) STEP (PI*2) / 200
150 FOR OBJ=1 TO 3
160 RSETOBJ OBJ,SPRX,(160+(SIN(POS+OFFS)*120))<<16
170 RSETOBJ OBJ,SPRY,(120+(COS(POS+OFFS)*90))<<16
180 OFFS=OFFS+OFFD
190 NEXT OBJ
191 HIT=RHIT 1,3,4,4: IF HIT<>-1 THEN RPRINT "COLLISION!",0,0,2,1 ELSE RPRINT "          ",0,0,2,1
192 PAD=U235PAD1 
193 IF PAD=1 THEN PY=PY-1
194 IF PAD=2 THEN PY=PY+1
195 IF PAD=4 THEN PX=PX-1
196 IF PAD=8 THEN PX=PX+1
197 RSETOBJ 4,SPRX,PX<<16: RSETOBJ 4,SPRY,PY<<16
200 RUPDALL
210 NEXT POS
220 GOTO 130
 

 attachicon.gifrbasic-example.zip

 

 

I have a Jag,

 

Knowing nothing about how to set this up, do you have setup instructions?

What's involved, how do I load the software?

Do I need any special hardware?

Share this post


Link to post
Share on other sites

I have a Jag,

 

Knowing nothing about how to set this up, do you have setup instructions?

What's involved, how do I load the software?

Do I need any special hardware?

 

Download the zip

Unzip it to a folder

open a command window in that folder

type: BUILD <projectname>

 

that's it.  You don't even need a Jaguar, as VJ is included.

Share this post


Link to post
Share on other sites

easyest way is to grab a skunkboard (you find a thread here bout buying it)

 

or you use just a emulator to run your code (if its enough for you)

ups...see post above (0,33 sec before my post) :mad:

Edited by Otto1980

Share this post


Link to post
Share on other sites

This looks like the old Atari 8-bit BASIC. WoW!


Well that's music to my ears will have a look at this once I'm able to get access to my pc again. Damn builders!

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...