6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Thu Nov 21, 2024 8:56 pm

All times are UTC




Post new topic Reply to topic  [ 266 posts ]  Go to page Previous  1 ... 9, 10, 11, 12, 13, 14, 15 ... 18  Next
Author Message
PostPosted: Mon Dec 31, 2018 3:23 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
JimBoyd wrote:
I'm puzzled by a note in the document
Quote:
Many Forths now use the words cs-pick and cs-roll instead of the branch variants

It is my understanding that CS-PICK and CS-ROLL do not replace the branch primitives ( called ?BRANCH and BRANCH in the Forth-83 standard ) or the high level control flow words but rather augment them.
Hmmm, good point, once I got BRANCH and 0BRANCH working I sort of lost interest in the whole topic. A more careful reading looks like you're right, this is to create higher-level constructs. Thanks, I'll change that.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 12:10 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Tali Forth 2 has just formally reached Version 1.0 (https://github.com/scotws/TaliForth2). Yay!

To recap, Tali is a bare-metal, Subroutine Threaded (STC), mostly ANS Forth that was created explicitly for the 65c02. It now has the basic features, including blocks and wordsets, assembler and disassembler, and is pretty stable thanks to its test suite. Not only is the code happily over-commented, but the documentation now includes a manual with more than 120 pages in the PDF version, with tutorials for wordsets, blocks, and a (limited) 6502 clone of the ed line-based editor. The aim is to make a Forth that is easy to understand and adopt for other projects, one reason why it's released in the public domain. It will run out of the box with the py65 simulator (https://github.com/mnaberez/py65), making it easy to experiment with.

This has been almost six years to the day in the making, so a lot of thanks are in order to everybody who has given feedback, raised issues, and provided encouragement. Most very special thanks go to Sam Colwell, who not only did an enormous amount of work, but also added lots of really clever stuff that improved the quality immensely, not the least the test suite in its current form. The py65 simulator and Ophis assembler (https://michaelcmartin.github.io/Ophis/) are both rock-stable, and I can only recommend both.

And of course thanks to everybody here at 6502.org, without whom I would have never even tried Forth.

The one big thing that is still missing from Tali is multitasking. Since it is neither covered in a standardized way by ANS Forth nor by Gforth, this is going to require creating a new wordset. One minor (cough) problem will be that we've run out of space -- the idea was to keep Tali in 24 Kb ROM so that users can use it side-by-side with another system, and further 2 Kb of that are reserved for the user to define their own high-level Forth words. Based on feedback, that 24 Kb limit might fall.

Any and all feedback, suggestions, and comments are of course very welcome. And thanks again, this has been a really fun project.


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 12:33 am 
Offline

Joined: Fri May 05, 2017 9:27 pm
Posts: 895
scotws wrote:
One minor (cough) problem will be that we've run out of space -- the idea was to keep Tali in 24 Kb ROM so that users can use it side-by-side with another system

How difficult would it be to take a page out of the C64 book and have Tali Forth ROM as well as this other system occupy the same memory but use a byte in your I/O block to configure which one is mapped into memory?
[Edit: Poor choice of words on my part, I know, but block in this instance has nothing to do with Forth blocks.
Maybe I/O section? ]


Last edited by JimBoyd on Mon Jan 07, 2019 9:27 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 2:45 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
JimBoyd wrote:
How difficult would it be to take a page out of the C64 book and have Tali Forth ROM as well as this other system occupy the same memory but use a byte in your I/O block to configure which one is mapped into memory?
I honestly don't know, for the first step, we've been trying to keep it simple, which is why multitasking wasn't added from the beginning. I'm also not sure if this is something that py65 supports, which is the current tool for me for most of the work. I know the Steckschwein people have "bankable ROM" (https://steckschwein.de/home/) but haven't taken a look at the details yet ...


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 4:23 pm 
Offline

Joined: Thu Mar 03, 2011 5:56 pm
Posts: 284
Congratulations on reaching V1.0!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 5:29 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
I didn't realize py65 had mass storage. How is this manifested?


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 04, 2019 7:58 pm 
Offline

Joined: Sun May 13, 2018 5:49 pm
Posts: 255
The mass storage for py65 and platforms without nonvolatile storage is done using a ramdrive built into Tali. Running the command
Code:
4 block-ramdrive-init
will allot four 1K blocks and will install the vectors (XTs) for block-read and block-write to routines that access the ramdrive. This facility is used to test all of the block words in the py65mon simulator.

For systems that actually have non-volatile storage, the user simply installs the vectors to their own routines for reading/writing a block to/from storage. On my single board computer, I have an I2C bus implemented through a VIA with an I2C EEPROM. Tali has a user-words.fs file where you can put such things and they will be stored in the ROM and compiled on bootup.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 07, 2019 2:42 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Sort of a meta-question - is there any way to change the subject line of this thread? The "ALPHA" in the headline is outdated, it would be nice if this could just be "Tali Forth for the 65c02" or something to that effect ... sorry if I'm missing something obvious ...


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 07, 2019 2:47 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
I'm not certain, but perhaps you could just navigate to your head post and edit the subject line to see what global effect it has, if any?

If that doesn't have the desired result, I'm sure that no one would complain if you started a new thread with your desired title, as long as you referred back to this one as applicable.

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 07, 2019 3:59 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
Yes, editing the head post to change the subject line should work.  If you can't make it work, I can do it for you.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Jan 07, 2019 4:24 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Ah, that worked. Thanks!


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 02, 2019 4:53 am 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Honestly, the programmer in me hates summer, I seem to be spending all my time outdoors, in the fresh air, with green things and my family, getting exercise. To make matters worse, my NAS motherboard died, and I had the genius idea of switching the new system to a Ubuntu Server basis with ZFS and Docker, because how hard can that be, right? That's sucked up indoor time. At least those pools don't involve actual cool, refreshing water.

Anyway, finally managed an update to Tali Forth. Carsten Strotmann has contributed platform files for Apple machines, thank you very much! And the Steckschwein people sent me a patch (as in diff) to make BYE customizable, and that will be next.

Probably when it rains. You'd think that would be a thing in Germany, but noooo, has to be sunny all the time. Next thing you know, there will be speed limits on the Autobahn.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jul 02, 2019 9:20 am 
Offline

Joined: Sun Dec 28, 2014 11:04 pm
Posts: 82
Location: Munich, Germany
scotws wrote:
Anyway, finally managed an update to Tali Forth. Carsten Strotmann has contributed platform files for Apple machines, thank you very much! And the Steckschwein people sent me a patch (as in diff) to make BYE customizable, and that will be next.

Also, Carsten is the maintainer of https://theultimatebenchmark.org/ which is a Forth based benchmark that started off a couple of years ago as some silly 6502 vs Z80-argument (sheesh) at the Vintage Computer Festival Europe in Munich and has become a regular event since then.

Carsten has some results using TaliForth2, and "the Steckschwein people", too:
https://theultimatebenchmark.org/#sec-7

(I kinda like "the Steckschwein people", makes me think "crab people", and hear their chant https://www.youtube.com/watch?v=e20DtUJDxDg)

scotws wrote:
Next thing you know, there will be speed limits on the Autobahn.

I'm all for it!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 24, 2020 7:43 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Just in case somebody missed it in the other thread: There is a discussion started at https://github.com/scotws/TaliForth2/issues/232 for the lower-level details of how to continue with Tali Forth 2 from here. It's probably going to be a bit too detailed for here, where we should probably stick to more high-level things. For instance, Tali needs a different assembler that can handle conditional assembly, and a more modular system so people can pick and choose what extra parts they want. Suggestions and comments welcome!


Top
 Profile  
Reply with quote  
PostPosted: Fri Jan 24, 2020 9:07 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8543
Location: Southern California
scotws wrote:
For instance, Tali needs a different assembler that can handle conditional assembly, and a more modular system so people can pick and choose what extra parts they want. Suggestions and comments welcome!

See our topic, "65c816 (opinionated) assembler showdown."  I use C32 which I tell about briefly there, which I like for several reasons.  You buy one assembler for $99 and it has options for dozens of different processors (including of course the 6502, 65c02, and 65816), and they tell you how to make up the instruction tables for any new processor you want, even of your own design.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 266 posts ]  Go to page Previous  1 ... 9, 10, 11, 12, 13, 14, 15 ... 18  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 5 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: