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
|
2024-06-22 17:12:47 -04:00
|
|
|
#define MODEL_FOENIX_F256 2
|
2024-08-26 19:54:12 -04:00
|
|
|
#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
|
2024-06-22 17:12:47 -04:00
|
|
|
#define MODEL_FOENIX_A2560M 10
|
2024-06-09 10:50:06 -04:00
|
|
|
#define MODEL_FOENIX_A2560K 11
|
2024-08-26 19:54:12 -04:00
|
|
|
#define MODEL_FOENIX_A2560K40 12
|
|
|
|
#define MODEL_FOENIX_A2560K60 13
|
|
|
|
#define MODEL_FOENIX_F256P 16
|
2024-06-22 17:12:47 -04:00
|
|
|
#define MODEL_FOENIX_F256K2 17
|
2024-08-26 19:54:12 -04:00
|
|
|
#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 */
|
|
|
|
|
2024-07-13 21:20:27 -04:00
|
|
|
#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
|
|
|
|
2024-11-06 19:43:45 -05: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
|