The Simple DirectMedia Layer library (SDL 1.2.15) for the Casio fx-CG50/Graph 90+E and fx-Cg10/20/PRIZM
Go to file
Sylvain PILLOT 8a209c1084 Update of README.md 2022-08-31 20:59:59 +02:00
cmake update header file location for version check 2022-08-30 12:55:45 +02:00
include aligned definitions of RW_SEEK_XXX with ones of <stdio.h> 2022-05-03 22:55:53 +02:00
src aligned definitions of RW_SEEK_XXX with ones of <stdio.h> 2022-05-03 22:54:12 +02:00
.gitignore full update of the cmake configuration files 2022-08-30 11:42:07 +02:00
CMakeLists.txt full update of the cmake configuration files 2022-08-30 11:42:07 +02:00
README.md Update of README.md 2022-08-31 20:59:59 +02:00
TODO.txt writing PRIZM video driver 2022-04-18 22:36:07 +02:00
giteapc.make corrected typo in giteapc.make 2022-08-30 12:11:22 +02:00

README.md

Simple DirectMedia Layer SDL 1.2.15 sources for Casio Graph 90+E and Prizm CG10/20

Need to have a fully working gcc toolchain for SH3/SH4 architecture.

You can use the giteapc install Slyvtt/cSDL command to get an automatic install

Using in a program

With CMake

find_package(cSDL 1.2.15 REQUIRED)
target_link_libraries(<TARGET> PRIVATE cSDL::cSDL)

With make, the following steps are not automatically done, so please proceed with the following manipulations :

  • copy the library libcSDL.a into your SH3/SH4 compiler lib folder
  • copy all header files *.h in the include folder include/SDL of the SH3/SH4 compiler
  • link with -lcSDL

In the C/C++ sources #include <SDL/SDL.h>

Typical CMakeLists.txt

Below is the typical minimum CMakeLists.txt file to be used for a fxSDK project aiming at using the cSDL library :

cmake_minimum_required(VERSION 3.15)
project(MyAddin)

include(GenerateG3A)
include(Fxconv)
find_package(Gint 2.7.1 REQUIRED)
find_package(cSDL 1.2.15 REQUIRED)

set(SOURCES
  src/main.c
  # ...
)
# Shared assets, fx-9860G-only assets and fx-CG-50-only assets
set(ASSETS
  # ...
)

set(ASSETS_cg
  assets-cg/example.png
  # ...
)

fxconv_declare_assets(${ASSETS} ${ASSETS_cg} WITH_METADATA)

add_executable(myaddin ${SOURCES} ${ASSETS} ${ASSETS_${FXSDK_PLATFORM}})
target_compile_options(myaddin PRIVATE -Wall -Wextra -Os)
target_link_libraries(myaddin Gint::Gint cSDL::cSDL)

if("${FXSDK_PLATFORM_LONG}" STREQUAL fxCG50)
  generate_g3a(TARGET myaddin OUTPUT "SDL_App.g3a"
    NAME "SDL_App" ICONS assets-cg/icon-uns.png assets-cg/icon-sel.png)
endif()