Mercurial > repos > blastem
changeset 2468:0ca78837e4d2
Implement ext instruction in new 68K core
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 24 Feb 2024 22:54:36 -0800 |
parents | bf8a77a8ddc4 |
children | db32408394c3 |
files | cpu_dsl.py m68k.cpu |
diffstat | 2 files changed, 13 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/cpu_dsl.py Sat Feb 24 21:07:38 2024 -0800 +++ b/cpu_dsl.py Sat Feb 24 22:54:36 2024 -0800 @@ -712,6 +712,7 @@ fmt = '\n\t{dst} = {src} & 0x80 ? {src} | 0xFF00 : {src} & 0x7F;' else: fmt = '\n\t{dst} = {src} & 0x8000 ? {src} | 0xFFFF0000 : {src} & 0x7FFF;' + prog.lastSize = params[0] return fmt.format(src=params[1], dst=params[2]) def _getCarryCheck(prog):
--- a/m68k.cpu Sat Feb 24 21:07:38 2024 -0800 +++ b/m68k.cpu Sat Feb 24 22:54:36 2024 -0800 @@ -1710,6 +1710,18 @@ m68k_save_dst Z m68k_prefetch +01001000ZZ000RRR ext + invalid Z 0 + invalid Z 1 + if Z = 3 + meta bits 32 + else + meta bits 16 + end + sext bits dregs.R dregs.R + update_flags NZV0C0 + m68k_prefetch + 0100111001110000 reset if reset_handler pcall reset_handler m68k_reset_handler context