YMMM in BASIC : bord white ?

By DanySoft

Champion (431)

DanySoft's picture

06-10-2012, 21:34

Hello
I managed to create a sliding screen in three pages of VRAM.
But during the scroll up and down, there were blank areas. Areas are assigned to the sprite and images!
I disable bit 1 of the VDP-9:

VDP-9: 0 - 0 - TP - CBD - VRS1 - VRS0 - SPD - B / W
SPD: 0/1 = disable / enable sprite

Sprites can trigger active SET PAGE 0.0, while
other pages 1,2 and 3 will be erased with vpoke
(212-255: canceled)
Ok?

This is my source for BASIC:

10 SCREEN 5
20 DATA "alto.sc5","centro.sc5","basso.sc5"
30 FOR L=0TO2:READA$:SET PAGE 0,1+L:BLOADA$,S:NEXTL
40 CALL TURBO ON
50 SET PAGE 0,0:L=256:V=4
60 REM
70 D=STICK(0):I$=INKEY$
80 IF I$=CHR$(27) THEN GOTO 220
81 IF D=1 THEN L=L-V:IF L=<256 THEN L=256
82 IF D=5 THEN L=L+V:IF L=>814 THEN L=814 :REM 3*256+46=814!!
90 K=34:VDP(K+1)=(L AND &HFF):VDP(K+2)=(L AND &HFF00) /256   : REM SY
100 K=36:VDP(K+1)= 0:VDP(K+2) =   0        : REM DX
110 K=38:VDP(K+1)=40:VDP(K+2)=0          : REM DY
120 K=42:VDP(K+1)=168:VDP(K+2)=    0        : REM NY
130 K=45:C=0*8+0*4                    : REM ARG
140 VDP(K+1)=C
150 K=46:VDP(K+1)=&HE0
160 WAIT &H99,129 : REM Z
170  LINE(0,10)-(255,10),6
180 REM 
190 REM 
200 rem
210 GOTO 60
220 REM
230 CALL TURBO OFF
240 REM 
250 I$=INPUT$(1)
260 END

Note: three files "ALTO.SC5", "CENTRO.SC5" e "BASSO.SC5" : are part of a football field.
note2: WAIT &H99,129 is correct ?
the line 160 and 170 is "automatic" refresh to screen to run YMMM.
Bye bye
DanySoft Cool

Login or register to post comments

By DanySoft

Champion (431)

DanySoft's picture

06-10-2012, 23:06

Guys, you do not want to answer my question? Evil

By DanySoft

Champion (431)

DanySoft's picture

07-10-2012, 11:52

But you can not read this post? Crazy
However, since it does not answer our question of who will help solve this problem. I am forced to arrange your own!
I solved my problem all by itself: Shocked!

10 SCREEN 5
20 DATA "alto.sc5","centro.sc5"
30 FOR L= 0 TO 1: READ A$:SET PAGE 0,L: BLOAD A$,S:NEXT L
40 SET PAGE 0,0
50 FOR L=0 TO 46
60  VPOKE  212*128+l,VPEEK(32768+l)
70 NEXT 
80 BSAVE "ALTO.SC5",S

So I deleted the empty area (212-255 vertical) now scroll vertically with YMMM worked but slows down!
Therefore, I will have to use SJASM to build a source YMMM order to accelerate the speed scrolll vertical. Cool
The VDP-24 ALL the screen shakes, shakes YMMM ONLY the part of the screen.

Ma .. friends you do not want to answer or do not care to our posts? Question
In this case, I almost get the urge to remove my name from the register of msx.org for personal reasons. Crying Evil

Greetings Big smile
Byebye
DanySoft

By PingPong

Prophet (3328)

PingPong's picture

07-10-2012, 13:47

DanySoft wrote:

Guys, you do not want to answer my question? Evil

What do you think? that all people are only waiting to answer your post and make a race to answer?
have you ever observed that there are post on mrc that does not get a reply for weeks?

By PingPong

Prophet (3328)

PingPong's picture

07-10-2012, 13:49

DanySoft wrote:

In this case, I almost get the urge to remove my name from the register of msx.org for personal reasons. Crying Evil

Greetings Big smile
Byebye
DanySoft

Please do it. please. please. please.

By Jipe

Paragon (1366)

Jipe's picture

07-10-2012, 14:14

hi Danysoft
is not easy to working in a part of code with missing data screen
i read this post at 11:00 this morning but very not courageus for writting the basic code oO
if you post a dsk on line for testing is more easy for all users Wink

By DanySoft

Champion (431)

DanySoft's picture

07-10-2012, 14:39

Ok LOL!

By DanySoft

Champion (431)

DanySoft's picture

09-10-2012, 22:03

Hello, this source is okey or wrong ? oO
See this source :

;80 K=34:VDP(K+1)=(L AND &HFF):VDP(K+2)=(L AND &HFF00) /256   : REM SY
;90 K=36:VDP(K+1)= 32:VDP(K+2) =   0        : REM DX
;100 K=38:VDP(K+1)=40:VDP(K+2)=0          : REM DY
;110 K=42:VDP(K+1)=168:VDP(K+2)=    0        : REM NY
;120 K=45:C=0*8+0*4                    : REM ARG
;130 VDP(K+1)=C
;140 K=46:VDP(K+1)=&HE0
;150 WAIT &H99,129 : REM Z
;151 LINE(0,10)-(255,10),6
;152 LINE(0,10)-(Z,10),10
;155 VPOKE L,&HFF
;160 NEXT L

        ORG   $D000
BEGIN:
        JP    MOVE
VRAM:   DW    0
MOVE:
        LD    HL,(VRAM)
        CALL  YMMM
        RET

YMMM:
        DI
        LD    C,$99
;
        LD    A,34
        OR    128
        OUT   (C),L
        OUT   (C),A
        INC   A
        OUT   (C),H
        OUT   (C),A           ;35

        INC   A
        LD    HL,32
        OUT   (C),L
        OUT   (C),A
        INC   A
        OUT   (C),H
        OUT   (C),A
        INC   A
;
        LD    HL,40
        OUT   (C),L
        OUT   (C),A
        INC   A
        OUT   (C),H
        OUT   (C),A
        LD    A,42
        OR    128
        LD    HL,168
        OUT   (C),L
        OUT   (C),A
        INC   A
        OUT   (C),H
        OUT   (C),A
        LD    A,45
        OR    128
        LD    L,0             ;arg
        OUT   (C),L
        OUT   (C),A
        INC   A
        LD    L,$E0
        OUT   (C),L
        OUT   (C),A
        EI
        RET

This code is make of program wbass2 and creating file YMMM.bin. but...
can't see the graphics scroll : missing o corrupct ?
Please ... Question Question
DanySoft