====== Thanks ====== .. only:: html .. |re| raw:: html .. |ren| raw:: html .. only:: latex .. |fe| raw:: latex \textsuperscript{ .. |ces| raw:: latex } 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. |re| |fe| :ref:`1` |ren| |ces| 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. |re| |fe| :ref:`2`, :ref:`3` |ren| |ces| 2. For his research on the flag behavior of the ``ccf/scf`` instructions. |re| |fe| :ref:`3` |ren| |ces| * **Beliansky, Anatoly (Tolik_Trek)** * For validating tests on real hardware. |re| |fe| :ref:`4` |ren| |ces| * **Bobrowski, Jan** * For fixing the *"Z80 Full Instruction Set Exerciser for Spectrum"*. |re| |fe| :ref:`5` |ren| |ces| * **boo_boo** * For cracking the behavior of the MEMPTR register. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Brady, Stuart** * For his research on the flag behavior of the ``ccf/scf`` instructions. |re| |fe| :ref:`10` |ren| |ces| * **Brewer, Tony** 1. For his research on the special RESET. |re| |fe| :ref:`11`, :ref:`12` |ren| |ces| 2. For helping to crack the flag behavior of the block instructions. |re| |fe| :ref:`2` |ren| |ces| 3. For conducting low-level tests on real hardware. |re| |fe| :ref:`2` |ren| |ces| 4. For helping me to test different undocumented behaviors of the Zilog Z80. * **Bystrov, Dmitry (Alone Coder)** * For validating tests on real hardware. |re| |fe| :ref:`4` |ren| |ces| * **Chunin, Roman (CHRV)** * For testing the behavior of the MEMPTR register on real Z80 chips. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Conway, Simon (BadBeard)** * For validating the *"Z80 Test Suite"* on several Z80 clones. |re| |fe| :ref:`13` |ren| |ces| * **Cooke, Simon** * For finding out how the ``out (c),0`` instruction behaves on the Zilog Z80 CMOS. |re| |fe| :ref:`14` |ren| |ces| * **Cringle, Frank D.** * For writing the *"Z80 Instruction Set Exerciser"*. |re| |fe| :ref:`15` |ren| |ces| * **Devic, Goran** * For his research on undocumented behaviors of the Z80 CPU. |re| |fe| :ref:`16` |ren| |ces| * **Flammenkamp, Achim** * For his article on Z80 interrupts. |re| |fe| :ref:`17` |ren| |ces| * **Gimeno Fortea, Pedro** 1. For his research work. |re| |fe| :ref:`18` |ren| |ces| 2. For writing the first-ever ZX Spectrum emulator. |re| |fe| :ref:`19`, :ref:`20` |ren| |ces| * **goodboy** * For testing the behavior of the MEMPTR register on real Z80 chips. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Greenway, Ian** * For testing the flag behavior of the ``ccf/scf`` instructions on real hardware. |re| |fe| :ref:`10`, :ref:`21` |ren| |ces| * **Harston, Jonathan Graham** 1. For his research work. 2. For his technical documents about the Zilog Z80. |re| |fe| :ref:`22`, :ref:`23`, :ref:`24` |ren| |ces| 3. For porting the *"Z80 Instruction Set Exerciser"* to the ZX Spectrum. |re| |fe| :ref:`25` |ren| |ces| * **Helcmanovsky, Peter (Ped7g)** 1. For helping me to write the *"IN-MEMPTR"* test. 2. For writing the *"Z80 Block Flags Test"*. |re| |fe| :ref:`26`, :ref:`27` |ren| |ces| 3. For writing the *"Z80 CCF SCF Outcome Stability"* test. |re| |fe| :ref:`27` |ren| |ces| 4. For writing the *"Z80 INT Skip"* test. |re| |fe| :ref:`27` |ren| |ces| 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. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Kladov, Vladimir** * For cracking the behavior of the MEMPTR register. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Krook, Magnus** * For validating tests on real hardware. |re| |fe| :ref:`28` |ren| |ces| * **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. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Nair, Arjun** * For validating tests on real hardware. |re| |fe| :ref:`26` |ren| |ces| * **Nicolás-González, César** * For helping me to research the unstable flag behavior of the ``ccf/scf`` instructions. * **Ortega Sosa, Sofía** * For her support. * **Owen, Simon** * For the idea of the hooking method used in this emulator. * **Rak, Patrik** 1. For improving the *"Z80 Instruction Set Exerciser for Spectrum"*. |re| |fe| :ref:`29` |ren| |ces| 2. For cracking the flag behavior of the ``ccf/scf`` instructions. |re| |fe| :ref:`13`, :ref:`29` |ren| |ces| 3. For writing the *"Zilog Z80 CPU Test Suite"*. |re| |fe| :ref:`29`, :ref:`30` |ren| |ces| 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/RESET. |re| |fe| :ref:`31` |ren| |ces| * **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. |re| |fe| :ref:`32`, :ref:`33` |ren| |ces| * **Stevenson, Dave** 1. For testing the special RESET on real hardware. |re| |fe| :ref:`11` |ren| |ces| 2. For conducting low-level tests on real hardware. |re| |fe| :ref:`34` |ren| |ces| * **Weissflog, Andre (Floh)** 1. For finding out that the ``reti/retn`` instructions defer the acceptance of the maskable interrupt. |re| |fe| :ref:`35` |ren| |ces| 2. For writing the *"Visual Z80 Remix"* simulator. |re| |fe| :ref:`36` |ren| |ces| * **Wilkinson, Oli (evolutional)** * For validating tests on real hardware. |re| |fe| :ref:`26` |ren| |ces| * **Wlodek** * For testing the behavior of the MEMPTR register on real Z80 chips. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| * **Woodmass, Mark (Woody)** 1. For his invaluable contributions to the emuscene. 2. For writing the *"Z80 Test Suite"*. |re| |fe| :ref:`13` |ren| |ces| 3. For his research on the flag behavior of the ``ccf/scf`` instructions. |re| |fe| :ref:`37` |ren| |ces| 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. |re| |fe| :ref:`18`, :ref:`38`, :ref:`39` |ren| |ces| * **ZXGuesser** * For validating tests on real hardware. References ========== 1. .. _r1: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83384#p83384 2. .. _r2: 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. .. _r3: 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. .. _r4: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83041#p83041 5. .. _r5: http://wizard.ae.krakow.pl/~jb/qaop/tests.html 6. .. _r6: https://zxpress.ru/zxnet/zxnet.pc/5909 7. .. _r7: https://zx-pk.ru/threads/2506-komanda-bit-n-(hl).html 8. .. _r8: https://zx-pk.ru/threads/2586-prosba-realshchikam-ot-emulyatorshchikov.html 9. .. _r9: 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. .. _r10: https://sourceforge.net/p/fuse-emulator/mailman/message/6929573 11. .. _r11: Brewer, Tony (2014-12). *"Z80 Special Reset"*. * http://primrosebank.net/computers/z80/z80_special_reset.htm 12. .. _r12: https://stardot.org.uk/forums/viewtopic.php?p=357136#p357136 13. .. _r13: https://worldofspectrum.org/forums/discussion/20345 14. .. _r14: https://groups.google.com/g/comp.os.cpm/c/HfSTFpaIkuU/m/KotvMWu3bZoJ 15. .. _r15: 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. .. _r16: https://baltazarstudios.com/zilog-z80-undocumented-behavior 17. .. _r17: Flammenkamp, Achim. *"Interrupt Behaviour of the Z80 CPU"*. * http://z80.info/interrup.htm 18. .. _r18: Young, Sean (1998-10). *"Z80 Undocumented Features (in Software Behaviour)"* v0.3. * http://www.msxnet.org/tech/Z80/z80undoc.txt 19. .. _r19: https://elmundodelspectrum.com/desenterrando-el-primer-emulador-de-spectrum 20. .. _r20: https://elmundodelspectrum.com/con-vosotros-el-emulador-de-pedro-gimeno-1989 21. .. _r21: https://sourceforge.net/p/fuse-emulator/mailman/message/4502844 22. .. _r22: Harston, Jonathan Graham (2008). *"Full Z80 Opcode List Including Undocumented Opcodes"* v0.11 (revised). * https://mdfs.net/Docs/Comp/Z80/OpList 23. .. _r23: Harston, Jonathan Graham (2012). *"Z80 Microprocessor Undocumented Instructions"* v0.15. * https://mdfs.net/Docs/Comp/Z80/UnDocOps 24. .. _r24: Harston, Jonathan Graham (2014). *"Z80 Opcode Map"* v0.10 (revised). * https://mdfs.net/Docs/Comp/Z80/OpCodeMap 25. .. _r25: https://mdfs.net/Software/Z80/Exerciser/Spectrum 26. .. _r26: https://spectrumcomputing.co.uk/forums/viewtopic.php?t=6102 27. .. _r27: https://github.com/MrKWatkins/ZXSpectrumNextTests 28. .. _r28: https://spectrumcomputing.co.uk/forums/viewtopic.php?p=83157#p83157 29. .. _r29: https://worldofspectrum.org/forums/discussion/41704 * http://zxds.raxoft.cz/taps/misc/zexall2.zip 30. .. _r30: https://worldofspectrum.org/forums/discussion/41834 * http://zxds.raxoft.cz/taps/misc/z80test-1.0.zip * https://github.com/raxoft/z80test 31. .. _r31: https://worldofspectrum.org/forums/discussion/34574 32. .. _r32: https://worldofspectrum.org/forums/discussion/comment/668760/#Comment_668760 33. .. _r33: https://jisanchez.com/test-a-dos-placas-de-zx-spectrum 34. .. _r34: https://stardot.org.uk/forums/viewtopic.php?p=212360#p212360 35. .. _r35: https://floooh.github.io/2021/12/17/cycle-stepped-z80.html 36. .. _r36: https://github.com/floooh/v6502r 37. .. _r37: http://groups.google.co.uk/group/comp.sys.sinclair/msg/56dd1fd4ccb5fb3b 38. .. _r38: Young, Sean (1997-09-21). *"Zilog Z80 CPU Specifications"*. * http://www.msxnet.org/tech/Z80/z80.zip 39. .. _r39: 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