- ssp->pmac_read[reg] += 1<<16;
- return ((unsigned short *)Pico.rom)[addr|((mode&0xf)<<16)];
- case 0x0018: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x", addr<<1, ((unsigned short *)svp->dram)[addr]);
- return ((unsigned short *)svp->dram)[addr]; // checked
- case 0x0818: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (inc 1)", addr<<1, ((unsigned short *)svp->dram)[addr]);
- ssp->pmac_read[reg] += 1<<16;
- return ((unsigned short *)svp->dram)[addr];
- case 0x3018: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (inc 32)", addr<<1, ((unsigned short *)svp->dram)[addr]);
- ssp->pmac_read[reg] += 32<<16;
- return ((unsigned short *)svp->dram)[addr];
+ ssp->pmac_read[reg] += 1<<16;
+ d = ((unsigned short *)Pico.rom)[addr|((mode&0xf)<<16)];
+ break;
+ case 0x0018: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x", CADDR, ((unsigned short *)svp->dram)[addr]);
+ d = ((unsigned short *)svp->dram)[addr]; // checked
+ break;
+ case 0x0818: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (inc 1)", CADDR, ((unsigned short *)svp->dram)[addr]);
+ ssp->pmac_read[reg] += 1<<16;
+ d = ((unsigned short *)svp->dram)[addr];
+ break;
+ case 0x3018: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (inc 32)", CADDR, ((unsigned short *)svp->dram)[addr]);
+ ssp->pmac_read[reg] += 32<<16;
+ d = ((unsigned short *)svp->dram)[addr];
+ break;
+ case 0xa818: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (dec 16)", CADDR, ((unsigned short *)svp->dram)[addr]);
+ ssp->pmac_read[reg] -= 16<<16;
+ d = ((unsigned short *)svp->dram)[addr];
+ break;
+ case 0xb818: elprintf(EL_SVP, "ssp DRAM r [%06x] %04x (dec 128?)", CADDR, ((unsigned short *)svp->dram)[addr]);
+ ssp->pmac_read[reg] -= 128<<16;
+ d = ((unsigned short *)svp->dram)[addr];
+ break;