Closed bcampbell closed 4 months ago
I followed the standards (particularly in execution format) set by the cc65 example I found when I was working on the code, as I had no physical hardware to access and validate behavior on otherwise.
I agree that if there's an executable file format now, this should be preferred.
I haven't tested this, but the ????
s should be, in order:
_start
ORIGIN(ram)
__data_end - ORIGIN(ram)
As for the identifier, you're generally right, though I would probably just stick to BYTE(0x00)
for initial attempts as to not complicate things further.
Fixed by #345
neo6502 has file format for executable files which looks like it should be the default output for llvm-mos: http://neo6502.com/reference/formats/#neo-load-file-format
I think it's a mostly simple change to the linker script
neo6502/link.ld
, but I'm a bit stuck on the details. Here's what I've got so far- the ???? bits are where I'm a bit hazy. I know there are probably some symbols defined somewhere I use to calculate things (_start
,_end
kind of thing), but I really don't know what the conventions are.Any ideas?