On Sat, Jul 4, 2009 at 1:58 PM, Neil Bradley <nb@...> wrote:
>> Not that the translated code looks all that great yet, but using an
>> optimising compiler backend is exactly the way to go.
>Are you referring to AST + target or just target? I would think the AST
>route is the way to go.
Of course! LLVM is a compiler back-end - you feed it your AST and it does
all the optimisations on the AST for you, and has a choice of target code
generators.
It would actually be a good fit with Orion, although I'm not suggesting
going that
route (at least not unless it becomes more obvious how to output more
approachable C)
>> Apple 1 basic is a 4K file. He hasn't posted the source of the translated
>> version, though a lot of people are asking for it. I thought it might be
fun
>> to push it through Orion and see what it looks like. There are a couple
of
>> partial disassemblies of apple1 basic out there already (although
reportedly
>> not 100% accurate copies of the code) which will give most of the labels
and
>> jumps.
> Does someone have a copy of the Apple 1 EPROM? I'd be willing to run it
> through Orion to see what comes out the other end.
Thanks! I did try it myself but was stymied by some basics like it was
assuming
an entry point at 0000 and i couldn't see how to override that.
I copied the bin to www.gtoal.com/apple1/ for you.
This is my half-assed attempt at starting a template.
/* Template for Apple I basic (4K)
See...
http://www.pagetable.com/?p=32
http://www.brouhaha.com/~eric/retrocomputing/apple/apple1/basic/
http://home.comcast.net/~mjmahon/AP1BASIC.txt
http://gloonk.com/programming/images/wozbasicvars.txt
*/
cpu 6502;
moduleprefix apple1basic;
coderegion 0xe000-0xefff;
ramregion 0x0000-0x1000; // Work RAM
loadimage 0xe000, "3rdparty\\roms\\apple1basic.bin";
entry 0xe000, apple1basic;
inlinedata 0xec1e-0xec1f;
inlinedata 0xec20-0xec3f;
inlinedata 0xec53-0xedff;
> .
>
>
>
[Non-text portions of this message have been removed]