Re: [stella] VCS C programming

Subject: Re: [stella] VCS C programming
From: David Galloway <davidgalloway@xxxxxxxxxxxxxx>
Date: Sat, 21 May 2005 22:10:22 -0400
Ben Larson wrote:

>--- David Galloway <davidgalloway@xxxxxxxxxxxxxx>
>wrote:
>  
>
>>I concur with your approach Ben, I had given this a
>>bit of thought in 
>>the past and it does seem that a system might be
>>possible that wasn't so 
>>much a classic computer language but more akin to a
>>Hardware Design 
>>Language where the result is inferred from a set of
>>input design 
>>parameters. Is this similar to what you were
>>thinking?
>>
>> - David
>>    
>>
>
>Yea I think that's basically what I was thinking - a
>language that describes what to do rather than how to
>do it.  Maybe a simple XML schema that defines the
>physical parameters of everything you want on screen
>could be used as the input.  The program would figure
>out the 'how' part and output a working kernel.  I
>mean, there's only a finite number of 'atomic' kernel
>operations, a finite way to implement them, and a
>finite way to order those implementations, so
>theoretically I *think* it would be possible to write
>a program that searches all possibilities until it
>finds one that works (maybe).  Basically it would be a
>brute-force tree-search algorithm - sort of like a
>'Deep-Blue' of VCS kernel creation, as opposed than
>chess...
>
>Ben
>  
>
Sounds like a 'SuperOptimizer'. The link below describes some work done 
in this area with a reference to the original superoptimizer paper. I 
must say that it is a bit laughable when the author describes the output 
as "bizarre in ways  rarely seen". Clearly someone who has never worked 
with 2600 code.  =-) 

The article claims that "sequences of more than 12 instructions are 
unwieldy." A kernel is going to be a lot more than 12 instructions, so 
yeah, one is going to need some great heuristics.

Still, it would be useful to have a superoptimizer for 6502 as a handy 
way to create smaller or faster code sequences for small routines. (or 
submit your code to Stella, because that's a pretty damn fine 
distributed superoptimizer already.)

http://big-oh.cs.hamilton.edu/~egouldin/main.html

>
>  
>

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

Current Thread