PROPHET64 & MSSIAH Userforum




Official information and support forum for
MSSIAH and all PROPHET64 versions.



You are not logged in.

#1 2008-06-21 18:55:52

rp
Bloody beginner
Registered: 2008-06-21
Posts: 2

File format?

Hello -- Does anybody know the file specification for storing bassline and monosynth files?  I'm writing a multi-platform simple sequencer and I want to be able to export P64 compatible files onto my SD card so I can load them into my P64.  Is it some kind of non-standard binary file?  Let me know if you do.  Thanks!

RP

Offline

 

#2 2008-06-22 14:23:41

ron
PROPHET64 GURU
From: berlin
Registered: 2006-07-08
Posts: 502
Website

Re: File format?

Pretty interesting topic!

Some time ago I was puzzling a little with the files (thinking about a .MID->.P64 converter). But as I'm no 'serious' coder I thought that entering my sequences with the A.R.C. editor didn't take much more time than me fiddling with the p64 data files ;) 

Anyways, here's what I did:
I compared the HEX view of a 303 .PAT pattern  to a regular p64 SAVE (.303 file). Among a bunch of HEX garbage I found parts of the .PAT data inside the complete dump. So I thought a better starting point would be to analyze the .PAT structure itself.

I made four 16-step patterns to examine the storage data:
empty pattern / C on step #1
C on all 16 steps / chromatic scale C', C'#, D', ... D''

http://ronny-james-disco.de/external/prophet64-forum/303PAT-HEX.png

$00 - $1B : The easiest part, a file header ;)
$1C - $2B : note pitch values (learned from "SCALE-C-TO-D.PAT")
$2C - $3B : note time values (10=rest, 80=16th, others still to be found)
$3C - $3D : seems to be an EOF?

So far about the basics, now comes the boring part trying to HEX-read more complex patterns.

I did a few checks with accent and slide. It seems like they alter the first bit of the note pitch bytes, so a 00 (C without slide or accent) becomes 10 (slide), 20 (accent) or 30 (slide & accent). 40 will be starting the next octave (and so on, 50, 60, 70 for slide and acc.).
I think this is pretty much all you need to know about the note pitch (?).

As the internal pattern construct of the p64 groovesequencers goes the Roland way to seperate the note pitch from its timing values, don't get fooled by funny note pitches you'll find, since they donīt matter when that step is set to 10 (rest) at $2C-$3B...

Maybe someone got the patience to prove my results or complete the missing parts of it. As being said, your project sounds interesting,

Last edited by ron (2008-06-22 14:50:58)

Offline

 

#3 2008-06-23 01:01:06

rp
Bloody beginner
Registered: 2008-06-21
Posts: 2

Re: File format?

This is really cool!  Thanks for sharing it.  We're you able to modify a pattern file and load it back into the sequencer?  I've got a confession to make that may meet with scorn.  As good as it is and true to its' roots, I don't alway like using the p64 interface to compose.  If I ever get this thing working it will probably export midi and audio files initiially, then add the export.  I could theoretically get it workng on a c64 but my programming skills are pretty primitive when it comes to 8 bit machines.  I'll keep you posted if I get anywhere and feel free to drop me a note if you do.  Thanks!

Offline

 

#4 2008-06-23 11:54:25

ron
PROPHET64 GURU
From: berlin
Registered: 2006-07-08
Posts: 502
Website

Re: File format?

Yeah, I just wrote some stupid sequence with the HEX editor, working. Gonna do all the composing using vim now wink

Offline

 

#5 2008-06-23 20:49:24

firestARTer
Administrator
From: Germany
Registered: 2006-06-27
Posts: 579
Website

Re: File format?

Nerds ;-)


firestARTer - Gameboy - C64 - Atari Music
Hardware developing for your favourite homecomputer musicsoftwares
http://www.sidsyn.com
http://www.myspace.com/firestartermusic

Offline

 

Board footer

Powered by
© Copyright 2002–2008