├── MGC Test App ├── .vs │ └── MGC Test App │ │ └── v14 │ │ └── .atsuo ├── MGC Test App.atsln ├── MGC Test App │ ├── Debug │ │ ├── MGC Test App.eep │ │ ├── MGC Test App.elf │ │ ├── MGC Test App.hex │ │ ├── MGC Test App.lss │ │ ├── MGC Test App.map │ │ ├── MGC Test App.srec │ │ ├── Makefile │ │ ├── drivers │ │ │ ├── gameBadge.d │ │ │ └── gameBadge.o │ │ ├── game.d │ │ ├── game.o │ │ ├── main.d │ │ ├── main.o │ │ └── makedep.mk │ ├── MGC Test App.componentinfo.xml │ ├── MGC Test App.cproj │ ├── Release │ │ ├── MGC Test App.eep │ │ ├── MGC Test App.elf │ │ ├── MGC Test App.hex │ │ ├── MGC Test App.lss │ │ ├── MGC Test App.map │ │ ├── MGC Test App.srec │ │ ├── Makefile │ │ ├── drivers │ │ │ ├── gameBadge.d │ │ │ ├── gameBadge.o │ │ │ ├── lcd.d │ │ │ └── lcd.o │ │ ├── game.d │ │ ├── game.o │ │ ├── main.d │ │ ├── main.o │ │ └── makedep.mk │ ├── drivers │ │ ├── gameBadge.c │ │ └── gameBadge.h │ ├── game.c │ ├── game.h │ └── main.c ├── README.md └── graphics │ ├── 16x16 double hatch.psd │ ├── Arcade - Final Fight - Damnd.png │ ├── beast debris mask.png │ ├── beast debris pixels.png │ ├── beast debris top mask.png │ ├── beast debris top pixels.png │ ├── beast debris.psd │ ├── beast tree mask.png │ ├── beast tree pixel.png │ ├── beast tree pixels.png │ ├── beast tree.png │ ├── beast tree.psd │ ├── dahqbt6-de2aa752-2c36-4932-8b5b-9d0dd16aa994.png │ ├── eight bit beast.psd │ ├── eight bit beast_TILES-assets │ └── eight bit beast_TILES.png │ ├── eight bit beast_TILES.png │ ├── eight bit beast_TILES.psd │ ├── gameBadge_BG.psd │ ├── mega man mask.png │ ├── mega man.png │ ├── mega man.psd │ ├── screen layout.ai │ ├── ship pixels.png │ ├── ship-assets │ ├── ship 1 mask.png │ ├── ship 1 pixels.png │ ├── ship 2 mask.png │ ├── ship 2 pixels.png │ ├── ship 3 masks.png │ ├── ship 3 pixels.png │ └── ship.png │ ├── ship.psd │ ├── sprite tests.psd │ └── tileCreator_BG.psd ├── Moon Force Color └── graphics │ └── moon force tiles.psd ├── Moon Force ├── .vs │ └── Moon Force │ │ └── v14 │ │ └── .atsuo ├── Moon Force.atsln ├── Moon Force │ ├── Debug │ │ ├── Makefile │ │ ├── Moon Force.eep │ │ ├── Moon Force.elf │ │ ├── Moon Force.hex │ │ ├── Moon Force.lss │ │ ├── Moon Force.map │ │ ├── Moon Force.srec │ │ ├── drivers │ │ │ ├── gameBadge.d │ │ │ └── gameBadge.o │ │ ├── game.d │ │ ├── game.o │ │ ├── main.d │ │ ├── main.o │ │ └── makedep.mk │ ├── Moon Force.componentinfo.xml │ ├── Moon Force.cproj │ ├── Release │ │ ├── Makefile │ │ ├── Moon Force.eep │ │ ├── Moon Force.elf │ │ ├── Moon Force.hex │ │ ├── Moon Force.lss │ │ ├── Moon Force.map │ │ ├── Moon Force.srec │ │ ├── drivers │ │ │ ├── gameBadge.d │ │ │ └── gameBadge.o │ │ ├── game.d │ │ ├── game.o │ │ ├── main.d │ │ ├── main.o │ │ └── makedep.mk │ ├── drivers │ │ ├── gameBadge.c │ │ └── gameBadge.h │ ├── game.c │ ├── game.h │ └── main.c └── graphics │ ├── Baddie Bomb Shot.png │ ├── Baddie Shot Wave.png │ ├── Balls Monster.png │ ├── Explosion UP copy.png │ ├── Explosion UP.psd │ ├── HUD base.psd │ ├── MGC 2021 Logo.png │ ├── MGC 2022 Logo.png │ ├── MGC-Logo.svg │ ├── NASA-Apollo8-Dec24-Earthrise.jpg │ ├── UFO.png │ ├── big_UFO_edges.png │ ├── big_UFO_middles.png │ ├── blaster shot.png │ ├── bossUFO.png │ ├── buggie.png │ ├── bullet sine.png │ ├── explosion 16x16.png │ ├── explosion 16x16.psd │ ├── large pit.png │ ├── large rock.png │ ├── medium pit.png │ ├── moon force tiles export.png │ ├── moon force tiles.psd │ ├── moon force.psd │ ├── small pit.png │ ├── small rock.png │ ├── upper shot.png │ └── wheels.png ├── PCB 2022 version ├── How To Parts.pdf ├── watch_game_2022_revB.brd ├── watch_game_2022_revB.sch ├── watch_game_2022_revB.txt └── watch_game_revB_2022-02-24.zip ├── PCB ├── docs │ ├── assembly diagram.pdf │ └── assembly.psd ├── export.dxf ├── export2.dxf ├── mgc_gerber.zip ├── watch_game.brd ├── watch_game.dxf ├── watch_game.sch └── watch_gameAB.dxf ├── README.md └── gameBadge SAMD11C ├── .vs └── gameBadge ARM │ └── v14 │ └── .atsuo ├── Debug ├── Device_Startup │ ├── startup_samd11.d │ ├── startup_samd11.o │ ├── system_samd11.d │ └── system_samd11.o ├── Makefile ├── Tester.bin ├── Tester.eep ├── Tester.elf ├── Tester.hex ├── Tester.lss ├── Tester.map ├── Tester.srec ├── drivers │ ├── clocks.d │ ├── clocks.o │ ├── gameBadge.d │ ├── gameBadge.o │ ├── spi.d │ └── spi.o ├── gameBadge ARM.bin ├── gameBadge ARM.eep ├── gameBadge ARM.elf ├── gameBadge ARM.hex ├── gameBadge ARM.lss ├── gameBadge ARM.map ├── gameBadge ARM.srec ├── main.d ├── main.o └── makedep.mk ├── Device_Startup ├── samd11c14a_flash.ld ├── samd11c14a_sram.ld ├── startup_samd11.c └── system_samd11.c ├── Release ├── Device_Startup │ ├── startup_samd11.d │ ├── startup_samd11.o │ ├── system_samd11.d │ └── system_samd11.o ├── Makefile ├── Tester.bin ├── Tester.eep ├── Tester.elf ├── Tester.hex ├── Tester.lss ├── Tester.map ├── Tester.srec ├── drivers │ ├── clocks.d │ ├── clocks.o │ ├── dma.d │ ├── dma.o │ ├── gameBadge.d │ ├── gameBadge.o │ ├── spi.d │ └── spi.o ├── game.d ├── game.o ├── gameBadge ARM.bin ├── gameBadge ARM.eep ├── gameBadge ARM.elf ├── gameBadge ARM.hex ├── gameBadge ARM.lss ├── gameBadge ARM.map ├── gameBadge ARM.srec ├── main.d ├── main.o └── makedep.mk ├── drivers ├── clocks.c ├── clocks.h ├── dma.c ├── dma.h ├── gameBadge.c ├── gameBadge.h ├── spi.c └── spi.h ├── game.c ├── game.h ├── gameBadge ARM.atsln ├── gameBadge ARM.componentinfo.xml ├── gameBadge ARM.cproj └── main.c /MGC Test App/.vs/MGC Test App/v14/.atsuo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/.vs/MGC Test App/v14/.atsuo -------------------------------------------------------------------------------- /MGC Test App/MGC Test App.atsln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Atmel Studio Solution File, Format Version 11.00 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "MGC Test App", "MGC Test App\MGC Test App.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|AVR = Debug|AVR 11 | Release|AVR = Release|AVR 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR 15 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR 16 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR 17 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/MGC Test App.eep: -------------------------------------------------------------------------------- 1 | :00000001FF 2 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/MGC Test App.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Debug/MGC Test App.elf -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | SHELL := cmd.exe 6 | RM := rm -rf 7 | 8 | USER_OBJS := 9 | 10 | LIBS := 11 | PROJ := 12 | 13 | O_SRCS := 14 | C_SRCS := 15 | S_SRCS := 16 | S_UPPER_SRCS := 17 | OBJ_SRCS := 18 | ASM_SRCS := 19 | PREPROCESSING_SRCS := 20 | OBJS := 21 | OBJS_AS_ARGS := 22 | C_DEPS := 23 | C_DEPS_AS_ARGS := 24 | EXECUTABLES := 25 | OUTPUT_FILE_PATH := 26 | OUTPUT_FILE_PATH_AS_ARGS := 27 | AVR_APP_PATH :=$$$AVR_APP_PATH$$$ 28 | QUOTE := " 29 | ADDITIONAL_DEPENDENCIES:= 30 | OUTPUT_FILE_DEP:= 31 | LIB_DEP:= 32 | LINKER_SCRIPT_DEP:= 33 | 34 | # Every subdirectory with source files must be described here 35 | SUBDIRS := \ 36 | ../drivers 37 | 38 | 39 | # Add inputs and outputs from these tool invocations to the build variables 40 | C_SRCS += \ 41 | ../drivers/gameBadge.c \ 42 | ../game.c \ 43 | ../main.c 44 | 45 | 46 | PREPROCESSING_SRCS += 47 | 48 | 49 | ASM_SRCS += 50 | 51 | 52 | OBJS += \ 53 | drivers/gameBadge.o \ 54 | game.o \ 55 | main.o 56 | 57 | OBJS_AS_ARGS += \ 58 | drivers/gameBadge.o \ 59 | game.o \ 60 | main.o 61 | 62 | C_DEPS += \ 63 | drivers/gameBadge.d \ 64 | game.d \ 65 | main.d 66 | 67 | C_DEPS_AS_ARGS += \ 68 | drivers/gameBadge.d \ 69 | game.d \ 70 | main.d 71 | 72 | OUTPUT_FILE_PATH +=MGC\ Test\ App.elf 73 | 74 | OUTPUT_FILE_PATH_AS_ARGS +="MGC Test App.elf" 75 | 76 | ADDITIONAL_DEPENDENCIES:= 77 | 78 | OUTPUT_FILE_DEP:= ./makedep.mk 79 | 80 | LIB_DEP+= 81 | 82 | LINKER_SCRIPT_DEP+= 83 | 84 | 85 | # AVR32/GNU C Compiler 86 | drivers/gameBadge.o: ../drivers/gameBadge.c 87 | @echo Building file: $< 88 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 89 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 90 | @echo Finished building: $< 91 | 92 | 93 | ./game.o: .././game.c 94 | @echo Building file: $< 95 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 96 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 97 | @echo Finished building: $< 98 | 99 | 100 | ./main.o: .././main.c 101 | @echo Building file: $< 102 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 103 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 104 | @echo Finished building: $< 105 | 106 | 107 | 108 | 109 | 110 | # AVR32/GNU Preprocessing Assembler 111 | 112 | 113 | 114 | # AVR32/GNU Assembler 115 | 116 | 117 | 118 | 119 | ifneq ($(MAKECMDGOALS),clean) 120 | ifneq ($(strip $(C_DEPS)),) 121 | -include $(C_DEPS) 122 | endif 123 | endif 124 | 125 | # Add inputs and outputs from these tool invocations to the build variables 126 | 127 | # All Target 128 | all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) 129 | 130 | $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) 131 | @echo Building target: $@ 132 | @echo Invoking: AVR/GNU Linker : 5.4.0 133 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="MGC Test App.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 134 | @echo Finished building target: $@ 135 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MGC Test App.elf" "MGC Test App.hex" 136 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "MGC Test App.elf" "MGC Test App.eep" || exit 0 137 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "MGC Test App.elf" > "MGC Test App.lss" 138 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MGC Test App.elf" "MGC Test App.srec" 139 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "MGC Test App.elf" 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | # Other Targets 148 | clean: 149 | -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) 150 | -$(RM) $(C_DEPS_AS_ARGS) 151 | rm -rf "MGC Test App.elf" "MGC Test App.a" "MGC Test App.hex" "MGC Test App.lss" "MGC Test App.eep" "MGC Test App.map" "MGC Test App.srec" "MGC Test App.usersignatures" 152 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/drivers/gameBadge.d: -------------------------------------------------------------------------------- 1 | drivers/gameBadge.d drivers/gameBadge.o: ../drivers/gameBadge.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | ../drivers/gameBadge.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | ../drivers/gameBadge.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 47 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Debug/drivers/gameBadge.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/game.d: -------------------------------------------------------------------------------- 1 | game.d game.o: .././game.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 17 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ 19 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ 21 | .././drivers/gameBadge.h .././game.h \ 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 27 | 28 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 33 | 34 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 47 | 48 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 49 | 50 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 51 | 52 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 53 | 54 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 55 | 56 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: 57 | 58 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: 59 | 60 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: 61 | 62 | .././drivers/gameBadge.h: 63 | 64 | .././game.h: 65 | 66 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: 67 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/game.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Debug/game.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/main.d: -------------------------------------------------------------------------------- 1 | main.d main.o: .././main.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | .././drivers/gameBadge.h .././game.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 45 | 46 | .././drivers/gameBadge.h: 47 | 48 | .././game.h: 49 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Debug/main.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Debug/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | drivers\gameBadge.c 6 | 7 | game.c 8 | 9 | main.c 10 | 11 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/MGC Test App.componentinfo.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | Device 8 | Startup 9 | 10 | 11 | Atmel 12 | 1.8.0 13 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs 14 | 15 | 16 | 17 | 18 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include\ 19 | 20 | include 21 | C 22 | 23 | 24 | include/ 25 | 26 | 27 | 28 | 29 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include\avr\iotn1616.h 30 | 31 | header 32 | C 33 | SskAE3Y/X718NHm/L/JQJg== 34 | 35 | include/avr/iotn1616.h 36 | 37 | 38 | 39 | 40 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\templates\main.c 41 | template 42 | source 43 | C Exe 44 | KjvOcFWd++tbnsEMfVPd/w== 45 | 46 | templates/main.c 47 | Main file (.c) 48 | 49 | 50 | 51 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\templates\main.cpp 52 | template 53 | source 54 | C Exe 55 | mkKaE95TOoATsuBGv6jmxg== 56 | 57 | templates/main.cpp 58 | Main file (.cpp) 59 | 60 | 61 | 62 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616 63 | 64 | libraryPrefix 65 | GCC 66 | 67 | 68 | gcc/dev/attiny1616 69 | 70 | 71 | 72 | 73 | ATtiny_DFP 74 | C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.8.332/Atmel.ATtiny_DFP.pdsc 75 | 1.8.332 76 | true 77 | ATtiny1616 78 | 79 | 80 | 81 | Resolved 82 | Fixed 83 | true 84 | 85 | 86 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/MGC Test App.eep: -------------------------------------------------------------------------------- 1 | :00000001FF 2 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/MGC Test App.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Release/MGC Test App.elf -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | SHELL := cmd.exe 6 | RM := rm -rf 7 | 8 | USER_OBJS := 9 | 10 | LIBS := 11 | PROJ := 12 | 13 | O_SRCS := 14 | C_SRCS := 15 | S_SRCS := 16 | S_UPPER_SRCS := 17 | OBJ_SRCS := 18 | ASM_SRCS := 19 | PREPROCESSING_SRCS := 20 | OBJS := 21 | OBJS_AS_ARGS := 22 | C_DEPS := 23 | C_DEPS_AS_ARGS := 24 | EXECUTABLES := 25 | OUTPUT_FILE_PATH := 26 | OUTPUT_FILE_PATH_AS_ARGS := 27 | AVR_APP_PATH :=$$$AVR_APP_PATH$$$ 28 | QUOTE := " 29 | ADDITIONAL_DEPENDENCIES:= 30 | OUTPUT_FILE_DEP:= 31 | LIB_DEP:= 32 | LINKER_SCRIPT_DEP:= 33 | 34 | # Every subdirectory with source files must be described here 35 | SUBDIRS := \ 36 | ../drivers 37 | 38 | 39 | # Add inputs and outputs from these tool invocations to the build variables 40 | C_SRCS += \ 41 | ../drivers/gameBadge.c \ 42 | ../game.c \ 43 | ../main.c 44 | 45 | 46 | PREPROCESSING_SRCS += 47 | 48 | 49 | ASM_SRCS += 50 | 51 | 52 | OBJS += \ 53 | drivers/gameBadge.o \ 54 | game.o \ 55 | main.o 56 | 57 | OBJS_AS_ARGS += \ 58 | drivers/gameBadge.o \ 59 | game.o \ 60 | main.o 61 | 62 | C_DEPS += \ 63 | drivers/gameBadge.d \ 64 | game.d \ 65 | main.d 66 | 67 | C_DEPS_AS_ARGS += \ 68 | drivers/gameBadge.d \ 69 | game.d \ 70 | main.d 71 | 72 | OUTPUT_FILE_PATH +=MGC\ Test\ App.elf 73 | 74 | OUTPUT_FILE_PATH_AS_ARGS +="MGC Test App.elf" 75 | 76 | ADDITIONAL_DEPENDENCIES:= 77 | 78 | OUTPUT_FILE_DEP:= ./makedep.mk 79 | 80 | LIB_DEP+= 81 | 82 | LINKER_SCRIPT_DEP+= 83 | 84 | 85 | # AVR32/GNU C Compiler 86 | drivers/gameBadge.o: ../drivers/gameBadge.c 87 | @echo Building file: $< 88 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 89 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 90 | @echo Finished building: $< 91 | 92 | 93 | ./game.o: .././game.c 94 | @echo Building file: $< 95 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 96 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 97 | @echo Finished building: $< 98 | 99 | 100 | ./main.o: .././main.c 101 | @echo Building file: $< 102 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 103 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 104 | @echo Finished building: $< 105 | 106 | 107 | 108 | 109 | 110 | # AVR32/GNU Preprocessing Assembler 111 | 112 | 113 | 114 | # AVR32/GNU Assembler 115 | 116 | 117 | 118 | 119 | ifneq ($(MAKECMDGOALS),clean) 120 | ifneq ($(strip $(C_DEPS)),) 121 | -include $(C_DEPS) 122 | endif 123 | endif 124 | 125 | # Add inputs and outputs from these tool invocations to the build variables 126 | 127 | # All Target 128 | all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) 129 | 130 | $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) 131 | @echo Building target: $@ 132 | @echo Invoking: AVR/GNU Linker : 5.4.0 133 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="MGC Test App.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 134 | @echo Finished building target: $@ 135 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MGC Test App.elf" "MGC Test App.hex" 136 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "MGC Test App.elf" "MGC Test App.eep" || exit 0 137 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "MGC Test App.elf" > "MGC Test App.lss" 138 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "MGC Test App.elf" "MGC Test App.srec" 139 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "MGC Test App.elf" 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | # Other Targets 148 | clean: 149 | -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) 150 | -$(RM) $(C_DEPS_AS_ARGS) 151 | rm -rf "MGC Test App.elf" "MGC Test App.a" "MGC Test App.hex" "MGC Test App.lss" "MGC Test App.eep" "MGC Test App.map" "MGC Test App.srec" "MGC Test App.usersignatures" 152 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/drivers/gameBadge.d: -------------------------------------------------------------------------------- 1 | drivers/gameBadge.d drivers/gameBadge.o: ../drivers/gameBadge.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | ../drivers/gameBadge.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | ../drivers/gameBadge.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 47 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Release/drivers/gameBadge.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/drivers/lcd.d: -------------------------------------------------------------------------------- 1 | drivers/lcd.d drivers/lcd.o: ../drivers/lcd.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | ../drivers/lcd.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ 17 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ 19 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h 20 | 21 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 22 | 23 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 24 | 25 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 26 | 27 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 28 | 29 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 30 | 31 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 32 | 33 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 34 | 35 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 36 | 37 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 38 | 39 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 40 | 41 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 42 | 43 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 44 | 45 | ../drivers/lcd.h: 46 | 47 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 48 | 49 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 50 | 51 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: 52 | 53 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: 54 | 55 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: 56 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/drivers/lcd.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Release/drivers/lcd.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/game.d: -------------------------------------------------------------------------------- 1 | game.d game.o: .././game.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 17 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ 19 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ 21 | .././drivers/gameBadge.h .././game.h \ 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 27 | 28 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 33 | 34 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 47 | 48 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 49 | 50 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 51 | 52 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 53 | 54 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 55 | 56 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: 57 | 58 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: 59 | 60 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: 61 | 62 | .././drivers/gameBadge.h: 63 | 64 | .././game.h: 65 | 66 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: 67 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/game.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Release/game.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/main.d: -------------------------------------------------------------------------------- 1 | main.d main.o: .././main.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | .././drivers/gameBadge.h .././game.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 45 | 46 | .././drivers/gameBadge.h: 47 | 48 | .././game.h: 49 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/MGC Test App/Release/main.o -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/Release/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | drivers\gameBadge.c 6 | 7 | game.c 8 | 9 | main.c 10 | 11 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/drivers/gameBadge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * lcd.h 3 | * 4 | * Created: 7/31/2021 6:22:10 PM 5 | * Author: ben 6 | */ 7 | 8 | #ifndef GAMEBADGE_H_ 9 | #define GAMEBADGE_H_ 10 | 11 | #define SSD1306_LCDWIDTH 128 12 | #define SSD1306_LCDHEIGHT 64 13 | #define SSD1306_SETCONTRAST 0x81 14 | #define SSD1306_DISPLAYALLON_RESUME 0xA4 15 | #define SSD1306_DISPLAYALLON 0xA5 16 | #define SSD1306_NORMALDISPLAY 0xA6 17 | #define SSD1306_INVERTDISPLAY 0xA7 18 | #define SSD1306_DISPLAYOFF 0xAE 19 | #define SSD1306_DISPLAYON 0xAF 20 | #define SSD1306_SETDISPLAYOFFSET 0xD3 21 | #define SSD1306_SETCOMPINS 0xDA 22 | #define SSD1306_SETVCOMDETECT 0xDB 23 | #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 24 | #define SSD1306_SETPRECHARGE 0xD9 25 | #define SSD1306_SETMULTIPLEX 0xA8 26 | #define SSD1306_SETLOWCOLUMN 0x00 27 | #define SSD1306_SETHIGHCOLUMN 0x10 28 | #define SSD1306_SETSTARTLINE 0x40 29 | #define SSD1306_MEMORYMODE 0x20 30 | #define SSD1306_COLUMNADDR 0x21 31 | #define SSD1306_PAGEADDR 0x22 32 | #define SSD1306_COMSCANINC 0xC0 33 | #define SSD1306_COMSCANDEC 0xC8 34 | #define SSD1306_SEGREMAP 0xA0 35 | #define SSD1306_CHARGEPUMP 0x8D 36 | #define SSD1306_EXTERNALVCC 0x1 37 | #define SSD1306_SWITCHCAPVCC 0x2 38 | 39 | #define dUp 0x01 //Port C lower nibble 40 | #define dDown 0x02 41 | #define dLeft 0x04 42 | #define dRight 0x08 //----------------------------- 43 | #define dMenu 0x20 //Port A top 3 bits 44 | #define dB 0x40 45 | #define dA 0x80 //------------ 46 | 47 | #define horizontal 0x00 //Game scrolls horizontally 48 | #define vertical 0x01 //Game scrolls vertically 49 | #define mirrorSprite -1 //Mirror the sprite 50 | #define normalSprite 1 //Draw sprite normally 51 | 52 | #define blackMask 0 53 | #define drawPixels 1 54 | 55 | void displayInit(); 56 | void tileLoad(uint16_t dataStart, uint8_t *data, uint16_t dataSize); 57 | uint8_t screenLoad(); 58 | void drawTiles(const char *tileData, uint8_t *tileMap); 59 | void setWindow(uint8_t x, uint8_t y); 60 | void setRowScroll(uint8_t x, uint8_t row); 61 | void toneLogic(); 62 | void tone(uint16_t thePitch, uint16_t theTime); 63 | void ledState(uint8_t theState); 64 | void drawSprite(const char *bitmap, int8_t xPos, int8_t yPos, uint8_t frameNumber, int8_t mirror); 65 | void setScrollDirection(uint8_t mirrorType); 66 | void bufferMask(int8_t xPos, int16_t bufferPos, uint8_t data, uint8_t maskType); 67 | void displayOnOff(uint8_t whatState); 68 | void writecommand(uint8_t c); 69 | void writedata(uint8_t c); 70 | void sendSPI(uint8_t theData); 71 | void dcHigh(); 72 | void dcLow(); 73 | void csHigh(); 74 | void csLow(); 75 | void delayArgMS(double __ms); 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/game.h: -------------------------------------------------------------------------------- 1 | #ifndef GAME_H_ 2 | #define GAME_H_ 3 | 4 | void gameSetup(); 5 | void systemLoop(); 6 | void gameFrame(); 7 | void gotoSleep(); 8 | 9 | //YOUR OTHER FUNCTION PROTOTYPES HERE 10 | 11 | void fillTiles(uint8_t location, uint8_t startingTile, uint8_t howMany); 12 | 13 | #endif /* GAME_H_ */ -------------------------------------------------------------------------------- /MGC Test App/MGC Test App/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define F_CPU 20000000UL 6 | #include "drivers/gameBadge.h" 7 | #include "game.h" 8 | 9 | int main(void) { 10 | 11 | CCP = 0xD8; 12 | CLKCTRL.MCLKCTRLB = 0; //Run CPU at full speed, disregarding speed considerings of the datasheet 13 | //CLKCTRL.MCLKCTRLB = 1; //Enable prescaler for 10MHz / 2 (10MHz) required for 3.3v operation 14 | while(!(CLKCTRL.MCLKSTATUS & 0x10)) {} //Sync 15 | 16 | PORTA_DIR = 0b00011010; //Set pin directions 17 | PORTB_DIR = 0b00110011; //Speaker and LED out 18 | PORTC_DIR = 0b00000000; 19 | 20 | PORTC_PIN0CTRL = 0x88; //Set pullups for control buttons, with inverse output (easier logic) 21 | PORTC_PIN1CTRL = 0x88; 22 | PORTC_PIN2CTRL = 0x88; 23 | PORTC_PIN3CTRL = 0x88; 24 | PORTA_PIN5CTRL = 0x88 | 0x01; //Menu button, can also wake from sleep (ISR on either edge) 25 | PORTA_PIN6CTRL = 0x88; 26 | PORTA_PIN7CTRL = 0x88; 27 | 28 | //--Setup SPI bus and intialize OLED display---------------------------------------------------- 29 | SPI0.CTRLA = SPI_MASTER_bm | SPI_ENABLE_bm | SPI_CLK2X_bm; //Start SPI bus 30 | 31 | displayInit(0); //Setup display 32 | 33 | SPI0_CTRLB = SPI_BUFEN_bm; //Set high speed buffer SPI mode now that the OLED is set up 34 | 35 | //--Setup FRAMERATE TIMER (eat this PS5!)------------------------------------------------------ 36 | TCB0.INTCTRL = TCB_CAPT_bm; //Setup Timer B as compare capture mode that will trigger an interrupt 37 | TCB0_CCMP = 10000; //CLK (20MHz, 3.3 less safe mode) -> DIV2 prescaler = 10000 ticks/ms 38 | //TCB0_CCMP = 5000; //CLK/2 (10MHz, 3.3 safe mode) -> DIV2 prescaler = 5000 ticks/ms 39 | TCB0_CTRLA = (1 << 1) | TCB_ENABLE_bm; 40 | 41 | //--Setup PIEZO SOUND (the new Dolby Atmos)--------------------------------------------------- 42 | TCA0.SINGLE.CTRLB = 43 | TCA_SINGLE_CMP2EN_bm | // Enables Compare Channel 2 (output port WO2 (alt pin per PORTMUX below) = PB5) 44 | TCA_SINGLE_WGMODE_FRQ_gc; // FRQ Waveform Generation 45 | 46 | TCA0.SINGLE.CMP0 = 0; 47 | //TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV8_gc; //10MHz mode 48 | TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV16_gc; //20MHz mode 49 | 50 | PORTMUX_CTRLC = 0x04; //Write this bit to '1' to select the alternative output pin for TCA0 waveform output 2. 51 | 52 | //--Setup Real Time Counter (RTC) for clock use----------------------------------------------- 53 | 54 | CCP = 0xD8; 55 | CLKCTRL.XOSC32KCTRLA = CLKCTRL_ENABLE_bm; //Enable the external crystal 56 | while (RTC.STATUS > 0) {} /* Wait for all register to be synchronized */ 57 | 58 | RTC.CTRLA = RTC_PRESCALER_DIV1_gc /* 1 */ 59 | | 0 << RTC_RTCEN_bp /* Enable: disabled */ 60 | | 1 << RTC_RUNSTDBY_bp; /* Run In Standby: enabled */ 61 | 62 | RTC.CLKSEL = RTC_CLKSEL_TOSC32K_gc; /* 32.768kHz External Crystal Oscillator (XOSC32K) */ 63 | while (RTC.PITSTATUS > 0) {} /* Wait for all register to be synchronized */ 64 | 65 | RTC.PITCTRLA = RTC_PERIOD_CYC32768_gc /* RTC Clock Cycles 32768 */ 66 | | 1 << RTC_PITEN_bp; /* Enable: enabled */ 67 | 68 | RTC.PITINTCTRL = 1 << RTC_PI_bp; /* Periodic Interrupt: enabled */ 69 | 70 | //--Setup deep sleep mode--------------------------------------------------------------------- 71 | 72 | SLPCTRL.CTRLA = (0x02 << 1) | 1; //Set sleep mode (enabled, power-down mode, deepest sleep mode) 73 | 74 | //--Game Start and Main Loop------------------------------------------------------------------ 75 | 76 | sei(); //Enable interrupts 77 | 78 | gameSetup(); //One-time user game setup code 79 | 80 | systemLoop(); //Jump to the main loop in the code 81 | 82 | } 83 | -------------------------------------------------------------------------------- /MGC Test App/README.md: -------------------------------------------------------------------------------- 1 | This is the test application for the "gameBadge" mini console. 2 | 3 | Graphics were converted using an online Arduboy tool: http://www.crait.net/tochars/ 4 | 5 | FILE STRUCTURE: 6 | 7 | main.c - Loads drivers and initiates game 8 | game.c/h - Your custom game code goes here 9 | drivers/gameBadge.c/h - Drivers for the audio/video system. 10 | 11 | This app demonstrates the following: 12 | 13 | 1) Multi-scrolling background 14 | 2) Simple tone generation 15 | 3) Sprite generation 16 | 4) Sleep mode 17 | 5) Real-time counter (RTC) module used for time-keeping 18 | 19 | THEORY OF OPERATION: 20 | 21 | 1) main.c sets up system drivers. Default speed is 20Mhz, kind of pushing things at 3.3v but it seems to work :) 22 | 2) main.c calls function gameSetup() (in game.c) once. This contains the initial setup routines needed for your game. You own code can call this of course to "reset" a game later on. 23 | 3) main.c calls to systemLoop() (in game.c) where the code enters an infinite while() loop. 24 | 4) This while() loop checks the value of the variable frameFlag. frameFlag is automatically incremented once per millisecond by the TCB0 timer/interrupt. When frameFlag == 20 (20ms frame time = 50Hz, can be customized) gameFrame() is called. 25 | 5) gameFrame() is where your main game logic/state machines should reside (or branch from). In the example app the following happens: 26 | a) screenLoad() is called. This function also returns the state of the buttons (bitwise, pressed = 1, not pressed = 0) 27 | b) Background tiles are drawn with drawTiles(*,*) The 2 pointers passed are tileData (the PROGMEM that defines the glyph patterns) and tileMap (the 256 byte RAM array that specifies which gylph pattern appears on screen) 28 | c) Several sprites are drawn: drawSprite(* PROGMEM data pointer, x position, y position, frame #, mirroring (1 normal, -1 horizontal flip) 29 | d) x/y positions 0,0 start at the upper-left corner of the screen and go to the right and down. To scroll a sprite past the top or left of the display use a negative position value 30 | e) The gamePad variable returned from screenLoad() is AND compared to defines for each of the control buttons (dUp, dDown, dLeft, dRight, dMenu, dB and dA) 31 | f) The d-pad moves the ship up and right, and also scrolls the scene left and right. The layer can scroll at different speeds for each of the 8 rows. In the example this is acheived by taking a base movement and either multipling or dividing it with bitshift operations 32 | g) The tree in the background and debris in the foreground are both sprites, scrolled at different speeds to simulate parallax scrolling (a trick very common the PC Engine) 33 | h) clouds-- is an "autoscrolling" variable. This variable is also changed when the player moves, causing the rolling clouds to behave correctly when the screen scrolls 34 | i) setRowScroll(x, whichRow) sets the fine scroll position for each row. To scroll the entire map use setWindow(x, y) 35 | j) In this example button "B" puts the gameBadge to sleep. This is a low-power mode that still retains data (such as game variables and the RTC clock timer) To wake, press MENU 36 | 37 | 38 | -------------------------------------------------------------------------------- /MGC Test App/graphics/16x16 double hatch.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/16x16 double hatch.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/Arcade - Final Fight - Damnd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/Arcade - Final Fight - Damnd.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast debris mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast debris mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast debris pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast debris pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast debris top mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast debris top mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast debris top pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast debris top pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast debris.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast debris.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/beast tree mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast tree mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast tree pixel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast tree pixel.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast tree pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast tree pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast tree.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast tree.png -------------------------------------------------------------------------------- /MGC Test App/graphics/beast tree.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/beast tree.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/dahqbt6-de2aa752-2c36-4932-8b5b-9d0dd16aa994.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/dahqbt6-de2aa752-2c36-4932-8b5b-9d0dd16aa994.png -------------------------------------------------------------------------------- /MGC Test App/graphics/eight bit beast.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/eight bit beast.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/eight bit beast_TILES-assets/eight bit beast_TILES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/eight bit beast_TILES-assets/eight bit beast_TILES.png -------------------------------------------------------------------------------- /MGC Test App/graphics/eight bit beast_TILES.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/eight bit beast_TILES.png -------------------------------------------------------------------------------- /MGC Test App/graphics/eight bit beast_TILES.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/eight bit beast_TILES.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/gameBadge_BG.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/gameBadge_BG.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/mega man mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/mega man mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/mega man.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/mega man.png -------------------------------------------------------------------------------- /MGC Test App/graphics/mega man.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/mega man.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/screen layout.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/screen layout.ai -------------------------------------------------------------------------------- /MGC Test App/graphics/ship pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 1 mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 1 mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 1 pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 1 pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 2 mask.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 2 mask.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 2 pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 2 pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 3 masks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 3 masks.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship 3 pixels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship 3 pixels.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship-assets/ship.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship-assets/ship.png -------------------------------------------------------------------------------- /MGC Test App/graphics/ship.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/ship.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/sprite tests.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/sprite tests.psd -------------------------------------------------------------------------------- /MGC Test App/graphics/tileCreator_BG.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/MGC Test App/graphics/tileCreator_BG.psd -------------------------------------------------------------------------------- /Moon Force Color/graphics/moon force tiles.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force Color/graphics/moon force tiles.psd -------------------------------------------------------------------------------- /Moon Force/.vs/Moon Force/v14/.atsuo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/.vs/Moon Force/v14/.atsuo -------------------------------------------------------------------------------- /Moon Force/Moon Force.atsln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Atmel Studio Solution File, Format Version 11.00 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "Moon Force", "Moon Force\Moon Force.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|AVR = Debug|AVR 11 | Release|AVR = Release|AVR 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.ActiveCfg = Debug|AVR 15 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|AVR.Build.0 = Debug|AVR 16 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.ActiveCfg = Release|AVR 17 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|AVR.Build.0 = Release|AVR 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | SHELL := cmd.exe 6 | RM := rm -rf 7 | 8 | USER_OBJS := 9 | 10 | LIBS := 11 | PROJ := 12 | 13 | O_SRCS := 14 | C_SRCS := 15 | S_SRCS := 16 | S_UPPER_SRCS := 17 | OBJ_SRCS := 18 | ASM_SRCS := 19 | PREPROCESSING_SRCS := 20 | OBJS := 21 | OBJS_AS_ARGS := 22 | C_DEPS := 23 | C_DEPS_AS_ARGS := 24 | EXECUTABLES := 25 | OUTPUT_FILE_PATH := 26 | OUTPUT_FILE_PATH_AS_ARGS := 27 | AVR_APP_PATH :=$$$AVR_APP_PATH$$$ 28 | QUOTE := " 29 | ADDITIONAL_DEPENDENCIES:= 30 | OUTPUT_FILE_DEP:= 31 | LIB_DEP:= 32 | LINKER_SCRIPT_DEP:= 33 | 34 | # Every subdirectory with source files must be described here 35 | SUBDIRS := \ 36 | ../drivers/ 37 | 38 | 39 | # Add inputs and outputs from these tool invocations to the build variables 40 | C_SRCS += \ 41 | ../drivers/gameBadge.c \ 42 | ../game.c \ 43 | ../main.c 44 | 45 | 46 | PREPROCESSING_SRCS += 47 | 48 | 49 | ASM_SRCS += 50 | 51 | 52 | OBJS += \ 53 | drivers/gameBadge.o \ 54 | game.o \ 55 | main.o 56 | 57 | OBJS_AS_ARGS += \ 58 | drivers/gameBadge.o \ 59 | game.o \ 60 | main.o 61 | 62 | C_DEPS += \ 63 | drivers/gameBadge.d \ 64 | game.d \ 65 | main.d 66 | 67 | C_DEPS_AS_ARGS += \ 68 | drivers/gameBadge.d \ 69 | game.d \ 70 | main.d 71 | 72 | OUTPUT_FILE_PATH +=Moon\ Force.elf 73 | 74 | OUTPUT_FILE_PATH_AS_ARGS +="Moon Force.elf" 75 | 76 | ADDITIONAL_DEPENDENCIES:= 77 | 78 | OUTPUT_FILE_DEP:= ./makedep.mk 79 | 80 | LIB_DEP+= 81 | 82 | LINKER_SCRIPT_DEP+= 83 | 84 | 85 | # AVR32/GNU C Compiler 86 | drivers/gameBadge.o: ../drivers/gameBadge.c 87 | @echo Building file: $< 88 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 89 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 90 | @echo Finished building: $< 91 | 92 | 93 | ./game.o: .././game.c 94 | @echo Building file: $< 95 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 96 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 97 | @echo Finished building: $< 98 | 99 | 100 | ./main.o: .././main.c 101 | @echo Building file: $< 102 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 103 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Og -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -g2 -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 104 | @echo Finished building: $< 105 | 106 | 107 | 108 | 109 | 110 | # AVR32/GNU Preprocessing Assembler 111 | 112 | 113 | 114 | # AVR32/GNU Assembler 115 | 116 | 117 | 118 | 119 | ifneq ($(MAKECMDGOALS),clean) 120 | ifneq ($(strip $(C_DEPS)),) 121 | -include $(C_DEPS) 122 | endif 123 | endif 124 | 125 | # Add inputs and outputs from these tool invocations to the build variables 126 | 127 | # All Target 128 | all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) 129 | 130 | $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) 131 | @echo Building target: $@ 132 | @echo Invoking: AVR/GNU Linker : 5.4.0 133 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Moon Force.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 134 | @echo Finished building target: $@ 135 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "Moon Force.elf" "Moon Force.hex" 136 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Moon Force.elf" "Moon Force.eep" || exit 0 137 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Moon Force.elf" > "Moon Force.lss" 138 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "Moon Force.elf" "Moon Force.srec" 139 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "Moon Force.elf" 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | # Other Targets 148 | clean: 149 | -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) 150 | -$(RM) $(C_DEPS_AS_ARGS) 151 | rm -rf "Moon Force.elf" "Moon Force.a" "Moon Force.hex" "Moon Force.lss" "Moon Force.eep" "Moon Force.map" "Moon Force.srec" "Moon Force.usersignatures" 152 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/Moon Force.eep: -------------------------------------------------------------------------------- 1 | :00000001FF 2 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/Moon Force.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Debug/Moon Force.elf -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/drivers/gameBadge.d: -------------------------------------------------------------------------------- 1 | drivers/gameBadge.d drivers/gameBadge.o: ../drivers/gameBadge.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | ../drivers/gameBadge.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | ../drivers/gameBadge.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 47 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Debug/drivers/gameBadge.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/game.d: -------------------------------------------------------------------------------- 1 | game.d game.o: .././game.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 17 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h \ 19 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h \ 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h \ 21 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h \ 22 | .././drivers/gameBadge.h .././game.h \ 23 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h 24 | 25 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 26 | 27 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 28 | 29 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 30 | 31 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 32 | 33 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 34 | 35 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 36 | 37 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 38 | 39 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 40 | 41 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 42 | 43 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 44 | 45 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 46 | 47 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 48 | 49 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 50 | 51 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 52 | 53 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 54 | 55 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 56 | 57 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h: 58 | 59 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay.h: 60 | 61 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\util\delay_basic.h: 62 | 63 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\math.h: 64 | 65 | .././drivers/gameBadge.h: 66 | 67 | .././game.h: 68 | 69 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: 70 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/game.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Debug/game.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/main.d: -------------------------------------------------------------------------------- 1 | main.d main.o: .././main.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | .././drivers/gameBadge.h .././game.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 45 | 46 | .././drivers/gameBadge.h: 47 | 48 | .././game.h: 49 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Debug/main.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Debug/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | drivers\gameBadge.c 6 | 7 | game.c 8 | 9 | main.c 10 | 11 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Moon Force.componentinfo.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | Device 8 | Startup 9 | 10 | 11 | Atmel 12 | 1.8.0 13 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs 14 | 15 | 16 | 17 | 18 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include\ 19 | 20 | include 21 | C 22 | 23 | 24 | include/ 25 | 26 | 27 | 28 | 29 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include\avr\iotn1616.h 30 | 31 | header 32 | C 33 | SskAE3Y/X718NHm/L/JQJg== 34 | 35 | include/avr/iotn1616.h 36 | 37 | 38 | 39 | 40 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\templates\main.c 41 | template 42 | source 43 | C Exe 44 | f38kQF6K1UUK5gqkSJ6TcQ== 45 | 46 | templates/main.c 47 | Main file (.c) 48 | 49 | 50 | 51 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\templates\main.cpp 52 | template 53 | source 54 | C Exe 55 | mkKaE95TOoATsuBGv6jmxg== 56 | 57 | templates/main.cpp 58 | Main file (.cpp) 59 | 60 | 61 | 62 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616 63 | 64 | libraryPrefix 65 | GCC 66 | 67 | 68 | gcc/dev/attiny1616 69 | 70 | 71 | 72 | 73 | ATtiny_DFP 74 | C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/ATtiny_DFP/1.8.332/Atmel.ATtiny_DFP.pdsc 75 | 1.8.332 76 | true 77 | ATtiny1616 78 | 79 | 80 | 81 | Resolved 82 | Fixed 83 | true 84 | 85 | 86 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Moon Force.cproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 2.0 5 | 7.0 6 | com.Atmel.AVRGCC8.C 7 | dce6c7e3-ee26-4d79-826b-08594b9ad897 8 | ATtiny1616 9 | none 10 | Executable 11 | C 12 | $(MSBuildProjectName) 13 | .elf 14 | $(MSBuildProjectDirectory)\$(Configuration) 15 | Moon Force 16 | Moon Force 17 | Moon Force 18 | Native 19 | true 20 | false 21 | true 22 | true 23 | 0x20000000 24 | 25 | true 26 | exception_table 27 | 2 28 | 0 29 | 0 30 | 31 | com.atmel.avrdbg.tool.atmelice 32 | J41800087115 33 | 0x1E9421 34 | UPDI 35 | 36 | 37 | 38 | 500000 39 | 40 | UPDI 41 | 42 | com.atmel.avrdbg.tool.atmelice 43 | J41800087115 44 | Atmel-ICE 45 | 46 | 500000 47 | 48 | 49 | 50 | 51 | -mmcu=attiny1616 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 52 | True 53 | True 54 | True 55 | True 56 | False 57 | True 58 | True 59 | 60 | 61 | NDEBUG 62 | 63 | 64 | 65 | 66 | %24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\include\ 67 | 68 | 69 | Optimize for size (-Os) 70 | True 71 | True 72 | True 73 | 74 | 75 | libm 76 | 77 | 78 | 79 | 80 | %24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\include\ 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | -mmcu=attiny1616 -B "%24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 90 | True 91 | True 92 | True 93 | True 94 | False 95 | True 96 | True 97 | 98 | 99 | DEBUG 100 | 101 | 102 | 103 | 104 | %24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\include\ 105 | 106 | 107 | Optimize debugging experience (-Og) 108 | True 109 | True 110 | Default (-g2) 111 | True 112 | 113 | 114 | libm 115 | 116 | 117 | 118 | 119 | %24(PackRepoDir)\atmel\ATtiny_DFP\1.8.332\include\ 120 | 121 | 122 | Default (-Wa,-g) 123 | 124 | 125 | 126 | 127 | 128 | compile 129 | 130 | 131 | compile 132 | 133 | 134 | compile 135 | 136 | 137 | compile 138 | 139 | 140 | compile 141 | 142 | 143 | 144 | 145 | 146 | 147 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/Makefile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit! 3 | ################################################################################ 4 | 5 | SHELL := cmd.exe 6 | RM := rm -rf 7 | 8 | USER_OBJS := 9 | 10 | LIBS := 11 | PROJ := 12 | 13 | O_SRCS := 14 | C_SRCS := 15 | S_SRCS := 16 | S_UPPER_SRCS := 17 | OBJ_SRCS := 18 | ASM_SRCS := 19 | PREPROCESSING_SRCS := 20 | OBJS := 21 | OBJS_AS_ARGS := 22 | C_DEPS := 23 | C_DEPS_AS_ARGS := 24 | EXECUTABLES := 25 | OUTPUT_FILE_PATH := 26 | OUTPUT_FILE_PATH_AS_ARGS := 27 | AVR_APP_PATH :=$$$AVR_APP_PATH$$$ 28 | QUOTE := " 29 | ADDITIONAL_DEPENDENCIES:= 30 | OUTPUT_FILE_DEP:= 31 | LIB_DEP:= 32 | LINKER_SCRIPT_DEP:= 33 | 34 | # Every subdirectory with source files must be described here 35 | SUBDIRS := \ 36 | ../drivers/ 37 | 38 | 39 | # Add inputs and outputs from these tool invocations to the build variables 40 | C_SRCS += \ 41 | ../drivers/gameBadge.c \ 42 | ../game.c \ 43 | ../main.c 44 | 45 | 46 | PREPROCESSING_SRCS += 47 | 48 | 49 | ASM_SRCS += 50 | 51 | 52 | OBJS += \ 53 | drivers/gameBadge.o \ 54 | game.o \ 55 | main.o 56 | 57 | OBJS_AS_ARGS += \ 58 | drivers/gameBadge.o \ 59 | game.o \ 60 | main.o 61 | 62 | C_DEPS += \ 63 | drivers/gameBadge.d \ 64 | game.d \ 65 | main.d 66 | 67 | C_DEPS_AS_ARGS += \ 68 | drivers/gameBadge.d \ 69 | game.d \ 70 | main.d 71 | 72 | OUTPUT_FILE_PATH +=Moon\ Force.elf 73 | 74 | OUTPUT_FILE_PATH_AS_ARGS +="Moon Force.elf" 75 | 76 | ADDITIONAL_DEPENDENCIES:= 77 | 78 | OUTPUT_FILE_DEP:= ./makedep.mk 79 | 80 | LIB_DEP+= 81 | 82 | LINKER_SCRIPT_DEP+= 83 | 84 | 85 | # AVR32/GNU C Compiler 86 | drivers/gameBadge.o: ../drivers/gameBadge.c 87 | @echo Building file: $< 88 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 89 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 90 | @echo Finished building: $< 91 | 92 | 93 | ./game.o: .././game.c 94 | @echo Building file: $< 95 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 96 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 97 | @echo Finished building: $< 98 | 99 | 100 | ./main.o: .././main.c 101 | @echo Building file: $< 102 | @echo Invoking: AVR/GNU C Compiler : 5.4.0 103 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -x c -funsigned-char -funsigned-bitfields -DNDEBUG -I"C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include" -Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" -c -std=gnu99 -MD -MP -MF "$(@:%.o=%.d)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" 104 | @echo Finished building: $< 105 | 106 | 107 | 108 | 109 | 110 | # AVR32/GNU Preprocessing Assembler 111 | 112 | 113 | 114 | # AVR32/GNU Assembler 115 | 116 | 117 | 118 | 119 | ifneq ($(MAKECMDGOALS),clean) 120 | ifneq ($(strip $(C_DEPS)),) 121 | -include $(C_DEPS) 122 | endif 123 | endif 124 | 125 | # Add inputs and outputs from these tool invocations to the build variables 126 | 127 | # All Target 128 | all: $(OUTPUT_FILE_PATH) $(ADDITIONAL_DEPENDENCIES) 129 | 130 | $(OUTPUT_FILE_PATH): $(OBJS) $(USER_OBJS) $(OUTPUT_FILE_DEP) $(LIB_DEP) $(LINKER_SCRIPT_DEP) 131 | @echo Building target: $@ 132 | @echo Invoking: AVR/GNU Linker : 5.4.0 133 | $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe$(QUOTE) -o$(OUTPUT_FILE_PATH_AS_ARGS) $(OBJS_AS_ARGS) $(USER_OBJS) $(LIBS) -Wl,-Map="Moon Force.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=attiny1616 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\gcc\dev\attiny1616" 134 | @echo Finished building target: $@ 135 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O ihex -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "Moon Force.elf" "Moon Force.hex" 136 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Moon Force.elf" "Moon Force.eep" || exit 0 137 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objdump.exe" -h -S "Moon Force.elf" > "Moon Force.lss" 138 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-objcopy.exe" -O srec -R .eeprom -R .fuse -R .lock -R .signature -R .user_signatures "Moon Force.elf" "Moon Force.srec" 139 | "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-size.exe" "Moon Force.elf" 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | # Other Targets 148 | clean: 149 | -$(RM) $(OBJS_AS_ARGS) $(EXECUTABLES) 150 | -$(RM) $(C_DEPS_AS_ARGS) 151 | rm -rf "Moon Force.elf" "Moon Force.a" "Moon Force.hex" "Moon Force.lss" "Moon Force.eep" "Moon Force.map" "Moon Force.srec" "Moon Force.usersignatures" 152 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/Moon Force.eep: -------------------------------------------------------------------------------- 1 | :00000001FF 2 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/Moon Force.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Release/Moon Force.elf -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/drivers/gameBadge.d: -------------------------------------------------------------------------------- 1 | drivers/gameBadge.d drivers/gameBadge.o: ../drivers/gameBadge.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | ../drivers/gameBadge.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | ../drivers/gameBadge.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 47 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Release/drivers/gameBadge.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/game.d: -------------------------------------------------------------------------------- 1 | game.d game.o: .././game.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h \ 17 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h \ 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h \ 19 | .././drivers/gameBadge.h .././game.h \ 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 27 | 28 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 31 | 32 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 45 | 46 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 47 | 48 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 49 | 50 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\pgmspace.h: 51 | 52 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stddef.h: 53 | 54 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\eeprom.h: 55 | 56 | .././drivers/gameBadge.h: 57 | 58 | .././game.h: 59 | 60 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\string.h: 61 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/game.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Release/game.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/main.d: -------------------------------------------------------------------------------- 1 | main.d main.o: .././main.c \ 2 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h \ 3 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h \ 4 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h \ 5 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h \ 6 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h \ 7 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h \ 8 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h \ 9 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h \ 10 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h \ 11 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h \ 12 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h \ 13 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h \ 14 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h \ 15 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h \ 16 | .././drivers/gameBadge.h .././game.h 17 | 18 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\io.h: 19 | 20 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sfr_defs.h: 21 | 22 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\inttypes.h: 23 | 24 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\lib\gcc\avr\5.4.0\include\stdint.h: 25 | 26 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\stdint.h: 27 | 28 | C:\Program\ Files\ (x86)\Atmel\Studio\7.0\Packs\atmel\ATtiny_DFP\1.8.332\include/avr/iotn1616.h: 29 | 30 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\portpins.h: 31 | 32 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\common.h: 33 | 34 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\version.h: 35 | 36 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\xmega.h: 37 | 38 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\fuse.h: 39 | 40 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\lock.h: 41 | 42 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\interrupt.h: 43 | 44 | c:\program\ files\ (x86)\atmel\studio\7.0\toolchain\avr8\avr8-gnu-toolchain\avr\include\avr\sleep.h: 45 | 46 | .././drivers/gameBadge.h: 47 | 48 | .././game.h: 49 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/Moon Force/Release/main.o -------------------------------------------------------------------------------- /Moon Force/Moon Force/Release/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | drivers\gameBadge.c 6 | 7 | game.c 8 | 9 | main.c 10 | 11 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/drivers/gameBadge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * lcd.h 3 | * 4 | * Created: 7/31/2021 6:22:10 PM 5 | * Author: ben 6 | */ 7 | 8 | #ifndef GAMEBADGE_H_ 9 | #define GAMEBADGE_H_ 10 | 11 | #define SSD1306_LCDWIDTH 128 12 | #define SSD1306_LCDHEIGHT 64 13 | #define SSD1306_SETCONTRAST 0x81 14 | #define SSD1306_DISPLAYALLON_RESUME 0xA4 15 | #define SSD1306_DISPLAYALLON 0xA5 16 | #define SSD1306_NORMALDISPLAY 0xA6 17 | #define SSD1306_INVERTDISPLAY 0xA7 18 | #define SSD1306_DISPLAYOFF 0xAE 19 | #define SSD1306_DISPLAYON 0xAF 20 | #define SSD1306_SETDISPLAYOFFSET 0xD3 21 | #define SSD1306_SETCOMPINS 0xDA 22 | #define SSD1306_SETVCOMDETECT 0xDB 23 | #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 24 | #define SSD1306_SETPRECHARGE 0xD9 25 | #define SSD1306_SETMULTIPLEX 0xA8 26 | #define SSD1306_SETLOWCOLUMN 0x00 27 | #define SSD1306_SETHIGHCOLUMN 0x10 28 | #define SSD1306_SETSTARTLINE 0x40 29 | #define SSD1306_MEMORYMODE 0x20 30 | #define SSD1306_COLUMNADDR 0x21 31 | #define SSD1306_PAGEADDR 0x22 32 | #define SSD1306_COMSCANINC 0xC0 33 | #define SSD1306_COMSCANDEC 0xC8 34 | #define SSD1306_SEGREMAP 0xA0 35 | #define SSD1306_CHARGEPUMP 0x8D 36 | #define SSD1306_EXTERNALVCC 0x1 37 | #define SSD1306_SWITCHCAPVCC 0x2 38 | 39 | #define dUp 0x01 //Port C lower nibble 40 | #define dDown 0x02 41 | #define dLeft 0x04 42 | #define dRight 0x08 //----------------------------- 43 | #define dMenu 0x20 //Port A top 3 bits 44 | #define dB 0x40 45 | #define dA 0x80 //------------ 46 | 47 | #define horizontal 0x00 //Game scrolls horizontally 48 | #define vertical 0x01 //Game scrolls vertically 49 | #define mirrorSprite -1 //Mirror the sprite 50 | #define normalSprite 1 //Draw sprite normally 51 | 52 | #define blank 0 //Used for single row tile drawing "clear" param. 0 = blank 53 | #define draw 0xFF //0xFF = draw pixels 54 | 55 | void displayInit(); 56 | void tileLoad(uint16_t dataStart, uint8_t *data, uint16_t dataSize); 57 | void screenLoad(); 58 | void rowLoad(const char *tileData, uint8_t *rowRAM, uint8_t clear); 59 | uint8_t getButtons(); 60 | void drawTiles(const char *tileData, uint8_t *tileMap); 61 | void setWindow(uint8_t x, uint8_t y); 62 | void setRowScroll(uint8_t x, uint8_t row); 63 | void toneLogic(); 64 | void tone(uint16_t thePitch, uint16_t theTime, uint8_t thisPriority, int direction); 65 | void ledState(uint8_t theState); 66 | void addSeed(uint8_t theValue); 67 | uint8_t getRandom(uint8_t seed); 68 | void drawSprite(const char *bitmap, int8_t xPos, int8_t yPos, uint8_t frameNumber, int8_t mirror); 69 | void setScrollDirection(uint8_t mirrorType); 70 | void bufferMask(int8_t xPos, int16_t bufferPos, uint8_t data, uint8_t maskType); 71 | void direct2buffer(const char *source, uint16_t dest, uint16_t length); 72 | void displayOnOff(uint8_t whatState); 73 | int setRotate(uint8_t which); 74 | void setInvert(uint8_t state); 75 | void writecommand(uint8_t c); 76 | void writedata(uint8_t c); 77 | void sendSPI(uint8_t theData); 78 | void dcHigh(); 79 | void dcLow(); 80 | void csHigh(); 81 | void csLow(); 82 | void delayArgMS(double __ms); 83 | 84 | #endif 85 | -------------------------------------------------------------------------------- /Moon Force/Moon Force/game.h: -------------------------------------------------------------------------------- 1 | #ifndef GAME_H_ 2 | #define GAME_H_ 3 | 4 | void gameSetup(); 5 | void systemLoop(); 6 | void gameFrame(); 7 | void playerLogic(); 8 | void phaseStart(); 9 | void setGoal(uint8_t theGoal); 10 | void spawnObstacle(int16_t xPos, uint8_t whichOne); 11 | void spawnEnemy(int16_t x, int8_t y, int8_t dir, uint8_t whichType); 12 | void spawnExplosion(int16_t x, int8_t y, uint8_t speed); 13 | void spawnBoss(); 14 | void spawnShot(int8_t x, int8_t y, uint8_t whichType); 15 | uint8_t findNextSlot(); 16 | void shotLogic(); 17 | void gotoSleep(); 18 | void enemies(); 19 | void checkBlasted(uint8_t which); 20 | void checkHitPlayer(uint8_t which); 21 | void checkObstacle(uint8_t which, uint8_t yHit, uint16_t value); 22 | void damageBoss(uint8_t g); 23 | uint8_t getGround(); 24 | void drawHighScores(); 25 | void drawOptions(); 26 | void drawTime(); 27 | void drawMountains2(uint8_t vertRow); 28 | void drawTitle(); 29 | void drawNameEntryScreen(); 30 | void drawSplashScreen(); 31 | void findScorePosition(); 32 | void startNewGame(); 33 | void startNewStage(); 34 | void startNewLife(); 35 | void killPlayer(); 36 | void clearShots(); 37 | void clearEnemies(); 38 | void drawMoonscape(); 39 | void gameFrame(); 40 | void drawCharacterRow(); 41 | void updateHighScores(); 42 | void sendTiles(); 43 | void gameStatus(uint8_t type); 44 | void gameAction(); 45 | void drawDecimal(int32_t theValue, uint8_t *rowRAM); 46 | void drawText(const char *text, uint8_t *rowRAM); 47 | void drawTimeDigit(int xPos, int yPos, int theDigit); 48 | void nextRow(); 49 | 50 | void cls(); 51 | 52 | uint8_t eepromReadByte(uint8_t addr); 53 | uint32_t eepromReadLong(uint8_t addr); 54 | void eepromWrite(uint8_t addr, char *initials, uint32_t theScore); 55 | //void eepromWrite(uint8_t addr, uint32_t name, uint32_t theScore); 56 | void writeDefaultHighScores(); 57 | 58 | void fillTiles(uint8_t location, uint8_t startingTile, uint8_t howMany); 59 | 60 | 61 | #define stateTitle 0x08 //MSN of low nibble = can move screens left and right 62 | #define stateShowTime 0x09 63 | #define stateHighScores 0x0A 64 | #define stateOptions 0x0B 65 | #define stateSplash 0x0C 66 | 67 | #define stateEntry 0x05 //Enter your name! 68 | #define stateGetReady 0x07 //Between stages/lives 69 | #define stateGameOver 0x06 //You have died 70 | #define stateRunning 0x80 //MSB means in these states MENU toggles paused and running 71 | #define statePaused 0x90 72 | 73 | #define canPauseMask 0x80 //Can pause? 74 | #define canSwitchScreens 0x08 //Can switch screens? (title/time/high scores) 75 | 76 | #define playerShot 1 77 | #define waveShot 10 78 | #define bombShot 20 79 | 80 | #define playerDriving 0x01 81 | #define playerJumping 0x02 82 | #define playerWinner 0x03 //State when a stage has been beaten (timer leads to score countdown/next stage) 83 | #define playerAlive 0x07 //Mask for driving/jumping/winning/tiger blood 84 | #define playerExploding 0x10 //Self-explanatory 85 | #define playerDead 0x20 //Delay before going back to the splash screen 86 | 87 | #define enemySmallRock 0x01 //Static obstacles 88 | #define enemyBigRock 0x02 89 | #define enemySmallPit 0x04 90 | #define enemyBigPit 0x08 91 | 92 | #define enemyUFO 0x10 //A small moving UFO 93 | #define enemyBalls 0x20 //A 16x16 ball monster that drops pit-making bombs 94 | #define enemyExplosion 0x30 //An explosion, which may be able to kill the player 95 | #define enemyBullet 0x40 //A bullet monster on a sine wave 96 | 97 | #define enemyBossUFO 0xA0 //32x16 boss UFO 98 | 99 | #define skyMask 0x70 //Are enemies in the sky? 100 | 101 | #define enemyWaveShot 0x80 //Sky bullets? (top MSB set) 102 | #define enemyBombShot 0x90 103 | 104 | #define phaseUFOs 0x01 105 | #define phaseBalls 0x02 106 | #define phaseUFOBalls 0x03 107 | #define phaseSkyMask 0x0F 108 | 109 | #define phaseRocks 0x10 110 | #define phasePits 0x20 111 | #define phaseGroundMask 0xF0 112 | 113 | #define phaseNone 0xFF //Nothing going on 114 | 115 | #define spriteOff -128 116 | 117 | #endif /* GAME_H_ */ -------------------------------------------------------------------------------- /Moon Force/Moon Force/main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define F_CPU 20000000UL 6 | #include "drivers/gameBadge.h" 7 | #include "game.h" 8 | 9 | int main(void) { 10 | 11 | CCP = 0xD8; 12 | CLKCTRL.MCLKCTRLB = 0; //Run CPU at full speed, disregarding speed considerings of the datasheet 13 | //CLKCTRL.MCLKCTRLB = 1; //Enable prescaler for 10MHz / 2 (10MHz) required for 3.3v operation 14 | while(!(CLKCTRL.MCLKSTATUS & 0x10)) {} //Sync 15 | 16 | //--Setup Real Time Counter (RTC) for clock use----------------------------------------------- 17 | 18 | CCP = 0xD8; 19 | CLKCTRL.XOSC32KCTRLA = CLKCTRL_ENABLE_bm; //Enable the external crystal 20 | while (RTC.STATUS > 0) {} /* Wait for all register to be synchronized */ 21 | 22 | RTC.CTRLA = RTC_PRESCALER_DIV1_gc /* 1 */ 23 | | 0 << RTC_RTCEN_bp /* Enable: disabled */ 24 | | 1 << RTC_RUNSTDBY_bp; /* Run In Standby: enabled */ 25 | 26 | RTC.CLKSEL = RTC_CLKSEL_TOSC32K_gc; /* 32.768kHz External Crystal Oscillator (XOSC32K) */ 27 | while (RTC.PITSTATUS > 0) {} /* Wait for all register to be synchronized */ 28 | 29 | RTC.PITCTRLA = RTC_PERIOD_CYC32768_gc /* RTC Clock Cycles 32768 */ 30 | | 1 << RTC_PITEN_bp; /* Enable: enabled */ 31 | 32 | RTC.PITINTCTRL = 1 << RTC_PI_bp; /* Periodic Interrupt: enabled */ 33 | 34 | //--Setup IO direction-------------------------------------------------------------------------- 35 | 36 | PORTA_DIR = 0b00011010; //Set pin directions 37 | PORTB_DIR = 0b00110011; //Speaker and LED out 38 | PORTC_DIR = 0b00000000; 39 | 40 | PORTC_PIN0CTRL = 0x88; //Set pullups for control buttons, with inverse output (easier logic) 41 | PORTC_PIN1CTRL = 0x88; 42 | PORTC_PIN2CTRL = 0x88; 43 | PORTC_PIN3CTRL = 0x88; 44 | PORTA_PIN5CTRL = 0x88 | 0x01; //Menu button, can also wake from sleep (ISR on either edge) 45 | PORTA_PIN6CTRL = 0x88; 46 | PORTA_PIN7CTRL = 0x88; 47 | 48 | //--Setup SPI bus and intialize OLED display---------------------------------------------------- 49 | SPI0.CTRLA = SPI_MASTER_bm | SPI_ENABLE_bm | SPI_CLK2X_bm; //Start SPI bus 50 | 51 | displayInit(0); //Setup display 52 | 53 | SPI0_CTRLB = SPI_BUFEN_bm; //Set high speed buffer SPI mode now that the OLED is set up 54 | 55 | //--Setup FRAMERATE TIMER (eat this PS5!)------------------------------------------------------ 56 | TCB0.INTCTRL = TCB_CAPT_bm; //Setup Timer B as compare capture mode that will trigger an interrupt 57 | TCB0_CCMP = 10000; //CLK (20MHz, 3.3 less safe mode) -> DIV2 prescaler = 10000 ticks/ms 58 | //TCB0_CCMP = 5000; //CLK/2 (10MHz, 3.3 safe mode) -> DIV2 prescaler = 5000 ticks/ms 59 | TCB0_CTRLA = (1 << 1) | TCB_ENABLE_bm; 60 | 61 | //--Setup PIEZO SOUND (the new Dolby Atmos)--------------------------------------------------- 62 | TCA0.SINGLE.CTRLB = 63 | TCA_SINGLE_CMP2EN_bm | // Enables Compare Channel 2 (output port WO2 (alt pin per PORTMUX below) = PB5) 64 | TCA_SINGLE_WGMODE_FRQ_gc; // FRQ Waveform Generation 65 | 66 | TCA0.SINGLE.CMP0 = 0; 67 | //TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV8_gc; //10MHz mode 68 | TCA0.SINGLE.CTRLA = TCA_SINGLE_CLKSEL_DIV16_gc; //20MHz mode 69 | 70 | PORTMUX_CTRLC = 0x04; //Write this bit to '1' to select the alternative output pin for TCA0 waveform output 2. 71 | 72 | //--Setup ADC for random number generator----------------------------------------------------- 73 | 74 | ADC0.CTRLA = 0b00000001; //Enable ADC0 75 | ADC0.CTRLC = 0b00010011; //VDD reference, clk/16 76 | ADC0.MUXPOS = 0x02; //ADC on AIN2 (PA2) 77 | 78 | ADC1.CTRLA = 0b00000001; //Enable ADC1 79 | ADC1.CTRLC = 0b00010011; //VDD reference, clk/16 80 | ADC1.MUXPOS = 0x06; //ADC on AIN2 (PC0) 81 | 82 | //--Setup deep sleep mode--------------------------------------------------------------------- 83 | 84 | SLPCTRL.CTRLA = (0x02 << 1) | 1; //Set sleep mode (enabled, power-down mode, deepest sleep mode) 85 | 86 | //--Game Start and Main Loop------------------------------------------------------------------ 87 | 88 | sei(); //Enable interrupts 89 | 90 | gameSetup(); //One-time user game setup code 91 | 92 | systemLoop(); //Jump to the main loop in the code 93 | 94 | } 95 | -------------------------------------------------------------------------------- /Moon Force/graphics/Baddie Bomb Shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/Baddie Bomb Shot.png -------------------------------------------------------------------------------- /Moon Force/graphics/Baddie Shot Wave.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/Baddie Shot Wave.png -------------------------------------------------------------------------------- /Moon Force/graphics/Balls Monster.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/Balls Monster.png -------------------------------------------------------------------------------- /Moon Force/graphics/Explosion UP copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/Explosion UP copy.png -------------------------------------------------------------------------------- /Moon Force/graphics/Explosion UP.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/Explosion UP.psd -------------------------------------------------------------------------------- /Moon Force/graphics/HUD base.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/HUD base.psd -------------------------------------------------------------------------------- /Moon Force/graphics/MGC 2021 Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/MGC 2021 Logo.png -------------------------------------------------------------------------------- /Moon Force/graphics/MGC 2022 Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/MGC 2022 Logo.png -------------------------------------------------------------------------------- /Moon Force/graphics/NASA-Apollo8-Dec24-Earthrise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/NASA-Apollo8-Dec24-Earthrise.jpg -------------------------------------------------------------------------------- /Moon Force/graphics/UFO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/UFO.png -------------------------------------------------------------------------------- /Moon Force/graphics/big_UFO_edges.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/big_UFO_edges.png -------------------------------------------------------------------------------- /Moon Force/graphics/big_UFO_middles.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/big_UFO_middles.png -------------------------------------------------------------------------------- /Moon Force/graphics/blaster shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/blaster shot.png -------------------------------------------------------------------------------- /Moon Force/graphics/bossUFO.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/bossUFO.png -------------------------------------------------------------------------------- /Moon Force/graphics/buggie.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/buggie.png -------------------------------------------------------------------------------- /Moon Force/graphics/bullet sine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/bullet sine.png -------------------------------------------------------------------------------- /Moon Force/graphics/explosion 16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/explosion 16x16.png -------------------------------------------------------------------------------- /Moon Force/graphics/explosion 16x16.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/explosion 16x16.psd -------------------------------------------------------------------------------- /Moon Force/graphics/large pit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/large pit.png -------------------------------------------------------------------------------- /Moon Force/graphics/large rock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/large rock.png -------------------------------------------------------------------------------- /Moon Force/graphics/medium pit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/medium pit.png -------------------------------------------------------------------------------- /Moon Force/graphics/moon force tiles export.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/moon force tiles export.png -------------------------------------------------------------------------------- /Moon Force/graphics/moon force tiles.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/moon force tiles.psd -------------------------------------------------------------------------------- /Moon Force/graphics/moon force.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/moon force.psd -------------------------------------------------------------------------------- /Moon Force/graphics/small pit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/small pit.png -------------------------------------------------------------------------------- /Moon Force/graphics/small rock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/small rock.png -------------------------------------------------------------------------------- /Moon Force/graphics/upper shot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/upper shot.png -------------------------------------------------------------------------------- /Moon Force/graphics/wheels.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/Moon Force/graphics/wheels.png -------------------------------------------------------------------------------- /PCB 2022 version/How To Parts.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/PCB 2022 version/How To Parts.pdf -------------------------------------------------------------------------------- /PCB 2022 version/watch_game_2022_revB.txt: -------------------------------------------------------------------------------- 1 | watch_game_2022_revB.sch 2 | 3 | Qty Value Device Parts Description 4 | 1 LED3MM CHRG LED 5 | 1 LED5MM ON LED 6 | 1 LF50CDT U3 5V LDO Voltage Regulator 7 | 2 PINHD-1X1 BAT+, BAT- Pin header 1x1 for 0.1" spacing 8 | 2 100 R-US_M0805 R1, R3 RESISTOR, American symbol 9 | 1 1734510-1 1734510-1 J1 Conn Mini USB Type B 10 | 1 1825232-1 1825232-1 U$5 Slide switch 11 | 3 1uf C-USC0805 C3, C4, C5 CAPACITOR, American symbol 12 | 2 22pf C-USC0805 C1, C2 CAPACITOR, American symbol 13 | 1 2k R-US_M0805 R2 RESISTOR, American symbol 14 | 1 32.768 CRYSTALTC26H Q1 CRYSTAL 15 | 1 470 R-US_M0805 R4 RESISTOR, American symbol 16 | 1 ATTINY1616-SNR ATTINY1616-SNR U1 ATTiny1616 17 | 2 DISPLAY-OLED-128X64_A DISPLAY-OLED-128X64 HORI, VERT 128x64 Dot Matrix OLED SSD1306 18 | 1 MCP73832T-5ACI/OT MCP73832T-5ACI/OT U2 IC, BATT CHARGER, Li-Ion Li-Polymer 19 | 1 PIEZO PINHD-1X2 1X02 JP1 PIN HEADER 20 | 7 SPST_TACT_A SPST_TACT_A EVQ-Q2_A SMT 6mm switch, EVQQ2 series 21 | 1 UPDI PINHD-1X3 1X03 JP2 PIN HEADER 22 | -------------------------------------------------------------------------------- /PCB 2022 version/watch_game_revB_2022-02-24.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/PCB 2022 version/watch_game_revB_2022-02-24.zip -------------------------------------------------------------------------------- /PCB/docs/assembly diagram.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/PCB/docs/assembly diagram.pdf -------------------------------------------------------------------------------- /PCB/docs/assembly.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/PCB/docs/assembly.psd -------------------------------------------------------------------------------- /PCB/mgc_gerber.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/PCB/mgc_gerber.zip -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # gameBadge 2 | Source code and test examples for Midwest Gaming Classic 2021 Workshop project "gameBadge" 3 | 4 | 5 | [email instructions.docx](https://github.com/benheck/gameBadge/files/7478824/email.instructions.docx) 6 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/.vs/gameBadge ARM/v14/.atsuo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/.vs/gameBadge ARM/v14/.atsuo -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Device_Startup/startup_samd11.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/Device_Startup/startup_samd11.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Device_Startup/system_samd11.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/Device_Startup/system_samd11.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Tester.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/Tester.bin -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Tester.eep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/Tester.eep -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Tester.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/Tester.elf -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Tester.hex: -------------------------------------------------------------------------------- 1 | :1000000078080020F1000000ED000000ED00000085 2 | :1000100000000000000000000000000000000000E0 3 | :10002000000000000000000000000000ED000000E3 4 | :100030000000000000000000ED000000ED000000E6 5 | :10004000ED000000ED000000ED000000ED000000FC 6 | :10005000ED000000ED000000ED000000ED000000EC 7 | :10006000ED000000ED000000ED00000000000000C9 8 | :10007000ED000000ED000000ED000000ED000000CC 9 | :10008000ED000000ED000000ED00000010B5064C92 10 | :100090002378002B07D1054B002B02D0044800E049 11 | :1000A00000BF0123237010BD3404002000000000B5 12 | :1000B000D0040000084B10B5002B03D007490848B6 13 | :1000C00000E000BF07480368002B00D110BD064BBD 14 | :1000D000002BFBD09847F9E700000000380400200F 15 | :1000E000D0040000D004000000000000FEE7000083 16 | :1000F000F8B5234A234B9A4209D0224B204A03E009 17 | :1001000011681960043304321F498B42F8D31F4B26 18 | :1001100002E000221A6004331D4A9342F9D31D4ABB 19 | :10012000FF211D4B8B439360FD3990235B001B4ADD 20 | :10013000D1501B4AD3780325AB4302242343D37009 21 | :10014000D3780C27BB4308263343D370154B987BD9 22 | :1001500030229043202210439873997BB943314356 23 | :1001600099739A7BAA4322439A730F4A516880235A 24 | :100170000B4353600D4B98470D4B9847FEE7C04625 25 | :10018000D0040000000000203404002034040020CB 26 | :100190007404002000ED00E0000000000070004149 27 | :1001A00000500041004800410040004109030000A8 28 | :1001B00095020000014A024B1A60704740420F004E 29 | :1001C00000000020294B1A6A29490A401A621A6A5B 30 | :1001D00080218A431A62274A536862398B431C394B 31 | :1001E0000B435360244B254A9A60254A5A60224BA0 32 | :1001F0005B78DB09FBD18222D2011F4B5A801B4A5C 33 | :10020000938C80218B439384184BDB68DB06FBD5F2 34 | :1002100081229200154B9A84144BDB68DB06FBD5D8 35 | :10022000184B1A68184B1B689B05900E8002990D9D 36 | :1002300001430E488162DB0D1B04D20E9206134966 37 | :100240000B431A43C262838C022213438384074BFD 38 | :10025000DB685B06FBD5084B00229A600C4A5A60AB 39 | :10026000054B5B78DB09FBD17047C04600080040B6 40 | :10027000FFFCFFFF00400041000C004001FA0000BD 41 | :10028000010603002460800028608000DC05000077 42 | :100290000007030010B5124B9847124B9847124BBA 43 | :1002A000196A20200A0002431A62104A104B5A8031 44 | :1002B000104B00221A60104919640221D9635A6157 45 | :1002C0000E4A1A608022520280218902AA24E40583 46 | :1002D00021430A4302430A498A620A4A9A64FEE7B2 47 | :1002E000B5010000C50100000004004011400000FD 48 | :1002F000000C00400014004260EA000002140000FC 49 | :10030000004400413075000070B50D4E0D4D0024C5 50 | :10031000AD1BAD1005D0A300F35801349847A5429A 51 | :10032000F9D100F0C3F8084E084D0024AD1BAD1004 52 | :1003300005D0A300F35801349847A542F9D170BD08 53 | :10034000B8040000B8040000B8040000C0040000B5 54 | :10035000034B10B5002B02D0024800F005F810BD89 55 | :10036000000000007903000010B501000023002206 56 | :10037000002000F01FF810BD70B5094B094CE41ABD 57 | :10038000A41009D0084AA518AD00ED182B68013C4F 58 | :100390009847043D002CF9D100F092F870BDC0469A 59 | :1003A000CC040000D0040000FFFFFF3F7047C046B0 60 | :1003B0007047C046F0B54E464546DE465746E0B566 61 | :1003C000364D83B00600286898460F009146FFF727 62 | :1003D000EDFF334B1C68A4235B00E058002852D08B 63 | :1003E00043681F2B13DC5A1C0192002E28D1019A5E 64 | :1003F00002339B0042601F502868FFF7D9FF00209E 65 | :1004000003B03CBC90469946A246AB46F0BD254B96 66 | :10041000002B3DD0C820400000E000BF002837D0AE 67 | :10042000A42200235200A15843600160A050403232 68 | :10043000835004328350013301930023002ED6D021 69 | :100440009A00924682444A46882154466250C42209 70 | :100450005200914681444A468739994012688B463A 71 | :100460000A4394464A46614611608422414652003E 72 | :10047000A150022EBBD102005C468D32FF321168C2 73 | :100480000C431460B3E720004D30FF30E050A7E785 74 | :100490002868FFF78DFF01204042B1E730040020BB 75 | :1004A000A80400000000000008000020F8B5C046C5 76 | :1004B000F8BC08BC9E46704751030000B500000020 77 | :1004C000F8B5C046F8BC08BC9E4670478D000000D9 78 | :1004D00040420F000000000000000000F402002075 79 | :1004E0005C030020C40300200000000000000000A6 80 | :1004F00000000000000000000000000000000000FC 81 | :1005000000000000000000000000000000000000EB 82 | :1005100000000000000000000000000000000000DB 83 | :1005200000000000000000000000000000000000CB 84 | :1005300000000000000000000000000000000000BB 85 | :1005400000000000000000000000000000000000AB 86 | :10055000000000000000000000000000000000009B 87 | :10056000000000000000000000000000000000008B 88 | :10057000000000000000000000000000000000007B 89 | :1005800001000000000000000E33CDAB34126DE618 90 | :10059000ECDE05000B000000000000000000000081 91 | :1005A000000000000000000000000000000000004B 92 | :1005B000000000000000000000000000000000003B 93 | :1005C000000000000000000000000000000000002B 94 | :1005D000000000000000000000000000000000001B 95 | :1005E000000000000000000000000000000000000B 96 | :1005F00000000000000000000000000000000000FB 97 | :1006000000000000000000000000000000000000EA 98 | :1006100000000000000000000000000000000000DA 99 | :1006200000000000000000000000000000000000CA 100 | :1006300000000000000000000000000000000000BA 101 | :1006400000000000000000000000000000000000AA 102 | :10065000000000000000000000000000000000009A 103 | :10066000000000000000000000000000000000008A 104 | :10067000000000000000000000000000000000007A 105 | :10068000000000000000000000000000000000006A 106 | :10069000000000000000000000000000000000005A 107 | :1006A000000000000000000000000000000000004A 108 | :1006B000000000000000000000000000000000003A 109 | :1006C000000000000000000000000000000000002A 110 | :1006D000000000000000000000000000000000001A 111 | :1006E000000000000000000000000000000000000A 112 | :1006F00000000000000000000000000000000000FA 113 | :1007000000000000000000000000000000000000E9 114 | :1007100000000000000000000000000000000000D9 115 | :1007200000000000000000000000000000000000C9 116 | :1007300000000000000000000000000000000000B9 117 | :1007400000000000000000000000000000000000A9 118 | :100750000000000000000000000000000000000099 119 | :100760000000000000000000000000000000000089 120 | :100770000000000000000000000000000000000079 121 | :100780000000000000000000000000000000000069 122 | :100790000000000000000000000000000000000059 123 | :1007A0000000000000000000000000000000000049 124 | :1007B0000000000000000000000000000000000039 125 | :1007C0000000000000000000000000000000000029 126 | :1007D0000000000000000000000000000000000019 127 | :1007E0000000000000000000000000000000000009 128 | :1007F00000000000000000000000000000000000F9 129 | :1008000000000000000000000000000000000000E8 130 | :1008100000000000000000000000000000000000D8 131 | :1008200000000000000000000000000000000000C8 132 | :1008300000000000000000000000000000000000B8 133 | :1008400000000000000000000000000000000000A8 134 | :100850000000000000000000000000000000000098 135 | :100860000000000000000000000000000000000088 136 | :100870000000000000000000000000000000000078 137 | :100880000000000000000000000000000000000068 138 | :100890000000000000000000000000000000000058 139 | :1008A0000000000000000000000000000000000048 140 | :1008B0000000000000000000000000000000000038 141 | :1008C0000000000000000000000000000000000028 142 | :1008D0000000000000000000000000000000000018 143 | :1008E0000000000000000000000000000000000008 144 | :1008F00000000000000000000000000000000000F8 145 | :04090000500400207F 146 | :00000001FF 147 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/Tester.srec: -------------------------------------------------------------------------------- 1 | S00E00005465737465722E737265639F 2 | S113000078080020F1000000ED000000ED00000081 3 | S113001000000000000000000000000000000000DC 4 | S1130020000000000000000000000000ED000000DF 5 | S11300300000000000000000ED000000ED000000E2 6 | S1130040ED000000ED000000ED000000ED000000F8 7 | S1130050ED000000ED000000ED000000ED000000E8 8 | S1130060ED000000ED000000ED00000000000000C5 9 | S1130070ED000000ED000000ED000000ED000000C8 10 | S1130080ED000000ED000000ED00000010B5064C8E 11 | S11300902378002B07D1054B002B02D0044800E045 12 | S11300A000BF0123237010BD3404002000000000B1 13 | S11300B0D0040000084B10B5002B03D007490848B2 14 | S11300C000E000BF07480368002B00D110BD064BB9 15 | S11300D0002BFBD09847F9E700000000380400200B 16 | S11300E0D0040000D004000000000000FEE700007F 17 | S11300F0F8B5234A234B9A4209D0224B204A03E005 18 | S113010011681960043304321F498B42F8D31F4B22 19 | S113011002E000221A6004331D4A9342F9D31D4AB7 20 | S1130120FF211D4B8B439360FD3990235B001B4AD9 21 | S1130130D1501B4AD3780325AB4302242343D37005 22 | S1130140D3780C27BB4308263343D370154B987BD5 23 | S113015030229043202210439873997BB943314352 24 | S113016099739A7BAA4322439A730F4A5168802356 25 | S11301700B4353600D4B98470D4B9847FEE7C04621 26 | S1130180D0040000000000203404002034040020C7 27 | S11301907404002000ED00E0000000000070004145 28 | S11301A000500041004800410040004109030000A4 29 | S11301B095020000014A024B1A60704740420F004A 30 | S11301C000000020294B1A6A29490A401A621A6A57 31 | S11301D080218A431A62274A536862398B431C3947 32 | S11301E00B435360244B254A9A60254A5A60224B9C 33 | S11301F05B78DB09FBD18222D2011F4B5A801B4A58 34 | S1130200938C80218B439384184BDB68DB06FBD5EE 35 | S113021081229200154B9A84144BDB68DB06FBD5D4 36 | S1130220184B1A68184B1B689B05900E8002990D99 37 | S113023001430E488162DB0D1B04D20E9206134962 38 | S11302400B431A43C262838C022213438384074BF9 39 | S1130250DB685B06FBD5084B00229A600C4A5A60A7 40 | S1130260054B5B78DB09FBD17047C04600080040B2 41 | S1130270FFFCFFFF00400041000C004001FA0000B9 42 | S1130280010603002460800028608000DC05000073 43 | S11302900007030010B5124B9847124B9847124BB6 44 | S11302A0196A20200A0002431A62104A104B5A802D 45 | S11302B0104B00221A60104919640221D9635A6153 46 | S11302C00E4A1A608022520280218902AA24E4057F 47 | S11302D021430A4302430A498A620A4A9A64FEE7AE 48 | S11302E0B5010000C50100000004004011400000F9 49 | S11302F0000C00400014004260EA000002140000F8 50 | S1130300004400413075000070B50D4E0D4D0024C1 51 | S1130310AD1BAD1005D0A300F35801349847A54296 52 | S1130320F9D100F0C3F8084E084D0024AD1BAD1000 53 | S113033005D0A300F35801349847A542F9D170BD04 54 | S1130340B8040000B8040000B8040000C0040000B1 55 | S1130350034B10B5002B02D0024800F005F810BD85 56 | S1130360000000007903000010B501000023002202 57 | S1130370002000F01FF810BD70B5094B094CE41AB9 58 | S1130380A41009D0084AA518AD00ED182B68013C4B 59 | S11303909847043D002CF9D100F092F870BDC04696 60 | S11303A0CC040000D0040000FFFFFF3F7047C046AC 61 | S11303B07047C046F0B54E464546DE465746E0B562 62 | S11303C0364D83B00600286898460F009146FFF723 63 | S11303D0EDFF334B1C68A4235B00E058002852D087 64 | S11303E043681F2B13DC5A1C0192002E28D1019A5A 65 | S11303F002339B0042601F502868FFF7D9FF00209A 66 | S113040003B03CBC90469946A246AB46F0BD254B92 67 | S1130410002B3DD0C820400000E000BF002837D0AA 68 | S1130420A42200235200A15843600160A05040322E 69 | S1130430835004328350013301930023002ED6D01D 70 | S11304409A00924682444A46882154466250C42205 71 | S11304505200914681444A468739994012688B4636 72 | S11304600A4394464A46614611608422414652003A 73 | S1130470A150022EBBD102005C468D32FF321168BE 74 | S11304800C431460B3E720004D30FF30E050A7E781 75 | S11304902868FFF78DFF01204042B1E730040020B7 76 | S11304A0A80400000000000008000020F8B5C046C1 77 | S11304B0F8BC08BC9E46704751030000B50000001C 78 | S11304C0F8B5C046F8BC08BC9E4670478D000000D5 79 | S11304D040420F000000000000000000F402002071 80 | S11304E05C030020C40300200000000000000000A2 81 | S11304F000000000000000000000000000000000F8 82 | S113050000000000000000000000000000000000E7 83 | S113051000000000000000000000000000000000D7 84 | S113052000000000000000000000000000000000C7 85 | S113053000000000000000000000000000000000B7 86 | S113054000000000000000000000000000000000A7 87 | S11305500000000000000000000000000000000097 88 | S11305600000000000000000000000000000000087 89 | S11305700000000000000000000000000000000077 90 | S113058001000000000000000E33CDAB34126DE614 91 | S1130590ECDE05000B00000000000000000000007D 92 | S11305A00000000000000000000000000000000047 93 | S11305B00000000000000000000000000000000037 94 | S11305C00000000000000000000000000000000027 95 | S11305D00000000000000000000000000000000017 96 | S11305E00000000000000000000000000000000007 97 | S11305F000000000000000000000000000000000F7 98 | S113060000000000000000000000000000000000E6 99 | S113061000000000000000000000000000000000D6 100 | S113062000000000000000000000000000000000C6 101 | S113063000000000000000000000000000000000B6 102 | S113064000000000000000000000000000000000A6 103 | S11306500000000000000000000000000000000096 104 | S11306600000000000000000000000000000000086 105 | S11306700000000000000000000000000000000076 106 | S11306800000000000000000000000000000000066 107 | S11306900000000000000000000000000000000056 108 | S11306A00000000000000000000000000000000046 109 | S11306B00000000000000000000000000000000036 110 | S11306C00000000000000000000000000000000026 111 | S11306D00000000000000000000000000000000016 112 | S11306E00000000000000000000000000000000006 113 | S11306F000000000000000000000000000000000F6 114 | S113070000000000000000000000000000000000E5 115 | S113071000000000000000000000000000000000D5 116 | S113072000000000000000000000000000000000C5 117 | S113073000000000000000000000000000000000B5 118 | S113074000000000000000000000000000000000A5 119 | S11307500000000000000000000000000000000095 120 | S11307600000000000000000000000000000000085 121 | S11307700000000000000000000000000000000075 122 | S11307800000000000000000000000000000000065 123 | S11307900000000000000000000000000000000055 124 | S11307A00000000000000000000000000000000045 125 | S11307B00000000000000000000000000000000035 126 | S11307C00000000000000000000000000000000025 127 | S11307D00000000000000000000000000000000015 128 | S11307E00000000000000000000000000000000005 129 | S11307F000000000000000000000000000000000F5 130 | S113080000000000000000000000000000000000E4 131 | S113081000000000000000000000000000000000D4 132 | S113082000000000000000000000000000000000C4 133 | S113083000000000000000000000000000000000B4 134 | S113084000000000000000000000000000000000A4 135 | S11308500000000000000000000000000000000094 136 | S11308600000000000000000000000000000000084 137 | S11308700000000000000000000000000000000074 138 | S11308800000000000000000000000000000000064 139 | S11308900000000000000000000000000000000054 140 | S11308A00000000000000000000000000000000044 141 | S11308B00000000000000000000000000000000034 142 | S11308C00000000000000000000000000000000024 143 | S11308D00000000000000000000000000000000014 144 | S11308E00000000000000000000000000000000004 145 | S11308F000000000000000000000000000000000F4 146 | S1070900500400207B 147 | S9030000FC 148 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/drivers/clocks.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/drivers/clocks.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/drivers/gameBadge.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/drivers/spi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/drivers/spi.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/gameBadge ARM.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/gameBadge ARM.bin -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/gameBadge ARM.eep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/gameBadge ARM.eep -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/gameBadge ARM.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/gameBadge ARM.elf -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Debug/main.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Debug/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | Device_Startup\startup_samd11.c 6 | 7 | Device_Startup\system_samd11.c 8 | 9 | drivers\clocks.c 10 | 11 | drivers\gameBadge.c 12 | 13 | drivers\spi.c 14 | 15 | main.c 16 | 17 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Device_Startup/samd11c14a_flash.ld: -------------------------------------------------------------------------------- 1 | /** 2 | * \file 3 | * 4 | * \brief Linker script for running in internal FLASH on the SAMD11C14A 5 | * 6 | * Copyright (c) 2018 Microchip Technology Inc. 7 | * 8 | * \asf_license_start 9 | * 10 | * \page License 11 | * 12 | * SPDX-License-Identifier: Apache-2.0 13 | * 14 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 15 | * not use this file except in compliance with the License. 16 | * You may obtain a copy of the Licence at 17 | * 18 | * http://www.apache.org/licenses/LICENSE-2.0 19 | * 20 | * Unless required by applicable law or agreed to in writing, software 21 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 22 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 | * See the License for the specific language governing permissions and 24 | * limitations under the License. 25 | * 26 | * \asf_license_stop 27 | * 28 | */ 29 | 30 | 31 | OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 32 | OUTPUT_ARCH(arm) 33 | SEARCH_DIR(.) 34 | 35 | /* Memory Spaces Definitions */ 36 | MEMORY 37 | { 38 | rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00004000 39 | ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000 40 | } 41 | 42 | /* The stack size used by the application. NOTE: you need to adjust according to your application. */ 43 | STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x100; 44 | 45 | /* Section Definitions */ 46 | SECTIONS 47 | { 48 | .text : 49 | { 50 | . = ALIGN(4); 51 | _sfixed = .; 52 | KEEP(*(.vectors .vectors.*)) 53 | *(.text .text.* .gnu.linkonce.t.*) 54 | *(.glue_7t) *(.glue_7) 55 | *(.rodata .rodata* .gnu.linkonce.r.*) 56 | *(.ARM.extab* .gnu.linkonce.armextab.*) 57 | 58 | /* Support C constructors, and C destructors in both user code 59 | and the C library. This also provides support for C++ code. */ 60 | . = ALIGN(4); 61 | KEEP(*(.init)) 62 | . = ALIGN(4); 63 | __preinit_array_start = .; 64 | KEEP (*(.preinit_array)) 65 | __preinit_array_end = .; 66 | 67 | . = ALIGN(4); 68 | __init_array_start = .; 69 | KEEP (*(SORT(.init_array.*))) 70 | KEEP (*(.init_array)) 71 | __init_array_end = .; 72 | 73 | . = ALIGN(4); 74 | KEEP (*crtbegin.o(.ctors)) 75 | KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) 76 | KEEP (*(SORT(.ctors.*))) 77 | KEEP (*crtend.o(.ctors)) 78 | 79 | . = ALIGN(4); 80 | KEEP(*(.fini)) 81 | 82 | . = ALIGN(4); 83 | __fini_array_start = .; 84 | KEEP (*(.fini_array)) 85 | KEEP (*(SORT(.fini_array.*))) 86 | __fini_array_end = .; 87 | 88 | KEEP (*crtbegin.o(.dtors)) 89 | KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) 90 | KEEP (*(SORT(.dtors.*))) 91 | KEEP (*crtend.o(.dtors)) 92 | 93 | . = ALIGN(4); 94 | _efixed = .; /* End of text section */ 95 | } > rom 96 | 97 | /* .ARM.exidx is sorted, so has to go in its own output section. */ 98 | PROVIDE_HIDDEN (__exidx_start = .); 99 | .ARM.exidx : 100 | { 101 | *(.ARM.exidx* .gnu.linkonce.armexidx.*) 102 | } > rom 103 | PROVIDE_HIDDEN (__exidx_end = .); 104 | 105 | . = ALIGN(4); 106 | _etext = .; 107 | 108 | .relocate : AT (_etext) 109 | { 110 | . = ALIGN(4); 111 | _srelocate = .; 112 | *(.ramfunc .ramfunc.*); 113 | *(.data .data.*); 114 | . = ALIGN(4); 115 | _erelocate = .; 116 | } > ram 117 | 118 | /* .bss section which is used for uninitialized data */ 119 | .bss (NOLOAD) : 120 | { 121 | . = ALIGN(4); 122 | _sbss = . ; 123 | _szero = .; 124 | *(.bss .bss.*) 125 | *(COMMON) 126 | . = ALIGN(4); 127 | _ebss = . ; 128 | _ezero = .; 129 | } > ram 130 | 131 | /* stack section */ 132 | .stack (NOLOAD): 133 | { 134 | . = ALIGN(8); 135 | _sstack = .; 136 | . = . + STACK_SIZE; 137 | . = ALIGN(8); 138 | _estack = .; 139 | } > ram 140 | 141 | . = ALIGN(4); 142 | _end = . ; 143 | } 144 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Device_Startup/samd11c14a_sram.ld: -------------------------------------------------------------------------------- 1 | /** 2 | * \file 3 | * 4 | * \brief Linker script for running in internal SRAM on the SAMD11C14A 5 | * 6 | * Copyright (c) 2018 Microchip Technology Inc. 7 | * 8 | * \asf_license_start 9 | * 10 | * \page License 11 | * 12 | * SPDX-License-Identifier: Apache-2.0 13 | * 14 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 15 | * not use this file except in compliance with the License. 16 | * You may obtain a copy of the Licence at 17 | * 18 | * http://www.apache.org/licenses/LICENSE-2.0 19 | * 20 | * Unless required by applicable law or agreed to in writing, software 21 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 22 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 | * See the License for the specific language governing permissions and 24 | * limitations under the License. 25 | * 26 | * \asf_license_stop 27 | * 28 | */ 29 | 30 | 31 | OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") 32 | OUTPUT_ARCH(arm) 33 | SEARCH_DIR(.) 34 | 35 | /* Memory Spaces Definitions */ 36 | MEMORY 37 | { 38 | ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00001000 39 | } 40 | 41 | /* The stack size used by the application. NOTE: you need to adjust according to your application. */ 42 | STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x100; 43 | 44 | /* Section Definitions */ 45 | SECTIONS 46 | { 47 | .text : 48 | { 49 | . = ALIGN(4); 50 | _sfixed = .; 51 | KEEP(*(.vectors .vectors.*)) 52 | *(.text .text.* .gnu.linkonce.t.*) 53 | *(.glue_7t) *(.glue_7) 54 | *(.rodata .rodata* .gnu.linkonce.r.*) 55 | *(.ARM.extab* .gnu.linkonce.armextab.*) 56 | 57 | /* Support C constructors, and C destructors in both user code 58 | and the C library. This also provides support for C++ code. */ 59 | . = ALIGN(4); 60 | KEEP(*(.init)) 61 | . = ALIGN(4); 62 | __preinit_array_start = .; 63 | KEEP (*(.preinit_array)) 64 | __preinit_array_end = .; 65 | 66 | . = ALIGN(4); 67 | __init_array_start = .; 68 | KEEP (*(SORT(.init_array.*))) 69 | KEEP (*(.init_array)) 70 | __init_array_end = .; 71 | 72 | . = ALIGN(4); 73 | KEEP (*crtbegin.o(.ctors)) 74 | KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors)) 75 | KEEP (*(SORT(.ctors.*))) 76 | KEEP (*crtend.o(.ctors)) 77 | 78 | . = ALIGN(4); 79 | KEEP(*(.fini)) 80 | 81 | . = ALIGN(4); 82 | __fini_array_start = .; 83 | KEEP (*(.fini_array)) 84 | KEEP (*(SORT(.fini_array.*))) 85 | __fini_array_end = .; 86 | 87 | KEEP (*crtbegin.o(.dtors)) 88 | KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors)) 89 | KEEP (*(SORT(.dtors.*))) 90 | KEEP (*crtend.o(.dtors)) 91 | 92 | . = ALIGN(4); 93 | _efixed = .; /* End of text section */ 94 | } > ram 95 | 96 | /* .ARM.exidx is sorted, so has to go in its own output section. */ 97 | PROVIDE_HIDDEN (__exidx_start = .); 98 | .ARM.exidx : 99 | { 100 | *(.ARM.exidx* .gnu.linkonce.armexidx.*) 101 | } > ram 102 | PROVIDE_HIDDEN (__exidx_end = .); 103 | 104 | . = ALIGN(4); 105 | _etext = .; 106 | 107 | .relocate : AT (_etext) 108 | { 109 | . = ALIGN(4); 110 | _srelocate = .; 111 | *(.ramfunc .ramfunc.*); 112 | *(.data .data.*); 113 | . = ALIGN(4); 114 | _erelocate = .; 115 | } > ram 116 | 117 | /* .bss section which is used for uninitialized data */ 118 | .bss (NOLOAD) : 119 | { 120 | . = ALIGN(4); 121 | _sbss = . ; 122 | _szero = .; 123 | *(.bss .bss.*) 124 | *(COMMON) 125 | . = ALIGN(4); 126 | _ebss = . ; 127 | _ezero = .; 128 | } > ram 129 | 130 | /* stack section */ 131 | .stack (NOLOAD): 132 | { 133 | . = ALIGN(8); 134 | _sstack = .; 135 | . = . + STACK_SIZE; 136 | . = ALIGN(8); 137 | _estack = .; 138 | } > ram 139 | 140 | . = ALIGN(4); 141 | _end = . ; 142 | } 143 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Device_Startup/system_samd11.c: -------------------------------------------------------------------------------- 1 | /** 2 | * \file 3 | * 4 | * \brief Low-level initialization functions called upon chip startup. 5 | * 6 | * Copyright (c) 2018 Microchip Technology Inc. 7 | * 8 | * \asf_license_start 9 | * 10 | * \page License 11 | * 12 | * SPDX-License-Identifier: Apache-2.0 13 | * 14 | * Licensed under the Apache License, Version 2.0 (the "License"); you may 15 | * not use this file except in compliance with the License. 16 | * You may obtain a copy of the Licence at 17 | * 18 | * http://www.apache.org/licenses/LICENSE-2.0 19 | * 20 | * Unless required by applicable law or agreed to in writing, software 21 | * distributed under the License is distributed on an AS IS BASIS, WITHOUT 22 | * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 23 | * See the License for the specific language governing permissions and 24 | * limitations under the License. 25 | * 26 | * \asf_license_stop 27 | * 28 | */ 29 | 30 | #include "samd11.h" 31 | 32 | /** 33 | * Initial system clock frequency. The System RC Oscillator (RCSYS) provides 34 | * the source for the main clock at chip startup. 35 | */ 36 | #define __SYSTEM_CLOCK (1000000) 37 | 38 | uint32_t SystemCoreClock = __SYSTEM_CLOCK;/*!< System Clock Frequency (Core Clock)*/ 39 | 40 | /** 41 | * Initialize the system 42 | * 43 | * @brief Setup the microcontroller system. 44 | * Initialize the System and update the SystemCoreClock variable. 45 | */ 46 | void SystemInit(void) 47 | { 48 | // Keep the default device state after reset 49 | SystemCoreClock = __SYSTEM_CLOCK; 50 | return; 51 | } 52 | 53 | /** 54 | * Update SystemCoreClock variable 55 | * 56 | * @brief Updates the SystemCoreClock with current core Clock 57 | * retrieved from cpu registers. 58 | */ 59 | void SystemCoreClockUpdate(void) 60 | { 61 | // Not implemented 62 | SystemCoreClock = __SYSTEM_CLOCK; 63 | return; 64 | } 65 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Device_Startup/startup_samd11.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/Device_Startup/startup_samd11.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Device_Startup/system_samd11.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/Device_Startup/system_samd11.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Tester.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/Tester.bin -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Tester.eep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/Tester.eep -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Tester.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/Tester.elf -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Tester.hex: -------------------------------------------------------------------------------- 1 | :1000000078080020F1000000ED000000ED00000085 2 | :1000100000000000000000000000000000000000E0 3 | :10002000000000000000000000000000ED000000E3 4 | :100030000000000000000000ED000000ED000000E6 5 | :10004000ED000000ED000000ED000000ED000000FC 6 | :10005000ED000000ED000000ED000000ED000000EC 7 | :10006000ED000000ED000000ED00000000000000C9 8 | :10007000ED000000ED000000ED000000ED000000CC 9 | :10008000ED000000ED000000ED00000010B5064C92 10 | :100090002378002B07D1054B002B02D0044800E049 11 | :1000A00000BF0123237010BD3404002000000000B5 12 | :1000B0009C040000084B10B5002B03D007490848EA 13 | :1000C00000E000BF07480368002B00D110BD064BBD 14 | :1000D000002BFBD09847F9E700000000380400200F 15 | :1000E0009C0400009C04000000000000FEE70000EB 16 | :1000F0002148224970B5884204D00023204CCA18F8 17 | :10010000A24232D300211F4B1F4A934231D3FF2119 18 | :100110001E4B1F4A8B43936002220C250824302675 19 | :100120001C4B1D485A62C378FC398B431343C37080 20 | :10013000C378AB432343C370184B987BB04306008E 21 | :10014000202030439873987BA84304439C73987B8A 22 | :10015000884302439A738023114A51680B435360CA 23 | :10016000104B9847104B9847FEE7C558043315606D 24 | :10017000C5E702C3C9E7C0469C0400000000002098 25 | :100180003404002034040020740400200000000027 26 | :1001900000ED00E0FC7000410050004100480041CB 27 | :1001A00000400041D50200007D020000014A024BE0 28 | :1001B0001A60704740420F000000002030B5254B08 29 | :1001C00025491A6A25480A4080211A621A6A8A4318 30 | :1001D0001A62426862398A43110002220A4342606D 31 | :1001E0001F49204A9160204951605178C909FCD1CA 32 | :1001F00082218020C9015180998C81439984D968DA 33 | :10020000C906FCD5812189009984D968C906FCD525 34 | :10021000164908681649850E0968AD028C05A40DBB 35 | :100220002C4389059C62C90D124C0904C00E214360 36 | :10023000800608430221D862988C01439984D968CA 37 | :100240004906FCD5002393600B4B53605378DB09C0 38 | :10025000FCD130BD00080040FFFCFFFF0040004122 39 | :1002600001FA0000000C0040010603002460800039 40 | :1002700028608000DC0500000007030010B50D4B6E 41 | :1002800098470D4B984720220C4902200B6A002406 42 | :1002900013430B620A490B4B598001210A4B1C6026 43 | :1002A0001964D8635C611860084802430848826298 44 | :1002B0009964FEE7AD010000BD01000000040040AC 45 | :1002C00011400000000C00400014004200000355E3 46 | :1002D0000044004170B50D4E0D4D0024AD1BAD1016 47 | :1002E00005D0A300F35801349847A542F9D100F096 48 | :1002F000C3F8084E084D0024AD1BAD1005D0A30077 49 | :10030000F35801349847A542F9D170BD8404000028 50 | :1003100084040000840400008C040000034B10B52A 51 | :10032000002B02D0024800F005F810BD00000000CC 52 | :100330004503000010B5010000230022002000F05A 53 | :100340001FF810BD70B5094B094CE41AA41009D070 54 | :10035000084AA518AD00ED182B68013C9847043DEC 55 | :10036000002CF9D100F092F870BDC046980400004E 56 | :100370009C040000FFFFFF3F7047C0467047C04627 57 | :10038000F0B54E464546DE465746E0B5364D83B09D 58 | :100390000600286898460F009146FFF7EDFF334BA3 59 | :1003A0001C68A4235B00E058002852D043681F2B30 60 | :1003B00013DC5A1C0192002E28D1019A02339B00B3 61 | :1003C00042601F502868FFF7D9FF002003B03CBCF3 62 | :1003D00090469946A246AB46F0BD254B002B3DD03A 63 | :1003E000C820400000E000BF002837D0A42200232E 64 | :1003F0005200A15843600160A05040328350043243 65 | :100400008350013301930023002ED6D09A009246E8 66 | :1004100082444A46882154466250C4225200914682 67 | :1004200081444A468739994012688B460A4394466C 68 | :100430004A4661461160842241465200A150022E74 69 | :10044000BBD102005C468D32FF3211680C43146050 70 | :10045000B3E720004D30FF30E050A7E72868FFF7F2 71 | :100460008DFF01204042B1E73004002074040000F9 72 | :100470000000000008000020F8B5C046F8BC08BC29 73 | :100480009E4670471D030000B5000000F8B5C04649 74 | :0C049000F8BC08BC9E4670478D000000C0 75 | :10049C0040420F000000000000000000F4020020A9 76 | :1004AC005C030020C40300200000000000000000DA 77 | :1004BC000000000000000000000000000000000030 78 | :1004CC000000000000000000000000000000000020 79 | :1004DC000000000000000000000000000000000010 80 | :1004EC000000000000000000000000000000000000 81 | :1004FC0000000000000000000000000000000000F0 82 | :10050C0000000000000000000000000000000000DF 83 | :10051C0000000000000000000000000000000000CF 84 | :10052C0000000000000000000000000000000000BF 85 | :10053C0000000000000000000000000000000000AF 86 | :10054C0001000000000000000E33CDAB34126DE64C 87 | :10055C00ECDE05000B0000000000000000000000B5 88 | :10056C00000000000000000000000000000000007F 89 | :10057C00000000000000000000000000000000006F 90 | :10058C00000000000000000000000000000000005F 91 | :10059C00000000000000000000000000000000004F 92 | :1005AC00000000000000000000000000000000003F 93 | :1005BC00000000000000000000000000000000002F 94 | :1005CC00000000000000000000000000000000001F 95 | :1005DC00000000000000000000000000000000000F 96 | :1005EC0000000000000000000000000000000000FF 97 | :1005FC0000000000000000000000000000000000EF 98 | :10060C0000000000000000000000000000000000DE 99 | :10061C0000000000000000000000000000000000CE 100 | :10062C0000000000000000000000000000000000BE 101 | :10063C0000000000000000000000000000000000AE 102 | :10064C00000000000000000000000000000000009E 103 | :10065C00000000000000000000000000000000008E 104 | :10066C00000000000000000000000000000000007E 105 | :10067C00000000000000000000000000000000006E 106 | :10068C00000000000000000000000000000000005E 107 | :10069C00000000000000000000000000000000004E 108 | :1006AC00000000000000000000000000000000003E 109 | :1006BC00000000000000000000000000000000002E 110 | :1006CC00000000000000000000000000000000001E 111 | :1006DC00000000000000000000000000000000000E 112 | :1006EC0000000000000000000000000000000000FE 113 | :1006FC0000000000000000000000000000000000EE 114 | :10070C0000000000000000000000000000000000DD 115 | :10071C0000000000000000000000000000000000CD 116 | :10072C0000000000000000000000000000000000BD 117 | :10073C0000000000000000000000000000000000AD 118 | :10074C00000000000000000000000000000000009D 119 | :10075C00000000000000000000000000000000008D 120 | :10076C00000000000000000000000000000000007D 121 | :10077C00000000000000000000000000000000006D 122 | :10078C00000000000000000000000000000000005D 123 | :10079C00000000000000000000000000000000004D 124 | :1007AC00000000000000000000000000000000003D 125 | :1007BC00000000000000000000000000000000002D 126 | :1007CC00000000000000000000000000000000001D 127 | :1007DC00000000000000000000000000000000000D 128 | :1007EC0000000000000000000000000000000000FD 129 | :1007FC0000000000000000000000000000000000ED 130 | :10080C0000000000000000000000000000000000DC 131 | :10081C0000000000000000000000000000000000CC 132 | :10082C0000000000000000000000000000000000BC 133 | :10083C0000000000000000000000000000000000AC 134 | :10084C00000000000000000000000000000000009C 135 | :10085C00000000000000000000000000000000008C 136 | :10086C00000000000000000000000000000000007C 137 | :10087C00000000000000000000000000000000006C 138 | :10088C00000000000000000000000000000000005C 139 | :10089C00000000000000000000000000000000004C 140 | :1008AC00000000000000000000000000000000003C 141 | :1008BC00000000000000000000000000000000002C 142 | :0408CC0050040020B4 143 | :00000001FF 144 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/Tester.srec: -------------------------------------------------------------------------------- 1 | S00E00005465737465722E737265639F 2 | S113000078080020F1000000ED000000ED00000081 3 | S113001000000000000000000000000000000000DC 4 | S1130020000000000000000000000000ED000000DF 5 | S11300300000000000000000ED000000ED000000E2 6 | S1130040ED000000ED000000ED000000ED000000F8 7 | S1130050ED000000ED000000ED000000ED000000E8 8 | S1130060ED000000ED000000ED00000000000000C5 9 | S1130070ED000000ED000000ED000000ED000000C8 10 | S1130080ED000000ED000000ED00000010B5064C8E 11 | S11300902378002B07D1054B002B02D0044800E045 12 | S11300A000BF0123237010BD3404002000000000B1 13 | S11300B09C040000084B10B5002B03D007490848E6 14 | S11300C000E000BF07480368002B00D110BD064BB9 15 | S11300D0002BFBD09847F9E700000000380400200B 16 | S11300E09C0400009C04000000000000FEE70000E7 17 | S11300F02148224970B5884204D00023204CCA18F4 18 | S1130100A24232D300211F4B1F4A934231D3FF2115 19 | S11301101E4B1F4A8B43936002220C250824302671 20 | S11301201C4B1D485A62C378FC398B431343C3707C 21 | S1130130C378AB432343C370184B987BB04306008A 22 | S1130140202030439873987BA84304439C73987B86 23 | S1130150884302439A738023114A51680B435360C6 24 | S1130160104B9847104B9847FEE7C5580433156069 25 | S1130170C5E702C3C9E7C0469C0400000000002094 26 | S11301803404002034040020740400200000000023 27 | S113019000ED00E0FC7000410050004100480041C7 28 | S11301A000400041D50200007D020000014A024BDC 29 | S11301B01A60704740420F000000002030B5254B04 30 | S11301C025491A6A25480A4080211A621A6A8A4314 31 | S11301D01A62426862398A43110002220A43426069 32 | S11301E01F49204A9160204951605178C909FCD1C6 33 | S11301F082218020C9015180998C81439984D968D6 34 | S1130200C906FCD5812189009984D968C906FCD521 35 | S1130210164908681649850E0968AD028C05A40DB7 36 | S11302202C4389059C62C90D124C0904C00E21435C 37 | S1130230800608430221D862988C01439984D968C6 38 | S11302404906FCD5002393600B4B53605378DB09BC 39 | S1130250FCD130BD00080040FFFCFFFF004000411E 40 | S113026001FA0000000C0040010603002460800035 41 | S113027028608000DC0500000007030010B50D4B6A 42 | S113028098470D4B984720220C4902200B6A002402 43 | S113029013430B620A490B4B598001210A4B1C6022 44 | S11302A01964D8635C611860084802430848826294 45 | S11302B09964FEE7AD010000BD01000000040040A8 46 | S11302C011400000000C00400014004200000355DF 47 | S11302D00044004170B50D4E0D4D0024AD1BAD1012 48 | S11302E005D0A300F35801349847A542F9D100F092 49 | S11302F0C3F8084E084D0024AD1BAD1005D0A30073 50 | S1130300F35801349847A542F9D170BD8404000024 51 | S113031084040000840400008C040000034B10B526 52 | S1130320002B02D0024800F005F810BD00000000C8 53 | S11303304503000010B5010000230022002000F056 54 | S11303401FF810BD70B5094B094CE41AA41009D06C 55 | S1130350084AA518AD00ED182B68013C9847043DE8 56 | S1130360002CF9D100F092F870BDC046980400004A 57 | S11303709C040000FFFFFF3F7047C0467047C04623 58 | S1130380F0B54E464546DE465746E0B5364D83B099 59 | S11303900600286898460F009146FFF7EDFF334B9F 60 | S11303A01C68A4235B00E058002852D043681F2B2C 61 | S11303B013DC5A1C0192002E28D1019A02339B00AF 62 | S11303C042601F502868FFF7D9FF002003B03CBCEF 63 | S11303D090469946A246AB46F0BD254B002B3DD036 64 | S11303E0C820400000E000BF002837D0A42200232A 65 | S11303F05200A15843600160A0504032835004323F 66 | S11304008350013301930023002ED6D09A009246E4 67 | S113041082444A46882154466250C422520091467E 68 | S113042081444A468739994012688B460A43944668 69 | S11304304A4661461160842241465200A150022E70 70 | S1130440BBD102005C468D32FF3211680C4314604C 71 | S1130450B3E720004D30FF30E050A7E72868FFF7EE 72 | S11304608DFF01204042B1E73004002074040000F5 73 | S11304700000000008000020F8B5C046F8BC08BC25 74 | S11304809E4670471D030000B5000000F8B5C04645 75 | S10F0490F8BC08BC9E4670478D000000BC 76 | S113049C40420F000000000000000000F4020020A5 77 | S11304AC5C030020C40300200000000000000000D6 78 | S11304BC000000000000000000000000000000002C 79 | S11304CC000000000000000000000000000000001C 80 | S11304DC000000000000000000000000000000000C 81 | S11304EC00000000000000000000000000000000FC 82 | S11304FC00000000000000000000000000000000EC 83 | S113050C00000000000000000000000000000000DB 84 | S113051C00000000000000000000000000000000CB 85 | S113052C00000000000000000000000000000000BB 86 | S113053C00000000000000000000000000000000AB 87 | S113054C01000000000000000E33CDAB34126DE648 88 | S113055CECDE05000B0000000000000000000000B1 89 | S113056C000000000000000000000000000000007B 90 | S113057C000000000000000000000000000000006B 91 | S113058C000000000000000000000000000000005B 92 | S113059C000000000000000000000000000000004B 93 | S11305AC000000000000000000000000000000003B 94 | S11305BC000000000000000000000000000000002B 95 | S11305CC000000000000000000000000000000001B 96 | S11305DC000000000000000000000000000000000B 97 | S11305EC00000000000000000000000000000000FB 98 | S11305FC00000000000000000000000000000000EB 99 | S113060C00000000000000000000000000000000DA 100 | S113061C00000000000000000000000000000000CA 101 | S113062C00000000000000000000000000000000BA 102 | S113063C00000000000000000000000000000000AA 103 | S113064C000000000000000000000000000000009A 104 | S113065C000000000000000000000000000000008A 105 | S113066C000000000000000000000000000000007A 106 | S113067C000000000000000000000000000000006A 107 | S113068C000000000000000000000000000000005A 108 | S113069C000000000000000000000000000000004A 109 | S11306AC000000000000000000000000000000003A 110 | S11306BC000000000000000000000000000000002A 111 | S11306CC000000000000000000000000000000001A 112 | S11306DC000000000000000000000000000000000A 113 | S11306EC00000000000000000000000000000000FA 114 | S11306FC00000000000000000000000000000000EA 115 | S113070C00000000000000000000000000000000D9 116 | S113071C00000000000000000000000000000000C9 117 | S113072C00000000000000000000000000000000B9 118 | S113073C00000000000000000000000000000000A9 119 | S113074C0000000000000000000000000000000099 120 | S113075C0000000000000000000000000000000089 121 | S113076C0000000000000000000000000000000079 122 | S113077C0000000000000000000000000000000069 123 | S113078C0000000000000000000000000000000059 124 | S113079C0000000000000000000000000000000049 125 | S11307AC0000000000000000000000000000000039 126 | S11307BC0000000000000000000000000000000029 127 | S11307CC0000000000000000000000000000000019 128 | S11307DC0000000000000000000000000000000009 129 | S11307EC00000000000000000000000000000000F9 130 | S11307FC00000000000000000000000000000000E9 131 | S113080C00000000000000000000000000000000D8 132 | S113081C00000000000000000000000000000000C8 133 | S113082C00000000000000000000000000000000B8 134 | S113083C00000000000000000000000000000000A8 135 | S113084C0000000000000000000000000000000098 136 | S113085C0000000000000000000000000000000088 137 | S113086C0000000000000000000000000000000078 138 | S113087C0000000000000000000000000000000068 139 | S113088C0000000000000000000000000000000058 140 | S113089C0000000000000000000000000000000048 141 | S11308AC0000000000000000000000000000000038 142 | S11308BC0000000000000000000000000000000028 143 | S10708CC50040020B0 144 | S9030000FC 145 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/drivers/clocks.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/drivers/clocks.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/drivers/dma.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/drivers/dma.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/drivers/gameBadge.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/drivers/gameBadge.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/drivers/spi.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/drivers/spi.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/game.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/game.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/gameBadge ARM.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/gameBadge ARM.bin -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/gameBadge ARM.eep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/gameBadge ARM.eep -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/gameBadge ARM.elf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/gameBadge ARM.elf -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/benheck/gameBadge/9ee4e199f092baafa36aab2dbaa16300a1c31e7c/gameBadge SAMD11C/Release/main.o -------------------------------------------------------------------------------- /gameBadge SAMD11C/Release/makedep.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # Automatically-generated file. Do not edit or delete the file 3 | ################################################################################ 4 | 5 | Device_Startup\startup_samd11.c 6 | 7 | Device_Startup\system_samd11.c 8 | 9 | drivers\clocks.c 10 | 11 | drivers\dma.c 12 | 13 | drivers\gameBadge.c 14 | 15 | drivers\spi.c 16 | 17 | game.c 18 | 19 | main.c 20 | 21 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/clocks.c: -------------------------------------------------------------------------------- 1 | #include "sam.h" 2 | #include "clocks.h" 3 | 4 | void clocksInit48Mhz() { 5 | 6 | //Remove default clock divider on OSC8M 7 | SYSCTRL->OSC8M.bit.PRESC = SYSCTRL_OSC8M_PRESC_0_Val; 8 | SYSCTRL->OSC8M.bit.ONDEMAND = 0; 9 | 10 | /* configuration of the NVM CTRLB register and set the flash wait states */ 11 | NVMCTRL->CTRLB.bit.RWS = 1; 12 | 13 | /* Put OSC8M as source for Generic Clock Generator 1 and divide by 250 (32KHz)*/ 14 | GCLK->GENDIV.reg = GCLK_GENDIV_ID(1) | GCLK_GENDIV_DIV(250); // Generic Clock Generator 3 15 | 16 | /* Write Generic Clock Generator 1 configuration */ 17 | GCLK->GENCTRL.reg = GCLK_GENDIV_ID(1) | // Generic Clock Generator 1 18 | GCLK_GENCTRL_SRC_OSC8M | //Sourced from OSC8M 19 | GCLK_GENCTRL_IDC | 20 | GCLK_GENCTRL_GENEN ; 21 | 22 | while (GCLK->STATUS.bit.SYNCBUSY); // wait for synchronization to complete 23 | 24 | //Attach Generic clock 1 to DFLL 25 | GCLK->CLKCTRL.reg = GCLK_CLKCTRL_ID(0) | // DFLL48MReference 26 | GCLK_CLKCTRL_GEN_GCLK1 | // Generic Clock Generator 1 is source 27 | GCLK_CLKCTRL_CLKEN ; 28 | 29 | /* Workaround for errata 9905 */ 30 | SYSCTRL->DFLLCTRL.bit.ONDEMAND = 0; 31 | 32 | /* wait for the DFLL clock to be ready */ 33 | while (SYSCTRL->PCLKSR.bit.DFLLRDY == 0); 34 | 35 | SYSCTRL->DFLLCTRL.reg = SYSCTRL_DFLLCTRL_MODE | //Set DFLL control 36 | SYSCTRL_DFLLCTRL_QLDIS; 37 | 38 | while (SYSCTRL->PCLKSR.bit.DFLLRDY == 0); //wait for the DFLL clock to be ready 39 | 40 | /* get the coarse and fine values stored in NVM */ 41 | uint32_t coarse = (*(uint32_t *)(0x806024) >> 26); 42 | uint32_t fine = (*(uint32_t *)(0x806028) & 0x3FF); 43 | 44 | SYSCTRL_DFLLVAL_Type dfllval = { 45 | .bit.COARSE = coarse, 46 | .bit.FINE = fine, 47 | }; 48 | SYSCTRL->DFLLVAL.reg = dfllval.reg; 49 | 50 | SYSCTRL_DFLLMUL_Type dfllmul = { 51 | .bit.MUL = 1500, /* 32KHz * 1500 = 48MHz */ 52 | .bit.CSTEP = (coarse >> 1), /* must be 50% or less of coarse value */ 53 | .bit.FSTEP = (fine >> 1), /* must be 50% or less of fine value */ 54 | }; 55 | SYSCTRL->DFLLMUL.reg = dfllmul.reg; 56 | 57 | /* enable DFLL */ 58 | SYSCTRL->DFLLCTRL.bit.ENABLE = 1; 59 | 60 | while (SYSCTRL->PCLKSR.bit.DFLLLCKF == 0); //wait for DFLL closed loop lock 61 | 62 | /* Configure GCLK 0 (CPU clock) to run from the DFLL */ 63 | GCLK->GENDIV.reg = GCLK_GENDIV_ID(0); 64 | GCLK->GENCTRL.reg = GCLK_GENDIV_ID(0) | // Generic Clock Generator 0 65 | GCLK_GENCTRL_SRC_DFLL48M | 66 | GCLK_GENCTRL_IDC | 67 | GCLK_GENCTRL_GENEN; 68 | 69 | while (GCLK->STATUS.bit.SYNCBUSY); //wait for synchronization to complete 70 | 71 | } 72 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/clocks.h: -------------------------------------------------------------------------------- 1 | /* 2 | * clocks.h 3 | * 4 | * Created: 4/7/2021 9:41:01 AM 5 | * Author: benheck 6 | */ 7 | 8 | #ifndef CLOCKS_H_ 9 | #define CLOCKS_H_ 10 | 11 | void clocksInit48Mhz(); 12 | 13 | // Constants for Clock Generators 14 | #define GENERIC_CLOCK_GENERATOR_MAIN (0u) 15 | #define GENERIC_CLOCK_GENERATOR_XOSC32K (1u) 16 | #define GENERIC_CLOCK_GENERATOR_OSCULP32K (2u) /* Initialized at reset for WDT */ 17 | #define GENERIC_CLOCK_GENERATOR_OSC8M (3u) 18 | // Constants for Clock multiplexers 19 | #define GENERIC_CLOCK_MULTIPLEXER_DFLL48M (0u) 20 | 21 | // Constants for DFLL48M 22 | #define MAIN_CLK_FREQ (48000000u) 23 | #define EXT_32K_CLK_FREQ (32768u) 24 | 25 | // USB pin pad settings 26 | #define NVM_USB_PAD_TRANSN_POS 45 27 | #define NVM_USB_PAD_TRANSN_SIZE 5 28 | #define NVM_USB_PAD_TRANSP_POS 50 29 | #define NVM_USB_PAD_TRANSP_SIZE 5 30 | #define NVM_USB_PAD_TRIM_POS 55 31 | #define NVM_USB_PAD_TRIM_SIZE 3 32 | 33 | #endif /* CLOCKS_H_ */ -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/dma.c: -------------------------------------------------------------------------------- 1 | #include "sam.h" 2 | #include "dma.h" 3 | #include 4 | 5 | volatile dmacdescriptor wrb[6] __attribute__ ((aligned (16))); 6 | dmacdescriptor descriptor_section[6] __attribute__ ((aligned (16))); 7 | dmacdescriptor descriptor_chain[6] __attribute__ ((aligned (16))); 8 | dmacdescriptor descriptor __attribute__ ((aligned (16))); 9 | 10 | static uint32_t chnltx = 0; // DMA channels 11 | volatile uint32_t dmadone; 12 | 13 | Sercom *sercomDMA0 = (Sercom *)SERCOM0; // SPI SERCOM0 used for OLED buffer 14 | 15 | void dma_init(void *bufferStart) { 16 | 17 | bufferStart++; 18 | bufferStart++; 19 | 20 | PM->AHBMASK.reg |= PM_AHBMASK_DMAC; 21 | PM->APBBMASK.reg |= PM_APBBMASK_DMAC; 22 | 23 | DMAC->BASEADDR.reg = (uint32_t)descriptor_section; 24 | DMAC->WRBADDR.reg = (uint32_t)wrb; 25 | DMAC->CTRL.reg = DMAC_CTRL_DMAENABLE | DMAC_CTRL_LVLEN(0xf); 26 | 27 | //Set up RGB transmit bank 0-------------------------------------------------------------------------------------------------------------------------------------- 28 | chnltx = 0; //DMA channel ID 29 | 30 | DMAC->CHID.reg = DMAC_CHID_ID(chnltx); //Set channel ID number that we want to modify 31 | DMAC->CHCTRLA.reg &= ~DMAC_CHCTRLA_ENABLE; //Disable channel so we can set things up 32 | DMAC->CHCTRLA.reg = DMAC_CHCTRLA_SWRST; //Reset all registers to initial state - do we need to do this? 33 | DMAC->SWTRIGCTRL.reg &= (uint32_t)(~(1 << chnltx)); //Set bit to enable software trigger of this DMA transfer start 34 | DMAC->CHCTRLB.reg = DMAC_CHCTRLB_LVL(0) | DMAC_CHCTRLB_TRIGSRC(SERCOM0_DMAC_ID_TX) | DMAC_CHCTRLB_TRIGACT_BEAT; //Copy contents of CHCTRLB and OR in some things. 35 | //DMAC->CHINTENSET.reg = DMAC_CHINTENSET_TCMPL; //DMAC_CHINTENSET_MASK ; //Enable all 3 interrupts Channel Suspend, Channel Transfer Complete and Channel Transfer Error 36 | 37 | //Setup transfer of 1024 bytes 38 | descriptor.descaddr = 0; //There is only 1 DMA, so set this to 0 so it doesn't cascade to the next memory section 39 | descriptor.dstaddr = (uint32_t) &sercomDMA0->SPI.DATA.reg; //DMA destination is the SPI bus (SERCOM0) 40 | descriptor.btcnt = 1022; //Number of beats to transfer (1024) 41 | descriptor.srcaddr = (uint32_t)bufferStart; //Where the DMA gets data from 42 | descriptor.btctrl = DMAC_BTCTRL_VALID | DMAC_BTCTRL_SRCINC; //Set this descriptor as valid and set DMA to increment the source address to scan across all RGB data 43 | descriptor.srcaddr += 1022; //For some reason we have to set this to the end of data bank 44 | 45 | memcpy(&descriptor_section[chnltx], &descriptor, sizeof(dmacdescriptor)); //Copy values over into the actual RAM section that the DMA looks at. We only need to do this once because we're writing back to a separate area of RAM 46 | 47 | //NVIC_EnableIRQ(DMAC_IRQn); 48 | 49 | } 50 | 51 | void dmaStartTransfer() { 52 | 53 | DMAC->CHID.reg = DMAC_CHID_ID(0); //Select channel 54 | DMAC->CHCTRLA.reg |= DMAC_CHCTRLA_ENABLE; //Start transfer 55 | 56 | } 57 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/dma.h: -------------------------------------------------------------------------------- 1 | #ifndef DMA_H_ 2 | #define DMA_H_ 3 | 4 | typedef struct { 5 | uint16_t btctrl; 6 | uint16_t btcnt; 7 | uint32_t srcaddr; 8 | uint32_t dstaddr; 9 | uint32_t descaddr; 10 | } dmacdescriptor ; 11 | 12 | void dma_init(void *bufferStart); 13 | void dmaStartTransfer(); 14 | 15 | #endif /* DMA_H_ */ -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/gameBadge.h: -------------------------------------------------------------------------------- 1 | /* 2 | * lcd.h 3 | * 4 | * Created: 7/31/2021 6:22:10 PM 5 | * Author: ben 6 | */ 7 | 8 | #ifndef GAMEBADGE_H_ 9 | #define GAMEBADGE_H_ 10 | 11 | #define SSD1306_LCDWIDTH 128 12 | #define SSD1306_LCDHEIGHT 64 13 | #define SSD1306_SETCONTRAST 0x81 14 | #define SSD1306_DISPLAYALLON_RESUME 0xA4 15 | #define SSD1306_DISPLAYALLON 0xA5 16 | #define SSD1306_NORMALDISPLAY 0xA6 17 | #define SSD1306_INVERTDISPLAY 0xA7 18 | #define SSD1306_DISPLAYOFF 0xAE 19 | #define SSD1306_DISPLAYON 0xAF 20 | #define SSD1306_SETDISPLAYOFFSET 0xD3 21 | #define SSD1306_SETCOMPINS 0xDA 22 | #define SSD1306_SETVCOMDETECT 0xDB 23 | #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 24 | #define SSD1306_SETPRECHARGE 0xD9 25 | #define SSD1306_SETMULTIPLEX 0xA8 26 | #define SSD1306_SETLOWCOLUMN 0x00 27 | #define SSD1306_SETHIGHCOLUMN 0x10 28 | #define SSD1306_SETSTARTLINE 0x40 29 | #define SSD1306_MEMORYMODE 0x20 30 | #define SSD1306_COLUMNADDR 0x21 31 | #define SSD1306_PAGEADDR 0x22 32 | #define SSD1306_COMSCANINC 0xC0 33 | #define SSD1306_COMSCANDEC 0xC8 34 | #define SSD1306_SEGREMAP 0xA0 35 | #define SSD1306_CHARGEPUMP 0x8D 36 | #define SSD1306_EXTERNALVCC 0x1 37 | #define SSD1306_SWITCHCAPVCC 0x2 38 | 39 | #define dUp 0x80 //Shift register MSB 40 | #define dDown 0x40 41 | #define dLeft 0x20 42 | #define dRight 0x10 //----------------------------- 43 | #define dB 0x08 44 | #define dA 0x04 //------------ 45 | #define dCent 0x02 //------------ 46 | #define dExt 0x01 //Shift register LSB 47 | #define dMenu 0x01 //Port A top 3 bits 48 | 49 | #define horizontal 0x00 //Game scrolls horizontally 50 | #define vertical 0x01 //Game scrolls vertically 51 | #define mirrorSprite -1 //Mirror the sprite 52 | #define normalSprite 1 //Draw sprite normally 53 | 54 | #define blank 0 //Used for single row tile drawing "clear" param. 0 = blank 55 | #define draw 0xFF //0xFF = draw pixels 56 | 57 | void displayInit(); 58 | void tileLoad(uint16_t dataStart, uint8_t *data, uint16_t dataSize); 59 | void screenLoad(); 60 | uint8_t dmaCheck(); 61 | void rowLoad(const char *tileData, uint8_t *rowRAM, uint8_t clear); 62 | uint8_t getButtons(); 63 | void drawTiles(const char *tileData, uint8_t *tileMap); 64 | void setWindow(uint8_t x, uint8_t y); 65 | void setRowScroll(uint8_t x, uint8_t row); 66 | void toneLogic(); 67 | void tone(uint16_t thePitch, uint16_t theTime, uint8_t thisPriority, int direction); 68 | void ledState(uint8_t theState); 69 | void addSeed(uint8_t theValue); 70 | uint8_t getRandom(uint8_t seed); 71 | void drawSprite(const char *bitmap, int8_t xPos, int8_t yPos, uint8_t frameNumber, int8_t mirror); 72 | void setScrollDirection(uint8_t mirrorType); 73 | void bufferMask(int8_t xPos, int16_t bufferPos, uint8_t data, uint8_t maskType); 74 | void direct2buffer(const char *source, uint16_t dest, uint16_t length); 75 | void displayOnOff(uint8_t whatState); 76 | int setRotate(uint8_t which); 77 | void setInvert(uint8_t state); 78 | void writecommand(uint8_t c); 79 | void writedata(uint8_t c); 80 | void dcHigh(); 81 | void dcLow(); 82 | void csHigh(); 83 | void csLow(); 84 | void delayArgMS(double __ms); 85 | 86 | #endif 87 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/spi.c: -------------------------------------------------------------------------------- 1 | #include "sam.h" 2 | #include "spi.h" 3 | 4 | void SPI_init(void) { 5 | 6 | //Enable SPI SERCOM clocks 7 | PM->APBCMASK.bit.SERCOM0_ = 1; //SERCOM0 go! 8 | 9 | //Attach clocks 10 | GCLK->CLKCTRL.reg = GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_ID_SERCOM0_CORE; //Use main 48MHz PLL clock 11 | while(GCLK->STATUS.bit.SYNCBUSY); 12 | 13 | SERCOM_SPI_CTRLA_Type ctrla; //Create structure then setup basic SPI parameters 14 | ctrla.bit.DORD = 0; // MSB first 15 | ctrla.bit.CPHA = 0; // Mode 0 clock phase 16 | ctrla.bit.CPOL = 0; // Clock polarity low when idle 17 | ctrla.bit.FORM = 0; // SPI frame 18 | ctrla.bit.DIPO = 2; // MISO on PAD[2] 19 | ctrla.bit.DOPO = 0; // MOSI on PAD[0], SCK on PAD[1] 20 | ctrla.bit.MODE = 3; // Master mode (slave is 2) 21 | 22 | SERCOM0->SPI.CTRLA.reg = ctrla.reg; //Copy values over to SERCOM0 CTRLA 23 | 24 | SERCOM_SPI_CTRLB_Type ctrlb; 25 | ctrlb.bit.RXEN = 1; // RX enabled 26 | ctrlb.bit.CHSIZE = 0; // 8-bit character size 27 | ctrlb.bit.MSSEN = 0; // Disable the Chip Select line for the other SPI buses (we'll do it manually) 28 | SERCOM0->SPI.CTRLB.reg = ctrlb.reg; //Copy modified values over to SERCOM0 29 | 30 | SERCOM0->SPI.BAUD.reg = (SPI_CLK_FREQ / (2 * SPI_BAUD)) - 1; //Calculate BAUD value based off input clock and desired output 31 | 32 | PORT_WRCONFIG_Type wrconfig; //Create config structure 33 | 34 | //Setup SERCOM0 on Peripheral Function C 35 | wrconfig.bit.HWSEL = 0; //0 = Change the lower 16 pins of the PORT group 36 | wrconfig.bit.WRPINCFG = 1; //Flag that we want to update pins 37 | wrconfig.bit.WRPMUX = 1; //Flag that we want to update the Peripheral Multiplexing register 38 | wrconfig.bit.PMUXEN = 1; //Enable pin multiplexing 39 | wrconfig.bit.PMUX = MUX_PA14C_SERCOM0_PAD0; //Set pin multiplexing type (SERCOM0 Pad0 on PA14) 40 | wrconfig.bit.PINMASK = (uint32_t)(PORT_PA14 | PORT_PA15 | PORT_PA04); //No need to bitshift since it's on the lower word 41 | 42 | PORT->Group[0].WRCONFIG.reg = wrconfig.reg; //Send changes to SERCOM0 on first port (0=A) 43 | SERCOM0->SPI.CTRLA.bit.ENABLE = 1; //Enable the SPI bus 1 44 | while(SERCOM0->SPI.SYNCBUSY.bit.ENABLE); //Wait for it to be ready 45 | 46 | } 47 | 48 | uint8_t spiSendIO(uint8_t data) { 49 | 50 | while(SERCOM0->SPI.INTFLAG.bit.DRE == 0); //Wait for data register to be empty 51 | SERCOM0->SPI.DATA.reg = data; //Send data 52 | while(SERCOM0->SPI.INTFLAG.bit.TXC == 0); //Wait for TX complete 53 | //while(SERCOM0->SPI.INTFLAG.bit.RXC == 0); //Wait for RX complete 54 | return SERCOM0->SPI.DATA.reg; //Return RX from buffer 55 | 56 | } 57 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/drivers/spi.h: -------------------------------------------------------------------------------- 1 | //Defines for the SPI SERCOM peripherals 2 | 3 | #ifndef SPI_H_ 4 | #define SPI_H_ 5 | 6 | #define SPI_CLK_FREQ 48000000 //Base frequency of the CPU bus attached to SPI devices 7 | 8 | #define SPI_BAUD 10000000 //10MHz for serial to OLED. Max speed to race ahead of the parallel tile driver 9 | 10 | void SPI_init(void); 11 | uint8_t spiSendIO(uint8_t data); 12 | 13 | #endif /* SPI_H_ */ -------------------------------------------------------------------------------- /gameBadge SAMD11C/game.h: -------------------------------------------------------------------------------- 1 | #ifndef GAME_H_ 2 | #define GAME_H_ 3 | 4 | void gameSetup(); 5 | void systemLoop(); 6 | void gameFrame(); 7 | void playerLogic(); 8 | void phaseStart(); 9 | void setGoal(uint8_t theGoal); 10 | void spawnObstacle(int16_t xPos, uint8_t whichOne); 11 | uint8_t spawnEnemy(int16_t x, int8_t y, int8_t dir, uint8_t whichType); 12 | void spawnExplosion(int16_t x, int8_t y, uint8_t speed); 13 | void spawnBoss(); 14 | void spawnShot(int8_t x, int8_t y, uint8_t whichType); 15 | uint8_t findNextSlot(); 16 | void shotLogic(); 17 | void gotoSleep(); 18 | void enemies(); 19 | void checkBlasted(uint8_t which); 20 | void checkHitPlayer(uint8_t which); 21 | void checkObstacle(uint8_t which, uint8_t yHit, uint16_t value); 22 | void damageBoss(uint8_t g); 23 | uint8_t getGround(); 24 | void drawHighScores(); 25 | void drawOptions(); 26 | void drawTime(); 27 | void drawMountains2(uint8_t vertRow); 28 | void drawTitle(); 29 | void drawNameEntryScreen(); 30 | void drawSplashScreen(); 31 | void findScorePosition(); 32 | void startNewGame(); 33 | void startNewStage(); 34 | void startNewLife(); 35 | void killPlayer(); 36 | void clearShots(); 37 | void clearEnemies(); 38 | void drawMoonscape(); 39 | void gameFrame(); 40 | void drawCharacterRow(); 41 | void updateHighScores(); 42 | void sendTiles(); 43 | void gameStatus(uint8_t type); 44 | void gameAction(); 45 | void drawDecimal(int32_t theValue, uint8_t *rowRAM); 46 | void drawText(const char *text, uint8_t *rowRAM); 47 | void drawTimeDigit(int xPos, int yPos, int theDigit); 48 | void nextRow(); 49 | 50 | void cls(); 51 | 52 | uint8_t eepromReadByte(uint8_t addr); 53 | uint32_t eepromReadLong(uint8_t addr); 54 | void eepromWrite(uint8_t addr, char *initials, uint32_t theScore); 55 | //void eepromWrite(uint8_t addr, uint32_t name, uint32_t theScore); 56 | void writeDefaultHighScores(); 57 | 58 | void fillTiles(uint8_t location, uint8_t startingTile, uint8_t howMany); 59 | 60 | 61 | #define stateTitle 0x08 //MSN of low nibble = can move screens left and right 62 | #define stateShowTime 0x09 63 | #define stateHighScores 0x0A 64 | #define stateOptions 0x0B 65 | #define stateSplash 0x0C 66 | 67 | #define stateEntry 0x05 //Enter your name! 68 | #define stateGetReady 0x07 //Between stages/lives 69 | #define stateGameOver 0x06 //You have died 70 | #define stateRunning 0x80 //MSB means in these states MENU toggles paused and running 71 | #define statePaused 0x90 72 | 73 | #define canPauseMask 0x80 //Can pause? 74 | #define canSwitchScreens 0x08 //Can switch screens? (title/time/high scores) 75 | 76 | #define playerShot 1 77 | #define waveShot 10 78 | #define bombShot 20 79 | 80 | #define playerDriving 0x01 81 | #define playerJumping 0x02 82 | #define playerWinner 0x03 //State when a stage has been beaten (timer leads to score countdown/next stage) 83 | #define playerAlive 0x07 //Mask for driving/jumping/winning/tiger blood 84 | #define playerExploding 0x10 //Self-explanatory 85 | #define playerDead 0x20 //Delay before going back to the splash screen 86 | 87 | #define enemySmallRock 0x01 //Static obstacles 88 | #define enemyBigRock 0x02 89 | #define enemySmallPit 0x04 90 | #define enemyBigPit 0x08 91 | 92 | #define enemyUFO 0x10 //A small moving UFO 93 | #define enemyBalls 0x20 //A 16x16 ball monster that drops pit-making bombs 94 | #define enemyExplosion 0x30 //An explosion, which may be able to kill the player 95 | #define enemyBullet 0x40 //A bullet monster on a sine wave 96 | 97 | #define enemyBossUFO 0xA0 //32x16 boss UFO 98 | 99 | #define skyMask 0x70 //Are enemies in the sky? 100 | 101 | #define enemyWaveShot 0x80 //Sky bullets? (top MSB set) 102 | #define enemyBombShot 0x90 103 | 104 | #define phaseUFOs 0x01 105 | #define phaseBalls 0x02 106 | #define phaseUFOBalls 0x03 107 | #define phaseSkyMask 0x0F 108 | 109 | #define phaseRocks 0x10 110 | #define phasePits 0x20 111 | #define phaseGroundMask 0xF0 112 | 113 | #define phaseNone 0xFF //Nothing going on 114 | 115 | #define spriteOff -128 116 | 117 | #endif /* GAME_H_ */ -------------------------------------------------------------------------------- /gameBadge SAMD11C/gameBadge ARM.atsln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Atmel Studio Solution File, Format Version 11.00 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{54F91283-7BC4-4236-8FF9-10F437C3AD48}") = "gameBadge ARM", "gameBadge ARM.cproj", "{DCE6C7E3-EE26-4D79-826B-08594B9AD897}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|ARM = Debug|ARM 11 | Release|ARM = Release|ARM 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.ActiveCfg = Debug|ARM 15 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Debug|ARM.Build.0 = Debug|ARM 16 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.ActiveCfg = Release|ARM 17 | {DCE6C7E3-EE26-4D79-826B-08594B9AD897}.Release|ARM.Build.0 = Release|ARM 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/gameBadge ARM.componentinfo.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | CMSIS 8 | CORE 9 | 10 | 11 | ARM 12 | 5.1.2 13 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs 14 | 15 | 16 | 17 | 18 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\CMSIS\5.4.0\CMSIS\Documentation\Core\html\index.html 19 | 20 | doc 21 | 22 | 23 | 24 | CMSIS/Documentation/Core/html/index.html 25 | 26 | 27 | 28 | 29 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\arm\CMSIS\5.4.0\CMSIS\Core\Include\ 30 | 31 | include 32 | 33 | 34 | 35 | CMSIS/Core/Include/ 36 | 37 | 38 | 39 | 40 | CMSIS 41 | C:/Program Files (x86)/Atmel/Studio/7.0/Packs/arm/CMSIS/5.4.0/ARM.CMSIS.pdsc 42 | 5.4.0 43 | true 44 | ARMv6_7_8-M Device 45 | 46 | 47 | 48 | Resolved 49 | Fixed 50 | true 51 | 52 | 53 | 54 | 55 | Device 56 | Startup 57 | 58 | 59 | Atmel 60 | 1.1.0 61 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs 62 | 63 | 64 | 65 | 66 | 67 | 68 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\include 69 | 70 | include 71 | C 72 | 73 | 74 | include 75 | 76 | 77 | 78 | 79 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\include\sam.h 80 | 81 | header 82 | C 83 | QaZUJdSOqFm86rLJMynpRA== 84 | 85 | include/sam.h 86 | 87 | 88 | 89 | 90 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\templates\main.c 91 | template 92 | source 93 | C Exe 94 | x0mRDqeU1GWu6IyXOQJ6ew== 95 | 96 | templates/main.c 97 | Main file (.c) 98 | 99 | 100 | 101 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\templates\main.cpp 102 | template 103 | source 104 | C Exe 105 | nU+WlKcYaWh0AWBBS+WVpA== 106 | 107 | templates/main.cpp 108 | Main file (.cpp) 109 | 110 | 111 | 112 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\gcc\system_samd11.c 113 | config 114 | source 115 | GCC Exe 116 | o406g19PAZCxUzmb7BoRvQ== 117 | 118 | gcc/system_samd11.c 119 | 120 | 121 | 122 | 123 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\gcc\gcc\startup_samd11.c 124 | config 125 | source 126 | GCC Exe 127 | yaBQiDKlcKU1Y1ssHI6xQQ== 128 | 129 | gcc/gcc/startup_samd11.c 130 | 131 | 132 | 133 | 134 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\gcc\gcc\samd11c14a_flash.ld 135 | config 136 | linkerScript 137 | GCC Exe 138 | wqh3Zz9LSm7qtEieibYdew== 139 | 140 | gcc/gcc/samd11c14a_flash.ld 141 | 142 | 143 | 144 | 145 | C:/Program Files (x86)\Atmel\Studio\7.0\Packs\atmel\SAMD11_DFP\1.1.81\gcc\gcc\samd11c14a_sram.ld 146 | config 147 | other 148 | GCC Exe 149 | rGa6qOzZPYM1t5LKZK2B6A== 150 | 151 | gcc/gcc/samd11c14a_sram.ld 152 | 153 | 154 | 155 | 156 | SAMD11_DFP 157 | C:/Program Files (x86)/Atmel/Studio/7.0/Packs/atmel/SAMD11_DFP/1.1.81/Atmel.SAMD11_DFP.pdsc 158 | 1.1.81 159 | true 160 | ATSAMD11C14A 161 | 162 | 163 | 164 | Resolved 165 | Fixed 166 | true 167 | 168 | 169 | -------------------------------------------------------------------------------- /gameBadge SAMD11C/main.c: -------------------------------------------------------------------------------- 1 | #include "sam.h" 2 | #include "drivers/clocks.h" //Clock drivers 3 | #include "drivers/spi.h" 4 | #include "drivers/gameBadge.h" 5 | #include "game.h" 6 | 7 | int main(void) { 8 | 9 | /* Initialize the SAM system */ 10 | SystemInit(); 11 | clocksInit48Mhz(); 12 | 13 | PORT->Group[0].DIRSET.reg = PORT_PA02; //D/C as OUTPUT 14 | PORT->Group[0].OUTSET.reg = PORT_PA02; //Normally HIGH 15 | PORT->Group[0].DIRSET.reg = PORT_PA09; //OLED/RESET as OUTPUT 16 | PORT->Group[0].OUTSET.reg = PORT_PA09; //Normally HIGH (not reset) 17 | 18 | PORT->Group[0].DIRSET.reg = PORT_PA24; //OLED/RESET as OUTPUT 19 | PORT->Group[0].OUTSET.reg = PORT_PA24; //Normally HIGH (not reset) 20 | 21 | PORT->Group[0].DIRSET.reg = PORT_PA08; //OLED/RESET as OUTPUT 22 | PORT->Group[0].OUTCLR.reg = PORT_PA08; //Normally HIGH (not reset) 23 | 24 | 25 | SPI_init(); 26 | displayInit(); 27 | 28 | 29 | PM->APBCMASK.bit.TCC0_ = 1; //Setup TCC timer 0 30 | 31 | // Set up TCC0 for PWM No prescaler 32 | GCLK->CLKCTRL.reg = GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID_TCC0; //Attach clock 0 to TTC0 33 | 34 | TCC0->CTRLA.reg = 0; //Disable register to set it up 35 | TCC0->PER.reg = 6000; //Set max value 36 | TCC0->WAVE.reg = TCC_WAVE_WAVEGEN_NPWM; //Normal waveform generation (for stepper/DC) 37 | TCC0->WEXCTRL.reg = TCC_WEXCTRL_OTMX(0); 38 | //TCC0->CTRLA.reg = TCC_CTRLA_ENABLE; //Enable divide by 16 39 | TCC0->CTRLA.reg = TCC_CTRLA_PRESCALER_DIV16 | TCC_CTRLA_PRESCSYNC_PRESC; // | TCC_CTRLA_ENABLE; //Enable divide by 16 40 | 41 | PORT_WRCONFIG_Type portConfig; 42 | portConfig.reg = 0; 43 | portConfig.bit.WRPINCFG = 1; 44 | portConfig.bit.WRPMUX = 1; 45 | portConfig.bit.PMUX = MUX_PA05F_TCC0_WO1; 46 | portConfig.bit.INEN = 1; 47 | portConfig.bit.PMUXEN = 1; 48 | portConfig.bit.PINMASK = PORT_PA05; 49 | portConfig.bit.HWSEL = 0; // lower 16 bits 50 | PORT->Group[0].WRCONFIG.reg = portConfig.reg; 51 | 52 | PORT->Group[0].DIRSET.reg = PORT_PA05; // Assign the pin as OUTPUT 53 | 54 | TCC0->CC[1].reg = 0; //Start OFF 55 | 56 | // Configure SysTick to trigger an ISR every 100us using a 48MHz CPU Clock------------------------------------------------------------------ 57 | SysTick->CTRL = 0; // Disable SysTick 58 | SysTick->LOAD = 48000UL; //47999UL; // Set reload register for 1000us interrupts (1KHz) 59 | NVIC_SetPriority(SysTick_IRQn, 0); // Set interrupt priority to high urgency //NVIC_SetPriority(SysTick_IRQn, 3); // Set interrupt priority to least urgency 60 | SysTick->VAL = 0; // Reset the SysTick counter value 61 | SysTick->CTRL = 0x00000007; // Enable SysTick, Enable SysTick Exceptions, Use CPU Clock 62 | NVIC_EnableIRQ(SysTick_IRQn); // Enable SysTick Interrupt 63 | 64 | 65 | REG_PM_APBCMASK |= PM_APBCMASK_ADC; //Enable ADC Clock 66 | REG_GCLK_CLKCTRL = GCLK_CLKCTRL_CLKEN | GCLK_CLKCTRL_GEN_GCLK0 | GCLK_CLKCTRL_ID_ADC; //Drive it with generic clock 3 67 | 68 | REG_ADC_REFCTRL = ADC_REFCTRL_REFSEL_AREFA; // Select reference voltage (external 3.3V) 69 | REG_ADC_AVGCTRL |= ADC_AVGCTRL_SAMPLENUM_1; // Average control 1 sample, no right-shift 70 | REG_ADC_SAMPCTRL = ADC_SAMPCTRL_SAMPLEN(0); // Sampling time, no extra sampling half clock-cycles 71 | 72 | while (REG_ADC_STATUS & ADC_STATUS_SYNCBUSY); // Wait for synchronization 73 | ADC->CTRLB.reg |= ADC_CTRLB_RESSEL_12BIT | ADC_CTRLB_PRESCALER_DIV4; //Set divide factor from input clock 74 | while (REG_ADC_STATUS & ADC_STATUS_SYNCBUSY); // Wait for synchronization 75 | ADC->CTRLA.reg |= ADC_CTRLA_ENABLE; //Enable ADC 76 | while (ADC->STATUS.bit.SYNCBUSY); // Wait for synchronization 77 | 78 | gameSetup(); //One-time user game setup code 79 | 80 | systemLoop(); //Jump to the main loop in the code 81 | 82 | } 83 | 84 | 85 | 86 | 87 | --------------------------------------------------------------------------------