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)
