About B00 and EVT files

Previous

Next

Home


Files on a MDR Floppy disk (serge45@free.fr)


The MDR disk format is very close to a standard MS-DOS format. Some OS or computers refuse to read these disks when they have been formatted on the MDR, because the format is not exactly one of the standard DOS formats. This is not a problem: format a floppy disk on your computer and then record it with your MDR. Such a floppy disk is readable on your computer.

The 40 songs are recorded in files named MDR_00 to MDR_39. Each song has two data files (or only one of them) with this name:

The B00 file is written on the floppy disk when you press "M" and "Record" keys. It is also written when you record your performance with "Record" and then "Play" (not "Custom Play").

When the B00 file is read, the MDR displays a dash moving from rightto left. The dash moves from left to right when the file is written.

When you use the "Custom Play" button to read a song, the B00 file of the song is not read, only the EVT file is read.

The EVT file IS NOT A MIDI file, you can't read it with your MIDI software.I'm writing a program to convert EVT file to MIDI file, I hope it will be ready soon.

I spend a lot of hours on my hex editor to discover this information. I only examined files from EL40 (my Electone) and EL60/EL70/EL90 (at my Yamaha music school). The files have the same format, some part of them are simply not used on the "small" models.

What is a BOO file ?

The BOO file contains all the settings of the Electone:

The file contains a MIDI message called System Exclusive (SysEx) which begins with the hex bytes : "F0 43 70 78 00" or "F0 43 70 70 00" and ends with "F7". This message is listed at the end of the Electone manual as "BULK DUMP DATA".

The MIDI SysEx messages are just containers for data. The structure of the data inside these messages is not described in the MIDI standards, it depends on the MIDI instrument that sends it.

Structure of a BULK DUMP DATA:

All the data blocks have the same layout:

The block header bytes are:

REGISTRATIONS DATA BLOCK

It always contains 16 registrations. It also contains the registration sequence that you can use with the "User shift" mode.

For each registration, the following settings are recorded:

USER VOICES DATA BLOCK

Depending on the Electone model, 4 or 16 user voices are recorded. All the settings you can do are recorded, a voice name is also recorded.

USER FLUTES DATA BLOCK

All settings of 16 user flutes are recorded here.

USER PATTERNS DATA BLOCK

All settings of the user patterns: U1A, U1B, U1C, U1D, U2A, U2B ... U8D, U1F, U2F ... U8F

SEQUENCES DATA BLOCKS

This block contains 4 sequences of rhythm. Each steps of a sequence refers to a user or preset rhythm, in normal or fill-in mode.

Detailed format of a B00 file

Previous

Next

Home

******************************************************************************
*****                      FORMAT DES FICHIERS .B00                      *****
******************************************************************************

FORMAT GENERAL DU FICHIER:
0000	ENTETE MIDI: 0xf0 0x43 0x70 0x78 0x00 (Bulk Dump Data)
0005	MODELE: 0x3b-EL40  0x3e-EL60  0x35-EL70  0x36-EL90
0006	BLOC TYPE 0 (REGISTRATIONS)
0D01	BLOC TYPE 1 (USER VOICES)
29C8	BLOC TYPE 2 (USER FLUTES) (sauf EL40/60)
2ACF	BLOC TYPE 4 (SEQUENCES) (sauf EL40)
2E96	BLOC TYPE 3 (USER PATTERNS) (sauf EL40)
....	FIN MESSAGE MIDI: 0xf7

------------------------------------------------------------------------------
FORMAT D'UN BLOC:
------------------------------------------------------------------------------
+0000	Entete de bloc
		X0=type de bloc
		X1=0x??
		X2,X3= taille des donnees du bloc ( X2 + 128*X3 )
		X4=0x00
		X5=0x00
+0006	Donnees du bloc
+....	Checksum des donnees du bloc (complement a 7F de la somme modulo 128)

------------------------------------------------------------------------------
FORMAT BLOC TYPE 0: REGISTRATIONS
------------------------------------------------------------------------------
+0000	16 REGISTRATIONS

	UK1,LK1,UK2,LK2,LEAD,PED1,PED2:
		X0=T???SSSS : Tone Vib + Section
		X1=?VVVVVVV : volume
			0x7f- 0  0x2c- 1  0x28- 2  0x24- 3  0x20- 4
			0x1d- 5  0x1a- 6  0x17- 7  0x14- 8  0x12- 9
			0x10-10  0x0e-11  0x0c-12  0x0b-13  0x0a-14
			0x09-15  0x08-16  0x07-17  0x06-18  0x05-19
			0x04-20  0x03-21  0x02-22  0x01-23  0x00-24
		X2=??EEEEFF : Effet + Feet
			0x0-PRE  0x0-PRE
			0x1-OFF  0x1-16'
			0x2-TRM  0x2-8'
			0x3-CEL  0x3-4'
		X3=VL???DDD : user Vib + to Lower + vib Depth
		X4=?????TTT : Tone
			0x0- 0  0x1-+1  0x2-+2  0x3-+3
			0x4-??  0x5--3  0x6--2  0x7--1
		X5=??SSSDDD : vib Speed + vib Delay (sauf PED1 et PED2)
		X6=???????? (LEAD seulement): ?
	RYTH:
		X0=PL??SSSS : perc Ped + perc Lower + Section
		X1=?VVVVVVV : volume
		X2=AVVVVVVV : Auto var. + Volume accomp.
		X3=?VVVVVVV : ?
		X4=??TT???? : Type accomp (1,2,3 ou 4)
		X5=TTTTTTTT : Tempo - 40
		X6=S??????? : Solostyle
		X7=K?MMAAPL : Knee + MOC (OFF,1,2,3) +
			      ABC (OFF,single,fing.,cust.) + mem 
	SUSTAIN:
		X0=ULP?UUUU : on/off U,L,P + U.sustain
		X1=PPPPLLLL : P.sustain + L.sustain
		X2=???????? : ?
	FOOT SWITCH:
		X0=???RR?FF : Rythm + Foot swtich
			0x0-????  0x0-OFF
			0x1-STOP  0x1-RYTHM
			0x2-END   0x2-GLIDE
			0x3-FILL  0x3-????
		X1=???D?L?U : Foot switch Glide: Lead + Lower + Upper
		X2=???????? : ?
	REVERB: X0=?RRRRRRR : reverb generale (volume)
	TREMOLO:X0=T???????: FAST ON/OFF
	YY2: (24 octets)
	UPPER FLUTE, LOWER FLUTE:
			X0=?FXXXYYY : ON/OFF + 8' + 16'
			X1=??XXXYYY : 4' + 5'1/3
			X2=??XXXYYY : 2' + 2'2/3
			X3=??XXXYYY : 1' + 1'3/5
			X4=??XXXYYY : attack 2'2/3 + 4'
			X5=??CCCYYY : click + attack 2'
			X6=??RRRLLL : Rsp (6,5,...,1,0) + Lng
			X7=TVVVVVVV : TRM + Volume
	SECTIONS UK1, LK1, UK2, LK2:
			14 * IIIIIIII : instrument de chacune des 14 sections
			section 0: (2)		section 1: (1)
			section ...
			section D: Strings
	SECTIONS LEAD:
			5 * IIIIIIII : instrument de chacune des 5 sections
			section 0: (1)		section 1: Trumpet
			section 2: Oboe		section 3: Flute
			section 4: Violin
	SECTIONS PED1, PED2:
			5 * IIIIIIII : instrument de chacune des 5 sections
			section 0: (1)		section 1: Tuba
			section 2: OrganBass	section 3: E.Bass
			section 4: ContBass
	SECTIONS RYTHME:
			12 * RRRRRRRR : rythme de chacune des 12 sections
			section 0: (2)		section 1: (1)
			section 2:    		section 3: 
			section 4:    		section 5: 
			section 6:    		section 7: 
			section 8:    		section 9: 
			section A: March	section B: Waltz
	YY3: (23 octets)

+0CA0	YY4: (3 octets)
+0CA3	REG SEQUENCE :
		80 * RRRRRRRR : liste des registration (numero - 1)
+0CF3	YY5: (1 octet)

------------------------------------------------------------------------------
FORMAT BLOC TYPE 1: USER VOICES
------------------------------------------------------------------------------
+0000	USER 1 a 4 (16 pour EL70/90): (0x1cc=460 octets)
	X0= numero
	X1-X17: nom

------------------------------------------------------------------------------
FORMAT BLOC TYPE 2: USER FLUTES
------------------------------------------------------------------------------
+0000	USER FLUTE 1 a 8
+0040
+0080	USER FLUTE 9 a 16
+00C0

------------------------------------------------------------------------------
FORMAT BLOC TYPE 4: SEQUENCES
------------------------------------------------------------------------------
+0000	SEQUENCES 1 a 4:
		120 * ( XX YY )
			XX : PNNNNNNN: user/Preset, Numero
			YY : ???SSSSF: Section Preset, Fill

------------------------------------------------------------------------------
FORMAT BLOC TYPE 3: USER PATTERN
------------------------------------------------------------------------------
+0000	Description des instruments (pistes) des pattern:
	U1A, U1B, U1C, U1D, U2A, U2B ... U8D, U1F, U2F ... U8F:
		TTTTTTTT : nombre de temps (-1) dans la mesure
		16 * ?IIIIIII : instrument par piste
		X0=OFFSETLO : offset premiere mesure par rapport au debut
		X1=OFFSETHI : de la zone USER PATTERN
		X2=OFFSETM2 : offset mesure 2 par rapport au debut de la 1
		X3=???????? : ?
	LONG:	X0,X1= taille de la description des mesures (X0+256*X1)
	YY10: (0x28 octets)

	MESURES:
		[temps] [instrument] [instrument] ... 0xff
			temps:	0x80=1er temps
				0x81=1er temps + 1/24 temps
				...
				0x98=2eme temps
				...
				0xb0=3eme temps
				...
				0xc8=4eme temps
				...
				0xff=fin de la mesure
			instrument: 0AAAPPPP = Accent + Piste

	Y11: (2 octets)

Detailed format of a EVT file

Previous

Next

Home

<<< I have to write this section >>>

B00.EXE

Previous

Next

Home


The B00.EXE program (serge45@free.fr)


B00.EXE is a program that can read .B00 file. It generates a text listing of all the settings: registrations, flutes, patterns, sequences,...

For EL40/EL28 users (and other models which don't have the rhythm programmer): Most of the songs on Yamaha disks joined with score books can't be used on your Electone because they use programmed rhythm. With B00.EXE, you can convert these songs and play them on your Electone ! --> see bellow "Converting programmed rhythm"

B00.EXE is a very old DOS program that I wrote in 1994, but I'm still using it under Windows 95. It has no graphical user interface, you have to use it at the MS-DOS prompt. Experienced windows users can create a .BAT command file calling B00.EXE with correct parameters, and then create a registry entry for the .B00 files. --> see bellow "Using B00.EXE from Windows Explorer"

Program setup

How to use it

Advanced options

The exact syntax is:

B00 -xxx b00_file1 b00_file2 ...

where xxx are one or more of the following options:

Converting programmed rhythm

There are two ways of playing drums on the Electone:

When recording on a floppy disk:

The user defined drum patterns and sequences are recorded with the registrations in the B00 file. When you use on of these user rhythms, you record only the buttons you press to start the rhythm, not each key.

The EL40 and other ELs without the rhythm programmer ignore the drum patterns and sequences recorded in the B00 files. Then they play the song with a standard "March1" rhythm instead of the programmed rhythm. But these ELs can play percussion on keyboard and record them.

The B00.EXE program can convert the drum patterns and sequences of a B00 file to an EVT file playing keyboard percussion. You just have to start the song on your MDR and play melody and chords on the keyboards.

The program is not very easy to use, so follow carefully the steps:

CD \ELSOFT
COPY A:MDR_02.B00 MYSONG.B00
b00 -o MYSONG.B00 > MYSONG.TXT
notepad MYSONG.TXT
notepad START.TXT
COPY START.TXT+MYSONG.SQ1+MYSONG.SQ2+END.TXT MYSONG.GEN
GEN MYSONG.GEN
COPY MYSONG.EVT A:MDR_01.EVT
COPY MYSONG.B00 A:MDR_01.B00
EXIT

The song is now ready ! Before playing you had to do an additional setting (do it each time you switch your Electone on):

After a lead-in measure with 4 clicks, the rhythm starts.

If you want to slow down the tempo, don't use the tempo knob, it has no effect. Use instead the tempo adjustment of the MDR:

With an initial tempo of 120, set the MDR to 80(%) and you'll get a playing tempo of 120*0.8 = 96.

If you are working on a very long piece with two or more sequences, you can build one song per sequence for training, and a song with all sequences for playing.

Example of a song with 3 sequences, use the following DOS commands:

COPY START.TXT+MYSONG.SQ1+END.TXT MYSONG1.GEN
COPY START.TXT+MYSONG.SQ2+END.TXT MYSONG2.GEN
COPY START.TXT+MYSONG.SQ3+END.TXT MYSONG3.GEN
COPY START.TXT+MYSONG.SQ1+MYSONG.SQ2+MYSONG.SQ3+END.TXT MYSONG.GEN
GEN MYSONG1.GEN
GEN MYSONG2.GEN
GEN MYSONG3.GEN
GEN MYSONG.GEN
COPY MYSONG1.EVT A:MDR_01.EVT
COPY MYSONG1.B00 A:MDR_01.B00
COPY MYSONG2.EVT A:MDR_02.EVT
COPY MYSONG2.B00 A:MDR_02.B00
COPY MYSONG3.EVT A:MDR_03.EVT
COPY MYSONG3.B00 A:MDR_03.B00
COPY MYSONG.EVT A:MDR_04.EVT
COPY MYSONG.B00 A:MDR_04.B00

The EVT files created here are very simples, you can add a lot a things in the GEN file to enhance the EVT file:

See the description of the EVT.EXE and GEN.EXE programs !

Using B00.EXE from Windows Explorer

Put the files B00WIN.BAT and B00.REG in the C:\ELSOFT directory

Setup:

EVT.EXE

Previous

Next

Home

<<< I have to write it >>>

GEN.EXE

Previous

Next

Home

<<< I have to write it >>>

MEVT.EXE

Previous

Next

Home

This program is easier to use !

CD \ELSOFT
COPY A:MDR_02.B00 MYSONG.B00
MEVT MYSONG.EVT

Please notice: