[V9990] Q&A Official Thread

Página 21/21
14 | 15 | 16 | 17 | 18 | 19 | 20 |

Por MaxMSX

Supporter (7)

Imagen del MaxMSX

18-05-2022, 23:23

GhostwriterP wrote:

my guess:
R#37 = 2 ;dx9 = 1 to select screen "B" as destination (name tables are on screen "B") where screen"A" is VRAM 00000-3FFFF and screen "B" is VRAM 40000-7FFFF.
R#45 = 12 (pset)
R#46 = 0
R#47 = 255 did you set the write mask like this?

Yes, that works! Thanks. Cool

Por Metalion

Paragon (1529)

Imagen del Metalion

22-05-2022, 20:59

Hi everyone,

I'm not sure what is wrong ... Trying to fill some VRAM area with zeros, in P1 or B1 mode, but the result is incomplete (parts are not modified). For example, in B1, half of the screen is not cleared.

clear_screen:
	ld	bc,0:32		; P1: 64x64(patterns)x2 = 256x32 values
	dec	d
	jr	c,.go
	ld	bc,0:64		; P2: 128x64(patterns)x2 = 256x64 values
	dec	d
	jr	c,.go
	ld	bc,0:212	; B1: 256x212 values

.go	call	write		; sets VRAM address
	ld	a,e		; 'e' contains value to fill
.loop	out	(v9990.vram),a
	djnz	$-2
	dec	c
	jr	nz,.loop
	ret

Por GhostwriterP

Hero (665)

Imagen del GhostwriterP

22-05-2022, 21:01

image space set to twice the screen width?

Por Metalion

Paragon (1529)

Imagen del Metalion

23-05-2022, 09:49

GhostwriterP wrote:

image space set to twice the screen width?

Nope, this is the first thing I checked.
R#6 value is 82h, so DSPM=2 (bitmap mode), XIMM=0 (256 pixels width) and CLRM=2 (8 bits/dot)

This is what I get, after writing 256x212 zeros in B1 mode:

Por Metalion

Paragon (1529)

Imagen del Metalion

23-05-2022, 11:13

Problem solved: my subroutine setting up the VRAM address was messing with the 'bc' value ...

Por Metalion

Paragon (1529)

Imagen del Metalion

23-05-2022, 13:01

Another question: in P1 mode, is it possible to use commands in the pattern name table ?
Its address would translate into (0,3968) and R#38/39 (DY) can contain an Y adress up to 4095 ...

Por GhostwriterP

Hero (665)

Imagen del GhostwriterP

23-05-2022, 18:21

yes it is possible read few post back Wink
PS: it is actually a very useful feature and can be used for various applications.

Por MaxMSX

Supporter (7)

Imagen del MaxMSX

23-05-2022, 19:19

Indeed, GhostWriterP helped me to get the commands working for P1 on the pattern name table. Biggest take away for me was that these are both located on screen "B". As mentioned, a couple of posts back there is an example (which needed the last addition as suggested by GhostWriterP for R37 and R45, R46 and R47).

Por aoineko

Champion (474)

Imagen del aoineko

20-07-2022, 23:29

Is there a minimum time between 2 successive accesses to the v9990?
I guess not given the power of the chip, but I prefer to ask. ^^

Por GhostwriterP

Hero (665)

Imagen del GhostwriterP

21-07-2022, 15:07

Sofar I never experienced any problems without waits, not even on r800!

Página 21/21
14 | 15 | 16 | 17 | 18 | 19 | 20 |