Author Topic: CPCemu 2.0 released  (Read 8036 times)

0 Members and 1 Guest are viewing this topic.

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
CPCemu 2.0 released
« on: 23:45, 07 January 21 »
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!





Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 1.104
  • Country: fr
    • urban exploration
  • Liked: 1526
  • Likes Given: 880
Re: CPCemu 2.0 released
« Reply #1 on: 09:12, 08 January 21 »
the emulator is very fast, great job!
use RASM, the best assembler ever made :p

I will survive

Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.885
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 4009
  • Likes Given: 7215
Re: CPCemu 2.0 released
« Reply #2 on: 10:56, 08 January 21 »
Interface takes a bit to get used to, but everything seems to be ok :)

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.412
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 1093
  • Likes Given: 2672
Re: CPCemu 2.0 released
« Reply #3 on: 14:38, 08 January 21 »
Hi @Emu , I cannot start it on MacOS 10.15.7 Catalina because a problem with dependency hidapi:


Quote
CPCemuMacOS.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




Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #4 on: 15:41, 08 January 21 »
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.


Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.412
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 1093
  • Likes Given: 2672
Re: CPCemu 2.0 released
« Reply #5 on: 16:14, 08 January 21 »
It now works!


Thanks a lot!

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.380
  • Country: fr
  • Liked: 1307
  • Likes Given: 191
Re: CPCemu 2.0 released
« Reply #6 on: 16:18, 08 January 21 »
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

Offline norecess

  • CPC6128
  • ****
  • Posts: 239
  • Country: ca
  • Liked: 496
  • Likes Given: 253
Re: CPCemu 2.0 released
« Reply #7 on: 16:43, 08 January 21 »
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 :)

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #8 on: 01:39, 12 January 21 »
@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.

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #9 on: 01:43, 12 January 21 »
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.

Offline Targhan

  • Supporter
  • 6128 Plus
  • *
  • Posts: 1.380
  • Country: fr
  • Liked: 1307
  • Likes Given: 191
Re: CPCemu 2.0 released
« Reply #10 on: 00:33, 13 January 21 »
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.

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

Offline CPCBEGIN

  • CPC464
  • **
  • Posts: 47
  • Country: es
  • Retro & GNU/Linux
    • Malagueños originales y libres
  • Liked: 32
  • Likes Given: 57
Re: CPCemu 2.0 released
« Reply #11 on: 02:10, 16 January 21 »
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:
Code: [Select]
./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:
Code: [Select]
libsdl2-2.0-0:arm64
libsdl2-dev

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

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #12 on: 18:42, 17 January 21 »
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:

Code: [Select]
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...

Offline CPCBEGIN

  • CPC464
  • **
  • Posts: 47
  • Country: es
  • Retro & GNU/Linux
    • Malagueños originales y libres
  • Liked: 32
  • Likes Given: 57
Re: CPCemu 2.0 released
« Reply #13 on: 23:56, 17 January 21 »
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.
« Last Edit: 01:50, 18 January 21 by CPCBEGIN »
Retro & opensource

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #14 on: 23:55, 19 January 21 »
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).

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #15 on: 23:56, 19 January 21 »
I forgot to ask: Have you managed to run CPCemu on the Raspberry?

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #16 on: 01:36, 20 January 21 »
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?

Offline robcfg

  • Supporter
  • 6128 Plus
  • *
  • Posts: 2.412
  • Country: se
  • 8-Bit Technomancer
    • index.php?action=treasury
  • Liked: 1093
  • Likes Given: 2672
Re: CPCemu 2.0 released
« Reply #17 on: 08:40, 20 January 21 »
I tried it on a Raspberry Pi 1 model B+ and it worked albeit incredibly slow.

Offline CPCBEGIN

  • CPC464
  • **
  • Posts: 47
  • Country: es
  • Retro & GNU/Linux
    • Malagueños originales y libres
  • Liked: 32
  • Likes Given: 57
Re: CPCemu 2.0 released
« Reply #18 on: 19:12, 20 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:
Code: [Select]
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.
Code: [Select]
/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.
« Last Edit: 22:20, 20 January 21 by CPCBEGIN »
Retro & opensource

Offline CPCBEGIN

  • CPC464
  • **
  • Posts: 47
  • Country: es
  • Retro & GNU/Linux
    • Malagueños originales y libres
  • Liked: 32
  • Likes Given: 57
Re: CPCemu 2.0 released
« Reply #19 on: 19:17, 20 January 21 »
I have a big problem to load another dsk with Android version, I don't know where I must put the files.
« Last Edit: 22:14, 20 January 21 by CPCBEGIN »
Retro & opensource

Offline VincentGR

  • 6128 Plus
  • ******
  • Posts: 1.382
  • Country: gr
    • Parts from the past.
  • Liked: 886
  • Likes Given: 2058
Re: CPCemu 2.0 released
« Reply #20 on: 18:03, 21 January 21 »
Tried this on my S8+, works like a charm.
Stupid question, how do I rotate the screen?
Visit my BBS (Telnet) : flashbackbbs.sytes.net:6502
http://loaderror.eu/
Amiga 1200 Black Project

Offline CPCBEGIN

  • CPC464
  • **
  • Posts: 47
  • Country: es
  • Retro & GNU/Linux
    • Malagueños originales y libres
  • Liked: 32
  • Likes Given: 57
Re: CPCemu 2.0 released
« Reply #21 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.
Retro & opensource

Offline SkulleateR

  • 464 Plus
  • *****
  • Posts: 382
  • Country: de
  • Liked: 203
  • Likes Given: 107
Re: CPCemu 2.0 released
« Reply #22 on: 11:55, 16 February 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) ...

Offline Emu

  • CPC464
  • **
  • Posts: 49
  • Country: de
    • CPCemu
  • Liked: 53
  • Likes Given: 1
Re: CPCemu 2.0 released
« Reply #23 on: 03:40, 23 February 21 »
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.


Offline Gryzor

  • Administrator
  • 6128 Plus
  • *****
  • Posts: 16.885
  • Country: gr
  • CPC-Wiki maintainer
    • CPCWiki
  • Liked: 4009
  • Likes Given: 7215
Re: CPCemu 2.0 released
« Reply #24 on: 09:50, 23 February 21 »
Ah thanks for the update :)

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