BasiCode sur Thomson ?

C'est le lieu des discussions diverses et variées, mais toujours en rapport avec le thème général du forum et dans l'esprit de celui-ci. Contient des rubriques électroniques.

Modérateurs : Papy.G, fneck, Carl

Avatar de l’utilisateur
ThomasR
Messages : 39
Inscription : 16 janv. 2019 09:02

Re: BasiCode sur Thomson ?

Message par ThomasR »

__sam__ wrote:(...) In the end, perhaps only reading binary data on casette should necessarily be done in ASM (basic being too slow) (...)
Yes Samuel, BasiCode doesn't know integer variables or floating point numbers with double precision.

It is true that BasiCode's own cassette recording and reading could only be made usable with machine code routines. But there is no need for this forty years after the BasiCode peak. DCMOTO in particular solves the transfer problem in a very user-friendly way by allowing ASCII listings to be imported and exported with simple commands.

However, machine code would be useful, for example, for placing letters outside the 8x8 grid and for creating an ATN function.

In fact, some bascoders are fully or partially implemented in machine code. There are even machines (for example the 8-bit Ataris) whose own Basic is so unsuitable that it was easier to write an own Basic.

I myself always avoided handling magnetic tape cassettes whenever possible, and you have to be a purist to want to do so today.

Have you actually used the Bascoder on the original hardware? I would be interested to know how fast it works there.

Today I am presenting a program that impresses me very much. It uses all the functions of the latest BasiCode version - except for the use of the eight colors: pixel graphics, sound and working with files (for loading different pieces of music). You can even compose your own pieces once you have familiarized yourself with the operation - here is a translation from the instructions included in the program:

Code : Tout sélectionner

Type musical notes as follows:
  first one of the letters ABCDEFGabcdefg then
  EVENTUALLY a # or a b then the value
  with ONE digit 1 2 4 8 or 6 for a whole, half, quarter,
  eighth or sixteenth note, respectively.

After that you can type a POINT (extension),
or an M (=dash), otherwise type a space.

A + makes an extension note   

The CURSOR moves automatically to the next position. 
The cursor can also be moved with the cursor keys.

A rest is placed with the letter R and a number 1 2 4 8 6

The M places a bar line

/ and 2 digits places a bar indication

The S lets the music play and the T neatly
redraws everything
NOTENBAN.png
NOTENBAN.png (120.45 Kio) Consulté 693 fois
Because of the data to be loaded (which, by the way, can only be string variables in BasiCode - so numbers have to be converted), the program and the data are in a cassette image this time.
NOTENBAN_MO5.zip
includes a cassette image (.k7) for Thomson MO5
(8.49 Kio) Téléchargé 5 fois
The variable NF specifies which mass storage device is to be used. The digits 2 and 3 are intended for the machine's own cassette format; in the current state of development of the Bascoder, this is also selected for the other digits (0, 1, 4 ... 7), so don't worry that the Thomson will use the BasiCode format.
After loading the program, press the * key twice, after the first time the empty music sheet is drawn, after the second time the main menu appears.

Select the number 7 and enter the name of the desired piece of music. There can only be seven letters (a BasiCode definition) and ".DAT" must be omitted.

At last press "S" to play the music.

The picture at the bottom right shows the names of the available music tracks.

At the bottom left you can see the part of a screenshot of this program under a DOS-Basic (BasiCode is also available on CP/M and DOS computers, also for BBC Basic for Windows). Here you can see that the "b" or "#" and the time signature are easier to read. They do not overwrite the clef - unfortunately my bascoder cannot place characters at every pixel position You want.


EDIT 29/2/2024: programs with corrected bascoder version 0.97
Dernière modification par ThomasR le 01 mars 2024 22:25, modifié 3 fois.
Avatar de l’utilisateur
ThomasR
Messages : 39
Inscription : 16 janv. 2019 09:02

Re: BasiCode sur Thomson ?

Message par ThomasR »

Here is a rare program. In 1992, the central activities around BasiCode were discontinued. No more programs (you can read the month of its creation at the end of the listing) were broadcast on the radio, neither in the Netherlands nor from Berlin. Most users lost the interest in BasiCode because they now could buy "much better" computers. So this program was not widely distributed - the alternatives "telephone and modem" or mailbox were too expensive and the Internet was not yet widespread.
BCGIRL.zip
(7.57 Kio) Téléchargé 7 fois
I received the program a few years ago from a Commodore plus/4 friend on a 5.25" floppy disk.
The author dealt with an interesting topic: the transfer of monochrome graphics to other types of computers. He simply took the bytes from the graphics memory and put them into DATA lines.
COMM_PIC.jpg
COMM_PIC.jpg (185.31 Kio) Consulté 598 fois
The Commodores have 25 rows of 40 columns - the memory was too small for this, because the bascoder and program also took up space. For this reason, his picture is only 32 columns wide and the hand supporting her head has been lost. I have already seen the complete picture in a computer magazine from the eighties and on an Atari disc. Here You can draw it on Your Thomson:
BCGIRL_MO5.zip
.K7 - image for Thomson MO5: draw Your own pictures!
off topic: not a BasiCode program
includes version of complete picture and that picture saved with SAVEM
(14.92 Kio) Téléchargé 5 fois
I like the program so much that I created a few more data sets myself, for example the portraits of three computer friends. I noticed the interesting fact that processing time depends on the content of the data. The more pixels to be set, the more time is needed. It really does take a long time, but we can speed it up by POKING the bytes from the DATAs into memory straight away. I added lines 1095 and 1145 here for this acceleration, but it still runs quite slowly.

I also had to modify the bascoder a little - just for this program. A BasiCode agreement states that the width and height of the drawing area should be in the ratio 4 : 3, so I actually use 256 x 192 pixels. This way a circle remains a circle and does not become an oval.

But for this program I had to choose 320 x 200 pixels, otherwise columns would be lost, the image would be reduced in width and an empty pixel line would be inserted in the height due to the effects of rounding numbers. With the temporary changes, the image corresponds better to the original.

However, it is then no longer a (pure) BasiCode program because it contains machine-specific items. The BasiCode agreements say that such things should be placed in lines 20000 to 24999. They should be commented in detail so that the user of another machine can implement it there specifically for it.

MO5.png
MO5.png (162.52 Kio) Consulté 309 fois
If we poke into the colour memory instead of the pixel memory, a small work of pop art is created.


EDIT 29/2/2024: programs with corrected bascoder version 0.97
Dernière modification par ThomasR le 07 mars 2024 09:27, modifié 14 fois.
__sam__
Messages : 7989
Inscription : 18 sept. 2010 12:08
Localisation : Brest et parfois les Flandres

Re: BasiCode sur Thomson ?

Message par __sam__ »

Great image! It is true that displaying an image in basic (not even BasiCoder) is a pretty slow process.
Samuel.
A500 Vampire V2+ ^8^, A1200 (030@50mhz/fpu/64mb/cf 8go),
A500 GVP530(MMU/FPU) h.s., R-Pi, TO9, TO8D, TO8.Démos
Avatar de l’utilisateur
ThomasR
Messages : 39
Inscription : 16 janv. 2019 09:02

Re: BasiCode sur Thomson ?

Message par ThomasR »

Thanks, Samuel - but it's a feature of the Thomson computer - not my invention...

RONDVL.zip
(4.87 Kio) Téléchargé 5 fois

This program is very interesting, too.

It uses the ATN function, so it will not run under Basic 1.0. But it does under Basic 128 - with no changes in the bascoder. Good news!

RONDVL.png
RONDVL.png (49.27 Kio) Consulté 546 fois

It is written by Henk van Deelen in 1989. The drawing can be moved (shifted or turned) into various directions. With the up and down cursor keys You can select the function, with the left and right keys the direction. With function "NIEUW" You can draw the screen anew, with "WISSEN" clear the screen. "EIND" is for leaving the program.

But it runs very slowly on the Thomsons. A good reason to use another machine, another Basic. Here are screenshots from BBC Basic for Windows and from BC3CJAVA. Both have very fast graphics. The latest is still under construction. The cursor keys do not work yet but I OR-ed them with the keys I, J, K, L.

OTHERS.png
OTHERS.png (73.08 Kio) Consulté 546 fois

In 1992 the same author published a bundle of programs. It included version 2.0 of the first program, too, but with another drawing.
RONDVL2.zip
(5.83 Kio) Téléchargé 5 fois
JOYCE.png
JOYCE.png (80.42 Kio) Consulté 546 fois

https://joyce.de/basicode/joyce/bc3logo.htm


A second shows a demo that contains screens that are made with the RONDFL program. It looks like a film (moving pictures).
ANIMATIE_TO7.zip
cassette image for Basic 128, Bascoder changed for loading from CASS:
very slow on real machine, fast enough in DCMOTO with maximum speed
(7.13 Kio) Téléchargé 5 fois
The third is a real sensation. It emulates a LOGO interpreter. You can move the turtle to draw pictures.

In the bundle there are also ready-to-use DOS-versions of these programs.
screenshots of the programs running in a DOS-box
screenshots of the programs running in a DOS-box
BCLOGOPC.png (6.16 Kio) Consulté 423 fois
It seems You can find this ZIP file in the www no longer, if You're interested in it then send me a PN.

I show these programs to You to tell You that very good programs are possible with BasiCode - but in the beginning of the 90ies the matching machines were not yet available...

EDIT 29/2/2024: programs with corrected bascoder version 0.97
Dernière modification par ThomasR le 03 mars 2024 13:09, modifié 10 fois.
Avatar de l’utilisateur
ThomasR
Messages : 39
Inscription : 16 janv. 2019 09:02

Re: BasiCode sur Thomson ?

Message par ThomasR »

Today I tried to use BC3CLOGO with the emulated T09. I took the highest availaible CPU speed and the program runs fine!
BC3LOGO.png
BC3LOGO.png (146.58 Kio) Consulté 320 fois
BC3CLOGO_TO7.K7.zip
cassette image for Basic 128, Bascoder changed for loading from CASS:
very slow on real machine, fast enough in DCMOTO with maximum speed
(13.02 Kio) Téléchargé 6 fois

Of course the commands are in Dutch... KLEUR 6 sets the colour to yellow, LINKS 90 turns the turtle 90° to the left, VOORUIT 30 moves the turtle 30 steps forward and draws a line and so on. BEWAAR and LEESIN are the commands to save and load files.

Also look at 006 and 008 of https://www.robotrontechnik.de/html/for ... adid=20758 and 013 and 016 of https://www.robotrontechnik.de/html/for ... adid=21373

EDIT 29/2/2024: programs with corrected bascoder version 0.97
Répondre