diff src/v09.c @ 84:9b661787d5ed

2Mbyte
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 11 Aug 2018 18:16:04 +0900
parents 2e3d4b54ec2d
children 4652761a60f9
line wrap: on
line diff
--- a/src/v09.c	Sat Aug 11 14:06:43 2018 +0900
+++ b/src/v09.c	Sat Aug 11 18:16:04 2018 +0900
@@ -103,26 +103,25 @@
   * In case of Coco, there is no ROM (switched out after boot )
   *    0x00000-0x0fdff    normal mem
   *    0x0fe00-0x0ffff    ram fixed address ram including io
-  *    0x10000-0x7ffff    ram (512Kb memory current implementation)
-  * it should have 2MB memory
-  *    0x10000-0xfffff    ram
-  *  >0x100000            lapround
+  *    0x10000-0x1fffff    ram (2MB memory )
+  *  >0x200000            lapround
   *
   * discless boot
-  *    rom image will be copyied from 0xed00-0x1xxxx (all ram)
-  *    boot copies 0x10000-0x1xxxx to os9's boot memory  (ususally done by rel.asm )
-  *    after that 0x10000-0x1xxx will be all free
+  *    rom image will be copyied from 0x7eed00-0x7fxxxx (all ram)
+  *    boot copies 0x800000-0x8xxxx to os9's boot memory  (ususally done by rel.asm )
+  *        (original system copies it from fd or hd)
+  *    after that 0x800000-0x8xxxx will be all free
   */
- phymem = malloc(memsize + len - 0x2000);
- rommemsize = memsize + len - 0x2000;
- mem    = phymem + memsize - 0x10000 ;
+ phymem = malloc(memsize );
+ rommemsize = memsize ;
+ mem    = phymem + 0x38*0x2000;
  mmu = &mem[0xffa0];
  prog = (char*)mem;
  if (romstart==0x8000) {
-     // romstart = memsize - 0x10000 + 0xed00 ;
      romstart = memsize ;  // full 512kb mem
  }
- fread(mem+ 0xe000,len,1,image);
+ fread(mem+  0xe000,len,1,image);
+ mem[0xff90] = 0;
  mem[0xffa7] = 0x3f;
 #else
  if (romstart==0x8000) {
@@ -154,7 +153,7 @@
  int i;
  int setterm = 1;
  timerirq = 2;   // use FIRQ default
- memsize = 512*1024;      // full 2 mbute
+ memsize = 512*1024*4;      // full 2 mbute
  escchar='\x1d'; 
  tracelo=0;tracehi=0xffff;
  for(i=1;i<argc;i++) {