aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXaviDCR92 <xavi.dcr@gmail.com>2017-08-06 04:17:09 +0200
committerXaviDCR92 <xavi.dcr@gmail.com>2017-08-06 04:17:09 +0200
commit8700a329d07bae49228f10b50999a161a235d140 (patch)
tree020e41f757b7081114683da6ebb5505eb4ffc311
parent153f078ec20cc442dd4dbe802dbd5fcb1748fcca (diff)
* Include directives are now moved to .c instead of .h, as it should really be...
* Makefile now rebuilds needed targets on modified header files. * Some more work on GameEmergencyMode(). * Initial work on PSX mouse auto detection. * Prototypes for RCNT2 I_MASK bit handling.
-rw-r--r--Source/Aircraft.c3
-rw-r--r--Source/Aircraft.h2
-rw-r--r--Source/Camera.c3
-rw-r--r--Source/Camera.h3
-rw-r--r--Source/EndAnimation.c3
-rw-r--r--Source/EndAnimation.h3
-rw-r--r--Source/Font.c3
-rw-r--r--Source/Font.h3
-rw-r--r--Source/Game.c59
-rw-r--r--Source/Game.h5
-rw-r--r--Source/GameGui.c4
-rw-r--r--Source/GameGui.h3
-rw-r--r--Source/Gfx.c4
-rw-r--r--Source/Gfx.h4
-rw-r--r--Source/LoadMenu.c5
-rw-r--r--Source/LoadMenu.h4
-rw-r--r--Source/Makefile39
-rw-r--r--Source/MemCard.c3
-rw-r--r--Source/MemCard.h3
-rw-r--r--Source/Menu.c12
-rw-r--r--Source/Menu.h12
-rw-r--r--Source/PSXSDKIntro.c3
-rw-r--r--Source/PSXSDKIntro.h2
-rw-r--r--Source/Pad.c52
-rw-r--r--Source/Pad.h4
-rw-r--r--Source/PltParser.c2
-rw-r--r--Source/PltParser.h1
-rw-r--r--Source/System.c82
-rw-r--r--Source/System.h12
29 files changed, 229 insertions, 109 deletions
diff --git a/Source/Aircraft.c b/Source/Aircraft.c
index 9512028..9cfba20 100644
--- a/Source/Aircraft.c
+++ b/Source/Aircraft.c
@@ -3,6 +3,9 @@
* *************************************/
#include "Aircraft.h"
+#include "System.h"
+#include "Game.h"
+#include "Camera.h"
/* *************************************
* Defines
diff --git a/Source/Aircraft.h b/Source/Aircraft.h
index cd3ce78..aef7d52 100644
--- a/Source/Aircraft.h
+++ b/Source/Aircraft.h
@@ -6,10 +6,8 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
#include "GameStructures.h"
-
/* *************************************
* Global prototypes
* *************************************/
diff --git a/Source/Camera.c b/Source/Camera.c
index 9c7ce7e..d826f54 100644
--- a/Source/Camera.c
+++ b/Source/Camera.c
@@ -3,6 +3,9 @@
* *************************************/
#include "Camera.h"
+#include "Game.h"
+#include "System.h"
+#include "Pad.h"
/* *************************************
* Defines
diff --git a/Source/Camera.h b/Source/Camera.h
index 3b622d4..1294e2a 100644
--- a/Source/Camera.h
+++ b/Source/Camera.h
@@ -6,10 +6,7 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
-#include "Pad.h"
#include "GameStructures.h"
-#include "Game.h"
/* *************************************
* Defines
diff --git a/Source/EndAnimation.c b/Source/EndAnimation.c
index f0b2003..5cda332 100644
--- a/Source/EndAnimation.c
+++ b/Source/EndAnimation.c
@@ -3,6 +3,9 @@
* *************************************/
#include "EndAnimation.h"
+#include "Global_Inc.h"
+#include "Gfx.h"
+#include "Sfx.h"
/* *************************************
* Defines
diff --git a/Source/EndAnimation.h b/Source/EndAnimation.h
index edb7b07..9ba13a0 100644
--- a/Source/EndAnimation.h
+++ b/Source/EndAnimation.h
@@ -5,9 +5,6 @@
* Includes *
* **************************************/
-#include "Global_Inc.h"
-#include "Gfx.h"
-
/* **************************************
* Defines *
* **************************************/
diff --git a/Source/Font.c b/Source/Font.c
index 7edca5a..6da18be 100644
--- a/Source/Font.c
+++ b/Source/Font.c
@@ -3,6 +3,9 @@
* *************************************/
#include "Font.h"
+#include "System.h"
+#include "Gfx.h"
+#include <stdarg.h>
/* *************************************
* Defines
diff --git a/Source/Font.h b/Source/Font.h
index 3ac4459..74547bb 100644
--- a/Source/Font.h
+++ b/Source/Font.h
@@ -6,10 +6,7 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
-#include "Gfx.h"
#include "GameStructures.h"
-#include <stdarg.h>
/* *************************************
* Defines
diff --git a/Source/Game.c b/Source/Game.c
index 0dd932c..7626598 100644
--- a/Source/Game.c
+++ b/Source/Game.c
@@ -3,6 +3,14 @@
* *************************************/
#include "Game.h"
+#include "LoadMenu.h"
+#include "System.h"
+#include "Camera.h"
+#include "Aircraft.h"
+#include "GameGui.h"
+#include "EndAnimation.h"
+#include "Sfx.h"
+#include "Pad.h"
/* *************************************
* Defines
@@ -574,6 +582,10 @@ void GameBuildingsInit(void)
void GameEmergencyMode(void)
{
+ uint8_t i;
+ bool (*PadXConnected[MAX_PLAYERS])(void) = { [PLAYER_ONE] = &PadOneConnected,
+ [PLAYER_TWO] = &PadTwoConnected };
+
enum
{
ERROR_RECT_X = 32,
@@ -587,28 +599,38 @@ void GameEmergencyMode(void)
ERROR_RECT_B = NORMAL_LUMINANCE
};
- GsRectangle errorRct;
-
- bzero((GsRectangle*)&errorRct, sizeof(GsRectangle));
-
while(SystemGetEmergencyMode() == true)
{
+ GsRectangle errorRct = {.x = ERROR_RECT_X,
+ .w = ERROR_RECT_W,
+ .y = ERROR_RECT_Y,
+ .h = ERROR_RECT_H,
+ .r = ERROR_RECT_R,
+ .g = ERROR_RECT_G,
+ .b = ERROR_RECT_B };
+
// Pad one has been disconnected during gameplay
// Show an error screen until it is disconnected again.
GsSortCls(0,0,0);
- errorRct.x = ERROR_RECT_X;
- errorRct.w = ERROR_RECT_W;
- errorRct.y = ERROR_RECT_Y;
- errorRct.h = ERROR_RECT_H;
-
- errorRct.r = ERROR_RECT_R;
- errorRct.g = ERROR_RECT_G;
- errorRct.b = ERROR_RECT_B;
-
GsSortRectangle(&errorRct);
- GfxDrawScene();
+
+ for(i = 0; i < MAX_PLAYERS; i++)
+ {
+ TYPE_PLAYER* ptrPlayer = &PlayerData[i];
+
+ if(ptrPlayer->Active == true)
+ {
+ if(PadXConnected[i]() == false)
+ {
+ FontPrintText(&SmallFont, 48, 48 + (i << 5), "Pad %d disconnected", i);
+ SystemSetEmergencyMode(true);
+ }
+ }
+ }
+
+ GfxDrawScene_Slow();
}
}
@@ -1980,17 +2002,12 @@ void GameGetSelectedRunwayArray(uint16_t rwyHeader, uint16_t* rwyArray, size_t s
}
}
- DEBUG_PRINT_VAR(i);
+ //DEBUG_PRINT_VAR(i);
rwyArray[i++] = last_tile;
- DEBUG_PRINT_VAR(rwyArray[i -1]);
+ //DEBUG_PRINT_VAR(rwyArray[i -1]);
- if(i >= GAME_MAX_RWY_LENGTH)
- {
- while(1);
- }
-
switch(dir)
{
case RWY_DIR_EAST:
diff --git a/Source/Game.h b/Source/Game.h
index c643d9c..7c0f082 100644
--- a/Source/Game.h
+++ b/Source/Game.h
@@ -7,11 +7,6 @@
#include "Global_Inc.h"
#include "GameStructures.h"
-#include "LoadMenu.h"
-#include "System.h"
-#include "Camera.h"
-#include "Aircraft.h"
-#include "GameGui.h"
/* *************************************
* Defines
diff --git a/Source/GameGui.c b/Source/GameGui.c
index 265f606..82d8c71 100644
--- a/Source/GameGui.c
+++ b/Source/GameGui.c
@@ -3,6 +3,10 @@
* *************************************/
#include "GameGui.h"
+#include "System.h"
+#include "Gfx.h"
+#include "Game.h"
+#include "LoadMenu.h"
/* *************************************
* Defines
diff --git a/Source/GameGui.h b/Source/GameGui.h
index f2f1760..9b28d03 100644
--- a/Source/GameGui.h
+++ b/Source/GameGui.h
@@ -6,10 +6,7 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
#include "GameStructures.h"
-#include "Gfx.h"
-#include "Game.h"
/* *************************************
* Defines
diff --git a/Source/Gfx.c b/Source/Gfx.c
index 281f87b..d974d1f 100644
--- a/Source/Gfx.c
+++ b/Source/Gfx.c
@@ -3,6 +3,10 @@
* *************************************/
#include "Gfx.h"
+#include "System.h"
+#include "Camera.h"
+#include "Pad.h"
+#include "Game.h"
/* *************************************
* Defines
diff --git a/Source/Gfx.h b/Source/Gfx.h
index a356825..c21e726 100644
--- a/Source/Gfx.h
+++ b/Source/Gfx.h
@@ -6,9 +6,7 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
-#include "Camera.h"
-#include "Pad.h"
+#include "GameStructures.h"
/* *************************************
* Defines
diff --git a/Source/LoadMenu.c b/Source/LoadMenu.c
index 4cd5ae7..0c9bbb1 100644
--- a/Source/LoadMenu.c
+++ b/Source/LoadMenu.c
@@ -3,6 +3,11 @@
* *************************************/
#include "LoadMenu.h"
+#include "Gfx.h"
+#include "System.h"
+#include "PltParser.h"
+#include "Font.h"
+#include "Sfx.h"
/* **************************************
* Defines *
diff --git a/Source/LoadMenu.h b/Source/LoadMenu.h
index 4605811..307c7ae 100644
--- a/Source/LoadMenu.h
+++ b/Source/LoadMenu.h
@@ -6,10 +6,6 @@
* *************************************/
#include "Global_Inc.h"
-#include "Gfx.h"
-#include "System.h"
-#include "PltParser.h"
-#include "Font.h"
/* *************************************
* Defines
diff --git a/Source/Makefile b/Source/Makefile
index f83d3f6..1567492 100644
--- a/Source/Makefile
+++ b/Source/Makefile
@@ -3,10 +3,12 @@ DEFINE= -DFIXMATH_FAST_SIN -D_PAL_MODE_
DEFINE += -DPSXSDK_DEBUG
DEFINE += -DNO_CDDA
DEFINE += -DNO_INTRO
-DEFINE += -DSERIAL_INTERFACE
+#DEFINE += -DSERIAL_INTERFACE
+PSXSDK_PATH = /usr/local/psxsdk
LIBS= -lfixmath
CC_FLAGS = -Wall -Werror -c -Os -Wfatal-errors
LINKER = psx-gcc
+PATH := $(PATH):$(PSXSDK_PATH)/bin/
PROJECT = AIRPORT
PROJECT_DIR = ~/Airport
@@ -30,34 +32,39 @@ FFMPEG_FLAGS = -f s16le -acodec pcm_s16le
GNU_SIZE = mipsel-unknown-elf-size
-all: build image clean
-#emulator clean
-
-rebuild: remove build
-
-build: clean objects levels $(PROJECT).elf $(PROJECT).exe
-
-objects: $(addprefix $(OBJ_DIR)/,main.o System.o Menu.o Gfx.o Pad.o MainMenuBtnAni.o \
+OBJECTS = $(addprefix $(OBJ_DIR)/,main.o System.o Menu.o Gfx.o Pad.o MainMenuBtnAni.o \
LoadMenu.o GameGui.o Sfx.o Camera.o EndAnimation.o \
PSXSDKIntro.o PltParser.o Game.o Font.o MemCard.o \
Aircraft.o Serial.o)
+
+DEPS = $(OBJECTS:.o=.d)
+
+all: levels image
+
+rebuild: clean all
+
+build: $(PROJECT).exe
+
+objects: $(OBJECTS)
+
+-include $(DEPS)
music_objects: $(addprefix ../Music/, TRACK01.bin TRACK02.bin TRACK03.bin)
-remove:
+clean:
rm -f Obj/*.o
-$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
- $(CC) $< -o $@ $(DEFINE) $(CC_FLAGS)
+$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c $(OBJ_DIR)/%.d
+ $(CC) $< -o $@ $(DEFINE) $(CC_FLAGS) -MMD
-$(PROJECT).elf:
+$(PROJECT).elf: objects
$(LINKER) Obj/*.o -o Exe/$(PROJECT).elf $(LIBS) -Wl,--gc-sections
-$(PROJECT).exe:
+$(PROJECT).exe: $(PROJECT).elf
$(ELF2EXE) Exe/$(PROJECT).elf Exe/$(PROJECT).exe $(ELF2EXE_FLAGS)
cp Exe/$(PROJECT).exe ../cdimg
-image:
+image: build
rm -f $(PROJECT).iso $(PROJECT).bin
rm -f $(PROJECT).cue
mkisofs -o $(PROJECT).iso -V $(PROJECT) -sysid PLAYSTATION ../cdimg
@@ -72,7 +79,7 @@ emulator:
export PATH=$$PATH:$(EMULATOR_DIR)
$(EMULATOR) -cdfile $(PROJECT_DIR)/Bin/$(PROJECT).bin $(EMULATOR_FLAGS)
-clean:
+remove_elf_iso:
rm -f $(PROJECT).elf cdimg/$(PROJECT).exe $(PROJECT).bin $(PROJECT).cue cdimg/README.txt
rm -f $(PROJECT).iso $(PROJECT).exe $(PROJECT).elf
diff --git a/Source/MemCard.c b/Source/MemCard.c
index 633391a..4c20505 100644
--- a/Source/MemCard.c
+++ b/Source/MemCard.c
@@ -3,6 +3,9 @@
* *************************************/
#include "MemCard.h"
+#include "System.h"
+#include "Pad.h"
+#include "Font.h"
/* *************************************
* Defines
diff --git a/Source/MemCard.h b/Source/MemCard.h
index 880886b..723e74d 100644
--- a/Source/MemCard.h
+++ b/Source/MemCard.h
@@ -6,9 +6,6 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
-#include "Pad.h"
-#include "Font.h"
/* *************************************
* Defines
diff --git a/Source/Menu.c b/Source/Menu.c
index d07e06a..a2350da 100644
--- a/Source/Menu.c
+++ b/Source/Menu.c
@@ -3,6 +3,18 @@
* *************************************/
#include "Menu.h"
+#include "Global_Inc.h"
+#include "System.h"
+#include "Gfx.h"
+#include "Sfx.h"
+#include "MainMenuBtnAni.h"
+#include "LoadMenu.h"
+#include "Game.h"
+#include "EndAnimation.h"
+#include "PSXSDKIntro.h"
+#include "MemCard.h"
+#include "Serial.h"
+#include "Pad.h"
/* **************************************
* Defines *
diff --git a/Source/Menu.h b/Source/Menu.h
index 6a9b47a..83dabf0 100644
--- a/Source/Menu.h
+++ b/Source/Menu.h
@@ -5,18 +5,6 @@
* Includes
* *************************************/
-#include "Global_Inc.h"
-#include "System.h"
-#include "Gfx.h"
-#include "Sfx.h"
-#include "MainMenuBtnAni.h"
-#include "LoadMenu.h"
-#include "Game.h"
-#include "EndAnimation.h"
-#include "PSXSDKIntro.h"
-#include "MemCard.h"
-#include "Serial.h"
-
/* *************************************
* Defines
* *************************************/
diff --git a/Source/PSXSDKIntro.c b/Source/PSXSDKIntro.c
index d46157b..8c76723 100644
--- a/Source/PSXSDKIntro.c
+++ b/Source/PSXSDKIntro.c
@@ -3,6 +3,9 @@
* *************************************/
#include "PSXSDKIntro.h"
+#include "System.h"
+#include "Gfx.h"
+#include "Sfx.h"
/* *************************************
* Defines
diff --git a/Source/PSXSDKIntro.h b/Source/PSXSDKIntro.h
index 6dfe09d..9290c4c 100644
--- a/Source/PSXSDKIntro.h
+++ b/Source/PSXSDKIntro.h
@@ -6,8 +6,6 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
-#include "Gfx.h"
/* *************************************
* Defines
diff --git a/Source/Pad.c b/Source/Pad.c
index 9e892a6..8910298 100644
--- a/Source/Pad.c
+++ b/Source/Pad.c
@@ -3,6 +3,7 @@
* *************************************/
#include "Pad.h"
+#include "System.h"
/* *************************************
* Defines
@@ -12,6 +13,7 @@
#define PAD_TWO 1
#define PAD_CHEAT_TIMEOUT 20 // 2 units * 100 ms/unit = 2000 ms
#define PAD_MAX_CHEATS 16
+#define PAD_FLOATING_ID (unsigned char)0xFF
/* **************************************
* Structs and enums *
@@ -127,8 +129,10 @@ unsigned char PadTwoGetType(void)
bool PadOneConnected(void)
{
psx_pad_state PadOne = PadOneGetState();
-
- if(PadOne.status != PAD_STATUS_OK)
+
+ if( (PadOne.status != PAD_STATUS_OK)
+ &&
+ (PadOneGetID() == PAD_FLOATING_ID) )
{
return false;
}
@@ -140,7 +144,9 @@ bool PadTwoConnected(void)
{
psx_pad_state PadTwo = PadTwoGetState();
- if(PadTwo.status != PAD_STATUS_OK)
+ if( (PadTwo.status != PAD_STATUS_OK)
+ &&
+ (PadTwoGetID() == PAD_FLOATING_ID) )
{
return false;
}
@@ -304,7 +310,10 @@ bool PadTwoIsVibrationEnabled(void)
bool UpdatePads(void)
{
- PadOneVibrationHandler();
+ unsigned short adc_mouse;
+ static unsigned short old_adc_mouse;
+
+ PadOneVibrationHandler();
PadTwoVibrationHandler();
@@ -315,14 +324,33 @@ bool UpdatePads(void)
// Get now-old pad data
previous_pad1 = pad1;
previous_pad2 = pad2;
-
- PSX_ReadPad(&pad1,&pad2);
-
+
+ if(PadOneGetType() == PADTYPE_MOUSE)
+ {
+ PSX_ReadMouse(&pad1, &adc_mouse);
+
+ if(old_adc_mouse != adc_mouse)
+ {
+ Serial_printf("0%04X\n", adc_mouse);
+ }
+
+ old_adc_mouse = adc_mouse;
+ }
+ else
+ {
+ PSX_ReadPad(&pad1,&pad2);
+ }
+
if(PadOneConnected() == false)
{
return false;
}
+ if(PadTwoConnected() == false)
+ {
+ return false;
+ }
+
if(!(previous_pad1 & pad1) )
{
pad1_last_key_single_pressed = pad1;
@@ -569,3 +597,13 @@ unsigned short PadTwoGetLastKeySinglePressed(void)
{
return pad2_last_key_single_pressed;
}
+
+unsigned short PadOneGetRawData(void)
+{
+ return pad1;
+}
+
+unsigned short PadTwoGetRawData(void)
+{
+ return pad2;
+}
diff --git a/Source/Pad.h b/Source/Pad.h
index f88532f..458260c 100644
--- a/Source/Pad.h
+++ b/Source/Pad.h
@@ -6,7 +6,6 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
#include "GameStructures.h"
/* *************************************
@@ -59,6 +58,9 @@ bool UpdatePads(void);
bool PadOneIsVibrationEnabled(void);
bool PadTwoIsVibrationEnabled(void);
+unsigned short PadOneGetRawData(void);
+unsigned short PadTwoGetRawData(void);
+
bool PadAddCheat(TYPE_CHEAT * cheat);
unsigned short* PadGetPlayerOneCheatArray(void);
diff --git a/Source/PltParser.c b/Source/PltParser.c
index eceb729..d44e348 100644
--- a/Source/PltParser.c
+++ b/Source/PltParser.c
@@ -3,6 +3,8 @@
* *************************************/
#include "PltParser.h"
+#include "System.h"
+#include "Game.h"
/* *************************************
* Defines
diff --git a/Source/PltParser.h b/Source/PltParser.h
index 514e79d..8762ff4 100644
--- a/Source/PltParser.h
+++ b/Source/PltParser.h
@@ -6,7 +6,6 @@
* *************************************/
#include "Global_Inc.h"
-#include "System.h"
#include "GameStructures.h"
/* *************************************
diff --git a/Source/System.c b/Source/System.c
index f1e5471..2a527ae 100644
--- a/Source/System.c
+++ b/Source/System.c
@@ -3,6 +3,11 @@
* *************************************/
#include "System.h"
+#include "Pad.h"
+#include "Menu.h"
+#include "Gfx.h"
+#include "MemCard.h"
+#include "EndAnimation.h"
/* *************************************
* Defines
@@ -67,9 +72,16 @@ void SystemInit(void)
global_timer = 0;
//Reset 1 second timer
one_second_timer = 0;
+
//PSXSDK init
- //PSX_InitEx(PSX_INIT_SAVESTATE | PSX_INIT_CD);
- PSX_InitEx(0);
+#ifdef SERIAL_INTERFACE
+ // PSX_INIT_SAVESTATE | PSX_INIT_CD flags are not needed
+ // when coming from OpenSend.
+ PSX_InitEx(0);
+#else // SERIAL_INTERFACE
+ PSX_InitEx(PSX_INIT_SAVESTATE | PSX_INIT_CD);
+#endif // SERIAL_INTERFACE
+
//Graphics init
GsInit();
//Clear VRAM
@@ -996,14 +1008,7 @@ int32_t SystemIndexOf_U8(uint8_t value, uint8_t* array, uint32_t from, uint32_t
void SystemCyclicHandler(void)
{
- if(UpdatePads() == false)
- {
- SystemSetEmergencyMode(true);
- }
- else
- {
- SystemSetEmergencyMode(false);
- }
+ UpdatePads();
SystemIncreaseGlobalTimer();
@@ -1088,8 +1093,37 @@ void SystemReturnToLoader(void)
void SystemDevMenuToggle(void)
{
devmenu_flag = devmenu_flag? false: true;
+}
- DEBUG_PRINT_VAR(devmenu_flag);
+/* ****************************************************************************************
+ *
+ * @name void SystemEnableRCnt2Interrupt(void)
+ *
+ * @author: Xavier Del Campo
+ *
+ * @brief: Enables bit 6 from I_MASK (0x1F801074)/IRQ6 RCNT2 (System clock / 8)
+ *
+ * ****************************************************************************************/
+
+void SystemEnableRCnt2Interrupt(void)
+{
+ I_MASK |= 1<<6;
+}
+
+
+/* ****************************************************************************************
+ *
+ * @name void SystemDisableRCnt2Interrupt(void)
+ *
+ * @author: Xavier Del Campo
+ *
+ * @brief: Disables bit 6 from I_MASK (0x1F801074)/IRQ6 RCNT2 (System clock / 8)
+ *
+ * ****************************************************************************************/
+
+void SystemDisableRCnt2Interrupt(void)
+{
+ I_MASK &= ~(1<<6);
}
/* ****************************************************************************************
@@ -1129,8 +1163,11 @@ void SystemDevMenu(void)
DEVMENU_PAD1_ID_TEXT_X = DEVMENU_PAD1_STATUS_TEXT_X,
DEVMENU_PAD1_ID_TEXT_Y = DEVMENU_PAD1_TYPE_TEXT_Y + DEVMENU_TEXT_GAP,
- DEVMENU_PAD2_STATUS_TEXT_X = DEVMENU_PAD1_ID_TEXT_X,
- DEVMENU_PAD2_STATUS_TEXT_Y = DEVMENU_PAD1_ID_TEXT_Y + (DEVMENU_TEXT_GAP << 1), // Leave a bigger gap here
+ DEVMENU_PAD1_RAW_DATA_TEXT_X = DEVMENU_PAD1_ID_TEXT_X,
+ DEVMENU_PAD1_RAW_DATA_TEXT_Y = DEVMENU_PAD1_ID_TEXT_Y + DEVMENU_TEXT_GAP,
+
+ DEVMENU_PAD2_STATUS_TEXT_X = DEVMENU_PAD1_RAW_DATA_TEXT_X,
+ DEVMENU_PAD2_STATUS_TEXT_Y = DEVMENU_PAD1_RAW_DATA_TEXT_Y + (DEVMENU_TEXT_GAP << 1), // Leave a bigger gap here
DEVMENU_PAD2_TYPE_TEXT_X = DEVMENU_PAD2_STATUS_TEXT_X,
DEVMENU_PAD2_TYPE_TEXT_Y = DEVMENU_PAD2_STATUS_TEXT_Y + DEVMENU_TEXT_GAP,
@@ -1138,8 +1175,11 @@ void SystemDevMenu(void)
DEVMENU_PAD2_ID_TEXT_X = DEVMENU_PAD2_TYPE_TEXT_X,
DEVMENU_PAD2_ID_TEXT_Y = DEVMENU_PAD2_TYPE_TEXT_Y + DEVMENU_TEXT_GAP,
- DEVMENU_ROOTCNT0_TEXT_X = DEVMENU_PAD2_ID_TEXT_X,
- DEVMENU_ROOTCNT0_TEXT_Y = DEVMENU_PAD2_ID_TEXT_Y + DEVMENU_TEXT_GAP,
+ DEVMENU_PAD2_RAW_DATA_TEXT_X = DEVMENU_PAD2_ID_TEXT_X,
+ DEVMENU_PAD2_RAW_DATA_TEXT_Y = DEVMENU_PAD2_ID_TEXT_Y + DEVMENU_TEXT_GAP,
+
+ DEVMENU_ROOTCNT0_TEXT_X = DEVMENU_PAD2_RAW_DATA_TEXT_X,
+ DEVMENU_ROOTCNT0_TEXT_Y = DEVMENU_PAD2_RAW_DATA_TEXT_Y + DEVMENU_TEXT_GAP,
};
if(devmenu_flag == true)
@@ -1173,6 +1213,12 @@ void SystemDevMenu(void)
"Pad1 ID = 0x%02X",
PadOneGetID() );
+ FontPrintText( &SmallFont,
+ DEVMENU_PAD1_RAW_DATA_TEXT_X,
+ DEVMENU_PAD1_RAW_DATA_TEXT_Y,
+ "Pad1 raw data = 0x%04X",
+ PadOneGetRawData() );
+
FontPrintText( &SmallFont,
DEVMENU_PAD2_STATUS_TEXT_X,
DEVMENU_PAD2_STATUS_TEXT_Y,
@@ -1192,6 +1238,12 @@ void SystemDevMenu(void)
PadTwoGetID() );
FontPrintText( &SmallFont,
+ DEVMENU_PAD2_RAW_DATA_TEXT_X,
+ DEVMENU_PAD2_RAW_DATA_TEXT_Y,
+ "Pad2 raw data = 0x%04X",
+ PadTwoGetRawData() );
+
+ FontPrintText( &SmallFont,
DEVMENU_ROOTCNT0_TEXT_X,
DEVMENU_ROOTCNT0_TEXT_Y,
"Timer0 = 0x%04X",
diff --git a/Source/System.h b/Source/System.h
index 4bec203..b3d36de 100644
--- a/Source/System.h
+++ b/Source/System.h
@@ -6,9 +6,7 @@
* **************************************/
#include "Global_Inc.h"
-#include "Menu.h"
-#include "Gfx.h"
-#include "MemCard.h"
+#include "GameStructures.h"
/* **************************************
* Defines *
@@ -128,9 +126,13 @@ void SystemCyclicHandler(void);
void SystemClearBuffer(void);
-void SystemEnableVBlankInterrupt();
+void SystemEnableVBlankInterrupt(void);
-void SystemDisableVBlankInterrupt();
+void SystemDisableVBlankInterrupt(void);
+
+void SystemEnableRCnt2Interrupt(void);
+
+void SystemDisableRCnt2Interrupt(void);
void SystemReturnToLoader(void);