# HG changeset patch # User Jonas Hultén # Date 1727593467 -7200 # Sun Sep 29 09:04:27 2024 +0200 # Branch develop # Node ID d4a808c3c1284ebfc27a132c2514bc3e2a074afe # Parent 5e9c7565997dfdd326732131f2a5b095f0d1ec5e # Parent d2f0faa35448cec27a4b34052ed345b0ae3911bc Merge with default diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -7,3 +7,5 @@ 623723ab9e348d44e09f6abd6a8d27bb2332831a version_1.28 97c4baa181af787fe7da475556ebc5e4f6d89610 version_1.29 5a17bdbc9b0761db92c0c7700e7a84617703aa5f version_1.30 +58e017b2030419a730ce66cb0524232d41f6de3c version_1.31 +538d4f5eabab5ba345f83a24bc81d05848dfe520 version_1.32 diff --git a/core/core/json/json_reader.cpp b/core/core/json/json_reader.cpp --- a/core/core/json/json_reader.cpp +++ b/core/core/json/json_reader.cpp @@ -111,22 +111,22 @@ void Reader::read_and_buffer_encoded_char() { read_next_char(); - if (_char == 'u') { + if (_char == L'u') { read_and_buffer_hex(); return; } - if (_char == '"' || _char == '\\' || _char == '/') { + if (_char == L'"' || _char == L'\\' || _char == L'/') { - } else if (_char == 'b') { + } else if (_char == L'b') { _char = 8; - } else if (_char == 'f') { + } else if (_char == L'f') { _char = 12; - } else if (_char == 'n') { + } else if (_char == L'n') { _char = 10; - } else if (_char == 'r') { + } else if (_char == L'r') { _char = 13; - } else if (_char == 't') { + } else if (_char == L't') { _char = 9; } else { generate_parse_error("Invalid character following \\ in a string."); @@ -173,8 +173,7 @@ } void Reader::buffer_wide_character(uint32_t wide_char) { - static_assert(sizeof(uint32_t) == sizeof(wchar_t), "Wide character is assumed to be 32-bit"); - _char = wide_char; + _char = static_cast(wide_char); buffer_character(); } @@ -195,8 +194,8 @@ while(true) { read_next_char(); if (is_digit()) { - number = number * 10 + (_char - '0'); - } else if (_char == 'e' || _char == '.') { + number = number * 10 + (_char - L'0'); + } else if (_char == L'e' || _char == L'.') { unread_char(); parse_float = true; break; @@ -224,7 +223,7 @@ void Reader::parse_decimal(int32_t integer, bool negative, float &number) { read_next_char(); - if (_char == 'e') { + if (_char == L'e') { float exponent = 0.0f; parse_exponent(exponent); number = static_cast(integer) * powf(10.0f, exponent); @@ -237,8 +236,8 @@ while(true) { read_next_char(); if (is_digit()) { - decimals += multiplier * (_char - '0'); - } else if (_char == 'e') { + decimals += multiplier * (_char - L'0'); + } else if (_char == L'e') { float exponent = 0.0f; parse_exponent(exponent); @@ -284,7 +283,7 @@ bool Reader::is_negative_number() { peek_next_char(); - if (_char == '-') { + if (_char == L'-') { read_next_char(); return true; } diff --git a/jasm/CMakeLists.txt b/jasm/CMakeLists.txt --- a/jasm/CMakeLists.txt +++ b/jasm/CMakeLists.txt @@ -27,8 +27,8 @@ if (${MINGW}) add_custom_command(TARGET jasm POST_BUILD - COMMAND ${CMAKE_COMMAND} -E copy_if_different "/usr/lib/gcc/x86_64-w64-mingw32/9.3-win32/libgcc_s_seh-1.dll" $ - COMMAND ${CMAKE_COMMAND} -E copy_if_different "/usr/lib/gcc/x86_64-w64-mingw32/9.3-win32/libstdc++-6.dll" $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "/usr/lib/gcc/x86_64-w64-mingw32/10-win32/libgcc_s_seh-1.dll" $ + COMMAND ${CMAKE_COMMAND} -E copy_if_different "/usr/lib/gcc/x86_64-w64-mingw32/10-win32/libstdc++-6.dll" $ ) endif() diff --git a/jasm/version.h b/jasm/version.h --- a/jasm/version.h +++ b/jasm/version.h @@ -1,1 +1,1 @@ -1,31 +1,32 diff --git a/jasm/website/site/index.html b/jasm/website/site/index.html --- a/jasm/website/site/index.html +++ b/jasm/website/site/index.html @@ -121,10 +121,10 @@

The Binaries

The Source

@@ -139,6 +139,21 @@

Version History

  • + 1.32 +
      +
    • JSON import function.
    • +
    • Break statement for loops.
    • +
    • Optional argument to the BRK instruction.
    • +
    • Arithmetic shift right operator.
    • +
    • Shifts supports negative values.
    • +
    • Assignment add for strings.
    • +
    • Loop over characters in a string using range for.
    • +
    • min() and max() functions can take a list argument.
    • +
    • Fix for a bug that accepted null characters in include files.
    • +
    • "petscii" conversion format has been replaced with "pet", "pet2001", "vic20", "c16", "plus4", "c64" and "c128".
    • +
    +
  • +
  • 1.31
    • Fixed a serious bug where 16 bit branches in 65ce02 and 45gs02 jumped to the wrong address.
    • diff --git a/release.py b/release.py --- a/release.py +++ b/release.py @@ -55,7 +55,7 @@ if error_code != 0: raise Exception("Failed to compress") os.chdir("..") - error_code = run(["7z", "a", "../jasm/website/site/binaries/jasm_%s_win64.7z" % version, "/usr/lib/gcc/x86_64-w64-mingw32/9.3-win32/libgcc_s_seh-1.dll", "/usr/lib/gcc/x86_64-w64-mingw32/9.3-win32/libstdc++-6.dll"]) + error_code = run(["7z", "a", "../jasm/website/site/binaries/jasm_%s_win64.7z" % version, "/usr/lib/gcc/x86_64-w64-mingw32/10-win32/libgcc_s_seh-1.dll", "/usr/lib/gcc/x86_64-w64-mingw32/10-win32/libstdc++-6.dll"]) if error_code != 0: raise Exception("Failed to compress") finally: