NestorMSX, a MSX emulator as simple as it can be

NestorMSX, a MSX emulator as simple as it can be

by konamiman on 13-01-2015, 21:58
Topic: 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

Comments (18)

By mars2000you

Enlighted (6557)

mars2000you's picture

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.

By Vampier

Prophet (2415)

Vampier's picture

14-01-2015, 21:00


By slowerisbetter

Master (194)

slowerisbetter's picture

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).

By Grauw

Ascended (10821)

Grauw's picture

14-01-2015, 23:17

Very very cool.

By konamiman

Paragon (1211)

konamiman's picture

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

By slowerisbetter

Master (194)

slowerisbetter's picture

15-01-2015, 10:08

By konamiman

Paragon (1211)

konamiman's picture

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:

By konamiman

Paragon (1211)

konamiman's picture

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

By gdx

Enlighted (6436)

gdx's picture

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.

By sd_snatcher

Prophet (3675)

sd_snatcher's picture

15-01-2015, 21:29

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

By Manuel

Ascended (19678)

Manuel's picture

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 :)

By SLotman

Paragon (1242)

SLotman's picture

15-01-2015, 23:05

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

By ~mk~

Champion (340)

~mk~'s picture

16-01-2015, 22:13

IIRC Meisei also had a paste text feature.

By konamiman

Paragon (1211)

konamiman's picture

16-01-2015, 22:25

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

By marcos.m.carvajal.1

Expert (85)

marcos.m.carvajal.1's picture

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

By umaiboux

Resident (43)

umaiboux's picture

23-01-2015, 15:42

"" is not downloadable now?

By konamiman

Paragon (1211)

konamiman's picture

23-01-2015, 15:49

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

By djh1697

Paragon (1736)

djh1697's picture

26-01-2015, 23:40

Nice Wink