!

[Z80] CPCEC/ZXSEC XIII 30/11/2019

[0] @ Czwartek, 5 Grudnia 2019 00:24CET

[Z80] CPCEC/ZXSEC XIII 30/11/2019

CPCEC to projekt Cesara Nicolas-Gonzaleza dwóch emulatorów ZXSEC - czyli emulator maszynek Sinclaira (48k, 128k,
+2/Plus 2 i +3/Plus 3) i CPCE pozwalający na emulację Amstrad - Schneider (model 464, 664 i 6128).

 

Changelog

  • 20191130 -- minor patch fixing a bug when running CPCEC and ZXSEC on a screen shorter than 600 px, another one when recording a WAV file, and another one in the port logic of CPCEC ("Knight Rider", OUT &0088,&88 must not reach the Gate Array, but "Hero Quest", OUT &00C0,&C0 must reach it). The CRTC types 0 and 2 have improved ("Face Hugger Ultimate Megademo": "Tantrum", "5KB Megademo 3", "Power System Megademo": "Glooms"...) but cannot handle "Pinball Dreams" yet, unlike CRTC 3 and 4, that together with CRTC 1 support this game now.

 

NOWSZY [Z80] CPCEC/ZXSEC/CSFEC/MSXSEC XXIV 9/09/2024

CPCE 2024/09/09

  • 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.

CPCE 2024/08/30

  • 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.

CPCE 2024/05/05

  • 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.

CPCE 2024/04/22

  • 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.
  • 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.

 

NOWSZY [Z80] CPCEC/ZXSEC/CSFEC/MSXSEC XXIV 28/03/2024

CPCE 2024/03/28

  • 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.

 

CPCE 2024/02/24

  • 20240224 -- twenty-fourth public release. MSXEC is a new MSX emulator supporting the first three generations (1983 MSX, 1985 MSX2 and 1988 MSX2+), their Western Digital-based disc drives and some few additional devices (such as the Konami SCC-051649 sound chip and the JIS 128/256K external ROMs) although the emulation is less developed in some fields than others (VDP timings are inaccurate: Logon System's intro "IO" shows artifacts in the 3D scrollers and the final screen; the MSX-MUSIC interface is minimal, barely able to play notes). Fixed bugs in the Z80 (such as bad inner timings in EX HL,(SP) and EX IX,(SP) detected by Kio's "Z80 Test Programm"), the CRTC (VSYNC loss in the dancing bobs of "PhX" on CRTC4, misaligned HSYNC in Longshot's RV.BAS), the ULA ("snow" in 128K models can leak from different banks than VRAM), the VIC-II ("Super Stock Car" switched the video display off when it shouldn't) and the SID (L-Man's "Amazing Discoveries" failed to play samples; "Mazemania" got weak random values from ports 27 and 28). Added 1088K and 2112K RAM modes to CPCEC (the first version of "Still the One" needed 1024K to run) and REU/GeoRAM RAM extensions (up to 512K) to CSFEC. Code cleanup in several modules, turning repeated paragraphs into several "goto" pointing to a single paragraph and merging several lists into a single table. Streamlined video and audio filters, the former removing the "Half scanlines" video mode and adding two new options: "Microwave static" that adds randomised noise to the image and "Narrow X-Blending" that softens the effect of the X-blending option. CSFEC now has an explicit "Play tape" option instead of autoplay: some titles rely on the user pressing PLAY and STOP on the tape deck ("Super Space Invaders"). Snapshots in CSFEC and MSXEC are optionally compressed with a quick implementation of Emmanuel Marty's LZSA2 method. The user can set whether the screenshots are BMP (default) or QOI files. Removed the Spanish documentation due to lack of readers.

 

NOWSZY [Z80] CPCEC/ZXSEC/CSFEC XXIII 06/08/2022

CPCE 2022/08/06

  • minor patch fixing glitches in the VIC-II (the ending of "Creatures II" requires precise sprite priority), the CIA (the protection of "Druid 2" modifies and freezes the day-of-time clock, but "Island of Dr.Destructo" expects said clock to stay active after modifying it), the SID 6581 (Maniacs of Noise's "Echofied" scans channel 3 to generate a sampled echo), the C64 idle bus (the protection of "Barry McGuigan's Boxing" checks the $DE00-$DFFF area: reported by Neville) and the Z80 and MOS 6510 disassemblers. ZXSEC can save Dandanator information in SZX snapshots thanks to a new block type, "DNTR". The YM file generation is now in a new file, `cpcec-ym.h`. The SDL2 audio buffer is now the library's choice (suggested by Kawe). The keyboard shortcuts Alt+Up and Alt+Down zoom the window up and down. Enabling both X-masking and Y-masking shows a new dot matrix. Minor optimisations in XRF film logic.

CPCE 2022/07/07

Elektraglide (a.k.a. Elektra Glide) (English Software, 1986)
  • 20220707 -- minor patch replacing the old option "Zoom by integer" with a new submenu "Window" with options that set the size of the window, ranging from 100% to 300%, that also stick between sessions (suggested by Xyphoe), and turning the options "Pixel filter" and "Blend scanlines" into "X-blending", "Y-blending" and "Frame blending", that respectively blur the image horizontally, vertically and dynamically. Several improvements in the VIC-II (sprite crunching: Carrion & Crest's "Heraklion", Arise's "Merswiny"; line crunching: Samar's "Ukiyo") and the SID (ports 27 and 28: second chip detection in "To Norah", sound effects of "Cloud Kingdoms"; wave shapes: song of "HVSC 10 Years"; filter based on the Chamberlin algorithm). The command line parameter `-c0..-c7` is now `-c0..c9` and includes the fifth mode, average scanlines.

CPCE 2022/06/15

  • 20220615 -- minor patch fixing several glitches: the Win32 binaries use timeBeginPeriod and timeEndPeriod because of recent changes in Win10; the emulators ensure that 'frame_pos_y' and 'video_pos_y' match properly; the Z80 module handles dummy IX/IY opcodes without the unreliable macros Z80_BEWARE and Z80_REWIND; the VIC-II chip avoids retriggering sprites ("Gothik", Booze Design's "Sprite Invaders") and clips them properly if they sit on screen edges (Singular's "Smooth and Wonders"). The filter of the SID chip is now more detailed, and its third voice's oscillator returns more realistic values: "Mazemania" no longer hangs at the beginning of a level. CSFEC can load extra colour palettes from VPL files, either old style "RR GG BB D" or new "RR GG BB".

CPCE 2022/05/31

  • 20220531 -- minor patch adding a new power-up boost option (enabled by default) that tells the emulators to trap boot procedures and speed them up. Printing a disassembly now includes the source bytes, ensuring that the binary can be always rebuilt even if the disassembly is ambiguous. The Z80 operations RETN and RETI are now identical; telling them apart is up to the NMI-issuing hardware. The Plus ASIC SSSL function is now 32k-compatible, as required by the intro "Simply the Bests". Simpler ZX ULA memory contention model: the timing buffer is now 128k long instead of 256k. The VIC-II chip is more accurate: slowdowns caused by badlines and sprite fetching are emulated (Extend's "Fellas", "HVSC 10 Years" intro...), effectively enabling badline manipulation (Archmage's "Data Zombies", Focus' "Ms. Pac Man", Excess' "Funny Rasters"...), DMA-delay horizontal scrolling ("Creatures", Tempest's "Rewind"...) and sprite stretching (Oxyron's "20 Years"). The default palette is now Community-Colors instead of Colodore. The CIA chips are more accurate too (TRSI's "4Krawall") but they don't pass the PC64 test suite yet. The internal SID filter is now partially emulated; the user can manually disable it. Minor optimisations through "likely/unlikely" branching hints.

CPCE 2022/12/04

C64: F1 Tornado (Zeppelin Games, 1991). Tape ver.
  • 20220412 - twenty-third public release. CSFEC is a new Commodore 64 emulator: it passes several tests from the PC64 suite (CPUTIMING, CPUPORT and the entire MOS 6510 opcode set) but fails others (IRQ, NMI and all CIA tests); it supports up to two extra SID chips (either $D420 and $D440 or $DE00 and $DF00) but the VIC-II emulation is incomplete (no badline handling, no sprite contention); it can load PRG files and play T64 and TAP tape images, but it doesn't emulate the C1541 disc drive yet and thus cannot handle D64 disc images at all. New virtual joystick interface: the user can redefine the keys that simulate the virtual joystick instead of sticking to the keys Z and X and the cursors. Tape analysis can detect musical loaders: tape acceleration will be temporarily disabled to ensure that songs play normally. Fixed a bug in the Z80 (the internal timings of OUT (n),A were wrong) and the LA-7800's horizontal synchronisation (both reported by Hicks): the CPC demo "Onescreen Colonies #2" behaves properly.

CPCE 2022/07/03

  • 20220307 -- minor patch fixing a bug in the "half scanlines" mode and several omissions in the debuggers.

CPCE 2022/03/03

  • 20220303 -- twenty-second public release. Major internal changes in the debugger: most of it is now part of the general library, only the Z80-specific features stay in the Z80 module. Toggling the debugger's illegal opcode behavior is now done with the key "," (comma); its old key "Q" now runs until the next interruption. The debugger styles (keys "V" and "Shift+V") now include a translucent mode where the emulated screen is visible through the debugger text. Minor optimisations in the video renderer (merge vertical position and frameskip tests), the AY chip (fewer calculations) and the Z80 emulation (reduced banking in operations that read and write the same address). Small tweaks in CPCEC ("Octopus Pocus" for CRTC0 works well at last), ZXSEC (SZX snapshots are now the default choice, SNA format is now secondary), the FDC ("READ ID" must fail when using the wrong density: noticed by Roudoudou), the audio extensions (now Playcity and Digiblaster can be enabled at once, as well as Turbosound and Covox $FB) and the video filters (weakening image contrast rather than saturation).
  • 20220108 -- minor patch fixing bugs in the ZX Dandanator (the demo "Possible" accidentally triggers the RESET command even without cartridges) and the Pentagon IRQ (it's short yet continuous rather than long and stoppable, following new tests from Azesmbog). Video filters are more CRT-like (suggested by Md0) and lightgun logic is linked to their triggers to avoid false positives.
  • 20220104 -- minor patch improving the interruption flags of INIR/INDR/OTIR/OTDR (following new tests from Ped7g) and the timings of LDI/LDD/LDIR/LDDR on CPC (the eighth and ninth tests of Roudoudou's SPLIT.CPR pass at last) and fixing a bug in the CRTC1 logic (nonzero R5 in Chany and Grees' NPS cracktros: reported by Norecess464) and another one in the Spectrum interrupt counters (accepting an IRQ stops its counter on Pentagon: reported by Azesmbog). Configurable CMOS/NMOS Z80 style in ZXSEC.
  • 20211231 -- minor patch adding printer emulation: the user selects a file that will store the data sent to the CPC's 7-bit line printer and the Spectrum's ZX Printer (48K), the serial 8-bit line printer (128K and Plus2), and the parallel 8-bit line printer (Plus3). The printer port of the Plus3 happens to be the floating bus too, leading to changes in the video and floating bus logic. ZXSEC can save uncompressed SZX snapshots now, although SNA stays the default format. Following research by Hoglet67 and tests by Ped7g, the Z80 block operations LDIR, LDDR, CPIR, CPDR, INIR, INDR, OTIR and OTDR show special temporary flags if an interruption arises before the end of the block. New commandline options `-o`, `-t`, `-y` and `-z` that provide the opposite behaviors of `-O`, `-T`, `-Y` and `-Z`. Happy new year 2022!

CPCE 2021/12/17

  • 20211217 -- twenty-first public release. Important changes in video emulation: all parts of the 2021 rerelease of  "Amazing Megademo" work on all CRTCs in CPCEC, thanks to Longshot's new monumental handbook "Amstrad CPC CRTC Compendium", and titles that check the floating bus through ULA-contended ports such as "A Yankee in Iraq" run properly in ZXSEC, even on Plus3. The AY chip has been rewritten to ensure that Playcity (CPC) and Turbosound (Spectrum) share the exact clock with the main audio chips (6-channel music on Pentagon is no longer off-key), and stereo channels are more flexible now, switching between the default ABC stereo setup and the ACB setup of AY-Melodik; audio oversampling now relies on system clock ticks instead of output samples. Minor fixes in the FDC logic (protected rereleases of "Arkanoid 2" and "Renegade" expect the disc to keep moving while the SENSE INTERRUPT STATUS command takes place), the ZIP archive reader (hidden files must stay invisible) and the WAV and AVI file handling (proper 2-byte alignment must be performed in the extremely rare cases where the length of a block is odd). V-hold options in CPCEC have been merged into one (disabling "Standard V-hold" extends the vertical sync both up and down), and the paired options PlayCity/Digiblaster (CPCEC) and Turbosound/Covox $FD (ZXSEC) are mutually exclusive.

CPCE 2021/11/30

  • 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.

CPCE 2021/11/19

  • 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 `-$`.

CPCE 2021/11/11

  • 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.

CPCE 2021/11/05

  • 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), 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.

CPCE 2021/10/04

CPC Soccer 22 (VoxelTower, 2021)
  • 20211004 -- minor patch fixing a bug in ZXSEC, the Z80 snapshot loader wasn't checking properly the integrity of 48K compressed blocks.
  • 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.
  • 20210909 -- 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.
  • 20210831 -- minor patch adding performance improvements to TZX/CDT playback and emulation of the Turbo Sound musical extension for ZXSEC, and removing the "Hard H-Hold" option from CPCEC, now useless thanks to further CRTC tweaks and the incipient emulation of the LA-7800 chip. The Windows version fixes a bug in joystick allocation, the SDL2 version understands UTF-8 filesystems and its user interface is a little more agile, and both versions can open GZIP archives and fix bugs in temporary file handling and YM file logging. CPCEC got a new icon.
  • 20210730 -- minor patch adding mouse support to the debugger and fixing bugs in the ASIC (modifying register 9 tests whether the new value is equal or lower than its counter, horizontal splitting doesn't draw garbage or retrigger IRQs: final scroller of "PhX") and the CRTC: reading the wrong port no longer returns the right value (secret part of "École Buissonière") and HSYNC events are filtered more carefully ("Chany Dream Demo 5", "Madness Demo", "Sub Hunter"...) unless the user prefers the old behavior ("Hard H-Hold" option). Several menu items have been relocated to set hardware traits and emulation options apart. CPCEC saves compressed memory blocks within snapshots unless "Strict SNA files" is enabled.
  • 20210626 -- minor patch fixing several format errors ("%i" in place of "%d" or "%u" and so on), a bug in the CRTC (3D cylinders part of "PhX" on CRTC3) and another one in the Spectrum Dandanator ("LD (DE),A" trap). Slightly safer snapshot block loading on both CPCEC and ZXSEC.
  • 20210624 -- minor patch adding Spectrum Dandanator support, and making both emulators able to load Dandanator cartridges from the command line and the key F3. Several heuristics ensure that the cartridges match the current system.
  • 20210609 -- minor patch adding lightgun emulation for CPC (Trojan, Gunstick and Westphaser on joystick port) and Spectrum (Gunstick on Sinclair 1 and Kempston ports), recreating a CRTC0 quirk (when R6==0 a single scanline is shown, rather than none as in other CRTC types) and improving the choice of the filler colour when half scanlines are on. The SDL2 version now handles mouse clicks when the button is up to improve consistency with other user interfaces. Tape acceleration options stick between sessions.
  • 20210526 -- minor patch aligning the X-Masking video effect to the right instead of the left. The debugger expressions accept three new operators: & (AND), | (OR) and ^ (XOR). XRF shows the output file's accurate byte length rather than just the megabytes, and running it without a target parameter prints the source video parameters and the expected size.

CPCEM 2021/05/24

  • 20210524 -- minor patch fixing bugs in film recording: field size errors on 64-bit machines, improper AVI header sound sample size on 8-bit output (both reported by Cpcitor), and accumulated dirt between multiple recordings within the same session. XRF also shows the length of the output file.
  • 20210522 -- minor patch fixing bugs in the ASIC (modifying the SSCR has an immediate impact; SSSL is checked when HCC==R1 rather than when HCC==R0; reported by NoRecess), the PSG (register 15 is valid, even if the hardware doesn't use it: the Plus demo "Phat" plays its music properly now), the Z80 (EI always delays the next IRQ, no matter the previous state of the interrupt enable flag, and OUTI sends the OUT signal during its last microsecond rather than during the second-to-last; "KKB First" demo needed both fixes to run correctly; reported by Hicks) and the FDC (errors imply delays that must be emulated: the original protected disc of "Bad Cat" accidentally relies on this; reported by Dlfrsilver). The debugger accepts very simple expressions (additions and substractions) when entering 16-bit values (address of "Go To", length of "Output"...) and the integer zoom allows 50% steps rather than 100% because the default size is technically 200% rather than 100%.

CPCE 2021/04/28

  • 20210428 -- minor patch fixing bugs in the firmware INI handler (spaces must be trimmed on both sides of each string) and in several tape fastloaders, and adding inverse video 8-bit characters to the debugger's memory dump.

CPCE 2021/04/18

  • 20210418 -- twentieth public release. Pixel and scanline filters are now saturation-based (colour aberration, desaturation) rather than luminosity-based (horizontal blur, shading). Fixed bug in XRF-to-AVI recording: VFW32 operations always assumed 16-bit stereo. The film recording options "High resolution" and "High framerate" now stick between sessions, and the first one also applies to BMP screenshots. Added support for block types 0x19 and 0x4B in CDT/TZX tape files, as well as the new disc option "Read-only as default" so the user can choose whether discs are by default read-only or read-write, and this option stacks together with the already extant "Strict disc writes". Added new option "Flip joystick buttons" to CPCEC so users can swap the value of the two CPC joystick buttons, as suggested by SB1903. PSG emulation now catches overflows, regardless of whether they're programming errors (music distortion in "Thing on a Spring") or done on purpose (pipe sound effect in "Thing Bounces Back"). Fixed bug in ZXSEC's Plus3 memory contention ("Firefly" disc release) and improved the beeper (oversampling: Utz's "Quattropic"). ZXSEC snapshot handling is now more strict or flexible (changing models as often or as seldom as possible) depending on the option "Strict SNA files".
  • 20210219 -- minor patch adding a new option, "Video: Blend scanlines" that handles Gigascreen effects (Spectrum demos "Mescaline Synesthesia" and "Tiratok", CPC demos "Batman Forever" and "Mad Leprechaun") and changing the sound synchronisation in SDL2. The AY chip noise generator is now a LFSR. SNA files saved from Spectrum Plus3 set bit 4 of byte 0x0C01E to state that the snapshot requires a Plus3 (Easter egg "Hello There I'm a +3"). The CPC debugger adds an information panel (key 'X') for Dandanator status, and its graphics viewer can show MODE 2 images.
  • 20210129 -- minor patch fixing a bug in the CPC PIO ("Super Cars" had stopped working in version 20210115) and improving CRTC1 compatibility (first part of "Ecstasy Demo").
  • 20210127 -- minor patch fixing bugs in the Spectrum timing ("LD (IX+n1),n2" and Z80_PRAE_SEND: thanks to Azesmbog for the FPGA test report) and the CPC tape analysis (conflict between Mikrogen and Hi-Tec).
  • 20210115 -- minor patch fixing a bug in the CPC PIO: "Inertie" sends a value to port A, then reads the same value back instead of receiving a PSG register or keyboard bits.
  • 20210114 -- minor patch improving Playcity stereo autodetection ("Alcon 2020" uses the left chip only), adding ROM simulation to Dandanator cartridges ("CPC Soccer") and fixing a bug in Z80 instruction CPI introduced in version 20210105 (RAXOFT tests) and another one in the CRTC1 VSYNC length ("Pheelone").
  • 20210107 -- minor patch fixing a bug in the ASIC's screen split trigger (SSSL must be checked when HSYNC rises, rather than when HDISP rises) and a glitch in the Win32 joystick support, and making the Playcity CTC more responsive.
  • 20210105 -- minor patch fixing a bug in video recording (it turned 44KHz stereo into 88KHz mono) and tape playback (16 and 24 bit WAVE files were improperly supported), extending the joystick support to handle directional controls (thanks to Pelrun for the Win32 and SDL2 code) and letting the Dandanator emulation modify the cartridge (configuration, savestates...) if the user allows it.

 

NOWSZY [Z80] CPCEC/ZXSEC XVIII 15/12/2020

Changelog

  • 20201215 -- minor patch fixing snapshot loading on Spectrum Plus3 and extending the ULA's "snow" behavior ("Vectron") and scope ("Narco Police", "Robocop 3"). The SDL2 UI appends an ellipsis to filenames that are too long to fit within the dialogs.
  • 20201212 -- nineteenth public release. The Windows version can use DirectDraw instead of GDI, and the SDL2 version uses Textures instead of Surfaces: performance rises when hardware acceleration is available. Just in case, however, command line parameter `-!` and the menu option "Video: Software render" can be used to disable the hardware acceleration in systems where it's missing or performs worse than pure software. CPC bugfix: PSG handles register 14 separately, as expected by "Gremlins (v1)". Spectrum bugfix: 128K ghost ports are properly emulated, the demo "Tiratok" plays music at last. XRF lists the available codecs on Windows when launched without parameters.
    The software render is enabled by default, as the hardware mode is less likely to work on all machines, and in some cases (such as my desktop computer) it's actually less efficient than pure software. Disabling the software mode, then restarting the emulator, will show whether the video hardware provides 2D acceleration or not. You can always restore the software mode from the menu, or with the command line parameter "-!" if CPCEC becomes unlaunchable in the worst case.
  • 20201130 -- minor patch further extending ROM profile loading with four new fields: "type", "bank", "crtc" and "fddc".
  • 20201122 -- minor patch fixing a crash when using the SDL2 interface to save a file in the root path, and enabling automatic SDL2 detection on compile time.
  • 20201111 -- minor patch adding mouse tracking to the SDL2 interface and making XRF file recording less memory-consuming.
Abu Simbel Profanation (Dinamic Software, 1985)
  • 20201028 -- minor patch improving Issue-2 emulation on Spectrum 48K: "Abu Simbel Profanation" and "Rasputin 48K" work on 48K Issue 2 and fail on the other models, as expected
  • 20201024 -- minor patch solving a problem with the SDL_WINDOWEVENT_EXPOSED event and inverting the black/white bits in ZXSEC's graphics viewer.
International Karate + (System 3 Software Ltd., 1987). I zielony Neptun 156;)
  • 20201022 -- minor patch adding mouse wheel support to the SDL2 user interface and an option to set whether disc write conflicts in CPCEC and ZXSEC are strict (they raise errors) or relaxed (they do nothing).
  • 20201020 -- minor patch fixing a bug in the Dandanator support (the "LD (IY+n),A/B/C" operations must work with any "n" value, instead of just 0: thanks to Spirax for the report) and another one in the CRTC (counter HCC is 8 bits long: "Camembert Meeting 4 Demo" stops showing a line of garbage between the top and the middle panels), adding SDL2_DOUBLE_QUEUE as an optional SDL2 compilation flag (some systems need an audio buffer longer than the default 8 frames) and using a different pixel pattern when both X-Masking and Y-Masking are enabled.

 

NOWSZY [Z80] CPCEC/ZXSEC XVIII 12/12/2020

Changelog

  • 20201212 -- nineteenth public release. The Windows version can use DirectDraw instead of GDI, and the SDL2 version uses Textures instead of Surfaces: performance rises when hardware acceleration is available. Just in case, however, command line parameter `-!` and the menu option "Video: Software render" can be used to disable the hardware acceleration in systems where it's missing or performs worse than pure software. CPC bugfix: PSG handles register 14 separately, as expected by "Gremlins (v1)". Spectrum bugfix: 128K ghost ports are properly emulated, the demo "Tiratok" plays music at last. XRF lists the available codecs on Windows when launched without parameters.
    The software render is enabled by default, as the hardware mode is less likely to work on all machines, and in some cases (such as my desktop computer) it's actually less efficient than pure software. Disabling the software mode, then restarting the emulator, will show whether the video hardware provides 2D acceleration or not. You can always restore the software mode from the menu, or with the command line parameter "-!" if CPCEC becomes unlaunchable in the worst case.
  • 20201130 -- minor patch further extending ROM profile loading with four new fields: "type", "bank", "crtc" and "fddc".
  • 20201122 -- minor patch fixing a crash when using the SDL2 interface to save a file in the root path, and enabling automatic SDL2 detection on compile time.
  • 20201111 -- minor patch adding mouse tracking to the SDL2 interface and making XRF file recording less memory-consuming.
Abu Simbel Profanation (Dinamic Software, 1985)
  • 20201028 -- minor patch improving Issue-2 emulation on Spectrum 48K: "Abu Simbel Profanation" and "Rasputin 48K" work on 48K Issue 2 and fail on the other models, as expected
  • 20201024 -- minor patch solving a problem with the SDL_WINDOWEVENT_EXPOSED event and inverting the black/white bits in ZXSEC's graphics viewer.
International Karate + (System 3 Software Ltd., 1987). I zielony Neptun 156;)
  • 20201022 -- minor patch adding mouse wheel support to the SDL2 user interface and an option to set whether disc write conflicts in CPCEC and ZXSEC are strict (they raise errors) or relaxed (they do nothing).
  • 20201020 -- minor patch fixing a bug in the Dandanator support (the "LD (IY+n),A/B/C" operations must work with any "n" value, instead of just 0: thanks to Spirax for the report) and another one in the CRTC (counter HCC is 8 bits long: "Camembert Meeting 4 Demo" stops showing a line of garbage between the top and the middle panels), adding SDL2_DOUBLE_QUEUE as an optional SDL2 compilation flag (some systems need an audio buffer longer than the default 8 frames) and using a different pixel pattern when both X-Masking and Y-Masking are enabled.

 

NOWSZY [Z80] CPCEC/ZXSEC XVIII 22/11/2020

Changelog

  • 20201122 -- minor patch fixing a crash when using the SDL2 interface to save a file in the root path, and enabling automatic SDL2 detection on compile time.
  • 20201111 -- minor patch adding mouse tracking to the SDL2 interface and making XRF file recording less memory-consuming.
Abu Simbel Profanation (Dinamic Software, 1985)
  • 20201028 -- minor patch improving Issue-2 emulation on Spectrum 48K: "Abu Simbel Profanation" and "Rasputin 48K" work on 48K Issue 2 and fail on the other models, as expected
  • 20201024 -- minor patch solving a problem with the SDL_WINDOWEVENT_EXPOSED event and inverting the black/white bits in ZXSEC's graphics viewer.
International Karate + (System 3 Software Ltd., 1987). I zielony Neptun 156;)
  • 20201022 -- minor patch adding mouse wheel support to the SDL2 user interface and an option to set whether disc write conflicts in CPCEC and ZXSEC are strict (they raise errors) or relaxed (they do nothing).
  • 20201020 -- minor patch fixing a bug in the Dandanator support (the "LD (IY+n),A/B/C" operations must work with any "n" value, instead of just 0: thanks to Spirax for the report) and another one in the CRTC (counter HCC is 8 bits long: "Camembert Meeting 4 Demo" stops showing a line of garbage between the top and the middle panels), adding SDL2_DOUBLE_QUEUE as an optional SDL2 compilation flag (some systems need an audio buffer longer than the default 8 frames) and using a different pixel pattern when both X-Masking and Y-Masking are enabled.

 

NOWSZY [Z80] CPCEC/ZXSEC XVIII 12/10/2020

Changelog

  • 20201012 - minor patch adding mouse support to the custom user interface for SDL2.
NOWSZY [Z80] CPCEC/ZXSEC XVIII 10/10/2020
Swords Of Ianna (2020, Retroworks). Jak zwykle Retroworks zrobiło tytuł, który koniecznie trzeba zobaczyć. CPCEM z włączonymi filtrami GFX

Changelog

  • 20201010 -- eighteenth public release. Fully rewritten CRTC logic, with an internal event system that extends demo compatibility (for example "Chapelle Sixteen", "Madness Demo" and "S&KOH" for CRTC1) and a fully multiplexed Plus sprite renderer. More disc protections (ERE, UBI) are supported, WRITE DELETED DATA updates the corresponding flag in the sector table. New Dandanator support, read-only ("Sword of Ianna"). Preliminary Playcity support, limited to the two extra PSG and the NMI trigger. New video recording based on an intermediary format XRF, and including a tool allowing to convert it into AVI files. Improvements in the SDL interface, with a bigger font (12px rather than 8px) and vertical alignment in menu keyboard shortcuts. Added new debugging functions (looking at graphics in memory with key "W", trapping the opcode $EDFF as a breakpoint, etc.) and moved breakpoints from "T" to ".". Removed CPCEC.ELF and ZXSEC.ELF as they're bound to a single OS (Linux Mint 18 32bit) and the user must compile the binaries anyway. Moved the configuration files in non-Windows systems from CPCEC.INI and ZXSEC.INI to .cpcecrc and .zxsecrc as customary on Unix.
NOWSZY [Z80] CPCEC/ZXSEC XV 20/06/2020

Changelog

  • 20200622 -- minor patch reducing memory footprint (extra ROM memory is only allocated if the user loads a "profile"), rendering SYNC signals as black rather than as the current border, and fixing the 3D cylinders part of "PhX" on CRTC1; the "ball worms" and the final scroller stay bad on CRTC3 and CRTC4, though.
  • 20200616 -- minor patch adding several tape analyses and removing the patch that shortened the initial delays (it caused problems). Several changes in SDL2 (fewer warnings, disc drive cache in Win32) and in the Z80 debugger (more content: 256 bytes of memory dump and 32 bytes of stack).
  • 20200606 -- minor patch with surround sound: the user can set the channel separation to 0% (mono), 50% (surround) or 100% (stereo).
  • 20200603 -- seventeenth public release. Added stereo sound. Fixed a bug in the CPC PIO (the read-only mode of port A allowed writing), another bug in the tape analysis (CPCEC: the algorithm for TITUS caused trouble in "The Blues Brothers"; ZXSEC: Speedlock5 didn't recognize the heading noise; both systems add patches to shorten the initial delays), another one in the loading of CPC snapshots (a snapshot saved on PLUS hardware without the "CPC+" block showed a completely black palette), another one in the Z80 debugger (the command 'P0 could generate an infinite disassembly), another one on tape handling (reading a WAV file must use >128 as reference instead of >=128) and some problems in Win32 (the screen stopped updating after pausing, switching windows in and out) and SDL2 (boot message errors weren't shown; the filename sorting algorithm was slow).
  • 20200509 -- minor patch improving the synchrony between Z80 and video on ZXSEC: the ULA48 test already worked before, but ULA128 had problems; now both work well. Added the option -W (use the full screen rather than a window) and improved the SDL2 handling of bigger windows.
  • 20200504 -- minor patch focused on the SDL2 toolkit: fixed a bug when confirming overwriting files, and improved file browsing across directories by pointing by default to the previous directory.
  • 20200503 -- 20200503 -- minor patch improving the behavior of the Z80 operations INI, IND, INIR, INDR, OUTI, OUTD, OTIR and OTIR: the 2012 RAXOFT tests (Z80CCF, Z80FULL and Z80MEMPTR) score zero errors. Slightly more precise automatic frameskip.
  • 20200430 -- sixteenth public release. Now you can compile CPCEC and ZXSEC with SDL2 (featuring its own graphical user interface) for multiple operating systems thru the option -DSDL_MAIN_HANDLED; the precompiled files CPCEC.ELF and ZXSEC.ELF for 32bit GNU/Linux are included, too. New support for extended ROM profiles through INI files enumerating up to 257 16K ROM blocks. Further Z80 tweaks: the new error rates of ZXSEC in the 2012 RAXOFT tests are 8/152 Z80FULL, 5/152 Z80CCF and 0/152 Z80MEMPTR.
  • 20200420 -- minor patch fixing the HSYNC signals' black stripes from "Chany Dream End Megademo" on CRTC 1, "Onescreen Colonies" on CRTC 0, etc., as well as the value of MEMPTR in JR cc,$RR and DJNZ $RR and the logic of BIT n,r,(IX+$XX): the error rates of ZXSEC in the 2012 RAXOFT tests are Z80FULL 10/152, Z80CCF 70/152 and Z80MEMPTR 4/152.
NOWSZY [Z80] CPCEC/ZXSEC XV 06/04/2020

Changelog

  • 20200406 -- minor patch adding partially multiplexed PLUS sprite rendering: "Synergy 4" recovers its top left sprites.
  • 20200404 -- minor patch fixing the DMA handler (all commands but LOAD can be combined together) and removing several "kludges" for PLUS but the one for "Black Sabbath": thanks to Norecess464 for locating the bug. Also, -C now becomes -C0..4.
  • 20200331 -- minor patch providing further fixes for Plus demos "CRTC3" and "Synergy 4" (top left sprites disappear after few seconds, though) and adding the command Shift+Space (skip scanline) to the debugger.
wstecz05/12/2019 00:24
Dodatkowe informacje
Komentarze
... bez komentarza
Ostatnio dodane pliki
Newsy Linkownia Emulatory na PC Wideoteka Screenshoty Bajtek Reduks Ready.Run

© Try2emu 1999 - 2024 | Krzysztof 'Faust' Karkosza Kontakt Polityka Prywatności OWU