mirror of
https://github.com/afska/gba-link-connection.git
synced 2026-04-26 02:02:25 -05:00
Fixing SoftReset in the multiboot version of the examples
This commit is contained in:
parent
6bfe90ed3e
commit
2fed290399
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -166,8 +166,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -62,7 +62,11 @@ int main() {
|
|||
}
|
||||
|
||||
inline void ISR_reset() {
|
||||
REG_IME = 0;
|
||||
RegisterRamReset(RESET_REG | RESET_VRAM);
|
||||
#if MULTIBOOT_BUILD == 1
|
||||
*(vu8*)0x03007FFA = 0x01;
|
||||
#endif
|
||||
SoftReset();
|
||||
}
|
||||
|
||||
|
|
@ -87,7 +91,7 @@ inline void setUpInterrupts() {
|
|||
interrupt_enable(INTR_TIMER3);
|
||||
#endif
|
||||
|
||||
// A+B+START+SELECT
|
||||
// A+B+START+SELECT = SoftReset
|
||||
REG_KEYCNT = 0b1100000000001111;
|
||||
interrupt_set_handler(INTR_KEYPAD, ISR_reset);
|
||||
interrupt_enable(INTR_KEYPAD);
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -12,7 +12,12 @@ inline void TIMER() {}
|
|||
// (1) Create a LinkPS2Mouse instance
|
||||
LinkPS2Mouse* linkPS2Mouse = new LinkPS2Mouse(2);
|
||||
|
||||
inline void KEYPAD() {
|
||||
inline void ISR_reset() {
|
||||
REG_IME = 0;
|
||||
RegisterRamReset(RESET_REG | RESET_VRAM);
|
||||
#if MULTIBOOT_BUILD == 1
|
||||
*(vu8*)0x03007FFA = 0x01;
|
||||
#endif
|
||||
SoftReset();
|
||||
}
|
||||
|
||||
|
|
@ -27,9 +32,9 @@ void init() {
|
|||
interrupt_set_handler(INTR_TIMER2, TIMER);
|
||||
interrupt_enable(INTR_TIMER2);
|
||||
|
||||
// Interrupt to handle B event (to reset)
|
||||
// B = SoftReset
|
||||
REG_KEYCNT = 0b10 | (1 << 14);
|
||||
interrupt_set_handler(INTR_KEYPAD, KEYPAD);
|
||||
interrupt_set_handler(INTR_KEYPAD, ISR_reset);
|
||||
interrupt_enable(INTR_KEYPAD);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -166,8 +166,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -30,7 +30,11 @@ int main() {
|
|||
}
|
||||
|
||||
inline void ISR_reset() {
|
||||
REG_IME = 0;
|
||||
RegisterRamReset(RESET_REG | RESET_VRAM);
|
||||
#if MULTIBOOT_BUILD == 1
|
||||
*(vu8*)0x03007FFA = 0x01;
|
||||
#endif
|
||||
SoftReset();
|
||||
}
|
||||
|
||||
|
|
@ -40,7 +44,7 @@ inline void setUpInterrupts() {
|
|||
interrupt_set_handler(INTR_VBLANK, [] {});
|
||||
interrupt_enable(INTR_VBLANK);
|
||||
|
||||
// A+B+START+SELECT
|
||||
// A+B+START+SELECT = SoftReset
|
||||
REG_KEYCNT = 0b1100000000001111;
|
||||
interrupt_set_handler(INTR_KEYPAD, ISR_reset);
|
||||
interrupt_enable(INTR_KEYPAD);
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -19,7 +19,11 @@ void init() {
|
|||
}
|
||||
|
||||
inline void ISR_reset() {
|
||||
REG_IME = 0;
|
||||
RegisterRamReset(RESET_REG | RESET_VRAM);
|
||||
#if MULTIBOOT_BUILD == 1
|
||||
*(vu8*)0x03007FFA = 0x01;
|
||||
#endif
|
||||
SoftReset();
|
||||
}
|
||||
|
||||
|
|
@ -77,7 +81,7 @@ int main() {
|
|||
interrupt_set_handler(INTR_TIMER3, LINK_UNIVERSAL_ISR_TIMER);
|
||||
interrupt_enable(INTR_TIMER3);
|
||||
|
||||
// B+START+SELECT = Reset
|
||||
// B+START+SELECT = SoftReset
|
||||
REG_KEYCNT = 0b1100000000001110;
|
||||
interrupt_set_handler(INTR_KEYPAD, ISR_reset);
|
||||
interrupt_enable(INTR_KEYPAD);
|
||||
|
|
|
|||
|
|
@ -166,8 +166,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
|
|
@ -29,7 +29,11 @@ int main() {
|
|||
}
|
||||
|
||||
inline void ISR_reset() {
|
||||
REG_IME = 0;
|
||||
RegisterRamReset(RESET_REG | RESET_VRAM);
|
||||
#if MULTIBOOT_BUILD == 1
|
||||
*(vu8*)0x03007FFA = 0x01;
|
||||
#endif
|
||||
SoftReset();
|
||||
}
|
||||
|
||||
|
|
@ -39,7 +43,7 @@ inline void setUpInterrupts() {
|
|||
interrupt_set_handler(INTR_VBLANK, [] {});
|
||||
interrupt_enable(INTR_VBLANK);
|
||||
|
||||
// A+B+START+SELECT
|
||||
// A+B+START+SELECT = SoftReset
|
||||
REG_KEYCNT = 0b1100000000001111;
|
||||
interrupt_set_handler(INTR_KEYPAD, ISR_reset);
|
||||
interrupt_enable(INTR_KEYPAD);
|
||||
|
|
|
|||
|
|
@ -176,8 +176,12 @@ LDFLAGS := $(ARCH) -Wl,--print-memory-usage,-Map,$(PROJ).map
|
|||
# --- Multiboot ? ---
|
||||
ifeq ($(strip $(bMB)), 1)
|
||||
TARGET := $(PROJ).mb
|
||||
CFLAGS += -DMULTIBOOT_BUILD=1
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=1
|
||||
else
|
||||
TARGET := $(PROJ)
|
||||
CFLAGS += -DMULTIBOOT_BUILD=0
|
||||
CXXFLAGS += -DMULTIBOOT_BUILD=0
|
||||
endif
|
||||
|
||||
# --- Save temporary files ? ---
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user