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.

cpcitor

Quote from: cngsoft on 23:23, 11 September 2120210909 -- minor patch fixing bugs in the video render logic of ZXSEC, effectively ensuring that the multicolour effects seen in the tests ULA48, ULA128, FPGA48 and FPGA128 and the games made with the Nirvana engine ("Dreamwalker", "Multidude", "Stormfinch", "Sunbucket"...) show properly, and adding new audio extensions for CPCEC (Digiblaster audio) and ZXSEC (Covox $FB DAC) plus preliminary emulation of Pentagon 128 timings and (if the TRDOS.ROM file is available) the Beta128 disc drive and its TRD and SCL files.

Propagated to https://github.com/cpcitor/cpcec . Congrats again cngsoft for your work. ;-)
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.

SkulleateR

Just compiled and tested on Raspberry Pi400 64Bit, no problems, keep up the good work  8)

MiguelSky

Quote from: MiguelSky on 10:37, 12 August 21
Using 20210626. I try to keep it updated all time. As I said in my former message, form W10 with the option unticked any saving to disc are not done, but there is no error message from AMSDOS.


EDITO: Testing a bit more, in the conf file I see fdcw set to 2, both setting it to 1 or 0 now launch dis is write protected when trying to save, If I toggle the Strict write to disc option to off (I think it already was of before, it must have changed when editing cfg file), the behaviour is the same I described upper.
Ok, I found out what happens: I linked the .dsk files to CPCEC. If I open a dsk by double clicking on it, the dsk is opened and auto executed but it doesn't admit any changes to disk. This doent's occurs when I open a dsk within the emulator through menu, in this case it works fine.

cngsoft

#178
Another month, another update:


20210930 -- minor patch fixing several bugs in the Z80 (ZXSEC now passes new Spectrum tests such as 48KNEC, EIHALT, IRCONT, BBG48 and BBG128, thanks to Azesmbog, Dunny, Woody and ZJoyKiLer), a glitch in the CRTC (the HSYNC filter required by "Onescreen Colonies" and "Scroll Factory" was harming "Paradise Megademo part 2" and others) and another one in the AY chip ("Stormbringer" for CPC needs more leeway than "Terminus"), improving the autorun logic and tape speedup of both CPCEC and ZXSEC, and adding the 64-colour ULAplus extension for Spectrum, as well as the ability to read SP and SZX snapshots.

Btw, I also changed the behavior of the disc autorun so it uses the same default read/write mode as the disc insert. I'm not too fond of this behavior (what if one particular autorunnable disc writes on itself and we do NOT want it to happen?) but it's more intuitive than the original always-read-only disc autorun.
(if you can't see the banner right now my server is currently offline)

cpcitor

Quote from: cngsoft on 12:15, 03 October 21Another month, another update:

... and another propagation to https://github.com/cpcitor/cpcec . Congrats again cngsoft for your work. ;-)
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.

genesis8

Is it possible to paste text inside CPCEC like with Winape ?
____________
Amstrad news site at Genesis8 Amstrad Page

cngsoft

#181
Monthly update, once again focusing more on the Spectrum than on the CPC:

20211105 -- minor patch adding PZX file support to ZXSEC and reorganising the tape handling code (the TZX1 blocks JUMP, CALL and RETURN from are properly handled: "Hollywood Poker"), improving the Pentagon video logic ("Across the Edge" and "Rage" show their pixel-precise border effects), making the CPCEC option "Strict SNA files" write V2 snapshots when enabled, and simplifying the $EDA0-$EDBB Z80 opcode block. Experimental compile-time options include saving SZX snapshots from ZXSEC and reading Kansas City blocks from CDT and TZX files.

I wish I could improve the CPC emulation, but I've been stuck for many months with "Overflow Preview 2", the CRTC 0 version of "Octopus Pocus" and the PLUS cartridge "SHMUP POC".

Genesis8: No text pasting yet, though. CPCEC is already equipped with a "ghost typer" but so far it's limited to the autorun operations.
(if you can't see the banner right now my server is currently offline)

genesis8

____________
Amstrad news site at Genesis8 Amstrad Page

cngsoft

#183
Another small update, focusing on an irritating bug in the tape playback, but also dabbling into the mysteries of device contention.



20211111 -- minor patch fixing a bug in TZX playback that made all tapes after the first one lose the first item in the first block, adding basic DMA-PIO contention to the CPC Plus ASIC and improving the Spectrum floating bus: the tests HALT2INT (48K) and FLOATSPY (48K and 128K) work properly now.
(if you can't see the banner right now my server is currently offline)

norecess464

#184
Hello,

I just released publicly the first release of cpcec-gtk, a native Debian-based front-end for cpcec.

You can download it here and try it by yourself : https://gitlab.com/norecess464/cpcec-gtk/-/tags/v1.0-20211004

Project details: https://gitlab.com/norecess464/cpcec-gtk


My personal website: https://norecess.cpcscene.net
My current project is Sonic GX, a remake of Sonic the Hedgehog for the awesome Amstrad GX-4000 game console!

robcfg

Works nice on my Linux VM (albeit unusably slow), so that's great!


I tried compiling it on MacOS, but the trick you use for mixing GTK and SDL windows, only works on Linux with X11, which is pity.


Cheers,
Rob

MiguelSky

Quote from: MiguelSky on 11:38, 13 September 21Ok, I found out what happens: I linked the .dsk files to CPCEC. If I open a dsk by double clicking on it, the dsk is opened and auto executed but it doesn't admit any changes to disk. This doent's occurs when I open a dsk within the emulator through menu, in this case it works fine.
This behavior also occurs when dragging a dsk into the emu window. The only way to get dsk saving working properly is by opening dsk files from menu/F7.

GUNHED

Hi there! Just downloaded the new 2021.11.11 version. Looks great and emulates some exotic hardware which is cool to have this on a emulator.


But I can't find of of the very basic functions. How can I use expansion ROMs? (There is an option to change firmware, but no expansion ROMs). Any help is appreciated.
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)

SkulleateR

AFAIK there is no ROM Board emulation in CPCEC ...

MiguelSky

In according with the manual, there is:
Quote[size=78%]INI files can be used to define a "profile", a set of extra ROMs to load on top[/size]
of the current firmware. Internally they're simple text files where each line
defines an attribute or a ROM:


* type = 0..3 : sets the firmware type (for example 0 stands for CPC464) as seen
in the command line parameters -m0..3;
* bank = 0..4 : sets the RAM size (for example 0 stands for 64k) as seen in the
parameters -k0..4;
* crtc = 0..4 : sets the CRTC type, as seen in the parameters -g0..4;
* fddc = 0..1 : sets whether the floppy disc drive controller is enabled (1) or
disabled (0);
* lowest=filename : sets the LOW ROM content; the ROM file must be located in
the same directory where the profile is;
* highXX=filename : sets the content of HIGH ROM slot XX, where XX is a
two-digit hexadecimal number: "00" is 0, "0A" is 10, "10" is 16, etc. for
example HIGH07=PARADOS.ROM would place PARADOS.ROM in slot 7.

GUNHED

Would be great to have that in the interface like anything else already.  :)
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)

cpcitor

Congratulations CNG again for your work.

Propagated last 3 updates of cpcec to git repository at https://github.com/cpcitor/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.

krusty_benediction

I open the sources to add support for simple breakpoint loading from sna and discovered this code deactivated ?
        #if 0 // unsupported
        else if (k==0x42524B53&&!(l%5)&&snap_extended) // breakpoint table "BRKS"
        {
            MEMZERO(z80_breakpoints);
            for (;l;l-=5)
            {
                k=fgetiiii(f); if (!fgetc(f)&&k>=0&&k<length(z80_breakpoints))
                    z80_breakpoints[k]=1; // stick to breakpoints without flags
            }
        }
        #endif

It seems to work properly; is there any reasons to not enable it ?

cngsoft

#193
Cpcitor: a new update came right after you propagated the previous three:



- 20211119 -- minor patch adding a new entry in the Audio menu ("Audio acceleration") to set whether the audio buffer length is short (lower latency) or long (more compatible). The Plus ASIC DMA-PIO contention is a little more precise. Tapes for Spectrum avoid several unwanted coincidences ("Advanced Soccer Simulator" and "Banger Racer", found by Raúl). The help screens are a little more explicit, the WAV file output is always lil-endian even if the system is big-endian, the pixel filter and the scanline blend are faster, and the SDL2 user interface becomes white-on-black with the parameter `-$`.

Skulleater, GUNHED: INI files were described in the emulator docs, as well as in past posts in this thread; loading the resulting INI file is a matter of putting it in the command line or using F3 or F5 to select it.

Krusty_benediction: that code is dummied out because I don't know the meaning of the three bytes that follow the word stating the breakpoint's location.
(if you can't see the banner right now my server is currently offline)

cpcitor

Thanks @cngsoft for notifying. The latest change is propagated now! https://github.com/cpcitor/cpcec/

Quote from: cngsoft on 20:51, 21 November 21
Cpcitor: a new update came right after you propagated the previous three:



- 20211119 -- minor patch adding a new entry in the Audio menu ("Audio acceleration") to set whether the audio buffer length is short (lower latency) or long (more compatible). The Plus ASIC DMA-PIO contention is a little more precise. Tapes for Spectrum avoid several unwanted coincidences ("Advanced Soccer Simulator" and "Banger Racer", found by Raúl). The help screens are a little more explicit, the WAV file output is always lil-endian even if the system is big-endian, the pixel filter and the scanline blend are faster, and the SDL2 user interface becomes white-on-black with the parameter `-$`.

Skulleater, GUNHED: INI files were described in the emulator docs, as well as in past posts in this thread; loading the resulting INI file is a matter of putting it in the command line or using F3 or F5 to select it.

Krusty_benediction: that code is dummied out because I don't know the meaning of the three bytes that follow the word stating the breakpoint's location.
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.

krusty_benediction

Quote from: cngsoft on 20:51, 21 November 21Krusty_benediction: that code is dummied out because I don't know the meaning of the three bytes that follow the word stating the breakpoint's location.

yep, I think no one ;) We assume it is 0 if there is no flag. No idea for the other values

roudoudou

Quote from: krusty_benediction on 08:34, 22 November 21
yep, I think no one ;) We assume it is 0 if there is no flag. No idea for the other values
i guess the other bytes are dealing for RAM/ROM connections (and zeroed for first 64K without ROM connected)
My pronouns are RASM and ACE

GUNHED

Quote from: cngsoft on 20:51, 21 November 21
Skulleater, GUNHED: INI files were described in the emulator docs, as well as in past posts in this thread; loading the resulting INI file is a matter of putting it in the command line or using F3 or F5 to select it.
Nice, but not usable. For the daily usage it's (imho) required to have a comfortable ROM selection menu in the interface. You got options for all needed and not-so-much-needed things in your user interface. Why not ROMs? They are essential. Any other emulator has that actually.
Missing ROM options are imo like missing "Change DSK" options. (Especially if s/o develops serious software for the CPC). But hey, it's your project, handle it as you like of course. Meanwhile I just can't use it. No problem, all the games will not care anyway.  :) :)
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)

cngsoft

#198
Just in time for the big news from Logon System, a new update, albeit a small one:




20211130 -- minor patch adding a global speed option (for example "Settings: 2x realtime speed" makes the emulation run at twice the base speed) and relocating the Z80 speed option ("CPU clock") to the "Machine" submenu; it also fixes bugs in tapes (the starting pause in CDT/TZX files no longer worked) and the user interface (drag-and-drop had stopped handling ZIP archives: reported by Raúl). New Spectrum 16K option, both in the command line (`-K`, no longer used to disable the AY chip) and the menu. Experimental support for BRKS blocks (breakpoint tables) when saving and loading CPC snapshot files; to ease deleting the breakpoints they they're no longer required, key Z can delete them all at once from any panel in the debugger, instead of only from the disassembly panel.

Roudoudou and Krusty_Benediction: let's hope the $EDFF *BRK opcode and the BRKS block are good enough for the time being. Right now the later are MMU-blind, like the remainder of the debugger.

Gunhed: I can live with INI profiles. Write once, edit seldom, use daily.
(if you can't see the banner right now my server is currently offline)

cpcitor

Quote from: cngsoft on 13:26, 01 December 21
Just in time for the big news from Logon System, a new update, albeit a small one:

20211130 -- minor patch adding a global speed option (for example "Settings: 2x realtime speed" makes the emulation run at twice the base speed) and relocating the Z80 speed option ("CPU clock") to the "Machine" submenu; it also fixes bugs in tapes (the starting pause in CDT/TZX files no longer worked) and the user interface (drag-and-drop had stopped handling ZIP archives: reported by Raúl). New Spectrum 16K option, both in the command line (`-K`, no longer used to disable the AY chip) and the menu. Experimental support for BRKS blocks (breakpoint tables) when saving and loading CPC snapshot files; to ease deleting the breakpoints they they're no longer required, key Z can delete them all at once from any panel in the debugger, instead of only from the disassembly panel.

Propagated to https://github.com/cpcitor/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.

Powered by SMFPacks Menu Editor Mod