Jump to content
IGNORED

TurboForth


Willsy

Recommended Posts

Owen suggested I post a quick update, so here goes:

 

Haven't had much time to sit and concentrate and code. My Mother is seriously ill and that is taking its toll on energy levels and enthusiasm at the moment.

 

However, the project is not dead, far from it:

 

1) The code has been proven on a REAL TI and *WORKS*

2) A bug with systems fitted with 9938s has been identified and fixed

3) Disk support done

4) Editor done

 

Just the interrupt driven sprites, speech and music to do.

 

I gave a (rather long, sorry guys) presentation at the UK Faire. It's on YouTube, here:

 

http://www.youtube.com/view_play_list?p=E79188BBF51038BC

 

Hope you like it. As you can see, its fully operational. Just want to add some more sexy stuff and we're done.

 

Mark

Link to comment
Share on other sites

Great news!!! We're anxiously awaiting this release!

 

About the length-- man, I would PAY for a TF seminar. Ever consider doing a Skype seminar once you get your final touches done?

 

The length was great on those videos... Matter of fact, this should be (one of) the centerpiece presentations at next year's Faire... Hopefully you can attend-- but I plan to be a TF expert by next year, so I might have something to show. Woohoo!!!!

 

We should set up a Skype chat/instruction session on TF soon... We could advertise it in all the usual places and have a nice go of it! :)

 

Cheers, Mark... I'm very excited about your efforts!

Link to comment
Share on other sites

Matthew180 wrote a nice ISR music player. It is geared to work with XB, but it is quite nice... Just shovel BYTE data into it and it plays. Of course it would probably not jive with your source, but it is very efficient and works beautifully in The XB environment. :)

 

With TF, I remember you talking about a very interesting concept for SPRITE automation... Something about setting up the SPRITEs to move on pre-set lines-- paths... I'm interested in some more details. :) of course, your documentation will come up in time, but I'm antsy. :)

Link to comment
Share on other sites

Mark-- are you using Brodie's conventions (for the most part)? Wycove offers "compatibility screens"-- I assume yours is a ground-up approach...

 

Using screens is a bit tricky for some reason on my copy of Wycove.. They don't seem to load properly.

 

Anyway, how many columns in your editor? I don't remember if you addressed that in your videos...

 

:cool:

Link to comment
Share on other sites

Mark-- are you using Brodie's conventions (for the most part)? Wycove offers "compatibility screens"-- I assume yours is a ground-up approach...

 

Using screens is a bit tricky for some reason on my copy of Wycove.. They don't seem to load properly.

 

Anyway, how many columns in your editor? I don't remember if you addressed that in your videos...

 

:cool:

Yeah sort of. It's written from scratch without any references to other forth *systems*. I kind of used the Forth-83 standard as a guide, but not everything is in there.

 

Most Brodie stuff will work though, I think. For example, there is an EGGS program somewhere in there. That program works perfectly. You can just type it in.

 

:)

 

 

BTW: The editor: It's a 64 column by 16 line (64x16=1024) editor, which 'windows' like the editor in Editor Assembler (it uses 40 column mode, but I would like to do 80 column mode too if I can fit it in - it's all about time... At what point do I say "ENOUGH!" and just release it!)

 

http://www.youtube.com/watch?v=zEhDvNMDL78

Edited by Willsy
Link to comment
Share on other sites

We should set up a Skype chat/instruction session on TF soon... We could advertise it in all the usual places and have a nice go of it! :)

 

If there's enough interest, sure, I can do that, just let me know!

 

Also, I'm going to be doing lots of screen casts via YouTube to teach Forth programming, and TurboForth. These will be of course be watchable via 'The Tube' but I'll also be stitching them into www.turboforth.net

 

Mark

Link to comment
Share on other sites

BTW, when you release the tf package, we should do a little "forth demo" contest on here. :)

Yeah, sure why not. I'm hoping that there will be some interest in this language, after spending all this time writing it! :roll:

 

All I can say is, in all the years I've been a professionally paid software engineer, Forth is the damned neatest thing I ever did see. The power of it is really awesome.

 

:D

Link to comment
Share on other sites

Hey Willsy... in the above pictures I took, I was using Wycove's "immediate" mode... not the screen editor. I'm assuming TF has a similar feature?

Yep - it has an interactive mode - check out the presentation vids I did for the UK meeting - you'll see me typing stuff and TurboForth immediately giving the answer :P

Edited by Willsy
Link to comment
Share on other sites

awesome, man.

 

So... what's the ETA, man? I think me and JonnyBritish are gonna have a cow waiting for it. =) hahaha!!

 

Actually, I'm mostly interested in the turboforth-specific command documents... Of course the Brodie book is general to Forth, but I'd love to see your turboforth equivalents to CALL CHAR, CALL PATTERN and the like. In your own time, buddy... I'm really just expressing my desire to get something new to read. =)

Link to comment
Share on other sites

awesome, man.

 

So... what's the ETA, man? I think me and JonnyBritish are gonna have a cow waiting for it. =) hahaha!!

 

Actually, I'm mostly interested in the turboforth-specific command documents... Of course the Brodie book is general to Forth, but I'd love to see your turboforth equivalents to CALL CHAR, CALL PATTERN and the like. In your own time, buddy... I'm really just expressing my desire to get something new to read. =)

 

CHAR in TurboForth is DCHAR (Define Character) - this is because CHAR means something else in the Forth Language. Try this in Wycove:

CHAR * .

 

PATTERN is SPRPAT - it's stack signature is ( sprite ascii -- )

 

I don't know if you have seen stack signatures (they are explained in my book ;-) what this means is that SPRPAT expects the ascii value on the top of the stack, and the sprite number below it, and they are removed after execution of the word.

 

DCHARs stack signature is ( n1..nx ascii count -- )

 

So, you can place a number of 16-bit words on the stack (n1 to nx) then you tell DCHAR how *many* of those words you put on the stack, then you give him the ASCII code and call DCHAR, and your character is defined.

 

( GRAPHICS DEFINITION TEST )
: UDG 
 HEX 0607 0302 0703 0103 DECIMAL 4 40 DCHAR
 HEX 0707 0E0D 0306 070E DECIMAL 4 41 DCHAR
 HEX 00C0 E0C0 C0C0 80C0 DECIMAL 4 42 DCHAR
 HEX E0E0 F0F0 C0E0 60E0 DECIMAL 4 43 DCHAR
;
: SHOW 1 GMODE UDG 40 EMIT 42 EMIT CR 41 EMIT 43 EMIT CR ;
SHOW

 

Here we define 4 8x8 characters (note: it could be done with a single DCHAR but the above is much clearer)

We then switch into 32 clumn mode (1 GMODE) and emit the four characters to the screen, giving us this:

 

willy.png

 

:)

 

If you think about it, DCHAR is a little weird. The data for the character is placed on the stack. Therefore, you would kind of expect the top left of the character to be at the top of the stack. However, this would mean that you would have to place your character data on the stack backwards, which is just silly. Therefore I coded DCHAR so that you write your hex data in the same order as you would in CALL CHAR - DCHAR looks down the stack and works its way back to the top. It's much more intuitive that way, but was a little harder to code ;-) It means your graphic data reads from left to right on the screen, as we're used to writing it, instead of right to left, the "stack way"!

Edited by Willsy
Link to comment
Share on other sites

Very nice. I know I wasn't really going to get into this, but it looks quite/too easy. :)

 

Now, this is a long shot, but would this be okay/do the same ?

 

( GRAPHICS DEFINITION TEST )
: UDG 
 HEX 0607 0302 0703 0103
     0707 0E0D 0306 070E
     00C0 E0C0 C0C0 80C0
     E0E0 F0F0 C0E0 60E0 DECIMAL 16 40 DCHAR
;
: SHOW 1 GMODE UDG 40 EMIT 42 EMIT CR 41 EMIT 43 EMIT CR ;
SHOW

Link to comment
Share on other sites

awesome, man.

 

So... what's the ETA, man? I think me and JonnyBritish are gonna have a cow waiting for it. =) hahaha!!

 

Actually, I'm mostly interested in the turboforth-specific command documents... Of course the Brodie book is general to Forth, but I'd love to see your turboforth equivalents to CALL CHAR, CALL PATTERN and the like. In your own time, buddy... I'm really just expressing my desire to get something new to read. =)

 

While waiing for this release I talked wih the the lead developer of the wikireader and discovered you could write a text editor in forth and be able to write code directly on the device and also write games as it supports double buffering or being able to draw screens etc

 

looking forward to the release.

 

Forth is a lot of fun

Link to comment
Share on other sites

Very nice. I know I wasn't really going to get into this, but it looks quite/too easy. :)

 

Now, this is a long shot, but would this be okay/do the same ?

 

( GRAPHICS DEFINITION TEST )
: UDG 
 HEX 0607 0302 0703 0103
     0707 0E0D 0306 070E
     00C0 E0C0 C0C0 80C0
     E0E0 F0F0 C0E0 60E0 DECIMAL 16 40 DCHAR
;
: SHOW 1 GMODE UDG 40 EMIT 42 EMIT CR 41 EMIT 43 EMIT CR ;
SHOW

 

Hello mate! Yes it would. Exactly as you have written it ;) Excellent!

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