El Wed, 5 Jul 2006 18:48:10 -0400
"Timothy Miller" <[EMAIL PROTECTED]> escribio:

> On 7/5/06, Diego Sáenz <[EMAIL PROTECTED]> wrote:
> > Hello to the list. It seems that there is no vbp subrutine in the example.
> 
> The vblank routine works for both vfp and vbp.  Unless I forgot something?

I speak about this two lines:

CALL [+v,-h,-d] #1 vbp+1
CALL [+v,-h,-d] #1 vbp

For your comment i think that it must be 

CALL [+v,-h,-d] #1 vblank+1
CALL [+v,-h,-d] #1 vblank


To see if i have understand correctly the video controler y send a version of 
interlaced 640x480 based in your example.
Timings not modified so surely bad

; Simple interlaced 640x480 program
; hfp = 8
; hsync = 8
; hbp = 8
; vfp = 3
; vsync = 3
; vbp = 3
; vsync,hsync negative-assertion, data-enable positive assertion

; Entry point
.addr = 0

; Vertical program
; First even lines
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 vsync+1
CALL [+v,-h,-d] #1 vsync
CALL [+v,-h,-d] #239 vactive
NOOP [+v,-h,-d]             ; Already fetched last scanline
CALL [+v,-h,-d] #1 vactive+1
CALL [+v,-h,-d] #2 vblank   ; front porch
CALL [+v,-h,-d] #1 vblank_short

; 2nd semiframe odd lines
ADDR [-v,-h,-d] 640         ; vid addr = first odd line 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 vsync+1
CALL [+v,-h,-d] #1 vsync
CALL [+v,-h,-d] #239 vactive
NOOP [+v,-h,-d]             ; Already fetched last scanline
CALL [+v,-h,-d] #1 vactive+1
CALL [+v,-h,-d] #2 vblank   ; front porch
CALL [+v,-h,-d] #1 vblank_short

JUMP [+v,+h,-d] 0

vsync:
NOOP [-v,-h,-d] #1      ; last 4 pixels of hsync
NOOP [-v,+h,-d] #2      ; back porch
NOOP [-v,+h,-d] #640    ; active period, but vblank
NOOP [-v,+h,-d,ret] #2  ; front porch

vblank:
NOOP [+v,-h,-d] #1      ; last 4 pixels of hsync
NOOP [+v,+h,-d] #2      ; back porch
NOOP [+v,+h,-d] #640    ; active period, but vblank
NOOP [+v,+h,-d,ret] #2  ; front porch

vblank_short:
NOOP [+v,-h,-d] #1      ; last 4 pixels of hsync
NOOP [+v,+h,-d] #2      ; back porch
NOOP [+v,+h,-d] #640    ; active period, but vblank
NOOP [+v,+h,-d,ret] #1  ; front porch

vactive:
FETCH [+v,-h,-d] #1     ; last 4 pixels of hsync
INC [+v,+h,-d] 640      ; skip a line 
NOOP [+v,+h,-d] #1      ; back porch
SEND [+v,+h,-d] #640    ; active period, but vblank
NOOP [+v,+h,-d,ret] #2  ; front porch

.end


Now a lot of doubts:
How do you put the cursor in a (pixel_pos & 3 != 0) position if each video word 
is 4 pixels? 
If i understand it you need to change the video controler program each time the 
cursor position changes and it can need to unroll counter loops breaking a word 
in two. 
I do not see a clean way to change video controler program in a vertical 
retrace. Only writing the new program after the old and then overwriting the 
old program jump 0 with a noop.

About the free bit i can only think in extend the opcodes with a move opcode 
like the amiga copper one, but i do not known if it is usefull or if video 
controler is the right place. 
Another idea can be a pair of opcodes to store and restore internal registers 
to break the call stack limit and allow some tricks. Useless again?


> > And now a presentation. I have being reading the list for a time and want 
> > to help to OGP.
> >
> > I think i can help OGP from better to worst:
> >
> > Translations in other languages (Spanish of Spain, ES_es)
> 
> Excellent.  That'll work well for other Spanish-speaking countries as
> well.  If someone were to offer British English in a document, I would
> accept it unmodified, so the same approach would work for various
> dialects of Spanish.
> 
> > BIOS code
> > Drivers for Linux
> > Documentation(HDL, code, Layout/Schematic, tests and docs for users)
> 
> Excellent.  With the video controller being worked on right now, how
> about we start documenting the heck out of that?
> 
> > Software code to stress-test any OGP/Traversal product
> > HDL code to stress-test OGD1 boards
> > HDL code
> > Layout/Schematic design
> 
> Awesome.  We could definitely use your help!

What i was trying to do was to order the task list of the wiki by 
qualification. I must admit that i can help very little at the 2 last, nothing 
at layout design :( 

> Thanks for joining us!

Thanks for this incredible proyect.

Diego.

Attachment: pgpGzRkPxsAZb.pgp
Description: PGP signature

_______________________________________________
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