meisei 1.3

by wolf_ on 28-05-2009, 23:34
Topic: Emulation
Languages:

A new version of hap's meisei has been released. This relatively new emulator (less than two years old) focuses exclusively on MSX1. It's perhaps best known for its unusual features, enabling the user to toy with sound and graphics, on the fly. New in this version:

  • VDP: corrected vblank interrupt timing, it was 1 scanline too early
  • VDP: improved render timing, updating the surface at the start of hblank instead of at the start of the active scanline
  • VDP: fixed screen 0 text colour 0 always being black
  • VDP: corrected interrupt request/acknowledge timing due to a small delay between that and accessing a VDP register
  • VDP: added vblank interrupt/flag suppression quirk when reading the status register at the same time the vblank bit gets set
  • VDP: added Toshiba T6950/T7937A model
  • VDP: fixed a few small bugs with mode 3 sprite cloning
  • VDP: fixed screen 0 border size
  • VDP: corrected emulation of bogus mode 1+2(+3)
  • Z80: if ld a,i/r is interrupted, the p/v flag is reset
  • Z80: made trace logger more user friendly, it's disabled by default
  • mappers: fixed Irem TAM-S1 (R-Type) mapper range
  • mappers: added ROM mirroring quirk to Konami types
  • mappers: common MegaROMs are autodected by finding mapper register writes, inspired from Marat's fMSX
  • mappers: removed Zemina ZMB type, no dumps exist in order to test it
  • mappers: added optional extra settings per type, instead of all mapper types being identified and auto-configured with a single id
  • mappers: Konami Sound Cartridge can now be configured as Snatcher/SD Snatcher type, or a modified board with 128KB RAM
  • mappers: merged simple no-mapper types into a single one, and made the page layout configurable, it's even possible to create a hybrid ROM/RAM board
  • mappers: rewrote ASCII MegaROM emulation, with support for about 30 official boards, and any custom configuration
  • mappers: added Al-Alamiah Al-Qur'an type properly (protected/encrypted)
  • internal RAM size and primary slot can now be configured
  • added: lumi noise simulation
  • added: a firmware downloader, for indirectly obtaining essentials, such as BIOS files, this will also check for meisei updates

Furthermore, to enrich the ASCII MegaROM emulation, you can help hap out if you have any of these cartridges.

Relevant link: meisei

Comments (26)

By muffie

Paladin (933)

muffie's picture

29-05-2009, 05:19

Attention: Meisei 1.3 will only be available to the 25 first users that came to the 35th RU Barcelona meeting...

Smile

By Vampier

Prophet (2412)

Vampier's picture

29-05-2009, 07:41

Newsflash: Microsoft has sued the Meisei author for copyright breach! Tongue

In other news:Marat Fayzullin has upped the price to $44,99 for fMSX

Stay tuned!

Nice release MK Wink

By muffie

Paladin (933)

muffie's picture

29-05-2009, 15:17

hap's negotiating with M$ now, and Meisei will be included on w7 Ultimate...

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 17:02

Cool, Did microsoft release any games for MSX or only system roms?

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 17:08

Good news btw. Nice enhancements.

A question about the fix for the interrupt timing. Does this mean meisei runs the Utopia fullscreen interlaced pictures correctly now? If it does it is the first emu to do so.

blueMSX runs that part fine btw, but I'm cheating a bit. There is a blueMSX detection code in the demo that patches the demo to think it runs that part on an MSX2 which runs correctly in both openMSX and blueMSX. I didn't try to find a patch for openMSX though, so if you run the demo in openMSX on an MSX1 you'll see what I mean (unless it got fixed very recently)

By hap

Paragon (2042)

hap's picture

29-05-2009, 17:12

mufster was talking out if his arse.
Hmm, I don't think Microsoft even released any games in the 80s.

Does this mean meisei runs the Utopia fullscreen interlaced pictures correctly now? If it does it is the first emu to do so.No clue, try it. Smile It's still a scanline renderer, so mid-scanline changes won't be visible.

There is a blueMSX detection code in the demo [...] you got me interested, tell more, how does it detect blueMSX? =)

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 17:25

Hehe... I can tell you, but its probably not good to write it here. Then all new games won't run on the emu.

I did btw make an openMSX detection for Lotus F3, to allow us to reject any highscores submitted by emu players. So far we've allowed all highscores, but we wanted to have an option to reject them if we saw too much cheating.

By hap

Paragon (2042)

hap's picture

29-05-2009, 17:41

Nah, keep it secret, more fun that way. Tongue

http://www.bluemsx.com/dvik-joyrex/lotusf3/m_scores.php
^who used an emu according to the submitted data?

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 18:44

Probably QuibusAndopenMSX. I can check the others.

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 18:57

On track Buena Vista, Chinuchanu used a real MSX.
On track Essington GP, Chinuchanu, Nikki, Nigel, Nathalie, Charlene and Bas used a real MSX

By Manuel

Ascended (19462)

Manuel's picture

29-05-2009, 19:02

dvik: wasn't that problem also occurring on my real MSX2? Also, there were other artifacts there (the "wobbly" stuff we talked about).

I do wonder how you detect openMSX Tongue (Well, it's not that hard, turbor also made an emu detector which also still works on all emus, but it needs MSX2!)

Also, I wonder which of those new features need to be ported to openMSX Smile (Except for those mappers.)

By hap

Paragon (2042)

hap's picture

29-05-2009, 19:02

That's pretty interesting in the sense that it shows MSX gaming is popular with the help of emulation. Then again, not many people own a Mega Flash ROM SCC.

*edit* is EAERZRXRXS an emu? Tongue (meisei 1.3)

By muffie

Paladin (933)

muffie's picture

29-05-2009, 19:25

@dvik: When BlueMSX debugger will be able to set watchpoints (on memory, ports and etc...)?
@manuel: When OpenMSX debugger will work with Windows 7?
@hap: When we'll have MSX2/2+/TR emulation?

No good debuggers on real msx! Smile

By hap

Paragon (2042)

hap's picture

29-05-2009, 19:36

wait until someone else releases "redmeisei" with all those features

By Manuel

Ascended (19462)

Manuel's picture

29-05-2009, 19:52

Muffie: openMSX 0.7.1 works fine on Windows 7. I tried Smile (And even built it on Windows 7.) You can already try the binaries mentioned here to check this statement: http://www.msx.org/forumtopicl9507.html
AFAIK, the debugger works also on it, but I haven't tried that yet. Check with this link: http://openmsx.sf.net/temp/openmsx-debugger-0.7.1-dev9782-VC-x86.zip and Qt-4.4.3-x86.zip for the necessary libs.

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 20:05

dvik: wasn't that problem also occurring on my real MSX2? Also, there were other artifacts there (the "wobbly" stuff we talked about).

Yeah, I don't remember exactly what it was, but I believe it was on that same part, right? On the MSX2 it looked like the VDP lost sync pretty bad, probably a hardware issue. The part is swtiching between screen 0, 2, and 3 every frame and updates table pointers a lot.

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 20:06

@muffie: the bluemsx debugger support manual watch points on registers and io ports. Just single step through your code and watch the register windows Wink

By Manuel

Ascended (19462)

Manuel's picture

29-05-2009, 21:20

@dvik: yes, it was this part. Anyway, if it doesn't work stable on a real machine, maybe we should not expect to get this emulated properly... apparently we're in a grey area of the hardware then...

@muffie: I just tried the debugger on Windows 7, and it runs fine Smile

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 21:30

@dvik: yes, it was this part. Anyway, if it doesn't work stable on a real machine, maybe we should not expect to get this emulated properly... apparently we're in a grey area of the hardware then...

Its emulated ok on MSX2 (both blueMSX and openMSX), but since it doesn't run stable on real MSX2 hardware we disabled the part if running MSX2.

The part works very well on MSX1 though, so the MSX1 part of the emulation should be fixed. The same MSX1 bug btw, can also be shown in all dvik&joyrex demos that does border effects, e.g. the bars in the intro of MSX Unleashed, and the border scroller in the same demo. I don't remember, but it may even be visible in the Sudoku game.

The problem here is that the VBLANK interrupt is fired about 0.95 scanlines too late (or early) on MSX1 emulation (essentially using MSX2 interrupt timing).

By dvik

Prophet (2200)

dvik's picture

29-05-2009, 21:32

I did attempt to fix this in one blueMSX release (2.7 or something), but there were side effects that broke other things, so I reverted the fix in the release after.

By muffie

Paladin (933)

muffie's picture

29-05-2009, 23:05

@manuel: openmsx 0.7.0 was running ok on W7, the problem was just on the debugger. It was not being able to connect to the openmsx session.
I forgot to mention that I'm using the 64bit version. I'll test again as soon as I'm back at home.

By Manuel

Ascended (19462)

Manuel's picture

29-05-2009, 23:15

muffie: I'm also using the 64 bit version (so, works fine).

By Yukio

Paragon (1540)

Yukio's picture

30-05-2009, 12:54

Hmm, I don't think Microsoft even released any games in the 80s.

Microsoft Filght Simulator.
But we need to check for MSX Personal Computers, not IBM-PC XT.

By hap

Paragon (2042)

hap's picture

30-05-2009, 13:01

Ah yes, forgot about that game.

regarding emulator detection discussion, followup is here

By muffie

Paladin (933)

muffie's picture

01-06-2009, 19:48

hap, is it possible to add disk support to Meisei?
I tried to use one of the Brazilian disk interfaces that we used to place on the second slot, but the emulator freezes.

I used this one: http://www.msxpro.com/hardware/roms/ddx30c.zip

Check this page for more: http://www.msxpro.com/roms.html

By hap

Paragon (2042)

hap's picture

01-06-2009, 20:12

Disks are currently only supported via Vincent's DSK2ROM: in meisei, do help -> get updates, then insert a .dsk file into one of the cartridge slots as if it was a diskdrive.

I'll add real disk emulation later.