Author Topic: Jo Engine update with GCC 8.3 and Mednafen  (Read 2146 times)

ponut64

  • Full Member
  • ***
  • Posts: 220
  • Karma: +22/-1
    • View Profile
Jo Engine update with GCC 8.3 and Mednafen
« on: May 16, 2019, 11:47:58 pm »
Hello. Linked here is an updated Jo Engine package that utilizes GCC 8.3 as well as SGL in ELF form. No code base changes have been made to Jo Engine, aside from the inclusions of SEGA_SCL and SEGA_INT, which are SBL libraries.
If a demo\feature was broken before, it's still broken.

However, with GCC 8.3 comes 10+ years of compiler optimization over previous versions, so you can expect smaller binary sizes as well as increased performance (up to 40%, by some estimates).
The biggest feature used is LTO, or link-time optimizations.
Please understand however that not all code is guaranteed to work between compiler versions. Some things that were warnings before are now flat-out errors. Other things that were totally fine in older GCC versions now may be errors or warnings. Inside Jo Engine itself, there is now a warning. Be careful.

Special Thanks to VBT and mrkotftw of SegaXtreme for making & coordinating the software package & compiler flags that were necessary to deliver this update.
The specific software package used comes from VBT's update to SSSDK: https://segaxtreme.net/threads/update-on-sssdk.24118/#post-176317

https://www.mediafire.com/file/y74bdea9qq4ubn1/joengine-elf.zip/file
« Last Edit: May 16, 2019, 11:50:45 pm by ponut64 »

ponut64

  • Full Member
  • ***
  • Posts: 220
  • Karma: +22/-1
    • View Profile
Re: Jo Engine update with GCC 8.3 and Mednafen
« Reply #1 on: May 27, 2019, 10:30:21 am »
Feel free to use these new ccflags from vbt if you run into an issue.

This is a replacement line for all parameters from "ccflags" line 195 in jo_engine_makefile, found in compiler directory.

Code: [Select]
CCFLAGS += -Wall \
--param max-inline-insns-single=50 -fms-extensions -std=gnu99 \
-Og -c -m2 -Wno-narrowing -fuse-linker-plugin -fno-unit-at-a-time -fomit-frame-pointer -flto -I$(JO_ENGINE_SRC_DIR)

 

Sitemap 1 2 3 4 5 6 7 8 9 10