Thanks#

Many thanks to the following individuals (in alphabetical order):

  • Akimov, Vadim (lvd)

    • For testing the library on many different platforms and CPU architectures.

  • azesmbog

    1. For validating tests on real hardware. 1

    2. For discovering the unstable behavior of the ccf/scf instructions.

    3. For his invaluable help.

  • Banks, David (hoglet)

    1. For deciphering the additional flag changes of the block instructions. 2, 3

    2. For his research on the behavior of the ccf/scf instructions. 3, 4

  • Beliansky, Anatoly (Tolik_Trek)

    • For validating tests on real hardware. 5

  • Bobrowski, Jan

    • For fixing the “Z80 Full Instruction Set Exerciser for Spectrum”. 6

  • boo_boo

    • For deciphering the behavior of MEMPTR. 7, 8, 9, 10

  • Brady, Stuart

    • For his research on the behavior of the ccf/scf instructions. 11

  • Brewer, Tony

    1. For his research on the special RESET. 12, 13

    2. For helping to decipher the additional flag changes of the block instructions. 2

    3. For conducting low-level tests on real hardware. 2

    4. For helping me to test different undocumented behaviors of the Zilog Z80.

  • Bystrov, Dmitry (Alone Coder)

    • For validating tests on real hardware. 5

  • Chandler, Richard

    1. For his corrections to the documentation.

    2. For validating tests on real hardware. 14

  • Chunin, Roman (CHRV)

    • For testing the behavior of MEMPTR on real hardware. 7, 8, 9, 10

  • Conway, Simon (BadBeard)

    • For validating the “Z80 Test Suite” on several Z80 clones. 15

  • Cooke, Simon

    • For discovering how the out (c),0 instruction behaves on the Zilog Z80 CMOS. 16

  • Cringle, Frank D.

    • For writing the “Z80 Instruction Set Exerciser”. 17

  • Devic, Goran

    • For his research on undocumented behaviors of the Z80 CPU. 18

  • Dunn, Paul (ZXDunny)

    • For his corrections to the documentation.

  • Equinox

    • For his corrections to the documentation.

  • Flammenkamp, Achim

    • For his article on Z80 interrupts. 19

  • Gimeno Fortea, Pedro

    1. For his research work. 20

    2. For writing the first-ever ZX Spectrum emulator. 21, 22

  • goodboy

    • For testing the behavior of MEMPTR on real hardware. 7, 8, 9, 10

  • Greenway, Ian

    • For testing the behavior of the ccf/scf instructions on real hardware. 11, 23

  • Harston, Jonathan Graham

    1. For his research work.

    2. For his technical documents about the Zilog Z80. 24, 25, 26

    3. For porting the “Z80 Instruction Set Exerciser” to the ZX Spectrum. 27

  • Helcmanovsky, Peter (Ped7g)

    1. For helping me to write the “IN-MEMPTR” test.

    2. For writing the “Z80 Block Flags Test”. 28, 29

    3. For writing the “Z80 CCF SCF Outcome Stability” test. 29

    4. For writing the “Z80 INT Skip” test. 29

    5. For his research on the unstable behavior of the ccf/scf instructions.

    6. For his invaluable help.

  • Iborra Debón, Víctor (Eremus)

    • For validating tests on real hardware.

  • icebear

    • For testing the behavior of MEMPTR on real hardware. 7, 8, 9, 10

  • ICEknight

    • For validating tests on real hardware.

  • Kladov, Vladimir

    • For deciphering the behavior of MEMPTR. 7, 8, 9, 10

  • Krook, Magnus

    • For validating tests on real hardware. 30

  • London, Matthew (mattinx)

    • For validating tests on real hardware.

  • Martínez Cantero, Ricardo (Kyp)

    • For validating tests on real hardware.

  • Molodtsov, Aleksandr

    • For testing the behavior of MEMPTR on real hardware. 7, 8, 9, 10

  • Nair, Arjun

    • For validating tests on real hardware. 28

  • Nicolás-González, César

    • For helping me to investigate the unstable behavior of the ccf/scf instructions.

  • Ortega Sosa, Sofía

    1. For optimizing the emulator.

    2. For her help and support.

  • Owen, Simon

    • For the idea of the hooking method used in this emulator.

  • Ownby, Matthew P.

    • For his research on the state of the registers after POWER-ON. 31

  • Rak, Patrik

    1. For improving the “Z80 Instruction Set Exerciser for Spectrum”. 32

    2. For deciphering the behavior of the ccf/scf instructions. 15, 32

    3. For writing the “Zilog Z80 CPU Test Suite”. 32, 33

    4. For his research on the unstable behavior of the ccf/scf instructions.

  • Rodríguez Jódar, Miguel Ángel (mcleod_ideafix)

    • For his research on the state of the registers after POWER-ON/RESET. 34

  • Rodríguez Palomino, Mario (r-lyeh)

    • For teaching me how emulators work.

  • Sainz de Baranda y Romero, Manuel

    • For teaching me programming and giving me my first computer.

  • Sánchez Ordiñana, José Ismael (Vaporatorius)

    • For validating tests on real hardware. 35, 36

  • Sevillano Mancilla, Marta (TheMartian)

    • For validating tests on real hardware. 14

  • Stevenson, Dave

    1. For testing the special RESET on real hardware. 12

    2. For conducting low-level tests on real hardware. 37

  • Vučenović, Zoran

    • For writing the Pascal binding.

  • Weissflog, Andre (Floh)

    1. For discovering that the reti/retn instructions defer the acceptance of the maskable interrupt. 38

    2. For writing the “Visual Z80 Remix” simulator. 39

  • Wilkinson, Oli (evolutional)

    • For validating tests on real hardware. 28

  • Wlodek

    • For testing the behavior of MEMPTR on real hardware. 7, 8, 9, 10

  • Woodmass, Mark (Woody)

    1. For his invaluable contributions to the emuscene.

    2. For writing the “Z80 Test Suite”. 15

    3. For his research on the behavior of the ccf/scf instructions. 40

    4. For writing the “HALT2INT” test.

    5. For writing the “EIHALT” test.

  • Young, Sean

    1. For his research work.

    2. For his technical documents about the Zilog Z80. 20, 31, 41

  • ZXGuesser

    • For validating tests on real hardware.

References#

  1. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83384#p83384

  2. https://stardot.org.uk/forums/viewtopic.php?t=15464

  3. Banks, David (2018-08-21). “Undocumented Z80 Flags” rev. 1.0.

  4. https://github.com/hoglet67/Z80Decoder/wiki/Unstable-CCF-SCF-Behaviour

  5. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83041#p83041

  6. http://wizard.ae.krakow.pl/~jb/qaop/tests.html

  7. https://zxpress.ru/zxnet/zxnet.pc/5909

  8. https://zx-pk.ru/threads/2506-komanda-bit-n-(hl).html

  9. https://zx-pk.ru/threads/2586-prosba-realshchikam-ot-emulyatorshchikov.html

  10. boo_boo; Kladov, Vladimir (2006-03-29). “MEMPTR, Esoteric Register of the Zilog Z80 CPU”.

  11. https://sourceforge.net/p/fuse-emulator/mailman/message/6929573

  12. Brewer, Tony (2014-12). “Z80 Special Reset”.

  13. https://stardot.org.uk/forums/viewtopic.php?p=357136#p357136

  14. https://spectrumcomputing.co.uk/forums/viewtopic.php?t=10555

  15. https://worldofspectrum.org/forums/discussion/20345

  16. https://groups.google.com/g/comp.os.cpm/c/HfSTFpaIkuU/m/KotvMWu3bZoJ

  17. Cringle, Frank D. (1998-01-28). “Yaze - Yet Another Z80 Emulator” v1.10.

  18. https://baltazarstudios.com/zilog-z80-undocumented-behavior

  19. Flammenkamp, Achim. “Interrupt Behaviour of the Z80 CPU”.

  20. Young, Sean (1998-10). “Z80 Undocumented Features (in Software Behaviour)” v0.3.

  21. https://elmundodelspectrum.com/desenterrando-el-primer-emulador-de-spectrum

  22. https://elmundodelspectrum.com/con-vosotros-el-emulador-de-pedro-gimeno-1989

  23. https://sourceforge.net/p/fuse-emulator/mailman/message/4502844

  24. Harston, Jonathan Graham (2008). “Full Z80 Opcode List Including Undocumented Opcodes” v0.11 (revised).

  25. Harston, Jonathan Graham (2012). “Z80 Microprocessor Undocumented Instructions” v0.15.

  26. Harston, Jonathan Graham (2014). “Z80 Opcode Map” v0.10 (revised).

  27. https://mdfs.net/Software/Z80/Exerciser/Spectrum

  28. https://spectrumcomputing.co.uk/forums/viewtopic.php?t=6102

  29. https://github.com/MrKWatkins/ZXSpectrumNextTests

  30. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83157#p83157

  31. Young, Sean (2005-09-18). “Undocumented Z80 Documented, The” v0.91.

  32. https://worldofspectrum.org/forums/discussion/41704

  33. https://worldofspectrum.org/forums/discussion/41834

  34. https://worldofspectrum.org/forums/discussion/34574

  35. https://worldofspectrum.org/forums/discussion/comment/668760/#Comment_668760

  36. https://jisanchez.com/test-a-dos-placas-de-zx-spectrum

  37. https://stardot.org.uk/forums/viewtopic.php?p=212360#p212360

  38. Weissflog, Andre (2021-12-17). “New Cycle-Stepped Z80 Emulator, A”.

  39. https://github.com/floooh/v6502r

  40. https://groups.google.com/g/comp.sys.sinclair/c/WPsPr6j6w5k/m/O_u1zNQf3VYJ

  41. Young, Sean (1997-09-21). “Zilog Z80 CPU Specifications”.