v1.2.0.pre-2¶ ↑
Z80:¶ ↑
-
New macros
Z80::MathInt::Macros#sub_from_n16andZ80::MathInt::Macros#adda_to_n16. -
Added output register options to
Z80::MathInt::Macros#adda_toandZ80::MathInt::Macros#sub_from. -
Added output register options to
Z80::MathInt::Macros#adda_toandZ80::MathInt::Macros#sub_from. -
Z80::Program#alias_labelaccepts :last as an address argument. -
Added
Z80::Program::Macros#rev8for reversing bits in an octet. -
Z80#debugmethod no more prints anything except printable ASCII characters. -
Optimized
Z80::MathInt::Macros#rndby using mul_const8_24a (size -10, time -40). -
Added
Z80::MathInt::Macros#mul_const8_24aas an alternative to mul_const8_24. -
Added
Z80::MathInt::Macros#mul_const_exas an alternative to mul_const. -
Added options :sl and :zero to
Z80::MathInt::Macros#sll8_16and optimized the routine. -
Z80::MathInt::Macros#neg16accepts a constant or nil argument allowing to sign extend 8-bit integers to a negative 16-bit. -
New helper functions
Z80::MathInt::Macros#leading_zerosand trailing_zeros. -
New macro
Z80::MathInt::Macros#mul8_24aintroduce faster multiplication algorithm. -
Added an :mbit9_carry option to
Z80::MathInt::Macros#mul8_24. -
New method Condition#not to logically inverse a branching condition.
-
Z80::MathInt::Macros#mul… macros allow some combination of arguments that wasn't possible before. -
New macros
Z80::MathInt::Macros#mul16, mul16_signed and mul16_signed9 introduce faster multiplication algorithm and :unroll optimization option. -
Minor branching optimization of
Z80::MathInt::Macros#divmod8and divmod16. -
Added options :check0_far, :k_leq_m, :ignore_cf to
Z80::MathInt::Macros#divmod, divmod16_8 and divmod24_8. -
Internally reworked and added :time_alt, :unroll, and :unroll_alt optimization options to
Z80::MathInt::Macros#divmod, divmod16_8, divmod24_8. -
Optimized internal loop of
Z80::MathInt::Macros#mul, mul8 and mul8_24 routines. -
Added options :kbit9_carry, :tl_is_zero and :optimize to
Z80::MathInt::Macros#mul. -
Added :optimize to
Z80::MathInt::Macros#mul_signedoptions. -
New macro
Z80::MathInt::Macros#mul8_signed. -
New macro
Z80::MathInt::Macros#mul_signed9. -
New macro
Z80::MathInt::Macros#mul_signed9_24. -
New macro
Z80::MathInt::Macros#sll8_16. -
New macro
Z80::MathInt::Macros#divmod16_8. -
Saved 1 cycle on macro
Z80::MathInt::Macros#mul. -
New macro
Z80::MathInt::Macros#sign_extend. -
New options :k_int24 and :optimize for
Z80::MathInt::Macros#mul8_24, saved 2 cycles. -
Z80::Utils::SinCos::Macros#sincos_from_angleenhanced arguments to support providing registers.
ZXLib:¶ ↑
-
Fixed
subroutineoption inZXLib::Gfx::MacrosandZXLib::Gfx::Bobs::Macrosroutines usingspfor data transfer. -
Added
:copy_backoption to several macros inZXLib::Gfx::Bobs::Macrosallowing copying data back from the screen.:targetoption renamed to:screenwhile maintaining backward compatibility. -
A new escape sequence
'(carriage return) and handling of “r” code added to the BASIC tokenizer. -
Immediate argument optimization of
ZXLib::Gfx::Macros#copy_shadow_screen_region. -
Slight optimization of
ZXLib::Gfx::Macros#clear_screen_region_fast. -
New macro
ZXLib::Gfx::Macros#ytoattr. -
Internal labels
preshift_p,pmask_in_e,px_bsh_in_aeadded toZXLib::Gfx::Draw::Macrosfor convenience and alternative entry points. -
New routines in
ZXLib::Gfx::Draw::Macrosfor updating draw line functions in place. -
Changed arguments of
ZXLib::Sys::Macros#read_integer32_valueto 4 8-bit registers instead of 2 16-bit registers, maintaining backward compatibility.
Z80Lib3D:¶ ↑
-
New library created.
-
Z80Lib3D::Primitivesstruct collection added. -
Z80Lib3D::Quaternionmodule with helper functions added. -
Z80Lib3D::Matrix3Dclass with macros for applying matrices added. -
Float::to_fixed16_8 method defined in fixed_float.rb file.
v1.1.0¶ ↑
-
FIXED:
Z80::Program#nswithmergeoption enabled was discarding parent label context in debug output. -
More benches and tests.
-
Improvement: use
Z80::Program#define_labelinstead ofsendto define dynamic labels in several places. -
Several docs improvements.
Z80:¶ ↑
-
Z80::Program#debug_comment(Z80::Program#dc!) helper method for including user comments in debug output. -
Z80::Program#alias_label(Z80::Program#as) helper for creating namespace anchored lazy label aliases (visible in debug output). -
Z80::Program#direct_label?andZ80::Program#direct_address?helpers. -
Z80::TAPFIXED - byte block larger than the length indicated in the tap header will be truncated instead of raising an error. -
Z80::TZXrecognize and skip common meta chunks. -
Z80::MathInt::Macros#twos_complement16_by_sgnmacro -sgnargument can be accumulator and the new optiont. -
Z80::MathInt::Macros#utobcdmacro features newinput_endoption. -
Z80::Program::Macros#cp16noptimized comparing with a constant number < 256. -
new sugar macro
Z80::Program::Macros#cp16rr. -
Z80::Program#selectnow allows conditional blocks without any code produced and else-only conditional blocks when only label validation is needed. -
Z80::Utils::Sort::Macrosproducing selected sorting algorithm routines.
ZXLib:¶ ↑
-
ZXLib::Sysnew labels:if1vars(ZX Interface 1),vars128(128k),io_plus(ULAplus),memT2k.rambot, more ROM routines. -
new macro:
ZXLib::Sys::Macros#move_basic_above_scld_screen_memoryfor safely accessing SCLD shadow screen from BASIC. -
ZXLib::Gfx::Sprite8CALCULATE_SCREEN_ADDRESSandCHECK_HEIGHT_SANITYcontrol constants; new sugarZXLib::Gfx::Sprite8::Macros;maskshiftlabel exported and slightly optimizedZXLib::Gfx::Sprite8::Macros#gfx_sprite8_calculate_coordsmacro. -
ZXLib::Gfx::Macros#clear_screen_region_fastmacro - FIXED corner cases, now accepts odd number of columns, optimized for constant arguments, new options:addr_mode,scraddrandsubroutine. -
new macros:
ZXLib::Gfx::Macros#clear_attrs_region_fast,ZXLib::Gfx::Macros#copy_shadow_screen_region,ZXLib::Gfx::Macros#copy_shadow_attrs_region,ZXLib::Gfx::Macros#copy_shadow_attrs_region_quickandZXLib::Gfx::Macros#copy_shadow_screen_region_quick. -
Macros
ZXLib::Gfx::Macros#nextline,ZXLib::Gfx::Macros#prevlineandZXLib::Gfx::Macros#ytoscrfeatures newhiresoption. -
Macro
ZXLib::Gfx::Macros#xytoscrrenamed to better reflecting argument orderZXLib::Gfx::Macros#yxtoscrand aliased as old name for backward compatibility. -
New
ZXLib::Gfx::Bobs::Macrosfor drawing and manipulating bitmap objects. -
ZXLib::Basicrecognizes SE BASIC instructions when parsing source, andZXLib::Basic::Program#to_sourcecan list SE BASIC tokens withseoption enabled.
ZXUtils:¶ ↑
-
ZXUtils::Gallerydisplays various ZX Spectrum screen formats, including SCLD, ULAplus (also HAM256) modes. -
ZXUtils::BigFont::Macrosfeatures high resolution mode;ZXUtils::BigFontHiresprogram.
Bins:¶ ↑
-
zxgallery: createsZXUtils::Gallery.tapfile from provided.scrfiles. -
zxconv: v0.5 - saves hi-res and hi-color screens in a proper ULAplus extendedSCRformat. -
zxrun: v0.2ZXEMU_PATHOS environment variable overrides emulator program; arguments passed to the emulator after--. -
zxinit: v0.3 program template now includes all zxlib modules.
v1.0.0¶ ↑
-
Initial release.