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