MODIFICATION NOTICE
===================

Required by GNU General Public License version 3, section 5(a): a modified work must
carry prominent notices stating that it was modified, and giving a relevant date.

MODIFIED BY
-----------

  RetroStream Arcade SL

WHAT WAS MODIFIED
-----------------

  Gearcoleco   https://github.com/EmulatorJS/Gearcoleco
               at commit f80af5d6f0f78b0228e060e158e7f2500e0caa6d
               (tree 84c369a3f39e45ee1192eecfd4b5e017edbca5cc)
               Licensed GPL-3.0-or-later. Copyright (C) 2021 Ignacio Sanchez.

  RetroArch    https://github.com/EmulatorJS/RetroArch  (EmulatorJS fork, version 1.21.0)
               at commit 6dd4353937ef48b6ec0bfbdbb15d1c5992d86927
               (tree 679ee43607704047b4feab5cb13d5129c785782f)
               Licensed GPL-3.0-or-later. Copyright (C) 2010-2021 the RetroArch team.

  Neither upstream project is modified in place in this distribution. The unmodified
  upstream trees are shipped verbatim in corresponding-source/, and the modifications
  are shipped separately as the three patch files listed below. Applying those patches
  to those exact trees, in the order given, reproduces the sources that were compiled.

THE MODIFICATIONS AND THEIR DATES
---------------------------------

  1. f80af5d-pooyan-input-resync.patch
     Target : Gearcoleco, platforms/libretro/libretro.cpp
     Effect : input re-synchronisation backport (+71 / -20 lines)
     Result : blob 76ba35c9946f8667a895869608e6976c7606eab2
     Dates  : reviewed  2026-07-22 (commit e509c8bb741e3455d02658ea3aebee94b24221f2)
              merged    2026-07-22 (commit d467bd3b0de87dc8b7074a1ea12a56610cddb8a0)
              added to this build contract 2026-07-22 (commit 04b6d30)
     Note   : this change is not VRAM related; it is part of the pinned baseline for
              this line of builds.

  2. f80af5d-vram-export.patch
     Target : Gearcoleco, platforms/libretro/libretro.cpp
     Effect : adds a `case RETRO_MEMORY_VIDEO_RAM:` arm to retro_get_memory_data() and
              to retro_get_memory_size(), exposing the TMS9918A video RAM pointer and
              its 0x4000-byte length through the standard libretro memory interface
              (+4 lines over two hunks)
     Result : blob 3dec679c21aee6489161d3617174a33b67c1b2c5
     Date   : 2026-08-29 (merged to main in PR #15, commit b10eed9)

  3. 6dd4353-makefile-vram-exports.patch
     Target : RetroArch, Makefile.emulatorjs
     Effect : appends _retro_get_memory_data and _retro_get_memory_size to
              EXPORTED_FUNCTIONS so the two symbols survive into the Emscripten glue
              (1 line changed)
     Base   : blob fbf6fa57c00d7ce882353b3530278a0d55466f04
     Result : blob e4adfc95179fe76316b853c46047ff65dff4c9a1
     Date   : 2026-08-29 (merged to main in PR #15, commit b10eed9)

  No other upstream file is modified. The build verifies this: after applying the
  Gearcoleco stack it asserts that `git diff --name-only` lists exactly
  platforms/libretro/libretro.cpp, and after the RetroArch patch it asserts the
  resulting Makefile.emulatorjs blob id.

BUILD CONTRACT HISTORY (the scripts that apply the modifications)
-----------------------------------------------------------------

  2026-08-29  b10eed9  PR #15  dual Gearcoleco VRAM candidate contract added
  2026-08-30  f4fdcdf  PR #16  archiver shim accepts both Gearcoleco archives
  2026-08-30  da1baa4  PR #17  validator checks canonical export bindings
  2026-08-30  86ec2f7  PR #18  validator allows build-local export aliases
                               <- the source commit this release is built from

WHEN THE DISTRIBUTED BINARIES WERE PRODUCED
-------------------------------------------

  Workflow run 33342869876, attempt 1, on GitHub Actions
  Started  2026-08-30T23:50:34Z
  Finished 2026-08-30T23:56:35Z
  Conclusion: success

  Produced:
    gearcoleco-wasm.data
      sha256 94a8ea34717e87c85f9823d7cdf3101c510c2d9eeef7cc802835ba6996b48af8
    gearcoleco-legacy-wasm.data
      sha256 a8dab431de40d5c9e6c278dc97de0cd5160fb08e6540b27e9b94d2bf4fc890e4

LICENSE OF THE WORK AS A WHOLE
------------------------------

  GPL-3.0-or-later, inherited from Gearcoleco and RetroArch. The full text is in
  licenses/GPL-3.0_gearcoleco-LICENSE.txt and licenses/GPL-3.0_retroarch-COPYING.txt,
  and is also shipped inside each .data archive as license.txt.

  This program is free software: you can redistribute it and/or modify it under the
  terms of the GNU General Public License as published by the Free Software Foundation,
  either version 3 of the License, or (at your option) any later version.

  This program is distributed in the hope that it will be useful, but WITHOUT ANY
  WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  PARTICULAR PURPOSE. See the GNU General Public License for more details.

  You should have received a copy of the GNU General Public License along with this
  program. If not, see <https://www.gnu.org/licenses/>.

  Third-party components combined into the binaries, and their licenses, are listed in
  THIRD_PARTY_NOTICES.txt. The corresponding source for the whole work is in
  corresponding-source/ and the scripts that control compilation are in build-contract/.
