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

rbasic-example.zip

 

 

  • Like 8

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 ;)

  • Like 3

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? :)

they're welcome

 

  • Like 1

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? :)

they're welcome

 

 

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.

  • Like 1

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

JagBASICdoc.zip

Edited by Matthias
  • Like 4

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.

  • Like 5

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.

  • Like 1

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/

  • Like 1

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.

  • Like 1

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
  • Like 1

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...