         .command  +m2        ;64180 level selection
         .org 0               ;z80 mnemonics test
         tst (hl)
         tst 0
         tst 255
         tst a
         tst b
         tstio 0
         tstio 255
         slp
         mlt bc
         mlt de
         mlt hl
         mlt sp
         in0 a,(0)
         in0 b,(255)
         out0 (0),a
         out0 (255),b
         otim
         otimr
         otdm
         otdmr
         adc a,h'00
         adc a,h'ff
         adc a,a
         adc a,b
         adc a,c
         adc a,d
         adc a,e
         adc a,h
         adc a,l
         adc a,(hl)
         adc a,(ix+-128)
         adc a,(ix-128)
         adc a,(iy-128)
         adc a,(iy+127)
         adc hl,bc
         adc hl,de
         adc hl,hl
         adc hl,sp
         add a,h'00
         add a,h'ff
         add a,a
         add a,l
         add a,(hl)
         add a,(ix+-128)
         add a,(iy+127)
         add hl,bc
         add hl,de
         add hl,hl
         add hl,sp
         add ix,bc
         add ix,de
         add ix,sp
         add iy,bc
         add iy,de
         add iy,sp
         add ix,ix
         add iy,iy
         and h'00
         and h'ff
         and a
         and l
         and (hl)
         and (ix+-128)
         and (iy+127)
         bit 0,a
         bit 0,l
         bit 0,(hl)
         bit 0,(ix+-128)
         bit 0,(iy+127)
         bit 7,a
         bit 7,l
         bit 7,(hl)
         bit 7,(ix+-128)
         bit 7,(iy+127)
         call h'00
         call h'ff
         call longtest
         call nz,h'00
         call z,h'ff
         call nc,longtest
         call c,longtest
         call po,h'00
         call pe,1000
         call p,128
         call m,0
         ccf
         cp h'00
         cp h'ff
         cp a
         cp l
         cp (hl)
         cp (ix+-128)
         cp (iy+127)
         cpd
         cpdr
         cpi
         cpir
         cpl
         daa
         dec a
         dec l
         dec (hl)
         dec (ix+-128)
         dec (iy+127)
         dec bc
         dec de
         dec hl
         dec sp
         dec ix
         dec iy
         di
         djnz rtest
         ei
         ex af,af'
         ex de,hl
         ex (sp),hl
         ex (sp),ix
         ex (sp),iy
         exx
         halt
         im 0
         im 1
         im 2
         in a,(h'00)
         in a,(h'ff)
         inc a
         inc l
         inc (hl)
         inc (ix+-128)
         inc (iy+127)
         inc bc
         inc de
         inc hl
         inc sp
         inc ix
         inc iy
         ind
         indr
         ini
         inir
         in a,(c)
         in c,(c)
         in l,(c)
         jp h'00
         jp h'ff
         jp longtest
         jp nz,h'00
         jp z,h'ff
         jp nc,longtest
         jp c,longtest
         jp po,h'00
         jp pe,1000
         jp p,128
         jp m,0
         jp (hl)
         jp (ix)
         jp (iy)
         jr c,rtest
rtest:   jr rtest
         djnz rtest
         jr nc,rtest
         jr nz,rtest
         jr z,rtest
         ld a,i
         ld a,r
         ld a,(longtest)
         ld a,(h'00)
         ld a,(h'ff)
         ld a,(hl)
         ld a,(bc)
         ld a,(de)
         ld a,l
         ld l,a
         ld l,h
         ld hl,(h'00)
         ld hl,(longtest)
         ld bc,(h'00)
         ld de,(longtest)
         ld sp,(h'ff)
         ld ix,(h'00)
         ld iy,(h'ff)
         ld ix,(longtest)
         ld i,a
         ld r,a
         ld a,h'00
         ld l,h'ff
         ld bc,h'00
         ld de,h'ff
         ld sp,h'ff
         ld hl,longtest
         ld hl,1000
         ld ix,1000
         ld iy,longtest
         ld a,(hl)
         ld l,(hl)
         ld a,(ix+127)
         ld a,(iy+127)
         ld a,(iy-128)
         ld l,(iy+-128)
         ld l,(iy-128)
         ld sp,hl
         ld sp,ix
         ld sp,iy
         ld (1000),a
         ld (longtest),a
         ld (1000),hl
         ld (longtest),hl
         ld (1000),bc
         ld (longtest),bc
         ld (1000),de
         ld (longtest),de
         ld (1000),sp
         ld (longtest),sp
         ld (1000),ix
         ld (longtest),iy
         ld (hl),h'00
         ld (hl),h'ff
         ld (ix+127),h'00
         ld (ix+-128),h'ff
         ld (iy-128),h'ff
         ld (iy-128),-128
         ld (iy-128),127
         ld (iy+127),0
         ld (hl),a
         ld (hl),l
         ld (ix+127),a
         ld (iy+-128),l
         ld (iy-128),l
         ld (bc),a
         ld (de),a
         ld (hl),a
         ldd
         lddr
         ldi
         ldir
         neg
         nop
         or h'00
         or h'ff
         or a
         or l
         or (hl)
         or (ix+-128)
         or (iy+127)
         out (c),a
         out (c),l
         outd
         otdr
         outi
         otir
         out (h'00),a
         out (h'ff),a
         pop bc
         pop de
         pop hl
         pop af
         pop ix
         pop iy
         push bc
         push de
         push hl
         push af
         push ix
         push iy
         res 0,a
         res 0,l
         res 0,(hl)
         res 0,(ix+-128)
         res 0,(iy+127)
         res 7,a
         res 7,l
         res 7,(hl)
         res 7,(ix+-128)
         res 7,(iy+127)
         ret
         ret nz
         ret z
         ret nc
         ret c
         ret po
         ret pe
         ret p
         ret m
         reti
         retn
         rl a
         rl l
         rl (hl)
         rl (ix+-128)
         rl (iy+127)
         rla
         rlc a
         rlc l
         rlc (hl)
         rlc (ix+-128)
         rlc (iy+127)
         rlca
         rld
         rr a
         rr l
         rr (hl)
         rr (ix+-128)
         rr (iy+127)
         rra
         rrc a
         rrc l
         rrc (hl)
         rrc (ix+-128)
         rrc (iy+127)
         rrca
         rrd
         rst h'00
         rst h'20
         rst h'38
         sbc a,h'00
         sbc a,h'ff
         sbc a,a
         sbc a,l
         sbc a,(hl)
         sbc a,(ix+-128)
         sbc a,(iy+127)
         sbc hl,bc
         sbc hl,de
         sbc hl,hl
         sbc hl,sp
         scf
         set 0,a
         set 0,l
         set 0,(hl)
         set 0,(ix+-128)
         set 0,(iy+127)
         set 7,a
         set 7,l
         set 7,(hl)
         set 7,(ix+-128)
         set 7,(iy+127)
         sla a
         sla l
         sla (hl)
         sla (ix+-128)
         sla (iy+127)
         sra a
         sra l
         sra (hl)
         sra (ix+-128)
         sra (iy+127)
         srl a
         srl l
         srl (hl)
         srl (ix+-128)
         srl (iy+127)
         sub h'00
         sub h'ff
         sub a
         sub l
         sub (hl)
         sub (ix+-128)
         sub (iy+127)
         xor h'00
         xor h'ff
         xor a
         xor l
         xor (hl)
         xor (ix+-128)
         xor (iy+127)

synctst1:
         adc a,forward2
         adc a,forward1
         adc a,(ix+forward3)
         adc a,(iy+forward4)
         add a,forward2
         add a,forward1
         add a,(ix+forward3)
         add a,(iy+forward4)
         and forward2
         and forward1
         and (ix+forward3)
         and (iy+forward4)
         bit bit0,a
         bit bit0,l
         bit bit0,(hl)
         bit bit0,(ix+forward3)
         bit bit0,(iy+forward4)
         bit bit7,a
         bit bit7,l
         bit bit7,(hl)
         bit bit7,(ix+forward3)
         bit bit7,(iy+forward4)
         call forward2
         call forward1
         call longtest
         call nz,forward2
         call z,forward1
         call nc,longtest
         call c,longtest
         call po,forward2
         call pe,1000
         call p,128
         call m,0
         cp forward2
         cp forward1
         cp (ix+forward3)
         cp (iy+forward4)
         dec (ix+forward3)
         dec (iy+forward4)
         in a,(forward2)
         in a,(forward1)
         inc (ix+forward3)
         inc (iy+forward4)
         jp forward2
         jp forward1
         jp longtest
         jp nz,forward2
         jp z,forward1
         jp nc,longtest
         jp c,longtest
         jp po,forward2
         jp pe,1000
         jp p,128
         jp m,0
         ld a,(longtest)
         ld a,(forward2)
         ld a,(forward1)
         ld ix,(forward2)
         ld iy,(forward1)
         ld ix,(longtest)
         ld a,forward2
         ld bc,forward2
         ld sp,forward1
         ld hl,longtest
         ld hl,1000
         ld ix,1000
         ld iy,longtest
         ld a,(ix+forward4)
         ld l,(iy+forward3)
         ld (1000),a
         ld (longtest),a
         ld (1000),hl
         ld (longtest),hl
         ld (1000),bc
         ld (longtest),bc
         ld (1000),ix
         ld (longtest),iy
         ld (hl),forward2
         ld (hl),forward1
         ld (ix+forward4),forward2
         ld (ix+forward3),forward1
         ld (ix+forward4),a
         ld (iy+forward3),l
         or forward2
         or forward1
         or (ix+forward3)
         or (iy+forward4)
         out (forward2),a
         out (forward1),a
         res bit0,a
         res bit0,l
         res bit0,(hl)
         res bit0,(ix+forward3)
         res bit0,(iy+forward4)
         res bit7,a
         res bit7,l
         res bit7,(hl)
         res bit7,(ix+forward3)
         res bit7,(iy+forward4)
         rl (ix+forward3)
         rl (iy+forward4)
         rlc (ix+forward3)
         rlc (iy+forward4)
         rr (ix+forward3)
         rr (iy+forward4)
         rrc (ix+forward3)
         rrc (iy+forward4)
         sbc a,forward2
         sbc a,forward1
         sbc a,(ix+forward3)
         sbc a,(iy+forward4)
         set bit0,a
         set bit0,l
         set bit0,(hl)
         set bit0,(ix+forward3)
         set bit0,(iy+forward4)
         set bit7,a
         set bit7,l
         set bit7,(hl)
         set bit7,(ix+forward3)
         set bit7,(iy+forward4)
         sla (ix+forward3)
         sla (iy+forward4)
         sra (ix+forward3)
         sra (iy+forward4)
         srl (ix+forward3)
         srl (iy+forward4)
         sub forward2
         sub forward1
         sub (ix+forward3)
         sub (iy+forward4)
         xor forward2
         xor forward1
         xor (ix+forward3)
         xor (iy+forward4)

synctst2:
longtest:.equ forward1,h'ff
         .equ forward2,h'00
         .equ forward3,-128
         .equ forward4,127
         .equ bit0,0
         .equ bit7,7
         .end
