another sonic homebrew for saturn ?

latest 3D sample not yet tested, but there is already a new release :))))

NEW: Free loaded sprites with two new functions (thx @RolyPolyPie for the suggestion):
Free all sprites from the given sprite_id
Free all sprites()
NEW: Little performance upgrade when loading sprite
FIX: Per-pixel collision doesn't work when the sprite is replaced through jo_sprite_replace()
New version of Jo Engine with more 3D features :)


And new version of Jo Map Editor with 3D converter:


For more details:
New version of Jo Engine with more 3D features :)


And new version of Jo Map Editor with 3D converter:


For more details:

Keep up the good work Jo! Also I replied to you PM a while back on my website, currently awaiting your reply before I put jo-engine up for download on my site. I know you gave me the go ahead to do it, but I asked you another question, I'm not going to get into details here but when you get a second if you could log in to my forums and check your messages that would be great!

New version of Jo Engine with backup device support

* Mount/Unmount backup device (internal, cartridge, external)
* Create/Load/Update/Delete backup file
* Check backup existance
* Get backup last modified date
* Format device, etc.

More details here :

Jo, any chance this supports the additional RAM on carts like either the 1mb or the 4mb, jw. Great work, gonna be playing around with this today :p
well done johannes! will you port your tools to linux ? just curious, i don't mind, i use windows :)
Latest changelog :


  • FIX: Approximation bug in jo_cos() and jo_sin() (Thx surt_r fot bug reporting)

  • FIX: jo_3d_get_ functions returns invalid value (Thx Danny for bug reporting & suggestion)
    • jo_3d_get_polygon_count()
    • jo_3d_get_vertices_count()
    • jo_3d_get_displayed_polygon_count()
  • NEW: 3D Window & projection functions
    • jo_3d_window()
    • jo_3d_perspective_angle()
    • jo_3d_display_level()
  • NEW: Get sprite count & memory usage
    • jo_sprite_count()
    • jo_sprite_usage_percent()
  • NEW: Get audio channel usage
    • jo_audio_usage_percent()
  • NEW: 32 bits TGA support
  • NEW: Better error handling
    • The engine will stop if something is wrong with a detailed report

  • NEW: Adding NetBeans IDE projects

  • NEW: 8 bits image support with palette
    • jo_sprite_add_8bits_image()
    • jo_set_palette_register()
    • jo_get_palette_register()
  • NEW: "demo - hardcoded image" updates with 8 bits image
  • NEW: Suspend the game (for debugging purpose)
    • jo_core_suspend()
      • Pause the game until someone press [Start]
  • NEW: SGL replacement for SlEvents
  • NEW: Sprite count limitation removed
  • NEW: Better implementation of jo_add_memory_zone()
  • FIX: Huge memory leaks in tilesets
  • FIX: Bug in jo_free() that cause memory corruption in some case

  • NEW: Load & display custom font
    • jo_font_load()
    • jo_font_printf()
    • jo_font_printf_centered()
  • Printf demo Updated
  • NEW: Math functions
    • jo_atan2f()
    • jo_atan2f_rad()
    • jo_gcd()
    • JO_IS_ODD()
    • JO_IS_FLOAT_NULL(), etc.
  • FIX: Critical bug in jo_malloc (may cause random crashes)
  • NEW: Special Effects
    • jo_effect_laser()
    • more effect will be added later
  • NEW list functions
    • jo_list_first()
    • jo_list_add_ptr()
    • jo_list_free_and_remove()
  • NEW sprite animation functions
    • jo_get_sprite_anim_frame_rate()
    • jo_get_sprite_anim_frame_count()
    • jo_get_sprite_anim_frame()
  • NEW: Better performance
  • FIX: Bug in map loading in rare occasion
  • FIX: Huge improvement in image loading (temporary memory consumption)
  • NEW: File size limition removed

  • NEW: Dual CPU support (Thx Danny)
    • jo_core_add_slave_callback()
    • jo_core_remove_slave_callback()
    • jo_core_exec_on_slave()
    • jo_core_wait_for_slave()
  • NEW: Shooter demo use both CPU through jo_core_add_slave_callback()
  • NEW: Sega FILM/CPK support
    • See jo/video.h
    • The converter will be available on the editor ASAP
    • I temporary use the Cinepak library but I will replace it by my own implementation later
  • NEW: Video Demo
  • NEW: You can change Jo Engine option on your makefile
    • All options are removed from jo/conf.h
    • Warning, after update your program may not compile. Don't worry, just follow the instruction on jo/conf.h or look at the makefile on Demo1
  • FIX: Audio initialization
  • FIX: Sometimes sprites doesn't display in Shooter demo (Thx Mr. Potatobadger for bug reporting)
  • FIX: You can now disable Debug feature (JO_DEBUG)