NestorMSX, a MSX emulator as simple as it can be

NestorMSX, a MSX emulator as simple as it can be

van konamiman op 13-01-2015, 21:58
Onderwerp: Emulation

There's a new member in the MSX emulators family: NestorMSX. Developed by (you guessed it) Konamiman, it is an extremely simple and barebones emulator.

NestorMSX emulates a MSX1 with 64K RAM, but in text mode only (SCREEN 0 and SCREEN 1 without sprites) and without support for sound, cassette interface, joystick or printer ports, or any other kind of hardware. Clearly, with all these limitations it is not intended to be a general purpose emulator; it is rather a demonstration of how to use the Z80.NET library to create computer emulators.

Nevertheless, it has a couple of unique features not seen before in other emulators (see comments): direct access to the host filesystem (so you can do SAVE "c:\users\myself\My Documents\My wonderful program.bas" from the BASIC interpreter, for example), and Copy/Paste support (so you can get a text hardcopy of the screen, and paste text in the emulated MSX keyboard buffer). So it can be marginally useful to play around with MSX-BASIC (in MSX1 and in text mode only, remember!)

If you want to try it out, all you need is a machine with the .NET Framework 4 installed. If you just want to take a look at the source code, you can download the Mercurial repository from BitBucket or just browse the project site.

Relevant link: NestorMSX download
Relevant link: NestorMSX README file

Reacties (18)

Van mars2000you

Enlighted (6442)

afbeelding van mars2000you

13-01-2015, 23:08

Amazing! Tip: if you have problems to type some characters, use a MSX1 rom that is very close to your PC keyboard. For example, if you have a French AZERTY keyboard, best option is the MSXFR.rom that you can find in the Machines/Shared Roms subdirectory of blueMSX.

Van Vampier

Prophet (2409)

afbeelding van Vampier

14-01-2015, 21:00


Van slowerisbetter

Master (194)

afbeelding van slowerisbetter

14-01-2015, 22:15

Do you accept pull requests for this? I always wonder why people are makings things Windows only in 2015, especially when writing in C#. This seems to work fine on Linux / Mac OS X Mono if you would use cross platform paths, so in it's current form it does not work and uses hardcoded \ paths instead of cross platform .NET path references which will figure out the platform ( which is \ for Windows and / for all other platforms).

Van Grauw

Ascended (10716)

afbeelding van Grauw

14-01-2015, 23:17

Very very cool.

Van konamiman

Paragon (1194)

afbeelding van konamiman

15-01-2015, 10:03

@slowerisbetter Hardcoded paths? Where?? The only one is in Program.cs (the BasePathInDevelopmentEnvironment constant), and it's just a nasty hack to beautify unexpected exception dumps (this path is never actually accessed and of course there's no problem if it does not exist). All other filenames and paths are in the configuration file... unless I missed something!

Accepting pull requests? Why not if you have an useful contribution to do Smile

Van slowerisbetter

Master (194)

afbeelding van slowerisbetter

15-01-2015, 10:08

Van konamiman

Paragon (1194)

afbeelding van konamiman

15-01-2015, 10:16

@slowerisbetter Of course. That's why in the Readme file I say that you must review the configuration file and tweak it as appropriate. Smile

But it's my fault. I did not include the readme file as part of the download. It's in the project site:

Van konamiman

Paragon (1194)

afbeelding van konamiman

15-01-2015, 10:35

@slowerisbetter You are right. Had I used normal slashes instead of backslashes in the configuration file, it would have still worked in Windows, but also in Linux / Mono (theoretically at least) out of the box.

But it's never too late. I have just updated the source and the downloadable binaries. Thanks for the hint! Smile

Van gdx

Enlighted (6116)

afbeelding van gdx

15-01-2015, 14:22

CocoaMSX supports also the pasting text directly into MSX but it doesn't work correctly. The host filesystem option also is already in file Menu but doesn't work at all.

Van sd_snatcher

Prophet (3646)

afbeelding van sd_snatcher

15-01-2015, 21:29

This copy/paste feature is an awesome idea! I wish openMSX had something like this too.

Van Manuel

Ascended (19320)

afbeelding van Manuel

15-01-2015, 22:19

Yeah, it was a very long wish to implement it from myself, but there was (at least at the time) no cross-platform way to access 'the clipboard buffer' as far as I could find back then. So the Catapult 'type' option was created and later the type_from_file command to compensate. Good enough for myself, I must say.

See :)

Van SLotman

Paragon (1242)

afbeelding van SLotman

15-01-2015, 23:05

"(...)direct access to the host filesystem(...)"
CJs MSX emulator had this, it's not unique to NestorMSX.

Van ~mk~

Champion (323)

afbeelding van ~mk~

16-01-2015, 22:13

IIRC Meisei also had a paste text feature.

Van konamiman

Paragon (1194)

afbeelding van konamiman

16-01-2015, 22:25

Ok, it seems that I thought I knew more about MSX emulators than I actually do. Smile

Van marcos.m.carvajal.1

Expert (84)

afbeelding van marcos.m.carvajal.1

20-01-2015, 00:30

Thank you konamiman for this emulator. By the way, I got very emotional when I saw in your blog the drawing of the Gradius game made by your son. Tongue

Van umaiboux

Resident (43)

afbeelding van umaiboux

23-01-2015, 15:42

"" is not downloadable now?

Van konamiman

Paragon (1194)

afbeelding van konamiman

23-01-2015, 15:49

Indeed... no idea of what happened!! I just published the file again.

Van djh1697

Paragon (1696)

afbeelding van djh1697

26-01-2015, 23:40

Nice Wink