Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2020-12

TurboVision is reborn as FOSS (again)

31 messages · 13 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Markus Greim
to Nikolay Nikolov

....FPC has had a Turbo Pascal-like console IDE for many years...

"has had" ?

AKAIK "has"

I still used it yesterday.

Grüße

Markus

Earlier message 29 lines
--- original message --- On December 20, 2020, 7:33 PM GMT+1 wrote: On 12/19/20 6:35 PM, Liam Proven via fpc-pascal wrote: >> https://github.com/magiblot/tvision >> >> Someone enterprising could make a TurboPascal clone out of FPC. :-) >> > Meh. FPC has had a Turbo Pascal-like console IDE for many years. It uses Free Vision, which is a pascal port of the C++ version of Turbo Vision (because Borland didn't release their Pascal version under a free/open source license). > https://wiki.freepascal.org/Free_Vision#Turbo_Vision > Nikolay > _______________________________________________ > fpc-pascal maillist - > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal --- end of original message ---

Reply by email

Nikolay Nikolov
to Markus Greim
Markus Greim wrote 7 lines
....FPC has had a Turbo Pascal-like console IDE for many years... "has had" ? AKAIK "has" I still used it yesterday.

English is not my native language, but I think "has had" means it still has it. If I had said "had" instead of "has had", it would mean it had it in the past, but no longer has it. Please correct me if I'm wrong.

Nikolay

Show quoted text 31 lines
Grüße Markus Sent from Front > On December 20, 2020, 7:33 PM GMT+1 > wrote: > > > On 12/19/20 6:35 PM, Liam Proven via fpc-pascal wrote: >> >> > https://github.com/magiblot/tvision >> <https://github.com/magiblot/tvision> >> > >> > Someone enterprising could make a TurboPascal clone out of FPC. :-) >> > >> Meh. FPC has had a Turbo Pascal-like console IDE for many years. It >> uses Free Vision, which is a pascal port of the C++ version of Turbo >> Vision (because Borland didn't release their Pascal version under a >> free/open source license). >> >> https://wiki.freepascal.org/Free_Vision#Turbo_Vision >> <https://wiki.freepascal.org/Free_Vision#Turbo_Vision> >> >> Nikolay >> >> _______________________________________________ >> fpc-pascal maillist - >> >> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal >> <https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal>

Reply by email

Markus Greim
to Nikolay Nikolov

Hello Nikolay,

I am a German - so may be we are both "lost in translation"

Kind Regards

Markus

Earlier message 76 lines
--- original message --- On December 21, 2020, 10:17 AM GMT+1 wrote: On 12/21/20 10:42 AM, Markus Greim wrote: > ....FPC has had a Turbo Pascal-like console IDE for many> years... > "has had" ? > AKAIK "has" > I still used it yesterday. English is not my native language, but I think "has had" means it still has it. If I had said "had" instead of "has had", it would mean it had it in the past, but no longer has it. Please correct me if I'm wrong. Nikolay > Grüße > Markus >> On December 20,>> 2020, 7:33 PM GMT+1 >> wrote: >> On 12/19/20 6:35 PM, Liam Proven via fpc-pascal wrote: >>> > https://github.com/magiblot/tvision >>> > >>> > Someone enterprising could make a TurboPascal clone out>>> of FPC. :-) >>> > >>> Meh. FPC has had a Turbo Pascal-like console IDE for many>>> years. It uses Free Vision, which is a pascal port of the>>> C++ version of Turbo Vision (because Borland didn't release>>> their Pascal version under a free/open source license). >>> https://wiki.freepascal.org/Free_Vision#Turbo_Vision >>> Nikolay >>> _______________________________________________ >>> fpc-pascal maillist - >>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal --- end of original message ---

Reply by email

Sven Barth
to Nikolay Nikolov: English is not my native language, but I think "has had" means it still has it. If I had…

Nikolay Nikolov via fpc-pascal schrieb am
Mo., 21. Dez. 2020, 11:36:

Show quoted text 15 lines
On 12/21/20 10:42 AM, Markus Greim wrote: ....FPC has had a Turbo Pascal-like console IDE for many years... "has had" ? AKAIK "has" I still used it yesterday. English is not my native language, but I think "has had" means it still has it. If I had said "had" instead of "has had", it would mean it had it in the past, but no longer has it. Please correct me if I'm wrong.

That's how I was taught it as well (with English not being my first language): "has had" means that the "having" started in the past and holds till now. "had had" would mean that it started in the past and ended somewhere less in the past and "had" alone is a specific point in the past.

Regards,
Sven

Reply by email

Liam Proven
to Nikolay Nikolov: English is not my native language, but I think "has had" means it still has it. If I had…
Nikolay Nikolov wrote 5 lines
On 12/21/20 10:42 AM, Markus Greim wrote: ....FPC has had a Turbo Pascal-like console IDE for many years...

Sorry about this. I did not get this email, only the replies to it.

I was unaware of that!

Is this conversion of TurboVision FOSS, then?

Liam Proven – Profile: https://about.me/liamproven Email: – gMail/gTalk/gHangouts: Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053

Reply by email

Unknown author

Sven Barth via fpc-pascal wrote the following on 21/12/2020, 13:13:08:

Show quoted text 23 lines
Nikolay Nikolov via fpc-pascal schrieb am Mo., 21. Dez. 2020, 11:36: > > On 12/21/20 10:42 AM, Markus Greim wrote: > > ....FPC has had a Turbo Pascal-like console IDE for many years... > > "has had" ? > > AKAIK "has" > > I still used it yesterday. > > English is not my native language, but I think "has had" means it still > has it. If I had said "had" instead of "has had", it would mean it had it > in the past, but no longer has it. Please correct me if I'm wrong. > That's how I was taught it as well (with English not being my first language): "has had" means that the "having" started in the past and holds till now. "had had" would mean that it started in the past and ended somewhere less in the past and "had" alone is a specific point in the past.

"has had" is correct and good English.
Bob Martin in England

Reply by email

Travis Siegel
to Nikolay Nikolov: English is not my native language, but I think "has had" means it still has it. If I had…

I don't know what non native english speakers are taught, nor can I address the folks across the pond, but here in the Us at least, has denotes currently exists, while had indicates past tense, I.E. no longer exists.  Combining the two is where it gets dicy, and is generally avoided for syntactical reasons.

Nikolay Nikolov wrote 53 lines
On 12/21/20 10:42 AM, Markus Greim wrote: > ....FPC has had a Turbo Pascal-like console IDE for many years... > > "has had" ? > > AKAIK "has" > > I still used it yesterday. English is not my native language, but I think "has had" means it still has it. If I had said "had" instead of "has had", it would mean it had it in the past, but no longer has it. Please correct me if I'm wrong. Nikolay > > Grüße > > Markus > Sent from Front >> On December 20, 2020, 7:33 PM GMT+1 >> wrote: >> >> >> On 12/19/20 6:35 PM, Liam Proven via fpc-pascal wrote: >>> >>> > https://github.com/magiblot/tvision >>> <https://github.com/magiblot/tvision> >>> > >>> > Someone enterprising could make a TurboPascal clone out of FPC. :-) >>> > >>> Meh. FPC has had a Turbo Pascal-like console IDE for many years. It >>> uses Free Vision, which is a pascal port of the C++ version of >>> Turbo Vision (because Borland didn't release their Pascal version >>> under a free/open source license). >>> >>> https://wiki.freepascal.org/Free_Vision#Turbo_Vision >>> <https://wiki.freepascal.org/Free_Vision#Turbo_Vision> >>> >>> Nikolay >>> >>> _______________________________________________ >>> fpc-pascal maillist - >>> >>> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal >>> <https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal> _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Graeme Geldenhuys
to Liam Proven: On Mon, 21 Dec 2020 at 10:56, Nikolay Nikolov via fpc-pascal Sorry about this. I did not…
Liam Proven wrote
Is this conversion of TurboVision FOSS, then?

Yes, it definitely is, otherwise it wouldn't be part of FPC. If you have FPC install, you should be able to simply type 'fp' from the command prompt and it should fire up the FreeVision Text IDE.

Here is a screenshot of the Text IDE from back in 2008, but it has been around a LOT longer than that. :-)

https://en.wikipedia.org/wiki/Free_Pascal#Integrated_development_environments

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Sven Barth
to Liam Proven: On Mon, 21 Dec 2020 at 10:56, Nikolay Nikolov via fpc-pascal Sorry about this. I did not…

Liam Proven via fpc-pascal schrieb am
Mo., 21. Dez. 2020, 18:11:

Show quoted text 14 lines
On Mon, 21 Dec 2020 at 10:56, Nikolay Nikolov via fpc-pascal wrote: > > > On 12/21/20 10:42 AM, Markus Greim wrote: > > ....FPC has had a Turbo Pascal-like console IDE for many years... Sorry about this. I did not get this email, only the replies to it. I was unaware of that! Is this conversion of TurboVision FOSS, then?

It's license *might* not count as FOSS, but it's distributed as part of FPC (see $fpcdir/packages/fv).

The main restriction is that it only supports ShortString and thus has no Unicode support.

Regards,
Sven

Reply by email

Sven Barth
to Travis Siegel: I don't know what non native english speakers are taught, nor can I address the folks…

Travis Siegel via fpc-pascal schrieb am
Mo., 21. Dez. 2020, 17:41:

Show quoted text 6 lines
I don't know what non native english speakers are taught, nor can I address the folks across the pond, but here in the Us at least, has denotes currently exists, while had indicates past tense, I.E. no longer exists. Combining the two is where it gets dicy, and is generally avoided for syntactical reasons.

There is nothing dicy about combining them as "have" is just a normal verb like anything else and thus can be used together with the "have/has/had" temporal particle without any problems.
As long as one knows why a certain temporal construct is used there is no problem and at least in Germany (or more specifically Bavaria) we were taught that in masses.

Regards,
Sven

Reply by email

gabor
to Sven Barth: Liam Proven via fpc-pascal schrieb am Mo., 21. Dez. 2020, 18:11: It's license *might*…

W dniu 2020-12-21 o 23:41, Sven Barth via fpc-pascal pisze:

The main restriction is that it only supports ShortString and thus has no Unicode support.

I wonder which type would be best suited to store a unicode character (code point) for the screen buffer?

type
   TScreenBuffer = array of record
     Character: TypeForUnicodeCodepoint;
     AttributeAndColor: TAttributeAndColor;
   end;

Michał

Reply by email

Karoly Balogh (Charlie/SGR
to Sven Barth: Travis Siegel via fpc-pascal schrieb am Mo., 21. Dez. 2020, 17:41: There is nothing dicy…

Hi,

Sven Barth wrote
As long as one knows why a certain temporal construct is used there is no problem and at least in Germany (or more specifically Bavaria) we were taught that in masses. 

As a native speaker of a language which only has three tenses and no grammatical gender, it's difficult to decide if the twelve tenses of English, or the three genders of German are the more confusing. :P (Probably still the latter, tho'... ;) )

Anyway, any interest to develop Free Vision further is very welcome one, so we can move it from past tense to a future one. I still think text mode UI for console and terminals still has a place, but sadly the current FV implementation doesn't necessarily plays well on some Un*x terminals (it's highly dependent on the font, and many other factors), also a mono mode is sorely missing, which is a problem for both some modern and retro use cases. And yeah, on the high-end, Unicode would be needed.

Charlie

Reply by email

Nikolay Nikolov
to Karoly Balogh (Charlie/SGR
Show quoted text 19 lines
Hi, On Mon, 21 Dec 2020, Sven Barth via fpc-pascal wrote: > As long as one knows why a certain temporal construct is used there is > no problem and at least in Germany (or more specifically Bavaria) we > were taught that in masses. As a native speaker of a language which only has three tenses and no grammatical gender, it's difficult to decide if the twelve tenses of English, or the three genders of German are the more confusing. :P (Probably still the latter, tho'... ;) ) Anyway, any interest to develop Free Vision further is very welcome one, so we can move it from past tense to a future one. I still think text mode UI for console and terminals still has a place, but sadly the current FV implementation doesn't necessarily plays well on some Un*x terminals (it's highly dependent on the font, and many other factors), also a mono mode is sorely missing, which is a problem for both some modern and retro use cases. And yeah, on the high-end, Unicode would be needed.

Speaking of Unicode, I have started working on adding Unicode support to the keyboard, video and mouse units (which are used internally by FV) in the unicodekvm branch. So, if anyone is interested in adding Unicode support to FV, take a look at this branch.

Nikolay

Show quoted text 6 lines
Charlie _______________________________________________ fpc-pascal maillist - https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply by email

Martin Frb
to Markus Greim: I am a German - so may be we are both "lost in translation" Kind Regards Markus ---…
Markus Greim wrote 5 lines
Hello Nikolay, I am a German - so may be we are both "lost in translation" Sent from Front

English and German tenses are very much alike. Except for English having the progressive forms, which do not exist in German (...ing form)

past perfect (started before the past, and usually either continuing into the past or having an effect lasting into the past / used with some other event in the past)   // Plusquamperfekt
had had  (had + verb in past)    //  hatte gehabt

past
had  // hatte

perfect (started in the past, still going on or having an effect still lasting)

have had  //  habe gehabt
has had (3rd person)

present
have // habe

and for a bit of fun (future perfect / future 2) conjunctive/subjunctive mood
causative

I would have had had it done
Würde es getan lassen haben

And if I - in a none nonsensical form - have somebody else possess a hat for me (future 2 / conjunctive):
I would have had had the hat had.

Now please, nobody is going to not tell me they didn't have no fun at all with this.

Show quoted text 15 lines
> On 12/21/20 10:42 AM, Markus Greim wrote: >> ....FPC has had a Turbo Pascal-like console IDE for many years... >> >> "has had" ? >> >> AKAIK "has" >> >> I still used it yesterday. > > English is not my native language, but I think "has had" means it > still has it. If I had said "had" instead of "has had", it would mean > it had it in the past, but no longer has it. Please correct me if I'm > wrong. > >

Reply by email

Marco van de Voort
to gabor: W dniu 2020-12-21 o 23:41, Sven Barth via fpc-pascal pisze: I wonder which type would be…

Op 2020-12-22 om 00:42 schreef gabor via fpc-pascal:

Show quoted text 14 lines
W dniu 2020-12-21 o 23:41, Sven Barth via fpc-pascal pisze: > The main restriction is that it only supports ShortString and thus has > no Unicode support. I wonder which type would be best suited to store a unicode character (code point) for the screen buffer? type   TScreenBuffer = array of record     Character: TypeForUnicodeCodepoint;     AttributeAndColor: TAttributeAndColor;   end;

The problem is that multiple unicode codepoints might translate to one character. But that character might have variable width (1, 1.5, 2).  And the rendering of codepoints to characters is output device (terminal, GUI canvas) dependent.

First and for all, I would keep the buffer private. This allows to keep the buffer in a format suitable to quickly convert to the output device, and access won't be simple array like anyway. This also abstracts final writing API and end device encoding.

Maybe have multiple arrays, one for one codepoint per character, and one larger ones for additional ones.

This way you can simply scan the larger array if there are additional ones, and if not, emit the primary one in a straightforward way.

Reply by email

Liam Proven
to Travis Siegel: I don't know what non native english speakers are taught, nor can I address the folks…
Travis Siegel wrote
I don't know what non native english speakers are taught, nor can I address the folks across the pond, but here in the Us at least, has denotes currently exists, while had indicates past tense, I.E. no longer exists. Combining the two is where it gets dicy, and is generally avoided for syntactical reasons.

FWIW... I'm (among other things) a qualified teacher of English as a second language. "Has had" and "had had" are 100% genuine correct English tenses, called the present perfect and past perfect respectively.

Simple present: FPC _has_ a console-mode IDE -- now, it possesses one. Simple past: FPC _had_ a console-mode IDE -- it used to, but this state ended in the past; it no longer does.
Present perfect: FPC _has had_ a console-mode IDE -- it has one, and the time it started to have one is a significant time ago. Past perfect: FPC _had had_ a console-mode IDE -- it used to have one a long time ago, but it stopped having it a long time ago.

I will not itemise all the other alternatives. There is an informal competition as to how many tenses it is possible to create in English, and the record is some 120 different ones, and 144 if you include passive-voice constructions. There are about a dozen in common use.

FPC has had a console-mode IDE means that there is one now and that there has been one for a considerable time. I presume this is what Nikolay meant. I did not know and I apologize for my ignorance of this.

Liam Proven – Profile: https://about.me/liamproven Email: – gMail/gTalk/gHangouts: Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053

Reply by email

Markus Greim
to Liam Proven

Wow..

I am impressed... I hope my PASCAL is better then my English (first foreign language: Latin (for 7 years), 2nd English (6 years), 3rd ancient Greek (3 years)...)

Programming languages I worked with in the last 40 years:

1. Basic first on a Tektronix 4050 and a TRS-80 about 1979
2. Fortran batch jobs on a CDC Cyber 205
3. PASCAL first on a DEC VAX 780 about 1986
4. PDC Prolog on MS-DOS
5. Assembler
6. C
8. Perl and others on Linux from 1998
9. Java
10. Python
11. PHP
12. SPIN
....
n. ERLANG <- most recently

aside FORTRAN I earned some money programming in all languages above..

Totally off topic, but it is Christmas time..

Kind Regards

Markus

Earlier message 69 lines
--- original message --- On December 22, 2020, 1:03 PM GMT+1 wrote: On Mon, 21 Dec 2020 at 22:11, Travis Siegel via fpc-pascal wrote: >> >> I don't know what non native english speakers are taught, nor can I address the folks across the pond, but here in the Us at least, has denotes currently exists, while had indicates past tense, I.E. no longer exists. Combining the two is where it gets dicy, and is generally avoided for syntactical reasons. > FWIW... I'm (among other things) a qualified teacher of English as a > second language. "Has had" and "had had" are 100% genuine correct > English tenses, called the present perfect and past perfect > respectively. > Simple present: FPC _has_ a console-mode IDE -- now, it possesses one. > Simple past: FPC _had_ a console-mode IDE -- it used to, but this > state ended in the past; it no longer does. > Present perfect: FPC _has had_ a console-mode IDE -- it has one, and > the time it started to have one is a significant time ago. > Past perfect: FPC _had had_ a console-mode IDE -- it used to have one > a long time ago, but it stopped having it a long time ago. > I will not itemise all the other alternatives. There is an informal > competition as to how many tenses it is possible to create in English, > and the record is some 120 different ones, and 144 if you include > passive-voice constructions. There are about a dozen in common use. > FPC has had a console-mode IDE means that there is one now and that > there has been one for a considerable time. I presume this is what > Nikolay meant. I did not know and I apologize for my ignorance of > this. > -- > Liam Proven – Profile: https://about.me/liamproven > Email: – gMail/gTalk/gHangouts: > Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven > UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053 > _______________________________________________ > fpc-pascal maillist - > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal --- end of original message ---

Reply by email

gabor
to Marco van de Voort: Op 2020-12-22 om 00:42 schreef gabor via fpc-pascal: The problem is that multiple unicode…

W dniu 2020-12-22 o 11:13, Marco van de Voort via fpc-pascal pisze:

The problem is that multiple unicode codepoints might translate to one character. But that character might have variable width (1, 1.5, 2). And the rendering of codepoints to characters is output device (terminal, GUI canvas) dependent.

Sorry, I keep mistaking code point for character. I thought that the code point is a value in the range 0..10FFFF. I don't think I fully understand Unicode...

Show quoted text 10 lines
First and for all, I would keep the buffer private. This allows to keep the buffer in a format suitable to quickly convert to the output device, and access won't be simple array like anyway. This also abstracts final writing API and end device encoding. Maybe have multiple arrays, one for one codepoint per character, and one larger ones for additional ones. This way you can simply scan the larger array if there are additional ones, and if not, emit the primary one in a straightforward way.

But an off-screen drawing buffer would also be useful. For example, FV uses such a buffer to draw views (TDrawBuffer = Array [0..MaxViewWidth - 1] Of Word).
Buffer declared as an array of records with character and color elements could be easily and quickly drawn in another buffer.

Michał.

Reply by email

Sven Barth
to Liam Proven: On Mon, 21 Dec 2020 at 22:11, Travis Siegel via fpc-pascal FWIW... I'm (among other…
Liam Proven wrote 20 lines
On Mon, 21 Dec 2020 at 22:11, Travis Siegel via fpc-pascal wrote: > I don't know what non native english speakers are taught, nor can I address the folks across the pond, but here in the Us at least, has denotes currently exists, while had indicates past tense, I.E. no longer exists. Combining the two is where it gets dicy, and is generally avoided for syntactical reasons. FWIW... I'm (among other things) a qualified teacher of English as a second language. "Has had" and "had had" are 100% genuine correct English tenses, called the present perfect and past perfect respectively. Simple present: FPC _has_ a console-mode IDE -- now, it possesses one. Simple past: FPC _had_ a console-mode IDE -- it used to, but this state ended in the past; it no longer does. Present perfect: FPC _has had_ a console-mode IDE -- it has one, and the time it started to have one is a significant time ago. Past perfect: FPC _had had_ a console-mode IDE -- it used to have one a long time ago, but it stopped having it a long time ago. I will not itemise all the other alternatives. There is an informal competition as to how many tenses it is possible to create in English, and the record is some 120 different ones, and 144 if you include passive-voice constructions. There are about a dozen in common use.

That is definitely a shocking amount. O.o

FPC has had a console-mode IDE means that there is one now and that there has been one for a considerable time. I presume this is what Nikolay meant. I did not know and I apologize for my ignorance of this.

Thank you for confirming that Nikolay (and I) had the right gist regarding the time. ;)

And no need to apologize. Most users will probably use FPC together with Lazarus and thus don't come into contact with the textmode IDE, but nervetheless it /is/ there and can be used, though as this thread showed it can (and probably should) be improve. :)

Regards,
Sven

Reply by email

Graeme Geldenhuys
to gabor: W dniu 2020-12-22 o 11:13, Marco van de Voort via fpc-pascal pisze: Sorry, I keep…
gabor wrote
Sorry, I keep mistaking code point for character. I thought that the code point is a value in the range 0..10FFFF. I don't think I fully understand Unicode...

Here in an example:
https://en.wikipedia.org/wiki/Combining_character

Two or more code points combined can form a "single character" when rendered on screen or paper.

Sometimes you can replace those with a single "precomposed character" too. The Unicode standard includes many of them, but not all.

https://en.wikipedia.org/wiki/Precomposed_character

Hope that helps.

Regards,
Graeme

fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp

Reply by email

Travis Siegel
to Markus Greim: Wow.. I am impressed... I hope my PASCAL is better then my English (first foreign…
Markus Greim wrote 7 lines
Wow.. Programming languages I worked with in the last 40 years: 12. SPIN ....

When you say spin, I'm assuming you're talking about the parallax propeller boards programming language.  The propeller 2 is coming out shortly (already out for early adopters), and I am anxiously awaiting the day I can get my hands on one.  I've built all kinds of projects with the propeller 1 board, the first of which was an FM radio.

But, to put this (somewhat) on topic, I've been wondering how complicated it would be to port FPC to the propeller 2 board, since they now have GCC ported, I would absolutely love to be able to program the propeller boards in pascal.  I do have a couple of their java stamps, those are interesting, and they do have a micro python that can be run on the propeller 2 boards, so adding pascal should be doable, I'm just not sure how much work it would take, but it would be nice to have another language to add to the mix.

Reply by email

Unknown author
to Travis Siegel

Travis,

I was working with the Propeller1 for many years We realized a commercial project with it . See http://www.schleibinger.com/cmsimple/en/?Setting_and_Maturity:Ultrasonic_Setting_Measurement

It works very reliable.

In June, I have got my first Propeller2 board from Parallax. Really an impressive chip. Getting all relevant info and testing and evaluating all the different development platforms is still demanding. But situation is getting better each day.

Pascal on the Propeller itself would be possible. There are CPM2.2 emulator for the Propeller around, so TurboPascal 3.0 should work. But with all the CP/M and Z80 emulator overhead.

As you may know, Niklaus Wirth developed Oberon as a successor of Pascal. Its near identical to Pascal, just yet another name.

Its not only a compiler but also a development environment, including an editor and also an own OS and GUI ! He developed it with Gutknecht mainly at the Xerox PARC labs, long before Steve Jobs and Bill Gates made their own copies of the ALTO work-station.

The required resources are minimal. In 2013 Wirth developed an own RISC processor on a FPGA He published the Verilog and also the Oberon code, because Oberon is written in Oberon (!) The whole compiler, editor, OS, GUI, screen driver, mouse control, etc has less then 10.000 lines of Oberon code !!! That is near nothing,
See
http://people.inf.ethz.ch/wirth/
and
http://www.projectoberon.com/

I realized this project on a FPGA for myself as proof of concept. It worked finally, but handling the Xilinx development software was (and is still) a mess. Later I translated the according PC emulator of Peter de Wachter from C to FreePascal.

The RISC-5 ** architecture of Wirth is quite simple and I would see no real problem to adapt the Oberon system to the Propeller2.

The 3 main obstacles:

1. There is no divider in the COGs, but I guess its possible to use the CORDIC divider instead.

2. The RAM space of the Propeller2 is too small, OBERON requires 1 MByte of RAM mainly for the video buffer. The Propeller2 is supporting some RAM extension, so also this should work. As far as I can see know, this would be the only necessary hardware extension the the P2 evaluation board.

3. RISC-5 has a floating point adder, multiplier and divider. So any emulator required.

Porting the core compiler called OBERON-0 to the propeller would be the most complicated thing and OBERON-0 is using no floating point math.
All other things should be easier, I guess.
Finally we would get a 8 core OBERON computer....

Many Christmas dreams...

Regards
Markus

P.S. **) don't mix RISC-5 up with the now popular RISC-V architecture. Wirth is a genius, but has never a lucky hand for finding good and unique names for his projects. So from Algol to Pascal to Modula to Oberon to Oberon-2 to A2 to Project Oberon...

Earlier message 40 lines
--- original message --- On December 23, 2020, 6:10 PM GMT+1 wrote: On 12/22/2020 11:43 AM, Markus Greim via fpc-pascal wrote: > Wow.. > Programming languages I worked with in the last 40 years: > 12. SPIN > .... When you say spin, I'm assuming you're talking about the parallax propeller boards programming language. The propeller 2 is coming out shortly (already out for early adopters), and I am anxiously awaiting the day I can get my hands on one. I've built all kinds of projects with the propeller 1 board, the first of which was an FM radio. But, to put this (somewhat) on topic, I've been wondering how complicated it would be to port FPC to the propeller 2 board, since they now have GCC ported, I would absolutely love to be able to program the propeller boards in pascal. I do have a couple of their java stamps, those are interesting, and they do have a micro python that can be run on the propeller 2 boards, so adding pascal should be doable, I'm just not sure how much work it would take, but it would be nice to have another language to add to the mix. --- end of original message ---

Reply by email

Liam Proven
to Travis Siegel: When you say spin, I'm assuming you're talking about the parallax propeller boards…
As you may know, Niklaus Wirth developed Oberon as a successor of Pascal. Its near identical to Pascal, just yet another name.

Indeed. There is a somewhat active mailing list over on: ETH Oberon and related systems

As I understand it, Wirth had some fairly radical ideas about upgrade Algol-60, but the Algol committee didn't like them and went with Adriaan van Wijngaarden's proposal instead, creating Algol-68, causing "shock, horror and dissent" and leading one computer scientist to read the huge report trying to find what "language was hidden inside of it".

It was more or less the end of Algol. Wirth released his proposal as Algol-W and later refined it into a new language, named after great French philosopher-mathematician Blaise Pascal.

Later came Modula, which is Pascal with modules, and then Modula-2. So in a way, Modula was Pascal 2 and Modula-2 is Pascal 3.

(Modula-3 was someone else, so outside the sequence.)

Acorn, the British company who invented the ARM chip, tried to develop a whole new OS for the new computer in Modula-2, but failed. Instead, a last-ditch skunkworks effort to modernise their 6502 machines' OS, MOS, resulted in Arthur, renamed RISC OS in version 2. It is still alive and maintained today and there is a FOSS fork of it which runs on the Raspberry Pi. This came up recently over on the FPC web fora.

After building the OS of his Lilith workstation in Modula-2, Wirth realised it was not ideal for OS development and built Oberon (the language) for his Ceres workstation workstation instead.

Oberon therefore could be seen as Pascal 4!

Its not only a compiler but also a development environment, including an editor and also an own OS and GUI !

Indeed. I've been trying to get people on the Oberon mailing list interested in the idea of a native port of Oberon for the Raspberry Pi. The language compiler can target ARM.

The slight snag is that the original Oberon OS only supports 1 CPU and has no threading. There are multiple successor languages to Oberon.

First, Wirth and collaborators did Oberon-2 -- so that, in a way, is Pascal 5. https://en.wikipedia.org/wiki/Oberon-2

Then another, Active Oberon (Pascal 6?) which also has its own OS called AOS, A2 and sometimes Bluebottle.
https://en.wikipedia.org/wiki/Active_Oberon
https://en.wikipedia.org/wiki/Bluebottle_OS

A derivative of Oberon 2, minus the OS, is sold as a Windows development environment called Component Pascal.
https://en.wikipedia.org/wiki/Component_Pascal

And finally, Wirth's latest iteration is Oberon-07, which is derived from the original Oberon, not from Oberon 2 or Active Oberon. So I suppose the version numbering finally converges and Oberon-07 is also Pascal 7.

A2/Bluebottle OS used to have a StrongARM version, so I think getting it running on modern ARM hardware would not be impossible, and might attract a much larger audience than the expensive FPGA boards that Project Oberon 2018 currently runs on:
http://www.projectoberon.net/ostation/OberonStationQR.pdf

I wrote about it here:
https://www.theregister.com/Print/2015/12/02/pi_versus_oberton/

He developed it with Gutknecht mainly at the Xerox PARC labs, long before Steve Jobs and Bill Gates made their own copies of the ALTO work-station.

Yup. Good summary/overview here:
http://ignorethecode.net/blog/2009/04/22/oberon/

P.S. **) don't mix RISC-5 up with the now popular RISC-V architecture. Wirth is a genius, but has never a lucky hand for finding good and unique names for his projects. So from Algol to Pascal to Modula to Oberon to Oberon-2 to A2 to Project Oberon...

Oberon now runs on RISC-V as well:
https://github.com/solbjorg/oberon-riscv

Liam Proven – Profile: https://about.me/liamproven Email: – gMail/gTalk/gHangouts: Twitter/Facebook/LinkedIn/Flickr: lproven – Skype: liamproven UK: +44 7939-087884 – ČR (+ WhatsApp/Telegram/Signal): +420 702 829 053

Reply by email

Sven Barth
to Travis Siegel: When you say spin, I'm assuming you're talking about the parallax propeller boards…
Travis Siegel wrote 25 lines
On 12/22/2020 11:43 AM, Markus Greim via fpc-pascal wrote: > Wow.. > > Programming languages I worked with in the last 40 years: > > 12. SPIN > .... > When you say spin, I'm assuming you're talking about the parallax propeller boards programming language.  The propeller 2 is coming out shortly (already out for early adopters), and I am anxiously awaiting the day I can get my hands on one.  I've built all kinds of projects with the propeller 1 board, the first of which was an FM radio. But, to put this (somewhat) on topic, I've been wondering how complicated it would be to port FPC to the propeller 2 board, since they now have GCC ported, I would absolutely love to be able to program the propeller boards in pascal.  I do have a couple of their java stamps, those are interesting, and they do have a micro python that can be run on the propeller 2 boards, so adding pascal should be doable, I'm just not sure how much work it would take, but it would be nice to have another language to add to the mix.

With GCC being available and there existing a port of binutils it would in principle be possible to implement a cross compiler of FPC. :)

Regards,
Sven

Reply by email

gabor
to Graeme Geldenhuys: Here in an example: https://en.wikipedia.org/wiki/Combining_character Two or more code…

W dniu 2020-12-23 o 14:27, Graeme Geldenhuys via fpc-pascal pisze:

Show quoted text 19 lines
On 22/12/2020 10:20 pm, gabor via fpc-pascal wrote: > Sorry, I keep mistaking code point for character. I thought that the > code point is a value in the range 0..10FFFF. I don't think I fully > understand Unicode... Here in an example: https://en.wikipedia.org/wiki/Combining_character Two or more code points combined can form a "single character" when rendered on screen or paper. Sometimes you can replace those with a single "precomposed character" too. The Unicode standard includes many of them, but not all. https://en.wikipedia.org/wiki/Precomposed_character Hope that helps.

Thanks, that is very helpful. But if I understand correctly, each such combination of code points can be properly represented by one code point (NFC normalization).

Michał.

Reply by email

gabor
to Nikolay Nikolov: Speaking of Unicode, I have started working on adding Unicode support to the keyboard,…

W dniu 2020-12-22 o 04:57, Nikolay Nikolov via fpc-pascal pisze:

Show quoted text 13 lines
> Anyway, any interest to develop Free Vision further is very welcome one, > so we can move it from past tense to a future one. I still think text mode > UI for console and terminals still has a place, but sadly the current FV > implementation doesn't necessarily plays well on some Un*x terminals (it's > highly dependent on the font, and many other factors), also a mono mode is > sorely missing, which is a problem for both some modern and retro use > cases. And yeah, on the high-end, Unicode would be needed. Speaking of Unicode, I have started working on adding Unicode support to the keyboard, video and mouse units (which are used internally by FV) in the unicodekvm branch. So, if anyone is interested in adding Unicode support to FV, take a look at this branch.

Very interesting. But in a future version of the FV (or other TUI framework) apart from migrating from objects to classes, using component streaming, collections, etc... it would be good if the unit "drivers" were more abstract and not strictly dependent on Video, Mouse and Keyboard units. Then it will be possible to create a driver that, for example, renders the screen buffer in a win32-gdi window, or even in html5 canvas or LCL.

Michał

Reply by email

Tomas Hajny
to gabor
gabor wrote
W dniu 2020-12-22 o 04:57, Nikolay Nikolov via fpc-pascal pisze:

.
.

Show quoted text 7 lines
Very interesting. But in a future version of the FV (or other TUI framework) apart from migrating from objects to classes, using component streaming, collections, etc... it would be good if the unit "drivers" were more abstract and not strictly dependent on Video, Mouse and Keyboard units. Then it will be possible to create a driver that, for example, renders the screen buffer in a win32-gdi window, or even in html5 canvas or LCL.

There's nothing preventing you to implement unit video in these environments, IMHO.

Tomas

Reply by email

gabor
to Tomas Hajny

W dniu 2020-12-26 o 16:34, Tomas Hajny via fpc-pascal pisze:

Show quoted text 15 lines
On 2020-12-26 15:45, gabor via fpc-pascal wrote: > W dniu 2020-12-22 o 04:57, Nikolay Nikolov via fpc-pascal pisze:  .  . > Very interesting. But in a future version of the FV (or other TUI > framework) apart from migrating from objects to classes, using > component streaming, collections, etc...  it would be good if the unit > "drivers" were more abstract and not strictly dependent on Video, > Mouse and Keyboard units. Then it will be possible to create a driver > that, for example, renders the screen buffer in a win32-gdi window, or > even in html5 canvas or LCL. There's nothing preventing you to implement unit video in these environments, IMHO.

Of course, but then we need to finish what Charlie started - unicode. And think about possibility of including multiple drivers in single executable.

Michał.

Reply by email