Understanding the language, error messages, etc.
by microgamer » Sat Aug 16, 2014 8:17 am
I downloaded the brilliant Paqman and ran it on the new emulator, looking at the extract from the ZIP I saw an .ELF file.
Since this is >32k I guess it is never loaded into the Gambuino, so what does this file do please?
-
microgamer
-
- Posts: 8
- Joined: Tue Aug 12, 2014 9:13 am
by yodasvideoarcade » Sat Aug 16, 2014 8:35 am
Thanks for the praise!
I also don't know what the .ELF does, but they say it should be included. So what does it do? Why is it needed?
-
yodasvideoarcade
-
- Posts: 102
- Joined: Sat Apr 19, 2014 10:48 am
- Location: Frankfurt/Germany
-
by rodot » Sat Aug 16, 2014 9:47 am
.ELF files (Executable and Linkable Format) are needed to run your game on the gbsim emulator.
.HEX files can be put on the micro SD card to load games with the bootoader or run in the simbuino emulator.
These files can be over 32KB because they also store extra stuff like addresses an whatnot.
-
rodot
- Site Admin
-
- Posts: 1290
- Joined: Mon Nov 19, 2012 11:54 pm
- Location: France
-
by Myndale » Sun Aug 17, 2014 6:58 am
Just clarify Rodot's answer...both ELF and HEX have their own pages on Wikipedia:
http://en.wikipedia.org/wiki/Executable ... ble_Formathttp://en.wikipedia.org/wiki/Intel_HEXIn short, ELF is a binary format that can be used to represent programs, libraries and data. It also contains a lot of additional information about the source that was used to generate the code, which is needed by debuggers for things like symbolic debugging.
HEX, on the other hand, was designed to contain the bare minimum needed to upload a program to the target hardware. If you're doing things like storing games on SD card then the upload process occurs on the target hardware and is prone to errors, so HEX represents the program as text strings and breaks it down into a series of packets (e.g. 16 bytes per line) with checksums at the end of each line. In the case of Gamebuino it is the bootloader that parses the HEX files and writes them to Flash.
I haven't gotten around to looking at Denith's emulator yet but if it only loads ELF files then it would make sense for people to ship both the ELF for the emulator and the HEX for the real hardware. I chose to make my Simbuino emulator load HEX files because it's the only way to guarantee that it will run all games...not everyone may be willing to release their ELF files, but they have to release their HEX files if they want others to be able to run their game.
-
Myndale
-
- Posts: 507
- Joined: Sat Mar 01, 2014 1:25 am
by DFX2KX » Tue Aug 26, 2014 10:44 pm
I think Deneths emulator likes ELFs because that's what AVsim uses, and his emulator is built on top of that.
-
DFX2KX
-
- Posts: 250
- Joined: Mon Apr 14, 2014 3:48 am
Return to Programming Questions
Who is online
Users browsing this forum: No registered users and 7 guests