Mercurial > hg > Members > kono > os9 > sbc09
comparison src/os9/makerom.c @ 84:9b661787d5ed
2Mbyte
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 11 Aug 2018 18:16:04 +0900 |
parents | 2088fd998865 |
children |
comparison
equal
deleted
inserted
replaced
83:2e3d4b54ec2d | 84:9b661787d5ed |
---|---|
30 * MMU doesnot touch below | 30 * MMU doesnot touch below |
31 * 0xff80 - 0xffdf IO port ( ACIA, clock, pdisk, MMU ) | 31 * 0xff80 - 0xffdf IO port ( ACIA, clock, pdisk, MMU ) |
32 * 0xffd0 - 0xffef boot code | 32 * 0xffd0 - 0xffef boot code |
33 * 0xfff0 - 0xffff intr vector | 33 * 0xfff0 - 0xffff intr vector |
34 * ... next few blocks as extended ROM | 34 * ... next few blocks as extended ROM |
35 * lv2 6809 memory check routine destroys 0x200 on page 0x40 | |
36 * sta >-$6000,x | |
37 * avoid 0x200 | |
35 * | 38 * |
36 */ | 39 */ |
37 | 40 |
38 int level = 1; | 41 int level = 1; |
39 int IOBASE = 0xe000; | 42 int IOBASE = 0xe000; |
327 int bootsize = 2; | 330 int bootsize = 2; |
328 for(struct os9module *cur = root.next; cur ; cur = cur->next ) { | 331 for(struct os9module *cur = root.next; cur ; cur = cur->next ) { |
329 if ( cur->ioflag ==0) continue; | 332 if ( cur->ioflag ==0) continue; |
330 bootsize += cur->size; | 333 bootsize += cur->size; |
331 } | 334 } |
335 bootsize += 0x300-2; // to avoid 0x200 bombing | |
332 fputc(bootsize>>8,romfile); | 336 fputc(bootsize>>8,romfile); |
333 fputc(bootsize&0xff,romfile); | 337 fputc(bootsize&0xff,romfile); |
334 pos += 2; | 338 pos += 2; |
339 for( int i = 0; i<0x300-2; i++) fputc(0xff,romfile); | |
335 for(struct os9module *cur = root.next; cur ; cur = cur->next ) { | 340 for(struct os9module *cur = root.next; cur ; cur = cur->next ) { |
336 if ( cur->ioflag ==0) continue; | 341 if ( cur->ioflag ==0) continue; |
337 cur->location = pos; | 342 cur->location = pos; |
338 printf("mod "); | 343 printf("mod "); |
339 printOs9Str(cur->name); | 344 printOs9Str(cur->name); |