Skip to content

Latest commit

 

History

History
74 lines (63 loc) · 4.59 KB

CHANGELOG.md

File metadata and controls

74 lines (63 loc) · 4.59 KB

...

  • edition: 2021
  • rustc version requirement was raised to 1.65.
  • examples: simple_logger (audio examples) upgraded to 4.
  • examples: updated for the cpal and audio API changes.
  • spectrusty-audio: cpal upgraded to 0.15.2, changes to AudioHandle and AudioHandleAnyFormat API.
  • spectrusty-audio: AyAmps and AyFuseAmps implemented for f64 and i32 SampleDelta types.
  • spectrusty-audio: synth.ext: trait BandLimitedExt, enum BandLimitedAny, implemented Debug for BandLimited.
  • spectrusty-audio: synth: removed mut from BandLimited::is_frame_ended.
  • spectrusty-core: implement sample traits for more types.
  • spectrusty-core: implement Blep for mutable references of unsized Blep, implemented Debug for BlepStereo and BlepAmpFilter.
  • spectrusty-formats: Fix Header::with_name failing unless length is 10.
  • spectrusty-peripherals: implement fmt::Display for MultiJoystickBusDevice.
  • bitflags upgraded to 2.3.3, added missing flags
  • upgraded minifb, winit and other example dependencies
  • spectrusty-core: z80emu bumped to 0.9.

v0.4.0

  • all workspace library crates versions leveled to 0.4.0.
  • spectrusty-core: z80emu bumped to 0.8.
  • spectrusty-core: memory serializer re-implemented internally using const generics, custom array (de)serializer added.
  • spectrusty: breaking ZxMemory types re-implemented using const generics:
    • SinglePageMemory struct introduced instead of separate Memory16k, Memory48k, Memory64k structs.
    • Memory16k, Memory48k, Memory64k are now type aliases of SinglePageMemory.
    • MemPageableRomRamExRom has a new signature.
  • deps: arrayvec is not longer needed, bumped cpal and base64
  • examples: simple_logger (audio examples) downgraded for Rust 1.59 compatibility.
  • examples: web fixed: exported values are back to JSON compatible.
  • examples: sdl2-zxspectrum: added build features.
  • examples: web-zxspectrum: added build features.

v0.3.3

  • spectrusty-core: z80emu bumped to 0.7.
  • spectrusty-audio: cpal bumped to 0.14.1.
  • spectrusty-audio, spectrusty-utils: sdl2 bumped to 0.35.
  • spectrusty-utils: minifb bumped to 0.23, winit bumped to 0.27.
  • bumped arrayvec, bitflags, bitvec, nom and others.
  • examples: webassembly examples upgraded to use webpack 5, deps bumped of other examples.
  • rustc version requirement was raised to 1.59.

v0.3.2

  • feature: boxed_frame_cache places video frame cache on the heap to make the chipset struct sizes significantly smaller and stack friendly at the cost of a minimal performance penalty.
  • implemented BusDevice and AyAudioBusDevice for boxed devices.

v0.3.1

  • spectrusty-audio: cpal bumped to 0.13.1, fixes compilation on 32-bit machines.
  • bumped nom, bitvec and rand.
  • rustc version requirement was raised to 1.44.

v0.3.0

  • RendererPlus: Added support for the hi-res modes with color and grayscale palette.
  • spectrusty-formats: scr: Added format support for the hi-res screen with a color palette.

v0.2.1

  • spectrusty-peripherals: Fixed deserializing of JoystickSelect from owned strings; TryFromStrJoystickSelectError inner public property type changed to Cow<str>.
  • spectrusty-utils: Fixed compilation without default features.

v0.2.0

  • Decouple BusDevice timestamps from ControlUnit implementations. Now timestamps must implement From<VFrameTs<_>> instead of being exactly the same. This enables usage of a common timestamp type for devices shared between different chipset implementations.

  • Removed unnecessary Debug and Default constraints on the timestamp type from definitions of NamedBusDevice, AyIoPort, NullDevice.

  • ControlUnit implementations, while executing single instructions invoke BusDevice::update_timestamp.

  • Removed unnecessary conditions on chipset implementations.

  • (BREAKING) TimestampOps trait now used in peripherals implementations replaces FrameTimestamp. Former methods of FrameTimestamp moved to VFrameTs struct implementation. A new constant VFrameTs<V>::EOF.

  • (BREAKING) Redefined an eof_timestamp argument to BusDevice::next_frame.

  • (BREAKING) UlaPlusInner::video_render_data_view return type is now VideoRenderDataView.

  • (BREAKING) VFrameTs<V> serializes to and deserializes from FTs. This enables compatibility of the snapshots between different timestamp implementations. Not backward compatible.

  • (fix, BREAKING) peripherals: types definitions in bus::ay::serial128 do not expose invariant parameter T but properly bind it to the BusDevice implementations of D.

  • examples: zxspectrum-common: generic bus device timestamp types; Bus device timestamps are now FTs.

  • examples: sdl2-zxspectrum, web-zxspectrum: adapted to changes in zxspectrum-common.

  • Changes suggested by Clippy.