Previous 15994 Revisions Next

r8920 Friday 27th August, 2010 at 14:02:33 UTC by Angelo Salese
[MZ2500]: Hooked up palette i/o port
[src/mess/drivers]mz2500.c

src/mess/drivers/mz2500.c
r8919r8920
403403   //printf("%02x\n",data);
404404}
405405
406/* sets first 16 color entries of the 4096 palette bank */
407static WRITE8_HANDLER( palette4096_io_w )
408{
409   static UINT8 r[16],g[16],b[16];
410   static UINT8 pal_index;
411   static UINT8 pal_entry;
412
413   pal_index = cpu_get_reg(space->machine->device("maincpu"), Z80_B);
414   pal_entry = (pal_index & 0x1e) >> 1;
415
416   if(pal_index & 1)
417      g[pal_entry] = (data & 0x0f);
418   else
419   {
420      r[pal_entry] = (data & 0xf0) >> 4;
421      b[pal_entry] = data & 0x0f;
422   }
423
424   palette_set_color_rgb(space->machine, pal_entry+0x200,pal4bit(r[pal_entry]),pal4bit(g[pal_entry]),pal4bit(b[pal_entry]));
425}
426
406427static ADDRESS_MAP_START(mz2500_io, ADDRESS_SPACE_IO, 8)
407428   ADDRESS_MAP_GLOBAL_MASK(0xff)
408429//  AM_RANGE(0x60, 0x63) AM_WRITE(w3100a_w)
r8919r8920
413434   AM_RANGE(0xa9, 0xa9) AM_READ(mz2500_rom_r)
414435//  AM_RANGE(0xac, 0xad) AM_WRITE(emm_w)
415436//  AM_RANGE(0xad, 0xad) AM_READ(emm_r)
416//  AM_RANGE(0xae, 0xae) AM_WRITE(crtc_w)
437   AM_RANGE(0xae, 0xae) AM_WRITE(palette4096_io_w)
417438//  AM_RANGE(0xb0, 0xb3) AM_READWRITE(sio_r,sio_w)
418439   AM_RANGE(0xb4, 0xb4) AM_READWRITE(mz2500_bank_addr_r,mz2500_bank_addr_w)
419440   AM_RANGE(0xb5, 0xb5) AM_READWRITE(mz2500_bank_data_r,mz2500_bank_data_w)

Previous 15994 Revisions Next


© 1998-2018 The MESS Team