Previous 15994 Revisions Next

r6472 Friday 27th November, 2009 at 12:12:56 UTC by Harmony
[POCKSTAT] Pocket Station changes: [Harmony]
- Fixed a register readback value, less games hang
- Added sound
[src/mess/drivers]pockstat.c

src/mess/drivers/pockstat.c
r6471r6472
196196         verboselog(space->machine, 0, "ps_ftlb_r: Unknown (F_WAIT1) = %08x & %08x\n", ftlb_regs.wait1, mem_mask );
197197         return ftlb_regs.wait1;
198198      case 0x0010/4:
199         verboselog(space->machine, 0, "ps_ftlb_r: Unknown (F_WAIT2) = %08x & %08x\n", ftlb_regs.wait2 | 0x08, mem_mask );
200         return ftlb_regs.wait2 | 0x08;
199         verboselog(space->machine, 0, "ps_ftlb_r: Unknown (F_WAIT2) = %08x & %08x\n", ftlb_regs.wait2 | 0x04, mem_mask );
200         return ftlb_regs.wait2 | 0x04;
201201      case 0x0100/4:
202202      case 0x0104/4:
203203      case 0x0108/4:
r6471r6472
430430          verboselog(space->machine, 0, "ps_timer_r: Timer %d Count = %08x & %08x\n", offset / (0x10/4), timer_regs.timer[offset / (0x10/4)].count, mem_mask );
431431          if(timer_regs.timer[offset / (0x10/4)].control & 4)
432432          {
433            timer_regs.timer[offset / (0x10/4)].count -= 0x10;
433            timer_regs.timer[offset / (0x10/4)].count--;
434434            if(timer_regs.timer[offset / (0x10/4)].count > timer_regs.timer[offset / (0x10/4)].period)
435435            {
436436               timer_regs.timer[offset / (0x10/4)].count = timer_regs.timer[offset / (0x10/4)].period;
r6471r6472
793793static READ32_HANDLER( ps_audio_r )
794794{
795795   verboselog(space->machine, 0, "ps_audio_r: Unknown Read: %08x = %08x & %08x\n", 0xd800000 + (offset << 2), 0x10, mem_mask);
796   return 0x10;
796   return 0;
797797}
798798
799799static WRITE32_HANDLER( ps_audio_w )
r6471r6472
801801   verboselog(space->machine, 0, "ps_audio_w: Unknown Write: %08x = %08x & %08x\n", 0xd800000 + (offset << 2), data, mem_mask);
802802}
803803
804static WRITE32_HANDLER( ps_dac_w )
805{
806   dac_data_16_w(devtag_get_device(space->machine, "dac"), (UINT16)((data + 0x8000) & 0x0000ffff));
807}
808
804809static ADDRESS_MAP_START(pockstat_mem, ADDRESS_SPACE_PROGRAM, 32)
805810   AM_RANGE(0x00000000, 0x000007ff) AM_RAM
806811   AM_RANGE(0x02000000, 0x02ffffff) AM_READ(ps_rombank_r)
r6471r6472
814819   AM_RANGE(0x0d000000, 0x0d000003) AM_READWRITE(ps_lcd_r, ps_lcd_w)
815820   AM_RANGE(0x0d000100, 0x0d00017f) AM_RAM AM_BASE(&lcd_buffer)
816821   AM_RANGE(0x0d80000c, 0x0d80000f) AM_READWRITE(ps_audio_r, ps_audio_w)
822   AM_RANGE(0x0d800014, 0x0d800017) AM_WRITE(ps_dac_w)
817823ADDRESS_MAP_END
818824
819825/* Input ports */
r6471r6472
962968
963969    MDRV_SPEAKER_STANDARD_MONO("mono")
964970    MDRV_SOUND_ADD("dac", DAC, 0)
965    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
971    MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
966972
967973   /* cartridge */
968974   MDRV_CARTSLOT_ADD("cart")
r6471r6472
982988/* Driver */
983989
984990/*    YEAR  NAME      PARENT  COMPAT  MACHINE    INPUT     INIT  CONFIG     COMPANY                             FULLNAME       FLAGS */
985CONS( 1999, pockstat, 0,      0,      pockstat,  pockstat, 0,    0,  "Sony Computer Entertainment Inc.", "Sony PocketStation", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )
991CONS( 1999, pockstat, 0,      0,      pockstat,  pockstat, 0,    0,  "Sony Computer Entertainment Inc.", "Sony PocketStation", GAME_SUPPORTS_SAVE )

Previous 15994 Revisions Next


© 1998-2018 The MESS Team