General Info / News
Moderator:Moderators
- marshallh
- Moderator
- Posts:2986
- Joined:Sat Sep 10, 2005 2:17 pm
- 360 GamerTag:marshallh
- Location:here and there
- Contact:
More progress - converted "sample" source code by Nintendo that previously compiled with exeGCC to work with my current SN systems Psy-Q compiler.
Messed around with the sequence player - we know them as MIDIs. 90% of all N64 music is a form of glorified MIDI. The N64 needs a sequence file (compressed MIDI file) as well as a sample bank (holding instruments, sounds etc) to generate sound.
Of course, to play MIDI files as we know them, Nintendo supplies a General MIDI sound bank, and it works. It sounds like crap though.
This means: There are 2 ways I can play music on the N64.
1. MIDI files as explained above
2. MOD files played with a port of MikMod.
1 is a pain to make and doesn't support things like complex envelopes, effects and the like. However, it is directly supported by the audio microcode, so it's fast.
2 makes use of a MOD player, which can sound great, but simply blasts sound through some registers, which means the CPU has to do all the work and may hurt the graphics some.
It is also a LOT easier to compose a mod file (Say, Impulse Tracker) than mess with MIDI. I'll probably use this for making N64 demos
So what does this mean? GTP probably won't have much music. The only places I can see music being played are: inside buildings where you have processing time to burn, and possibly in the game menus.
You deserve a cookie if you got all that
Messed around with the sequence player - we know them as MIDIs. 90% of all N64 music is a form of glorified MIDI. The N64 needs a sequence file (compressed MIDI file) as well as a sample bank (holding instruments, sounds etc) to generate sound.
Of course, to play MIDI files as we know them, Nintendo supplies a General MIDI sound bank, and it works. It sounds like crap though.
This means: There are 2 ways I can play music on the N64.
1. MIDI files as explained above
2. MOD files played with a port of MikMod.
1 is a pain to make and doesn't support things like complex envelopes, effects and the like. However, it is directly supported by the audio microcode, so it's fast.
2 makes use of a MOD player, which can sound great, but simply blasts sound through some registers, which means the CPU has to do all the work and may hurt the graphics some.
It is also a LOT easier to compose a mod file (Say, Impulse Tracker) than mess with MIDI. I'll probably use this for making N64 demos
So what does this mean? GTP probably won't have much music. The only places I can see music being played are: inside buildings where you have processing time to burn, and possibly in the game menus.
You deserve a cookie if you got all that
- marshallh
- Moderator
- Posts:2986
- Joined:Sat Sep 10, 2005 2:17 pm
- 360 GamerTag:marshallh
- Location:here and there
- Contact:
If you want to composing some decent-sounding MIDI sequences and the appropriate wave tables (same as sound banks) then be my guest. It takes a very talented composer to squeeze good sound out of MIDI.Sword_Gun wrote:What about in cars? Car music is the best.
I had thought of this, I considered using VGMusic.com midis for car music, but they sound terrible with Nintendo's supplied sound bank. It is possible to replace the instrument samples with ones from, say, the DirectMusic sample bank.
So, benheck users, would you like to me attempt replacing the MIDI sound bank with some decent instruments, and have video game MIDIs playing for car driving? Or should I just write some good MOD music for the menus and buildings?
- bicostp
- Moderator
- Posts:10491
- Joined:Mon Mar 07, 2005 5:47 pm
- Steam ID:bicostp
- Location:Spamalot
- Contact:
Well, with the MOD music, would it sound all compressed and flat like the music in the beginning of Cruisin' Exotica? If so I'd suggest trying to swap out the basic instrument sounds with some better ones.
Also, guys about MIDIs from VGmusic.com, it's not a good idea to use them becasue those songs most likely still fall under copyright protection from their respective companies. I think. Not entirely sure... Remixes may be a bit more toward the light side of the grey area.
Also, guys about MIDIs from VGmusic.com, it's not a good idea to use them becasue those songs most likely still fall under copyright protection from their respective companies. I think. Not entirely sure... Remixes may be a bit more toward the light side of the grey area.
Twitter
http://www.pcwgaming.com" onclick="window.open(this.href);return false;
If you want a Dropbox account, please use my referral link
http://www.pcwgaming.com" onclick="window.open(this.href);return false;
If you want a Dropbox account, please use my referral link
- marshallh
- Moderator
- Posts:2986
- Joined:Sat Sep 10, 2005 2:17 pm
- 360 GamerTag:marshallh
- Location:here and there
- Contact:
One of the most effective graphical effects I've seen on the N64 are colored vertices. RARE games use colored vertices heavily, in place of expensive lighting calculations.
There is no easy way to edit vertex colors with the setup I'm using:
1. Model and texture with Anim8or, export to 3DS
2. Convert to .h displaylist using Memir's 3DS2C
3. Render DL on N64
3DS doesn't allow for vertex colors. So, I had to write a program that would load the .h displaylists and allow you to edit vertex colors, and regenerate a .h file.
I've done it.
Loads 99% of displaylists generated by 3DS2C, into a vertex buffer renderable by Direct3D. Textures in the .h file are stored as encoded hex in 16-bit 5551 format. I had to do a lot of converting and parsing, as you would imagine.
Editing vertex colors is easy - either click on vertices or drag a selection box. Two views allow for instant preview and easy access to the raw vertices. Individual objects can be toggled on/off to make editing easier.
As it is a version 0.1, it doesn't save back to a displaylist, but that functionality will be soon in coming, I was just so excited about this that I decided to post about it now.
This should be a tool that will evolve with each game I make. I have planned additions already started, such as making animation keyframes.
Comments? For any hackers among you, here's a sample from the upcoming game:
http://retroactive.be/L_ALLEY.H
There is no easy way to edit vertex colors with the setup I'm using:
1. Model and texture with Anim8or, export to 3DS
2. Convert to .h displaylist using Memir's 3DS2C
3. Render DL on N64
3DS doesn't allow for vertex colors. So, I had to write a program that would load the .h displaylists and allow you to edit vertex colors, and regenerate a .h file.
I've done it.
Loads 99% of displaylists generated by 3DS2C, into a vertex buffer renderable by Direct3D. Textures in the .h file are stored as encoded hex in 16-bit 5551 format. I had to do a lot of converting and parsing, as you would imagine.
Editing vertex colors is easy - either click on vertices or drag a selection box. Two views allow for instant preview and easy access to the raw vertices. Individual objects can be toggled on/off to make editing easier.
As it is a version 0.1, it doesn't save back to a displaylist, but that functionality will be soon in coming, I was just so excited about this that I decided to post about it now.
This should be a tool that will evolve with each game I make. I have planned additions already started, such as making animation keyframes.
Comments? For any hackers among you, here's a sample from the upcoming game:
http://retroactive.be/L_ALLEY.H
- ShockSlayer
- Niblet 64
- Posts:5059
- Joined:Thu Jun 29, 2006 12:47 pm
- Location:In my inbox.
Thanks for the sample. Now to muck around in the code! hehehe.
You pwn!
SS
You pwn!
SS
http://twitter.com/ShockSlayer" onclick="window.open(this.href);return false;
- marshallh
- Moderator
- Posts:2986
- Joined:Sat Sep 10, 2005 2:17 pm
- 360 GamerTag:marshallh
- Location:here and there
- Contact:
It's possible, but I don't know enough details to do it myself. I'm learning more about the process, though.
I think the best way to make game carts containing the game data is to use a Flash ROM chip. I have seen designs for a flash cart based on an Atmel flash chip, but the design is too old to replicate, and only provides 2MB space anyway.
I think that the best route is to use a 64Mbit (8Mbyte) flash ROM from either Atmel or Macronix. Here's a chip I have in mind.
Really all there is to do is to rewire the flash chip address and data lines to match those on the cartridge pinout.
Does anyone with some real technical knowledge want to help in this?
I think the best way to make game carts containing the game data is to use a Flash ROM chip. I have seen designs for a flash cart based on an Atmel flash chip, but the design is too old to replicate, and only provides 2MB space anyway.
I think that the best route is to use a 64Mbit (8Mbyte) flash ROM from either Atmel or Macronix. Here's a chip I have in mind.
Really all there is to do is to rewire the flash chip address and data lines to match those on the cartridge pinout.
Code: Select all
Cart Pinout:
GND 1 26 GND
GND 2 27 GND
AD15 3 28 AD0
AD14 4 29 AD1
AD13 5 30 AD2
GND 6 31 GND
AD12 7 32 AD3
/write 8 33 ALE_L
VCC 9 34 VCC
/read 10 35 ALEL_H
AD11 11 36 AD4
AD10 12 37 AD5
12V 13 38 12V
14 39
AD9 15 40 AD6
AD8 16 41 AD7
VCC 17 42 VCC
CIC_DATA1 18 43 CIC_DATA2
1.6MHZ 19 44
/COLD_RESET 20 45 /OS EVENT
S_DAT 21 46
GND 22 47 GND
GND 23 48 GND
LAUDIO 24 49 RAUDIO
GND 25 50 GND
VCC=3.3V
looking from the top of the console: pin 1 is left front, pin 26 is left rear
- Triton
- Moderator
- Posts:7397
- Joined:Mon May 24, 2004 12:33 pm
- 360 GamerTag:triton199
- Steam ID:triton199
- Location:Iowa
- Contact:
i am uber impressed marsh! fix the model of the oldsmobile a bit (i think you could get away with a FEW more polys lol) and it will look riteous! fricken amazin man keep it UP! get on aim ya foo! so i can talk at ya
Visit us at Portablesofdoom.org