Previous 199869 Revisions Next

r33769 Tuesday 9th December, 2014 at 15:23:50 UTC by Jürgen Buchmüller
Add 8seg decoding with the modified 7448 (nw)
[src/mame/drivers]gts1.c

trunk/src/mame/drivers/gts1.c
r242280r242281
216216 */
217217WRITE8_MEMBER(gts1_state::gts1_display_w)
218218{
219    /*
220     * The 7448 is modified to be disabled through RI/RBO
221     * when the input is 0001, and in this case the extra
222     * output H is generated instead.
223     */
224#define _a (1 << 0)
225#define _b (1 << 1)
226#define _c (1 << 2)
227#define _d (1 << 3)
228#define _e (1 << 4)
229#define _f (1 << 5)
230#define _g (1 << 6)
231#define _h (1 << 7)
232    static const UINT8 ttl7448_mod[16] = {
233    /* 0 */  _a | _b | _c | _d | _e | _f,
234    /* 1 */  _h,
235    /* 2 */  _a | _b | _d | _e | _g,
236    /* 3 */  _a | _b | _c | _d | _g,
237    /* 4 */  _b | _c | _f | _g,
238    /* 5 */  _a | _c | _d | _f | _g,
239    /* 6 */  _a | _c | _d | _e | _f | _g,
240    /* 7 */  _a | _b | _c,
241    /* 8 */  _a | _b | _c | _d | _e | _f | _g,
242    /* 9 */  _a | _b | _c | _d | _f | _g,
243    /* a */  _d | _e | _g,
244    /* b */  _c | _d | _g,
245    /* c */  _b | _f | _g,
246    /* d */  _a | _d | _f | _g,
247    /* e */  _d | _e | _f | _g,
248    /* f */  0
249    };
250#undef _a
251#undef _b
252#undef _c
253#undef _d
254#undef _e
255#undef _f
256#undef _g
257#undef _h
219258    LOG(("%s: offset:%d data:%02x\n", __FUNCTION__, offset, data));
220    output_set_digit_value(offset, data);
259    const UINT8 a = ttl7448_mod[(data >> 0) & 15];
260    const UINT8 b = ttl7448_mod[(data >> 4) & 15];
261    if (offset < 6) {
262       output_set_digit_value(offset, a);
263       output_set_digit_value(offset + 10, b);
264    }
265    if (offset >= 8 && offset < 8 + 6) {
266       output_set_digit_value(offset - 8 + 6, a);
267       output_set_digit_value(offset - 8 + 10, b);
268    }
221269}
222270
223271READ8_MEMBER (gts1_state::gts1_io_r)


Previous 199869 Revisions Next


© 1997-2024 The MAME Team