Previous 15994 Revisions Next

r7459 Wednesday 24th February, 2010 at 16:04:25 UTC by Curt Coder
[PET] Fixed cassette switch sense.
[src/mess/drivers]pet.c
[src/mess/machine]pet.c

src/mess/machine/pet.c
r7458r7459
7878   data |= pet_keyline_select;
7979
8080   /* #1 cassette switch */
81   data |= ((cassette_get_state(devtag_get_device(device->machine, "cassette1")) & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED) << 4;
81   data |= ((cassette_get_state(devtag_get_device(device->machine, "cassette1")) & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 4;
8282
8383   /* #2 cassette switch */
84   data |= ((cassette_get_state(devtag_get_device(device->machine, "cassette2")) & CASSETTE_MASK_UISTATE) != CASSETTE_STOPPED) << 5;
84   data |= ((cassette_get_state(devtag_get_device(device->machine, "cassette2")) & CASSETTE_MASK_UISTATE) == CASSETTE_STOPPED) << 5;
8585
8686   /* end or identify in */
8787   data |= ieee488_eoi_r(ieeebus) << 6;
r7458r7459
177177   return data;
178178}
179179
180/* NOT WORKING - Just placeholder */
181180static READ8_DEVICE_HANDLER( cass1_r )
182181{
183182   // cassette 1 read
r7458r7459
369368   return data;
370369}
371370
372/* NOT WORKING - Just placeholder */
373static READ_LINE_DEVICE_HANDLER( cass_2_r )
371static READ_LINE_DEVICE_HANDLER( cass2_r )
374372{
375373   // cassette 2 read
376374   return (cassette_input(devtag_get_device(device->machine, "cassette2")) > +0.0) ? 1 : 0;
r7458r7459
402400   ieee488_atn_w(ieeebus, device, BIT(data, 2));
403401
404402   /* cassette write */
403   cassette_output(devtag_get_device(device->machine, "cassette1"), BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
404   cassette_output(devtag_get_device(device->machine, "cassette2"), BIT(data, 3) ? -(0x5a9e >> 1) : +(0x5a9e >> 1));
405405
406406   /* #2 cassette motor */
407407   if (BIT(data, 4))
r7458r7459
438438   DEVCB_NULL,               /* in_a_func */
439439   DEVCB_HANDLER(via_pb_r),   /* in_b_func */
440440   DEVCB_NULL,               /* in_ca1_func */
441   DEVCB_LINE(cass_2_r),      /* in_cb1_func */
441   DEVCB_LINE(cass2_r),      /* in_cb1_func */
442442   DEVCB_NULL,               /* in_ca2_func */
443443   DEVCB_NULL,               /* in_cb2_func */
444444   DEVCB_NULL,               /* out_a_func */
r7458r7459
677677}
678678
679679
680/* NOT WORKING - Just placeholder */
681680static TIMER_CALLBACK( pet_tape1_timer )
682681{
683682   running_device *pia_0 = devtag_get_device(machine, "pia_0");
r7458r7459
686685   pia6821_ca1_w(pia_0, 0, data);
687686}
688687
689/* NOT WORKING - Just placeholder */
690688static TIMER_CALLBACK( pet_tape2_timer )
691689{
692690   running_device *via_0 = devtag_get_device(machine, "via6522_0");
src/mess/drivers/pet.c
r7458r7459
681681   MDRV_VIDEO_UPDATE( pet )
682682
683683   /* cassette */
684   MDRV_CASSETTE_ADD( "cassette1", default_cassette_config )
685   MDRV_CASSETTE_ADD( "cassette2", default_cassette_config )
684   MDRV_CASSETTE_ADD( "cassette1", cbm_cassette_config )
685   MDRV_CASSETTE_ADD( "cassette2", cbm_cassette_config )
686686
687687   /* via */
688688   MDRV_VIA6522_ADD( "via6522_0", 0, pet_via)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team