|
Post by VDC 8x2 on Jun 25, 2014 18:00:00 GMT
What is version 1 doing? skipping and jerkiness?
have you tested version 2.0?
|
|
|
Post by mirkosoft on Jun 25, 2014 21:43:10 GMT
Hi!
Jerkiness and no scroll - only in one 8 pixels repeating letters - no full scrolling...
Tomorrow I'll test version 2, it's late evening and I'm without energy (lot of furniture I was moving).
Miro
|
|
|
Post by mirkosoft on Jun 28, 2014 23:56:41 GMT
I tested v2 - now it scroll text correctly. But main problem is always the same - jerkiness.
Tested on C128DCR (VDC8568 aka Rev2)
Miro
|
|
|
Post by VDC 8x2 on Jun 29, 2014 3:28:43 GMT
Version 2.5. Hopefully this will clear up the jerkiness. The program now loads like a normal basic program. VDCADR = $d600 VDCDAT = $D601 TxtPtr = $a9 ClrPtr = $96 smooth = $ab color = $a8
defm poke lda #/2 sta /1 endm
defm WaitVDC bit $d600 bpl *-3 endm
*=$1c01 Byte $11,$1c,$de,$07,$de,$9c,$3a byte $fe,$25,$3a,$9e,$37,$31,$38,$37 bytes $00*3 ;2014 graphicclr:fast:sys7187 in basic Start Poke smooth, $07 poke color, $08 ldx #$18 jsr VdcPeekReg ora #$80 ;set copy bit sta VDCDAT jsr zp0 ;set up pointers
MainLoop lda #$20 ;bit 5 we checking bit vdcadr ;wait for vblank beq *-3
sei ;don't want to be interupted jsr scroll ldx #$19 jsr VDCPEEKREG and #%11110000 ora smooth sta vdcdat ;scroll left cli ;done so release interupts lda #$20
bit vdcadr bne *-3 ;wait for the start of the frame jmp MAINLOOP scroll lda smooth sec sbc #$01 ;$01 to $07. 407 the fastest bcc MoveText sta smooth rts
MoveText lda #$07 sta smooth ldy #$00 lda (txtptr),y cmp #$ff bne @nopeff jsr zp0 lda (txtptr),y @nopeff cmp #$fe bne @nopefe lda (clrptr),y sta color jsr incclrptr jsr inctxtptr lda (txtptr),y @nopefe jsr inctxtptr pha ldy #$20 ;reg pair lda #$00 ;high byte ldx #$01 ;low byte jsr vdcwordreg ldy #$12 lda #$00 ldx #$00 jsr vdcwordreg ldx #$1e lda #$4f ;copy 79 bytes jsr VdcPokeReg pla ldx #$1f jsr VDCPOKEREG ldy #$20 ;color source lda #$08 ldx #$01 jsr vdcwordreg ldy #$12 ;color destination lda #$08 ldx #$00 jsr vdcwordreg ldx #$1e ;copy 79 bytes lda #$4f jsr vdcpokereg ldx #$1f lda color jsr vdcpokereg rts
zp0 lda #<ScrollText sta TxtPtr lda #>Scrolltext sta TxtPtr+1 lda #<Colordata sta CLRPTR lda #>ColorData sta CLRPTR+1 rts
VdcPokeReg stx vdcadr waitvdc sta vdcdat rts
VdcPeekREG stx vdcadr ;.x reg and value returned in .a waitvdc lda vdcdat rts
VDCWordreg sty vdcadr ;a/x is high/low value y is high byte of reg pair waitvdc sta vdcdat iny sty vdcadr stx vdcdat rts
IncTxtPtr inc TXTPTR bne @end inc TXTPTR+1 @end rts
IncClrPtr inc clrptr bne @end inc clrptr+1 @end rts
ScrollText byte $fe text 'this is a test of ' byte $fe text 'the ' byte $fe text 'scrolling demo... ' byte $fe text 'flash ' byte $fe text 'underline ' byte $fe text 'reverse ' byte $fe text 'charSET ' byte $ff
ColorData byte $0f,$0d,$0c,$1c,$2c,$4a,$86 Attachments:colorscroll.prg (347 B)
|
|
|
Post by hydrophilic on Jun 29, 2014 5:24:32 GMT
I just tried version 3 on my real C128 it fails worse than version 2! The screen "scrolls" but there is no "real" text on the top line... just a bunch of @@@@ Here is what I did:
DLOAD"COLORSCROLL.PRG"
RUN
Umm, what could be the problem (besides the VDC scroll register) ?
|
|
|
Post by VDC 8x2 on Jun 29, 2014 5:37:34 GMT
could it be that the copy is happening too fast for the eye. there by giving jerkiness?
|
|
|
Post by donno128 on Jul 10, 2014 19:06:50 GMT
The first two do nothing on my real hardware. I just get an error on line 43909 message. The only one that works at all on my flat C128 is colorscroll.prg, the version 2.5. The screen jerks back and forth 1 character, (nice earthquake simulation) and the scroll moves smoothly but the last character in a word can somewhat faintly be seen flashing to the right in the empty space, and artifacting of the flashing can be seen one space to the right of all the characters.
|
|
|
Post by donno128 on Jul 10, 2014 19:29:24 GMT
In Vice VDC rev 0 scroll.prg and scroller2.prg display syntax error in 43909 message, colorscroll.prg is jerky in the scroll and the screen quakes. In Vice VDC rev 1 scroll.prg and scroller2.prg display the error in 43909 message, colorscroll.prg scrolls smoothly with all attributes but the rest of the screen quakes. In Vice VDC rev 2 scroll.prg and scroller2.prg display syntax error in 43909 message, colorscroll.prg is smooth in the scroll and the screen quakes. Vice version is 2.3.
|
|
|
Post by hydrophilic on Jul 11, 2014 19:41:22 GMT
It only updates the top line, so you have to ignore the rest of the screen. I normally do clear screen and put the RUN / J command on the top line so I am not distracted by anything. Scrolling works fine on the VIC-II, so I don't think it is an issue with my monitor or my eyes. It is like when the program needs to move characters over one byte and reset the scroll register that it takes 2 screens to do it... I tried re-ordering the code and stuff as described before, so far all the versions fail (are jerky)... but I really don't know why, it is annoying because it seems like it *should* work. VICE thinks it should
|
|
|
Post by donno128 on Jul 12, 2014 0:57:30 GMT
Yes, Vice thinks it's all good. The scroll itself is smooth on my flat 128, that is there is no jerkiness to the movement. It just flashes (but very lightly, like it's a fraction as bright as where the text is at any point as if the scroll didn't happen and the line is still in the previous position. The reversed text with flash attribute on looks best, but there is still a little flash to the right. Am I making sense about what I am seeing? I could get out my spare flat128 but I'm pretty sure it has the same VDC revision but only has 16kb VDC ram.
|
|