CPCWiki forum

General Category => NC100, NC200, PCW, PDA600 - the rest of the Family! => Topic started by: jimmyd on 07:38, 11 November 21

Title: State of emulators for the NC100
Post by: jimmyd on 07:38, 11 November 21
I am looking for an emulator for the NC100.
So far I have found a few, but all of them have had issues translating the keyboard input as well as lacking good ways (or possibly documentation) of transferring software to the emulator.


What can you guys recommend and how do you transfer software to and from the emulator?


Thanks. 
Title: Re: State of emulators for the NC100
Post by: robcfg on 08:38, 11 November 21
Have you tried MAME?


I think you can actually connect another machine through a virtual serial port or modify the PCMCIA card image to inject software.
Title: Re: State of emulators for the NC100
Post by: jimmyd on 11:55, 11 November 21
Hm, I was unaware that MAME could emulate the NC100, but I will give it a go. Thanks
Title: Re: State of emulators for the NC100
Post by: jimmyd on 21:07, 11 November 21
Now I have tried Mame, unfortunately it also seems to have trouble mapping keys. For example, I can not figure out which key on my PC corresponds to the menu key on the NC100...
Title: Re: State of emulators for the NC100
Post by: mahlemiut on 23:03, 11 November 21
Press Scroll Lock (or Delete if you're using OS X) to enable UI controls, then Tab to bring up the menu, you can see and change mapping in "Input (This machine)", press Scroll Lock again to disable UI controls.
Title: Re: State of emulators for the NC100
Post by: jimmyd on 23:12, 11 November 21
Asch, I do not have scroll lock on my laptop keyboard.
Title: Re: State of emulators for the NC100
Post by: pelrun on 06:56, 12 November 21
You probably do have it, but it'll be an unlabelled Fn combination.
Title: Re: State of emulators for the NC100
Post by: jimmyd on 07:07, 12 November 21
You are correct, I found that FN+F6 should be scroll lock, unfortunately it has no effect at all when mame is emulating the NC100
Title: Re: State of emulators for the NC100
Post by: SkulleateR on 08:57, 12 November 21
On my Pi400 I have to use FN+DEL (which is INSert ) to enable UI, after that I can use the TAB key to get into menu :)
Title: Re: State of emulators for the NC100
Post by: jimmyd on 09:01, 12 November 21
No luck either  :-[
Title: Re: State of emulators for the NC100
Post by: SkulleateR on 09:27, 12 November 21
Which Version of MAME do you use and on which system ?


And also try PGUP (PageUp) as MENU key for the NC100, since this is the default setting in MAME ...
Title: Re: State of emulators for the NC100
Post by: jimmyd on 09:58, 12 November 21
I am using MAME v0.195 on Linux Mint
PageUp does give me a menu, but not the correct menu.
I need to menu to transfer files serially. On the real thing, I would press [yellow]- followed by  to get the list of files stored on the system. I then press the hidden menu button to get a menu where I can choose to receive files through xmodem or as text.
Title: Re: State of emulators for the NC100
Post by: SkulleateR on 10:29, 12 November 21
Since I do not own a real NC100 I can only guess here ;) Do you mean the terminal program ? This can be opened by FUNCTION + S on PC keyboard it would be LALT + S


Btw I'm using MAME 0.206 on Raspbian Linux but I don't think the default keyconfig changed between 0.195 and 0.206 ;)


PS : After entering terminal, press PGUP again to bring up the configuration menu for serial connection :D
Title: Re: State of emulators for the NC100
Post by: jimmyd on 10:52, 12 November 21
I am not talking about the terminal, I am talking about making the NC100 receive a file through the xmodem protocol.
In emulators, I press lalt+leftarrow to get to the wordprocessor, then I press downarrow to get the list of files on the system. Now I should be able to press the [Hidden Menu] button (which I don't know the mapping of) to enable me to receive or send files through serial port
Title: Re: State of emulators for the NC100
Post by: SkulleateR on 11:44, 12 November 21
Ok, now we're talking ....


BUT .... there is no keybinding for a HIDDEN MENU in the MAME Input Settings, not even an option for it .... as far as I can see the only way to get software into NC100 emulation on MAME is the emulated PCMCIA card, but I haven't looked further into that ....
Title: Re: State of emulators for the NC100
Post by: pelrun on 16:48, 12 November 21
To get to the Transfer Menu, you need at least one file saved on the system already (just make a dummy file with the word processor) and then you can get to the correct file menu using Yellow+L (i.e. LAlt+L). Note that although it looks like the file chooser in the word processor app, it has a completely different Menu, so hitting Menu/PGUP then T will get you to the right place.

I have no idea if this is actually connected to anything sensible in the MAME emulator.
The easiest thing is probably to create a pcmcia card image and write files into that. But *of course* the mame imgtool support for that got lost somewhere before MESS got merged into MAME proper; at least it's still lurking in github: https://github.com/mamedev/mess-cvs/tree/master/mess/tools/imgtool (https://github.com/mamedev/mess-cvs/tree/master/mess/tools/imgtool)

Or you can build the image yourself if all you need is to execute a binary - if you set up the file as described in NCIOSPEC.TXT, then that first 16K will get mapped into &C000 and started when hitting Yellow+X.
Title: Re: State of emulators for the NC100
Post by: pelrun on 03:42, 13 November 21
Currently trying to figure out some of the quirks of the MAME emulation, here's what I've got so far:

You *must* press the NC100's power button (mapped to End by default) before quitting the emulator every single time, or it will do a hard reset on the next startup (you'll get kicked back to the set time screen and all files will be deleted.) That's not actually the emulator's fault; it's correctly saving the RAM. But the NC100 rom sets a flag when the power button is pressed that it looks for on startup, and forces the cold boot if it doesn't see it. This is really annoying because hitting Esc when the UI is enabled is quit rather than the NC100 Stop.

The emulator correctly sets the RTC to the PC system time on each boot, so while the rom forces you to set the time on the first boot, just put in anything, press Power/End, quit the emulator and restart and you'll get the right time.


Supplying a card image works (can just be a file with 1MB of zeroes in it), you can format it, and save files to it. However despite MAME's insistence to the contrary, it never writes this back out to the real file, so anything in it is lost when the emulator quits. The code for this looks incredibly straightforward, so I don't yet know why it's not working.
Title: Re: State of emulators for the NC100
Post by: jimmyd on 09:32, 13 November 21
@pelrun (https://www.cpcwiki.eu/forum/index.php?action=profile;u=1106) - Thank you very much. I managed to get in to the correct menu, now I just need to figure out how to connect the serial port.
I tried the same key combinations on the rc2014 emulator, but unfortunately it does not seem to have the same mappings.
I also tried to compile and run your fork of the nc100em - without luck.


The reason I am looking for alternative emulators is that MAME takes a long time starting (something like 10-15 seconds initializing)
Title: Re: State of emulators for the NC100
Post by: robcfg on 11:28, 13 November 21
You know you can compile MAME with just the NC100 driver, right?


make SOURCES=src/mame/drivers/nc.cpp TOOLS=1 REGENIE=1 -j5
Title: Re: State of emulators for the NC100
Post by: jimmyd on 09:07, 14 November 21
Quote from: robcfg on 11:28, 13 November 21You know you can compile MAME with just the NC100 driver, right?
No, I did not know that. I will give that a shot. Thanks
Powered by SMFPacks Menu Editor Mod