Previous 199869 Revisions Next

r36881 Wednesday 1st April, 2015 at 13:20:40 UTC by David Haywood
Thailand .. Final Ro... Fight (nw)
[scripts/src]main.lua
[src/emu/sound]l7a1045_l6028_dsp_a.c l7a1045_l6028_dsp_a.h
[src/mess/drivers]hh_hmcs40.c hh_ucom4.c
[src/mess/includes]hh_tms1k.h

trunk/scripts/src/main.lua
r245392r245393
2121            "$(SILENT) objdump --section=.text --line-numbers --syms --demangle $(TARGET) >$(subst .exe,.sym,$(TARGET))"
2222         }
2323   end
24   
25   configuration { "vs*" }
26   flags {
27      "Unicode",
28   }
24
2925   configuration { "mingw*" or "vs*" }
3026      targetextension ".exe"
3127
trunk/src/emu/sound/l7a1045_l6028_dsp_a.c
r245392r245393
131131      {
132132         l7a1045_voice *vptr = &m_voice[i];
133133
134         UINT32 start = 0x000000;
135         UINT32 end = 0x002000;
136         UINT32 step  = 0x0800;
134         UINT32 start = vptr->start;
135         UINT32 end = vptr->start+0x002000;
136         UINT32 step  = 0x0400;
137137
138138         UINT32 pos = vptr->pos;
139139         UINT32 frac = vptr->frac;
r245392r245393
151151           
152152            }
153153
154            sample = (INT8)m_rom[start + pos];
154            sample = (INT8)m_rom[(start + pos) & (m_rom_size-1)];
155155            frac += step;
156156
157157            outputs[0][j] += ((sample * 0x8000) >> 8);
r245392r245393
258258
259259         m_voice[m_audioregister].frac = 0;
260260         m_voice[m_audioregister].pos = 0;
261         break;
262261      }
263   
262      l7a1045_voice *vptr = &m_voice[m_audioregister];
264263
264      vptr->start = (m_audiodat[0][m_audiochannel].dat[0] & 0x000f) << (16 + 4);
265      vptr->start |=   (m_audiodat[0][m_audiochannel].dat[1] & 0xffff) << (4);
266      vptr->start |=   (m_audiodat[0][m_audiochannel].dat[2] & 0xf000) >> (12);
267
268      vptr->start &= m_rom_size - 1;
269
270      //printf("%08x: REGISTER 00 write port 0x0002 chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
271      break;
265272   }
266273
267274}
r245392r245393
284291      printf("%08x: unexpected write port 0x0004 register %02x chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audioregister, m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
285292      break;
286293
287   case 0x00:
294//   case 0x00:
288295   case 0x04:
289296   case 0x06:
290297   case 0x05:
r245392r245393
296303   case 0x0a:
297304      //printf("%08x: write port 0x0004 register %02x chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audioregister, m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
298305      break;
306
307   case 0x00:
308      //printf("%08x: REGISTER 00 write port 0x0004 chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
309      break;
299310   }
300311
301312}
r245392r245393
321332      printf("%08x: unexpected write port 0x0006 register %02x chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audioregister, m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
322333      break;
323334
324   case 0x00:
335//   case 0x00:
325336   case 0x01:
326337      //printf("%08x: unexpected write port 0x0006 register %02x chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audioregister, m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
327338      break;
328339
340   case 0x00:
341
342      // it writes 2 values here for each sample
343      // the 2nd one seems to contain the upper 4 bits of the sample address
344      // so why does it write different data first?
345      //printf("%08x: REGISTER 00 write port 0x0006 chansel %02x data %04x (%04x%04x%04x)\n", space.device().safe_pc(), m_audiochannel, data, m_audiodat[m_audioregister][m_audiochannel].dat[0], m_audiodat[m_audioregister][m_audiochannel].dat[1], m_audiodat[m_audioregister][m_audiochannel].dat[2]);
346      break;
347
329348   }
330349}
331350
trunk/src/emu/sound/l7a1045_l6028_dsp_a.h
r245392r245393
99      frac(0)
1010   {
1111      //memset(regs, 0, sizeof(UINT32)*8);
12      start = 0;
1213   }
1314
15   UINT32 start;
1416   UINT32 pos;
1517   UINT32 frac;
1618   
trunk/src/mess/drivers/hh_hmcs40.c
r245392r245393
8181   // display common
8282   int m_display_wait;                 // led/lamp off-delay in microseconds (default 33ms)
8383   int m_display_maxy;                 // display matrix number of rows
84   int m_display_maxx;                 // display matrix number of columns
84   int m_display_maxx;                 // display matrix number of columns (max 47 for now)
8585
8686   UINT32 m_grid;                      // VFD current row data
8787   UINT64 m_plate;                     // VFD current column data
r245392r245393
223223            m_display_decay[y][x] = m_display_wait;
224224
225225         // determine active state
226         int ds = (m_display_decay[y][x] != 0) ? 1 : 0;
226         UINT64 ds = (m_display_decay[y][x] != 0) ? 1 : 0;
227227         active_state[y] |= (ds << x);
228228      }
229229   }
r245392r245393
283283   set_display_size(maxx, maxy);
284284
285285   // update current state
286   UINT64 mask = (1 << maxx) - 1;
286   UINT64 mask = (U64(1) << maxx) - 1;
287287   for (int y = 0; y < maxy; y++)
288      m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (1 << maxx)) : 0;
288      m_display_state[y] = (sety >> y & 1) ? ((setx & mask) | (U64(1) << maxx)) : 0;
289289
290290   display_update();
291291}
trunk/src/mess/drivers/hh_ucom4.c
r245392r245393
6464   // display common
6565   int m_display_wait;                 // led/lamp off-delay in microseconds (default 33ms)
6666   int m_display_maxy;                 // display matrix number of rows
67   int m_display_maxx;                 // display matrix number of columns
67   int m_display_maxx;                 // display matrix number of columns (max 31 for now)
6868
6969   UINT32 m_grid;                      // VFD current row data
7070   UINT32 m_plate;                     // VFD current column data
trunk/src/mess/includes/hh_tms1k.h
r245392r245393
4646   // display common
4747   int m_display_wait;                 // led/lamp off-delay in microseconds (default 33ms)
4848   int m_display_maxy;                 // display matrix number of rows
49   int m_display_maxx;                 // display matrix number of columns
49   int m_display_maxx;                 // display matrix number of columns (max 31 for now)
5050
5151   UINT32 m_display_state[0x20];       // display matrix rows data (last bit is used for always-on)
5252   UINT16 m_display_segmask[0x20];     // if not 0, display matrix row is a digit, mask indicates connected segments


Previous 199869 Revisions Next


© 1997-2024 The MAME Team