Well, seems there are a lot of people with not much better things to do then bust into constructive threads and act
like children. So, I might as well give them something else to complain about. :)
Anyway, what processors is colorforth on?
Is there a common code repository for code in Colorforth?
What about common services and feature code which could work on all editions of Colorforth?
What about a standard based on Colorforth using a common code repository and common core and optimal features
and services framework in a common repository?
_____
A tentative discussion.
What does Etherforth and Machine Forth have to offer. I know I haven't concentrated
on Etherforth (are we actually up to one after that?), but Colorforth was written a
long time ago, and Chuck has made a few ways to improve things up, if memory serves
me right? So, should Colorforth be updated, or the latest me adapted as a new version?
Virtual workspaces (windows and screens) and actual workspaces.
Flexible GUI element placement? With text descriptor default.
Input output translator and remapper. Basically, for controls, define targets to aim
at for each control, direction and priority. The system implementation, or hardware
add-on, has it's own scheme to match up the controls. The system then auto maps, or
the developer then custom maps (such as in known embedded product for better results). The system has an system implementation ID, so the developer knows what to
map, and hardware ID. Where no system ID is given, then the system auto maps,
and the user uses a configuration editor to change the map to customise to their
liking.
With storage mapping, convention is used to address file, file handlers, pointers, and
flat space, with declared lengths of each of these values. Simple (cross compatible mode of subset of conventional usage) and complex mode, where system
ID and all values are exposed. Most of the time, only simple is needed. Complex mode is simply sunk or swim, if nobody works it out eventually. Trying to
map all possible values to a virtual equivalent is a pain in the ... I had over 1000
possible directory entry fields, or something like that, just on my own design, trying
to accommodate all possibilities, but newer file systems have more than even that. Simple, is more like fat32 field set, as most of the time app code is written for
one storage space, rather than a utility ranging across a segmented secure multi
program multi user system.
And Jeff's Aha! work?
______
The reason why colorforth is still important.
There was some paper written long ago comparing machine forth to forth on an ARM, and I think native code. It was talking about people suggesting that machineforth
was superior, which I don't think people were. The actual reality, is the mapping of
colorforth to a subset of 386 code, offered a good opportunity for a virtual machine, and a risc mode version of the 386 instruction set on a microscopic misc
CPU to run that mode, capable of going to GA x18 low power states with performance. Much of the time, a x86 system and apps, could be programmed to stay
in this mode, only coming out when higher performance tasks are needed, crashing
battery consumption. Definitely desirable. As an array, these cpus can be dynamically turned on as intended, with big 32 bit+ versions. This would achieve
a much higher performance density per watt and per transistor. That's where it
would be clearly superior, in that particular use case. Now, people aren't going to ditch
their x86 code and processor cores overnight for this, so the new architecture could
offer some benefits for low energy modes of operation, and specially written code.
But, for embedded and mobile use, most of it could be just this mode straight off
the bat, with maybe a basic 32 or 64 bit x86 core for some compatibility, or even such
code run through emulation in the parralel array. Wherever that is a performance
enhancement or not, is irrelevant, as eventually, it becomes all the new misc 86
code, and in the meantime less cost and energy consumption per transistor is gained in the processor department, in an emulated system.
Thank you.
Anyway, what processors is colorforth on?x86 32bit, i386 and higher or compatible - that is any modern Intel/AMD PC.
Is there a common code repository for code in Colorforth?Yes - my distribution of cf2022 here : https://www.inventio.co.uk/cf2022/index.html.
What about common services and feature code which could work on all editions of Colorforth?colorForth cf2022 is work in progress, and I do not intend to make anything backwards compatible with earlier versions, or compatible with other distributions such as the excellent GreenArrays ArrayForth.
What about a standard based on ColorforthYou could use the current (latest) cf2022 as the current standard if you like, but it is likely to change. When I say "likely" I mean almost certainly.
On Tuesday, September 6, 2022 at 11:49:59 AM UTC+2, Wayne morellini wrote:
Thank you.Hi Wayne,
What about common services and feature code which could work on all editions of Colorforth?colorForth cf2022 is work in progress, and I do not intend to make anything backwards compatible with earlier versions, or compatible with other distributions such as the excellent GreenArrays ArrayForth.
What about a standard based on ColorforthYou could use the current (latest) cf2022 as the current standard if you like, but it is likely to change. When I say "likely" I mean almost certainly.
The relationship between the F18 core (used in the GA144) and colorForth is complex. The F18 uses 5 bit opcodes that map to the F18 hardware, and these opcodes are compiled by the GreenArrays' ArrayForth, which is a version of colorForth running on aPC. It would be possible to re-write colorForth to use only the F18 opcode instruction set as an extra layer between the hardware and higher level colorForth code. This would make is run faster on an F18 core, but less fast on a PC. There is no point in
colorForth runs on a PC at the moment - that is at least one thing that all colorForths have in common, including Pablo Reda's R4 (https://github.com/phreda4/r4).
Cheers,
Howerd
On Tuesday, September 6, 2022 at 11:49:59 AM UTC+2, Wayne morellini wrote:
Well, seems there are a lot of people with not much better things to do then bust into constructive threads and act
like children. So, I might as well give them something else to complain about. :)
Anyway, what processors is colorforth on?
Is there a common code repository for code in Colorforth?
What about common services and feature code which could work on all editions of Colorforth?
What about a standard based on Colorforth using a common code repository and common core and optimal features
and services framework in a common repository?
_____
A tentative discussion.
What does Etherforth and Machine Forth have to offer. I know I haven't concentrated
on Etherforth (are we actually up to one after that?), but Colorforth was written a
long time ago, and Chuck has made a few ways to improve things up, if memory serves
me right? So, should Colorforth be updated, or the latest me adapted as a new version?
Virtual workspaces (windows and screens) and actual workspaces.
Flexible GUI element placement? With text descriptor default.
Input output translator and remapper. Basically, for controls, define targets to aim
at for each control, direction and priority. The system implementation, or hardware
add-on, has it's own scheme to match up the controls. The system then auto maps, or
the developer then custom maps (such as in known embedded product for better
results). The system has an system implementation ID, so the developer knows what to
map, and hardware ID. Where no system ID is given, then the system auto maps,
and the user uses a configuration editor to change the map to customise to their
liking.
With storage mapping, convention is used to address file, file handlers, pointers, and
flat space, with declared lengths of each of these values. Simple (cross compatible mode of subset of conventional usage) and complex mode, where system
ID and all values are exposed. Most of the time, only simple is needed. Complex mode is simply sunk or swim, if nobody works it out eventually. Trying to
map all possible values to a virtual equivalent is a pain in the ... I had over 1000
possible directory entry fields, or something like that, just on my own design, trying
to accommodate all possibilities, but newer file systems have more than even
that. Simple, is more like fat32 field set, as most of the time app code is written for
one storage space, rather than a utility ranging across a segmented secure multi
program multi user system.
And Jeff's Aha! work?
______
The reason why colorforth is still important.
There was some paper written long ago comparing machine forth to forth on an
ARM, and I think native code. It was talking about people suggesting that machineforth
was superior, which I don't think people were. The actual reality, is the mapping of
colorforth to a subset of 386 code, offered a good opportunity for a virtual
machine, and a risc mode version of the 386 instruction set on a microscopic misc
CPU to run that mode, capable of going to GA x18 low power states with performance. Much of the time, a x86 system and apps, could be programmed to stay
in this mode, only coming out when higher performance tasks are needed, crashing
battery consumption. Definitely desirable. As an array, these cpus can be dynamically turned on as intended, with big 32 bit+ versions. This would achieve
a much higher performance density per watt and per transistor. That's where it
would be clearly superior, in that particular use case. Now, people aren't going to ditch
their x86 code and processor cores overnight for this, so the new architecture could
offer some benefits for low energy modes of operation, and specially written code.
But, for embedded and mobile use, most of it could be just this mode straight off
the bat, with maybe a basic 32 or 64 bit x86 core for some compatibility, or even such
code run through emulation in the parralel array. Wherever that is a performance
enhancement or not, is irrelevant, as eventually, it becomes all the new misc 86
code, and in the meantime less cost and energy consumption per transistor is
gained in the processor department, in an emulated system.
PC. It would be possible to re-write colorForth to use only the F18 opcode instruction set as an extra layer between the hardware and higher level colorForth code. This would make is run faster on an F18 core, but less fast on a PC. There is no point inThank you.Hi Wayne,
Anyway, what processors is colorforth on?x86 32bit, i386 and higher or compatible - that is any modern Intel/AMD PC.
Is there a common code repository for code in Colorforth?Yes - my distribution of cf2022 here : https://www.inventio.co.uk/cf2022/index.html.
The colorForth application code is pre-parsed, so can only be read by the colorForth program (or a specialised editor).
GreenArrays also provide arrayForth code in their distribution, but it is not compatible with cf2022.
Likewise Pablo Reda's R4 distirbution...
What about common services and feature code which could work on all editions of Colorforth?colorForth cf2022 is work in progress, and I do not intend to make anything backwards compatible with earlier versions, or compatible with other distributions such as the excellent GreenArrays ArrayForth.
What about a standard based on ColorforthYou could use the current (latest) cf2022 as the current standard if you like, but it is likely to change. When I say "likely" I mean almost certainly.
The relationship between the F18 core (used in the GA144) and colorForth is complex. The F18 uses 5 bit opcodes that map to the F18 hardware, and these opcodes are compiled by the GreenArrays' ArrayForth, which is a version of colorForth running on a
colorForth runs on a PC at the moment - that is at least one thing that all colorForths have in common, including Pablo Reda's R4 (https://github.com/phreda4/r4).
On Sunday, September 11, 2022 at 12:03:53 PM UTC-4, Howerd wrote:..
On Tuesday, September 6, 2022 at 11:49:59 AM UTC+2, Wayne morellini wrote:
Perhaps you are not so familiar with the F18A. It is not remotely just another CPU that you can port random programs to, such as colorForth. The F18A only has access to 64 words of RAM (If I'm remembering the correct number) and 64 words of ROM whichcontain code from GA. To compile a program for the F18A, even one as compact as colorForth probably is, will require partitioning code across multiple CPUs and adding code for communications. It sounds like you are expecting this to be done by the tools
What was the Forth that was ported by humans to the GA144? That ended up using some plurality of F18As and an external memory.
Maybe the easy way to port colorForth to the F18A is to write an x86 emulator for the F18A and solve the problem for a very large class of programs.
Hmmm... I wonder if the F18A has a control bit to enable an x86 instruction mo
More crap. Time to finish, you have been stalking me in enough threads.Simply answer the question. Where's your source? It's not rocket science..
On Tuesday, September 6, 2022 at 11:49:59 AM UTC+2, Wayne morellini wrote:..
colorForth runs on a PC at the moment - that is at least one thing that all colorForths have in common, including Pablo Reda's R4 (https://github.com/phreda4/r4).
Cheers,
Howerd
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 475 |
Nodes: | 16 (2 / 14) |
Uptime: | 18:34:09 |
Calls: | 9,487 |
Calls today: | 6 |
Files: | 13,617 |
Messages: | 6,121,092 |