MSX screen remakes and demakes by sd_snatcher

MSX screen remakes and demakes by sd_snatcher

by sd_snatcher on 22-10-2013, 13:32
Topic: MSX Related
Languages:

A year ago, while researching for a better algorithm for screen-12 conversion, sd_snatcher did many tests and ended up toying with converting images to many screen modes, to check what were the possibilities. Both the remakes and demakes were done in the philosophy "what if that game was done to MSX1/2/2+ instead of the original platform? How would have been the intro screen?". Now he decided to release those files for the MSX community.

The picture set contains screens of many games, like:

  • Screen-2: Demakes of Aleste-1, Aleste-2, Rune Worth and YS3 screens. Remake of Laser Squad intro screen
  • Screen-8: New screens and remakes of Army Moves, Astro Marine Corps, Comando Tracer, Doom-1, Game Over 1 & 2, Goody, Hundra, Laser Squad, Navy Moves, Phantis, Robocop, Stunts, Gall Force, Hyper Rally, Knightmare, Penguin Adventure
  • Screen-12: New screens and remakes of Army Moves, Astro Marine Corps, Comando Tracer, F1 Spirit 3D Special, Game Over 1 & 2, Goody, Hundra, Laser Squad, Navy Moves, Phantis, Robocop, Gall Force, Hyper Rally, Knightmare, Penguin Adventure, SD-Snatcher and Xevious

Relevant link: MSX screen remakes and demakes

Media browser (3)

  • MSX screen remakes and demakes by sd_snatcher
  • MSX screen remakes and demakes by sd_snatcher
  • MSX screen remakes and demakes by sd_snatcher

Comments (17)

By pitpan

Prophet (3097)

pitpan's picture

23-10-2013, 15:04

Very impressive indeed! All of the SC2 images are great, thank you.

And I've discovered a new MSX weirdness: BLOAD"xxx",S was supposed to work on any MSX with a diskdrive, but apparently it is not the case: at least the single-sided Sony HBD-50 does not accept the ,S command - whereas the Sony HBD-30 does.

So I suppose that different DISK.ROM include different BASIC extensions. Is this the case?

By snout

Ascended (15170)

snout's picture

23-10-2013, 17:52

Likewise, I actually like the SC2 conversions the most.

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

24-10-2013, 20:59

Thanks!

About the MSX2 screens, try to compare them side-by-side with the original ones from the same games on the ZX-Spectrum, Amstrad CPC, Sam Coupé, Atari ST and even Amiga. It's becomes impossible not to ask how cool would have been those games of they ever had been released for the MSX2.

And the MSX2+ screens are meant as a showcase: they're completely mind blower when compared to any other computer from 1988. Happy 25th birthday for this wonderful but underused Machine. Wink

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

26-10-2013, 06:30

Tip:

For those who don't know, those files can be directly viewed on modern PCs by using ViewMSX. There are Windows, Mac and Linux versions available.

By MäSäXi

Paragon (1884)

MäSäXi's picture

26-10-2013, 13:23

I downloaded viewmsx, and during unpacking it, I got a message that virus was detected and removed. Gen:Variant.Symmi.24950 It was found from the file ViewMSX.exe.

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

26-10-2013, 15:22

I'm not sure if this is a real infection or a false positive. Just tested it on VirusTotal.com and of 47 antivirus tools, only 4 of them gave a positive detection. Is the file really infected?

By Vampier

Prophet (2110)

Vampier's picture

28-10-2013, 07:59

http://vampier.fixato.net/screen8/ I uploaded a bunch of the screen8 pics here

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

28-10-2013, 23:09

Nice! This way it gets easier to compare the old and new Goody introscreen, i.e. Too sad the scr12 version isn't there too.

BTW, why are you using 512x414 to show the images? Without aspect correction it should be 512x424. With aspect correction it should be 512x384.

By mars2000you

Enlighted (5049)

mars2000you's picture

29-10-2013, 00:44

Correct format for the screenshots is used by blueMSX : 544x480 with the borders

If you remove the borders, it must be :
- 512x424 for SC 5,6,7,8, 9, 10,11,12
- 512x384 for SC 0,1,2,3,4

The problem is that openMSX provides 640x480 screenshots, you need to remove the 48 first pixels on the left and the 48 last pixels on the right to get the correct format including the borders; then, you can eventually remove the borders to keep only the picture, but the real MSX screen is always with the borders.

Now, the problem with display on Vampier site is probably just an error (all original pictures are actually 256x212, easy to check that with Chrome when you open them in a new tab).

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

29-10-2013, 02:19

I'm really-really-really-really afraid of getting into another flame war, so lets take it easy on this thread ok? Smile

544x480 is definitely a weird proportion to me (no offense meant).

Excluding borders, openMSX seems to use 586x424 for the MSX2/2+. This results in 1,38 and it's very close to 1,3333 (4/3). I don't know exactly why they did chose to enlarge it a bit.

OTOH, it uses the same proportion for the TMS9918 and just crops the extra lines as the V99x8 does, thus resulting in 586x384. But this article mentions that the TMS9918 has square pixels. So IMHO the output resolution for a emulated MSX1 should be 512x384 instead.

By mars2000you

Enlighted (5049)

mars2000you's picture

29-10-2013, 05:06

sd_snatcher wrote:

Excluding borders, openMSX seems to use 586x424 for the MSX2/2+.

Indeed, I've just checked on recent screenshots : 27 pixels on the left and 27 pixels on the right. Probably, I had in memory openMSX screenshots with older versions of the emulator.

It's your right to like or not the 544x480 format, I think it's the picture (with the borders) without the horizontal stretching and as the result can vary with some monitors, I guess it explains the openMSX 'bonus' enlarging.

Now the adapted procedure to convert into the blueMSX format for the people who are interested :
- you must keep 16 pixels on the left and 16 pixels on the right, so you need to remove the 11 first pixels on the left and the 11 last pixels on the right ...
- then you must rezize the width from 578 to 544 while keeping the 480 pixels for the height, and the picture is no more extra-stretched

By Vampier

Prophet (2110)

Vampier's picture

29-10-2013, 05:10

I just wrote a PHP script that is using the GBlib... it's actually done on the fly Smile

<?php

// caller <a href="http://IP/file?=filename.pic" title="http://IP/file?=filename.pic">http://IP/file?=filename.pic</a>
	$file=urldecode($_GET['file']);

// do some sanity check on $file (top secret and stuff :P))

	$pic=file_get_contents($file); # MSX2 screen8 filename

	#exit();
	
	$image  = imagecreatetruecolor(256, 212); #standard MSX width
	
// PreCalc colors
	$color = array();

	for($col=0; $col<=255; $col++) {
		$color[$col]=giveMSXColor($col,'0x');
	}

// make the images
	for($y=0; $y<=212; $y++) {
		for($x=0; $x<256; $x++) { 
		imagesetpixel($image, $x, $y, $color[(ord(substr($pic,7+($y*256)+$x,1)))]); #skip first 7 bytes which are headers
		} 
	}

	header('Content-type: image/png'); 
	ImagePNG($image); 
	imagedestroy($image); 

	function giveMSXColor($i,$add) {
		$col=str_pad(decbin($i),8,'0',STR_PAD_LEFT);
		$r=str_pad(dechex(round(bindec(substr($col    ,0,3))*(255/7))),2,'0',STR_PAD_LEFT);
		$g=str_pad(dechex(round(bindec(substr($col    ,3,3))*(255/7))),2,'0',STR_PAD_LEFT);
		$b=str_pad(dechex(round(bindec(substr($col.'0',6,3))*(255/7))),2,'0',STR_PAD_LEFT);
		
		if ($b=="db") {$b="ff";}

		return $add.$g.$r.$b;
	}

exit();
?>

By mars2000you

Enlighted (5049)

mars2000you's picture

29-10-2013, 07:51

mars2000you wrote:

Now the adapted procedure to convert into the blueMSX format for the people who are interested :
- you must keep 16 pixels on the left and 16 pixels on the right, so you need to remove the 11 first pixels on the left and the 11 last pixels on the right ...
- then you must rezize the width from 578 to 544 while keeping the 480 pixels for the height, and the picture is no more extra-stretched

I must correct myself, the good procedure is actually as following :
- first you must rezize the width from 640 to 560 while keeping the 480 pixels for the height
- then remove the 10 first pixels on the left and the 10 last pixels on the right ...

By sd_snatcher

Prophet (2577)

sd_snatcher's picture

30-10-2013, 02:32

@Vampier

Cool! But where in the code is the part that output the following portion of the HTML "img scr" tag?

height=​"414" width=​"512">

Then try to change it to:

height=​"424" width=​"566">

And you'll notice that the images aspect ratio will look much closer to the real MSX.

It shouldn't be hard to modify your code to suport screen-12. You can obtain the YJK->RGB conversion formulas here.

By Vampier

Prophet (2110)

Vampier's picture

01-11-2013, 01:33

sd_snatcher: thanks & done.

I'm not going to implement screen12... but feel free to adjust the PHP script and I'll upload it to the server to handle s12 pics.

By mars2000you

Enlighted (5049)

mars2000you's picture

17-11-2013, 00:49

I must correct myself AGAIN , the good procedure to convert an openMSX screenshot into the blueMSX format is actually as following :
- first you must rezize the width from 640 to 560 while keeping the 480 pixels for the height
- then remove the 8 first pixels on the left and the 8 last pixels on the right ...

By Manuel

Ascended (13469)

Manuel's picture

17-11-2013, 23:28

mars2000you: doesn't it depend on the horizontal stretch setting? (which is a setting, because it depends on how you set up a real monitor what you can still see there...)

My MSX profile