News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Emu

CPCemu 2.3.3 released

Started by Emu, 23:00, 07 July 21

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Emu

After nearly four months of hard work, I'm back with a new version of CPCemu. I'm very proud to present an exclusive feature:

       
  • Complete Almost complete emulation of an M4 Board (http://www.spinpoint.org) using a host directory as drive C: (i. e. SD card; even for SymbOS), including network/internet connections, dynamic ROM simulation and (replaceable) Hack ROM (lower ROM). The only thing missing is the web interface. Many, many thanks to Duke for providing  all necessary information and staying patient!
Other new features are:

       
  • CRTC emulation of type 0 (register 8 ) and type 1 (register 6) even better than before.
  • HYSNC and VSYNC emulation still a bit improved.
  • Online help updated.
  • Mouse pointer visible on movements.
  • Correction of many small and big errors (in particular, 576 KB RAM work correctly now for the first time after decades) and improved error reporting. Please check if your personal error has gone. If not please re-report it here. It is well possible that I missed some.

You can download the new version here: https://cpc-emu.org/download.html

Versions 2.3.1 and 2.3.2 correct several problems:

       
  • File handling on systems with a case-sensitive file system.
  • Missing folder "m4" in some Linux packages.
  • Outdated online help on Android.
  • Sound volume very high.
Version 2.3.2.1 corrects directory path problems in Raspberry Pi OS (64-bit version only).

Version 2.3.3 provides:

       
  • Snapshot sizes of up to 576 K (uncompressed only).
  • Default snapshot size can be changed in configuration file.
  • New option to use on-screen joystick as cursor keys.
  • Several bug fixes, in particular in the context of ROM handling.

SkulleateR

Nice one  8)


Will test this on my Pi400 this evening ....

SkulleateR

#2
Ok, did some quick testing while taking a break from work ... looks good, works good, only some minor things :


- Sound is still way too loud (Pi400), even if I turn the volume down in the system to LOWEST setting ! Would it be possible to include a % volume into menu so you may turn down the volume inside the emu ?


- why do you use two times the same directorys ? inside cpcemu/ there are all the dirs (DISK, ROM, etc.) and they are copied over to /.CPCEmu also (same files inside) which is a hidden folder on Raspberry Linux ...


- M4 emulation is really nice but how do I do a M4 Reset or entering Hack Menu ? Did not found a key for that ... EDIT : Ok, found at least SHIFT-F1 for the Hack Menu ;)


- also M4 emulation : the emulated M4 gets the same IP as the host machine, but how do I connect to it from browser ? Even from another machine it is not possible to get to the web interface.

Gryzor

Nice sounding update! Maybe I should bring my 400 to the office now that summer is here :D

SkulleateR

Btw I tried to upload some roms on CPC itself with |ROMUP,"NAME.ROM"",5 (Example) but it won't show up ....

GUNHED

Thanks for the upgrade!

Two things...
- The M4 is 2.0.6, in real life it's already 2.0.7 (important update for some, also new hack menu)
- How can I install ROMs?
http://futureos.de --> Get the revolutionary FutureOS (Update: 2023.11.30)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2021.12.26)

CPCBEGIN

#6
I try first the GNU/Linux version for x86-64 and I found a bug, the emulator stop working because $HOME/.CPCemu/cpcemu.cfg is a empty file (0 bytes).


I solved copying cpcemu0.cfg over  $HOME/.CPCemu/cpcemu.cfg and make a SDCARD directory where I unzipped CPCEmu.

About M4 emulation:

- If I type |NETSTAT show the info of the host and I can't access via web.

- I try to change directory with the command:
|DIR,"MYDIR" but sometimes show "Unknowing directory" or can't see files in the directory.
Retro & opensource

Emu

Some answers:

       
  • I wrote "complete", but that's not true. There is no web interface, because the host has direct access to all files anyway. The CPC uses the same IP address as the host, because an emulated WiFi network would be rather useless with only two participants (CPC and host).
  • If desired, V2.0.7 of the M4 ROM can be copied into the ROM folder manually or by just calling |UPGRADE. The only downside I know is that it calls the SD card drive "A:", again. The letter "C" is my only modification to V2.0.6.
  • ROMs can be installed with |ROMUP (apart from "mounting" them in cpcemu.cfg, of course). They are activated by |ROMUPD. Should this happen automatically at the next hard reset (F8)? I'm afraid I did not try this on my real M4 Board.
  • I use (apparently redundant) read-only source directories (e. g. ROM and DISC) so that CPCemu can be installed at a central folder by an administrator where others only have read access (e. g. in Windows' "Programs (x86)" or in Mac's "Applications"). This way, every user can have his own configuration and files. Besides, this is mandatory for Android and iOS, even without an administrator.
  • There is no separate M4 reset so far. Why would one be needed apart from F8?
  • I really forgot the sound volume problem. And, I still don't understand where it comes from. I'm a bit afraid that an additional volume multiplication could further slow down the sound output on the Pi, for me it is already delayed by a few seconds.

Emu

@CPCBEGIN : Is there any pattern for the situations where |DIR does not work? Does it help just to retry |DIR to make it work or does it reproducabily depend on the folder name (or a name in the full path)? Maybe something with wildcards? Have you tried if |CD works in cases where |DIR doesn't?


SkulleateR

#9
Quote
I wrote "complete", but that's not true. There is no web interface, because the host has direct access to all files anyway. The CPC uses the same IP address as the host, because an emulated WiFi network would be rather useless with only two participants (CPC and host).

but it would make things SOOO much easier, handling roms would be nice AND we could establich a CPCEMU <> CPC Network[
QuoteIf desired, V2.0.7 of the M4 ROM can be copied into the ROM folder manually or by just calling |UPGRADE. The only downside I know is that it calls the SD card drive "A:", again. The letter "C" is my only modification to V2.0.6.

|UPGRADE isn't working (Download Error)

QuoteROMs can be installed with |ROMUP (apart from "mounting" them in cpcemu.cfg, of course). They are activated by |ROMUPD. Should this happen automatically at the next hard reset (F8)? I'm afraid I did not try this on my real M4 Board.

As I said above.... isn't working ... see this ....



SkulleateR

P.S : regarding the sound .... no delay here on 64Bit Pi 400 .... everthing really fine and smooth .... but too loud ;)


Oh, and btw. this is the same PARADOS.ROM that works fine on my real M4 ...

Emu

#11
@SkulleateR :
The correct sound is interesting. Are you using Raspberry Pi OS? Sound output via HDMI?

Theoretically, a web interface would work even in the current setup. The only condition is if the TCP port is available on the host. By the way, network connections between CPC and host and between two CPCemus are possible already now, of course. For example, I can confirm that CPChessNet works between to CPCemus on the same host.

Regarding |UPGRADE: Is there a folder M4 in your SDCARD directory? I think so, because |ROMUP works for you. So, the error must have a different reason. Please start CPCemu from a terminal window, there should be an error message when executing |UPGRADE.

Regarding |ROMUPD: I've just tried doing the same you did and it worked. |M4HELP shows "5 PDOS" after |ROMUPD. Please post the files ROMCONFIG.BIN and ROMSLOTS.BIN in M4 both before and after |ROMUPD.

@CPCBEGIN :
I think the reason for your problems with |DIR and probably also |CD might be Linux' case-sensitive file system. I have to check this on a Linux machine. I remember this problem was reported for file access via |TAPE. I have not solved this, yet.

SkulleateR

#12
|UPGRADE error in terminal : "fopen : No such file or directory" and yes, M4 folder is there but it's empty except the M4.DIR file


Regarding the |ROMUPD : I can post the files AFTER but before the first |ROMUPD the M4 folder is empty (see above)


Oh btw, using Raspbian OS 64Bit from official site :)


-> https://downloads.raspberrypi.org/raspios_arm64/images/raspios_arm64-2020-05-28/2020-05-27-raspios-buster-arm64.zip

Emu

Thank you. I had a Linux VM up and running just a few minutes ago and observed the same behaviour.

The reason is indeed the case sensitivity of Linux. As a first workaround, please rename your M4 folder to m4, this makes |UPGRADE work.

This will probably also make |ROMUPD work, because it uses the same hard-coded path to "m4".

As for some strange reason the SDCARD folder is missing from some packages (Intel 32-bit and 64-bit, Rasperry 32-bit package) I have to recreate these anyway and will recreate also the Raspberry 64-Bit package, because it's "M4" in there at the moment.

SkulleateR

|UPGRADE now works (with "m4" in lowercase) but on |ROMUP I get a "Fire not found or other error."


Tried both lower and upper case letters for the parados.rom, same error msg...





Emu

#15
I'm looking into the code. I assume the problem is now that the path to ROMSLOTS.BIN (including "m4") is converted to upper case, which does not exist. I'm checking where to implement case insensitivity. It's not trivial.

For the time being, you could try to create a Symlink from M4 to m4.

CPCBEGIN

Quote from: Emu on 21:56, 08 July 21
@CPCBEGIN : Is there any pattern for the situations where |DIR does not work? Does it help just to retry |DIR to make it work or does it reproducabily depend on the folder name (or a name in the full path)? Maybe something with wildcards? Have you tried if |CD works in cases where |DIR doesn't?
I confirm than only find files and folders all in uppercase.
Retro & opensource

SkulleateR

Tried symbolic Link already, same Error ... Waiting for your Investigation I guess :)

But the emu itself ist really good now :) keep it up

Emu

@SkulleateR , @CPCBEGIN :Please try v2.3.1. I don't claim my case-sensitivity solution to be perfect, but it appears to work.

Besides, I have reduced audio wave generation by a factor of 2. I think this should correspond to the other audio sources. Please report if this improves your situation. By the way, I tried the audio jack on Raspberry and found that there is no delay here. Obviously, HDMI audio is the problem.

SkulleateR

Ok, |UPGRADE works fine, sound is good as is ....


But |ROMUP/|ROMUPD didn't work ... ROMCONFIG and ROMSLOTS were created but nothing else shows up in emulation .... I have attached those ....




Emu

Oh no, I missed two places where I should have inserted my case-insensitivity correction, too - one in the code for |ROMUPD, one in |DSKEXT.


Emu

@SkulleateR : Please try v2.3.2. |ROMUPD should work now.

SkulleateR

Quote from: Emu on 01:30, 12 July 21
@SkulleateR : Please try v2.3.2. |ROMUPD should work now.
Still doesn't work .... It won't show up at all, I also tried the ROMUP464.BIN from spinpoint.org for installing basic 1.1 and modified lower rom for 464, also doesn't work !


Is there a way to log the actions (Terminal shows no output when performing ROMUP and ROMUPD) ??

Fran123

Is there any interface to set the roms on M4 from CPC (not web interface) ?
thanks

ajcasado

Yes, the application ROManager of FutureOS.
CPC 664

Empiezas a envejecer cuando dejas de aprender.
You start to get old when you stop learning.

Powered by SMFPacks Menu Editor Mod