$(CROSS_AS) $(ASOPTS) $<
$(COBJS): %.rel: %.c
- $(CROSS_CC) $(CROSS_CCOPTS) -c $<
+ $(CROSS_CC) $(CROSS_CCOPTS) --codeseg COMMONMEM -c $<
$(DOBJS): %.rel: ../dev/%.c
$(CROSS_CC) $(CROSS_CCOPTS) -c $<
# Compile up the boot block
#
image: bootblock
- dd if=/dev/zero of=pad bs=256 count=1
- cat boot-romwbw.bin pad ../fuzix.bin >fuzix.romwbw
+ cat boot-romwbw.bin ../fuzix.bin >fuzix.romwbw
bootblock:
sdasz80 -o boot-romwbw.s
#define TICKSPERSEC 10 /* Ticks per second */
#define PROGBASE 0x0000 /* also data base */
#define PROGLOAD 0x0100 /* also data base */
-#define PROGTOP 0xF000 /* Top of program, base of U_DATA copy */
+#define PROGTOP 0xD000 /* Top of program, base of U_DATA copy */
/* FIXME: check this... for discard looks wrong */
#define KERNTOP 0xC000 /* Top of kernel (first 3 banks), base of shared bank */
#define PROC_SIZE 64 /* Memory needed per process */
//#define SWAPDEV (swap_dev) /* A variable for dynamic, or a device major/minor */
extern unsigned int swap_dev;
-#define SWAP_SIZE 0x79 /* 60.5K in blocks (prog + udata) */
+#define SWAP_SIZE 0x69 /* 60.5K in blocks (prog + udata) */
#define SWAPBASE 0x0000 /* start at the base of user mem */
-#define SWAPTOP 0xF200 /* Swap out udata and program */
+#define SWAPTOP 0xD200 /* Swap out udata and program */
#define MAX_SWAPS 16 /* We will size if from the partition */
/* Swap will be set up when a suitably labelled partition is seen */
#define CONFIG_DYNAMIC_SWAP
#define CONFIG_NO_CLOCK
/* Floppy support */
-#undef CONFIG_FLOPPY /* #define CONFIG_FLOPPY to enable floppy */
+#define CONFIG_FLOPPY /* #define CONFIG_FLOPPY to enable floppy */
/* IDE/CF support */
#define CONFIG_IDE
#define CONFIG_INPUT_GRABMAX 0 /* No keyboard to grab */
/* Core Networking support */
-#undef CONFIG_NET
+#define CONFIG_NET
/* User mode uIP TCP/IP daemon */
-#undef CONFIG_NET_NATIVE
+#define CONFIG_NET_NATIVE
#define NUM_DEV_TTY 2
.include "kernel.def"
+ ; Dummy page0 area so binman doesn't pack us
+
+ .area _PAGE0
+
; startup code
.area _CODE
init: ; must be at 0x0100 as we are loaded at that
; switch to stack in high memory
ld sp, #kstack_top
- ; move the common memory where it belongs
- ld hl, #s__DATA
- ld de, #s__COMMONMEM
- ld bc, #l__COMMONMEM
- ldir
- ; and the discard
- ld de, #s__DISCARD
- ld bc, #l__DISCARD
- ldir
- ; then zero the data area
+ ; Zero the data area
ld hl, #s__DATA
ld de, #s__DATA + 1
ld bc, #l__DATA - 1
; FUZIX mnemonics for memory addresses etc
-U_DATA .equ 0xF000 ; (this is struct u_data from kernel.h)
+U_DATA .equ 0xD000 ; (this is struct u_data from kernel.h)
U_DATA__TOTALSIZE .equ 0x300 ; 256+256+256 bytes.
Z80_TYPE .equ 0 ; just a old good Z80
USE_FANCY_MONITOR .equ 1 ; disabling this saves around approx 0.5KB