CPCWiki forum

General Category => Emulators => Topic started by: Fran123 on 11:24, 04 November 24

Title: GEMUX CPC
Post by: Fran123 on 11:24, 04 November 24
Hello

Here is my own emulator. I think I started it on April 7th as Z80 emulator only. I had an incompleted z80 emulator made in Java and I wanted learn C++. 

Once I thinked the cpu could run, I started some minimal chips functions (like CRTC, GA, etc) and requeriments as the keyboard, because is very hard interact with the cpu directly.

And little by little I added more and more things. Very far from my first intention because there are quite a few emulators and the mine wasn't offer any new characteristic. In the way, I learned a lot of things about the CPC.

Now, I'll take a few weeks off and then come back to implement sound, CRTC, fix bugs and improve the code.

As a further goal, it is to port it to boards like the LilyGo and have a mini-cpc.

I hope you will give it a try and give it a review :)  Any feedback and bugs will be welcome.

Thank you!
Title: Re: GEMUX CPC
Post by: robcfg on 11:41, 04 November 24
On my wife's Windows 10 machine I get the following errors:

---------------------------
gemux.exe - System Error
---------------------------
The code execution cannot proceed because libgcc_s_seh-1.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK 
---------------------------

---------------------------
gemux.exe - System Error
---------------------------
The code execution cannot proceed because libstdc++-6.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK   
---------------------------

I see that you used SDL2 for your emulator, could it be possible to compile it on MacOS or Linux? I can help with that, as I don't have but one older Windows machine at home...

Cheers,
Rob
Title: Re: GEMUX CPC
Post by: Jean-Marie on 12:20, 04 November 24
I've got the same problem than Robcfg, on Windows 11.
Congratulations anyway!
Title: Re: GEMUX CPC
Post by: Fran123 on 12:51, 04 November 24
Quote from: robcfg on 11:41, 04 November 24On my wife's Windows 10 machine I get the following errors:

---------------------------
gemux.exe - System Error
---------------------------
The code execution cannot proceed because libgcc_s_seh-1.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK 
---------------------------

---------------------------
gemux.exe - System Error
---------------------------
The code execution cannot proceed because libstdc++-6.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK 
---------------------------

I see that you used SDL2 for your emulator, could it be possible to compile it on MacOS or Linux? I can help with that, as I don't have but one older Windows machine at home...

Cheers,
Rob
I'll try to use a cross compiler under linux. Also, I hope upload a linux version. I have developed it under windows 10 and Linux Mint Mate 21
Title: Re: GEMUX CPC
Post by: Fran123 on 13:09, 04 November 24
@robcfg @Jean-Marie 

libgcc_s_seh-1.dll
libstdc++6.dll
Title: Re: GEMUX CPC
Post by: robcfg on 13:20, 04 November 24
Progress!  ;D

Now it complains about 

---------------------------
gemux.exe - System Error
---------------------------
The code execution cannot proceed because libwinpthread-1.dll was not found. Reinstalling the program may fix this problem.
---------------------------
OK 
---------------------------

I think it's a good sign it doesn't complain about the previous ones.
Title: Re: GEMUX CPC
Post by: Jean-Marie on 13:31, 04 November 24
Same here  :)
Title: Re: GEMUX CPC
Post by: Fran123 on 13:52, 04 November 24
the last dll (I hope)

Thanks @robcfg
Title: Re: GEMUX CPC
Post by: robcfg on 14:04, 04 November 24
No problem!

With that last one it work for me.

Congratulations!
Title: Re: GEMUX CPC
Post by: abalore on 15:03, 04 November 24
Works fine for me and the input lag seems pretty good. Looking forward for it to have sound.
Title: Re: GEMUX CPC
Post by: abalore on 16:50, 04 November 24
I'm not sure your green screen mode is working. It looks you are getting the luminance component to the green pixel value instead of applying the smooth gradation based on the resistor DAC arrangement.

Title: Re: GEMUX CPC
Post by: Fran123 on 17:17, 04 November 24
Quote from: abalore on 16:50, 04 November 24I'm not sure your green screen mode is working. It looks you are getting the luminance component to the green pixel value instead of applying the smooth gradation based on the resistor DAC arrangement.


There are four variants for each colour, push altgr+f11
Title: Re: GEMUX CPC
Post by: abalore on 18:07, 04 November 24
Quote from: Fran123 on 17:17, 04 November 24
Quote from: abalore on 16:50, 04 November 24I'm not sure your green screen mode is working. It looks you are getting the luminance component to the green pixel value instead of applying the smooth gradation based on the resistor DAC arrangement.


There are four variants for each colour, push altgr+f11

I see, it looks good with Palette Green 1, maybe you can set it as default since it's the real behaviour of green monitor.
Title: Re: GEMUX CPC
Post by: Fran123 on 19:07, 04 November 24
Quote from: abalore on 18:07, 04 November 24
Quote from: Fran123 on 17:17, 04 November 24
Quote from: abalore on 16:50, 04 November 24I'm not sure your green screen mode is working. It looks you are getting the luminance component to the green pixel value instead of applying the smooth gradation based on the resistor DAC arrangement.


There are four variants for each colour, push altgr+f11

I see, it looks good with Palette Green 1, maybe you can set it as default since it's the real behaviour of green monitor.
Noted

Thank you
Title: Re: GEMUX CPC
Post by: Fran123 on 19:12, 04 November 24
I uploaded full versions for windows (instead several zips like above) and linux. They have more instructions.
For linux you have to install libsdl2 and libsdl2-image (libsdl2-dev and libsdl2-image-dev)

Linux (https://drive.google.com/file/d/1k7ELz4w6Edph6QLXf0qtY5omMYmsT-F6/view?usp=sharing)   [google drive]

Windows (https://drive.google.com/file/d/1NUqVxh6tN1AqxaB9V8H1Ej4Sjewh6nwm/view?usp=sharing)    [google drive]

I appreciate any suggestions or bugs.

Thanks
Title: Re: GEMUX CPC
Post by: robcfg on 20:04, 04 November 24
It works on my Mint 20 XFCE virtual machine!  8)

I had some problems though uncompressing the file on linux, but on my Mac it worked just fine.
Title: Re: GEMUX CPC
Post by: Fran123 on 20:13, 04 November 24
Quote from: robcfg on 20:04, 04 November 24It works on my Mint 20 XFCE virtual machine!  8)

I had some problems though uncompressing the file on linux, but on my Mac it worked just fine.
I didn't know Mac could run linux programs. I don't know anythning about mac, really.
Title: Re: GEMUX CPC
Post by: robcfg on 20:37, 04 November 24
I mean that on my Linux VM the archives gives an error uncompressing the zip file, while MacOS uncompress it without problems.

Then I run your emulator on the Virtual Machine, not MacOS itself.
Title: Re: GEMUX CPC
Post by: Jean-Marie on 23:47, 04 November 24
Looking good!
Just so you know, it throws an error when trying to save the config with AltGR+F9:
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot make canonical path: No such file or directory [machines]

Title: Re: GEMUX CPC
Post by: Fran123 on 14:13, 05 November 24
Quote from: Jean-Marie on 23:47, 04 November 24Looking good!
Just so you know, it throws an error when trying to save the config with AltGR+F9:
terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
  what():  filesystem error: cannot make canonical path: No such file or directory [machines]


Download the new version from https://drive.google.com/file/d/1NUqVxh6tN1AqxaB9V8H1Ej4Sjewh6nwm/view?usp=sharing

It solves that error (missing subdirectory 'machines') and allows change the disc drive when you are going to load or save a file
Powered by SMFPacks Menu Editor Mod