Skip to content

Conversation

@stople
Copy link
Contributor

@stople stople commented Dec 27, 2025

The diag rom can be started in two ways:

  • Long power-on press
  • Jumping to $C000 in rom bank 7

Before #424 , both these ways of starting the diagnostics tool would disable interrupts.

#424 moved the SEI instruction, to be performed earlier when doing a long power-on start. However, this also caused that start via the jump table did not perform SEI.

This PR reintroduces the SEI removed in 424, while keeping the additional SEI that is done early, which should be a proper fix of this introduced bug.

Also reverts a redundant fix done in #449 .

This also makes it possible to start the diag rom using

BANK 7,7
SYS $C000

Fixes a bug introduced in X16Community#424 . Also reverts the redundant fix done
in X16Community#449 .
@stople stople marked this pull request as ready for review December 27, 2025 16:48
@stople
Copy link
Contributor Author

stople commented Dec 27, 2025

@jburks FYI. Should the features added in #424 be tested again after reintroducing SEI here, to ensure that they still work as intended?

@stople
Copy link
Contributor Author

stople commented Dec 27, 2025

I did some retest myself of the features in #424 :

Removing the VIA seem to give HW fault A0 (as VIA is needed to check for long power-on press).

Removing low RAM seem to give HW fault B0 (bad ZP memory).

I have not tested HW error B1, nor, if a POST code is written to address 9FFF.

Anyway, I think this PR can be merged.

@mooinglemur mooinglemur merged commit 2ccbe4b into X16Community:master Dec 27, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants