summaryrefslogtreecommitdiff
path: root/arm9/lib
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-07-25 13:23:02 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-07-25 13:23:02 -0400
commit5e0e326b75402a36c4d31502b8b5a05b862ac23c (patch)
tree1b5807c1efb72dbdd9d01f329cefb41171913a64 /arm9/lib
parent1f9d4503c898f9138422215132b53224571a281a (diff)
parent68d7aa47cc52ef822220e0e35890863d7cad479f (diff)
Merge remote-tracking branch 'origin/master' into pikalax_work
Diffstat (limited to 'arm9/lib')
-rw-r--r--arm9/lib/Makefile18
-rw-r--r--arm9/lib/NitroSDK/Makefile80
-rw-r--r--arm9/lib/NitroSDK/include/CARD_backup.h (renamed from arm9/lib/include/CARD_backup.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CARD_common.h (renamed from arm9/lib/include/CARD_common.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CARD_pullOut.h (renamed from arm9/lib/include/CARD_pullOut.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CARD_request.h (renamed from arm9/lib/include/CARD_request.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CARD_rom.h (renamed from arm9/lib/include/CARD_rom.h)1
-rw-r--r--arm9/lib/NitroSDK/include/CARD_spi.h (renamed from arm9/lib/include/CARD_spi.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CP_context.h (renamed from arm9/lib/include/CP_context.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CTRDG_backup.h (renamed from arm9/lib/include/CTRDG_backup.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CTRDG_common.h (renamed from arm9/lib/include/CTRDG_common.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CTRDG_flash.h (renamed from arm9/lib/include/CTRDG_flash.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CTRDG_flash_AT29LV512.h (renamed from arm9/lib/include/CTRDG_flash_AT29LV512.h)0
-rw-r--r--arm9/lib/NitroSDK/include/CTRDG_task.h (renamed from arm9/lib/include/CTRDG_task.h)0
-rw-r--r--arm9/lib/NitroSDK/include/DGT_common.h (renamed from arm9/lib/include/DGT_common.h)0
-rw-r--r--arm9/lib/NitroSDK/include/DGT_dgt.h (renamed from arm9/lib/include/DGT_dgt.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_archive.h (renamed from arm9/lib/include/FS_archive.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_command.h (renamed from arm9/lib/include/FS_command.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_command_default.h (renamed from arm9/lib/include/FS_command_default.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_file.h (renamed from arm9/lib/include/FS_file.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_mw_dtor.h (renamed from arm9/lib/include/FS_mw_dtor.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_overlay.h (renamed from arm9/lib/include/FS_overlay.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FS_rom.h (renamed from arm9/lib/include/FS_rom.h)0
-rw-r--r--arm9/lib/NitroSDK/include/FSi_util.h (renamed from arm9/lib/include/FSi_util.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_asm.h (renamed from arm9/lib/include/GX_asm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_bgcnt.h (renamed from arm9/lib/include/GX_bgcnt.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_dma.h (renamed from arm9/lib/include/GX_dma.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_g2.h (renamed from arm9/lib/include/GX_g2.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3.h (renamed from arm9/lib/include/GX_g3.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3_util.h (renamed from arm9/lib/include/GX_g3_util.h)2
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3b.h (renamed from arm9/lib/include/GX_g3b.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3imm.h (renamed from arm9/lib/include/GX_g3imm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_g3x.h (renamed from arm9/lib/include/GX_g3x.h)2
-rw-r--r--arm9/lib/NitroSDK/include/GX_load2d.h (renamed from arm9/lib/include/GX_load2d.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_load3d.h (renamed from arm9/lib/include/GX_load3d.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_state.h (renamed from arm9/lib/include/GX_state.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_struct_2d.h (renamed from arm9/lib/include/GX_struct_2d.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GX_vramcnt.h (renamed from arm9/lib/include/GX_vramcnt.h)0
-rw-r--r--arm9/lib/NitroSDK/include/GXcommon.h (renamed from arm9/lib/include/GXcommon.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MATH_crc.h (renamed from arm9/lib/include/MATH_crc.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MATH_dgt.h (renamed from arm9/lib/include/MATH_dgt.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MATH_pop.h (renamed from arm9/lib/include/MATH_pop.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MB_mb.h (renamed from arm9/lib/include/MB_mb.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_byteAccess.h (renamed from arm9/lib/include/MI_byteAccess.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_dma.h (renamed from arm9/lib/include/MI_dma.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_dma_card.h (renamed from arm9/lib/include/MI_dma_card.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_dma_gxcommand.h (renamed from arm9/lib/include/MI_dma_gxcommand.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_dma_hblank.h (renamed from arm9/lib/include/MI_dma_hblank.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_exMemory.h (renamed from arm9/lib/include/MI_exMemory.h)2
-rw-r--r--arm9/lib/NitroSDK/include/MI_init.h (renamed from arm9/lib/include/MI_init.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_memory.h (renamed from arm9/lib/include/MI_memory.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_swap.h (renamed from arm9/lib/include/MI_swap.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_uncompress.h (renamed from arm9/lib/include/MI_uncompress.h)0
-rw-r--r--arm9/lib/NitroSDK/include/MI_wram.h (renamed from arm9/lib/include/MI_wram.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_alarm.h (renamed from arm9/lib/include/OS_alarm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_alloc.h (renamed from arm9/lib/include/OS_alloc.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_arena.h (renamed from arm9/lib/include/OS_arena.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_cache.h (renamed from arm9/lib/include/OS_cache.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_context.h (renamed from arm9/lib/include/OS_context.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_emulator.h (renamed from arm9/lib/include/OS_emulator.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_entropy.h (renamed from arm9/lib/include/OS_entropy.h)3
-rw-r--r--arm9/lib/NitroSDK/include/OS_exception.h (renamed from arm9/lib/include/OS_exception.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_init.h (renamed from arm9/lib/include/OS_init.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_interrupt.h (renamed from arm9/lib/include/OS_interrupt.h)2
-rw-r--r--arm9/lib/NitroSDK/include/OS_irqHandler.h (renamed from arm9/lib/include/OS_irqHandler.h)2
-rw-r--r--arm9/lib/NitroSDK/include/OS_irqTable.h (renamed from arm9/lib/include/OS_irqTable.h)2
-rw-r--r--arm9/lib/NitroSDK/include/OS_message.h (renamed from arm9/lib/include/OS_message.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_mutex.h (renamed from arm9/lib/include/OS_mutex.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_ownerInfo.h (renamed from arm9/lib/include/OS_ownerInfo.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_printf.h (renamed from arm9/lib/include/OS_printf.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_protectionRegion.h (renamed from arm9/lib/include/OS_protectionRegion.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_protectionUnit.h (renamed from arm9/lib/include/OS_protectionUnit.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_reset.h (renamed from arm9/lib/include/OS_reset.h)3
-rw-r--r--arm9/lib/NitroSDK/include/OS_spinLock.h (renamed from arm9/lib/include/OS_spinLock.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_system.h (renamed from arm9/lib/include/OS_system.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_tcm.h (renamed from arm9/lib/include/OS_tcm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_terminate_proc.h (renamed from arm9/lib/include/OS_terminate_proc.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_thread.h (renamed from arm9/lib/include/OS_thread.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_tick.h (renamed from arm9/lib/include/OS_tick.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_timer.h (renamed from arm9/lib/include/OS_timer.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_valarm.h (renamed from arm9/lib/include/OS_valarm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/OS_vramExclusive.h (renamed from arm9/lib/include/OS_vramExclusive.h)0
-rw-r--r--arm9/lib/NitroSDK/include/PAD_pad.h (renamed from arm9/lib/include/PAD_pad.h)2
-rw-r--r--arm9/lib/NitroSDK/include/PXI_fifo.h (renamed from arm9/lib/include/PXI_fifo.h)0
-rw-r--r--arm9/lib/NitroSDK/include/PXI_init.h (renamed from arm9/lib/include/PXI_init.h)0
-rw-r--r--arm9/lib/NitroSDK/include/RTC_api.h (renamed from arm9/lib/include/RTC_api.h)0
-rw-r--r--arm9/lib/NitroSDK/include/RTC_convert.h (renamed from arm9/lib/include/RTC_convert.h)0
-rw-r--r--arm9/lib/NitroSDK/include/RTC_internal.h (renamed from arm9/lib/include/RTC_internal.h)0
-rw-r--r--arm9/lib/NitroSDK/include/SND_alarm.h (renamed from arm9/lib/include/SND_alarm.h)13
-rw-r--r--arm9/lib/NitroSDK/include/SND_bank.h (renamed from arm9/lib/include/SND_bank.h)0
-rw-r--r--arm9/lib/NitroSDK/include/SND_command.h (renamed from arm9/lib/include/SND_command.h)0
-rw-r--r--arm9/lib/NitroSDK/include/SND_interface.h (renamed from arm9/lib/include/SND_interface.h)1
-rw-r--r--arm9/lib/NitroSDK/include/SND_main.h26
-rw-r--r--arm9/lib/NitroSDK/include/SND_util.h (renamed from arm9/lib/include/SND_util.h)0
-rw-r--r--arm9/lib/NitroSDK/include/SND_work.h (renamed from arm9/lib/include/SND_work.h)26
-rw-r--r--arm9/lib/NitroSDK/include/SPI_mic.h (renamed from arm9/lib/include/SPI_mic.h)0
-rw-r--r--arm9/lib/NitroSDK/include/SPI_pm.h (renamed from arm9/lib/include/SPI_pm.h)0
-rw-r--r--arm9/lib/NitroSDK/include/WM.h61
-rw-r--r--arm9/lib/NitroSDK/include/WM_ks.h9
-rw-r--r--arm9/lib/NitroSDK/include/consts.h (renamed from arm9/lib/include/consts.h)3
-rw-r--r--arm9/lib/NitroSDK/include/custom_allocator.h (renamed from arm9/lib/include/custom_allocator.h)0
-rw-r--r--arm9/lib/NitroSDK/include/dgt.h (renamed from arm9/lib/include/dgt.h)0
-rw-r--r--arm9/lib/NitroSDK/include/fx.h (renamed from arm9/lib/include/fx.h)2
-rw-r--r--arm9/lib/NitroSDK/include/gx.h (renamed from arm9/lib/include/gx.h)0
-rw-r--r--arm9/lib/NitroSDK/include/math.h (renamed from arm9/lib/include/math.h)0
-rw-r--r--arm9/lib/NitroSDK/include/mmap.h (renamed from arm9/lib/include/mmap.h)0
-rw-r--r--arm9/lib/NitroSDK/include/nitro.h (renamed from arm9/lib/include/nitro.h)0
-rw-r--r--arm9/lib/NitroSDK/include/registers.h (renamed from arm9/lib/include/registers.h)0
-rw-r--r--arm9/lib/NitroSDK/include/syscall.h (renamed from arm9/lib/include/syscall.h)0
-rw-r--r--arm9/lib/NitroSDK/include/systemWork.h (renamed from arm9/lib/include/systemWork.h)1
-rw-r--r--arm9/lib/NitroSDK/include/tp.h (renamed from arm9/lib/include/tp.h)0
-rw-r--r--arm9/lib/NitroSDK/include/userInfo.h (renamed from arm9/lib/include/userInfo.h)0
-rw-r--r--arm9/lib/NitroSDK/src/CARD_backup.c (renamed from arm9/lib/src/CARD_backup.c)0
-rw-r--r--arm9/lib/NitroSDK/src/CARD_common.c (renamed from arm9/lib/src/CARD_common.c)1
-rw-r--r--arm9/lib/NitroSDK/src/CARD_pullOut.c (renamed from arm9/lib/src/CARD_pullOut.c)1
-rw-r--r--arm9/lib/NitroSDK/src/CARD_request.c (renamed from arm9/lib/src/CARD_request.c)0
-rw-r--r--arm9/lib/NitroSDK/src/CARD_rom.c (renamed from arm9/lib/src/CARD_rom.c)0
-rw-r--r--arm9/lib/NitroSDK/src/CARD_spi.c (renamed from arm9/lib/src/CARD_spi.c)0
-rw-r--r--arm9/lib/NitroSDK/src/CP_context.c (renamed from arm9/lib/src/CP_context.c)2
-rw-r--r--arm9/lib/NitroSDK/src/CTRDG_backup.c (renamed from arm9/lib/src/CTRDG_backup.c)0
-rw-r--r--arm9/lib/NitroSDK/src/CTRDG_common.c (renamed from arm9/lib/src/CTRDG_common.c)1
-rw-r--r--arm9/lib/NitroSDK/src/CTRDG_flash_AT29LV512.c (renamed from arm9/lib/src/CTRDG_flash_AT29LV512.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_archive.c (renamed from arm9/lib/src/FS_archive.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_command.c (renamed from arm9/lib/src/FS_command.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_command_default.c (renamed from arm9/lib/src/FS_command_default.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_file.c (renamed from arm9/lib/src/FS_file.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_overlay.c (renamed from arm9/lib/src/FS_overlay.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FS_rom.c (renamed from arm9/lib/src/FS_rom.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX.c (renamed from arm9/lib/src/FX.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_atan.c (renamed from arm9/lib/src/FX_atan.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_cp.c (renamed from arm9/lib/src/FX_cp.c)4
-rw-r--r--arm9/lib/NitroSDK/src/FX_mtx22.c (renamed from arm9/lib/src/FX_mtx22.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_mtx33.c (renamed from arm9/lib/src/FX_mtx33.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_mtx43.c (renamed from arm9/lib/src/FX_mtx43.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_mtx44.c (renamed from arm9/lib/src/FX_mtx44.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_sincos.c (renamed from arm9/lib/src/FX_sincos.c)0
-rw-r--r--arm9/lib/NitroSDK/src/FX_vec.c (renamed from arm9/lib/src/FX_vec.c)3
-rw-r--r--arm9/lib/NitroSDK/src/GX.c (renamed from arm9/lib/src/GX.c)5
-rw-r--r--arm9/lib/NitroSDK/src/GX_asm.c (renamed from arm9/lib/src/GX_asm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_bgcnt.c (renamed from arm9/lib/src/GX_bgcnt.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g2.c (renamed from arm9/lib/src/GX_g2.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g3.c (renamed from arm9/lib/src/GX_g3.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g3_util.c (renamed from arm9/lib/src/GX_g3_util.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g3b.c (renamed from arm9/lib/src/GX_g3b.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g3imm.c (renamed from arm9/lib/src/GX_g3imm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_g3x.c (renamed from arm9/lib/src/GX_g3x.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_load2d.c (renamed from arm9/lib/src/GX_load2d.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_load3d.c (renamed from arm9/lib/src/GX_load3d.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_state.c (renamed from arm9/lib/src/GX_state.c)0
-rw-r--r--arm9/lib/NitroSDK/src/GX_vramcnt.c (renamed from arm9/lib/src/GX_vramcnt.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MATH_crc.c (renamed from arm9/lib/src/MATH_crc.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MATH_dgt.c (renamed from arm9/lib/src/MATH_dgt.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MATH_pop.c (renamed from arm9/lib/src/MATH_pop.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_dma.c (renamed from arm9/lib/src/MI_dma.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_dma_card.c (renamed from arm9/lib/src/MI_dma_card.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_dma_gxcommand.c (renamed from arm9/lib/src/MI_dma_gxcommand.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_dma_hblank.c (renamed from arm9/lib/src/MI_dma_hblank.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_init.c (renamed from arm9/lib/src/MI_init.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_memory.c (renamed from arm9/lib/src/MI_memory.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_swap.c (renamed from arm9/lib/src/MI_swap.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_uncompress.c (renamed from arm9/lib/src/MI_uncompress.c)0
-rw-r--r--arm9/lib/NitroSDK/src/MI_wram.c (renamed from arm9/lib/src/MI_wram.c)5
-rw-r--r--arm9/lib/NitroSDK/src/OS_alarm.c (renamed from arm9/lib/src/OS_alarm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_alloc.c (renamed from arm9/lib/src/OS_alloc.c)334
-rw-r--r--arm9/lib/NitroSDK/src/OS_arena.c (renamed from arm9/lib/src/OS_arena.c)335
-rw-r--r--arm9/lib/NitroSDK/src/OS_cache.c (renamed from arm9/lib/src/OS_cache.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_context.c (renamed from arm9/lib/src/OS_context.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_emulator.c (renamed from arm9/lib/src/OS_emulator.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_entropy.c (renamed from arm9/lib/src/OS_entropy.c)7
-rw-r--r--arm9/lib/NitroSDK/src/OS_exception.c (renamed from arm9/lib/src/OS_exception.c)4
-rw-r--r--arm9/lib/NitroSDK/src/OS_init.c (renamed from arm9/lib/src/OS_init.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_interrupt.c (renamed from arm9/lib/src/OS_interrupt.c)6
-rw-r--r--arm9/lib/NitroSDK/src/OS_irqHandler.c (renamed from arm9/lib/src/OS_irqHandler.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_irqTable.c (renamed from arm9/lib/src/OS_irqTable.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_message.c (renamed from arm9/lib/src/OS_message.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_mutex.c (renamed from arm9/lib/src/OS_mutex.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_ownerInfo.c (renamed from arm9/lib/src/OS_ownerInfo.c)4
-rw-r--r--arm9/lib/NitroSDK/src/OS_printf.c (renamed from arm9/lib/src/OS_printf.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_protectionRegion.c (renamed from arm9/lib/src/OS_protectionRegion.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_protectionUnit.c (renamed from arm9/lib/src/OS_protectionUnit.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_reset.c (renamed from arm9/lib/src/OS_reset.c)3
-rw-r--r--arm9/lib/NitroSDK/src/OS_spinLock.c (renamed from arm9/lib/src/OS_spinLock.c)3
-rw-r--r--arm9/lib/NitroSDK/src/OS_system.c (renamed from arm9/lib/src/OS_system.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_tcm.c (renamed from arm9/lib/src/OS_tcm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_terminate_proc.c (renamed from arm9/lib/src/OS_terminate_proc.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_thread.c (renamed from arm9/lib/src/OS_thread.c)3
-rw-r--r--arm9/lib/NitroSDK/src/OS_tick.c (renamed from arm9/lib/src/OS_tick.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_timer.c (renamed from arm9/lib/src/OS_timer.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_valarm.c (renamed from arm9/lib/src/OS_valarm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/OS_vramExclusive.c (renamed from arm9/lib/src/OS_vramExclusive.c)0
-rw-r--r--arm9/lib/NitroSDK/src/PXI_fifo.c (renamed from arm9/lib/src/PXI_fifo.c)0
-rw-r--r--arm9/lib/NitroSDK/src/PXI_init.c (renamed from arm9/lib/src/PXI_init.c)0
-rw-r--r--arm9/lib/NitroSDK/src/RTC_convert.c (renamed from arm9/lib/src/RTC_convert.c)0
-rw-r--r--arm9/lib/NitroSDK/src/RTC_internal.c (renamed from arm9/lib/src/RTC_internal.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_alarm.c (renamed from arm9/lib/src/SND_alarm.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_bank.c (renamed from arm9/lib/src/SND_bank.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_command.c (renamed from arm9/lib/src/SND_command.c)3
-rw-r--r--arm9/lib/NitroSDK/src/SND_interface.c (renamed from arm9/lib/src/SND_interface.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_main.c (renamed from arm9/lib/src/SND_main.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_util.c (renamed from arm9/lib/src/SND_util.c)0
-rw-r--r--arm9/lib/NitroSDK/src/SND_work.c (renamed from arm9/lib/src/SND_work.c)0
-rw-r--r--arm9/lib/NitroSDK/src/WM_ks.c15
-rw-r--r--arm9/lib/NitroSDK/src/crt0.c (renamed from arm9/lib/src/crt0.c)0
-rw-r--r--arm9/lib/NitroSDK/src/custom_allocator.c (renamed from arm9/lib/src/custom_allocator.c)4
-rw-r--r--arm9/lib/NitroSDK/src/version_1_dwc.c (renamed from arm9/lib/src/version_1_dwc.c)0
-rw-r--r--arm9/lib/NitroSDK/src/version_2_wifi.c (renamed from arm9/lib/src/version_2_wifi.c)0
-rw-r--r--arm9/lib/NitroSDK/src/version_3_cps.c (renamed from arm9/lib/src/version_3_cps.c)0
-rw-r--r--arm9/lib/NitroSDK/src/version_4_ssl.c (renamed from arm9/lib/src/version_4_ssl.c)0
-rw-r--r--arm9/lib/NitroSDK/src/version_5_vct.c (renamed from arm9/lib/src/version_5_vct.c)0
-rw-r--r--arm9/lib/NitroSDK/src/version_6_backup.c (renamed from arm9/lib/src/version_6_backup.c)0
-rw-r--r--arm9/lib/include/FX_types.h106
-rw-r--r--arm9/lib/include/NNS_g3d.h89
-rw-r--r--arm9/lib/include/SND_main.h185
-rw-r--r--arm9/lib/libc/Makefile80
-rw-r--r--arm9/lib/libc/include/MSL.h8
-rw-r--r--arm9/lib/libc/include/MSL_Common_arith.h8
-rw-r--r--arm9/lib/libc/src/MSL_Common_arith.c7
-rw-r--r--arm9/lib/libnns/Makefile81
-rw-r--r--arm9/lib/libnns/include/NNS_FND_allocator.h (renamed from arm9/lib/include/NNS_FND_allocator.h)68
-rw-r--r--arm9/lib/libnns/include/NNS_FND_expheap.h (renamed from arm9/lib/include/NNS_FND_expheap.h)110
-rw-r--r--arm9/lib/libnns/include/NNS_FND_heapcommon.h (renamed from arm9/lib/include/NNS_FND_heapcommon.h)52
-rw-r--r--arm9/lib/libnns/include/NNS_FND_list.h (renamed from arm9/lib/include/NNS_FND_list.h)40
-rw-r--r--arm9/lib/libnns/include/NNS_SND_arc.h (renamed from arm9/lib/include/NNS_SND_arc.h)3
-rw-r--r--arm9/lib/libnns/include/NNS_SND_arc_loader.h (renamed from arm9/lib/include/NNS_SND_arc_loader.h)24
-rw-r--r--arm9/lib/libnns/include/NNS_SND_heap.h (renamed from arm9/lib/include/NNS_SND_heap.h)22
-rw-r--r--arm9/lib/libnns/include/NNS_g2d.h (renamed from arm9/lib/include/NNS_g2d.h)424
-rw-r--r--arm9/lib/libnns/src/.gitkeep0
227 files changed, 1152 insertions, 1159 deletions
diff --git a/arm9/lib/Makefile b/arm9/lib/Makefile
index 0ff7e9e4..ebe143f2 100644
--- a/arm9/lib/Makefile
+++ b/arm9/lib/Makefile
@@ -1,5 +1,3 @@
-
-
# Try to include devkitarm if installed
TOOLCHAIN := $(DEVKITARM)
@@ -56,22 +54,30 @@ OBJCOPY := $(CROSS)objcopy
# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
ASFLAGS = -proc arm5te -ir ../..
-CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/include -W all
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
ARFLAGS = rcS
-export MWCIncludes := include
+export MWCIncludes := libc/include libnns/include NitroSDK/include
################ Targets #################
LIBS := libsyscall.a
.PHONY: all clean
-all: $(LIBS)
+all: libs $(LIBS)
@:
+libs:
+ $(MAKE) -C libc
+ $(MAKE) -C libnns
+ $(MAKE) -C NitroSDK
+
clean:
- $(RM) $(LIBS) $(LIBS:%.a=%/*.o)
+ $(MAKE) clean -C libc
+ $(MAKE) clean -C libnns
+ $(MAKE) clean -C NitroSDK
+ $(RM) $(LIBS)
libsyscall.a: syscall/_svc_mw.o
diff --git a/arm9/lib/NitroSDK/Makefile b/arm9/lib/NitroSDK/Makefile
new file mode 100644
index 00000000..37490838
--- /dev/null
+++ b/arm9/lib/NitroSDK/Makefile
@@ -0,0 +1,80 @@
+# Try to include devkitarm if installed
+TOOLCHAIN := $(DEVKITARM)
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+endif
+
+# If you are using WSL, it is recommended you build with NOWINE=1.
+WSLENV ?= no
+ifeq ($(WSLENV),)
+NOWINE = 1
+else
+NOWINE = 0
+endif
+
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+WINE :=
+else
+EXE :=
+WINE := wine
+endif
+
+ifeq ($(NOWINE),1)
+WINE :=
+endif
+
+# Compare result of arm9, arm7, and ROM to sha1 hash(s)
+COMPARE ?= 1
+
+##################### Compiler Options #######################
+
+MWCCVERSION = 1.2/sp2p3
+
+CROSS := arm-none-eabi-
+
+MWCCARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwccarm.exe
+# Argh... due to EABI version shenanigans, we can't use GNU LD to link together
+# MWCC built objects and GNU built ones. mwldarm, however, doesn't care, so we
+# have to use mwldarm for now.
+# TODO: Is there a hack workaround to let us go back to GNU LD? Ideally, the
+# only dependency should be MWCCARM.
+MWLDARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwldarm.exe
+MWASMARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwasmarm.exe
+SCANINC = ../../../tools/scaninc/scaninc$(EXE)
+
+AS = $(WINE) $(MWASMARM)
+CC = $(WINE) $(MWCCARM)
+CPP := cpp -P
+LD = $(WINE) $(MWLDARM)
+AR := $(CROSS)ar
+OBJDUMP := $(CROSS)objdump
+OBJCOPY := $(CROSS)objcopy
+
+# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
+ASFLAGS = -proc arm5te -ir ../../..
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+ARFLAGS = rcS
+
+export MWCIncludes := include
+
+################ Targets #################
+
+.PHONY: all clean
+
+all:
+ @:
+
+clean:
+ $(RM) $(%.a=%/*.o)
+
+%.a:
+ $(AR) $(ARFLAGS) -o $@ $^
+
+%.o: %.c
+ $(CC) $(CFLAGS) -o $@ $<
+
+%.o: %.s
+ $(AS) $(ASFLAGS) -o $@ $<
diff --git a/arm9/lib/include/CARD_backup.h b/arm9/lib/NitroSDK/include/CARD_backup.h
index e5c0c0cd..e5c0c0cd 100644
--- a/arm9/lib/include/CARD_backup.h
+++ b/arm9/lib/NitroSDK/include/CARD_backup.h
diff --git a/arm9/lib/include/CARD_common.h b/arm9/lib/NitroSDK/include/CARD_common.h
index 1ae31b7a..1ae31b7a 100644
--- a/arm9/lib/include/CARD_common.h
+++ b/arm9/lib/NitroSDK/include/CARD_common.h
diff --git a/arm9/lib/include/CARD_pullOut.h b/arm9/lib/NitroSDK/include/CARD_pullOut.h
index bfc0e6d2..bfc0e6d2 100644
--- a/arm9/lib/include/CARD_pullOut.h
+++ b/arm9/lib/NitroSDK/include/CARD_pullOut.h
diff --git a/arm9/lib/include/CARD_request.h b/arm9/lib/NitroSDK/include/CARD_request.h
index 1bae75d0..1bae75d0 100644
--- a/arm9/lib/include/CARD_request.h
+++ b/arm9/lib/NitroSDK/include/CARD_request.h
diff --git a/arm9/lib/include/CARD_rom.h b/arm9/lib/NitroSDK/include/CARD_rom.h
index e72d653f..b6fca60b 100644
--- a/arm9/lib/include/CARD_rom.h
+++ b/arm9/lib/NitroSDK/include/CARD_rom.h
@@ -6,6 +6,7 @@
#include "MI_dma.h"
#include "CARD_common.h"
#include "OS_tcm.h"
+#include "mmap.h"
#define CARD_ROM_PAGE_SIZE 512
diff --git a/arm9/lib/include/CARD_spi.h b/arm9/lib/NitroSDK/include/CARD_spi.h
index 0181e39f..0181e39f 100644
--- a/arm9/lib/include/CARD_spi.h
+++ b/arm9/lib/NitroSDK/include/CARD_spi.h
diff --git a/arm9/lib/include/CP_context.h b/arm9/lib/NitroSDK/include/CP_context.h
index 9d392352..9d392352 100644
--- a/arm9/lib/include/CP_context.h
+++ b/arm9/lib/NitroSDK/include/CP_context.h
diff --git a/arm9/lib/include/CTRDG_backup.h b/arm9/lib/NitroSDK/include/CTRDG_backup.h
index 8b95a7aa..8b95a7aa 100644
--- a/arm9/lib/include/CTRDG_backup.h
+++ b/arm9/lib/NitroSDK/include/CTRDG_backup.h
diff --git a/arm9/lib/include/CTRDG_common.h b/arm9/lib/NitroSDK/include/CTRDG_common.h
index 2d37c6f8..2d37c6f8 100644
--- a/arm9/lib/include/CTRDG_common.h
+++ b/arm9/lib/NitroSDK/include/CTRDG_common.h
diff --git a/arm9/lib/include/CTRDG_flash.h b/arm9/lib/NitroSDK/include/CTRDG_flash.h
index aa02d951..aa02d951 100644
--- a/arm9/lib/include/CTRDG_flash.h
+++ b/arm9/lib/NitroSDK/include/CTRDG_flash.h
diff --git a/arm9/lib/include/CTRDG_flash_AT29LV512.h b/arm9/lib/NitroSDK/include/CTRDG_flash_AT29LV512.h
index 64f3efdb..64f3efdb 100644
--- a/arm9/lib/include/CTRDG_flash_AT29LV512.h
+++ b/arm9/lib/NitroSDK/include/CTRDG_flash_AT29LV512.h
diff --git a/arm9/lib/include/CTRDG_task.h b/arm9/lib/NitroSDK/include/CTRDG_task.h
index 2cf7a233..2cf7a233 100644
--- a/arm9/lib/include/CTRDG_task.h
+++ b/arm9/lib/NitroSDK/include/CTRDG_task.h
diff --git a/arm9/lib/include/DGT_common.h b/arm9/lib/NitroSDK/include/DGT_common.h
index c74ae7cd..c74ae7cd 100644
--- a/arm9/lib/include/DGT_common.h
+++ b/arm9/lib/NitroSDK/include/DGT_common.h
diff --git a/arm9/lib/include/DGT_dgt.h b/arm9/lib/NitroSDK/include/DGT_dgt.h
index 95c7c4e2..95c7c4e2 100644
--- a/arm9/lib/include/DGT_dgt.h
+++ b/arm9/lib/NitroSDK/include/DGT_dgt.h
diff --git a/arm9/lib/include/FS_archive.h b/arm9/lib/NitroSDK/include/FS_archive.h
index 3987341c..3987341c 100644
--- a/arm9/lib/include/FS_archive.h
+++ b/arm9/lib/NitroSDK/include/FS_archive.h
diff --git a/arm9/lib/include/FS_command.h b/arm9/lib/NitroSDK/include/FS_command.h
index b5e73bcf..b5e73bcf 100644
--- a/arm9/lib/include/FS_command.h
+++ b/arm9/lib/NitroSDK/include/FS_command.h
diff --git a/arm9/lib/include/FS_command_default.h b/arm9/lib/NitroSDK/include/FS_command_default.h
index 20e20f8f..20e20f8f 100644
--- a/arm9/lib/include/FS_command_default.h
+++ b/arm9/lib/NitroSDK/include/FS_command_default.h
diff --git a/arm9/lib/include/FS_file.h b/arm9/lib/NitroSDK/include/FS_file.h
index f870ad2a..f870ad2a 100644
--- a/arm9/lib/include/FS_file.h
+++ b/arm9/lib/NitroSDK/include/FS_file.h
diff --git a/arm9/lib/include/FS_mw_dtor.h b/arm9/lib/NitroSDK/include/FS_mw_dtor.h
index a746ed19..a746ed19 100644
--- a/arm9/lib/include/FS_mw_dtor.h
+++ b/arm9/lib/NitroSDK/include/FS_mw_dtor.h
diff --git a/arm9/lib/include/FS_overlay.h b/arm9/lib/NitroSDK/include/FS_overlay.h
index 7853e4ae..7853e4ae 100644
--- a/arm9/lib/include/FS_overlay.h
+++ b/arm9/lib/NitroSDK/include/FS_overlay.h
diff --git a/arm9/lib/include/FS_rom.h b/arm9/lib/NitroSDK/include/FS_rom.h
index bd0cd73b..bd0cd73b 100644
--- a/arm9/lib/include/FS_rom.h
+++ b/arm9/lib/NitroSDK/include/FS_rom.h
diff --git a/arm9/lib/include/FSi_util.h b/arm9/lib/NitroSDK/include/FSi_util.h
index 2357b446..2357b446 100644
--- a/arm9/lib/include/FSi_util.h
+++ b/arm9/lib/NitroSDK/include/FSi_util.h
diff --git a/arm9/lib/include/GX_asm.h b/arm9/lib/NitroSDK/include/GX_asm.h
index d2622508..d2622508 100644
--- a/arm9/lib/include/GX_asm.h
+++ b/arm9/lib/NitroSDK/include/GX_asm.h
diff --git a/arm9/lib/include/GX_bgcnt.h b/arm9/lib/NitroSDK/include/GX_bgcnt.h
index b64d4432..b64d4432 100644
--- a/arm9/lib/include/GX_bgcnt.h
+++ b/arm9/lib/NitroSDK/include/GX_bgcnt.h
diff --git a/arm9/lib/include/GX_dma.h b/arm9/lib/NitroSDK/include/GX_dma.h
index 98f6a4a2..98f6a4a2 100644
--- a/arm9/lib/include/GX_dma.h
+++ b/arm9/lib/NitroSDK/include/GX_dma.h
diff --git a/arm9/lib/include/GX_g2.h b/arm9/lib/NitroSDK/include/GX_g2.h
index 97fa0e10..97fa0e10 100644
--- a/arm9/lib/include/GX_g2.h
+++ b/arm9/lib/NitroSDK/include/GX_g2.h
diff --git a/arm9/lib/include/GX_g3.h b/arm9/lib/NitroSDK/include/GX_g3.h
index 765ecc64..765ecc64 100644
--- a/arm9/lib/include/GX_g3.h
+++ b/arm9/lib/NitroSDK/include/GX_g3.h
diff --git a/arm9/lib/include/GX_g3_util.h b/arm9/lib/NitroSDK/include/GX_g3_util.h
index 7a35f545..8b66aee7 100644
--- a/arm9/lib/include/GX_g3_util.h
+++ b/arm9/lib/NitroSDK/include/GX_g3_util.h
@@ -1,7 +1,7 @@
#ifndef GUARD_GX_G3_UTIL_H
#define GUARD_GX_G3_UTIL_H
-#include "FX_types.h"
+#include "nitro/FX_types.h"
void G3i_PerspectiveW_(fx32 fovsin, fx32 fovcos, fx32 ratio, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx);
void G3i_OrthoW_(fx32 top, fx32 bottom, fx32 left, fx32 right, fx32 near, fx32 far, fx32 scale, u32 load, struct Mtx44 *mtx);
diff --git a/arm9/lib/include/GX_g3b.h b/arm9/lib/NitroSDK/include/GX_g3b.h
index d299ea34..d299ea34 100644
--- a/arm9/lib/include/GX_g3b.h
+++ b/arm9/lib/NitroSDK/include/GX_g3b.h
diff --git a/arm9/lib/include/GX_g3imm.h b/arm9/lib/NitroSDK/include/GX_g3imm.h
index f811dc68..f811dc68 100644
--- a/arm9/lib/include/GX_g3imm.h
+++ b/arm9/lib/NitroSDK/include/GX_g3imm.h
diff --git a/arm9/lib/include/GX_g3x.h b/arm9/lib/NitroSDK/include/GX_g3x.h
index a0512b28..aa65a190 100644
--- a/arm9/lib/include/GX_g3x.h
+++ b/arm9/lib/NitroSDK/include/GX_g3x.h
@@ -3,6 +3,8 @@
#include "fx.h"
+#include "registers.h"
+
void GXi_NopClearFifo128_(void *reg);
void G3X_Init();
void G3X_ResetMtxStack();
diff --git a/arm9/lib/include/GX_load2d.h b/arm9/lib/NitroSDK/include/GX_load2d.h
index 3c9fb5cb..3c9fb5cb 100644
--- a/arm9/lib/include/GX_load2d.h
+++ b/arm9/lib/NitroSDK/include/GX_load2d.h
diff --git a/arm9/lib/include/GX_load3d.h b/arm9/lib/NitroSDK/include/GX_load3d.h
index 09fd296a..09fd296a 100644
--- a/arm9/lib/include/GX_load3d.h
+++ b/arm9/lib/NitroSDK/include/GX_load3d.h
diff --git a/arm9/lib/include/GX_state.h b/arm9/lib/NitroSDK/include/GX_state.h
index c94b6c07..c94b6c07 100644
--- a/arm9/lib/include/GX_state.h
+++ b/arm9/lib/NitroSDK/include/GX_state.h
diff --git a/arm9/lib/include/GX_struct_2d.h b/arm9/lib/NitroSDK/include/GX_struct_2d.h
index 3b544927..3b544927 100644
--- a/arm9/lib/include/GX_struct_2d.h
+++ b/arm9/lib/NitroSDK/include/GX_struct_2d.h
diff --git a/arm9/lib/include/GX_vramcnt.h b/arm9/lib/NitroSDK/include/GX_vramcnt.h
index 3b82d28c..3b82d28c 100644
--- a/arm9/lib/include/GX_vramcnt.h
+++ b/arm9/lib/NitroSDK/include/GX_vramcnt.h
diff --git a/arm9/lib/include/GXcommon.h b/arm9/lib/NitroSDK/include/GXcommon.h
index a83f4384..a83f4384 100644
--- a/arm9/lib/include/GXcommon.h
+++ b/arm9/lib/NitroSDK/include/GXcommon.h
diff --git a/arm9/lib/include/MATH_crc.h b/arm9/lib/NitroSDK/include/MATH_crc.h
index 4f06fa75..4f06fa75 100644
--- a/arm9/lib/include/MATH_crc.h
+++ b/arm9/lib/NitroSDK/include/MATH_crc.h
diff --git a/arm9/lib/include/MATH_dgt.h b/arm9/lib/NitroSDK/include/MATH_dgt.h
index 140b4f98..140b4f98 100644
--- a/arm9/lib/include/MATH_dgt.h
+++ b/arm9/lib/NitroSDK/include/MATH_dgt.h
diff --git a/arm9/lib/include/MATH_pop.h b/arm9/lib/NitroSDK/include/MATH_pop.h
index 29a42b22..29a42b22 100644
--- a/arm9/lib/include/MATH_pop.h
+++ b/arm9/lib/NitroSDK/include/MATH_pop.h
diff --git a/arm9/lib/include/MB_mb.h b/arm9/lib/NitroSDK/include/MB_mb.h
index 5bccaf8b..5bccaf8b 100644
--- a/arm9/lib/include/MB_mb.h
+++ b/arm9/lib/NitroSDK/include/MB_mb.h
diff --git a/arm9/lib/include/MI_byteAccess.h b/arm9/lib/NitroSDK/include/MI_byteAccess.h
index cad4d518..cad4d518 100644
--- a/arm9/lib/include/MI_byteAccess.h
+++ b/arm9/lib/NitroSDK/include/MI_byteAccess.h
diff --git a/arm9/lib/include/MI_dma.h b/arm9/lib/NitroSDK/include/MI_dma.h
index 99d1cb84..99d1cb84 100644
--- a/arm9/lib/include/MI_dma.h
+++ b/arm9/lib/NitroSDK/include/MI_dma.h
diff --git a/arm9/lib/include/MI_dma_card.h b/arm9/lib/NitroSDK/include/MI_dma_card.h
index efd70ba6..efd70ba6 100644
--- a/arm9/lib/include/MI_dma_card.h
+++ b/arm9/lib/NitroSDK/include/MI_dma_card.h
diff --git a/arm9/lib/include/MI_dma_gxcommand.h b/arm9/lib/NitroSDK/include/MI_dma_gxcommand.h
index 7cc32ba2..7cc32ba2 100644
--- a/arm9/lib/include/MI_dma_gxcommand.h
+++ b/arm9/lib/NitroSDK/include/MI_dma_gxcommand.h
diff --git a/arm9/lib/include/MI_dma_hblank.h b/arm9/lib/NitroSDK/include/MI_dma_hblank.h
index 1c83ef3e..1c83ef3e 100644
--- a/arm9/lib/include/MI_dma_hblank.h
+++ b/arm9/lib/NitroSDK/include/MI_dma_hblank.h
diff --git a/arm9/lib/include/MI_exMemory.h b/arm9/lib/NitroSDK/include/MI_exMemory.h
index aa90a73c..5e21d7e6 100644
--- a/arm9/lib/include/MI_exMemory.h
+++ b/arm9/lib/NitroSDK/include/MI_exMemory.h
@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_MI_EXMEMORY_H
#define POKEDIAMOND_MI_EXMEMORY_H
-#include "consts.h"
+#include "registers.h"
typedef enum {
MI_PROCESSOR_ARM9 = 0,
diff --git a/arm9/lib/include/MI_init.h b/arm9/lib/NitroSDK/include/MI_init.h
index a338ab6b..a338ab6b 100644
--- a/arm9/lib/include/MI_init.h
+++ b/arm9/lib/NitroSDK/include/MI_init.h
diff --git a/arm9/lib/include/MI_memory.h b/arm9/lib/NitroSDK/include/MI_memory.h
index 4e5722bb..4e5722bb 100644
--- a/arm9/lib/include/MI_memory.h
+++ b/arm9/lib/NitroSDK/include/MI_memory.h
diff --git a/arm9/lib/include/MI_swap.h b/arm9/lib/NitroSDK/include/MI_swap.h
index 433b5804..433b5804 100644
--- a/arm9/lib/include/MI_swap.h
+++ b/arm9/lib/NitroSDK/include/MI_swap.h
diff --git a/arm9/lib/include/MI_uncompress.h b/arm9/lib/NitroSDK/include/MI_uncompress.h
index defafa8c..defafa8c 100644
--- a/arm9/lib/include/MI_uncompress.h
+++ b/arm9/lib/NitroSDK/include/MI_uncompress.h
diff --git a/arm9/lib/include/MI_wram.h b/arm9/lib/NitroSDK/include/MI_wram.h
index fa445a8a..fa445a8a 100644
--- a/arm9/lib/include/MI_wram.h
+++ b/arm9/lib/NitroSDK/include/MI_wram.h
diff --git a/arm9/lib/include/OS_alarm.h b/arm9/lib/NitroSDK/include/OS_alarm.h
index 00a3c3d3..00a3c3d3 100644
--- a/arm9/lib/include/OS_alarm.h
+++ b/arm9/lib/NitroSDK/include/OS_alarm.h
diff --git a/arm9/lib/include/OS_alloc.h b/arm9/lib/NitroSDK/include/OS_alloc.h
index e73c2971..e73c2971 100644
--- a/arm9/lib/include/OS_alloc.h
+++ b/arm9/lib/NitroSDK/include/OS_alloc.h
diff --git a/arm9/lib/include/OS_arena.h b/arm9/lib/NitroSDK/include/OS_arena.h
index a26cf3bd..a26cf3bd 100644
--- a/arm9/lib/include/OS_arena.h
+++ b/arm9/lib/NitroSDK/include/OS_arena.h
diff --git a/arm9/lib/include/OS_cache.h b/arm9/lib/NitroSDK/include/OS_cache.h
index 425eab3f..425eab3f 100644
--- a/arm9/lib/include/OS_cache.h
+++ b/arm9/lib/NitroSDK/include/OS_cache.h
diff --git a/arm9/lib/include/OS_context.h b/arm9/lib/NitroSDK/include/OS_context.h
index d3e24673..d3e24673 100644
--- a/arm9/lib/include/OS_context.h
+++ b/arm9/lib/NitroSDK/include/OS_context.h
diff --git a/arm9/lib/include/OS_emulator.h b/arm9/lib/NitroSDK/include/OS_emulator.h
index 30acec16..30acec16 100644
--- a/arm9/lib/include/OS_emulator.h
+++ b/arm9/lib/NitroSDK/include/OS_emulator.h
diff --git a/arm9/lib/include/OS_entropy.h b/arm9/lib/NitroSDK/include/OS_entropy.h
index b0f2781a..7c39aadd 100644
--- a/arm9/lib/include/OS_entropy.h
+++ b/arm9/lib/NitroSDK/include/OS_entropy.h
@@ -5,8 +5,7 @@
#ifndef POKEDIAMOND_OS_ENTROPY_H
#define POKEDIAMOND_OS_ENTROPY_H
-#include "consts.h"
-#include "userInfo.h"
+#include "registers.h"
void OS_GetLowEntropyData(u32 * arr);
diff --git a/arm9/lib/include/OS_exception.h b/arm9/lib/NitroSDK/include/OS_exception.h
index 26fc3525..26fc3525 100644
--- a/arm9/lib/include/OS_exception.h
+++ b/arm9/lib/NitroSDK/include/OS_exception.h
diff --git a/arm9/lib/include/OS_init.h b/arm9/lib/NitroSDK/include/OS_init.h
index f0b80220..f0b80220 100644
--- a/arm9/lib/include/OS_init.h
+++ b/arm9/lib/NitroSDK/include/OS_init.h
diff --git a/arm9/lib/include/OS_interrupt.h b/arm9/lib/NitroSDK/include/OS_interrupt.h
index 130ad2de..19dd0da2 100644
--- a/arm9/lib/include/OS_interrupt.h
+++ b/arm9/lib/NitroSDK/include/OS_interrupt.h
@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_ARM9_OS_INTERRUPT_H
#define POKEDIAMOND_ARM9_OS_INTERRUPT_H
-#include "consts.h"
+#include "registers.h"
#include "nitro/OS_interrupt_shared.h"
#define REG_OS_IME_IME_SHIFT 0
diff --git a/arm9/lib/include/OS_irqHandler.h b/arm9/lib/NitroSDK/include/OS_irqHandler.h
index ea12a0ad..e845298b 100644
--- a/arm9/lib/include/OS_irqHandler.h
+++ b/arm9/lib/NitroSDK/include/OS_irqHandler.h
@@ -1,8 +1,8 @@
#ifndef POKEDIAMOND_OS_IRQHANDLER_H
#define POKEDIAMOND_OS_IRQHANDLER_H
-#include "consts.h"
#include "OS_interrupt.h"
+#include "mmap.h"
static inline void OS_ClearIrqCheckFlag(OSIrqMask intr)
{
diff --git a/arm9/lib/include/OS_irqTable.h b/arm9/lib/NitroSDK/include/OS_irqTable.h
index 10165a11..ba8b45a8 100644
--- a/arm9/lib/include/OS_irqTable.h
+++ b/arm9/lib/NitroSDK/include/OS_irqTable.h
@@ -1,7 +1,7 @@
#ifndef POKEDIAMOND_ARM9_OS_IRQTABLE_H
#define POKEDIAMOND_ARM9_OS_IRQTABLE_H
-#include "consts.h"
+#include "mmap.h"
#include "OS_interrupt.h"
void OS_IrqDummy(void);
diff --git a/arm9/lib/include/OS_message.h b/arm9/lib/NitroSDK/include/OS_message.h
index b9c570db..b9c570db 100644
--- a/arm9/lib/include/OS_message.h
+++ b/arm9/lib/NitroSDK/include/OS_message.h
diff --git a/arm9/lib/include/OS_mutex.h b/arm9/lib/NitroSDK/include/OS_mutex.h
index 23e4337e..23e4337e 100644
--- a/arm9/lib/include/OS_mutex.h
+++ b/arm9/lib/NitroSDK/include/OS_mutex.h
diff --git a/arm9/lib/include/OS_ownerInfo.h b/arm9/lib/NitroSDK/include/OS_ownerInfo.h
index 13bae06e..13bae06e 100644
--- a/arm9/lib/include/OS_ownerInfo.h
+++ b/arm9/lib/NitroSDK/include/OS_ownerInfo.h
diff --git a/arm9/lib/include/OS_printf.h b/arm9/lib/NitroSDK/include/OS_printf.h
index acb7f8c7..acb7f8c7 100644
--- a/arm9/lib/include/OS_printf.h
+++ b/arm9/lib/NitroSDK/include/OS_printf.h
diff --git a/arm9/lib/include/OS_protectionRegion.h b/arm9/lib/NitroSDK/include/OS_protectionRegion.h
index 00b7ae63..00b7ae63 100644
--- a/arm9/lib/include/OS_protectionRegion.h
+++ b/arm9/lib/NitroSDK/include/OS_protectionRegion.h
diff --git a/arm9/lib/include/OS_protectionUnit.h b/arm9/lib/NitroSDK/include/OS_protectionUnit.h
index e7dc32d8..e7dc32d8 100644
--- a/arm9/lib/include/OS_protectionUnit.h
+++ b/arm9/lib/NitroSDK/include/OS_protectionUnit.h
diff --git a/arm9/lib/include/OS_reset.h b/arm9/lib/NitroSDK/include/OS_reset.h
index b5d43bad..756de9fb 100644
--- a/arm9/lib/include/OS_reset.h
+++ b/arm9/lib/NitroSDK/include/OS_reset.h
@@ -1,9 +1,8 @@
#ifndef POKEDIAMOND_ARM9_OS_RESET_H
#define POKEDIAMOND_ARM9_OS_RESET_H
-#include "consts.h"
#include "nitro/OS_reset_shared.h"
-#include "PXI_fifo.h"
+#include "mmap.h"
void OS_InitReset(void);
void OS_ResetSystem(u32 parameter);
diff --git a/arm9/lib/include/OS_spinLock.h b/arm9/lib/NitroSDK/include/OS_spinLock.h
index 09c2cf2c..09c2cf2c 100644
--- a/arm9/lib/include/OS_spinLock.h
+++ b/arm9/lib/NitroSDK/include/OS_spinLock.h
diff --git a/arm9/lib/include/OS_system.h b/arm9/lib/NitroSDK/include/OS_system.h
index 37dbbd76..37dbbd76 100644
--- a/arm9/lib/include/OS_system.h
+++ b/arm9/lib/NitroSDK/include/OS_system.h
diff --git a/arm9/lib/include/OS_tcm.h b/arm9/lib/NitroSDK/include/OS_tcm.h
index 66f8ec59..66f8ec59 100644
--- a/arm9/lib/include/OS_tcm.h
+++ b/arm9/lib/NitroSDK/include/OS_tcm.h
diff --git a/arm9/lib/include/OS_terminate_proc.h b/arm9/lib/NitroSDK/include/OS_terminate_proc.h
index b4553fb4..b4553fb4 100644
--- a/arm9/lib/include/OS_terminate_proc.h
+++ b/arm9/lib/NitroSDK/include/OS_terminate_proc.h
diff --git a/arm9/lib/include/OS_thread.h b/arm9/lib/NitroSDK/include/OS_thread.h
index e330e219..e330e219 100644
--- a/arm9/lib/include/OS_thread.h
+++ b/arm9/lib/NitroSDK/include/OS_thread.h
diff --git a/arm9/lib/include/OS_tick.h b/arm9/lib/NitroSDK/include/OS_tick.h
index e0b6ea39..e0b6ea39 100644
--- a/arm9/lib/include/OS_tick.h
+++ b/arm9/lib/NitroSDK/include/OS_tick.h
diff --git a/arm9/lib/include/OS_timer.h b/arm9/lib/NitroSDK/include/OS_timer.h
index 4a10041b..4a10041b 100644
--- a/arm9/lib/include/OS_timer.h
+++ b/arm9/lib/NitroSDK/include/OS_timer.h
diff --git a/arm9/lib/include/OS_valarm.h b/arm9/lib/NitroSDK/include/OS_valarm.h
index b4850f9d..b4850f9d 100644
--- a/arm9/lib/include/OS_valarm.h
+++ b/arm9/lib/NitroSDK/include/OS_valarm.h
diff --git a/arm9/lib/include/OS_vramExclusive.h b/arm9/lib/NitroSDK/include/OS_vramExclusive.h
index d7c3ef92..d7c3ef92 100644
--- a/arm9/lib/include/OS_vramExclusive.h
+++ b/arm9/lib/NitroSDK/include/OS_vramExclusive.h
diff --git a/arm9/lib/include/PAD_pad.h b/arm9/lib/NitroSDK/include/PAD_pad.h
index a4b5d570..f3de4198 100644
--- a/arm9/lib/include/PAD_pad.h
+++ b/arm9/lib/NitroSDK/include/PAD_pad.h
@@ -1,7 +1,7 @@
#ifndef NITRO_PAD_PAD_H_
#define NITRO_PAD_PAD_H_
-#include "consts.h"
+#include "registers.h"
//================================================================================
// BUTTONS
diff --git a/arm9/lib/include/PXI_fifo.h b/arm9/lib/NitroSDK/include/PXI_fifo.h
index b1ca33f3..b1ca33f3 100644
--- a/arm9/lib/include/PXI_fifo.h
+++ b/arm9/lib/NitroSDK/include/PXI_fifo.h
diff --git a/arm9/lib/include/PXI_init.h b/arm9/lib/NitroSDK/include/PXI_init.h
index 5c330c9c..5c330c9c 100644
--- a/arm9/lib/include/PXI_init.h
+++ b/arm9/lib/NitroSDK/include/PXI_init.h
diff --git a/arm9/lib/include/RTC_api.h b/arm9/lib/NitroSDK/include/RTC_api.h
index 09efde7e..09efde7e 100644
--- a/arm9/lib/include/RTC_api.h
+++ b/arm9/lib/NitroSDK/include/RTC_api.h
diff --git a/arm9/lib/include/RTC_convert.h b/arm9/lib/NitroSDK/include/RTC_convert.h
index a75928b9..a75928b9 100644
--- a/arm9/lib/include/RTC_convert.h
+++ b/arm9/lib/NitroSDK/include/RTC_convert.h
diff --git a/arm9/lib/include/RTC_internal.h b/arm9/lib/NitroSDK/include/RTC_internal.h
index 440d8b95..440d8b95 100644
--- a/arm9/lib/include/RTC_internal.h
+++ b/arm9/lib/NitroSDK/include/RTC_internal.h
diff --git a/arm9/lib/include/SND_alarm.h b/arm9/lib/NitroSDK/include/SND_alarm.h
index cf5db862..07b77f45 100644
--- a/arm9/lib/include/SND_alarm.h
+++ b/arm9/lib/NitroSDK/include/SND_alarm.h
@@ -2,24 +2,13 @@
#define GUARD_SND_ALARM_H
#include "global.h"
-#include "OS_alarm.h"
+#include "nitro/SND_alarm_shared.h"
typedef void (*SNDAlarmCallback)(void *);
-struct SNDAlarm {
- u8 enable; // 0x00
- u8 id; // 0x01
- u16 unk_2; // 0x02
- OSTick tick; // 0x04
- OSTick period; // 0x0C
- OSAlarm alarm; // 0x14
-}; // size = 0x40
-
void SND_AlarmInit(void);
void SNDi_IncAlarmId(u32 idx);
u8 SNDi_SetAlarmHandler(u32 idx, SNDAlarmCallback cb, void *data);
void SNDi_CallAlarmHandler(s32 idx);
-#define SND_ALARM_COUNT 8
-
#endif
diff --git a/arm9/lib/include/SND_bank.h b/arm9/lib/NitroSDK/include/SND_bank.h
index b9000d57..b9000d57 100644
--- a/arm9/lib/include/SND_bank.h
+++ b/arm9/lib/NitroSDK/include/SND_bank.h
diff --git a/arm9/lib/include/SND_command.h b/arm9/lib/NitroSDK/include/SND_command.h
index ff392833..ff392833 100644
--- a/arm9/lib/include/SND_command.h
+++ b/arm9/lib/NitroSDK/include/SND_command.h
diff --git a/arm9/lib/include/SND_interface.h b/arm9/lib/NitroSDK/include/SND_interface.h
index bd2c3869..d0898f85 100644
--- a/arm9/lib/include/SND_interface.h
+++ b/arm9/lib/NitroSDK/include/SND_interface.h
@@ -4,6 +4,7 @@
#include "global.h"
#include "SND_bank.h"
#include "SND_work.h"
+#include "SND_alarm.h"
void SND_StartSeq(s32 player, const void *seqBasePtr, u32 seqOffset, struct SNDBankData *bankData);
void SND_StopSeq(s32 player);
diff --git a/arm9/lib/NitroSDK/include/SND_main.h b/arm9/lib/NitroSDK/include/SND_main.h
new file mode 100644
index 00000000..8fa9364e
--- /dev/null
+++ b/arm9/lib/NitroSDK/include/SND_main.h
@@ -0,0 +1,26 @@
+#ifndef GUARD_SND_MAIN_H
+#define GUARD_SND_MAIN_H
+
+#include "global.h"
+
+#include "nitro/SND_main_shared.h"
+
+void SNDi_UnlockMutex(void);
+void SNDi_LockMutex(void);
+void SND_Init(void);
+
+struct SNDBinaryFileHeader {
+ s8 signature[4]; // 0x0
+ u16 byteOrder; // 0x4
+ u16 version; // 0x6
+ u32 fileSize; // 0x8
+ u16 headerSize; // 0xC
+ u16 dataBlocks; // 0xE
+}; // size = 0x10
+
+typedef struct SNDBinaryBlockHeader {
+ u32 type; // 0x0
+ u32 size; // 0x4
+} SNDBinaryBlockHeader; // size = 0x8
+
+#endif // GUARD_SND_MAIN_H
diff --git a/arm9/lib/include/SND_util.h b/arm9/lib/NitroSDK/include/SND_util.h
index 4137459a..4137459a 100644
--- a/arm9/lib/include/SND_util.h
+++ b/arm9/lib/NitroSDK/include/SND_util.h
diff --git a/arm9/lib/include/SND_work.h b/arm9/lib/NitroSDK/include/SND_work.h
index dec2bd71..a8a3d62b 100644
--- a/arm9/lib/include/SND_work.h
+++ b/arm9/lib/NitroSDK/include/SND_work.h
@@ -4,31 +4,7 @@
#include "global.h"
#include "SND_main.h"
-#include "SND_alarm.h"
-
-#define SND_PLAYER_COUNT 16
-#define SND_CHANNEL_COUNT 16
-#define SND_TRACK_COUNT 32
-
-struct SNDWork {
- struct SNDExChannel channels[SND_CHANNEL_COUNT]; // 0x00
- struct SNDPlayer players[SND_PLAYER_COUNT]; // 0x540
- struct SNDTrack tracks[SND_TRACK_COUNT]; // 0x780
- struct SNDAlarm alarms[SND_ALARM_COUNT]; // 0xF80
-}; // size = 0x1180
-
-struct SNDSharedWork {
- u32 finishedCommandTag; // 0x0
- u32 playerStatus; // 0x4
- u16 channelStatus; // 0x8
- u16 captureStatus; // 0xA
- u8 unk_C[0x14]; // 0xC
- struct {
- s16 localVars[16]; // local 0x0
- u32 tickCounter; // local 0x20
- } players[SND_PLAYER_COUNT]; // 0x20
- s16 globalVars[16]; // 0x260
-}; // size = 0x280
+#include "nitro/SND_work_shared.h"
struct SNDDriverInfo {
struct SNDWork work; // 0x0000
diff --git a/arm9/lib/include/SPI_mic.h b/arm9/lib/NitroSDK/include/SPI_mic.h
index 79588fe9..79588fe9 100644
--- a/arm9/lib/include/SPI_mic.h
+++ b/arm9/lib/NitroSDK/include/SPI_mic.h
diff --git a/arm9/lib/include/SPI_pm.h b/arm9/lib/NitroSDK/include/SPI_pm.h
index 95f94f24..95f94f24 100644
--- a/arm9/lib/include/SPI_pm.h
+++ b/arm9/lib/NitroSDK/include/SPI_pm.h
diff --git a/arm9/lib/NitroSDK/include/WM.h b/arm9/lib/NitroSDK/include/WM.h
new file mode 100644
index 00000000..ad287292
--- /dev/null
+++ b/arm9/lib/NitroSDK/include/WM.h
@@ -0,0 +1,61 @@
+#ifndef POKEDIAMOND_WM_H
+#define POKEDIAMOND_WM_H
+
+#include "nitro/types.h"
+
+typedef struct WMDataSet
+{
+ u16 aidBitmap;
+ u16 receivedBitmap;
+ u16 data[508 / sizeof(u16)];
+} WMDataSet;
+
+typedef struct WMDataSharingInfo
+{
+ WMDataSet ds[4];
+ u16 seqNum[4];
+ u16 writeIndex;
+ u16 sendIndex;
+ u16 readIndex;
+ u16 aidBitmap;
+ u16 dataLength;
+ u16 stationNumber;
+ u16 dataSetLength;
+ u16 port;
+ u16 doubleMode;
+ u16 currentSeqNum;
+ u16 state;
+ u16 reserved[1];
+} WMDataSharingInfo;
+
+typedef WMDataSharingInfo WMKeySetBuf;
+
+typedef enum WMErrCode
+{
+ WM_ERRCODE_SUCCESS = 0,
+ WM_ERRCODE_FAILED = 1,
+ WM_ERRCODE_OPERATING = 2,
+ WM_ERRCODE_ILLEGAL_STATE = 3,
+ WM_ERRCODE_WM_DISABLE = 4,
+ WM_ERRCODE_NO_KEYSET = 5,
+ WM_ERRCODE_NO_DATASET = 5,
+ WM_ERRCODE_INVALID_PARAM = 6,
+ WM_ERRCODE_NO_CHILD = 7,
+ WM_ERRCODE_FIFO_ERROR = 8,
+ WM_ERRCODE_TIMEOUT = 9,
+ WM_ERRCODE_SEND_QUEUE_FULL = 10,
+ WM_ERRCODE_NO_ENTRY = 11,
+ WM_ERRCODE_OVER_MAX_ENTRY = 12,
+ WM_ERRCODE_INVALID_POLLBITMAP = 13,
+ WM_ERRCODE_NO_DATA = 14,
+ WM_ERRCODE_SEND_FAILED = 15,
+
+ WM_ERRCODE_DCF_TEST,
+ WM_ERRCODE_WL_INVALID_PARAM,
+ WM_ERRCODE_WL_LENGTH_ERR,
+
+ WM_ERRCODE_FLASH_ERROR,
+ WM_ERRCODE_MAX
+} WMErrCode;
+
+#endif //POKEDIAMOND_WM_H
diff --git a/arm9/lib/NitroSDK/include/WM_ks.h b/arm9/lib/NitroSDK/include/WM_ks.h
new file mode 100644
index 00000000..0eeb6b1b
--- /dev/null
+++ b/arm9/lib/NitroSDK/include/WM_ks.h
@@ -0,0 +1,9 @@
+#ifndef POKEDIAMOND_WM_KS_H
+#define POKEDIAMOND_WM_KS_H
+
+#include "WM.h"
+
+WMErrCode WM_StartKeySharing(WMKeySetBuf *buf, u16 port);
+WMErrCode WM_EndKeySharing(WMKeySetBuf *buf);
+
+#endif //POKEDIAMOND_WM_KS_H
diff --git a/arm9/lib/include/consts.h b/arm9/lib/NitroSDK/include/consts.h
index 1ad79b93..127339ca 100644
--- a/arm9/lib/include/consts.h
+++ b/arm9/lib/NitroSDK/include/consts.h
@@ -2,9 +2,6 @@
#define POKEDIAMOND_ARM9_CONSTS_H
#include "nitro/consts_shared.h"
-#include "mmap.h"
-#include "registers.h"
-#include "systemWork.h"
#define HW_C5_PERMIT_MASK 0xf
diff --git a/arm9/lib/include/custom_allocator.h b/arm9/lib/NitroSDK/include/custom_allocator.h
index 0a42ae13..0a42ae13 100644
--- a/arm9/lib/include/custom_allocator.h
+++ b/arm9/lib/NitroSDK/include/custom_allocator.h
diff --git a/arm9/lib/include/dgt.h b/arm9/lib/NitroSDK/include/dgt.h
index 97916f1b..97916f1b 100644
--- a/arm9/lib/include/dgt.h
+++ b/arm9/lib/NitroSDK/include/dgt.h
diff --git a/arm9/lib/include/fx.h b/arm9/lib/NitroSDK/include/fx.h
index de851f62..59c759ab 100644
--- a/arm9/lib/include/fx.h
+++ b/arm9/lib/NitroSDK/include/fx.h
@@ -1,7 +1,7 @@
#ifndef GUARD_FX_H
#define GUARD_FX_H
-#include "FX_types.h"
+#include "nitro/FX_types.h"
#include "GX_g3_util.h"
//FX
diff --git a/arm9/lib/include/gx.h b/arm9/lib/NitroSDK/include/gx.h
index 7e6606fa..7e6606fa 100644
--- a/arm9/lib/include/gx.h
+++ b/arm9/lib/NitroSDK/include/gx.h
diff --git a/arm9/lib/include/math.h b/arm9/lib/NitroSDK/include/math.h
index 085aa24f..085aa24f 100644
--- a/arm9/lib/include/math.h
+++ b/arm9/lib/NitroSDK/include/math.h
diff --git a/arm9/lib/include/mmap.h b/arm9/lib/NitroSDK/include/mmap.h
index 69e9c696..69e9c696 100644
--- a/arm9/lib/include/mmap.h
+++ b/arm9/lib/NitroSDK/include/mmap.h
diff --git a/arm9/lib/include/nitro.h b/arm9/lib/NitroSDK/include/nitro.h
index ea7503cc..ea7503cc 100644
--- a/arm9/lib/include/nitro.h
+++ b/arm9/lib/NitroSDK/include/nitro.h
diff --git a/arm9/lib/include/registers.h b/arm9/lib/NitroSDK/include/registers.h
index b4fd8ce7..b4fd8ce7 100644
--- a/arm9/lib/include/registers.h
+++ b/arm9/lib/NitroSDK/include/registers.h
diff --git a/arm9/lib/include/syscall.h b/arm9/lib/NitroSDK/include/syscall.h
index 8e7962df..8e7962df 100644
--- a/arm9/lib/include/syscall.h
+++ b/arm9/lib/NitroSDK/include/syscall.h
diff --git a/arm9/lib/include/systemWork.h b/arm9/lib/NitroSDK/include/systemWork.h
index b7660985..1e3ba46b 100644
--- a/arm9/lib/include/systemWork.h
+++ b/arm9/lib/NitroSDK/include/systemWork.h
@@ -1,7 +1,6 @@
#ifndef POKEDIAMOND_ARM9_SYSTEMWORK_H
#define POKEDIAMOND_ARM9_SYSTEMWORK_H
-#include "OS_context.h"
#include "nitro/OS_systemWork_shared.h"
#endif //POKEDIAMOND_ARM9_SYSTEMWORK_H
diff --git a/arm9/lib/include/tp.h b/arm9/lib/NitroSDK/include/tp.h
index dc762f10..dc762f10 100644
--- a/arm9/lib/include/tp.h
+++ b/arm9/lib/NitroSDK/include/tp.h
diff --git a/arm9/lib/include/userInfo.h b/arm9/lib/NitroSDK/include/userInfo.h
index 690dcf54..690dcf54 100644
--- a/arm9/lib/include/userInfo.h
+++ b/arm9/lib/NitroSDK/include/userInfo.h
diff --git a/arm9/lib/src/CARD_backup.c b/arm9/lib/NitroSDK/src/CARD_backup.c
index 714ac479..714ac479 100644
--- a/arm9/lib/src/CARD_backup.c
+++ b/arm9/lib/NitroSDK/src/CARD_backup.c
diff --git a/arm9/lib/src/CARD_common.c b/arm9/lib/NitroSDK/src/CARD_common.c
index f820027e..fd66c7ce 100644
--- a/arm9/lib/src/CARD_common.c
+++ b/arm9/lib/NitroSDK/src/CARD_common.c
@@ -8,6 +8,7 @@
#include "OS_cache.h"
#include "MB_mb.h"
#include "PXI_fifo.h"
+#include "mmap.h"
CARDiCommon cardi_common ALIGN(32);
static CARDiCommandArg cardi_arg ALIGN(32);
diff --git a/arm9/lib/src/CARD_pullOut.c b/arm9/lib/NitroSDK/src/CARD_pullOut.c
index 3456df48..d5c7737f 100644
--- a/arm9/lib/src/CARD_pullOut.c
+++ b/arm9/lib/NitroSDK/src/CARD_pullOut.c
@@ -8,6 +8,7 @@
#include "PAD_pad.h"
#include "SPI_pm.h"
#include "syscall.h"
+#include "mmap.h"
static CARDPulledOutCallback CARD_UserCallback;
static BOOL CARDi_IsPulledOutFlag = FALSE;
diff --git a/arm9/lib/src/CARD_request.c b/arm9/lib/NitroSDK/src/CARD_request.c
index 098fe7a5..098fe7a5 100644
--- a/arm9/lib/src/CARD_request.c
+++ b/arm9/lib/NitroSDK/src/CARD_request.c
diff --git a/arm9/lib/src/CARD_rom.c b/arm9/lib/NitroSDK/src/CARD_rom.c
index 6d6b1ff8..6d6b1ff8 100644
--- a/arm9/lib/src/CARD_rom.c
+++ b/arm9/lib/NitroSDK/src/CARD_rom.c
diff --git a/arm9/lib/src/CARD_spi.c b/arm9/lib/NitroSDK/src/CARD_spi.c
index 5f02b276..5f02b276 100644
--- a/arm9/lib/src/CARD_spi.c
+++ b/arm9/lib/NitroSDK/src/CARD_spi.c
diff --git a/arm9/lib/src/CP_context.c b/arm9/lib/NitroSDK/src/CP_context.c
index 4e928c06..6567f516 100644
--- a/arm9/lib/src/CP_context.c
+++ b/arm9/lib/NitroSDK/src/CP_context.c
@@ -1,6 +1,6 @@
#include "CP_context.h"
#include "function_target.h"
-#include "consts.h"
+#include "registers.h"
ARM_FUNC asm void CP_SaveContext(register CPContext *context)
{
diff --git a/arm9/lib/src/CTRDG_backup.c b/arm9/lib/NitroSDK/src/CTRDG_backup.c
index dc1a3f4b..dc1a3f4b 100644
--- a/arm9/lib/src/CTRDG_backup.c
+++ b/arm9/lib/NitroSDK/src/CTRDG_backup.c
diff --git a/arm9/lib/src/CTRDG_common.c b/arm9/lib/NitroSDK/src/CTRDG_common.c
index 3d80cf24..df3ec0b6 100644
--- a/arm9/lib/src/CTRDG_common.c
+++ b/arm9/lib/NitroSDK/src/CTRDG_common.c
@@ -7,6 +7,7 @@
#include "PXI_fifo.h"
#include "MI_dma.h"
#include "MI_memory.h"
+#include "mmap.h"
CTRDGWork CTRDGi_Work;
diff --git a/arm9/lib/src/CTRDG_flash_AT29LV512.c b/arm9/lib/NitroSDK/src/CTRDG_flash_AT29LV512.c
index b1d09738..b1d09738 100644
--- a/arm9/lib/src/CTRDG_flash_AT29LV512.c
+++ b/arm9/lib/NitroSDK/src/CTRDG_flash_AT29LV512.c
diff --git a/arm9/lib/src/FS_archive.c b/arm9/lib/NitroSDK/src/FS_archive.c
index 01f794f8..01f794f8 100644
--- a/arm9/lib/src/FS_archive.c
+++ b/arm9/lib/NitroSDK/src/FS_archive.c
diff --git a/arm9/lib/src/FS_command.c b/arm9/lib/NitroSDK/src/FS_command.c
index e677f6c6..e677f6c6 100644
--- a/arm9/lib/src/FS_command.c
+++ b/arm9/lib/NitroSDK/src/FS_command.c
diff --git a/arm9/lib/src/FS_command_default.c b/arm9/lib/NitroSDK/src/FS_command_default.c
index 0cdc91fc..0cdc91fc 100644
--- a/arm9/lib/src/FS_command_default.c
+++ b/arm9/lib/NitroSDK/src/FS_command_default.c
diff --git a/arm9/lib/src/FS_file.c b/arm9/lib/NitroSDK/src/FS_file.c
index 11595c02..11595c02 100644
--- a/arm9/lib/src/FS_file.c
+++ b/arm9/lib/NitroSDK/src/FS_file.c
diff --git a/arm9/lib/src/FS_overlay.c b/arm9/lib/NitroSDK/src/FS_overlay.c
index de64d97d..de64d97d 100644
--- a/arm9/lib/src/FS_overlay.c
+++ b/arm9/lib/NitroSDK/src/FS_overlay.c
diff --git a/arm9/lib/src/FS_rom.c b/arm9/lib/NitroSDK/src/FS_rom.c
index 09098dfe..09098dfe 100644
--- a/arm9/lib/src/FS_rom.c
+++ b/arm9/lib/NitroSDK/src/FS_rom.c
diff --git a/arm9/lib/src/FX.c b/arm9/lib/NitroSDK/src/FX.c
index ea730538..ea730538 100644
--- a/arm9/lib/src/FX.c
+++ b/arm9/lib/NitroSDK/src/FX.c
diff --git a/arm9/lib/src/FX_atan.c b/arm9/lib/NitroSDK/src/FX_atan.c
index ef2a662d..ef2a662d 100644
--- a/arm9/lib/src/FX_atan.c
+++ b/arm9/lib/NitroSDK/src/FX_atan.c
diff --git a/arm9/lib/src/FX_cp.c b/arm9/lib/NitroSDK/src/FX_cp.c
index c8069146..0c5d4ff8 100644
--- a/arm9/lib/src/FX_cp.c
+++ b/arm9/lib/NitroSDK/src/FX_cp.c
@@ -1,6 +1,8 @@
-#include "global.h"
#include "fx.h"
+#include "global.h"
+#include "registers.h"
+
ARM_FUNC fx32 FX_Div(fx32 numerator, fx32 denominator){
FX_DivAsync(numerator, denominator);
diff --git a/arm9/lib/src/FX_mtx22.c b/arm9/lib/NitroSDK/src/FX_mtx22.c
index a74bb25c..a74bb25c 100644
--- a/arm9/lib/src/FX_mtx22.c
+++ b/arm9/lib/NitroSDK/src/FX_mtx22.c
diff --git a/arm9/lib/src/FX_mtx33.c b/arm9/lib/NitroSDK/src/FX_mtx33.c
index 86169ea0..86169ea0 100644
--- a/arm9/lib/src/FX_mtx33.c
+++ b/arm9/lib/NitroSDK/src/FX_mtx33.c
diff --git a/arm9/lib/src/FX_mtx43.c b/arm9/lib/NitroSDK/src/FX_mtx43.c
index 693dddff..693dddff 100644
--- a/arm9/lib/src/FX_mtx43.c
+++ b/arm9/lib/NitroSDK/src/FX_mtx43.c
diff --git a/arm9/lib/src/FX_mtx44.c b/arm9/lib/NitroSDK/src/FX_mtx44.c
index c72f6158..c72f6158 100644
--- a/arm9/lib/src/FX_mtx44.c
+++ b/arm9/lib/NitroSDK/src/FX_mtx44.c
diff --git a/arm9/lib/src/FX_sincos.c b/arm9/lib/NitroSDK/src/FX_sincos.c
index 89c8fc78..89c8fc78 100644
--- a/arm9/lib/src/FX_sincos.c
+++ b/arm9/lib/NitroSDK/src/FX_sincos.c
diff --git a/arm9/lib/src/FX_vec.c b/arm9/lib/NitroSDK/src/FX_vec.c
index 8550b54a..18d0939f 100644
--- a/arm9/lib/src/FX_vec.c
+++ b/arm9/lib/NitroSDK/src/FX_vec.c
@@ -1,4 +1,5 @@
-#include "global.h"
+#include "function_target.h"
+#include "registers.h"
#include "fx.h"
ARM_FUNC void VEC_Add(const struct Vecx32 *a, const struct Vecx32 *b, struct Vecx32 *dst){
diff --git a/arm9/lib/src/GX.c b/arm9/lib/NitroSDK/src/GX.c
index 688e41b7..f47c0131 100644
--- a/arm9/lib/src/GX.c
+++ b/arm9/lib/NitroSDK/src/GX.c
@@ -1,6 +1,9 @@
-#include "global.h"
#include "gx.h"
+#include "global.h"
+#include "OS_spinLock.h"
+#include "OS_terminate_proc.h"
+
u32 GXi_DmaId = 3;
vu16 GXi_VRamLockId = 0;
diff --git a/arm9/lib/src/GX_asm.c b/arm9/lib/NitroSDK/src/GX_asm.c
index 1eb0a011..1eb0a011 100644
--- a/arm9/lib/src/GX_asm.c
+++ b/arm9/lib/NitroSDK/src/GX_asm.c
diff --git a/arm9/lib/src/GX_bgcnt.c b/arm9/lib/NitroSDK/src/GX_bgcnt.c
index 91a67655..91a67655 100644
--- a/arm9/lib/src/GX_bgcnt.c
+++ b/arm9/lib/NitroSDK/src/GX_bgcnt.c
diff --git a/arm9/lib/src/GX_g2.c b/arm9/lib/NitroSDK/src/GX_g2.c
index 39b8bff4..39b8bff4 100644
--- a/arm9/lib/src/GX_g2.c
+++ b/arm9/lib/NitroSDK/src/GX_g2.c
diff --git a/arm9/lib/src/GX_g3.c b/arm9/lib/NitroSDK/src/GX_g3.c
index 45b6b11b..45b6b11b 100644
--- a/arm9/lib/src/GX_g3.c
+++ b/arm9/lib/NitroSDK/src/GX_g3.c
diff --git a/arm9/lib/src/GX_g3_util.c b/arm9/lib/NitroSDK/src/GX_g3_util.c
index b4fdd0cc..b4fdd0cc 100644
--- a/arm9/lib/src/GX_g3_util.c
+++ b/arm9/lib/NitroSDK/src/GX_g3_util.c
diff --git a/arm9/lib/src/GX_g3b.c b/arm9/lib/NitroSDK/src/GX_g3b.c
index a3b96a0b..a3b96a0b 100644
--- a/arm9/lib/src/GX_g3b.c
+++ b/arm9/lib/NitroSDK/src/GX_g3b.c
diff --git a/arm9/lib/src/GX_g3imm.c b/arm9/lib/NitroSDK/src/GX_g3imm.c
index 1798338e..1798338e 100644
--- a/arm9/lib/src/GX_g3imm.c
+++ b/arm9/lib/NitroSDK/src/GX_g3imm.c
diff --git a/arm9/lib/src/GX_g3x.c b/arm9/lib/NitroSDK/src/GX_g3x.c
index 9954c4cb..9954c4cb 100644
--- a/arm9/lib/src/GX_g3x.c
+++ b/arm9/lib/NitroSDK/src/GX_g3x.c
diff --git a/arm9/lib/src/GX_load2d.c b/arm9/lib/NitroSDK/src/GX_load2d.c
index 6bff54be..6bff54be 100644
--- a/arm9/lib/src/GX_load2d.c
+++ b/arm9/lib/NitroSDK/src/GX_load2d.c
diff --git a/arm9/lib/src/GX_load3d.c b/arm9/lib/NitroSDK/src/GX_load3d.c
index ae15f32e..ae15f32e 100644
--- a/arm9/lib/src/GX_load3d.c
+++ b/arm9/lib/NitroSDK/src/GX_load3d.c
diff --git a/arm9/lib/src/GX_state.c b/arm9/lib/NitroSDK/src/GX_state.c
index 003e42b5..003e42b5 100644
--- a/arm9/lib/src/GX_state.c
+++ b/arm9/lib/NitroSDK/src/GX_state.c
diff --git a/arm9/lib/src/GX_vramcnt.c b/arm9/lib/NitroSDK/src/GX_vramcnt.c
index abfcd77e..abfcd77e 100644
--- a/arm9/lib/src/GX_vramcnt.c
+++ b/arm9/lib/NitroSDK/src/GX_vramcnt.c
diff --git a/arm9/lib/src/MATH_crc.c b/arm9/lib/NitroSDK/src/MATH_crc.c
index cf8cc64c..cf8cc64c 100644
--- a/arm9/lib/src/MATH_crc.c
+++ b/arm9/lib/NitroSDK/src/MATH_crc.c
diff --git a/arm9/lib/src/MATH_dgt.c b/arm9/lib/NitroSDK/src/MATH_dgt.c
index 6bb90d99..6bb90d99 100644
--- a/arm9/lib/src/MATH_dgt.c
+++ b/arm9/lib/NitroSDK/src/MATH_dgt.c
diff --git a/arm9/lib/src/MATH_pop.c b/arm9/lib/NitroSDK/src/MATH_pop.c
index 18582494..18582494 100644
--- a/arm9/lib/src/MATH_pop.c
+++ b/arm9/lib/NitroSDK/src/MATH_pop.c
diff --git a/arm9/lib/src/MI_dma.c b/arm9/lib/NitroSDK/src/MI_dma.c
index f322f87f..f322f87f 100644
--- a/arm9/lib/src/MI_dma.c
+++ b/arm9/lib/NitroSDK/src/MI_dma.c
diff --git a/arm9/lib/src/MI_dma_card.c b/arm9/lib/NitroSDK/src/MI_dma_card.c
index c3b8b897..c3b8b897 100644
--- a/arm9/lib/src/MI_dma_card.c
+++ b/arm9/lib/NitroSDK/src/MI_dma_card.c
diff --git a/arm9/lib/src/MI_dma_gxcommand.c b/arm9/lib/NitroSDK/src/MI_dma_gxcommand.c
index 26231999..26231999 100644
--- a/arm9/lib/src/MI_dma_gxcommand.c
+++ b/arm9/lib/NitroSDK/src/MI_dma_gxcommand.c
diff --git a/arm9/lib/src/MI_dma_hblank.c b/arm9/lib/NitroSDK/src/MI_dma_hblank.c
index 67e579fe..67e579fe 100644
--- a/arm9/lib/src/MI_dma_hblank.c
+++ b/arm9/lib/NitroSDK/src/MI_dma_hblank.c
diff --git a/arm9/lib/src/MI_init.c b/arm9/lib/NitroSDK/src/MI_init.c
index 4c861286..4c861286 100644
--- a/arm9/lib/src/MI_init.c
+++ b/arm9/lib/NitroSDK/src/MI_init.c
diff --git a/arm9/lib/src/MI_memory.c b/arm9/lib/NitroSDK/src/MI_memory.c
index a97ff167..a97ff167 100644
--- a/arm9/lib/src/MI_memory.c
+++ b/arm9/lib/NitroSDK/src/MI_memory.c
diff --git a/arm9/lib/src/MI_swap.c b/arm9/lib/NitroSDK/src/MI_swap.c
index b72e1386..b72e1386 100644
--- a/arm9/lib/src/MI_swap.c
+++ b/arm9/lib/NitroSDK/src/MI_swap.c
diff --git a/arm9/lib/src/MI_uncompress.c b/arm9/lib/NitroSDK/src/MI_uncompress.c
index c6ad7e4e..c6ad7e4e 100644
--- a/arm9/lib/src/MI_uncompress.c
+++ b/arm9/lib/NitroSDK/src/MI_uncompress.c
diff --git a/arm9/lib/src/MI_wram.c b/arm9/lib/NitroSDK/src/MI_wram.c
index a65bbb6f..c1433f07 100644
--- a/arm9/lib/src/MI_wram.c
+++ b/arm9/lib/NitroSDK/src/MI_wram.c
@@ -1,7 +1,8 @@
-#include "function_target.h"
-#include "consts.h"
#include "MI_wram.h"
+#include "global.h"
+#include "registers.h"
+
ARM_FUNC void MI_SetWramBank(MIWram cnt)
{
reg_GX_VRAMCNT_WRAM = (u8)cnt;
diff --git a/arm9/lib/src/OS_alarm.c b/arm9/lib/NitroSDK/src/OS_alarm.c
index a8c1fedd..a8c1fedd 100644
--- a/arm9/lib/src/OS_alarm.c
+++ b/arm9/lib/NitroSDK/src/OS_alarm.c
diff --git a/arm9/lib/src/OS_alloc.c b/arm9/lib/NitroSDK/src/OS_alloc.c
index 00028d3c..dc84151b 100644
--- a/arm9/lib/src/OS_alloc.c
+++ b/arm9/lib/NitroSDK/src/OS_alloc.c
@@ -1,167 +1,167 @@
-//
-// Created by mart on 4/23/20.
-//
-#include "function_target.h"
-#include "OS_alloc.h"
-#include "consts.h"
-#include "OS_system.h"
-
-void* OSiHeapInfo[OS_ARENA_MAX];
-
-ARM_FUNC Cell* DLAddFront(Cell* list, Cell* cell)
-{
- cell->next = list;
- cell->prev = NULL;
-
- if (list != NULL)
- list->prev = cell;
- return cell;
-}
-
-ARM_FUNC Cell* DLExtract(Cell* list, Cell* cell)
-{
- if (cell->next) {
- cell->next->prev = cell->prev;
- }
- if (cell->prev == NULL) {
- list = cell->next;
- } else {
- cell->prev->next = cell->next;
- }
- return list;
-}
-
-ARM_FUNC Cell *DLInsert(Cell *original, Cell *inserted)
-{
- Cell *prevCell = NULL;
- Cell *nextCell = original;
-
-
- for (nextCell = original, prevCell = NULL; nextCell; prevCell = nextCell, nextCell = nextCell->next)
- {
- if (inserted <= nextCell)
- break;
- }
-
- inserted->next = nextCell;
- inserted->prev = prevCell;
-
- if (nextCell != NULL)
- {
- nextCell->prev = inserted;
- Cell * temp = (Cell *)((char *)inserted + inserted->size);
- if (temp == nextCell)
- {
- inserted->size += nextCell->size;
- nextCell = nextCell->next;
- inserted->next = nextCell;
- if (nextCell != NULL)
- nextCell->prev = inserted;
- }
- }
-
- if (prevCell != NULL)
- {
- prevCell->next = inserted;
- Cell * temp = (Cell *)((char *)prevCell + prevCell->size);
-
- if (temp != inserted)
- return original;
-
- prevCell->size += inserted->size;
- prevCell->next = nextCell;
- if (nextCell != NULL)
- nextCell->prev = prevCell;
-
- return original;
- }
-
- return inserted;
-}
-
-#define HEADERSIZE OSi_ROUND(sizeof(Cell), 32)
-#define MINOBJSIZE (HEADERSIZE+32)
-
-ARM_FUNC void* OS_AllocFromHeap(OSArenaId id, OSHeapHandle heap, u32 size) {
- OSHeapInfo* heapInfo;
- HeapDesc* hd;
- Cell* cell;
- Cell* newCell;
- long leftoverSize;
-
- OSIntrMode enabled = OS_DisableInterrupts();
- heapInfo = OSiHeapInfo[id];
- if (!heapInfo) {
- (void)OS_RestoreInterrupts(enabled);
- return NULL;
- }
-
- if (heap < 0) {
- heap = heapInfo->currentHeap;
- }
-
- hd = &heapInfo->heapArray[heap];
-
- size += HEADERSIZE;
- size = OSi_ROUND(size, 32);
-
- for (cell = hd->free; cell != NULL; cell = cell->next) {
- if ((long)size <= cell->size) {
- break;
- }
- }
-
- if (cell == NULL) {
- (void)OS_RestoreInterrupts(enabled);
- return NULL;
- }
-
- leftoverSize = cell->size - (long)size;
- if (leftoverSize < MINOBJSIZE) {
- hd->free = DLExtract(hd->free, cell);
- } else {
- cell->size = (long)size;
-
- newCell = (Cell *) ((char *)cell + size);
- newCell->size = leftoverSize;
-
- newCell->prev = cell->prev;
- newCell->next = cell->next;
-
- if (newCell->next != NULL) {
- newCell->next->prev = newCell;
- }
-
- if (newCell->prev != NULL) {
- newCell->prev->next = newCell;
- } else {
- hd->free = newCell;
- }
- }
-
- hd->allocated = DLAddFront(hd->allocated, cell);
-
- (void)OS_RestoreInterrupts(enabled);
- return (void *)((char *)cell + HEADERSIZE);
-}
-
-ARM_FUNC void OS_FreeToHeap(OSArenaId id, OSHeapHandle heap, void* ptr) {
- OSHeapInfo *heapInfo;
- HeapDesc *hd;
- Cell *cell;
-
- OSIntrMode enabled = OS_DisableInterrupts();
- heapInfo = OSiHeapInfo[id];
-
- if (heap < 0) {
- heap = heapInfo->currentHeap;
- }
-
- cell = (Cell *) ((char *)ptr - HEADERSIZE);
- hd = &heapInfo->heapArray[heap];
-
- hd->allocated = DLExtract(hd->allocated, cell);
- hd->free = DLInsert(hd->free, cell);
-
- (void)OS_RestoreInterrupts(enabled);
-}
+//
+// Created by mart on 4/23/20.
+//
+#include "function_target.h"
+#include "OS_alloc.h"
+#include "consts.h"
+#include "OS_system.h"
+
+void* OSiHeapInfo[OS_ARENA_MAX];
+
+ARM_FUNC Cell* DLAddFront(Cell* list, Cell* cell)
+{
+ cell->next = list;
+ cell->prev = NULL;
+
+ if (list != NULL)
+ list->prev = cell;
+ return cell;
+}
+
+ARM_FUNC Cell* DLExtract(Cell* list, Cell* cell)
+{
+ if (cell->next) {
+ cell->next->prev = cell->prev;
+ }
+ if (cell->prev == NULL) {
+ list = cell->next;
+ } else {
+ cell->prev->next = cell->next;
+ }
+ return list;
+}
+
+ARM_FUNC Cell *DLInsert(Cell *original, Cell *inserted)
+{
+ Cell *prevCell = NULL;
+ Cell *nextCell = original;
+
+
+ for (nextCell = original, prevCell = NULL; nextCell; prevCell = nextCell, nextCell = nextCell->next)
+ {
+ if (inserted <= nextCell)
+ break;
+ }
+
+ inserted->next = nextCell;
+ inserted->prev = prevCell;
+
+ if (nextCell != NULL)
+ {
+ nextCell->prev = inserted;
+ Cell * temp = (Cell *)((char *)inserted + inserted->size);
+ if (temp == nextCell)
+ {
+ inserted->size += nextCell->size;
+ nextCell = nextCell->next;
+ inserted->next = nextCell;
+ if (nextCell != NULL)
+ nextCell->prev = inserted;
+ }
+ }
+
+ if (prevCell != NULL)
+ {
+ prevCell->next = inserted;
+ Cell * temp = (Cell *)((char *)prevCell + prevCell->size);
+
+ if (temp != inserted)
+ return original;
+
+ prevCell->size += inserted->size;
+ prevCell->next = nextCell;
+ if (nextCell != NULL)
+ nextCell->prev = prevCell;
+
+ return original;
+ }
+
+ return inserted;
+}
+
+#define HEADERSIZE OSi_ROUND(sizeof(Cell), 32)
+#define MINOBJSIZE (HEADERSIZE+32)
+
+ARM_FUNC void* OS_AllocFromHeap(OSArenaId id, OSHeapHandle heap, u32 size) {
+ OSHeapInfo* heapInfo;
+ HeapDesc* hd;
+ Cell* cell;
+ Cell* newCell;
+ long leftoverSize;
+
+ OSIntrMode enabled = OS_DisableInterrupts();
+ heapInfo = OSiHeapInfo[id];
+ if (!heapInfo) {
+ (void)OS_RestoreInterrupts(enabled);
+ return NULL;
+ }
+
+ if (heap < 0) {
+ heap = heapInfo->currentHeap;
+ }
+
+ hd = &heapInfo->heapArray[heap];
+
+ size += HEADERSIZE;
+ size = OSi_ROUND(size, 32);
+
+ for (cell = hd->free; cell != NULL; cell = cell->next) {
+ if ((long)size <= cell->size) {
+ break;
+ }
+ }
+
+ if (cell == NULL) {
+ (void)OS_RestoreInterrupts(enabled);
+ return NULL;
+ }
+
+ leftoverSize = cell->size - (long)size;
+ if (leftoverSize < MINOBJSIZE) {
+ hd->free = DLExtract(hd->free, cell);
+ } else {
+ cell->size = (long)size;
+
+ newCell = (Cell *) ((char *)cell + size);
+ newCell->size = leftoverSize;
+
+ newCell->prev = cell->prev;
+ newCell->next = cell->next;
+
+ if (newCell->next != NULL) {
+ newCell->next->prev = newCell;
+ }
+
+ if (newCell->prev != NULL) {
+ newCell->prev->next = newCell;
+ } else {
+ hd->free = newCell;
+ }
+ }
+
+ hd->allocated = DLAddFront(hd->allocated, cell);
+
+ (void)OS_RestoreInterrupts(enabled);
+ return (void *)((char *)cell + HEADERSIZE);
+}
+
+ARM_FUNC void OS_FreeToHeap(OSArenaId id, OSHeapHandle heap, void* ptr) {
+ OSHeapInfo *heapInfo;
+ HeapDesc *hd;
+ Cell *cell;
+
+ OSIntrMode enabled = OS_DisableInterrupts();
+ heapInfo = OSiHeapInfo[id];
+
+ if (heap < 0) {
+ heap = heapInfo->currentHeap;
+ }
+
+ cell = (Cell *) ((char *)ptr - HEADERSIZE);
+ hd = &heapInfo->heapArray[heap];
+
+ hd->allocated = DLExtract(hd->allocated, cell);
+ hd->free = DLInsert(hd->free, cell);
+
+ (void)OS_RestoreInterrupts(enabled);
+}
diff --git a/arm9/lib/src/OS_arena.c b/arm9/lib/NitroSDK/src/OS_arena.c
index df9c2fd8..cc9694c2 100644
--- a/arm9/lib/src/OS_arena.c
+++ b/arm9/lib/NitroSDK/src/OS_arena.c
@@ -1,167 +1,168 @@
-#include "function_target.h"
-#include "consts.h"
-#include "OS_arena.h"
-#include "OS_protectionRegion.h"
-#include "OS_emulator.h"
-
-static BOOL OSi_Initialized = FALSE;
-static BOOL OSi_MainExArenaEnabled = FALSE;
-
-void SDK_MAIN_ARENA_LO(); // TODO: technically this should be defined in the lcf
-extern void SDK_SECTION_ARENA_EX_START(); // TODO: technically this should be defined in the lcf
-extern void SDK_SECTION_ARENA_ITCM_START(); // TODO: technically this should be defined in the lcf
-extern void SDK_SECTION_ARENA_DTCM_START(); // TODO: technically this should be defined in the lcf
-extern void SDK_IRQ_STACKSIZE(); // TODO: technically this should be defined in the lcf
-extern void SDK_SYS_STACKSIZE(); // TODO: technically this should be defined in the lcf
-
-ARM_FUNC void OS_InitArena(void) {
- if (OSi_Initialized) {
- return;
- }
- OSi_Initialized = TRUE;
-
- OS_SetArenaHi(OS_ARENA_MAIN, OS_GetInitArenaHi(OS_ARENA_MAIN));
- OS_SetArenaLo(OS_ARENA_MAIN, OS_GetInitArenaLo(OS_ARENA_MAIN));
-
- OS_SetArenaLo(OS_ARENA_MAINEX, (void *)0);
- OS_SetArenaHi(OS_ARENA_MAINEX, (void *)0);
-
- OS_SetArenaHi(OS_ARENA_ITCM, OS_GetInitArenaHi(OS_ARENA_ITCM));
- OS_SetArenaLo(OS_ARENA_ITCM, OS_GetInitArenaLo(OS_ARENA_ITCM));
-
- OS_SetArenaHi(OS_ARENA_DTCM, OS_GetInitArenaHi(OS_ARENA_DTCM));
- OS_SetArenaLo(OS_ARENA_DTCM, OS_GetInitArenaLo(OS_ARENA_DTCM));
-
- OS_SetArenaHi(OS_ARENA_SHARED, OS_GetInitArenaHi(OS_ARENA_SHARED));
- OS_SetArenaLo(OS_ARENA_SHARED, OS_GetInitArenaLo(OS_ARENA_SHARED));
-
- OS_SetArenaHi(OS_ARENA_WRAM_MAIN, OS_GetInitArenaHi(OS_ARENA_WRAM_MAIN));
- OS_SetArenaLo(OS_ARENA_WRAM_MAIN, OS_GetInitArenaLo(OS_ARENA_WRAM_MAIN));
-}
-
-ARM_FUNC void OS_InitArenaEx(void) {
- OS_SetArenaHi(OS_ARENA_MAINEX, OS_GetInitArenaHi(OS_ARENA_MAINEX));
- OS_SetArenaLo(OS_ARENA_MAINEX, OS_GetInitArenaLo(OS_ARENA_MAINEX));
-
- if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
- OS_SetProtectionRegion(1, HW_MAIN_MEM, 4MB);
- OS_SetProtectionRegion(2, HW_MAIN_MEM_MAIN_END, 128KB);
- }
-}
-
-ARM_FUNC void* OS_GetArenaHi(OSArenaId id) {
- return OSi_GetArenaInfo().hi[id];
-}
-
-ARM_FUNC void* OS_GetArenaLo(OSArenaId id) {
- return OSi_GetArenaInfo().lo[id];
-}
-
-ARM_FUNC void* OS_GetInitArenaHi(OSArenaId id) {
- switch (id) {
- case OS_ARENA_MAIN:
- return (void *)OSi_MAIN_ARENA_HI_DEFAULT;
- case OS_ARENA_MAINEX:
- if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
- return (void *)0;
- } else {
- return (void *)OSi_MAINEX_ARENA_HI_DEFAULT;
- }
- case OS_ARENA_ITCM:
- return (void *)HW_ITCM_ARENA_HI_DEFAULT;
- case OS_ARENA_DTCM:
- {
- u32 irqStackLo = (u32) HW_DTCM_IRQ_STACK_END - (s32) SDK_IRQ_STACKSIZE;
- u32 sysStackLo;
-
- if (!(s32) SDK_SYS_STACKSIZE) {
- sysStackLo = HW_DTCM;
- if (sysStackLo < (u32) SDK_SECTION_ARENA_DTCM_START) {
- sysStackLo = (u32) SDK_SECTION_ARENA_DTCM_START;
- }
- } else if ((s32) SDK_SYS_STACKSIZE < 0) {
- sysStackLo = (u32) SDK_SECTION_ARENA_DTCM_START - (s32) SDK_SYS_STACKSIZE;
- } else {
- sysStackLo = irqStackLo - (s32) SDK_SYS_STACKSIZE;
- }
- return (void *) sysStackLo;
- }
- case OS_ARENA_SHARED:
- return (void *)HW_SHARED_ARENA_HI_DEFAULT;
- case OS_ARENA_WRAM_MAIN:
- return (void *)OSi_WRAM_MAIN_ARENA_HI_DEFAULT;
- default:
- return NULL;
- }
-}
-
-ARM_FUNC void* OS_GetInitArenaLo(OSArenaId id) {
- switch (id) {
- case OS_ARENA_MAIN:
- return (void *)SDK_MAIN_ARENA_LO;
- case OS_ARENA_MAINEX:
- if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
- return NULL;
- } else {
- return (void *)SDK_SECTION_ARENA_EX_START;
- }
- case OS_ARENA_ITCM:
- return (void *)SDK_SECTION_ARENA_ITCM_START;
- case OS_ARENA_DTCM:
- return (void *)SDK_SECTION_ARENA_DTCM_START;
- case OS_ARENA_SHARED:
- return (void *)HW_SHARED_ARENA_LO_DEFAULT;
- case OS_ARENA_WRAM_MAIN:
- return (void *)OSi_WRAM_MAIN_ARENA_LO_DEFAULT;
- default:
- return NULL;
- }
-}
-
-ARM_FUNC void OS_SetArenaHi(OSArenaId id, void* newHi) {
- OSi_GetArenaInfo().hi[id] = newHi;
-}
-
-ARM_FUNC void OS_SetArenaLo(OSArenaId id, void* newLo) {
- OSi_GetArenaInfo().lo[id] = newLo;
-}
-
-ARM_FUNC void* OS_AllocFromArenaLo(OSArenaId id, u32 size, u32 align) {
- void* ptr;
- u8* arenaLo;
- ptr = OS_GetArenaLo(id);
- if (!ptr) {
- return NULL;
- }
- arenaLo = ptr = (void *)OSi_ROUND(ptr, align);
- arenaLo += size;
- arenaLo = (u8 *)OSi_ROUND(arenaLo, align);
- if (arenaLo > (u8*)OS_GetArenaHi(id)) {
- return NULL;
- }
- OS_SetArenaLo(id, arenaLo);
-
- return ptr;
-}
-
-ARM_FUNC void* OS_AllocFromArenaHi(OSArenaId id, u32 size, u32 align) {
- void* ptr;
- u8* arenaHi;
-
- arenaHi = OS_GetArenaHi(id);
- if (!arenaHi) {
- return NULL;
- }
-
- arenaHi = (u8 *)OSi_TRUNC(arenaHi, align);
- arenaHi -= size;
- arenaHi = ptr = (void *)OSi_TRUNC(arenaHi, align);
-
- if (arenaHi < (u8*)OS_GetArenaLo(id)) {
- return NULL;
- }
-
- OS_SetArenaHi(id, arenaHi);
-
- return ptr;
-}
+#include "OS_arena.h"
+
+#include "global.h"
+#include "OS_protectionRegion.h"
+#include "OS_emulator.h"
+#include "mmap.h"
+
+static BOOL OSi_Initialized = FALSE;
+static BOOL OSi_MainExArenaEnabled = FALSE;
+
+void SDK_MAIN_ARENA_LO(); // TODO: technically this should be defined in the lcf
+extern void SDK_SECTION_ARENA_EX_START(); // TODO: technically this should be defined in the lcf
+extern void SDK_SECTION_ARENA_ITCM_START(); // TODO: technically this should be defined in the lcf
+extern void SDK_SECTION_ARENA_DTCM_START(); // TODO: technically this should be defined in the lcf
+extern void SDK_IRQ_STACKSIZE(); // TODO: technically this should be defined in the lcf
+extern void SDK_SYS_STACKSIZE(); // TODO: technically this should be defined in the lcf
+
+ARM_FUNC void OS_InitArena(void) {
+ if (OSi_Initialized) {
+ return;
+ }
+ OSi_Initialized = TRUE;
+
+ OS_SetArenaHi(OS_ARENA_MAIN, OS_GetInitArenaHi(OS_ARENA_MAIN));
+ OS_SetArenaLo(OS_ARENA_MAIN, OS_GetInitArenaLo(OS_ARENA_MAIN));
+
+ OS_SetArenaLo(OS_ARENA_MAINEX, (void *)0);
+ OS_SetArenaHi(OS_ARENA_MAINEX, (void *)0);
+
+ OS_SetArenaHi(OS_ARENA_ITCM, OS_GetInitArenaHi(OS_ARENA_ITCM));
+ OS_SetArenaLo(OS_ARENA_ITCM, OS_GetInitArenaLo(OS_ARENA_ITCM));
+
+ OS_SetArenaHi(OS_ARENA_DTCM, OS_GetInitArenaHi(OS_ARENA_DTCM));
+ OS_SetArenaLo(OS_ARENA_DTCM, OS_GetInitArenaLo(OS_ARENA_DTCM));
+
+ OS_SetArenaHi(OS_ARENA_SHARED, OS_GetInitArenaHi(OS_ARENA_SHARED));
+ OS_SetArenaLo(OS_ARENA_SHARED, OS_GetInitArenaLo(OS_ARENA_SHARED));
+
+ OS_SetArenaHi(OS_ARENA_WRAM_MAIN, OS_GetInitArenaHi(OS_ARENA_WRAM_MAIN));
+ OS_SetArenaLo(OS_ARENA_WRAM_MAIN, OS_GetInitArenaLo(OS_ARENA_WRAM_MAIN));
+}
+
+ARM_FUNC void OS_InitArenaEx(void) {
+ OS_SetArenaHi(OS_ARENA_MAINEX, OS_GetInitArenaHi(OS_ARENA_MAINEX));
+ OS_SetArenaLo(OS_ARENA_MAINEX, OS_GetInitArenaLo(OS_ARENA_MAINEX));
+
+ if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
+ OS_SetProtectionRegion(1, HW_MAIN_MEM, 4MB);
+ OS_SetProtectionRegion(2, HW_MAIN_MEM_MAIN_END, 128KB);
+ }
+}
+
+ARM_FUNC void* OS_GetArenaHi(OSArenaId id) {
+ return OSi_GetArenaInfo().hi[id];
+}
+
+ARM_FUNC void* OS_GetArenaLo(OSArenaId id) {
+ return OSi_GetArenaInfo().lo[id];
+}
+
+ARM_FUNC void* OS_GetInitArenaHi(OSArenaId id) {
+ switch (id) {
+ case OS_ARENA_MAIN:
+ return (void *)OSi_MAIN_ARENA_HI_DEFAULT;
+ case OS_ARENA_MAINEX:
+ if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
+ return (void *)0;
+ } else {
+ return (void *)OSi_MAINEX_ARENA_HI_DEFAULT;
+ }
+ case OS_ARENA_ITCM:
+ return (void *)HW_ITCM_ARENA_HI_DEFAULT;
+ case OS_ARENA_DTCM:
+ {
+ u32 irqStackLo = (u32) HW_DTCM_IRQ_STACK_END - (s32) SDK_IRQ_STACKSIZE;
+ u32 sysStackLo;
+
+ if (!(s32) SDK_SYS_STACKSIZE) {
+ sysStackLo = HW_DTCM;
+ if (sysStackLo < (u32) SDK_SECTION_ARENA_DTCM_START) {
+ sysStackLo = (u32) SDK_SECTION_ARENA_DTCM_START;
+ }
+ } else if ((s32) SDK_SYS_STACKSIZE < 0) {
+ sysStackLo = (u32) SDK_SECTION_ARENA_DTCM_START - (s32) SDK_SYS_STACKSIZE;
+ } else {
+ sysStackLo = irqStackLo - (s32) SDK_SYS_STACKSIZE;
+ }
+ return (void *) sysStackLo;
+ }
+ case OS_ARENA_SHARED:
+ return (void *)HW_SHARED_ARENA_HI_DEFAULT;
+ case OS_ARENA_WRAM_MAIN:
+ return (void *)OSi_WRAM_MAIN_ARENA_HI_DEFAULT;
+ default:
+ return NULL;
+ }
+}
+
+ARM_FUNC void* OS_GetInitArenaLo(OSArenaId id) {
+ switch (id) {
+ case OS_ARENA_MAIN:
+ return (void *)SDK_MAIN_ARENA_LO;
+ case OS_ARENA_MAINEX:
+ if (!OSi_MainExArenaEnabled || (OS_GetConsoleType() & OS_CONSOLE_SIZE_MASK) == OS_CONSOLE_SIZE_4MB) {
+ return NULL;
+ } else {
+ return (void *)SDK_SECTION_ARENA_EX_START;
+ }
+ case OS_ARENA_ITCM:
+ return (void *)SDK_SECTION_ARENA_ITCM_START;
+ case OS_ARENA_DTCM:
+ return (void *)SDK_SECTION_ARENA_DTCM_START;
+ case OS_ARENA_SHARED:
+ return (void *)HW_SHARED_ARENA_LO_DEFAULT;
+ case OS_ARENA_WRAM_MAIN:
+ return (void *)OSi_WRAM_MAIN_ARENA_LO_DEFAULT;
+ default:
+ return NULL;
+ }
+}
+
+ARM_FUNC void OS_SetArenaHi(OSArenaId id, void* newHi) {
+ OSi_GetArenaInfo().hi[id] = newHi;
+}
+
+ARM_FUNC void OS_SetArenaLo(OSArenaId id, void* newLo) {
+ OSi_GetArenaInfo().lo[id] = newLo;
+}
+
+ARM_FUNC void* OS_AllocFromArenaLo(OSArenaId id, u32 size, u32 align) {
+ void* ptr;
+ u8* arenaLo;
+ ptr = OS_GetArenaLo(id);
+ if (!ptr) {
+ return NULL;
+ }
+ arenaLo = ptr = (void *)OSi_ROUND(ptr, align);
+ arenaLo += size;
+ arenaLo = (u8 *)OSi_ROUND(arenaLo, align);
+ if (arenaLo > (u8*)OS_GetArenaHi(id)) {
+ return NULL;
+ }
+ OS_SetArenaLo(id, arenaLo);
+
+ return ptr;
+}
+
+ARM_FUNC void* OS_AllocFromArenaHi(OSArenaId id, u32 size, u32 align) {
+ void* ptr;
+ u8* arenaHi;
+
+ arenaHi = OS_GetArenaHi(id);
+ if (!arenaHi) {
+ return NULL;
+ }
+
+ arenaHi = (u8 *)OSi_TRUNC(arenaHi, align);
+ arenaHi -= size;
+ arenaHi = ptr = (void *)OSi_TRUNC(arenaHi, align);
+
+ if (arenaHi < (u8*)OS_GetArenaLo(id)) {
+ return NULL;
+ }
+
+ OS_SetArenaHi(id, arenaHi);
+
+ return ptr;
+}
diff --git a/arm9/lib/src/OS_cache.c b/arm9/lib/NitroSDK/src/OS_cache.c
index 8b202fda..8b202fda 100644
--- a/arm9/lib/src/OS_cache.c
+++ b/arm9/lib/NitroSDK/src/OS_cache.c
diff --git a/arm9/lib/src/OS_context.c b/arm9/lib/NitroSDK/src/OS_context.c
index 38b722ba..38b722ba 100644
--- a/arm9/lib/src/OS_context.c
+++ b/arm9/lib/NitroSDK/src/OS_context.c
diff --git a/arm9/lib/src/OS_emulator.c b/arm9/lib/NitroSDK/src/OS_emulator.c
index e92a7d9d..e92a7d9d 100644
--- a/arm9/lib/src/OS_emulator.c
+++ b/arm9/lib/NitroSDK/src/OS_emulator.c
diff --git a/arm9/lib/src/OS_entropy.c b/arm9/lib/NitroSDK/src/OS_entropy.c
index b33781cc..5d466f82 100644
--- a/arm9/lib/src/OS_entropy.c
+++ b/arm9/lib/NitroSDK/src/OS_entropy.c
@@ -2,10 +2,13 @@
// Created by red031000 on 2020-05-03.
//
-#include "function_target.h"
-#include "consts.h"
#include "OS_entropy.h"
+#include "global.h"
+#include "registers.h"
+#include "systemWork.h"
+#include "userInfo.h"
+
ARM_FUNC void OS_GetLowEntropyData(u32 * arr)
{
const OSSystemWork* work = OS_GetSystemWork();
diff --git a/arm9/lib/src/OS_exception.c b/arm9/lib/NitroSDK/src/OS_exception.c
index 3aaaa2f2..63cd6d58 100644
--- a/arm9/lib/src/OS_exception.c
+++ b/arm9/lib/NitroSDK/src/OS_exception.c
@@ -1,6 +1,8 @@
#include "OS_exception.h"
-#include "function_target.h"
+
+#include "global.h"
#include "OS_protectionUnit.h"
+#include "mmap.h"
static OSiExContext OSi_ExContext;
diff --git a/arm9/lib/src/OS_init.c b/arm9/lib/NitroSDK/src/OS_init.c
index d1465625..d1465625 100644
--- a/arm9/lib/src/OS_init.c
+++ b/arm9/lib/NitroSDK/src/OS_init.c
diff --git a/arm9/lib/src/OS_interrupt.c b/arm9/lib/NitroSDK/src/OS_interrupt.c
index c7c0704d..699c7929 100644
--- a/arm9/lib/src/OS_interrupt.c
+++ b/arm9/lib/NitroSDK/src/OS_interrupt.c
@@ -1,6 +1,8 @@
-#include "consts.h"
-#include "function_target.h"
#include "OS_interrupt.h"
+
+#include "global.h"
+#include "registers.h"
+#include "mmap.h"
#include "OS_thread.h"
#pragma optimize_for_size on
diff --git a/arm9/lib/src/OS_irqHandler.c b/arm9/lib/NitroSDK/src/OS_irqHandler.c
index b4e2d232..b4e2d232 100644
--- a/arm9/lib/src/OS_irqHandler.c
+++ b/arm9/lib/NitroSDK/src/OS_irqHandler.c
diff --git a/arm9/lib/src/OS_irqTable.c b/arm9/lib/NitroSDK/src/OS_irqTable.c
index cc2a3a55..cc2a3a55 100644
--- a/arm9/lib/src/OS_irqTable.c
+++ b/arm9/lib/NitroSDK/src/OS_irqTable.c
diff --git a/arm9/lib/src/OS_message.c b/arm9/lib/NitroSDK/src/OS_message.c
index 3b5c33b0..3b5c33b0 100644
--- a/arm9/lib/src/OS_message.c
+++ b/arm9/lib/NitroSDK/src/OS_message.c
diff --git a/arm9/lib/src/OS_mutex.c b/arm9/lib/NitroSDK/src/OS_mutex.c
index 5eb999a9..5eb999a9 100644
--- a/arm9/lib/src/OS_mutex.c
+++ b/arm9/lib/NitroSDK/src/OS_mutex.c
diff --git a/arm9/lib/src/OS_ownerInfo.c b/arm9/lib/NitroSDK/src/OS_ownerInfo.c
index 10a638fb..6693f73f 100644
--- a/arm9/lib/src/OS_ownerInfo.c
+++ b/arm9/lib/NitroSDK/src/OS_ownerInfo.c
@@ -1,5 +1,7 @@
-#include "function_target.h"
#include "OS_ownerInfo.h"
+
+#include "global.h"
+#include "systemWork.h"
#include "MI_memory.h"
ARM_FUNC void OS_GetMacAddress(u8 *macAddress)
diff --git a/arm9/lib/src/OS_printf.c b/arm9/lib/NitroSDK/src/OS_printf.c
index 414f0db9..414f0db9 100644
--- a/arm9/lib/src/OS_printf.c
+++ b/arm9/lib/NitroSDK/src/OS_printf.c
diff --git a/arm9/lib/src/OS_protectionRegion.c b/arm9/lib/NitroSDK/src/OS_protectionRegion.c
index 4b8d8297..4b8d8297 100644
--- a/arm9/lib/src/OS_protectionRegion.c
+++ b/arm9/lib/NitroSDK/src/OS_protectionRegion.c
diff --git a/arm9/lib/src/OS_protectionUnit.c b/arm9/lib/NitroSDK/src/OS_protectionUnit.c
index 66811a1e..66811a1e 100644
--- a/arm9/lib/src/OS_protectionUnit.c
+++ b/arm9/lib/NitroSDK/src/OS_protectionUnit.c
diff --git a/arm9/lib/src/OS_reset.c b/arm9/lib/NitroSDK/src/OS_reset.c
index 45d2bb13..083f2321 100644
--- a/arm9/lib/src/OS_reset.c
+++ b/arm9/lib/NitroSDK/src/OS_reset.c
@@ -1,5 +1,6 @@
-#include "function_target.h"
#include "OS_reset.h"
+
+#include "global.h"
#include "MB_mb.h"
#include "OS_terminate_proc.h"
#include "OS_interrupt.h"
diff --git a/arm9/lib/src/OS_spinLock.c b/arm9/lib/NitroSDK/src/OS_spinLock.c
index c0398be9..576e03ad 100644
--- a/arm9/lib/src/OS_spinLock.c
+++ b/arm9/lib/NitroSDK/src/OS_spinLock.c
@@ -3,9 +3,10 @@
//
#include "OS_spinLock.h"
+
#include "OS_system.h"
#include "function_target.h"
-#include "consts.h"
+#include "mmap.h"
#include "MI_exMemory.h"
extern void MIi_CpuClear32(u32 param1, void * addr, u32 length); //not too sure about names
diff --git a/arm9/lib/src/OS_system.c b/arm9/lib/NitroSDK/src/OS_system.c
index f5f5faba..f5f5faba 100644
--- a/arm9/lib/src/OS_system.c
+++ b/arm9/lib/NitroSDK/src/OS_system.c
diff --git a/arm9/lib/src/OS_tcm.c b/arm9/lib/NitroSDK/src/OS_tcm.c
index 5b6ab552..5b6ab552 100644
--- a/arm9/lib/src/OS_tcm.c
+++ b/arm9/lib/NitroSDK/src/OS_tcm.c
diff --git a/arm9/lib/src/OS_terminate_proc.c b/arm9/lib/NitroSDK/src/OS_terminate_proc.c
index fdc4dbff..fdc4dbff 100644
--- a/arm9/lib/src/OS_terminate_proc.c
+++ b/arm9/lib/NitroSDK/src/OS_terminate_proc.c
diff --git a/arm9/lib/src/OS_thread.c b/arm9/lib/NitroSDK/src/OS_thread.c
index 35e91c22..a52b1f6d 100644
--- a/arm9/lib/src/OS_thread.c
+++ b/arm9/lib/NitroSDK/src/OS_thread.c
@@ -6,7 +6,8 @@
#include "OS_system.h"
#include "OS_context.h"
#include "OS_terminate_proc.h"
-#include "consts.h"
+#include "systemWork.h"
+#include "mmap.h"
extern void SDK_SYS_STACKSIZE(void);
extern void SDK_IRQ_STACKSIZE(void);
diff --git a/arm9/lib/src/OS_tick.c b/arm9/lib/NitroSDK/src/OS_tick.c
index b0e81054..b0e81054 100644
--- a/arm9/lib/src/OS_tick.c
+++ b/arm9/lib/NitroSDK/src/OS_tick.c
diff --git a/arm9/lib/src/OS_timer.c b/arm9/lib/NitroSDK/src/OS_timer.c
index 69a1a6cd..69a1a6cd 100644
--- a/arm9/lib/src/OS_timer.c
+++ b/arm9/lib/NitroSDK/src/OS_timer.c
diff --git a/arm9/lib/src/OS_valarm.c b/arm9/lib/NitroSDK/src/OS_valarm.c
index 37329147..37329147 100644
--- a/arm9/lib/src/OS_valarm.c
+++ b/arm9/lib/NitroSDK/src/OS_valarm.c
diff --git a/arm9/lib/src/OS_vramExclusive.c b/arm9/lib/NitroSDK/src/OS_vramExclusive.c
index 5ce10f4a..5ce10f4a 100644
--- a/arm9/lib/src/OS_vramExclusive.c
+++ b/arm9/lib/NitroSDK/src/OS_vramExclusive.c
diff --git a/arm9/lib/src/PXI_fifo.c b/arm9/lib/NitroSDK/src/PXI_fifo.c
index 35db1c7f..35db1c7f 100644
--- a/arm9/lib/src/PXI_fifo.c
+++ b/arm9/lib/NitroSDK/src/PXI_fifo.c
diff --git a/arm9/lib/src/PXI_init.c b/arm9/lib/NitroSDK/src/PXI_init.c
index d70ca3b0..d70ca3b0 100644
--- a/arm9/lib/src/PXI_init.c
+++ b/arm9/lib/NitroSDK/src/PXI_init.c
diff --git a/arm9/lib/src/RTC_convert.c b/arm9/lib/NitroSDK/src/RTC_convert.c
index 3d0bb2ce..3d0bb2ce 100644
--- a/arm9/lib/src/RTC_convert.c
+++ b/arm9/lib/NitroSDK/src/RTC_convert.c
diff --git a/arm9/lib/src/RTC_internal.c b/arm9/lib/NitroSDK/src/RTC_internal.c
index e3a132ab..e3a132ab 100644
--- a/arm9/lib/src/RTC_internal.c
+++ b/arm9/lib/NitroSDK/src/RTC_internal.c
diff --git a/arm9/lib/src/SND_alarm.c b/arm9/lib/NitroSDK/src/SND_alarm.c
index e216c02c..e216c02c 100644
--- a/arm9/lib/src/SND_alarm.c
+++ b/arm9/lib/NitroSDK/src/SND_alarm.c
diff --git a/arm9/lib/src/SND_bank.c b/arm9/lib/NitroSDK/src/SND_bank.c
index 44075454..44075454 100644
--- a/arm9/lib/src/SND_bank.c
+++ b/arm9/lib/NitroSDK/src/SND_bank.c
diff --git a/arm9/lib/src/SND_command.c b/arm9/lib/NitroSDK/src/SND_command.c
index 4ad80be5..044d960f 100644
--- a/arm9/lib/src/SND_command.c
+++ b/arm9/lib/NitroSDK/src/SND_command.c
@@ -1,7 +1,10 @@
+#include "SND_alarm.h"
#include "SND_command.h"
#include "SND_work.h"
+#include "OS_emulator.h"
#include "OS_system.h"
#include "OS_cache.h"
+#include "PXI_fifo.h"
#define SND_CMD_WAIT_QUEUE_COUNT 8
diff --git a/arm9/lib/src/SND_interface.c b/arm9/lib/NitroSDK/src/SND_interface.c
index 42b5ff42..42b5ff42 100644
--- a/arm9/lib/src/SND_interface.c
+++ b/arm9/lib/NitroSDK/src/SND_interface.c
diff --git a/arm9/lib/src/SND_main.c b/arm9/lib/NitroSDK/src/SND_main.c
index f97b0873..f97b0873 100644
--- a/arm9/lib/src/SND_main.c
+++ b/arm9/lib/NitroSDK/src/SND_main.c
diff --git a/arm9/lib/src/SND_util.c b/arm9/lib/NitroSDK/src/SND_util.c
index 6ff8cb14..6ff8cb14 100644
--- a/arm9/lib/src/SND_util.c
+++ b/arm9/lib/NitroSDK/src/SND_util.c
diff --git a/arm9/lib/src/SND_work.c b/arm9/lib/NitroSDK/src/SND_work.c
index ca9208d6..ca9208d6 100644
--- a/arm9/lib/src/SND_work.c
+++ b/arm9/lib/NitroSDK/src/SND_work.c
diff --git a/arm9/lib/NitroSDK/src/WM_ks.c b/arm9/lib/NitroSDK/src/WM_ks.c
new file mode 100644
index 00000000..93e96f89
--- /dev/null
+++ b/arm9/lib/NitroSDK/src/WM_ks.c
@@ -0,0 +1,15 @@
+#include "WM_ks.h"
+#include "function_target.h"
+
+extern WMErrCode WM_StartDataSharing(WMKeySetBuf *buf, u16 port, u16 aidBitmap, u16 dataLength, BOOL doubleMode);
+extern WMErrCode WM_EndDataSharing(WMKeySetBuf *buf);
+
+ARM_FUNC WMErrCode WM_StartKeySharing(WMKeySetBuf *buf, u16 port)
+{
+ return WM_StartDataSharing(buf, port, 0xffff, 2, TRUE);
+}
+
+ARM_FUNC WMErrCode WM_EndKeySharing(WMKeySetBuf *buf)
+{
+ return WM_EndDataSharing(buf);
+}
diff --git a/arm9/lib/src/crt0.c b/arm9/lib/NitroSDK/src/crt0.c
index 4e46cb63..4e46cb63 100644
--- a/arm9/lib/src/crt0.c
+++ b/arm9/lib/NitroSDK/src/crt0.c
diff --git a/arm9/lib/src/custom_allocator.c b/arm9/lib/NitroSDK/src/custom_allocator.c
index 1b1375bc..283c3500 100644
--- a/arm9/lib/src/custom_allocator.c
+++ b/arm9/lib/NitroSDK/src/custom_allocator.c
@@ -1,6 +1,8 @@
-#include "global.h"
#include "custom_allocator.h"
+#include "global.h"
+#include "OS_alloc.h"
+
static FreeFunc sDestructor;
static AllocFunc sAllocator;
diff --git a/arm9/lib/src/version_1_dwc.c b/arm9/lib/NitroSDK/src/version_1_dwc.c
index 713aed0d..713aed0d 100644
--- a/arm9/lib/src/version_1_dwc.c
+++ b/arm9/lib/NitroSDK/src/version_1_dwc.c
diff --git a/arm9/lib/src/version_2_wifi.c b/arm9/lib/NitroSDK/src/version_2_wifi.c
index e5db89e4..e5db89e4 100644
--- a/arm9/lib/src/version_2_wifi.c
+++ b/arm9/lib/NitroSDK/src/version_2_wifi.c
diff --git a/arm9/lib/src/version_3_cps.c b/arm9/lib/NitroSDK/src/version_3_cps.c
index 5918341e..5918341e 100644
--- a/arm9/lib/src/version_3_cps.c
+++ b/arm9/lib/NitroSDK/src/version_3_cps.c
diff --git a/arm9/lib/src/version_4_ssl.c b/arm9/lib/NitroSDK/src/version_4_ssl.c
index f1bf08ce..f1bf08ce 100644
--- a/arm9/lib/src/version_4_ssl.c
+++ b/arm9/lib/NitroSDK/src/version_4_ssl.c
diff --git a/arm9/lib/src/version_5_vct.c b/arm9/lib/NitroSDK/src/version_5_vct.c
index a13caf88..a13caf88 100644
--- a/arm9/lib/src/version_5_vct.c
+++ b/arm9/lib/NitroSDK/src/version_5_vct.c
diff --git a/arm9/lib/src/version_6_backup.c b/arm9/lib/NitroSDK/src/version_6_backup.c
index 3cbe3e37..3cbe3e37 100644
--- a/arm9/lib/src/version_6_backup.c
+++ b/arm9/lib/NitroSDK/src/version_6_backup.c
diff --git a/arm9/lib/include/FX_types.h b/arm9/lib/include/FX_types.h
deleted file mode 100644
index b5b56348..00000000
--- a/arm9/lib/include/FX_types.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef GUARD_FX_TYPES_H
-#define GUARD_FX_TYPES_H
-
-typedef s16 fx16;
-typedef s32 fx32;
-typedef s64 fx64;
-typedef s64 fx64c;
-
-#define FX16_INT_MASK 0xF000
-#define FX16_INT_ABS_MASK 0x7000
-#define FX16_FRAC_MASK 0x0FFF
-#define FX16_INT_SHIFT 0xC
-
-#define FX32_INT_MASK 0xFFFFF000
-#define FX32_INT_ABS_MASK 0x7FFFF000
-#define FX32_FRAC_MASK 0x00000FFF
-#define FX32_INT_SHIFT 0xC
-
-#define FX64_INT_MASK 0xFFFFFFFFFFFFF000
-#define FX64_INT_ABS_MASK 0x7FFFFFFFFFFFF000
-#define FX64_FRAC_MASK 0x0000000000000FFF
-#define FX64_INT_SHIFT 0xC
-
-#define FX64C_INT_MASK 0xFFFFFFFF00000000
-#define FX64C_INT_ABS_MASK 0x7FFFFFFF00000000
-#define FX64C_FRAC_MASK 0x00000000FFFFFFFF
-#define FX64C_INT_SHIFT 0x20
-
-#define FX_INT(TYPE, x) (((x) & TYPE ## _INT_MASK) >> TYPE ## _INT_SHIFT)
-#define FX_INT_ABS(TYPE, x) (((x) & TYPE ## _INT_ABS_MASK) >> TYPE ## _INT_SHIFT)
-#define FX_FRAC(TYPE, x) ((x) & TYPE ## _FRAC_MASK)
-
-#define FX16_INT(x) FX_INT(FX16, x)
-#define FX16_INT_ABS(x) FX_INT_ABS(FX16, x)
-#define FX16_FRAC(x) FX_FRAC(FX16, x)
-
-#define FX32_INT(x) FX_INT(FX32, x)
-#define FX32_INT_ABS(x) FX_INT_ABS(FX32, x)
-#define FX32_FRAC(x) FX_FRAC(FX32, x)
-
-#define FX64_INT(x) FX_INT(FX64, x)
-#define FX64_INT_ABS(x) FX_INT_ABS(FX64, x)
-#define FX64_FRAC(x) FX_FRAC(FX64, x)
-
-#define FX64C_INT(x) FX_INT(FX64C, x)
-#define FX64C_INT_ABS(x) FX_INT_ABS(FX64C, x)
-#define FX64C_FRAC(x) FX_FRAC(FX64C, x)
-
-//TODO: clean up these macros
-#define FX32_MUL_NO_ROUND(a, b) ((fx32)(((fx64)(a) * (b)) >> FX32_INT_SHIFT))
-#define FX32_MUL(a, b) ((fx32)((((fx64)(a) * (b) + (1 << (FX32_INT_SHIFT - 1))) >> FX32_INT_SHIFT)))
-#define FX32_MUL_ADD_MUL(a, b, c, d) ((fx32)(((fx64)(a) * (b) + (fx64)c * d) >> FX32_INT_SHIFT))
-//the extra term here is for rounding
-#define FX32_MUL_SUB_MUL(a, b, c, d) ((fx32)(((fx64)(a) * (b) - (fx64)c * d + (1 << (FX32_INT_SHIFT - 1))) >> FX32_INT_SHIFT))
-
-#define FX_MUL_FX32_FX64C(a, b) ((fx32)((((a) * (b) + ((fx64)1 << (FX64C_INT_SHIFT - 1))) >> FX64C_INT_SHIFT)))
-
-#define FX_FX16_TO_F32(x) ((f32)((x) / (f32)(1 << FX16_SHIFT)))
-#define FX_F32_TO_FX16(x) ((fx16)(((x) > 0) ? \
- (fx16)((x) * (1 << FX16_INT_SHIFT) + 0.5f ) : \
- (fx16)((x) * (1 << FX16_INT_SHIFT) - 0.5f )))
-#define FX_F32_TO_FX32(x) ((fx32)(((x) > 0) ? \
- (fx32)((x) * (1 << FX32_INT_SHIFT) + 0.5f ) : \
- (fx32)((x) * (1 << FX32_INT_SHIFT) - 0.5f )))
-#define FX16_CONST(x) FX_F32_TO_FX16(x)
-#define FX32_CONST(x) FX_F32_TO_FX32(x)
-
-#define FX16_ONE ((fx16)0x1000)
-#define FX32_ONE ((fx32)0x00001000L)
-
-typedef struct Vecx32
-{
- fx32 x;
- fx32 y;
- fx32 z;
-} VecFx32;
-
-typedef struct Vecx16
-{
- fx16 x;
- fx16 y;
- fx16 z;
-} VecFx16;
-
-//Matrices are indexed as [column][row]
-typedef struct Mtx44
-{
- fx32 _[16];
-} MtxFx44;
-
-typedef struct Mtx43
-{
- fx32 _[12];
-} MtxFx43;
-
-typedef struct Mtx33
-{
- fx32 _[9];
-} MtxFx33;
-
-typedef struct Mtx22
-{
- fx32 _[4];
-} MtxFx22;
-
-#endif //GUARD_FX_TYPES_H
diff --git a/arm9/lib/include/NNS_g3d.h b/arm9/lib/include/NNS_g3d.h
deleted file mode 100644
index f9a3a1b8..00000000
--- a/arm9/lib/include/NNS_g3d.h
+++ /dev/null
@@ -1,89 +0,0 @@
-#ifndef GUARD_NNS_G3D_H
-#define GUARD_NNS_G3D_H
-
-#include "fx.h"
-
-typedef enum
-{
- NNS_G3D_GLB_FLAG_FLUSH_WVP = 0x00000001,
- NNS_G3D_GLB_FLAG_FLUSH_VP = 0x00000002,
- NNS_G3D_GLB_FLAG_INVBASE_UPTODATE = 0x00000004,
- NNS_G3D_GLB_FLAG_INVCAMERA_UPTODATE = 0x00000008,
- NNS_G3D_GLB_FLAG_INVPROJ_UPTODATE = 0x00000010,
- NNS_G3D_GLB_FLAG_INVBASECAMERA_UPTODATE = 0x00000020,
- NNS_G3D_GLB_FLAG_INVCAMERAPROJ_UPTODATE = 0x00000040,
-
- NNS_G3D_GLB_FLAG_BASECAMERA_UPTODATE = 0x00000080,
-
- NNS_G3D_GLB_FLAG_SRTCAMERA_UPTODATE = NNS_G3D_GLB_FLAG_BASECAMERA_UPTODATE,
- NNS_G3D_GLB_FLAG_FLUSH_ALT = NNS_G3D_GLB_FLAG_FLUSH_WVP
-}
- NNSG3dGlbFlag;
-
-typedef struct
-{
- /*0x000*/ u32 cmd0;
- /*0x004*/ u32 mtxmode_proj;
- /*0x008*/ MtxFx44 projMtx;
-
- /*0x048*/ u32 mtxmode_posvec;
- /*0x04C*/ MtxFx43 cameraMtx;
-
- /*0x07C*/ u32 cmd1;
- /*0x080*/ u32 lightVec[4];
-
- /*0x090*/ u32 cmd2;
- /*0x094*/ u32 prmMatColor0;
- /*0x098*/ u32 prmMatColor1;
- /*0x09C*/ u32 prmPolygonAttr;
- /*0x0A0*/ u32 prmViewPort;
-
- /*0x0A4*/ u32 cmd3;
- /*0x0A8*/ u32 lightColor[4];
-
- /*0x0B8*/ u32 cmd4;
- /*0x0BC*/ MtxFx33 prmBaseRot;
- /*0x0E0*/ VecFx32 prmBaseTrans;
- /*0x0EC*/ VecFx32 prmBaseScale;
- /*0x0F8*/ u32 prmTexImageParam;
-
- /*0x0FC*/ u32 flag;
- /*0x100*/ MtxFx43 invCameraMtx;
- /*0x130*/ MtxFx43 srtCameraMtx;
- /*0x160*/ MtxFx43 invSrtCameraMtx;
-
- /*0x190*/ MtxFx43 invBaseMtx;
-
- /*0x1C0*/ MtxFx44 invProjMtx;
- /*0x200*/ MtxFx44 invCameraProjMtx;
-
- /*0x240*/ VecFx32 camPos;
- /*0x24C*/ VecFx32 camUp;
- /*0x258*/ VecFx32 camTarget;
-}
-NNSG3dGlb;
-
-extern NNSG3dGlb NNS_G3dGlb;
-
-static inline void NNS_G3dGlbLookAt(const VecFx32 * camPos, const VecFx32 * camUp, const VecFx32 * camTarget)
-{
- NNS_G3dGlb.camPos = *camPos;
- NNS_G3dGlb.camUp = *camUp;
- NNS_G3dGlb.camTarget = *camTarget;
- MTX_LookAt(camPos, camUp, camTarget, &NNS_G3dGlb.cameraMtx);
- NNS_G3dGlb.flag &= ~(NNS_G3D_GLB_FLAG_INVCAMERA_UPTODATE | NNS_G3D_GLB_FLAG_INVBASECAMERA_UPTODATE | NNS_G3D_GLB_FLAG_INVCAMERAPROJ_UPTODATE | NNS_G3D_GLB_FLAG_BASECAMERA_UPTODATE);
-}
-
-static inline void NNS_G3dGlbPerspective(fx32 fovySin, fx32 fovyCos, fx32 aspect, fx32 n, fx32 f)
-{
- MTX_Perspective(fovySin, fovyCos, aspect, n, f, &NNS_G3dGlb.projMtx);
- NNS_G3dGlb.flag &= ~(NNS_G3D_GLB_FLAG_INVPROJ_UPTODATE | NNS_G3D_GLB_FLAG_INVCAMERAPROJ_UPTODATE);
-}
-
-static inline void NNS_G3dGlbOrtho(fx32 t, fx32 b, fx32 l, fx32 r, fx32 n, fx32 f)
-{
- MTX_Ortho(t, b, l, r, n, f, &NNS_G3dGlb.projMtx);
- NNS_G3dGlb.flag &= ~(NNS_G3D_GLB_FLAG_INVPROJ_UPTODATE | NNS_G3D_GLB_FLAG_INVCAMERAPROJ_UPTODATE);
-}
-
-#endif //GUARD_NNS_G3D_H
diff --git a/arm9/lib/include/SND_main.h b/arm9/lib/include/SND_main.h
deleted file mode 100644
index e35f1ee1..00000000
--- a/arm9/lib/include/SND_main.h
+++ /dev/null
@@ -1,185 +0,0 @@
-#ifndef GUARD_SND_MAIN_H
-#define GUARD_SND_MAIN_H
-
-#include "global.h"
-
-void SNDi_UnlockMutex(void);
-void SNDi_LockMutex(void);
-void SND_Init(void);
-
-struct SNDBinaryFileHeader {
- s8 signature[4]; // 0x0
- u16 byteOrder; // 0x4
- u16 version; // 0x6
- u32 fileSize; // 0x8
- u16 headerSize; // 0xC
- u16 dataBlocks; // 0xE
-}; // size = 0x10
-
-typedef struct SNDBinaryBlockHeader {
- u32 type; // 0x0
- u32 size; // 0x4
-} SNDBinaryBlockHeader; // size = 0x8
-
-struct SNDWaveParam {
- u8 format; // 0x0
- u8 loopEnabled; // 0x1
- u16 samplerate; // 0x2
- u16 timer; // 0x4
- u16 loopStart; // 0x6
- u32 loopLength; // 0x8
-}; // size = 0xC
-
-struct SNDLfoParam {
- u8 target; // 0x0
- u8 speed; // 0x1
- u8 depth; // 0x2
- u8 range; // 0x3
- u16 delay; // 0x4
-}; // size = 0x6
-
-struct SNDLfo {
- struct SNDLfoParam param; // 0x0
- u16 delayCounter; // 0x6
- u16 counter; // 0x8
-}; // size = 0xA
-
-struct SNDExChannel {
- u8 id; // 0x00
- u8 type; // 0x01
- u8 envStatus; // 0x02
-
- struct {
- u8 active : 1;
- u8 start : 1;
- u8 autoSweep : 1;
- u8 syncFlag : 5;
- } flags; // 0x03
-
- u8 panRange; // 0x04
- u8 rootMidiKey; // 0x05
- s16 userDecay2; // 0x06
-
- u8 midiKey; // 0x08
- u8 velocity; // 0x09
- s8 initPan; // 0x0A
- s8 userPan; // 0x0B
-
- s16 userDecay; // 0x0C
- s16 userPitch; // 0x0E
-
- s32 envAttenuation; // 0x10
- s32 sweepCounter; // 0x14
- s32 sweepLength; // 0x18
-
- u8 envAttack; // 0x1C
- u8 envSustain; // 0x1D
- u16 envDecay; // 0x1E
- u16 envRelease; // 0x20
- u8 priority; // 0x22
- u8 pan; // 0x23
- u16 volume; // 0x24
- u16 timer; // 0x26
-
- struct SNDLfo lfo; // 0x28
-
- s16 sweepPitch; // 0x32
-
- s32 length; // 0x34
-
- struct SNDWaveParam waveParam; // 0x38
-
- union {
- const void *waveDataPtr;
- u32 dutyCycle;
- }; // 0x44
-
- void (*callback)(struct SNDExChannel *chn, u32 status, void *userData); // 0x48
- void *callbackUserData; // 0x4C
-
- struct SNDExChannel *channelLLNext; // 0x50
-}; // size = 0x54
-
-#define SND_TRACK_COUNT_PER_PLAYER 16
-#define SND_INVALID_TRACK_INDEX 0xFF
-
-struct SNDPlayer {
- struct {
- u8 active : 1;
- u8 prepared : 1;
- u8 paused : 1;
- } flags; // 0x0
-
- u8 playerId; // 0x1
- u8 unk_2[2]; // 0x2
-
- u8 prio; // 0x4
- u8 volume; // 0x5
- s16 extFader; // 0x6
-
- u8 tracks[SND_TRACK_COUNT_PER_PLAYER]; // 0x8
-
- u16 tempo; // 0x18
- u16 tempoRatio; // 0x1A
- u16 tempoCounter; // 0x1C
- u8 unk_1E[2]; // 0x1E
-
- struct SNDBankData *bank; // 0x20
-}; // size = 0x24
-
-#define SND_TRACK_MAX_CALL 3
-
-struct SNDBankData;
-
-struct SNDTrack {
- struct {
- u8 active : 1;
- u8 noteWait : 1;
- u8 muted : 1;
- u8 tie : 1;
- u8 noteFinishWait : 1;
- u8 portamento : 1;
- u8 cmp : 1; // ???
- u8 channelMask : 1;
- } flags; // 0x00
-
- u8 panRange; // 0x01
- u16 program; // 0x02
-
- u8 volume; // 0x04
- u8 expression; // 0x05
- s8 pitchBend; // 0x06
- u8 bendRange; // 0x07
-
- s8 pan; // 0x08
- s8 extPan; // 0x09
- s16 extFader; // 0x0A
- s16 extPitch; // 0x0C
- u8 envAttack; // 0x0E
- u8 envDecay; // 0x0F
- u8 envSustain; // 0x10
- u8 envRelease; // 0x11
- u8 priority; // 0x12
- s8 transpose; // 0x13
-
- u8 portamentoKey; // 0x14
- u8 portamentoTime; // 0x15
- s16 sweepPitch; // 0x16
-
- struct SNDLfoParam mod; // 0x18
- u16 channelMask; // 0x1E
-
- s32 wait; // 0x20
-
- const u8 *trackDataStart; // 0x24
- const u8 *trackDataPos; // 0x28
- const u8 *posCallStack[SND_TRACK_MAX_CALL]; // 0x34
- u8 loopCount[SND_TRACK_MAX_CALL]; // 0x38
- u8 callStackDepth; // 0x3B
-
- struct SNDExChannel *channelLLHead; // 0x3C
-}; // size = 0x40
-
-
-
-#endif // GUARD_SND_MAIN_H
diff --git a/arm9/lib/libc/Makefile b/arm9/lib/libc/Makefile
new file mode 100644
index 00000000..5a993851
--- /dev/null
+++ b/arm9/lib/libc/Makefile
@@ -0,0 +1,80 @@
+# Try to include devkitarm if installed
+TOOLCHAIN := $(DEVKITARM)
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+endif
+
+# If you are using WSL, it is recommended you build with NOWINE=1.
+WSLENV ?= no
+ifeq ($(WSLENV),)
+NOWINE = 1
+else
+NOWINE = 0
+endif
+
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+WINE :=
+else
+EXE :=
+WINE := wine
+endif
+
+ifeq ($(NOWINE),1)
+WINE :=
+endif
+
+# Compare result of arm9, arm7, and ROM to sha1 hash(s)
+COMPARE ?= 1
+
+##################### Compiler Options #######################
+
+MWCCVERSION = 2.0/sp1
+
+CROSS := arm-none-eabi-
+
+MWCCARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwccarm.exe
+# Argh... due to EABI version shenanigans, we can't use GNU LD to link together
+# MWCC built objects and GNU built ones. mwldarm, however, doesn't care, so we
+# have to use mwldarm for now.
+# TODO: Is there a hack workaround to let us go back to GNU LD? Ideally, the
+# only dependency should be MWCCARM.
+MWLDARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwldarm.exe
+MWASMARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwasmarm.exe
+SCANINC = ../../../tools/scaninc/scaninc$(EXE)
+
+AS = $(WINE) $(MWASMARM)
+CC = $(WINE) $(MWCCARM)
+CPP := cpp -P
+LD = $(WINE) $(MWLDARM)
+AR := $(CROSS)ar
+OBJDUMP := $(CROSS)objdump
+OBJCOPY := $(CROSS)objcopy
+
+# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
+ASFLAGS = -proc arm5te -ir ../../..
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+ARFLAGS = rcS
+
+export MWCIncludes := include
+
+################ Targets #################
+
+.PHONY: all clean
+
+all:
+ @:
+
+clean:
+ $(RM) $(%.a=%/*.o)
+
+%.a:
+ $(AR) $(ARFLAGS) -o $@ $^
+
+%.o: %.c
+ $(CC) $(CFLAGS) -o $@ $<
+
+%.o: %.s
+ $(AS) $(ASFLAGS) -o $@ $<
diff --git a/arm9/lib/libc/include/MSL.h b/arm9/lib/libc/include/MSL.h
new file mode 100644
index 00000000..a1709bc4
--- /dev/null
+++ b/arm9/lib/libc/include/MSL.h
@@ -0,0 +1,8 @@
+#ifndef MSL_H
+#define MSL_H
+
+//include all msl files here
+
+#include "MSL_Common_arith.h"
+
+#endif //MSL_H
diff --git a/arm9/lib/libc/include/MSL_Common_arith.h b/arm9/lib/libc/include/MSL_Common_arith.h
new file mode 100644
index 00000000..3ec6bdbc
--- /dev/null
+++ b/arm9/lib/libc/include/MSL_Common_arith.h
@@ -0,0 +1,8 @@
+#ifndef MSL_COMMON_ARITH_H
+#define MSL_COMMON_ARITH_H
+
+#include "nitro/types.h"
+
+s32 abs(s32 val);
+
+#endif //MSL_COMMON_ARITH_H
diff --git a/arm9/lib/libc/src/MSL_Common_arith.c b/arm9/lib/libc/src/MSL_Common_arith.c
new file mode 100644
index 00000000..d4a2e834
--- /dev/null
+++ b/arm9/lib/libc/src/MSL_Common_arith.c
@@ -0,0 +1,7 @@
+#include "MSL_Common_arith.h"
+#include "function_target.h"
+
+ARM_FUNC s32 abs(s32 val)
+{
+ return val < 0 ? -val : val;
+}
diff --git a/arm9/lib/libnns/Makefile b/arm9/lib/libnns/Makefile
new file mode 100644
index 00000000..029dda4d
--- /dev/null
+++ b/arm9/lib/libnns/Makefile
@@ -0,0 +1,81 @@
+# Try to include devkitarm if installed
+TOOLCHAIN := $(DEVKITARM)
+
+ifneq (,$(wildcard $(TOOLCHAIN)/base_tools))
+include $(TOOLCHAIN)/base_tools
+endif
+
+# If you are using WSL, it is recommended you build with NOWINE=1.
+WSLENV ?= no
+ifeq ($(WSLENV),)
+NOWINE = 1
+else
+NOWINE = 0
+endif
+
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+WINE :=
+else
+EXE :=
+WINE := wine
+endif
+
+ifeq ($(NOWINE),1)
+WINE :=
+endif
+
+# Compare result of arm9, arm7, and ROM to sha1 hash(s)
+COMPARE ?= 1
+
+##################### Compiler Options #######################
+
+# TODO: this is likely 2.0 for libnns
+MWCCVERSION = 1.2/sp2p3
+
+CROSS := arm-none-eabi-
+
+MWCCARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwccarm.exe
+# Argh... due to EABI version shenanigans, we can't use GNU LD to link together
+# MWCC built objects and GNU built ones. mwldarm, however, doesn't care, so we
+# have to use mwldarm for now.
+# TODO: Is there a hack workaround to let us go back to GNU LD? Ideally, the
+# only dependency should be MWCCARM.
+MWLDARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwldarm.exe
+MWASMARM = ../../../tools/mwccarm/$(MWCCVERSION)/mwasmarm.exe
+SCANINC = ../../../tools/scaninc/scaninc$(EXE)
+
+AS = $(WINE) $(MWASMARM)
+CC = $(WINE) $(MWCCARM)
+CPP := cpp -P
+LD = $(WINE) $(MWLDARM)
+AR := $(CROSS)ar
+OBJDUMP := $(CROSS)objdump
+OBJCOPY := $(CROSS)objcopy
+
+# ./tools/mwccarm/2.0/base/mwasmarm.exe -proc arm5te asm/arm9_thumb.s -o arm9.o
+ASFLAGS = -proc arm5te -ir ../../..
+CFLAGS = -O4,p -proc arm946e -fp soft -lang c99 -Cpp_exceptions off -i include -ir include-mw -ir arm9/lib/libc/include -ir arm9/lib/libnns/include -ir arm9/lib/NitroSDK/include -W all
+LDFLAGS = -library -nodead -w off -proc v5te -interworking -pic
+ARFLAGS = rcS
+
+export MWCIncludes := include
+
+################ Targets #################
+
+.PHONY: all clean
+
+all:
+ @:
+
+clean:
+ $(RM) $(%.a=%/*.o)
+
+%.a:
+ $(AR) $(ARFLAGS) -o $@ $^
+
+%.o: %.c
+ $(CC) $(CFLAGS) -o $@ $<
+
+%.o: %.s
+ $(AS) $(ASFLAGS) -o $@ $<
diff --git a/arm9/lib/include/NNS_FND_allocator.h b/arm9/lib/libnns/include/NNS_FND_allocator.h
index 48df282a..eb17fa70 100644
--- a/arm9/lib/include/NNS_FND_allocator.h
+++ b/arm9/lib/libnns/include/NNS_FND_allocator.h
@@ -1,34 +1,34 @@
-#ifndef GUARD_NNS_FND_ALLOCATOR_H
-#define GUARD_NNS_FND_ALLOCATOR_H
-
-#include "NNS_FND_heapcommon.h"
-
-typedef struct NNSFndAllocator NNSFndAllocator;
-
-typedef void* (*NNSFndFuncAllocatorAlloc)(
- NNSFndAllocator* pAllocator,
- u32 size);
-
-typedef void (*NNSFndFuncAllocatorFree)(
- NNSFndAllocator* pAllocator,
- void* memBlock);
-
-typedef struct NNSFndAllocatorFunc NNSFndAllocatorFunc;
-
-struct NNSFndAllocatorFunc
-{
- NNSFndFuncAllocatorAlloc pfAlloc;
- NNSFndFuncAllocatorFree pfFree;
-};
-
-struct NNSFndAllocator
-{
- NNSFndAllocatorFunc const * pFunc;
- void* pHeap;
- u32 heapParam1;
- u32 heapParam2;
-};
-
-void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle heap, int alignment);
-
-#endif //GUARD_NNS_FND_ALLOCATOR_H
+#ifndef GUARD_NNS_FND_ALLOCATOR_H
+#define GUARD_NNS_FND_ALLOCATOR_H
+
+#include "NNS_FND_heapcommon.h"
+
+typedef struct NNSFndAllocator NNSFndAllocator;
+
+typedef void* (*NNSFndFuncAllocatorAlloc)(
+ NNSFndAllocator* pAllocator,
+ u32 size);
+
+typedef void (*NNSFndFuncAllocatorFree)(
+ NNSFndAllocator* pAllocator,
+ void* memBlock);
+
+typedef struct NNSFndAllocatorFunc NNSFndAllocatorFunc;
+
+struct NNSFndAllocatorFunc
+{
+ NNSFndFuncAllocatorAlloc pfAlloc;
+ NNSFndFuncAllocatorFree pfFree;
+};
+
+struct NNSFndAllocator
+{
+ NNSFndAllocatorFunc const * pFunc;
+ void* pHeap;
+ u32 heapParam1;
+ u32 heapParam2;
+};
+
+void NNS_FndInitAllocatorForExpHeap(NNSFndAllocator * pAllocator, NNSFndHeapHandle heap, int alignment);
+
+#endif //GUARD_NNS_FND_ALLOCATOR_H
diff --git a/arm9/lib/include/NNS_FND_expheap.h b/arm9/lib/libnns/include/NNS_FND_expheap.h
index c0008f28..bdc3fcc4 100644
--- a/arm9/lib/include/NNS_FND_expheap.h
+++ b/arm9/lib/libnns/include/NNS_FND_expheap.h
@@ -1,55 +1,55 @@
-#ifndef GUARD_NNS_FND_EXPHEAP_H
-#define GUARD_NNS_FND_EXPHEAP_H
-
-#include "NNS_FND_heapcommon.h"
-
-typedef struct NNSiFndExpHeapMBlockHead NNSiFndExpHeapMBlockHead;
-
-struct NNSiFndExpHeapMBlockHead
-{
- u16 signature; // Signature
- u16 attribute; // Attribute
- // [8:groupID]
- // [7:alignment]
- // [1:temporary flag]
-
- u32 blockSize; // Block size (data area only)
-
- NNSiFndExpHeapMBlockHead* pMBHeadPrev; // Previous block
- NNSiFndExpHeapMBlockHead* pMBHeadNext; // Next block
-};
-
-typedef struct NNSiFndExpMBlockList NNSiFndExpMBlockList;
-
-struct NNSiFndExpMBlockList
-{
- NNSiFndExpHeapMBlockHead* head; // Pointer for memory block linked to header
- NNSiFndExpHeapMBlockHead* tail; // Pointer to the memory block linked to the tail of the expanded heap
-};
-
-typedef struct NNSiFndExpHeapHead NNSiFndExpHeapHead;
-
-struct NNSiFndExpHeapHead
-{
- NNSiFndExpMBlockList mbFreeList; // Free list
- NNSiFndExpMBlockList mbUsedList; // Used list
-
- u16 groupID; // Current group ID (lower 8 bits only)
- u16 feature; // Attribute
-};
-
-NNSFndHeapHandle NNS_FndCreateExpHeapEx(void *startAddress, u32 size, u32 optFlag);
-void *NNS_FndAllocFromExpHeapEx(NNSFndHeapHandle heap, u32 size, int alignment);
-void NNS_FndDestroyExpHeap(NNSFndHeapHandle heap);
-void NNS_FndFreeToExpHeap(NNSFndHeapHandle heap, void *memBlock);
-u32 NNS_FndGetTotalFreeSizeForExpHeap(NNSFndHeapHandle heap);
-u32 NNS_FndGetSizeForMBlockExpHeap(const void *memBlock);
-void NNS_FndResizeForMBlockExpHeap(NNSFndHeapHandle heap, void *memBlock, u32 size);
-
-#define NNS_FndCreateExpHeap(startAddress, size) \
- NNS_FndCreateExpHeapEx(startAddress, size, 0)
-#define NNS_FndAllocFromExpHeap(heap, size) \
- NNS_FndAllocFromExpHeapEx(heap, size, NNS_FND_HEAP_DEFAULT_ALIGNMENT)
-
-
-#endif //GUARD_NNS_FND_EXPHEAP_H
+#ifndef GUARD_NNS_FND_EXPHEAP_H
+#define GUARD_NNS_FND_EXPHEAP_H
+
+#include "NNS_FND_heapcommon.h"
+
+typedef struct NNSiFndExpHeapMBlockHead NNSiFndExpHeapMBlockHead;
+
+struct NNSiFndExpHeapMBlockHead
+{
+ u16 signature; // Signature
+ u16 attribute; // Attribute
+ // [8:groupID]
+ // [7:alignment]
+ // [1:temporary flag]
+
+ u32 blockSize; // Block size (data area only)
+
+ NNSiFndExpHeapMBlockHead* pMBHeadPrev; // Previous block
+ NNSiFndExpHeapMBlockHead* pMBHeadNext; // Next block
+};
+
+typedef struct NNSiFndExpMBlockList NNSiFndExpMBlockList;
+
+struct NNSiFndExpMBlockList
+{
+ NNSiFndExpHeapMBlockHead* head; // Pointer for memory block linked to header
+ NNSiFndExpHeapMBlockHead* tail; // Pointer to the memory block linked to the tail of the expanded heap
+};
+
+typedef struct NNSiFndExpHeapHead NNSiFndExpHeapHead;
+
+struct NNSiFndExpHeapHead
+{
+ NNSiFndExpMBlockList mbFreeList; // Free list
+ NNSiFndExpMBlockList mbUsedList; // Used list
+
+ u16 groupID; // Current group ID (lower 8 bits only)
+ u16 feature; // Attribute
+};
+
+NNSFndHeapHandle NNS_FndCreateExpHeapEx(void *startAddress, u32 size, u32 optFlag);
+void *NNS_FndAllocFromExpHeapEx(NNSFndHeapHandle heap, u32 size, int alignment);
+void NNS_FndDestroyExpHeap(NNSFndHeapHandle heap);
+void NNS_FndFreeToExpHeap(NNSFndHeapHandle heap, void *memBlock);
+u32 NNS_FndGetTotalFreeSizeForExpHeap(NNSFndHeapHandle heap);
+u32 NNS_FndGetSizeForMBlockExpHeap(const void *memBlock);
+void NNS_FndResizeForMBlockExpHeap(NNSFndHeapHandle heap, void *memBlock, u32 size);
+
+#define NNS_FndCreateExpHeap(startAddress, size) \
+ NNS_FndCreateExpHeapEx(startAddress, size, 0)
+#define NNS_FndAllocFromExpHeap(heap, size) \
+ NNS_FndAllocFromExpHeapEx(heap, size, NNS_FND_HEAP_DEFAULT_ALIGNMENT)
+
+
+#endif //GUARD_NNS_FND_EXPHEAP_H
diff --git a/arm9/lib/include/NNS_FND_heapcommon.h b/arm9/lib/libnns/include/NNS_FND_heapcommon.h
index eb6f1bdb..e6fab69c 100644
--- a/arm9/lib/include/NNS_FND_heapcommon.h
+++ b/arm9/lib/libnns/include/NNS_FND_heapcommon.h
@@ -1,26 +1,26 @@
-#ifndef GUARD_NNS_FND_HEAPCOMMON_H
-#define GUARD_NNS_FND_HEAPCOMMON_H
-
-#include "NNS_FND_list.h"
-
-#define NNS_FND_HEAP_DEFAULT_ALIGNMENT 4
-
-typedef struct NNSiFndHeapHead NNSiFndHeapHead;
-
-struct NNSiFndHeapHead
-{
- u32 signature;
-
- NNSFndLink link;
- NNSFndList childList;
-
- void* heapStart; // Heap start address
- void* heapEnd; // Heap end (+1) address
-
- u32 attribute; // Attribute
- // [8:Option flag]
-};
-
-typedef NNSiFndHeapHead* NNSFndHeapHandle; // Type to represent heap handle
-
-#endif //GUARD_NNS_FND_HEAPCOMMON_H
+#ifndef GUARD_NNS_FND_HEAPCOMMON_H
+#define GUARD_NNS_FND_HEAPCOMMON_H
+
+#include "NNS_FND_list.h"
+
+#define NNS_FND_HEAP_DEFAULT_ALIGNMENT 4
+
+typedef struct NNSiFndHeapHead NNSiFndHeapHead;
+
+struct NNSiFndHeapHead
+{
+ u32 signature;
+
+ NNSFndLink link;
+ NNSFndList childList;
+
+ void* heapStart; // Heap start address
+ void* heapEnd; // Heap end (+1) address
+
+ u32 attribute; // Attribute
+ // [8:Option flag]
+};
+
+typedef NNSiFndHeapHead* NNSFndHeapHandle; // Type to represent heap handle
+
+#endif //GUARD_NNS_FND_HEAPCOMMON_H
diff --git a/arm9/lib/include/NNS_FND_list.h b/arm9/lib/libnns/include/NNS_FND_list.h
index 5df01e5f..5fec2fdf 100644
--- a/arm9/lib/include/NNS_FND_list.h
+++ b/arm9/lib/libnns/include/NNS_FND_list.h
@@ -1,20 +1,20 @@
-#ifndef GUARD_NNS_FND_LIST_H
-#define GUARD_NNS_FND_LIST_H
-
-typedef struct
-{
- void* prevObject; // Pointer to the previous linked object.
- void* nextObject; // Pointer to the next linked object.
-
-} NNSFndLink;
-
-typedef struct
-{
- void* headObject; // Pointer for the object linked to the top of the list.
- void* tailObject; // Pointer for the object linked to the end of the list.
- u16 numObjects; // Number of objects linked in the list.
- u16 offset; // Offset for NNSFndLink type structure member.
-
-} NNSFndList;
-
-#endif //GUARD_NNS_FND_LIST_H
+#ifndef GUARD_NNS_FND_LIST_H
+#define GUARD_NNS_FND_LIST_H
+
+typedef struct
+{
+ void* prevObject; // Pointer to the previous linked object.
+ void* nextObject; // Pointer to the next linked object.
+
+} NNSFndLink;
+
+typedef struct
+{
+ void* headObject; // Pointer for the object linked to the top of the list.
+ void* tailObject; // Pointer for the object linked to the end of the list.
+ u16 numObjects; // Number of objects linked in the list.
+ u16 offset; // Offset for NNSFndLink type structure member.
+
+} NNSFndList;
+
+#endif //GUARD_NNS_FND_LIST_H
diff --git a/arm9/lib/include/NNS_SND_arc.h b/arm9/lib/libnns/include/NNS_SND_arc.h
index 95b33141..5298d805 100644
--- a/arm9/lib/include/NNS_SND_arc.h
+++ b/arm9/lib/libnns/include/NNS_SND_arc.h
@@ -2,6 +2,7 @@
#define GUARD_NNS_SND_ARC_H
#include "SND_main.h"
+#include "FS_file.h"
typedef struct NNSSndArcHeader
{
@@ -33,6 +34,6 @@ void NNS_SndArcPlayerSetup(void *);
void NNS_SndMain(void);
void NNS_SndHandleInit(u32 *);
void NNS_SndPlayerStopSeqByPlayerNo(int playerNo, int fadeFrame);
-void NNS_SndHandleReleaseSeq(void);
+void NNS_SndHandleReleaseSeq(u32 *);
#endif //GUARD_NNS_SND_ARC_H
diff --git a/arm9/lib/include/NNS_SND_arc_loader.h b/arm9/lib/libnns/include/NNS_SND_arc_loader.h
index 851c08ab..7d1e2787 100644
--- a/arm9/lib/include/NNS_SND_arc_loader.h
+++ b/arm9/lib/libnns/include/NNS_SND_arc_loader.h
@@ -1,12 +1,12 @@
-#ifndef GUARD_NNS_SND_ARC_LOADER_H
-#define GUARD_NNS_SND_ARC_LOADER_H
-
-#include "NNS_SND_heap.h"
-
-BOOL NNS_SndArcLoadGroup(int groupNo, NNSSndHeapHandle * heap);
-BOOL NNS_SndArcLoadSeq(int seqNo, NNSSndHeapHandle * heap);
-BOOL NNS_SndArcLoadSeqEx(int seqNo, u32 loadFlag, NNSSndHeapHandle * heap);
-BOOL NNS_SndArcLoadWaveArc(int waveArcNo, NNSSndHeapHandle * heap);
-BOOL NNS_SndArcLoadBank(int bankNo, NNSSndHeapHandle * heap);
-
-#endif //GUARD_NNS_SND_ARC_LOADER_H
+#ifndef GUARD_NNS_SND_ARC_LOADER_H
+#define GUARD_NNS_SND_ARC_LOADER_H
+
+#include "NNS_SND_heap.h"
+
+BOOL NNS_SndArcLoadGroup(int groupNo, NNSSndHeapHandle * heap);
+BOOL NNS_SndArcLoadSeq(int seqNo, NNSSndHeapHandle * heap);
+BOOL NNS_SndArcLoadSeqEx(int seqNo, u32 loadFlag, NNSSndHeapHandle * heap);
+BOOL NNS_SndArcLoadWaveArc(int waveArcNo, NNSSndHeapHandle * heap);
+BOOL NNS_SndArcLoadBank(int bankNo, NNSSndHeapHandle * heap);
+
+#endif //GUARD_NNS_SND_ARC_LOADER_H
diff --git a/arm9/lib/include/NNS_SND_heap.h b/arm9/lib/libnns/include/NNS_SND_heap.h
index 2929d1bb..2909d662 100644
--- a/arm9/lib/include/NNS_SND_heap.h
+++ b/arm9/lib/libnns/include/NNS_SND_heap.h
@@ -1,11 +1,11 @@
-#ifndef GUARD_NNS_SND_HEAP_H
-#define GUARD_NNS_SND_HEAP_H
-
-struct NNSSndHeap;
-typedef struct NNSSndHeap* NNSSndHeapHandle;
-
-NNSSndHeapHandle * NNS_SndHeapCreate(void * start, u32 size);
-int NNS_SndHeapSaveState(NNSSndHeapHandle * heap);
-void NNS_SndHeapLoadState(NNSSndHeapHandle * heap, int level);
-
-#endif //GUARD_NNS_SND_HEAP_H
+#ifndef GUARD_NNS_SND_HEAP_H
+#define GUARD_NNS_SND_HEAP_H
+
+struct NNSSndHeap;
+typedef struct NNSSndHeap* NNSSndHeapHandle;
+
+NNSSndHeapHandle * NNS_SndHeapCreate(void * start, u32 size);
+int NNS_SndHeapSaveState(NNSSndHeapHandle * heap);
+void NNS_SndHeapLoadState(NNSSndHeapHandle * heap, int level);
+
+#endif //GUARD_NNS_SND_HEAP_H
diff --git a/arm9/lib/include/NNS_g2d.h b/arm9/lib/libnns/include/NNS_g2d.h
index 483f254a..f7eed210 100644
--- a/arm9/lib/include/NNS_g2d.h
+++ b/arm9/lib/libnns/include/NNS_g2d.h
@@ -1,212 +1,212 @@
-#ifndef NNSYS_NNS_G2D_H
-#define NNSYS_NNS_G2D_H
-
-#include "gx.h"
-
-typedef struct NNSG2dCharacterData
-{
- u16 H;
- u16 W;
- GXTexFmt pixelFmt;
- GXOBJVRamModeChar mapingType;
- u32 characterFmt;
- u32 szByte;
- void * pRawData;
-} NNSG2dCharacterData;
-
-typedef struct NNSG2dScreenData
-{
- u16 screenWidth;
- u16 screenHeight;
- u16 colorMode;
- u16 screenFormat;
- u32 szByte;
- u32 rawData[1];
-} NNSG2dScreenData;
-
-typedef struct NNSG2dPaletteData
-{
- GXTexFmt fmt;
- BOOL bExtendedPlt;
- u32 szByte;
- void * pRawData;
-
-} NNSG2dPaletteData;
-
-typedef enum NNS_G2D_VRAM_TYPE
-{
- NNS_G2D_VRAM_TYPE_3DMAIN = 0,
- NNS_G2D_VRAM_TYPE_2DMAIN = 1,
- NNS_G2D_VRAM_TYPE_2DSUB = 2,
- NNS_G2D_VRAM_TYPE_MAX = 3
-} NNS_G2D_VRAM_TYPE;
-
-typedef enum NNSG2dCharacterDataMapingType
-{
- NNS_G2D_CHARACTERMAPING_1D_32,
- NNS_G2D_CHARACTERMAPING_1D_64,
- NNS_G2D_CHARACTERMAPING_1D_128,
- NNS_G2D_CHARACTERMAPING_1D_256,
- NNS_G2D_CHARACTERMAPING_2D,
- NNS_G2D_CHARACTERMAPING_MAX
-
-} NNSG2dCharacterDataMapingType;
-
-typedef struct NNSG2dImageAttr
-{
- GXTexSizeS sizeS;
- GXTexSizeT sizeT;
- GXTexFmt fmt;
- BOOL bExtendedPlt;
- GXTexPlttColor0 plttUse;
- GXOBJVRamModeChar mappingType;
-} NNSG2dImageAttr;
-
-typedef struct NNSG2dVRamLocation
-{
- u32 baseAddrOfVram[ NNS_G2D_VRAM_TYPE_MAX ];
-} NNSG2dVRamLocation;
-
-typedef struct NNSG2dImageProxy
-{
- NNSG2dVRamLocation vramLocation;
- NNSG2dImageAttr attr;
-} NNSG2dImageProxy;
-
-typedef struct NNSG2dPaletteCompressInfo
-{
- u16 numPalette;
- u16 pad16;
- void * pPlttIdxTbl;
-
-} NNSG2dPaletteCompressInfo;
-
-void NNS_G2dLoadImage1DMapping
-(
- const NNSG2dCharacterData * pSrcData,
- u32 baseAddr,
- NNS_G2D_VRAM_TYPE type,
- NNSG2dImageProxy * pImgProxy
-);
-
-void NNS_G2dLoadImage2DMapping
-(
- const NNSG2dCharacterData * pSrcData,
- u32 baseAddr,
- NNS_G2D_VRAM_TYPE type,
- NNSG2dImageProxy * pImgProxy
-);
-
-typedef struct NNSG2dImagePaletteProxy
-{
- GXTexFmt fmt;
- BOOL bExtendedPlt;
- NNSG2dVRamLocation vramLocation;
-} NNSG2dImagePaletteProxy;
-
-void NNS_G2dLoadPalette
-(
- const NNSG2dPaletteData * pSrcData,
- u32 addr,
- NNS_G2D_VRAM_TYPE type,
- NNSG2dImagePaletteProxy * pPltProxy
-);
-
-void NNS_G2dLoadPaletteEx
-(
- const NNSG2dPaletteData * pSrcData,
- const NNSG2dPaletteCompressInfo * pCmpInfo,
- u32 addr,
- NNS_G2D_VRAM_TYPE type,
- NNSG2dImagePaletteProxy * pPltProxy
-);
-
-typedef struct NNSG2dCellVramTransferData
-{
- u32 srcDataOffset;
- u32 szByte;
-} NNSG2dCellVramTransferData;
-
-typedef struct NNSG2dVramTransferData
-{
- u32 szByteMax;
- NNSG2dCellVramTransferData * pCellTransferDataArray;
-} NNSG2dVramTransferData;
-
-typedef struct NNSG2dCellOAMAttrData
-{
- u16 attr0;
- u16 attr1;
- u16 attr2;
-} NNSG2dCellOAMAttrData;
-
-typedef struct NNSG2dCellData
-{
- u16 numOAMAttrs;
- u16 cellAttr;
- NNSG2dCellOAMAttrData * pOamAttrArray;
-
-} NNSG2dCellData;
-
-typedef struct NNSG2dCellDataBank
-{
- u16 numCells;
- u16 cellBankAttr;
- NNSG2dCellData * pCellDataArrayHead;
- NNSG2dCharacterDataMapingType mappingMode;
- NNSG2dVramTransferData * pVramTransferData;
- void * pStringBank;
- void * pExtendedData;
-
-} NNSG2dCellDataBank;
-
-typedef enum NNSG2dAnimationPlayMode
-{
- NNS_G2D_ANIMATIONPLAYMODE_INVALID = 0x0,
- NNS_G2D_ANIMATIONPLAYMODE_FORWARD,
- NNS_G2D_ANIMATIONPLAYMODE_FORWARD_LOOP,
- NNS_G2D_ANIMATIONPLAYMODE_REVERSE,
- NNS_G2D_ANIMATIONPLAYMODE_REVERSE_LOOP,
- NNS_G2D_ANIMATIONPLAYMODE_MAX
-} NNSG2dAnimationPlayMode;
-
-typedef struct NNSG2dAnimFrameData
-{
- void * pContent;
- u16 frames;
- u16 pad16;
-} NNSG2dAnimFrameData;
-
-typedef struct NNSG2dAnimSequenceData
-{
- u16 numFrames;
- u16 loopStartFrameIdx;
- u32 animType;
- NNSG2dAnimationPlayMode playMode;
- NNSG2dAnimFrameData * pAnmFrameArray;
-
-} NNSG2dAnimSequenceData;
-
-typedef struct NNSG2dAnimBankData
-{
-
- u16 numSequences;
- u16 numTotalFrames;
- NNSG2dAnimSequenceData * pSequenceArrayHead;
- NNSG2dAnimFrameData * pFrameArrayHead;
- void * pAnimContents;
- void * pStringBank;
- void * pExtendedData;
-
-} NNSG2dAnimBankData;
-
-BOOL NNS_G2dGetUnpackedBGCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
-BOOL NNS_G2dGetUnpackedCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
-BOOL NNS_G2dGetUnpackedScreenData(void * pNscrFile, NNSG2dScreenData ** ppScrData);
-BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData);
-BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData);
-BOOL NNS_G2dGetUnpackedPaletteCompressInfo(void * pNclrFile, NNSG2dPaletteCompressInfo ** ppPltCmpInfo);
-BOOL NNS_G2dGetUnpackedCellBank(void * pNcerFile, NNSG2dCellDataBank ** ppCellBank);
-BOOL NNS_G2dGetUnpackedAnimBank(void * pNanrFile, NNSG2dAnimBankData ** ppAnimBank);
-
-#endif //NNSYS_NNS_G2D_H
+#ifndef NNSYS_NNS_G2D_H
+#define NNSYS_NNS_G2D_H
+
+#include "gx.h"
+
+typedef struct NNSG2dCharacterData
+{
+ u16 H;
+ u16 W;
+ GXTexFmt pixelFmt;
+ GXOBJVRamModeChar mapingType;
+ u32 characterFmt;
+ u32 szByte;
+ void * pRawData;
+} NNSG2dCharacterData;
+
+typedef struct NNSG2dScreenData
+{
+ u16 screenWidth;
+ u16 screenHeight;
+ u16 colorMode;
+ u16 screenFormat;
+ u32 szByte;
+ u32 rawData[1];
+} NNSG2dScreenData;
+
+typedef struct NNSG2dPaletteData
+{
+ GXTexFmt fmt;
+ BOOL bExtendedPlt;
+ u32 szByte;
+ void * pRawData;
+
+} NNSG2dPaletteData;
+
+typedef enum NNS_G2D_VRAM_TYPE
+{
+ NNS_G2D_VRAM_TYPE_3DMAIN = 0,
+ NNS_G2D_VRAM_TYPE_2DMAIN = 1,
+ NNS_G2D_VRAM_TYPE_2DSUB = 2,
+ NNS_G2D_VRAM_TYPE_MAX = 3
+} NNS_G2D_VRAM_TYPE;
+
+typedef enum NNSG2dCharacterDataMapingType
+{
+ NNS_G2D_CHARACTERMAPING_1D_32,
+ NNS_G2D_CHARACTERMAPING_1D_64,
+ NNS_G2D_CHARACTERMAPING_1D_128,
+ NNS_G2D_CHARACTERMAPING_1D_256,
+ NNS_G2D_CHARACTERMAPING_2D,
+ NNS_G2D_CHARACTERMAPING_MAX
+
+} NNSG2dCharacterDataMapingType;
+
+typedef struct NNSG2dImageAttr
+{
+ GXTexSizeS sizeS;
+ GXTexSizeT sizeT;
+ GXTexFmt fmt;
+ BOOL bExtendedPlt;
+ GXTexPlttColor0 plttUse;
+ GXOBJVRamModeChar mappingType;
+} NNSG2dImageAttr;
+
+typedef struct NNSG2dVRamLocation
+{
+ u32 baseAddrOfVram[ NNS_G2D_VRAM_TYPE_MAX ];
+} NNSG2dVRamLocation;
+
+typedef struct NNSG2dImageProxy
+{
+ NNSG2dVRamLocation vramLocation;
+ NNSG2dImageAttr attr;
+} NNSG2dImageProxy;
+
+typedef struct NNSG2dPaletteCompressInfo
+{
+ u16 numPalette;
+ u16 pad16;
+ void * pPlttIdxTbl;
+
+} NNSG2dPaletteCompressInfo;
+
+void NNS_G2dLoadImage1DMapping
+(
+ const NNSG2dCharacterData * pSrcData,
+ u32 baseAddr,
+ NNS_G2D_VRAM_TYPE type,
+ NNSG2dImageProxy * pImgProxy
+);
+
+void NNS_G2dLoadImage2DMapping
+(
+ const NNSG2dCharacterData * pSrcData,
+ u32 baseAddr,
+ NNS_G2D_VRAM_TYPE type,
+ NNSG2dImageProxy * pImgProxy
+);
+
+typedef struct NNSG2dImagePaletteProxy
+{
+ GXTexFmt fmt;
+ BOOL bExtendedPlt;
+ NNSG2dVRamLocation vramLocation;
+} NNSG2dImagePaletteProxy;
+
+void NNS_G2dLoadPalette
+(
+ const NNSG2dPaletteData * pSrcData,
+ u32 addr,
+ NNS_G2D_VRAM_TYPE type,
+ NNSG2dImagePaletteProxy * pPltProxy
+);
+
+void NNS_G2dLoadPaletteEx
+(
+ const NNSG2dPaletteData * pSrcData,
+ const NNSG2dPaletteCompressInfo * pCmpInfo,
+ u32 addr,
+ NNS_G2D_VRAM_TYPE type,
+ NNSG2dImagePaletteProxy * pPltProxy
+);
+
+typedef struct NNSG2dCellVramTransferData
+{
+ u32 srcDataOffset;
+ u32 szByte;
+} NNSG2dCellVramTransferData;
+
+typedef struct NNSG2dVramTransferData
+{
+ u32 szByteMax;
+ NNSG2dCellVramTransferData * pCellTransferDataArray;
+} NNSG2dVramTransferData;
+
+typedef struct NNSG2dCellOAMAttrData
+{
+ u16 attr0;
+ u16 attr1;
+ u16 attr2;
+} NNSG2dCellOAMAttrData;
+
+typedef struct NNSG2dCellData
+{
+ u16 numOAMAttrs;
+ u16 cellAttr;
+ NNSG2dCellOAMAttrData * pOamAttrArray;
+
+} NNSG2dCellData;
+
+typedef struct NNSG2dCellDataBank
+{
+ u16 numCells;
+ u16 cellBankAttr;
+ NNSG2dCellData * pCellDataArrayHead;
+ NNSG2dCharacterDataMapingType mappingMode;
+ NNSG2dVramTransferData * pVramTransferData;
+ void * pStringBank;
+ void * pExtendedData;
+
+} NNSG2dCellDataBank;
+
+typedef enum NNSG2dAnimationPlayMode
+{
+ NNS_G2D_ANIMATIONPLAYMODE_INVALID = 0x0,
+ NNS_G2D_ANIMATIONPLAYMODE_FORWARD,
+ NNS_G2D_ANIMATIONPLAYMODE_FORWARD_LOOP,
+ NNS_G2D_ANIMATIONPLAYMODE_REVERSE,
+ NNS_G2D_ANIMATIONPLAYMODE_REVERSE_LOOP,
+ NNS_G2D_ANIMATIONPLAYMODE_MAX
+} NNSG2dAnimationPlayMode;
+
+typedef struct NNSG2dAnimFrameData
+{
+ void * pContent;
+ u16 frames;
+ u16 pad16;
+} NNSG2dAnimFrameData;
+
+typedef struct NNSG2dAnimSequenceData
+{
+ u16 numFrames;
+ u16 loopStartFrameIdx;
+ u32 animType;
+ NNSG2dAnimationPlayMode playMode;
+ NNSG2dAnimFrameData * pAnmFrameArray;
+
+} NNSG2dAnimSequenceData;
+
+typedef struct NNSG2dAnimBankData
+{
+
+ u16 numSequences;
+ u16 numTotalFrames;
+ NNSG2dAnimSequenceData * pSequenceArrayHead;
+ NNSG2dAnimFrameData * pFrameArrayHead;
+ void * pAnimContents;
+ void * pStringBank;
+ void * pExtendedData;
+
+} NNSG2dAnimBankData;
+
+BOOL NNS_G2dGetUnpackedBGCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
+BOOL NNS_G2dGetUnpackedCharacterData(void * pNcgrFile, NNSG2dCharacterData ** ppCharData);
+BOOL NNS_G2dGetUnpackedScreenData(void * pNscrFile, NNSG2dScreenData ** ppScrData);
+BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData);
+BOOL NNS_G2dGetUnpackedPaletteData(void * pNclrFile, NNSG2dPaletteData ** ppPltData);
+BOOL NNS_G2dGetUnpackedPaletteCompressInfo(void * pNclrFile, NNSG2dPaletteCompressInfo ** ppPltCmpInfo);
+BOOL NNS_G2dGetUnpackedCellBank(void * pNcerFile, NNSG2dCellDataBank ** ppCellBank);
+BOOL NNS_G2dGetUnpackedAnimBank(void * pNanrFile, NNSG2dAnimBankData ** ppAnimBank);
+
+#endif //NNSYS_NNS_G2D_H
diff --git a/arm9/lib/libnns/src/.gitkeep b/arm9/lib/libnns/src/.gitkeep
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/arm9/lib/libnns/src/.gitkeep