A few days ago, Timothy mentioned that he had a modification that
allowed top-level return to jump to the beginning of the program.  He
then claimed that this would entail double returns, which are indeed
bad.  Is that mod still part of the design?  If it is, and the JUMP
instruction is retained, it allows his original program to be
simplified to

; Vertical program
ADDR [-v,-h,-d] 0           ; vid addr = start of framebuffer
CALL [-v,-h,-d] #1 vsync+1
CALL [-v,-h,-d] #2 vsync
CALL [+v,-h,-d] #2 vblank   ; back porch
FETCH [+v,-h,-d] #640       ; Fetch for first scanline
CALL [+v,-h,-d] #1 vbp+1
CALL [+v,-h,-d] #1 vbp
CALL [+v,-h,-d] #479 vactive
NOOP [+v,-h,-d]             ; Already fetched last scanline
CALL [+v,-h,-d] #1 vactive+1
CALL [+v,-h,-d] #2 vblank   ; front porch
JUMP [+v,-h,-d] #1 vblank   ; tail call

Thus banishing the double return bug.  Since the last call is actually
a JUMP, the return on the end of vblank will just go back to the
beginning of the program.  The win here is that vblank_short isn't
needed anymore, which is good for maintenance.  The trick works for
Diego's program as well.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 
_______________________________________________
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