EMUSIC-L Digest Volume 53, Issue 07 This issue's topics: ensoniq (3 messages) Ensoniq EPS16 Plus diskette format (3 messages) Ensoniq FTP Site Your EMUSIC-L Digest moderator is Joe McMahon . You may subscribe to EMUSIC-L by sending mail to listserv@american.edu with the line "SUB EMUSIC-L your name" as the text. The EMUSIC-L archive is a service of SunSite (sunsite.unc.edu) at the University of North Carolina. ------------------------------------------------------------------------ Date: Wed, 9 Jun 1993 21:08:25 CDT From: Andrew Freeman Subject: ensoniq I was wondering where a good ftp site for ensoniq patches/sequences could be found. Also, does anybody know where to find cheap sound cartridges for the ensoniq vfx? I called Crystal Clear Sound and they had some cartridges $49 but two get one free. From ensoniq the cartridges were $59. Is there anyway to send sound samples thru midi, even if this keyboard does not do sampling? thanks, Andrew ------------------------------ Date: Thu, 10 Jun 1993 10:38:06 -0500 From: "David C. Bloom" Subject: Re: ensoniq > > I was wondering where a good ftp site for ensoniq patches/sequences > could be found. Also, does anybody know where to find cheap sound > cartridges for the ensoniq vfx? I called Crystal Clear Sound and > they had some cartridges $49 but two get one free. From ensoniq > the cartridges were $59. Andrew__ I'm a big ensoniq fan [8-bit forever!], and would love to hear what answers you get to this query. Please cc: me, and I'll also keep my ears on for ftp-able ensoniq software. > Is there anyway to send sound samples thru midi, even if this > keyboard does not do sampling? As doubtless everyone will tell you, there are several MIDI "sys-ex" commands supported by various manufacturers for transfering samples, as well as a couple dominant sample file formats. While ensoniq supports the former, which allows you to transfer samples over MIDI slower than copying them to a floppy on one box and loading the floppy on another, the old [8-bit] ensoniqs didn't subscribe to any of the popular [12- and 16-bit] sample file formats. My info may be old, and this may have changed in the newer models. If so, you may be able to download samples from another vender's box [if you can generate the MIDI sys-ex ommand to do so], but these guys don't get along, so it's a toss-up either way. Your best bet is to buy one of those nifty sample librarian programs for a PC or Mac that supports lots of different samplers - some of them even convert file formats! Upload from box A, convert the file if necessary, then download to box B. Don't ask me for names. Again, pls let me know if you come up with any network source for [pre-vfx] ensonic-ware. Thx, and good luck! __David <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> <> david c. bloom <> <> <> open networks engineering, inc. <> "The first false assumption <> <> 777 e. eisenhower pkwy, ste 650 <> that underlies the scheduling <> <> ann arbor, michigan 48108 <> of systems programming <> <><><><><><><><><><><><><><><><><><><> is that all will go well." <> <> net dcb@one.com <> \ \ <> __Frederick P. Brooks Jr. <> <> vox 313.996.9900 <> 0-0 <> The Mythical Man-Month <> <> fax 313.996.9908 <> . <> <> <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><> ------------------------------ Date: Fri, 11 Jun 1993 06:13:17 GMT From: oper@MSU.OSCS.MONTANA.EDU Subject: Re: ensoniq In article <9306092108.AA19612@NeoSoft.Com>, Andrew Freeman writes: >I was wondering where a good ftp site for ensoniq patches/sequences >could be found. Also, does anybody know where to find cheap sound >cartridges for the ensoniq vfx? I called Crystal Clear Sound and >they had some cartridges $49 but two get one free. From ensoniq >the cartridges were $59. > >Is there anyway to send sound samples thru midi, even if this >keyboard does not do sampling? > >thanks, > >Andrew try louie.udel.edu I have a VFX and got a bunch of patches for it from there. also, try ucsd.edu Terry ------------------------------ Date: Sat, 12 Jun 1993 13:53:38 +0200 From: Martin Grecner Subject: Ensoniq EPS16 Plus diskette format Hello, I'm new to this list. I have only one question for now: does anyone know diskette format of Ensoniq EPS16 Plus or simillar ? I'm able to read it physically, I'm able to read files in most cases, but the file format is mysterious. If someone has any experience with this, please let me know about it. Martin Grecner martin@elf.stuba.cs Bratislava Czechoslovakia ------------------------------ Date: Sat, 12 Jun 1993 07:53:11 -0700 From: Art Lowery Subject: Re: Ensoniq EPS16 Plus diskette format There is a program to make a pc emulate the ensoniq dos, so you can transfer files, patches, etc on the old pc... I've got it laying around somewhere... Art On Sat, 12 Jun 1993, Martin Grecner wrote: > Hello, > I'm new to this list. I have only one question for now: > does anyone know diskette format of Ensoniq EPS16 Plus or simillar ? > I'm able to read it physically, I'm able to read files in most cases, > but the file format is mysterious. If someone has any experience with > this, please let me know about it. > > > Martin Grecner > > martin@elf.stuba.cs > > Bratislava > > Czechoslovakia ------------------------------ Date: Sun, 13 Jun 1993 08:05:26 GMT From: Scott Fisher Subject: Re: Ensoniq EPS16 Plus diskette format Martin Grecner writes: >Hello, > I'm new to this list. I have only one question for now: >does anyone know diskette format of Ensoniq EPS16 Plus or simillar ? >I'm able to read it physically, I'm able to read files in most cases, >but the file format is mysterious. If someone has any experience with >this, please let me know about it. First contact the eps users mailing list... eps@reed.edu OK EPS types, here is several articles from Transoniq Hacker, mainly Gary Geiblers most excellent 3 part series on ENSONIQ FLOPPY DISK FORMATS. Which can be seen in issues #73, #74 and #75 of the Transoniq Hacker. Corrections and additions welcome. ------------- EPS FLOPPY DISK FORMAT EXPLAINED -------------- Reproduced *WITH* permission. Yes really, if you don't beleive me ask Eric [73260.3353@compuserve.com] :-) EPS disks contain data on both sides (0 & 1) with 80 tracks/cylinders (0-79). Each track has ten 512 byte sectors numbered consecutively zero to nine (0-9). e.g. Blocks Track Head Sector. ------------------------------------------------------------------------------- 00-09 0 0 0-9 data is first stored on Track 0, Head 0, Sec 0-9. 10-19 0 1 0-9 data is next stored on Track 0, Head 1, Sec 0-9. 20-29 1 0 0-9 data is then stored on Track 1, Head 0, Sec 0-9. This process continues until... 1590-1599 79 1 0-9 The last track - Track 79, Head 1, Sectors 0-9. ------------------------------------------------------------------------------- Each sector is referred to a s a block of data. The blocks on the EPS are numbered 0-1599. The following formula calculates the block number from the track, head and sector number: Block = (((Track * NH) + Head) * NS) + Sector. Where NH = Number of Heads NS = Number of sectors per track Since we know that NH = 2 and NS = 10 we get: Block = ((Track * 2) + Head) * 10) + Sector The track, head and sector number can be calculated as follows: Track = Integer(Block/20) Head = Integer((Block - (Track*20))/10) Sector= Block - (Track*20) - (Head*10) "Integer" referring to the appropriate integer function in the programming language used. ******* Turbo Pascal ******** Function Block (Trk, Hed, Sct : Word) Word; begin Block := (((Trk SHL 1) + Hed) * 10 + Sct; end; Procedure GetTrkHedSct (Block : Word; var Trk; Hed, Sct : Byte); var Temp : Word; begin Sct := Block MOD 10; Temp := Block DIV 10; Hed := Block MOD 2; Trk := Temp DIV 2; end; Sample Calls: FirstDirectoryBlock := Block(0,0,3); GetTrkHedSct(FirstDirectoryBlock, Track, Head, Sector); ******************************* EPS & EPS 16 PLUS SECTOR INFO Blk T H S Sector Information. -------------------------------------------------------------------------- 0 0 0 0 Unused - Repeating 2 byte pattern of 6D B6 (hex). 1 0 0 1 Device ID block 2 0 0 2 Operating system block. 3 0 0 3 Main Directory (1st Sector) 4 0 0 4 Main directory (2nd Sector) 5 0 0 5 FAB (File Allocation Block) 6 0 0 6 FAB 7 0 0 7 FAB 8 0 0 8 FAB 9 0 0 9 FAB 10 0 1 0 FAB 11 0 1 1 FAB 12 0 1 2 FAB 13 0 1 3 FAB 14 0 1 4 FAB 15...1599 Unused - Repeating 2 byte pattern of 6D 6B (Hex). ---------------------------------------------------------------------------- DEVICE ID BLOCK (Block 1). The device ID block contains the following 40 byte pattern (repeated to fill the entire block on a newly formatted disk). The keyword only read the first occurrence of the pattern. In fact they overwrite the rest of the block with unused data when storing files. This block is of interest only for it's "disk - label". 00 80 01 00 00 0A 00 02 00 50 00 00 02 00 00 06 40 1E 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 49 44 The EPS-16 Plus has a disk name stored in the first occurrence of the above pattern. For the disk name "DISK000", the first pattern would appear as follows. 00 80 01 00 00 0A 00 02 00 50 00 00 02 00 00 06 40 1E 02 00 00 00 00 00 00 00 00 00 FF 22 49 53 4B 30 30 30 49 44 D I S K 0 0 0 Byte Description 1 Peripheral device type 2 Removable media Device type 3 Various Standards version # 4 Reserved for SCSI 5-6 Number of sectors per track (10 sectors) 7-8 Number of heads (2 heads) 9-10 Number of cylinders (80 tracks) 11-14 Number of bytes per block (512 bytes) 15-18 Number of blocks on disk (1600 blocks) 19 SCSI Medium type 20 SCSI Density code 21-30 Reserved for later use. 31-38 EPS-16 Disk label (Preceded by FF) 39-40 Device ID signature = "ID" EPS & EPS 16 PLUS OPERATING SYSTEM BLOC (BLOCK 2) The system info block for the EPS contains the following 30 byte pattern repeated to fill the entire block. MA, MI, RM and RI are 00 except for the first occurrence of the pattern: 00 00 06 31 MA MI RM RI 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 4F 53 (O S) The first 4 bytes represent the number of free blocks on the disk and change as files are stored. If the Operating System is not stored on the disk, MA, MI RM and RI are all 00. If the operating system is stored on the disk MA = Major revision level, MI = minor revision level, RM & RI are the minimum internal ROM Revision level for the OS stored on disk. Once again the keyboard only reads the first occurrence of the patter. The above pattern are for formatted disks without any files stored. Once files are stored the information beyond the first occurrence may change. [Scott's Note: Ummm when I look at this block/sector of my EPS 16 Plus disks it does not quite match the above. Looking into it, any help appreceated] EPS & EPS16 PLUS DIRECTORY ENTRIES The EPS use the main directory to store file directory entries and sub-directory entries. When a sub directory (File type 2) is created, the first entry in the sub-directory is set to File type 8 to point back to the parent directory. Each directory and sub-directory can hold 39 entries and there is no limit to the number of sub-directories that can be created. DIRECTORY ENTRY FORMAT Byte Information 01 Type dependent Information (Reserved on EPS) 02 File Type (see list of file types) 03-14 File Name (EPS 12 bytes) 15-16 File size (In blocks) 17-18 Number of contiguous blocks 19-22 Pointer to the first block location 23 Multi-file Index (For when sound covers more than 1 disk) 24-26 File size FILE TYPES Dec Hex 00 (00) Unused (or blank). 01 (01) EPS Operating System. 02 (02) Sub-directory 03 (03) EPS Individual instrument file (a sound) 04 (04) EPS bank of sounds (remembers what sounds were stored where) 05 (05) Sequence file 06 (06) EPS song file (a song is made up of sequences) 07 (07) System Exclusive File (from a dump from some external device) 08 (08) Pointer to parent directory 09 (09) EPS Macro File 10-23 Reserved for Ensoniq VFX or SD-1 files. 23 (17) EPS-16 Plus Bank file. 24 (18) EPS-16 Plus Effect file. 23 (19) EPS-16 Plus Sequence file. 23 (1A) EPS-16 Plus Song file. 23 (1B) EPS-16 Plus Operating System EMPTY DIRECTORY BLOCKS The first sector of an empty directory or sub-directory contains all zeros. The second sector contains all zeros except the last two bytes which contain 44 52 (Hex) or D R respectively. EMPTY FILE BLOCK AN empty file allocation block contains zeros except for the last 2 bytes which contain 46 52 (Hex), F B respectively. Each file allocation block contains 170 three byte entries. Each block on the disk has a corresponding entry in the file allocation blocks. Each zero entry indicates that the corresponding block is unused. A value of one indicates the end of file. A value of 2 indicates a bad block. Each non-zero entry points to the next block in a file. The first 15 entries are set to one. READING A FILE USING THE FAT (file allocation blocks) To read a file from the disk the system must first read the directory entry points to the first block of the file. If part of the file is contiguous the system would start reading the file at the first block and continue until all the contiguous blocks (as specified by the directory entry) have been read. After reading the last contiguous block the system would read the corresponding entry in the file allocation block and read the block the entry points to. This process would continue until the file allocation entry equals 1 signifying the end of the file. Remember: The EPS DOS implements a variable length file system using the standard linked list data structure to keep track of where the file is actually stored, (The FAT). Within the directory entry for a particular file is the pointer to the first block of data. This beginning block pointer is then used to access its corresponding entry in the FAT which contains the the pointer to the next block of data. This procedure is continued until the block pointer is equal to the special end of file code. Note that one block on the disk is 512 bytes and is the same as one block of internal memory. The organization of any disk connected to the EPS is: 1) Three blocks of various system information 2) Two blocks for the root directory. 3) FAT blocks, the number depends on the size of the disk drive. 4) EPS O.S if it exists on the disk 5) User data (sound files, sequences, sub-directories etc). To write a file to disk, the system must first check to see if the file name is already being used. If so then the system should prompt the user to see if the existing file should be deleted. If so, the system should delete the file and then determine if there is enough free blocks on the disk to hold the new file. If true, then the system should read the file allocation table (FAT) from disk. If the disk has enough contiguous blocks free to hold the file the system should store the file as one contiguous file. This speeds up access to the file since the system doesn't have to keep looking at the FAT to locate the next block. However the FAT is maintained even if the file is contiguous. If there isn't enough free contiguous blocks the system should locate the first free block and start storing the file. After writing each block, set the FAT entry for that block to point to the next free block. This process would continue until the last block was written to the disk. Set the FAT entry for the last block to 01 to indicate the end of file. Write the updated FAT back to the disk. Subtract the file size (in blocks) from the number of remaining free blocks and re-write the system information block on the disk. Finally, write the directory entry to the disk. (That explains the chug-chug head seek at the end of file writes :-) FILE ALLOCATION TABLE EXAMPLE End File | End file | End file | Next Blk | Empty | Empty | 00 00 01 00 00 01 00 00 01 00 00 23 00 00 00 00 00 00 The first three entries in the above FAT indicate that the end of the file has been reached after reading the corresponding block. The "next" entry indicates the system should read block 23 (Hex) after reading the corresponding block. The next two entries indicate that the corresponding blocks are empty and available for use. Regards Scott. _______________________________________________________________________________ Scott Fisher [scott@psy.uwa.oz.au] PH: Aus [61] Perth (09) Local (380 3272). _--_|\ N Department of Psychology / \ W + E University of Western Australia. Perth [32S, 116E]--> *_.--._/ S Nedlands, 6009. PERTH, W.A. v *** ERROR 144 - REBOOT? is a registered trademark of ENSONIQ Corp *** ------------------------------------------------------------------------------- ------------------------------ Date: Fri, 11 Jun 1993 11:10:57 EDT From: wbf@ALUXPO.ATT.COM Subject: Re: Ensoniq FTP Site > I was wondering where a good ftp site for ensoniq patches/sequences > could be found. Also, does anybody know where to find cheap sound Try reed.edu although it might be EPS stuff I saw there. -- Bill Fox * Fox's Den Recording Studio * Nazareth, PA * wbf@alux1.att.com ------------------------------------------------------------------------ Heisenberg may have slept here... or here... or here... or here... or here... or here... ------------------------------ End of the EMUSIC-L Digest ******************************