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 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

    1. For his corrections to the documentation.

    2. For validating tests on real hardware. 13

  • 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. 14

  • Cooke, Simon

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

  • Cringle, Frank D.

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

  • Devic, Goran

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

  • Dunn, Paul (ZXDunny)

    • For his corrections to the documentation.

  • Equinox

    • For his corrections to the documentation.

  • Flammenkamp, Achim

    • For his article on Z80 interrupts. 18

  • Gimeno Fortea, Pedro

    1. For his research work. 19

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

  • 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, 22

  • Harston, Jonathan Graham

    1. For his research work.

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

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

  • Helcmanovsky, Peter (Ped7g)

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

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

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

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

    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. 29

  • 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 the MEMPTR register on real Z80 chips. 6, 7, 8, 9

  • Nair, Arjun

    • For validating tests on real hardware. 27

  • 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 research on the state of the registers after POWER-ON. 30

  • Rak, Patrik

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

    2. For cracking the flag behavior of the ccf/scf instructions. 14, 31

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

    4. For his research on the unstable flag 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. 33

  • 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. 34, 35

  • Sevillano Mancilla, Marta (TheMartian)

    • For validating tests on real hardware.

  • Stevenson, Dave

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

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

  • 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. 37

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

  • Wilkinson, Oli (evolutional)

    • For validating tests on real hardware. 27

  • 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”. 14

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

    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. 19, 30, 40

  • 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://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”.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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