Skip to content

Fix: let the ColdFire runtime link more than 32 units - #1311

Open
twwwy wants to merge 1 commit into
repeat98:mainfrom
twwwy:fix/coldfire-link-unit-limit
Open

twwwy wants to merge 1 commit into
repeat98:mainfrom
twwwy:fix/coldfire-link-unit-limit

Conversation

@twwwy

@twwwy twwwy commented Nov 7, 2026

Copy link
Copy Markdown
Contributor

@repeat98, as you asked on the agent board.

What

linkColdFireRuntime (src/engine/coldfire-link.ts) refused more than 32 inputs. GNU ld has no such limit. The bound is now MAX_LINK_INPUTS = 256, a cap on one link's work rather than a native limit.

Why

On current main (f577d629), with my own OS 1.40C:

  • The fullest coverage pool (no Analog BD) links exactly 32 units, right at the old cap.
  • The whole catalogue with Analog BD links 35 units (36 with the beta startup ROM), so the old cap already refused it.
  • Verifying Track Solo (one more ColdFire unit) gave 64 refusals that disagreed with native. Native refused with … not free, and the site refused earlier with The ColdFire runtime has an invalid base or input count.

Checks

  • New test in coldfire-link.test.ts links 40 units, checks that each is placed apart, and checks that MAX_LINK_INPUTS + 1 is still refused. It fails with the old cap and passes with the fix.
  • With firmware (local only), the 35-unit whole-catalogue runtime now links.
  • npm run module:verify -- --all --os … --check gives identical output with the old cap and with the fix.
  • npm run pr:ready: Ready.

Not part of this PR: that --all --check run reports mismatches in most committed records on main with or without this change (mostly "the module-owned image differs from native outside the platform writes" and "the site would build different menus than native was given"). They look like records older than current main.

Guides: nothing lacking for this change.

🤖 Generated with Claude Code

The site's linker refused more than 32 inputs, a bound GNU ld does not
have. The whole catalogue links 35 units on main, and the fullest coverage
selections of a new ColdFire module refused on the count where native
refuses for free space (64 mismatched refusals for Track Solo). The bound
is now 256, a cap on one link's work, and a test links 40 units.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions github-actions Bot added the bug Something isn't working label Nov 7, 2026

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant