News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Ygdrazil

COMAL80

Started by Ygdrazil, 14:47, 17 March 09

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Ygdrazil

Hi!

This i probably mostly a request to danish users of this forum..

Is there anybody out there that has a copy of the programming language Comal80 for the CPC.

I know (from memory - but this might be flawed by time  ::) )  that there existed a CPC version distributed on rom and disk of Comal80. It was released by a Danish company, which name I have forgotten(Dalgas something) The main reason for the release was that Comal80 was used in Danish public schools as an introductory language for programming in the 80s. There also was a version for the Commodore 64.

Comal80 was a (interpreted) programming language that resembled both Pascal and Basic. Basic was easy to learn but lacked the more structured programming paradigm approach that was present in Pascal. Therefore the mixture of Basic and Pascal.

I have not been able to find anything about the Amstrad CPC version.

Could be interesting to have though :-)

/Ygdrazil

Links:

http://en.wikipedia.org/wiki/COMAL

The CPCWIKI actually holds a reference to COMAL for the CPC:

http://cpcwiki.eu/index.php/Arbeitsbuch_COMAL

And no its not the CP/M version i am remembering  ;D

mr_lou

I think I might have a copy on tape somewhere. I seem to recall having it somewhere, but I never used it. The tape might be gone though, but I'll look for it and get back to you.

Ygdrazil

Would be mighty nice, with a dump of the tape version!  ;D

I have done a bit more research..

In Amstradbladet 1985, issue 6 there is an article about Comal 80 (The Amstrad Comal 80 school), where some features of Comal 80 for the Amstrad CPC is described. The article also mentions the price of both the tape and disc version, and that a ROM version of Comal 80 is in the works by a guy called Freddy Dalgas Kristiansen.

http://cpcwiki.eu/index.php/Amstradbladet_1985%2C_Issue_6

/Ygdrazil

Quote from: mr_lou on 21:09, 17 March 09
I think I might have a copy on tape somewhere. I seem to recall having it somewhere, but I never used it. The tape might be gone though, but I'll look for it and get back to you.

mr_lou

Hm, bad news. I found the tape but it has a Read error a. :-/

Gryzor

Ah shame... Aren't there any techniques to remedy that?

Ygdrazil

Hmmm crap. I think as Gryzor suggests, that there is a way to remove the error from the tape. The process involves something like recording the tape into a wav file and then edit it...

I remember back in the days that a Read Error A was a rather fatal message to get, while a Read Error B could be corrected by eg. adjusting the azimuth. Is it only Read Error B that can be removed from sound tracks.

I have to find out eventually, as I plan to transfer my 200+  tapes someday (and the tapes quality will not improve over time)  :(

/Ygdrazil

Quote from: mr_lou on 19:35, 18 March 09
Hm, bad news. I found the tape but it has a Read error a. :-/

mr_lou

Quote from: Ygdrazil on 09:16, 19 March 09
I remember back in the days that a Read Error A was a rather fatal message to get, while a Read Error B could be corrected by eg. adjusting the azimuth. Is it only Read Error B that can be removed from sound tracks.

That's true. I've never ever been able to fix a Read error a.  :-[

Gryzor

Indeed I seem to remember a tutorial of some sort. I think that read a's come from distorted tape and such, so theoretically you could adjust the sound. But given that every peak represents a byte, I guess it's quite hard to get it right...

Ygdrazil

My knowledge about restoring old tape recordings is more or less non existant ;D

I think to recall that the difference between Read Error A's and B's was that if a Read Error B occured meant that the datacarrier frequency signal is present, but the data signal could not be decoded (The clearity of this data signal could then be adjusted using the azimuth).

A Read Error A was more fatal as it represented a missing datacarrier signal ie. a gap in the data. I think one could fix a Read Error A, with the method of editing the wav file, unfourtunatly this would involve some guesswork as to what data should be put in the gap, almost certenly ending up with a corrupted version of Comal80.

Interesting subject though, this also should have its own article in the WIKI  :D
 
/Ygdrazil

Quote from: Gryzor on 18:42, 19 March 09
Indeed I seem to remember a tutorial of some sort. I think that read a's come from distorted tape and such, so theoretically you could adjust the sound. But given that every peak represents a byte, I guess it's quite hard to get it right...

Gryzor

On this issue: do tape-based loaders in general, and Amstrad ones in particular, contain verification and self-fixing data? I guess you know what I mean, like other media (magnetic tapes, CDs or zip/rar files) that make use of checksums and redundant data to rebuild damaged bits and bytes?

mr_lou

Good news. I found another tape that was working, and have copied the files onto a DSK. (I don't know how to make a CDT).
Here ya go.

Ygdrazil

Good work, Mr. Lou!  ;D

I cant wait to try it out! Any chance of uploading it to the WIKI?

/Ygdrazil

Quote from: mr_lou on 09:24, 21 March 09
Good news. I found another tape that was working, and have copied the files onto a DSK. (I don't know how to make a CDT).
Here ya go.

Gryzor

Oh wow, indeed, can we upload it? This is so obscure...

mr_lou

Quote from: Gryzor on 09:46, 21 March 09
Oh wow, indeed, can we upload it? This is so obscure...

Um, are you asking me? You can do whatever you want with it. It's not mine as such, and I doubt anyone will care about the copyright notice after 24 years.

Devilmarkus

#14
Nice to see this dumped DSK!

I also added it to CPC-Live website to code directly in browsers:
follow this link

Have fun!

(It autoboots, you can use your own DSK then, if Comal80 has loaded)

Edit: you can also download it now from http://cpc-live.com (look @ news)
When you put your ear on a hot stove, you can smell how stupid you are ...

Amstrad CPC games in your webbrowser

JavaCPC Desktop Full Release

Gryzor

Quote from: mr_lou on 11:40, 21 March 09
Um, are you asking me? You can do whatever you want with it. It's not mine as such, and I doubt anyone will care about the copyright notice after 24 years.

It's not an issue of copyright, I'm asking for your permission since you're the one who dumped it. Trying to follow some sort of protocol :)

akj

I have translated almost all of the CPC Comal80 program from Danish to English, especially the error messages.
If someone will tell me how to upload the revised .DSK file to this forum, I will do so.

Has anyone any documentation for the CPC Comal 80?
I need some help on how to use the keywords that do not appear in Open Comal especially:
CODE, DISCARD, DISPLAY, EMPTY$, FIND, FREE, GET$, KEY$, LINK, MOUNT, PROTECT, PUT, RAND, REPORT, RND, SIZE, TIMER, TIMES, USE, USER

Many thanks if you can help.

Anthony Jordan
Anthony Jordan

CPCLER

Hi AKJ

I am not a specialist on Comal80, actually when Comal80 was at its peak in the 80's I did'nt give it much notice - I was busy doing Pascal or assembler and for me Locomotive basic was sufficient as an interpreted language. However I remember having the Comal80 manual, so I guess that the manual is still on the attic in a box. I will try to dig it out and do a scan of it.

Please do upload the translated version of comal80 to the CPCWIKI. I think that an article on comal80 is in progress.. and your translation is surely a new angle on comal80 for the CPC.

/CPCLER


Quote from: akj on 16:50, 29 July 09
I have translated almost all of the CPC Comal80 program from Danish to English, especially the error messages.
If someone will tell me how to upload the revised .DSK file to this forum, I will do so.

Has anyone any documentation for the CPC Comal 80?
I need some help on how to use the keywords that do not appear in Open Comal especially:
CODE, DISCARD, DISPLAY, EMPTY$, FIND, FREE, GET$, KEY$, LINK, MOUNT, PROTECT, PUT, RAND, REPORT, RND, SIZE, TIMER, TIMES, USE, USER

Many thanks if you can help.

Anthony Jordan

akj

@CPCLER:

Many thanks for your helpful reply ... but ... I do not know HOW to upload a file to the CPCWIKI.  Can someone please give me a step-by-step procedure on the way to do it?

Anthony Jordan

                                                         
Anthony Jordan

CPCLER

Hi ..

You need to register on the CPCWIKI..  ;)

When you login on the CPCWIKI a upload option will appear in the bottum left...

That should do it

/CPCLER

Quote from: akj on 18:43, 29 July 09
@CPCLER:

Many thanks for your helpful reply ... but ... I do not know HOW to upload a file to the CPCWIKI.  Can someone please give me a step-by-step procedure on the way to do it?

Anthony Jordan

Gryzor

Heya mate! If you attach the file here I can do it myself :)

akj

#21
I have (hopefully) uploaded a version of Comal80 in which most of the Danish words have been translated to English, especially the error messages.
I did this by hex-editing the .DSK file and using a free Google auto-translation facility (and with a bit of help from my friends at www.purebasic.fr/english/viewtopic.php?t=38331 ).

However a few problems remain which I have not yet managed to resolve:

1. I have doubts about the correctness of a small number of my Danish -> English translations.  With luck, this will get resolved in time..

2. Where the message should be something like:
    "Overflow in 1230"
it is shown as
    "Overflow i 1230"
You can probably realise how hard it is to track down appropriate occurrences of the word 'i' in order to change them to 'in'.  But with enough effort, who knows ...

3. Because some English phrases are longer than the equivalent Danish phrases, occasionally there was insufficient memory space for an ideal translation, so a few phrases had to be abbreviated.
The worst example of this is the error message "Stak overflow" when needs just one more byte, but this was not readily available.  Can you think of an alternative shorter message with the same meaning?

4. The two lines of code:
    x$:="X"
    a$:=X$+4
seem to give the wrong error message of "Numeric expression expected" (and highlights the digit 4 as the source of the error, so I would think the correct message is "Text expression expected") even though this appears to be the correct translation of the Danish phrase "Numerisk udtryk forventet".  This leads me to think there may be a bug in the Comal 80 interpreter.

- - - - - - -

I have added two extra programs to the .DSK file:

1. KEYWORDS.SAV lists all defined keywords (some multi-word) on the screen and also saves the list to a file KEYWORDS.TXT .

2. ERRORS.SAV lists [almost] all defined error messages on the screen and also saves the list to a file ERRORS.TXT .


Anthony Jordan
Anthony Jordan

CPCLER

Article now on the CPCWIKI!

Great work with the translations!

Had at quick glance at it this morning.

/CPCLER


Quote from: akj on 21:35, 29 July 09
If have (hopefully) uploaded a version of Comal80 in which most of the Danish words have been translated to English, especially the error messages.
I did this by hex-editing the .DSK file and using a free Google auto-translation facility (and with a bit of help from my friends at www.purebasic.fr/english/viewtopic.php?t=38331 ).

However a few problems remain which I have not yet managed to resolve:

1. I have doubts about the correctness of a small number of my Danish -> English translations.  With luck, this will get resolved in time..

2. Where the message should be something like:
    "Overflow in 1230"
it is shown as
    "Overflow i 1230"
You can probably realise how hard it is to track down appropriate occurrences of the word 'i' in order to change them to 'in'.  But with enough effort, who knows ...

3. Because some English phrases are longer than the equivalent Danish phrases, occasionally there was insufficient memory space for an ideal translation, so a few phrases had to be abbreviated.
The worst example of this is the error message "Stak overflow" when needs just one more byte, but this was not readily available.  Can you think of an alternative shorter message with the same meaning?

4. The two lines of code:
    x$:="X"
    a$:=X$+4
seem to give the wrong error message of "Numeric expression expected" (and highlights the digit 4 as the source of the error, so I would think the correct message is "Text expression expected") even though this appears to be the correct translation of the Danish phrase "Numerisk udtryk forventet".  This leads me to think there may be a bug in the Comal 80 interpreter.

- - - - - - -

I have added two extra programs to the .DSK file:

1. KEYWORDS.SAV lists all defined keywords (some multi-word) on the screen and also saves the list to a file KEYWORDS.TXT .

2. ERRORS.SAV lists [almost] all defined error messages on the screen and also saves the list to a file ERRORS.TXT .


Anthony Jordan

Gryzor

Ah, you beat me to it :) Thanks!

akj

@Gryzor:

Sorry for not taking advantage of your download offer, but I wanted to see whether I could do it for myself.  And I can.

AKJ
Anthony Jordan

Powered by SMFPacks Menu Editor Mod