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 3 Guests are viewing this topic.

hakorec

Quote from: cngsoft on 17:29, 13 April 24
Quote from: hakorec on 14:41, 13 April 24Well, what you say is very nice, but it is not "quick". I have never seen such a tedious and confusing method in any emulator before. What could be the explanation for your choosing such a method? For example, by default in Retroarch, F2 is quick save and F4 is quick load. This is it. Very simply. The emulator must create in the background a save file that is the same as the installed game file but has a different extension. In this way, we can upload even days later when we play the same game. I shouldn't bother giving the file name. If you want, you can change this ridiculous method in later versions by not being lazy and writing some code. respects.
Long answer: ergonomy dictates that no single-keystroke operation must destroy the state of the programme or overwrite any files. Thus all single-keystroke operations should do either harmless actions (for example toggling the sound on and off) or show dialogs that let the user cancel the action before they can have any consequences (f.e. selecting the snapshot you want to overwrite). Requiring two keys to perform an immediate reset or save a new snapshot (just to mention another pair of examples) reduces the risk of accidentally hitting the wrong keys. Besides, the Amstrad CPC isn't a videogame console (a field where your reference Retroarch focuses the most) but a full-blown computer, so there's much more user input than inserting a cartridge, waggling the joystick and mashing the buttons: there's a whole keyboard to emulate, as well as many devices (tapes that you can play, record, stop and eject, discs that you can insert and remove, etc.) that benefit from keyboard shortcuts. Alas, twelve function keys can't do everything, so combinations with Control and Shift become necessary.
Short answer: CPCEC and its siblings are tedious, confusing, ridiculous and lazy, but they're also open source softwares, so feel free to edit their sources to your heart's desire.

We call the save process before any dialogue appears on the screen Quick save, this is what it is for. Programs that ask "Are you sure" for everything are not considered user-friendly. I understand you, you increase the limited number of keys by pressing shift or ctrl. I am using an Xbox controller, so we can at least create a key setting section and assign not only the joystick keys but also features such as quick save to the Xbox controller. If you examine the Ares emulator, you can see what has been done. However, as you know, such small nuances determine the line between the user rejecting the emulator. In this way, your emulator will attack from the lower rows to the upper rows.


walterg74


McArti0

Quote from: hakorec on 18:11, 13 April 24However, as you know, such small nuances determine the line between the user rejecting the emulator. In this way, your emulator will attack from the lower rows to the upper rows.
Do you know any other emulator with Double interlace and Blend Scanlines working so well?
You know, this is the BIG WALL determine the ABYSS for me between rejection and choosing CPCEC.
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.

hakorec



It has a weird name, "snapshot". What is snapshot? At first I thought it would save a jpg image. This is called savestate in the emulator world.



This is the snapshot.


Brothers, your program has many good aspects, I strive to make it better. If the program was bad, what would I be doing here, why would I waste my time here?

robcfg

Just as a note, screen captures are called "screenshots" while the state of the machine is called a "snapshot".

You are showing screenshots, while the emulator saves snapshots.

I hope this helps.

walterg74

Quote from: hakorec on 20:21, 13 April 24

It has a weird name, "snapshot". What is snapshot? At first I thought it would save a jpg image. This is called savestate in the emulator world.



This is the snapshot.


Brothers, your program has many good aspects, I strive to make it better. If the program was bad, what would I be doing here, why would I waste my time here?

You do not even know proper english and you are questioning the use of a word you are clearly wrong on..?

Yes, you are right, stop wasting your time here (and more importantly other people's time), and go search for aj emulatornfor dumbasses which will be more for you....

Adding one to ignore list...

hakorec

Brothers, my first computer in the 80's when I was little was Amstrad CPC 464. I don't have a working Amstrad computer now. Today, I can only use this computer, which has a large library, through the emulator. I tried all the emulators that emulate Amstrad, your program is good but incomplete.

Now, I am posting screenshots of places that are easy to use from other robust emulators, you know whether you can do it or not.


msx computer emulation, this is a computer, not a console. The joystick adjustment is set to my Xbox controller.


Quick save and quick load. Tuned to the Xbox controller. with one click no questions asked.

McArti0

Quote from: hakorec on 22:08, 13 April 24I tried all the emulators that emulate Amstrad
which one is the best?
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.

Nich

Quote from: hakorec on 20:21, 13 April 24It has a weird name, "snapshot". What is snapshot? At first I thought it would save a jpg image. This is called savestate in the emulator world.
I have been using Amstrad CPC emulators since 1997, and every single one of them that I've tested has always used the term 'snapshot' in this context. I'm pretty sure that every ZX Spectrum emulator uses 'snapshot' in the same context as well. I don't see any reason for the CPC emulation community to change our terminology after nearly 30 years.

pelrun

Wow. That's got to be some sort of elaborate troll, surely? :picard2:

Gryzor

Wish I'd seen this earlier, I'd have stepped in. I don't buy it the it was a bad translation. Next time, @hakorec , just use your native language and we'll translate it ourselves. 

Prodatron

#361
From my experience:

Emulators, which are using the term "snapshot":
- all CPC emulators I know (because Marco Vieth introduced this in the mid-1990ies with the SNA format for CPCEmu, which is used by all emulators until today)
- ZX Spectrum emulator "ZesaruX"
- Enterprise 64/128 Emulator "EP128Emu"
- PCW Emulator "CPMBox" and PCW16 emulator "Ana Rosa"
- C64 Emulator "Vice"


Emulators, which are using the term "state":
- BlueMSX MSX emulator ("CPU state"; illogical; in fact it means it dumps the complete system content with all sub components)
- OpenMSX MSX emulator ("state", but it mentions both "state" and "snapshot" in the help)
- SdlTrs TRS-80 emulator ("emulator state")

IMHO "state" is much more exotic than "snapshot", at least in the homecomputer emulator world.

GRAPHICAL Z80 MULTITASKING OPERATING SYSTEM

robcfg

The Dragon and CoCo emulator XRoar uses "Snapshot" for the machine state and "Screenshot" for the image capture.
A picture is worth a thousand words, they say...  ;D

8tpercent

Not sure if it's just me but using the current cpcec when the loading of Manic Miner tape finishes, the title screen is skipped and goes straight into the
game... and the major issue being Willy just jumps by himself and the screen/colours are odd.

Tried various CDTs eg.. Manic Miner Software Projects.cdt and all the same issues.

Oddly, if you use the disk version, it's totally fine... eg. Manic Miner Software Projects.dsk

Jean-Marie

On CPC-Power, it is reported that the tape version only works on 464 :
manic miner © software projects (1984) (cpc-power.com)
"On CPC 664 & 6128, the character will keep on jumping."

cngsoft

Alright, it looks like all the implicit signed chars are gone at last. So let's release a new package:

20240414 -- minor patch fixing unexpected bugs in systems where "unsigned char" is the default setting (reported by CPCbegin on his Raspberry Pi 400), some of them big (for example, 48K cartridge mapping was completely wrong in MSXEC), some of them small (for example, pressing LEFT in the debug screen when the cursor was on the left edge of the register panel would wrap it to the right, instead of staying still as it does when pressing RIGHT on the right edge). The extended AY chip and Z80 interfaces got reworked to allow finer control of audio clocks and memory-mapped I/O, respectively. MSXEC fixes bugs in the MSX cartridge mappers (for example Konami 8K cartridges react to the whole $6000-$BFFF area rather than just to $6000, $8000 and $A000) and the V9938 (the "flash" bit is ignored when the active VRAM page is below the 32K boundary, as in the water scenes of "Maze of Galious" for MSX2), emulates the DAC in "Konami's Synthesizer" and allows patching the current virtual cartridge through IPS files.
(if you can't see the banner right now my server is currently offline)

cpcitor

Hi everyone,

Quote from: cngsoft on 16:57, 18 April 2420240414 -- minor patch fixing unexpected bugs in systems where "unsigned char" is the default setting (reported by CPCbegin on his Raspberry Pi 400), some of them big (for example, 48K cartridge mapping was completely wrong in MSXEC), some of them small (for example, pressing LEFT in the debug screen when the cursor was on the left edge of the register panel would wrap it to the right, instead of staying still as it does when pressing RIGHT on the right edge). The extended AY chip and Z80 interfaces got reworked to allow finer control of audio clocks and memory-mapped I/O, respectively. MSXEC fixes bugs in the MSX cartridge mappers (for example Konami 8K cartridges react to the whole $6000-$BFFF area rather than just to $6000, $8000 and $A000) and the V9938 (the "flash" bit is ignored when the active VRAM page is below the 32K boundary, as in the water scenes of "Maze of Galious" for MSX2), emulates the DAC in "Konami's Synthesizer" and allows patching the current virtual cartridge through IPS files.

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.

cngsoft

Both CPCEC and CHIPNSFX got new patches, the first one tying up loose ends from the previous patch, the second one addressing the "unsigned char" scenario:

CPCEC 20240422 -- minor patch fixing bugs in the UTF-8 logic (string length, BOM header in text files) and the MSX2 V9938 (register 9 must set the screen geometry at once: "La Abadia del Crimen MSX2"), and modifying the combined X-masking and Y-masking dot matrix.
CHIPNSFX 20240422 -- minor patch adding a player size optimisation from Jean-Marie and fixing bugs in systems where "unsigned" is the default "char" setting, f.e. Raspberry Pi 400. Added GALIOUS1-2.CHP and GREMLIND.CHP.

(if you can't see the banner right now my server is currently offline)

robcfg


Jean-Marie

Here is the translation of CHIPNSFX player for WinAPE assembler for those who need it.

cngsoft

#370
New month, new patch, mostly focusing on the runtime and the shared components within, plus several fixes including more ARM-based "unsigned char" quirks:

20240505 -- minor patch adding functions I ("input") and O ("output") to the debugger's graphics viewer: they behave like their hexa dump counterparts, and combined with key M, can be used to load and save VDP memory on MSXEC. Further "char->BYTE/INT8" cleanup: CSFEC was mute in "unsigned char" systems because the SID channel flags never fell below zero. Fixed bugs in the MSX VDP (running MSX2 hardware, setting ink 0 to any colour but black, then switching to MSX1 hardware wouldn't reset ink 0 to black) and the CPC FDC (the delays that could skip sectors in "Bad Cat" were harming "Strike Force Harrier"). Replaced the buggy MSX 2.1 firmware with a clean 2.0 version: "La Abadía del Crimen MSX2" now runs out of the box. Moved more boilerplate code from the emulators to the shared runtime, whose INFLATE and DEFLATE functions now reuse more code. The XRF tool is now called XRFEC for the sake of consistency: XRF is the format and XRFEC is the tool.
(if you can't see the banner right now my server is currently offline)

Darren

Quote from: Jean-Marie on 09:34, 18 April 24On CPC-Power, it is reported that the tape version only works on 464 :
manic miner © software projects (1984) (cpc-power.com)
"On CPC 664 & 6128, the character will keep on jumping."
I had CPC6128 and bought the tape version of Manic Miner and had the same problem.  IIRC it is because the game uses memory that the disk drive uses.  AA did print a program that fixes this.

MiguelSky

Quote from: Darren on 10:06, 10 May 24
Quote from: Jean-Marie on 09:34, 18 April 24On CPC-Power, it is reported that the tape version only works on 464 :
manic miner © software projects (1984) (cpc-power.com)
"On CPC 664 & 6128, the character will keep on jumping."
I had CPC6128 and bought the tape version of Manic Miner and had the same problem.  IIRC it is because the game uses memory that the disk drive uses.  AA did print a program that fixes this.
Not the disk drive, but the ROM BASIC 1.1. I had a Spanish 472 (the very first versions included BASIC 1.1) and suffered same problem not only in this game, several games didn't work properly because of this: Prince of Persia (hanging when finish level1), Cobra's Arc (text ilegible), Rocky Horror Show and Dinamite Dan (bad behaviour).
Years later, I replaced BASIC 1.1 to BASIC 1.0 what fixed the issue.

cngsoft

I just released new versions of CSW2CDT the tape conversion tool and CHIPNSFX the tracker-player suite.

* CSW2CDT 20240727 -- minor patch. Improved Gremlin handlers: type Gremlin0 is gone, Gremlin1 handles single-part blocks (f.e. "Basil the Great Mouse Detective"), Gremlin2 handles multi-part blocks (f.e. "Mask") and more attention is paid to the separators between headers and bodies.
* CHIPNSFX 20240727 -- 33rd public release. Optional stereo output: the command line option "-s N" (N from 0 to 5) sets the stereo channel type, respectively ABC, ACB, BAC, BCA, CAB or CBA. Bugfix: pressing Space, Control-Q/A and others on the order list spares entries beyond the end of the song. The normal player is three bytes shorter now thanks to a new optimisation from Jean-Marie. Added DAYMOTEN.CHP, HEXAVIRU-V.CHP, KONGSB64.CHP, MONACOGO.CHP, MONACOGQ-S.CHP, ONECOLN1.CHP, PSYPIGSX.CHP, SQUAROOT.CHP, TORROSC0-2.CHP, WIZBALLZ.CHP and
WRESTARS-T.CHP: 800 songs!

CPCEC and its siblings still need to wait a little longer. I better add Norecess464's post in https://www.cpcwiki.eu/forum/index.php?msg=241720 to my to-do list. i've neglected the Plus ASIC for years.
(if you can't see the banner right now my server is currently offline)

walterg74

Anyone know if there's a specific time when the server for CPCEC is up normally..? 

Powered by SMFPacks Menu Editor Mod