{
sendSim("ds 0x80 0xff\n");
}
- else
+ else if ( cachenum == CMEM_CACHE )
+ {
+#define CMEM_CACHE_MASK ((MAX_CACHE_SIZE >> 2) - 1)
+ laddr = addr & ~CMEM_CACHE_MASK;
+ sprintf(cache->buffer,"dump rom 0x%x 0x%x\n",laddr,laddr+CMEM_CACHE_MASK );
+ sendSim(cache->buffer);
+ }
+ else
{
laddr = addr & 0xffffffc0;
sprintf(cache->buffer,"dx 0x%x 0x%x\n",laddr,laddr+0xff );
invalidateCache(XMEM_CACHE);
invalidateCache(IMEM_CACHE);
invalidateCache(SREG_CACHE);
+ invalidateCache(CMEM_CACHE);
if (INVALID_SOCKET == (sock = WSASocket(PF_INET, SOCK_STREAM, IPPROTO_TCP, NULL, 0, 0))) {
fprintf(stderr, "cannot create socket: %d\n", WSAGetLastError());
invalidateCache(XMEM_CACHE);
invalidateCache(IMEM_CACHE);
invalidateCache(SREG_CACHE);
+ invalidateCache(CMEM_CACHE);
if ((sock = socket(AF_INET,SOCK_STREAM,0)) < 0)
{
{
case 'A': /* External stack */
case 'F': /* External ram */
+ case 'P': /* Pdata space */
prefix = "xram";
cachenr = XMEM_CACHE;
break;
case 'C': /* Code */
case 'D': /* Code / static segment */
prefix = "rom";
+ cachenr = CMEM_CACHE;
break;
case 'B': /* Internal stack */
case 'E': /* Internal ram (lower 128) bytes */
invalidateCache(XMEM_CACHE);
invalidateCache(IMEM_CACHE);
invalidateCache(SREG_CACHE);
+ invalidateCache(CMEM_CACHE);
sendSim("res\n");
waitForSim(100,NULL);
}