News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Arnaud

CPCEC a new emulator from cngsoft

Started by Arnaud, 08:14, 16 March 19

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

robcfg


cngsoft

CPCEC returns with a "minor patch" whose log took way too long to write, not unlike the patch itself took too long to release:

20240830 -- minor patch with many small additions and bugfixes. All emulators now simulate the gradual signal loss of their DAC devices (either built-in, like the 48K beeper in ZXSEC and the 4th SID voice in CSFEC, or optional, such as the Digiblaster in CPCEC and Konami's Synthesizer in MSXEC) and thus soften and cancel the noise from softwares that don't restore the DACs to their neutral state. MSXEC and CSFEC support up to 2 MB of extended RAM, and MSXEC can read 4-MB cartridges, f.e. the special release of "King's Valley" with sampled music and speech. Rapidly flipping the 128K video page in ZXSEC now fetches all the attributes from the right bank, f.e. one of the final effects in "Elysium State". The C64 SID chip in CSFEC is no longer internally stereo; instead, a single-SID setup optionally simulates stereo with a delay between the left and right sides. The shared runtime between Win32 and SDL2 versions unifies the general synchronisation logic instead of letting each version handle it independently; the versions simply provide wrappers for video, audio and timer logic. Defining the macro VIDEO_BORDERLESS on compile time will enable the reduced window modes (640x400 pixels for CPCEC, 512x384 for ZXSEC, etc) that were already built-in but required editing the headers by hand. "Fine Giga/X-blend" extends the old option "Fine X-blending" to interframe blending; it sets whether the emulator does the traditional two-step Gigascreen composition or a more general motion blur. The onscreen status now includes an audio oscilloscope. Alt+Right and Alt+Left respectively speed the emulation up and down. XRF2, a new video compression mode hopefully improving on the old XRF1, is now generated by the emulators; XRFEC can read both the old XRF1 and the new XRF2. The emulators can record PNG screenshots, although the QOI format stays optionally available on compile time. RUNEC can recognize 8K MSX cartridges.
(if you can't see the banner right now my server is currently offline)

cngsoft

Oops, I forgot to mention the most important innovation: ZXSEC finally supports "Chromatrons Attack"!

Now I have a doubt: are there any MODE 2 creations for CPC that rely on moiré patterns to create unexpected colours like these?
(if you can't see the banner right now my server is currently offline)

andycadley

Quote from: cngsoft on 18:16, 02 September 24Oops, I forgot to mention the most important innovation: ZXSEC finally supports "Chromatrons Attack"!

Now I have a doubt: are there any MODE 2 creations for CPC that rely on moiré patterns to create unexpected colours like these?
Isn't it a PAL signal issue? I'd have thought the CPC wouldn't suffer in the same way, since the monitor always took an RGB signal.

Gryzor

The what attack now? What is that?


Gryzor

Hahaha seriously? That's cool😁

Does the video show it as it should look or not at all?

roudoudou

Quote from: Gryzor on 12:42, 06 September 24Hahaha seriously? That's cool😁

Does the video show it as it should look or not at all?
yeah, hard to see since there is still glitches and no "impossible" colors for a spectrum ;D

the funny things the game is black/white only but display two colors on composite

https://www.wikiwand.com/en/articles/Composite_artifact_colors



Gryzor

😂

Thanks, interesting read. I realized I knew about the effect but had never quite, erm, realized it.

cngsoft

#384
Quick update:
20240909 -- minor patch reworking the keyboard, joystick and autorun logic to be more similar across machines (and rejecting simultaneous UP-DOWN and LEFT-RIGHT motions when the joystick is virtual and mapped on the keyboard), extending the "Chromatrons effect" option in ZXSEC (introduced in the previous patch) to support the slightly different brightness of some attributes (f.e. "Bright Miner" and "NOP 1995"), fixing a bug in CSFEC (the 4th SID voice wasn't falling to zero when sound played without changing the mixer) and turning the artificially stereo chips from MSXEC (PSG, Konami SCC and Yamaha OPLL) into their real mono selves: stereo in MSXEC is now surround-like as in CSFEC.
(if you can't see the banner right now my server is currently offline)

walterg74

Sweet, emu site is down but with a different message now :P

cpcitor

Quote from: walterg74 on 06:06, 17 October 24Sweet, emu site is down but with a different message now :P

Still down after 3 days. @cngsoft are you okay?
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

walterg74

Quote from: cpcitor on 15:47, 20 October 24
Quote from: walterg74 on 06:06, 17 October 24Sweet, emu site is down but with a different message now :P

Still down after 3 days. @cngsoft are you okay?

It was not down after 3 days. It comes and goes. I was able to access just fine, and right now as I type this it is also working.

McArti0

@cngsoft Could you Add the ability to change the COPY key to something other than INSERT? On laptops it is often used with Fn.
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

cpcitor

Quote from: walterg74 on 17:20, 22 October 24It was not down after 3 days. It comes and goes. I was able to access just fine, and right now as I type this it is also working.

Thanks for notifying.

I pushed an update on the git repository: https://github.com/cpcitor/cpcec

History: https://github.com/cpcitor/cpcec/commits/master/
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

cngsoft

I'm falling badly behind the times, my current job is very demanding, my noisy handmade webserver goes down whenever I must sleep... but life goes on, I guess.

The request from McArti0 is interesting. While none of my laptops "sinks" Insert into another key (they sink Page Up+Down, Home and End into the cursor arrows instead) I can see the convenience of introducing some way for the user to redefine the keyboard, or at least parts of it such as these special keys that don't have a clear counterpart in modern keyboards. Right now my emulators allow simulating a joystick on the keyboard, and its keys can be chosen by the user; going further and enabling redefining all the keys isn't impossible. It would be difficult, however, given the limited user interface of CPCEC and kin.

Requests and internal tweaks aside (for example improvements in sound mixing and sync) I'm stuck. I'm short on docs detailing the behavior of multiple elements, and I don't have the materials or the stamina for experiments. What shall I do?
(if you can't see the banner right now my server is currently offline)

cpcitor

Quote from: cngsoft on 14:07, 25 November 24I'm falling badly behind the times, my current job is very demanding, my noisy handmade webserver goes down whenever I must sleep... but life goes on, I guess.

Do you mean you are a human being too, and not some ethereal being producing magical software?  ;)

I hope you stay with us!

Quote from: cngsoft on 14:07, 25 November 24The request from McArti0 is interesting. While none of my laptops "sinks" Insert into another key (they sink Page Up+Down, Home and End into the cursor arrows instead) I can see the convenience of introducing some way for the user to redefine the keyboard, or at least parts of it such as these special keys that don't have a clear counterpart in modern keyboards. Right now my emulators allow simulating a joystick on the keyboard, and its keys can be chosen by the user; going further and enabling redefining all the keys isn't impossible. It would be difficult, however, given the limited user interface of CPCEC and kin.

I understand.

Quote from: cngsoft on 14:07, 25 November 24Requests and internal tweaks aside (for example improvements in sound mixing and sync) I'm stuck. I'm short on docs detailing the behavior of multiple elements, and I don't have the materials or the stamina for experiments. What shall I do?

I don't understand this. Did you change topic somehow?

Anyway, I write for another reason. It looks like recent releases of cpcec no longer autorun programs when the argument -m2 is explicitly provided (or -m2 -k1).

Release 2022-08-08 was okay.
Release 2024-04-16 has the problem.
Release 2024-09-09 also has the problem.

I can of course not use -m2 as it looks like a CPC6128 is the default. Still it looks like not working as intended.

Keep up the good work! You've done so many prods and they are good!
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

McArti0

Quote from: cngsoft on 14:07, 25 November 24The request from McArti0 is interesting. While none of my laptops "sinks" Insert into another key (they sink Page Up+Down, Home and End into the cursor arrows instead) I can see the convenience of introducing some way for the user to redefine the keyboard, or at least parts of it such as these special keys 
I have HP. When i set not sinks F1-F12 in bios, then i have sinks 'Insert'.  :'( :-\
In SymbOS move cursor is (not) funy, Fn+Insert+Arrow.  :picard2: :picard:
CPC 6128, Whole 6128 and Only 6128, with .....
NewPAL v3 for use all 128kB RAM by CRTC as VRAM
TYPICAL :) TV Funai 22FL532/10 with VGA-RGB-in.

cngsoft

Quote from: cpcitor on 23:07, 02 December 24It looks like recent releases of cpcec no longer autorun programs when the argument -m2 is explicitly provided (or -m2 -k1).

Release 2022-08-08 was okay.
Release 2024-04-16 has the problem.
Release 2024-09-09 also has the problem.

I can of course not use -m2 as it looks like a CPC6128 is the default. Still it looks like not working as intended.
This bug is serious enough to warrant a new public version, 20241216 -- minor patch fixing a bug in command-line parameters combined with autorun files: the former could override the later even when the files came last (reported by Cpcitor). Further tweaks in the sound logic and sources to enable compiling the emulators with mono sound, and to improve the audio synchro. Optional surround stereo is available in CPCEC, CSFEC (when there's more than one SID chip) and ZXSEC. X-masking and Y-masking changed again, trying to grow closer to light-and-dark pixel analog screen patterns. X-blending adjusts itself to the machine's video mode, f.e. it will perform simpler pixel blur calculations in CPCEC when MODE 2 isn't selected.

The cause of the bug was a flag used to tell whether the emulated machine must be reset on launch. This must not happen when we load a snapshot, when we autorun a disc or a tape, etc. from the command line, but it must happen if we select a machine type.

That being said, the command line parameters are processed from first to last, so "cpcec -m2 snap.sna" will choose a CPC 6128 machine and then load "snap.sna", that wil override the machine type if it was saved from a non-6128 machine. And vice versa, "cpcec snap.sna -m2" will load the snapshot first, then reset the machine because the user requested a CPC 6128. Generally speaking, any combination of files or parameters that change the machine type (snapshots, cartridges, "-m N"...) will raise conflict, as elements will override the previous ones.

I hope to be able to tackle other matters in the near future, albeit I cannot make promises due to limited spare time, stamina, docs...
(if you can't see the banner right now my server is currently offline)

cngsoft

Just in time for Christmas' Eve, here's a new minor patch that tackles another long-standing quirk:
20241224 -- minor patch fixing a bug where the disc file handler in all emus would not fall back to read-only modes when inserting read-only files in non-read-only modes (reported by Dlfrsilver). Removed the "microwave static" mode, it never looked right; instead, the user can now independently set whether Gigascreen and X-blending are fine or coarse.
Now I better return to the living room :-) Have a nice Christmas night!
(if you can't see the banner right now my server is currently offline)

robcfg

Thank you César! Merry Christmas to you too!

cpcitor

Quote from: cngsoft on 22:31, 24 December 24Just in time for Christmas' Eve, here's a new minor patch that tackles another long-standing quirk:

Thanks @cngsoft for these updates! Propagated to https://github.com/cpcitor/cpcec as usual.

Regarding the "microwave static", I agree with removing it.

By the way, I feel that the full-screen grey speckles all over "static" displayed by RetroVirtualMachine when the CPC is off it totally stupid.  Some other computers of the era, when plugged to a TV via a RF adapter, would let the TV display static when the computer is off. Not the CPC!

The CPC is plugged to its monitor with a RGB link, not RF. This combines the highest picture quality with the lowest complexity/cost (thanks Mr Sugar and his team of engineers). So, a real Amstrad monitor just never shows static. Static is irrelevant, don't show static.

Most of the visual effects that RetroVirtualMachine adds are stupid anyway IMHO, especially the "Beam" one. They might match the experience the author had, e.g. evening with a light blub on mains power with a 50Hz frequency slightly off from the frequency determined by the CPC crystal oscillator. But it does not match the experience I, or a number of others, had. Having them enabled by default on each new machine is a bad choice IMHO. RetroVirtualMachine is full of eye candy features that are not actually important and become time wasters when working on a prod. And I can't change that or offer a patch because closed source!

For all these reasons, I prefer cpcec much above RetroVirtualMachine. Congrats César!

Anyway, thanks for making and maintaining cpcec!
Had a CPC since 1985, currently software dev professional, including embedded systems.

I made in 2013 the first CPC cross-dev environment that auto-installs C compiler and tools: cpc-dev-tool-chain: a portable toolchain for C/ASM development targetting CPC, later forked into CPCTelera.

walterg74

Quote from: cpcitor on 17:32, 26 December 24
Quote from: cngsoft on 22:31, 24 December 24Just in time for Christmas' Eve, here's a new minor patch that tackles another long-standing quirk:

Thanks @cngsoft for these updates! Propagated to https://github.com/cpcitor/cpcec as usual.

Regarding the "microwave static", I agree with removing it.

By the way, I feel that the full-screen grey speckles all over "static" displayed by RetroVirtualMachine when the CPC is off it totally stupid.  Some other computers of the era, when plugged to a TV via a RF adapter, would let the TV display static when the computer is off. Not the CPC!

The CPC is plugged to its monitor with a RGB link, not RF. This combines the highest picture quality with the lowest complexity/cost (thanks Mr Sugar and his team of engineers). So, a real Amstrad monitor just never shows static. Static is irrelevant, don't show static.

Most of the visual effects that RetroVirtualMachine adds are stupid anyway IMHO, especially the "Beam" one. They might match the experience the author had, e.g. evening with a light blub on mains power with a 50Hz frequency slightly off from the frequency determined by the CPC crystal oscillator. But it does not match the experience I, or a number of others, had. Having them enabled by default on each new machine is a bad choice IMHO. RetroVirtualMachine is full of eye candy features that are not actually important and become time wasters when working on a prod. And I can't change that or offer a patch because closed source!

For all these reasons, I prefer cpcec much above RetroVirtualMachine. Congrats César!

Anyway, thanks for making and maintaining cpcec!

And yet, despite the huge rant, you do always have the option, should you want to, to hook it up via the modulator...

Gryzor

Yeah, I mean, it's not like anyone sees the static effect and goes "ahhh yes I remember all those times I spent looking at static on my CPC monitor..."

It's just for fun. Relax.

Powered by SMFPacks Menu Editor Mod