Modifying colours on MSX1...?

Page 1/4
| 2 | 3 | 4


Rookie (17)

RSS's picture

28-04-2014, 09:48

Hello All,

Just a question: is it possible to change the colours on an MSX1?
I remember doing this on a PC in PASCAL, the 16 available colours could be manipulated via RGB-parameters.

Probably asking the impossible here,

Login or register to post comments

By Jipe

Paragon (1614)

Jipe's picture

28-04-2014, 10:15

sorry you can only adjust colors with potentiometers
with a MSX2 you can adjust RGB value

By Wolverine_nl

Paragon (1160)

Wolverine_nl's picture

28-04-2014, 10:31

Only with a colour raster you can achieve certain effects, but not with rgb values, like Jipe said, MSX2 and higher.


Rookie (17)

RSS's picture

28-04-2014, 10:53

Okay, thanks for the info!
I wasn't expecting anything else, otherwise certain games would undoubtedly have looked different too.

By o.geerdink

Hero (588)

o.geerdink's picture

28-04-2014, 12:11

A msx 1 can show up to 105 colors. A drawing program exists from back in the days and some of dvik's demo's do it.

By TheSpecialist

Expert (113)

TheSpecialist's picture

28-04-2014, 12:33

You can show more colors on MSX1 only by taking advantage of artifacts in the RF modulation and/or PAL encoding. However, the effect goes away as soon as you view it on an RGB monitor.

Alternatively, you could flicker colors alternately. The game Menace by TNI does this. Although this technique does work on RGB monitors, the downside is a big headache, especially on 50Hz refresh.

By ray2day

Paladin (743)

ray2day's picture

28-04-2014, 22:39

Wow! Nice short MSX1 105 colour PowerPoint course. Thank you!

By hit9918

Prophet (2932)

hit9918's picture

29-04-2014, 19:24

The PAL linemixing is great, goes with zero flicker, and makes real new colors.
Even better is that it needs no engine but can be put into any screen 2 tile.

Look at this demo showing the 25 MSX1 colors Smile
Two new brown colors and a dark gray in there!

10 color 1,1,1 : screen 2
20 open "grp:" for output as #1
30 dim y(16)

100 y(00) = 0
110 y(01) = 0
120 y(02) = 0.53
130 y(03) = 0.67
140 y(04) = 0.4
150 y(05) = 0.53
160 y(06) = 0.47
170 y(07) = 0.73
180 y(08) = 0.53
190 y(09) = 0.67
200 y(10) = 0.73
210 y(11) = 0.80
220 y(12) = 0.47
230 y(13) = 0.53
240 y(14) = 0.80
250 y(15) = 1.0

290 nx = 256/5 : ny = 192/5
300 for y = 1 to 15
310 for x = 1 to 15
320 if x > y then 500
330 if abs(y(y)-y(x)) > 0.01 then 500

340 j = 0

350 if j and 1 then c = x else c = y
360 line(cx,cy+j)-(cx+nx-1-8,cy+j),c
370 j = j + 1 : if j < (ny-8) then 350

380 draw"bm"+str$(int(cx+4))+","+str$(int(cy+4))
385 ?#1,mid$(str$(int(x)),2)+","+mid$(str$(int(y)),2);
390 cx = cx + nx : if cx >= 256 then cx = 0 : cy = cy + ny

500 next x,y
510 goto 510

Would be nice to get emulator support on this.
Trying to get some vertical smear in emu:
Putting openmsx to "SDLGL-PP" mode, "scaler 2", "simple" and then put blur slider to 100%.
Put bluemsx to blur. The lines keep more visible because the palette got bugs.

By Manuel

Ascended (19461)

Manuel's picture

29-04-2014, 21:43

Can you be clear what exactly is buggy?

By hit9918

Prophet (2932)

hit9918's picture

29-04-2014, 23:00

some MSX1 colors have exactly same brightness. recent openmsx palette change has this fixed, however still missing is the line mixing of the TV.

The more I think of it, a whole great color ability of MSX is excluded in practice because emulators dont have it.

e.g. reason for why my demo didnt have brown and dark gray is because openmsx makes the line look.
On TV (via cinch port), there is a new color without line look! (mixing those colors of same brightness, see BASIC demo)
Again, it is no flicker thing, no code, it is just in the gfx.
The TV does mix the color with the previous line, but not the brightness (so it doesnt make unsharpness).

The MSX1 has 25 colors and the MSX2 with linecolor sprites too has something crying for it.
Aside that it can be applied anywhere, screen 2, screen 4, screen 5...

The MSX has this ability like no other homecomputer, pick a new color every line.
Did I already mention how openmsx misses a major thing hint hint Smile

By sd_snatcher

Prophet (3659)

sd_snatcher's picture

30-04-2014, 01:24

It's an interesting form of dithering. But, as others forms of this algorithm, it looses most of it's effect on RGB monitors and the effect smoothness is inversely proportional to the monitor definition/distance.

IOW, its nice on composite video, so-so on s-video and doesn't look so great when the real MSX is connected to an RGB LCD monitor.

The effect is also very dependent on the color palette. The VDPs T6950, V9938 and SMS-VDP (Franky, anyone?) will have very different results.

Please note that I'm not criticizing the idea, just explaining how it works and the caveats.

EDIT: Due to the chroma low-pass, it may actually look very good on S-video. But my TV's s-video input is dead, so I can't test this anymore.

Page 1/4
| 2 | 3 | 4