Git Product home page Git Product logo

doom-nano's People

Contributors

daveruiz avatar miracoli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

doom-nano's Issues

reduce size by removing gfx font

Hey
First of all - very impressive work!
I analyzed the compiled files with avr-readelf.exe and fond this line that looked strange:

98: 00000fb0  1280 OBJECT  LOCAL  DEFAULT    2 _ZL4font

It comes from adafruit gfx library. By removing the 5x7 font in the c file the code now fills 28726 bytes (93%) instead of 30006 (97%) =>1280 bytes less!!!

Here is the full dump from readelf:
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: Atmel AVR 8-bit microcontroller
Version: 0x1
Entry point address: 0x0
Start of program headers: 52 (bytes into file)
Start of section headers: 153008 (bytes into file)
Flags: 0x5, avr:5
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 3
Size of section headers: 40 (bytes)
Number of section headers: 17
Section header string table index: 14

Section Headers:
[Nr] Name Type Addr Off Size ES Flg Lk Inf Al
[ 0] NULL 00000000 000000 000000 00 0 0 0
[ 1] .data PROGBITS 00800100 00753c 00008e 00 WA 0 0 1
[ 2] .text PROGBITS 00000000 000094 0074a8 00 AX 0 0 2
[ 3] .bss NOBITS 0080018e 0075ca 00029f 00 WA 0 0 1
[ 4] .comment PROGBITS 00000000 0075ca 000011 01 MS 0 0 1
[ 5] .note.gnu.avr.dev NOTE 00000000 0075dc 000040 00 0 0 4
[ 6] .debug_aranges PROGBITS 00000000 007620 0001d0 00 0 0 8
[ 7] .debug_info PROGBITS 00000000 0077f0 00a512 00 0 0 1
[ 8] .debug_abbrev PROGBITS 00000000 011d02 001ec9 00 0 0 1
[ 9] .debug_line PROGBITS 00000000 013bcb 00378c 00 0 0 1
[10] .debug_frame PROGBITS 00000000 017358 000d50 00 0 0 4
[11] .debug_str PROGBITS 00000000 0180a8 002264 00 0 0 1
[12] .debug_loc PROGBITS 00000000 01a30c 007a12 00 0 0 1
[13] .debug_ranges PROGBITS 00000000 021d1e 000a58 00 0 0 1
[14] .shstrtab STRTAB 00000000 0254fa 0000b4 00 0 0 1
[15] .symtab SYMTAB 00000000 022778 001600 10 16 123 4
[16] .strtab STRTAB 00000000 023d78 001782 00 0 0 1
Key to Flags:
W (write), A (alloc), X (execute), M (merge), S (strings)
I (info), L (link order), G (group), T (TLS), E (exclude), x (unknown)
O (extra OS processing required) o (OS specific), p (processor specific)

There are no section groups in this file.

Program Headers:
Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
LOAD 0x000094 0x00000000 0x00000000 0x074a8 0x074a8 R E 0x2
LOAD 0x00753c 0x00800100 0x000074a8 0x0008e 0x0008e RW 0x1
LOAD 0x0075ca 0x0080018e 0x0080018e 0x00000 0x0029f RW 0x1

Section to Segment mapping:
Segment Sections...
00 .text
01 .data
02 .bss

There is no dynamic section in this file.

There are no relocations in this file.

The decoding of unwind sections for machine type Atmel AVR 8-bit microcontroller is not currently supported.

Symbol table '.symtab' contains 352 entries:
Num: Value Size Type Bind Vis Ndx Name
0: 00000000 0 NOTYPE LOCAL DEFAULT UND
1: 00800100 0 SECTION LOCAL DEFAULT 1
2: 00000000 0 SECTION LOCAL DEFAULT 2
3: 0080018e 0 SECTION LOCAL DEFAULT 3
4: 00000000 0 SECTION LOCAL DEFAULT 4
5: 00000000 0 SECTION LOCAL DEFAULT 5
6: 00000000 0 SECTION LOCAL DEFAULT 6
7: 00000000 0 SECTION LOCAL DEFAULT 7
8: 00000000 0 SECTION LOCAL DEFAULT 8
9: 00000000 0 SECTION LOCAL DEFAULT 9
10: 00000000 0 SECTION LOCAL DEFAULT 10
11: 00000000 0 SECTION LOCAL DEFAULT 11
12: 00000000 0 SECTION LOCAL DEFAULT 12
13: 00000000 0 SECTION LOCAL DEFAULT 13
14: 00000000 0 FILE LOCAL DEFAULT ABS
15: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
16: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
17: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
18: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
19: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
20: 00000570 26 OBJECT LOCAL DEFAULT 2 _ZZ12setupDisplayvE3__c
21: 000002b0 704 OBJECT LOCAL DEFAULT 2 _ZL12splash1_data
22: 000000d0 480 OBJECT LOCAL DEFAULT 2 _ZL12splash2_data
23: 008001f4 1 OBJECT LOCAL DEFAULT 3 _ZN8SPIClass11initialized
24: 000000cc 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
25: 000000c8 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
26: 000000c4 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
27: 000000c0 4 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
28: 000000bd 3 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
29: 000000ba 3 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
30: 000000b4 6 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13065be
31: 008001fc 1 OBJECT LOCAL DEFAULT 3 scene
32: 00000595 423 OBJECT LOCAL DEFAULT 2 _ZL13bmp_logo_bits
33: 0000058a 11 OBJECT LOCAL DEFAULT 2 _ZZ9loopIntrovE3__c
34: 008001fb 1 OBJECT LOCAL DEFAULT 3 exit_scene
35: 008001f5 4 OBJECT LOCAL DEFAULT 3 lastFrameTime
36: 00800100 4 OBJECT LOCAL DEFAULT 1 delta
37: 008001fa 1 OBJECT LOCAL DEFAULT 3 flash_screen
38: 000007bc 32 OBJECT LOCAL DEFAULT 2 _ZL17bmp_fireball_mask
39: 000007dc 32 OBJECT LOCAL DEFAULT 2 _ZL17bmp_fireball_bits
40: 000007fc 640 OBJECT LOCAL DEFAULT 2 _ZL12bmp_imp_mask
41: 00000a7c 640 OBJECT LOCAL DEFAULT 2 _ZL12bmp_imp_bits
42: 0000073c 64 OBJECT LOCAL DEFAULT 2 _ZL14bmp_items_mask
43: 0000077c 64 OBJECT LOCAL DEFAULT 2 _ZL14bmp_items_bits
44: 00000dfc 60 OBJECT LOCAL DEFAULT 2 _ZL13bmp_fire_bits
45: 00000d7c 128 OBJECT LOCAL DEFAULT 2 _ZL12bmp_gun_mask
46: 00000cfc 128 OBJECT LOCAL DEFAULT 2 _ZL12bmp_gun_bits
47: 00000e3b 3 OBJECT LOCAL DEFAULT 2 _ZZ9renderHudvE3__c
48: 00000e38 3 OBJECT LOCAL DEFAULT 2 _ZZ9renderHudvE3__c_0
49: 008001f9 1 OBJECT LOCAL DEFAULT 3 invert_screen
50: 00000000 0 FILE LOCAL DEFAULT ABS malloc.c
51: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
52: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
53: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
54: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
55: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
56: 00000000 0 FILE LOCAL DEFAULT ABS
57: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
58: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
59: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
60: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
61: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
62: 000068e8 262 FUNC LOCAL DEFAULT 2 _GLOBAL__I_65535_0_doom_n
63: 0080010a 18 OBJECT LOCAL DEFAULT 1 _ZTV14HardwareSerial
64: 0080041c 12 OBJECT LOCAL DEFAULT 3 Wire
65: 0080011c 18 OBJECT LOCAL DEFAULT 1 _ZTV7TwoWire
66: 0000408a 384 FUNC LOCAL DEFAULT 2 _Z15detectCollisionPKhP6C
67: 00000000 0 FILE LOCAL DEFAULT ABS
68: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
69: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
70: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
71: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
72: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
73: 00001d0c 20 FUNC LOCAL DEFAULT 2 _Z17Serial0_availablev
74: 00001d20 68 FUNC LOCAL DEFAULT 2 ZN14HardwareSerial17_tx
75: 00002500 20 FUNC LOCAL DEFAULT 2 twi_stop
76: 00002514 80 FUNC LOCAL DEFAULT 2 twi_transmit
77: 0080023d 1 OBJECT LOCAL DEFAULT 3 twi_txBufferLength
78: 0080021d 32 OBJECT LOCAL DEFAULT 3 twi_txBuffer
79: 008001fd 32 OBJECT LOCAL DEFAULT 3 _ZN7TwoWire8rxBufferE
80: 0080025f 1 OBJECT LOCAL DEFAULT 3 twi_rxBufferIndex
81: 0080023f 32 OBJECT LOCAL DEFAULT 3 twi_rxBuffer
82: 0080023e 1 OBJECT LOCAL DEFAULT 3 twi_txBufferIndex
83: 00000ed6 128 OBJECT LOCAL DEFAULT 2 _ZL8gradient
84: 00000ece 8 OBJECT LOCAL DEFAULT 2 _ZL8bit_mask
85: 000068ca 30 FUNC LOCAL DEFAULT 2 _GLOBAL__sub_D_display
86: 00000e3e 144 OBJECT LOCAL DEFAULT 2 _ZL8bmp_font
87: 00000000 0 FILE LOCAL DEFAULT ABS
88: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
89: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
90: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
91: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
92: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
93: 000034e8 82 FUNC LOCAL DEFAULT 2 turnOffPWM
94: 0000353a 74 FUNC LOCAL DEFAULT 2 micros
95: 000014c0 5 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD13067di
96: 000014b8 8 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD130621d
97: 000014b0 8 OBJECT LOCAL DEFAULT 2 _ZZN16Adafruit_SSD130621d
98: 00000fb0 1280 OBJECT LOCAL DEFAULT 2 _ZL4font
99: 00000f9c 20 OBJECT LOCAL DEFAULT 2 digital_pin_to_timer_PGM
100: 00000f6a 10 OBJECT LOCAL DEFAULT 2 port_to_input_PGM
101: 00000000 0 FILE LOCAL DEFAULT ABS _clear_bss.o
102: 00001c16 0 NOTYPE LOCAL DEFAULT 2 .do_clear_bss_start
103: 00001c14 0 NOTYPE LOCAL DEFAULT 2 .do_clear_bss_loop
104: 00000000 0 FILE LOCAL DEFAULT ABS
105: 0000003e 0 NOTYPE LOCAL DEFAULT ABS SP_H
106: 0000003d 0 NOTYPE LOCAL DEFAULT ABS SP_L
107: 0000003f 0 NOTYPE LOCAL DEFAULT ABS SREG
108: 00000000 0 NOTYPE LOCAL DEFAULT ABS tmp_reg
109: 00000001 0 NOTYPE LOCAL DEFAULT ABS zero_reg
110: 00800428 1 OBJECT LOCAL DEFAULT 3 timer0_fract
111: 00000000 0 FILE LOCAL DEFAULT ABS _divmodhi4.o
112: 000071ac 0 NOTYPE LOCAL DEFAULT 2 __divmodhi4_neg1
113: 000071b4 0 NOTYPE LOCAL DEFAULT 2 __divmodhi4_neg2
114: 000071ba 0 NOTYPE LOCAL DEFAULT 2 __divmodhi4_exit
115: 00000000 0 FILE LOCAL DEFAULT ABS _udivmodsi4.o
116: 000071e2 0 NOTYPE LOCAL DEFAULT 2 __udivmodsi4_ep
117: 000071c8 0 NOTYPE LOCAL DEFAULT 2 __udivmodsi4_loop
118: 00000000 0 FILE LOCAL DEFAULT ABS _udivmodhi4.o
119: 00007216 0 NOTYPE LOCAL DEFAULT 2 __udivmodhi4_ep
120: 00007208 0 NOTYPE LOCAL DEFAULT 2 __udivmodhi4_loop
121: 00000000 0 FILE LOCAL DEFAULT ABS _exit.o
122: 000074a6 0 NOTYPE LOCAL DEFAULT 2 __stop_program
123: 0080033e 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire9txAddressE
124: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_22
125: 00002a00 2 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass14endTransact
126: 00800264 4 OBJECT GLOBAL HIDDEN 3 timer0_overflow_count
127: 00800190 2 OBJECT GLOBAL HIDDEN 3 twi_onSlaveTransmit.lto_p
128: 008002f7 32 OBJECT GLOBAL HIDDEN 3 twi_masterBuffer.lto_priv
129: 000070ba 140 FUNC GLOBAL DEFAULT 2 sqrt
130: 00003226 68 FUNC GLOBAL HIDDEN 2 _Z8drawTextaaPK19__FlashS
131: 00000f56 10 OBJECT GLOBAL HIDDEN 2 port_to_mode_PGM
132: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_1
133: 000020de 114 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13drawFa
134: 00002386 378 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD13069dra
135: 00007146 0 NOTYPE GLOBAL DEFAULT 2 __fp_mpack_finite
136: 0080012e 44 OBJECT GLOBAL HIDDEN 1 _ZTV16Adafruit_SSD1306
137: 0000ffa0 0 NOTYPE GLOBAL DEFAULT ABS DATA_REGION_LENGTH
138: 00006c2a 8 FUNC GLOBAL DEFAULT 2 __divsf3
139: 00800260 4 OBJECT GLOBAL HIDDEN 3 timer0_millis
140: 00006f0e 34 FUNC GLOBAL DEFAULT 2 __fp_round
141: 00001cd8 28 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial4peekE
142: 00006d0e 14 FUNC GLOBAL DEFAULT 2 __fixsfsi
143: 00006f58 68 FUNC GLOBAL DEFAULT 2 __fp_split3
144: 00007200 40 NOTYPE GLOBAL HIDDEN 2 __udivmodhi4
145: 00001c3e 84 FUNC GLOBAL HIDDEN 2 _ZN5Print5writeEPKhj
146: 00003172 180 FUNC GLOBAL HIDDEN 2 _Z8drawCharaac
147: 000045c8 86 FUNC GLOBAL HIDDEN 2 _Z8drawTextaai.constprop.
148: 000000b4 0 NOTYPE GLOBAL DEFAULT 2 __trampolines_start
149: 00006df4 72 FUNC GLOBAL DEFAULT 2 __fp_cmp
150: 008002f6 1 OBJECT GLOBAL HIDDEN 3 twi_slarw.lto_priv.81
151: 000074a8 0 NOTYPE GLOBAL DEFAULT 2 _etext
152: 00004418 362 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130619ss
153: 00001f40 218 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawLin
154: 008001d6 30 OBJECT GLOBAL HIDDEN 3 player
155: 00003108 106 FUNC GLOBAL HIDDEN 2 _Z9drawPixelaabb
156: 00001cf4 24 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial9avail
157: 00006a58 14 FUNC GLOBAL DEFAULT 2 __subsf3
158: 00003e94 82 FUNC GLOBAL HIDDEN 2 digitalRead
159: 00002b90 604 FUNC GLOBAL DEFAULT 2 __vector_24
160: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_12
161: 000070ba 0 NOTYPE GLOBAL DEFAULT 2 sqrtf
162: 00001d64 154 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial5write
163: 00001c3a 0 NOTYPE GLOBAL DEFAULT 2 __bad_interrupt
164: 00800192 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire14rxBufferLeng
165: 00002150 114 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13drawFa
166: 00007536 0 NOTYPE GLOBAL DEFAULT ABS __data_load_end
167: 00002e8c 18 FUNC GLOBAL HIDDEN 2 _Z10input_firev
168: 00006a04 52 FUNC GLOBAL DEFAULT 2 __utoa_ncheck
169: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_6
170: 00007234 304 FUNC GLOBAL DEFAULT 2 malloc
171: 00002a10 198 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130616ss
172: 00002586 40 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire4readEv
173: 00001e56 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13invert
174: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 __lesf2
175: 00006a38 32 FUNC GLOBAL DEFAULT 2 strrev
176: 000014c5 1824 OBJECT GLOBAL HIDDEN 2 _ZL11sto_level_1.lto_priv
177: 00800106 2 OBJECT GLOBAL DEFAULT 1 __malloc_heap_start
178: 0000420a 64 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130612cl
179: 00006ebc 86 FUNC GLOBAL DEFAULT 2 __fp_rempio2
180: 000000b4 0 NOTYPE GLOBAL DEFAULT 2 __trampolines_end
181: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_3
182: 00006f9c 14 FUNC GLOBAL DEFAULT 2 __fp_zero
183: 00003ee6 94 FUNC GLOBAL HIDDEN 2 digitalWrite
184: 0000713a 8 FUNC GLOBAL DEFAULT 2 square
185: 00003f44 120 FUNC GLOBAL HIDDEN 2 pinMode
186: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 __nesf2
187: 000069ee 22 FUNC GLOBAL DEFAULT 2 __itoa_ncheck
188: 00000f74 20 OBJECT GLOBAL HIDDEN 2 digital_pin_to_port_PGM
189: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_23
190: 000074a8 0 NOTYPE GLOBAL DEFAULT ABS __data_load_start
191: 00001bea 0 NOTYPE GLOBAL DEFAULT 2 __dtors_end
192: 0080042d 0 NOTYPE GLOBAL DEFAULT 3 __bss_end
193: 000025ae 16 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire9availableEv
194: 008003dd 63 OBJECT GLOBAL HIDDEN 3 display
195: 00000400 0 NOTYPE GLOBAL DEFAULT ABS LOCK_REGION_LENGTH
196: 00007476 10 FUNC GLOBAL DEFAULT 2 abort
197: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_25
198: 00800429 2 OBJECT GLOBAL DEFAULT 3 __brkval
199: 000021e4 24 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX14writeF
200: 0080031a 1 OBJECT GLOBAL HIDDEN 3 twi_sendStop.lto_priv.79
201: 0080033f 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire14txBufferLeng
202: 00002682 432 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX5writeEh
203: 00006c52 220 FUNC GLOBAL DEFAULT 2 __divsf3x
204: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_11
205: 00001c92 30 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial17avai
206: 00002054 138 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8fillRec
207: 00001bea 0 NOTYPE WEAK DEFAULT 2 __init
208: 00002566 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire16onReceiveSer
209: 0000715e 14 FUNC GLOBAL DEFAULT 2 __fp_norm2
210: 00002dec 160 FUNC GLOBAL HIDDEN 2 _Z15coords_distanceP6Coor
211: 00003a2c 1128 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawCha
212: 00006faa 0 NOTYPE GLOBAL DEFAULT 2 __gtsf2
213: 00001e42 20 FUNC GLOBAL HIDDEN 2 _Z14serialEventRunv
214: 0000470e 188 FUNC GLOBAL HIDDEN 2 _Z14updatePositionPKhP6Co
215: 00001dfe 68 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial5flush
216: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_13
217: 00002832 136 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613dr
218: 00006ff0 0 NOTYPE GLOBAL DEFAULT 2 __mulsf3_pse
219: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_17
220: 00006e48 6 FUNC GLOBAL DEFAULT 2 __fp_nan
221: 00002950 76 FUNC GLOBAL DEFAULT 2 __vector_19
222: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_7
223: 00006e3c 12 FUNC GLOBAL DEFAULT 2 __fp_inf
224: 0000748e 22 NOTYPE GLOBAL HIDDEN 2 __do_global_dtors
225: 00800340 157 OBJECT GLOBAL HIDDEN 3 Serial
226: 00006c20 10 FUNC GLOBAL DEFAULT 2 cos
227: 00001c0c 16 NOTYPE GLOBAL HIDDEN 2 __do_clear_bss
228: 00800194 2 OBJECT GLOBAL HIDDEN 3 display_buf
229: 00810000 0 NOTYPE GLOBAL DEFAULT 4 __eeprom_end
230: 00000f88 20 OBJECT GLOBAL HIDDEN 2 digital_pin_to_bit_mask_P
231: 00800196 64 OBJECT GLOBAL HIDDEN 3 zbuffer
232: 00006fea 210 FUNC GLOBAL DEFAULT 2 __mulsf3x
233: 0000461e 134 FUNC GLOBAL HIDDEN 2 _Z13create_entityhhhhh.co
234: 0000709e 16 FUNC GLOBAL DEFAULT 2 sin
235: 00800104 2 OBJECT GLOBAL DEFAULT 1 __malloc_heap_end
236: 0000267e 4 FUNC GLOBAL HIDDEN 2 __cxa_pure_virtual
237: 00006b58 134 FUNC GLOBAL DEFAULT 2 atan2
238: 00002ed8 96 FUNC GLOBAL HIDDEN 2 _Z9updateHudv
239: 00006d7e 0 NOTYPE GLOBAL DEFAULT 2 __floatsisf
240: 00000000 0 NOTYPE WEAK DEFAULT UND _Z11serialEventv
241: 00000000 0 NOTYPE GLOBAL DEFAULT 2 __vectors
242: 0080018e 2 OBJECT GLOBAL HIDDEN 3 twi_onSlaveReceive.lto_pr
243: 0080018e 0 NOTYPE GLOBAL DEFAULT 1 __data_end
244: 0080031d 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire13txBufferInde
245: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 __eqsf2
246: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8endWrit
247: 00000000 0 NOTYPE WEAK DEFAULT 2 __vector_default
248: 00007194 40 NOTYPE GLOBAL HIDDEN 2 __divmodhi4
249: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_5
250: 000021c4 32 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX13writeF
251: 00800268 140 OBJECT GLOBAL HIDDEN 3 entity
252: 00002adc 180 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613in
253: 00000400 0 NOTYPE GLOBAL DEFAULT ABS __SIGNATURE_REGION_LENGTH
254: 00007228 12 NOTYPE GLOBAL HIDDEN 2 tablejump2
255: 00800318 1 OBJECT GLOBAL HIDDEN 3 twi_masterBufferIndex.lto
256: 00001be6 0 NOTYPE GLOBAL DEFAULT 2 __ctors_start
257: 00001bf6 22 NOTYPE GLOBAL HIDDEN 2 __do_copy_data
258: 00006e4e 78 FUNC GLOBAL DEFAULT 2 __fp_powser
259: 00006c16 10 FUNC GLOBAL DEFAULT 2 __cmpsf2
260: 00006eaa 14 FUNC GLOBAL DEFAULT 2 __fp_pscB
261: 00006f68 0 NOTYPE GLOBAL DEFAULT 2 __fp_splitA
262: 0080018e 0 NOTYPE GLOBAL DEFAULT 3 __bss_start
263: 00007480 14 FUNC GLOBAL DEFAULT 2 memset
264: 0000485e 8300 FUNC GLOBAL DEFAULT 2 main
265: 00006c16 0 NOTYPE GLOBAL DEFAULT 2 __ltsf2
266: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_4
267: 00003584 624 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD13067dis
268: 000028ba 150 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130613dr
269: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10startW
270: 00007142 28 FUNC GLOBAL DEFAULT 2 __fp_mpack
271: 00006f30 40 FUNC GLOBAL DEFAULT 2 __fp_sinus
272: 00006fc4 8 FUNC GLOBAL DEFAULT 2 __mulsf3
273: 00000000 0 NOTYPE WEAK DEFAULT ABS __heap_end
274: 00002564 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire16onRequestSer
275: 000038c2 362 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130621dr
276: 00006fb4 16 FUNC GLOBAL DEFAULT 2 inverse
277: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_9
278: 00003fbc 116 FUNC GLOBAL HIDDEN 2 delay
279: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_2
280: 00001e82 190 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX8drawRec
281: 00002618 94 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5writeEh
282: 00006a88 204 FUNC GLOBAL DEFAULT 2 __addsf3x
283: 00000400 0 NOTYPE GLOBAL DEFAULT ABS __USER_SIGNATURE_REGION_L
284: 00006bb8 94 FUNC GLOBAL DEFAULT 2 atan
285: 00006faa 10 FUNC GLOBAL DEFAULT 2 __gesf2
286: 0000424a 278 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10drawBi
287: 0000716c 40 FUNC GLOBAL DEFAULT 2 __fp_powsodd
288: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_21
289: 00004360 184 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire15endTransmiss
290: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_15
291: 00002a02 14 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass8transferEh
292: 00000f60 10 OBJECT GLOBAL HIDDEN 2 port_to_output_PGM
293: 00006e9c 14 FUNC GLOBAL DEFAULT 2 __fp_pscA
294: 0080031b 1 OBJECT GLOBAL HIDDEN 3 twi_state.lto_priv.78
295: 00002568 30 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire4peekEv
296: 000021c2 2 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5flushEv
297: 0080042d 0 NOTYPE GLOBAL DEFAULT 4 __heap_start
298: 00800319 1 OBJECT GLOBAL HIDDEN 3 twi_error.lto_priv.85
299: 00002676 2 FUNC GLOBAL HIDDEN 2 _ZN5Print5flushEv
300: 0000326a 638 FUNC GLOBAL HIDDEN 2 _Z10drawSpriteaaPKhS0_iih
301: 00001be8 0 NOTYPE GLOBAL DEFAULT 2 __dtors_start
302: 00001be8 0 NOTYPE GLOBAL DEFAULT 2 __ctors_end
303: 000008ff 0 NOTYPE WEAK DEFAULT ABS __stack
304: 00002214 14 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10writeP
305: 000025be 90 FUNC GLOBAL HIDDEN 2 _ZN7TwoWire5writeEPKhj
306: 0080018e 0 NOTYPE GLOBAL DEFAULT 1 _edata
307: 0080042d 0 NOTYPE GLOBAL DEFAULT 4 _end
308: 00004048 66 FUNC GLOBAL HIDDEN 2 _Z10getBlockAtPKhhh.part.
309: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_8
310: 00006c58 0 NOTYPE GLOBAL DEFAULT 2 __divsf3_pse
311: 0080031e 32 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire8txBufferE
312: 0000748e 0 NOTYPE WEAK HIDDEN 2 exit
313: 00002ad6 6 FUNC GLOBAL HIDDEN 2 _ZN8SPIClass16beginTransa
314: 00006d7a 122 FUNC GLOBAL DEFAULT 2 __floatunsisf
315: 00007194 0 NOTYPE GLOBAL HIDDEN 2 _div
316: 00001cb0 40 FUNC GLOBAL HIDDEN 2 _ZN14HardwareSerial4readE
317: 0080042b 2 OBJECT GLOBAL DEFAULT 3 __flp
318: 000071bc 68 NOTYPE GLOBAL HIDDEN 2 __udivmodsi4
319: 008002f5 1 OBJECT GLOBAL HIDDEN 3 twi_inRepStart.lto_priv.8
320: 008002f4 1 OBJECT GLOBAL HIDDEN 3 num_entities
321: 00002222 356 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX9writeLi
322: 00006d1c 94 FUNC GLOBAL DEFAULT 2 __fixunssfsi
323: 00010000 0 NOTYPE GLOBAL DEFAULT ABS EEPROM_REGION_LENGTH
324: 0000748e 0 NOTYPE GLOBAL HIDDEN 2 _exit
325: 00800317 1 OBJECT GLOBAL HIDDEN 3 twi_masterBufferLength.lt
326: 00800193 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire13rxBufferInde
327: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_14
328: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_10
329: 00004582 70 FUNC GLOBAL HIDDEN 2 _Z10fadeScreenhb.constpro
330: 000047ca 148 FUNC GLOBAL DEFAULT 2 __vector_16
331: 00800100 0 NOTYPE GLOBAL DEFAULT 1 __data_start
332: 0000299c 100 FUNC GLOBAL DEFAULT 2 __vector_18
333: 00000003 0 NOTYPE GLOBAL DEFAULT ABS FUSE_REGION_LENGTH
334: 00020000 0 NOTYPE GLOBAL DEFAULT ABS TEXT_REGION_LENGTH
335: 000037f4 206 FUNC GLOBAL HIDDEN 2 _ZN16Adafruit_SSD130621dr
336: 00800108 2 OBJECT GLOBAL DEFAULT 1 __malloc_margin
337: 00001c3a 0 NOTYPE WEAK DEFAULT 2 __vector_20
338: 00004030 24 FUNC GLOBAL HIDDEN 2 millis
339: 00006a5a 0 NOTYPE GLOBAL DEFAULT 2 __addsf3
340: 00006a06 0 NOTYPE GLOBAL DEFAULT 2 __utoa_common
341: 00002678 6 FUNC GLOBAL HIDDEN 2 _ZN5Print17availableForWr
342: 0000201a 58 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX10fillSc
343: 000046a4 106 FUNC GLOBAL HIDDEN 2 _Z12removeEntityjb.constp
344: 00001e58 42 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX11setRot
345: 00002e9e 58 FUNC GLOBAL HIDDEN 2 _Z16getGradientPixelhhh.p
346: 00002f38 464 FUNC GLOBAL HIDDEN 2 _Z17translateIntoViewP6Co
347: 00007364 274 FUNC GLOBAL DEFAULT 2 free
348: 0080031c 1 OBJECT GLOBAL HIDDEN 3 _ZN7TwoWire12transmitting
349: 000021fc 24 FUNC GLOBAL HIDDEN 2 _ZN12Adafruit_GFX14writeF
350: 00006f9e 0 NOTYPE GLOBAL DEFAULT 2 __fp_szero
351: 00001c1c 22 NOTYPE GLOBAL HIDDEN 2 __do_global_ctors

No version information found in this file.

Displaying notes found at file offset 0x000075dc with length 0x00000040:
Owner Data size Description
AVR 0x0000002d NT_VERSION (version)

Keeps restarting

I have got the title screen but every time I press fire to start it, it restarts the program. I am using a Freenove instead of an Uno, is that a problem?

Damage persists to next life

Hardware: Arduino Nano, SSD1306 128x64 OLED

Repeatability: 100%

Repeat Steps:

  1. Allow enemy to kill you
  2. do not press any buttons on death and wait
  3. enemy keeps hitting you
  4. press fire to return to start screen
  5. press fire again to start a new game, damage occurs

Low memory / Display Issues

I have a Arduino uno and im getting the message Low memory available, stability problems may occur.
And my display is not working properly. my display is 128x64 oled and has the inputs GND VDD SDK SDA.
Can I use my display or shoud I get a display with GND VCC SDL SDA?

Save around 800Bytes of flash storage

I just wanted to let you know, that it is possible to fit the whole of level 1 (but with some small tweaks, like placing an enemy one block higher or lower) into less than 1kB of flash! Compared to currently 1.8kB this could help make room for various other things to be implemented.
However the getBlockAt function has to modified and is slightly longer. You should still get around 700 Bytes of additional storage to use. (This could be a return of the melting effect?)

remove Serial to save RAM & flash

I noticed Serial is only used to display a debug message for the display library.
With the Arduino 1.8.9 IDE, removing Serial.begin & Serial.println saves 856 bytes of flash and 177 bytes of RAM.
Also, if you use the Uno, you get 1536 more bytes of flash due to the smaller bootloader. Flashing Optiboot to a nano and using the Uno target will work the same.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.