Previous 199869 Revisions Next

r21413 Saturday 23rd February, 2013 at 22:03:41 UTC by Nathan Woods
More 6309 bug fixes identified in my rewrite; still not rdy to commit my 6x09
rewrite.
[src/emu/cpu/hd6309]6309ops.c

trunk/src/emu/cpu/hd6309/6309ops.c
r21412r21413
743743   {
744744      r16 = *src16Reg + *dst16Reg + (CC & CC_C);
745745      CLR_NZVC;
746      SET_FLAGS16(*src16Reg,*dst16Reg,r16);
746747      *dst16Reg = r16;
747      SET_FLAGS16(*src16Reg,*dst16Reg,r16);
748748   }
749749   else
750750   {
751751      r8 = *src8Reg + *dst8Reg + (CC & CC_C);
752752      CLR_NZVC;
753753      /* SET_H(*src8Reg,*src8Reg,r8);*/ /*Experimentation prooved this not to be the case */
754      SET_FLAGS8(*src8Reg,*dst8Reg,r8);
754755      *dst8Reg = r8;
755      SET_FLAGS8(*src8Reg,*dst8Reg,r8);
756756   }
757757}
758758
r21412r21413
772772   {
773773      r16 = (UINT32)*dst16Reg - (UINT32)*src16Reg;
774774      CLR_NZVC;
775      SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16);
775776      *dst16Reg = r16;
776      SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16);
777777   }
778778   else
779779   {
780780      r8 = *dst8Reg - *src8Reg;
781781      CLR_NZVC;
782      SET_FLAGS8(*dst8Reg,*src8Reg,r8);
782783      *dst8Reg = r8;
783      SET_FLAGS8(*dst8Reg,*src8Reg,r8);
784784   }
785785}
786786
r21412r21413
800800   {
801801      r16 = (UINT32)*dst16Reg - (UINT32)*src16Reg - (CC & CC_C);
802802      CLR_NZVC;
803      SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16);
803804      *dst16Reg = r16;
804      SET_FLAGS16((UINT32)*dst16Reg,(UINT32)*src16Reg,r16);
805805   }
806806   else
807807   {
808808      r8 = *dst8Reg - *src8Reg - (CC & CC_C);
809809      CLR_NZVC;
810      SET_FLAGS8(*dst8Reg,*src8Reg,r8);
810811      *dst8Reg = r8;
811      SET_FLAGS8(*dst8Reg,*src8Reg,r8);
812812   }
813813}
814814
r21412r21413
828828   {
829829      r16 = *src16Reg & *dst16Reg;
830830      CLR_NZV;
831      SET_NZ16(r16);
831832      *dst16Reg = r16;
832      SET_NZ16(r16);
833833   }
834834   else
835835   {
836836      r8 = *src8Reg & *dst8Reg;
837837      CLR_NZV;
838      SET_NZ8(r8);
838839      *dst8Reg = r8;
839      SET_NZ8(r8);
840840   }
841841}
842842
r21412r21413
856856   {
857857      r16 = *src16Reg | *dst16Reg;
858858      CLR_NZV;
859      SET_NZ16(r16);
859860      *dst16Reg = r16;
860      SET_NZ16(r16);
861861   }
862862   else
863863   {
864864      r8 = *src8Reg | *dst8Reg;
865865      CLR_NZV;
866      SET_NZ8(r8);
866867      *dst8Reg = r8;
867      SET_NZ8(r8);
868868   }
869869}
870870
r21412r21413
884884   {
885885      r16 = *src16Reg ^ *dst16Reg;
886886      CLR_NZV;
887      SET_NZ16(r16);
887888      *dst16Reg = r16;
888      SET_NZ16(r16);
889889   }
890890   else
891891   {
892892      r8 = *src8Reg ^ *dst8Reg;
893893      CLR_NZV;
894      SET_NZ8(r8);
894895      *dst8Reg = r8;
895      SET_NZ8(r8);
896896   }
897897}
898898

Previous 199869 Revisions Next


© 1997-2024 The MAME Team