Opry99er Posted April 10, 2010 Share Posted April 10, 2010 (edited) 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 April 10, 2010 by Opry99er Quote Link to comment Share on other sites More sharing options...
Willsy Posted April 16, 2010 Share Posted April 16, 2010 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 Quote Link to comment Share on other sites More sharing options...
The Codex Posted April 16, 2010 Share Posted April 16, 2010 Good news that! However, I humbly submit that as it is a new release, it should be called Fifth. As in, "Yes, I'll have a fifth of the house finest." Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 16, 2010 Share Posted April 16, 2010 Interesting - I remember a disk-based TI-Forth from when I was a kid... -H Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 16, 2010 Author Share Posted April 16, 2010 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. Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 16, 2010 Share Posted April 16, 2010 We have any idea of the feature set? I should actually start looking at c99. I never did anything with that as a kid, but that seems the easiest way to go (for me). -H Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 16, 2010 Author Share Posted April 16, 2010 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 Quote Link to comment Share on other sites More sharing options...
tjb Posted April 16, 2010 Share Posted April 16, 2010 Could you provide a URL to the Yahoo list? Thanks, tjb Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 16, 2010 Share Posted April 16, 2010 #9! Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 16, 2010 Author Share Posted April 16, 2010 http://tech.groups.yahoo.com/group/Turboforth/ join up. You will learn the ways of the Forth from master Jedi Wills--- may the Forth be with you Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 16, 2010 Share Posted April 16, 2010 can't keep no secrets from Google: http://www.turboforth.net http://sourceforge.net/projects/turboforth/ Quote Link to comment Share on other sites More sharing options...
Bill Loguidice Posted April 16, 2010 Share Posted April 16, 2010 (edited) Very cool, and certainly looking forward to the cartridge as well! I assume creating stand alone programs are not an issue, right? Edited April 16, 2010 by Bill_Loguidice Quote Link to comment Share on other sites More sharing options...
tjb Posted April 16, 2010 Share Posted April 16, 2010 Thanks for the links! tjb Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted April 17, 2010 Share Posted April 17, 2010 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. Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 17, 2010 Share Posted April 17, 2010 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. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 17, 2010 Author Share Posted April 17, 2010 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. Quote Link to comment Share on other sites More sharing options...
sometimes99er Posted April 17, 2010 Share Posted April 17, 2010 I think Mark’s originally idea was actually based on a Mini Memory design. To have all Flash Memory cartridges with USB interface to PC is the ultimate. To go with any sort of project/language etc. Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 17, 2010 Author Share Posted April 17, 2010 Flash would eliminate the need for battery backed RAM.... And USB, while awesome, wouldn't really be necessary for a programmer who wished to distribute his game on cart.... (me) Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 18, 2010 Author Share Posted April 18, 2010 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. Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 18, 2010 Share Posted April 18, 2010 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 Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 18, 2010 Author Share Posted April 18, 2010 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!!! Quote Link to comment Share on other sites More sharing options...
unhuman Posted April 18, 2010 Share Posted April 18, 2010 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!!! Quote Link to comment Share on other sites More sharing options...
Opry99er Posted April 18, 2010 Author Share Posted April 18, 2010 I have a great Forth terminal program-- write me an email and you can get started Forthing tonight! owenbrand@yahoo.com Quote Link to comment Share on other sites More sharing options...
Willsy Posted April 19, 2010 Share Posted April 19, 2010 '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 Quote Link to comment Share on other sites More sharing options...
Willsy Posted April 19, 2010 Share Posted April 19, 2010 (edited) A quick (rather crap) demo to whet people's appetites. http://www.youtube.com/watch?v=qBdGd52A3gs and http://www.youtube.com/watch?v=09rs52v8r30 Edited April 19, 2010 by Willsy Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.