diff --git a/documentation/Thanks.rst b/documentation/Thanks.rst index 5c08c35..7aef3d8 100644 --- a/documentation/Thanks.rst +++ b/documentation/Thanks.rst @@ -2,213 +2,476 @@ 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. +* **Akimov, Vadim (lvd)** -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. + * For testing the library on many different platforms and CPU architectures. -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]. +* **azesmbog** -Beliansky, Anatoly (Tolik_Trek) - For validating tests on real hardware [4]. + 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. -Bobrowski, Jan - For fixing the "Z80 Full Instruction Set Exerciser for Spectrum" [5]. +* **Banks, David (hoglet)** -boo_boo - For cracking the behavior of the MEMPTR register [6,7,8,9]. + 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| -Brady, Stuart - For his research on the flag behavior of the "ccf/scf" instructions [10]. +* **Beliansky, Anatoly (Tolik_Trek)** -Brewer, Tony - 1. For his research on the special RESET [11]. - 2. For sharing information about the RESET signal [12]. - 3. For helping to crack the flag behavior of the block instructions [2]. - 4. For performing low-level tests on real hardware [2]. - 5. For helping me to test different undocumented behaviors of the Zilog Z80. + * For validating tests on real hardware. |re| |fe| :ref:`4` |ren| |ces| -Bystrov, Dmitry (Alone Coder) - For validating tests on real hardware [4]. +* **Bobrowski, Jan** -Chunin, Roman (CHRV) - For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9]. + * For fixing the *"Z80 Full Instruction Set Exerciser for Spectrum"*. |re| |fe| :ref:`5` |ren| |ces| -Conway, Simon (BadBeard) - For validating the "Z80 Test Suite" on several Z80 clones [13]. +* **boo_boo** -Cooke, Simon - For finding out how the "out (c),0" instruction behaves on the Zilog Z80 CMOS [14]. + * For cracking the behavior of the MEMPTR register. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| -Cringle, Frank D. - For writing the "Z80 Instruction Set Exerciser" [15]. +* **Brady, Stuart** -Devic, Goran - For his research on undocumented behaviors of the Z80 CPU [16]. + * For his research on the flag behavior of the ``ccf/scf`` instructions. |re| |fe| :ref:`10` |ren| |ces| -Flammenkamp, Achim - For his article on Z80 interrupts [17]. +* **Brewer, Tony** -Gimeno Fortea, Pedro - 1. For his research work [18]. - 2. For writing the first-ever ZX Spectrum emulator [19,20]. + 1. For his research on the special RESET. |re| |fe| :ref:`11` |ren| |ces| + 2. For sharing information about the RESET signal. |re| |fe| :ref:`12` |ren| |ces| + 3. For helping to crack the flag behavior of the block instructions. |re| |fe| :ref:`2` |ren| |ces| + 4. For performing low-level tests on real hardware. |re| |fe| :ref:`2` |ren| |ces| + 5. For helping me to test different undocumented behaviors of the Zilog Z80. -goodboy - For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9]. +* **Bystrov, Dmitry (Alone Coder)** -Greenway, Ian - For testing the flag behavior of the "ccf/scf" instructions on real hardware [10,21]. + * For validating tests on real hardware. |re| |fe| :ref:`4` |ren| |ces| -Harston, Jonathan Graham - 1. For his technical documents about the Zilog Z80 [22,23,24]. - 2. For porting the "Z80 Instruction Set Exerciser" to the ZX Spectrum [25]. +* **Chunin, Roman (CHRV)** -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. + * For testing the behavior of the MEMPTR register on real Z80 chips. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| -icebear - For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9]. +* **Conway, Simon (BadBeard)** -Kladov, Vladimir - For cracking the behavior of the MEMPTR register [6,7,8,9]. + * For validating the *"Z80 Test Suite"* on several Z80 clones. |re| |fe| :ref:`13` |ren| |ces| -Krook, Magnus - For validating tests on real hardware [28]. +* **Cooke, Simon** -London, Matthew - For validating tests on real hardware. + * For finding out how the ``out (c),0`` instruction behaves on the Zilog Z80 CMOS. |re| |fe| :ref:`14` |ren| |ces| -Molodtsov, Aleksandr - For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9]. +* **Cringle, Frank D.** -Nair, Arjun - For validating tests on real hardware [26]. + * For writing the *"Z80 Instruction Set Exerciser"*. |re| |fe| :ref:`15` |ren| |ces| -Nicolás-González, César - For helping me to research the unstable flag behavior of the "ccf/scf" instructions. +* **Devic, Goran** -Ortega Sosa, Sofía - For her support. + * For his research on undocumented behaviors of the Z80 CPU. |re| |fe| :ref:`16` |ren| |ces| -Owen, Simon - For the idea of the hooking method used in this emulator. +* **Flammenkamp, Achim** -Rak, Patrik - 1. For improving the "Z80 Instruction Set Exerciser for Spectrum" [29]. - 2. For cracking the flag behavior of the "ccf/scf" instructions [13,29]. - 3. For writing the "Zilog Z80 CPU Test Suite" [29,30]. - 4. For his research on the unstable flag behavior of the "ccf/scf" instructions. + * For his article on Z80 interrupts. |re| |fe| :ref:`17` |ren| |ces| -Rodríguez Jódar, Miguel Ángel (mcleod_ideafix) - For his reseach on the state of the registers after POWER/RESET [31]. +* **Gimeno Fortea, Pedro** -Rodríguez Palomino, Mario (r-lyeh) - For teaching me how emulators work. + 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| -Sainz de Baranda y Romero, Manuel - For teaching me programming and giving me my first computer. +* **goodboy** -Sánchez Ordiñana, José Ismael (Vaporatorius) - For validating tests on real hardware [32,33]. + * For testing the behavior of the MEMPTR register on real Z80 chips. |re| |fe| :ref:`6`, :ref:`7`, :ref:`8`, :ref:`9` |ren| |ces| -Stevenson, Dave - 1. For testing the special RESET on real hardware [11]. - 2. For performing low-level tests on real hardware [34]. +* **Greenway, Ian** -Weissflog, Andre (Floh) - 1. For finding out that the "reti/retn" instructions defer the acceptance of the maskable interrupt [35]. - 2. For writing the "Visual Z80 Remix" simulator [36]. + * For testing the flag behavior of the ``ccf/scf`` instructions on real hardware. |re| |fe| :ref:`10`, :ref:`21` |ren| |ces| -Wilkinson, Oli (evolutional) - For validating tests on real hardware [26]. +* **Harston, Jonathan Graham** -Wlodek - For testing the behavior of the MEMPTR register on real Z80 chips [6,7,8,9]. + 1. For his technical documents about the Zilog Z80. |re| |fe| :ref:`22`, :ref:`23`, :ref:`24` |ren| |ces| + 2. For porting the *"Z80 Instruction Set Exerciser"* to the ZX Spectrum. |re| |fe| :ref:`25` |ren| |ces| -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 [37]. - 4. For writing the "HALT2INT" test. - 5. For writing the "EIHALT" test. +* **Helcmanovsky, Peter (Ped7g)** -Young, Sean - 1. For his research work. - 2. For his technical documents about the Zilog Z80 [18,38]. + 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. -ZXGuesser - For validating tests on real hardware. +* **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. + +* **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 performing 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` |ren| |ces| + +* **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". - * 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://mtxworld.dk/memorum/viewtopic.php?p=1352#p1352 -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)". -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 (1997-09-09). "Z80 Opcode Map". - * https://mdfs.net/Docs/Comp/Z80/OpCodeMap -23. Harston, Jonathan Graham (1997-12-18). "Z80 Microprocessor Undocumented Instructions". - * https://mdfs.net/Docs/Comp/Z80/UnDocOps -24. Harston, Jonathan Graham (1998-04-15). "Full Z80 Opcode List Including Undocumented Opcodes". - * https://mdfs.net/Docs/Comp/Z80/OpList -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. https://worldofspectrum.org/forums/discussion/41704 - * http://zxds.raxoft.cz/taps/misc/zexall2.zip -30. https://worldofspectrum.org/forums/discussion/41834 - * http://zxds.raxoft.cz/taps/misc/z80test-1.0.zip - * https://github.com/raxoft/z80test -31. https://worldofspectrum.org/forums/discussion/34574 -32. https://worldofspectrum.org/forums/discussion/comment/668760/#Comment_668760 -33. https://jisanchez.com/test-a-dos-placas-de-zx-spectrum -34. https://stardot.org.uk/forums/viewtopic.php?p=212360#p212360 -35. https://floooh.github.io/2021/12/17/cycle-stepped-z80.html -36. https://github.com/floooh/v6502r -37. http://groups.google.co.uk/group/comp.sys.sinclair/msg/56dd1fd4ccb5fb3b -38. Young, Sean (2005-09-18). "Undocumented Z80 Documented, The". - * http://www.myquest.nl/z80undocumented - * http://www.myquest.nl/z80undocumented/z80-documented-v0.91.pdf +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"*. + + * 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://mtxworld.dk/memorum/viewtopic.php?p=1352#p1352 + +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)"*. + +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 (1997-09-09). *"Z80 Opcode Map"*. + + * https://mdfs.net/Docs/Comp/Z80/OpCodeMap + +23. + + .. _r23: + + Harston, Jonathan Graham (1997-12-18). *"Z80 Microprocessor Undocumented Instructions"*. + + * https://mdfs.net/Docs/Comp/Z80/UnDocOps + +24. + + .. _r24: + + Harston, Jonathan Graham (1998-04-15). *"Full Z80 Opcode List Including Undocumented Opcodes"*. + + * https://mdfs.net/Docs/Comp/Z80/OpList + +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 (2005-09-18). *"Undocumented Z80 Documented, The"*. + + + * http://www.myquest.nl/z80undocumented + * http://www.myquest.nl/z80undocumented/z80-documented-v0.91.pdf