Previous 15994 Revisions Next

r7293 Tuesday 9th February, 2010 at 08:04:05 UTC by Miodrag Milanović
[SPECTRUM] Added better 2a/3 handling. Defined now in driver init. Since only difference is that 2a have tape, and 3 have floppy.
[src/mess/drivers]specpls3.c
[src/mess/includes]spectrum.h

src/mess/includes/spectrum.h
r7292r7293
5555   int port_ff_data; /* Display enhancement control */
5656   int port_f4_data; /* Horizontal Select Register */
5757
58   int floppy;
59   
5860   /* video support */
5961   int frame_number;    /* Used for handling FLASH 1 */
6062   int flash_invert;
src/mess/drivers/specpls3.c
r7292r7293
184184
185185static WRITE8_HANDLER(spectrum_plus3_port_3ffd_w)
186186{
187   if (~input_port_read(space->machine, "CONFIG") & 0x20)
187   spectrum_state *state = (spectrum_state *)space->machine->driver_data;
188   if (state->floppy==1)
188189      upd765_data_w(devtag_get_device(space->machine, "upd765"), 0,data);
189190}
190191
191192static  READ8_HANDLER(spectrum_plus3_port_3ffd_r)
192193{
193   if (input_port_read(space->machine, "CONFIG") & 0x20)
194   spectrum_state *state = (spectrum_state *)space->machine->driver_data;
195   if (state->floppy==0)
194196      return 0xff;
195197   else
196198      return upd765_data_r(devtag_get_device(space->machine, "upd765"), 0);
r7292r7293
199201
200202static  READ8_HANDLER(spectrum_plus3_port_2ffd_r)
201203{
202      if (input_port_read(space->machine, "CONFIG") & 0x20)
203            return 0xff;
204      else
205            return upd765_status_r(devtag_get_device(space->machine, "upd765"), 0);
204   spectrum_state *state = (spectrum_state *)space->machine->driver_data;
205   if (state->floppy==0)
206         return 0xff;
207   else
208         return upd765_status_r(devtag_get_device(space->machine, "upd765"), 0);
206209}
207210
208211
r7292r7293
364367   spectrum_plus3_update_memory(machine);
365368}
366369
370static DRIVER_INIT( plus3 )
371{
372   spectrum_state *state = (spectrum_state *)machine->driver_data;
373   state->floppy = 1;
374}
375
376static DRIVER_INIT( plus2 )
377{
378   spectrum_state *state = (spectrum_state *)machine->driver_data;
379   state->floppy = 0;
380}
381
367382static const floppy_config specpls3_floppy_config =
368383{
369384   DEVCB_NULL,
r7292r7293
485500ROM_END
486501
487502/*    YEAR  NAME      PARENT    COMPAT  MACHINE         INPUT       INIT    COMPANY     FULLNAME */
488COMP( 1987, specpl2a, spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +2a" , 0 )
489COMP( 1987, specpls3, spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +3" , 0 )
490COMP( 2000, specpl3e, spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +3e" , GAME_COMPUTER_MODIFIED )
491COMP( 2002, sp3e8bit, spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +3e 8bit IDE" , GAME_COMPUTER_MODIFIED )
492COMP( 2002, sp3eata,  spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +3e 8bit ZXATASP" , GAME_COMPUTER_MODIFIED )
493COMP( 2002, sp3ezcf,  spec128,  0,      spectrum_plus3, spec_plus,   0,      "Amstrad plc",          "ZX Spectrum +3e 8bit ZXCF" , GAME_COMPUTER_MODIFIED )
503COMP( 1987, specpl2a, spec128,  0,      spectrum_plus3, spec_plus,   plus2,   "Amstrad plc",          "ZX Spectrum +2a" , 0 )
504COMP( 1987, specpls3, spec128,  0,      spectrum_plus3, spec_plus,   plus3,   "Amstrad plc",          "ZX Spectrum +3" , 0 )
505COMP( 2000, specpl3e, spec128,  0,      spectrum_plus3, spec_plus,   plus3,   "Amstrad plc",          "ZX Spectrum +3e" , GAME_COMPUTER_MODIFIED )
506COMP( 2002, sp3e8bit, spec128,  0,      spectrum_plus3, spec_plus,   plus3,   "Amstrad plc",          "ZX Spectrum +3e 8bit IDE" , GAME_COMPUTER_MODIFIED )
507COMP( 2002, sp3eata,  spec128,  0,      spectrum_plus3, spec_plus,   plus3,   "Amstrad plc",          "ZX Spectrum +3e 8bit ZXATASP" , GAME_COMPUTER_MODIFIED )
508COMP( 2002, sp3ezcf,  spec128,  0,      spectrum_plus3, spec_plus,   plus3,   "Amstrad plc",          "ZX Spectrum +3e 8bit ZXCF" , GAME_COMPUTER_MODIFIED )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team