Skip to content

Latest commit

 

History

History
60 lines (51 loc) · 2.92 KB

CHANGELOG.md

File metadata and controls

60 lines (51 loc) · 2.92 KB

v0.11.0

  • macros: helper macros for implementing host wrapper types
  • debug: CpuDebug and CpuDebugArgs implement Default
  • disasm: disasm_memory_once function added
  • opconsts: several opcode consts added for matching and building instructions
  • to_code and from_code const methods added for parser enums and From implementation for u8
  • Condition::from_jr_subset made public, Condition::is_satisfied is const now
  • InterruptMode::to_mode_number method and From implementation for u8 added

v0.10.0

  • deps: fixed arrayvec always depending on std
  • deps: bumped bitflags to 2.4.2
  • minimum supported rust version changed to Rust 1.66
  • use Default derive macro for InterruptMode
  • examples: added z80emu-embedded-example example to test the no-std/no-main targets
  • examples: ral1243 becomes a library, much improved and no-std/no-main targets ready

v0.9.0

  • migration to 2021 edition
  • minimum supported rust version changed to Rust 1.60
  • deps: arrayvec update and bitflags upgrade to 2.3.3, dev-deps updated

v0.8.0

  • major internal rework - replaced a substantial portion of macros with functions, taking advantage of const generics. Compilation produces smaller code with almost no run-time performance penalty (Rustc <=1.54 >=v1.60). Results in faster compilation time in release mode and profile-guided optimizations render better results in both smaller code footprint and increased performance.

v0.7.0

  • added Justfile to demonstrate Profiled-Guided Optimizations for benchmarks
  • CI: migration to Github Actions
  • minimum supported rust version changed to Rust 1.51 (const generics)
  • remove trailing semicolons in expression macro bodies and clippy suggested changes
  • deps: arrayvec updated to 0.7 and bitflags to 1.3, dev-deps updated

v0.6.0

  • z80emu is now released under the terms of the GNU LESSER GENERAL PUBLIC LICENSE 3.0 or later, starting from this version onward. The reason for this is the announcement of shutting down the License Zero project by Artless Devices.
  • Only essential files are now being included in the packages published on crates.io.

v0.5.0

  • Cpu methods for setting 16-bit registers from a pair of 8-bit values
  • fixed deserialization of Z80 and Z80Any from streams

v0.4.0

  • Z80Any enum
  • fixed typo in Z80BM1 type definition
  • flavour transitive (de)serialization

v0.3.0

  • more compact serialization of RegisterPair
  • relaxed deserialization of RegisterPair including signed int and hex strings
  • transitional serialization and deserialization of Flavours
  • conversion between Flavours (lossy)
  • conversion between instances of Z80 with different flavours
  • serde implementation for TsCounter
  • serialize using camelCase field names, deserialize both camelCase and rust case field names
  • reimplemented Debug trait for Z80 using formatter helpers

v0.2.0

  • some functions have self passed by value instead of reference as suggested by clippy
  • some other minor clippy suggested changes
  • disasm module added
  • deps: arrayvec updated to 0.5