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 his research on the unstable flag behavior of the `ccf/scf`
       instructions.
    3. For his invaluable help.
* Banks, David (hoglet)
    1. For cracking the flag behavior of the block instructions [2,3].
    2. For his research on the flag behavior of the `ccf/scf` instructions [3].
* Beliansky, Anatoly (Tolik_Trek)
    For validating tests on real hardware [4].
* Bobrowski, Jan
    For fixing the "Z80 Full Instruction Set Exerciser for Spectrum" [5].
* boo_boo
    For cracking the behavior of the MEMPTR register [6,7,8,9].
* Brady, Stuart
    For his research on the flag behavior of the `ccf/scf` instructions [10].
* Brewer, Tony
    1. For his research on the special RESET [11,12].
    2. For helping to crack the flag behavior 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 [4].
* Chandler, Richard
    For his corrections to the documentation.
* Chunin, Roman (CHRV)
    For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9].
* Conway, Simon (BadBeard)
    For validating the "Z80 Test Suite" on several Z80 clones [13].
* Cooke, Simon
    For finding out how the `out (c),0` instruction behaves on the Zilog Z80
    CMOS [14].
* Cringle, Frank D.
    For writing the "Z80 Instruction Set Exerciser" [15].
* Devic, Goran
    For his research on undocumented behaviors of the Z80 CPU [16].
* Equinox
    For his corrections to the documentation.
* Flammenkamp, Achim
    For his article on Z80 interrupts [17].
* Gimeno Fortea, Pedro
    1. For his research work [18].
    2. For writing the first-ever ZX Spectrum emulator [19,20].
* goodboy
    For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9].
* Greenway, Ian
    For testing the flag behavior of the `ccf/scf` instructions on real hardware
    [10,21].
* Harston, Jonathan Graham
    1. For his research work.
    2. For his technical documents about the Zilog Z80 [22,23,24].
    3. For porting the "Z80 Instruction Set Exerciser" to the ZX Spectrum [25].
* Helcmanovsky, Peter (Ped7g)
    1. For helping me to write the "IN-MEMPTR" test.
    2. For writing the "Z80 Block Flags Test" [26,27].
    3. For writing the "Z80 CCF SCF Outcome Stability" test [27].
    4. For writing the "Z80 INT Skip" test [27].
    5. For his research on the unstable flag behavior of the `ccf/scf`
       instructions.
    6. For his invaluable help.
* icebear
    For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9].
* ICEknight
    For validating tests on real hardware.
* Kladov, Vladimir
    For cracking the behavior of the MEMPTR register [6,7,8,9].
* Krook, Magnus
    For validating tests on real hardware [28].
* London, Matthew
    For validating tests on real hardware.
* Martínez Cantero, Ricardo (Kyp)
    For validating tests on real hardware.
* Molodtsov, Aleksandr
    For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9].
* Nair, Arjun
    For validating tests on real hardware [26].
* Nicolás-González, César
    For helping me to research the unstable flag 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 reseach on the state of the registers after POWER-ON [29].
* Rak, Patrik
    1. For improving the "Z80 Instruction Set Exerciser for Spectrum" [30].
    2. For cracking the flag behavior of the `ccf/scf` instructions [13,30].
    3. For writing the "Zilog Z80 CPU Test Suite" [30,31].
    4. For his research on the unstable flag behavior of the `ccf/scf`
       instructions.
* Rodríguez Jódar, Miguel Ángel (mcleod_ideafix)
    For his reseach on the state of the registers after POWER-ON/RESET [32].
* 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 [33,34].
* Stevenson, Dave
    1. For testing the special RESET on real hardware [11].
    2. For conducting low-level tests on real hardware [35].
* Vučenović, Zoran
    For writing the Pascal binding.
* Weissflog, Andre (Floh)
    1. For finding out that the `reti/retn` instructions defer the acceptance of
       the maskable interrupt [36].
    2. For writing the "Visual Z80 Remix" simulator [37].
* Wilkinson, Oli (evolutional)
    For validating tests on real hardware [26].
* Wlodek
    For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9].
* Woodmass, Mark (Woody)
    1. For his invaluable contributions to the emuscene.
    2. For writing the "Z80 Test Suite" [13].
    3. For his research on the flag behavior of the `ccf/scf` instructions [38].
    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 [18,29,39].
* 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
    * https://stardot.org.uk/forums/viewtopic.php?p=211042#p211042
    * https://stardot.org.uk/forums/viewtopic.php?p=212021#p212021
 3. Banks, David (2018-08-21). "Undocumented Z80 Flags" revision 1.0.
    * https://github.com/hoglet67/Z80Decoder/wiki/Undocumented-Flags
    * https://stardot.org.uk/forums/download/file.php?id=39831
 4. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83041#p83041
 5. http://wizard.ae.krakow.pl/~jb/qaop/tests.html
 6. https://zxpress.ru/zxnet/zxnet.pc/5909
 7. https://zx-pk.ru/threads/2506-komanda-bit-n-(hl).html
 8. https://zx-pk.ru/threads/2586-prosba-realshchikam-ot-emulyatorshchikov.html
 9. boo_boo; Kladov, Vladimir (2006-03-29). "MEMPTR, Esoteric Register of the
    Zilog Z80 CPU".
    * http://zx.pk.ru/showpost.php?p=43688
    * http://zx.pk.ru/attachment.php?attachmentid=2984
    * http://zx.pk.ru/showpost.php?p=43800
    * http://zx.pk.ru/attachment.php?attachmentid=2989
10. https://sourceforge.net/p/fuse-emulator/mailman/message/6929573
11. Brewer, Tony (2014-12). "Z80 Special Reset".
    * http://primrosebank.net/computers/z80/z80_special_reset.htm
12. https://stardot.org.uk/forums/viewtopic.php?p=357136#p357136
13. https://worldofspectrum.org/forums/discussion/20345
14. https://groups.google.com/g/comp.os.cpm/c/HfSTFpaIkuU/m/KotvMWu3bZoJ
15. Cringle, Frank D. (1998-01-28). "Yaze - Yet Another Z80 Emulator" v1.10.
    * ftp://ftp.ping.de/pub/misc/emulators/yaze-1.10.tar.gz
16. https://baltazarstudios.com/zilog-z80-undocumented-behavior
17. Flammenkamp, Achim. "Interrupt Behaviour of the Z80 CPU".
    * http://z80.info/interrup.htm
18. Young, Sean (1998-10). "Z80 Undocumented Features (in Software Behaviour)"
    v0.3.
    * http://www.msxnet.org/tech/Z80/z80undoc.txt
19. https://elmundodelspectrum.com/desenterrando-el-primer-emulador-de-spectrum
20. https://elmundodelspectrum.com/con-vosotros-el-emulador-de-pedro-gimeno-1989
21. https://sourceforge.net/p/fuse-emulator/mailman/message/4502844
22. Harston, Jonathan Graham (2008). "Full Z80 Opcode List Including
    Undocumented Opcodes" v0.11 (revised).
    * https://mdfs.net/Docs/Comp/Z80/OpList
23. Harston, Jonathan Graham (2012). "Z80 Microprocessor Undocumented
    Instructions" v0.15.
    * https://mdfs.net/Docs/Comp/Z80/UnDocOps
24. Harston, Jonathan Graham (2014). "Z80 Opcode Map" v0.10 (revised).
    * https://mdfs.net/Docs/Comp/Z80/OpCodeMap
25. https://mdfs.net/Software/Z80/Exerciser/Spectrum
26. https://spectrumcomputing.co.uk/forums/viewtopic.php?t=6102
27. https://github.com/MrKWatkins/ZXSpectrumNextTests
28. https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83157#p83157
29. Young, Sean (2005-09-18). "Undocumented Z80 Documented, The" v0.91.
    * http://www.myquest.nl/z80undocumented
    * http://www.myquest.nl/z80undocumented/z80-documented-v0.91.pdf
30. https://worldofspectrum.org/forums/discussion/41704
    * http://zxds.raxoft.cz/taps/misc/zexall2.zip
31. https://worldofspectrum.org/forums/discussion/41834
    * http://zxds.raxoft.cz/taps/misc/z80test-1.0.zip
    * https://github.com/raxoft/z80test
32. https://worldofspectrum.org/forums/discussion/34574
33. https://worldofspectrum.org/forums/discussion/comment/668760/#Comment_668760
34. https://jisanchez.com/test-a-dos-placas-de-zx-spectrum
35. https://stardot.org.uk/forums/viewtopic.php?p=212360#p212360
36. https://floooh.github.io/2021/12/17/cycle-stepped-z80.html
37. https://github.com/floooh/v6502r
38. http://groups.google.co.uk/group/comp.sys.sinclair/msg/56dd1fd4ccb5fb3b
39. Young, Sean (1997-09-21). "Zilog Z80 CPU Specifications".
    * http://www.msxnet.org/tech/Z80/z80.zip
