v_bar() with custom fill pattern (Falcon)

GFA, ASM, STOS, ...

Moderators: exxos, simonsunnyboy, Mug UK, Zorro 2, Moderator Team

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2227
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

v_bar() with custom fill pattern (Falcon)

Postby lp » Tue Feb 21, 2017 9:27 pm

Having no success with v_bar() and vsf_udpat(). Always get an empty white box using hatari set as Falcon in 16 color mode. I also tried vr_recfl() and got same white box. This was reported to me by someone with a real Falcon, so its not hatari. If I restart hatari as an STE same code works and I see my custom pattern. I've tried custom bindings to no avail, just to eliminate the library.

Is there some known bug in the Falcon VDI I'm not aware of? The only way I can get a custom filled box is using v_fillarea().

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1512
Joined: Sun Jul 31, 2011 1:11 pm

Re: v_bar() with custom fill pattern (Falcon)

Postby Eero Tamminen » Wed Feb 22, 2017 9:07 pm

My VDI tests work fine in Hatari/Falcon, both Falcon's own 16-color mode & ST-low compatible mode:
http://tammat.mbnet.fi/hatari/programs.shtml#vditest

(Try / see the vdifill test.)

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2227
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

Re: v_bar() with custom fill pattern (Falcon)

Postby lp » Wed Feb 22, 2017 9:28 pm

It works for me to, I tried it. I don't have problems with the built in patterns, only the custom one set with vsf_udpat(). It does not look like your test app tests the user defined pattern, only the built in ones. The user defined pattern by default is fuji symbol, if you don't alter it.

If I call v_circle() I see my custom pattern, so I know the call to vsf_udpat() is correct. However, it I call v_bar() or vr_recfl() I get empty white box.

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1512
Joined: Sun Jul 31, 2011 1:11 pm

Re: v_bar() with custom fill pattern (Falcon)

Postby Eero Tamminen » Thu Feb 23, 2017 8:46 pm

Ah, sorry I thought that you would see it also with normal patterns, not only with user ones.

Are you using single or multiple color pattern? TOSHYP mentions some color index & write mode restrictions for latter:
http://toshyp.atari.org/en/007004.html#vsf_udpat

Do you see the same problem with EmuTOS on Falcon, or is it TOS v4 specific?

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2227
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

Re: v_bar() with custom fill pattern (Falcon)

Postby lp » Thu Feb 23, 2017 10:41 pm

I tried the TOSHYP recommendations already and yes it's 16 color pattern with TOS v4. Same code works on STE untouched. Hence the problem.

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1512
Joined: Sun Jul 31, 2011 1:11 pm

Re: v_bar() with custom fill pattern (Falcon)

Postby Eero Tamminen » Fri Feb 24, 2017 7:08 pm

Is the problem there only with multicolor pattern, or also mono ones?

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2227
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

Re: v_bar() with custom fill pattern (Falcon)

Postby lp » Fri Feb 24, 2017 7:32 pm

Eero Tamminen wrote:Is the problem there only with multicolor pattern, or also mono ones?


Mono pattern test works. Results of my tests:
ste.png

falcon.png
You do not have the required permissions to view the files attached to this post.

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1512
Joined: Sun Jul 31, 2011 1:11 pm

Re: v_bar() with custom fill pattern (Falcon)

Postby Eero Tamminen » Sat Feb 25, 2017 6:08 pm

Hm, not sure those are standard colors...

Which palette you use? Normal Falcon palette, or Falcon's STE palette?

Code: Select all

    VIDEL_ST_ShiftModeWriteByte :
        $FFFF8260 [R/W] B  ______10  ST Shift Mode
                                 ||
                                 ||                           others   vga
                                 ||                  $FF8210 $FF82C2 $FF82C2
                                 00--4BP/320 Pixels=> $0050   $0000   $0005
                                 01--2BP/640 Pixels=> $0050   $0004   $0009
                                 10--1BP/640 Pixels=> $0028   $0006   $0008
                                 11--???/320 Pixels=> $0050   $0000   $0000

        Writing to this register does the following things:
                - activate STE palette
                - sets line width ($ffff8210)
                - sets video mode in $ffff82c2 (double lines/interlace & cycles/pixel)


PS. If you see the same issue also with EmuTOS, one could check from sources why that happens...

User avatar
lp
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 2227
Joined: Wed Nov 12, 2003 11:09 pm
Location: GFA Headquarters
Contact:

Re: v_bar() with custom fill pattern (Falcon)

Postby lp » Sat Feb 25, 2017 6:53 pm

It's whatever the default is at boot up. There's no auto folder programs or anything. The test program does not alter any color registers. As I said in original post, pretty sure this is not related to Hatari at all. This problem was reported to me by someone with a real Falcon. I am able to reproduce the problem in Hatari.

Attached is the binary that produced the screen snapshots. Maybe someone with a Falcon can try it with clean boot and with NVDI. Maybe NVDI corrects this issue?
You do not have the required permissions to view the files attached to this post.


Social Media

     

Return to “Coding”

Who is online

Users browsing this forum: No registered users and 2 guests