short and sweet Sound bank designer

This forum is about audio tools, including samplers, sound trackers, sound chip editors, how to do sound effects, etc...
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

short and sweet Sound bank designer

Post by Twilighte »

I wrote this handy little utility after getting fed up with the rather limited PLAY and SOUND command in Oric BASIC.
It allows one to set up a bank of register values, send them to the AY and Save/Load them from Disk (16 bytes).
It took about an hour to write but will prove very useful to me and perhaps others.

It requires Sedoric to run since it uses Sedorics USER command to call the ROM routine passing X and Y parameters (address of sound bank).
The program is totally in BASIC and if enough people want it, i can write a special version that doesn't require SEDORIC 8)

The utility is called SDES (Sound bank DESigner) and looks like this..

Image

As you'll see all instructions on screen.
and the tap is below..

http://www.defence-force.org/ftp/forum/ ... s/sdes.tap

From the Oric bible (AUG) the following Oric sounds can be made using this utility. Just enter the bank data for each below..

Ping

Code: Select all

18
00
00
00
00
00
00
7E
10
00
00
00
0F
00
Shoot

Code: Select all

00
00
00
00
00
00
0F
47
10
10
10
00
08
00
Explode

Code: Select all

00
00
00
00
00
00
1F
47
10
10
10
00
18
00
For a more detailed explanation of the registers available please refer to the sound section of the defence-force wiki.. :twisted:

http://wiki.defence-force.org/doku.php?id=oric:main

Happy Oricing :D
User avatar
ibisum
Wing Commander
Posts: 1643
Joined: Fri Apr 03, 2009 8:56 am
Location: Vienna, Austria
Contact:

Post by ibisum »

This is awesome .. you've basically opened up the AY chip for full-synthesis .. cooooool!
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Through sedoric it is very easy to call the ROM routine with parameters from BASIC :)
For example..

just place the following towards the start of your program.

Code: Select all

USER 1,DEF #FA86
And then treat #BFE0 - #BFED as the AY registers.
You actually don't need to worry too much about the initial register values (The ROM routine protects against anything too unpleasent) 8)

Everytime you want to make the change..

Code: Select all

USER 1,X#E0,Y#BF
This will send the memory range to the AY registers :)

The ROM routine sits at $FA86 and if passed the address in X and Y registers will dump 14 bytes from the address to the AY registers.
User avatar
waskol
Flight Lieutenant
Posts: 414
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol »

Awsome !!!

Oh yes ! Without Sedoric ! Pleeeeeeeeeeaaaaaaaaaaaaseeeeee.... :lol:
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

I'm at work atm..
hmm, i wonder if i can tell you how to do it without being at home..

CLOAD the program, and enter these lines..

Remove the line or text..

Code: Select all

USER 1,DEF #FA86
Replace this text..

Code: Select all

USER 1,X#E0,Y#BF
with

Code: Select all

CALL #BFF0
Then enter these new lines

Code: Select all

1 DOKE #BFF0,#E0A2
2 DOKE #BFF2,#BFA0
3 POKE #BFF4,#4C
4 DOKE #BFF5,#FA86
Now save the program and it should (fingers crossed) work!

And just for information the actual mc was..

Code: Select all

ldx #E0
ldy #BF
jmp $FA86
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Some interesting rythms can be had by mixing eg repeting sawtooth or triangle with chip channels as the following example demonstrates nicely.

D5,3,EB,3,0,0,0,7C,10,10,0,1D,0,8

This should work on both emu and real oric in same way but difficult to know for sure without trying it.
romualdl
Officer Cadet
Posts: 52
Joined: Tue Jan 17, 2006 9:42 pm
Location: France

Re: short and sweet Sound bank designer

Post by romualdl »

Because it's easier for me to deal with int rather than hex I modded Twi's basic program to display int and added the ranges of the values to be used (according to "L'Oric à Nu"). For the details of bytes 7 and 13 then it's better to have a look at the book or read Ladywasky's explanation in english on this forum or in french on oric.org's forum. I added a LPRINT option for those who would like to copy and paste the values they've been playing with instead of saving them on the sedoric disk.
You'll find attached the modded DSK, if it's a problem for the moderators, just erase it from my message.
Attachments
SDES2.dsk
(131.5 KiB) Downloaded 382 times
User avatar
Steve M
Squad Leader
Posts: 787
Joined: Fri Mar 24, 2006 3:33 am
Location: Cumbria, UK
Contact:

Re: short and sweet Sound bank designer

Post by Steve M »

Thanks. I'll have a look later.
Post Reply