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)
