Bitmap from SCREEN10 in SCREEN1 mode for MSX2+

By gasparrini

Champion (329)

gasparrini's picture

31-07-2022, 21:09

I am writing to you why ask for your kind help.
My request is if it was possible to make a bitmap from SCREEN10 in SCREEN1 mode,
manipulating the registers of the VDP through a programming trick.

I look forward to your positive response on this.
Greetings
AG.

Login or register to post comments

By PingPong

Prophet (3987)

PingPong's picture

01-08-2022, 01:19

Sentence make no sense. Please clarify

By gdx

Enlighted (5834)

gdx's picture

01-08-2022, 03:08

https://www.msx.org/wiki/VRAM_Maps
https://www.msx.org/wiki/VDP_Specific_MSX2%2B_Registers#Cont...
https://www.msx.org/wiki/SCREEN

SCREEN10 and 11 are in fact the same mixed RGB/YJK mode with the difference that in SCREEN10, the graphic instructions from BASIC/BIOS operate as in SCREEN5 and in SCREEN11 with direct VRAM values similar to SCREEN8 but in YJK mode.

By NYYRIKKI

Enlighted (5976)

NYYRIKKI's picture

01-08-2022, 07:13

SCREEN 1 is pattern based RGB mode using linear VRAM access.
SCREEN 10 is bitmap based RGB/YJK mode using interleaved VRAM access.
Although in BASIC there is just one number difference, they are not compatible.

By gasparrini

Champion (329)

gasparrini's picture

01-08-2022, 13:58

Quote:

SCREEN 1 is pattern based RGB mode using linear VRAM access.
SCREEN 10 is bitmap based RGB/YJK mode using interleaved VRAM access.
Although in BASIC there is just one number difference, they are not compatible.

Hello Dear Nyyrukki and GDX,

I understand well that it would not be technically possible to obtain a Screen10 mode in Mode Screen1.
But now I wonder: is it possible to make a screen10 in Mode Screen5 mode, setting with a programming
makeup using the VDP registers?

By wolf_

Ambassador_ (10035)

wolf_'s picture

01-08-2022, 15:05

What do you want to do anyway? Show a digitized image in screen 1 or, actually screen 2 I hope? That could be done with bmp2msx ... be prepared for a major 'bleh' though. Hannibal

By gasparrini

Champion (329)

gasparrini's picture

01-08-2022, 15:16

Quote:

What do you want to do anyway? Show a digitized image in screen 1 or, actually screen 2 I hope? That could be done with bmp2msx ... be prepared for a major 'bleh' though. Hannibal

No Dear Wolf,

I don't want to show a digitizid image in SCREEN1, or in SCREEN2.

What I am asking is to manipulate the registers of the VDP, in order to use the colors
of the SCREEN10 on the SCREEN5, in this way on the SCREEN5, I can use the 3 video pages
with SETPAGE from BASIC.

By NYYRIKKI

Enlighted (5976)

NYYRIKKI's picture

01-08-2022, 15:19

From VDP point of view only SCREEN 10 and SCREEN 11 are 100% compatible.
YJK part of SCREEN 11 is also compatible with SCREEN 12
SCREEN 1 and SCREEN 2 also share common type of data and are therefore partly compatible.

From BASIC point of view SCREEN 10 and SCREEN 5 work same way in a sense that same LINE, CIRCLE, COPY etc. produce same looking 16-color (RGB) results. How ever from VDP point of view they work very differently and the VRAM data is not interchangeable.

From VRAM point of view the screen modes can be divided to two compatibility groups where SCREEN modes 0-6 form a group that uses linear VRAM and rest of the screen modes use interlaced VRAM.

I think this is pretty much all there is to say about the compatibility of different modes, so please don't ask another pair Smile

By NYYRIKKI

Enlighted (5976)

NYYRIKKI's picture

01-08-2022, 15:44

gasparrini wrote:

What I am asking is to manipulate the registers of the VDP, in order to use the colors
of the SCREEN10 on the SCREEN5, in this way on the SCREEN5, I can use the 3 video pages
with SETPAGE from BASIC.

Ah, I see... Now I understand what you are after!
Unfortunately no it does not work... IIRC YJK-bits do have some weird effect on SCREEN 5, but the resulting screen mode seems non functional. Only almost useful trick is to mix YJK modes with SCREEN 7... It does not affect to visual outlook of the YJK modes, but it changes the way how VDP command engine works.

For BASIC example, see this screen conversion tool: (the later example)
https://www.msx.org/forum/msx-talk/development/combine-sc5-s...