Space99 - Music and Sound Effect Forum

Want to talks about games you like, would like to see developed on the Oric, it's here.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Dbug wrote:An alternative way to explore, is Fabrice's midi to ym converter.

The result will not be as great as would be a dedicated ym tracked music, but it would be better than nothing. And it's easier to find somebody that can do midi music.
Yep, that is another possibility, but, AFAIK, Fabrice worte a midi player, which was quite memory & CPU hungry. I suppose we can use it for playing the main tune, but what about the sound effects?

You heard those initially created by Twilighte in his older version of AT? They were incredible, that is why I asked if there is any possibility of having them... even if they are somewhat hardcoded, instead of imported from the tracker...

I declare my incompetence in this field, so maybe I am saying something stupid :oops:

In the meantime, and even if this info should be placed in the other thread, the french version is ongoing at the same time that I correct some bugs. Maximus provided the translation and it was quite easy to integrate it into the current work version of the game. Now he has to test it and see if texts are correct. More news soon, I hope.

So, in the end, we will have both an english and a french version. I hope you all like it.

Cheers

P.S. What about the opening intro DBug? :twisted:
User avatar
Dbug
Site Admin
Posts: 4444
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug »

Chema wrote: P.S. What about the opening intro DBug? :twisted:
Promised, as soon as I moved to the new apartment I work on it and finish it.

But I'm in the same situation as the game is: I do not have any music !

I guess I will have see with Fabrice if I can have the source code of the midi player, in which case I will try to integrate this intro music:

http://calwestray.tripod.com/images/space_1999.mid

It's 14k, but perhaps I can "pre-process" the music and make it a little bit lighter... (by using MidiSqueezer, it was shrinked to 10k)

Because without the soundtrack, my intro is worthless.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Dbug wrote:
Chema wrote: P.S. What about the opening intro DBug? :twisted:
Promised, as soon as I moved to the new apartment I work on it and finish it.

But I'm in the same situation as the game is: I do not have any music !

I guess I will have see with Fabrice if I can have the source code of the midi player, in which case I will try to integrate this intro music:

http://calwestray.tripod.com/images/space_1999.mid

It's 14k, but perhaps I can "pre-process" the music and make it a little bit lighter... (by using MidiSqueezer, it was shrinked to 10k)

Because without the soundtrack, my intro is worthless.
I perfectly understand :(

In addition the last 30 seconds or so are just a variation of the main theme... maybe we can save some more bytes there, but I am not sure...

Let's try it.

Regards
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

ok, its been a long time coming (ok, around 6 months) but maybe this will capture some salvation.. :shock:
The bad news is that i didn't use the all new AT tracker to compose the tune but good old Sonix!!. :?
The good news is that it is done (if a little rough around the edges), its 2897 bytes long (compiled with code) and their is a demo below. :lol:

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

Save target to Tape directory and load into booted Oric Atmos. Might not work on Telestrat or Oric1 because Page 2 IRQ vectors are different.

Now some basic facts.
The song actually includes an outro pattern (right at the end) which the crappy compiler didn't capture boohoo.
I need to separately write the sound effects, since Sonix sound effects are pretty cruddy (awful).
I'd also like some feedback and perhaps links to other tunes you'd like in here too.
I also happen not to have read any of the above messages, so if you've done the music already then no worries.
User avatar
waskol
Flight Lieutenant
Posts: 414
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol »

woot woot woot !!!

It is really nice ! I felt almost aboard Alpha :wink:
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Ok slight change, have buffed up the music with some more detail, added the rising volume at the start, included the outro pattern at the end and slowed the tempo a tad. 8)

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

Recompiled but this time to 2967 Bytes, just a little higher than before. I guess the extra pattern and extra detail added a few bytes. :wink:
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Hey! In one word: AMAZING!

That is indeed great, man. And less than 3K. I liked it a lot!

I can't wait to integrate it in the game and/or intro.

BTW, Dbug can now proceed with the intro scene.. :)

I am not sure about the format of the sound. If they consist on a playback routine (maybe with some code in zero page) and a bunch of data (samples and patterns), then I can put the code in normal memory and make the program load the data into overlay at the beginning of the game, so it sounds until the user presses a key to start playing.

That assuming the playback routine can be used to play the in-game sound effects and music. Else I can load everything into overlay and still have free normal memory for later "add-ons" :)

Very nice work indeed. And you finally used Sonix? I only hope you end up AT someday, because I started feeling capable of doing some simple tunes myself!!

Oh, and what about the sound effects you already had in older versions of AT? Are they easy to compile into something usable in the game?

Cheers!
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Oh, and what about the sound effects you already had in older versions of AT? Are they easy to compile into something usable in the game?
Yes, this is the difficult bit. Ideally i need to find those and rewrite the sfx player, integrating as many existing sonix routines to save memory.

I am sure i can exclude channels and do all the fancy stuff we previously discussed in Sonix, but first, i ideally need to know the start location the game music and sfx should reside and the maximum size (bytes) they can consume.
I would prefer if the music&sfx&routines existed in lower memory since testing here is much easier for me. nevertheless it is achievable above C000.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote:
Oh, and what about the sound effects you already had in older versions of AT? Are they easy to compile into something usable in the game?
Yes, this is the difficult bit. Ideally i need to find those and rewrite the sfx player, integrating as many existing sonix routines to save memory.

I am sure i can exclude channels and do all the fancy stuff we previously discussed in Sonix, but first, i ideally need to know the start location the game music and sfx should reside and the maximum size (bytes) they can consume.
I would prefer if the music&sfx&routines existed in lower memory since testing here is much easier for me. nevertheless it is achievable above C000.
Ok. We have some free space in lower memory... currently from $91c8 to $a000 BUT this changes whether in french or english version...

In overlay we have from $e600 (where the map data ends) up to 6655 bytes.

I wonder if it could be possible for you to use labels and give me the assembly sources, so I can just integrate the routine as any other in the game. Then, music and sfx data can be loaded from disk into overlay in the game, but you can have them in normal memory for testing... just changing the label value. This can be either #defined or better yet, similar to what I use in the decompression routine with the dictionary data:

Code: Select all

#ifdef GRAMMAR2PAGE4
.bss
*=$400
Grammar .dsb 256
.text
#endif

;;;;;;;;;; Decompression routine ;;;;;;;;;;;;;;;;;;
;__comp_start
decomp
.(
    tay
    ; Prepare the stack for the decompression routine
    lda #0
    pha
    tya
    pha

loop
    pla
    ; If it is 0, we are done
    beq end
    ; If it is a token, expand it, else print and continue
    bpl printit

    and #%01111111 ; Get table entry
    asl
    tay
    lda Grammar+1,y
    pha
    lda Grammar,y
    pha
    jmp loop
printit
    jsr put_code
    jmp loop
end
    rts
.)
Note how I use Grammar in the code... and I can change the location easily. In the above example it loads into page 4 from disk if GRAMMAR2PAGE4 is defined, which, btw, is not the case in the current status of the game, where Grammar is a table in the sources.

If you do something similar, I can easily relocate music data and load it in overlay as needed, just after (or even over in some cases) the World Map.

Not sure if this is a possible approach...

BTW we have some free data in the zero page which you can use...

Cheers.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Not sure how possible this will be.
The Sonix music is compiled into a single .COM file that is saved to disc. This consists of everything, including data, tables and code.

I intend to take this music and decompile it back into a source file with data and tables held in .byt statements and code as mnemonics.
Then to add the code and data for the sfx plus any additional code and ammendments to enhance the music and make it more dynamic.

However this procedure is long and arduous, and should only be done once and when all the music is realised(composed).

So number 1 priority is to add any more music you need to the original sonix music file.

I also need the original SFX module/File/MP3 that you so liked Chema, because i have lost it. :(
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote:Not sure how possible this will be.
The Sonix music is compiled into a single .COM file that is saved to disc. This consists of everything, including data, tables and code.

I intend to take this music and decompile it back into a source file with data and tables held in .byt statements and code as mnemonics.
Then to add the code and data for the sfx plus any additional code and ammendments to enhance the music and make it more dynamic.

However this procedure is long and arduous, and should only be done once and when all the music is realised(composed).

So number 1 priority is to add any more music you need to the original sonix music file.

I also need the original SFX module/File/MP3 that you so liked Chema, because i have lost it. :(
Oh I see... I feared something like that... Ok. So you will need a base address to work with, so Sonix compiles the playback routine...

Couldn't you have *just* the playback routine as source? Everything else (tune as mnemonics, patterns, ...) could be translated to .byt statements and loaded anywhere in memory...

Ok, I suppose the answer is no, or you have already said so :)

Another possibility is to add some free space somewhere (reserving it in the sources) so the playback routine can be held there... but I still think that data should go elsewhere or we will have space problems... we barely have 3K left I think...

If it is easier for you and we can make it with over 6K I can move the world map data so you can compile the sound into $c000. We can convert everything to .byt and include it in the game compilation, so it is easy to test...

We will see... I will send you the file by email, as soon as I find it!

Cheers.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

ok, found it!!

I found the old routine in AT005 and the old music in another file.
I have all i need now.
Don't worry about memory atm, i need to compose the hifi tune then effects, bung it all together then worry about memory and location.
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Ok, i've now worked out that both Code, Sound Effects and Music can fit in 5K or less.

I extracted the data from the old SFX that chema liked and added the original Effect Code. This compiles to 881 Bytes.
I must now return to compose the "Hifi tune" in a Sonix Pattern.

I have decided to mess around with the existing pattern combinations to get a number of different tunes but in keeping with the style of Space1999.
This also saves on alot of bytes.

I have the following

1) 3 Channel Title Tune (Tempo12)
2) 3 Channel Repeating Reggae variation (Tempo16)
3) 1 Channel (A) Repeating Drum Pattern (Tempo12)
4) 2 Channel (AB) Repeating Music (Tempo20)

Music 4 can be played at low volume and would be intended for the Hifi Music.

Effects
There are now a total of 22 Effects which (unlike the original AT set) can be assigned to any channel through the agreed format.

If you are in agreement Chema?, i will decompile the Sonix SPACEMU2 tape file and begin implementing the Effect code and data.
Last edited by Twilighte on Tue Nov 06, 2007 11:09 am, edited 1 time in total.
User avatar
Chema
Game master
Posts: 3014
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema »

Twilighte wrote:Ok, i've now worked out that both Code, Sound Effects and Music can fit in 5K or less.
I extracted the data from the old SFX that chema liked and added the original Effect Code. This compiles to 881 Bytes.
That is great! So SFX could take up less than 1K!!??? They can be held in normal memory perfectly, and keep overlay for tunes or music as needed...

In that case we can agree with some starting address over 1K below $a000, so you can test them easily and I can incorportate them to the game.

I would only need to know how to "load" them. I mean, remember that the disc structure is not "usual". In fact I am now loading everything from $500 to the end of hires screen, including the game frame... So even a dump of .byt statements would help me!

Then I would need to know how to make them sound, and I could start with it :)

Remember Space1999 uses your own irq routine, and we have to alter it to include a call to the music playback, I suppose. Also you are using surely page zero intensively, so either we agree on what addresses you can use or you use .zero for dynamic allocation. Am I wrong?

Obviously if you can get the sources for the routine, that should be inmediate...
I must now return to compose the "Hifi tune" in a Sonix Pattern.
Any ideas what tune you'd like?
I am not sure what we decided here... I think I remember Dbug suggesting some classical music tunes for selected areas (solarium, pool, rooms,...). We also talked about the possibility of playing some parts of the main theme individually, so we can enforce certain moments of the game with them (mainly the starting drums and orchestra), without eating our memory.

I think you have more experience than me in this area, so please feel free to decide what you think would fit best.

BTW the more I listen to the Space1999 composition you made, the more I think you are simply a genius..

And, just in case anyone has de same problem as me, there is a huge difference in sound quality from running Euphoric under XP and under VirtualPC. At least for me...

Dbug... Now that we have the main theme... maybe you can restart with the intro :twisted:

Cheers!
User avatar
Twilighte
Game master
Posts: 819
Joined: Sat Jan 07, 2006 12:07 am
Location: Luton, UK
Contact:

Post by Twilighte »

Hi Chema, damn i modified the message above whilst you were replying to it. So reread please.
Thanks for your kind words.
This music can still do with some enhancements that are not available in sonix, like repeating ornaments and volume effects so that long notes don't terminate their effect prematurely.
As for the "Pool" tunes, i think we should seriously consider placing both effects and music in the same memory area and available during the game. It would still use just 5k but would make available all patterns for "pool" and "Hifi" tunes and Title tune.
Testing it shouldn't be a problem for me, and i am resigned in the idea the whole 5K will eventually reside somewhere above C000.

Sonix used 00-0B of page Zero but once i decompile the code i will make it dynamic. Nevertheless it will still require around 12 bytes of zero page.

Can you send me the original code i gave for the IRQ routine. Then i can implement the music and sfx into it.

I now have alot of work to do to get this sound sorted.
btw, i always use DosBox now, just so much better than VPC.
Post Reply