Mercurial > hg > Members > kono > os9 > sbc09
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); |