Skip to content

Conversation

@fabio-d
Copy link
Contributor

@fabio-d fabio-d commented Oct 8, 2025

This PR implements the CLF and CLG commands of the EF9345 and TS9347 video chips. While none of the currently supported Minitel ROMs seems to rely on them, they are used in similar Minitel models that we might want to support in the future.

From the EF9435 datasheet, Table 4:
datasheet

Official documentation about this commands seems quite lacking. A good explanation can be found here: https://stardot.org.uk/forums/viewtopic.php?t=22941&start=31

They have been validated with tests test_clear_page16 and test_clear_page24 from https://github.com/fabio-d/minitel-ef9345-testsuite/blob/main/tests/test_memory.py.

Implementation notes:

Unlike all the other commands, CLF and CLG never complete.

More precisely, in the real chip, they keep filling the video RAM in a loop, restarting from line 8 after the last line 31 has been filled, until interrupted by the application by executing a different command. CLF/CLG are equivalent to repeatedly executing KRF/KRG with proper pointer wraparound.

In this PR, I have made them fill the whole page instantaneously similar to other commands, which are completely "unrolled" in MAME and finish immediately as soon as they start.
However, unlike others, CLF/CLG never signal completion by clearing the BUSY flag.

cc @jfdelnero

@rb6502 rb6502 merged commit 2c7e661 into mamedev:master Oct 8, 2025
6 checks 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.

2 participants