expose more platform-agnostic code

May be useful later on for libraries such as libprof.
This commit is contained in:
Lephe 2019-09-04 14:44:48 +02:00
parent b9cba1d00a
commit 61e68d01bb
No known key found for this signature in database
GPG key ID: 1BBA026E13FC0495
5 changed files with 11 additions and 11 deletions

4
TODO
View file

@ -10,10 +10,12 @@ Tests to run.
* topti: all charsets * topti: all charsets
Complementary elements on existing code. Complementary elements on existing code.
* core: make it possiblé to catch exceptions (gintctl's memory browser)
* core: check if -DX still works in GCC 9 and if not, put spaces
* gray: find good values for more models than the Graph 35+E II * gray: find good values for more models than the Graph 35+E II
* render: get rid of GINT_NEED_VRAM and #define vram gint_vram if you need * render: get rid of GINT_NEED_VRAM and #define vram gint_vram if you need
* dma: dma_memcpy() and dma_memset(), possibly requiring alignment * dma: dma_memcpy() and dma_memset(), possibly requiring alignment
* core: find the #ifdef FX9860G|FXCG50 that have a cross-platform def * dma: maybe relax the 4-byte size constraint for dma_memset()
* core: try to leave add-in without reset in case of fatal exception * core: try to leave add-in without reset in case of fatal exception
* topti: support Unicode fonts * topti: support Unicode fonts
* hardware: fill in the HWMEM_FITTLB flag * hardware: fill in the HWMEM_FITTLB flag

View file

@ -105,12 +105,10 @@ typedef struct
This macro makes its argument NULL on fxcg50, this way the named function This macro makes its argument NULL on fxcg50, this way the named function
can be defined under #ifdef FX9860G while keeping the structure clean. */ can be defined under #ifdef FX9860G while keeping the structure clean. */
#ifdef FX9860G
#define GINT_DRIVER_SH3(name) name
#endif
#ifdef FXCG50 #ifdef FXCG50
#define GINT_DRIVER_SH3(name) NULL #define GINT_DRIVER_SH3(name) NULL
#else
#define GINT_DRIVER_SH3(name) name
#endif #endif
/* GINT_DRIVER_STATUS() - declare a function for status string generation /* GINT_DRIVER_STATUS() - declare a function for status string generation

View file

@ -16,7 +16,7 @@ GBSS uint32_t gint[HW_KEYS];
/* Product Register */ /* Product Register */
#define PRR (*((volatile uint32_t *)0xff000044)) #define PRR (*((volatile uint32_t *)0xff000044))
#ifdef FX9860G #if defined(FX9860G) || (!defined(FX9860G) && !defined(FXCG50))
/* mpu_detect() - detect the underlying MPU /* mpu_detect() - detect the underlying MPU
Many thanks to Simon Lothar for relevant documentation. Many thanks to Simon Lothar for relevant documentation.
@ -90,7 +90,7 @@ void hw_detect(void)
gint[HWROM] = (gint[HWCALC] == HWCALC_G35PE2) ? (4 << 20) : (8 << 20); gint[HWROM] = (gint[HWCALC] == HWCALC_G35PE2) ? (4 << 20) : (8 << 20);
} }
#endif /* FX9860G */ #endif /* FX9860G and platform-agnostic */
#ifdef FXCG50 #ifdef FXCG50

View file

@ -25,7 +25,7 @@ const clock_frequency_t *clock_freq(void)
// SH7705 Clock signals // SH7705 Clock signals
//--- //---
#ifdef FX9860G #if defined(FX9860G) || (!defined(FX9860G) && !defined(FXCG50))
#define CPG SH7705_CPG #define CPG SH7705_CPG
static void sh7705_probe(void) static void sh7705_probe(void)
@ -69,7 +69,7 @@ static void sh7705_probe(void)
} }
#undef CPG #undef CPG
#endif /* FX9860G */ #endif /* FX9860G and platform-agnostic */
//--- //---
// SH7305 clock signals // SH7305 clock signals
@ -144,7 +144,7 @@ static void init(void)
/* This avoids warnings about sh7705_probe() being undefined when /* This avoids warnings about sh7705_probe() being undefined when
building for fxcg50 */ building for fxcg50 */
#ifdef FX9860G #if defined(FX9860G) || (!defined(FX9860G) && !defined(FXCG50))
isSH3() ? sh7705_probe() : isSH3() ? sh7705_probe() :
#endif #endif
sh7305_probe(); sh7305_probe();

View file

@ -125,7 +125,7 @@ void rtc_stop_timer(void)
// Driver initialization // Driver initialization
//--- //---
#ifdef FX9860G #if defined(FX9860G) || (!defined(FX9860G) && !defined(FXCG50))
static void driver_sh3(void) static void driver_sh3(void)
{ {
/* Adjust the address of the RTC */ /* Adjust the address of the RTC */