CPCemu 2.0 released

Started by Emu, 23:45, 07 January 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Emu

I'm proud to present CPCemu 2.0 having the following new features:

       
  • Runs on MacOS, Android, Linux (x86_64 and ARM, in particular on Raspberry Pi), Windows and iOS (unfortunately not for the public).
  • Graphics engine overhauled, introducing border, full overscan, dynamic horizontal synchronisation (not perfect yet), scan doubling and some optional CRT blurring
  • Completely new CRTC emulation, quite accurate, and selectable between CRTC types 0, 1 and 2 (most demos work)
  • Realistic timing of CPU instructions and interrupts
  • Sound emulation significantly improved, now able to play digitized sounds (such as speech and special effects)
  • Different accelerated modes of operation ("Turbo", with and without CRTC synchronisation)
  • Debugger with optional CRTC single-stepping alongside the CPC screen, including crosshairs indicating the current electron beam position
  • Graphical menu (in addition to function keys)
  • Virtual on-screen joystick on Android and iOS
  • Many small improvements
Download it at https://cpc-emu.org/download.html!

Thanks to Marco Vieth for testing!





roudoudou

the emulator is very fast, great job!
use RASM, the best assembler ever made :p

I will survive

Gryzor

Interface takes a bit to get used to, but everything seems to be ok :)

robcfg

Hi @Emu , I cannot start it on MacOS 10.15.7 Catalina because a problem with dependency hidapi:


QuoteCPCemuMacOS.app/Contents/MacOS/CPCemuMacOS
dyld: Library not loaded: @rpath/hidapi.framework/Versions/A/hidapi
  Referenced from: /Users/robcfg/Downloads/CPCemuMacOS.app/Contents/Frameworks/SDL2.framework/Versions/A/SDL2
  Reason: no suitable image found.  Did find:
   /Users/robcfg/Downloads/CPCemuMacOS.app/Contents/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi: code signature in (/Users/robcfg/Downloads/CPCemuMacOS.app/Contents/Frameworks/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi) not valid for use in process using Library Validation: mapping process and mapped file (non-platform) have different Team IDs




Emu

Ouch. Thank you, robcfg. I found the reason. I activated the "hardened runtime" and have not tested after that. It needs an exception for loading dependencies signed by someone else. I'm sorry.

Please download again.


robcfg

It now works!


Thanks a lot!

Targhan

Looks very interesting. I just noticed the Close button didn't work when the debugger was opened (on Windows).
Do you have plan to improve the UI of the debugger to have for example, floating windows that can be moved, edited in a more user friendly manner? Many of us are still looking for the successor of Winape's venerable debugger :). Especially on Linux!!
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

norecess

Wow, the venerable CPCemu is back  ;)
On a side note I'm super happy of all those emulators coming out in the last 5 years.

2 questions:
- I see you distribute your program as freeware (good !), but it remains closed-source. Is there a chance in the future you make it open-source ? (not open in the sense "everyone can contribute", but open in the sense "I can fetch the source-code from a git repo and compile it on my Linux machine").
- Do you have plans for AmstradPlus / GX-4000 support ?

Congrats, and welcome back into the emulator arena :)

Emu

@roudoudou: Thank you! If you have enough speed you can switch the "Video" setting to "1" to get a more realistic (more analogue :) ) display. You have to get used to it, because it is darker than the default, but I prefer it over the clumsy default display.

@Targhan: The debugger definitely needs improvement in terms of bugs of already present features. On the other hand, I'm not sure that using the mouse is more comfortable than typing short commands (but, I see that window size matters). Unfortunately, I have never seen WinApe. Which separate windows would be needed? What entities would need to be edited in there? I'm working on the close button...

@norecess: I think CPCemu is going to be open source in the long run. Currently, the code is more than untidy in many places. I need to clean this up first. Besides, I have the ambition to make perfect CRTC emulation before opening the source code. I don't have a clue of the Plus CPCs and the GX-4000. I won't be able to accurately emulate the CRTCs and the rest if I cannot examine their real behaviour. I have been looking into eBay for one, but the prices are ridiculous. So, chances are very low.

Speaking of CRTC emulation accuracy, this has been my primary objective while working on the current release for the last five years. I was hoping for some comments on that, to be honest. I'm really proud that certain demos (e. g., From Scratch, Madness by Gozeur and the Futurs and Vanity parts of the 30 Years Megademo on CRTC type 1, and S&KOH, DemoIzArt, Face Hugger Megademo and Voyage 93 on CRTC type 0) work very well (if not even perfect, at least some of them). I'm still working on the remaining flaws. I would be happy about any reports on demos (or other software) not working correctly. I know that dynamic HSYNCs result in damaged screens sometimes (e. g., in two parts of Dream End, in Scroll Factory and in one part of The Demo). This is really annoying to cope with. Not even my real CPC monitor is able to display these parts of Dream End, for example.

Ah, just in this minute I found the long-wanted reason why the scroller of the Benediction part of the 30YMD is deformed. So, no need to report this any more.

Emu

Ah, reading my latest post again, I found an ambiguous statement. I should have written "So, chances are very low for Plus or GX support."
This is not a statement about the chances of opening the sources.

Targhan

Quote from: Emu on 01:39, 12 January 21The debugger definitely needs improvement in terms of bugs of already present features. On the other hand, I'm not sure that using the mouse is more comfortable than typing short commands (but, I see that window size matters). Unfortunately, I have never seen WinApe. Which separate windows would be needed? What entities would need to be edited in there? I'm working on the close button.

You could separate the monitor in a window, the disassembler in another, etc. Both mouse and shortcut should be usable, I personally use both. On my 21" screen, the debugger appears "beyond" the limits of my screen, I have to resize the whole to see the debugger. Most of the times, when debugging, you don't really need to see the CPC screen, but this can still be useful. Hence the floating windows, you can move them. UI is such a hard work, I won't argue with that :).
Targhan/Arkos

Arkos Tracker 2.0.1 now released! - Follow the news on Twitter!
Disark - A cross-platform Z80 disassembler/source converter
FDC Tool 1.1 - Read Amsdos files without the system

Imperial Mahjong
Orion Prime

CPCBEGIN

Now works in new GNU/Linux distros in PC as Ubuntu Mate 20.04 and Android.But I can't run in raspberry pi 400 with 64 bit Raspberry Pi OS I get this error:./cpcemu: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory[code]./cpcemu: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory

The system have installed these packages:libsdl2-2.0-0:arm64
libsdl2-dev


The command "uname -a" show this information:
Linux raspberrypi400 5.10.5-v8+ #1391 SMP PREEMPT Thu Jan 7 17:55:54 GMT 2021 aarch64 GNU/Linux
Retro & opensource

Emu

CPCemu for the Raspberry is 32-bit-only to keep maximum compatibility (yes, I can hear norecess clearing his throat). You need to install the 32-bit libraries.

I have not tried 64 bit Raspberry Pi OS, yet, but the following should help:

sudo dpkg --add-architecture armhf

Have you actually tried the Android version? Does it work for you? Unfortunately, I have only one Android device to test...

CPCBEGIN

#13
Android version runs very fine, only keyboard hide a small part of the botton of the screen and you need a real gamepad to use joystick games.

I try in Lineage OS in Raspberry Pi 400 and in a Xiaomi Red Mi Note 7 with success.
Retro & opensource

Emu

Thanks for the screenshot, that's helpful. Actually, CPCemu ought to be in landscape orientation all the time. It's an interesting side effect of portrait orientation that there is enough space left for the keyboard. Now I have to figure out how I can move the CPC screen up (as I requested a full screen display and got only a part of it). I cannot promise that this is possible, but I'm going to think it over.

Regarding the joystick, there is one in the bottom right corner of the screen. You just have to hide the keyboard before, e g. by tapping in the upper half of the screen (twice to hide the main menu buttons again). Then, if you tap in the corner a joystick icon should appear in the CPC screen and you should be able to move your joystick and tap the fire button (in the bottom left corner of the screen).

Emu

I forgot to ask: Have you managed to run CPCemu on the Raspberry?

Emu

Only a few seconds ago I saw the last line of your post below the screenshot. So, CPCemu runs on your Raspberry Pi 400 64 Bit? Or has Lineage OS been an alternative try because Rasberry Pi OS didn't work?

robcfg

I tried it on a Raspberry Pi 1 model B+ and it worked albeit incredibly slow.

CPCBEGIN

#18
Quote from: Emu on 23:56, 19 January 21
I forgot to ask: Have you managed to run CPCemu on the Raspberry?
I try to run added the armhf architecture and the libraries the emulator ask to me with the comands:
sudo dpkg --add-architecture armhf
sudo apt -y install libsdl2-2.0-0:armhf libstdc++6:armhf

But I get this error and I don't know whitch library is the next to install.
/cpcemu: error while loading shared libraries: libbcm_host.so: cannot open shared object file: No such file or directory

If I get to run I made an instalation script.


I also try in an older raspberry pi 2 with raspbian 32 bits and runs... but slow.
Retro & opensource

CPCBEGIN

#19
I have a big problem to load another dsk with Android version, I don't know where I must put the files.
Retro & opensource

VincentGR

Tried this on my S8+, works like a charm.
Stupid question, how do I rotate the screen?

CPCBEGIN

Now, I finally try with Raspberry Pi OS 32 bits in my raspberry pi 400 and runs OK and with a decent speed.
Retro & opensource

SkulleateR

Quote from: CPCBEGIN on 11:05, 23 January 21
Now, I finally try with Raspberry Pi OS 32 bits in my raspberry pi 400 and runs OK and with a decent speed.
Does the sound work for you ? I also tried on RPI OS 32Bit on my Pi400 and the sound is distorted :(


Seems to kill my boxes but they are ok (check after testing) ...

Emu

There is a new release 2.1 of CPCemu. You can find it here: https://cpc-emu.org/download.html

I have fixed many of the problems mentioned above and some more. There are also new features:

       
  • Available also for Linux-x86 (32 Bit). A 64 bit version for the Raspberry Pi will follow.
  • Further features of CRTC (types 0 and 1) and Gate Array implemented, e. g. behaviour of register 6 (it took me literally years to solve this mystery), and, of course, the colours. The old DOS colours where rather pale.
  • User interface improved: text size on Android and iOS increased, rotation bug fixed, the file open dialog displays the path where the DSK files are stored; Drag & Drop of DSK files on  Windows, MacOS and Linux to open a DSK
  • The versions for Android and iOS accept shared DSK and ZIP files from other applications (e. g. downloads from the browser)
  • Further features of the disk controller (FDC) implemented (Orion Prime in the 4 disk version loads correctly now)
  • Smaller improvements (e. g. autostart, green monitor, cassette relay)
Thanks to Sven B. for impressively pointing me towards the wrong colours. Looking at the new colours, I fell in love with CPCemu, again.


Gryzor

Ah thanks for the update :)

On my phone key repetition is pretty quick to kick in, I always end up typing "caatt" :D

Powered by SMFPacks Menu Editor Mod