• Rise from your gwave!

another sonic homebrew for saturn ?

Discussion in 'Saturn Dev' started by vbt, Aug 23, 2014.

  1. johannes

    johannes New Member

    Hi TrekkiesUnite118,

    Neither :)

    It's software rendered mode7 (software because there is no hardware instruction to do that on the Sega Saturn unlike the Super Nintendo).

    You can move in any direction. but I disable rotation recently because it's useless.

    Indeed, it's better and faster to use 3D rendering in this case.
     
  2. johannes

    johannes New Member

    Hi,

    I added PCM audio file support.
    You can now play PCM file from CD.

    To convert any audio file to PCM under Linux or Windows => http://ffmpeg.org

    Just some restriction due to the Sega Saturn hardware:
    • Compatible Samplerate : 8000 to 44100 Hz (-ar option)
    • Compatible PCM format : s8 (-f option)
    • Compatible mode: 8/16 bit mono/stereo
    Some command line:
    • ffmpeg -i A.WAV -f s8 -ar 44100 A.PCM
    • ffmpeg -i A.MP3 -f s8 -ac 1 -ar 8000 A.PCM
    Now in Jo Engine:

    jo_sound my_snd;
    jo_audio_load_pcm("A.PCM", JoSoundMono16Bit, &my_snd);
    ...
    jo_audio_play_sound(&my_snd, 0);

    Bye :)
     
    Last edited: Jan 10, 2016
  3. vbt

    vbt Staff Member

    great job ! just a question, how do you handle multi channels and random number of pcms to play ?
     
  4. johannes

    johannes New Member

    The channel number is the second param of jo_audio_play_sound();
     
  5. vbt

    vbt Staff Member

    yes i saw that but each time i used multiple PCMs i had some problems with playback and some sfx were lost.
    for instance on xrick i had to loop on channels to find which one is available, with hardcoded channel number it never worked or maybe just on emulators.
    Code:
      if(slSndPCMNum(_Mono)>-1)
       for(i=1;i<NB_CHAN;i++)
       {
         if(!slPCMStat(&m_dat[i]))
         {
             slSndFlush() ;
             //slPCMOff(&m_dat[i]);
             PCM_SetLoop(pcm, cnt_loop);
    
             slPCMOn(&m_dat[i],sound->buf,sound->len);
           //if(sound->buf!=0x00232000)
             //slSndFlush() ;
             break;
         }     
       }
    
    just for that, i have pushed xrick on github : https://github.com/vbt1/xrick
     
  6. johannes

    johannes New Member

    Interesting, I'll check this more closely :)

    Thx vbt :)
     
  7. johannes

    johannes New Member

    You're right vbt ! I'll make a fix :)
     
  8. johannes

    johannes New Member

    New version updated with VBT audio fix.

    I also added the possibility to change printf color and use multiple color at the same time :)
     
  9. vbt

    vbt Staff Member

    well done :) blop blop blop :)
     
  10. johannes

    johannes New Member

  11. johannes

    johannes New Member

    Hi,

    New update available with gouraud shading and brightness :)

    [​IMG]
     
  12. vbt

    vbt Staff Member

    just tested :) it's looking good, the ship is nicely animated. so who did the sprite ? or is it sprite rip?
     
  13. johannes

    johannes New Member

    I suck at drawing, so the sprite comes from RAIDER FIGHTERS :dead:
     
  14. johannes

    johannes New Member

    I added laser blast on this demo to show how jo_list works. Maybe I'll add enemies on the next release :)
     
  15. johannes

    johannes New Member

    Hi,

    Huge update with hitbox detection, fast cosinus & sinus implementation and more.

    I also improved the shooter demo :)

    Download: http://jo-engine.org/download/
     
  16. vbt

    vbt Staff Member

    jo engine is now on twitter !
    https://twitter.com/johannes_fetz

     
  17. vbt

    vbt Staff Member

     
  18. Amon

    Amon Staff Member

    Hi Jo, first off excellent work on Jo Engine. Do you have any plans for removing the Sega libraries and other dependencies that would prevent projects using this from releasing something commercially? Thank you.
     
  19. johannes

    johannes New Member

    Hi Amon,

    Yes, the last step of the project is removing the SGL.
    It's not the hardest point. In fact, I already use my own functions for Gouraud Shading for example.

    Btw, I added 3D support to the engine yesterday (Only basic, I working on mesh loading for the next release).

    [​IMG]
     
    Red Ring Rico likes this.

Share This Page