comparison io.c @ 13:2aebc6b17fbf

swi/rti bug fixed
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 07 Jul 2018 12:45:31 +0900
parents 111e5defb8ab
children e3b08716aa53
comparison
equal deleted inserted replaced
12:111e5defb8ab 13:2aebc6b17fbf
324 void do_mmu(int a, int c) 324 void do_mmu(int a, int c)
325 { 325 {
326 #ifdef USE_MMU 326 #ifdef USE_MMU
327 327
328 if (a==0x11+(IOPAGE&0xff)) { 328 if (a==0x11+(IOPAGE&0xff)) {
329 if (c&0) { 329 if (c&1) {
330 mmu = phymem+memsize-0x10000+0xffa8;
331 } else {
330 mmu = phymem+memsize-0x10000+0xffa0; 332 mmu = phymem+memsize-0x10000+0xffa0;
331 } else {
332 mmu = phymem+memsize-0x10000+0xffa8;
333 } 333 }
334 } 334 }
335 mem[(IOPAGE&0xff00)+a] = c; // other register such as 0xffa0-0xffaf 335 mem[(IOPAGE&0xff00)+a] = c; // other register such as 0xffa0-0xffaf
336 #endif 336 #endif
337 } 337 }
600 acknak = 21; 600 acknak = 21;
601 blocknum = 1; 601 blocknum = 1;
602 break; 602 break;
603 case 'R': 603 case 'R':
604 pcreg = (mem[0xfffe] << 8) + mem[0xffff]; 604 pcreg = (mem[0xfffe] << 8) + mem[0xffff];
605 bpskip = 0;
606 attention = escape = 1;
605 break; 607 break;
606 } 608 }
607 if (tracing||breakpoint||trskip||bpskip||stkskip) { attention = escape = 1; } 609 if (tracing||breakpoint||trskip||bpskip||stkskip) { attention = escape = 1; }
608 else attention = 0; 610 else attention = 0;
609 set_term(escchar); 611 set_term(escchar);