Jump to content
IGNORED

[Imagitec Design's MOD Player] informations ?


matmook

Recommended Posts

I'm currently playing with Mod player on Jaguar (Sinister Developments's player and SebRMV's player).

 

There is another mod player in Tempest2k's source code done by Imagitec Design but this is just a object file (SYN6.O), not a source file... :(

 

Can I found more information on this somewhere ? :roll:

Link to comment
Share on other sites

  • 1 month later...

The title mentions Imagitec. Did you find out more about their mod player?

Yop Doctorclu ;)

 

No, I didn't found more informations on this but I was just curious at how it runs (I'm currently using Sinister'one and/or SebRMV's one) ...

Perhaps there is some source code on those Extremist pack ?

Link to comment
Share on other sites

  • 3 years later...

The Imagitec Mod player is basically a 4 channel protrack mod player and 4 channels for sfx.

 

There is a couple of versions , not sure if the defender 2000 is the only one which need to be copied to certain memory address in memory. For the Bubsy ,Dinodudes . Iwar , Raiden and I think Zool it just got loaded into memory and was accessed via

 

xref.l INIT_SOUND

xref.l PT_MOD_INIT

xref.l FADEUP

xref.l FADEDOWN

xref.l NOFADE

xref.l SET_VOLUME

xref.l START_MOD

xref.l STOP_MOD

xref.l PLAYFX

xref.l NT_VBL

xref.l RESUMEDSP

xref.l HALTDSP

xref.l DISABLE_FX

xref.l ENABLE_FX

 

I am looking at old code and trying to figure it all out again :)

 

This is done at the start of the program

 

lea BASE,a5

Jsr INIT_SOUND ;start the music driver

 

-----------------------------------------------

 

A0 = address in memory where the mod is

 

lea mod_load_addr,a0 ;addr to load

jsr PT_MOD_INIT ;setup song and player

-----------------------------------------------

needs no variables , just stops the current mod

jsr STOP_MOD

----------------------------------------------------

used in pause screens to stop the music and maybe sfx

jsr RESUMEDSP

Halt will take a bit mask for which channels to stop

moveq #$30,d0

moveq #$0f,d0

jsr HALTDSP

----------------------------------------------------------------

This function is called in the VBL to play the music sfx etc.

jsr NT_VBL

------------------------------------------------------------------

Stops the mod form playing and restarts it

jsr STOP_MOD

jsr START_MOD

------------------------------------------------------------------

move.b #xxx, d0 - volume in the range 0x00 upto 0xff

jsr SET_VOLUME

------------------------------------------------------------------

lea sample,a0

move.l #length,d0

moveq #1,d1 ;priority

move.w #$3fff,d2 ;pan value

jsr PLAYFX

-----------------------------------------------------------------------

That's sort of a rough explination. Hope it helps

  • Like 3
Link to comment
Share on other sites

Not really. I tweaked it a bit for Jeff Minters needs on defender 2000. Most of it was converted by Trevor Raynesford to the Jaguar from the Amiga ProTracker code. But I used it in Bubsy, Evolution Dinodudes and IWar ( Andrew Seed)

Edited by Seedy1812
  • Like 8
Link to comment
Share on other sites

Not really. I tweaked it a bit for Jeff Minters needs on defender 2000. Most of it was converted by Trevor Raynesford to the Jaguar from the Amiga ProTracker code. But I used it in Bubsy, Evolution Dinodudes and IWar ( Andrew Seed)

 

Nice topic :twisted: Do you have more info/sources laying around ?

  • Like 1
Link to comment
Share on other sites

I took the protracker C code that was posted as PD for the Amiga and fixed a few things - added proper support for some commands as well as support (compile-time selectable) for up to 8 channel MODs and even panning. I've used the code on a number of platforms - namely the 32X and SegaCD, but it could be used on anything really. The SegaCD version is interesting as it loads the MOD file from CD (could be loaded from rom or anything else), can preprocess the pattern data to make notes quicker (compile-time selectable), and can resample instruments to fit into a set amount of sample ram. The 68000 is called by a timer interrupt to handle the score, and all calls to the sample mixing are through a pcm library, so that's also easy to adapt to another platform. The mod playing code is plain C, and the pcm library is a mix of C and assembly. If you're interested, this archive has the latest code:

 

http://www.mediafire.com/download/a46r5bmoxamgmqw/cdmodplayer-20130626-nomods.7z

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I don't have any of the code for the mod player , just the syn.o file to link with and the include file with function offsets. The core of the player did not change. The update was done on the 68000 and the sample playing + mixing was done on Jerry. The initial version loaded up a mod and played it , either Bubsy or Iwar had a set sample bank and the song could be loaded in separately. It saved a bit of Rom space. With Bubsy at the last moment they wanted the speech at the start of the levels and we did not have much space left , that's why there is only 1 per world and its low quality.

Jeff Minter wanted the mod player to load at a specific memory space on Defender 2000 so we tweaked it for him.

  • Like 4
Link to comment
Share on other sites

  • 1 year later...

Wow thanks a lot for the fast reply. Some other sites List Ian Howe/Alastair Lindsay/Kevin Saville/Julian Hodgson for the Tempest 2000 Soundtrack... I guess that's only for the Audio-CD maybe?

 

Mobygames only lists Alastair Lindsay/Kevin Saville for Tempest 2000 so I think this is confirmed now.

Edited by lotek_style
Link to comment
Share on other sites

Hi, Andrew,

 

Nice to see you posting here! Been a long time since we last emailed... :)

 

 

The initial version loaded up a mod and played it , either Bubsy or Iwar had a set sample bank and the song could be loaded in separately. It saved a bit of Rom space.

 

That's the same way the Protector MOD player works: I load the samples once but keep the song data separate, so I can load a variety of songs all using the same instruments. Definitely saves a lot of ROM / CD space, as each song is only about 10KB of data compared to 100KB+ of instruments.

  • Like 1
Link to comment
Share on other sites

Hi, Andrew,

 

Nice to see you posting here! Been a long time since we last emailed... :)

 

 

That's the same way the Protector MOD player works: I load the samples once but keep the song data separate, so I can load a variety of songs all using the same instruments. Definitely saves a lot of ROM / CD space, as each song is only about 10KB of data compared to 100KB+ of instruments.

That's pretty much the way Psygnosis handled music on the Amiga. If you look at MODs made from their games, the instruments are usually identical across all MODs. Clearly, the game just loaded the instruments to chip ram and swapped just the scores.

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...