diff --git a/README.md b/README.md
index 9071573..0171f84 100644
--- a/README.md
+++ b/README.md
@@ -523,7 +523,7 @@ Many thanks to the following individuals (in alphabetical order):
5. For writing the _"EIHALT"_ test.
* **Young, Sean**
1. For his research work.
- 2. For his technical documents about the Zilog Z80. [18](#r18), [38](#r38)
+ 2. For his technical documents about the Zilog Z80. [18](#r18), [38](#r38), [39](#r39)
* **ZXGuesser**
* For validating tests on real hardware.
@@ -533,7 +533,7 @@ Many thanks to the following individuals (in alphabetical order):
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"_.
+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
@@ -557,16 +557,17 @@ Many thanks to the following individuals (in alphabetical order):
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)"_.
+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 (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"_.
+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
@@ -583,7 +584,9 @@ Many thanks to the following individuals (in alphabetical order):
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"_.
+38. Young, Sean (1997-09-21). _"Zilog Z80 CPU Specifications"_.
+ * http://www.msxnet.org/tech/Z80/z80.zip
+39. 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
diff --git a/THANKS b/THANKS
index 1674e75..3c4ba15 100644
--- a/THANKS
+++ b/THANKS
@@ -111,7 +111,7 @@ Many thanks to the following individuals (in alphabetical order):
5. For writing the "EIHALT" test.
* Young, Sean
1. For his research work.
- 2. For his technical documents about the Zilog Z80 [18,38].
+ 2. For his technical documents about the Zilog Z80 [18,38,39].
* ZXGuesser
For validating tests on real hardware.
@@ -123,7 +123,7 @@ References
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".
+ 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
@@ -148,18 +148,20 @@ References
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)".
+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 (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".
+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
@@ -176,6 +178,8 @@ References
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".
+38. Young, Sean (1997-09-21). "Zilog Z80 CPU Specifications".
+ * http://www.msxnet.org/tech/Z80/z80.zip
+39. 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
diff --git a/documentation/Thanks.rst b/documentation/Thanks.rst
index f6d077d..205f613 100644
--- a/documentation/Thanks.rst
+++ b/documentation/Thanks.rst
@@ -208,7 +208,7 @@ Many thanks to the following individuals (in alphabetical order):
* **Young, Sean**
1. For his research work.
- 2. For his technical documents about the Zilog Z80. |re| |fe| :ref:`18`, :ref:`38` |ren| |ces|
+ 2. For his technical documents about the Zilog Z80. |re| |fe| :ref:`18`, :ref:`38`, :ref:`39` |ren| |ces|
* **ZXGuesser**
@@ -237,7 +237,7 @@ References
.. _r3:
- Banks, David (2018-08-21). *"Undocumented Z80 Flags"*.
+ 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
@@ -340,7 +340,9 @@ References
.. _r18:
- Young, Sean (1998-10). *"Z80 Undocumented Features (in Software Behaviour)"*.
+ Young, Sean (1998-10). *"Z80 Undocumented Features (in Software Behaviour)"* v0.3.
+
+ * http://www.msxnet.org/tech/Z80/z80undoc.txt
19.
@@ -364,15 +366,15 @@ References
.. _r22:
- Harston, Jonathan Graham (1997-09-09). *"Z80 Opcode Map"*.
+ Harston, Jonathan Graham (2008). *"Full Z80 Opcode List Including Undocumented Opcodes"* v0.11 (revised).
- * https://mdfs.net/Docs/Comp/Z80/OpCodeMap
+ * https://mdfs.net/Docs/Comp/Z80/OpList
23.
.. _r23:
- Harston, Jonathan Graham (1997-12-18). *"Z80 Microprocessor Undocumented Instructions"*.
+ Harston, Jonathan Graham (2012). *"Z80 Microprocessor Undocumented Instructions"* v0.15.
* https://mdfs.net/Docs/Comp/Z80/UnDocOps
@@ -380,9 +382,9 @@ References
.. _r24:
- Harston, Jonathan Graham (1998-04-15). *"Full Z80 Opcode List Including Undocumented Opcodes"*.
+ Harston, Jonathan Graham (2014). *"Z80 Opcode Map"* v0.10 (revised).
- * https://mdfs.net/Docs/Comp/Z80/OpList
+ * https://mdfs.net/Docs/Comp/Z80/OpCodeMap
25.
@@ -471,8 +473,15 @@ References
.. _r38:
- Young, Sean (2005-09-18). *"Undocumented Z80 Documented, The"*.
+ 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
diff --git a/sources/Z80.c b/sources/Z80.c
index 930a12f..c922696 100644
--- a/sources/Z80.c
+++ b/sources/Z80.c
@@ -1234,7 +1234,7 @@ INSTRUCTION(neg)
| References: |
| 1. https://worldofspectrum.org/forums/discussion/20345 |
| 2. https://worldofspectrum.org/forums/discussion/41704 |
-| 3. Banks, David (2018-08-21). "Undocumented Z80 Flags". |
+| 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 |
'===========================================================================*/
@@ -1434,8 +1434,8 @@ INSTRUCTION(rrd ) {RXD(>> 4, << 4, & 0xF); }
| (+) Some forms of the instruction are undocumented. |
| (*) Undocumented instruction. |
|----------------------------------------------------------------------------|
-| 1. All versions of Zilog's "Z80 Family: CPU User Manual" contain a typo in |
-| the M-cycles of this instruction: an additional M-cycle of 4 T-states. |
+| 1. All versions of Zilog's "Z80 CPU User Manual" contain a typo in the |
+| M-cycles of this instruction: an additional M-cycle of 4 T-states. |
'===========================================================================*/
INSTRUCTION(M_N_K ) {zuint8 *k = &K1; *k = M1(*k); return 8;}
@@ -1595,9 +1595,9 @@ INSTRUCTION(call_Z_WORD)
|---------------------------------------------------------------|
| (*) Undocumented instruction. |
|---------------------------------------------------------------|
-| 1. All versions of Zilog's "Z80 Family: CPU User Manual" have |
-| the same typo in the M-cycles of these instructions: the |
-| T-states of the 3rd and 4th M-cycles are swapped. |
+| 1. All versions of Zilog's "Z80 CPU User Manual" have a typo |
+| in the M-cycles of these instructions: the T-states of the |
+| 3rd and 4th M-cycles are swapped. |
'==============================================================*/
INSTRUCTION(in_J_vc ) {IN_VC; J1 = t; PC += 2; return 12;}
@@ -2159,14 +2159,15 @@ Z80_API zusize z80_run(Z80 *self, zusize cycles)
| resuming normal processing operation at address 0000h [2,4,6,7]. |
| |
| References: |
- | 1. Zilog (2005-02). "Z80 Family: CPU User Manual" v5. pp. 9,10. |
+ | 1. Zilog (2016-09). "Z80 CPU User Manual" revision 11. p. 6. |
| 2. Flammenkamp, Achim. "Interrupt Behaviour of the Z80 CPU". |
| * http://z80.info/interrup.htm |
| 3. https://worldofspectrum.org/forums/discussion/34574 |
| 4. https://baltazarstudios.com/webshare/Z80-undocumented-behavior.htm |
| 5. Brewer, Tony (2014-12). "Z80 Special Reset". |
| * http://primrosebank.net/computers/z80/z80_special_reset.htm |
- | 6. SGS-Thomson (1990-01). "Z80 Microprocessor Family Databook". p. 40. |
+ | 6. SGS-Thomson (1990-01). "Z80 Microprocessor Family" 1st edition. |
+ | p. 40. |
'=========================================================================*/
# ifdef Z80_WITH_RESET_SIGNAL
if (REQUEST & Z80_REQUEST_RESET)
@@ -2206,7 +2207,7 @@ Z80_API zusize z80_run(Z80 *self, zusize cycles)
| by electronic simulations [1]. |
| |
| References: |
- | 1. Tested on "Visual Z80 Remix" |
+ | 1. Checked with "Visual Z80 Remix" |
| * https://floooh.github.io/visualz80remix |
| * https://github.com/floooh/v6502r |
'=========================================================================*/
@@ -2355,7 +2356,7 @@ Z80_API zusize z80_run(Z80 *self, zusize cycles)
| incremented as a result of the instruction fetch [1,2]. |
| |
| References: |
- | 1. Tested on "Visual Z80 Remix" |
+ | 1. Checked with "Visual Z80 Remix" |
| * https://floooh.github.io/visualz80remix |
| * https://github.com/floooh/v6502r |
| 2. Zilog (1978-05). "Z80 Family Program Interrupt Structure, The". |
@@ -2555,7 +2556,7 @@ Z80_API zusize z80_run(Z80 *self, zusize cycles)
| odd or even. |
| |
| References: |
- | 1. Zilog (2005-02). Z80 "Family: CPU User Manual" v5. pp. 25,26. |
+ | 1. Zilog (2005-03). "Z80 CPU User Manual" revision 5. pp. 25,26. |
| 2. Young, Sean (2005-09-18). "Undocumented Z80 Documented, The". |
| v0.91 p. 20. |
'=====================================================================*/