Jump to content
IGNORED

"Forth" game development


Opry99er

Recommended Posts

Hi all. I just wanted you all to know that there is some real excitement over at the Yahoo list right now concerning "Forth," a programming language for the TI (and many other computers) which is super fast and much more "readable" than assembly. Mark Wills is currently developing a new Forth language, "TurboForth," which will be cartridge based--- it will also have an accompanying website which is designed to take a programmer from newbie to Forth expert. I have begun learning Forth and want to encourage you all to BETA test TurboForth when it's ready--- should be in no time, as Willsy already has the bank-switching scheme implemented and is just fine tuning the UI before putting it out there. I have been reading a book called "Starting Forth" by Brodie... Check it out free online, and (as they say) "May the Forth be with You!"

Edited by Opry99er
Link to comment
Share on other sites

Yep - it's coming along swimmingly. It's pant wettingly fast. I'll get to a certain point where I'm happy for others to beta test it before releasing it.

 

It runs on a cartridge on the real deal, and will also run (and was developed) on Classic99.

 

Willsy

Link to comment
Share on other sites

Tell you what--- Ive been playing with Wycove Forth lately and that sh** is fast!!! The thing that is so interesting is that you don't just control program flow, you manage data on "the stack" as well-- it offers the ability to have complete control of all features of the language. It's in LIFO format (last in-first out) so it takes a bit of learnin'. I am psyched for Turboforth... Willsy is really doin' work, man.

Link to comment
Share on other sites

Willsy can speak to that better, but SPRITE, sound, speech, man--- it's all in there. I can't find the info Willsy sent me, but he can tell you all the cool features.. One thing, SPRITEs can be set on a "path" none of the (Y,X) rubbish... (I think that's how he put it). :) This cart will be a bigtime release for the community... And he has a domain name he is setting up for this language along with a dedicated Yahoo user group that is already in existence. I'm like, member #3 or something. :) go find it-- feature sets (partial) listed there

Link to comment
Share on other sites

I assume creating stand alone programs are not an issue, right?

I’m sure Mark will look into it if there’s a demand.

 

Stand alone disk files will need a loader (and run) anyway (TI Basic won’t do), and if you haven’t got the TurboForth cartridge, it would still be nice to be able to load and run from EA or something similar.

 

Stand alone cartridge creation will most certainly be a totally hot feature.

 

:cool:

Link to comment
Share on other sites

I think there's gonna be a contest for this one too!

 

I assume creating stand alone programs are not an issue, right?

I'm sure Mark will look into it if there's a demand.

 

Stand alone disk files will need a loader (and run) anyway (TI Basic won't do), and if you haven't got the TurboForth cartridge, it would still be nice to be able to load and run from EA or something similar.

 

Stand alone cartridge creation will most certainly be a totally hot feature.

 

:cool:

Link to comment
Share on other sites

I was thinking--- (dangerous) If Mark could figure a way to have some flash or some kind of RAM built into these carts or if Jon G could figure a way to do that, then the Forth carts could actually become game carts!!! Just have Turboforth on an EPROM on the board and either have flash or even another EPROM with the game on it.... I don't know enough technical stuff to describe accurately what I mean, but you get the idea... Standalone carts could be do-able. :)

Link to comment
Share on other sites

So--- I just received an email from the esteemed Mr. Wills. You guys are gonna sh** when this Language comes out... :) This is gonna be a blast! Here's a bit of Forth info for ya.

 

"The Stack"-- a parameter stack... Numbers or values get placed on the stack for later use. Also, the parameters are accessed "Last In First Out". If you think of it like a stack of chairs--- the last one you place on the stack of chairs will be the first one you take off. :)

 

Reverse Polish Notation- Its how the stack handles numbers.... Instead of:

 

5+7

 

you use

 

5 7 +

 

this is necessary because of how the stack works. The "+" is actually a "word" in Forth... This word tells the computer to pull the top two numbers off the stack, add them, and then place the new value back on the stack. So, the two numbers "5" and "7" are removed, added, and the new value of "12" is placed on the stack. If you wish to print the new value on the screen, a simple "." will suffice. In Forth, anything that is not a number or the space character can be a "word." for instance, what if we wanted to write a word called "ADDIT"? Start word definitions with a colon (:) and end the definition with a semicolon (;). Here's what it could look like

 

: ADDIT + . ;

This word takes two numbers off the stack, adds them, and prints the result on the screen. So, if our top two stack numbers are 7 and 29, the word "ADDIT" will remove those two numbers, add them, and print the result on the screen. Once you've defined ADDIT, you only need to type "ADDIT" on the commandline and it will display "36 <ok>" on the screen.

 

These are just a few pointers on getting started... In case you guys are not familiar with Forth. The great thing about Forth is that since your words (or subprograms--in other languages) are essentially "English", your listing can look like a sentence. :) It feels strange at first--- bit once you get used to it, words start becoming just combinations of other smaller words. That's how Forth starts reading like English--- check out "Starting Forth" by Leo Brodie. It's available to read online. :) Willsy can explain this much better than I did--- but I'm just hoping to intrigue you guys enough to start doing some research on your own. :)

Link to comment
Share on other sites

These are just a few pointers on getting started... In case you guys are not familiar with Forth. The great thing about Forth is that since your words (or subprograms--in other languages) are essentially "English", your listing can look like a sentence. :) It feels strange at first--- bit once you get used to it, words start becoming just combinations of other smaller words. That's how Forth starts reading like English--- check out "Starting Forth" by Leo Brodie. It's available to read online. :) Willsy can explain this much better than I did--- but I'm just hoping to intrigue you guys enough to start doing some research on your own. :)

 

 

Just found the book for < $5 shipped....

 

http://www.a1books.com/cgi-bin/mktSearch?act=showDesc&code=gbase&rel=1&ITEM_CODE=0138429227

 

-H

Link to comment
Share on other sites

It's worth it's weight in gold if you're looking to start programming in Forth. It's an extremely versatile and expandable language. Forth is a "living" language--- it grows with the programmer, and while that may be an odd concept, it is certainly a "feel-good" idea--- and what's best, it's just months away!!! Of course there are multiple Forth terminal emulators out there, and you can use TI Forth until you get the hang of it... But when Turboforth drops--- look out! Willsy, where the hell are you?!? Come on and tell these guys what's what!!!

Link to comment
Share on other sites

Yeah, now that I'm heavily invested, it better come to fruition, else I'm suin!

 

It's worth it's weight in gold if you're looking to start programming in Forth. It's an extremely versatile and expandable language. Forth is a "living" language--- it grows with the programmer, and while that may be an odd concept, it is certainly a "feel-good" idea--- and what's best, it's just months away!!! Of course there are multiple Forth terminal emulators out there, and you can use TI Forth until you get the hang of it... But when Turboforth drops--- look out! Willsy, where the hell are you?!? Come on and tell these guys what's what!!!

Link to comment
Share on other sites

'Tis true. Forth is a comin' ;-)

 

I'm staying a little bit quiet because I don't want to over hype it too much... I've still got a fair a bit of code to write.

 

However, at the moment it does:

 

1) Pretty much all Forth 83 Standard words

2) Quite a few extra (FOR..NEXT loops for example) and CASE...ENDCASE

3) Sprites

4) Sprite Movement like XB (but not interrupt driven, but don't worry, you don't need them to be - it's FAST - just call SPRMOV and it will move all the sprites you have defined trajectories for.)

5) Speech from the built in speech synth

 

Still to do:

 

Media Engine (see below)

Disk IO (done some of it)

Block editor

 

The Media Engine

----------------

Is an interrupt driven thingy that:

 

* Plays music according to a play list

* Streams speech to the speech synth

* Moves sprites on a defined *path* - not a trajectory like XB. You can say "up 4 left 12 down 6 right 2" and the sprite will obey.

Paths live independantly from Sprites, so multiple sprites can use the same path if you want.

 

Of course, all of the above happens at the same time.

 

It's fairly major! I hope I can do it :?

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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