kosarev / z80

Fast and flexible Z80/i8080 emulator with C++ and Python APIs
MIT License
65 stars 10 forks source link

More 0xed mnemonics #64

Closed mortenjc closed 2 months ago

mortenjc commented 3 months ago

If only I knew how to fix this myself I would happily make a PR. But I couldn't easily figure out how this is done, so:

0000 ed b0        ; ldir                 |
0002 ed           ; db 0xed              |
0003 b1           ; or c                 |
0004 ed           ; db 0xed              |
0005 b2           ; or d                 |
0006 ed           ; db 0xed              |
0007 b3           ; or e                 |
0008 ed b8        ; lddr                 |
000a ed           ; db 0xed              |
000b b9           ; cp c                 |
000c ed           ; db 0xed              |
000d ba           ; cp d                 |
000e ed           ; db 0xed              |
000f bb           ; cp e                 |

These instructions should be interpreted as ldir (ok), cpir, inir, otir, lddr (ok), cpdr, indr, otdr respectively, see https://clrhome.org/table/#ed

mortenjc commented 3 months ago

Also holds for the correspondng ed a* instructions.

Screenshot 2024-08-12 at 21 43 05

Since these capture IO as well can you confirm that these will also be captured with the input and output callback functions?

mortenjc commented 3 months ago

And thanks again for this project. I am having a lot of fun using it!

kosarev commented 3 months ago

f4bc1a3607749ce6ec24dd45e2533ce685ec42f1 should fix this, thanks!

mortenjc commented 2 months ago

Thanks!