Z80 XCF Flavor - redcode/Z80 GitHub Wiki

Platform: ZX Spectrum
Author: Sainz de Baranda y Goñi, Manuel
License: GPLv3
Links: GitHub

Version Release date Links Download
v1.5 2024-02-06 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
v1.4 2024-02-05 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
v1.3 2024-02-04 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
v1.2 2024-01-30 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
v1.1 2024-01-27 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
v1.0 2024-01-16 GitHub commit tar.xz (hosted) - tar.xz (original URL) - tar.xz (GitHub)
beta 2022-02-17 Discord post zip (hosted) - zip (original URL) - zip (Discord post)

Description

Z80 XCF Flavor displays the values of YF and XF after the execution of ccf and scf for every possible combination of states of Q, F, and A. The left column represents the values of each factor (1 is used to indicate that bits 5 and 3 in the factor are set to 1, due to the limited space on the ZX Spectrum screen). The central columns labeled "Any Zilog", "NEC NMOS", and "ST CMOS" show the reference values of YF and XF on those CPU variants for both ccf and scf. Finally, the two columns on the right display the values of YF and XF obtained on the host CPU for ccf and scf separately.

The program exists to BASIC after printing the results. To run it again, type RUN 2 (v1.1 or later) or RANDOMIZE USR 32768.

Important

It is essential to note that this program does not conduct an exhaustive check of how each Z80 instruction affects Q. Instead, it uses the minimum necessary to test each combination of states. Its purpose is to detect real hardware behavior, not to validate the complete Q implementation of an emulator. For the latter, it is recommended to use the z80ccf.tap tape included in Patrik Rak's Zilog Z80 CPU Test Suite.

Expected results

v1.5 v1.4
Zilog

NEC NMOS

ST CMOS (according to David Banks)
Zilog

NEC NMOS

ST CMOS (according to David Banks)
v1.3 v1.2
Zilog

NEC NMOS

ST CMOS (according to David Banks)
Zilog

NEC NMOS

ST CMOS (according to David Banks)
v1.1 v1.0
Zilog

NEC NMOS

ST CMOS (according to David Banks)
Zilog

NEC NMOS

ST CMOS (according to David Banks)
beta
Zilog

NEC NMOS

ST CMOS (according to David Banks)

Results on real hardware

v1.6: NEC D70008AC-6 / ZX Spectrum +2B

Tested by David Banks

img

v1.6: ST Z84C00HB6 / ZX Spectrum +2B

Tested by David Banks

img

v1.5: NEC D780C-1 / ZX Spectrum 48K (Issue 3, ULA 6C001E-6)

Tested by Marta Sevillano Mancilla

img

v1.5: NEC D780C-1 / ZX Spectrum + (ES Issue 6A)

Tested by Marta Sevillano Mancilla

img

v1.5: ST Z84C00HB6 / ZX Spectrum +2B

Tested by David Banks

img

beta (2022-04-17): ST Z84C00AB6 / ZX Spectrum 48K (Issue 3B recreated)

Tested by Ricardo Martínez Cantero

Loaded with DivMMC:
img

Loaded with MaxDuino:
img

beta (2022-02-17): Zilog / ZX Spectrum +2A (ES, SN S039755)

Tested by ICEknight

https://www.youtube.com/watch?v=YWb1OU0Udok

beta (2022-02-17): Zilog / ZX Spectrum +2A (ES)

Tested by ICEknight

https://www.youtube.com/watch?v=BxfWfghsbYU

beta (2022-02-17): USSR KR1858VM3 / Profi

Tested by azesmbog

img

⚠️ **GitHub.com Fallback** ⚠️