A new Web MSX version out now!

A new Web MSX version out now!

by ppeccin on 13-03-2020, 06:27
Topic: Emulation
Languages:

Finally, WebMSX 6.0 is out!

New features are:

  • 3 MSX turbo R machines
  • V9990 video, Superimposed, Dual Screens
  • Improved CPU Turbo, Z80/R800 speed settings
  • Improved Kanji, MSX-JE editor and dictionary
  • Color, B&W, Green and Amber CRTs with scanlines

Relevant link:
WebMSX homepage

Media browser (2)

  • A new Web MSX version out now!
  • A new Web MSX version out now!

Comments (71)

By tfh

Prophet (3347)

tfh's picture

13-03-2020, 09:11

And again a great update! And now we can finally play Dreampuzzle online thanks to the V9990 emulation.
/me is going to have a nice look at this...

Thanks Paulo!

By Thom

Paladin (706)

Thom's picture

13-03-2020, 13:18

It's amazing! Impressive what you can do with JS. It must be the most used MSX-emu by now?

By tfh

Prophet (3347)

tfh's picture

13-03-2020, 13:45

Thom wrote:

It's amazing! Impressive what you can do with JS. It must be the most used MSX-emu by now?

Amazing indeed.
As for "most used" I guess it depends on the situation. For "serious" emulation users, WebMSX misses features & accuracy so these users will prefer to use OpenMSX most of the time.
For people who want an easy way to play old MSX games... I wouldn't be surprised that WebMSX would indeed be the current #1. And maybe even overall as well Smile Looking to the number of visitors and how many games are played on my website alone. And there are at least a dozen other sites doing the same...

By hap

Paragon (2042)

hap's picture

13-03-2020, 14:05

All source files have this header
// Copyright 2015 by Paulo Augusto Peccin. See license.txt distributed with this file.

But there is no license.txt anywhere, nor LICENSE.MD, nothing about license in README.MD

By tfh

Prophet (3347)

tfh's picture

13-03-2020, 14:27

hap wrote:

All source files have this header
// Copyright 2015 by Paulo Augusto Peccin. See license.txt distributed with this file.

But there is no license.txt anywhere, nor LICENSE.MD, nothing about license in README.MD

Correct Smile See https://github.com/ppeccin/WebMSX/issues/4

By KdL

Paragon (1452)

KdL's picture

13-03-2020, 17:40

is out !! LOL! Wink

By mariocavalcanti

Expert (112)

mariocavalcanti's picture

13-03-2020, 17:54

Astonishing set of new features. Congrats and thank you, Paulo Peccin.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 18:16

Wow, what is that "W6" logo???? That was not me! kkkkk oO

Regarding the license... Yes, I am yet to find a good and uncompromising license type to use... Any ideas?
For now, people that want to use WebMSX on their websites usually contact me and I help them out.

Thanks for the feedback guys! Smile
Paulo

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 18:22

Also I think my post on the Emulation Forum about the new release go deleted...
I wonder why? Is there a new policy for when you get a "News" post?

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 18:53

It emulates the V9990 well. Fantastic and congratulations.
I have seen a little bug. The bitmap mode cursor is stretched vertically. See in this rom:
https://www.msx.org/downloads/msx-in-a-row-by-mapax-released
It comes out of double height. Well resolved the EOR theme with the scenery.
Is ascii16 mapper.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 18:44

Thanks! Didn't know this software. In fact, I think I could not find anything good to test the bitmap hardware cursor...
I will investigate the bug! Probably related to interlaced mode...

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 18:47

Surely what you say. Good intuition.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 18:57

Notice it's not only stretched, the entire Y coordinate system is wrong.

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 19:15

If right. I only saw the cursor problem, and nothing else.
This is clear in:
http://msxbanzai.tni.nl/v9990/manual.html
Also topsecret 2.pdf describes this.

By FiXato

Scribe (1743)

FiXato's picture

13-03-2020, 19:10

ppeccin wrote:

Regarding the license... Yes, I am yet to find a good and uncompromising license type to use... Any ideas?
For now, people that want to use WebMSX on their websites usually contact me and I help them out.

In the meantime perhaps create a license.txt file that basically says 'all rights reserved' and mentions that people who want to use WebMSX on their website, should contact you? It's better than having the header files refer to a non-existing license file, because that could also give users the idea that a website using WebMSX has intentionally removed the license file.

By hamlet

Scribe (4106)

hamlet's picture

13-03-2020, 19:34

Many thanks for this extraordinary update.
With the publication of this newspost I have deleted the still young forum entry to keep information bundled in one channel. Of course you are free to open an additional forum thread, but information will be splitted, which doesn't seem to make sense.
I am glad you like the W6 logo.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 19:36

Manel46 wrote:

If right. I only saw the cursor problem, and nothing else.
This is clear in:
http://msxbanzai.tni.nl/v9990/manual.html
Also topsecret 2.pdf describes this.

Yes, the problem is only in the cursor. But if you move it down, you will see it also goes down too much each step.
The Y coordinate (starting top position of cursor) is also doubled.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 19:37

hamlet wrote:

Many thanks for this extraordinary update.
With the publication of this newspost I have deleted the still young forum entry to keep information bundled in one channel. Of course you are free to open an additional forum thread, but information will be splitted, which doesn't seem to make sense.
I am glad you like the W6 logo.

You're right, I'll try to improve on that!

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 20:35

The problem, as you said, is because of the interlacing. This demo, without interlacing, works perfectly:
https://drive.google.com/open?id=15HJEk7XJ1cGsVK24ojO7ZtefzI...
It is in B1BD16 mode. They are the two cursors, which move with the cursor keys.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 20:28

You mean the cat is done by hardware cursors???

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 20:38

Yes. If you send me mail (it is in my profile), I will send you the sources by email, if you are interested.

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 20:42

Nice, now I understand what is happening... Preparing a fix!

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 22:00

Ok, I understand... I only wonder why you choose not to show my original image on the news cover/teaser.
Is that anything about the use of tR and V9990 logos?

By ppeccin

Champion (376)

ppeccin's picture

13-03-2020, 22:04

Manel46 wrote:

The bitmap mode cursor is stretched vertically.

I think I fixed the but, but I don't have a real machine to compare. :-(
Can you send me a short video of the game showing the cursor over a tile with light background? Can be a smartphone video....
I want to compare position and blending to be sure it's right.

Thanks!

By Manel46

Paladin (674)

Manel46's picture

13-03-2020, 22:33

I guess you want to know the dimensions of the items in "MSX IN A ROW!"
The tiles measure 48x48 pixels and the first one is 16 pixels from the left limit of the screen, and touching the upper limit. The cursor is 32x32 pixels (of course), and it starts centered on the first tile.
Then the cursor moves from 48 to 48 pixels, horizontally and vertically.
If you want to see it on video I can do it with Open MSX. In real HW, it's the same.

By ppeccin

Champion (376)

ppeccin's picture

14-03-2020, 06:36

On my OpenMSX the cursor is also wrong, but on another issue. The EOR behavior seems wrong.
It would be nice to see a video close-up of the cursor stationary in one tile in the real hardware.
Anyone? Smile

By Manel46

Paladin (674)

Manel46's picture

14-03-2020, 09:21

You must have a later version 0.15.0. Better the last one. This the Open team resolved later.
https://openmsx.fixato.net
I did not remember, but in the thread of the news I posted a video:
https://www.msx.org/news/software/en/msx-in-a-row-by-mapax-r...
But if you want I prepare video in real HW.

By Manel46

Paladin (674)

Manel46's picture

14-03-2020, 15:05

have verified that the rom works fine. But all the Y's of the cursor are doubled.

By Grauw

Ascended (10772)

Grauw's picture

14-03-2020, 15:38

I recommend 2-clause BSD license. Nice and simple. Maximum freedom for everybody.

If you prefer copyleft then GPL is the obvious choice.

By spacemoai1973

Ambassador (0)

spacemoai1973's picture

14-03-2020, 16:32

Since it's hosted software: http://en.wikipedia.org/wiki/Affero_GPL3
Also, BSD is not freedom.

By Grauw

Ascended (10772)

Grauw's picture

14-03-2020, 21:43

You’re entitled to your opinion on that, but GPL is a very restrictive license in comparison. Almost all of my code is BSD licensed, and people can use snippets or modify it as they wish, put it in cartridges and sell it if they will. I leave the choice to contribute back to the kindness of their heart. In the end my projects are my responsibility and I am not dependent on other’s contributions, although it is of course motivating. What open source license are your MSX projects licensed under? Wink

E.g. for VGMPlay BSD means people can bundle it with any hardware or software, and if they make a cartridge for a limited audience that they want to have custom drivers for, they can just do that without knocking on my door for permission. Or someone can cut the code down to support only YM2151, add some simple repetition compression and use it in some music disk for SFG-05. Without any requirement placed on how they license their sources (code, graphics, music, VHDL) that it integrates with.

The license terms of BSD are also simple to understand, in comparison to interpreting the complications of GPL, mostly surrounding what constitutes the covered work in case you don’t want to GPL all of yours. If you don’t hop onto the GPL bandwagon fully, there’s usually very little you can do with it, and things get complicated quickly. Note that not only is GPL incompatible with closed-source, but it’s also incompatible with BSD. So by definition I can’t use anything GPL in any of my software which I want to offer under a real libre license.

It may be evident at this point that I’m not a fan of copyleft Tongue. In essence I feel that BSD does more to promote the creation of MSX software than GPL does, because it imposes virtually no restrictions (i.e. gives freedom). My goal is not to create an open source ecosystem around MSX like e.g. Linux does for PC, and therefore GPL is not a good fit. Though of course I’ll happily promote open source among MSX creators, and people generally contribute back anyway in some form or another, so I have faith in that.

@ppeccin Either way not having a license is problematic, both for the user as well as the potential contributor, so I recommend picking one, even if it is restrictive Big smile.

By ToriHino

Paladin (858)

ToriHino's picture

15-03-2020, 01:43

If you want real freedom you should use WTFPL

By spacemoai1973

Ambassador (0)

spacemoai1973's picture

15-03-2020, 03:53

Since @Grauw wrote a bunch of paragraphs, I thought I'd break it down in the two viewpoints that are basically at odds here. (I'll ignore the ad hominem by which he tried to reduce the validity of my points)

Software freedom:
GPL = your code's freedom is guaranteed
BSD = your code has no freedom and can be abused and locked up

People freedom:
BSD = people have the freedom to steal your code and profit from it
GPL = people are required to keep the code free (but they can still profit from it)

It's essentially the same difference in freedom between anarchy (no rules seems more free, but can hurt the weak) and laws (there are rules which try to guarantee freedom fairly).

By Grauw

Ascended (10772)

Grauw's picture

15-03-2020, 13:58

spacemoai1973 wrote:

I'll ignore the ad hominem by which he tried to reduce the validity of my points

I don’t think those 4 word words “BSD is not freedom” in your response to my post actually formed a proper meaningful statement or point. It left me with no other argument than to point out my opinion is that of a person who actively applies open source in his projects. Smile

Another example; after its initial open source release my deflate decompression code was improved with the help from several others gaining an additional 30% performance. It was also used in two other MSX projects beside my own (SofaUnZip and SymbOS UnZip) which benefited the MSX community, and both derivatives are also open without any coercion through a license. Even if they were closed it would be fine with me. This to me shows the power and benefits of open source.

I think words like “abuse”, “locked up”, “steal” and “hurt the weak” are very pessimistic. It is those same fears which makes people keep their source code closed. I don’t work based on fears. Open source doesn’t work based on fears. It works based on collaboration and good intentions, a positive attitude which can’t be forced by terms in a license.

By Grauw

Ascended (10772)

Grauw's picture

15-03-2020, 14:49

ToriHino wrote:

If you want real freedom you should use WTFPL

I like it, except its use of the word fuck :). But I also like credit, so BSD is more to my liking. If giving credit would really be an obstacle to someone using my code though then I’m willing to relicense under WTFPL upon request ;).

By st1mpy

Paladin (938)

st1mpy's picture

15-03-2020, 20:19

It even runs on xbox one's edge browser with USB keyboard. But I can't get the xbox controller to work as a joystick. It would be nice if that was supported.

By spacemoai1973

Ambassador (0)

spacemoai1973's picture

15-03-2020, 23:37

Grauw wrote:
spacemoai1973 wrote:

I'll ignore the ad hominem by which he tried to reduce the validity of my points

I don’t think those 4 word words “BSD is not freedom” in your response to my post actually formed a proper meaningful statement or point. It left me with no other argument than to point out my opinion is that of a person who actively applies open source in his projects. Smile

Your implications are insulting and pathetic. Get off your high horse! If personal attacks are your only way of trying to win an argument, you've already lost.

The best example of the non-freedom of BSD is its source, BSD Unix. Apple proved my point.

By tfh

Prophet (3347)

tfh's picture

16-03-2020, 09:12

More on-topic: WebMSX 6.01 is released and it has a fix for the above mentioned issue in GFX9000 mode. You can now play MSX in a row by Mapax in the new version. Also a problem with the savestates has been fixed.

By Manel46

Paladin (674)

Manel46's picture

16-03-2020, 09:58

Very good! Congratulations!

By Manel46

Paladin (674)

Manel46's picture

16-03-2020, 12:59

Now that you have solved this, I want to comment on another error that occurs. We see it in the rom:
https://www.msx.org/news/software/en/merry-christmas-2018-by...
Which is in B3 DB8 mode, and moonsound music. In it we see graphic flaws. I think it is because of the vertical scroll with interlaced images.
The operation is as follows:
They are 4 images of 512x424, that while we see one, the next one is drawn, off screen. Each image consists of 4 256x212 images in SR8, which are drawn with LMMC. BMP2G9B, does not deal with this type of graphics, unfortunately.
https://www.youtube.com/watch?v=doyleE9EpDA

By ppeccin

Champion (376)

ppeccin's picture

16-03-2020, 21:33

Ugh! Thanks for reporting....

I don't know about SR8 and BMP2G9B.
But maybe this problem has something to do with coordinate space on LMMC while in IL.
Will investigate!

By Manel46

Paladin (674)

Manel46's picture

16-03-2020, 22:22

I am sure you solve this problem.
I use BMP2MSX, to get the SR8 files. BMP2G2B, does not work with 256 color bmp.
I loaded roms with only image in YUV and YJK modes, without problem in your web emulator.

By ppeccin

Champion (376)

ppeccin's picture

17-03-2020, 04:31

Manel46 wrote:

I am sure you solve this problem.
I use BMP2MSX, to get the SR8 files. BMP2G2B, does not work with 256 color bmp.
I loaded roms with only image in YUV and YJK modes, without problem in your web emulator.

Fixed on 6.0.2, online now.

It was a stupid small mistake... But I had not found any software in IL/EO mode with Y scroll.
You know, untested software is wrong software! Had yours to test now!

Thanks for reporting!
Next? Smile

By Manel46

Paladin (674)

Manel46's picture

17-03-2020, 11:38

Fantastic! Great job.
I have different test roms, in P1, P1 split screen, B1, B2, B3, B6 and B7, with different graphic modes.
All good except B6 PB4. I am aware that in this mode there may never be a game. It is a rom that displays an image only, but a problem occurs. In the link to my Google Drive, it has the rom and a screenshot with Open.
Curiously, the screen comes out horizontally elongated.
https://drive.google.com/open?id=106Rwq-bZHUK9_ljXIe4W9_jh0I...
https://drive.google.com/open?id=1gilVTVFlsCNZdr15HNM0ZS0JM9...

By niek

Expert (112)

niek's picture

17-03-2020, 14:01

Compliments for your amazing work. Cool

By Manel46

Paladin (674)

Manel46's picture

17-03-2020, 15:05

ppeccin wrote:

Next? Smile

Put this on hold, for now, friend. I am preparing roms for testing in B4, B5 and B6. To have all this clearer.
It would be good to contact via email.

By ppeccin

Champion (376)

ppeccin's picture

17-03-2020, 16:51

By ppeccin

Champion (376)

ppeccin's picture

17-03-2020, 18:49

Manel46 wrote:

Curiously, the screen comes out horizontally elongated.

What you mean?
Are you sure this ROM is in B6 mode?

I have run it, and it seems to be in B5 mode instead.
B5 mode is 640x400. Its a different aspect, so the WebMSX screen adapts to the resolution. It does not "stretch" the 400 lines, but decraeses the screen height, and increases the width to accomodate the 640 cols.
This is expected.
Not the bugs on the image, of course.

By Manel46

Paladin (674)

Manel46's picture

17-03-2020, 19:50

ppeccin wrote:

B5 mode is 640x400. Its a different aspect, so the WebMSX screen adapts to the resolution.

This is great!
Theoretically B6. But yes, the image is cropped vertically. Also, this does not work in real HW. Could it be because of the monitor?
I will continue testing. I have not yet tried B5 mode.
In B4 mode (768x480), no problem, emulation is perfect. The total image is 1024 wide, but we only see 768 pixels, of course.

By ppeccin

Champion (376)

ppeccin's picture

17-03-2020, 19:36

Please verify your ROM.
On WebMSX it enters in B5 mode. Can be a bug on WebMSX mode computation, or a bug in your ROM. It will help be solve if we can be sure.

On real hardware it does not work because modes B5/B6 need a different clock crystal, but all current boards do not support it.

By Manel46

Paladin (674)

Manel46's picture

17-03-2020, 19:56

ppeccin wrote:

On real hardware it does not work because modes B5/B6 need a different clock crystal, but all current boards do not support it.

I get it.
As I said I am going to test B5 / B6 thoroughly. I'll keep you posted.

By Manuel

Ascended (19470)

Manuel's picture

17-03-2020, 20:37

Really amazing work, ppeccin!!

By edoz

Prophet (2482)

edoz's picture

18-03-2020, 21:24

This is so insane cool emulator! Love to test it soon with SymbOS v9990 Wink hope have time soon.. currently to busy to test Sad

By ppeccin

Champion (376)

ppeccin's picture

27-03-2020, 19:11

Guys, just released v6.0.3, with several fixes for the V9990 Video extension.
Including full support for B5/B6 highscan modes, up to 16bit colors! Cool

Many thanks to Manel46 for the testing ROMs.

Paulo

By tfh

Prophet (3347)

tfh's picture

27-03-2020, 19:07

That looks pretty neat! Anyway... Updated!

By Manel46

Paladin (674)

Manel46's picture

27-03-2020, 19:57

It has been a pleasure. To dispose ...

By Manuel

Ascended (19470)

Manuel's picture

27-03-2020, 21:03

Any thing found we should also fix in openMSX? Having a solution to the same bug in another emulator helps a lot Smile

By Manel46

Paladin (674)

Manel46's picture

27-03-2020, 22:00

Open MSX does not emulate B5 / B6. These modes don't work in real HW, but I can send you roms test. In agreement?

By Manuel

Ascended (19470)

Manuel's picture

28-03-2020, 23:02

Yeah, thanks for the test. We have no plans to implement modes that do not work on the real hardware at the moment, because it may only cause confusion for developers and there will be no existing MSX software that will make use of them anyway. So we save ourselves the trouble Smile

By Manel46

Paladin (674)

Manel46's picture

29-03-2020, 00:30

I understand. Smile
In the V9990 manual, B5 and B6 appear, with the quality 4 bits / pixel.
But I haven't said anything. You asked. Smile

By Manuel

Ascended (19470)

Manuel's picture

30-03-2020, 00:23

I was probably not clear. What I meant is: if there's something wrongly emulated in openMSX (that means: the same software shows a different effect on the real hardware than on openMSX), I'm very interested to know about it.

By Manel46

Paladin (674)

Manel46's picture

30-03-2020, 01:10

Agree. Count on it.

By SjaaQ

Champion (375)

SjaaQ's picture

29-04-2020, 15:28

@ppeccin: How can I support touch screen devices for WebMSX? Do I need to implement a drive for the graphical tables? https://www.msx.org/wiki/Category:Touchpads

I have mouse support but it does not seem to translate to WebMSX somehow.

By ren

Paragon (1934)

ren's picture

29-04-2020, 16:40

(piggybacking on your bump here if you don't mind.. @Paulo: if you like check this post (for lack of a central WebMSX topic (the 6.0 thread got removed) I posted it there.) (Btw: default solution now uses an iframed method, but you can still enable the old way & check out the audio bug if you like :))

By jalu

Master (158)

jalu's picture

22-05-2020, 18:32

There’s a nasty bug when using an MFI or a Dual Shock controller on an iOS device: press up on the controller, and WebMSX registers it as ‘down’ and the other way around. Makes playing games with an external controller on an iPad or iPhone very hard...

By exgaruda

Supporter (2)

exgaruda's picture

25-01-2022, 03:48

WebMSX cannot access dsk and rom files in storage on iPad.
Please add a permission request function so that WebMSX can access files in the storage on iPadOS15.

By piroyan

Guardian (156)

piroyan's picture

25-01-2022, 09:09

For some reason, WebMSX on the iPad can read .DSK and .ROM files when they are compressed with ZIP.
I thought that was how it worked…

By exgaruda

Supporter (2)

exgaruda's picture

25-01-2022, 14:11

Oh, my… you’re my savior.
Thx for your kindness.
May the force be with you.

By piroyan

Guardian (156)

piroyan's picture

25-01-2022, 15:01

I'm glad I could be of help. Big smile
On a side note, the virtual pad controls are terrible on the iPad, so I would recommend connecting a Bluetooth controller such as an Xbox. Smile

By Wlcracks

Hero (566)

Wlcracks's picture

25-01-2022, 17:19

All OPL4 wavetable ADSR and LFO registers seem to be ignored in WebMSX V6.0.3. Would be awesome if this gets a fix before we MSXdev 2022.
OpenMSX LFO registers work, but to my ears the timing and value still bit off to the real OPl4. I am still thinking about a way to proof this.

By Manuel

Ascended (19470)

Manuel's picture

25-01-2022, 22:11

Easiest way is to record a VGM of a clear short example in openMSX and play it on real MSX and record that (using VGMPLAY). Then we can easily reproduce this in openMSX and also in other implementations of the emulation.