From 6b685afbea4e7606fe3db71f6473340ad4917575 Mon Sep 17 00:00:00 2001 From: maxluli Date: Fri, 21 Jun 2024 10:30:33 +0200 Subject: [PATCH] Horrible game but I need to send it now --- Debug/MyProject.axf | Bin 409356 -> 410508 bytes Debug/MyProject.map | 452 ++++++++++++++++--------------- Debug/MyProject_Debug.ld | 2 +- Debug/MyProject_Debug_library.ld | 2 +- Debug/MyProject_Debug_memory.ld | 2 +- Debug/src/SPI.o | Bin 294396 -> 296584 bytes Debug/src/SPI.su | 29 +- Debug/src/main.o | Bin 151000 -> 151180 bytes Debug/src/main.su | 31 +-- src/SPI.c | 59 +++- src/SPI.h | 3 +- src/main.c | 47 ++-- 12 files changed, 352 insertions(+), 275 deletions(-) diff --git a/Debug/MyProject.axf b/Debug/MyProject.axf index d4d0eab6b0f87f7f9a6338e0285e3c5a1993ed8e..f67630320afa062ed3deff840d1a721976353215 100755 GIT binary patch delta 17051 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 Ttnrr#P&Ry`WM3P@VDSF{+jit> delta 15373 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 Y<{HUPIgPprFm`yXWPdjfSIU(C1BKLXPyhe` diff --git a/Debug/MyProject.map b/Debug/MyProject.map index 57b8ae3..8fb9552 100644 --- a/Debug/MyProject.map +++ b/Debug/MyProject.map @@ -160,6 +160,7 @@ Discarded input sections 0x00000000 0x4 ./src/main.o .text.scroll_array 0x00000000 0x7e ./src/main.o + .text.max 0x00000000 0x22 ./src/main.o .debug_macro 0x00000000 0xab4 ./src/main.o .debug_macro 0x00000000 0x196 ./src/main.o .debug_macro 0x00000000 0x10 ./src/main.o @@ -675,7 +676,7 @@ END GROUP 0x20084000 __top_RamAHB32 = 0x20084000 0x20084000 __top_RAM2 = 0x20084000 -.text 0x00000000 0x5262c +.text 0x00000000 0x5282c FILL mask 0xff 0x00000000 __vectors_start__ = ABSOLUTE (.) *(.isr_vector) @@ -684,15 +685,15 @@ END GROUP 0x000000cc . = ALIGN (0x4) 0x000000cc __section_table_start = . 0x000000cc __data_section_table = . - 0x000000cc 0x4 LONG 0x5262c LOADADDR (.data) + 0x000000cc 0x4 LONG 0x5282c LOADADDR (.data) 0x000000d0 0x4 LONG 0x10000000 ADDR (.data) - 0x000000d4 0x4 LONG 0x110 SIZEOF (.data) - 0x000000d8 0x4 LONG 0x5262c LOADADDR (.data_RAM2) + 0x000000d4 0x4 LONG 0x114 SIZEOF (.data) + 0x000000d8 0x4 LONG 0x5282c LOADADDR (.data_RAM2) 0x000000dc 0x4 LONG 0x2007c000 ADDR (.data_RAM2) 0x000000e0 0x4 LONG 0x0 SIZEOF (.data_RAM2) 0x000000e4 __data_section_table_end = . 0x000000e4 __bss_section_table = . - 0x000000e4 0x4 LONG 0x10000110 ADDR (.bss) + 0x000000e4 0x4 LONG 0x10000114 ADDR (.bss) 0x000000e8 0x4 LONG 0x94 SIZEOF (.bss) 0x000000ec 0x4 LONG 0x2007c000 ADDR (.bss_RAM2) 0x000000f0 0x4 LONG 0x0 SIZEOF (.bss_RAM2) @@ -818,134 +819,140 @@ END GROUP 0x000008fc Resize_Window .text.scroll 0x000009c0 0x38 ./src/SPI.o 0x000009c0 scroll - .text.Get_Color_From_Background - 0x000009f8 0x80 ./src/SPI.o - 0x000009f8 Get_Color_From_Background - .text.Get_Color_From_Sprite - 0x00000a78 0x58 ./src/SPI.o - 0x00000a78 Get_Color_From_Sprite - .text.auto_screen_roloff - 0x00000ad0 0x66 ./src/SPI.o - 0x00000ad0 auto_screen_roloff - .text.Refresh_Area - 0x00000b36 0xa6 ./src/SPI.o - 0x00000b36 Refresh_Area - .text.Draw_Walls - 0x00000bdc 0x9c ./src/SPI.o - 0x00000bdc Draw_Walls - .text.Refresh_Player_Area - 0x00000c78 0x1a0 ./src/SPI.o - 0x00000c78 Refresh_Player_Area - .text.Draw_stars - 0x00000e18 0x64 ./src/SPI.o - 0x00000e18 Draw_stars - .text.strLen 0x00000e7c 0x3a ./src/SPI.o - 0x00000e7c strLen - *fill* 0x00000eb6 0x2 ff - .text.DrawChar - 0x00000eb8 0x108 ./src/SPI.o - 0x00000eb8 DrawChar - .text.DrawText - 0x00000fc0 0x8c ./src/SPI.o - 0x00000fc0 DrawText - .text.SystemInit - 0x0000104c 0x144 ./src/init_clk.o - 0x0000104c SystemInit - .text.init 0x00001190 0x1c ./src/main.o - 0x00001190 init - .text.TIMER0_IRQHandler - 0x000011ac 0x40 ./src/main.o - 0x000011ac TIMER0_IRQHandler - .text.EINT3_IRQHandler - 0x000011ec 0x30 ./src/main.o - 0x000011ec EINT3_IRQHandler - .text.increment_scroll - 0x0000121c 0x50 ./src/main.o - 0x0000121c increment_scroll - .text.SysTick_Handler - 0x0000126c 0x48 ./src/main.o - 0x0000126c SysTick_Handler - .text.number_of_digits - 0x000012b4 0x40 ./src/main.o - 0x000012b4 number_of_digits - .text.convert_to_string - 0x000012f4 0x7c ./src/main.o - 0x000012f4 convert_to_string - .text.min 0x00001370 0x22 ./src/main.o - 0x00001370 min - .text.max 0x00001392 0x22 ./src/main.o - 0x00001392 max - .text.CreatePlayer - 0x000013b4 0xac ./src/main.o - 0x000013b4 CreatePlayer - .text.CreateWalls - 0x00001460 0xd0 ./src/main.o - 0x00001460 CreateWalls .text.checkCollision - 0x00001530 0x50 ./src/main.o - 0x00001530 checkCollision + 0x000009f8 0x50 ./src/SPI.o + 0x000009f8 checkCollision + .text.Get_Color_From_Background + 0x00000a48 0x80 ./src/SPI.o + 0x00000a48 Get_Color_From_Background + .text.Get_Color_From_Walls + 0x00000ac8 0x9c ./src/SPI.o + 0x00000ac8 Get_Color_From_Walls + .text.Get_Color_From_Sprite + 0x00000b64 0x58 ./src/SPI.o + 0x00000b64 Get_Color_From_Sprite + .text.auto_screen_roloff + 0x00000bbc 0x66 ./src/SPI.o + 0x00000bbc auto_screen_roloff + .text.checkInWall + 0x00000c22 0x44 ./src/SPI.o + 0x00000c22 checkInWall + .text.Refresh_Area + 0x00000c66 0x142 ./src/SPI.o + 0x00000c66 Refresh_Area + .text.Draw_Walls + 0x00000da8 0xc6 ./src/SPI.o + 0x00000da8 Draw_Walls + *fill* 0x00000e6e 0x2 ff + .text.Refresh_Player_Area + 0x00000e70 0x1a0 ./src/SPI.o + 0x00000e70 Refresh_Player_Area + .text.Draw_stars + 0x00001010 0x64 ./src/SPI.o + 0x00001010 Draw_stars + .text.strLen 0x00001074 0x3a ./src/SPI.o + 0x00001074 strLen + *fill* 0x000010ae 0x2 ff + .text.DrawChar + 0x000010b0 0x108 ./src/SPI.o + 0x000010b0 DrawChar + .text.DrawText + 0x000011b8 0x8c ./src/SPI.o + 0x000011b8 DrawText + .text.SystemInit + 0x00001244 0x144 ./src/init_clk.o + 0x00001244 SystemInit + .text.init 0x00001388 0x1c ./src/main.o + 0x00001388 init + .text.TIMER0_IRQHandler + 0x000013a4 0x40 ./src/main.o + 0x000013a4 TIMER0_IRQHandler + .text.EINT3_IRQHandler + 0x000013e4 0x4c ./src/main.o + 0x000013e4 EINT3_IRQHandler + .text.increment_scroll + 0x00001430 0x50 ./src/main.o + 0x00001430 increment_scroll + .text.SysTick_Handler + 0x00001480 0x48 ./src/main.o + 0x00001480 SysTick_Handler + .text.number_of_digits + 0x000014c8 0x40 ./src/main.o + 0x000014c8 number_of_digits + .text.convert_to_string + 0x00001508 0x7c ./src/main.o + 0x00001508 convert_to_string + .text.min 0x00001584 0x22 ./src/main.o + 0x00001584 min + *fill* 0x000015a6 0x2 ff + .text.CreatePlayer + 0x000015a8 0xac ./src/main.o + 0x000015a8 CreatePlayer + .text.CreateWalls + 0x00001654 0x10c ./src/main.o + 0x00001654 CreateWalls .text.RefreshPlayer - 0x00001580 0x198 ./src/main.o - 0x00001580 RefreshPlayer + 0x00001760 0x1a4 ./src/main.o + 0x00001760 RefreshPlayer .text.InitGame - 0x00001718 0x64 ./src/main.o - 0x00001718 InitGame - .text.main 0x0000177c 0x264 ./src/main.o - 0x0000177c main + 0x00001904 0x64 ./src/main.o + 0x00001904 InitGame + .text.main 0x00001968 0x278 ./src/main.o + 0x00001968 main .text.__weak_main - 0x000019e0 0x4 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - 0x000019e0 __main - 0x000019e0 __weak_main - .text.rand 0x000019e4 0x48 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) - 0x000019e4 rand - .text.srand 0x00001a2c 0x40 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) - 0x00001a2c srand - .text.abs 0x00001a6c 0x8 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) - 0x00001a6c abs + 0x00001be0 0x4 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + 0x00001be0 __main + 0x00001be0 __weak_main + .text.rand 0x00001be4 0x48 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + 0x00001be4 rand + .text.srand 0x00001c2c 0x40 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + 0x00001c2c srand + .text.abs 0x00001c6c 0x8 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + 0x00001c6c abs *(.rodata .rodata.* .constdata .constdata.*) - .rodata.SMPTE 0x00001a74 0x38410 ./src/SPI.o + .rodata.SMPTE 0x00001c74 0x38410 ./src/SPI.o .rodata.ShipSprite1 - 0x00039e84 0xc10 ./src/SPI.o + 0x0003a084 0xc10 ./src/SPI.o .rodata.SmallFont - 0x0003aa94 0x478 ./src/fonts.o - 0x0003aa94 SmallFont + 0x0003ac94 0x478 ./src/fonts.o + 0x0003ac94 SmallFont .rodata.AllMyFellas_wav - 0x0003af0c 0x17700 ./src/main.o - 0x0003af0c AllMyFellas_wav + 0x0003b10c 0x17700 ./src/main.o + 0x0003b10c AllMyFellas_wav .rodata.SCREEN - 0x0005260c 0x10 ./src/main.o - 0x0005260c SCREEN - .rodata 0x0005261c 0x10 ./src/main.o - 0x0005262c . = ALIGN (0x4) + 0x0005280c 0x10 ./src/main.o + 0x0005280c SCREEN + .rodata 0x0005281c 0x10 ./src/main.o + 0x0005282c . = ALIGN (0x4) -.glue_7 0x0005262c 0x0 - .glue_7 0x0005262c 0x0 linker stubs +.glue_7 0x0005282c 0x0 + .glue_7 0x0005282c 0x0 linker stubs -.glue_7t 0x0005262c 0x0 - .glue_7t 0x0005262c 0x0 linker stubs +.glue_7t 0x0005282c 0x0 + .glue_7t 0x0005282c 0x0 linker stubs -.vfp11_veneer 0x0005262c 0x0 - .vfp11_veneer 0x0005262c 0x0 linker stubs +.vfp11_veneer 0x0005282c 0x0 + .vfp11_veneer 0x0005282c 0x0 linker stubs -.v4_bx 0x0005262c 0x0 - .v4_bx 0x0005262c 0x0 linker stubs +.v4_bx 0x0005282c 0x0 + .v4_bx 0x0005282c 0x0 linker stubs -.iplt 0x0005262c 0x0 - .iplt 0x0005262c 0x0 ./src/SPI.o +.iplt 0x0005282c 0x0 + .iplt 0x0005282c 0x0 ./src/SPI.o -.rel.dyn 0x0005262c 0x0 - .rel.iplt 0x0005262c 0x0 ./src/SPI.o +.rel.dyn 0x0005282c 0x0 + .rel.iplt 0x0005282c 0x0 ./src/SPI.o .ARM.extab *(.ARM.extab* .gnu.linkonce.armextab.*) -.ARM.exidx 0x0005262c 0x0 - 0x0005262c __exidx_start = . +.ARM.exidx 0x0005282c 0x0 + 0x0005282c __exidx_start = . *(.ARM.exidx* .gnu.linkonce.armexidx.*) - 0x0005262c __exidx_end = . - 0x0005262c _etext = . + 0x0005282c __exidx_end = . + 0x0005282c _etext = . -.data_RAM2 0x2007c000 0x0 load address 0x0005262c +.data_RAM2 0x2007c000 0x0 load address 0x0005282c FILL mask 0xff [!provide] PROVIDE (__start_data_RAM2 = .) [!provide] PROVIDE (__start_data_RamAHB32 = .) @@ -966,7 +973,7 @@ END GROUP 0x10000000 . = ALIGN (0x4) 0x10000000 _end_uninit_RESERVED = . -.data 0x10000000 0x110 load address 0x0005262c +.data 0x10000000 0x114 load address 0x0005282c FILL mask 0xff 0x10000000 _data = . [!provide] PROVIDE (__start_data_RAM = .) @@ -983,33 +990,36 @@ END GROUP .data.numberOfWalls 0x10000010 0x4 ./src/main.o 0x10000010 numberOfWalls - .data.maxWallSize + .data.defaultWallSize 0x10000014 0x8 ./src/main.o - 0x10000014 maxWallSize + 0x10000014 defaultWallSize .data.seed 0x1000001c 0x4 ./src/main.o 0x1000001c seed .data.maxPlayerSpeed 0x10000020 0x4 ./src/main.o 0x10000020 maxPlayerSpeed - .data.scroller_divider + .data.hitboxActivated 0x10000024 0x4 ./src/main.o - 0x10000024 scroller_divider - .data.scroll_increment + 0x10000024 hitboxActivated + .data.scroller_divider 0x10000028 0x4 ./src/main.o - 0x10000028 scroll_increment + 0x10000028 scroller_divider + .data.scroll_increment + 0x1000002c 0x4 ./src/main.o + 0x1000002c scroll_increment .data._random_k - 0x1000002c 0x4 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) - .data._random_j 0x10000030 0x4 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .data._random_j + 0x10000034 0x4 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) .data._random_number_seed - 0x10000034 0xdc /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) - 0x10000110 . = ALIGN (0x4) - 0x10000110 _edata = . + 0x10000038 0xdc /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + 0x10000114 . = ALIGN (0x4) + 0x10000114 _edata = . [!provide] PROVIDE (__end_data_RAM = .) [!provide] PROVIDE (__end_data_RamLoc32 = .) -.igot.plt 0x10000110 0x0 load address 0x0005273c - .igot.plt 0x10000110 0x0 ./src/SPI.o +.igot.plt 0x10000114 0x0 load address 0x00052940 + .igot.plt 0x10000114 0x0 ./src/SPI.o .bss_RAM2 0x2007c000 0x0 [!provide] PROVIDE (__start_bss_RAM2 = .) @@ -1022,38 +1032,38 @@ END GROUP [!provide] PROVIDE (__end_bss_RAM2 = .) [!provide] PROVIDE (__end_bss_RamAHB32 = .) -.bss 0x10000110 0x94 - 0x10000110 _bss = . +.bss 0x10000114 0x94 + 0x10000114 _bss = . [!provide] PROVIDE (__start_bss_RAM = .) [!provide] PROVIDE (__start_bss_RamLoc32 = .) *(.bss*) .bss.showDebug - 0x10000110 0x4 ./src/SPI.o - 0x10000110 showDebug - .bss.momentum 0x10000114 0x8 ./src/main.o - 0x10000114 momentum - .bss.walls 0x1000011c 0x60 ./src/main.o - 0x1000011c walls - .bss.score 0x1000017c 0x4 ./src/main.o - 0x1000017c score - .bss.player 0x10000180 0x14 ./src/main.o - 0x10000180 player + 0x10000114 0x4 ./src/SPI.o + 0x10000114 showDebug + .bss.momentum 0x10000118 0x8 ./src/main.o + 0x10000118 momentum + .bss.walls 0x10000120 0x60 ./src/main.o + 0x10000120 walls + .bss.score 0x10000180 0x4 ./src/main.o + 0x10000180 score + .bss.player 0x10000184 0x14 ./src/main.o + 0x10000184 player .bss.scrolling - 0x10000194 0x4 ./src/main.o - 0x10000194 scrolling + 0x10000198 0x4 ./src/main.o + 0x10000198 scrolling .bss.need_to_scroll - 0x10000198 0x1 ./src/main.o - 0x10000198 need_to_scroll - *fill* 0x10000199 0x3 + 0x1000019c 0x1 ./src/main.o + 0x1000019c need_to_scroll + *fill* 0x1000019d 0x3 .bss.audioValue - 0x1000019c 0x4 ./src/main.o - 0x1000019c audioValue - .bss.timer_count 0x100001a0 0x4 ./src/main.o - 0x100001a0 timer_count + 0x100001a0 audioValue + .bss.timer_count + 0x100001a4 0x4 ./src/main.o + 0x100001a4 timer_count *(COMMON) - 0x100001a4 . = ALIGN (0x4) - 0x100001a4 _ebss = . + 0x100001a8 . = ALIGN (0x4) + 0x100001a8 _ebss = . [!provide] PROVIDE (__end_bss_RAM = .) [!provide] PROVIDE (__end_bss_RamLoc32 = .) [!provide] PROVIDE (end = .) @@ -1069,74 +1079,74 @@ END GROUP [!provide] PROVIDE (__end_noinit_RAM2 = .) [!provide] PROVIDE (__end_noinit_RamAHB32 = .) -.noinit 0x100001a4 0x0 - 0x100001a4 _noinit = . +.noinit 0x100001a8 0x0 + 0x100001a8 _noinit = . [!provide] PROVIDE (__start_noinit_RAM = .) [!provide] PROVIDE (__start_noinit_RamLoc32 = .) *(.noinit*) - 0x100001a4 . = ALIGN (0x4) - 0x100001a4 _end_noinit = . + 0x100001a8 . = ALIGN (0x4) + 0x100001a8 _end_noinit = . [!provide] PROVIDE (__end_noinit_RAM = .) [!provide] PROVIDE (__end_noinit_RamLoc32 = .) - 0x100001a4 PROVIDE (_pvHeapStart = DEFINED (__user_heap_base)?__user_heap_base:.) + 0x100001a8 PROVIDE (_pvHeapStart = DEFINED (__user_heap_base)?__user_heap_base:.) 0x10008000 PROVIDE (_vStackTop = DEFINED (__user_stack_top)?__user_stack_top:(__top_RamLoc32 - 0x0)) 0xefff74b2 PROVIDE (__valid_user_code_checksum = (0x0 - ((((((_vStackTop + (ResetISR + 0x1)) + (NMI_Handler + 0x1)) + (HardFault_Handler + 0x1)) + (DEFINED (MemManage_Handler)?MemManage_Handler:0x0 + 0x1)) + (DEFINED (BusFault_Handler)?BusFault_Handler:0x0 + 0x1)) + (DEFINED (UsageFault_Handler)?UsageFault_Handler:0x0 + 0x1)))) 0x00000000 _image_start = LOADADDR (.text) - 0x0005273c _image_end = (LOADADDR (.data) + SIZEOF (.data)) - 0x0005273c _image_size = (_image_end - _image_start) + 0x00052940 _image_end = (LOADADDR (.data) + SIZEOF (.data)) + 0x00052940 _image_size = (_image_end - _image_start) OUTPUT(MyProject.axf elf32-littlearm) LOAD linker stubs -.debug_info 0x00000000 0x207f +.debug_info 0x00000000 0x221d .debug_info 0x00000000 0x208 ./src/GPIO.o - .debug_info 0x00000208 0xbe8 ./src/SPI.o - .debug_info 0x00000df0 0x29d ./src/cr_startup_lpc175x_6x.o - .debug_info 0x0000108d 0x40 ./src/crp.o - .debug_info 0x000010cd 0xc9 ./src/fonts.o - .debug_info 0x00001196 0xb5 ./src/init_clk.o - .debug_info 0x0000124b 0x92f ./src/main.o - .debug_info 0x00001b7a 0x4a /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - .debug_info 0x00001bc4 0x4bb /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_info 0x00000208 0xd0a ./src/SPI.o + .debug_info 0x00000f12 0x29d ./src/cr_startup_lpc175x_6x.o + .debug_info 0x000011af 0x40 ./src/crp.o + .debug_info 0x000011ef 0xc9 ./src/fonts.o + .debug_info 0x000012b8 0xb5 ./src/init_clk.o + .debug_info 0x0000136d 0x9ab ./src/main.o + .debug_info 0x00001d18 0x4a /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_info 0x00001d62 0x4bb /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) -.debug_abbrev 0x00000000 0xc0c +.debug_abbrev 0x00000000 0xc4e .debug_abbrev 0x00000000 0x12b ./src/GPIO.o - .debug_abbrev 0x0000012b 0x2c8 ./src/SPI.o - .debug_abbrev 0x000003f3 0x14d ./src/cr_startup_lpc175x_6x.o - .debug_abbrev 0x00000540 0x38 ./src/crp.o - .debug_abbrev 0x00000578 0x73 ./src/fonts.o - .debug_abbrev 0x000005eb 0x83 ./src/init_clk.o - .debug_abbrev 0x0000066e 0x298 ./src/main.o - .debug_abbrev 0x00000906 0x4f /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - .debug_abbrev 0x00000955 0x2b7 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_abbrev 0x0000012b 0x2d9 ./src/SPI.o + .debug_abbrev 0x00000404 0x14d ./src/cr_startup_lpc175x_6x.o + .debug_abbrev 0x00000551 0x38 ./src/crp.o + .debug_abbrev 0x00000589 0x73 ./src/fonts.o + .debug_abbrev 0x000005fc 0x83 ./src/init_clk.o + .debug_abbrev 0x0000067f 0x2c9 ./src/main.o + .debug_abbrev 0x00000948 0x4f /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_abbrev 0x00000997 0x2b7 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) -.debug_aranges 0x00000000 0x370 +.debug_aranges 0x00000000 0x380 .debug_aranges 0x00000000 0x78 ./src/GPIO.o .debug_aranges - 0x00000078 0xe0 ./src/SPI.o + 0x00000078 0xf8 ./src/SPI.o .debug_aranges - 0x00000158 0x80 ./src/cr_startup_lpc175x_6x.o + 0x00000170 0x80 ./src/cr_startup_lpc175x_6x.o .debug_aranges - 0x000001d8 0x18 ./src/crp.o + 0x000001f0 0x18 ./src/crp.o .debug_aranges - 0x000001f0 0x18 ./src/fonts.o + 0x00000208 0x18 ./src/fonts.o .debug_aranges - 0x00000208 0x28 ./src/init_clk.o + 0x00000220 0x28 ./src/init_clk.o .debug_aranges - 0x00000230 0x98 ./src/main.o + 0x00000248 0x90 ./src/main.o .debug_aranges - 0x000002c8 0x20 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + 0x000002d8 0x20 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) .debug_aranges - 0x000002e8 0x88 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + 0x000002f8 0x88 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) -.debug_ranges 0x00000000 0x2d0 +.debug_ranges 0x00000000 0x2e0 .debug_ranges 0x00000000 0x68 ./src/GPIO.o - .debug_ranges 0x00000068 0xd0 ./src/SPI.o - .debug_ranges 0x00000138 0x70 ./src/cr_startup_lpc175x_6x.o - .debug_ranges 0x000001a8 0x18 ./src/init_clk.o - .debug_ranges 0x000001c0 0x88 ./src/main.o - .debug_ranges 0x00000248 0x10 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - .debug_ranges 0x00000258 0x78 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_ranges 0x00000068 0xe8 ./src/SPI.o + .debug_ranges 0x00000150 0x70 ./src/cr_startup_lpc175x_6x.o + .debug_ranges 0x000001c0 0x18 ./src/init_clk.o + .debug_ranges 0x000001d8 0x80 ./src/main.o + .debug_ranges 0x00000258 0x10 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_ranges 0x00000268 0x78 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) .debug_macro 0x00000000 0x1767 .debug_macro 0x00000000 0x58 ./src/GPIO.o @@ -1157,35 +1167,35 @@ LOAD linker stubs .debug_macro 0x0000167b 0xc4 ./src/main.o .debug_macro 0x0000173f 0x28 ./src/main.o -.debug_line 0x00000000 0x1ff0 +.debug_line 0x00000000 0x212c .debug_line 0x00000000 0x358 ./src/GPIO.o - .debug_line 0x00000358 0xade ./src/SPI.o - .debug_line 0x00000e36 0x161 ./src/cr_startup_lpc175x_6x.o - .debug_line 0x00000f97 0xb9 ./src/crp.o - .debug_line 0x00001050 0x3a ./src/fonts.o - .debug_line 0x0000108a 0x3c8 ./src/init_clk.o - .debug_line 0x00001452 0x815 ./src/main.o - .debug_line 0x00001c67 0x4a /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - .debug_line 0x00001cb1 0x33f /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_line 0x00000358 0xc99 ./src/SPI.o + .debug_line 0x00000ff1 0x161 ./src/cr_startup_lpc175x_6x.o + .debug_line 0x00001152 0xb9 ./src/crp.o + .debug_line 0x0000120b 0x3a ./src/fonts.o + .debug_line 0x00001245 0x3c8 ./src/init_clk.o + .debug_line 0x0000160d 0x796 ./src/main.o + .debug_line 0x00001da3 0x4a /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_line 0x00001ded 0x33f /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) -.debug_str 0x00000000 0x651d +.debug_str 0x00000000 0x6593 .debug_str 0x00000000 0x5145 ./src/GPIO.o 0x51c4 (size before relaxing) - .debug_str 0x00005145 0x446 ./src/SPI.o - 0x5590 (size before relaxing) - .debug_str 0x0000558b 0x1ef ./src/cr_startup_lpc175x_6x.o + .debug_str 0x00005145 0x493 ./src/SPI.o + 0x55e3 (size before relaxing) + .debug_str 0x000055d8 0x1ef ./src/cr_startup_lpc175x_6x.o 0x2ff0 (size before relaxing) - .debug_str 0x0000577a 0xe9 ./src/crp.o + .debug_str 0x000057c7 0xe9 ./src/crp.o 0x2ee4 (size before relaxing) - .debug_str 0x00005863 0x27 ./src/fonts.o + .debug_str 0x000058b0 0x27 ./src/fonts.o 0x2e69 (size before relaxing) - .debug_str 0x0000588a 0x2e1 ./src/init_clk.o + .debug_str 0x000058d7 0x2e1 ./src/init_clk.o 0x53e9 (size before relaxing) - .debug_str 0x00005b6b 0x7a3 ./src/main.o - 0x5a7b (size before relaxing) - .debug_str 0x0000630e 0x125 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_str 0x00005bb8 0x7cc ./src/main.o + 0x5ab3 (size before relaxing) + .debug_str 0x00006384 0x125 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) 0x12a (size before relaxing) - .debug_str 0x00006433 0xea /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_str 0x000064a9 0xea /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) 0x27b (size before relaxing) .comment 0x00000000 0x45 @@ -1221,14 +1231,14 @@ LOAD linker stubs .ARM.attributes 0x00000168 0x2d /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) -.debug_frame 0x00000000 0xb28 +.debug_frame 0x00000000 0xb80 .debug_frame 0x00000000 0x1b4 ./src/GPIO.o - .debug_frame 0x000001b4 0x3cc ./src/SPI.o - .debug_frame 0x00000580 0x170 ./src/cr_startup_lpc175x_6x.o - .debug_frame 0x000006f0 0x64 ./src/init_clk.o - .debug_frame 0x00000754 0x270 ./src/main.o - .debug_frame 0x000009c4 0x20 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) - .debug_frame 0x000009e4 0x144 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) + .debug_frame 0x000001b4 0x448 ./src/SPI.o + .debug_frame 0x000005fc 0x170 ./src/cr_startup_lpc175x_6x.o + .debug_frame 0x0000076c 0x64 ./src/init_clk.o + .debug_frame 0x000007d0 0x24c ./src/main.o + .debug_frame 0x00000a1c 0x20 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(__weak__main.o) + .debug_frame 0x00000a3c 0x144 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) .debug_loc 0x00000000 0x2a5 .debug_loc 0x00000000 0x2a5 /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) @@ -1278,6 +1288,7 @@ ENET_IRQHandler ./src/cr_startup_lpc175x_6x.o Fill_Gradient ./src/SPI.o Get_Color_From_Background ./src/SPI.o Get_Color_From_Sprite ./src/SPI.o +Get_Color_From_Walls ./src/SPI.o HardFault_Handler ./src/cr_startup_lpc175x_6x.o I2C0_IRQHandler ./src/cr_startup_lpc175x_6x.o I2C1_IRQHandler ./src/cr_startup_lpc175x_6x.o @@ -1475,9 +1486,12 @@ audioValue ./src/main.o auto_screen_roloff ./src/SPI.o bss_init ./src/cr_startup_lpc175x_6x.o calloc /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(alloc.o) -checkCollision ./src/main.o +checkCollision ./src/SPI.o + ./src/main.o +checkInWall ./src/SPI.o convert_to_string ./src/main.o data_init ./src/cr_startup_lpc175x_6x.o +defaultWallSize ./src/main.o div /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(stdlib.o) errno /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(errno.o) /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(_cr_sbrk.o) @@ -1497,6 +1511,7 @@ fseek /Applications/MCUXpressoIDE_11 ftell /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(ftell.o) /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(fseek.o) g_pfnVectors ./src/cr_startup_lpc175x_6x.o +hitboxActivated ./src/main.o increment ./src/main.o increment_scroll ./src/main.o init ./src/main.o @@ -1509,7 +1524,6 @@ main ./src/main.o malloc /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(alloc.o) max ./src/main.o maxPlayerSpeed ./src/main.o -maxWallSize ./src/main.o memcpy /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(memcpy.o) /Applications/MCUXpressoIDE_11.9.0_2144/ide/plugins/com.nxp.mcuxpresso.tools.macosx_11.9.0.202307121226/tools/bin/../lib/gcc/arm-none-eabi/12.3.1/../../../../arm-none-eabi/lib/thumb/v7-m/nofp/libcr_c.a(alloc.o) ./src/SPI.o diff --git a/Debug/MyProject_Debug.ld b/Debug/MyProject_Debug.ld index f19049b..fab7ae8 100644 --- a/Debug/MyProject_Debug.ld +++ b/Debug/MyProject_Debug.ld @@ -5,7 +5,7 @@ * Generated linker script file for LPC1769 * Created from linkscript.ldt by FMCreateLinkLibraries * Using Freemarker v2.3.30 - * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 15, 2024, 11:50:43 AM + * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 21, 2024, 10:28:42 AM */ INCLUDE "MyProject_Debug_library.ld" diff --git a/Debug/MyProject_Debug_library.ld b/Debug/MyProject_Debug_library.ld index 81e338d..c1d9eb4 100644 --- a/Debug/MyProject_Debug_library.ld +++ b/Debug/MyProject_Debug_library.ld @@ -5,7 +5,7 @@ * Generated linker script file for LPC1769 * Created from library.ldt by FMCreateLinkLibraries * Using Freemarker v2.3.30 - * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 15, 2024, 11:50:43 AM + * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 21, 2024, 10:28:42 AM */ GROUP ( diff --git a/Debug/MyProject_Debug_memory.ld b/Debug/MyProject_Debug_memory.ld index fd8fe62..01b75b1 100644 --- a/Debug/MyProject_Debug_memory.ld +++ b/Debug/MyProject_Debug_memory.ld @@ -5,7 +5,7 @@ * Generated linker script file for LPC1769 * Created from memory.ldt by FMCreateLinkMemory * Using Freemarker v2.3.30 - * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 15, 2024, 11:50:43 AM + * MCUXpresso IDE v11.9.0 [Build 2144] [2024-01-05] on Jun 21, 2024, 10:28:42 AM */ MEMORY diff --git a/Debug/src/SPI.o b/Debug/src/SPI.o index b2096f03ece24c2146f9396bf85660b8f9040324..48e473344f9b769571f11be106b585c48c784a19 100644 GIT binary patch delta 25203 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 diff --git a/Debug/src/SPI.su b/Debug/src/SPI.su index 134d65b..834453e 100644 --- a/Debug/src/SPI.su +++ b/Debug/src/SPI.su @@ -10,16 +10,19 @@ ../src/SPI.c:199:6:SendPixel 24 static ../src/SPI.c:212:6:Resize_Window 64 static ../src/SPI.c:246:6:scroll 24 static -../src/SPI.c:256:6:Get_Color_From_Background 32 static -../src/SPI.c:269:6:Get_Color_From_Sprite 32 static -../src/SPI.c:275:6:auto_screen_roloff 64 static -../src/SPI.c:285:6:Refresh_Area 72 static -../src/SPI.c:298:6:Draw_Walls 72 static -../src/SPI.c:313:6:Refresh_Player_Area 88 static -../src/SPI.c:338:6:DrawPlayer 3144 static -../src/SPI.c:359:6:Draw_stars 32 static -../src/SPI.c:369:5:strLen 24 static -../src/SPI.c:379:6:DrawChar 72 static -../src/SPI.c:400:6:DrawText 72 static -../src/SPI.c:408:6:DrawSolidBackground 24 static -../src/SPI.c:416:6:Fill_Gradient 48 static +../src/SPI.c:255:5:checkCollision 24 static +../src/SPI.c:262:6:Get_Color_From_Background 32 static +../src/SPI.c:274:6:Get_Color_From_Walls 24 static +../src/SPI.c:288:6:Get_Color_From_Sprite 32 static +../src/SPI.c:294:6:auto_screen_roloff 64 static +../src/SPI.c:303:5:checkInWall 24 static +../src/SPI.c:313:6:Refresh_Area 96 static +../src/SPI.c:340:6:Draw_Walls 72 static +../src/SPI.c:360:6:Refresh_Player_Area 88 static +../src/SPI.c:385:6:DrawPlayer 3144 static +../src/SPI.c:406:6:Draw_stars 32 static +../src/SPI.c:416:5:strLen 24 static +../src/SPI.c:426:6:DrawChar 72 static +../src/SPI.c:447:6:DrawText 72 static +../src/SPI.c:455:6:DrawSolidBackground 24 static +../src/SPI.c:463:6:Fill_Gradient 48 static diff --git a/Debug/src/main.o b/Debug/src/main.o index 25295b1845a35c30a5ba75356b667826d2e23897..6f525a470f22de6bc8191338def757813247d9a4 100644 GIT binary patch delta 16648 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 diff --git a/Debug/src/main.su b/Debug/src/main.su index 2901ad2..eb08001 100644 --- a/Debug/src/main.su +++ b/Debug/src/main.su @@ -1,16 +1,15 @@ -../src/main.c:35:6:init 8 static -../src/main.c:46:6:TIMER0_IRQHandler 8 static -../src/main.c:55:6:EINT3_IRQHandler 24 static -../src/main.c:69:6:increment_scroll 16 static -../src/main.c:78:6:SysTick_Handler 8 static -../src/main.c:88:5:number_of_digits 24 static -../src/main.c:98:6:convert_to_string 40 static -../src/main.c:109:6:scroll_array 32 static -../src/main.c:118:5:min 16 static -../src/main.c:125:5:max 16 static -../src/main.c:133:8:CreatePlayer 88 static -../src/main.c:142:6:CreateWalls 88 static -../src/main.c:151:5:checkCollision 24 static -../src/main.c:158:6:RefreshPlayer 80 static -../src/main.c:202:6:InitGame 40 static -../src/main.c:212:5:main 112 dynamic +../src/main.c:37:6:init 8 static +../src/main.c:48:6:TIMER0_IRQHandler 8 static +../src/main.c:57:6:EINT3_IRQHandler 24 static +../src/main.c:76:6:increment_scroll 16 static +../src/main.c:85:6:SysTick_Handler 8 static +../src/main.c:95:5:number_of_digits 24 static +../src/main.c:105:6:convert_to_string 40 static +../src/main.c:116:6:scroll_array 32 static +../src/main.c:125:5:min 16 static +../src/main.c:132:5:max 16 static +../src/main.c:140:8:CreatePlayer 88 static +../src/main.c:149:6:CreateWalls 96 static +../src/main.c:174:6:RefreshPlayer 80 static +../src/main.c:217:6:InitGame 40 static +../src/main.c:227:5:main 112 dynamic diff --git a/src/SPI.c b/src/SPI.c index cb60726..46b0eff 100644 --- a/src/SPI.c +++ b/src/SPI.c @@ -252,7 +252,13 @@ void scroll(uint16_t scroll){ Write_Cmd_Data(first_command); Write_Cmd_Data(second_command); } - +int checkCollision(Rectangle A, Rectangle B) { + if (A.Position.X + A.Size.Width < B.Position.X || B.Position.X + B.Size.Width < A.Position.X) + return 0; + if (A.Position.Y + A.Size.Height < B.Position.Y || B.Position.Y + B.Size.Height < A.Position.Y) + return 0; + return 1; +} void Get_Color_From_Background(Point whereToLook,Color *color){ if(whereToLook.Y < 0) whereToLook.Y = whereToLook.Y % SCREEN_HEIGHT; @@ -265,7 +271,20 @@ void Get_Color_From_Background(Point whereToLook,Color *color){ color->Green = SMPTE.pixel_data[index+1]; color->Blue = SMPTE.pixel_data[index+2]; } - +void Get_Color_From_Walls(Point whereToLook,Color *color,Obstacle *walls,int wallId){ + if(whereToLook.X == walls[wallId].Hitbox.Position.X || + whereToLook.Y == walls[wallId].Hitbox.Position.Y || + whereToLook.Y == walls[wallId].Hitbox.Position.Y+walls[wallId].Hitbox.Size.Height || + whereToLook.X == walls[wallId].Hitbox.Position.X+walls[wallId].Hitbox.Size.Width){ + color->Red = 0xFF; + color->Green = 0xFF; + color->Blue = 0xFF; + }else{ + color->Red = 0; + color->Green = 0; + color->Blue = 0; + } +} void Get_Color_From_Sprite(Point whereToLook, Color *color){ int index = ((whereToLook.Y << 5)+whereToLook.X)*3; color->Red = ShipSprite1.pixel_data[index]; @@ -281,15 +300,38 @@ void auto_screen_roloff(Rectangle area,Point currentPos){ Write_Cmd(0x2C); } } - -void Refresh_Area(Rectangle area){ +int checkInWall(Obstacle wall,Point pos){ + if(pos.X >= wall.Hitbox.Position.X && + pos.X <= wall.Hitbox.Position.X + wall.Hitbox.Size.Width && + pos.Y >= wall.Hitbox.Position.Y && + pos.Y <= wall.Hitbox.Position.Y + wall.Hitbox.Size.Height){ + return 1; + }else{ + return 0; + } +} +void Refresh_Area(Rectangle area,Obstacle *walls,int number_of_walls){ Resize_Window(area); Write_Cmd(0x2C); + int inWall = 0; for(int y= 0; y < area.Size.Height;y++){ auto_screen_roloff(area,(Point){0,y}); for(int x = 0; x < area.Size.Width+1;x++){ Color color; - Get_Color_From_Background((Point){x+area.Position.X,(y+area.Position.Y)%SCREEN_HEIGHT},&color); + inWall = 0; + int wallId = 0; + for(int w = 0; w < number_of_walls;w++){ + if(checkInWall(walls[w],(Point){x + area.Position.X,y+area.Position.Y})){ + inWall = 1; + wallId = w; + } + } + if(inWall){ + Get_Color_From_Walls((Point){x+area.Position.X,(y+area.Position.Y)%SCREEN_HEIGHT},&color,walls,wallId); + }else{ + Get_Color_From_Background((Point){x+area.Position.X,(y+area.Position.Y)%SCREEN_HEIGHT},&color); + } + SendPixel(color.Red,color.Green,color.Blue); } } @@ -304,7 +346,12 @@ void Draw_Walls(Obstacle *walls,int numberOfWalls){ for(int y = 0; y < currentRect.Size.Height;y++){ auto_screen_roloff(currentRect,(Point){0,y}); for(int x = 0; x < currentRect.Size.Width+1; x++){ - SendPixel(0,0,0); + if( x == 0 || y == 0 || y == currentRect.Size.Height-1 || x == currentRect.Size.Width){ + SendPixel(0xFF,0xFF,0xFF); + }else{ + SendPixel(0,0,0); + } + } } } diff --git a/src/SPI.h b/src/SPI.h index b2af9a3..0d47ad7 100644 --- a/src/SPI.h +++ b/src/SPI.h @@ -39,10 +39,9 @@ typedef struct Obstacle_t{ }Obstacle; void ILI9341_Initial(void); -void Refresh_Area(Rectangle area); void Draw_stars(); void Resize_Window(Rectangle area); -void Refresh_Area(Rectangle area); +void Refresh_Area(Rectangle area,Obstacle *walls,int number_of_walls); void DrawPlayer(Player player, Rectangle areaToDraw); void DrawText(Point starting_point,char text[],Size charSize); void Refresh_Player_Area(Rectangle area,Rectangle Hitbox); diff --git a/src/main.c b/src/main.c index 7581dac..cb7a0e4 100644 --- a/src/main.c +++ b/src/main.c @@ -24,12 +24,14 @@ const Rectangle SCREEN = {SCREEN_ORIGIN,SCREEN_SIZE}; Point momentum = {0,0}; int numberOfWalls = 6; -Size maxWallSize = {50,50}; +Size defaultWallSize = {32,32}; Obstacle walls[6]; int seed = 1234567; int maxPlayerSpeed = 7; int score = 0; +int hitboxActivated = 1; + Player player; void init(void) @@ -59,6 +61,11 @@ void EINT3_IRQHandler(void){ momentum = (Point){0,0}; }else{ //button B pressed + if(hitboxActivated){ + hitboxActivated = 0; + }else{ + hitboxActivated = 1; + } } ClearButtons(); } @@ -140,21 +147,30 @@ Player CreatePlayer(){ return player; } void CreateWalls(){ + int loadedWalls = 0; for(int i =0; i < numberOfWalls;i++){ - int x = rand() % SCREEN_SIZE.Width; + int x = rand() % (SCREEN_SIZE.Width - defaultWallSize.Width - 1)+1; int y = rand() % SCREEN_SIZE.Height; - int width = rand() % maxWallSize.Width; - int height = rand() % maxWallSize.Height; - walls[i] = (Obstacle){(Rectangle){(Point){x,y},(Size){max(width,height),max(width,height)}}}; + Rectangle rect = {(Point){x,y},defaultWallSize}; + + int positionalConflict = 0; + //Check for potentials conflicts between walls + for(int j = 0; j < loadedWalls; j++){ + if(checkCollision(walls[j].Hitbox,rect)) + positionalConflict = 1; + } + if(checkCollision(player.Hitbox,rect)) + positionalConflict = 1; + + if(positionalConflict){ + i--; + }else{ + walls[i] = (Obstacle){rect}; + loadedWalls ++; + } } } -int checkCollision(Rectangle A, Rectangle B) { - if (A.Position.X + A.Size.Width < B.Position.X || B.Position.X + B.Size.Width < A.Position.X) - return 0; - if (A.Position.Y + A.Size.Height < B.Position.Y || B.Position.Y + B.Size.Height < A.Position.Y) - return 0; - return 1; -} + void RefreshPlayer(Point vector){ if(player.Hitbox.Position.Y + vector.Y < 0){ player.Hitbox.Position.Y = SCREEN_SIZE.Height + (player.Hitbox.Position.Y - (0-vector.Y)); @@ -191,12 +207,11 @@ void RefreshPlayer(Point vector){ for(int i = 0; i < numberOfWalls; i++){ - if(checkCollision(player.Hitbox,walls[i].Hitbox)) + if(checkCollision(player.Hitbox,walls[i].Hitbox) && hitboxActivated) InitGame(); } Refresh_Player_Area((Rectangle){bigPos,bigSize},player.Hitbox); - } void InitGame(){ @@ -218,7 +233,6 @@ int main(void) { int increment = 1; Size charSize = {7,11}; - InitGame(); while (true) @@ -253,7 +267,8 @@ int main(void) { Point new_origin = {text_origin.X,(text_origin.Y + scrolling)%320}; Rectangle areaToRefresh = {{new_origin.X,new_origin.Y+3},{charSize.Width*digits,charSize.Height+charSize.Height/2}}; - Refresh_Area(areaToRefresh); + //Refresh_Area(areaToRefresh); + Refresh_Area(areaToRefresh,walls,numberOfWalls); DrawText(new_origin,newStr,charSize); }