Worklog PPR

Discussion in 'Nintendo 64' started by marshallh, Dec 31, 2016.

  1. DeoNaught .

    Joined:
    Dec 10, 2016
    Messages:
    557
    Likes Received:
    588
    Location:
    Constant Fear
    Portables:
    sin^2(x) + cos^2(x) +e^(i*pi)
    Too big
     
  2. Matthew Formally known as Chaos Staff Member . .

    Joined:
    Jul 11, 2016
    Messages:
    523
    Likes Received:
    975
    Location:
    USA
    Portables:
    1
    Well if you can do so much better, please by all means show us.
     
    Noah, public-pervert, Pacal and 5 others like this.
  3. DeoNaught .

    Joined:
    Dec 10, 2016
    Messages:
    557
    Likes Received:
    588
    Location:
    Constant Fear
    Portables:
    sin^2(x) + cos^2(x) +e^(i*pi)
    Well i can fit a n64 into a tic tac container. What can you do?


    /s
     
  4. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    Ban you
     
    Noah, Toaster912, ShockSlayer and 9 others like this.
  5. cheese the tallest memer in town Staff Member . . .

    Joined:
    Mar 2, 2016
    Messages:
    2,494
    Likes Received:
    2,215
    Location:
    Florida
    Fit one in my pocket
    [​IMG]
     
    JoJo, Ampz, ShockSlayer and 8 others like this.
  6. SwimmingKittens .

    Joined:
    Feb 18, 2017
    Messages:
    1
    Likes Received:
    0
    How can you even tell how big it is Deo? How small is it?
     
  7. link270 .

    Joined:
    Jul 4, 2017
    Messages:
    120
    Likes Received:
    106
    Your work is beautiful! Can't wait to see more!
     
  8. DeoNaught .

    Joined:
    Dec 10, 2016
    Messages:
    557
    Likes Received:
    588
    Location:
    Constant Fear
    Portables:
    sin^2(x) + cos^2(x) +e^(i*pi)
    I can't i was being an ass,
    Its pretty small from what i can tell,
    It's pretty ingenious really.
     
    SwimmingKittens likes this.
  9. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    Audio???

    [​IMG]
     
    Miceeno, cheese, Stitches and 8 others like this.
  10. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    LM49450 <3
    It’s amazing how versatile that thing is. Do you use the FPGA only for MCLK generation and i2c control of the amp IC, or do you use it for something else?
     
  11. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    Got it working. For now I am just putting in analog in thru the LINE_IN pins. As with all TI datasheets, their pdf is garbage and doesn't actually describe anything about LINE IN, I just got it working by guessing. Fan controller works great. It has both internal temp sensor + remote junction support.


    The FPGA will be running the audio resampler stolen from UltraHDMI. As you know, the n64 is capable of producing any audio frequency audio signal up to 300khz (Its stock DAC doesn't go past 48khz though). But, it's not actually I2S - it's right justified which is close but not quite. Even worse, it doesn't have any MCLK.
    However, the killshot is that the N64 changes sample rate all the time, even within the same game. All DACs expect a constant frequency and do not like having that changed (you'd have to reprogram one constantly). This is exactly why I made the audio resampler in the first place - to take in goofy right-justified any-frequency and produce vanilla I2S.


    Terrible video:
     
  12. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    Love the pills bottles! :D
    I didn't do much work on the N64, but I was looking into using the LM49450 for it as well and on the datasheet it looks like it supports right justified mode (register 0x03, b0 and b1).
    Also try looking for info about the integrated FIR filter in the LM4950. There's basically no info in the datasheet and if you look online you'll end up on this TI community web page: https://e2e.ti.com/support/amplifiers/audio_amplifiers/f/6/t/514350
     
  13. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    I was planning to do speaker enclosure compensation EQ in the fpga, but even better if the amp could do it. Maybe took a look at the EVM and its documentation? Maybe the companion PC software may have some notes.


    Class D is very efficient. Its headphone amp is alright, but not as good as a dedicated one.

    [​IMG]
     
  14. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    Yeah, too bad there is no EVM for the LM49450 :/

    Oh also could you try reading a register from the LM49450? I tried but it looks like it doesn't work? I get always a fixed value (0xFF iirc).
     
  15. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    I looked around for some other similar National parts and found one that has a similar (if not the same) DSP engine:

    http://datasheet.elcodis.com/pdf/9/4/90447/lm49350rlnopb.pdf

    Check page 70 onwards or 87+ for the 5 filter bands. They are just 2 bits of cut off and 5 bits gain per band. Maybe try each one (make sure to enable custom filter)
     
  16. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    Oh that might actually be it. I will definitely take a look into it in few weeks, thanks
     
  17. GingerOfOz no wario Staff Member . .

    Joined:
    Dec 16, 2016
    Messages:
    903
    Likes Received:
    2,000
    Location:
    The Oregon Wildlands
    Portables:
    3
    Nintendo-64-Pizza.jpg
     
  18. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    I'd be intersted to know what your first 3 regs are concerning divider mode and CPDIV and such. I'm just trying to set up for vanilla 48khz but I still get crunchy sounding audio.
     
  19. Aurelio The Fixer ᕕ( ᐛ )ᕗ Staff Member . . . . .

    Joined:
    Mar 3, 2016
    Messages:
    1,789
    Likes Received:
    2,441
    Portables:
    2
    This is the relevant part of code (I included registers 0x03 and 0x04 as well):
    i2c_write8(LM49450_ADDR, 0x00, 0x21, &i2c_error);
    i2c_write8(LM49450_ADDR, 0x01, 0x00, &i2c_error);
    i2c_write8(LM49450_ADDR, 0x02, 0x4B, &i2c_error);
    i2c_write8(LM49450_ADDR, 0x03, 0x02, &i2c_error);
    i2c_write8(LM49450_ADDR, 0x04, 0x00, &i2c_error);

    Just consider that these are for the Wii which provides a 12.288MHz MCLK. Also these might need the left and right channel to be swapped, but that doesn't really matter.
     
  20. marshallh .

    Joined:
    Dec 28, 2016
    Messages:
    101
    Likes Received:
    793
    No new news except someone asked me to transplant parts onto a 3x3 and provided 36mbit ram chips, so here it is running 1080 Snowboarding.
    You can see the dies inside each ram chip are almost double size what they are usually.

    Surprisingly, even though the game only uses the first 4mb, both chips are almost equally as hot! The 2nd chip is basically doing nothing. So rambus has incredibly high static current and dynamic current over that is not significant. Such is SSTL life.


    [​IMG]
     
    MRKane, Booshman, BocuD and 10 others like this.

Share This Page

Loading...