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.

walterg74

Quote from: cngsoft on 16:05, 28 February 24
Quote from: walterg74 on 23:43, 19 February 24Is it correct that last version to download is from August 2022 ?
It was correct until yesterday, because here's the new release at last:



walterg74

Spoke too soon, the server is down  :D

cngsoft

Quote from: walterg74 on 19:13, 28 February 24Spoke too soon, the server is down  :D
It's up, I see traffic in it. Where are you trying to go? The address is http://cngsoft.no-ip.org/ (not https!)
(if you can't see the banner right now my server is currently offline)

walterg74

Quote from: cngsoft on 20:48, 28 February 24
Quote from: walterg74 on 19:13, 28 February 24Spoke too soon, the server is down  :D
It's up, I see traffic in it. Where are you trying to go? The address is http://cngsoft.no-ip.org/ (not https!)

Oops... Yeah google search brings up httpS

Jean-Marie

Here is the source code of CHIPNSFX player translated for WinAPE assembler, if anybody needs it.

XeNoMoRPH

#330
thanks :)
your amstrad news source in spanish language : https://auamstrad.es

cpcitor

Hi @cngsoft .

User cpcbegin has tried the latest release of cpcec, more specifically the new msxec, and has an issue.

See the post on https://github.com/cpcitor/cpcec/issues/2 .

Incidentally I know the user took the zip from your site because the git repository wasn't up-to-date at the time (it is, now) and didn't include msxec (you added that only in the latest release).

@cngsoft can you help user cpcbegin there?

Thanks!
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

Quote from: cpcitor on 08:29, 25 March 24Hi @cngsoft .

User cpcbegin has tried the latest release of cpcec, more specifically the new msxec, and has an issue.

See the post on https://github.com/cpcitor/cpcec/issues/2 .

Incidentally I know the user took the zip from your site because the git repository wasn't up-to-date at the time (it is, now) and didn't include msxec (you added that only in the latest release).

@cngsoft can you help user cpcbegin there?

Thanks!
Thanks for updating the repository, and indeed, cpcbegin had made me aware of the bug; he's already tracked it to cart_setup(), whose SHA1 list reader was a rushed piece of code. I'll write a more reliable function, but meanwhile, anyone suffering bugs there can remove the file msxec.sha and the only downside will be that cartridge mappers will need to be manually chosen (menu "Edit": Generic 8K, generic 16K, etc) instead of MSXEC checking the list and setting them on its own.
(if you can't see the banner right now my server is currently offline)

CPCBEGIN

Thanks, you three!
I think the issue will be solved ;)
Retro & opensource

cngsoft

CPCEC gets a new release:

20240328 -- minor patch adding RUNEC, a file helper that takes a file as a parameter and launches the emulator that can read it, and fixing many warnings caused by questionable programming styles. The SDL2 version fixes double keypresses when redefining the joystick keys while debugging, as well as a crash when compiling the emulators with small window sizes. The common CDT/TZX/PZX player performs sanity checks on blocks $19 and $2B. The Z80 module relies on a new macro, Z80_DUMB to perform dummy reads. CPU clock options are no longer based on 1x, 2x, 3x and 4x, but on 1x, 2x, 4x and 8x. Autorunning a tape disables disc drives only when rebooting the system, instead of disabling the drives until a reset. CSFEC fixes two bugs in the VIC-II (reading register 26 must always set the top four bits: "HVSC 20 Years"; writing register 17 with the same old value must not remove the border: "Paradroid") and another one in the snapshot loader (pending CIA2 events were sent to CIA1) when loading snapshots. MSXEC now reads the file MSXEC.SHA as text instead of binary (reported by CPCbegin). ZXSEC can save Z80 snapshots (version 3), compression is optional. The package includes two new files, CSFEC-3B.VPL for CSFEC and MSXEC-3B.VPL for MSXEC; users can edit them to implement new colour palettes.



Let's hope that this release fixes the Raspi400 bugs (CPCbegin) and the "small window" tweaks (AdolFITO). Meanwhile CSW2CDT and CHIPNSFX got minor patches as well:
20240328 -- minor patch. Added sanity checks when playing TZX blocks $19 and $2B (suggested by Beginner, Patrik and Woodster), fixed bug in encoders "speedlock6" and "speedlock7" (reported by Dlfrsilver and Imulilla).
20240328 -- minor patch changing the OEM characters into ASCII. Added MPHOENIX.CHP.

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

adolfito

hi,

Fantastic news. I use it regularly in my small developments. It is my default amstrad emulator
 
With your indications I have been able to compile a version without border to be able to maximize the window and to see the details of the sprites.

Thanks for such a fantastic emulator of our beloved amstrad.

Regards
fito.

CPCBEGIN

#336
Quote from: cngsoft on 15:37, 30 March 24CPCEC gets a new release:

...Let's hope that this release fixes the Raspi400 bugs (CPCbegin)...

Excelent news: now I can run MSXEC on my raspberries and most games runs without problems but I find some cases with issues:
- Case 1: Games than doesn't run in any raspi and runs OK in PC with linux but only show basic in raspi, p.e.: Bomb jack, Knight Lore remake MSX2, Jailbreak
- Case 2: Games than doesn't run in any architecture and only show basic: penguin kun war 2, R-type Enhancement patch
- Case 3: Games than doesn't run in any architecture and loop reset, p.e.: 3D Golf Simulator, Super Rambo Special, Pengo Patxanga soft (show SEGA and PAtxanga logo in loop).
- Case 4: Games than doesn't run in any architecture and never start, p.e.: Alestre Compile, Go othello! Konami, Vectroids, Who dares wins remake retroforce
- Case 5: Freezes during game in all architecture: The Sword of Iana, Xevious
- Case 6: Freezes during game only in raspi: Xevious (freezes when the ship is in the left edge).
Retro & opensource

walterg74

Quote from: CPCBEGIN on 12:14, 31 March 24
Quote from: cngsoft on 15:37, 30 March 24CPCEC gets a new release:

...Let's hope that this release fixes the Raspi400 bugs (CPCbegin)...

Excelent news: now I can run MSXEC on my raspberries and most games runs without problems but I find some cases with issues:
- Case 1: Games than doesn't run in any raspi and runs OK in PC with linux but only show basic in raspi, p.e.: Bomb jack, Knight Lore remake MSX2, Jailbreak
- Case 2: Games than doesn't run in any architecture and only show basic: penguin kun war 2, R-type Enhancement patch
- Case 3: Games than doesn't run in any architecture and loop reset, p.e.: 3D Golf Simulator, Super Rambo Special, Pengo Patxanga soft (show SEGA and PAtxanga logo in loop).
- Case 4: Games than doesn't run in any architecture and never start, p.e.: Alestre Compile, Go othello! Konami, Vectroids, Who dares wins remake retroforce
- Case 5: Freezes during game in all architecture: The Sword of Iana, Xevious
- Case 6: Freezes during game only in raspi: Xevious (freezes when the ship is in the left edge).
How can Xevious freeze "in all architectures" but "only in raspi" at the same time? Doesn't make sense..?

CPCBEGIN

#338
Xevious is case 6
Error typing  :D
Retro & opensource

cngsoft

Quote from: CPCBEGIN on 12:14, 31 March 24Excelent news: now I can run MSXEC on my raspberries and most games runs without problems but I find some cases with issues:
- Case 1: Games than doesn't run in any raspi and runs OK in PC with linux but only show basic in raspi, p.e.: Bomb jack, Knight Lore remake MSX2, Jailbreak
- Case 2: Games than doesn't run in any architecture and only show basic: penguin kun war 2, R-type Enhancement patch
- Case 3: Games than doesn't run in any architecture and loop reset, p.e.: 3D Golf Simulator, Super Rambo Special, Pengo Patxanga soft (show SEGA and PAtxanga logo in loop).
- Case 4: Games than doesn't run in any architecture and never start, p.e.: Alestre Compile, Go othello! Konami, Vectroids, Who dares wins remake retroforce
- Case 5: Freezes during game in all architecture: The Sword of Iana, Xevious
- Case 6: Freezes during game only in raspi: Xevious (freezes when the ship is in the left edge).
Re: the cartridges that fail on all architectures: Are you manually setting the cartridge mapper type (submenu "Edit") when the cartridges fail to boot? The MSXEC.SHA list is quite perfunctory (old GoodMSX and GoodMSX2 datas and little else) and doesn't contain every cartridge ever. I wasn't even aware of a remake of "Who dares wins" or a patch for "R-Type"! Modern releases often explain which mapper they need, and in the worst case you can try them one by one; when you find the right mapper, you just have to add the SHA1 code of the cartridge and its mapper type value to MSXEC.SHA, and it will stick. Types are 0 (generic 8K), 1 (generic 16K), 2 (Konami SCC), 3 (Konami 8K), 4 (ASCII 8K), 5 (ASCII 16K), 6 (Konami 8K+SRAM), 7 (ASCII 8K+SRAM) and 8 (ASCII 16K+SRAM). For example, there are three versions of "Sword of Ianna", all running on ASCII 16K mappers: September 2017 ("1f3fb7c72c49ffb1c6dd43a6f8b2d1f5eed99bbc 5"), November 2017 ("82cf4caa78571a750403e592e3ac87c249ac4604 5") and French ("1463f1e0216ad9f944bb1da748a01034da445cef 5"): the current MSXEC.SHA already includes the second and third codes, but not the first one.

The cartridges that fail on Raspberry are more interesting because it means that the C compiler isn't doing what I expect from it. Different endian style shenanigans? Data padding? Right now all I can think of is to ask you to add more instances of 'printf("DEBUG! %02X\n",variable);' until we see where the code is going off rails... or perhaps I should buy my own Raspi400!
(if you can't see the banner right now my server is currently offline)

hakorec

Hello, does the CPCEC emulator have Quick savestate and Quick loadstate? There is save and load, but you have to enter the file name each time, which is not practical. As you know, for example, F5 and F8 are used in most other emulators and the emulator automatically creates a save file named after the loaded game.

cngsoft

#341
Well, the Raspberry Pi 400 happened to use "unsigned char" as the default behavior of "char", instead of the "signed char" that everyone else does. I'm almost done rewriting the emulators to use explicit signed chars.

Quote from: hakorec on 12:55, 13 April 24Hello, does the CPCEC emulator have Quick savestate and Quick loadstate? There is save and load, but you have to enter the file name each time, which is not practical. As you know, for example, F5 and F8 are used in most other emulators and the emulator automatically creates a save file named after the loaded game.
That's that "Save last snapshot" (Ctrl-F2) and "Load last snapshot" (Ctrl-F3) are for: first you save a normal snapshot with "Save snapshot.." (F2), then you overwrite it with Ctrl-F2 and reload it with Ctrl-F3; you can use it again with "Open any file" (F3) or "Load snapshot.." (Shift+F3) in later sessions, and resume your overwriting-and-reloading with Ctrl-F2 and Ctrl-F3.
(if you can't see the banner right now my server is currently offline)

hakorec

Quote from: cngsoft on 13:54, 13 April 24Well, the Raspberry Pi 400 happened to use "unsigned char" as the default behavior of "char", instead of the "signed char" that everyone else does. I'm almost done rewriting the emulators to use explicit signed chars.

Quote from: hakorec on 12:55, 13 April 24Hello, does the CPCEC emulator have Quick savestate and Quick loadstate? There is save and load, but you have to enter the file name each time, which is not practical. As you know, for example, F5 and F8 are used in most other emulators and the emulator automatically creates a save file named after the loaded game.
That's that "Save last snapshot" (Ctrl-F2) and "Load last snapshot" (Ctrl-F3) are for: first you save a normal snapshot with "Save snapshot.." (F2), then you overwrite it with Ctrl-F2 and reload it with Ctrl-F3; you can use it again with "Open any file" (F3) or "Load snapshot.." (Shift+F3) in later sessions, and resume your overwriting-and-reloading with Ctrl-F2 and Ctrl-F3.
Well, 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.

roudoudou

Such violence...

Who is lazy? CNG emulator is opensource, please go on and enjoy yourself...
My pronouns are RASM and ACE

d_kef

@hakorec  That way of introducing yourself in the community, by calling a member of it lazy and his work ridiculous was not exactly the best. Unless you are five years old (or a casual troll) and you just need to build some character.

d_kef

walterg74

#345
Quote from: hakorec on 12:55, 13 April 24F5 and F8 are used in most other emulators


Yeah, no... Guess you have not used many emulators...


Quote from: hakorec on 14:41, 13 April 24I 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.


LOL.. this comment is even stupider than the first, if that's even possible...

Gee, who is lazier?  The programmer who built these multi-system emulators from scratch, o some random internet idiot who is too lazy to press a couple of keys..?

What a f'ing parasite...

hakorec

Sorry, my English is bad, this is how Google translate wrote it.

reidrac

> If you want, you can change this ridiculous method in later versions by not being lazy and writing some code.

I don't think that's a problem with the translator. IMHO, what an ugly way of asking for features in an open source project :picard:
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse, Brick Rick and Hyperdrive for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

McArti0

Quote from: hakorec on 16:43, 13 April 24this is how Google translate wrote it.
Hi. Do not worry.  ;)  What is your native language?  8)
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: 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.
(if you can't see the banner right now my server is currently offline)

Powered by SMFPacks Menu Editor Mod