Re: [stella] I'm Back

Subject: Re: [stella] I'm Back
From: "Roger Williams" <mer02@xxxxxxxxxxxxx>
Date: Mon, 26 Jan 2004 18:09:59 -0600
About the last thing I did on this list before my life went to hell was
to post a pretty long document laying out the strategy:

http://www.biglist.com/lists/stella/archives/200111/msg00266.html

The main points are
1) A library of standard kernals are available, selected with a
statement like "screen"
2) User code runs asynchronously so users don't have to
synchronize timing
3) 2 is accomplished by peppering the object code with tests
like this:

 LDA #$FC ;[0]+2
 AND INTIM ;[2]+3
 BNE .+5  ;[5]+3
 JSR Kernal

Overhead most of the time will be 8 cycles (and use of the
accumulator).  This check clears the way for 250 cycles of
code.  During evaluation of a long expression a check might
need to be done that preserves the accumulator, which would
take a bit longer.

It should be pretty simple for the compiler to insert these
checks after optimization (at the token level) and before 
writing out code.  Computers are pretty good about clock
cycle counting :-)

We had a lively discussion about this with many good ideas
but everything went to hell before I had a chance to act on
it.  I still think it's do-able and am seriously tempted to try
for a Proof of Concept.

--Roger Williams

----- Original Message ----- 
From: Ben Larson <benjamin_e_larson@xxxxxxxxx>

> I'd be interested in your ideas on compiler design for
> the 2600.  I was actually doing some investigation
> into this as well a while back but everyone seems to
> think it would be next to impossible to put together
> anything useful.  It would be an interesting exercise
> in abstraction principles to say the least...


----------------------------------------------------------------------------------------------
Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://www.biglist.com/lists/stella/


Current Thread