V9990 registers at command termination

Página 1/2
| 2

Por Metalion

Paragon (1587)

imagem de Metalion

11-09-2022, 08:24

Hi everyone,

Do we know if the behaviour on V9990 commands is similar as on the V9938 at command termination ?
Was it studied ?

Like this table for V9938:

   Table 4.7  Register status at command termination

----------------------------------------------------------------------------
| command name | SX  | SY  | DX  | DY  | NX  | NY  | CLR |CMR H|CMR L| ARG |
----------------------------------------------------------------------------
|     HMMC     | --- | --- | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     YMMM     | --- |	.  | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     HMMM     | --- |	.  | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     HMMV     | --- | --- | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     LMMC     | --- | --- | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     LMCM     | --- |	.  | --- | --- | --- |	#  |  .  |  0  | --- | --- |
----------------------------------------------------------------------------
|     LMMM     | --- |	.  | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     LMMV     | --- | --- | --- |  .  | --- |	#  | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     LINE     | --- | --- | --- |  .  | --- | --- | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     SRCH     | --- | --- | --- | --- | --- | --- | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     PSET     | --- | --- | --- | --- | --- | --- | --- |  0  | --- | --- |
----------------------------------------------------------------------------
|     POINT    | --- | --- | --- | --- | --- | --- |  .  |  0  | --- | --- |
----------------------------------------------------------------------------

--- :	no change
 .  :	coordinate (SY*, DY*) and the colour code at the command termination
 #  :	the number of counts (NYB), when the screen edge is fetched
Entrar ou registrar-se para comentar

Por aoineko

Paladin (686)

imagem de aoineko

11-09-2022, 10:56

I don't have the answer, but I am interested. Smile

Por mars2000you

Enlighted (6346)

imagem de mars2000you

11-09-2022, 12:39

Por aoineko

Paladin (686)

imagem de aoineko

11-09-2022, 16:08

The question is about the values of a command after its execution.

With V9938 it was possible to chain commands using the fact that some input parameters were changed during the execution of the command.
As the command parameter registers of the V9990 are read-only, it is difficult to know what value they have at the end of the command execution.

Por Metalion

Paragon (1587)

imagem de Metalion

11-09-2022, 16:19

aoineko wrote:

As the command parameter registers of the V9990 are read-only, it is difficult to know what value they have at the end of the command execution.

I'm sure you meant : write-only Wink

Por SjaaQ

Champion (365)

imagem de SjaaQ

11-09-2022, 16:22

That should be easy to try out? I was testing the line draw function myself. I was wondering as well if I change the DX/DY only and resubmit the command if it would keep the MJ/MI settings. I think I saw somewhere you need to resubmit all the parameters again, but that would not make sense to me.

Por Manuel

Ascended (19053)

imagem de Manuel

11-09-2022, 16:56

Aha, so it is useful to know to be able to not set parameters again if they haven't changed, saving on some extra outs.

Por Manuel

Ascended (19053)

imagem de Manuel

11-09-2022, 19:56

Anyway, if some finds out these things, we'll happily implement it in openMSX as well.

Por Metalion

Paragon (1587)

imagem de Metalion

17-09-2022, 12:08

This is what I observed:

 V9990

----------------------------------------------------------------------------
| command name | SX  | SY  | DX  | DY  | NX  | NY  | ARG | LOG |  WM | CLR |
----------------------------------------------------------------------------
|     LMMM     |  ?  |	?  |  ?  |  ?  |  ?  |  .  | --- | --- | --- |  ?  |
----------------------------------------------------------------------------
|     LMMV     | N/A | N/A | --- |  .  | --- |	.  | --- | --- | --- |  ?  |
----------------------------------------------------------------------------

--- :	no change
 .  :	changed at the command termination
 ?  :	unknown

On OpenMSX, for LMMV, DY and NY are not changed at command termination.
I don't know yet their value, but I'm guessing it might be the same behavior as HMMV/HMMM on V9938.

Por Grauw

Ascended (10633)

imagem de Grauw

17-09-2022, 14:25

Don’t rely on the openMSX implementation for this, test on real hardware.

Por PingPong

Prophet (3971)

imagem de PingPong

17-09-2022, 17:31

aoineko wrote:

As the command parameter registers of the V9990 are read-only, it is difficult to know what value they have at the end of the command execution.

this also apply to v9938. they are write only

Página 1/2
| 2