One thing I'd like to add to the video compiler is the ability to deal
with sync pulses of only 4 pixels.  (Do we need it?)

The trouble is that it would require conditional compilation.  The
assembler would have to be enhanced so that if's can be inserted into
the C code.  You'll notice that a lot of the time, 4 cycles of a
horizontal blanking period will be taken up by some other instruction
(call, fetch, inc).  Then we need another instruction for the
remaining cycles.  If, however, the hsync, hbp, or hfp is only 4
cycles, then we want to keep the call, fetch, or inc but omit the wait
instruction entirely.  (There are no zero-cycle instructions.)

I could hack progressive.c to show the end goal.  Basically, we'd have
if's in there to decide whether or not to omit a wait instruction.
Then since that could make the code shorter, but we don't want to mess
with the call targets, we just force the array index (offset) at the
start of the subroutine.  That would leave gaps in the code, between
routines, but who cares.

I think this would require, however, more functionality to be added to
Patrick's assembler, and I don't know perl, and I'm not as good with
language syntax parsing.

The things needed are, maybe something like:

- The ability to specify conditional assembly (that gets converted to
if's in the C code).
- Or the ability to specify arbitrary C code in the assembly
- And the ability to set the code address at the beginning of a
routine (which would translate into offset being altered at run-time).

The assembler uses labels so that the locations of the subroutines can
be dynamic.  They're inferred by the assembler.  This would allow us
to alter that in a way that may have side-effects.  The address
inferred by the assembler may not correspond with the location of the
subroutine unless the assembler always specifies an address at the
start of every call target.

--
Timothy Normand Miller
http://www.cse.ohio-state.edu/~millerti
Favorite book:  The Design of Everyday Things, Donald A. Norman, ISBN
0-465-06710-7
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)

Reply via email to