Previous 199869 Revisions Next

r22779 Sunday 12th May, 2013 at 03:53:01 UTC by R. Belmont
(MESS) PlayStation: Improved save state behavior, but still needs work. (nw)
[src/emu/sound]spu.c
[src/mess/machine]psxcard.c psxcd.c psxmultitap.c

trunk/src/emu/sound/spu.c
r22778r22779
463463
464464class stream_buffer
465465{
466public:
466467   struct stream_marker
467468   {
468469   public:
r22778r22779
482483   stream_marker *marker_head,
483484                        *marker_tail;
484485
485public:
486486   stream_buffer(const unsigned int _sector_size,
487487                        const unsigned int _num_sectors)
488488      :   head(0),
r22778r22779
986986   memset(cache,0,(spu_ram_size>>4)*sizeof(sample_cache *));
987987
988988   // register save state stuff
989   // per-voice variables
990   for (int v = 0; v < 24; v++)
991   {
992      save_item(NAME(spureg.voice[v].vol_l), v);
993      save_item(NAME(spureg.voice[v].vol_r), v);
994      save_item(NAME(spureg.voice[v].pitch), v);
995      save_item(NAME(spureg.voice[v].addr), v);
996      save_item(NAME(spureg.voice[v].adsl), v);
997      save_item(NAME(spureg.voice[v].srrr), v);
998      save_item(NAME(spureg.voice[v].curvol), v);
999      save_item(NAME(spureg.voice[v].repaddr), v);
1000   }
1001
1002   // SPU globals
1003   save_item(NAME(spureg.mvol_l));
1004   save_item(NAME(spureg.mvol_r));
1005   save_item(NAME(spureg.rvol_l));
1006   save_item(NAME(spureg.rvol_r));
1007   save_item(NAME(spureg.keyon));
1008   save_item(NAME(spureg.keyoff));
1009   save_item(NAME(spureg.fm));
1010   save_item(NAME(spureg.noise));
1011   save_item(NAME(spureg.reverb));
1012   save_item(NAME(spureg.chon));
1013   save_item(NAME(spureg._unknown));
1014   save_item(NAME(spureg.reverb_addr));
1015   save_item(NAME(spureg.irq_addr));
1016   save_item(NAME(spureg.trans_addr));
1017   save_item(NAME(spureg.data));
1018   save_item(NAME(spureg.ctrl));
1019   save_item(NAME(spureg.status));
1020   save_item(NAME(spureg.cdvol_l));
1021   save_item(NAME(spureg.cdvol_r));
1022   save_item(NAME(spureg.exvol_l));
1023   save_item(NAME(spureg.exvol_r));
989   save_item(NAME(reg));         // this covers all spureg.* plus the reverb parameter block
990   save_item(NAME(xa_cnt));
991   save_item(NAME(cdda_cnt));
992   save_item(NAME(xa_freq));
993   save_item(NAME(cdda_freq));
994   save_item(NAME(xa_channels));
995   save_item(NAME(xa_spf));
996   save_item(NAME(cur_frame_sample));
997   save_item(NAME(cur_generate_sample));
1024998   save_pointer(NAME(spu_ram), spu_ram_size);
999
1000   save_item(NAME(xa_buffer->head));
1001   save_item(NAME(xa_buffer->tail));
1002   save_item(NAME(xa_buffer->in));
1003   save_item(NAME(xa_buffer->sector_size));
1004   save_item(NAME(xa_buffer->num_sectors));
1005   save_item(NAME(xa_buffer->buffer_size));
1006   save_pointer(NAME(xa_buffer->buffer), xa_sector_size*xa_buffer_sectors);
1007
1008   save_item(NAME(cdda_buffer->head));
1009   save_item(NAME(cdda_buffer->tail));
1010   save_item(NAME(cdda_buffer->in));
1011   save_item(NAME(cdda_buffer->sector_size));
1012   save_item(NAME(cdda_buffer->num_sectors));
1013   save_item(NAME(cdda_buffer->buffer_size));
1014   save_pointer(NAME(cdda_buffer->buffer), cdda_sector_size*cdda_buffer_sectors);
10251015}
10261016
10271017void spu_device::device_reset()
trunk/src/mess/machine/psxmultitap.c
r22778r22779
3333   m_portc->setup_ack_cb(psx_controller_port_device::void_cb(FUNC(psx_multitap_device::ack), this));
3434   m_portd->setup_ack_cb(psx_controller_port_device::void_cb(FUNC(psx_multitap_device::ack), this));
3535   m_nextmode = false;
36
37   save_item(NAME(m_activeport));
38   save_item(NAME(m_cack));
39   save_item(NAME(m_singlemode));
40   save_item(NAME(m_nextmode));
41   save_item(NAME(m_tapmc));
42   save_item(NAME(m_data));
3643}
3744
3845void psx_multitap_device::interface_pre_reset()
trunk/src/mess/machine/psxcd.c
r22778r22779
121121      m_timers[i] = timer_alloc(i);
122122      m_timerinuse[i] = false;
123123   }
124
125   save_item(NAME(cmdbuf));
126   save_item(NAME(mode));
127   save_item(NAME(secbuf));
128   save_item(NAME(filter_file));
129   save_item(NAME(filter_channel));
130   save_item(NAME(lastsechdr));
131   save_item(NAME(status));
132   save_item(NAME(rdp));
133   save_item(NAME(m_cursec));
134   save_item(NAME(sectail));
135   save_item(NAME(m_transcurr));
136   save_item(NAME(m_transbuf));
137   save_item(NAME(loc.w));
138   save_item(NAME(curpos.w));
139   save_item(NAME(open));
140   save_item(NAME(m_mute));
141   save_item(NAME(m_dmaload));
142   save_item(NAME(next_read_event));
143   save_item(NAME(next_sector_t));
144   save_item(NAME(autopause_sector));
145   save_item(NAME(m_param_count));
124146}
125147
126148void psxcd_device::device_reset()
r22778r22779
11971219   fatalerror("psxcd: out of timers\n");
11981220   return 0;
11991221}
1222
trunk/src/mess/machine/psxcard.c
r22778r22779
5454   m_disabled = false;
5555
5656   // save state registrations
57/*  save_item(NAME(pkt));
57    save_item(NAME(pkt));
5858    save_item(NAME(pkt_ptr));
5959    save_item(NAME(pkt_sz));
60    save_item(NAME(pkt));
61    save_item(NAME(cache));
60    save_item(NAME(cmd));
6261    save_item(NAME(addr));
63    save_item(NAME(state));*/
62    save_item(NAME(state));
63    save_item(NAME(m_disabled));
64    save_item(NAME(m_odata));
65    save_item(NAME(m_idata));
66    save_item(NAME(m_bit));
67    save_item(NAME(m_count));
68    save_item(NAME(m_pad));
6469}
6570
6671void psxcard_device::device_reset()

Previous 199869 Revisions Next


© 1997-2024 The MAME Team