Previous 199869 Revisions Next

r44497 Tuesday 26th January, 2016 at 19:36:47 UTC by David Haywood
make m68make actually build code that can be compiled now.  (still needs to be built / called manually)

check in files generated with latest version of m68kmake..
[src/devices/cpu/m68000]m68k_in.cpp m68kmake.cpp m68kops.cpp

trunk/src/devices/cpu/m68000/m68k_in.cpp
r253008r253009
8181XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
8282M68KMAKE_PROTOTYPE_HEADER
8383
84
84// license:BSD-3-Clause
85// copyright-holders:Karl Stenerud
8586/* ======================================================================== */
8687/* ============================ OPCODE HANDLERS =========================== */
8788/* ======================================================================== */
r253008r253009
139140XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
140141M68KMAKE_TABLE_FOOTER
141142
142   {0, 0, 0, {0, 0, 0, 0, 0}}
143   {nullptr, 0, 0, {0, 0, 0, 0, 0}}
143144};
144145
145146
r253008r253009
33153316      m68ki_trace_t0(mc68kcpu);              /* auto-disable (see m68kcpu.h) */
33163317      REG_PC(mc68kcpu) += 2;
33173318(void)ea;   /* just to avoid an 'unused variable' warning */
3318      logerror("%s at %08x: called unimplemented instruction %04x (callm)\n",
3319      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (callm)\n",
33193320                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
33203321      return;
33213322   }
r253008r253009
44144415{
44154416   if(CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type))
44164417   {
4417      logerror("%s at %08x: called unimplemented instruction %04x (cpbcc)\n",
4418      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cpbcc)\n",
44184419                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
44194420      return;
44204421   }
r253008r253009
44264427{
44274428   if(CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type))
44284429   {
4429      logerror("%s at %08x: called unimplemented instruction %04x (cpdbcc)\n",
4430      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cpdbcc)\n",
44304431                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
44314432      return;
44324433   }
r253008r253009
44384439{
44394440   if(CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type) && (mc68kcpu->has_fpu || mc68kcpu->has_pmmu))
44404441   {
4441      logerror("%s at %08x: called unimplemented instruction %04x (cpgen)\n",
4442      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cpgen)\n",
44424443                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
44434444      return;
44444445   }
r253008r253009
44504451{
44514452   if(CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type))
44524453   {
4453      logerror("%s at %08x: called unimplemented instruction %04x (cpscc)\n",
4454      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cpscc)\n",
44544455                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
44554456      return;
44564457   }
r253008r253009
44624463{
44634464   if(CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type))
44644465   {
4465      logerror("%s at %08x: called unimplemented instruction %04x (cptrapcc)\n",
4466      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cptrapcc)\n",
44664467                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
44674468      return;
44684469   }
r253008r253009
68276828                  (mc68kcpu)->cacr = REG_DA(mc68kcpu)[(word2 >> 12) & 15] & 0x0f;
68286829               }
68296830
6830//                  logerror("movec to cacr=%04x\n", (mc68kcpu)->cacr);
6831//                  mc68kcpu->logerror("movec to cacr=%04x\n", (mc68kcpu)->cacr);
68316832               if ((mc68kcpu)->cacr & (M68K_CACR_CI | M68K_CACR_CEI))
68326833               {
68336834                  m68ki_ic_clear(mc68kcpu);
r253008r253009
82398240{
82408241   if ((CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type)) && ((mc68kcpu)->has_pmmu))
82418242   {
8242      logerror("68040: unhandled PFLUSHA (ir=%04x)\n", mc68kcpu->ir);
8243      mc68kcpu->logerror("68040: unhandled PFLUSHA (ir=%04x)\n", mc68kcpu->ir);
82438244      return;
82448245   }
82458246   m68ki_exception_1111(mc68kcpu);
r253008r253009
82498250{
82508251   if ((CPU_TYPE_IS_EC020_PLUS((mc68kcpu)->cpu_type)) && ((mc68kcpu)->has_pmmu))
82518252   {
8252      logerror("68040: unhandled PFLUSHAN (ir=%04x)\n", mc68kcpu->ir);
8253      mc68kcpu->logerror("68040: unhandled PFLUSHAN (ir=%04x)\n", mc68kcpu->ir);
82538254      return;
82548255   }
82558256   m68ki_exception_1111(mc68kcpu);
r253008r253009
82718272{
82728273   if ((CPU_TYPE_IS_040_PLUS((mc68kcpu)->cpu_type)) && ((mc68kcpu)->has_pmmu))
82738274   {
8274      logerror("68040: unhandled PTEST\n");
8275      mc68kcpu->logerror("68040: unhandled PTEST\n");
82758276      return;
82768277   }
82778278   else
r253008r253009
91519152   if(CPU_TYPE_IS_020_VARIANT((mc68kcpu)->cpu_type))
91529153   {
91539154      m68ki_trace_t0(mc68kcpu);              /* auto-disable (see m68kcpu.h) */
9154      logerror("%s at %08x: called unimplemented instruction %04x (rtm)\n",
9155      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (rtm)\n",
91559156                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
91569157      return;
91579158   }
r253008r253009
1051510516      UINT16 ir = mc68kcpu->ir;
1051610517      UINT8 cache = (ir >> 6) & 3;
1051710518//      UINT8 scope = (ir >> 3) & 3;
10518//      logerror("68040 %s: pc=%08x ir=%04x cache=%d scope=%d register=%d\n", ir & 0x0020 ? "cpush" : "cinv", REG_PPC(mc68kcpu), ir, cache, scope, ir & 7);
10519//      mc68kcpu->logerror("68040 %s: pc=%08x ir=%04x cache=%d scope=%d register=%d\n", ir & 0x0020 ? "cpush" : "cinv", REG_PPC(mc68kcpu), ir, cache, scope, ir & 7);
1051910520      switch (cache)
1052010521      {
1052110522      case 2:
r253008r253009
1053210533{
1053310534   if(CPU_TYPE_IS_040_PLUS((mc68kcpu)->cpu_type))
1053410535   {
10535      logerror("%s at %08x: called unimplemented instruction %04x (cpush)\n",
10536      mc68kcpu->logerror("%s at %08x: called unimplemented instruction %04x (cpush)\n",
1053610537                  (mc68kcpu)->tag(), REG_PC(mc68kcpu) - 2, (mc68kcpu)->ir);
1053710538      return;
1053810539   }
trunk/src/devices/cpu/m68000/m68kmake.cpp
r253008r253009
9292#define MAX_OPCODE_OUTPUT_TABLE_LENGTH 3000 /* Max length of opcode handler tbl */
9393
9494/* Default filenames */
95#define FILENAME_INPUT      "m68k_in.c"
95#define FILENAME_INPUT      "m68k_in.cpp"
9696#define FILENAME_PROTOTYPE  "m68kops.h"
97#define FILENAME_TABLE      "m68kops.c"
97#define FILENAME_TABLE      "m68kops.cpp"
9898
9999
100100/* Identifier sequences recognized by this program */
trunk/src/devices/cpu/m68000/m68kops.cpp
r253008r253009
53115311      UINT32 mask_base;
53125312      UINT32 data_long;
53135313      UINT32 mask_long;
5314      UINT32 data_byte;
5315      UINT32 mask_byte;
5314      UINT32 data_byte = 0;
5315      UINT32 mask_byte = 0;
53165316      UINT32 ea = EA_AY_AI_8(mc68kcpu);
53175317
53185318
r253008r253009
53655365      UINT32 mask_base;
53665366      UINT32 data_long;
53675367      UINT32 mask_long;
5368      UINT32 data_byte;
5369      UINT32 mask_byte;
5368      UINT32 data_byte = 0;
5369      UINT32 mask_byte = 0;
53705370      UINT32 ea = EA_AY_DI_8(mc68kcpu);
53715371
53725372
r253008r253009
54195419      UINT32 mask_base;
54205420      UINT32 data_long;
54215421      UINT32 mask_long;
5422      UINT32 data_byte;
5423      UINT32 mask_byte;
5422      UINT32 data_byte = 0;
5423      UINT32 mask_byte = 0;
54245424      UINT32 ea = EA_AY_IX_8(mc68kcpu);
54255425
54265426
r253008r253009
54735473      UINT32 mask_base;
54745474      UINT32 data_long;
54755475      UINT32 mask_long;
5476      UINT32 data_byte;
5477      UINT32 mask_byte;
5476      UINT32 data_byte = 0;
5477      UINT32 mask_byte = 0;
54785478      UINT32 ea = EA_AW_8(mc68kcpu);
54795479
54805480
r253008r253009
55275527      UINT32 mask_base;
55285528      UINT32 data_long;
55295529      UINT32 mask_long;
5530      UINT32 data_byte;
5531      UINT32 mask_byte;
5530      UINT32 data_byte = 0;
5531      UINT32 mask_byte = 0;
55325532      UINT32 ea = EA_AL_8(mc68kcpu);
55335533
55345534
r253008r253009
56185618      UINT32 mask_base;
56195619      UINT32 data_long;
56205620      UINT32 mask_long;
5621      UINT32 data_byte;
5622      UINT32 mask_byte;
5621      UINT32 data_byte = 0;
5622      UINT32 mask_byte = 0;
56235623      UINT32 ea = EA_AY_AI_8(mc68kcpu);
56245624
56255625
r253008r253009
56725672      UINT32 mask_base;
56735673      UINT32 data_long;
56745674      UINT32 mask_long;
5675      UINT32 data_byte;
5676      UINT32 mask_byte;
5675      UINT32 data_byte = 0;
5676      UINT32 mask_byte = 0;
56775677      UINT32 ea = EA_AY_DI_8(mc68kcpu);
56785678
56795679
r253008r253009
57265726      UINT32 mask_base;
57275727      UINT32 data_long;
57285728      UINT32 mask_long;
5729      UINT32 data_byte;
5730      UINT32 mask_byte;
5729      UINT32 data_byte = 0;
5730      UINT32 mask_byte = 0;
57315731      UINT32 ea = EA_AY_IX_8(mc68kcpu);
57325732
57335733
r253008r253009
57805780      UINT32 mask_base;
57815781      UINT32 data_long;
57825782      UINT32 mask_long;
5783      UINT32 data_byte;
5784      UINT32 mask_byte;
5783      UINT32 data_byte = 0;
5784      UINT32 mask_byte = 0;
57855785      UINT32 ea = EA_AW_8(mc68kcpu);
57865786
57875787
r253008r253009
58345834      UINT32 mask_base;
58355835      UINT32 data_long;
58365836      UINT32 mask_long;
5837      UINT32 data_byte;
5838      UINT32 mask_byte;
5837      UINT32 data_byte = 0;
5838      UINT32 mask_byte = 0;
58395839      UINT32 ea = EA_AL_8(mc68kcpu);
58405840
58415841
r253008r253009
71247124      UINT32 mask_base;
71257125      UINT32 data_long;
71267126      UINT32 mask_long;
7127      UINT32 data_byte;
7128      UINT32 mask_byte;
7127      UINT32 data_byte = 0;
7128      UINT32 mask_byte = 0;
71297129      UINT32 ea = EA_AY_AI_8(mc68kcpu);
71307130
71317131
r253008r253009
71767176      if((width + offset) > 32)
71777177      {
71787178         mask_byte = MASK_OUT_ABOVE_8(mask_base) << (8-offset);
7179         insert_byte = MASK_OUT_ABOVE_8(insert_base);
7179         insert_byte = MASK_OUT_ABOVE_8(insert_base) << (8-offset);
71807180         data_byte = m68ki_read_8((mc68kcpu), ea+4);
7181         (mc68kcpu)->not_z_flag |= (data_byte & mask_byte);
7181         (mc68kcpu)->not_z_flag |= (insert_byte & mask_byte);
71827182         m68ki_write_8((mc68kcpu), ea+4, (data_byte & ~mask_byte) | insert_byte);
71837183      }
71847184      return;
r253008r253009
72007200      UINT32 mask_base;
72017201      UINT32 data_long;
72027202      UINT32 mask_long;
7203      UINT32 data_byte;
7204      UINT32 mask_byte;
7203      UINT32 data_byte = 0;
7204      UINT32 mask_byte = 0;
72057205      UINT32 ea = EA_AY_DI_8(mc68kcpu);
72067206
72077207
r253008r253009
72527252      if((width + offset) > 32)
72537253      {
72547254         mask_byte = MASK_OUT_ABOVE_8(mask_base) << (8-offset);
7255         insert_byte = MASK_OUT_ABOVE_8(insert_base);
7255         insert_byte = MASK_OUT_ABOVE_8(insert_base) << (8-offset);
72567256         data_byte = m68ki_read_8((mc68kcpu), ea+4);
7257         (mc68kcpu)->not_z_flag |= (data_byte & mask_byte);
7257         (mc68kcpu)->not_z_flag |= (insert_byte & mask_byte);
72587258         m68ki_write_8((mc68kcpu), ea+4, (data_byte & ~mask_byte) | insert_byte);
72597259      }
72607260      return;
r253008r253009
72767276      UINT32 mask_base;
72777277      UINT32 data_long;
72787278      UINT32 mask_long;
7279      UINT32 data_byte;
7280      UINT32 mask_byte;
7279      UINT32 data_byte = 0;
7280      UINT32 mask_byte = 0;
72817281      UINT32 ea = EA_AY_IX_8(mc68kcpu);
72827282
72837283
r253008r253009
73287328      if((width + offset) > 32)
73297329      {
73307330         mask_byte = MASK_OUT_ABOVE_8(mask_base) << (8-offset);
7331         insert_byte = MASK_OUT_ABOVE_8(insert_base);
7331         insert_byte = MASK_OUT_ABOVE_8(insert_base) << (8-offset);
73327332         data_byte = m68ki_read_8((mc68kcpu), ea+4);
7333         (mc68kcpu)->not_z_flag |= (data_byte & mask_byte);
7333         (mc68kcpu)->not_z_flag |= (insert_byte & mask_byte);
73347334         m68ki_write_8((mc68kcpu), ea+4, (data_byte & ~mask_byte) | insert_byte);
73357335      }
73367336      return;
r253008r253009
73527352      UINT32 mask_base;
73537353      UINT32 data_long;
73547354      UINT32 mask_long;
7355      UINT32 data_byte;
7356      UINT32 mask_byte;
7355      UINT32 data_byte = 0;
7356      UINT32 mask_byte = 0;
73577357      UINT32 ea = EA_AW_8(mc68kcpu);
73587358
73597359
r253008r253009
74047404      if((width + offset) > 32)
74057405      {
74067406         mask_byte = MASK_OUT_ABOVE_8(mask_base) << (8-offset);
7407         insert_byte = MASK_OUT_ABOVE_8(insert_base);
7407         insert_byte = MASK_OUT_ABOVE_8(insert_base) << (8-offset);
74087408         data_byte = m68ki_read_8((mc68kcpu), ea+4);
7409         (mc68kcpu)->not_z_flag |= (data_byte & mask_byte);
7409         (mc68kcpu)->not_z_flag |= (insert_byte & mask_byte);
74107410         m68ki_write_8((mc68kcpu), ea+4, (data_byte & ~mask_byte) | insert_byte);
74117411      }
74127412      return;
r253008r253009
74287428      UINT32 mask_base;
74297429      UINT32 data_long;
74307430      UINT32 mask_long;
7431      UINT32 data_byte;
7432      UINT32 mask_byte;
7431      UINT32 data_byte = 0;
7432      UINT32 mask_byte = 0;
74337433      UINT32 ea = EA_AL_8(mc68kcpu);
74347434
74357435
r253008r253009
74807480      if((width + offset) > 32)
74817481      {
74827482         mask_byte = MASK_OUT_ABOVE_8(mask_base) << (8-offset);
7483         insert_byte = MASK_OUT_ABOVE_8(insert_base);
7483         insert_byte = MASK_OUT_ABOVE_8(insert_base) << (8-offset);
74847484         data_byte = m68ki_read_8((mc68kcpu), ea+4);
7485         (mc68kcpu)->not_z_flag |= (data_byte & mask_byte);
7485         (mc68kcpu)->not_z_flag |= (insert_byte & mask_byte);
74867486         m68ki_write_8((mc68kcpu), ea+4, (data_byte & ~mask_byte) | insert_byte);
74877487      }
74887488      return;
r253008r253009
75387538      UINT32 mask_base;
75397539      UINT32 data_long;
75407540      UINT32 mask_long;
7541      UINT32 data_byte;
7542      UINT32 mask_byte;
7541      UINT32 data_byte = 0;
7542      UINT32 mask_byte = 0;
75437543      UINT32 ea = EA_AY_AI_8(mc68kcpu);
75447544
75457545      if(BIT_B(word2))
r253008r253009
75917591      UINT32 mask_base;
75927592      UINT32 data_long;
75937593      UINT32 mask_long;
7594      UINT32 data_byte;
7595      UINT32 mask_byte;
7594      UINT32 data_byte = 0;
7595      UINT32 mask_byte = 0;
75967596      UINT32 ea = EA_AY_DI_8(mc68kcpu);
75977597
75987598      if(BIT_B(word2))
r253008r253009
76447644      UINT32 mask_base;
76457645      UINT32 data_long;
76467646      UINT32 mask_long;
7647      UINT32 data_byte;
7648      UINT32 mask_byte;
7647      UINT32 data_byte = 0;
7648      UINT32 mask_byte = 0;
76497649      UINT32 ea = EA_AY_IX_8(mc68kcpu);
76507650
76517651      if(BIT_B(word2))
r253008r253009
76977697      UINT32 mask_base;
76987698      UINT32 data_long;
76997699      UINT32 mask_long;
7700      UINT32 data_byte;
7701      UINT32 mask_byte;
7700      UINT32 data_byte = 0;
7701      UINT32 mask_byte = 0;
77027702      UINT32 ea = EA_AW_8(mc68kcpu);
77037703
77047704      if(BIT_B(word2))
r253008r253009
77507750      UINT32 mask_base;
77517751      UINT32 data_long;
77527752      UINT32 mask_long;
7753      UINT32 data_byte;
7754      UINT32 mask_byte;
7753      UINT32 data_byte = 0;
7754      UINT32 mask_byte = 0;
77557755      UINT32 ea = EA_AL_8(mc68kcpu);
77567756
77577757      if(BIT_B(word2))
r253008r253009
78387838      UINT32 mask_base;
78397839      UINT32 data_long;
78407840      UINT32 mask_long;
7841      UINT32 data_byte;
7842      UINT32 mask_byte;
7841      UINT32 data_byte = 0;
7842      UINT32 mask_byte = 0;
78437843      UINT32 ea = EA_AY_AI_8(mc68kcpu);
78447844
78457845      if(BIT_B(word2))
r253008r253009
78897889      UINT32 mask_base;
78907890      UINT32 data_long;
78917891      UINT32 mask_long;
7892      UINT32 data_byte;
7893      UINT32 mask_byte;
7892      UINT32 data_byte = 0;
7893      UINT32 mask_byte = 0;
78947894      UINT32 ea = EA_AY_DI_8(mc68kcpu);
78957895
78967896      if(BIT_B(word2))
r253008r253009
79407940      UINT32 mask_base;
79417941      UINT32 data_long;
79427942      UINT32 mask_long;
7943      UINT32 data_byte;
7944      UINT32 mask_byte;
7943      UINT32 data_byte = 0;
7944      UINT32 mask_byte = 0;
79457945      UINT32 ea = EA_AY_IX_8(mc68kcpu);
79467946
79477947      if(BIT_B(word2))
r253008r253009
79917991      UINT32 mask_base;
79927992      UINT32 data_long;
79937993      UINT32 mask_long;
7994      UINT32 data_byte;
7995      UINT32 mask_byte;
7994      UINT32 data_byte = 0;
7995      UINT32 mask_byte = 0;
79967996      UINT32 ea = EA_AW_8(mc68kcpu);
79977997
79987998      if(BIT_B(word2))
r253008r253009
80428042      UINT32 mask_base;
80438043      UINT32 data_long;
80448044      UINT32 mask_long;
8045      UINT32 data_byte;
8046      UINT32 mask_byte;
8045      UINT32 data_byte = 0;
8046      UINT32 mask_byte = 0;
80478047      UINT32 ea = EA_AL_8(mc68kcpu);
80488048
80498049      if(BIT_B(word2))
r253008r253009
80938093      UINT32 mask_base;
80948094      UINT32 data_long;
80958095      UINT32 mask_long;
8096      UINT32 data_byte;
8097      UINT32 mask_byte;
8096      UINT32 data_byte = 0;
8097      UINT32 mask_byte = 0;
80988098      UINT32 ea = EA_PCDI_8(mc68kcpu);
80998099
81008100      if(BIT_B(word2))
r253008r253009
81448144      UINT32 mask_base;
81458145      UINT32 data_long;
81468146      UINT32 mask_long;
8147      UINT32 data_byte;
8148      UINT32 mask_byte;
8147      UINT32 data_byte = 0;
8148      UINT32 mask_byte = 0;
81498149      UINT32 ea = EA_PCIX_8(mc68kcpu);
81508150
81518151      if(BIT_B(word2))
r253008r253009
1360813608   {
1360913609      UINT32 word2 = OPER_I_16(mc68kcpu);
1361013610      UINT64 divisor   = DY(mc68kcpu);
13611      UINT64 dividend;
13612      UINT64 quotient;
13613      UINT64 remainder;
13611      UINT64 dividend  = 0;
13612      UINT64 quotient  = 0;
13613      UINT64 remainder = 0;
1361413614
1361513615      if(divisor != 0)
1361613616      {
r253008r253009
1367813678   {
1367913679      UINT32 word2 = OPER_I_16(mc68kcpu);
1368013680      UINT64 divisor = OPER_AY_AI_32(mc68kcpu);
13681      UINT64 dividend;
13682      UINT64 quotient;
13683      UINT64 remainder;
13681      UINT64 dividend  = 0;
13682      UINT64 quotient  = 0;
13683      UINT64 remainder = 0;
1368413684
1368513685      if(divisor != 0)
1368613686      {
r253008r253009
1374813748   {
1374913749      UINT32 word2 = OPER_I_16(mc68kcpu);
1375013750      UINT64 divisor = OPER_AY_PI_32(mc68kcpu);
13751      UINT64 dividend;
13752      UINT64 quotient;
13753      UINT64 remainder;
13751      UINT64 dividend  = 0;
13752      UINT64 quotient  = 0;
13753      UINT64 remainder = 0;
1375413754
1375513755      if(divisor != 0)
1375613756      {
r253008r253009
1381813818   {
1381913819      UINT32 word2 = OPER_I_16(mc68kcpu);
1382013820      UINT64 divisor = OPER_AY_PD_32(mc68kcpu);
13821      UINT64 dividend;
13822      UINT64 quotient;
13823      UINT64 remainder;
13821      UINT64 dividend  = 0;
13822      UINT64 quotient  = 0;
13823      UINT64 remainder = 0;
1382413824
1382513825      if(divisor != 0)
1382613826      {
r253008r253009
1388813888   {
1388913889      UINT32 word2 = OPER_I_16(mc68kcpu);
1389013890      UINT64 divisor = OPER_AY_DI_32(mc68kcpu);
13891      UINT64 dividend;
13892      UINT64 quotient;
13893      UINT64 remainder;
13891      UINT64 dividend  = 0;
13892      UINT64 quotient  = 0;
13893      UINT64 remainder = 0;
1389413894
1389513895      if(divisor != 0)
1389613896      {
r253008r253009
1395813958   {
1395913959      UINT32 word2 = OPER_I_16(mc68kcpu);
1396013960      UINT64 divisor = OPER_AY_IX_32(mc68kcpu);
13961      UINT64 dividend;
13962      UINT64 quotient;
13963      UINT64 remainder;
13961      UINT64 dividend  = 0;
13962      UINT64 quotient  = 0;
13963      UINT64 remainder = 0;
1396413964
1396513965      if(divisor != 0)
1396613966      {
r253008r253009
1402814028   {
1402914029      UINT32 word2 = OPER_I_16(mc68kcpu);
1403014030      UINT64 divisor = OPER_AW_32(mc68kcpu);
14031      UINT64 dividend;
14032      UINT64 quotient;
14033      UINT64 remainder;
14031      UINT64 dividend  = 0;
14032      UINT64 quotient  = 0;
14033      UINT64 remainder = 0;
1403414034
1403514035      if(divisor != 0)
1403614036      {
r253008r253009
1409814098   {
1409914099      UINT32 word2 = OPER_I_16(mc68kcpu);
1410014100      UINT64 divisor = OPER_AL_32(mc68kcpu);
14101      UINT64 dividend;
14102      UINT64 quotient;
14103      UINT64 remainder;
14101      UINT64 dividend  = 0;
14102      UINT64 quotient  = 0;
14103      UINT64 remainder = 0;
1410414104
1410514105      if(divisor != 0)
1410614106      {
r253008r253009
1416814168   {
1416914169      UINT32 word2 = OPER_I_16(mc68kcpu);
1417014170      UINT64 divisor = OPER_PCDI_32(mc68kcpu);
14171      UINT64 dividend;
14172      UINT64 quotient;
14173      UINT64 remainder;
14171      UINT64 dividend  = 0;
14172      UINT64 quotient  = 0;
14173      UINT64 remainder = 0;
1417414174
1417514175      if(divisor != 0)
1417614176      {
r253008r253009
1423814238   {
1423914239      UINT32 word2 = OPER_I_16(mc68kcpu);
1424014240      UINT64 divisor = OPER_PCIX_32(mc68kcpu);
14241      UINT64 dividend;
14242      UINT64 quotient;
14243      UINT64 remainder;
14241      UINT64 dividend  = 0;
14242      UINT64 quotient  = 0;
14243      UINT64 remainder = 0;
1424414244
1424514245      if(divisor != 0)
1424614246      {
r253008r253009
1430814308   {
1430914309      UINT32 word2 = OPER_I_16(mc68kcpu);
1431014310      UINT64 divisor = OPER_I_32(mc68kcpu);
14311      UINT64 dividend;
14312      UINT64 quotient;
14313      UINT64 remainder;
14311      UINT64 dividend  = 0;
14312      UINT64 quotient  = 0;
14313      UINT64 remainder = 0;
1431414314
1431514315      if(divisor != 0)
1431614316      {
r253008r253009
2128821288                  (mc68kcpu)->cacr = REG_DA(mc68kcpu)[(word2 >> 12) & 15] & 0x0f;
2128921289               }
2129021290
21291//                  logerror("movec to cacr=%04x\n", (mc68kcpu)->cacr);
21291//                  mc68kcpu->logerror("movec to cacr=%04x\n", (mc68kcpu)->cacr);
2129221292               if ((mc68kcpu)->cacr & (M68K_CACR_CI | M68K_CACR_CEI))
2129321293               {
2129421294                  m68ki_ic_clear(mc68kcpu);
r253008r253009
3272832728      UINT16 ir = mc68kcpu->ir;
3272932729      UINT8 cache = (ir >> 6) & 3;
3273032730//      UINT8 scope = (ir >> 3) & 3;
32731//      logerror("68040 %s: pc=%08x ir=%04x cache=%d scope=%d register=%d\n", ir & 0x0020 ? "cpush" : "cinv", REG_PPC(mc68kcpu), ir, cache, scope, ir & 7);
32731//      mc68kcpu->logerror("68040 %s: pc=%08x ir=%04x cache=%d scope=%d register=%d\n", ir & 0x0020 ? "cpush" : "cinv", REG_PPC(mc68kcpu), ir, cache, scope, ir & 7);
3273232732      switch (cache)
3273332733      {
3273432734      case 2:
r253008r253009
3487234872/* ======================================================================== */
3487334873/* ============================== END OF FILE ============================= */
3487434874/* ======================================================================== */
34875
34876


Previous 199869 Revisions Next


© 1997-2024 The MAME Team