FoenixToolbox/src/sys_general.h

105 lines
3 KiB
C
Raw Normal View History

2024-06-09 10:50:06 -04:00
/*
* Gather and return information about the system
*/
#ifndef __SYS_GENERAL_H
#define __SYS_GENERAL_H
2024-11-06 15:10:59 -05:00
#include "sys_macros.h"
2024-06-09 10:50:06 -04:00
#include "constants.h"
#include "features.h"
#include "sys_types.h"
#include "version.h"
/* IDs for the various Foenix machines supported */
#define MODEL_FOENIX_FMX 0
#define MODEL_FOENIX_C256U 1
#define MODEL_FOENIX_F256 2
#define MODEL_FOENIX_F256JRE 3
2024-06-09 10:50:06 -04:00
#define MODEL_FOENIX_GENX 4
#define MODEL_FOENIX_C256U_PLUS 5
#define MODEL_FOENIX_A2560U_PLUS 6
#define MODEL_FOENIX_A2560X 8
#define MODEL_FOENIX_A2560U 9
#define MODEL_FOENIX_A2560M 10
2024-06-09 10:50:06 -04:00
#define MODEL_FOENIX_A2560K 11
#define MODEL_FOENIX_A2560K40 12
#define MODEL_FOENIX_A2560K60 13
#define MODEL_FOENIX_F256P 16
#define MODEL_FOENIX_F256K2 17
#define MODEL_FOENIX_F256K 18
#define MODEL_FOENIX_F256KE 19
2024-12-20 20:42:46 -05:00
#define MODEL_FOENIX_F256K2E 20
#define MODEL_FOENIX_F256JR2 35
2024-06-09 10:50:06 -04:00
/* IDs for the CPUs supported */
#define CPU_WDC65816 0xFF /* CPU code for the Western Design Center 65816 */
#define CPU_M68000 0x00 /* Motorola 680X0 chips... */
#define CPU_M68020 0x01
#define CPU_M68EC020 0x02
#define CPU_M68030 0x03
#define CPU_M680EC30 0x04
#define CPU_M68040 0x05
#define CPU_M68040V 0x06
#define CPU_M680EC40 0x07
#define CPU_486DX2_50 0x08 /* Intel 486 chips... */
#define CPU_486DX2_60 0x09
#define CPU_486DX4 0x0A
#define CPU_MC68EC060 0x0B /* New things Coming... */
/* Clock speeds */
#define SYSCLK_6MHZ 0x00 /* 6 MHz */
#define SYSCLK_14MHZ 0x01 /* 14.318 MHz */
#define SYSCLK_20MHZ 0x02 /* 20 MHz */
#define SYSCLK_25MHZ 0x03 /* 25 MHz */
#define SYSCLK_33MHZ 0x04 /* 33 MHz */
#define SYSCLK_40MHZ 0x05 /* 40 MHz */
#define SYSCLK_50MHZ 0x06 /* 50 MHz */
#define SYSCLK_66MHZ 0x07 /* 66 MHz */
#define SYSCLK_80MHZ 0x08 /* 88 MHz */
2024-06-09 10:50:06 -04:00
/*
* Fill out a s_sys_info structure with the information about the current system
*
* Inputs:
* info = pointer to a s_sys_info structure to fill out
*/
2024-11-06 15:10:59 -05:00
extern SYSTEMCALL void sys_get_information(p_sys_info info);
2024-06-09 10:50:06 -04:00
/**
* @brief Force the system to reboot
*
*/
extern SYSTEMCALL void reboot();
2024-06-09 10:50:06 -04:00
#if MODEL == MODEL_FOENIX_GENX || MODEL == MODEL_FOENIX_A2560X
/*
* Set the color of the LED for the floppy drive
*
* Inputs:
* colors = color specification, three bits: 0x_____RGB
*/
extern void genx_set_fdc_led(short colors);
/*
* Set the color of the LED for the SD card slot
*
* Inputs:
* colors = color specification, three bits: 0x_____RGB
*/
extern void genx_set_sdc_led(short colors);
/*
* Set the color of the LED for the IDE hard drive
*
* Inputs:
* colors = color specification, three bits: 0x_____RGB
*/
extern void genx_set_hdc_led(short colors);
#endif
#endif