Home
JAQForum Ver 20.06
Log In or Join  
Active Topics
Local Time 04:59 08 May 2024 Privacy Policy
Jump to

Notice. New forum software under development. It's going to miss a few functions and look a bit ugly for a while, but I'm working on it full time now as the old forum was too unstable. Couple days, all good. If you notice any issues, please contact me.

Forum Index : Microcontroller and PC projects : FANF shell for PIC32

Author Message
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 07:47pm 22 Aug 2014
Copy link to clipboard 
Print this post

I started this project some while ago and after a few months of excited work finally have something to announce.

You can download the initial revision of FANF for Microkite/PIC32MX170 from GitHub

Unlike the 'mites I have released it in completely free license - free to modify, share and use without restrictions, so everyone interested is welcome to update the sources.
The FANF shell supports a FAT filesystem on SD card, multitasking, dynamic resizing of data containers and other things that people who try it will discover.

As of now I have ported it to my Microkite module only, but it can be used with a bare PIC32MX170 as well thus providing about 45k of RAM to the user. The library of words can be stored (and is automatically restored) from the internal flash memory with the words store/restore.
Use 'help" or 'words' as a starting point.
Running on a bare MX170 works perfectly fine, but if you are going to use files on a SD card, you will need to connect the SD to the same port as in the Microkite. The console is on the same port as in MMbasic.

In general this is a Forth-descendant language with some borrowed concepts from a few other modern languages.
The execution speed is quite decent and higher than MMbasic. FANF runs a bytecode virtual machine and executes compiled pseudocode similar to what Java does.

The current port is fully functional except for the I2C fin and fout words because I don't have anything I2C to test with right now. Moving house and it is a huge chaos around me, so maybe in some time from now I will update that too. The only other non-functioning word is cpuclk (due to the same reason as above). I have plans to add a number of other words to match the uM functionality (as a bare minimum), but it will take some time to catch up.

Also, right now it still lacks a full-screen editor so editing of previously written words is quite difficult by using the insrc and resrc words. I am planning to get that significantly improved soon as well by adding a decent full-scale editor in the shell.

Well, there is a lot more to describe and explain, but again - it will take some time and if anyone has a question, please ask.
This is not another Basic, but something completely different, but I hope some people still might like it.

Kon

http://rittle.org

--------------
 
halldave

Senior Member

Joined: 04/05/2014
Location: Australia
Posts: 121
Posted: 01:59am 23 Aug 2014
Copy link to clipboard 
Print this post

very interesting language and syntax,,,,

documentation here
https://github.com/knivd/FANF/blob/master/doc/FANF.pdf
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 02:28am 23 Aug 2014
Copy link to clipboard 
Print this post

Thanks,
the same documentation can be downloaded also from my site

http://rittle.org

--------------
 
G8JCF

Guru

Joined: 15/05/2014
Location: United Kingdom
Posts: 676
Posted: 02:17pm 23 Aug 2014
Copy link to clipboard 
Print this post

@kiiid

Very interesting indeed. I really had thought that Forth was as extinct as a Dodo but perhaps you've resurrected it ! I use HP RPN calculators all the time - HP 15C, and I have a spare '170F lying around, so I might just give FANF a try out !

Thanks for daring to be different, Charlie Moore would have been proud of you.

73

Peter
The only Konstant is Change
 
kiiid

Guru

Joined: 11/05/2013
Location: United Kingdom
Posts: 671
Posted: 05:56pm 23 Aug 2014
Copy link to clipboard 
Print this post

Thank you Peter. Any suggestions based on your test will be welcome.

There are some "hidden" features that can be done with FANF. The PMO is particularly interesting one because it gives the chance to have up to 32 low-speed UART outputs, generate various waveforms and switching patterns without even bothering to control them from program. I will try to reveal some of those little hidden things through some hints, but it all takes time. It is the very first revision after all and on top of that I am in the middle of a relocation.
Which reminds me: I won't be able to ship any order for about two weeks now. I have disabled the purchasing on the website until finish with the relocation. Sorry about that, it will be only temporary for short time.

Kon

http://rittle.org

--------------
 
TassyJim

Guru

Joined: 07/08/2011
Location: Australia
Posts: 5915
Posted: 06:24pm 23 Aug 2014
Copy link to clipboard 
Print this post

Yes, very interesting.
I played with forth on my Z80 'microbee' and still have the 'starting forth' books.
I don't have any processors to use but will keep it in mind for a future order.

Jim
VK7JH
MMedit   MMBasic Help
 
Print this page


To reply to this topic, you need to log in.

© JAQ Software 2024