meisei 1.0

by snout on 20-08-2007, 17:52
Topic: Emulation
Languages:

Source: MSX Forum

Today hap has released the first version of meisei, a new MSX emulator for Windows. The emulator is very light: the total download includes the game Universe: Unknown and C-BIOS and is still only 268kB. In return you get an MSX1 emulator (indeed, no MSX2 or higher emulated) with several interesting capabilities such as:

  • Very accurate Z80 and PSG emulation
  • Scanline-accurate VDP emulation
  • Support for most known ROM mappers
  • Keyboard, joystick and Arkanoid pad emulation
  • Direct3D or DirectDraw can both be used as renderers
  • NTSC simulation (composite/s-video/mono)
  • Change from to PAL to NTSC (and back) without resetting emulated MSX
  • Configurable pallette settings (hue, saturation, gamma, contrast, brightness, tv decoder r-y/g-y/b-y/gain) customizable, external palettes and palette editor
  • Auto IPS patching for games
  • CPU under/overclocking
  • Netplay through Kaillera, for LAN or internet
  • Speed-up with sound pitch changing
  • Realtime reverse (emulation will reverse, with reversed audio, allowing you to correct mistakes or watch an instant replay)
  • Save states
  • Movie recording and playback, which - in combination with reverse/frame-by-frame - can be used to create perfect playback or speedruns
  • D3D mirror mode, with left/right input auto switched

Several of these features, such as netplay and the realtime reverse, are interesting additions for an MSX emulator. More information, screen shots and source code are available on hap's website.

Relevant link: meisei website

Comments (62)

By wolf_

Ambassador_ (9778)

wolf_'s picture

20-08-2007, 18:44

flying skulls and red statues FTW! Running Naked in a Field of Flowers

By Edwin

Paragon (1182)

Edwin's picture

20-08-2007, 19:18

UU is going the wrong way! Blasphemy! Tongue

By Vampier

Prophet (2297)

Vampier's picture

20-08-2007, 19:20

cool Smile I would advice using the rom database from either bluemsx or openmsx as an optional rom identification tool Tongue

This emu rocks for gamers!

By Huey

Prophet (2644)

Huey's picture

20-08-2007, 20:03

Wonderfull!!!!
Love the mirror and the reverse options!!!!!

Great for debugging/studying NPC behaviour.

By karloch

Prophet (2067)

karloch's picture

20-08-2007, 20:13

Netplay through Kaillera??? Yaw!! I have been waiting for this since several years ago!

By snout

Ascended (15187)

snout's picture

20-08-2007, 20:32

Yaiks, the 'ran x times' thingy in the about window might get a tad embarrassing in time ^_^. I like the emu a lot, it's light, to the point, configurable where it should be and... well... ads quite a few interesting 'first' features for an MSX emu. Well done! Hannibal

By ro

Guardian (4125)

ro's picture

20-08-2007, 20:44

Funny, the SPEEDUP (F12) works also in combination of REVERSE (F11), fast rewind selecta!
Must say, looks impressive. Nice features, especially the "paste text" (which I haven't tested yet but looks promising).

By wolf_

Ambassador_ (9778)

wolf_'s picture

20-08-2007, 20:46

The mirror thing is funny, but was it really made just for U:U? I can't imagine any other situation in which it could be useful. In a way, it's not even useful in UU, but the right-left joke has been a subject of some discussion. Tongue

The hueshift is also funny.

The pause key code needs some tweaking as it doesn't always work.. (gadget focus lost?)

By dvik

Prophet (2200)

dvik's picture

20-08-2007, 20:49

Haven't had a chance to try it yet but it sounds very good. The rewind feature is something that several people have asked for in blueMSX and its nice finally see an msx emu that has it.

And with mirroring I can finally play UU Big smile

By wolf_

Ambassador_ (9778)

wolf_'s picture

20-08-2007, 20:54

U:U was made for 50Hz, music/playability-wise, so choose PAL, ppl! 60Hz is kinda terror :S

By hap

Paragon (2021)

hap's picture

20-08-2007, 20:54

thanks Smile

I would advice using the rom database from either bluemsx or openmsx as an optional rom identification tool
Maybe later.

Nice features, especially the "paste text" (which I haven't tested yet but looks promising).
The "paste text" feature is inspired from Sean Young's VirtualMSX, so it's basically a 10 year old concept for MSX emus Tongue openMSX can do it too.

The pause key code needs some tweaking as it doesn't always work.. (gadget focus lost?)
It seems DirectInput doesn't work well with the pause key, works for me though. You could change it to another key in meisei.ini.

The rewind feature is something that several people have asked for in blueMSX
I suggested it on your forum a year or so ago Wink and remember you and mars2000 liked the idea a lot.

*edit* oh, and the mirror thing was suggested by a friend of mine, who actually did have UU in mind. It's fun on a lot of games though, and not complicated to implement (in my case about 3 lines of code).

By Samor

Paragon (2030)

Samor's picture

20-08-2007, 22:59

Mirror mode's kind of handy on Athletic Land, and a bit on Kungfu 2.
Perhaps also for Konami's Soccer, and you have the "backhand edition" of Konami Tennis Tongue

By rolins

Champion (418)

rolins's picture

21-08-2007, 08:31

I love that netplay here and that reverse function is the coolest thing I've seen. Big smile

By cesco

Champion (453)

cesco's picture

21-08-2007, 09:44

HINT: Put it on a cheap USB Flash drive and play MSX games at work while your boss isn't spying on you Big smile
( I did it with BlueMSX and a 1Gb flash drive and it's very funny ^__^ )

By viejo_archivero

Paragon (1372)

viejo_archivero's picture

21-08-2007, 13:28

Great and simple emulator, simply nice for MSX1 gamers. Congrats, hap!

By yakumo

Expert (74)

yakumo's picture

21-08-2007, 20:38

Can anybody tell me what is the U:U? and UU meaning?

By wolf_

Ambassador_ (9778)

wolf_'s picture

21-08-2007, 20:42

U:U and UU are the same, both stand voor 'Universe: Unknown', the game that comes with this emu. Officially the abbreviation should be U:U, but due lazyness usually UU is used.

By Edwin

Paragon (1182)

Edwin's picture

21-08-2007, 22:45

There is an official abbreviation?

By Atheus

Expert (73)

Atheus's picture

22-08-2007, 10:15

HINT: Put it on a cheap USB Flash drive and play MSX games at work while your boss isn't spying on you
( I did it with BlueMSX and a 1Gb flash drive and it's very funny ^__^ )

It's exactly what I did Yesterday !!!
Be paid for playing at office ?! Great !

By dvik

Prophet (2200)

dvik's picture

22-08-2007, 20:02

A suggestion for the arkanoid pad emulation. Perhaps you could add an option to hide the mouse and also set the mouse caputre to the emu window so you don't loose focus if you click outside the emu window.

By hap

Paragon (2021)

hap's picture

22-08-2007, 20:17

I like the suggestion.
My personal preference is mapping the Arkanoid dial to my joypad analog thumbstick.

By dvik

Prophet (2200)

dvik's picture

22-08-2007, 20:20

My personal preference is mapping the Arkanoid dial to my joypad analog thumbstick.
That sounds like a nice option indeed. A bit more like the real pad I imagine.

By hap

Paragon (2021)

hap's picture

22-08-2007, 20:25

It's more like a volume knob. It'd be interesting being able to control Arkanoid with one of the knobs on my MIDI keyboard Tongue Doesn't blueMSX have built-in support for MIDI keyboards? Might be funny to add support for the Arkanoid dial with it.

By dvik

Prophet (2200)

dvik's picture

22-08-2007, 20:46

That would be quite interesting indeed. Currently the midi part is not tied to the joystick/kbd part but I don't think its that hard to do. I was initially thinking of doing mouse only for the arkanoid controller but both analog joystick and midi sounds like good alternatives.

By dvik

Prophet (2200)

dvik's picture

22-08-2007, 22:59

Another suggestion: Please increase the maximum allowed speed to more than 400%

By hap

Paragon (2021)

hap's picture

22-08-2007, 23:58

Ok, up to 9999% now. Starts struggling beyond 250 MHz for me though Tongue

By ASK

Expert (66)

ASK's picture

23-08-2007, 08:14

Interesting lite emulator.

Are you going to implement disk and tape image emulation?

By ro

Guardian (4125)

ro's picture

23-08-2007, 08:28

The problem with integrating more and more neat options is, as a result, it won't be a lite emu anymore...

By wolf_

Ambassador_ (9778)

wolf_'s picture

23-08-2007, 10:52

There's lite considering disksize/memsize, and there's lite considering operation/GUI. I'd say the latter is a matter of design. It could house all MSX types, and if the functional design / GUI is done well it won't have to look bloated.

By hap

Paragon (2021)

hap's picture

23-08-2007, 12:26

Yes, tape and disk support are planned (tape higher priority than disk, since meisei already got built-in read-only disk support with Vincent's DSK2ROM). They'd be included in a new tab in file->media, wouldn't look bloated.. code/exe size increase wouldn't be much either I guess.

By ASK

Expert (66)

ASK's picture

23-08-2007, 12:55

Yes, tape and disk support are planned

Good news

By Manuel

Ascended (15842)

Manuel's picture

23-08-2007, 16:00

Most MSX emulators are not very big/bloated compared to other software Tongue

By dvik

Prophet (2200)

dvik's picture

23-08-2007, 17:53

I would say that only two MSX emus are somewhat bloated. I'm quite sure that no emu user cares about an emu having for example four different floppy drives emulated. I'm sure that a patched bios is good enough for most use cases. Also no user cares about having each machine emulated. One boosted MSX, MSX2, and TR is enough. But from a development point of view it is of course fun (at least to me) to support as much MSX hardware as possible.

I think its possible to make the user interface neat and slim even with a lot of features though. blueMSX has more or less just added features over the last five or so releases without thinking too much about the user interface which imo has made it a bit too complicated. There are quite easy things that we can do to clean it up and I hope we gan get to that at some point. But the more features you support, the more options the user needs to deal with....

By wolf_

Ambassador_ (9778)

wolf_'s picture

23-08-2007, 18:10

dvik: there was a time when I used bluemsx, but the last year orso I moved towards openmsx, and when incidentally I need to use bluemsx -for savestates- I actually find it harder to use than openmsx. It's a cpu-eater, and when my system is low on resources bluemsx has the power to completely mess up some gfx of my OS here (98se Tongue). It's just *too* heavy, and I'm not exactly sure whether I like that whole machine editor.

my issues with the major emulators:
nlmsx: outdated, and not complete
bluemsx: too heavy
openmsx: "the system roms", and things could be presented towards the user in a more clear/clean/userfriendly way

Others I don't really have experience with. This new emu here might be funny for bughunting due that reverse function (to see how to reproduce a bug)

All together, I think openmsx has the best chances still.

By Samor

Paragon (2030)

Samor's picture

23-08-2007, 19:08

I don't think BlueMSX is too heavy ( wolf_, if you're still in win98... maybe time for an upgrade? Running Naked in a Field of Flowers ), and the advanced options are kind of hidden away,
but there's some sloppyness here and there like misaligned volume knobs and a certain sound buffer problem (that was however, partly fixed). D3D support (Meisei has this) would also be kinda nice, since Vista doesn't properly support directdraw anymore.

By dvik

Prophet (2200)

dvik's picture

23-08-2007, 19:26

D3D would be very nice indeed. In fact I was just looking at Meisei's D3D implementation right now. One feature I like a lot with blueMSX (that probably noone noticed) is the frequency interpolation of video frames so that the differences in MSX and PC frame rates are smoothened out. This is currently done in the CPU but with D3D it would be very easy to do this on the video card instead.

In Meisei a framerate filter would be very easy to add and wouldn't slow down the emu at all, just blit from the tms into a memory buffer on the video card, then mix the two latest frames into the back buffer and then flip. The percentage is calculated based on current scanline or some other metric (Think bluemsx uses something else but I don't remember).

By wolf_

Ambassador_ (9778)

wolf_'s picture

23-08-2007, 19:53

Samor: XP on my music PC, win98 on my sloppy/trash PC.. Tongue But in this particular case all my emulators run on the sloppy PC, so the cpu bloat still stands.

By arnold_m

Master (173)

arnold_m's picture

23-08-2007, 20:05

Reversed sound, that really calls for a demo using backward masking to send out "subliminal messages".

By anonymous

incognito ergo sum (109)

anonymous's picture

23-08-2007, 20:08

in terms of binary it isn't all that big. While Meisei is zipped only about 400kb, openMSX is about 1.8MB (Debian binary) + 925kB (Debian data) or 3.6MB (universal binary package for OS X) or 5.9MB (full installer with Catapult for Win32) and the blueMSX minimal download about 8MB. Compare this to other software Tongue A few MB for a piece of software that can do this much is not much.

But still, 400kB *is* small Tongue

By Samor

Paragon (2030)

Samor's picture

23-08-2007, 20:59

"D3D would be very nice indeed. In fact I was just looking at Meisei's D3D implementation right now. One feature I like a lot with blueMSX (that probably noone noticed) is the frequency interpolation of video frames so that the differences in MSX and PC frame rates are smoothened out. This is currently done in the CPU but with D3D it would be very easy to do this on the video card instead."

You mean (a)Sync to PC vblank? I like it, because I can boot the MSX in 50hz, and it will still appear smooth. I don't think I've seen any other emulator use such a thing. The only disadvantage of the method is that in some cases it causes flicker, but the advantages are better, because it doesn't matter at which refresh rate a monitor is running. It's often a problem to get the emulator experience on a PC as smooth as a real machine, and this method gets around that problem really nicely.

By hap

Paragon (2021)

hap's picture

24-08-2007, 00:58

In Meisei a framerate filter would be very easy to add and wouldn't slow down the emu at allYeah, just blend 2 textures in hardware. A few months ago I thought about adding it to my NES emu (idea inspired from blueMSX actually, so I knew of the feature too Wink ), but decided against it. Adding this to an MSX1 emu is probably not too useful: hardly anything scrolls, and if it does it's usually slow or 8 pixels a time.

As for other MSX emus being big, that's mostly due to ROMs and databases, helps with newbies userfriendliness. But come on, who cares about filesize in 2007?Tongue (on PC I mean)

By Vincent van Dam

Hero (513)

Vincent van Dam's picture

26-08-2007, 21:24

Cool emulator! Also very cool to see a dsk2rom integration!
(thanks for the props with the mapper label for it Wink )

By ASK

Expert (66)

ASK's picture

30-08-2007, 08:15

There is a error in w98. The program call to a library and not run.

Is it necessary to install any library?

It would be interesting a specific version as other emulator.

By hap

Paragon (2021)

hap's picture

30-08-2007, 12:30

Which library is it trying to call? If it's DirectX related (d3d9*.dll), get the latest Win'98 supported DirectX9, I think from mid 2006.

By ASK

Expert (66)

ASK's picture

30-08-2007, 13:29

Yes, that is the error message library.

Then, the win98 users have to set up the new DirectX, ok.

The emulator could have some graphic option and not to have to setup nothing.

By hap

Paragon (2021)

hap's picture

30-08-2007, 18:40

Ok, I'll look into it and will post a test build here later.
(please don't upgrade to DirectX9 yet)

By hap

Paragon (2021)

hap's picture

30-08-2007, 21:04

By ASK

Expert (66)

ASK's picture

31-08-2007, 07:29

I will test as soon as possible and I will comment.

By ASK

Expert (66)

ASK's picture

03-09-2007, 08:32

To run the emulator update for win98 show a new error message.


This program has made a not admitted operation and it will be interrupted.

MEISEI executed a non valid instruction in the one
module MEISEI.EXE of 0167:0041d945.

Registers:
EAX=00008080 CS=0167 EIP=0041d945 EFLGS=00010202
EBX=00000000 SS=016f ESP=007ecc60 EBP=007efdf8
ECX=007eccb0 DS=016f ESI=007efd10 FS=321f
EDX=80808080 ES=016f EDI=00000006 GS=0000
Bytes in CS:EIP:
,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x ,02x
Stack:
,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x ,08x

The emulator continues without working in win98.

By hap

Paragon (2021)

hap's picture

03-09-2007, 11:38

Thanks for testing it out. Hmm, I assume the D3D9 problem's fixed (works fine on Win '98 with Microsoft Virtual PC). What CPU have you got? meisei will probably fail on anything less than an AMD Duron/Athlon, or Intel P2/Celeron. So if you've got an old AMD K6-2 or Pentium MMX, you're out of luck.

By ASK

Expert (66)

ASK's picture

03-09-2007, 13:03

Yes, the emulator is tested in that computers, in others cpu there is not problem.

If the problems is the cpu or another thing, if would be interesting a specific version, operating system or cpu, as other emulator.

By hap

Paragon (2021)

hap's picture

03-09-2007, 13:35

Sorry, I won't support old CPUs. It wouldn't be useful anyway: I estimate meisei will be too slow to be enjoyable on anything under 700MHz since it prioritizes accuracy over speed.

By ASK

Expert (66)

ASK's picture

03-09-2007, 16:30

Ok, but I don't understand this. There is another emulator that they work fine, and this emulator, which is a lite version, need so much peformance, hardware and software.

Optional versions would be interesting.

By hap

Paragon (2021)

hap's picture

03-09-2007, 17:02

meisei is light in the sense that it only emulates MSX1, compact GUI, small filesize, and doesn't come with lots of options. That doesn't have to mean it needs to be fast like NO$MSX or BrMSX.

I'm not going to make an optional version that sacrifices accuracy in favour of speed. The source code is available, feel free to make your own fastmeisei Smile

By YipsTipsTups

Supporter (1)

YipsTipsTups's picture

03-09-2007, 17:39

Very good emulator.

I had a lot of fun playing the goonies again. Wink

By ASK

Expert (66)

ASK's picture

03-09-2007, 17:41

The source code is available, feel free to make your own fastmeisei

It is another option to do a full compatible emulator with all the system operating and cpu computers.

By hap

Paragon (2021)

hap's picture

03-09-2007, 18:19

Yes, so many options at your exposal, have fun coding. You're being a bit annoying, similar to the "MRC MEGA Challenge shifts to 25th anniversary" thread you kept repeating yourself in. I won't argue with you whether or not optional versions of meisei would be interesting to see Running Naked in a Field of Flowers <-- that's me running away from this thread, naked ;p

By ASK

Expert (66)

ASK's picture

03-09-2007, 18:52

Inappropriate comparison.
Not comment.

By Samor

Paragon (2030)

Samor's picture

03-09-2007, 20:21

I think you keep repeating yourself.

Another option is you could not say the same thing twice.

Perhaps it would be clear when something was said once.

It might not be appropriate to keep on talking about the same thing.

By Sama

Ambassador (2061)

Sama's picture

03-09-2007, 23:44

Ofcourse we have freedom of speech, as MRC is a community website, but luckily we also have the freedom to ignore when we feel like it Cool

By ASK

Expert (66)

ASK's picture

04-09-2007, 08:28

You are not going to say to me as I have to say the things.
But your opinion you can apply it to you itself, not repeat.

By wolf_

Ambassador_ (9778)

wolf_'s picture

04-09-2007, 12:23

QuestionoO